一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动化流程机器人的调度方法、调度系统及自动化流程机器人与流程

2022-07-16 12:24:03 来源:中国专利 TAG:


1.本发明涉及人工智能,特别涉及到一种自动化流程机器人的调度方法及调度系统。


背景技术:

2.机器人流程自动化(rpa,robotic process automation)需要机器人灵活准确地调度下发到其上的任务,尤其是处理好计划时间相同的任务的执行顺序。作为模拟人工操作的机器人,在数字化转型中具有重要地位,而决定机器人好坏的关键就在于其处理事务合理性,使用顺畅性以及大规模的并发性。机器人需要知道在何时预先从控制台获取下发的任务信息,判断同一计划时间任务数多于支持的并发执行量时应该优先执行哪个,以及因为同时下载任务数量或者运行数量过大而导致部分任务无法下载或运行时应该怎么办。
3.中国发明专利申请202080004549提供了用于执行机器人流程自动化(rpa)工作流程的系统和方法。用于执行作业的指示被接收,该作业被调度用于执行针对与用户组相关联的用户的rpa工作流程。机器人从与作业相关联并且具有和用户组相同的访问权限的机器人组中被标识。机器人被派遣到计算设备以执行用于执行rpa工作流程的作业。其存在调度不合理和调度效率不高的不足。若任务调度不合理,会极大地影响机器人的使用,包括上述发明专利及其他现有技术在内,目前任务调度主要存在的问题是:
4.1、多任务计划执行时间相同时如何合理调度不至引起阻塞。
5.2、下载任务失败如何及时补救能做到用户无感知。
6.3、机器人如何同时兼顾提前查询任务、保证任务下载到本地、运行任务等多种功能。


技术实现要素:

7.本发明为了提高机器人运行任务的能力,使得机器人更好地应用到流程自动化运行技术中,提出了一种基于最大二叉树优先队列的多线程并发预下载调度算法,不同于简单的单线程即时下载机器人调度方法,通过将优先队列、多线程融合来保证机器人对任务的准确、可靠、及时、合理执行。
8.为了达到上述发明目的,本发明提供的技术方案如下:
9.本发明先涉及到一种自动化流程机器人的调度方法,该调度方法基于最大二叉树优先队列的多线程并发预下载调度算法,将优先队列、多线程融合保证机器人对任务的准确、可靠和及时地执行,该方法中机器人后台包括有并发运行的四个线程,分别为查询待下载任务线程、下载任务线程、查询待运行线程和运行任务线程,其中,
10.第一步,所述查询待下载任务线程提前从控制台获得将要运行的任务信息,将其存入到leveldb数据库中,并标记为待处理任务;
11.第二步,所述下载任务线程,将待处理任务从leveldb数据库取出,并放入下载池,
再通过下载池下载到本地;
12.第三步,所述查询待运行线程从控制台查询并获取即将运行的任务,标记为可运行任务,将可运行任务放入到最大叉堆优先队列中,将众多即将运行的任务按照优先级依次运行;
13.第四步,所述运行任务线程从最大二叉堆优先队列获得最优先任务,并将其放入到运行池中,运行当前优先级最高的任务。
14.在所述第一步中,所述查询待下载任务线程每隔10秒访问一次控制台路由查询得到计划运行时间距离现在不到30分钟的任务。
15.在所述第二步中,所述下载任务线程每隔10秒从leveldb数据库查询一次待处理任务,将其依次放入下载池,该下载池默认允许10个任务同时下载,因超过下载池容量导致下载失败会重复将任务放入下载池直至成功。
16.在所述第三步中,所述查询待运行线程每隔10秒从控制台查询30秒内将要运行的任务,标记为可运行,将其放入队列中,队列排列由最大二叉树算法实现,则永远会将优先级最大的任务放到队首,队列将新放入的任务与原先任务对比重排使得首位为优先级最高的任务;所述查询待运行线程每隔10秒从控制台查询30秒内将要运行的任务,标记为可运行,将其放入队列中,队列排列由最大二叉树算法实现,则永远会将优先级最大的任务放到队首,队列将新放入的任务与原先任务对比重排使得首位为优先级最高的任务;所述最大二叉树算法是将最大二叉树节点从顶至底依次在队列中存储,最大二叉树的树顶为整棵树节点中优先级最高的节点,基于此原理每次新任务下发后进入队列,队列会自动根据优先级排序,将最先执行的任务置于队首,等执行时间到时队列将直接抛出首部的队伍前往执行,并重新排列队列中剩下的任务。
17.在所述第四步中,所述运行任务线程每隔10秒检查可执行任务队列中是否有需要运行的队列,有则取出放入运行池内执行,若执行完毕没有错误,再将任务从原队列中删除。
18.在所述第四步中,若运行池满,再放入任务会出错,运行池默认容量为1,也可配置为多n个实现同时执行优先度前n的任务。
19.本发明还涉及到一种自动化流程机器人的调度系统,该调度系统结构组成上包括有控制台、查询待下载模块、下载任务模块、查询待运行模块、运行任务模块、leveldb数据库、下载池、最大二叉堆队列和运行池,其中,
20.所述查询任务模块连接控制台,从所述控制台获得将要运行的任务信息,将其存入到所述leveldb数据库中,并标记为待处理任务;
21.所述下载任务模块从到所述leveldb数据库取出待处理任务,将其放入到下载池中,并从下载池保存到本地;
22.所述查询待运行模块连接控制台,从控制台查询并获取即将运行的任务,标记为可运行任务,将可运行任务放入到最大叉堆优先队列中;
23.所述运行任务模块从最大二叉堆优先队列获得最优先任务,并将其放入到运行池中,确保运行的是当前优先级最高的任务。
24.基于上述技术方案,本发明一种自动化流程机器人的调度方法及调度系统与现有技术相比具有如下技术优点:
25.1、在本发明的一种自动化流程机器人的调度方法中,因为重试机制的存在,通过在任务下载失败时不断重新下载,保证任务文件不会因当前下载文件过多或网络不稳定等因素导致遗漏,使得机器人具有可靠性。
26.2、在本发明的一种自动化流程机器人的调度方法中,因为预下载机制的存在,通过预先查询并将任务文件下载至本地的操作,为下载失败等异常情况预留解决时间,使得机器人具有使用友好性。
27.3、在本发明的一种自动化流程机器人的调度方法中,因为多线程并发机制的存在,通过根据业务需求多线程并发执行查询、下载、运行,充分利用资源,使得机器人具有高的使用效率。
28.4、在本发明的一种自动化流程机器人的调度方法中,因为最大二叉堆优先队列的存在,通过最大二叉堆优先队列根据任务优先级及计划运行时间等因素比较筛选出当前应执行任务,使得机器人调度能力提高,阻塞可能性大大降低。
附图说明
29.图1是本发明一种自动化流程机器人的调度方法的流程示意图。
30.图2是本发明一种自动化流程机器人的调度方法中采用最大二叉树算法实现队列排列的流程示意图。
具体实施方式
31.下面我们结合附图和具体的实施方式来对本发明一种自动化流程机器人的调度方法及调度系统做进一步的详细说明,但不能以此来限制本发明的保护范围。
32.如图1和图2所示,本发明先涉及到一种自动化流程机器人的调度方法,该调度方法基于最大二叉树优先队列的多线程并发预下载调度算法,将优先队列、多线程融合保证机器人对任务的准确、可靠和及时地执行,该方法中机器人后台包括有并发运行的四个线程,分别为查询待下载任务线程、下载任务线程、查询待运行线程和运行任务线程,其中,
33.第一步,所述查询待下载任务线程提前从控制台获得将要运行的任务信息,将其存入到leveldb数据库中,并标记为待处理任务;所述查询待下载任务线程每隔10秒访问一次控制台路由查询得到计划运行时间距离现在不到30分钟的任务。
34.第二步,所述下载任务线程,将待处理任务从leveldb数据库取出,并放入下载池,再通过下载池下载到本地;所述下载任务线程每隔10秒从leveldb数据库查询一次待处理任务,将其依次放入下载池,该下载池默认允许10个任务同时下载,因超过下载池容量导致下载失败会重复将任务放入下载池直至成功。通过在本步骤中采用下载失败无限重试机制,保证任务文件不会因当前下载文件过多或网络不稳定等因素导致遗漏,增强了机器人的可靠性。另外,通过预先查询并将任务文件下载至本地,为下载失败等异常情况预留解决时间,提高了机器人的使用友好性。
35.第三步,所述查询待运行线程从控制台查询并获取即将运行的任务,标记为可运行任务,将可运行任务放入到最大叉堆优先队列中,将众多即将运行的任务按照优先级依次运行。所述查询待运行线程每隔10秒从控制台查询30秒内将要运行的任务,标记为可运行,将其放入队列中,队列排列由最大二叉树算法实现,则永远会将优先级最大的任务放到
队首,队列将新放入的任务与原先任务对比重排使得首位为优先级最高的任务。如图2所示,最大二叉树优先队列调度方法的具体实现过程是:将最大二叉树节点从顶至底依次在队列中存储,最大二叉树的树顶为整棵树节点中优先级最高的节点,基于此原理每次新任务下发后进入队列,队列会自动根据优先级排序,将最先执行的任务置于队首,等执行时间到时队列将直接抛出首部的队伍前往执行,并重新排列队列中剩下的任务。
36.第四步,所述运行任务线程从最大二叉堆优先队列获得最优先任务,并将其放入到运行池中,运行当前优先级最高的任务。所述运行任务线程每隔10秒检查可执行任务队列中是否有需要运行的队列,有则取出放入运行池内执行,若执行完毕没有错误,再将任务从原队列中删除。若运行池满,再放入任务会出错,运行池默认容量为1,也可配置为多n个实现同时执行优先度前n的任务。
37.本发明的方法中使用最大二叉堆优先队列根据任务优先级及计划运行时间等因素比较筛选出当前应执行任务,提高了机器人的调度能力,降低了阻塞的可能性。另外该方法根据业务需求多线程并发执行查询、下载、运行等功能,充分利用资源,提高了机器人的使用效率。
38.本发明还涉及到一种自动化流程机器人的调度系统,该调度系统结构组成上包括有控制台、查询待下载模块、下载任务模块、查询待运行模块、运行任务模块、leveldb数据库、下载池、最大二叉堆队列和运行池,其中,leveldb数据库是由google开源的高效的单机key/value存储系统,该存储系统提供了key到value的有序映射。
39.所述查询任务模块连接控制台,从所述控制台获得将要运行的任务信息,将其存入到所述leveldb数据库中,并标记为待处理任务;
40.所述下载任务模块从到所述leveldb数据库取出待处理任务,将其放入到下载池中,并从下载池保存到本地;
41.所述查询待运行模块连接控制台,从控制台查询并获取即将运行的任务,标记为可运行任务,将可运行任务放入到最大叉堆优先队列中;
42.所述运行任务模块从最大二叉堆优先队列获得最优先任务,并将其放入到运行池中,确保运行的是当前优先级最高的任务。
43.在实践中,机器人流程自动化依赖于机器人调度,本发明通过最大二叉树实现的优先队列与多线程并发调度,有助于提升任务调度的灵活性与合理性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献