本發明專利技術實施例公開了一種數據緩存的方法、緩存服務器及系統,其中方法包括如下步驟:根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結果;根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實體,所述數據對象模型是由數據庫中的關聯數據表轉換成具有層級嵌套關系的模型,所述數據對象實體中包括了根據查詢結果得到的數據及數據間的關聯關系;緩存所述數據對象實體。采用本發明專利技術,可以預先構造并緩存數據對象實體,提高了檢索數據的效率。
【技術實現步驟摘要】
本專利技術涉及通信
,尤其涉及一種數據緩存的方法、緩存服務器及系統。
技術介紹
在程序設計中,數據庫設計是一個比較重要的環節,數據庫用于存儲和檢索數據, 為了滿足業務需求和實現復雜的業務邏輯,在數據庫中需要設計許多數據表,并且還需要 在數據表之間建立主鍵與外鍵的關聯關系以保持數據的一致性和唯一性,這些關聯關系將 數據庫中各個數據表關聯在一起。數據表間相互關聯對于存儲數據的速度沒什么太大的影響,但是會嚴重影響檢索 數據的速度,現有技術中解決檢索數據速度較慢的問題,一般采取優化數據庫的方式來進 行,比如“建立索引”、“使用存儲過程”、“優化SQL (structured query language,結構化 查詢語言)語句”等。隨著時間的推移,數據庫在使用的過程中將會存儲海量數據,為了應對業務的需 要,需要在一二十個關聯數據表中檢索數據,當有大用戶量訪問時,數據庫服務器硬盤燈將 會狂閃不止,無數進程需要IO(Input/Output,輸入/輸出)操作,并處于阻塞狀態。在現有技術中,通常會使用緩存機制,緩存機制分為兩種,一種是數據庫緩存,一 種是緩存框架,這兩種緩存機制都是將常用的不經常改變的數據預先緩存到內存中,當客 戶端發起請求時,優先從緩存中提取,緩存中不存在需要的數據,才從數據庫中查詢,并將 查詢到的數據緩存到內存中,以備下次請求使用。采用數據庫緩存或緩存框架,在一般應用場景中確實可以解決問題,但是對于數 據庫中存儲著海量數據,用戶在通過客戶端每次進行檢索時,需要執行多條查詢語句,并需 要將這些查詢語句返回的查詢結果數據相互融合,最后將融合后的數據返回給客戶端,在 此情況下,如果使用上述數據庫緩存和框架緩存,每次響應客戶端的請求,仍然會需要執行 查詢、數據融合的步驟,耗費較長的時間,會影響用戶的體驗。
技術實現思路
本專利技術實施例所要解決的技術問題在于,提供一種數據緩存的方法、緩存服務器 及系統,可以有效地提聞檢索數據的效率。為了解決上述技術問題,本專利技術實施例提供了一種數據緩存的方法,包括根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結果;根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實體,所述數 據對象模型是由數據庫中的關聯數據表轉換成具有層級嵌套關系的模型,所述數據對象實 體中包括了根據查詢結果得到的數據及數據間的關聯關系;緩存所述數據對象實體。其中,所述根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實 體,包括根據業務需求對所述查詢結果進行業務邏輯運算;將業務邏輯運算的運算結果和/或查詢結果的數據錄入到預先定義的所述數據 對象模型中,將所述數據對象模型構造成所述數據對象實體。其中,還包括將執行所述根據數據庫查詢語句對數據庫進行數據查詢得到查詢結果所消耗的 時間記錄為第一消耗時間;將構造得到數據對象實體所消耗的時間記錄為第二消耗時間;將所述第一消耗時間、所述第二消耗時間以及預設的緩沖時間之和作為間隔時 長,所述間隔時長用于表示從當前執行對數據庫進行數據查詢開始距離下次執行對數據庫 進行數據查詢的中間時間。其中,所述緩存所述數據對象實體的步驟之后,還包括當達到所述間隔時長時,重新執行所述根據數據庫查詢語句對數據庫進行數據查 詢,得到查詢結果以及構造、緩存所述數據對象實體的操作,以更新所述數據對象實體。其中,還包括當接收到業務服務器的數據查詢請求時,發送已緩存的數據對象實體中符合數據 查詢請求參數的數據到所述業務服務器。相應地,本專利技術實施例還提供了一種緩存服務器,包括查詢模塊,用于根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結果;構造模塊,用于根據所述查詢結果和預先定義的數據對象模型,構造得到數據對 象實體,所述數據對象模型是由數據庫中的關聯數據表轉換成具有層級嵌套關系的模型, 所述數據對象實體中包括了根據查詢結果得到的數據及數據間的關聯關系;緩存模塊,用于緩存所述數據對象實體。其中,所述構造模塊包括邏輯運算單元,用于根據業務需求對所述查詢結果進行業務邏輯運算;錄入單元,用于將業務邏輯運算的運算結果和/或查詢結果的數據錄入到預先定 義的所述數據對象模型中,將所述數據對象模型構造成所述數據對象實體。其中,還包括第一記錄模塊,用于將執行所述根據數據庫查詢語句對數據庫進行數據查詢得到 查詢結果所消耗的時間記錄為第一消耗時間;第二記錄模塊,用于將構造得到數據對象實體所消耗的時間記錄為第二消耗時 間;總時間計算模塊,用于將所述第一消耗時間、所述第二消耗時間以及預設的緩沖 時間之和作為間隔時長,所述間隔時長用于表示從當前執行對數據庫進行數據查詢開始距 離下次執行對數據庫進行數據查詢的中間時間。其中,還包括更新模塊,用于當達到所述間隔時長時,重新執行所述根據數據庫查詢語句對數 據庫進行數據查詢,得到查詢結果以及構造、緩存所述數據對象實體的操作,以更新所述數 據對象實體。其中,還包括發送模塊,用于當接收到業務服務器的數據查詢請求時,發送已緩存的數據對象 實體中符合數據查詢請求參數的數據到所述業務服務器。相應地,本專利技術實施例還提供了一種數據緩存的系統,包括緩存服務器、業務服 務器、數據庫服務器;所述緩存服務器,用于根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結 果;根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實體,所述數據對象 模型是由數據庫中的關聯數據表轉換成具有層級嵌套關系的模型,所述數據對象實體中包 括了根據查詢結果得到的數據及數據間的關聯關系;緩存所述數據對象實體;所述業務服務器,用于接收用戶請求,根據所述用戶請求發送數據查詢請求到所 述緩存服務器,并通過調用所述緩存服務器接口從已緩存的數據對象實體中檢索符合數據 查詢請求參數的數據,接收檢索到的數據并將該數據返回給用戶; 所述數據庫服務器,用于存儲數據,并讓所述緩存服務器進行數據查詢。其中,還包括用戶終端,用于發送用戶請求到所述業務服務器,以使所述業務服務器根據所述 用戶請求發送數據查詢請求到所述緩存服務器,以獲取用戶所需的業務數據。實施本專利技術實施例,具有如下有益效果本專利技術實施例通過緩存服務器預先緩存了根據數據查詢結果和預置的數據對象 模型構造得到的數據對象實體,方便用戶在發起查詢請求時,可以直接從數據對象實體中 檢索到符合條件的數據,提高了檢索數據的效率。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以 根據這些附圖獲得其他的附圖。圖1是本專利技術實施例提供的一種數據緩存的系統的結構示意圖2是本專利技術實施例提供的一種緩存服務器的結構示意圖3是本專利技術實施例提供的另一種緩存服務器的結構示意圖4是圖3中的構造模塊的結構示意圖5是本專利技術實施例提供的一種數據緩存的方法的流程示意圖6是本專利技術實施例提供的另一種數據緩存的方法的流程示意圖7是本專利技術實施例提供的確定間隔時長的方法的流程示意圖。具體實施方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而本文檔來自技高網...
【技術保護點】
一種數據緩存的方法,其特征在于,包括:根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結果;根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實體,所述數據對象模型是由數據庫中的關聯數據表轉換成具有層級嵌套關系的模型,所述數據對象實體中包括了根據查詢結果得到的數據及數據間的關聯關系;緩存所述數據對象實體。
【技術特征摘要】
1.一種數據緩存的方法,其特征在于,包括 根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結果; 根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實體,所述數據對象模型是由數據庫中的關聯數據表轉換成具有層級嵌套關系的模型,所述數據對象實體中包括了根據查詢結果得到的數據及數據間的關聯關系; 緩存所述數據對象實體。2.如權利要求1所述的方法,其特征在于,所述根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實體,包括 根據業務需求對所述查詢結果進行業務邏輯運算; 將業務邏輯運算的運算結果和/或查詢結果的數據錄入到預先定義的所述數據對象模型中,將所述數據對象模型構造成所述數據對象實體。3.如權利要求2所述的方法,其特征在于,還包括 將執行所述根據數據庫查詢語句對數據庫進行數據查詢得到查詢結果所消耗的時間記錄為第一消耗時間; 將構造得到數據對象實體所消耗的時間記錄為第二消耗時間; 將所述第一消耗時間、所述第二消耗時間以及預設的緩沖時間之和作為間隔時長,所述間隔時長用于表示從當前執行對數據庫進行數據查詢開始距離下次執行對數據庫進行數據查詢的中間時間。4.如權利要求3所述的方法,其特征在于,所述緩存所述數據對象實體的步驟之后,還包括 當達到所述間隔時長時,重新執行所述根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結果以及構造、緩存所述數據對象實體的操作,以更新所述數據對象實體。5.如權利要求4所述的方法,其特征在于,還包括 當接收到業務服務器的數據查詢請求時,發送已緩存的數據對象實體中符合數據查詢請求參數的數據到所述業務服務器。6.一種緩存服務器,其特征在于,包括 查詢模塊,用于根據數據庫查詢語句對數據庫進行數據查詢,得到查詢結果; 構造模塊,用于根據所述查詢結果和預先定義的數據對象模型,構造得到數據對象實體,所述數據對象模型是由數據庫中的關聯數據表轉換成具有層級嵌套關系的模型,所述數據對象實體中包括了根據查詢結果得到的數據及數據間的關聯關系; 緩存模塊,用于緩存所述數據對象實體。7.如權利要求6所述的緩存服務器,其特征在于,所述構造模塊包括 邏輯運算單元,用于根據業務需求對所...
【專利技術屬性】
技術研發人員:邵珠玉,
申請(專利權)人:深圳市同洲電子股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。