RPA业务流程智能处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种RPA业务流程智能处理方法、装置、计算机设备和存储介质。
背景技术
RPA,即Robotic Process Automation(机器人流程自动化),是指用软件机器人自动化方式实现在各个行业中本来是人工操作计算机完成的业务,属于人工智能(AI,Artificial Intelligence)技术的应用。RPA可以使软件机器人自动处理大量重复的、基于规则的业务流程任务。例如:在企业的业务流程中,通常有纸质文件录入、证件票据验证、从电子邮件和文档中提取数据、跨系统数据迁移等……软件机器人能准确快速完成这些工作,能减少人工错误、确保零失误、提高效率、大幅度降低运营成本。
随着RPA处理的业务流程的数据量急剧增大,需要通过协同更多的软件机器人资源来完成相应的业务流程处理。然而,目前按照业务和时间分组来为各软件机器人资源分配业务流程进行处理的方式,无法有效实现各软件机器人资源的负载均衡,导致业务流程的处理效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高业务流程处理效率的RPA业务流程智能处理方法、装置、计算机设备和存储介质。
一种RPA业务流程智能处理方法,所述方法包括:
当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源;
将业务流程资源分配至业务流程对应的资源池中,并将业务流程资源的状态更新为待处理状态;
通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
在其中一个实施例中,在当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源之前,还包括:
查询数据库对应的资源状态表;
根据资源状态表确定数据库中的各可用业务流程资源;
将各可用业务流程资源更新至预设的资源工作队列中,并将各可用业务流程资源的状态设为可用状态。
在其中一个实施例中,在当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源之前,还包括:
当接收到业务流程执行指令时,根据业务流程执行指令和业务流程执行计划确定各待处理业务流程;
根据各待处理业务流程对应的流程优先级和紧急程度,确定各待处理业务流程相应的执行优先级;
按照执行优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理。
在其中一个实施例中,根据各待处理业务流程对应的流程优先级和紧急程度,确定各待处理业务流程相应的执行优先级包括:
从预设的流程信息表中,查询各待处理业务流程分别对应的流程优先级;
根据业务流程执行指令和业务流程执行计划,确定各待处理业务流程分别对应的紧急程度;
根据流程优先级和紧急程度分别得到各待处理业务流程相应的执行优先级。
在其中一个实施例中,RPA业务流程智能处理方法还包括:
当各待处理业务流程相应的执行优先级中包括相同执行优先级时,根据流程信息表,确定相同执行优先级对应同级待处理业务流程的执行时长;
根据执行时长和执行优先级,确定同级待处理业务流程的同级优先级;
按照执行优先级和同级优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理。
在其中一个实施例中,将业务流程资源分配至业务流程对应的资源池中包括:
获取业务流程资源对应的资源账户信息,并基于资源账户信息登录业务流程资源;
当业务流程资源处于已登录状态时,确定业务流程对应的资源池;
将业务流程资源分配至资源池中,并将业务流程资源的状态更新为待处理状态。
在其中一个实施例中,RPA业务流程智能处理方法还包括:
确定业务流程的执行状态;
当执行状态为执行结束状态时,注销业务流程资源;
当业务流程资源处于已注销状态时,将业务流程资源从资源池中移出。
一种RPA业务流程智能处理装置,所述装置包括:
资源获取模块,用于当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源;
资源分配模块,用于将业务流程资源分配至业务流程对应的资源池中;
业务流程执行模块,用于通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源;
将业务流程资源分配至业务流程对应的资源池中,并将业务流程资源的状态更新为待处理状态;
通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源;
将业务流程资源分配至业务流程对应的资源池中,并将业务流程资源的状态更新为待处理状态;
通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
上述RPA业务流程智能处理方法、装置、计算机设备和存储介质,在触发针对业务流程的资源分配处理时,将从资源工作队列中获得的处于可用状态的业务流程资源分配至业务流程对应的资源池中,并通过资源池响应业务流程执行操作,采用资源池中的业务流程资源执行相应的业务流程。在业务流程处理过程中,通过从资源工作队列对处于可用状态的业务流程资源进行管控,并通过业务流程对应的资源池中的业务流程资源执行相应业务流程,可以实现各业务流程资源的负载均衡,从而提高业务流程的处理效率。
附图说明
图1为一个实施例中RPA业务流程智能处理方法的应用环境图;
图2为一个实施例中RPA业务流程智能处理方法的流程示意图;
图3为一个实施例中优先级排序的流程示意图;
图4为另一个实施例中RPA业务流程智能处理方法的时序图;
图5为一个实施例中RPA业务流程智能处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的RPA业务流程智能处理方法,可以应用于如图1所示的应用环境中。其中,流程请求设备102通过网络与服务器104进行通信,服务器104通过网络与业务流程资源106进行通信。流程请求设备102向服务器104发送业务流程处理请求,服务器104根据接收到的业务流程处理请求触发针对业务流程的资源分配处理,服务器104将从资源工作队列中获得的处于可用状态的业务流程资源106分配至业务流程对应的资源池中,并通过资源池响应业务流程执行操作,采用资源池中的业务流程资源104执行相应的业务流程。此外,也可以由服务器104根据预存的业务流程计划触发针对业务流程的资源分配处理,并对相应的业务流程进行处理。其中,流程请求设备102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,或独立的服务器或者是多个服务器组成的服务器集群,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,业务流程资源106可以为终端资源,如个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备还可以为服务器,如独立的服务器或者是多个服务器组成的服务器集群。
在一个实施例中,如图2所示,提供了一种RPA业务流程智能处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源。
其中,业务流程为RPA的软件机器人能够进行处理的基于一定业务规则的流程任务,如数据文件录入、从网站下载数据文件等。资源是指能够对业务流程进行处理,具备一定计算处理能力的设备,也可以称为执行机器人,如计算机、服务器等可以执行业务流程的单独设备。资源分配处理是指针对业务流程分配相应资源进行处理的过程,如为证件票据验证的业务流程分配相应的软件机器人资源进行处理。资源分配处理的触发可以为静态触发,即根据预定的业务流程计划触发相应的业务流程处理,如达到预定时刻时或满足相应处理条件时,则需要对数据文件录入的业务流程进行处理,触发针对该业务流程的资源分配处理;资源分配处理的触发也可以为动态触发,如可以为接收到用户通过终端发送的业务流程执行指令,则可以触发针对业务流程执行指令对应业务流程的资源分配处理。资源工作队列用于记录各种资源,具体可以记录有处于各种状态的业务流程资源,具体如RPA的资源PC(Personal Computer,个人计算机),资源工作队列中的各业务流程资源可以用于执行各种业务流程,从而实现通过资源工作队列将各种业务流程资源进行统一管控。业务流程资源在处于不同的工作阶段时对应于不同的状态,如空闲可用时可以为可用状态,又如在执行业务流程时可以为忙碌状态等。可用状态表征业务流程资源空闲,未执行业务流程任务,可以接受业务流程的分配并执行相应的业务流程。资源工作队列可以定时或实时根据数据库进行更新,以确保资源工作队列中各种业务流程资源状态的准确性,确保从资源工作队列中获取的业务流程资源均处于可用状态,从而确保业务流程的处理效率。
具体地,服务器检测到触发针对业务流程的资源分配处理时,如预设的业务流程满足资源分配条件时,或接收到终端发送的业务流程执行指令时,服务器查询预设的资源工作队列,从资源工作队列中获取处于可用状态的业务流程资源。在具体实现时,可以从资源工作队列中查询到的第一个处于可用状态的业务流程资源作为选定获取的业务流程资源。
步骤204,将业务流程资源分配至业务流程对应的资源池中。
其中,资源池为业务流程资源的容器,资源池与业务流程对应,具体可以根据业务流程对应构建,可以利用资源池中的业务流程资源执行相应的业务流程。
具体地,服务器在从预设的资源工作队列中获得处于可用状态的业务流程资源后,服务器将获得的业务流程资源分配至业务流程对应的资源池中。具体实现时,服务器可以查询业务流程对应的资源池,并将获得的业务流程资源转移至业务流程对应的资源池中,从而由资源池通过其中的业务流程资源执行相应的业务流程。
在具体实现时,服务器将业务流程资源分配至业务流程对应的资源池中后,服务器将业务流程资源的状态更新为待处理状态,表明该业务流程资源等待执行业务流程。待处理状态表征业务流程资源已被选定,待执行相应的业务流程。进一步地,业务流程资源的状态可以包括队列标记和资源标签,其中,队列标记为业务流程资源在相应资源工作队列中的状态标记,如可以为待处理、已锁定、已登录等;资源标签为业务流程资源本身的属性标签,如可以为可用、忙碌、已登录等。通过队列标记和资源标签可以准确确定相应的业务流程资源所处的状态。例如,对于队列标记为已注销,资源标签为可用时,表征相应的业务流程资源被添加至资源工作队列中,处于可用状态;对于队列标记为已锁定,资源标签为忙碌时,表征相应的业务流程资源已被选定,处理待处理状态。
步骤206,通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
其中,执行操作为执行业务流程的操作,资源池响应于该执行操作,以对响应的业务流程进行处理。执行操作可以在满足相应条件时触发生成,如满足执行条件,具体如执行时间,也可以为用户主动触发。具体地,服务器在将业务流程资源转移到业务流程对应的资源池后,若检测到业务流程的执行操作,则服务器通过业务流程对应的资源池进行响应,以采用资源池中的业务流程资源执行业务流程,从而实现对业务流程的处理。
业务流程需要在指定时间运行在指定的业务流程资源上,如资源PC上,随着业务流程的增加需要增加更多的资源PC,资源PC的利用率会成为一个痛点。由于业务流程运行时间不能完全控制,加上繁忙时段的影响,会出现资源PC有的任务超标但个别闲置的情况。目前,对于RPA的业务流程分配,一般是通过RPA开发工具软件,如BP(Blue Prism,蓝棱镜)提供的开发环境、任务计划器和配置管理功能来静态分配任务,按业务和时间进行分组,使用人工分析空闲和繁忙阶段,使用固定时间或周期的静态任务分配资源运行指定的业务流程。然而,利用人工表格来分析和分配时间段和资源PC复杂度随着资源PC的增加成指数级增长,而且计划和实际运行不可能完全一致,分配给每个部门的资源PC的数量取决于高峰时段的使用情况以及需要同时运行的流程数量,由于繁忙时段因素和事件触发流程等原因导致超额预订;而使用固定的预约计划时委派给各部门的资源PC可能会出现“一个部门闲置而其他部门排队的情况”,各资源PC的负载不均衡,导致业务流程的处理效率降低。而且,传统的业务流程处理中,每个资源PC专用于服务特定的业务部门,如果需要新的RPA流程以在已占用的专用时隙上运行,则需要额外的资源PC,影响了业务流程的处理效率。而本实施例中,通过从资源工作队列对处于可用状态的业务流程资源进行管控,消除了固定计划和人工预定方案的依赖性,并通过业务流程对应的资源池中的业务流程资源执行相应业务流程,确保了每个业务流程资源的利用率,可以实现各业务流程资源的负载均衡,从而提高业务流程的处理效率。
上述RPA业务流程智能处理方法中,在触发针对业务流程的资源分配处理时,将从资源工作队列中获得的处于可用状态的业务流程资源分配至业务流程对应的资源池中,并通过资源池响应业务流程执行操作,采用资源池中的业务流程资源执行相应的业务流程。在业务流程处理过程中,通过从资源工作队列对处于可用状态的业务流程资源进行管控,并通过业务流程对应的资源池中的业务流程资源执行相应业务流程,可以实现各业务流程资源的负载均衡,从而提高业务流程的处理效率。
在一个实施例中,在当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源之前,还包括:查询数据库对应的资源状态表;根据资源状态表确定数据库中的各可用业务流程资源;将各可用业务流程资源更新至预设的资源工作队列中,并将各可用业务流程资源的状态设为可用状态。
本实施例中,根据数据库对应的资源状态表更新预先构建的资源工作队列,以通过资源工作队列对各业务流程资源进行统一管控。其中,数据库包括各业务流程资源,资源状态表记录有数据库中各种业务流程资源的状态信息。可用业务流程资源为可用的业务流程资源,如可以为处于已注销状态的业务流程资源。
具体地,服务器查询数据库对应的资源状态表,如查询BPAResource数据库表,服务器根据资源状态表确定数据库中各可用业务流程资源,例如可以根据资源状态表中的状态信息,从数据库中确定处于已注销状态的业务流程资源作为可用业务流程资源。确定数据库中的各可用业务流程资源后,将可用业务流程资源更新至预设的资源工作队列中,并将各可用业务流程资源的状态设为可用状态,以表征资源工作队列中的各业务流程资源均可以用作执行业务流程。在具体实现时,服务器可以实时或定时根据数据库中的各可用业务流程资源对资源工作队列进行更新,从而确保资源工作队列的有效性。在将各可用业务流程资源更新至预设的资源工作队列时,可以先将资源工作队列进行重置,如将资源工作队列中的各业务流程资源进行清空,并将各可用业务流程资源填充至资源工作队列中,同时将各可用业务流程资源的状态设为可用状态,具体可以将业务流程资源的队列标记设为已注销,将业务流程资源的资源标签设为可用。
本实施例中,通过将根据数据库的资源状态表确定的数据库中的各可用业务流程资源更新至预设的资源工作队列中,从而可以通过资源工作队列对各业务流程资源进行统一管控,如进行资源分配,各业务流程资源可以运行各种业务流程,能够支持更多并发的业务流程执行,而无需增加专用的业务流程资源,从而能够确保业务流程的处理效率。
在一个实施例中,如图3所示,RPA业务流程智能处理方法还包括优先级排序的处理,具体包括:
步骤302,当接收到业务流程执行指令时,根据业务流程执行指令和业务流程执行计划确定各待处理业务流程。
本实施例中,在接收到业务流程执行指令,即需要执行用户指示的业务流程时,基于执行优先级将各待处理业务流程进行排序,并根据排序结果依次触发对各待处理业务流程的资源分配处理。
其中,业务流程执行指令可以由用户通过终端发送,以指示需要执行相应的业务流程。具体地,服务器可以与用户的终端通过网络进行通信,接收用户通过终端发送的业务流程执行指令,以指示执行相应的业务流程。一般地,RPA中业务流程是在指定时间执行的,即根据业务流程执行计划中的业务流程按序执行的,若终端向服务器发送业务流程执行指令,则表明用户需要临时执行相应的业务流程,如可能需要重新执行中断的业务流程,此时可能与原本业务流程执行计划相冲突,则会造成资源争抢的情况;又如用户触发从网络下载数据文件,此时需要执行对应的数据文件下载业务流程,可能会与原本的业务流程执行计划产生冲突尤其在多个用户同时业务流程执行指令时,更容易发生业务流程资源争抢情况,从而影响业务流程的处理效率。业务流程执行计划为预先设定的业务流程任务安排,业务流程执行计划记录有各种需要执行的业务流程及各业务流程的执行信息,如执行时间、触发条件等。待处理业务流程包括根据业务流程执行指令确定需要执行的业务流程和根据业务流程执行计划确定的需要执行的业务流程。
具体地,在接收到业务流程执行指令时,服务器根据业务流程执行指令和业务流程执行计划确定各待处理业务流程。具体实现时,如接收到至少一个业务流程执行指令时,服务器确定业务流程执行指令对应的临时业务流程,并根据业务流程执行计划确定需要执行的计划业务流程,根据临时业务流程和计划业务流程得到各待处理业务流程。
步骤304,根据各待处理业务流程对应的流程优先级和紧急程度,确定各待处理业务流程相应的执行优先级。
其中,流程优先级与各种业务流程对应,流程优先级根据业务流程的实际需求进行预先设置。如下表1示,不同的业务流程对应于不同的流程名称和流程ID(Identitydocument,唯一编码),流程优先级可以划分为1-5共5个分别对应于最高、次高、中、次低和低,表1中,流程优先级的数值越小,则对应的优先级越高。同样的,也可以为流程优先级的数值越大,则对应的优先级越高。
流程ID |
流程名称 |
流程优先级 |
优先级描述 |
001 |
流程1 |
1 |
最高 |
002 |
流程2 |
2 |
次高 |
003 |
流程3 |
3 |
中 |
004 |
流程4 |
4 |
次低 |
005 |
流程5 |
5 |
低 |
表1
紧急程度反映了业务流程执行的紧急需求,紧急程度可以划分为1、2和3共3个等级,分别对应于高、中和低。紧急程度越高,则表征相应业务流程的越需要优先执行,其优先级越高。执行优先级综合了业务流程的流程优先级和紧急程度,可以综合反映业务流程的优先需求,具体可以根据流程优先级和紧急程度进行数学映射得到,如根据流程优先级和紧急程度乘积得到执行优先级。
具体地,服务器根据各待处理业务流程对应的流程优先级和紧急程度,确定各待处理业务流程相应的执行优先级,从而综合了业务流程对应的流程优先级和紧急程度,能够对各待处理业务流程的优先需求进行准确反映。具体实现时,服务器可以根据预设的流程信息表中确定各待处理业务流程的流程优先级,并根据业务流程执行指令和业务流程执行计划,确定各待处理业务流程的紧急程度,从而根据流程优先级和紧急程度进行数学映射得到待处理业务流程相应的执行优先级。
步骤306,按照执行优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理。
在确定各待处理业务流程相应的执行优先级后,服务器按照执行优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理,从而对冲突的待处理业务流程进行先后排序,确保业务流程的处理效率。
本实施例中,基于执行优先级将各待处理业务流程进行排序,并根据排序结果依次触发对各待处理业务流程的资源分配处理,从而确保了各业务流程的处理效率。
在一个实施例中,根据各待处理业务流程对应的流程优先级和紧急程度,确定各待处理业务流程相应的执行优先级包括:从预设的流程信息表中,查询各待处理业务流程分别对应的流程优先级;根据业务流程执行指令和业务流程执行计划,确定各待处理业务流程分别对应的紧急程度;根据流程优先级和紧急程度分别得到各待处理业务流程相应的执行优先级。
本实施例中,服务器通过预设的流程信息表确定各待处理业务流程分别对应的流程优先级,并通过业务流程执行指令和业务流程执行计划确定紧急程度。其中,流程信息表根据实际业务需求进行预先设定,流程信息表可以记录每一个业务流程的流程优先级,还可以记录有各业务流程的执行时长。如下表2所示,为一个实施例中的流程信息表BPAProcessPriority。
表2
从流程信息表中,可以查询得到各待处理业务流程对应的流程优先级。
另一方面,服务器通过业务流程执行指令和业务流程执行计划,确定各待处理业务流程分别对应的紧急程度。其中,业务流程执行指令可以携带有紧急程度的字段,根据该业务流程执行指令中的该字段可以确定业务流程执行指令对应的待处理业务流程的紧急程度。此外,也可以由用户输入紧急程度,具体可以在用户通过业务流程执行指令指示执行业务流程时,可以展示紧急程度输入界面,并通过该紧急程度输入界面获取用户输入的紧急程度,若用户未操作,则可以默认将业务流程执行指令对应的业务流程设为中等的紧急程度。业务流程执行计划可以记录有各业务流程计划的紧急程度。
在得到各待处理业务流程分别对应的流程优先级和紧急程度后,服务器根据流程优先级和紧急程度分别确定各待处理业务流程的执行优先级。具体实现时,可以按照执行优先级=流程优先级×紧急程度确定各待处理业务流程的执行优先级,并将执行优先级数值越小,设置为优先级越高,优先对相应的业务流程进行处理。
本实施例中,通过预设的流程信息表确定各待处理业务流程分别对应的流程优先级,并通过业务流程执行指令和业务流程执行计划确定紧急程度,从而可以使得到的执行优先级能够准确表征相应待处理业务流程的处理优先需求,从而解决各业务流程的冲突情况,确保业务流程的处理效率。
在一个实施例中,RPA业务流程智能处理方法还包括:当各待处理业务流程相应的执行优先级中包括相同执行优先级时,根据流程信息表,确定相同执行优先级对应同级待处理业务流程的执行时长;根据执行时长和执行优先级,确定同级待处理业务流程的同级优先级;按照执行优先级和同级优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理。
本实施例中,对于相同执行优先级的同级待处理业务流程,结合同级待处理业务流程的执行时长确定同级待处理业务流程,并按照执行优先级和同级优先级依次触发各待处理业务流程的资源分配处理。其中,同级待处理业务流程指执行优先级相同的待处理业务流程。执行时长为业务流程执行从开始执行到结束的时间跨度;不同的业务流程有不同的业务任务,则对应于各自的执行时长。执行时长可以记录在流程信息表中,如上表2示,流程信息表记录了流程1至流程5分别对应的执行时长。同级优先级指同级待处理业务流程之间的优先级,同级优先级根据同级待处理业务流程对应的执行时长和执行优先级确定。
具体地,服务器在根据流程优先级和紧急程度分别得到各待处理业务流程相应的执行优先级后,若包括相同执行优先级时,根据流程信息表确定相同执行优先级对应同级待处理业务流程的执行时长。具体可以由服务器从流程信息表中查询得到各同级待处理业务流程的执行时长。服务器根据执行时长和执行优先级确定同级待处理业务流程的同级优先级,具体可以通过同级优先级=执行优先级*执行时长得到同级优先级,同级优先级可以设置为数值越小,则优先级越高。在确定同级待处理业务流程的同级优先级后,服务器根据得到的执行优先级和同级优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理,从而对相同执行优先级而冲突的待处理业务流程进一步进行优先级划分,以进一步确保业务流程的处理效率。此外,若根据执行时长和执行优先级,确定得到的同级待处理业务流程的同级优先级仍相同,则可以对相同同级优先级的同级待处理业务流程进行随机排序,以解决同级待处理业务流程之间的优先级冲突问题,确保业务流程的处理效率。
本实施例中,对于相同执行优先级的同级待处理业务流程,结合同级待处理业务流程的执行时长确定同级待处理业务流程,并按照执行优先级和同级优先级依次触发各待处理业务流程的资源分配处理,从而对相同执行优先级而冲突的待处理业务流程进一步进行优先级划分,以进一步确保业务流程的处理效率。
在一个实施例中,将业务流程资源分配至业务流程对应的资源池中包括:获取业务流程资源对应的资源账户信息,并基于资源账户信息登录业务流程资源;当业务流程资源处于已登录状态时,确定业务流程对应的资源池;将业务流程资源分配至资源池中,并将业务流程资源的状态更新为待处理状态。
本实施例中,通过业务流程资源对应的资源账户信息登录业务流程资源后,将处于已登录状态的业务流程资源分配至业务流程对应的资源池中。其中,资源账户信息为登录业务流程资源以激活业务流程资源执行业务流程的账户信息。一般地,对于一些业务场景,如金融机构,对PC资源有严格的安全控制要求,不同的业务职能团队需要拥有其特定帐户,并且所有资源PC不允许提前登录并等待,除非有任务流程将要执行。通过资源账户信息实现对业务流程资源的安全性管控,可以确保业务流程处理的安全性。
具体地,服务器从资源工作队列中获得处于可用状态的业务流程资源后,服务器获取业务流程资源对应的资源账户信息,并基于资源账户信息登录业务流程资源。具体可以通过接口从密码管理系统安全获得业务流程资源对应的用户名和密码,并通过该用户名和密码登录业务流程资源。服务器检测业务流程资源的状态,以判断业务流程资源是否登录成功,若业务流程资源处于已登录状态,具体如业务流程资源的队列标记为待处理,资源标签为已登录时,表明业务流程资源已成功登录,确定业务流程对应的资源池。资源池与业务流程对应构建,资源池可以响应业务流程触发的执行操作,以通过自身中的业务流程资源执行相应的业务流程。具体实现时,可以根据业务流程的编号查询与资源池之间的映射关系,并基于该映射关系和业务流程的编号确定相应的资源池。确定业务流程对应的资源池后,服务器将业务流程资源分配至资源池中,并将业务流程资源的状态更新为待处理状态,以表明该业务流程资源等待执行业务流程。
本实施例中,通过业务流程资源对应的资源账户信息登录业务流程资源后,将处于已登录状态的业务流程资源分配至业务流程对应的资源池中,并更新业务流程资源的状态,从而对业务流程资源的账户安全进行管控,确保业务流程处理的安全性。
在一个实施例中,RPA业务流程智能处理方法还包括:确定业务流程的执行状态;当执行状态为执行结束状态时,注销业务流程资源;当业务流程资源处于已注销状态时,将业务流程资源从资源池中移出。
本实施例中,在业务流程的处于执行结束状态时,注销业务流程资源,并在业务流程资源处于已注销状态时,从资源池中移出业务流程资源,从而实现对业务流程资源的复位。
具体地,服务器在通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程后,服务器监测业务流程的执行状态,执行状态反映了业务流程在被执行时的进度。当执行状态为执行结束状态时,表明业务流程已执行结束,服务器注销业务流程资源,具体可以将服务器从已登陆状态注销登出,从而实现对业务流程资源的释放。服务器监测业务流程资源的状态,当业务流程资源处于已注销状态时,表明业务流程资源已注销成功,则服务器将业务流程资源从资源池中移出,从而实现对业务流程资源的释放,以便后续服务器根据数据库对应的资源状态表可以将该业务流程资源重新确定为可用业务流程资源。
本实施例中,在业务流程的处于执行结束状态时,注销业务流程资源,并在业务流程资源处于已注销状态时,从资源池中移出业务流程资源,实现了对业务流程资源的复位,从而实现了对各种业务流程资源的有效复用,提高了业务流程的处理效率。
在一个实施例中,RPA业务流程智能处理方法应用于如图4所示的RPA应用环境中。本实施例中,业务处理资源为资源PC。具体地,应用服务器连接资源管理器,启动智能排队机制;资源管理器连接数据库定时扫描是否有空闲的资源PC并将其填充到资源工作队列;具体地,资源管理器在数据库中查询可用资源PC的列表(即状态=已注销),查询的数据库表名称为BPAResource,资源管理器将返回的结果填充到资源工作队列中。资源管理器将需要执行任务的资源PC登录并移动到资源池;具体地,资源管理器从资源工作队列中选择一个可用资源PC,然后触发登录过程以登录到该资源PC,资源管理器检查登录状态,一旦选定资源PC登录成功(即状态=空闲),资源管理器将资源PC移至指定的资源池。业务流程从资源池获得资源PC并运行,具体地,应用服务器针对指定的资源池触发业务流程。多个业务流程可以同时触发,资源管理器将分配资源PC,实现并发运行。
其中,对于资源工作队列填充的处理,资源管理器查询数据库中的资源状态表。返回所有可用资源PC;资源管理器删除资源工作队列中的所有待处理(可用资源PC),然后使用最新结果填充资源工作队列并更新所有资源PC的标记状态,更新状态为(队列标记=待处理,资源标签=可用);资源管理器从资源工作队列中获取下一个标签为可用(可用资源PC),通过队列属性获取资源PC名称,通过命令执行登录过程,更新状态为(队列标记=已锁定,资源标签=忙碌);选定资源PC登录后(即状态=已登录),资源管理器将资源PC移至资源池,释放业务流程并更新资源PC的状态,更新状态为(队列标记=待处理,资源标签=已登录);资源PC完成业务流程后,资源管理器从资源工作队列中删除已执行完成的业务流程。
其中,资源PC登录及注销处理中,资源管理器进程选择可用的资源PC,然后通过接口从密码管理系统安全获得用户名/密码,使用该用户名/密码登录资源PC;资源管理器进程验证资源PC是否已登录,如果状态为已登录(状态=已登录),将资源PC添加到指定的资源池中;业务流程选择指定的资源池启动,对新添加的资源PC进行验证并执行该业务流程;业务流程完成后,资源PC将执行注销操作,资源PC注销后(即状态=已注销),资源PC将从资源池中移出。
本实施例中,所有资源PC统一在一个为所有部门服务的通用资源池下,每个空闲的资源PC都可用于运行任何业务流程,资源管理器获取可用资源列表,并帮助分配第一个可用资源PC来执行业务流程。如此,能够支持更多并发的业务流程执行,而无需添加资源PC;且消除了固定计划和人工预定方案的依赖性,使每个资源PC的利用率得到增加;而且,在业务高峰期,所有资源PC的负载是均衡的。所有资源PC是标准配置,业务流程可以在任意的资源PC上执行,更加灵活。而且,通过资源工作队列统一调配资源,资源PC利用率从30%显著提高到70%。此外,所有资源PC都处于登出状态,只有在执行业务流程的时候登录。保障安全,确保合规性。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种RPA业务流程智能处理装置,包括:资源获取模块502、资源分配模块504和业务流程执行模块506,其中:
资源获取模块502,用于当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源;
资源分配模块504,用于将业务流程资源分配至业务流程对应的资源池中;
业务流程执行模块506,用于通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
在一个实施例中,还包括状态表查询模块、流程资源确定模块和资源更新模块;其中:状态表查询模块,用于查询数据库对应的资源状态表;流程资源确定模块,用于根据资源状态表确定数据库中的各可用业务流程资源;资源更新模块,用于将各可用业务流程资源更新至预设的资源工作队列中,并将各可用业务流程资源的状态设为可用状态。
在一个实施例中,还包括执行指令处理模块、优先级确定模块和资源分配触发模块;其中:指令处理模块,用于当接收到业务流程执行指令时,根据业务流程执行指令和业务流程执行计划确定各待处理业务流程;优先级确定模块,用于根据各待处理业务流程对应的流程优先级和紧急程度,确定各待处理业务流程相应的执行优先级;资源分配触发模块,用于按照执行优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理。
在一个实施例中,优先级确定模块包括流程优先级模块、紧急程度模块和执行优先级模块;其中:流程优先级模块,用于从预设的流程信息表中,查询各待处理业务流程分别对应的流程优先级;紧急程度模块,用于根据业务流程执行指令和业务流程执行计划,确定各待处理业务流程分别对应的紧急程度;执行优先级模块,用于根据流程优先级和紧急程度分别得到各待处理业务流程相应的执行优先级。
在一个实施例中,还包括执行时长确定模块和统计优先级模块;其中:执行时长确定模块,用于当各待处理业务流程相应的执行优先级中包括相同执行优先级时,根据流程信息表,确定相同执行优先级对应同级待处理业务流程的执行时长;统计优先级模块,用于根据执行时长和执行优先级,确定同级待处理业务流程的同级优先级;资源分配触发模块,还用于按照执行优先级和同级优先级从高到低的顺序,依次触发针对各待处理业务流程的资源分配处理。
在一个实施例中,资源分配模块504包括账户信息获取模块、资源池确定模块和资源转移模块;其中:账户信息获取模块,用于获取业务流程资源对应的资源账户信息,并基于资源账户信息登录业务流程资源;资源池确定模块,用于当业务流程资源处于已登录状态时,确定业务流程对应的资源池;资源转移模块,用于将业务流程资源分配至资源池中,并将业务流程资源的状态更新为待处理状态。
在一个实施例中,还包括执行状态模块、资源注销模块和资源移出模块;其中:执行状态模块,用于确定业务流程的执行状态;资源注销模块,用于当执行状态为执行结束状态时,注销业务流程资源;资源移出模块,用于当业务流程资源处于已注销状态时,将业务流程资源从资源池中移出。
关于RPA业务流程智能处理装置的具体限定可以参见上文中对于RPA业务流程智能处理方法的限定,在此不再赘述。上述RPA业务流程智能处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种RPA业务流程智能处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源;
将业务流程资源分配至业务流程对应的资源池中,并将业务流程资源的状态更新为待处理状态;
通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当触发针对业务流程的资源分配处理时,从预设的资源工作队列中获取处于可用状态的业务流程资源;
将业务流程资源分配至业务流程对应的资源池中,并将业务流程资源的状态更新为待处理状态;
通过资源池响应于业务流程的执行操作,采用资源池中的业务流程资源执行业务流程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。