传输调用消息的方法和系统、转发服务器及可读存储介质与流程

文档序号:17659919发布日期:2019-05-15 22:18阅读:199来源:国知局
传输调用消息的方法和系统、转发服务器及可读存储介质与流程

本申请实施例涉及网络信息传输领域,尤其涉及一种传输调用消息的方法和系统、转发服务器及可读存储介质。



背景技术:

网闸是一种网络安全设备,网闸两侧的设备之间通过网闸实现安全隔离。在实际网络部署过程中,通常在网闸的两侧分别部署网闸外转发服务器和网闸内转发服务器,然后将网闸外转发服务器与调用设备相连,并将网闸内转发服务器与被调用设备相连。调用设备、网闸外转发服务器、网闸、网闸内转发服务器以及被调用设备组成一个传输调用消息的系统,通过该系统包括的各个设备之间的交互,实现了调用设备对被调用设备的调用。

示例地,以网闸一侧的调用设备a调用网闸另一侧的被调用设备b的http接口为例,传输调用消息的系统如图1所示,包括:调用设备a、网闸外转发服务器c、网闸、网闸内转发服务器d以及被调用设备b。首先,调用设备a生成http请求,然后将该http请求转换成json格式的请求消息,并发给网闸外转发服务器c,网闸外转发服务器c将该json格式的请求消息上传到网闸,网闸内转发服务器d从网闸中获取该json格式的请求消息并解析,并发送给被调用设备b,被调用设备b生成http响应,然后将该http响应转换成json格式的响应消息并发送给网闸内转发服务器d,网闸内转发服务器d将该json格式的响应消息上传到网闸,网闸外转发服务器c从网闸中获取该json格式的响应消息并解析后发送给调用设备a。如此,实现了调用设备a对被调用设备b的http接口的调用。

可见,上述相关技术中,要求调用设备对调用请求消息的格式进行转换,才能实现对被调用设备的调用,因而对调用设备的要求较高,进而导致调用成本较高。



技术实现要素:

本申请提供一种传输调用消息的方法和系统、转发服务器及可读存储介质,无需调用设备对调用请求消息的格式进行转换,降低了对调用设备的要求,进而降低了调用成本。

本申请实施例第一方面提供了一种传输调用消息的方法,应用于网闸外转发服务器,所述网闸外转发服务器与调用设备和网闸分别相连,所述网闸与网闸内转发服务器相连,所述网闸内转发服务器与至少一个待调用设备相连,所述方法包括:

接收所述调用设备发送的调用请求消息,所述调用请求消息用于请求调用所述至少一个待调用设备中的被调用设备存储的被调用资源,且所述调用请求消息的消息格式为所述被调用设备支持的消息格式;

按照所述网闸内转发服务器支持的文件格式,将所述调用请求消息转换为调用请求文件;

将所述调用请求文件上传到所述网闸,以使得所述网闸内转发服务器从所述网闸中获取所述调用请求文件,并将所述调用请求文件中的内容发送给所述被调用设备,所述调用请求文件中的内容是根据所述调用请求消息确定的。

本申请实施例第二方面提供了一种传输调用消息的方法,应用于网闸内转发服务器,所述网闸内转发服务器与至少一个待调用设备和网闸分别相连,所述网闸与网闸外转发服务器相连,所述网闸外转发服务器与调用设备相连,所述方法包括:

从所述网闸中获取调用请求文件,所述调用请求文件是所述网闸外转发服务器接收到所述调用设备发送的调用请求消息后,将所述调用请求消息转换为所述调用请求文件并上传到所述网闸中的;

将所述调用请求文件中的内容发送给所述至少一个待调用设备中的被调用设备,所述调用请求文件的文件名与所述被调用设备对应,所述调用请求文件中的内容是根据所述调用请求消息确定的;

接收所述被调用设备发送的调用响应消息;

按照所述网闸外转发服务器支持的文件格式,将所述调用响应消息转换为调用响应文件;

将所述调用响应文件上传到所述网闸,以使得所述网闸外转发服务器从所述网闸中获取所述调用响应文件,并将所述调用响应文件中内容发送给所述调用设备,所述调用响应文件中的内容是根据所述调用响应消息确定的。

本申请实施例第三方面提供了一种传输调用消息的方法,应用于网关,所述网关与网闸内转发服务器和至少两个待调用设备分别相连,所述网闸与所述网闸内转发服务器和网闸外转发服务器分别相连,所述网闸外转发服务器与调用设备相连,所述方法包括:

接收所述网闸内转发服务器发送的调用请求文件中的内容,所述调用请求文件中的内容是根据所述调用设备发送的调用请求消息确定的;

从所述至少两个待调用设备中确定被调用设备,所述调用请求文件的文件名与所述被调用设备对应;

将所述调用请求文件中的内容转发给所述被调用设备;

接收所述被调用设备发送的调用响应消息;

将所述调用响应消息转发给所述网闸内转发服务器,以使得所述网闸内转发服务器接收到所述调用响应消息后,将所述调用响应消息转换为调用响应文件并上传到所述网闸中。

本申请实施例第四方面提供了一种应用于网闸外转发服务器的传输调用消息的装置,该装置包括:

接收模块,用于接收所述调用设备发送的调用请求消息,所述调用请求消息用于请求调用所述至少一个待调用设备中的被调用设备存储的被调用资源,且所述调用请求消息的消息格式为所述被调用设备支持的消息格式;

第一转换模块,用于按照所述网闸内转发服务器支持的文件格式,将所述调用请求消息转换为调用请求文件;

上传模块,用于将所述调用请求文件上传到所述网闸,以使得所述网闸内转发服务器从所述网闸中获取所述调用请求文件,并将所述调用请求文件中的内容发送给所述被调用设备,所述调用请求文件中的内容是根据所述调用请求消息确定的。

本申请实施例第五方面提供了一种应用于网闸内转发服务器的传输调用消息的装置,该装置包括:

获取模块,用于从所述网闸中获取调用请求文件,所述调用请求文件是所述网闸外转发服务器接收到所述调用设备发送的调用请求消息后,将所述调用请求消息转换为所述调用请求文件并上传到所述网闸中的;

发送模块,用于将所述调用请求文件中的内容发送给所述至少一个待调用设备中的被调用设备,所述调用请求文件的文件名与所述被调用设备对应,所述调用请求文件中的内容是根据所述调用请求消息确定的;

接收模块,用于接收所述被调用设备发送的调用响应消息;

转换模块,用于按照所述网闸外转发服务器支持的文件格式,将所述调用响应消息转换为调用响应文件;

上传模块,用于将所述调用响应文件上传到所述网闸,以使得所述网闸外转发服务器从所述网闸中获取所述调用响应文件,并将所述调用响应文件中的内容发送给所述调用设备,所述调用响应文件中的内容是根据所述调用响应消息确定的。

本申请实施例第六方面提供了一种应用于网关的传输调用消息的装置,该装置包括:

第一接收模块,用于接收所述网闸内转发服务器发送的调用请求文件中的内容,所述调用请求文件中的内容是根据所述调用设备发送的调用请求消息确定的;

确定模块,用于从所述至少两个待调用设备中确定被调用设备,所述调用请求文件的文件名与所述被调用设备对应;

第一转发模块,用于将所述调用请求文件中的内容转发给所述被调用设备;

第二接收模块,用于接收所述被调用设备发送的调用响应消息;

第二转发模块,用于将所述调用响应消息转发给所述网闸内转发服务器,以使得所述网闸内转发服务器接收到所述调用响应消息后,将所述调用响应消息转换为调用响应文件并上传到所述网闸中。

本申请实施例第七方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例第一方面、第二方面或第三方面所述的方法中的步骤。

本申请实施例第八方面提供了一种网闸外转发服务器,所述网闸外转发服务器与调用设备和网闸分别相连,所述网闸与网闸内转发服务器相连,所述网闸内转发服务器与至少一个待调用设备相连,所述网闸外转发服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行本申请实施例第一方面所述的方法。

本申请实施例第九方面提供了一种网闸内转发服务器,所述网闸内转发服务器与至少一个待调用设备和网闸分别相连,所述网闸与网闸外转发服务器相连,所述网闸外转发服务器与调用设备相连,所述网闸内转发服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行本申请实施例第二方面所述的方法。

本申请实施例第十方面提供了一种网关,所述网关与网闸内转发服务器和至少两个待调用设备分别相连,所述网闸与所述网闸内转发服务器和网闸外转发服务器分别相连,所述网闸外转发服务器与调用设备相连,所述网关包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行本申请实施例第三方面所述的方法。

本申请实施例第十一方面提供了一种传输调用消息的系统,包括调用设备、本申请实施例第八方面所述的网闸外转发服务器、网闸、本申请实施例第九方面所述的网闸内转发服务器以及至少一个待调用设备,所述调用设备与所述网闸外转发服务器相连,所述网闸与所述网闸外转发服务器和所述网闸内转发服务器分别相连,所述网闸内转发服务器与所述至少一个待调用设备相连。

可选地,在所述至少一个待调用设备的数量大于或等于两个的情况下,所述系统还包括:

本申请实施例第十方面所述的网关,所述网闸内转发服务器与至少两个待调用设备之间通过所述网关连接。

采用上述技术方案,一方面,调用设备在生成调用请求消息的过程中,直接按照被调用设备支持的消息格式生成调用请求消息,便于采用直接调用的方式调用被调用设备。因此,无需调用设备对调用请求消息的格式进行转换,降低了对调用设备的要求,进而降低了调用成本。另一方面,由网闸外转发服务器对调用设备生成的调用请求消息进行进一步处理,按照所述网闸内转发服务器支持的文件格式,将调用设备生成的调用请求消息转换为调用请求文件并上传到网闸,因此,调用设备在生成调用请求消息后,无需对该调用请求消息进行进一步处理(例如:对该调用请求消息进行格式转换),可以直接将该调用请求消息发送给网闸外转发服务器,由网闸外转发服务器对该调用请求消息进行进一步处理(即,将该调用请求消息转换为调用请求文件)。将原本调用设备需要完成的工作转移给网闸外转发服务器,由网闸外转发服务器分担原本由调用设备完成的工作,降低了调用设备的工作负担。

附图说明

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

图1是相关技术中的传输调用消息的系统的示意图;

图2是本申请一实施例提出的一种传输调用消息的系统的示意图;

图3是本申请一实施例提出的一种传输调用消息的系统的另一示意图;

图4是本申请一实施例提出的一种应用于网闸外转发服务器的传输调用消息的方法的流程图;

图5是本申请一实施例提出的一种传输调用消息的方法的示意图;

图6是本申请一实施例提出的一种应用于网闸内转发服务器的传输调用消息的方法的流程图;

图7是本申请一实施例提出的一种应用于网关的传输调用消息的方法的流程图;

图8是本申请一实施例提供的传输调用消息的系统执行传输调用消息的方法的示意图;

图9是本申请一实施例提出的一种应用于网闸外转发服务器的传输调用消息的装置的示意图;

图10是本申请一实施例提出的一种应用于网闸内转发服务器的传输调用消息的装置的示意图;

图11是本申请一实施例提出的一种应用于网关的传输调用消息的装置的示意图。

具体实施方式

下面将结合本申请各个实施例中的附图,对本申请各个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的各个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

首先,本申请一实施例提出一种传输调用消息的系统。该传输调用消息的系统包括:调用设备、网闸外转发服务器、网闸、网闸内转发服务器以及至少一个待调用设备。其中,调用设备与网闸外转发服务器相连,网闸与网闸外转发服务器和网闸内转发服务器分别相连,网闸内转发服务器与至少一个待调用设备相连。

在至少一个待调用设备的数量是一个的情况下,参考图2,图2是本申请一实施例提出的一种传输调用消息的系统的示意图。如图2所示,该系统中,网闸内转发服务器与一个待调用设备直接相连。本文中,设备与设备“相连”可以是采用有线方式或无线方式进行通信连接。

在至少一个待调用设备的数量大于或等于两个的情况下,参考图3,图3是本申请一实施例提出的一种传输调用消息的系统的另一示意图。如图3所示,该系统还包括网关,网闸内转发服务器与至少两个待调用设备之间通过所述网关连接。图3以至少两个待调用设备的数量是三个(待调用设备a、待调用设备b以及待调用设备c)为例示意。

基于本申请上述实施例提供的传输调用消息的系统,本申请一实施例提出一种传输调用消息的方法,该方法应用于网闸外转发服务器(例如图2或图3中的网闸外转发服务器)。该网闸外转发服务器与调用设备和网闸分别相连,网闸与网闸内转发服务器相连,网闸内转发服务器与至少一个待调用设备相连。

参考图4,图4是本申请一实施例提出的一种应用于网闸外转发服务器的传输调用消息的方法的流程图。如图4所示,该方法包括以下步骤:

步骤s41:接收所述调用设备发送的调用请求消息,所述调用请求消息用于请求调用所述至少一个待调用设备中的被调用设备存储的被调用资源,且所述调用请求消息的消息格式为所述被调用设备支持的消息格式;

步骤s42:按照所述网闸内转发服务器支持的文件格式,将所述调用请求消息转换为调用请求文件;

步骤s43:将所述调用响应文件上传到所述网闸,以使得所述网闸外转发服务器从所述网闸中获取所述调用响应文件,并将所述调用响应文件中的内容发送给所述调用设备,所述调用请求文件中的内容是根据所述调用请求消息确定的。

在本实施例中,调用设备在生成调用请求消息的过程中,无需考虑网闸外转发服务器支持何种消息格式,而是直接按照被调用设备支持的消息格式生成调用请求消息,以便于采用直接调用的方式调用被调用设备。

调用设备在生成调用请求消息后,无需对该调用请求消息进行进一步处理(例如:对该调用请求消息进行格式转换),可以直接将该调用请求消息发送给网闸外转发服务器,由网闸外转发服务器对该调用请求消息进行进一步处理。具体地,网闸外转发服务器可以按照接收方支持的文件格式,即,按照网闸内转发服务器支持的文件格式,将该调用请求消息转换为调用请求文件并上传到网闸中。可选地,网闸外转发服务器可以对调用请求文件进行命名,将调用请求文件的文件名用一个标识符表示。例如,该标识符可以为uuid(universallyuniqueidentifier,通用唯一识别码)。

采用上述技术方案,一方面,调用设备在生成调用请求消息的过程中,直接按照被调用设备支持的消息格式生成调用请求消息,便于采用直接调用的方式调用被调用设备。因此,无需调用设备对调用请求消息的格式进行转换,降低了对调用设备的要求,进而降低了调用成本。另一方面,由网闸外转发服务器对调用设备生成的调用请求消息进行进一步处理,按照所述网闸内转发服务器支持的文件格式,将调用设备生成的调用请求消息转换为调用请求文件并上传到网闸,因此,调用设备在生成调用请求消息后,无需对该调用请求消息进行进一步处理(例如:对该调用请求消息进行格式转换),可以直接将该调用请求消息发送给网闸外转发服务器,由网闸外转发服务器对该调用请求消息进行进一步处理(即,将该调用请求消息转换为调用请求文件)。将原本调用设备需要完成的工作转移给网闸外转发服务器,由网闸外转发服务器分担原本由调用设备完成的工作,降低了调用设备的工作负担。

结合以上实施例,上述步骤s42包括以下步骤:

通过所述网闸内转发服务器支持的文件格式对应的编码器,对所述调用请求消息进行序列化,得到第一字节数组;

根据所述第一字节数组,生成所述调用请求文件。

在本实施例中,调用设备生成的调用请求消息可以是http请求消息,也可以是采用其他协议的请求消息,例如:无需被调用设备反馈响应的单向请求消息。无论调用请求消息是何种协议的请求消息,在调用设备生成调用请求消息后,可以通过网闸内转发服务器支持的文件格式对应的编码器,对该调用请求消息进行序列化,得到第一字节数组,进而根据第一字节数组,生成调用请求文件。

其中,网闸内转发服务器支持的文件格式对应的编码器可以是一段程序代码行,该段程序代码行表明了网闸内转发服务器支持的文件格式以及如何进行序列化。

示例地,以调用设备生成的调用请求消息是http请求消息为例,调用设备将该http请求消息发送给网闸外转发服务器,网闸外转发服务器可以采用序列化的方式,通过http请求编码器(httprequestencoder),将该http请求消息转换为字节数组(记为第一字节数组)。然后将第一字节数组作为调用请求文件的内容,写入调用请求文件。同理,http请求编码器可以是一段程序代码行,该段程序代码行表明了如何对http请求消息进行序列化。

示例地,参考图5,图5是本申请一实施例提出的一种传输调用消息的方法的示意图。如图5所示,网闸外转发服务器内置http请求编器(httprequestencoder)。调用设备向网闸外转发服务器发送http请求消息,网闸外转发服务器通过http请求编码器(httprequestencoder),将该http请求消息转换为第一字节数组。然后将第一字节数组作为调用请求文件的内容,写入调用请求文件。并将该调用请求文件上传到网闸。由于该调用请求文件的内容是字节数组,所以网闸以字节数组(byte[])的形式存储调用请求文件。

结合以上各实施例,本申请另一实施例提出一种应用于网闸外转发服务器的传输调用消息的方法。该方法除包括步骤s41-步骤s43外,还包括以下步骤:

从所述网闸中获取调用响应文件,所述调用响应文件是所述网闸内转发服务器接收到所述被调用设备发送的调用响应消息后,将所述调用响应消息转换为所述调用响应文件并上传到所述网闸中的,所述调用响应文件的文件名与所述调用设备对应;

通过所述网闸内转发服务器支持的文件格式对应的解码器,将所述调用响应文件转换为调用响应消息;

将所述调用响应消息发送给所述调用设备;

通过字节数组编码器,从所述调用响应文件中获取第二字节数组;

通过与所述文件名对应的所述调用设备预先建立的socket通道,将所述第二字节数组发送给所述调用设备。

在本实施例中,在两种不同的情况下,网闸外转发服务器对调用响应文件进行不同的处理并反馈给调用设备的过程。

网闸外转发服务器在将调用请求文件上传到网闸后,网闸内转发服务器(例如图2或图3中的网闸内转发服务器)可以从网闸中获取该调用请求文件,并将该调用请求文件中内容发送给至少一个待调用设备(例如图2或图3中的至少一个待调用设备)中的被调用设备,进而触发被调用设备生成调用响应消息并发送给网闸内转发服务器,网闸内转发服务器接收到该调用响应消息后,将该调用响应消息转换为调用响应文件并上传到网闸中。如此,网闸外转发服务器可以从网闸中获取该调用响应文件。可选地,网闸外转发服务器可以定时轮询网闸,以获取网闸内转发服务器上传到网闸中的调用响应文件。其中,调用请求文件中的内容是根据调用设备发送的调用请求消息确定的。

网闸外转发服务器在从网闸中获取到调用响应文件之后,对该调用响应文件的处理方式有且不限于以下两种:

第一种处理方式:通过网闸内转发服务器支持的文件格式对应的解码器,将调用响应文件转换为调用响应消息,并根据该调用响应文件的文件名(该文件名包括调用设备的uuid),将调用响应消息发送给调用设备。

第二种处理方式:网闸外转发服务器可以通过字节数组编码器(bytearrayencoder),从调用响应文件中提取字节数组(记为第二字节数组)。然后将第二字节数组通过预先与调用设备建立的socket通道发送给调用设备。其中,字节数组编码器是另一段实现编码功能程序代码行,可以应用于多种对字节数组进行编码的场景下。

如图5所示,网闸外转发服务器内置bytearrayencoder。网闸内转发服务器向网闸上传调用响应文件,该调用响应文件的内容是字节数组,所以网闸以字节数组(byte[])的形式存储调用响应文件。然后网闸外转发服务器从网闸中获取该调用响应文件,并通过bytearrayencoder,从调用响应文件中提取第二字节数组。然后将第二字节数组通过预先与调用设备建立的socket通道发送给调用设备。

以上为对应用于网闸外转发服务器的传输调用消息的方法的说明。

基于本申请上述实施例提供的传输调用消息的系统,本申请另一实施例提出一种传输调用消息的方法,该方法应用于网闸内转发服务器(例如图2或图3中的网闸内转发服务器)。网闸内转发服务器与至少一个待调用设备和网闸分别相连,网闸与网闸外转发服务器相连,网闸外转发服务器与调用设备相连。

参考图6,图6是本申请一实施例提出的一种应用于网闸内转发服务器的传输调用消息的方法的流程图。如图6所示,该方法包括以下步骤:

步骤s61:从所述网闸中获取调用请求文件,所述调用请求文件是所述网闸外转发服务器接收到所述调用设备发送的调用请求消息后,将所述调用请求消息转换为所述调用请求文件并上传到所述网闸中的;

步骤s62:将所述调用请求文件中的内容发送给所述至少一个待调用设备中的被调用设备,所述调用请求文件的文件名与所述被调用设备对应,所述调用请求文件中的内容是根据所述调用请求消息确定的;

步骤s63:接收所述被调用设备发送的调用响应消息;

步骤s64:按照所述网闸外转发服务器支持的文件格式,将所述调用响应消息转换为调用响应文件;

步骤s65:将所述调用响应文件上传到所述网闸,以使得所述网闸外转发服务器从所述网闸中获取所述调用响应文件,并将所述调用响应文件中的内容发送给所述调用设备,所述调用响应文件中的内容是根据所述调用响应消息确定的。

在本实施例中,结合上述对应用于网闸外转发服务器的传输调用消息的方法的说明,网闸外转发服务器将调用请求文件上传到网闸中之后,网闸内转发服务器可以从网闸中获取该调用请求文件。可选地,网闸内转发服务器可以定时轮询网闸,以获取网闸外转发服务器上传到网闸中的调用请求文件。

网闸内转发服务器从网闸中获取调用请求文件后,将该调用请求文件中的内容发送给至少一个待调用设备(例如图2或图3中的至少一个待调用设备)中的被调用设备,进而触发被调用设备生成调用响应消息,其中,调用请求文件中的内容是根据调用设备发送的调用请求消息确定的。

被调用设备生成调用响应消息后,无需对该调用响应消息进行进一步处理(例如:对该调用响应消息进行格式转换),可以直接将该调用响应消息发送给网闸内转发服务器,由网闸内转发服务器对该调用响应消息进行进一步处理。具体地,网闸内转发服务器按照接收方支持的文件格式,即按照网闸外转发服务器支持的文件格式,将该调用响应消息转换为调用响应文件并上传到网闸中。可选地,网闸内转发服务器可以对调用响应文件进行命名,将调用请求文件的文件名(一个uuid)作为调用响应文件的文件名。

采用上述技术方案,由网闸内转发服务器对被调用设备生成的调用响应消息进行进一步处理,将被调用设备生成的调用响应消息转换为调用响应文件并上传到网闸,因此,被调用设备在生成调用响应消息后,无需对该调用响应消息进行进一步处理(例如:对该调用响应消息进行格式转换),可以直接将该调用响应消息发送给网闸内转发服务器,由网闸内转发服务器对该调用响应消息进行进一步处理(即,将该调用响应消息转换为调用响应文件)。因此,无需被调用设备对调用响应消息的格式进行转换,降低了对被调用设备的要求,进而降低了调用成本。并且,将原本被调用设备需要完成的工作转移给网闸内转发服务器,由网闸内转发服务器分担原本由被调用设备完成的工作,降低了被调用设备的工作负担。

结合以上实施例,在至少一个待调用设备的数量大于或等于两个的情况下,网闸内转发服务器与至少两个待调用设备之间通过网关连接。上述步骤s62包括以下步骤:

将所述调用请求文件中的内容发送给所述网关,以使所述网关根据所述调用请求消息,从所述至少两个待调用设备中确定所述被调用设备,并将所述调用请求消息转发给所述被调用设备;

相应地,上述步骤s63包括以下步骤:

接收所述网关转发的调用响应消息,所述调用响应消息是所述网关接收到所述被调用设备发送的调用响应消息后转发的。

在本实施例中,在至少一个待调用设备的数量大于或等于两个的情况下,网闸内转发服务器在从网闸中获取到调用请求文件后,首先将调用请求文件中的内容发送给网关,由网关根据该调用请求文件中的内容,从至少两个待调用设备中确定出被调用设备,网关再将该调用请求文件中的调用请求消息转发给被调用设备。此外,被调用设备生成调用响应消息后,首先将该调用响应消息发送给网关,再由网关将该调用响应消息转发给网闸内转发服务器。

结合以上各实施例,上述步骤s64包括以下步骤:

通过所述网闸外转发服务器支持的文件格式对应的编码器,对所述调用响应消息进行序列化,得到第三字节数组;

根据所述第三字节数组,生成所述调用响应文件。

在本实施例中,与调用请求消息对应,调用响应消息可以是http响应消息,也可以是采用其他协议的请求消息。无论调用响应消息是何种协议的响应消息,在得到调用响应消息后,可以通过网闸外转发服务器支持的文件格式对应的编码器,对该调用响应消息进行序列化,得到第三字节数组,进而根据第三字节数组,生成调用响应文件。

其中,网闸外转发服务器支持的文件格式对应的编码器可以是一段程序代码行,该段程序代码行表明了网闸外转发服务器支持的文件格式以及如何进行序列化。

示例地,以被调用设备生成的调用响应消息是http响应消息为例,被调用设备将该http响应消息发送给网闸内转发服务器,网闸内转发服务器可以采用序列化的方式,通过http响应编码器(httpresponseencoder),将该http响应消息转换为字节数组(记为第三字节数组)。然后将第三字节数组作为调用响应文件的内容,写入调用响应文件。

示例地,参考图5,图5是本申请一实施例提出的一种传输调用消息的方法的示意图。如图5所示,网闸内转发服务器内置http响应编码器(httpresponseencoder)。被调用设备向网闸内转发服务器发送http响应消息,网闸内转发服务器通过http响应编码器(httpresponseencoder),将该http响应消息转换为第三字节数组。然后将第三字节数组作为调用响应文件的内容,写入调用响应文件。并将该调用响应文件上传到网闸。由于该调用响应文件的内容是字节数组,所以网闸以字节数组(byte[])的形式存储调用响应文件。

结合以上各实施例,本申请另一实施例提出一种应用于网闸内转发服务器的传输调用消息的方法。本申请另一实施例提出的一种应用于网闸内转发服务器的传输调用消息的方法除包括步骤s61、步骤s63-步骤s65外,还包括以下步骤:

通过所述网闸外转发服务器支持的文件格式对应的解码器,将所述调用请求文件转换为所述调用请求消息;

将所述调用请求消息发送给所述被调用设备;

在所述调用请求文件由多个字节数组组成的情况下,通过字节数组编码器,从所述调用请求文件中确定组成所述调用请求消息的第四字节数组;

通过与所述文件名对应的所述被调用设备预先建立的socket通道,将所述第四字节数组发送给所述被调用设备。

在本实施例中,在两种不同的情况下,网闸内转发服务器对调用请求文件进行不同的处理并反馈给被调用设备的过程。

网闸内转发服务器在从网闸中获取到调用请求文件之后,对该调用请求文件的处理方式有且不限于以下两种:

第一种处理方式:通过网闸外转发服务器支持的文件格式对应的解码器,将调用请求文件转换为调用请求消息,并根据该调用请求文件的文件名(一个uuid),将调用请求消息发送给被调用设备。

第二种处理方式:网闸内转发服务器可以通过字节数组编码器(bytearrayencoder),从调用请求文件中提取字节数组(记为第四字节数组)。然后将第四字节数组通过预先与被调用设备建立的socket通道发送给被调用设备。

如图5所示,网闸内转发服务器内置bytearrayencoder。网闸外转发服务器向网闸上传调用请求文件,该调用请求文件中的内容是字节数组的形式,所以网闸以字节数组(byte[])的形式存储调用请求文件。然后网闸内转发服务器从网闸中获取该调用请求文件,并通过bytearrayencoder,从调用请求文件中提取第四字节数组。然后将第四字节数组通过预先与被调用设备建立的socket通道发送给被调用设备。

以上为对应用于网闸内转发服务器的传输调用消息的方法的说明。

基于本申请上述实施例提供的包括网关的传输调用消息的系统,本申请另一实施例提出一种传输调用消息的方法,该方法应用于网关(例如图3中的网关)。网关与网闸内转发服务器和至少两个待调用设备分别相连,网闸与网闸内转发服务器和网闸外转发服务器分别相连,网闸外转发服务器与调用设备相连。

参考图7,图7是本申请一实施例提出的一种应用于网关的传输调用消息的方法的流程图。如图7所示,该方法包括以下步骤:

步骤s71:接收所述网闸内转发服务器发送的调用请求文件中的内容,所述调用请求文件中的内容是根据所述调用设备发送的调用请求消息确定的;

步骤s72:从所述至少两个待调用设备中确定被调用设备,所述调用请求文件的文件名与所述被调用设备对应;

步骤s73:将所述调用请求文件中的内容转发给所述被调用设备;

步骤s74:接收所述被调用设备发送的调用响应消息;

步骤s75:将所述调用响应消息转发给所述网闸内转发服务器,以使得所述网闸内转发服务器接收到所述调用响应消息后,将所述调用响应消息转换为调用响应文件并上传到所述网闸中。

在本实施例中,网关用于连接多个待调用设备和网闸内转发服务器。网闸内转发服务器在从网闸中获取调用请求文件之后,首先将调用请求文件中的内容发送给网关,由网关根据该调用请求文件中的内容,从至少两个待调用设备中确定出被调用设备,网关再将该调用请求文件中的内容转发给被调用设备。实现了利用网关对调用请求文件中的内容进行分发,方便快捷。其中,调用请求文件中的内容是根据调用设备发送的调用请求消息确定的。

此外,网关还具有转发调用响应消息的功能。具体地,被调用设备生成调用响应消息后,首先将该调用响应消息发送给网关,再由网关将该调用响应消息转发给网闸内转发服务器。

采用上述技术方案,在待调用设备较多的情况下,通过网关从多个待调用设备中确定被调用设备,进而将调用请求文件中的内容分发给被调用设备,方便快捷。

结合以上实施例,本申请另一实施例提出一种应用于网关的传输调用消息的方法。本申请另一实施例提出的一种应用于网关的传输调用消息的方法除包括步骤s71、步骤s73-步骤s75外,还包括以下步骤:

根据所述调用请求文件的文件名,确定被调用资源的标识符;

将所述被调用资源的标识符,与所述至少两个待调用设备各自存储的资源的标识符分别比较;

将所述至少两个待调用设备中存储有所述被调用资源的设备确定为所述被调用设备。

在本实施例中,网闸内转发服务器从网闸中获取调用请求文件后,对调用请求文件进行处理,得到调用请求文件中的内容并发送给网关,因而网关接收到网闸内转发服务器发送的调用请求文件中的内容。其中,根据网闸内转发服务器对调用请求文件的处理方式的不同,调用请求文件中的内容可以是消息的形式,也可以是字节数组的形式。

无论调用请求文件中的内容是消息的形式还是字节数组的形式,调用请求文件中的内容均包含被调用资源的标识符,例如:统一标识符(uniformresourceidentifier,uri),即调用设备请求调用的资源的标识符。网关根据被调用资源的标识符,从多个待调用设备中查询存储有该被调用资源的设备,并将存储有被调用资源的设备确定为被调用设备。具体地,网关获取每个待调用设备存储的资源的标识符,并与被调用资源的标识符比较,如果一个待调用设备存储的资源的标识符与被调用资源的标识符相同,该待调用设备即为被调用设备。

结合以上实施例,网关预先存储有多个待调用设备各自存储的资源的标识符,以便于从多个待调用设备中确定被调用设备。本申请另一实施例提出的一种应用于网关的传输调用消息的方法,该方法除包括步骤s71、步骤s73-步骤s75外,还包括以下步骤:

接收所述至少两个待调用设备分别发送的注册请求,每个待调用设备发送的注册请求包括该待调用设备存储的资源的标识符;

响应于所述至少两个待调用设备分别发送的注册请求,存储所述至少两个待调用设备各自存储的资源的标识符。

本实施例中,在网关与多个待调用设备相连的情况下,为了方便网关从多个待调用设备中确定被调用设备,进而将调用请求文件中的内容转发给被调用设备,每个待调用设备可以在网关上注册。

具体地,每个待调用设备在与网关连接之后,向网关发送注册请求,该注册请求携带该待调用设备存储的资源的标识符。网关接收到该注册请求后,存储该注册请求携带的标识符。如此,方便网关将被调用资源的标识符与多个待调用设备存储的资源的标识符分别比较,进而从多个待调用设备中确定被调用设备。

下面以一个完整的示例,对上述实施例提供的传输调用消息的系统执行传输调用消息的方法的过程进行说明。参考图11,图11是本申请一实施例提供的传输调用消息的系统执行传输调用消息的方法的示意图。如图1所示,该方法包括以下步骤:

1、被调用设备向网关发送注册请求。该注册请求携带该被调用设备存储的资源的uri。网关接收到该注册请求后,存储该注册请求携带的uri。

2、调用设备生成调用请求消息并发送给网闸外转发服务器。

3、网闸外转发服务器将调用请求消息转换为调用请求文件。

4、网闸外转发服务器将调用请求文件上传到网闸。

5、网闸内转发服务器从网闸中获取调用请求文件。

6、网闸内转发服务器将调用请求文件转换为调用请求消息。

7、网闸内转发服务器将调用请求消息发送给网关。

8、网关根据调用请求消息确定被调用设备,并将该调用请求消息发送给被调用设备。

9、被调用设备生成调用响应消息并经网关发送给网闸内转发服务器。

10、网闸内转发服务器将调用响应消息转换为调用响应文件。

11、网闸内转发服务器将调用响应文件上传到网闸中。

12、网闸外转发服务器从网闸中获取调用响应文件。

13、网闸外转发服务器将调用响应文件转换为调用响应消息。

14、网闸外转发服务器将调用响应消息发送给调用设备。

基于同一发明构思,本申请一实施例提供一种传输调用消息的装置,应用于网闸外转发服务器,所述网闸外转发服务器与调用设备和网闸分别相连,所述网闸与网闸内转发服务器相连,所述网闸内转发服务器与至少一个待调用设备相连。

参考图9,图9是本申请一实施例提出的一种应用于网闸外转发服务器的传输调用消息的装置的示意图。如图9所示,该装置包括:

接收模块901,用于接收所述调用设备发送的调用请求消息,所述调用请求消息用于请求调用所述至少一个待调用设备中的被调用设备存储的被调用资源,且所述调用请求消息的消息格式为所述被调用设备支持的消息格式;

第一转换模块902,用于按照所述网闸内转发服务器支持的文件格式,将所述调用请求消息转换为调用请求文件;

上传模块903,用于将所述调用请求文件上传到所述网闸,以使得所述网闸内转发服务器从所述网闸中获取所述调用请求文件,并将所述调用请求文件中的内容发送给所述被调用设备,所述调用请求文件中的内容是根据所述调用请求消息确定的。

可选地,所述第一转换模块包括:

序列化子模块,用于通过所述网闸内转发服务器支持的文件格式对应的编码器,对所述调用请求消息进行序列化,得到第一字节数组;

生成子模块,用于根据所述第一字节数组,生成所述调用请求文件。

可选地,所述装置还包括:

第一获取模块,用于从所述网闸中获取调用响应文件,所述调用响应文件是所述网闸内转发服务器接收到所述被调用设备发送的调用响应消息后,将所述调用响应消息转换为所述调用响应文件并上传到所述网闸中的,所述调用响应文件的文件名与所述调用设备对应;

第二转换模块,用于通过所述网闸内转发服务器支持的文件格式对应的解码器,将所述调用响应文件转换为调用响应消息;

第一发送模块,用于将所述调用响应消息发送给所述调用设备。

可选地,所述装置还包括:

第二获取模块,用于从所述网闸中获取调用响应文件,所述调用响应文件是所述网闸内转发服务器接收到所述被调用设备发送的调用响应消息后,将所述调用响应消息转换为所述调用响应文件并上传到所述网闸中的,所述调用响应文件的文件名与所述调用设备对应;

提取模块,用于通过字节数组编码器,从所述调用响应文件中获取第二字节数组;

第二发送模块,用于通过与所述文件名对应的所述调用设备预先建立的socket通道,将所述第二字节数组发送给所述调用设备。

基于同一发明构思,本申请一实施例提供一种传输调用消息的装置,应用于网闸内转发服务器,所述网闸内转发服务器与至少一个待调用设备和网闸分别相连,所述网闸与网闸外转发服务器相连,所述网闸外转发服务器与调用设备相连。

参考图10,图10是本申请一实施例提出的一种应用于网闸内转发服务器的传输调用消息的装置的示意图。如图10所示,该装置包括:

获取模块1001,用于从所述网闸中获取调用请求文件,所述调用请求文件是所述网闸外转发服务器接收到所述调用设备发送的调用请求消息后,将所述调用请求消息转换为所述调用请求文件并上传到所述网闸中的;

发送模块1002,用于将所述调用请求文件中的内容发送给所述至少一个待调用设备中的被调用设备,所述调用请求文件的文件名与所述被调用设备对应,所述调用请求文件中的内容是根据所述调用请求消息确定的;

接收模块1003,用于接收所述被调用设备发送的调用响应消息;

转换模块1004,用于按照所述网闸外转发服务器支持的文件格式,将所述调用响应消息转换为调用响应文件;

上传模块1005,用于将所述调用响应文件上传到所述网闸,以使得所述网闸外转发服务器从所述网闸中获取所述调用响应文件,并将所述调用响应文件中的内容发送给所述调用设备,所述调用响应文件中的内容是根据所述调用响应消息确定的。

可选地,在所述至少一个待调用设备的数量大于或等于两个的情况下,所述网闸内转发服务器与至少两个待调用设备之间通过网关连接;所述发送模块包括:

第一发送子模块,用于将所述调用请求文件中的内容发送给所述网关,以使所述网关根据所述调用请求消息,从所述至少两个待调用设备中确定所述被调用设备,并将所述调用请求消息转发给所述被调用设备;

所述接收模块包括:

接收子模块,用于接收所述网关转发的调用响应消息,所述调用响应消息是所述网关接收到所述被调用设备发送的调用响应消息后转发的。

可选地,所述转换模块包括:

第一转换子模块,用于通过所述网闸外转发服务器支持的文件格式对应的编码器,对所述调用响应消息进行序列化,得到第三字节数组;

生成子模块,用于根据所述第三字节数组,生成所述调用响应文件。

可选地,所述发送模块包括:

第二转换子模块,用于通过所述网闸外转发服务器支持的文件格式对应的解码器,将所述调用请求文件转换为所述调用请求消息;

第二发送子模块,用于将所述调用请求消息发送给所述被调用设备。

可选地,所述发送模块包括:

确定子模块,用于在所述调用请求文件由多个字节数组组成的情况下,通过字节数组编码器,从所述调用请求文件中确定组成所述调用请求消息的第四字节数组;

第三发送子模块,用于通过与所述文件名对应的所述被调用设备预先建立的socket通道,将所述第四字节数组发送给所述被调用设备。

基于同一发明构思,本申请一实施例提供一种传输调用消息的装置,应用于网关,所述网关与网闸内转发服务器和至少两个待调用设备分别相连,所述网闸与所述网闸内转发服务器和网闸外转发服务器分别相连,所述网闸外转发服务器与调用设备相连。

参考图11,图11是本申请一实施例提出的一种应用于网关的传输调用消息的装置的示意图。如图11所示,该装置包括:

第一接收模块1101,用于接收所述网闸内转发服务器发送的调用请求文件中的内容,所述调用请求文件中的内容是根据所述调用设备发送的调用请求消息确定的;

确定模块1102,用于从所述至少两个待调用设备中确定被调用设备,所述调用请求文件的文件名与所述被调用设备对应;

第一转发模块1103,用于将所述调用请求文件中的内容转发给所述被调用设备;

第二接收模块1104,用于接收所述被调用设备发送的调用响应消息;

第二转发模块1105,用于将所述调用响应消息转发给所述网闸内转发服务器,以使得所述网闸内转发服务器接收到所述调用响应消息后,将所述调用响应消息转换为调用响应文件并上传到所述网闸中。

可选地,所述确定模块包括:

第一确定子模块,用于根据所述调用请求文件的文件名,确定被调用资源的标识符;

比较子模块,用于将所述被调用资源的标识符,与所述至少两个待调用设备各自存储的资源的标识符分别比较;

第二确定子模块,用于将所述至少两个待调用设备中存储有所述被调用资源的设备确定为所述被调用设备。

可选地,所述装置还包括:

第三接收模块,用于接收所述至少两个待调用设备分别发送的注册请求,每个待调用设备发送的注册请求包括该待调用设备存储的资源的标识符;

存储模块,用于响应于所述至少两个待调用设备分别发送的注册请求,存储所述至少两个待调用设备各自存储的资源的标识符。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

基于同一发明构思,本申请另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步骤。

基于同一发明构思,本申请另一实施例提供一种网闸外转发服务器,所述网闸外转发服务器与调用设备和网闸分别相连,所述网闸与网闸内转发服务器相连,所述网闸内转发服务器与至少一个待调用设备相连,所述网闸外转发服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述应用于网闸外转发服务器的传输调用消息的方法。

基于同一发明构思,本申请另一实施例提供一种网闸内转发服务器,所述网闸内转发服务器与至少一个待调用设备和网闸分别相连,所述网闸与网闸外转发服务器相连,所述网闸外转发服务器与调用设备相连,所述网闸内转发服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述应用于网闸内转发服务器的传输调用消息的方法。

基于同一发明构思,本申请另一实施例提供一种网关,所述网关与网闸内转发服务器和至少两个待调用设备分别相连,所述网闸与所述网闸内转发服务器和网闸外转发服务器分别相连,所述网闸外转发服务器与调用设备相连,所述网关包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述应用于网关的传输调用消息的方法。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种传输调用消息的方法和系统、转发服务器及可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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