数据备份系统、数据的备份方法及备份数据的恢复方法

文档序号:6638411阅读:143来源:国知局
数据备份系统、数据的备份方法及备份数据的恢复方法
【专利摘要】本发明公开了一种数据备份系统、数据的备份方法及备份数据的恢复方法,该系统包括:服务端以及与所述服务端相耦接的多个客户端,其中,所述多个客户端之间相互连接,本发明的多个客户端之间的分布式文件系统代替一些费用昂贵的数据中心功能,在软件层内置数据容错能力,满足客户端与服务端之间需要及时备份及时恢复的要求。
【专利说明】数据备份系统、数据的备份方法及备份数据的恢复方法

【技术领域】
[0001]本发明涉及信息【技术领域】,具体地,涉及一种数据备份系统、数据的备份方法及备份数据的恢复方法。

【背景技术】
[0002]对等网络(Peer-to-Peer,简称P2P)技术,这是一种关于构建网络结构的技术,其起源于上个世纪中期文件共享技术。但由于PC机的性能和基于安全性的考虑,P2P技术直到世纪末才得到人们的重视,并迅速的发展壮大起来。
[0003]90年代后期,PC机性能的处理速度和能力上发生质变,人们逐渐意识到客户机可以代替服务端的可能。而让P2P技术的兴起是以Napster事件为开端,各种基于对等网络的应用得到全方面的开发。文件交换方面比较有代表性的有:FreeNet、Gnutella等;对等计算方面有:比较著名的Distribute0.Net案例;协同工作方面有:Intel内部处理器开发工具 NetBatch。
[0004]对于现有的技术而言,信息的存储通过费用昂贵的数据中心来实现,数据传输慢、无扩展性且可能存在单点失效的问题。


【发明内容】

[0005]本发明的目的是克服了现有技术中的数据中心数据传输慢、无扩展性且可能存在单点失效的问题,提供一种数据的备份方法及备份数据的恢复方法,该系统和方法实现了客户端与服务端之间需要及时备份及时恢复、数据传输快且可扩展的要求。
[0006]为了实现上述目的,本发明提供了一种数据备份系统,该系统包括:服务端以及与所述服务端相耦接的多个客户端,其中,所述多个客户端之间相互连接。
[0007]本发明还提供一种数据的备份方法,该方法包括:S101,客户端将待备份数据分成多个数据块;
[0008]S102,所述客户端将所述多个数据块存入队列中,并对所述多个数据块的数量进行计数,得到数据块的数量值;
[0009]S103,所述客户端向存储端发送备份请求;
[0010]S104,所述存储端向所述客户端发送接受备份请求;
[0011]S105,所述客户端依次读取队列中的多个数据块,并将所述多个数据块依次发送给所述存储端;
[0012]S106,所述客户端侦听所述存储端的反馈信息,并判断是否完成备份,当所述客户端判断完成备份,则所述客户端逐个清除多个所述数据块,且一一对应的将所述数据块数量值逐个减一,同时所述客户端对服务端发送信息备份报告;或
[0013]当所述客户端判断未完成备份,则返回步骤S103 ;
[0014]S107,判断所述数据块数量值是否等于零,当所述数据块数量值不等于零,则返回步骤S103 ;或
[0015]当所述数据块数量值等于零,则完成备份。
[0016]优选地,在步骤SlOl中,将所述备份数据等分成多个数据块。
[0017]优选地,在步骤S102中,所述客户端建立所述队列,且设置有第一计数器。
[0018]本发明提供一种备份信息的恢复方法,该方法包括:根据上述的数据的备份方法,
[0019]S201,所述客户端向存储端发送恢复请求,且通过服务端的备份报告初始化备份信息的数量,得到备份信息的数量值;
[0020]S202,所述存储端向所述客户端发送多个备份信息;
[0021]S203,所述客户端将收到所述多个备份信息依次存放到栈中,且一一对应的将所述备份信息的数量值减一;
[0022]S204,所述客户端判断所述备份信息的数量值是否为零,
[0023]S205,当所述备份信息的数量值不等于零时,所述客户端查找所述存储端的未发送的信息,且一一对应的将所述备份信息的数量值减一,重复S204 ;或
[0024]当所述备份信息的数量值等于零时,则完成恢复。
[0025]优选地,该方法还包括:在步骤S201之前,所述客户端建立所述栈,并通过所述备份报告检查所述备份信息。
[0026]优选地,在步骤S201中,所述客户端中还设置有第二计数器。
[0027]优选地,在步骤S204中,当所述备份信息的数量值不等于零且所述客户端超过预设时间值未收到所述备份信息时,所述客户端向所述服务端发送查找请求,查找所述存储端的未发送的信息;或
[0028]当所述备份信息的数量值等于零时,则完成恢复。
[0029]优选地,在步骤S204中,所述客户端向所述服务端发送查找请求,所述服务端将客户端和所述存储端建立连接以下载备份。
[0030]通过上述的实施方式,本发明的多个客户端之间的分布式文件系统代替一些费用昂贵的数据中心功能,在软件层内置数据容错能力,满足客户端与服务端之间需要及时备份及时恢复的要求,实际上,存储端和客户端为平行等同的结构,可以避免数据备份集中在服务端上,增加了系统的可靠性和数据的安全性,客户端既可以从当数据备份的提供方,也可以从当数据备份的接受方,数据备份分布式存储在客户端上,当进行恢复时,采用P2P技术恢复速度高于存储在服务端中。
[0031]本发明的其他特征和优点将在随后的【具体实施方式】部分予以详细说明。

【专利附图】

【附图说明】
[0032]附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0033]图1是说明本发明的一种数据的备份方法的流程图;以及
[0034]图2是说明本发明的一种备份数据的恢复方法的流程图。

【具体实施方式】
[0035]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0036]本发明提供一种数据备份系统,该系统包括:服务端以及与所述服务端相耦接的多个客户端,其中,所述多个客户端之间相互连接。
[0037]通过上述实施方式,客户端之间可以建立起连接,组成P2P网络。在这个网络中,服务端只是记录一些信息,而客户端主要的数据备份是放置在其他客户端中。通过分布式的进行数据恢复/备份模式,即可以减少数据备份中过分集中服务端所带来的风险,也可以进行快速的进行数据恢复以及备份。
[0038]本发明提供一种数据的备份方法,该方法包括:S101,客户端将待备份数据分成多个数据块;S102,所述客户端将多个所述数据块存入队列中,并对所述多个数据块的数量进行计数,得到数据块数量值;S103,所述客户端向存储端发送备份请求;S104,所述存储端向所述客户端发送接受备份请求;S105,所述客户端依次读取队列中的多个数据块,并将所述多个数据块依次发送给所述存储端;S106,所述客户端侦听所述存储端的反馈信息,并判断是否完成备份,当所述客户端判断完成备份,则所述客户端逐个清除所述多个数据块,且一一对应的将所述数据块数量值逐个减一,同时所述客户端对服务端发送信息备份报告;或当所述客户端判断未完成备份,则返回步骤S103 ;S107,判断所述数据块数量值是否等于零,当所述数据块数量值不等于零,则返回步骤S103 ;或当所述数据块数量值等于零,则完成备份。
[0039]客户端可以作为存储端,用于存储,实际上,存储端和客户端为平行等同的结构,可以避免数据备份集中在服务端上,增加了系统的可靠性和数据的安全性,客户端既可以从当数据备份的提供方,也可以从当数据备份的接受方,数据备份分布式存储在客户端上,当进行恢复时,采用P2P技术恢复速度高于存储在服务端中,以下将结合附图1和2进行进一步的说明。
[0040]在该种实施方式中,在步骤SlOl中,为了实现数据的快速传输,将所述备份数据等分成多个数据块,这样传输起来更容易进行分配。
[0041]在该种实施方式中,在步骤S102中,所述客户端建立所述队列,且设置有第一计数器,队列用于存储多个数据块,第一计数器用于计算数据块的个数,方便后面进行计算。
[0042]本发明还提供一种备份信息的恢复方法,该方法包括:根据上述的数据的备份方法,
[0043]S201,所述客户端向存储端发送恢复请求,且通过服务端的备份报告初始化备份信息的数量,得到备份信息的数量值;
[0044]S202,所述存储端向所述客户端发送多个备份信息;
[0045]S203,所述客户端将收到所述多个备份信息依次存放到栈中,且一一对应的将所述备份信息的数量值减一;
[0046]S204,所述客户端判断所述备份信息的数量值是否为零,
[0047]S205,当所述备份信息的数量值不等于零时,所述客户端查找所述存储端的未发送的信息,且一一对应的将所述备份信息的数量值减一,重复S204 ;或
[0048]当所述备份信息的数量值等于零时,则完成恢复。
[0049]通过上述的实施方式,能够实现备份数据的恢复,本步骤考虑到了用户使用的客户端有可能发生改变,但是用户没有变,因此在考试系统中要做恢复,即必须考虑这种情况。此时让服务端作为网络服务中心,记录客户端数据备份的信息,有利于数据快速的恢复。
[0050]在该种实施方式中,该方法还包括:在步骤S201之前,所述客户端建立所述栈,并通过所述备份报告检查所述备份信息,栈用于堆放备份信息,且一一对应的将所述备份信息的数量值减一以实现数量的监控。
[0051]在该种实施方式中,在步骤S201中,所述客户端中还设置有第二计数器,实现备份信息数量的监控。
[0052]在该种实施方式中,在步骤S204中,当所述备份信息的数量值不等于零且所述客户端超过预设时间值未收到所述备份信息时,所述客户端向所述服务端发送查找请求,查找所述存储端的未发送的信息;或当所述备份信息的数量值等于零时,则完成恢复,在该种优选实施方式中,在步骤S204中,所述客户端向所述服务端发送查找请求,所述服务端将客户端和所述存储端建立连接以下载备份。
[0053]通过上述的实施方式,本发明的客户端将重新发送请求以得到备份信息,直至所述备份信息的数量值等于零为止,从而实现了备份数据的下载。
[0054]在本发明的一种最优选的实施方式中,本发明涉及到计算机网络,主要由以下几个部分组成:
[0055]1、客户端(Client)。即使众多需要数据备份/数据恢复的计算机节点,同时也可能是其他客户端进行数据备份的服务端。当需要进行数据备份或恢复时,负责向其他客户端提出服务请求,进行数据备份和恢复工作;同时当客户端作为服务端时候,接受其他客户端的数据备份请求,缓存其他客户端的数据备份和为它们提供数据恢复请求并将数据发送给客户端。
[0056]2、服务端(Server)。在客户端进行备份时候,为客户端提供其他服务。
[0057]本发明的核心是在传统的C/S模式中采用P2P模式,利用分布式存储数据的思想,将客户端的数据备份存储到其他客户端之中。在本设计模型中,在不增加任何硬件,以及不改变现有网络链接的情况下,通过采用软件的备份的方式解决在线考试系统对数据备份的要求,通过将数据备份到其他客户端中,来解决在线考试系统中对数据备份的要求。
[0058]本发明的主要运行思路是:存储数据是采用分布式方法,客户端可以快速的响应其他客户端(即上述的存储端)的请求。当客户端数据发生更新时,可以将更新数据发送到P2P网络中进行存储,使保存的数据备份具有更好的实时性;通过采用分布式的存储方法,可以避免数据备份集中在服务端上,增加了系统的可靠性和数据的安全性;系统具有可扩展性,客户端既可以承当数据备份的提供方,也可以承当数据备份的接受方;数据备份分布式存储在客户端上,当进行恢复时,采用P2P技术恢复速度将变得非常高。
[0059]根据以上几个部分的思路,可以把整个过程分为数据备份方法以及数据恢复方法,其主要步骤如下:
[0060](I)数据备份
[0061]针对客户端进行的数据备份步骤,为了区别其他客户端,将本客户端称为rClient (Requesting Client),接受请求成为本客户端存储器的称为sClient (SupplyingClient),其步骤如下:
[0062]步骤1:rClient建立一个队列Queue用来存放要进行的数据备份的数据块;同时设置计数器Count,用于记录队列Queue中违背发送的数据块;
[0063]步骤2:rClient将要发送的数据备份分成η个数据块(大小基本相同),以此存入队列Queue中,同时随着数据块存入队列,Count开始计数;
[0064]步骤3:rClient向网络发送备份请求;
[0065]步骤4:收到请求的sClient的向rClient发出数据备份请求RequestO ;
[0066]步骤5:rClient启用进程ReadO,读取队列Queue中的数据块i,并启用SendO将数据块i发送给sClient ;
[0067]步骤6:侦听sClient发送过来的信息,判断是否完成备份,如果完成执行下一步,否则执行步骤3 ;
[0068]步骤7:rClient执行DeleteO将数据块i清楚,同时设置计数器Count减一,同时向服务端报告自己发送的信息备份情况;
[0069]步骤8:判断计数器Count是否为零,如果不等于零则执行步骤3,否则完成数据备份,算法完成。
[0070](2)数据恢复
[0071]针对客户端进行的数据恢复的步骤,与其他备份步骤不同,因为客户端将自己备份信息存到其他客户端中,因此要通过P2P技术,找回数据备份,其基本步骤如下:
[0072]步骤1:rClient设立接受的信息存放到栈Stack,用来存放备份数据块;向服务端发出请求,检查自己备份服务信息,同时设置计数器Count,利用服务端存储信息来初始化Count = η ;
[0073]步骤2:rClient向网络发送备份信息回复请求;
[0074]步骤3:rClient将受到的备份信息存放到栈中,同时进行Count计数;
[0075]步骤4:当收到sClient发送的数据块时,存放到栈中,同时进行Count减一;
[0076]步骤5:当Count数不为零时,当超过一定时间没有收到其他sClient发送过来的数据块时,给服务端发送请求,查找没有发送信息的sClient信息;
[0077]步骤6:rClient与sClient建立连接,下载数据备份;
[0078]步骤7:当Count计数为零时,算法结束。
[0079]本步骤考虑到了用户使用的客户端有可能发生改变,但是用户没有变,因此在考试系统中要做恢复,即必须考虑这种情况。此时让服务端作为网络服务中心,记录客户端数据备份的信息,有利于数据快速的恢复。
[0080]本系统不仅完成了数据备份的基本要求,还完成了在线考试系统中提出的新的要求,通过实验验证了其安全性、可靠性、可扩展性。本系统模型通过减低数据备份和恢复的延迟时间,提高系统备份和恢复的效率。
[0081]以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
[0082]另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0083]此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
【权利要求】
1.一种数据备份系统,其特征在于,该系统包括:服务端以及与所述服务端相耦接的多个客户端,其中,所述多个客户端之间相互连接。
2.一种数据的备份方法,其特征在于,该方法包括:根据权利要求1所述的数据备份系统, S101,所述客户端将待备份数据分成多个数据块; S102,所述客户端将所述多个数据块存入队列中,并对所述多个数据块的数量进行计数,得到数据块数量值; S103,所述客户端向存储端发送备份请求; S104,所述存储端向所述客户端发送接受备份请求; S105,所述客户端依次读取队列中的多个数据块,并将所述多个数据块依次发送给所述存储端; S106,所述客户端侦听所述存储端的反馈信息,并判断是否完成备份,当所述客户端判断完成备份,则所述客户端逐个清除多个所述数据块,且一一对应的将所述数据块数量值逐个减一,同时所述客户端对服务端发送信息备份报告;或 当所述客户端判断未完成备份,则返回步骤S103 ; S107,判断所述数据块数量值是否等于零,当所述数据块数量值不等于零,则返回步骤S103 ;或 当所述数据块数量值等于零,则完成备份。
3.根据权利要求2所述的备份方法,其特征在于,在步骤SlOl中,将所述备份数据等分成多个数据块。
4.根据权利要求2所述的备份方法,其特征在于,在步骤S102中,所述客户端建立所述队列,且设置有第一计数器。
5.一种备份信息的恢复方法,其特征在于,该方法包括:根据权利要求2-4中任意一项所述的数据的备份方法, S201,所述客户端向存储端发送恢复请求,且通过服务端的备份报告初始化备份信息的数量,得到备份信息的数量值; S202,所述存储端向所述客户端发送多个备份信息; S203,所述客户端将收到所述多个备份信息依次存放到栈中,且一一对应的将所述备份信息的数量值减一; S204,所述客户端判断所述备份信息的数量值是否为零, S205,当所述备份信息的数量值不等于零时,所述客户端查找所述存储端的未发送的信息,且一一对应的将所述备份信息的数量值减一,重复S204 ;或 当所述备份信息的数量值等于零时,则完成恢复。
6.根据权利要求5所述的备份方法,其特征在于,该方法还包括:在步骤S201之前,所述客户端建立所述栈,并通过所述备份报告检查所述备份信息。
7.根据权利要求5所述的备份方法,其特征在于,在步骤S201中,所述客户端中还设置有第二计数器。
8.根据权利要求5所述的备份方法,其特征在于,在步骤S204中,当所述备份信息的数量值不等于零且所述客户端超过预设时间值未收到所述备份信息时,所述客户端向所述服务端发送查找请求,查找所述存储端的未发送的信息;或当所述备份信息的数量值等于零时,则完成恢复。
9.根据权利要求8所述的备份方法,其特征在于,在步骤S204中,所述客户端向所述服务端发送查找请求,所述服务端将客户端和所述存储端建立连接以下载备份。
【文档编号】G06F11/14GK104503866SQ201410764796
【公开日】2015年4月8日 申请日期:2014年12月11日 优先权日:2014年12月11日
【发明者】章昭辉, 崔相如 申请人:安徽师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1