一种基于chord算法的路由表信息查找方法及系统技术方案

技术编号:27067896 阅读:37 留言:0更新日期:2021-01-15 14:49
本发明专利技术涉及一种基于chord算法的路由表信息查找方法及系统。该方法包括:为统一数据源的标识数据库建立chord环;对所述环内节点进行划分,确定多级主节点以及从属于每一级所述主节点的从节点;分别对所述主节点以及所述从节点建立主节点路由表以及从节点路由表;基于所述主节点路由表,从每两个一级主节点的区域范围内,选择热点信息节点存放热点信息;当任一所述节点服务器的客户端发送查找信息请求时,基于所述热点信息,在所述主节点路由表以及所述从节点路由表中分级查找所述查找信息请求内的请求信息位置。本发明专利技术提高了信息查找效率。

【技术实现步骤摘要】
一种基于chord算法的路由表信息查找方法及系统
本专利技术涉及标识解析和信息查找的交叉领域,特别是涉及一种基于chord算法的路由表信息查找方法及系统。
技术介绍
Chord算法是一种通过映射技术在P2P网络中快速定位资源的算法。在数据库中分布着许多服务器,每一个服务器负责存储一部分信息,这些服务器就称为存放此数据库中信息的节点,这些大量的节点就构成了chord环。传统的chord算法中,路由表的建立方法是finger[k]=(n+2k)mod2m,其中,n表示该路由表所属节点的ID,finger[k]表示路由表中的第K项。可见,传统的方法建立的路由表含有冗余项,会影响信息查找的效率,此外,受限于传统的路由表的建立方法,节点的跳转只能在(0,2m-1)的范围内,若要查找的节点位于chord环的后半段,则查找效率过低。为了提高传统的路由表的查找效率,有方法提出建立双向搜索路由表。双向搜索路由表的方法消除了路由表的冗余信息,也在一定程度上提高了查找效率,但是节点的路由表既存在正向顺序,又存在反向顺序,会为节点上键值Key的分配以及节点的信息处理带来不便。此外,还有方法提出,将路由表中的冗余项用后半段的节点ID替换掉。这种方法针对含节点数较少的chord环的优化效果较为显著,但是若节点数量较多,优化效果并不好。还有人提出了节点分区的方法,这种方法在节点管理上比较难以实现。此外,还有人提出了一种将路由表中的冗余信息用热点信息替换的思路。因此,现有的路由表建立的方法的使用条件单一,优化效果也并不十分理想,此外,当前的一些方法在实际操作的过程中虽然起到了提高查找效率的作用,但是又会带来一些其他方面的问题,比如信息的存储、节点的管理等。另外,传统的热点信息的存储方法多为删除冗余节点,替换成热点信息,这些思路只是将增加热点信息作为去除冗余项的一个方法,既不能真正存储较多有意义的热点信息,也不能减轻节点维护路由表的负担。
技术实现思路
本专利技术的目的是提供一种基于chord算法的路由表信息查找方法及系统,以解决现有的路由表信息查找方法查找效率过低的问题。为实现上述目的,本专利技术提供了如下方案:一种基于chord算法的路由表信息查找方法,包括:为统一数据源的标识数据库建立chord环;所述标识数据库包括多个节点服务器,且每个所述节点服务器的IP地址转化为一个ID值,一个ID值对应一个标识符,所述标识符为所述chord环的环内节点;将所述环内节点按照从小到大的顺序排列在圆形空间中,形成所述chord环;对所述环内节点进行划分,确定多级主节点以及从属于每一级所述主节点的从节点;分别对所述主节点以及所述从节点建立主节点路由表以及从节点路由表;基于所述主节点路由表,从每两个一级主节点的区域范围内,选择热点信息节点存放热点信息;所述热点信息为使用频率大于使用频率阈值的信息;当任一所述节点服务器的客户端发送查找信息请求时,基于所述热点信息,在所述主节点路由表以及所述从节点路由表中分级查找所述查找信息请求内的请求信息位置。可选的,所述对所述环内节点进行划分,确定多级主节点以及从属于每一级所述主节点的从节点,具体包括:获取chord环中路由表的表项数量;基于所述表项数量,在所述chord环中选择划分节点,并利用所述划分节点将整个网络空间划分为多个区域空间;每个区域空间内包括1个或多个环内节点;将每一个所述区域空间内最后一个环内节点的后继节点,作为下一个所述区域空间的一级主节点;基于所述一级主节点,获取当前选中的主节点的级数,并确定所述当前选中的主节点的级数的奇偶性;所述当前选中的主节点的级数的奇偶性包括级数为奇数情况以及级数为偶数情况;获取所述当前选中的主节点下的节点个数;根据所述当前选中的主节点的级数的奇偶性以及所述当前选中的主节点下的节点个数确定从属于当前级主节点的从节点以及下一级主节点。可选的,所述分别对所述主节点以及所述从节点建立主节点路由表以及从节点路由表,具体包括:对所述chord环中所有的一级主节点建立一级主节点的主节点路由表;所述一级主节点的主节点路由表存储除当前一级主节点本身之外的一级主节点的ID值以及所述当前一级主节点下的从节点的ID值;判断所述一级主节点下是否存在二级主节点,得到第一判断结果;若第一判断结果表示为所述一级主节点下存在二级主节点,建立二级主节点的主节点路由表;所述二级主节点的主节点路由表存储所述二级主节点所属的区域空间的一级主节点的ID值、除所述二级主节点本身之外的二级主节点的ID值以及从属于所述二级主节点下的从节点的ID值;将所述二级主节点作为所述一级主节点,建立下一级主节点的主节点路由表,直至所述一级主节点不存在下一级主节点;若第一判断结果表示为所述一级主节点下不存在二级主节点,确定从节点路由表存储所述一级主节点的ID值。可选的,所述基于所述主节点路由表,从每两个一级主节点的区域范围内,选择热点信息节点存放热点信息,具体包括:若任一所述一级主节点下只存在从节点,则只存在所述从节点的一级主节点所属的区域空间内不存放热点信息;若任一所述一级主节点下存在二级主节点或更低级主节点,则存在二级主节点或更低级主节点的一级主节点所属区域空间内存放热点信息。可选的,所述当任一所述节点服务器的客户端发送查找信息请求时,基于所述热点信息,在所述主节点路由表以及所述从节点路由表中分级查找所述查找信息请求内的请求信息位置,具体包括:获取当前节点服务器的客户端发送的查找信息请求内的信息ID;判断所述信息ID的存放位置是否存储于当前环内节点或所述当前环内节点的后继节点,得到第二判断结果;若所述第二判断结果表示为所述信息ID的存放位置不存储于当前环内节点且所述当前环内节点的后继节点,将所述信息ID发送至所述当前环内节点对应的一级主节点,并根据所述当前环内节点对应的一级主节点的主节点路由表定位到存放所述信息ID的环内节点所在的区域空间,并获取所述存放所需信息的环内节点所在的区域空间内的当前级的主节点路由表和从节点路由表存放的节点ID;基于所述当前级的主节点路由表和从节点路由表存放的节点ID,判断所述信息ID是否为当前级的热点信息,得到第三判断结果;若所述第三判断结果表示为所述信息ID为当前级的热点信息,确定当前级对应的一级主节点为所需查找的节点,并获取所述所需查找的节点的位置信息作为请求信息位置;若所述第三判断结果表示为所述信息ID不为当前级的热点信息,查找下一级的主节点路由表以及从节点路由表,直到查找到所需查找的节点。一种基于chord算法的路由表信息查找系统,包括:chord环建立模块,用于为统一数据源的标识数据库建立chord环;所述标识数据库包括多个节点服务器,且每个所述节点服务器的IP地址转化为一个ID值,一个ID值对应一个标识符,所述标识符为所述chord环的环内节点;将所述环内节点按照从小本文档来自技高网
...

【技术保护点】
1.一种基于chord算法的路由表信息查找方法,其特征在于,包括:/n为统一数据源的标识数据库建立chord环;所述标识数据库包括多个节点服务器,且每个所述节点服务器的IP地址转化为一个ID值,一个ID值对应一个标识符,所述标识符为所述chord环的环内节点;将所述环内节点按照从小到大的顺序排列在圆形空间中,形成所述chord环;/n对所述环内节点进行划分,确定多级主节点以及从属于每一级所述主节点的从节点;/n分别对所述主节点以及所述从节点建立主节点路由表以及从节点路由表;/n基于所述主节点路由表,从每两个一级主节点的区域范围内,选择热点信息节点存放热点信息;所述热点信息为使用频率大于使用频率阈值的信息;/n当任一所述节点服务器的客户端发送查找信息请求时,基于所述热点信息,在所述主节点路由表以及所述从节点路由表中分级查找所述查找信息请求内的请求信息位置。/n

【技术特征摘要】
1.一种基于chord算法的路由表信息查找方法,其特征在于,包括:
为统一数据源的标识数据库建立chord环;所述标识数据库包括多个节点服务器,且每个所述节点服务器的IP地址转化为一个ID值,一个ID值对应一个标识符,所述标识符为所述chord环的环内节点;将所述环内节点按照从小到大的顺序排列在圆形空间中,形成所述chord环;
对所述环内节点进行划分,确定多级主节点以及从属于每一级所述主节点的从节点;
分别对所述主节点以及所述从节点建立主节点路由表以及从节点路由表;
基于所述主节点路由表,从每两个一级主节点的区域范围内,选择热点信息节点存放热点信息;所述热点信息为使用频率大于使用频率阈值的信息;
当任一所述节点服务器的客户端发送查找信息请求时,基于所述热点信息,在所述主节点路由表以及所述从节点路由表中分级查找所述查找信息请求内的请求信息位置。


2.根据权利要求1所述的基于chord算法的路由表信息查找方法,其特征在于,所述对所述环内节点进行划分,确定多级主节点以及从属于每一级所述主节点的从节点,具体包括:
获取chord环中路由表的表项数量;
基于所述表项数量,在所述chord环中选择划分节点,并利用所述划分节点将整个网络空间划分为多个区域空间;每个区域空间内包括1个或多个环内节点;
将每一个所述区域空间内最后一个环内节点的后继节点,作为下一个所述区域空间的一级主节点;
基于所述一级主节点,获取当前选中的主节点的级数,并确定所述当前选中的主节点的级数的奇偶性;所述当前选中的主节点的级数的奇偶性包括级数为奇数情况以及级数为偶数情况;
获取所述当前选中的主节点下的节点个数;
根据所述当前选中的主节点的级数的奇偶性以及所述当前选中的主节点下的节点个数确定从属于当前级主节点的从节点以及下一级主节点。


3.根据权利要求2所述的基于chord算法的路由表信息查找方法,其特征在于,所述分别对所述主节点以及所述从节点建立主节点路由表以及从节点路由表,具体包括:
对所述chord环中所有的一级主节点建立一级主节点的主节点路由表;所述一级主节点的主节点路由表存储除当前一级主节点本身之外的一级主节点的ID值以及所述当前一级主节点下的从节点的ID值;
判断所述一级主节点下是否存在二级主节点,得到第一判断结果;
若第一判断结果表示为所述一级主节点下存在二级主节点,建立二级主节点的主节点路由表;所述二级主节点的主节点路由表存储所述二级主节点所属的区域空间的一级主节点的ID值、除所述二级主节点本身之外的二级主节点的ID值以及从属于所述二级主节点下的从节点的ID值;
将所述二级主节点作为所述一级主节点,建立下一级主节点的主节点路由表,直至所述一级主节点不存在下一级主节点;
若第一判断结果表示为所述一级主节点下不存在二级主节点,确定从节点路由表存储所述一级主节点的ID值。


4.根据权利要求3所述的基于chord算法的路由表信息查找方法,其特征在于,所述基于所述主节点路由表,从每两个一级主节点的区域范围内,选择热点信息节点存放热点信息,具体包括:
若任一所述一级主节点下只存在从节点,则只存在所述从节点的一级主节点所属的区域空间内不存放热点信息;
若任一所述一级主节点下存在二级主节点或更低级主节点,则存在二级主节点或更低级主节点的一级主节点所属区域空间内存放热点信息。


5.根据权利要求4所述的基于chord算法的路由表信息查找方法,其特征在于,所述当任一所述节点服务器的客户端发送查找信息请求时,基于所述热点信息,在所述主节点路由表以及所述从节点路由表中分级查找所述查找信息请求内的请求信息位置,具体包括:
获取当前节点服务器的客户端发送的查找信息请求内的信息ID;
判断所述信息ID的存放位置是否存储于当前环内节点或所述当前环内节点的后继节点,得到第二判断结果;
若所述第二判断结果表示为所述信息ID的存放位置不存储于当前环内节点且所述当前环内节点的后继节点,将所述信息ID发送至所述当前环内节点对应的一级主节点,并根据所述当前环内节点对应的一级主节点的主节点路由表定位到存放所述信息ID的环内节点所在的区域空间,并获取所述存放所需信息的环内节点所在的区域空间内的当前级的主节点路由表和从节点路由表存放的节点ID;
基于所述当前级的主节点路由表和从节点路由表存放的节点ID,判断所述信息ID是否为当前级的热点信息,得到第三判断结果;
若所述第三判断结果表示为所述信息ID为当前级的热点信息,确定当前级对应的一级主节点为所需查找的节点,并获取所述所需查找的节点的位置信息作为请求信息位置;
若所述第三判断结果表示为所述信息ID不为当前级的热点信息,查找下一级的主节点路由表以及从节点路由表,直到查找到所需查找的节点。


6.一种基于chord算法的路由表信息查找系统,其特征在于,包括:
chord环建立模块,用于为统一数据源的标识数据库建立chord环;所述标识数据库...

【专利技术属性】
技术研发人员:柴森春王瑾王昭洋张百海崔灵果李慧芳姚分喜
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1