APP下载

IETM数据显示与存储技术研究

2015-12-23乔福超,齐玉东,陈青华

兵器装备工程学报 2015年3期
关键词:数据库

【后勤保障与装备管理】

IETM数据显示与存储技术研究

乔福超,齐玉东,陈青华

(海军航空工程学院,山东 烟台264001)

摘要:为提高交互式电子技术手册(IETM)的数据显示和存储能力,分析了IETM数据描述语言及其特点,讨论了使用XSL和CSS样式单对IETM数据进行显示控制的方法,提出了一种使用关系数据库和文件系统存储IETM数据的方法;所讨论的IETM数据显示与存储技术在某校园网IETM系统中得到了应用,具有一定的实用性。

关键词:交互式电子技术手册;XML;数据库;XSL

收稿日期:2014-08-15

作者简介:乔福超(1989—),男,主要从事计算机测控技术研究。

doi:10.11809/scbgxb2015.03.025

中图分类号:TP391.1

文章编号:1006-0707(2015)03-0094-04

本文引用格式:乔福超,齐玉东,陈青华.IETM数据显示与存储技术研究[J].四川兵工学报,2015(3):94-97.

Citation format:QIAO Fu-chao, QI Yu-dong, CHEN Qing-hua.Research on Technology of IETM’s Display and Storage[J].Journal of Sichuan Ordnance,2015(3):94-97.

Research on Technology of IETM’s Display and Storage

QIAO Fu-chao, QI Yu-dong, CHEN Qing-hua

(Naval Aeronautical Engineering Institute, Yantai 264001, China)

Abstract:In order to improve the ability to display and store the data from interactive electronic technical manual (IETM), we analyzed IETM’s description language and its characteristic, and discussed a technology to control IETM’s display with cascading style sheet and extensible style sheet language, and proposed a method to store IETM’s data with relational database and file system. The technology of IETM’s display and storage discussed above was used in an IETM of campus network system, which has a certain practicality.

Key words: interactive electronic technical manual; XML; database; XSL

交互式电子技术手册(Interactive Electronic Technical Manual,IETM)是以数字形式存储,采用文字、图形、表格、音频和视频等形式,以人机交互方式提供装备基本原理、操作使用和维修内容的技术出版物[1]。该技术是上世纪80年代美军提出的一项重要的军事装备保障技术,是美军“持续采办与寿命周期保障”(Continuous Acquisition and Life-cycle Support,CALS)战略的重要组成部分和关键技术。目前,国内外主流的IETM标准对数据模型、显示布局、数据编码体系等方面进行了细致的规范,但关于数据显示、数据存储方面的详细技术并未进行说明。因此,结合某校园网系统IETM项目的实际开发经验,对IETM数据的显示和存储技术进行研究和讨论,为相关的研究与开发提供参考。

1IETM数据的描述

IETM数据是指在IETM中用于描述装备技术资料及自身元信息的数据。为实现IETM数据的互操作性,便于IETM系统之间以及IETM系统与其他信息系统(如装备综合保障信息系统)之间的数据交换和共享,IETM数据应当具有一定的可重用性、可移植性。在IETM三十多年的发展历程中,先后使用了多种标记语言来描述数据,以实现数据的交换和移植。其中,SGML、XML两种标记语言在IETM中有重要应用。标记语言的发展历史如图1所示。

1.1SGML在IETM中的应用

20世纪60年代,IBM的研究人员创建了广义标记语言(Generalized Markup Language,GML),其初衷是将其作为一种通用的文档格式,以提高系统的可移植性。在随后的应用过程中,IBM进一步完善并规范了GML,使其发展成为标准通用标记语言(Standard Generalized Markup Language,SGML)。SGML是一种用于定义文档结构、描述文档内容的标准语言,其主要功能是通过设计文档类型定义(Document Type Definition,DTD)文件来定义文档格式,并通过标签来表示文档内容。由于格式与内容的分离,使用SGML编写的文档可以使用不同的程序进行编辑、检索,有效地解决了文档在多种操作系统间的移植问题。SGML的这一特性迎合了装备保障领域单位多且需要统一技术信息的特点,成为IETM数据描述最初的首选[2]。20世纪80年代,美军制订了以SGML为基础的《MIL-PRF-28001 电子文件交换及表示的置标要求与通用格式指南》标准,明确规定了凡是在武器装备采购中所建立的电子文档,必须遵循美国国防部的SGML标准[3]。欧洲在同时期发布的S1000D标准以及美军在1992年发布的MIL-M-87268、MIL-M-87269标准也提供了对SGML的支持[4]。这些标准为IETM的快速发展提供了基础。

图1 标记语言的发展历史

1.2XML在IETM中的应用

可扩展标记语言(Extensible Markup Language,XML)是对SGML进行简化后的子集,它摈弃了SGML复杂、难以使用的部分,但同时保留了SGML的各种优点,如优良的可扩展性、格式与内容的分离等。可以说,凡是SGML能实现的功能,XML几乎都能实现[5]。此外,通过多种XML周边技术的支持,还可以实现文档类型检验、操作、搜索、查询等功能。由于XML语言的优势,很多IETM标准都逐步由支持SGML转为支持XML作为数据的描述语言,如S1000D标准、美军MIL-STD-2361标准、美军MIL-STD- 40051标准等。我国IETM因研究起步较晚,推出的GJB6600标准主要是以国外标准作为参考,因此也采用XML作为数据描述语言。总体来看,采用XML描述IETM数据已成为IETM创作的主流。

2IETM数据的显示

XML只能用于对数据进行传输和存储,并不确定数据以何种方式、以怎样的界面呈现出来。这种数据逻辑与显示逻辑分离的特性带来许多优点,例如:在编写XML文件时,只需要关注数据结构和数据;可以突出XML数据存储的优势,简化数据搜索的复杂度;可以使XML文件具有更好的自描述性等。在此基础上,为了使XML数据能以可视化的方式显示出来,还需要为XML文档添加样式单(Style Sheet)。样式单是一种专门描述结构化文档表现方式的文件,它既可以描述这些文档如何在屏幕上显示,也可以描述它们的打印效果。对于XML的显示,W3C给出了两种推荐的样式单标准:一种是级联样式单(Cascading Style Sheet,CSS),另一种是可扩展样式单语言转换(Extensible Style sheet Language,XSL)。通过XSL与CSS的相互配合,共同完成IETM数据的显示。

2.1CSS简介

CSS最初是为HTML页面设计的一个网页排版样式标准,用以增强HTML有限的表现功能。CSS文档通常包含一系列的显示规则,这些规则可以控制网页内容的精确布局、边框、字体、颜色等显示样式,甚至一些网页特效也可以借助于CSS实现。CSS虽是为HTML设计的,但它同样适用于XML文档的显示控制。CSS具有以下几点技术优势:

1) 表达效果丰富。CSS支持文字和图像的精确定位、交互性操作等功能,其对于文档内容的表现力远超过HTML中的标记。此外,CSS的标准规范独立于其他结构化文档的规范,当需要实现更加丰富的表现效果时,只需要修改样式单规范即可,无需修改原始的数据文档内容。

2) 文档较小。在实际应用中,若相同标记下的内容有相同的表现形式,使用传统的方法需要为每一个标记分别定义显示格式,从而造成大量的重复定义。而在CSS中,对同一类标记只需要进行一次格式定义即可,大大减少了需要传输的文件的大小,提高传输速度,节约带宽。

3) 可读性好。CSS对各种标记的显示进行集中的定义,且定义方式直观易读。这使得它的可读性、可维护性都比较好。

2.2XSL简介

XSL的主要作用是将一份XML文档彻底地转换为另一份格式文档,如转换为一份HTML文档或另一份不同的XML文档。相比于CSS所能够定义的布局定位、颜色控制、字体控制等功能,XSL要强大得多,也复杂得多:它不仅可以定义XML文档的显示外观,还能够获得对XML文档里所有数据的全部控制权,从而完成将XML文档向其他格式文档转换的工作。此外,XSL还内置了一些具有计算、排序功能的函数,甚至允许开发者开发自定义函数,因而可以对XML文档的数据进行重新整理,并添加开发者所需要的控制逻辑,然后再将其显示出来。

XSL样式单的实质只是控制源XML文档到结果文档之间的转换关系,它本身并不能进行转换,因此必须要使用XSL转换器才能够完成实际的转换工作。目前,很多程序和工具支持都XSL转换,最常见的有各种浏览器,如Internet Explorer、Firefox等。除此之外,各种XML编辑器,如XMLSpy、Stylus Studio等也可以支持XSL转换。

2.3IETM数据显示技术

IETM数据的显示是由XSL样式单、CSS样式单等文档共同合作完成的,其显示过程如图2所示。首先,依据Schema或DTD文档定义的数据模型约束,将与装备相关的技术资料编辑为XML文档和其他相关的信息对象。同时,依据数据模型设计相应的XSL转换文档,考虑到所有的IETM数据均符合数据模型的约束,因此可直接针对数据模型的元素结构设计XSL转换文档。符合同一数据模型约束的多个XML文档在XSL作用下可转换为风格一致的多个HTML文档。转换之后的HTML文档再通过引用CSS样式单文档,对网页的布局、色彩、字体、对齐方式等显示风格进行详细的控制,最终将IETM页面显示在通用的浏览器中。

图2 IETM的数据显示过程

这种显示方式有以下优点:

1) 各个文档各司其职:XML文档负责传输、存储数据;XSL样式单负责将XML文档转换为HTML文档,从而将XML数据转换为适合在浏览器中显示的内容;CSS样式单针对转换后的HTML定义显示样式。在数据模型和HTML显示框架确定的情况下,各个文档可独立设计与开发。

2) 当XML遵守一定的数据模型(如描述类数据模型、程序类数据模型等)时,开发人员只需要针对这几种特定的数据模型设计相应的XSL样式单文档即可,不必对每一份XML文档都重新设计XSL样式单,从而提高效率,极大地减少了工作量。

3) CSS样式单可以只设计一份,重复使用;也可以设计多种样式,以便用户选择喜爱的显示风格。

以笔者近期研发的校园网系统IETM为例,该IETM使用XML文档进行数据描述,使用XSL样式单进行转换,使用CSS样式单进行显示控制,最终的显示效果如图3所示。

图3 IETM数据在浏览器中的显示效果

3IETM数据的存储

3.1IETM数据存储方案

目前,对XML数据进行存储和管理主要有以下3种方式:

1) 文件系统。该方式将XML数据直接存储在XML文档中,并通过文件系统进行管理。当程序需要对XML数据进行访问时,首先利用文件系统找到所需的XML文档,然后结合XML文档的元素结构对数据进行遍历访问和操作。这种方法结构简单且容易实现,但也有很多不足之处,例如,数据组织存储效率低下,数据的增、删、改、查等功能实现复杂,数据的完整性、一致性、安全性得不到保证等。这些缺陷使得该方法无法满足IETM大量数据管理的功能及性能要求。

2) 原生XML数据库。原生XML 数据库(Native XML Database,NXD)是专用于存储XML文档的数据库。它维持原有XML文档的数据结构和元数据不变,通过XML相关技术(如XPath、XQuery、DOM等技术)对数据进行操作。与其他类型数据库相比,它同样支持事务管理、安全、多用户访问、编程API和查询语言等,唯一区别是其内部模型是基于XML的,而不是其他的模型(如关系模型)。该型数据库尤其适合存储以文档为中心以及半结构化的数据。目前,原生XML数据库存储技术尚不成熟,但这种存储方式已成为IETM数据存储的发展趋势。

3) 支持XML的数据库。支持XML的数据库(XML Enabled Database,XED)是指在已有的其他类型数据库的基础上增加了XML支持模块,通常是利用映射层来管理XML数据,使得XML数据能够与数据库之间进行数据传输和转换。支持XML的数据库可以是面向对象数据库或者关系数据库,其中,使用较为广泛的是关系数据库。在关系数据库中,需要将XML数据按一定的算法映射到数据库的表中,XML文档存入到数据库时就是XML源文件“打碎”的过程,而文件的取出则需要“重新组合”。在这种存储方式下,关系数据库所具有的强大的数据管理能力依然没有改变,数据的移植性较高。此外,关系数据库发展成熟,存储规范,应用领域广,因此,使用支持XML的关系数据库存储IETM数据是一种可行方案。

3.2一种简化的关系数据库存储方案

IETM数据包含大量的XML文档和信息对象。如果将这些XML文档中的数据全部分解映射为关系数据库中的字段再进行存储,则需要进行复杂的映射转换过程,其结果将产生大量的表格,且很能出现空置(null)字段,导致浪费空间、效率低下[6]。因此,提出一种简化的利用关系数据库存储XML数据的方案。该方案采用“元数据+文件”的方式,将IETM数据存储在数据库和文件系统中。以GJB6600标准所规范的IETM数据(包括XML数据模块和信息对象)为例,对这种存储方法进行说明。

3.2.1数据模块的存储

在对数据模块进行存储时,首先提取其元数据(即标识与状态段数据)并进行分解,将分解后的数据模块编码、发布日期、标题等元数据信息分别存储到关系数据库对应的字段中;然后,将数据模块文件以二进制格式存储到BLOB字段中。由于IETM数据模块普遍使用标准的编码体系对数据模块进行唯一标识,因此通过元数据便可以实现数据模块的检索与管理。使用这种存储方式,极大程度地减少了数据表的数量和null字段的产生,且数据模块具备一定的安全性。以GJB6600标准所规范的数据模块为例,关系数据库中数据模块的存储表如表2所示。

表2 XML数据的存储数据表

3.2.2信息对象的存储

信息对象的存储与数据模块存储方法相似。首先提取信息对象的元数据并进行分解,将分解后的信息控制码、文件类型、创建日期等元数据提取并存储在数据库相应的字段中。考虑信息对象文件一般体积较大,若直接将其存储为二进制文件必定会影响数据库的运行效率。因此,将信息对象文件存放至文件系统中,而在数据库中仅存储该信息对象的文件路径URL。如此,IETM数据管理系统只需要到数据库中读取相应文件的存放路径,再根据该路径访问相应的信息对象即可。在这种存储方式下,关系数据库中信息对象的存储表如表3所示。

表3 多媒体数据的存储数据表

4结束语

论文主要研究了IETM数据的显示和存储技术。在数据显示方面,讨论了使用XSL和CSS样式单对IETM数据进行显示控制的技术;在数据存储方面,提出了一种使用关系数据库和文件系统来存储IETM数据的方法。所讨论的IETM数据显示与存储技术在某校园网IETM系统中得到了应用,具有一定的实用性。

参考文献:

[1]GJB6600,装备交互式电子技术手册[S].

[2]安钊,姬进军.装备交互式电子技术手册创作技术综述[J].四川兵工学报,2013,34(11):69-71.

[3]张正强.电子文件管理[M].北京:解放军出版社,2004.

[4]王崇.国内外IETM研究与应用现状分析[J].航空标准化与质量,2009(5):20-23.

[5]李刚.疯狂XML讲义[M].北京:电子工业出版社,2011.

[6]杨天贺.基于S1000D规范的IETM的研究与应用[D].南京:南京航空航天大学,2011.

[7]朱兴动.武器装备交互式电子技术手册—IETM [M].北京:国防工业出版社,2009.

[8]崔建锋.交互式电子技术手册—IETM综述[J].航空制造技术,2011(12):105-107.

[9]徐宗昌,雷育生.装备IETM研制工程总论[M].北京:国防工业出版社.2012.1-44.

[10]Aero Space and Defence Industries Association of Europe.ASD S1000D:International Specification for Technical Publications Utilizing A Common Source DataBase,Issue 4.0[S].

(责任编辑杨继森)

猜你喜欢

数据库
数据库
数据库
数据库
数据库
数据库
数据库