【技术实现步骤摘要】
一种自修复的计数式摘要方法
本专利技术涉及网络通信
,具体是一种自修复的计数式摘要方法。
技术介绍
计数式摘要(count-sketch)是数据管理领域常用的精简数据结构。记录数据流的键-值(key-value)对,具有广泛的抽象表示能力,得到了广泛的应用。常见的计数式摘要由一组数组构成,每个数组包含相同数目的桶(“桶”为逻辑概念,用于指代数组的一个位置),每个桶用于记录插入到该位置的键对应的值。当需要插入一个键值对(key,value)时,首先通过哈希函数从每个数组中均匀随机选择一个桶,然后通过哈希函数选择+1或者-1对值进行加权,最后将值插入到选中的桶中。在查询一个键对应的值时,首先利用相同的哈希函数从每个数组计算桶的位置,其次读取每个桶的值,最终选取所有桶值的加权中间值作为该键对应的值返回。计数式摘要具有常数时间的维护和查询开销。计数式摘要具有查询误差,如果多个键插入到相同的桶中,那么这个桶记录各个键对应值的加权代数和,并不严格对应一个键的原始值。查询误差严重降低了计数式摘要的查询有效性,应用查询结果可能造成偏差,造成判断错误。因此,有必要设计一种自修复的计数式摘要方法。
技术实现思路
本专利技术针对现有的计数式摘要存在查询误差的不足,提出一种自修复的计数式摘要方法,实现查询误差的降低甚至消除的目的。为了解决上述技术问题,本专利技术是通过以下技术方案实现的:一种自修复的计数式摘要方法,包括以下步骤,S1,构建自修复的计数式摘要结构:对现有的计数式摘要中的 ...
【技术保护点】
1.一种自修复的计数式摘要方法,其特征在于,包括以下步骤,/nS1,构建自修复的计数式摘要结构:对计数式摘要中的桶增加键校验域;/nS2,执行键值对插入操作:将一个键值对掺入到所述计数式摘要结构中,并在校验域记录插入到桶中的键校验域;/nS3,执行键值对删除操作:利用所述键校验域信息计算一个键对应的桶的集合,仅保留一个桶的值并从其他桶中删除该键值对;/nS4,执行键值对解码操作:从所述计数式摘要结构中发现并修复多个键值对共用的桶;/nS5,执行键值对查询操作:查询一个键值对是否记录到所述计数式摘要结构中。/n
【技术特征摘要】
1.一种自修复的计数式摘要方法,其特征在于,包括以下步骤,
S1,构建自修复的计数式摘要结构:对计数式摘要中的桶增加键校验域;
S2,执行键值对插入操作:将一个键值对掺入到所述计数式摘要结构中,并在校验域记录插入到桶中的键校验域;
S3,执行键值对删除操作:利用所述键校验域信息计算一个键对应的桶的集合,仅保留一个桶的值并从其他桶中删除该键值对;
S4,执行键值对解码操作:从所述计数式摘要结构中发现并修复多个键值对共用的桶;
S5,执行键值对查询操作:查询一个键值对是否记录到所述计数式摘要结构中。
2.根据权利要求1所述的一种自修复的计数式摘要方法,其特征在于,步骤S1中,每个所述计数式摘要结构包括K个数组,每个所述数组包括m个桶,其中参数K和m是系统预先设置的参数,每个所述桶至少包括键校验域KEYSUM,值域VALSUM。
3.根据权利要求1所述的一种自修复的计数式摘要方法,其特征在于,步骤S2之前,还需要预先选择K个哈希函数作为哈希函数族,用于所述键值对的插入、解码以及查询过程。
4.根据权利要求3所述的一种自修复的计数式摘要方法,其特征在于,所述步骤S2包括:
S21,利用所述哈希函数族计算键key在K个数组中对应的位置,记为{hi(key),i∈[1,k]};
S22,对于第i个数组,选择第hi(key)个桶,利用哈希函数族计算键key的加权值,记为ri(key),i∈[1,k];
S23,记录键值对(key,value):
(231)
(232)VALSUM=VALSUM+ri(key)×value;
其中,(231)表示合并键的信息,(232)表示合并值的信息。
5.根据权利要求4所述的一种自修复的计数式摘要方法,其特征在于,执行步骤S2的同时维护一个缓冲stash,记录C个键值对,用于初始化解码过程。
6.根据权利要求5所述的一种自修复的计数式摘要方法,其特征在于,所述步骤S3包括:
S31,利用所述哈希函数族计算键在K个数组中对应的位置,记为{hi(key),i∈[1,k]};
S32,对于第i个数组,选择第hi(key)个桶,利用哈希函数族计算键的加权值,记为ri(key),i∈[1,k];
...
【专利技术属性】
技术研发人员:符永铨,沈思淇,王庆林,黄春,苏华友,李荣春,姜晶菲,李东升,窦勇,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。