專利名稱:一種自診斷終端、檢測方法及遠(yuǎn)程維護(hù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及智能終端的業(yè)務(wù)支撐、嵌入式系統(tǒng)、TCP/IP通信、遠(yuǎn)程維護(hù)和傳輸與IP領(lǐng)域,具體涉及一種自診斷終端、檢測方法及遠(yuǎn)程維護(hù)系統(tǒng)。
背景技術(shù):
傳統(tǒng)的終端設(shè)備一般采用8位、16位單片機(jī)或DSP+應(yīng)用程序的模式,由于軟、硬件資源的限制,傳統(tǒng)終端設(shè)備自診斷和遠(yuǎn)程升級功能往往十分簡單或根本沒有;隨著近年來電子行業(yè)的迅猛發(fā)展,32位單片機(jī)應(yīng)用日趨廣泛。32位嵌入式系統(tǒng)逐漸成為各類終端產(chǎn)品的首選,相比傳統(tǒng)的單片機(jī)+應(yīng)用程序的開發(fā)模式,32位嵌入式系統(tǒng)平臺體系龐大,構(gòu)成更復(fù)雜,功能也更強(qiáng)大,具備完善的自診斷和遠(yuǎn)程維護(hù)的硬件基礎(chǔ)。32位嵌入式平臺的軟件一般分為引導(dǎo)啟動(dòng)、操作系統(tǒng)核心、根文件系統(tǒng)和上層應(yīng)用幾個(gè)部分。在硬件上電后的軟件加 載的順序一般分為四個(gè)步驟1)CPU從FLASH中讀出引導(dǎo)啟動(dòng)程序到內(nèi)存,并開始執(zhí)行引導(dǎo)啟動(dòng)程序;2)引導(dǎo)啟動(dòng)程序從FLASH中讀出操作系統(tǒng)內(nèi)核到內(nèi)存中,把控制權(quán)交給操作系統(tǒng)內(nèi)核;3)內(nèi)核做系統(tǒng)硬件和資源初始化,掛載根文件系統(tǒng),執(zhí)行根文件中的啟動(dòng)腳本;4)運(yùn)行應(yīng)用程序。對于研發(fā)人員,通常只需對前三級軟件做簡單的配置,重點(diǎn)開發(fā)任務(wù)放在第四級的上層應(yīng)用程序上。因而終端自診斷和遠(yuǎn)程升級功能通常在上層應(yīng)用程序中實(shí)現(xiàn),應(yīng)用程序加載后通過GPRS等方式連接上位機(jī),實(shí)現(xiàn)應(yīng)用程序在線升級等功能。當(dāng)前常用的嵌入式系統(tǒng)為節(jié)約成本,存儲(chǔ)設(shè)備往往舍棄NOR FLASH,僅采用NANDFLASH+SPI FLASH存儲(chǔ)系統(tǒng)軟件和文件,而NAND FLASH壞塊率比較高,在使用中一個(gè)壞塊可能對系統(tǒng)內(nèi)核或文件系統(tǒng)產(chǎn)生致命的破壞,造成系統(tǒng)無法啟動(dòng)。而傳統(tǒng)的終端自診斷和遠(yuǎn)程升級功能一般在上層應(yīng)用程序中實(shí)現(xiàn),需等待系統(tǒng)正常啟動(dòng)后才會(huì)運(yùn)行,一旦操作系統(tǒng)不能正常啟動(dòng)將造成終端無法使用,并且不能進(jìn)行遠(yuǎn)程升級甚至沒有任何信息輸出提示,需派專人去現(xiàn)場維修或返修,增加了維護(hù)成本,并且遠(yuǎn)程只能對應(yīng)用程序進(jìn)行升級,而很難支持操作系統(tǒng)和文件系統(tǒng)的升級要求?,F(xiàn)有技術(shù)存在的問題I、軟件加載各個(gè)步驟之間出現(xiàn)錯(cuò)誤時(shí)缺乏有效的檢測和保護(hù)機(jī)制。當(dāng)終端由于某種原因(一般是硬件故障)造成操作系統(tǒng)內(nèi)核不能正確啟動(dòng)或文件系統(tǒng)不能正常掛載,終端將陷入癱瘓,無法使用,且沒有有效的機(jī)制定位錯(cuò)誤,只能由廠家派專業(yè)技術(shù)人員前往現(xiàn)場處理。2、對于造成軟件加載錯(cuò)誤的硬件故障,缺乏遠(yuǎn)程診斷手段,只能派專人去現(xiàn)場維修或返修。3、現(xiàn)有應(yīng)用程序通過GPRS方式實(shí)現(xiàn)的遠(yuǎn)程升級功能只能對應(yīng)用程序進(jìn)行升級,而無法支持操作系統(tǒng)和文件系統(tǒng)的升級要求。
發(fā)明內(nèi)容
本發(fā)明解決在終端出現(xiàn)異常的情況下能夠及時(shí)診斷并通過連接互聯(lián)網(wǎng)自動(dòng)修復(fù)、能夠在終端出現(xiàn)故障時(shí)候提供遠(yuǎn)程診斷接口、可以支持操作系統(tǒng)內(nèi)核與文件系統(tǒng)的遠(yuǎn)程升級、減少技術(shù)人員現(xiàn)場支持的概率、降低售后服務(wù)的成本。本發(fā)明提供一種自診斷終端,所述終端包括校驗(yàn)?zāi)K,用于在加載操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng)前進(jìn)行數(shù)據(jù)校驗(yàn);判別模塊,用于根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級。所述判別模塊包括第一判別子模塊,用于判別出所述校驗(yàn)結(jié)果通過時(shí)啟用正常的操作系統(tǒng),將CPU控制權(quán)交給操作系統(tǒng)內(nèi)核;第二判別子模塊,用于判別出所述校驗(yàn)結(jié)果不通過,則啟用備份的操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng),并重復(fù)所述校驗(yàn)過程;第三判別子模塊,用于在第二判別子模塊重復(fù)所述校驗(yàn)過程不通過時(shí)進(jìn)行遠(yuǎn)程升級。所述自診斷終端包括遠(yuǎn)程升級模塊;所述判別模塊一端連接所述校驗(yàn)?zāi)K,所述判別模塊另一端連接所述遠(yuǎn)程升級模塊。所述遠(yuǎn)程升級模塊進(jìn)行所述操作系統(tǒng)內(nèi)核與所述文件系統(tǒng)的遠(yuǎn)程傳輸,用以太網(wǎng)接口連接internet ;終端的以太網(wǎng)口連接用戶提供的連接互聯(lián)網(wǎng)的路由器。所述方法包括在加載操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng)前進(jìn)行校驗(yàn);
根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級。根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級的步驟包括若所述校驗(yàn)結(jié)果通過,則正常啟用操作系統(tǒng),將CPU控制權(quán)交給操作系統(tǒng)內(nèi)核;若所述校驗(yàn)結(jié)果不通過,則啟用備份的操作系統(tǒng)內(nèi)核和文件系統(tǒng),并重復(fù)所述校驗(yàn)過程;若重復(fù)所述校驗(yàn)過程不通過,則進(jìn)行遠(yuǎn)程升級。所述遠(yuǎn)程升級包括所述操作系統(tǒng)內(nèi)核與所述文件系統(tǒng)的傳輸,用以太網(wǎng)接口連接internet ;用戶提供的連接互聯(lián)網(wǎng)的路由器連到終端的以太網(wǎng)口 ;所述升級包括以下步驟I)所述終端接收遠(yuǎn)程升級控制命令時(shí)檢測網(wǎng)絡(luò)連接,自動(dòng)發(fā)送ARP數(shù)據(jù)以獲得路由器硬件地址;2)所述終端根據(jù)所述路由器硬件地址發(fā)送請求,由路由器根據(jù)所述請求分配信息,所述分配信息包括IP地址、網(wǎng)關(guān)和DNS ;3)根據(jù)所述終端設(shè)定的遠(yuǎn)程升級服務(wù)器域名,向DNS服務(wù)器發(fā)送域名解析請求,所述終端收到返回的遠(yuǎn)程升級服務(wù)器IP地址;
4)通過所述遠(yuǎn)程升級服務(wù)器IP地址和終端設(shè)定的端口啟動(dòng)TCP連接,根據(jù)所述終端與所述服務(wù)器的協(xié)議,進(jìn)行文件下載升級及終端遠(yuǎn)程維護(hù);根據(jù)用戶提供的路由器,進(jìn)行24小時(shí)在線升級。所述的終端以及遠(yuǎn)程升級服務(wù)器,通過互聯(lián)網(wǎng)對所述終端故障進(jìn)行自動(dòng)診斷和固件升級。所述遠(yuǎn)程維護(hù)系統(tǒng)的系統(tǒng)故障自動(dòng)診斷分為主站診斷和終端自診斷兩部分,所述主站診斷方式包括擁有域名的24小時(shí)在線軟件和監(jiān)控設(shè)定端口來自所述終端的TCP連接請求。所述終端自診斷包括開機(jī)自診斷和遠(yuǎn)程升級,所述開機(jī)自診斷包括如下步驟I)將引導(dǎo)啟動(dòng)代碼放在一塊SPI接口 FLASH閃存中;
2)引導(dǎo)啟動(dòng)代碼從設(shè)定的NAND FLASH地址中將操作系統(tǒng)內(nèi)核讀入內(nèi)存;3)引導(dǎo)啟動(dòng)代碼對內(nèi)核數(shù)據(jù)進(jìn)行CRC校驗(yàn),并和讀出的內(nèi)核CRC進(jìn)行比較;4)判定內(nèi)核CRC是否通過校驗(yàn),確定從設(shè)定的NAND FLASH地址中將備份的操作系統(tǒng)內(nèi)核讀入內(nèi)存還是執(zhí)行步驟8 ;5)引導(dǎo)啟動(dòng)代碼對備份內(nèi)核數(shù)據(jù)進(jìn)行CRC校驗(yàn),并和讀出的內(nèi)核CRC進(jìn)行比較;6)如備份內(nèi)核CRC校驗(yàn)未通過,進(jìn)入遠(yuǎn)程升級模式;7)如備份內(nèi)核CRC校驗(yàn)通過,執(zhí)行步驟8 ;8)內(nèi)核CRC校驗(yàn)通過,引導(dǎo)啟動(dòng)代碼從設(shè)定的NAND FLASH地址中將根文件系統(tǒng)讀入內(nèi)存;9)引導(dǎo)啟動(dòng)代碼對根文件系統(tǒng)進(jìn)行CRC校驗(yàn),并和讀出的文件系統(tǒng)CRC進(jìn)行比較;10)判定文件系統(tǒng)CRC是否通過校驗(yàn),確定從設(shè)定的NAND FLASH地址中備份的文件系統(tǒng)讀入內(nèi)存還是執(zhí)行步驟13 ;11)引導(dǎo)啟動(dòng)代碼對備份文件系統(tǒng)進(jìn)行CRC校驗(yàn),并和讀出的文件系統(tǒng)CRC進(jìn)行比較;12)確定備份文件系統(tǒng)CRC進(jìn)入遠(yuǎn)程升級模式還是執(zhí)行步驟13 ;13)引導(dǎo)啟動(dòng)代碼跳轉(zhuǎn)的操作系統(tǒng)內(nèi)核首地址,讓出CPU控制權(quán),正常啟動(dòng)。所述遠(yuǎn)程升級包括如下步驟I)通過以太網(wǎng)發(fā)送DHCP廣播,查尋路由器;2)以太網(wǎng)收到路由器返回的提供信息報(bào)文,發(fā)送DHCP服務(wù)器選擇廣播,請求本機(jī)IP、子網(wǎng)掩碼、網(wǎng)關(guān)和DNS網(wǎng)絡(luò)連接信息;3)以太網(wǎng)與internet聯(lián)連后,接收路由器返回的本機(jī)IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS網(wǎng)絡(luò)連接信息;4)根據(jù)設(shè)定的主站服務(wù)器網(wǎng)址,以太網(wǎng)向DNS服務(wù)器發(fā)送DNS域名解析請求;5)以太網(wǎng)收到DNS服務(wù)器的回復(fù),將獲得主站對應(yīng)的IP地址;6)根據(jù)主站服務(wù)器IP地址和設(shè)定的端口號,啟動(dòng)一個(gè)TCP連接到主站;7)建立TCP連接。本發(fā)明在嵌入式系統(tǒng)的引導(dǎo)啟動(dòng)程序中加入對操作系統(tǒng)內(nèi)核和文件系統(tǒng)的校驗(yàn),可以在加載操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng)之前通過CRC校驗(yàn)對二者進(jìn)行檢查,當(dāng)發(fā)現(xiàn)校驗(yàn)結(jié)果與這二者本身的CRC數(shù)據(jù)相符,可以正常引導(dǎo)操作系統(tǒng),把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核;如果CRC校驗(yàn)結(jié)果與內(nèi)核和文件系統(tǒng)的CRC數(shù)據(jù)不符,說明內(nèi)核或文件系統(tǒng)被破壞,啟用備份的內(nèi)核與文件系統(tǒng),然后重復(fù)上面的CRC校驗(yàn)過程,如果檢測結(jié)果仍然無效,說明NAND FLASH保存的系統(tǒng)已經(jīng)被破壞,引導(dǎo)程序自動(dòng)啟動(dòng)遠(yuǎn)程升級功能。以上過程通過人機(jī)交互接口給出提示信息。因?yàn)檫h(yuǎn)程升級涉及到操作系統(tǒng)內(nèi)核與文件系統(tǒng)傳輸,數(shù)據(jù)量比較大,故采用以太網(wǎng)接口連接internet,升級期間需要用戶提供一臺能連接互聯(lián)網(wǎng)的路由器直接連到終端的以太網(wǎng)口,終端在遠(yuǎn)程升級模式 下檢測到網(wǎng)絡(luò)連接,將自動(dòng)發(fā)送ARP數(shù)據(jù)包獲得路由器的硬件地址;然后發(fā)送DHCP請求從路由器分配自己的IP地址、網(wǎng)關(guān)、DNS等信息;接下來通過DNS解析終端事先設(shè)定的遠(yuǎn)程升級服務(wù)器域名,返回服務(wù)器IP地址;最后通過服務(wù)器IP和終端設(shè)定的服務(wù)器端口啟動(dòng)一個(gè)TCP連接,根據(jù)終端與服務(wù)器制定的協(xié)議,實(shí)現(xiàn)文件下載升級及終端遠(yuǎn)程維護(hù)功能。整個(gè)過程僅需要用戶在遠(yuǎn)程升級期間提供一個(gè)能夠上網(wǎng)的路由器,無需技術(shù)支持人員前往現(xiàn)場,24小時(shí)在線升級,可以大大提高技術(shù)支持效率,進(jìn)一步完善終端-服務(wù)器協(xié)議可以實(shí)現(xiàn)終端遠(yuǎn)程診斷功能。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于I.本發(fā)明解決了現(xiàn)有終端由于各種軟、硬件原因造成終端上電后無法啟動(dòng)的問題,在出現(xiàn)異常的情況下能夠及時(shí)診斷并通過連接互聯(lián)網(wǎng)自動(dòng)修復(fù)。2.本發(fā)明能夠在終端出現(xiàn)故障時(shí)候提供遠(yuǎn)程診斷接口,方便相關(guān)人員通過互聯(lián)網(wǎng)對終端故障進(jìn)行遠(yuǎn)程診斷。3.本發(fā)明可以支持操作系統(tǒng)內(nèi)核與文件系統(tǒng)的遠(yuǎn)程升級。4.采用本發(fā)明介紹的方法終端設(shè)備在硬件故障造成軟件加載出錯(cuò)的情況下,只要引導(dǎo)加載程序能夠啟動(dòng)就可以及時(shí)發(fā)現(xiàn)問題,自動(dòng)啟用遠(yuǎn)程升級程序,進(jìn)行程序和系統(tǒng)更新,在硬件故障不嚴(yán)重的情況下,可以修復(fù)系統(tǒng),使之正常工作;如果硬件故障嚴(yán)重已影響使用,可以通過遠(yuǎn)程進(jìn)行硬件故障診斷,將診斷結(jié)果反饋給遠(yuǎn)程計(jì)算機(jī)。可以極大的減少技術(shù)人員現(xiàn)場支持的概率,降低了售后服務(wù)的成本。
圖I是本發(fā)明的自診斷檢測系統(tǒng)結(jié)構(gòu)圖;圖2是本發(fā)明的終端存儲(chǔ)區(qū)結(jié)構(gòu)實(shí)施例示意圖;圖3是本發(fā)明的典型終端結(jié)構(gòu)模塊實(shí)施例示意圖;圖4是本發(fā)明的終端開機(jī)自診斷實(shí)施例流程示意圖;圖5是本發(fā)明的遠(yuǎn)程升級實(shí)施例流程示意圖。
具體實(shí)施例方式本發(fā)明針對現(xiàn)有終端設(shè)備在開機(jī)啟動(dòng)故障檢測方面的缺陷提出一種新的解決方案,并可在此基礎(chǔ)上構(gòu)建完整的一套遠(yuǎn)程診斷系統(tǒng)。圖I是本發(fā)明的自診斷檢測系統(tǒng)結(jié)構(gòu)圖,路由器通過終端的以太網(wǎng)接口通過主站服務(wù)器聯(lián)網(wǎng);圖2是本發(fā)明的終端存儲(chǔ)區(qū)結(jié)構(gòu)實(shí)施例示意圖,說明各個(gè)模塊之間的包含關(guān)系;圖3是本發(fā)明的典型終端結(jié)構(gòu)模塊實(shí)施例示意圖,給出整個(gè)模塊運(yùn)行過程實(shí)施例;圖4是本發(fā)明的終端開機(jī)自診斷實(shí)施例流程圖,對整個(gè)終端開機(jī)自診斷步驟進(jìn)行詳細(xì)闡述;圖5是本發(fā)明的遠(yuǎn)程升級實(shí)施例流程圖,相對于現(xiàn)有技術(shù)不需要關(guān)心網(wǎng)絡(luò)連接底層細(xì)節(jié)的特性,需要在引導(dǎo)啟動(dòng)代碼中實(shí)現(xiàn)一個(gè)TCP/IP協(xié)議棧,并處理一切網(wǎng)絡(luò)連接的技術(shù)細(xì)節(jié)。本系統(tǒng)故障診斷方法分為主站診斷和終端診斷兩部分。分別介紹如下I)終端診斷功能實(shí)現(xiàn)本系統(tǒng)終端檢測實(shí)現(xiàn)放在引導(dǎo)啟動(dòng)代碼中,分為開機(jī)自診斷和遠(yuǎn)程升級兩部分。開機(jī)自診斷包括如下步驟I.引導(dǎo)啟動(dòng)代碼放在一塊專用的SPI接 口 FLASH閃存中,在硬件上電后首先被主(PU從閃存中讀入內(nèi)存執(zhí)行,引導(dǎo)啟動(dòng)代碼所處的閃存空間獨(dú)立,不與終端其他軟件和數(shù)據(jù)區(qū)共用,可以最大限度保證引導(dǎo)啟動(dòng)程序不會(huì)被硬件或軟件故障損壞。2.引導(dǎo)啟動(dòng)代碼從設(shè)定的NAND FLASH地址中將操作系統(tǒng)內(nèi)核讀入內(nèi)存。3.引導(dǎo)啟動(dòng)代碼對內(nèi)核數(shù)據(jù)進(jìn)行CRC校驗(yàn),并和讀出的內(nèi)核CRC進(jìn)行比較。4.如內(nèi)核CRC校驗(yàn)未通過,從設(shè)定的NAND FLASH地址中將備份的操作系統(tǒng)內(nèi)核讀入內(nèi)存。如果內(nèi)核CRC校驗(yàn)通過,執(zhí)行步驟8。5.引導(dǎo)啟動(dòng)代碼對備份內(nèi)核數(shù)據(jù)進(jìn)行CRC校驗(yàn),并和讀出的內(nèi)核CRC進(jìn)行比較。6.如備份內(nèi)核CRC校驗(yàn)未通過,進(jìn)入遠(yuǎn)程升級模式。7.如備份內(nèi)核CRC校驗(yàn)通過,執(zhí)行步驟8。8.內(nèi)核CRC校驗(yàn)通過,引導(dǎo)啟動(dòng)代碼從設(shè)定的NAND FLASH地址中將根文件系統(tǒng)讀入內(nèi)存。9.引導(dǎo)啟動(dòng)代碼對根文件系統(tǒng)進(jìn)行CRC校驗(yàn),并和讀出的文件系統(tǒng)CRC進(jìn)行比較。10.如文件系統(tǒng)CRC校驗(yàn)未通過,從設(shè)定的NAND FLASH地址中將備份的文件系統(tǒng)讀入內(nèi)存。如文件系統(tǒng)CRC校驗(yàn)通過,執(zhí)行步驟13。11.引導(dǎo)啟動(dòng)代碼對備份文件系統(tǒng)進(jìn)行CRC校驗(yàn),并和讀出的文件系統(tǒng)CRC進(jìn)行比較。12.如備份文件系統(tǒng)CRC校驗(yàn)未通過,進(jìn)入遠(yuǎn)程升級模式。如備份文件系統(tǒng)CRC校驗(yàn)通過,執(zhí)行步驟13。13.引導(dǎo)啟動(dòng)代碼跳轉(zhuǎn)的操作系統(tǒng)內(nèi)核首地址,讓出CPU控制權(quán),正常啟動(dòng)。本領(lǐng)域技術(shù)人員應(yīng)了解,本發(fā)明可以基于32位嵌入式終端設(shè)備,也可涵蓋帶以太網(wǎng)的基于8位/16位單片機(jī)或DSP的非嵌入式終端產(chǎn)品等。本發(fā)明的描述以32位嵌入式平臺為例進(jìn)行,但工作流程在上面提到的非嵌入式系統(tǒng)終端上可通用。對內(nèi)核與文件系統(tǒng)進(jìn)行校驗(yàn)的目的是驗(yàn)證數(shù)據(jù)的正確性,CRC是比較典型的一種,也可采用其他數(shù)據(jù)校驗(yàn)方式。遠(yuǎn)程升級包括如下步驟相對于現(xiàn)有技術(shù)不需要關(guān)心網(wǎng)絡(luò)連接底層細(xì)節(jié)的特性,本發(fā)明需要在引導(dǎo)啟動(dòng)代碼中實(shí)現(xiàn)一個(gè)TCP/IP協(xié)議棧,并處理一切網(wǎng)絡(luò)連接的技術(shù)細(xì)節(jié)。本發(fā)明流程如下I.定時(shí)通過以太網(wǎng)發(fā)送DHCP廣播,尋找DHCP服務(wù)器(這里是路由器)。2.收到路由器返回的提供信息報(bào)文,發(fā)送DHCP服務(wù)器選擇廣播,請求本機(jī)IP、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS等網(wǎng)絡(luò)連接信息。3.收到路由器返回的本機(jī)IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS,這一步完成后已經(jīng)連上interneto
4.根據(jù)事先設(shè)定的主站服務(wù)器網(wǎng)址,向DNS服務(wù)器發(fā)送DNS域名解析請求。5.收到DNS服務(wù)器的回復(fù),獲得主站服務(wù)器對應(yīng)的IP地址。6.根據(jù)主站服務(wù)器IP地址和事先設(shè)定的端口號,啟動(dòng)一個(gè)TCP連接到主站。7. TCP連接建立,根據(jù)終端軟件與主站自定義的通信協(xié)議,可進(jìn)行操作系統(tǒng)內(nèi)核和文件系統(tǒng)下載、遠(yuǎn)程診斷等功能。2)主站診斷方式實(shí)現(xiàn)I.擁有域名的24小時(shí)在線軟件2.監(jiān)控設(shè)定端口來自終端的TCP連接請求 建立與終端的TCP連接后根據(jù)終端與主站自定義的通信協(xié)議,為終端提供操作系統(tǒng)內(nèi)核和文件系統(tǒng)下載功能,也可通過這個(gè)TCP連接實(shí)現(xiàn)遠(yuǎn)程診斷功能。本領(lǐng)域技術(shù)人員應(yīng)了解,對于嵌入式終端軟件來說,大致分為引導(dǎo)I、啟動(dòng)程序、2、操作系統(tǒng)內(nèi)核、3、文件系統(tǒng)和4、應(yīng)用程序幾個(gè)部分,2、3、4可能分開存儲(chǔ)在非易失內(nèi)存里,也可能合成一個(gè)部分,因?yàn)榍罢咔闆r比較復(fù)雜,因此本發(fā)明重點(diǎn)討論,2、3、4部分合在一起的情況的處理方式類似,圖4或圖5流程更簡化一些。對于前者,終端設(shè)備上電后的運(yùn)行順序是上電->運(yùn)行啟動(dòng)程序->運(yùn)行操作系統(tǒng)內(nèi)核->掛載文件系統(tǒng)->運(yùn)行應(yīng)用程序。本發(fā)明對現(xiàn)有的啟動(dòng)程序進(jìn)行了改進(jìn),在啟動(dòng)程序這一級對下面幾個(gè)步驟進(jìn)行預(yù)先的檢查(自動(dòng)診斷),如果發(fā)現(xiàn)某個(gè)環(huán)節(jié)存在問題會(huì)采取相應(yīng)的修復(fù)手段,自動(dòng)在線升級,故障信息上報(bào)到服務(wù)器。圖2是本發(fā)明的終端存儲(chǔ)區(qū)結(jié)構(gòu)實(shí)施例示意圖,說明各個(gè)模塊之間的包含關(guān)系;圖3是本發(fā)明的典型終端結(jié)構(gòu)模塊實(shí)施例示意圖,給出整個(gè)模塊運(yùn)行過程實(shí)施例。其中,本發(fā)明的自診斷終端可以包括校驗(yàn)?zāi)K,用于在加載操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng)前進(jìn)行數(shù)據(jù)校驗(yàn);判別模塊,用于根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級。這兩個(gè)模塊可以位于圖2和圖3的CPU中,其中判別模塊進(jìn)一步可以包括第一判別子模塊,用于判別出所述校驗(yàn)結(jié)果通過時(shí)啟用正常的操作系統(tǒng),將CPU控制權(quán)交給操作系統(tǒng)內(nèi)核;第二判別子模塊,用于判別出所述校驗(yàn)結(jié)果不通過,則啟用備份的操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng),并重復(fù)所述校驗(yàn)過程;第三判別子模塊,用于在第二判別子模塊重復(fù)所述校驗(yàn)過程不通過時(shí)進(jìn)行遠(yuǎn)程升級。該終端還可以包括遠(yuǎn)程升級模塊,可以連接圖3的CPU及通信接口。結(jié)合上述實(shí)施例僅說明本發(fā)明的技術(shù)方案而非對其限制。所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解到本領(lǐng)域技術(shù)人員可以對本發(fā)明的具體實(shí)施方式
進(jìn)行修改或者等同替換,但這些修改或變更均在申請待批的權(quán)利要求保護(hù)范圍之中。
權(quán)利要求
1.一種自診斷終端,其特征在于所述終端包括 校驗(yàn)?zāi)K,用于在加載操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng)前進(jìn)行數(shù)據(jù)校驗(yàn); 判別模塊,用于根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級。
2.根據(jù)權(quán)利要求I所述的自診斷終端,其特征在于,所述判別模塊包括 第一判別子模塊,用于判別出所述校驗(yàn)結(jié)果通過時(shí)啟用正常的操作系統(tǒng),將CPU控制權(quán)交給操作系統(tǒng)內(nèi)核; 第二判別子模塊,用于判別出所述校驗(yàn)結(jié)果不通過,則啟用備份的操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng),并重復(fù)所述校驗(yàn)過程; 第三判別子模塊,用于在第二判別子模塊重復(fù)所述校驗(yàn)過程不通過時(shí)進(jìn)行遠(yuǎn)程升級。
3.根據(jù)權(quán)利要求2所述的自診斷終端,其特征在于,所述自診斷終端包括遠(yuǎn)程升級模塊; 所述判別模塊一端連接所述校驗(yàn)?zāi)K,所述判別模塊另一端連接所述遠(yuǎn)程升級模塊。
4.根據(jù)權(quán)利要求3所述的自診斷終端,其特征在于所述遠(yuǎn)程升級模塊進(jìn)行所述操作系統(tǒng)內(nèi)核與所述文件系統(tǒng)的遠(yuǎn)程傳輸,用以太網(wǎng)接口連接internet ;終端的以太網(wǎng)口連接用戶提供的連接互聯(lián)網(wǎng)的路由器。
5.一種自診斷檢測方法,其特征在于所述方法包括 在加載操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng)前進(jìn)行校驗(yàn); 根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級。
6.根據(jù)權(quán)利要求5所述的自診斷檢測方法,其特征在于,根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級的步驟包括 若所述校驗(yàn)結(jié)果通過,則正常啟用操作系統(tǒng),將CPU控制權(quán)交給操作系統(tǒng)內(nèi)核; 若所述校驗(yàn)結(jié)果不通過,則啟用備份的操作系統(tǒng)內(nèi)核和文件系統(tǒng),并重復(fù)所述校驗(yàn)過程; 若重復(fù)所述校驗(yàn)過程不通過,則進(jìn)行遠(yuǎn)程升級。
7.根據(jù)權(quán)利要求5或6任一項(xiàng)所述的自診斷檢測方法,其特征在于,所述遠(yuǎn)程升級包括所述操作系統(tǒng)內(nèi)核與所述文件系統(tǒng)的傳輸,用以太網(wǎng)接口連接internet ;用戶提供的連接互聯(lián)網(wǎng)的路由器連到終端的以太網(wǎng)口 ;所述升級包括以下步驟 1)所述終端接收遠(yuǎn)程升級控制命令時(shí)檢測網(wǎng)絡(luò)連接,自動(dòng)發(fā)送ARP數(shù)據(jù)以獲得路由器硬件地址; 2)所述終端根據(jù)所述路由器硬件地址發(fā)送請求,由路由器根據(jù)所述請求分配信息,所述分配信息包括IP地址、網(wǎng)關(guān)和DNS ; 3)根據(jù)所述終端設(shè)定的遠(yuǎn)程升級服務(wù)器域名,向DNS服務(wù)器發(fā)送域名解析請求,所述終端收到返回的遠(yuǎn)程升級服務(wù)器IP地址; 4)通過所述遠(yuǎn)程升級服務(wù)器IP地址和終端設(shè)定的端口啟動(dòng)TCP連接,根據(jù)所述終端與所述服務(wù)器的協(xié)議,進(jìn)行文件下載升級及終端遠(yuǎn)程維護(hù); 根據(jù)用戶提供的路由器,進(jìn)行24小時(shí)在線升級。
8.一種遠(yuǎn)程維護(hù)系統(tǒng),其特征在于所述系統(tǒng)包括權(quán)利要求1-4任意一項(xiàng)所述的終端以及遠(yuǎn)程升級服務(wù)器,通過互聯(lián)網(wǎng)對所述終端故障進(jìn)行自動(dòng)診斷和固件升級。
9.根據(jù)權(quán)利要求8所述的一種遠(yuǎn)程維護(hù)系統(tǒng),其特征在于所述遠(yuǎn)程維護(hù)系統(tǒng)的系統(tǒng)故障自動(dòng)診斷分為主站診斷和終端自診斷兩部分,所述主站診斷方式包括擁有域名的24小時(shí)在線軟件和監(jiān)控設(shè)定端口來自所述終端的TCP連接請求。
10.根據(jù)權(quán)利要求9所述的一種遠(yuǎn)程維護(hù)系統(tǒng),其特征在于所述終端自診斷包括開機(jī)自診斷和遠(yuǎn)程升級,所述開機(jī)自診斷包括如下步驟 1)將引導(dǎo)啟動(dòng)代碼放在一塊SPI接口FLASH閃存中; 2)引導(dǎo)啟動(dòng)代碼從設(shè)定的NANDFLASH地址中將操作系統(tǒng)內(nèi)核讀入內(nèi)存; 3)引導(dǎo)啟動(dòng)代碼對內(nèi)核數(shù)據(jù)進(jìn)行CRC校驗(yàn),并和讀出的內(nèi)核CRC進(jìn)行比較; 4)判定內(nèi)核CRC是否通過校驗(yàn),確定從設(shè)定的NANDFLASH地址中將備份的操作系統(tǒng)內(nèi)核讀入內(nèi)存還是執(zhí)行步驟8; 5)引導(dǎo)啟動(dòng)代碼對備份內(nèi)核數(shù)據(jù)進(jìn)行CRC校驗(yàn),并和讀出的內(nèi)核CRC進(jìn)行比較; 6)如備份內(nèi)核CRC校驗(yàn)未通過,進(jìn)入遠(yuǎn)程升級模式; 7)如備份內(nèi)核CRC校驗(yàn)通過,執(zhí)行步驟8; 8)內(nèi)核CRC校驗(yàn)通過,引導(dǎo)啟動(dòng)代碼從設(shè)定的NANDFLASH地址中將根文件系統(tǒng)讀入內(nèi)存; 9)引導(dǎo)啟動(dòng)代碼對根文件系統(tǒng)進(jìn)行CRC校驗(yàn),并和讀出的文件系統(tǒng)CRC進(jìn)行比較; 10)判定文件系統(tǒng)CRC是否通過校驗(yàn),確定從設(shè)定的NANDFLASH地址中備份的文件系統(tǒng)讀入內(nèi)存還是執(zhí)行步驟13 ; 11)引導(dǎo)啟動(dòng)代碼對備份文件系統(tǒng)進(jìn)行CRC校驗(yàn),并和讀出的文件系統(tǒng)CRC進(jìn)行比較; 12)確定備份文件系統(tǒng)CRC進(jìn)入遠(yuǎn)程升級模式還是執(zhí)行步驟13; 13)引導(dǎo)啟動(dòng)代碼跳轉(zhuǎn)的操作系統(tǒng)內(nèi)核首地址,讓出CPU控制權(quán),正常啟動(dòng)。
11.根據(jù)權(quán)利要求10所述的一種遠(yuǎn)程維護(hù)系統(tǒng),其特征在于所述遠(yuǎn)程升級包括如下步驟 1)通過以太網(wǎng)發(fā)送DHCP廣播,查尋路由器; 2)以太網(wǎng)收到路由器返回的提供信息報(bào)文,發(fā)送DHCP服務(wù)器選擇廣播,請求本機(jī)IP、子網(wǎng)掩碼、網(wǎng)關(guān)和DNS網(wǎng)絡(luò)連接信息; 3)以太網(wǎng)與internet聯(lián)連后,接收路由器返回的本機(jī)IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS網(wǎng)絡(luò)連接信息; 4)根據(jù)設(shè)定的主站服務(wù)器網(wǎng)址,以太網(wǎng)向DNS服務(wù)器發(fā)送DNS域名解析請求; 5)以太網(wǎng)收到DNS服務(wù)器的回復(fù),將獲得主站對應(yīng)的IP地址; 6)根據(jù)主站服務(wù)器IP地址和設(shè)定的端口號,啟動(dòng)一個(gè)TCP連接到主站; 7)建立TCP連接。
全文摘要
本發(fā)明提供一種自診斷終端、檢測方法及遠(yuǎn)程維護(hù)系統(tǒng),所述自診斷終端包括校驗(yàn)?zāi)K、判別模塊和遠(yuǎn)程升級模塊,所述判別模塊一端連接所述校驗(yàn)?zāi)K,所述判別模塊另一端連接所述遠(yuǎn)程升級模塊;所述自診斷檢測方法包括在加載操作系統(tǒng)內(nèi)核和掛載文件系統(tǒng)前進(jìn)行校驗(yàn);根據(jù)所述校驗(yàn)結(jié)果確定把CPU控制權(quán)交給操作系統(tǒng)內(nèi)核、重復(fù)上述校驗(yàn)過程或進(jìn)行遠(yuǎn)程升級;所述遠(yuǎn)程維護(hù)系統(tǒng)故障自動(dòng)診斷分為主站診斷和終端自診斷兩部分;本發(fā)明解決在終端出現(xiàn)異常的情況下能夠及時(shí)診斷并通過連接互聯(lián)網(wǎng)自動(dòng)修復(fù)、能夠在終端出現(xiàn)故障時(shí)候提供遠(yuǎn)程診斷接口、可以支持操作系統(tǒng)內(nèi)核與文件系統(tǒng)的遠(yuǎn)程升級、減少技術(shù)人員現(xiàn)場支持的概率、降低售后服務(wù)的成本。
文檔編號G06F11/08GK102722420SQ201110326438
公開日2012年10月10日 申請日期2011年10月25日 優(yōu)先權(quán)日2011年10月25日
發(fā)明者李丹 申請人:中國電力科學(xué)研究院