蒋湘涛,陈晓雷
(1.中南林业科技大学 计算机与通信工程学院,湖南 长沙410004;2.中国移动通信集团湖南有限公司 湘潭分公司,湖南 湘潭411100)
路测是移动通信网络质量优化中必须要做的日常工作,主要通过路测及相关分析来主动发现通信网络中所存在的问题,并基于分析结果定制出改进通信网络质量的优化方案,其中优化方案的成效直接依赖于对路测数据的分析和网络质量的评估。现有网络质量采集及分析系统 (路测软件)只能提供二维地图信息,工作人员主要依靠路测数据和基站分布平面图进行网络质量分析。由于缺少所测试网络的地理环境信息支持,其分析结果常常有较大的误差,特别是当测试和分析工作由不同的人员独立进行时,问题更加显著,严重影响其优化方案的实际成效。
全球地理信息搜索软件Google Earth能够方便快速地定位到地球上任一点、并返回其地理环境信息,其提供的全球地貌影像能生成三维视图、并可任意旋转以提供不同视角[1]。影像的有效分辨率通常为30m左右,针对大城市、著名风景区能提供分辨率为1m和0.6m左右的高精度影像,而为国内地市级城市以及重要县城提供的影像精度均在5m左右。考虑到Google Earth所具有的高精度、开放性特点,本文利用它来获取通信网络所在地的地理环境信息,并将其与现有常规路测软件所能提供的路测数据进行信息融合,同时还整合了通信质量投诉数据等其他与网络质量分析相关的信息,最终提供集成式的可视化通信网络优化分析系统。
利用Google Earth系统所提供的嵌入式控件 (为了方便起见,下文采用Google Earth作为该控件的简称),将地理环境信息的浏览功能集成到本系统中;并利用API注入和Hook技术实现与现有路测软件交互、以及两者的信息融合。从而构造出可视化的网络通信质量分析系统。
本系统基于Google Earth的开发主要包括两部分:使用基于KML (keyhole markup language)模型[2]的无线网络、基站的地理环境信息表示与查询,包括各种影像和三维地貌图要素,且实时更新数据;基于Google Earth提供的COM API[3]接口来实现对地理环境信息的浏览操作以及路测数据在三维地形环境中的回放,并且支持回放过程中进行视角、缩放、视距等参数调整。
客观世界各种复杂的地理对象可以抽象成为点、线、多边形 (面)等空间几何类型。在Google Earth的KML模型中,采用Geometry抽象元素定义了几种基本的几何形元素,分别提供点 (Point)、线 (LineString)、环 (Linear-Ring)、多边形 (Polygon)、三维模型 (Model)等基本几何图形,同时还可以通过MultiGeometry聚合不同形态的基本几何图形,以便定义出复杂的几何实体。
本系统主要使用了 KML模型中的下列定义元素[2,4-6]:(1)Placemark元素表示定义了一个地理对象;
(2)Point元素定义点对象,每个Point元素其中仅包括一个Coordinates元素。
(3)Polygon定义多边形对象,表示连接的平面。按面域之间的包含关系可分为无岛面域和有岛面域两种,每个多边形对象的外边界由outerBoundaryIs元素定义,其内边界由innerBoundaryIs元素定义。
(4)LinearRing定义环对象,表示线形闭合环,由一序列坐标对所组成的直线段连接起来而组成。
(5)Coordinates定义坐标序列对,一个地理坐标对包括经度、纬度和高度3个值。
此外,在KML模型中,还可以通过Style元素来指定实现地理对象的外在样式表示;altitudeMode元素定义高度模式,设置为clampToGround模式时点对象将紧贴地面,忽略coordinates元素中所设置的高度值,设置为relativeToGround模式时,coordinates元素中的高度值为相对地面的高度值,指定为absolute模式时coordinates元素中的高度值此时为点对象相对海平面的高度值。extrude元素用于定义在relativeToGround、absolute等高度模式下的空间点是否通过线扩展延伸到相应的地表面。tessellate元素用于指定地理对象是否随地形起伏而产生相应变化。
在本系统中,使用点对象来标识所有的基站分布信息以及用户对通信质量投诉数据,同时使用多边形对象来表示基站信号覆盖范围。其中信号覆盖范围的计算法采用了通用的大地主题解正算法,可以得到基站信号覆盖范围的扇形图。在计算过程中,当下倾角不等于0°时,表示覆盖范围的扇形图半径值设为 (站点高度)/TAN (下倾角),而计算全向站的信号覆盖范围时设定基站的半功率角为360°。
图1中的实例定义了位置点 (湘潭县双江)以及一个基站双江-33771,并描述了其网络信号覆盖范围,由<coordinates>标签中的一系列的三元组值指示出其具体的边界。
图1 地理环境信息定义实例
信息融合过程中主要是通过GPS数据值来实现网络质量路测数据和Google Earth能提供的地理环境数据的关联。其中在Google Earth地理环境数据的所包含的GPS数据值是通过预先计算、自定义生成的,而路测数据的所包含GPS数据值是动态提取的,依照路测软件定义的数据格式以及 NMEA-0183协议[7-8]计算出 GPS数据的经、纬度值。下面将介绍系统中信息融合机制的具体实现。
为了遵循用户对现有分析系统的操作习惯,在信息融合实现机制中,主要使用了 API注入[9-12]和 Hook技术[13-14],不需要修改现有路测软件,也无需用户增加额外的操作步骤。其中API注入是通过对系统动态链接库com32dlg.dll中GetOpenFileNameA函数调用的拦截,获取路测软件当前正要加载进行分析的路测数据文件名;一旦获取文件名后,则读取其数据内容,并按NMEA-0183协议从中提取相应的GPS记录值,主要包括经、纬度以及高度值,最终据此生成相应的KML文件,导入Google Earth实现系统的初始化,缓存所有位置的相关卫星影像资料。
Hook技术则主要用于记录现有路测软件中鼠标操作事件 (主要记录开始、暂时、回到最初以及跳到结尾等操作),以获取用户对路测软件的操作,并由此生成对Google Earth的浏览操作控制,完成在Google Earth中的地理位置变化和地理环境信息显示。
整个过程如图2所示,当路测软件导入路测数据时,本系统将得到该数据文件名,自将其导入,并从中即时提取相应的GPS数据值,与系统预先基于KML模型定义的地理环境信息相结合,形成当前分析网络的相关地理信息定义文件,使用该文件驱动Google Earth即时读取相应的地理环境信息,并在系统的主窗口显示出来;同时当用户操纵路测软件时,将由截取到的事件驱动本系统完成信息的即时更新。
图2 路测数据与地理环境信息的融合过程
从图3中可以看到,本系统不仅可以查看到所有的实际路测数据值,还可以同时从主窗口GE VIEW中看到由三维图形展示的网络地理环境信息,不仅可以看到实际地理地貌,同时还可清楚地看到路测轨迹信息,由三维图中的红色线形表示,线上方块图形表示当前的测量位置。
基于Google Earth的标签功能[3]支持实现对所辖境内所以基站数据进行实时修改、显示、分析。
图4显示如何在系统中对用户投诉数据进行可视化管理,并最终集成到网络分析系统;图5显示在系统中查看基站的基本信息。在分析过程中,随时查看当前基站所辖网络的所有相关信息,并自动接收数据执行更新操作。
应用了该系统对湘潭河西区域进行通信网络优化,路测以及相关分析工作贯彻整个优化工作的始终,不仅通过路测发现问题,同时还通过路测验证各种优化手段的实际效果,在此分析过程中除了路测数据值,主要利用了本系统所提供的基站周边环境地貌信息以及所辖网络的故障报告以及其他相关信息。
通过对比河西区域在优化前后一周的整体指标,表明该区域性能有很大的改善。表1是优化过程中网络载频性能的日统计结果表,可以比较明显地看出网络质量提升的趋势。
表1 载频性能统计
基于API注入和Hook技术,构造了集成式的网络优化分析应用系统,将Google Earth的地理环境信息浏览功能以及现有路测软件回放功能集成到本系统中,并且实现了两者的信息融合以及在本系统中与路测软件的交互操作。主要解决了以下3个问题:在不需要更改现有路测软件的基础上,实现路测数据与Google Earth的地理环境数据两者的信息融合;提供了可视化的网络质量分析系统;实现了移动通信基站数据的可视化管理。系统在中国移动通信集团湖南有限公司湘潭分公司的实际应用情况表明,能有效地提高网络规划及优化工作的质量和效率,具有比较显著的应用参考价值。
[1]Google Inc.Google earth[EB/OL].http://earth.google.com/,2008.
[2]Google Inc.KML 2.2reference [R/OL].http://code.google.com/apis/kml/documentation/kmlreference.html,2007.
[3]Google Inc.Google Earth COM API documentation[EB/OL].http://earth.google.com/comapi,2010.
[4]TANG Yong,LIU Changzhong,WU Honggang.3Dflight track and 6-DOF flight simulation based on Google Earth [J].Journal of Computer Applications,2009,29 (12):3385-3387(in Chinese).[唐勇,刘昌忠,吴宏刚.基于Google Earth的三维航迹监视及六自由度飞行仿真 [J].计算机应用,2009,29 (12):3385-3387.]
[5]CHEN Ruixiang,HE Zhaocheng,HUANG Min,et al.The application of Google Earth in traffic information system [J].Acta Scientiarum Naturalium Universitatis Sunyatseni,2007,46 (s2):195-198 (in Chinese).[陈 锐 祥,何 兆 成,黄 敏,等.Google Earth在交通信息服务系统中的应用研究 [J].中山大学学报 (自然科学版),2007,46 (s2):195-198.]
[6]JIN Yongfu,LUO Dongqing,GUO Weiqi,et al.Application of Google Earth for information system of utilization of sea areaⅡ.further development chart [J].Marine Environmental Science,2010,29 (3):436-439(in Chinese). [金永福,罗冬箐,郭伟其,等.基于Google Earth的海域使用管理信息系统的应用Ⅱ.二次开发篇 [J].海洋环境科学,2010,29 (3):436-439.]
[7]QIAN Dejun,ZHANG Zhe,HU Chen.On parsing of NMEA0183 protocol[J].Chinese Journal of Electron Devices,2007,32(2):698-701 (in Chinese).[钱德俊,张哲,胡晨.NMEA0183协议解析 [J].电子器件,2007,32 (2):698-701.]
[8]YU Zhigang,LU Xiushan,ZHANG Lina,et al.Protocol NMEA0183and VB-based data withdrawal[J].Journal of Shandong University of Science and Technology (Natural Science),2006,25 (4):80-86.(in Chinese). [于志刚,卢秀山,张莉娜,等.NMEA0183协议及基于VB数据提取的实现 [J].山东科技大学学报 (自然科学版),2006,25 (4):80-86.]
[9]ZHU Ruolei.Detecting API hook based on active trace [J].Computer Engineering and Design,2010,31 (15):3363-3366(in Chinese).[朱若磊.基于动态追踪技术侦测 API钩挂[J].计算机工程与设计,2010,31 (15):3363-3366.]
[10]ZHU Ruolei.Detecting API hook based on active trace [J].Journal of Computer Applications,2006,26 (9):2134-2136(in Chinese).[朱若磊.利用核心态钩挂技术防止代码注入攻击 [J].计算机应用,2006,26 (9):2134-2136.]
[11]FU Wen,ZHAO Rongcai,PANG Jianmin,et al.Static detection method for obfuscated API-calling behavior [J].Computer Engineering,2010,36 (14):108-110 (in Chinese).[付文,赵荣彩,庞建民,等.隐式API调用行为的静态检测方法 [J].计算机工程,2010,36 (14):108-110.]
[12]XU Haifeng.Data auto-collecting technology based on messages and hooks[J].Computer Engineering and Design,2010,31 (5):1009-1012 (in Chinese).[徐海峰.基于消息和钩子数据自动获取技术的实现 [J].计算机工程与设计,2010,31 (5):1009-1012.]
[13]XIE Chunxiang,ZHANG Hong,CAI Li.The application of user-defined message based on hook message handling mechanism [J].Computer Applications and Software,2008,25(1):152-154 (in Chinese). [谢春祥,张虹,蔡黎.基于HOOK消息处理机制的自定义消息应用 [J].计算机应用与软件,2008,25 (1):152-154.]
[14]LUO Liming,FU Yutong,LU Yue.Process control realization with Win32hook technology [J].Control & Automation,2007,24 (5):240-242 (in Chinese).[骆力明,符宇同,鲁悦.利用Hook技术实现进程控制 [J].微计算机信息,2007,24 (5):240-242.]