本发明专利技术涉及计算机技术领域,具体涉及一种基于Raft共识算法的分布式哈希表的生成方法,包括对分布式哈希表标识进行注册,得到新分布式哈希表标识;对将旧分布式哈希表标识定向到新分布式哈希表标识,得到定向分布式哈希表标识;基于定向分布式哈希表标识解决恶意用户,本发明专利技术本提供一种针对现有Kademlia DHT算法的改进方式,以增强DHT覆盖网络的长期稳定性。通过运行一个Raft算法的第三方辅助实体,在DHT网络之外,独立运行一个Raft共识第三方实体,可以在数据一致性上进行弥补,提高DHT网络中数据的持久性存储,进而提高DHT网络的长期稳定性,从而解决了现有的分布式哈希表生成方法稳定性较差的问题。法稳定性较差的问题。法稳定性较差的问题。
【技术实现步骤摘要】
一种基于Raft共识算法的分布式哈希表的生成方法
[0001]本专利技术涉及计算机
,尤其涉及一种基于Raft共识算法的分布式哈希表的生成方法。
技术介绍
[0002]Kademlia DHT是一种分布式哈希表算法,被大量使用于P2P文件传输系统、分布式内容路由系统中。该算法采用内容路由的思想,存储内容本身就代表路由信息,方便用户在大规模的分布式网络环境中寻找到自己想要的数据资源。
[0003]传统Kademlia DHT算法按照以下方式运行:参与DHT覆盖网络的Peer节点随机生成分布式哈希表标识,通过Bootstrap节点连接入DHT覆盖网络,通过不断查询自己的分布式哈希表标识,建立路由表。这样的算法流程中,存在以下缺点:
[0004]对于分布式哈希表标识的生成不设限制。任何节点都可以用任一预设长度的二进制数作为自己的分布式哈希表标识,这使得恶意攻击者可以冒用别人的分布式哈希表标识,或者欺骗其他Peer自己拥有某些资源。
[0005]传统的DHT算法实现会定期更换新分布式哈希表标识,以规避这样的问题。但定期生成新分布式哈希表标识,会使DHT覆盖网络上的路由表失效,Peer间需要重新建立路由表。
[0006]暂时的下线、IP的变化,会导致分布式哈希表标识的变化。由于NAT的存在,用户每次连接到DHT覆盖网络时的IP可能不一样;并且如今的移动网络发达,用户会经常在不同的IP间切换,同样也会造成DHT覆盖网路的路由表失效。
[0007]Bootstrap节点可能有恶意,或者发生单点故障。用户必须通过一个Bootstrap节点才能加入DHT网络,但是稳定的周知Bootstrap节点并不多。而且网络随时有可能发生分区现象,使得用户不能加入DHT覆盖网络。
技术实现思路
[0008]本专利技术的目的在于提供一种基于Raft共识算法的分布式哈希表的生成方法,旨在解决现有的分布式哈希表生成方法稳定性较差的问题。
[0009]为实现上述目的,本专利技术提供了一种基于Raft共识算法的分布式哈希表的生成方法,包括以下步骤:
[0010]对分布式哈希表标识进行注册,得到新分布式哈希表标识;
[0011]对所述将旧分布式哈希表标识定向到新分布式哈希表标识,得到定向分布式哈希表标识;
[0012]基于所述定向分布式哈希表标识解决恶意用户。
[0013]其中,所述对分布式哈希表标识进行注册,得到新分布式哈希表标识,包括:
[0014]参与者生成预设长度的分布式哈希表标识并提交给网络层,在服务器集群中进行查询,得到查询结果;
[0015]基于所述第一查询结果进行判断,若分布式哈希表标识已存在,则通知参与者重新生成新分布式哈希表标识,得到新分布式哈希表标识;若分布式哈希表标识不存在,则Raft算法进行一轮状态机更新,存储参与者与分布式哈希表标识间的对应关系,得到新分布式哈希表标识。
[0016]其中,所述对所述将旧分布式哈希表标识定向到新分布式哈希表标识,得到定向分布式哈希表标识,包括:
[0017]参与者生成预设长度的分布式哈希表标识并提交给网络层,在服务器集群中进行查询,得到第二查询结果;
[0018]基于所述第二查询结果进行判断,若分布式哈希表标识已存在,则通知参与者重新生成新分布式哈希表标识,得到定向分布式哈希表标识;若分布式哈希表标识不存在,则Raft算法进行一轮状态机更新,存储参与者与分布式哈希表标识间的对应关系,得到定向分布式哈希表标识;
[0019]将旧分布式哈希表标识定向至所述新分布式哈希表标识,得到定向分布式哈希表标识。
[0020]其中,所述基于所述定向分布式哈希表标识解决恶意用户,包括:
[0021]识别冒用分布式哈希表标识的恶意用户。
[0022]服务器集群基于所述定向分布式哈希表标识使用算法的任期来解决恶意用户。
[0023]其中,所述算法为共识算法。
[0024]本专利技术的一种基于Raft共识算法的分布式哈希表的生成方法,对分布式哈希表标识进行注册,得到新分布式哈希表标识;对所述将旧分布式哈希表标识定向到新分布式哈希表标识,得到定向分布式哈希表标识;基于所述定向分布式哈希表标识解决恶意用户,本专利技术本提供一种针对现有Kademlia DHT算法的改进方式,以增强DHT覆盖网络的长期稳定性。通过运行一个Raft算法的第三方辅助实体,在DHT网络之外,独立运行一个Raft共识第三方实体,可以在数据一致性上进行弥补,提高DHT网络中数据的持久性存储,进而提高DHT网络的长期稳定性,从而解决了现有的分布式哈希表生成方法稳定性较差的问题。
附图说明
[0025]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1是本专利技术提供的总体结构图。
[0027]图2是DHT ID注册的流程图。
[0028]图3是DHT ID变更的流程图。
[0029]图4是DHT ID冲突的流程图。
[0030]图5是本专利技术提供的一种基于Raft共识算法的分布式哈希表的生成方法的流程图。
具体实施方式
[0031]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。
[0032]请参阅图1至图5,本专利技术提供一种基于Raft共识算法的分布式哈希表的生成方法,包括以下步骤:
[0033]S1对分布式哈希表标识进行注册,得到新分布式哈希表标识;
[0034]S11参与者生成预设长度的分布式哈希表标识并提交给网络层,在服务器集群中进行查询,得到第一查询结果;
[0035]具体的,对DHT ID进行注册:参与者生成预设长度的DHT ID后,提交给网络层,网络层作为服务代理,将DHT ID在ETCD中进行查询。
[0036]S12基于所述第一查询结果进行判断,若分布式哈希表标识已存在,则通知参与者重新生成新分布式哈希表标识,得到新分布式哈希表标识;若分布式哈希表标识不存在,则Raft算法进行一轮状态机更新,存储参与者与分布式哈希表标识间的对应关系,得到新分布式哈希表标识。
[0037]具体的,如果ID已存在,则通知参与者重新生成新的DHT ID;如果DHT ID不存在,则Raft算法进行一轮状态机更新,存储参与者与DHT ID间的对应关系。通过这一步骤,参与者声明自己是DHT ID的所有者。
[0038]S2对所述将旧分布式哈希表标识定向到新分布式哈希表标识,得到定向分布式哈希表标识;
[0039]S21本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于Raft共识算法的分布式哈希表的生成方法,其特征在于,包括以下步骤:对分布式哈希表标识进行注册,得到新分布式哈希表标识;对所述将旧分布式哈希表标识定向到所述新分布式哈希表标识,得到定向分布式哈希表标识;基于所述定向分布式哈希表标识解决恶意用户。2.如权利要求1所述的一种基于Raft共识算法的分布式哈希表的生成方法,其特征在于,所述对分布式哈希表标识进行注册,得到新分布式哈希表标识,包括:参与者生成预设长度的分布式哈希表标识并提交给网络层,在服务器集群中进行查询,得到第一查询结果;基于所述第一查询结果进行判断,若分布式哈希表标识已存在,则通知参与者重新生成新分布式哈希表标识,得到新分布式哈希表标识;若分布式哈希表标识不存在,则Raft算法进行一轮状态机更新,存储参与者与分布式哈希表标识间的对应关系,得到新分布式哈希表标识。3.如权利要求2所述的一种基于Raft共识算法的分布式哈希表的生成方法,其特征在于,所述对所述将旧分布式...
【专利技术属性】
技术研发人员:陈建谟,佘堃,于钥,刘书舟,丁庆磊,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。