[發明專利]一種數據排序方法、裝置、終端設備及存儲介質在審
| 申請號: | 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.szxzyx.cn/pat/books/201911381012.2/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





