一种分布式数据一致性映射处理方法及装置制造方法及图纸

技术编号:26762570 阅读:29 留言:0更新日期:2020-12-18 23:13
本发明专利技术提出了一种分布式数据一致性映射处理方法及装置,涉及计算机技术领域。该方法包括:获取节点设置指令,并获取节点设置指令中包括的节点个数;判断节点设置指令中包括的节点个数与当前节点个数是否相同;若节点设置指令中包括的节点个数与当前节点个数不相同,则对应的需要扩容或缩容操作。在扩容或缩容操作时,为了保证扩容或缩容操作的准确性,可以获取当前节点个数对应的第一映射关系表以及节点设置指令中包括的节点个数对应的第二映射关系表;根据第一映射关系表以及第二映射关系表进行数据更新,可以准确的确定出需要进行操作的对象,从而保证了数据处理的平滑性,进而保证了该方法的高可用性,能够适应任意分布式应用的接入。

【技术实现步骤摘要】
一种分布式数据一致性映射处理方法及装置
本专利技术涉及计算机
,具体而言,涉及一种分布式数据一致性映射处理方法及装置。
技术介绍
基于分布式的应用研究一直是当前计算机领域的热点问题,分布式协议的复杂性不言而喻,为了解决分布式cache问题,自1997年一致性哈希算法的提出得到很好的解决。虽然通过一致性hash解决了分布式cache的问题,但是其中由一致性hash算法也带来了的数据倾斜的问题。并且,现有技术针对任何非分布式应用可接入分布式集群的方案也没有较好的处理方法。
技术实现思路
本专利技术的目的在于提供一种分布式数据一致性映射处理方法及装置,用以改善现有技术中无法适应任意分布式应用的接入的问题。第一方面,本申请实施例提供一种分布式数据一致性映射处理方法,方法包括:获取节点设置指令,并获取节点设置指令中包括的节点个数;判断节点设置指令中包括的节点个数与当前节点个数是否相同;若不相同,则获取当前节点个数对应的第一映射关系表以及节点设置指令中包括的节点个数对应的第二映射关系表;根据第一映射关系表以及第二映射关系表进行数据更新。上述实现过程中,若节点设置指令中包括的节点个数与当前节点个数不相同,则对应的需要扩容或缩容操作,而在扩容或缩容操作时,为了保证扩容或缩容操作的准确性,可以获取扩容或缩容前与节点个数对应的第一映射关系表,以及扩容或缩容后与节点个数对应的第二映射关系表。继而保证根据第一映射关系表以及第二映射关系表准确的确定出需要进行操作的对象,以便于后续对需要进行操作的对象进行操作,从而保证了数据处理的平滑性,进而保证了该方法的高可用性,能够适应任意分布式应用的接入。在本专利技术的一些实施例中,方法应用于包括多个物理节点的分布系统,其中,分布系统包括逻辑环状结构、主环状结构以及冗余环状结构;逻辑环状结构映射主环状结构,主环状结构映射冗余环状结构。上述实现过程中,引入逻辑环状结构、主环状结构以及冗余环状结构的设计,相对于传统hash和一致性hash算法的设计,在保障节点高可靠、高可用的前提下,还解决了数据倾斜问题,不会造成某个节点故障当时流量彻底倾斜某个节点。在本专利技术的一些实施例中,逻辑环状结构包括多个虚拟节点,多个虚拟节点的数量为根据分布系统中多个物理节点数量做乘方运算得到的值确定。上述实现过程中,物理节点数量乘方取得的数值作为逻辑环的数组容量,当任意元素散落逻辑环状结构,因为其容量进行的幂的放大并且不同于一致性hash算法规避倾斜的设计,这里散列在存储节点减少时逻辑环状结构并不会缩容,其他节点的散列通过冗余环状结构取而代之,因此无任何数据倾斜压力。在本专利技术的一些实施例中,主环状结构包括多个主环节点,主环状结构为分布系统中的多个物理节点映射的结构,主环节点的数量与分布系统中多个物理节点数量相同。在本专利技术的一些实施例中,冗余环状结构包括多个副本环节点,冗余环状结构为分布系统中的多个物理节点映射的结构,副本环节点的数量与分布系统中多个物理节点数量相同。冗余环状结构是分布系统中物理节点映射的冗余环状结构,是冗余副本的环状结构。若主环状结构中的某个主环节点发生故障,则冗余环状结构中与该故障的主环节点对应的副本环节点可作为临时的主环节点进行使用,从而避免故障导致的崩溃发生,提高了数据处理过程的稳定性。在本专利技术的一些实施例中,第一映射关系表以及第二映射关系表中均包括多个物理节点、多个虚拟节点、多个主环节点以及多个副本环节点之间的映射关系;采用首尾映射方式确定多个主环节点和多个副本环节点之间的映射关系;采用求模运算的方式确定多个虚拟节点和多个主环节点之间的映射关系。在本专利技术的一些实施例中,根据第一映射关系表以及第二映射关系表进行数据更新的步骤包括:根据第一映射关系表以及第二映射关系表确定发生变化的映射关系;根据发生变化的映射关系确定目标节点,并对目标节点进行更新操作,其中,目标节点包括主环节点以及副本环节点中的至少一个。第二方面,本申请实施例提供一种分布式数据一致性映射处理装置,装置包括:节点获取模块,用于获取节点设置指令,并获取节点设置指令中包括的节点个数;节点数判断模块,用于判断节点设置指令中包括的节点个数与当前节点个数是否相同;映射表获取模块,用于若不相同,则获取当前节点个数对应的第一映射关系表以及节点设置指令中包括的节点个数对应的第二映射关系表;数据更新模块,用于根据第一映射关系表以及第二映射关系表进行数据更新。在本专利技术的一些实施例中,装置应用于包括多个物理节点的分布系统,其中,分布系统包括逻辑环状结构、主环状结构以及冗余环状结构;逻辑环状结构映射主环状结构,主环状结构映射冗余环状结构。在本专利技术的一些实施例中,逻辑环状结构包括多个虚拟节点,多个虚拟节点的数量为根据分布系统中多个物理节点数量做乘方运算得到的值确定。在本专利技术的一些实施例中,主环状结构包括多个主环节点,主环状结构为分布系统中的多个物理节点映射的结构,主环节点的数量与分布系统中多个物理节点数量相同。在本专利技术的一些实施例中,冗余环状结构包括多个副本环节点,冗余环状结构为分布系统中的多个物理节点映射的结构,副本环节点的数量与分布系统中多个物理节点数量相同。在本专利技术的一些实施例中,第一映射关系表以及第二映射关系表中均包括多个物理节点、多个虚拟节点、多个主环节点以及多个副本环节点之间的映射关系;主副节点映射关系确定模块,用于采用首尾映射方式确定多个主环节点和多个副本环节点之间的映射关系;虚拟节点与主节点映射关系确定模块,用于采用求模运算的方式确定多个虚拟节点和多个主环节点之间的映射关系。在本专利技术的一些实施例中,数据更新模块包括:映射关系变化确定单元,用于根据第一映射关系表以及第二映射关系表确定发生变化的映射关系;目标节点确定单元,用于根据发生变化的映射关系确定目标节点,并对目标节点进行更新操作,其中,目标节点包括主环节点以及副本环节点中的至少一个。第三方面,本申请实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当一个或多个程序被处理器执行时,实现如上述第一方面中任一项的方法。第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的方法。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例提供的一种分布式数据一致性映射处理方法的流程图;图2为本专利技术实施例提供的一种分布式数据一致性映射处理装置的结构框图;图3为本专利技术实施例提供的一种电子设备的结构框图。图标:100-分布式数据一致性映射处理装置;110-节点获取模块;120-节点数判断模块;130-映射表获取模块;1本文档来自技高网...

【技术保护点】
1.一种分布式数据一致性映射处理方法,其特征在于,所述方法包括:/n获取节点设置指令,并获取所述节点设置指令中包括的节点个数;/n判断所述节点设置指令中包括的节点个数与当前节点个数是否相同;/n若不相同,则获取所述当前节点个数对应的第一映射关系表以及所述节点设置指令中包括的节点个数对应的第二映射关系表;/n根据所述第一映射关系表以及所述第二映射关系表进行数据更新;/n其中,所述第一映射关系表以及所述第二映射关系表中均包括多个物理节点、多个虚拟节点、多个主环节点以及多个副本环节点之间的映射关系;/n采用首尾映射方式确定所述多个主环节点和所述多个副本环节点之间的映射关系;/n采用求模运算的方式确定所述多个虚拟节点和所述多个主环节点之间的映射关系。/n

【技术特征摘要】
1.一种分布式数据一致性映射处理方法,其特征在于,所述方法包括:
获取节点设置指令,并获取所述节点设置指令中包括的节点个数;
判断所述节点设置指令中包括的节点个数与当前节点个数是否相同;
若不相同,则获取所述当前节点个数对应的第一映射关系表以及所述节点设置指令中包括的节点个数对应的第二映射关系表;
根据所述第一映射关系表以及所述第二映射关系表进行数据更新;
其中,所述第一映射关系表以及所述第二映射关系表中均包括多个物理节点、多个虚拟节点、多个主环节点以及多个副本环节点之间的映射关系;
采用首尾映射方式确定所述多个主环节点和所述多个副本环节点之间的映射关系;
采用求模运算的方式确定所述多个虚拟节点和所述多个主环节点之间的映射关系。


2.根据权利要求1所述的方法,其特征在于,所述方法应用于包括多个物理节点的分布系统,其中,所述分布系统包括逻辑环状结构、主环状结构以及冗余环状结构;所述逻辑环状结构映射所述主环状结构,所述主环状结构映射所述冗余环状结构。


3.根据权利要求2所述的方法,其特征在于,所述逻辑环状结构包括多个虚拟节点,所述多个虚拟节点的数量为根据所述分布系统中多个物理节点数量做乘方运算得到的值确定。


4.根据权利要求3所述的方法,其特征在于,所述主环状结构包括多个主环节点,所述主环状结构为所述分布系统中的多个物理节点映射的结构,所述主环节点的数量与所述分布系统中多个物理节点数量相同。


5.根据权利要求4所述的方法,其特征在于,所述冗余环状结构包括多个副本环节点,所述冗余环状结构为所述分布系统中的多个物理节点映射的结构,所述副本环节点的数量与所述分布系统中多个物理节点数量相同...

【专利技术属性】
技术研发人员:赵熙
申请(专利权)人:南京云信达科技有限公司
类型:发明
国别省市:江苏;32

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

1