專利名稱:數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法
技術領域:
本發(fā)明涉及數(shù)控領域,特別地,涉及一種數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法。
背景技術:
目前的數(shù)控系統(tǒng)普遍采用嵌入式系統(tǒng),其系統(tǒng)架構(gòu)一般采用硬件+嵌入式操作系統(tǒng)+控制軟件的模式。當數(shù)控系統(tǒng)的控制軟件由于遭受惡意攻擊或軟件升級失敗等原因?qū)е聰?shù)控系統(tǒng)的控制軟件無法正常啟動或工作時,現(xiàn)有的數(shù)控系統(tǒng)不能自動判斷控制軟件是否可以正常運行,用戶只能將數(shù)控系統(tǒng)返廠維修或由專門的服務人員上門維修。且數(shù)控系統(tǒng)的反復維修給數(shù)控系統(tǒng)廠家和數(shù)控系統(tǒng)用戶都造成不同程度的經(jīng)濟損失。此外,當控制軟件出現(xiàn)異常時,現(xiàn)有的數(shù)控系統(tǒng)不能自動修復控制軟件,而必須要人工修復,操作麻煩。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,以解決現(xiàn)有的數(shù)控系統(tǒng)不能自動判斷控制軟件是否可以正常運行,當控制軟件出現(xiàn)異常時, 現(xiàn)有的數(shù)控系統(tǒng)不能自動修復控制軟件的技術問題。為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,依次包括如下步驟第一步數(shù)控系統(tǒng)對系統(tǒng)分區(qū)的控制軟件的運行版本進行合法性驗證,當?shù)谝淮悟炞C的結(jié)果為“是”時,結(jié)束驗證并正常運行數(shù)控系統(tǒng);第二步當?shù)谝淮悟炞C的結(jié)果為“否”時,數(shù)控系統(tǒng)對運行版本進行第一次自動修復;經(jīng)過第一次自動修復后,再重復進行第一步進行第二次驗證,當?shù)诙悟炞C的結(jié)果為“是”時, 結(jié)束驗證并正常運行數(shù)控系統(tǒng);第三步當?shù)诙悟炞C的結(jié)果為“否”時,數(shù)控系統(tǒng)對運行版本進行第二次自動修復;經(jīng)過第二次自動修復后,再重復進行第一步進行第三次驗證,當?shù)谌悟炞C的結(jié)果為“是”時,結(jié)束驗證并正常運行數(shù)控系統(tǒng),當?shù)谌悟炞C的結(jié)果為“否” 時,數(shù)控系統(tǒng)提示用戶數(shù)控系統(tǒng)出現(xiàn)硬件故障。進一步地,第一步中的合法性驗證依次包括如下步驟步驟S011,啟動數(shù)控系統(tǒng); 步驟S012,數(shù)控系統(tǒng)對控制軟件的運行版本進行MD5驗證,當MD5驗證通過,則進行如下步驟S013 ;步驟S013,數(shù)控系統(tǒng)對運行版本進行文件結(jié)構(gòu)及格式驗證,當文件結(jié)構(gòu)及格式驗證通過,則進行如下步驟S014 ;步驟S014,通過數(shù)控系統(tǒng)啟動運行版本;步驟S015,在運行版本啟動的過程中,數(shù)控系統(tǒng)對運行版本的進程進行密碼驗證。進一步地,在分別進行第一次、第二次及第三次驗證的過程中,當步驟S012的MD5 驗證、步驟S013的文件結(jié)構(gòu)及格式驗證及步驟S015的進程密碼驗證均通過時,第一次、第二次及第三次驗證的對應的結(jié)果為“是”。進一步地,在分別進行第一次、第二次及第三次驗證的過程中,當步驟S012的MD5 驗證、步驟S013的文件結(jié)構(gòu)及格式驗證及步驟S015的進程密碼驗證有任何一項驗證失敗
4時,第一次、第二次及第三次驗證的對應的結(jié)果為“否”。進一步地,第一次自動修復的具體過程如下數(shù)控系統(tǒng)的系統(tǒng)分區(qū)從數(shù)控系統(tǒng)的備份分區(qū)獲取備份版本,從而使得系統(tǒng)分區(qū)的運行版本第一次被修復。進一步地,在第二步中運行版本經(jīng)第一次自動修復后,數(shù)控系統(tǒng)再次依次通過步驟soil、步驟S012、步驟S013、步驟S014及步驟S015對已進行第一次自動修復的運行版本進行合法性驗證。進一步地,第二次自動修復的具體過程如下數(shù)控系統(tǒng)的系統(tǒng)分區(qū)從數(shù)控系統(tǒng)的原始分區(qū)獲取出廠版本,從而使得系統(tǒng)分區(qū)的運行版本第二次被修復。進一步地,在第三步中運行版本經(jīng)第二次自動修復后,數(shù)控系統(tǒng)再次依次通過步驟soil、步驟S012、步驟S013、步驟S014及步驟S015對已進行第二次自動修復的運行版本進行合法性驗證。本發(fā)明具有以下有益效果本發(fā)明的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法可以實現(xiàn)對控制軟件的自動驗證及自動修復,可以大大減少數(shù)控系統(tǒng)的維修次數(shù),進而減少數(shù)控系統(tǒng)廠家及數(shù)控系統(tǒng)用戶的經(jīng)濟損失。除了上面所描述的目的、特征和優(yōu)點之外,本發(fā)明還有其它的目的、特征和優(yōu)點。 下面將參照圖,對本發(fā)明作進一步詳細的說明。
構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中圖1是本發(fā)明優(yōu)選實施例的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法的流程示意圖;以及圖2是本發(fā)明優(yōu)選實施例的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法中合法性驗證的流程示意圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明的實施例進行詳細說明,但是本發(fā)明可以由權利要求限定和覆蓋的多種不同方式實施。本發(fā)明的數(shù)控系統(tǒng)的自動驗證及自動修復方法所使用的硬件存儲介質(zhì)包括三個分區(qū),分別為原始分區(qū)、備份分區(qū)及系統(tǒng)分區(qū)。原始分區(qū)、備份分區(qū)及系統(tǒng)分區(qū)分別用于存儲控制軟件的出廠版本、控制軟件的備份版本及控制軟件的運行版本。其中,原始分區(qū)所存儲的控制系統(tǒng)的出廠版本為只讀文件,該出廠版本的文件在數(shù)控系統(tǒng)出廠時采用特殊方法寫入原始分區(qū)內(nèi),即使擁有最高的權限該出廠版本的文件也不會被修改或破壞,除非存儲該出廠版本的硬件存儲介質(zhì)被損壞。備份分區(qū)及系統(tǒng)分區(qū)所存儲的文件是可以寫入或修改的,且存儲于系統(tǒng)分區(qū)的運行版本用于控制數(shù)控機床的運行。數(shù)控系統(tǒng)在出廠的初始狀態(tài)下,原始分區(qū)、備份分區(qū)及系統(tǒng)分區(qū)分別存儲的出廠版本、備份版本及運行版本的文件內(nèi)容是完全一致的。
因為系統(tǒng)分區(qū)內(nèi)的運行版本所包含的文件可以任意寫入或修改,當數(shù)控系統(tǒng)使用一段時間后,用戶需要對控制軟件進行升級或者其它操作時,如果操作不當,就會對系統(tǒng)分區(qū)的控制軟件造成破壞,從而導致系統(tǒng)分區(qū)內(nèi)的運行版本不能正常運行而影響數(shù)控機床的運行。為防止因運行版本被非法修改從而使得數(shù)控系統(tǒng)不能正常運行,因此,每次啟動數(shù)控系統(tǒng)時,數(shù)控系統(tǒng)需先對系統(tǒng)分區(qū)內(nèi)所存儲的運行版本進行合法性驗證。請參見圖1,本發(fā)明的數(shù)控系統(tǒng)的自動驗證及修復方法包括如下步驟第一步數(shù)控系統(tǒng)對系統(tǒng)分區(qū)的控制軟件的運行版本進行合法性驗證。當?shù)谝淮悟炞C的結(jié)果為“是”時,結(jié)束驗證并開始正常運行該數(shù)控系統(tǒng)。第二步當?shù)谝徊津炞C的結(jié)果為“否”時,數(shù)控系統(tǒng)對系統(tǒng)分區(qū)的運行版本進行第一次自動修復;經(jīng)過第一次自動修復后,再重復進行第一步進行第二次驗證。當?shù)诙悟炞C的結(jié)果為“是”時,結(jié)束驗證,可以開始正常運行該數(shù)控系統(tǒng)。第三步當?shù)诙悟炞C的結(jié)果為“否”時,數(shù)控系統(tǒng)對系統(tǒng)分區(qū)的運行版本進行第二次自動修復;經(jīng)過第二次自動修復后,再重復進行第一步進行第三次驗證。當?shù)谌悟炞C的結(jié)果為“是”時,結(jié)束驗證,可以開始正常運行該數(shù)控系統(tǒng);當?shù)谌悟炞C的結(jié)果為“否” 時,數(shù)控系統(tǒng)提示用戶該數(shù)控系統(tǒng)的硬件出現(xiàn)了故障,需進行維修。由上可知,本發(fā)明的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法可以實現(xiàn)對控制軟件的自動驗證及自動修復,可以大大減少數(shù)控系統(tǒng)的維修次數(shù),進而減少數(shù)控系統(tǒng)廠家及數(shù)控系統(tǒng)用戶的經(jīng)濟損失。請結(jié)合參照圖2,上述第一步的具體過程如下步驟S011,啟動數(shù)控系統(tǒng);步驟S012,數(shù)控系統(tǒng)對存儲于數(shù)控系統(tǒng)的系統(tǒng)分區(qū)內(nèi)的控制軟件的運行版本進行 MD5驗證,具體為計算運行版本的文件的MD5值,當計算出的MD5值與運行版本原始的MD5 值一致時,MD5驗證通過,進行如下步驟S013 ;步驟S013,對運行版本進行文件結(jié)構(gòu)及格式驗證,當驗證通過時,進行如下步驟 S014 ;步驟S014,通過數(shù)控系統(tǒng)啟動控制軟件的運行版本;步驟S015,在運行版本啟動的過程中,數(shù)控系統(tǒng)對運行版本的各進程進行密碼驗證,以防止控制軟件的各進程在啟動過程中被惡意替換。當各進程的密碼驗證也通過時,即控制軟件的運行版本合法,驗證結(jié)束,可以正常啟動數(shù)控系統(tǒng)。當?shù)谝徊降纳鲜霾襟ES012的MD5驗證、上述步驟S013的文件結(jié)構(gòu)及格式驗證及上述步驟S015的進程密碼驗證有任何一項驗證失敗,說明運行版本的某些文件已被破壞, 數(shù)控系統(tǒng)無法正常運行,第一步中的第一次驗證結(jié)束,轉(zhuǎn)而進入第二步。在第二步中,數(shù)控系統(tǒng)先對系統(tǒng)分區(qū)的運行版本進行第一次自動修復,第一次自動修復后再次依次按照上述第一步中的步驟SOll至步驟S015對數(shù)控系統(tǒng)的已進行第一次自動修復的運行版本進行第二次合法性驗證。在系統(tǒng)分區(qū)的運行版本進行第一次修復之前,數(shù)控系統(tǒng)還可以反饋異常信息,具體地,數(shù)控系統(tǒng)通過顯示屏輸出異常信息,報告用戶是哪個文件被損壞或哪個進程啟動異
常ο數(shù)控系統(tǒng)進行第一次自動修復的具體過程為數(shù)控系統(tǒng)的系統(tǒng)分區(qū)從備份分區(qū)獲取備份版本,從而使得系統(tǒng)分區(qū)的運行版本第一次被修復。優(yōu)選的,系統(tǒng)分區(qū)可以從備份分區(qū)中獲取全部備份版本的文件,使得備份版本完全替換系統(tǒng)分區(qū)中原來的運行版本,從而使得備份版本成為系統(tǒng)分區(qū)的新的運行版本;系統(tǒng)分區(qū)也可以從備份分區(qū)的備份版本中獲取部分文件,以該獲取的文件替換運行版本中已損壞的文件,從而實現(xiàn)對運行版本的第一次修復。當?shù)诙降纳鲜霾襟ES012的MD5驗證、上述步驟S013的文件結(jié)構(gòu)及格式驗證及上述步驟S015的進程密碼驗證均通過時,說明控制軟件的運行版本經(jīng)過第一次修復后是合法的,第二次驗證結(jié)束,可以正常啟動數(shù)控系統(tǒng)。當?shù)诙降纳鲜霾襟ES012的MD5驗證、上述步驟S013的文件結(jié)構(gòu)及格式驗證及上述步驟S015的進程密碼驗證有任何一項驗證失敗,說明已進行第一次自動修復的運行版本的某些文件已被破壞,數(shù)控系統(tǒng)無法正常運行,第二步中的第二次驗證結(jié)束,轉(zhuǎn)而進入
第三步。在第三步中,數(shù)控系統(tǒng)先對系統(tǒng)分區(qū)的已進行第一次自動修復的運行版本進行第二次自動修復,第二次自動修復后再次依次按照上述第一步中的步驟soil至步驟S015對數(shù)控系統(tǒng)的已進行第二次自動修復的運行版本進行第三次合法性驗證。在系統(tǒng)分區(qū)的運行版本進行第二次修復之前,數(shù)控系統(tǒng)也可以反饋異常信息,即, 告知用戶是哪個文件被損壞或哪個進程啟動異常。數(shù)控系統(tǒng)進行第二次自動修復的具體過程為數(shù)控系統(tǒng)的系統(tǒng)分區(qū)從原始分區(qū)獲取出廠版本,從而使得系統(tǒng)分區(qū)的運行版本第二次被修復。優(yōu)選的,系統(tǒng)分區(qū)可以從原始分區(qū)中獲取全部出廠版本的文件,使得出廠版本完全替換系統(tǒng)分區(qū)中第一次修復的運行版本,從而使得出廠版本成為系統(tǒng)分區(qū)的新的運行版本;系統(tǒng)分區(qū)也可以從原始分區(qū)的出廠版本中獲取部分文件,以該獲取的文件替換運行版本中已損壞的文件,從而實現(xiàn)對運行版本的第二次修復。當?shù)谌降纳鲜霾襟ES012的MD5驗證、上述步驟S013的文件結(jié)構(gòu)及格式驗證及上述步驟S015的進程密碼驗證有任何一項驗證失敗,則說明數(shù)控系統(tǒng)硬件出現(xiàn)故障,需要返廠維修或由專門的服務人員上門維修。當所有驗證通過時,數(shù)控系統(tǒng)對系統(tǒng)分區(qū)的運行版本進行第二次自動修復成功,數(shù)控系統(tǒng)依然可以正常運行。當運行版本被第二次成功修復后,數(shù)控系統(tǒng)會提示用戶運行版本已還原至出廠版本,請用戶升級至最新版本。對運行版本進行第二次修復的原因在于當備份分區(qū)中的備份版本被惡意破壞后,即使對運行版本進行了第一次修復,也不能使得數(shù)控系統(tǒng)正常啟動。這樣,就需從原始分區(qū)中獲取出廠版本,以對運行版本進行第二次修復。因為存儲于原始分區(qū)中的出廠版本是無法被惡意破壞的,所以,對運行版本的第二次修復可以使得數(shù)控系統(tǒng)在出廠版本的控制下正常啟動。綜上,本發(fā)明的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法可以實現(xiàn)對控制軟件的自動驗證及自動修復,可以大大減少數(shù)控系統(tǒng)的維修次數(shù),進而減少數(shù)控系統(tǒng)廠家及數(shù)控系統(tǒng)用戶的經(jīng)濟損失。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修
7改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,依次包括如下步驟第一步所述數(shù)控系統(tǒng)對系統(tǒng)分區(qū)的控制軟件的運行版本進行合法性驗證,當?shù)谝淮悟炞C的結(jié)果為“是”時,結(jié)束驗證并正常運行所述數(shù)控系統(tǒng);第二步當所述第一次驗證的結(jié)果為“否”時,所述數(shù)控系統(tǒng)對所述運行版本進行第一次自動修復;經(jīng)過所述第一次自動修復后,再重復進行所述第一步進行第二次驗證,當所述第二次驗證的結(jié)果為“是”時,結(jié)束驗證并正常運行所述數(shù)控系統(tǒng);第三步當所述第二次驗證的結(jié)果為“否”時,所述數(shù)控系統(tǒng)對所述運行版本進行第二次自動修復;經(jīng)過所述第二次自動修復后,再重復進行所述第一步進行第三次驗證,當所述第三次驗證的結(jié)果為“是”時,結(jié)束驗證并正常運行所述數(shù)控系統(tǒng),當所述第三次驗證的結(jié)果為“否”時,所述數(shù)控系統(tǒng)提示用戶所述數(shù)控系統(tǒng)出現(xiàn)硬件故障。
2.根據(jù)權利要求1所述的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,所述第一步中的所述合法性驗證依次包括如下步驟步驟SO11,啟動所述數(shù)控系統(tǒng);步驟S012,所述數(shù)控系統(tǒng)對所述控制軟件的運行版本進行MD5驗證,當所述MD5驗證通過,則進行如下步驟S013 ;步驟S013,所述數(shù)控系統(tǒng)對所述運行版本進行文件結(jié)構(gòu)及格式驗證,當所述文件結(jié)構(gòu)及格式驗證通過,則進行如下步驟S014 ;步驟S014,通過所述數(shù)控系統(tǒng)啟動所述運行版本;步驟S015,在所述運行版本啟動的過程中,所述數(shù)控系統(tǒng)對所述運行版本的進程進行密碼驗證。
3.根據(jù)權利要求2所述的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,在分別進行所述第一次、第二次及第三次驗證的過程中,當所述步驟S012的MD5驗證、所述步驟S013的文件結(jié)構(gòu)及格式驗證及所述步驟S015的進程密碼驗證均通過時,所述第一次、第二次及第三次驗證的對應的結(jié)果為“是”。
4.根據(jù)權利要求2所述的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,在分別進行所述第一次、第二次及第三次驗證的過程中,當所述步驟S012的MD5驗證、所述步驟S013的文件結(jié)構(gòu)及格式驗證及所述步驟S015的進程密碼驗證有任何一項驗證失敗時,所述第一次、第二次及第三次驗證的對應的結(jié)果為“否”。
5.根據(jù)權利要求4所述的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,所述第一次自動修復的具體過程如下所述數(shù)控系統(tǒng)的所述系統(tǒng)分區(qū)從所述數(shù)控系統(tǒng)的備份分區(qū)獲取備份版本,從而使得所述系統(tǒng)分區(qū)的所述運行版本第一次被修復。
6.根據(jù)權利要求5所述的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,在所述第二步中所述運行版本經(jīng)所述第一次自動修復后,所述數(shù)控系統(tǒng)再次依次通過所述步驟soil、所述步驟SO12、所述步驟SO13、所述步驟SO14及所述步驟SO15對已進行第一次自動修復的所述運行版本進行合法性驗證。
7.根據(jù)權利要求4述的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,所述第二次自動修復的具體過程如下所述數(shù)控系統(tǒng)的所述系統(tǒng)分區(qū)從所述數(shù)控系統(tǒng)的原始分區(qū)獲取出廠版本,從而使得所述系統(tǒng)分區(qū)的所述運行版本第二次被修復。
8.根據(jù)權利要求7述的數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,其特征在于,在所述第三步中所述運行版本經(jīng)所述第二次自動修復后,所述數(shù)控系統(tǒng)再次依次通過所述步驟S011、所述步驟SO12、所述步驟SO13、所述步驟SO14及所述步驟SO15對已進行第二次自動修復的所述運行版本進行合法性驗證。
全文摘要
本發(fā)明提供了一種數(shù)控系統(tǒng)的控制軟件的自動驗證及自動修復的方法,依次包括如下步驟第一步數(shù)控系統(tǒng)對運行版本進行合法性驗證,當?shù)谝淮悟炞C的結(jié)果為“是”時,結(jié)束驗證;第二步當?shù)谝淮悟炞C的結(jié)果為“否”時,數(shù)控系統(tǒng)對運行版本順次進行第一次自動修復及第二驗證,當?shù)诙悟炞C的結(jié)果為“是”時,結(jié)束驗證;第三步當?shù)诙悟炞C的結(jié)果為“否”時,數(shù)控系統(tǒng)對運行版本進行第二次自動修復及第三次驗證,當?shù)谌悟炞C的結(jié)果為“是”時,結(jié)束驗證,當?shù)谌悟炞C的結(jié)果為“否”時,數(shù)控系統(tǒng)提示用戶出現(xiàn)硬件故障。本發(fā)明的自動驗證及自動修復方法可以大大減少數(shù)控系統(tǒng)的維修次數(shù),進而減少數(shù)控系統(tǒng)廠家及數(shù)控系統(tǒng)用戶的經(jīng)濟損失。
文檔編號G06F11/14GK102567144SQ20111043929
公開日2012年7月11日 申請日期2011年12月23日 優(yōu)先權日2011年12月23日
發(fā)明者萬炳呈, 肖新皇 申請人:湖南省耐為數(shù)控技術有限公司