CN107211483B - 一种数据通信方法及终端 - Google Patents
一种数据通信方法及终端 Download PDFInfo
- Publication number
- CN107211483B CN107211483B CN201580073957.1A CN201580073957A CN107211483B CN 107211483 B CN107211483 B CN 107211483B CN 201580073957 A CN201580073957 A CN 201580073957A CN 107211483 B CN107211483 B CN 107211483B
- Authority
- CN
- China
- Prior art keywords
- address
- group
- data
- message
- group 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
- 238000004891 communication Methods 0.000 title claims abstract description 182
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000004044 response Effects 0.000 claims abstract description 247
- 230000015654 memory Effects 0.000 claims description 26
- 230000011664 signaling Effects 0.000 claims description 18
- 230000000977 initiatory effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims 3
- 230000005540 biological transmission Effects 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 18
- 238000013519 translation Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2585—NAT traversal through application level gateway [ALG]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/40—Connection management for selective distribution or broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供了一种数据通信方法,第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。相应的,本发明实施例还提供了一种设备。采用本发明实施例,第一设备将第三设备发送给所述IP地址的所述组数据发送给向第一设备请求了该组数据的一个或多个第二设备,可以提高数据传输效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据通信方法及终端。
背景技术
在传统的移动网络中,当某用户设备(User Equipment,UE)失去网络覆盖时(如发生地震等紧急情况),可以采用存在网络覆盖的用户设备作为中继,实现已失去网络覆盖的用户设备与网络侧的通信。
为方便理解,请参见图1a,图1a是现有技术提供的其中一种网络架构示意图。在该示意图中,Remote UE为失去网络覆盖的用户设备(为方便说明,简称为远程终端),RelayUE为存在网络覆盖的用户设备(为方便说明,简称为中继终端),其中,中继终端可以同时为多个远程终端做中继。现有方法中,当存在多个远程终端需要向服务器请求获取某个相同的组数据时,每个远程终端需分别与服务器建立请求和接收该组数据的单播通信连接,服务器分别基于该单播通信连接向每个远程终端发送所请求的组数据,由于服务器与远程终端之间进行信息交互时需通过中继终端中转,从而,相同的组数据在Uu接口上重复传输,这无疑降低了数据传输效率。
发明内容
本发明提供了一种数据通信方法及设备,可以提高数据传输效率。
第一方面,本发明实施例提供一种数据通信方法,包括:
第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;
当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。
结合第一方面,在第一方面的第一种可能的实现方式中,所述IP地址为所述第一设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的IP地址。
结合第一方面,在第一方面的第二种可能的实现方式中,所述响应消息还携带所述组标识对应的端口号;所述端口号为所述第一设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的端口号。
结合第一方面,在第一方面的第三种可能的实现方式中,所述第一设备接收至少一个第二设备发送的请求消息之后,所述方法还包括:
所述第一设备判断是否已存在所述组标识对应的上下文;
若否,所述第一设备分配所述组标识对应的所述层2地址和所述IP地址;
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址,包括:
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所分配的所述层2地址和所述IP地址。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
若存在所述上下文,所述第一设备获取所述组标识对应的所述层2地址和所述IP地址;
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址,包括:
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所获取的所述层2地址和所述IP地址。
结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述方法还包括:
若不存在所述上下文,所述响应消息还携带单播指示标识,以使所述至少一个第二设备使用所述IP地址向所述第三设备请求所述组数据。
结合第一方面或第一方面的上述任意一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述第一设备向所述至少一个第二设备返回响应消息之后,所述方法还包括:
所述第一设备接收目标第二设备发送的第一消息;其中,所述目标第二设备为所述至少一个第二设备中未监听到所述组标识或所述组标识对应的信息的第二设备,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息;
若所述第一设备属于首次接收所述第一消息,则所述第一设备向所述目标第二设备返回第二消息,以使所述目标第二设备保持与所述第三设备用于接收所述组数据的通信连接。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述方法还包括:
若所述第一设备不属于首次接收所述第一消息,则所述第一设备向所述目标第二设备返回第三消息,以使所述目标第二设备释放与所述第三设备用于接收所述组数据的通信连接。
结合第一方面的第六种可能的实现方式,在第一方面的第八种可能的实现方式中,所述第一设备向所述目标第二设备返回所述第二消息之后,所述方法还包括:
所述第一设备广播所述组标识或广播所述组标识对应的信息。
第二方面,本发明实施例提供一种数据通信方法,包括:
第二设备向第一设备发送请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;
所述第二设备接收所述第一设备返回的响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;其中,所述第一设备用于接收至少一个第二设备发送的请求消息,并在接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据;
所述第二设备从所述层2地址上接收所述组数据。
结合第二方面,在第二方面的第一种可能的实现方式中,所述响应消息还携带所述组标识对应的端口号;其中,所述IP地址和所述端口号为所述第一设备分配的用于所述第二设备请求所述组数据的IP地址和端口号。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二设备接收所述第一设备返回的响应消息之后,所述方法还包括:
所述第二设备使用所述IP地址向所述第三设备请求所述组数据;或者,
所述第二设备使用所述IP地址和所述端口号向所述第三设备请求所述组数据。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二设备向所述第三设备请求所述组数据,包括:
若所述第二设备未监听到所述组标识或所述组标识对应的信息,所述第二设备向所述第三设备请求所述组数据;或者,
若所述响应消息还携带单播指示标识,所述第二设备向所述第三设备请求所述组数据。
结合第二方面的第二种或第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二设备成功向所述第三设备请求所述组数据之后,所述方法还包括:
所述第二设备向所述第一设备发送第一消息;
若接收到所述第一设备返回的第二消息,所述第二设备保持与所述第三设备用于接收所述组数据的通信连接;
若接收到所述第一设备返回的第三消息,所述第二设备释放与所述第三设备用于接收所述组数据的通信连接。
结合第二方面的第二种或第三种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二设备向所述第三设备请求所述组数据,包括:
将所述IP地址和/或所述端口号作为传输应用信令的数据包的源IP地址和/或源端口号,并将所述数据包发送给所述第三设备,以向所述第三设备请求所述组数据;或者,
将所述IP地址和/或所述端口号作为会话初始协议SIP消息中的会话描述协议SDP消息体中的IP地址和/或端口号,并将所述SIP消息发送给所述第三设备,以向所述第三设备请求所述组数据。
第三方面,本发明实施例提供一种设备,包括:
第一接收模块,用于接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述设备转发组数据,所述请求消息携带组标识;
第一返回模块,用于向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;
第一发送模块,用于当接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据。
结合第三方面,在第三方面的第一种可能的实现方式中,所述IP地址为所述设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的IP地址。
结合第三方面,在第三方面的第二种可能的实现方式中,所述响应消息还携带所述组标识对应的端口号;所述端口号为所述第一设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的端口号。
结合第三方面,在第三方面的第三种可能的实现方式中,所述设备还包括:
判断模块,用于所述第一接收模块接收至少一个第二设备发送的请求消息之后,判断是否已存在所述组标识对应的上下文;
分配模块,用于若不存在所述上下文,分配所述组标识对应的所述层2地址和所述IP地址;
其中,所述第一返回模块返回的响应消息携带所述分配模块所分配的所述层2地址和所述IP地址。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述设备还包括:
获取模块,用于若存在所述上下文,获取所述组标识对应的所述层2地址和所述IP地址;
其中,所述第一返回模块返回的响应消息携带所述获取模块所获取的所述层2地址和所述IP地址。
结合第三方面的第三种可能的实现方式,在第三方面的第五种可能的实现方式中,若不存在所述上下文,所述第一返回模块返回的响应消息还携带单播指示标识,以使所述至少一个第二设备使用所述IP地址向所述第三设备请求所述组数据。
结合第三方面或第三方面的上述任意一种可能的实现方式,在第三方面的第六种可能的实现方式中,所述第一接收模块还用于,所述第一返回模块向所述至少一个第二设备返回响应消息之后,接收目标第二设备发送的第一消息;其中,所述目标第二设备为所述至少一个第二设备中未监听到所述组标识或所述组标识对应的信息的第二设备,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息;
所述第一返回模块还用于,若所述第一设备属于首次接收所述第一消息,向所述目标第二设备返回第二消息,以使所述目标第二设备保持与所述第三设备用于接收所述组数据的通信连接。
结合第三方面的第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述第一返回模块还用于,若所述第一设备不属于首次接收所述第一消息,向所述目标第二设备返回第三消息,以使所述目标第二设备释放与所述第三设备用于接收所述组数据的通信连接。
结合第三方面的第六种可能的实现方式,在第三方面的第八种可能的实现方式中,所述设备还包括:
广播模块,用于所述第一返回模块向所述目标第二设备返回所述第二消息之后,广播所述组标识或广播所述组标识对应的信息。
第四方面,本发明实施例提供一种设备,包括:
第二发送模块,用于向第一设备发送请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;
第二接收模块,用于接收所述第一设备返回的响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;其中,所述第一设备用于接收至少一个所述设备发送的请求消息,并在接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据;
第三接收模块,用于从所述层2地址上接收所述组数据。
结合第四方面,在第四方面的第一种可能的实现方式中,所述响应消息还携带所述组标识对应的端口号;其中,所述IP地址和所述端口号为所述第一设备分配的用于所述设备请求所述组数据的IP地址和端口号。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述设备还包括:
请求模块,用于所述第二接收模块接收所述第一设备返回的响应消息之后,使用所述IP地址向所述第三设备请求所述组数据;或者,使用所述IP地址和所述端口号向所述第三设备请求所述组数据。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,若所述设备未监听到所述组标识或所述组标识对应的信息,所述请求模块向所述第三设备请求所述组数据;或者,
若所述响应消息还携带单播指示标识,所述请求模块向所述第三设备请求所述组数据。
结合第四方面的第二种或第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述第二发送模块,还用于所述请求模块成功向所述第三设备请求所述组数据之后,向所述第一设备发送第一消息;
所述设备还包括:
保持模块,用于若接收到所述第一设备返回的第二消息,保持与所述第三设备用于接收所述组数据的通信连接;
释放模块,用于若接收到所述第一设备返回的第三消息,释放与所述第三设备用于接收所述组数据的通信连接。
结合第四方面的第二种或第三种可能的实现方式,在第四方面的第五种可能的实现方式中,所述请求模块具体用于:
将所述IP地址和/或所述端口号作为传输应用信令的数据包的源IP地址和/或源端口号,并将所述数据包发送给所述第三设备,以向所述第三设备请求所述组数据;或者,
将所述IP地址和/或所述端口号作为会话初始协议SIP消息中的会话描述协议SDP消息体中的IP地址和/或端口号,并将所述SIP消息发送给所述第三设备,以向所述第三设备请求所述组数据。
第五方面,本发明实施例提供一种设备,包括存储器和处理器,所述存储器和所述处理器通过总线连接,所述存储器中保存有实现如第一方面所述的数据通信方法的指令,所述处理器调取并执行所述存储器中的指令,实现如第一方面所述的数据通信方法。
第六方面,本发明实施例提供一种设备,包括存储器和处理器,所述存储器和所述处理器通过总线连接,所述存储器中保存有实现如第二方面所述的数据通信方法的指令,所述处理器调取并执行所述存储器中的指令,实现如第二方面所述的数据通信方法。
实施本发明实施例,第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。采用本发明实施例,第一设备使用所述层2地址发送所述组数据,从而,已向所述第一设备请求了该组数据的一个或多个第二设备均可以从所述层2地址上接收所述组数据,提高数据传输效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a是现有技术提供的其中一种网络架构示意图;
图1是本发明实施例提供的一种数据通信方法的流程示意图;
图2是本发明实施例提供的一种数据通信方法的另一流程示意图;
图2a是本发明实施例提供的一种数据通信方法的另一流程示意图;
图3是本发明实施例提供的一种数据通信方法的又一流程示意图;
图4是本发明实施例提供的一种数据通信方法的再一流程示意图;
图4a是图4提供的其中一种数据通信方法的流程示意图;
图5是本发明实施例提供的一种数据通信方法的交互示意图;
图6是本发明实施例提供的一种数据通信方法的另一交互示意图;
图7是本发明实施例提供的一种设备的结构示意图;
图8是本发明实施例提供的一种设备的另一结构示意图;
图9是本发明实施例提供的一种设备的又一结构示意图;
图10是本发明实施例提供的一种设备的再一结构示意图;
图11是本发明实施例提供的一种设备的再一结构示意图;
图12是本发明实施例提供的一种设备的再一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种数据通信方法及设备,第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。采用本发明实施例,当存在至少一个第二设备需要从第三设备上获取相同的组数据时,只需所述至少一个第二设备中的其中一个第二设备与第三设备存在用于接收该组数据的单播通信连接,第一设备将第三设备发送给该第二设备的组数据转发给需要获取该组数据的至少一个第二设备,从而,可以提高数据传输效率。
值得说明的是,本发明实施例中的术语“第一设备”、“第二设备”和“第三设备”仅用于描述目的,其中,“第二设备”为需要获取数据的设备,如第二设备可以是失去网络覆盖的远程终端;“第一设备”为用于中转数据的设备,如第一设备可以是中继终端;“第三设备”为提供数据的设备,如第三设备可以是服务器。具体实现中,第一设备为存在网络覆盖的设备,第二设备可以是失去网络覆盖的设备,也可以是存在网络覆盖的设备,具体的,本发明实施例不作任何限制,只要是基于本发明实施例的处理流程进行数据通信的方法均属于本发明实施例的保护范围。下面将结合附图1-附图12对本发明实施例提供的一种数据通信方法及终端分别进行详细介绍。
请参见图1,图1是本发明实施例提供的一种数据通信方法的流程示意图,本发明实施例中,该数据通信方法可以包括以下步骤。
S101:第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识。
具体实现中,第二设备可以是失去网络覆盖的设备,当然,具体实现中并不限于该类设备,也可以是存在网络覆盖的设备,具体的,本发明实施例不作限制,但值得说明的是,第一设备是存在网络覆盖的设备。
本发明实施例中,第二设备通过第一设备与网络侧进行数据通信,如从第三设备上获取某一组数据等。具体实现中,第二设备需要从第三设备上获取某一组数据时,会向第一设备发送请求消息,且在该请求消息中携带所要获取的组数据对应的组标识。从而,第一设备接收至少一个第二设备发送的请求消息,所述请求消息携带所述第二设备需要获取的组数据对应的组标识,以使第一设备接收到第三设备发送的所述组数据进行转发。为方便描述,本发明实施例中将请求同一组数据的一个或多个第二设备称作一组第二设备,换句话说,所述至少一个第二设备为一组第二设备,第一设备接收该组第二设备的请求消息,该请求消息中携带相同的组标识。值得说明的是,所述至少一个第二设备可以是一个第二设备,也可以是多个第二设备,第三设备可以是组服务器(Application Server,AS)或其他可以发送组数据的设备,具体的,本发明实施例不作限制。
为方便理解,以至少两个第二设备为例,则这至少两个第二设备所发送的请求消息中所携带的组标识相同,即该至少两个第二设备请求同一组数据。其中,组标识是用来唯一标识一个组数据的,具体实现中,该组标识可以是TMGI(Temporary Mobile GroupIdentity,临时移动组标识)、应用层标识等能够标识组数据的其它信息,具体的,本发明实施例不作限制。为方便理解,特举例如,假设第三设备可以提供3个组数据,分别为“组数据一”、“组数据二”和“组数据三”,其对应的组标识分别为“A”、“B”、“C”,若某第二设备发送的请求消息中携带的组标识为“A”,则说明该第二设备希望可以监听到第三设备发送过来的“组数据一”;若某第二设备发送的请求消息中携带的组标识为“B”,则说明该第二设备希望可以监听到第三设备发送过来的“组数据二”;若某第二设备发送的请求消息中携带的组标识为“C”,则说明该第二设备希望可以监听到第三设备发送过来的“组数据三”。值得说明的是,该特定举例仅用于描述目的,并不能用于限定本发明之保护范围。
S102:所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址。
第一设备接收到第二设备发送的请求消息后,可以根据该请求消息中携带的组标识自动返回该组标识对应的响应消息,其中,响应消息中携带有与该组标识对应的层2地址和IP地址。在可选实施例中,第一设备接收到第二设备发送的请求消息后,还可以是根据该请求消息中携带的组标识去获取与该组标识对应的相关参数之后,例如,相关参数包括层2地址和IP地址,再向发送该请求消息的第二设备返回响应消息,其中,响应消息中携带了该层2地址和IP地址。具体的,本发明实施例不作限制。本发明实施例中,层2地址用于向第二设备转发组数据,以使得第二设备从该层2地址相关的链路上接收所述组数据,IP地址为所述第一设备分配的用于所述第二设备向所述第三设备请求所述组数据的IP地址。第二设备接收到第一设备返回的响应消息后,可以使用该响应消息中携带的IP地址向第三设备请求该组标识对应的组数据。
作为一种可行的实施方式,第一设备可以预先保存各组标识及组标识对应的参数信息,其中,所述组标识对应的参数信息包括组标识对应的层2地址和IP地址。当第一设备接收到第二设备发送的请求消息后,根据该请求消息中携带的组标识直接获取与该组标识对应的层2地址和IP地址,并在返回给该第二设备的响应消息中携带该层2地址和IP地址,以使第二设备获知可以在该层2地址上接收或监听所要获取的组数据。同时,第二设备还可以使用IP地址向第三设备请求该组标识对应的组数据,其中,至少一个第二设备中至少存在一个第二设备使用该IP地址成功向第三设备请求该组标识对应的组数据,从而,第一设备可以接收到第三设备发送给IP地址的组数据,同时,第三设备无需分别向每个第二设备均发送所述组数据。
作为另一种可行的实施方式,第一设备接收到第二设备发送的请求消息后,判断是否属于首次接收携带该组标识的请求消息,若是,则为该组标识分配层2地址和IP地址;若否,则直接去获取该组标识对应的层2地址和IP地址,其中,该层2地址和IP地址为第一设备针对首次接收到所述请求消息时所分配的层2地址和IP地址;获取到组标识对应的层2地址和IP地址后,第一设备向第二设备返回响应消息,其中,所返回的响应消息携带该层2地址和IP地址。本发明实施例中,第一设备接收到第二设备发送的请求消息后,若属于是首次接收携带该组标识的请求消息,则不存在该组标识对应的层2地址和IP地址,否则,存在该组标识对应的层2地址和IP地址。因此,在可选实施例中,可以通过查看是否已存在该组标识对应的上下文的方式来判断是否属于首次接收所述请求消息,其中,该组标识对应的上下文可以是组标识对应的层2地址、IP地址等信息,具体的,本发明实施例不作限制。若不存在该组标识对应的上下文,则说明第一设备属于首次接收携带该组标识的请求消息,因此,为该组标识分配层2地址和IP地址等信息;若存在该组标识对应的上下文,则说明第一设备不属于首次接收所述请求消息,因此,直接获取首次接收该请求消息时所分配的层2地址和IP地址等信息。值得说明的是,具体实现中,还可以通过设置预设标识的方式来判断第一设备是否属于首次接收所述请求消息。例如,假设采用“False”和“Ture”的表达方式来分别表示“首次”和“非首次”,则具体实现中,可以将预设标识默认设置为“False”,当第一设备接收到请求消息后,获取该请求消息的组标识所对应的预设标识,若预设标识为“False”,则说明第一设备属于首次接收该组标识对应的请求消息,同时,将预设标识从“False”更新为“Ture”;若获取到预设标识为“Ture”,则说明第一设备不属于首次接收该组标识对应的请求消息。值得说明的是,具体实现中还可以是其它方式来判断是否属于首次接收所述请求消息,本发明实施例对此不做限制。本发明实施例中,第一设备判断出属于首次接收所述请求消息之后,为组标识分配层2地址、IP地址等信息包括:第一设备在收到第二设备的请求消息后分配层2地址、IP地址等信息;或第一设备预置了层2地址、IP地址等信息,当收到第二设备的请求消息后,从预置的信息中选择一组层2地址、IP地址等信息。具体的,本发明实施例不作限制。
在可选实施例中,所述响应消息还可以携带所述组标识对应的端口号;其中,所述端口号为所述第一设备分配的用于所述第二设备向第三设备请求或接收所述组数据的端口号。从而,第二设备可以使用第一设备分配的IP地址和端口号向第三设备请求该组标识对应的组数据。值得说明的是,第二设备请求或接收所述组数据的端口号可以由第一设备在响应消息中指定,也可以由第二设备或第三设备预先设置,本发明实施例对此不做限制。为方便理解,例如,假设第二设备请求“组数据一”时会默认使用端口号X1;当第二设备向第一设备发送的请求消息中携带的组标识为“A”时,若第一设备返回的响应消息中未携带端口号,则第二设备使用IP地址和端口号X1向第三设备请求“组数据一”;若第一设备返回的响应消息中携带了端口号,则第二设备使用IP地址和端口号向第三设备请求“组数据一”。
S103:当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。
第二设备接收到第一设备返回的响应消息后,可以使用响应消息中携带的IP地址向第三设备请求所述组标识对应的组数据,从而,第三设备将所述组数据发送给IP地址。当第一设备接收到第三设备发送至所述IP地址的组数据时,使用层2地址向所述至少一个第二设备发送所述组数据,因此,已向第一设备请求该组数据的全部第二设备均可以从层2地址对应的链路上接收到该组数据,第三设备无需分别向每个第二设备传输所述组数据,提高了数据传输效率。
在可选实施方式中,所述至少一个第二设备中存在一个第二设备接收到第一设备返回的响应消息后使用IP地址成功向第三设备请求了所述组数据,从而,第三设备向该IP地址发送所请求的组数据。第一设备接收到第三设备发送给该IP地址的组数据时,使用所述层2地址发送所述组数据,以使发送了该请求消息、且接收到响应消息的全部第二设备均可以从响应消息中所包含的层2地址上监听并接收到该组标识对应的组数据。
在本发明实施例描述的数据通信方法中,第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。采用本发明实施例,第一设备将第三设备发送给所述IP地址的组数据发送给向第一设备请求了该组数据的一个或多个第二设备,可以提高数据传输效率。
请参见图2,图2是本发明实施例提供的一种数据通信方法的另一流程示意图,本发明实施例中,该数据通信方法可以包括以下步骤。
S201:第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识。
本发明实施例中,所述至少一个第二设备向第一设备请求的组数据相同,即各第二设备所发送的请求消息中所携带的组标识相同。具体实现中,第二设备可以是失去网络覆盖的设备,当然,具体实现中并不限于该类设备,也可以是存在网络覆盖的设备,具体的,本发明实施例不作限制,但值得说明的是,第一设备是存在网络覆盖的设备。
为方便描述,假设第二设备为失去网络覆盖的设备,则当第二设备发现存在网络覆盖的设备时,可以选择该设备作为第一设备,其中,被作为第一设备的设备附着到网络或者已建立用于中继数据传输的PDN(Packet Data Network,分组数据网络)连接,从而,第二设备与第一设备建立通信连接,因此,第二设备通过第一设备可以与网络侧通信。在可选实施例中,第二设备与第一设备建立通信连接后,第二设备还可以向第一设备请求获取IP地址,第一设备可以作为IPV6路由器或DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)服务器为第二设备分配IP地址,从而,第一设备给该第二设备分配一个IP地址。进而,第二设备获取IP地址后,便可以与第三设备进行通信,如向第三设备注册。可选的,第二设备向第三设备注册成功后,还可以从第三设备处获取多播组数据所需的相关参数,如TMGI、组多播地址、组标识等等,具体的,本发明实施例不作限制。
第二设备需要获取组数据时,由于第二设备失去网络覆盖,而通过第一设备与网络侧进行数据通信,因此,第二设备需要从网络侧获取数据时,向第一设备发送请求消息,以请求第一设备转发所述组数据,请求消息中携带所要请求的组数据所对应的组标识信息。具体实现中,可以存在多个第二设备向第一设备请求同一组数据的情形,第一设备接收到任一第二设备发送的请求消息后,分别向每个第二设备返回响应消息。
S202:所述第一设备判断是否已存在所述组标识对应的上下文。
本发明实施例中,组标识对应的上下文可以是层2地址、IP地址等用于转发该组数据的信息,可选的,还可以包含端口号。第一设备接收到第二设备发送的请求消息后,从请求消息中解析出所携带的组标识,并判断是否已存在该组标识对应的上下文。
S203:所述第一设备分配所述组标识对应的所述层2地址和所述IP地址。
若不存在该组标识对应的上下文,说明该组标识对应的组数据首次被请求,即第一设备首次接收到请求该组数据的请求消息,从而,第一设备为组标识分配用于转发该组数据的层2地址和IP地址,可选的,还可以分配端口号。其中,IP地址为所述第一设备分配的用于所述第二设备向第三设备请求或接收所述组数据的IP地址;端口号为所述第一设备分配的用于所述第二设备向第三设备请求或接收所述组数据的端口号。具体的,当第二设备请求该组数据时,第二设备使用该IP地址或端口号向第三设备请求数据,当第二设备接收该组数据时,所接收到的组数据是以该IP地址或端口号为目的IP地址或目的端口号。
在可选实施例中,第一设备为该组标识分配参数后,将所分配的参数与该组标识关联起来,从而,若后续存在其它第二设备发送携带该组标识的请求消息时,第一设备接收到所述请求消息后,直接去获取与该组标识相关联的参数即可,其中,所述参数包括层2地址和IP地址,可选的,还可以包括端口号。
本发明实施例中,第一设备为组标识分配层2地址、IP地址等信息包括:第一设备在收到第二设备的请求消息后分配层2地址、IP地址等信息;或第一设备预置了层2地址、IP地址等信息,当收到第二设备的请求消息后,从预置的信息中选择一组层2地址、IP地址等信息。具体的,本发明实施例不作限制。
S204:所述第一设备获取所述组标识对应的层2地址和IP地址。
若存在该组标识对应的上下文,则该组标识对应的组数据不是首次被请求,即在该第二设备请求之前,已存在其它的第二设备向第一设备请求过该组数据,从而,第一设备直接获取该组标识对应的层2地址和IP地址,可选的,还包括端口号。值得说明的是,该层2地址、IP地址和端口号为第一设备针对首次接收到所述请求消息时所分配的层2地址、IP地址和端口号。
S205:所述第一设备向所述第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址。
第一设备获取到所述组标识对应的参数后,向第二设备返回响应消息,所述响应消息携带该组标识对应的参数,其中,该组标识对应的参数包括该组标识对应的层2地址和IP地址,可选的,还可以包括该组标识对应的端口号。具体实现中,第一设备接收到所述至少一个第二设备中的其中一个第二设备发送的请求消息时,若判断出不存在所述组标识对应的上下文,则第一设备为组标识分配该组标识对应的层2地址和IP地址,从而,给该第二设备返回的响应消息中携带所分配的层2地址和IP地址;若判断出已存在所述组标识对应的上下文,则第一设备根据组标识获取该组标识对应的层2地址和IP地址,从而,给该第二设备返回的响应消息中携带所获取到的层2地址和IP地址。
作为一种可行的实施方式,若不存在该组标识对应的上下文,所述响应消息还可以携带单播指示标识,以使所述第二设备使用IP地址向所述第三设备请求所述组数据。可选的,若所述响应消息还携带有端口号,则第二设备使用IP地址和端口号向所述第三设备请求所述组数据。从而,第一设备可以接收第三设备通过单播方式发送给该第二设备的组数据,若不携带单播指示信息,则第二设备可以不必向第三设备请求组数据。其中,第三设备可以是服务器或其它发送组数据的设备,具体的,本发明实施例不作限制。在可选实施例中,第一设备向该第二设备返回响应消息之后,还可以广播所述组标识或广播所述组标识对应的信息,从而,后续如果存在其它的第二设备需要向第一设备请求该组标识对应的数据时,若已监听到所述组标识或所述组标识对应的信息,则说明第一设备可以转发该组数据,因此,后续请求该组数据的第二设备接收到第一设备返回的响应消息后,无需使用响应消息中携带的IP地址(可选的,还包括端口号)向第三设备请求所述组数据。本发明实施例中,所述广播组标识对应的信息可以是组标识的其他形式,如经过编码的组标识,或组标识对应的组的其他信息,如组的地址信息等等,具体的,本发明实施例不作限制。在可选实施例中,所述响应消息中还可以携带与该组标识对应的更新定时器,新设置的更新定时器均存在一个预设时长,从而,该更新定时器可以用于指示广播所述组标识的剩余时长。当更新定时器对应的剩余时长为0时,若第二设备仍想继续监听该组数据,则第二设备需重新向第一设备发送请求消息,第一设备执行步骤S201;否则,第一设备停止中转该组数据,同时,删除该请求中的上下文等信息,从而,可以有效降低终端功耗,提高使用寿命。
S206:当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。
在可选实施例中,若响应消息中还携带有端口号,则当中继设备接收到第三设备发送至IP地址和端口号的所述组数据时,第一设备使用所述层2地址向所述至少一个第二设备发送所述组数据。值得说明的是,所述发送可以是组播方式也可以是广播方式,具体的,本发明实施例不做限制。因此,已向第一设备请求该组数据的全部第二设备均可以从层2地址对应的链路上接收到该组数据,第三设备无需分别向每个第二设备传输所述组数据,提高了数据传输效率。
本发明实施例中,第一设备根据第二设备发送的请求消息中所携带的组标识确定相应的层2地址和IP地址,从而,只要第二设备所期望请求的组数据相同,则第一设备返回的响应消息中携带的参数(包括层2地址和IP地址)相同。第一设备一旦接收到第三设备发送给该IP地址的所述组数据,则使用该层2地址转发所述组数据,从而,已向第一设备发送了携带该组标识的请求消息并接收到所述响应消息的全部第二设备均可以监听并接收到该组标识对应的组数据。
在本发明实施例描述的数据通信方法中,第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址向所述至少一个第二设备发送所述组数据。采用本发明实施例,第一设备将第三设备发送给所述IP地址的组数据发送给向第一设备请求了该组数据的一个或多个第二设备,可以提高数据传输效率。
值得说明的是,在上述实施例中,第一设备向第二设备返回响应消息之后,第二设备可以使用响应消息中携带的IP地址或者使用响应消息中携带的IP地址和端口号向第三设备请求所述组标识对应的组数据。在可选实施例中,第二设备接收到响应消息后,可以自动根据响应消息向第三设备请求所述组标识对应的组数据。在另一可选实施例中,第二设备接收到响应消息后,若未监听到所述组标识或所述组标识对应的信息,则根据响应消息向第三设备请求所述组标识对应的组数据;若可以监听到所述组标识或所述组标识对应的信息,说明已存在一个第二设备成功向第三设备请求了所述组数据,第一设备可以中转该组数据,从而,该第二设备接收到响应消息后不需要向第三设备请求所述组数据。在另一可选实施例中,第二设备接收到响应消息后,若响应消息中携带有单播指示标识,说明首次接收到转发所述组数据的请求,该第二设备需向第三设备建立传输所述组数据的通信连接,从而,根据响应消息向第三设备请求所述组标识对应的组数据;若未携带有单播指示标识,则不向第三设备请求所述组标识对应的组数据。本发明实施例中,第一设备向第二设备返回响应消息之后,所述数据通信方法还可以包括步骤S205a~S205d,如图2a所示,图2a是本发明实施例提供的一种数据通信方法的另一流程示意图。
S205a:所述第一设备接收目标第二设备发送的第一消息;所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息。
第二设备向第一设备发送请求消息后,第一设备返回响应消息,若响应消息中未携带端口号,第二设备可以使用响应消息中携带的IP地址向第三设备请求所述组数据。可选的,若响应消息中携带有端口号,第二设备可以使用响应消息中携带的IP地址和端口号向第三设备请求所述组数据。第二设备成功向第三设备请求所述组数据后,向第一设备发送第一消息。本发明实施例中,至少存在一个第二设备(为方便描述,本发明实施例将其称为目标第二设备)向第三设备成功请求了所述组数据,目标第二设备成功向第三设备请求所述组数据后,向第一设备发送第一消息,告知第一设备已成功向第三设备建立传输所述组数据的通信连接。第一设备接收所述目标第二设备发送的第一消息,其中,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息。
在可选实施例中,第二设备接收到第一设备返回的响应消息后,若未监听到所述组标识或所述组标识对应的信息,使用所述响应消息中携带的IP地址或者使用所述响应消息中携带的IP地址和端口号向第三设备请求所述组数据,并在成功向第三设备请求所述组数据后,向第一设备发送第一消息。第一设备接收至少一个第二设备中的目标第二设备发送的第一消息,其中,目标第二设备是指第二设备中未监听到所述组标识或所述组标识对应的信息,并成功向第三设备请求所述组数据的任一第二设备,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息,告知第一设备已成功向第三设备建立传输所述组数据的通信连接。
S205b:所述第一设备判断是否属于首次接收所述第一消息。
本发明实施例中,所述至少一个第二设备包括一个或多个第二设备,不管存在多少个第二设备,所述至少一个第二设备均只需一个第二设备保持有与第三设备传输所述组数据的通信连接即可。因此,第一设备接收到所述至少一个第二设备中的目标第二设备发送的所述组标识对应的第一消息之后,第一设备判断是否属于首次接收所述第一消息,若是,表示第一设备选择该第二设备与第三设备的通信连接,用以传输组数据,从而,第一设备向该任一第二设备返回第二消息,以使该目标第二设备保持与第三设备用于接收所述组数据的通信连接;若否,说明在该目标第二设备返回第一消息之前,已存在其它的目标第二设备成功向第三设备请求了所述组数据,从而,第一设备向该目标第二设备返回第三消息,以使该目标第二设备释放与第三设备用于接收所述组数据的通信连接。从而,保证至少一个第二设备中只有一个第二设备存在与第三设备传输所述组数据的通信连接,第一设备接收到第三设备基于该通信连接发送的所述组数据后,使用层2地址将所述组数据发送给所述至少一个第二设备,实现单播到多播的数据中继,提高数据传输效率。
S205c:所述第一设备向该目标第二设备返回第二消息,以使该目标第二设备保持与所述第三设备用于接收所述组数据的通信连接。
若第一设备判断出属于首次接收所述第一消息,则向该目标第二设备返回第二消息,以使该目标第二设备保持与所述第三设备用于接收所述组数据的通信连接,从而,该目标第二设备可以保持从第三设备接收所述组数据。在可选实施例中,在返回第二消息后,所述第一设备还可以广播所述组标识或广播所述组标识对应的信息,从而当存在其它第二设备希望获取该组标识对应的组数据时,若可以监听到所述组标识或所述组标识对应的信息,则无需向第三设备请求所述组数据;若未监听到所述组标识,则向第三设备请求所述组数据,以与第三设备间建立传输所述组数据的通信连接。值得说明的是,此处广播组标识对应的信息可以指组标识的其他形式,如经过编码的组标识,或组标识对应的组的其他信息,如组的地址信息等,具体的,本发明实施例不作限制。
S205d:所述第一设备向该目标第二设备返回第三消息,以使该目标第二设备释放与所述第三设备用于接收所述组数据的通信连接。
若不属于首次接收所述第一消息,则说明所述至少一个第二设备中已存在一个第二设备成功向第三设备请求了所述组数据并保持了与第三设备间用于接收所述组数据的通信连接,因此,第一设备向当前的该目标第二设备返回第三消息,以使该目标第二设备释放与所述第三设备用于接收所述组数据的通信连接。
值得说明的是,本发明实施例中,“第一消息”、“第二消息”及“第三消息”仅用于描述目的,为方便说明本方案而采用的消息名称,具体实现中,本发明实施例对所述消息名称不做任何限制,因此,并不能以此来限制本发明之保护范围。
本发明实施例中,保证所述至少一个第二设备只存在一个第二设备与第三设备存在用于接收所述组数据的通信连接,当第一设备接收到第三设备发送给该第二设备的所述组数据时,使用层2地址将所述组数据发送给所述至少一个第二设备,相应的,所述至少一个第二设备可以在该层2地址上监听并接收到所述组数据。采用本发明实施例,可以提高数据传输效率。
请参见图3,图3是本发明实施例提供的一种数据通信方法的又一流程示意图,本发明实施例中,该数据通信方法可以包括以下步骤。
S301:第二设备向第一设备发送请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识。
本发明实施例中,所述第一设备接收至少一个第二设备请求所述组数据的请求消息,其中,所述至少一个第二设备发送的请求消息中所携带的组标识相同,即所述至少一个第二设备所要请求的组数据相同。第一设备接收第三设备发送给所述至少一个第二设备中的其中一个第二设备的所述组数据时,使用层2地址转发所述组数据。因此,第一设备接收到请求该组数据的至少一个第二设备的请求消息后,给每个第二设备返回响应消息,其中,响应消息中携带该层2地址,以使已向第一设备请求该组数据且接收到所述响应消息的一个或多个第二设备均可以从该层2地址上监听并接收所述组数据,从而,实现将接收到的单播数据通过多播的方式发送给多个所述第二设备。
具体实现中,组标识可以是TMGI(Temporary Mobile Group Identity,临时移动组标识)、应用层标识等能够标识组数据的其它信息,具体的,本发明实施例不作限制。值得说明的是,本发明实施例中,与上述实施例相关的部分技术细节可以参照上述实施例,此处不再赘述。
S302:所述第二设备接收所述第一设备返回的响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;其中,所述第一设备用于接收至少一个第二设备发送的请求消息,并在接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据。
第二设备向第一设备发送请求某一组数据的请求消息后,第一设备根据该请求消息中携带的组标识返回响应消息,从而,第二设备接收所述第一设备返回的响应消息,其中,所述响应消息携带所述组标识对应的层2地址和IP地址;所述IP地址为所述第一设备分配的用于所述第二设备向第三设备请求所述组数据的IP地址;所述层2地址用于第二设备将接收到的所述组数据发送给所述至少一个第二设备,从而,第二设备可以从该层2地址上接收所述组数据。在可选实施例中,所述第二设备使用所述IP地址向第三设备请求所述组数据,从而,建立与第三设备间用于接收单播形式分发的所述组数据的通信连接。
作为一种可行的实施方式,所述响应消息还可以携带所述组标识对应的端口号;其中,所述端口号为所述第一设备分配的用于所述第二设备请求所述组数据的端口号。在可选实施例中,所述第二设备使用所述IP地址和所述端口号向第三设备请求所述组数据,从而,建立与第三设备间用于接收单播形式分发的所述组数据的通信连接。
S303:所述第二设备从所述层2地址上接收所述组数据。
若第一设备接收到第三设备发送给所述IP地址的所述组数据,则第一设备使用层2地址向所述至少一个第二设备发送所述组数据,从而,已向第一设备请求所述组数据并接收到所述响应消息的至少一个第二设备均可以从该层2地址上接收到所述组数据。
在本发明实施例描述的数据通信方法中,第二设备向第一设备发送请求消息,所述请求消息携带组标识;第二设备接收第一设备返回的响应消息,所述响应消息携带组标识对应的层2地址和IP地址;其中,第一设备接收到第三设备发送至该IP地址的所述组数据时,使用层2地址发送所述组数据;第二设备从所述层2地址上接收所述组数据。采用本发明实施例,第一设备使用层2地址转发第三设备发送给所述IP地址的所述组数据,从而,已向第一设备请求了该组数据的一个或多个第二设备均可以从该层2地址上接收所述组数据,可以提高数据传输效率。
请参见图4,图4是本发明实施例提供的一种数据通信方法的再一流程示意图,本发明实施例中,该数据通信方法可以包括以下步骤。
S401:第二设备向第一设备发送请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识。
本发明实施例中,第二设备向第一设备发送请求消息,请求消息携带有组标识,从而,第一设备接收至少一个第二设备发送的请求消息,其中,所述至少一个第二设备向第一设备请求转发相同的组数据,即各第二设备所发送的请求消息中携带相同的组标识,值得说明的是,所述相同的组标识是指能够标识相同的组的标识信息,标识同一组的不同标识形式也属于相同的组标识范畴,本发明实施例,并不局限于一致的标识信息。
S402:所述第二设备接收所述第一设备返回的响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址。
本发明实施例中,所述IP地址为所述第一设备分配的用于所述第二设备向第三设备请求所述组数据的IP地址,即向第一设备发送所述请求消息的至少一个第二设备可以使用该IP地址向第三设备建立接收该组数据的单播通道。所述层2地址用于第二设备将接收到的所述组数据发送给所述至少一个第二设备,从而,第二设备可以从该层2地址上接收所述组数据。在可选实施例中,所述响应消息还携带所述组标识对应的端口号;其中,所述端口号为所述第一设备分配的用于所述第二设备向第三设备请求所述组数据的端口号,从而,向第一设备发送所述请求消息的至少一个第二设备可以使用该IP地址和该端口号向第三设备建立接收该组数据的单播会话通道。值得说明的是,所述IP地址和所述端口号还可以用于所述第二设备接收所述组数据,当第二设备接收该组数据时,所接收到的组数据以该IP地址和该端口号为目的IP地址或目的端口号。值得说明的是,具体实现中,端口号为可选项。
具体实现中,第一设备接收到第二设备发送的请求消息后,从请求消息中解析出组标识,获取该组标识对应的层2地址和IP地址,可选的,还包括端口号,并向第二设备返回响应消息,其中,响应消息中携带所获取到的层2地址、IP地址,可选的,还包括端口号。本发明实施例中,若第二设备发送的请求消息中携带相同的组标识,则从第一设备上接收到的响应消息中所携带的层2地址、IP地址或端口号也相同。
S403:所述第二设备使用所述IP地址向所述第三设备请求所述组数据。
第二设备接收到第一设备返回的响应消息之后,可以使用响应消息中携带的IP地址向所述第三设备请求所述组数据。在可选实施例中,若响应消息还携带有端口号,所述第二设备使用所述IP地址和所述端口号向所述组第三设备请求所述组数据。
具体实现中,第二设备向第三设备请求组数据可以表现为第二设备向第三设备建立用于接收所述组数据的通信连接,以便从第三设备接收单播分发的所述组数据,其中,建立所述通信连接的方式可以根据第一设备是否支持ALG-NAT(Application LayerGateways-Network Address Translation,应用层网关-网络地址转换)功能包括两种实现方式。
作为其中一种实现方式,若第一设备支持ALG-NAT,则第二设备与第三设备进行媒体协商建立应用层会话,第二设备用于传输数据的IP地址及端口号通过应用层消息发送至第三设备,并接收第三设备用于发送数据的第三设备的IP地址或端口号,以此建立第二设备与第三设备之间用于传输单播数据的通信连接。具体的,当使用SIP消息时,将IP地址作为会话初始协议(Session Initiation Protocol,SIP)消息中的会话描述协议(SessionDescription Protocol,SDP)消息体中的IP地址,并将所述SIP消息发送给第三设备,以向第三设备请求所述组数据,从而,与第三设备建立用于接收单播形式分发数据的通信连接。其中,SIP是一个基于文本的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话;SDP为会话通知、会话邀请和其它形式的多媒体会话初始化等目的提供的多媒体会话描述。可选的,若响应消息还携带端口号,则第二设备与第三设备进行媒体协商建立应用层会话,具体的,将所述IP地址和所述端口号作为会话初始协议SIP消息中的会话描述协议SDP消息体中的IP地址和端口号,并将所述SIP消息发送给第三设备,以向第三设备请求所述组数据。
作为另一种实现方式,若第一设备不支持ALG-NAT,则第二设备将所述IP地址作为传输应用信令的数据包的源IP地址,并将所述数据包发送给第三设备,该应用信令指示第三设备该第二设备用于传输单播形式分发数据的IP地址,从而实现向第三设备请求所述组数据,第二设备与第三设备建立用于接收单播形式分发数据的通信连接。可选的,若响应消息还携带端口号,则第二设备将所述IP地址和所述端口号作为传输应用信令的数据包的源IP地址和源端口号,并将所述数据包发送给第三设备,以向第三设备请求所述组数据。
为方便理解,以响应消息携带有端口号为例,则第二设备使用IP地址和端口号向第三设备请求组数据,由于第二设备需通过第一设备与网络侧通信,上述IP地址和端口号为第一设备分配给第二设备用于传输单播形式分发数据的IP地址和端口号,且第一设备具备NAT(Network Address Translation,网络地址转换)功能,则第三设备向该第二设备发送组数据时,本应发给该IP地址和该端口号的所述组数据会发送给第一设备,第一设备经过NAT转换后,所述组数据的IP地址为上述IP地址和端口号,第一设备再进行转发。
作为一种可行的实施方式,第二设备接收到第一设备返回的响应消息后,使用响应消息中携带的IP地址自动向第三设备请求所述组数据。可选的,若响应消息还携带有端口号,则第二设备接收到第一设备返回的响应消息后,使用响应消息中携带的IP地址和端口号自动向第三设备请求所述组数据,以建立用于接收所述组数据的通信连接。
作为另一种可行的实施方式,第二设备接收到第一设备返回的响应消息后,若当前可以监听到所述组标识或者所述组标识的相关信息,则所述第二设备不需要向第三设备请求所述组数据;若所述第二设备未监听到所述组标识或所述组标识的相关信息,则在第二设备接收到第一设备返回的响应消息后,所述第二设备根据该响应消息向第三设备请求所述组数据。
作为另一种可行的实施方式,第二设备接收到第一设备返回的响应消息后,若获知该响应消息还携带有单播指示标识,则第二设备根据该响应消息向第三设备请求所述组数据;若获知该响应消息未携带有单播指示标识,则第二设备接收到响应消息后无需向第三设备请求所述组数据。具体实现中,第二设备根据该响应消息向第三设备请求所述组数据包括:若响应消息未携带端口号,则使用响应消息中携带的IP地址向第三设备请求所述组数据;若响应消息携带有端口号,则使用响应消息中携带的IP地址和端口号向第三设备请求所述组数据。
值得说明的是,所述第二设备使用响应消息中携带的IP地址或者使用响应消息中携带的IP地址和端口号成功向第三设备请求所述组数据之后,还可以包括步骤S403a~S403c,如图4a所示,图4a是图4提供的其中一种数据通信方法的流程示意图。
S403a:所述第二设备向所述第一设备发送第一消息。
本发明实施例中,第二设备成功向第三设备请求所述组数据后,第二设备还可以向第一设备发送第一消息,从而,该第二设备将已成功向第三设备请求所述组数据的事件告知第一设备。具体实现中,第一设备接收至少一个第二设备中的目标第二设备发送的第一消息,其中,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息。在可选实施例中,若存在多个第二设备未监听到上述组标识或组标识对应的信息,并成功向第三设备请求所述组数据,即与第三设备建立了单播通信连接,只需所述多个第二设备中的其中一个第二设备保持与第三设备间用于接收单播形式分发的所述组数据的通信连接即可,因此,第一设备接收到上述多个未监听到上述组标识或组标识对应的信息、并成功请求单播组数据中的任一第二设备发送的第一消息后,会进而判断是否属于首次接收所述第一消息,若是,则向该第二设备返回第二消息,以使该第二设备保持与第三设备接收所述组数据的通信连接;否则,向该第二设备返回第三消息,以使该第二设备释放与第三设备接收所述组数据的通信连接,上述通信连接是指第二设备从第三设备接收单播形式分发数据的通信连接。
S403b:若接收到所述第一设备返回的第二消息,所述第二设备保持与所述第三设备用于接收所述组数据的通信连接。
第二设备向第一设备返回第一消息后,若接收到第一设备返回的第二消息,表示第一设备选择该第二设备与第三设备的通信连接,用以传输组数据,从而,该第二设备保持与所述第三设备用于接收所述组数据的通信连接,以使第一设备可以接收服务器发送的所述组数据。
S403c:若接收到所述第一设备返回的第三消息,所述第二设备释放与所述第三设备用于接收所述组数据的通信连接。
第二设备向第一设备返回第一消息后,若接收到第一设备返回的第三消息,说明在本第二设备成功向第三设备请求所述组数据之前,已存在其它的第二设备建立了与所述第三设备接收所述组数据的通信连接,从而,释放与所述第三设备用于接收所述组数据的通信连接。因此,多个第二设备需要从第三设备获取相同组数据时,第三设备只需基于已建立的通信连接传输该组数据即可,避免相同的组数据在第三设备与第一设备之间重复传输。
S404:所述第二设备从所述层2地址上接收所述组数据。
若第一设备接收到第三设备发送给该IP地址的组数据,则第一设备使用层2地址转发所述组数据,从而,已向第一设备请求所述组数据的1个或多个第二设备均可以从该层2地址上监听并接收所述组数据。在可选实施例中,若响应消息中还携带有端口号,则第一设备接收到第三设备发送给所述IP地址和所述端口号的组数据时,第一设备使用层2地址转发所述组数据,从而,已向第一设备请求所述组数据的第二设备均可以从该层2地址上监听并接收所述组数据。
在本发明实施例描述的数据通信方法中,第二设备向第一设备发送请求消息,所述请求消息携带组标识;第二设备接收第一设备返回的响应消息,所述响应消息携带组标识对应的层2地址和IP地址;其中,第一设备接收到第三设备发送至该IP地址的所述组数据时,使用层2地址发送所述组数据;第二设备从所述层2地址上接收所述组数据。采用本发明实施例,第一设备使用层2地址转发第三设备发送给所述IP地址的所述组数据,从而,已向第一设备请求了该组数据的一个或多个第二设备均可以从该层2地址上接收所述组数据,可以提高数据传输效率。
请参见图5,图5是本发明实施例提供的一种数据通信方法的交互示意图,本发明实施例中,该数据通信方法可以包括以下步骤。
本发明实施例中,第一设备可以接收1个或多个第二设备的请求消息,其中,所述多个第二设备向第一设备发送的请求消息中所携带的组标识相同。为方便描述,本发明实施例中将所述组数据首次被请求时所对应的请求终端称为“第二设备UE2-1”,将所述组数据不是首次被请求时所对应的请求终端称为“第二设备UE2-2”,值得说明的是,“第二设备UE2-1”、“第二设备UE2-2”仅用于描述目的,具体实现中,“第二设备UE2-2”可以是一个或多个第二设备的代称,具体的,本发明实施例不作限制。
S500:第二设备通过第一设备向第三设备注册。
为方便描述,假设第二设备为失去网络覆盖的设备,则当第二设备发现存在网络覆盖的第一设备时,可以选择该第一设备作为中继终端,其中,被作为中继终端的第一设备附着到网络或者已建立用于中继数据传输的PDN(Packet Data Network,分组数据网络)连接,第二设备与第一设备建立通信连接,因此,第二设备通过第一设备可以与网络侧通信。在可选实施例中,第二设备与第一设备建立通信连接后,第二设备还可以向第一设备请求获取IP地址,第一设备可以作为IPV6路由器或DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议)服务器为第二设备分配IP地址,从而,第一设备给该第二设备分配一个IP地址。进而,第二设备获取IP地址后,便可以与第三设备进行通信,如向第三设备注册,或传输其它应用层信令消息等等。可选的,第二设备向第三设备注册成功后,还可以从第三设备处获取多播组数据所需的相关参数,如TMGI、组多播地址、组标识等等,具体的,本发明实施例不作限制。值得说明的是,所述第二设备包括“第二设备UE2-1”和“第二设备UE2-2”。
S501:第二设备UE2-1向第一设备发送请求消息,所述请求消息携带组标识。
第二设备UE2-1需要获取第三设备上的某一组数据时,向第一设备发送请求消息,同时,在该请求消息中携带所要获取的组数据对应的组标识。本发明实施例中,所述请求消息用于请求第一设备转发组数据。
S502:第一设备向第二设备UE2-1返回响应消息,所述响应消息携带所述组标识对应的层2地址、IP地址和端口号。
第一设备接收到第二设备UE2-1发送的请求消息后,从该请求消息中解析出组标识,并根据该组标识直接获取或分配该组标识对应的层2地址、IP地址和端口号。其中,所述端口号为可选项,具体实现中,第二设备可以使用默认设置的端口接收所述组数据。所述层2地址用于第一设备从第三设备上接收到该组标识对应的组数据时向第二设备发送组数据,从而第二设备UE2-1从该层2地址上监听并接收所述组标识对应的组数据,所述IP地址和所述端口号为第一设备分配给所述至少一个第二设备用于请求或接收所述组数据的IP地址和端口号。值得说明的是,所述至少一个第二设备为已向第一设备发送所述请求消息的所有设备,其中,所述请求消息携带的组标识相同,值得说明的是,也可以是所述请求消息携带的组标识所标识的组数据相同,具体的,本发明实施例不作限制。
可选的,由于所述组数据被首次请求,因此,第一设备返回给第二设备UE2-1的响应消息中还可以携带单播指示标识,以使第二设备UE2-1接收到响应消息后,根据该单播指示标识向第三设备请求建立传输所述组数据的通信连接。
S503:第二设备UE2-1使用所述IP地址和所述端口号向第三设备请求所述组数据。
第二设备UE2-1接收到第一设备返回的响应消息后,若未监听到所述组标识和/所述组标识对应的信息,所述信息用于指示第一设备可以转发第三设备发送的该组标识对应的组数据,第二设备UE2-1使用响应消息中所携带的IP地址和端口号向第三设备请求所述组标识对应的组数据,即与第三设备建立通信连接,所述通信连接用于接收所述组标识对应的组数据。
可选的,第二设备UE2-1接收到第一设备返回的响应消息后,若获知响应消息中携带有单播指示标识,则使用响应消息中所携带的IP地址和端口号与第三设备建立用于接收该组标识对应的单播形式分发的组数据的通信连接。
值得说明的是,若步骤S502返回的响应消息中不包括端口号,则第二设备UE2-1可以使用响应消息中所携带的IP地址或者使用响应消息中所携带的IP地址和默认端口号与第三设备建立用于接收该组标识对应的组数据的通信连接,其中,所述默认端口号为第二设备或第三设备预设的用于请求该组标识对应的组数据的端口号。
S504:第二设备UE2-1向第一设备发送第一消息。
第二设备UE2-1成功向第三设备请求所述组数据后,向第一设备发送第一消息,以使第一设备获知第二设备UE2-1已成功向第三设备请求了所述组数据,从而,第一设备可以接收第三设备发送给第二设备UE2-1的所述组数据,其中,所述组数据的目的IP地址为步骤S502中返回的IP地址,可选的,所述组数据的目的端口号为步骤S502中返回的端口号。
值得说明的是,具体实现中,第一设备接收到所述至少一个第二设备中的任一第二设备发送的所述第一消息后,还可以判断是否属于首次接收所述第一消息,若是,则所述第一设备向所述任一第二设备返回第二消息,以使所述任一第二设备保持从所述第三设备接收所述组数据;若否,则所述第一设备向所述任一第二设备返回第三消息,以使所述任一第二设备释放与所述第三设备用于接收所述组数据的通信连接。具体的技术细节请参照上述实施例中图4a所对应的描述部分,此处不再赘述。
S505:第一设备广播所述组标识或所述组标识对应的信息。
第一设备接收到第二设备UE2-1发送的第一消息后,获知第二设备UE2-1已成功向第三设备请求了所述组数据,返回第二消息,因此,第一设备广播所述组标识或所述组标识对应的信息,以使全部第二设备获知第一设备可以转发第三设备发送的所述组数据。从而,当存在其它的第二设备也需要接收所述组数据时,直接向第一设备发送请求消息即可,而无需再向第三设备建立用于接收所述组数据的通信连接。具体实现中,当第一设备接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据,从而,已向第一设备获知该层2地址的全部第二设备均可以监听并接收所述组数据。
S506:第二设备UE2-2监听所述组标识或所述组标识对应的信息。
具体实现中,第一设备广播所述组标识或所述组标识对应的信息后,第二设备均可以监听到该组标识或该组标识对应的信息,从而,其它的第二设备可以获知第一设备当前可以转发第三设备发送的该组标识对应的组数据。于是,若第二设备UE2-2也需要接收该组数据,则可以向第一设备发送请求消息,并在请求消息中携带该组标识。
S507:第二设备UE2-2向第一设备发送请求消息,所述请求消息携带所述组标识。
本发明实施例中,第二设备UE2-2与第二设备UE2-1发送的请求消息中,所携带的组标识相同。其它的具体细节可以参照步骤S501,此处不再赘述。
S508:第一设备向第二设备UE2-2返回响应消息,所述响应消息携带所述组标识对应的层2地址、IP地址和端口号。
第一设备接收到第二设备UE2-2发送的请求消息后,从该请求消息中解析出组标识,于是可知,该组标识与第二设备UE2-1发送的请求消息中所携带的组标识相同。本发明实施例中,由于第一设备已根据该组标识分配过该组标识对应的参数,因此,第一设备接收到第二设备UE2-2发送的所述请求消息后,直接获取该组标识对应的层2地址、IP地址和端口号。值得说明的是,端口号是可选项。
可选的,由于该组标识对应的组数据不是被首次请求,因此,第一设备返回给第二设备UE2-1的响应消息中不用携带单播指示标识,第二设备UE2-1接收到响应消息后,不需要与第三设备建立用于接收所述组数据的通信连接。或者是,由于第二设备UE2-1接收第一设备返回的响应消息时,可以监听到所述组标识或所述组标识对应的信息,从而,获知已存在其它的第二设备向服务器建立了用于接收该组标识对应的组数据的通信连接,因此,不需要与第三设备建立用于接收所述组数据的通信连接。
S509:当所述第一设备接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据。
由于第二设备UE2-1接收到第一设备返回的响应消息后,使用响应消息中携带的IP地址或者使用响应消息中携带的IP地址和端口号向第三设备成功请求了所述组标识对应的组数据,从而,第三设备将所述组数据发送给该IP地址,可选的,第三设备将所述组数据发送给该IP地址和该端口号。当第一设备接收到第三设备发送至所述IP地址的组数据时,具体的,当第一设备接收到目的地址为所述IP地址的组数据时,或者当第一设备接收到目的地址为所述IP地址、目的端口号为所述端口号的组数据时,使用该层2地址向所述至少一个第二设备发送所述组数据。因此,已向第一设备请求该组数据的全部第二设备(如第二设备UE2-1何第二设备UE2-2)均可以从该层2地址对应的链路上接收到该组数据,第三设备无需分别向每个第二设备发送所述组数据,提高了数据传输效率。
在本发明实施例描述的数据通信方法中,第一设备接收至少一个第二设备发送的请求消息,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据,从而,所述至少一个第二设备从该层2地址上可以接收到所述组数据。采用本发明实施例,第一设备将第三设备发送给所述IP地址的组数据发送给向第一设备请求了该组数据的一个或多个第二设备,可以提高数据传输效率。
请参见图6,图6是本发明实施例提供的一种数据通信方法的另一交互示意图,本发明实施例中,该数据通信方法可以包括以下步骤。
本发明实施例中,第一设备可以接收1个或多个第二设备的请求消息,其中,所述多个第二设备向第一设备发送的请求消息中所携带的组标识相同。为方便描述,本发明实施例中将所述组数据首次被请求时所对应的请求终端称为“第二设备UE2-1”,将所述组数据不是首次被请求时所对应的请求终端称为“第二设备UE2-2”,值得说明的是,“第二设备UE2-1”、“第二设备UE2-2”仅用于描述目的,具体实现中,“第二设备UE2-2”可以是一个或多个第二设备的代称,具体的,本发明实施例不作限制。
S600:第二设备通过第一设备向第三设备注册。
具体技术细节可参照上述实施例中的步骤S500,此处不再赘述。为方便描述,假设第一设备和第二设备UE2-1建立通信连接后,第一设备分配给第二设备UE2-1的IP地址为“第一IP地址”,第二设备UE2-1用于接收所要请求的组数据的端口号为“第一端口号”。
S601:第二设备UE2-1使用第一IP地址和第一端口号向第三设备请求组数据。
本发明实施例中,第二设备UE2-1需要从第三设备上获取某一组数据时,若该组数据未被其它的第二设备请求过,如未监听到该组数据对应的组标识或该组标识对应的信息,即第二设备UE2-1与第三设备建立用于接收该组数据的通信连接之前第一设备未具备转发该组数据的功能。因此,第二设备UE2-1使用第一IP地址和第一端口号与第三设备建立用于接收所述组数据的通信连接,第二设备(包括第二设备UE2-1和第二设备UE2-2)通过该通信连接可以从第三设备接收单播形式分发的组数据。
本发明实施例中,第二设备UE2-1与第三设备建立所述通信连接的方式可以根据第一设备是否支持ALG-NAT(Application Layer Gateways-Network AddressTranslation,应用层网关-网络地址转换)功能包括两种实现方式。
作为其中一种实现方式,若第一设备支持ALG-NAT,则第二设备UE2-1与第三设备进行媒体协商建立应用层会话,第二设备用于传输数据的IP地址及端口号通过应用层消息发送至第三设备,并接收第三设备用于发送数据的第三设备的IP地址及端口号的应用层消息,以此建立第二设备与第三设备之间用于传输单播数据的通信连接。具体的,当使用SIP消息时,将第一IP地址和第一端口号作为会话初始协议(Session Initiation Protocol,SIP)消息中的会话描述协议(Session Description Protocol,SDP)消息体中的IP地址和端口号,并将所述SIP消息发送给第三设备,以向第三设备请求所述组数据,第二设备UE2-1与第三设备建立用于接收单播分发数据的通信连接。从而,第二设备UE2-1与第三设备通过协商可以互相交换用于接收或发送该组数据的IP地址和端口号。
作为另一种实现方式,若第一设备不支持ALG-NAT,则第二设备UE2-1将所述第一IP地址和第一端口号作为传输应用信令的数据包的源IP地址和源端口号,并将所述数据包发送给第三设备,该应用信令指示第三设备该第二设备用于传输单播数据的IP地址和端口号,实现向第三设备请求所述组数据,建立用于传输所述组数据的通信连接。从而,第二设备UE2-1与第三设备通过传输数据包互相交换用于接收或发送该组数据的IP地址和端口号。具体实现中,第二设备UE2-1可以采用相同的IP地址、不同的端口号来传输所述组标识对应的组数据和应用层信令消息,相应的,也可以采用相同的IP地址、相同的端口号来传输所述组标识对应的组数据和应用层信令消息,其中,所述传输包括发送和/或接收。第三设备可以采用相同的IP地址、不同的端口号来传输所述组标识对应的组数据和应用层信令消息,相应的,也可以采用相同的IP地址、相同的端口号来传输所述组标识对应的组数据和应用层信令消息,其中,所述传输包括发送和/或接收。具体的,本发明实施例不作限制。
具体实现中,由于第二设备(如UE2-1、UE2-2)需通过第一设备与网络侧通信,如从第三设备获取某组数据,因此,第二设备UE2-1与第三设备建立通信连接时,第一设备将第二设备UE2-1用于请求所述组数据的第一IP地址和第一端口号转换为第一设备用于接收该组数据的第三IP地址和第三端口号,其中,第一IP地址可以是私网IP地址,第三IP地址可以是公网IP地址。后续当第一设备接收到目的IP地址和目的端口号为第三IP地址和第三端口号的数据时,通过NAT地址转换,将数据的目的地址转换为第一IP地址和第一端口号,进而,可以将数据发送到第二设备UE2-1。
为方便描述,不论第二设备UE2-1是否采用不同的端口号接收第三设备发送的组数据和应用层信令消息,本发明实施例中,将第二设备UE2-1用于接收所述组数据的IP地址和端口号分别称为第一IP地址和第一端口号,相应的,不论第三设备是否采用不同的端口号发送所述组数据和应用层信令消息,本发明实施例中,将第三设备用于发送所述组数据的IP地址和端口号分别称为第四IP地址和第四端口号。值得说明的是,本发明实施例中的“第一”、“第二”、“第三”、“第四”仅用于描述目的。
S602:第二设备UE2-1向第一设备发送第一请求消息,所述第一请求消息携带组标识。
本发明实施例中,第二设备UE2-1通过第一设备与第三设备建立用于接收所述组数据的通信连接之后,向第一设备发送请求消息,为方便后续部分的描述,本发明实施例将该请求消息称为第一请求消息,所述第一请求消息中携带的组标识用于标识步骤S601中的组数据,其中,所述第一请求消息用于请求第一设备转发该组标识对应的组数据。
S603:第一设备判断是否已存在所述组标识对应的上下文。
具体实现中,第一设备接收到第二设备发送的第一请求消息后,第一设备判断是否已存在所述组标识对应的上下文,如是否存在该组标识对应的层2地址、第二IP地址等信息,具体的技术细节可参照上述实施例,如步骤S102,此处不再赘述。
S604:若不存在所述上下文,第一设备向第二设备UE2-1发送第二请求消息,所述第二请求消息携带所述组标识。
本发明实施例中,第一设备可以判断出第二设备UE2-1发送所述请求消息后,不存在该请求消息中所携带的组标识对应的上下文,因此,第一设备向第二设备UE2-1第二请求消息,并在所述第二请求消息中携带所述组标识,以使第二设备UE2-1返回第一IP地址和第一端口号,其中,第一IP地址和第一端口号为第二设备UE2-1向第三设备请求所述组数据时使用的IP地址和端口号。
S605:第二设备UE2-1向第一设备发送第二响应消息,所述第二响应消息携带第一IP地址和第一端口号。
作为一种可行的实施方式,若第二设备分别通过相同的IP地址、不同的端口号传输所述组标识对应的组数据和应用层信令消息(例如,通过IP地址XX1、端口号YY1接收所述组标识对应的组数据,通过IP地址XX1、端口号ZZ1传输所述组标识对应的应用层信令消息,其中,所述传输包括发送和接收,具体的,本发明实施例不作限制),则第二设备UE2-1接收到第一设备发送的第二请求消息后,从第二请求消息中解析出该第二请求消息所携带的组标识,并获取该组标识对应的第一IP地址和第一端口号,其中,第一IP地址和第一端口号为第二设备UE2-1向第三设备请求所述组标识对应的组数据时所使用的IP地址和端口号。第二设备UE2-1向第一设备发送第二响应消息,所述第二响应消息携带第一IP地址和第一端口号。从而,能够实现后续第一设备接收到经过地址转换后的数据包,且数据包的目的地址为第一IP地址、目的端口号为第一端口号的数据包时,将其发送到一个或多个第二设备。
作为另一种可行的实施方式,若第三设备分别通过相同的IP地址、不同的端口号传输所述组标识对应的组数据和应用层信令消息(例如,通过IP地址XX3、端口号YY3发送所述组标识对应的组数据,通过IP地址XX3、端口号ZZ3传输所述组标识对应的应用层信令消息,其中,所述传输包括发送和接收,具体的,本发明实施例不作限制),则第二设备UE2-1接收到第一设备发送的第二请求消息后,从第二请求消息中解析出该第二请求消息所携带的组标识,并获取该组标识对应的第一IP地址、第一端口号和第四IP地址、第四端口号;其中,第一IP地址和第一端口号为第二设备UE2-1向第三设备请求所述组标识对应的组数据时所使用的IP地址和端口号,第四IP地址和第四端口号为第三设备所使用的向第二设备发送所述组数据时所使用的IP地址和端口号。第二设备UE2-1向第一设备发送第二响应消息,所述第二响应消息携带第一IP地址、第一端口号、第四IP地址和第四端口号。从而,能够实现后续第一设备接收到经过地址转换后的数据包,且数据包的源地址为第四IP地址、源端口号为第四端口号、目的地址为第一IP地址、目的端口号为第一端口号的数据包时,将其发送到一个或多个第二设备。
S606:第一设备向第二设备UE2-1发送第一响应消息,所述第一响应消息携带所述组标识对应的层2地址、第二IP地址和第二端口号。
第一设备接收到第二设备UE2-1发送的第二响应消息后,根据组标识分配所述组标识对应的层2地址、第二IP地址和第二端口号。本实施例中,第一设备分配层2地址、IP地址、端口号等信息可以包括:第一设备在收到第二设备UE2-1的第二响应消息后分配层2地址、第二IP地址和第二端口号等信息,或第一设备预置了一些层2地址、IP地址、端口号等信息,当收到第二设备UE2-1的第二响应消息后,从预置的信息中选择一组层2地址、IP地址、端口号等信息作为该组标识对应的层2地址、第二IP地址、第二端口号。本发明实施例中,所述层2地址用于后续第一设备使用该层二地址将收到的发送至第二设备UE2-1的数据发送至所有请求转发该组数据的第二设备,从而第二设备UE2-1从该层2地址上监听并接收所述组数据,具体实现中,第二设备可以设置默认的用于接收所述组数据的端口号,因此,在所述第一响应消息中第二端口号为可选项。第一设备接收到第三设备发送的所述组数据后,将所述组数据路由至所述第二IP地址和第二端口号,从而,第二IP地址和第二端口号为第一设备发送所述组数据时所采用的目的IP地址和目的端口号。具体实现中,所述第二IP地址可以是IP组播地址,所述第二IP地址和第二端口号为第一设备分配的用于指示所述组数据的目的IP地址和目的端口号。
值得说明的是,第一设备发送给第二设备UE2-1的第一响应消息中还可以携带单播保持标识,以使第二设备UE2-1接收到第一设备返回的第一响应消息后保持步骤S601所建立的通信连接,从而,第二设备UE2-1保持从第三设备接收单播形式分发的所述组数据的通信连接。
为使第一设备将发送至第二设备UE2-1的组数据发送给所有向第一设备发出第一请求消息的第二设备,并使得第二设备在第二IP地址和第二端口号接收组数据。本发明实施例中,第一设备接收到第三设备发送给第二设备UE2-1的所述组数据时,本步骤后,第一设备应修改NAT转换表或路由表,具体的:
当第二设备UE2-1使用相同IP地址、不同端口号传输所述组标识对应的应用层信令和数据时,由于第一设备使用NAT功能将第二设备UE2-1用于请求所述组数据的第一IP地址和第一端口号转换为第一设备用于接收该组数据的第三IP地址和第三端口号。因此,当第一设备接收到发往所述第三IP地址和所述第三端口号的数据时,通过NAT地址转换为第一IP地址和第一端口号,根据第二设备UE2-1返回的第二响应消息,修改路由表将经过地址转化后的目的地址和目的端口号为第一IP地址和第一端口号的数据的目的地址修改为第二IP地址和第二端口号;若在第一响应消息中不包含端口号,则不改变数据的端口号,即仍为第一端口号,使得数据路由到第二IP地址和第二端口号,或第二IP地址和第一端口号。可选的,第一设备也可以修改NAT转化表实现上述目的,将发送至所述第三IP地址和所述第三端口号的数据的地址直接转换为第二IP地址和第二端口号,进行转发,若在第一响应消息中不包含端口号,则不改变数据的端口号,即转换为第二IP地址和第一端口号。
当第三设备使用相同IP地址、不同端口号传输所述组标识对应的应用层信令和数据时,同上,第一设备使用NAT功能将第二设备UE2-1用于请求所述组数据的第一IP地址和第一端口号转换为第一设备用于接收该组数据的第三IP地址和第三端口号。因此,当第一设备接收到发往所述第三IP地址和所述第三端口号的数据时,通过NAT地址转换为第一IP地址和第一端口号,根据第二设备UE2-1返回的第二响应消息,修改路由表将经过地址转化后的目的地址和目的端口为第一IP地址和第一端口号、且源地址和源端口号为第四IP地址和第四端口号的数据,修改其目的地址和目的端口号为第二IP地址和第二端口号;若在第一响应消息中不包含端口号,则不改变数据的端口号,即仍保持为第一端口号,使得数据重新路由到第二IP地址和第二端口,或重新路由到第二IP地址和第一端口。
S607、第一设备广播所述组标识或所述组标识对应的信息。
本发明实施例中,第一设备向第二设备UE2-1返回第一响应消息后,说明第一设备可以转发该第二设备所要请求的组数据,因此,第一设备可以广播所述组标识或所述组标识对应的信息。从而,后续如果存在其它的第二设备(如UE2-2)需要向第一设备请求该组标识对应的组数据时,若已监听到所述组标识或所述组标识对应的信息,则说明第一设备可以中转该组数据,因此,后续请求该组数据的第二设备可以直接向第一设备发送第一请求消息,以接收所述组数据,而无需与第三设备建立用于接收所述组数据的通信连接。在可选实施例中,所述第一响应消息中还可以携带与该组标识对应的更新定时器,新设置的更新定时器均存在一个预设时长,从而,该更新定时器可以用于指示广播所述组标识的剩余时长。当更新定时器对应的剩余时长为0时,若第二设备仍想继续监听该组数据,则第二设备需重新向第一设备发送请求消息,第一设备执行步骤S601;否则,第一设备停止中转该组数据,同时,删除该请求中的上下文等信息,从而,可以有效降低终端功耗,提高使用寿命。
S608、第二设备监听所述组标识或所述组标识对应的信息。
具体实现中,第一设备广播所述组标识或所述组标识对应的信息后,第二设备可以监听到该组标识或该组标识对应的信息,从而,可以获知第一设备当前可以转发第三设备发送的该组标识对应的组数据。于是,若第二设备UE2-2也需要接收该组数据,则可以向第一设备发送第一请求消息,并在第一请求消息中携带该组标识。
S609、第二设备UE2-2向第一设备发送第一请求消息,所述第一请求消息携带所述组标识。
本发明实施例中,由于第二设备UE2-2在需要请求所述组数据时已监听到第一设备广播的所述组标识或所述组标识对应的信息,因此,第二设备UE2-2向第一设备发送第一请求消息之前,无需与第三设备建立用于接收所述组数据的通信连接。值得说明的是,第二设备UE2-2与第二设备UE2-1发送的第一请求消息中所携带的组标识相同。具体的技术细节可以参照步骤S602,此处不再赘述。
S610、第一设备判断是否存在该组标识对应的上下文。
具体实现中,第一设备接收到第二设备发送的第一请求消息后,第一设备判断是否已存在所述组标识对应的上下文,如是否存在该组标识对应的层2地址、第二IP地址等信息,具体的技术细节可参照上述实施例,如步骤S102,此处不再赘述。
S611:第一设备向第二设备UE2-2发送第一响应消息,所述第一响应消息携带所述组标识对应的层2地址、第二IP地址和第二端口号。
本发明实施例中,由于第二设备UE2-2向第一设备发送所述第一请求消息之前,已存在第二设备UE2-1向第一设备发送过所述第一请求消息,且第一设备已分配该第一请求消息中的组标识对应的层2地址、第二IP地址等信息,因此,第一设备接收到第二设备UE2-2发送的所述第一请求消息之后,可以判断出已存在该组标识对应的上下文。
本发明实施例中,第一设备接收到第二设备发送的第一请求消息之后,若判断出已存在该第一请求消息中所携带的组标识对应的上下文,则直接获取该组标识对应的层2地址、第二IP地址和第二端口号,并向该第二设备返回第一响应消息,所述第一响应消息携带所获取到的层2地址、第二IP地址和第二端口号。值得说明的是,具体实现中,同步骤S606,第二端口号为可选项。
S612、第一设备接收第三设备发送给第二设备UE2-1的所述组数据。
具体实现中,当第一设备接收到经过地址转换后的目的IP地址和目的端口号分别为第一IP地址和第一端口号的数据时,或者,当第一设备接收到经过地址转换后的目的IP地址和目的端口号分别为第一IP地址和第一端口号、源IP地址和源端口号分别为第四IP地址和第四端口号的数据时,则根据步骤S606中第一设备在返回第一响应消息后的设置,第一设备将该数据包路由到第二IP地址和第二端口号,若第一响应消息不包含第二端口号,则仅修改接收数据的目的IP地址为第二IP地址。
S613、第一设备使用所述层2地址发送所述组数据。
本发明实施例中,第二设备UE2-1和第二设备UE2-2均向第一设备请求了获取所述组数据,其中,第二设备UE2-2可以是一个或多个第二设备,具体的,本发明实施例不做限制。
当第一设备接收到第三设备发送给第二设备UE2-1的所述组数据时,将所述组数据发送至第二IP地址和第二端口号上,并使用所述层2地址在数据链路层发送所述组数据。从而,已从第一设备接收到第一响应消息的一个或多个第二设备均可以从所述层2地址上监听并接收到所述组数据,第一设备实现了单播数据到多播数据的中继。
在本发明实施例描述的数据通信方法中,第一设备接收至少一个第二设备发送的第一请求消息,所述第一请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回第一响应消息,所述第一响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述至少一个第二设备中的其中一个第二设备的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。采用本发明实施例,第一设备将第三设备发送给其中一个第二设备的组数据发送给向第一设备请求了该组数据的一个或多个第二设备,可以提高数据传输效率。
需要说明的是,本实施例不限制第二设备UE2-1与第三设备建立接收组数据的通信连接的顺序,即第二设备UE2-1可以是在发出第一请求消息之前建立与第三设备的用于传输所述组数据的通信连接,当接收到第一设备发送的第二请求消息时,根据所建立的通信连接返回第二响应消息;也可以是在接收到第二请求消息之后,建立与第三设备的用于传输所述组数据的通信连接,并在完成所述通信建立后,返回第二响应消息。具体的,本发明实施例不作限制。
下面为本发明装置实施例,本发明装置实施例与本发明方法实施例属于同一构思,用于执行本发明方法实施例中描述的方法。为了便于说明,本发明装置实施例仅示出与本发明装置实施例相关的部分,具体技术细节未揭示的,请参照本发明方法实施例的描述,此处不再一一赘述。
为方便理解,值得说明的是,图7、图8和图9所述实施例中提及的设备对应上述实施例中的第一设备,具体的技术细节可以参照图1、图2、图2a所描述的方法实施例;图10、图11和图12所描述的实施例中所提述的设备对应上述实施例中的第二设备,具体的技术细节可以参照图3、图4、图4a所描述的方法实施例,此处不再赘述。
请参见图7,图7是本发明实施例提供的一种设备的结构示意图,在本发明实施例中,该设备可以包括:第一接收模块101、第一返回模块102和第一发送模块103。
第一接收模块101,用于接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述设备转发组数据,所述请求消息携带组标识。
第一返回模块102,用于向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址。
第一发送模块103,用于当接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据。
在本发明实施例描述的设备中,第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。采用本发明实施例,第一设备使用所述层2地址发送所述组数据,从而,已向所述第一设备请求了该组数据的一个或多个第二设备均可以从所述层2地址上接收所述组数据,提高数据传输效率。
请参见图8,图8是本发明实施例提供的一种设备的另一结构示意图,在本发明实施例中,该设备除包括上述实施例中所描述的第一接收模块101、第一返回模块102和第一发送模块103外,还可以包括:判断模块201、分配模块202、获取模块203和广播模块204。
在可选的实现方式中,所述IP地址为所述设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的IP地址。
在另一可选的实现方式中,所述响应消息还携带所述组标识对应的端口号;所述端口号为所述第一设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的端口号。
在另一可选的实现方式中,所述设备还可以包括判断模块201和分配模块202,其中,判断模块201用于第一接收模块101接收至少一个第二设备发送的请求消息之后,判断是否已存在所述组标识对应的上下文。分配模块202,用于若不存在所述上下文,分配所述组标识对应的所述层2地址和所述IP地址;其中,所述第一返回模块返回的响应消息携带所述分配模块所分配的所述层2地址和所述IP地址。
在另一可选的实现方式中,所述设备还可以包括获取模块203,用于若存在所述上下文,获取所述组标识对应的所述层2地址和所述IP地址;其中,第一返回模块102返回的响应消息携带所述获取模块所获取的所述层2地址和所述IP地址。
在另一可选的实现方式中,若不存在所述上下文,第一返回模块102返回的响应消息还携带单播指示标识,以使所述至少一个第二设备使用所述IP地址向所述第三设备请求所述组数据。
在另一可选的实现方式中,第一接收模块101还用于,第一返回模块102向所述至少一个第二设备返回响应消息之后,接收目标第二设备发送的第一消息;其中,所述目标第二设备为所述至少一个第二设备中未监听到所述组标识或所述组标识对应的信息的第二设备,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息;判断模块201还可以用于,判断是否属于首次接收所述第一消息;第一返回模块102还用于,若所述第一设备属于首次接收所述第一消息,向所述目标第二设备返回第二消息,以使所述任一第二设备保持与所述第三设备用于接收所述组数据的通信连接。
在另一可选的实现方式中,第一返回模块102还用于,若所述第一设备不属于首次接收所述第一消息,向所述目标第二设备返回第三消息,以使所述目标第二设备释放与所述第三设备用于接收所述组数据的通信连接。
在另一可选的实现方式中,所述设备还可以包括广播模块204,用于所述第一返回模块向所述目标第二设备返回所述第二消息之后,广播所述组标识或广播所述组标识对应的信息。
在本发明实施例描述的设备中,第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。采用本发明实施例,第一设备使用所述层2地址发送所述组数据,从而,已向所述第一设备请求了该组数据的一个或多个第二设备均可以从所述层2地址上接收所述组数据,提高数据传输效率。
请参见图9,图9是本发明实施例提供的一种设备的又一结构示意图,在本发明实施例中,该设备包括存储器10和处理器20,存储器10和处理器20通过总线12连接。
本发明实施例中,存储器10中保存有用于第一设备实现数据通信方法的指令,处理器20调取并执行存储器10中的指令,实现第一设备处理的数据通信方法。本发明实施例中,所述设备的技术原理和技术效果可以参考图1、图2、图2a、图7、图8所示实施例中关于第一设备的相关描述,此处不再赘述。
请参见图10,图10是本发明实施例提供的一种设备的再一结构示意图,在本发明实施例中,该设备可以包括:第二发送模块301、第二接收模块302和第三接收模块303。
第二发送模块301,用于向第一设备发送请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识。
第二接收模块302,用于接收所述第一设备返回的响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;其中,所述第一设备用于接收至少一个所述设备发送的请求消息,并在接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据。
第三接收模块303,用于从所述层2地址上接收所述组数据。
在本发明实施例描述的设备中,第二设备向第一设备发送请求消息,所述请求消息携带组标识;第二设备接收第一设备返回的响应消息,所述响应消息携带组标识对应的层2地址和IP地址;其中,第一设备接收到第三设备发送至该IP地址的所述组数据时,使用层2地址发送所述组数据;第二设备从所述层2地址上接收所述组数据。采用本发明实施例,第一设备使用层2地址转发第三设备发送给所述IP地址的所述组数据,从而,已向第一设备请求了该组数据的一个或多个第二设备均可以从该层2地址上接收所述组数据,可以提高数据传输效率。
请参见图11,图11是本发明实施例提供的一种设备的再一结构示意图,在本发明实施例中,该设备除包括上述实施例中所描述的第二发送模块301、第二接收模块302和第三接收模块303外,还可以包括:请求模块401、保持模块402和释放模块403。
在可选的实现方式中,所述响应消息还携带所述组标识对应的端口号;其中,所述IP地址和所述端口号为所述第一设备分配的用于所述设备请求所述组数据的IP地址和端口号。
在另一可选的实现方式中,所述设备还可以包括请求模块401,用于第二接收模块302接收所述第一设备返回的响应消息之后,使用所述IP地址向所述第三设备请求所述组数据;或者,使用所述IP地址和所述端口号向所述第三设备请求所述组数据。
在另一可选的实现方式中,若所述设备未监听到所述组标识或所述组标识对应的信息,请求模块401向所述第三设备请求所述组数据;或者,若所述响应消息还携带单播指示标识,请求模块401向所述第三设备请求所述组数据。
在另一可选的实现方式中,第二发送模块301还用于请求模块401成功向所述第三设备请求所述组数据之后,向所述第一设备发送第一消息;保持模块402,用于若接收到所述第一设备返回的第二消息,保持与所述第三设备用于接收所述组数据的通信连接;释放模块403,用于若接收到所述第一设备返回的第三消息,释放与所述第三设备用于接收所述组数据的通信连接。
在另一可选的实现方式中,请求模块401具体用于:
将所述IP地址和/或所述端口号作为传输应用信令的数据包的源IP地址和/或源端口号,并将所述数据包发送给所述第三设备,以向所述第三设备请求所述组数据;或者,
将所述IP地址和/或所述端口号作为会话初始协议SIP消息中的会话描述协议SDP消息体中的IP地址和/或端口号,并将所述SIP消息发送给所述第三设备,以向所述第三设备请求所述组数据。
在本发明实施例描述的设备中,第二设备向第一设备发送请求消息,所述请求消息携带组标识;第二设备接收第一设备返回的响应消息,所述响应消息携带组标识对应的层2地址和IP地址;其中,第一设备接收到第三设备发送至该IP地址的所述组数据时,使用层2地址发送所述组数据;第二设备从所述层2地址上接收所述组数据。采用本发明实施例,第一设备使用层2地址转发第三设备发送给所述IP地址的所述组数据,从而,已向第一设备请求了该组数据的一个或多个第二设备均可以从该层2地址上接收所述组数据,可以提高数据传输效率。
请参见图12,图12是本发明实施例提供的一种设备的再一结构示意图,在本发明实施例中,该设备包括存储器30和处理器40,存储器30和处理器40通过总线34连接。
本发明实施例中,存储器30中保存有用于第二设备实现数据通信方法的指令,处理器40调取并执行存储器30中的指令,实现第二设备处理的数据通信方法。本发明实施例中,所述设备的技术原理和技术效果可以参考图3、图4、图4a、图10、图11所示实施例中关于第二设备的相关描述,此处不再赘述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。此外,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的内容下载方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (38)
1.一种数据通信方法,其特征在于,包括:
第一设备接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;
当接收到第三设备发送至所述IP地址的所述组数据时,所述第一设备使用所述层2地址发送所述组数据。
2.如权利要求1所述的方法,其特征在于,所述IP地址为所述第一设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的IP地址。
3.如权利要求1所述的方法,其特征在于,所述响应消息还携带所述组标识对应的端口号;所述端口号为所述第一设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的端口号。
4.如权利要求1所述的方法,其特征在于,所述第一设备接收至少一个第二设备发送的请求消息之后,所述方法还包括:
所述第一设备判断是否已存在所述组标识对应的上下文;
若否,所述第一设备分配所述组标识对应的所述层2地址和所述IP地址;
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址,包括:
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所分配的所述层2地址和所述IP地址。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若存在所述上下文,所述第一设备获取所述组标识对应的所述层2地址和所述IP地址;
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址,包括:
所述第一设备向所述至少一个第二设备返回响应消息,所述响应消息携带所获取的所述层2地址和所述IP地址。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
若不存在所述上下文,所述响应消息还携带单播指示标识,以使所述至少一个第二设备使用所述IP地址向所述第三设备请求所述组数据。
7.如权利要求1-6任一项所述的方法,其特征在于,所述第一设备向所述至少一个第二设备返回响应消息之后,所述方法还包括:
所述第一设备接收目标第二设备发送的第一消息;其中,所述目标第二设备为所述至少一个第二设备中未监听到所述组标识或所述组标识对应的信息的第二设备,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息;
若所述第一设备属于首次接收所述第一消息,则所述第一设备向所述目标第二设备返回第二消息,以使所述目标第二设备保持与所述第三设备用于接收所述组数据的通信连接。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
若所述第一设备不属于首次接收所述第一消息,则所述第一设备向所述目标第二设备返回第三消息,以使所述目标第二设备释放与所述第三设备用于接收所述组数据的通信连接。
9.如权利要求7所述的方法,其特征在于,所述第一设备向所述目标第二设备返回所述第二消息之后,所述方法还包括:
所述第一设备广播所述组标识或广播所述组标识对应的信息。
10.一种数据通信方法,其特征在于,包括:
第二设备向第一设备发送请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;
所述第二设备接收所述第一设备返回的响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;其中,所述第一设备用于接收至少一个第二设备发送的请求消息,并在接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据;
所述第二设备从所述层2地址上接收所述组数据。
11.如权利要求10所述的方法,其特征在于,所述响应消息还携带所述组标识对应的端口号;其中,所述IP地址和所述端口号为所述第一设备分配的用于所述第二设备请求所述组数据的IP地址和端口号。
12.如权利要求11所述的方法,其特征在于,所述第二设备接收所述第一设备返回的响应消息之后,所述方法还包括:
所述第二设备使用所述IP地址向所述第三设备请求所述组数据;或者,
所述第二设备使用所述IP地址和所述端口号向所述第三设备请求所述组数据。
13.如权利要求12所述的方法,其特征在于,所述第二设备向所述第三设备请求所述组数据,包括:
若所述第二设备未监听到所述组标识或所述组标识对应的信息,所述第二设备向所述第三设备请求所述组数据;或者,
若所述响应消息还携带单播指示标识,所述第二设备向所述第三设备请求所述组数据。
14.如权利要求12所述的方法,其特征在于,所述第二设备成功向所述第三设备请求所述组数据之后,所述方法还包括:
所述第二设备向所述第一设备发送第一消息;
若接收到所述第一设备返回的第二消息,所述第二设备保持与所述第三设备用于接收所述组数据的通信连接;
若接收到所述第一设备返回的第三消息,所述第二设备释放与所述第三设备用于接收所述组数据的通信连接。
15.如权利要求13所述的方法,其特征在于,所述第二设备成功向所述第三设备请求所述组数据之后,所述方法还包括:
所述第二设备向所述第一设备发送第一消息;
若接收到所述第一设备返回的第二消息,所述第二设备保持与所述第三设备用于接收所述组数据的通信连接;
若接收到所述第一设备返回的第三消息,所述第二设备释放与所述第三设备用于接收所述组数据的通信连接。
16.如权利要求12所述的方法,其特征在于,所述第二设备向所述第三设备请求所述组数据,包括:
将所述IP地址和/或所述端口号作为传输应用信令的数据包的源IP地址和/或源端口号,并将所述数据包发送给所述第三设备,以向所述第三设备请求所述组数据;或者,
将所述IP地址和/或所述端口号作为会话初始协议SIP消息中的会话描述协议SDP消息体中的IP地址和/或端口号,并将所述SIP消息发送给所述第三设备,以向所述第三设备请求所述组数据。
17.如权利要求13所述的方法,其特征在于,所述第二设备向所述第三设备请求所述组数据,包括:
将所述IP地址和/或所述端口号作为传输应用信令的数据包的源IP地址和/或源端口号,并将所述数据包发送给所述第三设备,以向所述第三设备请求所述组数据;或者,
将所述IP地址和/或所述端口号作为会话初始协议SIP消息中的会话描述协议SDP消息体中的IP地址和/或端口号,并将所述SIP消息发送给所述第三设备,以向所述第三设备请求所述组数据。
18.一种数据通信设备,其特征在于,包括:
第一接收模块,用于接收至少一个第二设备发送的请求消息,所述请求消息用于请求所述数据通信设备转发组数据,所述请求消息携带组标识;
第一返回模块,用于向所述至少一个第二设备返回响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;
第一发送模块,用于当接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据。
19.如权利要求18所述的数据通信设备,其特征在于,所述IP地址为所述数据通信设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的IP地址。
20.如权利要求18所述的数据通信设备,其特征在于,所述响应消息还携带所述组标识对应的端口号;所述端口号为所述数据通信设备分配的用于所述至少一个第二设备向所述第三设备请求所述组数据的端口号。
21.如权利要求18所述的数据通信设备,其特征在于,所述数据通信设备还包括:
判断模块,用于所述第一接收模块接收至少一个第二设备发送的请求消息之后,判断是否已存在所述组标识对应的上下文;
分配模块,用于若不存在所述上下文,分配所述组标识对应的所述层2地址和所述IP地址;
其中,所述第一返回模块返回的响应消息携带所述分配模块所分配的所述层2地址和所述IP地址。
22.如权利要求21所述的设备,其特征在于,所述数据通信设备还包括:
获取模块,用于若存在所述上下文,获取所述组标识对应的所述层2地址和所述IP地址;
其中,所述第一返回模块返回的响应消息携带所述获取模块所获取的所述层2地址和所述IP地址。
23.如权利要求21所述的数据通信设备,其特征在于,若不存在所述上下文,所述第一返回模块返回的响应消息还携带单播指示标识,以使所述至少一个第二设备使用所述IP地址向所述第三设备请求所述组数据。
24.如权利要求18-23任一项所述的数据通信设备,其特征在于,
所述第一接收模块还用于,所述第一返回模块向所述至少一个第二设备返回响应消息之后,接收目标第二设备发送的第一消息;其中,所述目标第二设备为所述至少一个第二设备中未监听到所述组标识或所述组标识对应的信息的第二设备,所述第一消息为所述目标第二设备成功向所述第三设备请求所述组数据后发送的消息;
所述第一返回模块还用于,若所述数据通信设备属于首次接收所述第一消息,向所述目标第二设备返回第二消息,以使所述目标第二设备保持与所述第三设备用于接收所述组数据的通信连接。
25.如权利要求24所述的数据通信设备,其特征在于,所述第一返回模块还用于,若所述数据通信设备不属于首次接收所述第一消息,向所述目标第二设备返回第三消息,以使所述目标第二设备释放与所述第三设备用于接收所述组数据的通信连接。
26.如权利要求24所述的数据通信设备,其特征在于,所述数据通信设备还包括:
广播模块,用于所述第一返回模块向所述目标第二设备返回所述第二消息之后,广播所述组标识或广播所述组标识对应的信息。
27.一种数据通信设备,其特征在于,包括:
第二发送模块,用于向第一设备发送请求消息,所述请求消息用于请求所述第一设备转发组数据,所述请求消息携带组标识;
第二接收模块,用于接收所述第一设备返回的响应消息,所述响应消息携带所述组标识对应的层2地址和IP地址;其中,所述第一设备用于接收至少一个所述数据通信设备发送的请求消息,并在接收到第三设备发送至所述IP地址的所述组数据时,使用所述层2地址发送所述组数据;
第三接收模块,用于从所述层2地址上接收所述组数据。
28.如权利要求27所述的数据通信设备,其特征在于,所述响应消息还携带所述组标识对应的端口号;其中,所述IP地址和所述端口号为所述第一设备分配的用于所述数据通信设备请求所述组数据的IP地址和端口号。
29.如权利要求27所述的数据通信设备,其特征在于,所述数据通信设备还包括:
请求模块,用于所述第二接收模块接收所述第一设备返回的响应消息之后,使用所述IP地址向所述第三设备请求所述组数据。
30.如权利要求28所述的数据通信设备,其特征在于,所述数据通信设备还包括:
请求模块,用于所述第二接收模块接收所述第一设备返回的响应消息之后,使用所述IP地址向所述第三设备请求所述组数据;或者,使用所述IP地址和所述端口号向所述第三设备请求所述组数据。
31.如权利要求29所述的数据通信设备,其特征在于,若所述数据通信设备未监听到所述组标识或所述组标识对应的信息,所述请求模块向所述第三设备请求所述组数据;或者,
若所述响应消息还携带单播指示标识,所述请求模块向所述第三设备请求所述组数据。
32.如权利要求30所述的数据通信设备,其特征在于,若所述数据通信设备未监听到所述组标识或所述组标识对应的信息,所述请求模块向所述第三设备请求所述组数据;或者,
若所述响应消息还携带单播指示标识,所述请求模块向所述第三设备请求所述组数据。
33.如权利要求29至32任意一项所述的数据通信设备,其特征在于,所述第二发送模块,还用于所述请求模块成功向所述第三设备请求所述组数据之后,向所述第一设备发送第一消息;
所述数据通信设备还包括:
保持模块,用于若接收到所述第一设备返回的第二消息,保持与所述第三设备用于接收所述组数据的通话连接;
释放模块,用于若接收到所述第一设备返回的第三消息,释放与所述第三设备用于接收所述组数据的通信连接。
34.如权利要求30或32任意一项所述的数据通信设备,其特征在于,所述请求模块具体用于:
将所述IP地址和/或所述端口号作为传输应用信令的数据包的源IP地址和/或源端口号,并将所述数据包发送给所述第三设备,以向所述第三设备请求所述组数据;或者,
将所述IP地址和/或所述端口号作为会话初始协议SIP消息中的会话描述协议SDP消息体中的IP地址和/或端口号,并将所述SIP消息发送给所述第三设备,以向所述第三设备请求所述组数据。
35.一种数据通信设备,包括存储器和处理器,所述存储器和所述处理器通过总线连接,其特征在于:所述存储器中保存有实现如权利要求1-9任一项所述的数据通信方法的指令,所述处理器调取并执行所述存储器中的指令,实现如权利要求1-9任一项所述的数据通信方法。
36.一种数据通信设备,包括存储器和处理器,所述存储器和所述处理器通过总线连接,其特征在于:所述存储器中保存有实现如权利要求10-17任一项所述的数据通信方法的指令,所述处理器调取并执行所述存储器中的指令,实现如权利要求10-17任一项所述的数据通信方法。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被硬件执行时能够实现1-9任一项所述的数据通信方法。
38.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被硬件执行时能够实现10-17任一项所述的数据通信方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/071034 WO2016115669A1 (zh) | 2015-01-19 | 2015-01-19 | 一种数据通信方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107211483A CN107211483A (zh) | 2017-09-26 |
CN107211483B true CN107211483B (zh) | 2020-07-24 |
Family
ID=56416255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580073957.1A Active CN107211483B (zh) | 2015-01-19 | 2015-01-19 | 一种数据通信方法及终端 |
Country Status (3)
Country | Link |
---|---|
US (2) | US9967918B2 (zh) |
CN (1) | CN107211483B (zh) |
WO (1) | WO2016115669A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE538778C2 (en) * | 2014-11-07 | 2016-11-15 | Crunchfish Ab | Selective user interaction in a dynamic, proximity-based group of wireless communication devices |
JPWO2016158266A1 (ja) * | 2015-03-31 | 2018-01-25 | 株式会社Nttドコモ | ユーザ装置 |
KR102489729B1 (ko) * | 2018-02-07 | 2023-01-18 | 삼성전자주식회사 | 연결 정보에 기반하여 외부 장치들과 연결하는 전자 장치 및 그 동작 방법 |
WO2019230583A1 (ja) * | 2018-05-29 | 2019-12-05 | 京セラ株式会社 | 移動通信システム及び無線端末 |
US20210385883A1 (en) * | 2018-09-27 | 2021-12-09 | Lenovo (Beijing) Limited | Method and apparatus for unicast connection establishment |
US12047849B2 (en) * | 2018-11-08 | 2024-07-23 | Lenovo (Beijing) Limited | Method and apparatus for groupcast connection establishment and transmission |
WO2020142662A1 (en) * | 2019-01-03 | 2020-07-09 | Avive Solutions, Inc. | Defibrillator communications architecture |
US11403942B2 (en) * | 2019-06-14 | 2022-08-02 | Lg Electronics Inc. | Remote driving method using another autonomous vehicle in automated vehicle and high systems |
CN113163342B (zh) * | 2020-01-22 | 2022-06-07 | 维沃移动通信有限公司 | 承载建立方法、配置方法、终端及网络侧设备 |
CN114520965B (zh) * | 2020-11-19 | 2024-03-01 | 瑞昱半导体股份有限公司 | 无线中继装置及用于无线中继装置的配置方法 |
CN115714985A (zh) * | 2021-08-20 | 2023-02-24 | 维沃移动通信有限公司 | 地址转换控制方法、装置、终端及网元 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283979A (zh) * | 2013-07-11 | 2015-01-14 | 华为技术有限公司 | 组播域名系统中报文传输的方法、装置及系统 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457289B2 (en) * | 2002-12-16 | 2008-11-25 | Cisco Technology, Inc. | Inter-proxy communication protocol for mobile IP |
JP3714340B2 (ja) * | 2003-05-20 | 2005-11-09 | 日本電気株式会社 | プレゼンスサービスを応用したアクセスポイント高速接続方法 |
US20060007930A1 (en) * | 2004-07-09 | 2006-01-12 | Dorenbosch Jheroen P | Downlink multicast method in wireless internet protocol system |
KR100736933B1 (ko) * | 2004-09-14 | 2007-07-10 | 삼성전자주식회사 | 이동단말의 제어방법 |
JP4577222B2 (ja) * | 2006-01-20 | 2010-11-10 | 株式会社デンソー | 移動通信システム、無線基地局、および配信方法 |
JP4773387B2 (ja) * | 2007-03-19 | 2011-09-14 | 株式会社日立製作所 | ネットワークシステム |
US20090327434A1 (en) * | 2008-06-30 | 2009-12-31 | Nokia Corporation | Method, Apparatus, and Computer Program Product for Anonymous Polling |
JP4931888B2 (ja) * | 2008-09-29 | 2012-05-16 | アラクサラネットワークス株式会社 | 転送装置、転送方法、およびコンピュータプログラム |
US9131004B2 (en) * | 2009-04-26 | 2015-09-08 | Jeffrey Alan Carley | Method and apparatus for network address resolution |
US9246763B2 (en) * | 2010-02-11 | 2016-01-26 | Nokia Solutions And Networks Oy | Device management |
TW201134284A (en) * | 2010-03-29 | 2011-10-01 | Gemtek Technology Co Ltd | Streaming data relay apparatus and related wireless gateway apparatus |
US8582423B2 (en) * | 2010-08-04 | 2013-11-12 | Alcatel Lucent | Multi-chassis inter-process communication |
US9300540B2 (en) * | 2010-11-09 | 2016-03-29 | Avaya Inc. | Multicast network diagnostics |
WO2013009902A1 (en) * | 2011-07-12 | 2013-01-17 | Huawei Technologies Co., Ltd. | System and method for direct multi-user transmission |
US8984606B2 (en) * | 2011-12-22 | 2015-03-17 | Hewlett-Packard Development Company, L.P. | Re-authentication |
KR20150085037A (ko) | 2012-11-13 | 2015-07-22 | 엘지전자 주식회사 | 단말 릴레이 기능을 지원하는 방법 및 장치 |
US20140351445A1 (en) * | 2013-05-24 | 2014-11-27 | Qualcomm Incorporated | Mac layer transport for wi-fi direct services application service platform without internet protocol |
-
2015
- 2015-01-19 CN CN201580073957.1A patent/CN107211483B/zh active Active
- 2015-01-19 WO PCT/CN2015/071034 patent/WO2016115669A1/zh active Application Filing
-
2017
- 2017-07-19 US US15/654,284 patent/US9967918B2/en active Active
-
2018
- 2018-04-04 US US15/945,290 patent/US10187927B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283979A (zh) * | 2013-07-11 | 2015-01-14 | 华为技术有限公司 | 组播域名系统中报文传输的方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
Technical Specification Group Services and System Aspects;Proximity-based services (ProSe);Stage 2 (Release 12);3rd Generation Partnership Project;;《3GPP TS 23.303 V12.3.0》;20141217;全文 * |
Technical Specification Group Services and System Aspects;Study on extended architecture support for Proximity-based services (Release 13);3rd Generation Partnership Project;;《3GPP TR 23.713 V0.3.0》;20141202;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2016115669A1 (zh) | 2016-07-28 |
US20170318622A1 (en) | 2017-11-02 |
US20180227984A1 (en) | 2018-08-09 |
US10187927B2 (en) | 2019-01-22 |
CN107211483A (zh) | 2017-09-26 |
US9967918B2 (en) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107211483B (zh) | 一种数据通信方法及终端 | |
WO2019080690A1 (zh) | 一种通信系统、通信方法及其装置 | |
KR101950446B1 (ko) | 셀룰러 네트워크 멀티캐스트 전송에서의 멀티캐스트 그룹 재사용 | |
WO2017051503A1 (ja) | 通信システム、リレー端末、リモート端末及び通信制御方法 | |
CN106888450B (zh) | 信息处理方法及装置 | |
RU2011117236A (ru) | Обработка трафика локального непосредственного соединения в домашней базовой станции | |
BRPI0608949A2 (pt) | sistema e método para distribuir pacotes de dados voip em comunicações de grupo dentre dispositivos de telecomunicações sem fio | |
WO2018086451A1 (zh) | 终端接入网络的方法及装置、下行数据投递方法及装置 | |
WO2008065531A4 (en) | COMMUNICATION SYSTEM | |
CN106470380A (zh) | 设备到设备标识冲突的解决方法、设备到设备用户设备 | |
CN111556539A (zh) | Ue执行的方法及ue、以及smf实体执行的方法及smf实体 | |
WO2017024909A1 (zh) | 一种进行数据传输的方法和设备 | |
US8094563B2 (en) | Method and system for integration of trunking and conventional land mobile radio systems | |
KR20160045618A (ko) | 기기 간(d2d) 통신을 처리하는 방법 및 시스템 | |
KR20140134943A (ko) | 통신 망에서 소프트웨어 정의 네트워크를 이용한 데이터 전달 장치 및 방법 | |
CN112584461B (zh) | 路由器通告消息发送方法及装置 | |
KR20120053608A (ko) | 광대역 무선 접속 시스템에서 동적 멀티캐스트 경로 할당 장치 및 방법 | |
CN114765600B (zh) | 一种IPv6地址的配置方法及路由设备 | |
US8270407B2 (en) | Managing data streams in communication system | |
JPWO2005006800A1 (ja) | ページング制御方法、ページング制御装置および無線アクセスネットワーク | |
CN111556587B (zh) | 一种数据流传输方法、设备及系统 | |
CN104144403B (zh) | 一种通信方法及设备、系统 | |
KR101922041B1 (ko) | D2d 통신에서의 ip 주소 할당 방법 및 사용자 기기 | |
US20110044337A1 (en) | System and method for providing iptv service | |
CN107197446B (zh) | 一种ma配置方法、系统及设备 |
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 |