用于p2p系统的节点加入方法及相应的p2p系统的制作方法

文档序号:7954400阅读:233来源:国知局
专利名称:用于p2p系统的节点加入方法及相应的p2p系统的制作方法
技术领域
本申请涉及通信领域,尤其涉及一种用于P2P系统的节点加入方法及相应的P2P系统
背景技术
RELOAD (Resource Location and Discovery Base Protocol,资源定位与发现基础协议)基于节点在计算性能、接入环境和服务理念等方面的异构性将节点(统称Node)区分为两类:性能较强、环境稳定并乐于服务他人的作为对等节点(peer),参与消息的路由转发与分布式数据存储等网络服务提供;其他出于主观或客观原因不适合参与服务提供的作为客户节点(client)。节点在对等网络中有自己独立且唯一的标识,即节点标识Node-1D。对等网络中使用分布式存储服务保存的资源在其中也有自己独立且唯一的标识,即资源标识Resource-1D0对等网络具有良好的自组织与自管理特性,允许对等节点自由地加入和退出网络。RELOAD引入集中式的注册服务器(Enrollment Server,简称ES)控制节点(包括对等节点和客户节点)的加入,并负责为申请加入的节点分配Node-1D并为其初次接入网络指定安全的引导节点(Bootstrap Peer,简称BP)等。由于P2P系统依赖于大量参与节点协作提供服务,因此实现负载均衡是保证对等网络服务质量的关键因素之一。然而结构化对等网络通过哈希方法来决定每个数据对象的存储和服务位置,因而会不可避免的出现负载不均衡的现象,导致对等网络中局部负载过重,相应的对等节点成为局部过载节点。局部服务节点过载会直接影响对应用户的使用体验,并在某些极端情况下引发连锁反应导致网络崩溃(即,雪崩效应)。RELOAD作为客户节点和对等节点的统一 P2P协议,客户节点在加入网络时并不参与消息路由,但在此时由ES静态分配的Node-1D却在其后升级为对等节点时实际决定了该节点在P2P Overlay中的位置和所承担工作量。对于ES分配Node-1D,目前仅仅要求其确保全局唯一性,RELOAD建议采用随机生成的方式。这种设计在各节点性能差异不大、随机算法生成Node-1D的空间分布比较均匀的前提下,能在一定程度上起到静态负载均衡的作用。如何利用用户设备资源来降低专门部署服务器的购置成本与维护开销一直是P2P技术对于服务运营者的最大吸引力之一。在这种场景下,如果考虑到用户设备作为客户节点接入网络后可能会应网络需求(例如,承担某个临时过载对等节点的部分工作负载)升级为对等节点,就将打破对等节点均质化的前提假设。如果其升级后Node-1D仍沿用初始注册时随机分配的数值,则很可能因为自身的资源和环境限制无法承担相应的Overlay工作负载,导致升级失败,甚至在极端的情况下,引起网络频繁扰动或者雪崩效应,造成灾难。因此,仅仅应用负载重定向技术不能充分利用用户免费的闲置硬件资源。而且,现有的P2P负载均衡技术基于节点性能均质化的假设,不能很好地解决异构节点加入网络时的负载分配问题。

发明内容
本申请的一个实施方式公开一种P2P节点接入方法,包括:过载对等节点或管理服务器获取与所述过载对等节点直连的候选客户节点的实时性能值;将实时性能值大于预设的性能阈值的候选客户节点确定为待升级客户节点;以及选择至少一个待升级客户节点并升级为对等节点。本申请的另一个实施方式公开一种P2P系统,包括:过载对等节点或管理服务器,获取与所述过载对等节点直连的候选客户节点的实时性能值,将实时性能值大于预设的性能阈值的候选客户节点确定为待升级客户节点,选择至少一个待升级客户节点并升级为对等节点。通过本申请的实施方式,由过载对等节点本地收集直连的客户节点(尤其是候选客户节点)的信息、根据期望分流负载,结合客户节点自身性能,选择合适的客户节点为其重新指派Node-1D,再升级为对等节点,避免了因为客户节点资源和环境限制无法承担相应的Overlay工作负载而导致的负载分流失败。


图1是根据本申请一个实施方式的P2P系统示意图;图2是根据本申请一个实施方式的P2P节点接入方法1000的流程示意图;图3是根据本申请一个实施方式的P2P节点接入方法2000的流程示意图;图4是图2中步骤S260的流程示意图;图5是图2中步骤S280的流程示意图;图6是根据本申请一个实施方式的、撤销候选升级节点的流程示意图。
具体实施例方式下面结合附图详细描述本申请的实施方式。图1是根据本申请一个实施方式的P2P系统示意图。如图1所示,该实施方式的P2P系统包括对等节点11、与对等节点直连的客户节点12和13、管理服务器21、配置服务器22以及注册服务器23。图2是根据本申请一个实施方式的P2P节点接入方法1000的流程示意图。下面结合图1所示的系统来描述图2示出的方法1000,并假设客户节点12和13都属于候选客户节点。如图2所示,在步骤SllO中,过载对等节点(即对等节点11发生过载时)获取与其直连的候选客户节点的实时性能值。例如,过载对等节点11向与其直连的客户节点12和13获取实时性能值。在步骤S120中,过载对等节点11将获取的候选客户节点12和13的实时性能值与预设的性能阈值进行比较,将实时性能值大于预设的性能阈值的候选客户节点确定为待升级节点,例如,候选客户节点12和13的实时性能值均大于预设的阈值,则候选客户节点12和13均为待升级节点。然后在步骤S130中,将至少一个待升级节点升级为对等节点。例如,过载对等节点11根据自身所需要分流的负载情况,选择实时性能值适合的候选客户节点升级为对等节点。作为一种可选的实施方式,在步骤SllO中,当对等节点11过载时可以向管理服务器21发送过载通知,管理服务器21响应于过载通知向与过载对等节点11直连的候选客户节点(例如候选客户节点12和13)收集实时性能值。然后在步骤S120中,管理服务器21将获取的候选客户节点12和13的实时性能值与预设的性能阈值进行比较,将实时性能值大于预设的性能阈值的候选客户节点确定为待升级节点,例如,候选客户节点12和13的实时性能值均大于预设的阈值,则候选客户节点12和13均为待升级节点。然后在步骤S130中,管理服务器选择至少一个待升级节点并升级为对等节点。例如,管理服务器21根据过载对等节点11的所需要分流的负载情况,选择实时性能值适合的候选客户节点升级为对等节点。这样可以进一步减轻过载对等节点21的负担。图3是根据本申请一个实施方式的P2P节点接入方法2000的流程示意图。下面结合图1所示的P2P系统描述图3所示的方法2000。如图3所示,在步骤S210中,与对等节点11直连的客户节点(例如客户节点12和13)下载性能测试工具。例如,客户节点12和13在加入网络时从配置服务器22获取配置文件,配置文件中包括性能测试工具的下载地址和/或文件指纹。例如,扩展RELOAD配置文件,新增一个“benchmark”字段,用于保存性能测试工具的下载地址benchmark, url和/或benchmark, checksum。客户节点12和13从其中指定的下载地址下载性能测试工具。作为一种选择,客户节点12和13还可用指定算法计算下载的配置文件的哈希指纹,并与配置文件中保存的文件指纹进行比对,如果一致,说明下载成功;否则,向配置服务器22报告下载错误。在步骤S220中,客户节点运行性能测试工具以得到性能测试结果。例如,可以在客户节点12和13与注册服务器23联系以获取入网授权之前,本地运行性能测试工具,并保存性能测试结果,以在进一步申请候选客户节点时发送测试结果,或者过载对等节点或管理服务器收集直连候选客户节点的实时性能值作为参考依据。在步骤S230中,客户节点将性能测试结果以及申请升级请求发送给注册服务器。例如,假设客户节点12和13自愿在需要时升级为对等节点,为过载对等节点11分流负载并为其他客户节点提供服务,则客户节点12和13向注册服务器23发送性能测试结果、申请升级请求以及其他必要的身份信息(例如用户名等),表示愿成为候选客户节点。在步骤S240中,注册服务器23将性能测试结果大于预设的性能阈值的客户节点确定为候选客户节点。例如,注册服务器23核实了用户的身份,根据预设的性能阈值将性能值比性能阈值大的客户节点确定为候选客户节点。在步骤S250中,注册服务器23向所确定出的候选客户节点签发候选节点证书,其中候选节点证书中包括“允许候选升级”的标志位。例如,节点证书可包括用户名、节点标识Node-1D、是否允许升级以及其他信息,并由CA用其私钥签名。通过上述过程,确定了具体哪些客户节点作为候选客户节点。作为一种选择,在注册服务器23向所确定出的候选客户节点签发候选节点证书之后还包括以下步骤:候选客户节点将节点证书发送给负责存储该节点证书的对等节点(简称负责存储对等节点)保存。负责存储对等节点确认节点证书是否由自己负责保存且在有效期内,否则丢弃存储请求。接着,负责存储对等节点使用CA公钥验证签名的有效性。然后,负责存储对等节点保存经过验证的节点证书并返回保存成功消息。然后在步骤S260中,过载对等节点或管理服务器获取与其直连的候选客户节点的实时性能值。图4是图2中步骤S260的流程示意图。如图4所示,在步骤S2601中,各候选客户节点接收过载对等节点或管理服务器发送的性能信息获取请求。例如,客户节点12和13接收过载对等节点11或管理服务器21发送的实时性能值获取请求。例如,过载对等节点11或管理服务器21向与过载对等节点11直连的客户节点12和13发送ProbeReq以查询客户节点12和13的实时性能值。RELOAD中的ProbeReq定义了 3种可供查询的数据类型,包括responsible_set、num_resource以及uptime,这里可以定义新的变量client_capability来表示客户节点的实时性能值。客户节点12和13收到ProbeReq可根据实际情况将实时性能值写入ProbeAns,然后返回给过载对等节点11或管理服务器21。在步骤S2602中,候选客户节点响应于实时性能值获取请求收集本地实时的性能相对数据。例如,候选客户节点12和13利用操作系统提供的接口获取本地CPU的实时使用比率等信息。在步骤S2603中,候选客户节点根据性能测试结果将实时性能数据转换成实时性能值。例如,候选客户节点12和13参考性能测试结果,将实时性能相对数据换算成实时性能值,(例如,候选客户节点本地测得的CPU满负荷性能与本地CPU的实时空闲比率相乘)。在步骤S2604中,候选客户节点返回实时性能值。例如,候选客户节点12和13根据本地资源共享策略,向过载对等节点11或管理服务器21返回本地实时性能值。例如,候选客户节点12和13以本地共享处理性能上限与计算得出的实时性能值的最小值进行上报。在步骤S270中,过载对等节点11或管理服务器21将获取的候选客户节点12和13的实时性能值与预设的性能阈值进行比较,将实时性能值大于预设的性能阈值的候选客户节点确定为待升级节点,例如,候选客户节点12和13的实时性能值均大于预设的阈值,则候选客户节点12和13均为待升级节点。在步骤S280中,将至少一个待升级节点升级为对等节点。例如,过载对等节点11根据自身所需要分流的负载情况,选择实时性能值适合的候选客户节点升级为对等节点;或者管理服务器21根据过在服务器11所需要分流的负载情况,选择实时性能值适合的候选客户节点升级为对等节点。图5是图2中步骤S280的流程示意图。如图5所示,在步骤S2801中,确定待升级客户节点。例如,过载对等节点11或管理服务器21可验证候选客户节点12和23的节点证书(例如,节点证书可以与实时性能值一起发送给过载对等节点11或管理服务器21)以确认其具备候选升级资格;然后根据过载对等节点11需要分流的负载以及候选客户节点12和23的实时性能值能承受的负载来确定待升级客户节点,例如确定候选客户节点12为待升级节点;接着还可以为待升级客户节点确定其升级为对等节点后可使用的peer-1D的范围。在步骤S2802中,过载对等节点11或管理服务器21像待升级节点发送升级请求。例如,过载对等节点11或管理服务器21向待升级客户节点12发送UpdateReq消息。UpdateReq消息可以包括:待升级客户节点12的Note-1D以指明需要升级的客户节点为客户节点12 ;待升级客户节点12升级为对等节点后可使用的peer-1D的范围,例如,expect-peer-1d-top和expect-peer-1d-f10r ;过载对等节点11的ID ;节点证书等信息。收到UpdateReq的待升级节点12可以向过载对等节点11或管理服务器21返回答复信息以表示正在升级。在步骤S2803中,待升级客户节点将升级请求转发给所述注册服务器。例如,待升级客户节点12向注册服务器23发送http消息,该http消息中可包括过载对等节点11或管理服务器21向待升级客户节点12发送的UpdateReq消息。在步骤S2804中,注册服务器返回升级节点证书。例如,注册服务器23向待升级节点12返回升级节点证书(即新的节点证书),该升级节点证书可以包括具体的peer-1D (即待升级客户节点12升级为对等节点后具体使用的peer-1D)以及引导节点的位置信息等。在步骤S2805中,待升级节点重新接入网络升级为对等节点。例如,待升级节点12以注册服务器23返回的具体peer-1D按照RELOAD的标准流程重新加入网络。上述实施方式公开的方法和系统,为避免静态分配Node-1D所导致的升级效果不佳甚至失效等问题,由过载对等节点本地收集直连的客户节点(尤其是候选客户节点)的信息、根据期望分流负载,结合客户节点自身性能,选择合适的客户节点为其重新指派Node-1D,再升级为对等节点。为解决由于节点异构性导致的各个候选客户节点独立上报性能数据缺乏横向可比性的问题,在客户节点加入网络之际通过统一的性能测试工具得到测试性能结果,当过载对等节点收集客户节点实时性能值时,测试性能结果可用于估算其升级后可承受的分流负载,作为升级后Node-1D的分配依据。为防止未经授权的客户节点随意加入引发网络扰动等不良效应,增加了独立于原有的客户节点入网授权的升级候选授权流程,并使用过载对等节点(或管理服务器)签名的委托授权凭证(是否允许升级的标志位),用于第三方节点验证客户升级请求的合法性。与RELOAD现有的客户节点升级技术方案相比,上述实施方式公开的方法和系统综合考虑过载对等节点需要分流的负载规模并根据候选客户节点上报的实时性能值数据所估算的可承受负载,根据预设的性能值阈值和既定的节点选择算法,确定待升级的客户节点,并重新确认待升级客户节点的加入位置。因此,避免了因为客户节点资源和环境限制无法承担相应的Overlay工作负载而导致的负载分流失败。图6是根据本申请一个实施方式的、撤销候选升级节点的流程示意图。当确定出候选客户节点时,过载对等节点或管理服务器还可以对确定出的候选客户节点的进行监控。例如,当过载对等节点11或管理服务器21确定出候选客户节点12和13时,对候选客户节点12和13保持监控,例如,监控用户行为。如图6所示,在步骤S310中,过载对等节点或管理服务器根据监控信息确定待撤销候选客户节点。例如,过载对等节点11或管理服务器21根据监控信息发现候选客户节点12频繁上下线时,则将其确定为待撤销候选客户节点。在步骤S320中,过载对等节点或管理服务器向注册服务器发出撤销候选升级请求。例如,过载对等节点11或管理服务器21向注册服务器23发送撤销候选升级请求,要求撤销候选客户节点12。
在步骤S330中,注册服务器向待撤销候选客户节点签发撤销候选升级节点证书。例如,与签发节点证书的过程相似,注册服务器23向待撤销候选客户节点12签发撤销候选升级节点证书,该撤销候选升级节点证书中包括“撤销候选升级”的标志位。在步骤S340中,待撤销候选客户节点将撤销候选升级节点证书转发给负责存储对等节点,以存储撤销候选升级节点证书。例如,带撤销候选客户节点12将撤销候选升级节点证书发送给负责存储该节点证书的对等节点(简称负责存储对等节点)保存。负责存储对等节点确认节点证书是否由自己负责保存且在有效期内,否则丢弃存储请求。接着,负责存储对等节点使用CA公钥验证签名的有效性。然后,负责存储对等节点本地删除被撤销的节点证书,并保存经过验证的撤销候选节点证书,返回保存成功消息。当对候选客户节点发出撤销候选节点证书之后,还可以进一步确定该被撤销的候选客户节点是否已经升级为对等节点。当被撤销的候选客户节点是否已经升级为对等节点时,则将该对等节点降级为客户节点。例如,当过载对等节点11或管理服务器21确定出被撤销的候选升级节点12已经升级为对等节点时,则过载对等节点11或管理服务器21或负责存储对等节点定位与被撤销的候选升级节点12直连的在线对等节点集合;接着向在线对等节点集合(作为一种选择还可包括向配置服务器和/或公共的引导节点)发送关于被撤销的候选升级节点的撤销通知;然后接收到撤销通知的对等节点切断与所述被撤销的候选升级节点的连接。这样就使得待撤销候选客户节点12升级成的对等节点被迫将为了客户节点。以上所述仅为本申请的优选实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
权利要求
1.一种P2P节点接入方法,包括: 过载对等节点或管理服务器获取与所述过载对等节点直连的候选客户节点的实时性能值; 将实时性能值大于预设的性能阈值的候选客户节点确定为待升级客户节点;以及 选择至少一个待升级客户节点并升级为对等节点。
2.按权利要求1所述的方法,在过载对等节点或管理服务器获取与所述过载对等节点直连的候选客户节点的实时性能值的步骤之前还包括: 与所述过载对等节点直连的各客户节点下载性能测试工具; 运行所述性能测试工具并得出性能测试结果; 将所述性能测试结果以及申请升级请求发送给注册服务器; 所述注册服务器将性能测试结果大于预设的性能阈值的客户节点确定为候选客户节点;以及 向所确定出的候选客户节点签发候选节点证书。
3.按权利要求2所述的方法,所述与所述过载对等节点直连的各客户节点下载性能测试工具的步骤包括: 各客户节点从配置服务器获取配置文件,其中,所述配置文件中包括用于保存所述性能测试工具下载地址的字段;以及 根据所述下载地址下载所述性能测试工具。
4.按权利要求2所述的方法,所述过载对等节点或管理服务器获取与所述过载对等节点直连的候选客户节点的实时性能值的步骤包括: 各所述候选客户节点接收所述过载对等节点或管理服务器发送的性能信息获取请求; 收集自身的实时性能数据; 根据所述性能测试结果,将所述实时性能数据转换成所述实时性能值;以及 向所述过载对等节点或管理服务器返回所述实时性能值。
5.按权利要求1所述的方法,所述将实时性能值大于预设的性能阈值的候选客户节点中的至少一个升级为对等节点的步骤包括: 所述过载对等节点或管理服务器根据需要分流的负载以及接收到的各候选客户节点的实时性能值确定所述待升级客户节点; 向所述待升级客户节点发送升级请求; 所述待升级客户节点将所述升级请求发送给所述注册服务器; 接收所述注册服务器返回的升级节点证书,其中,所述升级节点证书包括所述待升级客户节点升级为对等节点时使用的新节点ID ;以及以所述新节点ID重新加入网络。
6.按权利要求5所述的方法,其中,所述升级请求包括所述待升级客户节点升级为对等节点时能够使用的节点ID范围,且所述节点ID范围包括所述新节点ID。
7.按权利要求2所述的方法,在所述向所确定出的候选客户节点签发候选节点证书的步骤之后还包括: 所述过载对等节点或管理服务器根据监控信息确定待撤销候选客户节点;向所述注册服务器发送要求撤销候选升级请求; 所述注册服务器向所述待撤销候选客户节点签发撤销候选升级节点证书; 接收所述撤销候选升级节点证书;以及 将所述撤销候选升级节点证书转发给负责存储对等节点,以存储所述撤销候选升级节点证书。
8.按权利要求7所述的方法,在所述将所述撤销候选升级节点证书转发给负责存储对等节点的步骤之后还包括: 所述过载对等节点或管理服务器确定出被撤销的候选升级节点已经升级为对等节点时,所述过载对等节点或所述管理服务器或负责存储对等节点定位与被撤销的候选升级节点直连的在线对等节点集合; 向所述在线对等节点集合发送撤销通知;以及 接收到所述撤销通知的对等节点切断与所述被撤销的候选升级节点的连接。
9.一种P2P系统,包括: 过载对等节点或管理服务器,获取与所述过载对等节点直连的候选客户节点的实时性能值,将实时性能值大于预设的性能阈值的候选客户节点确定为待升级客户节点,选择至少一个待升级客户节点并升级为对等节点。
10.按权利要求9所述的系统,还包括: 与所述过载对等节点 直连的各客户节点,下载性能测试工具,运行所述性能测试工具并得出性能测试结果,将所述性能测试结果以及申请升级请求发送给注册服务器;以及 所述注册服务器,将性能测试结果大于预设的性能阈值的客户节点确定为候选客户节点,向所确定出的候选客户节点签发候选节点证书。
11.按权利要求10所述的系统,还包括: 配置服务器,供所述各客户节点获取配置文件,其中,所述配置文件中包括用于保存所述性能测试工具下载地址的字段; 所述各客户节点还根据所述下载地址下载所述性能测试工具。
12.按权利要求10所述的系统,各所述候选客户节点还接收所述过载对等节点或管理服务器发送的性能信息获取请求,收集自身的实时性能数据,根据所述性能测试结果,将所述实时性能数据转换成所述实时性能值,向所述过载对等节点或管理服务器返回所述实时性能值。
13.按权利要求9所述的系统,所述过载对等节点或管理服务器还根据需要分流的负载以及接收到的各候选客户节点的实时性能值确定待升级客户节点,向所述待升级客户节点发送升级请求; 所述注册服务器还接收所述待升级客户节点转发的所述升级请求,返回的升级节点证书,其中,所述升级节点证书包括所述待升级客户节点升级为对等节点时使用的新节点ID ;以及 所述待升级客户节点以所述新节点ID重新加入网络。
14.按权利要求13所述的系统,其中,所述升级请求包括所述待升级客户节点升级为对等节点时能够使用的节点ID范围,且所述节点ID范围包括所述新节点ID。
15.按权利要求10所述的系统,所述过载对等节点或管理服务器还对确定出的候选客户节点的进行监控,并根据监控信息确定待撤销候选客户节点,向所述注册服务器发送要求撤销候选升级请求; 所述注册服务器向所述待撤销候选客户节点签发撤销候选升级节点证书; 所述过载对等节点或管理服务器还接收所述撤销候选升级节点证书,将所述撤销候选升级节点证书转发给负责存储对等节点,以存储所述撤销候选升级节点证书。
16.按权利要求15所述的系统,当所述过载对等节点或管理服务器确定出被撤销的候选升级节点已经升级为对等节点时,所述过载对等节点或管理服务器或负责存储对等节点定位与被撤销的候选升级节点直连的在线对等节点集合,向所述在线对等节点集合发送撤销通知;以及 接收到所述撤销通知的对等节点切 断与所述被撤销的候选升级节点的连接。
全文摘要
本申请公开了一种P2P节点接入方法,包括过载对等节点或管理服务器获取与所述过载对等节点直连的候选客户节点的实时性能值;将实时性能值大于预设的性能阈值的候选客户节点确定为待升级客户节点;以及选择至少一个待升级客户节点并升级为对等节点。本申请还公开了相应的P2P系统。
文档编号H04L29/08GK103095742SQ20111033381
公开日2013年5月8日 申请日期2011年10月28日 优先权日2011年10月28日
发明者邓灵莉, 彭晋, 马啸 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1