陈正峰
(中国航空综合技术研究所,北京 100028)
基于S 1000D的IETM阅读器设计与实现
陈正峰
(中国航空综合技术研究所,北京 100028)
对某型装备交互式电子手册阅读器系统进行了分析、设计和实现,为装备交互式电子手册的开发交付积累了经验,对推进装备维修信息化建设具有重大推进作用。
S1000D;IETM;阅读器
交互式电子手册(IETM),是近年来为解决产品基层级维修孕育而生的一种电子交付物,它利用计算机多媒体、数据库和网络等技术,将内容繁杂的操作手册、维修手册等信息有机组织管理起来,以最优化的方式将文字、表格、图像、工程图形、声音、视频、动画等多种信息形式进行展示,并以交互的方式进行查询,将维修技术人员或系统操作人员所需的信息,精确地展现在使用者面前。
IETM手册集成了产品功能、性能、组成、原理、操作使用、维护保养、故障维修、备件供应等多方面的内容,作为一种先进的装备技术保障辅助手段,通过交互方式为使用人员提供详尽的技术信息支持,显著提高装备的维修保障能力[1]。
1 S1000D简介
ASD S1000D《基于公共源数据库的技术出版物国际规范》(以下简称S1000D)是欧洲航天和国防工业协会(ASD)发布的一个关于技术资料数字化的规范,包括技术资料数据的组织生成、格式要求、管理更新、发布程序等方面的内容[2]。
S1000D提出了两个核心概念,用来保证IETM信息共享与交换,这两个核心概念是数据模块(DM)和公共源数据库(Common Source Database)。数据模块是S1000D中的一个核心概念,数据模块是一个自我包含、包含装备一部分信息的数据单元,由标识状态段(IDStatus)和内容(Content)两部分组成。公共源数据库用于信息管理,用来创建技术文档,可以用它对任何军用或民用的装备制作IETM。S1000D采用了多项ISO国际规范持续采办和全寿命支持(CALS)以及万维网联盟(W3C)规范,支持规范广义标记语言(SGML)、可扩展标记语言(XML)和计算机图元文件(CGM)。
IETM阅读器选用基于ASP.NET和SQL Server的解决方案,采用B/S架构、基于ADO.NET实体数据访问技术,用面向对象C#语言进行开发。
S1000D从布局、显示样式、对话框、警告、注意、注、链接、表格、插图等方面对阅读系统进行了规范,标准同时在链接、导航、注释等方面对IETM阅读系统提出了用户交互相关要求。
基于S1000D的阅读器的数据来源于DDN数据包,DDN数据包中包括出版物手册(PM)、数据模块(DM)和插图(ICN)等文件内容,其中PM、DM为XML文件,ICN为图片二进制文件。技术出版物手册使用PM的形式组织,通过定义PM的结构和层级内容,引用DM和下级层级节点,组织手册章节内容。在手册中,DM是最小的内容组成部分,包括文字、插图、表格、链接等内容。
通过导入DDN数据包,将手册、DM、插图等内容导入到阅读器数据库。用户通过手册结构树或SNS结构树导航定位并打开相应的数据模块DM,根据S1000D对手册内容展现的样式和功能要求,需要把DM内容从XML字符串转成HTML格式,以网页方式将手册资料展现给用户。为了使转换后的HTML页面具备交互能力,根据S1000D对链接、插图、热点导航等内容的交互要求,从DM转成的网页时,把DM中的数据模块引用、插图引用、内部链接等转化成网页中的超链接,并实现超链接的目标内容,当用户在阅读资料时,可以点击链接打开引用的数据模块、插图、热点等内容。
IETM阅读器包括手册数据包管理、手册阅读两大块,这两类操作的用户群体不一样,为了便于手册版本升级,确保手册使用人员所阅读的手册内容版本一致,阅读器采用了B/S架构的网络协作工作平台,其物理架构见图1。
根据图1所示,阅读器系统部署在IIS服务器上,数据库部署在数据库服务器上。在阅读器中,使用全文检索服务进行查找资料,为了获取最佳响应速度和足够的磁盘空间,全文索引服务单独部署在一台专用服务器上,以便有足够的磁盘空间用于保存手册资料。
阅读器系统采用B/S架构比C/S架构的优势体现在系统升级、客户端部署、用户使用等方面,不论是系统部署还是系统新版本升级,只需要在IIS应用服务器上更新部署系统即可,使用用户只需在客户端使用IE浏览器进入阅读器系统。
系统管理人员同样是通过IE浏览器打开并进入系统管理端,导入阅读器手册数据包,导入后手册数据分别保存在数据库服务器、全文索引服务器中,管理员再将手册授权给有权打开使用的用户,从而实现手册授权访问。当手册使用用户进入阅读器后,打开有权查阅的手册,查看手册资料、插图,同时可以在手册之间进行内容链接跳转、热点导航跳转、图形化故障排故等操作。
IETM 阅读器是一个以S1000D 4.0数据包为数据源,利用先进的信息、网络以及计算机技术,实现装备IETM 电子手册分派、管理、查看阅读访问的集成化软件系统,它以提高IETM 资料准确性和资料查找效率为目的,功能架构如图2所示。
从图2中可以看出,整个模型从上到下分为用户界面层、业务逻辑层、数据访问层和服务端,为了保证系统的稳定运作,提高服务端的运行性能,服务端可分成数据库服务器、WEB服务器、文件服务器3部分。
手册结构树(见图3)中包括两类节点,一类是目录节点,一类是数据模块内容节点。用户打开手册后,系统加载手册的结构树,用户可以通过导航按钮在手册结构树上切换选中的节点,也可以在通过单击手册结构树中的节点选中并打开手册资料。
SNS结构树(见图4)是一种层级结构树,默认加载装备的完整SNS结构树数据,用户可以通过SNS编码过滤,将符合条件的SNS显示在结构树上。在SNS结构树中,数据模块将挂在结构树的SNS节点下,用户可通过点击数据模块节点,打开相应的数据模块网面。
用户在手册结构树或SNS结构树上点击数据模块节点,系统将数据模块XML内容按设定的样式转换成网页显示在内容展现区域,并根据当前操作用户所设置的适用性过滤条件去除不符合适用性条件的数据。用户可以在内容页面中添加书签、备注等内容,还可查看数据模块元数据、相关引用、表格和插图等内容。通过页面内容中的链接,用户可以打开其它数据模块或定位到文档中的某个指定位置(见图5)。
可以在插图预览界面通过前图、后图功能切换当前数据模块文档中的前后图,也可通过分离窗口在新的窗口中显示插图,对于有热点的CGM图片,可以点击文档中通过文字链接高亮图片中的热点(见图6)。
通过全文检索功能模块用户可以根据关键词在指定的手册中查找数据模块资料数据,在查找出的结果中,将关键词命中率高的记录行显示在列表最前面,显示出抽取的部分内容,并在显示的内容中将关键词高亮显示(见图7)。
基于S1000D4.0 发布手册数据包括两部分:XML数据文件、图片等多媒体资源文件,其中前者是结构化数据,后者为非结构化数据。对于结构化XML数据,我们可以压缩成二进制数据保存到Sql Server数据库中,但对于非结构化数据文件则上传到文件服务器,保存到文件服务器上。
对于CGM图片,为了实现CGM图片与手册资料内容之间的导航,需要将CGM图片中的热点数据读出来并保存到Sql Server数据库表中,在热点导航中,可根据热点APSName的值,实现通过文字高亮CGM图上热点、通过点击CGM图上热点定位到资料文本内容的双向导航。
为了方便用户阅读,阅读器中使用两种导航树:手册结构树和SNS结构树。手册结构树是根据出版物模块PM数据组成结构特点,解析PM的嵌套层级结构作为手册的目录结构,手册目录结构包括手册节点、手册目录节点、数据模块DM节点。SNS结构树则来自于IETM内容编制平台上的SNS结构树数据。通常用户打开手册后,加载的是手册目录树,通过手册目录打开相应的数据模块资料。
在系统中,手册数据包中包含的数据模块是以XML字符串形式保存到数据库服务器上,该XML字符串符合S1000D4.0 Schema要求,分别包括IDStatus和Content两部分,对于大多数普通手册用户对S1000D不熟,无法读懂这些XML字符所代表的意思,因此,需要将数据模块的XML内容转换成可供普通用户阅读的数据格式。
阅读器数据模块XML内容翻译器实现了将XML字符串转化成网页HTML的功能,将数据模块对应的内容转变为以网页形式展现给普通用户,同时提供网页页面内容交互功能(如链接跳转、插图展现等)。
数据模块X M L内容字符串完全符合S1000D4.0Schema,因此可以通过编写程序将XML内容中的S1000D4.0元素标签转成Html元素标签,即可将一份XML字符串转成Html元素组成的字符串。转换Html内容的方法包括直接将XML元素改名成Html元素(如数据模块中的元素)、将XML中的某元素翻译成一段网页字符串(如比 传统的故障隔离采用分步操作、回答问题以及跳转等方式,引导用户一步步完成故障诊断,这种方式最大的问题在于无法向用户展现故障隔离操作的全貌,另外用户也不能跳过不想执行的操作环节。IETM阅读器有效地解决了这些问题,根据操作步骤间的跳转关系自动生成故障隔离流程图,当用户选中图中某个环节时,系统自动显示当前环节的操作内容,在排故过程中和排故完成后,用户均可以看到整个排故过程内容。 阅读器数据库中存储着大量的技术资料,使用全文检索技术可以从技术资料库中快速筛选并获得所需的资料内容。全文检索需要对被检索的数据根据关键词分词方法建立索引,通过索引可以达到快速查询到目标资料所在的位置及对应的详细资料。 全文检索的执行过程如图8所示。 全文检索的关键是对原始数据进行索引和查询,全文检索有3个关键技术:分词技术;索引技术;查询检索。 4.4.1 分词技术 分词就是对被索引内容进行内容分割,切分成最小单元,并且这些最小单元是有意义的,而不是单独的文字,有可能是一个词组。根据语言的特点,不同的语言也有不同的分词技术,中文分词不同于英文,有其独特的分词方法。 中文分词一般采取预定义词汇集合,通过遍历文档内容,以正向最大匹配的方法对比词汇集合,完成对源文档的内容分割。 4.4.2 索引技术 索引技术分为两类,一类是文档索引,另一类则是查询索引。 文档索引就是为系统中内容HTML文档中的文本建立索引数据,以便加速查询。为了加快索引的查询速度,采用倒排链表方法存储索引数据,所谓的倒排链表方法,是以词组作为链表的链表头,索引信息(索引信息包含索引所在文档位置、词汇频率等信息)作为后续节点,多个索引信息组成一个索引信息链表。 查询索引就是对用户的查询文件进行分析,划分出词组,并得到词组的逻辑关系,用户可以通过使用查询关键字提高查询结果准确度。 建立索引文件是相当缓慢的过程,所以可以在系统中将创建索引作为一个专门的功能,对于阅读器数据库中的那些数据模块,在整个阅读器使用过程中将不会再发生变更,因此,索引只需创建一次,索引一旦创建完毕将可以一直使用。 4.4.3 查询检索 查询检索就是根据查询文本检索出匹配内容的过程。在全文检索中,查询结果的匹配度、准确度是衡量全文检索技术优劣的关键因素,为了提供更为准确、匹配度更高的查询结果,使用查询结果权重的方法,通过该方法对查询结果进行排序,权重高的结果排在前面,反之则排在后面。查询结果权重的组成有两个重要因素,分别为词组出现频率、文档频率。 词组出现频率,即查询词组在文档中出现的次数,次数越大则权重越高。 文档频率,即有多少文档包含了该词组,文档越多则权重越大,文档频率主要在查询文本中出现多个词组时使用到,用于和其它词组的权重作比较。 通过设置查询结果权重信息,可把权重大的记录放置在前面,提高用户关注度。 本文针对用户在阅读装备IETM 手册时存在的问题与不便,提出开发基于S1000D的IETM阅读器。在对系统物理架构、功能架构、关键技术等进行深入的研究和分析之后,利用Asp.Net 技术实现了IETM阅读器,并将其应用于某型号装备的电子手册交付阅读中,项目应用的效果表明,该阅读器能够同时装载和管理多种电子手册,且手册内容的展示效果和交互能力较强,完全满足装备操作培训和维修需要。 [1] 梁伟杰,于永利,张磊等. 装备交互式电子技术手册发展综述[J]. 国防技术基础,2009(5):9~l5. [2] S1000D International Specification for Technical Publications Utilizing A Common Source Data Base[S]. Issue 4.0,2008. T-65 [文献标识码] C [文章编号] 1003-6660(2017)04-0052-05 10.13237/j.cnki.asq.2017.04.013 2017-02-21 (编辑:劳边)4.3 图形化故障隔离技术
4.4 全文检索技术
5 结束语