CN108322487A - p2p网络中节点选择方法及装置与节点更新方法及装置 - Google Patents
p2p网络中节点选择方法及装置与节点更新方法及装置 Download PDFInfo
- Publication number
- CN108322487A CN108322487A CN201710027229.8A CN201710027229A CN108322487A CN 108322487 A CN108322487 A CN 108322487A CN 201710027229 A CN201710027229 A CN 201710027229A CN 108322487 A CN108322487 A CN 108322487A
- Authority
- CN
- China
- Prior art keywords
- node
- super
- ordinary
- request
- selection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
-
- 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/1048—Departure or maintenance 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/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种p2p网络中节点选择方法及装置与节点更新方法及装置,节点选择方法包括:在节点集合中查找用于响应数据请求的普通节点;若查找到,则向查找到的所述普通节点发送数据请求;若未查找到,则在所述节点集合中查找用于响应数据请求的超级节点,并向查找到的所述超级节点发送数据请求。本发明的节点选择方法极大的减少了对服务器资源的消耗以及更好地保证了播放的流畅性。
Description
技术领域
本发明涉及计算机技术及互联网领域,特别是涉及p2p网络中节点选择方法及装置与节点更新方法及装置。
背景技术
对等计算(Peer to Peer,简称p2p)可以简单的定义成通过直接交换来共享计算机资源和服务,而对等计算模型应用层形成的网络通常称为对等网络。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来说不依赖专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求作出响应,提供资源和服务。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU的共享)、存储共享(如缓存和磁盘空间的使用)等。
跟踪服务器Tracker是BT下载中必须的角色。一个BTclient在下载开始以及下载进行的过程中,要不停的与tracker进行通信,以报告自己的信息,并获取其它下载client的信息。这种通信是通过HTTP协议进行的,又被称为tracker HTTP协议,它的过程是这样的:client向tracker发一个HTTP的GET请求,并把它自己的信息放在GET的参数中;这个请求的大致意思是:我是xxx(一个唯一的id),我想下载yyy文件,我的ip是aaa,我用的端口是bbb。Tracker服务器对所有下载者的信息进行维护,当它收到一个请求后,首先把对方的信息记录下来(如果已经记录在案,那么就检查是否需要更新),然后将一部分参与下载同一个文件的下载者的信息返回给对方。Client在收到tracker的响应后,就能获取其它下载者的信息,那么它就可以根据这些信息,与其它下载者建立连接,从它们那里下载文件片断。关于client和tracker之间通信协议的细节,在“BT协议规范”中已经给出,这里不再重复。
在P2P对等网络中,下载数据源存在很多节点,如何从这些节点中选取最优节点,进行数据下载,对播放的稳定性及减轻服务器压力的程度有很大影响。现有技术优先选择那些跟节点的地理位置和运营商相同的节点作为自己的服务节点,并根据往返传输时间、是否拥有紧急窗口里面数据、是否拥有稀有数据和位图信息来选择最优的伙伴节点。但现有技术存在以下缺点:因为只能从Tracker返回的伙伴节点中选择最优的伙伴节点,如果选择到的最优的伙伴节点的性能比较差,则服务质量得不到保障。
发明内容
本发明提供了一种p2p网络中节点选择方法及装置与节点更新方法及装置,用于解决现有技术中存在的服务质量得不到保障的问题。
本发明提供了一种p2p网络中节点更新方法及装置,用于解决现有技术中存在的Tracker作为节点信息唯一来源,压力比较大的问题。
第一方面,本发明提供了一种p2p网络中节点选择方法,包括:
在节点集合中查找用于响应数据请求的普通节点;
若查找到,则向查找到的所述普通节点发送数据请求;
若未查找到,则在所述节点集合中查找用于响应数据请求的超级节点,并向查找到的所述超级节点发送数据请求。
作为可选的技术方案,所述在节点集合中查找用于响应数据请求的普通节点,包括:
根据第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点,并分别执行:判断选择的所述普通节点是否满足第一预设条件,如果是,则将满足第一预设条件的所述普通节点,确定为查找到的用于响应数据请求的普通节点;
所述在节点集合中查找用于响应数据请求的超级节点,包括:
根据第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点,并分别执行:判断选择的所述超级节点是否满足第二预设条件,如果是,则将满足第二预设条件的所述超级节点,确定为查找到的用于响应数据请求的超级节点。
作为可选的技术方案,所述第一性能参数包括下载速度;所述判断选择的所述普通节点是否满足第一预设条件,包括:
判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;
若相同,则判断选择的所述普通节点是否包含请求的数据;
若包含,则判断选择的所述普通节点的并发请求数是否超过设定阈值;
若未超过,则判断是否向选择的所述普通节点请求过所述数据;
若未请求过,则确定选择的所述普通节点满足所述第一预设条件;
所述第二性能参数包括往返时延;
所述判断选择的所述超级节点是否满足第二预设条件,包括:
判断选择的所述超级节点的运行状态是否正常;
若正常,则判断选择的所述超级节点的并发请求数是否超过设定阈值;
若未超过,则判断是否向选择的所述超级节点请求过所述数据;
若未请求过,则确定选择的所述超级节点满足所述第二预设条件。
作为可选的技术方案,所述在节点集合中查找用于响应数据请求的普通节点之前,还包括:
按照所述第一性能参数水平从高到低的顺序,对节点集合中包括的各普通节点进行排序;
所述依次从节点集合中选择普通节点,包括:
按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点;
所述在节点集合中查找用于响应数据请求的超级节点之前,还包括:
按照所述第二性能参数水平从高到低的顺序,对节点集合中包括的各超级节点进行排序;
所述依次从节点集合中选择超级节点,包括:
按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点。
作为可选的技术方案,所述方法还包括:
根据所述节点集合中包括的设定节点的数量,更新所述节点集合;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
所述根据所述节点集合中包括的设定节点的数量,更新所述节点集合,包括:
当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
作为可选的技术方案,所述方法还包括:
当所述节点集合中包括的超级节点在预设时间段内未响应所述数据请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含未响应数据请求的超级节点的唯一标识;
接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
第二方面,本发明还提供一种p2p网络中节点更新方法,包括:
确定节点集合中包括的设定节点的数量;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
作为可选的技术方案,所述方法还包括:
当所述节点集合中包括的超级节点在预设时间段内未响应请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含所述未响应请求的超级节点的唯一标识;
接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
第三方面,本发明还提供一种p2p网络中节点更新方法,包括:
第一普通节点接收第二普通节点发来的节点请求;
所述第一普通节点基于所述节点请求,从所述第一普通节点的节点集合中选取至少一个节点,并将选取的所述至少一个节点发送给所述第二普通节点。
第四方面,本发明还提供一种p2p网络中节点选择装置,包括:
查找模块,用于在节点集合中查找用于响应数据请求的普通节点;以及,在未查找到所述普通节点时,在所述节点集合中查找用于响应数据请求的超级节点;
处理模块,用于在查找模块查找到所述普通节点时,向查找模块查找到的所述普通节点发送数据请求;以及,在查找模块未查找到所述普通节点时,向查找模块查找到的所述超级节点发送数据请求。
作为可选的技术方案,所述查找模块在节点集合中查找用于响应数据请求的普通节点时,具体用于:根据第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点,并分别执行:判断选择的所述普通节点是否满足第一预设条件,如果是,则将满足第一预设条件的所述普通节点,确定为查找到的用于响应数据请求的普通节点;
所述查找模块在节点集合中查找用于响应数据请求的超级节点时,具体用于:根据第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点,并分别执行:判断选择的所述超级节点是否满足第二预设条件,如果是,则将满足第二预设条件的所述超级节点,确定为查找到的用于响应数据请求的超级节点。
作为可选的技术方案,所述第一性能参数包括下载速度;
所述查找模块在判断选择的所述普通节点是否满足第一预设条件时,具体用于:判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;若相同,则判断选择的所述普通节点是否包含请求的数据;若包含,则判断选择的所述普通节点的并发请求数是否超过设定阈值;若未超过,则判断是否向选择的所述普通节点请求过所述数据;若未请求过,则确定选择的所述普通节点满足所述第一预设条件;
所述第二性能参数包括往返时延;
所述查找模块在判断选择的所述超级节点是否满足第二预设条件时,具体用于:判断选择的所述超级节点的运行状态是否正常;若正常,则判断选择的所述超级节点的并发请求数是否超过设定阈值;若未超过,则判断是否向选择的所述超级节点请求过所述数据;若未请求过,则确定选择的所述超级节点满足所述第二预设条件。
作为可选的技术方案,所述装置还包括:排序模块,用于在所述查找模块在节点集合中查找用于响应数据请求的普通节点之前,按照所述第一性能参数水平从高到低的顺序,对节点集合中包括的各普通节点进行排序;
所述查找模块在依次从节点集合中选择普通节点时,具体用于:按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点;
所述排序模块,还用于在所述查找模块在节点集合中查找用于响应数据请求的超级节点之前,按照所述第二性能参数水平从高到低的顺序,对节点集合中包括的各超级节点进行排序;
所述查找模块在依次从节点集合中选择超级节点时,具体用于:按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点。
作为可选的技术方案,所述装置还包括:节点集合更新模块,用于根据所述节点集合中包括的设定节点的数量,更新所述节点集合;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
所述节点集合更新模块在根据所述节点集合中包括的设定节点的数量,更新所述节点集合时,具体用于:当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
作为可选的技术方案,所述装置还包括:超级节点更新模块,用于当所述节点集合中包括的超级节点在预设时间段内未响应所述数据请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含未响应数据请求的超级节点的唯一标识;接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
第五方面,本发明还提供一种p2p网络中节点更新装置,包括:
确定模块,用于确定节点集合中包括的设定节点的数量;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
第一更新处理模块,用于当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
第二更新处理模块,用于当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
第三更新处理模块,用于当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
作为可选的技术方案,所述装置还包括:超级节点更新模块,用于当所述节点集合中包括的超级节点在预设时间段内未响应请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含所述未响应请求的超级节点的唯一标识;接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
第六方面,本发明还提供一种p2p网络中节点更新装置,应用于第一普通节点,所述第一普通节点包括:
接收模块,用于接收第二普通节点发来的节点请求;
选取模块,用于基于所述节点请求,从所述第一普通节点的节点集合中选取至少一个节点,并将选取的所述至少一个节点发送给所述第二普通节点。
与现有技术相比,本发明的p2p网络中节点选择方法及装置中,先在节点集合中查找普通节点,如果没有查找到合适的普通节点,则再在节点集合中查找合适的超级节点,用以发送数据请求;即,如果没有选择到性能比较好的伙伴节点,则选择性能比较好的服务端节点请求数据,以保障服务质量。
与现有技术相比,本发明的p2p网络中节点更新方法及装置中,根据节点集合包括的设定节点数量,确定是向跟踪服务器获取节点更新本节点集合,还是向普通节点获取节点更新本节点集合,还是不更新本节点集合;从而保障有充足的节点供选择,以保障服务质量;而且,节点信息来源多样化,可以有效减轻跟踪服务器的压力。
附图说明
图1所示为本发明的p2p网络中节点选择方法的流程示意图;
图2所示为本发明的p2p网络中节点选择方法中普通节点的查找流程示意图;
图3所示为本发明的p2p网络中节点选择方法中超级节点的查找流程示意图;
图4所示为本发明的p2p网络中节点更新方法的一流程示意图;
图5所示为本发明的p2p网络中节点更新方法的另一流程示意图;
图6所示为本发明的p2p网络中节点选择装置的结构示意图;
图7所示为本发明的p2p网络中节点更新装置的一结构示意图;
图8所示为本发明的p2p网络中节点更新装置的另一结构示意图。
具体实施方式
为了更清楚的介绍本发明实施例,下面将对P2P流媒体技术、跟踪服务器、超级节点和普通节点等名词进行介绍。
P2P流媒体技术:一种低成本高效率的流媒体传输技术。它充分利用客户端的闲置上行带宽来协助服务器分发流媒体内容。在P2P模式下,并非所有的客户端都从服务器获取媒体数据,客户端也连接其他客户端来获取媒体数据,因此在增加客户端的同时无须相应增加服务器和带宽,从而大大降低了服务器的负载和带宽占用。
跟踪服务器(Tracker):节点管理服务器,管理全部的超级节点和普通节点。
超级节点:部署在网络层边缘,为客户端提供实时数据流。
普通节点:实时播放直播或者点播的客户端。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。
请参见图1,本发明提供的p2p网络中节点选择方法包括以下步骤:
步骤S1:在节点集合中查找用于响应数据请求的普通节点;
步骤S2:若查找到,则向查找到的所述普通节点发送数据请求;
步骤S3:若未查找到,则在所述节点集合中查找用于响应数据请求的超级节点,并向查找到的所述超级节点发送数据请求。
实施中,优先查找普通节点请求数据,极大地减少了对服务器(即,超级节点)资源的消耗;另外,在未查找到性能比较好的普通节点时,查找超级节点请求数据,更好地保证了播放的流畅性,提高了服务质量。
具体实施中,在节点集合中查找用于响应数据请求的普通节点和/或超级节点的查找策略可以多种多样,可根据实际情况或经验确定,下面将分别进行详细介绍。
一、在节点集合中查找用于响应数据请求的普通节点。
较佳的,在步骤S1中,在节点集合中查找用于响应数据请求的普通节点,包括:
步骤S11:根据第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点,并分别执行步骤S12;
步骤S12:判断选择的所述普通节点是否满足第一预设条件,如果是,则将满足第一预设条件的所述普通节点,确定为查找到的用于响应数据请求的普通节点。
具体实施中,在步骤S11中,第一性能参数可以为表征普通节点的性能的任一参数或组合,例如为表征普通节点的下载速度、连接质量和/或负载等的参数。
具体实施中,在步骤S11中,可以按照第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点;可以按照第一性能参数水平从低到高的顺序,依次从所述节点集合中选择普通节点;也可以不按照顺序(比如,随机地)依次从节点集合中选择普通节点。
实施中,按照第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点,并判断选择的所述普通节点是否为查找到的用于响应数据请求的普通节点,可以提高查找普通节点的效率。
具体实施中,在步骤S12中,第一预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与普通节点的运行状态、工作性能、硬件资源和/或存储数据等有关。
实施中,将满足第一预设条件的所述普通节点,确定为查找到的用于响应数据请求的普通节点,可以提高服务质量。
较佳的,请参见图2,在步骤S12中,判断选择的所述普通节点是否满足第一预设条件,包括:
步骤S121:判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;
若相同,则进入步骤S122:判断选择的所述普通节点是否包含请求的数据;若不同,则查找下一个普通节点;
若包含,则进入步骤S123:判断选择的所述普通节点的并发请求数是否超过设定阈值;若不包含,则查找下一个普通节点;
具体实施中,在步骤S123中,普通节点的并发请求数的计算方法为:节点集合中一个普通节点的并发请求数记为reqconcur A,则每次向该普通节点发送一个请求时,该普通节点的并发请求数变更为reqconcurA + 1;当接收完该请求对应的数据时,该普通节点的并发请求数变更为reqconcurA–1;如该请求没有收到响应或出现丢包,数据没有接收完全,则等到该请求重发或者该请求丢弃时,该普通节点的并发请求数变更为reqconcurA - 1。
实施中,对单一普通节点并发请求数进行限制,能够避免所有数据请求发向同一普通节点的情况发生,提高p2p网络的稳定性。
若未超过,则进入步骤S124:判断是否向选择的所述普通节点请求过所述数据;若超过,则查找下一个普通节点;
实施中,通过“判断是否向选择的普通节点请求过所述数据”可以跳过历史请求失败的普通节点,避免了某一普通节点出现网络波动时,频繁对该普通节点进行请求,从而影响播放质量的问题。
若未请求过,则进入步骤S125:确定选择的所述普通节点满足所述第一预设条件;若请求过,则查找下一个普通节点。
当然,上述只是较佳的一个实施例,另一实施方式中,在步骤S12中,判断选择的所述普通节点是否满足第一预设条件,包括:
步骤S121:判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;
若相同,则进入步骤S122:判断选择的所述普通节点是否包含请求的数据;若不同,则查找下一个普通节点;
若包含,则进入步骤S125:确定选择的所述普通节点满足所述第一预设条件;若不包含,则查找下一个普通节点。
再一实施方式中,在步骤S12中,判断选择的所述普通节点是否满足第一预设条件,包括:
步骤S121:判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;
若相同,则进入步骤S122:判断选择的所述普通节点是否包含请求的数据;若不同,则查找下一个普通节点;
若包含,则进入步骤S123:判断选择的所述普通节点的并发请求数是否超过设定阈值;若不包含,则查找下一个普通节点;
若未超过,则进入步骤S125:确定选择的所述普通节点满足所述第一预设条件;若超过,则查找下一个普通节点。
较佳的,在步骤S1中的节点集合中查找用于响应数据请求的普通节点之前,还包括:
按照所述第一性能参数水平从高到低的顺序,对节点集合中包括的各普通节点进行排序。
则对应的,在步骤S11中的依次从节点集合中选择普通节点,包括:
按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点。
实施中,按照所述第一性能参数水平从高到低的顺序,对节点集合中包括的各普通节点进行排序后,按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点,可以提高查找普通节点的效率。
下面以第一性能参数为下载速率为例进行详细介绍。
在步骤S1中的节点集合中查找用于响应数据请求的普通节点之前,还包括:
按照下载速率从高到低的顺序,对节点集合中包括的各普通节点进行排序。
在步骤S11中的依次从节点集合中选择普通节点,包括:
按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点。
即,在数据请求过程中,实时计算普通节点的下载速度,根据普通节点下载速度由高到低对普通节点进行排序,并按照普通节点排序顺序,依次选择普通节点。
具体实施中,可以按照如下方法计算普通节点下载速度:
(1)如果数据未丢包,普通节点下载速度v计算方式如下:
v= c/(t2- t1);
t1为向普通节点发起请求的时间,t2为收完所有数据的时间,c为该请求的下载量;
(2)如果数据丢包,普通节点下载速度v计算方式如下:
v = c / tm;
tm为最大超时时间,tm = rtt *α;rtt:往返时延,指从发出请求到收到响应的时间;α为可配因子。
实施中,上述普通节点下载速度计算方式反映了普通节点的传输速度及普通节点的稳定性,为挑选优质普通节点提供了基础。
二、在节点集合中查找用于响应数据请求的超级节点。
较佳的,在步骤S3中,在节点集合中查找用于响应数据请求的超级节点,包括:
步骤S31:根据第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点,并分别执行步骤S32;
步骤S32:判断选择的所述超级节点是否满足第二预设条件,如果是,则将满足第二预设条件的所述超级节点,确定为查找到的用于响应数据请求的超级节点。
具体实施中,在步骤S31中,第二性能参数可以为表征超级节点的特征的任一参数或组合,例如为表征超级节点的地域、运营商和/或传输质量等的参数。
较佳的,在步骤S31中,第二性能参数包括往返时延。
具体实施中,在步骤S31中,可以按照第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点;可以按照第二性能参数水平从低到高的顺序,依次从所述节点集合中选择超级节点;也可以不按照顺序(比如,随机地)依次从节点集合中选择超级节点。
实施中,按照第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点,并判断选择的所述超级节点是否为查找到的用于响应数据请求的超级节点,可以提高查找超级节点的效率。
具体实施中,在步骤S32中,第二预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与超级节点的运行状态、工作性能、硬件资源和/或存储数据等有关。
实施中,将满足第二预设条件的所述超级节点,确定为查找到的用于响应数据请求的超级节点,可以提高服务质量。
较佳的,请参见图3,在步骤S32中,判断选择的所述超级节点是否满足第二预设条件,包括:
步骤S321:判断选择的所述超级节点的运行状态是否正常;
若正常,则进入步骤S322:判断选择的所述超级节点的并发请求数是否超过设定阈值;若异常,则查找下一个超级节点;
具体实施中,在步骤S322中,超级节点的并发请求数的计算方法为:节点集合中一个超级节点的并发请求数记为reqconcur A,则每次向该超级节点发送一个请求时,该超级节点的并发请求数变更为reqconcurA + 1;当接收完该请求对应的数据时,该超级节点的并发请求数变更为reqconcurA–1;如该请求没有收到响应或出现丢包,数据没有接收完全,则等到该请求重发或者该请求丢弃时,该超级节点的并发请求数变更为reqconcurA - 1。
实施中,对单一超级节点并发请求数进行限制,能够避免所有数据请求发向同一超级节点的情况发生,提高p2p网络的稳定性。
若未超过,则进入步骤S323:判断是否向选择的所述超级节点请求过所述数据;若超过,则查找下一个超级节点;
实施中,通过“判断是否向选择的超级节点请求过所述数据”可以跳过历史请求失败的超级节点,避免了某一超级节点出现网络波动时,频繁对该超级节点进行请求,从而影响播放质量的问题。
若未请求过,则进入步骤S324:确定选择的所述超级节点满足所述第二预设条件;若请求过,则查找下一个超级节点。
其中,本实施方式中,在步骤S321之前还可以包括以下步骤:判断选择的所述超级节点的数据源与所述数据请求对应的数据源是否相同,若相同,则进入步骤321;若不同,则查找下一个超级节点。
当然,上述只是较佳的一个实施例,另一实施方式中,在步骤S32中,判断选择的所述超级节点是否满足第二预设条件,可以包括:
步骤S321:判断选择的所述超级节点的运行状态是否正常;
若正常,则进入步骤S324:确定选择的所述超级节点满足所述第二预设条件;若异常,则查找下一个超级节点。
再一实施方式中,在步骤S32中,判断选择的所述超级节点是否满足第二预设条件,可以包括:
步骤S321:判断选择的所述超级节点的运行状态是否正常;
若正常,则进入步骤S322:判断选择的所述超级节点的并发请求数是否超过设定阈值;若异常,则查找下一个超级节点;
若未超过,则进入步骤S324:确定选择的所述超级节点满足所述第二预设条件;若超过,则查找下一个超级节点。
较佳的,在步骤S3中的在节点集合中查找用于响应数据请求的超级节点之前,还包括:
按照所述第二性能参数水平从高到低的顺序,对节点集合中包括的各超级节点进行排序。
则对应的,步骤S31中的依次从节点集合中选择超级节点,包括:
按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点。
实施中,按照所述第二性能参数水平从高到低的顺序,对节点集合中包括的各超级节点进行排序后,按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点,可以提高查找超级节点的效率。
下面以第一性能参数为往返时延为例进行详细介绍。
在步骤S3中的在节点集合中查找用于响应数据请求的超级节点之前,还包括:
按照往返时延从小到大的顺序,对节点集合中包括的各超级节点进行排序。
则对应的,步骤S31中的依次从节点集合中选择超级节点,包括:
按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点。
即,在数据请求过程中,实时计算请求节点与超级节点的往返时延rtt,并根据往返时延由小到大对超级节点进行排序,并按照超级节点排序顺序,依次选择超级节点。
实施中,超级节点服务器的能力更强,服务也更稳定,rtt反映了请求节点到该超级节点的传输质量,为挑选优质超级节点提供了基础。
具体实施中,考虑到普通节点和/或超级节点的性能会动态变化,本发明实施例中还会动态更新节点集合。
较佳的,本发明的p2p网络中节点选择方法还包括:
步骤S4:根据所述节点集合中包括的设定节点的数量,更新所述节点集合;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点。
具体实施中,在步骤S4中,第三预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与普通节点和/或超级节点的运行状态、工作性能、网络状况、硬件资源和/或存储数据等有关;比如,一实施方式中,上述第三预设条件例如为空,即没有条件约束,所述设定节点为预定义的普通节点和/或超级节点;另一实施方式中,第三预设条件为节点的状态,所述设定节点为预定义的且处于正常状态的普通节点和/或超级节点;又一实施方式中,第三预设条件例如为下载速度大于预设速度,亦即所述设定节点为预定义的且满足下载速度大于预设速度的普通节点;再一实施方式中,第三预设条件为超级节点的传输质量大于预设质量,亦即所述设定节点为预定义的且满足传输质量大于预设质量的超级节点;又一实施方式中,第三预设条件为节点的负载小于预设负载,亦即所述设定节点为预定义的且满足负载小于预设负载的普通节点和/或超级节点。
实施中,根据所述节点集合中包括的设定节点的数量,更新所述节点集合,从而保障有充足的节点供选择,以保障服务质量。
较佳的,在步骤S4中,根据所述节点集合中包括的设定节点的数量,更新所述节点集合,包括:
步骤S41:当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
步骤S42:当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
步骤S43:当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
实施中,根据节点集合包括的设定节点数量,确定是向跟踪服务器获取节点更新本节点集合,还是向普通节点获取节点更新本节点集合,还是不更新本节点集合;从而保障有充足的节点供选择,以保障服务质量;而且,提供了一种跟踪服务器更新节点集合和普通节点更新节点集合相结合的方式,节点信息来源多样化,可以有效减轻跟踪服务器的压力。
具体实施中,步骤S41中的第一数量阈值,以及步骤S42和步骤S43中的第二数量阈值,可以预先根据实际情况或者经验进行配置;其中,第一数量阈值不大于第二数量阈值。
具体实施中,在步骤S41中,跟踪服务器根据节点请求响应至少一个节点的实施方式与现有技术中实施方式类似,在此不再赘述。
具体实施中,在步骤S42中,预设策略可以预先配置为多种多样的筛选策略,比如,预设策略包括如下一个或多个条件:普通节点服务能力高于预设水平,普通节点所处地理位置、普通节点所处网络等;其中,服务能力可以包括下载速度、负载及和/或传输质量等。
具体实施中,在步骤S42中,筛选出的所述普通节点筛选响应的至少一个节点的实施方式,与按照预设策略从所述节点集合中筛选出普通节点的实施方式类似,在此不再赘述。
较佳的,本发明的p2p网络中节点选择方法还包括:
当所述节点集合中包括的超级节点在预设时间段内未响应所述数据请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含未响应数据请求的超级节点的唯一标识;
接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
实施中,更新在预设时间段内未响应数据请求的超级节点,可以提高节点集合中的超级节点的质量,保障服务质量。
具体实施中,预设时间段可以预先根据实际情况或者经验进行配置,比如,配置为1分钟。
具体实施中,在数据请求的过程中,如果某一超级节点在预设时间未响应所述数据请求,则将该超级节点设置为无效状态。如果数据请求时,超级节点返回异常信息,例如该超级节点无该数据,则将该超级节点设置为暂时不可用状态,同时可以设置一个定时器,当超时时间到达,定时器触发时,再重新尝试使用该超级节点。
实施例一
在本发明实施例一中,将以第一性能参数为下载速度,第二性能参数为往返时延为例,对本发明实施例的p2p网络中节点选择方法进行详细介绍。
开始播放时,从Tracker获取到节点列表后,会对普通节点的下载速度设置一个初始值,之后根据节点类型,对节点列表进行一次排序,普通节点在前,超级节点在后,普通节点按照下载速度从大到小排序,超级节点按照往返时延从小到大排序;播放过程中,节点列表一直按照这种排序方式进行排序。同时,进行节点定期更新及实时节点排序的操作。
节点选择是数据请求前根据一定过滤条件,从节点列表中选取一个最优节点的过程,具体如下:
步骤1、从节点列表中由前向后查找最优节点,即,依次根据下载速度由高到低选择普通节点;
步骤2、根据普通节点的位图信息,判断当前下载的数据源是否和该普通节点的数据源相同;
具体实施中,在步骤2中,位图信息用于标示缓存下载情况,用字节中每一bit来表示该数据块是否存在,比如,用1表示存在,0表示不存在;同时位图信息中包含数据源信息。
步骤3、如果数据源相同,则根据普通节点的位图信息,判断请求的数据块该普通节点是否存在;如果数据源不同,则查找下一普通节点,跳转到步骤2;
步骤4、如果存在,判断该普通节点的并发请求数(即,单一普通节点最大并发请求数)是否超过设定阈值;如果不存在,则查找下一普通节点,跳转到步骤2;
步骤5、如果未超过阈值,则判断是否从该普通节点请求过该数据块;如果超过阈值,则查找下一普通节点,跳转到步骤2;
步骤6、如果未请求过,则将该普通节点选择为最优节点,向最优节点请求数据;如果请求过,说明对当前普通节点该数据块的请求曾经失败过,则查找下一普通节点,跳转到步骤2;
步骤7、如未在普通节点中查询到最优节点,则为保证Qos,从超级节点中查找最优节点,从前到后依次查找,即,依次根据往返时延由小到大选择超级节点;
步骤8、首先判断该超级节点状态,如状态正常,则进行下一步,如果状态为无效或暂时不可用,则查找下一超级节点,跳转到步骤8;
具体实施中,在步骤8中,超级节点的状态设置方法为:下载过程中,如向某一超级节点请求视频数据或请求位图信息数据,超过设定时长无响应,则将该超级节点设置为无效状态。如请求某一块数据时,超级节点返回异常信息,如NODATA(该超级节点无该数据),则将该超级节点设置为暂时不可用状态,同时设置一个定时器,当超时时间到达,定时器触发时,重新尝试使用该超级节点。
步骤9、判断该超级节点的并发请求数(即超级节点最大并发请求数)是否超过设定阈值,如未超过阈值,则进行下一步,如果超过阈值,则查找下一超级节点,跳转到步骤8;
步骤10、判断该请求是否从该超级节点请求过,如未请求过,则选取该超级节点,向该超级节点进行数据请求;如请求过,说明对当前超级节点该数据块的请求曾经失败过,则查询下一超级节点,跳转到步骤8。
另外,本发明提供了一种p2p网络中节点更新方法,包括:
根据节点集合中包括的设定节点的数量,更新所述节点集合;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点。
具体实施中,第三预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与普通节点和/或超级节点的运行状态、工作性能、网络状况、硬件资源和/或存储数据等有关;比如,一实施方式中,上述第三预设条件例如为空,即没有条件约束,所述设定节点为预定义的普通节点和/或超级节点;另一实施方式中,第三预设条件为节点的状态,所述设定节点为预定义的且处于正常状态的普通节点和/或超级节点;又一实施方式中,第三预设条件例如为下载速度大于预设速度,亦即所述设定节点为预定义的且满足下载速度大于预设速度的普通节点;再一实施方式中,第三预设条件为超级节点的传输质量大于预设质量,亦即所述设定节点为预定义的且满足传输质量大于预设质量的超级节点;又一实施方式中,第三预设条件为节点的负载小于预设负载,亦即所述设定节点为预定义的且满足负载小于预设负载的普通节点和/或超级节点。
实施中,根据节点集合中包括的设定节点的数量,更新所述节点集合,从而保障有充足的节点供选择,以保障服务质量。
请参见图4,本发明提供了一种p2p网络中节点更新方法(即,根据所述节点集合中包括的设定节点的数量,更新所述节点集合),包括:
步骤S511:定时检测所述节点集合中包括的设定节点的数量;
步骤S512:判断节点集合中包括的设定节点的数量是否超过第二数量阈值,若未超过,则进入步骤S513;若超过,则不用更新所述节点集合,回到步骤511;
步骤S513:判断节点集合中包括的设定节点的数量是否大于等于第一数量阈值,若大于等于第一数量阈值,则进入步骤S514;若小于第一数量阈值,则进入步骤S515;
步骤S514:按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,进入步骤S510;
步骤S515:向跟踪服务器发送节点请求,并进入步骤S510;
步骤S510:将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中,以更新节点集合;或者,将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中,以更新节点集合。
实施中,根据节点集合包括的设定节点数量,确定是向跟踪服务器获取节点更新本节点集合,还是向普通节点获取节点更新本节点集合,还是不更新本节点集合;从而保障有充足的节点供选择,以保障服务质量;而且,提供了一种跟踪服务器更新节点集合和普通节点更新节点集合相结合的方式,节点信息来源多样化,可以有效减轻跟踪服务器的压力。
具体实施中,步骤S513中的第一数量阈值,以及步骤S512中的第二数量阈值,可以预先根据实际情况或者经验进行配置;其中,第一数量阈值不大于第二数量阈值。
具体实施中,在步骤S510中,跟踪服务器根据节点请求响应至少一个节点的实施方式与现有技术中实施方式类似,在此不再赘述。
具体实施中,在步骤S514中,预设策略可以预先配置为多种多样的筛选策略,比如,预设策略包括如下一个或多个条件:普通节点服务能力高于预设水平,普通节点所处地理位置、普通节点所处网络等;其中,服务能力可以包括下载速度、负载及和/或传输质量等。
具体实施中,在步骤S510中,筛选出的所述普通节点筛选响应的至少一个节点的实施方式,与按照预设策略从所述节点集合中筛选出普通节点的实施方式类似,在此不再赘述。
较佳的,本发明提供的p2p网络中节点更新方法还包括:
当所述节点集合中包括的超级节点在预设时间段内未响应请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含所述未响应请求的超级节点的唯一标识;
接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
实施中,更新在预设时间段内未响应数据请求的超级节点,可以提高节点集合中的超级节点的质量,保障服务质量。
具体实施中,预设时间段可以预先根据实际情况或者经验进行配置,比如,配置为1分钟。
具体实施中,在数据请求的过程中,如果某一超级节点在预设时间未响应所述数据请求,则将该超级节点设置为无效状态。如果数据请求时,超级节点返回异常信息,例如该超级节点无该数据,则将该超级节点设置为暂时不可用状态,同时可以设置一个定时器,当超时时间到达,定时器触发时,再重新尝试使用该超级节点。
实施例二
在本发明实施例二中,将以节点集合以列表形式展现为例,对本发明实施例的p2p网络中节点更新方法进行详细介绍。
步骤1、播放开始时,从Tracker获取节点列表,节点列表中包括普通节点和超级节点;
具体实施中,Tracker有自己的节点分配策略,如优先返回同地域、同运营商的节点。
步骤2、播放过程中,根据一定策略定期更新节点列表,如节点A所管理的节点数量低于一定阈值n,则向Tracker服务器再次请求节点列表,在收到响应后,更新节点列表;
步骤3、如在第2过程中,节点A所管理的节点数量超过阈值n并小于最大阈值m,则选取一个服务能力好的普通节点(记为节点B)发起节点列表请求,节点B在接收到请求之后,从自身的节点列表中选取一批服务能力高的普通节点返回,节点A收到响应后,更新自己的节点列表;
步骤4、如在上一步中节点A所管理的节点数量超过最大阈值m,则停止更新节点列表;
步骤5、同时播放过程中,会实时监测超级节点状态,如某一超级节点在1分钟内一直未响应,则将该超级节点置为无效状态,同时触发更换超级节点的操作,此节点会向Tracker发送更新超级节点的请求,请求中携带出现问题的超级节点唯一标识信息,Tracker会根据该请求中的信息,返回一批新的超级节点。
请参见图5,本发明还提供另外一种p2p网络中节点更新方法,包括:
步骤S61:第一普通节点接收第二普通节点发来的节点请求;
步骤S62:所述第一普通节点基于所述节点请求,从所述第一普通节点的节点集合中选取至少一个节点,并将选取的所述至少一个节点发送给所述第二普通节点。
实施中,是从另一普通节点来获取或更新节点集合,这与现有的只能从tracker获取或更新节点集合的方式不同,能够很好的减轻对tracker的压力。
具体实施中,在步骤S62中,从所述第一普通节点的节点集合中选取至少一个节点的策略可以预先配置为多种多样的选择策略,比如,选择策略包括如下一个或多个条件:普通节点服务能力高于预设水平,普通节点所处地理位置、普通节点所处网络等;其中,服务能力可以包括下载速度、负载及和/或传输质量等。
如图6所示,本发明提供了一种p2p网络中节点选择装置700,包括:
查找模块701,用于在节点集合中查找用于响应数据请求的普通节点;以及,在未查找到所述普通节点时,在所述节点集合中查找用于响应数据请求的超级节点;
处理模块702,用于在查找模块701查找到所述普通节点时,向查找模块701查找到的所述普通节点发送数据请求;以及,在查找模块701未查找到所述普通节点时,向查找模块701查找到的所述超级节点发送数据请求。
实施中,优先查找普通节点请求数据,极大地减少了对服务器(即,超级节点)资源的消耗;另外,在未查找到性能比较好的普通节点时,查找超级节点请求数据,更好地保证了播放的流畅性,提高了服务质量。
较佳的,所述查找模块701在节点集合中查找用于响应数据请求的普通节点时,具体用于:根据第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点,并分别执行:判断选择的所述普通节点是否满足第一预设条件,如果是,则将满足第一预设条件的所述普通节点,确定为查找到的用于响应数据请求的普通节点;
所述查找模块701在节点集合中查找用于响应数据请求的超级节点时,具体用于:根据第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点,并分别执行:判断选择的所述超级节点是否满足第二预设条件,如果是,则将满足第二预设条件的所述超级节点,确定为查找到的用于响应数据请求的超级节点。
具体实施中,第一性能参数可以为表征普通节点的性能的任一参数或组合,例如为表征普通节点的下载速度、连接质量和/或负载等的参数。
具体实施中,在步骤S12中,第一预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与普通节点的运行状态、工作性能、硬件资源和/或存储数据等有关。
具体实施中,第二性能参数可以为表征超级节点的特征的任一参数或组合,例如为表征超级节点的地域、运营商和/或传输质量等的参数。
较佳的,第二性能参数包括往返时延。
具体实施中,第二预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与超级节点的运行状态、工作性能、硬件资源和/或存储数据等有关。
较佳的,所述第一性能参数包括下载速度;
所述查找模块701在判断选择的所述普通节点是否满足第一预设条件时,具体用于:判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;若相同,则判断选择的所述普通节点是否包含请求的数据;若包含,则判断选择的所述普通节点的并发请求数是否超过设定阈值;若未超过,则判断是否向选择的所述普通节点请求过所述数据;若未请求过,则确定选择的所述普通节点满足所述第一预设条件;
所述第二性能参数包括往返时延;
所述查找模块701在判断选择的所述超级节点是否满足第二预设条件时,具体用于:判断选择的所述超级节点的运行状态是否正常;若正常,则判断选择的所述超级节点的并发请求数是否超过设定阈值;若未超过,则判断是否向选择的所述超级节点请求过所述数据;若未请求过,则确定选择的所述超级节点满足所述第二预设条件。
具体实施中,可以按照如下方法计算普通节点下载速度:
(1)如果数据未丢包,普通节点下载速度v计算方式如下:
v= c/(t2- t1);
t1为向普通节点发起请求的时间,t2为收完所有数据的时间,c为该请求的下载量;
(2)如果数据丢包,普通节点下载速度v计算方式如下:
v = c / tm;
tm为最大超时时间,tm = rtt *α;rtt:往返时延,指从发出请求到收到响应的时间;α为可配因子。
具体实施中,并发请求数的计算方法为:节点集合中一个节点的并发请求数记为reqconcur A,则每次向该节点发送一个请求时,该节点的并发请求数变更为reqconcurA +1;当接收完该请求对应的数据时,该节点的并发请求数变更为reqconcurA–1;如该请求没有收到响应或出现丢包,数据没有接收完全,则等到该请求重发或者该请求丢弃时,该节点的并发请求数变更为reqconcurA - 1。
较佳的,p2p网络中节点选择装置700还包括:排序模块703,用于在所述查找模块701在节点集合中查找用于响应数据请求的普通节点之前,按照所述第一性能参数水平从高到低的顺序,对节点集合中包括的各普通节点进行排序;
所述查找模块701在依次从节点集合中选择普通节点时,具体用于:按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点;
所述排序模块703,还用于在所述查找模块701在节点集合中查找用于响应数据请求的超级节点之前,按照所述第二性能参数水平从高到低的顺序,对节点集合中包括的各超级节点进行排序;
所述查找模块701在依次从节点集合中选择超级节点时,具体用于:按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点。
较佳的,p2p网络中节点选择装置700还包括:节点集合更新模块704,用于根据所述节点集合中包括的设定节点的数量,更新所述节点集合;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
所述节点集合更新模块704在根据所述节点集合中包括的设定节点的数量,更新所述节点集合时,具体用于:当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
具体实施中,第三预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与普通节点和/或超级节点的运行状态、工作性能、网络状况、硬件资源和/或存储数据等有关;比如,一实施方式中,上述第三预设条件例如为空,即没有条件约束,所述设定节点为预定义的普通节点和/或超级节点;另一实施方式中,第三预设条件为节点的状态,所述设定节点为预定义的且处于正常状态的普通节点和/或超级节点;又一实施方式中,第三预设条件例如为下载速度大于预设速度,亦即所述设定节点为预定义的且满足下载速度大于预设速度的普通节点;再一实施方式中,第三预设条件为超级节点的传输质量大于预设质量,亦即所述设定节点为预定义的且满足传输质量大于预设质量的超级节点;又一实施方式中,第三预设条件为节点的负载小于预设负载,亦即所述设定节点为预定义的且满足负载小于预设负载的普通节点和/或超级节点。
具体实施中,第一数量阈值与第二数量阈值可以预先根据实际情况或者经验进行配置;其中,第一数量阈值不大于第二数量阈值。
具体实施中,预设策略可以预先配置为多种多样的筛选策略,比如,预设策略包括如下一个或多个条件:普通节点服务能力高于预设水平,普通节点所处地理位置、普通节点所处网络等;其中,服务能力可以包括下载速度、负载及和/或传输质量等。
较佳的,p2p网络中节点选择装置700还包括:超级节点更新模块705,用于当所述节点集合中包括的超级节点在预设时间段内未响应所述数据请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含未响应数据请求的超级节点的唯一标识;接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
具体实施中,预设时间段可以预先根据实际情况或者经验进行配置,比如,配置为1分钟。
具体实施中,在数据请求的过程中,如果某一超级节点在预设时间未响应所述数据请求,则将该超级节点设置为无效状态。如果数据请求时,超级节点返回异常信息,例如该超级节点无该数据,则将该超级节点设置为暂时不可用状态,同时可以设置一个定时器,当超时时间到达,定时器触发时,再重新尝试使用该超级节点。
如图7所示,本发明还提供了一种p2p网络中节点更新装置800,包括:
确定模块801,用于确定节点集合中包括的设定节点的数量;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
第一更新处理模块802,用于当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
第二更新处理模块803,用于当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
第三更新处理模块804,用于当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
实施中,根据节点集合包括的设定节点数量,确定是向跟踪服务器获取节点更新本节点集合,还是向普通节点获取节点更新本节点集合,还是不更新本节点集合;从而保障有充足的节点供选择,以保障服务质量;而且,提供了一种跟踪服务器更新节点集合和普通节点更新节点集合相结合的方式,节点信息来源多样化,可以有效减轻跟踪服务器的压力。
具体实施中,第三预设条件可以根据实际情况或经验预先进行配置,可以包括一个条件,也可以包括多个条件;具体条件可以与普通节点和/或超级节点的运行状态、工作性能、网络状况、硬件资源和/或存储数据等有关;比如,一实施方式中,上述第三预设条件例如为空,即没有条件约束,所述设定节点为预定义的普通节点和/或超级节点;另一实施方式中,第三预设条件为节点的状态,所述设定节点为预定义的且处于正常状态的普通节点和/或超级节点;又一实施方式中,第三预设条件例如为下载速度大于预设速度,亦即所述设定节点为预定义的且满足下载速度大于预设速度的普通节点;再一实施方式中,第三预设条件为超级节点的传输质量大于预设质量,亦即所述设定节点为预定义的且满足传输质量大于预设质量的超级节点;又一实施方式中,第三预设条件为节点的负载小于预设负载,亦即所述设定节点为预定义的且满足负载小于预设负载的普通节点和/或超级节点。
具体实施中,第一数量阈值与第二数量阈值可以预先根据实际情况或者经验进行配置;其中,第一数量阈值不大于第二数量阈值。
具体实施中,预设策略可以预先配置为多种多样的筛选策略,比如,预设策略包括如下一个或多个条件:普通节点服务能力高于预设水平,普通节点所处地理位置、普通节点所处网络等;其中,服务能力可以包括下载速度、负载及和/或传输质量等。
较佳的,p2p网络中节点更新装置800还包括:超级节点更新模块805,用于当所述节点集合中包括的超级节点在预设时间段内未响应请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含所述未响应请求的超级节点的唯一标识;接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
具体实施中,预设时间段可以预先根据实际情况或者经验进行配置,比如,配置为1分钟。
具体实施中,在数据请求的过程中,如果某一超级节点在预设时间未响应所述数据请求,则将该超级节点设置为无效状态。如果数据请求时,超级节点返回异常信息,例如该超级节点无该数据,则将该超级节点设置为暂时不可用状态,同时可以设置一个定时器,当超时时间到达,定时器触发时,再重新尝试使用该超级节点。
如图8所示,本发明还提供了另一种p2p网络中节点更新装置900,应用于第一普通节点,所述第一普通节点包括:
接收模块901,用于接收第二普通节点发来的节点请求;
选取模块902,用于基于所述节点请求,从所述第一普通节点的节点集合中选取至少一个节点,并将选取的所述至少一个节点发送给所述第二普通节点。
实施中,是从另一普通节点来获取或更新节点集合,这与现有的只能从tracker获取或更新节点集合的方式不同,能够很好的减轻对tracker的压力。
具体实施中,从所述第一普通节点的节点集合中选取至少一个节点的策略可以预先配置为多种多样的选择策略,比如,选择策略包括如下一个或多个条件:普通节点服务能力高于预设水平,普通节点所处地理位置、普通节点所处网络等;其中,服务能力可以包括下载速度、负载及和/或传输质量等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种p2p网络中节点选择方法,其特征在于,包括:
在节点集合中查找用于响应数据请求的普通节点;
若查找到,则向查找到的所述普通节点发送数据请求;
若未查找到,则在所述节点集合中查找用于响应数据请求的超级节点,并向查找到的所述超级节点发送数据请求。
2.根据权利要求1所述的p2p网络中节点选择方法,其特征在于,所述在节点集合中查找用于响应数据请求的普通节点,包括:
根据第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点,并分别执行:判断选择的所述普通节点是否满足第一预设条件,如果是,则将满足第一预设条件的所述普通节点,确定为查找到的用于响应数据请求的普通节点;
所述在节点集合中查找用于响应数据请求的超级节点,包括:
根据第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点,并分别执行:判断选择的所述超级节点是否满足第二预设条件,如果是,则将满足第二预设条件的所述超级节点,确定为查找到的用于响应数据请求的超级节点。
3.根据权利要求2所述的p2p网络中节点选择方法,其特征在于,所述第一性能参数包括下载速度;
所述判断选择的所述普通节点是否满足第一预设条件,包括:
判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;
若相同,则判断选择的所述普通节点是否包含请求的数据;
若包含,则判断选择的所述普通节点的并发请求数是否超过设定阈值;
若未超过,则判断是否向选择的所述普通节点请求过所述数据;
若未请求过,则确定选择的所述普通节点满足所述第一预设条件;
所述第二性能参数包括往返时延;
所述判断选择的所述超级节点是否满足第二预设条件,包括:
判断选择的所述超级节点的运行状态是否正常;
若正常,则判断选择的所述超级节点的并发请求数是否超过设定阈值;
若未超过,则判断是否向选择的所述超级节点请求过所述数据;
若未请求过,则确定选择的所述超级节点满足所述第二预设条件。
4.根据权利要求2所述的p2p网络中节点选择方法,其特征在于,所述在节点集合中查找用于响应数据请求的普通节点之前,还包括:
按照所述第一性能参数水平从高到低的顺序,对节点集合中包括的各普通节点进行排序;
所述依次从节点集合中选择普通节点,包括:
按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点;
所述在节点集合中查找用于响应数据请求的超级节点之前,还包括:
按照所述第二性能参数水平从高到低的顺序,对节点集合中包括的各超级节点进行排序;
所述依次从节点集合中选择超级节点,包括:
按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点。
5.根据权利要求1所述的p2p网络中节点选择方法,其特征在于,所述方法还包括:
根据所述节点集合中包括的设定节点的数量,更新所述节点集合;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
所述根据所述节点集合中包括的设定节点的数量,更新所述节点集合,包括:
当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
6.根据权利要求1所述的p2p网络中节点选择方法,其特征在于,所述方法还包括:
当所述节点集合中包括的超级节点在预设时间段内未响应所述数据请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含未响应数据请求的超级节点的唯一标识;
接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
7.一种p2p网络中节点更新方法,其特征在于,包括:
确定节点集合中包括的设定节点的数量;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
8.根据权利要求7所述的p2p网络中节点更新方法,其特征在于,所述方法还包括:
当所述节点集合中包括的超级节点在预设时间段内未响应请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含所述未响应请求的超级节点的唯一标识;
接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
9.一种p2p网络中节点更新方法,其特征在于,包括:
第一普通节点接收第二普通节点发来的节点请求;
所述第一普通节点基于所述节点请求,从所述第一普通节点的节点集合中选取至少一个节点,并将选取的所述至少一个节点发送给所述第二普通节点。
10.一种p2p网络中节点选择装置,其特征在于,包括:
查找模块,用于在节点集合中查找用于响应数据请求的普通节点;以及,在未查找到所述普通节点时,在所述节点集合中查找用于响应数据请求的超级节点;
处理模块,用于在查找模块查找到所述普通节点时,向查找模块查找到的所述普通节点发送数据请求;以及,在查找模块未查找到所述普通节点时,向查找模块查找到的所述超级节点发送数据请求。
11.根据权利要求10所述的p2p网络中节点选择装置,其特征在于,所述查找模块在节点集合中查找用于响应数据请求的普通节点时,具体用于:根据第一性能参数水平从高到低的顺序,依次从所述节点集合中选择普通节点,并分别执行:判断选择的所述普通节点是否满足第一预设条件,如果是,则将满足第一预设条件的所述普通节点,确定为查找到的用于响应数据请求的普通节点;
所述查找模块在节点集合中查找用于响应数据请求的超级节点时,具体用于:根据第二性能参数水平从高到低的顺序,依次从所述节点集合中选择超级节点,并分别执行:判断选择的所述超级节点是否满足第二预设条件,如果是,则将满足第二预设条件的所述超级节点,确定为查找到的用于响应数据请求的超级节点。
12.根据权利要求11所述的p2p网络中节点选择装置,其特征在于,所述第一性能参数包括下载速度;
所述查找模块在判断选择的所述普通节点是否满足第一预设条件时,具体用于:判断选择的所述普通节点的数据源与所述数据请求对应的数据源是否相同;若相同,则判断选择的所述普通节点是否包含请求的数据;若包含,则判断选择的所述普通节点的并发请求数是否超过设定阈值;若未超过,则判断是否向选择的所述普通节点请求过所述数据;若未请求过,则确定选择的所述普通节点满足所述第一预设条件;
所述第二性能参数包括往返时延;
所述查找模块在判断选择的所述超级节点是否满足第二预设条件时,具体用于:判断选择的所述超级节点的运行状态是否正常;若正常,则判断选择的所述超级节点的并发请求数是否超过设定阈值;若未超过,则判断是否向选择的所述超级节点请求过所述数据;若未请求过,则确定选择的所述超级节点满足所述第二预设条件。
13.根据权利要求11所述的p2p网络中节点选择装置,其特征在于,所述装置还包括:排序模块,用于在所述查找模块在节点集合中查找用于响应数据请求的普通节点之前,按照所述第一性能参数水平从高到低的顺序,对节点集合中包括的各普通节点进行排序;
所述查找模块在依次从节点集合中选择普通节点时,具体用于:按照所述节点集合中包括的各普通节点的排序顺序,依次选择普通节点;
所述排序模块,还用于在所述查找模块在节点集合中查找用于响应数据请求的超级节点之前,按照所述第二性能参数水平从高到低的顺序,对节点集合中包括的各超级节点进行排序;
所述查找模块在依次从节点集合中选择超级节点时,具体用于:按照所述节点集合中包括的各超级节点的排序顺序,依次选择超级节点。
14.根据权利要求10所述的p2p网络中节点选择装置,其特征在于,所述装置还包括:节点集合更新模块,用于根据所述节点集合中包括的设定节点的数量,更新所述节点集合;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
所述节点集合更新模块在根据所述节点集合中包括的设定节点的数量,更新所述节点集合时,具体用于:当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
15.根据权利要求10所述的p2p网络中节点选择装置,其特征在于,所述装置还包括:超级节点更新模块,用于当所述节点集合中包括的超级节点在预设时间段内未响应所述数据请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含未响应数据请求的超级节点的唯一标识;接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
16.一种p2p网络中节点更新装置,其特征在于,包括:
确定模块,用于确定节点集合中包括的设定节点的数量;其中,所述设定节点为预定义的且满足第三预设条件的普通节点和/或超级节点;
第一更新处理模块,用于当所述节点集合中包括的设定节点的数量小于第一数量阈值时,向跟踪服务器发送节点请求,并将所述跟踪服务器响应的至少一个节点,添加到所述节点集合中;
第二更新处理模块,用于当所述节点集合中包括的设定节点的数量大于等于所述第一数量阈值且小于第二数量阈值时,按照预设策略从所述节点集合中筛选出普通节点,并向筛选出的所述普通节点发送节点请求,并将筛选出的所述普通节点响应的至少一个节点,添加到所述节点集合中;
第三更新处理模块,用于当所述节点集合中包括的设定节点的数量大于等于所述第二数量阈值时,不用更新所述节点集合。
17.根据权利要求16所述的p2p网络中节点更新装置,其特征在于,所述装置还包括:超级节点更新模块,用于当所述节点集合中包括的超级节点在预设时间段内未响应请求,向跟踪服务器发送更新超级节点请求,所述更新超级节点请求中包含所述未响应请求的超级节点的唯一标识;接收所述跟踪服务器基于所述更新超级节点请求反馈的至少一个新的超级节点。
18.一种p2p网络中节点更新装置,其特征在于,应用于第一普通节点,所述第一普通节点包括:
接收模块,用于接收第二普通节点发来的节点请求;
选取模块,用于基于所述节点请求,从所述第一普通节点的节点集合中选取至少一个节点,并将选取的所述至少一个节点发送给所述第二普通节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710027229.8A CN108322487A (zh) | 2017-01-16 | 2017-01-16 | p2p网络中节点选择方法及装置与节点更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710027229.8A CN108322487A (zh) | 2017-01-16 | 2017-01-16 | p2p网络中节点选择方法及装置与节点更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108322487A true CN108322487A (zh) | 2018-07-24 |
Family
ID=62891849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710027229.8A Pending CN108322487A (zh) | 2017-01-16 | 2017-01-16 | p2p网络中节点选择方法及装置与节点更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108322487A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365771A (zh) * | 2019-07-16 | 2019-10-22 | 深圳市网心科技有限公司 | 一种数据获取方法、装置、系统和计算机可读存储介质 |
CN110519121A (zh) * | 2019-08-09 | 2019-11-29 | 网宿科技股份有限公司 | 一种分区域任务探测的方法及装置 |
CN111225289A (zh) * | 2020-01-15 | 2020-06-02 | 深圳市深海瑞格科技有限公司 | 一种基于移动互联网的终端音视频共享系统 |
US20200322225A1 (en) * | 2019-04-05 | 2020-10-08 | Mimik Technology Inc. | Method and system for distributed edge cloud computing |
CN112039822A (zh) * | 2019-06-03 | 2020-12-04 | 厦门本能管家科技有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
US20210042160A1 (en) * | 2019-04-05 | 2021-02-11 | Mimik Technology Inc. | Method and system for distributed edge cloud computing |
CN112491951A (zh) * | 2020-10-20 | 2021-03-12 | 网宿科技股份有限公司 | 对等网络中的请求处理方法、服务器及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127619A (zh) * | 2007-09-29 | 2008-02-20 | 华中科技大学 | 一种基于超级节点的p2p直播方法 |
CN101150465A (zh) * | 2006-09-22 | 2008-03-26 | 腾讯科技(深圳)有限公司 | 一种获取种子信息的方法及p2p网络中的超级节点和普通节点 |
CN101150427A (zh) * | 2006-09-20 | 2008-03-26 | 腾讯科技(深圳)有限公司 | 一种确定归属超级节点的实现方法与系统 |
CN101282231A (zh) * | 2008-05-27 | 2008-10-08 | 中山大学 | 一种基于P2P网络的FBStream流媒体直播模型 |
CN101969448A (zh) * | 2009-06-17 | 2011-02-09 | 中国移动通信集团公司 | 在p2p流媒体系统中查找活动节点的方法、系统及设备 |
CN102624884A (zh) * | 2012-02-29 | 2012-08-01 | 上海聚力传媒技术有限公司 | 一种用于接收p2p资源的方法、装置和设备 |
-
2017
- 2017-01-16 CN CN201710027229.8A patent/CN108322487A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150427A (zh) * | 2006-09-20 | 2008-03-26 | 腾讯科技(深圳)有限公司 | 一种确定归属超级节点的实现方法与系统 |
CN101150465A (zh) * | 2006-09-22 | 2008-03-26 | 腾讯科技(深圳)有限公司 | 一种获取种子信息的方法及p2p网络中的超级节点和普通节点 |
CN101127619A (zh) * | 2007-09-29 | 2008-02-20 | 华中科技大学 | 一种基于超级节点的p2p直播方法 |
CN101282231A (zh) * | 2008-05-27 | 2008-10-08 | 中山大学 | 一种基于P2P网络的FBStream流媒体直播模型 |
CN101969448A (zh) * | 2009-06-17 | 2011-02-09 | 中国移动通信集团公司 | 在p2p流媒体系统中查找活动节点的方法、系统及设备 |
CN102624884A (zh) * | 2012-02-29 | 2012-08-01 | 上海聚力传媒技术有限公司 | 一种用于接收p2p资源的方法、装置和设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200322225A1 (en) * | 2019-04-05 | 2020-10-08 | Mimik Technology Inc. | Method and system for distributed edge cloud computing |
US20210042160A1 (en) * | 2019-04-05 | 2021-02-11 | Mimik Technology Inc. | Method and system for distributed edge cloud computing |
CN112039822A (zh) * | 2019-06-03 | 2020-12-04 | 厦门本能管家科技有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN112039822B (zh) * | 2019-06-03 | 2022-08-02 | 本无链科技(深圳)有限公司 | 一种基于WebRTC构建实时区块链网络的方法及系统 |
CN110365771A (zh) * | 2019-07-16 | 2019-10-22 | 深圳市网心科技有限公司 | 一种数据获取方法、装置、系统和计算机可读存储介质 |
CN110519121A (zh) * | 2019-08-09 | 2019-11-29 | 网宿科技股份有限公司 | 一种分区域任务探测的方法及装置 |
CN110519121B (zh) * | 2019-08-09 | 2021-08-27 | 网宿科技股份有限公司 | 一种分区域任务探测的方法及装置 |
CN111225289A (zh) * | 2020-01-15 | 2020-06-02 | 深圳市深海瑞格科技有限公司 | 一种基于移动互联网的终端音视频共享系统 |
CN112491951A (zh) * | 2020-10-20 | 2021-03-12 | 网宿科技股份有限公司 | 对等网络中的请求处理方法、服务器及存储介质 |
CN112491951B (zh) * | 2020-10-20 | 2022-11-25 | 网宿科技股份有限公司 | 对等网络中的请求处理方法、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108322487A (zh) | p2p网络中节点选择方法及装置与节点更新方法及装置 | |
Sherwood et al. | Slurpie: A cooperative bulk data transfer protocol | |
JP5470228B2 (ja) | ピアツーピア・ネットワークの最適利用方法 | |
KR101422213B1 (ko) | 단말의 능력을 기초로 역할을 설정하는 장치 및 그 방법 | |
US20040103194A1 (en) | Method and system for server load balancing | |
EP2612487B1 (en) | Method and arrangement in a peer-to-peer network | |
CN108307198A (zh) | 流服务节点调度方法、装置及调度节点 | |
EP2374255A1 (en) | Method and system for data management in peer-to- peer network | |
JP4671972B2 (ja) | ピアツーピア・ネットワークの最適利用方法 | |
CN104158904B (zh) | 一种云辅助移动p2p网络协同下载方法 | |
EP2477377A1 (en) | Peer node and method for improved peer node selection | |
CN101616171B (zh) | 一种维护引导节点状态的方法、装置和系统 | |
CN110990448B (zh) | 一种支持容错的分布式查询方法及装置 | |
JP4533923B2 (ja) | 階層型ピアツーピアシステムにおける負荷バランシング機能を有するスーパーピア及び該スーパーピアを動作させる方法 | |
EP2874368A1 (en) | Method and device for generating aggregate layer networkmap and aggregate layer costmap | |
TW201427450A (zh) | 內容遞送網路及同儕網路之流量控制方法及系統 | |
CN101369915B (zh) | 可运营p2p网络资源管理系统 | |
CN116260824A (zh) | 业务数据传输方法、系统及存储介质和相关设备 | |
CN112187839B (zh) | 一种分配方法、服务器及存储介质 | |
US20130111068A1 (en) | Creating an optimized distribution network for the efficient transfer of data between endpoints using crossover connections | |
Sproull et al. | Distributed algorithms for the placement of network services | |
CN106060183A (zh) | 一种地址分配方法及装置 | |
CN102035866A (zh) | 一种p2p下载数据的方法和装置 | |
Esquivel et al. | Performance analysis of BitTorrent-like P2P networks for video streaming services at the chunk level | |
Kobusińska et al. | Distributed content dissemination with a rank function |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180724 |
|
WD01 | Invention patent application deemed withdrawn after publication |