CN112306688A - 一种创新的适用于云存储的哈希一致算法 - Google Patents

一种创新的适用于云存储的哈希一致算法 Download PDF

Info

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
Application number
CN202011197889.9A
Other languages
English (en)
Inventor
戴林
朱建立
韩远国
王思俊
闫彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tiandy Technologies Co Ltd
Original Assignee
Tiandy Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tiandy Technologies Co Ltd filed Critical Tiandy Technologies Co Ltd
Priority to CN202011197889.9A priority Critical patent/CN112306688A/zh
Publication of CN112306688A publication Critical patent/CN112306688A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

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权重修正计算方法如下:
Figure BDA0002754517970000021
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中利用的对哈希值进行计算的方法如下:
Figure BDA0002754517970000022
Figure BDA0002754517970000023
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权重修正计算方法如下:
Figure BDA0002754517970000041
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中利用的对哈希值进行计算的方法如下:
Figure BDA0002754517970000051
Figure BDA0002754517970000052
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:进行两次修正得到最终的结果。
2.根据权利要求1所述的一种创新的适用于云存储的哈希一致算法,其特征在于:步骤S6中利用的re权重修正计算方法如下:
Figure FDA0002754517960000011
count为本次计算每个存储介质中虚拟节点的个数,weight为权重,reweight为修正值。
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得到的哈希值。
5.根据权利要求1所述的一种创新的适用于云存储的哈希一致算法,其特征在于:步骤S3中利用的对哈希值进行计算的方法如下:
Figure FDA0002754517960000021
Figure FDA0002754517960000022
t是哈希值与65536的比值,t在0-1范围内。
CN202011197889.9A 2020-10-30 2020-10-30 一种创新的适用于云存储的哈希一致算法 Pending CN112306688A (zh)

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)

* Cited by examiner, † Cited by third party
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 北京松果电子有限公司 负载均衡方法及装置、计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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