[發明專利]數據庫服務器端結果集緩存的數據同步方法及裝置有效
| 申請號: | 201210140173.4 | 申請日: | 2012-05-08 |
| 公開(公告)號: | CN102789475A | 公開(公告)日: | 2012-11-21 |
| 發明(設計)人: | 鞏玉旺 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京凱特來知識產權代理有限公司 11260 | 代理人: | 鄭立明;黃曉軍 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 服務器端 結果 緩存 數據 同步 方法 裝置 | ||
技術領域
本發明涉及數據庫技術領域,尤其涉及一種數據庫服務器端結果集緩存的數據同步方法及裝置。
背景技術
目前,在數據庫實際應用環境中,服務器端為快速響應用戶端的查詢請求,提高用戶體驗,產生了結果集緩存技術,也就是在服務器端的共享緩存中的一塊區域存放某一條查詢語句執行所得到的結果,從而便于下一次用戶端再有相同語句查詢時能夠直接獲取并返回之前緩存的結果集。
舉例來說,在網頁服務中相同的網頁會被重復的請求,這樣只要查詢一次,將結果緩存,下次相同查詢請求時,便可直接返回結果,該結果集緩存技術有效解決了只讀和讀操作占多數的數據的緩存問題。
但現有技術方案中,結果集緩存技術也存在著數據一致性要求,即當數據庫服務器端的數據表被修改時,所有涉及此表的結果集直接失效,那么再有相同語句進行查詢時,就需要執行傳統流程,然后將獲得的最新結果保存到結果集緩存中,并沒有實現結果集緩存的增量更新,使得結果集的更新時間較長,降低了用戶體驗。
發明內容
本發明實施例提供了一種數據庫服務器端結果集緩存的數據同步方法及裝置,能夠有效保證數據的一致性,使結果集在相關表被修改時也能繼續使用,從而大大縮短了修改表時結果集的更新時間,進而提高了用戶體驗。
本發明實施例提供了一種數據庫服務器端結果集緩存的數據同步方法,所述方法包括:
在修改數據庫服務器端的數據表時,記錄被修改的數據表的行記錄標識,并在結果集緩存的結果集頭部字段中存儲該數據表的表標識,且在所述結果集頭部字段中存儲有查詢語句的類別,所述查詢語句的類別包括單一操作的簡單語句和多操作的復雜語句;
當所述結果集緩存中的某一查詢語句被執行,且該查詢語句為簡單語句時,在所記錄的被修改的所有行記錄上重新執行查詢并得到查詢結果;
根據修改數據表的不同操作將所得到的查詢結果與所述結果集緩存中緩存的結果合并,同步更新結果集緩存。
本發明實施例還提供了一種數據庫服務器端結果集緩存的數據同步裝置,所述裝置包括:
修改記錄單元,用于在修改數據庫服務器端的數據表時,記錄被修改的數據表的行記錄標識;
頭部字段設置單元,用于在結果集緩存的結果集頭部字段中存儲所修改數據表的表標識,且在所述結果集頭部字段中存儲有查詢語句的類別,所述查詢語句的類別包括單一操作的簡單語句和多操作的復雜語句;
記錄查詢單元,用于當所述結果集緩存中的某一查詢語句被執行,且該查詢語句為簡單語句時,在所記錄的被修改的所有行記錄上重新執行查詢并得到查詢結果;
同步更新單元,用于根據修改數據表的不同操作將記錄查詢單元所得到的查詢結果與所述結果集緩存中緩存的結果合并,同步更新結果集緩存。
由上述所提供的技術方案可以看出,所述方法在修改數據庫服務器端的數據表時,記錄被修改的數據表的行記錄標識,并在結果集緩存的結果集頭部字段中存儲該數據表的表標識;當所述結果集緩存中的某一查詢語句被執行,且該查詢語句為簡單語句時,在所記錄的被修改的所有行記錄上重新執行查詢并得到查詢結果;根據修改數據表的不同操作將所得到的查詢結果與所述結果集緩存中緩存的結果合并,同步更新結果集緩存。通過上述方法實施就能夠有效保證數據的一致性,使結果集在相關表被修改時也能繼續使用,從而大大縮短了修改表時結果集的更新時間,進而提高了用戶體驗。
附圖說明
圖1為本發明實施例所提供數據庫服務器端結果集緩存的數據同步方法流程示意圖;
圖2為本發明所舉具體實例中結果集緩存的結構示意圖;
圖3為本發明實施例所提供數據同步裝置的結構示意圖。
具體實施方式
本發明實施方式提供了一種數據庫服務器端結果集緩存的數據同步方法及裝置,該方法通過記錄修改數據表時被修改的行記錄的oid(即表內每行數據的唯一性標識,通過此標識可找到行數據),在數據表修改后,如果查詢語句在結果集緩存中存在,則在所記錄的被修改的行記錄上重新做查詢,避免全表的查詢,并在得到結果后,將其與之前緩存的結果集進行合并,從而避免修改表時,將對應結果集直接作廢,達到增量更新緩存的效果,該方法有效保證數據的一致性,使結果集在相關表被修改時也能繼續使用,從而大大縮短了修改表時結果集的更新時間,進而提高了用戶體驗。
為更好的描述本發明實施方式,現結合附圖對本發明的具體實施方式進行說明,如圖1所示為本發明實施例所提供數據庫服務器端結果集緩存的數據同步方法流程示意圖,所述方法包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210140173.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:無針正壓雙安全留置針
- 下一篇:體積容量調節鍋





