论文部分内容阅读
目前,人类已进入以网络为中心的信息时代,大范围内的信息共享与分布式事务成为计算机应用的迫切需求,越来越多的应用要存取分布在不同网络结点上的、不同种类数据源中的数据。虚拟数据库系统为用户和应用程序屏蔽了底层数据源之间的差异,它将分散在各个数据源的数据收集集成并结构化,然后把异构的数据转换成统一的格式,并给应用程序提供统一、简单的关系数据库接口。同时在事务模块的支持下,提供了全局事务处理能力,因此能够维护各个数据源上数据的一致性。
虚拟数据库中的事务管理问题一直是个难点,特别是在P2P环境下虚拟数据库的事务管理问题。
首先虚拟数据库的数据源包括关系数据库系统、Web站点、文件系统和各种应用程序。这些数据源当中,除了关系数据库系统提供了事务管理之外,其他数据源都不支持事务处理技术,这就给数据源中的局部事务管理带来了困难。根据实际应用需求,本文给出了使文件系统支持事务处理技术的方案,在今后的研究工作中,将逐步解决其他类型的数据源中事务处理问题。
第二P2P是个完全分散的,动态的网络结构。它没有核心服务器;各个节点之间是对等的,可以互相通信。网络中的每个节点高度自治、可以自由的加入和离开,这就对保证全局事务的原子性带来了困难。根据P2P网络结构的特点,本文给出了使用对等节点参与事务执行的策略。
针对P2P软件系统的结构和应用特点,本文提出了一种分散的,通过peer之间的通信来保证全局事务的原子性和一致性的虚拟数据库系统事务模型。在该模型中:
·每个全局事务维护一张序列化图,该序列化图反映了全局事务之间的依赖关系;
·局部事务管理器为每个资源(如数据库中一张表)维护了一个执行链表,这个 链表反映该资源上局部事务的依赖关系;
·局部事务管理器将 局部事务的依赖关系发送给各个局部事务所属的全局事务;
·全局事务根据局部事务的依赖关系更新自己的序列化图;
· 当序列化图中出现了环,则说明出现了全局事务不一致,需要选择适当的事务 进行回滚;
由上面的内容可以看出:该事务模型中的事务管理是一个完全分散的管理机制;与传统的分布式数据库管理系统不同的是:它没有中央全局事务协调器,而是利用全局事务维护的序列化图、全局事务管理器之间的通信以及全局事务管理器和局部事务管理器之间的通信等机制进行全局事务的调度执行。
Infotree系统是华南理工大学计算机学院开发的信息交换平台。从最初的类P2P软件开始,到现在已经发展成一个具体的,以数据库应用为基础支持多种资源类型的虚拟
数据库系统。目前Infotree系统已经能够较好的处理多种异构数据库系统的查询,但是由于缺少事务技术的支持,还不能进行更新操作。本文提出的事务模型在以Infotree系统为实验平台的基础上,实现了其主要功能。从实验结果来看:该模型可有效的保证分散的数据源上数据的一致性。