- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于MapXtreme的直放站集中监控管理系统开发与实现
(1)系统管理模块:主要完成用户和权限设置、设备参数编辑、各种日志的获取和导出操作、传输服务的启动和关闭、任务列表的实时显示和删除、系统测试等。
(2)直放站信息管理模块:主要完成工程列表查看、站点查询、监控对象管理、关联指配配置、电子地图浏览等。由于监控中心要实现直放站近端和远端的关联、直放站近端和基站的关联、主设备与相关从设备的对应关系,以及直放站与关联小区的对应关系,所以在电子地图上要呈现拓扑关系。
(3)任务管理模块:主要完成任务列表的显示、编辑和设置。任务列表显示了用户添加的通信任务的相关信息,具体包括:任务序号、任务名称、通信功能、传输模式、生效时间、失效时间、是否生效等。
(4)报警管理模块:能够实现对报警数据的实时采集和集中监视,辅助运维人员快速发现网络问题并定位故障,自动生成报警工单,同时提供对报警信息的各种处理功能,提供对历史报警信息的统计和查询功能。
(5)统计分析模块:可以完成分析下行输入、输出功率和下行驻波的关系,统计各个站点的报警信息,检查近远端设备配对情况,分析站点的参数对象是否完整、各种门限是否符合要求等。
2 MapXtreme应用方案的分析与设计
在直放站集中监控管理系统中引入电子地图,可以精确定位直放站的位置,并与基站的位置信息相关联,开发报警的关联功能,而且可以提供更直观的用户界面,方便监控和操作。
电子地图功能可通过WebGIS系统中的MapXtreme实现。MapXtreme是MapInfo公司开发的一个基于互联网技术的地图应用软件,其中,MapXtreme for Java版本是100%纯Java产品,具有跨平台、组件化、面向对象、符合J2EE规范等特点和优势,因此选用它作为开发平台。使用MapXtreme开发WebGIS应用,开发人员能集中控制以及维护地图和数据库数据,并集中实现地图应用程序功能。此外,由于使用IE浏览器作为客户端的使用界面,可使开发人员将地理信息系统紧密地与其他系统相结合,给用户提供统一、完整的综合信息服务。基于MapXtreme的WebGIS应用方案如图4所示[4]。
IE浏览器是一个图形用户界面,采用Java Applet与JavaScript为用户提供地图的基本操作,实现空间数据显示、查询统计分析等功能。
Web服务器处理客户端的请求并把对空间数据的处理命令传递给GIS应用服务器,回传HTML文件及Java服务器对象组件;加载空间数据等。客户端Java Applet通过服务器端Servlet的URL重新构造URL类,向服务器端的Servlet发出请求,Servlet调用JDBC驱动器,JDBC驱动器负责连接、操作GIS数据库并在客户端的浏览器中显示。Web服务器层也可直接利用标准SQL语言访问数据库服务器以获取较复杂的属性数据。
GIS应用服务器处理来自Web服务器空间数据操作命令,进行地图生成和操作等,同时将地图操作结果以图片形式输出到Web服务器的特定目录之下。
GIS数据库服务器由SpatialWare负责管理。SpatialWare是MapInfo公司最新推出的空间数据库管理软件,它的主要作用是把复杂的MapInfo地图对象存入大型数据库中,并为其建立空间数据索引,从而在数据库服务器上实现对属性数据和空间图形对象数据的统一管理。
3 关键技术的研究与开发
基于MapXtreme的WebGIS应用方案具有平台独立性和平衡高效的计算负载等特点,使用Java技术在服务器端开发Java Servlet程序。MapXtreme作为一个Servlet与Web服务器相连接,通过地图引擎来向应用程序提供可供程序脚本语言使用的地图对象、属性和方法。开发中涉及的关键技术有以下几项。
3.1 客户端与服务器端通信的实现
客户端和服务器端之间的通信是通过HTTP协议来完成的。所有HTTP通信都使用8位字符,以确保二进制编码文件的安全传输。系统采用了一种称之为隧道技术的处理方式。隧道可以被看作一条这样的通道:它使用己存在的通信通道HTTP,并在其中创建一个子协议来执行特殊任务。这里要创建的子协议将包含所有必要的信息,这些信息被用来创建一个Web服务器上的对象,调用这个对象中的方法,并将结果返回给客户端。使用HTTP隧道的优点就是可以将精力集中在子协议上面,而不用关注如何在客户端和服务器之间传送数据包。
在客户端和服务器端之间传送一条请求要经过很多工序。出于性能上考虑,应该在每次请求/响应中传输尽可能多的信息。客户端和服务器端之间的1次完整通信具体包含以下的步骤:
(1) 打开HTTP连接:HTTP是一种无状态的协议,即每一个请求都被视为一个独立的实体。因此,对于每一个请求都要建立一个新连接。
(2)初始化方法请求:用来描述调用什么方法和方法所需要的参数。
(3)设置HTTP请求头:包含发送的数据类型和长度。
(4)发送请求:将二进制数据流发送到服务器。
(5)读取请求:目标Servlet程序将被调用,并接收HTTP请求数据。Servlet程序就是调用所有必要的参数选择相应的方法。如果这是客户端的第一次请求,一个服务器对象的新的实例就会被创建。
(6)调用方法:方法将会被服务器端的对象所调用。
(7)初始化方法响应:如果调用的方法抛出一个异常,客户将接收到出错信息;否则,返回的类型将会被发送。
(8) 设置HTTP响应头:与设置HTTP请求头一样,在响应头中要设置待发送数据的类型和长度。
(9) 发送响应:二进制数据流将从Web服务器发送回给客户端。
(10) 关闭连接。
来源:维库开发网