容器系統(tǒng)的管理服務(wù)方法以及智能終端的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能手機(jī)操作系統(tǒng)技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種容器系統(tǒng)的管理服務(wù)方法以及智能終端。
【背景技術(shù)】
[0002]LXC是Linux Container (Linux容器)的簡(jiǎn)稱(chēng),是一種基于容器的操作系統(tǒng)層級(jí)的內(nèi)核虛擬化技術(shù)。利用Linux內(nèi)核的命名空間(namespace)特性,可以形成多個(gè)容器系統(tǒng),以此對(duì)進(jìn)程和資源進(jìn)行隔離。例如,在創(chuàng)建進(jìn)程時(shí)可以在該進(jìn)程的進(jìn)程描述符中加入相應(yīng)的標(biāo)記,表明該進(jìn)程所屬的命名空間(即所屬的容器系統(tǒng))。繼而,Linux內(nèi)核中的資源管理子系統(tǒng)(cgroups)可以為容器系統(tǒng)中的進(jìn)程分配系統(tǒng)資源。
[0003]目前,LXC通??梢岳霉ぞ呒械拿顚?duì)容器系統(tǒng)進(jìn)行基本管理,例如,lxc-create用于創(chuàng)建一個(gè)容器,lxc-execute用于在一個(gè)容器執(zhí)行應(yīng)用程序,lxc-start用于在容器中執(zhí)行給定命令,lxc-stop用于停止容器中所有的進(jìn)程,lxc-destroy用于銷(xiāo)毀容器,lxc-cgroup用于獲取或調(diào)整與資源管理子系統(tǒng)cgroups相關(guān)的參數(shù)。
[0004]隨著虛擬化技術(shù)的發(fā)展,LXC廣泛應(yīng)用于服務(wù)器上和用戶(hù)的設(shè)備端。實(shí)際應(yīng)用中,在服務(wù)器端,多個(gè)容器系統(tǒng)同時(shí)運(yùn)行時(shí),容器系統(tǒng)之間并沒(méi)有前后臺(tái)的區(qū)分;而在用戶(hù)的設(shè)備端,多個(gè)容器系統(tǒng)同時(shí)運(yùn)行,通常存在前后臺(tái)的區(qū)分,比如,與用戶(hù)交互的容器系統(tǒng)為前臺(tái);反之為后臺(tái)。而且,相較于服務(wù)器,在用戶(hù)的設(shè)備端,多個(gè)容器系統(tǒng)同時(shí)運(yùn)行,對(duì)設(shè)備上有限的系統(tǒng)資源的使用提出了更高的要求,亟需對(duì)系統(tǒng)資源進(jìn)行合理分配。
[0005]比如,對(duì)于運(yùn)行在前臺(tái)、與用戶(hù)交互的容器系統(tǒng),可以為該容器系統(tǒng)分配更多的顯示和輸入等系統(tǒng)資源,而對(duì)于運(yùn)行在后臺(tái)的容器系統(tǒng),則可以釋放該容器系統(tǒng)占用的部分系統(tǒng)資源,以此提高系統(tǒng)資源的利用率。
[0006]然而,本發(fā)明的發(fā)明人發(fā)現(xiàn),實(shí)際應(yīng)用中,通常是由專(zhuān)業(yè)人員通過(guò)LXC的基本命令對(duì)容器系統(tǒng)進(jìn)行管理控制。而通過(guò)LXC的基本命令對(duì)容器系統(tǒng)的管理,并沒(méi)有涉及容器系統(tǒng)的前后臺(tái)管理,無(wú)法有效地進(jìn)行系統(tǒng)資源的分配。而且,也不能讓普通用戶(hù)像安裝和管理應(yīng)用程序一樣安裝和管理用戶(hù)設(shè)備端的容器系統(tǒng),存在易用性不夠的問(wèn)題。
[0007]因此,有必要提供一種容器系統(tǒng)的管理服務(wù)方法,能夠增強(qiáng)對(duì)容器系統(tǒng)管理的靈活性和功能性,并提供容器系統(tǒng)的前后臺(tái)管理,提高系統(tǒng)資源的利用率。
【發(fā)明內(nèi)容】
[0008]針對(duì)上述現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供了一種容器系統(tǒng)的管理服務(wù)方法以及智能終端,用以提供容器系統(tǒng)的前后臺(tái)管理,提高系統(tǒng)資源的利用率,增強(qiáng)容器系統(tǒng)的自主性。
[0009]本發(fā)明方案提供了一種容器系統(tǒng)的管理服務(wù)方法,包括:
[0010]設(shè)置于容器系統(tǒng)中的容器管理服務(wù)CMS模塊接收到用戶(hù)輸入的切換請(qǐng)求后,將所述切換請(qǐng)求發(fā)送至設(shè)置于內(nèi)核中的內(nèi)核管理服務(wù)KCM模塊;[0011 ] 所述KCM模塊接收到所述CMS模塊發(fā)送的切換請(qǐng)求后,根據(jù)所述CMS模塊所屬容器系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)信息,決定切換后,向此次切換所涉及的容器系統(tǒng)中的CMS模塊發(fā)送前后臺(tái)變換信號(hào);
[0012]所述CMS模塊接收到前后臺(tái)變換信號(hào)后,對(duì)其所屬容器系統(tǒng)內(nèi)的進(jìn)程的狀態(tài)進(jìn)行相應(yīng)的調(diào)整。
[0013]根據(jù)本發(fā)明的另一方面,還提供了一種智能終端,包括:內(nèi)核、至少一個(gè)容器系統(tǒng),以及設(shè)置于各容器系統(tǒng)中的容器管理服務(wù)CMS模塊、以及設(shè)置于內(nèi)核中的內(nèi)核管理服務(wù)KCM模塊,其中,
[0014]所述KCM模塊用于接收到所述CMS模塊發(fā)送的切換請(qǐng)求后,根據(jù)所述CMS模塊所屬容器系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)信息,決定切換后,向此次切換所涉及的容器系統(tǒng)中的CMS模塊分別發(fā)送前后臺(tái)變換信號(hào);
[0015]所述CMS模塊用于接收到用戶(hù)輸入的切換請(qǐng)求后,將所述切換請(qǐng)求發(fā)送至所述KCM模塊;并接收到所述KCM模塊發(fā)送的前后臺(tái)變換信號(hào)后,對(duì)其所屬容器系統(tǒng)內(nèi)的進(jìn)程的狀態(tài)進(jìn)行相應(yīng)的調(diào)整。
[0016]本實(shí)施例的方案中,CMS模塊接收到切換請(qǐng)求后,可以將切換請(qǐng)求發(fā)送至KCM模塊;KCM模塊向此次切換所涉及的容器系統(tǒng)中的CMS模塊發(fā)送前后臺(tái)變換信號(hào);繼而,CMS模塊根據(jù)前后臺(tái)變換信號(hào),對(duì)其所屬容器系統(tǒng)內(nèi)的進(jìn)程的狀態(tài)進(jìn)行相應(yīng)的調(diào)整。這樣,在實(shí)現(xiàn)相關(guān)容器系統(tǒng)的前后臺(tái)切換管理的同時(shí),可以對(duì)相關(guān)容器系統(tǒng)內(nèi)的進(jìn)程的狀態(tài)進(jìn)行調(diào)整,比如,切換后后臺(tái)的容器系統(tǒng)內(nèi)的進(jìn)程釋放顯示相關(guān)的系統(tǒng)資源,提高系統(tǒng)資源的利用率,增強(qiáng)容器系統(tǒng)的自主性。
[0017]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【附圖說(shuō)明】
[0018]圖1為本發(fā)明實(shí)施例的智能終端的內(nèi)部結(jié)構(gòu)示意圖;
[0019]圖2為本發(fā)明實(shí)施例的容器系統(tǒng)的管理服務(wù)方法的流程示意圖;
[0020]圖3為本發(fā)明實(shí)施例的容器系統(tǒng)狀態(tài)查詢(xún)方法的流程示意圖。
【具體實(shí)施方式】
[0021]以下將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所得到的所有其它實(shí)施例,都屬于本發(fā)明所保護(hù)的范圍。
[0022]實(shí)際應(yīng)用中,在容器系統(tǒng)運(yùn)行在前臺(tái)時(shí),容器系統(tǒng)內(nèi)的進(jìn)程往往可以與用戶(hù)直接交互,通常占用顯示、輸入等相關(guān)的系統(tǒng)資源;而在容器系統(tǒng)切換到后臺(tái)之后,容器系統(tǒng)內(nèi)的進(jìn)程此時(shí)往往不再需要占用顯示、輸入等相關(guān)的系統(tǒng)資源。
[0023]然而,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有僅通過(guò)LXC的基本命令對(duì)容器系統(tǒng)的管理既不涉及容器系統(tǒng)的前后臺(tái)管理,更無(wú)法在容器系統(tǒng)的前后臺(tái)狀態(tài)發(fā)生變化時(shí)及時(shí)調(diào)整容器系統(tǒng)內(nèi)進(jìn)程的狀態(tài),也就無(wú)法及時(shí)有效地調(diào)整系統(tǒng)資源的分配。
[0024]因此,本發(fā)明的發(fā)明人考慮,可以在各容器系統(tǒng)中預(yù)先設(shè)置CMS(ContainerManager Service,容器管理服務(wù))模塊,并在內(nèi)核中預(yù)先設(shè)置KCM(Kernel ContainerManager,內(nèi)核管理服務(wù))模塊。
[0025]這樣,CMS模塊接收到切換請(qǐng)求后,可以將切換請(qǐng)求發(fā)送至KCM模塊;KCM模塊根據(jù)CMS模塊所屬容器系統(tǒng)當(dāng)前的運(yùn)行狀態(tài)信息,決定切換后,向此次切換所涉及的容器系統(tǒng)中的CMS模塊發(fā)送前后臺(tái)變換信號(hào);繼而,CMS模塊根據(jù)前后臺(tái)變換信號(hào),對(duì)其所屬容器系統(tǒng)內(nèi)的進(jìn)程的狀態(tài)進(jìn)行相應(yīng)的調(diào)整。這樣,在實(shí)現(xiàn)相關(guān)容器系統(tǒng)的前后臺(tái)切換管理的同時(shí),可以對(duì)相關(guān)容器系統(tǒng)內(nèi)的進(jìn)程的狀態(tài)進(jìn)行調(diào)整,比如,切換后后臺(tái)的容器系統(tǒng)內(nèi)的進(jìn)程釋放顯示相關(guān)的系統(tǒng)資源,提高系統(tǒng)資源的利用率。
[0026]下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明的技術(shù)方案。
[0027]本發(fā)明提供了一種智能終端,包括:內(nèi)核、至少一個(gè)容器系統(tǒng)。其中,各容器系統(tǒng)中預(yù)先設(shè)置有CMS模塊,內(nèi)核中預(yù)先設(shè)置有KCM模塊。
[0028]其中,內(nèi)核中的KCM模塊可以響應(yīng)各容器系統(tǒng)內(nèi)的CMS模塊發(fā)送的命令;管理內(nèi)核中的系統(tǒng)資源和外設(shè)驅(qū)動(dòng);并控制容器系統(tǒng)對(duì)系統(tǒng)資源的訪問(wèn),以及容器系統(tǒng)的前后臺(tái)狀態(tài)的切換。
[0029]主系統(tǒng)中的上層應(yīng)用可以通過(guò)預(yù)設(shè)的容器系統(tǒng)管理API (Applicat1n ProgramInterface