用于PaaS環(huán)境下的資源池管理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體來說,涉及一種用于PaaS環(huán)境下的資源池管理方法和裝置。
【背景技術(shù)】
[0002]目前,云計(jì)算環(huán)境主要提供了以下幾個(gè)層次的服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS),而所謂的層次則是指分層體系架構(gòu)意義上的“層次”,SP,IaaS在基礎(chǔ)設(shè)施層提供服務(wù),PaaS在軟件開放運(yùn)行平臺(tái)層提供服務(wù),而SaaS則在應(yīng)用軟件層提供服務(wù)。
[0003]其中,就PaaS層來說,其在開發(fā)過程中往往需要與IaaS層進(jìn)行集成,例如,對(duì)于PaaS環(huán)境下的資源池來說,該資源池中資源的生成是完全依賴于IaaS層所提供的服務(wù),因此,為了管理資源池,在現(xiàn)有技術(shù)中,資源池需要不斷向IaaS層發(fā)出管理命令,并借助管理命令的成功執(zhí)行來實(shí)現(xiàn)資源池的資源管理,但是,在管理命令的執(zhí)行過程中,由于系統(tǒng)運(yùn)行的復(fù)雜性以及通訊故障等原因,往往造成管理命令執(zhí)行失敗的結(jié)果,而此時(shí),資源池就會(huì)重新發(fā)布管理命令,直至管理命令的成功執(zhí)行為止。但是,實(shí)際操作中,該管理命令中可能涉及多個(gè)資源的操作命令,也就是說,造成管理命令執(zhí)行失敗的原因可能是管理命令中的一個(gè)或幾個(gè)資源操作命令的執(zhí)行失敗所引起的,但是,在現(xiàn)有技術(shù)中,資源池并不能夠確定是管理命令中的哪一個(gè)或幾個(gè)資源操作命令的執(zhí)行失敗而導(dǎo)致的管理命令的執(zhí)行失敗,而只能借助于對(duì)涉及全部資源的操作命令(即管理命令)不斷重新發(fā)布和執(zhí)行的方式,來使管理命令成功執(zhí)行,顯然,這會(huì)降低資源池的資源管理效率。
[0004]針對(duì)相關(guān)技術(shù)中由于不能確定資源池的資源管理命令的執(zhí)行狀況,而導(dǎo)致資源池的資源管理效率低的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]針對(duì)相關(guān)技術(shù)中由于不能確定資源池的資源管理命令的執(zhí)行狀況,而導(dǎo)致資源池的資源管理效率低的問題,本發(fā)明提出一種用于PaaS環(huán)境下的資源池管理方法和裝置,能夠有效的確定資源池的資源管理命令的執(zhí)行狀況,從而有效的提高資源池的資源管理效率。
[0006]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007]根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于PaaS環(huán)境下的資源池管理方法。
[0008]該資源池管理方法包括:
[0009]對(duì)管理命令進(jìn)行分解,并得到多個(gè)子管理命令;
[0010]執(zhí)行多個(gè)子管理命令,并對(duì)每個(gè)子管理命令的執(zhí)行情況進(jìn)行監(jiān)控;
[0011]根據(jù)每個(gè)子管理命令所對(duì)應(yīng)的監(jiān)控結(jié)果,確定每個(gè)子管理命令所涉及資源的操作情況。
[0012]其中,上述管理命令由資源池發(fā)出、并且用于對(duì)IaaS層的服務(wù)進(jìn)行調(diào)用。
[0013]并且,在對(duì)上述管理命令進(jìn)行分解時(shí),可以根據(jù)該管理命令所涉及的資源個(gè)數(shù),對(duì)上述管理命令進(jìn)行分解。
[0014]另外,在對(duì)上述管理命令進(jìn)行分解之前,可以建立操作隊(duì)列,并將管理命令加入至該操作隊(duì)列中;與此對(duì)應(yīng)的,在對(duì)管理命令進(jìn)行分解時(shí),則是對(duì)上述操作隊(duì)列中的管理命令進(jìn)行分解;
[0015]此外,在執(zhí)行上述多個(gè)子管理命令之前,還可以對(duì)上述操作隊(duì)列進(jìn)行持久化處理。
[0016]另外,該資源池管理方法還可包括:
[0017]建立與管理命令所對(duì)應(yīng)的監(jiān)控線程;
[0018]并且,在得到每個(gè)子管理命令所對(duì)應(yīng)的監(jiān)控結(jié)果之后,將監(jiān)控結(jié)果發(fā)送至該監(jiān)控線程,并由上述監(jiān)控線程來確定每個(gè)管理子命令所涉及資源的操作情況。
[0019]此外,該資源池管理方法還可包括:
[0020]將操作成功的子管理命令標(biāo)記為成功執(zhí)行;和/或
[0021]將操作失敗的上述子管理命令重新啟動(dòng),或者將操作失敗的上述子管理命令標(biāo)記為未啟動(dòng)。
[0022]根據(jù)本發(fā)明的另一方面,提供了一種用于PaaS環(huán)境下的資源池管理裝置。
[0023]該資源池管理裝置包括:
[0024]分解模塊,用于對(duì)上述管理命令進(jìn)行分解,并得到多個(gè)子管理命令;
[0025]執(zhí)行模塊,用于執(zhí)行上述多個(gè)子管理命令;
[0026]監(jiān)控模塊,用于對(duì)每個(gè)子管理命令的執(zhí)行情況進(jìn)行監(jiān)控;
[0027]確定模塊,用于根據(jù)上述每個(gè)子管理命令所對(duì)應(yīng)的監(jiān)控結(jié)果,確定上述每個(gè)子管理命令所涉及資源的操作情況。
[0028]其中,上述分解模塊還可用于根據(jù)管理命令所涉及的資源個(gè)數(shù),對(duì)該管理命令進(jìn)行分解。
[0029]此外,該資源池管理裝置還可包括:
[0030]建立隊(duì)列模塊,用于在對(duì)上述管理命令進(jìn)行分解之前,通過建立操作隊(duì)列,并將上述管理命令加入至該操作隊(duì)列中;并且,上述分解模塊還可用于對(duì)上述操作隊(duì)列中的管理命令進(jìn)行分解;
[0031]持久化處理模塊,用于在執(zhí)行上述多個(gè)子管理命令之前,對(duì)上述操作隊(duì)列進(jìn)行持久化處理。
[0032]本發(fā)明通過對(duì)管理命令分解后得到的每個(gè)子管理命令的執(zhí)行情況進(jìn)行監(jiān)控,能夠有效的確定資源池的資源管理命令的執(zhí)行狀況,從而有效的提高資源池的資源管理效率。
【附圖說明】
[0033]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0034]圖1是根據(jù)本發(fā)明實(shí)施例的用于PaaS環(huán)境下的資源池管理方法的流程圖;
[0035]圖2是根據(jù)本發(fā)明實(shí)施例的云計(jì)算環(huán)境下資源池管理與IaaS層的資源操作流程圖;
[0036]圖3是根據(jù)本發(fā)明實(shí)施例的用于PaaS環(huán)境下的資源池管理裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0037]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0038]根據(jù)本發(fā)明的實(shí)施例,提供了一種用于PaaS環(huán)境下的資源池管理方法。
[0039]如圖1所示,根據(jù)本發(fā)明實(shí)施例的資源池管理方法包括:
[0040]步驟SlOl,對(duì)管理命令進(jìn)行分解,并得到多個(gè)子管理命令;
[0041]步驟S103,執(zhí)行多個(gè)子管理命令,并對(duì)每個(gè)子管理命令的執(zhí)行情況進(jìn)行監(jiān)控;
[0042]步驟S105,根據(jù)每個(gè)子管理命令所對(duì)應(yīng)的監(jiān)控結(jié)果,確定每個(gè)子管理命令所涉及資源的操作情況。
[0043]通過本發(fā)明的上述方案,能夠通過每個(gè)子管理命令所涉及資源的操作情況,確定管理命令的執(zhí)行情況,從而提高資源池的資源管理效率。
[0044]在一個(gè)實(shí)施例中,上述管理命令由PaaS環(huán)境下的資源池發(fā)出、并且用于對(duì)IaaS層的服務(wù)進(jìn)行調(diào)用,以此來實(shí)現(xiàn)對(duì)資源池中資源的管理。
[0045]其中,在上述實(shí)施例中,在對(duì)上述管理命令進(jìn)行分解時(shí),為了提高資源池的資源管理效率,還可以根據(jù)該管理命令所涉及的資源個(gè)數(shù),對(duì)上述管理命令進(jìn)行分解,從而達(dá)到對(duì)涉及不同資源的管理命令進(jìn)行分別管理的目的。
[0046]此外,在另一個(gè)實(shí)施例中,為了提高資源池的資源管理效率,在對(duì)上述管理命令進(jìn)行分解之前,還可以建立操作隊(duì)列,并將管理命令加入至該操作隊(duì)列中;與此對(duì)應(yīng)的,在對(duì)管理命令進(jìn)行分解時(shí),則是對(duì)上述操作隊(duì)列中的管理命令進(jìn)行分解;此外,在執(zhí)行上述多個(gè)子管理命令之前,還可以對(duì)上述操作隊(duì)列進(jìn)行持久化處理,能夠?qū)崿F(xiàn)PaaS層資源池管理和IaaS層的完全解耦,從而提高了系統(tǒng)運(yùn)行的靈活性。
[0047]另外,根據(jù)本發(fā)明實(shí)施例的資源池管理方法還可包括:
[0048]建立與管理命令所對(duì)應(yīng)的監(jiān)控線程;
[0049]并且,由IaaS層的自動(dòng)代理服務(wù)負(fù)責(zé)監(jiān)控每個(gè)子管理命令的執(zhí)行情況,并將得到的每個(gè)子管理命令所對(duì)應(yīng)的監(jiān)控結(jié)果發(fā)送至上述監(jiān)控線程,并由上述監(jiān)控線程來確定每個(gè)管理子命令所涉及資源的操作情況。
[0050]其中,在一個(gè)實(shí)施例中,該監(jiān)控結(jié)果可以是每個(gè)子管理命令的執(zhí)行進(jìn)度信息,也可以是子管理命令執(zhí)行成功的信息或者執(zhí)行失敗的信息,當(dāng)然也可以是以上信息的任意組合,但是應(yīng)當(dāng)注意的是,在實(shí)際應(yīng)用中,該監(jiān)控結(jié)果只要是每個(gè)子管理命令的監(jiān)控信息,并能夠協(xié)助監(jiān)控線程來確定每個(gè)子管理命令所涉及資源的操作情況即可,本發(fā)明對(duì)此并不做限定。
[0051]此外,在另一個(gè)實(shí)施例中,在監(jiān)控線程確定了每個(gè)管理子命令所涉及資源的操作情況后,上述監(jiān)控線程可以將操作成功的子管理命令標(biāo)記為成功執(zhí)行,將操作失敗的子管理命令重新啟動(dòng),或者標(biāo)