CN112306688A - 一种创新的适用于云存储的哈希一致算法 - Google Patents
一种创新的适用于云存储的哈希一致算法 Download PDFInfo
- Publication number
- CN112306688A CN112306688A CN202011197889.9A CN202011197889A CN112306688A CN 112306688 A CN112306688 A CN 112306688A CN 202011197889 A CN202011197889 A CN 202011197889A CN 112306688 A CN112306688 A CN 112306688A
- Authority
- CN
- China
- Prior art keywords
- hash
- storage medium
- weight
- uuid
- cloud storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000012937 correction Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种创新的适用于云存储的哈希一致算法,包括以下步骤:S1:对存储介质属性进行修改,并将存储介质的uuid和权重记录到指定路径的配置文件中;S2:云存储服务通过配置文件获取每个存储介质的uuid和权重并存入内存中;S3:将65536个虚拟节点的编号和每个存储介质的uuid作哈希并取该哈希值进行计算,对哈希值进行计算;S4:将计算的结果记录并选出最大的作为落点;S5:将65536个虚拟节点的落点都计算完成后并记录对应关系,利用权重修正计算修正;S6:进行两次修正得到最终的结果。本发明所述的一种创新的适用于云存储的哈希一致算法解决了现有的哈希一致性算法在应用在云存储中,计算落点不均衡,无法使用大数量的虚拟节点的问题。
Description
技术领域
本发明属于哈希一致性算法领域,尤其是涉及一种创新的适用于云存储的哈希一致算法。
背景技术
云存储是基于云计算衍生和发展出来的,将网络中各类存储设备汇集在云计算系统中通过云计算组织起来协同工作,对外提供数据存储和业务访问的功能。相比较传统的存储系统,云存储更加稳定,可扩展性好,自动负载均衡,超大的存储容量和超高的聚合性。目前现有的哈希一致性算法在应用在云存储中,即钻落点不均衡,无法使用大数量的虚拟节点。
发明内容
有鉴于此,本发明创提出一种创新的适用于云存储的哈希一致算法以解决现有的哈希一致性算法在应用在云存储中,计算落点不均衡,无法使用大数量的虚拟节点的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种创新的适用于云存储的哈希一致算法,包括以下步骤:
S1:对存储介质属性进行修改,并将存储介质的uuid和权重记录到指定路径的配置文件中;
S2:云存储服务通过配置文件获取每个存储介质的uuid和权重并存入内存中;
S3:将65536个虚拟节点的编号和每个存储介质的uuid作哈希并取该哈希值的高16位进行计算,对哈希值进行计算;
S4:将计算的结果记录并选出这一组存储介质中最大的作为落点;
S5:将65536个虚拟节点的落点都计算完成后并记录对应关系,利用权重修正计算方法来修正;
S6:进行两次修正得到最终的结果。
进一步的,步骤S6中利用的re权重修正计算方法如下:
count为本次计算每个存储介质中虚拟节点的个数,weight为权重,reweight为修正值。
进一步的,步骤S1中利用的对存储介质属性进行修改是指通过sgdisk指令修改存储介质的ID_PART_ENTRY_NAME和ID_PART_ENTRY_TYPE属性,将ID_PART_ENTRY_NAME属性修改为云存系统指定的名称,将ID_PART_ENTRY_TYPE属性修改为全局唯一的uuid并将该uuid及权重记录到配置文件中。
进一步的,步骤S3中利用的并取该哈希值的高16位进行计算的方法如下:x=hash
hash是求取哈希的算法,x是通过hash得到的哈希值。
进一步的,步骤S3中利用的对哈希值进行计算的方法如下:
t是哈希值与65536的比值,t在0-1范围内。
相对于现有技术,本发明具有以下优势:
(1)采用uuid作为云存系统识别存储介质(硬盘)的标识,实现存储介质在系统中位置的漂移对已存储的数据不造成影响。
(2)实现了不同容量的存储介质在一台服务器上的混插。
(3)采用65536个虚拟节点进行分配,存储介质的容量作为权重(权重),并通过2次调整使得65536个虚拟节点更加均匀的落在每一个存储介质上,使得数据分布更加均衡。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的一种创新的适用于云存储的哈希一致算法示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,一种创新的适用于云存储的哈希一致算法,包括以下步骤:
S1:对存储介质属性进行修改,并将存储介质的uuid和权重记录到指定路径的配置文件中;
S2:云存储服务通过配置文件获取每个存储介质的uuid和权重并存入内存中;
S3:将65536个虚拟节点的编号和每个存储介质的uuid作哈希并取该哈希值的高16位进行计算,对哈希值进行计算;
S4:将计算的结果记录并选出这一组存储介质中最大的作为落点;
S5:将65536个虚拟节点的落点都计算完成后并记录对应关系,利用权重修正计算方法来修正;
S6:进行两次修正得到最终的结果。
进一步的,步骤S6中利用的re权重修正计算方法如下:
count为本次计算每个存储介质中虚拟节点的个数,weight为权重,reweight为修正值。
进一步的,步骤S1中利用的对存储介质属性进行修改是指通过sgdisk指令修改存储介质的ID_PART_ENTRY_NAME和ID_PART_ENTRY_TYPE属性,将ID_PART_ENTRY_NAME属性修改为云存系统指定的名称,将ID_PART_ENTRY_TYPE属性修改为全局唯一的uuid并将该uuid及权重记录到配置文件中。
进一步的,步骤S3中利用的并取该哈希值的高16位进行计算的方法如下:x=hash
hash是求取哈希的算法,x是通过hash得到的哈希值。
进一步的,步骤S3中利用的对哈希值进行计算的方法如下:
t是哈希值与65536的比值,t在0-1范围内。
云存储可以纵向或者横向的扩展存储介质来解决存储空间的不足,各个存储节点统一管理使数据能够均匀的散列到各个存储介质上以保障存储系统扩容时数据迁移量最少,从而实现负载均衡,并且需要满足数据落点的快速定位实现对外业务的访问功能,结合纠删策略可以增加数据的冗余性和可靠性。这种操作就是本次申请的“一种优化的适用于云存储的哈希一致性算法”。
存储介质属性的修改。将ID_PART_ENTRY_NAME属性修改为云存系统指定的名称,将ID_PART_ENTRY_TYPE属性修改为全局唯一的uuid并将该uuid及权重记录到配置文件中;
分配虚拟节点到存储介质。将65536个虚拟节点的编号和存储介质的uuid作哈希并抽签取最大值作为该虚拟节点落点的存储介质,根据第一次算出的结果计算并进行2次调整求得最终的结果,大量实验证明2次调整最佳,再增加次数并无明显效果增加。
采用uuid作为云存系统识别存储介质(硬盘)的标识,实现存储介质在系统中位置的漂移对已存储的数据不造成影响。实现了不同容量的存储介质在一台服务器上的混插。采用65536个虚拟节点进行分配,存储介质的容量作为weight(权重),并通过2次调整使得65536个虚拟节点更加均匀的落在每一个存储介质上,使得数据分布更加均衡。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种创新的适用于云存储的哈希一致算法,其特征在于:包括以下步骤:
S1:对存储介质属性进行修改,并将存储介质的uuid和权重记录到指定路径的配置文件中;
S2:云存储服务通过配置文件获取每个存储介质的uuid和权重并存入内存中;
S3:将65536个虚拟节点的编号和每个存储介质的uuid作哈希并取该哈希值的高16位进行计算,对哈希值进行计算;
S4:将计算的结果记录并选出这一组存储介质中最大的作为落点;
S5:将65536个虚拟节点的落点都计算完成后并记录对应关系,利用权重修正计算方法来修正;
S6:进行两次修正得到最终的结果。
3.根据权利要求2所述的一种创新的适用于云存储的哈希一致算法,其特征在于:步骤S1中利用的对存储介质属性进行修改是指通过sgdisk指令修改存储介质的ID_PART_ENTRY_NAME和ID_PART_ENTRY_TYPE属性,将ID_PART_ENTRY_NAME属性修改为云存系统指定的名称,将ID_PART_ENTRY_TYPE属性修改为全局唯一的uuid并将该uuid及权重记录到配置文件中。
4.根据权利要求1所述的一种创新的适用于云存储的哈希一致算法,其特征在于:步骤S3中利用的并取该哈希值的高16位进行计算的方法如下:
x=hash
hash是求取哈希的算法,x是通过hash得到的哈希值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197889.9A CN112306688A (zh) | 2020-10-30 | 2020-10-30 | 一种创新的适用于云存储的哈希一致算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011197889.9A CN112306688A (zh) | 2020-10-30 | 2020-10-30 | 一种创新的适用于云存储的哈希一致算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112306688A true CN112306688A (zh) | 2021-02-02 |
Family
ID=74334106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011197889.9A Pending CN112306688A (zh) | 2020-10-30 | 2020-10-30 | 一种创新的适用于云存储的哈希一致算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306688A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855294A (zh) * | 2012-08-13 | 2013-01-02 | 北京联创信安科技有限公司 | 一种智能哈希数据布局方法、集群存储系统及其方法 |
CN104050270A (zh) * | 2014-06-23 | 2014-09-17 | 成都康赛信息技术有限公司 | 一种基于一致性哈希算法的分布式存储方法 |
CN107154957A (zh) * | 2016-12-29 | 2017-09-12 | 贵州电网有限责任公司铜仁供电局 | 基于虚拟环负载均衡算法的分布式存储控制方法 |
CN110096227A (zh) * | 2019-03-28 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质 |
CN111245924A (zh) * | 2020-01-08 | 2020-06-05 | 北京松果电子有限公司 | 负载均衡方法及装置、计算机存储介质 |
-
2020
- 2020-10-30 CN CN202011197889.9A patent/CN112306688A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855294A (zh) * | 2012-08-13 | 2013-01-02 | 北京联创信安科技有限公司 | 一种智能哈希数据布局方法、集群存储系统及其方法 |
CN104050270A (zh) * | 2014-06-23 | 2014-09-17 | 成都康赛信息技术有限公司 | 一种基于一致性哈希算法的分布式存储方法 |
CN107154957A (zh) * | 2016-12-29 | 2017-09-12 | 贵州电网有限责任公司铜仁供电局 | 基于虚拟环负载均衡算法的分布式存储控制方法 |
CN110096227A (zh) * | 2019-03-28 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 数据存储方法、数据处理方法、装置、电子设备及计算机可读介质 |
CN111245924A (zh) * | 2020-01-08 | 2020-06-05 | 北京松果电子有限公司 | 负载均衡方法及装置、计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
巴子言 等: "基于虚节点的一致性哈希算法的优化", 《软件》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11271846B2 (en) | Methods, systems, and computer readable media for locality-based selection and routing of traffic to producer network functions (NFs) | |
US8806175B2 (en) | Hybrid hash tables | |
TWI682652B (zh) | 資料處理方法及裝置 | |
EP3531288A1 (en) | Data storage method, device, and system | |
US9733835B2 (en) | Data storage method and storage server | |
CN108259328B (zh) | 报文转发方法及装置 | |
CN113655969B (zh) | 一种基于流式分布式存储系统的数据均衡存储方法 | |
US20130304888A1 (en) | Method and apparatus for realizing load balance in distributed hash table network | |
CN109783564A (zh) | 支持多节点的分布式缓存方法及设备 | |
CN117581522A (zh) | 用于生成网络功能(nf)集负载信息感知的nf发现响应的方法、系统和计算机可读介质 | |
US20130182612A1 (en) | Method for Efficiently Retrieving Topology-Specific Data for Point-to-Point Networks | |
CN111917851A (zh) | 一种基于一致性哈希实现带权的负载均衡调度方法 | |
CN111614760A (zh) | 一种将物联网设备均衡分配接入的方法及装置 | |
CN112306688A (zh) | 一种创新的适用于云存储的哈希一致算法 | |
CN110597805A (zh) | 一种高效的新型内存索引结构处理方法 | |
CN112422611B (zh) | 基于分布式对象存储的虚拟桶存储处理方法和系统 | |
CN109981476A (zh) | 一种负载均衡方法和装置 | |
CN101877845B (zh) | Wlan接入网关、分场景计费系统及方法 | |
CN116647879A (zh) | 基于双智能体深度强化学习的多类型任务卸载系统及方法 | |
WO2021098433A1 (zh) | 基于各级区域平台的数据索引同步方法及其数据访问方法 | |
CN113055448B (zh) | 一种元数据管理方法及装置 | |
CN115292373A (zh) | 一种切分数据块的方法及装置 | |
WO2021174515A1 (en) | Systems and methods for data storage in the expansion of object-based storage systems | |
CN113595750A (zh) | 一种网络拓扑的划分方法、装置及网络拓扑管理设备 | |
CN112995126A (zh) | 一种多租户平台支持多种数据隔离策略的管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210202 |
|
RJ01 | Rejection of invention patent application after publication |