2. 中国气象局, 北京 100081;
3. 北京市观象台, 北京 100089
2. China Meteorological Administration, Beijing 100081;
3. Beijing Weather Observatory, Beijing 100089
为满足2008年北京奥运会、残奥会气象服务要求, 中国气象局北京奥运气象服务中心以及各技术支持中心 (国家气象中心、国家气候中心、国家卫星气象中心、中国气象科学研究院等单位)、奥运会各协办城市气象局都在各自常规业务产品的基础上提供了专项气象服务数据或原始产品[1-5]。为了使用户更快捷地获取所需的气象服务信息, 更方便地使用气象数据, 有必要进一步对上述专项气象数据及原始产品进行加工处理, 生成图文并茂、更细致的奥运气象服务产品, 最终提供给政府及奥组委、奥运会各场馆、各国参赛队、国内外媒体和社会公众。
为此, 北京奥运气象服务中心 (BOMSC) 联合国家气象信息中心承担起开发专用于奥运气象预报服务的奥运业务预报产品制作平台的任务。在这个平台内部, 实现对原始奥运气象业务产品的收集、重新组织、再加工, 直至分发产品到最终用户的所有功能。
针对此需求, BOMSC利用TeX[6-9]和模版设计方法实现一个北京奥运气象服务产品制作系统。该系统根据各种服务产品模版, 按时生成各类气象服务专报、预报、警报等气象服务产品, 并通过专有线路发送到奥运相关部门。这一系统在奥运赛事的准备、预演、召开等阶段发挥关键作用。基于该系统建立起的2008奥运气象服务业务预报产品加工和分发流程, 成为保障高质量奥运气象服务链条上必不可少的一个重要环节。
本文提及的北京奥运气象服务产品主要指各类奥运气象服务专报、通报、警报等服务产品, 其以PDF[10]文档形式提供, 便于信息的快速浏览、传输、传真。
1 业务需求北京奥运气象服务产品制作系统是奥运气象信息服务系统 (OMIS, Olympic Meteorology Informa-tion Service System) 的核心分系统之一。作为与奥运相关的气象信息类服务系统, 在业务需求上至少要满足高稳定性、流程自动化、高灵活性。也正是上述关键需求对本系统设计产生重要影响, 使技术方案的选择摒弃以往普遍采用的利用流行文本编辑工具如Microsoft Word手工产生气象预报服务产品的做法, 采用了全新技术策略。
1.1 稳定性OMIS作为气象部门与北京奥运会重要部门的关键信息通道之一, 一方面与气象业务系统对接, 实时接收北京及协办城市天气实况和预报产品报文, 然后将报文解码入库, 在完成多信息源数据的快速组织后, 按需求依次完成奥运气象服务产品的自动生成、分发和全程质量监控; 另一方面, OMIS与奥组委赛事指挥中心 (SCC) 实现有效对接, 向SCC、主运行中心 (MOC)、奥运气象网站 (www.bjweather.cn)、INFO2008系统实时分发不同格式的服务产品, 形成满足奥运需求的气象服务产品服务支持能力。可以说, OMIS是奥运气象信息发布的数据源核心。
OMIS运行状态将对赛事保障、部门服务、方案决策产生直接影响。例如, INFO2008系统作为在奥运专网范围内对奥林匹克大家庭 (运动员、官员、媒体记者) 提供即时赛事信息、运动员背景信息、奥运新闻和天气等公共信息的信息系统, 其信息发布的及时准确率将直接影响联入奥运专网各部门相关工作。因此, 系统的稳定性与高可用性成为奥运气象信息及时准确性的关键保证。稳定性需求对OMIS的设计、运行维护都提出明确要求, 要求技术架构必须确保准确、及时、完整、圆满地提供每日气象信息服务产品。而北京奥运气象服务产品制作分系统作为OMIS的核心, 负责实时生成产品, 其运行质量必然直接决定着未来服务的质量, 稳定性也必然成为第一要求。
1.2 流程自动化产生的服务产品涉及的接口部门数量客观上要求数据接收、解码入库、生成、分发等项工作必须自动化完成, 以保证奥运气象信息的时效, 所有的北京奥运气象服务产品要按照预先制定的节目表定时自动化产生。为确保系统正常运转, 系统还需有效监视由报文数据解码程序、奥运气象信息数据入库和奥运气象服务产品分发程序组成的整个奥运气象产品数据自动化服务流程, 重点完成奥运期间奥运气象服务相关省市上报数据的接收、入库及针对奥组委等部门的气象预报、专报等服务产品发送。
1.3 灵活性除了对系统稳定性、安全性提出高质量要求外, 应对紧迫性需求的高度灵活性也是一项重要需求。需求应对灵活性主要反映系统遇到临时性紧迫需求情况下的快速反应、适应能力, 对系统方案的直接要求为简洁且易于维护, 减少不必要的中间环节以保证架构本身灵活性。此外, 针对需求的灵活性在奥运业务中还重点体现在两个方面:一方面, 产品制作分系统要求能够根据不同时间、针对不同用户生成不同的服务产品。每类服务产品在同一天不同时段会产生内容迥异的产品, 但同一个时间段的服务产品在不同日期要显示的内容框架相同。这就要求服务产品制作系统需要实现灵活配置功能来保证不同时段、不同用户的灵活需求, 产品可定制; 另一方面, 系统自2007年开始设计至2008年奥运会期间正式服务, 时间跨度大, 服务时间长, 需求变更过程多 (如奥运开幕前1周仍有新需求出现), 并在奥运会召开前专门为其他赛事 (如“好运北京") 和演练任务提供服务, 产品样式需求变更多样且要求快速应对, 快速调整的同时还须保证高可靠性。因此, 采用模版方法成为设计中重点采用的关键解决方案。
此外, 作为奥运气象保障系统, 在尊重知识产权方面有严格要求, 尤其注重软件版权问题。
2 系统结构设计 2.1 系统结构针对上面的需求分析, 奥运气象信息服务系统采用的系统结构设计如图 1所示。图 1中OMIS系统的粗虚线框部分表示服务产品制作系统在整个奥运气象信息服务系统中的核心定位。产品制作系统的数据入口是接收奥运气象服务相关省市通过奥运专用网络传输的加密探测数据和原始产品; 产品制作系统的数据出口是各类按照奥运需求定制的产品文档。这些产品放在发送目录, 按照发送节目表将各类气象警报、通报、专报等服务产品发送、传真到奥组委等用户部门。为确保系统有效运转, 服务产品制作系统的各运行环节要实时监控, 及时反映产品生成情况。
|   | |
| 图 1. 奥运气象信息服务系统概念模型 Fig 1. Concept model of the Olympic Meteorology Information Service System | |
2.2 服务产品生成技术与选择
稳定性与灵活性兼顾是研制服务产品制作系统的难点之一, 同时系统还要考虑可维护性、平台兼容性、知识产权等方面需求, 因此服务产品生成技术框架的选择对系统功能、性能具有关键性影响。本文突破常见的“Word转换PDF”的技术思路, 提出基于TeX技术的框架模型 (如图 2a所示)。与之对应, 图 2b列出基于Microsoft Word的技术框架模型。
|   | |
| 图 2. 服务产品生成技术框架 (a) 基于TeX技术框架, (b) 基于Word技术框架 Fig 2. Technological framework for product generation (a) framework based on TeX, (b) framework based on Word | |
本文关键技术设计的一个重要特色就是引入TeX技术。TeX作为优秀的电子编辑系统, 提供了一套功能强大而灵活的排版语言, 包含超过900条的基本排版指令, 并能保障良好的排版、打印输出效果, 尤其适于排版文章、报告、书籍。这是截至目前国内气象业务系统首次使用TeX技术, 同时在国内外奥运相关气象服务系统中也是首次应用。本文之所以采用TeX作为关键技术, 与其技术特点密切相关。
TeX技术的引入除了可以有效解决Linux下PDF文档生成问题外, 还可以满足系统的稳定、开放和知识产权上的严格要求。因此, 基于TeX的技术框架相比基于Microsoft Word的技术框架在整体上更具优势。表 1是两种技术手段的对比分析。
|   | 表 1 基于TeX与Word两种技术框架对比分析 Table 1 Comparison for two different kinds of framework based on TeX and Word | 
采用TeX作为关键技术的气象服务产品生成系统, 具备如下主要技术优势:
•满足Linux下文档生成需要
TeX系统的输出是与设备无关的DVI (DeVic Independent) 文件, Linux环境条件下DVI文件可转换为PDF和PS格式, 满足系统生成的文档格式需求。
•保证高质量的文档输出效果
TeX遵循传统的排版规则, 以排版质量为最重要的目标。尤其适用于排版逻辑结构严谨的文档, 奥运气象服务产品文档形式严谨, 内容确定, 正好符合此类型要求。
•保障系统的稳定性和安全性
对稳定性的要求体现在多个方面, 包括内核、编译程序、向下兼容能力、不同版本显示差异性等。TeX系统内核十分稳定, 并且TeX不同版本之间输出效果不存在任何变化。稳定性还体现在TeX系统极少崩溃, 可以处理任意大小的文件。
截止目前TeX尚未发现系统本身漏洞, 也未发现任何宏包含有病毒。即使出现系统漏洞情况, 由于TeX是纯文本文件, 造成源文件损坏的风险很小。这也是TeX与Microsoft Word相比较在稳定性和防病毒攻击上具有较强优势之处。
•良好扩展性和跨平台性
TeX的宏命令编程机制, 可以保证其系统自身良好的扩展能力。例如, 目前Linux上集成的La-TeX[11], 就是在TeX提供的宏功能上进行二次开发产生的排版系统。从系统扩展角度看, LaTeX即用TeX宏语言写成的一个“TeX宏功能包"。TeX引入一个宏包, 可以在原有基础上增加新的功能, 使其排版效果得到加强。这就为产品制作分系统提供了更多的扩展性。
另外, TeX具备很好的Web和图像整合能力[12-14], TeX编译工具在Windows, Linux等操作系统上都能实现, 具备良好的跨系统性。
•无版权问题
TeX为免费软件, 源程序免费使用。Linux环境条件下也已提供了多个TeX免费软件。以生成奥运气象服务产品PDF文件为例, LaTeX可以直接输出PDF, PS或DVI格式文件, 一步即可完成。
此外, TeX除可排版英文文本外还可以排版德文、俄文、中文等多种语言, 恰好适合于奥运气象服务产品多国语言输出的要求。
针对上述对比分析, 产品制作分系统最终选取以下设计策略:技术方案上采用TeX、数据库和模版共同结合方式生成服务产品。其中, 基于TeX技术并利用Linux环境条件下的TeX相关工具来满足服务产品生成过程中的稳定性、安全性需求; 通过开放性关系数据库来确保系统的开放性、稳定性和自动化流程; 通过TeX语言编制的模版并辅以文档生成程序动态生成新的奥运气象服务产品。
此技术策略优势在于流程短, 中间环节少, 部署方便, 灵活度高。
3 系统实现 3.1 使用模版提供灵活的产品定制输出北京奥运气象服务产品制作系统需要先后为“好运北京"、奥运会、残奥会及赛事前各类演练任务提供各种预报服务产品。这些产品种类繁多且时间跨度长 (约2年), 如果每个产品单独人工干预制作, 将无法应对需求变更、模版调整、时效提高等风险要求。通过对各赛事相关产品分析, 发现不同赛事的同类预报产品间存在一定的共性内容, 可以通过模版方法来提高产品定制的灵活性。
采用模版就是为了保障稳定性的同时不降低系统灵活性, 便于应对可变需求和减少维护成本。首先, 模版实现了产品设计与应用程序之间的分离, 即实现了获取数据与显示数据的分离。其次, 便于系统设计分工和维护, 利于良好的分工协作。
模版中分两部分内容:固定部分和可变部分。固定部分通常是各类标题、标注及图片等, 其在模版中的显示与最终生成产品相比, 显示内容和样式完全一致。可变部分则是具体气象预报信息、天气图标、日期、产品序号、各赛事对应标志图片等。可变部分通常使用特定的标签标注开始和结束位置, 标签内的变量由未来模版分析程序动态替换为最终产品内容。因此, 可变部分在模版中的显示与最终生成产品相比, 显示内容和样式会存在很大不同。
所有模版用TeX语言编写, 其中动态内容统一使用带特殊标签的变量代替。在实时生成气象服务产品时模版会根据数据库中内容动态替代变量内容, 据此得到最终PDF文档产品。
3.2 以数据库作为底层数据支撑本系统底层采用MySQL[15-16]数据库, 分为元数据表、配置表 (区域表、场馆表、站号表、天气与警报图标表)、实况表、预报表 (旬报、月报、区域3d逐3h预报、区域3d逐12h预报、区域警报、开闭幕式场馆逐时预报、特殊赛事场馆逐时预报、多轨道预报、交通干线预报)、最终产品表等几大数据集① 。
①中国气象局北京奥运气象服务中心.OMIS系统数据库设计说明书.2007.
数据库中表结构的划分主要是依据报文分类, 每类报文 (实况报、旬报、月报、区域3d逐3h预报、区域3d逐12h预报、区域警报、开闭幕式场馆逐时预报、特殊赛事场馆逐时预报、多轨道预报、交通干线预报) 都会有一张数据表专门存储, 并以要素级别存储报文内的预报信息。在后期加工处理过程中, 制作分系统对这些信息进行有效整合后, 生成最终面向用户的产品。
3.3 自动化生成产品环节奥运气象服务产品生成主要依赖两部分数据:一部分是TeX模版, 其定义了产品的显示样式; 另一部分是底层MySQL数据库中存储的预报报文数据, 其决定了产品内容的正确性。在OMIS系统内部, 基于本方法开发的文档加工处理程序DocEx-port首先读取某个模版, 然后在实时生成气象服务产品过程中根据数据库中内容动态替代变量内容, 产生中间TeX实例文件, 再由该实例TeX文件编译生成PDF文档产品。
自动化生成产品环节在具体业务实现过程中, 除充分考虑稳定性保障外, 还在时效性、多语言及赛事支持方面对技术方案进一步优化。例如, 为确保产品生成时效要求, 生成环节采取如下3项技术策略:
•产品生成环节不进行数据校验工作, 该工作前置至之前环节 (即报文解析及入MySQL数据库) 完成。
•产品制作分系统内部核心的文档加工处理程序DocExport采用C++ STL[17-19]编写, 并通过编译优化提高处理效率。
•针对不同服务产品选择不同的处理流程。对于专报、通报等日常规律性服务产品, 按照报文接收、解析、入库、定时生成、发送的正常流程进行。而对于突发性强同时又强调其特殊时效性要求的警报类产品, 采用“即到即发"策略, 即直接读取、解析上传的报文信息, 依据警报模版快速生成警报产品, 直接送至发送目录。
另外, 为满足多语言及赛事支持要求, 生成环节还采用模版与程序分离的设计策略, 使文档加工处理程序不需任何改动, 依靠增加中、英文模版和设计不同赛事各自模版, 即可生成对应服务产品。据此, 制作分系统先后为奥运演练、“好运北京"赛事、奥运会、残奥会提供中、英文产品服务。
图 3是制作分系统针对北京奥运会赛事提供的服务产品示例。其中, 图 3a为中文版产品样例, 图 3b为英文版产品样例。
|   | |
| 图 3. 奥运气象服务产品示例 (a) 中文界面, (b) 英文界面 Fig 3. An example of the service product (a) product in Chinese, (b) product in English | |
4 小结
本文利用TeX技术解决了奥运气象服务中对系统稳定性与高质量产品输出要求的技术难点, 利用数据库存储和产品模版提供灵活的产品定制输出。截至目前, TeX技术是首次在国内气象业务系统中使用, 在国内外奥运相关气象服务系统中也是首次应用。文中对基于TeX的技术框架相比基于Microsoft Word的技术框架也进行技术对比分析。系统在奥运期间服务实践也证明, 本文提出的模板设计和程序设计相互独立的设计思路以及TeX技术的引入, 对于确保产品稳定生成、流程顺利运行起到关键作用, 整个制作系统在奥运服务保障期间稳定可靠, 操作方便, 表现出了良好的工作状态。
通过项目建设形成的服务产品模版、服务产品生成系统和业务流程, 在2008年奥运会、残奥会气象服务期间每天自动处理的气象原始数据有数十类, 产生的十余类产品约400个文件, 每日的服务产品包含数据项超过60000个。系统成为连接中国气象局内部业务系统与重点用户和社会公众的桥梁, 产生显著的社会效益。
致谢 本文工作得到北京奥运气象服务中心王玉彬、季崇萍、杨波、刘国宏、刘珂等的大力协助和支持, 在此表示感谢。| [1] | 叶殿秀, 陈峪, 张强, 等. 北京奥运期间极端天气气候事件背景分析. 气象, 2004, 30, (8): 31–35. | 
| [2] | 李庆祥, 朱燕君, 熊安元. 北京等6城市奥运期间不利天气的概率统计. 应用气象学报, 2006, 17, (增刊): 42–47. | 
| [3] | 杨元琴, 王继志, 侯青, 等. 北京夏季空气质量的气象指数预报. 应用气象学报, 2009, 20, (6): 649–655. | 
| [4] | 张德山, 丁德平, 穆启占, 等. 北京奥运交通路段精细预报. 应用气象学报, 2009, 20, (3): 380–384. | 
| [5] | 卢娟, 唐亚平, 孙丽, 等. 2008年北京奥运会沈阳极端天气事件气候背景分析. 气象与环境学报, 2006, 22, (5): 10–13. | 
| [6] | Donald E Knuth.The TeXbook (Computers & Typesetting).Reading, Massachusetts:Addision-Wesley, 1984. | 
| [7] | Frank Mittelbaeh, Michel Gooasens, Johannes Braams, et al.LaTeX Companion, Second Edition (Tools and Techniques for Computer Typesetting).Boston, Massachusetts:AddisonWesley Pearson Education, 2004. | 
| [8] | Leslie Lamport, LATEX:A Document Preparation System, Second Edition. Reading, MA: Addison-Wesley Publishing Company, 1994. | 
| [9] | Helmut Kopka, Patrick Daly.A Guide to LATEX, Fourth Edition, Reading, MA:Addison-Wesley Publishing Company, 2004. | 
| [10] | Adobe Systems Incorporated.PDF Reference:Adobe Portable Document Format Version 1.4.New York:Addison-Wesley, 2001. | 
| [11] | Tobias Oetiker, Hubert Part1, Irene Hyna, et al.The Not So Short Introduction to LaTeX2e (lshort), http://www.ctan.org/tex-arehive/info/lshort/english/lshort.pdf.2004. | 
| [12] | Keith Reekdahl.Using Imported Graphics in LATEX and pdfLATEX, http://mirror, pacific, net.au/CTAN/info/epslatex/english/epslatex.pdf.2006. | 
| [13] | Michel Goossens, Sebastian Rahtz, Frank Mittelbach.LaTeX Web Companion, Integrating TeX, HTML, and XML Reading, Massachusetts:addison-wesley, 1999. | 
| [14] | Michel Goossens, Sebastian Rahtz, Frank Mittelbach, The LATEX Graphics Companion, Reading, MA:Addison-Wesley Publishing Company, 1997. | 
| [15] | 范斯瓦尼. MysQL完全手册. 徐小青, 路晓村, 译.北京: 电子工业出版社, 2004. | 
| [16] | 金旭军, 苗晓辉. MySQL:创建用户接口. 北京: 人民邮电出版社, 2008. | 
| [17] | Stanley B Lippman, Barbara E Moo, Josee Lajoie, C++Primer, Fourth Edition. New York: Addison-Wesley Professional, 2005. | 
| [18] | Nicolai M Josuttis, The C++Standard Library:A Tutorial and Reference (Hardcover). New York: Addison-Wesley Professional, 1999. | 
| [19] | Scott Meyers, Scott Meyers Effective STL. New York: Addison-Wesley Professional, 2001. | 
 2010, 21 (3): 372-378
 2010, 21 (3): 372-378
			 
  

