亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu)及開發(fā)方法

文檔序號:7890456閱讀:263來源:國知局
專利名稱:一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu)及開發(fā)方法
技術(shù)領(lǐng)域
本發(fā)明屬于Web服務(wù)領(lǐng)域,主要實現(xiàn)了一種面向移動智能終端的兩層的服務(wù)緩存系統(tǒng)架構(gòu),尤其涉及一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu)及開發(fā)方法。
背景技術(shù)
隨著移動通信和 嵌入式技術(shù)的高速發(fā)展,便攜移動智能設(shè)備的計算能力、存儲能力、續(xù)航能力越來越強,能夠集成傳感器、近場通信、藍牙、紅外等功能模塊,完成曾經(jīng)需要臺式機才能執(zhí)行的任務(wù)。而利用Web服務(wù)技術(shù)、云計算技術(shù)作為服務(wù)提供者,向移動終端提供數(shù)據(jù)存儲和計算的能力,能夠?qū)崿F(xiàn)強大的功能和豐富的應(yīng)用模式。然而由于通信代價和服務(wù)調(diào)用開銷的不可避免性,反復(fù)的遠程服務(wù)調(diào)用會造成較大的響應(yīng)延遲,并且受限于移動設(shè)備端的電量、存儲容量等因素,對于大型應(yīng)用,不可能存儲應(yīng)用所需的所有數(shù)據(jù)。另外,無線網(wǎng)絡(luò)和移動環(huán)境的不穩(wěn)定性會經(jīng)常導(dǎo)致服務(wù)端不可用的情況,而移動設(shè)備端需要保證隨時的可用性。

發(fā)明內(nèi)容
針對上述技術(shù)問題,本發(fā)明提出一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu)及開發(fā)方法,通過實現(xiàn)一個位于移動客戶端和云端服務(wù)器之上的緩存系統(tǒng),對服務(wù)器運算結(jié)果和下載數(shù)據(jù)進行緩存,減少對遠端服務(wù)的調(diào)用次數(shù)從而降低整個系統(tǒng)的運行開銷,提高執(zhí)行效率。同時,在移動便攜設(shè)備端實現(xiàn)一個緩存系統(tǒng),對移動設(shè)備端需要上傳和下載的數(shù)據(jù)同時進行緩存。在網(wǎng)絡(luò)異常導(dǎo)致遠端服務(wù)不可用的情況下,緩存的熱點下載數(shù)據(jù)能夠保證應(yīng)用的隨時可用,緩存的上傳數(shù)據(jù)能夠保證移動端收集的重要數(shù)據(jù)在網(wǎng)絡(luò)故障時不會丟失,在服務(wù)可用時能恢復(fù)正常運行。為了解決上述技術(shù)問題,本發(fā)明的技術(shù)方案如下一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu),包括移動設(shè)備端的緩存模塊、服務(wù)端緩存模塊和輔助開發(fā)工具;當移動設(shè)備端處在聯(lián)網(wǎng)狀態(tài)時,移動設(shè)備端應(yīng)用發(fā)出的請求被所述移動設(shè)備端的緩存模塊截獲,并且檢查移動設(shè)備端的緩存數(shù)據(jù)有效性,通過事先與該應(yīng)用協(xié)商策略,選擇返回移動設(shè)備端緩存數(shù)據(jù)或者從服務(wù)端更新數(shù)據(jù),而當移動設(shè)備處在斷網(wǎng)時,對于讀寫請求根據(jù)協(xié)商策略,進行分別處理,其中對讀請求如同聯(lián)網(wǎng)狀態(tài)一樣通過緩存數(shù)據(jù)進行選擇性響應(yīng),而對于寫請求則將寫請求緩存于所述移動設(shè)備端的緩存模塊的寫隊列中,直到檢測到移動設(shè)備端處在聯(lián)網(wǎng)狀態(tài)時,對寫請求進行重放,同時所述移動設(shè)備端的緩存模塊可以對移動設(shè)備的電量進行實時檢測,一旦電量超過報警閾值,則對緩存數(shù)據(jù)進行預(yù)先持久化備份,并在移動設(shè)備端斷電重啟之后自動恢復(fù)緩存狀態(tài);所述服務(wù)端緩存模塊為所有遠程服務(wù)透明的提供緩存機制的一個通用服務(wù)模塊,其包括緩存管理模塊和服務(wù)代理,所述緩存管理模塊可以在key-value存儲引擎之上,針對服務(wù)緩存的特性,實現(xiàn)多級key-value、異步更新或失效檢測,并可以根據(jù)對應(yīng)的服務(wù)緩存語意描述,提供可動態(tài)調(diào)整的緩存策略,所述服務(wù)代理通過一個注冊接口,將遠程服務(wù)注冊到所述服務(wù)端代理中,同時在服務(wù)端生成一個經(jīng)過代理和緩存之后的等價代理服務(wù),將其暴露給調(diào)用者;
所述輔助開發(fā)工具能讀取目標遠程服務(wù)的WSDL文件,自動的將其注冊到所述服務(wù)代理中,并且解析對應(yīng)的服務(wù)緩存語意描述,根據(jù)移動設(shè)備端的協(xié)商策略,自動生成在移動設(shè)備端可運行的服務(wù)調(diào)用框架代碼。進一步的,所述移動設(shè)備端的緩存模塊所涉及的策略包括緩存更新、斷網(wǎng)處理,所述服務(wù)端緩存模塊所涉及的策略包括緩存失效、緩存更新。一種利用面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu)的開發(fā)方法,包括如下步驟21)根據(jù)移動設(shè)備端應(yīng)用需求,在服務(wù)庫里搜索所需要的服務(wù),得到目標服務(wù)的訪問地址;22)將步驟21)中所得到的目標服務(wù)地址注冊到服務(wù)代理中;23)在目標服務(wù)注冊到服務(wù)代理之中后,首先通過對WSDL的結(jié)構(gòu)分析自動生成服務(wù)緩存語意描述文件,再根據(jù)服務(wù)提供商所提供的服務(wù)信息對所述服務(wù)緩存語意描述進行修改發(fā)布;所述服務(wù)緩存語意描述文件是用來描述一個Web服務(wù)在操作級的語義信息的XML,可以用來向緩存系統(tǒng)提供關(guān)于服務(wù)操作的讀寫特性和狀態(tài)特性的語義化描述;24)根據(jù)步驟23)中得到的服務(wù)緩存語意描述文件,在服務(wù)端構(gòu)建服務(wù)緩存狀態(tài),并進行初始化策略;25)根據(jù)服務(wù)緩存語意描述文件和調(diào)用者需求對移動設(shè)備端的緩存策略進行協(xié)商策略;26)根據(jù)步驟25)協(xié)商策略的結(jié)果,生成相關(guān)基礎(chǔ)代碼。本發(fā)明的有益效果在于提供一個面向移動設(shè)備的服務(wù)緩存系統(tǒng),在具有一般緩存減少延遲、降低服務(wù)器負擔的優(yōu)點的同時,對于移動終端的特點,針對性的提供了優(yōu)化技術(shù),使其更能滿足移動設(shè)備的需求,提高移動終端上基于Web Service的應(yīng)用的性能和可用性,具體包括I、本發(fā)明提出了一個移動端-服務(wù)端兩層緩存架構(gòu),分離了面向移動設(shè)備的緩存需求,將提高一致性、可用性、減少訪問延遲的需求放置到服務(wù)端緩存解決,同時將解決斷網(wǎng)、斷電、有限內(nèi)存熱點數(shù)據(jù)存儲等移動設(shè)備特有的緩存需求,在移動端緩存解決。該設(shè)計大大簡化了緩存系統(tǒng)的實現(xiàn),同時降低了系統(tǒng)間耦合依賴,并且分離了目標需求,使得在不同模塊實現(xiàn)上能夠更好的針對目標進行優(yōu)化。2、本發(fā)明設(shè)計了基于服務(wù)緩存語意和協(xié)商的緩存策略系統(tǒng)。該策略系統(tǒng)通過對緩存語意描述的解析,結(jié)合用戶需求,和運行時檢測,動態(tài)的選擇緩存策略使緩存系統(tǒng)的行為能夠適應(yīng)于不同的服務(wù)特性和多種用戶需求,具有更好的靈活性,同時也提高了緩存系統(tǒng)的有效性,提升了性能。3、本發(fā)明解決了移動設(shè)備上斷網(wǎng)、斷電、小內(nèi)存的特殊緩存需求,提供了通用的移動設(shè)備端緩存模塊CacheLib,為基于Web Service開發(fā)的移動應(yīng)用提供了一個基礎(chǔ)平臺,并且通過輔助開發(fā)工具Wsdl2M0bile自動生成的代碼,將對本地移動設(shè)備端緩存模塊CacheLib的訪問、代理服務(wù)的調(diào)用以及策略的協(xié)商選擇封裝到一個可重用的工具中,分離了邏輯和實現(xiàn),方便了平臺之上的應(yīng)用開發(fā)。


圖I為面向移動設(shè)備的服務(wù)緩存系統(tǒng)原理及架構(gòu)圖;圖2為基于本架構(gòu)的開發(fā)時概念流程圖3為運行時移動設(shè)備端緩存模塊執(zhí)行流程圖;圖4為運行時服務(wù)端模塊執(zhí)行流程圖。
具體實施例方式下面將結(jié)合附圖和具體實施例對本發(fā)明做進一步的說明。本發(fā)明的目標是提供一個面向移動設(shè)備的,兩層架構(gòu)的服務(wù)緩存系統(tǒng),主要面向移動環(huán)境下對服務(wù)的緩存需求,同時針對web服務(wù)的特殊性,提出了針對性的緩存設(shè)計。該緩存系統(tǒng)主要包括以下部分(I)位于移動設(shè)備端的緩存模塊CacheLib。移動設(shè)備端的緩存模塊CacheLib旨在解決移動設(shè)備在斷網(wǎng)、斷電等不穩(wěn)定情況下,對服務(wù)調(diào)用結(jié)果的本地緩存問題,同時在有限的內(nèi)存下,通過本地緩存,對少量集中訪問的熱點數(shù)據(jù)提供快速的響應(yīng),同時減少移動設(shè)備的對網(wǎng)絡(luò)訪問的流量消耗。當移動設(shè)備端處在聯(lián)網(wǎng)狀態(tài)時,移動設(shè)備端應(yīng)用發(fā)出的請求被CacheLib截獲,并且檢查本地的緩存數(shù)據(jù)有效性,通過事先與應(yīng)用協(xié)商策略,選擇返回本地緩存數(shù)據(jù)或者從服務(wù)端更新數(shù)據(jù)。而在斷網(wǎng)時,對于讀寫請求根據(jù)協(xié)商策略,采取不同的處理辦法。其中對讀請求同樣通過緩存數(shù)據(jù)進行選擇性響應(yīng),而對于寫請求則將其緩存于寫隊列中,直到檢測到聯(lián)網(wǎng)之后,對起請求進行重放。同時CacheLib對設(shè)備的電量進行實時檢測,一旦電量超過報警閾值,則對緩存數(shù)據(jù)進行預(yù)先持久化備份,并在設(shè)備斷電重啟之后自動恢復(fù)緩存狀態(tài)。(2)服務(wù)端緩存模塊包括緩存管理模塊ServerCache和服務(wù)代理ServiceProxy。服務(wù)端緩存是為所有遠程服務(wù)提供緩存機制的一個通用服務(wù),所有基于本緩存系統(tǒng)的應(yīng)用都是與服務(wù)端緩存系統(tǒng)進行直接交互。本模塊主要提供對原創(chuàng)服務(wù)的注冊、代理轉(zhuǎn)發(fā)、語意文件注冊生成,緩存管理,緩存策略調(diào)整等功能。結(jié)構(gòu)上可以劃分為兩個模塊,ServerCache在現(xiàn)有的成熟key-value存儲引擎之上,針對服務(wù)緩存的特性,實現(xiàn)了多級key-value,異步更新,失效檢測等,并且根據(jù)服務(wù)對應(yīng)的服務(wù)緩存語意描述,提供可動態(tài)調(diào)整的緩存策略。ServiceProxy則實現(xiàn)和對遠端Web服務(wù)的真實調(diào)用,調(diào)用根據(jù)不同的策略,可以由緩存調(diào)用者發(fā)起,也可以由ServerCache發(fā)起。ServiceProxy通過一個注冊接口,將遠程服務(wù)注冊到服務(wù)端代理中,同時在服務(wù)端生成一個經(jīng)過代理和緩存之后的等價代理服務(wù),將其暴露給調(diào)用者。調(diào)用者對該等價代理服務(wù)的調(diào)用,等效為對原遠程服務(wù)的調(diào)用,通過這一代理過程,能夠透明的提供對服務(wù)的緩存機制,同時對現(xiàn)有的大量客戶端、運行中的Web服務(wù)具有良好的兼容性。(3)輔助開發(fā)工具Wsdl2Mobile。Wsdl2Mobile是一個輔助基于本服務(wù)緩存的移動應(yīng)用開發(fā)的工具。Wsdl2M0bile讀取目標遠程服務(wù)的WSDL文件,自動的將其注冊到服務(wù)代理中,并且解析對應(yīng)的服務(wù)緩存語意描述(CSD),根據(jù)(I)中協(xié)商策略,自動生成在移動設(shè)備端可運行的服務(wù)調(diào)用框架代碼。
在本發(fā)明部分(I)中所描述的協(xié)商策略包含服務(wù)緩存語意描述(CSD)和用戶需求描述兩部分,通過其二者的協(xié)商決定的緩存策略。服務(wù)緩存語意描述的定義和策略的協(xié)商在以下方案中詳細描述。移動設(shè)備端所涉及的緩存策略,主要包括緩存更新、斷網(wǎng)處理。月艮務(wù)端所涉及的緩存策略主要包括緩存失效、緩存更新。如圖I為面向移動設(shè)備的服務(wù)緩存系統(tǒng)模塊及基本架構(gòu)。CacheLib對移動設(shè)備端緩存訪問、服務(wù)代理調(diào)用、移動緩存策略管理提供封裝。利用Wsdl2Mobile套件,可生成由CacheLib提供緩存功能的調(diào)用策略代碼,同時Wsdl2Mobile將對原遠程服務(wù)的調(diào)用,根據(jù)代理SOAP協(xié)議(PiOxy-SOAP)轉(zhuǎn)化為對服務(wù)代理的調(diào)用。以上過程所生成的基礎(chǔ)代碼可用于開發(fā)者進行具體業(yè)務(wù)邏輯層的開發(fā)。(2)服務(wù)端緩存模塊由兩個協(xié)同工作的系統(tǒng)構(gòu)成緩存管理模塊和服務(wù)代理。服務(wù)代理通過代理SOAP協(xié)議(Proxy-SOAP),利用SOAP頭中的源服務(wù)地址,將本地的請求代理轉(zhuǎn)發(fā)到源服務(wù),并利用遠程服務(wù)的返回值構(gòu)造代理服務(wù)的返回值。一個基于代理SOAP協(xié)議的SOAP請求包如表I表I Proxy-SOAP 請求格式
權(quán)利要求
1.一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu),其特征在于,包括移動設(shè)備端的緩存模塊、服務(wù)端緩存模塊和輔助開發(fā)工具; 當移動設(shè)備端處在聯(lián)網(wǎng)狀態(tài)時,移動設(shè)備端應(yīng)用發(fā)出的請求被所述移動設(shè)備端的緩存模塊截獲,并且檢查移動設(shè)備端的緩存數(shù)據(jù)有效性,通過事先與該應(yīng)用協(xié)商策略,選擇返回移動設(shè)備端緩存數(shù)據(jù)或者從服務(wù)端更新數(shù)據(jù),而當移動設(shè)備處在斷網(wǎng)時,對于讀寫請求根據(jù)協(xié)商策略,進行分別處理,其中對讀請求如同聯(lián)網(wǎng)狀態(tài)一樣通過緩存數(shù)據(jù)進行選擇性響應(yīng),而對于寫請求則將寫請求緩存于所述移動設(shè)備端的緩存模塊的寫隊列中,直到檢測到移動設(shè)備端處在聯(lián)網(wǎng)狀態(tài)時,對寫請求進行重放,同時所述移動設(shè)備端的緩存模塊可以對移動設(shè)備的電量進行實時檢測,一旦電量超過報警閾值,則對緩存數(shù)據(jù)進行預(yù)先持久化備份,并在移動設(shè)備端斷電重啟之后自動恢復(fù)緩存狀態(tài); 所述服務(wù)端緩存模塊為所有遠程服務(wù)透明的提供緩存機制的一個通用服務(wù)模塊,其包括緩存管理模塊和服務(wù)代理,所述緩存管理模塊可以在key-value存儲引擎之上,針對服務(wù)緩存的特性,實現(xiàn)多級key-value、異步更新或失效檢測,并可以根據(jù)對應(yīng)的服務(wù)緩存語意描述,提供可動態(tài)調(diào)整的緩存策略,所述服務(wù)代理通過一個注冊接口,將遠程服務(wù)注冊到所述服務(wù)端代理中,同時在服務(wù)端生成一個經(jīng)過代理和緩存之后的等價代理服務(wù),將其暴露給調(diào)用者; 所述輔助開發(fā)工具能讀取目標遠程服務(wù)的WSDL文件,自動的將其注冊到所述服務(wù)代理中,并且解析對應(yīng)的服務(wù)緩存語意描述,根據(jù)移動設(shè)備端的協(xié)商策略,自動生成在移動設(shè)備端可運行的服務(wù)調(diào)用框架代碼。
2.一種利用權(quán)利要求I所述緩沖系統(tǒng)架構(gòu)的開發(fā)方法,其特征在于,包括如下步驟 21)根據(jù)移動設(shè)備端應(yīng)用需求,在服務(wù)庫里搜索所需要的服務(wù),得到目標服務(wù)的訪問地址; 22)將步驟21)中所得到的目標服務(wù)地址注冊到服務(wù)代理中; 23)在目標服務(wù)注冊到服務(wù)代理之中后,首先通過對WSDL的結(jié)構(gòu)分析自動生成服務(wù)緩存語意描述文件,再根據(jù)服務(wù)提供商所提供的服務(wù)信息對所述服務(wù)緩存語意描述進行修改發(fā)布; 所述服務(wù)緩存語意描述文件是用來描述一個Web服務(wù)在操作級的語義信息的XML,可以用來向緩存系統(tǒng)提供關(guān)于服務(wù)操作的讀寫特性和狀態(tài)特性的語義化描述; 24)根據(jù)步驟23)中得到的服務(wù)緩存語意描述文件,在服務(wù)端構(gòu)建服務(wù)緩存狀態(tài),并進行初始化策略; 25)根據(jù)服務(wù)緩存語意描述文件和調(diào)用者需求對移動設(shè)備端的緩存策略進行協(xié)商策略; 26)根據(jù)步驟25)協(xié)商策略的結(jié)果,生成相關(guān)基礎(chǔ)代碼。
3.根據(jù)權(quán)利要求I所設(shè)定的一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu),其特征在于,所述移動設(shè)備端的緩存模塊所涉及的策略包括緩存更新、斷網(wǎng)處理,所述服務(wù)端緩存模塊所涉及的策略包括緩存失效、緩存更新。
全文摘要
本發(fā)明公開了一種面向移動設(shè)備的服務(wù)緩存系統(tǒng)架構(gòu)及開發(fā)方法,通過實現(xiàn)一個位于移動客戶端和云端服務(wù)器之上的緩存系統(tǒng),對服務(wù)器運算結(jié)果和下載數(shù)據(jù)進行緩存,減少對遠端服務(wù)的調(diào)用次數(shù)從而降低整個系統(tǒng)的運行開銷,提高執(zhí)行效率。同時,在移動便攜設(shè)備端實現(xiàn)一個緩存系統(tǒng),對移動設(shè)備端需要上傳和下載的數(shù)據(jù)同時進行緩存。在網(wǎng)絡(luò)異常導(dǎo)致遠端服務(wù)不可用的情況下,緩存的熱點下載數(shù)據(jù)能夠保證應(yīng)用的隨時可用,緩存的上傳數(shù)據(jù)能夠保證移動端收集的重要數(shù)據(jù)在網(wǎng)絡(luò)故障時不會丟失,在服務(wù)可用時能恢復(fù)正常運行。
文檔編號H04L29/06GK102624881SQ20121004917
公開日2012年8月1日 申請日期2012年2月29日 優(yōu)先權(quán)日2012年2月29日
發(fā)明者吳健, 尹建偉, 李瑩, 鄧水光, 陳克寒, 韓盼盼 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1