新四季網

一種實現數據緩存的方法

2023-09-18 02:59:15 2

一種實現數據緩存的方法
【專利摘要】本發明涉及一種實現數據緩存的方法,所述方法包括:(1)應用程式通過數據中間件獲取緩存中的數據信息;(2)應用程式修改數據時,通過數據中間件寫入資料庫中數據,同時更新緩存中數據;(3)數據中間件通過配置信息,獲取更新周期;(4)數據中間件根據更新周期,定時更新緩存中數據,保持緩存中數據和資料庫中數據一致。本發明提高了讀取數據的響應速度,提高了系統的性能,有效的解決緩存數據和資料庫數據一致性問題,實現了在一定時間內即保障了數據的一致性又提高了系統的性能,減少了系統調用資料庫的請求次數,避免資料庫調用的性能開銷。
【專利說明】一種實現數據緩存的方法
【技術領域】
[0001]本發明屬於數據緩存技術,具體講涉及一種實現數據緩存的方法。
【背景技術】
[0002]隨著網絡的普及化,用戶經常使用到的數據通過緩存(Cache)技術進行管理,從而減輕伺服器重新請求的壓力,提高網站的訪問速度。緩存技術有很多,所謂的數據緩存,指的是資料庫的數據不是直接傳輸,而是將數據暫存在內存中的一種技術,數據緩存的直接目的是為了提高讀取數據的響應速度,實現對數據查詢的及時響應,數據緩存的使用在大訪問量的情況下能極大的減少對資料庫操作的次數,降低系統負載提高系統性能。將數據調用到內存,然後從內存中讀取,從而可以大大提高讀取速度。數據緩存技術有很多的方案,這裡由於開源、高性能等特點,降低系統負載提高系統性能。
[0003]但現有技術中緩存和資料庫數據一致性功能欠缺。

【發明內容】

[0004]針對現有技術的不足,本發明提供一種實現數據緩存的方法,本發明為保障數據緩存保持一致性提供兩種機制,並詳細介紹了本發明增刪改操作的流程處理方式。本發明應用程式可為需要訪問數據的各種應用,資料庫也可採用Mysql,Oracle等。
[0005]本發明的目的是採用下述技術方案實現的:
[0006]一種實現數據緩存的方法,其改進之處在於,所述方法包括:
[0007](I)應用程式通過數據中間件獲取緩存中的數據信息;
[0008](2)應用程式修改數據時,通過數據中間件寫入資料庫中數據,同時更新緩存中數據;
[0009](3)數據中間件通過配置信息,獲取更新周期;
[0010](4)數據中間件根據更新周期,定時更新緩存中數據,保持緩存中數據和資料庫中數據一致。
[0011 ] 優選的,所述(I)包括應用程式查詢數據時,數據中間件主進程直接查詢緩存中數據,然後返回結果數據。
[0012]進一步地,所述應用程式查詢操作通過數據中間件從緩存中取數據,不對資料庫進行任何操作。
[0013]優選的,所述(2)包括:
[0014](4-1)應用程式進行增刪改操作;
[0015](4-2)數據中間件主進程對資料庫中數據進行增刪改操作;
[0016](4-3)更新資料庫數據;
[0017](4-4)主進程向緩存數據維護進程發送消息;
[0018]( 4-5 )更新緩存數據;
[0019](4_6)結束。[0020]進一步地,所述步驟(4-3)包括更新資料庫數據失敗則通過資料庫的事務管理機制回滾數據後結束。
[0021]進一步地,所述步驟(4-5)包括更新緩存數據失敗則通過數據緩存中間件的事務管理功能回滾數據,包括回滾資料庫中的數據。
[0022]優選的,所述步驟(3)包括數據緩存中間件緩存數據維護進程讀取配置文件中緩存數據更新周期的值,開啟定時更新緩存線程,定時更新數據緩存。
[0023]進一步地,當修改配置文件信息後,手動調用重載命令,緩存數據維護進程會重新加載修改後的配置文件。
[0024]優選的,所述步驟(3)包括數據緩存中間件緩存數據維護進程開啟數據維護線程,該線程定時輪詢緩存數據是否過期,如過期,則更新緩存數據;同時可修改配置文件,設置過期時間。
[0025]優選的,所述步驟(4)資料庫中數據有更新時間欄位,記錄更新時間;當更新周期設置很大時,數據中間件會根據當前時間和緩存中數據的修改時間做比較;當數據過期,即當前時間一緩存中數據修改時間 > 設置的保質期時,會進行一次更新數據緩存的操作。
[0026]與現有技術比,本發明的有益效果為:
[0027]1、本發明提高了讀取數據的響應速度,提高了系統的性能。
[0028]2、本發明有效的解決緩存數據和資料庫數據一致性問題。
[0029]3、本發明實現了在一定時間內即保障了數據的一致性又提高了系統的性能。
[0030]4、本發明減少了系統調用資料庫的請求次數,避免資料庫調用的性能開銷。
[0031]5、本發明實現了低成本的水平擴展。
【專利附圖】

【附圖說明】
[0032]圖1為本發明提供的一種實現數據緩存的方法數據緩存中間體機構圖。
[0033]圖2為本發明提供的一種實現數據緩存的方法數據增刪改操作流程圖。
[0034]圖3為本發明提供的一種實現數據緩存的方法數據查詢流程圖。
[0035]圖4為本發明提供的一種實現數據緩存的方法數據緩存定時更新流程圖。
[0036]圖5為本發明提供的一種實現數據緩存的方法緩存數據維護進程流程圖。
【具體實施方式】
[0037]下面結合附圖對本發明的【具體實施方式】作進一步的詳細說明。
[0038]如圖1數據緩存中間體架構圖所示:
[0039]應用程式通過數據緩存中間件獲取緩存中的數據信息。
[0040]應用程式修改數據時,通過數據緩存中間件寫入資料庫中數據,同時更新緩存中數據。
[0041]數據緩存中間件通過配置信息,獲取更新周期,數據緩存中間件根據更新周期,定時更新緩存中數據,保持緩存中數據和資料庫中數據一致性。
[0042]其中,資料庫中數據有更新時間欄位,記錄更新時間,當更新周期設置很大時,數據緩存中間件會根據當前時間和緩存中數據的修改時間做比較,當數據過期,即當前時間-緩存中數據修改時間 > 設置的保質期時,會進行一次更新數據緩存的操作。其中:[0043]A、增刪改操作
[0044]應用程式進行增刪改操作時,數據緩存中間件主進程首先操作資料庫,對資料庫中數據進行增刪改操作,操作成功,則主進程會向緩存數據維護進程發送消息,緩存數據維護進程除非更新數據緩存的操作,將改變的數據內容更新到緩存中。
[0045]其中,當對資料庫數據進行操作失敗,則通過資料庫的事務管理機制回滾數據。同樣,在對資料庫數據操作成功但是緩存更新數據操作失敗,則通過數據緩存中間件的事務管理功能回滾數據,包括回滾資料庫中的數據。
[0046]B、查詢操作
[0047]應用程式查詢數據時,數據緩存中間件主進程直接查詢緩存中數據,然後返回結果數據。查詢操作完全通過數據緩存中間件從緩存中取數據,不對資料庫進行任何操作。
[0048]C、緩存與資料庫一致性
[0049]數據緩存中間件根據指定的規則維護數據的一致性,如圖4數據緩存定時更新流程圖所示,緩存數據維護進程讀取配置文件中緩存數據更新周期的值,然後開啟定時更新緩存線程,定時更新數據緩存。當修改配置文件信息後,手動調用重載命令,緩存數據維護進程會重新加載修改後的配置文件。
[0050]另外,緩存數據維護進程還通過第二種機制來保障數據的一致性,如圖5緩存數據維護流程圖所示,緩存數據維護進程會開啟緩存數據維護線程,該線程定時輪詢緩存數據是否過期,如果過期,則更新緩存數據。同時可以修改配置文件,設置過期時間。
[0051]最後應當說明的是:以上實施例僅用以說明本發明的技術方案而非對其限制,儘管參照上述實施例對本發明進行了詳細的說明,所屬領域的普通技術人員應當理解:依然可以對本發明的【具體實施方式】進行修改或者等同替換,而未脫離本發明精神和範圍的任何修改或者等同替換,其均應涵蓋在本發明的權利要求範圍當中。
【權利要求】
1.一種實現數據緩存的方法,其特徵在於,所述方法包括: (1)應用程式通過數據中間件獲取緩存中的數據信息; (2)應用程式修改數據時,通過數據中間件寫入資料庫中數據,同時更新緩存中數據; (3)數據中間件通過配置信息,獲取更新周期; (4)數據中間件根據更新周期,定時更新緩存中數據,保持緩存中數據和資料庫中數據—致。
2.如權利要求1所述的一種實現數據緩存的方法,其特徵在於,所述(I)包括應用程式查詢數據時,數據中間件主進程直接查詢緩存中數據,然後返回結果數據。
3.如權利要求2所述的一種實現數據緩存的方法,其特徵在於,所述應用程式查詢操作通過數據中間件從緩存中取數據,不對資料庫進行任何操作。
4.如權利要求1所述的一種實現數據緩存的方法,其特徵在於,所述(2)包括: (4-1)應用程式進行增刪改操作; (4-2)數據中間件主進程對資料庫中數據進行增刪改操作; (4-3)更新資料庫數據; (4-4)主進程向緩存數據維護進程發送消息; (4-5)更新緩存數據; (4-6)結束。
5.如權利要求4所述的一種實現數據緩存的方法,其特徵在於,所述步驟(4-3)包括更新資料庫數據失敗則通過資料庫的事務管理機制回滾數據後結束。
6.如權利要求4所述的一種實現數據緩存的方法,其特徵在於,所述步驟(4-5)包括更新緩存數據失敗則通過數據緩存中間件的事務管理功能回滾數據,包括回滾資料庫中的數據。
7.如權利要求1所述的一種實現數據緩存的方法,其特徵在於,所述步驟(3)包括數據緩存中間件緩存數據維護進程讀取配置文件中緩存數據更新周期的值,開啟定時更新緩存線程,定時更新數據緩存。
8.如權利要求7所述的一種實現數據緩存的方法,其特徵在於,當修改配置文件信息後,手動調用重載命令,緩存數據維護進程會重新加載修改後的配置文件。
9.如權利要求1所述的一種實現數據緩存的方法,其特徵在於,所述步驟(3)包括數據緩存中間件緩存數據維護進程開啟數據維護線程,該線程定時輪詢緩存數據是否過期,如過期,則更新緩存數據;同時可修改配置文件,設置過期時間。
10.如權利要求1所述的一種實現數據緩存的方法,其特徵在於,所述步驟(4)資料庫中數據有更新時間欄位,記錄更新時間;當更新周期設置很大時,數據中間件會根據當前時間和緩存中數據的修改時間做比較;當數據過期,即當前時間一緩存中數據修改時間 > 設置的保質期時,會進行一次更新數據緩存的操作。
【文檔編號】G06F12/08GK103617131SQ201310624376
【公開日】2014年3月5日 申請日期:2013年11月26日 優先權日:2013年11月26日
【發明者】徐學輝, 郭慶, 班軍成, 苗豔超, 劉新春, 邵宗有 申請人:曙光信息產業股份有限公司

同类文章

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

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