張麗華, 李宏博, 王 健, 張偉民, 李欣欣, 李 娟, 邵國強
(1 大慶師范學院計算機科學與信息技術學院, 黑龍江 大慶 163712;2 大慶油田有限責任公司試油試采分公司, 黑龍江 大慶 163712)
近年來,涉油氣犯罪的發生以及所帶來的嚴重后果已經在全球范圍內引起廣泛關注,涉油氣犯罪是影響涉油氣企業生產秩序的最主要危害之一,如何結合國內相關部門的整治措施,深入分析涉油氣資源犯罪的基本特征,探究其形成機制已刻不容緩。在此基礎上,如何將“預防”與“治理”二者緊密結合,探討和分析涉油氣企業和國家如何對防控資源進行合理有效的配置是十分必要的。 十九大報告明確要求,要加快社會治安防控體系建設,打造共建共享共治社會治理格局,提高防范和抵御安全風險能力。 隨著“5G+大數據”與“物聯網+安全防范”的夢幻聯動,涉油氣行業應用數據逐漸呈現出高實時性,對提升處理平臺的耗時及資源請求響應速率也提出更高要求。
本文首先對主要技術進行了整體闡述,然后對搭建在Storm 平臺上的Flume-Kafka 高可用數據采集緩存方案進行設計,重點討論了熱力點的獲取方法,系統使用Logstash 技術獲取涉犯罪人數據源,并將采集到的涉犯罪人信息傳輸到系統服務器的數據庫進行存儲,最后使用熱力圖技術實現數據可視化。經過測試,系統運行正常有效,表明基于Storm 的數據實時流數據檢測平臺能夠滿足涉油氣企業的要求,可以對涉油氣犯罪人的防控對策提供有價值的數據。
Storm 拓撲結構如圖1 所示。 由圖1 可知,主要功能在于可以構建一個具有高穩定性、高可靠性、分布式的數據實時計算系統,該系統主要被應用于數據資源的實時數據分析領域。 Storm 結構中數據基本都以基元組做單元處理,其在注入Storm 數據處理平臺后,須嚴格按照Tuple 格式重新進行組裝,最后形成一條Tuple 數據流,進入Storm 結構的整個數據拓撲模型進行處理。 Storm 系統中使用的組件Topology 是由2 個Spout 與2 個Bolt 構成。 其中,Spout 負責讀取、封裝與處理數據,再對數據進行轉發,Bolt 則用于優化后續的業務邏輯。

圖1 Storm 拓撲結構圖Fig. 1 Storm topology diagram
熱力圖主要采用的3 種形式分別是基于鼠標單擊位置的熱力圖、基于鼠標軌跡方向的熱力圖以及基于鼠標內容的單擊軌跡熱力圖等[1]。 本研究主要基于最后一種形式,通過該形式可實時記錄并顯示當前瀏覽用戶的行走軌跡,實時優化整個網頁及內容布局[2]。 通過利用熱力圖上繪制的3 種顏色來區分渲染圖的不同覆蓋區域,與圖里實際的涉犯罪人數分別相對應,從而分析算出實際涉犯罪人群密度,再根據此密度規劃出涉犯罪人分布的運動移動圖[3]。
Flume 是一種可靠性很高的分布式數據采集、傳輸工具, 能將數據轉化成數據流進行控制,而Kafka 是一種發布-訂閱模式的消息系統,除了具有高吞吐量外,也支持在線實時和離線的數據處理。Kafka 按主題對數據進行分類存儲,每個主題可擴展成多個分區,并能將其部署在集群的各個服務器上,以確保數據安全性。 Kafka 還支持副本模式,能夠設置分區的副本數,通過將Flume 收集的模擬數據送入已經創建的日志主題中,可指定主題分區數和副本數。
系統總體功能架構如圖2 所示,按照功能模塊可劃分為數據獲取、數據分析整理、熱力圖顯示等。

圖2 系統總體功能架構圖Fig. 2 Overall functional architecture diagram of the system
數據分析整理功能設計流程如圖3 所示。 圖3中,將獲取的數據源信息發送到Kafka 集群中進行緩存,依據主題Kafka 對數據進行維護管理,等待Storm 集群主動拉取數據進行統計分析,其中,Zookeeper 集群主要負責對Storm 集群及Kafka 集群的狀態進行維護管理。 ZK 中的數據要對接Storm集群實時處理框架,Storm 接收到數據后通過bolt 來進行相應的處理,處理后的數據寫入數據庫、即DB中。

圖3 數據分析整理功能設計流程圖Fig. 3 Flow chart of data analysis and arrangement function design
熱力圖顯示功能設計流程如圖4 所示。 在圖4中,先對獲取的熱力圖信息進行檢測,在獲得數據熱力點信息及運動目標坐標具體位置后繪制熱力圖,再在高德地圖上創建熱力圖顯示,就可以實時查詢區域內的涉犯罪人流量情況[4]。

圖4 熱力圖顯示功能設計流程圖Fig. 4 Flow chart of thermal map display function design
2.4.1 數據庫E-R 圖設計
E-R 關系圖如圖5 所示。 MySQL 數據庫系統可根據平臺數據信息將數據信息進行實體劃分,并賦予信息之間相互的聯系。

圖5 E-R 關系圖Fig. 5 E-R diagram
2.4.2 數據庫表結構設計
主數據表見表1。 由E-R 關系圖,建立與主功能模塊相關的包括系統登錄數據表、數據信息抓取數據表、數據信息整理數據表、數據推送數據表等在內的數據表。

表1 主數據表Tab. 1 Master data table
3.1.1 熱力點坐標獲取
Logstash 信息獲取框架如圖6 所示,Logstash 是一個開源的服務器端數據處理管道,可以從不同數據源獲取數據,能進行轉換并將數據發送到Elasticsearch 中[5]。 數據獲取模塊主要是對本系統進行人流數據信息的獲取,通過Logstash 技術獲取涉犯罪人數據源,再將采集到的涉犯罪人信息傳輸到系統服務器的數據庫進行存儲[6]。

圖6 Logstash 信息獲取框架Fig. 6 Logstash information acquisition framework
3.1.2 熱力點的處理
采集到涉犯罪人信息后,將涉犯罪人信息中的數據信息整合到二維坐標點x,y。 因數據信息變化較大,數據間的信息分布并不是很均勻,所以第一時間要對全部熱力點數據做預處理[7],具體如下:
(1)確認所要檢測的數據,以及對應的各熱力點區域信息的具體位置,查看所要檢測數據的熱力圖區域信息數據信息與邊界位置是否重合,并檢查導出的數據熱力圖邊界位置是否完全覆蓋了此檢測區域內所有熱力點信息。
(2)對那些即將被檢測的目標物體進行準確有效的區分,通過收集熱力點等信息進行檢測并制作出熱力圖。
(3)將所需要獲取的數據信息發送到Kafka 集群的緩存主題中,并對其進行實時數據信息緩存。
3.1.3 熱力點的生成
得到二維坐標點x,y相對具體位置信息后,進一步運算生成熱力圖。 研究給出的生成方法流程具體如下。
(1)獲取區域的像元熱力值人群聚集對比分析。 通過Storm 技術對所需要采集到的連續熱力圖大數據進行分析,準確求得出其平均值[8]。 利用式(1)計算得出每個區域的熱力均值:
其中,H表示涉油氣區熱力均值;T表示所統計的時間段;Xt表示不同時間涉油氣區內像元熱力值。
(2)人群聚集密度分析。 人群密度對于進行涉油氣犯罪監測評價尤為重要,過高的人群密度隨時都可能會誘發各種風險,帶來一系列潛在社會安全隱患。 為了便于涉油氣企業更精準分析國內涉油氣區的人群規模及其熱力點聚集情況,需要計算出不同涉油氣區的人群熱度指數分布[9]。 此處需用到的數學公式如下:
其中,P表示人群熱度指數;Ht是根據式(1)計算出的不同時間段的熱力均值;S是涉油氣區域像元面積;k為計算系數。
研究開發環境具體見表2,本檢測系統主要是依據Java 開發語言進行各功能的設計與實現的,是在戴爾i7-8265U CPU,32 GB RAM 處理器搭載Windows10 系統環境下進行的。

表2 開發環境配置表Tab. 2 Development environment configuration table
Java 開發語言具有高簡潔性、高穩定性、高安全性、高適應性以及多平臺高兼容性等優點,是計算機軟件開發的首選語言,編程人員可以從系統直接調用一些常用的語句和函數,減少了軟件編程的復雜性。
3.3.1 數據信息獲取功能
數據信息獲取實現如圖7 所示,本系統實現基礎部分就是涉犯罪人數據的獲取,該功能可以對本檢測系統進行人流數據信息的獲取,主要采用Logstash 技術獲取涉犯罪人數據源,再將采集到的信息傳輸到系統服務器數據庫進行存儲[10]。

圖7 數據信息獲取功能的實現Fig. 7 The realization of data information acquisition function
3.3.2 數據信息存儲功能
數據信息存儲實現如圖8 所示,Storm 接收到數據后通過Bolt 進行相應的處理,將處理后的數據寫入MySQL 數據庫中。

圖8 數據信息存儲功能的實現Fig. 8 The realization of data information storage function
3.3.3 數據實時分析整理功能
數據實時分析整理實現如圖9 所示,此功能主要利用Storm 技術實現對數據信息的實時分析整理。

圖9 數據實時分析整理功能的實現Fig. 9 Realization of data real-time analysis and collation function
3.3.4 熱力圖實時顯示功能
熱力圖實時顯示功能主要是根據所獲得的熱力點信息以及運動目標具體位置去繪制熱力圖,然后在高德地圖上創建熱力圖的顯示。
系統測試環境參見表2,研究選用的測試方案具體如下。
(1)功能模塊測試。 數據獲取功能模塊測試見表3,對系統中每個功能單元進行詳細測試,檢測每個需求功能是否能實現。

表3 數據獲取功能模塊測試表Tab. 3 Data acquisition functional module test table
(2)集成模塊測試。 數據實時分析整理功能模塊測試見表4,將各角色具有的功能單元模塊放在一起,進行檢查、測試。

表4 數據實時分析整理功能模塊測試表Tab. 4 Functional module test table of data real-time analysis and collation
(3)驗收測試。 熱力圖顯示功能模塊測試見表5,將系統交付測試專業人員及用戶進行共同測試、使用,測試系統整體運行、使用情況。

表5 熱力圖顯示功能模塊測試表Tab. 5 Heat map display functional module test table
本文提出的基于Storm 的涉油氣犯罪實時檢測系統的總體架構,利用熱力圖大數據方法對涉油氣企業所在區域范圍內的人群分布進行研究統計,系統分析了涉油氣企業所在區域人群熱度指數的問題,此人群熱度指數可以很直觀地反映區域內人群密度的分布情況,實現了熱力值的實時顯示。 經系統測試,驗證了此方法有助于提高數據處理的準確率以及效率,加快了系統的運行時間。