基于数据仓库的科学仪器设备数据分析系统*
2017-01-19李玉泉
李玉泉,武 彤
(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)
基于数据仓库的科学仪器设备数据分析系统*
李玉泉,武 彤
(贵州大学 计算机科学与技术学院,贵州 贵阳 550025)
如何节省在科学仪器设备管理工作中对数据分析投入的人力物力并提高管理效率是科技管理部门十分关注的问题。利用数据仓库技术可以对现有的科学仪器设备数据进行多维分析,以便有效利用分析数据辅助管理者决策。文章据此分析了科学仪器设备数据源,提出了分析主题,通过模型设计、ETL功能以及OLAP功能的设计,实现了一个基于数据仓库的科学仪器设备数据分析系统。系统的开发研究证明了数据仓库技术在科学仪器设备管理上应用的可行性,并为进一步建立基于数据仓库的科技数据决策支持系统打下了基础。
科学仪器设备;数据仓库;ETL;OLAP
0 引言
科学仪器设备是科学研究、技术创新的基础条件,先进的科学仪器设备体现了国家的科技发展水平,高精的大型科学仪器能够更好地帮助科学家获得科研成果[1]。为了增强科技对经济社会发展服务支撑的能力,促进全社会科技资源高效配置和综合集成,各省都建立了大型科学仪器设备共享平台,通过共享平台实现了对科学仪器设备信息进行登记维护,并可以进行预约服务等功能,从而实现科学仪器设备(特别是大型仪器设备)的资源共享,集中管理[2]。随着科学仪器设备平台的不断应用,产生了大量的数据,对这些数据进行分析挖掘,将得到很多隐藏在数据后面的信息,有效地利用这些信息,将为管理人员提供科学决策依据。然而目前对科学仪器设备数据的统计分析还停留在人工分析的阶段,这样造成了分析数据不准确,统计分析时间漫长,数据分析结果不能支持决策。
而数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,可用于支持管理决策过程[3]。本文以某省的科学仪器设备共享平台为数据源,利用数据仓库的相关技术建立了基于数据仓库的科学仪器设备数据分析系统,该系统可以在数据仓库基础上进行OLAP分析并实现分析结果清晰展现,以满足相关管理人员的决策需求。
1 数据源分析
某省现有的科学仪器设备共享平台中主要包括仪器设备信息、提供服务信息、服务预约信息。该平台所具有的事务统计功能主要是统计仪器设备的地理分布情况、在不同学科的数量价值、每年新增仪器的数量价值等信息。通过对数据源进行分析发现仪器设备的使用率、共享率以及仪器设备提供服务的信息也是管理人员在管理工作中希望掌握的重要指标[4]。所以在原有的事务统计基础上,提出以下数据分析需求:
1.1 使用分析
仪器设备使用分析是针对平台上登记过的仪器设备,根据每年提供的使用机时等信息,结合近几年使用情况,科技部门可以针对某些热门领域或某些地区的仪器设备加大补助,扩大宣传;而提供方可以根据仪器设备使用情况,考虑增置或减配相关设备,增加或减少年对外使用机时等对策。使用分析主要包括对使用率和共享率的分析。
使用率计算方法为:年机时/额定机时×100%,额定机时一般为200×8小时,如果使用率大于100%,则记录具体值,而不计为100%;共享率计算方法为:年对外机时/年机时×100%,若共享率大于100%,则计为100%[5]。
1.2 服务分析
仪器设备提供了加工、检测等服务,而服务计费方式各种各样,所以需要统计仪器服务计费方式的分布情况,通过对比观察计费方法的合理性。结合仪器报废年限、年使用情况、服务计费等,分析其服务成本、计费是否合理等信息,为仪器提供方节约成本,为服务需求方提供合理的收费模式。
2 模型设计
2.1 概念模型设计
概念模型设计是数据仓库模型设计的首要工作[6]。通过概念设计,可以确定数据仓库的主要主题以及相互关系。
根据上述的需求分析,要解决的问题有两个。第一是关于现有仪器的使用情况,仪器使用需要从仪器的基本信息、所在地、所属学科等方面进行分析;第二是关于仪器的服务情况,由于想要看到仪器服务收费是否合理,所以需要收集服务的类型、收费类型、收费等信息。根据这两个问题,可以确定该数据仓库的主题有两个:仪器设备主题——分析仪器设备使用,服务主题——分析服务现状。所需要的数据有仪器设备数据、服务数据。对各主题的属性信息的描述如表1所示。
表1 主题的描述
2.2 逻辑模型设计
由于该数据仓库建立在关系型数据库基础上,在数据仓库中采用的逻辑模型就是关系模型,它描述了数据仓库主题的逻辑实现,即每个主题所对应的关系表的关系模式的定义。
数据仓库的设计是一个逐步求精的过程[7],在进行设计时,一般是一次一个或多个主题逐步完成,由于系统中只有两个主题,所以这里直接装载仪器和服务两个主题。数据粒度方面,由于源数据中存在具体到日的时间信息,所以日期方面遵从“最小粒度”原则,其他的数据也可以选择最小数据粒度。在仪器主题中,由于受关心的仪器共享率和使用率是由现有的“年机时”、“年可用机时”等计算而来,所以这些度量值可以直接在OLAP模型中添加,对于“服务”主题也是如此。最终数据仓库的逻辑模型如图1所示。
图1 数据仓库逻辑模型
2.3 物理模型设计
物理模型是逻辑模型在数据仓库中的实现模式,如数据的索引策略、数据的存储策略等[8]。数据仓库的逻辑模型适合采用位图连接索引,在数据仓库环境中使用这种索引改进连接维度表和事实表的查询性能。数据源即科学仪器共享平台中仪器和服务,其主键采用的是25位字符串,查询效率低,所以在数据仓库的仪器和服务表中设置代理键[9],而在其他表中添加替代键。其中,代理键是自增整数,而替代键是不会重复的值,例如日期表中的替代键可以是字符型,值为具体的日期(中文的年和月),这样可以大大地提高查询效率。而且为了方便管理数据,单位、地理位置和学科分类等信息从仪器表中分离为单独的表。
3 ETL设计
ETL过程,包含从各种数据源抽取数据,把数据转换为“干净的”、一致的、可用的数据,然后把数据加载到数据仓库中。它是数据仓库实现过程中最重要的一个环节[10]。本系统采用SQL Server和SSIS结合进行ETL实现。
通过对数据源数据分析,日期、仪器设备所在地区、学科类型等数据是固定不变的,这些数据可以进行全量加载,而仪器设备信息、服务信息会随着时间不停地更新,所以对于这些数据设置增量加载机制,这里采用时间戳方式增量抽取数据[11]。在数据转换过程中主要是对数据类型、枚举数据、字符格式等进行转换,数据仓库在装载数据时为了避免主外键约束可以先把外键删除,实现顺序装载。
ETL的实现,使用编码和SSIS工具共同完成。采用SQL代码实现枚举数据的映射,例如单位类型在源数据中为1,代表事业单位,这里可以直接把“事业单位”存入其中,建立日期表也需要用到SQL语句;SSIS可以对ETL整个过程进行安排[12],图2是通过SSIS平台设计的对仪器设备数据进行抽取、转换和加载的过程,其他数据的ETL过程均类似于图中的形式。在SQLServerAgent中把这些SSIS作业设置为定时任务可以实现ETL过程周期进行。
图2 SSIS实现仪器设备信息ETL过程
4 分析功能实现
在数据仓库的基础上,利用SSAS可以建立对应的OLAP模型,本系统中OLAP模型与数据仓库模型的不同主要在于OLAP模型中为了方便数据展示添加了多对计算成员,图3是OLAP模型中仪器设备多维数据模型,图中带有计算器符号的列均是计算成员。
图3 仪器设备多维数据模型
多维表达式(Multi-Dimensional Expressions,MDX)是标准的OLAP查询语言[13],多数OLAP Server都提供MDX支持,如SSAS、Hyperion Essbase等,MDX支持多维数据定义和操作。在SSRS中配合MDX不仅能实现第一部分所提出的数据分析功能,还可以生成包括各种图形的报表,并且可以方便地集成到ASP.NET开发的Web系统中。
为了分析上文提到的数据指标,在SSRS中使用下面的MDX语句生成“查询数据集”,该数据集包括了仪器设备共享率和使用率在地区、学科类型、日期的值。
WITH MEMBER [Measures].[仪器设备共享率]
AS [Measures].[对外年机时]/[Measures].[年机时]
MEMBER [Measures].[仪器设备使用率]
AS [Measures].[年机时]/([Measures].[仪器数量]*1600)
SELECT NON EMPTY {
[Measures].[仪器设备共享率], [Measures].[仪器数量], [Measures].[仪器设备使用率], [Measures].[对外年机时], [Measures].[年机时] } ON COLUMNS,
NON EMPTY { (
[DimDate].[Year].[Year].ALLMEMBERS *
[DimGeography].[省-市县].[CITYNAME].
ALLMEMBERS*[DimDiscipline].[大-中-小].
[SMALLNAME].ALLMEMBERS *[DimDepartment].
[QUALITY_CN].[QUALITY_CN].ALLMEMBERS*
[DimInstrument].[VALUERMB].[VALUERMB].
ALLMEMBERS) } ON ROWS
FROM [仪器使用情况]
图4 年新增仪器设备数量走势
根据上述MDX语句可以得到一系列的报表,图4是年新增仪器设备数量走势,目前获取年新增仪器设备数量的方式是源数据平台维护人员每年在数据库中查询,而走势图需要统计人员手工绘制,费时费力。图5是2015年仪器设备使用率学科分布图,从图中可以看到分析仪器是使用率最高的。图6是仪器设备年使用率走势图,从图中可以看到近几年仪器设备使用的情况,其他数据的呈现方式相同。
图5 仪器设备使用率在不同学科中的分布
图6 仪器设备年使用率走势图
由于SSRS与Web系统开发平台ASP.NET良好的兼容性,所以该系统使用ASP.NET开发。报表展示方面,使用ASP.NET下的ReportViewer控件和调用IReportServerCredentials接口实现浏览器中查看操作报表,下载报表为Excel或PDF文件[14]。
5 结论
本文以某省大型科学仪器设备共享平台为基础,通过对平台上的源数据进行分析,提出了决策分析主题,建立了基于数据仓库的科学仪器设备数据分析系统,该系统能够完成OLAP分析,并能清晰地展现分析结果,数据分析结果能够有效地辅助管理者进行科学决策。系统的开发研究证明了数据仓库技术在科学仪器设备管理上应用的可行性,并为进一步建立基于数据仓库的科学数据决策分析系统打下了基础。
[1] 孙丽.大型科学仪器设备资源配置优化研究[D]. 北京:北京交通大学,2015.
[2] 肖李鹏,汤光平.国内外大型科学仪器设备开放共享分析及对策[J].实验室研究与探索,2016,35(4):275-278.
[3] 宋杰.面向多类型数据源的数据仓库构建及ETL关键技术的研究[D]. 沈阳:东北大学,2008.
[4] 徐静,王大洲.我国大型科学仪器设备使用状态分析及政策含义[J].工程研究-跨学科视野中的工程,2010,2(3):209-216.
[5] 王丽珍,周丽华,陈红梅,等.数据仓库与数据挖掘原理及应用(第2版)[M]. 北京:科学出版社,2014.
[6] INMON W H. Building the data warehouse[M].NewYork:John Wiley & Sons,Inc,2005.
[7] 虞健飞,朱家元,张恒喜.数据仓库设计过程研究[J].计算机工程,2003,29(19):4-5.
[8] 王晓鹏,武彤.生产质量控制数据仓库模型设计与实现[J].计算机技术与发展,2015(6):181-184.
[9] 徐姝,罗军.代理键技术及其在软件复用中的应用[J].微电子学与计算机,2007,24(8):136-138.
[10] ROOT R, MASON C. Pro SQL Server 2012 BI Solutions[M].Apress,2012.
[11] 戴浩,杨波. ETL中的数据增量抽取机制研究[J].计算机工程与设计,2009,30(23):5552-5555.
[12] KNIGHT B, VEERMAN E,MOSS J M, et al. SQL Server 2012 Integration Services高级教程(第2版)[M].王净,谢连朋,译. 北京:清华大学出版社,2014.
[13] 蔡艳宁,叶雪梅,汪洪桥,等.军事训练考核数据仓库模型设计与实现[J].计算机工程, 2006,32(1):276-278.
[14] TURLEY P, BRUCKNER R,SILVA T,et al. SQL Server 2012 Reporting Services高级教程(第2版)[M].颜炯,译. 北京:清华大学出版社,2014.
Scientific instrument and equipment data analysis system based on data warehouse
Li Yuquan,Wu Tong
(School of Computer Science and Technology, Guizhou University, Guiyang 550025, China)
How to save the manpower and material resources of data analysis and improve the efficiency of management in scientific instruments and equipment management work is one of the focuses of the management department of science and technology. The data warehouse technology can be used to make multi-dimensional analysis of the exiting data of scientific instruments and equipment, so as to make use of the analysis data to help managers make decisions effectively. Based on the technology, this paper analyzes the data sources of scientific instruments and equipment, proposes the analysis theme, and implements a data analysis system of scientific instruments and equipment based on data warehouse by designing data model, Extract Transform Load (ETL) and Online Analytical Processing (OLAP) model. The research and development of this system proves the feasibility of the application of data warehouse in scientific instruments and equipment management work, furthermore, it builds a foundation for the science and technology data decision support system based on data warehouse.
scientific instrument and equipment; data warehouse; ETL; OLAP
贵州省自然科学基金项目 (黔科合J字[2013]2115号)
TP311
A
10.19358/j.issn.1674- 7720.2017.01.027
李玉泉,武彤. 基于数据仓库的科学仪器设备数据分析系统[J].微型机与应用,2017,36(1):89-92.
2016-09-05)
李玉泉(1990-),男,硕士研究生,主要研究方向:数据仓库、数据挖掘。
武彤(1964-),女,硕士,教授,主要研究方向:数据库技术、数据挖掘。