CN114257543B - 报文转发方法、装置、存储介质及计算设备 - Google Patents
报文转发方法、装置、存储介质及计算设备 Download PDFInfo
- Publication number
- CN114257543B CN114257543B CN202210189877.4A CN202210189877A CN114257543B CN 114257543 B CN114257543 B CN 114257543B CN 202210189877 A CN202210189877 A CN 202210189877A CN 114257543 B CN114257543 B CN 114257543B
- Authority
- CN
- China
- Prior art keywords
- message
- tunnel
- server
- designated server
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开一种报文转发方法、装置、存储介质及计算设备,该方法包括:基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。本申请解决现有技术中跨域交互效率低下的技术问题。
Description
技术领域
本申请涉及计算机软件技术领域,具体而言,涉及一种报文转发方法、装置、存储介质及计算设备。
背景技术
传统SOA架构的技术体系比较固定,无法满足设备类型和服务场景复杂的领域,比如工业和汽车等控制领域,既有服务器又有嵌入式设备等并存的场景,需要提供多种类型的编程语言的支持,由于技术路径的依赖,致使无法在同一个服务平台上同时提供多种编程语言的支持。
如果需要和跨域某个节点服务器或设备进行通讯或管理,只能层层进行地址转换和逻辑转换甚至是协议转换,才能与远端设备进行交互,同样远端设备进行信息反馈时,也需要进行层层地址和逻辑甚至是通信协议的转换,才能把相应数据反馈给对应服务器,这就造成了效率及其低下,有些对实时性和安全性有要求的数据无法达到预期指标。
如图2所示的跨域资源分布关系图。其中,当控制器需要和“资源570”进行数据交互时,则需要提前知道整个网络或设备的拓扑结构,并且需要知道数据到达各资源节点的路径,例如要先找到“资源0”,通过指定协议把数据发送给“资源10”,“资源10”分析数据包后,在“资源10”已经具备了指定通信协议和数据分析能力的程序后,才可以把数据进一步转发,如此类推下去,才能把数据传递给“资源570”,其交互过程为:“控制器”->“资源0”->“资源10”->“资源5”->“资源57”->“资源570”,返回数据为“资源570”->“资源57”->“资源5”->“资源10”->“资源0”->“控制器”。
针对上述现有技术中跨域交互效率低下的技术问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种报文转发方法、装置、存储介质及计算设备,以至少解决现有技术中跨域交互效率低下的技术问题。
根据本申请实施例的一个方面,提供了一种报文转发方法,应用于跨域微服务架构中的控制器,该方法包括:
基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;
接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;
发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。
在上述任一实施例的基础上,资源定位标识为跨域微服务架构中的每个服务器的统一资源定位符,预先获取指定服务器的资源定位标识,包括:
资源定位标识预先设置在控制器中,或者,通过订阅和发布信息的方式获取。
在上述任一实施例的基础上,通过订阅和发布信息的方式获取,包括:
发送订阅报文至指定服务器所属的上级服务器,以使上级服务器将该订阅报文转发至其下属的包括指定服务器的多个服务器;或者,发送订阅报文至指定服务器对应的解析服务器,以使解析服务器将该订阅报文转发至所述指定服务器;
接收指定服务器发送的发布报文,该发布报文中携带指定服务器的资源定位标识,获取指定服务器的资源定位标识。
在上述任一实施例的基础上,资源定位标识中包括以下资源属性信息:
命名空间namespace、协议protocol、路径path、名称name、参数parameters及扩展extend。
在上述任一实施例的基础上,该方法还包括:
控制器通过隧道连接向指定服务器发送保活报文,并接收指定服务器反馈的保活报文,确认保活成功。
在上述任一实施例的基础上,该报文转发协议包括:
报文类型,其中包括认证请求类型、数据请求类型、订阅类型、发布类型和保活类型;
标志信息,其中包括反馈标志、是否有隧道ID标志、设置标识;
资源定位标识。
在上述任一实施例的基础上,该报文转发协议还包括至少一种以下信息:
无效字符数Pad,用于保证一个报文是32位对齐长度;
状态码,用于指定服务器返回时的返回状态,0表示成功,其他表示错误;
序列号Seqno,用于数据RPC调用、订阅和取消订阅报文;
隧道TunnelID,用于表示如果标志信息为有隧道ID标志,表示一个隧道链接信息;
资源定位标识长度ResourceIDLength,用于表示资源定位标识长度,为URL格式;
参数长度ParameterLength,用于表示报文的参数长度,参数内容为JSON数据类型或二进制数据类型;
数据长度,用于表示报文的二进制有效载荷长度。
根据本申请实施例的另一个方面,提供了一种报文转发装置,应用于跨域微服务架构中的控制器,该装置包括:
认证请求模块,用于基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;
隧道连接模块,用于接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;
数据请求模块,用于发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。
根据本申请实施例的另一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任一实施例所述的方法。
根据本申请实施例的另一个方面,提供了一种计算设备,包括处理器,处理器用于运行程序,其中,程序运行时执行上述任一实施例所述的方法。
在本申请实施例中,可以基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互,本申请可以基于报文转发协议使跨域的设备间建立隧道连接,从而灵活、快速、安全、高效地传输数据,因此解决了现有技术中跨域交互效率低下的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种报文转发方法的计算机终端(或移动设备)的硬件结构框图;
图2是现有的一种的跨域资源分布关系图;
图3是根据本申请实施例的一种报文转发方法的流程图;
图4是根据本申请实施例的报文转发协议的格式示意图;
图5是根据本申请实施例的资源定位标识的格式示意图;
图6是根据本申请实施例的一种报文转发装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种报文转发方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种报文转发方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的报文转发确定方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的报文转发方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处,需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
本申请在上述运行环境下运行如图3所示的一种报文转发方法。图3是根据本申请实施例的报文转发方法的流程图,该方法可应用于图1所示的计算机终端,该计算机终端可以是跨域微服务架构中的控制器,该控制器可以是任意客户端或者管理端,或者其他设备。
参见图3所示,报文转发方法可以包括:
步骤S301:基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识。
控制器可以基于用户指令请求与跨域的指定服务器建立连接。具体可以是基于预设的报文转发协议向该指定服务器发送认证请求报文。可选地,跨域的指定服务器可以是与控制器在不同服务平台的不同域的服务器,也可以是与控制器在同一平台的不同域的服务器。
在一种可选的方案中,该报文转发协议包括以下字段信息:
报文类型,其中包括认证请求类型、数据请求类型、订阅类型、发布类型和保活类型;
标志信息,其中包括反馈标志、是否有隧道ID标志、设置标识;
资源定位标识。可选地,资源定位标识可以支持匹配订阅和发布模型,并且支持实时远程过程调用。
在一种可选的方案中,该报文转发协议还包括至少一种以下字段信息:
无效字符数Pad,用于保证一个报文是32位对齐长度,Pad表示为保证报文的数据包是32位对齐,而在此数据包中添加的无效字符数。
状态码StatusCode,用于指定服务器返回时的返回状态,0表示成功,其他表示错误;
序列号Seqno,用于数据RPC调用、订阅和取消订阅报文,服务器响应数据包将使用相同的序列号;
隧道(Tunnel)ID,用于表示如果标志信息(flage)字段的状态为“有隧道ID标志(T)”,即`flags`有`T`标志,则隧道ID表示一个隧道链接信息,通常是端口号;
资源定位标识长度ResourceIDLength,用于表示资源定位标识长度,为URL格式;
参数长度ParameterLength,用于表示报文数据包的参数长度,参数内容可以为JSON数据类型或二进制数据类型;
数据长度,用于表示报文数据包的二进制有效载荷长度,可以是任何格式。
在一种可选的方案中,该报文转发协议是基于SOA架构,或者跨域微服务架构应用,该报文转发协议可以基于TCP协议或TLS协议创建。如图4所示,该报文转发协议的具体格式可以包括:
MAGIC字段:可以是0x9;
VER:可以是0x1;
类型TYPE可以包括:
0x00,代表认证请求类型ServInfo,方向为双向,即C<--->S,回复Para数据,用于获取服务器信息;
0x01,代表数据请求类型RemoteCall,方向为双向,即C<--->S,回复Para/Bin数据,用于RPC调用/回复;
0x02,代表订阅类型Subscribe,方向为双向,即C<--->S,回复无数据订阅事件;
0x03,代表取消订阅类型Unsubscribe,方向为双向,即C<--->S,回复无数据取消订阅事件;
0x04,代表发布类型Publish,方向为单向,即C<---S,回复Para/Bin数据发布事件;
0xff,代表保活类型Ping/Echo,方向为双向,即C<--->S,回复无数据Ping/Echo数据包。
以上报文转发协议的格式仅为示例性说明,还可以基于实际应用场景进行适应性调整其中的部分字段或增加部分字段。
在一种可选的方案中,上述资源定位标识为所述跨域微服务架构中的每个服务器的统一资源定位符。预先获取指定服务器的资源定位标识,可以包括:将资源定位标识预先设置在控制器中,或者,通过订阅和发布信息的方式获取资源定位标识。
在一种可选的方案中,上述通过订阅和发布信息的方式获取资源定位标识,可以包括:
先基于上述报文转发协议发送订阅报文至指定服务器所属的上级服务器,以使上级服务器将该订阅报文转发至其下属的包括该指定服务器的多个服务器;或者,发送订阅报文至指定服务器对应的解析服务器,以使解析服务器将该订阅报文转发至所述指定服务器;然后接收指定服务器发送的发布报文,该发布报文中携带该指定服务器的资源定位标识,从而使控制器可以获取该指定服务器的资源定位标识。
在一种可选的方案中,上述资源定位标识中包括以下资源属性信息:
命名空间namespace、协议protocol、路径path、名称name、参数parameters及扩展extend。可选的,资源定位标识的格式可以为图5所示,其中:
a域为命名空间namespace,用于通过将逻辑上相关的标识符组织成相应的名字空间,可使整个系统更加模块化和系统化;
b域为协议protocol,用于通过多方的协商和约定后达到相互要约及承诺以便能够进行互联互通和信息交互;
c域为路径path,用于通过路径或其它选项来进一步对资源进行划分;
d域为名称name,用于资源具体的名字体现;
e域为参数parameter,用于表示与本资源相应的参数信息等;
f域为扩展extend,用于支持扩展能力。
步骤S302:接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接。
指定服务器在收到该认证请求报文时,可以基于认证请求报文反馈的自身的认证信息,控制器收到该指定服务器反馈的认证信息时,可以基于认证信息与指定服务器进行认证,在认证通过后,控制器可以与指定服务器之间建立隧道连接,同时生成隧道ID,用于区分不同隧道连接。通过控制器与服务器之间进行认证,可以提高交互安全性。
步骤S303:发送数据请求报文至指定服务器,数据请求报文携带该隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。
控制器和指定服务器建立隧道连接后,双方可以基于该隧道连接发送数据。具体的,控制器可以基于报文转发协议发送数据请求报文至该指定服务器,数据请求报文携带该隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行数据交互
在一种可选的方案中,控制器和指定服务器之间还可以进行隧道保活,具体的,控制器可以基于报文转发协议通过隧道连接向指定服务器发送保活报文,并接收所述指定服务器反馈的保活报文,以确定保活成功。
在本申请实施例中,可以基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。由于跨域的设备可以基于隧道进行报文交互,从而可以快速、安全、高效地跨域传输数据。因此可以解决现有技术中跨域交互效率低下的技术问题。
对于图2所示的资源架构,如果需要控制器与“资源570”进行数据交互,则可以通过上述方式在控制器与“资源570”之间建立隧道连接,从而使控制器与“资源570”通过隧道连接直接进行数据交互,从而减少中间的多个设备的转发过程,因此相比于现有技术,本申请可以在跨域交互时通过统一的资源管理技术使用统一资源定位标识进行灵活的进行虚拟和物理资源的多维度映射,通过对资源进行统一灵活管理,使得资源描述的方法更加灵活和高效,从而提高跨域数据交互的处理效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的报文转发方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述报文转发方法的报文转发装置,该装置以软件或硬件方式实现于图1所述的计算机终端。
如图6所示,该报文转发装置500包括:认证请求模块501,隧道连接模块502以及数据请求模块503。其中:
认证请求模块501,用于基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;
隧道连接模块502,用于接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;
数据请求模块503,用于发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。
此处,需要说明的是,上述认证请求模块501,隧道连接立模块502以及数据请求模块503对应于实施例1中的步骤S301至步骤S303,上述三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
可选地,资源定位标识为所述跨域微服务架构中的每个服务器的统一资源定位符,预先获取指定服务器的资源定位标识,包括:
资源定位标识预先设置在控制器中,或者,通过订阅和发布信息的方式获取。
可选地,通过订阅和发布信息的方式获取,包括:
发送订阅报文至指定服务器所属的上级服务器,以使上级服务器将该订阅报文转发至其下属的包括指定服务器的多个服务器;
接收指定服务器发送的发布报文,该发布报文中携带指定服务器的资源定位标识,获取指定服务器的资源定位标识。
可选地,资源定位标识中包括以下资源属性信息:
命名空间namespace、协议protocol、路径path、名称name、参数parameters及扩展extend。
可选地,该装置还包括:
保活模块(图6中未示出),用于控制器通过隧道连接向指定服务器发送保活报文,并接收指定服务器反馈的保活报文,确认保活成功。
可选地,该报文转发协议包括:
报文类型,其中包括认证请求类型、数据请求类型、订阅类型、发布类型和保活类型;
标志信息,其中包括反馈标志、是否有隧道ID标志、设置标识;资源定位标识。
可选地,该报文转发协议还包括至少一种以下信息:
无效字符数Pad,用于保证一个报文是32位对齐长度;
状态码,用于指定服务器返回时的返回状态,0表示成功,其他表示错误;
序列号Seqno,用于数据RPC调用、订阅和取消订阅报文;
隧道TunnelID,用于表示如果标志信息为有隧道ID标志,表示一个隧道链接信息;
资源定位标识长度ResourceIDLength,用于表示资源定位标识长度,为URL格式;
参数长度ParameterLength,用于表示报文的参数长度,参数内容为JSON数据类型;
数据长度,用于表示报文的二进制有效载荷长度。
实施例3
本申请的实施例可以提供一种计算设备,该计算设备可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。可选地,在本实施例中,上述计算机设备可以实现上述报文转发方法。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述计算设备包括一个或多个处理器、存储器、以及传输装置。其中,存储器可用于存储软件程序以及模块,如本申请实施例中的报文转发方法和装置对应的程序指令/模块。处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的报文转发方法。
可选地,存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备120。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行以下方法步骤:基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。
进一步地,在本实施例中,上述计算设备中的处理器运行存储的程序代码时可以执行实施例1中所列举的任一方法步骤,囿于篇幅不再赘述。
实施例4
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述报文转发方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:基于预设报文转发协议发送认证请求报文至跨域的指定服务器,认证请求报文中携带预先获取的指定服务器的资源定位标识;接收指定服务器基于认证请求报文反馈的认证信息,基于认证信息与指定服务器进行认证并在认证通过后建立隧道连接;发送数据请求报文至指定服务器,数据请求报文携带隧道连接的隧道ID,以使指定服务器基于隧道ID对应的隧道连接与控制器进行交互。
进一步地,在本实施例中,存储介质被设置为存储用于执行实施例1中所列举的任一方法步骤的程序代码,囿于篇幅不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (7)
1.一种报文转发方法,其特征在于,应用于汽车领域的跨域微服务架构中的控制器,该方法包括:
通过订阅和发布信息的方式获取跨域的指定服务器的资源定位标识;
基于预设报文转发协议发送认证请求报文至跨域的所述指定服务器,所述认证请求报文中携带预先获取的所述指定服务器的资源定位标识,该报文转发协议基于TCP协议创建;
接收所述指定服务器基于所述认证请求报文反馈的认证信息,基于认证信息与所述指定服务器进行认证并在认证通过后建立隧道连接;
基于所述报文转发协议发送数据请求报文至指定服务器,所述数据请求报文携带所述隧道连接的隧道ID,以使所述指定服务器基于所述隧道ID对应的隧道连接与所述控制器进行数据交互;
资源定位标识中包括以下资源属性信息:命名空间namespace、协议protocol、路径path、名称name、参数parameters及扩展extend;
该报文转发协议包括:
报文类型,其中包括认证请求类型、数据请求类型、订阅类型、发布类型和保活类型;
标志信息,其中包括反馈标志、是否有隧道ID标志、设置标识;
资源定位标识;
序列号Seqno,用于数据RPC调用、订阅和取消订阅报文;
隧道TunnelID,用于表示如果标志信息为有隧道ID标志,表示一个隧道链接信息。
2.根据权利要求1所述的方法,其特征在于,所述通过订阅和发布信息的方式获取,包括:
发送订阅报文至指定服务器所属的上级服务器,以使上级服务器将该订阅报文转发至其下属的包括所述指定服务器的多个服务器;或者,发送订阅报文至指定服务器对应的解析服务器,以使解析服务器将该订阅报文转发至所述指定服务器;
接收指定服务器发送的发布报文,该发布报文中携带所述指定服务器的资源定位标识,获取所述指定服务器的资源定位标识。
3.根据权利要求1所述的方法,其特征在于,该方法还包括:
控制器通过隧道连接向指定服务器发送保活报文,并接收所述指定服务器反馈的保活报文,确认保活成功。
4.根据权利要求1所述的方法,其特征在于,该报文转发协议还包括至少一种以下信息:
无效字符数Pad,用于保证一个报文是32位对齐长度;
状态码,用于指定服务器返回时的返回状态,0表示成功,其他表示错误;
资源定位标识长度ResourceIDLength,用于表示资源定位标识长度,为URL格式;
参数长度ParameterLength,用于表示报文的参数长度,参数内容为JSON数据类型或二进制数据类型;
数据长度,用于表示报文的二进制有效载荷长度。
5.一种报文转发装置,其特征在于,应用于汽车领域的跨域微服务架构中的控制器,该装置包括:
认证请求模块,用于通过订阅和发布信息的方式获取跨域的指定服务器的资源定位标识,基于预设报文转发协议发送认证请求报文至跨域的所述指定服务器,所述认证请求报文中携带预先获取的所述指定服务器的资源定位标识,该报文转发协议基于TCP协议创建;
隧道连接模块,用于接收所述指定服务器基于所述认证请求报文反馈的认证信息,基于认证信息与所述指定服务器进行认证并在认证通过后建立隧道连接;
数据请求模块,用于基于所述报文转发协议发送数据请求报文至指定服务器,所述数据请求报文携带所述隧道连接的隧道ID,以使所述指定服务器基于所述隧道ID对应的隧道连接与所述控制器进行数据交互;
资源定位标识中包括以下资源属性信息:命名空间namespace、协议protocol、路径path、名称name、参数parameters及扩展extend;
该报文转发协议包括:
报文类型,其中包括认证请求类型、数据请求类型、订阅类型、发布类型和保活类型;
标志信息,其中包括反馈标志、是否有隧道ID标志、设置标识;
资源定位标识;
序列号Seqno,用于数据RPC调用、订阅和取消订阅报文;
隧道TunnelID,用于表示如果标志信息为有隧道ID标志,表示一个隧道链接信息。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-4任一项所述的方法。
7.一种计算设备,包括处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210189877.4A CN114257543B (zh) | 2022-03-01 | 2022-03-01 | 报文转发方法、装置、存储介质及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210189877.4A CN114257543B (zh) | 2022-03-01 | 2022-03-01 | 报文转发方法、装置、存储介质及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257543A CN114257543A (zh) | 2022-03-29 |
CN114257543B true CN114257543B (zh) | 2022-07-01 |
Family
ID=80800131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210189877.4A Active CN114257543B (zh) | 2022-03-01 | 2022-03-01 | 报文转发方法、装置、存储介质及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257543B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572645A (zh) * | 2009-06-12 | 2009-11-04 | 杭州华三通信技术有限公司 | 隧道建立的方法及装置 |
CN106713057A (zh) * | 2015-07-30 | 2017-05-24 | 华为技术有限公司 | 用于进行隧道检测的方法、装置及系统 |
US10104039B1 (en) * | 2017-09-28 | 2018-10-16 | Cloudflare, Inc. | Establishing and using a tunnel from an origin server in a distributed edge compute and routing service |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305481B2 (en) * | 2003-01-07 | 2007-12-04 | Hexago Inc. | Connecting IPv6 devices through IPv4 network and network address translator (NAT) using tunnel setup protocol |
CN111726319B (zh) * | 2019-03-18 | 2022-06-28 | 华为技术有限公司 | 一种通信方法、装置及系统 |
-
2022
- 2022-03-01 CN CN202210189877.4A patent/CN114257543B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572645A (zh) * | 2009-06-12 | 2009-11-04 | 杭州华三通信技术有限公司 | 隧道建立的方法及装置 |
CN106713057A (zh) * | 2015-07-30 | 2017-05-24 | 华为技术有限公司 | 用于进行隧道检测的方法、装置及系统 |
US10104039B1 (en) * | 2017-09-28 | 2018-10-16 | Cloudflare, Inc. | Establishing and using a tunnel from an origin server in a distributed edge compute and routing service |
Also Published As
Publication number | Publication date |
---|---|
CN114257543A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111885115B (zh) | 设备绑定变更方法及装置 | |
CN110601906B (zh) | 一种基于区块链的数据传输方法及装置 | |
US20120047245A1 (en) | Method for provisioning parameters of terminal, system thereof, and terminal management device | |
CN111328060B (zh) | 一种蓝牙设备mesh入网方法和系统及其设备 | |
CN103595818A (zh) | 一种朋友圈分享方法及装置 | |
CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
CN105450435A (zh) | 物联网的设备应用软件管理服务方法、装置及系统 | |
CN104380692A (zh) | 一种广告监测方法、相关设备及系统 | |
CN110582998A (zh) | 群组的通信方法及装置、计算机存储介质、计算机设备 | |
CN111182515A (zh) | 一种配网方法、装置、终端及计算机存储介质 | |
CN112637931A (zh) | 建立网络连接的方法及装置 | |
CN112437153A (zh) | 一种设备联动处理方法及装置 | |
CN105357244A (zh) | 实现对网络逻辑实体的操作方法、客户端及代理端 | |
US20130080513A1 (en) | Multi-party communication sessions via broadcast notification network | |
CN102546225B (zh) | 视频资源共享方法和管理平台 | |
CN103995680A (zh) | 终端远程通讯打印方法及其打印系统 | |
CN114257543B (zh) | 报文转发方法、装置、存储介质及计算设备 | |
CN113259918A (zh) | 设备的绑定方法及系统 | |
CN103457746A (zh) | 会议数据的传输方法及装置 | |
CN106651066B (zh) | 数据处理方法及数据处理平台 | |
US20170208457A1 (en) | Terminal Configuration Service Method, Device, and System for Internet of Things | |
CN113965571B (zh) | 一种分布式嵌入式设备的管理方法、装置、设备及介质 | |
CN109041038A (zh) | 用于控制电子装置与指定用户绑定的方法和系统 | |
CN112565458B (zh) | 平台远程控制方法和装置、存储介质及电子设备 | |
CN114301989A (zh) | 信息传递方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |