面向飞行仿真的数据库设计方法研究
   来源:智能制造     2021年03月15日 17:14

丁秀玲 孙巍

摘要:数据库在运载火箭飞行仿真系统中具有相当重要的地位,整个仿真的过程都是围绕仿真数据库中的数据进行的。仿真结果数据是仿真数据库中最重要的数据,并且是海量数据,要求有高效的方法对这些数据进行访问和处理。针对此问题,本文对仿真数据库的设计以及优化技术进行了重点研究。

关键词:仿真数据库 优化 数据库设计 数据分析

近年来,仿真技术为越来越多的人所接受和使用,并成为一种认识和改造客观世界的重要手段。随着仿真技术在航天领域应用的不断发展,与此同时仿真技术中涉及的数据也越来越多,数据类型也越来越丰富。如何合理、动态地存放仿真中相互关联的数据,高效率的使用数据,并提供高度安全性和完整性的数据库,成为大型仿真系统中不可或缺的部分。所以,数据库在设计过程中对性能的考虑很重要。本文从仿真系统工作流程以及数据库需求出发,着重讨论如何使用数据库管理程序(DBMS)完成数据库的设计,以及怎样设计出较高性能的数据库。

0飞行仿真数据库概况

飞行仿真系统数据库主要包括:

(1)仿真模型数据库:包括不同粒度的系统模型、分系统模型和元部件仿真模型、仿真故障數据库、环境仿真模型(如地球模型、大气环境模型、空间环境模型、月球、太阳模型等)、仿真实体模型等;

(2)仿真知识数据库:仿真应用系统重要的组成部分,通过在积累现有经验的基础上不断建立包含特定型号的建模仿真参数,有利于运载火箭设计和仿真知识的继承和重用。仿真知识数据库中还包括仿真算法库,提供标准的数学计算、矩阵计算、积分、微分、传递函数、状态方程、数据插值和坐标转换等基本算法,供模型开发过程统一调用;

(3)仿真试验数据库:是存储运载火箭飞行仿真试验过程和仿真结果数据的数据库,存储的数据主要包括飞行仿真过程中试验对象的各种原始数据、仿真中间数据和仿真结果数据,仿真人员使用仿真试验数据库,可对运载火箭的飞行试验数据进行统一存储、维护、分析和处理,以规范试验设计和数据分析评估过程。

数据库管理系统可以通过数据库外部交互接口,与其他设计软件(如气动设计分析、结构设计分析和控制系统设计分析等)进行数据存取,可以有效利用专业设计仿真软件提高飞行仿真平台的特定领域运算能力。

1飞行仿真数据库总体架构设计

在分析当前数据库技术的基础上,针对运载火箭飞行仿真系统这一应用背景,从现代仿真系统的框架人手,设计飞行仿真数据库的总体架构。如图1所示。

1.1仿真模型数据库设计

基于组件开发的运载火箭飞行仿真模型具有层次化的特点。模型在仿真模型库管理系统中以树形层次化的方式表达,一个模型被表示成一个复合类,该复合类的一些属性又被另外的复合类或基本类定义,最终构成由复合类表示的面向对象的模型结构树。仿真模型可以被看作是一个复合类,为了使模型库中的模型有统一的管理模式,采用存在继承关系的对象

模型字典和模型结构,共同来定义标准的模型规范。改进的面向对象的模型表示如图2所示。

模型的存储有两种典型方式:(1)元数据的存储;(2)面向对象数据库。鉴于面向对象数据库应用的不广泛及不成熟性,并且运载火箭仿真建模得到的模型主要以文件形式存在,模型的存储采用元数据的存储方式,即在数据库的表空间中存储模型和相关文档的标识信息、版本信息、存储位置、性能参数,以及与模型间的关系等信息,具体的模型文件和相关说明文档存储在文件系统中。

在模型库系统中,模型的属性、接口和操作的存储是指与这些内容相关的数据的存储。这些数据对属性、接口和操作做了详细的描述,当用户需要下载和使用模型的时候,首先得到模型的这方面数据,才能正确地下载和使用模型。为了便于存储和管理,模型的属性、接口和操作数据存储在数据库的表结构中,根据前面提到的改进的面向对象的模型描述规范,这些表应该包括模型表、屙眭表、接口表、操作表和结构表等。模型表包括模型名、各个属性标识、接口标识和模型结构标识、模型描述等;属性表包括属性标识、属性的名称、属性的值、属性的单位等;接口表包括接口的标识、接口的名称、接口的参数等;操作表包括操作的标识、操作的名称、操作的参数和操作的结果等;结构表包括结构的标识、结构的名称和结构的内容等。

1.2仿真知识数据库设计

仿真知识数据库是面向型号组织和查询信息的系统,因此其存储的内容将会是运载火箭飞行仿真系统全系统和全生命周期中任一部分和任一时刻的信息资料,而其信息的表现形式则可能是文本、图片或图表甚至是三维模型等多种形式。因此仿真知识数据库要具备存储、组织、查询和显示多类仿真资源的能力,并要具有仿真控制功能。

在运载火箭系统的研制过程中,一般划分为可行性论证、方案论证、初样、试样和应用发射等几个阶段。其中,方案、初样和试样又统称工程研制阶段。在各个研制阶段,型号信息的覆盖范围广,内容庞杂,要完成对这诸多信息的存储和查询,又要尽可能避免不必要的数据冗余,还要考虑不同型号具体信息结构的异同以及各类用户访问需求,只能将存储信息抽象到文件级,即以描述型号的各种文件为数据单元,以型号为数据之间关系的纽带来组织和管理信息,这样既能保证对型号信息的查询,又能保证每个型号具体细节内容之间可以有所不同的灵活性,比较可取。整个系统数据流程如图3所示。

根据上述流程图,可得到需要设计的数据项和数据结构如下:

(1)型号信息,包括的数据项型号名称、分系统名称、子系统名称、数据文名称等;

(2)权限验证,包括的数据项有用户名、密码等。

仿真知识库的设计思想主要包括:

(1)尽量采用普通的软硬件环境,在考虑实验室仿真平台信息需求的基础上,争取使该系统具备较强的通用性,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。

(2)系统应达到操作过程中直观、方便、实用、安全等要求。

(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。

(4)系统应具备数据维护功能,及时根据数据变化进行添加、删除、修改、查询等操作,并加入用户权限功能,使系统更加安全。

1.3仿真实验数据库设计

仿真实验的层次结构如图4所示,每个实验包含若干个试验,试验是指在某个特定实验点下的实验。如果仿真系统中存在不确定因素,为了进行统计分析,则需要在每个实验点下进行多次仿真运行,否则只需要运行一次。

仿真实验数据库用于存储仿真实验数据。仿真实验数据又包含仿真实验输入和输出数据。实验输入数据是指每个试验的初始数据,实验输出是指每次仿真运行产生的仿真数据。由此可以看出,对于每个试验下的多次仿真运行而言,它们具有相同的输入,但输出不同。依据仿真实验结构以及仿真实验数据的特点,设计仿真实验数据库结构如图5所示。

2数据库优化

该飞行仿真数据库中存有海量数据,对该数据库的访问往往需要数十分钟,甚至数小时。如果不采用任何的优化策略,将造成极其低的效率,会严重影响仿真系统的性能。通常,为了提高数据库系统的性能,可以采用较好的优化策略对系统进行环境优化,例如,内存优化、磁盘I/O优化、CPU优化、网络系统优化、应用程序优化等,还有一个重要的优化手段就是进行SQL语句的优化,可以通过SQL语句的调整、创建适当的素引等。在此着重介绍本系统中用到比较多的索引和SQL语句优化。

2.1合理索引策略

合理的是使用索引有助于加快数据的检索的时间,但索引并不是越多越好。对于OLTP系统,若有大量的插入或删除操作,要尽量少使用索引(只在必要的列上使用索引如主键上创建索引),因为索引在大量DML操作时会触发自身的更新维护,并且需要存储空间。如果确定查询一个表的结果不会高于总行数的124%,则可以使用索引加快查询速度。

2.2 SOL语句优化

在SQL语句优化阶段,基于成本的优化即CBO(Cost-Based Optimizer),CBO需要使用优化SQL句的各种数据资源,如表自身的数据,索引统计数据,系统的I/O速率,以及SQL语句的CPU执行周期等。CBO将在几个可选的执行计划中选择时间成本最低的一个作为该SQL语句的最佳执行计划。

具体是将CBO使用表和索引的统计数据,SOL语句中表和列的連接顺序,可用的索引,以及统计的操作系统数据作为依据来选择访问数据的最佳方法,整个处理过程如图6所示。

3结语

本文从运载火箭飞行仿真系统的具体应用需求出发,按照数据库设计的规范化步骤,对数据库系统进行了相应的规划设计以及优化处理,使本仿真系统的实时性及可靠性得到了很好的保障。随着原仿真系统功能的进一步的改进和发展,本数据库系统还需作相应的完善和扩充,有待更进一步的研究。

模型 数据 数据库