一种数据存储的方法、装置、设备以及云存储系统制造方法及图纸

技术编号:17737658 阅读:23 留言:0更新日期:2018-04-18 13:36
本发明专利技术公开了一种数据存储的方法,包括:利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;从所述各数据对象的ID值所在位置开始,沿着预设方向在所述地址空间中寻找所述各存储节点的ID值;将数据存储到寻找到的首个存储节点的ID值对应的存储节点中。该方法可以减少存储设备增加或退出时,数据迁移对存储系统整体性能的影响,为存储系统中存储资源的扩展提供了有力支持,保持了各存储节点之间数据对象的均匀分布,具有高效的数据寻址机制。本发明专利技术还公开了一种数据存储的装置、设备、计算机可读存储介质以及云存储系统,均具有上述技术效果。

A data storage method, device, device, and cloud storage system

The invention discloses a method, a data store includes: calculate the storage nodes using hash function ID value and ID value of each data object; respectively the storage node of the ID value and the ID value of each data object is mapped to a circular address space; the location from the beginning the data object ID, find the direction along the preset storage node ID value in the address space; the data stored in the first storage node to find the storage node in the corresponding ID value. The method can reduce the storage device to increase or exit, data migration impact on the overall performance of the storage system, provides a strong support for the expansion of storage resources in the storage system, maintain a uniform distribution of data objects between each storage node, with efficient data addressing mechanism. The invention also discloses a data storage device, a device, a computer readable storage medium and a cloud storage system, all of which have the above technical effects.

【技术实现步骤摘要】
一种数据存储的方法、装置、设备以及云存储系统
本专利技术涉及网络存储
,特别涉及一种数据存储的方法;还涉及一种数据存储的装置、设备、计算机可读存储介质以及云存储系统。
技术介绍
随着现代存储技术的发展,网络存储系统逐步进入了云时代。云存储系统以传统的分布式存储技术为基础,利用高吞吐率网络技术为依托,一方面高效地整合管理网络存储资源,另一方面对外提供友好的接口,发布便捷的网络数据存储服务。云存储技术迎来了高速发展的契机,同时在技术方面也面临着诸多挑战。首先,随着数据信息总量的扩大,存储系统为了满足需求必须不断地动态扩大存储规模。这使得存储系统必须能够支持新的存储节点不断加入,同时确保数据在各个存储节点的均匀分布,满足存储空间以及在网络带宽的负载均衡。因此,如何合理地将数据存储到存储设备中,并简化寻址过程是本领域技术人员亟待解决的技术问题。
技术实现思路
本专利技术的目的是提供一种数据存储的方法,所述方法可以实现数据对象在存储节点之间均匀分配,减少了存储设备增加或退出时对存储系统整体性能的影响。本专利技术的另一个目的是提供一种数据存储的装置、设备、计算机可读存储介质以及云存储系统,均具有上述技术效果。为解决上述技术问题,本专利技术提供了一种数据存储的方法,包括:利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;从所述各数据对象的ID值所在位置开始,沿着预设方向在所述地址空间中寻找所述各存储节点的ID值;将数据存储到寻找到的首个存储节点的ID值对应的存储节点中。优选的,还包括:更新所述存储节点的资源利用率;比较所述存储节点的资源利用率与门限值的大小;其中,所述门限值包括下限阈值和上限阈值;若所述存储节点的资源利用率小于所述下限阈值,则增加所述存储节点的虚拟节点个数;若所述存储节点的资源利用率大于所述上限阈值,则减少所述存储节点的虚拟节点个数。优选的,所述更新存储节点的资源利用率包括:统计所述存储节点分配的地址空间的大小;将所述存储节点分配的地址空间的大小与所述存储节点分配的调节因子作比值,获得所述存储节点的资源利用率。优选的,所述增加所述存储节点的虚拟节点个数包括:将申请虚拟节点的请求信息发送至主控端;当所述主控端响应所述请求信息后,调用Join函数增加所述存储节点的虚拟节点个数。本专利技术还提供了一种数据存储的装置,包括:计算模块,用于利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;映射模块,用于分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;查找模块,用于从所述各数据对象的ID值所在位置开始,沿着预设方向在所述圆环形的地址空间中寻找所述各存储节点的ID值;存储模块,用于将数据存储到寻找到的首个存储节点的ID值对应的存储节点中。优选的,还包括:更新模块,用于更新所述存储节点的资源利用率;比较模块,用于比较所述存储节点的资源利用率与门限值的大小;其中,所述门限值包括下限阈值与上限阈值;第一执行模块,用于若所述存储节点的资源利用率小于所述下限阈值,则增加所述存储节点的虚拟节点个数;第二执行模块,用于若所述存储节点的资源利用率大于所述上限阈值,则减少所述存储节点的虚拟节点个数。优选的,所述更新模块包括:统计子模块,用于统计所述存储节点分配的地址空间的大小;计算子模块,用于将所述存储节点分配的地址空间的大小与所述存储节点分配的调节因子作比值,得到所述存储节点的资源利用率。本专利技术还提供了一种数据存储设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任一项所述的数据存储方法的步骤。本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的数据存储方法的步骤。本专利技术还提供了一种云存储系统,包括:客户端,用于提供与元数据服务器以及存储资源池通信的接口;所述元数据服务器,用于管理用户数据的元数据信息以及所述用户数据的存放位置;所述存储资源池,用于保存所述用户数据并对所述用户数据进行容错、容灾处理。本专利技术所提供的数据存储的方法,包括:利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;从所述各数据对象的ID值所在位置开始,沿着预设方向在所述地址空间中寻找所述各存储节点的ID值;将数据存储到寻找到的首个存储节点的ID值对应的存储节点中。可见,本专利技术所提供的数据存储的方法,在数据对象与存储节点之间建立起高效的映射关系,通过计算各存储节点的ID值与各数据对象的ID值;并分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上,使各存储节点的ID值与各数据对象的ID值均匀的分布于整个地址空间,当存储节点的数量与数据对象的数量达到一定门限时,各存储节点分配的地址空间近似于相等,数据对象在各存储节点之间均匀分布,可以有效减少存储设备增加或退出时造成的数据迁移对存储系统整体性能的影响,为存储系统中存储资源的扩展提供了有力支持,同时,保持了数据对象在各存储节点之间均匀分配,且具有高效的数据寻址机制。本专利技术所提供的数据存储的装置、设备计算机可读存储介质以及云存储系统,均具有上述技术效果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例所提供的数据存储的方法的流程示意图;图2为本专利技术实施例所提供的虚拟节点分配示意图;图3为本专利技术实施例所提供的数据存储的装置的示意图;图4为本专利技术实施例所提供的数据存储的设备的示意图;图5为本专利技术实施例所提供的云存储系统的示意图。具体实施方式本专利技术的核心是提供一种数据存储的方法,为存储系统中存储资源的扩展提供了有力支持,保持数据对象在各存储节点之间均匀分配,且具有高效的数据寻址机制。本专利技术的另一个核心是提供一种数据存储的装置、设备、计算机可读存储介质以及云存储系统,均具有上述技术效果。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图1,图1为本专利技术实施例所提供的数据存储的方法的流程示意图;结合该示意图可知,该数据存储的方法可以包括:S100:利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;S200:分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;具体的,可以采用哈希函数分别计算存储节点的ID值与数据对象的ID值,将存储节点的ID值映射到圆环形的地址空间上,然后将数据对象的ID值映射到同一个圆环形的地址空间上。S300:从所述各数据对象的ID值所在位置开始,沿着预设方向在本文档来自技高网...
一种数据存储的方法、装置、设备以及云存储系统

【技术保护点】
一种数据存储的方法,其特征在于,包括:利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;从所述各数据对象的ID值所在位置开始,沿着预设方向在所述地址空间中寻找所述各存储节点的ID值;将数据存储到寻找到的首个存储节点的ID值对应的存储节点中。

【技术特征摘要】
1.一种数据存储的方法,其特征在于,包括:利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;从所述各数据对象的ID值所在位置开始,沿着预设方向在所述地址空间中寻找所述各存储节点的ID值;将数据存储到寻找到的首个存储节点的ID值对应的存储节点中。2.根据权利要求1所述的方法,其特征在于,还包括:更新所述存储节点的资源利用率;比较所述存储节点的资源利用率与门限值的大小;其中,所述门限值包括下限阈值和上限阈值;若所述存储节点的资源利用率小于所述下限阈值,则增加所述存储节点的虚拟节点个数;若所述存储节点的资源利用率大于所述上限阈值,则减少所述存储节点的虚拟节点个数。3.根据权利要求2所述的方法,其特征在于,所述更新存储节点的资源利用率包括:统计所述存储节点分配的地址空间的大小;将所述存储节点分配的地址空间的大小与所述存储节点分配的调节因子作比值,获得所述存储节点的资源利用率。4.根据权利要求3所述的方法,其特征在于,所述增加所述存储节点的虚拟节点个数包括:将申请虚拟节点的请求信息发送至主控端;当所述主控端响应所述请求信息后,调用Join函数增加所述存储节点的虚拟节点个数。5.一种数据存储的装置,其特征在于,包括:计算模块,用于利用哈希函数分别计算各存储节点的ID值与各数据对象的ID值;映射模块,用于分别将所述各存储节点的ID值与所述各数据对象的ID值映射到圆环形的地址空间上;查找模块,用于从所述各数据对象的ID值所在...

【专利技术属性】
技术研发人员:王鑫
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1