一种p2p网络节点筛选方法
【专利摘要】一种P2P网络节点筛选方法,包括:通过Tracker服务器端的IP地址映射库,对已有节点进行快速粗粒度的划分,使划分出来的节点具有相同的位置信息,并根据请求节点的位置信息选择拥有所请求媒体资源的最终节点列表;对最终节点列表中返回的节点进行改进的时延测量的节点筛选,请求节点对节点列表中的节点进行耐压测试,并增加下载数据块数量,以迅速获得初步满足需要的节点,并从中选择最合适的节点作为邻居节点。本发明具有组网简单,不需要运营商参与,组建和维护成本低,减少网间流量,减少运营商接口间流量,避免骨干网数据拥塞,能够快速的筛选出需要的邻居节点,且筛选出的节点响应快,带宽高的优点。
【专利说明】一种P2P网络节点筛选方法
【技术领域】
[0001]本申请涉及一种互联网节点连接方法,尤其是,涉及一种对P2P2网络节点进行筛选的方法。
【背景技术】
[0002]目前,随着互联网的发展和普及,P2P技术已经成为被广泛关注的技术。P2P网络是一种覆盖网络,覆盖网络是指建立在另一个网络上的网络,简单说来就是在现有的因特网上构建一个完全位于应用层的网络系统,它是面向应用层的,不考虑或很少考虑网络层、
物理层的信息。
[0003]P2P网络中一个重要的概念是邻居节点,即与当前节点有应用层连接的节点,在拓扑上是互相连接的。如果当前节点和某个邻居节点有数据交换,则此二者之间连接的质量就会变得非常重要,因为这将直接关系到用户体验。但是另一方面,在当前的覆盖网络中,几乎不能确保这种应用层连接与底层的网络层拓扑的一致性,这将导致以下几方面的问题:
I)较低的数据传输速度。在进行数据交换的时候,节点间的距离往往会成为影响传输速度的一个因素。与远端节点进行数据交换,由于路由路径的加长、各种排队时延的增加等因素均会导致其速度将远小于和近距离节点的数据交换速度,这将直接影响用户的应用体验,特别是P2P流媒体等实时应用。
[0004]2)网络拥塞,降低网络的健壮性。大面积的长距离的节点之间的数据交换,会导致网络流量特别是骨干网流量的大幅增加,也进一步造成节点间的数据传输延时较大,影响用户的使用效果,从而用户希望建立更多的连接以提高数据传输速度,导致更严重的网络拥塞,使网络陷入恶性循环中。
[0005]3)不必要的跨运营商间流量。当前P2P网络的实现忽略了运营商(ISP)链接的代价,从而使得P2P系统大大增加了跨运营商的流量,增加了运营商的经营成本。
[0006]在P2P网络中加入节点筛选策略可以有效解决以上问题。在P2P网络中引入节点筛选策略或者节点筛选方法,将达到P2P业务提供商、用户、网络运营商三方多赢的效果:一方面可以提高P2P应用的服务质量,提高用户体验,另一方面也就提高了 P2P业务提供商的用户量,为其实现盈利打下基础,同时还可以减少运营商间的流量,降低运营商运营成本。
[0007]现有技术中成熟的节点筛选策略有以下几种:
a.运营商参与的流量本地化
节点筛选策略的目的是实现流量本地化,也就是节点间的数据交换尽量在本自治域(Autonomous System, AS)内,尽量减少跨自治域的数据流量和跨运营商网络的数据流量。实现这一目的的最好方法就是网络运营商的参与,网络运营商在自己的网络边缘部署一些代理服务器,这些服务器可以将一些数据请求转发到本自治域内的一些具有相应资源的节点,从而实现将流量控制在本自治域内。[0008]这种方式固然是最好的方式,但是需要运营商的协助,并且部署代价和维护代价都很大。
[0009]b.基于时延测量的节点筛选策略
基于时延测量的节点筛选策略,其基本原理就是测量两个节点之间的往返时延(round-trip time,RTT),将其作为二者网络距离的唯一度量。通过RTT的值来选取具有相应资源的节点。
[0010]该方法在节点规模较大时,为了判断出两个节点之间的网络距离而进行两两通信,势必会造成较大的网络通信代价。且时效性也比较差。
[0011]C.基于IP匹配的节点筛选策略
由于网络前缀(network prefix)和子网的划分是有关系的,所以从节点的网络前缀可以大致推算出节点主机的子网关系,这样可以通过网络前缀匹配来进行节点筛选。这种方法还可以分为简单匹配和分层匹配,简单匹配是指选用固定的位数作为网络前缀的位数来进行匹配选择,而分层匹配是分别采用几个不同的位数来进行匹配,比如先用24位,然后用16位、14位等。
[0012]这种方法最大的问题就是准确性,由于自治域常常不使用连续的地址空间,使得基于前缀匹配方法的有效性大大降低。
[0013]d.基于路由表信息的节点筛选策略
这种方法通过分析位于核心网路由器的路由表来建立网络的拓扑信息,其依据是路由表项里的网络前缀和子网掩码能够标识出路由路径,通过将这些表项进行分簇大致可以归纳出自治域的分布。以此为依据选取具有相应资源的节点。
[0014]这种方法需要获取大量路由器的路由表,操作代价太高,并且一旦网络拓扑发生变化更新拓扑图的代价也很高。
[0015]但现有的网络节点筛选方法存在一定的问题,亟需一种不需要运营商参与,所需代价不高,通过技术手段,能够快速有效地找到邻居节点,且不会大范围影响网络通信的节点筛选方法。
【发明内容】
[0016]本发明的目的在于提出一种P2P网络节点筛选方法,使得能够容易地组建网络,减少流量,并快速的筛选出响应快,带宽高的网络节点。
[0017]为达此目的,本发明采用以下技术方案:
一种P2P网络节点筛选方法,包括如下步骤:
S100,通过Tracker服务器端的IP地址映射库,对已有节点进行快速粗粒度的划分,使划分出来的节点具有相同的位置信息,并根据请求节点的位置信息选择拥有所请求媒体资源的最终节点列表;
S110,对最终节点列表中返回的节点进行改进的时延测量的节点筛选,所述请求节点对所述节点列表中的节点进行耐压测试,增加下载数据块数量,根据预设的时间,迅速获得所述请求节点所能容纳量级的初步满足要求的节点,并从中选择最合适的节点作为邻居节点。
[0018]其中步骤SllO包括: SlOl,对所述Tracker服务器内的原始IP地址库进行处理,提取IP地址库中的位置信息,形成IP映射表;
S102,所述请求节点向所述Tracker服务器发出请求信息,通过所请求的媒体资源ID,获取节点列表;
S103,所述Tracker服务器通过所请求的媒体资源ID,搜索所有拥有相同媒体资源ID的节点,形成中间节点列表;
S104,所述Tracker服务器通过所述请求节点的IP地址查询IP映射表,获取到请求节点IP的位置信息;
S105,所述Tracker服务器通过请求节点的位置信息,和中间节点列表,筛选拥有所请求媒体资源ID的最终节点列表。
[0019]优选地,所述位置信息包括地域信息和运营商信息。
[0020]优选地,在所述IP映射表中,所述地域信息和运营商信息映射为城市地域代码和运营商代码,并剔除原始IP地址库里的无用信息。
[0021]所述最终节点列表中的节点与所述请求节点具有相同的城市地域代码和运营商代码。
[0022]或者,最终节点列表中的节点与所述请求节点具有相同的运营商代码和,相同或者相近的城市地域代码。
[0023]步骤SllO包括如下步骤:
5111:所述请求节点对所述最终节点列表中的节点进行耐压测试,向这些节点发起请求和数据块下载,并预设时间tl进行等待;
5112:如果在时间tl内多个节点都具备100%数据返回,则增加下载的数据块数量,直至在时间tl内节点最多只有80%数据返回,并选取出返回数据量最多的少数的节点;
S113:根据所述少数的节点所返回的数据,检查数据的完整性和错误率,从中选取所述少数的节点中选取最合适的节点作为邻居节点,建立连接进行媒体资源的数据交换。
[0024]优选地,所述11为20ms。
[0025]优选地,对于步骤SI 13,在选取邻居节点的同时,还选取3-5个备用邻居节点。
[0026]本发明还公开了一种P2P网络,其特征在于,采用权利要求1-8中任意一项所述的P2P网络节点筛选方法进行网络节点的筛选。
[0027]对比现有技术,本发明的P2P网络节点筛选方法具有如下优点:
1.环境组建简单易行,不需要运营商参与,组建和维护成本低。
[0028]2.减少网间流量,减少运营商接口间流量,避免骨干网数据拥塞。
[0029]3.能够快速的筛选出需要的邻居节点,且筛选出的节点不但响应快,带宽也高。
【专利附图】
【附图说明】
[0030]图1是根据本发明的P2P网络节点筛选方法的流程图;
图2是根据本发明的IP映射表;
图3是根据本发明的获取节点列表的流程图;
图4是根据本发明的时延测量的节点筛选的示意图。
[0031]图中的附图标记所分别指代的技术特征为: 10、请求节点;11、Tracker服务器;12、IP映射表;13、资源索引库。
【具体实施方式】
[0032]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0033]参见图1-4,示出了根据本发明的具体实施例的示意图。
[0034]本发明的P2P网络节点筛选方法包括两个主要步骤:
S100,通过服务器端的IP地址映射库,对已有节点进行快速粗粒度的划分,使划分出来的节点具有相同的位置信息,并根据请求节点的位置信息选择拥有所请求媒体资源的最终节点列表。
[0035]这样,可以避免所请求到的节点与新加入的请求节点距离过远造成的数据延时缓慢,同时减少了运营商接口之间的网络流量,减少了网间数据的交换造成的数据拥塞。
[0036]S110,对最终节点列表中返回的节点进行改进的时延测量的节点筛选,所述请求节点对所述节点列表中的节点进行耐压测试,增加下载数据块数量,根据预设的时间,迅速获得所述请求节点所能容纳量级的初步满足要求的节点,并从中选择最合适的节点作为邻居节点。这样,节点筛选就不仅仅关注节点间的响应速度,还更加关注下载速度。选择的节点不但响应快,带宽也高。
[0037]对于S100,其基本思路是使用IP映射表12。由于IP地址库包含了 IP地址段的位置信息,具体的来说,包括所述位置信息包括地域信息和运营商信息,地域信息可以用来估算网络距离,而运营商信息本身就是一种网络拓扑信息,可以作为参考进行节点选择,尽量减少运营商之间的网络流量。
[0038]虽然IP映射表12本身可能存在不够准确和过期的问题,但是通过节点自动上报更新维护等技术手段,可以尽可能的减少其中的误差。且这种方法实现的简单性,从性价比和可行性的角度考虑,进行粗粒度的节点划分是完全没有问题的。
[0039]因此,参见图2-3,SlOO包括如下步骤:
S101,对原始IP地址库进行处理,提取IP地址库中的位置信息,所述位置信息包括地域信息和运营商信息,形成IP映射表。IP映射表放在Tracker服务器上11。
[0040]优选地,在所述IP映射表中,所述地域信息和运营商信息映射为城市地域代码和运营商代码,并剔除原始IP地址库里的无用信息。例如,可参见图2。
[0041]S102,请求节点10向Tracker服务器11发出请求信息,通过所请求的媒体资源ID,获取节点列表;
S103,Tracker服务器11通过所请求的媒体资源ID,搜索所有拥有相同媒体资源ID的节点,形成中间节点列表P LI。
[0042]在一个示范性的实施例中,在Tracker服务器中具有资源索引库13,所述资源索引库13保存有所有的节点以及节点所拥有的媒体资源信息,Tracker服务器11是在资源索引库13搜索所有拥有此媒体资源的节点,形成中间节点列表PU。
[0043]S104, Tracker服务器11通过请求节点10的外部IP地址查询IP映射表12,获取到请求节点IP的位置信息,例如城市地域代码和运营商代码。[0044]S105,通过请求节点的位置信息,和中间节点列表PL1,筛选拥有所请求媒体资源的最终节点列表PL2。
[0045]例如,最终节点列表PL2中的节点与请求节点具有相同的城市地域代码和运营商代码。或者最终节点列表PL2中的节点与请求节点具有相同的运营商代码和相同或者相近的城市地域代码,即两个城市地域邻近。
[0046]对于S110,相比于传统的时延测量方法只是测量节点之间的响应时间,通过响应时间的不同,判断节点之间的距离远近。本发明主要改进点在于节点间的查询和建立连接的策略的变化。对于以视频流媒体为基础的P2P网络,响应速度快只是一方面,而带宽流量才是保证质量的标准。因此,本发明的方案中,在与其他节点进行请求建立连接的时候,不是单纯的连接请求,还包含了数据块下载的请求,通过增加下载的数据块的数量,能够迅速从众多满足相同或相近地域的节点中筛选出传输速度最快,正确率高的少量节点出来,这里所指的少量节点指的是节点的数量和请求节点所能容纳的邻居节点,以及备份的邻居节点的数量处于一个量级的。通过对下载速度,丢包率等指标的测算,找到最合适的节点作为邻居节点,进行数据交换。
[0047]具体而言,参见图4,步骤SllO包括如下步骤:
5111:所述请求节点对所述最终节点列表中的节点进行耐压测试,向这些节点发起请求和数据块下载,并预设时间tl进行等待;
5112:如果在时间tl内多个节点都具备100%数据返回,则增加下载的数据块数量,直至在时间tl内节点最多只有80%数据返回,并选取出返回数据量最多的少数的节点;
S113:根据所述少数的节点所返回的数据,检查数据的完整性和错误率,从中选取所述少数的节点中选取最合适的节点作为邻居节点,建立连接进行媒体资源的数据交换。
[0048]当然,在S112中,应当使得所述少数的节点的量级与所述请求节点所能容纳的邻居节点的量级相同,例如,选取10个节点。
[0049]优选地,所述预设时间tl为20ms,以用来测算响应时间和传输带宽。
[0050]同时,优选地,对于步骤S113,在选取邻居节点的同时,还选取3-5个备用邻居节点。当然本领域技术人员可以知道,备选节点的数目也可以变化,为2个或者比5个更多。以使得在网络不稳定的时候,请求节点能够从备用邻居节点中获得数据。
[0051]例如,在图4中,请求节点对所有的节点1-6进行耐压测试,并不断增加数据块的数量,从第一次测试中测算响应时间和带宽筛选出少数的节点2、3、5,然后可以根据所述少数的节点所返回的数据,检查数据的完整性和错误率,从所述少数的节点中选取最合适的节点2作为邻居节点,以节点3,5作为备选节点。
[0052]作为变形实施例,当然,也可以对于从所筛选出来的少数的节点2,3,5再次进行节点测试,进一步增加数据块的数量,然后,测算响应时间和带宽,从中选取最合适的节点2作为邻居节点,以节点3,5作为备选节点。
[0053]因此,本方面从节点的快速粗粒度划分,以及改进时延测量的节点筛选策略两方面进行改进。使得本发明的网络节点筛选方法具有如下优点:
1.环境组建简单易行,不需要运营商参与,组建和维护成本低。
[0054]2.减少网间流量,减少运营商接口间流量,避免骨干网数据拥塞。
[0055]3.能够快速的筛选出需要的邻居节点,且筛选出的节点不但响应快,带宽也高。[0056]本发明还公开了一种P2P网络,其使用如上所公开的网络节点节选方法进行工作。
[0057]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的【具体实施方式】仅限于此,对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定保护范围。
【权利要求】
1.一种P2P网络节点筛选方法,包括如下步骤: S100,通过Tracker服务器端的IP地址映射库,对已有节点进行快速粗粒度的划分,使划分出来的节点具有相同的位置信息,并根据请求节点的位置信息选择拥有所请求媒体资源的最终节点列表; S110,对最终节点列表中返回的节点进行改进的时延测量的节点筛选,所述请求节点对所述节点列表中的节点进行耐压测试,增加下载数据块数量,根据预设的时间,迅速获得所述请求节点所能容纳量级的初步满足要求的节点,并从中选择最合适的节点作为邻居节点。
2.根据权利要求1所述的P2P网络节点筛选方法,其特征在于: 其中步骤SllO包括: SlOl,对所述Tracker服务器内的原始IP地址库进行处理,提取IP地址库中的位置信息,形成IP映射表; S102,所述请求节点向所述Tracker服务器发出请求信息,通过所请求的媒体资源ID,获取节点列表; S103,所述Tracker服务器通过所请求的媒体资源ID,搜索所有拥有相同媒体资源ID的节点,形成中间节点列表; S104,所述Tracker服务器通过所述请求节点的IP地址查询IP映射表,获取到请求节点IP的位置信息; S105,所述Tracker服务器通过请求节点的位置信息,和中间节点列表,筛选拥有所请求媒体资源ID的最终节点列表。
3.根据权利要求2所述的P2P网络节点筛选方法,其特征在于: 所述位置信息包括地域信息和运营商信息。
4.根据权利要求3所述的P2P网络节点筛选方法,其特征在于: 在所述IP映射表中,所述地域信息和运营商信息映射为城市地域代码和运营商代码,并剔除原始IP地址库里的无用信息。
5.根据权利要求4所述的P2P网络节点筛选方法,其特征在于: 所述最终节点列表中的节点与所述请求节点具有相同的城市地域代码和运营商代码; 或者,最终节点列表中的节点与所述请求节点具有相同的运营商代码和,相同或者相近的城市地域代码。
6.根据权利要求1-5中任意一项所述的P2P网络节点筛选方法,其特征在于: 步骤SllO包括如下步骤: 5111:所述请求节点对所述最终节点列表中的节点进行耐压测试,向这些节点发起请求和数据块下载,并预设时间tl进行等待; 5112:如果在时间tl内多个节点都具备100%数据返回,则增加下载的数据块数量,直至在时间tl内节点最多只有80%数据返回,并选取出返回数据量最多的少数的节点; S113:根据所述少数的节点所返回的数据,检查数据的完整性和错误率,从中选取所述少数的节点中选取最合适的节点作为邻居节点,建立连接进行媒体资源的数据交换。
7.根据权利要求6所述的P2P网络节点筛选方法,其特征在于:所述tl为20ms。
8.根据权利要求6所述的P2P网络节点筛选方法,其特征在于: 对于步骤SI 13,在选取邻居节点的同时,还选取3-5个备用邻居节点。
9.一种P2P网络,其特征在于,采用权利要求1-8中任意一项所述的P2P网络节点筛选方法进行网络节点的筛选。
【文档编号】H04L29/08GK103973596SQ201310615897
【公开日】2014年8月6日 申请日期:2013年11月28日 优先权日:2013年11月28日
【发明者】黄治国, 张士波, 杨敬宇, 阙宏宇, 姚键, 潘柏宇, 卢述奇 申请人:合一网络技术(北京)有限公司