CN107844269B - 一种基于一致性哈希的分层混合存储系统 - Google Patents
一种基于一致性哈希的分层混合存储系统 Download PDFInfo
- Publication number
- CN107844269B CN107844269B CN201710960834.0A CN201710960834A CN107844269B CN 107844269 B CN107844269 B CN 107844269B CN 201710960834 A CN201710960834 A CN 201710960834A CN 107844269 B CN107844269 B CN 107844269B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- ssd
- cluster
- capacity
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于一致性哈希的分层混合存储系统,属于计算机存储领域,可以最大化利用各种存储介质特性,合理采用存储策略,从而提高系统性能。本发明内容包括:根据存储介质、存储策略的差异设计分层一致性哈希环;在分层一致性哈希环中存储对象通过访问频率、容量等指标进行分层存储;引入监控模块,确定不同时间段采集数据频率及其迁移阈值;引入调度模块,针对数据随时间冷热变化,进行合理的升降级数据迁移调度;采用森林数据结构管理SSD集群数据信息。本发明针对负载特性进行分层存储,根据存储对象特点提供不同存储介质及存储策略,增强系统灵活性、提高系统读写性能,并保证其稳定性。
Description
技术领域
本发明属于混合存储技术领域,更具体地,涉及一种基于一致性哈希的分层混合存储系统。
背景技术
存储系统设计一直趋向于追求高性能、大容量、低成本的特性。传统磁盘(HDD)容量大、价格低,但是机械特性导致其耗能高、随机读写性能较差。固态硬盘(SSD)采用半导体技术以闪存(flash)为存储介质,相对于HDD具有随机读写速度快、功耗低、抗震性能好等优点。由于向SSD写数据前需进行擦除操作,因此对其寿命造成影响,此外SSD容量较小且价格昂贵。显然存储系统不适合用SSD作为其唯一存储器件,更倾向于兼容多种存储介质。现代存储系统利用高性能存储介质作为低性能存储介质读写缓存,如SSD用来快速读写,HDD用作永久存储,缓解内存到磁盘读写速度不一致问题,但是SSD等高性能存储介质仅仅发挥缓存作用,没有利用到其硬盘的性质。为进一步发挥SSD等高性能存储介质存储的性能,有些存储系统在高性能存储介质存放小容量的和经常被访问到的数据,而低性能存储介质存放大的和冷的数据。此外针对不同特性数据选择不同冗余存储策略。副本策略具有高可靠性,读性能优化的特点,但是成本开销大;纠删码存储策略用读写时间换取高可靠性及低成本开销。因此许多存储系统会将对象以两种方式存储,即一种采用副本,一种采用纠删码。承担绝大部分读请求的主存储节点存储对象的完整副本,而纠删码节点保证了在主存储节点故障后依然可以对外提供服务。这种方式具有高可靠性,高读写性能,但浪费一定的存储开销,且副本节点承担大部分请求,易造成拥塞。
存储系统中一个关键性的问题是管理逻辑地址到物理地址的映射(文件名到具体存放的磁盘位置),许多存储系统使用一致性哈希算法解决这一问题。一致性哈希算法策略具有较好的负载平衡、最大程度避免存储介质变动引起的数据迁移、大大减小数据查询的时间开销等优越性。但是一致性哈希算法建哈希环过程中,仅仅只考虑到环上各存储节点存储容量的差异,这使得当存储对象同时存入性能相差较大的不同节点时,其整体性能总取决于性能最低的节点,没有充分利用各存储介质的特性。其次,研究表明存储系统中80%的请求访问了20%的数据,Spc协会发布的财务访问数据表明80%的访问集中于22%存储文件,大部分的请求集中于对小文件、热数据的访问,而针对大数据、冷数据的请求较少。存储系统中对冷热数据、大小文件不加以区别对待,可能出现冷数据、大文件分配存储于高性能设备,但是大部分时间不被访问;而热数据、小文件可能分配存储于低性能设备,而被时常访问。以上情况不仅仅降低了存储系统性能,同时还大大降低了系统利用率。
现代存储系统没有综合考虑存储介质、数据大小、数据冷热、客户访问特性以及冗余存储策略的选择,忽略了客户访问偶然性特点,且数据迁移频率高,影响系统效率,不具有通用性。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于一致性哈希的分层混合存储系统,由此解决现代存储系统没有综合考虑存储介质、数据大小、数据冷热、客户访问特性以及冗余存储策略的选择,忽略了客户访问偶然性特点而导致的数据迁移频率高,影响系统效率以及不具有通用性的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于一致性哈希的分层混合存储系统,包括:分层一致性哈希环、监控模块以及调度模块;
所述分层一致性哈希环包括固态硬盘集群哈希环和传统磁盘集群哈希环,其中,所述固态硬盘集群哈希环用于将热数据以副本存储策略存储至固态硬盘SSD存储集群,所述传统磁盘集群哈希环用于将冷数据与温数据以纠删码存储策略存储至传统磁盘HDD存储集群;
所述监控模块,用于监控SSD存储集群的使用情况,并在SSD存储集群的当前使用率超过当前时间段对应的迁移阈值时,按当前时间段对应的各数据访问次数和最后访问时间选择变冷数据,并通过所述调度模块将变冷数据迁移至HDD存储集群,以实现降级迁移调度;
所述监控模块,还用于在HDD存储集群中存在热度标志位由冷标志或温标志上升至热标志的数据时,通过所述调度模块将变热数据迁移至SSD存储集群,以实现升级迁移调度。
优选地,所述冷数据、所述温数据以及所述热数据为:
基于存储对象的存储容量,将存储容量小于小容量阈值Cl的存储对象作为小数据,将存储容量大于大容量阈值Ch的存储对象作为大数据,将存储容量在小容量阈值Cl和大容量阈值Ch之间的存储对象作为中等数据,将所述大数据作为冷数据,将所述小数据作为热数据,而所述中等数据根据访问频率在冷、热以及温数据中变化,且所述中等数据初次访问时均作为热数据。
优选地,所述固态硬盘SSD存储集群中的数据信息采用森林数据结构进行管理,其中,所述森林数据结构由多棵平衡二叉树构成,在代理服务处理写SSD存储集群请求时,则创建一个待写入数据对应的树节点,并将创建的树节点插入所述森林数据结构的树中,以使SSD存储集群中的存储对象均有对应的树节点;在代理服务处理读请求时,则查找所述森林数据结构中是否存在待读数据对应的树节点,若存在则从SSD存储集群读取数据,若不存在,则从HDD存储集群读取数据。
优选地,所述监控模块,具体用于监控SSD存储集群中的数据以及SSD存储集群的使用率,若SSD存储集群的当前使用率超过当前时间段对应的阈值Wh时,则通过所述调度模块将SSD存储集群中的变冷数据迁移至HDD存储集群,若SSD存储集群的当前使用率小于当前时间段对应的阈值Wl时,则停止数据降级迁移操作,其中,若SSD存储集群中的数据的最后一次访问时间与当前时间差的绝对值大于当前时间段对应的时间间隔阈值Tlag,且访问次数小于SSD存储集群中其他数据的访问次数时,则认为该存储数据变冷,Wh为存储对象容量占SSD总容量的百分比最大阈值,Wl为存储对象容量占SSD总容量的百分比最小阈值。
优选地,在降级迁移调度中不同时间段对应不同的阈值Tlag、Wh以及Wl,以合理规划数据迁移时间。
优选地,在降级迁移调度中,分别对森林数据结构中的每棵树根据访问次数进行冷热排序,每次从每棵树中选取前W-Wl比例的变冷节点进行数据迁移,直至SSD存储集群使用率小于Wl,其中,W表示SSD存储集群的当前使用率。
优选地,所述监控模块,具体还用于监控HDD存储集群中数据容量小于大容量阈值Ch的数据,并将热度标志位为热的数据通过所述调度模块迁移至SSD存储集群,其中,对于HDD存储集群中数据容量小于大容量阈值Ch的数据,当数据的连续两次访问时间间隔小于最小访问间隔时间Tmin时,将数据对应的热度标志位向上升一级,当连续两次访问时间间隔在最小访问间隔时间Tmin和最大访问间隔时间Tmax之间时,数据的热度标志位不变,当连续两次访问时间间隔大于最大访问间隔时间Tmax时,将数据的热度标志位向下降一级,以确定最终数据的热度标志。
为实现上述目的,按照本发明的另一个方面,提供了一种基于一致性哈希的分层混合存储方法,包括:
设计分层一致性哈希环,其中,所述分层一致性哈希环包括固态硬盘集群哈希环和传统磁盘集群哈希环,所述固态硬盘集群哈希环用于将热数据以副本存储策略存储至固态硬盘SSD存储集群,所述传统磁盘集群哈希环用于将冷数据与温数据以纠删码存储策略存储至传统磁盘HDD存储集群;
监控SSD存储集群的使用情况,并在SSD存储集群的当前使用率超过当前时间段对应的迁移阈值时,按当前时间段对应的各数据访问次数和最后访问时间选择变冷数据,并将变冷数据迁移至HDD存储集群,以实现降级迁移调度;以及,在HDD存储集群中存在热度标志位由冷标志或温标志上升至热标志的数据时,将变热数据迁移至SSD存储集群,以实现升级迁移调度。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
本发明通过设计分层一致性哈希环,对应SSD集群和HDD集群分别构建SSD Ring和HDD Ring。其中SSD集群采用三副本的存储策略,HDD集群采用纠删码存储策略。使得热数据、小文件采用副本存储策略,通过SSD Ring分配到SSD集群;冷数据、大文件采用纠删码存储策略,通过HDD Ring分配至HDD集群,同时在冷热数据中增加温数据类别,使得数据冷热变化平稳,避免外部用户偶然请求引起的数据迁移操作。此外采用森林数据结构管理分层存储对象元数据信息,保证森林中每棵树小且矮,降低了由于元数据操作产生的性能开销。在此基础上引入监控模块,确定不同时间段采集数据频率及其迁移阈值,提出迁移策略。当SSD集群存储容量超过其阈值时,按数据访问次数和最后访问时间两个指标选择变冷数据,将其迁移至HDD集群。当HDD集群中数据在一定时间段被频繁访问,热度标志位上升至hot,认定数据再次变热,触发升级调度,将其迁移至SSD集群。由此针对负载特性提供不同存储介质及存储策略,增强系统灵活性、提高系统读写性能,并保证其稳定性。
附图说明
图1为本发明实施例提供的一种系统结构示意图;
图2为本发明实施例提供的一种双一致性哈希环策略图;
图3为本发明实施例提供的一种写存储对象流程图;
图4为本发明实施例提供的一种读存储对象流程图;
图5为本发明实施例提供的一种删除存储对象流程图;
图6为本发明实施例提供的一种数据升级调度流程图;
图7为本发明实施例提供的一种数据降级调度流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种基于一致性哈希的分层混合存储系统及方法,通过改进一致性哈希环结构,合理分配调度存储资源,使得存储数据根据其大小、访问频率、冷热等特性,采用不同的存储策略存储于不同存储介质,从而充分发挥各存储策略及存储介质的优势,在节约成本前提下,大大提高系统的存储性能。
其中,本发明系统包括:分层一致性哈希环、监控模块以及调度模块;
分层一致性哈希环包括固态硬盘集群哈希环和传统磁盘集群哈希环,其中,固态硬盘集群哈希环用于将热数据以副本存储策略存储至固态硬盘SSD存储集群,传统磁盘集群哈希环用于将冷数据与温数据以纠删码存储策略存储至传统磁盘HDD存储集群;
具体地,可以根据存储介质以及存储策略的差异性设计分层一致性哈希环:
存储介质用于存放数据,包括传统磁盘(Hard Disk Drive,HDD)和固态硬盘(Solid State Drive,SSD)。存储策略为数据冗余策略,包括副本和纠删码。一致性哈希是一个闭合的环(Ring)结构,存储对象和存储节点通过相同的哈希函数映射到该哈希环上,以顺时针方向,将所有存储对象存储于离自己最近的存储节点中。采用双环实现分层数据分配和管理,即固态硬盘集群哈希环(SSD Ring)和传统磁盘集群哈希环(HDD Ring),SSDRing和HDD Ring属于分层结构,分别管理SSD存储集群和HDD存储集群的数据分配,保证存储集群负载均衡。其中SSD Ring采用副本存储策略,HDD Ring采用纠删码存储策略。将不同层级存储集群彻底分离,实现方便灵活,具有很好的隔离性,很好的实现了存储介质、存储策略的多重混合。
在分层一致性哈希环中存储对象通过其访问频率、容量等指标进行分层存储:
存储系统中大量I/O请求主要是针对小文件、热数据,因此将不同访问频率、容量的数据分为不同层级,层级高的数据采用便捷的存储策略存储于性能更好的存储介质,而将层级低的数据采用繁琐但是占存储空间小的存储策略存储于性能次之的存储介质,从而提高存储系统整体读写性能,保证系统稳定性。
设定存储对象大容量阈值(Ch)和存储对象小容量阈值(Cl),将存储对象按其存储容量分为以下三类:小数据,其存储容量小于Cl;中等数据,其存储容量在Cl和Ch之间;大数据,其存储容量大于Ch。大数据恒为冷数据,小数据恒为热数据,中等数据根据访问频率在冷、热、温数据中变化,中等数据初次访问时均认定为热数据。任何时刻,热数据均存储于存储层级较高的SSD存储集群,而冷数据和温数据均存储于存储层级较低的HDD存储集群。
监控模块,用于监控SSD存储集群的使用情况,并在SSD存储集群的当前使用率超过当前时间段对应的迁移阈值时,按当前时间段对应的各数据访问次数和最后访问时间选择变冷数据,并通过所述调度模块将变冷数据迁移至HDD存储集群,以实现降级迁移调度;
监控模块,还用于在HDD存储集群中存在热度标志位由冷标志或温标志上升至热标志的数据时,通过所述调度模块将变热数据迁移至SSD存储集群,以实现升级迁移调度。
具体地,通过监控模块,确定不同时间段采集数据频率及其迁移阈值,实现数据升级调度和数据降级调度:
监控模块定期监控SSD集群使用情况,确定不同时间段采集数据频率及其迁移阈值,当SSD集群存储容量超过其阈值时,按数据访问次数和最后访问时间两个指标选择确定冷数据,将其迁移至HDD集群,实现降级迁移调度策略。升级迁移调度策略引入温数据概念,减少因偶然事件引起的不必要数据迁移。当HDD集群中某数据在一定时间段被频繁访问,该数据热度标志位由冷、温标志上升至热标志,则认定数据再次变热,触发升级调度,将其迁移至SSD集群。
在一个可选的实施方式中,固态硬盘SSD存储集群中的数据信息采用森林数据结构进行管理,其中,森林数据结构由多棵平衡二叉树构成,在代理服务处理写SSD存储集群请求时,则创建一个待写入数据对应的树节点,并将创建的树节点插入森林数据结构的树中,以使SSD存储集群中的存储对象均有对应的树节点;在代理服务处理读请求时,则查找森林数据结构中是否存在待读数据对应的树节点,若存在则从SSD存储集群读取数据,若不存在,则从HDD存储集群读取数据,其中,森林结构的每个节点包含所对应的SSD存储集群中存储对象的ID、容量大小、访问次数、最近一次访问时间、存储路径等元数据信息。
其中,数据降级调度主要针对存储于SSD存储集群中的变冷数据进行的从SSD集群迁移至HDD集群的数据迁移操作。数据降级调度发生在SSD集群使用率超过设定阈值或某一存储介质发出警告时,降级调度主要以访问次数和最近一次访问时间作为指标判定数据冷热变化。
在一个可选的实施方式中,监控模块,具体用于监控SSD存储集群中的数据以及SSD存储集群的使用率,若SSD存储集群的当前使用率超过当前时间段对应的阈值Wh时,则通过所述调度模块将SSD存储集群中的变冷数据迁移至HDD存储集群,若SSD存储集群的当前使用率小于当前时间段对应的阈值Wl时,则停止数据降级迁移操作,其中,若SSD存储集群中的数据的最后一次访问时间与当前时间差的绝对值大于当前时间段对应的时间间隔阈值Tlag,且访问次数小于SSD存储集群中其他数据的访问次数时,则认为该存储数据变冷,Wh为存储对象容量占SSD总容量的百分比最大阈值,Wl为存储对象容量占SSD总容量的百分比最小阈值。
其中,由于迁移操作会占用带宽等资源,用户活动高峰期大量频繁的数据迁移会严重影响系统性能,为减少数据迁移对系统性能的影响,降级调度设计中不同时间段对应不同阈值Tlag、Wh、Wl,使得大部分迁移在用户活动频率低的时期进行,合理规划数据迁移时间。
其中,数据降级迁移调度的难点在于如何在森林数据结构中排序选择变冷节点。由于森林节点数量大,排序时间复杂度高,影响迁移效率且实现复杂,因此不能对森林中所有树合并后进行冷热排序。这里分别对森林中的每棵树根据访问次数进行冷热排序,每次从每棵树中选取前W-Wl比例的变冷节点进行数据迁移,直至SSD存储集群使用率小于Wl,其中,W表示SSD存储集群的当前使用率。此方法误差小,时间复杂度低,排序快。
其中,数据升级调度主要是针对存储于HDD集群的变热数据进行的从HDD集群迁移至SSD集群的数据迁移操作。存储对象热度标志位有以下三个级别:热数据(hot)、温数据(warm)、冷数据(cold)。基于渐变热度的触发式升级策略中,渐变热度是指为了避免冷数据骤变热数据,在冷数据中增加温数据类别,因此数据存在从冷变温、从温变热、从温变冷、从热变温四种变化过程,仅仅只有在数据为温数据且具有明显变热趋势的情况下,才会针对此数据进行升级迁移调度操作,从而减少不必要的迁移操作,提高模型性能。热度标志位的变化由当前访问时间和上一次访问时间的时间间隔决定。数据类别的变化由数据被访问的频率及数据大小决定。HDD存储集群中数据容量大于阈值Ch的数据,由于其迁移成本开销大,且访问频率有限,因此其热度标志位恒为cold,不考虑其数据冷热变化及调度迁移。
在一个可选的实施方式中,监控模块,具体还用于监控HDD存储集群中数据容量小于大容量阈值Ch的数据,并将热度标志位为热的数据通过所述调度模块迁移至SSD存储集群,其中,对于HDD存储集群中数据容量小于大容量阈值Ch的数据,当数据的连续两次访问时间间隔小于最小访问间隔时间Tmin时,将数据对应的热度标志位向上升一级,当连续两次访问时间间隔在最小访问间隔时间Tmin和最大访问间隔时间Tmax之间时,数据的热度标志位不变,当连续两次访问时间间隔大于最大访问间隔时间Tmax时,将数据的热度标志位向下降一级,以确定最终数据的热度标志。
也就是说,触发式升级调度是指,数据进行升级迁移调度只可能发生在存储于HDD集群的热数据被访问请求时,触发迁移调度,进行升级数据迁移。
在本发明的另一方面,提供了一种基于一致性哈希的分层混合存储方法,包括:
设计分层一致性哈希环,其中,分层一致性哈希环包括固态硬盘集群哈希环和传统磁盘集群哈希环,固态硬盘集群哈希环用于将热数据以副本存储策略存储至固态硬盘SSD存储集群,传统磁盘集群哈希环用于将冷数据与温数据以纠删码存储策略存储至传统磁盘HDD存储集群;
监控SSD存储集群的使用情况,并在SSD存储集群的当前使用率超过当前时间段对应的迁移阈值时,按当前时间段对应的各数据访问次数和最后访问时间选择变冷数据,并将变冷数据迁移至HDD存储集群,以实现降级迁移调度;以及,在HDD存储集群中存在热度标志位由冷标志或温标志上升至热标志的数据时,将变热数据迁移至SSD存储集群,以实现升级迁移调度。
以下结合附图及实施例对本发明进行详细说明。
图1是本发明的整体架构图。本实施例包括存储集群模块、监控模块以及调度模块。其中存储集群模块分为SSD集群和HDD集群两层,分别对应冷热数据、大小文件的存储;监控模块负责监控集群的使用情况;调度模块负责针对数据随时间冷热变化,进行合理的升降级数据迁移调度操作。
图2是本发明实施例的双一致性哈希环策略图。写数据时,通过其容量判定冷热,热数据以三副本策略存储于SSD集群,冷数据以纠删码策略存储于HDD集群。读数据时,若是热数据便从SSD集群读取,若是冷数据,则从HDD集群读取。
图3是分层混合系统的写存储对象流程图。客户端发送对象级写请求即写存储对象,中间件I/O重定向类判断文件大小,若小于Ch,则建立相应森林节点,访问次数为1,最后访问时间为当前时间,告知向代理服务端采用三副本存储策略以及选取SSD Ring进行数据分配。若大于Ch,则告知向代理服务端采用纠删码存储策略以及选取HDD Ring进行数据分配。代理服务端通过哈希环获取存储服务节点,向对应存储服务端发送写请求,存储服务端接受写请求,判断写操作集群,若是写HDD集群对象,先将其元数据热度标志位标志为cold后写入集群;若是写SSD集群的对象,则直接写入存储集群。
图4是分层混合系统的读存储对象流程图。客户端发送对象级读请求即读存储对象,中间件I/O重定向类查找SSD集群元数据森林中是否存在该对象对应的森林节点,若存在则该树节点访问次数为加1,最后访问时间为当前时间,告知代理服务端采用三副本存储策略以及选取SSD Ring进行数据分配。若不存在,则告知向代理端采用纠删码存储策略以及选取HDD Ring进行数据分配。代理服务端通过哈希环获取存储服务节点,向对应存储服务端发送读请求,存储服务端接受读请求,判断读操作集群,若是读HDD集群的对象,当该对象是在阈值Tmin时间内被再次访问,则将其热度标志位上移一级,即cold变warm,warm变hot;当该对象是在阈值Tmin到Tmax间隔时间内被再次访问,则其热度标志位不变;当该对象访问时间间隔大于阈值Tmax,则将其热度标志位下移一位。
图5是分层混合系统的删除存储对象流程图。客户端发送对象级删除请求即删除存储对象,中间件I/O重定向类查找森林结构中是否存在该对象对应的树节点,若不存在对应节点,则告知代理服务端采用纠删码存储策略以及选取HDD Ring进行数据分配,从HDD存储集群中删除对象。若存在对应节点,则告知代理端采用三副本存储策略以及选取SSDRing进行数据分配,从SSD集群删除对象,删除成功后删除存储对象对应的森林节点。
图6是分层混合系统的数据升级调度流程图。在读存储对象时,对象服务端将从HDD集群存储对象元数据信息中读取对应的热度标志位信息。若当前访问时间和上一次访问时间差的绝对值小于阈值Tmin时,则将该存储对象热度标志位上移一级,即cold变warm、warm变hot;若当前访问时间和上一次访问时间差的绝对值在阈值Tmin和Tmax之间时,则将该存储对象热度标志位保持不变;若当前访问时间和上一次访问时间差的绝对值大于阈值Tmax时,则将其热度标志位下移一级,即warm变cold、冷不变,如表1热度标志位变化表。若所读取的存储对象对应的热度标志位为hot,则立刻触发升级调度函数,将该存储对象迁移至SSD存储集群。
表1
图7是分层混合系统的数据降级调度流程图。监控程序对当前SSD集群存储容量使用情况进行实时监控,当SSD集群存储容量使用率超过Wh达到W时,森林每棵树中容量大小小于Ch的节点分别按访问次数进行小堆排序,选取每棵树中前W-Wh比例节点,若当前时间与该节点的最后访问时间小于Tlag,则忽略;若当前时间与该节点的最后访问时间大于Tlag时,则将该对象由SSD集群迁移到HDD集群。重复以上流程直到SSD集群使用率小于Wl时停止。华中地区北京时间凌晨三点四十分至凌晨五点时间段,用户请求频率较低,Wh设为0.7,Wl设为0.6,Tlag为30小时,允许此时间段进行较频繁数据迁移。其他时间段内每3小时采集一次监控数据,Wh设为0.85,Wl设为0.7,Tlag为24小时,尽量控制数据迁移频率。此外当某一个存储节点SSD占有率超过85%,向监控端发出告警信息,立刻进行监控数据采集,判断是否进行数据迁移。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于一致性哈希的分层混合存储系统,其特征在于,包括:分层一致性哈希环、监控模块以及调度模块;
所述分层一致性哈希环包括固态硬盘集群哈希环和传统磁盘集群哈希环,其中,所述固态硬盘集群哈希环用于将热数据以副本存储策略存储至固态硬盘SSD存储集群,所述传统磁盘集群哈希环用于将冷数据与温数据以纠删码存储策略存储至传统磁盘HDD存储集群;
所述监控模块,用于监控SSD存储集群的使用情况,并在SSD存储集群的当前使用率超过当前时间段对应的迁移阈值时,按当前时间段对应的各数据访问次数和最后访问时间选择变冷数据,并通过所述调度模块将变冷数据迁移至HDD存储集群,以实现降级迁移调度;
在降级迁移调度中不同时间段对应不同的阈值Tlag、Wh以及Wl,以合理规划数据迁移时间;
所述监控模块,还用于在HDD存储集群中存在热度标志位由冷标志或温标志上升至热标志的数据时,通过所述调度模块将变热数据迁移至SSD存储集群,以实现升级迁移调度;
所述冷数据、所述温数据以及所述热数据为:
基于存储对象的存储容量,将存储容量小于小容量阈值Cl的存储对象作为小数据,将存储容量大于大容量阈值Ch的存储对象作为大数据,将存储容量在小容量阈值Cl和大容量阈值Ch之间的存储对象作为中等数据,将所述大数据作为冷数据,将所述小数据作为热数据,而所述中等数据根据访问频率在冷、热以及温数据中变化,且所述中等数据初次访问时均作为热数据;
其中,Tlag为当前时间段对应的时间间隔阈值;Wh为存储对象容量占SSD总容量的百分比最大阈值;Wl为存储对象容量占SSD总容量的百分比最小阈值。
2.根据权利要求1所述的系统,其特征在于,所述固态硬盘SSD存储集群中的数据信息采用森林数据结构进行管理,其中,所述森林数据结构由多棵平衡二叉树构成,在代理服务处理写SSD存储集群请求时,则创建一个待写入数据对应的树节点,并将创建的树节点插入所述森林数据结构的树中,以使SSD存储集群中的存储对象均有对应的树节点;在代理服务处理读请求时,则查找所述森林数据结构中是否存在待读数据对应的树节点,若存在则从SSD存储集群读取数据,若不存在,则从HDD存储集群读取数据。
3.根据权利要求1或2任意一项所述的系统,其特征在于,所述监控模块,具体用于监控SSD存储集群中的数据以及SSD存储集群的使用率,若SSD存储集群的当前使用率超过当前时间段对应的阈值Wh时,则通过所述调度模块将SSD存储集群中的变冷数据迁移至HDD存储集群,若SSD存储集群的当前使用率小于当前时间段对应的阈值Wl时,则停止数据降级迁移操作,其中,若SSD存储集群中的数据的最后一次访问时间与当前时间差的绝对值大于当前时间段对应的时间间隔阈值Tlag,且访问次数小于SSD存储集群中其他数据的访问次数时,则认为数据变冷,Wh为存储对象容量占SSD总容量的百分比最大阈值,Wl为存储对象容量占SSD总容量的百分比最小阈值。
4.根据权利要求3所述的系统,其特征在于,在降级迁移调度中,分别对森林数据结构中的每棵树根据访问次数进行冷热排序,每次从每棵树中选取前W-Wl比例的变冷节点进行数据迁移,直至SSD存储集群使用率小于Wl,其中,W表示SSD存储集群的当前使用率。
5.根据权利要求1或2所述的系统,其特征在于,所述监控模块,具体还用于监控HDD存储集群中数据容量小于大容量阈值Ch的数据,并将热度标志位为热的数据通过所述调度模块迁移至SSD存储集群,其中,对于HDD存储集群中数据容量小于大容量阈值Ch的数据,当数据的连续两次访问时间间隔小于最小访问间隔时间Tmin时,将数据对应的热度标志位向上升一级,当连续两次访问时间间隔在最小访问间隔时间Tmin和最大访问间隔时间Tmax之间时,数据的热度标志位不变,当连续两次访问时间间隔大于最大访问间隔时间Tmax时,将数据的热度标志位向下降一级,以确定最终数据的热度标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710960834.0A CN107844269B (zh) | 2017-10-17 | 2017-10-17 | 一种基于一致性哈希的分层混合存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710960834.0A CN107844269B (zh) | 2017-10-17 | 2017-10-17 | 一种基于一致性哈希的分层混合存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107844269A CN107844269A (zh) | 2018-03-27 |
CN107844269B true CN107844269B (zh) | 2020-06-02 |
Family
ID=61662440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710960834.0A Active CN107844269B (zh) | 2017-10-17 | 2017-10-17 | 一种基于一致性哈希的分层混合存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844269B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846064B (zh) * | 2018-06-06 | 2021-07-23 | 南京群顶科技有限公司 | 基于ceph的动态链式存储集群实现方法 |
CN109033298A (zh) * | 2018-07-14 | 2018-12-18 | 北方工业大学 | 一种在异构hdfs集群下的数据分配方法 |
CN109086009B (zh) * | 2018-08-03 | 2021-08-03 | 厦门集微科技有限公司 | 一种监控管理方法和装置、计算机可读存储介质 |
CN109669636B (zh) * | 2018-12-20 | 2020-04-21 | 深圳领络科技有限公司 | 一种分布式智能存储系统 |
CN109783016A (zh) * | 2018-12-25 | 2019-05-21 | 西安交通大学 | 一种分布式存储系统中的弹性多维度冗余方法 |
CN109739646A (zh) * | 2018-12-28 | 2019-05-10 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据处理方法及装置 |
CN111813740A (zh) * | 2019-04-11 | 2020-10-23 | 中国移动通信集团四川有限公司 | 一种文件分层存储方法及服务器 |
CN110209350B (zh) * | 2019-05-10 | 2020-07-10 | 华中科技大学 | 一种混合存储架构hpc系统中应用i/o请求的动态调度方法 |
CN110321348B (zh) * | 2019-06-04 | 2024-01-09 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及计算机设备 |
CN110489059B (zh) * | 2019-07-11 | 2022-04-12 | 平安科技(深圳)有限公司 | 数据集群存储的方法、装置及计算机设备 |
CN110569303B (zh) * | 2019-08-19 | 2020-12-08 | 杭州衣科信息技术有限公司 | 一种适用于多种云环境的MySQL应用层高可用系统及方法 |
CN110531936B (zh) * | 2019-08-29 | 2021-05-28 | 西安交通大学 | 基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法 |
CN110531938A (zh) * | 2019-09-02 | 2019-12-03 | 广东紫晶信息存储技术股份有限公司 | 一种基于多维度的冷热数据迁移方法及系统 |
CN110825908B (zh) * | 2019-11-04 | 2023-04-25 | 安超云软件有限公司 | 一种对象的迁移方法、装置、电子设备及存储介质 |
CN112825023A (zh) * | 2019-11-20 | 2021-05-21 | 上海商汤智能科技有限公司 | 集群资源管理方法、装置、电子设备和存储介质 |
CN111143279B (zh) * | 2019-12-29 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、装置、设备及可读存储介质 |
CN111078718B (zh) * | 2019-12-30 | 2023-04-07 | 广州酷狗计算机科技有限公司 | 频率控制方法、装置、设备以及计算机存储介质 |
CN111427969B (zh) * | 2020-03-18 | 2022-05-27 | 清华大学 | 一种分级存储系统的数据替换方法 |
CN111858470A (zh) * | 2020-07-24 | 2020-10-30 | 成都成信高科信息技术有限公司 | 一种时间窗口迁移策略 |
CN112051968B (zh) * | 2020-08-07 | 2021-10-22 | 东北大学 | 基于Kafka的分布式数据流分级缓存自动迁移方法 |
CN112433679B (zh) * | 2020-12-01 | 2023-06-16 | 广州城市职业学院 | 一种数据存储方法、装置、电子设备及存储介质 |
US11726692B2 (en) * | 2020-12-02 | 2023-08-15 | International Business Machines Corporation | Enhanced application performance using storage system optimization |
CN112612414B (zh) * | 2020-12-18 | 2022-06-17 | 杭州前云数据技术有限公司 | 基于微处理器系统调度实现冷数据分布式存储系统 |
CN113238527B (zh) * | 2020-12-19 | 2022-04-08 | 华中科技大学 | 一种工业数据汇聚方法及系统 |
CN112947860B (zh) * | 2021-03-03 | 2022-11-04 | 成都信息工程大学 | 一种分布式数据副本的分级存储与调度方法 |
CN115079933B (zh) * | 2021-03-12 | 2024-05-24 | 戴尔产品有限公司 | 基于数据关系的快速缓存系统 |
CN112948398B (zh) * | 2021-04-29 | 2023-02-24 | 电子科技大学 | 一种面向冷热数据的分级存储系统及方法 |
CN113867631A (zh) * | 2021-09-22 | 2021-12-31 | 中国科学技术大学 | Redis集群数据移动方法、装置、设备及存储介质 |
CN114020828B (zh) * | 2021-09-27 | 2024-05-31 | 南京云创大数据科技股份有限公司 | 一种分布式分级存储系统 |
CN114138183B (zh) * | 2021-10-29 | 2023-09-12 | 郑州云海信息技术有限公司 | 一种存储系统的数据分层方法、装置、设备及存储介质 |
CN115499305B (zh) * | 2022-07-29 | 2024-04-26 | 天翼云科技有限公司 | 一种分布式集群存储设备的部署方法、装置及电子设备 |
CN115878513B (zh) * | 2023-02-21 | 2023-08-15 | 中移动信息技术有限公司 | 数据存储和数据查询方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400598A (zh) * | 2007-08-14 | 2013-11-20 | 三星电子株式会社 | 固态存储器、包含其的计算机系统和操作其的方法 |
CN103605615A (zh) * | 2013-11-21 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种分级存储中基于块级数据的定向分配方法 |
WO2015072925A1 (en) * | 2013-11-14 | 2015-05-21 | Agency For Science, Technology And Research | Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system |
CN105653524A (zh) * | 2014-11-10 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置和系统 |
CN105786401A (zh) * | 2014-12-25 | 2016-07-20 | 中国移动通信集团公司 | 服务器集群系统中的数据管理方法及装置 |
CN106156283A (zh) * | 2016-06-27 | 2016-11-23 | 江苏迪纳数字科技股份有限公司 | 基于数据温度和节点性能的异构Hadoop存储方法 |
CN106777342A (zh) * | 2017-01-16 | 2017-05-31 | 湖南大学 | 一种基于可靠性的高性能文件系统混合节能存储系统及方法 |
-
2017
- 2017-10-17 CN CN201710960834.0A patent/CN107844269B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103400598A (zh) * | 2007-08-14 | 2013-11-20 | 三星电子株式会社 | 固态存储器、包含其的计算机系统和操作其的方法 |
WO2015072925A1 (en) * | 2013-11-14 | 2015-05-21 | Agency For Science, Technology And Research | Method for hot i/o selective placement and metadata replacement for non-volatile memory cache on hybrid drive or system |
CN103605615A (zh) * | 2013-11-21 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种分级存储中基于块级数据的定向分配方法 |
CN105653524A (zh) * | 2014-11-10 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置和系统 |
CN105786401A (zh) * | 2014-12-25 | 2016-07-20 | 中国移动通信集团公司 | 服务器集群系统中的数据管理方法及装置 |
CN106156283A (zh) * | 2016-06-27 | 2016-11-23 | 江苏迪纳数字科技股份有限公司 | 基于数据温度和节点性能的异构Hadoop存储方法 |
CN106777342A (zh) * | 2017-01-16 | 2017-05-31 | 湖南大学 | 一种基于可靠性的高性能文件系统混合节能存储系统及方法 |
Non-Patent Citations (1)
Title |
---|
一种基于重复数据删除技术的云中云存储系统;毛波、叶阁焰、蓝琰佳、张杨松、吴素贞;《计算机研究与发展》;20150728;第52卷(第6期);第1278-1287页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107844269A (zh) | 2018-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844269B (zh) | 一种基于一致性哈希的分层混合存储系统 | |
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
CN107943867B (zh) | 支持异构存储的高性能层次化存储系统 | |
CN103777905B (zh) | 一种软件定义的固态盘融合存储方法 | |
CN110058822B (zh) | 一种磁盘阵列横向拓展方法 | |
US8046422B2 (en) | Automatic load spreading in a clustered network storage system | |
US9582421B1 (en) | Distributed multi-level caching for storage appliances | |
US6925529B2 (en) | Data storage on a multi-tiered disk system | |
US8006111B1 (en) | Intelligent file system based power management for shared storage that migrates groups of files based on inactivity threshold | |
CN102760101B (zh) | 一种基于ssd 的缓存管理方法及系统 | |
CN101556557B (zh) | 一种基于对象存储设备的对象文件组织方法 | |
CN108829341B (zh) | 一种基于混合存储系统的数据管理方法 | |
CN103246616B (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
US10558395B2 (en) | Memory system including a nonvolatile memory and a volatile memory, and processing method using the memory system | |
CN102117248A (zh) | 一种缓存系统和在缓存系统中缓存数据的方法 | |
CN107291889A (zh) | 一种数据存储方法及系统 | |
CN103488685B (zh) | 一种基于分布式存储系统的碎片文件存储方法 | |
CN106681668A (zh) | 一种基于固态盘缓存的混合式存储系统及存储方法 | |
JP2018520420A (ja) | ハイブリッドオブジェクトストレージデバイスのためのキャッシュアーキテクチャおよびアルゴリズム | |
US20130297969A1 (en) | File management method and apparatus for hybrid storage system | |
CN109522283A (zh) | 一种重复数据删除方法及系统 | |
Wu et al. | APP-LRU: A new page replacement method for PCM/DRAM-based hybrid memory systems | |
Hua et al. | Scalable and adaptive metadata management in ultra large-scale file systems | |
CN112947860B (zh) | 一种分布式数据副本的分级存储与调度方法 | |
CN111159176A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |