本發明專利技術提供了一種硬件插拔容錯處理的方法和裝置。該方法包括:在出現異常中斷后,確定所述異常中斷是否是因訪問硬件資源引起的;在確定所述異常中斷是因訪問硬件資源引起的時,確定引起所述異常中斷的硬件的狀態;在確定引起所述異常中斷的硬件的狀態為非正常在位狀態時,執行異常中斷恢復操作。本發明專利技術實施例的硬件插拔容錯處理的方法和裝置能夠避免系統重啟和業務中止。
【技術實現步驟摘要】
本專利技術涉及通信領域,并且更具體地,涉及一種硬件插拔容錯處理的方法和裝置。
技術介紹
隨著熱插拔技術的發展,可以實現在硬件擴容/替換時,不中斷業務,或者在更換故障單板時,不中斷業務。為了規范用戶熱插拔硬件,每款設備都會制定熱插拔規范。然而,仍然可能出現野蠻插拔硬件的現象,即,不按規范操作插拔硬件,比如,在未提示可以拔出之前,已拔出硬件。還有可能存在的是,硬件曾掉過電,或者客戶是按照正確拔出流程執行硬件的插拔,但是中央處理單元(CenterProcessing Unit,簡稱CPU)未及時感知到,因此還在繼續訪問硬件資源等。以上情況均會導致CPU產生異常,需要重啟才能恢復,或者會中止被執行的任務。
技術實現思路
本專利技術實施例提供了一種硬件插拔容錯處理的方法,能夠避免系統重啟或者業務中止。第一方面,提供了一種硬件插拔容錯處理的方法,包括在出現異常中斷后,確定該異常中斷是否是因訪問硬件資源引起的;在確定該異常中斷是因訪問硬件資源引起的時,確定引起該異常中斷的硬件的狀態,其中,該硬件的狀態包括正常在位狀態和非正常在位狀態;在確定引起該異常中斷的硬件的狀態為非正常在位狀態時,執行異常中斷恢復操作。結合第一方面,在第一方面的第一種可能的實現方式中,該執行異常中斷恢復操作包括保存該異常中斷產生時的中斷上下文;跳過訪問硬件資源錯誤的指令,并恢復該異常中斷產生時的中斷上下文。結合第一方面或第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,該確定引起該異常中斷的硬件的狀態,包括檢測該硬件的在位標記;在該硬件的在位標記指示不在位時,確定該硬件的狀態為非正常在位狀態。結合第一方面,第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式,在第一方面的第三種可能的實現方式中,該確定引起該異常中斷的硬件的狀態,包括檢測該硬件中的固件程序是否存在;在該固件程序不存在時,確定該硬件的狀態為非正常在位狀態。結合第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,該確定該固件程序是否存在,包括在該固件程序的在位標記指示不在位或該固件程序的數據不能被正常讀取時,確定該固件程序不存在。第二方面,提供了一種硬件插拔容錯處理的方法,包括按照預設頻率對硬件進行檢測,并根據檢測結果確定該硬件的狀態,其中,該硬件的狀態包括正常在位狀態和非正常在位狀態;在確定該硬件的狀態為非正常在位狀態時,執行硬件拔出流程。結合第二方面,在第二方面的第一種可能的實現方式中,該對硬件進行檢測,并根據檢測結果確定該硬件的狀態,包括檢測該硬件的在位標記;在該硬件的在位標記指示不在位時,確定該硬件為非正常在位狀態。結合第二方面或第二方面的第一種可能的實現方式,在第二方面的第二種可能的實現方式中,該對硬件進行檢測,并根據檢測結果確定該硬件的狀態,包括檢測該硬件中的固件程序否是存在;在該固件程序不存在時,確定該硬件的狀態為非正常在位狀態。結合第二方面的第二種可能的實現方式,在第二方面的第三種可能的實現方式中,在該第一固件中的固件程序不存在時,該方法還包括在執行該硬件拔出流程后,啟動定時器;在該定時器超時后,若該硬件的在位標記仍指示在位時,則執行硬件插入流程。結合第二方面的第三種可能的實現方式,在第二方面的第四種可能的實現方式中,該方法還包括在執行完該硬件插入流程時,檢測該硬件中的固件是否存在;在該固件程序不存在時,執行硬件拔出流程。結合第二方面的第二種可能的實現方式,第二方面的第三種可能的實現方式,第二方面的第四種可能的實現方式,在第二方面的第五種可能的實現方式中,該確定該固件程序是否存在,包括在該固件程序的在位標記指示不在位,或該固件程序的數據不能被正常讀取時,確定該固件程序不存在。第三方面,提供了一種硬件插拔容錯處理的裝置,包括第一確定單元,用于在出現異常中斷后,確定該異常中斷是否是因訪問硬件資源引起的;第二確定單元,用于在該第一確定單元確定該異常中斷是因訪問硬件資源引起的時,確定引起該異常中斷的硬件的狀態,其中,該硬件的狀態包括正常在位狀態和非正常在位狀態;執行單元,用于在該第二確定單元確定引起該異常中斷的硬件的狀態為非正常在位狀態時,執行異常中斷恢復操作。結合第三方面,在第三方面的第一種可能的實現方式中,該執行單元,包括保存子單元,用于保存該異常中斷產生時的中斷上下文;恢復子單元,用于跳過訪問硬件資源錯誤的指令,并恢復該異常中斷產生時的中斷上下文。結合第三方面或第三方面的第一種可能的實現方式,在第三方面的第二種可能的實現方式中,該第二確定單元,包括第一檢測子單元,用于檢測該硬件的在位標記;第一確定子單元,用于在該硬件的在位標記指示不在位時,確定該硬件的狀態為非正常在位狀態。結合第三方面,第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式,在第三方面的第三種可能的實現方式中,該第二確定單元,包括第二檢測子單元,用于檢測該硬件中的固件程序是否存在;第二確定子單元,用于在該固件程序不存在時,確定該硬件的狀態為非正常在位狀態。結合第三方面的第三種可能的實現方式,在第三方面的第四種可能的實現方式中,該第二檢測子單元,具體用于在該固件程序的在位標記指示不在位,或該固件程序的數據不能被正常讀取時,確定該固件程序不存在。第四方面,提供了一種硬件插拔容錯處理的裝置,包括檢測單元,用于按照預設頻率對硬件進行檢測,并根據檢測結果確定該硬件的狀態,其中,該硬件的狀態包括正常在位狀態和非正常在位狀態;第一執行單元,用于在該檢測單元確定該硬件的狀態為非正常在位狀態時,執行硬件拔出流程。結合第四方面,在第四方面的第一種可能的實現方式中,該檢測單元,包括第一檢測子單元,用于檢測該硬件的在位標記;第一確定子單元,用于在該硬件的在位標記指示不在位時,確定該硬件為非正常在位狀態。結合第四方面或第四方面的第一種可能的實現方式,在第四方面的第二種可能的實現方式中,該檢測單元,包括第二檢測子單元,用于檢測該硬件中的固件程序否是存在;第二確定子單元,用于在該固件程序不存在時,確定該硬件的狀態為非正常在位狀態。結合第四方面的第二種可能的實現方式,在第四方面的第三種可能的實現方式中,在該第一固件中的固件程序不存在時,該裝置還包括定時器單元,用于在該第一執行單元執行完該硬件拔出流程時,啟動定時器;第二執行單元,用于在該定時器超時后,若該硬件的在位標記指示在位狀態,則執行硬件插入流程。結合第四方面的第三種可能的實現方式,在第四方面的第四種可能的實現方式中,該第二檢測子單元還用于在該第二執行單元執行完該硬件插入流程時,檢測該硬件中的固件是否存在;該第一執行單元,還用于在該第二檢測子單元檢測該固件程序不存在時,執行硬件拔出流程。結合第四方面的第二種可能的實現方式,第四方面的第三種可能的實現方式,第四方面的第四種可能的實現方式,在第四方面的第五種可能的實現方式中,該第二檢測子單元,具體用于在該固件程序的在位標記指示不在位或該固件程序的數據不能被正常讀取時,確定該固件程序不存在。因此,在本專利技術實施例中,通過在出現異常中斷后,確定該異常中斷是否是因訪問硬件資源引起的,在確定該異常中斷是因訪問硬件資源引起的時,確定引起該異常中斷的硬件的狀態,并在確定引起該異常中斷的硬件的狀態本文檔來自技高網...
【技術保護點】
一種硬件插拔容錯處理的方法,其特征在于,包括:在出現異常中斷后,確定所述異常中斷是否是因訪問硬件資源引起的;在確定所述異常中斷是因訪問硬件資源引起的時,確定引起所述異常中斷的硬件的狀態,其中,所述硬件的狀態包括正常在位狀態和非正常在位狀態;在確定引起所述異常中斷的硬件的狀態為非正常在位狀態時,執行異常中斷恢復操作。
【技術特征摘要】
1.一種硬件插拔容錯處理的方法,其特征在于,包括在出現異常中斷后,確定所述異常中斷是否是因訪問硬件資源引起的;在確定所述異常中斷是因訪問硬件資源引起的時,確定引起所述異常中斷的硬件的狀態,其中,所述硬件的狀態包括正常在位狀態和非正常在位狀態;在確定引起所述異常中斷的硬件的狀態為非正常在位狀態時,執行異常中斷恢復操作。2.根據權利要求1所述的方法,其特征在于,所述執行異常中斷恢復操作包括保存所述異常中斷產生時的中斷上下文;跳過訪問硬件資源錯誤的指令,并恢復所述異常中斷產生時的中斷上下文。3.根據權利要求1或2所述的方法,其特征在于,所述確定引起所述異常中斷的硬件的狀態,包括檢測所述硬件的在位標記;在所述硬件的在位標記指示不在位時,確定所述硬件的狀態為非正常在位狀態。4.根據權利要求1至3中任一項所述的方法,其特征在于,所述確定引起所述異常中斷的硬件的狀態,包括檢測所述硬件中的固件程序是否存在;在所述固件程序不存在時,確定所述硬件的狀態為非正常在位狀態。5.根據權利要求4所述的方法,其特征在于,所述確定所述硬件中的固件程序是否存在,包括在所述固件程序的在位標記指示不在位,或所述固件程序的數據不能被正常讀取時, 確定所述固件程序不存在。6.一種硬件插拔容錯處理的方法,其特征在于,包括按照預設頻率對硬件進行檢測,并根據檢測結果確定所述硬件的狀態,其中,所述硬件的狀態包括正常在位狀態和非正常在位狀態;在確定所述硬件的狀態為非正常在位狀態時,執行硬件拔出流程。7.根據權利要求6所述的方法,其特征在于,所述對硬件進行檢測,并根據檢測結果確定所述硬件的狀態,包括檢測所述硬件的在位標記;在所述硬件的在位標記指示不在位時,確定所述硬件的狀態為非正常在位狀態。8.根據權利要求6或7所述的方法,其特征在于,所述對硬件進行檢測,并根據檢測結果確定所述硬件的狀態,包括檢測所述硬件中的固件程序是否存在;在所述固件程序不存在時,確定所述硬件的狀態為非正常在位狀態。9.根據權利要求8所述的方法,其特征在于,在所述固件程序不存在時,所述方法還包括在執行完所述硬件拔出流程時,啟動定時器;在所述定時器超時時,若所述硬件的在位標記指示在位,則執行硬件插入流程。10.根據權利要求9所述的方法,其特征在于,所述方法還包括在執行完所述硬件插入流程時,檢測所述硬件中的固件程序是否存在;在所述固件程序不存在時,執行硬件拔出流程。11.根據權利要求8至10中任一項所述的方法,其特征在于,所述檢測所述固件程序是否存在,包括在所述固件程序的在位標記指示不在位,或所述固件程序的數據不能被正常讀取時, 確定所述固件程序不存在。12.—種硬件插拔容錯處理的裝置,其特征在于,包括第一確定單元,用于在出現異常中斷后,確定所述異常中斷是否是因訪問硬件資源引起的;第二確定單元,用于在所述...
【專利技術屬性】
技術研發人員:蔣凡璐,余博偉,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。