[發明專利]一種計算機程序運行階段代碼內存校驗方法有效
| 申請號: | 201711113207.X | 申請日: | 2017-11-13 |
| 公開(公告)號: | CN108038021B | 公開(公告)日: | 2021-03-02 |
| 發明(設計)人: | 聶志國;邱錫宏;王春華;金松岳;邱兆陽 | 申請(專利權)人: | 北京全路通信信號研究設計院集團有限公司 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10;G06F11/36 |
| 代理公司: | 北京知聯天下知識產權代理事務所(普通合伙) 11594 | 代理人: | 王沖;吳鑫 |
| 地址: | 100070 北京市豐臺區豐*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 計算機 程序 運行 階段 代碼 內存 校驗 方法 | ||
本發明公開了一種計算機程序運行階段代碼內存校驗方法。它包括:在加載程序階段,采用校驗算法對代碼進行計算,生成校驗碼;程序主體邏輯執行;采用相同校驗算法對程序代碼執行校驗,將校驗結果與程序加載時得到的效驗碼進行比較,從而判斷是否存在代碼段內存故障等步驟。該校驗方法可以根據系統資源是否充足采取一次性校驗或分時分段校驗的方式,節省了系統資源。檢查到代碼段出現內存故障時,可以執行安全措施提高了應用程序的可靠性。
技術領域
本發明屬于計算機技術領域,尤其涉及一種計算機程序運行階段代碼內存校驗方法。
背景技術
應用程序代碼段包含了程序指令和參數數據,有可能會因為操作系統運行異常等原因,出現代碼段數據異位或數據被改寫等代碼段內存故障,從而使得某些起關鍵作用的應用軟件發生錯誤,造成重大影響。比如在某個列車通過的線路上,需要檢查5個設備均正常才允許列車通過,但是因為存儲“5”這個數量的代碼段故障,“5”變成了“4”,就會漏檢查一項內容,就可能對列車安全運行造成影響。因此,應用軟件被系統加載至內存后,需要考慮并處理程序運行過程中,代碼段內存故障導致的代碼段異常情況。
現有技術是對應用軟件增加校驗碼,在程序加載階段進行校驗,不能實現程序運行階段對代碼內存的校驗。
發明內容
本發明的目的是:為避免程序運行階段出現代碼段內存故障,從而提供一種計算機程序運行階段代碼內存校驗方法。
本發明的技術方案是:一種計算機程序運行階段代碼內存校驗方法,包括以下步驟:
步驟1:在加載程序階段,采用校驗算法對代碼進行計算,生成校驗碼;
步驟2:程序主體邏輯執行;
步驟3:采用步驟1中的校驗算法對程序代碼執行校驗,將校驗結果與步驟1中的效驗碼進行比較:
若比較結果一致,通過校驗,表明不存在代碼段故障;
若比較結果不一致,未通過校驗,表明代碼段發生了改變,此時執行安全措施。
更進一步地,所述代碼內存校驗方法在進行所述步驟1、步驟2、步驟3之前還包括判斷系統運算資源,根據判斷結果選擇校驗方式的步驟,該步驟包括:
在程序參數配置階段,通過實際代碼運行,按一次校驗方式計算程序執行時間,若執行時間超出預定的時間,則認定一次校驗運算資源不足,否則認定運算資源充足;
若系統運算資源充足,對程序代碼執行一次校驗;
若系統運算資源不足,對程序代碼進行分時、分段校驗,直至實現完整的程序代碼校驗。
更進一步地,所述預定的時間,根據該程序代碼在不添加內存校驗情況下,執行一次邏輯運算所花費的時間確定。
更進一步地,所述步驟1中的校驗算法為CRC校驗算法。
更進一步地,所述CRC校驗算法為CRC16校驗算法。
更進一步地,所述步驟3中的安全措施為終止程序運行并輸出校驗日志。
更進一步地,所述計算機程序運行階段代碼內存校驗方法為程序內部邏輯,不依賴于操作系統。
與已有技術相比,本發明的有益效果體現在:本發明提出程序運行階段代碼段內存校驗方法,可在不同操作系統中進行,并可根據系統資源分時、分段校驗,不僅提高了程序運行的可靠性,也減少了代碼校驗對系統資源的占用,提高了校驗效率。在代碼段內存故障時,可以執行安全措施,提高了應用程序的可靠性。
附圖說明
圖1計算機程序運行階段代碼內存校驗流程圖
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京全路通信信號研究設計院集團有限公司,未經北京全路通信信號研究設計院集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711113207.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:智能資產監控系統
- 下一篇:葡萄糖氧化酶CnGOD19及其改良酶、基因和應用





