[发明专利]带过滤条件的排序方法和用于执行所述方法的装置有效
申请号: | 201510783269.6 | 申请日: | 2015-11-16 |
公开(公告)号: | CN105224697B | 公开(公告)日: | 2018-10-02 |
发明(设计)人: | 袁安峰 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 倪斌 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 过滤 条件 排序 方法 用于 执行 装置 | ||
提供了一种带过滤条件的排序方法,包括:根据过滤条件所需数据量是否受到行号的限制,分析过滤条件并确定过滤条件是否有上限;如果确定过滤条件无上限,则对数据进行全局排序,并基于过滤条件执行过滤;以及如果确定过滤条件有上限,则提取上限,记为K,获取前K个数据并基于过滤条件执行过滤,K为整数。
技术领域
本发明涉及大数据领域,具体地,涉及一种带过滤条件的排序方法和用于执行所述方法的装置。
背景技术
随着信息化的越来越普遍,需要处理的数据量越来越多且所需要的数据处理速度越来越快。
Top N算法是大数据领域常用的一种算法,用于快速从海量数据中获取最符合要求的N条数据。最常用的Top N算法是用最小堆算法实现的。由于使用Top N算法来处理数据不需要对数据进行全局排序,其处理效率是非常高的。
然而,在一些情况下,需要对数据进行排序后取其中一部分数据,即,带过滤条件的排序,例如,取第100条以及200条至300条的数据。在这种情况下,往往使用快速排序算法对数据进行全局排序,并对排序后的结果进行过滤,以便获取所需数据。
此外,Presto是常用的一种纯内存的交互式SQL查询引擎,它具有查询效率高的优点,并且能够跨越包括Hive、MySQL、Kafka在内的多种数据源进行查询。目前,Presto已成功应用于各种互联网公司,诸如Facebook、Netflix、Dropbox、京东等。
当在Presto中进行带过滤条件的排序时,需要将所有数据载入内存并进行全局排序。由于Presto是纯内存式的交互式SQL查询引擎,将所有数据载入内存中并进行全局排序会导致内存占用高,甚至内存溢出、CPU负载过高等问题。
发明内容
为了至少解决上述问题,本发明提供了一种带过滤条件的排序方法和用于执行所述方法的装置,该方法能够以高效地处理带过滤条件的排序,并且具有占用内存小、计算量少等优点。
本发明的示例实施例提供了一种带过滤条件的排序方法,包括:根据过滤条件所需数据量是否受到行号的限制,分析过滤条件并确定过滤条件是否有上限;如果确定过滤条件无上限,则对数据进行全局排序,并基于过滤条件执行过滤;以及如果确定过滤条件有上限,则提取上限,记为K,获取前K个数据并基于过滤条件执行过滤,K为整数。
所述分析过滤条件并确定过滤条件是否有上限包括:分析过滤条件是否与排序后数据的行号相关;如果过滤条件与排序后数据的行号相关,且过滤条件所需数据量受到行号的限制,则确定有上限,将与过滤条件相关的行号中的最大行号值提取作为所述上限K,否则确定无上限。
所述获取前K个数据包括:采用Top N算法来获取前K个数据。
所述对数据进行全局排序包括:采用快速排序算法来对数据进行全局排序。
本发明的示例实施例提供了一种用于实现带过滤条件的排序方法的装置,包括:过滤条件上限提取模块,配置为根据过滤条件所需数据量是否受到行号的限制,分析过滤条件并确定过滤条件是否有上限;排序模块,配置为响应于确定过滤条件无上限对数据进行全局排序,而响应于确定过滤条件有上限,提取上限,记为K,并获取前K个数据;以及过滤器,配置为:基于过滤条件对排序后的数据执行过滤,K为整数。
所述过滤条件上限提取模块配置为:分析过滤条件是否与排序后数据的行号相关;如果过滤条件与排序后数据的行号相关,且过滤条件所需数据量受到行号的限制,则确定有上限,将与过滤条件相关的行号中的最大行号值提取作为所述上限K,否则确定无上限。
所述排序模块配置为:采用Top N算法来获取前K个数据。
所述排序模块还配置为:采用快速排序算法来对数据进行全局排序。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510783269.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高速列车产品元模型的处理方法及装置
- 下一篇:一种东巴文献分类方法