CN113268334B - Scheduling method, device, equipment and storage medium of RPA robot - Google Patents
Scheduling method, device, equipment and storage medium of RPA robot Download PDFInfo
- Publication number
- CN113268334B CN113268334B CN202110702486.3A CN202110702486A CN113268334B CN 113268334 B CN113268334 B CN 113268334B CN 202110702486 A CN202110702486 A CN 202110702486A CN 113268334 B CN113268334 B CN 113268334B
- Authority
- CN
- China
- Prior art keywords
- order
- task order
- rpa robot
- scheduling
- target
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
The invention discloses a scheduling method of an RPA robot, which comprises the following steps: judging whether a target task order exists in a task order queue of an RPA robot scheduling platform; when the target task order is judged to exist in the task order queue, the task order allowance of the target RPA robot is inquired; calculating the maximum order quantity of a single RPA robot based on the historical order processing information of the target RPA robot; inquiring the unexecuted order quantity in the task order queue; calculating a scheduling quantity according to the task order allowance, the maximum order quantity and the unexecuted order quantity; and scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling quantity so as to complete the target task order in the task order queue. Therefore, the method can replace the current manual-dependent scheduling method, and improve the scheduling efficiency of the RPA robot. The invention also relates to the technical field of block chains.
Description
Technical Field
The present invention relates to the field of RPA robot technology, and in particular, to a scheduling method and apparatus for an RPA robot, a computer device, and a storage medium.
Background
The RPA (Robotic process automation) technology is a robot process automation technology, which can replace or assist humans to complete most of repetitive work in RPA robots, and at present, the RPA technology has started large-scale trial and application in the fields of manufacturing industry, energy, bank finance and the like. In a single RPA system, a plurality of RPA robots are usually included, and therefore, during operation, it is usually necessary to control the start or stop of each RPA robot according to an actual operation condition, and to assign tasks to each RPA robot to execute the tasks. However, in current RPA systems, scheduling for each RPA robot is typically achieved by: the task queue is manually scheduled, the operation condition of each RPA robot is manually observed, and when the tasks need to be processed, each RPA robot is manually scheduled and assigned. The scheduling method mainly relying on the manual RPA robot consumes large human resources, and the scheduling efficiency is not high.
Disclosure of Invention
The technical problem to be solved by the invention is that the current RPA robot scheduling method needs to consume larger human resources and the scheduling efficiency is not high.
In order to solve the above technical problem, a first aspect of the present invention discloses a scheduling method for an RPA robot, the method including:
judging whether a target task order exists in a task order queue of an RPA robot scheduling platform, wherein the RPA robot scheduling platform is used for scheduling an RPA robot according to the task order in the task order queue to complete the task order in the task order queue, and the target task order refers to the task order which is not executed;
when the target task order is judged to exist in the task order queue, inquiring the task order allowance of a target RPA robot, wherein the target RPA robot refers to the RPA robot which is running in the RPA robots under the scheduling of the RPA robot scheduling platform;
calculating the maximum order quantity of a single RPA robot based on historical order processing information of the target RPA robot, wherein the historical order processing information records the processing condition of task orders which are executed and completed by the target RPA robot;
inquiring the unexecuted order quantity in the task order queue;
calculating a scheduling quantity according to the task order allowance, the maximum order quantity and the unexecuted order quantity, wherein the scheduling quantity refers to the quantity of RPA robots to be scheduled;
and scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling quantity so as to complete the target task order in the task order queue.
The second aspect of the present invention discloses a scheduling apparatus for an RPA robot, the apparatus comprising:
the system comprises a judging module, a processing module and a processing module, wherein the judging module is used for judging whether a target task order exists in a task order queue of an RPA robot scheduling platform, the RPA robot scheduling platform is used for scheduling an RPA robot according to the task order in the task order queue so as to complete the task order in the task order queue, and the target task order refers to an unexecuted task order;
the query module is used for querying the task order allowance of a target RPA robot when the target task order is judged to exist in the task order queue, wherein the target RPA robot refers to all the RPA robots which are in operation and are under the scheduling of the RPA robot scheduling platform;
the calculation module is used for calculating the maximum order quantity of a single RPA robot based on historical order processing information of the target RPA robot, wherein the historical order processing information records the processing condition of the task order which is executed and completed by the target RPA robot;
the query module is further used for querying the unexecuted order quantity in the task order queue;
the calculating module is further configured to calculate a scheduling number according to the task order allowance, the maximum order amount, and the unexecuted order amount, where the scheduling number is a number of RPA robots to be scheduled;
and the scheduling module is used for scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling quantity so as to complete the target task order in the task order queue.
A third aspect of the present invention discloses a computer apparatus, comprising:
a memory storing executable program code;
a processor coupled to the memory;
the processor calls the executable program code stored in the memory to execute part or all of the steps in the scheduling method of the RPA robot disclosed by the first aspect of the invention.
In a fourth aspect, the present invention discloses a computer storage medium, which stores computer instructions for performing some or all of the steps of the scheduling method of an RPA robot disclosed in the first aspect of the present invention when the computer instructions are called.
In the embodiment of the invention, when an unexecuted task order (namely a target task order) exists in a task order queue, the task order allowance of the RPA robot currently running and the unexecuted order quantity in the task order queue are inquired, the maximum order quantity is calculated based on historical order processing information, then the scheduling quantity is calculated according to the task order allowance, the maximum order quantity and the unexecuted order quantity, and finally the RPA robot under an RPA robot scheduling platform is scheduled based on the scheduling quantity, so that the RPA robot under the RPA robot scheduling platform can be automatically scheduled according to the condition of the task order in the task order queue and the execution condition of the task order of the current RPA robot, the current manual-dependent scheduling method can be replaced, and the scheduling efficiency of the RPA robot is improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic flow chart of a scheduling method of an RPA robot according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a scheduling apparatus of an RPA robot according to an embodiment of the present invention;
FIG. 3 is a schematic structural diagram of a computer device according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a computer storage medium according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terms "first," "second," and the like in the description and claims of the present invention and in the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, apparatus, article, or article that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or article.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein may be combined with other embodiments.
The invention discloses a scheduling method, a device, computer equipment and a storage medium of an RPA robot, which are used for inquiring the task order allowance of the currently running RPA robot and the unexecuted order quantity in a task order queue when detecting that the unexecuted task order (namely a target task order) exists in the task order queue, calculating the maximum order quantity based on historical order processing information, then calculating the scheduling quantity according to the task order allowance, the maximum order quantity and the unexecuted order quantity, and finally scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling quantity, so that the RPA robot under the RPA robot scheduling platform can be automatically scheduled according to the condition of the task order in the task order queue and the executing condition of the task order of the current RPA robot, the current scheduling method depending on manpower can be replaced, and the scheduling efficiency of the RPA robot is improved. The following are detailed below.
Example one
Referring to fig. 1, fig. 1 is a schematic flow chart illustrating a scheduling method of an RPA robot according to an embodiment of the present invention. As shown in fig. 1, the scheduling method of the RPA robot may include the operations of:
101. and judging whether a target task order exists in a task order queue of an RPA robot scheduling platform, wherein the RPA robot scheduling platform is used for scheduling the RPA robot according to the task order in the task order queue to complete the task order in the task order queue, and the target task order refers to the task order which is not executed.
In the step 101, the RPA robot scheduling platform may be a passive response of real time scheduling (hereinafter referred to as "pross"), and the pross may be connected to the RPA platform, where the RPA platform is used to directly control each RPA robot. When the PRORS schedules the RPA robot, the corresponding RPA process and the RPA robot can be selected according to the task order, then the information such as the RPA process, the RPA robot identification and the like can be packaged in an HTTP request, and the HTTP request is sent to the RPA platform. Thus, after receiving the HTTP request, the RPA platform can control the RPA robot to execute a corresponding RPA process according to the received HTTP request, thereby completing the task order. The RPA process can be understood as a program which is preset in the RPA platform and can be used for controlling the RPA robot to execute a specified action. For example, there may be a node in the RPA flow for controlling the RPA robot to read the mail in the designated mailbox, and there may also be a node for controlling the RPA robot to extract the designated character from the mail. If the task order is used for scheduling the RPA robot to complete a laundry task, the selected RPA process may include a washing node, a dewatering node, a drying node, and the like. A task order queue may be set in the pross, and a user may manually add a task order to be executed in the task order queue (for example, the user sends an email containing the task order to the pross, and then the pross may add the task order in the email in the task order queue after receiving the email). In the pross, a timer may be set to periodically (e.g., once an hour, once a ten minute) detect whether there are any unexecuted task orders in the task order queue, and when the unexecuted task orders are detected, the RPA robot is scheduled to complete the task orders, so that the RPA robot can be efficiently and automatically scheduled. In the architecture of the pross, a plurality of instructions can be preset to implement different functions, and when the pross needs to complete a certain task, the corresponding instructions can be added into a preset instruction queue, and the instructions in the instruction queue are sequentially executed, so that the task is completed. The instruction queue can be managed by using redis, so that high-speed processing of instructions is realized, and the condition of high concurrency can be better handled. The preset instructions and the functions realized by the instructions can be as follows:
PRORS CHECK _ ORDER _ START-verifying if the robot successfully schedules and the ORDER is successfully dispatched
PRORS ROBOT _ RETRY _ QUEUE-recording machine scheduling failure RETRY QUEUE as an adjustable parameter when PRORS schedules ROBOTs
PRORS CONCURRENT _ ROBOTS-temporary queue of CONCURRENT scheduling machine for preventing repeated scheduling of the same machine in the same time period
ORDER _ ANALYSIS, historical execution of ORDER ANALYSIS, and decision-making for robot scheduling and ORDER dispatching by dynamically analyzing the time consumption and overall success rate of ORDERs
PRORS DISPATCH _ DAYCOUNT order Limit
PRORS DISPATCH _ LOCK-distributed robot scheduling LOCK
PRORS STOP _ DISPATCH-schedule prohibited time
PRORS ORDER _ QUEUE ORDER QUEUE, QUEUE for robot to take task
PRORS STOP _ FLAG-a FLAG that PRORS requires machine STOP
PRORS REVERT _ ROBOT-third party scheduling system return-needed machine
LIMIT _ BORROW-limiting machine borrowing when machine borrowing fails to a third party scheduling system
PRORS RUNNING _ ORDER _ QUEUE — is RUNNING machine ORDER margin.
102. And when the target task order is judged to exist in the task order queue, inquiring the task order allowance of a target RPA robot, wherein the target RPA robot refers to the RPA robot which is in operation in the RPA robots under the scheduling of the RPA robot scheduling platform.
In step 102, the task ORDER allowance of the target RPA robot may be queried via the PRORS, RUNNING _ ORDER _ QUEUE instruction. If the target RPA robot has 3, the three RPA robots are inquired to have 5, 2 and 3 task ORDERs unprocessed respectively through the PRORS RUNNING ORDER QUEUE instruction, and the task ORDER allowance of the target RPA robot can be determined to be 10.
103. Calculating the maximum order quantity of a single RPA robot based on historical order processing information of the target RPA robot, wherein the historical order processing information records the processing situation of the task orders which are executed and completed by the target RPA robot.
In step 103, in the pross, when the RPA robot completes one task order each time, historical order processing information corresponding to the task order processing may be generated. The historical order processing information may include information such as a processing start time, a processing end time, and a unique identifier of the RPA robot that has processed the task, for each task order that has been executed and completed by the RPA robot, and the number of the largest task orders that can be processed by a single RPA robot (i.e., the maximum order amount) may be predicted based on the information, and a specific prediction process will be described later. The maximum ORDER amount may be calculated by the PRORS, ORDER _ ANALYSIS instruction.
104. And inquiring the unexecuted order quantity in the task order queue.
In step 104 above, the amount of unexecuted ORDERs in the task ORDER QUEUE (i.e., the number of unexecuted task ORDERs in the task ORDER QUEUE) may be queried via the PRORS, ORDER _ QUEUE instruction.
105. And calculating a scheduling quantity according to the task order allowance, the maximum order quantity and the unexecuted order quantity, wherein the scheduling quantity refers to the quantity of the RPA robots to be scheduled.
106. And scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling number so as to complete the target task order in the task order queue.
After three values of the task order allowance, the maximum order amount, and the unexecuted order amount are determined, the number of RPA robots to be scheduled (i.e., the scheduled number) may be calculated based on the three values, and a specific calculation process will be described later. Then, a corresponding number of RPA robots are scheduled to complete execution of the target task order.
Therefore, when the embodiment of the invention is implemented, when an unexecuted task order (namely a target task order) in the task order queue is detected, the task order allowance of the currently running RPA robot and the unexecuted order quantity in the task order queue are inquired, the maximum order quantity is calculated based on historical order processing information, then the scheduling quantity is calculated according to the task order allowance, the maximum order quantity and the unexecuted order quantity, and finally the RPA robot under the RPA robot scheduling platform is scheduled based on the scheduling quantity, so that the RPA robot under the RPA robot scheduling platform can be automatically scheduled according to the condition of the task order in the task order queue and the executing condition of the current task order of the RPA robot, the current manual-dependent scheduling method can be replaced, and the scheduling efficiency of the RPA robot is improved.
In an optional embodiment, said calculating a maximum order quantity for a single RPA robot based on historical order processing information for said target RPA robot comprises:
determining the processing time length of each historical order according to the historical order processing information of the target RPA robot;
calculating the average value of the processing time lengths of all the historical orders to serve as the predicted processing time length of a single RPA robot;
and dividing the preset working time length of the single RPA robot by the predicted processing time length to obtain the maximum order amount of the single RPA robot.
In this alternative embodiment, when the historical order processing information includes the processing start time and the processing end time of each task order (i.e., the historical order) that has been executed and completed by the RPA robot, the difference between the processing start time and the processing end time of the historical order may be used as the processing time length of the historical order. Assuming that the number of historical orders is 3, the corresponding processing time is 10min, 5min and 15min, and the preset working time of a single RPA robot is 7 hours, the calculated predicted processing time of the single RPA robot is 10min, and the maximum order quantity of the single RPA robot is 42. The working time of a single RPA robot may be preset to different values according to actual needs, for example, the working time of RPA robots in different application scenarios may be greatly different each day, and the working time of RPA robots in different scenarios may be set to different values.
Therefore, by implementing the optional embodiment, the maximum order quantity of a single RPA robot is predicted according to the processing condition of the target RPA robot on the historical orders, so that the subsequently calculated scheduling quantity can be more accurate, and the final scheduling on the RPA robot is more accurate and effective.
In an optional embodiment, said calculating a scheduled quantity from said task order slack, said maximum order quantity, and said unexecuted order quantity comprises:
multiplying the maximum order quantity by the quantity of the target RPA robot to obtain the maximum order quantity of the target;
subtracting the task order allowance from the target maximum order quantity to obtain the executable order quantity of the target RPA robot;
subtracting the executable order quantity from the unexecuted order quantity to obtain an order quantity to be scheduled;
and dividing the amount of the orders to be scheduled by the maximum amount of the orders to obtain the scheduling amount.
In this alternative embodiment, the process of calculating the scheduled quantity from the task order margin, the maximum order quantity, and the unexecuted order quantity may be represented as the following formula:
wherein, a is the scheduling quantity, o is the unexecuted order quantity, b is the quantity of the target RPA robot, m is the maximum order quantity, and n is the task order allowance. The number of task orders (namely, executable order quantity) which can be processed by the RPA robot currently running is calculated according to the task order allowance of the RPA robot currently running and the maximum order quantity of a single RPA robot. Then, the amount of orders to be scheduled (i.e., the number of task orders that need to be processed by a new RPA robot) is obtained by subtracting the amount of orders that can be executed from the amount of orders that cannot be executed. Finally, the amount of orders to be scheduled is divided by the maximum amount of orders to obtain the scheduled amount (i.e., the amount of new RPA robots to be started).
Therefore, by implementing the optional embodiment, the number of the new RPA robots to be started (namely the scheduling number) can be calculated according to the processing condition of the task orders of the RPA robots currently running, so that the final scheduling of the RPA robots is more accurate and effective.
In an optional embodiment, the scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling number to complete the target task order in the task order queue includes:
determining starting RPA robots to be started from all RPA robots under the RPA robot scheduling platform, wherein the number of the starting RPA robots is equal to the scheduling number;
starting all the starting RPA robots;
and distributing the target task order to each starting RPA robot and each target RPA robot to complete the target task order.
In this alternative embodiment, after the scheduled number is calculated, i.e., the scheduled number of RPA robots are selected from the prods managed RPA robots to be started, the target task order is then assigned to each newly started RPA robot (i.e., the starting RPA robot) and to the RPA robot that is currently in operation (i.e., the target RPA robot), so that there are a sufficient number of RPA robots to complete the target task order. For example, 350 target task orders are total, the maximum number of task orders that a single RPA robot can process is 100, 3 newly started RPA robots are 3, 2 RPA robots already in operation are 2, and the number of task orders that the two running RPA robots can also process is 50, then 50 target task orders are respectively allocated to the two running RPA robots, then 100 target task orders are respectively allocated to two of the newly started RPA robots, and finally the remaining 50 target task orders are allocated to the last newly started RPA robot.
Therefore, when the optional embodiment is implemented, when the RPA robots are scheduled based on the scheduling number, the RPA robots of the scheduling number are started first, and then the target task orders are distributed to the newly started RPA robots and the RPA robots already running, so that sufficient RPA robots can be ensured to complete the target task orders, all the target task orders can be smoothly executed by the RPA robots, and the scheduling stability of the RPA robots is ensured.
In an optional embodiment, after said allocating said target task order to each of said initiating RPA robots and each of said target RPA robots to complete said target task order, said method further comprises:
judging whether the state of each RPA robot is normal or not;
when the state of the starting RPA robot is judged to be abnormal, adding the target task order distributed to the starting RPA robot into the task order queue again;
judging whether each target task order is successfully executed or not;
and when the target task order is judged to be executed unsuccessfully, adding the target task order into the task order queue again.
In this alternative embodiment, the RPA platform may periodically report the status of each starting RPA robot to the pross, or the pross may actively acquire the status of each starting RPA robot from the RPA platform. The state of the RPA robot may be classified into normal and abnormal (e.g., broken wire, false death, etc.), and when the state of the RPA robot is abnormal, the target task order allocated to the RPA robot is usually not executed smoothly. Therefore, when the state of a certain starting RPA robot is judged to be abnormal, the target task orders distributed to the starting RPA robot can be added into the task order queue again, so that the target task orders can be executed again. The RPA platform may return the processing status (i.e., whether execution was successful) of the target task order to the pross each time the RPA robot processes a target task order. When the processing condition returned by a certain target task order indicates that the target task order is not successfully executed, the target task order can be added into the task order queue again, so that the task order queue can be executed again.
Therefore, by implementing the optional embodiment, when the state of the starting RPA robot is abnormal or the target task order is not successfully executed, the target task order allocated to the starting RPA robot or the target task order which is not successfully executed can be added to the task order queue again, so that the target task orders can be executed again, the target task order can be recycled, and the target task order can be successfully executed.
In an alternative embodiment, each of the target task orders includes a number of executions of the target task order;
and after determining that the target task order is not successfully executed, before re-adding the target task order to the task order queue, the method further comprises:
judging whether the execution times of the target task order are larger than a preset execution time threshold value or not;
when the execution times of the target task order are judged not to be larger than the execution time threshold value, resetting the execution times of the target task order to be a value obtained by adding one to the value of the original execution times, and triggering the execution of the step of adding the target task order to the task order queue again;
and when the execution times of the target task order are judged to be larger than the execution time threshold value, adding the target task order into a preset task order recycling queue.
In this alternative embodiment, in practical applications, the reason why the execution of the target task order is unsuccessful is various. If due to problems with the assigned RPA robot, the reassigned new RPA robot may cause the target task order to be successfully executed, typically upon re-execution. If the target task order is a problem (e.g., the content of the target task order is wrong), the target task order cannot be successfully executed by re-allocating a new RPA robot, and for such a mistake, the problem cannot be solved by re-adding the target task order to the task order queue, and a special error handling process is required (e.g., returning the target task order to the user, so that the user performs manual handling). Therefore, the number of times of execution of the target task order may also be recorded in the target task order, and after it is determined that the target task order is not successfully executed, it may be continuously determined whether the number of times of execution of the target task order is greater than a preset number of times of execution threshold (e.g., 5 times, 10 times), if not, the number of times of execution of the target task order is reset to a value obtained by adding one to the value of the original number of times of execution (e.g., if the value of the original number of times of execution is 3, the number of times of execution is reset to 4), and the target task order is re-added to the task order queue to re-execute the target task order, and if it is greater than the number of times of execution threshold, it is indicated that the target task order has been re-executed for many times and has a greater possibility that the target task order has a problem, and at this time, the target task order is added to a preset task order recovery queue without re-executing the target task order. Finally, the task orders in the task order recycling queue can be sent to a terminal (such as a personal computer of the user) of the user in a timing mode, and the user carries out manual processing on the received task orders.
It can be seen that, by implementing the optional embodiment, after it is determined that the target task order is not successfully executed, it is continuously determined whether the execution time of the target task order is greater than a preset execution time threshold, if not, the target task order is re-executed, and if it is, the target task order is added to the task order recycling queue for special processing, so that the problem that the target task order remains in the task order queue, which affects the scheduling of the RPA robot, and improves the scheduling reliability of the RPA robot.
In an alternative embodiment, each of the target task orders includes a valid time period for the target task order;
and after determining that the target task order is not successfully executed, before re-adding the target task order to the task order queue, the method further comprises:
judging whether the current time is within the effective time period;
when the current moment is judged to be in the effective time period, triggering and executing the step of adding the target task order into the task order queue again;
and when the current moment is judged not to be in the effective time period, adding the target task order into a preset task order recycling queue.
In this alternative embodiment, in practical applications, the execution of some target task orders has a time-efficient requirement, for example, in an RPA robot for washing clothes, the task of washing clothes is usually completed in the morning to allow time for drying the clothes, and if the task of washing clothes is not completed in the morning, the task may be left to be executed tomorrow or directly deleted. Therefore, an effective time period may be set in the target task order, after it is determined that the target task order is not executed successfully, it is continuously determined whether the current time is within the effective time period, if the current time is within the effective time period (for example, the current time is 9 am, and the effective time period is 8 am to 12 am), the target task order may be added to the task order queue again for re-execution, and if the current time is not within the effective time period (for example, the current time is 1 pm, and the effective time period is 8 am to 12 am), the target task order may be added to the task order recycling queue. The user can manually process or directly delete the task orders in the task order recycling queue.
It can be seen that, by implementing the optional embodiment, after it is determined that the target task order is not successfully executed, it is continuously determined whether the current time is within the effective time period of the target task order, if so, the target task order is re-executed, and if not, the target task order is added to the task order recycling queue, so that the timeliness requirement of the target task order can be met while the target task order is re-executed, and the scheduling function of the RPA robot is enriched.
Optionally, it is also possible: and uploading the scheduling information of the RPA robot of the scheduling method of the RPA robot to a block chain.
Specifically, the scheduling information of the RPA robot is obtained by operating the scheduling method of the RPA robot, and is used for recording the scheduling condition of the RPA robot, such as the task order margin of the RPA robot, the maximum order amount of the RPA robot, the unexecuted order amount of the RPA robot, the scheduled number of the RPA robot, and the like. The scheduling information of the RPA robot is uploaded to the block chain, so that the safety and the fair and transparent performance to the user can be guaranteed. The user can download the scheduling information of the RPA robot from the blockchain so as to verify whether the scheduling information of the RPA robot of the scheduling method of the RPA robot is falsified. The blockchain referred to in this example is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanism, encryption algorithm, and the like. A block chain (Blockchain), which is essentially a decentralized database, is a series of data blocks associated by using a cryptographic method, and each data block contains information of a batch of network transactions, so as to verify the validity (anti-counterfeiting) of the information and generate a next block. The blockchain may include a blockchain underlying platform, a platform product service layer, an application service layer, and the like.
Example two
Referring to fig. 2, fig. 2 is a schematic structural diagram of a scheduling apparatus of an RPA robot according to an embodiment of the present invention. As shown in fig. 2, the scheduling apparatus of the RPA robot may include:
a determining module 201, configured to determine whether a target task order exists in a task order queue of an RPA robot scheduling platform, where the RPA robot scheduling platform is configured to perform scheduling of an RPA robot according to a task order in the task order queue to complete a task order in the task order queue, and the target task order refers to an unexecuted task order;
the query module 202 is configured to query a task order allowance of a target RPA robot when it is determined that the target task order exists in the task order queue, where the target RPA robot is an RPA robot that is running in all RPA robots scheduled by the RPA robot scheduling platform;
a calculating module 203, configured to calculate a maximum order amount of a single RPA robot based on historical order processing information of the target RPA robot, where the historical order processing information records a processing situation of a task order that has been executed and completed by the target RPA robot;
the query module 202 is further configured to query an unexecuted order amount in the task order queue;
the calculating module 203 is further configured to calculate a scheduling number according to the task order allowance, the maximum order amount, and the unexecuted order amount, where the scheduling number is a number of RPA robots to be scheduled;
and the scheduling module 204 is configured to schedule the RPA robot under the RPA robot scheduling platform based on the scheduling number to complete the target task order in the task order queue.
For the specific description of the scheduling apparatus of the RPA robot, reference may be made to the specific description of the scheduling method of the RPA robot, and for avoiding repetition, details are not repeated here.
EXAMPLE III
Referring to fig. 3, fig. 3 is a schematic structural diagram of a computer device according to an embodiment of the present invention. As shown in fig. 3, the computer apparatus may include:
a memory 301 storing executable program code;
a processor 302 connected to the memory 301;
the processor 302 calls the executable program code stored in the memory 301 to execute the steps in the scheduling method of the RPA robot disclosed in the first embodiment of the present invention.
Example four
Referring to fig. 4, an embodiment of the present invention discloses a computer storage medium 401, where the computer storage medium 401 stores computer instructions, and the computer instructions are used to execute steps in the scheduling method of an RPA robot disclosed in an embodiment of the present invention when being called.
The above-described embodiments of the apparatus are merely illustrative, and the modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above detailed description of the embodiments, those skilled in the art will clearly understand that each embodiment may be implemented by software plus a necessary general hardware platform, and may also be implemented by hardware. Based on such understanding, the above technical solutions may be embodied in the form of a software product, which may be stored in a computer-readable storage medium, wherein the storage medium includes a Read-Only Memory (ROM), a Random Access Memory (RAM), a Programmable Read-Only Memory (PROM), an Erasable Programmable Read-Only Memory (EPROM), a One-time Programmable Read-Only Memory (OTPROM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc-Read-Only Memory (CD-ROM) or other Memory capable of storing data, a magnetic tape, or any other computer-readable medium capable of storing data.
Finally, it should be noted that: the scheduling method, apparatus, computer device and storage medium for RPA robot disclosed in the embodiments of the present invention are only preferred embodiments of the present invention, and are only used for illustrating the technical solution of the present invention, rather than limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those skilled in the art; the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims (10)
1. A method of scheduling an RPA robot, the method comprising:
judging whether a target task order exists in a task order queue of an RPA robot scheduling platform, wherein the RPA robot scheduling platform is used for scheduling an RPA robot according to the task orders in the task order queue to complete the task orders in the task order queue, the target task order refers to the task order which is not executed, and the target task order comprises the task order which is newly added into the task order queue;
when the target task order is judged to exist in the task order queue, inquiring the task order allowance of a target RPA robot, wherein the target RPA robot refers to the RPA robot which is running in the RPA robots under the scheduling of the RPA robot scheduling platform;
calculating the maximum order quantity of a single RPA robot based on historical order processing information of the target RPA robot, wherein the historical order processing information records the processing condition of task orders which are executed and completed by the target RPA robot;
inquiring the unexecuted order quantity in the task order queue;
calculating a scheduling quantity according to the task order allowance, the maximum order quantity and the unexecuted order quantity, wherein the scheduling quantity refers to the quantity of RPA robots to be scheduled;
scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling quantity so as to complete the target task order in the task order queue;
judging whether the state of each starting RPA robot is normal or not;
when the state of the starting RPA robot is judged to be abnormal, adding the target task order distributed to the starting RPA robot into the task order queue again;
judging whether each target task order is successfully executed or not;
and when the target task order is judged not to be executed successfully, the target task order is added into the task order queue again.
2. The method for scheduling an RPA robot according to claim 1, wherein said calculating a maximum order amount for a single RPA robot based on historical order processing information of the target RPA robot comprises:
determining the processing time length of each historical order according to the historical order processing information of the target RPA robot;
calculating the average value of the processing time lengths of all the historical orders to serve as the predicted processing time length of a single RPA robot;
and dividing the preset working time length of the single RPA robot by the predicted processing time length to obtain the maximum order amount of the single RPA robot.
3. The method of scheduling of an RPA robot according to claim 1, wherein said calculating a scheduled quantity from said task order slack, said maximum order quantity, and said unexecuted order quantity comprises:
multiplying the maximum order quantity by the quantity of the target RPA robot to obtain the maximum order quantity of the target;
subtracting the task order allowance from the target maximum order quantity to obtain the executable order quantity of the target RPA robot;
subtracting the executable order quantity from the unexecuted order quantity to obtain an order quantity to be scheduled;
and dividing the amount of the orders to be scheduled by the maximum amount of the orders to obtain the scheduling amount.
4. The RPA robot scheduling method of any one of claims 1-3, wherein said scheduling the RPA robot under the RPA robot scheduling platform based on the scheduled number to complete the target task order in the task order queue comprises:
determining starting RPA robots to be started from all RPA robots under the RPA robot scheduling platform, wherein the number of the starting RPA robots is equal to the scheduling number;
starting all the starting RPA robots;
and distributing the target task order to each starting RPA robot and each target RPA robot to complete the target task order.
5. The scheduling method of an RPA robot according to claim 1, wherein each of said target task orders comprises a number of executions of the target task order;
and after determining that the target task order is not successfully executed, before re-adding the target task order to the task order queue, the method further comprises:
judging whether the execution times of the target task order are larger than a preset execution time threshold value or not;
when the execution times of the target task order is judged to be not greater than the execution times threshold value, resetting the execution times of the target task order to be a numerical value obtained by adding one to the numerical value of the original execution times, and triggering the execution of the step of adding the target task order to the task order queue again;
and when the execution times of the target task order are judged to be larger than the execution time threshold value, adding the target task order into a preset task order recycling queue.
6. The scheduling method of an RPA robot according to claim 1, wherein each of said target task orders comprises a valid time period for the target task order;
and after judging that the target task order is not successfully executed, before adding the target task order to the task order queue again, the method further comprises the following steps:
judging whether the current time is within the effective time period;
when the current moment is judged to be within the effective time period, triggering and executing the step of adding the target task order into the task order queue again;
and when the current moment is judged not to be in the effective time period, adding the target task order into a preset task order recycling queue.
7. The method for scheduling an RPA robot according to claim 5 or 6, wherein after said adding the target task order to a preset task order reclaim queue, the method further comprises:
and sending the task orders in the task order recycling queue to a terminal of a user at regular time, and carrying out manual processing on the received task orders by the user.
8. A scheduling apparatus of an RPA robot, the apparatus comprising:
the RPA robot scheduling system comprises a judging module and a task order queue management module, wherein the judging module is used for judging whether a target task order exists in the task order queue of an RPA robot scheduling platform, the RPA robot scheduling platform is used for scheduling an RPA robot according to the task order in the task order queue to complete the task order in the task order queue, the target task order refers to an unexecuted task order, and the target task order comprises a task order which is newly added into the task order queue;
the query module is used for querying the task order allowance of a target RPA robot when the target task order is judged to exist in the task order queue, wherein the target RPA robot refers to the RPA robot which is running in the RPA robots under the scheduling of the RPA robot scheduling platform;
the calculation module is used for calculating the maximum order quantity of a single RPA robot based on historical order processing information of the target RPA robot, wherein the historical order processing information records the processing condition of the task orders which are executed and completed by the target RPA robot;
the query module is further used for querying the unexecuted order quantity in the task order queue;
the calculating module is further configured to calculate a scheduling number according to the task order allowance, the maximum order amount, and the unexecuted order amount, where the scheduling number is a number of RPA robots to be scheduled;
the scheduling module is used for scheduling the RPA robot under the RPA robot scheduling platform based on the scheduling quantity so as to complete the target task order in the task order queue;
the state judgment module is used for judging whether the state of each starting RPA robot is normal or not;
the first recovery module is used for adding the target task order distributed to the starting RPA robot into the task order queue again when the starting RPA robot is judged to be abnormal;
the execution judging module is used for judging whether each target task order is successfully executed or not;
and the second recovery module is used for adding the target task order into the task order queue again when the target task order is judged to be executed unsuccessfully.
9. A computer device, characterized in that the computer device comprises:
a memory storing executable program code;
a processor coupled to the memory;
the processor calls the executable program code stored in the memory to execute the scheduling method of the RPA robot according to any of claims 1-7.
10. A computer-readable storage medium, storing a computer program, wherein the computer program, when executed by a processor, implements the scheduling method of an RPA robot according to any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110702486.3A CN113268334B (en) | 2021-06-24 | 2021-06-24 | Scheduling method, device, equipment and storage medium of RPA robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110702486.3A CN113268334B (en) | 2021-06-24 | 2021-06-24 | Scheduling method, device, equipment and storage medium of RPA robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268334A CN113268334A (en) | 2021-08-17 |
CN113268334B true CN113268334B (en) | 2022-10-14 |
Family
ID=77235936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110702486.3A Active CN113268334B (en) | 2021-06-24 | 2021-06-24 | Scheduling method, device, equipment and storage medium of RPA robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268334B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114919908B (en) * | 2022-05-18 | 2023-04-28 | 北京航空航天大学 | Storage robot configuration quantity planning method and device and electronic equipment |
CN115526426A (en) * | 2022-10-27 | 2022-12-27 | 广东广信通信服务有限公司 | Method for predicting RPA robot task execution amount based on time series data |
CN117076091B (en) * | 2023-10-12 | 2024-01-26 | 宁波银行股份有限公司 | Multi-engine interface scheduling method and device, electronic equipment and storage medium |
CN117873657A (en) * | 2023-12-06 | 2024-04-12 | 上海百秋新网商数字科技有限公司 | Scheduling method and device for RPA task execution queue of headless browser based on redis |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019196244A1 (en) * | 2018-04-10 | 2019-10-17 | 平安科技(深圳)有限公司 | Real-time order callback method and system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104113644B (en) * | 2014-06-27 | 2017-01-04 | 国家电网公司 | A kind of Customer Service Center traffic load Forecasting Methodology |
CN107291078B (en) * | 2017-06-06 | 2019-11-08 | 歌尔股份有限公司 | A kind of dispatching method and device of service robot |
WO2019223703A1 (en) * | 2018-05-21 | 2019-11-28 | 北京极智嘉科技有限公司 | Order processing method and device, server, and storage medium |
EP3699832A1 (en) * | 2019-02-19 | 2020-08-26 | Tata Consultancy Services Limited | Systems and methods for optimizing scheduling of non-preemptive tasks in multi-robotic environment |
CN112860387A (en) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | Distributed task scheduling method and device, computer equipment and storage medium |
CN111784247A (en) * | 2020-07-01 | 2020-10-16 | 上海木木聚枞机器人科技有限公司 | Intelligent robot scheduling method and system |
-
2021
- 2021-06-24 CN CN202110702486.3A patent/CN113268334B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019196244A1 (en) * | 2018-04-10 | 2019-10-17 | 平安科技(深圳)有限公司 | Real-time order callback method and system |
Also Published As
Publication number | Publication date |
---|---|
CN113268334A (en) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113268334B (en) | Scheduling method, device, equipment and storage medium of RPA robot | |
CN108595157B (en) | Block chain data processing method, device, equipment and storage medium | |
CN108255582B (en) | Method, system, equipment and storage medium for garbage recovery of java virtual machine | |
CN110838065A (en) | Transaction data processing method and device | |
CN110611707B (en) | Task scheduling method and device | |
CN108446171B (en) | Electronic device, distributed system execution task allocation method and storage medium | |
US20020188765A1 (en) | System and method for dynamic self-determining asynchronous event-driven computation | |
CN110990233A (en) | Method and system for displaying SOAR by using Gantt chart | |
CN103294558A (en) | MapReduce scheduling method supporting dynamic trust evaluation | |
CN109783385B (en) | Product testing method and device | |
CN111813518A (en) | Robot early warning method and device, computer equipment and storage medium | |
CN106874080B (en) | Data calculation method and system based on distributed server cluster | |
Khlifi et al. | GR-TNCES: New extensions of R-TNCES for modelling and verification of flexible systems under energy and memory constraints | |
CN113032128B (en) | Multi-task control method and device, electronic equipment and storage medium | |
CN113065055B (en) | News information capturing method and device, electronic equipment and storage medium | |
CN112631551B (en) | Random number generation method, device, electronic equipment and storage medium | |
CN115185744A (en) | Validity verification method and device of backup data and computer equipment | |
CN115168509A (en) | Processing method and device of wind control data, storage medium and computer equipment | |
CN115187097A (en) | Task scheduling method and device, electronic equipment and computer storage medium | |
CN114090604A (en) | Request processing method and device | |
CN112686644A (en) | Project operation state monitoring method, system, equipment and storage medium | |
CN111427698A (en) | Azakban-based data synchronization method and device and computer equipment | |
De Mol et al. | Roots of'Program'revisited | |
CN111698266A (en) | Service node calling method, device, equipment and readable storage medium | |
CN110245009A (en) | Periodic duty distribution method, device, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |