基于HDFS的分布式多级存储系统及方法与流程

文档序号:16754205发布日期:2019-01-29 17:11阅读:325来源:国知局
基于HDFS的分布式多级存储系统及方法与流程

本发明涉及分布式存储领域,具体地,涉及基于hdfs的分布式多级存储系统及方法。



背景技术:

目前分布式文件系统通常运行于通用硬件上,其数据存储在普通硬盘中,在高并发访问数据时,其读写速度受到硬盘限制,存在性能瓶颈;使用固态存储盘和内存代替传统机械硬盘可以提升数据读写效率,但在海量数据规模的情况下,高性能存储介质会带来非常巨大的硬件成本,系统存储存在存储器大容量、高速度、低成本这三者之间的矛盾问题。

专利文献cn104965677a公开了提出一种存储系统,该存储系统包括计算资源节点、存储资源节点和pcie网络;其中,所述计算资源节点和所述存储资源节点分别连接到所述pcie网络上,以及,所述pcie网络、所述计算资源节点和所述存储资源节点在物理上均是分离设置的,且,都是可扩展的。该存储系统能够提高灵活性,提高存储资源的访问速度,并降低成本。进一步的,该存储系统还可以同时支持sas、sata和pcie接口中至少一种接口的磁盘,并且,磁盘的存储媒介可以包括hdd和ssd,通过支持不同接口和不同存储媒介的磁盘,实现混合存储系统。另外,该存储系统可以通过动态或静态的配置为计算资源节点分配物理盘或逻辑盘,实现资源按需配置。但是上述专利文献并没有对存储系统的存储资源节点进行有效的资源调度。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于hdfs的分布式多级存储系统及方法。

根据本发明提供的一种基于hdfs的分布式多级存储系统,包括如下任一个或任多个模块:多级存储模块:将多级存储设备中的数据进行统一管理与调度;策略配置模块:实现数据存储过程中的策略配置,所述策略配置包括数据持久化策略配置、缓存数据释放策略配置、数据锁定与解锁策略配置、存储空间预留策略配置中的任一项或任多项配置;数据管理模块:构建并更新数据索引、管理数据一致性;数据检索模块:实现基于hdfs的数据检索。

优选地,所述多级存储模块包括:

创建统一目录空间模块:对多级存储设备提供分布式的统一目录空间,通过所述统一目录空间能够实现多存储设备间存储数据的统一视图;

数据热度采集模块:采集数据热度参数,所述数据热度参数作为数据热度模型计算;

数据热度计算模块:根据数据热度模型计算数据热度值;

数据热度调度模块:根据数据热度值,区分数据的热度分类属性,根据数据所属的热度分类属性对数据在多级存储设备之间调度,记为数据调度。

优选地,所述多级存储设备主要包括顶层存储设备、中间存储设备、底层存储设备这些存储设备,顶层存储设备、中间存储设备、底层存储设备的数据存储速度依次递减,将由顶层存储设备、中间存储设备、底层存储设备构成的存储系统记为底层存储系统;

所述热度分类属性主要包括热数据、冷数据,热数据存储在顶层存储设备,冷数据存储在底层存储设备;

所述数据调度是将数据存储于顶层存储设备,当顶层存储设备容量达到阈值时,将数据迁移至中间存储设备,当中间存储设备容量达到阈值时,将数据存储于底层存储中,并根据数据热度变化在存储设备之间动态迁移。

优选地,上述系统还包括:缓存数据预加载模块:将底层存储设备中的存储数据加载到内存;缓存数据持久化模块:将内存中的数据持久化到底层存储设备中;缓存数据释放模块:释放内存中的数据,回收内存的存储空间。

优选地,所述数据持久化策略配置主要包括数据同步写入内存和底层存储系统、数据同步写入内存但不写入底层存储系统、数据同步写入底层存储系统但不写入内存、数据同步写入内存并异步写入底层存储系统;

缓存数据释放策略配置主要包括移出最大的缓存数据直到释放出所需大小的空间、移出任意的数据块直到释放出所需大小的空间、移出最近最少使用的数据块直到释放出所需大小的空间;

数据锁定与解锁策略配置主要包括将数据块固定在内存中,所述数据块不会从内存中被移出;

存储空间预留策略配置为至少对顶层存储设备、中间存储设备、底层存储设备中的一项的存储空间设置阈值,所述阈值小于所述存储空间的大小。

优选地,所述数据索引主要包括数据名称、路径、位置、大小、创建时间、校验码;

所述数据一致性是相同数据在多级存储设备间能够同步/异步写入、更新、删除、数据校验。

优选地,所述数据检索是按照文件名、数据块id、数据存储位置、数据存储节点进行条件检索,所述条件检索包括单条件检索、组合条件检索,支持精准条件检索以及模糊条件检索。

优选地,上述系统包括web门户模块:提供数据统一管理操作界面,所述数据统一管理操作界面主要包括数据查询、缓存数据加载操作、缓存数据持久化操作。

优选地,上述系统包括二次开发接口模块:提供数据多级存储管理接口,所述管理接口主要包括缓存数据加载接口、缓存数据持久化接口、数据检索接口。

根据本发明提供的一种基于hdfs的分布式多级存储方法,其特征在于,包括如下任一个或任多个步骤:多级存储步骤:将多级存储设备中的数据进行统一管理与调度;策略配置步骤:实现数据存储过程中的策略配置,所述策略配置包括数据持久化策略配置、缓存数据释放策略配置、数据锁定与解锁策略配置、存储空间预留策略配置中的任一项或任多项配置;数据管理步骤:构建并更新数据索引、管理数据一致性;数据检索步骤:实现基于hdfs的数据检索。

与现有技术相比,本发明具有如下的有益效果:

1)利用多级存储调度技术,将数据读写速度提升到内存级别,有效的解决高并发数据访问时的性能瓶颈,提升系统响应速度和并发处理能力,解决分布式文件系统读写效率问题;

2)采用数据热度统计,动态地将热数据迁移至高速缓存设备,将冷数据迁移至低速存储设备,通过合理的数据分配策略有效的缩减了费用成本,增加了存储容量;

3)提供分布式多级存储,提升海量数据i/o吞吐率,为数据密集型应用提供有效支撑。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为基于hdfs的分布式多级存储系统的系统架构图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

为了解决分布式文件系统读写效率问题,本发明利用多级存储调度技术将多级存储设备,映射成本地虚拟磁盘,并提供分布式统一目录空间,为多级存储设备提供分布式统一目录空间,用于存储数据节点的数据。构建分布式数据热度模型,对数据的热度进行计算,根据调度策略将数据在多级存储设备上进行动态迁移以达到数据大容量与数据高速度之间的平衡。对统一目录空间中的所有数据块建立索引进行维护并提供数据检索功能,可浏览数据块的存储位置,且可以根据用户需求改变数据块的当前存储位置,进行数据预加载与数据持久化操作。通过内存和ssd进行数据访问,能够大大提升其读写效率。通过热度数据迁移、数据预加载和数据持久化功能,有效地利用内存和ssd,加速分布式数据读写速度,提升系统响应速度和并发处理能力。

本发明基于hadoop分布式文件系统(hdfs)和多级存储调度技术,将内存(mem)、固态硬盘(ssd)、硬盘驱动器(hdd)的数据进行统一管理与调度,并提供分布式统一目录空间。根据分布式数据热度,在不同的存储层间动态迁移数据,并提供手动预加载与持久化数据操作,利用内存与ssd有效地提升分布式文件系统的读写效率。

如图1所示,根据本发明公开的一种基于hdfs的分布式多级存储系统,包括有:多级存储模块:用于将多级存储设备中的数据进行统一管理与调度,提升数据存储效率,提供数据缓存与持久化功能,有效提升数据存取效率;策略配置模块:用于实现数据存储过程中的策略配置,所述策略配置包括数据持久化策略配置、缓存数据释放策略配置、数据锁定与解锁策略配置、存储空间预留策略配置中的任一项或任多项配置;数据管理模块:用于构建并更新数据索引、管理数据一致性;数据检索模块:用于实现基于hdfs的数据检索;缓存数据预加载模块:用于将底层存储设备中的存储数据加载到内存;缓存数据持久化模块:用于将内存中的数据持久化到底层存储设备中;缓存数据释放模块:用于释放内存中的数据,回收内存的存储空间。

具体地,基于hdfs的分布式多级存储系统还包括web门户模块、二次开发接口模块;所述web门户模块用于提供数据统一管理操作界面,所述数据统一管理操作界面主要包括数据查询、缓存数据加载操作、缓存数据持久化操作。所述二次开发接口模块:用于提供数据多级存储管理接口,所述管理接口主要包括缓存数据加载接口、缓存数据持久化接口、数据检索接口。

具体地,所述多级存储模块包括:创建统一目录空间模块:用于对多级存储设备提供分布式的统一目录空间,通过所述统一目录空间能够实现多存储设备间存储数据的统一视图,所述统一目录空间能够分为数据节点、管理节点,所述数据节点上存放多级存储设备的统一目录空间,所述管理节点是对所有数据节点的统一目录空间。分布式统一目录空间主要解决多存储设备之间数据统一视图问题,提供数据节点上多级存储的统一目录空间,提供管理节点对所有数据节点数据的统一目录空间,通过分布式统一目录空间实现多存储设备间数据统一视图访问;数据热度采集模块:用于采集数据热度;数据热度计算模块:根据数据热度模型计算数据热度值;数据热度调度模块:用于根据数据热度值,区分数据的热度分类属性,根据数据所属的热度分类属性对数据在多级存储设备之间调度,记为数据调度。分布式数据热度调度主要解决存储器大容量、高速度、低成本这三者之间的矛盾问题。提出分布式数据热度模型,通过数据热度值计算和基于热度的多级存储调度,将数据分别置于不同存储层中,并根据热度值变化在存储层间动态迁移数据,实现内存级的访问速度与硬盘级的存储容量。

具体地,所述多级存储设备主要包括顶层存储设备、中间存储设备、底层存储设备这些存储设备,顶层存储设备、中间存储设备、底层存储设备的数据存储速度依次递减,将由顶层存储设备、中间存储设备、底层存储设备构成的存储系统记为底层存储系统;所述热度分类属性主要包括热数据、冷数据,热数据存储在顶层存储设备,冷数据存储在底层存储设备;所述数据调度是将数据存储于顶层存储设备,当顶层存储设备容量达到阈值时,将数据迁移至中间存储设备,当中间存储设备容量达到阈值时,将数据存储于底层存储中,并根据数据热度变化在存储设备之间动态迁移。

具体地,所述数据持久化策略配置主要包括数据同步写入内存和底层存储系统、数据同步写入内存但不写入底层存储系统、数据同步写入底层存储系统但不写入内存、数据同步写入内存并异步写入底层存储系统。

具体地,缓存数据释放策略配置主要包括移出最大的缓存数据直到释放出所需大小的空间、移出任意的数据块直到释放出所需大小的空间、移出最近最少使用的数据块直到释放出所需大小的空间;数据锁定与解锁策略配置主要包括将数据块固定在内存中,所述数据块不会从内存中被移出;存储空间预留策略配置为至少对顶层存储设备、中间存储设备、底层存储设备中的一项的存储空间设置阈值,所述阈值小于所述存储空间的大小。

具体地,所述数据索引主要包括数据名称、路径、位置、大小、创建时间、校验码;所述数据一致性是相同数据在多级存储设备间能够同步/异步写入、更新、删除、数据校验;所述数据检索是按照文件名、数据块id、数据存储位置、数据存储节点进行条件检索,所述条件检索包括单条件检索、组合条件检索,支持精准条件检索以及模糊条件检索。单条件检索是指支持按照文件名、数据块id、数据存储位置、数据存储节点进行检索;组合条件检索是指支持按照文件名、数据块id、数据存储位置、数据存储节点中的任意多个进行组合进行联合检索;模糊条件检索支持使用通配符进行检索,例如使用*、?进行模糊条件检索。

优选地,基于hdfs的分布式多级存储系统能够跨平台操作,支持windows、linux等操作系统。

本发明还公开了一种基于hdfs的分布式多级存储方法,其特征在于,包括如下任一个或任多个步骤:多级存储步骤:将多级存储设备中的数据进行统一管理与调度;策略配置步骤:实现数据存储过程中的策略配置,所述策略配置包括数据持久化策略配置、缓存数据释放策略配置、数据锁定与解锁策略配置、存储空间预留策略配置中的任一项或任多项配置;数据管理步骤:构建并更新数据索引、管理数据一致性;数据检索步骤:实现基于hdfs的数据检索。

具体地,所述多级存储步骤包括:

创建统一目录空间步骤:对多级存储设备提供分布式的统一目录空间,通过所述统一目录空间能够实现多存储设备间存储数据的统一视图;

数据热度采集步骤:采集数据热度参数,所述数据热度参数作为数据热度模型计算;

数据热度计算步骤:根据数据热度模型计算数据热度值;

数据热度调度步骤:根据数据热度值,区分数据的热度分类属性,根据数据所属的热度分类属性对数据在多级存储设备之间调度,记为数据调度。

具体地,所述多级存储设备主要包括顶层存储设备、中间存储设备、底层存储设备这些存储设备,顶层存储设备、中间存储设备、底层存储设备的数据存储速度依次递减,将由顶层存储设备、中间存储设备、底层存储设备构成的存储方法记为底层存储方法;

所述热度分类属性主要包括热数据、冷数据,热数据存储在顶层存储设备,冷数据存储在底层存储设备;

所述数据调度是将数据存储于顶层存储设备,当顶层存储设备容量达到阈值时,将数据迁移至中间存储设备,当中间存储设备容量达到阈值时,将数据存储于底层存储中,并根据数据热度变化在存储设备之间动态迁移。

具体地,上述方法还包括:缓存数据预加载步骤:将底层存储设备中的存储数据加载到内存;缓存数据持久化步骤:将内存中的数据持久化到底层存储设备中;缓存数据释放步骤:释放内存中的数据,回收内存的存储空间。

具体地,所述数据持久化策略配置主要包括数据同步写入内存和底层存储方法、数据同步写入内存但不写入底层存储方法、数据同步写入底层存储方法但不写入内存、数据同步写入内存并异步写入底层存储方法;

缓存数据释放策略配置主要包括移出最大的缓存数据直到释放出所需大小的空间、移出任意的数据块直到释放出所需大小的空间、移出最近最少使用的数据块直到释放出所需大小的空间;

数据锁定与解锁策略配置主要包括将数据块固定在内存中,所述数据块不会从内存中被移出;

存储空间预留策略配置为至少对顶层存储设备、中间存储设备、底层存储设备中的一项的存储空间设置阈值,所述阈值小于所述存储空间的大小。

具体地,所述数据索引主要包括数据名称、路径、位置、大小、创建时间、校验码;

所述数据一致性是相同数据在多级存储设备间能够同步/异步写入、更新、删除、数据校验。

具体地,所述数据检索是按照文件名、数据块id、数据存储位置、数据存储节点进行条件检索,所述条件检索包括单条件检索、组合条件检索,支持精准条件检索以及模糊条件检索。

具体地,上述方法包括web门户步骤:提供数据统一管理操作界面,所述数据统一管理操作界面主要包括数据查询、缓存数据加载操作、缓存数据持久化操作。

具体地,上述方法包括二次开发接口步骤:提供数据多级存储管理接口,所述管理接口主要包括缓存数据加载接口、缓存数据持久化接口、数据检索接口。

在本发明的具体使用过程中,通过用户空间文件系统技术实现在windows、linux等操作系统中多级存储设备的统一目录空间,用于存储数据节点的数据;构建数据热度模型,并计算出数据热度值,通过轻量级数据库构建并维护数据索引表和数据热度表。根据数据热度以及调度策略实现热度数据的多级存储调度服务。通过数据统一管理功能,实现数据查询、数据预加载和数据持久化。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1