CN114531446B - 一种基于p2p的数据分发方法、装置及系统 - Google Patents
一种基于p2p的数据分发方法、装置及系统 Download PDFInfo
- Publication number
- CN114531446B CN114531446B CN202011197223.3A CN202011197223A CN114531446B CN 114531446 B CN114531446 B CN 114531446B CN 202011197223 A CN202011197223 A CN 202011197223A CN 114531446 B CN114531446 B CN 114531446B
- Authority
- CN
- China
- Prior art keywords
- information
- data
- server
- devices
- data distribution
- 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
- 238000009826 distribution Methods 0.000 title claims abstract description 383
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000004044 response Effects 0.000 claims abstract description 146
- 238000010586 diagram Methods 0.000 claims description 204
- 125000002015 acyclic group Chemical group 0.000 claims description 129
- 230000015654 memory Effects 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 42
- 238000013461 design Methods 0.000 description 52
- 239000002699 waste material Substances 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 6
- 230000037361 pathway Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000004230 Fast Yellow AB Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种基于P2P的数据分发方法、装置及系统,以解决多方通信场景下,现有技术未考虑部分P2P通道的瓶颈问题,在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。该方法应用于数据分发系统,该数据分发系统包括至少三个设备和服务器,该方法包括:至少三个设备中的任一设备向服务器发送请求信息,并接收服务器发送的响应信息;任一设备根据响应信息从相邻设备中确定第一目标设备集,将第一数据发送给第一目标设备集中的设备;其中,第一数据中携带任一设备的标识信息,标识信息用于指示第一目标设备集中的设备在确定第一数据为分发数据时,将第一数据分发给第二目标设备集中的设备。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种基于P2P的数据分发方法、装置及系统。
背景技术
在计算机网络领域,主流的通信模式分为客户端-服务器模式(client/server,C/S)和对等(peer-to-peer,P2P)模式两大类,在P2P通信模式中,设备之间可以直接通信以实现资源共享和信息交换,这给用户之间的沟通和交流提供了很大的便利。基于P2P通信模式的多方通信场景,例如群聊、音视频会议等,每个设备都需要基于设备之间建立的P2P通道将自己的通信数据发送给其它所有设备,例如,消息、音视频流等。由于目前的IPv4网络环境中存在网络地址匮乏的问题,需要通过网络地址转换(network address translation,NAT)设备将内部网络私有网际互连协议(internet protocol,IP)地址转换为外部网络公有IP地址,NAT设备的存在虽然解决了网络地址匮乏的问题,但同时也使得处于不同内部网络的设备之间的通信变得十分困难,大部分多方通信场景无法满足两两设备之间都建立P2P通道。
图1所示为现有的基于P2P的数据分发方法的原理示意图,提供了一种典型的场景,只有部分设备之间建立了P2P通道,在多方通信时,每个设备都需要将自己的通信数据发送给其它所有设备,例如:设备A101需要给设备B102、设备C103、设备D104、设备E105、设备F106都发送相同的通信数据,其中发给设备D104、设备F106的数据都需要经过A-C段P2P通道,导致A-C段P2P通道数据量倍增,成为数据通信的瓶颈,可能导致网络拥塞,并且相同的通信数据在同一条P2P通道上多次传输,也造成了网络资源的浪费。
由此可知,现有的基于P2P的数据分发方法,相同的通信数据将在同一条P2P通道上多次传输,存在网络拥塞以及网络资源的浪费的问题。
发明内容
本申请实施例提供一种基于P2P通道的数据分发方法、装置及系统,以解决多方通信场景下,现有技术未考虑部分P2P通道的瓶颈问题,在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
第一方面,本申请提供一种基于P2P通道的数据分发方法,应用于数据分发系统,该数据分发系统包括至少三个设备和服务器,该方法包括:所述至少三个设备中的任一设备向所述服务器发送请求信息,并接收所述服务器发送的响应信息;其中,所述请求信息用于请求获取所述任一设备的相邻设备的相关信息,所述相邻设备与所述任一设备通过P2P通道相连,所述响应信息中携带根据预先生成的无环数据分发路径图确定的所述相关信息;所述任一设备根据所述响应信息从所述相邻设备中确定第一目标设备集,将第一数据发送给所述第一目标设备集中的设备;其中,所述第一数据中携带所述任一设备的标识信息,所述标识信息用于指示所述第一目标设备集中的设备在确定所述第一数据为分发数据时,将所述第一数据分发给第二目标设备集中的设备,所述第一目标设备集中的设备是所述任一设备的下一跳设备,所述第二目标设备集中的设备是所述第一目标设备集中的设备的下一跳设备,所述分发数据为需分发到所述数据分发系统中所有设备的数据。
采用上述设计,数据分发系统中的源设备可以接收来自服务器的响应信息,响应信息中携带服务器根据预先生成的无环数据分发路径图确定的源设备的相邻设备的相关信息,以使源设备可以根据响应信息确定源设备的下一跳设备,并将需分发到数据分发系统中的所有设备的分发数据发送给源设备的下一跳设备,源设备的下一跳设备再对分发数据进行二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
在一种可能的设计中,所述向所述服务器发送请求信息之前,所述方法还包括:所述至少三个设备中的任一设备均向所述服务器发送第一信息和第二信息;其中,所述第一信息和所述第二信息用于指示所述服务器生成所述无环数据分发路径图,所述第一信息中携带所述任一设备以及与所述任一设备通过P2P通道相连的相邻设备的标识信息,所述第二信息中携带所述P2P通道的服务质量Qos。
在一种可能的设计中,所述方法还包括:所述至少三个设备中的任一设备均周期性向所述服务器发送更新的所述第二信息;其中,更新的所述第二信息用于指示所述服务器更新所述无环数据分发路径图。
在一种可能的设计中,所述方法还包括:所述至少三个设备中的任一设备向所述服务器发送订阅请求信息,并接收所述服务器在更新所述无环数据分发路径图后发送的订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者第三信息,所述第三信息为发送订阅请求信息的设备的相邻设备的标识信息,所述订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的所述第三信息。
采用上述设计,数据分发系统中的每个设备可以向服务器发送第一信息和第二信息,并周期性向服务器发送更新的所述第二信息,使得服务器可以根据第一信息和第二信息生成无环数据分发路径图,并根据周期性发送的更新的第二信息周期性更新无环数据分发路径图,从而实现数据分发系统中的任一设备可以根据服务器生成的无环数据分发路径图确定该任一设备的下一跳设备,将需分发到数据分发系统中的所有设备的分发数据发送给该任一设备的下一跳设备,并在服务器更新无环数据分发路径图后,数据分发系统中的设备可以同步更新无环数据分发路径图,避免设备向错误的该设备的下一跳设备发送数据。
在一种可能的设计中,所述向所述服务器发送请求信息,并接收所述服务器发送的响应信息,所述方法包括:向所述服务器发送第一查询请求信息,并接收所述服务器发送的第一查询响应信息;其中,所述第一查询请求信息用于请求查询第四信息,所述第四信息为所述任一设备的相邻设备的标识信息,所述第一查询响应信息中携带根据所述无环数据分发路径图确定的所述第四信息;或者,向所述服务器发送第一订阅请求信息,并接收所述服务器发送的第一订阅响应信息;其中,所述第一订阅请求信息用于请求订阅所述无环数据分发路径图或者所述第四信息,所述第一订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第四信息。
采用上述设计,数据分发系统中的源设备可以向服务器发送用于请求获取源设备的相邻设备的相关信息的请求信息,并接收服务器发送的响应信息,响应信息中携带根据预先生成的无环数据分发路径图确定的相关信息,以使源设备可以根据响应信息确定源设备的下一跳设备。
在一种可能的设计中,所述方法还包括:所述至少三个设备中的任一设备在接收到所述第一数据时,根据所述第一数据的编号标识,确定所述第一数据是否为重复数据;若所述第一数据为重复数据,则所述任一设备丢弃所述第一数据;若所述第一数据不为重复数据,则所述任一设备确定所述第一数据是否为分发数据。
在一种可能的设计中,所述确定所述第一数据是否为分发数据,包括:根据传输所述第一数据的P2P通道的业务标识或者所述第一数据的业务标识,确定所述第一数据是否为分发数据。
采用上述设计,第一目标设备集中的设备可以根据第一数据的编号标识确定第一数据是否为重复数据,以及根据第一数据的业务标识或者传输第一数据的P2P通道的业务标识确定第一数据是否为分发数据,在确定第一数据为重复数据时丢弃第一数据,避免对重复数据进行二次分发,浪费网络资源。
在一种可能的设计中,所述将所述第一数据分发给第二目标设备集中的设备,所述方法包括:周期性或者在存储所述分发数据的缓存区满溢时向所述服务器发送第二查询请求信息;其中,所述第二查询请求信息用于请求查询第五信息,所述第五信息为所述任一设备的相邻设备的标识信息;所述任一设备接收所述服务器发送的第二查询响应信息;其中,所述第二查询响应信息中携带根据所述无环数据分发路径图确定的所述第五信息;所述第一目标设备集中的设备根据所述第二查询响应信息确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
采用上述设计,第一目标设备集中的设备在确定第一数据为分发数据时,可以周期性或在存储分发数据的缓存区满溢时向服务器发送第二查询请求信息,减少设备向服务器发送查询请求信息的次数,降低通信时延,并在向服务器发送第二查询请求信息后,接收服务器发送的第二查询响应信息,根据第二查询响应信息从相邻设备中确定该设备的下一跳设备,使得该设备可以在确定第一数据为分发数据时,将第一数据发送给该设备的下一跳设备,实现了数据的二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
在一种可能的设计中,所述将所述第一数据分发给第二目标设备集中的设备,所述方法还包括:在确定没有所述无环数据分发路径图或者第五信息时,向所述服务器发送第二订阅请求信息,并接收所述服务器发送的第二订阅响应信息;其中,所述第五信息为所述任一设备的相邻设备的标识信息,所述第二订阅请求信息用于请求订阅所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息,所述第二订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息;所述任一设备根据所述第二订阅响应信息确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
采用上述设计,第一目标设备集中的设备在确定本地没有无环数据分发路径图或者第五信息时向服务器发送第二订阅请求信息,并接收服务器发送的第二订阅响应信息,根据第二订阅响应信息从相邻设备中确定该设备的下一跳设备,使得该设备可以在确定第一数据为分发数据时,将第一数据发送给该设备的下一跳设备,实现了数据的二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
在一种可能的设计中,所述将所述第一数据分发给第二目标设备集中的设备,所述方法还包括:在确定所述第一数据中携带有所述无环数据分发路径图时,根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
采用上述设计,源设备可以将无环数据分发路径图携带在第一数据中发送给第一目标设备集中的设备,使得第一目标设备集中的设备在确定第一数据中携带有无环数据分发路径图时,直接根据无环数据分发路径图从相邻设备中确定该设备的下一跳设备,使得该设备可以在确定第一数据为分发数据时,将第一数据发送给该设备的下一跳设备,实现了数据的二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
第二方面,本申请还提供一种基于P2P通道的数据分发方法,应用于数据分发系统,该数据分发系统包括至少三个设备和服务器,该方法包括:所述服务器接收所述至少三个设备中的任一设备发送的请求信息;其中,所述请求信息用于请求获取所述任一设备的相邻设备的相关信息,所述相邻设备与所述任一设备通过P2P通道相连;所述服务器向所述任一设备发送响应信息;其中,所述响应信息用于指示所述任一设备从所述相邻设备中确定第一目标设备集,将第一数据发送给所述第一目标设备集中的设备,所述响应信息中携带根据预先生成的无环数据分发路径图确定的所述相关信息,所述第一目标设备集中的设备是所述任一设备的下一跳设备,所述第一数据中携带所述任一设备的标识信息。
采用上述设计,数据分发系统中的服务器向数据分发系统中的源设备发送响应信息,响应信息中携带服务器根据预先生成的无环数据分发路径图确定的源设备的相邻设备的相关信息,以使源设备可以根据响应信息确定源设备的下一跳设备,并将需分发到数据分发系统中的所有设备的分发数据发送给源设备的下一跳设备,源设备的下一跳设备再对分发数据进行二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
在一种可能的设计中,所述服务器接收所述至少三个设备中的任一设备发送的请求信息之前,所述方法还包括:所述服务器接收所述至少三个设备中的每个设备发送的第一信息和第二信息,根据所述第一信息和所述第二信息生成所述无环数据分发路径图;其中,所述第一信息中携带所述每个设备以及与所述每个设备通过P2P通道相连的相邻设备的标识信息,所述第二信息中携带所述P2P通道的服务质量Qos。
在一种可能的设计中,所述方法还包括:所述服务器接收所述至少三个设备中的每个设备周期性发送的更新的所述第二信息,根据更新的所述第二信息更新所述无环数据分发路径图。
在一种可能的设计中,所述方法还包括:所述服务器在更新所述无环数据分发路径图后,向所述至少三个设备中的发送过订阅请求信息的设备发送订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者第三信息,所述第三信息为发送订阅请求信息的设备的相邻设备的标识信息,所述订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的所述第三信息。
采用上述设计,服务器可以根据数据分发系统中的每个设备发送的第一信息和第二信息生成无环数据分发路径图,并根据周期性发送的更新的第二信息周期性更新无环数据分发路径图,从而实现数据分发系统中的任一设备可以根据服务器生成的无环数据分发路径图确定该任一设备的下一跳设备,将需分发到数据分发系统中的所有设备的分发数据发送给该任一设备的下一跳设备,并在服务器更新无环数据分发路径图后,数据分发系统中的设备可以同步更新无环数据分发路径图,避免设备向错误的该设备的下一跳设备发送数据。
在一种可能的设计中,所述服务器向所述任一设备发送响应信息,所述方法包括:所述服务器接收所述至少三个设备中的任一设备发送的查询请求信息,并向所述任一设备发送查询响应信息;其中,所述查询请求信息用于请求查询第四信息,所述第四信息为所述任一设备的相邻设备的标识信息,所述查询响应信息中携带根据所述无环数据分发路径图确定的所述第四信息;或者,所述服务器接收所述至少三个设备中的任一设备发送的订阅请求信息,并向所述任一设备发送订阅响应信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者所述第四信息,所述订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第四信息。
第三方面,本申请还提供一种数据分发系统,包括至少三个设备和服务器;
所述至少三个设备中的任一设备用于向所述服务器发送请求信息,并接收所述服务器发送的响应信息;其中,所述请求信息用于请求获取所述任一设备的相邻设备的相关信息,所述相邻设备与所述任一设备通过P2P通道相连,所述响应信息中携带根据预先生成的无环数据分发路径图确定的所述相关信息;
所述任一设备还用于根据所述响应信息从所述相邻设备中确定第一目标设备集,将第一数据发送给所述第一目标设备集中的设备;其中,所述第一数据中携带所述任一设备的标识信息,所述标识信息用于指示所述第一目标设备集中的设备在确定所述第一数据为分发数据时,将所述第一数据分发给第二目标设备集中的设备,所述第一目标设备集中的设备是所述任一设备的下一跳设备,所述第一数据中携带所述任一设备的标识信息,所述至少三个设备中的任一设备所述第二目标设备集中的设备是所述第一目标设备集中的设备的下一跳设备,所述分发数据为需分发到所述数据分发系统中所有设备的数据。在一种可能的设计中,所述向所述服务器发送请求信息之前,所述服务器用于:接收所述至少三个设备中的每个设备发送的第一信息和第二信息,根据所述第一信息和所述第二信息生成所述无环数据分发路径图;其中,所述第一信息中携带所述每个设备以及与所述每个设备通过P2P通道相连的相邻设备的标识信息,所述第二信息中携带所述P2P通道的服务质量Qos。
在一种可能的设计中,所述服务器还用于:接收所述至少三个设备中的每个设备周期性发送的更新的所述第二信息,根据更新的所述第二信息更新所述无环数据分发路径图。
在一种可能的设计中,所述服务器还用于:在更新所述无环数据分发路径图后,向所述至少三个设备中的发送过订阅请求信息的设备发送订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者第三信息,所述第三信息为发送订阅请求信息的设备的相邻设备的标识信息,所述订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的所述第三信息。
在一种可能的设计中,所述任一设备向所述服务器发送请求信息,并接收所述服务器发送的响应信息时,具体用于:向所述服务器发送第一查询请求信息,并接收所述服务器发送的第一查询响应信息,所述第一查询请求信息用于请求查询第四信息;其中,所述第四信息为所述任一设备的相邻设备的标识信息,所述第一查询响应信息中携带根据所述无环数据分发路径图确定的所述第四信息;或者,向所述服务器发送第一订阅请求信息,并接收所述服务器发送的第一订阅响应信息;其中,所述第一订阅请求信息用于请求订阅所述无环数据分发路径图或者所述第四信息,所述第一订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第四信息。
在一种可能的设计中,所述任一设备还用于:在接收到所述第一数据时,根据所述第一数据的编号标识,确定所述第一数据是否为重复数据;若所述第一数据为重复数据,则丢弃所述第一数据;若所述第一数据不为重复数据,则确定所述第一数据是否为分发数据。
在一种可能的设计中,所述任一设备确定所述第一数据是否为分发数据时,具体用于:根据传输所述第一数据的P2P通道的业务标识或者所述第一数据的业务标识,确定所述第一数据是否为分发数据。
在一种可能的设计中,所述任一设备在将所述第一数据分发给第二目标设备集中的设备时,具体用于:周期性或者在存储所述分发数据的缓存区满溢时向所述服务器发送第二查询请求信息;其中,所述第二查询请求信息用于请求查询第五信息,所述第五信息为所述第一目标设备集中的设备的相邻设备的标识信息;接收所述服务器发送的第二查询响应信息;其中,所述第二查询响应信息中携带根据所述无环数据分发路径图确定的所述第五信息;根据所述第二查询响应信息确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
在一种可能的设计中,所述任一设备在将所述第一数据分发给第二目标设备集中的设备时,具体用于:在确定没有所述无环数据分发路径图或者第五信息时,向所述服务器发送第二订阅请求信息,并接收所述服务器发送的第二订阅响应信息;其中,所述第五信息为所述第一目标设备集中的设备的相邻设备的标识信息,所述第二订阅请求信息用于请求订阅所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息,所述第二订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息;根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
在一种可能的设计中,所述任一设备在将所述第一数据分发给第二目标设备集中的设备时,具体用于:在确定所述第一数据中携带有所述无环数据分发路径图时,根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
第四方面,本申请还提供一种基于P2P的数据分发装置,应用于数据分发系统,该数据分发系统包括至少三个设备和服务器,所述装置包括:至少一个处理器和存储器;所述存储器存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述装置执行上述第一方面或上述第一方面的任意一种可能的设计的方法,或者,上述第二方面或上述第二方面的任意一种可能的设计的方法。
第五方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在计算机上运行时,使得所述计算机执行上述第一方面或上述第一方面的任意一种可能的设计的方法,或者,上述第二方面或上述第二方面的任意一种可能的设计的方法。
第六方面,本申请还提供一种程序产品,当所述程序产品在计算机上运行时,使得所述计算机执行上述第一方面或上述第一方面的任意一种可能的设计的方法,或者,上述第二方面或上述第二方面的任意一种可能的设计的方法。
第七方面,本申请还提供一种芯片,所述芯片可以与第一核心网设备的存储器耦合,用于调用存储器中存储的计算机程序并执行上述第一方面及其任意一种可能的设计的方法,或者,上述第二方面或上述第二方面的任意一种可能的设计的方法。
上述第三方面至第七方面及其可能的设计中的有益效果可以参考上述对第一方面及其任意一种可能的设计中方法或者上述第二方面及其任意一种可能的设计中方法的有益效果的描述。
附图说明
图1为现有的基于P2P的数据分发方法的原理示意图;
图2为本申请实施例适用的一种数据分发系统的架构示意图;
图3a为本申请实施例适用的一种基于P2P的数据分发方法的流程示意图;
图3b为本申请实施例适用的一种无环数据分发路径的示意图;
图4为本申请实施例适用的一种数据分发系统的结构示意图;
图5为本申请实施例适用的一种基于P2P的数据分发装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。
如图2所示,为本申请实施例适用的一种数据分发系统的架构示意图。该数据分发系统中包括设备A201、设备B202、设备C203、设备D204、设备E205、设备F206以及服务器207,在该数据分发系统中,设备A201、设备B202以及设备C203之间建立了无线点对点(peer topeer,P2P)通道,设备B202与设备E205之间建立了P2P通道,设备C203与设备D204之间建立了P2P通道,设备D204与设备F206之间建立P2P通道。
应理解,本申请实施例提供的数据分发系统,既可适用于低频场景,也适用于高频场景。本申请实施例提供的数据分发系统的应用场景包括但不限于全球移动通讯(globalsystem of mobile communication,GSM)系统、码分多址(code division multipleaccess,CDMA)系统、宽带码分多址(wideband code division multiple access,WCDMA)系统、通用分组无线业务(general packet radio service,GPRS)、长期演进(long termevolution,LTE)系统、LTE频分双工(frequency division duplex,FDD)系统、LTE时分双工(time division duplex,TDD)、通用移动通信系(universal mobile telecommunicationsystem,UMTS)、全球互联微波接入(worldwide interoperability for microwaveaccess,WIMAX)通信系统、未来的第五代(5th generation,5G)系统或新无线(new radio,NR)通信系统等。
应理解,本申请实施例中,设备A201、设备B202、设备C203、设备D204、设备E205、设备F206和服务器207之间可以直接通信,也可以通过其他设备的转发进行通信,本申请实施例对此不做具体限定。其中:
在本申请实施例中,设备A201、设备B202、设备C203、设备D204、设备E205、设备F206,可以是向用户提供语音和/或数据连通性的设备,例如可以是具有无线连接功能的手持式设备、或连接到无线调制解调器的处理设备。该设备可以经无线接入网(radio accessnetwork,RAN)与核心网进行通信,与RAN交换语音和/或数据。该设备可以是用户设备(userequipment,UE)、无线终端设备、移动终端设备、设备到设备(device to device,D2D)通信终端设备、车联网(vehicle-to-everything,V2X)通信终端设备、机器到机器/机器类通信(machine-to-machine/machine-type communications,M2M/MTC)终端设备、物联网(internet of things,IoT)终端设备、订户单元(subscriber unit)、订户站(subscriberstation),移动站(mobile station)、远程站(remote station)、接入点(access point,AP)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(userterminal)、用户代理(user agent)、或用户装备(user device)等。例如,可以是移动电话(或称为“蜂窝”电话),具有移动终端设备的计算机,便携式、袖珍式、手持式、计算机内置的移动装置等。
例如,个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(session initiation protocol,SIP)话机、无线本地环路(wireless localloop,WLL)站、个人数字助理(personal digital assistant,PDA)、等设备。还可以是受限设备,例如功耗较低的设备,或存储能力有限的设备,或计算能力有限的设备等。例如,可以是条码、射频识别(radio frequency identification,RFID)、传感器、全球定位系统(global positioning system,GPS)、激光扫描器等信息传感设备。
作为示例而非限定,在本申请实施例中,所提到的设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备或智能穿戴式设备等,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能头盔、智能首饰等。
而如上介绍的各种设备,如果位于车辆上,例如放置在车辆内或安装在车辆内,都可以认为是车载终端设备,车载终端设备例如也称为车载单元(on-board unit,OBU)。
在本申请实施例中,服务器207,可以是任意一种具有收发功能的设备或可设置于该设备的芯片。
应理解,图2中仅为便于理解,示意性地示出了一个数据分发系统,但这不应对本申请构成任何限定,该数据分发系统中还可以包括更多数量的服务器,也可以包括更多数量的设备,与不同的设备通信的服务器可以是相同的服务器,也可以是不同的服务器,与不同的设备通信的服务器的数量可以相同,也可以不同,本申请实施例对此不做具体限定。
以上介绍了本申请实施例适用的数据分发系统,接下来结合附图介绍本申请实施例提供的基于P2P的数据分发方法。
应理解,本申请实施例中的术语“系统”和“网络”可被互换使用。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a和b和c。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一优先级准则和第二优先级准则,只是为了区分不同的准则,而并不是表示这两种准则的内容、优先级或者重要程度等的不同。
在一些实施例中,如图3a所示,为本申请实施例提供的一种基于P2P的数据分发方法,可以应用于图2所示的数据分发系统。该方法包括:
S301、数据分发系统中的每个设备向服务器发送第一信息和第二信息。相应的,服务器接收数据分发系统中的每个设备发送的第一信息和第二信息。
在一些实施例中,数据分发系统中的每个设备可以向服务器发送第一信息和第二信息,相应的,服务器接收来自数据分发系统中的每个设备的第一信息和第二信息,以使服务器可以根据第一信息和第二信息生成无环数据分发路径图,其中,第一信息中携带每个设备以及与每个设备通过P2P通道相连的相邻设备的标识信息,第二信息中携带P2P通道的服务质量(quality of service,Qos)。
例如,图2所示的数据分发系统中的设备A201、设备B202、设备C203、设备D204、设备E205、设备F206可以向服务器207发送第一信息和第二信息,其中,设备A201向服务器207发送的第一信息中携带设备A201以及与设备A201通过P2P通道相连的设备B202和设备C203的标识信息,设备A201向服务器207发送的第二信息中携带设备A201与设备B202之间的P2P通道(即A-B段P2P通道)和设备A201与设备B202之间的P2P通道(即A-C段P2P通道)的Qos,如带宽、抖动、时延、丢包率等,相应的,服务器207接收来自设备A201、设备B202、设备C203、设备D204、设备E205、设备F206的第一信息和第二信息,并根据来自设备A201、设备B202、设备C203、设备D204、设备E205、设备F206的第一信息和第二信息生成如图3b所示的无环数据分发路径图。
需要说明的是,本申请实施例中,设备的标识信息可以为设备的国际移动设备识别码(international mobile equipment identity,IMEI),或者用户永久标识(subscription permanent identifier,SUPI),或者用户隐藏标识(subscriptionconcealed identifier,SUCI),或者其它可以标识设备的信息,本申请实施例对此不做具体限定。
需要说明的是,本申请实施例中,由于数据分发系统中的各个设备之间的P2P通道的Qos并不是固定不变的,因此为了实现服务器可以根据各个设备之间的P2P通道的Qos实时调整无环数据分发路径图,例如,当各个设备之间的P2P通道的Qos发生变化时,选择Qos更高的P2P通道作为数据分发路径,数据分发系统中的每个设备可以周期性向服务器发送更新的第二信息,相应的,服务器可以周期性接收来自数据分发系统中的每个设备的更新的第二信息,服务器可以根据数据分发系统中的每个设备发送的更新的第二信息更新无环数据分发路径图。服务器在根据数据分发系统中的每个设备发送的更新的第二信息更新无环数据分发路径图后,为了实现发送过用于请求订阅无环数据分发路径图或者第三信息的订阅请求信息的设备同步更新无环数据分发路径图或者第三信息,避免设备向错误的该设备的下一跳设备发送数据,其中,第三信息为与发送订阅请求信息的设备通过P2P通道相连的相邻设备的标识信息,可以向发送过订阅请求信息的设备发送订阅更新信息,其中,订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的第三信息。本申请实施例中,服务器可以根据数据分发系统中的每个设备发送的第一信息和第二信息生成无环数据分发路径图,并根据周期性发送的更新的第二信息周期性更新无环数据分发路径图,从而实现数据分发系统中的任一设备可以根据服务器生成的无环数据分发路径图确定该任一设备的下一跳设备,将需分发到数据分发系统中的所有设备的分发数据发送给该任一设备的下一跳设备,并在服务器更新无环数据分发路径图后,数据分发系统中的设备可以同步更新无环数据分发路径图,避免设备向错误的该设备的下一跳设备发送数据。
S302、数据分发系统中的源设备向服务器发送请求信息。相应的,服务器接收来自数据分发系统中的源设备的请求信息,并向数据分发系统中的源设备发送响应信息。其中,请求信息用于请求获取源设备的相邻设备的相关信息,相邻设备与源设备通过P2P通道相连,响应信息中携带根据预先生成的无环数据分发路径图确定的相关信息。
在一些实施例中,数据分发系统中的源设备可以向服务器发送第一查询请求信息,相应的,服务器接收来自数据分发系统中的源设备的第一查询请求信息,并向数据分发系统中的源设备发送第一查询响应信息。其中,第一查询请求信息用于请求查询第四信息,第四信息为源设备的相邻设备的标识信息,第一查询响应信息中携带根据无环数据分发路径图确定的第四信息。
例如,图2所示的数据分发系统中的设备A201在作为源设备时,可以向服务器207发送用于请求查询设备A201的相邻设备的标识信息的第一查询请求信息,服务器207接收来自设备A201的第一查询请求信息后,根据最新生成的无环数据分发路径图确定设备A201的相邻设备为设备B202和设备C203,并向设备A201发送第一查询响应信息,第一查询响应信息中携带设备B202和设备C203的标识信息。
在另外一些实施例中,数据分发系统中的源设备可以向服务器发送第一订阅请求信息,相应的,服务器接收来自数据分发系统中的源设备的第一订阅请求信息,并向数据分发系统中的源设备发送第一订阅响应信息。其中,第一订阅请求信息用于请求订阅无环数据分发路径图或者第四信息,第四信息为源设备的相邻设备的标识信息,第一订阅响应信息中携带无环数据分发路径图或者根据无环数据分发路径图确定的第四信息。
例如,图2所示的数据分发系统中的设备A201在作为源设备时,可以向服务器207发送用于请求订阅无环数据分发路径图或者设备A201的相邻设备的标识信息的第一订阅请求信息,服务器207接收来自设备A201的第一订阅请求信息后,向设备A201发送第一订阅响应信息,第一订阅响应信息中携带最新生成的无环数据分发路径图或者根据最新生成的无环数据分发路径图确定的设备A201的相邻设备的标识信息,如设备B202和设备C203的标识信息。
本申请实施例中,数据分发系统中的源设备可以向服务器发送用于请求获取源设备的相邻设备的相关信息的请求信息,并接收服务器发送的响应信息,响应信息中携带根据预先生成的无环数据分发路径图确定的相关信息,以使源设备可以根据响应信息确定源设备的下一跳设备,进而通过下一跳设备对需分发到数据分发系统中的所有设备的分发数据进行二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
S303、源设备根据响应信息从相邻设备中确定第一目标设备集,将第一数据发送给第一目标设备集中的设备。其中,第一目标设备集中的设备是源设备的下一跳设备,第一数据中携带源设备的标识信息。
在一些实施例中,源设备可以根据服务器发送的响应信息从相邻设备中确定第一目标设备集,将第一数据发送给第一目标设备集中的设备,其中,响应信息中携带无环数据分发路径图或者根据无环数据分发路径图确定的第四信息,第四信息为源设备的相邻设备的标识信息,第一目标设备集中的设备是源设备的下一跳设备,第一数据中携带源设备的标识信息。
例如,图2所示的数据分发系统中的设备A201在作为源设备时,若设备A201向服务器207发送第一查询请求信息,将接收服务器207发送的第一查询响应信息,第一查询响应信息中携带设备B202和设备C203的标识信息;若设备A201向服务器207发送第一订阅请求信息,将接收服务器207发送的第一订阅响应信息,第一订阅响应信息中携带无环数据分发路径图或者设备B202和设备C203的标识信息,则设备A201可以根据无环数据分发路径图或者设备B202和设备C203的标识信息确定相邻设备为设备B202和设备C203,从相邻设备中确定下一跳设备为设备B202和设备C203,即确定设备B202和设备C203为设备A201对应的第一目标设备集中的设备,将携带设备A201的标识信息的第一数据发送给设备B202和设备C203。
需要说明的是,本申请实施例中,第一数据中可以携带编号标识,以使第一目标设备集中的设备可以根据第一数据的编号标识,确定第一数据是否为重复数据。若第一目标设备集中的设备根据第一数据的编号标识确定第一数据为重复数据,则第一目标设备集中的设备丢弃第一数据。第一数据中还可以携带业务标识,以使第一目标设备集中的设备在根据第一数据的编号标识确定第一数据不为重复数据时,第一目标设备集中的设备可以根据第一数据的业务标识确定第一数据是否为分发数据,或者,第一数据可以不携带业务标识,第一目标设备集中的设备可以根据传输第一数据的P2P通道的业务标识确定第一数据是否为分发数据,其中,分发数据为需分发到数据分发系统中所有设备的数据。
例如,图2所示的数据分发系统中的设备A201在作为源设备时,可以将第一数据均分为50份,并对每一份第一数据进行编号,再依次将1号第一数据、2号第一数据…50号第一数据发送给设备B202和设备C203,设备B202和设备C203保存设备A201发送的最新的第一数据的编号标识,在接收到新的第一数据时,将新的第一数据的编号标识与之前保存的编号标识进行对比,如果小于等于之前的保存的编号标识,则确定新的第一数据为重复数据。
需要说明的是,本申请实施例中,数据分发系统中的每个设备可以在本地维护的一个自己与其它设备之间的P2P通道的套接字socket列表,从而可以根据不同socket上收到的报文区分不同的P2P通道,即P2P通道的业务标识可以为socket上收到的报文。
本申请实施例中,数据分发系统中的源设备可以根据响应信息从相邻设备中确定源设备的下一跳设备,并将携带编号标识的第一数据发送给源设备的下一跳设备,以使源设备的下一跳设备可以根据第一数据的编号标识确定第一数据是否为重复数据,以及根据第一数据的业务标识或者传输第一数据的P2P通道的业务标识确定第一数据是否为分发数据,在确定第一数据为重复数据时丢弃第一数据,避免对重复数据进行二次分发,浪费网络资源,在确定第一数据不为重复数据,为分发数据时,对第一数据进行二次分发,进而避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
S304、第一目标设备集中的设备在确定第一数据为分发数据时,将第一数据分发给第二目标设备集中的设备。其中,第二目标设备集中的设备是第一目标设备集中的设备的下一跳设备。
在步骤304中,第一目标设备集中的设备可以通过四种方式确定该设备的下一跳设备,从而在该设备确定第一数据为分发数据时,将第一数据分发给该设备的下一跳设备,以下结合具体的实例分别对四种方式的具体实现进行详细的描述:
方式一
在一些实施例中,为了减少设备向服务器发送查询请求信息的次数,降低通信时延,第一目标设备集中的设备可以周期性向服务器发送第二查询请求信息,并接收服务器发送的第二查询响应信息,其中,第二查询请求信息用于请求查询第五信息,第五信息为第一目标设备集中的设备的相邻设备的标识信息,第二查询请求信息中携带第一目标设备集中的设备的标识信息,第二查询响应信息中携带根据无环数据分发路径图确定的第五信息。在接收到来自服务器的第二查询响应信息后,第一目标设备集中的设备可以根据第二查询响应信息从第一目标设备集中的设备的相邻设备中确定第二目标设备集,从而在确定第一数据为分发数据时,将携带有源设备的标识信息的第一数据分发给第二目标设备集中的设备,其中,第二目标设备集中的设备是第一目标设备集中的设备的下一跳设备。
例如,图2所示的数据分发系统中的设备B202在作为第一目标设备集中的设备时,可以周期性向服务器207发送第二查询请求信息,并接收服务器207发送的第二查询响应信息,其中,第二查询请求信息中携带设备B202的标识信息,第二查询响应信息中携带设备A201和设备E205的标识信息。设备B202根据第二查询响应信息确定相邻设备为设备A201和设备E205,由于相邻设备中的设备A201为设备B202的上一跳设备,则确定相邻设备中的设备E205为设备B202的下一跳设备,即确定设备E205为设备B202对应的第二目标设备集中的设备,将携带设备A201的标识信息的第一数据分发给设备E205。
需要说明的是,本申请实施例中,第一目标设备集中的设备向服务器发送第二查询请求信息的频率,可以根据业务的网络拓扑是否频繁变化自行调整,例如30s发送一次第二查询请求信息,本申请实施例对此不做具体限定。
方式二
在一些实施例中,为了减少设备向服务器发送查询请求信息的次数,降低通信时延,第一目标设备集中的设备还可以在存储分发数据的缓存区满溢时向服务器发送第二查询请求信息,并接收服务器发送的第二查询响应信息,其中,第二查询请求信息用于请求查询第五信息,第五信息为第一目标设备集中的设备的相邻设备的标识信息,第二查询请求信息中携带第一目标设备集中的设备的标识信息,第二查询响应信息中携带根据无环数据分发路径图确定的第五信息。在接收到来自服务器的第二查询响应信息后,第一目标设备集中的设备可以根据第二查询响应信息从第一目标设备集中的设备的相邻设备中确定第二目标设备集,从而在确定第一数据为分发数据时,将携带有源设备的标识信息的第一数据分发给第二目标设备集中的设备,其中,第二目标设备集中的设备是第一目标设备集中的设备的下一跳设备。
例如,图2所示的数据分发系统中的设备B202在作为第一目标设备集中的设备时,可以在存储分发数据的缓存区满溢时向服务器207发送第二查询请求信息,如缓存区大小可以是256K,当缓存区接收的分发数据达到256K时向服务器207发送一次第二查询请求信息,并接收服务器207发送的第二查询响应信息,其中,第二查询请求信息中携带设备B202的标识信息,第二查询响应信息中携带设备A201和设备E205的标识信息。设备B202根据第二查询响应信息确定相邻设备为设备A201和设备E205,由于相邻设备中的设备A201为设备B202的上一跳设备,则确定相邻设备中的设备E205为设备B202的下一跳设备,即确定设备E205为设备B202对应的第二目标设备集中的设备,将缓存区中的分发数据分发给设备E205。
需要说明的是,本申请实施例中,缓存区大小可以根据业务自身对时延的敏感性自行设定,对时延较敏感的业务,可以将缓存区设置小一点,以使缓存区中的分发数据能够及时得到分发,否则可以将缓存区设置大一点,减少查询次数,本申请实施例对此不做具体限定。
本申请实施例中,第一目标设备集中的设备可以周期性或在存储分发数据的缓存区满溢时向服务器发送第二查询请求信息,减少设备向服务器发送查询请求信息的次数,降低通信时延,并在向服务器发送第二查询请求信息后,接收服务器发送的第二查询响应信息,根据第二查询响应信息从相邻设备中确定该设备的下一跳设备,使得该设备可以在确定第一数据为分发数据时,将第一数据发送给该设备的下一跳设备,实现了数据的二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
方式三
在一些实施例中,第一目标设备集中的设备可以在确定本地没有无环数据分发路径图或者第五信息时,向服务器发送第二订阅请求信息,并接收服务器发送的第二订阅响应信息。其中,第五信息为第一目标设备集中的设备的相邻设备的标识信息,第二订阅请求信息用于请求订阅无环数据分发路径图或者根据无环数据分发路径图确定的第五信息,第二订阅请求信息中携带该设备的标识信息,第二订阅响应信息中携带所述无环数据分发路径图或者根据无环数据分发路径图确定的第五信息。在确定本地没有无环数据分发路径图或者第五信息时,第一目标设备集中的设备可以根据来自服务器的第二订阅响应信息从第一目标设备集中的设备的相邻设备中确定第二目标设备集,将携带有源设备的标识信息的第一数据分发给第二目标设备集中的设备。其中,第二目标设备集中的设备是第一目标设备集中的设备的下一跳设备。
例如,图2所示的数据分发系统中的设备B202在作为第一目标设备集中的设备时,可以在确定设备B202本地没有无环数据分发路径图或者第五信息时,向服务器207发送第二订阅请求信息,并接收服务器207发送的第二订阅响应信息,其中,第二订阅请求信息中携带设备B202的标识信息,第二订阅响应信息中携带无环数据分发路径图或者设备A201和设备E205的标识信息。设备B202根据第二查询响应信息确定相邻设备为设备A201和设备E205,从相邻设备中确定上一跳设备为设备A201,下一跳设备为设备E205,即确定设备E205为设备B202对应的第二目标设备集中的设备,将携带设备A201的标识信息的第一数据分发给设备E205。
需要说明的是,本申请实施例中,第一目标设备集中的设备向服务器发送第二订阅请求信息之后,可以接收服务器发送的订阅更新信息,其中,订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的第五信息,以使第一目标设备集中的设备可以根据订阅更新信息更新本地的无环数据分发路径图或者第五信息。
在另外一些实施例中,第一目标设备集中的设备可以在确定本地有无环数据分发路径图或者第五信息时,直接根据无环数据分发路径图或者第五信息从第一目标设备集中的设备的相邻设备中确定第二目标设备集,将携带设备A201的标识信息的第一数据分发给第二目标设备集中的设备。
本申请实施例中,第一目标设备集中的设备在确定本地没有无环数据分发路径图或者第五信息时向服务器发送第二订阅请求信息,并接收服务器发送的第二订阅响应信息,根据第二订阅响应信息从相邻设备中确定该设备的下一跳设备,使得该设备可以在确定第一数据为分发数据时,将第一数据发送给该设备的下一跳设备,实现了数据的二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
方式四
在一些实施例中,源设备可以在向服务器发送用于请求订阅无环数据分发路径图的第一订阅请求信息,并接收服务器发送的携带无环数据分发路径图的第一订阅响应信息后,将无环数据分发路径图携带在第一数据中发送给第一目标设备集中的设备,使得第一目标设备集中的设备可以在确定第一数据中携带有无环数据分发路径图时,直接根据无环数据分发路径图从第一目标设备集中的设备的相邻设备中确定第二目标设备集,将携带有源设备的标识信息的第一数据分发给第二目标设备集中的设备,其中,第二目标设备集中的设备是第一目标设备集中的设备的下一跳设备。
例如,图2所示的数据分发系统中的设备B202在作为第一目标设备集中的设备时,可以在确定第一数据中携带有无环数据分发路径图时,直接根据无环数据分发路径图确定相邻设备为设备A201和设备E205,从相邻设备中确定上一跳设备为设备A201,下一跳设备为设备E205,即确定设备E205为设备B202对应的第二目标设备集中的设备,将携带设备A201的标识信息的第一数据分发给设备E205。
需要说明的是,本申请实施例中,上述无环数据分发路径图可以采用邻接矩阵、邻接表等方式进行存储,本申请实施例对此不做具体限定。
需要说明的是,本申请实施例中,源设备向服务器发送第一订阅请求信息之后,可以接收服务器发送的订阅更新信息,其中,订阅更新信息中携带更新后的无环数据分发路径图,使得源设备可以将更新后的无环数据分发路径图携带在第一数据中发送给第一目标设备集中设备。
例如,图2所示的数据分发系统中的设备A201在作为源设备时,可以将第一数据均分为50份,并对每一份第一数据进行编号,再依次将1号第一数据、2号第一数据…50号第一数据发送给设备B202和设备C203,其中,1号第一数据、2号第一数据中携带的是第一无环数据分发路径图,3号第一数据…50号第一数据中携带的是第二无环数据分发路径图,第二无环数据分发路径图是更新后的第一无环数据分发路径图。本申请实施例中,源设备可以在向服务器发送用于请求订阅无环数据分发路径图的第一订阅请求信息,并接收服务器发送的携带无环数据分发路径图的第一订阅响应信息后,将无环数据分发路径图携带在第一数据中发送给第一目标设备集中的设备,使得第一目标设备集中的设备在确定第一数据中携带有无环数据分发路径图时,直接根据无环数据分发路径图从相邻设备中确定该设备的下一跳设备,使得该设备可以在确定第一数据为分发数据时,将第一数据发送给该设备的下一跳设备,实现了数据的二次分发,避免在同一条P2P通道上重复传输相同的通信数据,既造成了网络拥塞,又浪费了网络资源的问题。
以上结合图3a~图3b详细说明了本申请实施例提供的方法。以下结合图4~图5详细说明本申请实施例提供的数据分发系统。
基于与上述方法实施例相同构思,本申请实施例还提供一种数据分发系统400,该数据分发系统400包括用于执行上述图3a~图3b所示方法的设备和服务器。示例性的,参见图4,该装置400可以包括:至少三个设备401和服务器402,所述至少三个设备401之间通过P2P通道相连;
所述至少三个设备401中的任一设备401用于向所述服务器402发送请求信息,并接收所述服务器402发送的响应信息;其中,所述请求信息用于请求获取所述任一设备401的相邻设备的相关信息,所述相邻设备与所述任一设备401通过P2P通道相连,所述响应信息中携带根据预先生成的无环数据分发路径图确定的所述相关信息;
所述任一设备401还用于根据所述响应信息从所述相邻设备中确定第一目标设备集,将第一数据发送给所述第一目标设备集中的设备;其中,所述第一数据中携带所述任一设备401的标识信息,所述标识信息用于指示所述第一目标设备集中的设备在确定所述第一数据为分发数据时,将所述第一数据分发给第二目标设备集中的设备,所述第一目标设备集中的设备是所述任一设备401的下一跳设备,所述第二目标设备集中的设备是所述第一目标设备集中的设备的下一跳设备,所述分发数据为需分发到所述数据分发系统中所有设备的数据。
一种可能的设计中,所述向所述服务器402发送请求信息之前,所述服务器402用于:
接收所述至少三个设备401中的每个设备401发送的第一信息和第二信息,根据所述第一信息和所述第二信息生成所述无环数据分发路径图;其中,所述第一信息中携带所述每个设备以及与所述每个设备通过P2P通道相连的相邻设备的标识信息,所述第二信息中携带所述P2P通道的服务质量Qos。
一种可能的设计中,所述服务器402还用于:
接收所述至少三个设备中的每个设备周期性发送的更新的所述第二信息,根据更新的所述第二信息更新所述无环数据分发路径图。
一种可能的设计中,所述服务器402还用于:
在更新所述无环数据分发路径图后,向所述至少三个设备401中的发送过订阅请求信息的设备发送订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者第三信息,所述第三信息为发送订阅请求信息的设备的相邻设备的标识信息,所述订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的所述第三信息。
一种可能的设计中,所述任一设备401向所述服务器402发送请求信息,并接收所述服务器402发送的响应信息时,具体用于:
向所述服务器402发送第一查询请求信息,并接收所述服务器402发送的第一查询响应信息;其中,所述第一查询请求信息用于请求查询第四信息,所述第四信息为所述任一设备401的相邻设备的标识信息,所述第一查询响应信息中携带根据所述无环数据分发路径图确定的所述第四信息;或者,
向所述服务器402发送第一订阅请求信息,并接收所述服务器402发送的第一订阅响应信息;其中,所述第一订阅请求信息用于请求订阅所述无环数据分发路径图或者所述第四信息,所述第一订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第四信息。
一种可能的设计中,所述任一设备401还用于:
在接收到所述第一数据时,根据所述第一数据的编号标识,确定所述第一数据是否为重复数据;
若所述第一数据为重复数据,则丢弃所述第一数据;
若所述第一数据不为重复数据,则确定所述第一数据是否为分发数据。
一种可能的设计中,所述任一设备401确定所述第一数据是否为分发数据时,具体用于:
根据传输所述第一数据的P2P通道的业务标识或者所述第一数据的业务标识,确定所述第一数据是否为分发数据。
一种可能的设计中,所述任一设备401在将所述第一数据分发给第二目标设备集中的设备时,具体用于:
周期性或者在存储所述分发数据的缓存区满溢时向所述服务器402发送第二查询请求信息,所述第二查询请求信息用于请求查询第五信息,所述第五信息为所述第一目标设备集中的设备的相邻设备的标识信息;
接收所述服务器402发送的第二查询响应信息,所述第二查询响应信息中携带根据所述无环数据分发路径图确定的所述第五信息;
根据所述第二查询响应信息确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
一种可能的设计中,所述任一设备401在将所述第一数据分发给第二目标设备集中的设备时,具体用于:
在确定没有所述无环数据分发路径图或者第五信息时,向所述服务器402发送第二订阅请求信息,并接收所述服务器402发送的第二订阅响应信息,所述第五信息为所述第一目标设备集中的设备的相邻设备的标识信息,所述第二订阅请求信息用于请求订阅所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息,所述第二订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息;
根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
一种可能的设计中,所述任一设备401在将所述第一数据分发给第二目标设备集中的设备时,具体用于:
在确定所述第一数据中携带有所述无环数据分发路径图时,根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
基于与上述方法实施例相同构思,参见图5,本申请实施例还提供一种基于P2P的数据分发装置500,该装置500可以是包括至少三个设备和服务器的数据分发系统,或者是该数据分发系统中的装置500。示例性的,参见图5,该装置500可以包括:
至少一个处理器501;以及,与所述至少一个处理器501通信连接的通信接口503;
其中,所述至少一个处理器501通过执行存储器502存储的指令,使得所述装置500执行图3a~图3b所示的方法。
可选的,所述存储器502位于所述装置500之外。
可选的,所述装置500包括所述存储器502,所述存储器502与所述至少一个处理器501相连,所述存储器502存储有可被所述至少一个处理器501执行的指令。附图5用虚线表示存储器502对于装置500是可选的。
其中,所述处理器501和所述存储器502可以通过接口电路耦合,也可以集成在一起,这里不做限制。
本申请实施例中不限定上述处理器501、存储器502以及通信接口503之间的具体连接介质。本申请实施例在图5中以处理器501、存储器502以及通信接口503之间通过总线504连接,总线在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于与上述方法实施例相同构思,本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机上运行时,使得该计算机执行上述基于P2P的数据分发方法实施例、方法实施例的任意一种可能的实现方式,例如执行图3a~图3b的基于P2P的数据分发方法的实施例的任意步骤,和/或执行本文所描述的技术的其它过程。
基于与上述方法实施例相同构思,本申请实施例中还提供一种程序产品,当所述程序产品在计算机上运行时,使得该计算机执行上述基于P2P的数据分发方法实施例、方法实施例的任意一种可能的实现方式,例如执行图3a~图3b的基于P2P的数据分发方法的实施例的任意步骤,和/或执行本文所描述的技术的其它过程。
基于与上述方法实施例相同构思,本申请实施例中还提供一种芯片,该芯片可以与第一核心网设备或基站中的存储器耦合,用于调用存储器中存储的计算机程序并执行上述基于P2P的数据分发方法实施例、方法实施例的任意一种可能的实现方式,例如执行图3a~图3b的基于P2P的数据分发方法的实施例的任意步骤,和/或执行本文所描述的技术的其它过程。
应理解,本申请实施例中的处理器或处理单元(如图5所示的处理器或处理单元)可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述基于P2P的数据分发方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用中央处理器(central processing unit,CPU),通用处理器,数字信号处理(digital signal processing,DSP),专用集成电路(application specificintegrated circuits,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合;也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,本申请实施例中的存储器或存储单元可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本申请描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(application specific integrated circuit,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于通信设备(如第一核心网设备、基站等)中,例如可以设置于通信设备中的不同的部件中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,DVD;还可以是半导体介质,例如,固态硬盘(solid state disk,SSD)。
本申请实施例是参照实施例所涉及的方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (27)
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所述的方法,其特征在于,所述方法还包括:
所述服务器在更新所述无环数据分发路径图后,向所述至少三个设备中的发送过订阅请求信息的设备发送订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者第三信息,所述第三信息为发送订阅请求信息的设备的相邻设备的标识信息,所述订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的所述第三信息。
15.如权利要求14所述的方法,其特征在于,所述服务器向所述任一设备发送响应信息,所述方法包括:
所述服务器接收所述至少三个设备中的任一设备发送的查询请求信息,并向所述任一设备发送查询响应信息;其中,所述查询请求信息用于请求查询第四信息,所述第四信息为所述任一设备的相邻设备的标识信息,所述查询响应信息中携带根据所述无环数据分发路径图确定的所述第四信息;或者,
所述服务器接收所述至少三个设备中的任一设备发送的订阅请求信息,并向所述任一设备发送订阅响应信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者所述第四信息,所述订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第四信息。
16.一种数据分发系统,其特征在于,包括至少三个设备和服务器,所述至少三个设备之间通过P2P通道相连;
所述至少三个设备中的任一设备用于向所述服务器发送请求信息,并接收所述服务器发送的响应信息;其中,所述请求信息用于请求获取所述任一设备的相邻设备的相关信息,所述相邻设备与所述任一设备通过P2P通道相连,所述响应信息中携带根据预先生成的无环数据分发路径图确定的所述相关信息;
所述任一设备还用于根据所述响应信息从所述相邻设备中确定第一目标设备集,将第一数据发送给所述第一目标设备集中的设备;其中,所述第一数据中携带所述任一设备的标识信息,所述标识信息用于指示所述第一目标设备集中的设备在确定所述第一数据为分发数据时,将所述第一数据分发给第二目标设备集中的设备,所述第一目标设备集中的设备是所述任一设备的下一跳设备,所述第二目标设备集中的设备是所述第一目标设备集中的设备的下一跳设备,所述分发数据为需分发到所述数据分发系统中所有设备的数据。
17.如权利要求16所述的系统,其特征在于,所述向所述服务器发送请求信息之前,所述服务器用于:
接收所述至少三个设备中的每个设备发送的第一信息和第二信息,根据所述第一信息和所述第二信息生成所述无环数据分发路径图;其中,所述第一信息中携带所述每个设备以及与所述每个设备通过P2P通道相连的相邻设备的标识信息,所述第二信息中携带所述P2P通道的服务质量Qos。
18.如权利要求17所述的系统,其特征在于,所述服务器还用于:
接收所述至少三个设备中的每个设备周期性发送的更新的所述第二信息,根据更新的所述第二信息更新所述无环数据分发路径图。
19.如权利要求18所述的系统,其特征在于,所述服务器还用于:
在更新所述无环数据分发路径图后,向所述至少三个设备中的发送过订阅请求信息的设备发送订阅更新信息;其中,所述订阅请求信息用于请求订阅所述无环数据分发路径图或者第三信息,所述第三信息为发送订阅请求信息的设备的相邻设备的标识信息,所述订阅更新信息中携带更新后的无环数据分发路径图或者根据更新后的无环数据分发路径图确定的所述第三信息。
20.如权利要求19所述的系统,其特征在于,所述任一设备向所述服务器发送请求信息,并接收所述服务器发送的响应信息时,具体用于:
向所述服务器发送第一查询请求信息,并接收所述服务器发送的第一查询响应信息,所述第一查询请求信息用于请求查询第四信息;其中,所述第四信息为所述任一设备的相邻设备的标识信息,所述第一查询响应信息中携带根据所述无环数据分发路径图确定的所述第四信息;或者,
向所述服务器发送第一订阅请求信息,并接收所述服务器发送的第一订阅响应信息;其中,所述第一订阅请求信息用于请求订阅所述无环数据分发路径图或者所述第四信息,所述第一订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第四信息。
21.如权利要求16-20任一所述的系统,其特征在于,所述任一设备还用于:
在接收到所述第一数据时,根据所述第一数据的编号标识,确定所述第一数据是否为重复数据;
若所述第一数据为重复数据,则丢弃所述第一数据;
若所述第一数据不为重复数据,则确定所述第一数据是否为分发数据。
22.如权利要求21所述的系统,其特征在于,所述任一设备确定所述第一数据是否为分发数据时,具体用于:
根据传输所述第一数据的P2P通道的业务标识或者所述第一数据的业务标识,确定所述第一数据是否为分发数据。
23.如权利要求22所述的系统,其特征在于,所述任一设备在将所述第一数据分发给第二目标设备集中的设备时,具体用于:
周期性或者在存储所述分发数据的缓存区满溢时向所述服务器发送第二查询请求信息;其中,所述第二查询请求信息用于请求查询第五信息,所述第五信息为所述第一目标设备集中的设备的相邻设备的标识信息;
接收所述服务器发送的第二查询响应信息;其中,所述第二查询响应信息中携带根据所述无环数据分发路径图确定的所述第五信息;
根据所述第二查询响应信息确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
24.如权利要求22所述的系统,其特征在于,所述任一设备在将所述第一数据分发给第二目标设备集中的设备时,具体用于:
在确定没有所述无环数据分发路径图或者第五信息时,向所述服务器发送第二订阅请求信息,并接收所述服务器发送的第二订阅响应信息;其中,所述第五信息为所述第一目标设备集中的设备的相邻设备的标识信息,所述第二订阅请求信息用于请求订阅所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息,所述第二订阅响应信息中携带所述无环数据分发路径图或者根据所述无环数据分发路径图确定的所述第五信息;
根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
25.如权利要求22所述的系统,其特征在于,所述任一设备在将所述第一数据分发给第二目标设备集中的设备时,具体用于:
在确定所述第一数据中携带有所述无环数据分发路径图时,根据所述无环数据分发路径图确定所述第二目标设备集,将所述第一数据分发给所述第二目标设备集中的设备。
26.一种基于P2P的数据分发装置,其特征在于,应用于数据分发系统,该数据分发系统包括至少三个设备和服务器,所述装置包括:至少一个处理器和存储器;
所述存储器存储一个或多个计算机程序;
当所述存储器存储的一个或多个计算机程序被所述至少一个处理器执行时,使得所述装置执行如权利要求1-10任一所述的方法或者如权利要求11-15任一所述的方法。
27.一种计算机存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-10任一所述的方法或者如权利要求11-15任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197223.3A CN114531446B (zh) | 2020-10-31 | 2020-10-31 | 一种基于p2p的数据分发方法、装置及系统 |
EP21884738.2A EP4258623A4 (en) | 2020-10-31 | 2021-09-07 | P2P DATA DISTRIBUTION METHOD, APPARATUS AND SYSTEM |
US18/251,103 US20230421635A1 (en) | 2020-10-31 | 2021-09-07 | P2p-based data distribution method, apparatus, and system |
PCT/CN2021/116866 WO2022089008A1 (zh) | 2020-10-31 | 2021-09-07 | 一种基于p2p的数据分发方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197223.3A CN114531446B (zh) | 2020-10-31 | 2020-10-31 | 一种基于p2p的数据分发方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114531446A CN114531446A (zh) | 2022-05-24 |
CN114531446B true CN114531446B (zh) | 2023-04-18 |
Family
ID=81383566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011197223.3A Active CN114531446B (zh) | 2020-10-31 | 2020-10-31 | 一种基于p2p的数据分发方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230421635A1 (zh) |
EP (1) | EP4258623A4 (zh) |
CN (1) | CN114531446B (zh) |
WO (1) | WO2022089008A1 (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1953409A (zh) * | 2006-11-10 | 2007-04-25 | 上海龙林通信技术有限公司 | 一种半网状网的组网方法及其系统 |
CN101155031A (zh) * | 2006-09-29 | 2008-04-02 | 珠海金山软件股份有限公司 | 在p2p文件传输中进行中央授权控制的装置及控制方法 |
CN101207625A (zh) * | 2006-12-14 | 2008-06-25 | 华为技术有限公司 | 报文的复合方法及复合装置和发送方法及发送装置 |
CN101399756A (zh) * | 2007-09-25 | 2009-04-01 | 华为技术有限公司 | 在对等p2p网络中传输业务数据的方法、系统及设备 |
CN102088409A (zh) * | 2011-01-04 | 2011-06-08 | 中国人民解放军信息工程大学 | 多下一跳路由实现方法 |
CN102387065A (zh) * | 2010-08-19 | 2012-03-21 | 丛林网络公司 | 具有数据库削减以及控制速率的状态恢复的基于泛洪的路由协议 |
CN102740268A (zh) * | 2011-04-07 | 2012-10-17 | 中兴通讯股份有限公司 | 分组数据网络网关及终端移动性管理的系统 |
CN108667871A (zh) * | 2017-03-31 | 2018-10-16 | 合网络技术(北京)有限公司 | 基于p2p的传输方法和装置 |
CN108833591A (zh) * | 2018-07-13 | 2018-11-16 | 广州虎牙信息科技有限公司 | P2p网络中数据传输的方法、电子设备、装置、网络架构 |
CN109982152A (zh) * | 2019-01-15 | 2019-07-05 | 中国联合网络通信集团有限公司 | P2p cdn业务处理方法、智能网关以及cdn平台 |
CN111405021A (zh) * | 2020-03-10 | 2020-07-10 | 中国建设银行股份有限公司 | 一种对等节点的数据传输方法、装置、设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050007964A1 (en) * | 2003-07-01 | 2005-01-13 | Vincent Falco | Peer-to-peer network heartbeat server and associated methods |
JP3872051B2 (ja) * | 2003-09-26 | 2007-01-24 | Necソフト株式会社 | コンテンツの検索と配信を行うシステムと方法、及びプログラム |
CN1898904A (zh) * | 2003-11-12 | 2007-01-17 | 尼姆凯特网络公司 | 对等体发现 |
US7889655B2 (en) * | 2006-01-17 | 2011-02-15 | Cisco Technology, Inc. | Techniques for detecting loop-free paths that cross routing information boundaries |
US8650301B2 (en) * | 2008-10-02 | 2014-02-11 | Ray-V Technologies, Ltd. | Adaptive data rate streaming in a peer-to-peer network delivering video content |
US20110225312A1 (en) * | 2010-03-10 | 2011-09-15 | Thomson Licensing | Unified cache and peer-to-peer method and apparatus for streaming media in wireless mesh networks |
US9332083B2 (en) * | 2012-11-21 | 2016-05-03 | International Business Machines Corporation | High performance, distributed, shared, data grid for distributed Java virtual machine runtime artifacts |
CN103209134B (zh) * | 2013-04-22 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种组播转发的方法和设备 |
US10172068B2 (en) * | 2014-01-22 | 2019-01-01 | Cisco Technology, Inc. | Service-oriented routing in software-defined MANETs |
US9392057B2 (en) * | 2014-04-11 | 2016-07-12 | Qualcomm Incorporated | Selectively exchanging data between P2P-capable client devices via a server |
US9491051B2 (en) * | 2014-05-29 | 2016-11-08 | Cisco Technology, Inc. | Centralized adjustment of data rates in mesh networks |
CN107277190B (zh) * | 2017-07-14 | 2019-09-20 | 中国联合网络通信集团有限公司 | 一种sdn设备自动上线的方法、sdn设备和控制器 |
-
2020
- 2020-10-31 CN CN202011197223.3A patent/CN114531446B/zh active Active
-
2021
- 2021-09-07 WO PCT/CN2021/116866 patent/WO2022089008A1/zh unknown
- 2021-09-07 EP EP21884738.2A patent/EP4258623A4/en active Pending
- 2021-09-07 US US18/251,103 patent/US20230421635A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155031A (zh) * | 2006-09-29 | 2008-04-02 | 珠海金山软件股份有限公司 | 在p2p文件传输中进行中央授权控制的装置及控制方法 |
CN1953409A (zh) * | 2006-11-10 | 2007-04-25 | 上海龙林通信技术有限公司 | 一种半网状网的组网方法及其系统 |
CN101207625A (zh) * | 2006-12-14 | 2008-06-25 | 华为技术有限公司 | 报文的复合方法及复合装置和发送方法及发送装置 |
CN101399756A (zh) * | 2007-09-25 | 2009-04-01 | 华为技术有限公司 | 在对等p2p网络中传输业务数据的方法、系统及设备 |
CN102387065A (zh) * | 2010-08-19 | 2012-03-21 | 丛林网络公司 | 具有数据库削减以及控制速率的状态恢复的基于泛洪的路由协议 |
CN102088409A (zh) * | 2011-01-04 | 2011-06-08 | 中国人民解放军信息工程大学 | 多下一跳路由实现方法 |
CN102740268A (zh) * | 2011-04-07 | 2012-10-17 | 中兴通讯股份有限公司 | 分组数据网络网关及终端移动性管理的系统 |
CN108667871A (zh) * | 2017-03-31 | 2018-10-16 | 合网络技术(北京)有限公司 | 基于p2p的传输方法和装置 |
CN108833591A (zh) * | 2018-07-13 | 2018-11-16 | 广州虎牙信息科技有限公司 | P2p网络中数据传输的方法、电子设备、装置、网络架构 |
CN109982152A (zh) * | 2019-01-15 | 2019-07-05 | 中国联合网络通信集团有限公司 | P2p cdn业务处理方法、智能网关以及cdn平台 |
CN111405021A (zh) * | 2020-03-10 | 2020-07-10 | 中国建设银行股份有限公司 | 一种对等节点的数据传输方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
"P2P incentive model for QoS based streaming systems";Trajkovska等;《2014 IEEE 11th Consumer Communications and Networking Conference (CCNC)》;20140726;全文 * |
"基于P2P流媒体直播系统的数据传输策略";孙知信等;《通信学报》;20110625;全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP4258623A1 (en) | 2023-10-11 |
EP4258623A4 (en) | 2024-04-24 |
US20230421635A1 (en) | 2023-12-28 |
CN114531446A (zh) | 2022-05-24 |
WO2022089008A1 (zh) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7065034B2 (ja) | メッセージ転送方法、制御プレーンゲートウェイおよびユーザプレーンゲートウェイ | |
TWI586190B (zh) | 管理多播訊務 | |
JP2020533876A (ja) | ネットワークスライス選択ポリシを用いたueの構成および更新 | |
WO2022152238A1 (zh) | 一种通信方法及通信装置 | |
KR101857079B1 (ko) | 상이한 영역들에서 상이한 베어러들을 사용하는 embms 서비스들에 대한 서비스 정의의 시그널링 | |
CN112566149A (zh) | 配置业务的方法、通信装置和通信系统 | |
WO2020034919A1 (zh) | 定位方法和通信装置 | |
CN112752297B (zh) | 一种通信方法及设备 | |
CN109845389B (zh) | 一种通信方法及装置 | |
CN111835802A (zh) | 一种通信方法及装置 | |
CN114585105A (zh) | 一种算力感知的会话管理方法及通信装置 | |
CN112738855A (zh) | 一种应用在quic的基于多链路的传输方法和装置 | |
CN110366215A (zh) | 会话管理的方法、终端和核心网设备 | |
CN112217615A (zh) | 一种支持时间敏感网络的方法及装置 | |
WO2022152055A1 (zh) | 传输方法、传输装置、通信设备及可读存储介质 | |
WO2016112674A1 (zh) | 一种实现通信的方法、终端、系统及计算机存储介质 | |
CN114531446B (zh) | 一种基于p2p的数据分发方法、装置及系统 | |
Kitaura et al. | A self-organized approach for the communication method to adapt connectivity of terminals in Bluetooth MANETs | |
CN114126085B (zh) | 工业现场总线通信方法、装置、电子设备及存储介质 | |
KR20210023299A (ko) | 무선통신 시스템에서 네트워크 서비스를 노출하는 방법 및 장치 | |
CN104662991A (zh) | 用于通信的装置和方法 | |
EP4223014A1 (en) | Ensuring network control of simultaneous access to network slices with application awareness | |
WO2018095531A1 (en) | First network node, second network node, third network node, wireless device and methods performed thereby, for handling content in an information-centric network | |
US10045200B2 (en) | Communication management for core network | |
CN114979964B (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 |