Web多维分析系统设计与实现-_第1页
Web多维分析系统设计与实现-_第2页
Web多维分析系统设计与实现-_第3页
Web多维分析系统设计与实现-_第4页
Web多维分析系统设计与实现-_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、收稿日期:2006-11-11作者简介:马帅(1982-,男,辽宁辽中人,硕士研究生,主要研究领域为智能信息系统;黄青松,硕士,教授,主要研究领域为智能信息系统。基于动态交叉表的W eb 多维分析系统设计与实现马帅,刘利军,黄青松(昆明理工大学信息与自动化学院计算机系,云南昆明650051摘要:在业务复杂的B/S 系统中,当需要以多维方式组织数据并在web 上显示时,为了解决使用传统的OLAP 方式会遇到的诸多难题,提出了一种基于动态交叉表的web 多维分析方法。该方法通过使用多维分析建立交叉表视图,应用Oracle 数据库的PL/SQL 对视图实现动态刷新,以及应用Struts 构架和优秀的

2、开源工具J FreeChart 等技术,实现了多维分析数据在web 上的动态更新,有效地解决了系统开销大、难于在web 上表现等问题。该方法在云南省大型仪器协作共用网系统中得到了良好的应用。关键词:OLAP ;多维分析;Struts ;动态交叉表中图分类号:TP311;TP393.4文献标识码:A 文章编号:1673-629X (200709-0113-03Design and Implementation of Multidimensional Analysis System ofWeb B ased on Dynamic CrosstabMA Shuai ,L IU Li 2jun ,HU

3、AN G Qing 2song(Dept.of Computer ,College of Information and Automatization ,KunmingUniversity of Science and Technology ,Kunming 650051,China Abstract :Presents a new method of implement multidimensional analysis on the web based on dynamic crosstab to solve the problems which may occur in the comp

4、lex B/S system if using traditional OLAP way to statistic and display lots of data in the multidimensional form on the web.This method applies many technologies such as establishing crosstab view using multidimensional analysis ,updating view dynamically using Oracle database PL/SQL ,applying Struts

5、 framework and excellent open source tool J FreeChart and so on.It real 2ized the multidimensional analysis data dynamic update on the web.This system solved many problems effectively such as big system ex 2penses and difficult to display.This method has received good effect in the Yunnan Super Inst

6、rument Network Shared System.K ey w ords :OLAP ;multidimensional analysis ;Struts ;dynamic crosstab0引言当需要对系统进行多维数据分析时,传统的方法是使用OLAP 工具,OLAP 可以用不同的格式组织和提供数据,以满足不同用户的形形色色的要求。但是在一个基于web 的系统中使用OLAP 工具就会带来很多问题,比如系统开销较大、带宽资源有限以及难于在web 上表现等问题。针对这些问题,提出了一种基于动态交叉表的web 多维分析方法成功地解决了上述问题,并且使用struts 框架实现了统计结果可在we

7、b 上动态显示的功能。该方法已经成功地应用到了云南省大型仪器协作共用网系统(以下简称YNSISS 系统中。本方法的优点是不使用OLAP 服务器,可以降低开发成本;没有复杂的OLAP 计算,可以降低系统开销;在对非海量数据进行统计时可以对数据的变化进行实时的更新。文中方法针对Oracle 10g 设计,使用了Oracle 的PL/SQL 语言,对于其它数据库稍加改动也可实现。1Y NSISS 系统YNSISS 系统中共有九大子系统。文中涉及到的子系统是统计分析子系统,该子系统的设计目标是以该系统其它模块中录入数据库的基本表等资源作为数据源,其中包括仪器基本信息表、仪器单位信息表、仪器类别代码表和

8、地区代码表等数据表,依据这些数据提供各类统计信息,开展分析研究,为云南省内各地区的科学仪器管理的领导决策提供辅助支持。该子系统需要在客户端通过浏览器向服务器提交各种统计请求,经过计算后由服务器返回统计结果,并且要求以图第17卷第9期2007年9月计算机技术与发展COMPU TER TECHNOLO GY AND DEV ELOPMEN TVol.17No.9Sep.2007形和图表等形式将统计结果显示在web页面上。2多维分析方法多维分析是OLAP中的基本方法,它基于多维数据模型,该模型将数据看作数据立方体形式。数据立方体允许以多维对数据建模和观察,它由维和事实定义。每一个维都有一个表与之相关

9、联。该表称为维表,它进一步描述维。多维数据模型围绕中心主题组织。该主题用事实表表示。事实表包括事实的名称和度量,以及每个相关维表的关键字。度量是一个数值函数,该函数可以对数据立方体的每一个点求值。通过对给定点的各维-值对聚集数据,计算该点的度量值1。OLAP中典型的多维分析操作包括上卷、下钻、切片和切块等。3 动态交叉表的形成为了说明交叉表的概念,以YNSISS系统中的一个统计表做个简单的举例(见表1表3:表1仪器类别代码表(classinfo大类代码(bigno大类名称(bigname中类代码(midno中类名称(midname01分析仪器01电子光学仪器02计量仪器01热学计量仪器表2地区

10、代码表(areainfo市州代码(cityno市州名称(cityname区县代码(countyno区县名称(countyname01昆明市01五华区01昆明市02盘龙区02曲靖市01麒麟区表3仪器信息表(instrinfo仪器编号(instrno大类编号(bigno中类编号(midno市州代码(cityno区县代码(countyno00000101010102000002010302010000030201010100000402050202上面是三个数据库基本表,存储了仪器代码、地区代码、仪器等信息,但是在使用过程中并不希望以这样的形式表现,如果想要在一个页面上显示各个地区各大类仪器的数量以

11、及各地区仪器和各大类仪器的汇总等信息时就要对数据进行统计和重新组织。类似这样的统计就可以使用交叉表来实现,表4是交叉表显示的结果。表4按地区、仪器类别统计仪器数量的交叉表显示分析仪器计量仪器.汇总昆明市12075 (826曲靖市8463 (523 汇总752541 (6518如上表所示实现了行转列将数据交叉显示的表就是交叉表2。而动态交叉表是交叉表列信息并不固定时形成的交叉表,即上表中如果仪器类别的数量并不固定的情况下形成的交叉表就是动态交叉表。4动态交叉表的实现方法Oracle是一种关系型的大型数据库,可在多种硬件平台上运行,支持多种操作系统,支持海量数据、多用户的高性能的事务处理,以其强大

12、的功能和稳定性而著称3。并且Oracle强大的PL/SQL编程语言给数据库操作提供了方便。因此使用Oracle作为底层数据库为例,进行动态交叉表的设计。4.1将数据库中需要统计的部分使用多维分析,绘制星型模型在web上显示的交叉表可以看作是一个有两个维和一个度量的立方体,针对这个特点,将数据库系统中的基本表使用多维分析,抽象出维、度量及维的级别和层次等概念4。对于不是直接从基本表中读取的数据,而是由个别字段计算所得的数据要找到计算方法,如上例中仪器数量的统计就要经过计算才能得到。然后绘制出星型模型,列出维表中详细的级别、层次、度量值和计算方法,星型模型如图1所示。图1多维分析的星型模型4.2将

13、维、度量等数据进行计算并建立实体化视图实体化视图对于前台数据库使用者来说如同一个实际的表,具有和一般表相同的如“select”等操作,而其实际上是一个视图,一个由系统实现定期刷新其数据的视图,使用实体化视图更可以实现视图的所有功能,而实体化视图并不是在使用时才读取,大大提高了读取速度。根据实体化视图的优点,把上面的维表和度量值表中的数据全部存储到一个实体化视图中,该实体化视图根据业务需要再定时刷新,这样当统计很多的数据时不需要实时计算,只是从已经计算好的实体化视图中做“select”操作即可,这样可以提高统计的411计算机技术与发展第17卷速度。首先将从基本表中抽象出的维和度量信息进行计算,经

14、过计算后的各个维和度量数据存入实体化视图中,以便进行下一步的处理。下面的SQL 语句即建立实体化视图MU TIDIMENSION 。代码1CREATE OR REPLACE MATERIAL 2IZED VIEW MUL TIDIMENSIONREFRESH FORCEENABL E QU ERY REWRITE ASSEL ECT bigno ,midno ,sum (value as sum ,count (instrno as count FROM instrinfoGROUP B Y bigno ,midno 通过上面实体化视图的计算,交叉表中的所需要的所有数据都已经存储到了实体化视图

15、中。4.3设计交叉表视图实现多维数据的显示建立交叉表是最重要的一个步骤,现在所有的数据都保存在了上面的实体化视图中,下面的问题就是如何将实体化视图中所保存的信息以要求的交叉表形式表现出来。下面的代码通过实验验证可以正确地统计出想要的交叉表形式。代码2SEL ECT bigno ,midno ,sum (case when (bigno =01then count else 0end as count1,sum (case when (bigno =02then count else 0end as count2,sum (case when (bigno =03then count else

16、0end as count3,sum (case when (bigno =01then count else 0end +sum (case when (bigno =02then count else 0end +sum as totalfrom mutidimension group by rollup (bigno ,midno ,由于这样的交叉表的统计语句比较复杂,并且没有必要每次统计都要重写复杂的SQL 语句,如果交叉表的行信息是静态的,则可以建立如下的交叉表视图。代码3CREATE OR REPLACE VIEW area -class -count AS SEL ECT 这样就

17、建成了一个统计仪器类别与数量的交叉表视图,当web 页面接收到统计请求时就可以通过这个视图来显示仪器各类别的数量统计,在本例中有两个级别,分别是仪器大类和仪器中类,因此含有rollup 函数,以便进行上卷下钻等操作,比如当需要统计分析仪器各个中类在各地区的数量时,就是一个下钻操作。4.4实现视图及w eb 上图形图表的动态更新上面的视图已经可以满足一般的需求,但是对于一些要求更高的动态数据,这样的视图就无法满足,当基本表中的行转列的数据出现插入操作时交叉表中的列数据不能增加,因为视图一旦建立就不会改变。这就导致了交叉表中数据出现和基本表中数据不一致的问题。用上面的例子来说明这个问题,如果新增加

18、一个仪器类别(为了叙述方便,下面假设地区信息表无变化,即仪器类别代码表新增记录,那么这个新增的类别在交叉表中就不能显示,因为在交叉表视图中并不会增加相应的字段,这种情况下就要对交叉表视图进行更新,如果大量这样的视图存在,就使更新这些视图变得很困难。这种情况下,可以使用触发器和PL/SQL 编程实现这些视图的刷新,当对仪器类别代码表进行插入操作时触发器执行PL/SQL 语句,根据插入的数据对交叉表视图进行动态的刷新,这样当基本表发生插入操作时视图就可以重新进行动态构造。代码4CREATE OR REPLACE TRIGGERupdate -area -class -countafter INSE

19、RT OR UPDATE ON classinfo for each row DECLAREPRA GMA AU TONOMOUS -TRANSACTION ;L -STR varchar2(2000:=create or replace view area -class -count as SEL ECT bigno ,midno ,;L -SEP varchar2(1default null ;L -EXEC varchar2(8000;L -NUM varchar2(5000;L -PLUS varchar2(1default null ;BEGINFOR X IN (SEL ECT M

20、IN (bigno bigno FROM classinfo GROUP B Y bigno LOOPL -STR :=L -STR |L -SEP |sum (case when(bigno =|X.bigno|then count else 0end as |TO -NUMBER (X.bigno |CHR (10;L -NUM :=L -NUM|L -PLUS |sum (case when (bigno =|X.bigno|then count else 0end |CHR (10;L -PLUS :=+;L -SEP :=,;END LOOP ;L -EXEC :=L -STR|,|

21、L -NUM|as total FROM multidimension b GROUP B Y rollup (bigno ,midno ,order by bigno execute immediate L -EXEC ;END ;4.5基于struts 的w eb 上实现图形化显示统计结果有了这样可以动态刷新的交叉表视图后,就可以使用简单的“select 3”等操作将统计的数据取出。最(下转第119页511第9期马帅等:基于动态交叉表的Web 多维分析系统设计与实现的噪声比较均匀地分布在秘密图像中,使得提取出的秘密信息是可分辨的,从而提高了算法的鲁棒性。同时,在随机算法和置乱算法都具有密钥

22、key,没有正确的密钥也无法提取出秘密信息,进一步提高了算法的鲁棒性。同时也应看到,由于划分出了不可用像素,对于不同的图像隐藏容量是不一样的。如果图像的灰度值较多地集中于不可用像素,会使得隐藏容量显著下降。文中不在不可用像素位置嵌入信息,是为了进一步提高隐藏算法的不可感知性这一技术指标。为了提高信息隐藏容量,可以适当缩小不可用像素的区间。这也恰好说明了信息隐藏系统各技术指标之间是存在矛盾的。因此,要根据具体的应用研究来权衡各技术指标。3结论文中提出的算法实现了在空间域隐藏信息。结合了HVS的相关特性去除不可嵌入位置,以及对秘密信息进行一些处理,容量上虽比LSB有所降低,而鲁棒性要比其好得多。但

23、该算法本质上是空域算法,鲁棒性相对变换域较低。在容量和鲁棒性都有一定要求时可以采用本算法。参考文献:1罗大光,范明钰,郝玉洁,等.一种新的基于RG B图像的多区域信息隐藏技术J.计算机应用研究,2005(9:165-167.2王丽娜,郭迟,李鹏.信息隐藏技术实验教程M.武汉:武汉大学出版社,2004.3任智斌,隋永新,杨英慧,等.以图像为载体的最大意义位(MSB信息隐藏技术的研究J.光学精密工程,2002(2:182-187.4Lou D C,Liu H L.Steganographic method for secure commu2nicationsJ.Computer&Securit y

24、,2002,21(5:449-460.5Lee Y K,Chen L H.An Adaptive Image Steganographic Mod2el Based on Minimum-Error LSB ReplacementC/Pro2 ceedings of the Ninth National Conference on Information Se2 curity.Taiwan:s.n.,1999:8-15.6Niu X ia-Mu,Lu Zhe-Ming,Sun Sheng-he.Digital wa2termarking of still image with grag-sca

25、le digital water marks J.IEEE.Trans Constumer Electronics,2000,46(1:128-137.7李长河,张永强,王君.一种新颖的图像自适应信息隐藏算法J.计算机应用,2005,25(5:1138-1140. 8乔小燕,孙兴华,杨静宇.基于视觉冗余性的图像信息隐藏J.计算机应用,2006,26(1:96-98.(上接第115页后的一个问题是如何让这些交叉表视图可以在web 上动态地显示。要想实现在web上的显示,可以使用很多种方式,这里文中采用了基于struts的框架结构,采用struts框架可以简化遵循MVC设计模式的web 应用的开发工作,很好地实现代码重用,快速开发具有强可扩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论