[發(fā)明專利]一種數(shù)據(jù)的查詢方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201710796412.4 | 申請(qǐng)日: | 2017-09-06 |
| 公開(公告)號(hào): | CN110019292B | 公開(公告)日: | 2021-05-04 |
| 發(fā)明(設(shè)計(jì))人: | 徐文華 | 申請(qǐng)(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號(hào): | G06F16/242 | 分類號(hào): | G06F16/242;G06F16/2455 |
| 代理公司: | 北京中博世達(dá)專利商標(biāo)代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù) 查詢 方法 裝置 | ||
本申請(qǐng)實(shí)施例公開了一種數(shù)據(jù)的查詢方法及裝置,涉及計(jì)算機(jī)技術(shù)領(lǐng)域,解決了由于在Redis緩存系統(tǒng)中增加復(fù)雜條件的索引鍵以及與該索引鍵對(duì)應(yīng)的對(duì)象記錄導(dǎo)致數(shù)據(jù)量倍增的問題。具體方案為:數(shù)據(jù)的查詢裝置獲取查詢請(qǐng)求,并根據(jù)該查詢請(qǐng)求中的對(duì)象標(biāo)識(shí)符、字段標(biāo)識(shí)符,以及預(yù)存的第一對(duì)應(yīng)關(guān)系,獲取M個(gè)索引字段中每個(gè)索引字段的索引類型,且在M個(gè)索引字段中存在索引字段的索引類型為非唯一索引的情況下,數(shù)據(jù)的查詢裝置根據(jù)每個(gè)索引字段的索引鍵和緩存中存儲(chǔ)的索引,獲取與每個(gè)索引鍵對(duì)應(yīng)的主鍵值集合,并根據(jù)與每個(gè)索引鍵對(duì)應(yīng)的主鍵值集合和緩存中存儲(chǔ)的主鍵值以及與主鍵值對(duì)應(yīng)的對(duì)象記錄,獲取目標(biāo)記錄集合。本申請(qǐng)實(shí)施例用于查詢數(shù)據(jù)的過程中。
技術(shù)領(lǐng)域
本申請(qǐng)實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)的查詢方法及裝置。
背景技術(shù)
在客戶關(guān)系管理(customer relationship management,CRM)系統(tǒng)頻繁訪問數(shù)據(jù)庫(oracle)的情況下,會(huì)由于數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)量較大、需要經(jīng)常訪問硬盤文件使得查詢性能下降。為了提升查詢性能,考慮到緩存通過內(nèi)存進(jìn)行高速數(shù)據(jù)交換,因此可以將頻繁訪問的數(shù)據(jù)存儲(chǔ)在緩存中,以便可以從緩存中快速查詢到數(shù)據(jù)。
Redis是一種具有索引鍵(key)和索引值(value)結(jié)構(gòu),且支持基于索引鍵查詢的緩存系統(tǒng),例如,索引鍵為對(duì)象的主鍵,用于唯一標(biāo)識(shí)一條對(duì)象記錄,索引值為該主鍵對(duì)應(yīng)的對(duì)象記錄。這樣,在Redis緩存系統(tǒng)中便可以基于主鍵查詢到對(duì)象記錄。但是,在實(shí)際的查詢場景中,通常除了基于主鍵的查詢外,還會(huì)存在基于復(fù)雜條件的查詢,如基于非主鍵的查詢、多條件的查詢、非等值的查詢等。此時(shí),對(duì)于復(fù)雜條件的查詢,便無法在Redis緩存系統(tǒng)中查詢到對(duì)象記錄,只能通過訪問數(shù)據(jù)庫來查詢滿足復(fù)雜條件的對(duì)象記錄,這樣會(huì)導(dǎo)致查詢性能下降。
在現(xiàn)有技術(shù)中,可以在Redis緩存系統(tǒng)中增加基于復(fù)雜條件的索引鍵以及與該索引鍵對(duì)應(yīng)的對(duì)象記錄來支持復(fù)雜條件的查詢,但是這樣會(huì)由于復(fù)雜條件的組合較多導(dǎo)致數(shù)據(jù)量倍增。例如,假設(shè)有10個(gè)對(duì)象,在基于主鍵查詢的情況下,緩存中僅需有10條記錄,但是在基于兩個(gè)字段查詢的情況下,每個(gè)字段各有10個(gè)值,那么將這兩個(gè)字段的字段值合并后作為索引鍵便會(huì)有100種組合,即Redis緩存系統(tǒng)中會(huì)有100條記錄。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提供一種數(shù)據(jù)的查詢方法及裝置,解決了由于在Redis緩存系統(tǒng)中增加復(fù)雜條件的索引鍵以及與該索引鍵對(duì)應(yīng)的對(duì)象記錄導(dǎo)致數(shù)據(jù)量倍增的問題。
為達(dá)到上述目的,本申請(qǐng)采用如下技術(shù)方案:
第一方面,本申請(qǐng)?zhí)峁┮环N數(shù)據(jù)的查詢方法,該方法包括:數(shù)據(jù)的查詢裝置獲取包括有對(duì)象標(biāo)識(shí)符、N個(gè)字段中每個(gè)字段的字段標(biāo)識(shí)符和字段值的查詢請(qǐng)求,并根據(jù)該查詢請(qǐng)求中的對(duì)象標(biāo)識(shí)符、N個(gè)字段中每個(gè)字段的字段標(biāo)識(shí)符,以及預(yù)存的第一對(duì)應(yīng)關(guān)系,獲取N個(gè)字段包括的M個(gè)索引字段中每個(gè)索引字段的索引類型。且數(shù)據(jù)的查詢裝置在判斷出M個(gè)索引字段中存在索引字段的索引類型為非唯一索引的情況下,根據(jù)每個(gè)索引字段的索引鍵和緩存中存儲(chǔ)的索引,獲取與每個(gè)索引鍵對(duì)應(yīng)的主鍵值集合,并根據(jù)與每個(gè)索引鍵對(duì)應(yīng)的主鍵值集合和緩存中存儲(chǔ)的主鍵值以及與主鍵值對(duì)應(yīng)的對(duì)象記錄,獲取目標(biāo)記錄集合。其中,N為大于0的整數(shù),M為小于或等于N的正整數(shù),第一對(duì)應(yīng)關(guān)系中可以包括對(duì)象標(biāo)識(shí)符、字段標(biāo)識(shí)符以及索引類型,該對(duì)象標(biāo)識(shí)符可以對(duì)應(yīng)至少一個(gè)字段標(biāo)識(shí)符,字段標(biāo)識(shí)符與索引類型一一對(duì)應(yīng),索引類型包括唯一索引和非唯一索引。索引字段的索引鍵包括對(duì)象標(biāo)識(shí)符、該索引字段的字段標(biāo)識(shí)符和字段值,索引包括索引鍵以及與索引鍵對(duì)應(yīng)的主鍵值集合。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710796412.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(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ù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(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è)備、數(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)裝置
- 帶有前處理和后處理的數(shù)據(jù)庫復(fù)合查詢系統(tǒng)及方法
- 數(shù)據(jù)庫查詢的方法和系統(tǒng)
- 查詢系統(tǒng)、查詢終端以及查詢方法
- 交易信息查詢方法、查詢裝置及查詢系統(tǒng)
- 數(shù)據(jù)查詢與結(jié)果生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 在RDF數(shù)據(jù)集上進(jìn)行OPTIONAL查詢的方法及存儲(chǔ)介質(zhì)
- 一種多表關(guān)聯(lián)查詢方法、裝置及設(shè)備
- 一種基于Impala的查詢方法和裝置
- 從查詢生成子查詢
- 一種基于通用查詢語言的查詢方法及查詢系統(tǒng)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





