基于Android的基站信息采集系统的设计与实现
2017-05-09贾鑫张立志汪小雨
贾鑫,张立志,汪小雨
(国家数字交换系统工程技术研究中心 河南 郑州450000)
基于Android的基站信息采集系统的设计与实现
贾鑫,张立志,汪小雨
(国家数字交换系统工程技术研究中心 河南 郑州450000)
针对部分地区由于基站位置信息缺失,从而导致无法对基于基站手机定位给予良好数据支撑的问题,采用主动采集和集中处理的方法,通过android智能手机实现基站信息采集前端,在spring框架下完成基站信息处理平台后端的搭建,设计实现了一套基站信息采集系统。经过实地采集实验表明,相较于传统的采集系统,该系统提高了工作效率,优化了工作流程,为采集工作提供了便利。
基站信息;定位;android;GPS
近几年来,随着移动互联网的迅猛发展以及智能手机的不断普及,位置服务(LBS,Location Based Services)已与我们的日常生活密不可分。例如获取用户所在位置与目的地之间的路线选取,发现用户周边的公共设施及商户分布信息,以及个性化的天气讯息推送等等。各类手机定位技术也成了目前的研究热点,其中基于基站信息的手机定位技术凭借其无需额外硬件支持、室内外均可实现、功耗较低等优势,受到大多数移动供应商和开发人员的青睐[1]。目前主流的基站定位技术包括:测量信号到达角度(AOA,Angle of Arrival)的定位技术,测量信号到达时间 (TOA,Time of Arrival)和到达时间差(TDOA,Time Difference of Arrival)的定位技术,以及综合运用多种定位技术的混合定位技术等等[2],但从本质上看,无论采用哪种定位技术,其核心都是通过获取用户所在基站位置信息,再测量计算用户相对基站位置来实现定位的,所以要想实现基站定位,首先应拥有真实准确的基站信息数据库。
然而在实际情况中,有些地区在网络建设初期急于布网,并没有对基站信息进行统计整理,有些地区虽然存有基站位置信息,但经过长时间的网络优化,数据库已与实际情况形成很大出入,这些问题的存在都会给基于基站的定位服务带来较差的用户体验[3]。文中针对这一需求,利用拥有良好开放性和兼容性的android平台[4]以及具备良好松耦合性的spring框架[5],开发了一个基站信息采集系统,实现了基站信息的实时采集,地理位置展示以及采集数据的持久化保存,为基于基站信息的定位服务提供准确可靠的数据保障和服务接口。
1 系统总体设计
1.1 系统设计目标
本系统针对实际需求,解决部分移动通信网络基站分布信息缺失的难题,以主动采集和集中处理为基本模式,获取真实可靠的基站信息,配合移动通信核心网定位系统,为移动用户提供高质量的位置服务。具体系统功能包含以下几点:
1)可实时采集基站特征信息;
2)可获取基站的位置信息,并提供电子地图的直观显示;
3)构建采集区域的基站信息数据库,实现采集数据的持久化保存;
4)能对数据库进行方便的操作管理,并提供基站信息查询服务接口。
1.2 系统框架设计
通过对系统设计目标的分析,并结合当前软件开发的主流技术特点,将本系统分为两个部分,即前端数据采集终端和后端信息处理平台。
前端数据采集终端主要通过基于android平台的智能手机实现,使用android 4.4操作系统SDK开发实现基站信息采集,当前位置获取,电子地图显示以及采集数据上传等功能。本系统参考MVC的设计思想,将程序分为交互层,业务层,控制层[6]。交互层主要用来实现基站信息显示,电子地图展示,页面切换等;业务层则负责基站信息采集,当前位置获取等系统核心业务功能的实现;而控制层则负责完成采集前端向后端信息处理平台的数据上传等数据处理相关的工作。
为了使本系统具有良好的扩展性和可移植性,后端信息处理平台选择无需安装客户端即可实现运行的瘦客户端Web程序为基本模式[7],使用目前主流的开源框架 spring,结合 Tomcat7.0服务器和MySQL数据库,完成基站信息数据库的搭建,并提供基站信息查询服务接口。框架图如图1所示。
1.3 系统流程设计
采集终端采集空中接口的下行导频信号和GPS信号,利用时间轴将基站特征信息与采集点的地理位置信息相关联。然后对原始信息数据进行综合分析,对于所处同一基站覆盖范围的采集点分类划分,并依据这些采集点的坐标求取基站位置坐标,进而通过HTTP协议将数据上传至信息处理平台。当采集信息传入信息处理平台后,首先对采集数据进行预处理,去除重复或无效的数据,然后按照预定格式存入信息数据库,最终为用户提供检索基站信息可获取基站分布位置信息的服务接口。具体的系统组成及其应用方式如图2所示。
图1 系统框架图
图2 系统组成及其应用方式
2 系统实现
2.1 数据采集终端的设计与实现
前端采集终端的实现主要包含3个核心模块:基站信息采集模块、当前位置获取模块、以及采集数据上传模块。
基站信息采集模块主要利用android平台电话系统管理器提供的API进行开发。本系统定义方法getCellInfo()用于基站信息的采集,其核心内容为通过实例化电话系统管理器,利用基类提供的接口方法,获取基站在下行导频信道中广播的基站信息。获取的基站信息包括:MCC(移动设备国家代码)、MNC(移动网络代码)、LAC(位置区域编号)、CID(蜂窝编号)、网络类型、运营商等[8]。值得注意的是,在android系统中获取手机的基站信息,需要在程序清单中声明读取电话状态的许可[9]。此外,由于目前我国存在多体制的网络类型,因此在调用信息采集方法时加入网络类型判别,对不同网络类型分别处理是该模块的核心问题。
在2G网络中,LAC使用的是BCD编码,所以2G的LAC范围是十六进制的[0×1000-0×1999],[0× 2000-0×2999],[0×3000-0×3999],…,[0×9000-0× 9999];到了3G时代,没有了LAC必须是BCD编码的限制,也为了避免冲突,3G网络的LAC在区间[0×a000-0×ffff]进行分配[10];4G网络中,LAC被TAC(Tracking Area Code)取代,TAC的分配方式和2G网络相同,其区别主要通过CID体现。在2G中CID定义为16位二进制值,范围是[0-65535],4G网络用28位的二进制值 ECI来代替 CID,由 20位的enodeb id和8位的cell id组成,而enodeb id是大于256的,因此可以通过判断CID(ECI)字段的值来区分2G网络基站和4G网络基站。总结如表1所示。
表1 基站判别规则
当前位置获取模块则主要通过开启采集终端的GPS设备,并读取GPS的经纬度坐标来完成功能的实现。但是,随着移动通信网的发展,为满足信号覆盖和小区业务容量的要求,出现了室内基站[11]。在对室内基站进行数据采集时,由于GPS信号存在室内无法接收的特点[12],采集终端无法获得自身的地理位置信息。为此,提出了信息关联技术,利用相邻点对采集点缺失数据进行修复。
对一次采集行为而言,获得的采集点序列在时间上和空间上是连续的,即时间上相邻的两个采集点,其在空间上也是相邻的[13]。当序列中的某些点出现位置信息缺失时,利用时空连续性修复算法,即利用时间轴上最邻近的信息完备点,填充缺失信息点。算法流程如图3所示。
图3 时空连续性修复算法流程图
当采集点密度较低时,利用时空连续性修补获得的数据可靠性是值得商榷的,经过理论分析和实际采集测试,这里将GPS的采样上报间隔设置为每2秒或每移动距离超过8米一次。该技术的应用可大大减少小区分布信息的盲区。
采集数据上传模块其主要目的是为了数据的持久化保存,以及为基站查询提供数据基础。首先利用android平台提供用于信息传递的控件 Broadcast Recevier获取其他模块采集到信息,利用时间轴将基站信息和位置信息进行关联,从而求取同一基站所属采集点位置的中心点(经纬度坐标均值),最后把封装好的基站信息结构体以json的格式发送给后端信息处理平台[14]。
2.2 信息处理平台的设计与实现
信息处理平台以B/S(浏览器/服务器)架构的形式实现基站信息的展示和管理,服务器(这里我们选用tomcat7.0)接收到来自采集终端的json格式基站信息结构体并完成json数据解析,然后将预定格式的基站信息传入MySQL数据库。
信息处理平台的用户交互页面主要包括3部分:用户登录,信息管理以及信息查询,页面如图4所示。用户登录主要是为了确保采集数据的安全性[15],保证只有授权的用户可以使用该系统。用户通过注册的形式获得授权,使用对应的账号密码完成后端信息处理平台的登录。基站信息管理页面提供通过JDBC实现基站信息数据的管理功能,如添加、纠偏、删除等。基站信息查询页面则提供了基站位置查询服务接口,即输入基站信息,显示对应的基站地理位置。考虑到在实际采集中必然存在一些无效或明显偏离实际情况的数据,因此在数据入库之前还应实现上传数据的有效性检测。
图4 信息处理平台
3 结束语
与已有的基站信息采集系统相比,本系统利用android智能手机为开发平台,无需额外的硬件设计,节省了大量开发成本。同时,相较于以往采集基站信息时,工作人员需要携带繁重的专用采集设备来实现基站信息的采集存储,本系统将信息采集与信息处理进行分离,即有助于基站信息的精细化管理,也优化了采集的工作流程,提高了工作效率,为工作人员提供了便利。
[1]刘长征,李伟.多种定位技术融合构建LBS体系[J].地理信息世界,2013,1(3):24-27.
[2]赵鸣翔.蜂窝移动通信系统单基站定位技术研究[D].成都:西南交通大学,2012.
[3]王婷.多模基站信息采集系统的设计与实现[D].北京:北京邮电大学,2013.
[4]公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2014,3(8):86-89.
[5]张宇,王映辉,张翔南.基于Spring的MVC框架设计与实现[J].计算机工程,2012,36(4):59-62.
[6]刘引涛.基于Spring的MVC模式网上银行系统的设计与实现[J].电子设计工程,2013,21(7):169-171.
[7]查修齐,吴荣泉,高元钧.C/S到B/S模式转换的技术研究[J].计算机工程,2014,40(1):263-267.
[8]张怡.基于J2EE的基站管理信息系统的设计与实现[D].武汉:华中科技大学,2013.
[9]姚嘉健.基于Android的LBS定位系统的设计[D].南京:南京邮电大学,2013.
[10]韦峥.第三代移动通信系统网络规划(桂林)[D].北京:北京邮电大学,2012.
[11]刘峰.移动通信基站设备信息管理系统的分析与设计[D].吉林:吉林大学,2015.
[12]肖宇翔.GPS定位与干扰技术研究[D].成都:电子科技大学,2013.
[13]王敏,吴中博,徐德刚.基于预测模型的传感器网络近似数据采集算法 [J].计算机工程与科学,2014,36(11):2148-2152.
[14]刘伟江,李振汉,唐余亮,等.基于Android的嵌入式Web服务器设计 [J].电子设计工程,2013,21(9):4-6.
[15]刘靖桐.面向Web2.0的web应用前端开发框架的设计与实现[D].北京:北京邮电大学,2014.
Design and implementation of base station information collection system based on Android
JIA Xin,ZHANG Li-zhi,WANG Xiao-yu
(National Digital Switching System Engineering Technology Research Center,Zhengzhou 450000,China)
Owing to the lack of base station location information in some areas,the mobile phone positioning based on the base stations unable to offer a good data to support.So we use an active acquisition and centralized processing method,realizing the acquisition front end of base station through the Android smart phone,and building the back-end of the base station information processing platform under the spring framework,therefore a set of base station information collection system was designed and implemented.The field-collected experiments showed that,this system has a higher efficiency and optimize the work processes compared with the traditional system,which provides the convenience for the acquisition.
base station information;location;android;GPS
TN92
:A
:1674-6236(2017)01-0009-04
2016-04-27稿件编号:201604268
国家科技支撑计划课题支持(2014BAH30B01)
贾 鑫(1991—),男,河南平顶山人,硕士。研究方向:移动通信系统。