基于手机端的道路病害管理系统设计与实现
2015-07-07李若童
李若童 申 威
(中国矿业大学〈北京〉机电与信息工程学院,中国 北京 100083)
0 引言
道路和地下管线是城市的重要基础设施,它们的稳定与否关系到城市的正常运转。在信息化发展的今天,对定期进行城市道路测线的管理人员来讲,不仅要记录当前的测量数据,更需要保存历史数据以便于进行数据分析、管理、预测、计划、控制和辅助决策等。基于B/S架构的道路病害管理系统正是为了满足此需求而开发。该系统满足了大量数据管理的需求。
在智能手机普及、互联网飞速发展以及全球定位系统(GPS)广泛使用的今天,人们通过手机获取信息的渴望越来越强烈。手机具有移动、小巧的特点,使用起来方便、快捷,不受时间、位置的限制。
本文设计并开发了基于手机端的道路病害管理系统。依托于服务器端对数据库的访问和基于web service的web服务来获取数据。本系统实现了对城市道路和管线的杀手——病害的实时查询和筛选。可根据病害的各项特征值来筛选符合条件的病害。或者查询指定地点附近的病害信息,实现对病害的有效掌控。针对每一条病害,查看其详细信息,对病害修护方案进行查看和下载,掌握病害修复进度。采用DBSCAN聚类算法实现了对病害点的空间聚类,发掘最容易出病害的地理位置,可据此进行实地调研,有一定的预测作用。为了数据安全,对数据传输进行了8位密钥的DES加密[1]。系统经过模拟测试和真机测试,表现良好。
1 系统总体设计
系统的总体架构分为四个部分:手机端、服务器端、通信部分、数据库。服务器端将与手机通信的web service[2]发布到指定位置,处理用户端的请求,与数据库交互。手机端通过internet访问web service获取数据。图1为系统架构图。
图1 系统架构图
2 主要功能设计与实现
2.1 基于web service的web服务
通过web service在服务器启动的同时将编写好的、可供手机端调用的方法发布到服务器端,手机端通过网络发送请求调用web service中的方法为自己服务。手机端可将一些复杂、耗时的计算任务交给web service处理,自己只请求计算后的数据,这样一来就大大减轻了手机端的负担,利用了服务器端的优势。Web service既可调用服务器端已有的方法,又可编写新的方法将处理后的数据发送给手机端,是一个很好的网络服务平台。Web service将手机端请求的数据拼接成字符串,经过8位密钥的DES加密和Base64编码两重封装后,以HTTP应答的方式将数据传送回手机。
Web service提供的主要服务有:
(1)返回所有的病害的摘要信息;
(2)根据手机端请求的筛选条件对病害过滤,返回符合条件的病害摘要信息;
(3)根据病害信息的唯一id获得病害的详细情况;
(4)提供对病害修护方案的下载功能;
(5)根据DBSCAN聚类算法实现对病害分布的聚类,返回聚类点。
2.2 手机端功能
手机端的开发基于android4.2系统。Android是基于Linux的自由开放源代码的操作系统,主要用于移动设备。手机端的功能主要分为六个部分:
(1)显示所有的病害摘要信息,利用病害的三个特征:与当前位置的距离、病害领域(城市、铁路、高速公路)、病害严重程度(非常严重、严重、中等、常规)对病害进行筛选;
(2)病害的地图显示:在导入了百度地图开发包后,使用其地图展示和定位功能。将病害位置用标注物在地图上标注。同时在屏幕的下半部分展示病害的摘要信息,左右滑动查看上一条、下一条病害信息;
(3)病害的搜索:当用户需要查看某个具体位置附近的病害时,只需在搜索框内输入地点的名称,点击“搜索”,会搜索出距离该位置最近的病害,按照距离的由近及远排序。该功能的实现借助于百度地图开发包的地理编码功能,将地理位置解析成经纬度坐标,与数据库中病害的经纬度坐标一起运算,得到两者的距离;
(4)查看病害修护方案:针对每个病害,可查看其详细信息,以表格的方式展示。包括病害的一般属性:病害测线尺寸、病害平均紧实度、病害平均空隙率等,还可查看病害现场图片并且保存到手机。病害修护方案记录了病害修复单位、负责人等基本内容,还记录了病害的详细修复方法。可对病害修护方案进行在线预览或者下载保存到本地,有利于对病害进行跟踪调查;
(5)对病害分布点的空间聚类分析:聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。本系统采用DBSCAN聚类算法,聚类的结果是最有代表性的样品。
2.3 服务器端程序
服务器端程序的开发基于SSH集成框架[3],该框架是目前较为流行的web应用程序开源框架。Web服务器为Tomcat7.x,前端页面的开发采用了QUI集成框架。数据库管理系统采用MySQL。服务器端的程序承担了更多数据管理的工作,直接与数据交互:
(1)道路病害的项目管理:每个项目拥有至少一条测线任务,每条项目记录了项目编号、名称、探测单位、负责人等信息;
(2)测线管理:为详尽、全方位、立体地记录测线信息,将测线信息划分为四个表,它们分别是:测线位置信息、探测服务信息、仪器采集参数信息、探测雷达数据;
(3)病害信息:病害信息也分为四个方面来记录,它们分别是:道路病害信息、标准病害信息、病害修护方案、自然塌陷信息;
(4)地下管线信息:地下管线信息的管理分为对管线探测信息和管线标准库的管理;
(5)用户管理、系统日志、数据库备份等功能。
上述各项管理任务中不仅有记录的增删改查等基础功能,针对不同的数据表还实现了数据的批量导入、导出,数据的地图显示,数据的级联查看,文件的上传下载,数据的处理等功能,是较为完备的信息管理系统。Web service的实现是服务器端代码中的一个包,在服务器启动时,web service将自动注册。
3 基于DBSCAN的空间聚类算法的应用
DBSCAN算法是基于密度的聚类算法[4],它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。比较适合对病害的聚类。
DBSCAN目的是找到密度相连对象的最大集合。任选一个未被访问的点开始,找出与其距离在eps之内的所有附近点。如果附近点的数量>minPts,则当前点与其附近点形成一个簇,并且出发点被标记为已访问。然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。如果附近点的数量 对病害位置聚类采用DBSCAN方法的优点是它可以处理任意形状的聚类,同时它的两个参数:扫描半径 (eps)和最小包含点数(minPts),可针对勘测需求和道路条件自行专业调整,具有一定的灵活性。需要注意的是,由于该聚类算法基于密度,需要计算每个点半径范围内的点的个数,即需要计算两点间的距离。病害的位置信息存储的是经度和纬度的坐标,在此不能采用平时的欧氏距离,应利用经纬度计算距离的方法。方法如下: 系统测试采用了模拟器和android真机,服务器为部署了Tomcat的个人PC,配有MySQL数据库服务器。 (1)服务器启动并且开放了供手机端调用的方法:图2web service的描述,图3为接口代码; 图2 web service描述 图3 接口代码 (2)图4:手机端没有网络时给出提示;图5:病害列表展示;图6:病害筛选;图7:病害地图展示; 图4 提示 图5 病害列表 图6 病害筛选 图7 病害地图 本文从实际需求出发,利用手机端移动、便捷、实时的特点,开发了手机端病害管理系统,通过与服务器端交互,获取远端道路病害信息,在手机端查看。利用手机定位功能,查看周围病害。有利于道路管理人员对病害更加灵活的管理。数据传输时采用了加密算法,利于保障数据安全。同时,采用聚类算法实现对病害位置的聚类分析,帮助使用者分析与决策。经过实际的测试与使用,该系统较为稳定,运行流畅。为使用者带来了便捷。 [1]张洁,朱丽娟.DES加密算法分析与实现[J].软件导刊,2007(03). [2]王楠,刘心雄,陈和平.Web Service技术研究[J].计算机与数字工程,2006(07). [3]吴宗东.SSH框架下的Web应用系统开发与研究[J].硅谷,2012(14). [4]周水庚,周傲英,曹晶.基于数据分区的DBSCAN算法[J].计算机研究与发展,2000(10)4 测试与实验
5 总结