[发明专利]面向海量分布式数据的非等值连接方法有效

专利信息
申请号: 201610312145.4 申请日: 2016-05-12
公开(公告)号: CN106021386B 公开(公告)日: 2019-02-05
发明(设计)人: 刘文洁;李战怀;潘巍;张晓 申请(专利权)人: 西北工业大学
主分类号: G06F16/28 分类号: G06F16/28
代理公司: 西北工业大学专利中心 61204 代理人: 王鲜凯
地址: 710072 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种面向海量分布式数据的非等值连接方法,用于解决现有非等值连接方法效率低的技术问题。技术方案是在进行两表的非等值连接之前,首先根据连接条件选择合适的过滤规则,然后计算两表连接字段的最大值和最小值,根据最大值和最小值对两表中的所有记录进行扫描,将与输出结果无关的记录进行过滤,仅仅对过滤后的数据进行笛卡尔积的计算,最后根据连接条件对笛卡尔积的结果进行二次对比,筛选出符合连接条件的记录。该方法能够在做笛卡尔积之前,过滤掉大量的不符合连接条件的记录,可以有效地降低Reducer的工作量,提高了非等值连接的查询效率。
搜索关键词: 面向 海量 分布式 数据 等值 连接 方法
【主权项】:
1.一种面向海量分布式数据的非等值连接方法,其特征在于包括以下步骤:步骤一、假设有两个关系表R(A,B)和S(B,C),函数θ属于{>,<,≥,≤},查询QB定义为R(A,B)∞R.BθS.B S(B,C),则QB称为关系表R和S之间通过字段B连接的一个非等值连接查询;符号说明:R(A,B)代表关系表R,A,B是R的属性,S(B,C)代表关系表S,B,C是S的属性;θ是R和S的连接函数;QB代表一个涉及R和S的查询,“∞”代表连接符号;由于在分布式环境下,数据的计算格式为key‑value形式,因此,字段B看作是R和S的key,字段A看作是关系表R中除了B以外的所有字段的组合,字段C看作是关系表S中除了B以外的所有字段的组合;从而将多字段表的连接转换为分布式计算环境中的key‑value形式;步骤二、假设R(A,B)和S(B,C)是两个待连接的表,连接属性是B,连接函数是θ,且θ∈{>,<,≤,≥},R.B记录中的最大值和最小值分别是R.Bmax和R.Bmin,S.B记录中的最大值和最小值分别是S.Bmax和S.Bmin,则得到如下定理:定理1:对于指定的两张表R(A,B)和S(B,C),连接属性为B,θ=“>”,那么如果x>S.Bmin,则保留x,否则从关系表R的属性B中过滤掉该x;如果y<R.Bmax,则保留y否则从关系表S的属性B中过滤掉该y;符号说明:S.Bmin代表关系表S中的属性列B的所有记录中的最小值,R.Bmax代表关系表R中的属性列B的所有记录中的最大值;x代表关系表R中的属性列B的任意值,y代表关系表S中的属性列B的任意值;定理2:对于指定的两张表R(A,B)和S(B,C),连接属性为B,θ=“<”,那么如果x<S.Bmax,则保留x,否则从关系表R的属性B中过滤掉该x;如果y>R.Bmin,则保留y否则从关系表S的属性B中过滤掉该y;符号说明:S.Bmax代表关系表S中的属性列B的所有记录中的最大值,R.Bmin代表关系表R中的属性列B的所有记录中的最小值;定理3:对于指定的两张表R(A,B)和S(B,C),连接属性为B,θ=“≥”,那么如果x≥S.Bmin,则保留x,否则从关系表R的属性B中过滤掉该x;如果y≤R.Bmax,则保留y否则从关系表S的属性B中过滤掉该y;定理4:对于指定的两张表R(A,B)和S(B,C),连接属性为B,θ=“≤”,那么如果x≤S.Bmax,则保留x,否则从关系表R的属性B中过滤掉该x;如果y≥R.Bmin,则保留y否则从关系表S的属性B中过滤掉该y;步骤三、非等值连接算法:算法输入:待连接的两个数据表R(A,B)和S(B,C),连接属性B,连接函数θ;算法输出:符合非等值连接条件的结果集T(R.A,R.B,S.B,S.C),对于T中的任意记录,都满足条件R.BθS.B;算法流程:Step1:从数据表R(A,B)中取出连接列R.B,对R.B排序,遍历R.B记录,找到R.B记录的最大值R.Bmax和最小值R.Bmin;从数据表S(B,C)中取出连接列S.B,对S.B排序,遍历S.B记录,找到S.B记录的最大值S.Bmax和最小值S.Bmin;Step2:判断连接条件θ,如果θ=“>”,根据定理1的过滤规则对R(A,B)和S(B,C)进行过滤,得到过滤后的数据集R'(A,B)和S'(B,C);符号说明:R'(A,B)代表关系表R(A,B)过滤后的一个子集,S'(B,C)代表关系表S(B,C)过滤后的一个子集;如果θ=“<”,根据定理2的过滤规则对R(A,B)和S(B,C)进行过滤,得到过滤后的数据集R'(A,B)和S'(B,C);如果θ=“≥”,根据定理3的过滤规则对R(A,B)和S(B,C)进行过滤,得到过滤后的数据集R'(A,B)和S'(B,C);如果θ=“≤”,根据定理4的过滤规则对R(A,B)和S(B,C)进行过滤,得到过滤后的数据集R'(A,B)和S'(B,C);Step3:将过滤后的R'(A,B)和S'(B,C)进行分布式计算,得到笛卡尔积结果集T'(R.A,R.B,S.B,S.C);符号说明:T'(R.A,R.B,S.B,S.C)代表对R'(A,B)和S'(B,C)进行笛卡尔积计算后的结果集,这里进行的全属性列的笛卡尔积,因此R和S的所有属性列都包含在内;Step4:根据连接条件θ,对T'(R.A,R.B,S.B,S.C)中的R.B和S.B进行二次筛选,删除不符合条件的记录,得到最终连接结果集T(R.A,R.B,S.B,S.C);符号说明:T(R.A,R.B,S.B,S.C)表示对笛卡尔积T'(R.A,R.B,S.B,S.C)进行二次筛选后的结果集,因为过滤规则不能保证筛选掉所有不符合连接条件的记录,为了保证结果的正确性,这里进行二次筛选;Step5:输出非等值结果集T(R.A,R.B,S.B,S.C)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201610312145.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top