[发明专利]哈希分区优化方法和装置在审
申请号: | 201710656815.9 | 申请日: | 2017-08-03 |
公开(公告)号: | CN107633001A | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 刘悦;周一鸣;梁巍;张鑫伟;张蕊;王余涛;朱贵伟;张召才;李金洋;张亚超;张攀;严欢;毛彦淇;及莉;吴之尧;徐映霞;卢波;张扬眉;刘春保;徐冰;刘韬;宋博;龚燃;王帅;李博;付郁;王霄;李侃;何慧东;苑艺;赵琪;袁菁;李帅;肖武平;张晓鹤;宋晶晶;赵爽;郭晓曦;李铁骊;王雪瑶 | 申请(专利权)人: | 北京空间科技信息研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司11240 | 代理人: | 赵囡囡 |
地址: | 100086 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分区 优化 方法 装置 | ||
技术领域
本发明涉及计算机数据处理领域,具体而言,涉及一种哈希分区优化方法和装置。
背景技术
哈希分区通常作为数据部署、动态查询处理的常用策略。它可以在处理数据单元时获得高水平的平行操作和缩短响应时间。在包括哈希连接算法和聚合操作等查询处理算法中,使用哈希分区可以有效地获取中间结果。哈希分区的主要目标可以归纳为用数个较小的子任务替代一个较大的母任务。这样做的优势是通过更高效地利用缓存和内存,缩短处理母任务的时间。在数据库查询处理中,哈希分区是一个十分流行的操作;在进行连接处理和聚类处理中,哈希分区能够提升处理性能;在排序处理中,哈希分区是十分重要的环节。Liu等人设计了一种基于分布式查询处理的哈希分区策略,可以有效缩短查询时间。Shin等人针对固态硬盘提出了一种优化的哈希分区方法,该方法忽略主存储大小或输入/输出块的支撑,实现了优于传统哈希分区方法的结果。
哈希分区(Hash partitioning)又称散列分区,是通过指定分区编号来实现数据均匀分布的一种分区方法,通过在输入/输出设备上进行哈希分区,当数据达到一定规模时,使得这些分区大小近似一致,进而提高整个查询处理的效率。在不需要进行分区加入或删除的情况下,哈希分区可以有效提高查询的效率。但是当需要进行分区加入或删除的时候,传统的哈希分区方法就会出现问题。假设原来是7个常规哈希分区,现在需要合并或者删除一个常规哈希分区,取模算法由mod7变成mod6,原来7个分区中的数据将需要重新计算重新分区。
而对于高度不对称性的数据,例如航天数据,例如虽然中国、俄罗斯、欧洲和印度等国与美国同属航天大国,但由于国力和科技水平的不同,美国的各类航天器数量、制造机构等要远多于等其他国家。这种数据倾斜现象往往会影响到哈希分区等方法的效率,且不能高效地利用多核并行处理器的资源。
针对上述现有技术中由于数据倾斜造成的哈希分区短板效应的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种哈希分区优化方法和装置,以至少解决现有技术中由于数据倾斜造成的哈希分区短板效应的技术问题。
根据本发明实施例的一个方面,提供了一种哈希分区优化方法,包括:获取数据集,其中,数据集包括一个或多个数据;采用数据倾斜优化算法对数据集进行第一次哈希分区,得到第一哈希分区结果;对第一哈希分区结果进行第二次哈希分区,得到第二哈希分区结果。
进一步的,数据集以键值对的形式进行存储,键值对中至少包括键值对对应的编号。
进一步的,采用数据倾斜优化算法对数据集进行第一次哈希分区,得到第一哈希分区结果,包括:使用映射线程对数据集进行第一次哈希分区,得到第一中间哈希分区结果,其中,映射线程用于对键值对对应的编号进行哈希计算,得到哈希计算结果,并将哈希计算结果相同的键值对分配到同一个分区,映射线程为一个或多个;采用数据倾斜优化算法对第一中间哈希分区结果进行优化,得到第一哈希分区结果。
进一步的,采用数据倾斜优化算法对第一中间哈希分区结果进行优化,得到第一哈希分区结果,包括:计算第一中间哈希分区结果的平均分区大小;将第一中间哈希分区结果中分区大小大于平均分区大小的分区结果按照平均分区大小进行拆分。
进一步的,映射线程为多个且每个映射线程都有一个独立存储空间,独立存储空间用于写入键值对,使用映射线程对数据集进行第一次哈希分区包括:监管每个独立存储空间的使用度,当使用度超过预设阈值时,为使用超过预设阈值的独立存储空间分配存储空间。
根据本发明实施例的另一方面,还提供了一种哈希分区优化装置,包括:获取模块,用于获取数据集,其中,数据集包括一个或多个数据;第一分区模块,用于采用数据倾斜优化算法对数据集进行第一次哈希分区,得到第一哈希分区结果;第二分区模块,用于对第一哈希分区结果进行第二次哈希分区,得到第二哈希分区结果。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述哈希分区优化方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述哈希分区优化方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京空间科技信息研究所,未经北京空间科技信息研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710656815.9/2.html,转载请声明来源钻瓜专利网。