存储集群中的数据块去重系统及方法

文档序号:7987190阅读:305来源:国知局
存储集群中的数据块去重系统及方法
【专利摘要】一种存储集群中的数据块去重方法,包括:监视存储集群中各服务器内每个存储区的存储容量;当有服务器中存储区的存储容量达到预设去重值时,获取该服务器的哈希数据库中的所有记录,并通知存储集群中其他服务器上传其哈希数据库的记录;确定哈希数据库间所有相同的哈希值,并由此确定重复数据块;根据重复数据块的存储指针找出剩余空间最大的存储区,将重复数据块在该存储区内的存储指针发送给包含该重复数据块的其他存储区所在的服务器;及删除包含该重复数据块的其他存储区中的该重复数据块。本发明还提供一种存储集群中的数据块去重系统。利用本发明可有效地节省服务器的存储空间。
【专利说明】存储集群中的数据块去重系统及方法
【技术领域】
[0001]本发明涉及一种云端技术,尤其涉及一种通过云端技术去除存储集群中的重复数据块的系统及方法。
【背景技术】
[0002]在分布式云存储中,一台服务器可能会有多个存储区。当其中某台服务器的存储区中存储了一个文件的某个数据块,而该服务器的其他存储区或存储集群中的另一台服务器的存储区中也存储了该数据块时,会导致相同数据块被重复存储,存储空间被过多浪费。

【发明内容】

[0003]鉴于以上内容,有必要提供一种存储集群中的数据块去重系统,能够合理分配数据块的存储区。
[0004]还有必要提供两种存储集群中的数据块去重方法,能够合理分配数据块的存储区。
[0005]第一种,所述存储集群中的数据块去重系统,应用于一台电子设备中,该电子设备通过网络连接一个存储集群中的多台服务器,该方法包括:监视步骤,监视存储集群中各服务器内每个存储区的存储容量;获取步骤,当有服务器中存储区的存储容量达到预设去重值时,获取该服务器的哈希数据库中的所有记录,并通知存储集群中其他服务器上传其哈希数据库的记录;分析步骤一,确定哈希数据库间所有相同的哈希值,并由此确定重复数据块;分析步骤二,根据重复数据块的存储指针找出剩余空间最大的存储区,将重复数据块在该存储区内的存储指针发送给包含该重复数据块的其他存储区所在的服务器;及去重步骤,删除包含该重复数据块的其他存储区中的该重复数据块。
[0006]第二种,所述存储集群中的数据块去重方法,应用于一台电子设备中,该电子设备通过网络连接一个存储集群中的多台服务器,该方法包括:监视步骤,监视存储集群中各服务器内每个存储区的存储容量;获取步骤,当有服务器中存储区的存储容量达到预设去重值时,获取该服务器的哈希数据库中的所有记录,并通知存储集群中其他服务器上传其哈希数据库的记录;分析步骤一,确定哈希数据库间所有相同的哈希值,并由此确定重复数据块;分析步骤二,根据重复数据块的存储指针找出剩余空间最大的存储区,将重复数据块在该存储区内的存储指针发送给包含该重复数据块的其他存储区所在的服务器;及去重步骤,删除包含该重复数据块的其他存储区中的该重复数据块。
[0007]所述存储集群中的数据块去重方法,应用于一台电子设备中,该电子设备通过网络连接一个存储集群中的多台服务器,该方法包括:在各哈希数据库中写入一个触发事件,当哈希数据库的记录总数达到该触发事件中设置的数量时,触发该哈希数据库将所有记录上传至所述电子设备中;所述电子设备通知存储集群中的其他服务器上传其哈希数据库的记录,确定哈希数据库间所有相同的哈希值,并由此确定重复数据块;所述电子设备根据重复数据块的存储指针找出剩余空间最大的存储区,将重复数据块在该存储区内的存储指针发送给包含该重复数据块的其他存储区所在的服务器,及删除包含该重复数据块的其他存储区中的该重复数据块。
[0008]相较于现有技术,所述存储集群中的数据块去重系统及方法,能够快速地查找出存储集群中的重复数据块,删除重复数据块,保留一份该重复数据块,并合理分配所保留的重复数据块的存储区。
【专利附图】

【附图说明】
[0009]图1是本发明存储集群中的数据块去重系统较佳实施例的运行环境示意图。
[0010]图2是图1中数据库分析器的主要组成示意图。
[0011]图3是本发明存储集群中的数据块去重方法较佳实施例的作业流程图。
[0012]图4以示意图的形式举例说明本发明的去重方法。
[0013]图5是本发明用户于客户端下载存储服务器中文件的作业流程图。
[0014]主要元件符号说明
【权利要求】
1.一种存储集群中的数据块去重方法,应用于一台电子设备中,该电子设备通过网络连接一个存储集群中的多台服务器,其特征在于,该方法包括: 监视步骤,监视存储集群中各服务器内每个存储区的存储容量; 获取步骤,当有服务器中存储区的存储容量达到预设去重值时,获取该服务器的哈希数据库中的所有记录,并通知存储集群中其他服务器上传其哈希数据库的记录; 分析步骤一,确定哈希数据库间所有相同的哈希值,并由此确定重复数据块; 分析步骤二,根据重复数据块的存储指针找出剩余空间最大的存储区,将重复数据块在该存储区内的存储指针发送给包含该重复数据块的其他存储区所在的服务器;及去重步骤,删除包含该重复数据块的其他存储区中的该重复数据块。
2.如权利要求1所述的存储集群中的数据块去重方法,其特征在于,所述去重步骤还包括: 利用所发送的存储指针更新该重复数据块于各哈希数据库中的记录。
3.如权利要求1所述的存储集群中的数据块去重方法,其特征在于,所述存储集群中的多台服务器通过网络连接一个或多个客户端,当用户需要通过客户端从服务器下载文件时,所述客户端执行以下步骤: 根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值; 根据各数据块的存储指针从相应的存储区下载各数据块; 校验各数据块的哈希值与从哈希数据库中获取的相应数据块的哈希值是否相同;当校验结果为不相同时,返回上述根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值的步骤,当校验结果`为相同时,将通过校验的数据块写入临时存储区中;按照所述数据块的分割顺序将上述通过校验的数据块进行排序组合,生成文件;及校验组合后文件的哈希值与上传到服务器之前文件的哈希值是否相同,当校验结果为相同时,将通过校验的文件返回给客户端的用户,当校验结果为不相同时,返回上述根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值的步骤。
4.一种存储集群中的数据块去重系统,运行于一台电子设备中,该电子设备通过网络连接一个存储集群中的多台服务器,其特征在于,该系统包括: 监视模块,用于监视存储集群中各服务器内每个存储区的存储容量; 获取模块,用于当有服务器中存储区的存储容量达到预设去重值时,获取该服务器的哈希数据库中的所有记录,并通知存储集群中其他服务器上传其哈希数据库的记录; 分析模块,用于确定哈希数据库间所有相同的哈希值,并由此确定重复数据块,根据重复数据块的存储指针找出剩余空间最大的存储区,将重复数据块在该存储区内的存储指针发送给包含该重复数据块的其他存储区所在的服务器;及 去重模块,用于删除包含该重复数据块的其他存储区中的该重复数据块。
5.如权利要求4所述的存储集群中的数据块去重系统,其特征在于,所述去重模块还用于: 利用所发送的存储指针更新该重复数据块于各哈希数据库中的记录。
6.如权利要求4所述的存储集群中的数据块去重系统,其特征在于,所述存储集群中的多台服务器通过网络连接一个或多个客户端,当用户需要通过客户端从服务器下载文件时,所述客户端用于:根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值; 根据各数据块的存储指针从相应的存储区下载各数据块; 校验各数据块的哈希值与从哈希数据库中获取的相应数据块的哈希值是否相同;当校验结果为不相同时,返回上述根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值的步骤,当校验结果为相同时,将通过校验的数据块写入临时存储区中;按照所述数据块的分割顺序将上述通过校验的数据块进行排序组合,生成文件;及校验组合后文件的哈希值与客户端上传的文件的哈希值是否相同,当校验结果为相同时,将通过校验的文件返回给客户端的用户,当校验结果为不相同时,返回上述根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值的步骤。
7.一种存储集群中的数据块去重方法,应用于一台电子设备中,该电子设备通过网络连接一个存储集群中的多台服务器,其特征在于,该方法包括: 在各服务器的哈希数据库中写入一个触发事件,当哈希数据库的记录总数达到该触发事件中设置的数量时,触发该哈希数据库将所有记录上传至所述电子设备中; 所述电子设备通知存储集群中的其他服务器上传其哈希数据库的记录,确定哈希数据库间所有相同的哈希值,并由此确定重复数据块; 所述电子设备根据重复数据块的存储指针找出剩余空间最大的存储区,将重复数据块在该存储区内的存储指针发送给包含该重复数据块的其他存储区所在的服务器,及删除包含该重复数据块的其他存储区中的该重复数据块。
8.如权利要求7所述的存储集群中的数据块去重方法,其特征在于,该方法还包括: 利用所发送的存储指针更新该重复数据块于各哈希数据库中的记录。
9.如权利要求7所`述的存储集群中的数据块去重方法,其特征在于,所述存储集群中的多台服务器通过网络连接一个或多个客户端,当用户需要通过客户端从服务器下载文件时,所述客户端执行以下步骤: 根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值; 根据各数据块的存储指针从相应的存储区下载各数据块; 校验各数据块的哈希值与从哈希数据库中获取的相应数据块的哈希值是否相同; 当校验结果为相同时,将通过校验的数据块写入临时存储区中; 按照所述数据块的分割顺序将上述通过校验的数据块进行排序组合,生成文件;及校验组合后文件的哈希值与上传到服务器之前文件的哈希值是否相同,当校验结果为相同时,将通过校验的文件返回给客户端的用户。
10.如权利要求9所述的存储集群中的数据块去重方法,其特征在于,在用户通过客户端从服务器下载文件过程中,数据块的哈希值校验结果为不相同,或者文件的哈希值校验结果为不相同时,返回上述根据文件的存储指针从对应的服务器中获取文件各数据块的哈希值的步骤。
【文档编号】H04L29/08GK103873506SQ201210534073
【公开日】2014年6月18日 申请日期:2012年12月12日 优先权日:2012年12月12日
【发明者】柴智权, 李大鹏, 林海洪, 李忠一 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1