一种基于分布式存储的数据备份归档方法和系统与流程

文档序号:20683166发布日期:2020-05-08 18:35阅读:233来源:国知局
一种基于分布式存储的数据备份归档方法和系统与流程

本发明实施例涉及数据存储领域,具体涉及一种基于分布式存储的数据备份归档方法和系统。



背景技术:

随着互联网信息技术的迅速发展,每个企业积累了大量的数据,数据的有效保护和经济成本成为企业头等大事。为达到良好的数据保护和体现最佳经济效益,分布式存储应运而生,但数据及时有效备份归档仍是艰巨挑战。

分布式存储是将数据分散存储在多台独立的设备上,分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。其中,分布式存储中的桶是存放数据文件的存储区域,池是分布式存储存放数据时的逻辑分区,起到租户隔离的作用。

数据在分布式存储设备中存放是以索引的形式存在的,以便于快速检索。在备份归档时,需要对已存数据进行大量、快速遍历,获得其创建时间戳,用以判断是否符合备份归档要求。假如在备份归档时间范围内,进行文件下载;假如不在备份归档时间范围内,跳过。对于符合备份归档要求的数据文件,比较已下载文件与原文件的大小与消息摘要算法第五版即md5值是否相同,如果相同,删除原文件,继续比较下一个文件;如果不相同,放弃,继续备份归档下一个文件。

然而,对分布式存储文件进行大量、快速遍历时,会造成数据索引繁忙,影响正常io读写,会引起分布式存储内部节点心跳阻塞,造成磁盘无响应,存储进入非健康状态;且现有技术方案进行一次文件遍历只可扫描小于等于1000个文件,且不支持按照桶bucket维度自定义备份归档范围,也不支持按照桶维度自定义设置不同桶内文件归档备份时间。从而导致数据存储不稳定,数据存储压力大,效率低等问题。



技术实现要素:

本发明实施例的目的在于提供一种基于分布式存储的数据备份归档方法和系统,用以解决现有数据备份不稳定,存储区压力大以及效率低的问题。

为实现上述目的,本发明实施例主要提供如下技术方案:

第一方面,本发明实施例提供了一种基于分布式存储的数据备份归档方法,

所述方法包括:配置存储桶维度的自定义初始参数;获取用户信息中的桶列表,并存入第一字典;获取资源池中的元数据信息,并根据所述元数据信息与桶列表中的桶名进行关联,组成第二字典;获取资源池中的对象数据信息,通过比较对象数据信息的时间戳与自定义初始参数中的时间大小,来判断是否进行文件备份归档;通过比较已备份归档的文件与原文件大小,以及,已备份归档文件与信息摘要算法md5值的相似度,来判断是否删除原文件。

进一步地,所述自定义初始参数包括备份归档范围和每一个存储桶的文件归档备份时间。

进一步地,所述获取用户信息中的桶列表,具体包括:通过对象存储接口获取分布式存储中的用户信息,所述用户信息包括密钥,根据密钥获取每个用户的桶列表。

进一步地,所述元数据信息包括桶id和桶名,通过字典的赋值功能将元数据信息中的桶名与用户信息桶列表中的桶名进行匹配关联,合并成第二字典。

进一步地,所述对象数据信息包括桶id、数据文件名称和数据文件时间戳。

进一步地,所述判断是否进行文件备份归档的方法,具体包括:如果对象数据信息中的数据文件时间戳大于自定义设置的备份时间,则将桶id与第二字典进行合并,组成第三字典,所述第三字典包括密钥、桶名和数据文件名;如果对象数据信息的数据文件时间戳小于自定义设置的备份时间,则丢弃该对象数据,继续下一个数据处理。

进一步地,所述方法还包括:通过自定义配置参数遍历文件数量和字典中关键信息,开启多线程进行数据备份归档。

进一步地,判断是否删除所述原文件的方法,具体包括:如果已备份归档的文件与原文件大小相同,且已备份归档文件与信息摘要算法md5值完全相同,则删除原文件,继续下一个处理,反之,保留原文件。

第二方面,本发明实施例还提供一种基于分布式存储的数据备份归档方法系统,

所述系统包括:至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行一种基于分布式存储的数据备份归档方法。

第三方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种路测单元执行一种基于分布式存储的数据备份归档方法。

本发明实施例提供的技术方案至少具有如下优点:

本发明实施例提供的一种基于分布式存储的数据备份归档方法和系统通过自定义配置存储桶维度的自定义初始参数,对数据进行扫描,能够针对存储内所有磁盘,而不是针对索引所在的部分磁盘,使数据存储更加稳定,通过桶名和桶id进行多次字典重组,开启多线程进行数据备份归档,能够提高存储效率。

附图说明

图1为本发明实施例提供的一种基于分布式存储的数据备份归档方法的步骤流程图。

图2为本发明实施例提供的一种基于分布式存储的数据备份归档系统的结构示意图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本发明实施例提供一种基于分布式存储的数据备份归档方法,该方法包括:

s1、配置存储桶维度的自定义初始参数;

现有技术在备份归档,进行大量文件快速遍历时,仅仅针对索引所在的部分磁盘,进行一次文件遍历只可扫描小于等于1000个文件,会造成数据索引繁忙,影响正常io读写。对于此,本实施例采取自定义配置项来设置初始参数,初始参数包括备份归档范围和每一个存储桶的文件归档备份时间。且利用底层的rados接口,将压力分散在集群所有磁盘上。相比与当前技术,可使分布式存储内部节点心跳正常,无阻塞,集群可保持健康状态具有。且通过自定义可以使一次文件扫描遍历的数量大于1000个,极大地提高扫描效率。

需要说明的是,本实施例还通过自定义配置参数遍历文件数量和字典中关键信息,开启多线程进行数据备份归档。

s2、获取用户信息中的桶列表,并存入第一字典;

通过对象存储radosgateway接口,利用radosgw-adminuserlist获取分布式存储中的用户信息,该用户信息包括密钥accesskey和secretkey,根据密钥获取每个用户的桶列表,可以表示为user={accesskey:secretkry}。

s3、获取资源池中的元数据信息,并根据元数据信息与桶列表中的桶名进行关联,组成第二字典;

元数据信息即default.rgw.meta中的信息,元数据信息包括桶id和桶名,通过字典的赋值功能将元数据信息中的桶名与用户信息桶列表中的桶名进行匹配关联,合并成第二字典,第二字典的存储桶的格式可以记为:bucket={name:accesskey}。

s4、获取资源池中的对象数据信息,通过比较对象数据信息的时间戳与自定义初始参数中的时间大小,来判断是否进行文件备份归档;

对象数据信息即default.rgw.buckets.data中信息,对象数据信息包括桶id、数据文件名称和数据文件时间戳,如果对象数据信息中的数据文件时间戳大于自定义设置的备份时间,则将桶id与第二字典进行合并,组成第三字典,所述第三字典包括密钥、桶名和数据文件名,第三字典的格式可以记为:newdic={id:{name:accesskey}}。

如果对象数据信息的数据文件时间戳小于自定义设置的备份时间,则丢弃该对象数据,继续下一个数据处理。

利用上述方法进行备份归档文件的判断,使存储iops平均占用总体iops的0.9%,压力可忽略不计,磁盘响应延时和备份归档时间较之前平均缩短25%。

s5、通过比较已备份归档的文件与原文件大小,以及,已备份归档文件与信息摘要算法md5值的相似度,来判断是否删除原文件。

具体包括:如果已备份归档的文件与原文件大小相同,且已备份归档文件与信息摘要算法md5值完全相同,则删除原文件,继续下一个处理,反之,保留原文件。

本发明实施例通过自定义配置存储桶维度的自定义初始参数,对数据进行扫描,能够针对存储内所有磁盘,而不是针对索引所在的部分磁盘,使数据存储更加稳定,通过桶名和桶id进行多次字典重组,开启多线程进行数据备份归档,能够提高存储效率。

与上述实施例对应的,本发明实施例提供一种基于分布式存储的数据备份归档方法系统,该系统包括:至少一个处理器02和至少一个存储器01;

存储器01用于存储一个或多个程序指令;

处理器02,用于运行一个或多个程序指令,用以执行一种基于分布式存储的数据备份归档方法。

与上述实施例对应的,本发明实施例还提供一种计算机可读存储介质,计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于被一种路测单元执行一种基于分布式存储的数据备份归档方法。

本实施例通过自定义配置存储桶维度的自定义初始参数,对数据进行扫描,能够针对存储内所有磁盘,而不是针对索引所在的部分磁盘,使数据存储更加稳定,通过桶名和桶id进行多次字典重组,开启多线程进行数据备份归档,能够提高存储效率。

本发明所公开的实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述的方法。

在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecific工ntegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。

存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。

其中,非易失性存储器可以是只读存储器(read-onlymemory,简称rom)、可编程只读存储器(programmablerom,简称prom)、可擦除可编程只读存储器(erasableprom,简称eprom)、电可擦除可编程只读存储器(electricallyeprom,简称eeprom)或闪存。

易失性存储器可以是随机存取存储器(randomaccessmemory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,简称sram)、动态随机存取存储器(dynamicram,简称dram)、同步动态随机存取存储器(synchronousdram,简称sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,简称esdram)、同步连接动态随机存取存储器(synchlinkdram,简称sldram)和直接内存总线随机存取存储器(directrambusram,简称drram)。

本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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