[发明专利]一种数据排序方法、装置、终端设备及存储介质在审
申请号: | 201911381012.2 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111198851A | 公开(公告)日: | 2020-05-26 |
发明(设计)人: | 刘贺 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F16/14 | 分类号: | G06F16/14;G06F16/33;G06F16/172 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 300450 天津市滨海新区经济技术开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 排序 方法 装置 终端设备 存储 介质 | ||
本发明提供了一种数据排序方法、装置、终端设备及存储介质。所述方法,包括:根据数据查询条件,获取目标文件中符合数据查询条件的数据的第一数量;根据所述第一数量,以及预设的临界记录值,获取所述数据查询条件的数据排序方案;根据数据排序方案,获取满足所述数据查询条件的目标数据,并对所述目标数据进行排序。从而可以根据文件内数据命中的数量决定采用何种方式进行查询排序,从而在避免由于文件内命中数据过多而导致的磁盘读取性能问题的同时,避免了由于文件内命中数据过少将列数据全部读取至内存而导致的整体处理时间的上升及内存消耗的问题。取得了在数据查询排序过程中提高磁盘读取性能与耗时及内存消耗之间的平衡性的有益效果。
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据排序方法、装置、终端设备及存储介质。
背景技术
目前,对于采用Lucene存储数据的系统,对于单个文件实现条件查询并排序有两种方法:1、将文件内数据全部读入内存,再进行数据过滤及排序;2、基于查询条件获取所有命中的数据,然后基于所有命中的数据进行排序。
但是,对于第一种方法,由于要把相应单个文件所在列的整列数据全部读取至内存,对资源的消耗较大,并且在当前文件中的命中数据较少时,即获取命中数据的时间开销小于将所有数据加载至内存的时间开销,则此种做法既耗时间又耗资源(内存);对于第二种方法,主要时间开销取决于基于条件查找文件的磁盘开销,当文件内含有大量结果时,由于排序查询针对的是文件内的所有数据,故需要获取所有数据后才能进行排序,这样会产生大量的磁盘IO(Input/Output,输入/输出),进而会导致总体查询时间较慢。由此可见,上述两种数据排序方法无法同时兼顾磁盘读取性能,以及整体处理时间和内存消耗。
发明内容
本发明实施例提供一种数据排序方法、装置、终端设备及存储介质,以解决现有的数据排序方法无法同时兼顾磁盘读取性能,以及整体处理时间和内存消耗的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种数据排序方法,包括:
根据数据查询条件,获取目标文件中符合所述数据查询条件的数据的第一数量;
根据所述第一数量,以及预设的临界记录值,获取所述数据查询条件的数据排序方案;
根据所述数据排序方案,获取满足所述数据查询条件的目标数据,并对所述目标数据进行排序。
可选地,在所述根据所述第一数量,以及预设的临界记录值,获取所述数据查询条件的数据排序方案的步骤之前,还包括:
获取从磁盘加载一列数据所耗费的第一平均时间,以及从磁盘中获取任一查询数据的第二平均时间;
根据所述第一平均时间和所述第二平均时间,获取所述临界记录值。
可选地,在所述获取从磁盘加载一列数据所耗费的第一平均时间,以及从磁盘中获取任一查询数据的第二平均时间的步骤之前,还包括:
清除当前进行数据排序的操作系统中的文件系统缓存。
可选地,所述根据数据查询条件,获取目标文件中符合所述数据查询条件的数据的第一数量的步骤,包括:
通过调用搜索函数接口执行基本查询,获取所述目标文件中满足所述数据查询条件的全部目标数据的数据标识;
统计所述数据标识的数量,作为所述第一数量。
可选地,所述根据所述第一数量,以及预设的临界记录值,获取所述数据查询条件的数据排序方案的步骤,包括:
响应于所述第一数量小于所述临界记录值,确认所述数据查询条件的数据排序方案为通过排序接口的排序查询;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911381012.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置