[发明专利]多列数据排序方法、装置、可读存储介质和电子设备在审
申请号: | 201910506363.5 | 申请日: | 2019-06-12 |
公开(公告)号: | CN112085644A | 公开(公告)日: | 2020-12-15 |
发明(设计)人: | 谢超;张财;易小萌;郭人通 | 申请(专利权)人: | 上海赜睿信息科技有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06T1/60 |
代理公司: | 北京睿派知识产权代理事务所(普通合伙) 11597 | 代理人: | 刘锋 |
地址: | 200030 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 排序 方法 装置 可读 存储 介质 电子设备 | ||
本发明公开了一种多列数据排序方法、装置、可读存储介质和电子设备,针对不同的数据表确定不同的组合方案,根据选取的组合方案将数据表分为若干列进行排序,减小排序过程的执行开销,同时利用图形处理器的高并发性,在数据分组之后对各个分组中数据进行并行排序。本申请实施例占用内存小,不会造成很大的内存开销,且执行效率高。
技术领域
本发明涉及计算机技术领域,尤其涉及一种多列数据排序方法、装置、可读存储介质和电子设备。
背景技术
多列排序是对一张数据表中的多列数据进行排序的一种技术。目前的多列排序有两种方法。其中第一种方法是将数据表中的所有排序相关列结合成一个键进行排序,这种排序的缺点是一次性导入的数据过大,会造成很大的显存消耗,其次将所有列结合在一起排序的执行过程中判断语句的条件会非常多,尤其在基于图形处理器(GPU)的多键值排序中,会引起分支分歧,造成执行效率非常低下的问题。第二种方法为将数据表中的每一列作为一次输入依次进行排序,所述方法存在的问题是会引入一列索引数组,索引数组中的元素值用于表征数据表中元素在所述数据表中的位置。每当对一列数据进行排序之后都要改变一次索引数组中的数据值。由索引数组引起的额外开销也是不容小觑的。而且排序时只对一列数据进行排序,执行效率并不高。
发明内容
有鉴于此,本发明实施例提供一种多列数据排序方法、装置、可读存储介质和电子设备,旨在对数据表进行排序时将数据表分为若干列进行排序,使排序过程的执行开销最小。
第一方面,本发明实施例提供一种多列数据排序方法,包括:
根据输入的数据表确定组合方案,所述组合方案用于确定数据表的分割方式;
根据所述组合方案将所述数据表分割为至少两个键,其中每个键至少包含数据表中一列数据;
以迭代方式按优先级顺序对所述数据表的所有键进行排序直至所有的键排序完成,其中,在每次迭代中,以上一次迭代后更新的排序信息为基础根据当前迭代对应的键进行排序,所述排序信息用于指示数据表中的数据排序后所在的位置。
进一步地,所述根据输入的数据表确定组合方案包括:
确定候选组合方案,所述候选组合方案表征不同的数据表分割方式;
确定每一种候选组合方案的执行开销,所述执行开销用于表征对应的候选组合方案对所述输入的数据表的排序过程的效率;
根据所述执行开销确定组合方案。
进一步地,所述根据所述组合方案将所述数据表分割为至少两个键包括:
根据设定的优先级对输入的数据表中的列进行排序;
根据所述组合方案将所述排序后的数据表分割为至少两个键。
进一步地,以迭代方式按优先级顺序对所述数据表的所有键进行排序包括:
进入当前迭代,根据当前的排序信息,对当前需要进行排序的键进行排序;
根据排序结果更新排序信息;
进入下一次迭代。
进一步地,所述对当前需要进行排序的键进行排序包括:
根据上一次迭代过程的分组信息确定分组;
在每一个分组内对当前键进行排序并更新排序信息;
根据所述键中相邻行内的元素值关系更新分组信息。
进一步地,所述根据所述键中相邻行内的元素值关系更新分组信息包括:
根据所述键中相邻行内的元素值关系确定对比信息,所述对比信息用于表征每一行的元素值与上一行的元素值是否相同以及所述相邻行是否位于同一分组;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海赜睿信息科技有限公司,未经上海赜睿信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910506363.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置