一種海量車機軌跡數據的存儲方法
【專利摘要】本發明公開一種海量車機軌跡數據的存儲方法,其能夠滿足海量車機接入情況下每天產生TB級軌跡數據的存儲需求,并能在短時間內檢索到某一輛車的軌跡數據。這種海量車機軌跡數據的存儲方法,該存儲方法以文件系統為存儲介質,在文件系統上按年月日三個級別劃分為三個層次的目錄結構,每個車機每天產生一個軌跡文件,存放到相應的目錄下;在每天0點把前一天的這些軌跡文件進行合并壓縮處理。
【專利說明】一種海量車機軌跡數據的存儲方法
【技術領域】
[0001]本發明涉及車輛數據處理的【技術領域】,具體地涉及一種海量車機軌跡數據的存儲方法。
【背景技術】
[0002]目前主流的車機軌跡數據的存儲方法,大部分是以數據庫為介質,多個車機的軌跡存儲在一個數據庫表內。但是,這種存儲方法效率極其低下,在查詢和插入操作并發的情況下會產生相互的鎖等待,尤其當提取某幾天的單個車機的軌跡的情況下,需要掃描大量的數據庫塊文件才能提取到相應的信息,因此,這種存儲方法只能應對I萬車機以下的場景,對于目前突飛猛進的車機接入增長需求,就會束手無策。
【發明內容】
[0003]本發明的技術解決問題是:克服現有技術的不足,提供一種海量車機軌跡數據的存儲方法,其能夠滿足海量車機接入情況下每天產生TB級軌跡數據的存儲需求,并能在短時間內檢索到某一輛車的軌跡數據。
[0004]本發明的技術解決方案是:這種海量車機軌跡數據的存儲方法,該存儲方法以文件系統為存儲介質,在文件系統上按年月日三個級別劃分為三個層次的目錄結構,每個車機每天產生一個軌跡文件,存放到相應的目錄下;在每天O點把前一天的這些軌跡文件進行合并壓縮處理。
[0005]本發明通過以文件系統為存儲介質,在文件系統上按年月日三個級別劃分為三個層次的目錄結構,就能夠滿足海量車機接入情況下每天產生TB級軌跡數據的存儲需求;當檢索某個車機的一個時間段內的軌跡數據時,根據時間段和車機的唯一標識可以快速的定位到軌跡文件所在的位置,相對于數據庫的存儲方式減少了很多冗余信息的1操作,大幅度地提升了檢索效率。
【專利附圖】
【附圖說明】
[0006]圖1為根據本發明的海量車機軌跡數據的存儲方法的一個優選實施例的示意圖。
[0007]圖2為本發明通過車輛唯一標識定位所在物理機器的流程圖。
[0008]圖3為本發明的一主機一備機存儲的不意圖。
【具體實施方式】
[0009]如圖1所示,這種海量車機軌跡數據的存儲方法,該存儲方法以文件系統為存儲介質,在文件系統上按年月日三個級別劃分為三個層次的目錄結構,每個車機每天產生一個軌跡文件,存放到相應的目錄下;隨著時間的增長,上面的存儲方式會產生大量的軌跡文件,占用文件系統的Inodes (索引節點,文件數據都儲存在〃塊〃中,那么很顯然,還必須找到一個地方儲存文件的元信息,比如文件的創建者、文件的創建日期、文件的大小等等。這種儲存文件元信息的區域就叫做inode)數量,隨之Inodes數量不斷增加,會降低1存儲效率,為了解決這個問題,在每天O點把前一天的這些軌跡文件進行合并壓縮處理。
[0010]本發明通過以文件系統為存儲介質,在文件系統上按年月日三個級別劃分為三個層次的目錄結構,就能夠滿足海量車機接入情況下每天產生TB級軌跡數據的存儲需求;當檢索某個車機的一個時間段內的軌跡數據時,根據時間段和車機的唯一標識可以快速的定位到軌跡文件所在的位置,相對于數據庫的存儲方式減少了很多冗余信息的1操作,大幅度地提升了檢索效率。
[0011 ] 另外,該方法把這些軌跡文件壓縮為META文件和DATA文件。
[0012]另外,所述META文件中包含每個車機在DATA文件的起始位置、占用字節數量、當日的車機總數、每個車機的軌跡數量、報警總數、以及全部軌跡數量的總和。
[0013]另外,根據業務需求創建索引,索引包括上報軌跡數量、報警數量、行駛里程、胎壓中的一種或多種。
[0014]另外,所述DATA文件存儲壓縮后的軌跡數據,壓縮前軌跡數據為字符串方式,通過壓縮算法根據壓縮前軌跡數據的類型壓縮成相應的格式,省略字符串存儲方式的分割符。
[0015]另外,所述壓縮前軌跡數據為經瑋度信息,壓縮為數字方式。比如經瑋度信息65348879,如果按照字符串存儲占用8個字節(GBK方式為16個字節),修改為數字方式存儲只占用4個字節,節省了 50%空間,這種存儲方式還省略的字符存儲方式的分割符,因此總體算下來整體節省空間60%在左右。
[0016]另外,該方法把單臺物理機器硬盤存儲擴展為至少兩臺物理機器硬盤存儲,一主機一備機,如圖3所示,默認情況下軌跡讀寫服務在主機上進行,通過drbd(drbd是一種塊設備,可以被用于高可用(HA)之中.它類似于一個網絡RAID-1功能.當將數據寫入本地文件系統時,數據還將會被發送到網絡中另一臺主機上.以相同的形式記錄在一個文件系統中)服務把數據同步到備機,當主機發生故障時,修改局域網dns服務使其指向備機,由備機繼續提供軌跡讀寫服務,主機修復故障后,再使其變為備機。
[0017]當然,在此之前還需要將車輛的唯一標識部分加入該車其軌跡數據所在物理機器標識,通過車輛唯一標識定位所在物理機器的流程如圖2所示,其包括以下步驟:
[0018](I)獲取車輛唯一標識;
[0019](2)截取該標識的前10位字符串;
[0020](3)根據步驟(2)的字符串查詢局域網dns ;
[0021](4)路由到存儲該車軌跡物理存儲單元。
[0022]以上所述,僅是本發明的較佳實施例,并非對本發明作任何形式上的限制,凡是依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發明技術方案的保護范圍。
【權利要求】
1.一種海量車機軌跡數據的存儲方法,其特征在于:該存儲方法以文件系統為存儲介質,在文件系統上按年月日三個級別劃分為三個層次的目錄結構,每個車機每天產生一個軌跡文件,存放到相應的目錄下;在每天O點把前一天的這些軌跡文件進行合并壓縮處理。
2.根據權利要求1所述的海量車機軌跡數據的存儲方法,其特征在于:該方法把這些軌跡文件壓縮為META文件和DATA文件。
3.根據權利要求2所述的海量車機軌跡數據的存儲方法,其特征在于:所述META文件中包含每個車機在DATA文件的起始位置、占用字節數量、當日的車機總數、每個車機的軌跡數量、報警總數、以及全部軌跡數量的總和。
4.根據權利要求3所述的海量車機軌跡數據的存儲方法,其特征在于:根據業務需求創建索引,索引包括上報軌跡數量、報警數量、行駛里程、胎壓中的一種或多種。
5.根據權利要求4所述的海量車機軌跡數據的存儲方法,其特征在于:所述DATA文件存儲壓縮后的軌跡數據,壓縮前軌跡數據為字符串方式,通過壓縮算法根據壓縮前軌跡數據的類型壓縮成相應的格式,省略字符串存儲方式的分割符。
6.根據權利要求5所述的海量車機軌跡數據的存儲方法,其特征在于:所述壓縮前軌跡數據為經瑋度信息,壓縮為數字方式。
7.根據權利要求1所述的海量車機軌跡數據的存儲方法,其特征在于:該方法把單臺物理機器硬盤存儲擴展為至少兩臺物理機器硬盤存儲,一主機一備機,默認情況下軌跡讀寫服務在主機上進行,通過drbd服務把數據同步到備機,當主機發生故障時,修改局域網dns服務使其指向備機,由備機繼續提供軌跡讀寫服務,主機修復故障后,再使其變為備機。
【文檔編號】G06F17/30GK104516955SQ201410779344
【公開日】2015年4月15日 申請日期:2014年12月16日 優先權日:2014年12月16日
【發明者】韓希發, 楊健, 鄧偉 申請人:北京中交興路車聯網科技有限公司