CN113765970A - P2p网络节点选择方法、装置、设备及存储介质 - Google Patents
P2p网络节点选择方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113765970A CN113765970A CN202011044865.XA CN202011044865A CN113765970A CN 113765970 A CN113765970 A CN 113765970A CN 202011044865 A CN202011044865 A CN 202011044865A CN 113765970 A CN113765970 A CN 113765970A
- Authority
- CN
- China
- Prior art keywords
- node
- candidate
- request
- nodes
- peer
- 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
- 238000010187 selection method Methods 0.000 title claims description 27
- 238000012216 screening Methods 0.000 claims abstract description 111
- 238000000034 method Methods 0.000 claims abstract description 75
- 238000012360 testing method Methods 0.000 claims abstract description 75
- 238000004891 communication Methods 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000012163 sequencing technique Methods 0.000 claims description 21
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004807 localization Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003679 aging effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/1042—Peer-to-peer [P2P] networks using topology 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/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种P2P网络节点选择方法、装置、设备及存储介质,通过索引服务器根据请求节点对应的候选节点筛选条件以及请求节点的节点信息获取候选节点列表并请求节点;请求节点对候选节点进行测试,并将测试结果发送给索引服务器,索引服务器根据测试结果对候选节点列表进行更新,再将更新后的候选节点列表发送给请求节点,请求节点从更新后的候选节点列表中确定目标节点,与目标节点进行数据传输。通过索引服务器进行候选节点的筛选,不需要网络运营商的参与,且提高所筛选的候选节点的准确性和有效性,网络通信代价和操作代价较小,使得请求节点能够快速准确进行资源下载传输,实现精准导向,提高分享率,节省更多的带宽和服务器资源。
Description
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种P2P网络节点选择方法、装置、设备及存储介质。
背景技术
P2P网络(Peer to Peer,对等网络),是一种在对等节点(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。而P2P网络凭借其低成本、高可扩展性等技术优势,能够很好地与流媒体系统结合起来,因此将P2P技术和流媒体应用相结合是当前研究的热点之一。
现有的基于P2P网络的流媒体系统中,当P2P网络中某一节点需要观看直播或点播内容时,通常需要从P2P网络中筛选对等节点,再进行直播或点播资源的下载传输。现有的P2P网络的对等节点筛选方法,通常需要网络运营商的参与进行节点筛选,或者采用基于时延测量的节点筛选策略、基于IP匹配的节点筛选策略、基于路由表信息的节点筛选策略等策略。
现有的P2P网络的对等节点筛选方法所需要的代价较高,通常需要运营商参与,或者网络通信代价或操作代价较高,无法快速准确的筛选出能够进行直播或点播资源的下载传输的对等节点,从而导致分享率较低,且浪费更多的带宽和服务器资源。
发明内容
本发明实施例提供一种P2P网络节点选择方法、装置、设备及存储介质,以在P2P网络中快速准确的筛选出能够进行直播或点播资源的下载传输的对等节点,降低对等节点筛选所需要的代价。
第一方面,本发明实施例提供一种P2P网络节点选择方法,应用于索引服务器,所述方法包括:
根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;
将所述候选节点列表发送给所述请求节点;
接收所述请求节点发送的对所述候选节点的测试结果,根据所述测试结果对所述候选节点列表进行更新;
将更新后的候选节点列表发送给所述请求节点,以使所述请求节点从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
第二方面,本发明实施例提供一种P2P网络节点选择方法,应用于请求节点,所述方法包括:
接收所述索引服务器发送的候选节点列表,所述候选节点列表为所述索引服务器根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息从P2P网络的多个对等节点中筛选出预设数量的候选节点而得到的;
对所述候选节点列表中各候选节点进行测试,并将测试结果发送给所述索引服务器,以使所述索引服务器根据所述测试结果对所述候选节点列表进行更新;
接收所述索引服务器发送的更新后的候选节点列表,并从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
第三方面,本发明实施例提供一种P2P网络节点选择装置,应用于索引服务器,所述装置包括:
筛选模块,用于根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;
通信模块,用于将所述候选节点列表发送给所述请求节点;接收所述请求节点发送的对所述候选节点的测试结果;
所述筛选模块还用于,根据所述测试结果对所述候选节点列表进行更新;
所述通信模块还用于,将更新后的候选节点列表发送给所述请求节点,以使所述请求节点从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
第四方面,本发明实施例提供一种P2P网络节点选择装置,应用于请求节点,所述装置包括:
通信模块,用于接收所述索引服务器发送的候选节点列表,所述候选节点列表为所述索引服务器根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息从P2P网络的多个对等节点中筛选出预设数量的候选节点而得到的;
测试模块,用于对所述候选节点列表中各候选节点进行测试;
所述通信模块还用于,将测试结果发送给所述索引服务器,以使所述索引服务器根据所述测试结果对所述候选节点列表进行更新;接收所述索引服务器发送的更新后的候选节点列表;
数据传输模块,用于从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
第五方面,本发明实施例提供一种索引服务器,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面所述的方法。
第六方面,本发明实施例提供一种请求节点,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第二方面所述的方法。
第七方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面所述的方法。
第八方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第二方面所述的方法。
本发明实施例提供的P2P网络节点选择方法、装置、设备及存储介质,通过由索引服务器根据请求节点对应的候选节点筛选条件以及请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;将候选节点列表发送给请求节点;请求节点对候选节点进行测试,并将测试结果发送给索引服务器,索引服务器根据测试结果对候选节点列表进行更新,并将更新后的候选节点列表发送给请求节点,以使请求节点从更新后的候选节点列表中确定目标节点,并与目标节点进行数据传输。本发明实施例中通过索引服务器进行候选节点的筛选,不需要网络运营商的参与,并且由请求节点对候选节点进行测试,索引服务器可再根据请求节点的测试结果对候选节点列表进行更新,可提高所筛选的候选节点的准确性和有效性,且测试过程对网络通信影响较小,网络通信代价和操作代价较小,使得请求节点能够基于候选节点列表快速准确的筛选出能够进行直播或点播资源的下载传输的对等节点,实现精准导向,提高分享率,节省更多的带宽和服务器资源。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1a为本发明一实施例提供的P2P网络示意图;
图1b为本发明一实施例提供的请求节点与索引服务器的交互示意图;
图2为本发明一实施例提供的P2P网络节点选择方法的流程图;
图3为本发明另一实施例提供的P2P网络节点选择方法的流程图;
图4为本发明另一实施例提供的P2P网络节点选择方法的流程图;
图5为本发明一实施例提供的P2P网络节点选择装置的结构图;
图6为本发明另一实施例提供的P2P网络节点选择装置的结构图;
图7为本发明一实施例提供的索引服务器的结构图;
图8为本发明一实施例提供的请求节点的结构图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
现有的基于P2P网络的流媒体系统中,当P2P网络中某一节点需要观看直播或点播内容时,通常需要从P2P网络中筛选对等节点,再进行直播或点播资源的下载传输。现有的P2P网络的对等节点筛选方法,通常需要网络运营商的参与进行节点筛选,或者采用基于时延测量的节点筛选策略、基于IP匹配的节点筛选策略、基于路由表信息的节点筛选策略等策略。
节点筛选的目的是实现流量本地化,也就是节点间的数据交换尽量在本自治域(Autonomous System,AS)内,尽量减少跨自治域的数据流量和跨运营商网络的数据流量。
其中,网络运营商的参与进行节点筛选,是实现上述目的的最好的方法,网络运营商在自己的网络边缘部署一些代理服务器,这些服务器可以将一些数据请求转发到本自治域内的一些具有相应资源的节点,从而实现将流量控制在本自治域内。这种方式固然是最好的方式,但是需要运营商的协助,并且部署代价和维护代价都很大。
基于时延测量的节点筛选策略,其基本原理就是测量两个节点之间的往返时延(round-trip time,RTT),将其作为二者网络距离的唯一度量。通过RTT的值来选取具有相应资源的节点。该方法在节点规模较大时,为了判断出两个节点之间的网络距离而进行两两通信,势必会造成较大的网络通信代价。且时效性也比较差。
对于基于IP匹配的节点筛选策略,由于网络前缀(network prefix)和子网的划分是有关系的,所以从节点的网络前缀可以大致推算出节点主机的子网关系,这样可以通过网络前缀匹配来进行节点筛选。这种方法还可以分为简单匹配和分层匹配,简单匹配是指选用固定的位数作为网络前缀的位数来进行匹配选择,而分层匹配是分别采用几个不同的位数来进行匹配,比如先用24位,然后用16位、14位等。这种方法最大的问题就是准确性,由于自治域常常不使用连续的地址空间,使得基于前缀匹配方法的有效性大大降低。
对于基于路由表信息的节点筛选策略,这种方法通过分析位于核心网路由器的路由表来建立网络的拓扑信息,其依据是路由表项里的网络前缀和子网掩码能够标识出路由路径,通过将这些表项进行分簇大致可以归纳出自治域的分布。以此为依据选取具有相应资源的节点。这种方法需要获取大量路由器的路由表,操作代价太高,并且一旦网络拓扑发生变化更新拓扑图的代价也很高。
上述的现有的P2P网络的对等节点筛选方法所需要的代价较高,通常需要运营商参与,或者网络通信代价或操作代价较高,无法快速准确的筛选出能够进行直播或点播资源的下载传输的对等节点。
此外,在另一种现有的P2P网络节点筛选方法中,可通过索引服务器(Tracker)端的IP地址映射库,对已有节点进行快速粗粒度的划分,使划分出来的节点具有相同的位置信息,并根据请求节点的位置信息选择拥有所请求媒体资源的最终节点列表。对最终节点列表中返回的节点进行改进的时延测量的节点筛选,所述请求节点对所述节点列表中的节点进行耐压测试,增加下载数据块数量,根据预设的时间,迅速获得所述请求节点所能容纳量级的初步满足要求的节点,并从中选择最合适的节点作为邻居节点。
该方法中索引服务器端的IP地址映射库精确度有限、更新具有滞后性。因IP地址是经常不断变化的,且不是很精确,所以IP地址库需要不断维护、IP段发生变化更新不及时影响面积广。维护更新方式主要有:从网络不断查询获取更新,更新周期较慢;或者由运营商提供,但此种方式需要依赖运营商;或者通过购买方式维护更新,维护更新所需要的代价较大。此外,对最终节点列表返回的节点进行改进的时延测量的节点筛选,只能在首次筛选出的最终列表中进行筛选,可选择范围有限。
针对现有技术的上述技术问题,本发明实施例提供一种P2P网络节点选择方法,以在P2P网络中快速准确的筛选出能够进行直播或点播资源的下载传输的对等节点,降低对等节点筛选所需要的代价。具体的,可由索引服务器(Tracker)根据请求节点对应的候选节点筛选条件以及请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;将候选节点列表发送给请求节点;请求节点对候选节点进行测试,并将测试结果发送给索引服务器,索引服务器根据测试结果对候选节点列表进行更新,并将更新后的候选节点列表发送给请求节点,以使请求节点从更新后的候选节点列表中确定目标节点,并与目标节点进行数据传输。通过索引服务器进行候选节点的筛选,不需要网络运营商的参与,降低了部署代价和维护代价;并且由请求节点对候选节点进行测试,索引服务器可再根据请求节点的测试结果对候选节点列表进行更新,从而提高所筛选的候选节点的准确性和有效性,且测试过程对网络通信影响较小,降低了网络通信代价;不需要过去路由器的路由表,降低了操作代价。
通过本发明实施例的P2P网络节点选择方法,使得请求节点能够基于候选节点列表快速准确的筛选出能够进行直播或点播资源的下载传输的对等节点,实现精准导向,提高分享率,节省更多的带宽和服务器资源。
本发明实施例具体应用于P2P网络中,该P2P网络可如图1a所示,P2P网络中包括多个对等节点(Peer),其中对等节点可包括普通网络节点,也即客户端节点(P2P Client)101,以及数据源服务器节点(P2P Server)102,其中数据源服务器节点102可以为客户端节点在直播过程中提供起播加速、鉴权、数据源下载等服务;P2P网络还包括索引服务器(Tracker)103,索引服务器103可用于提供节点探测、测速、导向、节点调度、选点策略调整、数据分享下载参数控制等服务。如图1b所示,客户端节点101中的任意一个节点在需要点播或直播时,可作为请求节点101’,向索引服务器103发起候选节点列表获取请求,索引服务器103获取候选节点列表后发送给请求节点101’,请求节点101’可对候选节点进行测试,并将测试结果发送个索引服务器103,索引服务器103再根据测试结果对候选节点列表进行更新,并将更新后的候选节点列表发送给请求节点101’,请求节点101’确定目标节点,并与目标节点进行数据传输。其中请求节点101’测试以及索引服务器103更新候选节点列表的过程可以迭代多次。需要说明的是,对于点播的情况,候选节点可以为客户端节点(P2PClient),对于直播的情况,候选节点可以为服务器节点(P2P Server)。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图2为本发明实施例提供的P2P网络节点选择方法流程图。本实施例提供了一种P2P网络节点选择方法,其执行主体为索引服务器,该P2P网络节点选择方法具体步骤如下:
S201、根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表。
在本实施例中,请求节点可以为P2P网络中的任意客户端节点(P2PClient),当请求节点需要点播观看视频等多媒体资源或者观看直播时,索引服务器可以为请求节点提供候选节点列表,其中候选节点为P2P网络的多个对等节点中满足请求节点对应的候选节点筛选条件的对等节点,候选节点可以为请求节点提供其所需的多媒体资源;当然,也可以在任意其他情况下,由索引服务器主动获取候选节点列表,并提供给请求节点,以便于请求节点在任意需要点播或直播的时候可以直接从候选节点列表中确定目标节点,从目标节点获取所需的多媒体资源。需要说明的是,对于请求节点观看点播的情况,候选节点可以为P2P网络中的其他客户端节点(P2P Client),其他客户端节点中可存储有请求节点所点播的视频等多媒体资源数据;而对于请求节点观看直播的情况,候选节点可以为P2P网络中的服务器节点(P2P Server),服务器节点可直接将请求节点所要观看的直播内容传输给请求节点,而不再经过其他客户端节点,避免产生过长的传输时延。
为了实现流量本地化,也即节点间的数据传输和交换尽量在本自治域内,减少跨自治域的数据流量和跨运营商的数据流量,此外还可考虑选择时延较低的节点,减少网络通信代价,提高时效性,因此在从P2P网络的多个对等节点中筛选出预设数量的候选节点时,可根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息来进行筛选。
可选的,本实施例中,请求节点可在需要观看点播或者直播时向索引服务器发送候选节点列表获取请求,索引服务器可监测是否接收到请求节点发送的候选节点列表获取请求,若确定接收到请求节点发送的候选节点列表获取请求,则根据候选节点列表获取请求,获取请求节点的节点信息,并确定满足请求节点对应的候选节点筛选条件。
S202、将所述候选节点列表发送给所述请求节点。
在本实施例中,在索引服务器获取到候选节点列表后可将候选节点列表发送给请求节点,具体发送过程此处不再赘述。
而请求节点在接收到候选节点列表后,对候选节点列表中各候选节点进行测试,并将测试结果发送给索引服务器。其中,对于候选节点进行测试具体可包括对各候选节点进行下载速度的测试,以便于筛选出下载速度不满足需求的候选节点,以便于在反馈给索引服务器后由索引服务器进行更新,当然对候选节点的测试也可包括其他的测试,此处不再一一赘述。
S203、接收所述请求节点发送的对所述候选节点的测试结果,根据所述测试结果对所述候选节点列表进行更新。
在本实施例中,在索引服务器将候选节点列表发送给请求节点、且请求节点对候选节点列表中各候选节点进行测试后,索引服务器可接收到请求节点发送的对候选节点的测试结果,进而可根据测试结果对候选节点列表进行更新。具体的,举例来讲,若候选节点列表中某个候选节点或某些候选节点的下载速度低于预设下载速度阈值,则需要从候选节点列表中将该候选节点或该些候选节点删除,并重新从P2P网络的多个对等节点筛选一个或多个候选节点替换该候选节点或该些候选节点,从而对候选节点列表进行更新,进而再发送给请求节点。可选的,请求节点也可仅发送下载速度低于预设下载速度阈值的候选节点的测试结果。
需要说明的是,上述S203的过程也可以迭代一次或多次,例如,请求节点在收到更新后的候选节点列表后,可再次对其中的候选节点进行测试,再将测试结果发送给索引服务器,由索引服务器再次进行更新,直至达到迭代次数上限值,或者候选节点列表中的所有候选节点均满足需求,例如均满足下载速度不低于预设下载速度阈值,可以停止迭代。
S204、将更新后的候选节点列表发送给所述请求节点,以使所述请求节点从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
在本实施例中,在请求节点得到最终的更新后的候选节点列表后,请求节点可从候选节点列表中确定目标节点,进而从目标节点下载所需的数据,进行数据传输。
在从候选节点列表中确定目标节点时,请求节点可以向更新后的候选节点列表中的各候选节点发送数据下载请求,将各候选节点中最先响应下载请求的候选节点作为目标节点,也即哪一候选节点最先将数据发送给请求节点,则将该候选节点作为目标节点。当然,请求节点也可根据下载速度的高低来确定目标节点,如选择下载速度最高的候选节点作为目标节点。
本实施例提供的P2P网络节点选择方法,通过由索引服务器根据请求节点对应的候选节点筛选条件以及请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;将候选节点列表发送给请求节点;请求节点对候选节点进行测试,并将测试结果发送给索引服务器,索引服务器根据测试结果对候选节点列表进行更新,并将更新后的候选节点列表发送给请求节点,以使请求节点从更新后的候选节点列表中确定目标节点,并与目标节点进行数据传输。本实施例中通过索引服务器进行候选节点的筛选,不需要网络运营商的参与,并且由请求节点对候选节点进行测试,索引服务器可再根据请求节点的测试结果对候选节点列表进行更新,可提高所筛选的候选节点的准确性和有效性,且测试过程对网络通信影响较小,网络通信代价和操作代价较小,使得请求节点能够基于候选节点列表快速准确的筛选出能够进行直播或点播资源的下载传输的对等节点,实现精准导向,提高分享率,节省更多的带宽和服务器资源。
在上述任一实施例的基础上,如图3所示,所述根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表,包括:
S301、根据所述P2P网络的多个对等节点的节点信息、以及所述请求节点的节点信息,获取每一对等节点的优先级参数。
在本实施例中,索引服务器预先存储有P2P网络中各对等节点的节点信息,包括但不限于节点的地理位置(如地理位置坐标)和运营商信息(如运营商编号信息),在筛选候选节点时,可首先确定请求节点的节点信息,然后再基于请求节点的节点信息、以及P2P网络中其他对等节点的节点信息,根据特定的规则来获取P2P网络中各对等节点相对于请求节点的优先级参数,以便于基于优先级参数来确定候选节点。
在一种可选实施例中,所述节点信息包括地理位置信息和运营商编号信息。本实施例中的地理位置信息可以为节点的地理位置坐标,例如经纬度坐标或者其他坐标系下的坐标;运营商编号信息用于对运营商提供的网络进行标识,例如,作为示例,运营商A的网络a1编号为101,运营商A的网络a2编号为102,运营商B的网络b1编号为201,运营商B的网络b2编号为202,等等。其中运营商编号信息用于确定对等节点与请求节点之间运营商差异性,因此在预先确定运营商编号信息时,可根据运营商网络的相似性给运营商各网络赋予编号,例如网络环境越相似的网络则编号越相近。当然上述的运营商编号信息也可根据其他策略进行确定。
进一步的,对于任一对等节点,可根据地理位置信息获取所述对等节点与所述请求节点之间的距离参数,根据运营商编号信息获取所述对等节点与所述请求节点之间的运营商差异性参数,以所述距离参数与所述运营商差异性参数之和作为所述对等节点的优先级参数;
其中,所述距离参数为所述对等节点与所述请求节点的地理位置各坐标之差的平方和,所述运营商差异性参数为所述对等节点与所述请求节点的运营商编码之差与预设权重乘积的平方。
具体的,对于任一对等节点,根据如下公式获取该对等节点的优先级参数:
(x1-x2)2+(y1-y2)2+((z1–z2)*ISP权重)2
其中,x1、y1为对等节点的地理位置坐标,z1为对等节点的运营商编号;x2、y2为请求节点的地理位置坐标,z2为请求节点的运营商编号,其中若对等节点的运营商为对等节点提供的网络与请求节点的运营商为请求节点提供的网络越相似,则z1与z2越接近;ISP(Internet Service Provider,互联网服务提供商)权重为预设权重。需要说明的是,针对某一请求节点所在地理位置的网络环境,ISP权重为一个预设的固定值,其数值大小可根据实际情况进行设定。
本实施例中,可通过上述公式计算任一对等节点相对于请求节点的优先级参数,其中优先级参数越小,说明该对等节点与请求节点的地理位置越近,和/或运营商网络越相近,优先级越高,作为候选节点的可能性越大。
S302、根据所述每一对等节点的优先级参数对所述每一对等节点进行排序,并从排序结果中筛选出预设数量的对等节点,作为所述候选节点。
在本实施例中,索引服务器可基于上述P2P网络中每一对等节点的优先级参数进行排序,根据排序结果来确定候选节点,具体可选取其中优先级较高的若干个对等节点作为候选节点。
需要说明的是,在一种可选实施例中,对于直播的场景,由于直播的多媒体资源数据存在于P2P网络中的服务器节点(P2P Server)上,因此,索引服务器获取若干个服务器节点,作为候选节点,形成所述候选节点列表。更具体的,P2P网络中的服务器节点可预先根据自己的服务器地理位置以及运营商编号信息建立关系映射表,并根据关系映射表中的地理位置及运营商编号信息生成服务器节点的导向编号,其中导向编号可包括3个维度,分别是运营商维度(一维z轴)、地理位置(市级)坐标(二维x轴、y轴),在服务器节点登陆到索引服务器时,可将导向编号发送给索引服务器,索引服务器在为请求节点获取候选节点列表时,可根据导向编号以及请求节点的节点信息来进行服务器节点的筛选。
具体的,索引服务器可从各运营商中挑选出N个服务器节点,再从N个服务器节点中基于导向编号筛选出与请求节点地理位置相同、且运营商相同的服务器节点作为候选节点;若各运营商中挑选出N个服务器节点中没有与请求节点地理位置相同、且运营商相同的服务器节点,或者与请求节点地理位置相同、且运营商相同的服务器节点数量少于预设数量,则可获取各服务器节点的优先级参数,计算优先级参数的方法同上述实施例,在获取到各服务器节点的优先级参数后,对各服务器节点进行排序,并从排序结果中按照优先级大小选择候选节点。
在上述实施例的基础上,考虑到不同的NAT(NetworkAddressTranslation,网络地址转换)类型的节点之间打通难度和打通率的差异,例如对称型NAT和对称型NAT的对等节点组合、对称型NAT和IP限制型NAT组合打洞难度大且打通率很低,因此本实施例中在筛选候选节点时可以考虑节点的NAT类型。具体的,本实施例中,所述节点信息还可包括NAT类型信息;进一步的,所述从排序结果中筛选出预设数量的对等节点,作为所述候选节点,具体可包括:
根据所述请求节点的NAT类型信息,按照预设规则从所述排序结果中筛选出与所述请求节点的NAT类型信息匹配最佳的NAT类型的对等节点,作为所述候选节点。
在本实施例中,考虑到目前NAT类型分为四种类型:Full Cone NAT(全锥型)、Restricted Cone NAT(限制锥型或IP受限锥型)、Port Restricted Cone NAT(端口受限锥型或IP+PORT受限锥型)、Symmetric NAT(对称型)这四种类型之间以下两种组合不能直接打通:Port Restricted Cone与Symmetric之间不能直接打通,Symmetric与Symmetric之间不能直接打通,而Full Cone、Restricted Cone、公网IP可以跟任何一种NAT类型都能直接打通,也即可以直接互相通讯,因此本实施例中可对对等节点划分为三类:第一NAT类型为Full Cone、Restricted Cone、公网IP,第二NAT类型为PortRestricted Cone,第三NAT类型为Symmetric。
而实际统计发现Symmetric类型的对等节点数量通常占总对等节点数量的30%左右,每个对等节点的负载有限,如果第一类内的对等节点之间进行连接,则会导致第三类的对等节点可连接的对等节点减少。因此,基于上述原因,若在从P2P网络的多个对等节点中筛选候选节点时,仅根据是否能够连通来筛选候选节点,则可能导致资源的利用率低,尤其是某些NAT类型(Port Restricted Cone、Symmetric)的请求节点可用的候选节点可能较少,因此本实施例中,可以按照预设规则从所述排序结果中筛选出与所述请求节点的NAT类型信息匹配最佳的NAT类型的对等节点,作为所述候选节点,具体如下:
若所述请求节点的NAT类型为第一NAT类型,则按照先第三NAT类型、后第二NAT类型的优先级顺序从排序结果中筛选出对等节点,作为所述候选节点;或者
若所述请求节点的NAT类型为第二NAT类型,则按照先第二NAT类型、后第一NAT类型的优先级顺序从排序结果中筛选出对等节点,作为所述候选节点;或者
若所述请求节点的NAT类型为第三NAT类型,则从排序结果中直接筛选第一NAT类型的对等节点,作为所述候选节点。
通过上述的规则,可以保证Port Restricted Cone、Symmetric类型的请求节点有足够的可用的候选节点,从而提高资源的利用率。
在上述任一实施例的基础上,所述候选节点列表获取请求包括所述请求节点所需的目标资源信息,例如请求节点所需要点播或直播的多媒体资源的名称、标识等信息。
进一步的,所述根据所述每一对等节点的优先级参数对所述每一对等节点进行排序后,还包括:
根据所述目标资源信息,判断所述每一对等节点是否存在所述目标资源信息对应的目标资源;根据判断结果,从排序结果中筛除不存在目标资源、或者仅存在部分目标资源的对等节点。
在本实施例中,为了保证请求节点能够下载到完整的目标资源,因此需要索引服务器筛选出来的候选节点中存在目标资源,或者候选节点正在下载或观看目标资源,而对于不存在目标资源或者仅存在部分目标资源的对等节点需要进行筛除,其中对于仅存在部分目标资源的对等节点,可限定其存在的部分目标资源的比例阈值或时长阈值,当该对等节点存在的部分目标资源的比例或时长少于比例阈值或时长阈值时,则进行筛除;需要说明的是,若仅存在部分目标资源的对等节点当前在线且正在观看目标资源,则可不进行筛除。本实施例中,对于判断结果筛除不存在目标资源、或者仅存在部分目标资源的对等节点,可保证请求节点能够从最终得到的候选节点列表中的任意候选节点获取到目标资源,提高所筛选的候选节点的稳定性,避免请求节点与候选节点连接后即失效的情况发生。
需要说明的是,上述各实施例所述的P2P网络节点选择过程可在请求节点首次请求候选节点列表时执行,当然也可在其他任意其他时间或其他情况下来执行。
在一种可选实施例中,索引服务器在将最终的更新后的候选节点列表发送给请求节点后,还可对更新后的候选节点列表进行存储;当再次接收到所述请求节点发送的候选节点列表获取请求时,可根据所述候选节点列表获取请求中包括的目标资源信息,从所存储的候选节点列表中筛选出当前在线且正在观看目标资源的候选节点和/或存在目标资源的候选节点,返回给所述请求节点。
本实施例中,由于索引服务器可以得知P2P网络中任意对等节点上存在哪些资源数据,因此当请求节点再次向索引服务器发送候选节点列表获取请求时,可根据请求节点所需的目标资源信息,从索引服务器所存储的候选节点列表中筛选出当前在线且正在观看目标资源的候选节点和/或存在目标资源的候选节点,作为新的候选节点列表,返回给请求节点,从而可以简化处理过程,不需要重新进行执行S201-S204的过程,提高响应速度。当然本实施例中仍可采用S201-S204的过程重新获取候选节点列表发送给请求节点,尤其是,在从所存储的候选节点列表中筛选出的候选节点数量较少时,可重新采用S201-S204的过程获取候选节点列表发送给请求节点。
可选的,各节点之间还可将各自获取到的候选节点列表相互分享和交换。
可选的,在索引服务器存储候选节点列表时,可针对不同时段将候选节点列表中分享及下载状况稳定性较好的候选节点存储起来,具体可将分享及下载状况稳定性较好的候选节点的UUID(Universally Unique Identifier,通用唯一识别码)存储到分布式数据库中。
在上述实施例的基础上,所述方法还包括:
对于当前在线且正在观看目标资源的候选节点,按照预定规则增加其分享率参数;每间隔预定时间,从所存储的候选节点列表淘汰分享率参数最低的一个或多个候选节点。
在本实施例中,索引服务器在从索引服务器所存储的候选节点中筛选出当前在线且正在观看目标资源的候选节点时,可以对于当前在线且正在观看目标资源的候选节点提高其分享率参数,例如,初始时每一候选节点的分享率参数计数为1,当确定某一候选节点当前在线且正在观看目标资源时,在向请求节点发送该候选节点时,可对分享率参数计数加1。索引服务器可以每间隔预定时间,从候选节点列表淘汰分享率参数最低的一个或多个候选节点,以保证分享率。其中预定时间可根据需求进行设定。基于大数据分析和统计,可实现快速有效的进行候选节点的筛选,提高分享率。
此外,在索引服务器在从索引服务器所存储的候选节点中筛选出当前在线且正在观看目标资源的候选节点时,若所筛选出来的各候选节点的分享率参数较低,低于预设分享率阈值,也可重新采用S201-S204的过程获取候选节点列表发送给请求节点。
图4为本发明实施例提供的P2P网络节点选择方法流程图。本实施例提供了一种P2P网络节点选择方法,其执行主体为请求节点,该P2P网络节点选择方法具体步骤如下:
S401、接收所述索引服务器发送的候选节点列表,所述候选节点列表为所述索引服务器根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息从P2P网络的多个对等节点中筛选出预设数量的候选节点而得到的;
S402、对所述候选节点列表中各候选节点进行测试,并将测试结果发送给所述索引服务器,以使所述索引服务器根据所述测试结果对所述候选节点列表进行更新;
S403、接收所述索引服务器发送的更新后的候选节点列表,并从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
本实施例的P2P网络节点选择方法为请求节点侧的方法实施例,其实现原理和技术效果可参见上述实施例,此处不再赘述。
在上述实施例的基础上,S402所述的对所述候选节点列表中各候选节点进行测试,具体可包括:
对所述候选节点列表中各候选节点进行下载速度的测试。
本实施例中,请求节点可向候选节点列表中各候选节点发送下载请求,基于各候选节点的响应速度和资源传输速度,可实现对下载速度的测试,当然本实施例中并不限定具体的下载速度测试的方法,可以采用其他任意方式进行下载速度测试,此外,对候选节点的测试也可不限于对下载速度的测试。
在上述任一实施例的基础上,S403所述的从所述更新后的候选节点列表中确定目标节点,包括:
向所述更新后的候选节点列表中的各候选节点发送数据下载请求;将各候选节点中最先响应所述下载请求的候选节点作为所述目标节点。
在上述任一实施例的基础上,所述接收所述索引服务器发送的候选节点列表之前,还包括:
向所述索引服务器发送候选节点列表获取请求,以使所述索引服务器根据候选节点列表获取请求,获取请求节点的节点信息,并确定满足请求节点对应的候选节点筛选条件。
在上述任一实施例的基础上,请求节点还可将所述更新后的候选节点列表分享给其他节点;和/或,接收其他节点分享的候选节点列表。
上述各实施例的P2P网络节点选择方法为请求节点侧的方法实施例,其实现原理和技术效果可参见上述实施例,此处不再赘述。
图5为本发明实施例P2P网络节点选择装置的结构图。本实施例提供的P2P网络节点选择装置可以执行索引服务器侧的P2P网络节点选择方法实施例提供的处理流程,应用于索引服务器,如图5所示,所述P2P网络节点选择装置500包括:筛选模块501和通信模块502。
筛选模块,用于根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;
通信模块,用于将所述候选节点列表发送给所述请求节点;接收所述请求节点发送的对所述候选节点的测试结果;
所述筛选模块还用于,根据所述测试结果对所述候选节点列表进行更新;
所述通信模块还用于,将更新后的候选节点列表发送给所述请求节点,以使所述请求节点从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
在上述任一实施例的基础上,所述筛选模块在根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表时,用于:
根据所述P2P网络的多个对等节点的节点信息、以及所述请求节点的节点信息,获取每一对等节点的优先级参数;
根据所述每一对等节点的优先级参数对所述每一对等节点进行排序,并从排序结果中筛选出预设数量的对等节点,作为所述候选节点。
在上述任一实施例的基础上,所述节点信息包括地理位置信息和运营商编号信息;
所述筛选模块在根据所述P2P网络的多个对等节点的节点信息、以及所述请求节点的节点信息,获取每一对等节点的优先级参数时,用于:
对于任一对等节点,根据地理位置信息获取所述对等节点与所述请求节点之间的距离参数,根据运营商编号信息获取所述对等节点与所述请求节点之间的运营商差异性参数,以所述距离参数与所述运营商差异性参数之和作为所述对等节点的优先级参数;
其中,所述距离参数为所述对等节点与所述请求节点的地理位置各坐标之差的平方和,所述运营商差异性参数为所述对等节点与所述请求节点的运营商编码之差与预设权重乘积的平方。
在上述任一实施例的基础上,对于任一对等节点,根据如下公式获取该对等节点的优先级参数:
(x1-x2)2+(y1-y2)2+((z1–z2)*ISP权重)2
其中,x1、y1为对等节点的地理位置坐标,z1为对等节点的运营商编号;x2、y2为请求节点的地理位置坐标,z2为请求节点的运营商编号;ISP权重为预设权重。
在上述任一实施例的基础上,所述节点信息包括NAT类型信息;
所述筛选模块在从排序结果中筛选出预设数量的对等节点,作为所述候选节点时,用于:
根据所述请求节点的NAT类型信息,按照预设规则从所述排序结果中筛选出与所述请求节点的NAT类型信息匹配最佳的NAT类型的对等节点,作为所述候选节点。
在上述任一实施例的基础上,所述筛选模块在按照预设规则从所述排序结果中筛选出与所述请求节点的NAT类型信息匹配最佳的NAT类型的对等节点,作为所述候选节点时,用于:
若所述请求节点的NAT类型为第一NAT类型,则按照先第三NAT类型、后第二NAT类型的优先级顺序从排序结果中筛选出对等节点,作为所述候选节点;或者
若所述请求节点的NAT类型为第二NAT类型,则按照先第二NAT类型、后第一NAT类型的优先级顺序从排序结果中筛选出对等节点,作为所述候选节点;或者
若所述请求节点的NAT类型为第三NAT类型,则从排序结果中直接筛选第一NAT类型的对等节点,作为所述候选节点;
其中,所述第一NAT类型包括Full Cone类型、Restricted Cone类型或公网IP类型,所述第二NAT类型包括Port Restricted Cone类型,所述第三NAT类型包括Symmetric类型。
在上述任一实施例的基础上,所述筛选模块在根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点之前,还用于:
监测是否接收到请求节点发送的候选节点列表获取请求;
若确定接收到请求节点发送的候选节点列表获取请求,则根据候选节点列表获取请求,获取请求节点的节点信息,并确定满足请求节点对应的候选节点筛选条件。
在上述任一实施例的基础上,所述候选节点列表获取请求包括所述请求节点所需的目标资源信息;
所述筛选模块在根据所述每一对等节点的优先级参数对所述每一对等节点进行排序后,还用于:
根据所述目标资源信息,判断所述每一对等节点是否存在所述目标资源信息对应的目标资源;
根据判断结果,从排序结果中筛除不存在目标资源、或者仅存在部分目标资源的对等节点。
在上述任一实施例的基础上,所述筛选模块还用于:
对更新后的候选节点列表进行存储;
当再次接收到所述请求节点发送的候选节点列表获取请求时,根据所述候选节点列表获取请求中包括的目标资源信息,从所存储的候选节点列表中筛选出当前在线且正在观看目标资源的候选节点和/或存在目标资源的候选节点,返回给所述请求节点。
在上述任一实施例的基础上,所述筛选模块还用于:
对于当前在线且正在观看目标资源的候选节点,按照预定规则增加其分享率参数;
每间隔预定时间,从所存储的候选节点列表淘汰分享率参数最低的一个或多个候选节点。
本发明实施例提供的P2P网络节点选择装置可以具体用于执行上述图2-3所提供的方法实施例,具体功能此处不再赘述。
图6为本发明实施例P2P网络节点选择装置的结构图。本实施例提供的P2P网络节点选择装置可以执行请求节点侧的P2P网络节点选择方法实施例提供的处理流程,如图6所示,所述P2P网络节点选择装置600包括:通信模块601、测试模块602及数据传输模块603。
通信模块,用于接收所述索引服务器发送的候选节点列表,所述候选节点列表为所述索引服务器根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息从P2P网络的多个对等节点中筛选出预设数量的候选节点而得到的;
测试模块,用于对所述候选节点列表中各候选节点进行测试;
所述通信模块还用于,将测试结果发送给所述索引服务器,以使所述索引服务器根据所述测试结果对所述候选节点列表进行更新;接收所述索引服务器发送的更新后的候选节点列表;
数据传输模块,用于从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
在上述任一实施例的基础上,所述测试模块在对所述候选节点列表中各候选节点进行测试时,用于:
对所述候选节点列表中各候选节点进行下载速度的测试。
在上述任一实施例的基础上,所述数据传输模块在从所述更新后的候选节点列表中确定目标节点时,用于:
向所述更新后的候选节点列表中的各候选节点发送数据下载请求;
将各候选节点中最先响应所述下载请求的候选节点作为所述目标节点。
在上述任一实施例的基础上,所述通信模块在接收所述索引服务器发送的候选节点列表之前,还用于:
向所述索引服务器发送候选节点列表获取请求,以使所述索引服务器根据候选节点列表获取请求,获取请求节点的节点信息,并确定满足请求节点对应的候选节点筛选条件。
在上述任一实施例的基础上,所述通信模块还用于:
将所述更新后的候选节点列表分享给其他节点;和/或,接收其他节点分享的候选节点列表。
本发明实施例提供的P2P网络节点选择装置可以具体用于执行上述图4所提供的方法实施例,具体功能此处不再赘述。
图7为本发明实施例提供的索引服务器的结构示意图。本发明实施例提供的索引服务器可以执行P2P网络节点选择方法实施例提供的处理流程,如图7所示,索引服务器70包括存储器71、处理器72、计算机程序;其中,计算机程序存储在存储器71中,并被配置为由处理器72执行以上实施例所述的索引服务器侧的P2P网络节点选择方法。此外,索引服务器70还可具有通讯接口73,用于发送和接收控制指令、信号或数据。
图7所示实施例的电子设备可用于执行上述索引服务器侧的P2P网络节点选择方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明实施例提供的请求节点的结构示意图。本发明实施例提供的请求节点可以执行请求节点侧的P2P网络节点选择方法实施例提供的处理流程,如图8所示,请求节点80包括存储器81、处理器82、计算机程序;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行以上实施例所述的请求节点侧的P2P网络节点选择方法。此外,电子设备80还可具有通讯接口83,用于发送和接收控制指令、信号或数据。
图8所示实施例的请求节点可用于执行上述请求节点侧的P2P网络节点选择方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的索引服务器侧的P2P网络节点选择方法。
另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的请求节点侧的P2P网络节点选择方法。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
Claims (20)
1.一种P2P网络节点选择方法,其特征在于,应用于索引服务器,所述方法包括:
根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;
将所述候选节点列表发送给所述请求节点;
接收所述请求节点发送的对所述候选节点的测试结果,根据所述测试结果对所述候选节点列表进行更新;
将更新后的候选节点列表发送给所述请求节点,以使所述请求节点从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表,包括:
根据所述P2P网络的多个对等节点的节点信息、以及所述请求节点的节点信息,获取每一对等节点的优先级参数;
根据所述每一对等节点的优先级参数对所述每一对等节点进行排序,并从排序结果中筛选出预设数量的对等节点,作为所述候选节点。
3.根据权利要求2所述的方法,其特征在于,所述节点信息包括地理位置信息和运营商编号信息;
所述根据所述P2P网络的多个对等节点的节点信息、以及所述请求节点的节点信息,获取每一对等节点的优先级参数,包括:
对于任一对等节点,根据地理位置信息获取所述对等节点与所述请求节点之间的距离参数,根据运营商编号信息获取所述对等节点与所述请求节点之间的运营商差异性参数,以所述距离参数与所述运营商差异性参数之和作为所述对等节点的优先级参数;
其中,所述距离参数为所述对等节点与所述请求节点的地理位置各坐标之差的平方和,所述运营商差异性参数为所述对等节点与所述请求节点的运营商编码之差与预设权重乘积的平方。
4.根据权利要求2所述的方法,其特征在于,所述节点信息包括NAT类型信息;
所述从排序结果中筛选出预设数量的对等节点,作为所述候选节点,包括:
根据所述请求节点的NAT类型信息,按照预设规则从所述排序结果中筛选出与所述请求节点的NAT类型信息匹配最佳的NAT类型的对等节点,作为所述候选节点。
5.根据权利要求4所述的方法,其特征在于,所述按照预设规则从所述排序结果中筛选出与所述请求节点的NAT类型信息匹配最佳的NAT类型的对等节点,作为所述候选节点,包括:
若所述请求节点的NAT类型为第一NAT类型,则按照先第三NAT类型、后第二NAT类型的优先级顺序从排序结果中筛选出对等节点,作为所述候选节点;或者
若所述请求节点的NAT类型为第二NAT类型,则按照先第二NAT类型、后第一NAT类型的优先级顺序从排序结果中筛选出对等节点,作为所述候选节点;或者
若所述请求节点的NAT类型为第三NAT类型,则从排序结果中直接筛选第一NAT类型的对等节点,作为所述候选节点;
其中,所述第一NAT类型包括Full Cone类型、Restricted Cone类型或公网IP类型,所述第二NAT类型包括Port Restricted Cone类型,所述第三NAT类型包括Symmetric类型。
6.根据权利要求2所述的方法,其特征在于,所述根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点之前,还包括:
监测是否接收到请求节点发送的候选节点列表获取请求;
若确定接收到请求节点发送的候选节点列表获取请求,则根据候选节点列表获取请求,获取请求节点的节点信息,并确定满足请求节点对应的候选节点筛选条件。
7.根据权利要求6所述的方法,其特征在于,所述候选节点列表获取请求包括所述请求节点所需的目标资源信息;
所述根据所述每一对等节点的优先级参数对所述每一对等节点进行排序后,还包括:
根据所述目标资源信息,判断所述每一对等节点是否存在所述目标资源信息对应的目标资源;
根据判断结果,从排序结果中筛除不存在目标资源、或者仅存在部分目标资源的对等节点。
8.根据权利要求7所述的方法,其特征在于,还包括:
对更新后的候选节点列表进行存储;
当再次接收到所述请求节点发送的候选节点列表获取请求时,根据所述候选节点列表获取请求中包括的目标资源信息,从所存储的候选节点列表中筛选出当前在线且正在观看目标资源的候选节点和/或存在目标资源的候选节点,返回给所述请求节点。
9.根据权利要求8所述的方法,其特征在于,还包括:
对于当前在线且正在观看目标资源的候选节点,按照预定规则增加其分享率参数;
每间隔预定时间,从所存储的候选节点列表淘汰分享率参数最低的一个或多个候选节点。
10.一种P2P网络节点选择方法,其特征在于,应用于请求节点,所述方法包括:
接收所述索引服务器发送的候选节点列表,所述候选节点列表为所述索引服务器根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息从P2P网络的多个对等节点中筛选出预设数量的候选节点而得到的;
对所述候选节点列表中各候选节点进行测试,并将测试结果发送给所述索引服务器,以使所述索引服务器根据所述测试结果对所述候选节点列表进行更新;
接收所述索引服务器发送的更新后的候选节点列表,并从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
11.根据权利要求10所述的方法,其特征在于,所述对所述候选节点列表中各候选节点进行测试,包括:
对所述候选节点列表中各候选节点进行下载速度的测试。
12.根据权利要求10或11所述的方法,其特征在于,所述从所述更新后的候选节点列表中确定目标节点,包括:
向所述更新后的候选节点列表中的各候选节点发送数据下载请求;
将各候选节点中最先响应所述下载请求的候选节点作为所述目标节点。
13.根据权利要求10所述的方法,其特征在于,所述接收所述索引服务器发送的候选节点列表之前,还包括:
向所述索引服务器发送候选节点列表获取请求,以使所述索引服务器根据候选节点列表获取请求,获取请求节点的节点信息,并确定满足请求节点对应的候选节点筛选条件。
14.根据权利要求10所述的方法,其特征在于,还包括:
将所述更新后的候选节点列表分享给其他节点;和/或
接收其他节点分享的候选节点列表。
15.一种P2P网络节点选择装置,其特征在于,应用于索引服务器,所述装置包括:
筛选模块,用于根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息,从P2P网络的多个对等节点中筛选出预设数量的候选节点,得到候选节点列表;
通信模块,用于将所述候选节点列表发送给所述请求节点;接收所述请求节点发送的对所述候选节点的测试结果;
所述筛选模块还用于,根据所述测试结果对所述候选节点列表进行更新;
所述通信模块还用于,将更新后的候选节点列表发送给所述请求节点,以使所述请求节点从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
16.一种P2P网络节点选择装置,其特征在于,应用于请求节点,所述装置包括:
通信模块,用于接收所述索引服务器发送的候选节点列表,所述候选节点列表为所述索引服务器根据请求节点对应的候选节点筛选条件以及所述请求节点的节点信息从P2P网络的多个对等节点中筛选出预设数量的候选节点而得到的;
测试模块,用于对所述候选节点列表中各候选节点进行测试;
所述通信模块还用于,将测试结果发送给所述索引服务器,以使所述索引服务器根据所述测试结果对所述候选节点列表进行更新;接收所述索引服务器发送的更新后的候选节点列表;
数据传输模块,用于从所述更新后的候选节点列表中确定目标节点,并与所述目标节点进行数据传输。
17.一种索引服务器,其特征在于,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-9任一项所述的方法。
18.一种请求节点,其特征在于,包括:至少一个处理器;以及存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求10-14任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求10-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011044865.XA CN113765970A (zh) | 2020-09-28 | 2020-09-28 | P2p网络节点选择方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011044865.XA CN113765970A (zh) | 2020-09-28 | 2020-09-28 | P2p网络节点选择方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113765970A true CN113765970A (zh) | 2021-12-07 |
Family
ID=78785818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011044865.XA Pending CN113765970A (zh) | 2020-09-28 | 2020-09-28 | P2p网络节点选择方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113765970A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827649A (zh) * | 2022-04-22 | 2022-07-29 | 上海哔哩哔哩科技有限公司 | 构建直播对等网路的方法及装置、电子设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846430A (zh) * | 2016-09-19 | 2018-03-27 | 北京优朋普乐科技有限公司 | P2p网络的节点筛选方法和装置、登录服务器 |
-
2020
- 2020-09-28 CN CN202011044865.XA patent/CN113765970A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846430A (zh) * | 2016-09-19 | 2018-03-27 | 北京优朋普乐科技有限公司 | P2p网络的节点筛选方法和装置、登录服务器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827649A (zh) * | 2022-04-22 | 2022-07-29 | 上海哔哩哔哩科技有限公司 | 构建直播对等网路的方法及装置、电子设备和存储介质 |
CN114827649B (zh) * | 2022-04-22 | 2024-02-23 | 上海哔哩哔哩科技有限公司 | 构建直播对等网络的方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107517228B (zh) | 一种内容分发网络中的动态加速方法及装置 | |
Li et al. | Latency estimation for fog-based internet of things | |
EP2701363A1 (en) | Content processing method, device and system | |
US20140280803A1 (en) | Optimized Content Distribution Based on Metrics Derived from the End User | |
US9385925B1 (en) | Anycast route detection | |
CN107948677B (zh) | 一种调度方法、服务器及第一对等节点 | |
CN101345628B (zh) | 源节点选择方法 | |
Gregori et al. | Sensing the Internet through crowdsourcing | |
CN112543212B (zh) | 一种为分布式服务提供请求响应确切通信时延保障的系统 | |
Frank et al. | Collaboration opportunities for content delivery and network infrastructures | |
CN105391974A (zh) | 跨网络的数据的对等供应 | |
CN108600051A (zh) | BGP Anycast集群服务质量探测方法和探测设备 | |
Rawadi et al. | Providing local cloud services to mobile devices with inter-cloudlet communication | |
CN111556135A (zh) | 一种请求调度方法、系统、装置及电子设备 | |
Simoens et al. | Service-centric networking for distributed heterogeneous clouds | |
JP2010533328A (ja) | 他のペアの近傍にあるペアグループを決定する方法、関連するサーバ及び解析装置 | |
CA2980953A1 (en) | Monitoring a peer-to-peer network | |
CN113765970A (zh) | P2p网络节点选择方法、装置、设备及存储介质 | |
US11218567B2 (en) | Server recommendations for broadcasted services | |
US20220182444A1 (en) | Peer-managed content distribution network | |
CN111600929A (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
Su et al. | Relative network positioning via CDN redirections | |
CN102986196B (zh) | 分布于通信结构上的节点利用具有多准则选择的拓扑服务器访问网络 | |
JPWO2012029248A1 (ja) | データ転送システム | |
Griffin et al. | On the feasibility of using current data centre infrastructure for latency-sensitive applications |
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 |