一种p2p组网中的节点管理列表结构及其管理方法_2

文档序号:9352896阅读:来源:国知局
(本层人数+1)*码率〈上层的总上传能力,
[0026]本层总上传能力+新增节点上传能力 > 下层人数*码率,
[0027]当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率,从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
[0028]为了达到上述目的,本发明提出还一种P2P组网中的节点管理方法,包括下列步骤:
[0029]初始化节点管理列表,所述节点管理列表结构具有多层属性,其依次包括运营商信息、省信息、市信息、等级信息和节点信息;
[0030]当节点加入、退出、超时、以及运营商、省、市或等级属性有变化时,更新所述节点管理列表;
[0031]其中所述等级信息包括多个等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
[0032]进一步的,所述节点管理列表顶层属性为运营商信息和省信息组成的二维数组结构;所述市信息为所述顶层属性的从属属性,其为数图结构;所述等级信息为所述市信息的从属属性,其为数组结构;所述节点信息为所述等级信息的从属属性,其为数图结构。
[0033]进一步的,所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取。
[0034]进一步的,当有节点正常退出时,其会发送退出消息给追踪服务器,并在所述节点管理列表中的节点信息中将所述节点删除。
[0035]进一步的,追踪服务器具有线程定时检查所有节点,并将超时汇报的节点从所述节点管理列表中的节点信息中删除。
[0036]进一步的,所述等级信息属性还包括每一级等级所具有的节点数量信息。
[0037]进一步的,当顶层等级节点数量未达到最小值时,新增节点加入顶层等级中,其中所述顶层等级的节点数量最小值为预设值。
[0038]进一步的,从次顶层等级开始,所述新增节点等级分配采用以下判断方法:
[0039](本层人数+1)*码率〈上层的总上传能力,
[0040]本层总上传能力+新增节点上传能力 > 下层人数*码率,
[0041]当满足以上两个条件时,新增节点加入本层等级,如果全部等级层都不满足条件时,则加入顶层等级,其中所述码率为当前层的固定下载速率,上传能力为节点所能达到的最大上传速率,从次顶层等级开始,各等级层同样具有预设的节点数量最小值,当发现某等级层的节点数量未达到预设的最小值时,则优先判断新增节点是否可以加入当前等级层。
[0042]进一步的,当节点选择伙伴节点时,按照以下方法进行:
[0043]选择伙伴节点时必须是同运营商的节点,如果同运营商的伙伴节点数量不够,也不向其他运营商寻找伙伴节点;
[0044]优先选择同城的伙伴节点,如果当前城市没选够伙伴节点,则在同省内用游标轮询的方式查询其他的城市,依次寻找伙伴节点,直到该省的城市都找完;
[0045]如果当前省内没选够伙伴节点,则在同运营商内随机用游标轮询的方式查询其他的省,依次寻找伙伴节点,直到该运营商的所有省都找完。
[0046]进一步的,当节点在某个城市选择伙伴节点时,根据其分配的等级层,只选择上层等级的伙伴节点。
[0047]进一步的,当节点在某个等级层选择伙伴节点时,通过游标轮询的方式选择连接数未达到上限的伙伴节点。
[0048]进一步的,当节点选择伙伴节点时,判断其是否为内网用户,与当前节点是否为同一内网,与当前节点能否内网直连。
[0049]进一步的,发布用户节点直接从⑶N服务器获取数据,并且不提供P2P服务。
[0050]本发明提出P2P组网中的节点管理列表结构及其管理方法,将节点根据所属运营商、所属省市的不同属性进行归类,并且根据各节点上传能力将其划分为不同等级进行管理,并在节点加入、退出、超时、以及运营商、省、市或等级属性有变化时,实时更新所述节点管理列表;在匹配伙伴节点时,优先选择同城的上层节点,并且只在同运营商内部进行选择伙伴节点,从而能够迅速找到传输距离较短、质量较好的最佳节点,保证节点数据传输速度,避免了大面积长距离数据传输和跨运营商间流量的问题,降低了运营成本的同时提高了用户体验。
【附图说明】
[0051]图1所示为本发明较佳实施例的P2P组网中的节点管理列表结构示意图。
[0052]图2所示为本发明较佳实施例的新增节点等级分配示意图。
[0053]图3所示为本发明较佳实施例的P2P组网中的节点管理方法流程图。
【具体实施方式】
[0054]以下结合附图给出本发明的【具体实施方式】,但本发明不限于以下的实施方式。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用于方便、明晰地辅助说明本发明实施例的目的。
[0055]请参考图1,图1所示为本发明较佳实施例的P2P组网中的节点管理列表结构示意图。本发明提出一种P2P组网中的节点管理列表结构,所述节点管理列表具有多层属性,所述多层属性依次包括运营商信息isp、省信息province、市信息city、等级信息level和节点信息peer ;
[0056]所述运营商信息isp包括节点所属的运营商标识,所述省信息province和市信息city分别包括节点所属的省市标识,所述等级信息level包括节点所属的等级标识,所述节点信息peer包括节点标识;
[0057]其中,所述等级信息level包括多层等级,根据新增节点的上传能力将所述节点加入不同的等级,所述多层等级的数量为预先设定。
[0058]根据本发明较佳实施例,所述节点管理列表顶层属性为运营商信息isp和省信息province组成的二维数组结构,即二维array (isp, province);所述市信息city为所述顶层属性的从属属性,其为数图结构map ;所述等级信息level为所述市信息city的从属属性,其为数组结构array ;所述节点信息peer为所述等级信息level的从属属性,即为所述节点管理列表的底层属性,其为数图结构map。
[0059]其中,所述运营商信息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个节点。
[0060]将节点管理列表的结构在启动时就初始化好,初始化好之后就不再变化,由于运营商(isp)、省(province)、市(city)、等级(level)等属性层基本固定不变,这样可以在最底层即节点信息层加读写锁,极大地减少了锁等待时间,提高整体访问性能。
[0061 ] 根据本发明较佳实施例,所述运营商信息、省市信息为根据节点的IP地址从IP地址数据库获取,IP地址数据库是根据IP地址地理位置映射技术建立的,此方法是最成熟的地理位置识别技术,适合大规模网络流量研究,区分精度可以达到具体的地理位置,其原理是IP地址在一定时间和一定网络范围内会被分配给特定地理位置。IP地址地理位置映射技术使用简单的数据库技术建立IP地址与实际地理位置的对应关系。现有IP地址地理位置映射数据库主要来源于IP地址管理机构、商业组织、民间机构。
[0062]在国内,IP地址地理位置映射目前最广泛的应用是将纯真版IP数据库集成到系统中,可以随时根据IP地址查询所属节点的地理位置。该数据库的数据来源于中国电信、中国网通、长城宽带、网通宽带、聚友宽带等I
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1