一種基于HBase的卡口數(shù)據(jù)處理方法
【專利摘要】本發(fā)明涉及一種基于HBase的卡口數(shù)據(jù)處理方法,包括獲取待存儲的數(shù)據(jù)記錄,判斷數(shù)據(jù)量大小,如果是少量臨時性數(shù)據(jù),將少量臨時性數(shù)據(jù)通過關系數(shù)據(jù)庫SQL?server進行存儲;如果是海量數(shù)據(jù),判斷海量數(shù)據(jù)的結構狀態(tài),如果為結構化數(shù)據(jù),通過分布式數(shù)據(jù)庫Hbase進行存儲,如果為非結構化數(shù)據(jù),通過文件系統(tǒng)HDFS進行存儲。相對現(xiàn)有技術,本發(fā)明可以快速訪問數(shù)據(jù),提升數(shù)據(jù)處理效率,解決海量數(shù)據(jù)處理難題。
【專利說明】—種基于HBase的卡口數(shù)據(jù)處理方法
【技術領域】
[0001]本發(fā)明涉及計算機領域,特別涉及一種基于HBase的卡口數(shù)據(jù)處理方法。
【背景技術】
[0002]最近幾年隨著公安加大卡口系統(tǒng)(設置在交通要道等有防守和檢查設施的出入口的監(jiān)控系統(tǒng))的建設,針對卡口系統(tǒng)的大范圍聯(lián)網(wǎng)和綜合應用變的越來越重要。車輛通過卡口點位時系統(tǒng)需要提取并記錄卡點信息、通過時間、車牌、車速、車牌顏色等詳細信息。在傳統(tǒng)的關系型數(shù)據(jù)庫中,通常以車輛通行記錄編號(唯一標識卡口點位的車輛經(jīng)過記錄)為主鍵、以車輛通行記錄的各個屬性為列,創(chuàng)建車輛通行記錄信息表。但是隨著卡口系統(tǒng)建設的數(shù)量的增加,卡口車輛信息的數(shù)據(jù)量也快速增長,已經(jīng)達到了數(shù)十億條記錄的級另O,傳統(tǒng)的關系型數(shù)據(jù)庫已經(jīng)無法滿足系統(tǒng)的需求,必須采用新的技術手段來進行海量數(shù)據(jù)的快速處理。
【發(fā)明內(nèi)容】
[0003]本發(fā)明所要解決的技術問題是提供一種快速訪問數(shù)據(jù),提升數(shù)據(jù)處理效率,解決海量數(shù)據(jù)處理難題的基于HBase的卡口數(shù)據(jù)處理方法。
[0004]本發(fā)明解決上述技術問題的技術方案如下:一種基于HBase的卡口數(shù)據(jù)處理方法,包括以下步驟:
[0005]步驟1:獲取待存儲的數(shù)據(jù)記錄;
[0006]步驟2:判斷數(shù)據(jù)量大小,如果是少量臨時性數(shù)據(jù)(數(shù)據(jù)記錄小于一億條的數(shù)據(jù)),則執(zhí)行步驟3 ;如果是海量數(shù)據(jù)(數(shù)據(jù)記錄大于或等于一億條的數(shù)據(jù)),則執(zhí)行步驟4 ;
[0007]步驟3:將少量臨時性數(shù)據(jù)通過關系數(shù)據(jù)庫SQL server進行存儲;
[0008]步驟4:判斷海量數(shù)據(jù)的結構狀態(tài),如果為結構化數(shù)據(jù)(即行數(shù)據(jù),存儲在數(shù)據(jù)庫里,可以用二維表結構來邏輯表達實現(xiàn)的數(shù)據(jù)),通過分布式數(shù)據(jù)庫Hbase進行存儲;如果為非結構化數(shù)據(jù)(不方便用數(shù)據(jù)庫二維邏輯表來表現(xiàn)的數(shù)據(jù)),通過文件系統(tǒng)HDFS (HadoopDistributed File System,是一個分布式文件系統(tǒng),HDFS有著高容錯性的特點,并且設計用來部署在低廉的硬件上)進行存儲。
[0009]本發(fā)明的有益效果是:通過對卡口數(shù)據(jù)的分類處理,提升了卡口的數(shù)據(jù)處理效率,解決了目前卡口系統(tǒng)中海量數(shù)據(jù)處理的難題。
[0010]在上述技術方案的基礎上,本發(fā)明還可以做如下改進。
[0011]進一步技術方案,所述分布式數(shù)據(jù)庫HBase (Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術可在廉價PC Server上搭建起大規(guī)模結構化存儲集群)表結構的Row Key (Row key是分布式數(shù)據(jù)庫HBase —系列二維數(shù)組的集合結構中的主鍵)采用36進制編碼,36進制的I到4位表示相機對應的組織機構編號,36進制5到6位表不相機所在組織機構中對應卡點編號,36進制的第7位表不相機所在卡點中對應鏡頭編號,36進制的8到10位表示卡口車輛通行日期,36進制的11到14位表示卡口車輛通行時間,36進制的15到22位表示卡口車輛車牌號碼,36進制的23到24位表示卡口車輛的速度、36進制的第25位表示車牌種類、36進制的第26位表示車牌號顏色,36進制的第27位表示車身顏色,36進制的28到29位表示汽車標志、36進制的第30位表示加密標識信息。
[0012]采用上述進一步方案的有益效果是:方便數(shù)據(jù)查找,可以使得新寫入的數(shù)據(jù)在查找的時候被快速找到。
[0013]所述分布式數(shù)據(jù)庫HBase表結構的Row Key同時存儲到多個Region server (域服務器)。
[0014]采用上述進一步方案的有益效果是:通過多個Region server來分散多用戶請求的壓力。
[0015]所述通行日期和時間使用逆序的時間戳(一個字符序列,唯一的標識某一刻的時間)進行二進制存儲。
[0016]采用上述進一步方案的有益效果是:每個卡口點相機抓拍數(shù)據(jù)中最新的數(shù)據(jù)存儲在最前面,最新的數(shù)據(jù)的應用價值最大,也是大部分用戶比較感興趣的數(shù)據(jù),通過這種方式可以大大加快了訪問數(shù)據(jù)的速度。
【專利附圖】
【附圖說明】
[0017]圖1為本發(fā)明一種基于HBase的卡口數(shù)據(jù)處理方法的流程圖。
【具體實施方式】
[0018]以下結合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0019]如圖1所示,一種基于HBase的卡口數(shù)據(jù)處理方法,包括以下步驟:
[0020]步驟1:獲取待存儲的數(shù)據(jù)記錄;
[0021]步驟2:判斷數(shù)據(jù)量大小,如果是少量臨時性數(shù)據(jù),則執(zhí)行步驟3 ;如果是海量數(shù)據(jù),則執(zhí)行步驟4;
[0022]步驟3:將少量臨時性數(shù)據(jù)通過關系數(shù)據(jù)庫SQL server進行存儲;
[0023]步驟4:判斷海量數(shù)據(jù)的結構狀態(tài),如果為結構化數(shù)據(jù),通過分布式數(shù)據(jù)庫Hbase進行存儲;如果為非結構化數(shù)據(jù),通過分布式文件系統(tǒng)HDFS進行存儲。
[0024]所述分布式數(shù)據(jù)庫HBase表結構的Row Key采用36進制編碼,36進制的I到4位表示相機對應的組織機構編號,36進制5到6位表示相機所在組織機構中對應卡點編號,36進制的第7位表示相機所在卡點中對應鏡頭編號,36進制的8到10位表示卡口車輛通行日期,36進制的11到14位表示卡口車輛通行時間,36進制的15到22位表示卡口車輛車牌號碼,36進制的23到24位表示卡口車輛的速度、36進制的第25位表示車牌種類、36進制的第26位表示車牌號顏色,36進制的第27位表示車身顏色,36進制的28到29位表示汽車標志、36進制的第30位表示加密標識信息。
[0025]所述分布式數(shù)據(jù)庫HBase表結構的Row Key同時存儲到多個Region server。
[0026]所述通行日期和時間使用逆序的時間戳進行二進制存儲。
[0027]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種基于HBase的卡口數(shù)據(jù)處理方法,其特征在于:包括以下步驟: 步驟1:獲取待存儲的數(shù)據(jù)記錄; 步驟2:判斷數(shù)據(jù)量大小,如果是少量臨時性數(shù)據(jù),則執(zhí)行步驟3 ;如果是海量數(shù)據(jù),則執(zhí)行步驟4 ; 步驟3:將少量臨時性數(shù)據(jù)通過關系數(shù)據(jù)庫SQL server進行存儲; 步驟4:判斷海量數(shù)據(jù)的結構狀態(tài),如果為結構化數(shù)據(jù),通過分布式數(shù)據(jù)庫Hbase進行存儲;如果為非結構化數(shù)據(jù),通過文件系統(tǒng)HDFS進行存儲。
2.根據(jù)權利要求1所述一種基于HBase的卡口數(shù)據(jù)處理方法,其特征在于:所述分布式數(shù)據(jù)庫HBase表結構的Row Key采用36進制編碼,36進制的I到4位表示相機對應的組織機構編號,36進制5到6位表不相機所在組織機構中對應卡點編號,36進制的第7位表示相機所在卡點中對應鏡頭編號,36進制的8到10位表示卡口車輛通行日期,36進制的11到14位表示卡口車輛通行時間,36進制的15到22位表示卡口車輛車牌號碼,36進制的23到24位表示卡口車輛的速度、36進制的第25位表示車牌種類、36進制的第26位表示車牌號顏色,36進制的第27位表示車身顏色,36進制的28到29位表示汽車標志、36進制的第30位表示加密標識信息。
3.根據(jù)權利要求1或2所述一種基于HBase的卡口數(shù)據(jù)處理方法,其特征在于:所述分布式數(shù)據(jù)庫HBase表結構的Row Key同時存儲到多個Reg1n server。
4.根據(jù)權利要求1或2所述一種基于HBase的卡口數(shù)據(jù)處理方法,其特征在于:所述通行日期和時間使用逆序的時間戳進行二進制存儲。
【文檔編號】G06F17/30GK104050271SQ201410284598
【公開日】2014年9月17日 申請日期:2014年6月23日 優(yōu)先權日:2014年6月23日
【發(fā)明者】周海波, 鄭兆妙, 蔡懿博 申請人:桂林長海科技有限責任公司