CN101764740B - 邻居节点的选择方法、装置和系统 - Google Patents
邻居节点的选择方法、装置和系统 Download PDFInfo
- Publication number
- CN101764740B CN101764740B CN 200810246599 CN200810246599A CN101764740B CN 101764740 B CN101764740 B CN 101764740B CN 200810246599 CN200810246599 CN 200810246599 CN 200810246599 A CN200810246599 A CN 200810246599A CN 101764740 B CN101764740 B CN 101764740B
- Authority
- CN
- China
- Prior art keywords
- time
- neighbor nodes
- candidate neighbor
- current sessions
- current
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及一种邻居节点的选择方法、装置和系统。其中所述方法包括获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内会话的会话保持时间;根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。本发明实施例提供的邻居节点的选择方法、装置和系统,为加入节点选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。
Description
技术领域
本发明涉及通信网络技术,尤其涉及一种邻居节点的选择方法、装置和系统。
背景技术
在物理网络中,安装了对等(Peer-to-Peer,以下简称:P2P)软件的节点构成一个逻辑覆盖网络(Logical Overlay Network),该逻辑覆盖网络称为P2P网络,也称为对等网络。与传统的客户/服务器模式的多点通信网络不同,在P2P网络中,每个节点的地位是对等的,每个节点既充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。P2P网络架构与物理网络的拓扑结构也不同,在P2P网络架构中,相邻的节点在物理网络中可能位于不同的子网内,不相邻的节点在物理网络中可能是直接相连的。
在P2P网络中,P2P网络对节点的加入和退出没有直接的控制,也没有协调或限制,P2P网络组成成员的变化由节点驱动,节点可以在任意时间加入网络,也可以在任意时间退出网络。这种由节点驱动的P2P网络中组成成员的连续动态变化的行为称为扰动(Churn)。
对P2P网络的研究和数据统计表明,节点在网络中的当前会话保持时间(Uptime)越长,节点的会话保持时间(Session time)越长的可能性就越大,节点在P2P网络中的剩余保持时间就越长的可能性也就越大。其中,会话 保持时间指的是节点从加入P2P网络到退出P2P网络的时间间隔,当前会话保持时间指的是节点从加入P2P网络到当前时刻的时间间隔,剩余保持时间指的是从当前时刻到节点退出P2P网络的时间间隔。因此,可以认为,当前会话保持时间可以作为节点在P2P网络中的剩余保持时间的预测。于是,为了降低扰动对P2P网络造成的影响,一般情况下,当节点加入P2P网络中,选择当前会话保持时间长的节点作为该加入节点的邻居节点,从而减少邻居节点加入或退出网络的概率,降低扰动对网络的影响,增强网络的稳定性。
但是,发明人在本发明研究过程中发现,选择当前会话保持时间长的节点作为邻居节点存在以下缺陷:虽然选择了当前会话保持时间长的节点作为邻居节点,而且该邻居节点在短时间内退出网络的概率较小,但是仍然存在该邻居节点在短时间内退出网络的可能性,也就是选错邻居节点的可能性仍然较大,从而导致小概率错误发生的可能性较大。
发明内容
本发明实施例提供了一种邻居节点的选择方法、装置和系统,用以实现选择稳定性较高的节点作为邻居节点,降低小概率错误发生的可能性。
本发明实施例提供了一种邻居节点的选择方法,包括:
获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻 居节点作为邻居节点。
本发明实施例还提供了一种邻居节点的选择方法,包括:
接收加入节点发送的获取请求消息;
根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内的每个会话的会话保持时间,以便所述加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率,以及,根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
本发明实施例还提供了一种邻居节点的选择装置,包括:
第一获取模块,用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
第二获取模块,用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
第一选择模块,用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
本发明实施例还提供了一种邻居节点的选择装置,包括:
第一接收模块,用于接收加入节点发送的获取请求消息;
第一返回模块,用于根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间,以便所述加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率,以及,根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
本发明实施例还提供了一种邻居节点的选择装置,包括:
第一获取模块,用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
第二获取模块,用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
第一选择模块,用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点;
第一接收模块,用于接收加入节点发送的获取请求消息;
第一返回模块,用于根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间。
本发明实施例还提供了一种邻居节点的选择系统,包括加入节点和候选邻居节点;
所述加入节点包括:
第一获取模块,用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
第二获取模块,用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
第一选择模块,用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点;
所述候选邻居节点包括:
第一接收模块,用于接收加入节点发送的获取请求消息;
第一返回模块,用于根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间,以便所述加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率,以及,根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
本发明实施例提供的邻居节点的选择方法、装置和系统,根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,选择预设数量的候选邻居节点作为邻居节点,为加入节点选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。
附图说明
图1为本发明邻居节点的选择方法第一实施例的流程图;
图2为本发明邻居节点的选择方法第二实施例的流程图;
图3为本发明邻居节点的选择方法第三实施例的流程图;
图4为本发明邻居节点的选择方法第四实施例的流程图;
图5为本发明邻居节点的选择方法第五实施例的流程图;
图6为本发明邻居节点的选择装置第一实施例的结构示意图;
图7为本发明邻居节点的选择装置第二实施例的结构示意图;
图8为本发明邻居节点的选择装置第三实施例的结构示意图;
图9为本发明邻居节点的选择装置第四实施例的结构示意图;
图10为本发明邻居节点的选择装置第五实施例的结构示意图;
图11为本发明邻居节点的选择装置第六实施例的结构示意图;
图12为本发明邻居节点的选择系统实施例的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
如图1所示,为本发明邻居节点的选择方法第一实施例的流程图,具体可以包括如下步骤:
步骤11、加入节点获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内会话的会话保持时间;
具体地,加入节点在加入P2P网络时,通过预配置或从已知的索引服务器中查询等方法从现有物理网络中获取一节点,候选邻居节点包括该节点的所有邻居节点和后备节点,该后备节点包括该节点的各邻居节点的所有邻居节点;
步骤12、加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
步骤13、加入节点根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点;
具体地,候选邻居节点的个数可以根据实际的P2P网络确定;此外,对P2P网络的研究和数据统计表明,在P2P网络中,节点加入的时间间隔服从泊松分布,节点的会话时间服从幂律分布,节点加入和退出P2P网络具有一定规律,随着历史会话时间的积累,历史会话时间越来越精确地刻画某次会话的会话保持时间长短,因此历史会话时间可以作为某次会话的会话保持时间的预测。
本实施例通过加入节点根据候选邻居节点的当前会话开始时刻、当前时 刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率,根据该概率,选择预设数量的候选邻居节点作为邻居节点,在考虑候选邻居节点的当前会话开始时刻、当前时刻的基础上,又考虑了候选邻居节点的历史会话时间来选择邻居节点,可以降低现有技术中只考虑当前会话保持时间来选择邻居节点而该邻居节点在短时间内退出网络的可能性,为加入节点选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。
如图2所示,为本发明邻居节点的选择方法第二实施例的流程图,与上一实施例的不同之处在于,步骤12具体可以包括如下步骤:
步骤21、加入节点根据候选邻居节点的当前会话开始时刻和当前时刻,获取候选邻居节点的当前会话保持时间;
具体地,当前会话保持时间为当前时刻与当前会话开始时刻之间的时间间隔;
步骤22、加入节点根据候选邻居节点的历史会话时间与候选邻居节点的当前会话保持时间,获取候选邻居节点的历史会话时间与候选邻居节点的当前会话保持时间的差值的中值;
步骤23、加入节点获取候选邻居节点的历史会话时间与候选邻居节点的当前会话保持时间的差值大于该中值的第一概率作为候选邻居节点的当前会话继续保持的概率。
在上一实施例的基础上,步骤13具体可以为:
步骤24、加入节点对候选邻居节点的第一概率进行排序,选择预设数量的第一概率最大的候选邻居节点作为邻居节点。
下面通过一具体实例说明本实施例步骤11-步骤24的技术方案。加入节点 A作为新节点加入P2P网络时,通过预配置或从已知的索引服务器中查询等方法获取P2P网路中的节点B的。加入节点A与节点B建立通信,获取节点B的邻居节点和后备节点作为加入节点A的候选邻居节点,其中,节点B的邻居节点有K个,节点B的后备节点有K*K个,这样,加入节点A就有n=K+K*K个候选邻居节点。加入节点A获取n个候选邻居节点的三元组,包括当前会话开始时刻、当前时刻与历史会话时间,将n个候选邻居节点的历史会话时间存放在历史会话时间矩阵SessionTime中,其中候选邻居节点的历史会话时间存放在历史会话时间数组SessionTime[i]中,历史会话时间数组SessionTime[i]的长度为t[i],则历史会话时间矩阵SessionTime中的元素为SessionTime[i][0],SessionTIme[i][1],......,SessionTime[i][t[i]-1],0≤i≤n-1。获取候选邻居节点的当前会话开始时刻与当前时刻的差值,得到候选邻居节点的当前会话保持时间。获取历史会话时间矩阵SessionTime中元素SessionTime[i][t[i]-1]与候选邻居节点的当前会话保持时间的差值的中值作为测定基准,获取候选邻居节点的历史会话时间数组SessionTime[i]与候选邻居节点的当前会话保持时间的差值大于该中值的概率Pi,对Pi进行排序,选择Pi最大的K个候选邻居节点作为加入节点A的邻居节点。
现有技术中没有考虑在选择的邻居节点退出网络后,怎样重新选择邻居节点。在本实施例中,为了在选择的邻居节点退出网路后,选择新的邻居节点来替换原来选择的邻居节点,步骤24之后还可以包括如下步骤:
步骤25、加入节点根据预设周期向邻居节点发送连接请求消息;
步骤26、加入节点判断是否在预设时间内收到邻居节点针对连接请求消息的连接响应消息,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,执行步骤11,若在预设时间内收到所有邻居 节点针对连接请求消息的连接响应消息,执行步骤25。
本实施例通过加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,选择预设数量的候选邻居节点作为邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。此外,加入节点根据预设周期向邻居节点发送连接请求消息,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,加入节点重新根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间选择新的邻居节点,减少数据重传的可能性,降低扰动对网络的影响,提高网络的稳定性。
如图3所示,为本发明邻居节点的选择方法第三实施例的流程图,在图1所示技术方案的基础上,步骤12具体可以包括如下步骤:
步骤31、加入节点根据候选邻居节点的当前会话开始时刻和当前时刻,获取候选邻居节点的当前会话保持时间;
步骤32、加入节点根据候选邻居节点的历史会话时间和当前会话保持时间,获取候选邻居节点的历史会话时间大于当前会话保持时间的第二概率作为候选邻居节点的当前会话继续保持的概率。
在图1所示技术方案基础上,步骤13具体可以为:
步骤33、加入节点对候选邻居节点的第二概率进行排序,选择预设数量的第二概率最大的候选邻居节点作为邻居节点。
简而言之,步骤31-33的技术方案是选择候选邻居节点的历史单次会话时间超过该候选邻居节点的当前会话保持时间的概率最大的候选邻居节点作为邻居节点。假设候选邻居节点C的当前会话保持时间为1小时,其10次历史会话时间中有8次历史会话时间超过1小时,则可以得知候选邻居节点C的单次会 话时间超过1小时的概率为80%。候选邻居节点D的当前会话保持时间为1小时,其10次历史会话时间中有3次历史会话时间超过1小时,则可以得知候选邻居节点D单次会话时间超过1小时的概率为30%,则选择候选邻居节点C作为邻居节点,而不选择候选邻居节点D作为邻居节点。
此外,无论采用本实施例所述的技术方案或者其他技术方案选择的邻居节点退出P2P网络后,加入节点重新选择新的邻居节点,减少数据重传的发生,提高网络的稳定性,步骤11之前还可以包括如下步骤:
步骤34、加入节点根据预设周期向邻居节点发送连接请求消息;
步骤35、加入节点判断是否在预设时间内收到邻居节点针对连接请求消息的连接响应消息,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,执行步骤11,若在预设时间内收到所有邻居节点针对连接请求消息的连接响应消息,执行步骤34。
本实施例通过加入节点根据预设周期向邻居节点发送连接请求消息,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间为该加入节点选择新的邻居节点,减少数据重传的可能性,降低扰动对网络的影响,提高网络的稳定性。此外,加入节点通过根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,选择预设数量的候选邻居节点作为邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,降低小概率错误发生的可能性。
如图4所示,为本发明邻居节点的选择方法第四实施例的流程图,具体可以包括如下步骤:
步骤41、候选邻居节点接收加入节点发送的获取请求消息;
步骤42、候选邻居节点根据该获取请求消息,向加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会话时间表示该候选邻居节点在该当前会话开始时刻前预设时间段内的会话的会话保持时间。
本实施例通过候选邻居节点向加入节点返回当前会话开始时刻、当前时刻以及表示在该当前会话开始时刻前预设时间段内的会话的会话保持时间,可以便于加入节点根据候选邻居节点发送的当前会话开始时刻、当前时刻以及历史会话时间,选择预设数量的候选邻居节点作为其邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。
如图5所示,为本发明邻居节点的选择方法第五实施例的流程图,在上一实施例的基础上,为了向加入节点返回历史会话时间,步骤41和步骤42之间具体可以包括如下步骤:
步骤51、候选邻居节点统计其历史会话时间。
此外,步骤51还可以发生在当前会话开始时或会话结束后。
本实施例通过候选邻居节点统计其历史会话时间后,向加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,可以便于加入节点根据候选邻居节点发送的当前会话开始时刻、当前时刻以及历史会话时间,选择预设数量的候选邻居节点作为其邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。
如图6所示,为本发明邻居节点的选择装置第一实施例的结构示意图,具体可以包括第一获取模块61、第二获取模块62和第一选择模块63,其中第一获取模块61用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会 话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内会话的会话保持时间;具体地,加入节点在加入网络时,通过预配置或从已知的索引服务器中查询等方法从现有物理网络中获取一节点;候选邻居节点包括该节点的所有邻居节点和后备节点,该后备节点包括该节点的邻居节点的所有邻居节点;第二获取模块62用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;对P2P网络的研究和数据统计表明,在P2P网络中,节点加入的时间间隔服从泊松分布,节点的会话时间服从幂律分布,节点加入和退出P2P网络具有一定规律,随着历史会话时间的积累,历史会话时间越来越精确地刻画某次会话的会话保持时间长短,因此历史会话时间可以作为某次会话的会话保持时间的预测;第一选择模块63用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
本实施例通过第一选择模块63根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点,在考虑候选邻居节点的当前会话开始时刻、当前时刻的基础上,又考虑了候选邻居节点的历史会话时间来选择邻居节点,可以降低现有技术中只考虑当前会话保持时间来选择邻居节点而该邻居节点在短时间内退出网络的可能性,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,降低小概率错误发生的可能性。
如图7所示,为本发明邻居节点的选择装置第二实施例的结构示意图,在上一实施例的基础上,第二获取模块62具体可以包括第一获取单元72、第二获取单元73和第三获取单元74,其中第一获取单元72用于根据候选邻居节点的当前会话开始时刻和当前时刻,获取候选邻居节点的当前会话保持时间; 具体地,当前会话保持时间为当前时刻与当前会话开始时刻之间的时间间隔;第二获取单元73用于根据候选邻居节点的历史会话时间与候选邻居节点的当前会话保持时间,获取候选邻居节点的历史会话时间与候选邻居节点的当前会话保持时间的差值的中值;第三获取单元74用于获取候选邻居节点的历史会话时间与候选邻居节点的当前会话保持时间的差值大于中值的第一概率作为候选邻居节点的当前会话继续保持的概率。
在上一实施例的基础上,第一选择模块63具体可以包括第一选择单元75,用于对候选邻居节点的第一概率进行排序,选择预设数量的第一概率最大的候选邻居节点作为邻居节点。
现有技术中没有考虑在选择的邻居节点退出网络后,怎样重新选择邻居节点。在本实施例中,为了在选择的邻居节点退出网路后,选择新的邻居节点来替换原来选择的邻居节点,本实施例还可以包括第一发送模块76、判断模块77、第三获取模块78和第二发送模块79,其中第一发送模块76用于根据预设周期向邻居节点发送连接请求消息;判断模块77用于判断在预定时间内是否接收到邻居节点针对连接请求消息返回的连接响应消息;第三获取模块78用于根据判断模块77的判断结果,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,则获取候选邻居节点信息,第二发送模块79用于将候选邻居节点信息发送给第一获取模块61。若判断模块77判断出在预定时间内收到所有邻居节点针对连接请求消息返回的连接响应消息,则第一发送模块76继续根据预设周期向邻居节点发送连接请求消息。
需要说明的是,第三获取模块78和第二发送模块79也可以在一个模块中。
本实施例通过第一选择单元75根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点,从而选择更加稳定的邻居 节点,规避了短时间内连续加入和退出P2P网络的节点,降低小概率错误发生的可能性。此外,第一发送模块76根据预设周期向加入节点的邻居节点发送连接请求消息,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,第三获取模块78获取候选邻居节点信息,第二发送模块79将候选邻居节点信息发送给第一获取单元72,第一选择单元75重新根据由候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间计算得到的第一概率选择新的邻居节点,减少数据重传的可能性,降低扰动对网络的影响,提高网络的稳定性。
如图8所示,为本发明邻居节点的选择装置第三实施例的结构示意图,在图6所示结构示意图的基础上,第二获取模块62具体可以包括第四获取单元81和第五获取单元82,其中第四获取单元81用于根据候选邻居节点的当前会话开始时刻和当前时刻,获取候选邻居节点的当前会话保持时间;第五获取单元82用于根据候选邻居节点的历史会话时间和当前会话保持时间,获取候选邻居节点的历史会话时间大于当前会话保持时间的第二概率作为候选邻居节点的当前会话继续保持的概率。
在图6所示结构示意图的基础上,第一选择模块63具体可以包括第二选择单元83,用于对候选邻居节点的第二概率进行排序,选择预设数量的第二概率最大的候选邻居节点作为邻居节点。
简而言之,本实施例的技术方案是加入节点选择候选邻居节点的单次会话时间超过该候选邻居节点的当前会话保持时间的概率最大的候选邻居节点作为邻居节点。
此外,无论采用本实施例所述的技术方案或者其他技术方案选择的邻居节点退出P2P网络后,重新为加入节点选择新的邻居节点,减少数据重传的发 生,提高网络的稳定性,本实施例还可以包括第一发送模块76、判断模块77和第三获取模块78和第二发送模块79,其中第一发送模块76用于根据预设周期向邻居节点发送连接请求消息;判断模块77用于判断在预定时间内是否接收到邻居节点针对连接请求消息返回的连接响应消息;第三获取模块78用于根据判断模块77的判断结果,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,则获取候选邻居节点信息;第二发送模块79用于将候选邻居节点信息发送给第一获取模块61。若判断模块77判断出在预定时间内收到所有邻居节点针对连接请求消息返回的连接响应消息,则第一发送模块76继续根据预设周期向邻居节点发送连接请求消息。
需要说明的是,第三获取模块78和第二发送模块79也可以在一个模块中。
本实施例通过第一发送模块76根据预设周期向邻居节点发送连接请求消息,若在预设时间内未接收到一个或多个邻居节点针对连接请求消息返回的连接响应消息,第三获取模块78获取候选邻居节点信息并发送给第一获取模块61,然后第二选择单元83根据候选邻居节点的当前会话继续保持的概率选择新的邻居节点,减少数据重传的可能性,降低扰动对网络的影响,提高网络的稳定性。此外,通过第二选择单元83根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。
如图9所示,为本发明邻居节点的选择装置第四实施例的结构示意图,具体可以包括第一接收模块91和第一返回模块92,其中第一接收模块91用于接收加入节点发送的获取请求消息;第一返回模块92用于根据获取请求消息,向加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会 话时间表示候选邻居节点在当前会话开始时刻前预设时间段内的会话的会话保持时间。
本实施例通过第一返回模块92向加入节点返回当前会话开始时刻、当前时刻以及表示在该当前会话开始时刻前预设时间段内的会话的会话保持时间的历史会话时间,可以便于加入节点根据第一返回模块92发送的当前会话开始时刻、当前时刻以及历史会话时间,选择预设数量的候选邻居节点作为其邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,降低小概率错误发生的可能性。
如图10所示,为本发明邻居节点的选择装置第五实施例的结构示意图,在上一实施例的基础上,为了向加入节点返回历史会话时间,本实施例还可以包括统计模块101,用于统计历史会话时间。
其中,统计模块101可以在第一接收模块91接收加入节点发送的获取请求消息时、或当前会话开始时、或会话结束后统计历史会话时间。
本实施例通过统计模块101统计历史会话时间后,第一返回模块92向加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,可以便于加入节点根据候选邻居节点发送的当前会话开始时刻、当前时刻以及历史会话时间,选择预设数量的候选邻居节点作为其邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,从而降低小概率错误发生的可能性。
如图11所示,为本发明邻居节点的选择装置第六实施例的结构示意图,具体可以包括第一获取模块61、第二获取模块62和第一选择模块63,其中第一获取模块61用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预 设时间段内会话的会话保持时间;具体地,加入节点在加入网络时,通过预配置或从已知的索引服务器中查询等方法从现有物理网络中获取一节点;候选邻居节点包括该节点的所有邻居节点和后备节点,该后备节点包括该节点的邻居节点的所有邻居节点;第二获取模块62用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;第一选择模块63用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点;对P2P网络的研究和数据统计表明,在P2P网络中,节点加入的时间间隔服从泊松分布,节点的会话时间服从幂律分布,节点加入和退出P2P网络具有一定规律,随着历史会话时间的积累,历史会话时间越来越精确地刻画某次会话的会话保持时间长短,因此历史会话时间可以作为某次会话的会话保持时间的预测。
在该节点选择邻居节点前或后,该节点还可以充当其他加入节点的候选邻居节点,因此本实施例还可以包括第一接收模块91和第一返回模块92,其中第一接收模块91用于接收加入节点发送的获取请求消息;第一返回模块92用于根据获取请求消息,向加入节点返回当前会话开始时刻、当前时刻以及历史会话时间。
本实施例通过第一选择模块63根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点,在考虑候选邻居节点的当前会话开始时刻、当前时刻的基础上,又考虑了候选邻居节点的历史会话时间来选择邻居节点,可以降低现有技术中只考虑当前会话保持时间来选择邻居节点而该邻居节点在短时间内退出网络的可能性,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,降低小概率错误发生的可能性。此外,本实施例通过第一返回模块92向加入节点返回当前 会话开始时刻、当前时刻以及表示在该当前会话开始时刻前预设时间段内的会话的会话保持时间的历史会话时间,可以便于加入节点根据第一返回模块92发送的当前会话开始时刻、当前时刻以及历史会话时间,选择预设数量的候选邻居节点作为其邻居节点,从而选择更加稳定的邻居节点,规避了短时间内连续加入和退出P2P网络的节点,降低小概率错误发生的可能性。
如图12所示,为本发明邻居节点的选择系统实施例的结构示意图,具体可以包括加入节点121和候选邻居节点122;加入节点121用于获取候选邻居节点122的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点122在当前会话开始时刻前预设时间段内会话的会话保持时间,根据候选邻居节点122的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点122的当前会话继续保持的概率;根据候选邻居节点122的当前会话继续保持的概率,选择预设数量的候选邻居节点122作为邻居节点;候选邻居节点122用于接收加入节点121发送的获取请求消息,根据获取请求消息,向加入节点121返回当前会话开始时刻、当前时刻以及表示在当前会话开始时刻前预设时间段内的会话的会话保持时间的历史会话时间。
加入节点121具体可以为本发明邻居节点的选择装置第一实施例、第二实施例和第三实施例中任一邻居节点的选择装置,候选邻居节点122具体可以为本发明邻居节点的选择装置第四实施例和第五实施例中任一邻居节点的选择装置;或者,加入节点121与候选邻居节点122具体可以为本发明邻居节点的选择装置第六实施例中的邻居节点的选择装置。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (14)
1.一种邻居节点的选择方法,其特征在于,包括:
获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
2.根据权利要求1所述的方法,其特征在于,所述根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率包括:
根据所述候选邻居节点的当前会话开始时刻和当前时刻,获取所述候选邻居节点的当前会话保持时间;
根据所述候选邻居节点的历史会话时间与所述候选邻居节点的当前会话保持时间,获取所述候选邻居节点的历史会话时间与所述候选邻居节点的当前会话保持时间的差值的中值;
获取所述候选邻居节点的历史会话时间与所述候选邻居节点的当前会话保持时间的差值大于所述中值的第一概率作为候选邻居节点的当前会话继续保持的概率;
所述根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点具体为:
对所述候选邻居节点的第一概率进行排序,选择预设数量的第一概率最大的候选邻居节点作为邻居节点。
3.根据权利要求1所述的方法,其特征在于,所述根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率包括:
根据候选邻居节点的当前会话开始时刻和当前时刻,获取所述候选邻居节点的当前会话保持时间;
根据所述候选邻居节点的历史会话时间和当前会话保持时间,获取所述候选邻居节点的历史会话时间大于所述当前会话保持时间的第二概率作为候选邻居节点的当前会话继续保持的概率;
所述根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点具体为:
对所述候选邻居节点的第二概率进行排序,选择预设数量的第二概率最大的候选邻居节点作为邻居节点。
4.根据权利要求1、2或3所述的方法,其特征在于,还包括:
根据预设周期向邻居节点发送连接请求消息;
若在预设时间内未接收到一个或多个邻居节点针对所述连接请求消息返回的连接响应消息,则执行获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间的步骤。
5.一种邻居节点的选择方法,其特征在于,包括:
接收加入节点发送的获取请求消息;
根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话 开始时刻前预设时间段内的每个会话的会话保持时间,以便所述加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率,以及,根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
6.根据权利要求5所述的方法,其特征在于,还包括:
统计所述历史会话时间。
7.一种邻居节点的选择装置,其特征在于,包括:
第一获取模块,用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
第二获取模块,用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
第一选择模块,用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
8.根据权利要求7所述的装置,其特征在于,所述第二获取模块包括:
第一获取单元,用于根据所述候选邻居节点的当前会话开始时刻和当前时刻,获取所述候选邻居节点的当前会话保持时间;
第二获取单元,用于根据所述候选邻居节点的历史会话时间与所述候选邻居节点的当前会话保持时间,获取所述候选邻居节点的历史会话时间与所述候选邻居节点的当前会话保持时间的差值的中值;
第三获取单元,用于获取所述候选邻居节点的历史会话时间与所述候选邻居节点的当前会话保持时间的差值大于所述中值的第一概率作为候选邻居节点的当前会话继续保持的概率;
所述第一选择模块包括:
第一选择单元,用于对所述候选邻居节点的第一概率进行排序,选择预设数量的第一概率最大的候选邻居节点作为邻居节点。
9.根据权利要求7所述的装置,其特征在于,所述第二获取模块包括:
第四获取单元,用于根据候选邻居节点的当前会话开始时刻和当前时刻,获取所述候选邻居节点的当前会话保持时间;
第五获取单元,用于根据所述候选邻居节点的历史会话时间和当前会话保持时间,获取所述候选邻居节点的历史会话时间大于所述当前会话保持时间的第二概率作为候选邻居节点的当前会话继续保持的概率;
所述第一选择模块包括:
第二选择单元,用于对所述候选邻居节点的第二概率进行排序,选择预设数量的第二概率最大的候选邻居节点作为邻居节点。
10.根据权利要7、8或9所述的装置,其特征在于,还包括:
第一发送模块,用于根据预设周期向邻居节点发送连接请求消息;
判断模块,用于判断在预定时间内是否接收到邻居节点针对所述连接请求消息返回的连接响应消息;
第三获取模块,用于根据所述判断模块的判断结果,若在预设时间内未接收到一个或多个邻居节点针对所述连接请求消息返回的连接响应消息,则获取候选邻居节点信息,所述候选邻居节点信息为:候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间;
第二发送模块,用于将所述候选邻居节点信息发送给所述第一获取模块。
11.一种邻居节点的选择装置,其特征在于,包括:
第一接收模块,用于接收加入节点发送的获取请求消息;
第一返回模块,用于根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间,以便所述加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率,以及,根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
12.根据权利要求11所述的装置,其特征在于,还包括:
统计模块,用于统计所述历史会话时间。
13.一种邻居节点的选择装置,其特征在于,包括:
第一获取模块,用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
第二获取模块,用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
第一选择模块,用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点;
第一接收模块,用于接收加入节点发送的获取请求消息;
第一返回模块,用于根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间。
14.一种邻居节点的选择系统,其特征在于,包括加入节点和候选邻居节点;
所述加入节点包括:
第一获取模块,用于获取候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间;
第二获取模块,用于根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率;
第一选择模块,用于根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点;
所述候选邻居节点包括:
第一接收模块,用于接收加入节点发送的获取请求消息;
第一返回模块,用于根据所述获取请求消息,向所述加入节点返回当前会话开始时刻、当前时刻以及历史会话时间,该历史会话时间用于表示候选邻居节点在当前会话开始时刻前预设时间段内每个会话的会话保持时间,以便所述加入节点根据候选邻居节点的当前会话开始时刻、当前时刻与历史会话时间,计算候选邻居节点的当前会话继续保持的概率,以及,根据候选邻居节点的当前会话继续保持的概率,选择预设数量的候选邻居节点作为邻居节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810246599 CN101764740B (zh) | 2008-12-25 | 2008-12-25 | 邻居节点的选择方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810246599 CN101764740B (zh) | 2008-12-25 | 2008-12-25 | 邻居节点的选择方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101764740A CN101764740A (zh) | 2010-06-30 |
CN101764740B true CN101764740B (zh) | 2012-04-04 |
Family
ID=42495733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810246599 Expired - Fee Related CN101764740B (zh) | 2008-12-25 | 2008-12-25 | 邻居节点的选择方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101764740B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611351B (zh) * | 2019-02-25 | 2023-08-01 | 北京嘀嘀无限科技发展有限公司 | 在线客服会话的控制方法、装置和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083616A (zh) * | 2007-07-05 | 2007-12-05 | 上海交通大学 | 基于蚁群算法的无线自组网络节能按需路由方法 |
CN101325544A (zh) * | 2008-07-21 | 2008-12-17 | 武汉理工大学 | 无线传感器网络中基于链路多特征值的多路径路由建立方法 |
-
2008
- 2008-12-25 CN CN 200810246599 patent/CN101764740B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083616A (zh) * | 2007-07-05 | 2007-12-05 | 上海交通大学 | 基于蚁群算法的无线自组网络节能按需路由方法 |
CN101325544A (zh) * | 2008-07-21 | 2008-12-17 | 武汉理工大学 | 无线传感器网络中基于链路多特征值的多路径路由建立方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101764740A (zh) | 2010-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tang et al. | GoCast: Gossip-enhanced overlay multicast for fast and dependable group communication | |
CN102571856B (zh) | 一种中转节点的选择方法、设备和系统 | |
CN115408604A (zh) | 用于递送实时消息的消息传递平台 | |
CN101931656B (zh) | 一种isp友好的分布式服务节点选择和更新方法 | |
CN108932182B (zh) | 一种消息总线性能测试方法及系统 | |
CN104468231A (zh) | Sdn交换机和控制器动态注册方法 | |
CN102801632A (zh) | Pim-sm指定路由器和igmp查询器的统一选举方法 | |
CN108139737A (zh) | 利用实时请求提供过程设施中的过程值 | |
CN101924777B (zh) | 在p2p流媒体系统中查找活动节点的方法、系统及设备 | |
CN106411713B (zh) | 一种状态通知方法及服务器 | |
CN101764740B (zh) | 邻居节点的选择方法、装置和系统 | |
Luo et al. | DigiMetro-an application-level multicast system for multi-party video conferencing | |
CN112887140B (zh) | 一种多云协同断网容灾方法 | |
CN101645918B (zh) | 一种p2p系统中的节点间协作方法 | |
CN101447926A (zh) | 基于点对点的数据传输系统及方法 | |
CN101686172B (zh) | 一种网关节点的选择方法、系统和设备 | |
CN101355512B (zh) | 数据传输系统、方法及传输控制服务器 | |
Liu et al. | Network coding for peer-to-peer live media streaming | |
Jeon et al. | Overlay multicast tree recovery scheme using a proactive approach | |
CN103166979B (zh) | 自适应负载均衡实现方法和接入服务器 | |
Adrah et al. | An IP Multicast Framework for Routable Sample Value Communication in Transmission Grids. | |
CN113098745B (zh) | 一种车内信息共享方法、系统及汽车 | |
CN102075433B (zh) | 异构gnss平台数据路由方法及系统 | |
Noh et al. | Un-leeching P2P streaming by active overlay management | |
Jin et al. | TCMM: hybrid overlay strategy for P2P live streaming services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120404 Termination date: 20191225 |