一种自动分层的存储系统的制作方法

文档序号:9489115阅读:539来源:国知局
一种自动分层的存储系统的制作方法
【技术领域】
[0001]本发明涉及存储系统技术领域,尤指一种自动分层的存储系统。
【背景技术】
[0002]存储自动分层技术的设计目的在于充分利用不同转速的硬盘的性能和成本差异。近年来,随着闪存固态硬盘(SSD,Solid State Drives)在存储系统中的日益成熟和普及,其每秒进行读写操作(10PS,Input/Output Operat1ns Per Second)较硬盘驱动器(HDD,Hard Disk Drive)相比有了较大的提升,成为存储自动分层中的一种理想选择。
[0003]存储自动分层技术会基于诸如数据访问频率、仓ij建时间、最后访问时间或响应时间等指标进行分析,将不同特征的数据放置在不同的层次上,是目前高端存储系统中的重要技术。
[0004]但是,存储自动分层技术中也存在以下三个挑战:
[0005]第一,自动分层是一项被动技术,也即其迀移数据的策略根据历史趋势得出,而非实时的状态。
[0006]第二,SSD的磨损降低了其使用周期,应当考虑如何降低SSD的磨损频率,以及要处理SSD损坏时的数据保护。
[0007]第三,由于存取行为监测统计分析与数据迀移作业,都会消耗一定的计算资源。传统的解决方式是设定允许系统执行统计分析与数据迀移操作的时间区段,以便避开存取高峰时段。该方法会使自动分层的实时性不足的问题更加严重。
[0008]因此,存储自动分层技术的挑战为研发高性能分布式存储系统带来了极大的复杂性,严重影响了存储分层的实时性和有效性。

【发明内容】

[0009]为了解决上述技术问题,本发明提供了一种自动分层的存储系统,有效解决了当前存储自动分层系统中实时性不足问题,提高了热点数据的读访问性能,并降低了 SSD硬盘的无效磨损。
[0010]为了达到本发明目的,本发明提供了一种自动分层的存储系统,包括:高性能的存储层TierO,用于设置高性能的存储副本;普通性能的存储层Tierl,用于设置普通性能的存储副本;监视器,用于负责获取存储系统中的数据对象访问信息和系统性能信息;调度器,用于维护TierO上的数据对象存储;向Tierl发送数据对象,并基于调度策略向Tierl发送推送命令进行Tier 1向TierO的数据对象传输;代理节点,用于提供外部代理服务中推送接口 ;其中,TierO和Tierl之间存在Tierl指向TierO的单向数据通路,在Tierl收到来自调度器的推送命令后所述单向数据通路打开,进行Tierl向TierO的单向数据对象传输。
[0011]进一步地,所述TierO的存储副本参数包括:最大冗余度M,表示系统中TierO能够容纳的最大副本数;配置冗余度m,表示向TierO中推送的副本数,并且m < Μ ;副本槽,表示TierO中副本放置的位置;所述Tierl的存储副本参数包括:冗余度N,表示Tierl的副本数。
[0012]进一步地,所述TierO基于REST API进行操作,包括:CREATE操作,用来创建一个对象;GET操作,用来读取一个数据对象;REM0VE操作,用来删除一个数据对象;CLEAN操作,用来清除存储系统中数据对象,其中,REMOVE操作的调用时机为调度器主动删除TierO中的数据,或者来自于Tierl中数据对象被垃圾收集清除后向调度器发送的回调请求;CLEAN操作根据统一资源定位符指定清除的范围来清除存储系统中数据对象。
[0013]进一步地,所述代理节点查询TierO和Tierl的存储副本中是否存在被请求访问的对象数据,在TierO或Tierl中确定了存储副本后,通过推送接口向监控器发送对象访问?目息。
[0014]进一步地,所述在TierO或Tierl中确定存储副本,具体为:查询TierO中的存储副本是否可用;如果可用,贝在TierO中确定存储副本;如果不可用,贝在Tierl中确定存储副本。
[0015]进一步地,所述调度策略包括:热点数据识别,数据热度的维护和数据的置换策略。
[0016]进一步地,所述监控器通过代理节点的推送接口获取存储系统中的数据对象访问信息和系统性能信息,调度器将访问次数大于设定值的对象数据推送到TierO中,并根据热点数据识别增加热点数据的存储副本数量。
[0017]进一步地,所述监视器和调度器放置于在存储层和代理节点之外的独立节点中,且采取共享监控系统的数据库实现监视器与存储系统的监控系统对接。
[0018]进一步地,所述采取共享监控系统的数据库实现监视器与存储系统的监控系统对接,具体为:存储系统具有监测接口,使用statsd实现;在存储系统运行中,若对象进行超文本传输协议请求,则插入粧函数,通过用户数据报协议将监测数据送入监控系统的监测接口,监视器通过监控系统的数据库获取检测数据。
[0019]进一步地,所述调度器和监视器采用单机模式并进行高可用保护。
[0020]与现有技术相比,本发明充分利用数据推送的实时特性,收集存储系统性能数据和访问信息进行动态副本调度,有效解决了当前存储自动分层系统中实时性不足问题,提高了热点数据访问性能降低了 SSD硬盘的无效磨损,从而推动了海量数据存储系统结构的发展。
[0021]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0022]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0023]图1是本发明的一种实施例中自动分层的存储系统的架构示意图。
[0024]图2是本发明的一种实施例中TierO访问接口的示意图。
【具体实施方式】
[0025]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0026]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0027]图1是本发明的一种实施例中自动分层的存储系统的架构示意图。如图1所示,包括高性能的存储层TierO、普通性能的存储层Tierl、监视器、调度器,以及代理节点,其中监视器和调度器可以在同一个设备中。
[0028]TierO,用于设置尚性能的存储副本;
[0029]具体地,TierO的存储副本参数包括:
[0030]最大冗余度M,表示系统中TierO可以容纳的最大副本数;
[0031]配置冗余度m,表示向TierO中推送的副本数,并且m < Μ ;
[0032]副本槽,表示TierO中副本放置的位置,TierO中的副本都放在副本槽中,该位置可以放置m份副本,也可以为空。
[0033]设置TierO的存储副本参数,例如,Μ = 1,m = 1,即TierO中有1个副本槽。
[0034]Tierl,用于设置普通性能的存储副本;
[0035]具体地,Tierl的存储副本参数包括:
[0036]冗余度N,表示Tierl的副本数。
[0037]设置Tierl的存储副本参数,例如,N = 3,即Tierl中放置3份副本。
[0038]监视器,用于负责获取存储系统中的数据对象访问信息和系统性能信息;
[0039]具体地,对象访问信息来自代理节点,主要是流向存储服务的访问信息。
[0040]调度器,用于负责维护TierO上对象的存储情况,并基于调度策略向Tierl推送数据;
[0041]具体地,包括采用存储服务请求推送数据到TierO,TierO上数据的清除,以及TierO节点上对象列表的维护。调度策略主要包括:热点数据识别,数据热度的维护和数据的置换策略。
[0042]代理节点,用于提供外部代理服务中推送(PUSH)接口。
[0043]在该自动分层的存储系统中,TierO和Tierl之间仅存在Tierl指向TierO的单向数据通路,该通路在Tierl收到PUSH命令后打开,其他情况下TierO和Tierl之间不发生通信。
[0044]TierO的操作基于REST应用程序编程接口(REST API),如图2所示,包括:
[0045]CREATE操作,用来创建一个对象;
[0046]GET操作,用来读取一个对象;
[0047]REMOVE操作,用来删除一个对象;
[0048]值得注意的是,此处删除的语义与Tierl中的DELETE不同,REMOVE是将一个对对象在系统中删除,而非解引用;REM0VE操作的调用时机一方面是调度器主动删除TierO中的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1