[發明專利]故障注入用例的并行聯合仿真調度方法、裝置和設備在審
| 申請號: | 202011236758.7 | 申請日: | 2020-11-04 |
| 公開(公告)號: | CN112328487A | 公開(公告)日: | 2021-02-05 |
| 發明(設計)人: | 王平 | 申請(專利權)人: | 北京摩弈信息科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 102400 北京市房*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 故障 注入 并行 聯合 仿真 調度 方法 裝置 設備 | ||
本申請涉及一種故障注入用例的并行聯合仿真調度方法、裝置和設備。所述方法中,首先將原來的整體的用例文件分解成多個子用例文件,并生成對應的仿真任務文件,從而可以對分解后得到的仿真任務分別進行仿真計算,進而當仿真計算出錯后,可以根據統計結果確定出錯的內容和原因等,此外,當仿真計算出錯后,可以對出錯的仿真任務重新進行多次仿真計算,直至確定仿真任務確實出錯,或是由于計算節點的錯誤導致仿真計算出錯,從而能夠很好地應對現有技術中的大量用例任務出錯與計算節點出錯的情況。
技術領域
本申請涉及故障注入技術領域,尤其涉及一種故障注入用例的并行聯合仿真調度方法、裝置和設備。
背景技術
故障注入是一種可靠性驗證技術,通過受控實驗向系統中刻意引入故障,并觀察系統中存在故障時的行為。基于軟件的故障注入,是通過在軟件級生成錯誤,從而造成硬件級的故障。
目前,用戶在使用Saber(一種故障注入仿真軟件)時,對大量的用例(超過1000個)在多個計算節點(超過3臺)進行并行分布式執行,過程中用例或計算節點都有出錯誤的可能,如果用例出錯超過N次(用戶指定)則認為用例出錯,將出錯用例移到出錯隊列;而如果計算節點出錯M次(用戶指定,且M>>N)則認為計算節點出錯,后續不再使用此節點。循環執行用例直至用例全部執行完成,或者用例執行全部出錯,或者無可用計算節點為止。
但由于Saber軟件生成的仿真用例是一個整體文件,因此,在用例出錯時不能很好地確定出錯的內容和原因。另外,由于故障注入的用例特殊性,有時會導致用例任務大量出錯,并且由于各種原因,計算節點本身也會出現故障,但現有方法不能很好地處理這些大量用例任務出錯與計算節點出錯的情況(包括出錯的影響及導致的問題),例如,連續大量測試用例出錯會導致將可用計算節點也全部設置為不可用,導致誤判。
發明內容
本申請提供一種故障注入用例的并行聯合仿真調度方法、裝置和設備,以解決傳統的基于軟件的故障注入方法中,在用例出錯時不能很好地確定出錯的內容和原因,以及不能很好地處理大量用例任務出錯與計算節點出錯等情況的問題。
本申請的上述目的是通過以下技術方案實現的:
第一方面,本申請提供一種故障注入用例的并行聯合仿真調度方法,其包括:
基于獲取的用例文件的內容段和預設的分解數量,對所述用例文件進行分解,得到多個子用例文件;
針對各所述子用例文件生成對應的任務文件;
將仿真計算參數初始化,并將所有任務文件對應的仿真任務添加至待執行任務隊列中;
重復執行仿真計算流程,直至所述待執行任務隊列中沒有仿真任務或沒有可用計算節點時,對仿真數據進行匯總和統計并生成仿真報告;
其中,所述仿真計算流程包括:
從所述待執行任務隊列中提取與可用計算節點的數量相同的多個仿真任務,并將所述多個仿真任務以及各仿真任務相關的數據、程序和模板分發至各可用計算節點,以使各可用計算節點分別進行仿真計算;
分別判斷各可用計算節點的仿真計算是否出錯;
若仿真計算未出錯,則將對應的仿真任務從所述待執行任務隊列移出至已完成任務隊列;
若仿真計算出錯,則將對應的仿真任務的任務出錯次數加一,并判斷所述任務出錯次數是否達到預設的第一次數閾值;若達到,則將對應的仿真任務從所述待執行任務隊列移出至出錯任務隊列,若未達到,則將對應的仿真任務保留在所述待執行任務隊列中等待下一次被提取;
若仿真計算出錯,還將對應的計算節點的節點出錯次數加一,并判斷所述節點出錯次數是否達到預設的第二次數閾值;若達到,則將對應的計算節點標記為不可用計算節點;其中,所述第二次數閾值大于或等于所述第一次數閾值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京摩弈信息科技有限公司,未經北京摩弈信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011236758.7/2.html,轉載請聲明來源鉆瓜專利網。





