一种RPA机器人的任务调度方法和系统与流程

文档序号:25897908发布日期:2021-07-16 20:27阅读:164来源:国知局
一种RPA机器人的任务调度方法和系统与流程
一种rpa机器人的任务调度方法和系统
技术领域
1.本发明涉及机器人流程自动化技术领域,具体涉及一种rpa机器人的任务调度方法和系统。


背景技术:

2.机器人流程自动化(robotic process automation,简称rpa),是通过特定的“机器人软件”,模拟人在计算机上的操作,按规则自动执行流程任务。rpa机器人可通过用户使用界面,智能理解企业已有应用,将基于规则的常规操作自动化,完成重复性高但却有固定业务逻辑的工作。如自动重复读取邮件工作,大批量生成文件和报告工作,完成枯燥的文件检查等工作。
3.目前rpa任务的执行通常设定执行时间,到达指定时间时触发rpa任务,通过机器人执行该任务。但是在大批量执行任务中,时间触发的方式较为单薄,无法满足实际运行中的需求。而在多机器人的情况下,任务具有分配的可选性,目前通过机器人健康状态进行任务分配,同样无法满足实际运行中的需求,导致大批量执行任务情况下,任务分配不适当,任务执行效率低下的情况。


技术实现要素:

4.针对现有技术中存在的上述技术问题,本发明提供一种rpa机器人的任务调度方法和系统,通过完善任务调度策略,提高任务执行效率,利于任务的合理执行。
5.本发明公开了一种rpa机器人的任务调度方法,所述任务调度方法包括:
6.判断所述任务是否满足触发条件;
7.若是,根据预设的调度策略,将所述任务分配给相应的机器人,所述调度策略包括以下任一维度或它们的组合:任务类型、机器人类型、机器人负载状态和机器人的任务执行效率;
8.所述机器人执行所述任务。
9.优选的,根据任务执行效率进行调度的方法包括:
10.获取机器人的历史任务执行情况和任务类型;
11.根据历史任务执行情况和任务类型,统计所述机器人在任务类型下的执行效率;
12.基于所述任务类型,将所述任务分配给执行效率高的机器人。
13.优选的,所述触发条件包括以下任一触发方式:事件触发、消息触发、时间触发和数据库变更触发。
14.优选的,事件触发的方法包括:
15.监听事件,所述事件包括以下任一触发事件:停止任务、立即触发任务、修改触发时间和删除任务;
16.根据监听到的事件,执行相应的任务调度或调整。
17.优选的,消息触发的方法包括:
18.监听消息系统的消息;
19.监听到触发消息时,执行相应的调度。
20.优选的,数据库变更触发的方法包括:
21.监听数据库的字段;
22.所述字段的值达到预设值时,执行相应的调度。
23.本发明还提供一种用于实现上述任务调度方法的系统,包括触发模块、调度模块和机器人;所述触发模块用于判断所述任务是否满足触发条件;若是,根据调度策略,所述调度模块将所述任务分配给相应的机器人;所述机器人用于执行所述任务。
24.优选的,所述系统还包括数据中心,所述数据中心用于记录机器人管理信息、任务类型信息和任务记录管理信息,
25.所述任务记录管理信息包括历史任务执行情况,
26.所述任务记录管理信息包括根据历史任务执行情况,统计所述机器人在任务类型下的执行效率;
27.所述调度策略包括基于任务及其任务类型,将所述任务分配给执行效率高的机器人。
28.优选的,所述触发模块包括以下任一触发器之一或它们的组合:时间触发器、事件触发器、消息触发器和数据库触发器,
29.所述时间触发器用于判断所述任务是否满足触发时间,若是通过调度模块执行相应的调度;
30.所述事件触发器用于监听事件,并判断是否监听到预设的事件,若是,根据监听到的事件执行相应地任务调整或通过所述调度模块执行相应的调度;
31.所述消息触发器用于监听消息系统的消息,并判断是否监听到预设的触发消息,若是通过所述调度模块执行相应的调度;
32.数据库触发器用于监听数据库的字段,所述字段的值达到预设值时,执行相应的调度。
33.优选的,所述系统还包括机器人扩展模块,所述机器人扩展模块用于机器人的注册和支持。
34.与现有技术相比,本发明的有益效果为:通过调度策略配置任务分配的方法,可以配置各个维度,以提高任务分配的灵活性,为当前任务分配合理或合适的机器人,从而提高任务执行效率。
附图说明
35.图1是本发明的任务调度方法流程图;
36.图2是本发明的系统逻辑框图。
具体实施方式
37.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.下面结合附图对本发明做进一步的详细描述:
39.一种rpa机器人的任务调度方法,如图1所示,所述任务调度方法包括:
40.步骤101:判断所述任务是否满足触发条件。
41.若是,执行步骤102:根据预设的调度策略,将所述任务分配给相应的机器人,执行步骤103。所述调度策略包括以下任一维度或它们的组合:任务类型、机器人类型、机器人负载状态和机器人的任务执行效率。所述调度策略还可以包括机器人健康状态。
42.若否,持续监听所述任务的触发信息。
43.步骤103:所述机器人执行所述任务。常用到的机器人包括i

executor机器人和uipath机器人,但不限于此。
44.通过调度策略配置任务分配的方法,可以配置各个维度,以提高任务分配的灵活性,为当前任务分配合理或合适的机器人,从而提高任务执行效率。例如根据当前任务、当前任务的类型以及该类型的机器人任务执行效率分配机器人,将当前任务分配给执行效率高的机器人,可以有效提高任务执行效率;再如根据机器人的负载状态,将当前任务分配给负载较低的机器人,可以防止机器人闲置,以提高任务执行效率。
45.其中,根据机器人的任务执行效率进行任务调度的方法包括:
46.步骤201:获取机器人的历史任务执行情况和任务类型。历史任务执行情况可以保存在数据中心的数据库中。
47.步骤201:根据历史任务执行情况和任务类型,统计所述机器人在各种任务类型下的执行效率。
48.步骤202:基于所述任务类型,将所述任务分配给执行效率高的机器人。不同的机器人其工作原理,开发框架不尽相同,因此具有不同的特点,执行特定类型的任务效率也不尽相同,通过统计找出机器人所擅长的任务类型,并进行优先分配,可以提高任务执行效率。
49.在一个具体实施例中,采用如下计算机器人的分配权重:
50.v=x
×
λ1+y
×
λ2+z
×
λ3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
51.其中,v表示机器人的分配权重,x表示为执行效率,λ1表示为执行效率的权重系数,y表示为健康状态,λ2表示为健康状态的权重系数,通常将λ2设置为较大的负值,健康状态不佳时,不分配任务,z表示为负载状态,λ3表示为负载状态的权重系数,在一个具体实施例中,将待执行任务量与任务执行效率的比值表示为负载状态,λ3可以设置为负值。
52.所述触发条件包括以下任一触发方式:事件触发、消息触发、时间触发和数据库变更触发。
53.时间触发的方式是指,在设定的时间到达时,进行任务调度和任务执行。常见为cron表达式形式或者时间间隔形式,常见的工具有xxl

job和spring quartz。
54.其中:事件触发的方法包括:
55.步骤301:监听事件,所述事件包括以下任一触发事件:停止任务、立即触发任务、修改触发时间和删除任务。外部的rest事件通过http发送请求,通过监听所述请求,获取rest事件。在一个具体实施例中,通过事件触发器进行监听。
56.步骤302:根据监听到的事件,执行相应的任务调度或调整。
57.事件触发不限于触发任务的调度或执行,还可以根据事件的内容对任务进行调整:如修改触发时间以推迟任务执行;删除任务是指在待调度任务列表中删除任务,不再执行;在接收到停止任务事件时,事件触发器向执行机器人发出停止执行的指令,执行机器人停止执行该任务,并执行下一任务;执行机器人若还未执行该任务,则在待执行任务队列中删除该任务。
58.消息触发的方法包括:
59.步骤401:监听消息系统的消息。
60.步骤402:监听到触发消息时,执行相应的调度。
61.在一个具体实施例中,将消息触发器注册到消息系统中,并通过消息触发器监听消息系统。若监听到任务触发消息,则满足触发条件。
62.数据库变更触发的方法包括:
63.步骤501:监听数据库的字段。
64.步骤502:所述字段的值达到预设值时,执行相应的调度。
65.其中,所述字段可以设置为与任务执行相关的字段,例如,a任务执行结果保存到数据库的相关字段中,监听到所述字段的值达到预设值时,判断满足触发条件,执行相应的调度。
66.本发明还提供一种用于实现上述任务调度方法的系统,如图2所示,包括触发模块1、调度模块2和机器人3;
67.触发模块1用于判断所述任务是否满足触发条件;
68.若是,根据调度策略4,所述调度模块2将所述任务分配给相应的机器人3,调度策略4包括以下任一维度或它们的组合:任务类型、机器人类型、机器人负载状态和机器人的任务执行效率;
69.机器人3用于执行所述任务。
70.本发明的系统还可以包括数据中心5,数据中心5用于记录机器人管理信息、任务类型信息和任务记录管理信息,所述任务记录管理信息包括根据历史任务执行情况,统计机器人3在不同任务类型下的执行效率;所述调度策略包括基于任务、任务类型、机器人类型和执行效率,将所述任务分配给任务类型执行效率高的机器人。
71.其中,触发模块1包括时间触发器11、事件触发器12、消息触发器13和数据库触发器14,
72.时间触发器11用于判断所述任务是否满足触发时间,若是通过调度模块2执行相应的调度;
73.事件触发器12用于监听事件,并判断是否监听到预设的事件,若是,根据监听到的事件执行相应地任务调整或通过调度模块2执行相应的调度;
74.消息触发器13用于监听消息系统的消息,并判断是否监听到预设的触发消息,若是通过调度模块2执行相应的调度;
75.数据库触发器14用于监听数据库的字段,所述字段的值达到预设值时,执行相应的调度。
76.本发明还可以包括机器人扩展模块6,机器人扩展模块6用于机器人的注册和支持。具体的,机器人扩展模块通过api接口实现与机器人的注册和支持,可以灵活扩展新机
器人,进行注册,并根据注册时的规则进行机器人筛选。注册后,可以将机器人的信息保存到数据中心5的机器人管理信息中。
77.实施例1
78.使用事件触发器实时调度rpa任务给i

executor机器人来执行,该场景下可实时对机器人进行启动和停止的控制;
79.使用消息触发器发送10000件rpa任务给i

executor机器人来消费,该场景下我们的调度方法能够有序的将任务分派给机器人;
80.使用数据库触发器发送3000件rpa任务给i

executor机器人和7000件rpa任务给uipath机器人来执行,该场景下能够准确的对所有任务进行分类并发送给相应的机器人来消费。
81.实施例2
82.数据中心5中,注册的机器人有:机器人a、机器人b和机器人c,任务类型有:类型一、类型二和类型三。
83.机器人a健康状态良好,y=1:类型一的执行效率为30件/分钟,类型二的执行效率为35件/分钟,类型三的执行效率为20件/分钟,队列中有60件任务,类型一的15件,类型二20件,类型三25件,负载为:z=15/30+20/35+25/20,为2.32;
84.机器人b健康状态良好,y=1:类型一的执行效率x为20件/分钟,类型二的执行效率x为38件/分钟,类型三的执行效率x为40件/分钟,队列中有80件任务,类型一的10件,类型二30件,类型三40件,负载为:z=10/20+30/38+40/40,为2.29。
85.机器人c健康状态不佳,y=4,类型一的执行效率x为35件/分钟,类型二的执行效率x为30件/分钟,类型三的执行效率x为25件/分钟,队列中有10件任务,类型一的5件,类型二3件,类型三2件,负载为:z=5/35+2/30+2/25,为0.29。
86.v=x
×1‑
y
×
10

z
×5ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
87.根据上式,任务类型一的机器人a分配权重v
a
=30

10

11.6=9.4;
88.任务类型一的机器人b分配权重:v
b
=20

10

11.45=

1.45;
89.任务类型一的机器人c分配权重:v
c
=35

40

1.45=

6.45;则当前任务的任务类型为一是,将分配给机器人a进行执行。任务类型二和任务类型三以此类推,本说明书中不再赘述。
90.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1