亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種應(yīng)用容器引擎容器資源調(diào)度方法及裝置與流程

文檔序號:12733295閱讀:387來源:國知局
一種應(yīng)用容器引擎容器資源調(diào)度方法及裝置與流程

本發(fā)明涉及軟件應(yīng)用開發(fā)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用容器引擎容器資源調(diào)度方法及裝置。



背景技術(shù):

Docker是采用go語言開發(fā)的一種基于LXC技術(shù)構(gòu)建的應(yīng)用容器引擎,是近年來新興發(fā)展的一種虛擬化工具,它可以和虛擬機一樣實現(xiàn)資源和系統(tǒng)環(huán)境的隔離。應(yīng)用容器引擎Docker的主要目標是“Build,Ship and Run Any App,Anywhere”,即通過對應(yīng)用組件的封裝(Packaging)、分發(fā)(Distribution)、部署(Deployment)、運行(Runtime)等生命周期的管理,達到應(yīng)用組件級別的“一次封裝,到處運行”,支持在多種主流云平臺(PaaS)和本地系統(tǒng)上部署??梢哉fDocker為應(yīng)用的開發(fā)和部署提供了“一站式”的解決方案。

現(xiàn)有技術(shù)中,應(yīng)用容器引擎Docker使用Cgroups歸類運行在容器中的進程,管理一組進程的資源,通過相應(yīng)的應(yīng)用程序接口對容器資源進行控制和調(diào)度,但對容器資源的配置和調(diào)度是由開發(fā)人員人工操作進行,并沒有實現(xiàn)容器資源的自動調(diào)度。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的是提供一種應(yīng)用容器引擎容器資源調(diào)度方法及裝置,實現(xiàn)了對容器資源的自動調(diào)度和更新。

為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:

一種應(yīng)用容器引擎容器資源調(diào)度方法,包括:

每隔第一預(yù)設(shè)時間從隊列中獲取指定容器的資源信息,并獲取系統(tǒng)的資源信息,所述隊列由系統(tǒng)內(nèi)各容器的資源信息構(gòu)成;

以系統(tǒng)的資源信息為參考,根據(jù)獲取的所述指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對所述指定容器的資源進行調(diào)度和更新。

可選地,還包括:每隔第二預(yù)設(shè)時間收集系統(tǒng)內(nèi)各容器的資源信息,更新到所述隊列中。

可選地,容器的資源信息為在所述第二預(yù)設(shè)時間的間隔內(nèi)所述容器的資源信息平均值。

可選地,還包括:

當監(jiān)測到系統(tǒng)內(nèi)出現(xiàn)新增容器時,建立用于執(zhí)行對所述新增容器的資源進行調(diào)度的線程;

當監(jiān)測到系統(tǒng)內(nèi)的容器銷毀時,停止用于執(zhí)行對該銷毀容器的資源進行調(diào)度的線程。

可選地,容器的資源包括CPU資源和內(nèi)存資源;

所述以系統(tǒng)的資源信息為參考,根據(jù)獲取的所述指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對所述指定容器的資源進行調(diào)度和更新包括:

以系統(tǒng)的CPU資源信息為參考,根據(jù)獲取的所述指定容器的CPU資源信息,當判斷所述指定容器的CPU資源不滿足預(yù)設(shè)條件時,對所述指定容器的CPU資源進行調(diào)度和更新;

以系統(tǒng)的內(nèi)存資源信息為參考,根據(jù)獲取的所述指定容器的內(nèi)存資源信息,當判斷所述指定容器的內(nèi)存資源不滿足預(yù)設(shè)條件時,對所述指定容器的內(nèi)存資源進行調(diào)度和更新。

一種應(yīng)用容器引擎容器資源調(diào)度裝置,包括:

獲取模塊,用于每隔第一預(yù)設(shè)時間從隊列中獲取指定容器的資源信息,并獲取系統(tǒng)的資源信息,所述隊列由系統(tǒng)內(nèi)各容器的資源信息構(gòu)成;

調(diào)度模塊,用于以系統(tǒng)的資源信息為參考,根據(jù)獲取的所述指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對所述指定容器的資源進行調(diào)度和更新。

可選地,還包括隊列更新模塊,用于每隔第二預(yù)設(shè)時間收集系統(tǒng)內(nèi)各容器的資源信息,更新到所述隊列中。

可選地,容器的資源信息為在所述第二預(yù)設(shè)時間的間隔內(nèi)所述容器的資源信息平均值。

可選地,還包括線程控制模塊,用于當監(jiān)測到系統(tǒng)內(nèi)出現(xiàn)新增容器時,建立用于執(zhí)行對所述新增容器的資源進行調(diào)度的線程,當監(jiān)測到系統(tǒng)內(nèi)的容器銷毀時,停止用于執(zhí)行對該銷毀容器的資源進行調(diào)度的線程。

可選地,容器的資源包括CPU資源和內(nèi)存資源;

所述調(diào)度模塊具體用于:

以系統(tǒng)的CPU資源信息為參考,根據(jù)獲取的所述指定容器的CPU資源信息,當判斷所述指定容器的CPU資源不滿足預(yù)設(shè)條件時,對所述指定容器的CPU資源進行調(diào)度和更新;

以系統(tǒng)的內(nèi)存資源信息為參考,根據(jù)獲取的所述指定容器的內(nèi)存資源信息,當判斷所述指定容器的內(nèi)存資源不滿足預(yù)設(shè)條件時,對所述指定容器的內(nèi)存資源進行調(diào)度和更新。

由上述技術(shù)方案可知,本發(fā)明所提供的應(yīng)用容器引擎資源調(diào)度方法及裝置,以系統(tǒng)內(nèi)各容器的資源信息創(chuàng)建隊列,每隔預(yù)設(shè)時間從隊列中獲取指定容器的資源信息,并獲取系統(tǒng)的資源信息,然后以系統(tǒng)的資源信息為參考,根據(jù)獲取的指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對指定容器的資源進行調(diào)度和更新。可以看出,本發(fā)明應(yīng)用容器引擎容器資源調(diào)度方法及裝置,實現(xiàn)了對容器資源的自動調(diào)度和更新。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的一種應(yīng)用容器引擎容器資源調(diào)度方法的流程圖;

圖2為本發(fā)明實施例提供的一種應(yīng)用容器引擎容器資源調(diào)度裝置的示意圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本發(fā)明保護的范圍。

請參考圖1,本發(fā)明實施例提供的一種應(yīng)用容器引擎容器資源調(diào)度方法,包括步驟:

S10:每隔第一預(yù)設(shè)時間從隊列中獲取指定容器的資源信息,并獲取系統(tǒng)的資源信息,所述隊列由系統(tǒng)內(nèi)各容器的資源信息構(gòu)成。

創(chuàng)建隊列,該隊列由系統(tǒng)內(nèi)各容器的資源信息構(gòu)成。

對于需要進行動態(tài)資源調(diào)度的指定容器,每隔第一預(yù)設(shè)時間從隊列中獲取該指定容器的資源信息,

其中,容器的資源包括CPU資源和內(nèi)存資源,比如,容器的CPU資源信息指該容器所占用的CPU數(shù)目,容器的內(nèi)存資源信息指該容器所使用的內(nèi)存大小。

相應(yīng)的,系統(tǒng)的資源包括CPU資源和內(nèi)存資源,系統(tǒng)的CPU資源信息指系統(tǒng)的CPU總數(shù)目,系統(tǒng)的內(nèi)存資源信息指系統(tǒng)的內(nèi)存總?cè)萘俊?/p>

S11:以系統(tǒng)的資源信息為參考,根據(jù)獲取的所述指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對所述指定容器的資源進行調(diào)度和更新。

以系統(tǒng)的資源信息為參考,根據(jù)所述指定容器的資源信息,可得知該指定容器資源的使用情況,包括CPU資源和內(nèi)存資源,當判斷指定容器的資源不滿足預(yù)設(shè)條件時,對指定容器的資源進行調(diào)度和更新。

可以看出,本實施例應(yīng)用容器引擎容器資源調(diào)度方法,實現(xiàn)了對容器資源的自動調(diào)度和更新。一方面可提高系統(tǒng)硬件資源的使用率,另一方面提升容器內(nèi)運行程序的性能。

下面對本實施例應(yīng)用容器引擎容器資源調(diào)度方法進行詳細說明。

本實施例應(yīng)用容器引擎容器資源調(diào)度方法,包括步驟:

S10:每隔第一預(yù)設(shè)時間從隊列中獲取指定容器的資源信息,并獲取系統(tǒng)的資源信息,所述隊列由系統(tǒng)內(nèi)各容器的資源信息構(gòu)成。

具體的,可以為系統(tǒng)內(nèi)各容器分配唯一的標識號(ID),以標識號為標識,將各容器的資源信息存儲到所述隊列中。當系統(tǒng)內(nèi)出現(xiàn)新增容器時,會為新增容器分配標識號。

在收集容器的資源信息時,會收集容器的標識號,并獲取容器的資源信息,對應(yīng)標識號,將資源信息存儲到所述隊列中。

優(yōu)選的,本實施例方法中,每隔第二預(yù)設(shè)時間收集系統(tǒng)內(nèi)各容器的資源信息,更新到所述隊列中。這樣,每隔一定時間收集一次系統(tǒng)內(nèi)各容器的資源信息,更新到所述隊列中,能夠?qū)崟r地獲取各容器的資源信息。

具體的,容器的資源包括CPU資源和內(nèi)存資源,比如,容器的CPU資源信息指該容器所占用的CPU數(shù)目,容器的內(nèi)存資源信息指該容器所使用的內(nèi)存大小。

本方法中,容器的資源信息為在所述第二預(yù)設(shè)時間的間隔內(nèi)所述容器的資源信息平均值。比如,對于容器的CPU資源信息,為在第二預(yù)設(shè)時間的間隔內(nèi)該容器所占用CPU數(shù)目的平均值;對于容器的內(nèi)存資源,為在第二預(yù)設(shè)時間的間隔內(nèi)該容器所使用的內(nèi)存大小的平均值。

在每次從隊列中獲取到指定容器的資源信息后,同時獲取系統(tǒng)的資源信息,包括系統(tǒng)的CPU資源信息和內(nèi)存資源信息。

在具體實施中,可采用一個函數(shù)a,用于獲取系統(tǒng)內(nèi)所有容器的標識號;采用一個函數(shù)b,用于獲取指定標識號容器的資源信息,包括CPU資源信息和內(nèi)存資源信息。

可采用一個線程c,用于調(diào)用函數(shù)a和函數(shù)b,收集在第二預(yù)設(shè)時間的間隔內(nèi)各容器各自的資源信息平均值,將結(jié)果放入到創(chuàng)建的所述隊列中。

可采用一個函數(shù)d,用于獲取系統(tǒng)當前的資源信息,包括CPU資源信息和內(nèi)存資源信息。

S11:以系統(tǒng)的資源信息為參考,根據(jù)獲取的所述指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對所述指定容器的資源進行調(diào)度和更新。

以系統(tǒng)的資源信息為參考,根據(jù)所述指定容器的資源信息,可得知該指定容器資源的使用情況,包括CPU資源和內(nèi)存資源,當判斷指定容器的資源不滿足預(yù)設(shè)條件時,對指定容器的資源進行調(diào)度和更新。

并具體包括:以系統(tǒng)的CPU資源信息為參考,根據(jù)獲取的所述指定容器的CPU資源信息,當判斷所述指定容器的CPU資源不滿足預(yù)設(shè)條件時,對所述指定容器的CPU資源進行調(diào)度和更新;

以系統(tǒng)的內(nèi)存資源信息為參考,根據(jù)獲取的所述指定容器的內(nèi)存資源信息,當判斷所述指定容器的內(nèi)存資源不滿足預(yù)設(shè)條件時,對所述指定容器的內(nèi)存資源進行調(diào)度和更新。

在具體實施中,可通過采用一個線程f,用于每隔第一預(yù)設(shè)時間,從隊列中獲取指定容器的資源信息,并調(diào)用函數(shù)d,獲取系統(tǒng)的資源信息;以系統(tǒng)的資源信息為參考,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,調(diào)用函數(shù)g和函數(shù)h,對所述指定容器的資源進行調(diào)度和更新。

函數(shù)g用于對指定容器的CPU資源進行調(diào)度和更新;

函數(shù)h用于對指定容器的內(nèi)存資源進行調(diào)度和更新。

本實施例方法中,還包括:當監(jiān)測到系統(tǒng)內(nèi)出現(xiàn)新增容器時,建立用于執(zhí)行對所述新增容器的資源進行調(diào)度的線程;

當監(jiān)測到系統(tǒng)內(nèi)的容器銷毀時,停止用于執(zhí)行對該銷毀容器的資源進行調(diào)度的線程。

具體實施中,可采用一個函數(shù),調(diào)用函數(shù)a,監(jiān)測系統(tǒng)內(nèi)出現(xiàn)的新增容器和銷毀容器,為新增容器建立用于執(zhí)行對所述新增容器的資源進行調(diào)度的線程,對銷毀容器,停止用于執(zhí)行對該銷毀容器的資源進行調(diào)度的線程。

相應(yīng)的,請參考圖2,本發(fā)明實施例還提供一種應(yīng)用容器引擎容器資源調(diào)度裝置,包括:

獲取模塊20,用于每隔第一預(yù)設(shè)時間從隊列中獲取指定容器的資源信息,并獲取系統(tǒng)的資源信息,所述隊列由系統(tǒng)內(nèi)各容器的資源信息構(gòu)成;

調(diào)度模塊21,用于以系統(tǒng)的資源信息為參考,根據(jù)獲取的所述指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對所述指定容器的資源進行調(diào)度和更新。

可以看出,本實施例應(yīng)用容器引擎容器資源調(diào)度裝置,包括獲取模塊和調(diào)度模塊,以系統(tǒng)內(nèi)各容器的資源信息創(chuàng)建隊列,每隔預(yù)設(shè)時間從隊列中獲取指定容器的資源信息,并獲取系統(tǒng)的資源信息,然后以系統(tǒng)的資源信息為參考,根據(jù)獲取的指定容器的資源信息,當判斷所述指定容器的資源不滿足預(yù)設(shè)條件時,對指定容器的資源進行調(diào)度和更新。可以看出,本實施例應(yīng)用容器引擎容器資源調(diào)度裝置,實現(xiàn)了對容器資源的自動調(diào)度和更新。

本實施例應(yīng)用容器引擎容器資源調(diào)度裝置,還包括隊列更新模塊,用于每隔第二預(yù)設(shè)時間收集系統(tǒng)內(nèi)各容器的資源信息,更新到所述隊列中。

具體的,為系統(tǒng)內(nèi)各容器分配唯一的標識號(ID),以標識號為標識,將各容器的資源信息存儲到所述隊列中。當系統(tǒng)內(nèi)出現(xiàn)新增容器時,會為新增容器分配標識號。

在收集系統(tǒng)內(nèi)各容器的資源信息時,會收集系統(tǒng)內(nèi)當前存在的所有容器的標識號,并獲取各容器的資源信息,對應(yīng)標識號,將資源信息存儲到所述隊列中。

由隊列更新模塊每隔一定時間收集一次系統(tǒng)內(nèi)各容器的資源信息,更新到所述隊列中,能夠?qū)崟r地獲得各容器的資源信息。

具體的,容器的資源包括CPU資源和內(nèi)存資源,比如,容器的CPU資源信息指該容器所占用的CPU數(shù)目,容器的內(nèi)存資源信息指該容器所使用的內(nèi)存大小。

本裝置中,容器的資源信息為在所述第二預(yù)設(shè)時間的間隔內(nèi)所述容器的資源信息平均值。比如,對于容器的CPU資源信息,為在第二預(yù)設(shè)時間的間隔內(nèi)該容器所占用CPU數(shù)目的平均值;對于容器的內(nèi)存資源,為在第二預(yù)設(shè)時間的間隔內(nèi)該容器所使用的內(nèi)存大小的平均值。

獲取模塊20在每次從隊列中獲取到指定容器的資源信息后,同時獲取系統(tǒng)的資源信息,包括系統(tǒng)的CPU資源信息和內(nèi)存資源信息,系統(tǒng)的CPU資源信息指系統(tǒng)的CPU總數(shù)目,系統(tǒng)的內(nèi)存資源信息指系統(tǒng)的內(nèi)存總?cè)萘俊?/p>

本實施例中,所述調(diào)度模塊21具體用于:

以系統(tǒng)的CPU資源信息為參考,根據(jù)獲取的所述指定容器的CPU資源信息,當判斷所述指定容器的CPU資源不滿足預(yù)設(shè)條件時,對所述指定容器的CPU資源進行調(diào)度和更新;

以系統(tǒng)的內(nèi)存資源信息為參考,根據(jù)獲取的所述指定容器的內(nèi)存資源信息,當判斷所述指定容器的內(nèi)存資源不滿足預(yù)設(shè)條件時,對所述指定容器的內(nèi)存資源進行調(diào)度和更新。

本實施例應(yīng)用容器引擎容器資源調(diào)度裝置,還包括線程控制模塊,用于當監(jiān)測到系統(tǒng)內(nèi)出現(xiàn)新增容器時,建立用于執(zhí)行對所述新增容器的資源進行調(diào)度的線程,當監(jiān)測到系統(tǒng)內(nèi)的容器銷毀時,停止用于執(zhí)行對該銷毀容器的資源進行調(diào)度的線程。

,以上對本發(fā)明所提供的一種應(yīng)用容器引擎容器資源調(diào)度方法及裝置進行了詳細介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1