论文部分内容阅读
摘要:为研究分析了传统数据整合与交换方案优缺点和中间件技术特点基础,设计了基于中间件构架的资源调查数据整合与交换策略,给出了详细的数据交换模式和流程图;通过SOAP协议来解决消息封装的一致性问题;利用种质资源采集号解决项目间和异构系统数据整合和交换的依据,给出了基于XSLT的数据格式转换策略。课题的研究通过标准化的方法解决了种质资源调查信息孤岛问题,为决策层提供了完整、准确的数据信息,同时该研究也是农作物种质资源调查信息系统的重要组成部分。
关键词:资源调查;中间件;数据整合;数据标准
随着知识经济和计算机网络的快速发展,学科、领域间的渗透逐步加深,数据整合和共享已成为一种时代潮流。50年代以来,我国先后组织了多次农作物种质资源调查,积累了大量的种质资源基础数据。但由于种质资源调查项目实施时期、部门、计算机发展技术的不同,使得调查数据存储的系统和数据库也不尽相同,造成数据分散、冗余和表达不一致性问题。信息的相对独立性,形成了许多信息孤岛,限制了决策层获得完整、准确和及时的资源调查数据。
在分析传统数据整合方案优缺点和ESB(Enterprise Service Bus,ESB)技术特点基础上,本文设计了基于ESB构架的种质资源调查数据整合、交换平台体系结构,给出了系统数据整合与交换标准规范、数据交换模式和详细数据交换流程图;通过对数据提供统一的数据接口,采用通用的标准和规范,来获得共享通用的数据源;利用简单对象访问协议(SimpleObject Access Protocol,SOAP)来解决消息封装的一致性问题;采用XML(Extensible Markup Language)格式定义了数据交换标准规范。研究目的是采用标准化的方法解决种质资源调查信息孤岛问题,实现资源优化、共享,为决策层供完整、准确的数据信息。
1 数据整合与交换方法和中间件技术
1.1 数据整合技术
数据整合指将某一范围内离散的、多元的、异构的、分布的信息,通过逻辑的或物理的方式,组织为一个整体,使之有利于管理、利用和服务,是达到数据“一体化”的手段。目前主要数据整合策略主要有以下几种:
(1)以联合数据库系统(Federated Database System,FDS)为主的多数据库系统(MultiDatabase System)数据整合。它能够在LDB上为用户建立一个统一的存取数据的层次,提供集中、透明的操作,又保持各个异构数据库自治,目的是实现数据库系统间部分数据的共享。
(2)以异构数据库多数据源为主的数据整合,该方法通过连接己有数据源,增加异构数据库数据源数据字段,整合过程包括规则结构的数据和半结构化数据和无结构化数据。
(3)以数据仓库(Data Warehouse,DW)为主的整合方案。通过对相关数据库连接,抽取数据记录,复制需要的字段,将异构或同构数据源相关数据复制到特定数据源上达到整合目的,在整体上对数据进行一致性维护、提高信息共享利用效率。该方案具有访问效率高的特点,但需要重复存储数据,造成数据冗余和实时更新性差等问题。
(4)中间件(Middleware)方式。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,处于C/S的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。相连接的系统通过中间件系统相互之间交换信息,关键途径是信息传递方式。
中间件(Middleware)的方法不需要重复存储大量的数据,采取了全局的数据模式,可以整合结构、半结构和非结构化数据源中的数据,通过对异构提供统一的接口,实现系统间消息的无缝传递,扩展性较好,适合集成数据源多的信息系统,为企业数据整合提供了新的方案。
1.2 ESB技术
ESB(企业服务总线)并没有一致的定义,从本质上来说,ESB是一个中间件(Middleware)技术,能够实现和支持SOA(Service-oriented Architecture)的一组技术架构,包含一系列的功能服务,实现了通信转换,跨平台和通信安全的标准接口。ESB软件架构给出了一种便利的中间件数据整合解决方案,通过面向消息的中间件(Message-Orientecl Middleware,MOM)协议接口和Web Server标准,解决应用程序间的实现技术不同,达到不同应用服务器协同运行目的,通过连接异构MOM服务接口、在MOM传输层上通过使用SOAP来实现服务模块间的通信与协同操作,具体ESB主要有数据格式转换,路由,信息扩展,服务监听功能,安全传输服务等功能。
2 资源调查数据交换策略
农作物种质资源调查数据整合和交换系统采用基于ESB中间件技术的方法,把ESB作为一种服务容器通过XML(Extensible Markup Language)服务接口访问各种异构数据源,利用XSLT(eXtensible Style sheet Language Transformations)进行XML标准格式与不同异构数据之间的映射,实现数据整合目的。
2.1 数据整合交换系统结构设计
系统要解决异构数据的提取、数据转换、数据交换标准规范、交换模式和交换格式等问题。由于农作物种质资源调查数据的特殊性,数据传输的安全性要特别处理。设计过程首先要考虑架构的安全性、可靠性、标准化和可扩展性等问题。系统设计采用基于ESB的架构,通过调用不同的服务来完成相应的功能模块,实现农作物种质资源数据的转换、整合、交换等功能,总体架构如下图1所示。
系统架构从功能层次上分为服务管理层、数据整合交换层、数据处理层、数据访问层和数据存储层。数据访问层用于提取不同种质资源信息系统资源数据,数据处理层实现数据的格式转换和加工,数据整合交换层提供整合和交换传输接口,数据服务管理层处理基于SOA的服务调度,数据传送策略和传输安全控制功能。实现ESB的服务包括、服务监听、服务调用、服务注册、数据提取和转换,数据交换标准规范、数据安全SOAP引擎等服务。服务注册中心负责服务模块的注册、查询和调用功能。通过不同服务的组合和调用来完成系统功能。数据交换系统工作的一个典型流程如下: (1)首先服务监听获取数据交换请求服务,请求信息传送到服务注册中心
(2)服务注册中心在已经注册的服务模块查找所需服务,执行数据调用模块
(3)服务调用服务建立与信息系统建立连接,执行数据抽取服务,完成数据获取
(4)数据规范服务对抽取的数据进行规范检查,对抽取数据进行XML格式转换,转换为规定数据格式。转换后描述信息发送到服务注册中心,等待服务请求者调用
(5)调度服务按需求反馈数据交换和整合信息。
2.2 数据映射和转换模型
不同的项目间和异构种质资源信息系统数据映射和转换是数据整合的主要工作,转换后的统一数据格式可以被各系统理解(本设计统一采用XML文件格式),便于数据的共享和整合服务。当用户请求服务时,首先由数据抽取服务完成从异构数据源的数据抽取,然后转换,建立全局和局部的数据视图映射关系,返回标准数据给用户,下图2给出了数据映射和转换模型。
数据映射和转换模型主要由3部分组成:XML数据服务接口(XML data service interface),数据转换规则(data conversion service),数据转换处理(XSLT processor)。XML数据服务接口负责连接信息系统的源数据和转换服务,数据转换处理负责按照预先制定的XSLT映射规则(XSLT Mapping Rules)对数据类型,字段名字和值域等进行相应的转换。源数据的抽取通过数据库内建连接方法,使用soL命令语句建立与远程数据库的连接,通过建表语句CREATE从源数据库抽取所需数据字段映射到放至本地空间,查找需要转换的字段,调用转换过程XSLTProcessor进行格式转换,模型的工作流程如下:
(1)通过XML数据服务接口连接源数据库和待转换的目标数据库,抽取源数据字段和目标数据格式,如:源数据库表wheat含有数据字段CaijiHao(采集号)、KeMing(科名)、ShuMing(属名)、XueMing(学名),目的数据库字段为CollectionName、Family、Genus、Species,它们字段名称不一样,但含义相同。
(2)根据用户设定转换规则配置数据字段映射,生成映射关系表示文件(XSLT样式规则表,XSLT Mapping Rules),数据路由服务负责数据字段传输,CaijiHao->CollectionName,KeMing-> Family、ShuMing->Genus、XueMing->Species。
(3) XSLT Processor根据XSLT规则文件将源数据转换成目标XML数据。
不同数据源数的抽取和XML文件格式的转换,使用的接口和策略也不同,如,关系型数据库数据是数据转换的主要数据来源,是目前主要的存储系统,主流的关系型数据库本身提供了良好的XML接口,可以直接进行数据的提取。Oracle通过数据库的XML DB组件实现了XML的抽取操作,该组件是企业版和标准版的标准特性。Oracle数据库引入了一个新数据类型XMLType,它允许在soL中访问数据库中的XML文档,同时允许XML开发人员在文档中使用XML标准,用户以使用XML查询语句,创建XML文档,提取XML标签、字段等,串联和聚合等操作。除关系型数据库,还存在自定义和非主流数据库系统的数据格式等,这就需要开发相应转换过程完成XML文件格式的转换。
2.3 基于XSLT的数据转换模式
XSLT提供一套规则,用于将一组元素描述的XML数据转换为另一组数据描述的文档,或者是将该数据转换为一种自定义的数据格式,包括两方面的内容结构转换和格式化输出(Formatting Objects,XSL-FO)。XSLT把数据转换为规范的XML数据文档,然后将其输出到各种介质中。最简单的XSLT应用情况涉及到两个数据文档:包含源数据的XML文档和用来转换该文档的XSLT转换文档。将XML源数据输入,XSLT Processor按照用户配置的映射规则进行数据转换,将源数据转化为目标数据。在XML文档的转换过程中,具体需要考虑数据格式、数据类型、日期、值域等转换问题。
XSLT用模板将同样的格式应用于XML文档的重复元素,模板可以看作要应用的规则,一个功能模块,不同的功能模块完成不同的文档格式转换。采用预先定义的数据交换标准,系统用统一的格式进行来交换数据,xsl:template标记定义了用于进行转换的结点内容。
不同的存储环境有着不同的数据类型,但不论数据类型在各个环境中如何变化,其功能都满足用户数据处理的基本要求如数值型,包括整型、实型等。在XML中数据的类型可以用Schema来限定数据类型。下面以时间日期格式转换为例来说明利用XSLT进行转换的过程。
值域转换是将一个字段的全部或部分取值映射到另一个字段的全部或部分取值。例如:某一系统中,某一项数据的取值分为10个级别(‘0’~‘9’),而在另一个系统中,该项数据的取值仅仅分为5个级别(‘A’~‘E’),这就需要将具有10个级别的值域映射到具有5个级别的值域上去。代码转换可以看成是一类特殊的值域转换。对于XML中的数据字段,必须使用统一的术语,不统一的必须转换成系统规范中定义的统一的词汇。
3 结论
中间件技术消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。XML提供一种计算机程序间交换原始数据的简单而标准的方法。资源调查数据交换策略的设计采用了基于中间件的ESB架构,以XML文件格式作为异构数据库系统间的传输和交换的统一数据格式。资源调查数据整合系统通过资源标准化的整合,将分散、不规范的资源信息进行统一的采集和数字化表达,构成资源调查信息系统的基础。
关键词:资源调查;中间件;数据整合;数据标准
随着知识经济和计算机网络的快速发展,学科、领域间的渗透逐步加深,数据整合和共享已成为一种时代潮流。50年代以来,我国先后组织了多次农作物种质资源调查,积累了大量的种质资源基础数据。但由于种质资源调查项目实施时期、部门、计算机发展技术的不同,使得调查数据存储的系统和数据库也不尽相同,造成数据分散、冗余和表达不一致性问题。信息的相对独立性,形成了许多信息孤岛,限制了决策层获得完整、准确和及时的资源调查数据。
在分析传统数据整合方案优缺点和ESB(Enterprise Service Bus,ESB)技术特点基础上,本文设计了基于ESB构架的种质资源调查数据整合、交换平台体系结构,给出了系统数据整合与交换标准规范、数据交换模式和详细数据交换流程图;通过对数据提供统一的数据接口,采用通用的标准和规范,来获得共享通用的数据源;利用简单对象访问协议(SimpleObject Access Protocol,SOAP)来解决消息封装的一致性问题;采用XML(Extensible Markup Language)格式定义了数据交换标准规范。研究目的是采用标准化的方法解决种质资源调查信息孤岛问题,实现资源优化、共享,为决策层供完整、准确的数据信息。
1 数据整合与交换方法和中间件技术
1.1 数据整合技术
数据整合指将某一范围内离散的、多元的、异构的、分布的信息,通过逻辑的或物理的方式,组织为一个整体,使之有利于管理、利用和服务,是达到数据“一体化”的手段。目前主要数据整合策略主要有以下几种:
(1)以联合数据库系统(Federated Database System,FDS)为主的多数据库系统(MultiDatabase System)数据整合。它能够在LDB上为用户建立一个统一的存取数据的层次,提供集中、透明的操作,又保持各个异构数据库自治,目的是实现数据库系统间部分数据的共享。
(2)以异构数据库多数据源为主的数据整合,该方法通过连接己有数据源,增加异构数据库数据源数据字段,整合过程包括规则结构的数据和半结构化数据和无结构化数据。
(3)以数据仓库(Data Warehouse,DW)为主的整合方案。通过对相关数据库连接,抽取数据记录,复制需要的字段,将异构或同构数据源相关数据复制到特定数据源上达到整合目的,在整体上对数据进行一致性维护、提高信息共享利用效率。该方案具有访问效率高的特点,但需要重复存储数据,造成数据冗余和实时更新性差等问题。
(4)中间件(Middleware)方式。中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,处于C/S的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件。相连接的系统通过中间件系统相互之间交换信息,关键途径是信息传递方式。
中间件(Middleware)的方法不需要重复存储大量的数据,采取了全局的数据模式,可以整合结构、半结构和非结构化数据源中的数据,通过对异构提供统一的接口,实现系统间消息的无缝传递,扩展性较好,适合集成数据源多的信息系统,为企业数据整合提供了新的方案。
1.2 ESB技术
ESB(企业服务总线)并没有一致的定义,从本质上来说,ESB是一个中间件(Middleware)技术,能够实现和支持SOA(Service-oriented Architecture)的一组技术架构,包含一系列的功能服务,实现了通信转换,跨平台和通信安全的标准接口。ESB软件架构给出了一种便利的中间件数据整合解决方案,通过面向消息的中间件(Message-Orientecl Middleware,MOM)协议接口和Web Server标准,解决应用程序间的实现技术不同,达到不同应用服务器协同运行目的,通过连接异构MOM服务接口、在MOM传输层上通过使用SOAP来实现服务模块间的通信与协同操作,具体ESB主要有数据格式转换,路由,信息扩展,服务监听功能,安全传输服务等功能。
2 资源调查数据交换策略
农作物种质资源调查数据整合和交换系统采用基于ESB中间件技术的方法,把ESB作为一种服务容器通过XML(Extensible Markup Language)服务接口访问各种异构数据源,利用XSLT(eXtensible Style sheet Language Transformations)进行XML标准格式与不同异构数据之间的映射,实现数据整合目的。
2.1 数据整合交换系统结构设计
系统要解决异构数据的提取、数据转换、数据交换标准规范、交换模式和交换格式等问题。由于农作物种质资源调查数据的特殊性,数据传输的安全性要特别处理。设计过程首先要考虑架构的安全性、可靠性、标准化和可扩展性等问题。系统设计采用基于ESB的架构,通过调用不同的服务来完成相应的功能模块,实现农作物种质资源数据的转换、整合、交换等功能,总体架构如下图1所示。
系统架构从功能层次上分为服务管理层、数据整合交换层、数据处理层、数据访问层和数据存储层。数据访问层用于提取不同种质资源信息系统资源数据,数据处理层实现数据的格式转换和加工,数据整合交换层提供整合和交换传输接口,数据服务管理层处理基于SOA的服务调度,数据传送策略和传输安全控制功能。实现ESB的服务包括、服务监听、服务调用、服务注册、数据提取和转换,数据交换标准规范、数据安全SOAP引擎等服务。服务注册中心负责服务模块的注册、查询和调用功能。通过不同服务的组合和调用来完成系统功能。数据交换系统工作的一个典型流程如下: (1)首先服务监听获取数据交换请求服务,请求信息传送到服务注册中心
(2)服务注册中心在已经注册的服务模块查找所需服务,执行数据调用模块
(3)服务调用服务建立与信息系统建立连接,执行数据抽取服务,完成数据获取
(4)数据规范服务对抽取的数据进行规范检查,对抽取数据进行XML格式转换,转换为规定数据格式。转换后描述信息发送到服务注册中心,等待服务请求者调用
(5)调度服务按需求反馈数据交换和整合信息。
2.2 数据映射和转换模型
不同的项目间和异构种质资源信息系统数据映射和转换是数据整合的主要工作,转换后的统一数据格式可以被各系统理解(本设计统一采用XML文件格式),便于数据的共享和整合服务。当用户请求服务时,首先由数据抽取服务完成从异构数据源的数据抽取,然后转换,建立全局和局部的数据视图映射关系,返回标准数据给用户,下图2给出了数据映射和转换模型。
数据映射和转换模型主要由3部分组成:XML数据服务接口(XML data service interface),数据转换规则(data conversion service),数据转换处理(XSLT processor)。XML数据服务接口负责连接信息系统的源数据和转换服务,数据转换处理负责按照预先制定的XSLT映射规则(XSLT Mapping Rules)对数据类型,字段名字和值域等进行相应的转换。源数据的抽取通过数据库内建连接方法,使用soL命令语句建立与远程数据库的连接,通过建表语句CREATE从源数据库抽取所需数据字段映射到放至本地空间,查找需要转换的字段,调用转换过程XSLTProcessor进行格式转换,模型的工作流程如下:
(1)通过XML数据服务接口连接源数据库和待转换的目标数据库,抽取源数据字段和目标数据格式,如:源数据库表wheat含有数据字段CaijiHao(采集号)、KeMing(科名)、ShuMing(属名)、XueMing(学名),目的数据库字段为CollectionName、Family、Genus、Species,它们字段名称不一样,但含义相同。
(2)根据用户设定转换规则配置数据字段映射,生成映射关系表示文件(XSLT样式规则表,XSLT Mapping Rules),数据路由服务负责数据字段传输,CaijiHao->CollectionName,KeMing-> Family、ShuMing->Genus、XueMing->Species。
(3) XSLT Processor根据XSLT规则文件将源数据转换成目标XML数据。
不同数据源数的抽取和XML文件格式的转换,使用的接口和策略也不同,如,关系型数据库数据是数据转换的主要数据来源,是目前主要的存储系统,主流的关系型数据库本身提供了良好的XML接口,可以直接进行数据的提取。Oracle通过数据库的XML DB组件实现了XML的抽取操作,该组件是企业版和标准版的标准特性。Oracle数据库引入了一个新数据类型XMLType,它允许在soL中访问数据库中的XML文档,同时允许XML开发人员在文档中使用XML标准,用户以使用XML查询语句,创建XML文档,提取XML标签、字段等,串联和聚合等操作。除关系型数据库,还存在自定义和非主流数据库系统的数据格式等,这就需要开发相应转换过程完成XML文件格式的转换。
2.3 基于XSLT的数据转换模式
XSLT提供一套规则,用于将一组元素描述的XML数据转换为另一组数据描述的文档,或者是将该数据转换为一种自定义的数据格式,包括两方面的内容结构转换和格式化输出(Formatting Objects,XSL-FO)。XSLT把数据转换为规范的XML数据文档,然后将其输出到各种介质中。最简单的XSLT应用情况涉及到两个数据文档:包含源数据的XML文档和用来转换该文档的XSLT转换文档。将XML源数据输入,XSLT Processor按照用户配置的映射规则进行数据转换,将源数据转化为目标数据。在XML文档的转换过程中,具体需要考虑数据格式、数据类型、日期、值域等转换问题。
XSLT用模板将同样的格式应用于XML文档的重复元素,模板可以看作要应用的规则,一个功能模块,不同的功能模块完成不同的文档格式转换。采用预先定义的数据交换标准,系统用统一的格式进行来交换数据,xsl:template标记定义了用于进行转换的结点内容。
不同的存储环境有着不同的数据类型,但不论数据类型在各个环境中如何变化,其功能都满足用户数据处理的基本要求如数值型,包括整型、实型等。在XML中数据的类型可以用Schema来限定数据类型。下面以时间日期格式转换为例来说明利用XSLT进行转换的过程。
值域转换是将一个字段的全部或部分取值映射到另一个字段的全部或部分取值。例如:某一系统中,某一项数据的取值分为10个级别(‘0’~‘9’),而在另一个系统中,该项数据的取值仅仅分为5个级别(‘A’~‘E’),这就需要将具有10个级别的值域映射到具有5个级别的值域上去。代码转换可以看成是一类特殊的值域转换。对于XML中的数据字段,必须使用统一的术语,不统一的必须转换成系统规范中定义的统一的词汇。
3 结论
中间件技术消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。XML提供一种计算机程序间交换原始数据的简单而标准的方法。资源调查数据交换策略的设计采用了基于中间件的ESB架构,以XML文件格式作为异构数据库系统间的传输和交换的统一数据格式。资源调查数据整合系统通过资源标准化的整合,将分散、不规范的资源信息进行统一的采集和数字化表达,构成资源调查信息系统的基础。