[go: up one dir, main page]

JP2023025792A - Information processing program, information processing method, and information processing device - Google Patents

Information processing program, information processing method, and information processing device Download PDF

Info

Publication number
JP2023025792A
JP2023025792A JP2021131147A JP2021131147A JP2023025792A JP 2023025792 A JP2023025792 A JP 2023025792A JP 2021131147 A JP2021131147 A JP 2021131147A JP 2021131147 A JP2021131147 A JP 2021131147A JP 2023025792 A JP2023025792 A JP 2023025792A
Authority
JP
Japan
Prior art keywords
robot
crawler
execution
information
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021131147A
Other languages
Japanese (ja)
Inventor
奨 古賀
Sho Koga
善之 伊藤
Yoshiyuki Ito
理晃 竹内
Michiaki Takeuchi
昌宏 中山
Masahiro Nakayama
俊之 藤島
Toshiyuki Fujishima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021131147A priority Critical patent/JP2023025792A/en
Publication of JP2023025792A publication Critical patent/JP2023025792A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

To acquire information for allowing detection of specification change of an operation object at non-execution time of an RPA robot.SOLUTION: An RPA robot 11 automatically executes operation with respect to an operation object 4. A processing unit 20 of an information processing device 2 executes operation processing which executes at least a part of the operation which the RPA robot 11 executes with respect to the operation object 4, during a time zone when the RPA robot 11 is not executed. In the operation processing, the processing unit 20, when an execution error of the operation with respect to the operation object 4 occurs, collects error information indicating contents of the execution error, and transmits the collected error information to a predetermined transmission destination device.SELECTED DRAWING: Figure 1

Description

本発明は、情報処理プログラム、情報処理方法および情報処理装置に関する。 The present invention relates to an information processing program, an information processing method, and an information processing apparatus.

RPA(Robotic Process Automation)は、ソフトウェア型のロボット(RPAロボット)を用いた業務プロセスの自動化技術であり、業務効率化や労働力不足の対応策として注目されている。例えば、従来コンピュータに対して行われていたユーザの操作を、そのコンピュータ上で動作するRPAロボットに覚え込ませることで、ユーザの操作を自動化できる。 RPA (Robotic Process Automation) is a technology for automating business processes using software-type robots (RPA robots), and is attracting attention as a measure to improve business efficiency and address labor shortages. For example, a user's operation that has been conventionally performed on a computer can be automated by having an RPA robot operating on the computer memorize the user's operation.

また、RPAシステムの保守に関しては、次のような提案がある。例えば、ユーザ端末に入力された情報をRPAサーバが受信してその情報を処理する構成を有する次のようなRPAシステムが提案されている。このRPAシステムでは、RPAサーバが、操作内容保持部に規定される操作を実行してエラーが発生した場合、エラーが生じた操作の対象となっているWebページなどのリソースを取得して解析することで、リソースに対する変更の有無を判定する。また、RPA保守支援サーバが、クライアントコンピュータのログデータベースからRPAソフトウェアの処理結果を示すログデータを取得し、このログデータに基づいてアプリケーションの変更内容を示すメンテナンス情報を出力するシステムも提案されている。 In addition, regarding the maintenance of the RPA system, there are the following proposals. For example, the following RPA system has been proposed, which has a configuration in which an RPA server receives information input to a user terminal and processes the information. In this RPA system, when an error occurs when an RPA server executes an operation specified in an operation content holding unit, it acquires and analyzes resources such as a web page that is the target of the operation in which the error occurred. By doing so, it is determined whether or not there is a change to the resource. A system has also been proposed in which an RPA maintenance support server acquires log data indicating the processing results of RPA software from a log database of a client computer, and outputs maintenance information indicating application changes based on this log data. .

特開2020-13400号公報Japanese Patent Application Laid-Open No. 2020-13400 特開2019-159556号公報JP 2019-159556 A

RPAロボットにより自動化する対象の業務の例として、他社製アプリケーションに対する入力操作や、社外Webサイトに対する入力操作がある。しかし、これらの他社製アプリケーションや社外Webサイトの仕様変更が行われると、RPAロボットの実行エラーが発生する場合があり、その場合には業務が停止してしまう可能性がある。他社製アプリケーションや社外Webサイトの仕様変更を利用者が事前に知ることは難しく、仕様変更に伴うRPAロボットの実行エラーの発生を防止することは容易ではないという問題がある。 Examples of tasks to be automated by the RPA robot include input operations for applications made by other companies and input operations for external websites. However, if the specifications of these third-party applications or external websites are changed, an execution error may occur in the RPA robot, and in that case, there is a possibility that the work will be stopped. There is a problem that it is difficult for users to know in advance the specification changes of applications made by other companies and websites outside the company, and it is not easy to prevent the occurrence of execution errors in RPA robots due to specification changes.

1つの側面では、本発明は、操作対象の仕様変更を検知可能にする情報をRPAロボットの非実行時に取得できる情報処理プログラム、情報処理方法および情報処理装置を提供することを目的とする。 In one aspect, an object of the present invention is to provide an information processing program, an information processing method, and an information processing apparatus capable of acquiring information that enables detection of a specification change of an operation target when an RPA robot is not executed.

1つの案では、コンピュータに、RPAロボットが操作対象に対して実行する操作の少なくとも一部を実行する操作処理を、RPAロボットが実行されない時間帯に実行し、操作処理において、操作対象に対する操作の実行エラーが発生した場合に、実行エラーの内容を示すエラー情報を収集し、収集されたエラー情報を所定の送信先装置に送信する、処理を実行させる情報処理プログラムが提供される。 In one proposal, the computer executes operation processing for executing at least a part of the operation that the RPA robot performs on the operation target during a time period when the RPA robot is not executed, and in the operation processing, the operation on the operation target is performed. Provided is an information processing program that, when an execution error occurs, collects error information indicating the content of the execution error and transmits the collected error information to a predetermined destination device.

また、1つの案では、上記の情報処理プログラムに基づく処理と同様の処理をコンピュータが実行する情報処理方法が提供される。
さらに、1つの案では、上記の情報処理プログラムに基づく処理と同様の処理を実行する情報処理装置が提供される。
In one proposal, an information processing method is provided in which a computer executes processing similar to the processing based on the information processing program described above.
Furthermore, one proposal provides an information processing apparatus that executes the same processing as the processing based on the above information processing program.

1つの側面では、操作対象の仕様変更を検知可能にする情報をRPAロボットの非実行時に取得できる。 In one aspect, information can be obtained when the RPA robot is not running that makes it possible to detect specification changes of the manipulated object.

第1の実施の形態に係る情報処理システムの構成例および処理例を示す図である。1 illustrates a configuration example and a processing example of an information processing system according to a first embodiment; FIG. 第2の実施の形態に係る情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system which concerns on 2nd Embodiment. クローラ実行マシンのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of a crawler execution machine. 第2の実施の形態に係る情報処理システム全体の動きを示す図である。It is a figure which shows the motion of the whole information processing system which concerns on 2nd Embodiment. ロボットとクローラとの関係を示す図である。It is a figure which shows the relationship between a robot and a crawler. 情報処理システムの各装置が備える処理機能の構成例を示す図である。2 is a diagram showing a configuration example of processing functions provided in each device of the information processing system; FIG. クローラ実行マシンの記憶部に記憶されるデータの例を示す図である。It is a figure which shows the example of the data memorize|stored in the memory|storage part of a crawler execution machine. RPA管理サーバの記憶部に記憶されるデータの例を示す図である。FIG. 4 is a diagram illustrating an example of data stored in a storage unit of an RPA management server; FIG. クローラが実行される場合の処理手順の例を示すシーケンス図である。FIG. 10 is a sequence diagram showing an example of a processing procedure when a crawler is executed; ロボットおよびクローラが操作対象とする操作画面の例を示す。An example of an operation screen to be operated by a robot and a crawler is shown. 第3の実施の形態におけるロボットおよびクローラについて示す図である。It is a figure which shows the robot and crawler in 3rd Embodiment. 第4の実施の形態に係る情報処理システムの各装置が備える処理機能の構成例を示す図である。FIG. 13 is a diagram showing a configuration example of processing functions provided in each device of an information processing system according to a fourth embodiment; 第4の実施の形態におけるロボットとクローラとの関係を示す図である。It is a figure which shows the relationship between the robot and crawler in 4th Embodiment. ロボットおよびクローラのプログラム作成について示す図である。It is a figure which shows about programming of a robot and a crawler. 第4の実施の形態においてクローラが実行される場合の処理手順の例を示すシーケンス図である。It is a sequence diagram showing an example of a processing procedure when a crawler is executed in the fourth embodiment. 第5の実施の形態におけるロボットエージェントについて示す図である。FIG. 13 is a diagram showing a robot agent in the fifth embodiment; FIG.

以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理システムの構成例および処理例を示す図である。図1に示す情報処理システムは、情報処理装置1,2と管理装置3を含む。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First embodiment]
FIG. 1 is a diagram illustrating a configuration example and a processing example of an information processing system according to the first embodiment. The information processing system shown in FIG. 1 includes information processing devices 1 and 2 and a management device 3 .

情報処理装置1は、RPAロボット11を実行する。RPAロボット11は、操作対象4に対する操作を自動実行するソフトウェアロボットである。操作対象4は、例えば、アプリケーションやWebサーバなどである。操作対象4がアプリケーションの場合、このアプリケーションは情報処理装置1の内部で実行されてもよい。 The information processing device 1 executes the RPA robot 11 . The RPA robot 11 is a software robot that automatically executes operations on the operation target 4 . The operation target 4 is, for example, an application or a web server. If the operation target 4 is an application, this application may be executed inside the information processing device 1 .

ここで、操作対象4の仕様変更が予期せずに発生する場合がある。例えば、操作対象4が他社製のアプリケーションや社外Webサーバである場合、RPAロボット11の運用管理者は、操作対象4の仕様変更を事前に認識することが難しい。このため、操作対象4の仕様変更が予期せずに発生したことにより、RPAロボット11を用いた業務中においてRPAロボット11の操作の実行エラーが発生する場合がある。この場合、業務が停止してしまう可能性がある。 Here, there are cases where the specifications of the operation target 4 are changed unexpectedly. For example, when the operation target 4 is an application made by another company or an external Web server, it is difficult for the operation manager of the RPA robot 11 to recognize the specification change of the operation target 4 in advance. For this reason, an unexpected change in the specification of the operation target 4 may cause an error in the execution of the operation of the RPA robot 11 during work using the RPA robot 11 . In this case, business may stop.

そこで、本実施の形態では、情報処理装置2が、操作対象4の仕様変更を検知可能にする情報を取得するための処理を、業務時間外に実行する。
情報処理装置2は、処理部20を備える。処理部20は、例えば、プロセッサとして実現される。処理部20は、以下のような処理を実行する。なお、以下のステップS1,S2の処理は、情報収集用のRPAロボット21の動作によって実行されてもよい。
Therefore, in the present embodiment, the information processing device 2 executes the processing for acquiring information that enables detection of the specification change of the operation target 4 outside business hours.
The information processing device 2 includes a processing unit 20 . The processing unit 20 is implemented as, for example, a processor. The processing unit 20 executes the following processing. The processing of steps S1 and S2 below may be executed by the operation of the RPA robot 21 for collecting information.

処理部20は、RPAロボット11が操作対象4に対して実行する操作の少なくとも一部を実行する(ステップS1)。この操作処理では、例えば、RPAロボット11による操作対象4への操作のうち、データの登録、データの更新、データの削除の各操作の実行がスキップされ、それ以外の操作が実行される。あるいは、操作処理では、RPAロボット11の実行時において操作対象4に入力するために利用される入力データとは別の入力データを用いて、RPAロボット11によるすべての操作が実行されてもよい。 The processing unit 20 executes at least part of the operation that the RPA robot 11 executes on the operation target 4 (step S1). In this operation processing, for example, among the operations on the operation target 4 by the RPA robot 11, execution of each operation of data registration, data update, and data deletion is skipped, and other operations are executed. Alternatively, in the operation process, all operations by the RPA robot 11 may be performed using input data different from input data used for inputting to the operation target 4 when the RPA robot 11 is executed.

処理部20は、このような操作処理を、RPAロボット11が実行されない時間帯に実行する。なお、処理部20による操作対象4がアプリケーションである場合、このアプリケーションは情報処理装置1,2の両方において実行されていてもよい。 The processing unit 20 executes such operation processing during a time period when the RPA robot 11 is not executed. Note that when the operation target 4 by the processing unit 20 is an application, this application may be executed in both the information processing apparatuses 1 and 2 .

処理部20は、上記の操作処理において、操作対象4に対する操作の実行エラーが発生した場合、この実行エラーの内容を示すエラー情報を収集し、収集されたエラー情報を所定の送信先装置に送信する(ステップS2)。本実施の形態では、収集されたエラー情報は管理装置3に送信されるものとする。また、エラー情報としては、例えば、実行エラーが発生した操作を示す情報や、エラー発生時における操作画面の画像データなどが収集される。 In the operation process described above, when an operation execution error occurs with respect to the operation target 4, the processing unit 20 collects error information indicating the details of the execution error, and transmits the collected error information to a predetermined destination device. (step S2). Assume that the collected error information is transmitted to the management device 3 in the present embodiment. Also, as the error information, for example, information indicating the operation in which the execution error occurred, image data of the operation screen when the error occurred, and the like are collected.

このようにして収集されたエラー情報を運用管理者が解析することで、運用管理者は、操作対象4の仕様変更を事前に認識し、それに合わせてRPAロボット11の操作内容を修正しておくことが可能になる。そして、操作内容が修正されたRPAロボット11を用いて業務が行われることで、RPAロボット11による操作の実行エラーが発生して業務が停止する可能性を低減できるようになる。 By analyzing the error information collected in this way, the operation manager can recognize the specification change of the operation target 4 in advance and modify the operation contents of the RPA robot 11 accordingly. becomes possible. By performing the work using the RPA robot 11 whose operation content has been corrected, it is possible to reduce the possibility that an error in the execution of the operation by the RPA robot 11 will occur and the work will stop.

以上のように、情報処理装置2の処理により、操作対象4の仕様変更を検知可能にする情報を、RPAロボット11が実行されていない時間帯に取得できるようになる。
なお、上記のステップS1,S2の処理は、RPAロボット11が実行される装置によって実行されてもよい。例えば、ステップS1,S2の処理が情報収集用のRPAロボット21の動作により実行される場合、RPAロボット11,21が同一の装置で動作してもよい。
As described above, through the processing of the information processing device 2, it becomes possible to acquire information that enables detection of a specification change of the operation target 4 during a period in which the RPA robot 11 is not being executed.
Note that the processes of steps S1 and S2 described above may be executed by a device in which the RPA robot 11 is executed. For example, when the processing of steps S1 and S2 is executed by the operation of the RPA robot 21 for collecting information, the RPA robots 11 and 21 may operate by the same device.

〔第2の実施の形態〕
図2は、第2の実施の形態に係る情報処理システムの構成例を示す図である。図2に示す情報処理システムは、ロボット実行マシン100-1,100-2,・・・、クローラ実行マシン200、RPA管理サーバ300、外部サーバ410および運用者端末420を含む。これらの装置は、ネットワーク400を介して相互に接続されている。
[Second embodiment]
FIG. 2 is a diagram illustrating a configuration example of an information processing system according to the second embodiment. The information processing system shown in FIG. 2 includes robot execution machines 100-1, 100-2, . These devices are interconnected via a network 400 .

この情報処理システムでは、ロボット実行マシン100-1,100-2,・・・において、ソフトウェア型のロボットであるRPAロボットが動作する(実行される)。RPAロボットにより、例えば、対応するロボット実行マシン100-1,100-2,・・・におけるデスクトップ画面に対する操作が自動的に実行される。 In this information processing system, robot execution machines 100-1, 100-2, . . . operate (execute) RPA robots, which are software robots. For example, the RPA robots automatically perform operations on the desktop screens of the corresponding robot execution machines 100-1, 100-2, .

ロボット実行マシン100-1,100-2,・・・で実行されるRPAロボットは、実際の業務のための操作を自動化するものである。以下の説明において、単に「ロボット」と記載した場合には、ロボット実行マシン100-1,100-2,・・・で実行される、実際の業務のためのRPAロボットを指す。なお、以下の説明では、ロボット実行マシン100-1,100-2,・・・のそれぞれを特に特定せずに示す場合には、「ロボット実行マシン100」と記載する場合がある。 The RPA robots executed by the robot execution machines 100-1, 100-2, . . . automate operations for actual business. In the following description, simply referring to "robots" refers to RPA robots for actual work executed by the robot execution machines 100-1, 100-2, . . . In the following description, the robot execution machines 100-1, 100-2, .

クローラ実行マシン200は、RPA管理サーバ300の制御の下でクローラを実行する。クローラは、ロボット実行マシン100-1,100-2,・・・で実行されるロボットによる操作を網羅的に実行するRPAロボットである。クローラは、このような操作をロボットが実行される時間帯(業務時間帯)とは別の時間帯において定期的に実行することで、ロボットによる操作対象において仕様変更やバージョンアップがあったかを監視する。クローラは、操作の実行時にエラーが発生した場合に、仕様変更やバージョンアップがあった可能性があると判定し、エラーの内容やエラーが発生した操作に関する情報を収集してRPA管理サーバ300に送信する。 The crawler execution machine 200 executes crawlers under the control of the RPA management server 300 . The crawler is an RPA robot that exhaustively executes robot operations executed by the robot execution machines 100-1, 100-2, . The crawler periodically executes such operations in a time zone different from the time zone in which the robot is executed (work time zone), thereby monitoring whether there have been any specification changes or version upgrades in the target operated by the robot. . If an error occurs during execution of an operation, the crawler determines that there may have been a specification change or version upgrade, collects information about the content of the error and the operation in which the error occurred, and sends it to the RPA management server 300. Send.

RPA管理サーバ300は、ロボット実行マシン100-1,100-2,・・・におけるロボットの実行を管理する。例えば、RPA管理サーバ300は、運用管理者や業務担当者からのロボット実行要求に応じて、該当するロボット実行マシンにロボットを実行させる。ロボット実行要求は、例えば、運用者端末420などの端末装置への操作に応じて、その端末装置からRPA管理サーバ300に送信される。 The RPA management server 300 manages execution of robots in the robot execution machines 100-1, 100-2, . For example, the RPA management server 300 causes a corresponding robot execution machine to execute a robot in response to a robot execution request from an operations manager or a person in charge of operations. A robot execution request is transmitted from a terminal device such as the operator terminal 420 to the RPA management server 300 in response to an operation on the terminal device, for example.

また、RPA管理サーバ300は、クローラ実行マシン200におけるクローラの実行を管理する。さらに、RPA管理サーバ300は、クローラによって収集された情報を受信し、受信した情報を運用管理者に通知する。 Also, the RPA management server 300 manages crawler execution in the crawler execution machine 200 . Furthermore, the RPA management server 300 receives information collected by the crawler and notifies the operation manager of the received information.

外部サーバ410は、ロボットの操作対象となるサービスを提供するサーバ装置の一例である。例えば、外部サーバ410は、各種のサービスをユーザが利用するためのWebサイトを提供する。この場合、ロボットは、WebサイトのGUI(Graphical User Interface)に対する操作を行うことで、サービスを利用して業務を自動実行する。 The external server 410 is an example of a server device that provides a service to be operated by a robot. For example, the external server 410 provides a website for users to use various services. In this case, the robot uses the service and automatically executes the work by operating the GUI (Graphical User Interface) of the website.

運用者端末420は、運用管理者が利用する端末装置である。例えば、運用管理者は、RPA管理サーバ300から自分宛てに送信された情報の内容を、運用者端末420を用いて確認できる。 The operator terminal 420 is a terminal device used by the operation manager. For example, the operation manager can use the operator terminal 420 to check the content of the information sent from the RPA management server 300 to him/herself.

図3は、クローラ実行マシンのハードウェア構成例を示す図である。クローラ実行マシン200は、例えば、図3に示すようなコンピュータとして実現される。図3に示すクローラ実行マシン200は、プロセッサ201、RAM(Random Access Memory)202、HDD(Hard Disk Drive)203、GPU(Graphics Processing Unit)204、入力インタフェース(I/F)205、読み取り装置206および通信インタフェース(I/F)207を備える。 FIG. 3 is a diagram illustrating an example hardware configuration of a crawler execution machine. The crawler execution machine 200 is implemented as a computer as shown in FIG. 3, for example. The crawler execution machine 200 shown in FIG. A communication interface (I/F) 207 is provided.

プロセッサ201は、クローラ実行マシン200全体を統括的に制御する。プロセッサ201は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)またはPLD(Programmable Logic Device)である。また、プロセッサ201は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。 The processor 201 centrally controls the crawler execution machine 200 as a whole. The processor 201 is, for example, a CPU (Central Processing Unit), MPU (Micro Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), or PLD (Programmable Logic Device). Also, processor 201 may be a combination of two or more of CPU, MPU, DSP, ASIC, and PLD.

RAM202は、クローラ実行マシン200の主記憶装置として使用される。RAM202には、プロセッサ201に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM202には、プロセッサ201による処理に必要な各種データが格納される。 A RAM 202 is used as the main storage device of the crawler execution machine 200 . The RAM 202 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 201 . Also, the RAM 202 stores various data necessary for processing by the processor 201 .

HDD203は、クローラ実行マシン200の補助記憶装置として使用される。HDD203には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。 The HDD 203 is used as an auxiliary storage device for the crawler execution machine 200 . The HDD 203 stores an OS program, application programs, and various data. Other types of non-volatile storage devices such as SSDs (Solid State Drives) can also be used as auxiliary storage devices.

GPU204には、表示装置204aが接続されている。GPU204は、プロセッサ201からの命令にしたがって、画像を表示装置204aに表示させる。表示装置204aとしては、液晶ディスプレイや有機EL(ElectroLuminescence)ディスプレイなどがある。 A display device 204 a is connected to the GPU 204 . The GPU 204 causes the display device 204a to display an image according to instructions from the processor 201 . Examples of the display device 204a include a liquid crystal display and an organic EL (ElectroLuminescence) display.

入力インタフェース205には、入力装置205aが接続されている。入力インタフェース205は、入力装置205aから出力される信号をプロセッサ201に送信する。入力装置205aとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 An input device 205 a is connected to the input interface 205 . The input interface 205 transmits signals output from the input device 205 a to the processor 201 . The input device 205a includes a keyboard, pointing device, and the like. Pointing devices include mice, touch panels, tablets, touch pads, trackballs, and the like.

読み取り装置206には、可搬型記録媒体206aが脱着される。読み取り装置206は、可搬型記録媒体206aに記録されたデータを読み取ってプロセッサ201に送信する。可搬型記録媒体206aとしては、光ディスク、半導体メモリなどがある。 A portable recording medium 206a is attached to and detached from the reading device 206 . The reading device 206 reads the data recorded on the portable recording medium 206 a and transmits the read data to the processor 201 . As the portable recording medium 206a, there are an optical disk, a semiconductor memory, and the like.

通信インタフェース207は、ネットワーク400を介して、RPA管理サーバ300などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、クローラ実行マシン200の処理機能を実現することができる。なお、ロボット実行マシン100、RPA管理サーバ300、外部サーバ410および運用者端末420についても、図3に示すようなハードウェア構成を有するコンピュータとして実現可能である。
The communication interface 207 transmits and receives data to and from other devices such as the RPA management server 300 via the network 400 .
With the above hardware configuration, the processing functions of the crawler execution machine 200 can be realized. The robot execution machine 100, the RPA management server 300, the external server 410, and the operator terminal 420 can also be implemented as computers having the hardware configuration shown in FIG.

ところで、ロボットで自動化される操作の対象としては、ロボットが実行されるロボット実行マシン100上のアプリケーションや、外部サーバのWebサイトなどがある。このようなアプリケーションやWebサイトにおいて仕様変更やバージョンアップが行われると、ロボットの動作にも影響が生じる場合がある。例えば、仕様変更やバージョンアップによってGUIの構成が変更された場合、それに合わせてロボットの操作手順も変更しないと、ロボットの動作エラーが生じ、業務が停止してしまう場合がある。 By the way, targets of operations automated by the robot include applications on the robot execution machine 100 executed by the robot, websites of external servers, and the like. When specifications are changed or upgraded in such applications and websites, robot operations may be affected. For example, when the configuration of the GUI is changed due to specification change or version upgrade, unless the operation procedure of the robot is changed accordingly, an operation error may occur in the robot and the work may stop.

ここで、アプリケーションがロボットを運用する顧客(企業)自身が開発したものであったり、あるいはWebサイトがその顧客自身が運営するものである場合には、顧客は仕様変更やバージョンアップの内容を事前に知ることができる。このため、顧客は、ロボットの操作手順を仕様変更やバージョンアップの内容に合わせて事前に修正して、業務を停止させないようにすることができる。 Here, if the application is developed by the customer (company) who operates the robot, or the website is operated by the customer, the customer should notify the customer of the specification change or version upgrade in advance. can be known to Therefore, the customer can modify the operation procedure of the robot in advance according to the contents of the specification change or version upgrade so as not to stop the work.

しかし、ロボットの操作対象が他社製のアプリケーションや社外のWebサイトとなる場合もある。この場合、顧客は、アプリケーションやWebサイトの仕様変更やバージョンアップの内容を事前に知ることは難しい。このため、ロボットを用いた業務の実行中に、仕様変更やバージョンアップを原因としてロボットの動作エラーが発生し、業務が停止してしまう可能性がある。 However, there are cases where the robot's operation target is an application made by another company or a website outside the company. In this case, it is difficult for the customer to know in advance the details of specification changes and version upgrades of applications and websites. For this reason, there is a possibility that an operation error of the robot will occur due to specification change or version upgrade during the execution of the work using the robot, and the work will be stopped.

このような問題を解決するための1つの方法として、例えば、操作対象のアプリケーションやWebサイトの仕様変更やバージョンアップの情報を定期的に監視する方法が考えられる。具体的には、アプリケーションの開発ベンダやWebサイトの運営ベンダのWebサイトに定期的にアクセスして、仕様変更やバージョンアップに関する情報を取得する。しかし、このような処理を人手によって行うには大きな手間がかかり、またコンピュータによって行ったとしても処理負荷が高いという問題がある。また、仕様変更やバージョンアップがあったとしても、GUIの構成の変更やそれに関連する機能の仕様の変更がなければ、ロボット実行時のエラーは発生しない。上記の監視によってこのようなGUIに関する変更だけを正確に判断することは簡単ではないという問題もある。 As one method for solving such a problem, for example, a method of periodically monitoring information on specification changes and version upgrades of an application to be operated or a website is conceivable. Specifically, the website of the application development vendor and the website management vendor is periodically accessed to acquire information on specification changes and version upgrades. However, it takes a lot of time and effort to perform such processing manually, and even if it is performed by a computer, there is a problem that the processing load is high. Also, even if there is a specification change or a version upgrade, if there is no change in the configuration of the GUI or a change in the specifications of functions related thereto, no error will occur during execution of the robot. There is also the problem that it is not easy to accurately determine only such changes related to the GUI by the above monitoring.

そこで、本実施の形態では、ロボットの操作を網羅的に実行するクローラを用意し、業務時間外の時間帯においてクローラがアプリケーションやWebサイトに対する操作を実行する。操作の実行エラーが発生した場合、クローラは、エラーの内容やエラーが発生した操作対象に関する情報を収集し、RPA管理サーバ300に通知する。運用管理者や業務担当者は、このようにして収集された情報に基づいて、アプリケーションやWebサイトの仕様変更やバージョンアップの内容を認識し、ロボットの動作が停止しないようにロボットの操作内容を変更することが可能になる。 Therefore, in the present embodiment, a crawler that exhaustively executes robot operations is prepared, and the crawler executes operations on applications and websites during non-business hours. When an operation execution error occurs, the crawler collects information about the details of the error and the operation target in which the error occurred, and notifies the RPA management server 300 of the information. Based on the information collected in this way, operation managers and business personnel can recognize the details of specification changes and version upgrades of applications and websites, and adjust the operation details of the robot so that the operation of the robot does not stop. It becomes possible to change.

図4は、第2の実施の形態に係る情報処理システム全体の動きを示す図である。図4において、ロボット実行マシン100は、RPA管理サーバ300による管理の元でロボット110を実行する。図4では、ロボット110による操作対象として、アプリケーション501およびWebサイト502を想定する。アプリケーション501は、顧客とは別の企業から提供される他社製アプリケーションである。図4においてはアプリケーション501がロボット実行マシン100の外側に示されているが、このアプリケーション501は実際にはロボット実行マシン100にインストールされている。また、Webサイト502は、顧客とは別の企業によって運営される社外サイトであり、例えば、図2に示した外部サーバ410から提供される。 FIG. 4 is a diagram showing the movement of the entire information processing system according to the second embodiment. In FIG. 4, the robot execution machine 100 executes the robot 110 under the management of the RPA management server 300 . In FIG. 4, it is assumed that an application 501 and a website 502 are to be operated by the robot 110 . An application 501 is a third-party application provided by a company other than the customer. Although the application 501 is shown outside the robot execution machine 100 in FIG. 4, the application 501 is actually installed on the robot execution machine 100 . The website 502 is an external site operated by a company other than the customer, and is provided by the external server 410 shown in FIG. 2, for example.

また、本実施の形態では、ロボット110の操作を網羅的に実行するクローラ210が作成される。クローラ210は、ロボット110の単なる複製ではなく、操作対象の仕様変更やバージョンアップが行われた可能性があると判定した場合に、解析に必要な情報をRPA管理サーバ300に通知する機能を備える。さらに、クローラ210は、データの登録、更新、削除などの業務に支障が生じ得る操作の実行をスキップする機能も備える。 Further, in the present embodiment, a crawler 210 that exhaustively executes operations of the robot 110 is created. The crawler 210 has a function of notifying the RPA management server 300 of information necessary for analysis when determining that there is a possibility that the robot 110 is not simply duplicated, but that the specifications of the operation target have been changed or upgraded. . Furthermore, the crawler 210 also has a function of skipping execution of operations such as registration, update, and deletion of data that may interfere with operations.

なお、本実施の形態では、クローラ210はクローラ実行マシン200で実行されるものとするが、クローラ210を実行する装置は限定されるものではなく、例えばロボット実行マシン100やRPA管理サーバ300でクローラ210が実行されてもよい。 In this embodiment, the crawler 210 is executed by the crawler execution machine 200, but the device for executing the crawler 210 is not limited. 210 may be performed.

クローラ210は、業務時間外の時間帯において、RPA管理サーバ300の指示に応じて定期的に実行される(処理P1)。クローラ210は、操作対象であるアプリケーション501やWebサイト502の仕様変更やバージョンアップを監視するために、操作対象に対する操作を自動実行する(処理P2)。 The crawler 210 is periodically executed in response to instructions from the RPA management server 300 during non-business hours (processing P1). The crawler 210 automatically executes an operation on an operation target in order to monitor specification changes and version upgrades of the application 501 and website 502 that are the operation target (process P2).

操作の実行エラーが発生した場合、クローラ210は、エラーの内容やエラーが発生した操作に関する情報を収集し、RPA管理サーバ300に通知する(処理P3)。例えば、エラーの内容を示す情報や、エラーが発生した操作対象に関する情報(例えば、アプリケーション501やWebサイト502の画面情報)などが収集され、RPA管理サーバ300に通知される。RPA管理サーバ300は、通知された収集情報を、例えば電子メールなどによって運用管理者421に通知する(処理P4)。 When an operation execution error occurs, the crawler 210 collects information about the contents of the error and the operation in which the error occurred, and notifies the RPA management server 300 (process P3). For example, information indicating the content of the error, information about the operation target in which the error occurred (for example, screen information of the application 501 or website 502), etc. are collected and notified to the RPA management server 300. FIG. The RPA management server 300 notifies the operation manager 421 of the notified collected information by e-mail, for example (process P4).

運用管理者421は、通知された収集情報を解析し、その解析結果に基づいてロボット110をメンテナンスする(処理P5)。すなわち、運用管理者421は、アプリケーション501やWebサイト502の仕様変更やバージョンアップの内容に応じて、ロボット110の処理手順を修正する。また、運用管理者421は、業務の開始前に、アプリケーション501やWebサイト502の仕様変更やバージョンアップが発生したこと、その内容などの情報を、例えば電子メールなどによって業務担当者431に通知する(処理P6)。 The operations manager 421 analyzes the notified collected information and maintains the robot 110 based on the analysis results (process P5). That is, the operation manager 421 modifies the processing procedure of the robot 110 in accordance with the specification change or version upgrade of the application 501 or website 502 . In addition, before starting work, the operation manager 421 notifies the business person 431 of information such as the occurrence of a specification change or version upgrade of the application 501 or the website 502 and the content thereof, for example, by e-mail. (Processing P6).

その後、RPA管理サーバ300によって、ロボット実行マシン100にロボット110の実行が指示される(処理P7)。この実行指示に応じてロボット110が起動し、アプリケーション501やWebサイト502に対する自動操作を実行する(処理P8)。仕様変更やバージョンアップの内容に応じてロボット110の操作内容が修正済みであるので、業務中にロボット110による操作の実行エラーが発生する可能性を抑制できる。 Thereafter, the RPA management server 300 instructs the robot execution machine 100 to execute the robot 110 (process P7). In response to this execution instruction, the robot 110 is activated and automatically operates the application 501 and the website 502 (process P8). Since the operation details of the robot 110 have already been corrected in accordance with the details of the specification change or version upgrade, the possibility of an operation execution error occurring by the robot 110 during work can be suppressed.

図5は、ロボットとクローラとの関係を示す図である。クローラ210は、複数のロボットの操作を網羅的に実行することができる。例えば、図5では、ロボット実行マシン100-1でロボット110-1が実行され、ロボット実行マシン100-2でロボット110-2が実行される。この場合、クローラ210は、ロボット110-1,110-2の操作を網羅的に実行する。 FIG. 5 is a diagram showing the relationship between the robot and the crawler. The crawler 210 can comprehensively perform operations of multiple robots. For example, in FIG. 5, robot 110-1 runs on robot execution machine 100-1 and robot 110-2 runs on robot execution machine 100-2. In this case, the crawler 210 exhaustively executes the operations of the robots 110-1 and 110-2.

例えば、ロボット110-1は、操作の内容が記述されたスクリプト111-1に基づいて、操作を自動実行する。また、ロボット110-2は、操作の内容が記述されたスクリプト111-2に基づいて、操作を自動実行する。この場合、クローラ210の作成は、例えば、次のように実行される。 For example, the robot 110-1 automatically executes an operation based on a script 111-1 describing the details of the operation. Also, the robot 110-2 automatically executes an operation based on a script 111-2 describing the details of the operation. In this case, creation of the crawler 210 is performed, for example, as follows.

まず、スクリプト111-1,111-2から操作内容を示す情報が抽出される。そして、操作画面(例えば、Webサイトにおける同じページ)ごとに操作が分類されて、クローラ210用のスクリプト(クローラ用スクリプト211)に、分類された操作の内容が記述される。このとき、同じ入力位置に対する操作が重複しないように操作の内容が記述される。例えば、ロボット110-1があるWebページ上のある入力欄にデータAを入力し、ロボット110-2が同じWebページ上の同じ入力欄にデータBを入力する場合、クローラ用スクリプト211では、その入力欄に対するデータAまたはデータBの入力操作のみが記述されればよい。クローラ210は、このようにして作成されたクローラ用スクリプト211に基づいて動作することで、ロボット110-1,110-2の操作を網羅的に実行できるようになる。 First, information indicating the operation content is extracted from the scripts 111-1 and 111-2. Then, the operations are classified for each operation screen (for example, the same page on the website), and the contents of the classified operations are described in the script for the crawler 210 (crawler script 211). At this time, the contents of the operation are described so that the operation for the same input position does not overlap. For example, when the robot 110-1 inputs data A into an input field on a Web page, and the robot 110-2 inputs data B into the same input field on the same Web page, the crawler script 211 Only the operation of inputting data A or data B to the input field should be described. By operating based on the crawler script 211 created in this way, the crawler 210 can comprehensively execute the operations of the robots 110-1 and 110-2.

ここで、ロボット110-1,110-2が実行するすべての操作をクローラ210が実行してしまうと、業務に支障が生じる可能性がある。例えば、ロボット110-1,110-2が実行する操作のうち、データの登録、更新、削除の操作をクローラ210が実行してしまうと、業務の際にデータの不整合や登録データの間違いが生じる可能性がある。そこで、クローラ210は、クローラ用スクリプト211に記述された操作のうち、データの登録、更新、削除のような業務に支障が生じる可能性がある操作の実行をスキップする。 Here, if the crawler 210 executes all the operations executed by the robots 110-1 and 110-2, there is a possibility that business will be hindered. For example, among the operations executed by the robots 110-1 and 110-2, if the crawler 210 executes data registration, update, and deletion operations, data inconsistencies and errors in registered data may occur during work. may occur. Therefore, among the operations described in the crawler script 211, the crawler 210 skips execution of operations that may interfere with operations, such as data registration, update, and deletion.

図6は、情報処理システムの各装置が備える処理機能の構成例を示す図である。
まず、ロボット実行マシン100は、記憶部120、ロボットエージェント130、アプリケーション141およびWebブラウザ142を備える。
FIG. 6 is a diagram showing a configuration example of processing functions provided in each device of the information processing system.
First, the robot execution machine 100 has a storage unit 120 , a robot agent 130 , an application 141 and a web browser 142 .

記憶部120は、ロボット実行マシン100が備える図示しない記憶装置の記憶領域によって実現される。記憶部120には、例えば、ロボットエージェント130の処理に必要なデータが記憶される。一例として、ロボット110の操作内容が記述されたスクリプト(図5のスクリプト111-1,111-2のいずれかに対応)が記憶部120に記憶される。 The storage unit 120 is implemented by a storage area of a storage device (not shown) included in the robot execution machine 100 . The storage unit 120 stores, for example, data necessary for processing of the robot agent 130 . As an example, a script (corresponding to either script 111-1 or 111-2 in FIG. 5) describing the operation content of the robot 110 is stored in the storage unit 120. FIG.

ロボットエージェント130、アプリケーション141およびWebブラウザ142の処理は、例えば、ロボット実行マシン100が備える図示しないプロセッサが所定のプログラムを実行することで実現される。 The processes of the robot agent 130, the application 141, and the web browser 142 are realized, for example, by a processor (not shown) provided in the robot execution machine 100 executing a predetermined program.

ロボットエージェント130は、記憶部120に記憶されたスクリプトに基づいて、ロボット110の動作を実現する。なお、ロボット110の実体はロボットエージェント130を実現するエージェントプログラムであり、「ロボット110の実行」とはそのエージェントプログラムの実行を意味する。 The robot agent 130 implements actions of the robot 110 based on scripts stored in the storage unit 120 . The entity of the robot 110 is an agent program that implements the robot agent 130, and "execution of the robot 110" means execution of the agent program.

アプリケーション141およびWebブラウザ142は、ロボット110による直接的な操作対象となる処理機能である。アプリケーション141は、GUIを提供し、このGUIに対するロボット110の操作に応じて処理を実行する。このアプリケーション141は、顧客とは別の企業から提供される他社製アプリケーションである。Webブラウザ142は、Webサーバから提供されるWebページを表示し、Webページに対する操作に応じたデータをWebサーバに送信する。本実施の形態では、外部サーバ410がWebサーバとして動作し、外部サーバ410が提供するサービスを利用するためのGUI画面がWebページとしてWebブラウザ142に提供される。そして、外部サーバ410は、このGUI画面に対するロボット110の操作に応じて、サービスに対応する処理を実行する。 The application 141 and the web browser 142 are processing functions to be directly operated by the robot 110 . The application 141 provides a GUI and executes processing according to the operation of the robot 110 on this GUI. This application 141 is a third-party application provided by a company other than the customer. The web browser 142 displays a web page provided by a web server and transmits data to the web server according to an operation on the web page. In this embodiment, the external server 410 operates as a web server, and provides the web browser 142 with a GUI screen as a web page for using services provided by the external server 410 . Then, the external server 410 executes processing corresponding to the service according to the operation of the robot 110 on this GUI screen.

クローラ実行マシン200は、記憶部220、クローラエージェント230、アプリケーション241およびWebブラウザ242を備える。
記憶部220は、RAM202、HDD203など、クローラ実行マシン200が備える記憶装置の記憶領域によって実現される。記憶部220には、例えば、クローラ210の操作内容が記述されたクローラ用スクリプト(図5のクローラ用スクリプト211に対応)や、クローラ210による操作の実行エラーが発生した際に作成されるエラー情報が記憶される。
The crawler execution machine 200 comprises a storage unit 220 , a crawler agent 230 , an application 241 and a web browser 242 .
The storage unit 220 is implemented by a storage area of a storage device provided in the crawler execution machine 200, such as the RAM 202 and the HDD 203. FIG. The storage unit 220 stores, for example, a crawler script (corresponding to the crawler script 211 in FIG. 5) describing the operation content of the crawler 210, and error information created when an operation execution error occurs by the crawler 210. is stored.

クローラエージェント230、アプリケーション241およびWebブラウザ242の処理は、プロセッサ201が所定のプログラムを実行することで実現される。
クローラエージェント230は、記憶部220に記憶されたクローラ用スクリプトに基づいて、クローラ210の動作を実現する。また、クローラエージェント230は、操作の実行エラーが発生すると、発生したエラーに関するエラー情報を記憶部220に格納した後、そのエラー情報をRPA管理サーバ300に送信する。
The processing of the crawler agent 230, the application 241 and the web browser 242 is realized by the processor 201 executing a predetermined program.
The crawler agent 230 realizes the operation of the crawler 210 based on the crawler script stored in the storage unit 220 . Also, when an operation execution error occurs, the crawler agent 230 stores error information about the error in the storage unit 220 and then transmits the error information to the RPA management server 300 .

アプリケーション241およびWebブラウザ242は、クローラ210による直接的な操作対象となる処理機能である。アプリケーション241は、ロボット実行マシン100のアプリケーション141と同様の処理を実行可能である。Webブラウザ242は、ロボット実行マシン100のWebブラウザ142と同様の処理を実行可能である。なお、図5の例のように、クローラ210が複数のロボット110の操作を実行する場合、クローラ実行マシン200は、それらのロボット110のそれぞれの操作対象に対応する処理機能を備える。 The application 241 and the web browser 242 are processing functions to be directly operated by the crawler 210 . The application 241 can execute processing similar to that of the application 141 of the robot execution machine 100 . The web browser 242 can execute processing similar to that of the web browser 142 of the robot execution machine 100 . 5, when the crawler 210 executes operations of a plurality of robots 110, the crawler execution machine 200 has processing functions corresponding to respective operation targets of those robots 110. FIG.

RPA管理サーバ300は、記憶部310、ロボット実行管理部321およびクローラ実行管理部322を備える。
記憶部310は、RPA管理サーバ300が備える図示しない記憶装置の記憶領域によって実現される。記憶部310には、例えば、クローラ210を管理するための情報や、クローラ210から収集されたエラー情報などが記憶される。
The RPA management server 300 includes a storage unit 310 , a robot execution management unit 321 and a crawler execution management unit 322 .
The storage unit 310 is implemented by a storage area of a storage device (not shown) included in the RPA management server 300 . The storage unit 310 stores, for example, information for managing the crawler 210, error information collected from the crawler 210, and the like.

ロボット実行管理部321およびクローラ実行管理部322の処理は、例えば、RPA管理サーバ300が備える図示しないプロセッサが所定のプログラムを実行することで実現される。ロボット実行管理部321は、ロボット実行マシン100におけるロボット110の実行を管理する。例えば、ロボット実行管理部321は、運用者端末420などの端末装置からのロボット実行要求に応じて、ロボット110の実行を指示する。 The processes of the robot execution management unit 321 and the crawler execution management unit 322 are realized, for example, by a processor (not shown) provided in the RPA management server 300 executing a predetermined program. The robot execution management unit 321 manages execution of the robot 110 on the robot execution machine 100 . For example, the robot execution management unit 321 instructs execution of the robot 110 in response to a robot execution request from a terminal device such as the operator terminal 420 .

クローラ実行管理部322は、クローラ実行マシン200におけるクローラ210の実行を管理する。例えば、クローラ実行管理部322は、記憶部120に記憶されたクローラ210の実行スケジュール情報にしたがって、クローラ210の実行を指示する。また、クローラ実行管理部322は、クローラ210から送信されたエラー情報を記憶部220に格納し、エラー情報に基づき、エラーが発生したことやエラーの内容などの情報を、電子メールなどを用いて運用管理者に通知する。 The crawler execution management unit 322 manages execution of the crawler 210 on the crawler execution machine 200 . For example, the crawler execution management unit 322 instructs the crawler 210 to execute according to the execution schedule information of the crawler 210 stored in the storage unit 120 . In addition, the crawler execution management unit 322 stores the error information transmitted from the crawler 210 in the storage unit 220, and based on the error information, sends information such as the occurrence of an error and the details of the error using e-mail or the like. Notify the operations manager.

図7は、クローラ実行マシンの記憶部に記憶されるデータの例を示す図である。クローラ実行マシン200の記憶部220には、前述したクローラ用スクリプトの他に、エラー情報管理テーブル221が記憶される。エラー情報管理テーブル221は、クローラ210による操作の実行エラーが発生した場合に作成されるエラー情報を記憶する。エラー情報管理テーブル221は、操作の実行エラーが発生するたびに作成されて記憶部220に記憶される。すなわち、エラー情報管理テーブル221は、実行エラーが発生した操作ごとに作成される。 FIG. 7 is a diagram showing an example of data stored in the storage unit of the crawler execution machine. The storage unit 220 of the crawler execution machine 200 stores an error information management table 221 in addition to the crawler script described above. The error information management table 221 stores error information created when an operation execution error by the crawler 210 occurs. The error information management table 221 is created and stored in the storage unit 220 each time an operation execution error occurs. That is, the error information management table 221 is created for each operation in which an execution error has occurred.

図7に示すように、エラー情報管理テーブル221の各レコードには、エラー情報種別とファイル名とが登録される。エラー情報種別は、対応するエラー情報の種別を示す。ファイル名は、エラー情報が記述されたファイルの名称を示す。記憶部220には、ファイル名が示すエラー情報のファイルが別途記憶されることになる。 As shown in FIG. 7, each record of the error information management table 221 registers an error information type and a file name. The error information type indicates the type of corresponding error information. File name indicates the name of the file in which the error information is described. The storage unit 220 separately stores the error information file indicated by the file name.

エラー情報としては、例えば、クローラエラーメッセージ、画面キャプチャデータ、アプリケーション名、アプリエラーメッセージ、サイトURL(Uniform Resource Locator)などが作成される。クローラエラーメッセージは、エラー発生時におけるクローラ210による操作を示す情報(例えば、操作名、GUI上の操作位置を示す情報など)を示す。画面キャプチャデータは、エラー発生時におけるGUI画面の画像データを示す。アプリケーション名は、エラー発生時において操作対象であったアプリケーションの識別情報を示す。アプリエラーメッセージは、アプリケーションに対する操作時に発生したエラー内容を示す情報(例えば、アプリケーションから返されるエラーメッセージなど)を示す。サイトURLは、エラー発生時において操作対象であったWebページのURLを示す。 As the error information, for example, crawler error messages, screen capture data, application names, application error messages, site URLs (Uniform Resource Locators), and the like are created. The crawler error message indicates information indicating an operation by the crawler 210 when an error occurs (for example, information indicating an operation name, an operation position on the GUI, etc.). The screen capture data indicates image data of the GUI screen when an error occurs. The application name indicates identification information of the application that was the operation target when the error occurred. The application error message indicates information (for example, an error message returned from the application) indicating the content of an error that occurred during operation of the application. The site URL indicates the URL of the web page that was the operation target when the error occurred.

クローラエラーメッセージおよび画面キャプチャデータは、操作対象がアプリケーションとWebサイトのいずれの場合でも記憶部220に登録される。アプリケーション名およびアプリエラーメッセージは、操作対象がアプリケーションの場合にのみ記憶部220に登録される。サイトURLは、操作対象がWebサイトの場合にのみ記憶部220に登録される。 Crawler error messages and screen capture data are registered in the storage unit 220 regardless of whether the operation target is an application or a website. The application name and application error message are registered in storage unit 220 only when the operation target is an application. The site URL is registered in the storage unit 220 only when the operation target is a website.

図8は、RPA管理サーバの記憶部に記憶されるデータの例を示す図である。図8に示すように、RPA管理サーバ300の記憶部310には、例えば、クローラ管理テーブル311、プロセス管理テーブル312、スケジュール管理テーブル313、通知情報管理テーブル314および収集情報管理テーブル315が記憶される。 FIG. 8 is a diagram depicting an example of data stored in the storage unit of the RPA management server; As shown in FIG. 8, the storage unit 310 of the RPA management server 300 stores, for example, a crawler management table 311, a process management table 312, a schedule management table 313, a notification information management table 314, and a collection information management table 315. .

クローラ管理テーブル311には、RPA管理サーバ300が管理対象とするクローラに対応するレコードが登録される。図8の例のように、管理対象とするクローラが複数存在する場合、クローラ管理テーブル311にはそれぞれ個別のクローラに対応する複数のレコードが登録される。クローラ管理テーブル311の各レコードには、クローラの識別情報を示すクローラIDに対して、クローラの名称を示すクローラ名(クローラを示すRPAロボット名)が対応付けて登録される。 Records corresponding to crawlers managed by the RPA management server 300 are registered in the crawler management table 311 . As in the example of FIG. 8 , when there are multiple crawlers to be managed, multiple records corresponding to individual crawlers are registered in the crawler management table 311 . In each record of the crawler management table 311, a crawler ID indicating crawler identification information is registered in association with a crawler name indicating the name of the crawler (RPA robot name indicating the crawler).

プロセス管理テーブル312には、クローラで実行されるプロセスに対応するレコードが登録される。プロセスとは、RPAロボットで実行される処理の単位である。RPAロボットに操作を実行させる場合、RPA管理サーバ300は、RPAロボットを特定し、そのRPAロボットに対してプロセスを指定することで操作の実行を開始させる。 Records corresponding to processes executed by crawlers are registered in the process management table 312 . A process is a unit of processing executed by an RPA robot. When causing an RPA robot to execute an operation, the RPA management server 300 identifies the RPA robot and designates a process to the RPA robot to start executing the operation.

プロセス管理テーブル312の各レコードには、プロセスの識別情報を示すプロセスIDに対して、プロセス名と稼働クローラIDとが対応付けて登録される。プロセス名は、プロセスの名称を示す。稼働クローラIDは、プロセスが実行されるクローラのクローラIDを示す。 In each record of the process management table 312, a process ID indicating process identification information is registered in association with a process name and an operating crawler ID. The process name indicates the name of the process. The active crawler ID indicates the crawler ID of the crawler on which the process is executed.

スケジュール管理テーブル313には、クローラごとの実行スケジュール情報が登録される。スケジュール管理テーブル313の各レコードには、クローラを示すクローラIDに対して、実行周期、実行時刻、実行曜日および実行日が登録される。実行周期は、クローラが周期的に実行される場合に、どのような周期で実行されるかを示す。実行時刻は、クローラが実行される時刻を示す。実行曜日は、クローラが1週間を単位として実行される場合(実行周期に「週次」と登録されている場合)に、クローラが実行される曜日を示す。実行日は、クローラを周期的にでなく、特定の日に実行したい場合に、実行させる日を示す。なお、クローラの実行は、少なくとも、対応するロボットが実行される時間帯とは別の時間帯に行われるようにスケジューリングされる。 Execution schedule information for each crawler is registered in the schedule management table 313 . In each record of the schedule management table 313, an execution period, an execution time, an execution day, and an execution date are registered for a crawler ID indicating a crawler. The execution cycle indicates in what cycle the crawler is executed periodically. Execution time indicates the time at which the crawler is executed. The execution day indicates the day of the week on which the crawler is executed when the crawler is executed on a weekly basis (when "weekly" is registered in the execution cycle). The date of execution indicates the day on which the crawler is to be executed, not periodically but on a specific day. It should be noted that the execution of the crawler is scheduled so as to be performed at least in a different time zone from the time zone in which the corresponding robot is executed.

通知情報管理テーブル314には、クローラによって収集されて送信されたエラー情報の通知先とするユーザ(運用管理者など)の情報が登録される。通知情報管理テーブル314の各レコードには、通知先のユーザを識別するユーザ名に対して、エラー情報の通知先を示す通知先メールアドレスが登録される。 In the notification information management table 314, information of a user (operation manager, etc.) to be notified of error information collected and transmitted by the crawler is registered. In each record of the notification information management table 314, a notification destination e-mail address indicating a notification destination of error information is registered for a user name that identifies a notification destination user.

収集情報管理テーブル315は、クローラによって収集されて送信されたエラー情報を管理するためのテーブルである。収集情報管理テーブル315の各レコードには、エラー情報の送信元クローラを示すクローラIDに対して、エラー情報を示すファイル名が登録される。ここでは例として、クローラで収集されたエラー情報は、1つのファイルにまとめられてRPA管理サーバ300に送信されるものとする。この場合、エラー情報を示すファイルが記憶部310に格納され、そのファイルを示すファイル名がクローラIDに対応付けて収集情報管理テーブル315に登録される。 The collected information management table 315 is a table for managing error information collected and transmitted by the crawler. In each record of the collected information management table 315, a file name indicating the error information is registered with respect to the crawler ID indicating the crawler that sent the error information. Here, as an example, it is assumed that the error information collected by the crawler is compiled into one file and sent to the RPA management server 300 . In this case, a file indicating error information is stored in the storage unit 310, and a file name indicating the file is registered in the collected information management table 315 in association with the crawler ID.

図9は、クローラが実行される場合の処理手順の例を示すシーケンス図である。
[ステップS11]RPA管理サーバ300によって、クローラ実行に関する前処理が実行される。例えば、運用者端末420からの運用管理者による設定操作に応じて、クローラ210の実行スケジュール情報がスケジュール管理テーブル313に登録される。
FIG. 9 is a sequence diagram showing an example of a processing procedure when the crawler is executed.
[Step S11] The RPA management server 300 executes preprocessing for crawler execution. For example, the execution schedule information of the crawler 210 is registered in the schedule management table 313 according to the setting operation by the operation manager from the operator terminal 420 .

[ステップS12]RPA管理サーバ300のクローラ実行管理部322は、スケジュール管理テーブル313に登録された、該当するクローラ210についての実行スケジュール情報に基づき、クローラ210の実行時刻になったかを判定する。実行時刻になっていない場合(現時刻が実行時刻でない場合)、一定時間後にステップS12の処理が再実行される。一方、実行時刻になった場合(現時刻が実行時刻である場合)、処理がステップS13に進められる。 [Step S<b>12 ] The crawler execution management unit 322 of the RPA management server 300 determines whether the execution time for the crawler 210 has come, based on the execution schedule information for the corresponding crawler 210 registered in the schedule management table 313 . When the execution time has not come (when the current time is not the execution time), the process of step S12 is re-executed after a certain period of time. On the other hand, when the execution time has come (when the current time is the execution time), the process proceeds to step S13.

[ステップS13]クローラ実行管理部322は、クローラ210が実行されるクローラ実行マシン200に対して、クローラ210の実行指示を送信する。実際には、プロセス管理テーブル312に基づいて、クローラ210に実行させるプロセスが指定される。 [Step S13] The crawler execution management unit 322 transmits an execution instruction of the crawler 210 to the crawler execution machine 200 on which the crawler 210 is executed. Actually, the process to be executed by the crawler 210 is designated based on the process management table 312 .

[ステップS14]クローラ実行マシン200は、実行指示の受信に応じてクローラエージェント230を起動する。これにより、クローラ210による操作の自動実行が開始される。 [Step S14] The crawler execution machine 200 activates the crawler agent 230 in response to receiving the execution instruction. Thereby, automatic execution of the operation by the crawler 210 is started.

[ステップS15]クローラエージェント230は、例えば記憶部220内のクローラ用スクリプトから、次に実行する操作の情報を取得し、この操作がデータ登録、データ更新、データ削除のいずれかであるかを判定する。操作がこれらのいずれでもない場合、処理がステップS16に進められ、操作がこれらのいずれかである場合、処理がステップS20に進められる。後者の場合、操作の実行(ステップS16)がスキップされることになる。 [Step S15] The crawler agent 230 acquires information about an operation to be executed next, for example, from a crawler script in the storage unit 220, and determines whether this operation is data registration, data update, or data deletion. do. If the operation is neither of these, the process proceeds to step S16, and if the operation is any of these, the process proceeds to step S20. In the latter case, execution of the operation (step S16) will be skipped.

[ステップS16]クローラエージェント230は、操作を実行する。
[ステップS17]クローラエージェント230は、操作の実行エラーが発生したかを判定する。実行エラーが発生した場合、処理がステップS18に進められ、実行エラーが発生しなかった場合、処理がステップS20に進められる。
[Step S16] The crawler agent 230 executes an operation.
[Step S17] The crawler agent 230 determines whether an operation execution error has occurred. If an execution error occurs, the process proceeds to step S18, and if no execution error occurs, the process proceeds to step S20.

[ステップS18]クローラエージェント230は、発生した実行エラーに関するエラー情報を収集する。クローラエージェント230は、エラー情報管理テーブル221を記憶部220に作成し、収集されたエラー情報をこのエラー情報管理テーブル221に登録する。 [Step S18] The crawler agent 230 collects error information regarding execution errors that have occurred. The crawler agent 230 creates an error information management table 221 in the storage unit 220 and registers the collected error information in this error information management table 221 .

[ステップS19]クローラエージェント230は、エラー情報管理テーブル221からエラー情報を取得して、実行エラーが発生したエラー情報ファイルを作成し、RPA管理サーバ300に送信する。 [Step S<b>19 ] The crawler agent 230 acquires error information from the error information management table 221 , creates an error information file in which an execution error has occurred, and transmits it to the RPA management server 300 .

図示しないが、RPA管理サーバ300のクローラ実行管理部322は、エラー情報ファイルを受信すると、受信したエラー情報ファイルを記憶部310に格納する。これとともに、クローラ実行管理部322は、エラー情報ファイルのファイル名をクローラ210のクローラIDに対応付けて収集情報管理テーブル315に登録する。 Although not shown, upon receiving the error information file, the crawler execution management unit 322 of the RPA management server 300 stores the received error information file in the storage unit 310 . Along with this, the crawler execution management unit 322 registers the file name of the error information file in the collected information management table 315 in association with the crawler ID of the crawler 210 .

[ステップS20]クローラエージェント230は、クローラ210の処理を終了するかを判定する。次に実行すべき操作がない場合に、処理終了と判定される。クローラ210の処理を継続する場合、処理がステップS15に進められ、次の操作に関する処理が実行される。一方、クローラ210の処理を終了する場合、処理がステップS21に進められる。 [Step S20] The crawler agent 230 determines whether the processing of the crawler 210 is finished. If there is no operation to be executed next, it is determined that the process is finished. When continuing the processing of the crawler 210, the processing proceeds to step S15, and the processing regarding the next operation is executed. On the other hand, when ending the processing of the crawler 210, the processing proceeds to step S21.

[ステップS21]クローラエージェント230は、クローラ210による操作が完了したことを示す完了通知をRPA管理サーバ300に送信し、動作を終了する。これにより、クローラ210の実行が終了する。 [Step S21] The crawler agent 230 sends a completion notification indicating that the operation by the crawler 210 is completed to the RPA management server 300, and ends the operation. This completes the execution of crawler 210 .

[ステップS22]RPA管理サーバ300のクローラ実行管理部322は、収集情報管理テーブル315を参照して、操作が完了したクローラ210に対応するエラー情報ファイルが登録されているかを判定する。ここで、登録されていると判定した場合、クローラ実行管理部322は、通知情報管理テーブル314から情報の通知先アドレスを特定し、その通知先アドレス宛の電子メールを作成する。この電子メールには、クローラ210による操作の実行時にエラーが発生したことや、エラー情報ファイルから抽出されたエラー情報の内容が記載される。エラー情報ファイルに関しては、その内容が電子メールに記載されずに、その格納位置を示す情報が電子メール内に記載されてもよい。 [Step S22] The crawler execution management unit 322 of the RPA management server 300 refers to the collected information management table 315 and determines whether an error information file corresponding to the crawler 210 whose operation has been completed is registered. Here, if it is determined that the information is registered, the crawler execution management unit 322 identifies the notification destination address of the information from the notification information management table 314 and creates an e-mail addressed to the notification destination address. This e-mail describes that an error occurred during execution of an operation by the crawler 210 and the content of error information extracted from the error information file. As for the error information file, the information indicating the storage location may be described in the e-mail instead of describing the contents thereof in the e-mail.

クローラ実行管理部322は、作成された電子メールを通知先アドレスに送信する。これにより、操作の実行エラーが発生したことや、エラーの内容が運用管理者に通知される。 The crawler execution management unit 322 transmits the created e-mail to the notification destination address. As a result, the operation manager is notified of the occurrence of an operation execution error and the content of the error.

図10は、ロボットおよびクローラが操作対象とする操作画面の例を示す。以下、図10に例示する操作画面510を用いて、ロボットおよびクローラのそれぞれによる具体的な操作手順の例を説明する。 FIG. 10 shows an example of an operation screen to be operated by the robot and the crawler. An example of a specific operation procedure for each of the robot and the crawler will be described below using the operation screen 510 illustrated in FIG. 10 .

操作画面510は、アンケート情報を外部サーバ410に登録したり、登録されたアンケート情報を外部サーバ410から取得するためのWebページであり、1つのURLによって特定される。この操作画面510は、項目表示領域511と情報入力・表示領域512を含む。項目表示領域511には複数の入力項目名が表示され、情報入力・表示領域512には、各入力項目に対応する登録情報を入力および表示する入力・表示欄が表示される。 The operation screen 510 is a web page for registering questionnaire information in the external server 410 and obtaining the registered questionnaire information from the external server 410, and is specified by one URL. This operation screen 510 includes an item display area 511 and an information input/display area 512 . The item display area 511 displays a plurality of input item names, and the information input/display area 512 displays input/display columns for inputting and displaying registration information corresponding to each input item.

操作画面510はさらに、保存ボタン513、更新ボタン514、キャンセルボタン515および終了ボタン516を含む。保存ボタン513を押下する操作が行われると、情報入力・表示領域512に入力された情報が外部サーバ410に登録される。更新ボタン514を押下する操作が行われると、情報入力・表示領域512に入力されている情報によって、外部サーバ410に登録済みの情報が更新される。キャンセルボタン515を押下する操作が行われると、情報入力・表示領域512に入力されている情報の登録や、それらの情報による更新が行われずに、操作画面510が閉じられる。終了ボタン516を押下する操作が行われると、操作画面510が閉じられる。 Operation screen 510 further includes save button 513 , update button 514 , cancel button 515 and end button 516 . When the save button 513 is pressed, the information input to the information input/display area 512 is registered in the external server 410 . When the update button 514 is pressed, the information entered in the information input/display area 512 is used to update the information registered in the external server 410 . When the cancel button 515 is pressed, the operation screen 510 is closed without registering the information input to the information input/display area 512 or updating the information. When the end button 516 is pressed, the operation screen 510 is closed.

ここで、例として、ロボット110-1が次のような情報登録操作を行うものとする。ロボット110-1は、操作画面510を開く操作を行うと、情報入力・表示領域512の入力・表示欄を1行目から順次選択し、選択された入力・表示欄にあらかじめ用意された情報を入力していく。ロボット110-1は、すべての入力・表示欄への入力が終了すると、保存ボタン513を押下して入力した情報を外部サーバ410に登録し、最後に終了ボタン516を押下して操作画面510を閉じる。 Here, as an example, it is assumed that the robot 110-1 performs the following information registration operation. When an operation to open the operation screen 510 is performed, the robot 110-1 sequentially selects the input/display columns of the information input/display area 512 from the first row, and displays information prepared in advance in the selected input/display columns. input. When robot 110-1 completes input to all input/display fields, robot 110-1 presses save button 513 to register the entered information in external server 410, and finally presses end button 516 to close operation screen 510. close.

さらに、ロボット110-2が次のような情報取得操作を行うものとする。ロボット110-2は、操作画面510を開く操作を行うと、情報入力・表示領域512の入力・表示欄を1行目から順次選択し、選択された入力・表示欄に表示されている情報を、対応するメタデータ(すなわち、対応する入力項目)とともに取得する。ロボット110-2は、すべての登録情報をメタデータとともに取得すると、終了ボタン516を押下して操作画面510を閉じる。 Furthermore, it is assumed that the robot 110-2 performs the following information acquisition operation. When an operation to open the operation screen 510 is performed, the robot 110-2 sequentially selects the input/display columns of the information input/display area 512 from the first row, and displays the information displayed in the selected input/display columns. , along with corresponding metadata (ie, corresponding input items). When the robot 110 - 2 acquires all the registration information together with the metadata, the robot 110 - 2 presses the end button 516 to close the operation screen 510 .

このようなロボット110-1,110-2に対応するクローラ210の操作手順を示すクローラ用スクリプトには、次のような操作が記載される。
(1)操作画面510を開く。
The following operations are described in the crawler script indicating the operation procedure of the crawler 210 corresponding to such robots 110-1 and 110-2.
(1) Open the operation screen 510 .

(2)情報入力・表示領域512の入力・表示欄を1行目から順次選択し、選択された入力・表示欄にあらかじめ用意された情報を入力していく。
(3)情報入力・表示領域512の入力・表示欄を1行目から順次選択し、選択された入力・表示欄に表示されている情報を、対応するメタデータとともに取得する。
(2) The input/display columns in the information input/display area 512 are sequentially selected from the first row, and information prepared in advance is entered in the selected input/display columns.
(3) The input/display fields in the information input/display area 512 are sequentially selected from the first row, and the information displayed in the selected input/display fields is acquired together with the corresponding metadata.

(4)保存ボタン513を押下する。
(5)終了ボタン516を押下する。
ただし、上記のクローラ用スクリプトに基づく実際のクローラ210の処理では、データの登録操作である(4)の「保存ボタン513の押下」のみスキップされる。
(4) Press the save button 513 .
(5) Press the end button 516 .
However, in the actual processing of the crawler 210 based on the crawler script, only the data registration operation (4) "pressing the save button 513" is skipped.

この図10の例や、図9に示した処理によれば、クローラ210の処理では、対応する各ロボット110の操作のうち、データの登録操作、更新操作および削除操作がスキップされ、その他の操作のみ実行される。このため、クローラ210による業務でない操作によって業務で利用される登録情報が改変されなくなり、業務に支障をきたすことなく、操作対象の仕様変更やバージョンアップを実際の業務を行う前に検知できるようになる。 According to the example of FIG. 10 and the process shown in FIG. 9, in the process of the crawler 210, among the corresponding operations of each robot 110, the data registration operation, update operation, and deletion operation are skipped, and the other operations are skipped. only executed. For this reason, registration information used for business will not be altered by non-business operations by the crawler 210, and it is possible to detect specification changes and version upgrades of the operation target before actual business is performed without interfering with business. Become.

〔第3の実施の形態〕
次に、第2の実施の形態における処理の一部を変形した第3の実施の形態について説明する。
[Third Embodiment]
Next, a description will be given of a third embodiment in which part of the processing in the second embodiment is modified.

図11は、第3の実施の形態におけるロボットおよびクローラについて示す図である。第3の実施の形態では、第2の実施の形態と同様に、ロボット110に対応するクローラ210が動作する。クローラ210が実行される装置は限定されないが、図11では例として、クローラ実行マシン200でクローラ210が実行されるとする。クローラ210は、ロボット110の操作を網羅的に実行する。 FIG. 11 is a diagram showing the robot and crawlers in the third embodiment. In the third embodiment, the crawler 210 corresponding to the robot 110 operates as in the second embodiment. Although the device on which the crawler 210 is executed is not limited, it is assumed in FIG. 11 that the crawler 210 is executed by the crawler execution machine 200 as an example. The crawler 210 exhaustively executes the operations of the robot 110 .

図11の例では、図5と同様に、ロボット実行マシン100-1でロボット110-1が実行され、ロボット実行マシン100-2でロボット110-2が実行される。そして、クローラ210は、ロボット110-1,110-2の操作を網羅的に実行する。例えば、ロボット110-1は、操作の内容が記述されたスクリプト111-1に基づいて操作を実行し、ロボット110-2は、操作の内容が記述されたスクリプト111-2に基づいて操作を実行するとする。この場合、第2の実施の形態と同様に、スクリプト111-1,111-2に記述された操作が操作画面ごとに分類され、分類された操作の内容がクローラ用スクリプト211に記述される。 In the example of FIG. 11, the robot execution machine 100-1 executes the robot 110-1, and the robot execution machine 100-2 executes the robot 110-2, as in FIG. The crawler 210 comprehensively executes the operations of the robots 110-1 and 110-2. For example, the robot 110-1 executes an operation based on a script 111-1 describing the details of the operation, and the robot 110-2 executes an operation based on a script 111-2 describing the details of the operation. Suppose. In this case, operations described in the scripts 111-1 and 111-2 are classified for each operation screen, and the contents of the classified operations are described in the crawler script 211, as in the second embodiment.

ここで、前述の第2の実施の形態では、クローラ210は、クローラ用スクリプト211に記述された操作のうち、データの登録操作、更新操作および削除操作をスキップすることで、業務に支障をきたすような登録情報の改変が行われないようにした。これに対して第3の実施の形態では、クローラ210は、クローラ用スクリプト211に記述された操作をすべて実行する。その代わり、クローラ210は、クローラ専用のデータを用いて登録操作、更新操作および削除操作を実行する。これにより、業務に支障をきたすような登録情報の改変が行われないようにすることができる。 Here, in the above-described second embodiment, the crawler 210 skips the data registration operation, update operation, and deletion operation among the operations described in the crawler script 211, thereby causing problems in business. It prevents such modification of registration information. On the other hand, in the third embodiment, the crawler 210 executes all operations described in the crawler script 211 . Instead, crawler 210 performs registration, update, and delete operations using crawler-specific data. As a result, it is possible to prevent alteration of the registered information that would hinder business operations.

例えば、ロボット実行マシン100-1の記憶部120には、ロボット110-1がデータの登録や更新の際に利用するデータが保存された登録情報データベース(DB)122-1が記憶される。また、ロボット実行マシン100-2の記憶部120には、ロボット110-2がデータの登録や更新の際に利用するデータが保存された登録情報データベース(DB)122-2が記憶される。一方、クローラ実行マシン200の記憶部220には、クローラ210がデータの登録や更新の際に利用するデータが保存された、クローラ210用の登録情報データベース(DB)222が記憶される。 For example, the storage unit 120 of the robot execution machine 100-1 stores a registration information database (DB) 122-1 that stores data that the robot 110-1 uses when registering or updating data. The storage unit 120 of the robot execution machine 100-2 also stores a registration information database (DB) 122-2 that stores data that the robot 110-2 uses when registering or updating data. On the other hand, the storage unit 220 of the crawler execution machine 200 stores a registration information database (DB) 222 for the crawler 210 that stores data that the crawler 210 uses when registering or updating data.

クローラ用の登録情報データベース222には、例えば、アプリケーションを利用するためのユーザIDおよびパスワードや、WebサーバのサービスにログインするためのユーザIDおよびパスワードとして、ロボット110-1,110-2が利用するデータとは別のデータが登録される。これにより、クローラ210は、ロボット110-1,110-2とは別のユーザとしてアプリケーションやWebサイトを操作する。この場合、クローラ用の登録情報データベース222には、上記のユーザIDおよびパスワード以外のデータについては、ロボット用の登録情報データベース122-1,122-2と同じデータが登録されていてもよい。 The registration information database 222 for the crawler contains, for example, user IDs and passwords for using applications and user IDs and passwords for logging in to Web server services, which are used by the robots 110-1 and 110-2. Data different from the data is registered. Thereby, the crawler 210 operates applications and websites as a user different from the robots 110-1 and 110-2. In this case, data other than the above user ID and password may be registered in the crawler registration information database 222 as in the robot registration information databases 122-1 and 122-2.

このように、クローラ210は、クローラ用の登録情報データベース222に登録されたデータを操作画面の入力欄への入力データとして用いて、ロボット110-1,110-2が実行するすべての操作を実行する。これにより、業務に支障をきたすことなく、操作対象の仕様変更やバージョンアップを実際の業務を行う前に検知できるようになる。 In this way, the crawler 210 uses the data registered in the crawler registration information database 222 as input data in the input fields of the operation screen, and executes all the operations executed by the robots 110-1 and 110-2. do. This makes it possible to detect specification changes and version upgrades of the operation target before the actual work is performed without interfering with the work.

〔第4の実施の形態〕
次に、第2の実施の形態における処理の一部を変形した第4の実施の形態について説明する。第4の実施の形態では、ロボットとそれに対応するクローラの両方を実現するロボットエージェントが、ロボットごとに別々に作成される点が、第2の実施の形態とは異なる。
[Fourth Embodiment]
Next, a fourth embodiment in which part of the processing in the second embodiment is modified will be described. The fourth embodiment differs from the second embodiment in that robot agents that implement both robots and their corresponding crawlers are created separately for each robot.

図12は、第4の実施の形態に係る情報処理システムの各装置が備える処理機能の構成例を示す図である。
ロボット実行マシン100は、図6に示したロボットエージェント130の代わりに、ロボットとクローラの両方を実現するロボットエージェント130aを備える。すなわち、ロボットエージェント130aは、ロボットの処理を実現するロボット実行部131と、クローラの処理を実現するクローラ実行部132とを備える。
FIG. 12 is a diagram illustrating a configuration example of processing functions provided in each device of the information processing system according to the fourth embodiment.
The robot execution machine 100 has a robot agent 130a that implements both a robot and a crawler instead of the robot agent 130 shown in FIG. That is, the robot agent 130a includes a robot execution unit 131 that implements robot processing, and a crawler execution unit 132 that implements crawler processing.

一方、クローラ実行マシン200は、図6に示したクローラエージェント230の代わりに、ロボット実行マシン100と同じロボットエージェント130aを備える。このロボットエージェント130aも、ロボット実行マシン100と同様にロボット実行部131とクローラ実行部132とを備える。 On the other hand, the crawler execution machine 200 has the same robot agent 130a as the robot execution machine 100 instead of the crawler agent 230 shown in FIG. This robot agent 130a also has a robot execution unit 131 and a crawler execution unit 132, like the robot execution machine 100. FIG.

いずれのロボットエージェント130aも、RPA管理サーバ300からの指示に応じて、ロボット実行部131とクローラ実行部132とを選択的に動作させることが可能になっている。クローラが実行される装置は特に限定されるものではないが、本実施の形態では例として、第2の実施の形態と同様に、ロボット実行マシン100でロボットが実行され、クローラ実行マシン200でクローラが実行されるものとする。この場合、RPA管理サーバ300からの指示により、ロボット実行マシン100でロボット実行部131が動作し、クローラ実行マシン200でクローラ実行部132が動作する。 Any robot agent 130 a can selectively operate the robot execution unit 131 and the crawler execution unit 132 according to instructions from the RPA management server 300 . Although the device on which the crawler is executed is not particularly limited, in this embodiment, as an example, the robot is executed by the robot execution machine 100 and the crawler is executed by the crawler execution machine 200 as in the second embodiment. shall be performed. In this case, the robot execution unit 131 operates in the robot execution machine 100 and the crawler execution unit 132 operates in the crawler execution machine 200 according to instructions from the RPA management server 300 .

図13は、第4の実施の形態におけるロボットとクローラとの関係を示す図である。前述のように、本実施の形態では、ロボットとそれに対応するクローラの両方を実現するロボットエージェントが、ロボットごとに別々に作成される。図12に示したようにロボットとクローラとが別の装置で実行される場合、これらのロボットとクローラとを実現する同じロボットエージェントが各装置にインストールされる。さらに、ロボットが複数存在する場合には、各ロボットに対応するロボットエージェントが別々に作成される。 FIG. 13 is a diagram showing the relationship between the robot and crawlers in the fourth embodiment. As described above, in this embodiment, robot agents that implement both the robot and its corresponding crawler are created separately for each robot. If the robot and crawler are run on separate devices as shown in FIG. 12, the same robot agent that implements the robot and crawler is installed on each device. Furthermore, if there are multiple robots, robot agents corresponding to each robot are created separately.

図13の例では、ロボット実行マシン100-1とロボット実行マシン100-2とで、それぞれ別のロボットが実行される。また、ロボット実行マシン100-1上のロボットに対応するクローラと、ロボット実行マシン100-2上のロボットに対応するクローラの両方が、同一のクローラ実行マシン200で実行される。この場合、ロボット実行マシン100-1が備えるロボットエージェント130a-1と、ロボット実行マシン100-2が備えるロボットエージェント130a-2の両方が、クローラ実行マシン200にも備えられる。 In the example of FIG. 13, different robots are executed by the robot execution machine 100-1 and the robot execution machine 100-2. Both the crawler corresponding to the robot on the robot execution machine 100-1 and the crawler corresponding to the robot on the robot execution machine 100-2 are executed by the same crawler execution machine 200. FIG. In this case, the crawler execution machine 200 is also provided with both the robot agent 130a-1 provided in the robot execution machine 100-1 and the robot agent 130a-2 provided in the robot execution machine 100-2.

ここで、各ロボットエージェントは、RPA管理サーバ300からの指示に応じて、ロボットとクローラとを選択的に実行することが可能になっている。本実施の形態では、例として、ロボットエージェントはRPA管理サーバから指定される実行引数の値に応じて、ロボットとクローラのいずれかを選択的に実行する。以下、実行引数=1の場合にロボットが実行され、実行引数=0の場合にクローラが実行されるとする。 Here, each robot agent can selectively execute robots and crawlers according to instructions from the RPA management server 300 . In this embodiment, as an example, the robot agent selectively executes either the robot or the crawler according to the value of the execution argument specified by the RPA management server. Hereinafter, it is assumed that the robot is executed when the execution argument is 1, and the crawler is executed when the execution argument is 0.

図13において、ロボットエージェント130a-1は、ロボット実行部131-1とクローラ実行部132-1を備えている。ロボット実行マシン100-1のロボットエージェント130a-1に対しては、RPA管理サーバ300から実行引数=1が指定される。これにより、ロボット実行マシン100-1ではロボット実行部131-1が起動してロボットが動作する。一方、クローラ実行マシン200のロボットエージェント130a-1に対しては、RPA管理サーバ300から実行引数=0が指定される。これにより、クローラ実行マシン200ではクローラ実行部132-1が起動してクローラが動作する。 In FIG. 13, the robot agent 130a-1 has a robot execution unit 131-1 and a crawler execution unit 132-1. Execution argument=1 is specified from the RPA management server 300 to the robot agent 130a-1 of the robot execution machine 100-1. As a result, the robot execution unit 131-1 is activated in the robot execution machine 100-1 to operate the robot. On the other hand, for the robot agent 130a-1 of the crawler execution machine 200, the RPA management server 300 specifies execution argument=0. As a result, in the crawler execution machine 200, the crawler execution unit 132-1 is activated and the crawler operates.

ロボット実行マシン100-1のロボット実行部131-1は、例えば、操作の内容が記述されたスクリプト111-1に基づいて、操作を自動実行する。また、同じスクリプト111-1はクローラ実行マシン200にも記憶され、クローラ実行マシン200のクローラ実行部132-1は、このスクリプト111-1に基づいて操作を自動実行する。ただし、第2の実施の形態と同様に、クローラ実行部132-1は、ロボットの操作のうち、データの登録、更新、削除の操作をスキップする。 The robot execution unit 131-1 of the robot execution machine 100-1 automatically executes an operation based on, for example, a script 111-1 describing the content of the operation. The same script 111-1 is also stored in the crawler execution machine 200, and the crawler execution unit 132-1 of the crawler execution machine 200 automatically executes operations based on this script 111-1. However, as in the second embodiment, the crawler execution unit 132-1 skips data registration, update, and deletion operations among robot operations.

同様に、ロボットエージェント130a-2は、ロボット実行部131-2とクローラ実行部132-2を備えている。ロボット実行マシン100-2のロボットエージェント130a-2に対しては、RPA管理サーバ300から実行引数=1が指定される。これにより、ロボット実行マシン100-2ではロボット実行部131-2が起動してロボットが動作する。一方、クローラ実行マシン200のロボットエージェント130a-2に対しては、RPA管理サーバ300から実行引数=0が指定される。これにより、クローラ実行マシン200ではクローラ実行部132-2が起動してクローラが動作する。 Similarly, the robot agent 130a-2 comprises a robot execution unit 131-2 and a crawler execution unit 132-2. Execution argument=1 is specified from the RPA management server 300 to the robot agent 130a-2 of the robot execution machine 100-2. As a result, the robot execution unit 131-2 is activated in the robot execution machine 100-2 to operate the robot. On the other hand, for the robot agent 130a-2 of the crawler execution machine 200, the RPA management server 300 specifies execution argument=0. As a result, in the crawler execution machine 200, the crawler execution unit 132-2 is activated and the crawler operates.

ロボット実行マシン100-2のロボット実行部131-2は、例えば、操作の内容が記述されたスクリプト111-2に基づいて、操作を自動実行する。また、同じスクリプト111-2はクローラ実行マシン200にも記憶され、クローラ実行マシン200のクローラ実行部132-2は、このスクリプト111-2に基づいて操作を自動実行する。ただし、第2の実施の形態と同様に、クローラ実行部132-2は、ロボットの操作のうち、データの登録、更新、削除の操作をスキップする。 The robot execution unit 131-2 of the robot execution machine 100-2 automatically executes an operation based on, for example, a script 111-2 describing the content of the operation. The same script 111-2 is also stored in the crawler execution machine 200, and the crawler execution unit 132-2 of the crawler execution machine 200 automatically executes operations based on this script 111-2. However, as in the second embodiment, the crawler execution unit 132-2 skips data registration, update, and deletion operations among robot operations.

このように、本実施の形態では、ロボットが複数台稼働している場合でも、ロボットとクローラとが一対一で対応している。このため、クローラの実行によってエラー情報が収集されてRPA管理サーバ300に送信され、さらに運用管理者に送信された場合に、運用管理者は、エラー情報をクローラに対応するロボットごとに分類して認識できる。したがって、運用管理者は、エラー情報に基づき、実行エラーが発生した操作がどのロボットに対応する操作を容易かつ明確に認識することができる。 As described above, in this embodiment, even when a plurality of robots are in operation, the robots and the crawlers are in one-to-one correspondence. Therefore, when error information is collected by the execution of the crawler, transmitted to the RPA management server 300, and further transmitted to the operations manager, the operations manager classifies the error information for each robot corresponding to the crawler. recognizable. Therefore, based on the error information, the operation manager can easily and clearly recognize which robot the operation in which the execution error occurred corresponds to.

図14は、ロボットおよびクローラのプログラム作成について示す図である。ここでは例として、開発者が操作する開発者端末600において、ロボットおよびクローラを実現するロボットエージェントプログラム133が作成されるものとする。このロボットエージェントプログラム133には、例えば、操作の内容を記述したスクリプトが含まれる。 FIG. 14 is a diagram showing programming of robots and crawlers. Here, as an example, it is assumed that a robot agent program 133 that implements a robot and a crawler is created in developer terminal 600 operated by the developer. This robot agent program 133 includes, for example, a script describing the contents of the operation.

開発者端末600は、ロボットエージェントプログラム133を作成するロボット作成部601を備える。ロボット作成部601の処理は、例えば、開発者端末600が備える図示しないプロセッサが所定のプログラムを実行することで実現される。 The developer terminal 600 has a robot creation unit 601 that creates the robot agent program 133 . The processing of the robot creating unit 601 is implemented by, for example, a processor (not shown) included in the developer terminal 600 executing a predetermined program.

ロボット作成部601は、開発者の操作に応じてロボットの操作を実現するプログラムが作成されると、自動的にそのロボットに対応するクローラの操作を実現するプログラムも作成する。例えば、本実施の形態では、ロボットの処理をラップしてクローラの処理を自動作成するフレームワーク(クローラフレームワーク602)が参照される。 When a program for operating the robot is created according to the developer's operation, the robot creation unit 601 automatically creates a program for operating the crawler corresponding to the robot. For example, in the present embodiment, reference is made to a framework (crawler framework 602) that automatically creates crawler processing by wrapping robot processing.

クローラフレームワーク602は、RPAロボットを開発する開発環境に適用するリソースファイルである。例えば、クローラフレームワーク602は、プラカブルなライブラリ、あるいはロボットのソースファイルの外枠として実現される。ロボット作成部601は、開発者の操作に応じて、このようなクローラフレームワーク602を利用してロボットのプログラム(ロボット実行部を実現するプログラム)を作成すると、対応するクローラのプログラム(クローラ実行部を実現するプログラム)を自動作成する。 The crawler framework 602 is a resource file applied to a development environment for developing RPA robots. For example, the crawler framework 602 may be implemented as a pluggable library or shell of a robot source file. When the robot creation unit 601 creates a robot program (a program that realizes a robot execution unit) using the crawler framework 602 according to the developer's operation, the corresponding crawler program (crawler execution unit automatically create a program that realizes

なお、図13、図14では、ロボットエージェント130に含まれるロボットとクローラの各処理機能を、理解しやすいようにロボット実行部131とクローラ実行部132とに分けて示している。しかし、上記のクローラフレームワーク602を利用してロボットエージェント130を実現するプログラム(ロボットエージェントプログラム133)が作成された場合、実際には例えば、ロボットの処理の内部にクローラの処理が含まれる形態となる。一例としては、ロボットの処理を実現するプログラムのコード内に、実行引数=0の場合にのみ実行されるクローラ用コードが付加される。このようなクローラ用コードとしては、例えば、実行する操作がデータの登録、更新、削除の操作のいずれかである場合に操作をスキップするためのコードや、操作の実行エラーが発生したときにエラー情報を収集するためのコード、操作全体の終了時に収集されたエラー情報をRPA管理サーバ300に送信するためのコードが含まれる。 13 and 14, each processing function of the robot and the crawler included in the robot agent 130 is divided into a robot execution unit 131 and a crawler execution unit 132 for easy understanding. However, if a program (robot agent program 133) that implements the robot agent 130 is created using the crawler framework 602, the crawler processing is actually included in the robot processing. Become. As an example, a crawler code that is executed only when the execution argument=0 is added to the code of the program that implements the processing of the robot. Examples of such crawler code include code for skipping operations when the operation to be executed is one of registration, update, or deletion of data, or code for skipping an operation when an operation execution error occurs. It contains code for collecting information, and code for sending collected error information to the RPA management server 300 at the end of the entire operation.

以上のように、クローラフレームワーク602を利用することで、ロボットのプログラム作成時に対応するクローラのプログラムを自動的に作成できる。このため、ロボットエージェント130の開発者の手間を小さくすることができ、その開発効率を高め、開発コストを低減できる。 As described above, by using the crawler framework 602, it is possible to automatically create a corresponding crawler program when creating a robot program. Therefore, it is possible to reduce the labor of the developer of the robot agent 130, improve the development efficiency, and reduce the development cost.

図15は、第4の実施の形態においてクローラが実行される場合の処理手順の例を示すシーケンス図である。図15では、図9と同様の処理には同じステップ番号を付して示している。図15に示すように、本実施の形態においてクローラが実行される場合には、図9におけるステップS13,S14の代わりにステップS13a,ステップS14aがそれぞれ実行される。 FIG. 15 is a sequence diagram illustrating an example of a processing procedure when a crawler is executed in the fourth embodiment; In FIG. 15, the same step numbers are assigned to the same processes as in FIG. As shown in FIG. 15, when the crawler is executed in this embodiment, steps S13a and S14a are executed instead of steps S13 and S14 in FIG.

[ステップS13a]RPA管理サーバ300のクローラ実行管理部322は、クローラの実行時刻になると(ステップS12:Yes)、クローラ実行マシン200に対して、実行引数=0を指定してRPAロボットの実行指示を送信する。 [Step S13a] When the crawler execution time comes (Step S12: Yes), the crawler execution management unit 322 of the RPA management server 300 instructs the crawler execution machine 200 to execute the RPA robot by specifying the execution argument=0. to send.

[ステップS14a]クローラ実行マシン200のロボットエージェント130aは、指定された実行引数=0に基づき、クローラ実行部132を起動する。これにより、クローラによる操作の自動実行が開始される。 [Step S14a] The robot agent 130a of the crawler execution machine 200 activates the crawler execution unit 132 based on the designated execution argument=0. This starts the automatic execution of the operation by the crawler.

これ以後のステップS15~S21の処理は、クローラ実行部132によって実行される。
〔第5の実施の形態〕
次に、第4の実施の形態における処理の一部を変形した第5の実施の形態について説明する。
The processing of steps S15 to S21 after this is executed by the crawler execution unit 132. FIG.
[Fifth Embodiment]
Next, a description will be given of a fifth embodiment in which part of the processing in the fourth embodiment is modified.

図16は、第5の実施の形態におけるロボットエージェントについて示す図である。第5の実施の形態では、第4の実施の形態と同様に、ロボットとそれに対応するクローラの両方を実現するロボットエージェントが、ロボットごとに別々に作成される。図16では、図13と同様に、ロボット実行マシン100-1,100-2でそれぞれ別のロボットが実行される。また、各ロボットに対応するクローラがクローラ実行マシン200で実行される。 FIG. 16 is a diagram showing a robot agent according to the fifth embodiment. In the fifth embodiment, as in the fourth embodiment, robot agents that implement both the robot and its corresponding crawler are created separately for each robot. In FIG. 16, as in FIG. 13, different robots are executed by robot execution machines 100-1 and 100-2. Also, a crawler corresponding to each robot is executed by the crawler execution machine 200 .

この場合、ロボット実行マシン100-1は、ロボットとクローラとを実現するロボットエージェント130a-1を備え、クローラ実行マシン200も、これと同様のロボットエージェント130a-1を備える。また、ロボット実行マシン100-2は、ロボットとクローラとを実現するロボットエージェント130a-2を備え、クローラ実行マシン200も、これと同様のロボットエージェント130a-2を備える。 In this case, the robot execution machine 100-1 has a robot agent 130a-1 that realizes a robot and a crawler, and the crawler execution machine 200 also has a similar robot agent 130a-1. The robot execution machine 100-2 also has a robot agent 130a-2 that implements a robot and a crawler, and the crawler execution machine 200 also has a similar robot agent 130a-2.

図13と同様に、ロボットエージェント130a-1は、ロボット実行部131-1とクローラ実行部132-1を備えている。ロボット実行マシン100-1のロボットエージェント130a-1に対しては、RPA管理サーバ300から実行引数=1が指定される。これにより、ロボット実行マシン100-1ではロボット実行部131-1が起動してロボットが動作する。一方、クローラ実行マシン200のロボットエージェント130a-1に対しては、RPA管理サーバ300から実行引数=0が指定される。これにより、クローラ実行マシン200ではクローラ実行部132-1が起動してクローラが動作する。 As in FIG. 13, the robot agent 130a-1 has a robot execution unit 131-1 and a crawler execution unit 132-1. Execution argument=1 is specified from the RPA management server 300 to the robot agent 130a-1 of the robot execution machine 100-1. As a result, the robot execution unit 131-1 is activated in the robot execution machine 100-1 to operate the robot. On the other hand, for the robot agent 130a-1 of the crawler execution machine 200, the RPA management server 300 specifies execution argument=0. As a result, in the crawler execution machine 200, the crawler execution unit 132-1 is activated and the crawler operates.

同様に、ロボットエージェント130a-2は、ロボット実行部131-2とクローラ実行部132-2を備えている。ロボット実行マシン100-2のロボットエージェント130a-2に対しては、RPA管理サーバ300から実行引数=1が指定される。これにより、ロボット実行マシン100-2ではロボット実行部131-2が起動してロボットが動作する。一方、クローラ実行マシン200のロボットエージェント130a-2に対しては、RPA管理サーバ300から実行引数=0が指定される。これにより、クローラ実行マシン200ではクローラ実行部132-2が起動してクローラが動作する。 Similarly, the robot agent 130a-2 comprises a robot execution unit 131-2 and a crawler execution unit 132-2. Execution argument=1 is specified from the RPA management server 300 to the robot agent 130a-2 of the robot execution machine 100-2. As a result, the robot execution unit 131-2 is activated in the robot execution machine 100-2 to operate the robot. On the other hand, for the robot agent 130a-2 of the crawler execution machine 200, the RPA management server 300 specifies execution argument=0. As a result, in the crawler execution machine 200, the crawler execution unit 132-2 is activated and the crawler operates.

ここで、前述の第4の実施の形態では、クローラは、対応するロボットのスクリプトに記述された操作のうち、データの登録操作、更新操作および削除操作をスキップすることで、業務に支障をきたすような登録情報の改変が行われないようにした。これに対して第5の実施の形態では、クローラは、対応するロボットのスクリプトに記述された操作をすべて実行する。その代わり、クローラは、クローラ専用のデータを用いて登録操作、更新操作および削除操作を実行する。これにより、業務に支障をきたすような登録情報の改変が行われないようにすることができる。 Here, in the above-described fourth embodiment, the crawler skips the data registration operation, update operation, and deletion operation among the operations described in the script of the corresponding robot, thereby causing trouble in the business. It prevents such modification of registration information. On the other hand, in the fifth embodiment, the crawler executes all the operations described in the script of the corresponding robot. Instead, the crawler performs registration, update, and delete operations using crawler-specific data. As a result, it is possible to prevent alteration of the registered information that would hinder business operations.

例えば、ロボット実行マシン100-1の記憶部120およびクローラ実行マシン200の記憶部220には、ロボット実行部131-1がデータの登録や更新の際に利用するデータが保存された登録情報データベース(DB)122a-1と、クローラ実行部132-1がデータの登録や更新の際に利用するデータが保存された、クローラ用の登録情報データベース(DB)222a-1とが記憶される。クローラ用の登録情報データベース222a-1には、例えば、アプリケーションを利用するためのユーザIDおよびパスワードや、WebサーバのサービスにログインするためのユーザIDおよびパスワードとして、ロボット実行部131-1が利用するデータとは別のデータが登録される。これにより、クローラ実行部132-1は、ロボット実行部131-1とは別のユーザとしてアプリケーションやWebサイトを操作する。この場合、クローラ用の登録情報データベース222a-1には、上記のユーザIDおよびパスワード以外のデータについては、ロボット用の登録情報データベース122a-1と同じデータが登録されていてもよい。 For example, in the storage unit 120 of the robot execution machine 100-1 and the storage unit 220 of the crawler execution machine 200, a registration information database ( and a crawler registration information database (DB) 222a-1 in which data used by the crawler execution unit 132-1 when registering or updating data is stored. The registration information database 222a-1 for the crawler contains, for example, a user ID and password for using an application, and a user ID and password for logging in to a Web server service, which the robot execution unit 131-1 uses. Data different from the data is registered. As a result, the crawler execution unit 132-1 operates applications and websites as a user different from the robot execution unit 131-1. In this case, the crawler registration information database 222a-1 may contain the same data as the robot registration information database 122a-1 except for the above user ID and password.

RPA管理サーバ300から実行引数=1が指定されてRPAロボットの実行が指示されたとき、ロボットエージェント130a-1はロボット実行部131-1を起動する。ロボット実行部131-1は、ロボット用の登録情報データベース122a-1を参照しながら操作の自動実行を行う。図16の例では、このような処理がロボット実行マシン100-1で実行される。一方、RPA管理サーバ300から実行引数=0が指定されてRPAロボットの実行が指示されたとき、ロボットエージェント130a-1はクローラ実行部132-1を起動する。クローラ実行部132-1は、クローラ用の登録情報データベース222a-1を参照しながら操作の自動実行を行う。図16の例では、このような処理がクローラ実行マシン200で実行される。 When the RPA management server 300 designates the execution argument=1 and instructs the execution of the RPA robot, the robot agent 130a-1 activates the robot execution unit 131-1. The robot execution unit 131-1 automatically executes an operation while referring to the robot registration information database 122a-1. In the example of FIG. 16, such processing is executed by the robot execution machine 100-1. On the other hand, when the RPA management server 300 designates the execution argument=0 and instructs the execution of the RPA robot, the robot agent 130a-1 activates the crawler execution unit 132-1. The crawler execution unit 132-1 automatically executes operations while referring to the crawler registration information database 222a-1. In the example of FIG. 16, such processing is executed by the crawler execution machine 200. FIG.

同様に、ロボット実行マシン100-2の記憶部120およびクローラ実行マシン200の記憶部220には、ロボット実行部131-2がデータの登録や更新の際に利用するデータが保存された登録情報データベース(DB)122a-2と、クローラ実行部132-2がデータの登録や更新の際に利用するデータが保存された、クローラ用の登録情報データベース(DB)222a-2とが記憶される。 Similarly, the storage unit 120 of the robot execution machine 100-2 and the storage unit 220 of the crawler execution machine 200 have a registration information database in which data used by the robot execution unit 131-2 when registering or updating data is stored. (DB) 122a-2, and a crawler registration information database (DB) 222a-2 in which data used by the crawler execution unit 132-2 when registering or updating data is stored.

RPA管理サーバ300から実行引数=1が指定されてRPAロボットの実行が指示されたとき、ロボットエージェント130a-2はロボット実行部131-2を起動する。ロボット実行部131-2は、ロボット用の登録情報データベース122a-2を参照しながら操作の自動実行を行う。図16の例では、このような処理がロボット実行マシン100-2で実行される。一方、RPA管理サーバ300から実行引数=0が指定されてRPAロボットの実行が指示されたとき、ロボットエージェント130a-2はクローラ実行部132-2を起動する。クローラ実行部132-2は、クローラ用の登録情報データベース222a-2を参照しながら操作の自動実行を行う。図16の例では、このような処理がクローラ実行マシン200で実行される。 When the RPA management server 300 designates the execution argument=1 and instructs the execution of the RPA robot, the robot agent 130a-2 activates the robot execution part 131-2. The robot execution unit 131-2 automatically executes operations while referring to the robot registration information database 122a-2. In the example of FIG. 16, such processing is executed by the robot execution machine 100-2. On the other hand, when the RPA management server 300 designates the execution argument=0 and instructs the execution of the RPA robot, the robot agent 130a-2 activates the crawler execution unit 132-2. The crawler execution unit 132-2 automatically executes operations while referring to the crawler registration information database 222a-2. In the example of FIG. 16, such processing is executed by the crawler execution machine 200. FIG.

このように、クローラは、クローラ用の登録情報データベースに登録されたデータを操作画面の入力欄への入力データとして用いて、対応するロボットが実行するすべての操作を実行する。これにより、業務に支障をきたすことなく、操作対象の仕様変更やバージョンアップを実際の業務を行う前に検知できるようになる。 Thus, the crawler uses the data registered in the registration information database for the crawler as input data to the input fields of the operation screen, and executes all the operations that the corresponding robot executes. This makes it possible to detect specification changes and version upgrades of the operation target before the actual work is performed without interfering with the work.

なお、第5の実施の形態でも、ロボットエージェントプログラムの作成時においては、図14に示したクローラフレームワーク602を用いることで、ロボットのプログラムを作成した時点で、対応するクローラのプログラムを自動的に作成することができる。 Also in the fifth embodiment, when creating a robot agent program, by using the crawler framework 602 shown in FIG. can be created in

なお、上記の各実施の形態に示した装置(例えば、情報処理装置1,2、管理装置3、ロボット実行マシン100、クローラ実行マシン200、RPA管理サーバ300、外部サーバ410、運用者端末420、開発者端末600)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。 Note that the devices shown in the above embodiments (for example, the information processing devices 1 and 2, the management device 3, the robot execution machine 100, the crawler execution machine 200, the RPA management server 300, the external server 410, the operator terminal 420, The processing functions of the developer terminal 600) can be implemented by a computer. In that case, a program describing the processing contents of the functions that each device should have is provided, and the above processing functions are realized on the computer by executing the program on the computer. A program describing the processing content can be recorded in a computer-readable recording medium. Computer-readable recording media include magnetic storage devices, optical disks, semiconductor memories, and the like. Magnetic storage devices include hard disk drives (HDD) and magnetic tapes. Optical discs include CDs (Compact Discs), DVDs (Digital Versatile Discs), Blu-ray Discs (BD, registered trademark), and the like.

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。 When distributing a program, for example, portable recording media such as DVDs and CDs on which the program is recorded are sold. It is also possible to store the program in the storage device of the server computer and transfer the program from the server computer to another computer via the network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。 A computer that executes a program stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. The computer then reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Also, the computer can execute processing according to the received program every time the program is transferred from a server computer connected via a network.

1,2 情報処理装置
3 管理装置
4 操作対象
11,21 RPAロボット
20 処理部
S1,S2 ステップ
1, 2 information processing device 3 management device 4 operation target 11, 21 RPA robot 20 processing unit S1, S2 step

Claims (8)

コンピュータに、
RPA(Robotic Process Automation)ロボットが操作対象に対して実行する操作の少なくとも一部を実行する操作処理を、前記RPAロボットが実行されない時間帯に実行し、
前記操作処理において、前記操作対象に対する操作の実行エラーが発生した場合に、前記実行エラーの内容を示すエラー情報を収集し、
収集された前記エラー情報を所定の送信先装置に送信する、
処理を実行させる情報処理プログラム。
to the computer,
an RPA (Robotic Process Automation) robot performing an operation process for performing at least a part of an operation performed on an operation target during a time period when the RPA robot is not performed;
collecting error information indicating details of the execution error when an execution error occurs in the operation target in the operation processing;
transmitting the collected error information to a predetermined destination device;
An information processing program that causes a process to be executed.
前記操作処理では、前記RPAロボットによる前記操作対象への操作のうち、データの登録、データの更新、データの削除の各操作の実行をスキップする、
請求項1記載の情報処理プログラム。
In the operation processing, among the operations performed by the RPA robot on the operation target, execution of each operation of data registration, data update, and data deletion is skipped.
The information processing program according to claim 1.
前記操作処理では、前記RPAロボットの実行時において前記操作対象に入力するために利用される入力データとは別の入力データを用いて、前記RPAロボットによるすべての操作を実行する、
請求項1記載の情報処理プログラム。
In the operation process, all operations by the RPA robot are executed using input data different from input data used for inputting to the operation target when the RPA robot is executed.
The information processing program according to claim 1.
前記操作処理、前記エラー情報の収集および送信の各処理は、前記RPAロボットに対応付けられた他のRPAロボットの処理として実行される、
請求項1乃至3のいずれか1項に記載の情報処理プログラム。
Each of the operation processing and the error information collection and transmission processing is executed as processing of another RPA robot associated with the RPA robot,
The information processing program according to any one of claims 1 to 3.
前記情報処理プログラムは、
前記RPAロボットの処理と、前記他のRPAロボットの処理とを、入力される実行指示情報に応じて前記コンピュータに選択的に実行させる、
請求項4記載の情報処理プログラム。
The information processing program is
causing the computer to selectively execute the processing of the RPA robot and the processing of the other RPA robot in accordance with input execution instruction information;
The information processing program according to claim 4.
前記他のRPAロボットの処理手順を示すプログラムコードは、前記RPAロボットの処理手順を示すプログラムコードが作成されたときに、所定のフレームワークを用いて自動的に作成される、
請求項4または5記載の情報処理プログラム。
The program code indicating the processing procedure of the other RPA robot is automatically created using a predetermined framework when the program code indicating the processing procedure of the RPA robot is created.
6. The information processing program according to claim 4 or 5.
コンピュータが、
RPAロボットが操作対象に対して実行する操作の少なくとも一部を実行する操作処理を、前記RPAロボットが実行されない時間帯に実行し、
前記操作処理において、前記操作対象に対する操作の実行エラーが発生した場合に、前記実行エラーの内容を示すエラー情報を収集し、
収集された前記エラー情報を所定の送信先装置に送信する、
処理を実行する情報処理方法。
the computer
performing an operation process for performing at least part of an operation performed by an RPA robot on an operation target during a time period when the RPA robot is not performed;
collecting error information indicating details of the execution error when an execution error occurs in the operation target in the operation processing;
transmitting the collected error information to a predetermined destination device;
An information processing method that performs processing.
RPAロボットが操作対象に対して実行する操作の少なくとも一部を実行する操作処理を、前記RPAロボットが実行されない時間帯に実行し、
前記操作処理において、前記操作対象に対する操作の実行エラーが発生した場合に、前記実行エラーの内容を示すエラー情報を収集し、
収集された前記エラー情報を所定の送信先装置に送信する、処理部、
を有する情報処理装置。
performing an operation process for performing at least part of an operation performed by an RPA robot on an operation target during a time period when the RPA robot is not performed;
collecting error information indicating details of the execution error when an execution error occurs in the operation target in the operation processing;
a processing unit that transmits the collected error information to a predetermined destination device;
Information processing device having
JP2021131147A 2021-08-11 2021-08-11 Information processing program, information processing method, and information processing device Pending JP2023025792A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021131147A JP2023025792A (en) 2021-08-11 2021-08-11 Information processing program, information processing method, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021131147A JP2023025792A (en) 2021-08-11 2021-08-11 Information processing program, information processing method, and information processing device

Publications (1)

Publication Number Publication Date
JP2023025792A true JP2023025792A (en) 2023-02-24

Family

ID=85252333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021131147A Pending JP2023025792A (en) 2021-08-11 2021-08-11 Information processing program, information processing method, and information processing device

Country Status (1)

Country Link
JP (1) JP2023025792A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025057333A1 (en) * 2023-09-13 2025-03-20 日本電信電話株式会社 Operation target modification system and operation target modification method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025057333A1 (en) * 2023-09-13 2025-03-20 日本電信電話株式会社 Operation target modification system and operation target modification method

Similar Documents

Publication Publication Date Title
US11068323B2 (en) Automatic registration of empty pointers
EP3769223B1 (en) Unified test automation system
US7421683B2 (en) Method for the use of information in an auxiliary data system in relation to automated testing of graphical user interface based applications
US8645326B2 (en) System to plan, execute, store and query automation tests
Dunn Software defect removal
RU2550520C1 (en) Securing opportunities of configured technological process
US8898178B2 (en) Solution monitoring system
US9268672B1 (en) Automated test case generation for applications
US11042425B2 (en) Creating and using a bridge for obtaining and displaying process cloud services (PCS) analytics data outside of the PCS
JP2019520649A (en) Process visualization platform
US20110055714A1 (en) Managing virtual machines
US20120144374A1 (en) Capturing Replayable Information at Software Defect Locations in a Multi-Tenant Environment
CN102227716A (en) Action verification device, action verification method, and action verification system
US8671122B2 (en) Automatic reconciliation of discrepancies in asset attribute values
JP7299499B2 (en) Information processing program, information processing method, and information processing apparatus
JP7162484B2 (en) Help information display system, help information display device, help information display method, and help information display program
CN115210661A (en) Enterprise flow diagram for representing RPA data
JP2023025792A (en) Information processing program, information processing method, and information processing device
JP2014182646A (en) Apparatus for monitoring execution of software, method and program
JP2024538886A (en) Mapping interactive UI elements to the RPA object repository for RPA development
JP4681673B1 (en) Operation verification apparatus, operation verification method, and operation verification program
US20060026227A1 (en) Agent administration console software for servicing failed requests
JP7359544B2 (en) Automatic work instruction system, method and program
JP2019128688A (en) Operation management system
JP6019818B2 (en) Management device, management program, management method