国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      無線電監(jiān)測數據查詢方法

      文檔序號:10569994閱讀:683來源:國知局
      無線電監(jiān)測數據查詢方法
      【專利摘要】本發(fā)明公開了一種無線電監(jiān)測數據查詢方法,包括通用接口模塊、數據傳輸模塊、HBase數據庫和歷史數據編排模塊;通用接口模塊、數據傳輸模塊、HBase數據庫依次連接,歷史數據編排模塊和HBase數據庫連接,所述查詢方法包括數據編排過程、數據回放過程和回放停止過程,本發(fā)明具有查詢速度快、查詢精度高,可對海量半結構化或者非結構化數據進行快速實時回放的特點。
      【專利說明】
      無線電監(jiān)測數據查詢方法
      技術領域
      [0001]本發(fā)明涉及無線電歷史監(jiān)測數據回放技術領域,尤其是涉及一種可對海量半結構化或者非結構化數據進行快速實時回放的無線電監(jiān)測數據查詢方法。
      【背景技術】
      [0002]無線電監(jiān)測是大型運動會、國際會議等活動的安全保障和實時監(jiān)督檢查的重要手段,無線電監(jiān)測工作用于掌握頻率情況、保障無線電頻率,迅速查處有害干擾。
      [0003]隨著監(jiān)測設備的發(fā)展和監(jiān)測需求的細化,無線電監(jiān)測數據的數量呈爆炸式增長,通常一臺設備在幾個月內的監(jiān)測數據可達到TB數據級,并且為非結構化或者半結構化監(jiān)控記錄,運用傳統(tǒng)的存儲和處理方法已經無法滿足數據查詢的需要;其次,為了節(jié)省存儲空間,無線電監(jiān)控數據通常采用字節(jié)流的形式進行存儲,而觀測人員需要在第一時間定位并顯示監(jiān)測數據。
      [0004]目前,無線電監(jiān)測數據的歷史實時回放,通常有以下兩種方案:
      [0005]采用分布式的Sqlite數據庫的形式對監(jiān)測數據進行逐條存儲,每個分布式的Sqlite大小為2G。該方法適用于低頻采樣的數據設備,且存儲監(jiān)測數據的歷史跨度很小,往往只有幾臺設備幾天的數據量。
      [0006]采用文件系統(tǒng)映射的方法,歷史監(jiān)測數據以文件的形式保存,文件的路徑保存于關系型數據庫并顯示給用戶,用戶通過文件逐條查詢記錄。觀測人員在查找數據時,需要逐條觀測數據,從而定位到需要的觀測點,需耗費大量的人力精力,觀測人員事先無法概覽整個觀測數據。
      [0007]可見,目前無線電監(jiān)測方法不能有效的對海量的半結構化或者非結構化的數據進行快速實時回放。

      【發(fā)明內容】

      [0008]本發(fā)明的發(fā)明目的是為了克服現(xiàn)有技術中的無線電監(jiān)測方法對海量半結構化或者非結構化數據進行快速實時回放的不足,提供了一種可對海量半結構化或者非結構化數據進行快速實時回放的無線電監(jiān)測數據查詢方法。
      [0009]為了實現(xiàn)上述目的,本發(fā)明采用以下技術方案:
      [0010]一種無線電監(jiān)測數據查詢方法,包括通用接口模塊、數據傳輸模塊、HBase數據庫和歷史數據編排模塊;通用接口模塊、數據傳輸模塊、HBase數據庫依次連接,歷史數據編排模塊和HBase數據庫連接,所述查詢方法包括數據編排過程、數據回放過程和回放停止過程;
      [0011]數據編排過程包括如下步驟:歷史數據編排模塊將原始監(jiān)測數據的每一條記錄解封后,讀取記錄的每個數據幀,根據每個數據幀的幀內信息生成rowkey索引,歷史數據編排模塊通過API接口將每個數據幀、與每個數據幀關聯(lián)的rowkey索引批量導入HBase數據庫;HBase數據庫中設有若干個設備表。
      [0012]本發(fā)明通過設計的rowkey索引,將無線電監(jiān)測數據逐條載入HBase數據庫中,并有效防止監(jiān)測設備過快時在時間重復時記錄的重復,支持用戶逐記錄快速查詢;通過數據傳輸模塊的查詢條件與rowkey的對應,實現(xiàn)了用戶的任意、快速實時的定位并回放數據。
      [0013]作為優(yōu)選,所述數據回放過程包括如下步驟:
      [0014](2-1)通用接口模塊接收用戶的查詢請求,并將查詢請求發(fā)送給數據傳輸模塊;
      [0015](2-2)數據傳輸模塊收到查詢請求后,以queryid+” query”字段查詢數據傳輸模塊的消息表,如果查到消息表,則轉入步驟(2-3);
      [0016]如果消息表不存在,數據傳輸模塊生成消息表(5),消息表包括傳輸集群kafka的生產者P1、消費者c 1、訂閱消息query i d+” query”、生產者p2、消費者c2和訂閱消息query i d+
      U, ”
      request ;
      [0017](2-3)數據傳輸模塊的kafka集群(6)將查詢內容通過pl發(fā)送到cl,cl接收到查詢內容后,查詢HBase的各個設備表中與查詢內容的查詢設備ID相對應的設備表,如果沒找到設備表,則返回一個查詢失敗的消息格式;
      [0018]如果找到設備表,以查詢內容的記錄開始時間Tl、記錄結束時間T2、服務ID和查詢頻率查詢各個rowkey索引;如果找不到與服務ID或者查詢頻率匹配的rowkey索引,則返回查詢失敗的消息;
      [0019]如果找到與服務ID和查詢頻率匹配并且TlS記錄時間<T2的若干個rowkey索引,根據各個rowkey索引提取HBase數據庫的各個數據幀,各個數據幀構成查詢到的歷史記錄;
      [0020](2-4)查詢消息表,通過Cl查詢與其對應的p2,p2接收歷史記錄后,將歷史記錄發(fā)給c2,c2將歷史記錄發(fā)送給查詢用戶。
      [0021]作為優(yōu)選,所述回放停止過程包括如下步驟:
      [0022]通用接口模塊接收用戶的查詢請求,通用接口模塊將查詢請求以XML的形式發(fā)送給數據傳輸模塊,其中用戶查詢參數為O;
      [0023]數據傳輸模塊收到請求后,以queryid+” query”字段查詢數據傳輸模塊的消息表;
      [0024]數據編排模塊通過pl,cl,得到用戶的請求,得知查詢參數為0,停止給用戶發(fā)送消息;
      [0025]數據編排模塊將PI,cl退出對queryid+”query”消息的訂閱,將p2,c2退出對queryid」,request” 消息的訂閱;同時,刪除(31,口1,。2,口2,消息 query id+” query” 和query i d_” reque s t”,并且刪除消息表。
      [0026]作為優(yōu)選,所述rowkey索引包括I個字節(jié)的散列字段、4個字節(jié)的時間戳字段、I個字節(jié)的監(jiān)測服務編碼字段、4個字節(jié)的監(jiān)測頻率字段和4個字節(jié)的負載字段。
      [0027]本發(fā)明通過rowkey索引生成算法控制rowkey索引的長度和內容,在滿足區(qū)分各條記錄的同時,又通過縮短rowkey索引的各個字段,有效降低了存儲空間,使歷史數據的查詢效率有效提升。
      [0028]作為優(yōu)選,rowkey索引的生成過程包括包括時間戳字段生成步驟,散列字段生成步驟、監(jiān)測服務編碼字段生成步驟和負載編碼字段生成步驟;
      [0029]時間戳字段生成步驟如下:歷史數據編排模塊讀取每幀數據的幀頭,獲取每幀數據的記錄時間,并將記錄時間轉化為毫秒數,將毫秒數存入時間戳字段。
      [0030]將記錄時間的毫秒數保存于rowkey的時間戳字段4個字節(jié)中,使精確到毫秒的時間戳保存從17字節(jié)下降到4個字節(jié),有效節(jié)約了rowkey的字節(jié)空間,提高了查詢效率。
      [0031 ]作為優(yōu)選,所述散列字段生成步驟如下:
      [0032]歷史數據編排模塊將毫秒數以256取余,其結果保存于散列字段中。
      [0033]作為優(yōu)選,所述監(jiān)測服務編碼字段生成步驟如下:
      [0034]歷史數據編排模塊獲取每幀數據的監(jiān)測服務編碼,將監(jiān)測服務編碼保存在監(jiān)測服務編碼字段中。
      [0035]根據國家標準規(guī)定,無線電監(jiān)測需要滿足26種監(jiān)測服務,分別從I到26開始編碼,存入監(jiān)測服務編碼字段中;27至265可用于后續(xù)擴展。
      [0036]作為優(yōu)選,所述負載編碼字段生成步驟如下:
      [0037]歷史數據編排模塊獲取每幀數據的幀負載,讀取幀負載每個字段的值L;利用公式S = 21+1計算每個字段值的變換值S,將各個字段的S相加得到S7,將S7寫入rowkey索引的負載編碼字段中。
      [0038]根據國家標準規(guī)定,無線電監(jiān)測幀負載中需要實現(xiàn)18個選項。因此只需要占用18位,空余的14位后續(xù)擴展用。
      [0039]因此,本發(fā)明具有如下有益效果:查詢速度快、查詢精度高,可對海量半結構化或者非結構化數據進行快速實時回放。
      【附圖說明】
      [0040]圖1是本發(fā)明的一種原理不意圖;
      [0041 ]圖2是本發(fā)明的數據回放過程的一種流程圖;
      [0042]圖3是本發(fā)明的回放停止過程的一種流程圖。
      [0043]圖中:通用接口模塊1、數據傳輸模塊2、HBase數據庫3、歷史數據編排模塊4、消息表5、kafka集群6。
      【具體實施方式】
      [0044]下面結合附圖和【具體實施方式】對本發(fā)明做進一步的描述。
      [0045]如圖1所示的實施例是包括通用接口模塊1、數據傳輸模塊2、HBase數據庫3和歷史數據編排模塊4;通用接口模塊、數據傳輸模塊、HBase數據庫依次連接,歷史數據編排模塊和HBase數據庫連接,所述查詢方法包括數據編排過程、數據回放過程和回放停止過程;
      [0046]數據編排過程包括如下步驟:歷史數據編排模塊將原始監(jiān)測數據的每一條記錄解封后,讀取記錄的每個數據幀,根據每個數據幀的幀內信息生成rowkey索引,歷史數據編排模塊通過API接口將每個數據幀、與每個數據幀關聯(lián)的rowkey索引批量導入HBase數據庫;HBase數據庫中設有多個設備表。
      [0047]如圖2所示,數據回放過程包括如下步驟:
      [0048]步驟100,接收查詢請求
      [0049]通用接口模塊接收用戶的查詢請求,通用接口模塊將查詢請求以XML的形式發(fā)送給數據傳輸模塊;
      [0050]步驟200,查詢消息表
      [0051 ]數據傳輸模塊收到請求后,以queryid+” query”字段查詢數據傳輸模塊的消息表,如果查到消息表,則轉入步驟400;
      [0052]查到消息表,說明接收到的是再次查詢請求,數據傳輸模塊中已經有消息表,
      [0053]如果消息表不存在,說明是第一次收到查詢請求,數據傳輸模塊中還沒有建立消息表,如圖1所示的數據傳輸模塊生成消息表5,消息表包括傳輸集群kafka的生產者pl、消費者c 1、訂閱消息qu er y i d+” qu er y”、生產者P 2、消費者c 2和訂閱消息qu er y i d+ “r e qu e s t” ;
      [0054]步驟300,查詢歷史記錄
      [0055]數據傳輸模塊的如圖1所示的kafka集群6將查詢內容通過pl發(fā)送到Cl,cl接收到查詢內容后,查詢HBase的各個設備表中與查詢內容的查詢設備ID相對應的設備表,如果沒找到設備表,則返回一個查詢失敗的消息格式;
      [0056]如果找到設備表,以查詢內容的記錄開始時間Tl、記錄結束時間T2、服務ID和查詢頻率查詢各個rowkey索引;如果找不到與服務ID或者查詢頻率匹配的rowkey索引,則返回查詢失敗的消息;
      [0057]如果找到與服務ID和查詢頻率匹配并且TlS記錄時間<T2的若干個rowkey索引,根據各個rowkey索引提取HBase數據庫的各個數據幀,各個數據幀構成查詢到的歷史記錄;
      [0058]步驟400,給查詢用戶返回歷史記錄
      [0059]查詢消息表,通過cl查詢與其對應的p2,p2接收歷史記錄后,將歷史記錄發(fā)給c2,c2將歷史記錄發(fā)送給查詢用戶。
      [0060]rowkey索引包括I個字節(jié)的散列字段、4個字節(jié)的時間戳字段、I個字節(jié)的監(jiān)測服務編碼字段、4個字節(jié)的監(jiān)測頻率字段和4個字節(jié)的負載字段。
      [0061]rowkey索引的生成過程包括時間戳字段生成步驟,散列字段生成步驟、監(jiān)測服務編碼字段生成步驟和負載編碼字段生成步驟;
      [0062]時間戳字段生成步驟:歷史數據編排模塊讀取每幀數據的幀頭,獲取每幀數據的記錄時間,并將記錄時間轉化為毫秒數,將毫秒數存入時間戳字段。
      [0063]散列字段生成步驟:
      [0064]歷史數據編排模塊將毫秒數以256取余,其結果保存于散列字段中。
      [0065]監(jiān)測服務編碼字段生成步驟:
      [0066]歷史數據編排模塊獲取每幀數據的監(jiān)測服務編碼,將監(jiān)測服務編碼保存在監(jiān)測服務編碼字段中。
      [0067]負載編碼字段生成步驟:
      [0068]歷史數據編排模塊獲取每幀數據的幀負載,讀取幀負載每個字段的值L;利用公式S = 21+1計算每個字段值的變換值S,將各個字段的S相加得到S7,將S7寫入rowkey索引的負載編碼字段中。
      [0069]例如,某幀數據的監(jiān)測服務編碼和監(jiān)測記錄為〈監(jiān)測服務編號:5,(幀頭:20160511121415879,幀負載:DT = 3DT = 6DT = 8fre = 91.8)>;表示該幀數據由服務編號為5的監(jiān)測服務產生,且?guī)^中時間為2016年05月11日12點14分15秒879毫秒,幀負載中含有的選項值為2、6、8,監(jiān)測頻率為91.8MHZ;歷史數據編排模塊將幀頭中的20160511121415879時間轉化為毫秒數1462896855879,對毫秒數1462896855879取256的余為71;歷史數據編排模塊將71放入rowkey的散列字段中,將1462896855879放入rowkey的時間戳字段中,將監(jiān)測服務編碼5放入rowkey的監(jiān)測服務編碼中,將幀負載中的91.8頻率放入rowkey字段的監(jiān)測頻率字段中,利用公式S = 2l+1計算每個字段值的變換值S,DT = 3DT = 6DT = 8的變換值S分別為9,65,257;S^=9 + 65 + 257 = 333;最終形成的rowkey索引的字段值為711462896855879591.8333,即rowkey索引用14個字節(jié)表示了散列字段、時間戳字段、監(jiān)測服務編碼字段、監(jiān)測頻率字段、負載編碼字段。
      [0070]如圖3所示,回放停止過程包括如下步驟:
      [0071]步驟1000,接收查詢請求
      [0072]通用接口模塊接收用戶的查詢請求,通用接口模塊將查詢請求以XML的形式發(fā)送給數據傳輸模塊,其中用戶查詢參數為O;
      [0073]步驟2000,查詢消息表
      [0074]數據傳輸模塊收到請求后,以queryid+” query”字段查詢數據傳輸模塊的消息表;
      [0075]步驟3000,給查詢用戶返回結果
      [0076]數據編排模塊通過pl,cl,得到用戶的請求,得知查詢參數為0,停止給用戶發(fā)送消息;
      [0077]步驟4000,刪除消息表
      [0078]數據編排模塊將PI,cl退出對queryid+”query”消息的訂閱,將p2,c2退出對queryid」,request” 消息的訂閱;同時,刪除(31,口1,。2,口2,消息 query id+” query” 和queryid_”request”,并且刪除消息表;至此,完成用戶的停止請求。
      [0079]經過試驗計算,本發(fā)明的大數據實時回放方法在PB級的監(jiān)控數據能以秒級或者毫秒級定位到用戶所需要的數據,快速呈現(xiàn)給用戶,同時用戶能夠通過用戶查詢參數控制獲取數據的速度,實現(xiàn)了大數據環(huán)境下用戶的按需獲取數據;得益于rowkey索引帶有幀負載內容的設計,在采集過快、幀相同時也不會出現(xiàn)幀重復和丟失的現(xiàn)象;并且通過rowkey索引的生成算法,能夠節(jié)省HBase的reg1n server的50%的存儲空間,減少了磁盤的存儲空間,通過幀負載內容到rowkey的映射算法,大大提升了大數據的查詢效率。
      [0080]應理解,本實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應理解,在閱讀了本發(fā)明講授的內容之后,本領域技術人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權利要求書所限定的范圍。
      【主權項】
      1.一種無線電監(jiān)測數據查詢方法,其特征是,包括通用接口模塊(I)、數據傳輸模塊(2)、HBase數據庫(3)和歷史數據編排模塊(4);通用接口模塊、數據傳輸模塊、HBase數據庫依次連接,歷史數據編排模塊和HBase數據庫連接,所述查詢方法包括數據編排過程、數據回放過程和回放停止過程; 數據編排過程包括如下步驟:歷史數據編排模塊將原始監(jiān)測數據的每一條記錄解封后,讀取記錄的每個數據幀,根據每個數據幀的幀內信息生成rowkey索引,歷史數據編排模塊通過API接口將每個數據幀、與每個數據幀關聯(lián)的rowkey索引批量導入HBase數據庫;HBase數據庫中設有若干個設備表。2.根據權利要求1所述的無線電監(jiān)測數據查詢方法,其特征是,所述數據回放過程包括如下步驟: (2-1)通用接口模塊接收用戶的查詢請求,并將查詢請求發(fā)送給數據傳輸模塊; (2-2)數據傳輸模塊收到查詢請求后,以queryid+” query”字段查詢數據傳輸模塊的消息表,如果查到消息表,則轉入步驟(2-3); 如果消息表不存在,數據傳輸模塊生成消息表(5 ),消息表包括傳輸集群k a f ka的生產者pl、消費者cl、訂閱消息query id+” query”、生產者p2、消費者c2和訂閱消息query id+?? , ”request ; (2-3)數據傳輸模塊的kaf ka集群(6)將查詢內容通過PI發(fā)送到cl,cl接收到查詢內容后,查詢HBase的各個設備表中與查詢內容的查詢設備ID相對應的設備表,如果沒找到設備表,則返回一個查詢失敗的消息格式; 如果找到設備表,以查詢內容的記錄開始時間Tl、記錄結束時間T2、服務ID和查詢頻率查詢各個rowkey索引;如果找不到與服務ID或者查詢頻率匹配的rowkey索引,則返回查詢失敗的消息; 如果找到與服務ID和查詢頻率匹配并且TlS記錄時間<T2的若干個rowkey索引,根據各個rowkey索引提取HBase數據庫的各個數據幀,各個數據幀構成查詢到的歷史記錄; (2-4)查詢消息表,通過Cl查詢與其對應的p2,p2接收歷史記錄后,將歷史記錄發(fā)給c2,c2將歷史記錄發(fā)送給查詢用戶。3.根據權利要求1所述的無線電監(jiān)測數據查詢方法,其特征是,所述回放停止過程包括如下步驟: 通用接口模塊接收用戶的查詢請求,通用接口模塊將查詢請求以XML的形式發(fā)送給數據傳輸模塊,其中用戶查詢參數為O; 數據傳輸模塊收到請求后,以queryid+” query”字段查詢數據傳輸模塊的消息表; 數據編排模塊通過pl,cl,得到用戶的請求,得知查詢參數為0,停止給用戶發(fā)送消息; 數據編排模塊將pl,Cl退出對query id+” query”消息的訂閱,將p2,c2退出對query id”request” 消息的訂閱;同時,刪除c I,p I,c2,p2,消息 query id+” query” 和 query id”request”,并且刪除消息表。4.根據權利要求1所述的無線電監(jiān)測數據查詢方法,其特征是,所述rowkey索引包括I個字節(jié)的散列字段、4個字節(jié)的時間戳字段、I個字節(jié)的監(jiān)測服務編碼字段、4個字節(jié)的監(jiān)測頻率字段和4個字節(jié)的負載字段。5.根據權利要求4所述的無線電監(jiān)測數據查詢方法,其特征是,rowkey索引的生成過程包括時間戳字段生成步驟,散列字段生成步驟、監(jiān)測服務編碼字段生成步驟和負載編碼字段生成步驟; 時間戳字段生成步驟如下:歷史數據編排模塊讀取每幀數據的幀頭,獲取每幀數據的記錄時間,并將記錄時間轉化為毫秒數,將毫秒數存入時間戳字段。6.根據權利要求5所述的無線電監(jiān)測數據查詢方法,其特征是,所述散列字段生成步驟如下: 歷史數據編排模塊將毫秒數以256取余,其結果保存于散列字段中。7.根據權利要求5所述的無線電監(jiān)測數據查詢方法,其特征是,所述監(jiān)測服務編碼字段生成步驟如下: 歷史數據編排模塊獲取每幀數據的監(jiān)測服務編碼,將監(jiān)測服務編碼保存在監(jiān)測服務編碼字段中。8.根據權利要求5或6或7所述的無線電監(jiān)測數據查詢方法,其特征是,所述負載編碼字段生成步驟如下: 歷史數據編排模塊獲取每幀數據的幀負載,讀取幀負載每個字段的值L;利用公式S = 2l+ 1計算每個字段值的變換值S,將各個字段的S相加得到S7,將S7寫入rowkey索引的負載編碼字段中。
      【文檔編號】G06F17/30GK105930426SQ201610244497
      【公開日】2016年9月7日
      【申請日】2016年4月18日
      【發(fā)明人】黃劍琪, 凌文杰, 呂靈通, 趙智航, 馬高峰
      【申請人】華信咨詢設計研究院有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1