基于数据指纹整合的去重的制作方法

文档序号:30434967发布日期:2022-06-15 19:51阅读:来源:国知局

技术特征:
1.一种用于在通信网络中执行数据去重的计算机实现的方法,其特征在于,所述方法包括:将密码哈希函数应用于数据,以生成所述数据的指纹;将地址映射表项存储在第一表中,所述地址映射表项将分配给所述数据的逻辑单元号(logical unit number,lun)的逻辑块地址(logical block address,lba)映射到持久存储所述数据的存储位置的物理块地址(pba);将所述指纹作为键同时将所述数据的位置令牌作为值存储在第二表中的键值项中,所述位置令牌包括所述存储位置的所述lba和所述pba;为响应检测到所述第二表中的附加键值项包括所述指纹:修改所述第二表中的所述键值项中的所述值,以包括所述附加键值项中的附加位置令牌,所述附加位置令牌与持久存储所述数据的第二存储位置的第二lba和第二pba相关联;将所述第一表中的第二地址映射表项中的所述第二lba从所述第二pba重映射到所述指纹。2.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:基于检测到所述第二表中的所述附加键值项包括所述指纹,使用所述lba从所述存储位置检索所述数据;将所述指纹作为键同时将所述检索数据作为值存储在第三表中的键值项中。3.根据权利要求2所述的计算机实现的方法,其特征在于,所述第三表是指纹表,所述方法还包括:向所述通信网络中的多个网络节点发送指纹清除请求;为响应所述指纹清除请求,从所述多个网络节点接收当前使用的指纹;基于所述当前使用的指纹并基于存储在与所述多个网络节点中的每个网络节点相关联的一个或多个指纹表中的指纹列表,生成过时指纹列表;其中,所述当前使用的指纹是在发送所述指纹清除请求之前由所述多个网络节点使用的指纹。4.根据权利要求3所述的计算机实现的方法,其特征在于,还包括:为响应所述指纹清除请求,从所述多个网络节点接收新引用的指纹;其中,所述新引用的指纹是在发送所述指纹清除请求之后由所述多个网络节点使用的指纹。5.根据权利要求4所述的计算机实现的方法,其特征在于,所述当前使用的指纹和所述新引用的指纹基于所述多个网络节点中的每个网络节点的成员身份检查数据结构生成。6.根据权利要求4所述的计算机实现的方法,其特征在于,还包括:基于所述过时指纹和所述新引用的指纹列表,生成待删除(to-be-deleted,tbd)指纹列表;基于所述tbd指纹列表,更新所述指纹表。7.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:验证所述第二lba映射到所述第二pba,并验证所述第二存储位置的所述第二pba与所述数据相关联;所述验证成功后,重映射所述第一表中的所述第二lba,以映射到所述指纹。
8.根据权利要求1所述的计算机实现的方法,其特征在于,还包括:扫描所述第一表中的多个地址映射表项,所述多个地址映射表项包括所述第二地址映射表项,所述第二地址映射表项包括所述第二lba和所述第二pba;基于在所述扫描期间检测到所述第二lba未映射到所述第二pba,对持久存储在所述第二存储位置中的所述数据执行垃圾回收。9.根据权利要求1所述的计算机实现的方法,其特征在于,所述lba位于地址空间的多个逻辑地址分片中的一个逻辑地址分片内,所述地址空间在所述通信网络中的多个网络节点之间分配,并且所述方法还包括:将所述密码哈希函数应用于所述lba和所述lun的标识(identification,id),以确定第一哈希;基于所述第一哈希,选择所述多个网络节点中的第一网络节点,所述第一网络节点存储所述第一表。10.根据权利要求9所述的计算机实现的方法,其特征在于,还包括:将所述密码哈希函数应用于所述指纹,以确定第二哈希;基于所述第二哈希,选择所述多个网络节点中的第二网络节点,所述第二网络节点存储所述第二表。11.一种用于在通信网络中执行数据去重的系统,其特征在于,所述系统包括:存储器,用于存储指令;与所述存储器通信的一个或多个处理器,其中所述一个或多个处理器执行所述指令,以执行以下操作:将密码哈希函数应用于数据,以生成所述数据的指纹;将地址映射表项存储在第一表中,所述地址映射表项将分配给所述数据的逻辑单元号(logical unit number,lun)的逻辑块地址(logical block address,lba)映射到持久存储所述数据的存储位置的物理块地址(pba);将所述指纹作为键同时将所述数据的位置令牌作为值存储在第二表中的键值项中,所述位置令牌包括所述存储位置的所述lba和所述pba;为响应检测到所述第二表中的附加键值项包括所述指纹:修改所述第二表中的所述键值项中的所述值,以包括所述附加键值项中的附加位置令牌,所述附加位置令牌与持久存储所述数据的第二存储位置的第二lba和第二pba相关联;将所述第一表中的第二地址映射表项中的所述第二lba从所述第二pba重映射到所述指纹。12.根据权利要求11所述的系统,其特征在于,所述一个或多个处理器执行所述指令,以执行以下操作:基于检测到所述第二表中的所述附加键值项包括所述指纹,使用所述lba从所述存储位置检索所述数据。13.根据权利要求12所述的系统,其特征在于,所述一个或多个处理器执行所述指令,以执行以下操作:将所述指纹作为键同时将所述检索数据作为值存储在第三表中的键值项中。14.根据权利要求11所述的系统,其特征在于,所述一个或多个处理器执行所述指令,
以执行以下操作:在第一验证期间,验证所述第二lba映射到所述第二pba;在第二验证期间,验证所述第二存储位置的所述第二pba与所述数据相关联。15.根据权利要求14所述的系统,其特征在于,所述一个或多个处理器执行所述指令,以执行以下操作:基于所述第一验证和所述第二验证,重映射所述第一表中的所述第二lba,以映射到所述指纹。16.根据权利要求11所述的系统,其特征在于,所述一个或多个处理器执行所述指令,以执行以下操作:扫描所述第一表中的多个地址映射表项,所述多个地址映射表项包括所述第二地址映射表项,所述第二地址映射表项包括所述第二lba和所述第二pba;基于在所述扫描期间检测到所述第二lba未映射到所述第二pba,对持久存储在所述第二存储位置中的所述数据执行垃圾回收。17.一种存储用于在通信网络中执行数据去重的计算机指令的计算机可读介质,其特征在于,所述指令在由多个计算设备中的一个计算设备的一个或多个处理器执行时,使所述一个或多个处理器执行以下操作,包括:将密码哈希函数应用于数据,以生成所述数据的指纹;将地址映射表项存储在第一表中,所述地址映射表项将分配给所述数据的逻辑单元号(logical unit number,lun)的逻辑块地址(logical block address,lba)映射到持久存储所述数据的存储位置的物理块地址(pba);将所述指纹作为键同时将所述数据的位置令牌作为值存储在第二表中的键值项中,所述位置令牌包括所述存储位置的所述lba和所述pba;为响应检测到所述第二表中的附加键值项包括所述指纹:修改所述第二表中的所述键值项中的所述值,以包括所述附加键值项中的附加位置令牌,所述附加位置令牌与持久存储所述数据的第二存储位置的第二lba和第二pba相关联;将所述第一表中的第二地址映射表项中的所述第二lba从所述第二pba重映射到所述指纹。18.根据权利要求17所述的计算机可读介质,其特征在于,所述lba位于地址空间的多个逻辑地址分片中的一个逻辑地址分片内,所述地址空间在所述通信网络中的多个网络节点之间分配。19.根据权利要求18所述的计算机可读介质,其特征在于,执行所述指令使所述一个或多个处理器执行以下操作,包括:将所述密码哈希函数应用于所述lba和所述lun的标识(identification,id),以确定第一哈希;基于所述第一哈希,选择所述多个网络节点中的第一网络节点,所述第一网络节点存储所述第一表。20.根据权利要求19所述的计算机可读介质,其特征在于,执行所述指令使所述一个或多个处理器执行以下操作,包括:将所述密码哈希函数应用于所述指纹,以确定第二哈希;
基于所述第二哈希,选择所述多个网络节点中的第二网络节点,所述第二网络节点存储所述第二表。

技术总结
一种用于在通信网络中执行数据去重的计算机实现的方法,所述方法包括:将密码哈希函数应用于数据,以生成所述数据的指纹。将地址映射表项存储在第一表中,所述地址映射表项将分配给所述数据的LUN的LBA映射到持久存储所述数据的存储位置的PBA。将所述指纹作为键同时将所述数据的位置令牌作为值存储在第二表中的键值项中,所述位置令牌包括所述存储位置的所述LBA和所述PBA。为响应检测到所述第二表中的附加键值项包括所述指纹,修改所述第二表中的所述键值项中的所述值。中的所述键值项中的所述值。中的所述键值项中的所述值。


技术研发人员:刘淳 王晨 任仁
受保护的技术使用者:华为技术有限公司
技术研发日:2020.05.21
技术公布日:2022/6/14
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1