唐曦文,崔希振
TANG Xi-wen1,2, CUI Xi-zhen1
(1.上海飞机设计研究院,上海 200436;2.同济大学 电子与信息工程学院 上海 200092)
试验数据是分析飞机系统性能的重要依据之一。各种试验数据往往存在着种类繁多、容量较大等特点,在对其进行分类、管理和查询时存在条件混乱、读取速度缓慢和无法对数据进一步分析等困难。因此,设计一套基于数据仓库技术的数据管理系统就显得极为重要。系统通过友好的人机界面来管理试验数据,同时还可更深层次地分析这些数据,生成如报表、图像等更加直观的数据形式,方便设计人员分析飞机系统性能。
数据仓库综合和合并多维空间的数据。它是语义上一致的数据存储,它充当决策支持数据模型的实现,并提供使用者决策所需信息的手段。数据仓库也常常看做是一种体系结构,通过将异构数据源中的数据集成在一起构造、支持结构化或专门查询、分析报告和决策制定[5]。
多维数据模型又称之为数据立方体。该模型允许从多维对数据建模和观察,一般由维和事实定义。维是保存记录的透视图或实体。每个维都有一个表与之关联,称为维度表,用于进一步描述维。通常,多维数据模型围绕中心主体组织。主体用事实表表示,事实是数值度量的。把它们看作数量是因为用户想根据它们分析维之间的关系[5]。
由于数据仓库下存储的数据为多维数据模型,所以实体-联系数据模型广泛应用于关系数据库设计,其中数据库模式由实体集和它们之间的联系组成。这种数据模式适用于联机事务处理。然而,数据仓库需要简明的、面向主题的模式便于联机分析数据。目前流行的数据仓库的数据模型是多维模型,常常以星形、雪花形和事实星座形存在。
星形模式通常包含大批数据且不含冗余事实表,外加一组维度为一的附表。这种模式下的维表类似星光一样围绕在中心事实表周围。雪花形模式是在星形模式下进一步变化,区别是某些维表可能是规范化的,这样可以把数据进一步分解到附加表中,构成类似雪花形的结构。这种表相对容易维护且节省存储空间。而本文所述系统属于事实星座形的结构。该结构的特点是需要多个事实表共享维表。因此,这种构成形式可以看作星形模式的汇集。它能对多个主题建模,使系统更加有效。系统维表的关系如图1所示。
图1 数据管理系统中的维度表
该系统是基于TCP/IP协议,并采用C/S模式组成整个系统。其中,系统的S端(指sever服务器端)将飞行数据清理、集成、变换后按一定的格式和关系维度表导入数据仓库。系统的C端(指clinet客户端)可根据需求调用数据仓库中的数据。系统构架如图2所示。
系统采用LabWindows/CVI8.5+SQL Sever 2008为系统的开发工具。
图2 数据管理系统架构图
LabWindows/CVI8.5是一个完全的ANSI C的开发环境,用于仪器控制、自动检测、数据处理等应用软件。软件本身含有丰富的常用控件,利用交互式的开发平台、交互式的编程方法使功能强大、使用灵活的C语言与用于数据采集、分析和显示的测控专业工具有机的结合起来[2]。
SQL Sever 2008是当前最流行的数据库操作软件之一,基于标准化查询语言(SQL)。当前,数据信息存储爆炸式增长。在耗费相同系统资源的情况下,用户可存储更多的数据供用户使用。而且,用户可在大量的数据中更加快速地寻找到所需要的信息。
当用户在安装好LabWindows/CVI8.5和SQL Sever 2008后,再安装SQL Toolkit数据库系统应用软件工具包。该工具包会提供相应的关于数据库操作的面板库函数。此时,用户再结合SQL语言,便可以实现系统对SQL Sever 2008中数据库连接、添加、修改和删除等一系列操作。
通常情况下试验数据容量都比较大,用传统的文件指针方式对其进行读写,速度非常缓慢,甚至会出现死机或者内存溢出等错误。为解决这一难题,该数据管理系统利用批量导入数据的方法先将飞行数据导入数据仓库中,再利用SQL语句对数据仓库中的这些数据进行查询和读取,不仅很好地解决了死机、内存溢出等问题,还大大提高了系统读取数据的速度。
1)服务器端将试验数据清理、集成和变换后按照一定的关系和格式导入数据仓库中。
2)客户端提供友好的人机界面,用户可方便快速的查询数据仓库中所需要的数据。
3)用户可对查询出的数据进一步分析,包括生成函数图像;动态捕捉关键点数据;局部图像放大;数据图像预览、打印和保存等功能。
图3 数据管理系统查询界面
图4 数据管理系统分析数据界面
本系统已在分析试验数据中得到了具体的应用。事实证明该系统操作简单、实用,处理数据的速度快,进一步分析数据的功能全,极大减轻了设计人员分析飞机系统性能时的工作负担,很好的提高了工作效率。
[1]史君成,张淑伟,律淑珍.LabWindows虚拟仪器设计[M].北京:国防工业出版社,2007.
[2]王建新,杨世风,等.LabWindows/CVI测控技术及工程应用[M].北京:化学工业出版社,2006.
[3]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,1999.
[4]孙晓云.LabWindows/CVI的虚拟仪器设计与应用(第2版)[M].北京:电子工业出版社,2010.
[5]Jiawei Han,Micheline Kamber,范明,孟小峰,译.数据挖掘概念与技术[M].北京:机械工业出版社,2008.
[6]Stephen Prata著,云巅工作室译.C Primer Plus(第五版)中文版[M].北京:人民邮电出版社,2007.
[7]黄少华,陈翠娥.SQL语法范例大全(SQL Server、Oracle通解)[M].北京:电子工业出版社,2008.