一种基于任务策略的内存级数据快速存储方法
【技术领域】
[0001 ]本发明属于计算机存储备份技术领域,涉及数据备份、重复数据删除、数据存储,尤其是涉及一种基于任务策略的内存级数据快速存储方法。
【背景技术】
[0002]随着互联网时代的进一步发展,世间万物也在逐渐地信息化数据化,计算机中需要存储的有效数据也成倍地增长。如果没有一个合理有效的方式对数据进行存储管理,那么随着数据的基数增长其存储和传输将会变得极其缓慢,存储和传输将成为负担。
[0003]传统存储系统是将对象存储记录为元数据信息,同时将数据写入磁盘,但是这种方式并不适用于互联网环境。绝对重复的数据及频繁的重复存储极为消耗空间,读取数据的速度也严重依赖于磁盘I/O性能,严重影响整体存储性能。这种情况下就需要一种可以提升速度的管理方法。
[0004]对于这种大量浪费空间的问题以及存储数据慢的问题,一般解决办法是使用全局重复数据删除技术,这种技术将存储的数据切分成细小的数据块,并为每个数据块建立一个唯一的指纹信息,并将指纹信息和数据块存储在目的端的磁盘上,每当一个新块被切分后便被送去目的端进行指纹查询,指纹不存在则指纹信息与数据便被传输至目的端。指纹信息由随机散列产生,相邻的数据块产生的散列值相差甚远,所以在目的端对散列值并不进行相邻存储,在进行指纹查询的时候采用分流的做法,然而这种做法并不能完美地解决速度慢的问题。随着数据量的增长,指纹在磁盘上进行指数倍的增长,不同的数据块查询变成了海量小数据的随机1/0,虽然可以通过LRU等缓存算法减少频繁的随机1/0,也可采用SSD加速随机读写性能,但是实际上磁盘I/O瓶颈依然是导致速度低下的原因。所以需要一种不依赖于磁盘I/O性便可以解决数据的快速存储的方法。
【发明内容】
[0005]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种不依赖于磁盘1/0、存储容量低、数据存储速度快的基于任务策略的内存级数据快速存储方法。
[0006]本发明的目的可以通过以下技术方案来实现:
[0007]—种基于任务策略的内存级数据快速存储方法,包括以下步骤:
[0008]1)创建备份任务与元数据池的一一对应关系,并为每一元数据池生成唯一标签;
[0009]2)发起一备份任务,将对应的元数据池加载至对象存储服务器的内存中;
[0010]3)通过元数据池对需要备份的元数据进行内存级数据存储。
[0011 ]所述元数据池采用数据型结构存储到对象存储服务器中。
[0012]所述内存级数据存储具体为:
[0013]301)获取需要备份的元数据信息,对象存储服务器判断内存中是否存在与该元数据信息对应的元数据,若是,则直接删除需要备份的元数据,若否,则执行步骤302);
[0014]302)将元数据信息缓存至元数据池的临时区域中;
[0015]303)接收需要备份的元数据信息及相应数据块并存储至对象文件系统,对象文件系统将数据块写入磁盘;
[0016]304)将元数据池临时区域中的元数据信息填放至内存区域中;
[0017]305)备份任务结束后,另开辟进行将元数据信息写入磁盘。
[0018]所述步骤303)中,对象文件系统将数据块写入磁盘时,同时保存存储顺序或引用顺序。
[0019]所述步骤305)中,任务结束后,将元数据池中的数据持久化。
[0020]与现有技术相比,本发明具有以下有益效果:
[0021]1)由于内存的存储量远远小于物理磁盘,所以不可能无节制使用,本发明设置了不同任务对应不同元数据池的任务策略,达到实时切换内存的效果,避免大数据情况下内存不够用的情况。
[0022]2)本发明根据任务将指定的元数据池加载至内存中,通过全内存方式加载至系统中,利用内存高吞吐、低延时、速度快的特点,解决当前备份存储系统中重删服务器,再通过查询元数据信息时进行频繁的随机磁盘I/O,造成随着数据量越大、备份存储速度越慢的问题,从而大幅度的提升备份存储速度。
[0023]3)本发明区分对象文件系统与元数据池,将元数据信息存入元数据池,而数据块存入对象文件系统,同时由对象文件系统记录数据块的存储顺序,屏蔽元数据池全部加载至内存掉电引起数据丢失的后果,而实际数据依然可以有对象文件系统恢复。
【附图说明】
[0024]图1为本发明的流程示意图;
[0025]图2为本发明的实现原理图。
【具体实施方式】
[0026]下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0027]本实施例提供一种基于任务策略的内存级数据快速存储方法,适用于对象启用重复数据删除功能的备份存储系统,通过任务策略将任务数据分流,并将服务器中的元数据数据池根据任务策略加载至内存,从而优化存储效率与速度。如图1所示,该方法包括以下步骤:
[0028]1)创建备份任务与元数据池的一一对应关系,形成任务策略,并为每一元数据池生成唯一标签,元数据池采用数据型结构存储到对象存储服务器中;
[0029]2)发起一备份任务,将对应的元数据池加载至对象存储服务器的内存中;
[0030]3)通过元数据池对需要备份的元数据进行内存级数据存储。
[0031]上述存储方法的实施至少需要一台生产服务器和一台对象存储服务器,如图2所示,生产服务器内部署备份软件的客户端程序,对象存储服务器内部署快速元数据存储模块和对象文件系统。本实例采用的生产服务器与对象存储服务器操作系统为RedHatEnterprise 5,数据为Oracle备份到出数据约2TB数据量。
[0032]内存级数据存储具体为:
[0033]301)客户端通过网络将元数据信息发送至对象存储服务器进行查询,快速元数据存储模块对接收到的元数据信息进行内存级别的查找,判断内存中是否存在与该元数据信息对应的元数据,若是,则直接删除需要备份的元数据,若否,则执行步骤302);
[0034]302)快速元数据存储模块将元数据信息缓存至元数据池的临时区域中;
[0035]303)客户端接收到对象存储服务器的查询结果后,将元数据信息及相应数据块并存储至对象文件系统,对象文件系统将数据块写入磁盘,同时保存存储顺序或引用顺序;
[0036]304)数据存储完毕通知快速元数据存储模块将元数据池临时区域中的元数据信息填放至内存区域中;
[0037]305)备份任务结束后,另开辟进行将元数据信息写入磁盘,将元数据池中的数据持久化。
【主权项】
1.一种基于任务策略的内存级数据快速存储方法,其特征在于,包括以下步骤: 1)创建备份任务与元数据池的一一对应关系,并为每一元数据池生成唯一标签; 2)发起一备份任务,将对应的元数据池加载至对象存储服务器的内存中; 3)通过元数据池对需要备份的元数据进行内存级数据存储。2.根据权利要求1所述的基于任务策略的内存级数据快速存储方法,其特征在于,所述元数据池采用数据型结构存储到对象存储服务器中。3.根据权利要求1所述的基于任务策略的内存级数据快速存储方法,其特征在于,所述内存级数据存储具体为: 301)获取需要备份的元数据信息,对象存储服务器判断内存中是否存在与该元数据信息对应的元数据,若是,则直接删除需要备份的元数据,若否,则执行步骤302); 302)将元数据信息缓存至元数据池的临时区域中; 303)接收需要备份的元数据信息及相应数据块并存储至对象文件系统,对象文件系统将数据块写入磁盘; 304)将元数据池临时区域中的元数据信息填放至内存区域中; 305)备份任务结束后,另开辟进行将元数据信息写入磁盘。4.根据权利要求3所述的基于任务策略的内存级数据快速存储方法,其特征在于,所述步骤303)中,对象文件系统将数据块写入磁盘时,同时保存存储顺序或引用顺序。5.根据权利要求3所述的基于任务策略的内存级数据快速存储方法,其特征在于,所述步骤305)中,任务结束后,将元数据池中的数据持久化。
【专利摘要】本发明涉及一种基于任务策略的内存级数据快速存储方法,包括以下步骤:1)创建备份任务与元数据池的一一对应关系,并为每一元数据池生成唯一标签;2)发起一备份任务,将对应的元数据池加载至对象存储服务器的内存中;3)通过元数据池对需要备份的元数据进行内存级数据存储。与现有技术相比,本发明通过任务策略将任务数据分流,并将服务器中的元数据数据池根据任务策略加载至内存,从而优化存储效率与速度,不依赖于磁盘I/O,具有降低存储容量、加快数据存储速度等优点。
【IPC分类】G06F3/06
【公开号】CN105487819
【申请号】CN201510855156
【发明人】王瀚
【申请人】上海爱数信息技术股份有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日