CN115408136B - RPA flow scheduling method based on genetic algorithm - Google Patents

RPA flow scheduling method based on genetic algorithm Download PDF

Info

Publication number
CN115408136B
CN115408136B CN202211353019.5A CN202211353019A CN115408136B CN 115408136 B CN115408136 B CN 115408136B CN 202211353019 A CN202211353019 A CN 202211353019A CN 115408136 B CN115408136 B CN 115408136B
Authority
CN
China
Prior art keywords
rpa
actuator
task
scheduling
resource
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
Application number
CN202211353019.5A
Other languages
Chinese (zh)
Other versions
CN115408136A (en
Inventor
付磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Sigao Intelligent Technology Co ltd
Original Assignee
Anhui Sigao Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui Sigao Intelligent Technology Co ltd filed Critical Anhui Sigao Intelligent Technology Co ltd
Priority to CN202211353019.5A priority Critical patent/CN115408136B/en
Publication of CN115408136A publication Critical patent/CN115408136A/en
Application granted granted Critical
Publication of CN115408136B publication Critical patent/CN115408136B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention provides a RPA flow scheduling method based on a genetic algorithm, which comprises the steps of drawing an RPA flow script, capturing RPA operation characteristics, converting services into the RPA flow script, analyzing a user demand list to obtain an RPA task constraint rule, and constructing an RPA characteristic attribute; registering an actuator and capturing characteristics of the actuator, registering an execution program on a machine, automatically capturing the characteristics of the machine at regular time, and reporting the characteristics through heartbeat; and designing an RPA flow scheduling algorithm based on a genetic algorithm with the high success rate and the high resource utilization rate as the targets. The invention can extract RPA task characteristics from the RPA flow script, monitor the resource fluctuation and hardware information of each machine in the cluster in real time, and assist the scheduling system to rapidly execute task scheduling; according to the RPA task characteristics and the machine information in the cluster, a multi-objective optimization scheduling strategy facing to success rate and resource cost is formulated, the RPA job scheduling success rate is improved, and the consumption of cluster machines is reduced.

Description

RPA flow scheduling method based on genetic algorithm
Technical Field
The invention relates to the technical field of software engineering resource distributed task scheduling, in particular to an RPA flow scheduling method based on a genetic algorithm.
Background
Robotic Process Automation (RPA) is a rapidly developing automation technology in recent years, and the development of artificial intelligence forces people to examine what work should be automated and what work should be done by humans. One important development is RPA, which is a software robot used to simulate and copy the highly repetitive tasks that human beings perform in the User Interface (UI) of their application programs, and the greatest advantage of RPA is to complete services in bulk by simulating the complex behavior of human beings, rather than writing a large amount of code and scripts to implement complex service links. After a user submits a batch of RPA tasks, the RPA tasks need to be dispatched to an actuator cluster, and each task is specified to be executed by which actuator. This is a classical distributed task scheduling system, and the common scheduling algorithm includes: rotation method-numbering cluster nodes and distributing tasks one by one in sequence; greedy method-allocation according to task resource requirements and node load; meta-heuristic algorithm-mathematical modeling is performed on the scheduling problem, and the scheduling decision is solved by iterative optimization under the condition of meeting the resource constraint.
The RPA task does not require strong timeliness in the scheduling process, but emphasizes high success rate and low machine overhead, and is more suitable for deep optimization by adopting a meta-heuristic algorithm. However, the existing algorithm fails to consider the task characteristics of the RPA, for example, the resources of the executor change dynamically, and the task resource requirements are divided into a strong constraint and a weak constraint. Strongly constrained resources must be satisfied, such as the need to monopolize the display; weakly constrained resources are predictions of the task execution requirements, e.g., how much memory is occupied, and such resources may be overloaded during scheduling, but may affect the task success rate.
Disclosure of Invention
In view of the above, the present invention provides a genetic algorithm based RPA process scheduling method, comprising the following steps:
s1, drawing an RPA process script, capturing RPA operation characteristics, acquiring key characteristics of RPA scheduling in an RPA process demand list uploaded by a user, and labeling an RPA task;
s2, automatically capturing resource fluctuation and hardware information of the machine at regular time through an actuator, and registering and reporting to a cluster zookeeper through heartbeat to obtain resource characteristics of the cluster machine;
and S3, inputting the high-dimensional characteristics of the RPA task and the cluster machine into a genetic algorithm to perform multi-objective optimization and scheduling.
Further, the step S1 specifically includes:
s11, acquiring key constraint rules according to an RPA task demand list uploaded by a user, and packaging the key constraint rules into a corresponding RPA model;
s12, converting constraint rules in the RPA model into RPA task characteristics, wherein the constraint rules comprise strong constraint rules and weak constraint rules, the strong constraint rules are necessary hardware bases and strong user requirements when the RPA runs, and the strong constraint rules mainly comprise hard requirements on whether software is monopolized, whether a display is monopolized, whether interruption can be performed, and the resolution ratio of the display and the software version; the weak constraint rule mainly comprises the estimated running time, CPU, memory and bandwidth requirements;
further, the step S2 specifically includes:
s21, when the RPA actuator is started, the actuator registration center immediately and automatically senses, registers the actuator to the unified management center, and maintains various operation states of the actuator in the whole process;
s22, when the actuator starts the background execution flow, automatically reporting the hardware resources of the actuator to a registration center at regular time, and dynamically collecting the hardware layer resource information of the actuator in real time; the executor hardware resources include: maximum memory capacity, memory utilization rate, maximum CPU core number, CPU utilization rate, network bandwidth, disk IO rate, display resolution, display number, camera number and microphone number;
the CPU utilization rate calculation method comprises the following steps:
Figure 466091DEST_PATH_IMAGE002
wherein the content of the first and second substances,kernelis the difference between the current operating system core clock and the operating system core clock a particular time ago,useris the difference between the current user process clock and the user process clock before the specified time,idlethe interval between the start time point and the end time point of statistics when calculating the utilization rate;
the memory utilization rate calculation formula is as follows:
Figure 383232DEST_PATH_IMAGE004
wherein the content of the first and second substances,totalrefers to the total capacity of the physical memory of the actuator machine,bufferedrefers to the buffer size of the operating system for the block device,cachedrefers to the buffer size that the operating system uses for the file system,freeindicating the free memory capacity of the physical memory of the current actuator machine;
and expressing the IO rate by using one-Time IO _ Time:
Figure 162969DEST_PATH_IMAGE006
seek_timerefers to the average addressing time of the disk,rotation_speedrefers to the average rotation time delay of the magnetic disk,IO_ chunk_sizerefers to the size of a single IO data volume of a disk,transfer_ratethe maximum read-write speed of the magnetic disk is pointed;
s23, automatically reporting an RPA actuator software environment to an actuator registration center by an actuator background execution stream, wherein the software environment comprises a browser kernel version, a browser release version, an excel version and a word version;
s24, recording each distributed task audit log at any time in the operation process of the actuator, wherein the recording comprises the following steps: recording when the task is distributed, recording when the task runs, and recording when the task is finished; and judging the running state of the actuator through the audit log, constructing an actuator resource calculation method based on the audit log, calculating the condition that the actuator occupies the calculation resources in real time, and reporting the condition to a resource management center.
Further, the step S3 specifically includes:
s31, modeling RPA flow scheduling into a variable-size vector boxing problem, and distributing corresponding actuators to each RPA task with the aim of maximizing the RPA task execution success rate and minimizing the number of the actuators under the resource limitation of meeting a strong constraint rule;
in one scheduling process, M actuatorsE={e 1 ,e 2 ,...,e M And N RPA tasksT={t 1 ,t 2 ,...,t N }; actuatore m Has a strongly constrained resource capacity of
Figure 558178DEST_PATH_IMAGE008
Weakly constrained resource capacity of
Figure 310234DEST_PATH_IMAGE010
(ii) a Taskt n Has a strongly constrained resource requirement of
Figure 132696DEST_PATH_IMAGE012
Weakly constrained resource requirements of
Figure 399729DEST_PATH_IMAGE014
(ii) a Wherein the content of the first and second substances,pin order to strongly restrict the number of resources,qin order to weakly constrain the number of resources,mrepresents the firstmAn actuator is arranged on the base plate, and the actuator is arranged on the base plate,nrepresents the firstnA task;
scheduling decisionsX=[x 1 ,x 2 ,…,x n ],x n =e(t n ) Representing a taskt n Dispatch to executore(t n ) To be executed, a task can only be scheduled to at most one actuator,
Figure 598629DEST_PATH_IMAGE015
indicating a task is not yet takent n To any actuator; actuatore m Is a set of tasks onT(e m ),T(e m ) The sum of the strongly-constrained resource requirements of all the tasks in the system cannot exceede m The remaining capacity of (a), namely:
Figure 205191DEST_PATH_IMAGE017
actuatore m The sum of the weakly constrained resource requirements of all the tasks can exceed its remaining capacity, i.e., the weakly constrained resource can be overloaded, but it can affect the execution success rate of the task, which is the execution success rate of the taskα n Comprises the following steps:
Figure 198555DEST_PATH_IMAGE019
if the task is scheduled to a certain actuator, the actuator is required to be started, and the actuatore m Enable identification of
Figure 952884DEST_PATH_IMAGE020
Comprises the following steps:
Figure 689896DEST_PATH_IMAGE021
s32, performing lexicographic order optimization on the multi-objective optimization problem, namely sequencing a plurality of targets according to priorities, wherein the problem is to find a scheduling decision X and minimize the number of actuators to be started on the premise of maximizing the execution success rate:
Figure 213282DEST_PATH_IMAGE022
s33, setting chromosomes of genetic individuals as scheduling decisions X, and setting individualsiThe adaptive value is the average execution success rate of the task
Figure 580809DEST_PATH_IMAGE023
And inverse number of actuators activated
Figure 822434DEST_PATH_IMAGE024
Evaluating the quality of the individuals according to the priority of the target, and the individualsaIs superior to the individualbThe standard of (2) is:
Figure 97558DEST_PATH_IMAGE025
wherein, the first and the second end of the pipe are connected with each other,
Figure 741029DEST_PATH_IMAGE026
is an individualaThe adaptive value of (a) is set,
Figure 76195DEST_PATH_IMAGE027
is an individualbAn adaptation value of;
s34, initializing a genetic population, generating a random chromosome for each individual, and adjusting according to a greedy algorithmXTo satisfy strong resource constraints, specifically: firstly, randomly distributing an actuator for each task; secondly, whether the strong resource capacity of each actuator is overloaded or not is checked, and the tasks which exceed the strong resource capacity and have the least resource requirements are cancelled and distributed; finally, the unallocated tasks are allocated to the executor with the minimum residual capacity according to the sequence from small to large of the resource demand, and the tasks are not allocated if the executor without the residual capacity is not met;
s35, carrying out evolution iteration on the population by using a genetic operator; wherein, the selection operator has a returned binary championship according to the good and bad relation; the crossover operator is multipoint crossover, namely a segment with a certain length is selected, and the scheduling decisions of two individuals in the segment are exchanged; the mutation operator is multipoint mutation, namely selecting a segment with a certain length, and carrying out random re-scheduling on scheduling decisions of 5 individuals in the segment. After crossing and mutation, the individuals need to be adjusted according to a greedy algorithm to meet strong resource constraint;
s36, when the specified iteration times are reached, returning to the scheduling decision for minimizing the number of the actuators to be started on the premise of maximizing the execution success rateX
The technical scheme provided by the invention has the beneficial effects that:
the invention provides a RPA flow scheduling method based on a genetic algorithm, which can extract RPA task characteristics from an RPA flow script, monitor the resource fluctuation and hardware information of each machine in a cluster in real time from registered execution machines, and assist a scheduling system to rapidly execute task scheduling; according to the RPA task characteristics and the machine information in the cluster, a multi-objective optimization scheduling strategy facing to success rate and resource cost can be formulated, the RPA job scheduling success rate is improved, and the consumption of cluster machines is reduced.
Drawings
The invention will be further described with reference to the accompanying drawings and tables and examples, in which:
FIG. 1 is a flow chart of the RPA flow scheduling method based on genetic algorithm of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be further described with reference to the accompanying drawings.
Referring to fig. 1, fig. 1 is a flowchart of an RPA process scheduling method based on a genetic algorithm according to the present invention, and the RPA process scheduling method based on a genetic algorithm according to the present invention includes the following steps:
s1, drawing an RPA process script, capturing RPA operation characteristics, acquiring key characteristics of RPA scheduling in an RPA process demand list uploaded by a user, and labeling an RPA task.
S11, acquiring key constraint rules according to an RPA task demand list uploaded by a user, and packaging the key constraint rules into a corresponding RPA model; converting constraint rules in an RPA (resilient packet Access) model into RPA task characteristics, wherein the RPA model is provided with strong constraint rules and weak constraint rules, the strong constraint rules are necessary hardware bases and strong user requirements during RPA operation, and the strong constraint rules mainly comprise hard requirements on whether software is monopolized, whether a display is monopolized, whether interruption can be performed, the resolution ratio of the display and the software version; weak constraint rules are usually expressed in terms of resources, mainly including estimated run length, CPU, memory and bandwidth requirements; strong constraint rules must cause a failure in RPA flow scheduling once violated, and weak constraint rules typically affect RPA flow performance.
For one scheduling process, M actuatorsEAnd N RPA tasksTSpecifically, the following are shown:
E={e 1 ,e 2 ,...,e M }
T={t 1 ,t 2 ,...,t N }
actuatore m Strongly constrained resource capacity ofCs m And weakly constrained resource capacityCw m Is represented as follows:
Figure 805117DEST_PATH_IMAGE007
Figure 320150DEST_PATH_IMAGE009
taskt n Strongly constrained resource requirementsRs n And weakly constrained resource requirementsRw n Is represented as follows:
Figure 818127DEST_PATH_IMAGE011
Figure 589774DEST_PATH_IMAGE013
s2, automatically capturing resource fluctuation and hardware information of the machine at regular time through an actuator, and registering and reporting to a cluster zookeeper through heartbeat to obtain resource characteristics of the cluster machine.
And S21, managing the state of the RPA executor. Aiming at better realization of automatic operation and maintenance management, the invention provides automatic registration of the executor. When the actuator is automatically registered, the actuator registration center immediately automatically senses when the RPA actuator is started and registers the actuator to the unified management center, so that the global non-sensing dynamic capacity expansion and reduction of an administrator are realized. Various operation states of the actuators are maintained in the whole process, and high availability, high expandability and high operation and maintenance performance of the actuators in the cluster are realized;
and S22, dynamically collecting the hardware resources of the RPA executor. Aiming at better measuring the current execution capacity and the maximum execution capacity of the actuator, the invention is used for more accurate and efficient scheduling and provides real-time dynamic collection of hardware level resource information of the actuator. The executor starts a background execution stream, and automatically reports hardware resources of the executor machine to a registration center in a timing manner, so that the maximum memory capacity, the memory utilization rate, the maximum CPU core number, the CPU utilization rate, the network bandwidth and the disk IO rate of the executor machine are collected in real time. Besides collecting and calculating hardware resources, common external equipment hardware resources such as display resolution, display quantity, camera quantity, microphone quantity and the like are collected at the same time, so that fine-grained, accurate and reasonable RPA task scheduling and distribution are supported.
In step S22, the CPU utilization calculation method includes:
Figure 540412DEST_PATH_IMAGE001
wherein the content of the first and second substances,kernelis the difference between the current operating system core clock and the operating system core clock a particular time ago,useris the difference between the current user process clock and the user process clock before the specified time,idlerefers to the interval length between the starting time point and the ending time point which needs to be counted when calculating the utilization rate.
The memory utilization rate calculation formula is as follows:
Figure 422918DEST_PATH_IMAGE029
wherein, the first and the second end of the pipe are connected with each other,totalrefers to the total capacity of the physical memory of the actuator machine,bufferedrefers to the buffer size of the operating system for the block device,cachedrefers to the buffer size that the operating system uses for the file system,freeindicating the free memory capacity of the physical memory of the current actuator machine;
using one IO timeIO_TimeThe expression IO rate:
Figure 713085DEST_PATH_IMAGE030
seek_timerefers to the average addressing time of the magnetic disk,rotation_speedrefers to the average rotation time delay of the magnetic disk,IO_ chunk_sizerefers to the size of a single IO data volume of a disk,transfer_ratethe maximum read-write speed of the magnetic disk is pointed;
and S23, automatically collecting the software environment of the RPA executor. The invention provides the ecological detection of the machine software of the actuator aiming at determining the execution environment of the actuator software, and the background execution flow of the actuator is automatically reported to an actuator registration center. The specific detected software environment comprises a browser kernel version, a browser release version, an excel version, a word version and the like;
and S24, recording the running tasks of the RPA executor. The invention provides the task statistics and automatic collection of the actuator aiming at the load of the task executed by the actuator and the use condition of resources. In the operation process of the executor, recording each distributed task audit log at any time, wherein the audit log comprises the following steps: and recording when the tasks are distributed, recording when the tasks run, and recording when the tasks are finished. And judging the running state of the actuator through the audit log, constructing an actuator resource calculation method based on the audit log, calculating the condition that the actuator occupies the calculation resources in real time, and reporting the condition to a resource management center.
And S3, inputting the high-dimensional characteristics of the RPA task and the cluster machine into a genetic algorithm to perform multi-objective optimization and scheduling.
S31, modeling RPA flow scheduling into a variable-size vector boxing problem, namely under the condition of meeting the resource limitation of a strong constraint rule, aiming at maximizing the RPA task execution success rate and minimizing the number of enabled actuators, and distributing corresponding actuators for each RPA task.
In one scheduling process, M actuatorsE={e 1 ,e 2 ,...,e M And N RPA tasksT={t 1 ,t 2 ,...,t N }; actuatore m Of strongly constrained resource capacity of
Figure 655633DEST_PATH_IMAGE007
Weakly constrained resource capacity of
Figure 93568DEST_PATH_IMAGE009
(ii) a Taskt n Has a strongly constrained resource requirement of
Figure 514185DEST_PATH_IMAGE011
With weakly constrained resource requirements of
Figure 986754DEST_PATH_IMAGE013
(ii) a Wherein the content of the first and second substances,pin order to strongly restrict the number of resources,qin order to weakly constrain the number of resources,mrepresents the firstmAn actuator is arranged on the base plate, and the actuator is arranged on the base plate,nrepresents the firstnA task;
scheduling decisions X=[x 1 ,x 2 ,…,x n ],x n =e(t n ) Representing a taskt n Dispatch to executore(t n ) To be executed, a task can only be scheduled to at most one actuator,
Figure 100204DEST_PATH_IMAGE015
indicating a missing taskt n To any actuator; actuatore m Shang renThe service set isT(e m ),T(e m ) The sum of the strongly-constrained resource requirements of all the tasks in the system cannot exceede m The remaining capacity of (a), namely:
Figure 963118DEST_PATH_IMAGE031
actuatore m The sum of the weakly constrained resource requirements of all the tasks can exceed the remaining capacity, i.e., the weakly constrained resource can be overloaded, but the execution success rate of the task is affectedα n Success rate of execution of the taskα n Comprises the following steps:
Figure 187426DEST_PATH_IMAGE033
if the task is scheduled to a certain actuator, the actuator is required to be started, and the actuatore m Enable identification of
Figure 248923DEST_PATH_IMAGE020
Comprises the following steps:
Figure 533273DEST_PATH_IMAGE034
s32, performing lexicographic order optimization on the multi-objective optimization problem, namely sequencing a plurality of targets according to priorities, wherein the problem aims to find a scheduling decision X, minimize the number of actuators under the premise of maximizing the execution success rate, and then solving by adopting a genetic algorithm:
Figure 945800DEST_PATH_IMAGE022
s33, setting chromosomes of genetic individuals as scheduling decisions X, and setting adaptive values of individuals i as average task execution success rates
Figure 911482DEST_PATH_IMAGE035
And inverse number of actuators activated
Figure 93065DEST_PATH_IMAGE036
Evaluating the quality of the individuals according to the priority of the target, and the individualsaIs superior to the individualbThe standard of (A) is as follows:
Figure 282738DEST_PATH_IMAGE025
wherein the content of the first and second substances,
Figure 182561DEST_PATH_IMAGE026
is an individualaThe adaptive value of (a) is set,
Figure 748671DEST_PATH_IMAGE027
is an individualbAn adaptation value of;
s34, initializing a genetic population and generating random chromosomes for each individualXAdjusted according to a greedy algorithmXTo satisfy strong resource constraints, specifically: firstly, randomly distributing an actuator for each task; secondly, whether the strong resource capacity of each actuator is overloaded or not is checked, and the tasks which exceed the strong resource capacity and have the least resource requirements are cancelled and distributed; finally, the unallocated tasks are allocated to the executor with the minimum residual capacity according to the sequence from small to large of the resource demand, and the tasks are not allocated if the executor without the residual capacity is not met;
s35, carrying out evolution iteration on the population by using a genetic operator; wherein, the selection operator has a returned binary championship according to the good and bad relation; the crossover operator is multipoint crossover, namely a segment with a certain length is selected, and the scheduling decisions of two individuals in the segment are exchanged; the mutation operator is multipoint mutation, namely selecting a segment with a certain length, and carrying out random re-scheduling on scheduling decisions of 5 individuals in the segment. After crossing and mutation, the individuals need to be adjusted according to a greedy algorithm to meet strong resource constraint;
s36, the goal of this step is to find a scheduling decisionXTo maximize RPA task execution success rateAnd minimizing the number of actuators to be enabled, so that when the specified number of iterations is reached, the scheduling decision of minimizing the number of actuators to be enabled is returned on the premise of maximizing the execution success rateX

Claims (2)

1. A RPA flow scheduling method based on genetic algorithm is characterized by comprising the following steps:
s1, drawing an RPA process script, capturing RPA operation characteristics, acquiring key characteristics of RPA scheduling in an RPA process demand list uploaded by a user, and labeling an RPA task;
s11, acquiring key constraint rules according to an RPA task demand list uploaded by a user, and packaging the key constraint rules into a corresponding RPA model;
s12, converting constraint rules in the RPA model into RPA task characteristics, wherein the constraint rules comprise strong constraint rules and weak constraint rules; the strong constraint rule determines whether RPA flow scheduling is successful or failed, including whether software is exclusively used or not, whether a display is exclusively used or not, whether interruption can be performed or not, and the hard requirements of the resolution ratio of the display and the software version; the weak constraint rule influences the performance of the RPA process operation, including the estimated operation duration, CPU, memory and bandwidth requirements;
s2, automatically capturing resource fluctuation and hardware information of the machine at regular time through an actuator, and reporting heartbeat registration to a cluster zookeeper to obtain resource characteristics of the cluster machine;
s3, inputting the high-dimensional characteristics of the RPA task and the cluster machine into a genetic algorithm to perform multi-objective optimization and scheduling;
s31, modeling RPA flow scheduling into a variable-size vector boxing problem, and distributing corresponding actuators to each RPA task by taking the maximization of RPA task execution success rate and the minimization of the number of enabled actuators as targets under the condition of meeting the resource limitation of a strong constraint rule;
in one scheduling process, M actuatorsE={e 1 ,e 2 ,...,e M And N RPA tasksT={t 1 ,t 2 ,...,t N }; actuatore m Is strongly bound toSource capacity of
Figure 914257DEST_PATH_IMAGE001
Weakly constrained resource capacity of
Figure 831398DEST_PATH_IMAGE002
(ii) a Taskt n Has a strongly constrained resource requirement of
Figure 673452DEST_PATH_IMAGE003
With weakly constrained resource requirements of
Figure 68661DEST_PATH_IMAGE004
(ii) a Wherein the content of the first and second substances,pin order to strongly restrict the number of resources,qin order to weakly constrain the number of resources,mrepresents the firstmAn actuator is arranged on the base plate, and the actuator is arranged on the base plate,nrepresents the firstnA task;
scheduling decision X = [ (= ])x 1 ,x 2 ,...,x n ],x n =e(t n ) Representing a taskt n Dispatch to the executore(t n ) The upper side is executed in the upper part,
Figure 883033DEST_PATH_IMAGE005
indicating a missing taskt n To any actuator; actuatore m Is a set of tasks onT(e m ),T(e m ) The sum of the strongly-constrained resource requirements of all the tasks in the system cannot exceede m The remaining capacity of (a), namely:
Figure 705496DEST_PATH_IMAGE006
success rate of execution of taskα n Comprises the following steps:
Figure 972529DEST_PATH_IMAGE008
actuatore m Enable identification ofβ m Comprises the following steps:
Figure 171429DEST_PATH_IMAGE009
s32, lexicographic order optimization is adopted for the multi-objective optimization problem, the targets are sorted according to the priority, and the number of the actuators which are started is minimized on the premise of maximizing the execution success rate:
Figure 902625DEST_PATH_IMAGE010
s33, setting chromosomes of genetic individuals as scheduling decisionsXSetting up an individualiThe adaptive value is the average execution success rate of the task
Figure 895989DEST_PATH_IMAGE011
And inverse number of actuators activated
Figure 650318DEST_PATH_IMAGE012
Evaluating the quality of the individuals according to the priority of the target, and the individualsaIs superior to the individualbThe standard of (2) is:
Figure 387330DEST_PATH_IMAGE013
wherein the content of the first and second substances,
Figure 910715DEST_PATH_IMAGE014
is an individualaThe average execution success rate of the tasks of (1),
Figure 728560DEST_PATH_IMAGE015
is an individualbThe average execution success rate of the tasks of (1),
Figure 970185DEST_PATH_IMAGE016
is an individualaThe inverse of the number of actuators that are activated,
Figure 245309DEST_PATH_IMAGE017
is an individualbThe inverse of the number of actuators activated;
s34, initializing a genetic population, generating random chromosomes for each individual, and adjusting according to a greedy algorithmXSo as to satisfy strong constraint rules, specifically:
firstly, randomly distributing an actuator for each task; secondly, whether the strong constraint resource capacity of each actuator is overloaded or not is checked, and the tasks which exceed the strong constraint resource capacity and have the least resource requirements are cancelled and distributed; finally, the unallocated tasks are allocated to the executor with the minimum residual capacity according to the sequence from small to large of the resource demand, and the tasks are not allocated if the executor without the residual capacity is not met;
s35, carrying out evolution iteration on the population by using a genetic operator;
wherein, the selection operator is a binary championship game with a play back according to the good and bad relation; the crossover operator is multipoint crossover, selects the segment of certain length, exchange the scheduling decision in the segment of two individuals; the mutation operator is a multipoint mutation, a segment with a certain length is selected, and the scheduling decision of the individual in the segment is re-randomly scheduled; after crossing and mutation, adjusting individuals according to a greedy algorithm to meet strong constraint rules;
s36, when the specified iteration times are reached, returning to the scheduling decision for minimizing the number of the starting executors on the premise of maximizing the execution success rateX
2. The RPA flow scheduling method based on genetic algorithm as claimed in claim 1, wherein step S2 is specifically:
s21, when the RPA actuator is started, the actuator registration center automatically senses the actuator immediately, registers the actuator to the unified management center, and maintains the running state of the actuator in the whole process;
s22, when the actuator starts the background execution flow, automatically reporting the hardware resources of the actuator to a registration center at regular time, and dynamically collecting the hardware layer resource information of the actuator in real time; the executor hardware resources comprise a CPU utilization rate, a memory utilization rate and a disk IO rate;
the CPU utilization rate calculation method comprises the following steps:
Figure 888780DEST_PATH_IMAGE018
wherein the content of the first and second substances,kernelis the difference between the current operating system core clock and the operating system core clock a particular time ago,useris the difference between the current user process clock and the user process clock before the specified time,idlethe interval between the start time point and the end time point of statistics when calculating the utilization rate;
the memory utilization rate calculation formula is as follows:
Figure 223946DEST_PATH_IMAGE020
wherein the content of the first and second substances,totalrefers to the total capacity of the physical memory of the actuator machine,bufferedrefers to the buffer size of the operating system for the block device,cachedrefers to the buffer size that the operating system uses for the file system,freeindicating the free memory capacity of the physical memory of the current actuator machine;
using one IO timeIO_TimeExpressing the IO rate:
Figure 952868DEST_PATH_IMAGE022
seek_timerefers to the average addressing time of the disk,rotation_speedthe average rotation time delay of the magnetic disk is referred to,IO_chunk_ sizerefers to the size of a single IO data volume of a disk,transfer_ratethe maximum read-write speed of the magnetic disk is pointed;
s23, automatically reporting the RPA actuator software environment to an actuator registration center by the actuator background execution stream;
s24, recording each distributed task audit log constantly by the actuator in the running process; and judging the running state of the actuator through the audit log, constructing an actuator resource calculation method based on the audit log, calculating the condition that the actuator occupies the calculation resources in real time, and reporting the condition to a resource management center.
CN202211353019.5A 2022-11-01 2022-11-01 RPA flow scheduling method based on genetic algorithm Active CN115408136B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211353019.5A CN115408136B (en) 2022-11-01 2022-11-01 RPA flow scheduling method based on genetic algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211353019.5A CN115408136B (en) 2022-11-01 2022-11-01 RPA flow scheduling method based on genetic algorithm

Publications (2)

Publication Number Publication Date
CN115408136A CN115408136A (en) 2022-11-29
CN115408136B true CN115408136B (en) 2023-03-24

Family

ID=84167848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211353019.5A Active CN115408136B (en) 2022-11-01 2022-11-01 RPA flow scheduling method based on genetic algorithm

Country Status (1)

Country Link
CN (1) CN115408136B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225513B (en) * 2023-05-09 2023-07-04 安徽思高智能科技有限公司 RPA dynamic flow discovery method and system based on concept drift
CN116302578B (en) * 2023-05-25 2023-08-08 中国地质大学(北京) QoS (quality of service) constraint stream application delay ensuring method and system
CN116578403A (en) * 2023-07-10 2023-08-11 安徽思高智能科技有限公司 RPA flow scheduling method and system based on deep reinforcement learning
CN116610082B (en) * 2023-07-18 2023-10-31 安徽思高智能科技有限公司 RPA job workflow redundancy scheduling method and system based on deep reinforcement learning
CN116822915B (en) * 2023-08-31 2023-12-22 中国人民解放军战略支援部队航天工程大学 Space mission demand acceptance model for multi-client application

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127167A (en) * 2021-03-18 2021-07-16 国家卫星气象中心(国家空间天气监测预警中心) Heterogeneous resource intelligent parallel scheduling method based on improved genetic algorithm

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170052A1 (en) * 2013-12-12 2015-06-18 King Fahd University Petroleum and Minerals Method of reducing resource fluctuations in resource leveling
CN104932938B (en) * 2015-06-16 2019-08-23 中电科软件信息服务有限公司 A kind of cloud resource dispatching method based on genetic algorithm
CN110413389B (en) * 2019-07-24 2021-09-28 浙江工业大学 Task scheduling optimization method under resource imbalance Spark environment
CN111694633A (en) * 2020-04-14 2020-09-22 新华三大数据技术有限公司 Cluster node load balancing method and device and computer storage medium
CN112183055A (en) * 2020-08-17 2021-01-05 北京来也网络科技有限公司 Information acquisition method and device combining RPA and AI, computer equipment and medium
CN113037877B (en) * 2021-05-26 2021-08-24 深圳大学 Optimization method for time-space data and resource scheduling under cloud edge architecture
CN113391901A (en) * 2021-06-22 2021-09-14 未鲲(上海)科技服务有限公司 RPA robot management method, device, equipment and storage medium
CN114995974A (en) * 2022-05-26 2022-09-02 壹沓科技(上海)有限公司 Task scheduling method and device, storage medium and computer equipment
CN115061809B (en) * 2022-08-08 2022-11-11 杭州实在智能科技有限公司 Android-based RPA multi-task scheduling method and system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127167A (en) * 2021-03-18 2021-07-16 国家卫星气象中心(国家空间天气监测预警中心) Heterogeneous resource intelligent parallel scheduling method based on improved genetic algorithm

Also Published As

Publication number Publication date
CN115408136A (en) 2022-11-29

Similar Documents

Publication Publication Date Title
CN115408136B (en) RPA flow scheduling method based on genetic algorithm
Guo et al. Cloud resource scheduling with deep reinforcement learning and imitation learning
CN110389820B (en) Private cloud task scheduling method for resource prediction based on v-TGRU model
CN115037749B (en) Large-scale micro-service intelligent multi-resource collaborative scheduling method and system
CN109960573B (en) Cross-domain computing task scheduling method and system based on intelligent perception
US7877478B2 (en) Ghost agents for application domains within a grid environment
CN109271015A (en) A method of reducing large-scale distributed machine learning system energy consumption
CN101616174A (en) A kind of storage system IO handles the method that the path dynamic tracking realizes the optimization system performance
CN110502323B (en) Real-time scheduling method for cloud computing tasks
CN111258735A (en) Deep learning task scheduling method supporting QoS (quality of service) perception of user
CN116578403A (en) RPA flow scheduling method and system based on deep reinforcement learning
CN115543577B (en) Covariate-based Kubernetes resource scheduling optimization method, storage medium and device
CN114546608A (en) Task scheduling method based on edge calculation
Li et al. Cost-aware automatic scaling and workload-aware replica management for edge-cloud environment
CN111666179A (en) Intelligent replication system and server for multi-point data disaster tolerance
Cheng et al. Proscale: Proactive autoscaling for microservice with time-varying workload at the edge
CN115543626A (en) Power defect image simulation method adopting heterogeneous computing resource load balancing scheduling
CN116610082B (en) RPA job workflow redundancy scheduling method and system based on deep reinforcement learning
CN117349026B (en) Distributed computing power scheduling system for AIGC model training
Yang et al. A fully hybrid algorithm for deadline constrained workflow scheduling in clouds
CN111988412A (en) Intelligent prediction system and method for multi-tenant service resource demand
CN110267717B (en) Method and device for automatically generating automatic scaling call rules according to different independent tenants in multi-tenant environment
CN111625352A (en) Scheduling method, device and storage medium
Wei et al. Composite rules selection using reinforcement learning for dynamic job-shop scheduling
Sabaghian et al. Data Replication and Placement Strategies in Distributed Systems: A State of the Art Survey

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20221129

Assignee: HUBEI THINGO TECHNOLOGY DEVELOPMENT Co.,Ltd.

Assignor: Anhui Sigao Intelligent Technology Co.,Ltd.

Contract record no.: X2023980039196

Denomination of invention: A Genetic Algorithm Based RPA Process Scheduling Method

Granted publication date: 20230324

License type: Exclusive License

Record date: 20230810

EE01 Entry into force of recordation of patent licensing contract
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Genetic Algorithm Based RPA Process Scheduling Method

Effective date of registration: 20231214

Granted publication date: 20230324

Pledgee: Bank of Hangzhou Limited by Share Ltd. Hefei science and Technology Branch

Pledgor: Anhui Sigao Intelligent Technology Co.,Ltd.

Registration number: Y2023980071446

PE01 Entry into force of the registration of the contract for pledge of patent right