專利名稱:基于B/S模式的離線SaaS應(yīng)用軟件實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于B/S模式的離線MaS應(yīng)用軟件實(shí)現(xiàn)方法,尤其是一種解決基于瀏覽器/服務(wù)器模式的^aS應(yīng)用軟件離線應(yīng)用時(shí)數(shù)據(jù)同步的管理軟件,屬于計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域。
背景技術(shù):
基于B/S模式的離線MaS應(yīng)用軟件實(shí)現(xiàn)方法,實(shí)質(zhì)是一種對(duì)MaS應(yīng)用軟件離線應(yīng)用時(shí)的操作數(shù)據(jù)進(jìn)行同步管理和控制,從而實(shí)現(xiàn)^aS離線應(yīng)用的管理軟件。在離線應(yīng)用方面,此種軟件允許網(wǎng)絡(luò)應(yīng)用程序在本地存儲(chǔ)及操作應(yīng)用程序的資源,并將操作頁面和操作數(shù)據(jù)存儲(chǔ)在本地的完全可搜索的關(guān)系數(shù)據(jù)庫里,隨后通過本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間時(shí)間戳來識(shí)別離線操作的數(shù)據(jù),保證^iaS應(yīng)用軟件離線操作使用的同步。另外,現(xiàn)有技術(shù)的MaS應(yīng)用軟件是完全基于互聯(lián)網(wǎng)使用的,所有的交互和數(shù)據(jù)都需要通過互聯(lián)網(wǎng)。對(duì)于用戶來說,只能在有網(wǎng)絡(luò)連接的地點(diǎn),或者用戶必須自己配備無線上網(wǎng)卡之類的無線網(wǎng)絡(luò)設(shè)備才能使用^aS應(yīng)用軟件的服務(wù)。而在實(shí)際的生活和工作中,往往是不現(xiàn)實(shí)的?,F(xiàn)有技術(shù)存在以下缺點(diǎn)在沒有網(wǎng)絡(luò)連接、網(wǎng)速過慢或者網(wǎng)絡(luò)連接不可靠的前提下,用戶是無法通過網(wǎng)絡(luò)正常地使用MaS應(yīng)用軟件的服務(wù)。在這種情況下,如何避免數(shù)據(jù)保存時(shí)不丟失,以及如何提高用戶體驗(yàn),是當(dāng)前網(wǎng)絡(luò)應(yīng)用開發(fā)中非常熱門的一個(gè)話題。本發(fā)明通過本地Web服務(wù)器將系統(tǒng)操作頁面呈現(xiàn)給用戶,通過離線數(shù)據(jù)庫組件將網(wǎng)絡(luò)應(yīng)用程序的操作數(shù)據(jù)保存在本地?cái)?shù)據(jù)庫中。由狀態(tài)檢測(cè)組件定時(shí)監(jiān)測(cè)當(dāng)前機(jī)器是否在線,若在線,則調(diào)用同步組件通過本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間時(shí)間戳來識(shí)別數(shù)據(jù),完成與服務(wù)器數(shù)據(jù)的同步,最后調(diào)用傳輸組件將離線操作的業(yè)務(wù)數(shù)據(jù)傳送給服務(wù)器,由服務(wù)器更新最新的業(yè)務(wù)數(shù)據(jù)。顯然,現(xiàn)有的^aS應(yīng)用系統(tǒng)離線應(yīng)用時(shí)數(shù)據(jù)同步性較低,已經(jīng)不能滿足當(dāng)今各個(gè)企業(yè)的要求。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)以上現(xiàn)有技術(shù)存在的不足,提出基于B/S模式的離線 SaaS應(yīng)用軟件實(shí)現(xiàn)方法,允許網(wǎng)絡(luò)應(yīng)用程序在本地存儲(chǔ)及操作應(yīng)用程序的資源,并將操作頁面和操作數(shù)據(jù)存儲(chǔ)在本地的完全可搜索的關(guān)系數(shù)據(jù)庫里,隨后通過本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間時(shí)間戳來識(shí)別數(shù)據(jù),保證數(shù)據(jù)的同步。從而實(shí)現(xiàn)基于^aS模式的離線應(yīng)用。為了達(dá)到以上目的,本發(fā)明含有如下組件客戶端運(yùn)行軟件一用于和客戶端進(jìn)行交互的軟件終端系統(tǒng)。本地?cái)?shù)據(jù)庫一使用小型文本數(shù)據(jù)庫,本系統(tǒng)采用的是SQlite數(shù)據(jù)庫存放業(yè)務(wù)數(shù)據(jù)。以上兩個(gè)組件由以下各小組件組成客戶端運(yùn)行軟件由以下幾個(gè)組件組成離線數(shù)據(jù)庫組件---用以管理本地?cái)?shù)據(jù)庫中的業(yè)務(wù)數(shù)據(jù);
本地Web服務(wù)器組件一用以離線狀態(tài)下管理系統(tǒng)操作頁面;同步組件一完成本地?cái)?shù)據(jù)與服務(wù)器端數(shù)據(jù)的同步以及對(duì)同步過程的策略支持;傳輸組件一判斷本地機(jī)器所使用的傳輸協(xié)議,并匹配服務(wù)器中相應(yīng)的傳輸協(xié)議,實(shí)現(xiàn)各種傳輸協(xié)議;狀態(tài)檢測(cè)組件一通過比較服務(wù)器端時(shí)間戳和客戶端時(shí)間戳,判斷當(dāng)前機(jī)器是否在線。本地?cái)?shù)據(jù)庫由以下幾部分組成用戶資料表一記錄用戶的基本資料。時(shí)間對(duì)照表一記錄本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間對(duì)應(yīng)的時(shí)間戳信息,其特征在于擁有l(wèi)ive標(biāo)記字段,記錄機(jī)器是否在線。頁面表一記錄服務(wù)器中的系統(tǒng)操作頁面。業(yè)務(wù)數(shù)據(jù)表一記錄用戶操作的業(yè)務(wù)數(shù)據(jù)。用戶使用步驟為步驟一使用客戶端運(yùn)行軟件,系統(tǒng)管理員注冊(cè)系統(tǒng)普通用戶,包括用戶姓名,用戶名、密碼等等,客戶端運(yùn)行軟件將調(diào)用離線數(shù)據(jù)庫組件將普通用戶基本信息保存到數(shù)據(jù)庫的用戶資料表中。步驟二 使用客戶端運(yùn)行軟件,利用狀態(tài)檢測(cè)組件獲取服務(wù)器端的時(shí)間戳,調(diào)用離線數(shù)據(jù)庫組件將本地?cái)?shù)據(jù)庫中時(shí)間對(duì)照表中的live標(biāo)記字段的值取出,再將此標(biāo)記與服務(wù)器端記錄的標(biāo)記進(jìn)行比較,若標(biāo)記相同則表示當(dāng)前機(jī)器在線,反之,則不在線;若不在線, 則調(diào)用本地Web服務(wù)器組件,將本地?cái)?shù)據(jù)庫中頁面表中的數(shù)據(jù)取出,提供給用戶進(jìn)行正常業(yè)務(wù)操作時(shí)的操作頁面。步驟三使用客戶端運(yùn)行軟件,通過離線數(shù)據(jù)庫組件,調(diào)用離線數(shù)據(jù)庫組件將用戶操作的業(yè)務(wù)數(shù)據(jù)保存到數(shù)據(jù)庫的業(yè)務(wù)數(shù)據(jù)表中。利用同步組件判斷如果本地記錄的服務(wù)器時(shí)間戳和服務(wù)器端時(shí)間戳一致,且本地的時(shí)間戳標(biāo)記為True則說明本地?cái)?shù)據(jù)比服務(wù)器端數(shù)據(jù)新,需要將本地?cái)?shù)據(jù)更新到服務(wù)器。如果本地時(shí)間戳標(biāo)記為i^alse,且服務(wù)器端時(shí)間戳比客戶端保存的服務(wù)器端時(shí)間戳大,則說明服務(wù)器端數(shù)據(jù)比本地?cái)?shù)據(jù)新,需要將服務(wù)器端數(shù)據(jù)同步到本地;步驟四使用客戶端運(yùn)行軟件,利用傳輸組件判斷本地機(jī)器所使用的傳輸協(xié)議,并匹配服務(wù)器中相應(yīng)的傳輸協(xié)議,進(jìn)行有效地?cái)?shù)據(jù)的處理。如此,本發(fā)明通過本地Web服務(wù)器組件將系統(tǒng)操作頁面呈現(xiàn)給用戶,通過離線數(shù)據(jù)庫組件將網(wǎng)絡(luò)應(yīng)用程序的操作數(shù)據(jù)保存在本地?cái)?shù)據(jù)庫中。由狀態(tài)檢測(cè)組件定時(shí)監(jiān)測(cè)當(dāng)前機(jī)器是否在線,若在線,則調(diào)用同步組件通過本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間時(shí)間戳來識(shí)別數(shù)據(jù),完成與服務(wù)器數(shù)據(jù)的同步,最后調(diào)用傳輸組件將離線操作的業(yè)務(wù)數(shù)據(jù)傳送給服務(wù)器, 由服務(wù)器更新最新的業(yè)務(wù)數(shù)據(jù)。保證離線應(yīng)用時(shí)的數(shù)據(jù)同步,增強(qiáng)自身數(shù)據(jù)的準(zhǔn)確性。
具體實(shí)施例方式實(shí)施例一使用MyEclipse 5. 5軟件開發(fā)工具開發(fā)客戶端和服務(wù)器運(yùn)行軟件,使用市場(chǎng)上專用的數(shù)據(jù)庫管理工具,Oracle 9i建立系統(tǒng)所需要的數(shù)據(jù)庫,采用MyEclipse 5. 5作為界面開發(fā)工具,具體方式為為了達(dá)到以上目的,本發(fā)明含有如下組件客戶端運(yùn)行軟件一用于和客戶端進(jìn)行交互的軟件終端系統(tǒng)。本地?cái)?shù)據(jù)庫一使用小型文本數(shù)據(jù)庫,本系統(tǒng)采用的是SQlite數(shù)據(jù)庫存放業(yè)務(wù)數(shù)據(jù)。以上兩個(gè)組件由以下各小組件組成客戶端運(yùn)行軟件由以下幾個(gè)組件組成離線數(shù)據(jù)庫組件一用以管理本地?cái)?shù)據(jù)庫中的業(yè)務(wù)數(shù)據(jù);本地Web服務(wù)器組件一用以離線狀態(tài)下管理系統(tǒng)操作頁面;同步組件一完成本地?cái)?shù)據(jù)與服務(wù)器端數(shù)據(jù)的同步以及對(duì)同步過程的策略支持;傳輸組件一判斷本地機(jī)器所使用的傳輸協(xié)議,并匹配服務(wù)器中相應(yīng)的傳輸協(xié)議,實(shí)現(xiàn)各種傳輸協(xié)議;狀態(tài)檢測(cè)組件一通過比較服務(wù)器端時(shí)間戳和客戶端時(shí)間戳,判斷當(dāng)前機(jī)器是否在線。本地?cái)?shù)據(jù)庫由以下幾部分組成用戶資料表一記錄用戶的基本資料。時(shí)間對(duì)照表一記錄本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間對(duì)應(yīng)的時(shí)間戳信息,其特征在于擁有l(wèi)ive標(biāo)記字段,記錄機(jī)器是否在線。頁面表一記錄服務(wù)器中的系統(tǒng)操作頁面。業(yè)務(wù)數(shù)據(jù)表一記錄用戶操作的業(yè)務(wù)數(shù)據(jù)。用戶使用步驟為步驟一使用客戶端運(yùn)行軟件,系統(tǒng)管理員注冊(cè)系統(tǒng)普通用戶,包括用戶姓名,用戶名、密碼等等,客戶端運(yùn)行軟件將調(diào)用離線數(shù)據(jù)庫組件將普通用戶基本信息保存到數(shù)據(jù)庫的用戶資料表中。步驟二 使用客戶端運(yùn)行軟件,利用狀態(tài)檢測(cè)組件獲取服務(wù)器端的時(shí)間戳,調(diào)用離線數(shù)據(jù)庫組件將本地?cái)?shù)據(jù)庫中時(shí)間對(duì)照表中的live標(biāo)記字段的值取出,再將此標(biāo)記與服務(wù)器端記錄的標(biāo)記進(jìn)行比較,若標(biāo)記相同則表示當(dāng)前機(jī)器在線,反之,則不在線;若不在線, 則調(diào)用本地Web服務(wù)器組件,將本地?cái)?shù)據(jù)庫中頁面表中的數(shù)據(jù)取出,提供給用戶進(jìn)行正常業(yè)務(wù)操作時(shí)的操作頁面。步驟三使用客戶端運(yùn)行軟件,通過離線數(shù)據(jù)庫組件,調(diào)用離線數(shù)據(jù)庫組件將用戶操作的業(yè)務(wù)數(shù)據(jù)保存到數(shù)據(jù)庫的業(yè)務(wù)數(shù)據(jù)表中。利用同步組件判斷如果本地記錄的服務(wù)器時(shí)間戳和服務(wù)器端時(shí)間戳一致,且本地的時(shí)間戳標(biāo)記為True則說明本地?cái)?shù)據(jù)比服務(wù)器端數(shù)據(jù)新,需要將本地?cái)?shù)據(jù)更新到服務(wù)器。如果本地時(shí)間戳標(biāo)記為i^alse,且服務(wù)器端時(shí)間戳比客戶端保存的服務(wù)器端時(shí)間戳大,則說明服務(wù)器端數(shù)據(jù)比本地?cái)?shù)據(jù)新,需要將服務(wù)器端數(shù)據(jù)同步到本地;步驟四使用客戶端運(yùn)行軟件,利用傳輸組件判斷本地機(jī)器所使用的傳輸協(xié)議,并匹配服務(wù)器中相應(yīng)的傳輸協(xié)議,進(jìn)行有效地?cái)?shù)據(jù)的處理。除上述實(shí)施例外,本發(fā)明還可以有其他實(shí)施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍。
權(quán)利要求
1.基于B/S模式的離線MaS應(yīng)用軟件實(shí)現(xiàn)方法,其特征在于通過本地Web服務(wù)器將系統(tǒng)操作頁面呈現(xiàn)給用戶,通過離線數(shù)據(jù)庫組件將網(wǎng)絡(luò)應(yīng)用程序的操作數(shù)據(jù)保存在本地?cái)?shù)據(jù)庫中,具體步驟為由狀態(tài)檢測(cè)組件定時(shí)監(jiān)測(cè)當(dāng)前機(jī)器是否在線,若在線,則調(diào)用同步組件通過本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間時(shí)間戳來識(shí)別數(shù)據(jù),完成與服務(wù)器數(shù)據(jù)的同步,最后調(diào)用傳輸組件將離線操作的業(yè)務(wù)數(shù)據(jù)傳送給服務(wù)器,由服務(wù)器更新最新的業(yè)務(wù)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述基于B/S模式的離線MaS應(yīng)用軟件實(shí)現(xiàn)方法,其特征在于包含如下組件用以存儲(chǔ)各種數(shù)據(jù)的本地?cái)?shù)據(jù)庫;用以離線狀態(tài)下管理系統(tǒng)操作頁面的本地 Web服務(wù)器組件;用以完成本地?cái)?shù)據(jù)與服務(wù)器端數(shù)據(jù)的同步的同步組件;用以判斷本地機(jī)器所使用的傳輸協(xié)議,并匹配服務(wù)器中相應(yīng)的傳輸協(xié)議,實(shí)現(xiàn)各種傳輸協(xié)議的傳輸組件;用以判斷當(dāng)前機(jī)器是否在線的狀態(tài)檢測(cè)組件;用以管理本地?cái)?shù)據(jù)庫中的業(yè)務(wù)數(shù)據(jù)的離線數(shù)據(jù)庫組件。
3.根據(jù)權(quán)利要求1所述基于B/S模式的離線^aS應(yīng)用軟件實(shí)現(xiàn)方法,其特征在于在沒有網(wǎng)絡(luò)連接、網(wǎng)速過慢或者網(wǎng)絡(luò)連接不可靠的前提下對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行操作。
4.根據(jù)權(quán)利要求1所述基于B/S模式的離線MaS應(yīng)用軟件實(shí)現(xiàn)方法,其特征在于通過狀態(tài)檢測(cè)組件,比較服務(wù)器端時(shí)間戳和客戶端時(shí)間戳之前的標(biāo)記狀態(tài)是否相同,判斷當(dāng)前機(jī)器是否在線。
全文摘要
本發(fā)明涉及基于B/S模式的離線SaaS應(yīng)用軟件實(shí)現(xiàn)方法,屬于計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域。本發(fā)明包括用以管理業(yè)務(wù)數(shù)據(jù)的離線數(shù)據(jù)庫組件;用以離線狀態(tài)下管理系統(tǒng)操作頁面的本地Web服務(wù)器組件;用以完成數(shù)據(jù)同步的同步組件;用以實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)膫鬏斀M件;判斷當(dāng)前機(jī)器是否在線的狀態(tài)檢測(cè)組件。本發(fā)明通過本地Web服務(wù)器將系統(tǒng)操作頁面呈現(xiàn)給用戶,通過離線數(shù)據(jù)庫組件將網(wǎng)絡(luò)應(yīng)用程序的操作數(shù)據(jù)保存在本地?cái)?shù)據(jù)庫中。由狀態(tài)檢測(cè)組件定時(shí)監(jiān)測(cè)當(dāng)前機(jī)器是否在線,若在線,則調(diào)用同步組件通過本地服務(wù)器與網(wǎng)絡(luò)服務(wù)器之間時(shí)間戳來識(shí)別數(shù)據(jù),完成與服務(wù)器數(shù)據(jù)的同步,最后調(diào)用傳輸組件將離線操作的業(yè)務(wù)數(shù)據(jù)傳送給服務(wù)器,由服務(wù)器更新最新的業(yè)務(wù)數(shù)據(jù)。
文檔編號(hào)H04L29/08GK102457553SQ20101052398
公開日2012年5月16日 申請(qǐng)日期2010年10月29日 優(yōu)先權(quán)日2010年10月29日
發(fā)明者李驍淳 申請(qǐng)人:鎮(zhèn)江雅迅軟件有限責(zé)任公司