欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种跨网RPC调用系统及方法独创技术15188字

一种跨网RPC调用系统及方法

2021-03-12 09:16:26

一种跨网RPC调用系统及方法

  技术领域

  本发明属于信息传输技术领域,尤其涉及一种跨网RPC调用系统及方法。

  背景技术

  光闸,英文简称FGAP,是一种由安全隔离网闸(GAP)基础上发展而成、基于光的单向性的单向隔离软硬件系统,用于连接物理隔离的两个局域网A和B,也就是说两个不同局域网之间不能直接连接,而光闸允许局域网A向局域网B或局域网B向局域网A单向发送文件。

  目前,在公安系统或者企业系统内部中,因安全性的问题,经常会涉及到上述跨网调用,即不同的两个网段进行数据交互。采用传统方式就是交互的两端通过开发文件传输协议的代码进行交互,不具有复用性和隔离性。

  举一例说明如下:假设局域网A向局域网B发送文件,配置如下:

  A网某主机X目录:/data/gz/send

  B网某主机Y目录:/data/gz/recv

  如果在主机X的目录/data/gz/send下添加文件,会通过光闸将文件转移到主机Y的对应目录/data/gz/recv其中,基本流程主要为:主机X将想要请求的内容处理为文件,放到光闸目录,由光闸将文件传输到主机Y,主机Y发现有请求文件后获取请求产生结果,然后保存为文件到光闸目录;再由光闸将文件传输到主机X;主机X发现请求文件后,解析响应结果进行处理。

  上述调用过程中,主机X和主机Y程序都需要频繁的文件操作,进行了复杂的编码设计,在项目部署时都需要对光闸目录进行配置,开发成本、调试成本高。

  发明内容

  为解决上述的技术问题,本发明提出一种跨网RPC调用系统,采用一跨光闸通用RPC调用组件,实现不同网段之间的数据传输,保证提高通信效率,降低开发成本。

  一方面,本发明公开了一种跨网RPC调用系统,包括:

  一客户端,设置于一第一局域网侧;及

  一服务端,设置于一第二局域网侧,所述服务端通过一跨光闸通用RPC调用组件通信连接所述客户端;

  所述跨光闸通用RPC调用组件进一步包括:

  一代理服务端,通信连接所述客户端;及

  一代理客户端,通信连接所述代理服务端、所述服务端;

  其中,所述代理服务端接收所述客户端发起的请求参数跨光闸通信经所述代理客户端发送至所述服务端;所述代理客户端接收所述服务端返回的响应参数跨光闸通信经所述代理服务端发送至所述客户端,以为客户端与服务端之间提供跨网通讯功能。

  进一步,所述跨光闸通用RPC调用组件支持FTP文件传输协议。

  进一步,所述跨光闸通用RPC调用组件与所述客户端、服务端之间采用HTTP、GRPC、Thrift中任一通信协议进行通信,具体的,采用HTTP的实施例客户端向所述代理服务端发送REST请求。

  进一步,所述跨光闸通用RPC调用组件的代理服务端、代理客户端包装为jar包分别以组件形式集成于所述客户端、服务端,,极大丰富了客户端通信功能,使客户端具有更好的适用性。

  进一步,所述系统通信过程中数据传输基于JSON结构进行数据交换。

  另一方面,本发明还公开了一种跨网RPC调用方法,包括:

  S1:发起调用请求,其中,第一局域网侧的一客户端发起请求参数后经一跨光闸通用RPC调用组件发送至第二局域网侧的一服务端;

  S2:响应调用请求,其中,所述服务端接收请求参数后根据请求参数进行处理并经所述跨光闸通用RPC调用组件返回响应结果至所述客户端。

  进一步,所述步骤S1中,所述跨光闸通用RPC调用组件的一代理服务端接收所述第一局域网侧的客户端发起的请求参数跨光闸通信经所述代理客户端发送至所述服务端;

  进一步,所述步骤S2中,所述跨光闸通用RPC调用组件的一代理客户端接收所述服务端返回的响应参数跨光闸通信经所述代理服务端发送至所述客户端。

  进一步,所述步骤S1还包括:

  S101:所述第一局域网侧的客户端发起服务调用请求输出一请求参数;

  S102:所述跨光闸通用RPC调用组件中的代理服务端接收所述请求参数并包装为一请求文件,并写入一请求唯一标识至所述请求文件;

  S103:所述请求文件经一光闸发送至所述跨光闸通用RPC调用组件的一代理客户端;

  S104:所述代理客户端接收请求文件,并将文件内容解析为所述请求参数发送至所述第二局域网侧的服务端。

  进一步,所述步骤S2进一步包括:

  S201:所述第二局域网侧的服务端接收到请求参数后根据请求参数进行处理并返回响应结果;

  S202:所述跨光闸通用RPC调用组件的代理客户端接收所述响应结果并包装为一响应文件,同时增加请求唯一标识至所述响应文件;

  S203:所述响应文件经另一光闸发送至所述跨光闸通用RPC调用组件的代理服务端;

  S204:所述代理服务端接收到所述响应文件后解析获得响应结果,并对比请求唯一标识,以根据所述请求唯一标识将响应结果返回至所述第一局域网侧的客户端。

  进一步,所述步骤S1进一步包括一RPC调用失败重试步骤,用于当所述客户端经一设定时间没有收到响应结果时,再次向所述代理客户端发送请求参数,并经过有限次请求仍未收到响应结果时,则取消发送请求参数。

  进一步,所述跨光闸通用RPC调用组件支持FTP文件传输协议。

  进一步,所述跨光闸通用RPC调用组件与所述客户端、服务端之间采用HTTP、GRPC、Thrift中任一通信协议进行通信。

  进一步,所述跨光闸通用RPC调用组件的代理服务端、代理客户端包装为jar包分别以组件形式集成于所述第一局域网侧的客户端、第二局域网侧的服务端。

  进一步,所述跨网RPC调用方法通信过程中数据传输基于JSON结构进行数据交换。

  与现有技术相比,本发明的优点和积极效果在于:

  本发明在第一局域网侧的客户端及第二局域网侧的服务端之间通过设置跨光闸通用RPC调用组件不需要进行复杂的编码设计及光闸目录的配置即可进行跨网通讯RPC调用,所述客户端和服务端之间相当于在同一局域网内进行数据传输,客户端可以同时进行同网段和跨网段RPC调用,而且客户端、服务端无需进行复杂的文件操作,实现屏蔽光闸组件,降低开发成本、调试成本;

  对RPC调用过程通过添加请求唯一标识,并根据该请求唯一标识返回响应结果至相应客户端,多个服务进行使用时,只需构建一套光闸组件即可,具有更好的扩展性;

  本发明还将所述跨光闸通用RPC调用组件的代理服务端、代理客户端以jar包组件形式集成到客户端、服务端上,极大丰富了客户端通信功能,使客户端具有更好的适用性。

  附图说明

  为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

  图1为本发明实施例跨网RPC调用系统的结构示意图;

  图2为本发明实施例跨网RPC调用系统的另一结构示意图;

  图3为本发明实施例跨网RPC调用系统的原理示意图;

  图4为本发明实施例跨网RPC调用系统的另一原理示意图;

  图5为本发明实施例跨网RPC调用方法的流程示意图。

  其中:1、客户端;2、服务端;3、跨光闸通用RPC调用组件;31、代理服务端;32、代理客户端;33、光闸。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。

  需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

  另外,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

  图1为本发明实施例跨网RPC调用系统的结构示意图;

  图2为本发明实施例跨网RPC调用系统的另一结构示意图;

  图3为本发明实施例跨网RPC调用系统的原理示意图;

  图4为本发明实施例跨网RPC调用系统的另一原理示意图;

  图5为本发明实施例跨网RPC调用方法的流程示意图

  具体实施例一:

  图1为本发明实施例跨网RPC调用系统的结构示意图,参考图1所示,本发明实施例公开了一种跨网RPC调用系统,包括:

  客户端1,设置于一局域网A侧;及;

  服务端2,设置于一局域网B侧,服务端2通过跨光闸通用RPC调用组件3通信连接客户端;

  跨光闸通用RPC调用组件3进一步包括:

  代理服务端31,通信连接客户端1;及

  代理客户端32,通信连接代理服务端31、服务端2;

  其中,代理服务端31接收客户端1发起的请求参数跨光闸通信经代理客户端32发送至服务端2;代理客户端32接收服务端2返回的响应参数跨光闸通信经代理服务端31发送至客户端1,以实现客户端与服务端之间的跨网通讯功能,跨光闸通用RPC调用组件3与客户端1、服务端2之间采用HTTP、GRPC、Thrift中任一通信协议进行通信,跨光闸通用RPC调用组件3支持FTP文件传输协议,本实施例客户端1向代理服务端31发送通用REST请求,客户端无需进行复杂的文件操作,因此无需集成任何客户端库。

  值得注意的是,上述系统通信过程中数据传输基于JSON结构进行数据交换,下面举例说明,如:

  请求文件UUID.req内容如下:

  

  

  再如,响应文件UUID.res内容如下:

  

  图5为本发明实施例的跨网RPC调用方法的流程示意图,参考图5所示,本发明还公开了一种跨网RPC调用方法,包括:

  S1:发起调用请求,其中,局域网A侧的客户端1发起请求参数后经跨光闸通用RPC调用组件3发送至局域网B侧的服务端2;

  S2:响应调用请求,其中,服务端2接收请求参数后根据请求参数进行处理并经跨光闸通用RPC调用组件3返回响应结果至相应客户端1,

  具体的,跨光闸通用RPC调用组件3的代理服务端31接收局域网A的客户端1发起的请求参数跨光闸通信经代理客户端32发送至局域网B侧的服务端2;跨光闸通用RPC调用组件3的代理客户端32接收服务端2返回的响应参数跨光闸通信经代理服务端1发送至客户端1。

  其中,步骤S1还包括:

  S101:局域网A客户端1发起服务调用请求输出一请求参数;

  S102:跨光闸通用RPC调用组件3中的代理服务端31接收请求参数并包装为一请求文件,并写入一请求唯一标识至请求文件;

  S103:请求文件经光闸A发送至代理客户端32;

  S104:代理客户端32接收请求文件,并将文件内容解析为请求参数发送至局域网B侧的服务端2。

  步骤S2还包括:

  S201:局域网B侧的服务端2接收到请求参数后根据请求参数进行处理并返回响应结果;

  S202:代理客户端32接收响应结果并包装为一响应文件,同时增加请求唯一标识至响应文件;

  S203:响应文件经光闸B发送至代理服务端31;

  S204:代理服务端31接收到响应文件后解析获得响应结果,并对比请求唯一标识,以根据请求唯一标识将响应结果返回至局域网A的客户端1,本实施例的局域网B侧的服务器2可为多个客户端提供远程调用服务,并根据请求唯一标识进行返回相应结果至响应客户端。

  值得注意的是,若局域网A客户端1经1秒没有收到响应结果,则再次发出请求参数,进一步,若经过3次发出请求参数仍未收到响应结果时,则取消发送请求参数,请求失败。

  采用本实施例的RPC调用系统及方法,在局域网A侧的客户端1及局域网B侧的服务端2之间通过设置跨光闸通用RPC调用组件3不需要进行复杂的编码设计及光闸目录的配置即可进行跨网通讯数据传输,客户端1和服务端2之间相当于在同一局域网内进行RPC调用,客户端1可以同时进行同网段和跨网段RPC调用,而且客户端1、服务端2无需进行复杂的文件操作,实现屏蔽光闸组件,降低开发成本、调试成本;对RPC调用过程通过添加请求唯一标识,并根据该请求唯一标识返回响应结果至相应客户端1,多个服务进行使用时,只需构建一套光闸组件即可,具有更好的扩展性。

  具体实施例二:

  以下仅描述本实施例与具体实施例一的不同之处,相同之处不再赘述,本实施例与具体实施例一实施方式的不同之处在于:

  图2、4所示为本实施例的跨网RPC调用系统的结构示意图及原理图,参考图2、4所示,本实施例的跨光闸通用RPC调用组件3的代理服务端31、代理客户端32分别打包为jar包后以组件形式集成到局域网A侧的客户端1、局域网B侧的服务端2中,不再单独部署,以使客户端具备内网、外网RPC调用的功能,极大丰富了客户端通信功能,使客户端具有更好的适用性。

  以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

《一种跨网RPC调用系统及方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)