非结构化的移动对等覆盖网及其构建和维护方法

文档序号:7773416阅读:206来源:国知局
非结构化的移动对等覆盖网及其构建和维护方法
【专利摘要】本发明所提供了一种非结构化的移动对等覆盖网,能够克服现有移动对等覆盖网拓扑结构稳定性和抗扰动性较差的不足。其包括至少一个k-派系子网,所述的k-派系子网包括至少一个中心节点,还包括多个普通节点;所述的任意一个普通节点都至少和一个中心节点有一条联通路径;所有节点提供对其它节点可读的自身资源索引,所有节点存储一张派系资源索引列表,其中包含所有邻居节点信息。本发明还提供了上述非结构化的移动对等覆盖网的构建方法、以及在发生节点推出或失效时的维护方法。
【专利说明】非结构化的移动对等覆盖网及其构建和维护方法
【技术领域】
[0001]本发明属于信息通讯领域,具体涉及一种移动通信领域的非结构化对等覆盖网,本发明还提供了该非结构化的移动对等覆盖网的构建和维护方法。
【背景技术】
[0002]对等(peer to peer,P2P)技术在文件共享等方面的成功应用使P2P网络得到了研究者们的高度重视,提出了一些经典的P2P覆盖网构建算法,如Gnutella,Chord等。覆盖网的构建是P2P网络路由协议、负载均衡、安全认证等方面的基础,能否解决好这个问题是决定P2P网络性能的关键。近年来随着移动互联设备的大规模应用,对移动对等网络的研究开始成为一个热点。由于移动网络的特殊性,包括节点的资源和能量受限,网络链接不稳定,节点失效频繁等等,使得构建移动对等覆盖网的难度加大。虽然已经有很多研究者提出了不同思路的移动对等覆盖网构建算法,但还缺乏适合大规模应用的算法。
[0003]在面向移动自组网络的移动对等网络覆盖网构造算法中,使用跨层方法的占了绝大多数。该方法可以分为两类:一类是覆盖层和网络层跨层通信,简称为网络层跨层;另一类是覆盖层和MAC层跨层通信,简称为MAC层跨层。网络层跨层方法是利用网络层某种特定的路由协议来共同完成覆盖网络路由工作;MAC层跨层方法则是将无线广播中收到的所有MAC层数据包发送到覆盖层进行分析处理,从而提高查询效率。这两种方法都能够提高查询成功率和效率,从而降低路由开销,减少节点的能量消耗。但跨层方法由于涉及到具体的网络层路由协议和MAC层协议,对于此种方法的使用范围必然受到一定的局限,影响了该方法的通用性。
[0004]车辆自组网中的移动节点由于节点移动速度较快,物理拓扑变化过于频繁,因此比较适合构建混合式网络。无线Mesh网络上的覆盖网也可以利用无线链接情况的不同来构造混合式网络。因此,以上两种移动网络中的移动覆盖网络基本都采用了混合式网络。混合式网络构造算法的一个重点是超级节点的选择和失效处理。超级节点间的拓扑结构可以按照原型改进方法、网络博弈等方法进行构建。
[0005]原型改进方法能够应用于不同的物理网络,利用传统P2P覆盖网协议中相对比较成熟的算法来进行路由、资源查询等,通过改进或者增加与其他层协议的通信来提高效率,尤其对于移动网络和传统P2P的互联有着较为明显的优势。针对结构化网络改进的原型最多的就是Chord,其次是CAN,Pastry等。改进的方法主要围绕着节点ID的分配和跨层优化两方面进行。非结构化网络主要是围绕Gnutella进行改进,改进的方法主要是跨层设计。但这种方法必然要遵循已有的框架进行改造,从而限制了算法的改进范围。由于传统P2P结构化覆盖网的抗扰动性普遍较差,改进的结构化覆盖网对于如何提高抗扰动性来说仍然面临较大的挑战。
[0006]利用博弈论进行覆盖网的构建是一种比较巧妙的方法,并且可以应用于各种不同的移动物理网络。该方法定义了一个博弈,即利用已知的节点如何构建一个达到预定目标的覆盖网络,目标通常设定为所有节点间的距离最短。早期的方法采用了完全信息非合作博弈理论进行构建移动对等覆盖网络,得到的网络拓扑极不稳定。由于对于每个节点来说不可能得到网络的全部信息,后期有人提出了基于非完全信息非合作博弈的移动对等覆盖网构建方法,通过启发式算法得到相对稳定的覆盖网拓扑。此种方法得到的覆盖网拓扑结构对于预定的目标来说是接近最优的,并且理论基础比较坚实,但产生的覆盖网仍不是很稳定,对于抗扰动性方面还需要进一步的研究。
[0007]综上所述,目前的移动对等覆盖网构建方法至少存在着以下问题:一是构建的覆盖网拓扑结构稳定性不够,难以保持稳定的拓扑结构;二是抗扰动性差,易受节点退出、失效的影响而影响覆盖网的性能。为此,构建一个通用的、相对稳定的抗扰动移动对等覆盖网是一项充满挑战但又亟待解决的课题。

【发明内容】

[0008]本发明所要解决的技术问题在于提供一种非结构化的移动对等覆盖网,能够克服现有移动对等覆盖网拓扑结构稳定性和抗扰动性较差的不足。
[0009]为达到上述目的,本发明的非结构化的移动对等覆盖网,包括至少一个k_派系子网,所述的k-派系子网包括至少一个中心节点,还包括多个普通节点;所述的任意一个普通节点都至少和一个中心节点有一条联通路径;所有节点提供对其它节点可读的自身资源索引,所有节点存储一张派系资源索引列表,其中包含所有邻居节点信息。
[0010]在所述的派系资源索引列表中,邻居节点按自身动态状态值进行降序排序。
[0011]采用了上述技术方案后,本发明的非结构化的移动对等覆盖网提供了两种类型的节点:中心节点和普通节点。中心节点用来组成k-派系的核心,并作为基准节点控制k-派系内节点间的跳数。每个节点只属于一个k-派系。所有节点都提供自身资源索引,由于同k-派系内节点共享资源,从而提高了覆盖网的资源搜索效率,并降低了单个节点退出或失效对整个覆盖网的影响。
[0012]进一步的,所述的k_派系子网的普通节点中至少有一个同时充当外联节点,多个k-派系子网通过外联节点互相通信;所述的k-派系子网的每个节点都存储一张外联节点列表,记录其所在派系中所有外联节点地址。
[0013]采用上述技术方案后,普通节点同时充当外联节点,外联节点用来链接不同的k-派系,从而保证移动对等覆盖网的连通性。
[0014]本发明还提供了上述非结构化的移动对等覆盖网的构建方法,包括以下步骤:
A、移动终端发出k-派系子网创建信息,指定所建k-派系子网的中心节点数k,并将自身指定为中心节点,跳数j=0,指定社区号C ;提供对其它节点可读的自身资源索引;
B、后续加入覆盖网的节点发出搜索信号,收到其它节点的回应后,判定所在k-派系子网的中心节点数是否达到k个,如不足k个,则将自身自身状态设定为中心节点,如达到k个,将自身状态设定为普通节点;所有节点同时提供对其它节点可读的自身资源索引;
C、所有节点更新所在派系的派系资源索引列表。
[0015]进一步的,上述非结构化的移动对等覆盖网的构建方法还包括以下步骤:
A、所有普通节点发出外联请求;
B、任意普通节点在接收到相邻派系的外联请求后作出回应,回应的双方都将自身设定为外联节点并建立派系间链接; C、已经建立派系间链接的外联节点将自身信息向所在派系内节点广播;
D、所述的k-派系子网的每个节点更新外联节点列表,记录其所在派系中所有外联节点地址。
[0016]本发明还提供了上述非结构化的移动对等覆盖网在发生节点退出时的维护方法,包括以下步骤:
在有节点退出覆盖网时,首先判断节点是否为中心节点;
A、如果是非中心节点退出覆盖网时,该节点发送一条退出消息给同k-派系内所有邻居节点,其邻居节点将其从邻居节点列表中删除后重新计算跳数,如果跳数发生变化,则触发拓扑控制过程;该节点退出的信息被其邻居节点以改进的Gossip协议进行广播,通知同k-派系内其他节点删除派系资源索引列表中该节点的资源索引;
B、如果是中心节点退出覆盖网时,发送一条退出消息给同k-派系内所有邻居节点,其邻居节点收到消息后,首先判断派系的中心节点个数:
1)个数大于1:其他中心节点将其从邻居节点列表中删除;所有非中心邻居节点将该节点从邻居节点列表中删除,并触发拓扑控制过程;该节点退出的信息被其邻居节点以改进的Gossip协议进行广播,通知同k-派系内其他节点删除派系资源索引列表中该节点的资源索引并将中心节点个数减I ;
2)个数等于1:退出节点选择一个邻居节点将自身节点状态设为中心节点,将退出节点从邻居节点列表中删除,发送跳数给其所有邻居节点;其他邻居节点将退出节点从邻居节点列表中删除后将新的中心节点加入邻居节点列表并触发拓扑控制过程;该节点退出的信息被其邻居节点以改进的Gossip协议进行广播,通知同k-派系内其他节点删除派系资源索引列表中该节点的资源索引;
所述的拓扑控制过程包括:
所有非中心节点当邻居节点列表信息发生更新时重新计算自身跳数:
O如果新跳数比原跳数小,将跳数更新后把新跳数发送给其所有邻居节点;
2)如果新跳数比原跳数大1,则依次向所有与自身原跳数相同的邻居节点发送请求,直至找到比原跳数小的节点加入邻居节点列表为止;若遍历所有相同跳数邻居节点无法找到比原跳数小的节点,该节点广播发送请求信息以寻找一个小于原跳数的同派系节点加入邻居节点列表;如果在规定时间内没有得到原派系节点的回应,该节点发送新加入请求重新加入覆盖网;
3)如果新跳数比原跳数大2,该节点广播发送请求信息以寻找一个小于等于原跳数的同派系节点加入邻居节点列表;收到请求信息的相同跳数节点直接用小于自身跳数的邻居节点信息进行回应;如果在规定时间内没有得到原派系节点的回应,该节点发送新加入请求重新加入覆盖网。
[0017]本发明还提供了上述非结构化的移动对等覆盖网在发生节点失效时的维护方法,,包括以下步骤:
在规定时间内一个节点的某个邻居节点的心跳数没有增加,该节点则认定此邻居节点已经失效;
O失效节点为非中心节点:检测节点将失效节点从邻居列表中删除,并触发拓扑控制过程。检测节点通过改进的Gossip协议广播失效节点失效的信息,以便删除派系资源索引列表中失效节点的资源索引;
2)失效节点为中心节点且中心节点个数大于1:除失效节点以外的其他所有中心节点将失效节点从邻居节点列表删除。检测节点将失效节点从邻居节点列表中删除,并触发拓扑控制过程;检测节点通过改进的Gossip协议广播失效节点失效的信息,以便删除派系资源索引列表中失效节点的资源索引,并将中心节点个数减I。
[0018]3)失效节点为中心节点且中心节点个数等于1:失效节点的邻居节点中动态状态值最大的邻居节点将自身节点状态设为中心节点,将失效节点从邻居节点列表中删除,发送自身信息及失效节点信息给其k_派系内所有其他节点;收到消息的邻居节点将失效节点从邻居列表中删除,将新的中心节点加入邻居列表,并删除派系资源索引列表中失效节点的资源索引。
[0019]采用了上述技术方案后,当非中心节点退出或失效时,所有邻居节点将该节点从邻居节点列表中删除后重新计算跳数,如果跳数发生变化,则并触发拓扑控制过程。该节点退出或失效的信息被广播以删除同派系资源列表中该节点的资源索引。中心节点退出或失效时,该节点的所有邻居节点首先判断同派系中心节点的个数,分别做相应的处理后触发拓扑控制过程。
[0020]拓扑控制过程根据节点自身跳数的变化来调整移动对等覆盖网络的拓扑结构,保证已经形成的k-派系结构其k值不会随着节点的退出或失效而增大,从而在节点扰动的情况下提高了系统资源查询的性能和拓扑结构的稳定性。
【专利附图】

【附图说明】
[0021]图1是本发明的移动对等覆盖网中各装置的关系示意图;
图2是移动覆盖网节点加入过程示意图;
图3是节点构建移动对等覆盖网拓扑结构的工作流程图;
图4是节点退出时的工作流程图;
图5是节点失效时的工作流程图;
图6是拓扑控制过程示意图。
[0022]图中:黑色节点为中心节点,灰色节点为同时充当外联节点的普通节点,白色节点为普通节点。实线表示派系内节点间链接,虚线表示相邻派系的邻居节点间链接。
【具体实施方式】
[0023]下面结合附图对本发明做进一步说明。
[0024]本发明以k_派系为基本单位构建了一个具有k_派系社区结构的非结构化覆盖网。在该覆盖网中,每个节点只属于一个k-派系。为了实现该拓扑结构,需要两种不同的节点,其中一种为中心节点,指的是每个k-派系形成时的初始节点。另一种为普通节点,其在中心节点的支持下实现派系内节点间互联。
[0025]普通节点可以同时充当外联节点,外联节点是指邻居节点中包含不同派系节点信息的节点。为了访问不同派系的资源,每个节点都存储一张外联节点列表,记录其所在派系中所有外联节点地址。
[0026]图1为一个基于k_派系社区结构的移动对等覆盖网络结构示意图。图中每个圆圈代表了一个节点。图1中黑色节点为中心节点,灰色节点为同时充当外联节点的普通节点,白色节点为普通节点。实线表示派系内节点间链接,虚线表示相邻派系的邻居节点间链接。
[0027]如图1可见,本发明提供了一种非结构化的移动对等覆盖网,包括至少一个k_派系子网,所述的k_派系子网包括至少一个中心节点,还包括多个普通节点;所述的任意一个普通节点都至少和一个中心节点有一条联通路径,且跳数小于等于k/2 ;所有节点提供对其它节点可读的自身资源索引,所有节点存储一张派系资源索引列表,其中包含所有邻居节点信息。
[0028]在覆盖范围较小的情形下,可以允许只有一个中心节点。在存在多个中心节点的情况下,任意两个中心节点之间都有链接。
[0029]同派系内,任一个中心节点、普通节点或外联节点的相邻节点称为其邻居节点。
[0030]图2图示了节点加入移动对等覆盖网和形成k_派系的过程。包括以下步骤:
A、移动终端发出k-派系子网创建信息,指定所建k-派系子网的中心节点数k,并将自身指定为中心节点,跳数j=0,指定社区号C ;提供对其它节点可读的自身资源索引;
B、后续加入覆盖网的节点发出搜索信号,收到其它节点的回应后,判定所在k-派系子网的中心节点数是否达到k个,如不足k个,则将自身自身状态设定为中心节点,如达到k个,将自身状态设定为普通节点;所有节点同时提供对其它节点可读的自身资源索引;
C、所有节点更新所在派系的派系资源索引列表。
[0031]也即是说,最开始加入覆盖网的多个节点设置自身为中心节点,然后加入覆盖网的节点在加入回应节点为邻居节点的同时,加入回应节点的多个邻居节点为其邻居节点,逐渐形成k-派系结构。
[0032]图3为节点加入过程的基本流程图。每一个新加入的节点P先根据自身的处理能力和网络链接等情况计算节点初始状态值S,然后发送新加入消息以获取覆盖网中已存在节点的回应。S的计算如(I)式所示,其中C为移动节点CPU分值,m为移动节点内存值,b为移动节点当前电池量,η为移动节点当前网络带宽;cmax为所有移动节点CPU最高分值,mmax为所有移动节点最大内存值,bmax为移动节点最大电池量,nmax为所有移动节点最大带宽。
[0033]
【权利要求】
1.一种非结构化的移动对等覆盖网,包括至少一个k-派系子网,所述的k-派系子网包括至少一个中心节点,还包括多个普通节点;所述的任意一个普通节点都至少和一个中心节点有一条联通路径;所有节点提供对其它节点可读的自身资源索引,所有节点存储一张派系资源索引列表,以及一张邻居节点列表。
2.如权利要求1所述的非结构化的移动对等覆盖网,其特征在于:在所述的派系资源索引列表中,邻居节点按自身动态状态值进行降序排序。
3.如权利要求1所述的非结构化的移动对等覆盖网,其特征在于:所述的k-派系子网的普通节点中至少有一个同时充当外联节点,多个k-派系子网通过外联节点互相通信;所述的k-派系子网的每个节点都存储一张外联节点列表,记录其所在派系中所有外联节点地址。
4.权利要求1、2或3所述的非结构化的移动对等覆盖网的构建方法,包括以下步骤: A、移动终端发出k-派系子网创建信息,指定所建k-派系子网的中心节点数k,并将自身指定为中心节点,跳数j=0,指定社区号C ;提供对其它节点可读的自身资源索引; B、后续加入覆盖网的节点发出搜索信号,收到其它节点的回应后,判定所在k-派系子网的中心节点数是否达到k个,如不足k个,则将自身自身状态设定为中心节点,如达到k个,将自身状态设定为普通节点;所有节点同时提供对其它节点可读的自身资源索引; C、所有节点更新所在派系的派系资源索引列表。
5.如权利要求4所 述的非结构化的移动对等覆盖网的构建方法,其特征在于:还包括以下步骤: A、所有普通节点发出外联请求; B、任意普通节点在接收到相邻派系的外联请求后作出回应,回应的双方都将自身设定为外联节点并建立派系间链接; C、已经建立派系间链接的外联节点将自身信息向所在派系内节点广播; D、所述的k-派系子网的每个节点更新外联节点列表,记录其所在派系中所有外联节点地址。
6.权利要求1、2或3所述非结构化的移动对等覆盖网在发生节点退出时的维护方法,包括以下步骤: 在有节点退出覆盖网时,首先判断节点是否为中心节点; A、如果是非中心节点退出覆盖网时,该节点发送一条退出消息给同k-派系内所有邻居节点,其邻居节点将其从邻居节点列表中删除后重新计算跳数,如果跳数发生变化,则触发拓扑控制过程;该节点退出的信息被其邻居节点以改进的Gossip协议进行广播,通知同k-派系内其他节点删除派系资源索引列表中该节点的资源索引; B、如果是中心节点退出覆盖网时,发送一条退出消息给同k-派系内所有邻居节点,其邻居节点收到消息后,首先判断派系的中心节点个数: 1)个数大于1:其他中心节点将其从邻居节点列表中删除;所有非中心邻居节点将该节点从邻居节点列表中删除,并触发拓扑控制过程;该节点退出的信息被其邻居节点以改进的Gossip协议进行广播,通知同k-派系内其他节点删除派系资源索引列表中该节点的资源索引并将中心节点个数减I ; 2)个数等于1:退出节点选择一个邻居节点将自身节点状态设为中心节点,将退出节点从邻居节点列表中删除,发送跳数给其所有邻居节点;其他邻居节点将退出节点从邻居节点列表中删除后将新的中心节点加入邻居节点列表并触发拓扑控制过程;该节点退出的信息被其邻居节点以改进的Gossip协议进行广播,通知同k-派系内其他节点删除派系资源索引列表中该节点的资源索引; 所述的拓扑控制过程包括: 所有非中心节点当邻居节点列表信息发生更新时重新计算自身跳数: O如果新跳数比原跳数小,将跳数更新后把新跳数发送给其所有邻居节点; 2)如果新跳数比原跳数大1,则依次向所有与自身原跳数相同的邻居节点发送请求,直至找到比原跳数小的节点加入邻居节点列表为止;若遍历所有相同跳数邻居节点无法找到比原跳数小的节点,该节点广播发送请求信息以寻找一个小于原跳数的同派系节点加入邻居节点列表;如果在规定时间内没有得到原派系节点的回应,该节点发送新加入请求重新加入覆盖网; 3)如果新跳数比原跳数大2,该节点广播发送请求信息以寻找一个小于等于原跳数的同派系节点加入邻居节点列表 ;收到请求信息的相同跳数节点直接用小于自身跳数的邻居节点信息进行回应;如果在规定时间内没有得到原派系节点的回应,该节点发送新加入请求重新加入覆盖网。
7.权利要求1、2或3所述非结构化的移动对等覆盖网在发生节点失效时的维护方法,包括以下步骤: 在规定时间内一个节点的某个邻居节点的心跳数没有增加,该节点则认定此邻居节点已经失效; O失效节点为非中心节点:检测节点将失效节点从邻居列表中删除,并触发拓扑控制过程;检测节点通过改进的Gossip协议广播失效节点失效的信息,以便删除派系资源索引列表中失效节点的资源索引; 2)失效节点为中心节点且中心节点个数大于1:除失效节点以外的其他所有中心节点将失效节点从邻居节点列表删除;检测节点将失效节点从邻居节点列表中删除,并触发拓扑控制过程;检测节点通过改进的Gossip协议广播失效节点失效的信息,以便删除派系资源索引列表中失效节点的资源索引,并将中心节点个数减I ; 3)失效节点为中心节点且中心节点个数等于1:失效节点的邻居节点中动态状态值最大的邻居节点将自身节点状态设为中心节点,将失效节点从邻居节点列表中删除,发送自身信息及失效节点信息给其k-派系内所有其他节点;收到消息的邻居节点将失效节点从邻居列表中删除,将新的中心节点加入邻居列表,并删除派系资源索引列表中失效节点的资源索引。
【文档编号】H04L12/751GK103533597SQ201310477661
【公开日】2014年1月22日 申请日期:2013年10月14日 优先权日:2013年10月14日
【发明者】李军 申请人:李军
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1