本技術(shù)涉及計(jì)算機(jī),尤其涉及一種操作系統(tǒng)批量升級方法、裝置及計(jì)算機(jī)集群。
背景技術(shù):
1、隨著微服務(wù)、容器、分布式服務(wù)等云化軟件架構(gòu)的發(fā)展,云系統(tǒng)軟件架構(gòu)變的極其復(fù)雜。隨著云系統(tǒng)包括的云服務(wù)數(shù)量的快速增長,云系統(tǒng)需要配置更多數(shù)量的操作系統(tǒng)來承載大量的云服務(wù),從而云服務(wù)配套的操作系統(tǒng)的漏洞數(shù)量也隨之高速增長,因此需要不斷的對有漏洞的操作系統(tǒng)進(jìn)行升級以修復(fù)漏洞。
2、但是,在對云系統(tǒng)包括的多個(gè)操作系統(tǒng)進(jìn)行升級的過程中,需要依次按順序的對每個(gè)有漏洞的操作系統(tǒng)進(jìn)行升級。當(dāng)云系統(tǒng)包括的操作系統(tǒng)的數(shù)量較多時(shí),具有漏洞的操作系統(tǒng)的數(shù)量也隨之增多,因此,在云服務(wù)數(shù)量快速增長、操作系統(tǒng)的漏洞數(shù)量高速增長的情況下,對云服務(wù)配套的操作系統(tǒng)進(jìn)行升級的效率較低。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種操作系統(tǒng)批量升級方法、裝置及計(jì)算機(jī)集群,由此可以提高對云服務(wù)配套的操作系統(tǒng)進(jìn)行升級的效率。
2、第一方面,提供一種操作系統(tǒng)批量升級方法,云系統(tǒng)包括控制節(jié)點(diǎn)和多個(gè)計(jì)算節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)上部署虛擬機(jī),云系統(tǒng)上部署多個(gè)云服務(wù),每個(gè)云服務(wù)包括多個(gè)微服務(wù),每個(gè)微服務(wù)部署在至少一個(gè)虛擬機(jī)上,每個(gè)虛擬機(jī)上承載一個(gè)操作系統(tǒng),方法由控制節(jié)點(diǎn)執(zhí)行,該方法可以包括:基于云系統(tǒng)中服務(wù)的服務(wù)部署特征,生成升級策略,該升級策略用于指示依據(jù)多個(gè)升級批次升級多個(gè)虛擬機(jī)上的操作系統(tǒng),升級批次包括多個(gè)虛擬機(jī)中的至少一個(gè)虛擬機(jī),服務(wù)部署特征包括微服務(wù)的部署特征和云服務(wù)的部署特征;以基于升級策略,按照多個(gè)升級批次之間的升級順序,執(zhí)行多個(gè)升級批次對多個(gè)虛擬機(jī)上承載的操作系統(tǒng)進(jìn)行升級。
3、通過上述方法,相對于每次僅對云系統(tǒng)中的一個(gè)操作系統(tǒng)進(jìn)行升級,導(dǎo)致操作系統(tǒng)的升級效率較低的問題。本技術(shù)提供了一種對云系統(tǒng)中的操作系統(tǒng)進(jìn)行批量升級的方法,由于云系統(tǒng)中部署的云服務(wù)、云服務(wù)包含的微服務(wù)之間具有相互的部署關(guān)系,基于云系統(tǒng)中服務(wù)的服務(wù)部署特征將多個(gè)虛擬機(jī)劃分為多個(gè)升級批次,每個(gè)升級批次指示對至少一個(gè)虛擬機(jī)承載的操作系統(tǒng)進(jìn)行升級,基于多個(gè)升級批次的升級順序,分批次對每個(gè)批次包括的至少一個(gè)虛擬機(jī)上承載的操作系統(tǒng)進(jìn)行升級。即至少兩個(gè)虛擬機(jī)可以劃分到同一個(gè)升級批次,一次升級可以對至少兩個(gè)虛擬機(jī)承載的操作系統(tǒng)進(jìn)行升級,實(shí)現(xiàn)對云系統(tǒng)的操作系統(tǒng)進(jìn)行批量升級,從而提高對云服務(wù)配套的操作系統(tǒng)進(jìn)行升級的效率。
4、在一種可能的設(shè)計(jì)方式中,服務(wù)部署特征包括:服務(wù)拓?fù)潢P(guān)系和服務(wù)依賴關(guān)系,服務(wù)拓?fù)潢P(guān)系用于指示多個(gè)虛擬機(jī)上云服務(wù)、微服務(wù)、操作系統(tǒng)的部署關(guān)系,服務(wù)依賴關(guān)系用于指示多個(gè)虛擬機(jī)上部署的云服務(wù)之間的依賴關(guān)系和微服務(wù)之間的依賴關(guān)系,上述基于云系統(tǒng)中服務(wù)部署特征,生成升級策略,包括:基于服務(wù)拓?fù)潢P(guān)系和服務(wù)依賴關(guān)系,將多個(gè)虛擬機(jī)劃分為多個(gè)升級批次,生成升級策略。
5、如此,可以基于服務(wù)拓?fù)潢P(guān)系和服務(wù)依賴關(guān)系,在確定多個(gè)虛擬機(jī)上云服務(wù)、微服務(wù)、操作系統(tǒng)的部署關(guān)系、多個(gè)虛擬機(jī)上部署的云服務(wù)之間的依賴關(guān)系和微服務(wù)之間的依賴關(guān)系的情況下,在將多個(gè)虛擬機(jī)劃分為多個(gè)升級批次時(shí),將具有依賴關(guān)系的虛擬機(jī)劃分到同一升級批次,提高對虛擬機(jī)劃分批次的效率和準(zhǔn)確度。
6、在另一種可能的設(shè)計(jì)方式中,服務(wù)部署特征還包括微服務(wù)的狀態(tài),微服務(wù)的狀態(tài)用于指示微服務(wù)所部署的虛擬機(jī)運(yùn)行微服務(wù)的狀態(tài);上述基于云系統(tǒng)中服務(wù)部署特征,生成升級策略,包括:基于服務(wù)拓?fù)潢P(guān)系、服務(wù)依賴關(guān)系和每個(gè)虛擬機(jī)上承載的每個(gè)微服務(wù)的應(yīng)用狀態(tài),確定每個(gè)虛擬機(jī)的升級批次,將多個(gè)虛擬機(jī)劃分為多個(gè)升級批次,生成升級策略。
7、如此,可以進(jìn)一步的結(jié)合微服務(wù)的應(yīng)用狀態(tài),根據(jù)微服務(wù)是開啟狀態(tài)還是關(guān)閉狀態(tài),確定部署微服務(wù)的虛擬機(jī)的升級批次,從而更加準(zhǔn)確的確定每個(gè)虛擬機(jī)的升級批次,進(jìn)一步的提高對虛擬機(jī)劃分批次的效率和準(zhǔn)確度。
8、在另一種可能的設(shè)計(jì)方式中,服務(wù)部署特征還包括運(yùn)行微服務(wù)所需的虛擬機(jī)數(shù)量;上述基于云系統(tǒng)中服務(wù)部署特征,生成升級策略,包括:基于服務(wù)拓?fù)潢P(guān)系、服務(wù)依賴關(guān)系和運(yùn)行每個(gè)微服務(wù)所需的虛擬機(jī)數(shù)量,確定部署每個(gè)微服務(wù)的至少一個(gè)虛擬機(jī)中的每個(gè)虛擬機(jī)的升級批次,將多個(gè)虛擬機(jī)劃分為多個(gè)升級批次,生成升級策略。
9、如此,可以進(jìn)一步的結(jié)合運(yùn)行微服務(wù)所需的虛擬機(jī)數(shù)量,在某個(gè)微服務(wù)部署在多個(gè)虛擬機(jī)上時(shí),根據(jù)運(yùn)行微服務(wù)所需的虛擬機(jī)數(shù)量,合理的確定每個(gè)虛擬機(jī)的升級批次,使得部署該微服務(wù)的多個(gè)虛擬機(jī)上的操作系統(tǒng)分批次的進(jìn)行升級,從而避免在操作系統(tǒng)升級時(shí)影響業(yè)務(wù)的運(yùn)行,提高對云服務(wù)配套的操作系統(tǒng)進(jìn)行升級的效率。
10、在另一種可能的設(shè)計(jì)方式中,部署同一個(gè)微服務(wù)的至少兩個(gè)虛擬機(jī),劃分到不同的升級批次中。
11、如此,進(jìn)一步的通過限制部署同一個(gè)微服務(wù)的至少兩個(gè)虛擬機(jī),劃分到不同的升級批次中,可以避免在操作系統(tǒng)升級時(shí)影響微服務(wù)對應(yīng)的業(yè)務(wù)的運(yùn)行。
12、在另一種可能的設(shè)計(jì)方式中,服務(wù)部署特征還包括操作系統(tǒng)升級黑名單,多個(gè)升級批次中的每個(gè)升級批次不包括承載操作系統(tǒng)升級黑名單中的操作系統(tǒng)的虛擬機(jī)。
13、如此,通過設(shè)定的操作系統(tǒng)升級黑名單,可以不對操作系統(tǒng)升級黑名單中包括的操作系統(tǒng)進(jìn)行升級,從而減少判斷虛擬機(jī)的升級批次的工作量,提高對操作系統(tǒng)進(jìn)行升級的效率。
14、在另一種可能的設(shè)計(jì)方式中,基于升級策略,按照多個(gè)升級批次之間的升級順序,執(zhí)行多個(gè)升級批次對多個(gè)虛擬機(jī)上承載的操作系統(tǒng)進(jìn)行升級之前,方法還包括:基于升級策略,遷移當(dāng)前升級批次包含的虛擬機(jī)中執(zhí)行的任務(wù),對當(dāng)前升級批次包含的虛擬機(jī)承載的操作系統(tǒng)進(jìn)行升級。
15、如此,在生成升級策略之后,可以基于升級策略調(diào)整當(dāng)前升級批次包含的多個(gè)虛擬機(jī)中執(zhí)行的任務(wù),將執(zhí)行的任務(wù)分配至其他未進(jìn)行升級的虛擬機(jī),從而避免在操作系統(tǒng)升級時(shí)影響業(yè)務(wù)的運(yùn)行,在任務(wù)不中斷的情況下,批量的完成操作系統(tǒng)的批量升級,提高對云服務(wù)配套的操作系統(tǒng)進(jìn)行升級的效率。
16、在另一種可能的設(shè)計(jì)方式中,基于所述升級策略,按照所述多個(gè)升級批次之間的升級順序,執(zhí)行所述多個(gè)升級批次對多個(gè)虛擬機(jī)上承載的操作系統(tǒng)進(jìn)行升級之前,方法還包括:基于最大請求次數(shù)和/或最大虛擬機(jī)數(shù)量,確定批量升級約束指標(biāo),所述最大請求次數(shù)用于限制單位時(shí)間內(nèi)同時(shí)請求升級的操作系統(tǒng)的數(shù)量,所述最大虛擬機(jī)數(shù)量用于限制單個(gè)升級批次中包括的虛擬機(jī)數(shù)量;將目標(biāo)升級批次拆分為多個(gè)子升級批次,每個(gè)子升級批次包括的虛擬機(jī)的數(shù)量小于或等于所述批量升級約束指標(biāo),所述目標(biāo)升級批次包括的虛擬機(jī)的數(shù)量大于所述最大請求次數(shù),和/或所述目標(biāo)升級批次包括的虛擬機(jī)的數(shù)量大于所述最大虛擬機(jī)數(shù)量。
17、如此,根據(jù)最大請求次數(shù)和/或最大虛擬機(jī)數(shù)量設(shè)定批量升級約束指標(biāo),并將包括虛擬機(jī)的數(shù)量大于批量升級約束指標(biāo)的目標(biāo)升級批次,拆分為多個(gè)子升級批次,以限制同時(shí)升級的虛擬機(jī)的數(shù)量,可以避免升級任務(wù)過載,影響操作系統(tǒng)的升級效率。
18、第二方面,提供一種操作系統(tǒng)批量升級裝置,云系統(tǒng)包括控制節(jié)點(diǎn)和多個(gè)計(jì)算節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)上部署虛擬機(jī),云系統(tǒng)上部署多個(gè)云服務(wù),每個(gè)云服務(wù)包括多個(gè)微服務(wù),每個(gè)微服務(wù)部署在至少一個(gè)虛擬機(jī)上,每個(gè)虛擬機(jī)上承載一個(gè)操作系統(tǒng),操作系統(tǒng)批量升級裝置應(yīng)用于控制節(jié)點(diǎn),該操作系統(tǒng)批量升級裝置包括:策略生成模塊和升級模塊。
19、上述策略生成模塊,用于基于所述云系統(tǒng)中服務(wù)的服務(wù)部署特征,生成升級策略,所述升級策略用于指示依據(jù)多個(gè)升級批次升級多個(gè)虛擬機(jī)上的操作系統(tǒng),所述升級批次包括多個(gè)虛擬機(jī)中的至少一個(gè)虛擬機(jī),所述服務(wù)部署特征包括所述微服務(wù)的部署特征和所述云服務(wù)的部署特征。
20、上述升級模塊,用于基于所述升級策略,按照所述多個(gè)升級批次之間的升級順序,執(zhí)行所述多個(gè)升級批次對多個(gè)虛擬機(jī)上承載的操作系統(tǒng)進(jìn)行升級。
21、在一種可能的設(shè)計(jì)方式中,所述服務(wù)部署特征包括:服務(wù)拓?fù)潢P(guān)系和服務(wù)依賴關(guān)系,所述服務(wù)拓?fù)潢P(guān)系用于指示所述多個(gè)虛擬機(jī)上所述云服務(wù)、所述微服務(wù)、所述操作系統(tǒng)的部署關(guān)系,所述服務(wù)依賴關(guān)系用于指示所述多個(gè)虛擬機(jī)上部署的云服務(wù)之間的依賴關(guān)系和微服務(wù)之間的依賴關(guān)系;上述策略生成模塊,具體用于基于所述服務(wù)拓?fù)潢P(guān)系和所述服務(wù)依賴關(guān)系,將所述多個(gè)虛擬機(jī)劃分為多個(gè)升級批次,生成所述升級策略。
22、在另一種可能的設(shè)計(jì)方式中,服務(wù)部署特征還包括微服務(wù)的狀態(tài),微服務(wù)的狀態(tài)用于指示微服務(wù)所部署的虛擬機(jī)運(yùn)行微服務(wù)的狀態(tài);上述策略生成模塊,具體用于基于服務(wù)拓?fù)潢P(guān)系、服務(wù)依賴關(guān)系和每個(gè)虛擬機(jī)上承載的每個(gè)微服務(wù)的狀態(tài),確定每個(gè)虛擬機(jī)的升級批次,將多個(gè)虛擬機(jī)劃分為多個(gè)升級批次,生成升級策略。
23、在另一種可能的設(shè)計(jì)方式中,服務(wù)部署特征還包括運(yùn)行微服務(wù)所需的虛擬機(jī)數(shù)量;上述策略生成模塊,具體還用于基于服務(wù)拓?fù)潢P(guān)系、服務(wù)依賴關(guān)系和運(yùn)行每個(gè)微服務(wù)所需的虛擬機(jī)數(shù)量,確定部署每個(gè)微服務(wù)的至少一個(gè)虛擬機(jī)中的每個(gè)虛擬機(jī)的升級批次,將多個(gè)虛擬機(jī)劃分為多個(gè)升級批次,生成升級策略。
24、在另一種可能的設(shè)計(jì)方式中,部署同一個(gè)微服務(wù)的至少兩個(gè)虛擬機(jī),劃分到不同的升級批次中。
25、在另一種可能的設(shè)計(jì)方式中,服務(wù)部署特征還包括操作系統(tǒng)升級黑名單,所述多個(gè)升級批次中的每個(gè)升級批次不包括承載所述操作系統(tǒng)升級黑名單中的操作系統(tǒng)的虛擬機(jī)。
26、在另一種可能的設(shè)計(jì)方式中,在基于所述升級策略,按照所述多個(gè)升級批次之間的升級順序,執(zhí)行所述多個(gè)升級批次對多個(gè)虛擬機(jī)上承載的操作系統(tǒng)進(jìn)行升級之前,上述策略生成模塊,還用于基于升級策略,遷移當(dāng)前升級批次包含的虛擬機(jī)中執(zhí)行的任務(wù),對所述當(dāng)前升級批次包含的虛擬機(jī)承載的操作系統(tǒng)進(jìn)行升級。
27、在另一種可能的設(shè)計(jì)方式中,在基于所述升級策略,按照所述多個(gè)升級批次之間的升級順序,執(zhí)行所述多個(gè)升級批次對多個(gè)虛擬機(jī)上承載的操作系統(tǒng)進(jìn)行升級之前,上述策略生成模塊,還用于基于最大請求次數(shù)和/或最大虛擬機(jī)數(shù)量,確定批量升級約束指標(biāo),所述最大請求次數(shù)用于限制單位時(shí)間內(nèi)同時(shí)請求升級的操作系統(tǒng)的數(shù)量,所述最大虛擬機(jī)數(shù)量用于限制單個(gè)升級批次中包括的虛擬機(jī)數(shù)量。
28、上述策略生成模塊,還用于將目標(biāo)升級批次拆分為多個(gè)子升級批次,每個(gè)子升級批次包括的虛擬機(jī)的數(shù)量小于或等于所述批量升級約束指標(biāo),所述目標(biāo)升級批次包括的虛擬機(jī)的數(shù)量大于所述最大請求次數(shù),和/或所述目標(biāo)升級批次包括的虛擬機(jī)的數(shù)量大于所述最大虛擬機(jī)數(shù)量。
29、第三方面,提供一種計(jì)算機(jī)設(shè)備,計(jì)算機(jī)設(shè)備包括存儲(chǔ)器和處理器,該存儲(chǔ)器與該處理器耦合;該存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序代碼,該計(jì)算機(jī)程序代碼包括計(jì)算機(jī)指令;當(dāng)該計(jì)算機(jī)指令被該處理器執(zhí)行時(shí),使得該計(jì)算機(jī)設(shè)備執(zhí)行如第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
30、第四方面,提供一種計(jì)算機(jī)集群,包括至少一個(gè)計(jì)算機(jī)設(shè)備,計(jì)算機(jī)設(shè)備包括處理器和存儲(chǔ)器;至少一個(gè)計(jì)算機(jī)設(shè)備的處理器用于執(zhí)行至少一個(gè)計(jì)算機(jī)設(shè)備的存儲(chǔ)器中存儲(chǔ)的指令,以使得計(jì)算機(jī)設(shè)備執(zhí)行如第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
31、第五方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括計(jì)算機(jī)程序指令,當(dāng)所述計(jì)算機(jī)程序指令由計(jì)算機(jī)設(shè)備執(zhí)行時(shí),使得所述計(jì)算機(jī)設(shè)備執(zhí)行如第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
32、第六方面,提供一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)所述指令被計(jì)算機(jī)設(shè)備運(yùn)行時(shí),使得所述計(jì)算機(jī)設(shè)備執(zhí)行如第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
33、可以理解地,上述提供的第二方面及其任一種可能的設(shè)計(jì)方式所述的操作系統(tǒng)批量升級裝置,第三方面所述的計(jì)算機(jī)設(shè)備,第四方面所述的計(jì)算機(jī)集群,第五方面所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),第六方面所述的計(jì)算機(jī)程序產(chǎn)品所能達(dá)到的有益效果,可參考如第一方面及其任一種可能的設(shè)計(jì)方式中的有益效果,此處不再贅述。