资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
空气动力a 4 控技术血届p q 次测抖! 学术变流会论立集 数据库开发技术在发动机可靠性数据库中的研究与应用 刘丹星 ( 中同燃气涡轮研究院信息化技术室,四川成都6 1 0 5 0 0 ) 摘要资采* 享0 血* 现代科技赶展酌一# 有* 手段,敷# 库技 # 是女现奇* 共事一十# 我院枉鼓 # 库i 自e * 嗖T 几十a 目R # 应月$ i 论述基W e b # 据库自志 发的雁自宴现具镕的王要# 术i m ,* 对苒在# * 过g 十需意自B 镕H 题培女解女办女 关键目资* 共车b 敷女库J DF I CJ a v a 敷据解析 1 引言 作为提高航宅发动机设计的一项蕈础建设,数据库的开发南1 使用町以将多年秘累的设计、试验 数据进行肯效的管理和利1 ,为进一少提高发动机设计水平和质量提供依据。数据库的使用对单位 的持续发胜起着很 的押动作用。国内外均住异专业开发有专f 】的数据库管珲系统,为并项丁作提供 重婴的辅坳作州。本篇论文以发动机町靠数据阵为例,车篇论文以发动机可靠性信息数据库为例, 就开发数据库t ,遇到的问题,土要是在对数据解析入牟时所遇到的问题和采州的技术进行详细阐述。 2 数据库应用软件开发模式和编程语言 经过多年开发数据库。 - - 一, , 一一 应用软件的摸索与实践 层结构的开发模式,即 赫罐i i 爵i 谲;蟊寄;丽盂i = w 数据库服务器应用服 “2 务层客户端,将开发 : 的程序发布到应用服务 器- 通过浏览嚣软件调用* 一i “ 一 应用服务器鞋序,通过 一 “ - 。 W E B 嗍页来访数据库, 不需要为母台客户端安:j 装、维护软什,使片j 的数 。,。 据库信息都町以通过测览 一 器米卉看,界面统一,能。:。 使用户方便地访问数据库二二一 信息的优点。我们在 作 “ 中统一的采用这 f :丌发模式 r 我们采用O R A C L E 数据库作为后台对数槲进行存储和处理。,利用O R A C L E 数据库构建I n t e r n e t 和基于客户端服务器分布式框架的网络数据库,客户机可以将一个物理上分巾在多处的数据库当作 一个逻辑数据庠进行访问管理。并引 了O R A C L E I A S 技术,构建w 阻服务层,使可以通过客户端 管理数蜗或通过浏览器在片地澍览数据库中的数据。利O R A C L E 数据庠和Z A SW E B 服务器构建 I n t e r n e t 和客户H 务器分布式框架网络数据庠自圈l 。 3 课题简介 发动机可靠性数据和信息足可靠件T 作开展的重要萆础建立壳整的“发动机可靠忡信 鼠数槲厍”能够总结和积累再种可靠性试验数据,对以前的、现在的、将采的各种故障信息、分析 空气动力测控技术五届四次测控学术交流会论文集 报告和改进措施进行有序的管理,根据所积累的可靠性试验信息,对其进行总结、分析,可以对当前 的试验现象进行判断,准确地确定零件的故障模式,并可借鉴数据库相关信息,为发动机可靠性试验 提供改进措施和依据。 4 功能模块划分及数据关系设计2 1 我们开发的发动机可靠性数据库应用软件总体可划分为三个功能模块: 用户管理模块:对数据库应用软件的合法用户进行管理,按其需要分配不同的权限,对其访问 或修改数据进行安全限制; 数据管理模块:将数据入库,建立数据之间关联关系,并在不违反数据约束性和数据关联关系 的前提下对数据进行增加、删除、修改等更新操作; 数据查询模块:通过I E 浏览器对数据库中的数据进行查询,浏览数据、文字、数组、文档、多 媒体( 图片、录像) 等类型的数据,并为数据处理模块提取所需数据。 根据发动机可靠性信息数据的管理办法、规律和数据关系,考虑到数据的归类以部件类别、 项目型号、故障模式或故障模式、项目型号管理数据,数据本身与故障部件和试验类别相关联”1 , 因此确定数据在数据库管理和数据的关系如图2 所示: 图2 数据管理和层次关系示意图 5 数据解析与入库技术的研究与应用 在发动机可靠性数据库的开发中,我主要承担数据数据管理模块的开发。数据解析与数据入库 是数据管理模块所需的主要技术。下面对此项技术进行详细说明介绍。 数据入库是整个发动机可靠性信息数据库系统的基础。为了使数据入库更加灵活方便,我们主 要采取了文件入库与人工手动入库两种方式,以满足用户不同的喜好和需要。文件入库是将需入库 的数据整理为符合入库规范的文本文件,通过程序的解析功能将其文件中的信息按指定属性分解为 数据、数组、字符、图片、图像、文档等数据类型入库,其解析功能流程如图3 。 3 1 2 空气动力测控技术五届四次测控学术交流会论文集 图3 文件入库这种方式在数据入库时方便快捷,但整理数据文件需要一定的工作。人工手动入库是 利用数据输入界面将数据逐条输入后保存入库,不需整理数据文件,但输入较繁琐,没有应用到数 据解析技术,数据入库方式与文件入库的数据入库方式相同。 5 1 数据解析”。 运用J A V A 语言中F i l e 类,以及基于的R e a d e r 、W r i t e r 、I n p u t S t r e a m 、O u t p u t S t r e a m 的数据流I 0 派生的B u f f e r e d R e a d e r 类读取并解析木t x t 类型的数据文件,并将数据存入缓冲区,为数据入库做好 准备。 对于文件导入数据,是要求数据是从文件中导入到数据库中,因此在数据库中设计开发了文件 导入程序,导入程序是把按照一定规定格式存放在文件中的数据导入到数据库中,因此数据在文件 存放的格式有一定的规定,用户应与软件开发人员约定了数据在文件存放的格式,数据在文件中的 格式要求和规定包括了数值、字符、数组、日期、文档和图形在文件中存放的格式要求,数据导入 3 1 3 空气动力测控技术五届四次测控学术交流会论文集 时对文件中的各类数据按数据定义的属性进行解析和分解,包括数据的有效性检验、异常情况处理 等。 数据导入的工作原理,其中包括词法转换,语法转换,和最终导入三个阶段的处理。词法转换 阶段的主要任务是将各种不同格式的数据转换成标准的二维表格格式。我们在发动机可靠性信息数 据库系统中提供了一些常用的数据格式转换模块。同时提供了可扩展接口,来添加处理不同数据格 式的转换模块;语法转换阶段的主要任务是进行数据命名转换,数据预处理,和数据校验等,以确 保导入数据的标准性和正确性。 导入首先比照数据库中已存在的数据记录,对将入库的数据进行重复性检查,如存在重复则给 出提示性信息,并根据用户的选择将确定数据进行重复性替换、追加或放弃操作。导入过程是根据 故障类型在对应的数据名称表中定义的数据名称、属性信息为依据,逐行检索数据文件,根据数据 名称在数据文件中查找到相同的数据名称,并根据数据属性进行导入分解。导入过程中对数据进行 语法和格式检查,对不符合要求或错误的数据进行报错提示;将有效数据规范化、无效数据剔除, 对数组和文档做出相应的处理,并将所有导入的各类型的数据存入到临时缓冲区。当文件中的数据 导入完成后,可对缓冲区内的数据修改。待人机对话确定保存后,在数据库建立数据的关联关系, 并将数据提交事务保存,为数据库建立数据资源,实现对实数数据、数组、字符、文件和多媒体数 据的导入和入库管理。 5 2 数据入库5 】、 6 3 我们采用的主要是关系数据库模型,也运用了对象模型的嵌套表和数组。采用3 D B C 技术与 O r a c l e 数据库建立连接,应用s q l 语句将解析后得到的数据写入数据库。这些数据包括字符型、数值 型、数组型、二进制型。数据入库的关键在于对更新数据库的事务进行并发控制,保证入库数据的 准确性和唯一性。 我们对每个数据表都设置了主键以区别不同的数据记录。主键是保证数据记录唯一性的基础。 主键是唯一的,当一条准备入库的数据记录与数据表中已存在的某条数据记录主键重复时,程序会 给出提示:是否替换原数据? 如果选择“是”,则用这条新数据记录替代数据表中原来存在的那条数 据记录;如果选择“否”,则这条数据记录被放弃,不对数据表产生任何更新。 数据入库之前先锁定相关的数据表,我们使用的是排他型锁E X C L U S E 。当数据表被锁定后, 只有锁定它的用户可以对其进行写操作,其他事务对该表的写操作均被禁止,但允许查询操作。当 数据表已被锁定时,别的事务无法再对其加锁。锁在事务结束( 提交或回滚) 时打开。加锁语句为: l o c kt a b l e 数据表名i ne x c l u s i v em o d en o w a i t 。N o w a i t 的含义是:当要封锁的表或表中的部分记录已 被其他用户封锁时,系统立即返回控制,并给出提示信息。如果没有指定该选项,l o C k 语句就处于 等待状态,一直要等到该表被解锁,然后执行本语句的加锁功能并返回控制。这样就不会发生两个 用户同时更新数据库的问题。数据入库前还要对其进行检查,如果数据不符合数据类型的约束,那 么禁止其入库,并给出相应提示。 字符型、数值型数据入库:数值数据对实数数据的处理按浮点数处理,在数据库中以N u m b e r 属 性字段保存;字符在数据库中以V c h a r 2 属性字段保存和管理。这两种类型的数据写入数据库相对简 单,用一条插入或修改的s q l 语句便可完成; 数组类型数据入库:一组数值作为一个数组。利用O r a c l e 数据库系统中的对象类型,在数据库 系统中建立数组对象类型,在数据表中利用己建立的数组对象类型的继承属性,定义数据表相应的 字段构建为数组属性,并编写O r a c l e 数据库系统中S Q L P L U S 存储过程,利用存储过程实现对数组 数据的存取和管理。将J A V A 中的数组转为A R R A Y 对象写入数据库,设置方法为$ 6 必d T a y ( ) ; 二进制数据入库:一些文件、图片、录音或录像等的数据信息以二进制大对象( B L O B ) 入库。 将欲入库文件转成文件输入流( F i l e l n p u t S t I e a m ) ,再将文件输入流依次读入缓冲,将缓冲中的数据 写入数据库; 嵌套表:在数据存储应用中,利用了O R A C L E 嵌套表对象,将嵌套表记录作为主表的一列,存储 具体数据信息,本身包含着若干列。嵌套表的列的数据类型包括字符型、数值型、数组型、二进制 型。在建立嵌套表的语句中,需要用一个对象类型定义嵌套表的结构,建立语句为C R E A T E n 俾E 嵌 套表名A ST A B L EO F 嵌套表对象类型。读写数据库时都需要与主表的主键建立关联关系。如果主 表删除条数据记录,嵌套表对应的数据记录也会随之被删除。使用嵌套表可简化数据表,实现动 态数据结构的变化,加快数据库更新和查询的速度。 3 1 4 空气动力测控技术五届四次测控学术交流会论文集 5 3 删除数据 对数据库的操作还包括删除操作。删除也是数据库更新的一项操作,在删除前同样需要对数据 表进行锁定。锁表操作如前所述。 6 技术应用心得 数据解析和数据入库是发动机可靠性信息数据库的基础,也是一个重要的环节,如何保证数据 解析的正确性和入库数据的唯一性是需重点解决的技术性关键问题,另外还需综合考虑有利于数据 查询的方便与速度问题。我们在软件开发中充分考虑并应用相关技术解决了这个问题,并为以后开 发类似数据库系统积累了经验。 参考文献 【1 】o r a c l e 公司技术文件O r a c l e g i A SC o n t a i n e r sf o rJ 2 E EU s e r sG u i d e 【2 】刘振兴发动机可靠性信息数据库方案设计
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号