当前位置: 首页 > 范文大全 > 公文范文 >

一种数据集成的虚拟视图构建

时间:2022-03-18 10:14:10  浏览次数:

摘 要: 随着互联网的发展,数据在企业发展过程中地位越来越重要,解决数据共享,相同企业的不同数据库查询及不同企业的数据交换也越来越普遍。基于XML中间件技术实现异构数据源共享,在传统数据集成的基础上,拓宽数据源的范围,不再局限于数据库而是所有可以提供数据的单位都可以称之为数据源;将中间件根据功能分层、独立开发,彼此通过固定借口交互,功能明确,开发简单,其中以数据源为单位构建虚拟视图,数据信息和数据源信息分开存储,单独管理,不但分化全局虚拟视图的构建成本,而且数据源的添加和管理变得简单、方便。

关键词: XML中间件;数据源;数据映射;全局虚拟视图

1 研究背景及主要思路

随着互联网及信息化的发展,企业生存对数据的依赖程度越来越高。由于数据在构建之初存在差异性,因而在使用的时候存在诸多不便,如何屏蔽平台的差异性,允许用户简单方便的获取数据成为当下急需解决的问题,目前实现该目标比较常用的方法是数据集成和数据仓库技术,其中基于中间件的数据集成技术因其成本廉价,对硬件要求低等原因成为很多用户的首选。中间件技术将分散的数据整合成一个统一的虚拟全局视图,用户只需要根据虚拟视图通过中间件对数据进行操作,而不需要知道数据具体的信息和存放位置,中间件根据用户的操作,查询虚拟视图然后将用户的操作分散成多个针对于相关数据源的操作去获取数据,最后再把得到的数据进行整合,返回给用户。但是传统的数据集成技术存在虚拟视图映射复杂,构建困难,修改麻烦的缺点,且目标针对数据库,局限了数据范围。单个企业的数据往往面临领域窄,数据量小,数据获取困难等难题,因而,不同企业之间的数据共享、数据交换及从大型网站提供的开放式接口获取所需数据等方式是非常好的选择,但不同企业在信息共享和数据交换的同时,基于信息安全等问题的考虑,不可能直接让外来应用访问其数据库,所以提供相应接口进行过滤是最好的办法。基于以上原因,将数据集成单纯的作为数据库集成就极大的浪费了资源,任何可以提供数据的单位都可以称为数据源。开发基于异构数据源的数据集成能更大的利用资源,服务企业。本论文在此基础上,以数据源为单位构建虚拟视图,分层开发中间件,将数据解析和数据源选择分开单独处理,彼此透明,不但使虚拟视图的构建变得简单,方便,也拓宽了数据源范围,数据源的添加和修改变得简单,单个数据源的操作升级不影响对其它数据源的访问。

2 XML技术简介

由于可扩展标记语言XML具有平台无关性和自描述性等特点,可以很好地屏蔽不同平台、不同数据类型之间的差异,为数据集成提供方便[1],XML的灵活性和可扩展性使其可描述各类数据,哪怕差异很大的数据源间的数据。XML可以通过自定义数据类型,将有差异的数据按一定的标准进行标记,统一数据名称,通过其属性值来标识数据各自的具体特性,即保证了数据的完整性,又显得十分的规范[2],规范的数据标识,使XML的数据检索变得十分简便,可以按照任意的条件进行查询和检索。正因为XML具备了诸多优点,才被选用来做中间件技术的数据交换和存储的工具。

3 系统框架结构详解

传统基于中间件的数据集成方法岁有很多优点但并非是完美的,其最大的缺点是修改困难,可移植性差,一旦数据源发生变动,维护成本会很高[3],如何设计出一个可维护性高的集成系统成了当下的迫切的需要。本论文在传统的数据集成技术基础上,将中间件根据功能的不同进行分层,分为查询数据解析层,数据映射层,查询结果分析层和数据源选择层,各层之间功能相互透明独立,通过统一接口交互,使逻辑复杂的中间件统一开发分化成单个简单独立开发的集合,如图1。

4 全局虚拟视图映射原理解析

数据解析是将用户针对虚拟视图的操作分解成多个针对不同数据源的操作,是中间件层最重要的部分。其中虚拟视图的构建和数据源的选择是本论文研究的重点。

4.1 虚拟视图的构建

虚拟视图采用XML进行构建,视图数据映射的优劣直接关系到系统的好坏,设计一个通用性好的映射关系表对于系统的开发效率和扩展性都有很大的提高[4]。因为访问的数据量一般都很大,虚拟视图数据映射的构建一直都是一项工作量大且繁琐的工作,而一般形成,修改起来往往十分麻烦。本项目数据映射以数据源为基本单位进行划分,将全局虚拟视图试图映射编程虚拟视图跟每一个数据源的单独映射,虚拟视图的构造也可以为各数据源单独开发,这样就把整个虚拟视图的开发模块化,单位化。更方便之后数据源的添加和修改。

虚拟视图的根元素我们设计为data,其第一级子元素为以数据源为单位的database,每一个database以id为唯一标示,存放该数据源以虚拟视图的映射关系;database添加子元素table,属性name,table里添加子元素list和relation。其中list为数据源表字段和虚拟视图的映射关系,包含数据源中的所属表名称table,数据类型type1、名称name1,虚拟映射中的名称name2、类型type2等信息;relation为数据源的表关联信息,包含相关联的两个数据表的名称和关联字段。

虚拟视图的构建根据各数据源的信息,统一或者由各数据源单独填写,构建代码如下:

publicvoid toWrite(Stringdatabase,List

table,List> list, List> relation){

DocumentBuilderFactory factory=Document

BuilderFactory.newInstance();

DocumentBuilder builder = null;

try {

builder = factory.newDocumentBuilder();

} catch (ParserConfigurationException e) {

e.printStackTrace();

}

document=builder.newDocument();

Element root=document.createElement(DATA);

document.appendChild(root);

Element db =document.createElement(DATABASE);

db.setAttribute(ID, database);

root.appendChild(db);

for(int i=0; i < table.size(); i++){

Element tab = document.createElement(TABLE);

tab.setAttribute(NAME, table.get(i));

db.appendChild(tab);

toWriteList(tab, list.get(i));

toWriteRelation(tab, relation.get(i));

}

}

private void toWriteRelation(Element tab, List relation) {

for(int i = 0; i

Element rel = document.createElement(RE

LATION);

rel.setAttribute(TABLE1, relation.get(i)[0]);

rel.setAttribute(TABLE2, relation.get(i)[1]);

rel.setAttribute(LIST1, relation.get(i)[2]);

rel.setAttribute(LIST2, relation.get(i)[3]);

tab.appendChild(rel);

}

}

private void toWriteList(Element tab, List list) {

for(int i = 0; i

Element lis = document.createElement(RELATION);

lis.setAttribute(TABLE, list.get(i)[0]);

lis.setAttribute(NAME1, list.get(i)[0]);

lis.setAttribute(NAME2, list.get(i)[1]);

lis.setAttribute(TYPE1, list.get(i)[2]);

lis.setAttribute(TYPE2, list.get(i)[3]);

tab.appendChild(lis);

}

}

4.2 数据源的选择

在数据源选择的时候,将所有数据源的信息机查询方式都封装起来,有数据源选择层根据数据源id选择相应的构建查询语句的方式,生成适合该数据源的操作语句。这样,再添加新的数据源方式的时候只需要修改数据源信息表和添加该查询规则即可,如果新的数据源与其他相同,则只需要在数据源信息表添加该数据源基本信息即可,简单方便。

4.3 该系统的优势

该系统在传统的数据集成的基础上具有以下优势:首先,数据源被拓宽,数据源不再局限于各个数据库,所有可以提供数据的都可以成为数据源,例如个大型网站提供的公共接口。其次,数据映射的构造工作变得简单、方便,当数据源的信息发生改变,或者添加和修改数据源的时候都变得简单,对单一数据源的操作不会影响其他。再次,分层开发中间件,通过接口相互交互,使各模块功能单一,彼此独立,增加了系统的可移植性和可维护性。

5 结束语

XML的出现为异构数据库的集成提供了极大的便利,不同数据源之间的信息交互集成成为可能[5]。现代社会的信息更新速度极快开发更为灵活的,简便的集成系统才能适应市场的需求。在数据集成的过程中,除了完成访问不同数据源的数据集成,系统的健壮性和可移植性也是十分重要的。而随着技术的发展,越来越多的单位加入到数据共享和行列,因而能方便的集成各种数据源的集成系统才能更好的服务于企业,发挥信息更大的价值。

参考文献:

[1]王雅轩、顼聪,基于XML的异构数据库集成的研究[J].制造业自动化,2011.

[2]曹虎,基于XML的异构数据库集成中间件技术研究[D].哈尔滨工程大学:哈尔滨工程大学,2009.

[3]陈志坚、郝忠孝,基于网格和XML的异构数据库集成模型[J].齐齐哈尔大学学报,2008.

[4]Zhirui Chen,Chunyou Lin,Hongzhou Tan. Design of a system software based on a Java SoC processor[J].2010.

[5]曾国林、傅秀芬、吕占德,异构数据库集成中间件的设计与实现[J].计算机技术与发展,2011.

推荐访问: 视图 构建 集成 虚拟 数据
[一种数据集成的虚拟视图构建]相关文章