新四季網

實現實時檢索的方法、系統和伺服器的製作方法

2023-12-07 02:38:26

專利名稱:實現實時檢索的方法、系統和伺服器的製作方法
技術領域:
本發明涉及資料庫技術領域,更具體地說,涉及一種實現實時檢索的方 法、系統和伺服器。
背景技術:
關係型資料庫管理系統(RDBMS)通過數據、關係和對數據的約束三者 組成的數據模型來存放和管理數據。在實際應用方面,許多企業的在線交易 處理系統、內部財務系統、客戶管理系統等大多採用了關係型資料庫管理系 統。
隨著信息技術的飛速發展,數據處理不僅在數量上要求越來越大,而且 在質量上也要求越來越高,隨著熱門網站訪問數量的激增,對資料庫本身的 存儲機制、大量並發用戶的使用需求、存儲空間的使用效率等方面都提出了 更高要求。但為靜態應用而設計的關係型資料庫管理系統,並沒有經過針對 高效事物處理而進行的優化過程,在對Web的事物處理過程中,沒有達到預 期的效果。因為用關係型資料庫的二維表數據模型,在數據需要做報表輸出 時,要反過來將已分散設置的大量二維數據表利用索引等技術進行表的連接 後,才能找到全部所需的數據,而這又勢必影響到應用系統的響應速度。
同時,關係型資料庫不能有效地應對大量並發用戶的訪問,這就迫使用 戶增加更多的資料庫伺服器等硬體投資,來解決關係型資料庫的性能問題, 但這樣無疑增加了企業的運營成本。目前,為了解決關係型資料庫在Web應 用方面的性能劣勢, 一些網際網路公司藉助了緩存技術和搜索《1擎技術來減少 對資料庫的壓力,但這些措施又降低了數據檢索、顯示的實時性,而隨著 Web2.0的發展,對數據增加、刪除、修改和檢索的要求又近乎實時。除此之 外,現有的內存對象緩存系統,比如Memcached,由於所有數據都是存放在 內存中的,而一旦發生伺服器斷電、重啟,或Memcached程序重啟,均會導 致存放在內存中的數據丟失。針對上述關係型資料庫存在的問題,現有的Key-Value哈希資料庫具有讀 寫速度快的優點,其讀寫速度可以達到關係型資料庫的幾十倍甚至上百倍。 但是,它不能像關係型資料庫一樣實現複雜條件查詢,因此,對於實現全文 檢索,該種資料庫存在嚴重缺陷。

發明內容
有鑑於此,本發明實施例提供一種實現實時檢索的方法、系統和伺服器, 以解決現有的資料庫無法進行實時的複雜條件查詢的問題。 本發明實施例是這樣實現的
一種實現實時檢索的方法,將Key-Value哈希資料庫進行擴展,形成關係 型資料庫結構之後,包括步驟
接收客戶端發送的攜帶有Key-Value數據的消息,根據所述消息向內存對 象緩存和所述擴展後的Key-Value ,哈希資料庫寫入數據;
接收客戶端發送的查詢命令,並根據所述查詢命令進行檢索。
所述將Key-Value哈希資料庫進行擴展包括
將所述Key-Value 口合希凝:據庫中的每一組Key和Value分別對應不同的 Name,所述Name對應關係型資料庫二維結構中行或列的名稱。
所述向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據包

提取所述消息中的Key、 Value值;
將所述Key、 Value值分別寫入所述內存對象緩存和所述擴展後的 Key-Value哈希資料庫中。
所述向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據之 後,還包括建立或更新全文檢索的反向索引。
當所述查詢命令為複雜條件的查詢命令時,所述才艮據所述查詢命令進行 牙企索包括
根據所述查詢命令和全文檢索的反向索引,獲取符合條件的Key; 通過所獲取的Key ,查詢所述Key所對應的Value ^直。
6當所述查詢命令為簡單主鍵的查詢命令時,所述根據所述查詢命令進行
檢索包括
才艮據查詢命令中攜帶的Key,查詢所述Key所對應的Value值。 所述查詢所述Key所對應的Value值包括
在內存對象緩存中對所述Key進行查詢,當所述內存對象緩存中存在所 述Key ,則獲取所述Key對應的Value值。
所述查詢所述Key所對應的Value值包括
在內存對象緩存中對所述Key進行查詢,當所述內存對象緩存中不存在 所述Key,則在所述Key-Value哈希資料庫中對所述Key進行查詢,並獲取 所述Key對應的Value值。
獲取所述Key對應的Value值之後進一步包括將所述Key和其所對應 的Value值寫入內存對象緩存。
一種實現實時檢索的系統,包括
Key-Value哈希資料庫單元,用於寫入Key-Value數據,並對所述 Key-Value數據以關係型數據結構進行存儲,接到查詢命令後,從中讀取數據;
內存對象緩存單元,用於寫入Key-Value數據,並對所述Key-Value數據 進行存儲,接到查詢命令後,從中讀取數據。
其中,還進一步包括
全文檢索單元,用於根據所寫入的Key-Value數據,建立或更新全文糹企索 的反向索引,在接到複雜條件的查詢命令後,從中獲取符合查詢條件的Key。 一種實現實時檢索的系統,包括客戶端和伺服器,其中 客戶端,用於發送攜帶有Key-Value數據的消息或查詢命令; 伺服器,用於接收攜帶有Key-Value數據的消息,根據所述消息向內存對 象緩存和所述擴展後的Key-Value ,哈希資料庫寫入數據,或者, 用於接收查詢命令,根據所述查詢命令進行;險索。 一種實現實時檢索的伺服器,包括
接收單元,用於接收攜帶有Key-Value數據的消息或查詢命令;數據寫入單元,用於根據接收單元接收到的攜帶有Key-Value數據的消 息,向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據; 檢索單元,用於根據接收單元接收到的查詢命令進行檢索。 所述數據寫入單元包括
提取單元,用於提取所述攜帶有Key-Value數據的消息中的Key、 Value
值;
內存對象寫入單元,用於將所述提取單元提取出的Key、 Value值寫入內 存對象緩存;
Key-Value哈希資料庫寫入單元,用於將所述提取單元提取出的Key、 Value值寫入Key-Value 口合希資料庫。
當所述接收單元接收到的查詢命令為簡單主鍵的查詢命令時,所述檢索 單元包括
Value獲取單元,用於根據所接收到的查詢命令中攜帶的Key,查詢得到 該Key所只於應的Value ^直。
其中,伺服器還包括全文檢索建立單元,用於建立或更新全文^r索的 反向索引;
當所述接收單元接收到的查詢命令為複雜條件的查詢命令時,所述檢索 單元包括
Key獲取單元,用於根據接收到的查詢命令和所述全文檢索的反向索引, 獲取符合條件的Key;
Value獲耳又單元,用於根據所獲取的Key,查詢得到該Key所對應的Value值。
與現有技術相比,本發明實施例提供的技術方案具有以下優點和特點 本發明具體實施例通過為內存對象緩存增加Key-Value悽t據庫,作為持久化存 儲,使得在檢索過程中,能夠實現高並發訪問下快速讀寫資料庫中的數據, 並保證數據的不丟失。同時又對Key-Value資料庫進行擴展,使該資料庫形成 關係型資料庫的結構,能夠進行複雜條件的查詢。


為了更清楚地說明本發明實施例或現有^l支術中的技術方案,下面將對實 施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講, 在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明具體實施例所涉及的一種實現實時^r索的方法流程圖; 圖2為本發明具體實施例所涉及的一種實現實時檢索的系統結構圖; 圖3為本發明具體實施例所涉及的一種實現實時檢索的伺服器結構圖; 圖4為本發明具體實施例所涉及的另 一種實現實時^r索的系統結構圖; 圖5為本發明具體實施例所涉及的數據寫入方法流程圖; 圖6為本發明具體實施例所涉及的擴展後的Key-Value哈希資料庫的結構
圖7為本發明具體實施例所涉及的複雜條件的查詢方法流程圖; 圖8為本發明具體實施例所涉及的簡單主鍵查詢方法流程圖。
具體實施例方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行 清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而 不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做 出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明具體實施例提供了一種實現實時檢索的方法,具體流程如圖1所

步驟101:將Key-Value哈希資料庫進行擴展,形成關係型資料庫結構。 步驟102:接收客戶端發送的攜帶有Key-Value數據的消息,才艮據所述消
息向內存對象緩存和所述擴展後的Key-Value ,哈希資料庫寫入數據。
由於有可能在數據檢索階段,接收到複雜條件的查詢命令,因此,還可
以根據所寫入的Key-Value數據建立或更新全文檢索的反向索引。
步驟103:接收客戶端發送的查詢命令,並根據所述查詢命令進行檢索。 此步驟中,由於查詢命令有用於進行全文檢索的複雜條件的查詢命令和
簡單主鍵查詢命令,因此,查詢方式上也將存在一定差別。當收到的查詢命
9令為複雜條件的查詢命令時,要通過事先建立的全文檢索的反向索引來進行
相關數據的檢索;而當收到的查詢命令為簡單主鍵查詢命令時,可直接根據
查詢命令到內存對象緩存中進行相關數據的檢索。
相應地,本發明具體實施例還提供了一套實現實時檢索的系統,具體結
構如圖2所示,該系統包括客戶端201 ,用於發送攜帶有Key-Value數據的 消息或查詢命令;伺服器202,用於接收攜帶有Key-Value數據的消息,根據 所述消息向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據,或 者,用於接收查詢命令,根據所述查詢命令進行檢索。 其中,伺服器具體結構如圖3所示,包括
接收單元301,用於接收攜帶有Key-Value數據的消息或查詢命令; 數據寫入單元302,用於根據接收單元接收到的攜帶有Key-Value數據的 消息,向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據; 該單元可進一步包括
提取單元用於提取所述攜帶有Key-Value數據的消息中的Key、 Value
值;
內存對象寫入單元用於將所述提取單元提取出的Key、 Value值寫入內 存對象緩存;
Key-Value哈希資料庫寫入單元,用於將所述提取單元提取出的Key、 Value值寫入Key-Value哈希資料庫。
檢索單元303,用於根據接收單元接收到的查詢命令進行檢索。
鑑於可能存在複雜條件的查詢,相應地,該系統還可包括全文檢索建 立單元,用於建立或更新全文檢索的反向索引。針對複雜條件的查詢,檢索 單元303還可進一步包括
Key獲取單元,用於根據接收到的查詢命令和所述全文檢索的反向索引, 獲取符合條件的Key;
Value獲取單元,用於根據所獲取的Key,查詢得到該Key所對應的Value值。
而針對簡單主鍵的查詢,檢索單元303隻需包括Value獲取單元即可。
10另外,本發明具體實施例還提供了另外一套實現實時檢索的系統,具體
結構如圖4所示,該系統包括Key-Value哈希資料庫單元401和內存對象緩存 單元402。其中,Key-Value哈希資料庫單元401用於Key-Value數據的寫入, 並對所述Key-Value數據以關係型數據結構進行存儲,接到查詢命令後,從中 讀取數據;內存對象緩存單元402,用於Key-Value悽t據的寫入,並對所述 Key-Value數據進行存儲,接到查詢命令後,從中讀取數據。
針對複雜條件的查詢,該系統還可包括全文糹企索單元403,用於根據所寫 入的Key-Value數據,建立或更新全文檢索的反向索引,在接到複雜條件的查 詢命令後,從中獲取符合查詢條件的Key。
下面,結合以上方法、系統以及具體的應用場景,對本發明啦文進一步的 詳細說明,具體步驟如圖5所示
步驟501:對普通Key-Value哈希資料庫進行擴展,形成關係型資料庫中 表與欄位的結構。 ~.
在該步驟中,將Key-Value p合希資料庫進行擴展,形成如圖6所示的結構, 其中, 一組Key和Value分別對應不同的Name,該Name即對應關係型凝:據 庫二維結構中行或列的名稱。在該資料庫中,數據的寫入和讀取仍按照普通 Key-Value哈希資料庫中Key來進行。
在資料庫的基本模式建立完成後,需要進行數據的寫入工作,具體流程 如下所示
步驟502:客戶端應用程式將攜帶有Key-Value數據和寫入命令的消息提 交給伺服器端。
在該步驟中,客戶端應用程式首先通過TCP/UDP協議與伺服器端通信, 而具體採用面向連接的TCP協議還是無連接的UDP協議,可以根據實際應用 來進行選擇,在此並不做特殊規定,並將相關數據和寫入命令提交給伺服器 端後,伺服器端相應地在網絡通信層進行接收。
步驟503:在伺服器端,網絡通信層在接收到數據後,將該數據交給控制 層處理。
ii在該步驟中,伺服器端的控制層首先對接收到的數據進行分析,並相應
地提耳又寫入命令、Key值和Value值。
步驟504:控制層將提取出來的Key值和Value值寫入內存對象緩存單元。
在該步驟中,寫入內存的數據以哈希模式進行存放。
步驟505:控制層將Key值和Value值寫入擴展的Key-Value哈希資料庫 單元。
步驟506:控制層將每一組"Name、 Value"分別更新到實時全文檢索單
元中的反向索引中,完成全文檢索索引的實時更新。
其中,反向索引是一種索引結構,在全文檢索方面,該索引存儲了單詞 與單詞自身在一個或多個文檔中所在位置之間的映射。
至此,數據寫入流程全部完成。
在用戶對信息進行查詢時,需要從資料庫中讀取相關數據,其中數據的 讀耳又流程如下所示,對於普通用戶來說,在查詢過程中,用戶只知道要查詢 的關鍵字,而對於該關鍵字所對應的Key,則無法直接獲取,需要通過相關 查詢進行獲取,該種查詢可以認為是複雜條件的查詢;而對於資料庫工作人 員來說,在查詢過程中,可以直接輸入攜帶有Key的查詢命令,則該種查詢 被認為是簡單主鍵查詢。針對上述兩種查詢方式,分別做具體說明。首先對 複雜條件查詢進行說明,具體流程如圖7所示
步驟701:客戶端將查詢命令提交給伺服器端。
在該步驟中,客戶端應用程式首先通過TCP/UDP協議與伺服器端通信, 而具體採用面向連接的TCP協議還是無連接的UDP協議,可以4艮據實際應用 來進行選擇,在此並不做特殊規定,並將查詢命令提交給伺服器端後,服務 器端相應地在網絡通信層進行接收。
步驟702:在伺服器端,網絡通信層在接收到查詢命令後,將該查詢命令 交給控制層處理。
在該步驟中,控制層根據接收到的查詢命令,分析該次查詢屬於複雜條 件查詢還是簡單主鍵查詢。如果查詢命令中未攜帶有查詢對象所對應的Key, 則認為該次查詢屬於複雜條件查詢,進入步驟703。
1步驟703:控制層將該次查詢命令發送至實時全文才企索單元,由全文檢索 單元進行相關信息的查詢。
該步驟中,根據查詢命令中攜帶的查詢對象和實時全文檢索單元中所建 立的反向索引,獲取查詢對象所對應的Key。
步驟704:實時全文檢索單元進行查詢後,將符合條件的Key值返回給 控制層。
步驟705:控制層接收從實時全文檢索單元返回的Key值,並將該Key 值交給內存對象緩存單元,以進行查詢。
步驟706-步驟707:內存對象緩存單元根據所接收到的Key值進行查詢, 並判斷內存對象緩存中是否有該Key值。
在該步驟中,存在兩種查詢結果,當在內存對象緩存單元中查詢到了該 Key值,則進入步驟707;如果查詢後,該Key值並沒有被儲存於內存對象緩 存單元中,則進入步驟711。其中,內存對象緩存單元中沒有該Key值,可 能是由於伺服器斷電、重啟或者是程序的重啟造成的內存中數據丟失。
步驟708:內存對象緩存單元將Key值對應的Value值返回給控制層。
步驟709:控制層將所接收到的Value值返回給網絡通信層。
步驟710:網絡通信層將該Value值通過網絡返回給客戶端應用程式。
步驟711:內存對象緩存單元返回給控制層空信息。
步驟712:控制層將Key值在發送給擴展後的Key-Value哈希資料庫,以 進行查詢。
步驟713: Key-Value哈希資料庫根據所接收到的Key值進行查詢,並將 查詢到的Key值對應的Value值返回給控制層。
在該步驟之後,控制層一方面需要將查詢結果返回給網絡通信層,並且 之後的流程如步驟709至步驟710所示。另一方面,由於內存對象緩存單元 中數據產生了丟失,因此,控制層需要將其進行更新和補充,如步驟714所 示。
步驟714:控制層將從Key-Value哈希資料庫讀耳又出的Key和Value值寫 入到內存對象緩存單元中,以進行內存對象緩存單元數據的及時更新和補充。至此, 一個複雜條件的查詢過程全部結束。對於前面所提到的簡單主鍵
的查詢,其具體流程如下所示
步驟801:客戶端將查詢命令提交給伺服器端。
在該步驟中,客戶端應用程式首先通過TCP/UDP協議與伺服器端通信, 而具體採用面向連接的TCP協議還是無連接的UDP協議,可以根據實際應用 來進行選擇,在此並不做特殊規定,並將查詢命令提交給伺服器端後,服務 器端相應地在網絡通信層進行接收。
步驟802:在伺服器端,網絡通信層在接收到查詢命令後,將該查詢命令 交給控制層處理。
在該步驟中,控制層根據接收到的查詢命令,分析該次查詢屬於複雜條 件查詢還是簡單主鍵查詢。如果查詢命令中直接攜帶有查詢對象所對應的 Key,則認為該次查詢屬於簡單主鍵查詢,進入步驟803。
步驟803:控制層將簡單主^t查詢命令中所攜帶的Key值交給內存對象 緩存單元,以進行查詢。
步驟804-步驟805:內存對象緩存單元根據所接收到的Key值進行查詢, 並判斷內存對象緩存中是否有該Key值。
在該步驟中,存在兩種查詢結果,當在內存對象緩存單元中查詢到了該 Key值,則進入步驟806;如果查詢後,該Key值並沒有被儲存於內存對象緩 存單元中,則進入步驟809。其中,內存對象緩存單元中沒有該Key值,可 能是由於伺服器斷電、重啟或者是程序的重啟造成的內存中數據丟失。
步驟806:內存對象緩存單元將Key值對應的Value值返回給控制層。
步驟807:控制層將所接收到的Value值返回給網絡通信層。
步驟808:網絡通信層將該Value值通過網絡返回給客戶端應用程式。
步驟809:內存對象緩存單元返回給控制層空信息。
步驟810:控制層將Key值在發送給擴展後的Key-Value哈希資料庫,以 進行查詢。
步驟811: Key-Value哈希資料庫根據所接收到的Key值進行查詢,並將 查詢到的Key值對應的Value值返回給控制層。
14在該步驟之後,控制層一方面需要將查詢結果返回給網絡通信層,並且
之後的流程如步驟807至步驟808所示。另一方面,由於內存對象緩存單元 中數據產生了丟失,因此,控制層需要將其進行更新和補充,如步驟812所 示。
步驟812:控制層將從Key-Value哈希資料庫讀取出的Key和Value值寫 入到內存對象緩存單元中,以進行內存對象緩存單元數據的及時更新和補充。 至此, 一個簡單主^l建的查詢過程全部結束。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用 本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易 見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下, 在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例, 而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。
權利要求
1、一種實現實時檢索的方法,其特徵在於,將Key-Value哈希資料庫進行擴展,形成關係型資料庫結構之後,包括步驟接收客戶端發送的攜帶有Key-Value數據的消息,根據所述消息向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據;接收客戶端發送的查詢命令,並根據所述查詢命令進行檢索。
2、 如權利要求l所述的方法,其特徵在於,所述將Key-Value哈希數據 庫進行擴展包括將所述Key-Value哈希資料庫中的每一組Key和Value分別對應不同的 Name,所述Name對應關係型資料庫二維結構中行或列的名稱。
3、 如權利要求l所述的方法,其特徵在於,所述向內存對象緩存和所述 擴展後的Key-Value哈希資料庫寫入數據包括提取所述消息中的Key、 Value值;將所述Key、 Value值分別寫入所述內存對象緩存和所述擴展後的 Key-Value哈希資料庫中。
4、 如權利要求l所述的方法,其特徵在於,所述向內存對象緩存和所述 擴展後的Key-Value哈希資料庫寫入數據之後,還包括建立或更新全文檢索 的反向索引。
5、 如權利要求4所述的方法,其特徵在於,當所述查詢命令為複雜條件 的查詢命令時,所述根據所述查詢命令進行檢索包括根據所述查詢命令和全文檢索的反向索引,獲取符合條件的Key; 通過所獲取的Key,查詢所述Key所對應的Value值。
6、 如權利要求l所述的方法,其特徵在於,當所述查詢命令為簡單主鍵 的查詢命令時,所述根據所述查詢命令進行4企索包括根據查詢命令中攜帶的Key,查詢所述Key所對應的Value值。
7、 如權利要求5或6所述的方法,其特徵在於,所述查詢所述Key所對 應的Value值包括在內存對象緩存中對所述Key進行查詢,當所述內存對象緩存中存在所 述Key ,則獲取所述Key對應的Value值。
8、 如權利要求5或6所述的方法,其特徵在於,所述查詢所述Key所對 應的Value值包括在內存對象緩存中對所述Key進行查詢,當所述內存對象緩存中不存在 所述Key,則在所述Key-Value哈希資料庫中對所述Key進行查詢,並獲取 所述Key對應的Value值。
9、 如權利要求8所述的方法,其特徵在於,獲取所述Key對應的Value 值之後進一步包括將所述Key和其所對應的Value值寫入內存對象緩存。
10、 一種實現實時才全索的系統,其特徵在於,包括Key-Value哈希資料庫單元,用於寫入Key-Value數據,並對所述 Key-Value數據以關係型數據結構進行存儲,接到查詢命令後,從中讀取數據;內存對象緩存單元,用於寫入Key-Value數據,並對所述Key-Value數據 進行存儲,接到查詢命令後,從中讀取數據。
11、 如權利要求IO所述的系統,其特徵在於,還進一步包括 全文檢索單元,用於根據所寫入的Key-Value數據,建立或更新全文檢索的反向索引,在接到複雜條件的查詢命令後,從中獲取符合查詢條件的Key。
12、 一種實現實時檢索的系統,其特徵在於,包括客戶端和伺服器, 其中,客戶端,用於發送攜帶有Key-Value數據的消息或查詢命令;伺服器,用於接收攜帶有Key-Value數據的消息,才艮據所述消息向內存對 象緩存和所述擴展後的Key-Value哈希資料庫寫入數據,或者, 用於接收查詢命令,根據所述查詢命令進行檢索。
13、 一種實現實時檢索的伺服器,其特徵在於,包括 接收單元,用於接收攜帶有Key-Value數據的消息或查詢命令; 數據寫入單元,用於根據接收單元接收到的攜帶有Key-Value數據的消息,向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據; 檢索單元,用於根據接收單元接收到的查詢命令進行檢索。
14、 如權利要求13所述的伺服器,其特徵在於,所述數據寫入單元包括 提取單元,用於提取所述攜帶有Key-Value數據的消息中的Key、 Value值;內存對象寫入單元,用於將所述提取單元提取出的Key 、 Value值寫入內 存對象緩存;Key-Value哈希資料庫寫入單元,用於將所述提耳又單元提取出的Key、 Value值寫入Key-Value哈希資料庫。
15、 如權利要求13所述的伺服器,其特徵在於,當所述接收單元接收到 的查詢命令為簡單主鍵的查詢命令時,所述檢索單元包括Value獲取單元,用於根據所接收到的查詢命令中攜帶的Key,查詢得到 該Key所對應的Value值。
16、 如權利要求13所述的伺服器,其特徵在於,還包括全文檢索建立 單元,用於建立或更新全文檢索的反向索引;當所述接收單元接收到的查詢命令為複雜條件的查詢命令時,所述4全索 單元包括Key獲取單元,用於根據接收到的查詢命令和所述全文檢索的反向索引, 獲取符合條件的Key;Value獲取單元,用於根據所獲取的Key,查詢得到該Key所對應的Value值。
全文摘要
本發明實施例公開了一種實現實時檢索的方法,將Key-Value哈希資料庫進行擴展,形成關係型資料庫結構之後,包括步驟接收客戶端發送的攜帶有Key-Value數據的消息,根據所述消息向內存對象緩存和所述擴展後的Key-Value哈希資料庫寫入數據;接收客戶端發送的查詢命令,並根據所述查詢命令進行檢索。同時,本發明實施例還相應公開了一種實現實時檢索的系統和伺服器。本發明具體實施例通過為內存對象緩存增加Key-Value資料庫,作為持久化存儲,使得在檢索過程中,能夠實現高並發訪問下快速讀寫資料庫中的數據,並保證數據的不丟失。同時又對Key-Value資料庫進行擴展,使該資料庫形成關係型資料庫的結構,能夠進行複雜條件的查詢。
文檔編號G06F17/30GK101510209SQ20091008096
公開日2009年8月19日 申請日期2009年3月30日 優先權日2009年3月30日
發明者宴 張 申請人:北京金山軟體有限公司;北京金山數字娛樂科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀