本發(fā)明涉及一種移動(dòng)Web服務(wù)應(yīng)用的自適應(yīng)部署方法。涉及專(zhuān)利分類(lèi)號(hào)H04電通信技術(shù)H04L數(shù)字信息的傳輸,例如電報(bào)通信H04L29/00H04L1/00至H04L27/00單個(gè)組中不包含的裝置、設(shè)備、電路和系統(tǒng)H04L29/02通信控制;通信處理H04L29/06以協(xié)議為特征的H04L29/08傳輸控制規(guī)程,例如數(shù)據(jù)鏈級(jí)控制規(guī)程。
背景技術(shù):
:隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,Web服務(wù)以其語(yǔ)言獨(dú)立、平臺(tái)無(wú)關(guān)、協(xié)議標(biāo)準(zhǔn)化以及異構(gòu)應(yīng)用實(shí)現(xiàn)松散耦合的強(qiáng)大優(yōu)勢(shì),在近階段得到了前所未有的迅猛發(fā)展。所謂Web服務(wù),可以理解為運(yùn)行在不同計(jì)算機(jī)上的不同應(yīng)用,不需要借助額外的第三方硬件或者軟件,便可完成數(shù)據(jù)的交互。好處是便于各種平臺(tái)之間以不同語(yǔ)言、不同技術(shù)開(kāi)發(fā)的分布式應(yīng)用能夠相互協(xié)作,很好地實(shí)現(xiàn)了跨平臺(tái)功能。同時(shí),隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,促進(jìn)了傳統(tǒng)信息系統(tǒng)向無(wú)線(xiàn)移動(dòng)應(yīng)用方向的發(fā)展,在移動(dòng)設(shè)備上使用Web服務(wù)越來(lái)越受到人們的青睞。移動(dòng)設(shè)備可以隨時(shí)隨地、靈活使用Web服務(wù)的優(yōu)勢(shì)越來(lái)越被人們所看重。移動(dòng)Web服務(wù)是指利用移動(dòng)設(shè)備訪(fǎng)問(wèn)在移動(dòng)設(shè)備上或更加強(qiáng)大的基礎(chǔ)設(shè)施服務(wù)器上部署的Web服務(wù)。移動(dòng)Web服務(wù)的目的是隨時(shí)、隨地為資源受限的任何移動(dòng)設(shè)備提供信息Web服務(wù)。在移動(dòng)無(wú)線(xiàn)環(huán)境中,移動(dòng)設(shè)備的電池電量、CPU計(jì)算能力、網(wǎng)絡(luò)的帶寬、內(nèi)存容量等資源十分有限。在這種資源受限的環(huán)境中,部署過(guò)多的資源能耗較大的Web服務(wù)勢(shì)必會(huì)導(dǎo)致移動(dòng)設(shè)備的存儲(chǔ)能力和計(jì)算能力大幅度下降,進(jìn)而導(dǎo)致Web服務(wù)的可用性降低。為了滿(mǎn)足資源能耗較大的應(yīng)用能夠在移動(dòng)設(shè)備上執(zhí)行的需求,有人提出了Web服務(wù)應(yīng)用劃分理念,即在移動(dòng)Web服務(wù)應(yīng)用部署前,將Web服務(wù)應(yīng)用分成若干部分,將包含復(fù)雜計(jì)算的部分劃分到資源相對(duì)充足的遠(yuǎn)程服務(wù)器上執(zhí)行,從而節(jié)約移動(dòng)設(shè)備資源,提高Web服務(wù)應(yīng)用的整體執(zhí)行性能。但是,移動(dòng)Web服務(wù)應(yīng)用在執(zhí)行過(guò)程中,移動(dòng)設(shè)備的資源信息是時(shí)刻變化著的,移動(dòng)設(shè)備資源不足可能會(huì)導(dǎo)致移動(dòng)設(shè)備的一些核心功能像正常的語(yǔ)音通話(huà)、短信Web服務(wù)等無(wú)法工作,同時(shí),執(zhí)行資源能耗較大的Web服務(wù)應(yīng)用勢(shì)必會(huì)導(dǎo)致移動(dòng)設(shè)備的電池電量迅速消耗,最終可能導(dǎo)致移動(dòng)Web服務(wù)應(yīng)用執(zhí)行失敗。技術(shù)實(shí)現(xiàn)要素:本發(fā)明針對(duì)以上問(wèn)題,提出了一種移動(dòng)Web服務(wù)應(yīng)用的自適應(yīng)部署方法,包括:采集監(jiān)控移動(dòng)設(shè)備的性能參數(shù)值,對(duì)采集到的資源信息進(jìn)行存儲(chǔ);收集并存儲(chǔ)移動(dòng)設(shè)備性能參數(shù)值,按key-value形式存儲(chǔ),資源名稱(chēng)存儲(chǔ)為key,資源的信息存儲(chǔ)為value;根據(jù)移動(dòng)設(shè)備的性能參數(shù)值和預(yù)設(shè)的劃分目標(biāo),計(jì)算移動(dòng)Web服務(wù)應(yīng)用中每個(gè)Web服務(wù)的分別在遠(yuǎn)程和本地的執(zhí)行代價(jià);若所述Web服務(wù)的本地執(zhí)行代價(jià)大于遠(yuǎn)程執(zhí)行代價(jià),將該Web服務(wù)劃分到遠(yuǎn)程執(zhí)行;否則,將該Web服務(wù)在劃分在本地,即由移動(dòng)設(shè)備執(zhí)行;根據(jù)形成Web服務(wù)應(yīng)用中的每個(gè)Web服務(wù)的執(zhí)行規(guī)劃,確定Web服務(wù)應(yīng)用整體的劃分方案;劃分依據(jù)如下:集合WS={WS1,WS2,...,WSi,...,WSn},其中1≤i≤n,n是正整數(shù),來(lái)表示移動(dòng)Web服務(wù)應(yīng)用,WS中的每個(gè)Web服務(wù)WSi在移動(dòng)設(shè)備上的執(zhí)行時(shí)間為T(mén)locali,在遠(yuǎn)程服務(wù)器上的執(zhí)行時(shí)間為T(mén)remotei,輸入數(shù)據(jù)總量為Dreqi,結(jié)果數(shù)據(jù)總量為Drespi,本地與遠(yuǎn)程之間數(shù)據(jù)的傳輸時(shí)間為T(mén)tri,數(shù)據(jù)的傳輸時(shí)間包括數(shù)據(jù)上傳時(shí)間和數(shù)據(jù)下載時(shí)間;假設(shè)每個(gè)Web服務(wù)都有自己獨(dú)立的數(shù)據(jù)集,在正常聯(lián)網(wǎng)的情況下,當(dāng)一個(gè)Web服務(wù)WSi就緒時(shí),移動(dòng)設(shè)備在以下兩種執(zhí)行方式中作決策:Web服務(wù)WSi部署在本地執(zhí)行:其執(zhí)行代價(jià)等于該Web服務(wù)執(zhí)行時(shí)移動(dòng)設(shè)備的資源消耗和該Web服務(wù)在移動(dòng)設(shè)備上的執(zhí)行時(shí)間的加權(quán)平均之和,執(zhí)行代價(jià)公式為:其中,E1表示W(wǎng)eb服務(wù)部署在本地時(shí)的執(zhí)行代價(jià),PlocalTlocali表示W(wǎng)eb服務(wù)在本地執(zhí)行期間產(chǎn)生的設(shè)備能耗;Web服務(wù)WSi部署在遠(yuǎn)程服務(wù)器上執(zhí)行:其執(zhí)行能耗等于該Web服務(wù)執(zhí)行時(shí)數(shù)據(jù)上傳和下載所需能耗之和,其總執(zhí)行時(shí)間等于Web服務(wù)在遠(yuǎn)程服務(wù)器上的執(zhí)行時(shí)間和數(shù)據(jù)傳輸時(shí)間之和,執(zhí)行代價(jià)公式為:其中,E2表示W(wǎng)eb服務(wù)部署在遠(yuǎn)程時(shí)的執(zhí)行代價(jià),表示數(shù)據(jù)上傳所花費(fèi)的時(shí)間,表示數(shù)據(jù)上傳所需能耗;表示數(shù)據(jù)下載所花費(fèi)的時(shí)間,表示數(shù)據(jù)下載所需能耗;表示W(wǎng)eb服務(wù)在遠(yuǎn)程服務(wù)器上執(zhí)行時(shí)的總執(zhí)行時(shí)間;當(dāng)Web服務(wù)WSi的本地執(zhí)行代價(jià)E1大于遠(yuǎn)程執(zhí)行代價(jià)E2時(shí),則將Web服務(wù)WSi劃分到遠(yuǎn)程服務(wù)器上執(zhí)行;劃分完成后,移動(dòng)設(shè)備和工作站分別訪(fǎng)問(wèn)所述的移動(dòng)MOBILE服務(wù)器和遠(yuǎn)程PC服務(wù)器,根據(jù)執(zhí)行序列分別運(yùn)行Web服務(wù);并由服務(wù)器生成各自的執(zhí)行記錄。作為優(yōu)選的實(shí)施方式,還具有調(diào)度步驟,在運(yùn)行過(guò)程中根據(jù)約束條件,對(duì)當(dāng)前移動(dòng)設(shè)備的資源情況進(jìn)行分析,判定是否調(diào)整部署Web服務(wù);所述的約束條件至少包含:約束條件1:移動(dòng)設(shè)備的剩余電量低于最大值的60%;約束條件2:移動(dòng)設(shè)備的可用內(nèi)存容量低于最大值的30%;約束條件3:移動(dòng)設(shè)備的CPU使用率大于70%;當(dāng)任何一個(gè)約束條件達(dá)到其臨界值時(shí),所述的調(diào)度單元對(duì)移動(dòng)Web服務(wù)應(yīng)用進(jìn)行自適應(yīng)部署調(diào)整;若判定需要重新部署Web服務(wù),部署單元根據(jù)公式1和公式2對(duì)當(dāng)前待執(zhí)行的Web服務(wù)進(jìn)行重新劃分,給出當(dāng)前約束條件下最優(yōu)部署方案;調(diào)度單元根據(jù)當(dāng)前最優(yōu)部署方案調(diào)度相應(yīng)的Web服務(wù)運(yùn)行位置,完成Web服務(wù)應(yīng)用的自適應(yīng)部署。作為優(yōu)選的實(shí)施方式,還具有文檔編輯/解析步驟;該步驟管理和生成移動(dòng)Web服務(wù)應(yīng)用的描述文檔,在部署開(kāi)始前,解析當(dāng)前的移動(dòng)Web服務(wù)應(yīng)用對(duì)應(yīng)的描述文檔,獲得當(dāng)前移動(dòng)Web服務(wù)應(yīng)用的交互會(huì)話(huà)和靜態(tài)屬性信息,進(jìn)而生成所述的Web服務(wù)執(zhí)行序列。更進(jìn)一步的,所述的交互會(huì)話(huà)和靜態(tài)屬性信息,Web服務(wù)交互會(huì)話(huà)用于Web服務(wù)間交互關(guān)系的建立;Web服務(wù)的靜態(tài)屬性信息至少包括Web服務(wù)操作和操作參數(shù),在調(diào)用Web服務(wù)的時(shí)候使用。更進(jìn)一步的,移動(dòng)Web服務(wù)應(yīng)用采用XML格式的協(xié)同組合建模語(yǔ)言CCML(CooperativeCompositionModelingLanguage)Web服務(wù)組合語(yǔ)言進(jìn)行描述。作為優(yōu)選的實(shí)施方式,還具有初始化步驟,該步驟根據(jù)描述文檔生成的Web服務(wù)應(yīng)用的初始化部署方案;該方案存儲(chǔ)在部署方案庫(kù)中,采用key-value的形式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),Web服務(wù)的名稱(chēng)為key,Web服務(wù)的部署位置為value。作為優(yōu)選的實(shí)施方式,所述的資源信息包括:CPU時(shí)鐘頻率、CPU使用率、可用內(nèi)存容量、剩余電池電量和當(dāng)前的網(wǎng)絡(luò)狀態(tài)以及以上資源對(duì)應(yīng)各自的性能參數(shù)。作為優(yōu)選的實(shí)施方式,當(dāng)所述的調(diào)度單元判定需要重新部署Web服務(wù)時(shí):如果涉及到的Web服務(wù)的部署位置未發(fā)生變化,不做任何處理,直接恢復(fù)執(zhí)行;如果Web服務(wù)的部署位置發(fā)生變化,重新調(diào)整部署方案,重新部署Web方案。更進(jìn)一步的,若需要將該Web服務(wù)從本地/移動(dòng)設(shè)備調(diào)整到遠(yuǎn)程服務(wù)器上執(zhí)行:首先將該Web服務(wù)從本地服務(wù)器上卸載,然后通知遠(yuǎn)程服務(wù)器執(zhí)行預(yù)先編寫(xiě)好的部署腳本,將該Web服務(wù)部署到遠(yuǎn)程服務(wù)器上,在收到Web服務(wù)部署成功的應(yīng)答消息后,通知Web服務(wù)調(diào)度器根據(jù)調(diào)整后的部署方案恢復(fù)執(zhí)行;若需要將該Web服務(wù)從遠(yuǎn)程服務(wù)器上調(diào)整到本地執(zhí)行,將該Web服務(wù)部署到本地服務(wù)器上,直接恢復(fù)執(zhí)行。由于采用了上述技術(shù)方案,本發(fā)明公開(kāi)的一種移動(dòng)Web服務(wù)應(yīng)用的自適應(yīng)部署方法,克服了傳統(tǒng)的應(yīng)用劃分方法雖然能夠在移動(dòng)Web服務(wù)應(yīng)用部署前對(duì)應(yīng)用進(jìn)行一次劃分的問(wèn)題,能夠部分節(jié)約移動(dòng)設(shè)備資源,提高應(yīng)用的執(zhí)行性能但是無(wú)法適應(yīng)移動(dòng)設(shè)備資源信息的動(dòng)態(tài)變化,當(dāng)移動(dòng)設(shè)備資源不足時(shí),可能導(dǎo)致移動(dòng)Web服務(wù)應(yīng)用執(zhí)行失敗的問(wèn)題,在能夠適應(yīng)移動(dòng)設(shè)備資源的動(dòng)態(tài)變化的基礎(chǔ)上,不僅能夠保證移動(dòng)Web服務(wù)應(yīng)用的正常運(yùn)行,而且能夠節(jié)約移動(dòng)設(shè)備資源、提高Web服務(wù)應(yīng)用的整體執(zhí)行性能。附圖說(shuō)明為了更清楚的說(shuō)明本發(fā)明的實(shí)施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明的系統(tǒng)模塊圖。具體實(shí)施方式為使本發(fā)明的實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚完整的描述:如圖1所示:為了能夠更加直觀的說(shuō)明本發(fā)明公開(kāi)的移動(dòng)Web服務(wù)應(yīng)用的自適應(yīng)部署方法的實(shí)現(xiàn)方式,現(xiàn)結(jié)合一定的硬件加以描述,方便本領(lǐng)域技術(shù)人員直觀了解本發(fā)明的具體實(shí)施過(guò)程。(1)資源感知單元與移動(dòng)Web服務(wù)應(yīng)用同步運(yùn)行,時(shí)刻監(jiān)測(cè)移動(dòng)設(shè)備的可用資源情況,并對(duì)獲取的資源信息進(jìn)行保存,供其他單元讀取。在執(zhí)行過(guò)程中,資源感知單元收集當(dāng)前設(shè)備的資源信息,如CPU時(shí)鐘頻率、CPU使用率、可用內(nèi)存容量、剩余電池電量以及當(dāng)前的網(wǎng)絡(luò)狀態(tài)(端到端網(wǎng)絡(luò)連接帶寬)等。例如,通過(guò)Android系統(tǒng)自身的廣播機(jī)制可以對(duì)當(dāng)前的電池電量進(jìn)行感知,其原理是每當(dāng)電池電量發(fā)生變化時(shí)系統(tǒng)會(huì)進(jìn)行全局廣播,開(kāi)發(fā)者只需編寫(xiě)相應(yīng)的攔截器對(duì)廣播信息進(jìn)行攔截,便可獲取到當(dāng)前剩余的電池電量信息。(2)資源信息庫(kù)用于存放資源感知單元收集的移動(dòng)設(shè)備的資源信息,供初始化單元和分析單元讀取。為了方便讀取,使用key-value的形式僅對(duì)最新的資源信息進(jìn)行存儲(chǔ),資源的名稱(chēng)為key,資源的信息為value。(3)CCML文檔編輯單元。在本發(fā)明中,采用XML格式的Web服務(wù)組合建模語(yǔ)言CCML(CooperativeCompositionModelingLanguage,協(xié)同組合建模語(yǔ)言)對(duì)移動(dòng)Web服務(wù)應(yīng)用進(jìn)行描述,該語(yǔ)言不僅能夠清楚地描述服務(wù)的靜態(tài)信息,而且能夠描述服務(wù)之間的行為交互。CCML文檔編輯單元用于管理和生成移動(dòng)Web服務(wù)應(yīng)用描述文檔。在對(duì)移動(dòng)Web服務(wù)應(yīng)用進(jìn)行初始化之前,使用CCML文檔編輯單元生成移動(dòng)Web服務(wù)應(yīng)用的描述文檔(.ccml文件),供CCML文檔解析單元讀取。(4)CCML文檔解析單元。用于讀取和解析移動(dòng)Web服務(wù)應(yīng)用描述文檔(.ccml文件),解析單元從CCML文檔中獲得服務(wù)交互會(huì)話(huà)以及服務(wù)的靜態(tài)屬性信息,進(jìn)而生成服務(wù)執(zhí)行序列。服務(wù)交互會(huì)話(huà)用于服務(wù)間交互關(guān)系的建立,服務(wù)的靜態(tài)屬性信息包括服務(wù)操作、操作參數(shù)和服務(wù)地址等,在調(diào)用服務(wù)的時(shí)候使用。下面對(duì)服務(wù)執(zhí)行序列、服務(wù)交互會(huì)話(huà)以及服務(wù)操作、操作參數(shù)和服務(wù)地址等進(jìn)行解釋。1)服務(wù)執(zhí)行序列。用于表示移動(dòng)Web服務(wù)應(yīng)用中服務(wù)的執(zhí)行順序,形如WS1-...-WSi-...-WSn,其中1≤i≤n,n為正整數(shù),WSi表示移動(dòng)Web服務(wù)應(yīng)用中第i個(gè)待執(zhí)行的服務(wù)。2)服務(wù)交互會(huì)話(huà)。用于建立兩個(gè)交互服務(wù)之間的交互關(guān)系,由服務(wù)雙方的行為軌跡組成。服務(wù)的行為軌跡代表該服務(wù)的行為,由服務(wù)交互事件(createChannel、readChannel、writeChannel、invoke等)組成。整個(gè)移動(dòng)Web服務(wù)應(yīng)用的行為軌跡代表整個(gè)應(yīng)用的執(zhí)行。下面采用CCMLWeb服務(wù)組合語(yǔ)言描述一個(gè)簡(jiǎn)單的服務(wù)交互過(guò)程。以上XML文檔描述了兩個(gè)服務(wù)之間的交互,首先創(chuàng)建通道CPChannel,調(diào)用第一個(gè)服務(wù)customer,得到的結(jié)果寫(xiě)入CPChannel通道,之后再?gòu)腃PChannel通道讀出結(jié)果傳遞給provider服務(wù),調(diào)用provider服務(wù),再創(chuàng)建通道PCChannel,把反饋的信息寫(xiě)入PCChannel通道,customer服務(wù)從通道中讀取反饋信息并處理。3)Web服務(wù)包含服務(wù)操作、操作參數(shù)和服務(wù)地址。首先采用CCMLWeb服務(wù)組合語(yǔ)言描述一個(gè)Web服務(wù)。以上XML文檔描述了一個(gè)Web服務(wù),其名稱(chēng)是customer。該服務(wù)包含一個(gè)操作cusOp,該操作包含一個(gè)字符串類(lèi)型的輸入?yún)?shù)i_c和一個(gè)字符串類(lèi)型的輸出參數(shù)o_c。該服務(wù)的地址是http://169.254.96.182:8080/axis2/services/cusService?wsdl。(5)初始化單元在移動(dòng)Web服務(wù)應(yīng)用首次運(yùn)行時(shí),會(huì)進(jìn)行初始化:首先讀取服務(wù)執(zhí)行序列,然后根據(jù)設(shè)備當(dāng)前的資源信息對(duì)移動(dòng)Web服務(wù)應(yīng)用進(jìn)行初始劃分和部署,生成初始部署方案,并將服務(wù)執(zhí)行序列傳遞給服務(wù)調(diào)度單元,通知服務(wù)調(diào)度單元開(kāi)始執(zhí)行。初始化單元主要包括劃分子模塊和部署子模塊。劃分子模塊:其任務(wù)是根據(jù)移動(dòng)設(shè)備的可用資源情況,決定移動(dòng)Web服務(wù)應(yīng)用中每個(gè)Web服務(wù)的執(zhí)行位置,即在本地移動(dòng)設(shè)備上執(zhí)行還是部署到遠(yuǎn)程服務(wù)器上執(zhí)行。最終給出一個(gè)移動(dòng)Web服務(wù)應(yīng)用的初始部署方案,并將初始部署方案?jìng)鬟f給部署子模塊進(jìn)行部署。本發(fā)明將移動(dòng)Web服務(wù)應(yīng)用的初始劃分問(wèn)題轉(zhuǎn)化為求解網(wǎng)絡(luò)流圖的最小割問(wèn)題,并使用Dinic算法進(jìn)行求解,實(shí)現(xiàn)對(duì)移動(dòng)Web服務(wù)應(yīng)用的初始劃分。部署子模塊:其任務(wù)是根據(jù)劃分子模塊提供的部署方案,將需要在本地執(zhí)行的Web服務(wù)部署到MOBILE服務(wù)器上,將需要在遠(yuǎn)程執(zhí)行的Web服務(wù)部署到PC服務(wù)器上。(6)部署方案庫(kù)用于存放移動(dòng)Web服務(wù)應(yīng)用的部署方案。初始化單元生成初始部署方案。在應(yīng)用運(yùn)行期間,規(guī)劃單元將重新規(guī)劃后的部署方案?jìng)鬟f給部署單元。部署單元負(fù)責(zé)更新部署方案庫(kù)中的部署方案,供服務(wù)調(diào)度單元讀取。為了方便存取,采用key-value的形式對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),服務(wù)的名稱(chēng)為key,服務(wù)的部署位置為value。(7)MOBILE服務(wù)器MOBILE服務(wù)器是指把移動(dòng)設(shè)備作為服務(wù)器來(lái)提供Web服務(wù)。用于接收客戶(hù)請(qǐng)求,經(jīng)過(guò)對(duì)請(qǐng)求信息的解析,MOBILE服務(wù)器做出應(yīng)答。為了方便Web服務(wù)的動(dòng)態(tài)加載和卸載,以“war包”的形式對(duì)Web服務(wù)進(jìn)行部署。(8)PC服務(wù)器PC服務(wù)器是指帶有固定IP地址的PC機(jī),其作為服務(wù)器來(lái)提供Web服務(wù)。與MOBILE服務(wù)器相對(duì)應(yīng),將PC服務(wù)器稱(chēng)為遠(yuǎn)程服務(wù)器。主要用于處理移動(dòng)端發(fā)來(lái)的請(qǐng)求,并對(duì)請(qǐng)求信息進(jìn)行解析,進(jìn)而做出應(yīng)答。與MOBILE服務(wù)器類(lèi)似,Web服務(wù)以“war包”的形式部署在PC服務(wù)器上。(9)服務(wù)調(diào)度單元首先對(duì)初始化單元傳遞過(guò)來(lái)的服務(wù)執(zhí)行序列進(jìn)行綁定,然后讀取移動(dòng)Web服務(wù)應(yīng)用部署方案,根據(jù)部署方案,按照服務(wù)執(zhí)行序列依次去相應(yīng)的位置調(diào)用Web服務(wù),直至應(yīng)用執(zhí)行結(jié)束。在服務(wù)執(zhí)行的同時(shí)會(huì)生成日志文件,記錄已被執(zhí)行的服務(wù)。(10)分析單元分析單元根據(jù)預(yù)先設(shè)定的約束條件,對(duì)移動(dòng)設(shè)備當(dāng)前的資源情況進(jìn)行分析,決定是否對(duì)移動(dòng)Web服務(wù)應(yīng)用進(jìn)行自適應(yīng)部署調(diào)整。如果不滿(mǎn)足約束條件,則服務(wù)調(diào)度單元繼續(xù)執(zhí)行;如果滿(mǎn)足約束條件,則通知服務(wù)調(diào)度單元暫停執(zhí)行同時(shí)保護(hù)現(xiàn)場(chǎng),并將分析結(jié)果提交給規(guī)劃單元進(jìn)行后續(xù)處理。移動(dòng)Web服務(wù)應(yīng)用運(yùn)行期間,需要根據(jù)約束條件判斷是否對(duì)應(yīng)用進(jìn)行自適應(yīng)部署調(diào)整。本發(fā)明設(shè)置以下約束條件,包括:約束條件1:移動(dòng)設(shè)備的剩余電量低于最大值的60%。約束條件2:移動(dòng)設(shè)備的可用內(nèi)存容量低于最大值的30%。約束條件3:移動(dòng)設(shè)備的CPU使用率大于70%。當(dāng)任何一個(gè)約束條件達(dá)到其臨界值時(shí),所述的調(diào)度單元對(duì)移動(dòng)Web服務(wù)應(yīng)用進(jìn)行自適應(yīng)部署調(diào)整;若判定需要重新部署Web服務(wù),部署單元根據(jù)公式1和公式2對(duì)當(dāng)前待執(zhí)行的Web服務(wù)進(jìn)行重新劃分,給出當(dāng)前約束條件下最優(yōu)部署方案;調(diào)度單元根據(jù)當(dāng)前最優(yōu)部署方案調(diào)度相應(yīng)的Web服務(wù)運(yùn)行位置,完成Web服務(wù)應(yīng)用的自適應(yīng)部署。(11)規(guī)劃單元規(guī)劃單元接收到分析單元傳遞過(guò)來(lái)的分析結(jié)果,依據(jù)移動(dòng)Web服務(wù)應(yīng)用劃分目標(biāo)、采用移動(dòng)Web服務(wù)應(yīng)用劃分算法對(duì)移動(dòng)Web服務(wù)應(yīng)用中待執(zhí)行的那個(gè)Web服務(wù)進(jìn)行重新劃分,給出當(dāng)前狀態(tài)下最優(yōu)的部署方案。如果該服務(wù)的部署位置未發(fā)生變化,則不做任何處理,直接通知服務(wù)調(diào)度單元恢復(fù)執(zhí)行。如果服務(wù)的部署位置發(fā)生變化,將重新調(diào)整部署方案,并將重新調(diào)整后的部署方案?jìng)鬟f給部署單元。本發(fā)明中,移動(dòng)Web服務(wù)應(yīng)用的劃分目標(biāo)包括兩個(gè):1)移動(dòng)設(shè)備的資源消耗低。其中,移動(dòng)設(shè)備的資源消耗包括網(wǎng)絡(luò)傳輸能耗和本地執(zhí)行的設(shè)備能耗。網(wǎng)絡(luò)傳輸能耗主要來(lái)源于移動(dòng)設(shè)備與遠(yuǎn)程服務(wù)器之間的數(shù)據(jù)傳輸,由于同一位置上的兩個(gè)服務(wù)之間因數(shù)據(jù)傳輸產(chǎn)生的能耗相對(duì)較小,在此忽略不計(jì)。本地執(zhí)行的設(shè)備能耗主要是指移動(dòng)Web服務(wù)應(yīng)用在本地執(zhí)行時(shí),移動(dòng)設(shè)備系統(tǒng)的總體能耗開(kāi)銷(xiāo),不僅僅包括CPU運(yùn)行產(chǎn)生的能耗,也包括屏幕等其他輔助系統(tǒng)模塊的能耗。2)移動(dòng)Web服務(wù)應(yīng)用的執(zhí)行時(shí)間短。執(zhí)行時(shí)間主要包括:移動(dòng)Web服務(wù)應(yīng)用在本地執(zhí)行所需的時(shí)間、移動(dòng)Web服務(wù)應(yīng)用在遠(yuǎn)程服務(wù)器上執(zhí)行所需的時(shí)間以及本地和遠(yuǎn)程服務(wù)器進(jìn)行數(shù)據(jù)傳輸所需的時(shí)間。本發(fā)明定義以下相關(guān)參數(shù):上行帶寬、下行帶寬、移動(dòng)設(shè)備的CPU時(shí)鐘頻率、遠(yuǎn)程服務(wù)器的CPU時(shí)鐘頻率、輸入數(shù)據(jù)總量、結(jié)果數(shù)據(jù)總量、服務(wù)在本地執(zhí)行時(shí)間、服務(wù)在遠(yuǎn)程執(zhí)行時(shí)間、數(shù)據(jù)傳輸時(shí)間、數(shù)據(jù)上傳的能耗、數(shù)據(jù)下載的能耗、服務(wù)在本地執(zhí)行時(shí)設(shè)備能耗、所有服務(wù)在本地和遠(yuǎn)程執(zhí)行時(shí)間總和、所有服務(wù)在本地和遠(yuǎn)程執(zhí)行設(shè)備能耗總和、執(zhí)行時(shí)間權(quán)重以及設(shè)備能耗權(quán)重。相關(guān)參數(shù)的命名規(guī)則如表1所示。表1相關(guān)參數(shù)的命名規(guī)則參數(shù)命名參數(shù)說(shuō)明Bup上行帶寬(kb/s)Bdown下行帶寬(kb/s)Clocal移動(dòng)設(shè)備的CPU時(shí)鐘頻率(KHz)Cremote遠(yuǎn)程服務(wù)器的CPU時(shí)鐘頻率(KHz)Dreq輸入數(shù)據(jù)總量(kb)Dresp結(jié)果數(shù)據(jù)總量(kb)Tlocal服務(wù)在本地執(zhí)行時(shí)間(s)Tremote服務(wù)在遠(yuǎn)程執(zhí)行時(shí)間(s)Ttr數(shù)據(jù)傳輸時(shí)間(s)Pup數(shù)據(jù)上傳的能耗(w/s)Pdown數(shù)據(jù)下載的能耗(w/s)Plocal服務(wù)在本地執(zhí)行時(shí)設(shè)備能耗(w/s)Totalt所有服務(wù)在本地和遠(yuǎn)程執(zhí)行時(shí)間總和(s)Totalp所有服務(wù)在本地和遠(yuǎn)程執(zhí)行設(shè)備能耗總和(w)wt執(zhí)行時(shí)間權(quán)重wp設(shè)備能耗權(quán)重用集合WS={WS1,WS2,...,WSi,...,WSn},其中1≤i≤n,n是正整數(shù),來(lái)表示移動(dòng)Web服務(wù)應(yīng)用,WS中的每個(gè)服務(wù)WSi在移動(dòng)設(shè)備上的執(zhí)行時(shí)間為T(mén)locali,在遠(yuǎn)程服務(wù)器上的執(zhí)行時(shí)間為T(mén)remotei,輸入數(shù)據(jù)總量為Dreqi,結(jié)果數(shù)據(jù)總量為Drespi,本地與遠(yuǎn)程之間數(shù)據(jù)的傳輸時(shí)間為T(mén)tri,數(shù)據(jù)的傳輸時(shí)間包括數(shù)據(jù)上傳時(shí)間和數(shù)據(jù)下載時(shí)間。假設(shè)每個(gè)服務(wù)都有自己獨(dú)立的數(shù)據(jù)集,在正常聯(lián)網(wǎng)的情況下,當(dāng)一個(gè)服務(wù)WSi就緒時(shí),移動(dòng)設(shè)備在以下兩種執(zhí)行方式中作決策:1)服務(wù)WSi部署在本地執(zhí)行。其執(zhí)行代價(jià)等于該服務(wù)執(zhí)行時(shí)移動(dòng)設(shè)備的資源消耗和該服務(wù)在移動(dòng)設(shè)備上的執(zhí)行時(shí)間的加權(quán)平均之和,執(zhí)行代價(jià)公式為:其中,E1表示服務(wù)部署在本地時(shí)的執(zhí)行代價(jià),PlocalTlocali表示服務(wù)在本地執(zhí)行期間產(chǎn)生的設(shè)備能耗。2)服務(wù)WSi部署在遠(yuǎn)程服務(wù)器上執(zhí)行。其執(zhí)行能耗等于該服務(wù)執(zhí)行時(shí)數(shù)據(jù)上傳和下載所需能耗之和,其總執(zhí)行時(shí)間等于服務(wù)在遠(yuǎn)程服務(wù)器上的執(zhí)行時(shí)間和數(shù)據(jù)傳輸時(shí)間之和,執(zhí)行代價(jià)公式為:其中,E2表示服務(wù)部署在遠(yuǎn)程時(shí)的執(zhí)行代價(jià),表示數(shù)據(jù)上傳所花費(fèi)的時(shí)間,表示數(shù)據(jù)上傳所需能耗;表示數(shù)據(jù)下載所花費(fèi)的時(shí)間,表示數(shù)據(jù)下載所需能耗;Tremotei+Ttri表示服務(wù)在遠(yuǎn)程服務(wù)器上執(zhí)行時(shí)的總執(zhí)行時(shí)間。當(dāng)服務(wù)WSi的本地執(zhí)行代價(jià)E1大于遠(yuǎn)程執(zhí)行代價(jià)E2時(shí),則將服務(wù)WSi劃分到遠(yuǎn)程服務(wù)器上執(zhí)行。因此,可以將移動(dòng)Web服務(wù)應(yīng)用的劃分問(wèn)題定義為:給定服務(wù)集合WS和當(dāng)前設(shè)備的資源信息,計(jì)算并比較服務(wù)WSi在不同執(zhí)行方式下的執(zhí)行代價(jià),選取其中執(zhí)行代價(jià)較小的方案執(zhí)行服務(wù)。移動(dòng)Web服務(wù)應(yīng)用劃分算法包含以下四步:1)加載移動(dòng)Web服務(wù)應(yīng)用中待調(diào)整的服務(wù)和移動(dòng)設(shè)備資源信息。2)計(jì)算當(dāng)前狀態(tài)下資源的相關(guān)參數(shù)值,根據(jù)公式1和公式2求出待調(diào)整的服務(wù)在本地及遠(yuǎn)程的執(zhí)行代價(jià)。3)分析比較服務(wù)在本地及遠(yuǎn)程的執(zhí)行代價(jià)。如果服務(wù)的本地執(zhí)行代價(jià)大于遠(yuǎn)程執(zhí)行代價(jià),將服務(wù)劃分到遠(yuǎn)程執(zhí)行。如果服務(wù)的本地執(zhí)行代價(jià)不大于遠(yuǎn)程執(zhí)行代價(jià),服務(wù)在本地執(zhí)行。4)整理劃分結(jié)果,給出移動(dòng)Web服務(wù)應(yīng)用在當(dāng)前狀態(tài)下的最優(yōu)部署方案。(12)部署單元部署單元首先接收重新規(guī)劃后的部署方案,然后對(duì)待執(zhí)行的服務(wù)進(jìn)行重新部署,如果需要將該服務(wù)從本地調(diào)整到遠(yuǎn)程服務(wù)器上執(zhí)行,則首先將該服務(wù)從本地服務(wù)器上卸載,然后通知遠(yuǎn)程服務(wù)器執(zhí)行預(yù)先編寫(xiě)好的部署腳本,將該服務(wù)部署到遠(yuǎn)程服務(wù)器上,在收到服務(wù)部署成功的應(yīng)答消息后,通知服務(wù)調(diào)度單元根據(jù)調(diào)整后的部署方案恢復(fù)執(zhí)行。如果需要將該服務(wù)從遠(yuǎn)程服務(wù)器上調(diào)整到本地執(zhí)行,只需將該服務(wù)部署到本地服務(wù)器上即可,無(wú)需卸載遠(yuǎn)程服務(wù),部署操作完成后通知服務(wù)調(diào)度單元恢復(fù)執(zhí)行。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3