一种用于VoIP服务的混合型Pastry网络的制作方法

文档序号:7606888阅读:138来源:国知局
专利名称:一种用于VoIP服务的混合型Pastry网络的制作方法
技术领域
本发明涉及一种混合型I^stry网络,尤其涉及一种用于VoIP服务的混合型 Pastry网络,属于网络技术领域。
背景技术
对等网络(Peer-to-Peer,P2P),是由若干分散的互联协作的对等点(计算机或其 他终端设备)构成,节点间通过直接交互共享资源和服务。由于它具有信息分散、关系平等、 结构灵活的特点,目前被广泛应用于文件交换、信息资源共享、对等计算、实时通信信息检 索、网络游戏等方面,据统计,目前基于P2P协议产生的hternet流量已超过http访问产 生的网络流量。VoIP (Voice over Internet Protocol)简而言之就是将模拟声音讯号(Voice) 数字化,以数据封包(Data Packet)的型式在IP数据网络(IP Network)上做实时传递。 由于VoIP能够广泛利用hternet和全球IP互联的环境,提供比传统业务更多更好的服 务,且相较于传统业务,具有更低成本。作为IP网络的一种应用,VoIP随网络技术的发展 逐渐在发生变化。传统的客户端/服务器(Customer/ServenC/S)模式的网络仍在广泛的 运用于VoIP服务,在该模式下,VoIP系统将用户按域进行划分,每个域有一台服务器,用户 如需进行通话,需向服务器发送申请,由服务器查询相应用户信息。在传统的客户端/服务 器模式下,每路通话都需要通过服务器来连接、管理等,严重影响了服务器的性能,而且如 果该域内用户数目庞大时,单台服务器就会性能不足。如果使用多台服务器,那么维护服务 器又会增加配置的复杂性和增大性能损耗。每个用户都是通过该服务器来进行通话,如果 该服务器出现故障,那么该域内使用该服务器的用户将不能正常的进行通信。随着P2P网 络的发展,越来越多的VoIP服务也采用了这种技术,例如SKYPE。根据是否建立了结构化或特殊的覆盖网来区分,P2P网络大致可分为三类非结 构化P2P网络、结构化P2P网络以及介于两者之间的松散结构化P2P网络。由于结构化P2P 网络中,每个节点所维护的邻居能够按照某种全局方式组织起来,从而利于快速查找,因此 更适合于VoIP服务。例如混合结构的Chord网络,在该结构下,网络中的节点按性能被分 为超级节点和普通节点,并根据Chord算法组成Chord网络。在该结构下并没有改变VoIP 终端的设备,只是对服务器软件进行了一些改动。在该结构下,超级节点起到了客户端/服 务器模式下的服务器功能,比如注册、查找、计费和定位等。该网络对于网络中节点的查找 定位效率有了一定的提高,并解决了客户端/服务器模式给VoIP带来的一些瓶颈,而且还 充分的利用了网络中的各个节点,对网络资源进行了合理的分配。但混合结构的Chord网 络用于VoIP服务,也存在一些不足=Chord网络中的节点保存了只是该节点顺时针方向上 的一些节点信息,而由于网络电话中会出现短时间内大量的节点加入和离开,这对其容错 性带来了巨大的考验,而且其类似二分法的节点搜索机制其效率在VoIP的运用当中也不 是很高。而且由于Chord算法的搜索方式,使得有些时候搜索目标节点会出现舍近求远的 情况。

发明内容
本发明所要解决的技术问题在于克服现有混合型Chord网络用于VoIP服务所存 在的搜索效率及容错率方面的不足,提供一种用于VoIP服务的混合型I^stry网络,该混合 型网络能够有效提高搜索效率,并具有更高的容错率。下面首先对I^astry网络进行一简要介绍。Pastry网络中的节点采用环形结构分布,每个节点拥有一个128bit的节点号 (ID),用于在节点空间中标识节点位置。Pastry网络中的每个节点都需要维护一个由路由 表,叶子节点集和邻居节点集的状态表。节点收到一个带有被查询键值的路由查询消息,通 过比较检查是否在叶子节点集合的范围内。如果在叶子节点集合的范围内,则转发消息给 集合中标识符与键值最接近的节点;否则根据路由表中最长前缀优先准则选择节点作为路 由目标转发消息,如果不存在这样的节点,就从当前节点所维护的邻居集合中的节点中选 择距离该键值最接近的节点转发,直至找到存有被搜索键值的节点,或按此搜索方式搜索 完整个I^stry环。新增节点得到一个物理邻近的节点A,并给该节点发送加入网络的信息。 Pastry网络会将加入消息发送到节点ID数值和新增节点的ID数值最接近的节点B,从节 点A至节点B路径上的所有节点会将自己的状态表发送给新增节点,以初始化新增节点的 状态表。初始化完的新增节点会将自己的信息发送给状态表中的所有节点,以更新这些节 点的状态表。当相邻节点不能和某个I^astry节点通信时就认为该节点已退出。叶子节点 中节点退出时,本地节点要求叶子节点集合发送ID最大或最小的的节点把它的叶子节点 集合发过来,如果发过来的集合中存在当前叶子节点集合中没有的节点,就从中选择一个 替代。路由表节点退出时,选择退出节点路由表行中任一节点,要求它把自己路由表中的对 应节点信息发过来,若该行已经没有可用节点,就从路由表中下一行选择;该过程直至找到 替代节点,或遍历本地节点路由表为止。Pastry算法提供了一种精确的搜索机制,它依靠DHT (Distributed Hash Table, 分布式哈希表)能准确、快速地路由消息和定位数据对象。P2P网络中,内容一般使用内容 索引来表示,内容索引包括key和value两部分,其中key是内容的关键字,value是存 放内容的实际位置,因此内容索引也表示为<key,value〉对,而所有的<key,value〉对 组成了一张大的Hash表,因此该表就存储了所有的内容信息。网络中的节点随机生成一 个标识(ID),把Hash表分割成许多小块,并按照特定的规则(K和节点ID之间的映射关系) 分布到网络中去。这样给定查询内容的K值,可以根据K和节点ID之间的映射关系在网络 上找到相应的V值,从而获得存储文件的节点IP地址。本发明的思路在于将I^astry网络应用于VoIP服务,并对I^astry网络的结构进行 优化,提供一种“分层”的混合型I^astry网络,从而利用I^stry算法精确的搜索机制提VoIP 的搜索效率及容错率。具体而言,本发明采用以下技术方案
一种用于VoIP服务的混合型I^stry网络,网络中的节点分为超级节点和普通节点, 所述I^stry网络中的节点采用环形结构分布,每个节点拥有一个128bit的节点ID, 每个节点维护一个包括路由表,叶子节点集和邻居节点集的状态表,超级节点组成一个主 Pastry网络,并且每个超级节点管理一个由普通节点组成的子I^astry网络,超级节点保存 并维护其所管理的子I^astry网络中节点的全部信息;当子I^stry网络中的节点需要和其他节点进行通信时,根据I^astry算法,在所在子I^stry网络中查找,若没有,则通过管理其 所在子I^astry网络的超级节点将搜索信息发送至主I^stry网络中,主I^astry网络的超级 节点根据I^astry算法,找到管理目标节点网络的超级节点,再由该超级节点在其所维护的 子网中搜索到目标节点,完成跨子I^astry网络的通信。作为一个优选方案,所述状态表还包括最近联系节点集合,所述最近联系节点集 合中记录着最近同该节点联系的节点的信息,所述信息至少包含最近联系节点集合中每一 最近联系节点与该节点的联系次数;节点定时查看自己的最近联系节点集合,若在预先设 定的时间内某一最近联系节点的联系次数没有变化,则将该节点移出最近联系节点集合; 而当某一最近联系节点的联系次数达到一个预先设定的阈值时,就将该节点设为信任节 点,当下次该节点请求通信的时候,只需该节点发来邀请,当完成对其数字签名的确认时, 被邀请节点直接发起会话,若该信任节点在被设为信任节点后并没有发送通信邀请,且在 约定时间里最近联系节点集合中记录的节点联系次数没有变化,,则取消其作为信任节点, 并将该节点移出最近联系节点集合。作为另一优选方案,超级节点发现其它子I^Stry网络中的节点访问该超级节 点所管理的子I^astry网络的频率较频繁时,就邀请该节点加入该超级节点所管理的子 Pastry网络中,如果该节点同意,则其所属的原子I^astry网络就将其删除,而后该节点加 入到邀请它的子I^astry网络。作为又一优选方案,该网络中某一节点所维护的状态表发生改变时,该节点就将 状态表信息发送给状态表内的节点,同时附带一个时间戳,以更新这些节点的状态表;当该 节点收到状态表内节点的反馈信息时,根据时间戳判断自己在这段时间内状态表是否又进 行了更新,若有,则再次发送状态表更新信息,若无,则不再发送。进一步地,当有新的节点加入子I^stry网络时,管理该子I^astry网络的超级节点 对新加入节点的性能进行检测,如新加入节点性能强于该超级节点时,则当前的超级
节点将自己维护的子网的节点信息发送给新加入的节点,同时根据I^stry算法,当前的超 级节点退出主I^astry网络,新加入的节点根据I^stry算法加入主I^stry网络中,成为维 护自己所在子网的超级节点,完成超级节点的更替。本发明将混合结构P2P模型与I^stry网络相结合,提出了一种用于VoIP服务的 混合型I^astry网络,将超级节点组成一个主I^astry网络,并且每个超级节点管理一个由普 通节点组成的子I^astry网络。这种机制下,不仅解决了传统VoIP对服务器性能的困扰,而 且具有以下特点。一、本发明根据节点性能合理运用节点资源,没有造成网络资源的浪费。现有结构 化P2P网络下的I^stry网络由于其网络节点数目庞大,而且短时间内节点的增加与删除 较多从而使引入节点状态表的时间戳机制较困难,而本发明所采用的这种结构使得I^astry 子网中的节点数大幅下降,从而可进一步地引入时间戳机制使节点状态表更及时的更新, 这对于网络通话的实时性具有重要的作用。二、本发明将频率分组与I^stry网络相结合,利用I^stry网络节点易增加维护的 特点,实现节点的动态调整,使得最终大部分节点间的通信能够在同一个子I^astry网络中 实现,进一步减少了节点跨子网间的搜索及通信消耗。三、由于节点间的通话连接是靠SIP协议控制的,当节点间进行通信时,都需要SIP进行类似“三次握手“的方式连接,而由网络电话的特点短时间内频繁短暂的联系,势 必会造成大部分的资源用在节点之间的连接上。因此,本发明采用信任模式,增加一项最近 联系节点表至节点状态表中,当最近联系节点联系次数较多时,则将其设定为信任节点,当 下次该节点请求通信的时候,只需该节点发来邀请,当完成对其数字签名的确认时,被邀请 节点直接发起会话,省略了之间的多次的确认过程。


图1为本发明的混合型I^astry网络系统框架模型图2为本发明的混合型I^stry网络所使用的动态联系频率分组过程示意图; 图3为本发明的混合型I^stry网络中节点间进行通信的流程图。
具体实施例方式下面结合附图对本发明的技术方案进行详细说明
本发明的用于VoIP服务的混合型I^stry网络,其结构如附图1所示,网络中的节点分 为超级节点和普通节点,所述I^astry网络中的节点采用环形结构分布,每个节点拥有一个 128bit的节点ID,每个节点维护一个包括路由表,叶子节点集、邻居节点集以及最近联系 节点集合的状态表,所述最近联系节点集合中记录着最近同该节点联系的节点的信息,所 述信息至少包含最近联系节点集合中每一最近联系节点与该节点的联系次数。超级节点组 成一个主I^stry网络,并且每个超级节点管理一个由普通节点组成的子I^astry网络,超级 节点保存并维护其所管理的子I^astry网络中节点的全部信息;当子I^stry网络中的节点 需要和其他节点进行通信时,根据I^astry算法,在所在子I^stry网络中查找,若没有,则通 过管理其所在子I^astry网络的超级节点将搜索信息发送至主I^stry网络中,主I^stry网 络的超级节点根据I^astry算法,找到管理目标节点网络的超级节点,再由该超级节点在其 所维护的子网中搜索到目标节点,完成跨子I^astry网络的通信。网络电话通讯的特点在于节点间的通信通常集中在一个“圈子”中,而在现有的 混合型VoIP通信网络中,,有些节点之间的通讯比较频繁,但是其不一定在一个子网中,每 次通讯时都需通过超级节点在主网中搜索到对应节点所在的子网,比较耗费网络资源。因 此采用了动态联系频率分组的方案来解这个问题,所谓动态联系频率分组就是当某一超级 节点在维护子网中节点信息时发现有其它子网中的节点过频繁的访问自己维护子网中的 节点时,就发出一个邀请信息,邀请该节点加入自己维护的子网,邀请信息按I^astry算法 发送到维护目标节点网络的超级节点上,再由该超级节点转发至目标节点,目标节点根据 节点的实际情况确定是否加入。当邀请通过目标节点的确认时,被邀请节点就退出原来的 I^stry子网,由I^astry算法加入新的子网。例如,当超级节点Pl发现其所管理的子网中的 普通节点m与其它子网中的普通节点N2通信联系比较频繁,则超级节点Pl在主网络中根 据I^styr算法搜索到N2所在子网的超节点P2,并向P2发送邀请信息,P2将邀请信息转发 给N2,N2收到邀请信息后,向P2发出接受邀请的信息,P2将接受邀请的信息转发给P1,然 后N2按照I^stry算法退出P2所管理的子网并加入Pl所管理的子网,整个动态联系频率 分组过程如附图2所示。这样,当两个普通节点N1、N2再次通信时,由其中一节点按I^stry 算法搜索,在同一子网中即可发现目标节点,从而省去了多次网上搜索的过程。超级节点Pl对新加入的节点N2的性能进行检测,如N2性能强于Pl时,则Pl将自己维护的子网的节点 信息发送到N2,同时根据I^stry算法,Pl退出主I^stry网络,N2根据I^stry算法加入主 Pastry网络中,成为维护自己所在子网的超级节点,而Pl则成为该子网中的普通节点,从 而完成超级节点的更替。在本发明的混合型I^stry网络中,当节点B访问本地一节点A时,节点A首先将 节点B加入到最近联系节点集合中,更新A的最近联系节点集合,并且将节点A中记录的节 点B的访问次数加1,此时比较节点B的访问次数和本机设定的信任阀值,如果访问次数超 过了阀值,则此时节点A将节点B设定为信任节点。再则,节点A中的时钟到达规定的时间 时,节点A检查节点B的访问次数是否改变,如果节点B的访问次数没有改变则节点A取消 节点B为信任节点;如果在规定时间内B的访问次数依然在增加,则任然将节点B做为节点 A的信任节点。当节点A与节点B的本次通讯结束时,经过一段时间,节点A需要同节点B 通信,此时节点A首先搜索本身的最近联系节点集合,如果集合中有节点B的信息,则发送 连接信息给节点B ;如果节点A中的最近联系节点集合已经没有了节点B的信息,此时,节 点A则根据I^stry算法搜索节点B。A、B之间进行通信的流程如附图3所示。本发明的混合型I^stry网络由于采用了“分层”的网络模式,使得I^stry子网中 的节点数大幅下降,因此可以引入现有的时间戳机制,从而可以更及时的更新节点状态表。 当网络中某一节点所维护的状态表发生改变时,该节点就将状态表信息发送给状态表内的 节点,同时附带一个时间戳,以更新这些节点的状态表;当该节点收到状态表内节点的反馈 信息时,根据时间戳判断自己在这段时间内状态表是否又进行了更新,若有,则再次发送状 态表更新信息,若无,则不再发送。时间戳机制的引入对于网络通话的实时性具有重要的作 用。
权利要求
1.一种用于VoIP服务的混合型I^stry网络,网络中的节点分为超级节点和普通节点, 所述I^stry网络中的节点采用环形结构分布,每个节点拥有一个128bit的节点ID,每个节 点维护一个包括路由表,叶子节点集和邻居节点集的状态表,其特征在于,超级节点组成一个主I^astry网络,并且每个超级节点管理一个由普通节点组成的 子I^stry网络,超级节点保存并维护其所管理的子I^stry网络中节点的全部信息;当子 Pastry网络中的节点需要和其他节点进行通信时,根据I^astry算法,在所在子I^stry网络 中查找,若没有,则通过管理其所在子I^astry网络的超级节点将搜索信息发送至主I^stry 网络中,主I^stry网络的超级节点根据I^stry算法,找到管理目标节点网络的超级节点, 再由该超级节点在其所维护的子网中搜索到目标节点,完成跨子I^stry网络的通信。
2.如权利要求1所述用于VoIP服务的混合型I^stry网络,其特征在于,所述状态表还包括最近联系节点集合,所述最近联系节点集合中记录着最近同该节点 联系的节点的信息,所述信息至少包含最近联系节点集合中每一最近联系节点与该节点的 联系次数;节点定时查看自己的最近联系节点集合,若在预先设定的时间内某一最近联系 节点的联系次数没有变化,则将该节点移出最近联系节点集合;而当某一最近联系节点的 联系次数达到一个预先设定的阈值时,就将该节点设为信任节点,当下次该节点请求通信 的时候,只需该节点发来邀请,当完成对其数字签名的确认时,被邀请节点直接发起会话, 若该信任节点在被设为信任节点后并没有发送通信邀请,且在约定时间里最近联系节点集 合中记录的节点联系次数没有变化,,则取消其作为信任节点,并将该节点移出最近联系节 点集合。
3.如权利要求2所述用于VoIP服务的混合型I^stry网络,其特征在于,当子I^stry网络中的节点需要和其他节点进行通信时,首先在该节点所维护的状态 表中的最近联系节点集合中搜索要进行通信的目标节点,如未搜索到,则根据I^stry算 法,在所在子I^astry网络中查找。
4.如权利要求1、2或3任一项所述用于VoIP服务的混合型I^stry网络,其特征在于,超级节点发现其它子I^astry网络中的节点访问该超级节点所管理的子I^stry网络的频率较频繁时,就邀请该节点加入该超级节点所管理的子I^astry网络中,如果该节点同 意,则其所属的原子I^astry网络就将其删除,而后该节点加入到邀请它的子I^stry网络。
5.如权利要求4所述用于VoIP服务的混合型I^stry网络,其特征在于,当有新的节点加入子I^astry网络时,管理该子I^stry网络的超级节点对新加入节点的性能进行检测,如新加入节点性能强于该超级节点时,则当前的超级节点将自己 维护的子网的节点信息发送给新加入的节点,同时根据I^astry算法,当前的超级节点退出 主I^stry网络,新加入的节点根据I^astry算法加入主I^astry网络中,成为维护自己所在 子网的超级节点,完成超级节点的更替。
6.如权利要求1、2或3所述用于VoIP服务的混合型I^stry网络,其特征在于,该网络中某一节点所维护的状态表发生改变时,该节点就将状态表信息发送给状态表 内的节点,同时附带一个时间戳,以更新这些节点的状态表;当该节点收到状态表内节点的 反馈信息时,根据时间戳判断自己在这段时间内状态表是否又进行了更新,若有,则再次发 送状态表更新信息,若无,则不再发送。
全文摘要
本发明公开了一种用于VoIP服务的混合型Pastry网络,属于网络技术领域。本发明的混合型Pastry网络中的节点分为超级节点和普通节点,超级节点组成一个主Pastry网络,并且每个超级节点管理一个由普通节点组成的子Pastry网络,超级节点保存并维护其所管理的子Pastry网络中节点的全部信息;当子Pastry网络中的节点需要和其他节点进行通信时,首先在所在子Pastry网络中查找,若没有,则通过主Pastry网络在其它子网络中搜索。本发明还利用动态联系频率分组的方法以及最近联系节点集合结合信任机制的方法,进一步提高了网络中节点间通信的搜索效率,同时引入时间戳机制使节点状态表的更新更及时,提高了网络通话的实时性。
文档编号H04L12/56GK102104518SQ20111005936
公开日2011年6月22日 申请日期2011年3月14日 优先权日2011年3月14日
发明者孙知信, 宫婧, 李威 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1