浅析金融报表系统的数据集成问题

2010-06-13 02:10
科技传播 2010年15期
关键词:数据模型数据源异构

魏 华

青海交通职业技术学院,青海西宁 810003

浅析金融报表系统的数据集成问题

魏 华

青海交通职业技术学院,青海西宁 810003

本文主要主要介绍了在金融报表系统中的数据集成模块的设计及实现。其中数据集成模块中,采用了XML作为统一数据格式,然后针对各种不同数据源提供不同的专用接口,从而将异构数据源进行集成。对各种当今的异构数据集成模式进行了分析探讨。

金融报表;数据集成;系统设计

金融报表系统的一个重要目标是能够集成已有系统的数据,这也是整合各个分散孤立系统所面临的一个重要问题。本文在研究各种异构数据集成的基础上,选择基于XML的数据集成方案,下面对该方案的设计及实现进行详细的说明。

1 实现方案

在该系统中负责集成数据任务的是数据生成器模块,它将从异构数据源中提取和生成统一数据格式的报表数据。为了能够从不同数据源中进行获取数据,数据生成器需要进行异构数据源的统一处理。集成异构数据源的方法一般有两种。第一种是将原有的数据移植到新的数据管理系统中来,为了集成不同类型的数据,必须将一些非传统的数据类型转化成新的数据类型。第二种方法是利用中间件集成异构数据库,中间件位于异构数据库系统(数据层)和应用程序(应用层)之间,向下协调各数据库系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口。各数据库的应用仍然完成它们的任务,中间件系统则主要集中为异构数据源提供一个高层次检索服务。显然,中间件系统模式是实现异构数据集成较理想的解决方案[1]。

实现数据抽取的关键是从统一的XML数据中进行查询和统计以得到需要的报表数据。数据生成器是在处理报表之前将来自不同数据源的数据统一转换为一致的XML格式数据。当数据被转换为统一的数据格式后,数据在各个模块之间就可以方便地进行交换,这使得所有模块对数据的处理都能够以统一的方式进行。我们可以使用J2EE架构中数据表示和交换功能的EJB(Enterprise JavaBean,业务逻辑代码)组建中持久化服务的一部分,XML文件可以容易地读取到一个对象模型中。

2 数据生成器的架构

数据生成器的架构分为3层,如图1所示。

图1 数据生成器的三层架构图

其中数据抽取层该层负责提供各种来自不同数据源的数据,如数据库、已有的报表文件和其它文件数据。集成层该层完成将不同格式的数据与XML数据模型之间的转换。它将数据先存储到一个集成模式的存储结构中,然后完成目标格式与原有格式之间的映射关系。此外,它还提供对数据的各种查询操作。上层应用层该层主要是对集成层提供的接口进行封装,以便于对数据的各种处理操作。它提供一个统一的数据视图来查看数据。

3 数据抽取层

数据抽取层处于系统的最低层,是系统的数据提供者,主要功能是提取和集成分布在多个异构数据源(数据库,知识库及构件库)上的信息。这一层采用 Wrapper(包装器)技术实现将一个从中介层得到的查询,翻译成能够在经过封装的数据源上执行的操作,将查询结果抽取并打包到一个XML文档,最后将该文档返回给集成层。可以考虑使用Wrapper组件,即:

Wrapper组件由两部分组成:Wrapper生成器和Wrapper实例(简称Wrapper)。Wrapper生成器用于为查询某个确定的站点或站点集合,构建Wrapper的输入是用一种Wrapper规范语言书写的规格说明。规格说明必须能够表达以下内容:数据源接口、数据模型、从用户到数据源本地操作的查询映射、数据源的查询能力。通常为一个数据源生成一个有效的Wrapper所必须的信息是使用DTD来描述的。Wrapper生成器的输出是一个可以执行的Wrapper实例,该Wrapper能够接受由Wrapper规范语言定义的查询。我们采用关系Wrapper能决定关系模型和DOM(Document Object Model,域对象模型)对象数据模型之间的映射。因此,可以采用DTD(Document Type Definition,文档类型定义)来描述数据库中关系表的数据模式。

4 集成层

集成层最重要的问题就是数据的转换问题,将来自不同数据源的各种数据转换成集成系统能进一步处理的统一格式。

4.1 集成层的专用接口

专用接口主要完成XML数据模型与数据源的双向转换。它用XML描述集成数据,用XML文档和格式文件DTD表示集成模式与数据源之间的映射。XML数据模型与数据库的转换主要体现在XML的DTD和数据库数据模型的相互转换。从DTD转换到数据库模型的原理如下:

1)从DTD生成一个关系模式,并在此基础上建立关系数据库;

2)对DTD中的每一个元素,产生关系数据库的一个表和一个主键列;

3)对每一个有混合内容的元素,产生一个独立的表,并通过父表的主键与父表相连;

4)对元素类型中的每一个单一值的属性,按顺序出现的子元素,产生一个单独列,该列可以允许为NULL类型;

5)对有多个值的属性和可以出现多次的子元素,需要创建一个单独的表来存储这些值,并通过父表的主键与父表相连;

6)对每一个包含元素或混合内容的子元素来说,通过父表的主键把父元素与子元素连接起来。

从数据库模型到DTD的转换相对容易一些,分为3步:对一个表,创建一个元素;对表中的每一列,创建一个属性或只是一个子元素;根据表中的每一个主键/外键关系,创建该表元素的子元素。

同时相对于数据库系统的意义,XML文档与其他文本文件并没有什么区别。在将它与结构化数据或非结构化数据进行转换的时候,关键问题是如何将关系数据库表达的结构与约束映射为XML。根据映射关系的建立方式不同,我们可以采用基于模板驱动的映射方法。这种映射的步骤比较简单,只要给出模板,就可以快速地生成相应的XML文档。总体来说,专用接口模块就是将由各数据源的数据到一个XML数据模型的双向转换。

4.2 集成方法

如何实现对各个数据源的集成存取,即如何将用户对继承视图的存取转换成对异构数据源的操作。在本系统中采用的是GAV方法。采用为集成模式中的每一个虚拟对象类创建一个能动态生成XML文档的ASP文件,说明如何从信息源得到该虚拟对象类的对象,如何将源数据转换成集成数据。当用户要访问集成数据时,系统按下列步骤进行查询转换[2]:

1)根据用户提出的查询条件,生成一棵查询树;

2)将诸如选择、投影操作尽量推向叶节点(即数据源);

3)将对各数据源的操作追加到相应的ASP文件中;

4)调用ASP文件,生成来自多数据源的包含用户所需数据的XML文档;

5)选择合适的XSL,应用于所生成的XML文档提交给用户。

5 上层应用层

为了能够提供一个统一的数据视图,需要设计一个公共模型,以便进行统一的处理。同时还需要在这个公共模型上定义一些基本的运算,使之能够完成数据查询、存取等具体功能。

本集成系统为用户提供根据特定集成应用而设计的一个虚拟集成视图。虚拟集成视图是一个虚拟关系(或虚拟对象类)集合。采用XML作为集成系统的公共模型,用一个DTD描述集成层的一个虚拟对象类,一个元素对应虚拟对象类的一个属性,所有虚拟对象类的DTD组成集成系统的集成模式。

根据不同用户的不同需求,可定义不同的XSL样式表,来屏蔽一些对象或对象的属性,来改变对象的显示形式,提供不同的用户视图。

6 结论

本文主要介绍了在金融报表系统中的数据集成模块的设计及实现。数据集成模块中,采用了XML作为统一数据格式,然后针对各种不同数据源提供不同的专用接口,从而将异构数据源进行集成。异构数据集成模式具有以下特点:

1)在分布、异构环境下的异构数据集成方案和构架结构,基于术语标准化的一致性操作平台。兼容不同数据库结构和平台;

2)灵活的资源共享方式,可以根据自身需要提出访问请求;

3)实现模块之间逻辑和技术的低耦合性;

4)适合Web应用,便于用户通过Internet访问;

5)一定的扩展性和可移植性。在数据源扩展时,只要配相应的数据接口和更新元数据即可,易于扩展。统一格式的数据可以通过企业域进行跨平台交换,具有一定的可移植性。

[1]余彤鹰.复杂系统的层级原理与模型驱动软件体系结构[EB/OL],2002,5.http∶//www.ee2 forum.Org.

[2]http∶//www.goxk.com/guanligongcheng/200807/30-303757.shtml.基于XML的异构数据集成模式研究,2008,7.

[3]范贵生,朱尚明.基于XML的远程报表系统的开发模型及实现.现代计算机,2005,3:89-92.

TP39

A

1674-6708(2010)24-0227-02

魏华,讲师,工作单位:青海交通职业技术学院计算机系

猜你喜欢
数据模型数据源异构
试论同课异构之“同”与“异”
面板数据模型截面相关检验方法综述
Web 大数据系统数据源选择*
加热炉炉内跟踪数据模型优化
基于不同网络数据源的期刊评价研究
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
基于真值发现的冲突数据源质量评价算法
分布式异构数据源标准化查询设计与实现