實時數(shù)據(jù)存儲方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及車聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種實時數(shù)據(jù)存儲方法和系統(tǒng)。
【背景技術(shù)】
[0002]近年來,車聯(lián)網(wǎng)技術(shù)得到了長足的發(fā)展,車聯(lián)網(wǎng)最核心的內(nèi)容就是與車輛強相關(guān)的車輛數(shù)據(jù),只有在車輛強相關(guān)的數(shù)據(jù)上才能衍生出各種車聯(lián)網(wǎng)的業(yè)務(wù)和產(chǎn)品。圖1示出了現(xiàn)有技術(shù)中車輛實時數(shù)據(jù)采集系統(tǒng)的示意圖,如圖1所示,通過車輛上的各種傳感器實時采集車輛各個功能部件的狀態(tài)數(shù)據(jù),即車輛的強相關(guān)數(shù)據(jù),并將這些數(shù)據(jù)傳輸給對應(yīng)的電子控制模塊13,各個電子控制模塊13通過總線12進(jìn)行數(shù)據(jù)交換。在車聯(lián)網(wǎng)中,車載通信模塊11 (T-BOX)通過總線12從電子控制模塊13獲取并存儲該車輛強相關(guān)的數(shù)據(jù),并在必要時傳輸?shù)胶竺娴脑破脚_進(jìn)行各種車聯(lián)網(wǎng)的應(yīng)用,由此實現(xiàn)車輛實時數(shù)據(jù)的采集功能。
[0003]在車輛實際運行中,車輛總線上每一時刻都在進(jìn)行著大量數(shù)據(jù)的交換,如果將這些數(shù)據(jù)全部實時上傳云平臺將是極其不現(xiàn)實的,如果分時段采集上傳又會遺漏重要數(shù)據(jù)。所以如何有效采集車輛運行過程的數(shù)據(jù),是車聯(lián)網(wǎng)應(yīng)用的關(guān)鍵。中國專利申請201210162966.6公開了一種車聯(lián)網(wǎng)數(shù)據(jù)采集方法,該方法將采集的前后兩個數(shù)據(jù)進(jìn)行比較,若兩個數(shù)據(jù)相等則丟棄在后數(shù)據(jù),否則覆蓋在先數(shù)據(jù),然而由于車輛在運行中每一時段在總線上傳輸數(shù)據(jù)的信息標(biāo)識符(ID)不同的概率很高,即使前后兩個數(shù)據(jù)的ID相同,其包含的具體信息數(shù)據(jù)不同的概率也很高,因此在很短的時間內(nèi)就會出現(xiàn)存儲空間不夠的問題,導(dǎo)致后面的數(shù)據(jù)無法存儲,也就失去了數(shù)據(jù)采集的意義。
【發(fā)明內(nèi)容】
[0004]本發(fā)明所要解決的技術(shù)問題是實時數(shù)據(jù)過大而無法有效采集的問題。
[0005]為此目的,本發(fā)明提出了一種實時數(shù)據(jù)存儲方法,包括如下步驟:S1:利用第一移位存儲器順序移位存儲實時采集的數(shù)據(jù);S2:判斷所述第一移位存儲器是否完成一次數(shù)據(jù)存儲循環(huán);S3:當(dāng)所述第一移位存儲器完成一次數(shù)據(jù)存儲循環(huán)時,將所述第一移位存儲器中存儲的數(shù)據(jù)打包為數(shù)據(jù)包;S4:將打包后的數(shù)據(jù)包存儲在第二移位存儲器的最后一個存儲單元中。
[0006]優(yōu)選地,上述實時數(shù)據(jù)存儲方法還包括:當(dāng)判斷所述第一移位存儲器未完成一次數(shù)據(jù)存儲循環(huán)時,返回到步驟Si。
[0007]優(yōu)選地,在所述步驟SI之前還包括:清空所述第一移位存儲器;將計數(shù)器歸零。
[0008]優(yōu)選地,所述步驟S2包括:將所述計數(shù)器的計數(shù)值加I ;判斷所述計數(shù)器的計數(shù)值是否達(dá)到所述第一移位存儲器的最大存儲數(shù),當(dāng)所述計數(shù)器的計數(shù)值達(dá)到所述第一移位存儲器的最大存儲數(shù)時,判斷所述第一移位存儲器完成一次數(shù)據(jù)存儲循環(huán),反之則未完成一次數(shù)據(jù)存儲循環(huán)。
[0009]優(yōu)選地,上述實時數(shù)據(jù)存儲方法還包括:重復(fù)執(zhí)行所述步驟SI至S4,直至所述第二移位存儲器完成一次數(shù)據(jù)存儲循環(huán),然后將所述第二移位存儲器中存儲的數(shù)據(jù)包打包,并將打包后的數(shù)據(jù)包存儲在第三移位存儲器的最后一個存儲單元中。
[0010]本發(fā)明還提出了一種實時數(shù)據(jù)存儲系統(tǒng),包括:第一存儲控制單元,用于控制第一移位存儲器順序移位存儲實時采集的數(shù)據(jù);判斷單元,用于判斷所述第一移位存儲器是否完成一次數(shù)據(jù)存儲循環(huán);打包單元,用于當(dāng)所述第一移位存儲器完成一次數(shù)據(jù)存儲循環(huán)時,將所述第一移位存儲器中存儲的數(shù)據(jù)打包為數(shù)據(jù)包;第二存儲控制單元,用于將打包后的數(shù)據(jù)包存儲在第二移位存儲器的最后一個存儲單元中。
[0011]優(yōu)選地,當(dāng)判斷所述第一移位存儲器未完成一次數(shù)據(jù)存儲循環(huán)時,所述判斷單元使所述第一存儲控制單元工作。
[0012]優(yōu)選地,上述實時數(shù)據(jù)存儲系統(tǒng)還包括:清空單元,在所述第一移位存儲器開始順序移位存儲實時采集的數(shù)據(jù)前,清空所述第一移位存儲器;歸零單元,用于在所述清空單元清空所述第一移位存儲器后,將計數(shù)器歸零。
[0013]優(yōu)選地,所述判斷單元包括:計數(shù)單元,用于將所述計數(shù)器的計數(shù)值加I ;比較單元,用于判斷所述計數(shù)器的計數(shù)值是否達(dá)到所述第一移位存儲器的最大存儲數(shù),當(dāng)所述計數(shù)器的計數(shù)值達(dá)到所述第一移位存儲器的最大存儲數(shù)時,判斷所述第一移位存儲器完成一次數(shù)據(jù)存儲循環(huán),反之則未完成一次數(shù)據(jù)存儲循環(huán)。
[0014]優(yōu)選地,上述實時數(shù)據(jù)存儲系統(tǒng)還包括:第三存儲控制單元,用于當(dāng)所述第二移位存儲器完成一次數(shù)據(jù)存儲循環(huán)后,將所述第二移位存儲器中存儲的數(shù)據(jù)包打包,并將打包后的數(shù)據(jù)包存儲在第三移位存儲器的最后一個存儲單元中。
[0015]通過采用本發(fā)明所公開的實時數(shù)據(jù)存儲方法和系統(tǒng),利用兩個移位存儲器就可以使得車載通信模塊能夠采集到車輛最近一段時間內(nèi)m*n個信息標(biāo)示符的實時數(shù)據(jù),極大提高了車載通信模塊的數(shù)據(jù)存儲能力。
【附圖說明】
[0016]通過參考附圖會更加清楚的理解本發(fā)明的特征和優(yōu)點,附圖是示意性的而不應(yīng)理解為對本發(fā)明進(jìn)行任何限制,在附圖中:
[0017]圖1示出了現(xiàn)有技術(shù)中車輛實時數(shù)據(jù)采集系統(tǒng)的示意圖;
[0018]圖2示出了根據(jù)本發(fā)明實施例的實時數(shù)據(jù)存儲方法的流程圖;
[0019]圖3示出了根據(jù)本發(fā)明另一實施例的實時數(shù)據(jù)存儲方法的流程圖;
[0020]圖4示出了根據(jù)本發(fā)明另一實施例的實時數(shù)據(jù)存儲系統(tǒng)的示意圖;
【具體實施方式】
[0021]下面將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)描述。
[0022]圖2示出了根據(jù)本發(fā)明實施例的實時數(shù)據(jù)存儲方法的流程圖,該方法包括如下步驟:
[0023]S21:利用第一移位存儲器順序移位存儲實時采集的數(shù)據(jù);
[0024]S22:判斷第一移位存儲器是否完成一次數(shù)據(jù)存儲循環(huán),當(dāng)判斷第一移位存儲器完成一次數(shù)據(jù)存儲循環(huán)時進(jìn)入步驟S23,否則返回到步驟S21 ;
[0025]S23:將所述第一移位存儲器中存儲的數(shù)據(jù)打包為數(shù)據(jù)包;
[0026]S24:將打包后的數(shù)據(jù)包存儲在第二移位存儲器的最后一個存儲單元中。
[0027]具體地,通過程序初始化,在車載通信模塊中建立第一移位存儲器A和第二移位存儲器B,并將第一移位存儲器A分為Ap A1、A2、……△111這111+1個存儲單元,將第二移位存儲器B分為B2、……8?這11+1個存儲單元。通過采用上述存儲方法,當(dāng)車載通信模塊開始存儲數(shù)據(jù)時,將接收到的數(shù)據(jù)存儲在第一移位存儲器A的最后一個存儲單元^中;當(dāng)接收下一數(shù)據(jù)時,使存儲在存儲單元Am*數(shù)據(jù)向前移動一個存儲單元,即將數(shù)據(jù)存儲在存儲單元Anrl中,并將新接收到的數(shù)據(jù)存儲在存儲單元A ;當(dāng)再次接收下一數(shù)據(jù)時,使存儲在存儲單元AdP A μ中數(shù)據(jù)分別向前移動一個存儲單元,并將新接收到的數(shù)據(jù)存儲在第一移位存儲器A的最后一個存儲單元Am中,循環(huán)上述過程,每次存儲都將第一移位存儲器A中各個存儲單元中的數(shù)據(jù)向前移動一個存儲單元,并將新接收到的數(shù)據(jù)存儲在最后一個存儲單元。等到第一移位存儲器A完成一次數(shù)據(jù)存儲循環(huán)后,即可將第一移位存儲器A中存儲的數(shù)據(jù)打包成數(shù)據(jù)包,并將打包后的數(shù)據(jù)包存儲在第二移位存儲器B的最后一個存儲單元Bn中。并可以再次循環(huán)上述過程,直至第二移位存儲器B也完成一次數(shù)據(jù)存儲循環(huán)。
[0028]由此,通過采用兩個移位存儲器,就可以使得車載通信模塊能夠采集到車輛最近一段時間內(nèi)m*n個信息標(biāo)示符的實時數(shù)據(jù),極大提高了車載通信模塊的數(shù)據(jù)存儲能力。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明中的移位存儲器不限于兩個,可以采用三個甚至更多個移位存儲器。例如,當(dāng)?shù)诙莆淮鎯ζ魍瓿梢淮螖?shù)據(jù)存儲循環(huán)時,可以將第二移位存儲器中存儲的數(shù)據(jù)包打包,并將打包后的數(shù)據(jù)包存儲在第三移位存儲器的最后一個存儲單元中,以此類推。在本實施例中,第一移位存儲器和第二移位存儲器中存儲單元的個數(shù)m和η為大于或等于I的整數(shù),m與η可以是相等的,也可以是不等的。
[0029]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述移位存儲器可以是內(nèi)部存儲器也可以是外部存儲器;可以其中一個存儲器是內(nèi)部存儲器,而其他存儲器是外部存儲器,從而可以很方便地擴充存儲容量以存儲更多數(shù)據(jù)。
[0030]圖3示出了根據(jù)本發(fā)明另一實施例的實時數(shù)據(jù)存儲方法的流程圖,該方法包括如下步驟:
[0031]S31:清空第一移位存儲器,可以使第一移位存儲器中的數(shù)據(jù)不斷向存儲單元Atl方向移位,并最終使存儲單元Atl中的數(shù)據(jù)溢出第一移位存儲器A來實現(xiàn)該清空步驟;
[0032]S32:將計數(shù)器歸零;
[0033]S33:利用第一移位存儲器順序移位存儲實時采集的數(shù)據(jù);
[0034]