书签 分享 收藏 举报 版权申诉 / 14

一种分布式文件备份方法和系统.pdf

  • 上传人:奻奴
  • 文档编号:6367769
  • 上传时间:2019-06-04
  • 格式:PDF
  • 页数:14
  • 大小:666.24KB
  • 摘要
    申请专利号:

    CN201510309915.5

    申请日:

    2015.06.08

    公开号:

    CN104866394A

    公开日:

    2015.08.26

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 11/14申请日:20150608|||公开

    IPC分类号:

    G06F11/14

    主分类号:

    G06F11/14

    申请人:

    肖选文

    发明人:

    肖选文

    地址:

    715512陕西省渭南市蒲城县原任乡彦王村3组

    优先权:

    专利代理机构:

    陕西增瑞律师事务所61219

    代理人:

    张瑞琪

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种文件的分布式备份方法,文件包括普通文件和目录文件,在接收到备份指令后,即备份路径后,将文件备份至本地电脑的指定文件夹,同时合成若干个条目,并插入一个备份记录;再将所有备份的对象和备份记录复制到一个或多个与本地电脑通信连接的网络客户端;其中,条目包括件哈希值、文件类型、属性、修改日期和文件名;备份记录包括员工号、当前时间、备份路径和条目。使用网络客户端保存电脑备份,使得备份系统不再需要配置专用服务器,硬件成本下降,人员成本下降,每个备份在多个计算机上有多个复本,根据复本数量设置,任意不大于复本数量的计算机损坏,都能恢复备份文件,容灾能力比使用普通服务器备份文件的容灾能力要好。

    权利要求书

    权利要求书
    1.  文件的分布式备份方法,其特征在于,所述的文件包括普通文件和目录文件,在接收到备份指令后,即备份路径后,将文件备份至本地电脑的指定文件夹,同时合成若干个条目,并插入一个备份记录;再将所有备份的对象和备份记录复制到一个或多个与本地电脑通信连接的网络客户端;
    其中,所述条目包括件哈希值、文件类型、属性、修改日期和文件名;所述备份记录包括员工号、当前时间、备份路径和条目。

    2.  如权利要求1所述的文件的分布式备份方法,其特征在于,所述文件的本地备份方法具体为:初始参数为要备份的绝对路径,

    1.  1)判断要备份的路径是普通文件还是目录文件,如果是普通文件则转至第1.2步,如果是目录文件则跳至第1.3步;

    1.  2)将普通文件内容保存为对象,得到对象哈希值,转至第1.6步;

    1.  3)依次对目录下的所有普通文件和目录文件递归调用所述文件的本地备份方法,参数为子文件或子目录的绝对路径,得到每个普通文件和目录文件对应的条目;

    1.  4)如果有多个条目,则将所有条目合并为一个多行文本;如果是空目录,则得到一个空文件;如果只有一个文件或子目录,则得到一个单行文本;

    1.  5)将步骤1.4中得到的文本保存为一个对象,得到所述文本的哈希值;

    1.  6)将得到的哈希值与文件类型、属性、修改日期、文件名合成一个条目并返回。

    3.  如权利要求1或2所述的文件的分布式备份方法,其特征在于,所述条目的网络复制方法具体为:初始参数为备份记录中的条目,

    3.  1)逐一解析备份记录中的条目,判断条目是普通文件还是目录文件,如果是目录文件则转至第3.2步,如果是普通文件则转至第3.4步;

    3.  2)读取条目中哈希值对应的对象,解析对象中的所有条目;

    3.  3)对于解析到的每一个条目,递归调用所述条目的网络复制方法,其参 数为解析到的条目,复制所有的子条目到网络客户端;

    3.  4)将条目中哈希值对应的对象复制到网络客户端。

    4.  如权利要求1至3中任意一项所述的文件的分布式备份方法,其特征在于,在接收到恢复指令,即文件的原始路径和指定的恢复路径后,在本地电脑和所有网络客户端查找指定的原始路径的所有备份记录,将备份记录中记载的路径与原始路径作对比,对比成功后获取对应的条目;再将该条目恢复到本地电脑。

    5.  如权利要求4所述的文件的分布式备份方法,其特征在于,所述的恢复方法具体为:初始参数为找到的条目和指定的恢复路径,
    a)解析条目,判断是普通文件还是目录文件,如果是普通文件则转至第b步,如果是目录文件则转至第c步;
    b)将条目中的哈希值对应的对象保存到指定的恢复路径,并转至第f步;
    c)使用指定的恢复路径创建目录;
    d)读取条目中的哈希值对应对象,解析其中的所有条目;
    e)对于解析到每个子条目,递归调用所述恢复方法完成子条目的恢复,其参数为子条目,指定恢复路径加子条目中的文件名形成的新路径;
    f)将普通文件或目录文件的最后修改时间改到条目中保存的修改时间。

    6.  如权利要求1或2所述的文件的分布式备份方法,其特征在于,所述本地电脑和各个客户端均设置有用于授权认证和保存企业信息的许可证。

    7.  一种分布式文件备份系统,其特征在于,所述备份系统包括:
    本地备份模块,用于在接收到普通文件或目录文件的备份指令后,将普通文件或目录文件备份至本地电脑的指定文件夹中;
    网络客户端备份模块,用于将所述普通文件或目录文件的条目中哈希值对应的对象,保存到与本地电脑通讯连接的一个或多个网络客户端;
    记录模块,用于在普通文件或目录文件的备份过程中生成对应的备份记录;
    恢复模块,用于在接收到普通文件或目录文件的恢复指令后,在本地电脑和所有网络客户端找到要恢复的普通文件或目录文件的条目,将所述条目恢复到指定路径。

    说明书

    说明书一种分布式文件备份方法和系统
    技术领域
    本发明属于计算机存储技术领域,涉及一种分布式文件备份方法和系统。
    背景技术
    现行电脑文件备份软件的常见方法有以下几种:1、将要备份的文件、目录压缩成一个单一的zip、rar等类型的压缩包,或直接另行复制一份,此种方法的缺点就是备份后占用的磁盘空间很大,因为每次备份,完全相同的文件会被多次保存;2、单机版本的备份软件将备份保存到本地计算机,此类方法的缺点是一旦计算机硬盘损毁(无法修复),则文件及备份全部丢失;3、单机版本的备份软件将备份保存到U盘、移动硬盘等存储设备,此类方法的缺点是每次备份时需要人为将U盘、移动硬盘插到电脑上,非常麻烦;4、局域网络版本的备份软件将备份保存到公司自行架设的服务上,此类方法的缺点是成本高(购买专业服务器价格很高,架设自己的云服务器成本更高),非云服务器也有服务硬盘损毁(无法修复)损坏的风险,备份会全部丢失,而且服务器需要专人维护;5、广域网络版本的备份软件将备份保存到其它公司的云存储服务器,此类方法的缺点是互联网速原因传输速度慢,且不能防止云存储服务公司查看私人文件。
    发明内容
    本发明的目的是提供一种分布式文件备份方法和系统,解决了现有文件备份方法中备份效率低、成本高和容灾能力差的问题。
    本发明所采用的第一种技术方案是,一种文件的分布式备份方法,文件包括普通文件和目录文件,在接收到备份指令后,即备份路径后,将文件备份至本地电脑的指定文件夹,同时合成若干个条目,并插入一个备份记录;再将所有备份的对象和备份记录复制到一个或多个与本地电脑通信连接的网络客户端;
    其中,条目包括件哈希值、文件类型、属性、修改日期和文件名;备份记录 包括员工号、当前时间、备份路径和条目。
    进一步的,文件的本地备份方法具体为:初始参数为要备份的绝对路径,
    1.1)判断要备份的路径是普通文件还是目录文件,如果是普通文件则转至第1.2步,如果是目录文件则跳至第1.3步;
    1.2)将普通文件内容保存为对象,得到对象哈希值,转至第1.6步;
    1.3)依次对目录下的所有普通文件和目录文件递归调用文件的本地备份方法,参数为子文件或子目录的绝对路径,得到每个普通文件和目录文件对应的条目;
    1.4)如果有多个条目,则将所有条目合并为一个多行文本;如果是空目录,则得到一个空文件;如果只有一个文件或子目录,则得到一个单行文本;
    1.5)将步骤1.4中得到的文本保存为一个对象,得到文本的哈希值;
    1.6)将得到的哈希值与文件类型、属性、修改日期、文件名合成一个条目并返回。
    进一步的,条目的网络复制方法具体为:初始参数为备份记录中的条目,
    3.1)逐一解析备份记录中的条目,判断条目是普通文件还是目录文件,如果是目录文件则转至第3.2步,如果是普通文件则转至第3.4步;
    3.2)读取条目中哈希值对应的对象,解析对象中的所有条目;
    3.3)对于解析到的每一个条目,递归调用条目的网络复制方法,其参数为解析到的条目,复制所有的子条目到网络客户端;
    3.4)将条目中哈希值对应的对象复制到网络客户端。
    进一步的,在接收到恢复指令,即文件的原始路径和指定的恢复路径后,在本地电脑和所有网络客户端查找指定的原始路径的所有备份记录,将备份记录中记载的路径与原始路径作对比,对比成功后获取对应的条目;再将该条目恢复到本地电脑。
    进一步的,恢复方法具体为:初始参数为找到的条目和指定的恢复路径,
    a)解析条目,判断是普通文件还是目录文件,如果是普通文件则转至第b步,如果是目录文件则转至第c步;
    b)将条目中的哈希值对应的对象保存到指定的恢复路径,并转至第f步;
    c)使用指定的恢复路径创建目录;
    d)读取条目中的哈希值对应对象,解析其中的所有条目;
    e)对于解析到每个子条目,递归调用恢复方法完成子条目的恢复,其参数为子条目,指定恢复路径加子条目中的文件名形成的新路径;
    f)将普通文件或目录文件的最后修改时间改到条目中保存的修改时间。
    进一步的,本地电脑和各个客户端均设置有用于授权认证和保存企业信息的许可证。
    本发明还提供了第二种技术方案为,一种分布式文件备份系统,备份系统包括:
    本地备份模块,用于在接收到普通文件或目录文件的备份指令后,将普通文件或目录文件备份至本地电脑的指定文件夹中;
    网络客户端备份模块,用于将普通文件或目录文件的条目中哈希值对应的对象,保存到与本地电脑通讯连接的一个或多个网络客户端;
    记录模块,用于在普通文件或目录文件的备份过程中生成对应的备份记录;
    恢复模块,用于在接收到普通文件或目录文件的恢复指令后,在本地电脑和所有网络客户端找到要恢复的普通文件或目录文件的条目,将条目恢复到指定路径。
    本发明的有益效果是,使用网络客户端保存电脑备份,使得备份系统不再需要配置专用服务器,硬件成本下降,人员成本下降,每个备份在多个计算机上有多个复本,根据复本数量设置,任意不大于复本数量的计算机损坏,都能恢复备份文件,容灾能力比使用普通服务器备份文件的容灾能力要好。
    附图说明
    图1是本发明一种分布式文件备份方法的网络备份原理图;
    图2是本发明一种分布式文件备份方法中文件的本地备份流程图;
    图3是本发明一种分布式文件备份方法中条目的网络复制流程图;
    图4是本发明一种分布式文件备份方法数据内容保存方法的流程图;
    图5是本发明一种分布式文件备份方法网络恢复原理图;
    图6是本发明一种分布式文件备份方法中文件恢复流程图;
    图7是本发明一种分布式文件备份方法网络客户端认证过程图。
    具体实施方式
    下面结合附图和具体实施方式对本发明进行详细说明。
    一、本发明提供了一种文件的分布式备份方法,文件包括普通文件和目录文件,参见图1的网络备份原理图,接收到备份指令,即备份路径后,将文件备份至本地电脑的指定文件夹,合成若干个条目,并使用当前员工号、当前时间、备份路径和条目向备份数据库中插入一条记录;从网络客户端系统得到所有已经网络连接的网络客户端,从所有网络客户端中随机选择一个或多个网络客户端,将上述条目备份到所选定的电脑网络客户端中,并将备份记录复制到网络客户端上。这样,当前用户的电脑完全损坏之后,可以从其它网络客户端的电脑恢复之前备份过的文件。
    对于上述备份方法中出现的名词的定义说明如下:
    1.指定文件夹:由本地电脑预先设定的指定文件夹称之为仓库,设置一个目录来作为仓库,用于集中保存所有的文件和备份记录,包括本人和其它网络客户端发送来的需要备份的文件。
    2.仓库的对象:一个对象就是份数据,主要用来保存普通文件内容和目录文件内容,所有的对象都需要计算其哈希值,可用于计算哈希值的算法有:MD5、SHA1、SHA256和SHA512;在一个仓库中,一个哈希值与一个对象一一对应,一个哈希值代表一个对象,一个哈希值在仓库之中最多只会出现一次。
    该保存方式是计算哈希后,使用哈希值的前两个字符做为文件夹名,在仓库的objs目录下创建文件夹,使用哈希值的剩余字符做为文件名在创建的文件夹下建立普通文件,使用该文件保存对象的数据。
    假设仓库的目录是E:\repo:,每个对象以普通文件保存在仓库子目录objs(E:\repo\objs)下,保存的文件名根据哈希值被分为两段。例如哈希值是ea8a67c60fec094221edfc5e32f6f5b038d06a55,则对象数据被保存在:
    E:\repo\objs\ea\8a67c60fec094221edfc5e32f6f5b038d06a55中。
    3.条目:条目是一个文件或目录的完整信息,是一个字符串,在目录文件和数据库中使用,条目包括件哈希值、文件类型、属性、修改日期和文件名五部分,以空格分开,具体说明如下:
    1).条目的类型包括reg:普通文件和dir:目录文件两种;
    2).文件权限属性,由四个8进制数组成:
    第1个数:保留,永远是0;
    第2个数:所有者的读、写和执行权限;
    第3个数:同组用户的读、写和执行权限;
    第4个数:其它用户的读、写和执行权限;
    3).保存文件内容对象的哈希值;
    4).文件最后修改时间,自1970年1月1日起的秒数;
    5).文件名。
    例如按照下述格式保存的条目:
    "reg 0644ea8a67c60fec094221edfc5e32f6f5b038d06a551423123424abc.txt";
    表示一个名为abc.txt的普通文件。
    4.目录对象:它的内容是一个包括若干个条目的文件,其中每行是一个条目,例如:
    "reg 0644ea8a67c60fec094221edfc5e32f6f5b038d06a551423523234abc.txt\n";
    "dir 0666c222cae2ba7daeb1cb26d67e356525c9f4fc93f31423423424test\n";
    "reg 064442addaf0c297fc059c9bc3143c75fe47f868dda12135135423wp.xls\n";
    上述目录对象表示该目录有两个普通文件abc.txt和wp.xls以及一个子目录test,
    而test子目录的内容则需要打开哈希值为:
    c222cae2ba7daeb1cb26d67e356525c9f4fc93f3的对象,至于本目录的目录名等 信息,则由其他条目来说明。
    5.备份数据库:使用sqlite3等数据库,保存每一次备份的根信息,每一条对应一个备份记录,包括员工号、当前时间、备份路径和条目,具体说明如下:
    1).员工号:这个备份是属于哪个员工的;
    2).备份路径:备份的文件或目录的绝对路径;
    3).备份时间:这个备份产生的时间;
    4).文件条目:文件或目录的条目。
    6.网络客户端:用来与其他网络客户端进行网络通信,主要完成以下功能:
    a、认证:只有同一公司的电脑才能通过认证,进而才能完成其它功能。参见图7的网络客户端认证过程图,具体的认证流程为:
    1)本地生成一个128位随机数,发送至网络客户端;
    2).网络客户端使用许可证中的密钥加密该随机数,得出另一个128位数字,并将结果发回本地。
    3).本地验证返回的数字,通过则继续第4步,不通过即认证失败,关闭连接。
    4).网络客户端发送一个128位随机数到本地。
    5).本地使用许可证中的密钥加密该随机数,将加密后的128位数字发加网络客户端。
    6).网络客户端验证返回的数字,通过则认证完成,不通过即认证失败,关闭连接。
    其中,前三步本地验证远程,后三步过程验证本地。
    b、获取对方网络客户端的信息,如对方的员工号;
    c、操作对方网络客户端的仓库,在备份时将本地仓库中的备份保存到对方的仓库,以及在恢复时读取对方仓库的备份。
    本发明提供的一种文件的分布式备份方法,具体按照以下步骤实施:
    1.文件的本地备份方法,参见图2文件的本地备份流程图,初始参数为要备份的绝对路径,具体按照以下步骤实施:
    1.1)判断要备份的路径是普通文件还是目录文件,如果是普通文件则转至第1.2步,如果是目录文件则跳至第1.3步;
    1.2)将普通文件内容保存为对象,得到对象哈希值,转至第1.6步;
    1.3)依次对目录下的所有普通文件和目录文件递归调用该文件的本地备份方法,具体为调用步骤1.1至步骤1.6,其参数为子文件或子目录的绝对路径,得到每个普通文件和目录文件对应的条目;
    1.4)如果得到多个条目,则将所有条目合并为一个多行文本;如果本目录是空目录,则得到一个空文件;如果只有一个子文件或子目录,则得到一个单行文本;
    1.5)将步骤1.4中得到的文本保存为一个对象,得到文本的哈希值;
    1.6)将得到的哈希值与文件类型、属性、修改日期、文件名合成一个条目并返回。
    其中,数据内容的保存方法如图4的数据内容保存方法流程图所示,其具体过程是:
    1).计算要保存对象的哈希值;
    2).根据哈希值计算保存路径;
    3).该路径的对象文件是否存在,如果已经存在,不用再保存,转第5)步;
    4).将对象文件保存到计算出来的路径;
    5).返回计算出的对象哈希值。
    2.使用当前员工号、当前时间、备份路径和步骤1.6中得到的条目向备份数据库同步插入一条备份记录。
    3.条目的网络复制方法,参见图3条目的网络复制流程图,初始参数为步骤2备份记录中的条目,具体按照以下步骤实施:
    3.1)解析条目,逐一解析步骤2中备份记录的条目,判断条目是文件还是目录,如果是目录则转至第3.2步,如果是文件则转至第3.4步;
    3.2)读取条目中哈希值对应的对象,读取解析对象中的所有条目;
    3.3)对于解析到的每一个条目,递归调用所述条目的网络复制方法,即调 用步骤3.1至步骤3.4,其参数为解析到的条目,复制所有的子条目到网络客户端;
    3.4)将条目中哈希值对应的对象复制到网络客户端。
    4.将上述步骤2中得到的一个备份记录复制到网络客户端上,即完成文件的备份。
    二、本发明中文件的恢复方法为:参见图5的网络恢复原理图,在接收到恢复指令,即文件的原始路径和指定的恢复路径后,在本地电脑和所有网络客户端查找指定的原始路径的所有备份记录,将备份记录中记载的路径与原始路径作对比,对比成功后获取对应的条目;再将该条目恢复到本地电脑。如果一个备份在本地和其他网络客户端上同时存在,则优先使用本地备份;在所有找到的备份中根据备份时间选择要恢复的版本。
    参见图6的文件恢复流程图,初始参数为要恢复的条目和指定的恢复路径,具体按照以下步骤实施:
    a)解析条目,判断是普通文件还是目录文件,如果是普通文件则转至第b步,如果是目录文件则转至第c步;
    b)将条目中的哈希值对应的对象保存到指定的恢复路径,并转至第f步;
    c)使用指定的恢复路径创建目录;
    d)读取条目中的哈希值对应的对象,解析所有条目;
    e)对于解析到的每个子条目,递归调用本条目的恢复方法,参数为子条目、指定恢复路径以及子条目中的文件名形成的新路径,即调用步骤a至步骤f,完成子目录的恢复;
    f)将普通文件或目录文件的最后修改时间改到条目中保存的修改时间。
    三、本发明的备份方法中,需要在网络客户端设置用于授权认证的员工许可证,员工许可证是一种数字证书,主要包含以下四个字段:
    1.数字签名:使用RSA进行数字签名,用于表明本软件的使用已获得官方授权;
    2.企业名称及序列号:用于区分不同企业电脑,企业A与企业B的电脑是不 可以相互备份文件的;
    3.员工号:用于区分同一企业内的每台员工电脑,每个员工一个证书,员工电脑损坏或更换时,使用同一许可证可恢复之前一台电脑上备份的所有文件;
    4.密钥:用于加密仓库,网络客户端认证等。
    四、本发明还提供了一种分布式文件备份系统,该备份系统包括:
    本地备份模块,用于在接收到普通文件或目录文件的备份指令后,将普通文件或目录文件备份至本地电脑的指定文件夹中;
    网络客户端备份模块,用于将普通文件或目录文件的条目中哈希值对应的对象,保存到与本地电脑通讯连接的一个或多个网络客户端;
    记录模块,用于在普通文件或目录文件的备份过程中生成对应的备份记录;
    恢复模块,用于在接收到普通文件或目录文件的恢复指令后,在本地电脑和所有网络客户端找到要恢复的普通文件或目录文件的条目,将条目恢复到指定路径。
    本发明使用同事的电脑保存备份,从而不需要配置服务器,本发明将备份同时保存在多个同事的电脑上,从而提高了数据的安全性。本发明使用网络客户端保存电脑备份,使得备份系统不再需要配置专用服务器,硬件成本下降,人员成本下降,每个备份在多个计算机上有多个复本,根据复本数量设置,任意不大于复本数量的计算机损坏,都能恢复备份文件,容灾能力比使用普通服务器备份文件的容灾能力要好。假设将文件备份在三个同事的电脑上,连同本地电脑一共有四份数据,则任意三台电脑彻底损坏都能恢复原始数据。省去了服务器的采购成本、服务器的人力维护成本,提高了数据的安全性,单一网络客户端(也就是一台电脑),使用HASH算法去除文件冗余,减少磁盘占用空间。

    关 键  词:
    一种 分布式 文件 备份 方法 系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种分布式文件备份方法和系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6367769.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1