基于can總線數據存儲的方法及其系統的制作方法
【技術領域】
[0001]本發明涉及計算機通信領域,特別是涉及一種車用CAN總線數據存儲的方法及其系統。
【背景技術】
[0002]CAN (Controller Area Network,控制器局域網絡)總線以其穩定、高速的特點已經廣泛應用于汽車車身的數據通信,使用CAN總線來進行數據通信已成為車載應用的最好選擇。但是,在某個操作系統上數據的獲取往往是獨占的,只能由單個應用程序來獲取,這樣其他需要相同數據的應用程序就無法正常工作。
[0003]然而,現有的CAN總線數據存儲,通常以Excel表形式存儲,且Excel表存儲行數存在限制,因此,當產生CAN總線數據時往往會產生多個單個文件,不便于查詢和分享。例如,當一臺電腦和一個采集裝置連接而成的CAN總線網路,采集的CAN總線數據保存于該電腦的單個文件中,不能同時調用多組數據分析處理和比較;如果需要對多組數據比較,則需額外花費時間處理多組數據;如果要實現多個電腦查詢,則只能將該數據拷貝至其它終端,缺之尚效管理的能力。
【發明內容】
[0004]鑒于以上所述現有技術的缺點,本發明的目的在于提供一種基于CAN總線數據存儲的方法及其系統,用于解決現有技術中CAN總線數據存儲時,無法將CAN總線數據分享和查詢的問題。
[0005]為實現上述目的及其他相關目的,本發明提供一種基于CAN總線數據存儲的方法,包括:
[0006]采集CAN總線數據;
[0007]將所述CAN總線數據以數據包的形式傳輸至服務器緩存,且生成相應數據庫臨時表;
[0008]根據采集裝置名與數據源名分類所述數據庫臨時表內的CAN總線數據,生成相應的新數據包;
[0009]根據預設分類標準依次判斷所述數據庫是否需存儲該新數據包,如果按預設分類標準所述數據庫不存在相應數據包,則將該新數據包保存于數據庫;如果按照預設分類標準所述數據庫存在相應數據包,則刪除該新數據包。
[0010]優選地,所述CAN總線數據以數據包的形式傳輸至服務器緩存,具體為:
[0011]CAN總線數據傳輸的方式包括移動網絡、有線以太網和USB網絡中任意一種或多種。
[0012]優選地,所述根據采集裝置名與數據源名分類所述數據庫臨時表內的CAN總線數據,生成相應的新數據包,具體為:
[0013]其中,分類所述CAN總線數據的標準還包括通道號、采集時間、數據長度和CAN總線ID,根據所述分類標準將所述CAN總線數據生成相應的新數據包。
[0014]優選地,所述新數據包按照分類所述CAN總線數據的標準生成其對應的標識符,以區分新數據包。
[0015]優選地,所述根據預設分類標準依次判斷所述數據庫是否需存儲該新數據包,如果按預設分類標準所述數據庫不存在相應數據包,則將該新數據包保存于數據庫;如果按照預設分類標準所述數據庫存在相應數據包,則刪除該新數據包,具體為:
[0016]服務器根據預設分類標準依次將新數據包在數據庫內進行匹配,判斷是否存在相應分類標準的數據包如果按照預設分類標準所述數據庫存在相應數據包,則將臨時表內緩存的該新數據包刪除;如果按預設分類標準所述數據庫不存在相應數據包,則根據該新數據包的設備名與數據源名為表名,新建相應的數據表保存該新數據包;
[0017]循環處理新數據包,直到所述臨時表內無數據包為止,退出程序。
[0018]本發明的另一目的在于提供一種基于CAN總線數據存儲的系統,包括:
[0019]采集裝置,適用于采集CAN總線數據;
[0020]傳輸單元,適用于將所述CAN總線數據以數據包的形式傳輸至服務器緩存;
[0021 ] 服務器,適用于根據采集裝置名與數據源名分類所述數據庫臨時表內的CAN總線數據,生成相應的新數據包;還適用于根據預設分類標準依次判斷所述數據庫是否需存儲該新數據包,如果按預設分類標準所述數據庫不存在相應數據包,則將該新數據包保存于數據庫;如果按照預設分類標準所述數據庫存在相應數據包,則刪除該新數據包;
[0022]數據庫,適用于緩存CAN總線數據,且根據所述CAN總線數據生成相應數據庫臨時表和根據服務器指令存儲新數據包。
[0023]優選地,所述傳輸單元的傳輸方式包括移動網絡、有線以太網和USB網絡中任意一種或多種。
[0024]優選地,所述服務器根據所述CAN總線數據的預設分類標準將所述CAN總線數據生成相應的新數據包,其中,所述預設分類標準包括通道號、采集時間、數據長度和CAN總線ID。
[0025]優選地,所述新數據包按照分類所述CAN總線數據的標準生成其對應的標識符,以區分新數據包。
[0026]優選地,所述服務器具體適用于根據預設分類標準依次將新數據包在數據庫內進行匹配,判斷是否存在相應分類標準的數據包,如果按照預設分類標準所述數據庫存在相應數據包,則將臨時表內緩存的該新數據包刪除;如果按預設分類標準所述數據庫不存在相應數據包,則刪除該新數據包;
[0027]循環處理新數據包,直到所述臨時表內無數據包為止,退出程序。
[0028]如上所述,本發明的基于CAN總線數據存儲的方法及其系統,具有以下有益效果:
[0029]通過構建CAN總線網絡,將采集的CAN總線數據通過不同地上傳方式傳輸至服務器,服務器根據不同采集裝置與CAN數據源的類別不同,將接收的總線數據按照上述方式重新分類,形成類似不同識別碼的新數據包(即,新數據包),一一核實篩選數據庫中是否存儲新數據包,將新數據包依次存儲。不僅可同時供多個客戶端查詢和處理數據庫的多組數據,實現CAN總線數據的高效管理;還避免重復存儲,節省了數據庫存儲的資源;通過多種傳輸方式并用,提升了數據庫存儲的效率。
【附圖說明】
[0030]圖1顯示為本發明實施例中的一種基于CAN總線數據存儲的方法流程圖;
[0031]圖2顯示為本發明實施例中的一種基于CAN總線數據存儲的網絡拓撲圖;
[0032]圖3顯示為本發明實施例中的一種基于CAN總線數據存儲的系統框架圖。
[0033]元件標號說明:
[0034]1、客戶端,2、采集裝置,3、傳輸單元,4、服務器,5、數據庫,6、交換機,7、移動網絡,
8、USB網絡。
【具體實施方式】
[0035]以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節也可以基于不同觀點與應用,在沒有背離本發明的精神下進行各種修飾或改變。
[0036]請參閱圖1至圖3。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發明的基本構想,遂圖式中僅顯示與本發明中有關的組件而非按照實際實施時的組件數目、形狀及尺寸繪制,其實際實施時各組件的型態、數量及比例可為一種隨意的改變,且其組件布局型態也可能更為復雜。
[0037]實施例1
[0038]如圖1所示,為本發明實施例中的一種基于CAN總線數據存儲的方法流程圖,詳述如下:
[0039]在步驟S101中,采集CAN總線數據;
[0040]其中,采集CAN總線數據的方式為采集裝置2,該采集裝置2通過節點連接CAN總線,當檢測到總線有數據時,直接采集CAN總線數據。
[0041]在步驟S102中,將所述CAN總線數據以數據包的形式傳輸至服務器4緩存,且生成相應數據庫5臨時表;
[0042]其中,CAN總線數據被打包成數據包,以數據包的形式發送至服務器4,服務器4與采集裝置2之間可通過移動網絡7、有線以太網、USB網絡8連接,服務器4接收到該數據包,在數據庫5內生成臨時表,用于緩存該數據包。
[0043]在步驟S103中,根據采集裝置2名與數據源名分類所述數據庫5臨時表內的CAN總線數據,生成相應的新數據包;
[0044]其中,采集裝置2名為采集裝置2的編號名稱,所述預設分類標準包括CAN總線ID、通道號、數據長度、采集時間,所述數據庫5按照采集裝置2名與數據源名分類臨時時表內的CAN總線數據,生成的新數據包相當于具有唯一標識符的數據包,以新數據包的形式緩存于臨時表內。
[0045]所述新數據包按照預設分類標注對所述CAN總線數據生成其對應的標識符,以方便服務器4區分新數據包。
[0046]在步驟S104中,根據預設分類標準依次判斷所述數據庫5是否需存儲該新數據包,如果按預設分類標準所述數據庫5不存在相應數據包,則將該新數據包保存于數據庫5;如果按照預設分類標準所述數據庫5存在相應數據包,則刪除該新數據包。
[0047]其中,所述服務器4根據預設分類標準依次將新數據包在數據庫5內進行匹配,判斷是否存在相應分類標準的數據包,如果按照預設分類標準所述數據庫5存在相應數據包,則將臨時表內緩存的該新數據包刪除;如果按預設分類標準所述數據庫5不存在相應數據包,則刪除該新數據包;
[0048]循環處理新數據包,直到所述臨時表內無數據包為止,退出程序循環處理新數據包,直到所述臨時表內無數據包為止,退出程序。
[0049]在本實施例中,通過將采集裝置2、服務器4與數據庫5之間建立物理連接,實現連通物理通道,設定調節采集裝置2和CAN總線網路的波特率一致,以致采集裝置2將CAN總線數據采集至CAN總線網絡。
[0050]在本實施例中,通過構建CAN總線網絡,將采集的CAN總線數據通過不同地上傳方式傳輸至服務器4,服務器4根據不同采集裝置2與CAN數據源的類別不同,將接收的總線數據按照上述方