基于OLAP的船舶噪声数据模型

2013-10-20 06:58秦志翔
舰船科学技术 2013年1期
关键词:噪声控制数据模型数据仓库

秦志翔,牟 兰,闫 祎

(大连测控技术研究所,辽宁大连116013)

0 引言

数据处理有2种不同的方式:操作型处理和分析型处理,也称作OLTP(联机事务处理)和OLAP(联机分析处理)。操作型处理也叫事务处理,是指对数据库联机的日常操作,在潜艇噪声数据库中通常是对一条噪声数据的录入。这种应用要求快速响应录入人员的请求,对数据的安全性、完整性以及并发性的要求都很高。分析型处理是指对海量数据的查询和分析操作,在潜艇噪声分析中一般可以对应噪声源的分析与噪声预报,这样的操作要访问的数据量非常大,查询分析过程也十分复杂。二者的差异使得传统的数据库技术不能同时满足这2种数据处理的要求,数据仓库技术应运而生。

1 基于OLTP的噪声数据模型及特点

基于OLTP的数据模型如图1所示,从图中可以清楚地了解到基于数据操作的各个数据库是独立的,用户关心的是试验数据能否完整地存储到数据库中,存取的效率如何。对于元器件试验数据库不用关心存储到其他设备和目标数据库中的资料是否与元器件数据库中的数据相对应。其他2个数据库同样不关心其他数据是如何存储,如此组成的数据库如果需要日后集成分析做噪声控制就会出现由于各个数据库中的数据没有统一规划,集成难度大或者根本就无法集成。另外一个方面即使集成到一起了,由于在设计过程中是基于数据事务处理的,数据库本身只关心录入数据的高效性与完整性,对于在被测目标中发现问题的科研人员如果想获得相应的元器件数据或设备数据不得不先通过元器件数据库或设备数据库,查询到元器件或设备的信息,然后再通过对应的试验类型才能获得相应的数据。在做统计分析时面临着同样的问题,其查询跨度如此大,其分析效率可想而知。

图1 基于数据事务处理的船舶噪声数据库模型Fig.1 The data model of ship noise based on OLAP

2 构建基于OLAP的噪声数据模型的方法

数据仓库和数据库只有一字之差,似乎是一样的概念,但实际则不同。数据仓库是为了构建新的分析处理环境而出现的一种数据存储和组织技术,也就是本文构建船舶噪声控制分析模型要采用的一种技术。数据仓库和数据库主要的区别是数据仓库中的数据具有以下4个基本特征:

1)数据仓库的数据是面向主题的

数据仓库需要按照分析的要求确定主题。本文的主题是噪声控制,这与按照数据录入要求来组织数据的差别主要在于关心的数据内容不同。如同样在被测目标数据库中,科研人员关心的是如何将数据方便快捷的存储,而在噪声控制分析中科研人员关心的是同一被测目标在不同的试验下不同的数据表现形式。

2)数据仓库的数据是集成的

噪声控制分析数据仓库的数据是从原有分散的数据库数据中抽取来的。其抽取的过程相当复杂,主要表现在以下几个方面:

噪声控制分析数据来源于各个分散的元器件数据库、设备试验数据库和被测目标试验数据库。而且噪声控制分析数据不能从原有的3个数据库系统中直接得到,这主要是因为各个分散数据库中会出现同名异义、异名同义、单位不统一,字长不一致等情况。分散的数据库系统中的数据进入数据仓库之前,必然要经过转换、统一与综合。这一步是数据仓库建设中最关键、最复杂的一步,数据仓库中的数据综合工作可以在从原有数据库中抽取数据时生成,也可以在数据仓库内部通过综合计算生成。

3)数据仓库的数据是不可更新的

噪声控制分析数据仓库的数据主要供科研人员分析之用,所涉及的数据操作主要是数据查询,一般情况下不进行联机实时的修改操作。相反由于噪声控制数据仓库的查询量往往很大,所以就对查询提出了更高的要求。它要求采用更多的索引技术,因此设计的数据库的表结构也会存在巨大区别。

4)数据仓库的数据是随时间不断变化的

数据仓库的数据不可更新是针对已经载入噪声控制数据仓库的数据,其内容不能再修改,即在噪声分析处理数据时不进行数据更新操作。但是噪声控制数据仓库并不是一成不变的,它还需要随时间变化不断增加新的数据内容,需要不断分析3个分散数据库中的数据,最终综合计算追加到数据仓库之中。当然也有些数据仓库需要不断删除旧的数据内容,由于船舶生产的周期较长,所以噪声控制数据仓库中的数据一般可以保存20~30年,甚至更长,具体问题具体分析。

3 面向噪声控制分析的噪声数据模型

在船舶的噪声控制分析中,科研人员希望从多个不同的角度观察某一指标或多个指标的值,并找出这些指标的关系。科研人员可能想知道某一船舶(被测目标)在不同振动试验产生的噪声值,并从多个角度对设备振动产生的噪声值进行对比分析,如某一被测目标在相同的试验类型不同试验坏境下产生的噪声振动情况;某一船舶在不同试验类型下的噪声振动情况;某一船舶在同一次试验当中起动不同设备时的噪声振动情况等。可以看到,分析的数据总是与观察的角度有关。通常将这些观察数据的角度称之为维,所以数据仓库数据是多维数据。对于多维数据模型可以用一个多维立方体来表示,但对于三维以上的多维立方体很难用可视化的方式直观表达出来。为此,通常用较为形象的“星型模式” (Star Schema)和“雪片模式” (Snow Flake Schema)来描述多维数据模型。

3.1 建立多维数据模型

星型模式通常由1个中心表 (事实表)和1组维表组成。如图2所示,星型模式的中心表是船舶噪声数据表,其周围的维表有测试环境维表、使用年限维表、启动设备维表、生产厂家维表、测试类型维表、试验类型维表、船舶类型维表、测试系统维表等。

图2 星型模式Fig.2 Star schema

星型模式的事实表与所有的维表相连,而每个维表只与事实表相连。维表与事实表的连接是通过码来体现的,如图3所示。也就是说,在船舶噪声数据表中一般存储各个维表的主码;如测试环境主码、启动设备主码、生产厂家主码、测试类型主码、试验类型主码、船舶类型主码、测试系统主码等。使用年限维一般可以省略,因为在销售事实表中包含测试时间数据项就可以了。

图3 星型模式示例Fig.3 Star schema sample

由于图3中描述的数据粒度通常较粗,无法满足船舶噪声控制分析的需要,通常人们将星型模式进一步细化,因此就形成了雪片模式。通常雪片模式就是对维的层次进一步细化后形成的。图2所示的星型模式测试环境可以按测试地点和海洋环境分类,启动设备可以按类型和状态分类,生产厂家维可以按工厂及工厂所在的地区分层,等。通过这样的变形后,雪片模式就形成了。

图4 雪片模式Fig.4 Snow flake schema

3.2 OLAP的实现

多维数据模型数据分析时使用的数据视图属于逻辑模型。OLAP服务器应该透明地为上层分析软件和用户提供多维数据视图。上层分析软件和用户不用关心数据是如何存储的。本文主要介绍按照ROLAP结构来实现多维数据的管理,ROLAP将多维立方体划分为2类表,一类是事实表,一类是维表。事实表用来描述和存储多维立方体的度量值和各个维的码值。维表用来描述维的信息,包括维的层次和成员类别等。ROLAP用关系数据库的二维表来表示事实表和维表,即用星型模式和雪片模式来表示多维数据模型。最终可以用1张事实表和8张维表来表示图4中的雪片模型:

1)船舶噪声数据表 (日期,测试环境主码,启动设备主码,元器件主码,测试系统主码,船舶类型主码,生产厂家主码,试验类型主码,测试类型主码,噪声数据);

2)测试环境 (测试环境主码,测试地点,海洋环境,……);

3)启动设备 (启动设备主码,设备名称,设备类型,设备状态,……);

4)元器件 (元器件主码,元器件名称,元器件类型,……);

5)测试系统 (测试系统主码,测试系统名称,测试依据,测试仪表,……);

6)船舶类型 (船舶类型主码,船舶编号,船舶名称,……);

7)生产厂家 (生产厂家主码,生产厂家名称,电话,地址,……);

8)试验类型 (试验环境主码,试验类型名称,试验主办方,经费,……);

9)测试类型 (测试类型主码,测试类型名称,测试方法,测试人员,……);

ROLAP结构用RDBMS或扩展的RDBMS来管理多维数据,用关系表组织和存储多维数据。同时它将多维立方体上的操作映射为标准的关系操作,因此可以将以上二维表组织完成后直接映射数据库管理系统之中为上层软件和用户提供OLAP服务。

4 结语

通过本文分析可以得出以下结论:使用传统数据库技术针对事务处理设计的船舶噪声数据模型很难满足需要大数据量查询的噪声控制分析的应用。该结论能够为日后构建面向分析处理的船舶噪声数据库指引方向。同时本文通过利用数据仓库技术构建了一个基于OLAP的船舶噪声数据星型模型和雪片模型,并通过ROLAP结构将模型转化为1个事实表和多个维表。本文建立的模型主要针对船舶噪声控制设计,稍作细化和改进即可用于建立船舶噪声控制数据库。并且上述建立数据模型方法的通用性强,适用于面向分析其他主题的数据库设计。

[1]王程之,于沨,刘文帅.船舶噪声测量与分析[M].北京:国防工业出版社,2004.

[2]杨国强,等.Erwin数据建模[M].北京:电子工业出版社,2004.

[3]余珍.舰艇噪声数据库的建设[A].第十届船舶水下噪声学术讨论文集[C].北京:中国造船工程学会,2005.

[4]王珊,李盛恩.数据库基础与应用[M].北京:人民邮电出版社,2002.

[5]苗金林,等.船舶噪声数据库的设计与实现[J].舰船科学技术,2007,29(4):69-71.MIAO Jin-lin,et al.The design and realization of the ship noise database[J].Ship Science and Technology,2007,29(4):69-71.

猜你喜欢
噪声控制数据模型数据仓库
“深海一号”载人潜水器支持母船水下辐射噪声控制关键技术
浅谈隔声窗作为交通运输噪声控制措施的行政纠纷——基于司法裁判的实证分析
基于区块链的微网绿电交易数据模型研究
基于数据仓库的数据倾斜解决方案研究
基于Pro/E 的发射装置设计数据快速转化方法
探析电力系统调度中数据仓库技术的应用
数据仓库系统设计与实现
浅谈发动机的噪声问题与控制措施
经济全球化对我国劳动收入份额影响机制研究——基于面板数据模型
数据复用在存储数据仓库中的运用