[發明專利]搜索范圍確定的方法、裝置和存儲介質有效
| 申請號: | 201810151598.2 | 申請日: | 2018-02-14 |
| 公開(公告)號: | CN110209663B | 公開(公告)日: | 2023-06-20 |
| 發明(設計)人: | 徐冬;汪龍重 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/245;G06F16/2458 |
| 代理公司: | 北京東方億思知識產權代理有限責任公司 11258 | 代理人: | 賀琳 |
| 地址: | 開曼群島*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 搜索 范圍 確定 方法 裝置 存儲 介質 | ||
本發明公開了一種搜索范圍確定的方法、裝置和存儲介質。該方法包括:將用于搜索數據表的條件表達式轉化為符合搜索要求的一個或者多個子表達式;將轉化的一個或者多個子表達式中具有單調特性的子表達式標記為單調子表達式;獲取數據表的分區區間和單調子表達式的單調區間;判斷分區區間是否在單調區間內;基于判斷結果確定分區區間是否為數據表的搜索范圍。本發明實施例不僅可以減少搜索范圍,而且可以利用復雜的搜索條件實現強大的搜索功能。
技術領域
本發明涉及搜索技術領域,尤其涉及一種搜索范圍確定的方法、裝置和存儲介質。
背景技術
隨著網絡技術的快速發展,數據庫中的數據量隨之急速增多,大數據時代已經來臨。通常數據按區域存儲在數據庫中。在邏輯層,數據可以分為多個分區存放在不同的數據庫表中;在物理層,數據可以分為多個分區存放在不同的數據文件或分布式數據庫節點中。其中,分區是按照相同的公式計算數據內容,從邏輯上或物理上將數據分成多個分區的過程。范圍分區是一種分區方法,這種方法可以保證在連續的分區中,前一個分區的最大值小于當前分區的最小值。
相對于哈希分區搜索的等值過濾方法,范圍分區搜索方法是一種特殊的分區方法,它可以應用更多的過濾條件。例如,范圍分區可以應用范圍過濾,以便實現分區裁剪,從而實現在有效應用范圍內進行數據讀取,進而可以減少底層讀取數據的代價。
現有的范圍分區搜索方法僅支持簡單范圍過濾。例如,在數據庫中,檢索出年齡為10歲的用戶名。
申請人經研究發現,現有的范圍分區搜索方法搜索條件太過局限,而無法利用復雜的搜索條件進行分區搜索。例如,現有方法無法利用嵌套的表達式,例如a+13等,進行分區搜索。現有的范圍分區搜索方法也無法利用非范圍過濾的表達式,例如+,-,abs(取絕對值)等,進行分區搜索。現有的范圍分區搜索方法不僅搜索范圍太大,而且搜索功能較弱。
如何減少搜索范圍,利用復雜的搜索條件實現強大的搜索功能,成為目前亟待解決的技術問題。
發明內容
為了解決不僅檢索范圍太大,而且檢索功能較弱的問題,本發明實施例提供了一種搜索范圍確定的方法、裝置和終端設備。
第一方面,提供了一種搜索范圍確定的方法。該方法包括以下步驟:
將用于搜索數據表的條件表達式轉化為符合搜索要求的一個或者多個子表達式;
將轉化的一個或者多個子表達式中具有單調特性的子表達式標記為單調子表達式;
獲取數據表的分區區間和單調子表達式的單調區間;
判斷分區區間是否在單調區間內;
基于判斷結果確定分區區間是否為數據表的搜索范圍。
第二方面,提供了一種搜索范圍確定的裝置。該裝置包括:表達式轉化組件、表達式標記組件和范圍確定組件,其中:
表達式轉化組件,用于將用于搜索數據表的條件表達式轉化為符合搜索要求的一個或者多個子表達式;
表達式標記組件,用于將轉化的一個或者多個子表達式中具有單調特性的子表達式標記為單調子表達式;
范圍判斷組件,用于判斷分區區間是否在單調區間內;
范圍確定組件,用于基于判斷結果確定分區區間是否為數據表的搜索范圍。
第三方面,提供了一種搜索范圍確定的裝置。該裝置包括:
存儲器,用于存放程序;
處理器,用于執行所述存儲器存儲的程序,所述程序使得所述處理器執行上述各方面所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810151598.2/2.html,轉載請聲明來源鉆瓜專利網。





