本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,具體而言,涉及一種服務(wù)的管理方法和一種服務(wù)的管理系統(tǒng)。
背景技術(shù):
目前,無論在PaaS(Platform-as-a-Service,平臺(tái)即服務(wù))還是提供監(jiān)控運(yùn)維服務(wù)的云平臺(tái),都會(huì)涉及到大量的服務(wù),而這些服務(wù)并不一定所有階段都經(jīng)過云平臺(tái)進(jìn)行了控制,因此云平臺(tái)對(duì)其沒有管理能力。為了把這些服務(wù)納入到云平臺(tái)中,需要一套機(jī)制實(shí)現(xiàn)對(duì)這些服務(wù)的注冊(cè)和管理。
在云計(jì)算越來越普及的今天,大量的個(gè)人和企業(yè)采用了云服務(wù)的方式獲得主機(jī)和一些軟件服務(wù),比如IaaS(Infrastructure as a Service,基礎(chǔ)設(shè)施即服務(wù))在整個(gè)IT(Information Technology,信息技術(shù))向云平臺(tái)遷移的過程中越來越普及,同時(shí)各種PaaS平臺(tái)和APM(Application Performance Management&Monitoring,應(yīng)用性能管理&監(jiān)控)平臺(tái)也隨勢(shì)而生。但與IaaS不同,在PaaS和APM關(guān)注的領(lǐng)域標(biāo)準(zhǔn)化程度遠(yuǎn)不如IaaS,而且隨著應(yīng)用在云平臺(tái)上的普及,應(yīng)用的場(chǎng)景也越來越豐富,標(biāo)準(zhǔn)化幾乎沒有可能。
同時(shí),為了實(shí)現(xiàn)對(duì)服務(wù)最廣泛的支持,大量的服務(wù)運(yùn)維工具紛紛出現(xiàn),比如開源自動(dòng)化配置管理工具:puppet、chef、ansiabile和saltstack等等,它們的出現(xiàn)大大降低了服務(wù)運(yùn)維的難度。但是所有的這些技術(shù)都是從一種最通用的角度來解決服務(wù)的管理問題,大都引入了一種領(lǐng)域編程語言,它們是用來解決大問題的工具,這些工具及其工具的組合是個(gè)復(fù)雜的過程,一般技術(shù)人員很難掌握。
因此,如何簡(jiǎn)化服務(wù)的發(fā)現(xiàn)和管理流程,有效地降低用戶的配置復(fù)雜度,提高系統(tǒng)的易用性成為亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明正是基于上述問題,提出了一種新的技術(shù)方案,通過針對(duì)不同的服務(wù)創(chuàng)建對(duì)應(yīng)的管理模式,從而標(biāo)準(zhǔn)化服務(wù)的配置信息,從而實(shí)現(xiàn)對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,有效地簡(jiǎn)化了服務(wù)的發(fā)現(xiàn)和管理流程,降低了用戶的配置復(fù)雜度,減少了交互,進(jìn)而提高了系統(tǒng)的穩(wěn)定性和易用性。
有鑒于此,根據(jù)本發(fā)明的第一方面,提出了一種服務(wù)的管理方法,包括:獲取服務(wù)掃描目錄;識(shí)別所述服務(wù)掃描目錄中具有管理模式的服務(wù);根據(jù)接收到的選擇指令在所述具有管理模式的服務(wù)中選擇至少一個(gè)服務(wù),以獲取所述至少一個(gè)服務(wù)中的每個(gè)服務(wù)的管理模式生成模式包;根據(jù)所述模式包執(zhí)行對(duì)所述至少一個(gè)服務(wù)的管理。
在該技術(shù)方案中,通過識(shí)別存儲(chǔ)的服務(wù)掃描目錄中具有與服務(wù)本身匹配的管理模式的所有服務(wù),其中,基于服務(wù)本身匹配的管理模式能夠方便快捷地發(fā)現(xiàn)、注冊(cè)及管理服務(wù),如此,通過針對(duì)不同的服務(wù)創(chuàng)建對(duì)應(yīng)的管理模式,從而標(biāo)準(zhǔn)化服務(wù)的配置信息,從而實(shí)現(xiàn)對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,有效地簡(jiǎn)化了服務(wù)的發(fā)現(xiàn)和管理流程,降低了用戶的配置復(fù)雜度,減少了交互,進(jìn)而提高了系統(tǒng)的穩(wěn)定性和易用性;進(jìn)一步地,在接收到用戶的選擇指令時(shí)從具有管理模式的服務(wù)中選擇需要的至少一個(gè)服務(wù)進(jìn)行獲取,具體地以打包成模式包的形式獲取,進(jìn)而根據(jù)獲取到的模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理,則采用模式包的形式,可以使至少一個(gè)模式,特別是多個(gè)模式,再運(yùn)行時(shí)實(shí)現(xiàn)遍歷的統(tǒng)一,減少一部分的輸入輸出開銷成本以及不必要的計(jì)算。
在上述技術(shù)方案中,優(yōu)選地,所述獲取所述至少一個(gè)服務(wù)中的每個(gè)服務(wù)的管理模式生成模式包的步驟,具體包括:獲取用戶輸入的云平臺(tái)地址;向所述云平臺(tái)地址對(duì)應(yīng)的云平臺(tái)請(qǐng)求下載與所述至少一個(gè)服務(wù)一一對(duì)應(yīng)的至少一個(gè)管理模式,以生成所述模式包。
在該技術(shù)方案中,具體地根據(jù)用戶輸入的云平臺(tái)地址向?qū)?yīng)的云平臺(tái)發(fā)起下載對(duì)應(yīng)于用戶選擇的至少一個(gè)服務(wù)的至少一個(gè)管理模式的請(qǐng)求,以實(shí)現(xiàn)對(duì)至少一個(gè)管理模式的打包下載,準(zhǔn)確而高效地獲取到模式包,特別是當(dāng)需要下載多個(gè)管理模式時(shí),可以明顯提高服務(wù)的發(fā)現(xiàn)和管理效率。
在上述任一技術(shù)方案中,優(yōu)選地,所述模式包包括:環(huán)境安裝組件和管理模式集合;以及所述根據(jù)所述模式包執(zhí)行對(duì)所述至少一個(gè)服務(wù)的管理的步驟,具體包括:根據(jù)所述環(huán)境安裝組件確定所述管理模式集合的運(yùn)行環(huán)境;在所述運(yùn)行環(huán)境中運(yùn)行所述管理模式集合中的每個(gè)管理模式,以生成對(duì)應(yīng)于每個(gè)管理模式的每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件;根據(jù)所述服務(wù)配置文件向所述云平臺(tái)注冊(cè)對(duì)應(yīng)的所述每個(gè)服務(wù),以及根據(jù)所述管理配置文件執(zhí)行所述每個(gè)服務(wù)的服務(wù)管理軟件的安裝和配置。
在該技術(shù)方案中,從云平臺(tái)獲取到的模式包至少包括環(huán)境安裝組件和管理模式集合,進(jìn)而再根據(jù)模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理時(shí),具體地,根據(jù)模式包中的環(huán)境安裝組件,比如bootstrap(一種開源的用于前端開發(fā)的工具包)組件,安裝管理模式實(shí)體業(yè)務(wù)需要的運(yùn)行環(huán)境,比如python(一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言)環(huán)境或ruby(一種簡(jiǎn)單快捷的面向?qū)ο竽_本語言)環(huán)境,以在該運(yùn)行環(huán)境中運(yùn)行管理模式集合中的每個(gè)管理模式,得到每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件,從而根據(jù)服務(wù)配置文件實(shí)現(xiàn)對(duì)服務(wù)在云平臺(tái)的注冊(cè),以提高云平臺(tái)的接入能力,并根據(jù)管理配置文件在管理模式運(yùn)行結(jié)束后調(diào)用對(duì)應(yīng)的服務(wù)管理配置程序完成服務(wù)管理軟件的安裝和配置,即安裝好相應(yīng)的服務(wù)管理代理,以輔助實(shí)現(xiàn)服務(wù)的全生命周期管理,包括啟動(dòng)、停止、刪除、監(jiān)控?cái)?shù)據(jù)收集等,進(jìn)一步地,通過采用模式包的形式可以合并共用的服務(wù)管理配置程序,從而減少不必要的計(jì)算,提高效率。
在上述任一技術(shù)方案中,優(yōu)選地,所述管理模式包括:模式參數(shù)和模式腳本,以及所述模式參數(shù)和所述模式腳本用于識(shí)別對(duì)應(yīng)于所述管理模式的服務(wù)并生成所述服務(wù)配置文件。
在該技術(shù)方案中,具體地針對(duì)不同的服務(wù)創(chuàng)建的對(duì)應(yīng)的管理模式至少包括模式參數(shù)和模式腳本,以用于識(shí)別出對(duì)應(yīng)管理模式的服務(wù),并生成用于將服務(wù)注冊(cè)到云平臺(tái)的服務(wù)配置文件,其中,模式參數(shù)主要包括允許用戶配置進(jìn)行個(gè)性化定制的部分,比如在不同的安裝環(huán)境下需要有所區(qū)分的安裝路徑,而模式腳本用于識(shí)別具體的服務(wù)并生成對(duì)應(yīng)的服務(wù)配置文件,比如可以采用python等腳本語言實(shí)現(xiàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述管理模式根據(jù)具有所述管理模式的服務(wù)的配置文件生成。
在該技術(shù)方案中,由于不同的服務(wù)有不同的檢查和發(fā)現(xiàn)機(jī)制,比如有的服務(wù)可以通過進(jìn)程、有的服務(wù)可以通過端口、有的通過查看配置文件等等,而一般用于識(shí)別服務(wù)的對(duì)應(yīng)的管理模式主要根據(jù)服務(wù)的配置文件,比如,apache(一種網(wǎng)頁服務(wù)器軟件)的conf配置文件,websphere(一種模塊化的軟件平臺(tái))的server.xml配置文件、tomcat(一種免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器)的server.xml配置文件進(jìn)行服務(wù)的識(shí)別,并檢查服務(wù)的配置和服務(wù)的狀態(tài)(啟動(dòng)還是停止),不同的服務(wù)的管理模式完全不相同,有些服務(wù)還可以是通過調(diào)用服務(wù)的一些接口獲取信息,如通過JMX(Java Management Extensions,Java管理拓展)獲取更結(jié)構(gòu)化的配置文件,如此,即可針對(duì)不同的服務(wù)建立一一對(duì)應(yīng)的管理模式,進(jìn)而可以基于管理模式方便快捷地實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn)、注冊(cè)、管理等,從而標(biāo)準(zhǔn)化服務(wù)的配置信息。
根據(jù)本發(fā)明的第二方面,提出了一種服務(wù)的管理系統(tǒng),包括:獲取模塊,用于獲取服務(wù)掃描目錄;識(shí)別模塊,用于識(shí)別所述獲取模塊獲取到的所述服務(wù)掃描目錄中具有管理模式的服務(wù);選擇模塊,用于根據(jù)接收到的選擇指令在所述識(shí)別模塊識(shí)別出的所述具有管理模式的服務(wù)中選擇至少一個(gè)服務(wù),以獲取所述至少一個(gè)服務(wù)中的每個(gè)服務(wù)的管理模式生成模式包;執(zhí)行模塊,用于根據(jù)所述模式包執(zhí)行對(duì)所述至少一個(gè)服務(wù)的管理。
在該技術(shù)方案中,通過識(shí)別存儲(chǔ)的服務(wù)掃描目錄中具有與服務(wù)本身匹配的管理模式的所有服務(wù),其中,基于服務(wù)本身匹配的管理模式能夠方便快捷地發(fā)現(xiàn)、注冊(cè)及管理服務(wù),如此,通過針對(duì)不同的服務(wù)創(chuàng)建對(duì)應(yīng)的管理模式,從而標(biāo)準(zhǔn)化服務(wù)的配置信息,從而實(shí)現(xiàn)對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,有效地簡(jiǎn)化了服務(wù)的發(fā)現(xiàn)和管理流程,降低了用戶的配置復(fù)雜度,減少了交互,進(jìn)而提高了系統(tǒng)的穩(wěn)定性和易用性;進(jìn)一步地,在接收到用戶的選擇指令時(shí)從具有管理模式的服務(wù)中選擇需要的至少一個(gè)服務(wù)進(jìn)行獲取,具體地以打包成模式包的形式獲取,進(jìn)而根據(jù)獲取到的模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理,則采用模式包的形式,可以使至少一個(gè)模式,特別是多個(gè)模式,再運(yùn)行時(shí)實(shí)現(xiàn)遍歷的統(tǒng)一,減少一部分的輸入輸出開銷成本以及不必要的計(jì)算。
在上述技術(shù)方案中,優(yōu)選地,所述獲取模塊還用于:獲取用戶輸入的云平臺(tái)地址;以及所述管理系統(tǒng)還包括:下載模塊,用于向所述獲取模塊獲取到的訴訟或云平臺(tái)地址對(duì)應(yīng)的云平臺(tái)請(qǐng)求下載與所述至少一個(gè)服務(wù)一一對(duì)應(yīng)的至少一個(gè)管理模式,以生成所述模式包。
在該技術(shù)方案中,具體地根據(jù)用戶輸入的云平臺(tái)地址向?qū)?yīng)的云平臺(tái)發(fā)起下載對(duì)應(yīng)于用戶選擇的至少一個(gè)服務(wù)的至少一個(gè)管理模式的請(qǐng)求,以實(shí)現(xiàn)對(duì)至少一個(gè)管理模式的打包下載,準(zhǔn)確而高效地獲取到模式包,特別是當(dāng)需要下載多個(gè)管理模式時(shí),可以明顯提高服務(wù)的發(fā)現(xiàn)和管理效率。
在上述任一技術(shù)方案中,優(yōu)選地,所述模式包包括:環(huán)境安裝組件和管理模式集合;以及所述執(zhí)行模塊具體包括:確定子模塊,用于根據(jù)所述環(huán)境安裝組件確定所述管理模式集合的運(yùn)行環(huán)境;運(yùn)行子模塊,用于在所述確定子模塊確定的所述運(yùn)行環(huán)境中運(yùn)行所述管理模式集合中的每個(gè)管理模式,以生成對(duì)應(yīng)于每個(gè)管理模式的每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件;管理子模塊,用于根據(jù)所述服務(wù)配置文件向所述云平臺(tái)注冊(cè)對(duì)應(yīng)的所述每個(gè)服務(wù),以及根據(jù)所述管理配置文件執(zhí)行所述每個(gè)服務(wù)的服務(wù)管理軟件的安裝和配置。
在該技術(shù)方案中,從云平臺(tái)獲取到的模式包至少包括環(huán)境安裝組件和管理模式集合,進(jìn)而再根據(jù)模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理時(shí),具體地,根據(jù)模式包中的環(huán)境安裝組件,比如bootstrap(一種開源的用于前端開發(fā)的工具包)組件,安裝管理模式實(shí)體業(yè)務(wù)需要的運(yùn)行環(huán)境,比如python(一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言)環(huán)境或ruby(一種簡(jiǎn)單快捷的面向?qū)ο竽_本語言)環(huán)境,以在該運(yùn)行環(huán)境中運(yùn)行管理模式集合中的每個(gè)管理模式,得到每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件,從而根據(jù)服務(wù)配置文件實(shí)現(xiàn)對(duì)服務(wù)在云平臺(tái)的注冊(cè),以提高云平臺(tái)的接入能力,并根據(jù)管理配置文件在管理模式運(yùn)行結(jié)束后調(diào)用對(duì)應(yīng)的服務(wù)管理配置程序完成服務(wù)管理軟件的安裝和配置,即安裝好相應(yīng)的服務(wù)管理代理,以輔助實(shí)現(xiàn)服務(wù)的全生命周期管理,包括啟動(dòng)、停止、刪除、監(jiān)控?cái)?shù)據(jù)收集等,進(jìn)一步地,通過采用模式包的形式可以合并共用的服務(wù)管理配置程序,從而減少不必要的計(jì)算,提高效率。
在上述任一技術(shù)方案中,優(yōu)選地,所述管理模式包括:模式參數(shù)和模式腳本,以及所述模式參數(shù)和所述模式腳本用于識(shí)別對(duì)應(yīng)于所述管理模式的服務(wù)并生成所述服務(wù)配置文件。
在該技術(shù)方案中,具體地針對(duì)不同的服務(wù)創(chuàng)建的對(duì)應(yīng)的管理模式至少包括模式參數(shù)和模式腳本,以用于識(shí)別出對(duì)應(yīng)管理模式的服務(wù),并生成用于將服務(wù)注冊(cè)到云平臺(tái)的服務(wù)配置文件,其中,模式參數(shù)主要包括允許用戶配置進(jìn)行個(gè)性化定制的部分,比如在不同的安裝環(huán)境下需要有所區(qū)分的安裝路徑,而模式腳本用于識(shí)別具體的服務(wù)并生成對(duì)應(yīng)的服務(wù)配置文件,比如可以采用python等腳本語言實(shí)現(xiàn)。
在上述任一技術(shù)方案中,優(yōu)選地,所述管理模式根據(jù)具有所述管理模式的服務(wù)的配置文件生成。
在該技術(shù)方案中,由于不同的服務(wù)有不同的檢查和發(fā)現(xiàn)機(jī)制,比如有的服務(wù)可以通過進(jìn)程、有的服務(wù)可以通過端口、有的通過查看配置文件等等,而一般用于識(shí)別服務(wù)的對(duì)應(yīng)的管理模式主要根據(jù)服務(wù)的配置文件,比如,apache(一種網(wǎng)頁服務(wù)器軟件)的conf配置文件,websphere(一種模塊化的軟件平臺(tái))的server.xml配置文件、tomcat(一種免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器)的server.xml配置文件進(jìn)行服務(wù)的識(shí)別,并檢查服務(wù)的配置和服務(wù)的狀態(tài)(啟動(dòng)還是停止),不同的服務(wù)的管理模式完全不相同,有些服務(wù)還可以是通過調(diào)用服務(wù)的一些接口獲取信息,如通過JMX(Java Management Extensions,Java管理拓展)獲取更結(jié)構(gòu)化的配置文件,如此,即可針對(duì)不同的服務(wù)建立一一對(duì)應(yīng)的管理模式,進(jìn)而可以基于管理模式方便快捷地實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn)、注冊(cè)、管理等,從而標(biāo)準(zhǔn)化服務(wù)的配置信息。
根據(jù)本發(fā)明的第三方面,提出了一種云節(jié)點(diǎn),包括如上第二發(fā)明的技術(shù)方案中任一項(xiàng)所述的服務(wù)的管理系統(tǒng)。
本發(fā)明的技術(shù)方案,通過針對(duì)不同的服務(wù)創(chuàng)建對(duì)應(yīng)的管理模式,從而標(biāo)準(zhǔn)化服務(wù)的配置信息,從而實(shí)現(xiàn)對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,有效地簡(jiǎn)化了服務(wù)的發(fā)現(xiàn)和管理流程,降低了用戶的配置復(fù)雜度,減少了交互,進(jìn)而提高了系統(tǒng)的穩(wěn)定性和易用性。
附圖說明
圖1示出了本發(fā)明的實(shí)施例的服務(wù)的管理方法的流程示意圖;
圖2示出了本發(fā)明的實(shí)施例的生成模式包的方法流程示意圖;
圖3示出了本發(fā)明的實(shí)施例的根據(jù)模式包對(duì)服務(wù)執(zhí)行管理的方法流程示意圖;
圖4示出了本發(fā)明的實(shí)施例的服務(wù)的管理系統(tǒng)的示意框圖;
圖5示出了圖4所示的執(zhí)行模塊的示意框圖;
圖6示出了本發(fā)明的實(shí)施例的基于模式的服務(wù)發(fā)現(xiàn)和管理機(jī)制的工作流程示意圖。
具體實(shí)施方式
為了可以更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
圖1示出了本發(fā)明的實(shí)施例的服務(wù)的管理方法的流程示意圖。
如圖1所示,根據(jù)本發(fā)明的實(shí)施例的服務(wù)的管理方法,具體包括以下流程步驟:
步驟102,獲取服務(wù)掃描目錄。
步驟104,識(shí)別所述服務(wù)掃描目錄中具有管理模式的服務(wù)。
步驟106,根據(jù)接收到的選擇指令在所述具有管理模式的服務(wù)中選擇至少一個(gè)服務(wù),以獲取所述至少一個(gè)服務(wù)中的每個(gè)服務(wù)的管理模式生成模式包。
步驟108,根據(jù)所述模式包執(zhí)行對(duì)所述至少一個(gè)服務(wù)的管理。
在該實(shí)施例中,通過識(shí)別存儲(chǔ)的服務(wù)掃描目錄中具有與服務(wù)本身匹配的管理模式的所有服務(wù),其中,基于服務(wù)本身匹配的管理模式能夠方便快捷地發(fā)現(xiàn)、注冊(cè)及管理服務(wù),如此,通過針對(duì)不同的服務(wù)創(chuàng)建對(duì)應(yīng)的管理模式,從而標(biāo)準(zhǔn)化服務(wù)的配置信息,從而實(shí)現(xiàn)對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,有效地簡(jiǎn)化了服務(wù)的發(fā)現(xiàn)和管理流程,降低了用戶的配置復(fù)雜度,減少了交互,進(jìn)而提高了系統(tǒng)的穩(wěn)定性和易用性;進(jìn)一步地,在接收到用戶的選擇指令時(shí)從具有管理模式的服務(wù)中選擇需要的至少一個(gè)服務(wù)進(jìn)行獲取,具體地以打包成模式包的形式獲取,進(jìn)而根據(jù)獲取到的模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理,則采用模式包的形式,可以使至少一個(gè)模式,特別是多個(gè)模式,再運(yùn)行時(shí)實(shí)現(xiàn)遍歷的統(tǒng)一,減少一部分的輸入輸出開銷成本以及不必要的計(jì)算。
進(jìn)一步地,可以通過如圖2所示的具體實(shí)施例實(shí)現(xiàn)上述步驟106中的“獲取所述至少一個(gè)服務(wù)中的每個(gè)服務(wù)的管理模式生成模式包”,包括以下流程:
步驟S20,獲取用戶輸入的云平臺(tái)地址。
步驟S22,向所述云平臺(tái)地址對(duì)應(yīng)的云平臺(tái)請(qǐng)求下載與所述至少一個(gè)服務(wù)一一對(duì)應(yīng)的至少一個(gè)管理模式,以生成所述模式包。
在該實(shí)施例中,具體地根據(jù)用戶輸入的云平臺(tái)地址向?qū)?yīng)的云平臺(tái)發(fā)起下載對(duì)應(yīng)于用戶選擇的至少一個(gè)服務(wù)的至少一個(gè)管理模式的請(qǐng)求,以實(shí)現(xiàn)對(duì)至少一個(gè)管理模式的打包下載,準(zhǔn)確而高效地獲取到模式包,特別是當(dāng)需要下載多個(gè)管理模式時(shí),可以明顯提高服務(wù)的發(fā)現(xiàn)和管理效率。
進(jìn)一步地,在上述任一實(shí)施例中,所述模式包包括:環(huán)境安裝組件和管理模式集合;以及可以通過如圖3所示的具體實(shí)施例實(shí)現(xiàn)上述步驟108,包括以下流程步驟:
步驟30,根據(jù)所述環(huán)境安裝組件確定所述管理模式集合的運(yùn)行環(huán)境。
步驟32,在所述運(yùn)行環(huán)境中運(yùn)行所述管理模式集合中的每個(gè)管理模式,以生成對(duì)應(yīng)于每個(gè)管理模式的每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件。
步驟34,根據(jù)所述服務(wù)配置文件向所述云平臺(tái)注冊(cè)對(duì)應(yīng)的所述每個(gè)服務(wù),以及根據(jù)所述管理配置文件執(zhí)行所述每個(gè)服務(wù)的服務(wù)管理軟件的安裝和配置。
在該實(shí)施例中,從云平臺(tái)獲取到的模式包至少包括環(huán)境安裝組件和管理模式集合,進(jìn)而再根據(jù)模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理時(shí),具體地,根據(jù)模式包中的環(huán)境安裝組件,比如bootstrap(一種開源的用于前端開發(fā)的工具包)組件,安裝管理模式實(shí)體業(yè)務(wù)需要的運(yùn)行環(huán)境,比如python(一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言)環(huán)境或ruby(一種簡(jiǎn)單快捷的面向?qū)ο竽_本語言)環(huán)境,以在該運(yùn)行環(huán)境中運(yùn)行管理模式集合中的每個(gè)管理模式,得到每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件,從而根據(jù)服務(wù)配置文件實(shí)現(xiàn)對(duì)服務(wù)在云平臺(tái)的注冊(cè),以提高云平臺(tái)的接入能力,并根據(jù)管理配置文件在管理模式運(yùn)行結(jié)束后調(diào)用對(duì)應(yīng)的服務(wù)管理配置程序完成服務(wù)管理軟件的安裝和配置,即安裝好相應(yīng)的服務(wù)管理代理,以輔助實(shí)現(xiàn)服務(wù)的全生命周期管理,包括啟動(dòng)、停止、刪除、監(jiān)控?cái)?shù)據(jù)收集等,進(jìn)一步地,通過采用模式包的形式可以合并共用的服務(wù)管理配置程序,從而減少不必要的計(jì)算,提高效率。
進(jìn)一步地,在上述任一實(shí)施例中,所述管理模式包括:模式參數(shù)和模式腳本,以及所述模式參數(shù)和所述模式腳本用于識(shí)別對(duì)應(yīng)于所述管理模式的服務(wù)并生成所述服務(wù)配置文件。
在該實(shí)施例中,具體地針對(duì)不同的服務(wù)創(chuàng)建的對(duì)應(yīng)的管理模式至少包括模式參數(shù)和模式腳本,以用于識(shí)別出對(duì)應(yīng)管理模式的服務(wù),并生成用于將服務(wù)注冊(cè)到云平臺(tái)的服務(wù)配置文件,其中,模式參數(shù)主要包括允許用戶配置進(jìn)行個(gè)性化定制的部分,比如在不同的安裝環(huán)境下需要有所區(qū)分的安裝路徑,而模式腳本用于識(shí)別具體的服務(wù)并生成對(duì)應(yīng)的服務(wù)配置文件,比如可以采用python等腳本語言實(shí)現(xiàn)。
進(jìn)一步地,在上述任一實(shí)施例中,所述管理模式根據(jù)具有所述管理模式的服務(wù)的配置文件生成。
在該實(shí)施例中,由于不同的服務(wù)有不同的檢查和發(fā)現(xiàn)機(jī)制,比如有的服務(wù)可以通過進(jìn)程、有的服務(wù)可以通過端口、有的通過查看配置文件等等,而一般用于識(shí)別服務(wù)的對(duì)應(yīng)的管理模式主要根據(jù)服務(wù)的配置文件,比如,apache(一種網(wǎng)頁服務(wù)器軟件)的conf配置文件,websphere(一種模塊化的軟件平臺(tái))的server.xml配置文件、tomcat(一種免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器)的server.xml配置文件進(jìn)行服務(wù)的識(shí)別,并檢查服務(wù)的配置和服務(wù)的狀態(tài)(啟動(dòng)還是停止),不同的服務(wù)的管理模式完全不相同,有些服務(wù)還可以是通過調(diào)用服務(wù)的一些接口獲取信息,如通過JMX(Java Management Extensions,Java管理拓展)獲取更結(jié)構(gòu)化的配置文件,如此,即可針對(duì)不同的服務(wù)建立一一對(duì)應(yīng)的管理模式,進(jìn)而可以基于管理模式方便快捷地實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn)、注冊(cè)、管理等,從而標(biāo)準(zhǔn)化服務(wù)的配置信息。
圖4示出了本發(fā)明的實(shí)施例的服務(wù)的管理系統(tǒng)的示意框圖。
如圖4所示,根據(jù)本發(fā)明的實(shí)施例的服務(wù)的管理系統(tǒng)400,包括:獲取模塊、識(shí)別模塊、選擇模塊和執(zhí)行模塊。
其中,所述獲取模塊用于獲取服務(wù)掃描目錄;所述識(shí)別模塊用于識(shí)別所述獲取模塊獲取到的所述服務(wù)掃描目錄中具有管理模式的服務(wù);所述選擇模塊用于根據(jù)接收到的選擇指令在所述識(shí)別模塊識(shí)別出的所述具有管理模式的服務(wù)中選擇至少一個(gè)服務(wù),以獲取所述至少一個(gè)服務(wù)中的每個(gè)服務(wù)的管理模式生成模式包;所述執(zhí)行模塊用于根據(jù)所述模式包執(zhí)行對(duì)所述至少一個(gè)服務(wù)的管理。
在該實(shí)施例中,通過識(shí)別存儲(chǔ)的服務(wù)掃描目錄中具有與服務(wù)本身匹配的管理模式的所有服務(wù),其中,基于服務(wù)本身匹配的管理模式能夠方便快捷地發(fā)現(xiàn)、注冊(cè)及管理服務(wù),如此,通過針對(duì)不同的服務(wù)創(chuàng)建對(duì)應(yīng)的管理模式,從而標(biāo)準(zhǔn)化服務(wù)的配置信息,從而實(shí)現(xiàn)對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,有效地簡(jiǎn)化了服務(wù)的發(fā)現(xiàn)和管理流程,降低了用戶的配置復(fù)雜度,減少了交互,進(jìn)而提高了系統(tǒng)的穩(wěn)定性和易用性;進(jìn)一步地,在接收到用戶的選擇指令時(shí)從具有管理模式的服務(wù)中選擇需要的至少一個(gè)服務(wù)進(jìn)行獲取,具體地以打包成模式包的形式獲取,進(jìn)而根據(jù)獲取到的模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理,則采用模式包的形式,可以使至少一個(gè)模式,特別是多個(gè)模式,再運(yùn)行時(shí)實(shí)現(xiàn)遍歷的統(tǒng)一,減少一部分的輸入輸出開銷成本以及不必要的計(jì)算。
進(jìn)一步地,在上述實(shí)施例中,所述獲取模塊還用于:獲取用戶輸入的云平臺(tái)地址;以及所述管理系統(tǒng)還包括:下載模塊,用于向所述獲取模塊獲取到的訴訟或云平臺(tái)地址對(duì)應(yīng)的云平臺(tái)請(qǐng)求下載與所述至少一個(gè)服務(wù)一一對(duì)應(yīng)的至少一個(gè)管理模式,以生成所述模式包。
在該實(shí)施例中,具體地根據(jù)用戶輸入的云平臺(tái)地址向?qū)?yīng)的云平臺(tái)發(fā)起下載對(duì)應(yīng)于用戶選擇的至少一個(gè)服務(wù)的至少一個(gè)管理模式的請(qǐng)求,以實(shí)現(xiàn)對(duì)至少一個(gè)管理模式的打包下載,準(zhǔn)確而高效地獲取到模式包,特別是當(dāng)需要下載多個(gè)管理模式時(shí),可以明顯提高服務(wù)的發(fā)現(xiàn)和管理效率。
進(jìn)一步地,在上述任一實(shí)施例中,所述模式包包括:環(huán)境安裝組件和管理模式集合;以及所述執(zhí)行模塊具體包括:確定子模塊、運(yùn)行子模塊和管理子模塊,如圖5所示。
其中,所述確定子模塊用于根據(jù)所述環(huán)境安裝組件確定所述管理模式集合的運(yùn)行環(huán)境;所述運(yùn)行子模塊用于在所述確定子模塊確定的所述運(yùn)行環(huán)境中運(yùn)行所述管理模式集合中的每個(gè)管理模式,以生成對(duì)應(yīng)于每個(gè)管理模式的每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件;所述管理子模塊用于根據(jù)所述服務(wù)配置文件向所述云平臺(tái)注冊(cè)對(duì)應(yīng)的所述每個(gè)服務(wù),以及根據(jù)所述管理配置文件執(zhí)行所述每個(gè)服務(wù)的服務(wù)管理軟件的安裝和配置。
在該實(shí)施例中,從云平臺(tái)獲取到的模式包至少包括環(huán)境安裝組件和管理模式集合,進(jìn)而再根據(jù)模式包執(zhí)行對(duì)至少一個(gè)服務(wù)的管理時(shí),具體地,根據(jù)模式包中的環(huán)境安裝組件,比如bootstrap(一種開源的用于前端開發(fā)的工具包)組件,安裝管理模式實(shí)體業(yè)務(wù)需要的運(yùn)行環(huán)境,比如python(一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言)環(huán)境或ruby(一種簡(jiǎn)單快捷的面向?qū)ο竽_本語言)環(huán)境,以在該運(yùn)行環(huán)境中運(yùn)行管理模式集合中的每個(gè)管理模式,得到每個(gè)服務(wù)的服務(wù)配置文件和管理配置文件,從而根據(jù)服務(wù)配置文件實(shí)現(xiàn)對(duì)服務(wù)在云平臺(tái)的注冊(cè),以提高云平臺(tái)的接入能力,并根據(jù)管理配置文件在管理模式運(yùn)行結(jié)束后調(diào)用對(duì)應(yīng)的服務(wù)管理配置程序完成服務(wù)管理軟件的安裝和配置,即安裝好相應(yīng)的服務(wù)管理代理,以輔助實(shí)現(xiàn)服務(wù)的全生命周期管理,包括啟動(dòng)、停止、刪除、監(jiān)控?cái)?shù)據(jù)收集等,進(jìn)一步地,通過采用模式包的形式可以合并共用的服務(wù)管理配置程序,從而減少不必要的計(jì)算,提高效率。
進(jìn)一步地,在上述任一實(shí)施例中,所述管理模式包括:模式參數(shù)和模式腳本,以及所述模式參數(shù)和所述模式腳本用于識(shí)別對(duì)應(yīng)于所述管理模式的服務(wù)并生成所述服務(wù)配置文件。
在該實(shí)施例中,具體地針對(duì)不同的服務(wù)創(chuàng)建的對(duì)應(yīng)的管理模式至少包括模式參數(shù)和模式腳本,以用于識(shí)別出對(duì)應(yīng)管理模式的服務(wù),并生成用于將服務(wù)注冊(cè)到云平臺(tái)的服務(wù)配置文件,其中,模式參數(shù)主要包括允許用戶配置進(jìn)行個(gè)性化定制的部分,比如在不同的安裝環(huán)境下需要有所區(qū)分的安裝路徑,而模式腳本用于識(shí)別具體的服務(wù)并生成對(duì)應(yīng)的服務(wù)配置文件,比如可以采用python等腳本語言實(shí)現(xiàn)。
進(jìn)一步地,在上述任一實(shí)施例中,所述管理模式根據(jù)具有所述管理模式的服務(wù)的配置文件生成。
在該實(shí)施例中,由于不同的服務(wù)有不同的檢查和發(fā)現(xiàn)機(jī)制,比如有的服務(wù)可以通過進(jìn)程、有的服務(wù)可以通過端口、有的通過查看配置文件等等,而一般用于識(shí)別服務(wù)的對(duì)應(yīng)的管理模式主要根據(jù)服務(wù)的配置文件,比如,apache(一種網(wǎng)頁服務(wù)器軟件)的conf配置文件,websphere(一種模塊化的軟件平臺(tái))的server.xml配置文件、tomcat(一種免費(fèi)的開放源代碼的Web應(yīng)用服務(wù)器)的server.xml配置文件進(jìn)行服務(wù)的識(shí)別,并檢查服務(wù)的配置和服務(wù)的狀態(tài)(啟動(dòng)還是停止),不同的服務(wù)的管理模式完全不相同,有些服務(wù)還可以是通過調(diào)用服務(wù)的一些接口獲取信息,如通過JMX(Java Management Extensions,Java管理拓展)獲取更結(jié)構(gòu)化的配置文件,如此,即可針對(duì)不同的服務(wù)建立一一對(duì)應(yīng)的管理模式,進(jìn)而可以基于管理模式方便快捷地實(shí)現(xiàn)服務(wù)的發(fā)現(xiàn)、注冊(cè)、管理等,從而標(biāo)準(zhǔn)化服務(wù)的配置信息。
作為本發(fā)明的一個(gè)實(shí)施例,可以將上述任一實(shí)施例中所述的服務(wù)的管理系統(tǒng)400應(yīng)用于云節(jié)點(diǎn)中。
下面結(jié)合圖6對(duì)本發(fā)明的實(shí)施例的基于模式的服務(wù)發(fā)現(xiàn)和管理機(jī)制的工作流程進(jìn)行具體說明。
首先,用戶通過云平臺(tái)的模式管理模塊配置模式(即服務(wù)的管理模式)的參數(shù)化部分,具體包括對(duì)模式參數(shù)和模式腳本的標(biāo)準(zhǔn)化配置;在此,對(duì)于沒有經(jīng)過云平臺(tái)的服務(wù),云平臺(tái)首先需要一套發(fā)現(xiàn)機(jī)制,發(fā)現(xiàn)這些服務(wù),然后再對(duì)這些服務(wù)根據(jù)特性的不同進(jìn)行管理,而不同的服務(wù)有不同的檢查和發(fā)現(xiàn)機(jī)制,有的服務(wù)可以通過進(jìn)程、有的可以通過端口、有的通過查看配置文件等等,不一而同,進(jìn)一步地為了處理這種差異,可以對(duì)每一類服務(wù)進(jìn)行細(xì)分,例如可以非常細(xì)粒度檢視Apache、IHS、nginx、tomcat、websphere、weblogic、activemq、redis、memcache等服務(wù)的不同,并對(duì)其進(jìn)行服務(wù)的檢查特性做詳細(xì)的總結(jié)和梳理,即形成模式(相當(dāng)于一種運(yùn)行程序);其中,模式參數(shù)是可以供給用戶配置的部分,模式腳本用來運(yùn)行識(shí)別具體的服務(wù),并產(chǎn)生相應(yīng)的服務(wù)配置文件。一般來說識(shí)別服務(wù)的模式主要根據(jù)服務(wù)的配置文件,如apache的conf文件,websphere的server.xml、tomcat的server.xml文件進(jìn)行服務(wù)的識(shí)別,并檢查服務(wù)的配置和服務(wù)的狀態(tài)(啟動(dòng)還是停止),不同的服務(wù)的模式完全不相同,有些服務(wù)還可能使通過調(diào)用服務(wù)的一些接口獲取信息,如通過JMX獲取更結(jié)構(gòu)化的配置信息。另外,對(duì)于大部分的服務(wù)而言,同一種服務(wù)的檢查機(jī)制模式一般都是相同的,一個(gè)模式可以檢查一個(gè)服務(wù)到底屬于哪一類模式,但也有例外,比如有些模式檢查的服務(wù)的安裝路徑,但是在某些安裝環(huán)境下這個(gè)路徑可能各有不同,模式參數(shù)正是適應(yīng)這種需要把模式轉(zhuǎn)化為一種特定于環(huán)境的配置的模式,即模式參數(shù)是可以供給用戶配置的部分;而模式腳本一般用使用腳本語言實(shí)現(xiàn),便于配置和修改,實(shí)現(xiàn)中主要采用python和ruby實(shí)現(xiàn)。
然后,用戶選擇需要在云節(jié)點(diǎn)上運(yùn)行的模式,以在云平臺(tái)的模式管理模塊打包下載對(duì)應(yīng)的模式,生成模式包,即多個(gè)模式可以組織在一起,形成一個(gè)模式包,而一個(gè)模式包可以包括以下兩個(gè)部分:(1)自提組件,又稱bootstrap組件,一方面可以采用使用最廣泛的腳本語言實(shí)現(xiàn),如linux中使用bash script,windows中使用cmd script,另一方面也可以為一個(gè)獨(dú)立地可執(zhí)行程序(一般采用靜態(tài)鏈接),主要負(fù)責(zé)安裝模式實(shí)體業(yè)務(wù)需要運(yùn)行的環(huán)境,如python環(huán)境、ruby環(huán)境;(2)模式集合,具體實(shí)現(xiàn)模式的業(yè)務(wù)邏輯,具體可以采用python等腳本語言,運(yùn)行邏輯時(shí),在需要服務(wù)發(fā)現(xiàn)的服務(wù)器中,檢查特定的服務(wù)存在,并生成服務(wù)的配置文件和相關(guān)的進(jìn)一步的管理配置程序,另外,業(yè)務(wù)組件一部分內(nèi)容是可以參數(shù)化的,可以通過再次配置和調(diào)整。
進(jìn)一步地,一個(gè)模式包有兩個(gè)輸入,一個(gè)輸入是模式的掃描目錄,一個(gè)輸入是云平臺(tái)地址,分別指出掃描從哪里開始,掃描結(jié)果匯報(bào)給誰,即基于模式的掃描目錄和云平臺(tái)地址生成模式包,從而將模式包上傳到對(duì)應(yīng)的云節(jié)點(diǎn)運(yùn)行,一方面輸出服務(wù)配置文件,另一方面輸出服務(wù)管理軟件配置程序(即管理配置文件),則可以根據(jù)服務(wù)配置文件在云平臺(tái)的服務(wù)管理模塊注冊(cè)服務(wù)配置,根據(jù)服務(wù)管理軟件配置程序在云平臺(tái)的軟件倉庫下載配置服務(wù)管理軟件,進(jìn)而在云節(jié)點(diǎn)完成配置服務(wù)管理軟件的安裝,以實(shí)現(xiàn)管理控制和數(shù)據(jù)匯報(bào)。
綜上,模式包中的模式運(yùn)行時(shí),對(duì)發(fā)現(xiàn)的服務(wù),進(jìn)行配置剖析,并注冊(cè)到云平臺(tái)中,同時(shí)為了管理還需要安裝相應(yīng)的管理代理(即服務(wù)管理軟件),實(shí)現(xiàn)服務(wù)的全生命周期管理,包括啟動(dòng)、停止、刪除、監(jiān)控?cái)?shù)據(jù)收集等。因此一般來說一個(gè)模式包都有兩類輸出,一類輸出是服務(wù)的標(biāo)準(zhǔn)配置文件,可以根據(jù)這些文件內(nèi)容向云平臺(tái)注冊(cè)這些服務(wù),一類是服務(wù)管理軟件配置程序,模式包在運(yùn)行結(jié)束后會(huì)自動(dòng)調(diào)用這些服務(wù)管理配置程序,進(jìn)行服務(wù)管理軟件的安裝和配置。
采用模式包的好處,是多個(gè)模式在需要進(jìn)行服務(wù)發(fā)現(xiàn)的服務(wù)器上運(yùn)行時(shí),遍歷是統(tǒng)一的,這樣能減少一部分的IO(Input/Output,輸入/輸出)開銷成本,同時(shí)可以合并共用的服務(wù)配置管理程序,減少不必需要的計(jì)算。
服務(wù)管理安裝的軟件包和配置來自一臺(tái)事先設(shè)定的服務(wù)器,在這里稱之為軟件倉庫,負(fù)責(zé)向服務(wù)運(yùn)行的服務(wù)器分發(fā)軟件包如節(jié)點(diǎn)代理、服務(wù)管理生命周期腳本、服務(wù)監(jiān)控腳本等等。
通過本發(fā)明的技術(shù)方案,監(jiān)護(hù)了服務(wù)的發(fā)現(xiàn)和注冊(cè),實(shí)現(xiàn)了對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,標(biāo)準(zhǔn)化了不同服務(wù)的標(biāo)準(zhǔn)化配置信息,以及提高了系統(tǒng)的易用性,非專業(yè)的運(yùn)維人員也可依托模式的能力實(shí)現(xiàn)其服務(wù)的管理和運(yùn)維。而且,通過管理代理的升級(jí)安裝和服務(wù)的發(fā)現(xiàn)進(jìn)行了一體化,減少了交互,系統(tǒng)穩(wěn)定性更加可控,通過配置和下載模式包,簡(jiǎn)化了服務(wù)發(fā)現(xiàn)和注冊(cè)的過程,實(shí)現(xiàn)了簡(jiǎn)單運(yùn)行一個(gè)腳本,就可以控制服務(wù)生命周期的全過程,并獲取監(jiān)控?cái)?shù)據(jù),該方案對(duì)系統(tǒng)的安全性要求低,安全完全控制在服務(wù)器管理員手中,對(duì)管控模式的適應(yīng)性很強(qiáng)。
以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,通過針對(duì)不同的服務(wù)創(chuàng)建對(duì)應(yīng)的管理模式,從而標(biāo)準(zhǔn)化服務(wù)的配置信息,從而實(shí)現(xiàn)對(duì)服務(wù)的管理和監(jiān)控隨著服務(wù)發(fā)現(xiàn)一次性完成功能部署,有效地簡(jiǎn)化了服務(wù)的發(fā)現(xiàn)和管理流程,降低了用戶的配置復(fù)雜度,減少了交互,進(jìn)而提高了系統(tǒng)的穩(wěn)定性和易用性。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。