[发明专利]一种面向列存储的桶内索引哈希连接方法有效
申请号: | 201210019277.X | 申请日: | 2012-01-20 |
公开(公告)号: | CN102609487A | 公开(公告)日: | 2012-07-25 |
发明(设计)人: | 王梅;乐嘉锦;夏小玲;郝大腾 | 申请(专利权)人: | 东华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹;柏子雵 |
地址: | 201620 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种面向列存储的桶内索引哈希连接方法,其特征在于,步骤为:步骤1、初始化;步骤2、将数据Si按大小有序填充到相应的桶结点适当的位置中;步骤3、判断当前桶内的元素个数是否大于容忍值T,若大于则转向步骤4建立桶内索引,否则按照普通的哈希散列算法将其散列到桶中,并转向步骤5;步骤4、建立桶内索引;步骤5、建立桶内索引数组;步骤6、匹配连接。本发明的优点是:通过在桶内构建索引,克服传统哈希连接的缺陷,减少查找匹配时间,提高哈希连接的效率的哈希连接方法。 | ||
搜索关键词: | 一种 面向 存储 索引 连接 方法 | ||
【主权项】:
一种面向列存储的桶内索引哈希连接方法,其特征在于,步骤为:步骤1、初始化:解析哈希连接两表信息,确定哈希对象小表S,判断哈希关键字,初始化哈希表HT,设置桶的个数为B,散列函数为f(x);步骤2、先创建桶节点,随后,对哈希对象小表S中数据Si使用散列函数f(x)计算哈希值,再根据计算的值将数据Si按大小有序填充到相应的桶结点适当的位置中,若数据按哈希关键字无序,桶内数据采用链表存储,若数据按哈希关键字有序,桶内数据采用数组存储,初始情况下仅为每个桶生成一个大小为容忍值长度的数组,当桶内的元组个数超过容忍值T时,再新动态生成一个容忍值长度的数组,填充时填充到当前数组尾部;步骤3、判断当前桶内的元素个数是否大于容忍值T,若大于则转向步骤4建立桶内索引,否则按照普通的哈希散列算法将其散列到桶中,并转向步骤5;步骤4、建立桶内索引:从第一个数据开始,将该数据重新插入到桶中,插入第一条数据记录时,建立第一个索引节点,该节点索引第一条记录位置,当有新的数据进入该桶时,首先查桶内索引链,找到合适的索引节点,从此索引节点索引的的第一个数据位置开始对比找到合适位置后插入,若此索引节点中数据个数count值超过容忍值T时,就从当前插入数据的位置,将这个索引节点一分为二,同时为新的索引节点赋值,该过程反复进行,直到每个索引节点中数据个数均小于容忍值T;步骤5、建立桶内索引数组:当表中所有数据插入完成后,将各个桶的索引节点,按索引数据最小值的顺序存生成该表的索引数组,便于二分法查找;步骤6、匹配连接:建立上述哈希桶后,利用桶内索引,进行匹配连接。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210019277.X/,转载请声明来源钻瓜专利网。