两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)及其卸載方法

文檔序號:10534553閱讀:554來源:國知局
云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)及其卸載方法
【專利摘要】本發(fā)明公開了一種云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)及其卸載方法,包括前端處理層,運(yùn)行時(shí)層和后端資源層。前端處理層負(fù)責(zé)響應(yīng)到達(dá)的請求和管理容器狀態(tài),通過請求分發(fā)模塊、代碼緩存模塊和監(jiān)控調(diào)度模塊實(shí)現(xiàn);運(yùn)行時(shí)層為卸載代碼提供和終端相同的執(zhí)行環(huán)境,通過多個(gè)移動(dòng)云容器組成的運(yùn)行時(shí)模塊實(shí)現(xiàn);后端資源層解決云平臺(tái)對移動(dòng)終端環(huán)境的不兼容,為運(yùn)行時(shí)提供底層資源支撐,通過資源共享模塊和宿主操作系統(tǒng)內(nèi)的擴(kuò)展內(nèi)核模塊實(shí)現(xiàn)。本發(fā)明利用構(gòu)建的移動(dòng)云容器作為卸載代碼的運(yùn)行時(shí)環(huán)境,保證了卸載任務(wù)的執(zhí)行需求,提高了云端的計(jì)算性能和縮短了請求的響應(yīng)時(shí)間;各個(gè)模塊間的協(xié)作關(guān)系進(jìn)一步優(yōu)化了平臺(tái)性能,為系統(tǒng)高效工作提供了保障。
【專利說明】
云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)及其卸載方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于計(jì)算機(jī)應(yīng)用系統(tǒng)領(lǐng)域,更具體地,涉及一種云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)及其卸載方法。
【背景技術(shù)】
[0002]當(dāng)前,智能手機(jī)日益普及和可穿戴設(shè)備數(shù)量飛速增長,盡管終端設(shè)備的性能配置也在不停發(fā)展,但是面臨復(fù)雜的移動(dòng)應(yīng)用時(shí)在計(jì)算性能和電池壽命上仍然存在很大局限。移動(dòng)云計(jì)算(MobiIe Cloud Computing,MCC)利用云端近乎無限的資源擴(kuò)展移動(dòng)設(shè)備的能力,從而改善了移動(dòng)應(yīng)用的用戶體驗(yàn),同時(shí)延長了設(shè)備的電量使用時(shí)間。
[0003]移動(dòng)代碼卸載(Mobile Code Off loading)是移動(dòng)云計(jì)算中一種常見的方法。傳統(tǒng)的移動(dòng)應(yīng)用采用客戶端-服務(wù)端模型,將服務(wù)器端遠(yuǎn)程執(zhí)行的部分和終端本地執(zhí)行的部分分離,在每一次遇到遠(yuǎn)程執(zhí)行任務(wù)時(shí)都向云端發(fā)出請求參數(shù),并等待云端的執(zhí)行結(jié)果。不同于它們,在移動(dòng)代碼卸載中,當(dāng)移動(dòng)應(yīng)用面臨計(jì)算復(fù)雜的部分時(shí),移動(dòng)設(shè)備對當(dāng)前上下文環(huán)境進(jìn)行分析,如當(dāng)前網(wǎng)絡(luò)環(huán)境、電池剩余電量、以往執(zhí)行記錄等,基于分析結(jié)果做出決策是否需要將這部分計(jì)算交給云端來完成。如果當(dāng)前環(huán)境不適合做代碼卸載,如網(wǎng)絡(luò)條件較差,則繼續(xù)在本地完成這部分計(jì)算任務(wù)。反之,如果決策分析結(jié)果顯示將代碼卸載到云平臺(tái)執(zhí)行能有更快的響應(yīng)和更少的能源損耗,移動(dòng)應(yīng)用就像云端發(fā)出卸載請求,將這部分大計(jì)算量的任務(wù)代碼連同參數(shù)發(fā)送到云端執(zhí)行。云端在收到卸載請求后,會(huì)為這部分代碼分配運(yùn)行時(shí)環(huán)境來滿足它們的執(zhí)行需求,通常來說,云端會(huì)提供一個(gè)和移動(dòng)操作系統(tǒng)類似的環(huán)境來運(yùn)行這些移動(dòng)應(yīng)用代碼。在計(jì)算執(zhí)行完畢后,云端會(huì)把計(jì)算結(jié)果返回給終端,終端接收到計(jì)算結(jié)果后將繼續(xù)后續(xù)的操作執(zhí)行。
[0004]當(dāng)前,為了在云端提供移動(dòng)操作系統(tǒng)環(huán)境,云平臺(tái)采用基于虛擬機(jī)的解決方案。該方案由于通過硬件虛擬化模擬終端環(huán)境,引入了額外的虛擬化開銷,導(dǎo)致代碼在虛擬機(jī)內(nèi)部的執(zhí)行性能下降。更嚴(yán)重的是,虛擬機(jī)的啟動(dòng)代價(jià)大,當(dāng)需求一個(gè)新的虛擬機(jī)時(shí),云平臺(tái)要向其中安裝子操作系統(tǒng),然后將其啟動(dòng),這兩個(gè)操作都存在實(shí)驗(yàn)。這也意味著當(dāng)卸載請求到達(dá)后,不能第一時(shí)間完成開機(jī)準(zhǔn)備過程,導(dǎo)致請求不能被及時(shí)執(zhí)行,從而引發(fā)移動(dòng)代碼卸載反而比在終端本地執(zhí)行響應(yīng)時(shí)間更長的問題。此外,虛擬機(jī)對云端資源占用過多,如在硬盤占用量、內(nèi)存占用量上都是重量級的,這種解決方案造成云端資源的利用率嚴(yán)重下降。
[0005]容器技術(shù)是一種操作系統(tǒng)級的虛擬化技術(shù),不同于硬件虛擬化需要額外的模擬開銷,容器技術(shù)共享宿主操作系統(tǒng)的內(nèi)核,對計(jì)算性能的開銷極小,是一種輕量級的資源隔離機(jī)制。目前在工業(yè)界,容器技術(shù)已經(jīng)被廣泛部署在項(xiàng)目服務(wù)器中,同時(shí)各類云平臺(tái)也提供了對容器技術(shù)的支持。但在終端環(huán)境結(jié)構(gòu)下,移動(dòng)操作系統(tǒng)和云端宿主操作系統(tǒng)的內(nèi)核間有很大差異,使得移動(dòng)操作系統(tǒng)的容器不能從宿主操作系統(tǒng)的內(nèi)核獲取所需的功能接口,這給在云平臺(tái)系統(tǒng)中利用容器運(yùn)行移動(dòng)操作系統(tǒng)帶來了重大的難題。目前還缺乏一種在移動(dòng)代碼卸載應(yīng)用場景下利用容器作為云端運(yùn)行環(huán)境的解決方案。

【發(fā)明內(nèi)容】

[0006]針對現(xiàn)有解決方案的缺失,本發(fā)明旨在提供一種云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng),該系統(tǒng)具有利用容器環(huán)境支持卸載代碼運(yùn)行的功能,同時(shí)消除了現(xiàn)有基于虛擬機(jī)的云平臺(tái)方案中的冗長啟動(dòng)過程,提高了代碼在運(yùn)行環(huán)境中的計(jì)算能力,優(yōu)化了云平臺(tái)的資源利用率。
[0007]為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng),包括前端處理層,運(yùn)行時(shí)層以及后端資源層,其中:
[0008]所述前端處理層位于云端入口,用于第一時(shí)間響應(yīng)到達(dá)的卸載請求;包括請求分發(fā)模塊、代碼緩存模塊、監(jiān)控調(diào)度模塊,其中:
[0009]所述請求分發(fā)模塊用于捕獲用戶卸載請求并將請求分發(fā)到特定容器運(yùn)行時(shí)環(huán)境中運(yùn)行;所述代碼緩存模塊用于根據(jù)請求的應(yīng)用來源在緩存數(shù)據(jù)中查找要執(zhí)行的卸載代碼,若存在,并直接從緩存數(shù)據(jù)中取出這部分代碼,無需再向終端請求;監(jiān)控調(diào)度模塊用于監(jiān)控容器使用情況,并對不合理的資源配置重新分配,更新容器狀態(tài)數(shù)據(jù);
[0010]所述運(yùn)行時(shí)層位于云平臺(tái)的主體,用于提供移動(dòng)代碼執(zhí)行環(huán)境,包括運(yùn)行時(shí)模塊:
[0011]所述運(yùn)行時(shí)模塊由多個(gè)移動(dòng)云容器組成,移動(dòng)云容器將定制的移動(dòng)操作系統(tǒng)運(yùn)行在容器環(huán)境中,為卸載的移動(dòng)應(yīng)用代碼模擬出和終端一致的執(zhí)行環(huán)境;
[0012]所述后端資源層位于云服務(wù)器最底層,用于為平臺(tái)提供支撐,包括資源共享模塊和擴(kuò)展內(nèi)核模塊,其中:
[0013]所述資源共享模塊將運(yùn)行時(shí)層的多個(gè)移動(dòng)云容器中共同的部分提取出來作為共享式的資源提供;擴(kuò)展內(nèi)核模塊對原有云平臺(tái)宿主操作系統(tǒng)內(nèi)核進(jìn)行動(dòng)態(tài)擴(kuò)展,加入以移動(dòng)操作系統(tǒng)的內(nèi)核特性,實(shí)現(xiàn)內(nèi)核在宿主操作系統(tǒng)和移動(dòng)云容器之間的共享,為容器中移動(dòng)操作系統(tǒng)的運(yùn)行提供了前提條件。
[0014]按照本發(fā)明的另一方面,還提供了一種基于上述云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)的卸載方法,包括以下步驟:
[0015](I)檢測平臺(tái)是否是第一次響應(yīng)卸載請求,若是,跳轉(zhuǎn)到步驟(2),否則轉(zhuǎn)入步驟(3);
[0016](2)在平臺(tái)第一次響應(yīng)移動(dòng)代碼卸載時(shí),初始的云平臺(tái)系統(tǒng)加載擴(kuò)展內(nèi)核模塊來讓內(nèi)核支持移動(dòng)操作系統(tǒng)內(nèi)核特性,從而為運(yùn)行時(shí)模塊中的移動(dòng)云容器提供共享的內(nèi)核支撐;同時(shí),初始化資源共享模塊,為移動(dòng)云容器準(zhǔn)備運(yùn)行時(shí)所需的共享資源;
[0017](3)請求分發(fā)模塊捕獲卸載請求數(shù)據(jù),并查詢?nèi)萜鳡顟B(tài)數(shù)據(jù)判斷當(dāng)前是否有可用的容器運(yùn)行環(huán)境,若有,跳轉(zhuǎn)到步驟(4),否則轉(zhuǎn)入步驟(5);
[0018](4)啟動(dòng)新的移動(dòng)云容器,相比于傳統(tǒng)的虛擬機(jī)啟動(dòng)過程要加載內(nèi)核并為操作系統(tǒng)準(zhǔn)備文件系統(tǒng),容器中的移動(dòng)操作系統(tǒng)啟動(dòng)過程直接執(zhí)行操作系統(tǒng)初始化進(jìn)程;更新容器狀態(tài)數(shù)據(jù),將新啟動(dòng)的容器及其資源配置等信息寫入容器狀態(tài)數(shù)據(jù)存儲(chǔ)中;
[0019](5)分析卸載請求的來源應(yīng)用,查找當(dāng)前緩存代碼中是否有這部分代碼,若有,跳轉(zhuǎn)到步驟(7),否則轉(zhuǎn)入步驟(6);
[0020](6)緩存數(shù)據(jù)中不存在這部分代碼,向終端設(shè)備發(fā)送請求并接收要執(zhí)行卸載請求的移動(dòng)代碼;
[0021](7)將卸載請求分配到指定運(yùn)行時(shí)環(huán)境執(zhí)行,在執(zhí)行完成后返回請求的執(zhí)行結(jié)果;并判斷請求流是否結(jié)束,若未結(jié)束,跳轉(zhuǎn)到步驟(3),否則跳轉(zhuǎn)到步驟(8);
[0022](8)完成代碼卸載任務(wù)后,云平臺(tái)卸載擴(kuò)展內(nèi)核模塊恢復(fù)到初始云平臺(tái)狀態(tài),結(jié)束。
[0023]優(yōu)選地,步驟(I)通過模塊掛載的方式動(dòng)態(tài)加載內(nèi)核擴(kuò)展,擴(kuò)展模塊由移動(dòng)操作系統(tǒng)特有的核心驅(qū)動(dòng)組成。
[0024]優(yōu)選地,步驟(2)中的資源共享模塊初始化利用包括共享類庫、共享讀寫1/0、網(wǎng)絡(luò)控制器和共享驅(qū)動(dòng)。
[0025]優(yōu)選地,步驟(6)通過終端設(shè)備和云端已建立的網(wǎng)絡(luò)連接傳輸要執(zhí)行的移動(dòng)應(yīng)用代碼。
[0026]通過本發(fā)明所構(gòu)思的以上技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明的系統(tǒng)具有以下的優(yōu)點(diǎn)和技術(shù)效果:
[0027](I)防止代碼重復(fù)發(fā)送問題:考慮到新到達(dá)的卸載請求要執(zhí)行的代碼在本次執(zhí)行之前有可能已經(jīng)被云平臺(tái)接收,采用了請求分發(fā)模塊I和代碼緩存模塊2,對新到達(dá)的卸載請求進(jìn)行分析處理,檢測所執(zhí)行的代碼是否被云端緩存,避免了重復(fù)代碼的多次傳輸。本發(fā)明的方法減少了卸載請求的響應(yīng)時(shí)間和移動(dòng)設(shè)備用戶的數(shù)據(jù)損耗。
[0028](2)云端資源利用率優(yōu)化:在處理一系列卸載代碼時(shí),請求所需的資源和云端提供的資源間的關(guān)系是持續(xù)變化的。本發(fā)明采用了監(jiān)控調(diào)度模塊3對當(dāng)前云端資源的使用情況實(shí)時(shí)監(jiān)控,并維護(hù)容器狀態(tài)數(shù)據(jù),其對資源的動(dòng)態(tài)回收分配避免了資源長期閑置帶來的額外開銷,提高了云平臺(tái)系統(tǒng)整體的資源利用率。
[0029](3)高性能運(yùn)行時(shí)環(huán)境:處理移動(dòng)卸載請求的難點(diǎn)在于計(jì)算時(shí)間外的額外開銷在可接受范圍內(nèi)。本發(fā)明放棄了傳統(tǒng)云計(jì)算平臺(tái)采用的基于虛擬機(jī)的運(yùn)行時(shí)環(huán)境而采用了容器環(huán)境作為運(yùn)行時(shí)的資源模型。其擁有更快速的啟動(dòng)時(shí)間和近乎無開銷的計(jì)算性能為卸載代碼提供了高性能的運(yùn)行時(shí)環(huán)境,進(jìn)而滿足了移動(dòng)應(yīng)用請求對高實(shí)時(shí)性的要求。
[0030](4)可管理性:本發(fā)明采用資源共享模塊5將不同移動(dòng)云容器中相同的部分提取出來作為共享資源,實(shí)現(xiàn)對容器中移動(dòng)操作系統(tǒng)的重要資源統(tǒng)一管理,而這一過程對于容器中的操作系統(tǒng)來說是完全透明的。
[0031](5)動(dòng)態(tài)性:為了減輕現(xiàn)有移動(dòng)應(yīng)用的修改負(fù)擔(dān),本發(fā)明的平臺(tái)系統(tǒng)兼容傳統(tǒng)移動(dòng)卸載框架。同時(shí),由于使用擴(kuò)展內(nèi)核模塊6,本發(fā)明的方法提供了一組內(nèi)核模塊,現(xiàn)有的云平臺(tái)系統(tǒng)可以簡單地通過內(nèi)核的動(dòng)態(tài)掛載實(shí)現(xiàn)擴(kuò)展內(nèi)核對移動(dòng)操作系統(tǒng)內(nèi)核特性的支持,不需要對云服務(wù)器的內(nèi)核進(jìn)行配置和重新編譯。
【附圖說明】
[0032]圖1為本發(fā)明云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)模塊框圖;
[0033]圖2為本發(fā)明云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)中的卸載方法流程圖;
[0034]圖3為本發(fā)明云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)擴(kuò)展核心驅(qū)動(dòng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0035]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0036]如圖1所示,本發(fā)明系統(tǒng)包括位于云端入口的響應(yīng)卸載請求的前端處理層,位于云平臺(tái)主體的提供移動(dòng)代碼執(zhí)行環(huán)境的運(yùn)行時(shí)層,及位于云服務(wù)器最底層為平臺(tái)提供支撐的后端資源層。
[0037]前端處理層包括請求分發(fā)模塊I,代碼緩存模塊2,監(jiān)控調(diào)度模塊3和容器狀態(tài)數(shù)據(jù)。請求分發(fā)模塊I捕獲用戶卸載請求,根據(jù)當(dāng)前存儲(chǔ)的容器狀態(tài)數(shù)據(jù)選擇最合適執(zhí)行該請求的容器標(biāo)識,在未找到合適容器資源時(shí)創(chuàng)建容器啟動(dòng)請求,并將這些容器資源信息和請求數(shù)據(jù)傳送給代碼緩存模塊2;代碼緩存模塊2根據(jù)請求的應(yīng)用來源判斷要執(zhí)行的卸載請求代碼之前是否被緩存過,若未緩存,則需要通知終端設(shè)備將對應(yīng)的執(zhí)行代碼發(fā)送過來,若已緩存,則直接從緩存數(shù)據(jù)中取出這部分代碼,將這部分代碼和請求參數(shù)數(shù)據(jù)傳送到運(yùn)行時(shí)層;監(jiān)控調(diào)度模塊3實(shí)時(shí)對運(yùn)行時(shí)層的容器環(huán)境進(jìn)行監(jiān)控,并維護(hù)容器狀態(tài)數(shù)據(jù),這部分?jǐn)?shù)據(jù)被用來為新到達(dá)的卸載請求尋找最合適的運(yùn)行環(huán)境,與此同時(shí),監(jiān)控調(diào)度模塊3還周期性的檢測是否存在長時(shí)間閑置或資源分配不合理的容器,并對這部分容器進(jìn)行資源的重新分配,并更新容器狀態(tài)數(shù)據(jù)。
[0038]運(yùn)行時(shí)層包括運(yùn)行時(shí)模塊4。運(yùn)行時(shí)模塊4由多個(gè)移動(dòng)云容器組成,移動(dòng)云容器將定制的移動(dòng)操作系統(tǒng)運(yùn)行在容器環(huán)境中,為卸載的移動(dòng)應(yīng)用代碼提供執(zhí)行環(huán)境。運(yùn)行在移動(dòng)云容器中操作系統(tǒng)的定制主要通過追蹤卸載應(yīng)用請求對文件的訪問情況識別,關(guān)鍵的定制部分包括卸載應(yīng)用不需要的硬件驅(qū)動(dòng)、移動(dòng)操作系統(tǒng)中的只讀屬性的類庫、啟動(dòng)過程中和容器沖突的網(wǎng)絡(luò)管理模塊。通過對移動(dòng)云容器中模擬的終端環(huán)境進(jìn)行定制,運(yùn)行時(shí)模塊4對卸載請求的需求滿足不受影響。
[0039]后端資源層包括資源共享模塊5和擴(kuò)展內(nèi)核模塊6。資源共享模塊5為運(yùn)行時(shí)層的多個(gè)移動(dòng)云容器提供共享式的資源支持,通過包含移動(dòng)操作系統(tǒng)中共有的資源部分實(shí)現(xiàn),關(guān)鍵內(nèi)容有系統(tǒng)共享類庫、卸載代碼對文件系統(tǒng)的讀寫目標(biāo)、統(tǒng)一由容器守護(hù)進(jìn)程提供的網(wǎng)絡(luò)管理及卸載代碼訪問較少但又必不可少的移動(dòng)操作系統(tǒng)驅(qū)動(dòng)。擴(kuò)展內(nèi)核模塊6對原有云平臺(tái)宿主操作系統(tǒng)內(nèi)核進(jìn)行動(dòng)態(tài)擴(kuò)展,加入以移動(dòng)操作系統(tǒng)核心驅(qū)動(dòng)為基礎(chǔ)的內(nèi)核特性,將終端環(huán)境特性和宿主操作系統(tǒng)結(jié)合,實(shí)現(xiàn)內(nèi)核在宿主操作系統(tǒng)和移動(dòng)云容器之間的共享,為容器中移動(dòng)操作系統(tǒng)的運(yùn)行提供了前提條件。
[0040]如圖2所示,本發(fā)明提供了云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)中的卸載方法,包括以下步驟:
[0041](I)檢測平臺(tái)是否是第一次響應(yīng)卸載請求,若是,跳轉(zhuǎn)到步驟(2),否則轉(zhuǎn)入步驟
(3);
[0042](2)在平臺(tái)第一次響應(yīng)移動(dòng)代碼卸載時(shí),初始的云平臺(tái)系統(tǒng)需要加載擴(kuò)展內(nèi)核模塊來讓內(nèi)核支持移動(dòng)操作系統(tǒng)內(nèi)核特性,從而為運(yùn)行時(shí)模塊中的移動(dòng)云容器提供共享的內(nèi)核支撐。同時(shí),初始化資源共享模塊,為移動(dòng)云容器準(zhǔn)備運(yùn)行時(shí)所需的共享資源。
[0043](3)請求分發(fā)模塊捕獲卸載請求數(shù)據(jù),并查詢?nèi)萜鳡顟B(tài)數(shù)據(jù)判斷當(dāng)前是否有可用的容器運(yùn)行環(huán)境,若有,跳轉(zhuǎn)到步驟(4),否則轉(zhuǎn)入步驟(5)。
[0044](4)啟動(dòng)新的移動(dòng)云容器,相比于傳統(tǒng)的虛擬機(jī)啟動(dòng)過程要加載內(nèi)核并為操作系統(tǒng)準(zhǔn)備文件系統(tǒng),容器中的移動(dòng)操作系統(tǒng)啟動(dòng)過程直接執(zhí)行操作系統(tǒng)初始化進(jìn)程(initprocess)。更新容器狀態(tài)數(shù)據(jù),將新啟動(dòng)的容器及其資源配置等信息寫入容器狀態(tài)數(shù)據(jù)存儲(chǔ)中。
[0045](5)分析卸載請求的來源應(yīng)用,查找當(dāng)前緩存代碼中是否有這部分代碼,若有,跳轉(zhuǎn)到步驟(7),否則轉(zhuǎn)入步驟(6)。
[0046](6)緩存數(shù)據(jù)中不存在這部分代碼,向終端設(shè)備發(fā)送請求并接收要執(zhí)行卸載請求的移動(dòng)代碼。
[0047](7)將卸載請求分配到指定運(yùn)行時(shí)環(huán)境執(zhí)行,在執(zhí)行完成后返回請求的執(zhí)行結(jié)果。并判斷請求流是否結(jié)束,若未結(jié)束,跳轉(zhuǎn)到步驟(3),否則跳轉(zhuǎn)到步驟(8)。
[0048](8)完成代碼卸載任務(wù)后,云平臺(tái)卸載擴(kuò)展內(nèi)核模塊恢復(fù)到初始云平臺(tái)狀態(tài),結(jié)束。
[0049]如圖3所示,本發(fā)明中卸載代碼對移動(dòng)操作系統(tǒng)內(nèi)核驅(qū)動(dòng)的訪問結(jié)構(gòu)示意圖。本發(fā)明提供了一種云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng),擴(kuò)展內(nèi)核模塊由移動(dòng)操作系統(tǒng)的核心驅(qū)動(dòng)組成,這部分驅(qū)動(dòng)在初始平臺(tái)加載擴(kuò)展內(nèi)核時(shí)生成在宿主操作系統(tǒng)內(nèi)。當(dāng)卸載代碼發(fā)送驅(qū)動(dòng)訪問請求后,首先由移動(dòng)操作系統(tǒng)中的系統(tǒng)驅(qū)動(dòng)服務(wù)接收,并轉(zhuǎn)發(fā)到運(yùn)行時(shí)層中的驅(qū)動(dòng)命名空間。驅(qū)動(dòng)命名空間在每一個(gè)移動(dòng)云容器啟動(dòng)時(shí)都會(huì)生成,它意味著將宿主操作系統(tǒng)中的真實(shí)驅(qū)動(dòng)映射到移動(dòng)云容器中,同時(shí)每一個(gè)容器都有自己隔離的驅(qū)動(dòng)命名空間從而不會(huì)產(chǎn)生相互干擾。繼而驅(qū)動(dòng)命名空間將驅(qū)動(dòng)訪問請求提交到底層真實(shí)的移動(dòng)環(huán)境核心驅(qū)動(dòng)中去。上述整個(gè)過程對于卸載代碼都是透明的,卸載代碼無需參與驅(qū)動(dòng)管理。本發(fā)明中采用這種驅(qū)動(dòng)結(jié)構(gòu),實(shí)現(xiàn)了不同移動(dòng)云容器能同時(shí)對移動(dòng)環(huán)境下的核心驅(qū)動(dòng)進(jìn)行訪問,并且防止了不同驅(qū)動(dòng)訪問間的相互干擾。
[0050]本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng),其特征在于,包括前端處理層,運(yùn)行時(shí)層以及后端資源層,其中: 所述前端處理層位于云端入口,用于第一時(shí)間響應(yīng)到達(dá)的卸載請求;包括請求分發(fā)模塊、代碼緩存模塊、監(jiān)控調(diào)度模塊,其中: 所述請求分發(fā)模塊用于捕獲用戶卸載請求并將請求分發(fā)到特定容器運(yùn)行時(shí)環(huán)境中運(yùn)行;所述代碼緩存模塊用于根據(jù)請求的應(yīng)用來源在緩存數(shù)據(jù)中查找要執(zhí)行的卸載代碼,若存在,并直接從緩存數(shù)據(jù)中取出這部分代碼,無需再向終端請求;監(jiān)控調(diào)度模塊用于監(jiān)控容器使用情況,并對不合理的資源配置重新分配,更新容器狀態(tài)數(shù)據(jù); 所述運(yùn)行時(shí)層位于云平臺(tái)的主體,用于提供移動(dòng)代碼執(zhí)行環(huán)境,包括運(yùn)行時(shí)模塊: 所述運(yùn)行時(shí)模塊由多個(gè)移動(dòng)云容器組成,移動(dòng)云容器將定制的移動(dòng)操作系統(tǒng)運(yùn)行在容器環(huán)境中,為卸載的移動(dòng)應(yīng)用代碼模擬出和終端一致的執(zhí)行環(huán)境; 所述后端資源層位于云服務(wù)器最底層,用于為平臺(tái)提供支撐,包括資源共享模塊和擴(kuò)展內(nèi)核模塊,其中: 所述資源共享模塊將運(yùn)行時(shí)層的多個(gè)移動(dòng)云容器中共同的部分提取出來作為共享式的資源提供;擴(kuò)展內(nèi)核模塊對原有云平臺(tái)宿主操作系統(tǒng)內(nèi)核進(jìn)行動(dòng)態(tài)擴(kuò)展,加入以移動(dòng)操作系統(tǒng)的內(nèi)核特性,實(shí)現(xiàn)內(nèi)核在宿主操作系統(tǒng)和移動(dòng)云容器之間的共享,為容器中移動(dòng)操作系統(tǒng)的運(yùn)行提供了前提條件。2.—種基于權(quán)利要求1所述云環(huán)境下基于容器的移動(dòng)代碼卸載支撐系統(tǒng)的卸載方法,其特征在于,包括以下步驟: (1)檢測平臺(tái)是否是第一次響應(yīng)卸載請求,若是,跳轉(zhuǎn)到步驟(2),否則轉(zhuǎn)入步驟(3); (2)在平臺(tái)第一次響應(yīng)移動(dòng)代碼卸載時(shí),初始的云平臺(tái)系統(tǒng)加載擴(kuò)展內(nèi)核模塊來讓內(nèi)核支持移動(dòng)操作系統(tǒng)內(nèi)核特性,從而為運(yùn)行時(shí)模塊中的移動(dòng)云容器提供共享的內(nèi)核支撐;同時(shí),初始化資源共享模塊,為移動(dòng)云容器準(zhǔn)備運(yùn)行時(shí)所需的共享資源; (3)請求分發(fā)模塊捕獲卸載請求數(shù)據(jù),并查詢?nèi)萜鳡顟B(tài)數(shù)據(jù)判斷當(dāng)前是否有可用的容器運(yùn)行環(huán)境,若有,跳轉(zhuǎn)到步驟(4),否則轉(zhuǎn)入步驟(5); (4)啟動(dòng)新的移動(dòng)云容器,相比于傳統(tǒng)的虛擬機(jī)啟動(dòng)過程要加載內(nèi)核并為操作系統(tǒng)準(zhǔn)備文件系統(tǒng),容器中的移動(dòng)操作系統(tǒng)啟動(dòng)過程直接執(zhí)行操作系統(tǒng)初始化進(jìn)程;更新容器狀態(tài)數(shù)據(jù),將新啟動(dòng)的容器及其資源配置等信息寫入容器狀態(tài)數(shù)據(jù)存儲(chǔ)中; (5)分析卸載請求的來源應(yīng)用,查找當(dāng)前緩存代碼中是否有這部分代碼,若有,跳轉(zhuǎn)到步驟(7),否則轉(zhuǎn)入步驟(6); (6)緩存數(shù)據(jù)中不存在這部分代碼,向終端設(shè)備發(fā)送請求并接收要執(zhí)行卸載請求的移動(dòng)代碼; (7)將卸載請求分配到指定運(yùn)行時(shí)環(huán)境執(zhí)行,在執(zhí)行完成后返回請求的執(zhí)行結(jié)果;并判斷請求流是否結(jié)束,若未結(jié)束,跳轉(zhuǎn)到步驟(3),否則跳轉(zhuǎn)到步驟(8); (8)完成代碼卸載任務(wù)后,云平臺(tái)卸載擴(kuò)展內(nèi)核模塊恢復(fù)到初始云平臺(tái)狀態(tài),結(jié)束。3.根據(jù)權(quán)利要求2所述的云環(huán)境下基于容器的移動(dòng)代碼卸載方法,其特征在于,步驟(I)通過模塊掛載的方式動(dòng)態(tài)加載內(nèi)核擴(kuò)展,擴(kuò)展模塊由移動(dòng)操作系統(tǒng)特有的核心驅(qū)動(dòng)組成。4.根據(jù)權(quán)利要求2或3所述的云環(huán)境下基于容器的移動(dòng)代碼卸載方法,其特征在于,步驟(2)中的資源共享模塊初始化利用包括共享類庫、共享讀寫1/0、網(wǎng)絡(luò)控制器和共享驅(qū)動(dòng)。5.根據(jù)權(quán)利要求2或3所述的云環(huán)境下基于容器的移動(dòng)代碼卸載方法,其特征在于,步驟(6)通過終端設(shè)備和云端已建立的網(wǎng)絡(luò)連接傳輸要執(zhí)行的移動(dòng)應(yīng)用代碼。
【文檔編號】G06F9/445GK105893083SQ201610185722
【公開日】2016年8月24日
【申請日】2016年3月29日
【發(fā)明人】吳松, 牛超, 金海
【申請人】華中科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
屏边| 鄂州市| 龙川县| 略阳县| 太和县| 阳朔县| 永寿县| 宣化县| 商洛市| 姚安县| 舞钢市| 含山县| 临洮县| 安仁县| 灵璧县| 赤壁市| 唐海县| 社旗县| 琼结县| 稻城县| 安塞县| 滦平县| 绍兴市| 建阳市| 万安县| 江孜县| 香河县| 梁山县| 兴宁市| 河曲县| 阳城县| 盐边县| 略阳县| 砚山县| 清河县| 贵定县| 广饶县| 凌云县| 资中县| 白沙| 积石山|