APP下载

基于J2EE的科技资源调查系统的设计与实现

2013-04-29孟庆轩

计算机时代 2013年6期
关键词:数据仓库维度科技

孟庆轩

摘 要: 在调研和分析相关管理部门需求的基础上,采用数据仓库、OLAP分析、GIS等技术,设计和完成了一个基于B/S结构的科技资源调查系统,实现了对科技资源调查数据的多维度统计分析、查询,以及基于地图、图表的数据展示。借助这个系统,可以使我国相关科技管理部门深入地掌握我国科技资源的现状、动态变化、分布和利用情况,为我国科技条件建设投入提供决策参考的依据。

关键词: 科技资源; 数据仓库; OLAP; 地理信息展示

中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2013)06-74-04

Design and implementation of a survey system of science and technology resources based on J2EE

Meng Qingxuan

(Beijing Modern Vocational and Technical College, Beijing 101300, China)

Abstract: A survey system of scientific and technological resources based on B / S structure is designed and completed with usage of data warehouse, OLAP analysis and GIS technology after research and analysis of the needs of the relevant administrative departments. The survey system is able to make a multidimensional statistical analysis, query and data expression based on the maps and charts for the survey data of scientific and technological resources. With the help of the system, technology management departments are able to get more information about the status, dynamic changes and the utilization of scientific and technological resources, and to provide a reference for decision-making on the national science and technology infrastructure platform construction.

Key words: scientific and technological resources; data warehouse; OLAP; geographical information display

0 引言

科技资源调查系统自2008年启动以来,在全国范围内收集到了大量的科技数据。这些数据信息量大,价值高,对于摸清我国科技资源家底具有重要的意义。虽然开发了科技资源调查系统,但目前该系统主要用于填报,很少或基本上没有涉及到决策分析,所获得的这些海量数据在原有的作业系统中无法提炼并升华为有用的信息及时提供给分析人员与管理决策者,从而不能帮助相关管理人员从全局上对现有科技资源进行把握。现阶段我国还没有建立起一个完善的以国家为单位的科技资源调查系统,用于对我国的科技资源进行整体把握和考量。为此,笔者在北航攻读工程硕士期间所在的小组设计并开发了一个基于Web的科技资源调查系统的地理信息统计分析功能。

1 系统设计

本系统是一个基于B/S结构的Web系统,主要用于对现有的科技资源进行基于地理信息的概要展示、检索、比较和分析。系统采取分层的方式来简化系统设计与开发。

本系统的重点在于数据仓库的设计。为了按照科技资源类型快速进行基于地理信息的科技资源汇总信息的展示,并按照统计指标和统计维度进行科技资源汇总信息的查询与分析,系统采用数据仓库技术。系统按照用户需求和科技资源类型设计了八个主题,每一个主题设计了相应的度量值和维度对多维数据集进行展示。

对于本系统而言,开发语言采用Java,数据仓库采用SQL Server,就存在Java语言如何访问SQL Server分析服务中多维数据集实例的问题。为了解决这个问题,本系统的结构设计比较特殊,需要采用两个服务器,其中tomcat服务器用于编译执行J2EE代码,IIS服务器作为桥梁采用纯Java类库OLAP4J连接SQL Server的分析服务进行多维数据集实例的访问[1-2]。

1.1 系统层次结构设计

为了简化系统的设计与开发,以及便于以后的维护和升级,把系统划分为如图1所示的逻辑层次。

展示层:按照设计好的主题对科技数据采用多种形式进行展示与查询,便于用户的决策。

业务层:对于展示层的数据展示提供支持,涉及的主要模块有多维统计分析、信息关联、数据查询、报表展示、地图展示、数据比较、报表打印、图形展示。OLAP、百度地图、统计图形、报表服务为这些模块提供了支持,并为连接和访问统一数据仓库层提供了支持。

统一数据仓库:按照主题设计好的数据仓库,对业务层提供多维数据支持。

数据预处理:采用数据转换、数据分类、数据整合操作对已经存在的科技资源数据形成本系统所需要的统一数据格式进行存储。

科技资源调查数据:采用关系数据库存储本系统所用到的科技资源详细数据。

1.2 数据仓库设计

本系统的统计分析功能主要通过数据仓库和联机分析处理(OLAP)操作完成。所以数据仓库的设计至关重要。

数据仓库中数据的组织是面向主题的。可以说,主题定义的过程就是数据仓库模型建立的过程[3]。按照需求分析和用户的要求,本系统按照科技资源的种类不同确定了八个主题,分别是大型仪器、人员状况、资金状况、单位信息、实验基地、保存机构、课题信息和成果信息。

本系统多维立方体中的绝大多数查询都是基于一定程度的综合数据之上的,只有少数查询涉及到细节,为了兼顾细节查询和快速响应的要求,该系统对数据进行了不同程度的聚合,将聚合后的数据按MOLAP结构存储于数据多维立方体中,而叶子级的数据则仍存放在OLTP数据库中,从而形成了一个多重粒度的数据组织结构[4]。

对于每一主题分别设计了相关的度量值与维度,其中大型仪器主题的星型模型图如图2所示。其中,在主管部门、地理位置、仪器分类三个维度存在严格的层次关系。本系统的数据仓库采用SQL Server 分析服务实现。

2 系统功能详细设计与实现

按照用户对数据的查看要求进行分析,本系统的主要功能需求包括科技信息统计、科技信息检索、关联检索、科技信息比较、科技信息地理分布查看、科技信息图表查看、科技信息报表查看、打印服务等。每个功能完成各自不同的工作。按照各自设计要求和功能特点,结合系统的实际运行来满足客户的要求。本系统现在只有管理员一种角色,系统用例图如图3所示。

图2 大型仪器星型模型图

2.1 科技信息统计

科技信息统计功能是系统的核心,根据各级管理部门的需求,针对不同的分析主题,设计多种查询维度(如地理位置、时间、单位等)即统计指标和度量指标(如人员、经费等)即统计项,支持多种灵活的科技信息统计方式,如上卷、下钻、维度组合等,便于用户从多个维度、条件和汇总粒度对不同的度量指标进行统计分析。

图3 系统用例图

实现上,需从SQL Server分析服务中读取相应的汇总信息,为地理信息展示、报表服务、信息比较、图表展示提供需要展示的多维数据。本系统是基于J2EE开发的,对于如何通过Java代码访问SQL Server分析服务是本系统的一个重点。在此,我们利用了OLAP4J这个纯Java API。

使用OLAP4J进行MDX查询时,在初始化阶段初始化连接和主题,主题指的是大型仪器、人员状况、资金状况、单位信息、实验基地、保存机构、课题信息和成果信息八个主题中的一个。在构建MDX查询语句时,采用构建字符串的方式进行。最后的结果返回采用相应实体类存储。最后关闭连接[5-6]。

2.2 科技信息检索

用户填写查询条件,可以快速地找到所需要的科技资源信息。在统一的信息检索框架下,针对某一特定主题提供相应的查询目标与对应的查询条件,用户可以填写一个或多个检索科技信息的条件进行信息检索,并可以方便地对检索到的科技信息进行查看。

对于科技信息搜索流程而言,首先装载和显示地图,对于用户输入的用户条件,从后台进行搜索,搜索到的信息按照其地理位置在地图上进行标注,当用户单击某一标注时,显示这一地理位置所包含的搜索到的信息。具体流程如图4所示。其中,对于维度汇总信息的查询通过生成MDX查询来完成,对于具体信息的查询通过生成SQL查询来完成。

2.3 关联检索

关联检索功能用于支持各种科技资源信息的智能关联,如:允许用户从一种类型的信息(如单位)出发,灵活地查看与之相关的其他类型的数据(如大型仪器、人员状况等),从而使用户能方便地浏览相关的信息而不必重新统计或者查询,花费最小的时间代价获取所需要的信息。

对于系统存在的八个分析主题都有地理位置维度,所以不同种类的科技资源通过地理位置进行自动关联,即可完成关联检索的功能。

图4 科技信息搜索流程图

2.4 科技信息比较

用户应该能够进行在同一地理级别多个地理位置的科技资信息比较,以了解不同地理位置的科技资源的分布情况、发展水平、科技投入情况等等。

实现上,当用户打开总体信息所在的页面时,在加载地图之后,会从后台通过AJAX技术读取默认数据来源的汇总信息和地理位置经纬度信息。读取完成后,会自动将地理位置经纬度信息和地理位置名称放在一个数组里,作为拉框选择的一个搜索参数传给拉框选择函数。

当用户选择拉框选择功能时,会初始化拉框选择函数,并将当前地图的地理位置经纬度信息和地理名称及当前地理级别(省、市、区)作为参数传入。在拉框选择的鼠标拖动过程中,会获取拖动的起点和终点位置,之后根据这两个位置在地图上绘制矩形选择框。还需要根据这两个位置,计算当前矩形选择框所包含的经纬度区域。之后通过一个循环,判断当前地理级别所有地理位置的经纬度信息是否在当前矩形选择框的经纬度区域内,如果在的话就将经纬度对应的地理位置名称和当前地理级别传入数据比较框中。在数据比较框中会展示现在要比较的地理位置的名称,并且可以进行自由添加与删除,之后单击确定按钮,从后台根据地理位置名称和当前地理级别读取相应的汇总信息,之后在前台进行比较结果的展示。

2.5 科技信息地理分布查看

用户能够基于地理位置查看科技资源信息的概要信息和详细信息,以了解科技信息的地理分布情况。地理信息可分为:全国、地区、省、市、区、单位六个级别。系统首次登录时默认的是省级级别,并且按照每个主题默认的统计指标和统计项进行科技资源的汇总展示。

在实现上采用百度地图API进行开发。当用户通过鼠标缩放地图时,需从后台通过AJAX技术重新读取相应地理级别的概要信息与经纬度信息,进行地图标注的重新绘制[7-8];当用户通过鼠标移动地图时,地图上的标注也会重新绘制;当用户点击地图上的标注时,进行相应概要信息的展示;当用户设置信息的数据来源、统计项、统计指标时,从后台重新读取相应的概要信息,并进行地理标注的重新绘制。为了加快地图标注的绘制速度,每次只绘制当前地图显示区所包含的地理标注。具体流程如图5所示。

图5 地理信息分布查看流程图

2.6 科技信息图表查看

用户可以通过柱形图、饼形图等直观的图表方式对各个地理级别汇总的科技信息进行查看。用户也可以通过图表的方式查看科技信息比较功能中同一级别的多个地理位置的科技信息对比结果。用户通过这种立体、直接和生动的方式对科技信息进行查看,便于决策与分析。

本系统采用JfreeChart这个Java平台上的一个开放图表绘制类库来完成。对于从多维数据集中读取的多维数据赋给Jfreechart图表的数据对象,设置图表类型,之后进行图表外观的定制,最后生成相应的图表文件并在前台进行展示。

2.7 科技信息报表查看

用户可以通过报表服务对某一地理位置的特定类型的科技资源信息按照一个或多个某一特定维度进行查看,并且还可以根据选择维度的顺序不同进行排序,对于从后台数据库中得到的多维信息可以进行切片、切块、旋转、上卷、下钻等查看方式,用户可以方便地对科技信息从各个维度进行查看与分析。具体流程如图6所示。

图6 报表服务流程图

2.8 打印服务

用户通过打印服务可以对检索到或者查看到的科技资源信息进行打印,采用Javascript即可实现。

3 结束语

本文从系统设计和数据仓库设计出发实现了一个基于B/S结构的科技资源调查系统。在实现过程中运用了数据仓库、OLAP分析、地理信息展示、图表展示等多种技术,提供了科技资源查看的多角度视图和直观展示。对于本系统而言,将数据挖掘技术引入该系统中,进而发现潜在的信息和资源将成为下一步研究的重点。

参考文献:

[1] 李刚.轻量级Java EE企业应用实战(第3版)——Struts 2+Spring

3+Hibernate整合开发[M].电子工业出版社,2011.

[2] Reed Jacobson,Stacia Misner.SOL Server 2005分析服务从入门到

精通[M].清华大学出版社,2007.

[3] 苏新宁.数据仓库和数据挖掘[M].清华大学出版社,2006.

[4] 甄磊.数据仓库技术在银行客户管理系统中的研究与实现[D].南京理

工大学,2010.

[5] 张芳宁.海洋数据仓库架构及接口规范的设计与实现[D].青岛大学,2011.

[6] 胡瑞娟.OLAP和数据挖掘技术在医院信息系统中的研究与应用[D].

长春理工大学,2009.

[7] 李刚.疯狂Ajax讲义——Prototype/jQuery+DWR+Spring+

Hibernate整合开发[M].电子工业出版社,2012.

[8] 白学文,杨红,杨韬.基于百度地图API发布乡镇精细化天气预报[J].

云南科技管理,2012.1:461-448

猜你喜欢

数据仓库维度科技
浅论诗中“史”识的四个维度
基于数据仓库的住房城乡建设信息系统整合研究
科技助我来看云
科技在线
分布式存储系统在液晶面板制造数据仓库中的设计
探析电力系统调度中数据仓库技术的应用
科技在线
光的维度
“五个维度”解有机化学推断题
科技在线