基于上位機場景還原的下位機數(shù)據(jù)幀異常定位方法
【專利摘要】本發(fā)明提供一種基于上位機場景還原的下位機數(shù)據(jù)幀異常定位方法,其特征在于:地點1的上位機通信應用模塊,在與下位機的通信時,采集并保存下位機的正確數(shù)據(jù)文件和異常數(shù)據(jù)文件;將地點1的上位機保存的通信數(shù)據(jù)文件傳輸?shù)降攸c2的上位機上,地點2的上位機通信應用模塊通過回讀正確數(shù)據(jù)文件重現(xiàn)地點1的運行場景并進行獨立調(diào)試,回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題。本發(fā)明提出的通信應用模塊調(diào)試及場景還原方法,不再依賴下位機和技術(shù)支持人員,能夠自動化完成定位、對設備進行巡檢,提高了故障排除效率。
【專利說明】基于上位機場景還原的下位機數(shù)據(jù)幀異常定位方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別涉及下位機(DSP板卡,服務器等)通過網(wǎng)線、串口、USB口以及藍牙、WIFI等與PC、PDA等上位機終端設備通信時,通信應用模塊。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,人們社會生活水平的提高需要大量的通信軟件予以支撐。而在使用或者開發(fā)這些通信軟件時,常常會遇到各種問題。
[0003]在使用上位機和下位機模式的系統(tǒng)中,要解決這些問題,以往的辦法是通過下位機與上層應用軟件聯(lián)調(diào)來查找問題。這一方法在某些情況下,比如下位機設備緊張、開發(fā)人員不在問題發(fā)生地點等情況,就無法實現(xiàn)與上位機聯(lián)調(diào)解決,從而延遲了解決問題的第一時間,降低了工作效率。此外系統(tǒng)在非開發(fā)地點發(fā)生的應用問題,以前多采用技術(shù)支持人員向開發(fā)人員描述現(xiàn)場環(huán)境和現(xiàn)象的方式幫助定位問題,但這種方式存在描述不清晰等缺點。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)缺陷,實現(xiàn)了上位機的通信應用模塊脫離下位機獨立調(diào)試以及還原設備運行場景的功能。
[0005]本發(fā)明提出并實現(xiàn)了一種基于上位機場景還原的下位機數(shù)據(jù)幀異常定位方法,地點I的上位機通信應用模塊,在與下位機的通信時,采集并保存下位機的通信數(shù)據(jù)文件,所述通信數(shù)據(jù)文件包括正確數(shù)據(jù)文件和異常數(shù)據(jù)文件;將地點I的上位機保存的通信數(shù)據(jù)文件傳輸?shù)降攸c2的上位機上,地點2的上位機通信應用模塊通過回讀正確數(shù)據(jù)文件重現(xiàn)地點I的運行場景并進行獨立調(diào)試,回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題;
[0006]上位機通信應用模塊采集并保存下位機的正確數(shù)據(jù)文件和異常數(shù)據(jù)文件時,包括以下子步驟,
[0007]步驟101,啟動采集線程,
[0008]步驟102,判斷是否終止采集線程,是則采集線程結(jié)束,否則循環(huán)判斷消息幀是否到達,到達則進入步驟103;
[0009]步驟103,檢測消息幀是否為正確幀,是則進入步驟104,否則是異常幀,進入步驟106 ;
[0010]步驟104,把正確幀寫入正確數(shù)據(jù)文件FILEl ;
[0011]步驟105,對正確數(shù)據(jù)文件FILEl中的正確幀進行解析,然后返回步驟102 ;
[0012]步驟106,把異常幀寫入異常數(shù)據(jù)文件FILE2,然后返回步驟102 ;
[0013]上位機通信應用模塊通過回讀正確數(shù)據(jù)文件重現(xiàn)地點I的運行場景并獨立調(diào)試時,包括以下子步驟,
[0014]步驟201,啟動回讀線程;
[0015]步驟202,判斷是否終止回讀線程,是則回讀線程結(jié)束,否則進入步驟203 ;[0016]步驟203,計算正確數(shù)據(jù)文件FILEl尺度,尺度為FILEl字節(jié)數(shù)與幀最大長度的比值;
[0017]步驟204,判斷是否讀完正確數(shù)據(jù)文件FILE1,是則返回步驟202,否則進入步驟205 ;
[0018]步驟205,按幀長讀取正確數(shù)據(jù)文件FILE1,然后檢查讀取的幀是否正確,是則進入步驟206,否則并返回步驟204讀取下一個幀進行處理;
[0019]步驟206,解析消息幀,調(diào)試上位機各處理模塊,然后返回步驟204 ;
[0020]上位機通信應用模塊回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題時,包括以下子步驟,
[0021 ] 步驟301,啟動定位異常線程,計算異常數(shù)據(jù)文件FILE2尺度,尺度為FILE2字節(jié)數(shù)與幀最大長度的比值;
[0022]步驟302,判斷是否讀完異常數(shù)據(jù)文件FILE2,是則結(jié)束流程,否則進入步驟303 ;
[0023]步驟303,按幀長讀取異常數(shù)據(jù)文件FILE2 ;
[0024]步驟304,檢查讀取的幀是否正確,否則進入步驟305,是則進入步驟308 ;
[0025]步驟305,返回步驟302 ;
[0026]步驟306,定位獨立消息填充異常,記錄并返回步驟308 ;
[0027]步驟307,正確解析獨立消息,解析完畢返回步驟308 ;
[0028]步驟308,設一個幀中有k條獨立消息,判斷幀中k條獨立消息是否檢查完畢,是則返回步驟302,否則繼續(xù)執(zhí)行步驟309 ;
[0029]步驟309,從k條獨立消息中取一條未檢查的消息,檢查獨立消息是否正確,如果正確則跳到步驟307,否則跳到步驟306。
[0030]而且,步驟205和304檢查讀取的一個幀是否正確,實現(xiàn)方式為,驗證幀中的各獨立消息總體長度之和與幀頭中填充的長度是否相等,如果相等則該幀是正確的。
[0031 ] 而且,上位機通信應用模塊提供三種運行模式MODEl、M0DE2和M0DE3,
[0032]在MODEl下執(zhí)行采集并保存下位機的正確數(shù)據(jù)文件和異常數(shù)據(jù)文件,
[0033]在M0DE2下執(zhí)行通過回讀正確數(shù)據(jù)文件重現(xiàn)地點I的運行場景并獨立調(diào)試;
[0034]在M0DE3下執(zhí)行回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題。
[0035]本發(fā)明提出的通信應用模塊調(diào)試及場景還原方法,不再依賴下位機和技術(shù)支持人員,能夠自動化完成定位、對設備進行巡檢,提高了故障排除效率。
【專利附圖】
【附圖說明】
[0036]圖1是本發(fā)明實施例的通信應用模塊三種運行模式對應的處理流程。
[0037]圖2是本發(fā)明實施例的上位機采集、分析、保存與下位機通信的數(shù)據(jù)文件的流程圖。
[0038]圖3是本發(fā)明實施例的本發(fā)明實施例的上位機回讀正確數(shù)據(jù)文件獨立調(diào)試的流程圖。
[0039]圖4是本發(fā)明實施例的上位機回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題的流程圖。
[0040]圖5是本發(fā)明實施例的原理圖?!揪唧w實施方式】
[0041 ] 結(jié)合附圖,提供本發(fā)明實施例具體描述如下。
[0042]以下結(jié)合附圖對本發(fā)明采用通信應用模塊處理下位機數(shù)據(jù)幀數(shù)據(jù)調(diào)試及場景還原方法進行說明。
[0043]參見圖5,這種方法的原理:地點I的上位機通信應用模塊,在與下位機經(jīng)過通信鏈路的通信時,采集并保存下位機的通信數(shù)據(jù)文件(簡稱數(shù)據(jù)文件F,包括正確數(shù)據(jù)文件和異常數(shù)據(jù)文件);將地點I保存的通信數(shù)據(jù)文件在地點2的上位機通信應用模塊進行回放分析或調(diào)試,可以重現(xiàn)系統(tǒng)應用的地點I的運行場景以及脫離地點I的下位機進行獨立調(diào)試。具體實施時,地點I保存的通信數(shù)據(jù)文件可從地點I的上位機通過網(wǎng)絡傳輸?shù)降攸c2的上位機;或者用U盤等方式拷貝入地點2的上位機。
[0044]具體實施時,本發(fā)明對現(xiàn)有技術(shù)中的通信應用模塊進行改進,可在通信應用模塊中定義M0DE1、M0DE2和M0DE3三種運行模式,這樣任意地點的上位機,可根據(jù)需要設定通信應用模塊的運行模式。如圖1所示,其中MODEl為采集模式,M0DE2時為回讀歷史模式,M0DE3為正常運行模式。在M0DE1、M0DE2和M0DE3三種模式下,都會執(zhí)行解析,具體實施時通信應用模塊中可設置解析模塊用于完成解析工作,解析過程實現(xiàn)可參考現(xiàn)有技術(shù)。
[0045]MODEl和M0DE2的區(qū)別與聯(lián)系:
[0046]MODEl采集模式時,通信應用模塊處理數(shù)據(jù)為下位機上傳的實時通信數(shù)據(jù)。當通信應用模塊接收下位機上傳數(shù)據(jù)后,首先執(zhí)行了一個采集即保存原始二進制數(shù)據(jù)流的操作,然后再執(zhí)行解析模塊;這一處理流程確保MODEl采集的數(shù)據(jù)是無修改的原始數(shù)據(jù),由此可以保證M0DE2回讀數(shù)據(jù)與原工作場景數(shù)據(jù)的是完全相同的。
[0047]M0DE2回讀歷史模式時,通信應用模塊處理的數(shù)據(jù)不再是下位機實時的上傳數(shù)據(jù),而是在MODEl時保存的無修改數(shù)據(jù);相同點在于M0DE2執(zhí)行的解析模塊與MODEl執(zhí)行的解析模塊是完全相同的,或者說是同一個解析模塊。由于解析數(shù)據(jù)相同,解析模塊相同,所以,在地點2將通信應用模塊設置處理模式M0DE2時,將MODEl時采集的數(shù)據(jù)按照原數(shù)據(jù)解析模塊重新解析,可以再現(xiàn)原采集數(shù)據(jù)場景。
[0048]另外,M0DE3為正常運行模式,不采集數(shù)據(jù),當消息幀到達時采用同樣的解析模塊進行解析。
[0049]根據(jù)以上說明,在地點I,設置運行模式MODEl,運行通信應用模塊,按二進制格式采集下位機上傳的數(shù)據(jù)幀,并對該數(shù)據(jù)幀進行分析和處理;經(jīng)過處理可以根據(jù)數(shù)據(jù)的校驗結(jié)果分別保存正確數(shù)據(jù)文件FILEl并解析或保存異常數(shù)據(jù)文件FILE2,并對正確數(shù)據(jù)文件FILEl中的正確幀進行解析。在地點2,設置運行模式M0DE2,運行通信應用模塊,回讀數(shù)據(jù)文件FILEl并進行解析,則可以重現(xiàn)系統(tǒng)應用地點的運行場景,并調(diào)試模塊代碼,從而脫離下位機實現(xiàn)獨立調(diào)試;回讀數(shù)據(jù)文件FILE2,可以從異常數(shù)據(jù)文件FILE2中定位下位機發(fā)送的異常幀,并確定導致異常數(shù)據(jù)幀錯誤的原因,然后把這一問題通知下位機予以解決,或向相關(guān)技術(shù)人員發(fā)出告警。
[0050]具體實施時,本領(lǐng)域技術(shù)人員可自行預設下位機發(fā)往上位機的消息格式。為便于實施參考起見,提供實施例中下位機發(fā)往上位機的消息格式如下表:
[0051]表1:通信協(xié)議之消息幀幀接口結(jié)構(gòu)表通信協(xié)議之消息幀幀接口結(jié)構(gòu)表[0052]
【權(quán)利要求】
1.一種基于上位機場景還原的下位機數(shù)據(jù)幀異常定位方法,其特征在于:地點I的上位機通信應用模塊,在與下位機的通信時,采集并保存下位機的通信數(shù)據(jù)文件,所述通信數(shù)據(jù)文件包括正確數(shù)據(jù)文件和異常數(shù)據(jù)文件;將地點I的上位機保存的通信數(shù)據(jù)文件傳輸?shù)降攸c2的上位機上,地點2的上位機通信應用模塊通過回讀正確數(shù)據(jù)文件重現(xiàn)地點I的運行場景并進行獨立調(diào)試,回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題; 上位機通信應用模塊采集并保存下位機的正確數(shù)據(jù)文件和異常數(shù)據(jù)文件時,包括以下子步驟, 步驟101,啟動采集線程, 步驟102,判斷是否終止采集線程,是則采集線程結(jié)束,否則循環(huán)判斷消息幀是否到達,到達則進入步驟103 ; 步驟103,檢測消息幀是否為正確幀,是則進入步驟104,否則是異常幀,進入步驟106 ; 步驟104,把正確幀寫入正確數(shù)據(jù)文件FILEl ; 步驟105,對正確數(shù)據(jù)文件FILEl中的正確幀進行解析,然后返回步驟102 ; 步驟106,把異常幀寫入異常數(shù)據(jù)文件FILE2,然后返回步驟102 ; 上位機通信應用模塊通過回讀正確數(shù)據(jù)文件重現(xiàn)地點I的運行場景并獨立調(diào)試時,包括以下子步驟, 步驟201,啟動回讀線程; 步驟202,判斷是否終止回讀線程,是則回讀線程結(jié)束,否則進入步驟203 ; 步驟203,計算正確數(shù)據(jù)文件FILEl尺度,尺度為FILEl字節(jié)數(shù)與幀最大長度的比值;步驟204,判斷是否讀完正確數(shù)據(jù)文件FILEl,是則返回步驟202,否則進入步驟205 ;步驟205,按幀長讀取正確數(shù)據(jù)文件FILE1,然后檢查讀取的幀是否正確,是則進入步驟206,否則并返回步驟204讀取下一個幀進行處理; 步驟206,解析消息幀,調(diào)試上位機各處理模塊,然后返回步驟204 ; 上位機通信應用模塊回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題時,包括以下子步驟,步驟301,啟動定位異常線程,計算異常數(shù)據(jù)文件FILE2尺度,尺度為FILE2字節(jié)數(shù)與幀最大長度的比值; 步驟302,判斷是否讀完異常數(shù)據(jù)文件FILE2,是則結(jié)束流程,否則進入步驟303 ; 步驟303,按幀長讀取異常數(shù)據(jù)文件FILE2 ; 步驟304,檢查讀取的幀是否正確,否則進入步驟305,是則進入步驟308 ; 步驟305,返回步驟302 ; 步驟306,定位獨立消息填充異常,記錄并返回步驟308 ; 步驟307, 正確解析獨立消息,解析完畢返回步驟308 ; 步驟308,設一個幀中有k條獨立消息,判斷幀中k條獨立消息是否檢查完畢,是則返回步驟302,否則繼續(xù)執(zhí)行步驟309 ; 步驟309,從k條獨立消息中取一條未檢查的消息,檢查獨立消息是否正確,如果正確則跳到步驟307,否則跳到步驟306。
2.根據(jù)權(quán)利要求1所述基于上位機場景還原的下位機數(shù)據(jù)幀異常定位方法,其特征在于:步驟205和304檢查讀取的一個幀是否正確,實現(xiàn)方式為,驗證幀中的各獨立消息總體長度之和與幀頭中填充的長度是否相等,如果相等則該幀是正確的。
3.根據(jù)權(quán)利要求1或2所述基于上位機場景還原的下位機數(shù)據(jù)幀異常定位方法,其特征在于:上位機通信應用模塊提供三種運行模式MODEl、M0DE2和M0DE3, 在MODEl下執(zhí)行采集并保存下位機的正確數(shù)據(jù)文件和異常數(shù)據(jù)文件, 在M0DE2下執(zhí)行通過回讀正確數(shù)據(jù)文件重現(xiàn)地點I的運行場景并獨立調(diào)試; 在M0DE3下執(zhí)行回讀異常數(shù)據(jù)文件定位通信數(shù)據(jù)異常問題。
【文檔編號】H04L12/26GK103684915SQ201310686910
【公開日】2014年3月26日 申請日期:2013年12月16日 優(yōu)先權(quán)日:2013年12月16日
【發(fā)明者】劉曉東 申請人:武漢虹信通信技術(shù)有限責任公司