用戶用電信息采集終端遠程升級方法
【專利摘要】本發(fā)明涉及用戶用電信息采集終端遠程升級方法,包括:主站選擇一采集終端為當前升級終端;主站向當前升級終端發(fā)送各幀文件塊、以及單幀校驗數(shù)據(jù);當前升級終端校驗各幀文件塊;主站向當前升級終端發(fā)送整文件校驗數(shù)據(jù);當前升級終端校驗整個程序升級文件;當前升級終端升級處理結(jié)束;主站判斷是否所有采集終端升級處理結(jié)束,若否則選擇下一采集終端為當前升級終端并轉(zhuǎn)至第二步,若是則遠程升級結(jié)束。本發(fā)明可實現(xiàn)對采集終端的遠程升級維護,徹底克服傳統(tǒng)升級方法的缺陷。
【專利說明】用戶用電信息采集終端遠程升級方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用戶用電信息采集終端遠程升級方法,可實現(xiàn)遠程升級維護終端設(shè)備。
【背景技術(shù)】
[0002]據(jù) 申請人:了解,用戶用電信息采集系統(tǒng)可為國家電網(wǎng)“SG186工程”提供用戶實時/歷史用電信息數(shù)據(jù),也可為中低壓配電網(wǎng)、農(nóng)電網(wǎng)提供配電變壓器、公用變壓器、農(nóng)村綜合變壓器等的實時/歷史數(shù)據(jù)及工況運行情況。用戶用電信息采集系統(tǒng)可通過已建成的電力通訊網(wǎng),方便、快捷地提供實時/歷史用電信息,為國家電網(wǎng)公司加強自身工作并向客戶提供優(yōu)質(zhì)用電服務(wù)提供數(shù)據(jù)支撐。
[0003]用戶用電信息采集系統(tǒng)通常包括散布在各采集點的采集終端,以及與采集終端通信連接的主站服務(wù)器。在維護用戶用電信息采集系統(tǒng)的過程中,常因需求變更增加功能、解決現(xiàn)場運行問題、優(yōu)化程序流程等原因,需要對各采集終端實施升級維護操作。傳統(tǒng)的升級方式為“人工本地升級”方式,即由技術(shù)支持人員攜帶終端升級程序到采集終端現(xiàn)場進行本地升級。然而,由于采集終端數(shù)量多、分布地域廣、分散度高、野外運行環(huán)境差,這種傳統(tǒng)的升級方式無法滿足批量處理、高時效性的要求,而且每次升級都會占用大量的人力物力資源,增加了用戶用電信息采集系統(tǒng)的運營成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是:針對現(xiàn)有技術(shù)存在的問題,提出一種用戶用電信息采集終端遠程升級方法,實現(xiàn)對采集終端的遠程升級維護,徹底克服傳統(tǒng)升級方法的缺陷。
[0005]本發(fā)明解決其技術(shù)問題的技術(shù)方案如下:
[0006]一種用戶用電信息采集終端遠程升級方法,其特征是,包括以下步驟:
[0007]第一步、主站選擇一采集終端為當前升級終端;
[0008]第二步、主站向當前升級終端按幀發(fā)送預先由整個程序升級文件分割而成的各幀文件塊、以及與各幀文件塊對應(yīng)的經(jīng)單幀校驗算法得出的單幀校驗數(shù)據(jù);當前升級終端按所述單幀校驗算法校驗各幀文件塊;
[0009]第三步、主站向當前升級終端發(fā)送與整個程序升級文件對應(yīng)的經(jīng)整文件校驗算法得出的整文件校驗數(shù)據(jù);當前升級終端按所述整文件校驗算法校驗整個程序升級文件;
[0010]第四步、當前升級終端升級處理結(jié)束;主站判斷是否所有采集終端升級處理結(jié)束,若否則選擇下一采集終端為當前升級終端并轉(zhuǎn)至第二步,若是則遠程升級結(jié)束。
[0011] 申請人:在長期深入地實踐研究中發(fā)現(xiàn),雖然采集終端程序升級文件的大小僅有數(shù)百KB至數(shù)MB,但是受電力通訊網(wǎng)的傳輸限制,無法將程序升級文件一次性發(fā)送至采集終端,只能將程序升級文件分割成若干幀文件塊,再逐幀發(fā)送至采集終端。為確保這種發(fā)送方式的安全性和可靠性, 申請人:進一步研究出先對每幀文件塊執(zhí)行校驗,再對整個程序升級文件執(zhí)行校驗的技術(shù)手段,以此來保證程序升級文件準確無誤地發(fā)送至采集終端,避免數(shù)據(jù)被竊取和盜用的可能性,最大程度地保護用電信息的安全。
[0012]本發(fā)明進一步完善的技術(shù)方案如下:
[0013]優(yōu)選地,第二步中,針對各幀文件塊的單幀校驗算法具體過程如下:
[0014]S1.初始化:令變量W_CRC為16位二進制數(shù),各位數(shù)值均為零;令數(shù)據(jù)指針i=l ;
[0015]S2.取變量W_CRC的左邊8位并保存至變量W_CRC1 ;取變量W_CRC的右邊8位并保存至變量W_CRC2 ;
[0016]S3.讀取當前幀文件塊的第i字節(jié)數(shù)據(jù),并將該數(shù)據(jù)與變量W_CRC2進行異或運算,所得值為N ;
[0017]S4.將密碼表中的第N次序的數(shù)值與變量W_CRC1進行異或運算,所得值保存至變量W_CRC ;所述密碼表由至少256個> 0x0且< Oxffff的十六進制數(shù)值按預定次序組成;所述密碼表的起始次序編號為零;
[0018]S5.令數(shù)據(jù)指針i=i+l,判斷當前幀文件塊是否讀取完畢,若是則轉(zhuǎn)至S6,若否則轉(zhuǎn)至S2 ;
[0019]S6.對變量W_CRC的數(shù)值取反,即得當前幀文件塊的單幀校驗數(shù)據(jù)。
[0020]優(yōu)選地,第三步中,針對整個程序升級文件的整文件校驗算法具體過程如下:
[0021]Tl.初始化:令變量W_CS為32位二進制數(shù),各位數(shù)值均為零;令數(shù)據(jù)指針j=l ;
[0022]T2.讀取程序升級文件的第i字節(jié)數(shù)據(jù),并將該數(shù)據(jù)與變量W_CS做算術(shù)和運算,所得值保存至變量W_cs ;
[0023]T3.令數(shù)據(jù)指針j=j+l,判斷程序升級文件是否讀取完畢,若是則轉(zhuǎn)至T4,若否則轉(zhuǎn)至T2 ;
[0024]T4.變量W_CS的數(shù)值即為整個程序升級文件的整文件校驗數(shù)據(jù)。
[0025]以上的單幀校驗算法和整文件校驗算法是 申請人:經(jīng)進一步深入實踐研究得出的專門適用于采集終端程序升級文件的校驗算法,可進一步確保程序升級文件的安全性和可靠性。
[0026]優(yōu)選地,第二步的具體過程如下:
[0027]Al.初始化:令巾貞指針k=l,令巾貞重發(fā)次數(shù)n=0 ;
[0028]A2.主站向當前升級終端發(fā)送第k幀文件塊,并發(fā)送與第k幀文件塊對應(yīng)的經(jīng)單幀校驗算法得出的單幀校驗數(shù)據(jù);
[0029]A3.當前升級終端按所述單幀校驗算法計算第k幀文件塊的單幀校驗數(shù)據(jù),并判斷是否與收到的單幀校驗數(shù)據(jù)相符;若相符則當前升級終端向主站返回成功報文,主站記錄當前升級終端已下載第k幀文件塊,轉(zhuǎn)至A4;若不相符則當前升級終端向主站返回重發(fā)請求,主站令幀重發(fā)次數(shù)n=n+l,并判斷η是否大于預定數(shù)值,若是則主站記錄當前升級終端第k幀文件塊校驗異常并轉(zhuǎn)至第四步,若否則轉(zhuǎn)至Α2 ;
[0030]A4.令幀指針k=k+l,主站判斷是否所有幀文件塊已發(fā)送完畢,若是則轉(zhuǎn)至第三步,若否則轉(zhuǎn)至A2。
[0031]上述優(yōu)選技術(shù)方案是 申請人:經(jīng)進一步深入實踐研究得出的,能有效確保各幀文件塊的安全性,能及時反饋升級異常的采集終端、便于有針對性的及時檢修,還能記錄采集終端的下載進程、便于在通信條件較差時實現(xiàn)斷點續(xù)傳。[0032]優(yōu)選地,第三步的具體過程如下:
[0033]B1.主站向當前升級終端發(fā)送與整個程序升級文件對應(yīng)的經(jīng)整文件校驗算法得出的整文件校驗數(shù)據(jù);
[0034]B2.當前升級終端按所述整文件校驗算法計算整個程序升級文件的整文件校驗數(shù)據(jù),并判斷是否與收到的整文件校驗數(shù)據(jù)相符;若相符則轉(zhuǎn)至B3 ;若不相符則主站記錄當前升級終端整文件校驗異常并轉(zhuǎn)至第四步;
[0035]B3.當前升級終端執(zhí)行復位重啟動作,并將程序升級文件從臨時存儲區(qū)域轉(zhuǎn)移至正式應(yīng)用程序區(qū)域,然后按所述整文件校驗算法計算整個程序升級文件的整文件校驗數(shù)據(jù),并判斷是否與收到的整文件校驗數(shù)據(jù)相符;若相符則主站記錄當前升級終端升級成功,轉(zhuǎn)至第四步;若不相符則主站記錄當前升級終端文件轉(zhuǎn)移異常并轉(zhuǎn)至第四步。
[0036]上述優(yōu)選技術(shù)方案是 申請人:經(jīng)進一步深入實踐研究得出的,能有效確保整個程序升級文件的安全性,能及時反饋升級異常的采集終端、便于有針對性的及時檢修。
[0037]優(yōu)選地,還包括位于第一步之前的主站準備步驟,所述主站準備步驟的具體過程如下:
[0038]Cl.查詢采集終端程序版本,將需要升級的采集終端列入升級終端清單;
[0039]C2.選擇程序升級文件,按所述整文件校驗算法得出整文件校驗數(shù)據(jù);將程序升級文件分割為若干幀文件塊,并按所述單幀校驗算法得出各幀文件塊的單幀校驗數(shù)據(jù);
[0040]C3.將升級終端清單中的采集終端通信信道切換至升級信道;轉(zhuǎn)至第一步;
[0041]所述第一步的具體過程為:主站在升級終端清單中選擇一采集終端為當前升級終端;
[0042]還包括位于第四步之后的主站后續(xù)處理步驟,所述主站后續(xù)處理步驟的具體過程如下:查詢升級終端清單中各采集終端程序版本,并與本次程序升級文件的版本對比,將版本對比不一致的采集終端狀態(tài)記錄為升級狀態(tài)異常,將版本對比一致的采集終端通信信道切換至信息采集信道。
[0043]上述優(yōu)選技術(shù)方案是 申請人:經(jīng)進一步深入實踐研究得出的,能使整個遠程升級過程自動化、流程化處理,從而進一步大幅減少設(shè)備運行維護人員的工作量,提高采集終端遠程升級的工作效率。
【專利附圖】
【附圖說明】
[0044]圖1為本發(fā)明實施例的主體流程示意圖。
【具體實施方式】
[0045]下面參照附圖并結(jié)合實施例對本發(fā)明作進一步詳細描述。但是本發(fā)明不限于所給出的例子。
[0046]實施例
[0047]如圖1所示,本實施例的用戶用電信息采集終端遠程升級方法,包括以下步驟:
[0048]主站準備步驟:
[0049]Cl.查詢采集終端程序版本,將需要升級的采集終端列入升級終端清單;
[0050]C2.選擇程序升級文件,按所述整文件校驗算法得出整文件校驗數(shù)據(jù);將程序升級文件分割為若干幀文件塊,并按所述單幀校驗算法得出各幀文件塊的單幀校驗數(shù)據(jù);
[0051]C3.將升級終端清單中的采集終端通信信道切換至升級信道;轉(zhuǎn)至第一步。
[0052]弟一步、王站在升級終端清單中選擇一米集終端為當如升級終端。
[0053]第二步、主站向當前升級終端按幀發(fā)送預先由整個程序升級文件分割而成的各幀文件塊、以及與各幀文件塊對應(yīng)的經(jīng)單幀校驗算法得出的單幀校驗數(shù)據(jù);當前升級終端按所述單幀校驗算法校驗各幀文件塊;
[0054]具體過程如下:
[0055]Al.初始化:令巾貞指針k=l,令巾貞重發(fā)次數(shù)n=0 ;
[0056]A2.主站向當前升級終端發(fā)送第k幀文件塊,并發(fā)送與第k幀文件塊對應(yīng)的經(jīng)單幀校驗算法得出的單幀校驗數(shù)據(jù);
[0057]A3.當前升級終端按所述單幀校驗算法計算第k幀文件塊的單幀校驗數(shù)據(jù),并判斷是否與收到的單幀校驗數(shù)據(jù)相符;若相符則當前升級終端向主站返回成功報文,主站記錄當前升級終端已下載第k幀文件塊,轉(zhuǎn)至A4 ;若不相符則當前升級終端向主站返回重發(fā)請求,主站令幀重發(fā)次數(shù)n=n+l,并判斷η是否大于預定數(shù)值,若是則主站記錄當前升級終端第k幀文件塊校驗異常并轉(zhuǎn)至第四步,若否則轉(zhuǎn)至Α2 ;
[0058]A4.令幀指針k=k+l,主站判斷是否所有幀文件塊已發(fā)送完畢,若是則轉(zhuǎn)至第三步,若否則轉(zhuǎn)至A2。
[0059]第三步、主站向當前升級終端發(fā)送與整個程序升級文件對應(yīng)的經(jīng)整文件校驗算法得出的整文件校驗數(shù)據(jù);當前升級終端按所述整文件校驗算法校驗整個程序升級文件;
[0060]具體過程如下:
[0061]B1.主站向當前升級終端發(fā)送與整個程序升級文件對應(yīng)的經(jīng)整文件校驗算法得出的整文件校驗數(shù)據(jù);
[0062]B2.當前升級終端按所述整文件校驗算法計算整個程序升級文件的整文件校驗數(shù)據(jù),并判斷是否與收到的整文件校驗數(shù)據(jù)相符;若相符則轉(zhuǎn)至B3 ;若不相符則主站記錄當前升級終端整文件校驗異常并轉(zhuǎn)至第四步;
[0063]B3.當前升級終端執(zhí)行復位重啟動作,并將程序升級文件從臨時存儲區(qū)域轉(zhuǎn)移至正式應(yīng)用程序區(qū)域,然后按所述整文件校驗算法計算整個程序升級文件的整文件校驗數(shù)據(jù),并判斷是否與收到的整文件校驗數(shù)據(jù)相符;若相符則主站記錄當前升級終端升級成功,轉(zhuǎn)至第四步;若不相符則主站記錄當前升級終端文件轉(zhuǎn)移異常并轉(zhuǎn)至第四步。
[0064]第四步、當前升級終端升級處理結(jié)束;主站判斷是否所有采集終端升級處理結(jié)束,若否則選擇下一采集終端為當前升級終端并轉(zhuǎn)至第二步,若是則遠程升級結(jié)束。
[0065]主站后續(xù)處理步驟:查詢升級終端清單中各采集終端程序版本,并與本次程序升級文件的版本對比,將版本對比不一致的采集終端狀態(tài)記錄為升級狀態(tài)異常,將版本對比一致的采集終端通信信道切換至信息采集信道。
[0066]其中,第二步中,針對各幀文件塊的單幀校驗算法具體過程如下:
[0067]S1.初始化:令變量W_CRC為16位二進制數(shù),各位數(shù)值均為零;令數(shù)據(jù)指針i=l ;
[0068]S2.取變量W_CRC的左邊8位并保存至變量W_CRC1 ;取變量W_CRC的右邊8位并保存至變量W_CRC2 ;
[0069]S3.讀取當前幀文件塊的第i字節(jié)數(shù)據(jù),并將該數(shù)據(jù)與變量W_CRC2進行異或運算,所得值為N ;
[0070]S4.將密碼表中的第N次序的數(shù)值與變量W_CRC1進行異或運算,所得值保存至變量評_0^ ;密碼表由至少256個> 0x0且< Oxffff的十六進制數(shù)值按預定次序組成;密碼表的起始次序編號為零;
[0071]S5.令數(shù)據(jù)指針i=i+l,判斷當前幀文件塊是否讀取完畢,若是則轉(zhuǎn)至S6,若否則轉(zhuǎn)至S2 ;
[0072]S6.對變量W_CRC的數(shù)值取反,即得當前幀文件塊的單幀校驗數(shù)據(jù)。
[0073]為便于理解單幀校驗算法,舉一應(yīng)用示例:
[0074]某幀文件塊含兩字節(jié)數(shù)據(jù),第I字節(jié)數(shù)據(jù)為10110011,第2字節(jié)數(shù)據(jù)為01011010。
左移為邏輯左移,右移為邏輯右移。
[0075]密碼表如下表所示,含有256個十六進制數(shù)值,次序也以十六進制數(shù)值表示:
[0076]
【權(quán)利要求】
1.一種用戶用電信息采集終端遠程升級方法,其特征是,包括以下步驟: 第一步、主站選擇一采集終端為當前升級終端; 第二步、主站向當前升級終端按幀發(fā)送預先由整個程序升級文件分割而成的各幀文件塊、以及與各幀文件塊對應(yīng)的經(jīng)單幀校驗算法得出的單幀校驗數(shù)據(jù);當前升級終端按所述單幀校驗算法校驗各幀文件塊; 第三步、主站向當前升級終端發(fā)送與整個程序升級文件對應(yīng)的經(jīng)整文件校驗算法得出的整文件校驗數(shù)據(jù);當前升級終端按所述整文件校驗算法校驗整個程序升級文件; 第四步、當前升級終端升級處理結(jié)束;主站判斷是否所有采集終端升級處理結(jié)束,若否則選擇下一采集終端為當前升級終端并轉(zhuǎn)至第二步,若是則遠程升級結(jié)束。
2.根據(jù)權(quán)利要求1所述用戶用電信息采集終端遠程升級方法,其特征是,第二步中,針對各幀文件塊的單幀校驗算法具體過程如下: 51.初始化:令變量W_CRC為16位二進制數(shù),各位數(shù)值均為零;令數(shù)據(jù)指針i=l; 52.取變量W_CRC的左邊8位并保存至變量W_CRC1;取變量W_CRC的右邊8位并保存至變量W_CRC2 ; 53.讀取當前幀文件塊的第i字節(jié)數(shù)據(jù),并將該數(shù)據(jù)與變量W_CRC2進行異或運算,所得值為N; 54.將密碼表中的第N次序的數(shù)值與變量W_CRC1進行異或運算,所得值保存至變量ICRC ;所述密碼表由至少256個> OxO且< Oxffff的十六進制數(shù)值按預定次序組成;所述密碼表的起始次序編號為零;` 55.令數(shù)據(jù)指針i=i+l,判斷當前幀文件塊是否讀取完畢,若是則轉(zhuǎn)至S6,若否則轉(zhuǎn)至S2 ; 56.對變量W_CRC的數(shù)值取反,即得當前幀文件塊的單幀校驗數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述用戶用電信息采集終端遠程升級方法,其特征是,第三步中,針對整個程序升級文件的整文件校驗算法具體過程如下: Tl.初始化:令變量W_CS為32位二進制數(shù),各位數(shù)值均為零;令數(shù)據(jù)指針j=l ; T2.讀取程序升級文件的第i字節(jié)數(shù)據(jù),并將該數(shù)據(jù)與變量W_CS做算術(shù)和運算,所得值保存至變量W_CS ; T3.令數(shù)據(jù)指針j=j+l,判斷程序升級文件是否讀取完畢,若是則轉(zhuǎn)至T4,若否則轉(zhuǎn)至T2 ; T4.變量W_CS的數(shù)值即為整個程序升級文件的整文件校驗數(shù)據(jù)。
4.根據(jù)權(quán)利要求1或2或3所述用戶用電信息采集終端遠程升級方法,其特征是,第二步的具體過程如下: Al.初始化:令幀指針k=l,令幀重發(fā)次數(shù)n=0 ; A2.主站向當前升級終端發(fā)送第k幀文件塊,并發(fā)送與第k幀文件塊對應(yīng)的經(jīng)單幀校驗算法得出的單幀校驗數(shù)據(jù); A3.當前升級終端按所述單幀校驗算法計算第k幀文件塊的單幀校驗數(shù)據(jù),并判斷是否與收到的單幀校驗數(shù)據(jù)相符;若相符則當前升級終端向主站返回成功報文,主站記錄當前升級終端已下載第k幀文件塊,轉(zhuǎn)至A4;若不相符則當前升級終端向主站返回重發(fā)請求,主站令幀重發(fā)次數(shù)n=n+l,并判斷η是否大于預定數(shù)值,若是則主站記錄當前升級終端第k幀文件塊校驗異常并轉(zhuǎn)至第四步,若否則轉(zhuǎn)至A2 ; A4.令幀指針k=k+l,主站判斷是否所有幀文件塊已發(fā)送完畢,若是則轉(zhuǎn)至第三步,若否則轉(zhuǎn)至A2。
5.根據(jù)權(quán)利要求4所述用戶用電信息采集終端遠程升級方法,其特征是,第三步的具體過程如下: B1.主站向當前升級終端發(fā)送與整個程序升級文件對應(yīng)的經(jīng)整文件校驗算法得出的整文件校驗數(shù)據(jù); B2.當前升級終端按所述整文件校驗算法計算整個程序升級文件的整文件校驗數(shù)據(jù),并判斷是否與收到的整文件校驗數(shù)據(jù)相符;若相符則轉(zhuǎn)至B3 ;若不相符則主站記錄當前升級終端整文件校驗異常并轉(zhuǎn)至第四步; B3.當前升級終端執(zhí)行復位重啟動作,并將程序升級文件從臨時存儲區(qū)域轉(zhuǎn)移至正式應(yīng)用程序區(qū)域,然后按所述整文件校驗算法計算整個程序升級文件的整文件校驗數(shù)據(jù),并判斷是否與收到的整文件校驗數(shù)據(jù)相符;若相符則主站記錄當前升級終端升級成功,轉(zhuǎn)至第四步;若不相符則主站記錄當前升級終端文件轉(zhuǎn)移異常并轉(zhuǎn)至第四步。
6.根據(jù)權(quán)利要求5所述用戶用電信息采集終端遠程升級方法,其特征是,還包括位于第一步之前的主站準備步驟,所述主站準備步驟的具體過程如下: Cl.查詢采集終端程序版本,將需要升級的采集終端列入升級終端清單; C2.選擇程序升級文件,按所述整文件校驗算法得出整文件校驗數(shù)據(jù);將程序升級文件分割為若干幀文件塊,并按所述單幀校驗算法得出各幀文件塊的單幀校驗數(shù)據(jù); C3.將升級終端清單中的采集終端通信信道切換至升級信道;轉(zhuǎn)至第一步;所述第一步的具體過程為:主站在升級終端清單中選擇一采集終端為當前升級終端;還包括位于第四步之后的主站后續(xù)處理步驟,所述主站后續(xù)處理步驟的具體過程如下:查詢升級終端清單中各采集終端程序版本,并與本次程序升級文件的版本對比,將版本對比不一致的采集終端狀態(tài)記錄為升級狀態(tài)異常,將版本對比一致的采集終端通信信道切換至信息采集信道。
【文檔編號】H04L29/08GK103530153SQ201310471577
【公開日】2014年1月22日 申請日期:2013年10月11日 優(yōu)先權(quán)日:2013年10月11日
【發(fā)明者】高友會, 仝開樂, 周宇, 張建培 申請人:光一科技股份有限公司