CN108471558A - 一种混合数据传输方法、数据传输方法及相关设备 - Google Patents
一种混合数据传输方法、数据传输方法及相关设备 Download PDFInfo
- Publication number
- CN108471558A CN108471558A CN201710100135.9A CN201710100135A CN108471558A CN 108471558 A CN108471558 A CN 108471558A CN 201710100135 A CN201710100135 A CN 201710100135A CN 108471558 A CN108471558 A CN 108471558A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- data
- server
- group
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/632—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6402—Address allocation for clients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信领域,公开了一种混合数据传输方法、数据传输方法及相关设备,以解决现有技术中基于P2P方式进行数据传输过程中存在着严重的时延的技术问题。该系统包括:第一服务器,用于确定出加入某一群组的节点信息;基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;将所述转发路径信息发送至每条转发路径所对应的起始节点;第二服务器,用于基于所述起始节点的数据获取请求将数据发送至所述起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。缓解了现有技术中基于P2P方式进行数据传输的时延问题。
Description
技术领域
本发明涉及通信领域,尤其涉及一种混合数据传输方法、数据传输方法及相关设备。
背景技术
直播应用最大的开销在于服务器的带宽费用,采用部分用户走P2P(peer topeer:点对点)方式的直播可以节省大量费用。然而P2P方式的直播最大的问题是:所依赖的用于传输数据的其他客户端不够稳定,随时可能掉线。
现有技术中,在通过P2P方式进行直播数据的传输时,一个节点通过向其上一跳节点预约直播数据,彼此之间建立P2P连接,通常一个节点只与一个上一跳节点建立P2P连接,而在该节点的上一跳节点掉线的情况下,则需要向第一服务器重新请求在线的相邻节点信息,服务器向该节点下发在线的相邻节点信息,由该节点重新建立连接,一方面连接不一定会成功建立,另一方面即使建立成功了,也会有耗时,造成初期的等待时间,由此可见,现有技术中基于P2P方式进行数据传输过程中存在着严重的时延的技术问题。
发明内容
本发明提供一种混合数据传输方法、数据传输方法及相关设备,以缓解现有技术中基于P2P方式进行数据传输过程中存在着严重的时延的技术问题。
第一方面,本发明实施例提供一种混合数据传输方法,包括:
接收第一节点发送的加入某一群组的加入群组请求;
判断所述第一节点是否满足预设条件;
如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;
如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据。
第二方面,本发明实施例提供一种混合数据传输系统,包括:第一服务器和第二服务器;
所述第一服务器,用于接收第一节点发送的加入某一群组的加入群组请求;判断所述第一节点是否满足预设条件;如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据;
所述第二服务器,用于向特定节点发送所述群组的数据。
第三方面,本发明实施例提供一种第一服务器,包括:
请求接收模块,用于接收第一节点发送的加入某一群组的加入群组请求;
节点判断模块,用于判断所述第一节点是否满足预设条件;
节点发送模块,用于如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;
地址发送模块,用于如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据。
第四方面,本发明实施例提供一种数据传输系统,包括:
第一服务器,用于确定出加入某一群组的节点信息;基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;将所述转发路径信息发送至每条转发路径所对应的起始节点;
第二服务器,用于基于所述起始节点的数据获取请求将数据发送至所述起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第五方面,本发明实施例提供一种第一服务器,包括:
第一确定模块,用于确定出加入某一群组的节点信息;
第二确定模块,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第一发送模块,用于将所述转发路径信息发送至每条转发路径所对应的起始节点,以使所述起始节点基于所述转发路径信息从第二服务器获取数据,并将所述数据基于所述转发路径信息发送给所述群组的各个节点。
第六方面,本发明实施例提供一种第二服务器,包括:
第二接收模块,用于接收至少两个起始节点发送的数据获取请求,所述至少两个起始节点为转发路径信息所包含的至少两条转发路径所对应的起始节点,所述至少两条转发路径所经过的节点存在重叠,所述转发路径信息由第一服务器基于加入某一群组的节点信息所确定;
第三发送模块,用于基于所述数据获取请求向所述至少两个起始节点发送数据,以使所述至少两个起始节点将所述数据基于所述至少两条转发路径发送至所述群组的各个节点。
第七方面,本发明实施例提供一种终端,包括:
第三接收模块,用于接收某一群组的数据;
第五确定模块,用于获得用于发送所述数据的转发路径信息,所述转发路径信息由第一服务器基于加入所述群组的节点信息所确定,所述第一服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第一转发模块,用于将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第八方面,本发明实施例提供一种数据传输系统,包括:第一服务器以及第二服务器;
所述第一服务器,用于确定出加入某一群组的节点信息;以及将所述节点信息发送至所述第二服务器;
所述第二服务器,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;以及将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第九方面,本发明实施例提供一种第二服务器,包括:
第五接收模块,用于接收第一服务器发送的加入某一群组的节点信息;
第六确定模块,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第八发送模块,用于将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第十方面,本发明实施例提供一种第一服务器,包括:
第七确定模块,用于确定出加入某一群组的节点信息;
第十发送模块,用于将所述节点信息发送至所述第二服务器,以使所述第二服务器基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
其中,所述转发路径信息用于所述第二服务器基于所述转发路径信息将数据发送给所述群组的各个节点。
第十一方面,本发明实施例提供一种终端,包括:
第七接收模块,用于接收某一群组的数据;
第十确定模块,用于获得用于发送所述数据的转发路径信息,所述转发路径信息由第二服务器基于加入所述群组的节点信息所确定,所述第二服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第二转发模块,用于将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第十二方面,本发明实施例提供一种第二服务器,包括:
第三获得模块,用于获得某一群组的数据;
第十六发送模块,用于将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,以使所述至少两个起始节点基于所述转发路径信息将所述数据提供给所述群组的各个节点;
其中,所述转发路径信息基于加入所述群组的节点信息所确定,所述至少两条转发路径所经过的节点存在重叠。
第十三方面,本发明实施例提供一种数据传输系统,包括:
本发明任一实施例所介绍的第二服务器;
第一服务器,用于确定出加入所述群组的节点信息,所述节点信息用于确定出进行数据转发的转发路径信息。
第十四方面,本发明实施例提供一种终端,包括:
第十三接收模块,用于接收某一群组的数据;
第十四确定模块,用于确定转发所述数据的转发路径信息,所述转发路径信息基于加入所述群组的节点信息所确定,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第三转发模块,用于将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第十五方面,本发明实施例提供一种数据传输方法,应用于第一服务器,包括:
确定出加入某一群组的节点信息;
基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述转发路径信息发送至每条转发路径所对应的起始节点,以使所述起始节点基于所述转发路径信息从第二服务器获取数据,并将所述数据基于所述转发路径信息发送给所述群组的各个节点。
第十六方面,本发明实施例提供一种数据传输方法,应用于第二服务器,包括:
接收至少两个起始节点发送的数据获取请求,所述至少两个起始节点为转发路径信息所包含的至少两条转发路径所对应的起始节点,所述至少两条转发路径所经过的节点存在重叠,所述转发路径信息由第一服务器基于加入某一群组的节点信息所确定;
基于所述数据获取请求向所述至少两个起始节点发送数据,以使所述至少两个起始节点将所述数据基于所述至少两条转发路径发送至所述群组的各个节点。
第十七方面,本发明实施例提供一种数据传输方法,应用于终端,包括:
接收某一群组的数据;
获得用于发送所述数据的转发路径信息,所述转发路径信息由第一服务器基于加入所述群组的节点信息所确定,所述第一服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第十八方面,本发明实施例提供一种数据传输方法,应用于第二服务器,包括:
接收第一服务器发送的加入某一群组的节点信息;
基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第十九方面,本发明实施例提供一种数据传输方法,应用于第一服务器,包括:
确定出加入某一群组的节点信息;
将所述节点信息发送至所述第二服务器,以使所述第二服务器基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
其中,所述转发路径信息用于所述第二服务器基于所述转发路径信息将数据发送给所述群组的各个节点。
第二十方面,本发明实施例提供一种数据传输方法,应用于终端,包括:
接收某一群组的数据;
获得用于发送所述数据的转发路径信息,所述转发路径信息由第二服务器基于加入所述群组的节点信息所确定,所述第二服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述数据基于所述转发路径信息发送至所述群组的各个节点。
第二十一方面,本发明实施例提供一种数据传输方法,应用于数据传输系统,包括:
第二服务器获得某一群组的数据;
所述第二服务器将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,以使所述至少两个起始节点基于所述转发路径信息将所述数据提供给所述群组的各个节点;
其中,所述转发路径信息基于加入所述群组的节点信息所确定,所述至少两条转发路径所经过的节点存在重叠。
第二十二方面,本发明实施例提供一种数据传输方法,应用于终端,包括:
接收某一群组的数据;
确定转发所述数据的转发路径信息,所述转发路径信息基于加入所述群组的节点信息所确定,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述数据基于所述转发路径信息发送至所述群组的各个节点。
本发明有益效果如下:
由于在本发明实施例中,第一服务器可以基于加入某一群组的节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠,并且将转发路径信息发送给每条转发路径所对应的起始节点;基于此,第二服务器可以将数据发送至起始节点,从而起始节点可以将将所述数据基于所述转发路径信息发送至所述群组的各个节点。从而针对在转发路径中存在重叠的节点,即使其某条转发路径中的上一跳节点出现了问题,也可以通过另一转发路径的上一跳节点接收到该数据,第一服务器从而避免了超时等待后才能再次请求转发数据(超时等待所需时间远大于数据多经历几个节点的转发时间),故而缓解了现有技术中基于P2P方式进行数据传输的时延问题;
另一方面,本发明实施例还提供一种混合数据传输方法,在接收到第一节点发送的加入某一群组的加入群组请求之后,基于第一节点是否满足预设条件,为其提供不同的数据传输方式,也即:如果第一节点满足预设条件,为第一节点提供其相邻节点信息,从而可以通过P2P方式获取数据,如果第一节点不满足预设条件,则为其提供第二服务器的地址信息,以通过第二服务器获取相关数据,进而可以通过两种方式进行混合数据传输,一方面能够保证通过P2P方式增加提供数据的数据源,以提高数据传输速度;另一方面,在第一节点无法通过P2P方式获取数据时,又可以通过第二服务器正常获取数据,从而达到了能够在提高数据获取速度的同时,保证节点能够正常获取数据的技术效果。
附图说明
图1为本发明实施例第一方面的混合数据传输方法的流程图;
图2为本发明实施例第一方面的混合数据传输方法中将群组的数据发送给各个节点的流程图;
图3为本发明实施例第一方面的数据传输方法中群组中所包含的节点的示意图;
图4为本发明实施例第四方面的数据传输方法的流程图;
图5为本发明实施例第四方面的数据传输方法中数据中携带转发路径信息时进行数据传输的示意图;
图6为本发明实施例第四方面的数据传输方法中针对重复数据进行处理的示意图;
图7为本发明实施例第四方面的数据传输方法中针对节点掉线对节点信息进行更新的示意图;
图8为本发明实施例第四方面的数据传输方法中针对节点掉线之后的数据传输示意图;
图9为本发明实施例第四方面的数据传输方法中针对节点的NAT为对称型NAT时第一服务器处理的示意图;
图10为本发明实施例第四方面的数据传输方法中基于CDN-P2P混合传输方案的示意图;
图11为本发明实施例第四方面的数据传输方法中基于图2所示的节点信息进行数据传输的示意图;
图12为本发明实施例第九方面的数据传输方法的流程图;
图13为本发明实施例第十方面的数据传输方法的流程图;
图14为本发明实施例第十二方面的网络传输系统的结构图;
图15为本发明实施例第十六方面的数据传输方法的流程图;
图16为本发明实施例第十七方面的数据传输方法的流程图;
图17为本发明实施例第十八方面的数据传输方法的流程图;
图18为本发明实施例第二十二方面的数据传输方法的流程图;
图19为本发明实施例第二十三方面的数据传输方法的流程图。
具体实施方式
本发明提供一种混合数据传输方法、数据传输方法及相关设备,以缓解现有技术中基于P2P方式进行数据传输过程中存在着严重的时延的技术问题。
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
第一方面,本申请实施例提供一种混合数据传输方法,请参考图1,包括:
步骤S101:接收第一节点发送的加入某一群组的加入群组请求;
在具体实施过程中,该群组例如为:直播节目的群组、聊天群组(例如:视频聊天群组、语音聊天群组)等等。
在具体实施过程中,该方案可以应用于一混合数据传输系统,该混合数据传输系统中可以通过至少两种数据传输方式进行数据传输,该至少两种数据传输方式例如包括:P2P方式、CDN(Content Delivery Network:内容分发网络)方式等等,该混合数据传输系统中可以包括第一服务器和第二服务器,第一服务器可以用于对该混合数据传输系统中的节点进行管理,其例如为:P2P服务器,第二服务器可以用于进行数据发送的服务器,其例如为:CDN服务器。在具体实施过程中,可以由第一服务器接收第一节点发送的加入群组请求。
第一节点需要加入某一群组时,可以向第一服务器发送加入群组请求,该加入群组请求中可以携带群组的标识信息,该标识信息例如为:直播的房间号、群组的名称等等,进一步的,该加入群组请求中还可以携带该节点自身的一些信息,例如:IP地址、端口号、NAT类型、运营商信息、定位信息等等。
在基于步骤S101接收第一节点发送的加入某一群组的加入群组请求之后,就可以执行步骤S102,也即:判断所述第一节点是否满足预设条件;
举例来说,可以判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;若是,确定所述第一节点满足所述预设条件;若否,确定所述第一节点不满足所述预设条件。
通常情况下,NAT类型例如包括:完全圆锥型、端口限制圆锥型、地址限制圆锥型、对称型等等,其中,对称型NAT之间无法建立NAT连接,故而在第一节点为对称型NAT的情况下,其无法通过P2P方式从获取数据,因此,确定第一节点不满足预设条件;而针对非对称型NAT其可以通过P2P方式获取数据,因此确定第一节点满足预设条件。
也就是说,第一服务器在第一节点的NAT类型为非对称型的情况下,则确定第一节点满足预设条件,从而向第一节点发送其相邻节点信息,从而通过P2P方式进行数据传输;第一服务器在第一节点的NAT类型为对称型的情况下,则确定出第一节点不满足预设条件,从而向第一节点发送第二服务器的地址信息,以通过第二服务器直接向第一节点提供数据。
步骤S103:如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;
举例来说,在第一节点满足预设条件的情况下,则说明第一节点可以基于P2P方式获取群组的数据,在这种情况下,则可以将第一节点的相邻节点信息发送至第一节点,从而使第一节点直接从其邻居节点获取群组的数据。
在具体实施过程中,第一服务器可以采用多种方式确定出第一节点的相邻节点信息,例如:①基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址和定位信息,确定出所述相邻节点信息,其中可以通过定位信息确定出与第一节点的距离较近的节点,然后通过IP地址从该距离较近的节点中确定出与第一节点属于同一运营商的节点作为第一节点的相邻节点。②基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息,同理,可以基于定位信息选择出与第一节点距离较近的节点,然后从与第一节点距离较近的节点中确定出与第一节点属于同一运营商的节点作为第一节点的相邻节点。
步骤S104:如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据。
举例来说,在第一节点不满足预设条件的情况下,则说明第一节点无法通过P2P方式获取群组的数据,因此直接将第二服务器的地址信息发送至第一节点,从而第一节点可以直接从第二服务器获取群组的数据。
作为一种可选的实施例,在基于步骤S101接收第一节点发送的加入某一群组的加入群组请求之前,请参考图2,所述方法还包括:
步骤S201:确定出加入所述群组的节点信息;
在具体实施过程中,该节点信息中可以仅仅包含节点本身的信息,例如:节点的IP地址、端口信息、NAT类型、运营商信息、定位信息等等。该节点信息中还可以进一步的包含每个节点与其相邻节点的连接关系信息,例如,假设某群组中包含5个节点,请参考图3,分别为:节点1、节点2、节点3、节点4、节点5,其中,节点1与节点2、节点3为相邻节点,节点2与节点1、节点3为相邻节点,节点3与节点1、节点2、节点4为相邻节点,节点4与节点3、节点5为相邻节点,节点5与节点4为相邻节点,则服务器可以将各个节点的相邻节点信息下发至对应的节点,然后各个节点分别与其相邻节点尝试建立数据连接,例如:节点1分别与节点2和节点3尝试建立数据连接,从而确定出与每个节点成功建立连接的节点信息。所确定出的节点信息例如包含:①节点本身的信息,也即:节点1、节点2、节点3、节点4、节点5;②节点与相邻节点的连接关系信息,例如:节点1与节点2成功建立连接,节点2与节点3成功建立连接,节点3与节点4成功建立连接,节点4与节点5成功建立连接等等。当然,以上节点数量、各个节点的相邻节点信息、以及成功建立连接的相邻节点信息仅仅作为一个举例,并不作为限制。
在具体实施过程中,可以在初始阶段,由第一服务器将各个节点的相邻节点信息发送至各个节点,然后由各个节点尝试与其相邻节点建立连接,并将成功建立连接的相邻节点信息发送至第一服务器,由此第一服务器基于各个节点以及与各个节点成功建立连接的相邻节点,确定出该群组的节点信息。如果该群组为直播节目的群组,则初始阶段例如为直播的开始阶段,如果该群组为聊天群组,则初始阶段例如为:聊天发起阶段等等。
在基于步骤S201确定出加入所述群组的节点信息步骤之后,就可以执行步骤S202,也即:基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
在具体实施过程中,每一个节点对应一个加入群组的终端。发送给群组的各个节点的数据用于基于该转发路径信息进行转发,某一节点接收到数据之后,将其发送至转发路径信息所包含的转发路径中的下一跳节点,每一个转发路径都包含:起始节点、结束节点,同时还可以包括位于起始节点与结束节点之间的中间节点,除起始节点之外,每个节点都包含上一跳节点,除结束节点之外,每一跳节点都包含下一跳节点。
作为一种可选的实施例,第一服务器所确定的至少两条转发路径中,各个相邻节点之间已成功建立连接。例如,如果节点信息中包含已成功建立连接的相邻节点信息,在基于节点信息选择转发路径信息时,针对每个节点都选择与其成功建立连接的相邻节点作为其下一跳节点,从而保证针对路径经过两次以上的节点,即使其上一跳节点出现故障,也不需要该节点再重新与另一个上一跳节点建立连接,就可以及时从上一跳节点获取数据,进而达到了进一步的提高P2P数据传输方式中数据获取速率的技术效果。
在具体实施过程中,第一服务器可以通过多种原则确定出该转发路径信息,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
第一种,所述转发路径信息中的路径经过每个节点至少两次以上,在这种情况下,可以通过以下方式确定出转发路径信息:基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;将所述第一转发路径反序作为第二转发路径;确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
举例来说,可以首先确定出起始节点(假设节点1、当然该起始节点也可以为其他节点,例如:节点5等等),然后获取与该起始节点成功建立连接的相邻节点(也即:节点2)作为第一转发路径中节点1的下一跳节点,依次类推,直至遍历完群组中的所有节点,从而获得如下的第一转发路径:节点1→节点2→节点3→节点4→节点5,然后将第一转发路径反序,从而获得如下的第二转发路径:节点5→节点4→节点3→节点2→节点1,当然,基于节点信息不同,所确定出的第一转发路径和第二转发路径也不同,本发明实施例不作限制。
基于上述方案,仅仅需要对第一转发路径进行选择,故而能够提高确定转发路径信息的效率,且针对每个节点该转发路径信息中所包含的路径都要经过两次以上,从而能够提高针对每个节点进行转发数据的稳定性和速率。
第二种,所述转发路径信息中的路径经过预设节点至少两次以上,举例来说,该预设节点例如为:群组中比较重要的节点(例如:群组的直播者所在的节点、管理员所在的节点等等)、具备特定权限的节点(例如:具备VIP权限的用户所在的节点等等),其中,可以确定出一条经过所有节点的路径(该确定方式前面已作介绍,故而在此不再赘述),同时确定出该群组中所包含的预设节点,并将确定出一条保证能够经过这些预设节点、但不一定能够经过其他节点的路径。
基于该方案,能够有针对性的降低针对预设节点的数据传输的时延,保证其数据传输的稳定性。
在具体实施过程中,步骤S202中确定转发路径信息的过程,可以由第一服务器执行;也可以由第一服务器将群组的节点信息发送至第二服务器,然后由第二服务器确定出转发路径信息,本发明实施例不作限制。
在基于步骤S202确定出转发路径信息之后,就可以执行步骤S203,也即:将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
在具体实施过程中,上述步骤由第二服务器执行。如果步骤S202中由第一服务器确定出转发路径信息,则第一服务器将转发路径信息发送至各条转发路径的起始节点,第二服务器基于各个起始节点的数据获取请求,将群组数据发送至各个起始节点。如果步骤S202中由第二服务器确定出转发路径信息,则由第二服务器将转发路径信息、以及群组数据分别发送至起始节点。当然,第一服务器或者第二服务器除了将转发路径信息发送至起始节点之外,还可以将该转发路径信息发送至其他节点,本发明实施例不作限制。
也就是将转发路径信息分别发送给每条转发路径中的第一个节点,其中,将转发路径信息发送给起始节点时,可以发送包含所有的转发路径的转发路径信息,也可以仅仅发送包含该起始节点所对应的转发路径的转发路径信息,以至少两条转发路径包括:第一转发路径(节点1→节点2→节点3→节点4→节点5)和第二转发路径(节点5→节点4→节点3→节点2→节点1)为例,则第一转发路径的起始节点为节点1,第二转发路径的起始节点为节点1,则向节点1发送转发路径信息时,可以将包含第一转发路径和第二转发路径的转发路径信息发送给节点1,也可以仅仅向其发送包含第一转发路径的转发路径信息。
第二方面,基于同一发明构思,本发明实施例提供一种混合数据传输系统,包括:第一服务器和第二服务器;
所述第一服务器,接收第一节点发送的加入某一群组的加入群组请求;判断所述第一节点是否满足预设条件;如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据;
所述第二服务器,用于向特定节点发送所述群组的数据。
可选的,所述第一服务器用于:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
若是,确定所述第一节点不满足所述预设条件;
若否,确定所述第一节点满足所述预设条件。
可选的,所述第一服务器还用于:
确定出加入所述群组的节点信息;基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;将所述转发路径信息发送至每条转发路径所对应的起始节点;
所述第二服务器,用于:基于所述起始节点的数据获取请求将数据发送至所述起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点,所述起始节点即为所述特定节点。
可选的,所述的第一服务器还用于:
确定出加入某一群组的节点信息;以及将所述节点信息发送至所述第二服务器;
所述第二服务器,用于:基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;以及将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点,所述起始节点即为所述特定节点。
可选的,所述系统还包括:
终端,用于接收所述数据,并基于所述转发路径信息将所述数据发送至下一跳节点。
第三方面,基于同一发明构思,本发明实施例提供一种第一服务器,包括:
请求接收模块,用于接收第一节点发送的加入某一群组的加入群组请求;
节点判断模块,用于判断所述第一节点是否满足预设条件;
节点发送模块,用于如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;
地址发送模块,用于如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据。
可选的,述节点判断模块,包括:
NAT判断单元,用于判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
第一判定确定单元,用于若所述NAT判断单元的判断结果为是,确定所述第一节点不满足所述预设条件;
第二判定确定单元,用于若所述NAT判断单元的判断结果为否,确定所述第一节点满足所述预设条件。
可选的,包括:
节点确定模块,用于确定出加入所述群组的节点信息;
路径确定模块,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠。
第四方面,本发明实施例提供一种数据传输方法,该数据传输方法应用于一数据传输系统,请参考图4,该数据传输系统包括:第一服务器以及第二服务器,该系统还可以进一步的包含终端(例如:图4所示的终端1和终端2),每一个终端为群组的一个节点。基于该数据传输系统提供了一种数据传输方法,请继续参考图4,该数据传输方法,包括以下步骤:
步骤S401:第一服务器确定出加入某一群组的节点信息。
在具体实施过程中,该群组例如为:直播节目的群组、聊天群组(例如:视频聊天群组、语音聊天群组)等等。
对于具体如何确定出加入该群组的节点信息,由于本发明实施例第一方面已作介绍,故而在此不再赘述。
在基于步骤S401确定出加入某一群组的节点信息之后,则可以执行步骤S402,也即:第一服务器基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠。
对于具体如何确定出转发路径信息,由于本发明第一方面已作介绍,故而在此不再赘述。
在基于步骤S402确定出转发路径信息之后,则可以执行步骤S403,也即:第一服务器将所述转发路径信息发送至每条转发路径所对应的起始节点。
对于具体如何将转发路径信息发送至各个起始节点,由于本发明第一方面已作介绍,故而在此不再赘述。
在基于步骤S403将转发路径信息发送给起始节点之后,就可以执行步骤S404,也即:第二服务器基于所述起始节点的数据获取请求将数据发送至所述起始节点。也就是说,起始节点在获得转发路径信息之后,可以向第二服务器发送数据获取请求,第二服务器基于数据获取请求将数据发送至起始节点。
举例来说,以转发路径信息包含第一转发路径(节点1→节点2→节点3→节点4→节点5)和第二转发路径(节点5→节点4→节点3→节点2→节点1)为例,则起始节点包含节点1和节点5,节点1和节点5分别向第二服务器发送数据获取请求,第二服务器在接收到数据获取请求之后,将对应的数据分别发送至节点1和节点5。
在基于步骤S404将数据发送给起始节点之后,就可以执行步骤S405,也即:所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。也就是,按照转发路径信息中所包含的转发路径,将数据在每个节点上依次转发。
以第一转发路径为例,其起始节点为节点1,结束节点为节点5,则服务器将数据发送至节点1,然后由节点1将数据发送至节点1的下一跳节点(也即:节点2),依次类推,在数据被发送至节点5之后,则可以停止数据的发送。
在第二服务器将数据发送给起始节点之后,就可以基于转发路径信息实现数据在各个节点之间的转发,其中,基于节点的类型不同,其可以通过多种途径获取数据和转发路径信息,下面将对获取数据和转发路径信息分别进行介绍。
针对获取数据,其可以采用以下几种方式(当然以下几种方式仅仅作为举例,并不作为限制):
①如果节点为起始节点,则该节点从第二服务器获取数据;
②如果节点并非起始节点,则该节点从另一种终端获取数据,其中,另一终端例如为该节点的上一跳节点所在的终端,或者,如果该节点的上一跳节点出现故障,则另一终端可以为该节点的上一跳的上一跳节点等等。
针对获得转发路径信息,其同样可以采用多种方式(当然,以下方式同样仅仅作为举例,并不作为限制),例如:
①该转发路径信息为终端中预存的转发路径信息,例如:假设该节点为起始节点,则起始节点从第一服务器接收到转发路径信息之后,可以将其存储于终端,从而起始节点接收到数据之后,可以获取终端中存储的转发路径信息,并基于该预存的转发路径信息确定出下一跳节点,进而将数据发送至下一跳节点。另外,第一服务器在确定出转发路径信息之后,除了将其发送至起始节点之外,还可以将其发送至其他节点,从而第二服务器向起始节点发送数据之后,每个节点都基于其预存的转发路径信息确定出其下一跳节点,以实现对数据的转发。
其中,预存的转发路径信息中可以包含该转发路径信息的有效时间,在该有效时间之内可以通过该转发路径信息所包含的路径进行数据的转发,服务器也可以对该转发路径信息进行更新,在更新前都采用该转发路径信息进行转发等等,其中,服务器可以在群组的节点信息发生变化之后对转发路径信息进行更新,也可以每隔预设时间间隔(例如:10min、20min等等),对该转发路径信息进行更新,本发明实施例不作限制。基于该方案,能够保证数据传输的安全性。
由于在该方案中,不需要每次传输数据都携带该转发路径信息,从而能够降低数据传输负担。
②该转发路径信息为数据中所携带的转发路径信息,其中,起始节点在接收到数据之后,可以将转发路径信息携带于数据之后,发送给其下一跳节点,后续节点在发送数据时,同样携带转发路径信息。其中,在某节点将数据发送至下一跳节点时,其所发送的数据中可以携带完整的转发路径信息,也可以仅仅携带后续需要经过的节点,以降低数据传输负担,例如,假设第一转发路径为节点1→节点2→节点3→节点4→节点5,数据由节点2发送至节点3时,由于数据抵达节点3之后,后续只需要经过节点4、节点5,则由节点2向节点3发送数据时,后续所携带的转发节点信息只需要包含:节点4→节点5。由于在该方案中,数据中携带转发路径信息,从而能够保证每次用来进行数据转发的转发路径信息都是最新的转发路径信息。
又例如,假设该群组为直播群组,转发路径信息中包括以下路径:节点1→节点2→节点3,则请参考图5,则携带转发路径信息的数据转发过程包括:
步骤S501:第二服务器将直播数据发送至节点1(起始节点);步骤S502:节点1在接收到该直播数据之后,基于第一服务器发送至的转发路径信息(节点1、节点2、节点3),将直播数据发送至节点2,其中携带转发路径信息;步骤S503:节点2在接收到该直播数据之后,基于该转发路径信息,将直播数据发送至节点3,其中携带转发路径信息;步骤S504:节点3在接收到该直播数据之后,确定出自身为结束节点,故而停止对直播数据的转发。
另外,由于本发明实施例中,该转发路径信息中的路径经过至少一个节点两次以上,故而有的节点可能会接收两次以上的数据,在这种情况下,为了减少数据传输的冗余情况,所述终端还用于:判断所述数据是否为重复接收的数据;若判断结果为否,基于所述转发路径将所述数据发送至下一跳节点;若判断结果为是,丢弃所述重复接收的数据。也就是说,终端在接收到数据之后,判断该数据是否为重复接收的数据,如果为重复接收的数据,则丢弃该数据,并不将其发送至下一跳节点;如果并非重复接收的数据,才将其发送至下一跳节点。
假设,群组为直播群组、转发路径信息包含:节点1、节点2、节点3,该转发路径信息存储节点1,请参考图6,该针对重复接收的数据的处理可以包括以下步骤:步骤S601,第二服务器将直播数据发送至节点1;步骤S602,节点1在接收到该直播数据之后,基于转发路径信息将该直播数据发送给节点2,并携带转发路径信息:节点3;步骤S603,节点2在接收到该直播数据之后,发现已经从其他节点接收到了该直播数据,于是将该直播数据丢弃,不再发送给节点3。
在具体实施过程中,第一服务器还具备对群组的节点信息进行更新的功能,其可以存在多种更新方式,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
第一种,通过以下方式对节点信息进行更新:第一服务器在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。也即:所述第一服务器,还用于在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
举例来说,在某一节点向其下一跳节点发送数据时,如果没有接收到对方的反馈信息,则可以确认对方掉线;又或者,群组中的每个节点,每隔预设时间间隔(例如:0.5s、1s等等),就可以向其邻居节点发送Ping消息,如果并非接收到对方的确认信息,则认为对方已经掉线,在节点确定出某一节点(也即:第二节点)掉线之后,就可以向服务器上报第二节点掉线的信息,服务器在确定第二节点掉线之后,就可以将第二节点从节点信息中去除,从而在下次基于该节点信息构建转发路径信息时,该转发路径信息中不在包含第二节点,基于该方案,能够尽量保证转发路径信息中的每个节点都处于在线状态,以尽量降低数据转发过程中的时延。
假设当前节点为节点1,节点1的下一跳节点为节点2,则请参考图7,对节点信息的更新过程例如包括:步骤S701,节点1检测到节点2掉线;步骤S702,节点1向第一服务器上报节点2为掉线状态;步骤S703,第一服务器将节点2从节点信息中移除;步骤S704,P2P在将节点2从节点信息中移除之后通知第二服务器,以使第二服务器对节点信息进行更新。
进一步的,在某个节点确定其下一跳节点掉线之后,可以将数据发送至其下一跳的下一跳节点,请参考图8,在下一跳节点掉线的情况下,其处理流程包括:步骤S801,第二服务器将直播数据发送至节点1(起始节点);步骤S802,节点1在接收到数据之后,基于预存的转发路径信息确定出其下一跳节点为节点2,然而检测到节点2处于掉线状态,则基于转发路径信息确定出节点2的下一跳节点为节点3;步骤S803,节点1将直播数据发送给节点3。
第二种,通过以下方式对节点信息进行更新:第一服务器接收第一节点发送的加入群组请求;第一服务器基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;第一服务器获得所述第一节点发送至的成功建立连接的相邻节点信息;第一服务器基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。也就是说,新加入节点(也即:第一节点)可以向第一服务器发起加入群组请求,进而由第一服务器将其加入群组的节点信息,以实现对群组的节点信息的更新。
举例来说,在第一节点需要加入某一群组时,可以向第一服务器发送加入群组请求,该加入群组请求中可以携带群组的标识信息,该标识信息例如为:直播的房间号、群组的名称等等,进一步的,该加入群组请求中还可以携带该节点自身的一些信息,例如:IP地址、端口号、NAT类型、运营商信息、定位信息等等。
第一服务器在接收到该加入群组请求之后,基于群组的标识信息确定出该节点所要加入的群组,确定出该群组中第一节点的相邻节点信息,并将第一节点的相邻节点信息下发给第一节点,第一节点在接收到该相邻节点信息之后,就尝试与该相邻节点信息中的每个相邻节点建立连接,并将成功建立连接的相邻节点信息发送至第一服务器,第一服务器据此更新节点信息。
第一服务器可以采用多种方式确定出第一节点的相邻节点信息,例如:①基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址和定位信息,确定出所述相邻节点信息,其中可以通过定位信息确定出与第一节点的距离较近的节点,然后通过IP地址从该距离较近的节点中确定出与第一节点属于同一运营商的节点作为第一节点的相邻节点。②基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息,同理,可以基于定位信息选择出与第一节点距离较近的节点,然后从与第一节点距离较近的节点中确定出与第一节点属于同一运营商的节点作为第一节点的相邻节点。
另外,在具体实施过程中,第一服务器在接收到第一节点发送的加入群组请求之后,可以直接将其相邻群组信息发送给第一节点,而作为另一种可选的实施例,所述方法还包括:第一服务器判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;若否,将所述第一节点的相邻节点信息发送至所述第一节点;其中,若判断结果为是,向所述第一节点下发所述第二服务器的地址信息。也就是说,第一服务器在第一节点的NAT类型为非对称型的情况下,才向其发送其相邻节点信息。
举例来说,NAT类型例如包括:完全圆锥型、端口限制圆锥型、地址限制圆锥型、对称型等等,其中,对称型NAT之间无法建立NAT连接,故而在第一节点为对称型NAT的情况下,其无法通过P2P方式从服务器获取数据,因此,针对对称型NAT,则服务器不需要向其发送其相邻节点信息,而是直接向其发送提供数据的服务器的地址信息,从而第一节点直接从该服务器获取相关数据。而针对非对称型NAT则可以为其提供相邻节点信息,从而通过P2P方式获取数据。
假设第一节点为的NAT类型为对称型,请参考图9,第一服务器的处理过程例如包括:步骤S901,第一节点向第一服务器发送请求播放X房间的直播的请求(也即:加入群组请求),该请求中携带第一节点的IP地址、端口信息和NAT类型;步骤S902,P2P判断第一节点的NAT是否为对称型NAT;步骤S903,如果判断结果为是,第一服务器直接向第一节点发送第二服务器的地址信息,从而后续直接通过第二服务器进行直播。另外,在具体实施过程中,如果第一节点的NAT并非对称型NAT,但是第一服务器发现附近并不存在该第一节点的相邻节点,则也可以向其发送第二服务器的地址信息。
通常情况下,可能有的节点的NAT类型为对称型NAT,有的节点的NAT并非对称型NAT,在这种情况下,则需要采用CDN-P2P混合传输方案进行数据的传输,假设该群组为直播节目的群组,请参考图10,该混合传输方案例如包括以下步骤:
步骤S1001:新加入的节点发送加入群组请求给第一服务器,带上以下内容:请求播放的房间号,自身的IP+端口信息+NAT类型;
步骤S1002:第一服务器判断该节点的NAT类型是否为对称型NAT,如果不是,根据该节点的IP地址查找该节点的相邻节点信息;
步骤S1003:如果有,则返回附近相邻节点的地址信息列表;而如果是对称型NAT的话,则直接返回第二服务器的地址信息;
步骤S1004:该节点尝试与相邻节点信息中包含的相邻节点建立P2P链接;
步骤S1005:该节点向第一服务器上报所有成功建立P2P连接的相邻节点信息;
步骤S1006:第一服务器更新基于该相邻节点信息对第二服务器上的对应群组的节点信息进行更新。
基于上述方案,能够防止在第一节点为的NAT为对称型NAT的情况下,也向其发送相邻节点信息,从而能够降低各个设备的处理负担。
为了更清楚的说明核心流程,通过图3所示的节点信息为例,对该数据传输方法进行进一步的举例说明,其中,节点1存储有第一转发路径(节点1,2,3,4,5),节点5存储有第二转发路径(节点5,4,3,2,1),请参考图11,包括:
步骤S1101:第二服务器下发多媒体数据给节点1和节点5。
步骤S1102:节点1收到数据后,转发给节点2;节点2收到后转发给节点3。
步骤S1103:节点5收到数据后,转发给节点4;节点4收到后转发给节点3。
步骤S1104:节点3已经从其他路径收到了同一个数据包,此时会丢弃该数据包。
其中,如果步骤S1102的时候节点2突然掉线了,节点1则将数据发送至给节点3,从而使节点3及时收到数据,不会受到节点2掉线的影响。
由以上实施例可知,在本发明实施例的第一方面中第一服务器与第二服务器之间不需要交互,从而可以在不改变第一服务器与第二服务器的数据传输方式的就可以降低P2P方式进行数据传输的时延,因此其兼容性更高。
第五方面,基于同一发明构思,本发明实施例提供一种数据传输系统,包括:
第一服务器,用于确定出加入某一群组的节点信息;基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;将所述转发路径信息发送至每条转发路径所对应的起始节点;
第二服务器,用于基于所述起始节点的数据获取请求将数据发送至所述起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
可选的,所述第一服务器,用于:
基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
将所述第一转发路径反序作为第二转发路径;
确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
可选的,所述第一服务器,还用于:
在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
可选的,所述第一服务器,还用于:
接收第一节点发送的加入群组请求;
基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
获得所述第一节点发送至的成功建立连接的相邻节点信息;
基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
可选的,所述第一服务器,还用于:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
若否,将所述第一节点的相邻节点信息发送至所述第一节点;
其中,若判断结果为是,向所述第一节点下发所述第二服务器的地址信息。
可选的,所述第一服务器,还用于:
基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
可选的,请继续参考图,所述系统还包括:
终端,用于接收所述数据,并基于所述转发路径信息将所述数据发送至下一跳节点。
可选的,所述终端,用于:基于所述终端所预存的所述转发路径信息,将所述数据发送至下一跳节点;或者,
基于所述数据中所携带的所述转发路径信息,将所述发送至下一跳节点。
可选的,所述终端,还用于:
在将所述数据基于所述转发路径信息进行转发时,判断当前节点的下一跳节点是否掉线;
如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述终端,还用于:
如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端,还用于:
每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端,还用于:
在接收所述数据之前,向所述第一服务器发送加入群组请求;
接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
与所述相邻节点信息所包含的相邻节点建立连接;
将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述终端还用于:判断所述数据是否为重复接收的数据;若判断结果为否,基于所述转发路径将所述数据发送至下一跳节点;若判断结果为是,丢弃所述重复接收的数据。
第六方面,基于同一发明构思,本发明实施例提供一种第一服务器,包括:
第一确定模块,用于确定出加入某一群组的节点信息;
第二确定模块,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第一发送模块,用于将所述转发路径信息发送至每条转发路径所对应的起始节点,以使所述起始节点基于所述转发路径信息从第二服务器获取数据,并将所述数据基于所述转发路径信息发送给所述群组的各个节点。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
可选的,所述第二确定模块,包括:
第一确定单元,用于基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
第二确定单元,用于基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
第一反序单元,用于将所述第一转发路径反序作为第二转发路径;
第三确定单元,用于确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
可选的,所述第一服务器,还包括:
第一去除模块,用于在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
可选的,所述第一服务器,还包括:
第一接收模块,用于接收第一节点发送的加入群组请求;
第二发送模块,用于基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
第一获得模块,用于获得所述第一节点发送至的成功建立连接的相邻节点信息;
第一更新模块,用于基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新息进行更新。
可选的,所述第一服务器还包括:
判断模块,用于判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
所述第二发送模块,用于若所述判断模块的判断结果为否,将所述第一节点的相邻节点信息发送至所述第一节点;若所述判断模块的判断结果为是,向所述第一节点下发用于提供所述数据的服务器的地址信息。
可选的,所述第一服务器,还包括:
第三确定模块,用于基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
第四确定模块,用于基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
第七方面,基于同一发明构思,本发明实施例提供一种第二服务器,包括:
第二接收模块,用于接收至少两个起始节点发送的数据获取请求,所述至少两个起始节点为转发路径信息所包含的至少两条转发路径所对应的起始节点,所述至少两条转发路径所经过的节点存在重叠,所述转发路径信息由第一服务器基于加入某一群组的节点信息所确定;
第三发送模块,用于基于所述数据获取请求向所述至少两个起始节点发送数据,以使所述至少两个起始节点将所述数据基于所述至少两条转发路径发送至所述群组的各个节点。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
第八方面,基于同一发明构思,本发明实施例提供一种终端,包括:
第三接收模块,用于接收某一群组的数据;
第五确定模块,用于获得用于发送所述数据的转发路径信息,所述转发路径信息由第一服务器基于加入所述群组的节点信息所确定,所述第一服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第一转发模块,用于将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,所述第五确定模块,用于:接收所述第一服务器下发的所述转发路径信息;或者,从所述数据中获取所述转发路径信息;
所述第三接收模块,用于接收第二服务器下发的所述数据。
可选的,所述第一转发模块,包括:
第一判断单元,用于判断当前节点的下一跳节点是否掉线;
第一发送单元,用于如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
第二发送单元,用于如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述终端还包括:
第四发送模块,用于如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端还包括:
第一检测模块,用于每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
第五发送模块,用于如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端还包括:
第六发送模块,用于在接收所述数据之前,向所述第一服务器发送加入群组请求;
第四接收模块,用于接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
第一建立模块,用于与所述相邻节点信息所包含的相邻节点建立连接;
第七发送模块,用于将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述第一转发模块,包括:
第二判断单元,用于判断所述数据是否为重复接收的数据;
第三发送单元,用于若第二判断单元的判断结果为否,基于所述转发路径信息将所述数据发送至下一跳节点;
第一丢弃单元,用于若第二判断单元的判断结果为是,丢弃所述重复接收的数据。
第九方面,基于同一发明构思,本发明实施例提供一种数据传输方法,应用于第一服务器,请参考图12,包括:
步骤S1401:确定出加入某一群组的节点信息;
步骤S1402:基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
步骤S1403:将所述转发路径信息发送至每条转发路径所对应的起始节点,以使所述起始节点基于所述转发路径信息从第二服务器获取数据,并将所述数据基于所述转发路径信息发送给所述群组的各个节点。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
可选的,所述基于所述节点信息确定出进行数据转发的转发路径信息,包括:
基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
将所述第一转发路径反序作为第二转发路径;
确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
可选的,所述方法还包括:
在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
可选的,所述方法还包括:
接收第一节点发送的加入群组请求;
基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
获得所述第一节点发送至的成功建立连接的相邻节点信息;
基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新息进行更新。
可选的,在所述将所述第一节点的相邻节点信息发送至所述第一节点之前,所述方法还包括:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
若判断结果为否,执行将所述第一节点的相邻节点信息发送至所述第一节点的步骤;
若所述判断结果为是,向所述第一节点下发用于提供所述数据的服务器的地址信息。
可选的,在所述将所述第一节点的相邻节点信息发送至所述第一节点之前,所述方法还包括:
基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
第十方面,基于同一发明构思,本发明实施例提供一种数据传输方法,应用于第二服务器,请参考图13,包括:
步骤S1501:接收至少两个起始节点发送的数据获取请求,所述至少两个起始节点为转发路径信息所包含的至少两条转发路径所对应的起始节点,所述至少两条转发路径所经过的节点存在重叠,所述转发路径信息由第一服务器基于加入某一群组的节点信息所确定;
步骤S1502:基于所述数据获取请求向所述至少两个起始节点发送数据,以使所述至少两个起始节点将所述数据基于所述至少两条转发路径发送至所述群组的各个节点。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
第十一方面,基于同一发明构思,本发明实施例提供一种数据传输方法,包括:
接收某一群组的数据;
获得用于发送所述数据的转发路径信息,所述转发路径信息由第一服务器基于加入所述群组的节点信息所确定,所述第一服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,所述获得用于发送所述数据的转发路径信息,包括:接收所述第一服务器下发的所述转发路径信息;或者,从所述数据中获取所述转发路径信息;
所述接收某一群组的数据,包括:接收第二服务器下发的所述数据。
可选的,所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:
判断当前节点的下一跳节点是否掉线;
如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述方法还包括:
如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述方法还包括:
每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,在所述接收某一群组的数据之前,所述方法还包括:
向所述第一服务器发送加入群组请求;
接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
与所述相邻节点信息所包含的相邻节点建立连接;
将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:
判断所述数据是否为重复接收的数据;
若第二判断单元的判断结果为否,基于所述转发路径信息将所述数据发送至下一跳节点;
若第二判断单元的判断结果为是,丢弃所述重复接收的数据。
第十二方面,基于同一发明构思,本发明实施例提供一种数据传输系统,请参考图14,该系统包括:第一服务器170以及第二服务器171,该系统还可以进一步的包含终端172。结合该系统,本发明实施例进一步的提供一种数据传输方法,请继续参考图14,该方法包括:
步骤S1701:所述第一服务器170确定出加入某一群组的节点信息;对于第一服务器170具体如何确定出加入某一群组的节点信息,在本发明实施例第一方面已作介绍,在此不再赘述。
步骤S1702:所述第一服务器170将所述节点信息发送至所述第二服务器171;也就是说,在本实施例中,通过第一服务器170与第二服务器171的交互,可以将第一服务器170所获得节点信息发送给第二服务器171。
步骤S1703:所述第二服务器171基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
在具体实施过程中,第二服务器171同样可以通过多种原则确定出该转发路径信息,下面列举其中的两种进行介绍,当然,在具体实施过程中,不限于以下两种情况。
第一种,第二服务器171所确定出的转发路径信息中的路径经过每个节点两次以上,在这种情况下,所述第二服务器171通过以下方式确定出转发路径信息:基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;将所述第一转发路径反序作为第二转发路径;确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
第二种,所述第二服务器171所确定出的转发路径信息中的路径经过预设节点至少两次以上,该预设节点例如为:群组中比较重要的节点、具备特定权限的节点等等,其中,可以确定出一条经过所有节点的路径(该确定方式前面已作介绍,故而在此不再赘述),同时确定出该群组中所包含的预设节点,并将确定出一条保证能够经过这些预设节点、但不一定能够经过其他节点的路径。
由于第二服务器171确定出转发路径信息的方式与本申请第一方面中第一服务器170确定转发路径信息的方式类似,故而在此不再赘述。
同样,作为一种可选的实施例,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
步骤S1704:所述第二服务器171将所述数据发送至每条转发路径的起始节点。
在具体实施过程中,第二服务器171可以将转发路径信息携带于数据中,然后将携带后转发路径信息的数据发送至起始节点,起始节点在接收到该数据之后,从该数据中提取出转发路径信息,并基于转发路径信息确定出下一跳节点,从而将数据发送至下一跳节点;第二服务器171也可以预先将转发路径信息发送至起始节点(或者转发路径信息所对应的所有节点),从而起始节点在接收到数据之后,可以从预存的转发路径信息中确定起始节点的下一跳节点,并将数据发送至下一跳节点。
举例来说,假设转发路径信息包括:第一转发路径(节点1→节点2→节点3→节点4→节点5)和第二转发路径节点(5→节点4→节点3→节点2→节点1),则第二服务器171则可以向节点1发送携带第一转发路径的数据,节点1在接收到该数据之后,确定出其下一跳节点为节点2,从而将携带转发路径信息的数据发送节点2,同时第二服务器171向节点5发送携带第二转发路径的数据,节点5在接收到该数据之后,确定出其下一跳节点为节点4,从而将携带转发路径信息的数据发送给节点4。又或者,第二服务器171可以预先分别将第一转发路径、第二转发路径发送给节点1、节点2、节点3、节点4和节点5,然后第二服务器171在获得数据之后,将其发送至节点1和节点5,节点1接收到该数据之后,确定出其为起始节点的转发路径为第一转发路径,则从第一转发路径中确定出其下一跳节点为节点2,从而将数据发送至节点2,节点5在接收到该数据之后,确定出其为起始节点的转发路径为第二转发路径,则从第二转发路径中确定出其下一跳节点我节点4,从而将数据发送至节点4等等。
步骤S1705:所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
在具体实施过程中,如果第二服务器171并未预先将转发路径信息发送给各个节点的话,则起始节点将携带转发路径信息的数据发送至下一跳节点,下一跳节点再基于转发路径信息将数据转发至下一跳的下一跳节点,从而实现数据的转发;而如果第二服务器171预先将转发路径信息发送给各个节点的话,则起始节点将数据直接发送给下一跳节点,下一跳节点基于预存的转发路径信息确定出下一跳的下一跳节点,以此实现数据的转发。
作为一种可选的实施例,所述第一服务器170,还用于:在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
作为一种可选的实施例,所述第一服务器170,还用于:接收第一节点发送的加入群组请求;基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;获得所述第一节点发送至的成功建立连接的相邻节点信息;基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
作为一种可选的实施例,所述第一服务器170,还用于:判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;若否,将所述第一节点的相邻节点信息发送至所述第一节点;其中,若判断结果为是,向所述第一节点下发所述第二服务器171的地址信息。
作为一种可选的实施例,所述第一服务器170,还用于:基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
作为一种可选的实施例,所述终端172用于接收所述数据,并基于所述转发路径信息将所述数据发送至下一跳节点。
作为一种可选的实施例,所述终端172,用于:接收另一终端172或者所述第二服务器171发送的携带所述转发路径信息的所述数据,并基于所述转发路径信息,将携带所述转发路径信息的数据发送至下一跳节点;或者,
所述终端172,用于:接收另一终端172或所述第二服务器171发送的所述数据,并基于所述终端172预存的所述转发路径信息,将所述数据发送至下一跳节点。
作为一种可选的实施例,所述终端172,还用于:在将所述数据基于所述转发路径信息进行转发时,判断当前节点的下一跳节点是否掉线;如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
作为一种可选的实施例,其特征在于,所述终端172,还用于:如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器170,以使所述第一服务器170对所述群组的节点信息进行更新。
作为一种可选的实施例,所述终端172,还用于:每隔预设时间间隔,检测当前节点的相邻节点是否掉线;如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器170,以使所述第一服务器170对所述群组的节点信息进行更新。
作为一种可选的实施例,所述终端172,还用于:在接收所述数据之前,向所述第一服务器170发送加入群组请求;接收所述第一服务器170基于所述加入群组请求下发的当前节点的相邻节点信息;与所述相邻节点信息所包含的相邻节点建立连接;将成功建立连接的相邻节点信息发送至第一服务器170,以使第一服务器170基于所述相邻节点信息对所述群组的节点信息进行更新。
作为一种可选的实施例,所述终端172还用于:判断所述数据是否为重复接收的数据;若判断结果为否,基于所述转发路径将所述数据发送至下一跳节点;若判断结果为是,丢弃所述重复接收的数据。
第十三方面,基于同一发明构思,本发明实施例提供一种第二服务器,包括:
第五接收模块,用于接收第一服务器发送的加入某一群组的节点信息;
第六确定模块,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第八发送模块,用于将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
可选的,所述第六确定模块,包括:
第四确定单元,用于基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
第五确定单元,用于基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
第二反序单元,用于将所述第一转发路径反序作为第二转发路径;
第六确定单元,用于确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
可选的,所述第八发送模块,用于:将所述转发路径信息携带于所述数据之后发送至所述起始节点;或者,
所述第二服务器,还包括:第九发送模块,用于将所述转发路径信息预先发送至所述起始节点。
第十四方面,基于同一发明构思,本发明实施例提供一种第一服务器,包括:
第七确定模块,用于确定出加入某一群组的节点信息;
第十发送模块,用于将所述节点信息发送至所述第二服务器,以使所述第二服务器基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
其中,所述转发路径信息用于所述第二服务器基于所述转发路径信息将数据发送给所述群组的各个节点。
可选的,所述第一服务器,还包括:
第二去除模块,用于在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
可选的,所述第一服务器,还包括:
第六接收模块,用于接收第一节点发送的加入群组请求;
第十一发送模块,用于基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
第二获得模块,用于获得所述第一节点发送至的成功建立连接的相邻节点信息;
第二更新模块,用于基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
可选的,所述第一服务器,还包括:
判断模块,用于判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
所述第十一发送模块,用于在所述判断模块的判断结果为是的情况下,将所述第一节点的相邻节点信息发送至所述第一节点;其中,若所述判断模块的判断结果为否,则所述第十一发送模块,用于向所述第一节点下发所述第二服务器的地址信息。
可选的,所述第一服务器,还包括:
第八确定模块,用于基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
第九确定模块,用于基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
第十五方面,基于同一发明构思,本发明实施例提供一种终端,包括:
第七接收模块,用于接收某一群组的数据;
第十确定模块,用于获得用于发送所述数据的转发路径信息,所述转发路径信息由第二服务器基于加入所述群组的节点信息所确定,所述第二服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第二转发模块,用于将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,所述第七接收模块,用于:接收另一终端或者所述第二服务器发送的携带所述转发路径信息的所述数据;所述第二转发模块,用于将携带所述转发路径信息的数据发送至下一跳节点;或者,
所述第七接收模块,用于接收另一终端或所述第二服务器发送的所述数据;所述第二转发模块,用于基于所述终端预存的所述转发路径信息,将所述数据发送至下一跳节点。
可选的,所述第二转发模块,包括:
第三判断单元,用于在将所述数据基于所述转发路径信息进行转发时,判断当前节点的下一跳节点是否掉线;
第四发送单元,用于如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
第五发送单元,用于如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述终端还包括:
第十二发送模块,用于如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端还包括:
第二检测模块,用于每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
第十三发送模块,用于如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端,还包括:
第十四发送模块,用于在接收所述数据之前,向所述第一服务器发送加入群组请求;
第八接收模块,用于接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
第二建立模块,用于与所述相邻节点信息所包含的相邻节点建立连接;
第十五发送模块,用于将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述第二转发模块,包括:
第四判断单元,用于判断所述数据是否为重复接收的数据;
第六发送单元,用于若第四判断单元的判断结果为否,基于所述转发路径将所述数据发送至下一跳节点;
第二丢弃单元,用于若第四判断单元的判断结果为是,丢弃所述重复接收的数据。
第十六方面,基于同一发明构思,本发明实施例提供一种数据传输方法,应用于第二服务器,请参考图15,包括:
步骤S2101:接收第一服务器发送的加入某一群组的节点信息;
步骤S2102:基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
步骤S2103:将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
可选的,所述基于所述节点信息确定出进行数据转发的转发路径信息,包括:
基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
将所述第一转发路径反序作为第二转发路径;
确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
可选的,所述将所述数据发送至每条转发路径的起始节点,包括:将所述转发路径信息携带于所述数据之后发送至所述起始节点;或者,
在所述将所述数据发送至每条转发路径的起始节点之前,所述方法还包括:将所述转发路径信息预先发送至所述起始节点。
第十七方面,基于同一发明构思,本发明实施例提供一种数据传输方法,应用于第一服务器,请参考图16,包括:
步骤S2201:确定出加入某一群组的节点信息;
步骤S2202:将所述节点信息发送至所述第二服务器,以使所述第二服务器基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
其中,所述转发路径信息用于所述第二服务器基于所述转发路径信息将数据发送给所述群组的各个节点。
可选的,所述方法还包括:
在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
可选的,所述方法还包括:
接收第一节点发送的加入群组请求;
基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
获得所述第一节点发送至的成功建立连接的相邻节点信息;
基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
可选的,所述方法还包括:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
在判断结果为是的情况下,执行将所述第一节点的相邻节点信息发送至所述第一节点的步骤;其中,若所述判断结果为否,则向所述第一节点下发所述第二服务器的地址信息。
可选的,在所述将所述第一节点的相邻节点信息发送至所述第一节点之前,所述方法还包括:
基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
第十八方面,基于同一发明构思,本发明实施例提供一种数据传输方法,应用于终端,请参考图17,包括:
步骤S2301:接收某一群组的数据;
步骤S2302:获得用于发送所述数据的转发路径信息,所述转发路径信息由第二服务器基于加入所述群组的节点信息所确定,所述第二服务器所确定出的转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
步骤S2303:将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,所述接收某一群组的数据,包括:接收另一终端或者所述第二服务器发送的携带所述转发路径信息的所述数据;所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:将携带所述转发路径信息的数据发送至下一跳节点;或者,
所述接收某一群组的数据,包括:接收另一终端或所述第二服务器发送的所述数据;所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:基于所述终端预存的所述转发路径信息,将所述数据发送至下一跳节点。
可选的,所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:
在将所述数据基于所述转发路径信息进行转发时,判断当前节点的下一跳节点是否掉线;
如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述方法还包括:
如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述方法还包括:
每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,在所述接收某一群组的数据之前,所述方法还包括:
向所述第一服务器发送加入群组请求;
接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
与所述相邻节点信息所包含的相邻节点建立连接;
将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:
判断所述数据是否为重复接收的数据;
若第四判断单元的判断结果为否,基于所述转发路径将所述数据发送至下一跳节点;
若第四判断单元的判断结果为是,丢弃所述重复接收的数据。
第十九方面,基于同一发明构思,本发明实施例提供一种第二服务器,包括:
第三获得模块,用于获得某一群组的数据;
第十六发送模块,用于将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,以使所述至少两个起始节点基于所述转发路径信息将所述数据提供给所述群组的各个节点;
其中,所述转发路径信息基于加入所述群组的节点信息所确定,所述至少两条转发路径所经过的节点存在重叠。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
可选的,所述第二服务器,还包括:
第九接收模块,用于接收第一服务器发送所述群组的节点信息;
第十一确定模块,用于基于所述节点信息确定出所述转发路径信息;
所述第十六发送模块,用于基于所述转发路径信息,将所述数据发送给所述起始节点。
可选的,所述第十一确定模块,包括:
第七确定单元,用于基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
第八确定单元,用于基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
第三反序单元,用于将所述第一转发路径反序作为第二转发路径;
第九确定单元,用于确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
可选的,所述第十六发送模块,用于:将所述转发路径信息携带于所述数据中发送至各个节点;或者,将所述转发路径信息预先发送至各个节点,以使接收到所述数据的节点基于所述转发路径信息将所述数据发送至下一跳节点。
可选的,所述第十六发送模块,包括:
接收单元,用于接收所述起始节点发送的数据获取请求,其中,所述起始节点在获得第一服务器发送的转发路径信息并基于所述转发路径信息确定出其为起始节点之后,向所述第二服务器发送所述数据获取请求;
响应单元,用于响应所述数据获取请求,向所述起始节点发送所述数据。
第二十方面,基于同一发明构思,本发明实施例提供一种数据传输系统,包括:
本发明实施例第十六方面所提供的第二服务器;
第一服务器,用于确定出加入所述群组的节点信息,所述节点信息用于确定出进行数据转发的转发路径信息。
可选的,所述P2P还包括:
第三去除模块,用于在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
可选的,所述第一服务器还包括:
第十接收模块,用于接收第一节点发送的加入群组请求;
第十七发送模块,用于基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
第四获得模块,用于获得所述第一节点发送至的成功建立连接的相邻节点信息;
第三更新模块,用于基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
可选的,所述第十七发送模块,包括:
第五判断单元,用于判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
第七发送单元,用于若所述第五判断单元的判断结果为否,将所述第一节点的相邻节点信息发送至所述第一节点;
第八发送单元,用于若所述第五判断单元的判断结果为是,向所述第一节点下发所述第二服务器的地址信息。
可选的,所述第一服务器,还包括:
第十二确定模块,用于基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
第十三确定模块,用于基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
可选的,所述系统还包括:
终端,所述终端包括:第十一接收模块,用于接收所述数据;第十八发送模块,用于基于所述转发路径信息将所述数据发送给所述群组的各个节点。
可选的,所述终端还包括:
提取模块,用于从所述数据中提取出所述转发路径信息;
获取模块,用于获取预存的由所述服务器发送至的所述转发路径信息。
可选的,所述第十八发送模块,包括:
第六判断单元,用于判断所述转发路径信息中当前节点的下一跳节点是否掉线;
第九发送单元,用于如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
第十发送单元,用于如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述终端还包括:
第十九发送模块,用于如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端还包括:
第三检测模块,用于每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
第二十发送模块,用于如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,在所述终端还包括:
第二一发送模块,用于向所述第一服务器发送加入群组请求;
第十二接收模块,用于接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
第三建立模块,用于与所述相邻节点信息所包含的相邻节点建立连接;
第二二发送模块,用于将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述第十八发送模块,包括:
第七判断单元,用于判断所述数据是否为重复接收的数据;
第十一发送单元,用于若第七判断单元的判断结果为否,基于所述转发路径信息将所述数据发送给所述群组的各个节点;
第三丢弃单元,用于若第七判断单元的判断结果为是,则丢弃所述数据。
第二十一方面,基于同一发明构思,本发明实施例提供一种终端,包括:
第十三接收模块,用于接收某一群组的数据;
第十四确定模块,用于确定转发所述数据的转发路径信息,所述转发路径信息基于加入所述群组的节点信息所确定,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第三转发模块,用于将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,所述第十四确定模块,用于:从所述数据中提取出所述转发路径信息;或者,获取所述电子设备预存的所述转发路径信息。
可选的,所述转发路径信息包括:由第二服务器发送所述转发路径信息;或者,由第一服务器发送的所述转发路径信息。
可选的,所述终端,还包括:
第二三发送模块,用于在获得第一服务器发送的所述转发路径信息之后,向第二服务器发送数据获取请求;
所述第十三接收模块,用于接收所述第二服务器基于所述数据获取请求发送的所述数据。
可选的,所述第三转发模块,包括:
第八判断单元,用于判断当前节点的下一跳节点是否掉线;
第十二发送单元,用于如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
第十二发送节点,用于如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述终端还包括:
第二四发送模块,用于如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端还包括:
第四检测模块,用于每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
第二五发送模块,用于如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述终端还包括:
第二六发送模块,用于在接收所述数据之前,向所述第一服务器发送加入群组请求;
第十四接收模块,用于接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
第四建立模块,用于与所述相邻节点信息所包含的相邻节点建立连接;
第二七发送模块,用于将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述第三转发模块,包括:
第九判断单元,用于判断所述数据是否为重复接收的数据;
第十三发送单元,用于若第九判断单元的判断结果为否,基于所述转发路径信息将所述数据发送至下一跳节点;
第四丢弃单元,用于若第九判断单元的判断结果为是,丢弃所述重复接收的数据。
第二十二方面,结合同一发明构思,本发明实施例提供一种数据传输方法,应用于数据传输系统,请参考图18,包括:
步骤S2701:第二服务器获得某一群组的数据;
步骤S2702:所述第二服务器将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,以使所述至少两个起始节点基于所述转发路径信息将所述数据提供给所述群组的各个节点;
其中,所述转发路径信息基于加入所述群组的节点信息所确定,所述至少两条转发路径所经过的节点存在重叠。
可选的,在所述至少两条转发路径中,各个相邻节点之间已成功建立连接。
可选的,所述第二服务器将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,包括:
所述第二服务器接收第一服务器发送所述群组的节点信息;
所述第二服务器基于所述节点信息确定出所述转发路径信息;
所述第二服务器基于所述转发路径信息,将所述数据发送给所述起始节点。
可选的,所述第二服务器基于所述节点信息确定出所述转发路径信息,包括:
所述第二服务器基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
所述第二服务器基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
所述第二服务器将所述第一转发路径反序作为第二转发路径;
所述第二服务器确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
可选的,所述第二服务器将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,包括:将所述转发路径信息携带于所述数据中发送至各个节点;或者,
在所述第二服务器将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点之前,所述方法还包括:将所述转发路径信息预先发送至各个节点,以使接收到所述数据的节点基于所述转发路径信息将所述数据发送至下一跳节点。
可选的,所述第二服务器将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,包括:
接收所述起始节点发送的数据获取请求,其中,所述起始节点在获得第一服务器发送的转发路径信息并基于所述转发路径信息确定出其为起始节点之后,向所述第二服务器发送所述数据获取请求;
响应所述数据获取请求,向所述起始节点发送所述数据。
可选的,所述方法还包括:
第一服务器确定出加入所述群组的节点信息,所述节点信息用于确定出进行数据转发的转发路径信息。
可选的,所述方法还包括:
在检测到第二节点掉线之后,将所述第二节点从所述节点信息中去除。
可选的,所述方法还包括:
接收第一节点发送的加入群组请求;
基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
获得所述第一节点发送至的成功建立连接的相邻节点信息;
基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
可选的,在所述将所述第一节点的相邻节点信息发送至所述第一节点之前,所述方法还包括:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
若判断结果为否,执行将所述第一节点的相邻节点信息发送至所述第一节点的步骤;其中,若所述判断结果为是,向所述第一节点下发所述第二服务器的地址信息。
可选的,在所述将所述第一节点的相邻节点信息发送至所述第一节点之前,所述方法还包括:
基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
可选的,所述方法还包括:
终端接收所述数据;
所述终端基于所述转发路径信息将所述数据发送给所述群组的各个节点。
可选的,在所述终端基于所述转发路径信息将所述数据发送给所述群组的各个节点之前,所述方法还包括:
从所述数据中提取出所述转发路径信息;
获取预存的由所述服务器发送至的所述转发路径信息。
可选的,所述终端基于所述转发路径信息将所述数据发送给所述群组的各个节点,包括:
所述终端判断所述转发路径信息中当前节点的下一跳节点是否掉线;
如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述方法还包括:
如果所述当前节点的下一跳节点掉线,所述终端将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述方法还包括:
所述终端每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述服务器,以使所述服务器对所述群组的节点信息进行更新。
可选的,在所述终端接收所述数据之前,所述方法还包括:
所述终端向所述第一服务器发送加入群组请求;
所述终端接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
所述终端与所述相邻节点信息所包含的相邻节点建立连接;
所述终端将成功建立连接的相邻节点信息发送至第一服务器,以使所述第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述终端基于所述转发路径信息将所述数据发送给所述群组的各个节点,包括:
所述终端判断所述数据是否为重复接收的数据;
若判断结果为否,基于所述转发路径信息将所述数据发送给所述群组的各个节点;
判断结果为是,则丢弃所述数据。
第二十三方面,基于同一发明构思,本发明实施例提供一种数据传输方法,应用于终端,请参考图19,包括:
步骤S2801:接收某一群组的数据;
步骤S2802:确定转发所述数据的转发路径信息,所述转发路径信息基于加入所述群组的节点信息所确定,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
步骤S2803:将所述数据基于所述转发路径信息发送至所述群组的各个节点。
可选的,所述确定转发所述数据的转发路径信息,包括:
从所述数据中提取出所述转发路径信息;或者,获取所述电子设备预存的所述转发路径信息。
可选的,所述转发路径信息包括:由第二服务器发送所述转发路径信息;或者,由第一服务器发送的所述转发路径信息。
可选的,所述方法还包括:
在获得第一服务器发送的所述转发路径信息之后,向第二服务器发送数据获取请求;
所述接收某一群组的数据,包括:接收所述第二服务器基于所述数据获取请求发送的所述数据。
可选的,所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:
判断当前节点的下一跳节点是否掉线;
如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
可选的,所述方法还包括:
如果所述当前节点的下一跳节点掉线,将所述下一跳节点的掉线信息发送至所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,所述方法还包括:
每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
可选的,在所述接收某一群组的数据之前,所述方法还包括:
向所述第一服务器发送加入群组请求;
接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
与所述相邻节点信息所包含的相邻节点建立连接;
将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
可选的,所述将所述数据基于所述转发路径信息发送至所述群组的各个节点,包括:
判断所述数据是否为重复接收的数据;
若第九判断单元的判断结果为否,基于所述转发路径信息将所述数据发送至下一跳节点;
若第九判断单元的判断结果为是,丢弃所述重复接收的数据。
本发明一个或多个实施例,至少具有以下有益效果:
由于在本发明实施例中,第一服务器可以基于加入某一群组的节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠,并且将转发路径信息发送给每条转发路径所对应的起始节点;基于此,第二服务器可以将数据发送至起始节点,从而起始节点可以将将所述数据基于所述转发路径信息发送至所述群组的各个节点。从而针对在转发路径中存在重叠的节点,即使其某条转发路径中的上一跳节点出现了问题,也可以通过另一转发路径的上一跳节点接收到该数据,第一服务器从而避免了超时等待后才能再次请求转发数据(超时等待所需时间远大于数据多经历几个节点的转发时间),故而缓解了现有技术中基于P2P方式进行数据传输的时延问题;
另一方面,本发明实施例还提供一种混合数据传输方法,在接收到第一节点发送的加入某一群组的加入群组请求之后,基于第一节点是否满足预设条件,为其提供不同的数据传输方式,也即:如果第一节点满足预设条件,为第一节点提供其相邻节点信息,从而可以通过P2P方式获取数据,如果第一节点不满足预设条件,则为其提供第二服务器的地址信息,以通过第二服务器获取相关数据,进而可以通过两种方式进行混合数据传输,一方面能够保证通过P2P方式增加提供数据的数据源,以提高数据传输速度;另一方面,在第一节点无法通过P2P方式获取数据时,又可以通过第二服务器正常获取数据,从而达到了能够在提高数据获取速度的同时,保证节点能够正常获取数据的技术效果。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (29)
1.一种混合数据传输方法,其特征在于,包括:
接收第一节点发送的加入某一群组的加入群组请求;
判断所述第一节点是否满足预设条件;
如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;
如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据。
2.如权利要求1所述的方法,其特征在于,所述判断所述第一节点是否满足预设条件,包括:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
若是,确定所述第一节点不满足所述预设条件;
若否,确定所述第一节点满足所述预设条件。
3.如权利要求1所述的方法,其特征在于,在所述接收第一节点发送的加入某一群组的加入群组请求之前,所述方法还包括:
确定出加入所述群组的节点信息;
基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
4.如权利要求3所述的方法,其特征在于,所述确定出加入所述群组的节点信息,包括:
基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
5.一种混合数据传输系统,其特征在于,包括:第一服务器和第二服务器;
所述第一服务器,用于接收第一节点发送的加入某一群组的加入群组请求;判断所述第一节点是否满足预设条件;如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据;
所述第二服务器,用于向特定节点发送所述群组的数据。
6.一种第一服务器,其特征在于,包括:
请求接收模块,用于接收第一节点发送的加入某一群组的加入群组请求;
节点判断模块,用于判断所述第一节点是否满足预设条件;
节点发送模块,用于如果所述第一节点满足所述预设条件,将所述第一节点的相邻节点信息发送至给所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接,从而从所述相邻节点获取所述群组的数据;
地址发送模块,用于如果所述第一节点不满足所述预设条件,向所述第一节点下发第二服务器的地址信息,以使所述第一节点从所述第二服务器获取所述群组的数据。
7.一种数据传输系统,其特征在于,包括:
第一服务器,用于确定出加入某一群组的节点信息;基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;将所述转发路径信息发送至每条转发路径所对应的起始节点;
第二服务器,用于基于所述起始节点的数据获取请求将数据发送至所述起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
8.如权利要求7所述的系统,其特征在于,所述第一服务器,用于:
基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
将所述第一转发路径反序作为第二转发路径;
确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
9.如权利要求7所述的系统,其特征在于,所述第一服务器,还用于:
接收第一节点发送的加入群组请求;
基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
获得所述第一节点发送至的成功建立连接的相邻节点信息;
基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
10.如权利要求9所述的系统,其特征在于,所述第一服务器,还用于:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
若否,将所述第一节点的相邻节点信息发送至所述第一节点;
其中,若判断结果为是,向所述第一节点下发所述第二服务器的地址信息。
11.如权利要求9所述的系统,其特征在于,所述第一服务器,还用于:
基于所述加入群组请求中所携带的所述第一节点的IP网络传输协议地址,确定出所述相邻节点信息;或者,
基于所述加入群组请求中所携带的所述第一节点的运营商信息与定位信息,确定出所述相邻节点信息。
12.如权利要求7-9任一所述的系统,其特征在于,所述系统还包括:
终端,用于接收所述数据,并基于所述转发路径信息将所述数据发送至下一跳节点。
13.如权利要求12所述的系统,其特征在于,所述终端,用于:基于所述终端所预存的所述转发路径信息,将所述数据发送至下一跳节点;或者,
基于所述数据中所携带的所述转发路径信息,将所述发送至下一跳节点。
14.如权利要求12所述的系统,其特征在于,所述终端,还用于:
在将所述数据基于所述转发路径信息进行转发时,判断当前节点的下一跳节点是否掉线;
如果所述当前节点的下一跳节点掉线,则将所述数据发送至当前节点的下一跳的下一跳节点;
如果所述当前节点的下一跳节点并未掉线,将所述数据发送至当前节点的下一跳节点。
15.如权利要求12所述的系统,其特征在于,所述终端,还用于:
每隔预设时间间隔,检测当前节点的相邻节点是否掉线;
如果某一相邻节点掉线,将对应相邻节点的掉线信息告知所述第一服务器,以使所述第一服务器对所述群组的节点信息进行更新。
16.如权利要求12所述的系统,其特征在于,所述终端,还用于:
在接收所述数据之前,向所述第一服务器发送加入群组请求;
接收所述第一服务器基于所述加入群组请求下发的当前节点的相邻节点信息;
与所述相邻节点信息所包含的相邻节点建立连接;
将成功建立连接的相邻节点信息发送至第一服务器,以使第一服务器基于所述相邻节点信息对所述群组的节点信息进行更新。
17.如权利要求12所述的系统,其特征在于,所述第一服务器为对等计算机网络P2P服务器,所述第二服务器为内容分发网络CDN服务器。
18.一种第一服务器,其特征在于,包括:
第一确定模块,用于确定出加入某一群组的节点信息;
第二确定模块,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
第一发送模块,用于将所述转发路径信息发送至每条转发路径所对应的起始节点,以使所述起始节点基于所述转发路径信息从第二服务器获取数据,并将所述数据基于所述转发路径信息发送给所述群组的各个节点。
19.一种数据传输系统,其特征在于,包括:第一服务器以及第二服务器;
所述第一服务器,用于确定出加入某一群组的节点信息;以及将所述节点信息发送至所述第二服务器;
所述第二服务器,用于基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;以及将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
20.如权利要求19所述的系统,其特征在于,所述第二服务器,用于:
基于所述节点信息确定出所述群组所包含的节点、以及与所述群组所包含的节点中的每个节点成功建立连接的相邻节点;
基于所述群组所包含的节点以及成功建立连接的相邻节点,确定出可经过每个节点的第一转发路径;
将所述第一转发路径反序作为第二转发路径;
确定出包含所述第一转发路径和所述第二转发路径的所述转发路径信息。
21.如权利要求19或20所述的系统,其特征在于,所述第一服务器,还用于:
接收第一节点发送的加入群组请求;
基于所述加入群组请求,将所述第一节点的相邻节点信息发送至所述第一节点,以使所述第一节点与所述第一节点的相邻节点建立连接;
获得所述第一节点发送至的成功建立连接的相邻节点信息;
基于与所述第一节点成功建立连接的相邻节点信息,对所述群组的节点信息进行更新。
22.如权利要求21所述的系统,其特征在于,所述第一服务器,还用于:
判断所述第一节点的NAT网络地址转换类型是否为对称型NAT;
若否,将所述第一节点的相邻节点信息发送至所述第一节点;
其中,若判断结果为是,向所述第一节点下发所述第二服务器的地址信息。
23.如权利要求21或22所述的系统,其特征在于,所述系统还包括:
终端,用于接收所述数据,并基于所述转发路径信息将所述数据发送至下一跳节点。
24.一种第一服务器,其特征在于,包括:
第七确定模块,用于确定出加入某一群组的节点信息;
第十发送模块,用于将所述节点信息发送至所述第二服务器,以使所述第二服务器基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
其中,所述转发路径信息用于所述第二服务器基于所述转发路径信息将数据发送给所述群组的各个节点。
25.一种第二服务器,其特征在于,包括:
第三获得模块,用于获得某一群组的数据;
第十六发送模块,用于将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,以使所述至少两个起始节点基于所述转发路径信息将所述数据提供给所述群组的各个节点;
其中,所述转发路径信息基于加入所述群组的节点信息所确定,所述至少两条转发路径所经过的节点存在重叠。
26.一种数据传输系统,其特征在于,包括:
如权利要求25所述的第二服务器;
第一服务器,用于确定出加入所述群组的节点信息,所述节点信息用于确定出进行数据转发的转发路径信息。
27.一种数据传输方法,应用于第一服务器,其特征在于,包括:
确定出加入某一群组的节点信息;
基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述转发路径信息发送至每条转发路径所对应的起始节点,以使所述起始节点基于所述转发路径信息从第二服务器获取数据,并将所述数据基于所述转发路径信息发送给所述群组的各个节点。
28.一种数据传输方法,应用于第二服务器,包括:
接收对第一服务器发送的加入某一群组的节点信息;
基于所述节点信息确定出进行数据转发的转发路径信息,所述转发路径信息中包含至少两条转发路径,所述至少两条转发路径所经过的节点存在重叠;
将所述数据发送至每条转发路径的起始节点,以使所述起始节点将所述数据基于所述转发路径信息发送至所述群组的各个节点。
29.一种数据传输方法,应用于数据传输系统,其特征在于,包括:
第二服务器获得某一群组的数据;
所述第二服务器将所述数据发送给转发路径信息中所包含的至少两个转发路径所对应的起始节点,以使所述至少两个起始节点基于所述转发路径信息将所述数据提供给所述群组的各个节点;
其中,所述转发路径信息基于加入所述群组的节点信息所确定,所述至少两条转发路径所经过的节点存在重叠。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710100135.9A CN108471558B (zh) | 2017-02-23 | 2017-02-23 | 一种混合数据传输方法、数据传输方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710100135.9A CN108471558B (zh) | 2017-02-23 | 2017-02-23 | 一种混合数据传输方法、数据传输方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108471558A true CN108471558A (zh) | 2018-08-31 |
CN108471558B CN108471558B (zh) | 2021-02-26 |
Family
ID=63266832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710100135.9A Active CN108471558B (zh) | 2017-02-23 | 2017-02-23 | 一种混合数据传输方法、数据传输方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108471558B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161690A (zh) * | 2020-03-06 | 2020-05-15 | Tcl华星光电技术有限公司 | 一种显示面板的驱动方法、驱动系统及存储介质 |
CN111181849A (zh) * | 2018-11-09 | 2020-05-19 | 北京嘀嘀无限科技发展有限公司 | 回源路径确定方法、确定装置、计算机设备和存储介质 |
CN114423128A (zh) * | 2021-12-28 | 2022-04-29 | 深圳市晨北科技有限公司 | 灯组控制方法、系统及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001013251A1 (en) * | 1999-08-13 | 2001-02-22 | Ping Yan Lee | Network system and method for facilitating users to browse the internet |
US20070091823A1 (en) * | 2005-10-24 | 2007-04-26 | Hajime Fukushima | Communication node, server and system |
CN101611642A (zh) * | 2006-12-20 | 2009-12-23 | 爱尔瓦纳股份有限公司 | 网络中的通信组配置 |
CN102055808A (zh) * | 2011-01-10 | 2011-05-11 | 复旦大学 | 一种降低p2p直播系统中播放延迟的方法与系统 |
CN102546775A (zh) * | 2011-12-27 | 2012-07-04 | 中兴通讯股份有限公司 | 一种cdn中的节点及其自组网方法 |
CN103096177A (zh) * | 2012-10-11 | 2013-05-08 | 北京邮电大学 | 一种视频点播方法、系统、代理节点及媒体服务器 |
-
2017
- 2017-02-23 CN CN201710100135.9A patent/CN108471558B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001013251A1 (en) * | 1999-08-13 | 2001-02-22 | Ping Yan Lee | Network system and method for facilitating users to browse the internet |
US20070091823A1 (en) * | 2005-10-24 | 2007-04-26 | Hajime Fukushima | Communication node, server and system |
CN101611642A (zh) * | 2006-12-20 | 2009-12-23 | 爱尔瓦纳股份有限公司 | 网络中的通信组配置 |
CN102055808A (zh) * | 2011-01-10 | 2011-05-11 | 复旦大学 | 一种降低p2p直播系统中播放延迟的方法与系统 |
CN102546775A (zh) * | 2011-12-27 | 2012-07-04 | 中兴通讯股份有限公司 | 一种cdn中的节点及其自组网方法 |
CN103096177A (zh) * | 2012-10-11 | 2013-05-08 | 北京邮电大学 | 一种视频点播方法、系统、代理节点及媒体服务器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111181849A (zh) * | 2018-11-09 | 2020-05-19 | 北京嘀嘀无限科技发展有限公司 | 回源路径确定方法、确定装置、计算机设备和存储介质 |
CN111161690A (zh) * | 2020-03-06 | 2020-05-15 | Tcl华星光电技术有限公司 | 一种显示面板的驱动方法、驱动系统及存储介质 |
CN114423128A (zh) * | 2021-12-28 | 2022-04-29 | 深圳市晨北科技有限公司 | 灯组控制方法、系统及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108471558B (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102594703B (zh) | 基于中继节点的互联网通信系统和通信路径选择方法 | |
US8325645B2 (en) | Network relay apparatus | |
US20130254415A1 (en) | Routing requests over a network | |
US20120278379A1 (en) | Relay Node, Distributed Network of Relay Node and Networking Method Thereof | |
MX2010011654A (es) | Metodo y aparato para multi-difundir la administracion de un arbol en un sistema de comunicacion de rele de multiples saltos. | |
CN108471558A (zh) | 一种混合数据传输方法、数据传输方法及相关设备 | |
CN102469015A (zh) | 实现中继选择的方法及装置、系统 | |
CN101013948B (zh) | 构建等耗多径多播分发结构 | |
CN1980246B (zh) | 二层组播流转发方法 | |
CN101304381B (zh) | P2p网络中文件传输的方法、系统及装置 | |
US9705789B1 (en) | Method and apparatus for handling multicast traffic | |
CN101123526B (zh) | 一种大规模流媒体传输结构的实现方法 | |
CN109862437A (zh) | 一种转发表项创建方法及bras | |
CN103763206A (zh) | 一种网络调度方法及网关 | |
CN1996931A (zh) | 网络组播方法 | |
CN102111608A (zh) | 一种视频监控系统的通信方法及其设备 | |
EP2439876A1 (en) | Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process | |
CN110493733A (zh) | 一种基于蓝牙低功耗移动设备的Mesh网络系统 | |
CN103414800B (zh) | 一种nat穿越中分布式中继服务器的分配和选择方法及系统 | |
CN104753779B (zh) | 一种云群虚拟路由系统的实现方法 | |
CN102325154B (zh) | 具有容灾备份功能的网络系统及实现容灾备份功能的方法 | |
CN104995897A (zh) | 用于在ip网络中进行内容缓存和传输的方法、系统和装置 | |
CN103354567A (zh) | 一种同步媒体访问控制地址的方法和设备 | |
CN102035894B (zh) | 一种基于距离的状态同步方法 | |
CN111416760A (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 |