远程监管系统概要设计
一、 软件体系结构
软件总体架构采用“B/S”,即“浏览器/服务器”架构。整个系统部署在服务器端,客户端只需要安装浏览器即可。当系统升级更新时,只需要在服务器端进行配置即可;同时,由于大部分业务逻辑操作均在服务器端实现,客户端只需要负责界面呈现和交互处理等操作,因此就大大降低了系统对客户端资源的占用。存在的问题主要是当网络发生故障或服务器发生故障将会导致整个服务中断。
如下图所示:整个软件系统包括3个部分:①基础数据:GIS数据库文件、基站信息数据库文件;②应用服务:数据库管理软件、GIS服务、基站在线监管服务、Web服务器;③客户端应用:Web客户端。
Web客户端:一般指常见的浏览器程序,比如谷歌、火狐、Safari等浏览器,通过HTTP协议连接WEB服务器获取网页数据,并渲染为可视化页面,同时提供支持交互处理操作。此外,也包括客制化的桌面程序。
Web服务器:基于HTTP协议对外提供服务的服务端应用程序,包括服务器的脚本解释程序。常见的有服务器有IIS、Apache、Tomcat,脚本解释程序有ASP.NET、PHP、JSP等。
GIS服务:也称GIS引擎服务,主要提供地理信息可视化渲染、空间数据管理、查找、分析和量算等服务。常见的有ArcGIS Server、Map Server等。
数据库引擎:各大平台数据库提供对外访问服务的组件,也就是一组数据库访问API函数库。
GIS数据库:存储地理信息数据、空间数据、矢量数据和遥感影像数据的文件。可申请访问国土资源信息采集部门GIS数据库。
基站信息数据库:存储基站基础信息数据(基站ID、基站经纬度、使用频率 、基站小区功率、天线挂高、扇区数量 、设备型号等)的文件。
基站在线监管服务:用户基于Web服务器脚本解释器编写的基站在线监管程序,通过GIS 服务器提供API组件和数据库引擎实现用户客制化的业务逻辑,比如(地图加载、图上量算、区域查询、分布范围查询等等)。
二、 软件部署架构
如上图所示,基站在线监管系统应用服务部署在单位内部机房服务器上,并做好相关安全防护策略,主要包括:1台Web服务器,用于部署“基站在线监管服务”程序;1台GIS服务器,用于部署GIS Server程序;1台数据库服务器,用于部署GIS数据库和基站信息数据库软件。机房服务器通过ISP服务商接入公共互联网中,可提供对外服务以及访问公网数据资源。
基站在线监管系统客户端为单位内部用户终端设备和接入公网的用户终端设备,一般通过浏览器向服务器端发起请求,实现远程在线监管操作。
基站在线监管系统基础数据由基站运营商和国土资源部门提供,通过公网可远程获取加载到本地。
三、 功能需求说明
1.基站展示功能
总体描述:能够直观查询获取网络现状,了解掌握当前三大运营商网络情况和基站分布,实现基站信息和分布展示功能。
1.1分类显示:通过GIS Server图层控制功能可以实现按照基站运营商、网络制式等分类选择性的显示加载。
1.2要素查询:通过GIS Server 要素查询组件(如ArcGIS 中的IIdentify接口)用于查找指定位置要素(基站、地点等),然后通过要素ID关联查询基站基础信息数据库中对应记录(包括基站ID、基站经纬度、使用频率 、基站小区功率、天线挂高、扇区数量 、以及设备型号等),并将最终查询的结果汇总通过web页面呈现给用户。
1.3地图浏览:GIS Server中地图控制组件(如ArcServer中的MapControl)用于加载显示地图,用户可以进行地图的平移和缩放操作,在不同显示比例尺中显示不同的图层和样式。同时,该组件也为地图与数据的交互式操作提供途径,用户可以对地图上的要素实现编辑等操作。
1.4 基站覆盖范围:GIS Server中图形绘制组件提供动态绘制图形接口,待地图加载完毕后遍历每一个基站要素,并根据其参数信息动态绘制覆盖范围。
2.基站统计功能
总体描述:基于三大运营商的基站基础信息数据,按照区域、运营商、制式、频段等分类指标选择性的统计各类基站数量以及每日新入网基站数量。
2.1 基站统计:基站在线监管服务提供给用户一个分类筛选的界面,通过数据库引擎执行相关SQL操作,并将统计后的结果编辑整理后,经Web服务器发送给客户端浏览器。
2.2 基站定位:通过GIS Server 要素选择组件(如ArcGIS中IFeatureSelection),可以根据基站统计结果中基站ID字段值,查找定位高亮显示此要素,便于用户快速查找基站在图上的位置。
2.3 统计报表:将统计查询的结果生成为Excel、Word、PDF等格式文件,可选择输出至本地。
3.基站运行数据监测功能
总体描述:通过对基站指标的评估对基站运行质量进行监测,为电磁兼容分析和无线电干扰查处提供评判信息。主要通过接入、保持、感知类指标对网络质量的评估,透过指标实现对异常基站的识别。并能够对基站的运行状态进行测试,包含正常状态及退服状态,能够显示退服基站,并能够有效区分退服时长,对于突发大面积退服、退服超长基站进行重点关注。
3.1 基站质量评估:通过与基站管理相关业务部门沟通,建立基站质量评估模型。按照评估算法,系统通过遍历基站数据库,计算每一个基站质量评估指数,并将评估结果更新至数据库中。
3.2 基站质量情况呈现:通过GIS符号样式管理器,将基站质量评估结果借助颜色区分开来。
一、 软件平台搭建
本次项目开发主要基于开源软件项目构建基站在线监管GIS系统,主要优点是:开发费用低,软件扩展性高,不涉及版权问题。
1.数据源(PostGIS)
PostGIS(PostgreSQL)、MySQL Spatial主要是开源数据库的空间扩展,不仅表现在数据表中支持几何类型的存储,而且提供SQL级别的集合关系判断,例如,可以直接利用SQL查询在某个多边形内的点。
PostGIS是加拿大Refractions公司支持的开源项目,它为开源数据库Postgre SQL提供了空间支持。PostGIS在SQL级别上实现了基本的空间运算功能。另外绝大多数开源GIS软件都支持PostGIS数据表的直接载入、读写等功能。PostGIS是OpenGIS数据源的最佳实现。
2.中间件(GeoTools)
GeoTools(开源的Java GIS工具包)中间件在系统中扮演连接数据和服务的角色。GeoTools承担了从各种数据源(PostGIS,GML,Shapfile,WFS)读取数据并执行数据标准化的工作。Feature(要素)接口定义在GeoTools中,不同数据源的数据读出后被统一成包含一个Geometry成员(定义在JTS中)的Feature接口的实现。这样,进一步的操作只需面向Feature即可,省去了高层软件对于不同数据源的解读过程。另外,GeoTools还是OpenGIS标准的全面实现,其中包括Filter、Search、坐标转换、GML。
JTS是加拿大Vivid Solution开发的一套开放源代码的Java API,它提供了一套空间数据操作的核心算法。为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词API。JTS作为GeoTools一个子模块被封装进去,但模块本身不是GeoTools工程的,其相关技术文档在JTS官网。
3.WMS/WFS服务器(GeoServer)
Web Map Service(WMS)根据用户的请求返回相应的地图(包括png、gif、jpeg等栅格数据或者SVG、WEB CGM矢量数据)。常见的开源产品有:GeoServer(Java)、MapServer(PHP)地图服务器,扮演向网络中的客户端提供地图服务的角色。这类地图服务器可以接收统一规范的WMS请求和WFS请求,返回多种格式的数据。
GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用于对特征数据进行更新、删除、插入等操作。GeoServer兼容WMS和WFS特性;支持PostGIS、Shapefile、ArcSDE、Oracle、VPF、MySQL、MapInfo;支持上百种投影;能够将网络地图输出为jpeg、gif、png、svg、kml等格式;能够运行在任何基于J2EE/servlet容器之上;嵌入MapBuilder支持Ajax的地图客户端OpenLayers;
4.客户端(OpenLayers)
常见开源客户端产品有:OpenLayers/MapBuilder(JavaScript)、uDig(Java)、QGIS(C++)。以OpenLayers作为B/S架构系统的客户端,其功能已经非常强大。它封装了WMS请求,在浏览器上实现地图的切片载入、拖动、缩放功能,可以实现跨浏览器操作,支持矢量编辑。
5.相关解释
GML:是OpenGIS的标准规范之一,它基于xml描述地理数据。
ArcSDE:是ArcGIS的空间数据引擎,它是在关系数据库管理系统(RDBMS)中存储和管理多用户空间数据库的通路。
6.项目平台组成
根据上述分析介绍,本次项目开发平台分为GIS和实现。其中,GIS部分采用“PostGIS+ GeoTools + GeoServer + OpenLayers”搭建完成。基站在线监管服务采用“Tomcat + jsp + MySQL”搭建完成。