車輛obd數(shù)據(jù)處理裝置的制造方法
【專利摘要】本發(fā)明實施例公開一種車輛OBD數(shù)據(jù)處理裝置,能夠提高OBD數(shù)據(jù)處理準確度,從而更準確的得出車輛的狀態(tài)。該裝置包括:數(shù)據(jù)接入模塊、數(shù)據(jù)處理模塊、業(yè)務助理模塊、數(shù)據(jù)展示模塊,本發(fā)明實施例的車輛OBD數(shù)據(jù)處理裝置,接收OBD設備上報的車輛數(shù)據(jù)消息,將消息進行協(xié)議轉換,并對承載的數(shù)據(jù)進行處理,能夠提高OBD數(shù)據(jù)處理準確度,從而更準確的得出車輛的狀態(tài)。
【專利說明】
車輛OBD數(shù)據(jù)處理裝置
技術領域
[0001 ]本發(fā)明涉及汽車領域,尤其涉及一種車輛0BD數(shù)據(jù)處理裝置?!颈尘凹夹g】
[0002]目前車輛已經(jīng)基本普及0BD(0n-Board Diagnostic,車載診斷系統(tǒng))接口,通過0BD 接口可以讀取車輛運行狀態(tài)、故障等信息。通常,從0BD接口讀取的數(shù)據(jù)為原始數(shù)據(jù),需經(jīng)過處理從而得知車輛狀態(tài)。因此,數(shù)據(jù)0BD數(shù)據(jù)處理的精準程度,對了解車輛狀態(tài)至關重要。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例提供一種車輛0BD數(shù)據(jù)處理裝置,能夠提高0BD數(shù)據(jù)處理準確度,從而精準了解車輛狀態(tài)。
[0004]本發(fā)明實施例采用如下技術方案:
[0005]—種車輛0BD數(shù)據(jù)處理裝置,包括:數(shù)據(jù)接入模塊、數(shù)據(jù)處理模塊、業(yè)務助理模塊、 數(shù)據(jù)展示模塊;
[0006]所述數(shù)據(jù)接入模塊包括:接入網(wǎng)關、協(xié)議適配器、數(shù)據(jù)解析處理器;
[0007]所述接入網(wǎng)關,用于通過TCP傳輸協(xié)議接收0BD設備上報的車輛數(shù)據(jù)消息,對所述車輛數(shù)據(jù)進行節(jié)流緩存;按照協(xié)議規(guī)則確定所述車輛數(shù)據(jù)消息長度,根據(jù)所述車輛數(shù)據(jù)消息長度截取緩存的車輛數(shù)據(jù)消息中數(shù)據(jù)包;
[0008]所述協(xié)議適配器,用于將截取后的數(shù)據(jù)包進行協(xié)議適配,確定匹配的接入?yún)f(xié)議;
[0009]所述數(shù)據(jù)解析處理器,用于對所述數(shù)據(jù)包中數(shù)據(jù)進行解析,將數(shù)據(jù)由字節(jié)流轉換為協(xié)議數(shù)據(jù)實體,得到解析后的數(shù)據(jù),根據(jù)所述接入?yún)f(xié)議將所述解析后的數(shù)據(jù)發(fā)送到所述數(shù)據(jù)解析處理模塊;
[0010]所述數(shù)據(jù)處理模塊包括:協(xié)議數(shù)據(jù)消息隊列子模塊、第一消息接收客戶端、數(shù)據(jù)算法處理器;
[0011]所述協(xié)議數(shù)據(jù)消息隊列子模塊,用于對所述解析后的數(shù)據(jù)進行驗證,得到驗證后的數(shù)據(jù);
[0012]所述第一消息接收客戶端,用于根據(jù)所述接入?yún)f(xié)議,將所述驗證后的數(shù)據(jù)轉換為原始數(shù)據(jù);
[0013]所述數(shù)據(jù)算法處理器,用于將所述原始數(shù)據(jù)攜帶于原始數(shù)據(jù)消息隊列中傳輸至所述業(yè)務處理模塊;
[0014]所述業(yè)務處理模塊包括:第二消息接收客戶端、業(yè)務算法處理器;[〇〇15]所述第二消息接收客戶端,用于接收所述原始數(shù)據(jù)消息隊列中的所述原始數(shù)據(jù), 對所述原始數(shù)據(jù)進行驗證,得到驗證后的原始數(shù)據(jù);
[0016]所述業(yè)務算法處理器,用于將所述驗證后的原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù),按照HTTP 傳輸協(xié)議,將所述業(yè)務數(shù)據(jù)推送到所述數(shù)據(jù)展示模塊;
[0017]所述數(shù)據(jù)展示模塊,用于根據(jù)所述業(yè)務數(shù)據(jù)確定車輛狀態(tài),并顯示所述車輛狀態(tài)。
[0018]可選的,還包括:傳輸控制模塊;
[0019]所述業(yè)務算法處理器,還用于將所述業(yè)務數(shù)據(jù)推送到所述傳輸控制模塊;
[0020]所述傳輸控制模塊包括:第一業(yè)務API模塊;
[0021]所述第一業(yè)務API模塊,用于接收所述業(yè)務數(shù)據(jù),應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述數(shù)據(jù)展示模塊。
[0022]可選的,所述傳輸控制模塊還包括:動態(tài)數(shù)據(jù)緩存子模塊、通知服務子模塊;[〇〇23]所述第一業(yè)務API模塊應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述動態(tài)數(shù)據(jù)緩存子模塊;[〇〇24] 或者,所述第一業(yè)務API模塊應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述通知服務子模塊,所述通知服務子模塊將數(shù)據(jù)推送至所述數(shù)據(jù)展示模塊。[〇〇25]可選的,所述業(yè)務處理模塊還包括:原始數(shù)據(jù)消息隊列子模塊、靜態(tài)數(shù)據(jù)緩存模塊緩存業(yè)務數(shù)據(jù);
[0026]所述第二消息接收客戶端通過所述原始數(shù)據(jù)消息隊列子模塊接收所述原始數(shù)據(jù)消息隊列中的所述原始數(shù)據(jù);
[0027]所述業(yè)務算法處理器,用于根據(jù)存儲的標準業(yè)務模型,綜合所述靜態(tài)數(shù)據(jù)緩存模塊緩存的業(yè)務數(shù)據(jù),將所述驗證后的原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù),按照HTTP傳輸協(xié)議,將所述業(yè)務數(shù)據(jù)推送到所述數(shù)據(jù)展示模塊。
[0028]可選的,所述數(shù)據(jù)展示模塊包括訂閱通知客戶端、第一應用客戶端;
[0029]所述訂閱通知客戶端實時接收所述傳輸控制模塊推送的通知,將收到的通知轉發(fā)到所述第一應用客戶端;
[0030]所述第一應用客戶端顯示通知消息和車輛運行數(shù)據(jù)。
[0031]可選的,還包括:遠程控制模塊,所述遠程控制模塊連接所述傳輸控制模塊、并連接所述0BD設備;
[0032]所述遠程控制模塊包括:第二應用客戶端、第二業(yè)務API模塊、短信模塊;[〇〇33]所述第二應用客戶端向所述第二業(yè)務API模塊發(fā)起遠程控制請求,所述第二業(yè)務 API模塊收到請求后,按照所述0BD設備接入?yún)f(xié)議組織遠程控制消息包,并經(jīng)所述短信模塊下發(fā)到所述0BD設備。
[0034]可選的,所述車輛數(shù)據(jù)消息包含協(xié)議頭、協(xié)議體、效驗碼,所述協(xié)議體位于所述協(xié)議頭之后,所述效驗碼位于所述協(xié)議體之后;
[0035]所述協(xié)議頭包含消息包長度字段、協(xié)議版本字段、加密方式字段,所述消息體包含消息頭字段、命令字字段、車輛識別碼字段、消息體字段;
[0036]所述協(xié)議包長度字段為2個字節(jié),所述協(xié)議包長度字段標識了消息包長度,所述協(xié)議包長度=協(xié)議頭長度+加密后的協(xié)議體長度+校驗碼長度,協(xié)議版本字段標識了協(xié)議版本,所述加密方式字段標識了所述消息體中所述消息頭字段及所述消息體字段的加密方式;[〇〇37]所述消息體用于定義所述車輛0BD數(shù)據(jù)處理裝置與所述0BD設備之間操作內(nèi)容, 所述消息頭字段攜帶命令字及車輛識別碼,所述命令字字段用于確定操作類型,所述車輛識別碼字段攜帶車輛識別碼;
[0038]所述效驗碼經(jīng)過對所述消息頭部分中消息包長度字段以外的字節(jié)及所述消息體部分的全部字節(jié)進行異或運算得到。
[0039]可選的,所述0BD設備采集所述車輛數(shù)據(jù)消息步驟包括:
[0040]確定命令字字段、車輛識別碼,組成消息頭,所述命令字字段標識車輛數(shù)據(jù)消息的類型;[〇〇41 ]確定消息體,所述消息體攜帶所述車輛數(shù)據(jù)消息內(nèi)容;
[0042]將協(xié)議頭中協(xié)議版本字段及加密方式字段,消息頭、消息體中所有字節(jié)依次進行異或得到校驗碼;
[0043]對消息頭、消息體進行加密,形成協(xié)議體;
[0044]將消息頭長度+加密后的消息體長度+校驗碼長度,得到協(xié)議包長度;
[0045]將消息頭、消息體、校驗碼三部分組合,形成所述車輛數(shù)據(jù)消息。
[0046]可選的,所述接入網(wǎng)關按照協(xié)議規(guī)則確定所述車輛數(shù)據(jù)消息長度,根據(jù)所述車輛數(shù)據(jù)消息長度截取緩存的車輛數(shù)據(jù)消息中數(shù)據(jù)包包括:
[0047]從字節(jié)流中讀取2個字節(jié),確定協(xié)議數(shù)據(jù)包長度;
[0048]根據(jù)協(xié)議包長度,讀取整個協(xié)議數(shù)據(jù)包;
[0049]根據(jù)協(xié)議中規(guī)定協(xié)議頭長度,解析協(xié)議頭,找到協(xié)議版本和加密方式;[0050 ]根據(jù)協(xié)議包長度、協(xié)議頭長度算出加密后的協(xié)議體長度,加密后的協(xié)議體長度= 協(xié)議包長度-協(xié)議頭長度-校驗碼長度;[0051 ]按照協(xié)議版本和加密方式,對協(xié)議體進行解密,得出消息頭和消息頭;[〇〇52]從協(xié)議包中讀取校驗碼;
[0053]將協(xié)議頭中協(xié)議版本字段及加密方式字段,消息頭,消息體中所有字節(jié)依次進行異或得到校驗碼;
[0054]將得到的校驗碼與得到的校驗碼對比,如果相同,則消息合法,否則為非法消息; [〇〇55]根據(jù)得到的協(xié)議版本,確定0BD設備接入?yún)f(xié)議;[〇〇56]根據(jù)0BD設備接入?yún)f(xié)議,解析合法消息,得到消息頭和消息體;[〇〇57]根據(jù)0BD設備接入?yún)f(xié)議,解析消息頭得到命令字,確定消息類型;[〇〇58]根據(jù)0BD設備接入?yún)f(xié)議,綜合命令字字段,解析消息體,得到所述車輛數(shù)據(jù)消息攜帶數(shù)據(jù)。
[0059]可選的,所述車輛數(shù)據(jù)消息包括實時監(jiān)控消息、報警消息中至少一種。
[0060]基于上述技術方案的車輛0BD數(shù)據(jù)處理裝置,接收0BD設備上報的車輛數(shù)據(jù)消息, 將消息進行協(xié)議轉換,并對承載的數(shù)據(jù)進行處理,能夠提高0BD數(shù)據(jù)處理準確度,從而更準確的得出車輛的狀態(tài)。
[0061]應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開?!靖綀D說明】[〇〇62]此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。[〇〇63]圖1為本發(fā)明實施例提供的車輛0BD數(shù)據(jù)處理裝置的結構示意圖之一;[〇〇64]圖2為本發(fā)明實施例提供的車輛0BD數(shù)據(jù)處理裝置的結構示意圖之二;
[0065]圖3為本發(fā)明實施例提供的車輛0BD數(shù)據(jù)處理裝置的結構示意圖之三;[〇〇66]圖4為本發(fā)明實施例提供的車輛0BD數(shù)據(jù)處理裝置的結構示意圖之四;[〇〇67]圖5為本發(fā)明實施例提供的車輛0BD數(shù)據(jù)處理裝置的結構示意圖之五;[〇〇68]圖6為本發(fā)明實施例提供的車輛0BD數(shù)據(jù)處理裝置的結構示意圖之六;[〇〇69]圖7為本發(fā)明實施例提供的車輛0BD數(shù)據(jù)處理裝置的結構示意圖之七;
[0070]圖8為本發(fā)明實施例提供的車輛數(shù)據(jù)消息協(xié)議格式示意圖;[0071 ]圖9為本發(fā)明實施例提供的報警消息處理流程圖;[〇〇72]圖10為本發(fā)明實施例提供的監(jiān)控消息處理流程圖?!揪唧w實施方式】
[0073]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。[〇〇74]本發(fā)明實施例中的0BD設備可以為能夠從車輛0BD接口讀取數(shù)據(jù)的設備,也可以為傳輸0BD數(shù)據(jù)(0BD數(shù)據(jù)從0BD接口讀出)的設備,或者存儲0BD數(shù)據(jù)(0BD數(shù)據(jù)從0BD接口讀出) 的設備,本發(fā)明實施例不做限定。本發(fā)明實施例中,Hadoop為分布式系統(tǒng)基礎架構,能夠?qū)崿F(xiàn)分布式文件系統(tǒng);fffiase[OO75] Hadoop database為分布式非結構化數(shù)據(jù)庫;Zookeeper為分布式應用程序協(xié)調(diào)服務。[〇〇76] 實施例1[〇〇77]如圖1所示,本發(fā)明實施例提供一種車輛0BD數(shù)據(jù)處理裝置,包括:數(shù)據(jù)接入模塊 11、數(shù)據(jù)處理模塊12、業(yè)務助理模塊13、數(shù)據(jù)展示模塊14,本發(fā)明實施例中,各模塊之間可以通過數(shù)據(jù)訪問接口連接,該數(shù)據(jù)訪問接口可以設置在車輛0BD數(shù)據(jù)處理裝置的數(shù)據(jù)支持模塊。[〇〇78]所述數(shù)據(jù)接入模塊11包括:接入網(wǎng)關111、協(xié)議適配器112、數(shù)據(jù)解析處理器113; [〇〇79]所述接入網(wǎng)關111,用于通過TCP傳輸協(xié)議接收0BD設備10上報的車輛數(shù)據(jù)消息,對所述車輛數(shù)據(jù)進行節(jié)流緩存;按照協(xié)議規(guī)則確定所述車輛數(shù)據(jù)消息長度,根據(jù)所述車輛數(shù)據(jù)消息長度截取緩存的車輛數(shù)據(jù)消息中數(shù)據(jù)包。本發(fā)明實施例中,0BD設備10可以實時上報車輛數(shù)據(jù)消息,或者滿足預設條件后上報車輛數(shù)據(jù)消息。
[0080]所述協(xié)議適配器112,用于將截取后的數(shù)據(jù)包進行協(xié)議適配,確定匹配的接入?yún)f(xié)議。本發(fā)明實施例可以通過協(xié)議標識、通過數(shù)據(jù)格式等多種方式確定匹配的接入?yún)f(xié)議。[0081 ]所述數(shù)據(jù)解析處理器113,用于對所述數(shù)據(jù)包中數(shù)據(jù)進行解析,將數(shù)據(jù)由字節(jié)流轉換為協(xié)議數(shù)據(jù)實體,得到解析后的數(shù)據(jù),根據(jù)所述接入?yún)f(xié)議將所述解析后的數(shù)據(jù)發(fā)送到所述數(shù)據(jù)解析處理模塊12。[〇〇82]所述數(shù)據(jù)處理模塊12包括:協(xié)議數(shù)據(jù)消息隊列子模塊121、第一消息接收客戶端 122、數(shù)據(jù)算法處理器123;[〇〇83]所述協(xié)議數(shù)據(jù)消息隊列子模塊121,用于對所述解析后的數(shù)據(jù)進行驗證,得到驗證后的數(shù)據(jù);
[0084]所述第一消息接收客戶端122,用于根據(jù)所述接入?yún)f(xié)議,將所述驗證后的數(shù)據(jù)轉換為原始數(shù)據(jù);
[0085]所述數(shù)據(jù)算法處理器123,用于將所述原始數(shù)據(jù)攜帶于原始數(shù)據(jù)消息隊列中傳輸至所述業(yè)務處理模塊13。[〇〇86]所述業(yè)務處理模塊13包括:第二消息接收客戶端131、業(yè)務算法處理器132;
[0087]所述第二消息接收客戶端131,用于接收所述原始數(shù)據(jù)消息隊列中的所述原始數(shù)據(jù),對所述原始數(shù)據(jù)進行驗證,得到驗證后的原始數(shù)據(jù);[〇〇88]所述業(yè)務算法處理器132,用于將所述驗證后的原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù),按照 HTTP傳輸協(xié)議,將所述業(yè)務數(shù)據(jù)推送到所述數(shù)據(jù)展示模塊14。
[0089]所述數(shù)據(jù)展示模塊14,用于根據(jù)所述業(yè)務數(shù)據(jù)確定車輛狀態(tài),并顯示所述車輛狀〇
[0090]本發(fā)明實施例的車輛0BD數(shù)據(jù)處理裝置,接收0BD設備上報的車輛數(shù)據(jù)消息,將消息進行協(xié)議轉換,并對承載的數(shù)據(jù)進行處理,能夠提高0BD數(shù)據(jù)處理準確度,從而更準確的得出車輛的狀態(tài)。
[0091]本發(fā)明一個實施例中,數(shù)據(jù)接入模塊11可以采用圖2所示的架構,接入網(wǎng)關111通過TCP傳輸協(xié)議接收0BD設備10上報的車輛數(shù)據(jù)消息。接入網(wǎng)關111接收到數(shù)據(jù)后,進行字節(jié)流緩存處理,防止數(shù)據(jù)丟失;按照通用0BD設備接入?yún)f(xié)議傳輸規(guī)則,在協(xié)議頭中找到消息長度,根據(jù)消息長度截取緩存中數(shù)據(jù)包;將截取后的數(shù)據(jù)包,發(fā)送到協(xié)議適配器112,由協(xié)議適配器112進行協(xié)議適配,路由到適合的0BD設備接入?yún)f(xié)議;根據(jù)0BD設備接入?yún)f(xié)議將數(shù)據(jù)發(fā)送到數(shù)據(jù)解析處理器113,由數(shù)據(jù)解析處理器113對數(shù)據(jù)進行解析,數(shù)據(jù)由字節(jié)流轉換為協(xié)議數(shù)據(jù)實體。0BD設備上報數(shù)據(jù)由接入網(wǎng)關處理完畢后,遵循AMQP傳輸協(xié)議,將協(xié)議數(shù)據(jù)推送到數(shù)據(jù)處理模塊12。
[0092]本發(fā)明一個實施例中,數(shù)據(jù)處理模塊12可以采用圖3所示的架構,協(xié)議消息隊列子模塊121提供協(xié)議數(shù)據(jù)的路由并保證消息的傳遞。其包括消息交換機和消息隊列兩部分,消息交換機進行協(xié)議數(shù)據(jù)路由,消息隊列保證消息的傳遞。消息接收客戶端122接收協(xié)議數(shù)據(jù)消息隊列子模塊121的數(shù)據(jù),經(jīng)過數(shù)驗證后,發(fā)送到數(shù)據(jù)算法處理器123。數(shù)據(jù)算法處理器 123根據(jù)0BD設備接入?yún)f(xié)議,將協(xié)議數(shù)據(jù)轉換為原始數(shù)據(jù),將協(xié)議數(shù)據(jù)轉換為原始數(shù)據(jù)后,按照AMQP傳輸協(xié)議,將原始數(shù)據(jù)推送到業(yè)務處理模塊13。[〇〇93]如圖4所示,本發(fā)明一個實施例中,所述業(yè)務處理模塊13還包括:原始數(shù)據(jù)消息隊列子模塊133、靜態(tài)數(shù)據(jù)緩存模塊緩存業(yè)務數(shù)據(jù)134;
[0094]所述第二消息接收客戶端131通過所述原始數(shù)據(jù)消息隊列子模塊133接收所述原始數(shù)據(jù)消息隊列中的所述原始數(shù)據(jù);[〇〇95]所述業(yè)務算法處理器132,用于根據(jù)存儲的標準業(yè)務模型,綜合所述靜態(tài)數(shù)據(jù)緩存模塊134緩存的業(yè)務數(shù)據(jù),將所述驗證后的原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù),按照HTTP傳輸協(xié)議, 將所述業(yè)務數(shù)據(jù)推送到所述數(shù)據(jù)展示模塊14。
[0096]本發(fā)明一個實施例中,業(yè)務處理模塊13可以采用圖5所示的架構,原始消息隊列子模塊133提供原始數(shù)據(jù)的路由并保證消息的傳遞。其包括消息交換機和消息隊列兩部分,消息交換機進行原始數(shù)據(jù)路由,消息隊列保證消息的傳遞。第二消息接收客戶端131接收原始數(shù)據(jù)消息隊列子模塊的數(shù)據(jù),經(jīng)過數(shù)驗證后,發(fā)送到業(yè)務算法處理器132。數(shù)據(jù)算法處理器132根據(jù)標準業(yè)務模型,綜合靜態(tài)數(shù)據(jù)緩存模塊134中的業(yè)務數(shù)據(jù),將原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù),將原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù)后,按照HTTP傳輸協(xié)議,將業(yè)務數(shù)據(jù)推送到傳輸控制模塊 15或者數(shù)據(jù)顯示模塊14。[〇〇97]如圖6所示,本發(fā)明一個實施例中,該車輛0BD數(shù)據(jù)處理裝置還可以包括:傳輸控制模塊15;[〇〇98]所述業(yè)務算法處理器132,還用于將所述業(yè)務數(shù)據(jù)推送到所述傳輸控制模塊15; [〇〇99]所述傳輸控制模塊15包括:第一業(yè)務API模塊151;[〇1〇〇]所述第一業(yè)務API(應用程序編程接口,Applicat1n Programming Interface)模塊151,用于接收所述業(yè)務數(shù)據(jù),應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述數(shù)據(jù)展不豐旲塊14。
[0101]如圖6所示,本發(fā)明一個實施例中,所述傳輸控制模塊15還可以包括:動態(tài)數(shù)據(jù)緩存子模塊152、通知服務子模塊153;
[0102]所述第一業(yè)務API模塊151應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述動態(tài)數(shù)據(jù)緩存子模塊;[〇1〇3]或者,所述第一業(yè)務API模塊151應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述通知服務子模塊153,所述通知服務子模塊153將數(shù)據(jù)推送至所述數(shù)據(jù)展示模塊14。[〇1〇4]本發(fā)明一個實施例中,傳輸控制模塊15中第一業(yè)務API模塊151接收業(yè)務處理模塊 13推送的業(yè)務數(shù)據(jù),經(jīng)業(yè)務算法處理后,根據(jù)需要,或?qū)?shù)據(jù)存入動態(tài)數(shù)據(jù)緩存子模塊152, 或?qū)?shù)據(jù)發(fā)送到通知服務子模塊153,或?qū)?shù)據(jù)被動發(fā)送到數(shù)據(jù)展示模塊14。通知服務子模塊153收到通知消息后,將通知推送到數(shù)據(jù)展示模塊14。傳輸控制模塊15與數(shù)據(jù)展示模塊14 之間通信遵循HTTP傳輸協(xié)議。
[0105]如圖7所示,本發(fā)明一個實施例中,所述數(shù)據(jù)展示模塊14包括訂閱通知客戶端 141、第一應用客戶端142;
[0106]所述訂閱通知客戶端141實時接收所述傳輸控制模塊推送的通知,將收到的通知轉發(fā)到所述第一應用客戶端142;[〇1〇7]所述第一應用客戶端142顯示通知消息和車輛運行數(shù)據(jù)。
[0108]本發(fā)明一個實施例中,數(shù)據(jù)展示模塊14中,訂閱通知客戶端141實時監(jiān)聽傳輸控制模塊中的通知服務,收到其推送通知后,轉發(fā)到應用客戶端142。應用客戶端142顯示通知消息和車輛運行數(shù)據(jù)。
[0109]本發(fā)明一個實施例中,還包括:遠程控制模塊(圖中未示出),所述遠程控制模塊連接所述傳輸控制模塊15、并連接所述0BD設備10。本發(fā)明一個實施例中,遠程控制模塊可以位于圖7中T的位置。
[0110]所述遠程控制模塊包括:第二應用客戶端、第二業(yè)務API模塊、短信模塊;所述第二應用客戶端向所述第二業(yè)務API模塊發(fā)起遠程控制請求,所述第二業(yè)務 API模塊收到請求后,按照所述0BD設備接入?yún)f(xié)議組織遠程控制消息包,并經(jīng)所述短信模塊下發(fā)到所述0BD設備。
[0112]本發(fā)明一個實施例中,如圖8所示,所述車輛數(shù)據(jù)消息包含協(xié)議頭、協(xié)議體、效驗碼,所述協(xié)議體位于所述協(xié)議頭之后,所述效驗碼位于所述協(xié)議體之后;
[0113]所述協(xié)議頭包含消息包長度字段、協(xié)議版本字段、加密方式字段,所述消息體包含消息頭字段、命令字字段、車輛識別碼字段、消息體字段;
[0114]所述協(xié)議包長度字段為2個字節(jié),所述協(xié)議包長度字段標識了消息包長度,所述協(xié)議包長度=協(xié)議頭長度+加密后的協(xié)議體長度+校驗碼長度,協(xié)議版本字段標識了協(xié)議版本,所述加密方式字段標識了所述消息體中所述消息頭字段及所述消息體字段的加密方式;
[0115]所述消息體用于定義所述車輛0BD數(shù)據(jù)處理裝置與所述0BD設備之間操作內(nèi)容,所述消息頭字段攜帶命令字及車輛識別碼,所述命令字字段用于確定操作類型,所述車輛識別碼字段攜帶車輛識別碼;
[0116]所述效驗碼經(jīng)過對所述消息頭部分中消息包長度字段以外的字節(jié)及所述消息體部分的全部字節(jié)進行異或運算得到。[〇117]本發(fā)明一個實施例中,所述0BD設備10采集所述車輛數(shù)據(jù)消息步驟包括:
[0118]確定命令字字段、車輛識別碼,組成消息頭,所述命令字字段標識車輛數(shù)據(jù)消息的類型;
[0119]確定消息體,所述消息體攜帶所述車輛數(shù)據(jù)消息內(nèi)容;
[0120]將協(xié)議頭中協(xié)議版本字段及加密方式字段,消息頭、消息體中所有字節(jié)依次進行異或得到校驗碼;[0121 ]對消息頭、消息體進行加密,形成協(xié)議體;
[0122]將消息頭長度+加密后的消息體長度+校驗碼長度,得到協(xié)議包長度;
[0123]將消息頭、消息體、校驗碼三部分組合,形成所述車輛數(shù)據(jù)消息。
[0124]相應的,所述接入網(wǎng)關111按照協(xié)議規(guī)則確定所述車輛數(shù)據(jù)消息長度,根據(jù)所述車輛數(shù)據(jù)消息長度截取緩存的車輛數(shù)據(jù)消息中數(shù)據(jù)包包括:
[0125]從字節(jié)流中讀取2個字節(jié),確定協(xié)議數(shù)據(jù)包長度;
[0126]根據(jù)協(xié)議包長度,讀取整個協(xié)議數(shù)據(jù)包;
[0127]根據(jù)協(xié)議中規(guī)定協(xié)議頭長度,解析協(xié)議頭,找到協(xié)議版本和加密方式;
[0128]根據(jù)協(xié)議包長度、協(xié)議頭長度算出加密后的協(xié)議體長度,加密后的協(xié)議體長度= 協(xié)議包長度-協(xié)議頭長度-校驗碼長度;
[0129]按照上述協(xié)議版本和加密方式,對協(xié)議體進行解密,得出消息頭和消息頭;
[0130]從協(xié)議包中讀取校驗碼;
[0131]將協(xié)議頭中協(xié)議版本字段及加密方式字段,消息頭,消息體中所有字節(jié)依次進行異或得到校驗碼;
[0132]將得到的校驗碼與得到的校驗碼對比,如果相同,則消息合法,否則為非法消息;
[0133]根據(jù)得到的協(xié)議版本,確定0BD設備接入?yún)f(xié)議;
[0134]根據(jù)0BD設備接入?yún)f(xié)議,解析合法消息,得到消息頭和消息體;
[0135]根據(jù)0BD設備接入?yún)f(xié)議,解析消息頭得到命令字,確定消息類型(例如報警消息、實時監(jiān)控消息等);
[0136]根據(jù)0BD設備接入?yún)f(xié)議,綜合命令字字段,解析消息體,得到所述車輛數(shù)據(jù)消息攜帶數(shù)據(jù)。
[0137]本發(fā)明一個實施例中,所述車輛數(shù)據(jù)消息可以為多種類型的消息,例如車輛數(shù)據(jù)消息包括實時監(jiān)控消息、報警消息中至少一種。
[0138]本發(fā)明實施例的車輛0BD數(shù)據(jù)處理裝置,接收0BD設備上報的車輛數(shù)據(jù)消息,將消息進行協(xié)議轉換,并對承載的數(shù)據(jù)進行處理,能夠提高0BD數(shù)據(jù)處理準確度,從而更準確的得出車輛的狀態(tài)。
[0139]實施例2[〇14〇]本發(fā)明實施例中0BD設備上報的車輛數(shù)據(jù)消息可以為多種類型的消息,本實施例以車輛數(shù)據(jù)消息為報警消息為例詳細說明本發(fā)明實施例的車輛0BD數(shù)據(jù)處理裝置的數(shù)據(jù)處理流程。
[0141]如圖9所示,本實施例可以通過上述實施例的車輛0BD數(shù)據(jù)處理裝置實現(xiàn),本實施例的數(shù)據(jù)處理流程包括:
[0142]901、0BD設備10在車輛發(fā)生報警信息時,將報警消息組包。
[0143]具體組包過程如下:第一步,確定命令字(報警類型)、車輛識別碼,組成消息頭;第二步,確定消息體(報警內(nèi)容);第三步,將協(xié)議頭(不包含協(xié)議長度字段)、消息頭、消息體中所有字節(jié)依次進行異或得到校驗碼;第四步,對消息頭、消息體進行加密,形成協(xié)議體;第五步,將協(xié)議頭長度+加密后的協(xié)議體長度+校驗碼長度得到協(xié)議包長度;第六步,協(xié)議頭、協(xié)議體、校驗碼三部分組合,形成協(xié)議數(shù)據(jù)包即報警消息。
[0144]902、0BD設備10上報報警消息。
[0145]903、數(shù)據(jù)接入模塊11接收車輛數(shù)據(jù)消息,并進行解析。
[0146]數(shù)據(jù)接入模塊11解析過程如下:第一步,從字節(jié)流中讀取2個字節(jié),確定協(xié)議數(shù)據(jù)包長度;第二步,根據(jù)協(xié)議包長度,讀取整個協(xié)議數(shù)據(jù)包;第三步,根據(jù)協(xié)議中規(guī)定協(xié)議頭長度,解析協(xié)議頭,找到協(xié)議版本和加密方式;第四步,根據(jù)協(xié)議包長度、協(xié)議頭長度算出加密后的協(xié)議體長度,加密后的協(xié)議體長度=協(xié)議包長度-協(xié)議頭長度-校驗碼長度;第五步,按照第四步得到的加密方式,對協(xié)議體進行解密,得出消息頭和消息頭;第六步,從協(xié)議包中讀取校驗碼;第七步,將協(xié)議頭(不包含協(xié)議長度字段)、消息頭、消息體中所有字節(jié)依次進行異或得到校驗碼;第八步,將第六步得到的校驗碼與第七步得到的校驗碼對比,如果相同,則消息合法,否則為非法消息;第九步,根據(jù)第三步中得到的協(xié)議版本,確定0BD設備接入?yún)f(xié)議。第十步,根據(jù)0BD設備接入?yún)f(xié)議,解析合法消息,得到消息頭和消息體。第十一步,根據(jù)0BD設備接入?yún)f(xié)議,解析消息頭得到命令字,確定為報警通知;第十二步,根據(jù)0BD設備接入?yún)f(xié)議,綜合命令字,解析消息體,得到報警信息。
[0147]904、數(shù)據(jù)接入模塊11將解析后的數(shù)據(jù)推送到數(shù)據(jù)處理模塊12。
[0148]905、數(shù)據(jù)處理模塊12對數(shù)據(jù)進行處理得到原始數(shù)據(jù)。
[0149]906、數(shù)據(jù)處理模塊12將原始數(shù)據(jù)存儲至存儲模塊16。
[0150]本發(fā)明實施例中存儲模塊16可以為單獨的存儲模塊也可以為業(yè)務處理模塊13中的靜態(tài)數(shù)據(jù)緩存模塊,本發(fā)明實施例不做限定。
[0151]907、數(shù)據(jù)處理模塊12將原始數(shù)據(jù)推送至業(yè)務處理模塊13的原始數(shù)據(jù)消息隊列子模塊的隊列中。
[0152]908、業(yè)務處理模塊13根據(jù)業(yè)務算法對數(shù)據(jù)進行處理。
[0153]909、業(yè)務處理模塊13存儲處理后的數(shù)據(jù)。[〇154]910、傳輸控制模塊15進行報警統(tǒng)計。
[0155]911、傳輸控制模塊15向數(shù)據(jù)展示模塊14推送報警通知,由數(shù)據(jù)展示模塊14進行報警提示。
[0156]本發(fā)明實施例的車輛0BD數(shù)據(jù)處理裝置,接收0BD設備上報的報警消息,將消息進行協(xié)議轉換,并對承載的數(shù)據(jù)進行處理,能夠提高報警數(shù)據(jù)處理準確度,發(fā)出報警提示。
[0157]實施例3[〇158]本發(fā)明實施例中0BD設備上報的車輛數(shù)據(jù)消息可以為多種類型的消息,本實施例以車輛數(shù)據(jù)消息為實時監(jiān)控消息為例詳細說明本發(fā)明實施例的車輛0BD數(shù)據(jù)處理裝置的數(shù)據(jù)處理流程。
[0159]如圖10所示,本實施例可以通過上述實施例的車輛0BD數(shù)據(jù)處理裝置實現(xiàn),本實施例的數(shù)據(jù)處理流程包括:
[0160]101、0BD設備10對實時監(jiān)控消息進行組包。
[0161]具體組包過程如下:第一步,確定命令字(實時監(jiān)控)、車輛識別碼,組成消息頭;第二步,確定消息體(實時監(jiān)控調(diào)取);第三步,將協(xié)議頭(不包含協(xié)議長度字段)、消息頭、消息體中所有字節(jié)依次進行異或得到校驗碼;第四步,對消息頭、消息體進行加密,形成協(xié)議體; 第五步,將協(xié)議頭長度+加密后的協(xié)議體長度+校驗碼長度得到協(xié)議包長度;第六步,協(xié)議頭、協(xié)議體、校驗碼三部分組合,形成協(xié)議數(shù)據(jù)包即實時監(jiān)控消息。
[0162]102、0BD設備10上報實時監(jiān)控消息。
[0163]103、數(shù)據(jù)接入模塊11接收實時監(jiān)控消息,并進行解析。
[0164]數(shù)據(jù)接入模塊11解析過程如下:第一步,從字節(jié)流中讀取2個字節(jié),確定協(xié)議數(shù)據(jù)包長度;第二步,根據(jù)協(xié)議包長度,讀取整個協(xié)議數(shù)據(jù)包;第三步,根據(jù)協(xié)議中規(guī)定協(xié)議頭長度,解析協(xié)議頭,找到協(xié)議版本和加密方式;第四步,根據(jù)協(xié)議包長度、協(xié)議頭長度算出加密后的協(xié)議體長度,加密后的協(xié)議體長度=協(xié)議包長度-協(xié)議頭長度-校驗碼長度;第五步,按照第四步得到的加密方式,對協(xié)議體進行解密,得出消息頭和消息頭;第六步,從協(xié)議包中讀取校驗碼;第七步,將協(xié)議頭(不包含協(xié)議長度字段)、消息頭、消息體中所有字節(jié)依次進行異或得到校驗碼;第八步,將第六步得到的校驗碼與第七步得到的校驗碼對比,如果相同,則消息合法,否則為非法消息;第九步,根據(jù)第三步中得到的協(xié)議版本,確定0BD設備接入?yún)f(xié)議。第十步,根據(jù)0BD設備接入?yún)f(xié)議,解析合法消息,得到消息頭和消息體。第十一步,根據(jù)0BD設備接入?yún)f(xié)議,解析消息頭得到命令字,確定為實時監(jiān)控消息;第十二步,根據(jù)0BD設備接入?yún)f(xié)議,綜合命令字,解析消息體,得到實時監(jiān)控消息攜帶的信息。
[0165]104、數(shù)據(jù)接入模塊11將解析后的數(shù)據(jù)推送到數(shù)據(jù)處理模塊12。
[0166]105、數(shù)據(jù)處理模塊12對數(shù)據(jù)進行處理得到原始數(shù)據(jù)。
[0167]106、數(shù)據(jù)處理模塊12將原始數(shù)據(jù)存儲至存儲模塊16。
[0168]本發(fā)明實施例中存儲模塊16可以為單獨的存儲模塊也可以為業(yè)務處理模塊13中的靜態(tài)數(shù)據(jù)緩存模塊,本發(fā)明實施例不做限定。
[0169]107、數(shù)據(jù)處理模塊12將原始數(shù)據(jù)推送至業(yè)務處理模塊13的原始數(shù)據(jù)消息隊列子模塊的隊列中。[〇17〇]108、業(yè)務處理模塊13根據(jù)業(yè)務算法對數(shù)據(jù)進行處理。
[0171]109、業(yè)務處理模塊13存儲處理后的數(shù)據(jù)。
[0172]110、傳輸控制模塊15進行狀態(tài)統(tǒng)計。[〇173]111、傳輸控制模塊15更新緩存。[〇174]112、數(shù)據(jù)展示模塊14向傳輸控制模塊15請求監(jiān)控數(shù)據(jù),傳輸控制模塊15返回監(jiān)控數(shù)據(jù),由數(shù)據(jù)展示模塊14進行視頻顯示。
[0175]本發(fā)明實施例的車輛0BD數(shù)據(jù)處理裝置,接收0BD設備上報的監(jiān)控消息,將消息進行協(xié)議轉換,并對承載的數(shù)據(jù)進行處理,能夠提高監(jiān)控數(shù)據(jù)處理準確度,發(fā)出報警提示。
[0176]以上已經(jīng)描述了本發(fā)明的各實施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。本文中所用術語的選擇,旨在最好地解釋各實施例的原理、實際應用或?qū)κ袌鲋械募夹g的改進,或者使本技術領域的其它普通技術人員能理解本文披露的各實施例。
[0177]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。
【主權項】
1.一種車輛OBD數(shù)據(jù)處理裝置,其特征在于,包括:數(shù)據(jù)接入模塊、數(shù)據(jù)處理模塊、業(yè)務 助理模塊、數(shù)據(jù)展示模塊;所述數(shù)據(jù)接入模塊包括:接入網(wǎng)關、協(xié)議適配器、數(shù)據(jù)解析處理器;所述接入網(wǎng)關,用于通過TCP傳輸協(xié)議接收0BD設備上報的車輛數(shù)據(jù)消息,對所述車輛 數(shù)據(jù)進行節(jié)流緩存;按照協(xié)議規(guī)則確定所述車輛數(shù)據(jù)消息長度,根據(jù)所述車輛數(shù)據(jù)消息長 度截取緩存的車輛數(shù)據(jù)消息中數(shù)據(jù)包;所述協(xié)議適配器,用于將截取后的數(shù)據(jù)包進行協(xié)議適配,確定匹配的接入?yún)f(xié)議;所述數(shù)據(jù)解析處理器,用于對所述數(shù)據(jù)包中數(shù)據(jù)進行解析,將數(shù)據(jù)由字節(jié)流轉換為協(xié) 議數(shù)據(jù)實體,得到解析后的數(shù)據(jù),根據(jù)所述接入?yún)f(xié)議將所述解析后的數(shù)據(jù)發(fā)送到所述數(shù)據(jù) 解析處理模塊;所述數(shù)據(jù)處理模塊包括:協(xié)議數(shù)據(jù)消息隊列子模塊、第一消息接收客戶端、數(shù)據(jù)算法處 理器;所述協(xié)議數(shù)據(jù)消息隊列子模塊,用于對所述解析后的數(shù)據(jù)進行驗證,得到驗證后的數(shù) 據(jù);所述第一消息接收客戶端,用于根據(jù)所述接入?yún)f(xié)議,將所述驗證后的數(shù)據(jù)轉換為原始 數(shù)據(jù);所述數(shù)據(jù)算法處理器,用于將所述原始數(shù)據(jù)攜帶于原始數(shù)據(jù)消息隊列中傳輸至所述業(yè) 務處理模塊;所述業(yè)務處理模塊包括:第二消息接收客戶端、業(yè)務算法處理器;所述第二消息接收客戶端,用于接收所述原始數(shù)據(jù)消息隊列中的所述原始數(shù)據(jù),對所 述原始數(shù)據(jù)進行驗證,得到驗證后的原始數(shù)據(jù);所述業(yè)務算法處理器,用于將所述驗證后的原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù),按照HTTP傳輸 協(xié)議,將所述業(yè)務數(shù)據(jù)推送到所述數(shù)據(jù)展示模塊;所述數(shù)據(jù)展示模塊,用于根據(jù)所述業(yè)務數(shù)據(jù)確定車輛狀態(tài),并顯示所述車輛狀態(tài)。2.根據(jù)權利要求1所述的裝置,其特征在于,還包括:傳輸控制模塊;所述業(yè)務算法處理器,還用于將所述業(yè)務數(shù)據(jù)推送到所述傳輸控制模塊;所述傳輸控制模塊包括:第一業(yè)務API模塊;所述第一業(yè)務API模塊,用于接收所述業(yè)務數(shù)據(jù),應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理 后,發(fā)送到所述數(shù)據(jù)展示模塊。3.根據(jù)權利要求2所述的裝置,其特征在于,所述傳輸控制模塊還包括:動態(tài)數(shù)據(jù)緩存 子模塊、通知服務子模塊;所述第一業(yè)務API模塊應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述動態(tài)數(shù)據(jù)緩 存子模塊;或者,所述第一業(yè)務API模塊應用業(yè)務算法對所述業(yè)務數(shù)據(jù)處理后,發(fā)送到所述通知服 務子模塊,所述通知服務子模塊將數(shù)據(jù)推送至所述數(shù)據(jù)展示模塊。4.根據(jù)權利要求1所述的裝置,其特征在于,所述業(yè)務處理模塊還包括:原始數(shù)據(jù)消息 隊列子模塊、靜態(tài)數(shù)據(jù)緩存模塊緩存業(yè)務數(shù)據(jù);所述第二消息接收客戶端通過所述原始數(shù)據(jù)消息隊列子模塊接收所述原始數(shù)據(jù)消息 隊列中的所述原始數(shù)據(jù);所述業(yè)務算法處理器,用于根據(jù)存儲的標準業(yè)務模型,綜合所述靜態(tài)數(shù)據(jù)緩存模塊緩 存的業(yè)務數(shù)據(jù),將所述驗證后的原始數(shù)據(jù)轉換為業(yè)務數(shù)據(jù),按照HTTP傳輸協(xié)議,將所述業(yè)務 數(shù)據(jù)推送到所述數(shù)據(jù)展示模塊。5.根據(jù)權利要求2或3所述的裝置,其特征在于,所述數(shù)據(jù)展示模塊包括訂閱通知客戶 端、第一應用客戶端;所述訂閱通知客戶端實時接收所述傳輸控制模塊推送的通知,將收到的通知轉發(fā)到所 述第一應用客戶端;所述第一應用客戶端顯示通知消息和車輛運行數(shù)據(jù)。6.根據(jù)權利要求2或3所述的裝置,其特征在于,還包括:遠程控制模塊,所述遠程控制 模塊連接所述傳輸控制模塊、并連接所述OBD設備;所述遠程控制模塊包括:第二應用客戶端、第二業(yè)務API模塊、短信模塊;所述第二應用客戶端向所述第二業(yè)務API模塊發(fā)起遠程控制請求,所述第二業(yè)務API模 塊收到請求后,按照所述OBD設備接入?yún)f(xié)議組織遠程控制消息包,并經(jīng)所述短信模塊下發(fā)到 所述OBD設備。7.根據(jù)權利要求1至6中任一項所述的裝置,其特征在于,所述車輛數(shù)據(jù)消息包含協(xié)議 頭、協(xié)議體、效驗碼,所述協(xié)議體位于所述協(xié)議頭之后,所述效驗碼位于所述協(xié)議體之后;所述協(xié)議頭包含消息包長度字段、協(xié)議版本字段、加密方式字段,所述消息體包含消息 頭字段、命令字字段、車輛識別碼字段、消息體字段;所述協(xié)議包長度字段為2個字節(jié),所述協(xié)議包長度字段標識了消息包長度,所述協(xié)議包 長度=協(xié)議頭長度+加密后的協(xié)議體長度+校驗碼長度,協(xié)議版本字段標識了協(xié)議版本,所 述加密方式字段標識了所述消息體中所述消息頭字段及所述消息體字段的加密方式;所述消息體用于定義所述車輛OBD數(shù)據(jù)處理裝置與所述OBD設備之間操作內(nèi)容,所述消 息頭字段攜帶命令字及車輛識別碼,所述命令字字段用于確定操作類型,所述車輛識別碼 字段攜帶車輛識別碼;所述效驗碼經(jīng)過對所述消息頭部分中消息包長度字段以外的字節(jié)及所述消息體部分 的全部字節(jié)進行異或運算得到。8.根據(jù)權利要求1至6中任一項所述的裝置,其特征在于,所述OBD設備采集所述車輛數(shù) 據(jù)消息步驟包括:確定命令字字段、車輛識別碼,組成消息頭,所述命令字字段標識車輛數(shù)據(jù)消息的類 型;確定消息體,所述消息體攜帶所述車輛數(shù)據(jù)消息內(nèi)容;將協(xié)議頭中協(xié)議版本字段及加密方式字段,消息頭、消息體中所有字節(jié)依次進行異或 得到校驗碼;對消息頭、消息體進行加密,形成協(xié)議體;將消息頭長度+加密后的消息體長度+校驗碼長度,得到協(xié)議包長度;將消息頭、消息體、校驗碼三部分組合,形成所述車輛數(shù)據(jù)消息。9.根據(jù)權利要求8所述的裝置,其特征在于,所述接入網(wǎng)關按照協(xié)議規(guī)則確定所述車輛 數(shù)據(jù)消息長度,根據(jù)所述車輛數(shù)據(jù)消息長度截取緩存的車輛數(shù)據(jù)消息中數(shù)據(jù)包包括:從字節(jié)流中讀取2個字節(jié),確定協(xié)議數(shù)據(jù)包長度;根據(jù)協(xié)議包長度,讀取整個協(xié)議數(shù)據(jù)包;根據(jù)協(xié)議中規(guī)定協(xié)議頭長度,解析協(xié)議頭,找到協(xié)議版本和加密方式;根據(jù)協(xié)議包長度、協(xié)議頭長度算出加密后的協(xié)議體長度,加密后的協(xié)議體長度=協(xié)議 包長度-協(xié)議頭長度-校驗碼長度;按照協(xié)議版本和加密方式,對協(xié)議體進行解密,得出消息頭和消息頭;從協(xié)議包中讀取校驗碼;將協(xié)議頭中協(xié)議版本字段及加密方式字段,消息頭,消息體中所有字節(jié)依次進行異或 得到校驗碼;將得到的校驗碼與得到的校驗碼對比,如果相同,則消息合法,否則為非法消息;根據(jù)得到的協(xié)議版本,確定0K)設備接入?yún)f(xié)議;根據(jù)0K)設備接入?yún)f(xié)議,解析合法消息,得到消息頭和消息體;根據(jù)0K)設備接入?yún)f(xié)議,解析消息頭得到命令字,確定消息類型;根據(jù)OBD設備接入?yún)f(xié)議,綜合命令字字段,解析消息體,得到所述車輛數(shù)據(jù)消息攜帶數(shù) 據(jù)。10.根據(jù)權利要求1至9中任一項所述的裝置,其特征在于,所述車輛數(shù)據(jù)消息包括實時 監(jiān)控消息、報警消息中至少一種。
【文檔編號】H04L29/08GK106027606SQ201610285694
【公開日】2016年10月12日
【申請日】2016年4月30日
【發(fā)明人】楊柯, 張計飛
【申請人】北京智駕互聯(lián)信息服務有限公司