新四季網

一種差異更新緩存數據的方法及系統與流程

2023-06-05 06:33:06 1


本發明涉及緩存技術領域,尤其涉及一種差異更新緩存數據的方法及系統。



背景技術:

網際網路應用開發中,經常需要將服務端接口的數據同步到客戶端,在下次訪問相同的數據時,可以優先使用本地的數據。應用開發人員通常針對特定的接口設計實現數據的同步、變更通知、更新差異數據等一系列功能。根據現有的技術方案在解決上述需求時,通常需要針對要同步數據的接口設計本地存儲;客戶端開發獲取數據的功能,將初始數據同步到本地;服務端發生數據的增、刪、改等操作時,需要通知客戶端數據變更;客戶端得到通知後,向特定接口獲取差異的內容。但是,上述方法不是一個通用的解決方案,需要差異更新不同服務端接口的數據時,都需要作一次開發,耗費大量的開發、測試及維護成本。



技術實現要素:

本發明所要解決的技術問題是:提供一種差異更新緩存數據的方法及系統,實現差異更新緩存數據,減少耗費網絡資源。

為了解決上述技術問題,本發明採用的技術方案為:

本發明提供一種差異更新緩存數據的方法,包括:

將網絡接口返回的數據轉換成緩存機制定義的標準格式,得到返回數據;

創建與所述返回數據相對應的緩存數據表;

根據客戶端上傳的時間戳獲取伺服器的數據表在所述時間戳後修改的數據,得到更新數據。

上述差異更新緩存數據的方法,其有益效果在於:區別於現有技術為了同步伺服器端的數據,需要為特定接口設計本地存儲,並提供相應的同步數據功能,不具備通用性,浪費開發及維護成本。本發明通過為網絡接口的返回數據自動創建緩存數據表,使得客戶端可直接使用緩存數據無需設計本地存儲;當客戶端向伺服器端的網絡接口請求獲取數據時,發送客戶端最後更新的數據的時間戳給伺服器端,伺服器端的網絡接口根據所述時間戳從相應的數據表中獲取在該時間戳之後更新的數據返回給客戶端,實現差異更新客戶端所需的同步數據,有利於減少耗費網絡資源,提高同步數據的速度。

本發明還提供一種差異更新緩存數據的系統,包括:

轉換模塊,用於將網絡接口返回的數據轉換成緩存機制定義的標準格式,得到返回數據;

創建模塊,用於創建與所述返回數據相對應的緩存數據表;

第一獲取模塊,用於根據客戶端上傳的時間戳獲取伺服器的數據表在所述時間戳後修改的數據,得到更新數據。

上述差異更新緩存數據的系統,其有益效果在於:通過轉換模塊將網絡接口返回的數據轉換成緩存機制定義的標準格式,通過創建模塊為網絡接口的返回數據自動創建緩存數據表,使得客戶端可直接使用緩存數據無需設計本地存儲;當客戶端向伺服器端的網絡接口請求獲取數據時,發送客戶端最後更新的數據的時間戳給伺服器端,第一獲取模塊根據所述時間戳使伺服器端的網絡接口從相應的數據表中獲取在該時間戳之後更新的數據返回給客戶端,實現差異更新客戶端所需的同步數據,有利於減少耗費網絡資源,提高同步數據的速度。

附圖說明

圖1為本發明提供的一種差異更新緩存數據的方法的流程框圖;

圖2為本發明提供的一種差異更新緩存數據的系統的結構框圖;

標號說明:

1、轉換模塊;2、創建模塊;3、第一獲取模塊;4、第一添加模塊;5、第二添加模塊;6、第三添加模塊;7、分頁模塊;8、第二獲取模塊;9、更新模塊;10、第三獲取模塊;11、配置模塊;21、分配模塊;22、存儲模塊。

具體實施方式

為詳細說明本發明的技術內容、所實現目的及效果,以下結合實施方式並配合附圖予以說明。

本發明最關鍵的構思在於:通過為緩存數據自動創建緩存數據表,並提供差異更新緩存數據的功能,實現提供一種通用的同步數據的解決方案,有利於減少佔用本地存儲空間,減少耗費網絡資源,提高同步數據的速度。

如圖1所示,本發明提供一種差異更新緩存數據的方法,包括步驟:

將網絡接口返回的數據轉換成緩存機制定義的標準格式,得到返回數據;

創建與所述返回數據相對應的緩存數據表;

根據客戶端上傳的時間戳獲取伺服器的數據表在所述時間戳後修改的數據,得到更新數據。

進一步地,還包括:

當在所述數據表中增加記錄時,為所述記錄的更新時間欄位添加更新時間;

當修改所述數據表中的記錄時,為所述記錄的更新時間欄位添加更新時間;

當刪除所述數據表中的記錄時,在與所述數據表相對應的刪除表中添加所述記錄的編號和刪除時間。

由上述描述可知,當伺服器端的數據表進行更新操作時,記錄相應的操作時間,其中更新操作包括增加記錄、刪除記錄和修改記錄。存儲相應更新操作的時間,可識別出與客戶端現有的數據相比的差異數據。

進一步地,還包括:

將所述更新數據按預設每頁記錄數分頁;

獲取一頁所述更新數據;

更新所述緩存數據表中與所述更新數據相對應的數據。

由上述描述可知,當更新數據的量較大時,通過分頁獲取更新數據的方式能夠緩解網絡壓力,避免出現客戶端因瞬時無法承載大量數據而導致崩潰的情況。

進一步地,還包括:

獲取配置信息;所述配置信息包括主鍵欄位、排序欄位、索引欄位和翻頁控制參數;

根據所述配置信息配置所述緩存數據表。

由上述描述可知,可對緩存數據表進行查詢等操作,通過配置緩存數據表,可優化查詢操作,其中,可通過配置主鍵欄位指定緩存數據表的主鍵;緩存數據表可以排序欄位為依據進行排序;為索引欄位創建索引,能夠加快查詢速度;翻頁控制參數包括當前頁數和每頁項數,每頁項數可指定緩存數據表每頁包含的記錄項數,通過當前頁數可快速獲取相應頁中的數據記錄。

進一步地,創建與所述返回數據相對應的緩存數據表,具體為:

為網絡接口分配請求號;

將具有相同請求號的網絡接口的返回數據存儲於同一緩存數據表中。

由上述描述可知,通過為返回數據的欄位及數據結構相同的網絡接口分配相同的請求號,可實現聚合不同網絡接口的網絡請求返回的數據,有利於集中對返回數據進行分析和處理。如:現有語文科目考試成績查詢接口和數學科目考試成績查詢接口,上述兩個接口的網絡請求返回數據的欄位與數據結構相同,可通過為語文科目考試成績查詢接口和數學科目考試成績查詢接口分配相同的請求號,實現聚合上述兩個接口的網絡請求返回數據,從而可對返回數據進行統一的分析和處理。

如圖2所示,本發明還提供一種差異更新緩存數據的系統,包括:

轉換模塊1,用於將網絡接口返回的數據轉換成緩存機制定義的標準格式,得到返回數據;

創建模塊2,用於創建與所述返回數據相對應的緩存數據表;

第一獲取模塊3,用於根據客戶端上傳的時間戳獲取伺服器的數據表在所述時間戳後修改的數據,得到更新數據。

進一步的,還包括:

第一添加模塊4,用於當在所述數據表中增加記錄時,為所述記錄的更新時間欄位添加更新時間;

第二添加模塊5,用於當修改所述數據表中的記錄時,為所述記錄的更新時間欄位添加更新時間;

第三添加模塊6,用於當刪除所述數據表中的記錄時,在與所述數據表相對應的刪除表中添加所述記錄的編號和刪除時間。

進一步地,還包括:

分頁模塊7,用於將所述更新數據按預設每頁記錄數分頁;

第二獲取模塊8,用於獲取一頁所述更新數據;

更新模塊9,用於更新所述緩存數據表中與所述更新數據相對應的數據。

進一步地,還包括:

第三獲取模塊10,用於獲取配置信息;所述配置信息包括主鍵欄位、排序欄位、索引欄位和翻頁控制參數;

配置模塊11,用於根據所述配置信息配置所述緩存數據表。

進一步地,所述創建模塊包括:

分配模塊21,用於為網絡接口分配請求號;

存儲模塊22,用於將具有相同請求號的網絡接口的返回數據存儲於同一緩存數據表中。

本發明的實施例一為:

當在伺服器端的數據表中增加記錄時,為所述記錄的更新時間欄位添加更新時間;

當修改伺服器端的數據表中的記錄時,為所述記錄的更新時間欄位添加更新時間;

當刪除伺服器端的數據表中的記錄時,在與所述數據表相對應的刪除表中添加所述記錄的編號和刪除時間;

將網絡接口返回的數據轉換成緩存機制定義的標準格式,得到返回數據;

創建與所述返回數據相對應的緩存數據表;

根據客戶端上傳的時間戳獲取伺服器的數據表在所述時間戳後修改的數據,得到更新數據;

將所述更新數據按預設每頁記錄數分頁;

獲取一頁所述更新數據;

更新所述緩存數據表中與所述更新數據相對應的數據。

由上述描述可知,本實施例通過為網絡接口的返回數據創建相應的緩存數據表,客戶端可直接使用緩存數據不必再設計本地存儲,節省空間;另,緩存數據使用差異更新的方式,且每次只獲取一頁數據,有利於減少耗費網絡資源,提高同步數據的速度。

本發明的實施例二為:

在實施例一的基礎上,還包括:

獲取配置信息;所述配置信息包括主鍵欄位、排序欄位、索引欄位和翻頁控制參數;

根據所述配置信息配置所述緩存數據表。

由上述描述可知,本實施例實現可對網絡接口的返回數據執行查詢操作。

本發明的實施例三為:

在實施例一的基礎上,還包括:

為網絡接口分配請求號;

將具有相同請求號的網絡接口的返回數據存儲於同一緩存數據表中。

由上述描述可知,本實施例實現可方便聚合不同網絡接口的返回數據。

本發明的實施例四為:

當在伺服器端的數據表中增加記錄時,第一添加模塊為所述記錄的更新時間欄位添加更新時間;

當修改伺服器端的數據表中的記錄時,第二添加模塊為所述記錄的更新時間欄位添加更新時間;

當刪除伺服器端的數據表中的記錄時,第三添加模塊在與所述數據表相對應的刪除表中添加所述記錄的編號和刪除時間;

轉換模塊將網絡接口返回的數據轉換成緩存機制定義的標準格式,得到返回數據;

創建模塊中的分配模塊為網絡接口分配請求號;存儲模塊將具有相同請求號的網絡接口的返回數據存儲於同一緩存數據表中;

第三獲取模塊獲取配置信息;所述配置信息包括主鍵欄位、排序欄位、索引欄位和翻頁控制參數;

配置模塊根據所述配置信息配置所述緩存數據表;

第一獲取模塊根據客戶端上傳的時間戳獲取伺服器的數據表在所述時間戳後修改的數據,得到更新數據;

分頁模塊將所述更新數據按預設每頁記錄數分頁;

第二獲取模塊獲取一頁所述更新數據;

更新模塊更新所述緩存數據表中與所述更新數據相對應的數據。

由上述描述可知,本實施例提供一種差異更新緩存數據的系統,包括轉換模塊、創建模塊、第一獲取模塊、第一添加模塊、第二添加模塊、第三添加模塊、分頁模塊、第二獲取模塊、更新模塊、第三獲取模塊、配置模塊、分配模塊、存儲模塊。通過上述系統可實現自動為網絡接口的返回數據創建相對應的緩存數據表,並可以差異更新的方式更新該緩存數據表以同步伺服器和客戶端的數據。

本發明的實施例五為:

為網絡接口host_name分配請求號IF1;

客戶端向伺服器端請求獲取網絡接口host_name從相應數據表中得到的數據,得到原始數據,所述原始數據為JSON數據格式,如下所示:

{「count」:2,「items」:[

{「id」:1000,「name」:「app1_name」,「version」:「v1.0.0」,「url」:「http://down.host.com/app1.apk」,「update_time」:「2016-09-18 09:25:00」},

{「id」:1001,「name」:「app2_name」,「version」:「v1.0.0」,「url」:「http://down.host.com/app2.apk」,「update_time」:「2016-09-18 09:26:00」}]};

通過解析器將所述原始數據轉換成緩存機制定義的標準格式,得到標準數據,所述標準數據如下所示;

globalValue={「count」:2}

data=[

{「id」:1000,「name」:「app1_name」,「version」:「v1.0.0」,「url」:「http://down.host.com/app1.apk」,「update_time」:「2016-09-18 09:25:00」},

{「id」:1001,「name」:「app2_name」,「version」:「v1.0.0」,「url」:「http://down.host.com/app2.apk」,「update_time」:「2016-09-18 09:26:00」}

]

解析所述標準數據,得到網絡請求返回的數據,包括參數名和對應的參數值;

若當前無標號與請求號IF1相同的緩存數據表,則新建緩存數據表,該緩存數據表的標號為IF1,該緩存數據表如表1所示:

表1

配置請求號為IF1的緩存數據表的主鍵欄位為id,排序欄位為id,索引欄位為name,翻頁控制參數中的當前頁數為1,每頁項數為5;根據上述配置信息,配置緩存數據表,以id為主鍵,並根據id從小到大排序,可快速獲取小於預設id值的數據記錄;為name欄位建立索引,可根據name值快速獲取相應的記錄;根據翻頁控制參數中的設置,當前緩存數據表顯示頁數為第一頁,且最多顯示五項記錄;

客戶端記錄時間戳為「2016-09-18 09:26:00」,該時間戳為客戶端的緩存數據表的記錄中,更新時間最接近當前時間的時間。當客戶端再次向伺服器端請求網絡接口為host_name的返回數據時,只獲取更新時間在時間戳「2016-09-18 09:26:00」之後的數據,且從相應的刪除表中獲取刪除時間在時間戳「2016-09-18 09:26:00」之後的所刪除記錄的編號,得到差異更新數據。伺服器端將差異更新數據分頁,客戶端按頁依次獲取所述差異更新數據,並更新相應的緩存數據表。

綜上所述,本發明提供的一種差異更新緩存數據的方法及系統,通過為網絡接口的返回數據自動創建緩存數據表,使得客戶端可直接使用緩存數據無需設計本地存儲;當客戶端向伺服器端的網絡接口請求獲取數據時,發送客戶端最後更新的數據的時間戳給伺服器端,伺服器端的網絡接口根據所述時間戳從相應的數據表中獲取在該時間戳之後更新的數據返回給客戶端,實現差異更新客戶端所需的同步數據,有利於減少耗費網絡資源,提高同步數據的速度;進一步地,當伺服器端的數據表進行更新操作時,記錄相應的操作時間,其中更新操作包括增加記錄、刪除記錄和修改記錄。存儲相應更新操作的時間,可識別出與客戶端現有的數據相比的差異數據;進一步地,當更新數據的量較大時,通過分頁獲取更新數據的方式能夠緩解網絡壓力,避免出現客戶端因瞬時無法承載大量數據而導致崩潰的情況;進一步地,可對緩存數據表進行查詢等操作,通過配置緩存數據表,可優化查詢操作;進一步地,通過為返回數據的欄位及數據結構相同的網絡接口分配相同的請求號,可實現聚合不同網絡接口的網絡請求返回的數據,有利於集中對返回數據進行分析和處理。

以上所述僅為本發明的實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等同變換,或直接或間接運用在相關的技術領域,均同理包括在本發明的專利保護範圍內。

同类文章

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

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