李圣權 陳觀林 齊雋
摘 要: 數字城管在現代城市管理中具有重要的意義。介紹了一個面向數字城管的數據分析與挖掘系統(tǒng)的具體設計和實現,該系統(tǒng)基于Java EE平臺開發(fā),綜合利用了統(tǒng)計分析方法和范例推理技術,能夠提供對城市管理的科學決策。
關鍵詞: 數字城管; 數據挖掘; 統(tǒng)計分析; Java EE
中圖分類號:TP31 文獻標志碼:B 文章編號:1006-8228(2013)08-80-03
0 引言
數字化城市管理(簡稱“數字城管”)是現代城市的發(fā)展趨勢,也是城市管理走向現代化的必然要求。實施數字城管,可以創(chuàng)新城市管理模式,再造城市管理流程,實現電子政務資源的整合與共享,從而提升政府城市管理水平和公共服務能力[1]。
近年來,許多國外發(fā)達城市相繼開展了數字城管的研究和實踐,實施數字城管也已成為中國城市管理建設的熱點。2005-2007年,國家住房和城鄉(xiāng)建設部先后確定了51個數字城管試點城市[2],目前全國已有300多個城市已建立了數字城管。以浙江省杭州市為例,2006年8月杭州市順利通過國家建設部的驗收,成為首批十個數字城管試點城市中第一個通過驗收的城市,其創(chuàng)新模式被冠名為“杭州模式”[3];至2010年底,杭州市已建成覆蓋城市市域的市轄城域數字城管統(tǒng)一平臺。
在數字化城市管理建設過程中,數字城管信息系統(tǒng)綜合利用計算機、網絡、通訊和數據庫等技術,積累了大量龐大又寶貴的數據[4]。從這些海量的原始數據中分析挖掘更實用、更全面的信息,對于城市管理的科學監(jiān)管和執(zhí)法具有重要的意義。
本文采用主流的Java EE技術,結合Spring和Hibernate框架,設計并實現了一個面向數字城管的數據分析與挖掘系統(tǒng)。系統(tǒng)充分利用統(tǒng)計分析方法和數據挖掘技術,能對數字城管信息進行綜合分析和有效挖掘,為城市管理的科學決策提供全面、直觀的依據。
1 系統(tǒng)總體設計與分析
1.1 系統(tǒng)總體需求分析
面向數字城管的數據分析與挖掘系統(tǒng)針對數字化城市管理領域采集的主要信息,例如行業(yè)監(jiān)管業(yè)務數據、“四化”督查業(yè)務數據和城管執(zhí)法業(yè)務數據等海量數據,綜合利用統(tǒng)計分析方法[5]和范例推理技術(Case-Based Reasoning,CBR)進行數據挖掘[6],提取有價值的信息,進一步促進數字城管應用的知識發(fā)現和輔助決策,提升城市管理的水平和效能。
系統(tǒng)的主要功能模塊包括:系統(tǒng)管理、簡單分析、高級分析、分析查詢和結果導出等。
系統(tǒng)管理:實現用戶管理(包括用戶登錄、創(chuàng)建和修改)和信息管理(問題、案件的管理)。
簡單分析:選取簡單的維度、指標字段進行分析,作廢分析等。
高級分析:選取復雜的維度、指標、圖形區(qū)域等進行分析,包括鉆?。―rill-up和Drill-down)、切片(Slice)和切塊(Dice)等分析。
分析查詢:提供歷史的分析管理和記錄查詢。
結果導出:導出分析結果,包括簡單報表、圖形報表等。
系統(tǒng)的基本功能框架如圖1所示。
1.2 系統(tǒng)關鍵技術
系統(tǒng)的關鍵技術主要包括以下幾個方面。
⑴ 系統(tǒng)的技術選型采用目前成熟、先進的Java EE技術,符合主流MVC框架的設計架構,系統(tǒng)在軟件上充分考慮可擴充性,軟件系統(tǒng)采用模塊化設計,注重提高系統(tǒng)的可移植性、安全性、可伸縮性和可重用性;同時采用插件式的方式集成系統(tǒng)中的各個模塊,保證各個模塊的松散耦合、集中統(tǒng)一。
⑵ 利用統(tǒng)計分析方法研究數字城管數據之間的關聯關系。確定數據庫字段之間存在的函數關系(能用函數公式表示)和非函數關系(不能用函數公式表示),通過統(tǒng)計海量數據中的最大值、最小值、平均值等常用統(tǒng)計方法,以及回歸分析、相關分析、差異分析等常用分析方法,對數字城管業(yè)務的數據進行統(tǒng)計分析,挖掘出數據間存在的規(guī)律性和相關性。
⑶ 利用范例推理技術促進數字城管領域的輔助決策?,F有的數字城管信息系統(tǒng)提供了大量的案例數據,系統(tǒng)采用CBR技術進行基于案例庫的范例推理建模,利用常用的歸納索引法構建案例決策樹,提取案例的顯著特征,當出現新的案例時,首先在案例庫中檢索和整合最相似的案例,為新案例快速提供一個參考的解決方案,從而實現對城市管理的輔助決策。
1.3 數據庫設計
系統(tǒng)共設計了員工、地點、問題、監(jiān)管案例等12張數據表,部分數據表的描述如下:
⑴ 員工表:存儲工作人員信息,包括姓名、編號和聯系方式等基本屬性;
⑵ 地點表:存儲發(fā)生問題的地點信息,包括編號、區(qū)域、街道、社區(qū)等基本屬性;
⑶ 問題表:存儲對問題事件的描述,包含編號、來源、類別、狀態(tài)等屬性;
⑷ 監(jiān)管案例表:存儲所有立案的問題或事件信息,包括案例信息、處理信息等。
其中,監(jiān)管案例表是系統(tǒng)統(tǒng)計分析和挖掘的主要來源,該數據表設計的重要字段及其含義如表1所示。
2 系統(tǒng)詳細設計與實現
系統(tǒng)基于Java EE平臺進行設計開發(fā),以Oracle作為后臺數據庫,采用Hibernate實現持久層管理,采用Spring實現事務管理與依賴注入,使用Spring MVC的設計模式管理前后臺的交互,同時綜合了目前主流的AJAX框架、JavaScript技術、JS擴展類庫等技術,充分展示了B/S架構的MVC設計模式的運用,可以在裝有瀏覽器以及JRE支持的系統(tǒng)上直接使用。
下面對系統(tǒng)中信息管理和高級分析等關鍵模塊的具體實現進行詳細說明。
2.1 信息管理模塊的設計實現
信息管理模塊主要提供對數字城管案件和問題信息的管理,包括增、刪、改等基本功能,以及分頁、排序和過濾等附加功能,同時使用了“Google Suggest”模式提供對輸入詞匯的檢索提示功能。
2.1.1 利用ExtJS實現自動分頁功能
ExtJS是一個與后臺技術無關的前端AJAX框架,主要用于創(chuàng)建前端用戶界面。系統(tǒng)利用ExtJS的PagingToolbar控件封裝的方法,實現對信息管理進行自動分頁的操作,它顯示從后臺返回的總數據數,并且定義了“上一頁”、“下一頁”等功能按鈕,分別封裝了對應的請求,從而獲取到相應的頁面。
實現分頁功能的前臺頁面部分代碼如下:
后臺利用一個Page的util類進行所有的分頁操作,該Page類封裝了分頁的一些基本的后臺操作以對應前臺發(fā)來的請求,從而實現分頁效果。
2.1.2 使用“Google Suggest”實現自動匹配功能
“Google Suggest”是Google搜索引擎重要的智能化服務之一,當用戶輸入所要搜索的關鍵詞時,會以下拉框的形式出現關鍵詞擴展提示。系統(tǒng)在實現過程中,也使用了“Google Suggest”模式實現關鍵詞的匹配提示。當用戶對案件信息進行修改或查詢時,例如對上報監(jiān)督員進行修改,只要輸入相應人名的前一個或幾個字符,系統(tǒng)就會自動在數據庫中尋找匹配的名字列表,以下拉框的形式供用戶選擇,這種實現方式能夠方便地對數據進行處理篩選,預先顯示用戶想要的數據。
系統(tǒng)實現該功能的過程如下:
⑴ 當獲取到用戶的請求數據后,設置請求的相應url為“employee?method=suggest”;
⑵ 后臺接收到該請求后,通過關鍵字獲取類似姓名的方法employeeService.getByName(name),對數據庫中的Employee表進行查詢,返回所有包含前端輸入字符的人名,供前臺選擇。
例如,在案件信息管理模塊中,如果修改上報監(jiān)督員的人名,當輸入一個“董”字后,將自動生成所有名字包含“董”的員工供用戶選擇,頁面效果如圖2所示。
2.2 高級分析模塊的設計實現
高級分析模塊能夠提供多維度、多條件的統(tǒng)計分析功能,并且以柱狀圖、餅狀圖等直觀形象的圖表進行展示,使得分析結果一目了然,同時還提供分析結果的Excel文件導出功能。
2.2.1 分析結果的圖形顯示
例如,對基于地區(qū)的發(fā)案率進行分析比較,統(tǒng)計各地區(qū)在某一時間段內的發(fā)案數,系統(tǒng)通過使用Axis的渲染繪圖功能,實現結果的柱狀圖等圖形顯示。
系統(tǒng)實現地區(qū)發(fā)案率分析過程如下:
⑴ 當用戶提交相應時間的請求數據后,通過聲明屬性renderTo:document.body實時渲染標明圖表;
⑵ 后臺接收到前臺的請求后,調用dao層的getRate()方法獲取當前數據庫中發(fā)案率統(tǒng)計信息;
⑶ 后臺獲取到查詢結果之后,將該結果組裝成JSON數據發(fā)往前臺。
由于該分析查詢是一個聚類查詢,系統(tǒng)使用標準的SQL語句獲取發(fā)案率的統(tǒng)計信息,返回一個list對象,再對這個對象進行操作,顯示相應的柱狀圖,使得分析比較功能的實現更加方便與簡單。
2.2.2 分析結果的Excel導出
系統(tǒng)還實現了將分析結果保存到Excel文件的功能,具體實現的過程如下:
⑴ 當用戶點擊“保存分析”按鈕之后,提交saveAnalysis請求給后臺;
⑵ 后臺Spring MVC獲取到該請求后,調用對應ExcelBuild中的Excel方法進行處理;
⑶ 該方法調用ExcelUtil類的靜態(tài)方法writeExcel,把要寫入的數據封裝成對象數組,完成Excel文件的寫入操作,將Excel文件保存到指定路徑。
基于地區(qū)統(tǒng)計發(fā)案數據的分析比較結果如圖3所示。
3 結束語
面向數字城管領域的數據分析與挖掘是數字化城市管理建設提升的重要手段,可以為城市管理工作者提供科學有效的決策支持。本文在介紹數字城管建設現狀的基礎上,設計了一個基于Java EE技術平臺、結合Spring和Hibernate框架、符合主流MVC架構的面向數字城管的數據分析與挖掘系統(tǒng)。該系統(tǒng)綜合利用統(tǒng)計分析方法和范例推理技術,實現了業(yè)務數據的有效分析,并提供分析結果的圖形化顯示,能為城市管理的科學決策提供直觀的依據。今后,將繼續(xù)擴展系統(tǒng)的數字城管信息來源,引入更加智能的數據挖掘算法,進一步促進數字化城市管理應用的知識發(fā)現。
參考文獻:
[1] 孫峰.數字城管業(yè)務系統(tǒng)建設初探[J].電腦知識與技術,2009.5(24):6707-6711
[2] 郝力.數字城管:革新城市管理模式[J].建設科技,2010.23:20-22
[3] 陳觀林,李圣權,周魯耀.杭州市“數字城管”現狀及發(fā)展對策研究[J].情報雜志,2009.28(z2):43-45
[4] 郭喜安.數字化城市管理相關技術的應用與創(chuàng)新[J].城市發(fā)展研究,2009.16(7):11-12
[5] 劉東坡,劉法能.空間分析技術在數字城管系統(tǒng)中的應用[J].電腦知識與技術,2009.5(4):984-985
[6] 廉波,王正華,易曉山.基于數據挖掘的CBR在數字化城市管理中的應用[J].辦公自動化雜志,2009.12:20-22