欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種故障恢復(fù)方法及裝置與流程

文檔序號(hào):12133783閱讀:298來(lái)源:國(guó)知局
一種故障恢復(fù)方法及裝置與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種故障恢復(fù)方法及裝置。



背景技術(shù):

為了支持未來(lái)各種各樣的網(wǎng)絡(luò)業(yè)務(wù),目前通過(guò)在網(wǎng)卡芯片內(nèi)部的專用集成電路中集成很多小的處理核使得網(wǎng)卡芯片逐步軟化。這些小的處理核,配合各種硬件加速引擎即可完成對(duì)不同的網(wǎng)絡(luò)業(yè)務(wù)的處理。

由于這種小的處理核資源少,存儲(chǔ)空間小,只能跑少量代碼,沒(méi)有安裝操作系統(tǒng)(Operating System,簡(jiǎn)稱OS)。因此,無(wú)法像中央處理器(Central Processing Unit,簡(jiǎn)稱CPU)那樣通過(guò)一個(gè)龐大的OS和相關(guān)復(fù)雜的內(nèi)存管理機(jī)制來(lái)實(shí)現(xiàn)故障的隔離和保護(hù)。

由于軟件引起的故障要比純硬件引起的故障的概率大很多,而且軟件引起的故障基本可以通過(guò)復(fù)位恢復(fù)。目前,在網(wǎng)卡芯片中的一個(gè)或多個(gè)處理核出現(xiàn)軟件故障時(shí),通常采用將網(wǎng)卡芯片下電復(fù)位的方式恢復(fù)網(wǎng)卡芯片的功能。在物理主機(jī)中包括多個(gè)虛擬機(jī)時(shí),采用這種方式會(huì)對(duì)網(wǎng)卡芯片所屬的整個(gè)物理主機(jī)上全部的虛擬機(jī)的業(yè)務(wù)造成影響。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的實(shí)施例提供了一種故障恢復(fù)方法及裝置,用以解決在物理主機(jī)中包括多個(gè)虛擬機(jī)時(shí),采用將網(wǎng)卡芯片下電復(fù)位的方式恢復(fù)網(wǎng)卡芯片的功能會(huì)對(duì)網(wǎng)卡芯片所屬的整個(gè)物理主機(jī)上全部的虛擬機(jī)的業(yè)務(wù)造成影響的問(wèn)題。

為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:

第一方面,提供了一種故障恢復(fù)方法,應(yīng)用于虛擬化接口設(shè)備,虛擬化接口設(shè)備包括多個(gè)處理核,該方法包括:確定目標(biāo)處理核,目標(biāo)處理核為多個(gè)處理核中的發(fā)生故障的處理核;確定目標(biāo)虛擬接口,目標(biāo)虛擬接口為向目標(biāo)處理核發(fā)送目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口或者接收目標(biāo)處理核發(fā)送的目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口,目標(biāo)業(yè)務(wù)報(bào)文為目標(biāo)處理核發(fā)生故障時(shí)正在處理的業(yè)務(wù)報(bào)文;釋放虛擬化接口設(shè)備上的與目標(biāo)虛擬接口相關(guān)聯(lián)的資源;對(duì)目標(biāo)虛擬接口和目標(biāo)處理核進(jìn)行復(fù)位。

第一方面提供的方法,在一個(gè)處理核發(fā)生故障時(shí),可以確定向該故障的處理核發(fā)送目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口或者接收目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口,通過(guò)釋放虛擬化接口設(shè)備上的與目標(biāo)虛擬接口相關(guān)聯(lián)的資源,并對(duì)該虛擬接口和該處理核進(jìn)行復(fù)位使得該虛擬接口和該處理核恢復(fù)正常。由于一個(gè)虛擬接口為一個(gè)虛擬機(jī)服務(wù),因此,通過(guò)采用本發(fā)明實(shí)施例提供的故障恢復(fù)的方法,僅會(huì)對(duì)物理主機(jī)上的一個(gè)虛擬機(jī)上的業(yè)務(wù)產(chǎn)生影響,不會(huì)對(duì)物理主機(jī)上的其他虛擬機(jī)上運(yùn)行的業(yè)務(wù)產(chǎn)生影響(即不會(huì)對(duì)整個(gè)物理主機(jī)上的業(yè)務(wù)造成影響)。在虛擬化接口設(shè)備為虛擬化網(wǎng)卡的情況下,無(wú)需將整個(gè)物理主機(jī)的網(wǎng)絡(luò)中斷即可實(shí)現(xiàn)虛擬化接口設(shè)備故障的恢復(fù)。

在一種可能的設(shè)計(jì)中,確定目標(biāo)處理核,包括:將多個(gè)處理核中的處理當(dāng)前業(yè)務(wù)報(bào)文的時(shí)長(zhǎng)超過(guò)預(yù)設(shè)時(shí)長(zhǎng)的處理核確定為目標(biāo)處理核。

在一種可能的設(shè)計(jì)中,對(duì)目標(biāo)虛擬接口進(jìn)行復(fù)位,包括:釋放目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源,并重新申請(qǐng)目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源;或者,刪除目標(biāo)虛擬接口的驅(qū)動(dòng)軟件,并重新添加目標(biāo)虛擬接口的驅(qū)動(dòng)軟件。

在一種可能的設(shè)計(jì)中,在確定目標(biāo)虛擬接口之后,該方法還包括:控制目標(biāo)虛擬接口停止收發(fā)業(yè)務(wù)報(bào)文。

由于在一個(gè)處理核故障之后,向該處理核發(fā)送業(yè)務(wù)報(bào)文或接收該處理核發(fā)送的業(yè)務(wù)報(bào)文的虛擬接口對(duì)應(yīng)的狀態(tài)信息可能已經(jīng)出錯(cuò)。因此,該種可能的設(shè)計(jì),在確定目標(biāo)虛擬接口之后,可以使得目標(biāo)虛擬接口停止收發(fā)業(yè)務(wù)報(bào)文,從而防止引起除目標(biāo)處理核之外的其他處理核故障。

在一種可能的設(shè)計(jì)中,在釋放虛擬化接口設(shè)備上的與目標(biāo)虛擬接口相關(guān)聯(lián)的資源之前,該方法還包括:將目標(biāo)虛擬接口的標(biāo)識(shí)ID對(duì)應(yīng)的資源,確定為與目標(biāo)虛擬接口相關(guān)聯(lián)的資源。

在一種可能的設(shè)計(jì)中,確定目標(biāo)虛擬接口,包括:在存儲(chǔ)器中獲取目標(biāo)虛擬接口的ID,根據(jù)目標(biāo)虛擬接口的ID確定目標(biāo)虛擬接口。

在一種可能的設(shè)計(jì)中,若虛擬化接口設(shè)備中已被分配的資源在預(yù)設(shè)時(shí)間段內(nèi)未被訪問(wèn),該方法還包括:回收已被分配的資源。

第二方面,提供了一種故障恢復(fù)裝置,該裝置具有實(shí)現(xiàn)第一方面提供的任意一種方法的功能。該功能可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。該硬件或軟件包括一個(gè)或多個(gè)與上述功能相對(duì)應(yīng)的單元。

第三方面,提供了一種故障恢復(fù)裝置,應(yīng)用于虛擬化接口設(shè)備,虛擬化接口設(shè)備包括多個(gè)處理核,該裝置包括:存儲(chǔ)器、處理器和總線;存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,處理器與存儲(chǔ)器通過(guò)總線連接,處理器執(zhí)行存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)執(zhí)行指令,以使該裝置實(shí)現(xiàn)第一方面提供的任意一種方法。

第二方面和第三方面中任一種設(shè)計(jì)方式所帶來(lái)的技術(shù)效果可參見(jiàn)第一方面中不同設(shè)計(jì)方式所帶來(lái)的技術(shù)效果,此處不再贅述。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用場(chǎng)景的架構(gòu)示意圖;

圖2為本發(fā)明實(shí)施例提供的一種故障恢復(fù)方法的流程圖;

圖3為本發(fā)明實(shí)施例提供的又一種應(yīng)用場(chǎng)景的架構(gòu)示意圖;

圖4為本發(fā)明實(shí)施例提供的又一種故障恢復(fù)方法的流程圖;

圖5為本發(fā)明實(shí)施例提供的一種故障恢復(fù)裝置的組成示意圖;

圖6為本發(fā)明實(shí)施例提供的又一種故障恢復(fù)裝置的組成示意圖;

圖7為本發(fā)明實(shí)施例提供的又一種故障恢復(fù)裝置的組成示意圖。

具體實(shí)施方式

本發(fā)明實(shí)施例提供的方法可以應(yīng)用于虛擬化接口設(shè)備中,虛擬化接口設(shè)備具體可以為虛擬化網(wǎng)卡、虛擬化顯卡、虛擬化存儲(chǔ)卡等。虛擬化接口設(shè)備支持虛擬化技術(shù)。例如,虛擬化網(wǎng)卡具體可以為支持單根I/O虛擬化(Single-Root I/O Virtualization,簡(jiǎn)稱SR-IOV)的網(wǎng)卡。本發(fā)明實(shí)施例中以虛擬化接口設(shè)備為虛擬化快捷外圍部件互連標(biāo)準(zhǔn)(Peripheral Component Interconnect Express,簡(jiǎn)稱PCIE)設(shè)備為例進(jìn)行說(shuō)明。

在典型的虛擬機(jī)應(yīng)用架構(gòu)中,如圖1所示,一臺(tái)物理主機(jī)上可以運(yùn)行多個(gè)虛擬機(jī)(Virtual Machine,簡(jiǎn)稱VM)。一般物理主機(jī)的硬件主要包括:一部分跟運(yùn)行虛擬機(jī)相關(guān)的硬件,例如CPU、內(nèi)存、硬盤(pán)等;以及一部分不直接用于運(yùn)行虛擬機(jī),而用于執(zhí)行一些特定業(yè)務(wù)、且功能相對(duì)獨(dú)立的硬件,例如,物理主機(jī)內(nèi)的PCIE設(shè)備(例如,網(wǎng)卡或顯卡等)。物理主機(jī)中的CPU、內(nèi)存和硬盤(pán)組成的系統(tǒng)側(cè)可以稱為主機(jī)側(cè),PCIE設(shè)備通過(guò)PCIE設(shè)備內(nèi)的PCIE接口與主機(jī)側(cè)連接。

如圖1所示,為了支持未來(lái)各種各樣的網(wǎng)絡(luò)業(yè)務(wù),目前通過(guò)在PCIE設(shè)備內(nèi)部的專用集成電路中集成很多處理核使得PCIE設(shè)備逐步軟化。通過(guò)虛擬化技術(shù)可以將PCIE接口虛擬化成多個(gè)虛擬接口,例如,當(dāng)虛擬化技術(shù)為SR-IOV技術(shù)時(shí),虛擬接口可以為物理功能(Physical Function,簡(jiǎn)稱PF)或虛擬功能(Virtual Function,簡(jiǎn)稱VF)。每個(gè)處理核至少與一個(gè)虛擬接口連接。每個(gè)VM對(duì)應(yīng)一個(gè)或多個(gè)虛擬接口,一個(gè)虛擬接口通常只為一個(gè)VM服務(wù),VM通過(guò)虛擬接口的驅(qū)動(dòng)軟件訪問(wèn)虛擬接口。

另外,在PCIE設(shè)備中還包括各種資源,例如,存儲(chǔ)資源、定時(shí)器資源等,還可以包括管理模塊,管理模塊可以對(duì)多個(gè)處理核進(jìn)行管理。本發(fā)明實(shí)施例中的“多個(gè)”是指兩個(gè)或兩個(gè)以上。

本發(fā)明實(shí)施例提供了一種故障恢復(fù)方法,應(yīng)用于虛擬化接口設(shè)備,虛擬化接口設(shè)備包括多個(gè)處理核,如圖2所示,該方法包括:

201、確定目標(biāo)處理核,目標(biāo)處理核為多個(gè)處理核中的發(fā)生故障的處理核。

本發(fā)明實(shí)施例的執(zhí)行主體可以為虛擬化接口設(shè)備中的管理模塊,還可以為物理主機(jī)中的CPU。下文中均以本發(fā)明實(shí)施例的執(zhí)行主體為虛擬化接口設(shè)備中的管理模塊為例對(duì)本發(fā)明實(shí)施例提供的方法做示例性說(shuō)明。

可選的,步驟201在具體實(shí)現(xiàn)時(shí)可以包括:將多個(gè)處理核中的處理當(dāng)前業(yè)務(wù)報(bào)文的時(shí)長(zhǎng)超過(guò)預(yù)設(shè)時(shí)長(zhǎng)的處理核確定為目標(biāo)處理核。

其中,預(yù)設(shè)時(shí)長(zhǎng)可以預(yù)先進(jìn)行設(shè)置??梢砸粋€(gè)業(yè)務(wù)對(duì)應(yīng)一個(gè)預(yù)設(shè)時(shí)長(zhǎng),也可以多個(gè)業(yè)務(wù)對(duì)應(yīng)一個(gè)預(yù)設(shè)時(shí)長(zhǎng),還可以全部業(yè)務(wù)對(duì)應(yīng)一個(gè)預(yù)設(shè)時(shí)長(zhǎng),本發(fā)明實(shí)施例對(duì)此不作具體限定。具體的,預(yù)設(shè)時(shí)長(zhǎng)應(yīng)當(dāng)大于處理核處理業(yè)務(wù)報(bào)文所需的時(shí)長(zhǎng)。

具體的,管理模塊可以獲知處理核接收到業(yè)務(wù)報(bào)文的時(shí)間。例如,處理核可以在接收到業(yè)務(wù)報(bào)文時(shí)向管理模塊上報(bào)。

一種情況下,一個(gè)處理核在處理完一個(gè)業(yè)務(wù)報(bào)文時(shí)可以向管理模塊上報(bào)報(bào)文處理完成的信息。該情況下,若管理模塊超過(guò)預(yù)設(shè)時(shí)長(zhǎng)還未接收到該處理核上報(bào)的報(bào)文處理完成的信息,則確定該處理核發(fā)生故障,此時(shí),該處理核即目標(biāo)處理核。

另一種情況下,管理模塊可以在業(yè)務(wù)報(bào)文抵達(dá)一個(gè)處理核后的預(yù)設(shè)時(shí)長(zhǎng)后查詢業(yè)務(wù)報(bào)文的處理狀態(tài),根據(jù)業(yè)務(wù)報(bào)文的處理狀態(tài)判斷該業(yè)務(wù)報(bào)文是否處理完畢,若該業(yè)務(wù)報(bào)文還未處理完畢,則確定該處理核發(fā)生故障,此時(shí),該處理核即目標(biāo)處理核。

202、確定目標(biāo)虛擬接口,目標(biāo)虛擬接口為向目標(biāo)處理核發(fā)送目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口或者接收目標(biāo)處理核發(fā)送的目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口,目標(biāo)業(yè)務(wù)報(bào)文為目標(biāo)處理核發(fā)生故障時(shí)正在處理的業(yè)務(wù)報(bào)文。

203、釋放虛擬化接口設(shè)備上的與目標(biāo)虛擬接口相關(guān)聯(lián)的資源。

其中,與目標(biāo)虛擬接口相關(guān)聯(lián)的資源是指虛擬化接口設(shè)備上的、且與實(shí)現(xiàn)目標(biāo)虛擬接口相關(guān)的功能有關(guān)的資源??梢岳斫獾氖?,該資源包含用于存儲(chǔ)與目標(biāo)業(yè)務(wù)報(bào)文相關(guān)的信息的資源。

204、對(duì)目標(biāo)虛擬接口和目標(biāo)處理核進(jìn)行復(fù)位。

步驟204在具體實(shí)現(xiàn)時(shí),可以先對(duì)目標(biāo)虛擬接口進(jìn)行復(fù)位,也可以先對(duì)目標(biāo)處理核進(jìn)行復(fù)位,本發(fā)明實(shí)施例對(duì)此不作具體限定。另外,步驟203和步驟204的執(zhí)行順序不分先后。

需要說(shuō)明的是,處理核可以處理有狀態(tài)的網(wǎng)絡(luò)業(yè)務(wù),也可以處理無(wú)狀態(tài)的網(wǎng)絡(luò)業(yè)務(wù)。其中,有狀態(tài)的網(wǎng)絡(luò)業(yè)務(wù)是指業(yè)務(wù)報(bào)文之間存在狀態(tài)依賴關(guān)系的網(wǎng)絡(luò)業(yè)務(wù),存在狀態(tài)依賴關(guān)系是指一個(gè)業(yè)務(wù)報(bào)文的處理需要依賴另一個(gè)業(yè)務(wù)報(bào)文的某些狀態(tài)信息(例如,上下文信息)。

若目標(biāo)業(yè)務(wù)報(bào)文為無(wú)狀態(tài)的網(wǎng)絡(luò)業(yè)務(wù)的業(yè)務(wù)報(bào)文,由于無(wú)狀態(tài)的網(wǎng)絡(luò)業(yè)務(wù)的各個(gè)業(yè)務(wù)報(bào)文之間不存在狀態(tài)依賴關(guān)系。因此,可以僅通過(guò)對(duì)目標(biāo)處理核進(jìn)行復(fù)位實(shí)現(xiàn)故障恢復(fù),當(dāng)然,也可以通過(guò)本發(fā)明實(shí)施例提供的方法實(shí)現(xiàn)故障恢復(fù)。

以下均以狀態(tài)信息為上下文信息為例對(duì)本發(fā)明實(shí)施例提供的方法進(jìn)行示例性說(shuō)明。

一個(gè)有狀態(tài)的網(wǎng)絡(luò)業(yè)務(wù)可以有多個(gè)連接(本發(fā)明實(shí)施例中的“連接”也可以稱為“會(huì)話”),由于一個(gè)業(yè)務(wù)是由一個(gè)VM發(fā)起的,一個(gè)虛擬接口為一個(gè)VM服務(wù),因此,一個(gè)連接的所有業(yè)務(wù)報(bào)文都是從一個(gè)虛擬接口發(fā)送到對(duì)應(yīng)的處理業(yè)務(wù)報(bào)文的處理核的。一個(gè)連接的所有業(yè)務(wù)報(bào)文具有一份同樣的上下文信息,該份上下文信息與發(fā)送具有該份上下文信息的業(yè)務(wù)報(bào)文的虛擬接口存在對(duì)應(yīng)關(guān)系。該份上下文信息可以存儲(chǔ)在虛擬化接口設(shè)備中,處理具備該份上下文信息的所有業(yè)務(wù)報(bào)文的處理核依據(jù)的均是該份上下文信息。當(dāng)一個(gè)處理核對(duì)一個(gè)業(yè)務(wù)報(bào)文處理完畢后,會(huì)對(duì)該份上下文信息進(jìn)行修改,若該處理核在處理該業(yè)務(wù)報(bào)文的過(guò)程中發(fā)生了故障,則會(huì)使得該份上下文信息出錯(cuò),進(jìn)而使得其他依據(jù)該份上下文信息處理業(yè)務(wù)報(bào)文的處理核同樣處理出錯(cuò)。該情況下,在一個(gè)處理核故障之后,僅通過(guò)復(fù)位故障的處理核并不能使得故障恢復(fù)。而由于該份上下文信息與虛擬接口存在對(duì)應(yīng)關(guān)系,因此,本發(fā)明實(shí)施例還通過(guò)將該份上下文信息對(duì)應(yīng)的虛擬接口進(jìn)行復(fù)位并釋放虛擬化接口設(shè)備上的與目標(biāo)虛擬接口相關(guān)聯(lián)的資源,由于這些資源中包括用于存儲(chǔ)上下文信息的資源,從而使得故障恢復(fù)。

本發(fā)明實(shí)施例提供的方法,在一個(gè)處理核發(fā)生故障時(shí),可以確定向該故障的處理核發(fā)送目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口或者接收目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口,通過(guò)釋放虛擬化接口設(shè)備上的與目標(biāo)虛擬接口相關(guān)聯(lián)的資源,并對(duì)該虛擬接口和該處理核進(jìn)行復(fù)位使得該虛擬接口和該處理核恢復(fù)正常。由于一個(gè)虛擬接口為一個(gè)虛擬機(jī)服務(wù),因此,通過(guò)采用本發(fā)明實(shí)施例提供的故障恢復(fù)的方法,僅會(huì)對(duì)物理主機(jī)上的一個(gè)虛擬機(jī)上的業(yè)務(wù)產(chǎn)生影響,不會(huì)對(duì)物理主機(jī)上的其他虛擬機(jī)上運(yùn)行的業(yè)務(wù)產(chǎn)生影響(即不會(huì)對(duì)整個(gè)物理主機(jī)上的業(yè)務(wù)造成影響)。在虛擬化接口設(shè)備為虛擬化網(wǎng)卡的情況下,無(wú)需將整個(gè)物理主機(jī)的網(wǎng)絡(luò)中斷即可實(shí)現(xiàn)虛擬化接口設(shè)備故障的恢復(fù)。

可選的,步驟202在具體實(shí)現(xiàn)時(shí)可以包括:在存儲(chǔ)器中獲取目標(biāo)虛擬接口的ID(標(biāo)識(shí)),根據(jù)目標(biāo)虛擬接口的ID確定目標(biāo)虛擬接口。

其中,存儲(chǔ)器具體可以為目標(biāo)處理核中的隨機(jī)存取存儲(chǔ)器(random access memory,簡(jiǎn)稱RAM)、變量區(qū)或寄存器等,存儲(chǔ)器還可以為虛擬化接口設(shè)備中的存儲(chǔ)器。存儲(chǔ)器中存儲(chǔ)的目標(biāo)虛擬接口的ID可以為目標(biāo)處理核在接收目標(biāo)業(yè)務(wù)報(bào)文的過(guò)程中獲取到的。

一個(gè)虛擬接口的ID對(duì)應(yīng)一個(gè)虛擬接口,并用于唯一確定該虛擬接口。

具體的,當(dāng)處理核接收到的業(yè)務(wù)報(bào)文來(lái)自主機(jī)側(cè)時(shí),處理核可以直接根據(jù)發(fā)送該業(yè)務(wù)報(bào)文的虛擬接口確定虛擬接口的ID,并將該虛擬接口的ID保存在存儲(chǔ)器中。

當(dāng)虛擬化接口設(shè)備為虛擬化網(wǎng)卡時(shí),如圖3所示,虛擬化網(wǎng)卡中還可以包括以太介質(zhì)訪問(wèn)控制(Media Access Control,簡(jiǎn)稱MAC)(虛擬化網(wǎng)卡中的一個(gè)部件),用于與網(wǎng)絡(luò)側(cè)連接,網(wǎng)絡(luò)側(cè)是指物理主機(jī)所連接的外部網(wǎng)絡(luò)側(cè)。該情況下,處理核接收到的業(yè)務(wù)報(bào)文還可以來(lái)自網(wǎng)絡(luò)側(cè)。處理核在接收到業(yè)務(wù)報(bào)文后,可以通過(guò)查詢芯片內(nèi)部存儲(chǔ)的目的MAC地址表得到業(yè)務(wù)報(bào)文的目的虛擬接口(目的虛擬接口為接收該業(yè)務(wù)報(bào)文的虛擬接口)的ID,并將該目的虛擬接口的ID保存在存儲(chǔ)器中。其中,目的MAC地址表用于記錄業(yè)務(wù)報(bào)文的目的MAC地址與目的虛擬接口的ID的對(duì)應(yīng)關(guān)系。另外,當(dāng)主機(jī)側(cè)或虛擬化接口設(shè)備在創(chuàng)建一個(gè)業(yè)務(wù)的一個(gè)連接的所有業(yè)務(wù)報(bào)文的上下文信息時(shí),可以在該上下文信息中添加虛擬接口的ID。該情況下,處理核還可以在業(yè)務(wù)報(bào)文的上下文信息中獲取目的虛擬接口的ID。

可選的,在步驟202之后,該方法還可以包括:控制目標(biāo)虛擬接口停止收發(fā)業(yè)務(wù)報(bào)文。

具體的,管理模塊可以通過(guò)控制目標(biāo)虛擬接口使得目標(biāo)虛擬接口停止收發(fā)業(yè)務(wù)報(bào)文;也可以通過(guò)控制其他模塊使得目標(biāo)虛擬接口停止收發(fā)業(yè)務(wù)報(bào)文。例如,當(dāng)虛擬化接口設(shè)備為虛擬化網(wǎng)卡時(shí),管理模塊可以通過(guò)阻斷目標(biāo)虛擬接口與主機(jī)側(cè)之間的直接內(nèi)存訪問(wèn)(Direct Memory Access,簡(jiǎn)稱DMA)讀寫(xiě)和PCIE讀寫(xiě)使得目標(biāo)虛擬接口停止與主機(jī)側(cè)的業(yè)務(wù)報(bào)文的收發(fā),管理模塊還可以通過(guò)丟棄網(wǎng)絡(luò)側(cè)發(fā)送的報(bào)文使得目標(biāo)處理核停止接收業(yè)務(wù)報(bào)文,從而使得目標(biāo)虛擬接口停止與網(wǎng)絡(luò)側(cè)的業(yè)務(wù)報(bào)文的收發(fā)。

由于在一個(gè)處理核故障之后,向該處理核發(fā)送業(yè)務(wù)報(bào)文或接收該處理核發(fā)送的業(yè)務(wù)報(bào)文的虛擬接口對(duì)應(yīng)的狀態(tài)信息可能已經(jīng)出錯(cuò)。因此,在確定目標(biāo)虛擬接口之后,可以使得目標(biāo)虛擬接口停止收發(fā)業(yè)務(wù)報(bào)文,從而防止引起除目標(biāo)處理核之外的其他處理核故障。

可選的,在步驟204中,對(duì)目標(biāo)虛擬接口進(jìn)行復(fù)位具體可以通過(guò)以下方式中的任意一種方式實(shí)現(xiàn):

方式一、釋放目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源,并重新申請(qǐng)目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源。

具體的,可以通過(guò)執(zhí)行目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的down操作釋放目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源,通過(guò)執(zhí)行目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的up操作重新申請(qǐng)目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源。

方式一在具體實(shí)現(xiàn)時(shí),管理模塊可以控制驅(qū)動(dòng)軟件執(zhí)行down和up操作。

方式二、刪除目標(biāo)虛擬接口的驅(qū)動(dòng)軟件,并重新添加目標(biāo)虛擬接口的驅(qū)動(dòng)軟件。

與目標(biāo)虛擬接口相關(guān)聯(lián)的資源可以為以下資源中的一種或多種:存儲(chǔ)業(yè)務(wù)報(bào)文的上下文的資源、緩存(buffer)資源、定時(shí)器資源等。

方式一和方式二,通過(guò)釋放資源,可以防止資源泄露。

可選的,在步驟203之前,該方法還可以包括:將目標(biāo)虛擬接口的標(biāo)識(shí)ID對(duì)應(yīng)的資源,確定為與目標(biāo)虛擬接口相關(guān)聯(lián)的資源。

具體的,在分配資源時(shí)可以按照虛擬接口的粒度進(jìn)行資源分配,即為每個(gè)虛擬接口分配一定的資源,該情況下,資源與虛擬接口之間存在對(duì)應(yīng)關(guān)系,在獲知了虛擬接口的ID之后,即可確定虛擬接口對(duì)應(yīng)的資源。

在資源被多個(gè)虛擬接口共享時(shí),一種情況下,可以在與虛擬接口相關(guān)聯(lián)的資源上存儲(chǔ)的信息中添加虛擬接口的ID。該情況下,當(dāng)在存儲(chǔ)器中查詢到該信息時(shí),即可得知虛擬接口的ID,從而確定存儲(chǔ)該信息的資源為與該虛擬接口相關(guān)聯(lián)的資源。示例性的,若該信息為業(yè)務(wù)報(bào)文的上下文信息,主機(jī)側(cè)或虛擬化接口設(shè)備可以在創(chuàng)建該業(yè)務(wù)報(bào)文的上下文信息時(shí)添加虛擬接口的ID。

另一種情況下,可以在用于指示與虛擬接口相關(guān)聯(lián)的資源的信息中添加虛擬接口的ID。該情況下,當(dāng)獲取到用于指示該資源的信息時(shí),即可得知虛擬接口的ID,從而確定該資源為與該虛擬接口相關(guān)聯(lián)的資源。示例性的,若該資源為緩存資源,每個(gè)業(yè)務(wù)報(bào)文在進(jìn)入到虛擬機(jī)接口設(shè)備時(shí)會(huì)有一個(gè)報(bào)文描述符,報(bào)文描述符指明了對(duì)應(yīng)報(bào)文的緩存資源,虛擬接口可以在該報(bào)文描述符中添加虛擬接口的ID。

可選的,若虛擬化接口設(shè)備中已被分配的資源在預(yù)設(shè)時(shí)間段內(nèi)未被訪問(wèn),該方法還可以包括:回收虛擬化接口設(shè)備中已被分配的資源。

該可選的方法,通過(guò)回收資源,可以防止資源泄露。

在本發(fā)明實(shí)施例中提供的上述步驟中,管理模塊可以執(zhí)行上述步驟,也可以控制虛擬機(jī)接口設(shè)備中的其他模塊執(zhí)行上述步驟,本發(fā)明實(shí)施例對(duì)此不做具體限定。

以下以虛擬接口為VF,本發(fā)明實(shí)施例提供的方法應(yīng)用在虛擬化網(wǎng)卡、且虛擬化網(wǎng)卡中的處理核執(zhí)行TCP卸載引擎(TCP Offload Engine,簡(jiǎn)稱TOE)業(yè)務(wù)為例對(duì)本發(fā)明實(shí)施例提供的方法做示例性說(shuō)明,該情況下,與虛擬接口相關(guān)聯(lián)的資源包括定時(shí)器資源、存儲(chǔ)TOE業(yè)務(wù)報(bào)文的上下文信息的資源、共享的接收隊(duì)列、共享的接收緩存等。

如圖4所示,當(dāng)虛擬化網(wǎng)卡中的一個(gè)處理核發(fā)生故障時(shí),上述方法包括:

401、確定目標(biāo)處理核,目標(biāo)處理核為發(fā)生故障的處理核。

402、獲取向目標(biāo)處理核發(fā)送目標(biāo)TOE業(yè)務(wù)報(bào)文或者接收目標(biāo)TOE業(yè)務(wù)報(bào)文的VF的VF ID。

目標(biāo)TOE業(yè)務(wù)報(bào)文為目標(biāo)處理核發(fā)生故障時(shí)正在處理的TOE業(yè)務(wù)報(bào)文。

當(dāng)一個(gè)TOE業(yè)務(wù)報(bào)文來(lái)自網(wǎng)絡(luò)側(cè)時(shí),處理核可以通過(guò)查詢目的MAC地址表查詢得到目的VF ID,將該目的VF ID記錄在處理核的存儲(chǔ)器中,然后查詢?cè)揟OE業(yè)務(wù)報(bào)文的上下文信息,對(duì)該TOE業(yè)務(wù)報(bào)文進(jìn)行處理,處理完畢后,上送到主機(jī)側(cè)的接收隊(duì)列或其他處理核。

當(dāng)一個(gè)TOE業(yè)務(wù)報(bào)文來(lái)自主機(jī)側(cè)時(shí),虛擬化網(wǎng)卡可以通過(guò)發(fā)送該TOE業(yè)務(wù)報(bào)文的VF確定VF ID,處理核將該VF ID記錄在處理核的存儲(chǔ)器中,處理核根據(jù)該TOE業(yè)務(wù)報(bào)文中攜帶的上下文索引取得該TOE業(yè)務(wù)報(bào)文的上下文信息,對(duì)該TOE業(yè)務(wù)報(bào)文進(jìn)行處理,處理完畢后發(fā)送到網(wǎng)絡(luò)側(cè)。

該情況下,步驟402在具體實(shí)現(xiàn)時(shí),可以在目標(biāo)處理核的存儲(chǔ)器中獲取VF ID。

403、確定該VF ID對(duì)應(yīng)的VF為目標(biāo)VF。

404、停止針對(duì)目標(biāo)VF的DMA讀寫(xiě)和PCIE讀寫(xiě),丟棄網(wǎng)絡(luò)側(cè)接收的發(fā)往目標(biāo)VF的報(bào)文。

該情況下,可以停止目標(biāo)VF的TOE業(yè)務(wù)報(bào)文的收發(fā)。

405、釋放虛擬化網(wǎng)卡上的與目標(biāo)VF相關(guān)聯(lián)的資源。

與目標(biāo)VF相關(guān)的資源包括:定時(shí)器資源、存儲(chǔ)TOE業(yè)務(wù)報(bào)文的上下文信息的資源、共享的接收隊(duì)列、共享的接收緩存等。

406、刪除目標(biāo)VF的驅(qū)動(dòng)軟件,并重新添加目標(biāo)VF的驅(qū)動(dòng)軟件

407、復(fù)位目標(biāo)處理核。

關(guān)于該示例性的實(shí)施例的有益效果可以參見(jiàn)上述實(shí)施例的有益效果,在此不再贅述。

可以理解的是,為了實(shí)現(xiàn)上述方法,用于實(shí)現(xiàn)上述故障恢復(fù)方法的故障恢復(fù)裝置包含了執(zhí)行上述各個(gè)功能相應(yīng)的硬件結(jié)構(gòu)和/或軟件單元。本領(lǐng)域技術(shù)人員應(yīng)該很容易意識(shí)到,結(jié)合本文中所公開(kāi)的實(shí)施例描述的各示例的單元及算法步驟,本發(fā)明能夠以硬件或硬件和計(jì)算機(jī)軟件的結(jié)合形式來(lái)實(shí)現(xiàn)。某個(gè)功能究竟以硬件還是計(jì)算機(jī)軟件驅(qū)動(dòng)硬件的方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

本發(fā)明實(shí)施例可以根據(jù)上述方法示例對(duì)故障恢復(fù)裝置進(jìn)行功能單元的劃分,例如,可以對(duì)應(yīng)各個(gè)功能劃分各個(gè)功能單元,也可以將兩個(gè)或兩個(gè)以上的功能集成在一個(gè)處理單元或管理單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。需要說(shuō)明的是,本發(fā)明實(shí)施例中對(duì)單元的劃分是示意性的,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式。

示例性的,圖5示出了一種可能的故障恢復(fù)裝置50的組成示意圖,該裝置50包括:

確定單元501,用于確定目標(biāo)處理核,所述目標(biāo)處理核為所述多個(gè)處理核中的發(fā)生故障的處理核;

所述確定單元501,還用于確定目標(biāo)虛擬接口,所述目標(biāo)虛擬接口為向所述目標(biāo)處理核發(fā)送目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口或者接收所述目標(biāo)處理核發(fā)送的目標(biāo)業(yè)務(wù)報(bào)文的虛擬接口,所述目標(biāo)業(yè)務(wù)報(bào)文為所述目標(biāo)處理核發(fā)生故障時(shí)正在處理的業(yè)務(wù)報(bào)文;

釋放單元502,用于釋放所述虛擬化接口設(shè)備上的與所述目標(biāo)虛擬接口相關(guān)聯(lián)的資源;

復(fù)位單元503,用于對(duì)所述目標(biāo)虛擬接口和所述目標(biāo)處理核進(jìn)行復(fù)位。

可選的,所述復(fù)位單元503,具體用于釋放所述目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源,并重新申請(qǐng)所述目標(biāo)虛擬接口的驅(qū)動(dòng)軟件的資源;或者,刪除所述目標(biāo)虛擬接口的驅(qū)動(dòng)軟件,并重新添加所述目標(biāo)虛擬接口的驅(qū)動(dòng)軟件。

可選的,如圖6所示,該裝置50還包括控制單元504,用于控制所述目標(biāo)虛擬接口停止收發(fā)業(yè)務(wù)報(bào)文。

可選的,所述確定單元501,還用于將所述目標(biāo)虛擬接口的標(biāo)識(shí)ID對(duì)應(yīng)的資源,確定為與所述目標(biāo)虛擬接口相關(guān)聯(lián)的資源。

可選的,所述確定單元501,具體用于在存儲(chǔ)器中獲取所述目標(biāo)虛擬接口的ID,根據(jù)所述目標(biāo)虛擬接口的ID確定所述目標(biāo)虛擬接口。

可選的,如圖6所示,該裝置50還包括回收單元505,用于在所述虛擬化接口設(shè)備中已被分配的資源在預(yù)設(shè)時(shí)間段內(nèi)未被訪問(wèn)時(shí),回收所述已被分配的資源。

該裝置50中的各個(gè)單元用于執(zhí)行上述方法,因此,該裝置50的有益效果可以參見(jiàn)上述方法的有益效果,在此不再贅述。

示例性的,圖7示出了另一種可能的故障恢復(fù)裝置70的組成示意圖,應(yīng)用于虛擬化接口設(shè)備,虛擬化接口設(shè)備包括多個(gè)處理核,該裝置70包括:存儲(chǔ)器701、處理器702和總線703。

其中,存儲(chǔ)器701和處理器702通過(guò)總線703連接??偩€703可以是外設(shè)部件互連標(biāo)準(zhǔn)(peripheral component interconnect,簡(jiǎn)稱PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(extended industry standard architecture,簡(jiǎn)稱EISA)總線等。該總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖7中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。

存儲(chǔ)器701可以是RAM、閃存、只讀存儲(chǔ)器(read only memory,簡(jiǎn)稱ROM)、可擦除可編程只讀存儲(chǔ)器(erasable programmable ROM,簡(jiǎn)稱EPROM)、電可擦可編程只讀存儲(chǔ)器(electrically EPROM,簡(jiǎn)稱EEPROM)等等。

處理器702可以是CPU,通用處理器,數(shù)字信號(hào)處理器(digital signal processor,簡(jiǎn)稱DSP),專用集成電路(application-specific integrated circuit,簡(jiǎn)稱ASIC),現(xiàn)場(chǎng)可編程門(mén)陣列(field programmable gate array,簡(jiǎn)稱FPGA)或者其他可編程邏輯器件、晶體管邏輯器件、硬件部件或者其任意組合。其可以實(shí)現(xiàn)或執(zhí)行結(jié)合本發(fā)明公開(kāi)內(nèi)容所描述的各種示例性的邏輯方框,單元和電路。處理器702也可以是實(shí)現(xiàn)計(jì)算功能的組合,例如包含一個(gè)或多個(gè)微處理器組合,DSP和微處理器的組合等等。

存儲(chǔ)器701用于存儲(chǔ)計(jì)算機(jī)執(zhí)行指令,處理器702可以通過(guò)執(zhí)行存儲(chǔ)器701存儲(chǔ)的計(jì)算機(jī)執(zhí)行指令實(shí)現(xiàn)上述故障恢復(fù)方法。

該裝置70中的各個(gè)器件用于執(zhí)行上述方法,因此,該裝置70的有益效果可以參見(jiàn)上述方法的有益效果,在此不再贅述。

本發(fā)明是參照本發(fā)明實(shí)施例的方法、裝置(設(shè)備)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管結(jié)合具體特征及其實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,顯而易見(jiàn)的,在不脫離本發(fā)明的精神和范圍的情況下,可對(duì)其進(jìn)行各種修改和組合。相應(yīng)地,本說(shuō)明書(shū)和附圖僅僅是所附權(quán)利要求所界定的本發(fā)明的示例性說(shuō)明,且視為已覆蓋本發(fā)明范圍內(nèi)的任意和所有修改、變化、組合或等同物。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平罗县| 三亚市| 宾阳县| 武山县| 息烽县| 广汉市| 高平市| 张家界市| 沂源县| 仁怀市| 武城县| 蓬安县| 隆回县| 临清市| 崇文区| 赤峰市| 额尔古纳市| 砀山县| 鹤庆县| 商河县| 关岭| 英山县| 古浪县| 平安县| 库伦旗| 英超| 泌阳县| 根河市| 于田县| 年辖:市辖区| 依兰县| 阿巴嘎旗| 赤峰市| 皋兰县| 南华县| 巴彦淖尔市| 洛川县| 乾安县| 太湖县| 若羌县| 开封县|