面向数字城管的数据分析与挖掘系统的设计与开发

2013-04-29 09:00李圣权陈观林齐隽
计算机时代 2013年8期
关键词:统计分析数据挖掘

李圣权 陈观林 齐隽

摘 要: 数字城管在现代城市管理中具有重要的意义。介绍了一个面向数字城管的数据分析与挖掘系统的具体设计和实现,该系统基于Java EE平台开发,综合利用了统计分析方法和范例推理技术,能够提供对城市管理的科学决策。

关键词: 数字城管; 数据挖掘; 统计分析; Java EE

中图分类号:TP31 文献标志码:B 文章编号:1006-8228(2013)08-80-03

0 引言

数字化城市管理(简称“数字城管”)是现代城市的发展趋势,也是城市管理走向现代化的必然要求。实施数字城管,可以创新城市管理模式,再造城市管理流程,实现电子政务资源的整合与共享,从而提升政府城市管理水平和公共服务能力[1]。

近年来,许多国外发达城市相继开展了数字城管的研究和实践,实施数字城管也已成为中国城市管理建设的热点。2005-2007年,国家住房和城乡建设部先后确定了51个数字城管试点城市[2],目前全国已有300多个城市已建立了数字城管。以浙江省杭州市为例,2006年8月杭州市顺利通过国家建设部的验收,成为首批十个数字城管试点城市中第一个通过验收的城市,其创新模式被冠名为“杭州模式”[3];至2010年底,杭州市已建成覆盖城市市域的市辖城域数字城管统一平台。

在数字化城市管理建设过程中,数字城管信息系统综合利用计算机、网络、通讯和数据库等技术,积累了大量庞大又宝贵的数据[4]。从这些海量的原始数据中分析挖掘更实用、更全面的信息,对于城市管理的科学监管和执法具有重要的意义。

本文采用主流的Java EE技术,结合Spring和Hibernate框架,设计并实现了一个面向数字城管的数据分析与挖掘系统。系统充分利用统计分析方法和数据挖掘技术,能对数字城管信息进行综合分析和有效挖掘,为城市管理的科学决策提供全面、直观的依据。

1 系统总体设计与分析

1.1 系统总体需求分析

面向数字城管的数据分析与挖掘系统针对数字化城市管理领域采集的主要信息,例如行业监管业务数据、“四化”督查业务数据和城管执法业务数据等海量数据,综合利用统计分析方法[5]和范例推理技术(Case-Based Reasoning,CBR)进行数据挖掘[6],提取有价值的信息,进一步促进数字城管应用的知识发现和辅助决策,提升城市管理的水平和效能。

系统的主要功能模块包括:系统管理、简单分析、高级分析、分析查询和结果导出等。

系统管理:实现用户管理(包括用户登录、创建和修改)和信息管理(问题、案件的管理)。

简单分析:选取简单的维度、指标字段进行分析,作废分析等。

高级分析:选取复杂的维度、指标、图形区域等进行分析,包括钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)等分析。

分析查询:提供历史的分析管理和记录查询。

结果导出:导出分析结果,包括简单报表、图形报表等。

系统的基本功能框架如图1所示。

1.2 系统关键技术

系统的关键技术主要包括以下几个方面。

⑴ 系统的技术选型采用目前成熟、先进的Java EE技术,符合主流MVC框架的设计架构,系统在软件上充分考虑可扩充性,软件系统采用模块化设计,注重提高系统的可移植性、安全性、可伸缩性和可重用性;同时采用插件式的方式集成系统中的各个模块,保证各个模块的松散耦合、集中统一。

⑵ 利用统计分析方法研究数字城管数据之间的关联关系。确定数据库字段之间存在的函数关系(能用函数公式表示)和非函数关系(不能用函数公式表示),通过统计海量数据中的最大值、最小值、平均值等常用统计方法,以及回归分析、相关分析、差异分析等常用分析方法,对数字城管业务的数据进行统计分析,挖掘出数据间存在的规律性和相关性。

⑶ 利用范例推理技术促进数字城管领域的辅助决策。现有的数字城管信息系统提供了大量的案例数据,系统采用CBR技术进行基于案例库的范例推理建模,利用常用的归纳索引法构建案例决策树,提取案例的显著特征,当出现新的案例时,首先在案例库中检索和整合最相似的案例,为新案例快速提供一个参考的解决方案,从而实现对城市管理的辅助决策。

1.3 数据库设计

系统共设计了员工、地点、问题、监管案例等12张数据表,部分数据表的描述如下:

⑴ 员工表:存储工作人员信息,包括姓名、编号和联系方式等基本属性;

⑵ 地点表:存储发生问题的地点信息,包括编号、区域、街道、社区等基本属性;

⑶ 问题表:存储对问题事件的描述,包含编号、来源、类别、状态等属性;

⑷ 监管案例表:存储所有立案的问题或事件信息,包括案例信息、处理信息等。

其中,监管案例表是系统统计分析和挖掘的主要来源,该数据表设计的重要字段及其含义如表1所示。

2 系统详细设计与实现

系统基于Java EE平台进行设计开发,以Oracle作为后台数据库,采用Hibernate实现持久层管理,采用Spring实现事务管理与依赖注入,使用Spring MVC的设计模式管理前后台的交互,同时综合了目前主流的AJAX框架、JavaScript技术、JS扩展类库等技术,充分展示了B/S架构的MVC设计模式的运用,可以在装有浏览器以及JRE支持的系统上直接使用。

下面对系统中信息管理和高级分析等关键模块的具体实现进行详细说明。

2.1 信息管理模块的设计实现

信息管理模块主要提供对数字城管案件和问题信息的管理,包括增、删、改等基本功能,以及分页、排序和过滤等附加功能,同时使用了“Google Suggest”模式提供对输入词汇的检索提示功能。

2.1.1 利用ExtJS实现自动分页功能

ExtJS是一个与后台技术无关的前端AJAX框架,主要用于创建前端用户界面。系统利用ExtJS的PagingToolbar控件封装的方法,实现对信息管理进行自动分页的操作,它显示从后台返回的总数据数,并且定义了“上一页”、“下一页”等功能按钮,分别封装了对应的请求,从而获取到相应的页面。

实现分页功能的前台页面部分代码如下:

后台利用一个Page的util类进行所有的分页操作,该Page类封装了分页的一些基本的后台操作以对应前台发来的请求,从而实现分页效果。

2.1.2 使用“Google Suggest”实现自动匹配功能

“Google Suggest”是Google搜索引擎重要的智能化服务之一,当用户输入所要搜索的关键词时,会以下拉框的形式出现关键词扩展提示。系统在实现过程中,也使用了“Google Suggest”模式实现关键词的匹配提示。当用户对案件信息进行修改或查询时,例如对上报监督员进行修改,只要输入相应人名的前一个或几个字符,系统就会自动在数据库中寻找匹配的名字列表,以下拉框的形式供用户选择,这种实现方式能够方便地对数据进行处理筛选,预先显示用户想要的数据。

系统实现该功能的过程如下:

⑴ 当获取到用户的请求数据后,设置请求的相应url为“employee?method=suggest”;

⑵ 后台接收到该请求后,通过关键字获取类似姓名的方法employeeService.getByName(name),对数据库中的Employee表进行查询,返回所有包含前端输入字符的人名,供前台选择。

例如,在案件信息管理模块中,如果修改上报监督员的人名,当输入一个“董”字后,将自动生成所有名字包含“董”的员工供用户选择,页面效果如图2所示。

2.2 高级分析模块的设计实现

高级分析模块能够提供多维度、多条件的统计分析功能,并且以柱状图、饼状图等直观形象的图表进行展示,使得分析结果一目了然,同时还提供分析结果的Excel文件导出功能。

2.2.1 分析结果的图形显示

例如,对基于地区的发案率进行分析比较,统计各地区在某一时间段内的发案数,系统通过使用Axis的渲染绘图功能,实现结果的柱状图等图形显示。

系统实现地区发案率分析过程如下:

⑴ 当用户提交相应时间的请求数据后,通过声明属性renderTo:document.body实时渲染标明图表;

⑵ 后台接收到前台的请求后,调用dao层的getRate()方法获取当前数据库中发案率统计信息;

⑶ 后台获取到查询结果之后,将该结果组装成JSON数据发往前台。

由于该分析查询是一个聚类查询,系统使用标准的SQL语句获取发案率的统计信息,返回一个list对象,再对这个对象进行操作,显示相应的柱状图,使得分析比较功能的实现更加方便与简单。

2.2.2 分析结果的Excel导出

系统还实现了将分析结果保存到Excel文件的功能,具体实现的过程如下:

⑴ 当用户点击“保存分析”按钮之后,提交saveAnalysis请求给后台;

⑵ 后台Spring MVC获取到该请求后,调用对应ExcelBuild中的Excel方法进行处理;

⑶ 该方法调用ExcelUtil类的静态方法writeExcel,把要写入的数据封装成对象数组,完成Excel文件的写入操作,将Excel文件保存到指定路径。

基于地区统计发案数据的分析比较结果如图3所示。

3 结束语

面向数字城管领域的数据分析与挖掘是数字化城市管理建设提升的重要手段,可以为城市管理工作者提供科学有效的决策支持。本文在介绍数字城管建设现状的基础上,设计了一个基于Java EE技术平台、结合Spring和Hibernate框架、符合主流MVC架构的面向数字城管的数据分析与挖掘系统。该系统综合利用统计分析方法和范例推理技术,实现了业务数据的有效分析,并提供分析结果的图形化显示,能为城市管理的科学决策提供直观的依据。今后,将继续扩展系统的数字城管信息来源,引入更加智能的数据挖掘算法,进一步促进数字化城市管理应用的知识发现。

参考文献:

[1] 孙峰.数字城管业务系统建设初探[J].电脑知识与技术,2009.5(24):6707-6711

[2] 郝力.数字城管:革新城市管理模式[J].建设科技,2010.23:20-22

[3] 陈观林,李圣权,周鲁耀.杭州市“数字城管”现状及发展对策研究[J].情报杂志,2009.28(z2):43-45

[4] 郭喜安.数字化城市管理相关技术的应用与创新[J].城市发展研究,2009.16(7):11-12

[5] 刘东坡,刘法能.空间分析技术在数字城管系统中的应用[J].电脑知识与技术,2009.5(4):984-985

[6] 廉波,王正华,易晓山.基于数据挖掘的CBR在数字化城市管理中的应用[J].办公自动化杂志,2009.12:20-22

猜你喜欢
统计分析数据挖掘
探讨人工智能与数据挖掘发展趋势
基于并行计算的大数据挖掘在电网中的应用
如何发挥新时期统计工作的作用之我见
以统计分析为基础的房地产税收优化分析
SPSS在高校图书馆服务体系中的应用研究
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究