亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種分布式緩存范圍查詢(xún)方法、裝置及系統(tǒng)的制作方法

文檔序號(hào):9810582閱讀:565來(lái)源:國(guó)知局
一種分布式緩存范圍查詢(xún)方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及分布式緩存,尤其涉及一種分布式緩存范圍查詢(xún)方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002] 分布式緩存,是一種通過(guò)分布式緩存服務(wù)器集群將緩存數(shù)據(jù)以key-value (關(guān)鍵 字-緩存數(shù)據(jù))的形式存儲(chǔ)在內(nèi)存Hash表中的數(shù)據(jù)緩存方式。分布式緩存通過(guò)在內(nèi)存中 緩存數(shù)據(jù)和對(duì)象來(lái)減少訪問(wèn)數(shù)據(jù)庫(kù)的次數(shù),提高了數(shù)據(jù)訪問(wèn)速度。
[0003] 目前,為了支持分布式緩存的范圍查詢(xún),主要通過(guò)在關(guān)系型數(shù)據(jù)庫(kù)中建立支持范 圍查詢(xún)的索引來(lái)實(shí)現(xiàn)對(duì)關(guān)聯(lián)key的范圍查詢(xún)。當(dāng)服務(wù)端收到范圍條件查詢(xún)請(qǐng)求時(shí),通過(guò)關(guān) 系型數(shù)據(jù)庫(kù)的索引,根據(jù)范圍查詢(xún)條件查詢(xún)出符合特定范圍的關(guān)聯(lián)key,再到分布式緩存中 根據(jù)key直接查詢(xún)得到對(duì)應(yīng)的value。
[0004] 但是,由于目前分布式緩存的范圍查詢(xún)需要通過(guò)數(shù)據(jù)庫(kù)索引來(lái)實(shí)現(xiàn),沒(méi)有脫離對(duì) 數(shù)據(jù)庫(kù)的強(qiáng)依賴(lài),查詢(xún)性能相對(duì)較差。

【發(fā)明內(nèi)容】

[0005] 有鑒于此,本申請(qǐng)的目的在于提供一種分布式緩存范圍查詢(xún)方法以在與數(shù)據(jù)庫(kù)完 全解耦的情況下實(shí)現(xiàn)范圍查詢(xún)的目的。
[0006] 在本申請(qǐng)實(shí)施例的第一個(gè)方面,提供了一種分布式緩存范圍查詢(xún)方法。例如,該方 法可以包括:將用于映射緩存數(shù)據(jù)的關(guān)鍵字中,可用于范圍查詢(xún)的字段值對(duì)應(yīng)的標(biāo)識(shí)值,預(yù) 先存儲(chǔ)在內(nèi)存的存儲(chǔ)區(qū)域中,且,為每個(gè)標(biāo)識(shí)值分別建立對(duì)應(yīng)的原始關(guān)鍵字集合,其中,所 述原始關(guān)鍵字集合由包含有該標(biāo)識(shí)值對(duì)應(yīng)的字段值的關(guān)鍵字組成;響應(yīng)于接收到關(guān)系范圍 查詢(xún)請(qǐng)求,其中,所述關(guān)系范圍查詢(xún)請(qǐng)求攜帶至少兩種字段值的指定范圍,以及所述至少兩 種字段值應(yīng)滿(mǎn)足的指定關(guān)系,從所述存儲(chǔ)區(qū)域中查找出所述至少兩種字段值中至少一種字 段值的指定范圍的端點(diǎn)值對(duì)應(yīng)的標(biāo)識(shí)值;根據(jù)所述至少一種字段值的指定范圍的端點(diǎn)值對(duì) 應(yīng)的標(biāo)識(shí)值,查找出所述至少一種字段值的指定范圍內(nèi)的所有標(biāo)識(shí)值對(duì)應(yīng)的原始關(guān)鍵字集 合;從查找出的原始關(guān)鍵字集合中,查找出所述至少兩種字段值滿(mǎn)足所述指定關(guān)系的關(guān)鍵 字,得到所述關(guān)系范圍查詢(xún)請(qǐng)求對(duì)應(yīng)的關(guān)鍵字集合。
[0007] 在本申請(qǐng)實(shí)施例的第二個(gè)方面,提供了一種分布式緩存范圍查詢(xún)裝置。例如,該裝 置可以包括:預(yù)處理單元,用于將用于映射緩存數(shù)據(jù)的關(guān)鍵字中,可用于范圍查詢(xún)的字段值 對(duì)應(yīng)的標(biāo)識(shí)值,預(yù)先存儲(chǔ)在內(nèi)存的存儲(chǔ)區(qū)域中,且,為每個(gè)標(biāo)識(shí)值分別建立對(duì)應(yīng)的原始關(guān)鍵 字集合,其中,所述原始關(guān)鍵字集合由包含有該標(biāo)識(shí)值對(duì)應(yīng)的字段值的關(guān)鍵字組成;查詢(xún)響 應(yīng)單元,用于響應(yīng)于接收到關(guān)系范圍查詢(xún)請(qǐng)求,其中,所述關(guān)系范圍查詢(xún)請(qǐng)求攜帶至少兩種 字段值的指定范圍,以及所述至少兩種字段值應(yīng)滿(mǎn)足的指定關(guān)系,從所述存儲(chǔ)區(qū)域中查找 出所述至少兩種字段值中至少一種字段值的指定范圍的端點(diǎn)值對(duì)應(yīng)的標(biāo)識(shí)值;范圍值獲取 單元,用于根據(jù)所述至少一種字段值的指定范圍的端點(diǎn)值對(duì)應(yīng)的標(biāo)識(shí)值,查找出所述至少 一種字段值的指定范圍內(nèi)的所有標(biāo)識(shí)值對(duì)應(yīng)的原始關(guān)鍵字集合;關(guān)鍵字獲取單元,用于從 查找出的原始關(guān)鍵字集合中,查找出所述至少兩種字段值滿(mǎn)足所述指定關(guān)系的關(guān)鍵字,得 到所述關(guān)系范圍查詢(xún)請(qǐng)求對(duì)應(yīng)的關(guān)鍵字集合。
[0008] 在本申請(qǐng)實(shí)施例的第三個(gè)方面,提供了一種分布式緩存范圍查詢(xún)系統(tǒng)。例如,該系 統(tǒng)可以包括:緩存服務(wù)器,用于存儲(chǔ)與關(guān)鍵字具有映射關(guān)系的緩存數(shù)據(jù),接收查詢(xún)服務(wù)器發(fā) 出的針對(duì)關(guān)鍵字集合對(duì)應(yīng)的緩存數(shù)據(jù)的查詢(xún)請(qǐng)求,向查詢(xún)服務(wù)器反饋關(guān)鍵字集合對(duì)應(yīng)的緩 存數(shù)據(jù)。查詢(xún)服務(wù)器,用于將用于映射緩存數(shù)據(jù)的關(guān)鍵字中,可用于范圍查詢(xún)的字段值對(duì)應(yīng) 的標(biāo)識(shí)值,預(yù)先存儲(chǔ)在內(nèi)存的存儲(chǔ)區(qū)域中,且,為每個(gè)標(biāo)識(shí)值分別建立對(duì)應(yīng)的原始關(guān)鍵字集 合,其中,所述原始關(guān)鍵字集合由包含有該標(biāo)識(shí)值對(duì)應(yīng)的字段值的關(guān)鍵字組成;響應(yīng)于接收 到關(guān)系范圍查詢(xún)請(qǐng)求,其中,所述關(guān)系范圍查詢(xún)請(qǐng)求攜帶至少兩種字段值的指定范圍,以及 所述至少兩種字段值應(yīng)滿(mǎn)足的指定關(guān)系,從所述存儲(chǔ)區(qū)域中查找出所述至少兩種字段值中 至少一種字段值的指定范圍的端點(diǎn)值對(duì)應(yīng)的標(biāo)識(shí)值;根據(jù)所述至少一種字段值的指定范圍 的端點(diǎn)值對(duì)應(yīng)的標(biāo)識(shí)值,查找出所述至少一種字段值的指定范圍內(nèi)的所有標(biāo)識(shí)值對(duì)應(yīng)的原 始關(guān)鍵字集合;從查找出的原始關(guān)鍵字集合中,查找出所述至少兩種字段值滿(mǎn)足所述指定 關(guān)系的關(guān)鍵字,得到所述關(guān)系范圍查詢(xún)請(qǐng)求對(duì)應(yīng)的關(guān)鍵字集合,從所述緩存服務(wù)器中得到 所述關(guān)鍵字集合對(duì)應(yīng)的緩存數(shù)據(jù),將得到的緩存數(shù)據(jù)反饋給發(fā)出所述查詢(xún)請(qǐng)求的客戶(hù)端。 客戶(hù)端,用于向所述查詢(xún)服務(wù)器發(fā)送關(guān)系范圍查詢(xún)請(qǐng)求,接收查詢(xún)服務(wù)器反饋的緩存數(shù)據(jù)。
[0009] 可見(jiàn)本申請(qǐng)具有如下有益效果:
[0010] 由于本申請(qǐng)實(shí)施例將用于映射緩存數(shù)據(jù)的關(guān)鍵字中,可用于范圍查詢(xún)的字段值對(duì) 應(yīng)的標(biāo)識(shí)值,預(yù)先存儲(chǔ)在內(nèi)存的存儲(chǔ)區(qū)域中,且,為每個(gè)標(biāo)識(shí)值分別建立對(duì)應(yīng)的原始關(guān)鍵字 集合,其中,所述原始關(guān)鍵字集合由包含有該標(biāo)識(shí)值對(duì)應(yīng)的字段值的關(guān)鍵字組成,因此,在 接收到關(guān)系范圍查詢(xún)請(qǐng)求后,從所述存儲(chǔ)區(qū)域中查找出指定范圍的端點(diǎn)值對(duì)應(yīng)的標(biāo)識(shí)值的 查詢(xún)可以全部在內(nèi)存中完成,而且,可以根據(jù)所述至少一種字段值的指定范圍的端點(diǎn)值對(duì) 應(yīng)的標(biāo)識(shí)值,查找出所述至少一種字段值的指定范圍內(nèi)的所有標(biāo)識(shí)值對(duì)應(yīng)的原始關(guān)鍵字集 合,從查找出的原始關(guān)鍵字集合中,查找出所述至少兩種字段值滿(mǎn)足所述指定關(guān)系的關(guān)鍵 字,得到所述關(guān)系范圍查詢(xún)請(qǐng)求對(duì)應(yīng)的關(guān)鍵字集合無(wú)需訪問(wèn)數(shù)據(jù)庫(kù),從而實(shí)現(xiàn)了與數(shù)據(jù)庫(kù) 解耦的多級(jí)范圍查詢(xún)。
【附圖說(shuō)明】
[0011] 為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提 下,還可以根據(jù)這些附圖獲得其他的附圖。
[0012] 圖1為本申請(qǐng)一實(shí)施例提供的一種分布式緩存范圍查詢(xún)方法流程示意圖;
[0013] 圖2為本申請(qǐng)實(shí)施例涉及的節(jié)點(diǎn)環(huán)示意圖;
[0014] 圖3為本申請(qǐng)另一實(shí)施例提供的一種分布式緩存范圍查詢(xún)方法流程示意圖;
[0015] 圖4為本申請(qǐng)實(shí)施例涉及的原始關(guān)鍵字集合意圖;
[0016] 圖5為本申請(qǐng)一實(shí)施例提供的一種分布式緩存范圍查詢(xún)裝置結(jié)構(gòu)示意圖;
[0017] 圖6為本申請(qǐng)另一實(shí)施例提供的一種分布式緩存范圍查詢(xún)裝置結(jié)構(gòu)示意圖;
[0018] 圖7為本申請(qǐng)實(shí)施例提供的一種分布式緩存范圍查詢(xún)系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0019] 為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)中的技術(shù)方案,下面將結(jié)合本申請(qǐng)實(shí) 施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施 例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通 技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù) 的范圍。
[0020] 為了使本申請(qǐng)實(shí)施例更加便于理解,首先對(duì)本申請(qǐng)實(shí)施例可能的應(yīng)用場(chǎng)景進(jìn)行舉 例說(shuō)明。例如,本申請(qǐng)實(shí)施例可以應(yīng)用于與用于存儲(chǔ)緩存數(shù)據(jù)的一臺(tái)或多臺(tái)緩存服務(wù)器不 同的單獨(dú)的查詢(xún)服務(wù)器中。其中,緩存服務(wù)器中保存了由酒店ID與日期值組成的關(guān)鍵字與 緩存數(shù)據(jù)的映射。應(yīng)用本申請(qǐng)實(shí)施例提供的方法的查詢(xún)服務(wù)器可以接收針對(duì)酒店ID與日 期值分別在各自指定范圍的"與"/ "或"的關(guān)系范圍查詢(xún)請(qǐng)求,得到與關(guān)系返查詢(xún)請(qǐng)求對(duì) 應(yīng)的關(guān)鍵字集合。例如,可以查詢(xún)出酒店ID在7到32范圍內(nèi)且日期范圍在20140701到 20140731內(nèi)的關(guān)鍵字集合,進(jìn)而可以從多臺(tái)緩存服務(wù)器中取得酒店ID在7到32范圍內(nèi)且 日期范圍在20140701到20140731內(nèi)的關(guān)鍵字對(duì)應(yīng)的緩存數(shù)據(jù)。
[0021] 下面,結(jié)合上述可能的應(yīng)用場(chǎng)景,對(duì)本申請(qǐng)實(shí)施例提供的分布式緩存范圍查詢(xún)方 法及裝置進(jìn)行詳細(xì)說(shuō)明。
[0022] 例如,參見(jiàn)圖1,為本申請(qǐng)實(shí)施例提供的分布式緩存范圍查詢(xún)方法流程示意圖。如 圖1所示,該方法可以包括:
[0023] S110、將用于映射緩存數(shù)據(jù)的關(guān)鍵字中,可用于范圍查詢(xún)的字段值對(duì)應(yīng)的標(biāo)識(shí)值, 預(yù)先存儲(chǔ)在內(nèi)存的存儲(chǔ)區(qū)域中,且,為每個(gè)標(biāo)識(shí)值分別建立對(duì)應(yīng)的原始關(guān)鍵字集合,其中, 所述原始關(guān)鍵字集合由包含有該標(biāo)識(shí)值對(duì)應(yīng)的字段值的關(guān)鍵字組成。
[0024] 例如,為了減少節(jié)點(diǎn)環(huán)中的節(jié)點(diǎn)數(shù)量,提高查詢(xún)效率,可以將所有關(guān)鍵字屬于同一 字段的字段值中重復(fù)的部分剔除,僅將同一字段的取值不同的字段值預(yù)先存儲(chǔ)在內(nèi)存的一 個(gè)存儲(chǔ)區(qū)域中。
[0025] 其中,位于內(nèi)存的存儲(chǔ)區(qū)域的存儲(chǔ)結(jié)構(gòu)不限,例如,可以是單向鏈表、數(shù)組、環(huán)狀鏈 表等。例如,一些可能的實(shí)施方式中,可以將所述關(guān)鍵字中,可用于范圍查詢(xún)的一種字段值 對(duì)應(yīng)的標(biāo)識(shí)值,預(yù)先存儲(chǔ)在位于內(nèi)存的節(jié)點(diǎn)環(huán)(即,環(huán)狀鏈表)中,其中,一種字段值對(duì)應(yīng)一 個(gè)節(jié)點(diǎn)環(huán),一個(gè)標(biāo)識(shí)值對(duì)應(yīng)存儲(chǔ)到節(jié)點(diǎn)環(huán)的一個(gè)節(jié)點(diǎn)中,且為所述節(jié)點(diǎn)環(huán)中的每一節(jié)點(diǎn)建 立對(duì)應(yīng)的路由表,所述路由表記錄了根據(jù)預(yù)置索引算法確定的一個(gè)或多個(gè)其他節(jié)點(diǎn)的標(biāo)識(shí) 值。其中,所述為每個(gè)標(biāo)識(shí)值分別建立對(duì)應(yīng)的原始關(guān)鍵字集合的具體實(shí)現(xiàn)可以為:為每個(gè)存 儲(chǔ)標(biāo)識(shí)值的節(jié)點(diǎn)分別建立對(duì)應(yīng)的原始關(guān)鍵字集合??梢岳斫獾氖?,屬于同一字段的取值不 同的字段值可以認(rèn)為是一種字段值。
[0026] -些可能的實(shí)施方式中,所述預(yù)置索引算法可以為:用一個(gè)路由表來(lái)記錄節(jié)點(diǎn)環(huán) 中與該路由表對(duì)應(yīng)的節(jié)點(diǎn)的標(biāo)識(shí)值間距成2的冪次方關(guān)系的標(biāo)識(shí)值。相應(yīng)的,步驟S110具 體可以為:將關(guān)鍵字中,可用于范圍查詢(xún)的、屬于同一字段的字段值對(duì)應(yīng)的標(biāo)識(shí)值按標(biāo)識(shí)值 大小順序預(yù)先存儲(chǔ)在位于內(nèi)存的一個(gè)節(jié)點(diǎn)環(huán)中,其中,所述路由表記錄了所述節(jié)點(diǎn)環(huán)中與 對(duì)應(yīng)節(jié)點(diǎn)的標(biāo)識(shí)值間距成2的冪次方關(guān)系的標(biāo)識(shí)值。通常而言,由于緩存數(shù)據(jù)中可用于范 圍查詢(xún)的字段值所對(duì)應(yīng)的標(biāo)識(shí)值通常是相差不大的值,路由表中記錄與一節(jié)點(diǎn)的標(biāo)識(shí)值間 距成2的冪次方關(guān)系的標(biāo)識(shí)值對(duì)應(yīng)的節(jié)點(diǎn),可便于后續(xù)的查找,提高
當(dāng)前第1頁(yè)1 2 3 4 5 6 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1