[发明专利]一种大数据索引的排序方法有效
申请号: | 201410040926.3 | 申请日: | 2014-01-28 |
公开(公告)号: | CN103745008A | 公开(公告)日: | 2014-04-23 |
发明(设计)人: | 石冰;韩立新 | 申请(专利权)人: | 河海大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 索引 排序 方法 | ||
技术领域
本发明属于大数据处理的技术领域,特别涉及一种大数据索引的排序方法。
背景技术
大数据来啦!Facebook分享的内容条数达10亿,数据量达到TB数量级。作为传统数据处理的基本技术,排序在大数据时代仍然是十分重要的一个基本操作,与此前不同的是大数据对包括排序算法在内的所有算法的时间复杂性要求不再满足于多项式时间复杂度,甚至像O(N*㏒N)这样的所谓最优的复杂度,它期望达到线性复杂度:Ο(N)。
现代计算机与50年前甚至10多年前的计算机相比已不可同日而语,64位机器已相当普遍,地址空间达到了264,AMD64架构支持52位(4PB)的地址总线和48位(256TB)的虚拟地址空间。DELL机器实际配置的物理内存达96G,标配硬盘容量到了1.5TB,三级缓存也是20年前不可想象的12M。Linux系统的虚拟内存可达实际物理内存的2倍,而内存页面大小可为4M,64位的Linux则分别支持46位(64TB)的物理地址空间和47位(128T)的进程虚拟地址空间,64位的windows7最大支持128G的内存。不同平台上64位的编译器已经很普遍,可以说现代计算机的高性能和高配置为大数据处理带来了方便。
但传统的排序算法并不适合直接移植到现代计算机上来就可以处理大数据。
经典排序算法包括插入排序、选择排序、交换排序、归并排序和分布排序等五个类型。插入排序、选择排序、交换排序、归并排序等这类比较排序都采用“比较”和“移动”两个基本操作,以顺序存储结构存放待排序数据。插入排序在数据量很小时是高效的,但其时间复杂度达到了Ο(N2)。树形选择排序利用前期的工作减少了后期的工作量,其中的堆排序被认为是经典排序算法中最好的,其时间复杂度达到了Ο(N*㏒N),但有比较大的常数因子。交换排序中的快速排序在最坏情况下的时间复杂度达到了Ο(N2),因为它是递归的,在数据量大的时候是不能容忍的。归并排序尽管时间复杂度比较理想,但其空间复杂度达到了Ο(N)。分布排序包括基数排序、计数排序和桶排序等这类所谓线性时间排序,也有其局限性。基数排序采用“分配”和“收集”两个基本操作,按多关键字排序的思想,以每个关键字在其取值范围内的每个值组织一个链表来存储数据,它是针对关键字在一个较小范围内的排序算法。计数排序对关键字的取值范围有限制,即最大元素值小于元素个数,辅存空间大。桶排序是以假设关键字均匀分布为基础。位图算法的限制是排序数不能太大,数据无重复,只能是整数或映射到整数的数据。总之,这些经典的排序算法都不能充分发挥现代计算机的性能,也不适合大数据环境。
以归并为核心的外排序算法因为要多次读、写文件也不适合于大数据环境。即使是在集群上运行的PSRS这类超级快速并行排序算法,因为负载均衡的难题、通信的瓶颈和不可避免的归并等原因其加速效果也有限,原因是并行排序算法也需要合适的内排序算法作基础。在互联网的今天,我们都在说:数据堆积、知识贫乏。信息检索的重要性是不言而喻的,而索引在检索中的重要性则是众所周知,索引的排序是检索的关键操作之一。
现有的排序算法无论是内排序还是外排序抑或是并行排序一方面都没有充分发挥现代计算机的性能,另一方面也难以满足大数据处理的需要。不管将来的集群有多大,也不论“云”有多广,大数据的排序,是大数据分析中的基础工作。利用现代计算机的特点并充分地发挥它的性能,开发在单机上运行的大数据处理的排序算法有其必要性和现实性。
发明内容
发明目的:本发明的目的在于针对现有技术的不足,提供一种有效提高算法效率的大数据索引的排序方法。
技术方案:为了达到上述发明目的,本发明提供一种大数据索引的排序方法,包括以下步骤:
步骤1:根据索引关键字的取值范围将索引初始划分为Size/Alpha个区间,其中,为规模控制参数,Alpha为分布密度差异系数,N为索引项的总数,同时根据索引项的取值范围和划分的区间数平均设定每个区间索引关键字值的上限;
步骤2:根据步骤1中的每个区间索引关键字值的上限创建区间表,所述区间表管理区间的动态划分,每个区间内索引项最多不超过Size个,在每个区间内建立一个用于存放区间内索引项的二叉排序树,并设定二叉排序树的索引项插入方法;这种存储方案便于区间的均衡分裂,实现区间的动态划分;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410040926.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置