一种基于遗传算法的RPA流程调度方法技术

技术编号:35795334 阅读:7 留言:0更新日期:2022-12-01 14:46
本发明专利技术提供了一种基于遗传算法的RPA流程调度方法,包括绘制RPA流程脚本,捕获RPA作业特征,将业务转化为RPA流程脚本,解析用户需求清单获取RPA任务约束规则,构造RPA特征属性;执行器注册和执行器特征捕获,在机器上注册执行程序,自动定时捕捉所在机器特征,并通过心跳上报;以高成功率和高资源利用率为目标,设计基于遗传算法的RPA流程调度算法。本发明专利技术能从RPA流程脚本中提取RPA任务特征,实时监控集群中各机器资源波动和硬件信息,辅助调度系统快速执行任务调度;根据RPA任务特征和集群中的机器信息,制定面向成功率和资源花费的多目标优化调度策略,提升RPA作业调度成功率和降低集群机器消费。低集群机器消费。低集群机器消费。

【技术实现步骤摘要】
一种基于遗传算法的RPA流程调度方法


[0001]本专利技术涉及软件工程资源分布式任务调度
,具体涉及一种基于遗传算法的 RPA 流程调度方法。

技术介绍

[0002]机器人过程自动化(RPA)是近年来快速发展的自动化技术,人工智能的发展迫使人们审视什么工作应该被自动化,什么工作应该由人类来完成。其中一项重要的发展就是 RPA,RPA 是使用软件机器人来模仿和复制人类在其应用程序的用户界面(UI)中执行的高重复性任务,RPA 最大的优势就是通过模仿人的复杂行为来批量完成业务,而不是编写大量代码和脚本来实现复杂业务链路。在用户提交一批 RPA 任务后,需要调度到执行器集群上,指定每个任务由哪个执行器执行。这是一个经典的分布式任务调度系统,常见的调度算法包括:轮转法——对集群节点编号,按顺序将任务逐个分配;贪心法——根据任务资源需求和节点负载进行分配;元启发式算法——对调度问题进行数学建模,在满足资源约束下迭代优化求解调度决策。
[0003]RPA 任务在调度过程中不要求强时效性,而是强调高成功率和低机器开销,更适合采用元启发式算法进行深度优化。但是现有的算法未能考虑 RPA 的任务特征,如执行器的资源会动态变化,且任务资源需求分为强约束和弱约束两种。强约束资源必须满足,如需要独占显示器;弱约束资源是对任务执行需求的预测,例如占用多少内存,该类资源在调度时可以超载,但会影响任务成功率。

技术实现思路

[0004]有鉴于此,本专利技术提供一种基于遗传算法的 RPA 流程调度方法,包括以下步骤:S1、绘制 RPA 流程脚本,并捕获 RPA 作业特征,获取用户上传的 RPA 流程需求清单中 RPA 调度的关键特征,给 RPA 任务打上标签;S2、通过执行器自动定时捕捉所在机器的资源波动和硬件信息,并通过心跳注册上报到集群 zookeeper ,获得集群机器的资源特征;S3、将 RPA 任务、集群机器的高维特征输入到遗传算法进行多目标优化和调度。
[0005]进一步地,所述步骤S1具体为:S11、根据用户上传的 RPA 任务需求清单,获取其中的关键约束规则,包装到对应的 RPA 模型中;S12、将 RPA 模型中的约束规则转化为 RPA 任务特征,所述约束规则包括强约束规则和弱约束规则,所述强约束规则为 RPA 运行时必要的硬件基础和强烈的用户需求,主要包括是否独占软件、是否独占显示器、是否能中断、显示器分辨率和软件版本的硬性要求;所述弱约束规则主要包括估计的运行时长、CPU、内存和带宽的需求;进一步地,所述步骤S2具体为:S21、 RPA 执行器启动时执行器注册中心立刻自动感知,将执行器登记到统一管
理中心,全程维护执行器的各种运行状态;S22、执行器启动后台执行流时,自动定时上报执行器硬件资源到注册中心,实时动态收集执行器的硬件层面资源信息;所述执行器硬件资源包括:最大内存容量、内存使用率、最大 CPU 核数、 CPU 使用率、网络带宽、磁盘 IO 速率、显示器分辨率,显示器数量、摄像头数量、麦克风数量;所述 CPU 使用率计算方法为:其中, kernel 是当前操作系统内核时钟与特定时间前操作系统内核时钟的差值, user 是当前用户进程时钟与特定时间前用户进程时钟的差值, idle 指计算使用率时统计的开始时间点和结束时间点的间隔;所述内存使用率计算公式为:其中, total 指执行器机器物理内存总容量, buffered 指操作系统用于块设备的缓冲区大小, cached 指操作系统用于文件系统的缓冲区大小, free 指当前执行器机器物理内存空闲内存容量;用一次 IO 时间IO_Time表述所述IO速率:seek_time 指磁盘平均寻址时间, rotation_speed 指磁盘平均旋转延时,IO_chunk_size 指磁盘单次 IO 数据量的大小,transfer_rate 指磁盘最大读写速率;S23、执行器后台执行流自动上报 RPA 执行器软件环境至执行器注册中心,所述软件环境包括浏览器内核版本、浏览器发布版本、 excel 版本、word 版本;S24、执行器在运行过程中,时刻记录每个被分配的任务审计日志,包括:任务分配时记录、任务运行时记录、任务结束时记录;通过审计日志判断执行器的运行状态,构造基于审计日志的执行器资源计算方法,实时计算执行器占用计算资源情况并且上报至资源管理中心。
[0006]进一步地,所述步骤S3具体为:S31、将 RPA 流程调度建模成可变尺寸向量装箱问题,在满足强约束规则的资源限制下,以最大化 RPA 任务执行成功率和最小化启用执行器数量为目标,为每个 RPA 任务分配对应的执行器;在一次调度过程中,M个执行器E={e1,e2,...,e
M
}和N个 RPA 任务T={t1,t2,...,t
N
};执行器e
m
的强约束资源容量为,弱约束资源容量为;任务t
n
的强约束资源需求为,弱约束资源需求;其中,p为强约束资源个数,q为弱约束资源个数,m代表第m个执行器,n代表第n个任务;调度决策,x
n
=e(t
n
)表示将任务t
n
调度到执行器e(t
n
)上执行,一个任务只能被调度到最多一台执行器上, 表示未将任务t
n
分配给任何执行器;执行器e
m
上的任务集合为T(e
m
),T(e
m
)中所有任务的强约束资源需求总和不能超过e
m
的剩余容量,即:
执行器e
m
上所有任务的弱约束资源需求总和能够超过其剩余容量,即弱约束资源可以超载,但是会影响任务的执行成功率,所述任务的执行成功率α
n
为:若将任务调度到了某个执行器上,则需启用该执行器,执行器e
m
的启用标识 为:S32、对多目标优化问题采用字典序优化,即按照优先级对多个目标进行排序,本问题的目标是找到一个调度决策X,在最大化执行成功率的前提下最小化需要启用的执行器的数量:器的数量:S33、设置遗传个体的染色体为调度决策X,设置个体 i 的适应值为任务平均执行成功率 和启用执行器数量的倒数 ,按照目标的优先级评价个体的优劣,个体 a 优于个体 b 的标准为:其中, 为个体 a 的适应值, 为个体 b 的适应值;S34、初始化遗传种群,为每个个体生成随机染色体,根据贪心算法调整 X 以满足强资源约束,具体为:首先为每个任务随机分配执行器;其次检查每个执行器的强资源容量是否超载,将超出强资源容量且资源需求最少的任务取消分配;最后按资源需求从小到大的顺序将未分配的任务分配给剩余容量满足且最小的执行器,没有满足的执行器则该任务不分配;S35、使用遗传算子对种群进行演化迭代;其中,选择算子是按照优劣关系有放回的二元锦标赛;交叉算子是多点交叉,即选择一定长度的片段,交换两个个体在该片段中的调度决策;变异算子是多点变异,即选择一定长度的片段,对5个体在该片本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于遗传算法的 RPA 流程调度方法,其特征在于,包括以下步骤:S1、绘制 RPA 流程脚本,捕获 RPA 作业特征,获取用户上传的 RPA 流程需求清单中 RPA 调度的关键特征,给 RPA 任务打上标签;S2、通过执行器自动定时捕捉所在机器的资源波动和硬件信息,将心跳注册上报到集群 zookeeper ,获得集群机器的资源特征;S3、将 RPA 任务、集群机器的高维特征输入到遗传算法进行多目标优化和调度;S31、将 RPA 流程调度建模成可变尺寸向量装箱问题,在满足强约束规则的资源限制下,以最大化 RPA 任务执行成功率和最小化启用执行器数量为目标,为每个 RPA 任务分配对应的执行器;在一次调度过程中,M个执行器E={e1,e2,...,e
M
}和N个 RPA 任务T={t1,t2,...,t
N
};执行器e
m
的强约束资源容量为,弱约束资源容量为;任务t
n
的强约束资源需求为,弱约束资源需求为;其中,p为强约束资源个数,q为弱约束资源个数,m代表第m个执行器,n代表第n个任务;调度决策,x
n
=e(t
n
)表示将任务t
n
调度到执行器e(t
n
)上执行,表示未将任务t
n
分配给任何执行器;执行器e
m
上的任务集合为T(e
m
),T(e
m
)中所有任务的强约束资源需求总和不能超过e
m
的剩余容量,即:任务的执行成功率α
n
为:执行器e
m
的启用标识为:S32、对多目标优化问题采用字典序优化,按照优先级对多个目标进行排序,在最大化执行成功率的前提下最小化启用的执行器的数量:S33、设置遗传个体的染色体为调度决策X,设置个体 i 的适应值为任务平均执行成功
率和启用执行器数量的倒数,按照目标的优先级评价个体的优劣,个体a优于个体b的标准为:其中, 为个体a的适应值, 为个体b的适应值;S34、初始化遗传种群,为每个个体生成随机染色体,根据贪心算法调整 X以满足强资源约束,具体为:首先为每个任务随机分配执行器;其次检查每个执行器的强资源容量是否超载,将超出强资源容量且资源需求最少的任务取消分配;最后按资源需...

【专利技术属性】
技术研发人员:付磊
申请(专利权)人:安徽思高智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1