CN117082123A - 通信方法、装置、系统、介质及设备 - Google Patents
通信方法、装置、系统、介质及设备 Download PDFInfo
- Publication number
- CN117082123A CN117082123A CN202311279174.1A CN202311279174A CN117082123A CN 117082123 A CN117082123 A CN 117082123A CN 202311279174 A CN202311279174 A CN 202311279174A CN 117082123 A CN117082123 A CN 117082123A
- Authority
- CN
- China
- Prior art keywords
- gateway
- application layer
- message
- layer protocol
- protocol message
- 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.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 56
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004891 communication Methods 0.000 title claims abstract description 54
- 230000008569 process Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种应用于多参与方场景的通信方法、装置、系统、计算机可读存储介质及电子设备,涉及数据传输技术领域,该方法包括:第一网关对发送方发送的应用层协议消息进行解析,得到接收方标识,并将应用层协议消息发送至接收方标识对应的第二网关;第二网关解析应用层协议消息中的目标服务地址,并与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息。不需要局限于网络层协议的短链路通信,遵循应用层协议生成的应用层协议消息可以实现涉及多个设备(即,第一网关、第二网关)的长链路消息转发,并且可以使得多参与方应用于包含网关的场景,节约各参与方的公网端口配置,降低对于网络资源的消耗。
Description
技术领域
本申请涉及数据传输技术领域,具体而言,涉及一种应用于多参与方场景的通信方法、应用于多参与方场景的通信装置、应用于多参与方场景的通信系统、计算机可读存储介质及电子设备。
背景技术
隐私计算,指的是在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算的一系列信息技术(如,同态加密、安全多方计算、差分隐私、联邦学习等),保障数据在流通与融合过程中的可用不可见,通常会涉及到密码学、安全硬件、数据科学、人工智能、计算机工程等多种领域。
隐私计算的目的在于保护数据隐私的同时,实现数据价值的共享和利用。可见,在隐私计算的场景下,通常会涉及到多个参与方,多个参与方在通信过程中验证网络的通畅性、交换隐私计算的结果。一般来说,在通信过程中,参与方需要依赖网络层协议(ICMP协议)生成消息,并相应配置一个一对一的公网端口,通过公网端口来向其他参与方点对点发送消息,通过消息的传输来确定通信链路是否通畅。其中,ICMP协议主要用于传递网络层的控制和错误信息,如目标不可达、超时、重定向等。
但是,当参与方数量增多时,所需要消耗的公网端口也会增多,容易导致网络资源消耗大的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的相关技术的信息。
发明内容
本申请的目的在于提供一种应用于多参与方场景的通信方法、应用于多参与方场景的通信装置、应用于多参与方场景的通信系统、计算机可读存储介质及电子设备,设计了一种配置在应用层的协议,遵循应用层协议生成的应用层协议消息可以实现涉及多个设备(即,第一网关、第二网关)的长链路消息转发,不需要局限于网络层协议的短链路通信。此类应用层协议消息可以应用于包含网关的场景,网关作为代理可以同时帮助多个参与方接收/发送消息,使用遵循应用层协议的消息使得多参与方可以应用于包含网关的场景下,各参与方无需分别占用一个公网端口。本申请中,第一网关可以帮助各个作为发送方的参与方发送遵循应用层协议的应用层协议消息,第二网关可以帮助各个作为接收方的参与方接收遵循应用层协议的应用层协议消息,降低了对于网络资源的消耗。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提供一种应用于多参与方场景的通信方法,该方法包括第一网关和第二网关,包括:
第一网关对发送方发送的应用层协议消息进行解析,得到接收方标识,并将应用层协议消息发送至接收方标识对应的第二网关;
第二网关解析应用层协议消息中的目标服务地址,并与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息。
根据本申请的一方面,提供一种应用于多参与方场景的通信装置,该装置包括:
第一消息解析模块,用于对发送方发送的应用层协议消息进行解析,得到接收方标识;
第一消息路由模块,用于将应用层协议消息发送至接收方标识对应的第二网关;
第二消息解析模块,用于解析应用层协议消息中的目标服务地址;
第二消息路由模块,用于与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息。
根据本申请的一方面,提供一种应用于多参与方场景的通信系统,包括发送方、第一网关、第二网关、接收方,其中:
发送方,用于向第一网关发送应用层协议消息;
第一网关,用于解析应用层协议消息,得到接收方标识,并将应用层协议消息发送至接收方标识对应的第二网关;
第二网关,用于解析应用层协议消息中的目标服务地址,并与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息;
接收方,用于接收应用层协议消息并将应用层协议消息输入目标服务。
根据本申请的一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的方法。
根据本申请的一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的方法。
根据本申请的一方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的方法。
本申请示例性实施例可以具有以下部分或全部有益效果:
在本申请的一示例实施方式所提供的应用于多参与方场景的通信方法中,设计了一种配置在应用层的协议,遵循应用层协议生成的应用层协议消息可以实现涉及多个设备(即,第一网关、第二网关)的长链路消息转发,不需要局限于网络层协议的短链路通信。此类应用层协议消息可以应用于包含网关的场景,网关作为代理可以同时帮助多个参与方接收/发送消息,使用遵循应用层协议的消息使得多参与方可以应用于包含网关的场景下,各参与方无需分别占用一个公网端口。本申请中,第一网关可以帮助各个作为发送方的参与方发送遵循应用层协议的应用层协议消息,第二网关可以帮助各个作为接收方的参与方接收遵循应用层协议的应用层协议消息,降低了对于网络资源的消耗。此外,由于本申请设计了一种新型的遵循应用层协议的应用层协议消息,基于该应用层协议消息进行长链路通信可以打通直达接收方的目标服务的链路,无需在后续每次业务数据转发时确认网络通畅性,可以直接进行业务数据转发,可见,在多参与方场景下应用本申请设计的应用层协议消息不仅可以降低网络资源开销还可以提升多方协同计算效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了根据本申请的一个实施例的应用于多参与方场景的通信方法的流程图;
图2示意性示出了根据本申请的一个实施例的多参与方场景示意图;
图3示意性示出了相关技术示意图;
图4示意性示出了根据本申请的一个实施例的协议格式示意图;
图5示意性示出了根据本申请的一个实施例应用的TCP/IP协议栈示意图;
图6示意性示出了根据本申请的一个实施例的网关结构示意图;
图7示意性示出了根据本申请的一个实施例的调用关系示意图;
图8示意性示出了根据本申请的另一个实施例的多参与方场景示意图;
图9示意性示出了根据本申请的一个实施例的socket关联情况示意图;
图10示意性示出了根据本申请的另一个实施例的socket关联情况示意图;
图11示意性示出了根据本申请的又一个实施例的多参与方场景示意图;
图12示意性示出了根据本申请的另一个实施例的应用于多参与方场景的通信方法的流程图;
图13示意性示出了根据本申请的一个实施例的应用于多参与方场景的通信系统的流程图;
图14示意性示出了根据本申请的一个实施例的应用于多参与方场景的通信装置的结构示意图;
图15示意性示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本申请的各方面变得模糊。
请参阅图1,图1示意性示出了根据本申请的一个实施例的应用于多参与方场景的通信方法的流程图。如图1所示,该方法包括第一网关和第二网关,该方法的实施步骤如下。
步骤S110:第一网关对发送方发送的应用层协议消息进行解析,得到接收方标识,并将应用层协议消息发送至接收方标识对应的第二网关。
步骤S120:第二网关解析应用层协议消息中的目标服务地址,并与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息。
实施图1所示的方法,可以应用一种配置在应用层的协议,遵循应用层协议生成的应用层协议消息可以实现涉及多个设备(即,第一网关、第二网关)的长链路消息转发,不需要局限于网络层协议的短链路通信。此类应用层协议消息可以应用于包含网关的场景,网关作为代理可以同时帮助多个参与方接收/发送消息,使用遵循应用层协议的消息使得多参与方可以应用于包含网关的场景下,各参与方无需分别占用一个公网端口。本申请中,第一网关可以帮助各个作为发送方的参与方发送遵循应用层协议的应用层协议消息,第二网关可以帮助各个作为接收方的参与方接收遵循应用层协议的应用层协议消息,降低了对于网络资源的消耗。此外,由于本申请设计了一种新型的遵循应用层协议的应用层协议消息,基于该应用层协议消息进行长链路通信可以打通直达接收方的目标服务的链路,无需在后续每次业务数据转发时确认网络通畅性,可以直接进行业务数据转发,可见,在多参与方场景下应用本申请设计的应用层协议消息不仅可以降低网络资源开销还可以提升多方协同计算效率。
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
在步骤S110中,第一网关对发送方发送的应用层协议消息进行解析,得到接收方标识,并将应用层协议消息发送至接收方标识对应的第二网关。
具体地,步骤S110可以实现在图2所示的多参与方场景中。图2示意性示出了根据本申请的一个实施例的多参与方场景示意图。如图2所示,多参与方场景包括第一网关(PA-Proxy)210;第二网关(PB-Proxy)220;第一网关(PA-Proxy)210对应的公网端口(port-1)211;第二网关(PB-Proxy)220对应的公网端口(port-2)221;第一网关(PA-Proxy)210对应的参与方(PA-S1)212、参与方(PA-S2)213、……;第二网关(PB-Proxy)220对应的参与方(PB-S1)222、参与方(PB-S2)223、……。
其中,可以理解的是,参与方(PA-S1)212、参与方(PA-S2)213可以通过第一网关(PA-Proxy)210实现消息接收/发送,参与方(PB-S1)222、参与方(PB-S2)223可以通过第二网关(PB-Proxy)220实现消息接收/发送,其中,第一网关(PA-Proxy)210可以通过公网端口(port-1)211与第二网关(PB-Proxy)220对应的公网端口(port-2)221进行基于tcp(Transmission Control Protocol)协议的消息(msg)传输,即,实现了不同参与方之间的通信。
参阅图2可知,本申请中不需要每个参与方各自配置一个公网端口,只需要为第一网关(PA-Proxy)210和第二网关(PB-Proxy)220分别配置一个端口即可,当参与方(PA-S1)212、参与方(PA-S2)213需要发送消息时,可以将消息发送至第一网关(PA-Proxy)210,由第一网关(PA-Proxy)210通过公网端口(port-1)211向外发出消息。当参与方(PB-S1)222、参与方(PB-S2)223需要发送消息时,可以将消息发送至第二网关(PB-Proxy)220,由第二网关(PB-Proxy)220通过公网端口(port-2)221向外发出消息。可见,本申请实施例可以节约公网端口,降低对于网络资源的消耗。
在相关技术中,通常需要各参与方分别占用一公网端口,具体可以参阅图3,图3示意性示出了相关技术示意图。如图3所示,参与方(PA-S1)310、参与方(PA-S2)320、参与方(PB-S1)330、参与方(PB-S2)340,分别对应于公网端口(port-1)311、公网端口(port-2)321、公网端口(port-1)331、公网端口(port-2)341。在一种实现方式中,参与方(PA-S1)310需要与参与方(PB-S1)330通信,参与方(PA-S2)320需要与参与方(PB-S2)340通信。具体地,参与方(PA-S1)310作为发送方时可以通过公网端口(port-1)311并基于tcp(TransmissionControl Protocol)协议将消息(msg)传输至公网端口(port-1)331中,以使得参与方(PB-S1)330可以通过公网端口(port-1)331接收到消息(msg)。同理,参与方(PA-S2)310作为发送方时可以通过公网端口(port-1)321并基于tcp(Transmission Control Protocol)协议将消息(msg)传输至公网端口(port-1)341中,以使得参与方(PB-S2)340可以通过公网端口(port-1)341接收到消息(msg)。
对比图2和图3可知,本申请相较于相关技术,节约了公网端口,降低了对于网络资源的消耗。
对于本申请来说,假设参与方(PA-S1)212为发送方,参与方(PB-S1)222为接收方,当第一网关(PA-Proxy)210接收到参与方(PA-S1)212发送的应用层协议消息时,可以解析应用层协议消息(Ping消息),得到接收方标识(Target ParyId)。进而,第一网关(PA-Proxy)210可以将应用层协议消息(Ping消息)发送至接收方标识(Target ParyId)对应的第二网关(PB-Proxy)220,其中,第二网关(PB-Proxy)220用于将应用层协议消息(Ping消息)转发至参与方(PB-S1)222中。
其中,应用层协议消息(Ping消息)依赖的应用层协议(Ping)的协议格式(PingMsg protocol)可以参阅图4,图4示意性示出了根据本申请的一个实施例的协议格式示意图。应用层协议消息(Ping消息)的传输依赖TCP协议。
如图4所示,协议格式(Ping Msg protocol)可以包括如下字段:占据4个字节的消息长度(Total Length)、占据1个字节的消息类型(Type)、占据1个字节的接收方标识长度(Target ParyId Len)、对应于接收方标识长度的接收方标识(Target ParyId)、占据1个字节的目标服务地址长度(Target Service Len)、对应于目标服务地址长度的目标服务地址(Target Service)。
具体地,消息长度(Total Length)用于描述消息类型(Type)、接收方标识长度(Target ParyId Len)、接收方标识(Target ParyId)、目标服务地址长度(Target ServiceLen)、目标服务地址(Target Service)的总长度;其中,字段信息可以包括符号、数字等,各字段信息的表示方式可以根据实际需求进行配置,本申请实施例不作限定。通过定义新的协议格式(Ping Msg protocol),可以在包含网关的多参与方场景中实现长链通信。
此外,消息类型(Type)用于指定应用层协议消息的类型,具体可以包括:请求类型(PingReq)、应答成功类型(PingReq)、应答失败类型(PingAckFail);其中,请求类型(PingReq)表示应用层协议消息用于请求检查网络;应答成功类型(PingReq)表示应用层协议消息用于表征接收方应答成功,即网络通畅;应答失败类型(PingAckFail)表示应用层协议消息用于表征接收方应答失败,即网络不通畅。消息类型(Type)的代码表示如下:
此外,接收方标识长度(Target ParyId Len)用于描述接收方标识(TargetParyId)的长度,接收方标识(Target ParyId)指的是众多参与方中需要作为消息接收方的参与方的标识(如,A0000、B0000等)。各参与方都对应一个唯一的标识,当参与方作为发送方时,其标识为发送方标识;当参与方作为接收方时,其标识为接收方标识。
此外,目标服务地址长度(Target Service Len)用于描述目标服务地址(TargetService)的长度,目标服务地址(Target Service)是目标服务的地址(如,347.0.0.1:8888、tongtong.cn:8888等),目标服务是接收方的众多服务的其中一项服务。不同的参与方可以提供的服务数量,本申请实施例不作限定。本申请由于定义了新的协议格式(PingMsg protocol),因此可以打通直到接收方中目标服务的长链路。
需要说明的是,一般来说,Ping(Packet Internet Groper)消息是一种用于测试网络连接情况、网络传输速度等指标的消息,在相关技术中,参与方通常会发送一个依赖ICMP协议的Ping消息给目标地址,并等待接收回送应答消息,从而确定出Ping消息往返时间、丢包率、TTL值等信息,从而判断网络的连通性和质量。然而,本申请中Ping消息与相关技术中Ping消息的协议格式并不相同。相关技术中Ping消息依赖的是网络层的ICMP协议,而本申请中Ping消息依赖的是应用层的TCP协议。
并且,本申请中Ping消息与相关技术中Ping消息可以实现的功能也是不同的。具体地,相关技术中Ping消息只能够确定网络是否通畅,而本申请中Ping消息不仅可以确定网络是否通畅还可以打通直到接收方中目标服务的长链路,由于相关技术中Ping消息需要运行在网络层,因此不包含目标服务字段,然而,不包含目标服务字段就导致相关技术中Ping消息不仅无法应用于包含网关的多参与方场景,也无法打通直到接收方中目标服务的长链路。
进一步地,作为对图2实施例的补充说明,提到的不同参与方之间的通信,具体可以用于实现协同计算(如,安全多方计算(Secure Multi-Party Computation,MPC)等),协同计算是多学科交叉和支持的研究领域,用于把不同学科共同存在的协同现象抽取出来,作为研究对象,以便更有效地促进社会群体间有目的交互和协作,协同计算可以应用于智能制造、智能建筑、智能交通等领域。以上述的MPC为例,MPC指的是在无可信第三方的情况下,各参与方也可以合作计算任意函数,并且保证每一方仅获取自己的计算结果,无法通过计算过程中的交互数据推测出其他任意一方的输入数据和输出数据。安全多方计算可以应用于隐私集合运算、隐私保护机器学习、数据挖掘和安全基因组计算等领域。
其中,需要说明的是,tcp协议是互联网协议套件中的主要协议之一,它与IP(Internet Protocol)相配合,构成了TCP/IP(Transmission Control Protocol/InternetProtocol)模型(也可以称之为TCP/IP协议栈),TCP/IP协议栈是一种用于实现网络通信的协议集合。具体地,tcp是一种面向连接的、可靠的、基于字节流的传输层协议,tcp通过三次握手建立连接,通过序号和确认号保证数据包的有序和正确传输,通过拥塞控制避免网络拥塞,通过四次挥手断开连接。tcp是支持电子邮件、远程管理等应用的重要协议。
针对上述的TCP/IP协议栈,可以参阅图5,图5示意性示出了根据本申请的一个实施例应用的TCP/IP协议栈示意图。如图5所示,TCP/IP协议栈500可以包括:应用层510、传输层520、网络层530、数据链路层540。
应用层510是TCP/IP协议栈中第一层,用于提供各种应用程序之间的通信服务,如,Web浏览器、电子邮件、文件传输等,应用层510使用的协议一般包括HTTP、SMTP、FTP、DNS等。
传输层520是TCP/IP协议栈中第二层,用于提供端到端的可靠或不可靠的数据传输服务(如,流量控制、错误控制、拥塞控制等),传输层520使用的协议有TCP(传输控制协议)和UDP(用户数据报协议),TCP是一种面向连接的、可靠的、基于字节流的协议,UDP是一种无连接的、不可靠的、基于数据报的协议。
网络层530是TCP/IP协议栈中第三层,用于提供不同网络之间的数据传输服务(如,IP地址分配、路由选择、分组转发等),网络层530使用的协议一般包括IP、ICMP、ARP等。其中,ICMP全称是Internet Control Message Protocol,即互联网控制报文协议,用于确认IP包是否成功送达目标地址、报告发送过程中IP包被废弃的原因、改善网络设置等。
数据链路层540是TCP/IP协议栈中第四层,用于提供点到点的数据帧的传输和接收服务(如,封装、解封装、差错检测、流量控制等),数据链路层540使用的协议一般包括以太网、PPP(点对点协议)、HDLC(高级数据链路控制协议)等。
简单来说,本申请中的应用层协议消息依赖的是应用层的TCP协议,可以通过指定端口号来选择不同的应用程序,也可以通过加密或压缩等方式来增强消息的安全性和效率,能够适应不同的应用场景和需求,也可以避免网络层的限制和干扰。相关技术中的Ping消息依赖的是网络层的ICMP协议,不需要指定端口号,也不支持加密或压缩等功能,只能检测网络层的连通性和延迟。
在本申请中,当第一网关接收到发送方发送的应用层协议消息后,则可以基于应用层协议的协议格式来解析应用层协议消息,得到接收方标识,接收方标识为第一网关指示了应用层协议消息应该发给哪个参与方。
作为一种可选的实施例,第一网关将应用层协议消息发送至接收方标识对应的第二网关,包括:第一网关从应用层路由表中查询与接收方标识对应的第二网关地址;第一网关基于第二网关地址与第二网关建立连接,并将应用层协议消息发送至第二网关。这样可以实现对于第二网关地址的精准提取,从而基于第二网关地址实现与第二网关建立连接。
示例性地,应用层路由表可以表示如下:
举例来说,若发送方对应的发送方标识为A0000,A0000对应的第一网关地址为A.com:8888;接收方对应的接收方标识为B0000,B0000对应的第二网关地址为B.com:8888,那么,第一网关从应用层路由表中可以查询到与接收方标识B0000对应的第二网关地址B.com:8888,基于B.com:8888可以与第二网关建立连接,并在连接成功后将应用层协议消息发送至第二网关。可选的,若连接失败,可以丢弃应用层协议消息并返回连接失败消息,或者,单位时间后重新建立连接并在连接成功后将应用层协议消息发送至第二网关。
其中,需要说明的是,对于各网关(包括第一网关和第二网关)来说,可以对应于相同的内部结构,具体可以参阅图6,图6示意性示出了根据本申请的一个实施例的网关结构示意图。如图6所示,任一网关都至少可以包括:消息解析模块(NW(Net Worker)模块610)、消息路由模块(ROUTE模块620)、连接管理模块(CMT(Connection Management)模块630)、……。
具体地,NW模块用于读取发送方发送的消息,在检测到消息为数据消息时,调用CMT模块630处理消息,在检测到消息为应用层协议消息时,调用ROUTE模块620处理消息。
其中,不同网关代理的参与方数量可以相同也可以不同,本申请实施例不作限定。
作为一种可选的实施例,还包括:第一网关创建监听对象,并将文件描述符添加至监听对象中;第一网关在检测到文件描述符变更时识别文件描述符是否可读;第一网关在文件描述符可读时,获取目标文件描述符,并将目标文件描述符添加至监听对象中。这样可以基于目标文件描述符提升对于新消息的监听效率。
具体地,可以参阅图7,图7示意性示出了根据本申请的一个实施例的调用关系示意图。如图7所示,第一网关可以通过函数(epoll_create)710创建监听对象(epoll对象)711;其中,epoll是一种高效的输入/输出(I/O)多路复用技术,可以在Linux下监听大量的文件描述符(fd),而不会降低效率。其中,提到的Linux,是多用户、多任务、支持多线程和多CPU的操作系统,Linux能运行主要的Unix工具软件、应用程序和网络协议。Linux具体可以应用于服务器、嵌入式系统、个人电脑、移动设备等方面。
进而,可以通过函数(listen)716监听文件描述符fd_lis,并在监听到文件描述符(fd_lis)后,通过函数(epoll_ctl)715将文件描述符(fd_lis)添加至监听对象(epoll对象)711中。其中,fd_lis与socket相关,socket是一种用于实现进程间通信的技术,可以提供一组标准的API,使得应用程序可以通过网络或本地发送和接收数据,可以将socket看作是端点,每个端点都有一个唯一的地址,该唯一的地址由IP地址和端口号组成。Socket可以支持TCP协议,由于本申请的应用层协议是基于TCP协议形式定义的,也属于一种TCP协议,因此Socket也可以支持应用层协议。
进而,可以通过函数(epoll_wait)712等待监听对象(epoll对象)711关联的文件描述符(fd_lis)状态变更,若文件描述符(fd_lis)可读,则通过函数(accept)714获取连接目标文件描述符(fd_new),并通过函数(epoll_ctl)715将目标文件描述符(fd_new)添加至监听对象(epoll对象)711中,并触发函数(epoll_wait)712继续等待下一轮状态变更。
作为一种可选的实施例,还包括:第一网关在检测到对应于发送方的目标文件描述符可读时,读取发送方发送的消息;其中,消息为数据消息或应用层协议消息。这样可以基于可读的目标文件描述符,及时读取发送方发送的消息,以保证高效的消息处理效率。
继续参阅图7,若文件描述符(fd_lis)不可读而目标文件描述符(fd_new)可读时,可以通过NW模块720读取发送方发送的消息,执行判断程序718以判断该消息为数据消息还是应用层协议消息。在检测到该消息为数据消息时,通过NW模块720调用CMT模块721处理该消息;在检测到该消息为应用层协议消息时,通过NW模块720调用ROUTE模块722处理该消息。
作为一种可选的实施例,还包括:第一网关在检测到消息为数据消息时,调用连接管理模块处理消息;第一网关在检测到消息为应用层协议消息时,调用消息路由模块处理消息。这样可以提供针对不同类别的消息的处理方案,可以提升本申请实施例的适用范围,提升整体系统的鲁棒性。
具体地,数据消息(也可以称之为算法数据)是二进制数据,可以基于实际需求进行定义,本申请对于数据消息的具体内容不作限定。
在步骤S120中,第二网关解析应用层协议消息中的目标服务地址,并与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息。
请参阅图8,图8示意性示出了根据本申请的另一个实施例的多参与方场景示意图。如图8所示,第一网关(PA-Proxy)820对发送方(PA-S1)810发送的应用层协议消息(Ping消息)进行解析后,从应用层路由表(route_table)821中查询与接收方标识对应的第二网关地址(addr),进而,基于第二网关地址(addr)与第二网关(PB-Proxy)830建立连接(connect:addr)。进而,第二网关(PB-Proxy)830可以解析应用层协议消息(Ping消息)中的目标服务地址(Target Service),并与目标服务地址(connect:Target Service)建立连接,向接收方(PB-S1)840中的目标服务发送应用层协议消息(Ping消息)。进而,逆向执行上述步骤可以将对应于应用层协议消息(Ping消息)的应答消息(Pong)返回至发送方(PA-S1)810。其中,应答消息(Pong)可以用于表示连接成功(PingAckSuccess)也可以用于表示连接失败(PingAckFail)。
请参阅图9,图9示意性示出了根据本申请的一个实施例的socket关联情况示意图。如图9所示,发送方(PA-S1)910、第一网关(PA-Proxy)920、第二网关(PB-Proxy)930、接收方(PB-S1)940中,第一网关(PA-Proxy)920、第二网关(PB-Proxy)930的CMT模块可以用于管理socket关联情况。第一网关(PA-Proxy)920的CMT模块用于管理{socket-1-b,socket-1-c},{socket-1-b,socket-1-c}的意思是,可以将来自socket-1-b的消息转发至socket-1-c。第二网关(PB-Proxy)930的CMT模块用于管理{socket-1-d,socket-1-e},{socket-1-d,socket-1-e}的意思是,可以将来自socket-1-d的消息转发至socket-1-e。
具体地,发送方(PA-S1)910、第一网关(PA-Proxy)920之间的socket关联情况可以表示为socket:socket-1-a,socket-1-b;第一网关(PA-Proxy)920、第二网关(PB-Proxy)930之间的socket关联情况可以表示为socket:socket-1-c,socket-1-d;第二网关(PB-Proxy)930、接收方(PB-S1)940之间的socket关联情况可以表示为socket:socket-1-e,socket-1-f。其中,端与端之间的socket关联情况可以发送端管理也可以接收端管理。
请参阅图10,图10示意性示出了根据本申请的另一个实施例的socket关联情况示意图。图10描述的是存在一个网关管理多个参与方的情况。
具体地,第一网关(PA-Proxy)1040、第二网关(PB-Proxy)1050的CMT模块可以用于管理socket关联情况。第一网关(PA-Proxy)1040的CMT模块用于管理{socket-1-b,socket-1-c}、{socket-2-b,socket-2-c}、{socket-3-b,socket-3-c}。第二网关(PB-Proxy)1050的CMT模块用于管理{socket-1-d,socket-1-e}、{socket-2-d,socket-2-e}、{socket-3-d,socket-3-e}。
发送方(PA-S1)1011、第一网关(PA-Proxy)1040之间的socket关联情况可以表示为socket:socket-1-a,socket-1-b;第一网关(PA-Proxy)1040、第二网关(PB-Proxy)1050之间的socket关联情况可以表示为socket:socket-1-c,socket-1-d;第二网关(PB-Proxy)1050、接收方(PB-S1)1012之间的socket关联情况可以表示为socket:socket-1-e,socket-1-f。
发送方(PA-S2)1021、第一网关(PA-Proxy)1040之间的socket关联情况可以表示为socket:socket-1-a,socket-1-b;第一网关(PA-Proxy)1040、第二网关(PB-Proxy)1050之间的socket关联情况可以表示为socket:socket-1-c,socket-1-d;第二网关(PB-Proxy)1050、接收方(PB-S2)1022之间的socket关联情况可以表示为socket:socket-1-e,socket-1-f。
发送方(PA-S3)1031、第一网关(PA-Proxy)1040之间的socket关联情况可以表示为socket:socket-1-a,socket-1-b;第一网关(PA-Proxy)1040、第二网关(PB-Proxy)1050之间的socket关联情况可以表示为socket:socket-1-c,socket-1-d;第二网关(PB-Proxy)1050、接收方(PB-S3)1032之间的socket关联情况可以表示为socket:socket-1-e,socket-1-f。
其中,基于前述端到端的socket关联情况以及网关内的socket关联情况,可见,构成了3条逻辑链路且每两个逻辑链路之间互不影响,可以实现对于消息的独立处理。其中,逻辑链路1包括:发送方(PA-S1)1011、第一网关(PA-Proxy)1040、第二网关(PB-Proxy)1050、接收方(PB-S1)1012。逻辑链路2包括:发送方(PA-S2)1021、第一网关(PA-Proxy)1040、第二网关(PB-Proxy)1050、接收方(PB-S2)1022。逻辑链路3包括:发送方(PA-S3)1031、第一网关(PA-Proxy)1040、第二网关(PB-Proxy)1050、接收方(PB-S3)1032。
请参阅图11,图11示意性示出了根据本申请的又一个实施例的多参与方场景示意图。如图11所示,本申请在实施过程中也可以允许用户随时关闭网关,实现只包含参与方(PA-Proxy)1110和参与方(PB-Proxy)1120的场景,以实现应用层协议的可插拔性。
请参阅图12,图12示意性示出了根据本申请的另一个实施例的应用于多参与方场景的通信方法的流程图。如图12所示,该应用于多参与方场景的通信方法包括:步骤S1210~步骤S1250。
步骤S1210:第一网关创建监听对象,并将文件描述符添加至监听对象中。
步骤S1220:第一网关在检测到文件描述符变更时识别文件描述符是否可读;第一网关在文件描述符可读时,获取目标文件描述符,并将目标文件描述符添加至监听对象中。
步骤S1230:第一网关在检测到对应于发送方的目标文件描述符可读时,读取发送方发送的消息;其中,第一网关在检测到消息为数据消息时,调用连接管理模块处理消息;第一网关在检测到消息为应用层协议消息时,调用消息路由模块处理消息。
步骤S1240:第一网关对发送方发送的应用层协议消息进行解析,得到接收方标识,并将应用层协议消息发送至接收方标识对应的第二网关;其中,应用层协议消息依赖应用层协议得以生成,应用层协议包括以下字段:消息长度、消息类型、接收方标识、接收方标识长度、目标服务地址、目标服务地址长度。
步骤S1250:第二网关解析应用层协议消息中的目标服务地址,并与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息。
需要说明的是,步骤S1210~步骤S1250与图1所示的各步骤及其实施例相对应,针对步骤S1210~步骤S1250的具体实施方式,请参阅图1所示的各步骤及其实施例,此处不再赘述。
可见,实施图12所示的方法,可以应用一种配置在应用层的协议,遵循应用层协议生成的应用层协议消息可以实现涉及多个设备(即,第一网关、第二网关)的长链路消息转发,不需要局限于网络层协议的短链路通信。此类应用层协议消息可以应用于包含网关的场景,网关作为代理可以同时帮助多个参与方接收/发送消息,使用遵循应用层协议的消息使得多参与方可以应用于包含网关的场景下,各参与方无需分别占用一个公网端口。本申请中,第一网关可以帮助各个作为发送方的参与方发送遵循应用层协议的应用层协议消息,第二网关可以帮助各个作为接收方的参与方接收遵循应用层协议的应用层协议消息,降低了对于网络资源的消耗。此外,由于本申请设计了一种新型的遵循应用层协议的应用层协议消息,基于该应用层协议消息进行长链路通信可以打通直达接收方的目标服务的链路,无需在后续每次业务数据转发时确认网络通畅性,可以直接进行业务数据转发,可见,在多参与方场景下应用本申请设计的应用层协议消息不仅可以降低网络资源开销还可以提升多方协同计算效率。
请参阅图13,图13示意性示出了根据本申请的一个实施例中的应用于多参与方场景的通信系统的结构框图。如图13所示,该应用于多参与方场景的通信系统1300包括:发送方1301、第一网关1302、第二网关1303、接收方1304,其中:
发送方1301,用于向第一网关1302发送应用层协议消息;
第一网关1302,用于解析应用层协议消息,得到接收方标识,并将应用层协议消息发送至接收方标识对应的第二网关1303;
第二网关1303,用于解析应用层协议消息中的目标服务地址,并与目标服务地址建立连接,向接收方1304中的目标服务发送应用层协议消息;
接收方1304,用于接收应用层协议消息并将应用层协议消息输入目标服务。
可见,实施图13所示的系统,可以应用一种配置在应用层的协议,遵循应用层协议生成的应用层协议消息可以实现涉及多个设备(即,第一网关、第二网关)的长链路消息转发,不需要局限于网络层协议的短链路通信。此类应用层协议消息可以应用于包含网关的场景,网关作为代理可以同时帮助多个参与方接收/发送消息,使用遵循应用层协议的消息使得多参与方可以应用于包含网关的场景下,各参与方无需分别占用一个公网端口。本申请中,第一网关可以帮助各个作为发送方的参与方发送遵循应用层协议的应用层协议消息,第二网关可以帮助各个作为接收方的参与方接收遵循应用层协议的应用层协议消息,降低了对于网络资源的消耗。此外,由于本申请设计了一种新型的遵循应用层协议的应用层协议消息,基于该应用层协议消息进行长链路通信可以打通直达接收方的目标服务的链路,无需在后续每次业务数据转发时确认网络通畅性,可以直接进行业务数据转发,可见,在多参与方场景下应用本申请设计的应用层协议消息不仅可以降低网络资源开销还可以提升多方协同计算效率。
请参阅图14,图14示意性示出了根据本申请的一个实施例中的应用于多参与方场景的通信装置的结构框图。如图14所示,该应用于多参与方场景的通信装置1400中的各模块可以实现于同一硬件装置中也可以实现于不同子装置中,具体可以包括如下单元。
第一消息解析模块1401,用于对发送方发送的应用层协议消息进行解析,得到接收方标识;
第一消息路由模块1402,用于将应用层协议消息发送至接收方标识对应的第二网关;
第二消息解析模块1403,用于解析应用层协议消息中的目标服务地址;
第二消息路由模块1404,用于与目标服务地址建立连接,向接收方中的目标服务发送应用层协议消息。
可见,实施图14所示的装置,可以应用一种配置在应用层的协议,遵循应用层协议生成的应用层协议消息可以实现涉及多个设备(即,第一网关、第二网关)的长链路消息转发,不需要局限于网络层协议的短链路通信。此类应用层协议消息可以应用于包含网关的场景,网关作为代理可以同时帮助多个参与方接收/发送消息,使用遵循应用层协议的消息使得多参与方可以应用于包含网关的场景下,各参与方无需分别占用一个公网端口。本申请中,第一网关可以帮助各个作为发送方的参与方发送遵循应用层协议的应用层协议消息,第二网关可以帮助各个作为接收方的参与方接收遵循应用层协议的应用层协议消息,降低了对于网络资源的消耗。此外,由于本申请设计了一种新型的遵循应用层协议的应用层协议消息,基于该应用层协议消息进行长链路通信可以打通直达接收方的目标服务的链路,无需在后续每次业务数据转发时确认网络通畅性,可以直接进行业务数据转发,可见,在多参与方场景下应用本申请设计的应用层协议消息不仅可以降低网络资源开销还可以提升多方协同计算效率。
作为一种可选的实施例,其中:
应用层协议消息依赖应用层协议得以生成,应用层协议包括以下字段:消息长度、消息类型、接收方标识、接收方标识长度、目标服务地址、目标服务地址长度。
可见,实施该可选的实施例,可以通过定义新的协议格式,可以在包含网关的多参与方场景中实现长链通信。
作为一种可选的实施例,第一消息路由模块1402将应用层协议消息发送至接收方标识对应的第二网关,包括:
第一网关从应用层路由表中查询与接收方标识对应的第二网关地址;
第一网关基于第二网关地址与第二网关建立连接,并将应用层协议消息发送至第二网关。
可见,实施该可选的实施例,可以实现对于第二网关地址的精准提取,从而基于第二网关地址实现与第二网关建立连接。
作为一种可选的实施例,还包括:
消息读取模块,用于在检测到对应于发送方的目标文件描述符可读时,读取发送方发送的消息;其中,消息为数据消息或应用层协议消息。
可见,实施该可选的实施例,可以基于可读的目标文件描述符,及时读取发送方发送的消息,以保证高效的消息处理效率。
作为一种可选的实施例,还包括:
调用模块,用于在检测到消息为数据消息时,调用连接管理模块处理消息;在检测到消息为应用层协议消息时,调用消息路由模块处理消息。
可见,实施该可选的实施例,可以提供针对不同类别的消息的处理方案,可以提升本申请实施例的适用范围,提升整体系统的鲁棒性。
作为一种可选的实施例,还包括:
监听模块,用于创建监听对象,并将文件描述符添加至监听对象中;在检测到文件描述符变更时识别文件描述符是否可读;在文件描述符可读时,获取目标文件描述符,并将目标文件描述符添加至监听对象中。
可见,实施该可选的实施例,可以基于目标文件描述符提升对于新消息的监听效率。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
由于本申请的示例实施例的应用于多参与方场景的通信装置的各个功能模块与上述应用于多参与方场景的通信装置的示例实施例的步骤对应,因此对于本申请装置实施例中未披露的细节,请参照本申请上述的应用于多参与方场景的通信装置的实施例。
请参阅图15,图15示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图15示出的电子设备的计算机系统1500仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图15所示,计算机系统1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从储存部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。在RAM 1503中,还存储有系统操作所需的各种程序和数据。CPU 1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的储存部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入储存部分1508。
特别地,根据本申请的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本申请的方法和装置中限定的各种功能。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中的方法。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
Claims (10)
1.一种应用于多参与方场景的通信方法,其特征在于,所述方法包括第一网关和第二网关,包括:
所述第一网关对发送方发送的应用层协议消息进行解析,得到接收方标识,并将所述应用层协议消息发送至所述接收方标识对应的所述第二网关;
所述第二网关解析所述应用层协议消息中的目标服务地址,并与所述目标服务地址建立连接,向接收方中的目标服务发送所述应用层协议消息。
2.根据权利要求1所述的方法,其特征在于,所述第一网关将所述应用层协议消息发送至所述接收方标识对应的所述第二网关,包括:
所述第一网关从应用层路由表中查询与所述接收方标识对应的第二网关地址;
所述第一网关基于所述第二网关地址与所述第二网关建立连接,并将所述应用层协议消息发送至所述第二网关。
3.根据权利要求1所述的方法,其特征在于,其中:
所述应用层协议消息依赖应用层协议得以生成,所述应用层协议包括以下字段:消息长度、消息类型、接收方标识、接收方标识长度、目标服务地址、目标服务地址长度。
4.根据权利要求1所述的方法,其特征在于,还包括:
所述第一网关在检测到对应于所述发送方的目标文件描述符可读时,读取所述发送方发送的消息;其中,所述消息为数据消息或所述应用层协议消息。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述第一网关在检测到所述消息为所述数据消息时,调用连接管理模块处理所述消息;
所述第一网关在检测到所述消息为所述应用层协议消息时,调用消息路由模块处理所述消息。
6.根据权利要求4所述的方法,其特征在于,还包括:
所述第一网关创建监听对象,并将文件描述符添加至所述监听对象中;
所述第一网关在检测到所述文件描述符变更时识别所述文件描述符是否可读;
所述第一网关在所述文件描述符可读时,获取所述目标文件描述符,并将所述目标文件描述符添加至所述监听对象中。
7.一种应用于多参与方场景的通信装置,其特征在于,包括:
第一消息解析模块,用于对发送方发送的应用层协议消息进行解析,得到接收方标识;
第一消息路由模块,用于将所述应用层协议消息发送至所述接收方标识对应的所述第二网关;
第二消息解析模块,用于解析所述应用层协议消息中的目标服务地址;
第二消息路由模块,用于与所述目标服务地址建立连接,向接收方中的目标服务发送所述应用层协议消息。
8.一种应用于多参与方场景的通信系统,其特征在于,包括发送方、第一网关、第二网关、接收方,其中:
所述发送方,用于向所述第一网关发送应用层协议消息;
所述第一网关,用于解析所述应用层协议消息,得到接收方标识,并将所述应用层协议消息发送至所述接收方标识对应的所述第二网关;
所述第二网关,用于解析所述应用层协议消息中的目标服务地址,并与所述目标服务地址建立连接,向所述接收方中的目标服务发送所述应用层协议消息;
所述接收方,用于接收所述应用层协议消息并将所述应用层协议消息输入所述目标服务。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279174.1A CN117082123A (zh) | 2023-09-28 | 2023-09-28 | 通信方法、装置、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279174.1A CN117082123A (zh) | 2023-09-28 | 2023-09-28 | 通信方法、装置、系统、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117082123A true CN117082123A (zh) | 2023-11-17 |
Family
ID=88706287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311279174.1A Pending CN117082123A (zh) | 2023-09-28 | 2023-09-28 | 通信方法、装置、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117082123A (zh) |
-
2023
- 2023-09-28 CN CN202311279174.1A patent/CN117082123A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Implementation and analysis of QUIC for MQTT | |
EP3815328B1 (en) | Scalable sockets for quic | |
US20180248985A1 (en) | Load Balancing and Session Persistence in Packet Networks | |
US7480794B2 (en) | System and methods for transparent encryption | |
CN112468518B (zh) | 访问数据处理方法、装置、存储介质及计算机设备 | |
US20050288045A1 (en) | Apparatus, and an associated method, for forming direct data connection between applications of a set of mobile stations | |
US20170054640A1 (en) | Device and method for establishing connection in load-balancing system | |
US10355961B2 (en) | Network traffic capture analysis | |
CN110191066B (zh) | 一种确定最大传输单元pmtu的方法、设备及系统 | |
US8601139B2 (en) | Multiple core session initiation protocol (SIP) | |
CN109922144B (zh) | 用于处理数据的方法和装置 | |
US20060259602A1 (en) | Method and apparatus for transport level server advertisement and discovery | |
CN1917512B (zh) | 一种建立对等直连通道的方法 | |
CN106464596A (zh) | 开放流通信方法、系统、控制器和业务网关 | |
CN106789993B (zh) | Tcp代理方法及装置 | |
WO2018050116A9 (zh) | 一种视频会议系统中端口复用方法和服务器和计算机存储介质 | |
CN108064441B (zh) | 一种加速网络传输优化方法以及系统 | |
US7689648B2 (en) | Dynamic peer network extension bridge | |
US20230269164A1 (en) | Method and apparatus for sending route calculation information, device, and storage medium | |
CN117082123A (zh) | 通信方法、装置、系统、介质及设备 | |
CN106936718B (zh) | PPPoE报文传输方法和PPPoE服务器 | |
CN110601982B (zh) | 路由传递方法、装置及路由器 | |
CN113452754A (zh) | 一种基于CoAP协议的配电物联网网络通信系统 | |
CN114553567B (zh) | 多方安全计算中的网络传输方法、系统、存储介质及计算设备 | |
WO2022228293A1 (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 |