数据块备份系统及方法

文档序号:7987181阅读:221来源:国知局
数据块备份系统及方法
【专利摘要】一种数据块备份方法,该方法包括:将存储了文件数据块的名称、各数据块的哈希值的哈希列表上传至哈希数据库中,及按照数据块的分割顺序将所述数据块上传至所述服务器的数据登陆区;按照数据块进入数据登陆区的顺序对每个数据块是否重复上传进行判断,当判断结果为数据块已在服务器存储区中时,确定该数据块为重复数据块,删除数据登陆区中的该数据块;当该重复数据块没有备份时,将该重复数据块存入该服务器的备份区中;将数据块的存储指针及备份块指针追加到所述哈希数据库中。本发明还提供一种数据块备份系统。利用本发明可避免被多次引用的数据块被损坏、篡改或丢失而造成文件无法使用。
【专利说明】数据块备份系统及方法
【技术领域】
[0001]本发明涉及一种云端技术,尤其涉及一种云端技术中将数据块备份的系统及方法。
【背景技术】
[0002]在分布式云存储中,一个数据块可能被多个文件所引用,如果数据块损坏,会造成引用该数据块的所有文件都不完整,使文件无法使用。

【发明内容】

[0003]鉴于以上内容,有必要提供一种数据块备份系统,能够避免被多次引用的数据块被损坏、篡改或丢失而造成文件无法使用。
[0004]还有必要提供一种数据块备份方法,能够避免被多次引用的数据块被损坏、篡改或丢失而造成文件无法使用。
[0005]所述数据块备份系统,运行于存储集群中的一台服务器中,该存储集群通过网络连接一个或多个客户端。该系统包括:存储模块,用于将存储了文件数据块的名称、各数据块的哈希值的哈希列表上传至哈希数据库中,及按照数据块的分割顺序将所述数据块上传至所述服务器的数据登陆区;去重模块,用于按照数据块进入数据登陆区的顺序对每个数据块是否重复上传进行判断,当判断结果为数据块已在服务器存储区中时,确定该数据块为重复数据块,删除数据登陆区中的该数据块;备份模块,用于当该重复数据块没有备份时,将该重复数据块存入该服务器的备份区中,及当该重复数据块已备份时,结束流程;信息添加模块,用于将数据块的存储指针及备份块指针追加到所述哈希数据库中。
[0006]所述数据块备份方法,应用于存储集群中的一台服务器中,该存储集群通过网络连接一个或多个客户端。该方法包括:存储步骤,将存储了文件数据块的名称、各数据块的哈希值的哈希列表上传至哈希数据库中,及按照数据块的分割顺序将所述数据块上传至所述服务器的数据登陆区;去重步骤,按照数据块进入数据登陆区的顺序对每个数据块是否重复上传进行判断,当判断结果为数据块已在服务器存储区中时,确定该数据块为重复数据块,删除数据登陆区中的该数据块;备份步骤,当该重复数据块没有备份时,将该重复数据块存入该服务器的备份区中,及当该重复数据块已备份时,结束流程;信息添加步骤,将数据块的存储指针及备份块指针追加到所述哈希数据库中。
[0007]相较于现有技术,所述数据块备份系统及方法,在服务器存储区中的一个数据块被多次引用(如多个文件引用,或一个文件引用多次)时,会对该数据块做额外的备份,避免数据块损坏、篡改或丢失后,造成文件不完整。如果数据块损坏,那么文件可以获取备份的数据块,使文件保持完整,无错误。
【专利附图】

【附图说明】
[0008]图1是本发明数据块备份系统较佳实施例的运行环境示意图。[0009]图2是图1中服务器的主要组成示意图。
[0010]图3是本发明数据块备份方法较佳实施例的作业流程图。
[0011]图4是本发明用户于客户端下载服务器中文件的作业流程图。
[0012]主要元件符号说明
【权利要求】
1.一种数据块备份方法,应用于存储集群中的一台服务器中,该存储集群通过网络连接一个或多个客户端,其特征在于,该方法包括: 存储步骤,将存储了文件数据块的名称、各数据块的哈希值的哈希列表上传至哈希数据库中,及按照数据块的分割顺序将所述数据块上传至所述服务器的数据登陆区; 去重步骤,按照数据块进入数据登陆区的顺序对每个数据块是否重复上传进行判断,当判断结果为数据块已在服务器存储区中时,确定该数据块为重复数据块,删除数据登陆区中的该数据块; 备份步骤,当该重复数据块没有备份时,将该重复数据块存入该服务器的备份区中,及当该重复数据块已备份时,结束流程; 信息添加步骤,将数据块的存储指针及备份块指针追加到所述哈希数据库中。
2.如权利要求1所述的数据块备份方法,其特征在于,该方法在存储步骤之前还包括: 分块步骤,将需要上传的文件分割成多个数据块,并将该多个数据块的名称及其哈希值存入哈希列表,每个文件对应一张哈希列表。
3.如权利要求1所述的数据块备份方法,其特征在于,所述备份步骤包括: 从哈希数据库中查询该重复数据块所对应的哈希列表内的备份字段是否有值; 当哈希列表中该重复数据块的备份字段有值时,判定该数据块已备份;及 当哈希列表中该重复数据块的备份字段没有值时,判定该数据块没有备份。
4.如权利要求1所述的数据块备份方法,其特征在于,所述去重步骤还包括: 当判断结果为服务器存储区中没有存储该数据块时,将该数据块从数据登陆区移入存储区中。`
5.如权利要求1所述的数据块备份方法,其特征在于,当用户需要通过客户端从服务器下载文件时,所述客户端执行以下步骤: 根据文件的存储指针从哈希数据库中获取文件各数据块的哈希值; 根据各数据块的存储指针从相应的存储区下载各数据块; 校验各数据块的哈希值与从哈希数据库中获取的相应数据块的哈希值是否相同; 当校验结果为不相同时,从备份区提取该数据块,然后返回上述校验步骤; 当校验结果为相同时,按照所述数据块的分割顺序将通过校验的数据块进行排序组合,生成文件 '及 校验组合后文件的哈希值与上传到服务器之前文件的哈希值是否相同; 当校验结果为相同时,将通过校验的文件返回给客户端的用户,当校验结果为不相同时,返回上述根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值的步骤。
6.一种数据块备份系统,运行于存储集群中的一台服务器中,该存储集群通过网络连接一个或多个客户端,其特征在于,该系统包括: 存储模块,用于将存储了文件数据块的名称、各数据块的哈希值的哈希列表上传至哈希数据库中,及按照数据块的分割顺序将所述数据块上传至所述服务器的数据登陆区; 去重模块,用于按照数据块进入数据登陆区的顺序对每个数据块是否重复上传进行判断,当判断结果为数据块已在服务器存储区中时,确定该数据块为重复数据块,删除数据登陆区中的该数据块; 备份模块,用于当该重复数据块没有备份时,将该重复数据块存入该服务器的备份区中,及当该重复数据块已备份时,结束流程; 信息添加模块,用于将数据块的存储指针及备份块指针追加到所述哈希数据库中。
7.如权利要求6所述的数据块备份系统,其特征在于,该系统还包括: 分块模块,用于将需要上传的文件分割成多个数据块,并将该多个数据块的名称及其哈希值存入哈希列表,每个文件对应一张哈希列表。
8.如权利要求6所述的数据块备份系统,其特征在于,所述备份模块从哈希数据库中查询该重复数据块所对应的哈希列表内的备份字段是否有值,当哈希列表中该重复数据块的备份字段有值时,判定该数据块已备份,及当哈希列表中该重复数据块的备份字段没有值时,判定该数据块没有备份。
9.如权利要求6所述的数据块备份系统,其特征在于,所述去重模块还用于: 当判断结果为服务器存储区中没有存储该数据块时,将该数据块从数据登陆区移入存储区中。
10.如权利要求6所述的数据块备份系统,其特征在于,当用户需要通过客户端从服务器下载文件时,所述客户端用于: 根据文件的存储指针从哈希数据库中获取文件各数据块的哈希值; 根据各数据块的存储指针从相应的存储区下载各数据块; 校验各数据块的哈希值与从哈希数据库中获取的相应数据块的哈希值是否相同; 当校验结果为不相同时`,从备份区提取该数据块,然后返回上述校验步骤; 当校验结果为相同时,按照所述数据块的分割顺序将通过校验的数据块进行排序组合,生成文件 '及 校验组合后文件的哈希值与上传到服务器之前文件的哈希值是否相同; 当校验结果为相同时,将通过校验的文件返回给客户端的用户,当校验结果为不相同时,返回上述根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值的步骤。
【文档编号】H04L29/08GK103873503SQ201210533970
【公开日】2014年6月18日 申请日期:2012年12月12日 优先权日:2012年12月12日
【发明者】柴智权, 李大鹏, 叶建发, 林海洪, 李忠一 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1