掌桥专利:专业的专利平台
掌桥专利
首页

基于AI的RPA流程控制端的服务器通信方法、装置、设备及介质

文献发布时间:2023-06-19 09:35:27


基于AI的RPA流程控制端的服务器通信方法、装置、设备及介质

技术领域

本公开的实施例涉及机器人流程自动化领域,具体涉及人工智能(ArtificialIntelligence,简称AI)和机器人流程自动化(Robotic Process Automation,简称RPA)领域,尤其涉及一种基于AI的RPA流程控制端的服务器通信方法、装置、设备及介质。

背景技术

机器人流程自动化(Robotic process automation)简称RPA,是通过特定的“机器人软件”,模拟人在计算机上的操作,按规则自动执行流程任务。相对于人工手动执行任务,RPA既提供了任务执行效率,又提高了任务执行效果的稳定性。

人工智能(Artificial Intelligence,简称AI)是研究、开发用于模拟、延伸和扩展人智能的理论、方法、技术及应用系统的一门新技术科学。人工智能领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。其中,人工智能技术包括自然语言处理(Natural Language Processing,简称NLP)技术。

RPA系统架构包括RPA流程开发端、RPA流程执行端和RPA流程控制端。开发人员在RPA流程开发端上开发流程任务,RPA流程执行端执行流程任务,RPA流程控制端管理流程任务、并为RPA流程执行端执行任务流程提供相应的业务服务。

随着RPA流程执行端的数量增加,RPA流程控制端中各服务器之间的通信消息的数量越来越庞大,亟需提高RPA流程控制端的服务器通信效率。

发明内容

本公开的实施例提供一种基于AI的RPA流程控制端的服务器通信方法、装置、设备及介质,用以解决RPA流程控制端的服务器通信效率不高的问题。

第一方面,本公开的实施例提供一种基于AI的RPA流程控制端的服务器通信方法,所述RPA流程控制端包括第一服务器和第二服务器,所述第一服务器用于与RPA流程执行端和所述第二服务器进行通信,所述第二服务器用于存储业务服务,所述第一服务器与所述第二服务器之间的通信消息的数据类型为字节类型;所述方法包括:

所述第一服务器接收所述RPA流程执行端的服务调用请求;

如果所述第一服务器与所述第二服务器之间存在通信连接,则所述第一服务器向所述第二服务器发送请求调用服务的通信消息;

所述第一服务器响应于接收到所述第二服务器返回的服务调用响应的通信消息,将所述服务调用响应的通信消息中的调用结果返回给所述RPA流程执行端。

在一个可能的实现方式中,所述第一服务器与所述第二服务器之间的通信消息的消息头长度固定。

在一个可能的实现方式中,所述消息头中包括多个预设字段,各所述字段在所述消息头中的位置固定。

在一个可能的实现方式中,所述字段包括报文类型、通信协议版本号、消息标识、服务标识、消息体长度、消息时间、消息类型、保留位和校验位。

在一个可能的实现方式中,所述如果所述第一服务器与所述第二服务器之间存在通信连接,则所述第一服务器向所述第二服务器发送请求调用服务的通信消息之前,所述方法还包括:

如果所述第一服务器与所述第二服务器之间不存在通信连接,则所述第一服务器向所述第二服务器发送请求建立通信连接的通信消息;

所述如果所述第一服务器与所述第二服务器之间存在通信连接,则所述第一服务器向所述第二服务器发送请求调用服务的通信消息,包括:

如果所述第一服务器接收到所述第二服务器返回的连接响应的通信消息,则所述第一服务器向所述第二服务器发送请求调用服务的通信消息。

在一个可能的实现方式中,所述方法还包括:

获取所述第一服务器与所述第二服务器未进行数据传输的连续时长,如果所述连续时长大于预设的时长阈值,则断开所述第一服务器与所述第二服务器之间的通信连接。

在一个可能的实现方式中,所述如果所述第一服务器与所述第二服务器之间存在通信连接,则所述第一服务器向所述第二服务器发送请求调用服务的通信消息,包括:

如果所述第一服务器与所述第二服务器之间存在通信连接,则所述第一服务器根据自然语言处理NLP从服务调用请求中获取服务标识和服务输入参数;

所述第一服务器根据所述服务标识,生成所述请求调用服务的通信消息的消息头;

所述第一服务器对所述服务输入参数进行序列化,生成所述请求调用服务的通信消息的消息体;

所述第一服务器向所述第二服务器发送所述请求调用服务的通信消息。

第二方面,本公开的实施例提供一种基于AI的RPA流程控制端的服务器通信方法,所述RPA流程控制端包括第一服务器和第二服务器,所述第一服务器用于与RPA流程执行端和所述第二服务器进行通信,所述第一服务器基于自然语言处理NLP技术与RPA流程执行端和所述第二服务器进行通信,所述第二服务器用于存储业务服务,所述第一服务器与所述第二服务器之间的通信消息的数据类型为字节类型;所述方法包括:

第二服务器接收所述第一服务器发送的请求调用服务的通信消息;

所述第二服务器根据所述请求调用服务的通信消息,调用相应的业务服务,得到调用结果;

所述第二服务器通过向所述第一服务器发送服务调用响应的通信消息,将所述调用结果返回给所述第一服务器。

在一个可能的实现方式中,所述第一服务器与所述第二服务器之间通信消息的消息头长度固定。

在一个可能的实现方式中,所述消息头中包括多个预设字段,各所述字段在所述消息头中的位置固定。

在一个可能的实现方式中,所述字段包括报文类型、通信协议版本号、消息标识、服务标识、消息体长度、时间信息、消息类型、保留位和校验位。

在一个可能的实现方式中,所述第二服务器接收所述第一服务器发送的请求调用服务的通信消息之前,所述方法还包括:

所述第二服务器接收所述第一服务器发送的请求建立通信连接的通信消息;

所述第二服务器对所述请求建立通信连接的通信消息进行校验;

如果校验通过,则所述第二服务器与所述第一服务器建立通信连接,并向所述第一服务器发送连接响应的通信消息。

在一个可能的实现方式中,所述方法还包括:

获取所述第一服务器与所述第二服务器未进行数据传输的连续时长,如果所述连续时长大于预设的时长阈值,则断开所述第一服务器与与所述第二服务器之间的通信连接。

在一个可能的实现方式中,所述第二服务器根据所述请求调用服务的通信消息,调用相应的业务服务,得到调用结果,包括:

所述第二服务器在所述请求调用服务的通信消息的消息头中,获得所述业务服务的服务标识;

所述第二服务器对所述请求调用服务的通信消息的消息体进行反序列化,得到服务输入参数;

所述第二服务器根据所述业务服务的服务标识和所述服务输入参数,调用所述业务服务,得到所述业务服务的调用结果。

在一个可能的实现方式中,所述第二服务器通过向所述第一服务器发送服务调用响应的通信消息,将所述调用结果返回给所述第一服务器,包括:

所述第二服务器生成所述服务调用响应的通信消息的消息头;

所述第二服务器对所述调用结果进行序列化,生成所述服务调用响应的通信消息的消息体;

所述第二服务器向所述第一服务器发送所述服务调用响应的通信消息。

第三方面,本公开的实施例提供一种基于AI的RPA流程控制端的服务器通信装置,所述RPA流程控制端包括第一服务器和第二服务器,所述第一服务器用于与RPA流程执行端和所述第二服务器进行通信,所述第一服务器基于自然语言处理NLP技术与RPA流程执行端和所述第二服务器进行通信,所述第二服务器用于存储业务服务,所述第一服务器与所述第二服务器之间的通信消息的数据类型为字节类型;所述装置包括:

接收模块,用于所述第一服务器接收所述RPA流程执行端的服务调用请求;

发送模块,用于如果所述第一服务器与所述第二服务器之间存在通信连接,则所述第一服务器向所述第二服务器发送请求调用服务的通信消息;所述第一服务器响应于接收到所述第二服务器返回的服务调用响应的通信消息,将所述服务调用响应的通信消息中的调用结果返回给所述RPA流程执行端。

第四方面,本公开的实施例提供一种基于AI的RPA流程控制端的服务器通信装置,所述RPA流程控制端包括第一服务器和第二服务器,所述第一服务器用于与RPA流程执行端和所述第二服务器进行通信,所述第一服务器基于自然语言处理NLP技术与RPA流程执行端和所述第二服务器进行通信,所述第二服务器用于存储业务服务,所述第一服务器与所述第二服务器之间的通信消息的数据类型为字节类型;所述装置包括:

接收模块,用于第二服务器接收所述第一服务器发送的请求调用服务的通信消息;

调用模块,用于所述第二服务器根据所述请求调用服务的通信消息,调用相应的业务服务,得到调用结果;

发送模块,用于所述第二服务器通过向所述第一服务器发送服务调用响应的通信消息,将所述调用结果返回给所述第一服务器。

第五方面,本公开的实施例提供一种服务器,包括:收发器、存储器和处理器;

所述收发器用于数据收发;

所述存储器用于存储程序指令;

所述处理器用于调用所述存储器中的程序指令执行如第一方面、第一方面的各可能的实现方式、第二方面、或者第二方面的各可能的实现方式所述的方法。

第六方面,本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时,实现如第一方面、第一方面的各可能的实现方式、第二方面、或者第二方面的各可能的实现方式所述的方法。

第七方面,本公开的实施例提供一种包含指令的程序产品,所述程序产品包括计算机程序,所述计算机程序被处理器执行时实现第一方面、第一方面的各可能的实现方式、第二方面、或者第二方面的各可能的实现方式所述的方法。

本公开的实施例提供的基于AI的RPA流程控制端的服务器通信方法、装置、设备及介质中,RPA流程控制端包括第一服务器和第二服务器,第一服务器用于与RPA流程执行器和第二服务器通信,第二服务器用于存储业务服务,第一服务器和第二服务器之间通信消息的消息类型为字节类型。响应于接收到RPA流程执行器的服务调用请求,第一服务器向第二服务器发送请求调用服务的通信消息,响应于接收到第二服务器返回的服务调用响应的通信消息,第一服务器将服务调用响应的通信消息中的调用结果返回给RPA流程执行端。因此,通过将RPA流程执行端中的服务器区分为第一服务器和第二服务器,提供了RPA流程执行端中服务器通信的有序性;基于字节类型的通信消息进行通信,降低了通信消息的数据冗余,在第一服务器与第二服务器保持连接的情况下,第一服务器与第二服务器之间的通信连接可以复用,进而提高了RPA流程控制端的服务器通讯效率和高并发下的通信性能。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本公开的一实施例提供的RPA系统架构示意图;

图2为本公开的一实施例提供的基于AI的RPA流程控制端的服务器通信方法的流程示意图;

图3为本公开的另一实施例提供的基于AI的RPA流程控制端的服务器通信方法的流程示意图;

图4为本公开的另一实施例提供的基于AI的RPA流程控制端的服务器通信方法的流程示意图;

图5为本公开的一实施例提供的基于AI的RPA流程控制端的服务器通信装置的结构示意图;

图6为本公开的另一实施例提供的基于AI的RPA流程控制端的服务器通信装置的结构示意图;

图7为本公开的一实施例提供的一种服务器的结构示意图;

图8为本公开的一实施例提供的基于AI的RPA流程控制端的服务器通信装置800的框图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

首先对本公开的实施例所涉及的名词进行解释:

业务服务:也称为功能服务、服务或者功能模块,是指可以完成一定业务操作的功能。例如,用于查询账单的业务服务,用于人脸识别的业务员服务。通常由开发人员开发业务服务,并为业务服务设计调用接口。不同业务服务之间可以相互调用。

本公开的一实施例提供的基于AI的RPA流程控制端的服务器通信方法,可以适用于图1所示的RPA系统架构示意图。如图1所示,该RPA系统架构包括:RPA流程开发端101、RPA流程执行端102和RPA流程控制端103。RPA流程开发端101用于为开发人员提供开发平台,并向RPA流程执行端102和RPA流程控制端103提供开发完成的流程任务。RPA流程执行端102用于执行流程任务。RPA流程控制端103对流程任务以及流程任务的执行进行管理。在RPA流程执行端102执行流程任务的过程中,RPA流程控制端103还可以向RPA流程执行端提供业务服务。例如,RPA流程执行端102在执行生成表格的流程任务时,可调用RPA流程控制端上用于生成表格的业务服务。

其中,RPA流程开发端101和RPA流程执行端102可为计算机、平板电脑等终端设备,RPA流程控制端103可为服务器群。

其中,RPA流程控制端103包括第一服务器104和第二服务器105,第一服务器104用于与RPA流程执行端102和一个或多个第二服务器105进行通信,第二服务器105用于存储业务服务。

因此,通过将RPA流程控制端103中的服务器区分为用于与RPA流程执行端102进行通信的第一服务器104和用于存储业务服务的第二服务器105,能够有效地提高RPA流程执行端103中服务器通信的有序性,进而提高RPA流程执行端103中服务器之间的通信效率。

本公开的实施例提供的基于AI的RPA流程控制端的服务器通信方法中,第一服务器响应于接收到RPA流程执行端的服务调用请求,向与自身保持通信连接的第二服务器发送请求调用服务的通信消息,第一服务器响应于接收到第二服务器返回的服务调用响应的通信消息,将服务调用响应的通信消息中的调用结果返回给RPA流程执行端。其中,第一服务器和第二服务器之间通信消息的消息类型为字节类型。因此,通过字节类型有效降低了通信消息中的数据冗余,提高第一服务器和第二服务器之间通信效率,且在第一服务器与第二服务器保持连接的情况下,第一服务器与第二服务器之间的通信连接可以复用,提高了RPA流程控制端在高并发下通信性能。

下面以具体地实施例对本公开的实施例的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例的实施例进行描述。

图2为本公开的一实施例提供的基于AI的RPA流程控制端的服务器通信方法的流程示意图。如图2所示,该方法包括:

S201、第一服务器接收RPA流程执行端的服务调用请求。

其中,服务调用请求中包括RPA流程执行端请求调用的业务服务的服务标识和服务输入参数。例如,RPA流程执行端请求调用查询公司员工的职位的业务服务,则服务调用请求中包括该业务服务的服务标识和公司员工的工号,公司员工的工号为服务输入参数。

S202、如果第一服务器与第二服务器之间存在通信连接,则第一服务器向第二服务器发送请求调用服务的通信消息。

其中,第一服务器与第二服务器之间的通信消息的数据类型为字节类型,相较于文本类型的通信消息,字节类型的通信消息基本没有冗余数据,例如不存在换行符、空格,从而使得通信消息更为简洁,提高第一服务器与第二服务器之间的通信效率。

其中,字节类型可为二进制、八进制、十六进制。

具体的,第一服务器可根据接收到的服务调用请求中的服务标识,在实际执行过程中,第一服务器可以通过自然语言处理(Natural Language Processing,简称NLP)技术提取服务调用请求中的服务标识,进而,确定该服务标识对应的业务服务所在的第二服务器。如果第一服务器与第二服务器之间存在通信连接,则第一服务器可将服务标识和服务输入参数的数据类型转换为字节类型。将转换后的服务标识和转换后的服务输入参数作为请求调用服务的通信消息的消息内容。将请求调用服务的通信消息发送给第二服务器。可见,在第一服务器与第二服务器之间存在通信连接的情况下,第一服务器可以依据该通信连接向第二服务器发送多条请求调用服务的通信消息,实现通信连接的复用。

S203、第一服务器响应于接收到第二服务器返回的服务调用响应的通信消息,将服务调用响应的通信消息中的调用结果返回给RPA流程执行端。

具体的,第二服务器在接收到第一服务器的请求调用服务的通信消息后,可按照请求调用服务的通信消息中的服务标识,调用相应的业务服务,将请求调用服务的通信消息中的服务输入参数输入至该业务服务,得到调用结果,其中,本实施例中的业务服务器也可以根据NLP技术识别服务输入参数,根据该输入参数确定调用结果,比如,基于NLP技术训练得到深度学习模型,该深度学习模型的输入为服务输入参数,输出为对应的调用结果,因此,可以根据该深度学习模型得到对应的调用结果。第二服务器将调用结果的数据类型转换为字节类型,将转换后的服务调用作为服务调用响应的通信消息的消息内容。第二服务器向第一服务器返回服务调用响应的通信消息。

具体的,第一服务器响应于接收到第二服务器返回的服务调用响应的通信消息,从服务调用响应的通信消息的消息体中获得调用结果,将调用结果返回给RPA流程执行端。

本公开实施例中,通过字节类型有效降低了通信消息中的数据冗余,提高第一服务器和第二服务器之间通信效率,且在第一服务器与第二服务器保持连接的情况下,第一服务器与第二服务器之间的通信连接可以复用,提高了RPA流程控制端在高并发下通信性能。

图3为本公开的另一实施例提供的基于AI的RPA流程控制端的服务器通信方法的流程示意图。如图3所示,该方法包括:

S301、第二服务器接收第一服务器发送的请求调用服务的通信消息。

S302、第二服务器根据请求调用服务的通信消息,调用相应的业务服务,得到调用结果。

具体的,第二服务器在接收到第一服务器的请求调用服务的通信消息后,可按照请求调用服务的通信消息中的服务标识,调用相应的业务服务,将请求调用服务的通信消息中的服务输入参数输入至该业务服务,得到调用结果。

作为示例的,第二服务器按照请求调用服务的通信消息中的服务标识,其中,第二服务器可以根据NLP技术识别通信消息中的服务标识,调用得到用于生成表格的业务服务,可将请求调用服务的通信消息中的表格参数(例如表格大小)输入该业务服务,得到生成的表格。

S303、第二服务器向第一服务器发送服务调用响应的通信消息,以将调用结果返回给第一服务器。

具体的,第二服务器将调用结果的数据类型转换为字节类型,将转换后的服务调用作为服务调用响应的通信消息的消息内容,在本实施例中,可以根据NLP技术识别通信消息中的消息内容,进而,根据消息内容生成响应指令,根据响应指令来响应对应的消息内容。第二服务器向第一服务器返回服务调用响应的通信消息。

本公开实施例中,通过字节类型有效降低了通信消息中的数据冗余,提高第一服务器和第二服务器之间通信效率,且在第一服务器与第二服务器保持连接的情况下,第一服务器与第二服务器之间的通信连接可以复用,提高了RPA流程控制端在高并发下通信性能。

图4为本公开的另一实施例提供的基于AI的RPA流程控制端的服务器通信方法的流程示意图。如图4所示,该方法包括:

S401、第一服务器接收RPA流程执行端的服务调用请求。

具体的,步骤S301可参照步骤S201的详细描述,不再赘述。

S402、如果第一服务器与第二服务器之间不存在通信连接,则第一服务器向第二服务器发送请求建立通信连接的通信消息。

具体的,第一服务器可从RPA流程执行端的服务调用请求,得到RPA流程执行端请求调用的业务服务的服务标识,确定该服务标识对应的业务服务所在的第二服务器。如果第一服务器与确定的第二服务器之间不存在通信连接,则第一服务器可向第二服务器发送请求建立通信连接的通信消息。

S403、第二服务器对请求建立通信连接的通信消息进行校验。

具体的,请求建立通信连接的通信消息中包含校验位。第二服务器在接收到第一服务器发送的请求建立通信连接的通信消息时,可通过预设的校验算法对该校验位进行校验,进而实现对请求建立通信连接的通信消息的校验,以确定请求建立通信连接的通信消息是否正确,提高第一服务器和第二服务器之间通信的准确度。

在一个可行的实施方式中,校验算法可采用循环冗余校验码(Cyclic RedundancyCheck,简称CRC)校验算法,以提高通信消息校验的准确度。

S404、如果校验通过,则第二服务器与第一服务器建立通信连接。

具体的,如果校验通过,则第二服务器与第一服务器建立通信连接,否则,则第二服务器可向第一服务器发送通信连接建立失败的通信消息。

S405、第二服务器向第一服务器发送连接响应的通信消息。

具体的,第二服务器在与第一服务器建立通信连接之后,可向第一服务器发送连接响应的通信消息,以便第一服务器及时了解到通信连接建立成功。

S406、第一服务器向第二服务器发送请求调用服务的通信消息。

具体的,在第一服务器与第二服务器之间建立通信连接后,第一服务器可将服务调用请求中的服务表示和服务输入参数的数据类型转换为字节类型,将转换后的服务标识和转换后的服务输入参数作为请求调用服务的通信消息的消息内容。将请求调用服务的通信消息发送给第二服务器。

S407、第二服务器根据请求调用服务的通信消息,调用相应的业务服务,得到调用结果。

具体的,第二服务器在接收到第一服务器的请求调用服务的通信消息后,可按照请求调用服务的通信消息中的服务标识,调用相应的业务服务,将请求调用服务的通信消息中的服务输入参数输入至该业务服务,得到调用结果。

S408、第二服务器向第一服务器发送服务调用响应的通信消息,以将调用结果返回给第一服务器。

具体的,第二服务器将调用结果的数据类型转换为字节类型,将转换后的服务调用作为服务调用响应的通信消息的消息内容。第二服务器向第一服务器返回服务调用响应的通信消息。

S409、第一服务器将服务调用响应的通信消息中的调用结果返回给RPA流程执行端。

具体的,第一服务器响应于接收到第二服务器返回的服务调用响应的通信消息,从服务调用响应的通信消息的消息体中获得调用结果,将调用结果返回给RPA流程执行端。

其中,第一服务器与第二服务器之间的通信消息的数据类型为字节类型,相较于文本类型的通信消息,字节类型的通信消息基本没有冗余数据,例如不存在换行符、空格,从而使得通信消息更为简洁,提高第一服务器与第二服务器之间的通信效率。

其中,字节类型可为二进制、八进制或十六进制。

在一个可行的实施方式中,第一服务器与第二服务器之间的通信消息的消息头长度固定,从而通过固定消息头的长度,便于第一服务器和第二服务器对消息头进行读写操作(例如,从消息头中读取服务标识,往消息头中写入服务标识),进而提高了RPA流程控制端的服务器通信效率。

在一个可行的实施方式中,消息头中包括多个预设字段,各字段在消息头中的位置固定,从而通过固定顶端在消息头中的位置,使得消息头内容规范,第一服务器和第二服务器能够准确地读取到各个字段的内容,有效地提高了RPA流程控制端的服务器通信效率。

进一步的,字段包括报文类型、通信协议版本号、消息标识、服务标识、消息体长度、消息时间、消息类型、保留位和校验位,从而通过固定这些字段在消息头中的位置,既保证了消息头内容的完整性,又提高了消息头内容的紧凑性,第一服务器和第二服务器能够准确地读取到各个字段的内容,进而有效地提高了RPA流程控制端的服务器通信性能。

其中,报文类型包括请求报文和响应报文;通信协议版本号为第一服务器和第二服务器当前通信所基于的通信协议的版本编号;消息标识为通信消息的唯一标识;服务标识用于记录通信消息所请求的业务服务的服务标识或所返回的调用结果所属业务服务的服务标识;消息体长度用于记录通信消息中消息体的长度;消息时间为通信消息的发送时间或生成时间;消息类型包括连接请求、连接响应、服务调用和服务调用响应;保留位用于后续开发过程中对消息头的扩展;校验位用于对通信消息进行校验。

例如,第一服务器和第二服务器之间的通信消息的消息头的结构可如表1所示,表1左侧为各字段在消息头中的位置,右侧为各字段的含义。在消息类型为连接消息、连接响应或服务调用响应的通信消息中,服务标识为0。

表1

具体的,在第一服务器向第二服务器发送的请求通信连接的通信消息中,消息头中的报文类型为请求报文,服务标识为0,消息体长度为0,消息类型为连接请求。在第二服务器向第一服务器返回的连接响应的通信消息中,消息头中的报文类型为响应报文,服务标识为0,消息体长度为0,消息类型为连接响应。在第一服务器向第二服务器发送的请求调用服务的通信消息中,消息头中的报文类型为请求报文,服务标识为将RPA流程执行端发送的服务调用请求中的服务标识进行字节类型转换得到的,消息类型为服务调用,消息体为将RPA流程执行端发送的服务调用请求中的服务输入参数进行字节类型转换得到的。在第二服务器向第一服务器发送的服务调用响应的通信消息中,消息头中的报文类型为响应报文,服务标识为0,消息类型为服务调用响应,消息体为将调用结果进行字节类型转换得到的。

在一个可行的实施方式中,可通过预设的固定头与消息头相加,通过预设的校验算法对相加得到的结果进行处理,得到消息头中校验位的数据,从而提高校验效果。例如,固定头“49f785a939c5475594c7ffb2a54f173f”与表1所示消息头的第2到59个字节相加,得到相加结果,通过CRC校验算法对该相加结果进行处理,得到表1所示消息头的第60到63个字节的校验位。

在一个可行的实施方式中,第一服务器在生成请求调用服务的通信消息的过程中,可将RPA流程执行端发送的服务调用请求中的服务标识的数据类型转换为字节类型,将转换后的服务标识确定为消息头中的服务标识;可将RPA流程执行端发送的服务调用请求中的服务输入参数的数据类型转换为字节类型,将转换后的服务输入参数确定为消息体,根据该消息体的长度,确定消息头中的消息体长度。由该消息头和该消息体组合得到请求调用服务的通信消息,从而减少了通信消息中的冗余数据,提高了通信消息的解析效率,进而提高了第一服务器与第二服务器的通信效率。

在一个可行的实施方式中,第二服务器在生成服务调用响应的通信消息的过程中,可将按照消息头的结果生成消息头(其中,服务标识为0),将业务服务的调用结果的数据类型转换为字节类型,将转换后的调用结果确定为消息体,根据该消息体的长度,确定消息头中的消息体长度。由该消息头和该消息体组合得到服务调用响应的通信消息,从而减少了通信消息中的冗余数据,提高了通信消息的解析效率,进而提高了第一服务器与第二服务器的通信效率。其中,调用结果包括业务服务是否正常调用、业务服务调用后的输出数据(例如,查询到的公司员工的工号)。

在一个可行的实施方式中,在将服务输入参数的数据类型转换为字节类型、或者将调用结果的数据类型转换为字节类型的过程中,可对服务输入参数进行序列化,得到字节类型的服务输入参数,或者对调用结果进行序列化,得到字节类型的调用结果,以提高字节类型转换效率。

因此,第二服务器在接收到第一服务器的请求调用服务的通信消息后,可通过对该通信消息的消息体进行反序列化,得到该通信消息中的服务输入参数。第一服务器在接收到第二服务器的服务调用响应的通信消息后,可通过对该通信消息的消息体进行反序列化,得到该通信消息中的调用结果。

在一个可行的实施方式中,可采用Protocol Buffers(简称ProtoBuf)对服务输入参数或调用结果进行序列化,以提高序列化效果。其中,ProtoBuf是一种不受语言和平台限制的、可扩展的序列化结构数据的方法。

在一个实施例中,获取第一服务器与第二服务器未进行数据传输的连续时长,如果连续时长大于预设的时长阈值,则断开第一服务器与第二服务器之间的通信连接。因此,在第一服务器与第二服务器之间存在数据传输时,保持第一服务器和第二服务器之间的通信连接,使得第一服务器和第二服务器之间的通信连接可以进行多次数据传输,实现通信连接的复用,提高RPA流程控制端应对高并发情形的能力。在第一服务器与第二服务器之间较长时间不存在数据传输时,断开通信连接,降低RPA流程控制端的功耗。

本公开实施例中,通过字节类型和改善通信消息的消息头结果,有效降低了通信消息中的数据冗余,提高第一服务器和第二服务器之间通信效率,且在第一服务器与第二服务器保持连接的情况下,第一服务器与第二服务器之间的通信连接可以复用,提高了RPA流程控制端在高并发下通信性能。

图5为本公开的一实施例提供的基于AI的RPA流程控制端的服务器通信装置的结构示意图,其中,RPA流程控制端包括第一服务器和第二服务器,第一服务器用于与RPA流程执行端和第二服务器进行通信,第二服务器用于存储业务服务,第一服务器与第二服务器之间的通信消息的数据类型为字节类型。如图5所示,该装置包括:

接收模块501,用于第一服务器接收RPA流程执行端的服务调用请求;

发送模块502,用于如果第一服务器与第二服务器之间存在通信连接,则第一服务器向第二服务器发送请求调用服务的通信消息;第一服务器响应于接收到第二服务器返回的服务调用响应的通信消息,将服务调用响应的通信消息中的调用结果返回给RPA流程执行端。

在一个可行的实施方式中,第一服务器与第二服务器之间的通信消息的消息头长度固定。

在一个可行的实施方式中,消息头中包括多个预设字段,各字段在消息头中的位置固定。

在一个可行的实施方式中,字段包括报文类型、通信协议版本号、消息标识、服务标识、消息体长度、消息时间、消息类型、保留位和校验位。

在一个可行的实施方式中,发送模块502,还用于:如果第一服务器与第二服务器之间不存在通信连接,则第一服务器向第二服务器发送请求建立通信连接的通信消息;如果第一服务器接收到第二服务器返回的连接响应的通信消息,则第一服务器向第二服务器发送请求调用服务的通信消息。

在一个可行的实施方式中,该装置还包括连接模块,用于:获取第一服务器与第二服务器未进行数据传输的连续时长,如果连续时长大于预设的时长阈值,则断开第一服务器与第二服务器之间的通信连接。

在一个可行的实施方式中,发送模块502,具体用于:如果第一服务器与第二服务器之间存在通信连接,则第一服务器根据自然语言处理NLP从服务调用请求中获取服务标识和服务输入参数;第一服务器根据服务标识,生成请求调用服务的通信消息的消息头;第一服务器对服务输入参数进行序列化,生成请求调用服务的通信消息的消息体;第一服务器向第二服务器发送请求调用服务的通信消息。

图6为本公开的另一实施例提供的基于AI的RPA流程控制端的服务器通信装置的结构示意图,其中,RPA流程控制端包括第一服务器和第二服务器,第一服务器用于与RPA流程执行端和第二服务器进行通信,第二服务器用于存储业务服务,第一服务器与第二服务器之间的通信消息的数据类型为字节类型。如图6所示,该装置包括:

接收模块601,用于第二服务器接收第一服务器发送的请求调用服务的通信消息;

调用模块602,用于第二服务器根据请求调用服务的通信消息,调用相应的业务服务,得到调用结果;

发送模块603,用于第二服务器向第一服务器发送服务调用响应的通信消息,以将调用结果返回给第一服务器。

在一个可行的实施方式中,第一服务器与第二服务器之间的通信消息的消息头长度固定。

在一个可行的实施方式中,消息头中包括多个预设字段,各字段在消息头中的位置固定。

在一个可行的实施方式中,字段包括报文类型、通信协议版本号、消息标识、服务标识、消息体长度、时间信息、消息类型、保留位和校验位。

在一个可行的实施方式中,该装置还包括连接模块,用于:接收第一服务器发送的请求建立通信连接的通信消息;第二服务器对请求建立通信连接的通信消息进行校验;如果校验通过,则第二服务器与第一服务器建立通信连接,并向第一服务器发送连接响应的通信消息。

在一个可行的实施方式中,连接模块还用于:获取第一服务器与第二服务器未进行数据传输的连续时长,如果连续时长大于预设的时长阈值,则断开第一服务器与第二服务器之间的通信连接。

图5、图6提供的基于AI的RPA流程控制端的服务器通信装置,可以执行上述相应方法实施例,其实现原理和技术效果类似,在此不再赘述。

图7为本公开的一实施例提供的一种服务器的结构示意图。如图7所示,该服务器可以包括:收发器701、处理器702和存储器703。收发器701用于数据收发,存储器703用于存储计算机执行指令,处理器702执行计算机程序时实现如上述任一实施例的方法。

上述的收发器可以是有线或无线网络接口。上述的处理器702可以是通用处理器,包括中央处理器CPU、网络处理器(network processor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。上述存储器703可能包含随机存取存储器(random accessmemory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

本公开的一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述任一实施例的方法。

本公开的一实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质中读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述任一实施例的方法。

图8为本公开的一实施例提供的基于AI的RPA流程控制端的服务器通信装置800的框图。例如,装置800可以被提供为一服务器或者一计算机。参照图8,装置800包括处理组件801,其进一步包括一个或多个处理器,以及由存储器802所代表的存储器资源,用于存储可由处理组件801的执行的指令,例如应用程序。存储器802中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件801被配置为执行指令,以执行上述任一实施例的方法。

装置800还可以包括一个电源组件803被配置为执行装置800的电源管理,一个有线或无线网络接口804被配置为将装置800连接到网络,和一个输入输出(I/O)接口805。装置800可以操作基于存储在存储器802的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

在本公开实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中,A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。

可以理解的是,在本公开实施例中涉及的“第一”、“第二”仅为描述方便进行的区分,并不用来限制本公开实施例的范围。

可以理解的是,在本公开实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本公开实施例的范围。

可以理解的是,在本公开的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开的实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

相关技术
  • 基于AI的RPA流程控制端的服务器通信方法、装置、设备及介质
  • 用于RPA流程控制端的服务器通信方法、装置、设备及介质
技术分类

06120112222104