APP下载

基于Open XML的应急预案数字化方法

2012-05-04张晓丹

计算机工程与设计 2012年6期
关键词:控件预案组件

张晓丹,刘 丹,俞 侃

(1.华中科技大学 文华学院,湖北 武汉430074;2.华中科技大学 系统工程研究所,湖北 武汉430074;3.国家国民经济动员仿真演练研究中心,湖北 武汉430074;4.图像信息处理与智能控制教育部重点实验室,湖北武汉430074)

0 引 言

应急预案是为了应付突发性灾害事件而预先制定的解决方案[1]。现有的应急预案主要是高度非结构化的静态文本,主要存在以下问题:

(1)不利于预案模板的独立扩充和修改;

(2)不利于依据下发的预案模板填写预案数据时,对填写的数据进行校验;

(3)预案检索仍停留在对预案特征字段的检索层面。

因此,如何建立数字化应急预案是当前研究的热点[2-3]。文本预案结构化和数字化需要将应急内容要素,开发成既相对独立又相互关联的模块[4]。文献[5]基于事件的任务框架来描述应急响应过程中任务间的依赖关系,缺少对应急组织结构的描述。文献[6]使用TTL语言描述应急组织结构及其动态特性。文献[7]考虑应急组织结构、应急资源及响应过程,基于E-R模型对应急预案形式化描述。上述研究大多是建立应急预案逻辑模型,并未考虑预案文档自身的非结构化问题。在推理检索应急预案生成应急响应行动方案时,大多只能对形式化描述的预案特征字段进行检索[8-9],无法深入预案业务数据。

基于xml实现应急预案数字化是一条具有应用前景的思路。文献[10-11]基于本体描述应急预案,底层实现使用xml,以实现预案的结构化和数字化,但其没有将预案模板和预案业务数据分开表示,不利于预案模板的修改以及对预案业务数据的检索。同时,也未考虑对填写数据的校验问题。文献[12]建立应急预案的xml模型实现了数据校验,分离了预案模板与预案业务数据。然而预案模板与xml模型的关联需要开发应用程序,两者并非有机结合的整体。此外,将整个预案描述为一个xml模型,不符合文本预案结构化和数字化中的模块化需求。

Open XML是一项针对字处理文档、演示文稿和电子表格的国际文档格式标准。其核心是通过使用XML参考模式和ZIP容器得到稳定的模块化格式[13-14]。本文完善了作者之前的研究工作[15],从文本应急预案自身出发,引入组件化设计思想,建立应急预案XML模型,并基于Open XML标准无缝集成XML模型,实现应急预案数字化。

1 应急预案分析

应急预案可以分为综合应急预案、专项应急预案、现场处置预案3类。不同类型的应急预案其层次级别和侧重方向有所不同,但基本是由预案特征和预案内容两部分构成,总体结构如图1所示。

图1 应急预案总体结构

(1)预案特征,包括预案基本特征和事故基本特征两部分。针对不同类型的事故灾难,其预案的预案基本特征和事故基本特征下的内容项有所不同。预案基本特征,是指预案本身的一些基本信息;事故基本特征,是指触发该预案的突发事故所具有的关键属性。

(2)预案内容,包括预案模板和预案业务数据两部分。为结构化预案内容,需要将整个预案的内容分解成不同的组成部分,即组件,并对其包含的组件及每一组件的内容进行规范。预案模板是国家下发的预案编制模板,经过组件化处理,得到每个组件中相对固定的文本数据,即组件模板。预案模板描述了组件之间的先后次序和嵌套关系,确定了组件之间的组合方式;预案业务数据是将具体的应急突发事件和应急响应组织结构、流程和措施等信息处理后得到的数据。确定结构化的预案模板和数字化的预案业务数据,即可生成数字化的应急预案。

2 应急预案描述模型

2.1 应急预案特征描述模型

应急预案特征是预案检索的基础,包括预案基本特征和事故基本特征两部分。由于预案特征属于预案的属性,不涉及到模板数据,因此只需对其内容项进行形式化描述。其XML描述如图2所示。

图2 预案特征XML Schema设计

2.2 应急预案内容描述模型

应急预案主要包含以下几部分内容:预案的适用范围、组织机构、资源、工作流模板、预案的其它内容(如预案目标、预案原则等)[2]。以上5部分内容,在应急预案中主要表现为5大要件:总则、组织体系、运行机制、应急保障和附则[16]。

上述5大要件相应地确定5个顶级组件,(如 “总则”),将各大要件下的次级要素分割为次级组件(如 “总则”下的预案目的、工作原则等)。根据预案文档结构,次级组件可再递归地划分下级组件。组件化处理后,整个预案分割成一个个独立组件。组件具有组件名称和组件备注等属性,包含组件业务数据,以及递归包含下级组件,其XML描述如图3所示。

图3 预案组件XML Schema设计

2.2.1 组件模板

将预案组件中模板部分提取出来,作为组件模板,一般为固定的文本,不用于预案检索,因而不需要建立XML描述模型。

2.2.2 组件业务数据

根据上述所述的预案内容将组件业务数据对应分为静态文字、组织结构、资源、工作流等类型。

(1)静态文字业务数据

静态文字是预案除去预案模板部分后,剩下的文字部分内容(如 “预案目标”等)。其XML描述如图4所示。

图4 静态文字业务数据XML Schema设计

(2)组织机构业务数据

组织机构是任何预案必不可少的部分。由于应急响应活动的变化性,组织机构需要灵活调整,如增删某些部门、替换部门中的人员等。这既要求该组件能够描述复杂多样的组织机构,也能够根据当前的实际变化对组织机构进行修改,其XML描述如图5所示,最下端的带箭头的机构信息表明为机构信息的递归引用。

(3)资源业务数据

完成应急任务涉及到的所需应急资源。资源业务数据类型复杂、数据庞大,当应急态势改变时,预案中的资源业务数据需要进行相应的改变调整。由于不同类型的预案所涉及资源有所差异,此处以企业物资生产为例,其XML描述如图6所示。

(4)工作流业务数据

工作流业务数据由一个或多个应急响应程序组成。应急响应程序又由一系列的应急任务组成,任务之间存在约束关系。为确保任务完成,其执行次序至关重要。一个应急响应程序不但可能是串行的执行程序,也有可能是并行的执行程序,还有可能是满足某种条件才执行的条件执行程序[7]。其工作流业务数据的XML模型如图7所示。

图7 工作流业务数据XML Schema设计

应急响应程序最终将落实到应急任务上,应急任务是任务执行递归的终结。由于不同类型的预案涉及的应急任务不同,相互不能通用,此处仅以企业物资生产任务为例,其XML描述如图8所示。

图8 应急任务业务数据XML Schema设计

3 基于Open XML生成数字化应急预案

3.1 总体步骤

基于Open XML标准生成应急预案所需使用的工具:①Word2007及以后的版本;②Altova XML Spy(本文使用的是 Altova XML Spy 2006);③Word Content Control Toolkit(下载网址:http://dbe.codeplex.com/)。总体步骤如下:

(1)使用Word2007组件化制作预案模板,输入模板的文字部分,并在需要填写预案业务数据处,插入内容控件,将模板与业务数据分离。

(2)根据应急预案组件化、数字化后,形成的XML Schema文件,生成对应的xml文件,用于下发预案模板填写业务数据时,对业务数据进行校验。业务数据的xml文件将嵌入到包含customXml文件夹的文件容器中。

(3)使用 Word Content Control Toolkit将自定义业务数据绑定至模板中对应的内容控件上。这样填写的业务数据将自动反应到custom xml文件中。此外,当使用Word2007打开预案时,不需要额外的程序,将自动查找预案包含的custom xml文件中的业务数据显示在预案的指定位置。

3.2 国民经济动员综合预案案例说明

(1)使用Word2007制作预案模板。

打开Word2007载入预案模板,选择 “开发工具”选项卡,在需要填写业务数据的地方插入对应的内容控件。以国民经济动员综合预案中动员任务为例,存在如下动员任务,任务名称:**帐篷生产任务,任务类型:物资生产,任务内容:生产帐篷5000顶,任务数量:5000,任务开始时间:2010-7-5,任务结束时间:2010-7-15。提炼需要数字化的业务数据类型及对应的内容控件如表1所示。

表1 业务数据类型及对应的内容控件

(2)组件化处理,使用 Altova XML Spy编写 XML Schema,并附加到预案文档。

国民经济动员企业物资生产预案包含如指导思想和原则、动员潜力现状分析及评价、动员要求及主要任务等11个顶级组件。其中动员要求及主要任务包含国民经济动员要求及国民经济动员任务两个下级组件,国民经济动员任务又包含企业物资生产、物资征用等8个下级组件,组件及下级组件的嵌套XML模型参考图3。

针对每个组件,使用Altova XML Spy编写XML Schema,生成Emergency Response Plan.xsd文件。此处仅展示帐篷生产动员任务的XML Schema设计,如图9所示。

图9 帐篷生产动员任务XML schema设计

**帐篷生产动员任务通过属性对任务类型进行说明,任务编号、任务名称、任务类型、任务内容均为string类型,数量为decimal类型,最小5000顶,开始时间和结束时间为 datetime类型,必须在2010/7/5-2010/7/15之间。约束 “动员任务标号主键”保证了动员任务在此预案的XML文件中的唯一性。

选择 “开发工具”选项卡,在XML中点击 “架构”,弹出的对话框,点击架构库,添加Emergency Response Plan.xsd 文 件, 勾 选 Emergency Response Plan 选 项并确定。

(3)使用 Word Content Control Toolkit将业务数据绑定到控件。

在 Word Content Control Toolkit中打开该应急预案文档。左边呈现出内容控件列表,右侧显示 “Click Here to create a new one”,表明在文档中还没有custom xml文件。点击右侧的 “Click here to create a new one”,在 Edit View选项卡中将之前生成的Emergency Response Plan.xsd文件中的内容拷贝到此处。切换到Bind View选项卡,展开节点可见下面的name元素,鼠标拖动name元素至对应控件,绑定成功后高亮,并显示其绑定的Xpath。

3.3 实验结果及分析

(1)预案模板的独立扩充和修改:数字化预案生成后,凡是存在内容控件之处均为数字化部分,需要填写预案业务数据。使用zip解压该文档,可见内容控件中填写的数据对应保存于customXml文件夹,预案模板的文字对应保存于word文件夹,因此,在底层存储上实现了模板和业务数据彻底分离,扩充和修改预案模板的文字将不会影响业务数据。

(2)预案业务数据填写校验:由于附加的XML schema文件中定义了内容控件对应的数据类型及约束条件,因此在填写帐篷生产任务时,若 “数量”对应的内容控件中填写非数字或小于5000的数字将会以红色波浪线提示错误。同样填写 “开始时间”和 “结束时间”不在给定范围也会提示错误,从而实现对非法格式的数据填写进行校验。

(3)预案检索可深入业务数据:由于预案业务数据组件化后以多个xml文件存于customXml文件夹中,因此可开发预案检索应用程序直接定位和操作预案业务数据xml文件。预案检索条件可输入任务类型为 “物资生产”且数量大于5000,而不再局限于预案特征字段。

4 结束语

本文从文本预案自身出发,引入组件化设计思想,应对预案数字化中模块化的需求;使用XML建立应急预案模型,一方面对填写数据进行校验,另一方面使预案检索深入预案内容的XML模型数据。基于Open XML标准,分离预案模板和预案内容业务数据,两者可独立变化,同时无缝集成XML模型,从而实现整体应急预案数字化。后续研究将集中于在现有数字化的基础上,构建基于案例推理的数字化应急预案系统,对预案进行检索、匹配、调整,以生成可用于突发应急情况的行动方案。

[1]Mendonca D,Beroggi G E G,Wallace W A.Evaluating support for improvisation in simulated emergency scenarios[C].Proc of the 36th Hawaii International Conference on Systems Sciences,2003:9-17.

[2]ZHAI Danni.Research on the construction of digitalized preplan in emergency system [J].China Public Security(Academy E-dition),2008,3(1):138-141(in Chinese).[翟丹妮.应急平台中数字化预案系统建设的研究 [J].中国公共安全(学术版),2008,3(1):138-141.]

[3]HAN Fang,DANG Depeng,LIU Jifu,et al.Development of emergency response plan completeness evaluation system [J].Computer Engineering and Design,2009,30(8):1918-1921(in Chinese).[韩芳,党德鹏,刘吉夫,等.数字化应急预案完备性评价系统设计与开发 [J].计算机工程与设计,2009,30(8):1918-1921.]

[4]ZHANG Chao,PEI Yuqi,QIU Hua.Current status and development trend of digital emergency plan at home and abroad[J].Journal of Safety Science and Technology,2010,6(5):154-158(in Chinese).[张超,裴玉起,邱华.国内外数字化应急预案技术发展现状与趋势 [J].中国安全生产科学,2010,6(5):154-158.]

[5]Adriaan ter Mors,Jeroen Valk,Cees Witteveen.An eventbased task framework for disaster planning and decision support[C].Brussels,Belgium:Proc of the 2nd International ISCRAM Conference,2005:151-153.

[6]IIoonendoorn M,Jonker C M,Povova V,et al.Formal modeling and comparinn of disaster plans[C].Brussels,Belgium:Proc of the 2nd International ISCRM Conference,2005:97-107.

[7]LI Hongchen,DENG Yunfeng,LIU Yanjun.Formal description of emergency plans[J].Journal of Safety Science and Technology,2006,2(4):29-34(in Chinese).[李红臣,邓云峰,刘艳军.应急预案的形式化描述 [J].中国安全生产科学技术,2006,2(4):29-34.]

[8]LIU Xiaoxuan,XUE An.Review on the development of emergency response plan supporting system [J].China Safety Science Journal,2007,17(9):87-91(in Chinese).[刘筱璇,薛安.突发公共事件应急预案支持系统的研究进展 [J].中国安全科学学报,2007,17(9):87-91.]

[9]SHI Zhongzhi,LIN Fen,LUO Jiewen.AGrIP-agent grid intelligence platform [J].Caai Transactions on Intelligent Systems,2006,1(1):17-23(in Chinese).[史忠植,林芬,罗杰文.主体网格智能平台AGrIP构建及其应用 [J].智能系统学报,2006,1(1):17-23.]

[10]WANG Wenjun,MENG Fankuo,WANG Yuelong,et al.Research on ontology-based emergency response plan template[J].Computer Engineering,2006,32(19):170-172(in Chinese).[王文俊,孟凡阔,王月龙,等.基于本体的应急预案研究 [J].计算机工程,2006,32(19):170-172.]

[11]DONG Cunxiang,WANG Wenjun,YANG Peng.Emergency plan system ontology and its application [J].Computer Engineering and Applications,2010,46(10):235-238(in Chinese).[董存祥,王文俊,杨鹏.应急预案体系本体模型(EPSOnto)及应用[J].计算机工程与应用,2010,46(10):235-238.]

[12]ZHU Feng,ZHU Xiangwei,HUANG Weidong.Emergency preparedness management based on XML and Ajax [J].China Public Security(Academy Edition),2010,3(20):28-31(in Chinese).[朱锋,朱香卫,黄卫东.基于XML和Ajax的应急预案管理 [J].中国公共安全(学术版),2010,3(20):28-31.]

[13]Ecma International.Ecma office open XML file formats standardfinal draft[EB/OL].http://www.ecma-international.org/news/TC45_current_work/TC45-2006-50_final_draft.htm,2006.

[14]W3C.XML schema[EB/OL].http://www.w3.org/XML/Schema,2005.

[15]LIU Dan,WANG Hongwei,XIONG Naixue,et al.A structured description approach for emergency preparedness based on open XML [C].Nanjing:Proc of the Information Science and Engineering,2009:762-765.

[16]State Council(China).National preparedness system for public emergency [EB/OL].http://www.gov.cn/yjgl/2005-08/31/content_27872.htm,2006(in Chinese).[国务院.国家突发公共事件总体应急预案 [EB/OL].http://www.gov.cn/yjgl/2005-08/31/content_27872.htm,2006.]

猜你喜欢

控件预案组件
启东市强化预案演练
无人机智能巡检在光伏电站组件诊断中的应用
核电网络安全应急预案考虑
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
关于.net控件数组的探讨
2016年版《国家自然灾害救助应急预案》解读
紧急预案
风起新一代光伏组件膜层:SSG纳米自清洁膜层
就这样玩会VBA中常见的自定义控件