一种Chord路由表压缩方法及优化文件查找方法技术

技术编号:14147055 阅读:78 留言:0更新日期:2016-12-11 04:10
本发明专利技术涉及一种Chord路由表压缩方法,针对Chord环中各个节点所维护的路由表,按所设计方法进行压缩,减小了各个节点维护路由表的空间代价,缩短了文件定位的时间,进而提高了整个Chord环中各个节点存储空间的使用效率和时间效率。本发明专利技术还涉及一种基于Chord路由表压缩方法的优化文件查找方法,基于上述所设计Chord路由表压缩方法所获得各节点的压缩路由表,引入二分搜索算法,能够明显减少文件定位过程中指纹对比次数,且使得文件定位过程中的指纹对比次数变得更加稳定,波动幅度较小,进一步有效提高了无中心云存储系统中文件实体实现高效定位的工作效率。

【技术实现步骤摘要】

本专利技术涉及一种Chord路由表压缩方法及优化文件查找方法,属于云存储应用

技术介绍
云存储作为一个复杂的综合系统,其核心在于内置的分布式文件系统,它是云存储的基础。所谓分布式文件系统是指文件系统管理的物理存储资源不局限在本地节点上,而是通过网络与节点相连,然后把整个分布式存储资源以统一的视图呈现给用户。目前的分布式文件系统以是否存在元数据节点可以将其分为两类:基于中心的分布式文件系统和无中心的分布式文件系统。在无中心的分布式文件系统中,目前主流的分布式文件系统是基于DHT的系统,其资源映射及查找算法是基于hash算法将文件资源和节点映射到同一个哈希空间上,然后将资源映射到存储节点上。一致性哈希算法、Kademlia算法都是目前主流的分布式哈希表(Distributed Hash Table,DHT)协议。DHT实际上是一个由网络中所有节点共同维护的巨大散列表,每个节点和资源都被分配散列表空间中的唯一标识符,每个节点按照DHT算法规则负责网络中一小部分路由信息和资源信息。根据DHT算法可以确定资源所在的存储节点,目前应用较多的典型的算法是Chord等。以Chord算法为例:Chord算法使用一个m位的标识符空间,把随机选择的标识符赋给节点,并把键值赋给特定实体。根据所用的散列函数,位数m通常为128或160。键值k对应的实体位于含有最小标识符id≥k的节点之内。该节点称为k的后继者,用succ(k)表示。所以,基于DHT系统的主要问题是如何高效的将键值k解析为succ(k)。每个存储节点都需要维护一个finger表,在进行文件查找时,目前,给定指纹值在查找节点的finger表是从finger表项的最后一项逐项往前扫描,存在最坏的情况,即“最为接近该指纹值的前驱节点”Ncp在finger表的前部比较的次数较多。Chord算法采用SHA-1算法来计算节点和资源的指纹值时,m的值为160,哈希环空间理论大小为[0,2160)。如此,每个存储节点的finger表有160个表项。在查找Ncp时,最坏的情况下需要和finger表中的表项比较160次。若查找过程中出现极端现象,如多跳节点上查找均出现最坏情况,查找时间开销会很大。而且,在每个节点存储的finger表中,一个节点对应的多个指纹值的每一项均用一行来存储,存在大量冗余,拖慢了查找速度。在查找最接近指纹值的节点Ncp算法中,Chord算法源代码中采用的是从finger表的最后一项往前逐项查找,始终找小于给定指纹值的最大值。对于无中心云存储系统而言,搜索指纹在整个重复数据查找过程中尤为重要。从后往前逐项扫描finger表对于要搜索的Ncp在finger表尾部的这种情况较优。然而,当搜索的结果在finger的中部或前部时,搜索时间就会很长,平均搜索时间较差。随着云存储的需求日益增加,云存储系统的集群规模也会越来越大,现存的资源查找方法在效率方面已经显得不足。
技术实现思路
本专利技术所要解决的技术问题是提供一种采用全新设计思想,针对Chord环中各个节点所维护的路由表进行压缩,能够针对无中心云存储系统中文件实体实现高效定位的Chord路由表压缩方法。本专利技术为了解决上述技术问题采用以下技术方案:本专利技术设计了一种Chord路由表压缩方法,针对Chord环中各个节点所维护的路由表,分别执行如下步骤,分别获得Chord环中各个节点的压缩路由表;步骤a01.初始化count=0,i=0,并获得节点所维护路由表的总行数m,以及获得Chord环中最大哈希值所对应的节点INT_MAX,然后进入步骤a02;步骤a02.将该节点赋给参数min,同时,将该节点所维护路由表中第i行的后继路由节点赋给参数max,然后进入步骤a03;步骤a03.判断i是否小于m,是则进入步骤a04,否则进入步骤a08;步骤a04.判断该节点所维护路由表中第i行的后继路由节点是否等于参数max,是则针对i的值加1,并将结果赋给i,然后返回步骤a03;否则进入步骤a05;步骤a05.以参数min所对应的节点和参数max所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间,然后进入步骤a06;步骤a06.针对count的值加1,并将结果赋给count,同时,将参数max所对应的节点赋给参数min,然后进入步骤a07;步骤a07.将该节点所维护路由表中第i行的后继路由节点赋给参数max,同时针对i的值加1,并将结果赋给i,再返回步骤a04;步骤a08.以参数min所对应的节点和参数max所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间,然后进入步骤a09;步骤a09.针对count的值加1,并将结果赋给count,然后进入步骤a10;步骤a10.以参数max所对应的节点和参数INT_MAX所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间。本专利技术所述Chord路由表压缩方法采用以上技术方案与现有技术相比,具有以下技术效果:本专利技术所设计Chord路由表压缩优化方法,针对Chord环中各个节点所维护的路由表,按所设计方法进行压缩,减小了各个节点维护路由表的空间代价,缩短了文件定位的时间,进而提高了整个Chord环中各个节点存储空间的使用效率和时间效率。基于上述所设计Chord路由表压缩方法技术方案的基础之上,本专利技术还要解决的技术问题是引入全新文件查找模式,能够更加便捷地针对无中心云存储系统中的文件实体实现高效定位的基于Chord路由表压缩方法的优化文件查找方法。本专利技术为了解决上述技术问题采用以下技术方案:本专利技术设计了一种基于Chord路由表压缩方法的优化文件查找方法,用于查找指定目标文件所在的存储节点,包括如下步骤:步骤b01.在Chord环中的各个节点中,任选其中一个节点,作为待分析节点,并进入步骤b02;步骤b02.查找判断目标文件是否为该待分析节点的本地存储,是则确认指定目标文件的存储位置,查找结束;否则进入步骤b03;步骤b03.在Chord环中,选择该待分析节点的后继节点,查找判断目标文件是否为该后继节点的本地存储,是则确认指定目标文件的存储位置,查找结束,否则进入步骤b04;步骤b04.根据目标文件所对应的文件指纹值,以及该待分析节点压缩路由表中各节点区间分别所对应的节点指纹值区间,针对该待分析节点的压缩路由表进行查找,确定目标文件的后续查找节点,然后进入步骤b05;步骤b05.将目标文件的后续查找节点更新为待分析节点,并返回步骤b02。作为本专利技术的一种优选技术方案:所述步骤b02中,根据目标文件所对应的文件指纹值,查找判断目标文件是否为该待分析节点的本地存储;所述步骤b03中,在Chord环中,选择该待分析节点的后继节点,根据目标文件所对应的文件指纹值,查找判断目标文件是否为该后继节点的本地存储。作为本专利技术的一种优选技术方案:所述步骤b04中,根据目标文件所对应的文件指纹值,以及该待分析节点压缩路由表中各节点区间分别所对应的节点指纹值区间,采用二分搜索算法,针对该待分析节点的压缩路由表进行查找,确定目标文件的后续查找节点。作为本专利技术的一种优选技术方案:所述步骤b04具体包括如下步骤本文档来自技高网
...
一种Chord路由表压缩方法及优化文件查找方法

【技术保护点】
一种Chord路由表压缩方法,其特征在于,针对Chord环中各个节点所维护的路由表,分别执行如下步骤,分别获得Chord环中各个节点的压缩路由表;步骤a01.初始化count=0,i=0,并获得节点所维护路由表的总行数m,以及获得Chord环中最大哈希值所对应的节点INT_MAX,然后进入步骤a02;步骤a02.将该节点赋给参数min,同时,将该节点所维护路由表中第i行的后继路由节点赋给参数max,然后进入步骤a03;步骤a03.判断i是否小于m,是则进入步骤a04,否则进入步骤a08;步骤a04.判断该节点所维护路由表中第i行的后继路由节点是否等于参数max,是则针对i的值加1,并将结果赋给i,然后返回步骤a03;否则进入步骤a05;步骤a05.以参数min所对应的节点和参数max所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间,然后进入步骤a06;步骤a06.针对count的值加1,并将结果赋给count,同时,将参数max所对应的节点赋给参数min,然后进入步骤a07;步骤a07.将该节点所维护路由表中第i行的后继路由节点赋给参数max,同时针对i的值加1,并将结果赋给i,再返回步骤a04;步骤a08.以参数min所对应的节点和参数max所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间,然后进入步骤a09;步骤a09.针对count的值加1,并将结果赋给count,然后进入步骤a10;步骤a10.以参数max所对应的节点和参数INT_MAX所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间。...

【技术特征摘要】
1.一种Chord路由表压缩方法,其特征在于,针对Chord环中各个节点所维护的路由表,分别执行如下步骤,分别获得Chord环中各个节点的压缩路由表;步骤a01.初始化count=0,i=0,并获得节点所维护路由表的总行数m,以及获得Chord环中最大哈希值所对应的节点INT_MAX,然后进入步骤a02;步骤a02.将该节点赋给参数min,同时,将该节点所维护路由表中第i行的后继路由节点赋给参数max,然后进入步骤a03;步骤a03.判断i是否小于m,是则进入步骤a04,否则进入步骤a08;步骤a04.判断该节点所维护路由表中第i行的后继路由节点是否等于参数max,是则针对i的值加1,并将结果赋给i,然后返回步骤a03;否则进入步骤a05;步骤a05.以参数min所对应的节点和参数max所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间,然后进入步骤a06;步骤a06.针对count的值加1,并将结果赋给count,同时,将参数max所对应的节点赋给参数min,然后进入步骤a07;步骤a07.将该节点所维护路由表中第i行的后继路由节点赋给参数max,同时针对i的值加1,并将结果赋给i,再返回步骤a04;步骤a08.以参数min所对应的节点和参数max所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间,然后进入步骤a09;步骤a09.针对count的值加1,并将结果赋给count,然后进入步骤a10;步骤a10.以参数max所对应的节点和参数INT_MAX所对应的节点构成前闭后开节点区间,作为该节点压缩路由表第count行的后继路由节点区间。2.一种基于权利要求1所述一种Chord路由表压缩方法的优化文件查找方法,用于查找指定目标文件所在的存储节点,其特征在于,包括如下步骤:步骤b01.在Chord环中的各个节点中,任选其中一个节点,作为待分析节点,并进入步骤b02;步骤b02.查找判断目标文件是否为该待分析节点的本地存储,是则确认指定目标文件的存储位置,查找结束;否则进入步骤b03;步骤b03.在Chord环中,选择该待分析节点的后继节点,查找判断目标文件是否为该后继节点的本地存储,是则确认指定目标文件的存储位置,查找结束,否则进入步骤b04;步骤b04.根据目标文件所对应的文件指纹值...

【专利技术属性】
技术研发人员:徐小龙胡楠涂群
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

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

1