A system and method for implementing a robot to execute multiple process tasks on a browser
By introducing multiple controllers and monitors into the RPA system, the scheduling and resource monitoring of RPA processes are solved, and the problem that existing RPA technologies cannot achieve parallel execution of multiple process tasks is improved, and the utilization rate of server resources and process execution efficiency are improved.
Patent Information
- Application Number
- CN202111311675.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-08
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2041-11-08
AI Technical Summary
Existing RPA technology cannot start multiple identical browser instances on a server at the same time, resulting in data confusion and waste of resources, making it difficult to achieve efficient parallel execution of multiple process tasks.
By introducing RPA process status monitor, browser process status controller, asynchronous process startup controller and RPA process controller, scheduling and resource monitoring of RPA processes are realized, and the number of processes that can be executed simultaneously is dynamically adjusted to ensure efficient utilization of server resources.
Implement parallel execution of multiple browser instances on a server, ensuring that data isolation and process do not interfere with each other, and improving the execution efficiency and resource utilization of RPA processes.
Smart Images

Figure CN114037263B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of automation technology, and in particular to a system and method for implementing a robot to execute multiple process tasks on a browser. Background Art
[0002] With the rapid development of big data, intelligence, mobile Internet, cloud computing and the Internet of Things, the wave of informatization is sweeping in with an unstoppable momentum, changing all aspects of production and life. Looking at the current enterprises, although the degree of informatization is relatively high, there are still a large number of repetitive process tasks that need to be handled manually. Taking finance as an example, the advancement of financial work progress still relies on a large number of manual operations. The financial work process usually involves multiple software systems such as Excel reports, financial software, banking systems, and tax systems. There is a lack of effective integration between the various systems. Employees need to process data across multiple systems, which has a high error rate and communication cost, and low manual work efficiency. Therefore, how to reduce the labor cost of enterprises through effective technical means, and continuously improve the automation of business processes and the work efficiency of employees, has become a major issue that global entrepreneurs are eager to think about and solve. Against this background, robotic process automation came into being.
[0003] Robotic Process Automation (RPA) is a new technology concept that allows software robots to simulate and execute established business processes based on fixed rules. Software robots based on RPA technology can simulate humans to operate various IT applications, such as browsers, Office software, programs written in languages such as Java / .net, ERP software, etc. It is very good at performing boring, tedious and repetitive tasks. At present, RPA has achieved significant application results in many fields. It not only solves the labor cost problem of enterprises, but also improves the execution efficiency of business processes through automated technical means, effectively improving the overall execution efficiency of the business.
[0004] RPA robot process automation technology uses a method of simulating human keyboard input and mouse clicks to execute predetermined processes. However, due to the use of virtual click technology, generally only one robot can be installed in a server to replace human mouse and keyboard operations. It is impossible to start the same browser twice on a server at the same time and execute two RPA processes at the same time, otherwise it will cause confusion in data and RPA processes. Currently, most virtual machine technology is used to install multiple virtual machines on a server, and deploy a set of RPA robots in each virtual machine, so as to realize the simultaneous operation of multiple RPA process tasks based on the same browser. When using virtual machine technology, the operation of the virtual machine itself requires a large amount of CPU and memory resources, which cannot achieve efficient use of server resources and is difficult to uniformly schedule and control the parallel execution of multiple RPA processes. Summary of the invention
[0005] In view of the above problems, the present invention is proposed to provide a system and method for implementing a robot to execute multiple process tasks on a browser, which overcomes the above problems or at least partially solves the above problems.
[0006] According to one aspect of the present invention, a system for implementing a robot to execute multiple process tasks on a browser is provided, and the implementation system includes:
[0007] The Robotic Process Automation (RPA) process status monitor is used to schedule the RPA processes in the RPA execution queue and schedule the asynchronous process startup controller to start the asynchronous browser process to execute the RPA process as needed;
[0008] The browser process status controller is used to monitor the running status of the RPA process in the process pool;
[0009] The asynchronous process startup controller is responsible for loading and starting the corresponding browser process according to the browser type;
[0010] The RPA process controller is responsible for monitoring the current system resources. When it is found that the configured system resource value is exceeded, the number of RPA processes that can be executed simultaneously is automatically adjusted;
[0011] RPA robots are used to execute RPA processes.
[0012] On the other hand, the present invention also provides a method for implementing a robot to execute multiple process tasks on a browser, the method comprising:
[0013] Step 100: The RPA process controller determines the number of RPA processes that can be executed simultaneously based on server resources;
[0014] Step 200: When the business system needs to call an RPA process, first, the RPA process status controller obtains the number A of RPA processes that can be executed simultaneously and the number B of RPA processes that are currently being executed from the RPA process controller and the browser process status controller. When A < B, the RPA process status controller directly schedules the asynchronous process startup controller to execute the RPA process.
[0015] Step 300: The asynchronous process startup controller schedules the corresponding process to start the browser task according to the browser type in the RPA process xml file and puts it into the process pool. At the same time, it notifies the browser process status controller of the process ID corresponding to this browser process.
[0016] Step 400: The RPA robot parses the scheduling parameters, dynamically modifies the content of the description file before running, and executes the RPA process. When the RPA process execution ends, it notifies the process status controller.
[0017] Step 500: The browser process monitors the process ID in real time. When the process ends, it modifies the status corresponding to each browser process.
[0018] Step 600: When the business system needs to call an RPA process, if the number A of processes that can be executed simultaneously > the number B of RPA processes that are currently being executed, this RPA process will be put into the RPA process queue in sequence. When the RPA process status controller monitors that the process status is idle, it executes Step 300 to start the RPA process in the RPA process queue.
[0019] Step 700: The RPA process controller monitors the resources in the system in real time and modifies the number of RPA processes that can be executed simultaneously at any time.
[0020] Step 800: According to the actual RPA process execution requirements, Steps 200 - 600 will be executed in sequence.
[0021] The present invention provides a robot to execute multiple process tasks on a browser. The implementation system includes: a Robotic Process Automation (RPA) process state monitor, which is used to schedule the RPA process in the RPA execution queue, and schedule the asynchronous process startup controller to start the asynchronous browser process to execute the RPA process as needed; a browser process state controller, which is used to monitor the running status of the RPA process in the process pool; the asynchronous process startup controller is responsible for loading and starting the corresponding browser process according to the browser type; the RPA process controller is responsible for monitoring the current system resources, and when it is found that the configured system resource value is exceeded, the number of RPA processes that can be executed simultaneously is automatically adjusted; the RPA robot is used to execute the RPA process. Under the premise of ensuring the effective use of server resources, by adopting this method, a set of robots can be deployed on a server, and multiple browsers can be run to execute tasks at the same time, and the data isolation between each other is achieved, and the processes do not interfere with each other. The built-in engine can dynamically adapt and expand various browser underlying driver DDLs according to the browsers required by the RPA process, and can further ensure the simultaneous operation of multiple browsers of different types while ensuring that the RPA process is based on common browsers.
[0022] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative work.
[0024] Figure 1 A block diagram of the main components of an implementation method for supporting RPA software to execute multiple process tasks in parallel on a browser provided in an embodiment of the present invention;
[0025] Figure 2 An interactive process diagram of the main components of an implementation method for supporting RPA software to execute multiple process tasks in parallel on a browser provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0026] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0027] The terms "comprises" and "having" and any variations thereof in the description embodiments, claims and drawings of the present invention are intended to cover non-exclusive inclusions, for example, including a series of steps or units.
[0028] The technical solution of the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. Specific embodiment 1
[0030] like Figure 1 As shown, the RPA process status monitor is responsible for scheduling the RPA process in the RPA execution queue, and scheduling the asynchronous process startup controller to start the asynchronous browser process to execute the RPA process as needed.
[0031] The browser process status controller is responsible for monitoring the running status of the RPA process in the process pool.
[0032] The asynchronous process startup controller is responsible for loading and starting the corresponding browser process according to the specific browser type.
[0033] The RPA process controller is responsible for monitoring the current system resources. When it finds that the configured system resource value is exceeded, it automatically adjusts the number of RPA processes that can be executed simultaneously to ensure the operating efficiency of the RPA process.
[0034] RPA robots are used to execute specific RPA processes. XML structured language is used to describe the execution process of RPA browser tasks. Each execution step is encapsulated as a line of data, which is bound to a set of codes of the robot actuator through tags. The specific tag content is a series of parameter information involved in the code, including position, action, etc. Combined with a series of process control tags such as loops and conditions, it is used to meet the control of complex processes.
[0035] See also Figure 2 , the main interaction processes between the various components are as follows:
[0036] Step 100: The RPA process controller determines the number of RPA processes that can be executed simultaneously based on server resources.
[0037] Step 200: When the business system needs to call an RPA process, first, the RPA process status controller obtains the number A of RPA processes that can be executed simultaneously and the number B of RPA processes that are currently being executed from the RPA process controller and the browser process status controller. When A < B, the RPA process status controller directly schedules the asynchronous process startup controller to execute the RPA process.
[0038] Step 300: The asynchronous process startup controller schedules the corresponding process to start the browser task according to the browser type in the RPA process xml file and places it in the process pool. At the same time, it notifies the browser process status controller of the process ID corresponding to this browser process.
[0039] Step 400: The RPA robot parses the scheduling parameters, dynamically modifies the content of the description file before running, and executes the RPA process. When the RPA process execution ends, it notifies the process status controller.
[0040] Step 500: The browser process listens to the process ID in real time and modifies the status corresponding to each browser process in a timely manner when the process ends.
[0041] Step 600: When the business system needs to call an RPA process, if the number A of processes that can be executed simultaneously > the number B of RPA processes that are currently being executed, this RPA process will be placed in the RPA process queue in sequence. When the RPA process status controller monitors that the process status is idle, it executes Step 300 to start the RPA process in the RPA process queue.
[0042] Step 700: The RPA process controller monitors the resources in the system in real time and modifies the number of RPA processes that can be executed simultaneously at any time.
[0043] Step 800: According to the actual RPA process execution requirements, Steps 200 - 600 will be executed in sequence.
[0044] RPA Process Monitoring Page
[0045] To monitor the current execution status and results of the RPA process, a service including a monitoring page is built-in, and the status of each current RPA process can be viewed in real time, including pending execution, in progress, and execution completed. When the execution ends, the execution results can be viewed in real time. Specific Embodiment 2
[0047] (1) The process designer designs multiple RPA process tasks that need to be executed in the browser in the RPA designer and conducts tests to ensure that there are no errors during the execution when the task is executed in the corresponding browser.
[0048] (2) Based on the requirements of the RPA process for the operating environment, especially the browser environment, deploy the RPA robot and the RPA process monitoring page on the server, configure the execution path of the RPA robot, deploy all RPA processes to be executed, and deploy and upgrade the corresponding browsers to ensure that the RPA process can be started and executed normally.
[0049] (3) Based on the actual situation, configure the type identifier of the browser corresponding to the RPA process and the execution path corresponding to the execution program in the configuration file to ensure that the browser can be started normally as needed.
[0050] (4) Use XML format to configure the maximum number of RPA processes and the maximum amount of system resources they occupy. For example, CPU: 30%, DDR: 60%, etc. The operator clicks the RPA process controller module, and the RPA robot executes multiple RPA test processes simultaneously and automatically determines the optimal number of RPA processes that can be executed simultaneously on this server.
[0051] (5) The application system calls the RestAPI interface provided by the implementation method to schedule the RPA process controller to execute the RPA process.
[0052] (6) In the specific execution process, RPA schedules the asynchronous process controller to start the browser corresponding to the process according to the parameters to execute the corresponding process tasks, and dynamically executes new RPA processes according to the number of RPA processes that can be executed simultaneously and the number of RPA processes being executed.
[0053] (7) The specific execution results of the RPA process can be viewed by logging into the service monitoring page provided by the implementation method.
[0054] Beneficial effects: The present invention provides an implementation system and method that supports RPA software to execute multiple process tasks in parallel on a browser. Under the premise of ensuring the effective use of server resources, by adopting this method, a set of robots can be deployed on a server, and multiple browsers can be run at the same time to execute tasks, and the data can be isolated from each other, and the processes do not interfere with each other. The built-in engine can dynamically adapt and expand the underlying driver DDL of various browsers according to the browser required by the RPA process. While ensuring that the RPA process can run normally based on common browsers such as Firefox, Google, IE, etc., it can further ensure the simultaneous operation of multiple different types of browsers.
[0055] When the RPA process is changed, there is no need to maintain multiple sets of virtual machine operating system environments, only one set of server operating system environment needs to be maintained, which places lower requirements on operation and maintenance personnel.
[0056] Under the premise of limited server resources, when the number of process tasks executed simultaneously exceeds a certain number, the efficiency will drop sharply. The present invention also provides a set of module algorithms to automatically run several RPA test processes and record the hardware data of the operating system at runtime, such as the efficiency of CPU and memory, the execution time of the process, etc. When the execution parameters exceed the configured values, such as the CPU exceeds 30%, the number of RPA processes that can be executed simultaneously will be automatically modified to ensure the optimal solution for the process execution efficiency.
[0057] The implementation method provides a REST HTTP interface to the outside world, and each application system schedules the RPA robot to execute the corresponding RPA process according to demand.
[0058] The above specific implementation methods further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above are only specific implementation methods of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.
Claims
1. A method for implementing a robot to execute multiple process tasks on a browser, characterized in that: The implementation method includes the following: Step 100: The RPA process controller determines the number of RPA processes that can be executed simultaneously based on server resources; Step 200: When the business system needs to call an RPA process, first the RPA process status controller obtains the number A of RPA processes that can be executed simultaneously and the number B of RPA processes that are currently being executed from the RPA process controller and the browser process status controller; when A < B, the RPA process status controller directly schedules the asynchronous process startup controller to execute the RPA process; Step 300: The asynchronous process startup controller schedules the corresponding process according to the browser type in the RPA process xml file to start the browser task and puts it into the process pool; at the same time, it notifies the browser process status controller of the process ID corresponding to this browser process; Step 400: The RPA robot parses the scheduling parameters, dynamically modifies the content of the description file before running, and executes the RPA process; when the RPA process execution ends, it notifies the process status controller; Step 500: The browser process listens to the process ID in real time, and when the process ends, it modifies the status corresponding to each browser process; Step 600: When the business system needs to call an RPA process, if the number A of processes that can be executed simultaneously > the number B of RPA processes that are currently being executed, this RPA process will be sequentially placed in the RPA process queue; when the RPA process status controller monitors that the process status is idle, it executes Step 300 to start the RPA process in the RPA process queue; Step 700: The RPA process controller monitors the resources in the system in real time and modifies the number of RPA processes that can be executed simultaneously at any time; Step 800: According to the actual RPA process execution requirements, Steps 200 - 600 will be executed sequentially.
Citation Information
Patent Citations
System and method for achieving distributed scheduling of remote browser
CN112799815A
RPA process automation method and system for IE browser operation
CN113342320A