admin 管理员组文章数量: 1086019
2024年4月20日发(作者:压缩图can指标源码)
维普资讯
2007年第12期 计算机系统应用
一
种基于X M L的数据库动态建模方法在工程
飞行模拟器中的应用研究
Study of A Dynamic Database Modeli ng Based on XML
In Engineering Flight Simulator
范丹丹 (北京航空航天大学自动化科学与电气工程学院100083)
刘 涛 (北京兰钛克世纪科技有限责任公司)
摘要:针对目前飞行仿真中静态建立数据库模型的方法所存在的问题进行分析,提出了一种基于XML的动态
自动建立数据库模型的方法。利用XML文件作为数据格式转换的中间介质,通过XML技术中的DOM
生成和解析XML文件,实现了数据库模型参数在不同数据源之间的传输,然后基于得到的参数进行数据
库动态建模。该方法已经在某飞行模拟器数据库开发中得到应用。
关犍词:飞行模拟器数据库静态建模数据库动态建换XML
1 引言
平台之间实现共享。
仿真数据库作为工程模拟器的组成部分,它担负
针对飞行仿真工程项目中数据库静态建模的局限
着对各种仿真数据进行管理、维护和对仿真结果进行
性,本文提出了一种基于XML的数据库动态、自动建
分析、处理的功能;几乎整个仿真系统都是围绕着仿真
模的方法,它成功解决了静态建模方法所存在的问题。
数据库展开,它为整个飞行仿真系统提供持久、可靠、
必要的数据支持,它是整个仿真系统的重要组成部分。
2数据库动态建模中的关键技术
数据库建模是工程模拟器数据库系统开发中的一
XML(eXtensible Markup Language)即可扩展标
个关键问题,数据库模型的结构是否合理决定了整个
记语言,它是在HTML语言的基础上发展起来的一种
数据库系统的功能是否可靠。目前建立数据库模型的
符号标记语言,它突破了HTML的固定标记集合的约
方法通常都是静态的,模型建立之后就不能再发生改
束,用户可以根据需要定义各种标签来描述文档中的
变。随着仿真对象发展速度的加快以及仿真实验对效
数据元素。它和HTML相比具有以下优点:①数据和
率要求的提高,静态建立数据库模型方法的局限性也
表现形式相分离 ②是一种无标记语言,没有固定的
更加突出:首先,不具有拓展性,当仿真模型发生改变
符号,用户可以自定义DTD;③主要内容是数据;④能
时,原来的数据库模型就不再满足要求 其次,导致了
够对数据源进行封装,屏蔽掉数据源通过XML的集成
数据库的重复开发,不同的仿真模型需要不同的数据 实现不同数据源间数据的交换和共享。
库模型,因此就需要开发出不同结构的数据库,重复的
XML技术中最重要的一个方面:DOM(Document
开发浪费太多人力和物力i最后,不能满足MATLAB/
Obied Mode1),即文件对象模型。它是微软提供的
SIMULINK等开放性平台的需求,数据库不能在跨仿真
HTML和XML文档的编程基础,是W3C的正式标准。
8eI h丑nd Develot merit研究开发41
维普资讯
计算机系统应用 2007年第12期
●
它定义了处理执行文档的途径,采用树形结构表示
XML文档,允许开发人员随意访问DOM中的信息。各
L I.. ;
的方式实现。
表1 系统各模式功能表
模块名称 面向的对象 实现的功能
种语言给它提供的接口使它被广泛的应用。
XML的上述特点使它成为了当今社会进行信息传
输的一种主要方式,也为动态数据库模型的建立奠定
了基础,成为解决数据库动态建模的关键问题。
外模式
内模式
生成模式
用户
系统
后台数据库平台
提供用户对数据操作的接口
保存数据及格式转换
动态建立数据库模型
3数据库动态建模的原理
在工程飞行模拟器中,数据库建模所需要的参数,
内模式面向系统,用来保存用户所选择的参数信
息并进行数据格式转换,生成便于传输和数据共享的
中间格式文件,并把中间格式文件信息转换为后台数
据库平台所需数据类型。
生成模式面向后台数据库管理系统,执行动态建
立数据库模型的SQL语句,实现数据库模型的建立。
为了满足数据转换时对数据检索速度的需求,保
通常来自各个仿真系统对仿真模型各个参数的定义,
这些定义信息通常会存储在其他数据源中。为了能够
从其他数据源中共享仿真模型信息,这里使用XML文
件作为中间介质,利用DOM技术实现XML文件的生
成和解析,实现数据格式的转换,达到不同数据源之间
数据共享的目的,从而实现数据库建模信息的可靠传
输。由于数据库建模的参数来自XML文件,而XML文
件的内容来自系统所定义的仿真变量,因此实现了数
据库模型参数随着仿真模型参数的变化而变化的特
点,实现了数据库模型的动态性。
建立数据库模型的后台数据库平台采用SQL Serv-
er2000数据库管理系统。
存数据的结构体在定义时采用树状结构。其中,数据
库作为树的根节点,数据库中的每个表格作为根节点
的每个子树,表格中的每个宇段信息作为树的每个叶
子节点。具体的存储结构图如图2所示。
在对某个表格的某个宇段信息进行查询时,可以
通过检索该字段在结构体数组中的逻辑地址来完成。
字段所在地址可以通过下面的公式计算得到:
F1l=T1+T2+…+l
1+(i一1)术B+S
一
整个系统可设计为外模式、内模式和生成模式三
种模式。每一种模式面向不同的对象,,完成不同的任
务。数据库动态建模设计原理如图1所示,表1是各个
模式面向的对象和实现的功能。
其中F 代表第i个表格中的第i个宇段所对应的
逻辑地址,T,代表第i个表信息所占的存储空间大小,
B代表表i中的每个宇段所分配的空间大小,s代表该
结构体数组的起始地址。
外模式
=.
鏖
保存数据
生成模式
4 数据库动态建模中的关键问题
把图1中的三种模式整合到实现过程的不
同模块中去,根据XML文件的生成和解析过
数据库建模
程,把整个系统划分为三个模块:XML生成模
块、xML解析模块和数据库动态建模模块。划
利用DOM(文件对象模型)实现数据
格式转换
内模
I f
I
SQL Server2000数据
库管理系统
分情况如图3所示。
这三个模块的实现是整个数据库动态建
模方案实现的关键问题,它们决定着整个方案
“ I xML文件
j I-一一一一一一一一一一一一
图1 数据库建模原理图
实现的可能性。具体的实现过程如下:
4.1 XML生成模块
该模块把用户所选择的数据库模型信息保存并转
外模式面向用户,允许用户对数据库模型参数进
行各种操作。该模式可以通过编写用户操作界面代码
42 研究开发Research and Development
维普资讯
2007年第12期
换成为XML文件格式的数据,作为子树或者节点插入
到整棵XML树中,循环插入所有的子树和节点之后保
存该XML文件。步骤如下:
(1)定义结构体数组、保存数据。根据图2所描述
的形式定义一个结构体数组,并把数据库模型信息按
照对应的结构保存到结构体数组中去。
(2)定义映射规则。根据图2中树的结构设计从
结构体数据到XML格式数据的映射规则,主要包含下
面几个方面:
图2 数据存储结构树
: IxML生成模 II :解析樽擤I解 块:
数据
库动
态建
用户
用户
模模
接13
接13
块
工
工
保存 保存
数据
数据
数据库建模
FfJDOM( ̄2
件对象
模型)编
写程序
SQL Sever2000
j
数据库
一一
图3 实现方案框图
・
定义一个根节点,用DATA来标记:
・
把数据库名称作为DATA的一个子节点,用
DATABASE作标记,节点内容为数据库名称:
・
把每个数据表作为DATA的一个子树,用TABLE
作标记,并为其插入一个子节点,用TABLENAME作标
计算机系统应用
记,节点内容为表的名称:
・
把表中的每个字段作为对应TABLE的一个子
树,用VAR标记:
・
把每个字段名和字段类型分别作为VAR的子
节点,并用NAME和TYPE作标记。节点内容为字段名
称和字段的类型。
(3)根据映射规则编写出相应的XML模板
(4)加载XML模板,按照检索树的形式检索结构
体数组中的数据,然后把数据作为对应子树和节点循
环插入到模板树中,直至把所有的数据加载完毕为止。
映射规则的定义可以根据树的形式进行改变,当
定义规则发生改变时,只需要修改对应的XML模版,
就能生成不同表达形式的XML文件,从而增强了所生
成的XML文件形式的灵活性。
4.2 xML解析模块
该模块把XML文件中的数据转换为所需要的数
据类型,从而为建立数据库模型提供必需的参数信息。
在解析的过程中,既可以把整棵树完全解析,也可以仅
仅解析XML树中包含用户所需信息的节点,这根据建
模所需的信息而定。该模块实现的方法是:利用DOM
把所需要的信息从XML解析出来,然后把这些信息放
到一个事先定义好的大结构体数组中,供动态建立数
据库模型利用。具体的实现的过程如下:
(1)按照图2描述的树的结构定义一个结构体数
组用来存放解析得到的数据:
(2)加载整个XML树:
(3)循环取出XML树中包含所需信息的节点并
把节点信息取出转换为结构体类型的数据放在结构体
数组中。
通过在VC++下利用C++对DOM的支持编写
代码实现XML文件的生成和解析,从而实现把数据从
XML格式转换为建立数据库模型所需的格式。
4.3数据库动态建模模块
XML的生成和解析已经完成,亦即利用XML转
换、传输数据的功能已经实现。下面就可以根据解析
XML所得到的信息来建立数据库模型。实现过程
如下:
(1)连接后台数据库管理系统:
(2)采用检索树的方法从存放参数信息的结构体
Research and Deve]opment研究开发 43
维普资讯
计算机系统应用 2007年第12期
数组中取出所需要的信息:
平台通用性的需求,适应了MATLAB/SlMULINK开放性
建模的需求,解决了数据库重复开发的问题,并且减少
了数据库开发中的人力和时间,方便了飞行仿真过程
中对信息的管理。
参考文献
(3)编写建模所需的SQL语句并把参数信息包含
其中;
(4)提交并执行5QL语句,后台建立对应数据库
模型。
通过上述四个步骤,数据库的动态建模已经完成。
由于整个数据库模型的建立所需要的参数都是通过解
析XML文件得到的,而XML文件所包含的信息又来自
l鞠儒生、乔海泉、邱晓钢,HLA仿真结果数据库设
计及其应用研究[J],系统仿真学报,2006,18(2):
327—330.
于仿真模型的信息,那么当仿真模型改变时,数据库模
型的信息也就发生改变,所建立的数据库模型的结构
也随之发生改变,从而保证整个数据库建模的过程一
2蒋夏军、吴慧中、李蔚清,仿真数据收集中的实时数
据库技术研究[J],系统仿真学报,2005,17(8):
l872一l874.
直处于动态,能够随着仿真模型的改变而改变。
该数据库动态建模系统实现之后,对它的使用就
不再需要人为参与,从而保证了整个系统的自动性;
XML文件作为中间媒介实现数据格式转换的方式,消
除了对数据来源的限制,从而实现了不同数据源之间
数据的共享。
3宋超、沈为群、白东升,索引在飞行仿真系统数据库
中的应用与优化[J],计算机仿真,2007,24(3):62
—
65.
4赵新俊、王会霞、王行仁,先进分布仿真系统中的数
据库技术研究[J],系统仿真学报,2002,14(8):
l0l2一l0l4.
5结束语
本文所实现的动态建立数据库模型的方法已经在
5曹亮、王茜、卢菁,XML数据在关系数据库中存储
和检索的研究和实现[J],东南大学学报(自然科学
版),2002,32(1):124—127.
某工程飞行模拟器数据库系统中得以应用。实践证
明,该方法能够实现数据库模型随着仿真模型的改变
而动态、自动重新建立,从而实现了仿真系统数据库跨
6邱广华、张文敏,XML编程实例教程[M],北京:科
学出版社,2004.1—427.
(上接第40页)
4 Heinzelman W R,Chandrakasan A,Balakrishnan H.
An application--specific protocol architecture for wire—
less microsensor networks.IEEE Transactions on Wire.
6 H.Yang and B.Sikdar.“A protocol for tracking mobile
targets using sensor networks”,IEEE,Sensor Network
Protocols and Applications,Proceedings of the First
IEEE,International Workshop,PP.7 1—8 1,May
11,2003.
1ess Communications,2002,1(4):660—670.
5 Younis O,Fahmy S.Distributed clustering in ad—hoe
sensor networks:A Hybrid,energy—efficient ap—
7 Deborah Estrin.Tutorial“wireless sensor networks”
Part IV:Sensor Network Protocols.MobiCom 2002.
proach.In:proc 13th Joint Conf on IEEE Computer
and Communications Societies (INFOCOM),
March 2004.
http://nest1.ee.ucla.edu/tutorials/mobicom02/.
44 研究开发Research and Development
版权声明:本文标题:一种基于XML的数据库动态建模方法在工程飞行模拟器中的应用研究_ 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713573408a641415.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论