本發(fā)明涉及云計算技術領域,特別涉及一種容器云資源智能回收與啟用的系統(tǒng)及方法。
背景技術:
隨著容器的快速發(fā)展,由輕量級容器作為基礎的云環(huán)境正在不斷的取代傳統(tǒng)的重量級虛擬化環(huán)境。對于任何數(shù)據(jù)中心的云環(huán)境,不管是在開發(fā)、測試和生產環(huán)境中,都會面臨資源使用量極少或者基本閑置不用的情況,而資源的空閑導致的最直接問題便是資源的浪費和不可復用,在傳統(tǒng)的情況下,一般針對小業(yè)務的應用環(huán)境,其配置的資源量是其平均使用的資源量的5-8倍,以保證應用正常的開發(fā)、測試與運作。對于有訪問量突增的互聯(lián)網熱點應用,再配以彈性伸縮模塊,在業(yè)務訪問量達到總的分配量的60%-80%時再進行自動擴容,當業(yè)務訪問量降低到60%以下后,再自動縮容到之前人工配置的資源量。
如圖1所示,一般傳統(tǒng)類應用,從業(yè)務訪問壓力波動性上可分為兩種,一種是業(yè)務量平緩類應用,另外一種是業(yè)務量在短時間內爆發(fā)式增長后又回歸訪問量平緩狀態(tài)的應用。對于第一類應用,為了保證業(yè)務的高性能與穩(wěn)定性,在進行環(huán)境部署與配置時,將以業(yè)務部門評估的訪問量最高的值來進行資源池的分配,環(huán)境部署完成后,整個環(huán)境基本保持在一個穩(wěn)定的狀態(tài),即便業(yè)務量達到頂峰的時候,也無需進行任何的干預,但此類應用是根據(jù)業(yè)務量的最大值來進行劃分的一個基本資源池,在一般情況下,資源池的使用率低至于10%甚至于使用率為0;如圖2所示,而對于第二類應用,其應用場景與第一類應用類似,同樣劃分一個基本資源池,該資源池內的資源不會進行隨意增刪,但是由于該類應用有爆發(fā)式增長的特性,在配置基本資源池的同時,又增加了一個未分配資源池,當業(yè)務量在基本資源池無法滿足的情況下,通過彈性調度模塊來調度分配未分配的資源,在業(yè)務量下降之后,彈性調度模塊再對來自未分配資源池劃分出來的資源進行回收并劃歸到未分配資源池中,以達到資源的彈性調度功能。對于上面兩類應用,在劃分基本資源池后,不會對該資源池內的資源進行變動,而實際使用過程中,平均的資源使用率極低,將造成資源的閑置。
但是,現(xiàn)有技術存在如下缺點:一、在環(huán)境部署完成后,對基本資源池采用固定資源模式,資源平均使用率低,造成大量資源閑置;二、相關管理人員不能及時通報資源使用情況,無法實現(xiàn)有效的系統(tǒng)配置管理。容器云分配的基本資源不能及時得到回收,將影響容器云環(huán)境中資源的有效利用,額外的占用過多資源,特別是測試環(huán)境中的應用資源,這對于大型核心系統(tǒng)或業(yè)務來說是不可接受的。
技術實現(xiàn)要素:
本發(fā)明提供一種容器云資源智能回收與啟用的系統(tǒng)及方法,目的在于根據(jù)資源使用信息和前期應用的訪問信息,自動對環(huán)境中未被使用的資源進行自動的回收,當該資源需要被再次使用時,對該資源進行啟動,從而有效的對環(huán)境中資源的使用進行分配,以達到資源的充分利用,同時也有效的避免了人工的干預,在用戶準備進行訪問應用之前,自動的啟動應用容器,并自動記錄下相關系統(tǒng)配置變化情況。
為解決上述問題,本發(fā)明實施例提供一種容器云資源智能回收與啟用的系統(tǒng),包括數(shù)據(jù)收集模塊、數(shù)據(jù)分析模塊、資源回收模塊和資源啟用模塊,
數(shù)據(jù)收集模塊,耦接所述數(shù)據(jù)分析模塊,用于收集資源使用信息和前期應用的訪問信息,并將收集到的相關信息發(fā)送至數(shù)據(jù)分析模塊;
數(shù)據(jù)分析模塊,耦接所述數(shù)據(jù)收集模塊、資源回收模塊和資源啟用模塊,接收資源使用信息和前期應用的訪問信息,根據(jù)資源使用信息和前期應用的訪問信息分析得出對應應用容器的下次資源回收時間和啟用時間;
資源回收模塊,根據(jù)數(shù)據(jù)分析模塊得到的結果,在指定的時間對應用資源進行回收;
資源啟用模塊,根據(jù)數(shù)據(jù)分析模塊得到的結果,在指定的時間對應用資源進行啟用。
本發(fā)明實施例還提供一種容器云資源智能回收與啟用的方法,其特征在于,具體包括以下步驟:
獲取前期應用的訪問信息和資源使用信息;
根據(jù)獲取到的相關信息,對未使用的資源進行回收;
根據(jù)前期應用的訪問信息,在應用再次訪問前,對相應的資源進行啟用。
作為一種實施方式,所述資源使用信息包括資源的總大小、應用在前期所有時間中的訪問量以及最近幾次的資源回收時間和啟用時間。
作為一種實施方式,所述前期應用的訪問信息包括上次應用是何時開始的、何時結束的和持續(xù)時長。
作為一種實施方式,還包括以下步驟:
根據(jù)前期應用的訪問信息,獲得資源的回收時間和啟用時間;
當達到相應的回收時間或啟用時間時,對相應的資源進行回收或啟用。
作為一種實施方式,所述當達到相應的回收時間或啟用時間時,對相應的資源進行回收或啟用步驟中,若資源在每次回收期間和啟用期間均有應用訪問情況,并存在包含應用訪問時才啟用的信息,則下次資源的回收時間和啟用時間進行相應調整以適配應用的訪問。
作為一種實施方式,所述根據(jù)前期應用的訪問信息,獲得資源的回收時間和啟用時間步驟,具體包括以下步驟:
獲取應用前期訪問前/后的啟停情況和應用訪問時的啟停情況;
根據(jù)獲取的信息分析應用的下次啟停情況以獲得資源的回收時間和啟用時間。
作為一種實施方式,所述獲取應用前期訪問前/后的啟停情況和應用訪問時的啟停情況;根據(jù)獲取的信息分析應用的下次啟停情況以獲得資源的回收時間和啟用時間步驟,具體包括以下步驟:
獲取應用前期訪問前/后和訪問時的啟停情況及其對應的時間集合;
對所有時間集合進行掃描整合成超集;
通過掃描所有超集的子集,確定超集中每個候選集的計數(shù),判斷計數(shù)是否小于最小支持度計數(shù);
若計數(shù)大于或等于最小支持度計數(shù),則認為該計數(shù)對應的候選集是頻繁的,在所有頻繁的候選集中選出計數(shù)最大的候選集以獲取資源的啟用時間;
若計數(shù)小于最小支持度計數(shù),則認為該計數(shù)對應的候選集是非頻繁的,在所有非頻繁候選集中選出計數(shù)最小的候選集以獲取資源的回收時間。
作為一種實施方式,所述分析應用的下次啟停情況步驟,具體包括以下步驟:
計算啟動應用和對應上次應用的回收時間的最小值為tt1,回收應用和對應上次應用的啟動時間的最小值為tt2;
資源的啟用時間為最小值tt1與頻繁的候選集中計數(shù)最大候選集的時間點的和,資源的回收時間為最小值tt2與非頻繁的候選集中計數(shù)最小的候選集的時間點的和。
本發(fā)明相比于現(xiàn)有技術的有益效果在于:彌補了現(xiàn)有云平臺環(huán)境的管理雜亂無章、無法充分復用現(xiàn)有計算資源的問題,本方案中,通過綜合考慮應用被訪問的情況、時間點的應用訪問頻繁度、收集前期應用被訪問調度的整體情況,以達到應用資源的自動回收與分配。同時本方案中資源回收后可被其他應用系統(tǒng)進行復用,同時相關管理人員在無需手動變更情況下自動的啟動應用,具有很強的實用性和擴展性。
附圖說明
圖1為現(xiàn)有技術的一般類應用的資源調度的流程圖;
圖2為現(xiàn)有技術的業(yè)務突增類應用的資源調度的流程圖;
圖3為本發(fā)明的容器云資源智能回收與啟用的系統(tǒng)的架構示意圖。
附圖標注:1、數(shù)據(jù)收集模塊;2、數(shù)據(jù)分析模塊;3、資源回收模塊;4、資源啟用模塊。
具體實施方式
以下結合附圖,對本發(fā)明上述的和另外的技術特征和優(yōu)點進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的部分實施例,而不是全部實施例。
本發(fā)明提出一種容器云資源智能回收與啟用的系統(tǒng)及方法,在容器云環(huán)境中,根據(jù)用戶對應用的訪問情況、應用訪問時間段、以及分析前期的應用訪問情況,自動對環(huán)境中未被使用的資源進行自動的回收,當該資源需要被再次使用時,對該資源進行啟動,從而有效的對環(huán)境中資源的使用進行分配,以達到資源的充分利用,同時也有效的避免了人工的干預,在用戶準備進行訪問應用之前,自動的啟動應用容器,并自動記錄下相關系統(tǒng)配置變化情況。
如圖3所示,本發(fā)明的容器云資源智能回收與啟用的系統(tǒng)包含數(shù)據(jù)收集模塊1、數(shù)據(jù)分析模塊2、資源回收模塊3以及資源啟用模塊4,其中,數(shù)據(jù)收集模塊1、資源回收模塊3和資源啟用模塊4均耦接數(shù)據(jù)分析模塊2。
數(shù)據(jù)收集模塊1主要作用是記錄存儲前期應用的訪問信息和將收集到的相關信息發(fā)送給數(shù)據(jù)分析模塊2,其中,前期應用的訪問信息包括上次應用是何時開始的、何時結束的和持續(xù)時長等。收集并記錄應用的資源信息,包括資源的總大小、應用在前期所有時間中的訪問量、最近幾次的資源回收時間和啟用時間等。
數(shù)據(jù)分析模塊2主要作用是根據(jù)數(shù)據(jù)收集模塊1收集的相關資源信息,通過分析得出對應應用容器的下次資源回收時間和啟用時間。通過數(shù)據(jù)收集模塊1收集到的信息來決策何時對資源進行回收,何時對資源進行開啟,如果對應的資源在多次自動回收和啟用期間均無用戶訪問信息則將對該資源進行長期的回收直到應用訪問時自動啟用該資源,如果資源在每次回收和啟用期間均有應用訪問信息,并存在用戶訪問時才啟用的信息,則下次回收資源的時間將進行相應的變更以適配應用訪問的需要,當數(shù)據(jù)分析模塊2分析出資源的回收時間和啟動時間后,在達到對應的時間時,數(shù)據(jù)分析模塊2將分別調度資源回收模塊3和資源啟用模塊4,以便對資源進行相對應的回收和啟用。
資源回收模塊3的主要作用是通過數(shù)據(jù)分析模塊2得到的結果,在指定的時間對資源進行回收。
資源啟用模塊4的主要作用是通過數(shù)據(jù)分析模塊2得到的結果,在指定的時間對資源進行啟用。
本發(fā)明實施例容器云資源智能回收與啟用的方法,具體包括以下步驟:S100:獲取前期應用的訪問信息和資源使用信息,其中,資源使用信息包括資源的總大小、應用在前期所有時間中的訪問量以及最近幾次的資源回收時間和啟用時間等,前期應用的訪問信息包括上次應用是何時開始的、何時結束的和持續(xù)時長等;
S101:根據(jù)獲取到的相關信息,對未使用的資源進行回收;
S102:根據(jù)前期應用的訪問信息,獲得資源的回收時間和啟用時間;
S103:當達到相應的回收時間或啟用時間時,對相應的資源進行回收或啟用,并且在應用再次訪問前,對相應的資源進行啟用。若資源在每次回收期間和啟用期間均有應用訪問情況,并存在包含應用訪問時才啟用的信息,則下次資源的回收時間和啟用時間進行相應調整以適配應用的訪問。
其中,步驟S102具體包括以下步驟:
S201:獲取應用前期訪問前/后的啟停情況和應用訪問時的啟停情況;
S202:根據(jù)獲取的信息分析應用的下次啟停情況以獲得資源的回收時間和啟用時間。
步驟S201和步驟S202具體包括以下步驟:
S400:獲取應用前期訪問前/后和訪問時的啟停情況及其對應的時間集合;
S401:對所有時間集合進行掃描整合成超集;
S402:通過掃描所有超集的子集,確定超集中每個候選集的計數(shù),判斷計數(shù)是否小于最小支持度計數(shù);
S403:若計數(shù)大于或等于最小支持度計數(shù),則認為該計數(shù)對應的候選集是頻繁的,在所有頻繁的候選集中選出計數(shù)最大的候選集;
S404:若計數(shù)小于最小支持度計數(shù),則認為該計數(shù)對應的候選集是非頻繁的,在所有非頻繁候選集中選出計數(shù)最小的候選集;
S405:計算啟動應用和對應上次應用的回收時間的最小值為tt1,回收應用和對應上次應用的啟動時間的最小值為tt2;
S406:根據(jù)最小值tt1與頻繁的候選集中計數(shù)最大候選集的時間點的和獲取資源的啟用時間;根據(jù)最小值tt2與非頻繁的候選集中計數(shù)最小的候選集的時間點的和獲取資源的回收時間。
本發(fā)明相比于現(xiàn)有技術的有益效果在于:彌補了現(xiàn)有云平臺環(huán)境的管理雜亂無章、無法充分復用現(xiàn)有計算資源的問題,本方案中,通過綜合考慮應用被訪問的情況、時間點的應用訪問頻繁度、收集前期應用被訪問調度的整體情況,對應用空閑時進行資源的及時回收以及應用再次訪問前的及時啟用,以達到容器云資源的自動回收與分配;同時本發(fā)明中資源回收后可被其他應用系統(tǒng)進行復用,同時相關管理人員在無需手動變更情況下自動的啟動應用,具有很強的實用性和擴展性。
以上所述的具體實施例,對本發(fā)明的目的、技術方案和有益效果進行了進一步的詳細說明,應當理解,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保護范圍。特別指出,對于本領域技術人員來說,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。