[發明專利]索引構建方法和JSON數據查詢方法在審
| 申請號: | 202010521663.3 | 申請日: | 2020-06-10 |
| 公開(公告)號: | CN111797095A | 公開(公告)日: | 2020-10-20 |
| 發明(設計)人: | 肖孝云;潘岳;張清偉;胡進;鄭博文;張浩然 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2455 |
| 代理公司: | 北京東方億思知識產權代理有限責任公司 11258 | 代理人: | 趙秀芹 |
| 地址: | 開曼群島*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 索引 構建 方法 json 數據 查詢 | ||
1.一種索引構建方法,其中,所述方法包括:
獲取目標JSON數據;
對所述目標JSON數據進行解析,得到具有原始數據類型的第一目標數據,所述第一目標數據包括第一關鍵字和所述第一關鍵字對應的第一值;
基于預先建立的值類型與索引構建方式的對應關系,以及所述第一值的值類型,確定目標索引構建方式;
基于所述目標索引構建方式,構建所述第一值對應的目標索引,所述目標索引與所述第一關鍵字關聯,所述目標索引用于指示所述目標JSON數據的存儲位置。
2.根據權利要求1所述的方法,其中,所述對所述目標JSON數據進行解析,得到具有原始數據類型的第一目標數據之后,所述方法還包括:
將預設字段作為所述第一關鍵字的索引,所述預設字段用于指示所述目標JSON數據中存在所述第一關鍵字。
3.根據權利要求1所述的方法,其中,所述預先建立的數據類型與索引構建方式的對應關系包括以下至少一種對應關系:
數值類型與多維點數據索引構建方法的對應關系、字符串類型與倒排索引構建方法的對應關系以及布爾類型與位圖索引構建方法的對應關系。
4.一種JSON數據查詢方法,其中,所述方法包括:
獲取查詢請求,所述查詢請求包括查詢目標和查詢條件,所述查詢條件包括第一目標關鍵字以及所述第一目標關鍵字對應的第一目標值;
根據所述第一目標關鍵字、所述第一目標值和所述查詢目標,從內存中存儲的JSON數據進行數據查找,得到第一查詢結果;
從所述第一目標關鍵字關聯的索引數據中,篩選出與所述第一目標值對應的第一目標索引;
根據所述第一目標索引和所述查詢目標,從磁盤中存儲的JSON數據中得到第二查詢結果。
5.根據權利要求4所述的方法,其中,所述根據所述第一目標關鍵字、所述第一目標值和所述查詢目標,從內存中存儲的JSON數據中進行數據查找,得到第一查詢結果,包括:
對于內存中存儲的每個JSON數據,執行下述操作:
對所述JSON數據進行解析,得到具有原始數據類型的第二目標數據,所述第二目標數據包括第二關鍵字和第二關鍵字對應的值;
在所述JSON數據中存在與所述第一目標關鍵字匹配的第二關鍵字,且與所述第一目標關鍵字匹配的第二關鍵字對應的值與所述第一目標值相匹配的情況下,從所述JSON數據中查找與所述查詢目標匹配的第一查詢結果。
6.根據權利要求4所述的方法,其中,所述查詢目標包括第二目標關鍵字和所述第二目標關鍵字對應的第二目標值;
其中,所述根據所述第一目標索引和所述查詢目標,從磁盤中存儲的JSON數據中進行數據查找,得到第二查詢結果,包括:
從所述第二目標關鍵字關聯的索引數據中,篩選出與所述第二目標值對應的第二目標索引;
基于所述第一目標索引和所述第二目標索引,從磁盤中存儲的JSON數據中查詢與所述查詢目標對應的第二查詢結果。
7.根據權利要求6所述的方法,其中,所述查詢請求包括多個具有邏輯關系的查詢條件;
其中,所述從所述第一目標關鍵字關聯的索引數據中,篩選出與所述第一目標值對應的第一目標索引,包括:
對于每個所述第一目標關鍵字,從所述第一目標關鍵字關聯的索引數據中,篩選出與所述第一目標值對應的第一目標索引;
其中,所述基于所述第一目標索引和所述第二目標索引,從磁盤中存儲的JSON數據中查詢與所述查詢目標對應的第二查詢結果,包括:
基于每個所述查詢條件之間的邏輯關系,對每個所述第一目標索引進行數據處理,得到第三目標索引;
基于所述第三目標索引和所述第二目標索引,從磁盤中存儲的JSON數據中查詢與所述查詢目標對應的第二查詢結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010521663.3/1.html,轉載請聲明來源鉆瓜專利網。





