CN105072159A - 一种p2p组网中的节点管理列表结构及其管理方法 - Google Patents
一种p2p组网中的节点管理列表结构及其管理方法 Download PDFInfo
- Publication number
- CN105072159A CN105072159A CN201510419729.7A CN201510419729A CN105072159A CN 105072159 A CN105072159 A CN 105072159A CN 201510419729 A CN201510419729 A CN 201510419729A CN 105072159 A CN105072159 A CN 105072159A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- grade
- layer
- nodes
- 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.)
- Granted
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
Abstract
本发明提出一种P2P组网中的节点管理列表结构及其管理方法,所述节点管理列表具有多层属性,所述多层属性依次包括运营商信息、省信息、市信息、等级信息和节点信息;运营商信息包括节点所属的运营商标识,省信息和市信息分别包括节点所属的省市标识,等级信息包括节点所属的等级标识,节点信息包括节点标识;其中,所述等级信息包括多层等级,根据新增节点的上传能力将节点加入不同的等级,多层等级的数量为预先设定。本发明能够对节点按照不同属性进行有效的分类管理,在进行伙伴节点匹配时能够迅速找到最佳节点,保证节点数据传输速度,避免了大面积长距离数据传输和跨运营商间流量的问题,降低了运营成本的同时提高了用户体验。
Description
技术领域
本发明涉及互联网通讯中的点对点(PeertoPeer,简称P2P)技术,且特别涉及一种P2P组网中的节点管理列表结构及其管理方法。
背景技术
随着互联网的发展,利用网络进行流媒体直播或点播逐渐成为一种趋势,慢慢融入到人们的日常生活中,在工作、学习以及娱乐等各个方面形成热点,无论是视频会议、在线教育还是网络电视、视频网站都应用的越来越广泛。流媒体(StreamMedia)是指采用流式传输的方式在Internet/Intranet播放的媒体格式,如音频、视频或多媒体文件。流媒体在播放前不需要下载整个文件,只将开始部分内容存入内存,在计算机中对数据包进行缓存并使流媒体数据正确地输出,可以边下载边观看。其原理是把向用户传输的多媒体文件按照播出时间顺序分为不同的片段,然后依次把这些片段发给用户,连续播放这些片段就形成了连续的声音和图像。
流式传输主要指将整个音频和视频及三维媒体等多媒体文件经过特定的压缩方式解析成一个个压缩包,由视频服务器向用户计算机顺序或实时传送。在采用流式传输方式的系统中,用户不必像采用下载方式那样等到整个文件全部下载完毕,而是只需经过几秒或者几十秒的启动延时即可在用户的计算机上利用解压设备对压缩的多媒体文件解压后进行播放和观看。此时多媒体文件的剩余部分将在后台的服务器内继续下载。与单纯的下载方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动时间大幅度地缩短,而且对系统缓存容量的需求也大大降低,极大地减少用户用在等待的时间。目前,流媒体技术已经广泛应用在互联网领域中。
传统的网络流媒体播放系统一般基于C/S模式,但是由于流媒体播放需要消耗大量的网络带宽和服务器资源,因此这种模式严重限制了网络流媒体业务的发展。以一个占用带宽为300kbps的网络视频流为例,当有1000个用户同时观看时,需要的带宽是300Mbps。这样的性能要求对于大多数服务器来说是满足不了的。如果要支持几万甚至几十万的用户,采用这种C/S模式几乎是不可能的。当然,增加服务器数量和提高带宽是一种解决方法,但是这种方式需要巨大的成本开支,所以需要新的技术手段来解决这个问题。
IP组播是解决网络流媒体多路传输消耗大量带宽的一种技术。利用组播可以将一份数据同时发送给一组特定的用户,从而避免了数据的重复发送,不会造成网络带宽的浪费,非常适合网络流媒体传输。但是IP组播也具有自身的问题,因为Internet是个异构网络,硬件平台千差万别,互联设备在对组播的支持上也存在差异,因此IP组播在实际应用中存在部署的困难。
P2P是对等连接peertopeer模式的简称。点对点对等网络是最近几年新兴的网络技术,相对于传统的C/S模式,P2P模式一个非常显著的特点就是节点无需依赖集中式服务器资源,各节点可以直接进行通信。每个节点具有相同的地位,既可以请求服务,也可以提供服务,同时扮演着C/S模式中服务器和客户机的双重角色,甚至还可以具有路由器和高速缓存的功能。在P2P模式下,由于每个节点都具有客户机和服务器的功能,这样每个节点在从别的节点接收数据流的同时还向其他节点发送数据流。利用这个特点,P2P网络技术可以应用现有的计算资源和有限网络带宽来实现大规模网络流媒体直播或点播以及进行文件传输。
P2P技术是一种用于不同终端用户之间、不经过中继设备直接交换数据或服务的技术。它打破了传统的Client/Server模式,在对等网络中,每个节点的地位都是相同的,具备客户端和服务器双重特性,可以同时作为服务使用者和服务提供者。P2P的核心是利用用户资源,通过对等方式进行文件传输,这完全不同于传统的客户服务器计算模型。P2P通过“非中心化”的设计和多点传输机制,实现了不依赖服务器而快速的交换文件。
依照P2P网络节点信息存储与搜索方式的不同,诸多P2P协议可以分为两大类:结构化(Structured)的系统与非结构化(Unstructured)的系统。在结构化P2P系统中,每个节点只存储特定的信息或特点信息的索引。当用户需要在P2P系统中获取信息时,他们必须知道这些信息(或索引)可能存在于哪些节点中。由于用户预先知道应该搜索哪些节点,避免了非结构化P2P系统中使用的泛洪式查找,因此提高了信息搜索的效率。
结构化P2P的核心技术是分布式哈希表(DistributedHashTable,DHT)结构,其主要特点是通过将数据资源的特征(关键字)经过哈希运算,得到键值(HashKey),数据资源的分布存储依据键值来进行。标准的DHT结构视整个网络标识(Identity,ID)空间为平面空间,因此数据资源以均匀概率密度随机哈希到整个空间中的某一点。
DHT类结构能够自适应节点的动态加入/退出,有着良好的可扩展性、鲁棒性、节点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的节点存在于网络中,DHT总能发现它,发现的准确性得到了保证。但是DHT网络拓扑结构的缺点在于:额外开销比较大,随P2P网络规模的扩大,网络开销呈指数级增长。搜索请求遍历整个P2P网络要经过很多跳,完整的搜索结果延时比较大,存在着路由表容量不够和路由延时等方面的问题。总的来说,DHT结构的最大问题是DHT的维护机制较为复杂,尤其是节点频繁加入退出造成的网络波动(Churn)会极大增加DHT的维护代价。
采用DHT算法的P2P节点选择方法并未考虑下载节点间的流量和带宽差异,因而选择到的节点也并非最优下载节点。如果当前节点和某个邻居节点有数据交换,则此两者之间连接的质量就会变得非常重要,因为这将直接关系到用户体验,然而由于各个节点情况不同,通常会出现以下几个方面的问题:
1.较低的数据传输速度。在进行数据交换的时候,节点之间的距离往往会成为影响传输速度的一个因素。与远端节点进行数据交换,由于路由路径的加长、各种排队时延的增加等因素均会导致其速度将远小于和近距离节点的数据交换速度,这将直接影响用户的应用体验,特别是P2P流媒体等实时应用。
2.网络拥塞,降低网络的健壮性。大面积的长距离的节点之间的数据交换,会导致网络流量特别是骨干网流量的大幅增加,也进一步造成节点间的数据传输延时较大,影响用户的使用效果,从而用户希望建立更多的连接以提高数据传输速度,导致更严重的网络拥塞,使网络陷入恶性循环中。
3.不必要的跨运营商间流量。同一运营商(ISP)的互联网节点相互之间的连接延迟较低,带宽较高,而跨ISP连接的质量较低,也可能带来高额的ISP网间结算费用。当前P2P网络的实现忽略了运营商连接的代价,从而使得P2P系统大大增加了跨运营商的流量,增加了运营商的运营成本。
发明内容
本发明提出一种P2P组网中的节点管理列表结构及其管理方法,能够对节点按照不同属性进行有效的分类管理,在进行伙伴节点匹配时能够迅速找到最佳节点,保证节点数据传输速度,避免了大面积长距离数据传输和跨运营商间流量的问题,降低了运营成本的同时提高了用户体验。
为了达到上述目的,本发明提出一种P2P组网中的节点管理列表结构,所述节点管理列表具有多层属性,所述多层属性依次包括运营商信息、省信息、市信息、等级信息和节点信息;
所述运营商信息包括节点所属的运营商标识,所述省信息和市信息分别包括节点所属的省市标识,所述等级信息包括节点所属的等级标识,所述节点信息包括节点标识;
其中,所述等级信息包括多层等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
进一步的,所述节点管理列表顶层属性为运营商信息和省信息组成的二维数组结构;所述市信息为所述顶层属性的从属属性,其为数图结构;所述等级信息为所述市信息的从属属性,其为数组结构;所述节点信息为所述等级信息的从属属性,其为数图结构。
进一步的,所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取。
进一步的,所述等级信息属性还包括每一层等级所具有的节点数量信息。
进一步的,所述等级信息的多层等级按照以下方式划分:
当顶层等级节点数量未达到最小值时,新增节点加入顶层等级中,其中所述顶层等级的节点数量最小值为预设值;
从次顶层等级开始,所述新增节点等级分配采用以下判断方法:
(本层人数+1)*码率<上层的总上传能力,
本层总上传能力+新增节点上传能力>下层人数*码率,
当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率,从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
为了达到上述目的,本发明提出还一种P2P组网中的节点管理方法,包括下列步骤:
初始化节点管理列表,所述节点管理列表结构具有多层属性,其依次包括运营商信息、省信息、市信息、等级信息和节点信息;
当节点加入、退出、超时、以及运营商、省、市或等级属性有变化时,更新所述节点管理列表;
其中所述等级信息包括多个等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
进一步的,所述节点管理列表顶层属性为运营商信息和省信息组成的二维数组结构;所述市信息为所述顶层属性的从属属性,其为数图结构;所述等级信息为所述市信息的从属属性,其为数组结构;所述节点信息为所述等级信息的从属属性,其为数图结构。
进一步的,所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取。
进一步的,当有节点正常退出时,其会发送退出消息给追踪服务器,并在所述节点管理列表中的节点信息中将所述节点删除。
进一步的,追踪服务器具有线程定时检查所有节点,并将超时汇报的节点从所述节点管理列表中的节点信息中删除。
进一步的,所述等级信息属性还包括每一级等级所具有的节点数量信息。
进一步的,当顶层等级节点数量未达到最小值时,新增节点加入顶层等级中,其中所述顶层等级的节点数量最小值为预设值。
进一步的,从次顶层等级开始,所述新增节点等级分配采用以下判断方法:
(本层人数+1)*码率<上层的总上传能力,
本层总上传能力+新增节点上传能力>下层人数*码率,
当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率,从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
进一步的,当节点选择伙伴节点时,按照以下方法进行:
选择伙伴节点时必须是同运营商的节点,如果同运营商的伙伴节点数量不够,也不向其他运营商寻找伙伴节点;
优先选择同城的伙伴节点,如果当前城市没选够伙伴节点,则在同省内用游标轮询的方式查询其他的城市,依次寻找伙伴节点,直到该省的城市都找完;
如果当前省内没选够伙伴节点,则在同运营商内随机用游标轮询的方式查询其他的省,依次寻找伙伴节点,直到该运营商的所有省都找完。
进一步的,当节点在某个城市选择伙伴节点时,根据其分配的等级层,只选择上层等级的伙伴节点。
进一步的,当节点在某个等级层选择伙伴节点时,通过游标轮询的方式选择连接数未达到上限的伙伴节点。
进一步的,当节点选择伙伴节点时,判断其是否为内网用户,与当前节点是否为同一内网,与当前节点能否内网直连。
进一步的,发布用户节点直接从CDN服务器获取数据,并且不提供P2P服务。
本发明提出P2P组网中的节点管理列表结构及其管理方法,将节点根据所属运营商、所属省市的不同属性进行归类,并且根据各节点上传能力将其划分为不同等级进行管理,并在节点加入、退出、超时、以及运营商、省、市或等级属性有变化时,实时更新所述节点管理列表;在匹配伙伴节点时,优先选择同城的上层节点,并且只在同运营商内部进行选择伙伴节点,从而能够迅速找到传输距离较短、质量较好的最佳节点,保证节点数据传输速度,避免了大面积长距离数据传输和跨运营商间流量的问题,降低了运营成本的同时提高了用户体验。
附图说明
图1所示为本发明较佳实施例的P2P组网中的节点管理列表结构示意图。
图2所示为本发明较佳实施例的新增节点等级分配示意图。
图3所示为本发明较佳实施例的P2P组网中的节点管理方法流程图。
具体实施方式
以下结合附图给出本发明的具体实施方式,但本发明不限于以下的实施方式。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。
请参考图1,图1所示为本发明较佳实施例的P2P组网中的节点管理列表结构示意图。本发明提出一种P2P组网中的节点管理列表结构,所述节点管理列表具有多层属性,所述多层属性依次包括运营商信息isp、省信息province、市信息city、等级信息level和节点信息peer;
所述运营商信息isp包括节点所属的运营商标识,所述省信息province和市信息city分别包括节点所属的省市标识,所述等级信息level包括节点所属的等级标识,所述节点信息peer包括节点标识;
其中,所述等级信息level包括多层等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
根据本发明较佳实施例,所述节点管理列表顶层属性为运营商信息isp和省信息province组成的二维数组结构,即二维array(isp,province);所述市信息city为所述顶层属性的从属属性,其为数图结构map;所述等级信息level为所述市信息city的从属属性,其为数组结构array;所述节点信息peer为所述等级信息level的从属属性,即为所述节点管理列表的底层属性,其为数图结构map。
其中,所述运营商信息isp包括的节点所属的运营商标识,其为系统为该运营商所设定的运营商代码,在国内一般具有20个左右的ISP,分别为它们设定不同的运营商代码;所述省信息province包括的节点所属的省标识为系统为该省设定的省代码,省的数量可以设定为50个,中国具有34个省级行政区,预留16个常见的海外地区,同样也可以设定为某国具有50个左右的省(州),分别为它们设定不同的省代码以便进行区别,不是每个省都具有所有的ISP,一般来说每个省平均具有5个ISP;所述市信息city包括的节点所属的市标识为系统为该市设定的市代码,平均每个省具有20个左右的市;所述等级信息level包括的节点所属的等级标识,其为系统为该等级设定的等级代码,所述多层等级的数量为预先设定,例如系统设定具有5个等级(一般来说等级层数量设定为3个以上),分别为它们设定不同的等级代码;节点信息peer包括的节点标识为系统为该节点设定的节点代码以便区别不同的节点;假设每个等级具有10个节点,按照前述设定的具有5个isp、50个省、20个市以及5个等级计算,那么整个P2P网络就具有5*50*20*5*10=250000个节点。
将节点管理列表的结构在启动时就初始化好,初始化好之后就不再变化,由于运营商(isp)、省(province)、市(city)、等级(level)等属性层基本固定不变,这样可以在最底层即节点信息层加读写锁,极大地减少了锁等待时间,提高整体访问性能。
根据本发明较佳实施例,所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取,IP地址数据库是根据IP地址地理位置映射技术建立的,此方法是最成熟的地理位置识别技术,适合大规模网络流量研究,区分精度可以达到具体的地理位置,其原理是IP地址在一定时间和一定网络范围内会被分配给特定地理位置。IP地址地理位置映射技术使用简单的数据库技术建立IP地址与实际地理位置的对应关系。现有IP地址地理位置映射数据库主要来源于IP地址管理机构、商业组织、民间机构。
在国内,IP地址地理位置映射目前最广泛的应用是将纯真版IP数据库集成到系统中,可以随时根据IP地址查询所属节点的地理位置。该数据库的数据来源于中国电信、中国网通、长城宽带、网通宽带、聚友宽带等ISP的最新准确IP地址地理位置数据。其地理位置信息能精确到区/县级,是目前地理位置映射记录数最多、最完善的IP数据库。该数据库只有一个QQWry.dat文件,可方便地嵌入到网络查询程序中,操作简单、快速,并可以通过网络随时更新记录。
所述等级信息属性还包括每一层等级所具有的节点数量信息,包括每层等级预先设定的节点数量最小值以及当前所具有的节点个数,例如最顶层预设节点数量最小值为5个,目前已经具有3个节点。
根据本发明较佳实施例,节点所具有的所述等级信息的多层等级按照以下方式划分:
当顶层等级节点数量未达到最小值时,新增节点加入顶层等级中,其中所述顶层等级的节点数量最小值为预设值,例如最顶层预设节点数量最小值为5个,目前已经具有3个节点,则新增节点直接加入顶层等级中,一直到顶层等级节点数量达到5个,即预设的节点数量最小值,然后优先考虑将新增节点加入从次顶层开始的等级层中;同时,当最顶层等级有节点离开导致其节点数量小于预设的节点数量最小值时,优先将新增节点直接加入最顶层等级中;
从次顶层等级开始,所述新增节点等级分配采用以下判断方法:
(本层人数+1)*码率<上层的总上传能力,
本层总上传能力+新增节点上传能力>下层人数*码率,
当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率,从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
例如最顶层等级(即第一等级层)的节点数量达到预设最小值5个节点时,新增节点加入次顶层等级(即第二等级层),在添加第二等级层的过程中,也可能会出现不满足节点等级划分的判断条件,此时直接将该节点加入第一等级层;例如第二等级层预设的节点数量最小值为4个,当第二等级层的新增节点数量达到最小值4个后,将新增节点加入第三等级层,当第三等级层的新增节点数量达到最小值4个,再将新增节点加入第四等级层,依次将所有预设数量的等级层节点数量都达到预设最小值后,后续新增的节点会根据新增节点等级分配判断方法将节点分配到各个相应的等级层中。同时,当某等级层有节点离开导致其节点数量小于预设的节点数量最小值时,优先判断新增节点是否可以加入当前等级层,直至当前等级层的节点数量达到预设的节点数量最小值,当有多个等级层出现节点数量小于预设的节点数量最小值时,按照所述等级层的层级从上到下依次判断新增节点是否可以加入当前等级层。
请参考图2,图2所示为本发明较佳实施例的新增节点等级分配示意图。以一较佳实施例作为说明,系统预设有3个等级层,其中顶层等级具有5个节点,其上传能力分别为50、40、30、20、10kBps,顶层等级总的上传能力为150KBps,该层码率设定为20KBps;第二等级层具有4个节点,其上传能力分别为50、40、30、20KBps,第二等级层总的上传能力为140KBps,该层码率设定为20KBps;第三等级层具有3个节点,其上传能力分别为40、30、20KBps,第三等级层总的上传能力为90KBps,该层码率设定为20KBps;3个等级层均达到节点数量最小值,此时有新增节点要求加入,此节点上传能力为10KBps,从次顶层即第二等级层开始判断是否可以加入该层:
(本层人数+1)*码率=(4+1)*20=100<上层的总上传能力=150,
本层总上传能力+新增节点上传能力=140+10=150>下层人数*码率=3*20=60,
满足以上2个判断条件,因此将新增节点加入第二等级层。
请参考图3,图3所示为本发明较佳实施例的P2P组网中的节点管理方法流程图,本发明提出一种P2P组网中的节点管理方法,包括下列步骤:
步骤S100:初始化节点管理列表,所述节点管理列表结构具有多层属性,其依次包括运营商信息、省信息、市信息、等级信息和节点信息;
步骤S200:当节点加入、退出、超时、以及运营商、省、市或等级属性有变化时,更新所述节点管理列表;
其中所述等级信息包括多层等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
根据本发明较佳实施例,所述节点管理列表顶层属性为运营商信息和省信息组成的二维数组结构;所述市信息为所述顶层属性的从属属性,其为数图结构;所述等级信息为所述市信息的从属属性,其为数组结构;所述节点信息为所述等级信息的从属属性,其为数图结构。所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取。以上内容已经在上面做过详细说明,这里不再重复描述。
根据本发明较佳实施例,当节点加入、退出、超时、以及运营商、省、市或等级属性有变化时,需要更新所述节点管理列表。其中,运营商、省、市或等级属性变化几率较小,初始化之后一般不做改变,重点在于节点属性层的变化较为频繁,需要根据节点的实际情况实时更新节点管理列表。
当有节点加入时,按照上述新增节点等级分配方法,确定新增节点加入的等级层,对该层等级下属的节点信息位图(peer_map)加写锁,然后将所述节点(peerid)加入到节点信息位图(peer_map)中。
当有节点正常退出时,其会发送退出消息(logout)给追踪服务器,并在所述节点管理列表中的节点信息中将节点信息位图(peer_map)加写锁,然后将所述节点(peerid)删除。
如果节点非正常退出,即没有向所述追踪服务器发送退出消息,此时所述追踪服务器具有线程定时检查所有节点,将所有超时汇报的节点按照(运营商、省、市、等级)收集起来,遍历完所有节点后,将超时汇报的节点(peerid)从所述节点管理列表中的节点信息中删除并更新所述节点管理列表。
根据本发明较佳实施例,当顶层等级节点数量未达到最小值时,新增节点加入顶层等级中,其中所述顶层等级的节点数量最小值为预设值。从次顶层等级开始,所述新增节点等级分配采用以下判断方法:
(本层人数+1)*码率<上层的总上传能力,
本层总上传能力+新增节点上传能力>下层人数*码率,
当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率,从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
新增节点等级划分的方法已经在节点管理列表结构中做过详细说明,这里不再重复描述。
P2P系统中每个节点自己维护一个伙伴列表(Partnerlist),节点可以从伙伴节点(partners)获取媒体数据,节点和伙伴节点不断的交换各自的缓存信息,然后根据伙伴节点的缓存信息,通过一定的数据调度算法从伙伴节点获取媒体数据。P2P系统中每个节点借助其他节点的资源得到信息或服务,伙伴节点(partners)的选择对提高P2P网络性能,降低资源浪费都有重要意义。追踪服务器必须对所有的节点信息进行高效的管理,当有节点请求伙伴节点时,追踪服务器能够快速的在百万(甚至千万)级别的节点中找出最佳的伙伴节点。而且每秒可能处理10万个以上这样的请求,每个频道单独管理一个节点管理列表。
根据本发明较佳实施例,当节点选择伙伴节点时,按照以下方法进行:
选择伙伴节点时必须是同运营商的节点,如果同运营商的伙伴节点数量不够,也不向其他运营商寻找伙伴节点,避免出现跨运营商间流量,不仅能够有效较低数据传输的延时,提高用户体验,同时也降低了运营费用;
优先选择同城的伙伴节点,如果当前城市没选够伙伴节点,则在同省内用游标轮询的方式查询其他的城市,依次寻找伙伴节点,直到该省的城市都找完,尽量保证伙伴节点的数据传输能够实现短距离传输,有效降低数据传输的延时,提高用户体验;
如果当前省内没选够伙伴节点,则在同运营商内随机用游标轮询的方式查询其他的省,依次寻找伙伴节点,直到该运营商的所有省都找完。
当节点在某个城市选择伙伴节点时,根据其分配的等级层,只选择上层等级的伙伴节点,例如当前节点为第三等级层节点,那么其只选择第二等级层的节点,从而确保当前节点获取到较高质量的伙伴节点,保证节点得到优质的数据获取服务。进一步的,当节点在某个等级层选择伙伴节点时,通过游标轮询的方式选择连接数未达到上限的伙伴节点,所述节点的连接数为系统设定,当节点连接数达到上限值后,系统不再为其分配伙伴节点,例如某节点设定连接数最大值为10个,当有10个伙伴节点连接该节点获取数据后,系统不再为该节点分配新的伙伴节点。所述等级信息属性还包括每一级等级所具有的节点个数信息,当某层等级的节点个数为0时,就不再往下查找,减少了无效查询次数。
当节点选择伙伴节点时,判断其是否为内网用户,与当前节点是否为同一内网,与当前节点能否内网直连,如果伙伴节点处于同一内网中并且能够实现网内直连,则直接选择该节点作为当前节点的伙伴节点,由于伙伴节点之间可以直接享受内网数据传输速率并且具有较低的延时,从而实现伙伴节点之间的高速连接。
根据本发明较佳实施例,发布用户节点直接从CDN服务器获取数据,并且不提供P2P服务,源节点作为一个特殊的节点是所有节点的伙伴节点,但不承担下载数据的责任。
本发明提出的伙伴节点筛选方法的目的是实现流量本地化,也就是节点间的数据交换尽量在本自治域(AutonomousSystem,AS)内,例如尽量在同一省市内,尽量减少跨自治域的数据流量,同时避免出现跨运营商网络的数据流量。在P2P网络中选择伙伴节点时引入节点筛选策略或者节点筛选方法,将达到P2P业务提供商、用户、网络运营商三方多赢的效果:一方面可以提高P2P应用的服务质量,提高用户体验,另一方面也就提高了P2P业务提供商的用户量,为其实现盈利打下基础,同时还可以减少运营商间的流量,降低运营商运营成本。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (18)
1.一种P2P组网中的节点管理列表结构,其特征在于,所述节点管理列表具有多层属性,所述多层属性依次包括运营商信息、省信息、市信息、等级信息和节点信息;
所述运营商信息包括节点所属的运营商标识,所述省信息和市信息分别包括节点所属的省市标识,所述等级信息包括节点所属的等级标识,所述节点信息包括节点标识;
其中,所述等级信息包括多层等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
2.根据权利要求1所述的P2P组网中的节点管理列表结构,其特征在于,所述节点管理列表顶层属性为运营商信息和省信息组成的二维数组结构;所述市信息为所述顶层属性的从属属性,其为数图结构;所述等级信息为所述市信息的从属属性,其为数组结构;所述节点信息为所述等级信息的从属属性,其为数图结构。
3.根据权利要求1所述的P2P组网中的节点管理列表结构,其特征在于,所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取。
4.根据权利要求1所述的P2P组网中的节点管理列表结构,其特征在于,所述等级信息属性还包括每一层等级所具有的节点数量信息。
5.根据权利要求1所述的P2P组网中的节点管理列表结构,其特征在于,所述等级信息的多层等级按照以下方式划分:
当顶层等级节点数量未达到最小值时,新增节点加入顶层等级中,其中所述顶层等级的节点数量最小值为预设值;
从次顶层等级开始,所述新增节点等级分配采用以下判断方法:
(本层人数+1)*码率<上层的总上传能力,
本层总上传能力+新增节点上传能力>下层人数*码率,
当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率;
从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
6.一种P2P组网中的节点管理方法,其特征在于,包括下列步骤:
初始化节点管理列表,所述节点管理列表结构具有多层属性,其依次包括运营商信息、省信息、市信息、等级信息和节点信息;
当节点加入、退出、超时、以及运营商、省、市或等级属性有变化时,更新所述节点管理列表;
其中所述等级信息包括多层等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
7.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,所述节点管理列表顶层属性为运营商信息和省信息组成的二维数组结构;所述市信息为所述顶层属性的从属属性,其为数图结构;所述等级信息为所述市信息的从属属性,其为数组结构;所述节点信息为所述等级信息的从属属性,其为数图结构。
8.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取。
9.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,当有节点正常退出时,其会发送退出消息给追踪服务器,并在所述节点管理列表中的节点信息中将所述节点删除。
10.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,追踪服务器具有线程定时检查所有节点,并将超时汇报的节点从所述节点管理列表中的节点信息中删除。
11.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,所述等级信息属性还包括每一级等级所具有的节点数量信息。
12.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,当顶层等级节点数量未达到最小值时,新增节点加入顶层等级中,其中所述顶层等级的节点数量最小值为预设值。
13.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,从次顶层等级开始,所述新增节点等级分配采用以下判断方法:
(本层人数+1)*码率<上层的总上传能力,
本层总上传能力+新增节点上传能力>下层人数*码率,
当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率,从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
14.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,当节点选择伙伴节点时,按照以下方法进行:
选择伙伴节点时必须是同运营商的节点,如果同运营商的伙伴节点数量不够,也不向其他运营商寻找伙伴节点;
优先选择同城的伙伴节点,如果当前城市没选够伙伴节点,则在同省内用游标轮询的方式查询其他的城市,依次寻找伙伴节点,直到该省的城市都找完;
如果当前省内没选够伙伴节点,则在同运营商内随机用游标轮询的方式查询其他的省,依次寻找伙伴节点,直到该运营商的所有省都找完。
15.根据权利要求14所述的P2P组网中的节点管理方法,其特征在于,当节点在某个城市选择伙伴节点时,根据其分配的等级层,只选择上层等级的伙伴节点。
16.根据权利要求14所述的P2P组网中的节点管理方法,其特征在于,当节点在某个等级层选择伙伴节点时,通过游标轮询的方式选择连接数未达到上限的伙伴节点。
17.根据权利要求14所述的P2P组网中的节点管理方法,其特征在于,当节点选择伙伴节点时,判断其是否为内网用户,与当前节点是否为同一内网,与当前节点能否内网直连。
18.根据权利要求6所述的P2P组网中的节点管理方法,其特征在于,发布用户节点直接从CDN服务器获取数据,并且不提供P2P服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419729.7A CN105072159B (zh) | 2015-07-17 | 2015-07-17 | 一种p2p组网中的节点管理列表结构及其管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510419729.7A CN105072159B (zh) | 2015-07-17 | 2015-07-17 | 一种p2p组网中的节点管理列表结构及其管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105072159A true CN105072159A (zh) | 2015-11-18 |
CN105072159B CN105072159B (zh) | 2018-09-18 |
Family
ID=54501438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510419729.7A Active CN105072159B (zh) | 2015-07-17 | 2015-07-17 | 一种p2p组网中的节点管理列表结构及其管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105072159B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733802A (zh) * | 2017-09-18 | 2018-02-23 | 深圳市盛路物联通讯技术有限公司 | 一种分布式网络拓扑结构的节点控制方法及系统 |
CN110290399A (zh) * | 2019-06-25 | 2019-09-27 | 深圳市网心科技有限公司 | 一种数据分发方法、系统、装置及计算机可读存储介质 |
CN113556587A (zh) * | 2021-09-18 | 2021-10-26 | 广州易方信息科技股份有限公司 | 一种基于安卓端的视频播放链接路由优化方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127619A (zh) * | 2007-09-29 | 2008-02-20 | 华中科技大学 | 一种基于超级节点的p2p直播方法 |
CN101170578A (zh) * | 2007-11-30 | 2008-04-30 | 北京理工大学 | 基于语义相似度的层次式对等网络结构及构建方法 |
US20080263207A1 (en) * | 2003-11-26 | 2008-10-23 | Popescu George V | Method and apparatus for providing dynamic group management for distributed interactive applications |
CN101478564A (zh) * | 2008-12-31 | 2009-07-08 | 西安交通大学 | P2p流媒体网络自适应分级传输结构设计方法 |
CN101500022A (zh) * | 2009-03-09 | 2009-08-05 | 北大方正集团有限公司 | 一种数据访问资源的分配方法及其系统和设备 |
CN101534204A (zh) * | 2008-03-10 | 2009-09-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 流媒体信息分发系统和方法及客户端 |
CN102780624A (zh) * | 2008-02-05 | 2012-11-14 | 华为技术有限公司 | 一种建立路由的方法和装置 |
CN104717304A (zh) * | 2015-03-31 | 2015-06-17 | 北京科技大学 | 一种cdn-p2p内容优化选择系统 |
-
2015
- 2015-07-17 CN CN201510419729.7A patent/CN105072159B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263207A1 (en) * | 2003-11-26 | 2008-10-23 | Popescu George V | Method and apparatus for providing dynamic group management for distributed interactive applications |
CN101127619A (zh) * | 2007-09-29 | 2008-02-20 | 华中科技大学 | 一种基于超级节点的p2p直播方法 |
CN101170578A (zh) * | 2007-11-30 | 2008-04-30 | 北京理工大学 | 基于语义相似度的层次式对等网络结构及构建方法 |
CN102780624A (zh) * | 2008-02-05 | 2012-11-14 | 华为技术有限公司 | 一种建立路由的方法和装置 |
CN101534204A (zh) * | 2008-03-10 | 2009-09-16 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 流媒体信息分发系统和方法及客户端 |
CN101478564A (zh) * | 2008-12-31 | 2009-07-08 | 西安交通大学 | P2p流媒体网络自适应分级传输结构设计方法 |
CN101500022A (zh) * | 2009-03-09 | 2009-08-05 | 北大方正集团有限公司 | 一种数据访问资源的分配方法及其系统和设备 |
CN104717304A (zh) * | 2015-03-31 | 2015-06-17 | 北京科技大学 | 一种cdn-p2p内容优化选择系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107733802A (zh) * | 2017-09-18 | 2018-02-23 | 深圳市盛路物联通讯技术有限公司 | 一种分布式网络拓扑结构的节点控制方法及系统 |
CN107733802B (zh) * | 2017-09-18 | 2020-11-13 | 深圳市盛路物联通讯技术有限公司 | 一种分布式网络拓扑结构的节点控制方法及系统 |
CN110290399A (zh) * | 2019-06-25 | 2019-09-27 | 深圳市网心科技有限公司 | 一种数据分发方法、系统、装置及计算机可读存储介质 |
CN110290399B (zh) * | 2019-06-25 | 2021-09-24 | 深圳市网心科技有限公司 | 一种数据分发方法、系统、装置及计算机可读存储介质 |
CN113556587A (zh) * | 2021-09-18 | 2021-10-26 | 广州易方信息科技股份有限公司 | 一种基于安卓端的视频播放链接路由优化方法及装置 |
CN113556587B (zh) * | 2021-09-18 | 2021-12-24 | 广州易方信息科技股份有限公司 | 一种基于安卓端的视频播放链接路由优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105072159B (zh) | 2018-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49943E1 (en) | System and method for a context layer switch | |
US8279766B2 (en) | Interior-node-disjoint multi-tree topology formation | |
US9503308B2 (en) | Method, device and system for processing content | |
CN104618506B (zh) | 一种众包的内容分发网络系统、方法与装置 | |
CN104717304B (zh) | 一种cdn‑p2p内容优化选择系统 | |
Singla et al. | Scalable routing on flat names | |
WO2010127618A1 (zh) | 一种实现流媒体内容服务的系统和方法 | |
WO2010133140A1 (zh) | 一种内容分片的多媒体网络及其业务方法 | |
CN101345628B (zh) | 源节点选择方法 | |
CN103166990A (zh) | P2p对等连接建立方法及系统 | |
JP5324266B2 (ja) | P2pモードで記憶されたコンテンツにアクセスするようにピア識別子を得る要求を管理する方法、それに関連する管理装置及びネットワーク装置 | |
CN101145929A (zh) | 一种面向ipv6环境的p2p流媒体点播系统 | |
Hefeeda et al. | On-demand media streaming over the internet | |
Zulhasnine et al. | Towards an effective integration of cellular users to the structured peer-to-peer network | |
CN105072159A (zh) | 一种p2p组网中的节点管理列表结构及其管理方法 | |
JP5716745B2 (ja) | データ転送システム | |
CN105007190A (zh) | 一种p2p组网质量优化方法 | |
Meng et al. | Elastic caching solutions for content dissemination services of ip-based internet technologies prospective | |
CN101369915B (zh) | 可运营p2p网络资源管理系统 | |
CN110139126B (zh) | 基于用户交互行为感知的移动视频系统资源共享方法 | |
JP5803924B2 (ja) | データ転送システム | |
Yin et al. | Smart Television Edge Server Deployment Scheme Based on CDN | |
Awerbuch et al. | Chord++: Low-congestion routing in chord | |
Wu et al. | KadStreaming: a novel Kademlia P2P network-based VoD streaming scheme | |
CN116346706A (zh) | 一种大规模服务网络架构的性能优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Hangzhou City, Zhejiang province Binjiang District 310052 shore road 1168 Applicant after: Hangzhou Strong Education Technology Co., Ltd. Address before: Hangzhou City, Zhejiang province Binjiang District 310052 shore road 1168 Applicant before: Hangzhou Shi Qiang network technology Co., Ltd |
|
GR01 | Patent grant | ||
GR01 | Patent grant |