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