[发明专利]基于Spark框架的分布式概要数据结构的构建方法及查询方法有效
申请号: | 201810113980.4 | 申请日: | 2018-02-05 |
公开(公告)号: | CN108388603B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 吴广君;党向磊;王树鹏;杨怡欣;赵百强 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2458 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 spark 框架 分布式 概要 数据结构 构建 方法 查询 | ||
1.一种基于Spark框架的分布式概要数据结构的构建方法,其步骤包括:
在基于Spark框架的分布式环境下,以key,value的形式接收流数据;
获取流数据的数据元素的value值,构建由二叉树可存储内容的节点组成的q-digest结构,将value值插入到q-digest结构相应的叶节点中;该q-digest结构的节点包括BloomFilter、HyperLogLogPlus;
由下向上逐层检查各节点是否满足节点约束条件,所述节点约束条件为:其中节点v非叶节点;其中节点v非根节点;其中,vp是v的父节点,vs是v的兄弟节点,k是所述q-digest结构的压缩参数,n是所有节点value值的总和;如果满足,则通过HyperLogLogPlus判断当前BloomFilter是否超出最佳容量,最佳容量是指Bloomfilter中bit数组的位由hash函数设置为1的个数占全部bit位的比率在50%-80%;如果不满足节点约束条件,则向上合并至父节点;
如果BloomFilter未超出最佳容量,则将数据元素的key插入到节点的BloomFilter,否则新建BloomFilter以插入数据元素的key;
将数据元素的key插入到HyperLogLogPlus中,完成分布式概要数据的动态构建。
2.根据权利要求1所述的构建方法,其特征在于,在插入value值时,如果二叉树无法完全容纳value值,则对二叉树进行扩容或对二叉树各节点进行全局压缩。
3.根据权利要求1所述的构建方法,其特征在于,采用Dynamic BloomFilter方法新建BloomFilter。
4.一种基于Spark框架的分布式概要数据结构的查询方法,该基于Spark框架的分布式概要数据结构由权利要求1所述的方法构建,该查询方法的步骤包括:
对于分区查询,首先对流数据的各子流的q-digest结构进行二次采样,抽取顶层概要数据信息,构建全局q-digest结构;再在全局q-digest结构中生成value值查询范围,对满足该查询范围条件的分区进行查询;聚合各分区查询结果并返回;
对于全局查询,首先将流数据的各子流的q-digest结构进行合并,然后对合并后的q-digest结构进行全局查询,得到全局查询结果;其中合并步骤包括:将各子流的q-digest结构的对应层次的节点的计数器进行整数相加;如果BloomFilter未超过最佳容量,最佳容量是指Bloomfilter中bit数组的位由hash函数设置为1的个数占全部bit位的比率在50%-80%,则直接合并BloomFilter;如果BloomFilter超过最佳容量,则将待合并的BloomFilter直接附加到节点的BloomFilter数组中,排序并将含有最小基数的BloomFilter排在最后;合并HyperLogLogPlus,实现各q-digest结构的合并。
5.根据权利要求4所述的查询方法,其特征在于,根据HyperLogLogPlus所记录的基数值判断BloomFilter是否超过最佳容量。
6.根据权利要求4所述的查询方法,其特征在于,查询的方法步骤包括:
根据给定的分位数区间(q1,q2),找出q1、q2相对应的分位点,计算出value查询范围[value1,value2];
后序遍历q-digest结构中的节点,如果当前节点的value被包含在所述查询范围内,则获取该节点对应的BloomFilter;
如果有多个节点的value均被包含在所述查询范围内,则生成节点列表;
测试待查询数据元素的key是否存在于每个节点的BloomFilter中。
7.根据权利要求6所述的查询方法,其特征在于,所述q1、q2取值为0q1q21。
8.一种基于Spark框架的分布式概要数据结构的构建及查询系统,包括存储器和处理器,该存储器存储计算机程序,该程序被配置为由该处理器执行,该程序包括用于执行上述权利要求1-3任一所述的构建方法和上述权利要求4-7任一所述的查询方法的各步骤指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810113980.4/1.html,转载请声明来源钻瓜专利网。