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

文档序号:32393738发布日期:2022-11-30 09:24阅读:55来源:国知局
一种基于遗传算法的RPA流程调度方法与流程
一种基于遗传算法的rpa流程调度方法
技术领域
1.本发明涉及软件工程资源分布式任务调度技术领域,具体涉及一种基于遗传算法的 rpa 流程调度方法。


背景技术:

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


技术实现要素:

4.有鉴于此,本发明提供一种基于遗传算法的 rpa 流程调度方法,包括以下步骤:s1、绘制 rpa 流程脚本,并捕获 rpa 作业特征,获取用户上传的 rpa 流程需求清单中 rpa 调度的关键特征,给 rpa 任务打上标签;s2、通过执行器自动定时捕捉所在机器的资源波动和硬件信息,并通过心跳注册上报到集群 zookeeper ,获得集群机器的资源特征;s3、将 rpa 任务、集群机器的高维特征输入到遗传算法进行多目标优化和调度。
5.进一步地,所述步骤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、执行器在运行过程中,时刻记录每个被分配的任务审计日志,包括:任务分配时记录、任务运行时记录、任务结束时记录;通过审计日志判断执行器的运行状态,构造基于审计日志的执行器资源计算方法,实时计算执行器占用计算资源情况并且上报至资源管理中心。
6.进一步地,所述步骤s3具体为:s31、将 rpa 流程调度建模成可变尺寸向量装箱问题,在满足强约束规则的资源限制下,以最大化 rpa 任务执行成功率和最小化启用执行器数量为目标,为每个 rpa 任务分配对应的执行器;在一次调度过程中,m个执行器e={e1,e2,...,em}和n个 rpa 任务t={t1,t2,...,tn};执行器em的强约束资源容量为,弱约束资源容量为;任务tn的强约束资源需求为,弱约束资源需求;其中,p为强约束资源个数,q为弱约束资源个数,m代表第m个执行器,n代表第n个任务;调度决策,xn=e(tn)表示将任务tn调度到执行器e(tn)上执行,一个任务只能被调度到最多一台执行器上, 表示未将任务tn分配给任何执行器;执行器em上的任务集合为t(em),t(em)中所有任务的强约束资源需求总和不能超过em的剩余容量,即:
执行器em上所有任务的弱约束资源需求总和能够超过其剩余容量,即弱约束资源可以超载,但是会影响任务的执行成功率,所述任务的执行成功率αn为:若将任务调度到了某个执行器上,则需启用该执行器,执行器em的启用标识 为:s32、对多目标优化问题采用字典序优化,即按照优先级对多个目标进行排序,本问题的目标是找到一个调度决策x,在最大化执行成功率的前提下最小化需要启用的执行器的数量:器的数量:s33、设置遗传个体的染色体为调度决策x,设置个体 i 的适应值为任务平均执行成功率 和启用执行器数量的倒数 ,按照目标的优先级评价个体的优劣,个体 a 优于个体 b 的标准为:其中, 为个体 a 的适应值, 为个体 b 的适应值;s34、初始化遗传种群,为每个个体生成随机染色体,根据贪心算法调整 x 以满足强资源约束,具体为:首先为每个任务随机分配执行器;其次检查每个执行器的强资源容量是否超载,将超出强资源容量且资源需求最少的任务取消分配;最后按资源需求从小到大的顺序将未分配的任务分配给剩余容量满足且最小的执行器,没有满足的执行器则该任务不分配;s35、使用遗传算子对种群进行演化迭代;其中,选择算子是按照优劣关系有放回的二元锦标赛;交叉算子是多点交叉,即选择一定长度的片段,交换两个个体在该片段中的调度决策;变异算子是多点变异,即选择一定长度的片段,对5个体在该片段中的调度决策进行重新随机调度。在交叉和变异后,都需对个体根据贪心算法调整以满足强资源约束;s36、在达到指定迭代次数时,返回最大化执行成功率的前提下最小化启用执行器数量的调度决策x。
7.本发明提供的技术方案带来的有益效果是:本发明提出了一种基于遗传算法的 rpa 流程调度方法,能够从 rpa 流程脚本中提取 rpa 任务特征,以及从注册的执行机器中实时监控集群中各机器资源波动和硬件信息,辅助调度系统快速执行任务调度;能够根据 rpa 任务特征和集群中的机器信息,制定面向成功率和资源花费的多目标优化调度策略,提升 rpa 作业调度成功率和降低集群机器消费。
附图说明
8.下面将结合附图及表格及实施例对本发明作进一步说明,附图中:图1是本发明一种基于遗传算法的 rpa 流程调度方法的流程图。
具体实施方式
9.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地描述。
10.请参考图1,图1是本发明一种基于遗传算法的 rpa 流程调度方法的流程图,本发明提供的一种基于遗传算法的 rpa 流程调度方法,包括以下步骤:s1、绘制 rpa 流程脚本,捕获 rpa 作业特征,获取用户上传的 rpa 流程需求清单中 rpa 调度的关键特征,给 rpa 任务打上标签。
11.s11、根据用户上传的 rpa 任务需求清单,获取其中的关键约束规则,包装到对应的 rpa 模型中;将 rpa 模型中的约束规则转化为 rpa 任务特征,rpa 模型中有强约束规则和弱约束规则,强约束规则为 rpa 运行时必要的硬件基础和强烈的用户需求,主要包括是否独占软件、是否独占显示器、是否能中断、显示器分辨率和软件版本的硬性要求;弱约束规则通常表示在资源上,主要包括估计的运行时长、cpu、内存和带宽的需求;强约束规则一旦违背必定造成 rpa 流程调度的失败,弱约束规则通常影响 rpa 流程运行性能。
12.对于一次调度过程,m个执行器e和n个 rpa 任务t具体表示如下:e={e1,e2,...,em}t={t1,t2,...,tn}执行器em的强约束资源容量csm和弱约束资源容量cwm表示如下:表示如下:任务tn的强约束资源需求rsn和弱约束资源需求rwn表示如下:表示如下:s2、通过执行器自动定时捕捉所在机器的资源波动和硬件信息,并通过心跳注册上报到集群 zookeeper ,获得集群机器的资源特征。
13.s21、rpa 执行器状态管理。本发明中针对更好的实现自动化的运维管理,提出执行器自动注册。执行器自动注册时,rpa 执行器启动时执行器注册中心立刻自动感知并且将执行器登记到统一管理中心,实现管理员全局无感知动态扩容缩容。全程维护执行器的各种运行状态,实现集群内执行器整体的高可用性、高可扩展性、高可运维性;s22、rpa 执行器硬件资源动态收集。本发明中针对更好的衡量执行器的当前执行能力以及最大执行能力,用于更加精确高效的调度,提出实时动态收集执行器的硬件层面资源信息。执行器启动后台执行流,自动定时上报执行器机器硬件资源到注册中心,做到实时收集执行器机器的最大内存容量、内存使用率、最大 cpu 核数、cpu 使用率、网络带宽、磁盘 io 速率。除收集计算硬件资源,同时收集普通外部设备硬件资源,比如显示器分辨率,显示器数量,摄像头数量,麦克风数量等,以支持更加细粒度、精确化、合理化的 rpa 任务调度与分配。
14.步骤s22中, cpu 使用率计算方法为:其中, kernel 是当前操作系统内核时钟与特定时间前操作系统内核时钟的差值, user 是当前用户进程时钟与特定时间前用户进程时钟的差值, idle 指计算使用率时需要统计的开始时间点和结束时间点之间的间隔长度。
15.内存使用率计算公式为:其中, total 指执行器机器物理内存总容量, buffered 指操作系统用于块设备的缓冲区大小, cached 指操作系统用于文件系统的缓冲区大小, free 指当前执行器机器物理内存空闲内存容量;用一次 io 时间io_time表述io速率:seek_time 指磁盘平均寻址时间, rotation_speed 指磁盘平均旋转延时,io_chunk_size 指磁盘单次 io 数据量的大小,transfer_rate 指磁盘最大读写速率;s23、 rpa 执行器软件环境自动收集。本发明针对确定执行器软件执行环境,提出了执行器机器软件生态探测,执行器后台执行流自动上报至执行器注册中心。具体探测的软件环境包括浏览器内核版本,浏览器发布版本,excel 版本,word 版本等;s24、 rpa 执行器运行时任务记录。本发明针对执行器执行任务负载与资源使用情况,提出了执行器任务统计与自动收集。执行器在运行过程中,时刻记录每个被分配的任务审计日志,包含:任务分配时记录,任务运行时记录,任务结束时记录。通过审计日志判断执行器的运行状态,构造基于审计日志的执行器资源计算方法,实时计算执行器占用计算资源情况并且上报至资源管理中心。
16.s3、将 rpa 任务、集群机器的高维特征输入到遗传算法进行多目标优化和调度。
17.s31、将 rpa 流程调度建模成可变尺寸向量装箱问题,即在满足强约束规则的资源限制下,以最大化 rpa 任务执行成功率和最小化启用执行器数量为目标,为每个 rpa 任务分配对应的执行器。
18.在一次调度过程中,m个执行器e={e1,e2,...,em}和n个 rpa 任务t={t1,t2,...,tn};执行器em的强约束资源容量为 ,弱约束资源容量为;任务tn的强约束资源需求为,弱约束资源需求为;其中,p为强约束资源个数,q为弱约束资源个数,m代表第m个执行器,n代表第n个任务;调度决策 ,xn=e(tn)表示将任务tn调度到执行器e(tn)上执行,一个任务只能被调度到最多一台执行器上, 表示未将任务tn分配给任何执行器;执行器em上的任务集合为t(em),t(em)中所有任务的强约束资源需求总和不能超过em的剩余容量,即:执行器em上所有任务的弱约束资源需求总和能够超过其剩余容量,即弱约束资源
可以超载,但是会影响任务的执行成功率αn,所述任务的执行成功率αn为:若将任务调度到了某个执行器上,则需启用该执行器,执行器em的启用标识 为:s32、对多目标优化问题采用字典序优化,即按照优先级对多个目标进行排序,本问题的目标是找到一个调度决策x,在最大化执行成功率的前提下最小化启用执行器数量,然后采用遗传算法进行求解:然后采用遗传算法进行求解:s33、设置遗传个体的染色体为调度决策x,设置个体 i 的适应值为任务平均执行成功率和启用执行器数量的倒数 ,按照目标的优先级评价个体的优劣,个体 a 优于个体 b 的标准为:其中, 为个体 a 的适应值,
ꢀꢀ
为个体 b 的适应值;s34、初始化遗传种群,为每个个体生成随机染色体x,根据贪心算法调整 x 以满足强资源约束,具体为:首先为每个任务随机分配执行器;其次检查每个执行器的强资源容量是否超载,将超出强资源容量且资源需求最少的任务取消分配;最后按资源需求从小到大的顺序将未分配的任务分配给剩余容量满足且最小的执行器,没有满足的执行器则该任务不分配;s35、使用遗传算子对种群进行演化迭代;其中,选择算子是按照优劣关系有放回的二元锦标赛;交叉算子是多点交叉,即选择一定长度的片段,交换两个个体在该片段中的调度决策;变异算子是多点变异,即选择一定长度的片段,对5个体在该片段中的调度决策进行重新随机调度。在交叉和变异后,都需对个体根据贪心算法调整以满足强资源约束;s36、此步骤的目标是找到一个调度决策x,以最大化 rpa 任务执行成功率和最小化启用执行器数量,所以,在达到指定迭代次数时,返回最大化执行成功率的前提下最小化启用执行器数量的调度决策x。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1