【技术实现步骤摘要】
一种基于P2P的数据分发方法、装置及系统
[0001]本申请涉及终端
,尤其涉及一种基于P2P的数据分发方法、装置及系统。
技术介绍
[0002]在计算机网络领域,主流的通信模式分为客户端
‑
服务器模式(client/server,C/S)和对等(peer
‑
to
‑
peer,P2P)模式两大类,在P2P通信模式中,设备之间可以直接通信以实现资源共享和信息交换,这给用户之间的沟通和交流提供了很大的便利。基于P2P通信模式的多方通信场景,例如群聊、音视频会议等,每个设备都需要基于设备之间建立的P2P通道将自己的通信数据发送给其它所有设备,例如,消息、音视频流等。由于目前的IPv4网络环境中存在网络地址匮乏的问题,需要通过网络地址转换(network address translation,NAT)设备将内部网络私有网际互连协议(internet protocol,IP)地址转换为外部网络公有IP地址,NAT设备的存在虽然解决了网络地址匮乏的问题,但同时也使得处于不同内 ...
【技术保护点】
【技术特征摘要】
1.一种基于P2P的数据分发方法,其特征在于,应用于数据分发系统,该数据分发系统包括至少三个设备和服务器,所述方法包括:所述至少三个设备中的任一设备向所述服务器发送请求信息,并接收所述服务器发送的响应信息;其中,所述请求信息用于请求获取所述任一设备的相邻设备的相关信息,所述相邻设备与所述任一设备通过P2P通道相连,所述响应信息中携带根据预先生成的无环数据分发路径图确定的所述相关信息;所述任一设备根据所述响应信息从所述相邻设备中确定第一目标设备集,将第一数据发送给所述第一目标设备集中的设备;其中,所述第一数据中携带所述任一设备的标识信息,所述标识信息用于指示所述第一目标设备集中的设备在确定所述第一数据为分发数据时,将所述第一数据分发给第二目标设备集中的设备,所述第一目标设备集中的设备是所述任一设备的下一跳设备,所述第二目标设备集中的设备是所述第一目标设备集中的设备的下一跳设备,所述分发数据为需分发到所述数据分发系统中所有设备的数据。2.如权利要求1所述的方法,其特征在于,所述向所述服务器发送请求信息之前,所述方法还包括:所述至少三个设备中的任一设备均向所述服务器发送第一信息和第二信息;其中,所述第一信息和所述第二信息用于指示所述服务器生成所述无环数据分发路径图,所述第一信息中携带所述任一设备以及与所述任一设备通过P2P通道相连的相邻设备的标识信息,所述第二信息中携带所述P2P通道的服务质量Qos。3.如权利要求2所述的方法,其特征在于,所述方法还包括:所述至少三个设备中的任一设备均周期性向所述服务器发送更新的所述第二信息;其中,更新的所述第二信息用于指示所述服务器更新所述无环数据分发路径图。4.如权利要求3所述的方法,其特征在于,所述方法还包括:所述至少三个设备中的任一设备向所述服务器发送订阅请求信息,并接收所述服务器在更新所述无环数据分发路径图后发送的订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者第三信息,所述第三信息为发送订阅请求信息的设备的相邻设备的标识信息,所述订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的所述第三信息。5.如权利要求4所述的方法,其特征在于,所述向所述服务器发送请求信息,并接收所述服务器发送的响应信息,所述方法包括:向所述服务器发送第一查询请求信息,并接收所述服务器发送的第一查询响应信息;其中,所述第一查询请求信息用于请求查询第四信息,所述第四信息为所述任一设备的相邻设备的标识信息,所述第一查询响应信息中携带根据所述无环数据分发路径图确定的所述第四信息;或者,向所述服务器发送第一订阅请求信息,并接收所述服务器发送的第一订阅响应信息;其中,所述第一订阅请求信息用于请求订阅所述无环数据分发路径图或者所述第四信息,所述第一订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第四信息。6.如权利要求1
‑
5任一所述的方法,其特征在于,所述方法还包括:所述至少三个设备中的任一设备在接收到所述第一数据时,根据所述第一数据的编号
标识,确定所述第一数据是否为重复数据;若所述第一数据为重复数据,则所述任一设备丢弃所述第一数据;若所述第一数据不为重复数据,则所述任一设备确定所述第一数据是否为分发数据。7.如权利要求6所述的方法,其特征在于,所述确定所述第一数据是否为分发数据,包括:根据传输所述第一数据的P2P通道的业务标识或者所述第一数据的业务标识,确定所述第一数据是否为分发数据。8.如权利要求7所述的方法,其特征在于,所述将所述第一数据分发给第二目标设备集中的设备,所述方法包括:周期性或者在存储所述分发数据的缓存区满溢时向所述服务器发送第二查询请求信息;其中,所述第二查询请求信息用于请求查询第五信息,所述第五信息为所述任一设备的相邻设备的标识信息;接收所述服务器发送的第二查询响应信息;其中,所述第二查询响应信息中携带根据所述无环数据分发路径图确定的所述第五信息;所述第一目标集中的设备根据所述第二查询响应信息确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。9.如权利要求7所述的方法,其特征在于,所述将所述第一数据分发给第二目标设备集中的设备,所述方法还包括:在确定没有所述无环数据分发路径图或者第五信息时,向所述服务器发送第二订阅请求信息,并接收所述服务器发送的第二订阅响应信息;其中,所述第五信息为所述任一设备的相邻设备的标识信息,所述第二订阅请求信息用于请求订阅所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息,所述第二订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息;根据所述第二订阅响应信息确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。10.如权利要求7所述的方法,其特征在于,所述将所述第一数据分发给第二目标设备集中的设备,所述方法还包括:在确定所述第一数据中携带有所述无环数据分发路径图时,根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。11.一种基于P2P的数据分发方法,其特征在于,应用于数据分发系统,该数据分发系统包括至少三个设备和服务器,所述方法包括:所述服务器接收所述至少三个设备中的任一设备发送的请求信息;其中,所述请求信息用于请求获取所述任一设备的相邻设备的相关信息,所述相邻设备与所述任一设备通过P2P通道相连;所述服务器向所述任一设备发送响应信息;其中,所述响应消息用于指示所述任一设备从所述相邻设备中确定第一目标设备集,将第一数据发送给所述第一目标设备集中的设备,所述响应信息中携带根据预先生成的无环数据分发路径图确定的所述相关信息,所述第一目标设备集中的设备是所述任一设备的下一跳设备,所述第一数据中携带所述任一设备的标识信息。
12.如权利要求11所述的方法,其特征在于,所述服务器接收所述至少三个设备中的任一设备发送的请求信息之前,所述方法还包括:所述服务器接收所述至少三个设备中的每个设备发送的第一信息和第二信息,根据所述第一信息和所述第二信息生成所述无环数据分发路径图;其中,所述第一信息中携带所述每个设备以及与所述每个设备通过P2P通道相连的相邻设备的标识信息,所述第二信息中携带所述P2P通道的服务质量Qos。13.如权利要求12所述的方法,其特征在于,所述方法还包括:所述服务器接收所述至少三个设备中的每个设备周期性发送的更新的所述第二信息,根据更新的所述第二信息更新所述无环数据分发路径图。14.如权利要求13所述的方法,其特征在于,所述方法还包括:所述服务器在更新所述无环数据分发路径图后,向所述至少三个设备中的发送过订阅请求信息的设备发送订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。