一种多平台通讯方法及系统与流程

文档序号:17125886发布日期:2019-03-16 00:25阅读:147来源:国知局

本发明涉及服务器通讯领域,具体是一种多平台通讯方法及系统,用于实现多平台通讯。



背景技术:

不同平台之间的安全通讯,在当今数据信息化、共享化的时代尤为重要。

而现有技术中,为了实现不同平台间的数据传输,往往先通过双方系统的开发人员对通讯服务的通讯机制、数据格式、系统时间的协调,达成一致后分别在各自系统开发通讯模块,然后通过两个通讯模块相互调用完成平台之间的通讯。但双方程序员的协调以及对通讯服务模块的开发过程,往往过于繁琐。另外,通讯服务模块不能复用,致使在不同平台之间需要通讯交互时,需要重复对通讯服务模块的开发,导致工作效率低下,平台间实现安全通讯不够及时、高效。

为此,本发明提供了一种多平台通讯方法及系统,用于解决上述技术问题。



技术实现要素:

本发明所要解决的技术问题是,提供一种多平台通讯方法及系统,用于提高实现多平台间的数据交互的效率。

为解决上述技术问题,本发明提供了一种多平台通讯方法,该多平台通讯方法基于中间服务器、相应数量的主客户端、以及每个主客户端各自对应的与其有交互业务需求的相应数量的从客户端,所述的主客户端为主动发起交互业务的客户端,所述的从客户端为被动接受交互业务的客户端;该多平台通讯方法包括步骤:

依据主客户端的数量预先在中间服务器内配置相应数量的定时器,所述的定时器与所述的主客户端一一映射,每个定时器均用于确定其对应主客户端及与其对应主客户端有交互业务需求的各从客户端间的交互周期;

启动中间服务器内配置的各定时器;

基于上述启动的中间服务器内配置的各定时器,对于每一个主客户端及其对应的与其有交互业务需求的各从客户端来说,包括如下通讯步骤:

s1、每次在达到主客户端及其对应的有交互业务需求的各从客户端间的交互触发时间时,中间服务器逐个向该主客户端所对应的各从客户端对应发送相应的第一连接认证请求,每个第一连接认证请求均包括其对应从客户端的ip地址、以及其对应从客户端的预先设置在中间服务器内的密钥key;

s2、各从客户端,分别在中间服务器向其发送相应的第一连接认证请求时,对应接收中间服务器发来的各相应第一连接认证请求,并分别验证其所接收到的相应第一连接认证请求中的密钥key的准确性,并在验证通过后,分别向中间服务器返回其允许数据交互的token令牌;

s3、中间服务器在接收到主客户端对应的有交互业务需求的各从客户端返回的各token令牌后,对应向主客户端发送相应的第二连接认证请求,所述的第二连接认证请求包括预先设定在中间服务器内的主客户端的ip地址以及预先设置在中间服务器内的该主客户端的密钥key;

s4、主客户端接收中间服务器发来的相应的第二连接认证请求,并验证其所接收到的第二连接认证请求中的密钥key的准确性,并在验证通过后,向中间服务器返回其允许数据交互的token令牌;

s5、中间服务器接收主客户端返回的token令牌,并在接收到主客户端返回的token令牌后,将当前所接收到的主客户端所返回的token令牌、以及之前所接收到的主客户端所对应的各从客户端返回的允许数据交互的token令牌,一并发送至主客户端;

s6、主客户端接收并基于所接收到的中间服务器发来的主客户端所返回的token令牌、以及主客户端所对应的各从客户端返回的允许数据交互的token令牌,通过所述的中间服务器,与其对应的有交互业务需求的各从客户端进行数据交互;

其中,各主客户端及其对应的各相应从客户端之间的数据交互,均基于预先设定的同一数据传输格式进行。

其中,各从客户端向中间服务器返回的允许数据交互的token令牌,均包括对对应主客户端所要交互的数据的格式要求;所述的对对应主客户端所要交互的数据的格式要求包括:对所要交互的数据进行加密,并对加密后得到的密文进行压缩处理。

进一步地,所述对所要交互的数据进行加密的加密算法为aes加密算法,所述的对加密后得到的密文进行压缩处理的压缩格式为zip压缩格式。

进一步地,所述的第二连接认证请求及各所述的第一连接认证请求均采用http请求。

进一步地,各主客户端及其对应的各从客户端之间的数据交互,均基于json格式进行。

另外,本发明还提供了一种多平台通讯系统,包括中间服务器、应用于主客户端的可复制使用的主客户端程序单元、以及应用于从客户端的可复制使用的从客户端程序单元;所述的主客户端为主动发起交互业务需求的客户端,所述的从客户端为被动接受交互业务需求的客户端;

所述的主客户端程序单元,包括第二连接认证接口模块、第二连接认证信息处理模块、第二数据传输接口模块和第二数据处理模块,第二连接认证接口模块与第二连接认证信息处理模块相连,第二数据传输接口模块与第二数据处理模块相连;

所述的从客户端程序单元,包括第一连接认证接口模块、第一连接认证信息处理模块、第一数据接收接口模块和第一数据处理模块,第一连接认证接口模块与第一连接认证信息处理模块相连,第一数据传输接口模块与第一数据处理模块相连;

所述的中间服务器,其内预先配设有与将要参与通讯的主客户端数量相等且一一对应的定时器,每个定时器均用于确定其对应主客户端及与其对应主客户端所对应的有交互业务需求的相应数量的从客户端间的交互周期;

所述的中间服务器,用于在其内各定时器启动、并在达到相应主客户端及其对应各从客户端的数据交互的触发时间时,用于向所述相应主客户端所对应的各从客户端内的从客户端程序单元的第一连接认证接口模块逐个发送相应的第一连接认证请求;每个第一连接认证请求均包括其对应从客户端的ip地址、以及其对应从客户端的预先设置在所述中间服务器内的密钥key;

所述的第一连接认证接口模块,用于对应接收中间服务器发来的相应第一连接认证请求,并用于将其所接收到的中间服务器发来的相应的第一连接认证请求对应发送至其连接的第一连接认证信息处理模块;

所述的第一连接认证信息处理模块,用于接收其所连接的第一连接认证接口模块发来的第一连接认证请求,并用于对其当前接收到的第一连接认证请求中的密钥key的准确性进行验证,并用于在该验证通过后,通过其所连接的第一连接认证接口模块向所述的中间服务器返回其对应从客户端允许数据交互的token令牌;

所述的中间服务器,还用于在接收到主客户端程序单元所对应的各主客户端所对应的各从客户端内的从客户端程序单元的第一连接认证信息处理模块返回的token令牌后,对应向该主客户端程序单元的第二连接认证接口模块发送相应的第二连接认证请求;所述的第二连接认证请求,均包括预先设定的与主客户端程序单元相对应的主客户端的ip地址以及预先设置的该相对应的主客户端的密钥key;

所述的第二连接认证接口模块,用于对应接收中间服务器发来的相应第二连接认证请求,并用于将其所接收到的中间服务器发来的相应的第二连接认证请求发送至其所连接的第二连接认证信息处理模块;

所述的第二连接认证信息处理模块,用于接收其所连接的第二连接认证接口模块发来的相应第二连接认证请求,并用于对其当前接收到的第二连接认证请求中的密钥key的准确性进行验证,并用于在该验证通过后,通过其所连接的第二连接认证接口模块向所述的中间服务器返回其对应主客户端允许数据交互的token令牌;

所述的中间服务器,还用于接收第二连接认证信息处理模块返回的相应的token令牌,并用于在每次接收到相应第二连接认证信息处理模块返回的token令牌后,分别将当前接收到的相应第二连接认证信息处理模块返回的token令牌、及与当前接收到其返回的token令牌的相应第二连接认证信息处理模块所对应的主客户端所对应的各第一连接认证信息处理模块所返回的允许数据交互的token令牌,一并发送至与该当前接收到其返回的token令牌的相应第二连接认证信息处理模块相对应的主客户端内的主客户端程序单元的第二数据传输接口模块;

所述的第二数据传输接口模块,用于接收并将所接收到的所述中间服务器发来的相应第二连接认证信息处理模块返回的token令牌、以及与该相应第二连接认证信息处理模块相对应的主客户端所对应的各第一连接认证信息处理模块所返回的允许数据交互的token令牌,发送给其连接的第二数据处理模块;

所述的第二数据处理模块,用于接收并基于其当前所接收到的其所连接的第二数据传输接口模块传来的相应第二连接认证信息处理模块返回的token令牌、以及与该相应第二连接认证信息处理模块相对应的主客户端所对应的各第一连接认证信息处理模块所返回的允许数据交互的token令牌,通过所述的中间服务器,与其对应主客户端程序单元所对应的各从客户端程序单元的第一数据处理模块进行数据交互;

第二数据处理模块与其对应的各第一数据处理模块之间的数据交互,均基于预先设定的同一数据传输格式进行。

其中,各从客户端程序单元向中间服务器返回的允许数据交互的token令牌,包括对相应主客户端程序单元所要求交互的数据的格式要求;所述的对相应主客户端程序单元所要求交互的数据的格式要求包括:对所要交互的数据进行加密,并对加密后得到的密文进行压缩处理。

其中,所述对所要交互的数据进行加密的加密算法为aes加密算法,所述的对加密后得到的密文进行压缩处理的压缩格式为zip压缩格式。

其中,所述的第二连接认证请求及所述的第一连接认证请求,均采用http请求。

其中,各主客户端程序单元及其对应的各从客户端程序单元之间的数据交互,均基于json格式进行。

与现有技术相比,本发明的优点在于:

本发明所述的多平台通讯方法及系统,提供了一种通用的适用于多个不同客户端之间通讯的中间件通讯服务,实现了通过中间服务器进行各客户端之间的交互,便于实现平台间交互功能模块的复用性,可节约开发人力资源,并可提高开发人员实现不同平台(即不同客户端)间的数据交互的效率。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面对本发明的技术方案进行清楚、完整地描述。

本发明所述的多平台通讯方法,该多平台通讯方法基于中间服务器、相应数量的主客户端、以及每个主客户端各自对应的与其有交互业务需求的相应数量的从客户端,所述的主客户端为主动发起交互业务的客户端,所述的从客户端为被动接受交互业务的客户端。该多平台通讯方法包括以下步骤p1-p3。

步骤p1、依据主客户端的数量预先在中间服务器内配置相应数量的定时器,所述的定时器与所述的主客户端一一映射,每个定时器均用于确定其对应主客户端及与其对应主客户端有交互业务需求的各从客户端间的交互周期。之后执行步骤p2。

步骤p2、启动中间服务器内配置的各定时器。

步骤p3、基于上述步骤p2中启动的中间服务器内配置的各定时器,对于每一个主客户端及其对应的与其有交互业务需求的各从客户端来说,包括如下通讯步骤s1-s6:

步骤s1、每次在达到主客户端及其对应的有交互业务需求的各从客户端间的交互触发时间时,中间服务器逐个向该主客户端所对应的各从客户端对应发送相应的第一连接认证请求,每个第一连接认证请求均包括其对应从客户端的ip地址、以及其对应从客户端的预先设置在中间服务器内的密钥key。之后执行步骤s2。

步骤s2、各从客户端,分别在中间服务器向其发送相应的第一连接认证请求时,对应接收中间服务器发来的各相应第一连接认证请求,并分别验证其所接收到的相应第一连接认证请求中的密钥key的准确性,并在验证通过后,分别向中间服务器返回其允许数据交互的token令牌。之后执行步骤s3。

步骤s3、中间服务器在接收到主客户端对应的有交互业务需求的各从客户端返回的各token令牌后,对应向主客户端发送相应的第二连接认证请求,所述的第二连接认证请求包括预先设定在中间服务器内的主客户端的ip地址以及预先设置在中间服务器内的该主客户端的密钥key。之后执行步骤s4。

步骤s4、主客户端接收中间服务器发来的相应的第二连接认证请求,并验证其所接收到的第二连接认证请求中的密钥key的准确性,并在验证通过后,向中间服务器返回其允许数据交互的token令牌。之后执行步骤s5。

步骤s5、中间服务器接收主客户端返回的token令牌,并在接收到主客户端返回的token令牌后,将当前所接收到的主客户端所返回的token令牌、以及之前所接收到的主客户端所对应的各从客户端返回的允许数据交互的token令牌,一并发送至主客户端。之后执行步骤s6。

步骤s6、主客户端接收并基于所接收到的中间服务器发来的主客户端所返回的token令牌、以及主客户端所对应的各从客户端返回的允许数据交互的token令牌,通过所述的中间服务器,与其对应的有交互业务需求的各从客户端进行数据交互。

在本实施方式中,所述的第二连接认证请求及各所述的第一连接认证请求均采用http请求;各主客户端及其对应的各相应从客户端之间的数据交互,均基于预先设定的同一数据传输格式进行。

为更为清楚地说明本发明,下面以一个主客户端(下称“主客户端1”)和一个从客户端(下称“从客户端1”)为例进行本发明所述多平台通讯方法的阐述:

预先在中间服务器内配置一个定时器1,该定时器1用于确定主客户端1与从客户端1之间的交互周期;

启动上述配置的定时器1;

基于上述启动的定时器1,每次在达到主客户端1及从客户端1间的交互触发时间时,中间服务器均向从客户端1发送第一连接认证请求,该第一连接认证请求包括从客户端1的ip地址、以及预先设置的从客户端1的密钥key;

从客户端1接收中间服务器发来的第一连接认证请求,并验证其所接收到的该第一连接认证请求中的密钥key的准确性,并在验证通过后,向中间服务器返回允许数据交互的token令牌;

中间服务器在接收到从客户端1返回的token令牌后,向主客户端1发送第二连接认证请求,该第二连接认证请求包括预先设定在所述中间服务器内的主客户端1的ip地址以及预先设置在所述中间服务器内的该主客户端1的密钥key;

主客户端1对应接收中间服务器发来的第二连接认证请求,并验证其所接收到的第二连接认证请求中的密钥key的准确性,并在验证通过后,向中间服务器返回允许数据交互的token令牌;

中间服务器接收主客户端1返回的token令牌,并在接收到主客户端1返回的token令牌后,将从客户端1返回的允许数据交互的token令牌以及主客户端1返回的token令牌均发送至主客户端1;

主客户端1接收中间服务器发来的从客户端1返回的允许数据交互的token令牌以及其自身返回的token令牌,并基于所接收到的中间服务器发来的从客户端1返回的允许数据交互的token令牌以及其自身返回的token令牌,通过所述中间服务器,与从客户端1进行相应的数据交互(比如数据上传)。

另外,为进一步清楚地说明本发明,下面以一个主客户端(下称“主客户端2”)和两个从客户端(下称“从客户端3”和“从客户端2”)为例进行本发明所述多平台通讯方法的阐述:

预先在中间服务器内配置定时器2,定时器2用于确定主客户端2与从客户端3和从客户端2的交互周期;

启动上述配置的定时器2;

基于上述启动的定时器2,每次在达到主客户端2与从客户端3和从客户端2的交互触发时间时,中间服务器先向从客户端3(或从客户端2)发送相应的第一连接认证请求,该相应的第一连接认证请求包括从客户端3的ip地址、以及预先设置的从客户端3的密钥key;

从客户端3接收中间服务器发来的相应的第一连接认证请求,并验证其所接收到的该相应的第一连接认证请求中的密钥key的准确性,并在验证通过后,向中间服务器返回其允许数据交互的token令牌;

中间服务器在接收到从客户端3返回的token令牌后,向从客户端2(或从客户端3)发送相应的第一连接认证请求,该相应的第一连接认证请求包括从客户端2的ip地址、以及预先设置的从客户端2的密钥key;

从客户端2接收中间服务器发来的相应的第一连接认证请求,并验证其所接收到的该相应的第一连接认证请求中的密钥key的准确性,并在验证通过后,向中间服务器返回其允许数据交互的token令牌;

中间服务器在接收到从客户端2返回的token令牌后,向主客户端2发送第二连接认证请求,该第二连接认证请求包括预先设定在所述中间服务器内的主客户端2的ip地址以及预先设置在所述中间服务器内的该主客户端2的密钥key;

主客户端2接收中间服务器发来的第二连接认证请求,并验证其所接收到的第二连接认证请求中的密钥key的准确性,并在验证通过后,向中间服务器返回其允许数据交互的token令牌;

中间服务器接收主客户端2返回的token令牌,并在接收到主客户端2返回的token令牌后,将从客户端3返回的允许数据交互的token令牌、从客户端2返回的允许数据交互的token令牌以及主客户端2返回的token令牌均发送至主客户端2;

主客户端2接收中间服务器发来的从客户端3返回的允许数据交互的token令牌、从客户端2返回的允许数据交互的token以及其自身返回的token令牌,并基于所接收到的中间服务器发来的从客户端3返回的允许数据交互的token令牌、从客户端2返回的允许数据交互的token以及其自身返回的token令牌,通过所述中间服务器,与从客户端3进行相应的数据交互(比如数据上传)。

另外,为进一步清楚地说明本发明,下面以两个主客户端(下称“主客户端1”和“主客户端2”)和三个从客户端(下称“从客户端1”、“从客户端2”和“从客户端3”)为例进行本发明所述多平台通讯方法的阐述:

预先在中间服务器内配置定时器3和定时器4,定时器3用于确定主客户端1与从客户端1的交互周期,定时器4用于确定主客户端2与从客户端3和从客户端2的交互周期;

启动上述配置的定时器3和定时器4;

其中,基于上述启动的定时器3,每次在达到主客户端1与从客户端1的交互触发时间时,均依据上述以一个主客户端和一个从客户端为例进行的本发明所述多平台通讯方法的阐述中的相应步骤执行;

基于上述启动的定时器4,每次在达到主客户端2与从客户端3和从客户端2的交互周期时,均以上述以一个主客户端和两个从客户端为例进行的本发明所述多平台通讯方法的阐述中的相应步骤执行。

在本实施方式中,每个从客户端验证其所接收到的第一连接认证请求中密钥key的准确性并在其验证结果为所接收到的第一连接认证请求中的密钥key错误时,均向所述的中间服务器端返回refuse拒绝请求;每个主客户端验证其所接收到的第二连接认证请求中密钥key的准确性并在验证结果为其所接收到的第二连接认证请求中的密钥key错误时,均向所述的中间服务器端返回refuse拒绝请求。

在本实施方式中,各主客户端及其对应的各从客户端之间的数据交互,均基于json格式进行。

在本实施方式中,所涉及的定时器均采用spring定时器,比如:

另外,在本实施方式中,每个从客户端接收中间服务器发来的相应第一连接认证请求,均可通过一个通用的认证接口进行实现。比如在每个从客户端,均采用如下通用接口程序代码,用于接收中间服务器发来的相应第一连接认证请求:

具体地,在本实施方式中,每个从客户端在接收到中间服务器发来的相应的第一连接认证请求后,分别基于以下代码验证其所接收到的相应第一连接认证请求中的密钥key的准确性,并在验证通过后,返回允许数据交互的token令牌:

在本实施方式中,各从客户端向中间服务器返回的允许数据交互的token令牌,均包括对对应主客户端所要交互的数据的格式要求;所述的对对应主客户端所要交互的数据的格式要求包括:对所要交互的数据进行加密,并对加密后得到的密文进行压缩处理。进一步地,所述对所要交互的数据进行加密的加密算法为aes加密算法,所述的对加密后得到的密文进行压缩处理的压缩格式为zip压缩格式。

相对应地,在本实施方式中,每个主客户端内均预先设置有用于加密数据以及压缩数据的相应算法。相对应地,在每个从客户端内,均预先设有与其对应主客户端内的用于加密数据的算法以及用于压缩数据的算法配合使用的数据解密算法和数据解压缩算法。具体实现方法参照如下:

(1)主客户端对所要上传的数据加密、压缩

stringdataencryption=aesencryption.encrypt(data,key,iv);//密钥和向量加密后转hex码

byte[]zipdata=aesencryption.zip(dataencryptionandzip);//压缩,

stringzipbase64=aesencryption.encodebase64byte(zipdata);//对压缩的数据进行base64转码

json.put("data",zipbase64);//json格式返回加密压缩后的数据

(2)从客户端对主客户端传来的信息进行数据解密与解压缩

byte[]unbase64=aesencryption.decodebase64(data);//对base64数据解码

byte[]unzipdata=aesencryption.unzip(byte[]unbase64);//解压缩,

byte[]uncodedata=aesencryptiondecrypt(byte[]unzipdata,stringkey,stringiv);//解密

json.put("data",uncodedata);//json格式返回解密、解压后的数据

综上,本发明所述的多平台通讯方法,提供了一种通用的适用于多个不同客户端之间通讯的中间件通讯服务,实现了通过中间服务器进行各客户端之间的交互,便于实现平台间交互功能模块的复用性,可节约开发人力资源,并能够提高开发人员实现不同平台(即不同客户端)间的数据交互的效率。较为实用。

另外,本发明还提供了一种多平台通讯系统,该多平台通讯系统与如上所述的多平台通讯方法相对应。

在本实施方式中,所述的多平台通讯系统包括中间服务器、应用于主客户端的可复制使用的主客户端程序单元、以及应用于从客户端的可复制使用的从客户端程序单元;所述的主客户端为主动发起交互业务需求的客户端,所述的从客户端为被动接受交互业务需求的客户端;

所述的主客户端程序单元,包括第二连接认证接口模块、第二连接认证信息处理模块、第二数据传输接口模块和第二数据处理模块,第二连接认证接口模块与第二连接认证信息处理模块相连,第二数据传输接口模块与第二数据处理模块相连;

所述的从客户端程序单元,包括第一连接认证接口模块、第一连接认证信息处理模块、第一数据接收接口模块和第一数据处理模块,第一连接认证接口模块与第一连接认证信息处理模块相连,第一数据传输接口模块与第一数据处理模块相连;

所述的中间服务器,其内预先配设有与将要参与通讯的主客户端数量相等且一一对应的定时器,每个定时器均用于确定其对应主客户端及与其对应主客户端所对应的有交互业务需求的相应数量的从客户端间的交互周期;

所述的中间服务器,用于在其内各定时器启动、并在达到相应主客户端及其对应各从客户端的数据交互的触发时间时,用于向所述相应主客户端所对应的各从客户端内的从客户端程序单元的第一连接认证接口模块逐个发送相应的第一连接认证请求;每个第一连接认证请求均包括其对应从客户端的ip地址、以及其对应从客户端的预先设置在所述中间服务器内的密钥key;

所述的第一连接认证接口模块,用于对应接收中间服务器发来的相应第一连接认证请求,并用于将其所接收到的中间服务器发来的相应的第一连接认证请求对应发送至其连接的第一连接认证信息处理模块;

所述的第一连接认证信息处理模块,用于接收其所连接的第一连接认证接口模块发来的第一连接认证请求,并用于对其当前接收到的第一连接认证请求中的密钥key的准确性进行验证,并用于在该验证通过后,通过其所连接的第一连接认证接口模块向所述的中间服务器返回其对应从客户端允许数据交互的token令牌;

所述的中间服务器,还用于在接收到主客户端程序单元所对应的各主客户端所对应的各从客户端内的从客户端程序单元的第一连接认证信息处理模块返回的token令牌后,对应向该主客户端程序单元的第二连接认证接口模块发送相应的第二连接认证请求;所述的第二连接认证请求,均包括预先设定的与主客户端程序单元相对应的主客户端的ip地址以及预先设置的该相对应的主客户端的密钥key;

所述的第二连接认证接口模块,用于对应接收中间服务器发来的相应第二连接认证请求,并用于将其所接收到的中间服务器发来的相应的第二连接认证请求发送至其所连接的第二连接认证信息处理模块;

所述的第二连接认证信息处理模块,用于接收其所连接的第二连接认证接口模块发来的相应第二连接认证请求,并用于对其当前接收到的第二连接认证请求中的密钥key的准确性进行验证,并用于在该验证通过后,通过其所连接的第二连接认证接口模块向所述的中间服务器返回其对应主客户端允许数据交互的token令牌;

所述的中间服务器,还用于接收第二连接认证信息处理模块返回的相应的token令牌,并用于在每次接收到相应第二连接认证信息处理模块返回的token令牌后,分别将当前接收到的相应第二连接认证信息处理模块返回的token令牌、及与当前接收到其返回的token令牌的相应第二连接认证信息处理模块所对应的主客户端所对应的各第一连接认证信息处理模块所返回的允许数据交互的token令牌,一并发送至与该当前接收到其返回的token令牌的相应第二连接认证信息处理模块相对应的主客户端内的主客户端程序单元的第二数据传输接口模块;

所述的第二数据传输接口模块,用于接收并将所接收到的所述中间服务器发来的相应第二连接认证信息处理模块返回的token令牌、以及与该相应第二连接认证信息处理模块相对应的主客户端所对应的各第一连接认证信息处理模块所返回的允许数据交互的token令牌,发送给其连接的第二数据处理模块;

所述的第二数据处理模块,用于接收并基于其当前所接收到的其所连接的第二数据传输接口模块传来的相应第二连接认证信息处理模块返回的token令牌、以及与该相应第二连接认证信息处理模块相对应的主客户端所对应的各第一连接认证信息处理模块所返回的允许数据交互的token令牌,通过所述的中间服务器,与其对应主客户端程序单元所对应的各从客户端程序单元的第一数据处理模块进行数据交互。

在本实施方式中,所述的第二连接认证请求及所述的第一连接认证请求,均采用http请求;第二数据处理模块与其对应的各第一数据处理模块之间的数据交互,均基于预先设定的同一数据传输格式进行。

使用之前,基于业务需求,将主客户端程序单元复制相应的份数并对应安装于各将要参与交互的主客户端内、将从客户端程序单元复制相应的份数并对应安装在各将要参与交互的从客户端内,并依据将要参与交互主客户端的数量,在中间服务器内配置相应数量的定时器,使每个将要参与交互的主客户端各自对应一个定时器。使用时,启动各主客户端内的主客户端程序单元、启动各从客户端内的从客户端程序单元、以及启动中间服务器内所配置的各定时器,对于中间服务器内的每个定时器,在每次达到其对应的相应主客户端(下简称“目标主客户端”)及与该目标主客户端所对应的各从客户端(下简称“目标从客户端”)进行数据交互的触发时间时:中间服务器向各目标从客户端内的从客户端程序单元的第一连接认证接口模块逐个发送相应的第一连接认证请求;各目标从客户端内的从客户端程序单元的第一连接认证接口模块,对应接收中间服务器发来的各相应第一连接认证请求,并分别将对应接收到的中间服务器发来的各相应第一连接认证请求对应发送至其对应从客户端程序单元的第一连接认证信息处理模块;各目标从客户端内的从客户端程序单元的第一连接认证信息处理模块分别验证其接收到的相应第一连接认证请求中的密钥key的准确性,并在验证通过后,分别向中间服务器返回其允许数据交互的token令牌;中间服务器在接收到各目标从客户端内的从客户端程序单元返回的token令牌后,向目标主客户端内的主客户端程序单元的第二连接认证接口模块发送第二连接认证请求;目标主客户端内的主客户端程序单元的第二连接认证接口模块接收并将所接收到的中间服务器发来的第二连接认证请求,发送至其对应主客户端程序单元的第二连接认证信息处理模块;目标主客户端内主客户端程序单元的第二连接认证信息处理模块,验证其所接收到的第二连接认证请求中的密钥key的准确性,并在验证通过后,通过其所连接的第二连接认证接口模块向中间服务器返回其允许数据交互的token令牌;中间服务器接收目标主客户端内主客户端程序单元的第二连接认证信息处理模块返回的token令牌,并在接收到目标主客户端内主客户端程序单元的第二连接认证信息处理模块返回的token令牌后,将所接收到的目标主客户端内主客户端程序单元的第二连接认证信息处理模块返回的token令牌、以及各目标从客户端内的从客户端程序单元返回的token令牌,均发送至目标主客户端内主客户端程序单元的第二数据传输接口模块;目标主客户端内主客户端程序单元的第二数据传输接口模块,接收并将所接收到的中间服务器发来的目标主客户端内主客户端程序单元的第二连接认证信息处理模块返回的token令牌、以及各目标从客户端内的从客户端程序单元返回的token令牌,发送给目标主客户端内主客户端程序单元的第二数据处理模块;目标主客户端内的主客户端程序单元的第二数据处理模块,基于所接收到的中间服务器发来的目标主客户端内主客户端程序单元的第二连接认证信息处理模块返回的token令牌、以及各目标从客户端内的从客户端程序单元返回的token令牌,通过中间服务器,分别与各目标从客户端内的从客户端程序单元进行相应的数据交互(比如上传数据)。

其中,需要说明的是,目标主客户端内主客户端程序单元的第二数据处理模块,通过目标主客户端内主客户端程序单元的第二数据传输接口模块,在中间服务器的连通作用下,与各目标从客户端分别进行数据交互;各目标从客户端内从客户端程序单元的第一数据处理模块,各自通过对应从客户端程序单元的第一数据接收接口模块,在中间服务器的连通作用下,与目标主客户端进行数据交互。

所述的第二连接认证请求及各所述的第一连接认证请求均采用http请求;主客户端程序单元与各所述从客户端程序单元之间的数据交互,均基于预先设定的同一数据传输格式进行。

在本实施方式中,各从客户端程序单元向中间服务器返回的允许数据交互的token令牌,包括对相应主客户端程序单元所要求交互的数据的格式要求;所述的对相应主客户端程序单元所要求交互的数据的格式要求包括:对所要交互的数据进行加密,并对加密后得到的密文进行压缩处理。

在本实施方式中,所述对所要交互的数据进行加密的加密算法为aes加密算法(预先约定),所述的对加密后得到的密文进行压缩处理的压缩格式为zip压缩格式。

进一步地,各从客户端程序单元验证其所接收到的第一连接认证请求中密钥key的准确性并在其验证结果为所接收到的第一连接认证请求中的密钥key错误时,均向所述的中间服务器端返回refuse拒绝请求;各主客户端程序单元验证其所接收到的第二连接认证请求中密钥key的准确性并在验证结果为其所接收到的第二连接认证请求中的密钥key错误时,均向所述的中间服务器端返回refuse拒绝请求。

在本实施方式中,各主客户端程序单元及其对应的各从客户端程序单元之间的数据交互,均基于json格式进行。

鉴于本实施方式中所述的多平台通讯系统,与所述多平台通讯方法的具体实施方式相对应,本实施方式中所述多平台通讯系统的各组成部分已在所述多平台通讯方法的实施方式中进行相应的记载,在此不再赘述。

综上可见,本发明所述的多平台通讯系统,提供了一种通用的适用于多个不同客户端之间通讯的中间件通讯服务,实现了通过中间服务器进行各客户端之间的交互,实现了不同客户端间交互功能模块的复用性,节约了开发人力资源,提高了开发人员实现不同平台(即不同客户端)间的数据交互的工作效率。

以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1