最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于智能适配器的气象数据入库通用模型

IT圈 admin 38浏览 0评论

2024年3月27日发(作者:苍妃)

第37卷 

第24期 

、,0lI37 

计算机工程 

2011年12月 

December 201 l 

No.24 

Computer Engineering 

软件技术与数据库・ 文章编号:1o0o_3428(2o11)24__o042_ 3 文献标识码:A 中圈分类号:TP311・138 

基于智能适配器的气象数据入库通用模型 

高峰 ,冯明农 ,王鹏 ,喻雯 

(1.国家气象信息中心,北京100081;2.北京航空航天大学计算机学院,北京100191) 

摘要:针对气象数据入库工作量较大的问题,提出一种基于智能适配器的气象数据入库通用模型。将可扩展标志语言作为元数据表示方 

法,利用JAXB技术读取和写入元数据。使用脚本语言处理适配器的规则配置问题,提高气象数据的智能性。基于该模型,构建气象数据 

通用入库系统。运行结果表明,该系统具有高度灵活性和可扩展性。 

关麓词:智能适配器;通用模型;数据入库;元数据;可扩展标志语言 

Common Model 0f Meteorological Data Loading 

Based 0n Intelligent Adapter 

GAO Feng ,FENG Ming・nong ,WANG Peng ,YU Wen 

(1.National Meteorological Information Center,Beijing 100081,China; 

2.School ofComputer Science and Engineering,Beihang University,Beijing 100091,China) 

[Abstract]Aiming at the problem hatt word load ofmeteorological data loading is very heavy,this paper presents a common model ofdata loading 

based on the intelligent adapter.eXtensible Markup Language(XML)and Java Architecture for XML Binding(JAXB)are adopted for metadata 

makeup and input/output in the model,and the scripting language is used to deploy the rules configuration of intelligent adapter

It develops the 

meteorological data loading system based on the common mode1.Operation result indicates that the system has highly flexibility and scalability 

features. 

[Key words]intelligent adapter;common model;data loading;metadata;eXtensible Markup Language(XML) 

D0I:10.39690.issn.1000—3428.2011.24.014 

1概述 

气象数据是开展天气预报、气候预测、科学研究、减灾 

数据目标是数据最终存储位置,包括数据库、文件系统等。 

数据处理是数据从数据源到数据目标的处理过程,包括对数 

据校正、运算、分解、合并、转换等。在数据源和数据目标 

防灾和公共服务等的基础。能否拥有丰富、全面和权威的气 

象资料直接关系到各项预报预测的准确率,减灾防灾的成效 

和服务的质量。 

基本确定的情况下,若要建立气象数据通用入库模型,则需 

要重点研究数据处理。数据处理一般由元数据、智能适配器、 

近年来,随着全国综合观测系统的建设和实施,新增了 

多种观(探)测项目,使得观测网点更加密集,观测的内容更 

加丰富。新增的观(探)测项目涉及到常规气象观测、大气特 

数据流程引擎和任务调度等组件组成,其核心部件是以数据 

流程弓l擎调度的智能适配器。在入库通用模型中,数据和处 

理信息需要用一定的数据模型进行描述,经过分析和对比, 

本文选择元数据作为底层的数据模型,用于描述气象数据的 

来源、处理和目标;元数据可以描述气象数据的来源、读取 

规则、处理规则、写入规则以及存储结构。增加一个气象数 

种观测、生态观测等多个领域。另外,随着部门间资料共享 

和交换的发展,相关部门和领域的资料也通过交换、汇交、 

专线传输等方式得到收集。 

新增资料由于有不同的格式和处理方法,通常一类新数 

据从开始收集到提供服务需要经过开发、测试等环节,周期 

较长。 

据产品,只需要增加一组元数据,通用的入库模型即可解释 

气象数据的入库过程。元数据的通用性和灵活性可以为气象 

数据提供统一处理的数据模型。数据入库模型的通用性主要 

因此,如何快速对这些新增资料进行处理和存储管理, 

体现在它能够处理各种各样的数据源,同时能匹配不同的存 

使其能尽快得到存储和应用成为技术的难点和各部门关注的 

焦点,也成为气象资料存储管理系统的首要任务。气象数据, 

特别是针对新增数据的通用入库模型的建立显得尤为重要。 

本文从提高开发与运行效率出发,应用智能适配器技术,设 

计了适用于新增数据处理的入库模型。该模型的应用将为气 

象数据库系统的发展提供一条建设发展的有效途径。 

储目标,但是在实际过程中没有这么简单,因为数据源和目 

标可能是异构的甚至完全不同的2个内容。在通用模型中, 

通过适配器实现各种复杂的处理模式,在整个设计体系中, 

最复杂最需要演化的就是适配器。除了各种适配器,还需要 

个数据流程引擎调用适配器。数据流程引擎不仅能感知适 

配器的处理过程,同时也给适配器传递数据信息。因此,数 

作者简介:高峰(1971一),女,研究员,主研方向:数据库技术, 

气象数据管理;冯明农,高级工程师;王

喻雯,工程师 

E—mail:gaof@cma・gov・cn 

鹏,助理工程师、硕士; 

2入库通用模型的建立 

基于对气象数据入库过程的分析,可以将气象数据入库 

抽象为由数据源、数据目标和数据处理构成的通用数据管理 

模型,如图1所示。数据源包括文本、二进制、图像等数据。 

收稿日期:2011-07一Ol 

第37卷第24期 高峰,冯明农,王鹏,等:基于智能适配器的气象数据入库通用模型 

够应付适配器在处理过程中出现的异常。 

43 

据流程引擎是一个中央管控系统,既能够使用适配器,又能 

数据处理 

—————— 

l 数据流程 l .---—-----.---__J 

I 引擎 l ———— 

任 

务 l 智能 l 

调 l度  适配器 l 

lI 元数据 I l 

图1气象数据入库通用模型架构 

文件 

由于多数气象数据的入库都需要自动完成,因此任务调 

度是通用模型架构必不可少的组件。任务调度模块从元数据 

库中读取数据生命周期元数据中的相关配置,调用数据管理 

系统中的相关接口,通过任务控制模块和任务处理模块完成 

各项处理工作。任务控制模块进行任务控制:读系统管理信 

息和配置,并按照配置规则定时产生普通数据任务和数据校 

验任务,调用多个任务处理进程处理任务。任务处理模块处 

理任务,调用数据管理平台提供的外部接口,进行采集、析 

取、入库等操作,这期间读取系统配置决定如何抓取、析取, 

并把处理进度情况写入系统日志。 

3关键技术 

3.1可扩展标志语言 

可扩展标志语言(eXtensible Markup Language,XML)首 

次出现于1996年,并于1998年成为W3C的推荐标准。它允 

许用户自定义标记。XML标准出现后,由于其具有可扩展 

性、自描述性,使XML日益成为数据交换的标准。由于XML 

具有可扩展性,允许使用者自定义标记,因此成为标准制订 

者的有力工具,人们利用XML定义各种标准。 

在气象数据入库系统中需要用元数据进行描述的信息包 

括数据源格式、数据存储结构、适配器信息、适配器的规则 

配置、调度信息。如果采用数据库或者文本文件进行元数据 

的定义,则无法适应业务的复杂度,而且会让系统臃肿且可 

维护性差,无法保证系统的开放性和可扩展性。基于以上考 

虑,系统选择XML作为元数据信息的描述格式。此外,和 

XML技术相匹配的XML Schema验证技术,确保了数据的一 

致性,从技术上保障了数据标准的执行力度。 

3.2 JAxB技术 

气象数据入库系统中大量使用了XML文档。目前,在 

Java中处理XML数据的常规方法有文档对象模型(Document 

Object Model,DOM)、XML简单API(Simple API for XML, 

SAX)、JAXB(Java Architecture ofr XML Binding)等。其中, 

SAX使用起来很麻烦,不能修改XML数据;而DOM处理 

大文档速度非常慢,易用性和SAX差不多。 

实际上,无论是SAX还是DOM都不是专门为Java准备 

的,它们都是访问XML文档的统一底层接13,与语言无关。 

而SUN公司提供的JAXB的特点在于能将用Schema定义好 

的XML文档直接映射为Java对象,提供简单、快速的数据 

操作方式 J。 

它是一种专门处理XML和对象映射的中间件,容易将 

XML数据转换成程序使用的对象,而且将对象处理成XML 

也很方便。使用JAXB访问XML中的元素、属性,只要利 

用相应对象上的一系列getter和setter方法。通过unmarshal 

方法将XML文件的数据读入对象,通过marshal方法可将对 

象的数据写进XML文件,通过validate方法可验证XML文 

件是否符合Schema的约束。 

使用JAXB的优势主要体现在以下3个方面 : 

(1)简单易用:JAXB技术中XML绑定的Java框架提供 

了一种简单而且方便的方法映射XML模型到Java类,所 

以,开发人员不用深入了解XML就可以在Java程序中处理 

XML数据。 

(2)易于维护:当产品需要更新,或是数据模型需要改变 

时,只需要重新定义Schema,然后让JAXB重新生成对XML 

文档进行操纵的类,使应用程序具有很好的维护性。 

(3)性能较好:JAXB在运行时在多数时间都是直接操纵 

内存中的Java对象,只有在读取和存储文件时才会与XML 

文件进行I/O操作。 

3.3 Velocity模板语言 

Velocity是一个基于Java的模板引擎(template engine)。 

它允许任何人仅简单地使用模板语言(template language) ̄l用 

由Java代码定义的对象。Velocity是为了提供一种最简单的、 

最容易的、最简洁的方法展现Web页面中的动态内容。即使 

是一个只有很少的编程经验,甚至是没有编程经验的页面开 

发人员也能够很快掌握Velocity展现页面的动态内容。 

在气象数据入库通用模型设计中,使用模板语言的特性 

屏蔽各种数据库的差异,使用模板语言写出符合当前数据库 

的插入、删除等语句,只需要在引用时调用即可,而且可以 

动态添加用于支持不同的数据库。 

3.4脚本语言 

脚本语言是一种解释性语言,它不需要编译,在运行程 

序时才将其翻译成机器语言。脚本引擎负责将运行其上的解 

释性语言转换为更底层的汇编语言,没有脚本引擎,脚本就 

无法被运行。 

JSR223定义一个统一的规范,使Java应用程序可以通 

过一套固定的接13与各种脚本引擎交互,Java SE 6引入了对 

JSR(Java Specification Request)223的支持,从而达到在Java 

平台上调用各种脚本语言的目的 J。javax.script包定义了这 

些接口,即Java脚本编程API。Java脚本API的目标与 

Apache项目BSF(Bean Script Framework)类似,通过它Java 

应用程序就能利用虚拟机调用各种脚本,同时脚本语言也能 

访问应用程序中的Java对象和方法。Java脚本API是连通 

Java平台和脚本语言的桥梁。通过Java脚本API使各种脚本 

语言能够直接利用现有的各类Java库,节省了开发成本,缩 

短了开发周期。此外,把一些复杂异变的业务逻辑交给脚本 

语言处理,提高开发效率 J。 

在气象数据入库系统中,用脚本语言实现对各类数据的 

处理,利用脚本语言的技术能大幅提高气象数据的智能性。 

计算机工程 2011年12月20日 

4系统设计与实现 

气象数据通用入库系统核心部件是数据流程引擎调度智 

能适配器,并以元数据为数据传递转换和配置为基础。技术 

实现上,选择XML作为元数据的表示方法。元数据的读取 

和写入过程采用JAXB技术。对于适配器的规则问题采用脚 

本语言进行处理,以达到智能化目的。对于写入不同的数据 

库则采用模板语言的技术。任务调度则使用表的设计模型保 

存任务的定时信息,利用开源组件Quartz完成时间调度服务。 

数据流程引擎是利用了Java的反射机制完成的适配器访问管 

理引擎。 

4.1元数据 

在通用入库模型中采用元数据对数据进行描述,元数据 

由数据元数据、流程元数据2个部分组成。数据元数据用于 

描述数据目标的表结构,例如数据字段、名称、类型以及表 

名等主要内容。流程元数据用于描述数据流程引擎的行为, 

在整个数据流程引擎的行为过程中,流程元数据要告诉数据 

流程引擎当前数据产品的处理流程以及处理方式,譬如说读 

取哪类文件、是否需要合成字段、是否需要计算和删减等内 

容。为便于对元数据的格式进行验证,同时考虑到JAXB的 

技术需要用XML的Schema进行对象和XML之间的关联, 

本系统采用XML的Schema对元数据的格式进行描述。 

数据元数据最主要的作用是通知适配器各数据源将存储 

到哪个数据表中。数据类元数据的Schema包含了属性、字 

段、主键、外键、索引等信息,其中,唯一索引或主键是帮 

助流程引擎判断是否需要启动更新处理的操作行为。 

流程元数据是用于描述数据处理流程的行为信息,主要 

包括“从什么地方读?怎么读文件?怎么写文件?写到什么 

地方去?”等内容。设计的Schema分类包括工作(Job)、步 

骤(Step)、适配器(Tasklet、Reader、Processor、Writer)等。其 

中,Job用于描述一个入库流程,1个步骤(metastep)包含1个任 

务节点(metatasklet),1个任务节点包含阅读器(metareader)、 

处理器(metaprocessor)、写入器(metawriter)3个元素。对于专 

用适配器采用Tasklet,一旦有了Tasklet的适配器就不再配置 

Reader、Processor和Writer了。在阅读器中,path属性用于 

约定读取路径,metaregex元素设定的正则表达式用于文件名 

的处理,一方面设置文件名的动态读取方式,同时用于提取 

出文件名中包含的信息,metavalidator进行格式验证, 

metaruler负责告诉阅读器如何读取内容。处理器主要用于将 

已读取的数据进行数据处理变换,其主要包含2个内容, 

metarule告诉处理适配器如何处理内容,metavalidator主要用 

于验证处理的内容是否符合要求。写入器通过path和name 

配置,实现写入目录和文件名的智能匹配处理。同时通过 

metavalidator对写入操作进行验证。 

4.2智能适露器 

智能适配器由按照数据流的某一方向串联不同的信息组 

件所组成。在智能适配器中,将数据源抽象为阅读适配器 

(Reader),将目标(destination)抽象为写入适配器(Writer),将 

处理抽象为处理适配器(Processor),其逻辑结构如图2所示。 

其中,阅读适配器可以根据不同的数据来源,分为读取文本 

文件接口、读取二进制文件的接口、读取数据库的接I:1等; 

处理适配器根据业务逻辑,分为数据验证接口、数据运算接 

IZl、数据分解接171、数据合并接口、数据转换接口等;写入 

适配器可以根据不同的数据目标,分为写文本文件接IZl、写 

二进制文件的接口、写数据库的接I:1等。 

(a)阅读适配器 

(处理适配器) 

l  l

Merge Calc 

处理适配器 处理适配器 

(b)处理适配器 

(写入适配器) 

‘ 

I l l 

File Bm DB 

写入适配器 写入适配器 写入适配器 

(c)写入适配器 

圈2智能适配器的逻辑结构 

智能适配器至少由1个阅读器和1个写入器组成。为了 

简化系统复杂性,将信息输入源与信息输出源限定为一对一 

的关系,每个组件可以包含零个或多个信息通道,且每一个 

节点均可以自由组合,大大提高了数据入库的灵活性。适配 

器组件之间的关系与管理由数据流程引擎控制。 

智能适配器的运行机理是:以数据流程为主线,以配置 

代替编程,以功能组件代替整体程序方式,使系统紧凑、灵 

活和易于扩展。 

(1)通用的数据入库包含典型的抽取、转换、入库3个过 

程,Reader主要负责典型数据抽取,利用不同类型的Reader 

抽取不同的数据,利用正则表达式读取不同的文件,同时利 

用Validator验证抽取数据的有效性,利用脚本描述读取文件 

内容的方式和规则。Processor代表数据转换,利用不同类型 

的Processor进行数据转换,利用Validator验证转换数据的 

有效性,利用脚本来描述转换内容的方式和规则。Writer主 

要负责入库这个数据过程,利用Converter将原始数据转换成 

实际写入的数据类型,利用脚本描述写入文件的方式和规则, 

利用Validator验证写入数据的格式有效性。 

(2)针对处理流程中每个处理步骤,都会有相应的异常控 

制,保证一个步骤的异常不会对另一个处理步骤造成影响。 

(3)将一个处理流程封装成一个事务,使用AOP技术进 

行事务控制管理。如果某个数据流程出现异常,事务管理器 

将会对之前的处理进行回滚。 

智能适配器运行机理见图3。 

圈3智能适臣器运行机理 

(下转第49页) 

第37卷第24期 曹月芹:动态文本流中的话题线索检测算法 49 

6结束语 

Language Processing[M[.Cambridge,Massachusetts,USA:The 

本文提出一种基于语义相似度计算的话题线索检测算 

MIT Press.1999. 

法,并利用QQ群讨论组中收集的真实数据进行实验,结果 

【1l】刘群,李素建.基于 知网 的词汇语义相似度的计算If[// 

表明了本文算法的有效性,其性能优于现有的话题线索检测 

第三届汉语词汇语义学研讨会议论文集.中国台北:【出版者不 

算法,同时该算法也可应用于如聊天室等应用所产生的动态 

详】,2002. 

文本消息流数据。本文主要研究话题线索和消息之间的语义 

【12】Wang Hongning,Wang Chi,Zhai Chengxiang,et a1.Learning 

关联,下一步研究将结合消息的各种上下文信息和谈话结构 

Online Discussion Structures by Conditional Random Fields[C[# 

本身的特征,以进一步提升话题线索检测的准确性。 

Proc.ofSIGIR’11.Beijing,China:ACMPress,2011. 

[13】Wang Yi—chia,Joshi M,Cohen W et a1.Recovering Implicit 

参考文献 

Thread Structure in Newsgroup Style Conversations[C]//Proc.of 

Wang Lidian,Oard D.Context—based Message Expansion for 

ICWSM’08.Seattle,Washington,USA:[s.n.】,2008. 

Disentanglement of Interleaved Text Conversations[C]//Proc.of 

[141 Lin Chen,Yang Jiang—ruing,Cai Rui,et a1.Simultnaeously 

NAAC 09.Colorado,USA:【s.n.],2009. 

Modeling Semantics and Sturcture of Threaded Discussions:A 

[2] 

Shen Dou,Yang Qiang,Sun Jiantao,et a1.Thread Detection in 

Sparse Coding Approach and Its Applications[C]//Proc.of 

Dynamic Text Message Streams[C]//Proc.of SIGIR 06.Seattle, 

SIGIR’09.Boston,Massachusetts,USA:Is.n.】,2009. 

USA:ACM Press,2006;35—42. 

[15】Eisner M,Charniak E.You Talking to Me?A Corpus and 

【3】 

Yang Yiming.Learning Approaches for Detecting and Tracking 

Algorithm for Conversation Disentanglement[C]//Proc.of the 46th 

News Events[J[.IEEE Intelligent Systems,1999,l4(4):32—43. 

Annual Meeting on Association for Computational Linguistics. 

【4】 

洪宇,张宇,刘挺,等.话题检测与跟踪的评测及研究 

Columbus,USA:【s.n.】,2008. 

综述[JJ.中文信息学报,2007,2l(6):71—87. 

[16】Moerchen E Brinker K,Neubauer C,et a1.Any—time Clus—tering 

[5] 

Wang Le,Jia Yan,Chen Yingwen.Conversation Extraction in 

of High Frequency News Streams[Cl//Proc.of KDD’07.San Jose, 

Dynamic Text Message Stream[J[.Journal of Computers,2008, 

California,USA:【s.n.】,2007. 

3(1O):86—93. 

[17】Liu Yubao,Cai Jiarong,Yin Jina,et a1.Clustering Text Data 

【6】 

Georgiou Karvohnis M,Ioannidis Y Extracting Topics of 

Streams[J[.Journal of Computer Science and Technology,2008, 

Debate Between Users on Web Discussion Boards[C]//Proc.of 

23(1):112一I28. 

SIGMOD’10.Indianapolis,Indiana,USA:[s.n.】,2010. 

【18]Berger A,Laffe ̄y J.Information Retireval as Statistical 

[7】 

Hassan A,Qazvinian Radev D. 9 af s with the Attitnde 

Translation[C]//Proc.of SIG1R’99.Berkeley,USA:ACM Press, 

Identifying Sentences with Attitude in Online Discussions【C1,, 

1999. 

Proc.of EMNLP’10.Cambridge,Massachusetts,USA:[s.n.], 

[19l郑继明,张萍.改进的BIC说话人分割算法【J1.计算机工 

20lO. 

程,2010,36(17):240—242. 

[8] 

王君泽.基于大规模问答语料的问题检索系统[D1.武汉:华中 

【20]Jeon J,Croft W B,Lee J H.Finding Similar Questions in 

科技大学,2010. 

Large Question and Answer Archives[C]//Proc.of the 14th ACM 

【9】 

Eisner M,Chamiak E.Disentnagling Chat[J[.Computational Lin— 

International Conference on Information and Knowledge 

guistics,2010,36(3):390—409. 

Management.Bremen,Germany:[s.n.】,2005:84—90. 

【10】 

Manning C D,Schutze H.Foundations of Statistical Natural 

编辑金胡考 

(上接第44页) 

5结束语 

[3] 刘 峰,顾君忠.元数据管理应用系统的设计与实现….计算 

本文研究了智能适配器技术,并基于该技术,设计开发 

机工程,2009,35(11):29—31. 

了一套具有标准化、灵活性、易扩展的气象数据入库通用模 

[4】王岳昭,冒东奎.Java绑定XML架构的技术内涵[J].北京工业 

型。基于该通用模型,构建了包括阅读适配器、处理适配器 

大学学报,2006,32(3):263—268. 

和写入适配器的气象数据通用入库系统,减少了开发工作量, 

【5】阎丽洁.基于XML的数据处理技术的比较与研究[J1.烟台职 

提高了运行效率。基于智能适配器的气象数据入库通用模型 

业学院学报,2009,l5(2):82—86. 

不仅对气象数据的快速入库具有较强的应用价值,还可应用 

【6]毛焕宇,李天民.嵌入式脚本语言在复杂电信业务中的应用…. 

在数据备份、数据归档等业务中。 

电脑知识与技术,2007,2(10):1036—1037. 

参考文献 

【7]刘红梅.脚本语言在数据采集系统中的应用研究【JJ.电子科技, 

汪洋,徐素锦.JAXB技术的研究和应用….光盘技术,2008, 

2009,22(11):72—75. 

(12):30—31. 

[8】付文霞.脚本在面向对象实时数据库中的应用研究lJ1.科学技 

[2】 

廖黎阳,李毅.基于JAXB和ORM的XML文档的关系化存 

术与工程,2008,8(17):5024—5027. 

储与构建【JJ.兵工自动化,2009,28(1):83—85. 

编辑陆燕菲 

2024年3月27日发(作者:苍妃)

第37卷 

第24期 

、,0lI37 

计算机工程 

2011年12月 

December 201 l 

No.24 

Computer Engineering 

软件技术与数据库・ 文章编号:1o0o_3428(2o11)24__o042_ 3 文献标识码:A 中圈分类号:TP311・138 

基于智能适配器的气象数据入库通用模型 

高峰 ,冯明农 ,王鹏 ,喻雯 

(1.国家气象信息中心,北京100081;2.北京航空航天大学计算机学院,北京100191) 

摘要:针对气象数据入库工作量较大的问题,提出一种基于智能适配器的气象数据入库通用模型。将可扩展标志语言作为元数据表示方 

法,利用JAXB技术读取和写入元数据。使用脚本语言处理适配器的规则配置问题,提高气象数据的智能性。基于该模型,构建气象数据 

通用入库系统。运行结果表明,该系统具有高度灵活性和可扩展性。 

关麓词:智能适配器;通用模型;数据入库;元数据;可扩展标志语言 

Common Model 0f Meteorological Data Loading 

Based 0n Intelligent Adapter 

GAO Feng ,FENG Ming・nong ,WANG Peng ,YU Wen 

(1.National Meteorological Information Center,Beijing 100081,China; 

2.School ofComputer Science and Engineering,Beihang University,Beijing 100091,China) 

[Abstract]Aiming at the problem hatt word load ofmeteorological data loading is very heavy,this paper presents a common model ofdata loading 

based on the intelligent adapter.eXtensible Markup Language(XML)and Java Architecture for XML Binding(JAXB)are adopted for metadata 

makeup and input/output in the model,and the scripting language is used to deploy the rules configuration of intelligent adapter

It develops the 

meteorological data loading system based on the common mode1.Operation result indicates that the system has highly flexibility and scalability 

features. 

[Key words]intelligent adapter;common model;data loading;metadata;eXtensible Markup Language(XML) 

D0I:10.39690.issn.1000—3428.2011.24.014 

1概述 

气象数据是开展天气预报、气候预测、科学研究、减灾 

数据目标是数据最终存储位置,包括数据库、文件系统等。 

数据处理是数据从数据源到数据目标的处理过程,包括对数 

据校正、运算、分解、合并、转换等。在数据源和数据目标 

防灾和公共服务等的基础。能否拥有丰富、全面和权威的气 

象资料直接关系到各项预报预测的准确率,减灾防灾的成效 

和服务的质量。 

基本确定的情况下,若要建立气象数据通用入库模型,则需 

要重点研究数据处理。数据处理一般由元数据、智能适配器、 

近年来,随着全国综合观测系统的建设和实施,新增了 

多种观(探)测项目,使得观测网点更加密集,观测的内容更 

加丰富。新增的观(探)测项目涉及到常规气象观测、大气特 

数据流程引擎和任务调度等组件组成,其核心部件是以数据 

流程弓l擎调度的智能适配器。在入库通用模型中,数据和处 

理信息需要用一定的数据模型进行描述,经过分析和对比, 

本文选择元数据作为底层的数据模型,用于描述气象数据的 

来源、处理和目标;元数据可以描述气象数据的来源、读取 

规则、处理规则、写入规则以及存储结构。增加一个气象数 

种观测、生态观测等多个领域。另外,随着部门间资料共享 

和交换的发展,相关部门和领域的资料也通过交换、汇交、 

专线传输等方式得到收集。 

新增资料由于有不同的格式和处理方法,通常一类新数 

据从开始收集到提供服务需要经过开发、测试等环节,周期 

较长。 

据产品,只需要增加一组元数据,通用的入库模型即可解释 

气象数据的入库过程。元数据的通用性和灵活性可以为气象 

数据提供统一处理的数据模型。数据入库模型的通用性主要 

因此,如何快速对这些新增资料进行处理和存储管理, 

体现在它能够处理各种各样的数据源,同时能匹配不同的存 

使其能尽快得到存储和应用成为技术的难点和各部门关注的 

焦点,也成为气象资料存储管理系统的首要任务。气象数据, 

特别是针对新增数据的通用入库模型的建立显得尤为重要。 

本文从提高开发与运行效率出发,应用智能适配器技术,设 

计了适用于新增数据处理的入库模型。该模型的应用将为气 

象数据库系统的发展提供一条建设发展的有效途径。 

储目标,但是在实际过程中没有这么简单,因为数据源和目 

标可能是异构的甚至完全不同的2个内容。在通用模型中, 

通过适配器实现各种复杂的处理模式,在整个设计体系中, 

最复杂最需要演化的就是适配器。除了各种适配器,还需要 

个数据流程引擎调用适配器。数据流程引擎不仅能感知适 

配器的处理过程,同时也给适配器传递数据信息。因此,数 

作者简介:高峰(1971一),女,研究员,主研方向:数据库技术, 

气象数据管理;冯明农,高级工程师;王

喻雯,工程师 

E—mail:gaof@cma・gov・cn 

鹏,助理工程师、硕士; 

2入库通用模型的建立 

基于对气象数据入库过程的分析,可以将气象数据入库 

抽象为由数据源、数据目标和数据处理构成的通用数据管理 

模型,如图1所示。数据源包括文本、二进制、图像等数据。 

收稿日期:2011-07一Ol 

第37卷第24期 高峰,冯明农,王鹏,等:基于智能适配器的气象数据入库通用模型 

够应付适配器在处理过程中出现的异常。 

43 

据流程引擎是一个中央管控系统,既能够使用适配器,又能 

数据处理 

—————— 

l 数据流程 l .---—-----.---__J 

I 引擎 l ———— 

任 

务 l 智能 l 

调 l度  适配器 l 

lI 元数据 I l 

图1气象数据入库通用模型架构 

文件 

由于多数气象数据的入库都需要自动完成,因此任务调 

度是通用模型架构必不可少的组件。任务调度模块从元数据 

库中读取数据生命周期元数据中的相关配置,调用数据管理 

系统中的相关接口,通过任务控制模块和任务处理模块完成 

各项处理工作。任务控制模块进行任务控制:读系统管理信 

息和配置,并按照配置规则定时产生普通数据任务和数据校 

验任务,调用多个任务处理进程处理任务。任务处理模块处 

理任务,调用数据管理平台提供的外部接口,进行采集、析 

取、入库等操作,这期间读取系统配置决定如何抓取、析取, 

并把处理进度情况写入系统日志。 

3关键技术 

3.1可扩展标志语言 

可扩展标志语言(eXtensible Markup Language,XML)首 

次出现于1996年,并于1998年成为W3C的推荐标准。它允 

许用户自定义标记。XML标准出现后,由于其具有可扩展 

性、自描述性,使XML日益成为数据交换的标准。由于XML 

具有可扩展性,允许使用者自定义标记,因此成为标准制订 

者的有力工具,人们利用XML定义各种标准。 

在气象数据入库系统中需要用元数据进行描述的信息包 

括数据源格式、数据存储结构、适配器信息、适配器的规则 

配置、调度信息。如果采用数据库或者文本文件进行元数据 

的定义,则无法适应业务的复杂度,而且会让系统臃肿且可 

维护性差,无法保证系统的开放性和可扩展性。基于以上考 

虑,系统选择XML作为元数据信息的描述格式。此外,和 

XML技术相匹配的XML Schema验证技术,确保了数据的一 

致性,从技术上保障了数据标准的执行力度。 

3.2 JAxB技术 

气象数据入库系统中大量使用了XML文档。目前,在 

Java中处理XML数据的常规方法有文档对象模型(Document 

Object Model,DOM)、XML简单API(Simple API for XML, 

SAX)、JAXB(Java Architecture ofr XML Binding)等。其中, 

SAX使用起来很麻烦,不能修改XML数据;而DOM处理 

大文档速度非常慢,易用性和SAX差不多。 

实际上,无论是SAX还是DOM都不是专门为Java准备 

的,它们都是访问XML文档的统一底层接13,与语言无关。 

而SUN公司提供的JAXB的特点在于能将用Schema定义好 

的XML文档直接映射为Java对象,提供简单、快速的数据 

操作方式 J。 

它是一种专门处理XML和对象映射的中间件,容易将 

XML数据转换成程序使用的对象,而且将对象处理成XML 

也很方便。使用JAXB访问XML中的元素、属性,只要利 

用相应对象上的一系列getter和setter方法。通过unmarshal 

方法将XML文件的数据读入对象,通过marshal方法可将对 

象的数据写进XML文件,通过validate方法可验证XML文 

件是否符合Schema的约束。 

使用JAXB的优势主要体现在以下3个方面 : 

(1)简单易用:JAXB技术中XML绑定的Java框架提供 

了一种简单而且方便的方法映射XML模型到Java类,所 

以,开发人员不用深入了解XML就可以在Java程序中处理 

XML数据。 

(2)易于维护:当产品需要更新,或是数据模型需要改变 

时,只需要重新定义Schema,然后让JAXB重新生成对XML 

文档进行操纵的类,使应用程序具有很好的维护性。 

(3)性能较好:JAXB在运行时在多数时间都是直接操纵 

内存中的Java对象,只有在读取和存储文件时才会与XML 

文件进行I/O操作。 

3.3 Velocity模板语言 

Velocity是一个基于Java的模板引擎(template engine)。 

它允许任何人仅简单地使用模板语言(template language) ̄l用 

由Java代码定义的对象。Velocity是为了提供一种最简单的、 

最容易的、最简洁的方法展现Web页面中的动态内容。即使 

是一个只有很少的编程经验,甚至是没有编程经验的页面开 

发人员也能够很快掌握Velocity展现页面的动态内容。 

在气象数据入库通用模型设计中,使用模板语言的特性 

屏蔽各种数据库的差异,使用模板语言写出符合当前数据库 

的插入、删除等语句,只需要在引用时调用即可,而且可以 

动态添加用于支持不同的数据库。 

3.4脚本语言 

脚本语言是一种解释性语言,它不需要编译,在运行程 

序时才将其翻译成机器语言。脚本引擎负责将运行其上的解 

释性语言转换为更底层的汇编语言,没有脚本引擎,脚本就 

无法被运行。 

JSR223定义一个统一的规范,使Java应用程序可以通 

过一套固定的接13与各种脚本引擎交互,Java SE 6引入了对 

JSR(Java Specification Request)223的支持,从而达到在Java 

平台上调用各种脚本语言的目的 J。javax.script包定义了这 

些接口,即Java脚本编程API。Java脚本API的目标与 

Apache项目BSF(Bean Script Framework)类似,通过它Java 

应用程序就能利用虚拟机调用各种脚本,同时脚本语言也能 

访问应用程序中的Java对象和方法。Java脚本API是连通 

Java平台和脚本语言的桥梁。通过Java脚本API使各种脚本 

语言能够直接利用现有的各类Java库,节省了开发成本,缩 

短了开发周期。此外,把一些复杂异变的业务逻辑交给脚本 

语言处理,提高开发效率 J。 

在气象数据入库系统中,用脚本语言实现对各类数据的 

处理,利用脚本语言的技术能大幅提高气象数据的智能性。 

计算机工程 2011年12月20日 

4系统设计与实现 

气象数据通用入库系统核心部件是数据流程引擎调度智 

能适配器,并以元数据为数据传递转换和配置为基础。技术 

实现上,选择XML作为元数据的表示方法。元数据的读取 

和写入过程采用JAXB技术。对于适配器的规则问题采用脚 

本语言进行处理,以达到智能化目的。对于写入不同的数据 

库则采用模板语言的技术。任务调度则使用表的设计模型保 

存任务的定时信息,利用开源组件Quartz完成时间调度服务。 

数据流程引擎是利用了Java的反射机制完成的适配器访问管 

理引擎。 

4.1元数据 

在通用入库模型中采用元数据对数据进行描述,元数据 

由数据元数据、流程元数据2个部分组成。数据元数据用于 

描述数据目标的表结构,例如数据字段、名称、类型以及表 

名等主要内容。流程元数据用于描述数据流程引擎的行为, 

在整个数据流程引擎的行为过程中,流程元数据要告诉数据 

流程引擎当前数据产品的处理流程以及处理方式,譬如说读 

取哪类文件、是否需要合成字段、是否需要计算和删减等内 

容。为便于对元数据的格式进行验证,同时考虑到JAXB的 

技术需要用XML的Schema进行对象和XML之间的关联, 

本系统采用XML的Schema对元数据的格式进行描述。 

数据元数据最主要的作用是通知适配器各数据源将存储 

到哪个数据表中。数据类元数据的Schema包含了属性、字 

段、主键、外键、索引等信息,其中,唯一索引或主键是帮 

助流程引擎判断是否需要启动更新处理的操作行为。 

流程元数据是用于描述数据处理流程的行为信息,主要 

包括“从什么地方读?怎么读文件?怎么写文件?写到什么 

地方去?”等内容。设计的Schema分类包括工作(Job)、步 

骤(Step)、适配器(Tasklet、Reader、Processor、Writer)等。其 

中,Job用于描述一个入库流程,1个步骤(metastep)包含1个任 

务节点(metatasklet),1个任务节点包含阅读器(metareader)、 

处理器(metaprocessor)、写入器(metawriter)3个元素。对于专 

用适配器采用Tasklet,一旦有了Tasklet的适配器就不再配置 

Reader、Processor和Writer了。在阅读器中,path属性用于 

约定读取路径,metaregex元素设定的正则表达式用于文件名 

的处理,一方面设置文件名的动态读取方式,同时用于提取 

出文件名中包含的信息,metavalidator进行格式验证, 

metaruler负责告诉阅读器如何读取内容。处理器主要用于将 

已读取的数据进行数据处理变换,其主要包含2个内容, 

metarule告诉处理适配器如何处理内容,metavalidator主要用 

于验证处理的内容是否符合要求。写入器通过path和name 

配置,实现写入目录和文件名的智能匹配处理。同时通过 

metavalidator对写入操作进行验证。 

4.2智能适露器 

智能适配器由按照数据流的某一方向串联不同的信息组 

件所组成。在智能适配器中,将数据源抽象为阅读适配器 

(Reader),将目标(destination)抽象为写入适配器(Writer),将 

处理抽象为处理适配器(Processor),其逻辑结构如图2所示。 

其中,阅读适配器可以根据不同的数据来源,分为读取文本 

文件接口、读取二进制文件的接口、读取数据库的接I:1等; 

处理适配器根据业务逻辑,分为数据验证接口、数据运算接 

IZl、数据分解接171、数据合并接口、数据转换接口等;写入 

适配器可以根据不同的数据目标,分为写文本文件接IZl、写 

二进制文件的接口、写数据库的接I:1等。 

(a)阅读适配器 

(处理适配器) 

l  l

Merge Calc 

处理适配器 处理适配器 

(b)处理适配器 

(写入适配器) 

‘ 

I l l 

File Bm DB 

写入适配器 写入适配器 写入适配器 

(c)写入适配器 

圈2智能适配器的逻辑结构 

智能适配器至少由1个阅读器和1个写入器组成。为了 

简化系统复杂性,将信息输入源与信息输出源限定为一对一 

的关系,每个组件可以包含零个或多个信息通道,且每一个 

节点均可以自由组合,大大提高了数据入库的灵活性。适配 

器组件之间的关系与管理由数据流程引擎控制。 

智能适配器的运行机理是:以数据流程为主线,以配置 

代替编程,以功能组件代替整体程序方式,使系统紧凑、灵 

活和易于扩展。 

(1)通用的数据入库包含典型的抽取、转换、入库3个过 

程,Reader主要负责典型数据抽取,利用不同类型的Reader 

抽取不同的数据,利用正则表达式读取不同的文件,同时利 

用Validator验证抽取数据的有效性,利用脚本描述读取文件 

内容的方式和规则。Processor代表数据转换,利用不同类型 

的Processor进行数据转换,利用Validator验证转换数据的 

有效性,利用脚本来描述转换内容的方式和规则。Writer主 

要负责入库这个数据过程,利用Converter将原始数据转换成 

实际写入的数据类型,利用脚本描述写入文件的方式和规则, 

利用Validator验证写入数据的格式有效性。 

(2)针对处理流程中每个处理步骤,都会有相应的异常控 

制,保证一个步骤的异常不会对另一个处理步骤造成影响。 

(3)将一个处理流程封装成一个事务,使用AOP技术进 

行事务控制管理。如果某个数据流程出现异常,事务管理器 

将会对之前的处理进行回滚。 

智能适配器运行机理见图3。 

圈3智能适臣器运行机理 

(下转第49页) 

第37卷第24期 曹月芹:动态文本流中的话题线索检测算法 49 

6结束语 

Language Processing[M[.Cambridge,Massachusetts,USA:The 

本文提出一种基于语义相似度计算的话题线索检测算 

MIT Press.1999. 

法,并利用QQ群讨论组中收集的真实数据进行实验,结果 

【1l】刘群,李素建.基于 知网 的词汇语义相似度的计算If[// 

表明了本文算法的有效性,其性能优于现有的话题线索检测 

第三届汉语词汇语义学研讨会议论文集.中国台北:【出版者不 

算法,同时该算法也可应用于如聊天室等应用所产生的动态 

详】,2002. 

文本消息流数据。本文主要研究话题线索和消息之间的语义 

【12】Wang Hongning,Wang Chi,Zhai Chengxiang,et a1.Learning 

关联,下一步研究将结合消息的各种上下文信息和谈话结构 

Online Discussion Structures by Conditional Random Fields[C[# 

本身的特征,以进一步提升话题线索检测的准确性。 

Proc.ofSIGIR’11.Beijing,China:ACMPress,2011. 

[13】Wang Yi—chia,Joshi M,Cohen W et a1.Recovering Implicit 

参考文献 

Thread Structure in Newsgroup Style Conversations[C]//Proc.of 

Wang Lidian,Oard D.Context—based Message Expansion for 

ICWSM’08.Seattle,Washington,USA:[s.n.】,2008. 

Disentanglement of Interleaved Text Conversations[C]//Proc.of 

[141 Lin Chen,Yang Jiang—ruing,Cai Rui,et a1.Simultnaeously 

NAAC 09.Colorado,USA:【s.n.],2009. 

Modeling Semantics and Sturcture of Threaded Discussions:A 

[2] 

Shen Dou,Yang Qiang,Sun Jiantao,et a1.Thread Detection in 

Sparse Coding Approach and Its Applications[C]//Proc.of 

Dynamic Text Message Streams[C]//Proc.of SIGIR 06.Seattle, 

SIGIR’09.Boston,Massachusetts,USA:Is.n.】,2009. 

USA:ACM Press,2006;35—42. 

[15】Eisner M,Charniak E.You Talking to Me?A Corpus and 

【3】 

Yang Yiming.Learning Approaches for Detecting and Tracking 

Algorithm for Conversation Disentanglement[C]//Proc.of the 46th 

News Events[J[.IEEE Intelligent Systems,1999,l4(4):32—43. 

Annual Meeting on Association for Computational Linguistics. 

【4】 

洪宇,张宇,刘挺,等.话题检测与跟踪的评测及研究 

Columbus,USA:【s.n.】,2008. 

综述[JJ.中文信息学报,2007,2l(6):71—87. 

[16】Moerchen E Brinker K,Neubauer C,et a1.Any—time Clus—tering 

[5] 

Wang Le,Jia Yan,Chen Yingwen.Conversation Extraction in 

of High Frequency News Streams[Cl//Proc.of KDD’07.San Jose, 

Dynamic Text Message Stream[J[.Journal of Computers,2008, 

California,USA:【s.n.】,2007. 

3(1O):86—93. 

[17】Liu Yubao,Cai Jiarong,Yin Jina,et a1.Clustering Text Data 

【6】 

Georgiou Karvohnis M,Ioannidis Y Extracting Topics of 

Streams[J[.Journal of Computer Science and Technology,2008, 

Debate Between Users on Web Discussion Boards[C]//Proc.of 

23(1):112一I28. 

SIGMOD’10.Indianapolis,Indiana,USA:[s.n.】,2010. 

【18]Berger A,Laffe ̄y J.Information Retireval as Statistical 

[7】 

Hassan A,Qazvinian Radev D. 9 af s with the Attitnde 

Translation[C]//Proc.of SIG1R’99.Berkeley,USA:ACM Press, 

Identifying Sentences with Attitude in Online Discussions【C1,, 

1999. 

Proc.of EMNLP’10.Cambridge,Massachusetts,USA:[s.n.], 

[19l郑继明,张萍.改进的BIC说话人分割算法【J1.计算机工 

20lO. 

程,2010,36(17):240—242. 

[8] 

王君泽.基于大规模问答语料的问题检索系统[D1.武汉:华中 

【20]Jeon J,Croft W B,Lee J H.Finding Similar Questions in 

科技大学,2010. 

Large Question and Answer Archives[C]//Proc.of the 14th ACM 

【9】 

Eisner M,Chamiak E.Disentnagling Chat[J[.Computational Lin— 

International Conference on Information and Knowledge 

guistics,2010,36(3):390—409. 

Management.Bremen,Germany:[s.n.】,2005:84—90. 

【10】 

Manning C D,Schutze H.Foundations of Statistical Natural 

编辑金胡考 

(上接第44页) 

5结束语 

[3] 刘 峰,顾君忠.元数据管理应用系统的设计与实现….计算 

本文研究了智能适配器技术,并基于该技术,设计开发 

机工程,2009,35(11):29—31. 

了一套具有标准化、灵活性、易扩展的气象数据入库通用模 

[4】王岳昭,冒东奎.Java绑定XML架构的技术内涵[J].北京工业 

型。基于该通用模型,构建了包括阅读适配器、处理适配器 

大学学报,2006,32(3):263—268. 

和写入适配器的气象数据通用入库系统,减少了开发工作量, 

【5】阎丽洁.基于XML的数据处理技术的比较与研究[J1.烟台职 

提高了运行效率。基于智能适配器的气象数据入库通用模型 

业学院学报,2009,l5(2):82—86. 

不仅对气象数据的快速入库具有较强的应用价值,还可应用 

【6]毛焕宇,李天民.嵌入式脚本语言在复杂电信业务中的应用…. 

在数据备份、数据归档等业务中。 

电脑知识与技术,2007,2(10):1036—1037. 

参考文献 

【7]刘红梅.脚本语言在数据采集系统中的应用研究【JJ.电子科技, 

汪洋,徐素锦.JAXB技术的研究和应用….光盘技术,2008, 

2009,22(11):72—75. 

(12):30—31. 

[8】付文霞.脚本在面向对象实时数据库中的应用研究lJ1.科学技 

[2】 

廖黎阳,李毅.基于JAXB和ORM的XML文档的关系化存 

术与工程,2008,8(17):5024—5027. 

储与构建【JJ.兵工自动化,2009,28(1):83—85. 

编辑陆燕菲 

发布评论

评论列表 (0)

  1. 暂无评论