一种基于hadoop异构存储的数据存储方法及系统转让专利

申请号 : CN201510529487.7

文献号 : CN105138476B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 柴满徐健王国辉

申请人 : 广东创我科技发展有限公司

摘要 :

本发明所提供一种基于hadoop异构存储的数据存储方法及系统,其首先,获取数据在一段时间内被访问频率;其次,根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;最后,根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述数据存储硬盘。通过获取数据在最近一段时间内使用频率,根椐数据的使用频率不同,自动将hadoop数据分级存储,将使用频率高的数据存放在SSD高速硬盘,将使用频率高中等的数据放在高速机械硬盘上,将使用频率低的数据存放在低速机械硬盘上,提升系统的整体性能。

权利要求 :

1.一种基于hadoop异构存储的数据存储方法,其特征在于:其包括:A、获取设置于hadoop集群的数据节点上的存储硬盘中的数据在一段时间内的被访问频率;

B、根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;

C、根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述存储硬盘;所述步骤A具体包括:

记录数据在一段时间内被访问次数;

根据数据被访问次数,计算数据被访问频率;

所述数据被访问次数记录于设置于数据访问层的访问日志记录层;所述访问日志记录层为增设的,且记录每个数据被访问的情况;

当数据被访问时,在所述访问日志记录层内,将数据被访问的情况与被访问的时间作为一组信息存储,并按照时间由早先近的顺序存储。

2.根据权利要求1所述的基于hadoop异构存储的数据存储方法,其特征在于,其还包括,预先设置用于确定被访问频率与存储硬盘对应关系的阈值、以及被访问频率与存储硬盘的对应关系;所述关系为:被访问频率小于第一阈值,数据存储于低速机械硬盘,第一阈值小于被访问频率,且被访问频率小于第二阈值,数据存储于高速机械硬盘,被访问频率大于第二阈值,数据存储于SSD高速硬盘。

3.根据权利要求1或2所述的基于hadoop异构存储的数据存储方法,其特征在于,所述存储硬盘包括:SSD高速硬盘、高速机械硬盘和低速机械硬盘。

4.根据权利要求1所述的基于hadoop异构存储的数据存储方法,其特征在于,所述数据被访问次数为数据读取次数、写入次数、以及删除次数的和。

5.一种基于hadoop异构存储的数据存储系统,其特征在于,其包括:获取模块,用于获取设置于hadoop集群的数据节点上的存储硬盘中的数据在一段时间内的被访问频率;

查找模块,用于根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;

迁移模块,用于根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述数据存储硬盘;所述获取模块包括:

记录子单元,用于记录数据在一段时间内被访问次数;

计算单元,用于根据数据被访问次数,计算数据被访问频率;其中,所述被访问次数记录于设置于数据访问层的访问日志记录层;所述访问日志记录层为增设的,且记录每个数据被访问的情况;

当数据被访问时,在所述访问日志记录层内,将数据被访问的情况与被访问的时间作为一组信息存储,并按照时间由早先近的顺序存储。

6.根据权利要求5所述的基于hadoop异构存储的数据存储系统,其特征在于,其还包括:预设模块,用于预先设置用于确定被访问频率与存储硬盘对应关系的阈值、以及被访问频率与存储硬盘的对应关系;所述关系为:被访问频率小于第一阈值,数据存储于低速机械硬盘,第一阈值小于被访问频率,且被访问频率小于第二阈值,数据存储于高速机械硬盘,被访问频率大于第二阈值,数据存储于SSD高速硬盘。

7.根据权利要求5或6所述的基于hadoop异构存储的数据存储系统,其特征在于,所述存储硬盘包括:SSD高速硬盘、高速机械硬盘和低速机械硬盘。

说明书 :

一种基于hadoop异构存储的数据存储方法及系统

技术领域

[0001] 本发明涉及分布式架构领域,特别涉及一种基于hadoop异构存储的数据存储方法及系统。

背景技术

[0002] Hadoop是一个分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS,HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。Hadoop以并行的方式工作,通过并行处理加快处理速度,能够处理PB级数据。但现有的hadoop集群一般都是采用单一的机械硬盘作存储,没有按使用频率区分数据的级别,在使用过程中经常因磁盘I/O瓶颈影响效率。
[0003] 因而现有技术还有待改进和提高。

发明内容

[0004] 本发明要解决的技术问题在于,针对现有技术的不足,提供一种基于hadoop异构存储的数据存储方法及系统,其能够解决现有采用单一的机械硬盘作存储,没有按使用频率区分数据的级别,在使用过程中经常因磁盘I/O瓶颈影响效率的问题。
[0005] 为了解决上述技术问题,本发明所采用的技术方案如下:
[0006] 一种基于hadoop异构存储的数据存储方法,其包括:
[0007] A、获取设置于hadoop集群的数据节点上的存储硬盘中的数据在一段时间内的被访问频率;
[0008] B、根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;
[0009] C、根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述存储硬盘。
[0010] 所述基于hadoop异构存储的数据存储方法,其还包括,预先设置用于确定被访问频率与存储硬盘对应关系的阈值、以及被访问频率与存储硬盘的对应关系;所述关系为:
[0011] 被访问频率小于第一阈值,数据存储于低速机械硬盘,
[0012] 第一阈值小于被访问频率,且被访问频率小于第二阈值,数据存储于高速机械硬盘,
[0013] 被访问频率大于第二阈值,数据存储于SSD高速硬盘。
[0014] 所述基于hadoop异构存储的数据存储方法,其中,所述存储硬盘包括:SSD高速硬盘、高速机械硬盘和低速机械硬盘。
[0015] 所述基于hadoop异构存储的数据存储方法,其中,所述步骤A具体包括:
[0016] A1、记录数据在一段时间内被访问次数;
[0017] A2、根据数据被访问次数,计算数据被访问频率。
[0018] 所述基于hadoop异构存储的数据存储方法,其中,所述数据被访问次数记录于设置于数据访问层的访问日志记录层。
[0019] 所述数据被访问次数为数据读取次数、写入次数、以及删除次数的和。
[0020] 一种基于hadoop异构存储的数据存储系统,其包括:
[0021] 获取模块,用于获取设置于hadoop集群的数据节点上的存储硬盘中的数据在一段时间内的被访问频率;
[0022] 查找模块,用于根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;
[0023] 迁移模块,用于根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述数据存储硬盘。
[0024] 所述基于hadoop异构存储的数据存储系统,其还包括:
[0025] 预设模块,用于预先设置用于确定被访问频率与存储硬盘对应关系的阈值、以及被访问频率与存储硬盘的对应关系;所述关系为:
[0026] 被访问频率小于第一阈值,数据存储于低速机械硬盘,
[0027] 第一阈值小于被访问频率,且被访问频率小于第二阈值,数据存储于高速机械硬盘,
[0028] 被访问频率大于第二阈值,数据存储于SSD高速硬盘。
[0029] 所述存储硬盘包括:SSD高速硬盘、高速机械硬盘和低速机械硬盘。
[0030] 所述基于hadoop异构存储的数据存储系统,其中,所述获取模块包括:
[0031] 记录子单元,用于记录数据在一段时间内被访问次数;
[0032] 计算单元,用于根据数据被访问次数,计算数据被访问频率。
[0033] 有益效果:与现有技术相比,本发明所提供基于hadoop异构存储的数据存储方法及系统,其首先,获取数据在一段时间内被访问频率;其次,根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;最后,根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述数据存储硬盘。通过获取数据在最近一周的使用频率,根椐数据的使用频率不同,自动将hadoop数据分级存储,将使用频率高的数据存放在SSD高速硬盘,将使用频率高中等的数据放在高速机械硬盘上,将使用频率低的数据存放在低速机械硬盘上,提升系统的整体性能。从根本上解决了现有采用单一的机械硬盘作存储,没有按使用频率区分数据的级别,在使用过程中经常因磁盘I/O瓶颈影响效率的问题。

附图说明

[0034] 图1为本发明提供基于hadoop异构存储的数据存储方法较佳实施例的流程图。
[0035] 图2为本发明提供基于hadoop异构存储的数据存储系统的结构原理图。

具体实施方式

[0036] 本发明提供一种基于hadoop异构存储的数据存储方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0037] 下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
[0038] 请参见图1,图1为本发明提供基于hadoop异构存储的数据存储方法较佳实施例的流程图。所述方法包括如下步骤:
[0039] 一种基于hadoop异构存储的数据存储方法,其包括:
[0040] S1、获取设置于hadoop集群的数据节点上的存储硬盘中的数据在一段时间内的被访问频率。
[0041] 具体地,所述获取数据在一段时间内被访问频率,其具体过程为:首先记录数据一段时间内的访问次数,再根据所述访问次数计算该数据的被访问频率。所述被访问频率的计算公式可以为:
[0042] 被访问频率=一段时间访问次数/一段时间。
[0043] 其中,所述数据被访问次数为数据读取次数、写入次数、删除次数的和。
[0044] 也就是说,所述被访问频率指的是一段时间内的平均访问次数。其可以是一个小时内的平均访问次数,也可以是一天内的平均访问次数,还可以是一周内的平均访问次数。所述被访问频率所表述的时间段可以根据用户需求自行设定,也可以预设设置。这里,对于时间段不做具体限制,仅给出例子加以说明。例如,所述一段时间为一周,频率表示数据一周内被访问频率,指的是每天被访问的平均次数;其计算公式:
[0045] 被访问频率=一周内数据被访问次数/一周的天数7。
[0046] 进一步,所数据被访问次数记录于设置于数据访问层的访问日志记录层;所述访问日志记录层为增设的。所述访问日志记录层记录每个数据被访问的情况。当数据被访问时,查找访问日志记录层内可以将数据被访问的情况与被访问的时间作为一组信息存储,其按照时间由早先近的顺序存储。这样,系统设定每天固定时间获取今天以前的一周内数据被访问的频率,根据被访问频率对数据进行迁移;实现了每天根据前一周数据被访问频率自动分级存储数据。
[0047] 进一步,所述数据记录功能可以系统设定的,其也可以根据用户需求自行设定开启/关闭,如果关闭,那么SSD高速硬盘、高速机械硬盘、低速机械硬盘被看做一个机械硬盘,其存储数据的顺序为依次存储,可以先存储SSD高速硬盘,在存储高速机械硬盘,最后存储低速机械硬盘。也可以先存储低速机械硬盘,在存储高速机械硬盘,最后存储SSD高速硬盘,这里对于存储顺序不做限制。当开启,则根据数据被访问频率将数据存储于其被访问频率所对应的硬盘,例如,所述数据的被访问频率与SSD高速硬盘对数据被访问频率的要求相匹配,则将所述数据存储于SSD高速硬盘。
[0048] S2、根据所述被访问频率,查找预先设置与频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘。
[0049] 具体地,根据所述被访问频率,查找预先设置与被访问频率对应的数据存储硬盘,确定为所述数据存储硬盘;其具体过程为根据所述被访问频率,确定所述被访问频率所述属于的阈值范围内,根据阈值范围与存储硬盘的对应关系查找所述被访问频率数据的存储硬盘,从而查找到所述被访问频率对应的数据存储硬盘,确定为所述被访问频率所对应的数据存储硬盘。所述存储硬盘为预先设于置hadoop集群的数据节点上用于存储数据的机械硬盘,其包括:SSD高速硬盘、高速机械硬盘和低速机械硬盘。
[0050] 进一步,所述频率存储硬盘的对应关系是预先设定的,其可以通过设定阈值,来确定频率所属的阈值范围,根据阈值范围确定数据的存储硬盘。所属阈值可以是系统预先设定的,也可以用户根据数据使用的情况自行设定。这样可以避免由于不同用户使用情况不同,而造成的某个硬盘内无数据,某个硬盘存储数据外溢的问题。对于阈值的选取,不做具体限制,可以设置修改,这里仅给出例子加以说明。例如,第一阈值为5,第二阈值为50,那么被访问频率与存储硬盘的对应关系为:
[0051] 被访问频率小于第一阈值,数据存储于低速机械硬盘,
[0052] 第一阈值小于被访问频率,且被访问频率小于第二阈值,数据存储于高速机械硬盘,
[0053] 被访问频率大于第二阈值,数据存储于SSD高速硬盘。
[0054] 也就是说,将被访问频率高的数据存储于SSD高速硬盘,将被访问频率中的存储于高速机械硬盘,将被访问频率低的存储于低速机械硬盘。这里,所述SSD高速硬盘、高速机械硬盘和低速机械硬盘处理数据的速度为由高到低,这样可以避免被访问次高的数据存储于低速机械硬盘,造成的硬盘处理数据的速度低于数据被访问的频率磁盘效率低的问题。
[0055] S3、根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述数据存储硬盘。
[0056] 具体地,所述将所述数据迁移至所述数据存储硬盘为根据一段时间内数据被访问频率调整数据的存储硬盘,这样可以根据不同时间数据的被访问频率自动调整数据的存储硬盘。
[0057] 本发明还提供了一种基于hadoop异构存储的数据存储系统,请参照图2,所述系统包括:
[0058] 获取模块100,用于获取设置于hadoop集群的数据节点上的存储硬盘中的数据在一段时间内的被访问频率;
[0059] 查找模块200,用于根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;
[0060] 迁移模块300,用于根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述数据存储硬盘。
[0061] 所述基于hadoop异构存储的数据存储系统,其还包括:
[0062] 预设模块,用于预先设置用于确定被访问频率与存储硬盘对应关系的阈值、以及被访问频率与存储硬盘的对应关系,所述对应关系为:
[0063] 被访问频率小于第一阈值,数据存储于低速机械硬盘,
[0064] 第一阈值小于被访问频率,且被访问频率小于第二阈值,数据存储于高速机械硬盘,
[0065] 被访问频率大于第二阈值,数据存储于SSD高速硬盘。
[0066] 所述预设模块还用于预先在hadoop集群的数据节点上设置用于存储数据的SSD高速硬盘、高速机械硬盘和低速机械硬盘。
[0067] 所述基于hadoop异构存储的数据存储系统,其中,所述获取模块包括:
[0068] 记录子单元,用于记录数据在一段时间内被访问次数;
[0069] 计算单元,用于根据数据被访问次数,计算数据被访问频率。
[0070] 上述基于hadoop异构存储的数据存储系统的单元模块都已经在上述方法中进行了详细介绍,这里就不再赘述了。
[0071] 本发明所提供基于hadoop异构存储的数据存储方法及系统,其首先,获取数据在一段时间内被访问频率;其次,根据所述被访问频率,查找预先设置与所述被访问频率对应的数据存储硬盘,确定为所述被访问频率数据的存储硬盘;最后,根据所述被访问频率数据的存储硬盘,将所述数据迁移至所述数据存储硬盘。通过获取数据在最近一周的使用频率,根椐数据的使用频率不同,自动将hadoop数据分级存储,将使用频率高的数据存放在SSD硬盘,将使用频率高中等的数据放在高速硬盘上,将使用频率低的数据存放在低速硬盘上,提升系统的整体性能。从根本上解决了现有采用单一的机械硬盘作存储,没有按使用频率区分数据的级别,在使用过程中经常因磁盘I/O瓶颈影响效率的问题。
[0072] 可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。