李若童 申 威
(中國礦業(yè)大學(xué)〈北京〉機(jī)電與信息工程學(xué)院,中國 北京 100083)
道路和地下管線是城市的重要基礎(chǔ)設(shè)施,它們的穩(wěn)定與否關(guān)系到城市的正常運(yùn)轉(zhuǎn)。在信息化發(fā)展的今天,對定期進(jìn)行城市道路測線的管理人員來講,不僅要記錄當(dāng)前的測量數(shù)據(jù),更需要保存歷史數(shù)據(jù)以便于進(jìn)行數(shù)據(jù)分析、管理、預(yù)測、計(jì)劃、控制和輔助決策等?;贐/S架構(gòu)的道路病害管理系統(tǒng)正是為了滿足此需求而開發(fā)。該系統(tǒng)滿足了大量數(shù)據(jù)管理的需求。
在智能手機(jī)普及、互聯(lián)網(wǎng)飛速發(fā)展以及全球定位系統(tǒng)(GPS)廣泛使用的今天,人們通過手機(jī)獲取信息的渴望越來越強(qiáng)烈。手機(jī)具有移動(dòng)、小巧的特點(diǎn),使用起來方便、快捷,不受時(shí)間、位置的限制。
本文設(shè)計(jì)并開發(fā)了基于手機(jī)端的道路病害管理系統(tǒng)。依托于服務(wù)器端對數(shù)據(jù)庫的訪問和基于web service的web服務(wù)來獲取數(shù)據(jù)。本系統(tǒng)實(shí)現(xiàn)了對城市道路和管線的殺手——病害的實(shí)時(shí)查詢和篩選。可根據(jù)病害的各項(xiàng)特征值來篩選符合條件的病害?;蛘卟樵冎付ǖ攸c(diǎn)附近的病害信息,實(shí)現(xiàn)對病害的有效掌控。針對每一條病害,查看其詳細(xì)信息,對病害修護(hù)方案進(jìn)行查看和下載,掌握病害修復(fù)進(jìn)度。采用DBSCAN聚類算法實(shí)現(xiàn)了對病害點(diǎn)的空間聚類,發(fā)掘最容易出病害的地理位置,可據(jù)此進(jìn)行實(shí)地調(diào)研,有一定的預(yù)測作用。為了數(shù)據(jù)安全,對數(shù)據(jù)傳輸進(jìn)行了8位密鑰的DES加密[1]。系統(tǒng)經(jīng)過模擬測試和真機(jī)測試,表現(xiàn)良好。
系統(tǒng)的總體架構(gòu)分為四個(gè)部分:手機(jī)端、服務(wù)器端、通信部分、數(shù)據(jù)庫。服務(wù)器端將與手機(jī)通信的web service[2]發(fā)布到指定位置,處理用戶端的請求,與數(shù)據(jù)庫交互。手機(jī)端通過internet訪問web service獲取數(shù)據(jù)。圖1為系統(tǒng)架構(gòu)圖。
圖1 系統(tǒng)架構(gòu)圖
通過web service在服務(wù)器啟動(dòng)的同時(shí)將編寫好的、可供手機(jī)端調(diào)用的方法發(fā)布到服務(wù)器端,手機(jī)端通過網(wǎng)絡(luò)發(fā)送請求調(diào)用web service中的方法為自己服務(wù)。手機(jī)端可將一些復(fù)雜、耗時(shí)的計(jì)算任務(wù)交給web service處理,自己只請求計(jì)算后的數(shù)據(jù),這樣一來就大大減輕了手機(jī)端的負(fù)擔(dān),利用了服務(wù)器端的優(yōu)勢。Web service既可調(diào)用服務(wù)器端已有的方法,又可編寫新的方法將處理后的數(shù)據(jù)發(fā)送給手機(jī)端,是一個(gè)很好的網(wǎng)絡(luò)服務(wù)平臺。Web service將手機(jī)端請求的數(shù)據(jù)拼接成字符串,經(jīng)過8位密鑰的DES加密和Base64編碼兩重封裝后,以HTTP應(yīng)答的方式將數(shù)據(jù)傳送回手機(jī)。
Web service提供的主要服務(wù)有:
(1)返回所有的病害的摘要信息;
(2)根據(jù)手機(jī)端請求的篩選條件對病害過濾,返回符合條件的病害摘要信息;
(3)根據(jù)病害信息的唯一id獲得病害的詳細(xì)情況;
(4)提供對病害修護(hù)方案的下載功能;
(5)根據(jù)DBSCAN聚類算法實(shí)現(xiàn)對病害分布的聚類,返回聚類點(diǎn)。
手機(jī)端的開發(fā)基于android4.2系統(tǒng)。Android是基于Linux的自由開放源代碼的操作系統(tǒng),主要用于移動(dòng)設(shè)備。手機(jī)端的功能主要分為六個(gè)部分:
(1)顯示所有的病害摘要信息,利用病害的三個(gè)特征:與當(dāng)前位置的距離、病害領(lǐng)域(城市、鐵路、高速公路)、病害嚴(yán)重程度(非常嚴(yán)重、嚴(yán)重、中等、常規(guī))對病害進(jìn)行篩選;
(2)病害的地圖顯示:在導(dǎo)入了百度地圖開發(fā)包后,使用其地圖展示和定位功能。將病害位置用標(biāo)注物在地圖上標(biāo)注。同時(shí)在屏幕的下半部分展示病害的摘要信息,左右滑動(dòng)查看上一條、下一條病害信息;
(3)病害的搜索:當(dāng)用戶需要查看某個(gè)具體位置附近的病害時(shí),只需在搜索框內(nèi)輸入地點(diǎn)的名稱,點(diǎn)擊“搜索”,會搜索出距離該位置最近的病害,按照距離的由近及遠(yuǎn)排序。該功能的實(shí)現(xiàn)借助于百度地圖開發(fā)包的地理編碼功能,將地理位置解析成經(jīng)緯度坐標(biāo),與數(shù)據(jù)庫中病害的經(jīng)緯度坐標(biāo)一起運(yùn)算,得到兩者的距離;
(4)查看病害修護(hù)方案:針對每個(gè)病害,可查看其詳細(xì)信息,以表格的方式展示。包括病害的一般屬性:病害測線尺寸、病害平均緊實(shí)度、病害平均空隙率等,還可查看病害現(xiàn)場圖片并且保存到手機(jī)。病害修護(hù)方案記錄了病害修復(fù)單位、負(fù)責(zé)人等基本內(nèi)容,還記錄了病害的詳細(xì)修復(fù)方法??蓪Σ『π拮o(hù)方案進(jìn)行在線預(yù)覽或者下載保存到本地,有利于對病害進(jìn)行跟蹤調(diào)查;
(5)對病害分布點(diǎn)的空間聚類分析:聚類分析又稱群分析,它是研究(樣品或指標(biāo))分類問題的一種統(tǒng)計(jì)分析方法,同時(shí)也是數(shù)據(jù)挖掘的一個(gè)重要算法。本系統(tǒng)采用DBSCAN聚類算法,聚類的結(jié)果是最有代表性的樣品。
服務(wù)器端程序的開發(fā)基于SSH集成框架[3],該框架是目前較為流行的web應(yīng)用程序開源框架。Web服務(wù)器為Tomcat7.x,前端頁面的開發(fā)采用了QUI集成框架。數(shù)據(jù)庫管理系統(tǒng)采用MySQL。服務(wù)器端的程序承擔(dān)了更多數(shù)據(jù)管理的工作,直接與數(shù)據(jù)交互:
(1)道路病害的項(xiàng)目管理:每個(gè)項(xiàng)目擁有至少一條測線任務(wù),每條項(xiàng)目記錄了項(xiàng)目編號、名稱、探測單位、負(fù)責(zé)人等信息;
(2)測線管理:為詳盡、全方位、立體地記錄測線信息,將測線信息劃分為四個(gè)表,它們分別是:測線位置信息、探測服務(wù)信息、儀器采集參數(shù)信息、探測雷達(dá)數(shù)據(jù);
(3)病害信息:病害信息也分為四個(gè)方面來記錄,它們分別是:道路病害信息、標(biāo)準(zhǔn)病害信息、病害修護(hù)方案、自然塌陷信息;
(4)地下管線信息:地下管線信息的管理分為對管線探測信息和管線標(biāo)準(zhǔn)庫的管理;
(5)用戶管理、系統(tǒng)日志、數(shù)據(jù)庫備份等功能。
上述各項(xiàng)管理任務(wù)中不僅有記錄的增刪改查等基礎(chǔ)功能,針對不同的數(shù)據(jù)表還實(shí)現(xiàn)了數(shù)據(jù)的批量導(dǎo)入、導(dǎo)出,數(shù)據(jù)的地圖顯示,數(shù)據(jù)的級聯(lián)查看,文件的上傳下載,數(shù)據(jù)的處理等功能,是較為完備的信息管理系統(tǒng)。Web service的實(shí)現(xiàn)是服務(wù)器端代碼中的一個(gè)包,在服務(wù)器啟動(dòng)時(shí),web service將自動(dòng)注冊。
DBSCAN算法是基于密度的聚類算法[4],它將簇定義為密度相連的點(diǎn)的最大集合,能夠把具有足夠高密度的區(qū)域劃分為簇,并可在噪聲的空間數(shù)據(jù)庫中發(fā)現(xiàn)任意形狀的聚類。比較適合對病害的聚類。
DBSCAN目的是找到密度相連對象的最大集合。任選一個(gè)未被訪問的點(diǎn)開始,找出與其距離在eps之內(nèi)的所有附近點(diǎn)。如果附近點(diǎn)的數(shù)量>minPts,則當(dāng)前點(diǎn)與其附近點(diǎn)形成一個(gè)簇,并且出發(fā)點(diǎn)被標(biāo)記為已訪問。然后遞歸,以相同的方法處理該簇內(nèi)所有未被標(biāo)記為已訪問的點(diǎn),從而對簇進(jìn)行擴(kuò)展。如果附近點(diǎn)的數(shù)量 對病害位置聚類采用DBSCAN方法的優(yōu)點(diǎn)是它可以處理任意形狀的聚類,同時(shí)它的兩個(gè)參數(shù):掃描半徑 (eps)和最小包含點(diǎn)數(shù)(minPts),可針對勘測需求和道路條件自行專業(yè)調(diào)整,具有一定的靈活性。需要注意的是,由于該聚類算法基于密度,需要計(jì)算每個(gè)點(diǎn)半徑范圍內(nèi)的點(diǎn)的個(gè)數(shù),即需要計(jì)算兩點(diǎn)間的距離。病害的位置信息存儲的是經(jīng)度和緯度的坐標(biāo),在此不能采用平時(shí)的歐氏距離,應(yīng)利用經(jīng)緯度計(jì)算距離的方法。方法如下: 系統(tǒng)測試采用了模擬器和android真機(jī),服務(wù)器為部署了Tomcat的個(gè)人PC,配有MySQL數(shù)據(jù)庫服務(wù)器。 (1)服務(wù)器啟動(dòng)并且開放了供手機(jī)端調(diào)用的方法:圖2web service的描述,圖3為接口代碼; 圖2 web service描述 圖3 接口代碼 (2)圖4:手機(jī)端沒有網(wǎng)絡(luò)時(shí)給出提示;圖5:病害列表展示;圖6:病害篩選;圖7:病害地圖展示; 圖4 提示 圖5 病害列表 圖6 病害篩選 圖7 病害地圖 本文從實(shí)際需求出發(fā),利用手機(jī)端移動(dòng)、便捷、實(shí)時(shí)的特點(diǎn),開發(fā)了手機(jī)端病害管理系統(tǒng),通過與服務(wù)器端交互,獲取遠(yuǎn)端道路病害信息,在手機(jī)端查看。利用手機(jī)定位功能,查看周圍病害。有利于道路管理人員對病害更加靈活的管理。數(shù)據(jù)傳輸時(shí)采用了加密算法,利于保障數(shù)據(jù)安全。同時(shí),采用聚類算法實(shí)現(xiàn)對病害位置的聚類分析,幫助使用者分析與決策。經(jīng)過實(shí)際的測試與使用,該系統(tǒng)較為穩(wěn)定,運(yùn)行流暢。為使用者帶來了便捷。 [1]張潔,朱麗娟.DES加密算法分析與實(shí)現(xiàn)[J].軟件導(dǎo)刊,2007(03). [2]王楠,劉心雄,陳和平.Web Service技術(shù)研究[J].計(jì)算機(jī)與數(shù)字工程,2006(07). [3]吳宗東.SSH框架下的Web應(yīng)用系統(tǒng)開發(fā)與研究[J].硅谷,2012(14). [4]周水庚,周傲英,曹晶.基于數(shù)據(jù)分區(qū)的DBSCAN算法[J].計(jì)算機(jī)研究與發(fā)展,2000(10)4 測試與實(shí)驗(yàn)
5 總結(jié)