设为首页 | 加入收藏 | 登录 | 注册 
  • 当前位置:首页 » 新闻中心 » 行业知识库
  • 基于原生XML数据库技术的IETM数据库设计

    发布日期:2014-11-26   信息来源:来自网络  浏览次数:
     

    交互式电子技术手册(Interactive Electronic Technical ManualIETM是将纸质技术资料转化为电子文档技术资料,再通过软件形成来与用户交互的软件系统,其数据库成为实现IETM的基础。传统的IETM数据库是将数据以XML文档的形式存入SQLAccess等关系数据库,再加以利用。尽管关系型数据库发展已经相当成熟,但是,对于XML技术的支持始终存在着缺陷,如处理速度慢等,而如果处理不当,还会对XML数据造成致命损害。当前,原生的XML数据库(Native-XML DatabaseNXD)存储技术已成为XML数据存储的发展趋势,本文将给出采用原生XML数据库技术来实现IETM数据库的方法。

    1 原生XML数据库

    关于原生XML数据库,Bourret R给出了一个定义,即只有满足三个条件的XML数据库才能称为纯XML数据库:第一是为XML文档定义一个(逻辑)模型,XML数据的存储和查询都基于这个模型。这个模型至少要包含元素、属性等,并保持文档顺序;第二是将XML文档作为(逻辑)存储的基本单位,正如关系数据库将行(元组)作为存储的基本单位一样;第三是不要求只能使用某一特定的底层物理模型或某种专有的存储格式。

    其中第一个条件要求纯XML数据库必须基于某种模型。这是因为各种数据库都基于不同的模型,就像关系数据库基于关系模型(层次数据库基于层次模型一样。第二个条件的含义是在纯XML数据库中,数据只有在一个XML文档中才有意义,当然这并不妨碍查询一个文档的片段,就像在关系数据库中仍然可以查询一个元素的片段(属性值)一样。第三个条件的含义是:底层的存储格式并不重要。

    与传统数据库相比,原生XML数据库的优点:第一是原生XML数据库在异构数据库的共享、移植性等方面具有传统数据库无法比拟的优势;第二,由于XML数据库是基于层次数据模型的,因而开发模式较简单,或者数据本身就具有层次模型特点,原生XML数据库存取速度更快;第三,对基于Web的数据库开发,将XML数据库与Web服务器结合,可实现动态的数据处理,因此,原生XML数据库在InternetIntranet开发中得到了广泛的应用。

    原生XML数据库的基本存储单元是XML文档,可通过XML相关标准进行数据库存储,这种数据库维持原有XML文档的数据结构和相关的元数据,它不关心数据的底层存储格式,只能通过XML特有的相关技术对数据进行存储,近来出现的数据库系统(如TaminoNatix等),与其他的存储方式相比,原生XML数据库可以完整地保留XML文档信息,存储映射时不需要DTD结构。同时,原生XML数据库采用基于XML的查询界面(如XPath

    DOM也适合于XML本身的特点。

    2 S1000D标准下的IETM数据库结构与信息集

    ASD/AIA/ATA S1000D《基于公共源数据库的技术出版物国际规范》是由欧洲航空航天和防务工业协会(ASD)、美国航空航天工业协会(AIA)和美国航空运输协会(ATA)共同发布的技术出版物国际标准,S1000D标准是一个适用于所有武器装备、民用交通工具和设备的IETM标准。

    S1000D标准采用模块化设计思想将技术资料中的内容分解为数据模块(Data ModuleDM)和信息对象存在公共源数据库(Commom Source DataBaseCSDB)中,数据模块是指技术资料中最小的自包含的信息单元,而信息对象是指插图(多媒体等依附于数据模块的对象,可通过数据模块代码(Data Module CodeDMC)、信息控制码(Information Control NumberICN)、信息类型以及其他的元数据信息,以目录或搜索的方式将信息对象从CSDB中检出,以满足用户的特定需要。S1000D所使用的数据模块存储格式为SGMLXML,结合样式表(XSL)转换技术,可以把数据输出为所需的HTMLDHTML或者PDF等格式。S1000D中允许使用CGM4ATA标准)、JEPGGIFPNGPDFTIFF等格式的图形和图像,也允许使用音频、视频和交互式3D模型。

    2.1 数据模块结构

    每个数据模块都由状态标识段和内容段两部分组成,状态标识段包括标识信息和状态信息,如数据模块代码、版本号,密级等;内容段包括与装备相关的技术数据,如描述性信息、维护步骤信息等。

    状态标识段包含有数据模块的元数据信息,即数据模块的标识信息(如数据模块代码、标题、版本号、发布日期、所用语言等)和状态信息(如密级、责任单位和编制单位、技术标准、适用性信息、质量验证状态、技能等级、更改原因等),图1所示是状态标识段的基本结构。

    内容段包括有要显示给用户的文本信息,是文档内容段主体。在S1000D4.0版本中,将数据模块分为17种类型,并为每种类型的数据模块分别定义了DTDSchema。数据模块的类型分别是描述性信息模块、程序性信息模块、故障信息模块、机组人员信息模块、维修计划信息模块、图解零件信息模块、馈线数据信息模块、过程信息模块、战伤抢修与评估模块、技术信息仓库模块、容器模块、学习和数据模块、维护检查单和定检数据模块、适用性交叉引用表数据模块、状态交叉引用表数据模块、产品交叉引用表数据模块、业务规则交换模块等,

    2.2 信息对象

    技术资料中的各类图形、图像和多媒体对象等非XML数据均可作为信息对象,以便于在CSDB中存储和提取,信息对象可以更直观、形象地描述技术资料的内容,IETM中需要引入图形、动画、音频、视频等多种非文本信息,通过图、文、声等形式多方位展示与人机交互,从而完全改变纸质技术手册单调的表现形式,其信息对象可分为技术插图与多媒体两大类。

    2.3数据模块代码

    数据模块代码是数据模块标准化和结构化的标识符,包含在数据模块的标识与状态段中,DMC与数据模块的版本号一起构成数据模块的唯一标识,用于在CSDB中管理数据模块,

    DMC由硬件/系统标识,信息类型和学习类型3个部分和8个代码组成,各代码段之间用连字符“—”连接:代码由英文字母或数字组成,数字可用“0~9”,英文字母可采用大写英文字母“A~Z”,尽量回避使用“I”和“O”两个字符:其结构如图2所示:

    2.4 信息控制码

    IETM系统中的插图或多媒体对象都存储在CSDB中,每个对象都分配有一个信息控制码,IETM系统可通过该标识对插图和多媒体对象进行控制与访问。

    信息控制码是由数字,字母等字符组成的结构化标识符,用以唯一标识及索引与数据模块相关联的图形,图像,动画,音频和视频等多媒体信息:在CSDB中,信息控制码用于与一个或多个数据模块建立关联,对插图或多媒体对象进行控制与访问:在S1000D4.0中,军用项目一般选用项目编码。

    项目编码是基于型号识别的一种编码方法。在4.0版本之前,S1000D一直采用这种编码。基于型号识别码的ICN由英文字母或数字等字符组成,长度在29位~45位字符之间。ICN分为10个代码段,第一个代码段是前缀“ICN”,各段之间用连字符“—”连接,其结构如图3所示:

    3 IETM数据库的设计

    IETM数据库的数据粒度较小且以纯XML数据为主,因此,采用原生XML数据库技术实现IETM数据库比传统数据库具有更大的优势。

    XML是一个数据库或一张表,因此,运用DOM技术并借助高级语言就可以实现查询操作。但是,这还远远不是真正的数据库运用,而仅仅是高级语言在文本文件操作方面的扩展。在NXD中,只有把XML文件视为一条记录,同时允许这些记录可以是异构的(即可以采用不同的DTD),才有可能把XML运用到整个数据库层次。

    相对于关系数据库的三层结构(DBTabieRecord),其NXD树也可设计为三层(定义层,数据库层和索引层)。XML是一种半结构化的数据表示方式,正是这种特性给查询带来了很多便利,故可以把整个NXD设计成一个类XML树的结构。

    NXD树简称NTreeNXD树的主要特点是其每一个节点都有一个唯一的标识符(ID)这个标识符可以显式地以XML文档某一元素的ID属性来标识,这个ID属性将体现在每个XML文档的DTD中,IETM中的ID即为数据模块代码和信息控制码。

    NXD树的定义层主要是DTDXML Schema文档,此类文档是用来定义XML文档结构的。它们定义的一系列层次分明的标签决定了XML实例文档中所允许包含的内容和内容之间的相互关系。它们所规定的是XML文档的格式和框架,里面并没有包含任何实质的数据,因此,这一层是为下一层数据层服务的。

    DTD文档定义的例子如下:

    数据库层由XML文档(即数据模块)和信息对象组成,信息对象可与XML文档分开存储。数据模块可存放XML实例数据,它由.xml为后缀的文件构成,利用已经定义的标签往定义层所固定好的“模板”中填充数据,只有符合定义层规范的XML文档才是合法的。

    XML文档是结构化的,可直接储存,但不能体现出其结构,只不过是一堆数据流而已,因而体现不出XML文档的优势,检索也很不方便:因此,利用DOM技术可为XML文档建立一棵DOM树,这样,XML文档在逻辑上就可以看成是树型结构,从而保留原来结构清晰,层次分明的特点。信息对象可统一集中存储,但需将信息控制码等标识信息标识清楚,以便于查询。

    索引层的关键是如何有效地把NXDXML文档映射到物理层。由于数据模块已进行细化,因而为索引的顺利实现打下了基础。用户只需要通过数据模块代码和信息控制码即可进行查询,由图可见,用户既可以单独查询XML文档或信息对象,也可以通过两种代码中的相同部分将两者结合起来进行查询,以便于对照查看。

    4

    原生XML数据库在处理XML文档方面具有其他数据库无可比拟的优势,其潜力远远大于发展已趋于顶峰的关系型数据库。原生XML数据库的缺点是缺乏细粒度的数据处理能力,不适合于处理数据集中的XML文档等,但是;基于S1000D标准的IETM数据库中的数据已经细化到极小的程度,因此,原生XML数据库的缺陷在IETM数据库中并不存在。

    关于希盟信 | 联系我们 | 法律声明 | 网站地图

    copyright@2009-2016 西安希盟信仿真科技有限公司  陕ICP备12011946号