[发明专利]键值数据表的连接方法及装置有效
申请号: | 201611182420.1 | 申请日: | 2016-12-20 |
公开(公告)号: | CN108205571B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 胡懋地;林文辉 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 刘爱丽 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 键值 数据表 连接 方法 装置 | ||
1.一种键值数据表的连接方法,其特征在于,包括:
获取第一键值数据表中每个第一关键字对应的第一布隆数组,以及获取第二键值数据表中每个第二关键字对应的第二布隆数组;
过滤掉所述第一布隆数组、所述第二布隆数组对应的一定不存在重复关系的所述第一关键字和所述第二关键字;
其中,根据所述第一布隆数组和所述第二布隆数组获得过滤数组,根据所述过滤数组过滤掉所述第一布隆数组、所述第二布隆数组对应的一定不存在重复关系的所述第一关键字和所述第二关键字包括:对所述第一键值数据表对应的所有所述第一布隆数组进行处理得到第一统计数组,以及对所述第二键值数据表对应的所有所述第二布隆数组进行处理得到第二统计数组;根据所述第一统计数组和所述第二统计数组获得所述过滤数组,所述过滤数组分别与所述第一布隆数组、所述第二布隆数组进行比对;
根据过滤处理后的所述第一布隆数组对应的所述第一关键字、所述第二布隆数组对应的所述第二关键字,进行所述第一键值数据表和所述第二键值数据表的连接;
其中,所述对所述第一键值数据表对应的所有所述第一布隆数组进行处理得到第一统计数组,以及对第二键值数据表对应的所有所述第二布隆数组进行处理得到第二统计数组包括:
将所述第一布隆数组和第二布隆数组根据相同的哈希函数映射到相同容量、相同初始值的比特数组中,对所述第一布隆数组进行同位操作得到所述第一统计数组,以及对所述第二布隆数组进行同位操作得到所述第二统计数组;
所述根据所述第一统计数组和所述第二统计数组获得过滤数组包括:对所述第一统计数组与所述第二统计数组进行同位与操作,得到所述过滤数组,通过所述同位与操作对所述第一统计数组对应的所述第一关键字和所述第二统计数组对应的第二关键字取交集。
2.根据权利要求1所述的方法,其特征在于,所述第一布隆数组为根据哈希函数对所述第一键值数据表中的所述第一关键字进行映射得到的比特数组,所述第二布隆数组为根据哈希函数对所述第二键值数据表中的所述第二关键字进行映射得到的比特数组。
3.根据权利要求1所述的方法,其特征在于,所述过滤掉所述第一布隆数组、所述第二布隆数组对应的一定不存在重复关系的所述第一关键字和所述第二关键字包括:
根据所述第一布隆数组和所述第二布隆数组获得过滤数组,所述过滤数组分别与所述第一布隆数组、所述第二布隆数组进行比对,过滤掉所述第一布隆数组、所述第二布隆数组对应的一定不存在重复关系的所述第一关键字和所述第二关键字。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一布隆数组进行同位操作得到所述第一统计数组,以及对所述第二布隆数组进行同位操作得到所述第二统计数组包括:
对所述第一布隆数组进行同位加操作得到第一计数数组,以及对所述第二布隆数组进行同位加操作得到第二计数数组;
将所述第一计数数组转换为比特数组,得到所述第一统计数组,以及将所述第二计数数组转换为比特数组,得到所述第二统计数组。
5.根据权利要求4所述的方法,其特征在于,还包括:当所述第一键值数据表更新时,根据更新后生成的所述第一布隆数组更新所述第一计数数组,以及当所述第二键值数据表更新时,根据更新后生成的所述第二布隆数组更新所述第二计数数组。
6.根据权利要求1所述的方法,其特征在于,所述过滤数组分别与所述第一布隆数组、所述第二布隆数组进行比对,过滤掉所述第一布隆数组、所述第二布隆数组对应的一定不存在重复关系的所述第一关键字和所述第二关键字包括:
将所述过滤数组与所述第一布隆数组、所述第二布隆数组进行同位比对,若所述第一布隆数组和/或所述第二布隆数组未全部覆盖所述过滤数组,则判定所述第一关键字和所述第二关键字一定不存在重复关系,则过滤掉其对应的所述第一关键字和/或所述第二关键字。
7.一种键值数据表的连接装置,其特征在于,包括:
处理模块,用于获取第一键值数据表中每个第一关键字对应的第一布隆数组,以及获取第二键值数据表中每个第二关键字对应的第二布隆数组;
过滤模块,用于过滤掉所述第一布隆数组、所述第二布隆数组对应的一定不存在重复关系的第一关键字和第二关键字;
连接模块,用于根据过滤处理后的所述第一布隆数组对应的第一关键字、所述第二布隆数组对应的第二关键字,进行第一键值数据表和第二键值数据表的连接;
所述过滤模块,用于对所述第一键值数据表对应的所有所述第一布隆数组进行处理得到第一统计数组,以及对所述第二键值数据表对应的所有所述第二布隆数组进行处理得到第二统计数组;根据所述第一统计数组和所述第二统计数组获得过滤数组,所述过滤数组分别与所述第一布隆数组、所述第二布隆数组进行比对;
其中,所述过滤模块,所述对所述第一键值数据表对应的所有所述第一布隆数组进行处理得到第一统计数组,以及对第二键值数据表对应的所有所述第二布隆数组进行处理得到第二统计数组包括:
将所述第一布隆数组和第二布隆数组根据相同的哈希函数映射到相同容量、相同初始值的比特数组中,对所述第一布隆数组进行同位操作得到所述第一统计数组,以及对所述第二布隆数组进行同位操作得到所述第二统计数组;
所述根据所述第一统计数组和所述第二统计数组获得过滤数组包括:对所述第一统计数组与所述第二统计数组进行同位与操作,得到所述过滤数组,通过所述同位与操作对所述第一统计数组对应的所述第一关键字和所述第二统计数组对应的第二关键字取交集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611182420.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据检测方法和装置
- 下一篇:一种搜索方法、装置及设备