新四季網

基於資料庫時間標籤的增量數據查詢方法

2023-04-23 13:31:21 1

基於資料庫時間標籤的增量數據查詢方法
【專利摘要】本發明公開了一種基於資料庫時間標籤的增量數據查詢方法,其採用時間標籤的方式分別對資料庫數據和客戶端請求進行標註,資料庫數據攜帶的時間標籤,記錄數據的更新時間,即更新時間標籤;客戶端請求中攜帶的時間標籤是用戶上一次請求數據的響應時間,即響應時間標籤,伺服器通過比較資料庫信息的更新時間標籤和請求中的響應時間標籤實現增量數據反饋。本發明的方法可以適用於數據更新相對不頻繁,但單次更新數據量巨大的客戶伺服器網絡環境,通過增加時間標籤,實現資料庫增量數據查詢,能夠在保證滿足用戶請求的同時減少伺服器的數據處理開銷和通信開銷,極大地改善伺服器的性能。
【專利說明】基於資料庫時間標籤的增量數據查詢方法
【技術領域】
[0001]本發明屬於網絡通信【技術領域】,具體涉及一種基於資料庫時間標籤的增量數據查詢方法的設計。
【背景技術】
[0002]大多數應用軟體系統都是基於客戶端/伺服器這種網絡環境開發的,在這種結構中,客戶端可以通過向伺服器發送請求來索取需求數據。通常情況下,客戶端每發送一次請求命令,伺服器都會根據客戶端的需求查詢資料庫獲得所有相關數據並返回給客戶端。對於更新頻繁的大資料庫系統來說,採用前面所述伺服器接收請求即進行查詢的機制是合理甚至必須的;但是對於更新相對不頻繁,並且單次更新數據量很大的數據系統來說,這種查詢機制就會存在一定弊端。
[0003]首先,由於數據更新相對不頻繁,在多數情況下用戶每次查詢得到的最終結果實際都是相同的,但卻需要伺服器的進行大量重複性的工作。
[0004]其次,假設某客戶端經常甚至連續不斷的一直發送請求命令的話,伺服器就需要一直處理用戶請求,查詢資料庫的相關數據,返迴響應,會對伺服器造成很大的壓力,佔用伺服器額外資源,影響其工作效率和性能,甚至造成其崩潰。

【發明內容】

[0005]本發明所要解決的技術問題是針對現有技術中客戶端與伺服器間查詢機制存在的問題導致伺服器的工作效率和性能較低的缺陷而提出了一種基於資料庫時間標籤的增量數據查詢方法。
[0006]本發明解決其技術問題採用的技術方案是:基於資料庫時間標籤的增量數據查詢方法,具體包括:
[0007]步驟1、伺服器端採用更新時間標籤對資料庫中的數據進行更新時間記錄,所述更新時間標籤隨資料庫中的數據變化而更新;同時伺服器端採用響應時間標籤對客戶端向伺服器端請求數據的響應時間進行標記;
[0008]步驟2、客戶端向所述伺服器端發送數據請求報文,若所述客戶端為第一次發送數據請求報文,則直接發送請求信息;否則,需要攜帶上一次所述伺服器端對客戶端回復的數據請求的響應時間標籤;
[0009]步驟3、伺服器端接收數據請求包,提取所述數據請求包中攜帶的上一次請求數據時所述伺服器端回復的響應報文中攜帶的響應時間標籤,將所述響應時間標籤與需求數據的更新時間標籤進行比較,並回復響應報文至所述客戶端;
[0010]步驟4、客戶端收到所述伺服器端回復的響應報文後,分析響應報文中包含的數據,利用本地緩存數據與返回的數據信息構造最終的需求結果。
[0011]進一步的,所述步驟I中,所述更新時間標籤根據不同的系統性能和功能要求有不同的粒度模式,所述粒度模式對應為資料庫中數據的更新時間標籤的標記細化到資料庫、數據表、數據記錄或者正則表達式。
[0012]更進一步的,所述粒度模式對應為資料庫中數據的更新時間標籤的標記細化到數據表時,所述資料庫單獨維護一個更新時間記錄表,所述更新時間記錄表至少包含兩個欄位:數據表ID和表的更新時間標籤;
[0013]當資料庫中某個數據表發生變化候,所述更新時間記錄表需要記錄這個表的ID和更新時間標籤,當所述客戶端發送數據請求時,先查詢所述更新時間記錄表,若發現所需數據發生了更新,再去查詢具體數據表中更新的新數據。
[0014]進一步的,所述步驟3中對所述響應時間標籤與需求數據的更新時間標籤進行比較的具體過程為:若數據更新時間標籤晚於請求包中攜帶的響應時間標籤,則需要重新查詢資料庫,提取需求數據返回給客戶端;
[0015]若數據的更新時間標籤早於數據請求中的響應時間標籤,則不需要在重新查詢資料庫獲得該數據,直接採用標記機制告知客戶端此數據在上次請求之後沒有更新變化,直接利用上次的數據信息。
[0016]更進一步的,所述步驟3中選擇離當下最近的更時間標籤作為用於比較的更新時間標籤對響應報文作標記。
[0017]本發明的有益效果:本發明基於資料庫時間標籤的增量數據查詢方法通過採用時間標籤的方式分別對資料庫數據和客戶端請求進行標註,資料庫數據對應的時間標籤,記錄數據的最近更新時間,即更新時間標籤;客戶端請求中攜帶的時間標籤是用戶上一次請求數據的響應包標誌時間,即響應標記時間標籤;伺服器通過比較資料庫信息的更新時間標籤和請求中的響應標記時間標籤實現增量數據反饋,本發明可以適用於數據更新相對不頻繁的客戶伺服器網絡環境,通過增加時間標籤,實現資料庫增量數據查詢,能夠在保證滿足用戶請求的同時減少伺服器的數據處理開銷和通信開銷,極大地改善伺服器的性能,節省資源,同時在靈活性和可擴展性方面有很大的改進。
【專利附圖】

【附圖說明】
[0018]圖1為本發明實施例的基於資料庫時間標籤的增量數據查詢方法的流程框圖;
[0019]圖2為本發明實施例的基於資料庫時間標籤的增量數據查詢方法中更新記錄表的結構不意圖;
[0020]圖3為本發明實施例的基於資料庫時間標籤的增量數據查詢方法中教授信息表、副教授信息表和博士信息表的結構示意圖;
[0021]圖4為本發明實施例的基於資料庫時間標籤的增量數據查詢方法中發生變化之前和之後的更新記錄表。
【具體實施方式】
[0022]下面結合附圖和具體的實施例對本發明作進一步的闡述。
[0023]如圖1所示為本發明實施例基於資料庫時間標籤的增量數據查詢方法的流程框圖,其具體包括如下步驟:
[0024]步驟1、伺服器端採用更新時間標籤對資料庫中的數據進行更新時間記錄,所述更新時間標籤隨資料庫中的數據變化而更新;同時伺服器端採用響應時間標籤對客戶端向伺服器端請求數據的響應時間進行標記;
[0025]所述更新時間標籤根據不同的系統性能和功能要求有不同的粒度模式,所述粒度模式對應為資料庫中數據的更新時間標籤的標記可以細化到資料庫、數據表、數據記錄或者正則表達式等。
[0026]當所述粒度模式對應為資料庫中數據的更新時間標籤的標記細化到數據表時,所述資料庫單獨維護一個更新時間記錄表,所述更新時間記錄表至少包含兩個欄位:數據表ID和表的更新時間標籤;當資料庫中某個數據表發生變化候,所述更新時間記錄表需要記錄這個表的ID和更新時間標籤,當所述客戶端發送數據請求時,先查詢所述更新時間記錄表,若發現所需數據發生了更新,再去查詢具體數據表中更新的新數據。下面在具體實施例中將詳細介紹所述粒度模式細化到數據表時,客戶端向伺服器端查詢數據增量的詳細過程。
[0027]步驟2、客戶端向所述伺服器端發送數據請求報文,若所述客戶端為第一次發送數據請求報文,則直接發送請求信息;否則,需要攜帶上一次所述伺服器端對客戶端回復的數據請求的響應時間標籤;
[0028]當客戶端向伺服器端發送了數據請求報文之後,所述伺服器端會根據客戶端的數據請求回復對應的響應報文,響應報文中除了請求的數據信息還包括響應時間標籤,所述響應時間標籤用於標記此次伺服器端的響應時間或者是記錄請求數據的最近更新時間,這個標誌信息需要在客戶端做緩存,當客戶端下次再發送相同的請求時需要在請求中攜帶上這個響應時間標籤。
[0029]步驟3、伺服器端接收數據請求包,提取所述數據請求包中攜帶的上一次請求數據時所述伺服器端回復的響應報文中攜帶的響應時間標籤,將所述響應時間標籤與需求數據的更新時間標籤進行比較,並回復響應報文至所述客戶端;
[0030]其中,所述響應時間標籤與需求數據的更新時間標籤進行比較的具體過程為:若數據更新時間標籤晚於請求包中攜帶的響應時間標籤,則需要重新查詢資料庫,提取需求數據返回給客戶端;若數據的更新時間標籤早於數據請求中的響應時間標籤,則不需要在重新查詢資料庫獲得該數據,直接採用標記機制告知客戶端此數據在上次請求之後沒有更新變化,直接利用上次的數據信息。並且在所述步驟3中應當選擇離當下最近的更時間標籤作為用於比較的更新時間標籤對響應報文作標記,例如,假設客戶端向伺服器端發送數據請求中要求獲得A、B兩個數據信息,而A的更新時間標籤是2013-02-02,B的更新時間標籤是2013-02-03,那兩個時間標籤對比得知,B的更新時間標籤更接近於當下,那我們就選擇B的更新時間標籤作為整個響應報文的響應時間標籤。
[0031]步驟4、客戶端收到所述伺服器端回復的響應報文後,分析響應報文中包含的數據,利用本地緩存數據與返回的數據信息構造最終的需求結果。
[0032]其中,利用本地緩存數據與返回的數據信息構造最終的需求結果不屬於本發明申請方案重點討論內容,具體手段可以按照相關規則利用現有【技術領域】中的公知常識進行需求結構的構造。
[0033]本發明通過採用時間標籤方式分別對資料庫數據和客戶端請求進行標註,資料庫數據攜帶的更新時間標籤記錄數據的更新時間;客戶端請求中攜帶的響應時間標籤是用戶上一次請求數據的響應時間,伺服器端通過比較資料庫信息的更新時間標籤和請求中的響應時間標籤實現增量數據反饋,本發明的方法可以適用於數據更新相對不頻繁,但單次更新數據量巨大的客戶伺服器網絡環境,通過增加時間標籤,實現資料庫增量數據查詢,能夠在保證滿足用戶請求的同時減少伺服器的數據處理開銷和通信開銷,極大地改善伺服器的性能。
[0034]為了本領域技術人員能夠理解並且實施本發明技術方案,下面將結合具體的實施例作進一步闡述:其中,所述伺服器端的更新時間標籤的粒度模式具體細化到資料庫中的數據表,資料庫中單獨維護著一個更新記錄表,用來記錄每個數據表的更新時間,所述更新記錄表的結構如圖2所示,其主要包含兩個欄位:數據表ID和數據表的更新時間標籤,當某數據表中有數據發生更新包括增、刪、改等變化時,更新記錄表中此表的表ID對應的更新時間標籤就會隨之發生更新;當然,如果所述伺服器端的更新時間標籤的粒度模式具體細化到其他事項時,對應的更新記錄表也可以為其他格式。
[0035]當客戶端向所述伺服器端發送數據請求報文時,請求包中攜帶上次數據請求的響應時間標籤,當伺服器端接收請求包,提取包中攜帶的上次請求的響應時間標籤,然後根據需求查詢更新記錄表中用戶需求的數據表ID對應的更新時間標籤,將響應時間標籤與更新時間標籤兩者進行比較,實現增量數據反饋,具體為:若數據表對應的更新時間標籤晚於請求包中攜帶的響應標記時間標籤,則需要重新查詢數據表提取此表中的需求數據;若更新時間標籤早於請求中的時間標籤,則不需要再對該數據表進行查詢操作,直接在響應包的包頭做標記說明即可,告訴客戶端此表中的數據未發生更新,與上次的結果保持一致。此夕卜,選擇需求數據的數據表ID對應的更新時間標籤中離當下時間最近的更新時間標籤對響應包標記響應時間標籤。
[0036]下面通過一個具體實例來進行說明:
[0037]已知資料庫中存在三個表:教授信息表、副教授信息表和博士信息表,所述表結構如圖3所示,其中,教授表中包含教授編號、姓名、研究方向三個欄位,副教授信息表中包含副教授編號、姓名和研究方向三個欄位,博士信息表中包含博士編號、姓名和研究方向三個欄位。所述教授信息表、副教授信息表和博士信息表表之間存在一定的關聯:當某副教授升職為教授的時候會同時導致教授表和副教授表信息的更新變化。
[0038]假設:教授信息表、副教授信息表和博士信息表的表ID分別為1,2,3 ;某人甲在2013.6.20日發送請求查詢了本學院的所有教授信息和所有博士,某人乙在同一天2013.6.20查詢了本學院所有副教授的信息,2013.7.1日學院M副教授正是升職為教授,則若甲乙兩人在2013.7.15日再一次分別查詢本學院教授信息和副教授信息,整個請求、響應流程的展開過程如下步驟:
[0039]步驟A、針對三個表進行更新時間標籤標記,更新記錄表結構如圖2所示,本例的資料庫中,2013-07-01日之前和之後的更新記錄表如圖4所示,可見表1、2的時間標籤都發生了變化。
[0040]步驟B、2013-07_15日甲和乙再一次相同的發送請求命令,假設甲乙請求包中攜帶的上次請求時間標籤都是2013-06-20。
[0041]步驟C、伺服器收到請求包,提取甲請求包的時間標籤,與更新記錄表中的表ID=I的更新時間標籤比較,發現教授表信息在上次請求之後發生了更新,則需要重新查詢教授信息表並提取數據信息,而表ID=3對應的更新時間早於上次請求時間2013-06-20,說明博士表信息沒有發生過變化,所以無需再對該表進行查詢操作,構造對甲的響應包並攜帶新的時間標籤2013-07-01返回甲客戶端。對於乙請求包來說,伺服器將時間標籤2013-6-20與副教授信息表的更新時間標籤進行比較,發現2013-6-20之後,副教授信息表發生了更新變化,所以需要再一次查詢此數據表,獲得數據返回給客戶端乙,時間標籤也選擇2013-07-01。
[0042]步驟D、甲、乙客戶端收到響應之後,都用2013-07-01標籤更新替換2013-06-20,
緩存在本地,然後根據規則構造響應結果即可。
【權利要求】
1.基於資料庫時間標籤的增量數據查詢方法,其特徵在於,具體包括: 步驟1、伺服器端採用更新時間標籤對資料庫中的數據進行更新時間記錄,所述更新時間標籤隨資料庫中的數據變化而更新;同時伺服器端採用響應時間標籤對客戶端向伺服器端請求數據的響應時間進行標記; 步驟2、客戶端向所述伺服器端發送數據請求報文,若所述客戶端為第一次發送數據請求報文,則直接發送請求信息;否則,需要攜帶上一次所述伺服器端對客戶端回復的數據請求的響應時間標籤; 步驟3、伺服器端接收數據請求包,提取所述數據請求包中攜帶的上一次請求數據時所述伺服器端回復的響應報文中攜帶的響應時間標籤,將所述響應時間標籤與需求數據的更新時間標籤進行比較,並回復響應報文至所述客戶端; 步驟4、客戶端收到所述伺服器端回復的響應報文後,分析響應報文中包含的數據,利用本地緩存數據與返回的數據信息構造最終的需求結果。
2.如權利要求1所述的基於資料庫時間標籤的增量數據查詢方法,其特徵在於,所述步驟I中,所述更新時間標籤有不同的粒度模式,所述粒度模式對應為資料庫中數據的更新時間標籤的標記細化到資料庫、數據表、數據記錄或者正則表達式。
3.如權利要求2所述的基於資料庫時間標籤的增量數據查詢方法,其特徵在於,所述粒度模式對應為資料庫中數據的更新時間標籤的標記細化到數據表時,所述資料庫單獨維護一個更新時間記錄表,所述更新時間記錄表至少包含兩個欄位:數據表ID和表的更新時間標籤; 當資料庫中某個數據表發生變化候,所述更新時間記錄表需要記錄這個表的ID和更新時間標籤,當所述客戶端發送數據請求時,先查詢所述更新時間記錄表,若發現所需數據發生了更新,再去查詢具體數據表中更新的新數據。
4.如權利要求1至3任一項權利要求所述的基於資料庫時間標籤的增量數據查詢方法,其特徵在於,所述步驟3中對所述響應時間標籤與需求數據的更新時間標籤進行比較的具體過程為:若數據更新時間標籤晚於請求包中攜帶的響應時間標籤,則需要重新查詢資料庫,提取需求數據返回給客戶端; 若數據的更新時間標籤早於數據請求中的響應時間標籤,則不需要在重新查詢資料庫獲得該數據,直接採用標記機制告知客戶端此數據在上次請求之後沒有更新變化,直接利用上次的數據信息。
5.如權利要求1至3任一項權利要求所述的基於資料庫時間標籤的增量數據查詢方法,其特徵在於,所述步驟3中選擇離當下最近的更時間標籤作為用於比較的更新時間標籤對響應報文作標記。
【文檔編號】H04L29/06GK103440317SQ201310381493
【公開日】2013年12月11日 申請日期:2013年8月28日 優先權日:2013年8月28日
【發明者】李龍江, 趙海霞, 夏棋, 李永剛 申請人:電子科技大學

同类文章

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

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