著录项信息
专利名称 | 一种适用于广域网的数据容灾系统 |
申请号 | CN200810047680.7 | 申请日期 | 2008-05-12 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2008-12-03 | 公开/公告号 | CN101316274 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;H;0;4;L;2;9;/;0;6;;;G;0;6;F;1;1;/;1;4查看分类表>
|
申请人 | 华中科技大学 | 申请人地址 | 湖北省武汉市洪山区珞喻路1037号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华中科技大学 | 当前权利人 | 华中科技大学 |
发明人 | 曾令仿;冯丹;谭玉娟;杨天明;范珊;代玥;李祚衡 |
代理机构 | 华中科技大学专利中心 | 代理人 | 方放 |
摘要
一种适用于广域网的数据容灾系统,属于计算机信息存储技术领域,解决现有数据容灾系统未考虑广域网环境中数据传输链路的影响、需要大量冗余数据存储空间的问题;本发明包括连入广域网的M个本地存储客户端和N个处于不同地理位置的存储服务器,所述本地存储客户端各由web管理器、快照、映像文件冗余阵列、压缩、解压、加密、解密、备份分发和恢复整合模块组成;所述存储服务器由失效检测、分布式仲裁、修复、分布式副本服务以及备份和恢复服务模块组成。本发明将容错编码和复制结合,减少冗余的数据量,有效利用存储空间。同时,对要传输的数据进行压缩和加密,提高了数据在网络上传输的安全性和可靠性,有效利用了网络带宽,达到很好的容灾效果。
1.一种适用于广域网的数据容灾系统,包括连入广域网的M个本地存储客户端和N个处于不同地理位置的存储服务器,所述N个存储服务器构成存储系统,M、N均为自然数,其特征在于:
所述本地存储客户端各由web管理器模块(410)、快照模块(420)、映像文件冗余阵列模块(430)、压缩模块(440)、解压模块(450)、加密模块(460)、解密模块(470)、备份分发模块(480)和恢复整合模块(490)组成;
本地存储客户端通过web管理器模块(410)向用户提供web界面操作接口,接受用户的数据备份或数据恢复请求;
快照模块(420)在数据备份时,对上层应用系统要备份的数据进行处理,形成快照点数据;在数据恢复时,将快照点数据恢复到上层应用系统数据区;
映像文件冗余阵列模块(430)在数据备份时,将快照点数据使用容错编码方式组织到多个映像文件中,组成映像文件冗余阵列,送到压缩模块或加密模块;在数据恢复时,将映像文件冗余阵列还原成快照点数据;
压缩模块(440)在数据备份时,对单个的映像文件进行压缩;
解压模块(450)在数据恢复时,对已压缩的单个映像文件进行解压;
加密模块(460)在数据备份时,对单个映像文件进行加密;
解密模块(470)在数据恢复时,对加密后的单个映像文件进行解密;
备份分发模块(480)在数据备份时,根据用户定义的复制策略,将压缩和加密后的映像文件传送到不同地理位置的各个存储服务器;
恢复整合模块(490)在数据恢复时,向各存储服务器提出恢复映像文件冗余阵列的请求,并接收存储服务器传送过来的对应的映像文件;
所述存储服务器由失效检测模块(511)、分布式仲裁模块(512)、修复模块(513)、分布式副本服务模块(514)以及备份和恢复服务模块(515)组成;
失效检测模块(511)检测广域网上相邻存储服务器的运行情况,及时地提供当前相邻各个存储服务系统的状况,发现失效的相邻存储服务器;
分布式仲裁模块(512)用来与存储系统中各存储服务器的分布式仲裁模块相互传递消息,选择相应的存储服务器:在存储系统自我修复时,各存储服务器上的分布式仲裁模块相互传递各自当前工作负载的消息,在存储系统中选择一个当前工作负载最轻的有效的存储服务器作为替代存储服务器,以替代失效的存储服务器;或者在本地存储客户端需要恢复映像文件冗余阵列时,相互传递各自分布式副本服务模块(514)上记录的信息,选择存放了相关映像文件的存储服务器;当前工作负载=CPU占用百分比×权值1+内存占用百分比×权值2+网络使用百分比×权值3,其中权值1、2、3可由系统管理人员调整,系统的默认设置权值1为0.2、权值2默认为0.3、权值3默认为0.5;
修复模块(513)在失效检测模块(511)发现某个存储服务器失效时,从其他有效存储服务器上下载与失效存储服务器所保存的映像文件副本相同的映像文件副本,保存到分布式仲裁模块(512)选择的替代存储服务器上,替代存储服务器完全替代失效的存储服务器;
分布式副本服务模块(514)登记存储客户端的备份信息,记载本存储服务器和相邻存储服务器上存放的所有映像文件副本的类型和数量;
备份和恢复服务模块(515)响应存储客户端备份数据和恢复数据的请求,在数据备份时,接收并保存存储客户端发送的备份数据;在数据恢复时,向存储客户端发送恢复数据。
2.如权利要求1所述的数据容灾系统,其特征在于:
所述本地存储客户端中,所述映像文件冗余阵列模块(430)包括q个映像文件,q为自然数;各映像文件由多个数据块组成,各数据块是本地存储客户端对要保护的数据使用容错编码方式构成的数据块。
一种适用于广域网的数据容灾系统\n技术领域\n[0001] 本发明属于计算机信息存储技术领域,具体涉及一种适用于广域网的数据容灾系统。\n背景技术\n[0002] 广域网下的数据存储系统必须能够容忍各种物理错误(硬件存储设备失效,网络设备失效)和逻辑错误(用户的错误操作,各种蓄意的攻击)。这些错误促使存储系统必须支持灾难恢复的功能。对于具有存储需求的客户,通过具有快照、远程备份和恢复功能的软件将用户的数据存放到存储服务器,能够不中断用户业务,提供具有高可靠性的存储服务。\n远程的数据备份和数据归档能够保证所有写到本地的数据同样写到异地,灾难发生后,将数据从异地实时恢复到本地,从而恢复保证本地应用系统的正常工作;同时,将数据以多个副本的形式存放处在不同的地理位置的存储服务器中,这样,处于某地存储服务器上的数据遭到灾难时,只要处于其它某处仍然保存一份映像文件副本,用户的数据将不受数据灾难的影响。\n[0003] 在广域网的数据存储系统中,目前已经在不同层次上实现了各种各样的备份和归档系统,包括应用层(很多应用软件都集成了数据备份和恢复的功能,如数据库),文件系统层(如window,Linux操作系统自带有相应的备份和恢复工具实施对数据的保护;快照文件系统Tops-20、VMS、Elephant等采用实时拷贝的技术对数据进行保护),存储子系统层(如独立磁盘冗余阵列,采用硬件冗余的形式实施对数据的保护;MetroMirror,是基于IBM的存储设备的同步镜像产品,采用复制技术对设备上的数据进行保护)。然而,大部分的备份和归档系统主要考虑磁盘失效或与磁盘失效相关的灾难,而没有考虑广域网环境中数据传输链路的影响。而由于广域网络的不稳定性和不可控性,远程的存储和备份将带来很多问题(安全性、可靠性、带宽的有限性等),致使现有的数据容灾系统不能达到很好的容灾效果。同时,由于现有的容灾系统需要大量的冗余数据存储空间,导致数据容灾系统在实施的过程中成本较高。\n发明内容\n[0004] 本发明提出一种适用于广域网的数据容灾系统,解决现有数据容灾系统未考虑广域网环境中数据传输链路的影响,以及需要大量冗余数据存储空间的问题;以保证数据的安全传输和存放,减少数据的冗余,有效地减少广域网环境对数据容灾的影响。\n[0005] 本发明一种适用于广域网的数据容灾系统,包括连入广域网的M个本地存储客户端和N个处于不同地理位置的存储服务器,所述N个存储服务器构成存储系统,M、N均为自然数,其特征在于:\n[0006] 所述本地存储客户端各由web管理器模块、快照模块、映像文件冗余阵列模块、压缩模块、解压模块、加密模块、解密模块、备份分发模块和恢复整合模块组成;\n[0007] 本地存储客户端通过web管理器模块向用户提供web界面操作接口,接受用户的数据备份或数据恢复请求;\n[0008] 快照模块在数据备份时,对上层应用系统要备份的数据进行处理,形成快照点数据;在数据恢复时,将快照点数据恢复到上层应用系统数据区;\n[0009] 映像文件冗余阵列模块在数据备份时,将快照点数据使用容错编码方式组织到多个映像文件中,组成映像文件冗余阵列,送到压缩模块或加密模块;在数据恢复时,将映像文件冗余阵列还原成快照点数据;\n[0010] 压缩模块在数据备份时,对单个的映像文件进行压缩;\n[0011] 解压模块在数据恢复时,对已压缩的单个映像文件进行解压;\n[0012] 加密模块在数据备份时,对单个映像文件进行加密;\n[0013] 解密模块在数据恢复时,对加密后的单个映像文件进行解密;\n[0014] 备份分发模块在数据备份时,根据用户定义的复制策略,将压缩和加密后的映像文件传送到不同地理位置的各个存储服务器;\n[0015] 恢复整合模块在数据恢复时,向各存储服务器提出恢复映像文件冗余阵列的请求,并接收存储服务器传送过来的对应的映像文件;\n[0016] 所述存储服务器由失效检测模块、分布式仲裁模块、修复模块、分布式副本服务模块以及备份和恢复服务模块组成;\n[0017] 失效检测模块检测广域网上相邻存储服务器的运行情况,及时地提供当前相邻各个存储服务系统的状况,发现失效的相邻存储服务器;\n[0018] 分布式仲裁模块用来与存储系统中各存储服务器的分布式仲裁模块相互传递消息,选择相应的存储服务器:在存储系统自我修复时,各存储服务器上的分布式仲裁模块相互传递各自当前工作负载的消息,在存储系统中选择一个当前工作负载最轻的有效的存储服务器作为替代存储服务器,以替代失效的存储服务器;或者在本地存储客户端需要恢复映像文件冗余阵列时,相互传递各自分布式副本模块上记录的信息,选择存放了相关映像文件的存储服务器;当前工作负载=CPU占用百分比×权值1+内存占用百分比×权值2+网络使用百分比×权值3,其中权值1、2、3可由系统管理人员调整,系统的默认设置权值1为0.2、权值2默认为0.3、权值3默认为0.5;\n[0019] 修复模块在失效检测模块发现某个存储服务器失效时,从其他有效存储服务器上下载与失效存储服务器所保存的映像文件副本相同的映像文件副本,保存到分布式仲裁模块选择的替代存储服务器上,替代存储服务器完全替代失效的存储服务器;\n[0020] 分布式副本服务模块登记存储客户端的备份信息,记载本存储服务器和相邻存储服务器上存放的所有映像文件副本的类型和数量;\n[0021] 备份和恢复服务模块响应存储客户端备份数据和恢复数据的请求,在数据备份时,接收并保存存储客户端发送的备份数据;在数据恢复时,向存储客户端发送恢复数据。\n[0022] 所述的数据容灾系统,其特征在于:\n[0023] 所述本地存储客户端中,所述映像文件冗余阵列模块包括q个映像文件,q为自然数;各映像文件由多个数据块组成,各数据块是本地存储客户端对要保护的数据使用容错编码方式构成的数据块。\n[0024] 本发明采用容错编码和复制两种方式相结合。容错编码是通过将数据分成若干数据块,并根据这些数据块计算出冗余码,当数据的任意一部分发生缺失时,能够利用冗余信息及其他数据块重新计算出缺失的部分,实现数据的高可用性和安全性。例如,把原数据分成等大的n块,通过编码生成m块(m>n),其重要性质是在这m块中的任何n块就可以将原数据重构出来。这种方式提高了系统的存储资源利用率,保证数据的持久性,同时大大减少了节点的可用带宽的占用。容错编码的实现较复杂,是一种计算密集型的操作,需要消耗较大的CPU时间,但是能减少需要保存的数据的冗余。复制是将数据复制后存放在多个存储服务器结点上,数据与其存放结点之间没有任何必然的联系。复制提高了数据的可用性,尤其是存储出现灾难时,当网络出现分裂错误或者被攻击时。复制实现起来比较简单,花费CPU的时间较少,但是,由于需要保存数据的多个拷贝,对存储空间的开销较大。\n[0025] 本发明具有如下的特点:\n[0026] (1)本发明将容错编码和复制有效的结合起来,集中了这两种方式的优点。通过在多个独立映像文件内,对数据块进行容错编码,减少了冗余的数据量,有效地利用了高成本的存储空间。同时,使用简单的复制方法复制这些独立的映像文件,将冗余的数据异地保存,达到了数据容灾的目的。\n[0027] (2)对要保护的数据使用快照软件(任何第三方提供的快照软件都可以)写入到映像文件冗余阵列,客户可以根据实际业务或网络状况选择合适的复制策略对映像文件进行备份和归档。\n[0028] (3)多个时间点的独立映像文件冗余阵列构成了独立映像文件冗余阵列组。通过使用快照软件,单个独立映像文件冗余阵列记录某段时间内本地存储客户端上数据的改变,独立映像文件冗余阵列组中多个连续的独立映像文件冗余阵列记录本地存储客户端上数据的持续改变。同时,独立映像文件冗余阵列具有磁盘子系统的逻辑特征,将这些映像文件传送到一个或多个存储服务器进行保存,当灾难发生时,通过从存储服务器取回映像文件,可以将存储结点上的数据恢复到任意时间点,达到数据容灾的目的。\n[0029] (4)将很多小的数据块组成多个大的映像文件,与传送小数据块相比,依次传送这些大映像文件,提高了数据的传送效率;同时,在映像文件被传送到网络上之前,使用加密算法和压缩算法对其进行压缩和加密,提高了数据在网络上传输的安全性和可靠性,有效的利用了有限的网络带宽,同时也减少了存储服务器所需要的高成本的存储空间,克服了广域网环境的不稳定性和不可控性带来的一系列问题。通过较少的数据冗余和数据传输满足了本地存储客户端对数据高可靠性的需求,适用于广域网环境中的数据容灾。\n[0030] (5)存放独立映像文件阵列的独立映像文件阵列组的存储空间可以循环利用。独立映像文件冗余阵列组中由于多个连续的独立映像文件阵列的建立会占用大量的存储空间,根据存储空间的使用情况,必要时可以删掉一些已在异地存储服务器有备份的独立映像文件冗余阵列,释放出部分空间用于建立新的独立映像文件冗余阵列。\n[0031] (6)根据不同的复制策略,多个副本的保存提高了数据的可靠性,适用了多种不同用户的需求。同时,处于不同地理位置的存储服务器构成的存储系统,能实时监控各个存储服务器对映像文件的副本的保存情况,如果其中某一个存储服务器失效(如发生地震、海啸等灾难),存储系统能重新部署相关映像文件,维持映像文件副本数量在系统和用户设置的阈值,使存储系统不会因为某个存储服务器的失效而影响了数据容灾。\n[0032] 本发明通过将容错编码和复制结合起来,减少了冗余的数据量,有效的利用了存储空间。同时,对要传输的数据进行了压缩和加密,提高了数据在网络上传输的安全性和可靠性,有效的利用了有限的网络带宽,达到了很好的容灾效果。\n附图说明\n[0033] 图1为本发明的组成结构示意图;\n[0034] 图2为本发明中本地存储客户端的功能模块结构示意图;\n[0035] 图3为本地存储客户端中的映像文件冗余阵列模块组成结构示意图;\n[0036] 图4为本发明中存储系统的组成结构示意图;\n[0037] 图5为存储系统中存储服务器的功能模块结构示意图;\n[0038] 图6为本发明的用户数据备份流程示意图;\n[0039] 图7为本发明的用户数据恢复流程示意图;\n[0040] 图8为本发明中存储系统的修复流程示意图;\n[0041] 图9为本发明的失效检测流程示意图。\n具体实施方式\n[0042] 如图1所示,本发明包括M个需将本地数据存放到异地的本地存储客户端400.1、\n400.2、…、400.m和N个处于不同地理位置的存储服务器500.1、500.2、…、500.n,连入广域网络100。本地存储客户端400.1、400.2、…、400.m的数据通过广域网络100备份或归档到存储服务器500.1、500.2、…、500.n。同理,当灾难发生时,存放在存储服务器\n500.1、500.2、…、500.n的映像文件副本通过广域网络100,恢复到本地存储客户端400.1、\n400.2、…、400.m。\n[0043] 作为一个具体实施例,3个本地存储客户端和2个处于不同地理位置的存储服务器通过广域网连接;其中每个本地存储客户端上配有赛扬2.66G的CPU,512M的DDR内存,加载内核为2.6.18的Linux操作系统;本地存储客户端上的所有模块都嵌入Linux操作系统内核中;存储服务器上配有Intel Xeon 3210的CPU,2G的DDR内存,SCSI磁盘阵列,加载内核为2.6.18的Linux操作系统,存储服务器上的所有模块嵌入Linux操作系统内核中。\n[0044] 图2为本地存储客户端400中的模块结构示意图。本地存储客户端400由web管理器模块410、快照模块420、映像文件冗余阵列模块430、压缩模块440、解压模块450、加密模块460、解密模块470、备份分发模块480和恢复整合模块490组成。\n[0045] 图3是映像文件冗余阵列模块430的组成结构示意图。由q个映像文件430.1、\n430.2、430.3、…、430.q组成。各映像文件由多个数据块431组成,各数据块是本地存储客户端对要保护的数据使用容错编码方式组织到多个固定的映像文件中的数据块。\n[0046] 如图4所示,N个处于不同地理位置的存储服务器500.1、500.2、…、500.t、500.t+1、500.t+2、…、500.n连入广域网络100,组成本发明容灾系统中的存储系统800。\n[0047] 图5为存储服务器500中的功能模块结构示意图。存储服务器500由失效检测模块511、分布式仲裁模块512、修复模块513、分布式副本服务模块514以及备份和恢复服务模块515组成。\n[0048] 存储系统800具有自我管理和修复的功能,能够根据存储系统的运行状态自动调整映像文件副本的放置地,保证映像文件副本不受灾难的影响。例如,如果某一个映像文件副本存放在存储服务器500.1、500.2、…、500.t、500.t+1、500.t+2、…、500.n中的任意j(j≤n)个存储服务器上.如果这j个服务器中某一个存储服务器500.k失效,则分布式仲裁模块512、修复模块513、分布式副本服务模块514共同完成选择一个当前工作负载最轻的新存储服务器500.p(500.p不属于上述j个存储服务器)代替失效存储服务器500.k,并选择存储服务器j中任意一个存储服务器500.h(h≠k且h≤j),从存储服务器500.h下载映像文件副本到新选择的存储服务器500.p,此时,j个映像文件副本的存储位置发生了变化,其中一个映像文件副本的放置地由存储服务器500.k转移到了存储服务器500.p,映像文件副本的总数量没有改变,保证了映像文件副本不受灾难的影响。\n[0049] 图6为本发明的用户数据备份流程示意图:\n[0050] (1)本地存储客户端初始化;\n[0051] (2)web管理器模块410接受用户备份任务的请求;\n[0052] (3)web管理器模块410对用户请求进行身份验证,通过验证的合法请求,进行下一步骤,否则作为非法用户请求处理;\n[0053] (4)快照模块420对上层应用系统要备份的数据使用快照软件进行处理,形成快照点数据;\n[0054] (5)映像文件冗余阵列模块430将快照点数据使用容错编码方式(如采用Reed-Solomon、Evenodd编码)组织到多个映像文件中,将要备份的数据以文件的形式呈现;\n[0055] (6)压缩模块440分别压缩各映像文件;\n[0056] (7)加密模块460分别加密各映像文件;\n[0057] (8)备份分发模块480根据用户定义的复制策略,将压缩和加密后的映像文件传送给对应的一个或多个存储服务器;\n[0058] (9)对应的存储服务器通过备份和恢复服务模块515接收本地存储客户端传送过来的映像文件副本,对映像文件副本进行保存。\n[0059] (10)对应的存储服务器将其接收保存的映像文件副本类型和数量,通过分布式副本服务模块514向本存储服务器和广域网上相邻的存储服务器的分布式副本服务模块进行登记。\n[0060] 图7为本发明的用户数据恢复流程示意图:\n[0061] (1)本地存储客户端初始化;\n[0062] (2)web管理器模块410接受用户恢复冗余阵列的请求;\n[0063] (3)web管理器模块410对用户请求进行身份验证,通过验证的合法请求,进行下一步骤,否则作为非法用户请求处理;\n[0064] (4)恢复整合模块490向各存储服务器提出恢复对应的映像文件冗余阵列的请求,等待接收存储服务器发送的映像文件;\n[0065] (5)各存储服务器通过自身的分布式副本服务模块514查询本存储服务器和相邻存储服务器是否保存有对应映像文件冗余阵列的映像文件;\n[0066] (6)各存储服务器通过自身的分布式仲裁模块512相互合作,选择某些存储服务器,以发送对应的映像文件;\n[0067] (7)所选择的存储服务器通过它们的备份和恢复服务模块515发送客户端所需的映像文件;\n[0068] (8)发出请求的本地存储客户端,其恢复整合模块490接收相应存储服务器发送过来的映像文件;\n[0069] (9)解密模块470分别对各映像文件解密;\n[0070] (10)解压模块450分别对各映像文件解压缩;\n[0071] (11)本地存储客户端的映像文件冗余阵列模块430将各映像文件形成的映像文件冗余阵列还原成快照点数据;\n[0072] (12)快照模块420将快照点数据恢复到上层应用系统数据区。\n[0073] 图8为本发明的存储系统修复流程示意图:\n[0074] (1)各存储服务器由失效检测模块511实时检测广域网上与其相邻的存储服务器的运行情况,检测到失效的相邻存储服务器则进行下一步骤,否则继续检测;\n[0075] (2)分布式仲裁模块512相互协作选择一个当前工作负载最轻的有效存储服务器作为替代存储服务器,以替代失效的存储服务器;\n[0076] (3)选择了替代存储服务器后,各存储服务器的分布式副本模块514相互协作,修复模块513从其他有效存储服务器上下载与失效存储服务器所保存的映像文件副本相同的映像文件副本,保存到替代存储服务器上,替代存储服务器器完全替代失效的存储服务器;\n[0077] (4)替代存储服务器将其接收保存的映像文件副本类型和数量通过分布式副本服务模块514向广域网上相邻的存储服务器进行登记;\n[0078] 图9为本发明的单个失效存储服务器的检测流程示意图(其中存储服务器B为存储服务器A的一个相邻存储服务器):\n[0079] (1)存储服务器A接收来自存储服务器B的存活数据包消息;\n[0080] (2)若在规定的时间内(可以根据需要进行设定,系统默认为150ms)没有收到存储服务器B的存活数据包消息(这时并不认为该存储服务器B失效),则进行步骤(3);否则转步骤(1);\n[0081] (3)存储服务器A主动请求存储服务器B发送存活数据包消息;\n[0082] (4)在存储服务器A发送主动请求消息后,如果在规定的时间内(可以根据需要进行设定,系统默认为150ms)仍然没有接收到存储服务器B的消息,就认定该存储服务器B失效;否则,表明存储服务器B没有失效,转步骤(1)。
法律信息
- 2021-04-23
未缴年费专利权终止
IPC(主分类): H04L 29/08
专利号: ZL 200810047680.7
申请日: 2008.05.12
授权公告日: 2010.12.01
- 2010-12-01
- 2009-01-28
- 2008-12-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-10-25
|
2005-11-22
| | |
2
| |
2005-03-23
|
2004-09-14
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2014-08-27 | 2014-08-27 | | |
2 | | 2014-08-27 | 2014-08-27 | | |