基于海量信令数据的区域监控系统设计与实现
2015-12-25戴亚丽
戴亚丽
摘要:在移动通信设备普及的时代,充分利用起每日产生的庞大电信数据,为区域管理分析领域提供便利非常有必要。本系统利用大数据技术,将信令数据中的位置信息及其他相关信息进行获取和分析,获得区域内人员信息。本文给出了比较完整的区域监控和搜索的设计方案,并通过进一步实现,证明了方案的可行性。
关键词:大数据;信令;区域监控
中图分类号:TP311
文献标识码:A
DOI:10.3969/j.issn.1003-6970.2015.09.020
0 引言
近年来,反恐维稳的形势日益严峻,对敏感区域的监控和分析随之变得越发重要。对于区域监控,国内应用比较广泛的是视频监控系统,即硬件视频设备和软件平台相结合。但监控区域受视频监控硬件设备限制,成本高,灵活度不高。
随着智能手机的普遍应用,“人手一机”已成为现实,随着技术的进步,如今电信运营商通过移动终端采集的位置数据实时性得到增强。信令数据具有实时性强,范围广,成本较低的特点,因此通过运营商基站数据来监控分析某一区域内人员情况有较高的性价比。
在通信领域,早在2008年,中国移动委托国家ITS中心组织并实施了的“基于手机位置采集实时交通信息科研项目”试验,作为相关领域的全国首次大范围尝试,此试验验证了基于手机位置切换采集实时信息的可行性。国内也有相关研究工作,韩鲁峰等。结合基站信息获取“三角公式法”,研究并提出了一种消除位置偏移算法。任旭提出了一种使用A接口信令数据生成实时交通数据的方法。提出了一种使用现网移动网络信令数据源,实时的对城市白定义区域实现人流量监测的方法。通过调研可知,已有文献多偏重于理论研究,有一些基于信令分析的系统应用研究主要用于人流分析,人流管理等方向,功能局限于人数统计,消息推送等,未能将人流量与获取区域内人员具体信息相结合,功能较单一。随着大数据技术的发展,将大数据技术应用与这些统计方法相结合,进行移动信令的监测统计,并建立起预警系统,还有较大的发展空间。
l 建设目标
本论文旨在设计与实现一个以海量信令数据为数据源,基于大数据技术的人员信息监控分析平台,以实现任意时间,任意区域内的人员信息的实时监控,历史监控数据查询等功能。
相对于已存在的区域监控类系统,本系统主要有以下优势:
1)任意区域的监控及查询。基于普及建设的运营商基站,可任意设定监控区域范围,附加的成本较低。
2)数据精准详细。本系统采用的信令数据覆盖人员范围大,并且利用起电信数据中的人员信息,可为刑侦等合法领域提供有效的监控信息。
2 关键问题
本论文的研究目标是根据移动信令数据实现对某一区域的监控分析,通过解决移动信令到位置信息的转换、分析监控区域对应基站位置等关键问题,完成基于移动信令的区域监控大数据分析系统的设计与实现。
本论文所涉及的关键问题分析及解决方案如下:
2.1 信令数据源的获取
本系统的数据来源是移动信令数据,从何种信令流程中获取到系统所需的包含位置信息的信令,成为本论文研究的首要关键问题。
GSM核心网的基站控制器(BSC)与移动交换中心(MSC)之间的A接口主要负责传递呼叫处理、移动性管理、基站管理、移动台管理等信息,并且A接口具有统一公开的标准,便于生产和组网,因此,本系统选择获取包含位置信息的A接口信令。
下面就GSM网和CDMA网分别描述能够获取到位置信息和号码信息的信令流程
G网中A接口位置如图1所示:
G网中位置更新流程包含了位置更新类型,IMSI,主叫CEELID,时间等消息,具体流程如图2所示:
位置更新过程主要采集的消息如表1所示:
在A接口上加装信息探测设备,即可获取到包含位置信息的信令,并将数据用分隔符分割,以txt文件的形式实时传输到系统存储单元。这种信息探测监听方式,是一种被动的监听方式,附加成本小,不影响已有移动通讯网络的正常运行,不会增加额外的网络负荷。
2.2 对信令数据实时收集和分发
本系统希望能够实时的对区域内人员情况进行分析和监控,故对数据的采集要求具有实时性。而且本系统要做到对历史记录的查询,又需要对实时采集的数据进行及时的存储。如何实时的对数据源进行采集分发是本系统的实现的基础及关键问题之一,通过调研使用Flume软件来可以对数据做到实时的收集和分发。Flume是实时流处理中常用的实时获取数据的软件,可以做到对数据的实时获取,实时传输,通过配置不同的source可以对多源头的数据进行监测,然后通过配置不同的sink将数据输出到不同的位置,本系统通过配置source,实时监测已配置文件夹下数据的变化,当有新采集完成的信令文件时,便将该文件内容读出到系统的存储系统和实时处理系统。
2.3 信令数据到区域内人员信息的转换
本系统是基于移动信令的区域监控分析系统,将移动信令转化为对应区域内的人员信息是至关重要的一步,移动信令里面包含和位置信息相关的数据,如何通过建模将信令数据转换为某一区域内人员信息并进行分析,是本系统的关键部分。
系统采用百度地图API进行操作,当用户选择区域进行实时监控或是历史查看时,前端获取的数据是时间范围、中心点经纬度、区域半径,如何将区域与满足条件的CELLID进行对应成为系统的关键问题。为解决这一问题,系统采用的解决方案如下:
1、对于实时监控,筛选需监控的信令数据。根据每一条信令数据的CELLID等信息查找对应经纬度,再根据经纬度判断是否在监控范围内,如果在则在前端进行显示。已知信令数据对应经纬度(al,bl),监控区域中心经纬度(a2,b2),通过地球半径计算两经纬度点之间的弧度,即两点间距离,d=R*arccos[cosbl*cosb2*cos(al-a2)+sinbl*sinb2](注:R为地球半径),并与设定监控半径i比较返回结果
2、对于区域搜索,根据区域中心点经纬度和区域半径搜索在区域内的CELLID,并根据CELLID获取Hbase数据库内的记录的位置数据,从而在前端回显相关信息。首先对基站信息表进行筛选,筛选方法与实时监控判断方法相同。将满足经纬度在监控范围内的CELLID进行保存,通过Hbase API筛选满足特定时间段内,满足这些CELLID的信令数据,通过划定区域的中心点经纬度及区域半径,计算区域内经纬度范围。
2.4 大数据量数据的实时处理
移动信令数据量是很庞大的,对大数据量数据的处理很难做到实时性,这就需要通过合适的大数据技术框架来解决这两个问题,使其既能处理大数据量,又能保证实时性,经调查研究flume+kafka+storm的实时流处理框架可以很好的解决该系统中关键的两个问题。
Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,可以定制各类型的数据发送方以收集数据。同时,Flume可对数据进行简单处理,并可将数据写入各种数据接受方。在该系统中可以用flume监测文件夹实时的将数据发送到kafka接收端;
Kafka是一个分布式的、分区的、多复本的日志提交服务,提供了一个消息系统的功能,主要用于处理活跃的流式数据。Kafka可以从tlume端接收实时传输过来的数据,然后将数据缓冲后,发送到storm端,进行处理。
Storm是twitter开源的一个分布式的、容错的实时计算系统,为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。Storm也可被用于“连续计算”,对数据流做连续查询,在计算时就将结果以流的形式输出给用户。用storm来实时对信令采集上来的数据进行分析处理,既能对大数据量进行处理,也可以保证实时性,是系统处理的核心部分。
最后,通过代理消息模拟器HttpServer实现消息的解析和传递,HttpServer保存Strom集群内部与他的连接,并且对外提供Http消息的协议代理,这样就可以将web发送过来的消息实时推送给Storm的所有集群,完成命令的实时处理及推送。
2.5 大量历史信令数据查询效率的保证
本系统希望能够对任意区域内进行某一时间范围内历史人员信息的查询,为刑侦等领域提供有效信息,故对大量历史数据的查询效率有很高要求和较大挑战。如何将实时采集处理后的数据进行存储和查询,是本系统的实现的基础及关键问题之一,通过调研使用Hbase这一非关系型数据库可以对大量数据做到存储和较快查询。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,通过设计合理的索引结构,Hbase能够比较轻松的解决海量数据问题。
3 系统设计与实现
3.1 系统结构与功能设计
信令分析系统目的在于分析信令相关数据,目的在于找出信令消息中人员之间的关系,可以提供给相关部门或者人员进行数据在处理和分析,可以用于刑侦等安全相关的领域。
系统的主要功能分析如图5所示:
区域实时监控:主要是区域的监控和告警功能。设定监控的任务及任务下监控的具体区域,并且设定刷新频率,可获取监控任务区域内人员的具体信息和人员的汇总信息;设定监控任务区域内的人流量限制阈值,实时统计人流量汇总,并与限值进行比对,若超出设定范围则进行人流量超限告警。
区域历史搜索:将区域实时监控获取到的人员信息和告警记录进行存储,可以获取一定时间段范围内,某一区域内的人员信息,以及某一时间范围内监控任务下的告警记录。
系统按逻辑功能划分主要是四个部分:信令数据的获取、数据ETL(Extract-Trans form-Load)、建模获得区域内人员信息、数据应用,如图6所示:
3.2 系统架构设计
实现系统的信令数据的获取、数据ETL、建模获得区域内人员信息、数据应用这四部分功能逻辑,进一步将系统架构设计如图7所示:
3.3 系统实现
系统数据采用Hbase和MySQL的非关系型数据库和关系型数据库的组合实现,充分利用起非关系型数据库的查询效率高和关系型数据库的接口封装完善,查询条件支持多样的特点。整体采用JavaWeb的技术架构,后台采用java实现具体业务逻辑,前台采用jsp页面展现。
3.3.1 区域实时监控的实现
实时监控模块目前实现的功能包括设定任务及每项任务下监控的区域,设定监控半径后,通过地图标点来实现监控区域的设置。在后台通过经纬度的筛选和对应,实时筛选出监控区域内人员的位置信息和号码信息。
3.3.2 区域历史搜索功能的实现
区域历史搜索功能模块目前实现的功能包括根据时间范围,设定搜索半径后,在地图上标识要搜索的中心坐标点,来实现某一区域的历史搜索区域设置。在后台通过经纬度的筛选和对应,筛选出搜索区域内人员的位置信息和号码信息。
4 结论
在移动通信设备普及的时代,充分利用起每日产生的庞大电信数据,为区域管理分析领域提供便利非常有必要。本系统利用大数据技术,将信令数据中的位置信息及其他相关信息进行利用,给出了比较完整的区域监控和搜索的设计方案,并进行了实现,证明了方案的可行性。下一步将对流量告警功能进行进一步的实现,增强系统的功能。