本發(fā)明涉及電子技術(shù),尤其涉及一種在線更新內(nèi)核的方法及裝置、電子設(shè)備。
背景技術(shù):
服務(wù)器,也稱伺服器,是提供計算服務(wù)的設(shè)備。由于服務(wù)器需要響應(yīng)服務(wù)請求,并進行處理服務(wù)請求,因此一般來說服務(wù)器應(yīng)具備承擔(dān)服務(wù)并且保障服務(wù)的能力。目前服務(wù)器多采用對稱多處理結(jié)構(gòu)(SMP,Symmetric Multi-Processing),對稱多處理結(jié)構(gòu)是指在一個計算機上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。在這種技術(shù)的支持下,一個服務(wù)器系統(tǒng)可以同時運行多個處理器,并共享內(nèi)存和其他的主機資源。
針對SMP服務(wù)器,服務(wù)器在運行業(yè)務(wù)的過程中,期望可以動態(tài)更新內(nèi)核,避免對業(yè)務(wù)造成影響。而目前現(xiàn)有技術(shù)中還不能實現(xiàn)動態(tài)更新內(nèi)核,從而避免對業(yè)務(wù)造成影響。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例為解決現(xiàn)有技術(shù)中存在的問題而提供一種在線更新內(nèi)核的方法及裝置、電子設(shè)備,能夠?qū)崿F(xiàn)動態(tài)更新內(nèi)核,從而避免對業(yè)務(wù)造成影響。
本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
第一方面,本發(fā)明實施例提供一種在線更新內(nèi)核的方法,所述方法包括:
確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上。
第二方面,本發(fā)明實施例提供一種在線更新內(nèi)核的裝置,所述裝置包括第一確定單元、第一處理單元、第一運行單元和第二運行單元,其中:
所述第一確定單元,用于確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
所述第一處理單元,用于將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
所述第一運行單元,用于將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
所述第二運行單元,用于將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上。
第三方面,本發(fā)明實施例提供一種電子設(shè)備,所述電子設(shè)備包括多個處理器和運行在所述多個處理器上的虛擬機的調(diào)度系統(tǒng),其中所述虛擬機的調(diào)度系統(tǒng)用于:
確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上。
本發(fā)明實施例提供一種在線更新內(nèi)核的方法及裝置、電子設(shè)備,其中,確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上;如此,能夠?qū)崿F(xiàn)動態(tài)更新內(nèi)核,從而避免對業(yè)務(wù)造成影響。
附圖說明
圖1為本發(fā)明實施例在線更新內(nèi)核的方法的實現(xiàn)流程示意圖;
圖2為本發(fā)明實施例在線更新內(nèi)核的方法的實現(xiàn)流程示意圖;
圖3為本發(fā)明實施例在線更新內(nèi)核的裝置的組成結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例在線更新內(nèi)核的裝置的組成結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明的技術(shù)方案進一步詳細闡述。
為了解決背景技術(shù)中的技術(shù)問題,本發(fā)明實施例提供一種在線更新內(nèi)核的方法,該方法應(yīng)用于電子設(shè)備,該方法所實現(xiàn)的功能可以通過電子設(shè)備中的處理器調(diào)用程序代碼來實現(xiàn),當(dāng)然程序代碼可以保存在計算機存儲介質(zhì)中,可見,該電子設(shè)備至少包括處理器和存儲介質(zhì)。
圖1為本發(fā)明實施例在線更新內(nèi)核的方法的實現(xiàn)流程示意圖,如圖1所示,該方法包括:
步驟S101,確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
這里,所述電子設(shè)備在具體實施例的過程中可以為各種類型的具有信息處理能力的服務(wù)器設(shè)備,特別是指SMP服務(wù)器等。對稱多處理結(jié)構(gòu)(SMP,Symmetric Multi-Processing)是對稱多處理機(CPU,Central Processing Unit)系統(tǒng)中最常見的一種,它在普通的商業(yè)、家庭應(yīng)用之中并沒有太多實際用途,但在專業(yè)制作,如三維、繪圖等軟件應(yīng)用中獲得了非常良好的性能表現(xiàn),是組建廉價工作站的良好伙伴。隨著用戶應(yīng)用水平的提高,只使用單個的處理器確實已經(jīng)很難滿足實際應(yīng)用的需求,因而各服務(wù)器廠商紛紛通過采用對稱多處理系統(tǒng)來解決這一矛盾。在市場上這類機型的處理器一般以4個或8個為主,有少數(shù)是16個處理器。但是一般來講,SMP結(jié)構(gòu)的機器可擴展性較差,很難做到100個以上多處理器,常規(guī)的一般是8個到16個,不過這對于多數(shù)的用戶來說已經(jīng)夠用了。這種機器的好處在于它的使用方式和微機或工作站的區(qū)別不大,編程的變化相對來說比較小,原來用微機工作站編寫的程序如果要移植到SMP機器上使用,改動起來也相對比較容易。SMP結(jié)構(gòu)的機型可用性比較差,因為4個或8個處理器共享一個操作系統(tǒng)和一個存儲器,一旦操作系統(tǒng)出現(xiàn)了問題,整個機器就完全癱瘓掉了。個人計算機(PC)服務(wù)器中最常見的對稱多處理系統(tǒng)通常采用2路、4路、6路或8路處理器,SMP系統(tǒng)中最關(guān)鍵的技術(shù)是如何更好地解決多個處理器的相互通訊和協(xié)調(diào)問題。
一般來說,服務(wù)器上的系統(tǒng)管理程序會對應(yīng)有一張調(diào)度列表(一般被稱為內(nèi)核的調(diào)度列表),調(diào)度列表中包括有該系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核的數(shù)量、所調(diào)度的處理器內(nèi)核的標識(ID,Identity)等。
一般來說,CPU的概念從大到小依次是節(jié)點(Node)、插槽(Socket)、物理內(nèi)核(Core,又稱為核心)、邏輯處理器(Logical Processor)。隨著多核技術(shù)的發(fā)展,將多個CPU封裝在一起,這個封裝被稱為Socket。Socket中每個內(nèi)核被稱為Core。為了進一步提升CPU的處理能力,Intel又引入了超線程(HT,Hiper-Threading)技術(shù),一個Core打開HT之后,在操作系統(tǒng)看來是兩個核,當(dāng)然這個核是邏輯上的概念,所以也稱為Logical processor。本實施例中的處理器內(nèi)核是指物理內(nèi)核。
步驟S102,將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
這里,在實現(xiàn)的過程中,步驟S102包括根據(jù)高級配置與電源接口(ACPI,Advanced Configuration and Power Interface)技術(shù)將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來,其中所述第一處理器內(nèi)核是可以是被待更新的系統(tǒng)管理程序調(diào)度列表中的任一處理器內(nèi)核。
依據(jù)高級配置與電源接口(ACPI,Advanced Configuration and Power Interface)定義的邏輯處理器空閑(logical processor idle)技術(shù),可以將單個處理器內(nèi)核從當(dāng)前內(nèi)核的調(diào)度列表中移除;而后從該CPU內(nèi)核運行一個新的內(nèi)核;將其余所有的CPU內(nèi)核及業(yè)務(wù)依次挪到新的內(nèi)核上去;最終釋放掉舊的內(nèi)核。
步驟S103,將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
這里,新系統(tǒng)管理程序用于更新之前的系統(tǒng)管理程序(即步驟S101中的被待更新的系統(tǒng)管理程序)。
步驟S104,將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上。
這里,業(yè)務(wù)處理機在實現(xiàn)的過程中是指待處理的業(yè)務(wù),一般情況下,系統(tǒng)管理程序上會運行一些虛擬機,這些虛擬機用于處理服務(wù)器的業(yè)務(wù),所以,當(dāng)在新系統(tǒng)管理程序建立在空閑的處理器內(nèi)核上之后,就可以把原來舊系統(tǒng)管理程序上的業(yè)務(wù)處理器挪到新系統(tǒng)管理程序上來。
這里,第一業(yè)務(wù)處理機可以是待更新的系統(tǒng)管理程序上的任一業(yè)務(wù)處理機。
本發(fā)明實施例中,確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上;如此,能夠?qū)崿F(xiàn)動態(tài)更新內(nèi)核,從而避免對業(yè)務(wù)造成影響。
實施例二
基于前述的實施例,本發(fā)明實施例提供一種在線更新內(nèi)核的方法,該方法應(yīng)用于電子設(shè)備,該方法所實現(xiàn)的功能可以通過電子設(shè)備中的處理器調(diào)用程序代碼來實現(xiàn),當(dāng)然程序代碼可以保存在計算機存儲介質(zhì)中,可見,該電子設(shè)備至少包括處理器和存儲介質(zhì)。該方法包括:
步驟S201,確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
步驟S202,將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
步驟S203,將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
步驟S204,將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上。
這里,本實施例中的步驟S201至步驟S204分別對應(yīng)于實施例一中的步驟S101至步驟S104,因此,本領(lǐng)域的技術(shù)人員可以參閱實施例一而理解上述的步驟S201至步驟S204。
步驟S205,從所述處理器內(nèi)核集合中確定第二處理器內(nèi)核,所述第二處理器內(nèi)核與所述第一處理器內(nèi)核不同;
步驟S206,將所述第二處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
步驟S207,將空閑的第二處理器內(nèi)核添加在所述新系統(tǒng)管理程序的調(diào)度列表中;
步驟S208,將第二業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上,所述第二業(yè)務(wù)處理機與所述第一業(yè)務(wù)處理機不同。
在本發(fā)明的其他實施例中,所述方法還包括:
步驟S209,判斷所述處理器內(nèi)核集合中已移除的處理器內(nèi)核的數(shù)量是否大于預(yù)設(shè)的第一閾值或者所述處理器內(nèi)核集合中剩余的處理器內(nèi)核是否小于預(yù)設(shè)的第二閾值,得到判斷結(jié)果;
步驟S210a,如果所述判斷結(jié)果表明所述已移除的處理器內(nèi)核的數(shù)量大于預(yù)設(shè)的第一閾值或者所述剩余的處理器內(nèi)核小于預(yù)設(shè)的第二閾值,將所述處理器內(nèi)核集合中的其他處理器內(nèi)核從所述待更新的系統(tǒng)管理程序中空閑出來,并將空閑出來的處理器內(nèi)核添加在新系統(tǒng)管理程序的調(diào)度列表中,直到所述處理器內(nèi)核集合中的所有處理器內(nèi)核都添加在所述新系統(tǒng)管理程序的調(diào)度列表中;
步驟SS211a,將其他所有的業(yè)務(wù)處理機運行在所述新系統(tǒng)的管理程序上。
步驟S210b,如果所述判斷結(jié)果表明所述已移除的處理器內(nèi)核的數(shù)量大于預(yù)設(shè)的第一閾值或者所述剩余的處理器內(nèi)核小于預(yù)設(shè)的第二閾值,從所述處理器內(nèi)核集合中確定第三處理器內(nèi)核,所述第三處理器內(nèi)核與所述第一處理器內(nèi)核和第二處理器內(nèi)核均不同;
步驟S211b,將所述第三處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;并將空閑的第三處理器內(nèi)核添加在所述新系統(tǒng)管理程序的調(diào)度列表中。
在本發(fā)明的其他實施例中,所述方法還包括:
步驟S212,待所述處理器內(nèi)核集合中的所有處理器內(nèi)核都添加在所述新系統(tǒng)管理程序的調(diào)度列表中,且其他所有的業(yè)務(wù)處理機運行在所述新系統(tǒng)的管理程序上后,釋放所述待更新的系統(tǒng)管理程序。
基于前述的實施例,本發(fā)明實施例提供一種在線更新內(nèi)核的方法,該方法應(yīng)用于電子設(shè)備,該方法所實現(xiàn)的功能可以通過電子設(shè)備中的處理器調(diào)用程序代碼來實現(xiàn),當(dāng)然程序代碼可以保存在計算機存儲介質(zhì)中,可見,該電子設(shè)備至少包括處理器和存儲介質(zhì)。
本實施例中,假設(shè)服務(wù)器具有四個內(nèi)核,分別為處理器內(nèi)核0至3(CPU Core0至3),待更新的系統(tǒng)管理程序為A即Hypervisor A,新系統(tǒng)管理程序為B即Hypervisor B,待更新的系統(tǒng)管理程序上運行有3個業(yè)務(wù)處理機,即虛擬機0至2(VM 0至2)。圖2為本發(fā)明實施例在線更新內(nèi)核的方法的實現(xiàn)流程示意圖,如圖2所示,該方法包括:
第一階段:所有的虛擬機都運行在系統(tǒng)管理程序(Hypervisor)A上;而所有的處理器核都在系統(tǒng)管理程序A的調(diào)度列表中;
第二階段:該階段包括3個步驟,分別為:
步驟S21,CPU內(nèi)核3從系統(tǒng)管理程序A進行熱移除;
步驟S22,系統(tǒng)管理程序B開始運行在CPU核3上;
步驟S23,虛擬機2動態(tài)遷移到系統(tǒng)管理程序B上。
這里,所述熱移除就是服務(wù)器還在運行的過程中,如果服務(wù)器被關(guān)機了,如果移除的話,稱為冷移除。
第三階段,該階段包括5個步驟,分別為:
步驟S31,CPU核2從系統(tǒng)管理程序A進行熱移除到系統(tǒng)管理程序B上;
步驟S32,虛擬機1動態(tài)遷移到系統(tǒng)管理程序B上。
步驟S33,CPU核1從系統(tǒng)管理程序A進行熱移除到系統(tǒng)管理程序B上;
步驟S34,虛擬機0動態(tài)遷移到系統(tǒng)管理程序B上。
步驟S35,系統(tǒng)管理程序A釋放掉;
步驟S36,CPU核0從系統(tǒng)管理程序A進行熱移除到系統(tǒng)管理程序B上;
第四階段:所有的虛擬機都運行在系統(tǒng)管理程序(Hypervisor)B上;所有的處理器核都在系統(tǒng)管理程序B的調(diào)度列表中。
基于前述的實施例,本發(fā)明實施例提供一種在線更新內(nèi)核的裝置,該裝置所包括的各單元,都可以通過電子設(shè)備中的處理器來實現(xiàn),當(dāng)然也可通過具體的邏輯電路實現(xiàn);在具體實施例的過程中,處理器可以為中央處理器(CPU)、微處理器(MPU)、數(shù)字信號處理器(DSP)或現(xiàn)場可編程門陣列(FPGA)等。
圖3為本發(fā)明實施例在線更新內(nèi)核的裝置的組成結(jié)構(gòu)示意圖,如圖3所示,該裝置300包括第一確定單元301、第一處理單元302、第一運行單元303和第二運行單元304,其中:
所述第一確定單元301,用于確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
所述第一處理單元302,用于將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
所述第一運行單元303,用于將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
所述第二運行單元304,用于將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上。
基于前述的實施例,本發(fā)明實施例提供一種在線更新內(nèi)核的裝置,該裝置所包括的各單元,都可以通過電子設(shè)備中的處理器來實現(xiàn),當(dāng)然也可通過具體的邏輯電路實現(xiàn);在具體實施例的過程中,處理器可以為中央處理器(CPU)、微處理器(MPU)、數(shù)字信號處理器(DSP)或現(xiàn)場可編程門陣列(FPGA)等。
圖4為本發(fā)明實施例在線更新內(nèi)核的裝置的組成結(jié)構(gòu)示意圖,如圖4所示,該裝置300包括第一確定單元301、第一處理單元302、第一運行單元303、第二運行單元304、第二確定單元305、第二處理單元306、第一添加單元307和第三運行單元308,其中:
所述第一確定單元301,用于確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
所述第一處理單元302,用于將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
所述第一運行單元303,用于將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
所述第二運行單元304,用于將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上;
所述第二確定單元305,用于從所述處理器內(nèi)核集合中確定第二處理器內(nèi)核,所述第二處理器內(nèi)核與所述第一處理器內(nèi)核不同;
所述第二處理單元306,用于將所述第二處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
所述第一添加單元307,用于將空閑的第二處理器內(nèi)核添加在所述新系統(tǒng)管理程序的調(diào)度列表中;
所述第三運行單元308,用于將第二業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上,所述第二業(yè)務(wù)處理機與所述第一業(yè)務(wù)處理機不同。
在本發(fā)明的其他實施例中,所述裝置還包括判斷單元、第三處理單元、第四運行單元、第四處理單元、第五處理單元和第二添加單元,其中:
所述判斷單元,用于判斷所述處理器內(nèi)核集合中已移除的處理器內(nèi)核的數(shù)量是否大于預(yù)設(shè)的第一閾值或者所述處理器內(nèi)核集合中剩余的處理器內(nèi)核是否小于預(yù)設(shè)的第二閾值,得到判斷結(jié)果;
所述第三處理單元,用于如果所述判斷結(jié)果表明所述已移除的處理器內(nèi)核的數(shù)量大于預(yù)設(shè)的第一閾值或者所述剩余的處理器內(nèi)核小于預(yù)設(shè)的第二閾值,將所述處理器內(nèi)核集合中的其他處理器內(nèi)核從所述待更新的系統(tǒng)管理程序中空閑出來,并將空閑出來的處理器內(nèi)核添加在新系統(tǒng)管理程序的調(diào)度列表中,直到所述處理器內(nèi)核集合中的所有處理器內(nèi)核都添加在所述新系統(tǒng)管理程序的調(diào)度列表中;
所述第四運行單元,用于將其他所有的業(yè)務(wù)處理機運行在所述新系統(tǒng)的管理程序上;
所述第四處理單元,用于如果所述判斷結(jié)果表明所述已移除的處理器內(nèi)核的數(shù)量大于預(yù)設(shè)的第一閾值或者所述剩余的處理器內(nèi)核小于預(yù)設(shè)的第二閾值,從所述處理器內(nèi)核集合中確定第三處理器內(nèi)核,所述第三處理器內(nèi)核與所述第一處理器內(nèi)核和第二處理器內(nèi)核均不同;
所述第五處理單元,用于將所述第三處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
所述第二添加單元,用于將空閑的第三處理器內(nèi)核添加在所述新系統(tǒng)管理程序的調(diào)度列表中。
在本發(fā)明的其他實施例中,所述裝置還包括釋放單元,用于待所述處理器內(nèi)核集合中的所有處理器內(nèi)核都添加在所述新系統(tǒng)管理程序的調(diào)度列表中,且其他所有的業(yè)務(wù)處理機運行在所述新系統(tǒng)的管理程序上后,釋放所述待更新的系統(tǒng)管理程序。
本發(fā)明實施例中,如果以軟件功能模塊的形式實現(xiàn)上述的在線更新內(nèi)核的方法,并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read Only Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。這樣,本發(fā)明實施例不限制于任何特定的硬件和軟件結(jié)合。
相應(yīng)地,本發(fā)明實施例再提供一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)中存儲有計算機可執(zhí)行指令,該計算機可執(zhí)行指令用于執(zhí)行本發(fā)明實施例中在線更新內(nèi)核的方法。
相應(yīng)地,本發(fā)明實施例再提供一種電子設(shè)備,所述電子設(shè)備包括多個處理器和運行在所述多個處理器上的虛擬機的調(diào)度系統(tǒng),其中所述虛擬機的調(diào)度系統(tǒng)用于:
確定處理器內(nèi)核集合,所述處理器內(nèi)核集合包括服務(wù)器上被待更新的系統(tǒng)管理程序所調(diào)度的處理器內(nèi)核;
將所述處理器內(nèi)核集合中第一處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
將新系統(tǒng)管理程序運行在空閑的第一處理器內(nèi)核上;
將正在運行的第一業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上。
在本發(fā)明的其他實施例中,所述虛擬機的調(diào)度系統(tǒng)還用于:
從所述處理器內(nèi)核集合中確定第二處理器內(nèi)核,所述第二處理器內(nèi)核與所述第一處理器內(nèi)核不同;
將所述第二處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
將空閑的第二處理器內(nèi)核添加在所述新系統(tǒng)管理程序的調(diào)度列表中;
將第二業(yè)務(wù)處理機運行在所述新系統(tǒng)管理程序上,所述第二業(yè)務(wù)處理機與所述第一業(yè)務(wù)處理機不同。
在本發(fā)明的其他實施例中,所述虛擬機的調(diào)度系統(tǒng)還用于:
判斷所述處理器內(nèi)核集合中已移除的處理器內(nèi)核的數(shù)量是否大于預(yù)設(shè)的第一閾值或者所述處理器內(nèi)核集合中剩余的處理器內(nèi)核是否小于預(yù)設(shè)的第二閾值,得到判斷結(jié)果;
如果所述判斷結(jié)果表明所述已移除的處理器內(nèi)核的數(shù)量大于預(yù)設(shè)的第一閾值或者所述剩余的處理器內(nèi)核小于預(yù)設(shè)的第二閾值,將所述處理器內(nèi)核集合中的其他處理器內(nèi)核從所述待更新的系統(tǒng)管理程序中空閑出來,并將空閑出來的處理器內(nèi)核添加在新系統(tǒng)管理程序的調(diào)度列表中,直到所述處理器內(nèi)核集合中的所有處理器內(nèi)核都添加在所述新系統(tǒng)管理程序的調(diào)度列表中;
將其他所有的業(yè)務(wù)處理機運行在所述新系統(tǒng)的管理程序上。
在本發(fā)明的其他實施例中,所述虛擬機的調(diào)度系統(tǒng)還用于:
如果所述判斷結(jié)果表明所述已移除的處理器內(nèi)核的數(shù)量大于預(yù)設(shè)的第一閾值或者所述剩余的處理器內(nèi)核小于預(yù)設(shè)的第二閾值,從所述處理器內(nèi)核集合中確定第三處理器內(nèi)核,所述第三處理器內(nèi)核與所述第一處理器內(nèi)核和第二處理器內(nèi)核均不同;
將所述第三處理器內(nèi)核從待更新的系統(tǒng)管理程序中空閑出來;
將空閑的第三處理器內(nèi)核添加在所述新系統(tǒng)管理程序的調(diào)度列表中。
在本發(fā)明的其他實施例中,所述虛擬機的調(diào)度系統(tǒng)還用于:
待所述處理器內(nèi)核集合中的所有處理器內(nèi)核都添加在所述新系統(tǒng)管理程序的調(diào)度列表中,且其他所有的業(yè)務(wù)處理機運行在所述新系統(tǒng)的管理程序上后,釋放所述待更新的系統(tǒng)管理程序。
這里需要指出的是:以上電子設(shè)備實施例項的描述,與上述方法描述是類似的,具有同方法實施例相同的有益效果,因此不做贅述。對于本發(fā)明電子設(shè)備實施例中未披露的技術(shù)細節(jié),本領(lǐng)域的技術(shù)人員請參照本發(fā)明方法實施例的描述而理解,為節(jié)約篇幅,這里不再贅述。
應(yīng)理解,說明書通篇中提到的“一個實施例”或“一實施例”意味著與實施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個實施例中。因此,在整個說明書各處出現(xiàn)的“在一個實施例中”或“在一實施例中”未必一定指相同的實施例。此外,這些特定的特征、結(jié)構(gòu)或特性可以任意適合的方式結(jié)合在一個或多個實施例中。應(yīng)理解,在本發(fā)明的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實施例的實施過程構(gòu)成任何限定。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過其它的方式實現(xiàn)。以上所描述的設(shè)備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,如:多個單元或組件可以結(jié)合,或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元;既可以位于一個地方,也可以分布到多個網(wǎng)絡(luò)單元上;可以根據(jù)實際的需要選擇其中的部分或全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各實施例中的各功能單元可以全部集成在一個處理單元中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:移動存儲設(shè)備、只讀存儲器(Read Only Memory,ROM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分。而前述的存儲介質(zhì)包括:移動存儲設(shè)備、ROM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。