專利名稱:行車報文記錄方法及車載數(shù)據(jù)記錄系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電數(shù)字數(shù)據(jù)處理,特別涉及一種行車報文記錄方法及車載數(shù) 據(jù)記錄系統(tǒng)。
背景技術(shù):
基于CAN總線的數(shù)據(jù)記錄目前已是比較成熟的技術(shù),基本方法是預(yù)先規(guī) 定條目中的數(shù)據(jù)字段,將CAN總線的數(shù)據(jù)解析為對應(yīng)的條目,并以文本方式 記入外部大容量存儲器中。目前數(shù)據(jù)記錄系統(tǒng)架構(gòu)主要有兩種, 一種是一體 式,使用全功能的單片機系統(tǒng),在同一單片機系統(tǒng)中實現(xiàn)解析及存儲。這種 方式中間環(huán)節(jié)少,節(jié)省交互時間,硬件系統(tǒng)設(shè)計簡單,成本較低;但系統(tǒng)功 能復(fù)雜,影響數(shù)據(jù)在線寫入的速度;如果強行在高負載的總線上使用,保護 不當(dāng)會導(dǎo)致系統(tǒng)宕機,嚴重時造成全部記錄數(shù)據(jù)的損毀。另一種系統(tǒng)架構(gòu)是 分離式,數(shù)據(jù)解析和存儲使用不同的單片機系統(tǒng),經(jīng)由高速總線通信交互實 現(xiàn)數(shù)據(jù)記錄,這種方式若遇通訊失效或意外斷電容易造成大量數(shù)據(jù)丟失,不 適用于要求在意外突發(fā)事件時快速記錄的車載數(shù)據(jù)記錄儀。
在數(shù)據(jù)記錄時機上又分為實時記錄和后記錄兩種。實時記錄就是每接收 到一條數(shù)據(jù)記錄一次,數(shù)據(jù)記錄的速率受存儲器和目標(biāo)總線的負載影響較大, 在存儲器較慢或負載較高的系統(tǒng)中長時間使用甚至?xí)绣礄C的可能,但無論 何時斷開系統(tǒng),數(shù)據(jù)的損失將會非常有限。后記錄方式需要有一個固定的開 始時間和固定的結(jié)束時間,而作為車載系統(tǒng)而言,沒有這樣的兩個絕對的時 間點,因此此種方式無法用于車上的凄t據(jù)記錄。
現(xiàn)有 一種車載數(shù)據(jù)記錄儀采用 一體式系統(tǒng)架構(gòu),結(jié)合實時記錄的方式實 現(xiàn)對行車報文(以下簡稱報文)的記錄,存在一體式實時記錄方式的上述缺 陷,在保證有用報文不丟失的情況下無法提高寫入速度。
發(fā)明內(nèi)容
本發(fā)明的目的在于使用選擇性接收的方式記錄所需要的報文,在不提高 采集方法,不提高硬件需求的前提下盡可能提高有效報文的記錄效率。
本發(fā)明提出一種行車報文記錄方法,包括對接收到的報文計數(shù)的步驟; 根據(jù)報文計數(shù),判斷是否過濾報文的步驟;和過濾至少一報文或停止過濾報
5文的步驟。
優(yōu)選地,上述對接收到的報文計數(shù)包括分別對各類別報文設(shè)置一計數(shù) 器的步驟;對接收到的至少一報文分別查找其類別的步驟;和對應(yīng)所述類別 的計數(shù)器計數(shù)的步驟。
優(yōu)選地,上述對接收到的報文計數(shù)包括對接收到的所有報文計數(shù),得 到報文總數(shù)的步驟。
優(yōu)選地,上述根據(jù)報文計數(shù),判斷是否過濾報文的步驟包括判斷報文 總數(shù)是否達到預(yù)設(shè)報文總閾值的步驟;和/或判斷各類別報文計數(shù)是否達到預(yù) 設(shè)的相應(yīng)閾值的步驟。
優(yōu)選地,上述根據(jù)報文計數(shù),判斷是否過濾報文的步驟還包括從計數(shù) 達到預(yù)設(shè)閾值的類別的至少 一報文中選出計凄t值最大,優(yōu)先級較低的至少一 報文,對其進行過濾的步驟;和從計數(shù)未達到預(yù)設(shè)閾值的類別的被過濾的至 少一報文中選出優(yōu)先級最高的至少一報文,對其停止過濾的步驟;或所有報 文中選出計數(shù)值最大,優(yōu)先級較低的至少一報文,對其進行過濾的步驟;從 所有報文中選出優(yōu)先級最高的至少 一報文,對其停止過濾的步驟。
優(yōu)選地,上述過濾至少一報文的步驟包括選取至少一報文或選取至少 一類別中的至少一才艮文的步驟;丟棄所述至少一報文的步驟。
優(yōu)選地,上述停止過濾報文的步驟包括選取至少一報文或選取至少一 類別中的至少一報文的步驟;記錄所述至少一"^艮文的步驟。
優(yōu)選地,上述過濾至少 一報文是依據(jù)分別對至少 一報文設(shè)置的過濾策略 進行的;所述過濾策略包括最大通過頻率,每接收最大通過頻率條相同的報 文,僅記錄一條纟艮文,丟棄其余纟艮文。
優(yōu)選地,上述過濾至少一報文的步驟還包括篩選,所述篩選是從多報文 中選出計數(shù)值最大,優(yōu)先級較低的報文,對重復(fù)接收到的該相同報文進行過 濾。
優(yōu)選地,上述停止過濾至少一報文的步驟還包括篩選,所述篩選是從開 啟過濾的多報文中選出優(yōu)先級最高的報文,對該報文停止過濾。
本發(fā)明還提出一種車載數(shù)據(jù)記錄系統(tǒng),包括接收報文的報文接收模塊和 報文記錄模塊,還包括分析模塊、過濾模塊和計數(shù)模塊;所述分析模塊判斷 所述報文是否要過濾;報文要過濾的,所述過濾模塊對報文進行過濾;所述 報文記錄模塊記錄不需過濾的報文或經(jīng)過過濾的報文,所述計數(shù)模塊對記錄 的報文計數(shù)。
優(yōu)選地,上述車載數(shù)據(jù)記錄系統(tǒng)還包括用于存儲記錄的報文和配置文件 的外部存儲器;所述配置文件存儲過濾報文所需的信息,供所述分析模塊和/ 或過濾模塊調(diào)用。優(yōu)選地,上述配置文件還包括預(yù)設(shè)時間范圍;所述車載數(shù)據(jù)記錄系統(tǒng)還
包括計時模塊,隨接收報文計時;所述分析模塊判斷計時模塊是否計滿預(yù)設(shè) 時間范圍,每當(dāng)計滿預(yù)設(shè)時間范圍,分析模塊分析是否對報文進行過濾。
優(yōu)選地,上述配置文件還包括過濾策略;所述過濾模塊根據(jù)與至少一報 文對應(yīng)的過濾策略分別過濾至少 一才艮文。
優(yōu)選地,上述分析模塊還包括篩選單元,根據(jù)配置文件從至少一報文中 選出一報文,由過濾模塊對所述報文進行過濾;或根據(jù)配置文件從被過濾的 至少 一報文中選出 一報文,過濾模塊停止對所述報文過濾。
本發(fā)明的行車報文記錄方法和車載數(shù)據(jù)記錄系統(tǒng)在盡量不降低報文記錄 全面性的同時,大大降低報文記錄的數(shù)目。在不丟失重要數(shù)據(jù)的前提下,過 濾掉重復(fù)的無太大記錄價值的報文,提高行車報文記錄的安全性和穩(wěn)定性。
圖l是本發(fā)明第一實施例行車報文記錄流程示意圖2是本發(fā)明第三實施例行車報文記錄流程示意圖3是本發(fā)明第四實施例篩選流程示意圖4是本發(fā)明第八實施例車載數(shù)據(jù)記錄系統(tǒng)結(jié)構(gòu)示意圖5是本發(fā)明第九、第十實施例車載數(shù)據(jù)記錄系統(tǒng)結(jié)構(gòu)示意圖6是本發(fā)明第十 一 實施例分析模塊結(jié)構(gòu)示意圖。
本發(fā)明目的、功能及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施例方式
本發(fā)明提出第一實施例,實現(xiàn)行車報文記錄。參照圖l,本實施例的流程 包括
步驟Sl,對接收到的報文計數(shù);
步驟S2,根據(jù)報文計數(shù),判斷是否過濾報文;
步驟S3,過濾至少一報文;或
步驟S4,停止過濾報文。
基于上述實施例,本發(fā)明提出第二實施例,對報文分為至少二類別,并 基于類別判斷是否過濾報文。具體來說,對報文分別指定標(biāo)識符(ID),相同 的報文具有相同的標(biāo)識符。預(yù)先根據(jù)車載數(shù)據(jù)記錄系統(tǒng)的需求及報文的重要 性分析報文,例如哪些是可以丟失的,哪些是盡量不要丟失的,哪些是絕對 不能丟失的。據(jù)分析結(jié)果對所有需要記錄的報文分類,對每一類別分別 定優(yōu)先級。報文分類、標(biāo)識符及優(yōu)先級作為配置文件存儲在車載數(shù)據(jù)記錄系統(tǒng) 中。例如,根據(jù)行車報文的特點,將報文分為報警報文、狀態(tài)報文、數(shù)據(jù)報
文等類別;報文標(biāo)識符的編制根據(jù)不同的車載數(shù)據(jù)記錄系統(tǒng)而不同,例如是 29位的數(shù)值。優(yōu)先級根據(jù)報文類別確定,例如一般情況下報警報文的優(yōu)先級 最高,狀態(tài)報文次之,數(shù)據(jù)報文再次之。每個車載數(shù)據(jù)記錄系統(tǒng)中,各類別 報文的優(yōu)先級是確定的。
本實施例的步驟S1 ,對接收到的報文計數(shù)具體包括
步驟Sll,分別對各類別"t艮文設(shè)置一計數(shù)器;
步驟S 12,對接收到的至少 一報文分別查找其類別;
步驟S13,對應(yīng)所述類別的計數(shù)器計數(shù)。
本實施例的步驟S2,根據(jù)報文計數(shù),判斷是否過濾報文是分別根據(jù)各類 別的計數(shù),判斷是否過濾該類別的報文。具體來說,可對至少一報文類別預(yù) 先設(shè)定報文數(shù)閾值,取值為整數(shù)。當(dāng)該類別計數(shù)達到閾值時,認為應(yīng)過濾該 類別的報文;否則不過濾該類別的報文。另外,還可對所有報文類別預(yù)先設(shè) 定報文數(shù)總閾值,取值為整數(shù)。當(dāng)報文總數(shù)達到總閾值,則應(yīng)過濾報文,否 則不需對報文進行過濾。
本實施例的步驟S3,過濾至少一報文的步驟包括
選取至少一才艮文或選取至少 一類別中的至少 一報文;和
丟棄所述至少一報文。
本實施例的步驟S4,停止過濾報文的步驟包括 選取至少 一報文或選耳又至少一類別中的至少 一才艮文;和 記錄所述至少一報文。
具體來說,設(shè)才艮文分為a個類別,車載數(shù)據(jù)記錄系統(tǒng)最大正常記錄速率為 b,網(wǎng)絡(luò)中最大傳輸速率為c,設(shè)閾值為經(jīng)驗值b/3。隨著記錄報文的過程,使 用計數(shù)器統(tǒng)計報文數(shù)目,當(dāng)已記錄的報文計數(shù)大于閾值時,啟用報文過濾, 將部分報文丟棄,記錄部分報文。這種方法可以簡單地實現(xiàn)報文過濾,但沒 有充分利用車載數(shù)據(jù)記錄系統(tǒng)的報文記錄能力。同時由于未對相同標(biāo)識符的 報文做分析過濾處理, 一些固定頻率的報文可能永遠無法被記錄,從而造成 重要數(shù)據(jù)的丟失。
基于上述實施例,本發(fā)明提出第三實施例。本實施例使用報文過濾策略 過濾報文,并設(shè)置預(yù)設(shè)時間范圍,根據(jù)預(yù)設(shè)時間范圍動態(tài)調(diào)整過濾策略。具 體來說,分別對各類別報文分別設(shè)置一過濾策略,當(dāng)預(yù)設(shè)時間范圍內(nèi)某類別 報文計數(shù)達到閾值時,使用對應(yīng)過濾策略過濾該類別報文;當(dāng)預(yù)設(shè)時間范圍內(nèi)某類別報文計數(shù)未達到閾值時,停止過濾報文。
參照圖2,采用上述過濾策略的報文記錄方法包括 步驟S201,初始配置,讀耳又預(yù)設(shè)時間范圍、4艮文類別、報文優(yōu)先級、報 文計數(shù)閾值和過濾策略等; 步驟S202,開始計時;
步驟S203,判斷計時是否到達預(yù)設(shè)時間范圍,若未到達則進行步驟S204, 若到達則進行步驟S208;
步驟S204,接收一條報文;
步驟S205 ,判斷是否對該報文進行過濾,如果開啟過濾,則進行步驟S207, 如果關(guān)閉過濾,則進行步驟S206;
步驟S206,采用該報文對應(yīng)的過濾策略過濾凈艮文; 步驟S207,記錄報文,該報文對應(yīng)類別計數(shù)加l;返回步驟S203; 步驟S208,查詢各類別報文計數(shù),然后將各類別報文計數(shù)清零; 步驟S209,判斷是否有某類別報文計數(shù)達到相應(yīng)閾值,若達到則進行步 驟S210,否則進行步驟S211;
步驟S210,對該報文進行過濾,即開啟過濾;進行步驟S204; 步驟S211,對該報文不進行過濾,即關(guān)閉過濾;進行步驟S204。 上述過程重復(fù)進行,直到車載數(shù)據(jù)記錄系統(tǒng)關(guān)閉或停止接收報文。 上述過程在每個預(yù)設(shè)時間范圍結(jié)束時都對已記錄的報文進行一次分析, 判斷哪一類別的相同報文記錄過多、頻率過高,則對該類別報文進行過濾。 每個預(yù)設(shè)時間范圍重新計數(shù),若經(jīng)過某預(yù)設(shè)時間范圍,發(fā)現(xiàn)某類別的報文經(jīng) 過濾后,計數(shù)低于預(yù)設(shè)閾值,則可關(guān)閉過濾,停止對該類別的報文過濾。
基于上述實施例,本發(fā)明提出第四實施例。本實施例的過濾策略包括最 大通過頻率M,取值為整凄t。與最大通過頻率M相應(yīng)的過濾策略為每接收M 條相同的報文,記錄一條報文,其余丟棄。最大通過頻率M取值越大,過濾 越嚴格。
本實施例還提出,各類別的報文過濾策略包括多個報文數(shù)最低閾值A(chǔ)、 多個報文數(shù)最高閾值B和相應(yīng)的多個最大通過頻率M。當(dāng)該類別報文計數(shù)高 于某個報文數(shù)最低閾值A(chǔ)而低于相應(yīng)最高閾值B時,采用相應(yīng)的最大通過頻
率M來過濾。具體來說,設(shè)多個報文數(shù)最低閾值分別為Al、 A2、 A3......An,
多個報文數(shù)最高閾值分別為Bl、 B2、 B3......Bn, B取值為整數(shù),相應(yīng)多個最
大通過頻率分別為M1、 M2、 M3......Mn。過濾策略為當(dāng)報文計數(shù)介于報文數(shù)
最低閾值B和報文數(shù)最高閾值A(chǔ)之間時,每接收最大通過頻率條相同報文, 僅保留一條報文。為便于管理和查找,本實施例提出采用優(yōu)先級-過濾策略表對各類別報文 的優(yōu)先級及其過濾策略進行統(tǒng)一管理。該優(yōu)先級-過濾策略表作為配置文件的 一部分,中每一行記錄一個報文過濾策略,字段設(shè)置如下標(biāo)識符、優(yōu)先級、
報文數(shù)最低闊值A(chǔ)1、報文數(shù)最高閾值B1、最大通過頻率M1、報文數(shù)最低闊 值A(chǔ)2、報文數(shù)最高閾值B2、最大通過頻率M2、報文數(shù)最低閾值A(chǔ)3、報文 數(shù)最高閾值B3、最大通過頻率M3......報文數(shù)最低閾值A(chǔ)n、報文數(shù)最高閾值
Bn、最大通過頻率Mn。
表1給出某車載數(shù)據(jù)記錄系統(tǒng)優(yōu)先級-過濾策略表部分示例:
標(biāo)識符優(yōu) 先 級AlBlMlA2B2M2A3B3M3 AnBnMn
0xl8FFF10260200205035010010010010
0x藩FF103602002050350歸510010010
0xl8FFF10460200205050100510010010
0xl8FFF2023010010353570715015015
0xl8FFF2033010010353570715015015
0xl8FFF2040100103533570715015015
0xl8FFF30410250254040608858520
0xl8FFF305102502540540608858520
表1
上表中,標(biāo)識符為0xl8FFF102的報文,其優(yōu)先級為6,報文數(shù)最低閾值 Al為0,報文數(shù)最高閾值B1為20,對應(yīng)最大通過頻率M1為0,對應(yīng)過濾策 略為報文計數(shù)介于0和20之間,則不對報文進行過濾;報文數(shù)最低閾值A(chǔ)2 為20,報文數(shù)最高閾值B2為50,對應(yīng)最大通過頻率M2為3,對應(yīng)過濾策略 為報文計數(shù)介于20和50之間,則每3條相同報文過濾2條,記錄l條;同 理報文數(shù)最低閾值A(chǔ)3為50,報文數(shù)最高閾值為100,對應(yīng)最大通過頻率M3 為5,對應(yīng)過濾策略為報文計數(shù)介于50和100之間,則每5條相同報文過濾 4條,記錄l條;而報文數(shù)最低闊值A(chǔ)n為10,報文數(shù)最高閾值Mn為100, 對應(yīng)最大通過頻率Mn為10,是用于當(dāng)報文計數(shù)超過100以上、報文計數(shù)過 高或者已經(jīng)對所有類別的報文都進行過濾但總線負載仍然超出車載數(shù)據(jù)記錄 系統(tǒng)容許的安全值時而采用的過濾策略,每10條相同報文過濾9條,記錄l 條。標(biāo)識符為0xl8FFF103的報文,其優(yōu)先級也為6,對應(yīng)過濾策略與標(biāo)識符 為0xl8FFF102的報文相同。而標(biāo)識符為0xl8FFF202的報文類別,其優(yōu)先級 低于上述標(biāo)識符為0xl8FFF102的報文類別,可以看到其過濾策略更為嚴格, 相同報文過濾掉更多,僅保留少量報文。而標(biāo)識符為0xl8FFF304的報文類別
10優(yōu)先級更低,過濾更為嚴格。
本實施例最大通過頻率的取值設(shè)定規(guī)則為沿用上述示例,設(shè)寺艮文分為a 個類別,車載數(shù)據(jù)記錄系統(tǒng)最大正常記錄速率為b,網(wǎng)絡(luò)中最大傳輸速率為c, 當(dāng)報文計數(shù)大于等于b時,最大通過頻率M取值為(c/b)向上取整數(shù)值。報文計 數(shù)處于其它范圍內(nèi)的,最大通過頻率M取值可以參考報文的重要程度,取小于 (c/b)向上取整數(shù)值的數(shù)值。
本實施例選取報文過濾策略的過程在上述流程的步驟S210,對該類別報 文進行過濾,即開啟過濾的步驟完成。選取報文過濾策略的過程具體包括 步驟S2101,取得l艮文標(biāo)識符; 步驟S2102,取〃得相應(yīng)類別的報文計數(shù);
步驟S2103,在優(yōu)先級-過濾策略表中查找與"t艮文標(biāo)識符相符的記錄;
步驟S2104,在該記錄中查找比報文計數(shù)小的報文數(shù)最低閾值和比報文計 數(shù)大的報文數(shù)最高閾值,查找該對報文數(shù)最低閾值和報文數(shù)最高閾值對應(yīng)的 最大通過頻率,得到對應(yīng)過濾策略。
當(dāng)一個預(yù)設(shè)時間范圍內(nèi),有某類別的報文計數(shù)達到相應(yīng)閾值,可以對該 類別下所有報文進行過濾,也可以從中選取一報文進行過濾,即僅過濾標(biāo)識 符相同的多條報文。在車載數(shù)據(jù)記錄系統(tǒng)允許的情況下, 一次僅選取一報文 進行過濾更有利于保證報文接收的完整性,避免丟失其他有用報文。因此, 本實施例提出對多才艮文的篩選機制。
篩選機制是從計數(shù)達到鬧值的類別下的多報文中選出計數(shù)值最大,優(yōu)先 級較低的一報文,對重復(fù)接收到的該相同報文進行過濾。參照圖3,篩選過程 具體包括步驟
步驟S2110,取得至少一報文的報文標(biāo)識符;
步驟S2111,分別取得相應(yīng)類別的報文計數(shù);
步驟S2112,在優(yōu)先級-過濾策略表中分別查找至少一報文的優(yōu)先級; 步驟S2113,分別計算各報文的計數(shù)值; 步驟S2114,按報文計數(shù)值對報文排序;
步驟S2115,比較報文計數(shù)值最大的兩報文的優(yōu)先級和計數(shù)值,計算兩報 文的計數(shù)值差;
步驟S2116,判斷兩報文的計數(shù)值差是否小于較大計數(shù)值的20%,若小于 200/()則進行步驟S2117;否則進行步驟S2118;
步驟S2117,認為兩報文的計數(shù)值差距接近,直接取計數(shù)值較大的報文; 步驟S2118,取兩報文中優(yōu)先級較低的報文,返回主流程。若總線負載下降,則報文過濾將被有序地關(guān)閉。選取關(guān)閉過濾報文可采 用與上述篩選機制相應(yīng)的機制,即篩選優(yōu)先級最高的報文,對其關(guān)閉過濾。 具體來說首先,尋找被過濾的報文中優(yōu)先級最高的報文,停止對該報文的過 濾;其次選取剩余報文中優(yōu)先級最高的報文,停止對該^^艮文的過濾......重復(fù)
上述操作,直到有某類別報文計數(shù)重新達到相應(yīng)閾值,或已停止對所有報文 的過濾。在關(guān)閉過濾階段選取報文使用的篩選機制與上述篩選機制類似,故 不贅述。
采用本實施例的報文記錄方法,可以最大限度記錄優(yōu)先級高的報文,但 有可能某類別的報文達到其相應(yīng)闊值而開啟報文過濾,但總線負載并未達到 負荷極限,即未能充分利用總線負載能力。
另外,本發(fā)明提出第五實施例,除了分別對各類別報文計數(shù)分析外,還 可分析"^艮文總數(shù)。
本實施例提出設(shè)置報文計數(shù)總閾值,無需對報文分類計數(shù)而是計報文總
數(shù),當(dāng)報文總數(shù)達到總閾值時,選取報文進行過濾,即開啟過濾;當(dāng)報文總 數(shù)低于總閾值時對報文不進行過濾,即關(guān)閉過濾。選耳又^t艮文的策略參照上述 實施例的選取報文過濾策略和篩選機制。
相應(yīng)地,若總線負載下降,則報文過濾將被有序地關(guān)閉。首先,尋找被 過濾的報文中優(yōu)先級最高的報文,停止對該報文的過濾;其次選取剩余報文 中優(yōu)先級最高的報文,停止對該報文的過濾......重復(fù)上述操作,直到報文總
數(shù)重新達到總閾值,或已停止對所有報文的過濾。在關(guān)閉過濾階段選取報文 使用的篩選機制與上述篩選機制類似,故不贅述。
采用本實施例的報文記錄方法,可以最大限度利用總線負載能力,在總 線負載極限才開啟過濾報文;但基于報文的特性,可能有部分關(guān)^:報文被頻 繁發(fā)送,采用本實施例可能會大量過濾掉關(guān)4建^^文。
本發(fā)明還提出第六實施例,將分別分析各類別報文計數(shù)和分析報文總數(shù) 結(jié)合起來,實現(xiàn)安全、高效的行車報文記錄。本實施例同時統(tǒng)計各類別報文 計數(shù)和所有報文總數(shù),當(dāng)報文總數(shù)達到總閾值時,分別檢測各類別報文計數(shù) 是否達到相應(yīng)閾值,對達到相應(yīng)閾值的類別,對該類別報文開啟過濾。當(dāng)某 類別報文計數(shù)低于相應(yīng)閾值,則關(guān)閉對該類別報文的過濾,直到所有類別報 文計數(shù)都低于相應(yīng)閾值,或?qū)λ蓄悇e報文都停止過濾。
具體來說,本實施例步驟Sl,對接收到的報文計數(shù),具體包括
步驟S31,分別對各類別報文設(shè)置一計數(shù)器;步驟S32,對接收到的至少一才艮文分別查找其類別;
步驟S33,對應(yīng)所述類別的計數(shù)器計數(shù);
步驟S34,將所有類別的計算器計數(shù)相加,得到報文總數(shù)。
步驟S2,根據(jù)報文計數(shù),判斷是否過濾報文,具體包括 步驟S35,判斷報文總數(shù)是否達到總閾值,若達到則進行步驟S36,否則 進行步驟S4;
步驟S36,判斷各類別計數(shù)是否達到相應(yīng)閾值,若有某類別計凄t達到相應(yīng) 閾值則進行步驟S3,否則進行步驟S4。
本實施例的步驟S3,過濾至少一^=艮文,包括 步驟S37,選取該類別中的至少一報文; 步驟S38,對該纟艮文開啟過濾。 本實施例的步驟S4,停止過濾"^艮文,包括 步驟S39,選取該類別中的至少一報文; 步驟S310,對該^艮文停止過濾。
上述選取至少一報文開啟過濾和/或停止過濾的具體做法與上述實施例相 似,故不贅述。
使用上述過程的第一個預(yù)設(shè)時間范圍內(nèi),可能盡管有部分類別4艮文計 數(shù) 達到預(yù)設(shè)閾值,但報文總數(shù)并未達到總閾值,則對所有類別的報文都不進行 過濾;隨著報文的增多,當(dāng)報文總數(shù)達到總闊值,才開始對越來越多類別的 報文進行過濾。當(dāng)通過上述篩選機制選取一條報文,啟用報文過濾對其過濾 后,如果下一預(yù)設(shè)時間范圍結(jié)束,報文總數(shù)仍達到總閾值,則可再次應(yīng)用上 述篩選機制,選取未過濾的報文中計數(shù)最大,優(yōu)先級較低的一報文,對其進 行過濾。當(dāng)對報文實行過濾后,可能有部分類別的報文計數(shù)降到預(yù)設(shè)閾值以 下;也有可能盡管實行了過濾,報文總數(shù)依然達到總閾值,此時可以不論各 類別的報文計數(shù)是否分別達到對應(yīng)閾值,對所有類別的報文都過濾。
對應(yīng)前述實施例對報文的分類及對應(yīng)優(yōu)先級,實際應(yīng)用中先選取數(shù)據(jù)報 文類別下的至少 一報文進行過濾,再對狀態(tài)報文類別下的至少 一報文進行過 濾,最后對報警報文類別下的至少一報文進行過濾,保證了優(yōu)先級高的重要 報文不被誤過濾。
當(dāng)然,本實施例對報文類別、報文優(yōu)先級、預(yù)設(shè)報文計數(shù)閾值和過濾策 略是基于車載數(shù)據(jù)記錄系統(tǒng)可以承受的最大報文數(shù)制訂的,最大報文數(shù)由系 統(tǒng)硬件決定的是一個確定的值,在單位時間內(nèi),網(wǎng)絡(luò)僅能保證正確傳輸不超 過最大報文數(shù)的報文。本實施例僅考慮在報文數(shù)小于該最大報文數(shù)范圍內(nèi)的報文過濾策略。理論上講,編制合理的優(yōu)先級-過濾策略表可以避免出現(xiàn)對所 有報文都執(zhí)行最嚴格的過濾策略后,報文總數(shù)仍然達到總閾值的情況。
基于上述各實施例,本發(fā)明提出第七實施例。本實施例基于行車報文的 特性,提出動態(tài)調(diào)整通過頻率以替代固定的最大通過頻率。實驗證明,絕大 多數(shù)行車報文的發(fā)送帶有重復(fù)的周期性特征,即便是突發(fā)的事件,也不會只
發(fā)送一次相關(guān)的報文。而不同類別的報文其發(fā)送頻率也不相同。例如,報警 報文是較為重要的一類報文,當(dāng)其發(fā)送頻率較高時, 一般都是系統(tǒng)中的某個
零部件出現(xiàn)突發(fā)性問題,應(yīng)盡量將其接收頻率提高,多接收幾條類似的報文;
而數(shù)據(jù)報文屬于非突變類型的報文,其重復(fù)周期一般可達幾分鐘乃至幾個小 時,可以考慮將其通過頻率適當(dāng)調(diào)低,減少重復(fù)接收相同報文。
針對上述特性,本實施例提出分別對不同類別的報文定義通過頻率,并
且在每次預(yù)設(shè)時間范圍結(jié)束時動態(tài)調(diào)整通過頻率。通過頻率m取J直為整數(shù), 與通過頻率m相應(yīng)的過濾策略為每接收m條相同的報文,記錄一條報文,其 余丟棄。通過頻率m取值越大,過濾越嚴格。
具體來說,當(dāng)過濾報文這一周期事件觸發(fā)時,相應(yīng)才艮文被過濾,同時過 濾該報文的通過頻率m被重新設(shè)定為 一個與上一次預(yù)設(shè)時間范圍結(jié)束時不同 的值,這樣使得在較短時間內(nèi)過濾的報文不會總是同一報文。本實施例提出 根據(jù)當(dāng)前最大通過頻率調(diào)整下次過濾"t艮文的通過頻率m,具體做法之一是查找 優(yōu)先級-過濾策略表,找出與^R文標(biāo)識符、當(dāng)前報文計數(shù)對應(yīng)的最大通過頻率, 從小于該最大通過頻率的任意自然數(shù)中隨機挑選一個值作為下次過濾報文的 通過頻率,并開啟對該類,艮文的過濾。
參照上述優(yōu)先級-過濾策略表示例,設(shè)某最大通過頻率為5,小于該最大 通過頻率的任意自然數(shù)為1、 2、 3或4,設(shè)隨機選取得到一個自然數(shù)4;獲取 上一次預(yù)設(shè)時間范圍結(jié)束時的通過頻率ml例如3,比較隨機得到的自然數(shù)和 上一次通過頻率ml ,發(fā)現(xiàn)二者不同,則使用該隨機得到的自然凝:作為通過頻 率m,當(dāng)該標(biāo)識符對應(yīng)的報文計數(shù)達到4時記錄接收到的該報文;如果比較 隨機得到的自然數(shù)和上一次通過頻率ml ,發(fā)現(xiàn)二者相同則重新隨才幾取任意自 然數(shù)作為通過頻率m。在取得通過頻率m后,使用該通過頻率m對報文進行 過濾,并保存通過頻率m,供下次次預(yù)設(shè)時間范圍結(jié)束時調(diào)整通過頻率使用。
本實施例使用動態(tài)調(diào)整通過頻率替代前述實施例的最大通過頻率,有效 減少長時間忽略某一固定頻率的報文的情況,避免丟失有用報文。
本發(fā)明還提出第八實施例,如圖4所示的一種車載數(shù)據(jù)記錄系統(tǒng),包括 報文接收模塊IO、報文記錄模塊20,還包括分析模塊30、過濾模塊40和計數(shù)模塊50,其中報文接收模塊10接收報文,將報文從總線讀到內(nèi)存緩沖區(qū)中。
分析模塊30判斷該報文是否要過濾;報文要過濾的,調(diào)用過濾模塊40對報文 進行過濾;不需過濾的報文或經(jīng)過過濾的報文發(fā)送到報文記錄模塊20記錄, 并由計數(shù)模塊50計數(shù)。
基于上述實施例,本發(fā)明提出第九實施例。如圖5所示,改進的車載數(shù) 據(jù)記錄系統(tǒng)還包括外部存儲器60,用于存儲記錄的報文和配置文件。配置文 件存儲系統(tǒng)初始化信息和/或過濾報文所需的信息,供分析模塊30和/或過濾 模塊40調(diào)用。
上述配置文件包括報文類別、報文標(biāo)識符、優(yōu)先級、各類別報文數(shù)閾值 和/或報文數(shù)總閾值。
本實施例的計數(shù)模塊50對報文總數(shù)進行統(tǒng)計,報文記錄模塊20每記錄 一報文,報文總數(shù)計數(shù)器就加l。分析模塊30判斷報文總數(shù)是否達到預(yù)設(shè)的 總閾值,若報文總數(shù)達到總閾值則判斷應(yīng)對接收到的至少一報文開啟過濾, 否則判斷應(yīng)對至少一報文停止過濾。過濾模塊40根據(jù)分析模塊30的判斷結(jié) 果、對應(yīng)的報文類別和報文標(biāo)識符過濾報文。
本實施例的計數(shù)模塊50還可對各類別報文分別設(shè)置一計數(shù)器,報文記錄 模塊20每記錄一報文,該報文所在類別的計數(shù)器就加1。分析模塊30根據(jù)報 文類別,對接收到的至少一報文分別查找其類別,并判斷各類別寺艮文計數(shù)是 否達到相應(yīng)閾值,若某類別報文計數(shù)達到相應(yīng)閾值則判斷應(yīng)對該類別下至少 一報文開啟過濾,否則判斷應(yīng)對該類別下至少一報文停止過濾。過濾模塊40 根據(jù)根據(jù)分析模塊30的判斷結(jié)果、對應(yīng)的報文類別和^R文標(biāo)識符過濾報文。
基于上述實施例,本發(fā)明提出第十實施例,如圖5所示,車載數(shù)據(jù)記錄 系統(tǒng)還包括用于計時的計時模塊70。所述配置文件還包括預(yù)設(shè)時間范圍和過 濾策略,過濾模塊40根據(jù)與報文標(biāo)識符對應(yīng)的過濾策略分別過濾才艮文。
本實施例計時模塊70隨著接收報文計時,分析模塊30判斷計時模塊70 是否計滿預(yù)設(shè)時間范圍。每當(dāng)計滿預(yù)設(shè)時間范圍時,分析模塊30分析是否對 該報文進行過濾,并選取與報文對應(yīng)的過濾策略。具體來說,分析模塊30在 每個預(yù)設(shè)時間范圍結(jié)束時都對已記錄的報文進行一次分析,判斷哪一類別的 相同報文記錄過多、頻率過高,則對該類別報文進行過濾。每個預(yù)設(shè)時間范 圍重新計數(shù),若經(jīng)過某預(yù)設(shè)時間范圍,發(fā)現(xiàn)某類別的報文經(jīng)過濾后,計數(shù)低 于預(yù)設(shè)閾值,則可關(guān)閉過濾,停止對該類別的才良文過濾。
本實施例提出,過濾策略還可以包括多個報文數(shù)最低閾值、多個報文數(shù)最高閾值和相應(yīng)的多個最大通過頻率。當(dāng)該類別報文計數(shù)高于某個報文數(shù)最 低闞值而低于相應(yīng)最高閾值時,過濾模塊40采用相應(yīng)的最大通過頻率來過濾 報文。為便于管理和查找,本實施例提出采用優(yōu)先級-過濾策略表對各類別報 文的優(yōu)先級及其過濾策略進行統(tǒng)一管理。優(yōu)先級-過濾策略表作為配置文件的
一部分,存儲在外部存儲器60中,供分析模塊30和/或過濾模塊40調(diào)用。
本發(fā)明還提出第十一實施例,為保證報文接收的完整性,避免丟失有用 報文,如圖6所示,分析模塊30還包括篩選單元301,根據(jù)配置文件從多報 文中選出計數(shù)值最大,優(yōu)先級較低的一報文,由過濾模塊40對重復(fù)接收到的 該相同報文進行過濾。當(dāng)總線負載過高時,篩選單元301在每次預(yù)設(shè)時間范 圍結(jié)束時選取需要過濾的報文,而在總線負載下降時,篩選單元301在每次 預(yù)設(shè)時間范圍結(jié)束時從被過濾的報文中選取報文,對其停止過濾。
本實施例還提出,基于行車報文的特性,動態(tài)調(diào)整通過頻率以替代固定 的最大通過頻率。通過頻率作為配置文件的一部分,每次預(yù)設(shè)時間范圍結(jié)束 時由分析模塊30根據(jù)上一次通過頻率調(diào)整得到通過頻率。過濾模塊40采用 該通過頻率對相應(yīng)纟艮文進行過濾。
上述實施例中,車載數(shù)據(jù)記錄系統(tǒng)的工作流程、配置文件具體方案、過 濾機制、篩選機制及動態(tài)調(diào)整通過頻率機制的具體方案與前述實施例類似, 故不贅述。
以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍, 凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接 或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
1權(quán)利要求
1.一種行車報文記錄方法,包括對接收到的報文計數(shù)的步驟;根據(jù)報文計數(shù),判斷是否過濾報文的步驟;和過濾至少一報文或停止過濾報文的步驟。
2. 如權(quán)利要求1所述的行車報文記錄方法,其特征在于,所述對接收到的報文計數(shù)包括分別對各類別報文設(shè)置 一計數(shù)器的步驟;對接收到的至少一"R文分別查找其類別的步驟;和對應(yīng)所述類別的計數(shù)器計數(shù)的步驟。
3. 如權(quán)利要求l所述的行車報文記錄方法,其特征在于,所述對接收到的報文計數(shù)包括對接收到的所有報文計數(shù),得到報文總數(shù)的步驟。
4. 如權(quán)利要求1至3任意一項所述的行車報文記錄方法,其特征在于,所述根據(jù)報文計數(shù),判斷是否過濾報文的步驟包括判斷報文總數(shù)是否達到預(yù)設(shè)報文總閾值的步驟;和/或判斷各類別報文計數(shù)是否達到預(yù)設(shè)的相應(yīng)閾值的步驟。
5. 如權(quán)利要求1至3任意一項所述的行車報文記錄方法,其特征在于所述根據(jù)報文計數(shù),判斷是否過濾報文的步驟還包括從計數(shù)達到預(yù)設(shè)閾值的類別的至少 一報文中選出計數(shù)值最大,優(yōu)先級較低的至少一報文,對其進行過濾的步驟;和從計數(shù)未達到預(yù)設(shè)閾值的類別的被過濾的至少 一報文中選出優(yōu)先級最高的至少 一報文,對其停止過濾的步驟;或所有報文中選出計數(shù)值最大,優(yōu)先級較低的至少一報文,對其進行過濾的步驟;從所有報文中選出優(yōu)先級最高的至少一報文,對其停止過濾的步驟。
6. 如權(quán)利要求1至3任意一項所述的行車報文記錄方法,其特征在于,所述過濾至少一報文的步驟包括選取至少一報文或選取至少一類別中的至少一報文的步驟;丟棄所述至少 一報文的步驟。
7. 如權(quán)利要求1至3任意一項所述的行車報文記錄方法,其特征在于,所述停止過濾報文的步驟包括選取至少 一報文或選取至少 一類別中的至少 一報文的步驟;記錄所述至少一"R文的步驟。
8. 如權(quán)利要求1至3任意一項所述的行車報文記錄方法,其特征在于,所述過濾至少 一報文是依據(jù)分別對至少 一報文設(shè)置的過濾策略進行的;所述過濾策略包括最大通過頻率,每接收最大通過頻率條相同的報文,僅記錄一條報文,丟棄其余報文。
9. 如權(quán)利要求1至3任意一項所述的所述的行車報文記錄方法,其特征在于,所述過濾至少一報文的步驟還包括篩選,所述篩選是從多報文中選出計數(shù)值最大,優(yōu)先級較低的報文,對重復(fù)接收到的該相同報文進行過濾。
10. 如權(quán)利要求1至3任意一項所述的所述的行車報文記錄方法,其特征在于,所述停止過濾至少一報文的步驟還包括篩選,所述篩選是從開啟過濾的多報文中選出優(yōu)先級最高的報文,對該報文停止過濾。
11.一種車載數(shù)據(jù)記錄系統(tǒng),包括接收報文的報文接收模塊和報文記錄模塊,其特征在于還包括分析模塊、過濾模塊和計數(shù)模塊;所述分析模塊判斷所述報文是否要過濾;報文要過濾的,所述過濾^t塊對報文進行過濾;所述報文記錄模塊記錄不需過濾的報文或經(jīng)過過濾的報文,所述計數(shù)模塊對記錄的報文計數(shù)。
12. 如權(quán)利要求11所述的車載數(shù)據(jù)記錄系統(tǒng),其特征在于還包括用于存儲記錄的報文和配置文件的外部存儲器;所述配置文件存儲過濾報文所需的信息,供所述分析模塊和/或過濾模塊調(diào)用。
13. 如權(quán)利要求12所述的車載數(shù)據(jù)記錄系統(tǒng),其特征在于所述配置文件還包括預(yù)設(shè)時間范圍;所述車載數(shù)據(jù)記錄系統(tǒng)還包括計時模塊,隨接收報文計時;所述分析模塊判斷計時模塊是否計滿預(yù)設(shè)時間范圍,每當(dāng)計滿預(yù)設(shè)時間范圍,分析模塊分析是否對報文進行過濾。
14. 如權(quán)利要求12所述的車載數(shù)據(jù)記錄系統(tǒng),其特征在于所述配置文件還包括過濾策略;所述過濾模塊根據(jù)與至少 一報文對應(yīng)的過濾策略分別過濾至少 一報文。
15. 如權(quán)利要求12至14任意一項所述的車載數(shù)據(jù)記錄系統(tǒng),其特征在于所述分析模塊還包括篩選單元,根據(jù)配置文件從至少一報文中選出 一報文,由過濾模塊對所述報文進行過濾;或根據(jù)配置文件從被過濾的至少一報文中選出一報文,過濾模塊停止對所述報文過濾。
全文摘要
本發(fā)明提出一種行車報文記錄方法,包括對接收到的報文計數(shù)的步驟;根據(jù)報文計數(shù),判斷是否過濾報文的步驟;和過濾至少一報文或停止過濾報文的步驟。本發(fā)明還提出一種車載數(shù)據(jù)記錄系統(tǒng)。本發(fā)明在盡量不降低報文記錄全面性的同時,大大降低報文記錄的數(shù)目。在不丟失重要數(shù)據(jù)的前提下,過濾掉重復(fù)的無太大記錄價值的報文,提高行車報文記錄的安全性和穩(wěn)定性。
文檔編號G07C5/00GK101676956SQ20081021188
公開日2010年3月24日 申請日期2008年9月18日 優(yōu)先權(quán)日2008年9月18日
發(fā)明者尹韶文, 張建華, 沈曉峰 申請人:比亞迪股份有限公司