專利名稱:鍵值數據查詢的方法和裝置的制作方法
技術領域:
本申請涉及互聯(lián)網數據處理領域,尤其涉及一種鍵值數據查詢的方法和裝置。
背景技術:
隨著網絡技術和計算機技術的飛速發(fā)展,人們的日常生活中產生著越來越多的數據和信息,如電子消費記錄等需要存儲和保留,以方便用戶查詢留檔?,F(xiàn)有的單機系統(tǒng)對海量數據存儲已不能滿足要求,對鍵值數據查詢更是力不能及,因此對海量鍵值數據的有效管理是一個亟需解決的問題。所述鍵值(Key Value,KV)數據指的是查詢請求信息Key和查詢結果信息Value。圖1為現(xiàn)有技術的單機鍵值數據批量互查系統(tǒng)的方法流程圖。用戶向單機鍵值數據批量互查系統(tǒng)發(fā)送批量查詢請求信息Key,經過單機鍵值數據批量互查系統(tǒng)的查詢,將查詢結果信息Value返回用戶。單機鍵值數據批量互查系統(tǒng)接收到用戶的查詢請求信息后,(I)若查詢請求信息Key是一段文本信息,首先在單機KV系統(tǒng)中查詢標志這段文本信息的標識信息(Identity, ID),若查詢到標志這段文本信息的ID,則將此標志這段文本信息的ID作為查詢結果信息Value返給用戶;若查詢不到標志這段文本信息的ID,則根據消息摘要算法(Message Digest Algorithm, MD5)或是通用唯一識別碼(UniversallyUnique Identifier, UUID)算法把這段文本信息轉成標志這段文本信息的ID并保存在單機KV系統(tǒng)中;然后將這個新生成的ID作為查詢結果信息Value返給用戶。
(2)若查詢請求信息是ID,首先在單機KV系統(tǒng)中查詢此ID所標志的一段文本信息,若查詢到此ID所標志的一段文本信息,則將此ID所標志的一段文本信息作為查詢結果信息Value返給用戶;若查詢不到此ID所標志的一段文本信息,則查詢結果信息Value為空,也就是沒有匹配的文本信息,然后將此查詢結果信息Value發(fā)送給用戶。其中,消息摘要算法(Message Digest Algorithm,MD5)是把一個任意長度的字節(jié)串變換成一定長的大整數。該算法使用的是哈希函數,以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理后,算法的輸出由四個32位分組組成,將這四個32位分組級聯(lián)后將生成一個128位散列值。MD5的結果是128位,4位組成了一個16進制的數字,所以128除以4 = 32個數字,所以MD5有32個字符。標準的UUID格式為:χχχχχχχχ-χχχχ-χχχχ-χχχχ-χχχχχχχχχχχχ(8-4-4-4-12)。每8個字符用相連,這樣有4個相連就得到了 UUID,所以UUID是32+4 =36個字符UUID的目的,是讓分布式系統(tǒng)中的所有元素,都能有唯一的辨識資訊,而不需要透過中央控制端來做辨識資訊的指定。該現(xiàn)有技術的單機鍵值數據互查系統(tǒng),將數據都保存在單機系統(tǒng)上,但是當數據量達到百萬級別時性能就很難再提升,所以該系統(tǒng)缺乏伸縮性。隨著互聯(lián)網的迅速發(fā)展,分布式系統(tǒng)得到了廣泛的應用。圖2A為現(xiàn)有技術的分布式KV數據逐次互查系統(tǒng)的方法流程圖;圖2B為現(xiàn)有技術的分布式KV數據逐次互查系統(tǒng)架構示意圖;用戶向分布式鍵值數據逐次查詢系統(tǒng)發(fā)送批量查詢請求信息Key,經過分布式鍵值數據逐次查詢系統(tǒng)的查詢,將查詢結果信息Value返回用戶。分布式鍵值數據逐次查詢系統(tǒng)接收到用戶的查詢請求信息Key后,(I)查詢請求的信息Key是一段文本信息,根據映射規(guī)則來確定將Key映射到分布式KV系統(tǒng)中對應的服務器。首先在分布式KV系統(tǒng)中對應的服務器上查詢標志這段文本信息的ID,若查詢到標志這段文本信息的ID,則將此標志這段文本信息的ID作為查詢結果Value返給用戶;若查詢不到標志這段文本信息的ID,則在分布式數據庫系統(tǒng)中查詢標志這段文本信息的ID,若查詢到標志這段文本信息的ID,則將此標志這段文本信息的ID作為查詢結果Value返給用戶;若查詢不到標志這段文本信息的ID,則根據MD5或UUID算法把這段文本轉成標志這段文本的ID信息并保存在分布式數據庫系統(tǒng)中,然后將標志這段文本的ID信息作為查詢結果Value發(fā)送給用戶。(2)查詢請求的信息Key是ID,首先在分布式KV系統(tǒng)中查詢此ID所標志的一段文本信息,若查詢到此ID所標志的一段文本信息,則將此ID所標志的一段文本信息作為查詢結果Value用戶;若查詢不到此ID所標志的一段文本信息,則在分布式數據庫系統(tǒng)中查詢此ID所標志的一段文本信息,若查詢到此ID所標志的一段文本信息,則將此ID所標志的一段文本信息作為查詢結果Value用戶;若查詢不到此ID所標志的一段文本信息,則查詢結果Value為空,也就是沒有匹配的文本,然后將此查詢結果Value返給用戶。
其中,到分布式KV系統(tǒng)或到分布式數據庫系統(tǒng)去查詢都需要建立連接,這種連接的創(chuàng)建和銷毀在技術是很耗成本的。現(xiàn)有技術中采用的是“連接池”技術,“連接池”用來緩存已經創(chuàng)建的可用連接的集合,當需要時直接從這個集合中去取。同時為了避免并發(fā)情況下一個連接被多個客戶端取到,要用“鎖”來保持同步,;同理,每次用完要返回連接也要用“鎖”來同步。其中,“鎖”的功能是獨占連接池,查看該連接池的最新情況,其他客戶端只能等到該“鎖”釋放后,才可以得到該“鎖”,從而從連接池中取得連接。這種采用有“鎖”的連接池技術,“鎖”對系統(tǒng)性能有較大影響,使得系統(tǒng)的響應速度很慢,另一個方面是如果忘了返回對象容易造成“內存泄露”。其中,所述“內存泄露”是指被借用的連接沒有歸還,不但導致該連接不能被其他請求使用而且還一直占用內存。該現(xiàn)有技術的分布式鍵值數據逐次查詢方法的缺點是:(I)采用消息摘要算法(Message Digest Algorithm, MD5)或是通用唯一識別碼(Universally Unique Identifier, UUID)作為 ID,使得 ID 的長度太長了,MD5 要用 32 個字符,UUID要用36個字符,所保存的文本信息可能還沒有ID長,這樣浪費了存儲空間;(2)采用MD5或UUID算法產生的ID重復概率達到很低,雖然概率很低,但重復的概率還是有的,本身還是不能保證唯一性;(3)所有的查詢都是逐次查詢的,特別依賴于一次請求的數量,有可能會出現(xiàn)響應很慢的場景,這對于關鍵應用是不允許的。
發(fā)明內容
本申請的目的是,提供一種鍵值數據查詢的方法和裝置。該方法和裝置采用白名單保證了生成標識信息ID的唯一性,采用合并查詢和無鎖連接池使得處理的數據量有很大的增加以及響應時間有很大提聞。為實現(xiàn)上述目的,本申請?zhí)峁┝艘环N鍵值數據查詢的方法,所述方法包括:接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為第一信息;根據所述鍵值數據中攜帶的所述第一信息查詢白名單;當確定所述白名單中沒有查詢到所述第一信息,則將所述第一信息轉換為第一標識信息,并確定多個所述第一標識信息的鍵值服務器;將確定為同一個鍵值服務器的多個所述第一標識信息合并,并向所述鍵值服務器查詢合并的多個所述第一標識信息;當確定所述鍵值服務器中查詢到所述第一標識信息,所述第一標識信息對應的信息為第二信息,并且所述第二信 息與所述第一信息不同,則將所述第一信息轉換為第二標識信息,并將所述第一信息和所述第二標識信息存入白名單,所述第二標識信息為所述第一信息的查詢結果信息;發(fā)送攜帶多個所述查詢結果信息的鍵值數據。本申請還提供了一種鍵值數據查詢的方法,所述方法包括:接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為查詢請求標識信息;根據所述鍵值數據中攜帶的所述查詢請求標識信息查詢白名單;當確定所述白名單中沒有查詢到所述查詢請求標識信息,則確定所述查詢請求標識信息的鍵值服務器;將同一個所述鍵值服務器的多個所述查詢請求標識信息合并,并向所述鍵值服務器查詢合并的多個所述查詢請求標識信息;當確定所述鍵值服務器中查詢到所述查詢請求標識信息,則所述查詢請求標識信息對應的信息為所述查詢請求標識信息的查詢結果信息;發(fā)送攜帶多個所述查詢結果信息的鍵值數據。相應地,本申請還提供一種鍵值數據查詢的裝置,所述裝置包括:接收單元,用于接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為第一信息;白名單查詢單元,用于根據所述鍵值數據中攜帶的所述第一信息查詢白名單;第一標識信息單元,用于當確定所述白名單中沒有查詢到所述第一信息,則將多個所述第一信息生成與多個所述第一信息相對應的多個第一標識信息,并確定多個所述第一標識信息的鍵值服務器;合并單兀,用于將確定為同一個鍵值服務器的多個所述第一標識信息合并,并向所述鍵值服務器查詢合并的多個所述第一標識信息;鍵值服務器查詢單元,用于在鍵值服務器中查詢合并的多個所述第一標識信息;第二標識信息單元,用于當確定所述鍵值服務器中或者數據庫中查詢到所述第一標識信息,所述第一標識信息對應的信息為第二信息,并且所述第二信息與所述第一信息不同,將所述第一信息轉換為第二標識信息,所述第二標識信息為所述第一信息的查詢結果信息;保存單元,用于將所述第一信息和所述第二標識信息存入白名單中;發(fā)送單元,用于發(fā)送攜帶多個所述查詢結果信息的鍵值數據。相應地,本申請還提供一種鍵值數據查詢的裝置,所述裝置包括:接收單元,用于接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為查詢請求標識信息;白名單查詢單元,用于根據所述鍵值數據中攜帶的所述查詢請求標識信息查詢白名單; 合并單元,用于當確定所述白名單中沒有查詢到所述查詢請求標識信息,則確定所述查詢請求標識信息的鍵值服務器,將同一個所述鍵值服務器的多個所述查詢請求標識信息合并,并向所述鍵值服務器查詢合并的多個所述查詢請求標識信息;鍵值服務器查詢單元,用于在鍵值服務器中查詢合并的多個所述查詢請求標識信息,當確定所述鍵值服務器中查詢到所述查詢請求標識信息,則所述查詢請求標識信息對應的信息為所述查詢請求信息的查詢結果信息;發(fā)送單元,用于發(fā)送攜帶多個所述查詢結果信息的鍵值數據。因此,本申請實現(xiàn)了對海量鍵值數據進行高速批量查詢,采用白名單保證了生成標識信息ID的唯一性并采用合并查詢請求信息和無鎖連接池使得處理的數據量有很大的增加以及響應時間有很大提高。
圖1為現(xiàn)有技術的單機鍵值數據批量互查系統(tǒng)的方法流程圖;圖2A為現(xiàn)有技術的分布式鍵值數據逐次互查系統(tǒng)的方法流程圖;圖2B為現(xiàn)有技術的分布式鍵值數據逐次互查系統(tǒng)架構示意圖;圖3為本申請實施例鍵值數據查詢方法應用場景示意圖;圖4為本申請實施例公開的一鍵值數據查詢方法的流程圖;圖5為本申請實施例鍵值數據查詢方法合并所述第一標識信息的示意圖;圖6為本申請實施例公開的另一鍵值數據查詢方法的流程圖;圖7為本申請實施例另一鍵值數據查詢方法合并所述查詢請求標識信息示意圖;圖8為本申請實施例公開的一鍵值數據查詢裝置示意圖;圖9為本申請實施例公開的另一鍵值數據查詢裝置示意圖。
具體實施例方式下面通過附圖和實施例,對本申請的技術方案做進一步的詳細描述。本申請基于分布式結構利用白名單保證了生成標識信息ID的唯一性,以及將用戶發(fā)起的多個指向同一個鍵值服務器的查詢請求信息進行合并,從無鎖連接池中取得連接,并行發(fā)送到鍵值服務器或數據庫中查詢,從而實現(xiàn)了高速的鍵值數據查詢。其中,鍵值(Key Value, KV)數據指的是查詢請求信息Key和查詢結果信息Value。圖3為本申請實施例鍵值數據查詢方法應用場景示意圖。該應用場景包括:海量鍵值數據查詢系統(tǒng)、分布式鍵值系統(tǒng),分布式數據庫系統(tǒng)。其中,分布式鍵值系統(tǒng)中包括η個鍵值服務器。海量鍵值數據查詢系統(tǒng)用于接收攜帶多個查詢請求信息的鍵值數據,并根據查詢請求信息查詢分布式鍵值系統(tǒng)和分布式數據庫系統(tǒng)。其中,查詢請求信息不限于使用文本信息這種類型,還包括其他類型的查詢請求信息,比如圖片信息、視頻信息等;同時也不只限于使用標志文本信息的ID,還包括標志其他類型查詢請求信息的ID。分布式鍵值系統(tǒng)用于保存查詢請求信息以及相應的查詢結果信息,同時接收海量鍵值數據查詢系統(tǒng)的查詢請求信息,并將查詢結果信息返回海量鍵值數據查詢系統(tǒng)。分布式數據庫系統(tǒng)也用于保存查詢請求信息以及相應的查詢結果信息,同時接收海量鍵值數據查詢系統(tǒng)的查詢請求信息,并將查詢結果信息返回海量鍵值數據查詢系統(tǒng)。其中,根據查詢請求信息查詢分布式鍵值系統(tǒng)沒有統(tǒng)一的界面,分布式鍵值系統(tǒng)的查詢速度很快。根據查詢請求信息查詢分布式數據庫系統(tǒng)有統(tǒng)一的界面,即分布式數據庫管理界面,分布式數據庫系統(tǒng)查詢速度比較慢。圖4為本申請實施例公開的一鍵值數據查詢方法的流程圖,如圖所示,本實施例包括如下步驟:具體實現(xiàn)過程如下:步驟401:接收攜帶多個查詢請求信息的鍵值數據。具體地,接收用戶發(fā)送來的攜帶多個查詢請求信息的鍵值數據,查詢請求信息為第一信息。其中,第一信息在本申請實施例中為文本信息,在此稱為第一文本信息。但是,第一信息并不限于使用文本信息這種類型,還包括其他類型的查詢請求信息,比如圖片信息、視頻信息等。步驟402:在白名單中查詢鍵值數據中攜帶的第一文本信息并判斷是否查到第一文本信息。具體地,所述白名單用于保存產生唯一性沖突的第一信息以及標志第一信息的ID。當將第一信息保存到指定鍵值服務器或數據庫時,對同一個鍵值服務器或數據庫按照ID建唯一性約束,這樣不同的第一信息產生了同樣的ID會落在同一個鍵值服務器或數據庫中,從而發(fā)生了唯一性沖突。在本申請實施例中,對于產生唯一性沖突的第一信息,采用調用自增長ID系統(tǒng)獲取一個新的ID,并將該ID與產生唯一性沖突的第一信息保存到白名單中。根據鍵值數據中攜帶的第一文本信息查詢白名單。在白名單中查詢第一文本信息時會出現(xiàn)兩種查詢結果,若查到第一文本信息,則到步驟403,若查不到第一文本信息,則到步驟404。步驟403:將第一文本信息對應的標識信息ID返給用戶。具體地,所述白名單用于保存產生唯一性沖突的第一信息以及標志第一信息的ID。當確定白名單中查詢到第一文本信息,則獲取第一文本信息對應的標識信息ID為查詢結果信息,該標識信息ID用來標志第一信息,并將攜帶多個查詢結果信息的鍵值數據發(fā)送給用戶。所述第一信息可以 為文本信息、圖片信息或視頻信息等類型的信息,比如電子商務網站提供了商品交易的平臺,商品的信息有些是相同的,以衣服為例都有顏色、尺寸、面料這3種屬性,不管是裙子、外套都要寫這些屬性,如果衣服有相同的信息用同一個標識信息ID來表示可以降低容量、快速找到相同特征的服飾,所以系統(tǒng)是以標識信息ID來保存這些信息的。當用戶查看詳細信息時,要根據標識信息ID把具體的信息(比如上述的顏色、尺寸、面料)再顯示出來。步驟404:將第一文本信息轉換成第一標識信息。具體地,當確定白名單中沒有查詢到第一文本信息,則將第一文本信息轉換為第一標識信息,并確定多個第一標識信息的鍵值服務器。第一標識信息為11位標識信息ID,該11位ID標識信息用來標志第一文本信息。其中,將第一文本信息轉換為第一標識信息的具體過程如下:(I)將第一文本信息按照消息摘要算法(Message Digest Algorithm, MD5)算法生成一個128位散列值,共16個字節(jié)。(2)在16個字節(jié)中,取其中的8個字節(jié)共64位,然后再取64位中的60位,最后將該60位分成10段,每6位的數字作為字母表的索引取得特定字符,依次進行獲得10位的標識信息ID。其中,字母表包括英文字符A-Z,a-z,數字0-9,其他字符+和-,共64個字符。(3) 10位標識信息ID+第一標志符=第一標識信息,也就是說第一標識信息是10位標識信息ID與第一標志符之和。其中,第一標志符是自定義的,表明第一標識信息是需要存入鍵值服務器或者數據庫的信息。步驟405:將確定為同一個鍵值服務器的多個第一標識信息合并,并向鍵值服務器查詢合并的多個第一標識信息。
具體過程如下:(I)根據映射規(guī)則確定多個第一標識信息的鍵值服務器,并將確定為同一個鍵值服務器的多個第一標識信息合并,如圖5所示,為本申請實施例鍵值數據查詢方法合并第一標識信息的示意圖。其中,第一標識信息(I)映射到鍵值服務器1,第一標識信息(2)映射到鍵值服務器I,...,第一標識信息(m)映射到鍵值服務器I,由此可見第一標識信息(I)、第一標
識信息(2).....第一標識信息(m)都映射到鍵值服務器1,所以將映射到鍵值服務器I的
用戶查詢請求合并成同一個查詢請求即用戶查詢請求(第一標識信息(I)、第一標識信息
(2).....第一標識信息(m))映射到鍵值服務器I。同理,第一標識信息(η)映射到鍵值服
務η,...,第一標識信息(ζ)映射到鍵值服務器η,所以將映射到鍵值服務器η的用戶查詢請求合并成同一個查詢請求即用戶查詢請求(第一標識信息(η)、...、第一標識信息(Z))映射到鍵值服務器η。還有,根據第一標識信息確定鍵值服務器的映射規(guī)則是采用Mod取余數算法或者一致性哈希Hash算法。該映射規(guī)則用于指定將第一標識信息保存到KV系統(tǒng)中哪一個鍵值服務器上。取余數Mod算法:將第一標識信息除以服務器的數量η得到的余數,這個余數表示提供服務的鍵值服務器的編號。一致性Hash算法:首先求出每個服務器節(jié)點的哈希Hash值,并將其配置到一個0-232圓環(huán)區(qū)間上(如果服務器節(jié)點的數量比較少,那么一個服務器節(jié)點在環(huán)上生成多個映射點即虛擬節(jié)點來增加數量)。其次求出所需要存儲的第一文本信息的第一標識信息,也將其配置到這個圓環(huán)上。然后從數據映射到的位置開始順時針查找,將數據保存到找到的第一個服務節(jié)點上。如果超過232仍然找不到服務器節(jié)點,就會保存到第一個服務器節(jié)點上。一致性哈希算法最大程度的避免了文本信息在服務節(jié)點列表上的重新分布,其他附帶的改進就是有的一致性哈希算法還增加了虛擬服務器節(jié)點的方法,也就是一個服務器節(jié)點在環(huán)上有多個映射點,這樣就能抑制分布不均勻,最大限度地減小服務節(jié)點增減時的緩存重新分布。(2)從無鎖連接池取得連接。無鎖連接池為取連接的合并的多個第一標識信息分配編號,編號標識連接在集合中的索引位置;索引位置的變化通過原子變量更新,如果連接不歸還則強制斷開連接。具體地,該無鎖連接池是不通過加鎖Lock-free這種阻塞的方式來取得的,首先,每一個來取連接的請求都會分配一個“編號”,這個編號是連接在集合中的索引位置;索引位置的變化是通過硬件支持的原子變量(Compare And Set, CAS)來更新,現(xiàn)有的處理器提供了特殊的指令可以自動更新共享數據(提供了原子性的讀-寫-修改操作),而且能夠檢測到其他線程的干擾。該連接是基于“有一個保存連接池的數組,所有的存取操作都是原子性的”,所以不需要加鎖;然后,建立合并的查詢請求與索引位置之間的連接;最后,若建立的連接長時間不歸還,則強制斷開該連接。該無鎖連接池技術不需要保存已被引用的連接,所以即使不歸還連接也不會導致“內存泄露”,但歸還了后被復用性能會很好。其中,“內存泄露”是特指被借用的連接沒有歸還,不但導致該連接不能被其他請求使用而且還一直占用內存。(3)將合并的第一標識信息并行發(fā)送到鍵值服務器做查詢。步驟406:查詢鍵值服務器并判斷是否查詢到第一標識信息。具體地,根據多個第一標識信息查詢鍵值服務器。在鍵值服務器中查詢會出現(xiàn)兩種查詢結果,若查到第一標識信息,則到步驟407,若查不到第一標識信息,則到步驟412。步驟407:將第二文本信息與第一文本信息做比較并判斷是否相同。
具體地,在鍵值服務器上查詢到第一標識信息,第一標識信息對應的文本信息為第二文本信息,將第二文本信息與第一文本信息做比較。若第二文本信息與第一文本信息相同,則到步驟408,若第二文本信息與第一文本信息不同,則到步驟409。步驟408:將第一標識信息返給用戶。具體地,當確定鍵值服務器中查詢到第一標識信息,并且第二文本信息與第一文本信息相同,則第一標識信息為查詢結果信息,并將攜帶多個查詢結果信息的鍵值數據發(fā)送給用戶。步驟409:將第一文本信息轉換為第二標識信息。具體地,當確定鍵值服務器中查詢到第一標識信息,并且第二文本信息與第一文本信息不同,則將第一文本信 息轉換為第二標識信息,該第二標識信息是調用“自增長信息系統(tǒng)”獲得的。其中,將第一文本信息轉換為第二標識信息的具體過程如下:(I)調用“自增長標識信息系統(tǒng)”獲取自增長標識信息。自增長標識信息系統(tǒng)是自增長的,自增長標識信息是“自增長標識信息系統(tǒng)”中的標識信息初始值與一個自定義的自增長值之和。(2)自增長標識信息+第二標志符=第二標識信息,也就是說第二標識信息是自增長標識信息與第二標志符之和。其中,第二標志符是自定義的,表明第二標識信息是需要存入白名單的信息。步驟410:將第二標識信息保存在白名單中。具體地,將第一文本信息和第二標識信息存入白名單。步驟411:將第二標識信息返給用戶。具體地,第二標識信息為查詢結果信息,并將攜帶多個查詢結果信息的鍵值數據發(fā)送給用戶。步驟412:在查詢數據庫查詢第一標識信息并判斷是否查到第一標識信息。具體地,當確定鍵值服務器中沒有查詢到第一標識信息,則在分布式數據庫中查詢第一標識信息。根據多個第一標識信息查詢數據庫。在數據庫中查詢會出現(xiàn)兩種查詢結果,若查詢到第一標識信息,則到步驟416,若沒有查詢到第一標識信息,則到步驟413。步驟413:將第一標識信息保存在鍵值服務器。具體地,當確定數據庫中沒有查詢到第一標識信息,則將第一標識信息和第一文本信息保存到由第一標識信息確定的鍵值服務器中。步驟414:將第一標識信息保存在數據庫。具體地,當確定數據庫中沒有查詢到第一標識信息,則將第一標識信息和第一文本信息保存數據庫中。步驟415:將第一標識信息返給用戶。
`
具體地,第一標識信息為查詢結果信息,并將攜帶多個查詢結果信息的鍵值數據發(fā)送給用戶。步驟416:將第三文本信息與第一文本信息比較并判斷是否相同。具體地,在數據庫上查詢到第一標識信息,第一標識信息對應的文本信息為第三文本信息,將第三文本信息與第一文本信息做比較。若第三文本信息與第一文本信息相同,則到步驟417,若第三文本信息與第一文本信息不同,則到步驟418。步驟417:將第一標識信息返給用戶。具體地,當確定數據庫中查詢到第一標識信息,并且第三文本信息與第一文本信息相同,則第一標識信息為查詢結果信息,并將攜帶多個查詢結果信息的鍵值數據發(fā)送給用戶。步驟418:將第一文本信息轉換為第二標識信息。具體地,當確定數據庫中查詢到第一標識信息,并且第三文本信息與第一文本信息不同,則將第一文本信息轉換為第二標識信息,該第二標識信息是調用“自增長標識信息系統(tǒng)”獲得的。其中,將第一文本信息轉換為第二標識信息的具體過程如下:(I)調用“自增長標識信息系統(tǒng)”獲取自增長標識信息。自增長標識信息系統(tǒng)是自增長的,自增長標識信息是“自增長標識信息系統(tǒng)”中的標識信息初始值與一個自定義的自增長值之和。(2)自增長標識信息+第二標志符=第二標識信息,也就是說第二標識信息是自增長標識信息與第二標志符之和。其中,第二標志符是自定義的,表明第二標識信息是需要存入白名單的信息。
步驟419:將第二標識信息保存到白名單中。具體地,將第一文本信息和第二標識信息存入白名單。步驟420:將第二標識信息返給用戶。具體地,第二標識信息為查詢結果信息,并將攜帶多個查詢結果信息Value的鍵值數據發(fā)送給用戶。因此,本申請實施例公開的一鍵值數據查詢方法,接收用戶發(fā)送來的攜帶多個查詢請求信息Key的鍵值數據,該查詢請求信息為第一文本信息。采用將第一文本信息轉為11位字符的第一標識信息,調用自增長系統(tǒng)將第一文本信息轉為第二標識信息保存在白名單中,從而保證將第一文本信息生成標識信息ID的唯一性,也保證了查詢結果信息的唯一性。將確定為同一個鍵值服務器的多個第一標識信息合并,采用無鎖連接池技術,從無鎖連接池中取得連接。與有“鎖”連接池技術相比,無鎖連接池技術大幅度降低取連接地成本,提高了并發(fā)取連接的性能,加快了該查詢方法的查詢速度。值得指出的,采用將第一文本信息轉為11位字符的第一標識信息,這樣能夠保證不同的第一文本信息生成相同的第一標識信息的概率非常低,只有當保存的數據量達到了I 3億時才可能發(fā)生第一次重復;若出現(xiàn)了不同的第一文本信息生成相同的第一標識信息的情況,采用調用自增長系統(tǒng)將第一文本信息轉為第二標識信息保存在白名單中,從而保證了查詢結果信息的唯一性,使得在百億級別數據量的應用場景下用11個字符能保證生成唯一'I"生的標識信息ID。圖6為本申請實 施例公開的另一鍵值數據查詢方法的流程圖。具體實現(xiàn)過程如下:步驟601:接收攜帶多個查詢請求信息的鍵值數據。具體地,接收用戶發(fā)送來的攜帶多個查詢請求信息的鍵值數據,查詢請求信息為查詢請求標識信息ID。其中,該查詢請求標識信息ID在本申請實施例中為標志文本信息的ID。但是,查詢請求信息并不限于使用標志文本信息的ID,還包括標志其他類型查詢請求信息的ID,比如標志圖片信息、視頻信息等查詢請求信息的ID。步驟602:根據鍵值數據中攜帶的查詢請求標識信息查詢白名單并判斷是否查到查詢請求標識信息。具體地,所述白名單用于保存產生唯一性沖突的第一信息以及標志第一信息的ID0其中,第一信息與標志第一信息的ID是對應的。根據鍵值數據中攜帶的查詢請求標識信息查詢白名單,并在標志第一信息的ID中查找查詢請求標識信息,最后會出現(xiàn)兩種查詢結果,若查到查詢請求標識信息,則到步驟607,若沒有查詢到查詢請求標識信息,則到步驟603。步驟603:將確定為同一個鍵值服務器的多個查詢請求標識信息合并,并向鍵值服務器查詢合并的多個查詢請求標識信息。具體過程如下:(I)根據映射規(guī)則確定多個查詢請求標識信息的鍵值服務器,并將確定為同一個鍵值服務器的多個查詢請求標識信息合并,如圖7所示,為本申請實施例鍵值數據查詢方法合并查詢請求標識信息的示意圖。其中,查詢請求標識信息⑴映射到鍵值服務器1,查詢請求標識信息⑵映射到鍵值服務器1,...,查詢請求標識信息(m)映射到鍵值服務器1,由此可見查詢請求標識信
息(I)、查詢請求標識信息(2).....查詢請求標識信息(m)都映射到鍵值服務器1,所以將
映射到鍵值服務器I的用戶查詢請求合并成同一個查詢請求即用戶查詢請求(查詢請求標
識信息(I)、查詢請求標識信息(2).....查詢請求標識信息(m))映射到鍵值服務器I。同
理,查詢請求標識信息(η)映射到鍵值服務η,...,查詢請求標識信息(ζ)映射到鍵值服務器η,所以將映射到鍵值服務器η的用戶查詢請求合并成同一個查詢請求即用戶查詢請求(查詢請求標識信息(η).....查詢請求標識信息(Z))映射到鍵值服務器η。還有,根據查詢請求標識信息確定鍵值服務器的映射規(guī)則是采用Mod取余數算法或者一致性哈希Hash算法。該映射規(guī)則用于指定將查詢請求標識信息保存到鍵值系統(tǒng)中哪一個鍵值服務器上。取余數Mod算法:將查詢請求標識信息除以服務器的數量η得到的余數,這個余數表示提供服務的鍵值服務器的編號。一致性Hash算法:首先求出每個服務器節(jié)點的哈希Hash值,并將其配置到一個0-232圓環(huán)區(qū)間上(如果服務器節(jié)點的數量比較少,那么一個服務器節(jié)點在環(huán)上生成多個映射點即虛擬節(jié)點來增加數量)。其次將查詢請求標識信息也將其配置到這個圓環(huán)上。然后從數據映射到的位置開始順時針查找,將數據保存到找到的第一個服務節(jié)點上。如果超過232仍然找不到服務器節(jié)點,就會保存到第一個服務器節(jié)點上。一致性哈希算法最大程度的避免了文本在服務節(jié)點列表上的重新分布,其他附帶的改進就是有的一致性哈希算法還增加了虛擬服務器節(jié)點的方法,也就是一個服務器節(jié)點在環(huán)上有多個映射點,這樣就能抑制分布不均勻,最大限度地減小服務節(jié)點增減時的緩存重新分布。(2)從無鎖連接池取得連接。無鎖連接池為取連接的合并的多個查詢請求標識信息分配編號,編號標識連接·在集合中的索引位置;索引位置的變化通過原子變量更新,如果連接不歸還則強制斷開連接。具體地,該無鎖連接池是不通過加鎖Lock-free這種阻塞的方式來取得的,首先,每一個來取連接的請求都會分配一個“編號”,這個編號是連接在集合中的索引位置;索引位置的變化是通過硬件支持的原子變量(Compare And Set, CAS)來更新,現(xiàn)有的處理器提供了特殊的指令可以自動更新共享數據(提供了原子性的讀-寫-修改操作),而且能夠檢測到其他線程的干擾。該連接是基于“有一個保存連接池的數組,所有的存取操作都是原子性的”,所以不需要加鎖;然后,建立合并的查詢請求與索引位置之間的連接;最后,若建立的連接長時間不歸還,則強制斷開該連接。該無鎖連接池技術不需要保存已被引用的連接,所以即使不歸還連接也不會導致“內存泄露”,但歸還了后被復用性能會很好。其中,“內存泄露”是特指被借用的連接沒有歸還,不但導致該連接不能被其他請求使用而且還一直占用內存。(3)將合并的查詢請求標識信息并行發(fā)送到鍵值服務器做查詢。步驟604:查詢鍵值服務器并判斷是否查到查詢請求標識信息。具體地,根據多個查詢請求標識信息查詢鍵值服務器。在鍵值服務器中查詢會出現(xiàn)兩種查詢結果,若查到查詢請求標識信息,則到步驟607,若沒有查到查詢請求標識信息,則到步驟605。步驟605:在查詢數據庫查詢查詢請求標識信息并判斷是否查到查詢請求標識信
肩、O
具體地,當確定鍵值服務器中沒有查詢到查詢請求標識信息,則在分布式數據庫中查詢查詢請求標識信息。根據多個查詢請求標識信息查詢數據庫。在數據庫中查詢會出現(xiàn)兩種查詢結果,若查到查詢請求標識信息,則到步驟607,若沒有查到查詢請求標識信息,則到步驟606。步驟606:將查詢結果信息為空信息返給用戶。具體地,在分布式數據庫中沒有查詢到查詢請求標識信息,則返回用戶的查詢結果信息是空信息,也就是表明沒有查詢到匹配的文本信息。步驟607:將查詢請求標識信息對應的文本信息返給用戶。具體地,在白名單、鍵值服務器和數據庫的任何一個中查詢到查詢請求標識信息,則將查詢請求標識信息對應的文本信息為查詢請求信息Key對應的查詢結果信息,該文本信息是用戶查詢請求標識信息所標志的唯一的一段文本信息,并將攜帶多個查詢結果信息的鍵值數據發(fā)送給用戶。因此,本申請實施例公開的另一鍵值數據查詢方法,接收攜帶多個查詢請求信息的鍵值數據,查詢請求信息為ID,查詢結果信息為文本信息;而本申請實施例公開的一鍵值數據查詢方法中,查詢請求信息為文本信息,查詢結果信息為唯一的ID。由此可見,本申請實施例公開的兩種方法可以實現(xiàn)對查詢請求信息的互查。圖8為本申請實施例公開的一鍵值數據查詢裝置示意圖,如圖所示,本實施例具體包括:接收單元10、白名單查詢單元11、第一標識信息單元12、合并單元13、鍵值服務器查詢單元14、第二標識信息單元15、保存單元16和發(fā)送單元17。接收單元10用于接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為第一信息。其中,第一信息在本申請實施例中為文本信息,在此稱為第一文本信息。但是,第一信息并不限于使用文本信息這種類型,還包括其他類型的查詢請求信息,比如圖片信息、視頻信息等。白名單查詢單元11用于根據鍵值數據中攜帶的第一文本信息查詢白名單。第一標識信息單元12用于當確定白名單中沒有查詢到第一文本信息,則將多個第一文本信息生成與多個第一文本信息相對應的多個第一標識信息,并確定多個第一標識信息的鍵值服務器。合并單兀13用于將確定為同一個鍵值服務器的多個第一標識信息合并,并向鍵值服務器查詢合并的多個第一標識信息;鍵值服務器查詢單元I 4用于在鍵值服務器中查詢合并的多個第一標識信息。第二標識信息單元15用于當確定鍵值服務器中或者數據庫中查詢到第一標識信息,并且第一標識信息對應的文本信息與第一文本信息不同時,將第一文本信息生成第二標識信息。保存單兀16用于將第一文本信息和由第一文本信息生成的第二標識信息存入白名單中。發(fā)送單元17用于發(fā)送攜帶多個查詢結果信息的鍵值數據。因此,本申請實 施例公開的一鍵值數據查詢裝置,接收用戶發(fā)送來的攜帶多個查詢請求信息Key的鍵值數據,該查詢請求信息為第一文本信息。采用11位字符將第一文本信息轉為第一標識信息,調用自增長系統(tǒng)將第一文本信息轉為第二標識信息保存在白名單中,從而保證將第一文本信息生成ID的唯一性,也保證了查詢結果信息的唯一性。將確定為同一個鍵值服務器的多個第一標識信息合并,采用無鎖連接池技術,從無鎖連接池中取得連接。與有“鎖”連接池技術相比,無鎖連接池技術大幅度降低取連接地成本,提高了并發(fā)取連接的性能,縮短了該裝置的響應時間,提高了該裝置的查詢速度。值得指出的,采用將第一文本信息轉為11位字符的第一標識信息,這樣能夠保證不同的第一文本信息生成相同的第一標識信息的概率非常低,只有當保存的數據量達到了13億時才可能發(fā)生第一次重復;若出現(xiàn)了不同的第一文本信息生成相同的第一標識信息的情況,采用調用自增長系統(tǒng)將第一文本信息轉為第二標識信息保存在白名單中,從而保證了該裝置的查詢結果信息的唯一性,并使得該裝置在十億級別數據量的應用場景下用11個字符能保證生成唯一性的標識信息ID。圖9為本申請實施例公開的另一鍵值數據查詢裝置示意圖如圖所示,本實施例具體包括:接收單元10、白名單查詢單元11、合并單元12、鍵值服務器查詢單元13和發(fā)送單元14。接收單元10用于接收攜帶多個查詢請求信息的鍵值數據,其中,查詢請求信息為查詢請求標識信息,該查詢請求標識信息在本申請實施例中為標識文本信息的ID。但是,查詢請求信息不只限于使用標志文本信息的ID,還包括標志其他類型查詢請求信息的ID,比如標志圖片信息、視頻信息等查詢請求信息的ID。白名單查詢單元11用于根據鍵值數據中攜帶的查詢請求標識信息查詢白名單。合并單元12用于當確定白名單中沒有查詢到查詢請求標識信息,則確定查詢請求標識信息的鍵值服務器;將同一個鍵值服務器的多個查詢請求標識信息合并,并向鍵值服務器查詢合并的多個查詢請求標識信息。鍵值服務器查詢單元I 3用于在鍵值服務器中查詢合并的多個查詢請求標識信息;當確定鍵值服務器中查詢到查詢請求標識信息,則查詢請求標識信息對應的文本信息為查詢請求信息對應的查詢結果信息。發(fā)送單元14用于發(fā)送攜帶多個查詢結果信息的鍵值數據。因此,本申請實施例公開的另一鍵值數據查詢裝置,接收攜帶多個查詢請求信息的鍵值數據,查詢請求信息為ID,查詢結果信息為文本信息,而本申請實施例公開的一鍵值數據查詢裝置,查詢請求信息為文本信息,查詢結果信息為唯一的ID。由此可見,本申請實施例公開的兩種裝置可以實現(xiàn)對查詢請求信息的互查??傊旧暾垖嵤├_的鍵值數據查詢的方法和裝置實現(xiàn)了對海量鍵值數據進行高速批量查詢,采用白名單保證了生成ID的唯一性并采用合并查詢和無鎖連接池使得處理的數據量有很大的增加以及響應時間有很大提高。專業(yè)人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本申請的范圍。結合本申 請中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。以上所述的具體實施方式
,對本申請的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式
而已,并不用于限定本發(fā)明的保護范圍,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請的保護范圍 之內。
權利要求
1.一種鍵值數據的查詢方法,其特征在于,所述方法包括: 接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為第一信息; 根據所述鍵值數據中攜帶的所述第一信息查詢白名單; 當確定所述白名單中沒有查詢到所述第一信息,則將所述第一信息轉換為第一標識信息,并確定多個所述第一標識信息的鍵值服務器; 將確定為同一個鍵值服務器的多個所述第一標識信息合并,并向所述鍵值服務器查詢合并的多個所述第一標識信息; 當確定所述鍵值服務器中查詢到所述第一標識信息,所述第一標識信息對應的信息為第二信息,并且所述第二信息與所述第一信息不同,則將所述第一信息轉換為第二標識信息,并將所述第一信息和所述第二標識信息存入白名單,所述第二標識信息為所述第一信息的查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
2.根據權利要求1所述的鍵值數據查詢的方法,其特征在于,所述根據所述鍵值數據中攜帶的所述第一信息查詢白名單后還包括: 當確定所述白名單中查詢到所述第一信息,則獲取所述第一信息對應的標識信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
3.根據權利要求1所述的鍵值數據查詢的方法,其特征在于,所述向所述鍵值服務器查詢合并的多個所述第一標識信息后還包括: 當確定所述鍵值服務器中查`詢到所述第一標識信息,并且所述第一標識信息對應的所述第二信息與所述第一信息相同,則所述第一標識信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
4.根據權利要求1所述的鍵值數據查詢的方法,其特征在于,所述向所述鍵值服務器查詢合并的多個所述第一標識信息后還包括: 當確定所述鍵值服務器中沒有查詢到所述第一標識信息,則在分布式數據庫中查詢所述第一標識信息; 當確定所述數據庫中查詢到所述第一標識信息,所述第一標識信息對應的信息為第三信息,并且所述第三信息與所述第一信息不同,則將所述第一信息轉換為第二標識信息,并將所述第一信息和所述第二標識信息存入白名單,所述第二標識信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
5.根據權利要求4所述的鍵值數據查詢的方法,其特征在于,所述在分布式數據庫中查詢所述第一標識信息后還包括: 當確定所述數據庫中查詢到所述第一標識信息,并且所述第一標識信息對應的所述第三信息與所述第一信息相同,所述第一標識信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
6.根據權利要求4所述的鍵值數據查詢的方法,其特征在于,所述在分布式數據庫中查詢所述第一標識信息后還包括: 當確定所述數據庫中沒有查詢到所述第一標識信息,則將所述第一標識信息和所述第一信息分別保存到由第一標識信息確定的鍵值服務器和分布式數據庫中,所述第一標識信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
7.根據權利要求1所述的鍵值數據查詢的方法,其特征在于,所述第一信息轉換為所述第一標識信息具體包括: 將第一信息按照消息摘要算法生成一個128位散列值,共16個字節(jié); 取其中8個字節(jié)中的60位分成10段,每6位的數字作為字母表的索引取得特定字符,依次進行獲得10位的標識信息; 所述10位的標識信息與所述第一標志符之和組成所述第一標識信息。
8.根據權利要求1所述的鍵值數據查詢的方法,其特征在于,所述第一信息轉換為所述第二標識信息具體包括: 調用自增長標識信息系統(tǒng)獲取自增長標識信息; 所述自增長標識信息與所述第二標志符之和組成所述第二標識信息。
9.根據權利要求1所述的鍵值數據查詢的方法,其特征在于,所述向所述鍵值服務器查詢合并的多個所述第一標識信息是通過從無鎖連接池中獲取與所述鍵值服務器的連接后,在所述連接上向所述鍵值服務器發(fā)起所述查詢合并的多個所述第一標識信息中,其中 所述無鎖連接池為取連接的合并的多個所述第一標識信息分配編號,所述編號標識所述連接在集合中的索引位置,所述索引位置的變化通過原子變量更新,如果所述連接不歸還則強制斷開所述連接?!?br>
10.一種鍵值數據查詢的方法,其特征在于,所述方法包括: 接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為查詢請求標識信息; 根據所述鍵值數據中攜帶的所述查詢請求標識信息查詢白名單; 當確定所述白名單中沒有查詢到所述查詢請求標識信息,則確定所述查詢請求標識信息的鍵值服務器; 將同一個所述鍵值服務器的多個所述查詢請求標識信息合并,并向所述鍵值服務器查詢合并的多個所述查詢請求標識信息; 當確定所述鍵值服務器中查詢到所述查詢請求標識信息,則所述查詢請求標識信息對應的信息為所述查詢請求標識信息的查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
11.根據權利要求10所述的鍵值數據查詢的方法,其特征在于,還包括: 當確定所述白名單中查詢到所述查詢請求標識信息,所述查詢請求標識信息對應的信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
12.根據權利要求10所述的鍵值數據查詢的方法,其特征在于,還包括: 當確定所述鍵值服務器中沒有查詢到所述查詢請求標識信息,則在分布式數據庫查詢所述查詢請求標識信息; 當確定所述數據庫中查詢到所述查詢請求標識信息,所述查詢請求標識信息對應的信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
13.根據權利要求12所述的鍵值數據查詢的方法,其特征在于,還包括: 當確定所述數據庫中沒有查詢到所述查詢請求標識信息,則空信息為所述查詢結果信息; 發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
14.根據權利要求10所述的鍵值數據查詢的方法,其特征在于, 所述向所述鍵值服務器查詢合并的多個所述查詢請求標識信息是通過從無鎖連接池中獲取與所述鍵值服務器的連接后,在所述連接上向所述鍵值服務器發(fā)起所述查詢合并的多個所述查詢請求標識信息中,其中 所述無鎖連接池為取連接的合并的多個所述查詢請求標識信息分配編號,所述編號標識所述連接在集合中的索引位置,所述索引位置的變化通過原子變量更新,若所述連接不歸還則強制斷開所述連接。
15.一種鍵值數據查詢的裝置,其特征在于,所述裝置包括: 接收單元,用于接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為第一信息; 白名單查詢單元,用于根據所述鍵值數據中攜帶的所述第一信息查詢白名單; 第一標識信息單元,用于當確定所述白名單中沒有查詢到所述第一信息,則將多個所述第一信息生成與多個所述第一信息相對應的多個第一標識信息,并確定多個所述第一標識信息的鍵值服務器; 合并單兀,用于將確定為同一個鍵值服務器的多個所述第一標識信息合并,并向所述鍵值服務器查詢合并的多個所述第一標識信息; 鍵值服務器查詢單元,用于在鍵值服務器中查詢合并的多個所述第一標識信息; 第二標識信息單元,用于當確定所述鍵值服務器中或者數據庫中查詢到所述第一標識信息,所述第一標識信息對應的信息為第二信息,并且所述第二信息與所述第一信息不同,將所述第一信息轉換為第二標識信息,所述第二標識信息為所述第一信息的查詢結果信息; 保存單元,用于將所述第一信息和所述第二標識信息存入白名單中; 發(fā)送單元,用于發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
16.一種鍵值數據查詢的裝置,其特征在于,所述裝置包括: 接收單元,用于接收攜帶多個查詢請求信息的鍵值數據,所述查詢請求信息為查詢請求標識信息; 白名單查詢單元,用于根據所述鍵值數據中攜帶的所述查詢請求標識信息查詢白名單; 合并單元,用于當確定所述白名單中沒有查詢到所述查詢請求標識信息,則確定所述查詢請求標識信息的鍵值服務器,將同一個所述鍵值服務器的多個所述查詢請求標識信息合并,并向所述鍵值服務器查詢合并的多個所述查詢請求標識信息; 鍵值服務器查詢單元,用于在鍵值服務器中查詢合并的多個所述查詢請求標識信息,當確定所述鍵值服務器中查詢到所述查詢請求標識信息,則所述查詢請求標識信息對應的信息為所述查詢請求信息的查詢結果信息; 發(fā)送單元,用于發(fā)送攜帶多個所述查詢結果信息的鍵值數據。
全文摘要
本申請涉及一種鍵值數據查詢的方法和裝置。該方法包括接收攜帶多個查詢請求信息的鍵值數據;根據第一信息查詢白名單;當確定沒有查詢到第一信息,則將第一信息轉換為第一標識信息,并確定多個第一標識信息的鍵值服務器;將確定為同一個鍵值服務器的多個第一標識信息合并,并查詢鍵值服務器;當確定查詢到第一標識信息,并且第二信息與第一信息不同,則將第一信息轉換為第二標識信息,并存入白名單;發(fā)送攜帶多個查詢結果信息的鍵值數據。因此,本申請實現(xiàn)了對海量鍵值數據進行高速批量查詢,采用白名單保證了生成標識信息ID的唯一性并采用合并查詢請求信息和無鎖連接池使得處理的數據量有很大的增加以及響應時間有很大提高。
文檔編號G06F17/30GK103246659SQ20121002486
公開日2013年8月14日 申請日期2012年2月6日 優(yōu)先權日2012年2月6日
發(fā)明者金偉 申請人:阿里巴巴集團控股有限公司