一種從cpu異常處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種從CPU異常處理方法及裝置。
【背景技術(shù)】
[0002]隨著電子技術(shù)的不斷提升,多核的使用已經(jīng)越來越普遍,如安防行業(yè)中的NVR(Network Video Recorder,網(wǎng)絡(luò)硬盤錄像機),DC(解碼器)等設(shè)備都已經(jīng)使用多核,即從原來的一個CPU (Center Process Unit,中央處理單元)增加至兩個或者更多CPU,其中,包括一個主CPU,以及一個或多個從CPU (多個從CPU中通常一個處于工作狀態(tài),其余處于冗余備份狀態(tài)),主CPU負責(zé)業(yè)務(wù)處理,從CPU負責(zé)算法處理。
[0003]然而實踐發(fā)現(xiàn),在現(xiàn)有多核設(shè)備中,當(dāng)從CPU發(fā)生異常(如從CPU掛死)時,主CPU無法獲知從CPU發(fā)生異常,因而,主CPU無法采取任何措施進行異?;謴?fù)處理。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種從CPU異常處理方法及裝置,以解決現(xiàn)有技術(shù)中從CPU發(fā)生異常時主CPU無法對從CPU進行異?;謴?fù)處理的問題。
[0005]根據(jù)本發(fā)明實施例的第一方面,提供一種從CPU異常處理方法,應(yīng)用于包括主CPU和至少一個從CPU的多核設(shè)備,包括:
[0006]檢測共享緩存區(qū)中是否存在數(shù)據(jù);
[0007]若存在,將所述數(shù)據(jù)存儲到本地緩存區(qū);
[0008]根據(jù)所述數(shù)據(jù)判斷從CPU是否發(fā)生異常;
[0009]若從CPU發(fā)生異常,重啟所述從CPU。
[0010]根據(jù)本發(fā)明實施例的第二方面,提供一種從CPU異常處理方法,應(yīng)用于包括主CPU和至少一個從CPU的多核設(shè)備,包括:
[0011]檢測從CPU是否發(fā)生異常;
[0012]當(dāng)從CPU發(fā)生異常時,將異常信息對應(yīng)的數(shù)據(jù)發(fā)送至共享緩存區(qū),以使主CPU根據(jù)共享緩存區(qū)中的數(shù)據(jù)確定所述從CPU異常時,重啟所述從CPU。
[0013]根據(jù)本發(fā)明實施例的第三方面,提供一種從CPU異常處理裝置,應(yīng)用于包括主CPU和至少一個從CPU的多核設(shè)備中的主CPU,包括:
[0014]檢測單元,用于檢測共享緩存區(qū)中是否存在數(shù)據(jù);
[0015]存儲單元,用于當(dāng)所述共享緩存區(qū)中存在數(shù)據(jù)時,將所述數(shù)據(jù)存數(shù)到本地緩存區(qū);
[0016]判斷單元,用于根據(jù)所述數(shù)據(jù)判斷從CPU是否發(fā)生異常;
[0017]異常處理單元,用于當(dāng)從CPU發(fā)生異常時,重啟所述從CPU。
[0018]根據(jù)本發(fā)明實施例的第四方面,提供一種從CPU異常處理裝置,應(yīng)用于包括主CPU和至少一個從CPU的多核設(shè)備中的從CPU,包括:
[0019]檢測單元,用于檢測從CPU是否發(fā)生異常;
[0020]發(fā)送單元,用于當(dāng)從CPU發(fā)生異常時,將異常信息對應(yīng)的數(shù)據(jù)發(fā)送至共享緩存區(qū),以使主CPU根據(jù)共享緩存區(qū)中的數(shù)據(jù)確定所述從CPU異常時,重啟所述從CPU。
[0021]應(yīng)用本發(fā)明實施例,通過設(shè)置共享緩存區(qū),該共享緩存區(qū)中可以存儲從CPU的異常信息對應(yīng)的數(shù)據(jù);當(dāng)主CPU檢測到該共享緩存區(qū)中存在數(shù)據(jù),可以將該數(shù)據(jù)存儲到本地緩存區(qū),并根據(jù)該數(shù)據(jù)判斷從CHJ是否發(fā)生異常,若從CPU發(fā)生異常,則重啟從CPU,從而,保證了主CPU能夠及時發(fā)現(xiàn)從CPU發(fā)生異常,并進行相應(yīng)的異?;謴?fù)處理。
【附圖說明】
[0022]圖1是本發(fā)明實施例提供的一種從CPU異常處理方法的流程示意圖;
[0023]圖2是本發(fā)明實施例提供的另一種從CPU異常處理方法的流程示意圖;
[0024]圖3是本發(fā)明實施例提供的一種從CPU異常處理裝置的結(jié)構(gòu)示意圖;
[0025]圖4是本發(fā)明實施例提供的另一種從CPU異常處理裝置的結(jié)構(gòu)示意圖;
[0026]圖5是本發(fā)明實施例提供的另一種從CPU異常處理裝置的結(jié)構(gòu)示意圖;
[0027]圖6是本發(fā)明實施例提供的一種從CPU異常處理裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0028]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例中技術(shù)方案作進一步詳細的說明。
[0029]請參見圖1,圖1為本發(fā)明實施例提供的一種從CPU異常處理方法的流程示意圖,其中,該從CPU異常處理方法可以應(yīng)用于包括主CPU和至少一個從CPU的多核設(shè)備,如圖1所示,該從CPU異常處理方法可以包括以下步驟:
[0030]需要說明的是,本發(fā)明實施例中,步驟101?步驟104的執(zhí)行主體為多核設(shè)備中的主 CPU。
[0031]步驟101、檢測共享緩存區(qū)中是否存在數(shù)據(jù)。若是,轉(zhuǎn)至步驟102 ;否則,結(jié)束當(dāng)前流程。
[0032]本發(fā)明實施例中,考慮到現(xiàn)有技術(shù)中從CPU發(fā)生異常時,主CPU無法獲知從CPU異常,因而,可以在多核設(shè)備中新增共享緩存區(qū),多核設(shè)備中主CPU和從CPU均可以對該共享緩存區(qū)進行讀寫;當(dāng)從CPU發(fā)生異常時,從CPU可以將異常信息對應(yīng)的數(shù)據(jù)寫入到該共享緩存區(qū)中,進而主CPU可以通過讀取該共享緩存區(qū)中的數(shù)據(jù),以確定從CPU是否發(fā)生異常。
[0033]相應(yīng)地,在本發(fā)明實施例中,主CPU可以定時或周期性地掃描共享緩存區(qū),以檢測該共享緩存區(qū)中是否存在數(shù)據(jù)。
[0034]步驟102、將共享緩存區(qū)中的數(shù)據(jù)存儲到本地緩存區(qū)。
[0035]本發(fā)明實施例中,當(dāng)主CPU通過掃描共享緩存區(qū)檢測到共享緩存區(qū)中存在數(shù)據(jù)時,主CPU可以將該共享緩存區(qū)中的數(shù)據(jù)存儲到本地緩存區(qū),如內(nèi)核信息緩存區(qū)。
[0036]步驟103、根據(jù)該數(shù)據(jù)判斷從CPU是否發(fā)生異常。若是,轉(zhuǎn)至步驟104 ;否則,結(jié)束當(dāng)前流程。
[0037]本發(fā)明實施例中,主CPU將共享緩存區(qū)中的數(shù)據(jù)存儲到本地緩存區(qū)之后,可以對該數(shù)據(jù)進行分析,以確定從CPU是否發(fā)生異常。
[0038]作為一種可選的實施方式,在上述步驟102中,將共享緩存區(qū)中的數(shù)據(jù)存儲到本地緩存區(qū)之后,還可以包括以下步驟:
[0039]創(chuàng)建一個文件節(jié)點,將本地緩存區(qū)中的數(shù)據(jù)存入該文件節(jié)點中。
[0040]在該實施方式中,為了避免主CPU由于掉電等原因?qū)е卤镜鼐彺鎱^(qū)中的數(shù)據(jù)丟失,主CPU將共享緩存區(qū)中的數(shù)據(jù)存儲至本地緩存區(qū)之后,可以創(chuàng)建一個文件節(jié)點,并將本地緩存區(qū)中的數(shù)據(jù)存入該文件節(jié)點中,進而,主CPU可以將該文件節(jié)點存儲到閃存或設(shè)備磁盤等存儲區(qū),以保證上述數(shù)據(jù)不受主CPU或/和設(shè)備掉電影響。
[0041]相應(yīng)地,在步驟103中,根據(jù)數(shù)據(jù)判斷從CPU是否發(fā)生異常,可以包括:
[0042]根據(jù)該文件節(jié)點中的數(shù)據(jù)判斷從CPU是否發(fā)生異常。
[0043]步驟104、重啟從CPU。
[0044]本發(fā)明實施例中,當(dāng)主CPU根據(jù)獲取到的數(shù)據(jù)確定從CPU發(fā)生異常時,為了保證業(yè)務(wù)能夠正常運行,主CPU可以重啟從CPU。
[0045]作為一種可選的實施方式,在本發(fā)明實施例中,若多核設(shè)備包括多個從CPU,上述步驟104中,重啟從CPU之后,還可以包括:
[0046]啟用冗余的從CPU。
[0047]在該實施方式中,當(dāng)多核設(shè)備中包括多個從CPU時,主CPU在確定當(dāng)前處于工作狀態(tài)的從CPU發(fā)生異常,并重啟該從CPU后,還可以啟用冗余的從CPU,以保證業(yè)務(wù)的正常運行。
[0048]其中,當(dāng)冗余的從CPU為一個時,主CPU可以直接啟用該冗余的從CPU ;當(dāng)冗余的從CPU為多個時,主CPU可以從該多個冗余的從CPU中選擇一個啟用,其具體的選擇策略本發(fā)明實施例不做限定。
[0049]作為另一種可選的實施方式,在本發(fā)明實施例中,若多核設(shè)備未包括多個從CPU,上述步驟104中,重啟從CPU之后,還可以包括:
[0050]根據(jù)預(yù)先存儲的業(yè)務(wù)關(guān)系,重新建立主CPU與重啟后的從CPU之間的業(yè)務(wù)關(guān)系。
[0051]在該實施方式中,當(dāng)多核設(shè)備正常運行業(yè)務(wù)時,主CPU會根據(jù)當(dāng)前正在運行的業(yè)務(wù),將主CPU與從CPU之間的業(yè)務(wù)關(guān)系進行存儲;當(dāng)多核設(shè)備中僅包括一個從CPU時,主CPU在確定該從CPU發(fā)生異常,并重啟該從CPU之后,還可以根據(jù)預(yù)先存儲的業(yè)務(wù)關(guān)系,重新建立主CPU與重啟后的從CPU之間的業(yè)務(wù)關(guān)系。
[0052]進一步地,在本發(fā)明實施例中,當(dāng)主CPU確定從CPU發(fā)生異常之后,還可以根據(jù)該異常信息生成錯誤日志,并將該錯誤日志保存至flash(閃存)或本地磁盤等存儲區(qū),以便運維人員后續(xù)能夠查看相關(guān)異常信息,對設(shè)備進行維護。
[0053]可見,在圖1所描述的方法流程中,通過設(shè)置共享緩存區(qū),該共享緩存區(qū)中可以存儲從CPU的異常信息對應(yīng)的數(shù)據(jù);當(dāng)主CPU檢測到該共享緩存區(qū)中存在數(shù)據(jù),可以將該數(shù)據(jù)存儲到本地緩存區(qū),并根據(jù)該數(shù)據(jù)判斷從CPU是否發(fā)生異常,若從CPU發(fā)生異常,則重啟從CPU,從而,保證了主CPU能夠及時發(fā)現(xiàn)從CPU發(fā)生異常,并進行相應(yīng)的異?;謴?fù)處理。
[0054]請參見圖2,圖2為本發(fā)明實施例提供的另一種從CPU異常處理方法的流程示意圖,其中,該從CPU異常處理方法可以應(yīng)用于包括主CPU和至少一個從CPU的多核設(shè)備,如圖2所示,該從CPU異常處理方法可以包括以下步驟:
[0055]需要說明的是,在本發(fā)明實施例中,步驟201?步驟202的執(zhí)行主體為多核設(shè)備中的從CPU。
[0056]步驟201、檢測從CPU是否發(fā)生異常。
[0057]步驟202、當(dāng)從CPU發(fā)生異常時,將異常信息對應(yīng)的數(shù)據(jù)發(fā)送至共享緩存區(qū),以使主CPU根據(jù)共享緩存區(qū)中的數(shù)據(jù)確定從CPU異常時,重啟該從CPU。
[0058]本發(fā)明實施例中,考慮到現(xiàn)有技術(shù)中從CPU發(fā)生異常時,主CPU無法獲知從CPU異常,因而,可以在多核設(shè)備中新增共享緩存區(qū),多核設(shè)備中主CPU和從CPU均可以對該共享緩存區(qū)進行讀寫;當(dāng)從CPU發(fā)生異常時,從CPU可以將異常信息對應(yīng)的數(shù)據(jù)寫入到該共享緩存區(qū)中,進而主CPU可以通過讀取該共享緩存區(qū)中的數(shù)據(jù),以確定從CPU是否發(fā)生異常。
[0059]相應(yīng)地,在本發(fā)明實施例中,當(dāng)從CPU發(fā)生異常時,從CPU可以將異常信息對應(yīng)的數(shù)據(jù)發(fā)送至共享緩存區(qū);當(dāng)主CPU檢測到共享緩存區(qū)中存在數(shù)據(jù),并根據(jù)該數(shù)據(jù)確定從CPU發(fā)生異常時,主CPU可以重啟該從CPU,以實現(xiàn)從CPU異常恢復(fù)。
[0060]具體地,在本發(fā)明實施例中,當(dāng)從CPU發(fā)生異常時,可以將異常信息對應(yīng)的數(shù)據(jù)存儲到本地緩存區(qū),并通過專門的發(fā)送線程將本地緩存區(qū)中的數(shù)據(jù)發(fā)送至共享緩存區(qū)。
[0061]為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實施例提供的技術(shù)方案,下面結(jié)合具體的應(yīng)用場景對本發(fā)明實施例提供的技術(shù)方案進行描述。
[00