[发明专利]针对分布式存储系统中的变化检测的动态散列函数组合在审
申请号: | 202080030703.2 | 申请日: | 2020-03-30 |
公开(公告)号: | CN113767377A | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | T·克勒策;A·A·克瓦尔内斯;O·托尔比约恩森;J-O·卡尔伯格 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F16/172 | 分类号: | G06F16/172;G06F16/182 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 贾丽萍 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 分布式 存储系统 中的 变化 检测 动态 函数 组合 | ||
1.一种用于针对文档的变化检测的动态散列函数组合的方法,所述文档存储在具有经由计算机网络彼此互连的多个服务器的分布式存储系统中,所述方法包括:
在所述服务器中的一个服务器处接收表示存储在所述分布式存储系统中的文档的新版本的数据,所接收的所述文档的新版本具有多个属性,所述多个属性分别具有描述或标识所述文档的值;以及
响应于接收到表示所述文档的所述新版本的所述数据,对于所述属性中的每个属性,
基于所述文档的所述新版本中的所述属性的值的数据大小或数据类型中的一项或多项来识别所述文档的所述新版本的所述属性的散列函数;
使用所识别的散列函数来生成所述属性的所述值的散列值;
将所接收的新版本中的、所述文档的所述属性的所生成的散列值与所述分布式存储系统中的所述文档的先前版本中的相应属性的散列值进行比较;以及
当检测到所生成的散列值与所述文档的所述先前版本中的所述相应属性的散列值不同时,经由所述计算机网络,仅向先前注册为接收关于所述属性的变化的通知的一个或多个计算服务发送通知,而不向未注册为接收所述通知的其他计算服务发送所述通知。
2.根据权利要求1所述的方法,其中,识别所述散列函数包括:
当所述属性的所述值是整数或者是具有比阈值字符数少的字符串时,选择恒等函数作为所述散列函数,其中,所述恒等函数被配置为返回输入值作为输出。
3.根据权利要求1所述的方法,其中,识别所述散列函数包括:
当所述属性的所述值是整数或者是具有比阈值字符数少的字符串时,选择恒等函数作为所述散列函数,其中,所述恒等函数被配置为返回输入值作为输出;并且
当所述属性的所述值不是整数或者不是具有比阈值字符数少的字符串时,选择被配置为将所述数据大小的所述值的数据映射到与所述值的所述数据大小不同的固定大小的散列值的散列函数。
4.根据权利要求1所述的方法,其中,识别所述散列函数包括:
确定用于执行所述比较的所述属性的数量是否高于阈值;以及
响应于确定用于执行所述比较的所述属性的所述数量高于所述阈值,选择被配置为生成具有不少于阈值比特数的比特数的所述散列值的散列函数。
5.根据权利要求1所述的方法,其中,识别所述散列函数包括:
识别所述文档的所述新版本的所述属性的所述数据大小;以及
基于所述属性的所识别的数据大小,根据包含数据大小的范围的记录和相应散列函数的配置文件来确定所述散列函数。
6.根据权利要求1所述的方法,其中,识别所述散列函数包括:
通过基于所述散列值的大小、计算所述散列值的计算成本、所述散列值的冲突率中的一项或多项使成本函数最小化来选择所述散列函数。
7.根据权利要求1所述的方法,其中,识别所述散列函数包括:
使用成本函数来选择使处理器周期和所述散列值的存储大小最小化、同时将冲突数量保持在阈值以下并使针对所执行的比较而读取的所述属性的数据量最小化的散列函数。
8.根据权利要求1所述的方法,其中,识别所述散列函数包括:
使用成本函数来选择使处理器周期和所述散列值的存储大小最小化、同时将冲突数量保持在阈值以下并使针对所执行的比较而读取的所述属性的数据量最小化的散列函数,如下所示:
J(Hi)=WCollision*CRHi+WCPU*CPUHi+WStorage*StorageHi+WData*DataHi,
其中,CRHi是冲突率,CPUHi是处理器周期,StorageHi是所述散列值的存储大小,DataHi∈{属性大小,StorageHi},并且W是与各种相应参数相关联的权重。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080030703.2/1.html,转载请声明来源钻瓜专利网。