[發(fā)明專利]一種非關系型數(shù)據(jù)庫的數(shù)據(jù)查詢方法和裝置有效
| 申請?zhí)枺?/td> | 201210214550.4 | 申請日: | 2012-06-27 |
| 公開(公告)號: | CN103514201B | 公開(公告)日: | 2017-05-03 |
| 發(fā)明(設計)人: | 毛世杰;張俊 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京鑫媛睿博知識產(chǎn)權代理有限公司11297 | 代理人: | 龔家驊 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 關系 數(shù)據(jù)庫 數(shù)據(jù) 查詢 方法 裝置 | ||
1.一種非關系型數(shù)據(jù)庫的數(shù)據(jù)查詢方法,其特征在于,預先建立實體表中預設的字段對應的索引表,所述索引表中記錄有實體表中各元組在所述預設的字段中的二進制存儲值按照預設轉換規(guī)則轉換得到的索引值,以及對應的實體表主鍵,所述索引表中的各元組按照記錄的索引值的字典順序排列,所述預設轉換規(guī)則為所述索引值的字典順序和所述二進制存儲值對應的實際值的大小順序一致,該方法包括:
接收條件查詢指令,所述條件查詢指令中攜帶有至少一個查詢條件以及每個查詢條件的目標查詢字段;
根據(jù)所述預設轉換規(guī)則,對各查詢條件中的條件值進行轉換;
根據(jù)各查詢條件的目標查詢字段對應的各索引表中索引值的排列順序,查詢所述各索引表中符合經(jīng)過條件值轉換后的查詢條件的索引值,確定在所述各索引表中對應的索引值都符合相應的查詢條件的實體表主鍵,并根據(jù)確定出的實體表主鍵,在所述實體表中獲取對應的查詢值。
2.如權利要求1所述的方法,其特征在于,所述預設轉換規(guī)則,具體為:
當所述字段的數(shù)據(jù)類型為整型時,對符號位進行取反;
當所述字段的數(shù)據(jù)類型為浮點型時,對正數(shù)的符號位進行取反,對負數(shù)的所有位進行取反。
3.如權利要求1所述的方法,其特征在于,當所述條件查詢指令中攜帶有一個查詢條件時,所述根據(jù)各查詢條件的目標查詢字段對應的各索引表中索引值的排列順序,查詢所述各索引表中符合經(jīng)過條件值轉換后的查詢條件的索引值,確定在所述各索引表中對應的索引值都符合相應的查詢條件的實體表主鍵,并根據(jù)確定出的實體表主鍵,在所述實體表中獲取對應的查詢值,具體為:
根據(jù)經(jīng)過條件值轉換后的查詢條件,以及該查詢條件的目標查詢字段對應的索引表中的各索引值的排列順序,對該索引表中的索引值進行查詢,確定符合所述經(jīng)過條件值轉換后的查詢條件的索引值;
獲取查詢到的索引值對應的實體表主鍵;
根據(jù)獲取到的實體表主鍵,在所述實體表中獲取對應的查詢值。
4.如權利要求1所述的方法,其特征在于,當所述條件查詢指令中攜帶有多個查詢條件時,所述根據(jù)各查詢條件的目標查詢字段對應的各索引表中索引值的排列順序,查詢所述各索引表中符合經(jīng)過條件值轉換后的查詢條件的索引值,確定在所述各索引表中對應的索引值都符合相應的查詢條件的實體表主鍵,并根據(jù)確定出的實體表主鍵,在所述實體表中獲取對應的查詢值,具體為:
步驟A,根據(jù)經(jīng)過條件值轉換后的各查詢條件,以及各查詢條件的目標查詢字段對應的各索引表中索引值的排列順序,分別對所述各索引表中的索引值進行查詢,確定所述各索引表中符合相應的查詢條件的索引值;
步驟B,分別在所述各索引表中獲取查詢到的索引值對應的實體表主鍵,建立與所述各索引表對應的主鍵集合;
步驟C,根據(jù)所述多個查詢條件之間的關系,對獲取到的各主鍵集合進行相應的集合運算,獲取經(jīng)過集合運算后得到的主鍵集合中包含的實體表主鍵;
步驟D,根據(jù)獲取到的實體表主鍵,在所述實體表中獲取對應的查詢值。
5.如權利要求4所述的方法,其特征在于,還包括:預先將實體表主鍵按照順序劃分為多個主鍵區(qū)間;
步驟A還包括:將在所述各索引表中查詢到的索引值按照其對應的實體表主鍵的順序進行排序;將第一主鍵區(qū)間作為基準主鍵區(qū)間;建立查詢值集合,所述查詢值集合的初始狀態(tài)為空;
步驟B具體為:分別在所述各索引表中獲取查詢到的索引值對應的實體表主鍵中在所述基準主鍵區(qū)間內的實體表主鍵,建立與所述各索引表對應的主鍵集合;
步驟D還包括:將獲取到的查詢值并入到所述查詢值集合中;判斷所述查詢值集合中包含的查詢值的數(shù)目是否達到預設數(shù)目閾值;如果是,則將所述查詢值集合中的查詢值作為查詢結果;否則,如果所述基準主鍵區(qū)間為最后一個主鍵區(qū)間,則將所述查詢值集合中的查詢值作為查詢結果,如果所述基準主鍵區(qū)間不是最后一個主鍵區(qū)間,則將所述基準主鍵區(qū)間的下一個主鍵區(qū)間作為基準主鍵區(qū)間,并轉至步驟B。
6.如權利要求5所述的方法,其特征在于,所述將獲取到的查詢值并入到查詢值集合中之前,還包括:
判斷獲取到的查詢值是否滿足所述條件查詢指令中攜帶的所有查詢條件,刪除不滿足所有查詢條件的查詢值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210214550.4/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設備及存儲介質
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結構
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





