RPA management device, RPA management method, and RPA management program
By introducing execution status tables and stream execution units into the RPA management device, the RPA process is instantly stopped and restored, and the problem of difficulty in recovering after the RPA process is forced to stop in the prior art is solved, which improves operational efficiency and reduces recovery costs.
Patent Information
- Application Number
- JP2025017550
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2041-08-31
AI Technical Summary
The existing RPA management technology restores operations when the RPA process is forced to stop.
An RPA management device and method are designed to realize instant stop and recovery of RPA processes by introducing execution status tables and stream execution units into the RPA management device. When an instant stop instruction is received, the device updates the execution status table and executes a predetermined instant stop process to ensure the stability of the process.
It realizes stable and instant stop and recovery of RPA processes, reduces server load and operation failure caused by RPA execution, improves operation efficiency, and reduces unnecessary recovery costs.
Smart Images

Figure 2025069388000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an RPA management device, an RPA management method, and an RPA management program. [Background technology]
[0002] Patent Document 1 discloses a configuration for monitoring the execution status of a script executed by RPA (Robotic Process Automation) and collecting and presenting errors from the start to the end of the script. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-56763 Summary of the Invention [Problem to be solved by the invention]
[0004] However, the invention described in Patent Document 1 above has a problem in that if the RPA is immediately stopped (forced to terminate) while the RPA is executing a script, recovery work after the stop becomes difficult.
[0005] The present invention has been made in consideration of the above-mentioned problems, and aims to provide an RPA management device, an RPA management method, and an RPA management program that enable an RPA flow to be stopped immediately after it has started, with easy recovery, in response to an immediate stop instruction from a user. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems and achieve the object, the RPA management device of the present invention is an RPA management device having a memory unit and a control unit, the memory unit having a definition master in which a flow definition of an RPA flow executed by an RPA is set, and an execution status table in which an execution status of the RPA flow is set, the control unit having an RPA robot that executes an application to be operated, a flow execution unit that executes each task defined in the RPA flow including startup control of the RPA robot and updates the execution status table, an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow, and an execution status monitor that displays the execution status, wherein the execution status monitor updates the execution status set in the execution status table to "immediately stopped" when a user inputs an instruction to immediately stop the RPA flow, and when the agent detects that the execution status is "immediately stopped," it force-terminates the process by the RPA robot, and when the flow execution unit detects that the execution status is "immediately stopped," it executes a predetermined immediate stop process.
[0007] In addition, in the RPA management device according to the present invention, when the flow execution unit detects that the RPA flow includes a try-catch exception handling and that the execution status is in the immediate stop state during execution of the processing in the try block, the flow execution unit executes a flow end processing of the RPA flow after execution of the processing in the catch block.
[0008] In addition, in the RPA management device according to the present invention, when the flow execution unit detects that the RPA flow includes a plurality of exception handlings of the try-catch and that the execution status is the immediate stop during execution of the processing in the try block, it identifies a hierarchical relationship of the exception handlings of the try-catch including the processing in the try block, and executes a flow termination processing of the RPA flow after executing the processing in the catch block in order from the exception handling of the try-catch at the lowest level in the hierarchical relationship to the exception handling of the try-catch at the highest level.
[0009] In addition, in the RPA management device of the present invention, the flow execution unit is characterized in that when it detects that the RPA flow does not include try-catch exception handling and that the execution status is in the immediate stop state, it executes flow termination processing of the RPA flow.
[0010] Furthermore, in the RPA management device of the present invention, when the user inputs a safety stop instruction for the RPA flow, the execution status monitor updates the execution status set in the execution status table to During safety stop, and when the flow execution unit detects that the execution status is During safety stop, it ends the loop processing at the start timing of the loop processing included in the RPA flow and executes flow end processing of the RPA flow.
[0011] In addition, in the RPA management device of the present invention, the memory unit further includes a flow security master in which the user has set immediate stop authority for the RPA flow, and the execution status monitor updates the execution status set in the execution status table to during immediate stop when the user inputs an immediate stop instruction for the RPA flow and the immediate stop authority for the user is set in the flow security master.
[0012] In addition, in the RPA management device of the present invention, the memory unit further includes a flow security master in which the user has set safety stop authority for the RPA flow, and the execution status monitor is characterized in that when the user inputs a safety stop instruction for the RPA flow and the safety stop authority of the user is set in the flow security master, it updates the execution status set in the execution status table during the safety stop.
[0013] In addition, in the RPA management device of the present invention, the memory unit further includes a flow security master in which execution authority for the RPA flow is set by the user, and the control unit further includes an execution instruction means for displaying an execution instruction screen and, when an execution instruction for the RPA flow is input by the user and the execution authority of the user is set in the flow security master, updating the execution status set in the execution status table to waiting for execution, and the agent checks the execution status of the RPA flow set in the execution status table, and when it detects that the execution status is waiting for execution, controls the execution of the start of the RPA flow.
[0014] In addition, in the RPA management device of the present invention, the memory unit further includes a user group management master in which an administrator flag is set to indicate that the user is an administrator, and the control unit further includes a master setting means for setting, based on the user group management master, the immediate stop authority of the user for the RPA flow, which is an input system flow, in the flow security master when the user is the administrator.
[0015] Further, the RPA management method according to the present invention is an RPA management method for having an RPA management device having a memory unit and a control unit execute the RPA flow, the memory unit includes a definition master in which a flow definition of an RPA flow executed by an RPA is set, and an execution status table in which an execution status of the RPA flow is set. The control unit includes an RPA robot that executes an application to be operated, a flow execution unit that executes each task defined in the RPA flow including startup control of the RPA robot and updates the execution status table, an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow, and an execution status monitor that displays the execution status. The method includes the steps of: executing the RPA flow by the execution status monitor; updating the execution status set in the execution status table to "immediately stopped" when an instruction to immediately stop the RPA flow is input by a user; executing the RPA flow by the agent; and, if it is detected that the execution status is "immediately stopped," forcibly terminating the process by the RPA robot; and, if it is detected that the execution status is "immediately stopped," executing the RPA flow by the flow execution unit;
[0016] Further, an RPA management program according to the present invention is an RPA management program to be executed by an RPA management device having a memory unit and a control unit, the memory unit comprising: a definition master in which a flow definition of an RPA flow to be executed by an RPA is set; and an execution status table in which an execution status of the RPA flow is set. The control unit comprises: an RPA robot that executes an application to be operated; a flow execution unit that executes each task defined in the RPA flow including startup control of the RPA robot and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; and an execution status monitor that displays the execution status. The program is characterized in that the program is executed by the execution status monitor, and when a user inputs an instruction to immediately stop the RPA flow, the program executes: updating the execution status set in the execution status table to "immediately stopped"; executing by the agent; and when it is detected that the execution status is "immediately stopped," forcibly terminating the process by the RPA robot; and executing by the flow execution unit, and when it is detected that the execution status is "immediately stopped," executing a predetermined immediate stop process. Effect of the Invention
[0017] According to the present invention, it is possible to take measures against the server load caused by RPA execution and the runaway of RPA. Also, according to the present invention, it is possible to immediately and stably stop an RPA flow that is executed by mistake, thereby making the business more efficient. Also, according to the present invention, it is possible to clarify the recovery work contents after the execution is stopped, thereby making the business more efficient. Also, according to the present invention, it is possible to provide two functions, an "immediate stop function" that immediately stops the RPA and a "safety stop function" that stably stops the RPA, thereby making the operation more efficient in various RPA applications. Also, according to the present invention, it is possible to reduce the unnecessary cost of recovery after stopping by using the safety stop function and the immediate stop function appropriately. [Brief description of the drawings]
[0018] [Figure 1] FIG. 1 is a diagram illustrating an example of an RPA management process in this embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of an RPA management process in this embodiment. [Diagram 3] FIG. 3 is a diagram showing an example of a flow definition in this embodiment. [Figure 4] FIG. 4 is a block diagram showing an example of the configuration of the RPA management device in this embodiment. [Diagram 5] FIG. 5 is a diagram showing an example of the execution status table in this embodiment. [Figure 6] FIG. 6 is a diagram showing an example of an execution status in this embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of a flow security master in this embodiment. [Figure 8] FIG. 8 is a diagram showing an example of the user group management master in this embodiment. [Figure 9] FIG. 9 is a diagram showing an example of a robot process management table in this embodiment. [Figure 10] FIG. 10 is a diagram showing an example of the execution status monitor in this embodiment. [Figure 11] FIG. 11 is a diagram showing an example of the execution status monitor in this embodiment. [Figure 12] FIG. 12 is a flowchart showing an example of processing of the RPA management device in this embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of the RPA management process in this embodiment. [Figure 14] FIG. 14 is a diagram illustrating an example of the RPA management process in this embodiment. [Figure 15] FIG. 15 is a diagram showing an example of a flow definition in this embodiment. [Figure 16] FIG. 16 is a diagram showing an example of the execution status table in this embodiment. [Figure 17]FIG. 17 is a diagram showing an example of a log file in this embodiment. [Figure 18] FIG. 18 is a diagram illustrating an example of the RPA immediate stop process in this embodiment. [Figure 19] FIG. 19 is a diagram illustrating an example of the RPA immediate stop process in this embodiment. [Figure 20] FIG. 20 is a diagram illustrating an example of the RPA immediate stop process in this embodiment. [Figure 21] FIG. 21 is a diagram showing an example of a standby process after an immediate stop instruction is issued in this embodiment. [Figure 22] FIG. 22 is a diagram illustrating an example of the RPA management process in this embodiment. [Diagram 23] FIG. 23 is a diagram illustrating an example of the RPA management process in this embodiment. [Figure 24] FIG. 24 is a diagram showing an example of a flow definition in this embodiment. [Diagram 25] FIG. 25 is a diagram showing an example of a log file in this embodiment. [Figure 26] FIG. 26 is a diagram showing an example of a flow definition in this embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0019] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail with reference to the drawings. However, the present invention is not limited to the embodiment.
[0020] [1. Overview] First, an overview of the present invention will be described with reference to Fig. 1 to Fig. 3. Fig. 1 and Fig. 2 are diagrams showing an example of an RPA management process in this embodiment. Fig. 3 is a diagram showing an example of a flow definition in this embodiment.
[0021] As shown in FIG. 1, in a system that normally executes RPA (Robotic Process Automation), an RPA executor selects an execution instruction screen on an RPA menu screen that can launch a flow creation screen, an execution instruction screen, an execution status monitor, and a log viewer (a screen for checking RPA execution logs), and when an RPA flow to be executed is selected on the execution instruction screen, the execution status of the execution status table is set to "waiting for execution". Then, as shown in FIG. 1, in the RPA execution system, when an agent, which is an application that is always running asynchronously in the background on an execution terminal separately from user operations, confirms that the execution status of the execution status table is "waiting for execution", a flow execution instruction is sent to a flow execution unit that executes each task in which a robot execution task, etc. is defined, the flow execution unit starts the RPA flow, and the flow execution unit updates the execution status of the execution status table to "running". Then, as shown in FIG. 1, in the RPA execution system, the flow execution unit ends the RPA flow, and the execution status of the execution status table is updated to "normal completion". Here, the robot (RPA robot) in this embodiment is a software robot that is a unit of a series of operation commands required to execute one process, defined for each application to be operated, and since it is created for each application to be operated, there is a 1:1 relationship between the application and the robot.
[0022] Also, as shown in Figure 2, typically, in an RPA execution system, (1) a user launches an execution instruction screen on the RPA menu screen, (2) when the user selects the flow definition of flow A shown in Figure 3 on the execution instruction screen, execution of flow A begins, (3) information is added to the execution status table from the execution instruction screen, (4) the agent confirms the execution instruction and launches the flow execution unit, (5) the flow execution unit updates the execution status in the execution status table to "running", (6) the flow execution unit launches the target robot, (7) the robot launches and operates the target application, and (8) when flow A has ended, the flow execution unit updates the execution status in the execution status table to "normal completion".
[0023] Here, if you want to stop the RPA without waiting for it to finish after it has been executed, for example, if you notice a configuration error after executing the RPA, or if executing the RPA places an unexpected load on the server, previously there was an issue where if the RPA was forcibly terminated by a method not anticipated by the system, it became difficult to recover the RPA process that had failed.
[0024] For example, in conventional RPA systems, there were cases where exclusive data from the target application remained, cases where exclusive data from the RPA flow remained, cases where try-catch processing was implemented within the RPA flow and the try-catch processing was not performed as intended due to an unexpected forced termination by the system, and cases where no evidence was left behind that the RPA execution had been stopped, making it difficult to identify the cause of the error, making it difficult to recover from failed RPA processing.
[0025] Therefore, in this embodiment, there are provided a mechanism for immediately stopping the process when an immediate stop instruction is given so that recovery is not difficult, a mechanism for placing a safe stop point at a point within the RPA flow where it is okay to interrupt execution and for interrupting processing at the stop point when a safe stop instruction is given, a mechanism for configuring security settings for each user and flow and granting authority to process stop instructions, and a mechanism for enabling appropriate log output by incorporating stop instruction processing in the RPA system.
[0026] [2. Configuration] An example of the configuration of the RPA management device 100 according to this embodiment will be described with reference to Fig. 4 to Fig. 11. Fig. 4 is a block diagram showing an example of the configuration of the RPA management device 100 in this embodiment.
[0027] 4, the RPA management device 100 is a commercially available desktop personal computer. The RPA management device 100 is not limited to a stationary information processing device such as a desktop personal computer, but may be a portable information processing device such as a commercially available notebook personal computer, a PDA (Personal Digital Assistant), a smartphone, or a tablet personal computer.
[0028] The RPA management device 100 includes a control unit 102, a communication interface unit 104, a storage unit 106, and an input / output interface unit 108. The units included in the RPA management device 100 are connected to each other so as to be able to communicate with each other via any communication path.
[0029] The communication interface unit 104 communicatively connects the RPA management device 100 to a network 300 via a communication device such as a router and a wired or wireless communication line such as a dedicated line. The communication interface unit 104 has a function of communicating data with other devices via the communication line. Here, the network 300 has a function of connecting the RPA management device 100 and the server 200 to each other so that they can communicate with each other, and is, for example, the Internet or a LAN (Local Area Network).
[0030] An input device 112 and an output device 114 are connected to the input / output interface unit 108. The output device 114 may be a monitor (including a touch panel), a speaker, or a printer. The input device 112 may be a keyboard, a mouse, a microphone, or a monitor that cooperates with a mouse to realize a pointing device function. In the following, the output device 114 may be referred to as the monitor 114 or the printer 114, and the input device 112 may be referred to as the keyboard 112 or the mouse 112.
[0031] The storage unit 106 stores various databases, tables, files, and the like. The storage unit 106 records computer programs for cooperating with an OS (Operating System) to give instructions to a CPU (Central Processing Unit) to perform various processes. For example, memory devices such as RAM (Random Access Memory) and ROM (Read Only Memory), fixed disk devices such as hard disks, flexible disks, and optical disks can be used as the storage unit 106. The storage unit 106 includes a definition master 106a, an execution status table 106b, a flow security master 106c, a user group management master 106d, a log file 106e, and a robot process management table 106f.
[0032] The definition master 106a is a master in which the flow definition of the RPA flow to be executed by the RPA is set.
[0033] The execution status table 106b is a table in which the execution status of the RPA flow is set. For example, the execution status table 106b may set the execution status of the RPA flow, the execution terminal name, the execution start date and time, the user ID, the user name, the flow ID, the flow name, and / or the execution ID.
[0034] Here, an example of the execution status table 106b in this embodiment will be described with reference to Fig. 5 and Fig. 6. Fig. 5 is a diagram showing an example of the execution status table 106b in this embodiment. Fig. 6 is a diagram showing an example of the execution status in this embodiment.
[0035] As shown in Fig. 5, in the execution status table 106b in this embodiment, the execution status of the RPA flow in which the user and terminal who are the execution subjects are specified is updated in real time. Here, as shown in Fig. 6, the execution status set in the execution status table 106b in this embodiment may be waiting for execution, running, normal completion, error completion, immediately stopped, immediately stopped, safely stopped, or safely stopped, etc. Also, the execution ID in this embodiment is an ID generated for each execution of the RPA flow, and is generated with a Guid value, so that the RPA flow being executed can be uniquely identified.
[0036] Returning to FIG. 4, the flow security master 106c is a master in which an immediate stop authority for an RPA flow by a user is set. Here, the flow security master 106c may be set with a safety stop authority for an RPA flow by a user. Also, the flow security master 106c may be set with an execution authority for an RPA flow by a user. For example, the flow security master 106c may be set with a flow ID, a flow name, a user group ID, a user group name, an execution authority for an RPA flow, a safety stop authority for an RPA flow, and / or an immediate stop authority for an RPA flow.
[0037] An example of the flow security master 106c in this embodiment will now be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of the flow security master 106c in this embodiment.
[0038] As shown in FIG. 7, the flow security master 106c in this embodiment is set to allow each RPA flow to be "executed", "safely stopped", and "immediately stopped" for each user group, and whether an execution instruction can be issued from the execution instruction screen and whether a stop instruction can be issued from the execution status monitor 102c depending on the setting value. Here, the flow security master 106c in this embodiment may be set in advance by an administrator. In addition, the execution authority in the flow security master 106c in this embodiment may be the authority to execute the RPA flow and may be the authority to restrict unauthorized users from executing the target flow from the execution instruction screen. In addition, the safety stop authority in the flow security master 106c in this embodiment may be the authority to safely stop the RPA flow and may be the authority to restrict unauthorized users from safely stopping the target flow from the execution status monitor. In addition, the immediate stop authority in the flow security master 106c in this embodiment may be the authority to immediately stop the RPA flow and may be the authority to restrict unauthorized users from immediately stopping the target flow from the execution status monitor.
[0039] 4, the user group management master 106d is a master in which an administrator flag indicating that the user is an administrator is set. For example, the user group management master 106d may be set with a user ID, a user name, a user group ID, a user group name, and / or an administrator flag indicating that the user is an administrator.
[0040] An example of the user group management master 106d in this embodiment will now be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of the user group management master 106d in this embodiment.
[0041] As shown in FIG. 8, in the user group management master 106d in this embodiment, a group to which a user belongs is set, and whether or not the user is an administrator is set.
[0042] 4, the log file 106e is a file in which a log of the RAP flow is set. For example, the log file 106e may be set with a sequential number (e.g., SEQ, etc.) that is assigned in the order of update of the execution log, an execution result, a task type, an overview of the execution log, and / or details of the execution log.
[0043] The robot process management table 106f is a table that sets the state of the RPA robot 102f. For example, the robot process management table 106f may set a robot name, a robot process ID, and / or an execution ID, etc.
[0044] An example of the robot process management table 106f in this embodiment will now be described with reference to Fig. 9. Fig. 9 is a diagram showing an example of the robot process management table 106f in this embodiment.
[0045] As shown in FIG. 9, in the robot process management table 106f in this embodiment, the state of the RPA robot 102f in the RAP flow being executed, which is identified by the execution ID, is set using the robot process ID. Here, in this embodiment, when the agent 102d forcibly terminates the target process, all the processes of the operation target application are identified from the robot process IDs held in the robot process management table 106f shown in FIG. 9, the process of the RPA robot 102f is terminated, and the process of the operation target application is terminated. As described above, in this embodiment, since the process of the RPA robot 102f and the process of the operation target application have a parent-child relationship, the process of the operation target application can be identified from the process of the RPA robot 102f by the function of the application development and execution environment such as ".NET Framework". Also, in this embodiment, if the process of the operation target application disappears first, the RPA robot 102f attempts to continue the operation of the operation target application, and an operation error log is recorded, which may make it difficult to determine the state, so the processes are stopped in the order of "RPA robot 102f" > "operation target application".
[0046] Returning to Fig. 4, the control unit 102 is a CPU or the like that performs overall control of the RPA management device 100. The control unit 102 has an internal memory for storing control programs such as an OS, programs that define various processing procedures, required data, and the like, and executes various information processing based on these stored programs. In terms of functional concept, the control unit 102 includes a master setting unit 102a, an execution instruction unit 102b, an execution status monitor 102c, an agent 102d, a flow execution unit 102e, and an RPA robot 102f.
[0047] The master setting unit 102a sets various masters. Here, when a user is an administrator, the master setting unit 102a may set an immediate stop authority of the user for the RPA flow, which is an input flow, in the flow security master 106c based on the user group management master 106d.
[0048] The execution instruction unit 102b displays an execution instruction screen, and when a user inputs an instruction to execute an RPA flow, updates the execution status set in the execution status table 106b to "waiting for execution." Here, the execution instruction unit 102b may display an execution instruction screen, and when a user inputs an instruction to execute an RPA flow and the execution authority of the user is set in the flow security master, update the execution status set in the execution status table 106b to "waiting for execution." In addition, the execution instruction unit 102b may start the execution instruction screen by the user selecting a screen to be started (for example, a flow creation screen, a flow execution screen, the execution status monitor 102c, or a log viewer) on the RPA menu screen. In addition, the RPA menu screen may be started by the establishment of user authentication (by inputting a user ID and a password) on the login screen.
[0049] The execution status monitor 102c displays the execution status of the RPA flow. Here, when a user inputs an immediate stop instruction for the RPA flow, the execution status monitor 102c may update the execution status set in the execution status table 106b to "immediately stopped." Also, when a user inputs a safe stop instruction for the RPA flow, the execution status monitor 102c may update the execution status set in the execution status table 106b to "safely stopped." Also, when a user inputs an immediate stop instruction for the RPA flow and the immediate stop authority of the user is set in the flow security master 106c, the execution status monitor 102c may update the execution status set in the execution status table 106b to "immediately stopped." Also, when a user inputs a safe stop instruction for the RPA flow and the safety stop authority of the user is set in the flow security master 106c, the execution status monitor 102c may update the execution status set in the execution status table 106b to "safely stopped."
[0050] An example of the execution status monitor 102c in this embodiment will now be described with reference to Figures 10 and 11. Figures 10 and 11 are diagrams showing an example of the execution status monitor 102c in this embodiment.
[0051] First, the execution status monitor 102c in this embodiment is an application that can check the execution status of an RPA flow via a database (DB) 106 and can issue a stop instruction to an RPA that is running via the DB 106. Here, the execution status monitor 102c in this embodiment has a function of stopping the target RPA robot 102f, and a function of stopping the target RPA robot 102f when a stop button is clicked, and whether or not a stop instruction can be input is determined by the execution status and the settings of the flow security master 106c, and if a stop instruction cannot be input, the button on the screen may be locked. For example, in the execution status monitor 102c in this embodiment, it may be set so that when the execution status is "ended", a stop instruction cannot be input, when the execution status is "immediately stopped", a stop instruction cannot be input, when the execution status is "safely stopped", only an immediate stop instruction can be input (when restricted by the settings of the flow security master 106c, a stop instruction cannot be input), and when the execution status is other than these, both a safety stop instruction and an immediate stop instruction can be input (when restricted by the settings of the flow security master 106c, a stop instruction cannot be input).
[0052] Here, as shown in Fig. 10, the execution status monitor 102c for the management terminal in this embodiment is assumed to be used by a system administrator, and is capable of checking the execution status of all RPA flows to be managed, and is provided with an execution status display function that displays the latest status in real time because the DB 106 is checked periodically, and is provided with a filter function that enables sorting and extraction of displayed data by selecting from a pull-down menu, and enables the target data to be quickly identified even if the number of data becomes huge by displaying the execution status of all RPA robots 102f. As shown in Fig. 10, in the execution status monitor 102c for the management terminal in this embodiment, it is possible to determine whether the logged-in user is a system administrator by the settings of the user group management master 106d, and it may be possible to start the monitor from the RPA menu screen only when the system administrator logs in.
[0053] 11, the execution status monitor 102c for the execution terminal in this embodiment is designed for use by an RPA executor, and is capable of checking only the execution status of the RPA flow being executed on the terminal, narrowing down data by the execution terminal name to display the latest status, and periodically checking the DB 106, and is provided with an execution status display function that displays the latest status in real time. Note that, as shown in FIG. 11, in the execution status monitor 102c for the execution terminal in this embodiment, it is possible to determine whether the logged-in user is an RPA executor by settings in the user group management master 106d, and when a person other than the system administrator logs in, it may be possible to start the monitor from the RPA menu screen.
[0054] Returning to Fig. 4, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b and controls the execution of the RPA flow. Here, if the agent 102d detects that the execution status of the RPA flow set in the execution status table 106b is immediately stopped, the agent 102d may forcibly terminate the process by the RPA robot 102f. In addition, the agent 102d may check the execution status of the RPA flow set in the execution status table 106b, and if the agent 102d detects that the execution status is waiting for execution, it may control the execution of the start of the RPA flow.
[0055] The flow execution unit 102e executes each task defined in the RPA flow including the start control of the RPA robot 102f, and updates the execution status table 106b. Here, when the flow execution unit 102e detects that the execution status of the RPA flow set in the execution status table 106b is immediately stopped, the flow execution unit 102e may execute a predetermined immediate stop process. In addition, when the flow execution unit 102e detects that the RPA flow includes a try-catch exception process and that the execution status is immediately stopped during the execution of the process in the try block, the flow execution unit 102e may execute a flow end process of the RPA flow after the process in the catch block is executed. In addition, when the flow execution unit 102e detects that the RPA flow includes a plurality of try-catch exception processes and that the execution status is immediately stopped during the execution of the process in the try block, the flow execution unit 102e may identify the hierarchical relationship of the try-catch exception processes including the process in the try block, and execute the flow end process of the RPA flow after the process in the catch block is executed in order from the lowest try-catch exception process of the hierarchical relationship to the highest try-catch exception process of the hierarchical relationship. Furthermore, when the flow execution unit 102e detects that the RPA flow does not include a try-catch exception handling and that the execution status is immediately stopped, the flow execution unit 102e may execute a flow termination process of the RPA flow. Furthermore, when the flow execution unit 102e detects that the execution status of the RPA flow set in the execution status table 106b is safely stopped, the flow execution unit 102e may terminate the loop process at the start timing of the loop process included in the RPA flow and execute a flow termination process of the RPA flow.
[0056] The RPA robot 102f is a software robot that executes an application to be operated.
[0057] [3. Specific Examples] A specific example of this embodiment will be described with reference to FIGS.
[0058] [RPA Management Processing] Here, an example of an RPA management process in this embodiment will be described with reference to Fig. 12. Fig. 12 is a flowchart showing an example of the process of the RPA management device 100 in this embodiment.
[0059] As shown in FIG. 12, the execution instruction unit 102b displays an execution instruction screen on the output device 114, and when a user inputs an instruction to execute the RPA flow via the input device 112, the execution instruction unit 102b updates the execution status set in the execution status table 106b to waiting for execution (step SA-1).
[0060] Then, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status is waiting for execution, it controls the start of the RPA flow, and the flow execution unit 102e executes each task defined in the RPA flow, including the startup control of the RPA robot 102f, and updates the execution status set in the execution status table 106b to "in progress" (step SA-2).
[0061] Then, the execution status monitor 102c determines whether or not the user has input an instruction to immediately stop the RPA flow via the input device 112 (step SA-3).
[0062] Then, if the execution status monitor 102c determines that an instruction to immediately stop the RPA flow has been input (step SA-3: Yes), it shifts the process to step SA-4.
[0063] Then, the execution status monitor 102c updates the execution status set in the execution status table 106b to "immediately stopped" (step SA-4).
[0064] Then, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status of the RPA flow set in the execution status table 106b is immediately stopped, it forcibly terminates the process by the RPA robot 102f (step SA-5).
[0065] Then, the flow execution unit 102e checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status of the RPA flow set in the execution status table 106b is immediately stopped, it executes a predetermined immediate stop processing (step SA-6) and terminates the processing.
[0066] On the other hand, if the execution status monitor 102c determines that an instruction to immediately stop the RPA flow has not been input (step SA-3: No), it shifts the process to step SA-7.
[0067] Then, the execution status monitor 102c determines whether or not a safety stop instruction for the RPA flow has been input by the user via the input device 112 (step SA-7).
[0068] Then, if the execution status monitor 102c determines that a safety stop instruction for the RPA flow has been input (step SA-7: Yes), it shifts the process to step SA-8.
[0069] Then, the execution status monitor 102c updates the execution status set in the execution status table 106b to "safely stopped" (step SA-8).
[0070] Then, the flow execution unit 102e checks the execution status of the RPA flow set in the execution status table 106b, and if it detects that the execution status of the RPA flow set in the execution status table 106b is safety stopped, it executes flow termination processing of the RPA flow (step SA-9) and terminates the processing.
[0071] On the other hand, if the execution status monitor 102c determines that a safety stop instruction for the RPA flow has not been input (step SA-7: No), it shifts the process to step SA-10.
[0072] Then, the agent 102d checks the execution status of the RPA flow set in the execution status table 106b, and determines whether the RPA flow has been completed by the flow execution unit 102e and the execution status set in the execution status table 106b has been updated to normal completion (step SA-10).
[0073] If the agent 102d determines that the execution status set in the execution status table 106b has not been updated to normal completion (step SA-10: No), the agent 102d shifts the process to step SA-3.
[0074] On the other hand, if the agent 102d determines that the execution status set in the execution status table 106b has been updated to normal completion (step SA-10: Yes), the agent 102d shifts the process to step SA-11.
[0075] Then, the flow execution unit 102e executes the flow end process of the RPA flow (step SA-11), and ends the process.
[0076] Here, an example of the RPA immediate stop processing in this embodiment will be described with reference to Fig. 13 to Fig. 17. Fig. 13 and Fig. 14 are diagrams showing an example of the RPA management processing in this embodiment. Fig. 15 is a diagram showing an example of a flow definition in this embodiment. Fig. 16 is a diagram showing an example of the execution status table 106b in this embodiment. Fig. 17 is a diagram showing an example of the log file 106e in this embodiment.
[0077] As shown in Fig. 13, in this embodiment, when a system administrator inputs an instruction to immediately stop the RPA flow in the execution status monitor 102c, the execution status set in the execution status table 106b by the execution status monitor 102c is updated to "immediately stopped". Then, as shown in Fig. 13, in this embodiment, the agent 102d constantly checks the execution status of the RPA flow set in the execution status table 106b, and ends the processes of the robot A and the operation target application A. Then, as shown in Fig. 13, in this embodiment, the flow execution unit 102e executes the immediate stop processing of the RPA flow, and after the immediate stop processing ends, the execution status set in the execution status table 106b is updated to "immediately stopped".
[0078] Also, as shown in FIG. 14, in this embodiment, when a user selects the flow definition of flow A shown in FIG. 15 on the execution instruction screen, the execution instruction is confirmed by the agent 102d, the flow execution unit 102e is started, the flow execution unit 102e updates the execution status in the execution status table 106b to "executing", the target robot (RPA robot) 102f is started by the flow execution unit 102e, the RPA robot 102f starts and operates the application to be operated, and the agent 102d constantly checks the execution status of flow A in the execution status table 106b.
[0079] Then, as shown in FIG. 14, in this embodiment, when a user inputs an instruction to immediately stop flow A in the execution status monitor 102c, (1) the execution status monitor 102c updates the execution status of flow A to “immediately stopped”, (2) the execution status monitor 102c updates the log file 106e by recording “immediate stop instruction” as an execution log, (3) the agent 102d and the RPA robot 102f confirm the immediate stop instruction, (4) the agent 102d forcibly terminates the process of the target RPA robot 102f, (5) the flow execution unit 102e confirms the end of the process of the RPA robot 102f, and then checks the execution status in the execution status table 106b, and (6) the execution status in the execution status table 106b If it is "immediately stopped", the flow execution unit 102e waits until the target process ends, (7) the agent 102d forcefully terminates the process of the application to be operated, (8) the agent 102d rewrites the "robot process ID" in the robot process management table 106f to "NULL" after terminating the target process, (9) the flow execution unit 102e checks the termination of the target process from the robot process management table and performs immediate stop processing, (10) the flow execution unit 102e updates the execution status of flow A in the execution status table 106b to "immediately stopped", (11) the flow execution unit 102e updates the log file 106e by recording "immediately stopped" as the execution log, and ends the flow execution. As a result, in this embodiment, the execution user can check the log and understand that the immediate stop has been performed.
[0080] Here, as shown in FIG. 16, in this embodiment, for an RPA flow (flow A) subject to exclusive control, if the execution status in the execution status table 106b is “running”, exclusive data of the target application or flow A remains, so exclusive control is applied and the flow cannot be executed until execution is completed. However, if the execution status in the execution status table 106b is “immediate stop completed”, the immediate stop process is completed and the exclusive control is released, so the flow can be executed without recovery processing.
[0081] Also, as shown in FIG. 17, in the log file 106e in this embodiment, the log of SEQ:9 is added by the process of FIG. 14(2), and the log of SEQ:10 is added by the process of FIG. 14(11). In this way, in this embodiment, the execution status after immediate stop is updated to "immediate stop end", so that exclusive data of the execution flow does not remain. Also, in this embodiment, when a try catch process is defined, the flow is stopped after the catch process is executed, so that the execution of the post-processing defined in advance in the flow is guaranteed, and the exclusive release can be performed. Also, in this embodiment, the fact that the immediate stop was performed is written in the execution log, so that it is possible to determine and confirm when the immediate stop instruction was issued and where the stop occurred, and the user can appropriately and quickly determine the necessary recovery work.
[0082] Further, an example of RPA immediate stop processing in this embodiment will be described with reference to Fig. 18 to Fig. 20. Fig. 18 to Fig. 20 are diagrams showing an example of RPA immediate stop processing in this embodiment.
[0083] As shown in FIG. 18, in this embodiment, if there is no try-catch process in the RPA flow, the immediate stop process simply performs the RPA flow termination process. Also, as shown in FIG. 19, in this embodiment, if the robot execution process that was immediately stopped is placed inside the try process, the immediate stop process executes the corresponding catch process and then performs the RPA flow termination process. Also, as shown in FIG. 20, in this embodiment, if the RPA flow includes multiple try-catch processes, the contents and execution order of the catch processes are identified from the parent-child relationship of the RPA flow and executed in order. In this way, the catch process is originally implemented with a process that is to be executed when the inside of the try process does not end normally, so even if the immediate stop process is performed, the catch process should be executed, and this is realized in this embodiment.
[0084] Moreover, an example of standby processing after an immediate stop instruction in this embodiment will be described with reference to Fig. 21. Fig. 21 is a diagram showing an example of standby processing after an immediate stop instruction in this embodiment.
[0085] As shown in FIG. 21, in this embodiment, at the timing of "Execution status check" of L1 and L3, it is determined whether an immediate stop instruction has been issued, and if an immediate stop is in progress, the subsequent processing is terminated and the system waits until the immediate stop is completed in order to prevent the processing from proceeding. Here, in this embodiment, the flow definer implements post-processing in the event of an unexpected error occurring in the RPA flow as a catch process, and this process is executed even during the immediate stop. Also, in this embodiment, by stopping the subsequent processing of the RPA robot 102f during the immediate stop, it is possible to prevent the RPA robot 102f from running out of control, such as starting another application to be operated.
[0086] An example of an RPA safety stop process in this embodiment will be described with reference to Fig. 22 to Fig. 26. Fig. 22 and Fig. 23 are diagrams showing an example of an RPA management process in this embodiment. Fig. 24 and Fig. 26 are diagrams showing an example of a flow definition in this embodiment. Fig. 25 is a diagram showing an example of a log file 106e in this embodiment.
[0087] As shown in FIG. 22, in this embodiment, when a safety stop instruction of the RPA flow is input by the system administrator or the RPA executor in the execution status monitor 102c, the execution status set in the execution status table 106b is updated to "safety stopped" by the execution status monitor 102c. Then, as shown in FIG. 22, in this embodiment, the agent 102d constantly checks the execution status of the RPA flow set in the execution status table 106b at the start timing of the loop included in the RPA flow, and if the execution status is "safety stopped", the flow execution unit 102e ends the loop and moves to the safety stop end task. Then, as shown in FIG. 22, in this embodiment, the flow execution unit 102e executes the safety stop processing of the RPA flow, and after the safety stop processing is ended, the execution status set in the execution status table 106b is updated to "safety stop end".
[0088] Also, as shown in FIG. 23, in this embodiment, when a user selects the flow definition of flow A shown in FIG. 24 on the execution instruction screen, the flow execution unit 102e is started, the flow execution unit 102e updates the execution status of the execution status table 106b to "executing", the flow execution unit 102e starts the target robot (RPA robot) 102f, and the RPA robot 102f starts and operates the application to be operated.
[0089] 23, in this embodiment, when a safety stop instruction for flow A is input by the user in the execution status monitor 102c, (1) the execution status monitor 102c updates the execution status of flow A in the execution status table 106b to "safety stop in progress", (2) the execution status monitor 102c updates the log file 106e by recording "safety stop instruction" as an execution log, (3) the flow execution unit 102e confirms the safety stop instruction at the timing of "safety stop judgment", (4) the flow execution unit 102e ends the loop included in the RPA flow and moves to safety stop processing, (5) the flow execution unit 102e updates the execution status in the execution status table 106b to "safety stop completed", (6) the flow execution unit 102e updates the log file 106e by recording "safety stop completed" as an execution log, and ends the flow execution. As a result, in this embodiment, the execution user can check the log and understand that a safety stop has been made.
[0090] Here, as shown in FIG. 25, in the log file 106e of this embodiment, a log of SEQ:5 is added by the process of FIG. 23(2), and a log of SEQ:9 is added by the process of FIG. 14(6).
[0091] Furthermore, as shown in FIG. 26, in the RPA flow of this embodiment, when the flow is created, it may be defined so that a safety stop determination is always performed at the loop start timing, or it may be possible to freely add a safety stop determination to the RPA flow.
[0092] In this manner, in this embodiment, the RPA robot 102f does not stop during startup, so that the exclusion of the application to be operated and the inconsistency of the input data do not occur. In addition, in this embodiment, the execution flow is ended via the safety stop end task, so that the exclusive data of the RPA flow does not remain. In addition, in this embodiment, the user can check how many loops have been input by checking the log, so that retry execution can be easily performed by simply correcting the data source. In addition, in this embodiment, the safety stop judgment is automatically placed at the timing of the start of the loop, so that a flow that safely stops can be created without the flow creator being aware of it. In addition, in this embodiment, the stop instruction judgment task can be placed at any timing when creating a flow, so that the degree of freedom of safety stopping is also increased.
[0093] [4. Contribution to the United Nations-led Sustainable Development Goals (SDGs)] This embodiment can contribute to improving business efficiency and promoting appropriate management decisions by companies, thereby contributing to goals 8 and 9 of the SDGs.
[0094] Furthermore, this embodiment can contribute to reducing waste and promoting paperless and electronic systems, thereby contributing to the achievement of SDGs Goals 12, 13, and 15.
[0095] Furthermore, this embodiment can contribute to strengthening control and governance, making it possible to contribute to Goal 16 of the SDGs.
[0096] 5. Other embodiments The present invention may be embodied in various different embodiments other than those described above within the scope of the technical concept set forth in the claims.
[0097] For example, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods.
[0098] In addition, the processing procedures, control procedures, specific names, information including parameters such as registered data and search conditions for each process, screen examples, and database configurations shown in this specification and drawings may be changed as desired unless otherwise specified.
[0099] Furthermore, with regard to the RPA management device 100, each of the components shown in the figures is a functional concept, and does not necessarily have to be physically configured as shown in the figures.
[0100] For example, the processing functions of the RPA management device 100, particularly the processing functions performed by the control unit 102, may be realized in whole or in part by a CPU and a program interpreted and executed by the CPU, or may be realized as hardware using wired logic. The program is recorded in a non-transient computer-readable recording medium that includes programmed instructions for causing the information processing device to execute the processes described in this embodiment, and is mechanically read by the RPA management device 100 as necessary. That is, a computer program for giving instructions to the CPU in cooperation with the OS and performing various processes is recorded in a storage unit such as a ROM or HDD (Hard Disk Drive). This computer program is executed by being loaded into a RAM, and cooperates with the CPU to form a control unit.
[0101] In addition, this computer program may be stored in an application program server connected to the RPA management device 100 via any network, and it is also possible to download all or part of it as necessary.
[0102] In addition, the program for executing the process described in this embodiment may be stored in a non-transient computer-readable recording medium, or may be configured as a program product. Here, the "recording medium" includes any "portable physical medium" such as a memory card, a Universal Serial Bus (USB) memory, a Secure Digital (SD) card, a flexible disk, a magneto-optical disk, a ROM, an Erasable Programmable Read Only Memory (EPROM), an Electrically Erasable and Programmable Read Only Memory (EEPROM (registered trademark)), a Compact Disk Read Only Memory (CD-ROM), a Magneto-Optical disk (MO), a Digital Versatile Disk (DVD), and a Blu-ray (registered trademark) Disc.
[0103] Moreover, a "program" is a data processing method written in any language or description method, and may be in any form, such as source code or binary code. Note that a "program" is not necessarily limited to a single configuration, but also includes a configuration that is distributed as a plurality of modules or libraries, and a program that achieves its function by cooperating with a separate program, such as an OS. Note that the specific configuration and reading procedure for reading a recording medium in each device shown in this embodiment, as well as the installation procedure after reading, may use well-known configurations and procedures.
[0104] The various databases etc. stored in the memory unit 106 are storage means such as memory devices such as RAM and ROM, fixed disk devices such as hard disks, flexible disks, and optical disks, and store various programs, tables, databases, and web page files etc. used for various processes and providing websites.
[0105] The RPA management device 100 may be configured as an information processing device such as a known personal computer or workstation, or may be configured as the information processing device to which any peripheral device is connected. The RPA management device 100 may be realized by installing software (including programs or data) that causes the device to realize the processing described in this embodiment.
[0106] Furthermore, the specific form of distribution and integration of the devices is not limited to that shown in the drawings, and all or part of them can be functionally or physically distributed and integrated in any unit according to various additions or functional loads. In other words, the above-mentioned embodiments can be implemented in any combination, or the embodiments can be implemented selectively. [Industrial Applicability]
[0107] The present invention is useful in various industries that utilize RPA. [Explanation of symbols]
[0108] 100 RPA management device 102 Control section 102a Master setting section 102b Execution instruction section 102c Execution Status Monitor 102d Agent 102e Flow Execution Unit 102f RPA robot 104 Communication interface section 106 Storage section 106a Definition Master 106b Execution status table 106c Flow Security Master 106d User Group Management Master 106e Log File 106f Robot process management table 108 Input / Output Interface Section 112 Input Devices 114 Output Device 200 Servers 300 Network
Claims
1. An RPA management device including a storage unit and a control unit, The storage unit is A definition master in which a flow definition of an RPA flow to be executed by the RPA is set; An execution status table in which the execution status of the RPA flow is set; Equipped with The control unit is An RPA robot that executes an application to be operated; A flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; an execution status monitor that displays the execution status; Equipped with The execution status monitor includes: When a user inputs a safety stop instruction for the RPA flow, the execution status set in the execution status table is updated to "safely stopped", The flow execution unit is An RPA management device characterized by constantly checking the execution status of the RPA flow set in the execution status table, and when it detects that the execution status is during a safety stop, terminating the loop processing included in the RPA flow at the start timing of the loop processing, and executing a flow termination processing of the RPA flow.
2. The storage unit is A flow security master that sets a safety stop authority for the RPA flow by the user; Further comprising: The execution status monitor includes: The RPA management device according to claim 1, characterized in that when the user inputs a safety stop instruction for the RPA flow and the safety stop authority for the user is set in the flow security master, the execution status set in the execution status table is updated to during the safety stop.
3. The storage unit is a flow security master that sets execution authority for the RPA flow by the user; Further comprising: The control unit is an execution instruction means for displaying an execution instruction screen, and updating the execution status set in the execution status table to a standby state when the user inputs an execution instruction for the RPA flow and the execution authority of the user is set in the flow security master; Further comprising: The agent is The RPA management device according to claim 1 or 2, characterized in that the execution status of the RPA flow set in the execution status table is checked, and if it is detected that the execution status is waiting for execution, the RPA management device controls the start of the RPA flow.
4. An RPA management method for causing an RPA management device having a storage unit and a control unit to execute the RPA management method, The storage unit is A definition master in which a flow definition of an RPA flow to be executed by the RPA is set; An execution status table in which the execution status of the RPA flow is set; Equipped with The control unit is An RPA robot that executes an application to be operated; A flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; an execution status monitor that displays the execution status; Equipped with Executed in the execution status monitor, When a user inputs a safety stop instruction for the RPA flow, updating the execution status set in the execution status table to "safely stopped"; Executed in the flow execution unit, A step of constantly checking the execution status of the RPA flow set in the execution status table, and when it is detected that the execution status is during the safety stop, terminating the loop processing at a start timing of the loop processing included in the RPA flow and executing a flow termination process of the RPA flow; An RPA management method comprising:
5. An RPA management program to be executed by an RPA management device having a storage unit and a control unit, The storage unit is A definition master in which a flow definition of an RPA flow to be executed by the RPA is set; An execution status table in which the execution status of the RPA flow is set; Equipped with The control unit is An RPA robot that executes an application to be operated; A flow execution unit that executes each task defined in the RPA flow, including startup control of the RPA robot, and updates the execution status table; an agent that checks the execution status of the RPA flow set in the execution status table and controls the execution of the RPA flow; an execution status monitor that displays the execution status; Equipped with In the execution status monitor, When a user inputs a safety stop instruction for the RPA flow, updating the execution status set in the execution status table to "safety stopped"; Run the command, In the flow execution unit, A step of constantly checking the execution status of the RPA flow set in the execution status table, and when it is detected that the execution status is during the safety stop, terminating the loop process at a start timing of the loop process included in the RPA flow and executing a flow termination process of the RPA flow; An RPA management program for executing the above.
Citation Information
Patent Citations
Multiprocessor system
JP2004342014A
Scenario execution system, management device, scenario execution management method, and program
JP2020119394A
Information processing device, processing method therein, and program
JP2021039433A
Information processing program, information processing method, and information processing device
JP2021056763A