支持异构存储的高性能层次化存储系统的制作方法

文档序号:14249497阅读:119来源:国知局
本发明涉及一种存储系统,具体地,涉及一种支持异构存储的高性能层次化存储系统。
背景技术
:在海量大数据的需求下,数据存储的数据分布和数据访问速度对数据处理影响巨大,合理的大数据存储能力和分布能力决定着数据可访问性,高效的数据访问能力决定着计算处理速度。在影像数据处理平台中,数据主要采用集中存储,在面对高分辨率,大数据量的影像数据文件,平台存储处理如果效率不高,在时间紧急等情况下,系统无法完成规模化的数据处理。技术实现要素:针对现有技术中的缺陷,本发明的目的是提供一种支持异构存储的高性能层次化存储系统,其通过能利用异构存储进行大数据的分层存储,配合合理的数据层次化存储算法,可以有效解决海量大数据访问低效问题,提升平台的数据存储和访问效率。根据本发明的一个方面,提供一种支持异构存储的高性能层次化存储系统,其特征在于,包括:文件系统模块,提供不同存储介质上的数据文件的统一访问;文件系统负责组织、管理、维护分布式文件系统存储的所有数据文件,文件在文件系统中以主文件、目录文件、元文件进行存储;数据块存储模块,通过数据切片方式将完整数据分散存储到各个不同的节点,数据访问可以以并发的方式提高访问速度;数据块存储模块采用定长分块算法对数据块进行划分;该算法采用预先义好的块大小对文件进行切分,并进行弱校验值和md5强校验值;弱校验值主要是为了提升差异编码的性能,先计算弱校验值并进行hash查找,如果发现则计算md5强校验值并作进一步hash查找;由于弱校验值计算量要比md5小很多,因此可以有效提高编码性能;元数据管理模块,元数据是用来记录文件系统中文件和数据块的对应信息,元数据管理模块结合集中与分散管理的优势,采用多副本分布式冗余存储的方法;提供了元数据多备份处理和版本控制,以实现元数据的容错性和高可用性;存储调度模块,一方面它实现数据副本在各个节点间的调度,另一方面它实现数据块在内存、ssd以及hdd三种不同存储介质之间的调度;可视化模块,主要提供整个存储系统的使用情况,实时监测的展示,以及动态调整的可视化操作。优选地,所述文件系统模块又包括两个子模块,文件描述子模块和文件体子模块;文件描述子模块记录着对文件大小、类型、文件标志、读写权限等的描述;文件体子模块记录着文件的实际数据信息。优选地,所述文件系统模块包括以下功能:文件创建,所有的元数据操作,以及用于文件打开的读操作和写操作,通过文件系统对象返回文件流对象来执行;文件写,文件系统通过访问元数据模块,获取文件信息,再结合文件系统调度模块,选择数据块存储位置,文件系统便可以将文件写入数据块选择存储的存储层;文件读,通过文件系统对象可以修改文件元数据,或者通过获取一个个输入流来读取文件。优选地,所述数据块存储模块包括以下功能:数据块分配,所有的文件都是以块存储,块存储模块根据文件大小分配定长的数据块进行文件数据存储,同时数据块分布在不同的机器节点上;数据块冗余,为了保证数据的高可靠性,底层通过数据块冗余来保证数据多副本,副本数可以进行预选设置;数据块重平衡,保证文件系统使用过程中,数据块的分布均匀,不会因数据块集中而造成数据访问性能丢失。优选地,所述元数据管理模块包括以下功能:中央存储库:保存所有的元数据集中存储,负责系统正常运转时元数据服务访问;分布式冗余备份:依据系统中不同节点与中央存储库的网络距离对元数据进行备份,使得在元数据在遭遇破坏时能够及时恢复;极端情况下,在某个存储介质发生损坏时,依然可以通过元数据备份访问数据块;元数据的版本控制:采用树形结构保存一定数目的历史版本,以便用户对不同的版本间的恢复,降低错误的更改对系统造成的影响。优选地,所述存储调度模块在各个节点之间的分配调度有以下三种策略选择:贪心分配策略:分配数据块到首个有足够空间的存储节点;最大剩余空间分配策略:分配数据块到有最大剩余空间的存储节点;轮询调度分配策略:分配数据块到通过轮询调度选出节点。优选地,所述可视化模块包括以下功能:增删数据:增删数据提供对存储系统中各个层次的数据的上传与删除等基本的管理工作,方便了用户的操作;系统展示:系统展示模块显示了整个系统的使用概况,各个存储层次的负载情况等;监测管理:监测管理是对整个系统的运行状况的实时监测,以便及时发现过载或者受损的存储介质,对其中的数据进行备份和迁移;存储配置:存储配置则是系统的存储配置管理模块,实现了对系统的可视化配置,便于集群的管理;同时提供配置文件的版本控制的功能,以实现版本间的快速恢复。与现有技术相比,本发明具有如下的有益效果:(1)由于数据分层存储,热点数据副本优先加载到性能高的存储,系统根据数据特性充分发挥异构存储的高性能。(2)数据动态调整,现有分布式存储方案都是数据副本静态存储,数据不做迁移,本方案会根据数据的时效性实现数据的动态存储。(3)采用分布式内存缓存数据,相对于集中存储,热点数据只有常用的副本会在内存或高速存储,其他副本可以持久化到磁盘或低速存储,一方面加速分布式计算,一方面提高磁盘利用率。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为本发明支持异构存储的高性能层次化存储系统的原理框图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。如图1所示,本发明支持异构存储的高性能层次化存储系统包括:文件系统模块,提供不同存储介质上的数据文件的统一访问。文件系统负责组织、管理、维护分布式文件系统存储的所有数据文件,文件在文件系统中以主文件、目录文件、元文件进行存储。数据块存储模块,通过数据切片方式将完整数据分散存储到各个不同的节点,数据访问可以以并发的方式提高访问速度。数据块存储模块采用定长分块算法对数据块进行划分。该算法采用预先义好的块大小对文件进行切分,并进行弱校验值和md5强校验值。弱校验值主要是为了提升差异编码的性能,先计算弱校验值并进行hash查找,如果发现则计算md5强校验值并作进一步hash查找。由于弱校验值计算量要比md5小很多,因此可以有效提高编码性能;元数据管理模块,元数据是用来记录文件系统中文件和数据块的对应信息,元数据管理模块结合集中与分散管理的优势,采用多副本分布式冗余存储的方法。提供了元数据多备份处理和版本控制,以实现元数据的容错性和高可用性;存储调度模块,一方面它实现数据副本在各个节点间的调度,另一方面它实现数据块在内存、ssd以及hdd三种不同存储介质之间的调度;可视化模块,主要提供整个存储系统的使用情况,实时监测的展示,以及动态调整的可视化操作。文件系统模块又包括两个子模块,文件描述子模块和文件体子模块;文件描述子模块记录着对文件大小、类型、文件标志、读写权限等的描述;文件体子模块记录着文件的实际数据信息。文件系统模块包括以下功能:文件创建,所有的元数据操作,以及用于文件打开的读操作和写操作,通过文件系统对象返回文件流对象来执行;文件写,文件系统通过访问元数据模块,获取文件信息,再结合文件系统调度模块,选择数据块存储位置,文件系统便可以将文件写入数据块选择存储的存储层;文件读,通过文件系统对象可以修改文件元数据,或者通过获取一个个输入流来读取文件。数据块存储模块包括以下功能:数据块分配,所有的文件都是以块存储,块存储模块根据文件大小分配定长的数据块进行文件数据存储,同时数据块分布在不同的机器节点上;数据块冗余,为了保证数据的高可靠性,底层通过数据块冗余来保证数据多副本,副本数可以进行预选设置;数据块重平衡,保证文件系统使用过程中,数据块的分布均匀,不会因数据块集中而造成数据访问性能丢失。元数据管理模块包括以下功能:中央存储库:保存所有的元数据集中存储,负责系统正常运转时元数据服务访问;分布式冗余备份:依据系统中不同节点与中央存储库的网络距离对元数据进行备份,使得在元数据在遭遇破坏时能够及时恢复;极端情况下,在某个存储介质发生损坏时,依然可以通过元数据备份访问数据块;元数据的版本控制:采用树形结构保存一定数目(用户可自行设置)的历史版本,以便用户对不同的版本间的恢复,降低错误的更改对系统造成的影响。存储调度模块在各个节点之间的分配调度有三种策略可以选择:(1)贪心分配策略:分配数据块到首个有足够空间的存储节点;(2)最大剩余空间分配策略:分配数据块到有最大剩余空间的存储节点;(3)轮询调度分配策略:分配数据块到通过轮询调度选出节点。可视化模块包括以下功能:增删数据:增删数据提供对存储系统中各个层次的数据的上传与删除等基本的管理工作,方便了用户的操作;系统展示:系统展示模块显示了整个系统的使用概况,各个存储层次的负载情况等;监测管理:监测管理是对整个系统的运行状况的实时监测,以便及时发现过载或者受损的存储介质,对其中的数据进行备份和迁移;存储配置:存储配置则是系统的存储配置管理模块,实现了对系统的可视化配置,便于集群的管理;同时提供配置文件的版本控制的功能,以实现版本间的快速恢复。数据在内存、ssd以及hdd之间的存储调度,则主要是依据数据热度评价机制,尽可能使得内存中尽量缓存访问频度高的数据副本,ssd保存访问频度次之的数据副本,而hdd则保存冷数据副本。数据的热度一方面可以由系统为每个用户设定,也可以在用户上传数据的时候指定一种热度。热度分为0到3四种级别,设定了三个副本在不同节点上的存储层次,如表1所示。此种存储策略能发挥高存取效率,在保证数据高可靠性的同时提高了存储容量的利用率。表1数据热度存储策略热度级别主副本从副本从副本0内存ssdssd1内存ssdhdd2ssdhddhdd3hddhddhdd由于分布式文件系统采用副本冗余的策略实现数据高可用性,但是实际在使用中,并不是每个副本都具备很高的被访问性。系统实现热数据副本的动态迁移,热副本加载到内存,冷副本持久化到磁盘。存储迁移保证了数据根据实际需求或者实际使用情况,在一个节点之间不同存储层级之间的迁移。通常来讲,某个文件最近一段时间的平均i/o可以反映此文件的热度;但是有些文件即使不经常访问,但是需要其在访问时及时被调用。所以我们为用户提供了一个可配置文件重要性的参数。若规定文件为重要文件,则保留一份副本在内存中永不降级,若规定文件为次重要文件;则保留一份副本在ssd,根据文件近期平均i/o确定是否回迁;若规定文件为不重要,则保留副本在hdd,同样根据文件近期平均i/o确定是否回迁。考虑到存储容量的问题,最终的存储层级根据文件重要性,平均i/o和剩余磁盘大小三个参数最终决定的。基于平均i/o确定文件层级的策略如下:平均热度近似计算公式如下式(1):i/oavg=(anew-aold)/(s·t)…………(1)其中,anew为根据记录日志读取的文件最近i/o活动的统计值,aold为最早的统计值,s表示文件大小,t表示预设的时间值。工作流程如下:在一定时间t内,计算该层级下所有文件的i/oavg,并找出最大值max和最小值min。设置一定的i/o阈值,将小于此值的目标文件存放至迁移队列。对于次层级的文件层次,设置回迁阈值,若大于该值,则将文件放入回迁队列。根据磁盘空间确定文件层级的策略:内存、ssd以及hdd三个存储层次的速度与容量呈现金字塔形状,为了解决越上层次的存储空间越容易占满的问题,对内存层和ssd层分别设置一个预留空间使用率的阈值,最大值cmax和最小值cmin。若实际利用率大于cmax,则文件系统强制进行文件迁出,若实际利用率介于cmin和cmax之间,则暂停数据写操作,允许数据迁出操作;若实际利用率小于cmin,则暂停数据迁出操作允许数据的写入。优先从未被标记重要级别的文件,以及低重要性数据中选择哪些数据进行迁出。选择迁出的策略,提供了以下三种方式:贪心回收策略:移出任意的块直到释放出所需大小的空间。lru回收策略:移出最近最少使用的数据块直到释放出所需大小的空间。部分lru回收策略:基于最近最少使用移出,但是选择有最大剩余空间的存储目录,只从该目录移出数据块。本发明是一个动态调整的高效存储技术,通过它可以构建高效的数据存储系统。数据存储系统由内存,ssd和hdd等不同存储介质组成,不同存储介质之间通过软件定义进行数据统一管理。数据存储系统主要包括文件系统模块、数据块存储模块、元数据管理模块和存储调度模块,向外部提供数据统一访问接口,数据管理,数据存储操作等功能。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1