System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于redis的无头浏览器RPA任务执行队列的调度方法及装置制造方法及图纸_技高网

基于redis的无头浏览器RPA任务执行队列的调度方法及装置制造方法及图纸

技术编号:40999807 阅读:4 留言:0更新日期:2024-04-18 21:38
本发明专利技术公开了一种基于redis的无头浏览器RPA任务执行队列的调度方法及装置,包括:响应于RPA任务的并发请求;对每个服务器部署Headless模式下的执行环境;配置每个服务器的公用队列和私有队列并基于优先级对目标对象进行对应队列的分配;确定分配后当前公用队列和私有队列与目标对象的绑定状态;判断目标对象是否绑定私有队列,在私有队列处于空闲状态下,将所述RPA任务优先推送至私有队列执行;根据预设执行分发策略对私有队列和公用队列的占用情况进行判断,在私有队列存在占用的情况下,对公用队列的整体繁忙状态进行判断,并基于最大权重调度策略筛选出最优执行服务器的公用队列进行任务推送,从而实现服务器的负载均衡与服务器预警。

【技术实现步骤摘要】

本专利技术涉及业务监控,尤其涉及一种基于redis的无头浏览器rpa任务执行队列的调度方法及装置。


技术介绍

1、rpa(robotic process automation,机器人流程自动化),即:机器、流程、自动化,rpa是以机器人作为虚拟劳动力,依据预先设定的程序与现有用户系统进行交互并完成预期的任务。其中流程是指给机器人设定的用于完成用户任务的工作流程,由机器人根据流程自动完成用户任务。从目前的技术实践来看,现有的rpa还仅适用于高重复性、逻辑确定的任务。rpa能够代替或者协助人类在计算机、手机等数字化设备中完成重复性工作与任务。rpa就是借助一些能够自动执行的脚本完成一系列原来需要人工完成的工作,但凡具备一定脚本生成、编辑、执行能力的工具在此处都可以称之为机器人。使用这个之后,对于公司的后台业务自动化,业务处理的正确性,效率提高,甚至于业务的扩大都很大裨益。

2、目前服务器执行无头浏览器rpa任务时,自动化操作平台aop系统会在服务器上通过puppeteer开启一个无头的chromium浏览器,然后在该浏览器中执行录制的rpa脚本。

3、但随着业务的发展及使用品牌的增多以上这种模式逐渐产生了瓶颈与问题。在高并发请求时常常会出现内存溢出程序卡死等问题导致任务无法正常执行完成。


技术实现思路

1、本专利技术的目的是提供一种基于redis的无头浏览器rpa任务执行队列的调度方法及装置,通过多台服务器组成服务器集群,在通过私有队列绑定,任务执行分发逻辑由redis队列分发到服务器集群中执行相关任务从而实现服务器的负载均衡与服务器预警,提高工作效率。

2、本专利技术提供了一种基于redis的无头浏览器rpa任务执行队列的调度方法,包括:

3、响应于无头浏览器rpa任务的并发请求;

4、根据所述并发请求配置多个服务器构成服务器集群,在所述服务器集群下对每个服务器部署headless模式下的执行环境;

5、配置每个服务器的公用队列和私有队列并基于优先级对目标对象进行对应队列的分配;

6、在多个目标对象呈增加趋势的业务模式下,确定分配后当前公用队列和私有队列与目标对象的绑定状态;

7、当执行目标rpa任务时,判断目标对象是否绑定私有队列,在私有队列处于空闲状态下,将所述目标rpa任务优先推送至私有队列执行;

8、在目标对象绑定私有队列的情况下,根据预设执行分发策略对私有队列和公用队列的占用情况进行判断,在私有队列存在占用的情况下,对公用队列的整体繁忙状态进行判断,并基于最大权重调度策略筛选出最优执行服务器的公用队列进行任务推送。

9、作为优选地,所述公用队列包括多个进程,用于允许任意目标对象访问权限,且同时处理多个推送任务;所述私有队列仅包括一个进程,用于允许指定目标对象访问权限,且仅处理一个推送任务。

10、作为优选地,所述判断目标对象是否绑定私有队列包括:

11、确定目标对象与私有队列的绑定情况;

12、若所述目标对象与私有队列已存在绑定关系,则返回当前绑定的队列信息;

13、若所述目标对象与私有队列不存在绑定关系,则从队列池中获取其余私有队列的状态,如果存在处于空闲状态的私有队列,建立空闲状态的私有队列与所述目标对象的绑定关系,并返回新建绑定的队列信息;如果不存在处于空闲状态的私有队列,则启动对目标对象的回收机制;

14、对处于回收机制的所述目标对象的执行能力进行检测,在所述目标对象达不到预设执行目标时,如果所述目标对象与私有队列间已存在绑定关系,返回当前绑定的队列信息;如果所述目标对象与私有队列间不存在绑定关系,则发出预警提示;

15、其中,所述队列池为所有公用队列和所有私有队列的集合,所述目标对象为电商平台的店铺。

16、作为优选地,所述在目标对象绑定私有队列的情况下,根据预设执行分发策略对私有队列和公用队列的占用情况进行判断包括:

17、对所述目标对象与私有队列的绑定结果进行判断;

18、在所述目标对象与私有队列的绑定结果为空的情况下,将所述目标对象推送至私有队列并按照私有队列逻辑执行;

19、在所述目标对象与私有队列有绑定结果的情况下,将所述目标对象推送至公用队列并按照公用队列逻辑执行。

20、作为优选地,所述在所述目标对象与私有队列的绑定结果为空的情况下,将所述目标对象推送至私有队列包括:

21、判断私有队列是否有等待执行的队列,所述等待执行的队列为已有目标rpa任务在执行过程中,后续目标rpa任务占据在队列中等待而构成的堆积任务;

22、当私有队列存在堆积任务量时,则推送至公用队列并按照公用队列逻辑执行;

23、当私有队列堆积任务量为空时,则推送至该私有队列执行对应任务。

24、作为优选地,所述在所述目标对象与私有队列有绑定结果的情况下,将所述目标对象推送至公用队列包括:

25、判断公用队列整体的繁忙状态,该公用队列中等待执行的任务数大于或等于该服务器中的总公用总进程数时为繁忙,即:总进程数∑(public_process)<=count_queue视为繁忙;

26、如果全部服务器均处于繁忙状态,则触发预警机制,在预警次数大于报警阈值时,对服务器主机进行增加以缓解服务器的繁忙状态;

27、同时判断所述目标对象是否存在已有绑定关系的私有队列,若存在所述私有队列,则按初始私有队列推送,若不存在私有队列,则启动公用队列模式,基于最大权重调度策略计算出最大权重服务器并在所述公用队列下执行;

28、如果服务器未处于繁忙状态,触发公用队列模式,基于最大权重调度策略计算出最大权重服务器,依次将目标rpa任务推送至最大权重服务器中处于空闲状态的公用队列中;

29、其中,count_queue为每个服务器公用队列中等待任务数,public_process为每个服务器公用进程。

30、作为优选地,所述基于最大权重调度策略筛选出最优执行服务器的公用队列进行任务推送包括:

31、设置公用队列繁忙度的权重占比a和ping值的权重占比b;

32、计算公用队列的繁忙度=(1/(count_queue/∑(public_process)))*a+(1/ping*100)*b;

33、其中,count_queue为每个服务器公用队列中等待任务数,public_process为每个服务器公用进程,ping值表示每个服务器连接响应时长。

34、本专利技术还提供了一种基于redis的无头浏览器rpa任务执行队列的调度装置,包括:

35、请求模块,用于响应于无头浏览器rpa任务的并发请求;

36、环境配置模块,用于根据所述并发请求配置多个服务器构成服务器集群,在所述服务器集群下对每个服务器部署headless模式本文档来自技高网...

【技术保护点】

1.一种基于redis的无头浏览器RPA任务执行队列的调度方法,其特征在于,包括:

2.如权利要求1所述的基于redis的无头浏览器RPA任务执行队列的调度方法,其特征在于,所述公用队列包括多个进程,用于允许任意目标对象访问权限,且同时处理多个推送任务;所述私有队列仅包括一个进程,用于允许指定目标对象访问权限,且仅处理一个推送任务。

3.如权利要求1所述的基于redis的无头浏览器RPA任务执行队列的调度方法,其特征在于,所述判断目标对象是否绑定私有队列包括:

4.如权利要求1所述的基于redis的无头浏览器RPA任务执行队列的调度方法,其特征在于,所述在目标对象绑定私有队列的情况下,根据预设执行分发策略对私有队列和公用队列的占用情况进行判断包括:

5.如权利要求4所述的基于redis的无头浏览器RPA任务执行队列的调度方法,其特征在于,所述在所述目标对象与私有队列的绑定结果为空的情况下,将所述目标对象推送至私有队列包括:

6.如权利要求4所述的基于redis的无头浏览器RPA任务执行队列的调度方法,其特征在于,所述在所述目标对象与私有队列有绑定结果的情况下,将所述目标对象推送至公用队列包括:

7.如权利要求1所述的基于redis的无头浏览器RPA任务执行队列的调度方法,其特征在于,所述基于最大权重调度策略筛选出最优执行服务器的公用队列进行任务推送包括:

8.一种基于redis的无头浏览器RPA任务执行队列的调度装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种可读存储介质,其特征在于,所述可读存储介质上存储有处理程序,所述处理程序被处理器执行时实现如权利要求1至7中任意一项所述的基于redis的无头浏览器RPA任务执行队列的调度方法。

...

【技术特征摘要】

1.一种基于redis的无头浏览器rpa任务执行队列的调度方法,其特征在于,包括:

2.如权利要求1所述的基于redis的无头浏览器rpa任务执行队列的调度方法,其特征在于,所述公用队列包括多个进程,用于允许任意目标对象访问权限,且同时处理多个推送任务;所述私有队列仅包括一个进程,用于允许指定目标对象访问权限,且仅处理一个推送任务。

3.如权利要求1所述的基于redis的无头浏览器rpa任务执行队列的调度方法,其特征在于,所述判断目标对象是否绑定私有队列包括:

4.如权利要求1所述的基于redis的无头浏览器rpa任务执行队列的调度方法,其特征在于,所述在目标对象绑定私有队列的情况下,根据预设执行分发策略对私有队列和公用队列的占用情况进行判断包括:

5.如权利要求4所述的基于redis的无头浏览器rpa任务执行队列的调度方法,其特征在于,...

【专利技术属性】
技术研发人员:朱冠华刘国亮刘江宁
申请(专利权)人:上海百秋新网商数字科技有限公司
类型:发明
国别省市:

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

1