李若童 申 威
(中國礦業大學〈北京〉機電與信息工程學院,中國 北京 100083)
道路和地下管線是城市的重要基礎設施,它們的穩定與否關系到城市的正常運轉。在信息化發展的今天,對定期進行城市道路測線的管理人員來講,不僅要記錄當前的測量數據,更需要保存歷史數據以便于進行數據分析、管理、預測、計劃、控制和輔助決策等。基于B/S架構的道路病害管理系統正是為了滿足此需求而開發。該系統滿足了大量數據管理的需求。
在智能手機普及、互聯網飛速發展以及全球定位系統(GPS)廣泛使用的今天,人們通過手機獲取信息的渴望越來越強烈。手機具有移動、小巧的特點,使用起來方便、快捷,不受時間、位置的限制。
本文設計并開發了基于手機端的道路病害管理系統。依托于服務器端對數據庫的訪問和基于web service的web服務來獲取數據。本系統實現了對城市道路和管線的殺手——病害的實時查詢和篩選。可根據病害的各項特征值來篩選符合條件的病害。或者查詢指定地點附近的病害信息,實現對病害的有效掌控。針對每一條病害,查看其詳細信息,對病害修護方案進行查看和下載,掌握病害修復進度。采用DBSCAN聚類算法實現了對病害點的空間聚類,發掘最容易出病害的地理位置,可據此進行實地調研,有一定的預測作用。為了數據安全,對數據傳輸進行了8位密鑰的DES加密[1]。系統經過模擬測試和真機測試,表現良好。
系統的總體架構分為四個部分:手機端、服務器端、通信部分、數據庫。服務器端將與手機通信的web service[2]發布到指定位置,處理用戶端的請求,與數據庫交互。手機端通過internet訪問web service獲取數據。圖1為系統架構圖。

圖1 系統架構圖
通過web service在服務器啟動的同時將編寫好的、可供手機端調用的方法發布到服務器端,手機端通過網絡發送請求調用web service中的方法為自己服務。手機端可將一些復雜、耗時的計算任務交給web service處理,自己只請求計算后的數據,這樣一來就大大減輕了手機端的負擔,利用了服務器端的優勢。Web service既可調用服務器端已有的方法,又可編寫新的方法將處理后的數據發送給手機端,是一個很好的網絡服務平臺。Web service將手機端請求的數據拼接成字符串,經過8位密鑰的DES加密和Base64編碼兩重封裝后,以HTTP應答的方式將數據傳送回手機。
Web service提供的主要服務有:
(1)返回所有的病害的摘要信息;
(2)根據手機端請求的篩選條件對病害過濾,返回符合條件的病害摘要信息;
(3)根據病害信息的唯一id獲得病害的詳細情況;
(4)提供對病害修護方案的下載功能;
(5)根據DBSCAN聚類算法實現對病害分布的聚類,返回聚類點。
手機端的開發基于android4.2系統。Android是基于Linux的自由開放源代碼的操作系統,主要用于移動設備。手機端的功能主要分為六個部分:
(1)顯示所有的病害摘要信息,利用病害的三個特征:與當前位置的距離、病害領域(城市、鐵路、高速公路)、病害嚴重程度(非常嚴重、嚴重、中等、常規)對病害進行篩選;
(2)病害的地圖顯示:在導入了百度地圖開發包后,使用其地圖展示和定位功能。將病害位置用標注物在地圖上標注。同時在屏幕的下半部分展示病害的摘要信息,左右滑動查看上一條、下一條病害信息;
(3)病害的搜索:當用戶需要查看某個具體位置附近的病害時,只需在搜索框內輸入地點的名稱,點擊“搜索”,會搜索出距離該位置最近的病害,按照距離的由近及遠排序。該功能的實現借助于百度地圖開發包的地理編碼功能,將地理位置解析成經緯度坐標,與數據庫中病害的經緯度坐標一起運算,得到兩者的距離;
(4)查看病害修護方案:針對每個病害,可查看其詳細信息,以表格的方式展示。包括病害的一般屬性:病害測線尺寸、病害平均緊實度、病害平均空隙率等,還可查看病害現場圖片并且保存到手機。病害修護方案記錄了病害修復單位、負責人等基本內容,還記錄了病害的詳細修復方法。可對病害修護方案進行在線預覽或者下載保存到本地,有利于對病害進行跟蹤調查;
(5)對病害分布點的空間聚類分析:聚類分析又稱群分析,它是研究(樣品或指標)分類問題的一種統計分析方法,同時也是數據挖掘的一個重要算法。本系統采用DBSCAN聚類算法,聚類的結果是最有代表性的樣品。
服務器端程序的開發基于SSH集成框架[3],該框架是目前較為流行的web應用程序開源框架。Web服務器為Tomcat7.x,前端頁面的開發采用了QUI集成框架。數據庫管理系統采用MySQL。服務器端的程序承擔了更多數據管理的工作,直接與數據交互:
(1)道路病害的項目管理:每個項目擁有至少一條測線任務,每條項目記錄了項目編號、名稱、探測單位、負責人等信息;
(2)測線管理:為詳盡、全方位、立體地記錄測線信息,將測線信息劃分為四個表,它們分別是:測線位置信息、探測服務信息、儀器采集參數信息、探測雷達數據;
(3)病害信息:病害信息也分為四個方面來記錄,它們分別是:道路病害信息、標準病害信息、病害修護方案、自然塌陷信息;
(4)地下管線信息:地下管線信息的管理分為對管線探測信息和管線標準庫的管理;
(5)用戶管理、系統日志、數據庫備份等功能。
上述各項管理任務中不僅有記錄的增刪改查等基礎功能,針對不同的數據表還實現了數據的批量導入、導出,數據的地圖顯示,數據的級聯查看,文件的上傳下載,數據的處理等功能,是較為完備的信息管理系統。Web service的實現是服務器端代碼中的一個包,在服務器啟動時,web service將自動注冊。
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 總結