安防人上中安网!

关注我们  

安防网 >> 工程方案 >> 其他

多维数据分析的实现及应用

2009-12-17 10:12:01 来源:中安网 作者:花楹 责任编辑: xiongs 收藏本文
本文简要介绍了商业智能的基本知识和多维分析模型的基本技术,通过将多维建模思想应用于关系数据库的E-R模型,充分利用结构化查询语言(SQL)和JAVA数据存储技术,提供了一种基于WEB的多维分析工具的实现,描述了如何将该多维分析工具应用于安全技术防范统计工作,实现了安全技术防范工作的多维统计分析功能。
 

  一、引言


  信息技术随着需求的变化在不断地向前发展,从最初的单机版的应用软件发展到网络版的管理系统(MIS),接着又出现了ERP(企业资源计划)、CRM(客户关系管理)等,商业智能则是最近几年信息技术领域研究和应用比较多的一个概念,多维数据分析是商业智能当中应用的一项主要技术,其往往通过商业智能前端展现工具进行体现,后端则一般是基于数据仓库和OLAP服务器来实现,针对目前大量的数据信息都是存储在关系数据库中,需要找到一种解决办法,使关系数据库中数据能够以多维的形式进行展现,并且能将这种展现应用于日常的业务系统当中。


  通过对关系数据库E-R模型的分析,可以找到关系数据模型与多维数据模型之间的对应关系,从而实现关系数据向多维数据的转换,关系数据最终都是通过SQL查询语句实现数据检索的,因此需要将多维分析操作转换成相应的查询语句,在数据的展现方面主要通过表格和图形的方式进行显示,通过以上研究实现了一个基于WEB的多维数据分析和展现的工具。


  在某安全技术防范工作项目的研究当中,集成了该多维数据分析工具,实现了数据的多维分析和展现,达到了很好的应用效果,增强了数据统计的真实性、灵活性和直观性。


  二、商业智能及多维数据分析技术


  商业智能简称BI(Business Intelligence),商业智能是对商业信息的搜集、管理和分析的过程,目的是使企业的各级决策者获得知识或洞察力,促使他们做出对企业更有利的决策。商业智能作为一个系统的解决方案,它综合了多种计算机技术和信息处理技术,商业智能技术主要包括:数据库和数据仓库技术(Data Warehousing)、数据抽取转换加载技术(ETL-Extraction Transformation Loading)、联机分析处理技术(OLAP-Online Analytical Process)、数据挖掘技术(Data Mining)、前端展现技术等,图表1说明了这些技术之间的相互关系。
 



图表 1 商业智能技术框图

  从图表1中可以看出,存储在各种各样的数据源中的数据经过ETL过程之后被存储到数据仓库中,通过OLAP服务器可对数据仓库中的数据进行多维建模,使数据以多维的方式存储在OLAP服务器中或多维数据库中,通过数据挖掘技术和工具可发现数据中隐含的有价值信息,利用前端展现工具和技术可把数据以多种方式展现出来,供查阅和分析。


  我们如何理解多维数据中的维?维是人们观察事物的角度,同样的数据从不同的维进行观察可能会得到不同的结果,同时也使人们更加全面和清楚地认识事物的本质。比如一个典型的商品销售数据库,记录了商品销售的详细情况,则我们可从这么几个方面来对销售数据进行分析:从产品的角度,可以按产品的类别、品牌、型号来查看产品的销售情况;从客户的角度,可以按客户的类别、地区等来查看产品的购买情况;从销售代表的角度,可以按销售代表的部门、级别等来查看产品销售业绩;从时间的角度,可以按年度、季度、月份等来观察产品销售的变动情况。其中产品、客户、销售代表、时间分别是四个不同的维度,每个维度都从不同方面体现了销售数据的特征,而每个维度又可按粒度的不同划分成多个层次,称为维度成员,多维分析中另一个重要的概念是数据指标,简称指标,指标代表了数据中的可度量的属性,在上面的销售数据中有两个重要的指标是销售数量和销售金额。


  当数据有了维的概念之后,便可对数据进行多维分析操作,常见的多维分析操作主要有:钻取(上钻和下钻)、切片、切块、旋转。钻取:钻取是改变维度的层次,变换分析的粒度。钻取包括上钻和下钻,上钻是在某一维上将低层次的细节数据概括到高层次的汇总数据的过程,减少了分析的维数;下钻则是相反,它是将高层次的汇总数据进行细化,深入到低层次细节数据的过程,增加了分析的维数。切片和切块:在多维分析中,如果在某一维度上限定了一个值,则称为对原有分析的一个切片,如果对多个维度进行限定,每个维度限定为一组取值范围,则称为对原有分析的一个切块。在多维分析中,维度都是按某一顺序进行显示,如果变换维度的顺序和方向,或交换两个维度的位置,则称为旋转。


  三、多维数据分析的实现


  要实现关系型数据的多维分析,首先要从关系数据库的E-R模型中提取维度和指标信息,然后在这些维度和指标之间建立一种关联,通过执行SQL查询语句检索出统计结果,最后将统计结果以可视化的形式进行显示。基于这样一种思想,要实现一个多维统计分析工具,可按以下几个步骤来进行。


  3.1 维度指标定义


  根据维度和指标的概念,从现有的数据表中选择可对应维度或指标的字段,将这些字段的信息分别保存在维度表和指标表中,维度表的信息主要包括:维度名称、维度类别、表的ID、字段名、规则等,指标表的信息主要包括:指标名称、指标类别、表的ID、字段名、规则 、聚合类型等。


  3.2 建立关联关系


      由于维度和指标在定义时都是相互独立的,其间并无隐含的关联信息,因此要对它们所属的表进行关联,有了关联之后才能在它们之间进行查询和分析。表关联信息保存在表关联定义表中。表关联要保存如下一些信息:关联的父表名称、关联的父表列名、关联的子表名称、关联的子表列名。如果把表看作是有向图中的节点,把关联看作有向图中的边,则所有表的关联关系构成了一个或多个有向图。


  3.3 执行数据查询


  有了前面的定义之后,便可以开始多维数据的查询,首先选择查询的维度和指标,然后提交查询处理程序进行数据查询,在查询过程中分别根据上钻、下钻、切片、切块、旋转等操作进行相应的处理,流程如图表2所示。


  在多维数据的查询当中,关键是能够拼出完整的SQL语句,一个典型的SQL语句应该包括SELECT子句、FROM子句、WHERE子句、GROUP子句、ORDER BY子句,这些子句根据前面的数据定义都可以实现。
 


 

 

  图表 2 多维数据查询


  数据查询的结果需要有一种合适的数据结构来进行存储,这样才能便于数据的显示,查询结果只有两种数据的信息,一个是维度数据一个是指标数据,通过研究发现,由于维度是有层次的,因此可以用树(TREE)的结构来保存维度的信息,对于指标数据,其实它是显示在多个维度的交叉点上,只要规定好的每个维度的取值,则指标数据的值便可确定,因此指标数据可以用MAP的结构来进行存储。


  3.4 多维数据展现


  根据人们的日常习惯,多维数据的展现主要有两种方式,一种是交叉报表的显示,一种是统计图的显示。


  交叉报表的显示比较符合中国人的习惯,可同时观察多个维度的统计数据,维度可以显示在行上,也可以显示在列上,也可以同时显示,如图表3所示,根据前面介绍的数据存储结构可以很容易的生成这样一张统计表。
 



  图表 3 交叉报表


  统计图是以更直观的方式显示所观察的数据,常见的统计图有:饼图、柱状图、折线图、堆积图等,统计图的展现相对来说要复杂一些,不过目前有一些开源的图形生成工具,通过集成这些图形生成工具可以很容易实现这种功能,JFREECHART就是这样一种工具,它提供了丰富的接口,可以生成各种统计图,还可增加图形的三维效果,在这里我们集成的JFREECHART来生成统计图,关于JFREECHART的使用可参考相关文档。


  四、多维分析技术在安防工作中的应用


  4.1 业务介绍


  为了便于了解全国安全技术防范系统的整体情况,开发了一个关于安全技术防范系统的信息收集、审核、查询、统计的软件系统,系统采用的是五级用户管理,包括部、省、市、区县、派出所,数据由基层派出所采集上来之后,经过相关部门审核成为有效数据,各级部门需要对这些数据进行汇总,生成本级部门的统计报表,需要对数据能够进行灵活的分析。


  4.2 数据模型分析


  安全技术防范系统的数据主要包含两部分内容,一个是部门信息,一个是安防系统的数据信息,部门信息主要包含如下一些数据项:部、省厅、地市、区县、派出所,安防系统数据信息主要包含如下一些数据项:使用单位、单位地址、单位类型、系统联网情况、公安联网情况、有无检测、验收单位、系统构成、系统运行状况、系统造价、系统数量、接警次数、报警次数、预防案件数、抓获嫌疑人数、破获刑事案件数、破获治安案件数等。从这些数据项中可提取出相关的维度信息和指标信息,针对部门维度可直接取部、省厅、地市、区县、派出所为维度层次,在安防系统数据中可提取出单位类型维度、系统联网情况维度、公安联网情况维度、有无检测维度、验收单位维度、系统运行状况维度等,指标数据则有:系统数量、系统造价、接警次数、报警次数、预防案件数、抓获嫌疑人数、破获刑事案件数、破获治安案件数等。


  4.3 多维分析


   定义好维度指标之后,根据表之间的关系建立关联,便可以进行数据的多维分析,数据多维分析的界面如图表4所示。
 



  图表 4 表格分析结果


  左边的树形目录显示了已经定义好的维度和指标,中间是多维分析的显示区域,右边是已经选择的要分析的维度和指标,从左边的维度指标树中选择要分析的维度和指标,添加到待分析区域,默认为表格分析,也可以选择图形分析,点击“显示”按钮,显示区域显示了分析的统计结果,其中行维度显示在左侧,列维度显示在上部,中间显示了指标数据信息。在这里可以进行上钻、下钻、切片等操作,还可通过互换行列维度来进行旋转操作。下钻分析后的结果如图表5所示。
 



  图表 5 钻取分析结果


  如果选择图形分析,则可选择多种图形分析样式,如柱状图、饼图、折线图等,图表6是3D柱状图的分析结果。
 




  图表 6 图形分析结果


  通过这些分析结果,用户可以更加全面、直观地了解安防系统的分布情况,为以后的工作决策提供必要的支持。


  五、结束语


  多维数据分析是商业智能应用的主要内容之一,本文在多维数据分析理论研究的基础上,给出了一种基于关系数据库及B/S模式的多维数据分析的实现,通过对维度、指标的预定义并建立表之间的关联关系,实现了E-R模型到多维模型的一种映射,在这种映射的基础上将多维分析的操作转化为结构化查询语句,完成了数据的统计查询,在多维数据的展现上提供了表格和图形两种展现方式。在安全技术防范的项目研究中,成功的集成了多维数据分析模块,为数据的统计分析提供了多角度,多层次的特性,更增加了数据统计的直观性。随着数据资源的不断丰富,多维数据分析的应用会越来越广泛,这也会促进多维数据分析的理论研究和技术进步。


   参考文献:


  [1].国外着名机构对商业智能的定义及提供的解决方案[OL]. 2005[2007-3-2]. http://blog.csdn.net/chwhnster/archive/2005/12/08/547511.aspx.


  [2].焦有章. 2005中国商业智能选型指南[OL]. 2005[2006-12-1]. http://www.chinabi.net(中国商业智能网).


  [3].胡运发. 数据与知识工程导论[M]. 北京:清华大学出版社. 2003.


  [4]. (美)Paulraj Ponniah着,段云峰等译. 数据仓库基础[M].北京:电子工业出版社,2004:394-431.


  [5].(美)Erik Thomsen着,朱建秋等译. OLAP解决方案:创建多维信息系统(第二版)[M]. 北京:电子工业出版社,2004.


  [6].(美)Tom Soukup Ian Davidson着,朱建秋等译. 可视化数据挖掘[M],北京:电子工业出版社,2004.


  [7].商业智能革命[OL]. 2006[2006-12-1]. http://www.dwway.com(数据仓库之路).


  (公安部第一研究所   刘庆伟)
 

【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!

中安网官方微信

网友评论

共有0条评论  点击查看全部>>

所有评论仅代表网友观点,与本站无关。

24小时阅读排行

本周阅读排行

订阅邮件
安防速递

每天三个要闻,知晓行业关键

E 周 刊

一周事,一朝知

Email: