基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法
【專利摘要】本發(fā)明公開了一種基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法,其采用時間標(biāo)簽的方式分別對數(shù)據(jù)庫數(shù)據(jù)和客戶端請求進行標(biāo)注,數(shù)據(jù)庫數(shù)據(jù)攜帶的時間標(biāo)簽,記錄數(shù)據(jù)的更新時間,即更新時間標(biāo)簽;客戶端請求中攜帶的時間標(biāo)簽是用戶上一次請求數(shù)據(jù)的響應(yīng)時間,即響應(yīng)時間標(biāo)簽,服務(wù)器通過比較數(shù)據(jù)庫信息的更新時間標(biāo)簽和請求中的響應(yīng)時間標(biāo)簽實現(xiàn)增量數(shù)據(jù)反饋。本發(fā)明的方法可以適用于數(shù)據(jù)更新相對不頻繁,但單次更新數(shù)據(jù)量巨大的客戶服務(wù)器網(wǎng)絡(luò)環(huán)境,通過增加時間標(biāo)簽,實現(xiàn)數(shù)據(jù)庫增量數(shù)據(jù)查詢,能夠在保證滿足用戶請求的同時減少服務(wù)器的數(shù)據(jù)處理開銷和通信開銷,極大地改善服務(wù)器的性能。
【專利說明】基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,具體涉及一種基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法的設(shè)計。
【背景技術(shù)】
[0002]大多數(shù)應(yīng)用軟件系統(tǒng)都是基于客戶端/服務(wù)器這種網(wǎng)絡(luò)環(huán)境開發(fā)的,在這種結(jié)構(gòu)中,客戶端可以通過向服務(wù)器發(fā)送請求來索取需求數(shù)據(jù)。通常情況下,客戶端每發(fā)送一次請求命令,服務(wù)器都會根據(jù)客戶端的需求查詢數(shù)據(jù)庫獲得所有相關(guān)數(shù)據(jù)并返回給客戶端。對于更新頻繁的大數(shù)據(jù)庫系統(tǒng)來說,采用前面所述服務(wù)器接收請求即進行查詢的機制是合理甚至必須的;但是對于更新相對不頻繁,并且單次更新數(shù)據(jù)量很大的數(shù)據(jù)系統(tǒng)來說,這種查詢機制就會存在一定弊端。
[0003]首先,由于數(shù)據(jù)更新相對不頻繁,在多數(shù)情況下用戶每次查詢得到的最終結(jié)果實際都是相同的,但卻需要服務(wù)器的進行大量重復(fù)性的工作。
[0004]其次,假設(shè)某客戶端經(jīng)常甚至連續(xù)不斷的一直發(fā)送請求命令的話,服務(wù)器就需要一直處理用戶請求,查詢數(shù)據(jù)庫的相關(guān)數(shù)據(jù),返回響應(yīng),會對服務(wù)器造成很大的壓力,占用服務(wù)器額外資源,影響其工作效率和性能,甚至造成其崩潰。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)中客戶端與服務(wù)器間查詢機制存在的問題導(dǎo)致服務(wù)器的工作效率和性能較低的缺陷而提出了一種基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法。
[0006]本發(fā)明解決其技術(shù)問題采用的技術(shù)方案是:基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法,具體包括:
[0007]步驟1、服務(wù)器端采用更新時間標(biāo)簽對數(shù)據(jù)庫中的數(shù)據(jù)進行更新時間記錄,所述更新時間標(biāo)簽隨數(shù)據(jù)庫中的數(shù)據(jù)變化而更新;同時服務(wù)器端采用響應(yīng)時間標(biāo)簽對客戶端向服務(wù)器端請求數(shù)據(jù)的響應(yīng)時間進行標(biāo)記;
[0008]步驟2、客戶端向所述服務(wù)器端發(fā)送數(shù)據(jù)請求報文,若所述客戶端為第一次發(fā)送數(shù)據(jù)請求報文,則直接發(fā)送請求信息;否則,需要攜帶上一次所述服務(wù)器端對客戶端回復(fù)的數(shù)據(jù)請求的響應(yīng)時間標(biāo)簽;
[0009]步驟3、服務(wù)器端接收數(shù)據(jù)請求包,提取所述數(shù)據(jù)請求包中攜帶的上一次請求數(shù)據(jù)時所述服務(wù)器端回復(fù)的響應(yīng)報文中攜帶的響應(yīng)時間標(biāo)簽,將所述響應(yīng)時間標(biāo)簽與需求數(shù)據(jù)的更新時間標(biāo)簽進行比較,并回復(fù)響應(yīng)報文至所述客戶端;
[0010]步驟4、客戶端收到所述服務(wù)器端回復(fù)的響應(yīng)報文后,分析響應(yīng)報文中包含的數(shù)據(jù),利用本地緩存數(shù)據(jù)與返回的數(shù)據(jù)信息構(gòu)造最終的需求結(jié)果。
[0011]進一步的,所述步驟I中,所述更新時間標(biāo)簽根據(jù)不同的系統(tǒng)性能和功能要求有不同的粒度模式,所述粒度模式對應(yīng)為數(shù)據(jù)庫中數(shù)據(jù)的更新時間標(biāo)簽的標(biāo)記細化到數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)記錄或者正則表達式。
[0012]更進一步的,所述粒度模式對應(yīng)為數(shù)據(jù)庫中數(shù)據(jù)的更新時間標(biāo)簽的標(biāo)記細化到數(shù)據(jù)表時,所述數(shù)據(jù)庫單獨維護一個更新時間記錄表,所述更新時間記錄表至少包含兩個字段:數(shù)據(jù)表ID和表的更新時間標(biāo)簽;
[0013]當(dāng)數(shù)據(jù)庫中某個數(shù)據(jù)表發(fā)生變化候,所述更新時間記錄表需要記錄這個表的ID和更新時間標(biāo)簽,當(dāng)所述客戶端發(fā)送數(shù)據(jù)請求時,先查詢所述更新時間記錄表,若發(fā)現(xiàn)所需數(shù)據(jù)發(fā)生了更新,再去查詢具體數(shù)據(jù)表中更新的新數(shù)據(jù)。
[0014]進一步的,所述步驟3中對所述響應(yīng)時間標(biāo)簽與需求數(shù)據(jù)的更新時間標(biāo)簽進行比較的具體過程為:若數(shù)據(jù)更新時間標(biāo)簽晚于請求包中攜帶的響應(yīng)時間標(biāo)簽,則需要重新查詢數(shù)據(jù)庫,提取需求數(shù)據(jù)返回給客戶端;
[0015]若數(shù)據(jù)的更新時間標(biāo)簽早于數(shù)據(jù)請求中的響應(yīng)時間標(biāo)簽,則不需要在重新查詢數(shù)據(jù)庫獲得該數(shù)據(jù),直接采用標(biāo)記機制告知客戶端此數(shù)據(jù)在上次請求之后沒有更新變化,直接利用上次的數(shù)據(jù)信息。
[0016]更進一步的,所述步驟3中選擇離當(dāng)下最近的更時間標(biāo)簽作為用于比較的更新時間標(biāo)簽對響應(yīng)報文作標(biāo)記。
[0017]本發(fā)明的有益效果:本發(fā)明基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法通過采用時間標(biāo)簽的方式分別對數(shù)據(jù)庫數(shù)據(jù)和客戶端請求進行標(biāo)注,數(shù)據(jù)庫數(shù)據(jù)對應(yīng)的時間標(biāo)簽,記錄數(shù)據(jù)的最近更新時間,即更新時間標(biāo)簽;客戶端請求中攜帶的時間標(biāo)簽是用戶上一次請求數(shù)據(jù)的響應(yīng)包標(biāo)志時間,即響應(yīng)標(biāo)記時間標(biāo)簽;服務(wù)器通過比較數(shù)據(jù)庫信息的更新時間標(biāo)簽和請求中的響應(yīng)標(biāo)記時間標(biāo)簽實現(xiàn)增量數(shù)據(jù)反饋,本發(fā)明可以適用于數(shù)據(jù)更新相對不頻繁的客戶服務(wù)器網(wǎng)絡(luò)環(huán)境,通過增加時間標(biāo)簽,實現(xiàn)數(shù)據(jù)庫增量數(shù)據(jù)查詢,能夠在保證滿足用戶請求的同時減少服務(wù)器的數(shù)據(jù)處理開銷和通信開銷,極大地改善服務(wù)器的性能,節(jié)省資源,同時在靈活性和可擴展性方面有很大的改進。
【專利附圖】
【附圖說明】
[0018]圖1為本發(fā)明實施例的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法的流程框圖;
[0019]圖2為本發(fā)明實施例的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法中更新記錄表的結(jié)構(gòu)不意圖;
[0020]圖3為本發(fā)明實施例的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法中教授信息表、副教授信息表和博士信息表的結(jié)構(gòu)示意圖;
[0021]圖4為本發(fā)明實施例的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法中發(fā)生變化之前和之后的更新記錄表。
【具體實施方式】
[0022]下面結(jié)合附圖和具體的實施例對本發(fā)明作進一步的闡述。
[0023]如圖1所示為本發(fā)明實施例基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法的流程框圖,其具體包括如下步驟:
[0024]步驟1、服務(wù)器端采用更新時間標(biāo)簽對數(shù)據(jù)庫中的數(shù)據(jù)進行更新時間記錄,所述更新時間標(biāo)簽隨數(shù)據(jù)庫中的數(shù)據(jù)變化而更新;同時服務(wù)器端采用響應(yīng)時間標(biāo)簽對客戶端向服務(wù)器端請求數(shù)據(jù)的響應(yīng)時間進行標(biāo)記;
[0025]所述更新時間標(biāo)簽根據(jù)不同的系統(tǒng)性能和功能要求有不同的粒度模式,所述粒度模式對應(yīng)為數(shù)據(jù)庫中數(shù)據(jù)的更新時間標(biāo)簽的標(biāo)記可以細化到數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)記錄或者正則表達式等。
[0026]當(dāng)所述粒度模式對應(yīng)為數(shù)據(jù)庫中數(shù)據(jù)的更新時間標(biāo)簽的標(biāo)記細化到數(shù)據(jù)表時,所述數(shù)據(jù)庫單獨維護一個更新時間記錄表,所述更新時間記錄表至少包含兩個字段:數(shù)據(jù)表ID和表的更新時間標(biāo)簽;當(dāng)數(shù)據(jù)庫中某個數(shù)據(jù)表發(fā)生變化候,所述更新時間記錄表需要記錄這個表的ID和更新時間標(biāo)簽,當(dāng)所述客戶端發(fā)送數(shù)據(jù)請求時,先查詢所述更新時間記錄表,若發(fā)現(xiàn)所需數(shù)據(jù)發(fā)生了更新,再去查詢具體數(shù)據(jù)表中更新的新數(shù)據(jù)。下面在具體實施例中將詳細介紹所述粒度模式細化到數(shù)據(jù)表時,客戶端向服務(wù)器端查詢數(shù)據(jù)增量的詳細過程。
[0027]步驟2、客戶端向所述服務(wù)器端發(fā)送數(shù)據(jù)請求報文,若所述客戶端為第一次發(fā)送數(shù)據(jù)請求報文,則直接發(fā)送請求信息;否則,需要攜帶上一次所述服務(wù)器端對客戶端回復(fù)的數(shù)據(jù)請求的響應(yīng)時間標(biāo)簽;
[0028]當(dāng)客戶端向服務(wù)器端發(fā)送了數(shù)據(jù)請求報文之后,所述服務(wù)器端會根據(jù)客戶端的數(shù)據(jù)請求回復(fù)對應(yīng)的響應(yīng)報文,響應(yīng)報文中除了請求的數(shù)據(jù)信息還包括響應(yīng)時間標(biāo)簽,所述響應(yīng)時間標(biāo)簽用于標(biāo)記此次服務(wù)器端的響應(yīng)時間或者是記錄請求數(shù)據(jù)的最近更新時間,這個標(biāo)志信息需要在客戶端做緩存,當(dāng)客戶端下次再發(fā)送相同的請求時需要在請求中攜帶上這個響應(yīng)時間標(biāo)簽。
[0029]步驟3、服務(wù)器端接收數(shù)據(jù)請求包,提取所述數(shù)據(jù)請求包中攜帶的上一次請求數(shù)據(jù)時所述服務(wù)器端回復(fù)的響應(yīng)報文中攜帶的響應(yīng)時間標(biāo)簽,將所述響應(yīng)時間標(biāo)簽與需求數(shù)據(jù)的更新時間標(biāo)簽進行比較,并回復(fù)響應(yīng)報文至所述客戶端;
[0030]其中,所述響應(yīng)時間標(biāo)簽與需求數(shù)據(jù)的更新時間標(biāo)簽進行比較的具體過程為:若數(shù)據(jù)更新時間標(biāo)簽晚于請求包中攜帶的響應(yīng)時間標(biāo)簽,則需要重新查詢數(shù)據(jù)庫,提取需求數(shù)據(jù)返回給客戶端;若數(shù)據(jù)的更新時間標(biāo)簽早于數(shù)據(jù)請求中的響應(yīng)時間標(biāo)簽,則不需要在重新查詢數(shù)據(jù)庫獲得該數(shù)據(jù),直接采用標(biāo)記機制告知客戶端此數(shù)據(jù)在上次請求之后沒有更新變化,直接利用上次的數(shù)據(jù)信息。并且在所述步驟3中應(yīng)當(dāng)選擇離當(dāng)下最近的更時間標(biāo)簽作為用于比較的更新時間標(biāo)簽對響應(yīng)報文作標(biāo)記,例如,假設(shè)客戶端向服務(wù)器端發(fā)送數(shù)據(jù)請求中要求獲得A、B兩個數(shù)據(jù)信息,而A的更新時間標(biāo)簽是2013-02-02,B的更新時間標(biāo)簽是2013-02-03,那兩個時間標(biāo)簽對比得知,B的更新時間標(biāo)簽更接近于當(dāng)下,那我們就選擇B的更新時間標(biāo)簽作為整個響應(yīng)報文的響應(yīng)時間標(biāo)簽。
[0031]步驟4、客戶端收到所述服務(wù)器端回復(fù)的響應(yīng)報文后,分析響應(yīng)報文中包含的數(shù)據(jù),利用本地緩存數(shù)據(jù)與返回的數(shù)據(jù)信息構(gòu)造最終的需求結(jié)果。
[0032]其中,利用本地緩存數(shù)據(jù)與返回的數(shù)據(jù)信息構(gòu)造最終的需求結(jié)果不屬于本發(fā)明申請方案重點討論內(nèi)容,具體手段可以按照相關(guān)規(guī)則利用現(xiàn)有【技術(shù)領(lǐng)域】中的公知常識進行需求結(jié)構(gòu)的構(gòu)造。
[0033]本發(fā)明通過采用時間標(biāo)簽方式分別對數(shù)據(jù)庫數(shù)據(jù)和客戶端請求進行標(biāo)注,數(shù)據(jù)庫數(shù)據(jù)攜帶的更新時間標(biāo)簽記錄數(shù)據(jù)的更新時間;客戶端請求中攜帶的響應(yīng)時間標(biāo)簽是用戶上一次請求數(shù)據(jù)的響應(yīng)時間,服務(wù)器端通過比較數(shù)據(jù)庫信息的更新時間標(biāo)簽和請求中的響應(yīng)時間標(biāo)簽實現(xiàn)增量數(shù)據(jù)反饋,本發(fā)明的方法可以適用于數(shù)據(jù)更新相對不頻繁,但單次更新數(shù)據(jù)量巨大的客戶服務(wù)器網(wǎng)絡(luò)環(huán)境,通過增加時間標(biāo)簽,實現(xiàn)數(shù)據(jù)庫增量數(shù)據(jù)查詢,能夠在保證滿足用戶請求的同時減少服務(wù)器的數(shù)據(jù)處理開銷和通信開銷,極大地改善服務(wù)器的性能。
[0034]為了本領(lǐng)域技術(shù)人員能夠理解并且實施本發(fā)明技術(shù)方案,下面將結(jié)合具體的實施例作進一步闡述:其中,所述服務(wù)器端的更新時間標(biāo)簽的粒度模式具體細化到數(shù)據(jù)庫中的數(shù)據(jù)表,數(shù)據(jù)庫中單獨維護著一個更新記錄表,用來記錄每個數(shù)據(jù)表的更新時間,所述更新記錄表的結(jié)構(gòu)如圖2所示,其主要包含兩個字段:數(shù)據(jù)表ID和數(shù)據(jù)表的更新時間標(biāo)簽,當(dāng)某數(shù)據(jù)表中有數(shù)據(jù)發(fā)生更新包括增、刪、改等變化時,更新記錄表中此表的表ID對應(yīng)的更新時間標(biāo)簽就會隨之發(fā)生更新;當(dāng)然,如果所述服務(wù)器端的更新時間標(biāo)簽的粒度模式具體細化到其他事項時,對應(yīng)的更新記錄表也可以為其他格式。
[0035]當(dāng)客戶端向所述服務(wù)器端發(fā)送數(shù)據(jù)請求報文時,請求包中攜帶上次數(shù)據(jù)請求的響應(yīng)時間標(biāo)簽,當(dāng)服務(wù)器端接收請求包,提取包中攜帶的上次請求的響應(yīng)時間標(biāo)簽,然后根據(jù)需求查詢更新記錄表中用戶需求的數(shù)據(jù)表ID對應(yīng)的更新時間標(biāo)簽,將響應(yīng)時間標(biāo)簽與更新時間標(biāo)簽兩者進行比較,實現(xiàn)增量數(shù)據(jù)反饋,具體為:若數(shù)據(jù)表對應(yīng)的更新時間標(biāo)簽晚于請求包中攜帶的響應(yīng)標(biāo)記時間標(biāo)簽,則需要重新查詢數(shù)據(jù)表提取此表中的需求數(shù)據(jù);若更新時間標(biāo)簽早于請求中的時間標(biāo)簽,則不需要再對該數(shù)據(jù)表進行查詢操作,直接在響應(yīng)包的包頭做標(biāo)記說明即可,告訴客戶端此表中的數(shù)據(jù)未發(fā)生更新,與上次的結(jié)果保持一致。此夕卜,選擇需求數(shù)據(jù)的數(shù)據(jù)表ID對應(yīng)的更新時間標(biāo)簽中離當(dāng)下時間最近的更新時間標(biāo)簽對響應(yīng)包標(biāo)記響應(yīng)時間標(biāo)簽。
[0036]下面通過一個具體實例來進行說明:
[0037]已知數(shù)據(jù)庫中存在三個表:教授信息表、副教授信息表和博士信息表,所述表結(jié)構(gòu)如圖3所示,其中,教授表中包含教授編號、姓名、研究方向三個字段,副教授信息表中包含副教授編號、姓名和研究方向三個字段,博士信息表中包含博士編號、姓名和研究方向三個字段。所述教授信息表、副教授信息表和博士信息表表之間存在一定的關(guān)聯(lián):當(dāng)某副教授升職為教授的時候會同時導(dǎo)致教授表和副教授表信息的更新變化。
[0038]假設(shè):教授信息表、副教授信息表和博士信息表的表ID分別為1,2,3 ;某人甲在2013.6.20日發(fā)送請求查詢了本學(xué)院的所有教授信息和所有博士,某人乙在同一天2013.6.20查詢了本學(xué)院所有副教授的信息,2013.7.1日學(xué)院M副教授正是升職為教授,則若甲乙兩人在2013.7.15日再一次分別查詢本學(xué)院教授信息和副教授信息,整個請求、響應(yīng)流程的展開過程如下步驟:
[0039]步驟A、針對三個表進行更新時間標(biāo)簽標(biāo)記,更新記錄表結(jié)構(gòu)如圖2所示,本例的數(shù)據(jù)庫中,2013-07-01日之前和之后的更新記錄表如圖4所示,可見表1、2的時間標(biāo)簽都發(fā)生了變化。
[0040]步驟B、2013-07_15日甲和乙再一次相同的發(fā)送請求命令,假設(shè)甲乙請求包中攜帶的上次請求時間標(biāo)簽都是2013-06-20。
[0041]步驟C、服務(wù)器收到請求包,提取甲請求包的時間標(biāo)簽,與更新記錄表中的表ID=I的更新時間標(biāo)簽比較,發(fā)現(xiàn)教授表信息在上次請求之后發(fā)生了更新,則需要重新查詢教授信息表并提取數(shù)據(jù)信息,而表ID=3對應(yīng)的更新時間早于上次請求時間2013-06-20,說明博士表信息沒有發(fā)生過變化,所以無需再對該表進行查詢操作,構(gòu)造對甲的響應(yīng)包并攜帶新的時間標(biāo)簽2013-07-01返回甲客戶端。對于乙請求包來說,服務(wù)器將時間標(biāo)簽2013-6-20與副教授信息表的更新時間標(biāo)簽進行比較,發(fā)現(xiàn)2013-6-20之后,副教授信息表發(fā)生了更新變化,所以需要再一次查詢此數(shù)據(jù)表,獲得數(shù)據(jù)返回給客戶端乙,時間標(biāo)簽也選擇2013-07-01。
[0042]步驟D、甲、乙客戶端收到響應(yīng)之后,都用2013-07-01標(biāo)簽更新替換2013-06-20,
緩存在本地,然后根據(jù)規(guī)則構(gòu)造響應(yīng)結(jié)果即可。
【權(quán)利要求】
1.基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法,其特征在于,具體包括: 步驟1、服務(wù)器端采用更新時間標(biāo)簽對數(shù)據(jù)庫中的數(shù)據(jù)進行更新時間記錄,所述更新時間標(biāo)簽隨數(shù)據(jù)庫中的數(shù)據(jù)變化而更新;同時服務(wù)器端采用響應(yīng)時間標(biāo)簽對客戶端向服務(wù)器端請求數(shù)據(jù)的響應(yīng)時間進行標(biāo)記; 步驟2、客戶端向所述服務(wù)器端發(fā)送數(shù)據(jù)請求報文,若所述客戶端為第一次發(fā)送數(shù)據(jù)請求報文,則直接發(fā)送請求信息;否則,需要攜帶上一次所述服務(wù)器端對客戶端回復(fù)的數(shù)據(jù)請求的響應(yīng)時間標(biāo)簽; 步驟3、服務(wù)器端接收數(shù)據(jù)請求包,提取所述數(shù)據(jù)請求包中攜帶的上一次請求數(shù)據(jù)時所述服務(wù)器端回復(fù)的響應(yīng)報文中攜帶的響應(yīng)時間標(biāo)簽,將所述響應(yīng)時間標(biāo)簽與需求數(shù)據(jù)的更新時間標(biāo)簽進行比較,并回復(fù)響應(yīng)報文至所述客戶端; 步驟4、客戶端收到所述服務(wù)器端回復(fù)的響應(yīng)報文后,分析響應(yīng)報文中包含的數(shù)據(jù),利用本地緩存數(shù)據(jù)與返回的數(shù)據(jù)信息構(gòu)造最終的需求結(jié)果。
2.如權(quán)利要求1所述的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法,其特征在于,所述步驟I中,所述更新時間標(biāo)簽有不同的粒度模式,所述粒度模式對應(yīng)為數(shù)據(jù)庫中數(shù)據(jù)的更新時間標(biāo)簽的標(biāo)記細化到數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)記錄或者正則表達式。
3.如權(quán)利要求2所述的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法,其特征在于,所述粒度模式對應(yīng)為數(shù)據(jù)庫中數(shù)據(jù)的更新時間標(biāo)簽的標(biāo)記細化到數(shù)據(jù)表時,所述數(shù)據(jù)庫單獨維護一個更新時間記錄表,所述更新時間記錄表至少包含兩個字段:數(shù)據(jù)表ID和表的更新時間標(biāo)簽; 當(dāng)數(shù)據(jù)庫中某個數(shù)據(jù)表發(fā)生變化候,所述更新時間記錄表需要記錄這個表的ID和更新時間標(biāo)簽,當(dāng)所述客戶端發(fā)送數(shù)據(jù)請求時,先查詢所述更新時間記錄表,若發(fā)現(xiàn)所需數(shù)據(jù)發(fā)生了更新,再去查詢具體數(shù)據(jù)表中更新的新數(shù)據(jù)。
4.如權(quán)利要求1至3任一項權(quán)利要求所述的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法,其特征在于,所述步驟3中對所述響應(yīng)時間標(biāo)簽與需求數(shù)據(jù)的更新時間標(biāo)簽進行比較的具體過程為:若數(shù)據(jù)更新時間標(biāo)簽晚于請求包中攜帶的響應(yīng)時間標(biāo)簽,則需要重新查詢數(shù)據(jù)庫,提取需求數(shù)據(jù)返回給客戶端; 若數(shù)據(jù)的更新時間標(biāo)簽早于數(shù)據(jù)請求中的響應(yīng)時間標(biāo)簽,則不需要在重新查詢數(shù)據(jù)庫獲得該數(shù)據(jù),直接采用標(biāo)記機制告知客戶端此數(shù)據(jù)在上次請求之后沒有更新變化,直接利用上次的數(shù)據(jù)信息。
5.如權(quán)利要求1至3任一項權(quán)利要求所述的基于數(shù)據(jù)庫時間標(biāo)簽的增量數(shù)據(jù)查詢方法,其特征在于,所述步驟3中選擇離當(dāng)下最近的更時間標(biāo)簽作為用于比較的更新時間標(biāo)簽對響應(yīng)報文作標(biāo)記。
【文檔編號】H04L29/06GK103440317SQ201310381493
【公開日】2013年12月11日 申請日期:2013年8月28日 優(yōu)先權(quán)日:2013年8月28日
【發(fā)明者】李龍江, 趙海霞, 夏棋, 李永剛 申請人:電子科技大學(xué)