首页> 中国专利> 一种基于Erasure编码和副本技术的数据备份方法

一种基于Erasure编码和副本技术的数据备份方法

摘要

本发明公开了一种基于Erasure编码和副本技术的数据备份方法。当待存储的数据超过了存储资源的最大容量后,数据需要进行分割后分布式存储,以提高存储效率。同时对这些分割后的数据子块计算校验码,并存储这些校验码,在部分数据子块受损的情况下,利用Erasure编码来恢复出受损的数据子块,保证了原始数据的完整性。采用副本的方法来备份原始数据,同时根据存储服务器的个数等参数来确定数据副本产生的数量。最后所产生的数据副本元数据信息存储到副本数据库中,以便在发生数据灾难时,用户通过查询副本数据库利用数据副本来恢复原始数据。通过数据分割和副本创建技术来更好地解决数据容灾中的数据备份问题,既提高了数据的存储效率,又保证了数据的完整性。

著录项

  • 公开/公告号CN101630282A

    专利类型发明专利

  • 公开/公告日2010-01-20

    原文格式PDF

  • 申请/专利号CN200910182016.8

  • 发明设计人 余勇;邓松;林为民;唐汗青;

    申请日2009-07-29

  • 分类号G06F11/14(20060101);G06F17/30(20060101);

  • 代理机构32207 南京知识律师事务所;

  • 代理人汪旭东

  • 地址 210003 江苏省南京市鼓楼区南瑞路8号

  • 入库时间 2023-12-17 23:22:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-28

    专利权的转移 IPC(主分类):G06F11/14 登记生效日:20171109 变更前: 变更后: 变更前: 变更后: 申请日:20090729

    专利申请权、专利权的转移

  • 2012-07-04

    授权

    授权

  • 2010-03-24

    实质审查的生效

    实质审查的生效

  • 2010-01-20

    公开

    公开

说明书

技术领域

本发明是一种数据容灾系统中的数据备份方法,主要用于解决数据容灾系统中的数据备份的问题,属于信息安全软件领域。

背景技术

随着社会信息化建设的日益完善,企业也逐步实现办公运营的信息化和数字化,记载着企业业务正常运转的大量重要数据被存放在存储终端中,这些重要数据记载着公司的系统文件、管理信息、技术文件和来往财务账目,这些数据的丢失或损坏,对企业而言,将导致不可估量的毁灭性后果。同时随着系统数据量的不断增大,数据维护的复杂程度不断提高,备份对业务系统的影响越来越大,同时,由于其自动化程度低,出错的可能性也越来越大,所以现有的备份手段已经不能保证快速、有效的保护数据,并且直接影响到业务系统的正常运行。对于大型公司来说,服务器故障可导致公司收入受损,客户满意程度降低,同时会妨碍公司正常运转并降低员工效率。

针对数据容灾来说,目前用得最多、最有效的手段是数据备份。而备份的方法也很多,有手工备份、自动备份、LAN备份以及LAN-Free备份等。不同的备份方法,其效果不同,主要表现在性能、自动化程度、对现有系统应用的影响程度、管理、可扩展性等方面。但是数据备份并不只要将数据拷贝后保存起来,就可以确保数据的安全。实际上,备份不仅只是数据的保护,其最终目的是为了在系统遇到人为或自然灾难时,能够通过备份内容对系统进行有效的灾难恢复。因此在数据容灾系统中研究一种有效的数据备份方案对于提高数据容灾能力来说,具有重要的意义。

随着信息技术和网络技术的发展,各种信息系统迅速发展,所使用的数据广泛采用分布式存储到各个服务器节点上,虽然各服务器本身之间可以通过服务转移、负载均衡等技术实现高可用性的数据服务,但是当服务器上的数据受到破坏时,难以维持信息系统的正常运转。为了提高这些数据的可用性,可以采用复制或分片冗余技术。虽然分片冗余能够有效地节省空间,但是其额外的系统相当复杂,不支持内容检索,并且当网络中的部分服务器不可靠时,难以有效地确保数据的可用性。因此基于副本的数据备份技术成为当前数据容灾备份的重要手段。

数据备份可以从以下两个方面进行考虑:(1)针对海量数据,为了节约硬件成本,对海量数据进行分布式存储和恢复;(2)针对数据量中等或者小的关键数据,结合副本技术来实现数据备份。对于海量数据备份而言,首先对海量数据进行分布式存储,然后对于存储在各个网络节点上的数据分块分别产生一定量的副本,在分布式存储在各个网络节点中的数据分块和该数据分块的副本受损之后,能够快速地恢复出原始数据,以便保证应用系统中业务的连续性。

发明内容

本发明的目的就是提供一种新的数据备份方法,来解决数据容灾系统中的数据备份问题,本机制是一种策略性方法,通过使用本方法可以使得数据在发生灾难时可以最大限度地恢复数据,从而保证应用系统业务的连续性。

本发明的方法是一种策略性的方法,通过一种Erasure编码来实现数据恢复,从而解决了数据在受损时能够完整地恢复出原始数据,同时基于副本技术来实现数据备份,从而保证业务系统的连续性。

一、体系结构

图1给出了数据容灾系统中的数据备份结构图,它主要包括五个部分:数据分割控制器、数据恢复控制器、副本创建控制器以及数据备份操作核心。图中的数据备份操作核心包括了在数据分布式存储和副本创建好的情况下,对数据进行备份所需的具体操作。本发明增加了其它三个部分保证数据备份更加顺利有效地进行,最大限度地保证数据的容灾能力。

下面给出具体介绍:

数据分割控制器:企业进行容灾,最重要的就是数据的备份,在本方法中有两种方法:第一是对于小数据量,直接利用下面的副本技术产生数据的副本进行备份;第二是对于海量数据,直接存储该海量数据和对应的数据副本会给中小企业带来较大的存储压力和硬件的投资成本。为了更好地利用现有的存储资源或最大化地减少中小企业的硬件投资,首先对这些海量数据进行数据分割,然后选择合适的存储节点进行分布式存储。这样企业既能提高企业存储效率,又能减轻企业存储压力。在本专利中对数据分割的具体实现不做任何限制。

数据恢复控制器:当分布式存储的各个数据子块中有部分被损坏时,如果没有相应的数据恢复方法,将会给企业带来不可估量的损失。数据恢复控制器从存储服务器中选择没有被破坏的数据子块和校验码,并采用Erasure编码来计算和恢复受损的数据子块。

副本创建控制器:为了保证发生灾难时,能够快速有效地恢复遭到破坏的数据,在数据容灾系统中只保存该数据的一个副本是远远不够的,因为整个服务器中任何一台服务器都要面临可靠性问题,服务器的故障、网络的延迟等都将造成该服务器不可到达。如果该不可达的服务器保存其他服务器上的数据的唯一副本,当原海量数据文件遭到破坏时将无法恢复。因此必须在多个存储服务器上保存该数据的副本。本专利中采用的就是P2P技术来分布存储产生的副本。

二、方法流程

1、数据分割控制器

企业的应用数据是否需要进行分割取决于该应用数据的大小是否已经超过了该企业目前的存储容量。为了及时判断出企业的应用数据是否需要分割,本方法中,建立一个数据分割知识库,把当前企业的存储器容量和URL存入到该知识库中,用户在存储数据时,首先通过查询数据分割知识库,判断待存储的数据是否已经超过了知识库中最大的存储器容量,若超过了,则需要对该数据进行分割,然后分布式存储该数据,与此同时,把分割后的数据子块的文件名、数据子块大小、生成的校验码、校验码大小以及存储在远程节点的URL存储到分割数据库中。在这里我们以分割数据名为Data的数据为例,整个分割后的分割数据库的结构如表1所示。

表1分割数据库

  分割后的子文  件名  数据子块  大小 校验码  检验码大  小  存储服务器的URL  Data1  1GB Jiaoyan  500MB  .../10.14.23.1/data/Data1  ...  ... ...  ...  ...  Data10  1GB Jiaoyan  500MB  ...  /10.14.23.10/data/Data2

从表1中可以看出,数据名为Data的数据被分割成十块后,同时生成一个校验码,并分别存储在分割数据库十台存储服务器中,用户使用时可以通过查询分割数据库获取存储子数据名存储的URL后,直接通过该URL来访问相应的数据。这样虽然在存储数据子块的同时,还存储了相应的校验码,损失了部分的存储空间,但是该存储系统可以允许数据块中有一个数据子块丢失,然后利用校验码进行恢复。

2、数据恢复控制器

企业的海量数据在分割后进行分布式存储,若其中的部分数据子块受损,其必然破坏了企业应用数据本身的完整性,从而会影响到与该数据相关的业务系统的正常使用和运营。为了保证企业的完整性,数据恢复控制器利用Erasure编码方法来恢复受损的数据子块。

主要工作流程如下:

(1)首先数据恢复控制器分别构造待生成的校验码个数m和分割块数n来生成m×n的范得蒙矩阵Fm×n以及分割后的数据矩阵Dn×1

(2)然后通过计算Fm×n×Dn×1得到对应的校验码矩阵Cm×1,与此同时,构造矩阵A(n+m)×n=In×nFm×nE(n+m)×1=Dn×1Cm×1,切满足A(n+m)×n×Dn×1=E(n+m)×1,其中In×n为n×n阶的单位矩阵。

(3)当分割后的数据子块有p(p≤m)块受损不能使用时,则将p个数据子块对应的矩阵A(n+m)×n和E(n+m)×1中的行删除掉,得到新的矩阵A(n+m-p)×n和E(n+m-p)×1,然后通过计算A-1n×(n+m-p)×E(n+m-p)×1就可以恢复出原始数据Dn×1

通过Erasure编码计算数据子块对应的校验码,然后在数据子块受损的情况下,利用该校验码来恢复受损的数据文件,从而可以保证分割后的企业数据的完整性。

3、副本创建控制器

为了在发生灾难时,能够快速有效地恢复遭到破坏的企业的关键业务数据,必须在多个存储服务器上保存该数据的副本。多个副本存储在多个服务器上,一旦某一数据遭到破坏,就可以通过该数据的副本来进行有效的恢复,利用这种副本管理机制可以大大提高了系统中海量数据的可靠性。但是,如何产生该数据的副本既能保证数据的可靠性的同时,又能最大化地降低过多的数据副本所带来的存储压力,本发明提出了基于P2P的数据副本创建方案。

首先对于N台服务器,将其分成N/m个P2P小组,这些P2P小组成员之间相互可以保存副本。这样每个数据都有m个数据副本且分布在P2P小组的m个节点上,每个节点都恰好保持来自m个P2P小组中服务器上的数据副本。若单个服务器正常工作的概率为p,则N个服务器的数据完整性恢复系统可以提供数据副本的概率为:Pn=[1-(1-p)m]N/m

由于数据副本的个数只与m有关,当数据副本一致性维护的频率f一定时,整个数据完整性恢复系统的网络开销与数据副本的个数m呈线性关系。故整个数据副本个数的取值范围为:

[1-(1-p)m]N/mPexpectM×k×N×f×m+[C-M×k×N]×fBpermit---(1)

其中Pexpect为期望得到的数据副本可靠性概率;Bpermit为可以接受的网络带宽消耗;M为数据服务器备份其他服务器的数据个数;k为两台服务器之间发送消息的大小;C为海量数据副本维护过程中海量数据传递的网络开销,它是一个常量。

通过副本创建控制器,用户根据式(1)副本个数的取值范围,就可以较好地选择副本产生的个数,从而使得整个数据备份系统的可靠性打到最佳;同时把所产生的数据副本元数据信息包括原始数据名、大小、原始数据所在的位置URL、各数据副本名、大小以及副本数据所在的位置URL存储到副本数据库SDB中。这里我们以数据名为SData为例,对SData创建副本后,副本数据库SDB的结构如表2所示:

表2副本数据库

  原始数  据名  原始数  据大小  原始数据所在的位  置URL  数据对  应的副  本  数据副  本的大  小  副本数据所在的位  置URL  SData  1GB  ...  /10.14.24.1/Data/  SData1  1GB  ...  /10.14.25.1/Data/  SData  1GB  ...  /10.14.24.1/Data/  SData2  1GB  ...  /10.14.25.2/Data/

从表2中可以看出,原始数据SData产生了两个副本,并分别存储在相应的存储服务器中。这样用户可以在原始数据SData受损的情况下,自动去迁移到其对应的副本所在的位置URL上,从而保证用户对数据的使用。

本发明的数据容灾系统中的一种新的数据备份方法的步骤为:

步骤1:用户根据数据分割控制器查询数据分割知识库来判断是否需要进行数据分割,若需要分割则进入到下一步,否则转到步骤7;

步骤2:确定数据文件分割的块数n和生成校验码的个数m,按照分割块数n和校验码个数m分别构造待m×n阶的范得蒙矩阵Fm×n

步骤3:分割原始数据文件,并构造分割后的数据矩阵Dn×1,并计算Fm×n×Dn×1得到对应的校验码矩阵Cm×1,同时生成分割日志信息;

步骤4:将生成的n块子数据文件和m个校验码分别存储到指定的存储器上,同时把分割后的数据子块的文件名、数据子块大小、生成的校验码、校验码大小以及存储在远程节点的URL存储到分割数据库中;

步骤5:构造矩阵A(n+m)×n=In×nFm×nE(n+m)×1=Dn×1Cm×1,且满足A(n+m)×n×Dn×1=E(n+m)×1,其中In×n为n×n阶的单位矩阵。

步骤6:当分割后的数据子块有p(p≤m)块受损不能使用时,则将p个数据子块对应的矩阵A(n+m)×n和E(n+m)×1中的行删除掉,得到新的矩阵A(n+m-p)×n和E(n+m-p)×1,然后通过计算A-1n×(n+m-p)×E(n+m-p)×1就可以恢复出原始数据Dn×1

步骤7:首先确定存储服务器的个数N;期望得到的数据副本可靠性概率Pexpect;可以接受的网络带宽消耗Bpermit;数据服务器备份其他服务器的数据个数M;两台存储服务器之间发送消息的大小k;海量数据副本维护过程中海量数据传递的网络开销C;

步骤8:然后代入式(1)计算出副本个数的取值范围,然后根据此范围来确定副本产生的最佳个数。

步骤9:所产生的数据副本元数据信息包括原始数据名、大小、原始数据所在的位置URL、各数据副本名、大小以及副本数据所在的位置URL存储到副本数据库SDB中。

步骤10:数据备份结束。

本发明方法提出了一种数据容灾系统的数据备份方法,主要用于解决在数据发生灾难时,企业数据的备份问题,通过使用本发明中提出的方法既可以对海量数据进行分割存储和恢复,又可以通过建立数据副本的方式来提高企业数据容灾的能力。

附图说明

图1是数据容灾系统中的数据备份组成结构图。主要包括:数据分割控制器、数据恢复控制器、副本创建控制器以及数据备份操作核心。

图2是参考体系结构示意图。表示本发明方法包括的组件。

图3是本发明方法的流程示意图。

具体实施方式

数据恢复控制器首先通过数据分割控制器分割原始数据后,在某些数据子块受损的情况下,如果不能有效地恢复出原始数据的情况下,那么肯定会影响到企业业务的连续性。故在数据分割恢复控制器中引入了基于Erasure Code的数据恢复算法,首先数据按照一定得规则分割成n块并构造数据矩阵Dn×1,同时按照分割的块数和校验码个数构造范得蒙矩阵Fm×n,然后利用Fm×n×Dn×1=Cm×1计算出相应的校验码。在p(p≤m)块数据(包括分割后的数据子块和校验码)受损的情况下,删除矩阵A(n+m)×n和E(n+m)×1中的对应行,然后计算A-1n×(n+m-p)×E(n+m-p)×1就可以恢复出原始数据Dn×1

副本创建控制器通过使用P2P技术来生成最佳数目的数据副本,这样在增加数据副本保证数据可靠性的同时,又可以减少过多的数据副本所带来的存储压力。在备份服务器中只保存一个副本是远远不够的,因为整个服务器中任何一台服务器都要面临可靠性问题,服务器的故障、网络的延迟等都将造成该服务器不可到达。如果该不可达的服务器保存其他服务器上数据的唯一副本,当原数据文件遭到破坏时将无法恢复。同时若数据副本分布按照“多到一”的原则,在N台服务器中设置一台副本服务器,用来存储其他各节点的副本。这就需要副本服务器有海量的存储容量,为了达到与其他服务器相同的高可靠性等性能需求,该副本服务器的价格势必更加昂贵,那么存储海量数据的成本也必会大大提高。若采用普通的机器作为副本服务器的话,其可靠性和性能必然下降。本发明方法采用的P2P的副本分布方式,先将各副本服务器分成各个P2P小组,然后每个P2P小组之间可以互相存储对方的剧副本,同时根据期望得到的数据副本可靠性概率、可以接受的网络带宽消耗、每台数据服务器备份其他服务器的数据个数、两台服务器之间发送消息的大小以及数据副本维护过程中数据副本之间传递的网络开销等参数来确定一个最佳的副本产生个数。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号