[发明专利]一种并行重复数据删除方法和系统有效
| 申请号: | 201410204599.0 | 申请日: | 2014-05-15 |
| 公开(公告)号: | CN103970875B | 公开(公告)日: | 2017-02-15 |
| 发明(设计)人: | 曹强;万胜刚;林川;黄国强;谢长生 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 华中科技大学专利中心42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 并行 重复 数据 删除 方法 系统 | ||
1.一种并行重复数据删除方法,其特征在于,包括:
写过程,包括以下步骤:
(1)客户端将虚拟机镜像文件划分为多个相同大小的数据块,并且为每一个数据块分配一个数据块ID;
(2)客户端设置计数器i=1;
(3)客户端利用哈希算法对第i个数据块进行处理,以生成哈希指纹值,根据哈希指纹值生成对应的节点ID,并将<第i个数据块ID,哈希指纹值>二元组传送到哈希指纹值对应的节点ID所对应的数据节点进行哈希指纹查询;
(4)数据节点在其指纹库中查询该哈希指纹值是否命中,如果命中则转到步骤(5),否则转到步骤(8);
(5)数据节点将<第i个数据块ID,PBA)>二元组传送到查询节点;
(6)查询节点根据<第i个数据块ID,PBA>二元组更新其地址映射表;
(7)客户端判断是否虚拟机镜像文件中的所有数据块都已处理完毕,如果是,则过程结束,否则设置i=i+1,并返回步骤(1);
(8)客户端将第i个数据块ID传送到查询节点,并向该查询节点请求分配新的PBA;
(9)查询节点为第i个数据块分配新的PBA,更新其地址映射表,并将<哈希指纹值,PBA>二元组发回到数据节点;
(10)数据节点根据<哈希指纹值,PBA>二元组更新其指纹库,将<第i个数据块ID,PBA>二元组发给客户端,并通知客户端发送第i个数据块;
(11)客户端根据<第i个数据块ID,PBA>二元组发送第i个数据块到数据节点;
(12)数据节点保存第i个数据块,并返回步骤(7);
读过程,包括以下步骤:
(1’)客户端向查询节点发送地址映射表读请求;
(2’)查询节点根据地址映射表读请求将其地址映射表发送到客户端;
(3’)查询节点设置计数器j=1;
(4’)客户端根据地址映射表将虚拟机镜像文件的第j个数据块的PBA发送到对应的数据节点;
(5’)对应的数据节点根据PBA在其指纹库中读取对应的第j个数据块,并将该数据块发回客户端;
(6’)客户端判断是否虚拟机镜像文件的所有数据块均处理完毕,若是则过程结束,否则设置j=j+1,并返回步骤(2’)。
2.根据权利要求1所述的并行重复数据删除方法,其特征在于,每个数据块ID包括文件ID和LBA,且每个数据块的大小是4KB至2MB。
3.根据权利要求1所述的并行重复数据删除方法,其特征在于,哈希算法包括SHA-1、SHA-2、以及MD5算法。
4.根据权利要求1所述的并行重复数据删除方法,其特征在于,步骤(3)是采用DHT算法对哈希指纹值进行计算,以得到节点ID。
5.一种并行重复数据删除系统,其特征在于,包括:
第一模块,其设置于客户端中,用于将虚拟机镜像文件划分为多个相同大小的数据块,并且为每一个数据块分配一个数据块ID;
第二模块,其设置于客户端中,用于设置计数器i=1;
第三模块,其设置于客户端中,用于利用哈希算法对第i个数据块进行处理,以生成哈希指纹值,根据哈希指纹值生成对应的节点ID,并将<第i个数据块ID,哈希指纹值>二元组传送到哈希指纹值对应的节点ID所对应的数据节点进行哈希指纹查询;
第四模块,其设置于数据节点中,用于在其指纹库中查询该哈希指纹值是否命中,如果命中则转到第五模块,否则转到第八模块;
第五模块,其设置于数据节点中,用于将<第i个数据块ID,PBA)>二元组传送到查询节点;
第六模块,其设置于查询节点中,用于根据<第i个数据块ID,PBA>二元组更新其地址映射表;
第七模块,其设置于客户端中,用于判断是否虚拟机镜像文件中的所有数据块都已处理完毕,如果是,则过程结束,否则设置i=i+1,并返回第一模块;
第八模块,其设置于客户端中,用于将第i个数据块ID传送到查询节点,并向该查询节点请求分配新的PBA;
第九模块,其设置于查询节点中,用于为第i个数据块分配新的PBA,更新其地址映射表,并将<哈希指纹值,PBA>二元组发回到数据节点;
第十模块,其设置于数据节点中,用于根据<哈希指纹值,PBA>二元组更新其指纹库,将<第i个数据块ID,PBA>二元组发给客户端,并通知客户端发送第i个数据块;
第十一模块,其设置于客户端中,用于根据<第i个数据块ID,PBA>二元组发送第i个数据块到数据节点;
第十二模块,其设置于数据节点中,用于保存第i个数据块,并返回第七模块;
第十三模块,其设置于客户端中,用于向查询节点发送地址映射表读请求;
第十四模块,其设置于查询节点中,用于根据地址映射表读请求将其地址映射表发送到客户端;
第十五模块,其设置于查询节点中,用于设置计数器j=1;
第十六模块,其设置于客户端中,用于根据地址映射表将虚拟机镜像文件的第j个数据块的PBA发送到对应的数据节点;
第十七模块,其设置于数据节点中,用于根据PBA在其指纹库中读取对应的第j个数据块,并将该数据块发回客户端;
第十八模块,其设置于客户端中,用于判断是否虚拟机镜像文件的所有数据块均处理完毕,若是则过程结束,否则设置j=j+1,并返回第十四模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410204599.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:OTP寄存器的多次写入装置
- 下一篇:一种具有储存功能的名片通
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





