论文部分内容阅读
作为一种共享异构数据源的途径,数据集成系统有着广泛的应用需求。模式映射是数据集成系统的重要组成,通常由视图定义(查询)语言表示,它描述了不同模式之间的数据是如何转换的,是系统实现查询重写和数据转换的重要依据。在系统能够运行之前,用户(系统管理员)必须在给定模式之间建立这样的映射关系:另一方面,当模式、或者应用需求发生变化时,用户还必须对原来的模式映射进行相应的维护。由于不同模式之间在结构、语义上都存在差异,因此映射的建立和维护任务十分的烦琐复杂。当前已经有一些技术能够以半自动的方式来辅助用户处理这些任务,但是由于这些技术的自动化程度等诸多因素,用户仍然不可避免的需要直接以手工方式来处理这些复杂的映射表达式。本文以XML数据集成为背景,提出了一种称为Macor(映射关联)的映射表示模型。与直接用查询语句来表示模式映射的方式相比,Macor模型将映射表示成很多简单的原子映射,这些原子映射由关联关系连接在一起,并构成树结构。Macor模型为用户处理映射任务带来了方便:对于映射的建立问题,用户可以从简单的原子映射开始,逐步将它们组装成复杂的全局的映射关系,这种由简到繁的处理方式,使得Macor模型特别适合于解决复杂模式之间的映射问题;对于模式映射的维护问题,用户可以修改局部的原子映射或者关联关系,而保留和复用映射的其余部分。区分了XQuery查询语言的一个子集(称为CoXQ),并以此分析了Macor模型的表达能力。进一步,介绍了如何在Macor模型的实现框架中结合当前一些半自动的映射技术,以辅助用户处理Macor映射。
在大规模的数据集成系统(如PDMS,Peer数据管理系统)中,不同结点之间的模式映射形成映射链,其长度和数量都十分可观。根据映射链,系统以一种递归的方式处理用户提交的查询。这种查询处理方式的性能十分低,为此映射复合技术被用来预先计算出与映射链等价的复合映射。根据复合映射,系统能够将用户查询直接重写为各相关结点的数据源查询,从而提高查询效率。然而,映射链中任意一个映射的变化都将导致复合映射的更新维护。当前并没有这方面的技术,只能采用重新复合计算的方法,严重影响了系统的可伸缩性。这是因为一方面在Web这样的动态环境中,系统中任何一个映射都有可能随时发生变化;另一方面,对于大规模的数据集成系统,一个映射的变化又可能影响到众多映射链的复合映射。基于前文的Macoz·映射模型,本文提出了一种复合映射的增量维护技术。与其它复合技术不同,Macor映射的复合计算可以分解为原子映射之间的复合计算。因此在映射链的复合计算过程中,分属不同映射的各原子映射之间存在一种复合路径轨迹,以复合路径图记录这些轨迹。当映射链中某个映射发生变化时,就能根据复合路径图来确定整个映射链中有哪些原子映射受到影响,从而将完全重新复合计算的维护方法转化为复合计算这些原子映射的增量维护方法。算法分析和实验结果表明,这种增量维护技术的效率不仅与映射本身的变化相关,还与映射链的长度有关。当映射链的长度越长,增量维护的方法就可能退化为完全维护的方法,但是当我们额外存储一些中间复合结果后,可以消除映射链长度对增量维护效果的影响。