CN114244890B - Rpa服务器集群控制方法及*** - Google Patents
Rpa服务器集群控制方法及*** Download PDFInfo
- Publication number
- CN114244890B CN114244890B CN202111575338.6A CN202111575338A CN114244890B CN 114244890 B CN114244890 B CN 114244890B CN 202111575338 A CN202111575338 A CN 202111575338A CN 114244890 B CN114244890 B CN 114244890B
- Authority
- CN
- China
- Prior art keywords
- server
- software robot
- agent
- login
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Hardware Redundancy (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了RPA服务器集群控制方法及***,该方法包括:软件机器人代理向连接至同一内存数据库的多个服务器的一个发送登录请求包,接收被请求的服务器基于服务器的接入信息获取的目标登录服务器的相关信息,进行登录,并接收目标登录服务器返回的可接入服务器列表;软件机器人代理通过心跳包确定当前接入的服务器宕机,从可接入服务器列表选取续登请求服务器,向续登请求服务器发送续登请求包,以使续登请求服务器根据续登请求包,基于接入信息获取目标续登服务器并返回给软件机器人代理。本发明提高了RPA***的扩展能力,规避了RPA服务器单点故障导致RPA业务瘫痪的问题,保证了RPA业务的连续性。
Description
技术领域
本发明涉及机器自动化的技术领域,特别涉及一种RPA服务器集群控制方法及***。
背景技术
随着机器人流程自动化软件(Robotic Process Automation,RPA)技术的发展,以及各行业对RPA的大规模使用,采用RPA机器人实现流程自动化完成数字化转型已成必然趋势,它不仅能帮助企业用户大幅提升工作效率,满足对工作结果准确性和合规性的高标准要求,还能改善用户的办公体验。
但现阶段,单服务器的架构方式处理能力有限,当RPA***的业务增长到一定程度的时候,单服务器的硬件资源将难以满足业务的需求,不便于扩展,且该单服务器一旦故障会直接导致RPA业务瘫痪。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种RPA服务器集群控制方法,提高了RPA***的扩展能力,规避了RPA服务器单点故障导致RPA业务瘫痪的问题,从而保证了RPA业务的连续性。
本发明还提出一种具有上述RPA服务器集群控制方法的RPA服务器集群控制***。
根据本发明的第一方面实施例的RPA服务器集群控制方法,多个服务器连接至同一内存数据库,所述多个服务器中的一个与控制器连接,每个服务器在所述内存数据库中记录本服务器的接入信息,包括以下步骤:软件机器人代理向所述多个服务器的一个发送登录请求包,接收被请求的服务器基于所述接入信息返回的目标登录服务器的相关信息,登录至所述目标登录服务器,并接收所述目标登录服务器返回的可接入服务器列表;所述软件机器人代理通过心跳包检测当前接入的服务器是否宕机,确定当前接入的服务器宕机后,从所述可接入服务器列表选取续登请求服务器,向所述续登请求服务器发送续登请求包,其中所述续登请求包中包括当前接入的服务器的地址信息,以使所述续登请求服务器根据所述续登请求包,基于所述接入信息获取目标续登服务器并返回给所述软件机器人代理。
根据本发明实施例的RPA服务器集群控制方法,至少具有如下有益效果:通过使多个服务器与内存数据库连接,提高了RPA的扩展能力,能够接入超大规模数量的软件机器人代理,以满足不断增长的应用需求;当集群的整体负荷超过集群的当前接入能力时,还可以通过添加RPA服务器来解决;同时,软件机器人代理通过心跳包检测接入的服务器是否工作正常,并在接入的服务器宕机后,通过可接入的服务器获取目标续登服务器进行接续登录,规避了RPA服务器单点故障导致RPA业务瘫痪的问题,从而保证了RPA业务的连续性。
根据本发明的一些实施例,所述被请求的服务器基于所述接入信息获取的目标登录服务器的相关信息包括:所述被请求的服务器通过所述接入信息,获取当前可接入数量最大且处于工作状态的服务器作为候选服务器;若所述候选服务器是所述被请求的服务器,则所述被请求的服务器接入请求的所述软件机器人代理,并更新自身的接入信息,返回登录成功响应包给请求的所述软件机器人代理,所述登录成功响应包中包括所述可接入服务器列表。
根据本发明的一些实施例,所述被请求的服务器基于所述接入信息获取的目标登录服务器的相关信息还包括:若所述候选服务器不是所述被请求的服务器,则获取所述被请求的服务器的当前可接入数量,以及,所述候选服务器的当前可接入数量与所述被请求的服务器的当前可接入数量的差值;若所述被请求的服务器的当前可接入数量为零,或者,所述差值大于预设负载差值,则所述被请求的服务器将所述候选服务器作为目标登录服务器返回给请求的所述软件机器人代理;否则,所述被请求的服务器接入请求的所述软件机器人代理。
根据本发明的一些实施例,所述被请求的服务器将所述候选服务器作为目标登录服务器返回给请求的所述软件机器人代理,在一定延时后关闭与请求的所述软件机器人代理的连接。
根据本发明的一些实施例,所述软件机器人代理向当前接入的服务器发送心跳包或应用协议包失败,则确定当前接入的服务器宕机。
根据本发明的一些实施例,所述软件机器人代理检测到当前接入的服务器宕机后,与所述目标续登服务器接续登录成功后,将原发送失败的应用协议包发送给所述目标续登服务器,以使所述目标续登服务器从所述内存数据库中获取相关联的上下文信息,处理所述原发送失败的应用协议包。
根据本发明的一些实施例,所述软件机器人代理执行当前流程节点的指令,并向当前接入的服务器发送当前流程执行状态信息,以使:当前接入的服务器根据所述当前流程执行状态信息更新存储于所述内存数据库的流程状态表,通过所述流程状态表获取要执行下一流程节点的下一所述软件机器人代理,通过所述接入信息获取下一所述软件机器人代理接入的下一接入服务器,并向所述下一接入服务器发送流程执行交接包,以使所述下一接入服务器控制下一所述软件机器人代理执行下一流程节点的指令。
根据本发明的一些实施例,所述当前流程执行状态信息包括:流程标识、当前流程节点状态、当前流程节点执行结果以及执行当前流程节点的所述软件机器人代理的相关信息;所述流程执行交接包中包括:所述当前流程执行状态信息以及下一所述软件机器人代理的相关信息。
根据本发明的一些实施例,还包括:接入所述控制器的服务器接收到所述控制器的代理控制请求包,从所述代理控制请求包中获取要控制的目标软件机器人代理,基于所述接入信息获取所述目标软件机器人代理接入的目标控制服务器,向所述目标控制服务器转发所述代理控制请求包,以使:所述目标控制服务器下发所述代理控制请求包给所述目标软件机器人代理,并转发所述目标软件机器人代理返回的代理控制应答包;接入所述控制器的服务器接收所述目标控制服务器转发的所述代理控制应答包,转发给所述控制器。
根据本发明的第二方面实施例的RPA服务器集群控制***,用于执行本发明的第一方面实施例的方法,包括:共享内存数据库,与多个服务器连接,用于存储服务器的接入信息、服务器运行时产生的上下文信息和流程状态表;服务器,用于接收软件机器人代理的登录请求包或续登请求包,基于所述接入信息接入所述软件机器人代理,接收所述软件机器人代理的当前流程执行状态信息,对所述流程状态表进行更新,并通过所述流程状态表定位要执行下一流程节点的所述软件机器人代理接入的下一接入服务器,向所述下一接入服务器发送流程执行交接包;控制器,与所述多个服务器的一个连接,用于给接入的所述服务器发送代理控制请求包,以对目标软件机器人代理进行控制,并接收来自于所述目标软件机器人代理的代理控制应答包;软件机器代理人,与服务器连接,用于根据服务器的指令,执行相应的流程节点的指令,以及,通过心跳包检测当前连接的服务器是否宕机。
根据本发明实施例的RPA服务器集群控制***,至少具有如下有益效果:通过使多个服务器与内存数据库连接,提高了RPA的扩展能力,能够接入超大规模数量的软件机器人代理,以满足不断增长的应用需求;当集群的整体负荷超过集群的当前接入能力时,还可以通过添加RPA服务器来解决;同时,软件机器人代理通过心跳包检测接入的服务器是否工作正常,并在接入的服务器宕机后,通过可接入的服务器获取目标续登服务器进行接续登录,规避了RPA服务器单点故障导致RPA业务瘫痪的问题,从而保证了RPA业务的连续性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的方法的流程示意图;
图2为本发明实施例的方法中代理请求登录的示意图;
图3为本发明实施例的方法中流程节点的控制示意图;
图4为本发明实施例的方法中控制器对软件机器人代理进行控制的调度示意图;
图5为本发明实施例的方法中软件机器人代理发现断连接后的续登请求示意图;
图6为本发明实施例的***中各设备的连接示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。在本发明的描述中,步骤标号仅是为了描述的方便或者引述的方便所作出的标识,各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
应注意的是,本发明的实施例中的图2至图6中的代理均指RPA服务集群中的软件机器人代理(Agent),用于在目标机器上执行流程脚本程序。
本发明的实施例中各设备的连接示意图如图6所示,包括多个服务器连接至同一内存数据库,多个服务器中的一个与控制器连接,每个服务器在内存数据库中记录本服务器的接入信息,这些接入信息可以汇总为接入信息表。每个服务器下可以接入至少一个软件机器人代理(对应于图6中的代理)。图6中的各服务器示出了接入不超过3个的软件机器人代理仅为示例,并不能理解为对本实施例中各服务器接入的软件机器人代理的数量的限制。
参照图1,本发明的实施例的方法包括以下步骤:软件机器人代理向多个服务器中的一个(该服务器也被称为被请求的服务器)发送登录请求包,接收被请求的服务器基于接入信息返回的目标登录服务器的相关信息,登录至目标登录服务器,并接收目标登录服务器返回的可接入服务器列表;软件机器人代理通过心跳包检测当前接入的服务器是否宕机,确定当前接入的服务器宕机后,从可接入服务器列表选取续登请求服务器,向续登请求服务器发送续登请求包,其中续登请求包中包括当前接入的服务器的地址信息,以使续登请求服务器根据续登请求包,基于接入信息获取目标续登服务器并返回给软件机器人代理。
在本发明的一个实施例中,每个服务器的接入信息包括:服务器的地址信息(例如IP地址)、该服务器最大的可接入数量、该服务器当前的接入数量、该服务器的工作状态、接入至该服务器的设备信息。其中,服务器的工作状态表示该服务器是否工作中,服务器接入的设备信息表示接入该服务器的设备(包括:软件机器人代理、控制器)的相关信息,例如,设备类型(用于表征设备为软件机器人代理还是为控制器的)、设备标识、以及设备地址信息等。其中设备标识表征是哪一台设备。本发明的一些实施例中,还在内存数据库中记录了软件机器人代理、控制器接入至哪一个服务器的信息。对于这些信息以及服务器接入了哪些设备的信息,本文中均统称为接入信息,即接入信息只要表征了软件机器人代理、控制器与服务器的连接关系即可,并不限定为:是以一个服务器对应多个软件机器人代理和/或控制器的存储方式,还是以一个软件机器人代理或控制器对应一个服务器这种存储方式。这些接入信息可以以表的方式进行存储,可以存储于同一张表中,也可以存在于多张表中。
下面将通过图2至图5,分别详细地说明本发明实施例的方法中软件机器人代理的登录接入、流程节点的控制、控制器对目标软件机器人代理的控制流程、软件机器人代理在接入的服务器宕机后的续登接入处理。
图2为软件机器人代理接入RPA服务器集群的示意图。当某个软件机器人代理请求登录至RPA服务器集群中时,可以向RPA服务器集群中的任一服务器发出请求,PRA服务器集群基于负载均衡为其分配接入的服务器。
具体地,参照图2,如以下步骤:
(1)某个软件机器人代理“代理_1”向“服务器_A”发出登录请求包,参照2中的虚线部分。
(2)“服务器_A”在内存数据库查询接入信息表,从中获取当前可接入数量最大的候选服务器,并获取该候选服务器的相关信息。其中,当前可接入数量=最大的可接入数量-当前的接入数量。也就是说,获取当前处于工作状态且当前可接入数量最大的服务器。
例如,如果当前可接入数量最大的候选服务器为“服务器_l”,则返回“服务器_l”的当前可接入数MaxIdleCnt和IP地址信息等。
(3)如果候选服务器就是“服务器_A”自身,则“代理_1”的服务接入“服务器_A”,“服务器_A”在接入信息表上记录“代理_1”接入它的相关信息,返回给“代理_1”登录成功响应包。该登录成功响应包中还包括所有的当前处于工作状态的服务器的IP地址列表,即可接入服务器列表。
(4)否则,即候选服务器不是“服务器_A”自身,“服务器_A”获取取自身的当前可接入数myIdleCnt,得出(MaxIdleCnt-myIdleCnt)的差值d。
(5)如果差值d大于预设负载差值lo,或者myIdleCnt等于0,则“服务器_A”将候选服务器作为目标登录服务器返回给“代理_1”。例如,通过“定向登录至其他服务器”的协议包返回目标登录服务器给“代理_1”。预设负载差值lo可以存储于内存数据库中。若候选服务器为如图2中所示的“服务器_l”,则该协议包中包括:“服务器_l”的地址信息等。“服务器_A”在发送该协议包后,在一定延时后关闭与“代理_1”的连接。
否则,即差值d小于等于预设负载差值lo且myIdleCnt不等于0,则“服务器_A”在接入信息表上记录“代理_1”接入它的相关信息,返回给“代理_1”登录成功响应包。
(6)如图2所示,若接收到“定向登录至其他服务器”的协议包,则“代理_1”关闭与“服务器_A”的连接,从该协议包中获取“服务器_l”的地址信息,向“服务器_l”进行登录,发送登录请求包。
与上述类似地,“服务器_l”在接入信息表上记录“代理_1”接入它的相关信息,返回给“代理_1”登录成功响应包。该登录成功响应包中还包括所有的当前处于工作状态的服务器的IP地址列表,即可接入服务器列表。
图3示出了在流程执行过程中,不同的流程节点分别由不同的软件机器人代理执行时的控制示意图。如果流程的执行当前节点的软件机器人代理和执行下一节点的软件机器人代理都接入在同一服务器上,则此场景下的流程控制方式与单服务器的RPA***的流程控制方式相同,此处不再赘述。下面将结合图3描述这两个软件机器人代理分别接入于不同服务器时的控制过程。其中,“代理_1”接入至“服务器_A”,“代理_2”接入至“服务器_B”。在该流程中,需要在“代理_1”执行某操作后,转入“代理_2”去执行另一操作。
具体地,参照图3,包括以下步骤:
(1)“代理_1”向“服务器_A”发送当前流程执行状态信息,例如,通过发送“当前流程执行状态”协议包的方式进行发送。该协议包中包括:流程标识、当前流程节点状态、当前流程执行结果、“代理_1”的相关信息等等。
(2)“服务器_A”根据当前流程执行状态信息,更新存储于内存数据库中的流程状态表。当“服务器_A”根据“代理_1”发送的当前流程执行状态信息得知“代理_1”已执行完当前流程节点,则“服务器_A”通过查询该流程状态表得到要执行下一个流程节点的“代理_2”的相关信息。
在本发明的实施例中,流程状态表一般包括:流程标识、流程节点序列、执行每个流程节点的软件机器代理的标识、每个流程节点的节点状态、每个流程节点的执行结果等等。流程节点的节点状态,例如,未开始、执行中、执行结束等。
(3)“服务器_A”通过存储于内存数据库的接入信息,获取要执行下一流程节点的“代理_2”接入的服务器,为“服务器_B”的信息。
(4)“服务器_A”向“服务器_B”发出流程执行交接包,该协议包中包括:流程ID、当前流程节点状态、当前流程执行结果、“代理_1”的相关信息,下一个流程节点的“代理_2”的相关信息,等等。
(5)“服务器_B”向“代理_2”发出执行流程包,该协议包中包括:流程ID、当前流程节点状态、当前流程执行结果、“代理_1”的相关信息、下一个流程节点要执行的指令(例如脚本代码)等等。
(6)“代理_2”接收到执行流程包,执行相应的流程节点的脚本代码,并向“服务器_B”发送当前流程执行状态信息,报告当前流程执行状态。
图4中示出了控制器在RPA服务器集群中如何对软件机器人代理进行控制的示意过程。
如果控制器和要控制的目标软件机器人代理都接入在同一服务器上,则此场景下的控制器对软件机器人代理的控制方式与单服务器的RPA***的控制方式相同,此处不再赘述。
下面将结合图4描述控制器和目标软件机器人代理分别接入于不同服务器的控制过程。其中,控制器接入至“服务器_X”,作为目标软件机器人代理的“代理_3”接入至“服务器_C”。
具体地,包括以下步骤:
(1)当控制器要对“代理_3”进行操作控制时,该控制器向它接入的服务器即“服务器_X”发出代理控制请求包。该包中包括:目标软件机器人代理的相关信息,例如,软件机器人代理标识、软件机器人代理的地址信息(例如IP地址)等,以及,控制命令(如启动某个指定的流程)等信息。
(2)“服务器_X”接收到该代理控制请求包,通过接入信息表,获取到“代理_3”接入的服务器为“服务器_C”,则该代理控制请求包转发到“服务器_C”。
(3)“服务器_C”将该代理控制请求包,下发到“代理_3”。
(4)“代理_3”响应于该代理控制请求包,执行相应的操作,并返回“服务器_C”相应的代理控制应答包。该代理控制应答包中包括:例如,响应该代理控制请求包的结果。
(5)“服务器_C”转发该代理控制应答包给“服务器_X”。
(6)“服务器_X”将代理控制应答包发送给控制器。
图5示出了本发明实施例中,软件机器人代理检测到当前接入的服务器宕机时,重新登录其它服务器,使得RPA业务得以继续的过程。在图5中,软件机器人代理“代理_4”接入至“服务器_D”,在成功登录时得到了“服务器_D”返回的可接入服务器列表。
具体地,如图5所示,包括以下步骤:
(1)“代理_4”和“服务器_D”保持网络连接,定时发心跳包。
(2)当“代理_4”向“服务器_D”发应用协议包失败时,或发心跳包失败时,认为“服务器_D”宕机了。此时,“代理_4”从可接入服务器列表中选取另一个服务器作为续登请求服务器。例如,将“服务器_Y”作为续登请求服务器,此时,“代理_4”向“服务器_Y”续登请求包,该续登请求包中包括:宕机的“服务器_D”信息。
(3)“服务器_Y”接收到该续登请求包,则认为“服务器_D”对“代理_4”已经不可接入,会基于负载均衡根据接入信息表选取出一个目标续登服务器。“服务器_Y”选取目标续登服务器的方式,与上述的如图2中所示的“服务器_A”选取候选服务器的方式基本上一致,但会在去除“服务器_D”的范围内获取候选服务器。
该续登目标服务器可能是“服务器_Y”自身,或者是另一个服务器“服务器_J”。
(4)如果选出的服务器是“服务器_Y”自身,则“服务器_Y”返回表征“服务接续/登录成功”的信息给“代理_4”,并对更新接入信息中的“代理_4”接入信息。
(5)如果选出的服务器是“服务器_J”,则“服务器_Y”返回“定向接入其他服务器”的协议包给“代理_4”,其中包括“服务器_J”的地址等信息。
(6)如果“代理_4”接收到“定向接入其他服务器”的协议包,将向“服务器_J”发送“服务接续/登录”的协议包,其中包括宕机的“服务器_D”信息。
(7)“代理_4”接收到“服务器_J”返回的“服务接续/登录成功”的信息,则“代理_4”将原来发送给“服务器_D”发送失败的应用协议包,发送给新登录的服务器“服务器_J”。
新登录的服务器“服务器_J”,处理该应用协议包。“服务器_J”可以从内存数据库中取该应用协议包相关的上下文信息,来处理该应用协议包。
本发明的实施例通过上述方法,提高了RPA的扩展能力,能够接入超大规模数量的软件机器人代理,以满足不断增长的应用需求。当集群的整体负荷超过集群的当前接入能力时,可以通过添加RPA服务器来解决。同时,RPA服务器集群方式规避了RPA服务器单点故障导致RPA业务瘫痪的问题,保证了RPA业务的连续性。
本发明实施例的***,参照图6,包括:内存数据库、服务器、控制器及软件机器人代理。
内存数据库,与多个服务器连接,用于存储服务器的接入信息、服务器运行时产生的上下文信息和流程状态表。
服务器,用于接收软件机器人代理的登录请求包或续登请求包,基于接入信息接入软件机器人代理,接收软件机器人代理的当前流程执行状态信息,对流程状态表进行更新,并通过流程状态表定位要执行下一流程节点的软件机器人代理接入的下一接入服务器,向下一接入服务器发送流程执行交接包。
控制器,与多个服务器的一个连接,用于给接入的服务器发送代理控制请求包,以对目标软件机器人代理进行控制,并接收来自于目标软件机器人代理的代理控制应答包。
软件机器代理人,与服务器连接,用于根据服务器的指令,执行相应的流程节点的指令,以及,通过心跳包检测当前连接的服务器是否宕机。
尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种示例性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的示例性具体实施和架构的许多其它修改也处于本公开的范围内。
上文参考根据示例性实施方案所述的***、方法、***和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。
因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机***或者专用硬件和计算机指令的组合来实现。
本文所述的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,所述计算机可执行指令响应于执行而使本文所述的功能的至少一部分(例如,本文所述的例示性方法的一种或多种操作)被执行。
软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作***平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作***或其它软件组件执行,而无需首先转换成另一种形式。
软件组件可存储为文件或其它数据存储构造。具有相似类型或相关功能的软件组件可一起存储在诸如特定的目录、文件夹或库中。软件组件可为静态的(例如,预设的或固定的)或动态的(例如,在执行时创建或修改的)。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
Claims (9)
1.一种RPA服务器集群控制方法,其特征在于,多个服务器连接至同一内存数据库,所述多个服务器中的一个与控制器连接,每个服务器在所述内存数据库中记录本服务器的接入信息,包括以下步骤:
软件机器人代理向所述多个服务器中的一个发送登录请求包,接收被请求的服务器基于所述接入信息返回的目标登录服务器的相关信息,登录至所述目标登录服务器,并接收所述目标登录服务器返回的可接入服务器列表;
所述软件机器人代理通过心跳包检测当前接入的服务器是否宕机,确定当前接入的服务器宕机后,从所述可接入服务器列表选取续登请求服务器,向所述续登请求服务器发送续登请求包,其中所述续登请求包中包括当前接入的服务器的地址信息,以使所述续登请求服务器根据所述续登请求包,基于所述接入信息获取目标续登服务器并返回给所述软件机器人代理;
所述软件机器人代理执行当前流程节点的指令,并向当前接入的服务器发送当前流程执行状态信息,以使:
当前接入的服务器根据所述当前流程执行状态信息更新存储于所述内存数据库的流程状态表,通过所述流程状态表获取要执行下一流程节点的下一所述软件机器人代理,通过所述接入信息获取下一所述软件机器人代理接入的下一接入服务器,并向所述下一接入服务器发送流程执行交接包,以使所述下一接入服务器控制下一所述软件机器人代理执行下一流程节点的指令。
2.根据权利要求1所述的RPA服务器集群控制方法,其特征在于,所述被请求的服务器基于所述接入信息获取的目标登录服务器的相关信息包括:
所述被请求的服务器通过所述接入信息,获取当前可接入数量最大且处于工作状态的服务器作为候选服务器;
若所述候选服务器是所述被请求的服务器,则所述被请求的服务器接入请求的所述软件机器人代理,并更新自身的接入信息,返回登录成功响应包给请求的所述软件机器人代理,所述登录成功响应包中包括所述可接入服务器列表。
3.根据权利要求2所述的RPA服务器集群控制方法,其特征在于,所述被请求的服务器基于所述接入信息获取的目标登录服务器的相关信息还包括:
若所述候选服务器不是所述被请求的服务器,则获取所述被请求的服务器的当前可接入数量,以及,所述候选服务器的当前可接入数量与所述被请求的服务器的当前可接入数量的差值;
若所述被请求的服务器的当前可接入数量为零,或者,所述差值大于预设负载差值,则所述被请求的服务器将所述候选服务器作为目标登录服务器返回给请求的所述软件机器人代理;否则,所述被请求的服务器接入请求的所述软件机器人代理。
4.根据权利要求3所述的RPA服务器集群控制方法,其特征在于,所述被请求的服务器将所述候选服务器作为目标登录服务器返回给请求的所述软件机器人代理,在一定延时后关闭与请求的所述软件机器人代理的连接。
5.根据权利要求1所述的RPA服务器集群控制方法,其特征在于,所述软件机器人代理向当前接入的服务器发送心跳包或应用协议包失败,则确定当前接入的服务器宕机。
6.根据权利要求1所述的RPA服务器集群控制方法,其特征在于,所述软件机器人代理检测到当前接入的服务器宕机后,与所述目标续登服务器接续登录成功后,将原发送失败的应用协议包发送给所述目标续登服务器,以使所述目标续登服务器从所述内存数据库中获取相关联的上下文信息,处理所述原发送失败的应用协议包。
7.根据权利要求1所述的RPA服务器集群控制方法,其特征在于,所述当前流程执行状态信息包括:流程标识、当前流程节点状态、当前流程节点执行结果以及执行当前流程节点的所述软件机器人代理的相关信息;所述流程执行交接包中包括:所述当前流程执行状态信息以及下一所述软件机器人代理的相关信息。
8.根据权利要求1所述的RPA服务器集群控制方法,其特征在于,还包括:
接入所述控制器的服务器接收到所述控制器的代理控制请求包,从所述代理控制请求包中获取要控制的目标软件机器人代理,基于所述接入信息获取所述目标软件机器人代理接入的目标控制服务器,向所述目标控制服务器转发所述代理控制请求包,以使:所述目标控制服务器下发所述代理控制请求包给所述目标软件机器人代理,并转发所述目标软件机器人代理返回的代理控制应答包;
接入所述控制器的服务器接收所述目标控制服务器转发的所述代理控制应答包,转发给所述控制器。
9.一种RPA服务器集群控制***,用于执行权利要求1至8中任一项的方法,其特征在于,包括:
内存数据库,与多个服务器连接,用于存储服务器的接入信息、服务器运行时产生的上下文信息和流程状态表;
服务器,用于接收软件机器人代理的登录请求包或续登请求包,基于所述接入信息接入所述软件机器人代理,接收所述软件机器人代理的当前流程执行状态信息,对所述流程状态表进行更新,并通过所述流程状态表定位要执行下一流程节点的所述软件机器人代理接入的下一接入服务器,向所述下一接入服务器发送流程执行交接包;
控制器,与所述多个服务器的一个连接,用于给接入的所述服务器发送代理控制请求包,以对目标软件机器人代理进行控制,并接收来自于所述目标软件机器人代理的代理控制应答包;
软件机器代理人,与服务器连接,用于根据服务器的指令,执行相应的流程节点的指令,以及,通过心跳包检测当前连接的服务器是否宕机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111575338.6A CN114244890B (zh) | 2021-12-22 | 2021-12-22 | Rpa服务器集群控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111575338.6A CN114244890B (zh) | 2021-12-22 | 2021-12-22 | Rpa服务器集群控制方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114244890A CN114244890A (zh) | 2022-03-25 |
CN114244890B true CN114244890B (zh) | 2022-05-24 |
Family
ID=80760804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111575338.6A Active CN114244890B (zh) | 2021-12-22 | 2021-12-22 | Rpa服务器集群控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244890B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095180B (zh) * | 2023-03-07 | 2023-06-23 | 天翼云科技有限公司 | 一种日志回传的选路方法、装置和存储介质 |
CN117193232A (zh) * | 2023-07-26 | 2023-12-08 | 珠海金智维信息科技有限公司 | 基于rpa的流程节点故障处理方法、***、装置和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467902A (zh) * | 2020-03-31 | 2021-10-01 | 北京来也网络科技有限公司 | 结合rpa与ai的任务调度方法、装置、客户端以及服务器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103138961B (zh) * | 2011-11-25 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 服务器控制方法、被控服务器及中心控制服务器 |
US10235205B2 (en) * | 2012-05-24 | 2019-03-19 | Citrix Systems, Inc. | Remote management of distributed datacenters |
CN106385334B (zh) * | 2016-09-20 | 2019-06-18 | 携程旅游信息技术(上海)有限公司 | 呼叫中心***及其异常检测及自恢复方法 |
US20210109503A1 (en) * | 2019-10-15 | 2021-04-15 | UiPath, Inc. | Human-in-the-loop robot training for robotic process automation |
CN112395124A (zh) * | 2020-11-17 | 2021-02-23 | 中国建设银行股份有限公司 | 集群环境下机器人异常的管控方法及装置 |
CN113467383A (zh) * | 2021-07-06 | 2021-10-01 | 福建水口发电集团有限公司 | 一种rpa机器人的任务管理方法、设备和存储介质 |
-
2021
- 2021-12-22 CN CN202111575338.6A patent/CN114244890B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467902A (zh) * | 2020-03-31 | 2021-10-01 | 北京来也网络科技有限公司 | 结合rpa与ai的任务调度方法、装置、客户端以及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN114244890A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114244890B (zh) | Rpa服务器集群控制方法及*** | |
US11108866B2 (en) | Method and devices for dynamic management of a server application on a server platform | |
CN107005426B (zh) | 一种虚拟网络功能的生命周期管理方法及装置 | |
JP2020530722A (ja) | Pduタイプ設定方法、ueポリシー設定方法、および関連エンティティ | |
CN104144202B (zh) | Hadoop分布式文件***的访问方法、***和装置 | |
CN111193773A (zh) | 负载均衡方法、装置、设备及存储介质 | |
EP4287023A1 (en) | Service processing method and device | |
US10972347B2 (en) | Converting a first cloud network to second cloud network in a multi-cloud environment | |
WO2021057605A1 (zh) | 设备管理方法、装置、***、设备及存储介质 | |
CN109155939A (zh) | 一种负载迁移方法、装置及*** | |
US7463610B2 (en) | System and method for providing an online software upgrade | |
CN111143031A (zh) | 一种虚拟机的容量更改方法及装置 | |
CN112416594A (zh) | 一种微服务分配方法、电子设备和计算机存储介质 | |
CN110740464A (zh) | 一种nf服务发现方法及设备 | |
CN110611690B (zh) | 主核心设备重选的方法、远程设备和计算机可读介质 | |
CN110795205B (zh) | 基于软件容器提供云端服务的***及方法 | |
CN113064732B (zh) | 一种分布式***及其管理方法 | |
CN108366087B (zh) | 一种基于分布式文件***的iscsi服务实现方法和装置 | |
US11317470B2 (en) | Network system, network device applied thereto and operation method for network device, and operation method for network node | |
CN109104321B (zh) | 提升Hadoop双机集群下Web_HDFS可用性的方法 | |
JP2001216174A (ja) | アプリケーション代替方法及びアプリケーション代替プログラムを格納した記憶媒体 | |
CN111478941A (zh) | Mock自动化运行方法、装置、计算机设备及存储介质 | |
JP2000029847A (ja) | エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体 | |
CN113242323B (zh) | 为物理服务器自动安装***的方法、存储介质及*** | |
JP5452516B2 (ja) | 分散処理装置、および、分散処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |