技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于HRRN的分布式数字员工任务分级调度方法及存储介质与流程  >  正文

一种基于HRRN的分布式数字员工任务分级调度方法及存储介质与流程

  • 国知局
  • 2025-01-10 13:11:11

本发明涉及计算机领域中的数字员工,具体涉及一种基于hrrn的分布式数字员工任务分级调度方法及存储介质。

背景技术:

1、高响应比优先调度算法(highest response ratio next)是一种对cpu中央控制器响应比的分配的一种算法。hrrn是介于fcfs(先来先服务算法)与sjf(短作业优先算法)之间的折中算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能。高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。hrrn算法中的响应比是指作业等待时间与运行比值,响应比公式定义如下:响应比 =(等待时间+要求服务时间)/ 要求服务时间。

2、机器人流程自动化(robotic process automation,简称数字员工)是近几年在ai浪潮下新兴的数字化转型手段之一,即以数字员工代替人类员工完成重复、繁锁的事务性流程,旨在提高企业工作效率,降低企业运营成本。

3、数字员工数字员工可进行7*24小时无间歇工作。但数字员工数量受限于可支配的机器数,如果机器分配少,会影响数字员工流程执行时间,机器分配多,会造成资源浪费。并且在实际应用中,会存在一些对时效性要求较高的业务场景。尤其在金融行业,第三方业务系统对接数字员工系统,通过触发数字员工接口来调起数字员工流程,实现某些信息的查询并将查询结果回填至业务系统。比如网上开户系统对接数字员工系统,通过登录证券期货市场失信记录查询平台对客户进行失信查询,将查询结果和截图回写至网上开户系统,供业务人员对客户信息进行完善并提交审核。如果数字员工流程返回结果慢,就会延误业务人员的提交时间,影响工作效率,失去了数字员工存在的意义。又如,在投行业务中,尽职调查工作贯穿投行业务的始终。业务人员会去诸多网站中检索他们需要提取的信息,如果某个业务人员需要检索的网站较多,尽管可以使用数字员工技术减少手工操作,但长时间的检索任务会使机器一直在占用状态,导致队列中其他任务,尤其是时效性要求较高的任务无法消费,就会影响其他任务效率。

4、当前在实施数字员工过程中,存在三方面问题:第一,数字员工机器没有充分利用,机器数无法根据任务数数量、紧急程度动态伸缩,协同作战;第二,不同时效流程没有进行优先级分级,导致无法保证强时效性流程的优先执行、弱时效性流程的滞后执行;第三,一些执行时间较长的任务长期占用机器,不能释放,也将导致强时效性高的流程的执行效率低下。

5、申请号为cn202210944420.x的中国专利文献描述了一种数字员工多任务调度方法,通过对数字员工总任务执行进行任务的依赖计算和拆解,拆解为微任务依赖树,最大限度执行微任务,但其未涉及到批量微任务在进行流程调度的先后策略问题。

6、申请号为cn202211353019.5的中国专利文献描述了一种基于遗传算法的数字员工流程调度方法,通过实时监控集群中各机器资源波动和硬件信息,制定面向成功率和资源花费的多目标优化调度策略,提升数字员工作业调度成功率和降低集群机器消费,但其主要针对一些不要求时效性的后台操作流程,对一些时效性要求较高的、涉及前端截图等操作的流程不适用,且机器资源池固定可能存在资源浪费问题。

7、那么,如何在有限的可支配机器基础上,最大化应用数字员工工作且保证不同时效性数字员工流程先后执行顺序,满足强时效性流程执行的实时性,变成了数字员工需要解决的问题之一。

技术实现思路

1、鉴于此,本发明将从以下三个方面来解决上述问题。第一,将mapreduce思想引入数字员工流程调度,对产生的大任务通过调度中心(master)映射为子任务,分配给各个机器节点(slave)去执行,旨在解决时间较长的任务长期占用机器不能释放的问题;第二,将操作系统cpu处理器作业调度的高响应比优先调度算法(hrrn)引入数字员工流程调度,提出了一种基于hrrn的流程动态优先级调整方法,旨在解决不同时效性数字员工流程的分级调度,在有限的机器上具有强时效性流程优先执行、弱时效性流程的滞后执行的问题;与此同时,提出了一种基于贪心算法的数字员工机器资源池动态扩容或者缩容方法,通过对机器资源池的弹性伸缩更进一步解决机器资源池资源浪费问题,进一步提高了强时效性数字员工流程的执行实时性。

2、本发明的基于hrrn的分布式数字员工任务分级调度方法,包括以下步骤:

3、s1,流程初始化:创建数字员工流程并在能力支持系统流程管理中初始化预计运行时间predict_exec_time、流程优先级flow_priority;

4、s2,主任务生成:用户执行多个数字员工流程,生成多个数字员工主任务;

5、s3,主任务映射:任务映射与归结模块(mapreduce)对数字员工主任务进行分解及映射为颗粒度最小的子任务,加入任务队列,并记录相关任务信息;

6、s4,子任务优先级动态调整:应用hrrn算法进行动态调整任务优先级;

7、s5,节点机器资源池动态扩容:应用贪心算法对数字员工机器资源池动态扩容或者缩容,弹性伸缩;

8、s6,子任务并行执行:调度中心(master)通过调度节点机器(slave)对数字员工子任务在队列中分布式并行执行,并实时监控各项指标并汇报给调度中心;

9、s7,数字员工任务归结:任务映射与归结模块(mapreduce)对数字员工子任务进行归纳总结及结果回调。

10、作为优选,在步骤s3中,当任务映射与归结模块(mapreduce)检测到当前任务为不可映射任务时,将其当做子任务直接放入任务队列中;当检测到可映射任务时,会主动对主任务进行后台的映射,生成多个子任务。这里需要记录任务信息为子任务主键task_id、子任务所属流程flow_id、所属主任务main_task_id、子任务优先级task_priority、子任务状态task_state、执行结果exec_result、执行次数exec_count、更新时间update_time;

11、其中,子任务优先级task_priority初始值即为s1中对应流程优先级,子任务状态task_state和执行结果exec_result均为有限状态机,任务状态包括已下发(1)、未下发(2)两种状态机。执行结果包括等待(waiting)、执行成功(success)、执行失败重试(error)、执行失败非重试(stop)、暂停(pause)五种状态机,执行次数exec_count初始值为0。

12、进一步地,所述步骤s4具体为:

13、s41,取出未消费的子任务队列,包含子任务状态为未下发(2),执行结果为等待(waiting),以及子任务状态为已下发(1),执行结果为执行失败重试(error)的任务;

14、s42,在考虑任务的响应比基础上,加入初始优先级task_priority及失败执行次数exec_count的因素,根据hrrn算法,为每个数字员工任务计算当前优先级:,其中,为各个元素的权重,第二个元素即为hrrn响应比算法,task_priority为任务优先级,waiting_time为任务等待时间,预计运行时间predict_exec_time为服务时间,exec_count为失败执行次数;其中等待时间计算公式为:,其中,current_time为当前时间,update_time为任务更新时间;

15、s43,根据以上公式,可得到子任务队列的最新优先级,将每个子任务优先级更新到相应队列中,依据优先级高低对子任务进行排序并处理,优先级从高到低依次执行任务,可有效的实现不同时效性数字员工流程的分级调度问题。

16、进一步地,所述步骤s5具体为:

17、s51,取出未消费的子任务队列,其中,,为队列中的任务数,并按步骤s4更新后的优先级priority高低排序,优先级相同的按照进入队列先后时间排序,得到最终子任务队列,其中,为优先级最大值;

18、s52,初始化可用机器资源池集合,其中为初始化可用资源池最小数量,确定最大扩容数量,其中。每台机器资源包含元信息{任务编号task_id, 完成时间戳done_time, 空闲标志free_flag};s52,初始化可用机器资源池集合,其中为初始化可用资源池最小数量,确定最大扩容数量,其中。每台机器资源包含元信息{任务编号task_id, 完成时间戳done_time, 空闲标志free_flag};

19、s53,设定优先级阈值,利用二分查找法计算任务队列中超过阈值的任务数,,则扩容或者缩容到机器数为:。

20、s54,设定机器平均执行时间阈值,根据s1中每个任务的预计运行时间predict_exec_time及任务队列总数n,得出任务运行总时间,则预计扩容或者缩容机器数为:,由于最大扩容数限制为m,则扩容或者缩容到机器数为:。

21、s55,获取最终扩容或者缩容到的机器数进行机器扩容或者缩容。

22、作为优选,在步骤s6中,调度中心(master)为数字员工任务的全局管理者,其具体职责为:(1)任务调度:对队列中未消费任务根据空闲机器数进行分布式调度,动态控制任务的启动、结束及初始化;(2)运行结果反馈:接收节点机器反馈执行结果,包括不限于任务执行状态,任务执行结果状态,机器资源的元信息,对任务执行后产生的结果(文字、图片、文件等不同展示方式)等;(3)心跳监测:接收节点机器对调度中心发送的心跳信号进行节点健康情况监测,非健康状态节点会从资源池中排除;且对于同一机器节点中某一时刻执行任务失败率较高的节点也视为非健康状态,及时从资源池排除。节点机器(slave)作为数字员工任务的实际执行者,其具体职责为:

23、(1)执行命令:执行调度中心下达的各种任务启停命令;

24、(2)回调通知:当任务执行完,自动执行通知调度中心的任务,将任务执行情况、任务结果情况通知给调度中心;

25、(3)心跳汇报:节点机器周期性将所有节点上各种信息通过心跳机制汇报给调度中心。这些信息包括机器级别信息,如节点健康情况等,任务级别信息,如任务运行状态等。

26、作为优选,在步骤s7中,当同一主任务下的子任务全部执行完毕后,最后一台执行的子节点机器会从调度中心(master)获知,此时子节点机器便会调用任务映射与归结模块(mapreduce)对所有子任务进行归纳总结及结果回传。

27、本发明的基于hrrn的分布式数字员工任务分级调度方法的存储介质,本发明对调度中心做了优化,并在其模块基础上,新增了任务映射与归结模块、动态优先级调整模块、机器资源池扩容模块:

28、调度中心模块,用于数字员工的任务调度、心跳监测、结果反馈等;

29、任务映射与归结模块,用于数字员工的任务映射与任务归结;

30、动态优先级调整模块,用于对不同时效性数字员工任务进行优先级调整;

31、机器资源池扩容模块,用于对机器资源池的弹性伸缩。

32、本发明提供的技术方案带来的有益效果是:

33、(1)本发明提出了一种基于调度中心的分布式任务映射与任务归结方法,将大任务映射为小任务,显著增加了单位时间内的任务吞吐量,提高了任务时间片的占空比;

34、(2)本发明提出了一种分布式数字员工任务分级调度策略,独创性的分别通过针对数字员工任务实例进行动态优先级调整策略和针对数字员工机器资源池进行动态扩容或者缩容策略,实现了不同时效性数字员工流程的分级调度,有效解决在流程队列里强时效性流程执行实时性滞后问题;

35、(3)本发明根据流程优先级和执行时间来动态调整资源池容量,更智能化地避免资源浪费;

36、(4)本发明在执行效率方面,算法时间复杂度均为o(n),计算开销小,执行效率高;

37、(5)本发明运行系统采用b/s架构,独立于c/s架构的数字员工平台,不受操作系统限制,不会给平台增加数据压力,服务以接口形式调用,操作简单;

38、(6)多台机器并行执行,服务用户时间大大缩短,提高了用户满意度。

本文地址:https://www.jishuxx.com/zhuanli/20250110/351487.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。