新四季網

數據訪問裝置和方法

2023-06-06 13:42:56

專利名稱:數據訪問裝置和方法
技術領域:
本發明涉及數據訪問技術,具體而言,涉及數據訪問裝置和方法。
技術背景
在應用程式尤其是信息管理系統訪問資料庫的過程中,部分資料庫表在被一次性錄入數據後,不再頻繁的被新增、修改和刪除,只是偶爾新增、修改和刪除數據,但是被頻繁的讀取,比如企業管理軟體中的基礎檔案數據表。
當前常見的對資料庫表訪問的緩存方式主要有以下幾種
方式一、即時讀取,不緩存。當應用程式需要使用數據時,由應用程式通過數據訪問模塊直接讀取指定的數據表,再由數據訪問組件將結果集返回給應用程式。頻繁讀取會給資料庫伺服器造成較大的壓力,同時由於對資料庫訪問的效率瓶頸,會造成等待時間過長,影響用戶體驗。
方式二、結果集緩存。結果集緩存基於標準SQL查詢語句(或類SQL語句),將查詢語句與查詢結果同時緩存。當下一次查詢來臨時,進行查詢語句的精確匹配,若匹配,則由緩存直接給出查詢結果,否則提交資料庫進行操作。該方式在CS應用程式架構下不能正確管理緩存的生命周期,當資料庫被其他客戶端進行過改寫,本地緩存無法實時被感知,導致程序有讀入髒數據的可能。
方式三、表緩存。緩存一組經常被訪問的表,每個表是資料庫伺服器中表的鏡像, 表是最小的緩存單位。在實現上,表緩存都採用資料庫管理系統管理緩存數據。該方式依賴於資料庫產品本身的功能,應用軟體無法對緩存進行必要的管控。
上述幾種方式有以下缺點
受具體資料庫管理系統產品自身的技術限制,不能夠根據應用程式的使用狀況, 對單個表靈活設置和啟停。
因此,需要一種優化的緩存方式,以提升系統的性能。 發明內容
本發明所要解決的技術問題在於,提供一種數據緩存技術,可以不受具體資料庫管理系統產品自身的技術限制,大大提高系統的性能。
根據本發明的一個方面,提供了一種數據訪問裝置,包括緩存單元,將資料庫中的指定的數據表和日誌表中與所述指定的數據表對應的當前操作狀態記錄進行對應緩存; 觸發器,響應所述資料庫中的所述指定的數據表,在響應到對所述資料庫中的所述指定的數據表進行更新的操作時,將操作狀態記錄保存至所述日誌表中;日誌表存儲單元,用於保存所述日誌表,所述日誌表包含對所述資料庫中指定的數據表進行更新操作的操作狀態記錄;管理模塊包括比較單元和更新單元,所述比較單元接收來自訪問方的數據訪問請求,比較緩存的所述當前操作狀態記錄和所述日誌表中與所述指定的數據表對應的最新操作狀態記錄,根據比較結果判斷在所述緩存單元中緩存的數據表的內容是否與所述訪問方的所需數據表的內容相同,所述更新單元在所述比較單元的判斷結果為相同時,將所述緩存的數據表返回給所述訪問方,所述更新單元在所述比較單元的判斷結果為不相同時,根據所述最新操作狀態記錄更新所述緩存的當前操作狀態記錄以及根據所述資料庫中的所述指定的數據表更新所述緩存單元中緩存的數據表,將更新後的所述緩存的數據表返回給所述訪問方。
在上述技術方案中,優選地,所述比較單元將緩存的所述當前操作狀態記錄中的修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳進行比較。
在上述技術方案中,優選地,所述比較單元在緩存的所述當前操作狀態記錄中修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳均相同時,判斷出所述緩存的數據表的內容與所述訪問方的所需數據表的內容相同。
在上述技術方案中,優選地,所述管理模塊還可以包括讀取單元,在所述比較單元判斷出沒有緩存所述訪問方的所需數據表時,從所述資料庫中讀取所述所需數據表以及從所述日誌表中讀取當前操作狀態記錄,所述緩存單元將讀取的所述所需數據表與讀取的所述日誌表中的當前操作狀態記錄進行對應緩存。
在上述技術方案中,優選地,所述觸發器包括刪除操作觸發器、插入操作觸發器和修改操作觸發器,所述刪除操作觸發器用於響應對所述資料庫中的指定的數據表的刪除操作,所述插入操作觸發器用於響應對所述資料庫中的指定的數據表的插入操作,所述修改操作觸發器用於響應對所述資料庫中的指定的數據表的修改操作。
通過上述技術方案,可以實現一種數據訪問裝置,在提高訪問效率的同時,也可以不受具體資料庫管理系統產品自身的技術限制,並且適用於所有主流關係型資料庫。
根據本發明的又一方面,還提供了一種數據訪問方法,包括步驟302,將資料庫表中指定的數據表與日誌表中與所述指定的數據表對應的當前操作狀態記錄進行對應緩存;步驟304,在所述指定的數據表被緩存時,檢測對所述資料庫表中的所述指定的數據表進行更新的操作,在檢測到所述更新的操作時,將操作狀態記錄保存至所述日誌表中;步驟 306,接收來自訪問方的數據訪問請求,比較緩存的所述當前操作狀態記錄和所述日誌表中與所述指定的數據表對應的最新操作狀態記錄,根據比較結果判斷緩存的數據表的內容是否與所述訪問方的所需數據表的內容相同,在判斷結果為相同時,將所述緩存的數據表返回給所述訪問方,在所述判斷結果為不相同時,根據所述最新操作狀態記錄更新所述緩存的當前操作狀態記錄以及根據所述資料庫表中的所述指定的數據表更新所述緩存的數據表,將更新後的所述緩存的數據表返回給所述訪問方。
在上述技術方案中,優選地,在所述步驟306中,將緩存的所述當前操作狀態記錄中修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳進行比較。
在上述技術方案中,優選地,所述步驟306還可以包括在緩存的所述當前操作狀態記錄中修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳均相同時, 判斷出所述緩存的數據表的內容與所述訪問方的所需數據表的內容相同。
在上述技術方案中,優選地,所述步驟306還可以包括在判斷出沒有緩存所述訪問方的所需數據表時,從資料庫表中讀取所述所需數據表以及從所述日誌表中讀取當前操作狀態記錄,將讀取的所述所需數據表與讀取的所述日誌表中的當前操作狀態記錄進行對應緩存,將讀取的所述所需數據表返回至所述訪問方。
在上述技術方案中,優選地,在所述步驟304中,所述更新的操作包括刪除操作、 修改操作和/或插入操作。
通過上述技術方案,可以實現一種數據訪問方法,在提高訪問效率的同時,也可以不受具體資料庫管理系統產品自身的技術限制,並且適用於所有主流關係型資料庫。


圖1示出了根據本發明的實施例的數據訪問裝置的框圖2示出了根據本發明的實施例的數據訪問裝置的示意圖3示出了根據本發明的實施例的數據訪問裝置的示意圖;以及
圖4示出了根據本發明的實施例的數據訪問方法的流程圖。
具體實施方式
為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和具體實施方式
對本發明進行進一步的詳細描述。
在下面的描述中闡述了很多具體細節以便於充分理解本發明,但是,本發明還可以採用其他不同於在此描述的其他方式來實施,因此,本發明並不限於下面公開的具體實施例的限制。
圖1示出了根據本發明的實施例的數據訪問裝置的框圖。
如圖1所示,根據本發明的實施例的數據訪問裝置100包括緩存單元104,將資料庫中的指定的數據表和日誌表中與所述指定的數據表對應的當前操作狀態記錄進行對應緩存;觸發器106,響應資料庫中的所述指定的數據表,在響應到對所述資料庫中的所述指定的數據表進行更新的操作時,將操作狀態記錄保存至所述日誌表中;日誌表存儲單元 108,用於保存所述日誌表,所述日誌表包含對資料庫中指定的數據表進行更新操作的操作狀態記錄;管理模塊110包括比較單元1102和更新單元1104,所述比較單元1102接收來自訪問方的數據訪問請求,比較緩存的所述當前操作狀態記錄和所述日誌表中與所述指定的數據表對應的最新操作狀態記錄,根據比較結果判斷在所述緩存單元104中緩存的數據表的內容是否與所述訪問方的所需數據表的內容相同,所述更新單元1104在所述比較單元 1102的判斷結果為相同時,將所述緩存的數據表返回給所述訪問方,所述更新單元1104在所述比較單元1102的判斷結果為不相同時,根據所述最新操作狀態記錄更新所述緩存的當前操作狀態記錄以及根據所述資料庫中的所述指定的數據表更新所述緩存單元104中緩存的數據表,將更新後的所述緩存的數據表返回給所述訪問方。
在上述技術方案中,優選地,所述比較單元1102將緩存的所述當前操作狀態記錄中的修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳進行比較。
在上述技術方案中,優選地,所述比較單元1102在緩存的所述當前操作狀態記錄中修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳均相同時,判斷出所述緩存的數據表的內容與所述訪問方的所需數據表的內容相同。
在上述技術方案中,優選地,所述管理模塊110還可以包括讀取單元1106,在所述比較單元1102判斷出沒有緩存所述訪問方的所需數據表時,從所述資料庫中讀取所述所需數據表以及從所述日誌表中讀取當前操作狀態記錄,所述緩存單元104將讀取的所述所需數據表與讀取的所述日誌表中的當前操作狀態記錄進行對應緩存。
在上述技術方案中,優選地,所述觸發器106包括刪除操作觸發器、插入操作觸發器和修改操作觸發器,所述刪除操作觸發器用於響應對所述資料庫中的指定的數據表的刪除操作,所述插入操作觸發器用於響應對所述資料庫中的指定的數據表的插入操作,所述修改操作觸發器用於響應對所述資料庫中的指定的數據表的修改操作。
通過上述技術方案,可以實現一種數據訪問裝置,在提高訪問效率的同時,也可以不受具體資料庫管理系統產品自身的技術限制,並且適用於所有主流關係型資料庫。
下面結合圖2和圖3進一步說明根據本發明的實施例的數據訪問裝置。
1.設置單元(圖2和圖3中未示出)
向用戶提供一個交互的界面,可以根據業務實際情況設定希望進行緩存的資料庫表,設定完成後,設置單元為被設定進行緩存的表加裝三個預先設計的資料庫觸發器(例如圖3中所示的觸發插入操作的觸發器2066、觸發刪除操作的觸發器2062和觸發修改操作的觸發器2064),分別對被緩存表的增、刪、改操作進行響應。同時還可以根據自身的需要, 隨時通過設置單元刪除指定數據表上的觸發器。
當然,設置單元不是必須的,在某些系統中,系統的研發人員可能直接選擇被緩存的數據表,而不是把選擇權交給用戶。
2.日誌表存儲單元208
日誌表存儲單元208中存儲有日誌表,該日誌表是一張固定的資料庫表,表名固定為Tabl必tate,該表包含如表1所述的欄位
欄位欄位名備註cTableName表名需要進行緩存的表cOpCode操作編碼Ins:插入;Del:刪除;Upd:修改dDate更新時間最新一次狀態的改變時間TStamp狀態時間戳當插入、刪除和修改發生後自動更新值
表 1
日誌表數據以如下表2所示的格式記錄操作狀態記錄(以Customer和Vendor為例)
權利要求
1.一種數據訪問裝置,其特徵在於,包括緩存單元,將資料庫中的指定的數據表和日誌表中與所述指定的數據表對應的當前操作狀態記錄進行對應緩存;觸發器,響應所述資料庫中的所述指定的數據表,在響應到對所述資料庫中的所述指定的數據表進行更新的操作時,將操作狀態記錄保存至所述日誌表中;日誌表存儲單元,用於保存所述日誌表,所述日誌表包含對所述資料庫中指定的數據表進行更新操作的操作狀態記錄;管理模塊包括比較單元和更新單元,所述比較單元接收來自訪問方的數據訪問請求, 比較緩存的所述當前操作狀態記錄和所述日誌表中與所述指定的數據表對應的最新操作狀態記錄,根據比較結果判斷在所述緩存單元中緩存的數據表的內容是否與所述訪問方的所需數據表的內容相同,所述更新單元在所述比較單元的判斷結果為相同時,將所述緩存的數據表返回給所述訪問方,所述更新單元在所述比較單元的判斷結果為不相同時,根據所述最新操作狀態記錄更新所述緩存的當前操作狀態記錄以及根據所述資料庫中的所述指定的數據表更新所述緩存單元中緩存的數據表,將更新後的所述緩存的數據表返回給所述訪問方。
2.根據權利要求1所述的數據訪問裝置,其特徵在於,所述比較單元將緩存的所述當前操作狀態記錄中的修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳進行比較。
3.根據權利要求2所述的數據訪問裝置,其特徵在於,所述比較單元在緩存的所述當前操作狀態記錄中修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳均相同時,判斷出所述緩存的數據表的內容與所述訪問方的所需數據表的內容相同。
4.根據權利要求1所述的數據訪問裝置,其特徵在於,所述管理模塊還包括讀取單元,在所述比較單元判斷出沒有緩存所述訪問方的所需數據表時,從所述資料庫中讀取所述所需數據表以及從所述日誌表中讀取當前操作狀態記錄,所述緩存單元將讀取的所述所需數據表與讀取的所述日誌表中的當前操作狀態記錄進行對應緩存。
5.根據權利要求1至4中任一項所述的數據訪問裝置,其特徵在於,所述觸發器包括刪除操作觸發器、插入操作觸發器和修改操作觸發器,所述刪除操作觸發器用於響應對所述資料庫中的指定的數據表的刪除操作,所述插入操作觸發器用於響應對所述資料庫中的指定的數據表的插入操作,所述修改操作觸發器用於響應對所述資料庫中的指定的數據表的修改操作。
6.一種數據訪問方法,其特徵在於,包括步驟202,將資料庫表中指定的數據表和日誌表中與所述指定的數據表對應的當前操作狀態記錄進行對應緩存;步驟204,在所述指定的數據表被緩存時,響應對所述資料庫表中的所述指定的數據表進行更新的操作,在響應到所述更新的操作時,將操作狀態記錄保存至所述日誌表中;步驟206,接收來自訪問方的數據訪問請求,比較緩存的所述當前操作狀態記錄和所述日誌表中與所述指定的數據表對應的最新操作狀態記錄,根據比較結果判斷緩存的數據表的內容是否與所述訪問方的所需數據表的內容相同,在判斷結果為相同時,將所述緩存的數據表返回給所述訪問方,在所述判斷結果為不相同時,根據所述最新操作狀態記錄更新所述緩存的當前操作狀態記錄以及根據所述資料庫表中的所述指定的數據表更新所述緩存的數據表,將更新後的所述緩存的數據表返回給所述訪問方。
7.根據權利要求6所述的數據訪問方法,其特徵在於,在所述步驟206中,將緩存的所述當前操作狀態記錄中修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳進行比較。
8.根據權利要求7所述的數據訪問方法,其特徵在於,所述步驟206還包括在緩存的所述當前操作狀態記錄中修改操作的時間戳、刪除操作的時間戳和/或插入操作的時間戳與所述日誌表中的最新操作狀態記錄中的時間戳、刪除操作的時間戳和/或插入操作的時間戳均相同時,判斷出所述緩存的數據表的內容與所述訪問方的所需數據表的內容相同。
9.根據權利要求6所述的數據訪問方法,其特徵在於,所述步驟206還包括在判斷出沒有緩存所述訪問方的所需數據表時,從資料庫表中讀取所述所需數據表以及從所述日誌表中讀取當前操作狀態記錄,將讀取的所述所需數據表與讀取的所述日誌表中的當前操作狀態記錄進行對應緩存,將讀取的所述所需數據表返回至所述訪問方。
10.根據權利要求6至9中任一項所述的數據訪問方法,其特徵在於,在所述步驟204 中,所述更新的操作包括刪除操作、修改操作和/或插入操作。
全文摘要
本發明提供了一種數據訪問裝置和數據訪問方法,數據訪問裝置包括緩存單元,將資料庫中指定的數據表和日誌表中與所述指定的數據表對應的當前操作狀態記錄進行對應緩存;觸發器,將檢測到的對資料庫中的指定的數據表進行更新的操作的操作狀態記錄保存至日誌表中;日誌表存儲單元,用於保存日誌表;比較單元,接收來自訪問方的數據訪問請求,比較緩存的當前操作狀態記錄和日誌表中的最新操作狀態記錄,以判斷緩存的數據表的內容是否與訪問方的所需數據表的內容相同,更新單元,在判斷結果為不相同時,根據最新操作狀態記錄更新緩存單元中緩存的數據表,將更新後的緩存的數據表返回給訪問方。提高了對數據表的讀取效率。
文檔編號G06F17/30GK102508854SQ20111029807
公開日2012年6月20日 申請日期2011年9月29日 優先權日2011年9月29日
發明者徐棟 申請人:暢捷通信息技術股份有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀