欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法

文檔序號:7756285閱讀:206來源:國知局
專利名稱:一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法
一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,尤其是軟件管理 系統(tǒng)的領(lǐng)域。
背景技術(shù)
在開發(fā)一個企業(yè)數(shù)據(jù)報審報備系統(tǒng)項目過程中,由于整個系統(tǒng)必須通過廣域 網(wǎng)展開業(yè)務(wù)操作,所以最終確定的開發(fā)方案是系統(tǒng)架構(gòu)采用三層布局,即客戶端程序 (Client)-應(yīng)用程序服務(wù)器(Application Server)-數(shù)據(jù)庫服務(wù)器(Database Server),不 同的客戶端程序通過廣域網(wǎng)連接到中心的應(yīng)用程序服務(wù)器后,通過與應(yīng)用程序服務(wù)器的數(shù) 據(jù)通訊,從而進(jìn)行各種業(yè)務(wù)操作。在這種典型的三層布局中,客戶端不存放數(shù)據(jù),每次啟動 后,它都需要通過應(yīng)用程序服務(wù)器從數(shù)據(jù)庫服務(wù)器更新各類最新的基礎(chǔ)數(shù)據(jù),之后在這些 基礎(chǔ)數(shù)據(jù)的基礎(chǔ)上展開各類業(yè)務(wù)操作。在這里,如何快高效地將這些基礎(chǔ)數(shù)據(jù)從數(shù)據(jù)庫服 務(wù)器端同步更新到客戶端,就成為了一個技術(shù)的關(guān)鍵。在將服務(wù)器端的基礎(chǔ)數(shù)據(jù)通過廣域 網(wǎng)同步更新到客戶端的過程中,傳統(tǒng)的做法是每次客戶端程序啟動后,都先連接到應(yīng)用服 務(wù)器,然后開始下載所有的基礎(chǔ)數(shù)據(jù)到本地系統(tǒng)內(nèi)存中,供自己使用,當(dāng)所有操作完畢后, 退出客戶端程序,這些保存在內(nèi)存中的基礎(chǔ)數(shù)據(jù)也被完全釋放/銷毀,這是一種比較簡單 也是較為直觀的解決方法。但這種傳統(tǒng)的技術(shù)實現(xiàn)只能適用于需要更新的數(shù)據(jù)記錄量不多 的情況,因為當(dāng)需要更新的基礎(chǔ)數(shù)據(jù)量達(dá)到十萬條、百萬條甚至更多數(shù)量時,通過廣域網(wǎng)每 次下載這些數(shù)據(jù)所需要的時間將高達(dá)幾十分鐘甚至幾個小時以上,這期間用戶必須等待, 不能進(jìn)行業(yè)務(wù)操作,這嚴(yán)重影響了程序的可用性和用戶體驗。

發(fā)明內(nèi)容為了克服上述技術(shù)的缺點,本發(fā)明目的是解決在需要通過廣域網(wǎng)更新大量基礎(chǔ)數(shù) 據(jù)到客戶端的情況下,來縮短甚至省掉這部分?jǐn)?shù)據(jù)同步更新時間,以提高系統(tǒng)的整體性能。本發(fā)明是這樣實現(xiàn)的,一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,其特 征在于所述三層架構(gòu)包括數(shù)據(jù)庫服務(wù)器、應(yīng)用程序服務(wù)器、客戶端程序,所述優(yōu)化方法按 以下步驟實現(xiàn)步驟10、客戶端程序啟動,連接到應(yīng)用程序服務(wù)器;步驟20、客戶端程序?qū)⒆詈笠淮螖?shù)據(jù)更新時間發(fā)送到應(yīng)用程序服務(wù)器;步驟30、應(yīng)用程序服務(wù)器通過記錄的操作時間戳對比,如果客戶端程序的基礎(chǔ)數(shù) 據(jù)有更新,查找客戶端程序需要更新的數(shù)據(jù),并將需更新的數(shù)據(jù)在數(shù)據(jù)庫服務(wù)器形成增量 包,如果客戶端程序的基礎(chǔ)數(shù)據(jù)未更新,直接開始客戶端程序的業(yè)務(wù)操作;步驟40、客戶端程序下載數(shù)據(jù)庫服務(wù)器形成的增量包;步驟50、客戶端程序?qū)⑾螺d的增量包和自身的緩存文件進(jìn)行合并,形成新的緩存 文件,再做更新成功標(biāo)志,而后開始客戶端程序的業(yè)務(wù)操作。本發(fā)明的有益之處在于可以很大程度地縮短系統(tǒng)基礎(chǔ)數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器更新到客戶端所需要的時間,甚至可以忽略該部分的時間消耗(當(dāng)數(shù)據(jù)庫服務(wù)器沒有數(shù)據(jù)更新 時),提升了系統(tǒng)的整體性能。這對于基于三層架構(gòu)或需要通過廣域網(wǎng)進(jìn)行數(shù)據(jù)更新的系 統(tǒng),尤其是當(dāng)系統(tǒng)數(shù)據(jù)量龐大,傳統(tǒng)數(shù)據(jù)更新方法極其低效時,本發(fā)明都可以將系統(tǒng)的整體 性能得到一個質(zhì)的提升。

圖1是本發(fā)明的實施例的三層管理系統(tǒng)通訊架構(gòu)圖。圖2是本發(fā)明的數(shù)據(jù)增量更新優(yōu)化方法的流程示意圖。
具體實施方式下面結(jié)合附圖及實施例對本發(fā)明做進(jìn)一步描述。圖1是基于三層架構(gòu)的軟件管理系統(tǒng)通常都可以分為三個部分?jǐn)?shù)據(jù)庫服務(wù)器部 分是安裝常見數(shù)據(jù)庫系統(tǒng),如常見的發(fā)生的SqlServer,Oracle, DB2等。應(yīng)用程序服務(wù)器部分是負(fù)責(zé)具體的業(yè)務(wù)實現(xiàn),在用戶程序和數(shù)據(jù)庫中間起到 橋梁的作用,定義并提供各種接口供客戶端程序調(diào)用。應(yīng)用程序服務(wù)器(Application Server)與數(shù)據(jù)庫服務(wù)器(Database Server)可以在同一臺物理機(jī)器中,也可以位于不同 機(jī)器上??蛻舳顺绦虿糠质敲嫦蜃罱K用戶,根據(jù)不同功能可以有不同的客戶端程序,但都 必須連接到應(yīng)用程序服務(wù)器,組成星型結(jié)構(gòu),并調(diào)用應(yīng)用程序服務(wù)器已經(jīng)封裝的各種數(shù)據(jù) 接口,實現(xiàn)業(yè)務(wù)操作。如果數(shù)據(jù)庫服務(wù)器端基礎(chǔ)數(shù)據(jù)有更新的話,客戶端所使用的相關(guān)數(shù)據(jù) 必須進(jìn)行及時更新,以保證業(yè)務(wù)數(shù)據(jù)的正確性,這也正是為什么客戶端程序需要聯(lián)機(jī)更新 數(shù)據(jù)的原因。圖2是本發(fā)明的數(shù)據(jù)增量更新優(yōu)化方法的流程示意圖。具體的流程是分以下步驟 實現(xiàn)的步驟10、客戶端程序啟動,連接到應(yīng)用程序服務(wù)器;步驟20、客戶端程序?qū)⒆詈笠淮螖?shù)據(jù)更新時間發(fā)送到應(yīng)用程序服務(wù)器;步驟30、應(yīng)用程序服務(wù)器通過記錄的操作時間戳對比,如果客戶端程序的基礎(chǔ)數(shù) 據(jù)有更新,查找客戶端程序需要更新的數(shù)據(jù),并將需更新的數(shù)據(jù)在數(shù)據(jù)庫服務(wù)器形成增量 包,如果客戶端程序的基礎(chǔ)數(shù)據(jù)未更新,直接開始客戶端程序的業(yè)務(wù)操作;步驟40、客戶端程序下載數(shù)據(jù)庫服務(wù)器形成的增量包;步驟50、客戶端程序?qū)⑾螺d的增量包和自身的緩存文件進(jìn)行合并,形成新的緩存 文件,再做更新成功標(biāo)志,而后開始客戶端程序的業(yè)務(wù)操作。其中客戶端程序,應(yīng)用服務(wù)器程序,數(shù)據(jù)庫服務(wù)器都需要進(jìn)行適當(dāng)?shù)墓δ茉黾踊?結(jié)構(gòu)調(diào)整,具體來說需要實現(xiàn)至少以下幾個功能1.在數(shù)據(jù)庫服務(wù)器端,凡是對數(shù)據(jù)庫各類基礎(chǔ)數(shù)據(jù)的操作(包括記錄修改、記錄 增加和記錄刪除),都需要登記最后操作時間,這相當(dāng)于每一條基礎(chǔ)數(shù)據(jù)記錄,都擁有唯一 操作時間,便于跟蹤;2.每個客戶端程序啟動后,都需要將本機(jī)最后一次數(shù)據(jù)更新時間發(fā)送至應(yīng)用程序 服務(wù)器。應(yīng)用程序服務(wù)器程序通過記錄的操作時間戳比對,就可以獲悉當(dāng)前客戶端有哪些數(shù)據(jù)尚未更新,從而形成更新增量包文件。對于不同的客戶端程序,返回的更新包不同。3.如果客戶端本地沒有數(shù)據(jù)緩存文件(第一次鏈接到服務(wù)器,或數(shù)據(jù)緩存文件被 刪除),則需要下載基礎(chǔ)數(shù)據(jù)全量包。這是保證在最低效率情況下,本發(fā)明的效率仍然不低 于傳統(tǒng)數(shù)據(jù)更新方式的效率。4.如果數(shù)據(jù)庫服務(wù)器端的基礎(chǔ)數(shù)據(jù)進(jìn)行了大批量的數(shù)據(jù)修改或添加,勢必造成返 回增量包過大,此時如果返回增量包,雖然減少了數(shù)據(jù)下載時間,但是卻明顯增加了返回的 增量包數(shù)據(jù)和本地緩存文件的合并時間。所以當(dāng)增量包過大時,可直接返回全量包,以提高 整體效率。5.更新增量包下載到客戶端后,需要和本地基礎(chǔ)數(shù)據(jù)緩存文件包進(jìn)行數(shù)據(jù)合并和 更新,生成新的基礎(chǔ)數(shù)據(jù)緩存文件,從而完成數(shù)據(jù)更新??傊景l(fā)明能解決在需要通過廣域網(wǎng)更新大量基礎(chǔ)數(shù)據(jù)到客戶端的情況下,來 縮短甚至省掉這部分?jǐn)?shù)據(jù)同步更新時間,以提高系統(tǒng)的整體性能。以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與 修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,其特征在于所述三層架構(gòu)包括數(shù)據(jù)庫服務(wù)器、應(yīng)用程序服務(wù)器、客戶端程序,所述優(yōu)化方法按以下步驟實現(xiàn)步驟10、客戶端程序啟動,連接到應(yīng)用程序服務(wù)器;步驟20、客戶端程序?qū)⒆詈笠淮螖?shù)據(jù)更新時間發(fā)送到應(yīng)用程序服務(wù)器;步驟30、應(yīng)用程序服務(wù)器通過記錄的操作時間戳對比,如果客戶端程序的基礎(chǔ)數(shù)據(jù)有更新,查找客戶端程序需要更新的數(shù)據(jù),并將需更新的數(shù)據(jù)在數(shù)據(jù)庫服務(wù)器形成增量包,如果客戶端程序的基礎(chǔ)數(shù)據(jù)未更新,直接開始客戶端程序的業(yè)務(wù)操作;步驟40、客戶端程序下載數(shù)據(jù)庫服務(wù)器形成的增量包;步驟50、客戶端程序?qū)⑾螺d的增量包和自身的緩存文件進(jìn)行合并,形成新的緩存文件,再做更新成功標(biāo)志,而后開始客戶端程序的業(yè)務(wù)操作。
2.根據(jù)權(quán)利要求1所述的一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,其特征 在于所述的增量包過大時,應(yīng)從數(shù)據(jù)庫服務(wù)器直接形成全量包,以提高系統(tǒng)數(shù)據(jù)增量的整 體效率,所述數(shù)據(jù)庫服務(wù)器直接將客戶端程序要更新的總體數(shù)據(jù)形成全量包,以供客戶端 程序下載。
3.根據(jù)權(quán)利要求1所述的一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,其特征 在于所述的增量包和自身的緩存文件進(jìn)行合并時,如果增量包中包含了數(shù)據(jù)庫服務(wù)器新 增加的數(shù)據(jù)記錄,則直接將增量包中的數(shù)據(jù)記錄添加到自身的緩存文件里。
4.根據(jù)權(quán)利要求1所述的一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,其特征 在于所述的增量包和自身的緩存文件進(jìn)行合并時,如果增量包中包含了數(shù)據(jù)庫服務(wù)器修 改變動后的數(shù)據(jù)記錄,則先刪除自身緩存文件對應(yīng)的增量包中的舊數(shù)據(jù)記錄內(nèi)容,再將增 量包添加到自身緩存文件里。
5.根據(jù)權(quán)利要求1所述的一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,其特征 在于所述的增量包和自身的緩存文件進(jìn)行合并時,如果增量包中包含了數(shù)據(jù)庫服務(wù)器刪 除的數(shù)據(jù)記錄,則應(yīng)該把自身緩存文件中對應(yīng)的增量包中的數(shù)據(jù)記錄刪除。
全文摘要
本發(fā)明提供一種基于三層架構(gòu)的系統(tǒng)數(shù)據(jù)增量更新的優(yōu)化方法,其特征在于包括數(shù)據(jù)庫服務(wù)器、應(yīng)用程序服務(wù)器、客戶端程序??蛻舳讼螺d基礎(chǔ)數(shù)據(jù)成功后,將本次下載的基礎(chǔ)數(shù)據(jù)在客戶端生成一個緩存文件,當(dāng)下一次客戶端程序啟動并向應(yīng)用程序服務(wù)器請求基礎(chǔ)數(shù)據(jù)更新時,應(yīng)用程序服務(wù)器通過記錄的操作時間戳對比,然后從數(shù)據(jù)庫服務(wù)器下載已經(jīng)變化過的數(shù)據(jù)。這樣可以很大程度地縮短系統(tǒng)基礎(chǔ)數(shù)據(jù)從數(shù)據(jù)庫服務(wù)器更新到客戶端所需要的時間,甚至可以忽略該部分的時間消耗,提升了系統(tǒng)的整體性能。
文檔編號H04L29/08GK101931647SQ201010247928
公開日2010年12月29日 申請日期2010年8月9日 優(yōu)先權(quán)日2010年8月9日
發(fā)明者李捷, 林仁文, 鄭子鳳 申請人:福州星網(wǎng)視易信息系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
赤水市| 十堰市| 张掖市| 宽城| 峨眉山市| 望奎县| 郴州市| 定远县| 晴隆县| 乌兰察布市| 湘西| 莆田市| 镇巴县| 沙坪坝区| 读书| 东平县| 航空| 绍兴市| 海宁市| 忻州市| 华容县| 平山县| 莲花县| 小金县| 呈贡县| 重庆市| 溧水县| 和平县| 宜兰市| 镇康县| 海安县| 施秉县| 静宁县| 玉溪市| 吕梁市| 彭山县| 青川县| 普陀区| 抚松县| 汶川县| 汨罗市|