当前位置:首页 期刊杂志

基于Storm 的涉油气犯罪实时检测系统的研究与应用

时间:2024-05-04

张丽华, 李宏博, 王 健, 张伟民, 李欣欣, 李 娟, 邵国强

(1 大庆师范学院计算机科学与信息技术学院, 黑龙江 大庆 163712;2 大庆油田有限责任公司试油试采分公司, 黑龙江 大庆 163712)

0 引 言

近年来,涉油气犯罪的发生以及所带来的严重后果已经在全球范围内引起广泛关注,涉油气犯罪是影响涉油气企业生产秩序的最主要危害之一,如何结合国内相关部门的整治措施,深入分析涉油气资源犯罪的基本特征,探究其形成机制已刻不容缓。在此基础上,如何将“预防”与“治理”二者紧密结合,探讨和分析涉油气企业和国家如何对防控资源进行合理有效的配置是十分必要的。 十九大报告明确要求,要加快社会治安防控体系建设,打造共建共享共治社会治理格局,提高防范和抵御安全风险能力。 随着“5G+大数据”与“物联网+安全防范”的梦幻联动,涉油气行业应用数据逐渐呈现出高实时性,对提升处理平台的耗时及资源请求响应速率也提出更高要求。

本文首先对主要技术进行了整体阐述,然后对搭建在Storm 平台上的Flume-Kafka 高可用数据采集缓存方案进行设计,重点讨论了热力点的获取方法,系统使用Logstash 技术获取涉犯罪人数据源,并将采集到的涉犯罪人信息传输到系统服务器的数据库进行存储,最后使用热力图技术实现数据可视化。经过测试,系统运行正常有效,表明基于Storm 的数据实时流数据检测平台能够满足涉油气企业的要求,可以对涉油气犯罪人的防控对策提供有价值的数据。

1 相关技术

1.1 Storm 框架分析

Storm 拓扑结构如图1 所示。 由图1 可知,主要功能在于可以构建一个具有高稳定性、高可靠性、分布式的数据实时计算系统,该系统主要被应用于数据资源的实时数据分析领域。 Storm 结构中数据基本都以基元组做单元处理,其在注入Storm 数据处理平台后,须严格按照Tuple 格式重新进行组装,最后形成一条Tuple 数据流,进入Storm 结构的整个数据拓扑模型进行处理。 Storm 系统中使用的组件Topology 是由2 个Spout 与2 个Bolt 构成。 其中,Spout 负责读取、封装与处理数据,再对数据进行转发,Bolt 则用于优化后续的业务逻辑。

图1 Storm 拓扑结构图Fig. 1 Storm topology diagram

1.2 热力图原理

热力图主要采用的3 种形式分别是基于鼠标单击位置的热力图、基于鼠标轨迹方向的热力图以及基于鼠标内容的单击轨迹热力图等[1]。 本研究主要基于最后一种形式,通过该形式可实时记录并显示当前浏览用户的行走轨迹,实时优化整个网页及内容布局[2]。 通过利用热力图上绘制的3 种颜色来区分渲染图的不同覆盖区域,与图里实际的涉犯罪人数分别相对应,从而分析算出实际涉犯罪人群密度,再根据此密度规划出涉犯罪人分布的运动移动图[3]。

1.3 Flume-Kafka 数据收集缓存

Flume 是一种可靠性很高的分布式数据采集、传输工具, 能将数据转化成数据流进行控制,而Kafka 是一种发布-订阅模式的消息系统,除了具有高吞吐量外,也支持在线实时和离线的数据处理。Kafka 按主题对数据进行分类存储,每个主题可扩展成多个分区,并能将其部署在集群的各个服务器上,以确保数据安全性。 Kafka 还支持副本模式,能够设置分区的副本数,通过将Flume 收集的模拟数据送入已经创建的日志主题中,可指定主题分区数和副本数。

2 实时检测系统架构功能及数据库设计

2.1 系统总体功能设计

系统总体功能架构如图2 所示,按照功能模块可划分为数据获取、数据分析整理、热力图显示等。

图2 系统总体功能架构图Fig. 2 Overall functional architecture diagram of the system

2.2 数据实时分析整理功能

数据分析整理功能设计流程如图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

2.3 热力图的显示功能

热力图显示功能设计流程如图4 所示。 在图4中,先对获取的热力图信息进行检测,在获得数据热力点信息及运动目标坐标具体位置后绘制热力图,再在高德地图上创建热力图显示,就可以实时查询区域内的涉犯罪人流量情况[4]。

图4 热力图显示功能设计流程图Fig. 4 Flow chart of thermal map display function design

2.4 系统数据库设计

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 实时检测系统的实现

3.1 热力图生成方法

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为计算系数。

3.2 系统的运行环境

研究开发环境具体见表2,本检测系统主要是依据Java 开发语言进行各功能的设计与实现的,是在戴尔i7-8265U CPU,32 GB RAM 处理器搭载Windows10 系统环境下进行的。

表2 开发环境配置表Tab. 2 Development environment configuration table

Java 开发语言具有高简洁性、高稳定性、高安全性、高适应性以及多平台高兼容性等优点,是计算机软件开发的首选语言,编程人员可以从系统直接调用一些常用的语句和函数,减少了软件编程的复杂性。

3.3 系统功能的实现

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 热力图实时显示功能

热力图实时显示功能主要是根据所获得的热力点信息以及运动目标具体位置去绘制热力图,然后在高德地图上创建热力图的显示。

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

5 结束语

本文提出的基于Storm 的涉油气犯罪实时检测系统的总体架构,利用热力图大数据方法对涉油气企业所在区域范围内的人群分布进行研究统计,系统分析了涉油气企业所在区域人群热度指数的问题,此人群热度指数可以很直观地反映区域内人群密度的分布情况,实现了热力值的实时显示。 经系统测试,验证了此方法有助于提高数据处理的准确率以及效率,加快了系统的运行时间。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!