结合AI和RPA的通信方法、装置、设备及存储介质
技术领域
本申请实施例涉及机器人流程自动化(Robotic Process Automation,简称RPA)、人工智能(Artificial Intelligence,简称AI)以及数据处理技术领域本申请,尤其涉及一种结合AI和RPA的通信方法、装置、设备及存储介质。
背景技术
机器人流程自动化(Robotic process automation,简称RPA),是通过特定的“机器人软件”,模拟人在计算机上的操作,按规则自动执行流程任务。RPA机器人可通过用户使用界面,智能理解企业已有应用,将基于规则的常规操作自动化,完成重复性高但却有固定业务逻辑的工作。如自动重复读取邮件工作,大批量生成文件和报告工作,完成枯燥的文件检查等工作。
人工智能(Artificial Intelligence,简称AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学,主要包括自然语言处理(Natural Language Processing,简称NLP)技术、自然语言理解(Natural LanguageUnderstanding简称NLU)技术、光学字符识别(Optical Character Recognition,简称OCR)技术等。
目前,RPA和AI技术具有自动化程度高、精确度高、成本低的优点,得到了广泛的应用
在RPA机器人中包括:RPA机器人开发端(简称:Creator)及RPA机器人执行端(简称:Worker)及RPA机器人管理端(简称:Commander)。其中,RPA机器人开发端负责针对具体任务对RPA机器人进行开发。RPA机器人执行端负责自动执行RPA机器人已配置的任务。RPA机器人管理端用于对数据集中管控,监控RPA机器人的运行状况。
目前在RPA机器人管理端与RPA机器人执行端进行数据交互时,一般是RPA机器人执行端发送请求后,RPA机器人管理端才进行响应,如果RPA机器人执行端发送请求的频率太高,导致RPA机器人管理端的处理压力比较大,导致响应不及时,进而使RPA机器人执行端执行任务的实时性较差。
发明内容
本申请实施例提供一种结合AI和RPA的通信方法、装置、设备及存储介质,解决了现有技术中RPA机器人执行端发送请求的频率太高,导致RPA机器人管理端的处理压力比较大,导致响应不及时,进而使RPA机器人执行端执行任务的实时性较差的技术问题。
第一方面,本申请实施例提供一种结合AI和RPA的通信方法,所述方法应用于RPA机器人执行端,所述方法包括:
接收所述RPA机器人管理端发送的任务处理请求消息,所述任务处理请求消息包括任务标识信息;
根据所述任务处理请求消息,基于自然语言处理NLP处理所述任务标识信息对应的任务,并生成对应的任务响应消息;
将所述任务响应消息发送给所述RPA机器人管理端。
第二方面,本申请实施例提供一种结合AI和RPA的通信方法,所述方法应用于RPA机器人管理端,所述方法包括:
向RPA机器人执行端发送任务处理请求消息,所述任务处理请求消息包括任务标识信息;
接收所述RPA机器人执行端发送的所述任务响应消息。
第三方面,本申请实施例提供一种结合AI和RPA的通信装置,所述装置位于RPA机器人执行端中,所述装置包括:
消息接收模块,用于接收所述RPA机器人管理端发送的任务处理请求消息,所述任务处理请求消息包括任务标识信息;
消息生成模块,用于根据所述任务处理请求消息处理所述任务标识信息对应的任务,并生成对应的任务响应消息;
消息发送模块,用于将所述任务响应消息发送给所述RPA机器人管理端。
第四方面,本申请实施例提供一种结合AI和RPA的通信装置,所述装置位于RPA机器人管理端中,所述装置包括:
消息发送模块,用于向所述RPA机器人执行端发送任务处理请求消息,所述任务处理请求消息包括任务标识信息;
消息接收模块,用于接收所述RPA机器人执行端发送的所述任务响应消息。
第五方面,本申请实施例提供一种RPA机器人执行端,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法或实现如第二方面所述的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法或实现如第二方面所述的方法。
本申请实施例提供一种结合AI和RPA的通信方法、装置、设备及存储介质,通过接收RPA机器人管理端发送的任务处理请求消息,任务处理请求消息包括任务标识信息,根据任务处理请求消息,基于自然语言处理处理任务标识信息对应的任务,并生成对应的任务响应消息,将任务响应消息发送给RPA机器人管理端。由于RPA机器人管理端能够主动向RPA机器人执行端下发任务处理请求消息,有效降低RPA机器人管理端的压力,提高RPA机器人执行端执行任务的效率。
应当理解,上述发明内容部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种结合AI和RPA的通信方法的流程图;
图2为本申请实施例提供的另一种结合AI和RPA的通信方法的流程图;
图3为本申请实施例提供的另一种结合AI和RPA的通信方法的流程图;
图4为本申请实施例提供的另一种结合AI和RPA的通信方法的流程图;
图5为本申请实施例提供的另一种结合AI和RPA的通信方法的流程图;
图6为本申请实施例提供的另一种结合AI和RPA的通信方法的流程图;
图7为本申请实施例提供的另一种结合AI和RPA的通信方法的流程图;
图8为本申请实施例提供的另一种结合AI和RPA的通信方法的流程图;
图9为本申请实施例提供的一种结合AI和RPA的通信装置的结构示意图;
图10为本申请实施例提供的另一种结合AI和RPA的通信装置的结构示意图;
图11为本申请实施例提供的另一种结合AI和RPA的通信装置的结构示意图;
图12为本申请实施例提供的另一种结合AI和RPA的通信装置的结构示意图;
图13为本申请实施例提供的一种RPA机器人执行端的结构示意图;
图14为本申请实施例提供的一种RPA机器人管理端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本申请实施例一提供的结合AI和RPA的通信方法的流程图,如图1所示,本实施例的执行主体为结合AI和RPA的通信装置,该结合AI和RPA的通信装置可以集成在RPA机器人执行端,该RPA机器人执行端可以耦合在电子设备中,则本实施例提供的结合AI和RPA的通信方法包括以下几个步骤。
步骤1-S1,接收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-S2,根据任务处理请求消息,基于自然语言处理NLP处理任务标识信息对应的任务,并生成对应的任务响应消息。
其中,自然语言处理技术(Natural Language Processing,简称NLP)技术,是计算机科学领域与人工智能领域中的一个重要方向,主要研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
本实施例中,RPA机器人执行端在接收到任务处理请求消息后,获取该任务标识信息对应的任务,包括获取该任务的流程信息,处理任务需要的数据等,自动化处理该任务标识信息对应的任务。
并且在接收到任务处理请求消息后,会生成任务响应消息,该任务响应消息可在RPA机器人执行端执行该任务标识信息对应的任务的同时来生成。以使任务响应消息表示RPA机器人执行端已成功启动任务。
同理,该任务响应消息的格式可以为消息头和消息体的格式,消息头和消息体间可用分隔符分割,如字符串分割。其中,在任务响应消息中还可以携带响应码,响应码的取值表示RPA机器人执行端是否成功对任务处理请求消息进行响应。如响应码为0时,表示RPA机器人执行端成功对任务处理请求消息进行响应,响应码为非零时,表示RPA机器人执行端未成功对任务处理请求消息进行响应。
步骤1-S3,将任务响应消息发送给RPA机器人管理端。
本实施例中,RPA机器人执行端将任务响应消息发送给RPA机器人管理端,以使RPA机器人管理端根据任务响应消息判断RPA机器人执行端是否成功对任务处理请求消息进行响应。示例性地,可查看任务响应消息中的响应码的数值,以确定RPA机器人执行端是否成功对任务处理请求消息进行响应。
可以理解的是,若RPA机器人执行端未成功对任务处理请求消息进行响应,则可重新发送任务处理请求消息,以使RPA机器人执行端成功对任务处理请求消息进行响应,若RPA机器人执行端未成功对任务处理请求消息进行响应的次数超过预设阈值,则说明RPA机器人执行端大概率出现故障,则可对RPA机器人执行端排查故障。
本实施例提供的结合AI和RPA的通信方法,通过接收RPA机器人管理端发送的任务处理请求消息,任务处理请求消息包括任务标识信息,根据任务处理请求消息,基于自然语言处理处理任务标识信息对应的任务,并生成对应的任务响应消息,将任务响应消息发送给RPA机器人管理端,使得RPA机器人管理端能够主动向RPA机器人执行端下发任务处理请求消息,有效降低RPA机器人管理端的压力,提高RPA机器人执行端执行任务的效率。
实施例二
图2为本申请实施例二提供的结合AI和RPA的通信方法的流程图,如图2所示,本实施例提供的结合AI和RPA的通信方法,是在本申请实施例一提供的结合AI和RPA的通信方法的基础上,对步骤1-S1到步骤1-S3的进一步细化,并且还包括了建立与RPA机器人管理端的通信连接的步骤,以及停止任务处理交互的步骤,则本实施例提供的结合AI和RPA的通信方法包括以下步骤。
步骤2-S0,建立与RPA机器人管理端的通信连接,通信连接采用WebSocket通信协议。
可选地,本实施例中,由于RPA机器人管理端与RPA机器人执行端间通信频繁,并且为了加快获取处理任务的数据,加快任务的下发及其他交互,有时需要RPA机器人管理端能够主动向RPA机器人执行端发送消息,有时也需要RPA机器人执行端主动向RPA机器人管理端发送消息,所以本实施例中,RPA机器人执行端建立与RPA机器人管理端的通信连接时,采用WebSocket通信协议,该WebSocket通信协议支持RPA机器人执行端与RPA机器人管理端之间进行全双工通信。
作为一种可选实施方式,如图3所示,本实施例中,步骤2-S0包括以下步骤:
步骤2-S01,向RPA机器人管理端发送连接建立请求消息,连接建立请求消息中包括RPA机器人执行端的登录令牌信息。
其中,连接建立请求消息包括消息头和消息体,消息头和消息体间采用预设字符串分割,如预设字符串为“\r\n”则连接建立请求消息可表示为:|{------连接建立请求消息头-------}|\r\n|{------连接建立请求消息体-------}|。
本实施例中,在连接建立请求消息的消息头中包括消息类型和消息标识信息。连接建立请求消息的请求消息体中包括:请求数据标识信息,如可以为校验结果数据的标识信息。
其中,消息类型为连接建立类型。消息标识信息采用Unix时间戳及UTC时间表示。
可选地,在连接建立请求消息的消息头中还包括:随机字符串和数字签名。
其中,随机字符串为对对应的消息进行加密后的数据,即对连接建立请求消息进行加密后的数据。则连接建立请求的消息头可表示为表1所示:
表1:连接建立请求消息的消息头示例表
在本实施例中,连接建立请求消息携带在HTTP头中,则在HTTP头中包括RPA机器人执行端的登录令牌信息。
步骤2-S02、接收RPA机器人管理端发送的连接建立响应消息。
可选地,本实施例中,在RPA机器人管理端接收到连接建立请求消息后,由于连接建立请求消息采用了随机字符串进行了加密处理,以及进行了数字签名。所以RPA机器人管理端根据数字签名对消息进行验签处理,并根据随机字符串对消息进行解密处理,在验签成功及解密成功后,获取RPA机器人执行端的登录令牌信息,对RPA机器人执行端的登录令牌信息进行校验,并生成校验结果。校验结果可以为校验成功或校验失败。并向RPA机器人执行端发送连接建立响应消息。
其中,连接建立响应消息包括:消息头和消息体,消息头和消息体间采用预设字符串分割,如预设字符串为“\r\n”则连接建立请求消息可表示为:|{------连接建立响应消息头-------}|\r\n|{------连接建立响应消息体-------}|。
可选地,在连接建立响应消息的消息头中包括:消息类型,消息标识信息。
其中,消息类型为连接建立类型。消息标识信息采用Unix时间戳及UTC时间表示。
可选地,在连接建立响应消息的消息头中还包括:随机字符串和数字签名。
其中,随机字符串为对对应的消息进行加密后的数据,即对连接建立响应消息进行加密后的数据。
则连接建立响应消息的消息头可表示为表2所示:
表2:连接建立响应消息的消息头示例表
其中,连接建立响应消息的响应消息体中包括:响应码和响应消息,响应码和响应消息用于确定是否成功接收请求消息。如若响应码为零,响应消息为空,则说明成功接收到连接建立请求消息。若响应码为非零,响应消息会写明未接收到连接建立请求消息的原因。
并且在连接建立响应消息中还包括响应数据,该响应数据可以为校验结果数据。如可以为校验成功数据或校验失败数据。
则连接建立响应消息的响应消息体可表示为表3所示:
表3:连接建立响应消息的响应消息体示例表
字段名 |
代码 |
类型 |
描述 |
示例 |
响应码 |
code |
int |
0为正常,非零为异常 |
0 |
响应消息 |
message |
string |
消息内容 |
|
响应数据 |
data |
object |
校验结果数据 |
|
需要说明的是,本申请中,在接收RPA机器人管理端发送的连接建立响应消息后,可以对连接建立响应消息进行解析。
可选地,在对连接建立响应消息进行解析之前,还包括:
根据数字签名对消息进行验签处理。以及根据随机字符串对消息进行解密处理。
本实施例中,为了RPA机器人执行端和RPA机器人管理端建立通信连接时是安全可靠的,对连接建立请求消息及连接建立响应消息均进行数字签名和加密,在验签成功并且解密成功后,再进行后续的操作,能够保证建立的通信连接是安全可靠的。
本实施例中,在验签成功并且解密成功后,对连接建立响应消息进行解析,获取校验结果数据。该校验结果数据可以为校验成功数据或校验失败数据。
步骤2-S03、若连接建立响应消息中包括登录令牌信息对应的校验成功数据,则采用WebSocket通信协议建立与RPA机器人管理端的通信连接。
可选地,本实施例中,若连接建立响应消息中包括登录令牌信息对应的校验成功数据,则说明RPA机器人管理端对登录令牌信息进行校验后,校验成功,允许RPA机器人执行端与其建立连接,则采用WebSocket通信协议建立与RPA机器人管理端的通信连接。
本实施例提供的结合AI和RPA的通信方法,在建立与RPA机器人管理端的通信连接时,采用WebSocket通信协议,由于WebSocket通信协议支持RPA机器人执行端与RPA机器人管理端之间进行全双工通信,所以在RPA机器人管理端与RPA机器人执行端间通信频繁中,提高了两端间的通信效率。并且在建立与RPA机器人管理端的通信连接时对连接建立请求消息及连接建立响应消息均进行数字签名和加密,在验签成功并且解密成功后,再进行后续的操作,能够保证建立的通信连接是安全可靠的。
可选地,本实施例中,在步骤2-S0之后,还包括以下步骤:
步骤S7、向RPA机器人管理端发送心跳请求消息。
需要说明的是,本申请中,在试图向RPA机器人管理端发送心跳请求消息时,可以判断是否满足心跳请求消息发送条件;若确定满足心跳请求消息发送条件,则向RPA机器人管理端发送心跳请求消息;接收RPA机器人管理端发送的心跳响应消息。
具体地,本实施例中,由于RPA机器人执行端和RPA机器人管理端间频繁通信,所以需要保证两端间的长连接。所以本实施例中,采用发送心跳消息的方式保持两端间的长连接。
首先RPA机器人执行端判断是否满足心跳请求消息发送条件,该心跳请求消息发送条件可以是预先配置的。如可以为两个心跳请求消息间的间隔时间为预设间隔时间。则RPA机器人执行端判断前一心跳请求消息与当前时间是否达到了预设间隔时间,若达到了预设间隔时间,则确定满足了心跳请求消息发送条件。其次在确定满足心跳请求消息发送条件后,向RPA机器人管理端发送心跳请求消息。
同理,该心跳请求消息包括:消息头和消息体,消息头和消息体间采用预设字符串分割,如预设字符串为“\r\n”则心跳请求消息可表示为:|{------心跳请求消息头-------}|\r\n|{------心跳请求消息体-------}|。
可选地,在心跳请求消息的消息头中包括:消息类型,消息标识信息。
其中,消息类型为心跳类型。消息标识信息采用Unix时间戳及UTC时间表示。
可选地,在心跳请求消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对心跳请求消息进行加密后的数据。则心跳请求消息的消息头的格式与表1中连接建立请求消息的格式类似,在此不再赘述。
本实施例中,在RPA机器人执行端向RPA机器人管理端发送心跳请求消息后,RPA机器人管理端确定该消息为心跳请求消息后,生成心跳响应消息,并将心跳响应消息发送给RPA机器人执行端,RPA机器人执行端接收RPA机器人管理端发送的心跳响应消息。
同理,心跳响应消息包括:消息头和消息体。在心跳响应消息的消息头中包括:消息类型,消息标识信息。消息类型为心跳类型。并且可选地,在心跳响应消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对心跳响应消息进行加密后的数据。
其中,心跳响应消息的响应消息体中包括:响应码和响应消息。响应码和响应消息用于确定是否成功接收请求消息。
需要说明的是,心跳响应消息的格式与连接建立响应消息的格式类似,在此不再一一赘述。
可以理解的是,RPA机器人执行端接收RPA机器人管理端发送的心跳响应消息后,对心跳响应消息进行验签和解密,在验签和解密成成功后,若通过响应码和响应消息确定成功接收心跳请求消息,则确定完成了一次两端的心跳通信。
可以理解的是,两端的上述过程的心跳通信时周期性的,并且在两端建立通信连接之后就一直保持,以保证两端间的长连接。
步骤2-S1,接收RPA机器人管理端发送的任务处理请求消息,任务处理请求消息包括任务标识信息。
可选地,本实施例中,任务处理请求消息包括消息头和消息体,消息头和消息体间采用预设字符串分割。在任务处理请求消息的消息头中包括消息类型和消息标识信息。任务处理请求消息的请求消息体中包括:请求数据标识信息。
其中,消息类型为下发任务类型。
同理,可选地,在任务处理请求消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对任务处理请求消息进行加密后的数据。则任务处理请求消息的消息头的格式与连接建立请求消息的消息头的格式类似,在此不再一一赘述。
可以理解的是,在接收到RPA机器人管理端发送的任务处理请求消息后,根据数字签名对任务处理请求消息进行验签处理。以及根据随机字符串对任务处理请求消息进行解密处理,在验签成功并且解密成功后,获得任务标识信息。
步骤2-S2、根据任务处理请求消息处理任务标识信息对应的任务,并生成对应的任务响应消息。
其中,任务响应消息包括:消息头和消息体,消息头和消息体间采用预设字符串分割。
可选地,在任务响应消息的消息头中包括:消息类型,消息标识信息。其中,消息类型为下发任务类型。消息标识信息采用Unix时间戳及UTC时间表示。
可选地,在任务响应消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对任务响应消息进行加密后的数据。任务响应消息的响应消息体中包括:响应码和响应消息,响应码和响应消息用于确定是否成功接收请求消息。
可以理解的是,任务响应消息的消息头和消息体的格式分别与连接建立响应消息的消息头和消息体的格式类似,在此不再一一赘述。
步骤2-S3、将任务响应消息发送给RPA机器人管理端。
步骤2-S4、接收RPA机器人管理端发送的任务停止处理请求消息;任务停止处理请求消息中包括停止任务标识信息。
本实施例中,RPA机器人管理端监测是否满足任务停止的条件,若监测达到任务停止的条件,则向RPA机器人执行端发送任务停止处理请求消息。RPA机器人执行端接收该任务停止处理请求消息。
其中,RPA机器人管理端监测是否满足任务停止的条件可以为监测是否接收到用户触发的任务停止消息,或者监测是否达到预先配置的任务停止条件等,本实施例中对此不做限定。
同理,任务停止处理请求消息包括消息头和消息体,消息头和消息体间采用预设字符串分割,可选地,在任务停止处理请求消息的消息头中包括:消息类型,消息标识信息。
其中,消息类型为心跳类型。消息标识信息采用Unix时间戳及UTC时间表示。
可选地,在任务停止处理请求消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对任务停止处理请求消息进行加密后的数据。则任务停止处理请求消息的消息头的格式与表1中连接建立请求消息的格式类似,在此不再赘述。
本实施例中,任务停止处理请求消息可携带在HTTP头中,则在HTTP头中包括停止任务标识信息。
步骤2-S5、若确定当前任务的标识信息与停止任务标识信息不一致,则基于自然语言处理NLP继续执行当前任务,并生成对应的停止任务响应消息。
可选地,本实施例中,首先根据数字签名对消息进行验签处理。以及根据随机字符串对消息进行解密处理。其中,消息为任务停止处理请求消息。在验签成功并且解密成功后,获取停止任务标识信息。并获取当前任务的标识信息,判断当前任务的标识信息与停止任务标识信息是否一致。若确定当前任务的标识信息与停止任务标识信息不一致,则说明没有下达对当前任务停止的指令,继续执行当前任务。并生成对应的停止任务响应消息。
其中,在停止任务响应消息包括:消息头和消息体,消息头和消息体间采用预设字符串分割。
可选地,在停止任务响应消息的消息头中包括:消息类型,消息标识信息。其中,消息类型为停止任务类型。消息标识信息采用Unix时间戳及UTC时间表示。
可选地,在停止任务响应消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对停止任务响应消息进行加密后的数据。停止任务响应消息的响应消息体中包括:响应码和响应消息,响应码和响应消息用于确定是否成功接收请求消息。
需要说明的是,在停止任务响应消息的响应消息体中还包括响应数据,在响应数据中可以为当前任务的标识信息与停止任务标识信息不一致的数据。
可以理解的是,停止任务响应消息的消息头和消息体的格式分别与连接建立响应消息的消息头和消息体的格式类似,在此不再一一赘述。
本实施例中,若确定当前任务的标识信息与停止任务标识信息一致,则立即停止当前任务,并生成对应的停止任务响应消息。
则该停止任务响应消息的响应数据中可以为当前任务的标识信息与停止任务标识信息一致的数据。
步骤2-S6、将停止任务响应消息发送给RPA机器人管理端。
本实施例中,将停止任务响应消息发送给RPA机器人管理端后,RPA机器人管理端对停止任务响应消息进行验签和解密,并获取响应数据,以确定RPA机器人执行端当前处理的任务标识,根据RPA机器人执行端当前处理的任务标识更好地对RPA机器人执行端进行管理。
实施例三
图4为本申请实施例三提供的结合AI和RPA的通信方法的流程图,如图4所示,本实施例提供的结合AI和RPA的通信方法,是在本申请实施例一或实施例二提供的结合AI和RPA的通信方法的基础上,在建立与RPA机器人管理端的通信连接之后,还包括RPA机器人执行端在构建对应的自动化流程中与RPA机器人管理端进行通信的步骤,则本实施例提供的结合AI和RPA的通信方法包括以下步骤。
步骤3-S0,建立与RPA机器人管理端的通信连接,通信连接采用WebSocket通信协议。
本实施例中,步骤3-S0的实现方式与本申请实施例二中的步骤2-S0的实现方式类似,在此不再一一赘述。
步骤3-S11,向RPA机器人管理端发送的数据获取请求消息。
本实施例中,在用户有业务需要RPA机器人来处理时,RPA机器人执行端需要构建对应的自动化流程,在构建对应的自动化流程时需要该业务的目标数据。所以预先将该业务的目标数据存储到RPA机器人管理端。
首先,RPA机器人执行端向RPA机器人管理端发送数据获取请求消息。该数据获取请求消息中携带目标数据的标识信息。
其中,数据获取请求消息包括消息头和消息体,消息头和消息体间采用预设字符串分割,在数据获取请求消息的消息头中包括消息类型和消息标识信息。数据获取请求消息的请求消息体中包括:请求数据标识信息,如可以为目标数据的标识信息。
其中,消息类型为数据获取类型。消息标识信息采用Unix时间戳及UTC时间表示。
可选地,在数据获取请求消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对数据获取请求消息进行加密后的数据。
可以理解的是,在RPA机器人管理端接收到数据获取请求消息后,对数据获取请求消息进行验签和解密,在验签成功并且解密成功后,对数据获取请求消息进行解析,获取目标数据的标识信息,然后获取该标识信息对应的目标数据,将目标数据携带在数据获取响应消息的响应体中。
其中,该数据获取响应消息包括:消息头和消息体。在数据获取响应消息的消息头中包括:消息类型,消息标识信息。消息类型为数据获取类型。并且可选地,在数据获取响应消息的消息头中还包括:随机字符串和数字签名。其中,随机字符串为对对应的消息进行加密后的数据,即对数据获取响应消息进行加密后的数据。
其中,数据获取响应消息的响应消息体中包括:响应码和响应消息。响应码和响应消息用于确定是否成功接收请求消息。还包括:响应数据,该响应数据为目标数据。
需要说明的是,数据获取响应消息的格式与连接建立响应消息的格式类似,在此不再一一赘述。
步骤3-S12,接收RPA机器人管理端发送的数据获取响应消息。
步骤3-S13,对数据获取响应消息的响应码和响应消息进行解析,并确定是否成功接收请求消息,若是,则执行步骤3-S4,否则执行步骤3-S6。
本实施例中,RPA机器人执行端接收到数据获取响应消息后,根据数字签名对消息进行验签处理。并根据随机字符串对消息进行解密处理。该消息为数据获取响应消息。并在验签成功和解密成功后,对数据获取响应消息的响应码和响应消息进行解析。
其中,在对数据获取响应消息的响应码和响应消息进行解析时,获取响应码的具体数值及响应消息中的具体数据。
步骤3-S14,从数据获取响应消息的响应消息体中获取目标数据。
本实施例中,对数据获取响应消息的响应码和响应消息进行解析时,若响应码为零,响应消息为空,则说明成功接收到数据获取请求消息。若响应码为非零,响应消息会写明未接收到数据获取请求消息的原因。
本实施例中,若解析后确定成功接收请求消息,则说明在响应数据中包括了目标数据,则从数据获取响应消息的响应消息体对应的响应数据中获取目标数据。
步骤3-S15,根据目标数据构建对应的自动化流程。
本实施例中,目标数据是构建该业务的自动化流程所需要的数据,在获取到目标数据后,构建对应的自动化流程。
步骤3-S16,判断是否满足重新发送消息条件,若是,则执行步骤3-S17,否则结束。
本实施例中,若响应码为非零,响应消息会写明未接收到数据获取请求消息的原因,则确定未成功接收请求消息,在数据获取响应消息的响应消息体对应的响应数据中不包括目标数据。则为了成功获取目标数据,则判断是否满足重新发送数据获取请求消息的条件,该重新发送数据获取请求消息的条件可以为预先配置的,本实施例中对此不做限定。
步骤3-S17,向RPA机器人管理端重新发送数据获取请求消息。
本实施例中,若确定满足重新发送消息条件,则向RPA机器人管理端重新发送数据获取请求消息,以能够成功获取到目标数据。
本实施例提供的结合AI和RPA的通信方法,在建立与RPA机器人管理端的通信连接,通信连接采用WebSocket通信协议之后,向RPA机器人管理端发送的数据获取请求消息;接收RPA机器人管理端发送的数据获取响应消息;对数据获取响应消息的响应码和响应消息进行解析;若解析后确定成功接收请求消息,则从数据获取响应消息的响应消息体中获取目标数据;根据目标数据构建对应的自动化流程,若解析后确定未成功接收请求消息,则判断是否满足重新发送消息条件;若确定满足重新发送消息条件,则向RPA机器人管理端重新发送数据获取请求消息。能够有新的业务需求时,由RPA机器人执行端主动从RPA机器人管理端获取业务对应的目标数据,进一步提高了两端间的通信的效率。并且在未成功获取到目标数据时,通过重新发送请求的方式,从RPA机器人管理端成功获取到目标数据,提高了获取到目标数据的成功率。
下面针对结合AI和RPA的通信装置集成在RPA机器人管理端时的通信过程进行解释说明。
实施例五
如图5所示,以RPA机器人管理端作为执行主体,对本申请实施例提出的一种结合AI和RPA的通信方法,具体包括以下步骤:
S1、向RPA机器人执行端发送任务处理请求消息,任务处理请求消息包括任务标识信息。
S2、接收RPA机器人执行端发送的任务响应消息。
实施例六
如图6所示,在S2之前,还包括:
S0、建立与RPA机器人执行端的通信连接,通信连接采用WebSocket通信协议。
作为一种可能的实现方式,如图7所示,S2具体包括以下步骤:
S01、接收RPA机器人执行端发送的连接建立请求消息,连接建立请求消息中包括RPA机器人执行端的登录令牌信息。
S02、根据连接建立请求消息,生成连接建立响应消息。
S03、向RPA机器人执行端发送连接建立响应消息。
S04、若连接建立响应消息中包括登录令牌信息对应的校验成功数据,则采用WebSocket通信协议建立与RPA机器人执行端的通信连接。
进一步地,在接收RPA机器人执行端发送的任务响应消息后,还包括:
S3、向RPA机器人执行端发送任务停止处理请求消息;任务停止处理请求消息中包括停止任务标识信息;
S4、接收RPA机器人执行端发送的停止任务响应消息,其中,停止任务响应消息RPA机器人执行端在当前任务的标识信息与停止任务标识信息不一致时生成的。
进一步地,建立与RPA机器人执行端的通信连接,通信连接采用WebSocket通信协议后,还包括:
S5、接收RPA机器人执行端发送的心跳请求消息;
S6、根据心跳请求消息,生成心跳响应消息;
S7、向RPA机器人执行端发送心跳响应消息。
需要说明的是,本申请中,任一种请求消息和任一种响应消息均包括:消息头和消息体,消息头和消息体间采用预设字符串分割;
消息头中包括:消息类型,消息标识信息;
请求消息的请求消息体中包括:请求数据标识信息;
响应消息的响应消息体中包括:响应码和响应消息,响应码和响应消息用于确定是否成功接收请求消息。
实施例八
作为一种可能的实现方式,如图8所示,S2-0之后,还包括:
S11、接收RPA机器人执行端发送的数据获取请求消息;
S12、向RPA机器人执行端发送数据获取响应消息。
S13、若RPA机器人执行端解析后确定未成功接收请求消息,并确定满足重新发送消息条件,则接收RPA机器人执行端重新发送的数据获取请求消息。
本申请实施例提供一种结合AI和RPA的通信方法、装置、设备及存储介质,通过向RPA机器人执行端发送任务处理请求消息,任务处理请求消息包括任务标识信息,并接收RPA机器人执行端发送的任务响应消息。由于RPA机器人管理端能够主动向RPA机器人执行端下发任务处理请求消息,有效降低RPA机器人管理端的压力,提高RPA机器人执行端执行任务的效率。
图9为本申请实施例提供的一种结合AI和RPA的通信装置的结构示意图,如图9所示,本实施例提供的结合AI和RPA的通信装置40位于RPA机器人执行端中,则该结合AI和RPA的通信装置包括:消息接收模块41,消息生成模块42及消息发送模块43。
其中,消息接收模块41,用于接收RPA机器人管理端发送的任务处理请求消息,任务处理请求消息包括任务标识信息。消息生成模块42,用于根据任务处理请求消息处理任务标识信息对应的任务,并生成对应的任务响应消息。消息发送模块43,用于将任务响应消息发送给RPA机器人管理端。
图10为本申请实施例提供的一种结合AI和RPA的通信装置的结构示意图,如图10所示,本实施例提供的结合AI和RPA的通信装置50在本申请实施例提供的一种结合AI和RPA的通信装置40的基础上,进一步地,还包括:连接建立模块51和处理模块52。
在本申请的一个实施例中,连接建立模块51,具体用于:建立与RPA机器人管理端的通信连接,所述通信连接采用WebSocket通信协议。
在本申请的一个实施例中,消息接收模块41,进一步用于:接收所述RPA机器人管理端发送的任务停止处理请求消息;所述任务停止处理请求消息中包括停止任务标识信息;消息生成模块42,进一步用于:若确定当前任务的标识信息与所述停止任务标识信息不一致,则继续执行所述当前任务,并生成对应的停止任务响应消息;消息发送模块43,进一步用于:将所述停止任务响应消息发送给所述RPA机器人管理端。
在本申请的一个实施例中,消息发送模块43,进一步用于:向所述RPA机器人管理端发送心跳请求消息;消息接收模块41,进一步用于:接收所述RPA机器人管理端发送的心跳响应消息。
在本申请的一个实施例中,消息发送模块43,进一步用于:向所述RPA机器人管理端发送连接建立请求消息,所述连接建立请求消息中包括所述RPA机器人执行端的登录令牌信息;消息接收模块41,进一步用于:接收所述RPA机器人管理端发送的连接建立响应消息;连接建立模块51,进一步用于:若所述连接建立响应消息中包括所述登录令牌信息对应的校验成功数据,则采用WebSocket通信协议建立与所述RPA机器人管理端的通信连接。
在本申请的一个实施例中,任一种请求消息和任一种响应消息均包括:消息头和消息体,所述消息头和所述消息体间采用预设字符串分割;所述消息头中包括:消息类型,消息标识信息;所述请求消息的请求消息体中包括:请求数据标识信息;所述响应消息的响应消息体中包括:响应码和响应消息,所述响应码和所述响应消息用于确定是否成功接收请求消息。
在本申请的一个实施例中,所述消息头中还包括:随机字符串,所述随机字符串为对对应的消息进行加密后的数据;处理模块52,进一步用于:根据所述随机字符串对所述消息进行解密处理。
在本申请的一个实施例中,所述消息头中还包括:数字签名;处理模块53,进一步用于:根据所述数字签名对所述消息进行验签处理。
在本申请的一个实施例中,消息发送模块43,进一步用于:向所述RPA机器人管理端发送数据获取请求消息;消息接收模块41,进一步用于:接收所述RPA机器人管理端发送数据获取响应消息;处理模块52,进一步用于:从所述数据获取响应消息的响应消息体中获取目标数据;根据所述目标数据构建对应的自动化流程。
在本申请的一个实施例中,消息发送模块43,进一步用于:若确定未成功接收请求消息且,满足重新发送消息条件,则向所述RPA机器人管理端重新发送所述数据获取请求消息。
需要说明的是,其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理和技术效果相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
图11为本申请实施例提供的一种结合AI和RPA的通信装置的结构示意图,如图11所示,本实施例提供的结合AI和RPA的通信装置60位于RPA机器人执行端中,则该结合AI和RPA的通信装置包括:消息发送模块61及消息接收模块62。其中,
消息发送模块61,用于向所述RPA机器人执行端发送任务处理请求消息,所述任务处理请求消息包括任务标识信息;
消息接收模块62,用于接收所述RPA机器人执行端发送的所述任务响应消息。
图12为本申请实施例提供的一种结合AI和RPA的通信装置的结构示意图,如图12所示,本实施例提供的结合AI和RPA的通信装置70在本申请实施例提供的一种结合AI和RPA的通信装置60的基础上,进一步地,还包括:连接建立模块71和消息生成模块72。
在本申请的一个实施例中,连接建立模块71,具体用于:建立与所述RPA机器人执行端的通信连接,所述通信连接采用WebSocket通信协议。
在本申请的一个实施例中,消息发送模块61,进一步用于:向所述RPA机器人执行端发送任务停止处理请求消息;所述任务停止处理请求消息中包括停止任务标识信息;消息接收模块62,进一步用于:接收所述RPA机器人执行端发送的停止任务响应消息,其中,所述停止任务响应消息所述RPA机器人执行端在当前任务的标识信息与所述停止任务标识信息不一致时生成的。
在本申请的一个实施例中,消息接收模块62,进一步用于:接收所述RPA机器人执行端发送的心跳请求消息;消息生成模块72,进一步用于:根据所述心跳请求消息,生成心跳响应消息;消息发送模块61,进一步用于:向所述RPA机器人执行端发送所述心跳响应消息。
在本申请的一个实施例中,消息接收模块62,进一步用于:接收所述RPA机器人执行端发送的连接建立请求消息,所述连接建立请求消息中包括所述RPA机器人执行端的登录令牌信息;消息生成模块72,进一步用于:根据所述连接建立请求消息,生成连接建立响应消息;消息发送模块61,进一步用于:向所述RPA机器人执行端发送所述连接建立响应消息;连接建立模块71,进一步用于:若所述连接建立响应消息中包括所述登录令牌信息对应的校验成功数据,则采用WebSocket通信协议建立与所述RPA机器人执行端的通信连接。
在本申请的一个实施例中,任一种请求消息和任一种响应消息均包括:消息头和消息体,所述消息头和所述消息体间采用预设字符串分割;所述消息头中包括:消息类型,消息标识信息;所述请求消息的请求消息体中包括:请求数据标识信息;所述响应消息的响应消息体中包括:响应码和响应消息,所述响应码和所述响应消息用于确定是否成功接收请求消息。
在本申请的一个实施例中,消息接收模块62,进一步用于:接收所述RPA机器人执行端发送的数据获取请求消息;消息发送模块61,进一步用于:向所述RPA机器人执行端发送数据获取响应消息。
在本申请的一个实施例中,消息接收模块62,进一步用于:若所述RPA机器人执行端解析后确定未成功接收请求消息,并确定满足重新发送消息条件,则接收所述RPA机器人执行端重新发送的所述数据获取请求消息。
需要说明的是,其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理和技术效果相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
图13为本申请实施例提供的RPA机器人执行端的结构示意图,如图13所示,本申请实施例提供的RPA机器人执行端800,包括:存储器801,处理器802以及计算机程序。
其中,计算机程序存储在存储器801中,并被配置为由处理器802执行以实现实施例提供的一种结合AI和RPA的通信方法。
相关说明可以对应参见图1-图4的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
图14为本申请实施例提供的RPA机器人管理端的结构示意图,如图14所示,本申请实施例提供的RPA机器人管理端900,包括:存储器901,处理器902以及计算机程序。
其中,计算机程序存储在存储器901中,并被配置为由处理器902执行以实现实施例提供的一种结合AI和RPA的通信方法。
相关说明可以对应参见图5-图8的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请任意一个实施例提供的一种结合AI和RPA的通信方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。