主权项 |
一种并行重复数据删除方法,其特征在于,包括:写过程,包括以下步骤:(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’)。 |