论文部分内容阅读
摘要:在数据服务网格系统(DSGrid)中,基于XML DataBase的XML复制技术是保证系统查询性能的关键技术。提出了基于XML复制关系图的复制更新策略,通过XML复制之间的数据依赖关系来追踪底层数据更新对各层次的XML复制的影响,并根据更新策略确定XML复制的更新方法。
关键词:XML DataBase; XML关系图;DSGrid
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2008)05-10000-00
1 引言
网格技术的发展,尤其是OGSA-DAI[1]项目提供了在网格环境中数据访问和集成的方法,由网格提供统一的OGSA-DAI接口进行数据的访问,使对异构数据资源的访问与控制如同对单个逻辑资源访问一样。在网格应用领域中的一个重要问题是如何提高网格环境下的数据访问性能,而复本机制是提高数据访问性能的重要途径之一。
目前,国内、外对数据库网格的研究内容分布在数据访问与集成、语义模型、数据搜索、分布式查询与虚拟组织支持等方面,本文研究的重点为基于XML数据库的数据服务网格DataServiceGrid(DSGrid)。
2 DataServiceGrid体系结构
我们提出了如图1所示的DataService Grid系统,数据库资源是以一种松散的数据服务方式组织在网格中,数据库既可以采用信任数据库连接的方式被动地为Web应用提供数据访问,也可以有选择、有策略地将部分数据资源以主动的数据服务方式提供给网格用户,在DS Grid系统中更侧重于主动服务的方式,这样可以降低数据安全、数据保护、数据版权方面的管理成本。
在数据服务的缓存机制与数据库的主动服务机制的支持下,当数据库退出网格或出现故障时,DSGrid可以根据缓存XML数据库中的复本信息提供不间断的数据服务,提高系统的健壮性和可访问性。
图1 Data Service Grid体系结构模型
3 XML 复制策略
3.1 DataService XML复制
在DSGrid系统中集成了大量的数据资源,对DSGrid用户而言,数据访问服务GDS是统一的Web Service,可以通过XML流提供经过包装与抽象的数据服务,我们称为数据服务,它的后台既可以是网格中的数据库也可以是XML文件,也可以是Web Service的再集成。在大规模的网格数据库中,数据服务要面向广域网络中的用户访问,XML复制机制和基于XML衍生复制的机制可以提高整个系统的查询响应能力与可靠性。
3.2 DSGrid复制服务
在DSGrid中,系统分为三个层次:DSGrid Registry Service(注册服务)、DSGrid Container(容器服务)、GDS(数据服务)。GDS提供基于数据库的数据服务,DSGrid Container既作为GDS服务容器,同时通过XML DataBase管理根据数据访问负载与复制策略而生成的XML复制, XML复制可以降低数据库节点的访问负载,提高数据库节点的访问性能;但基于自治的复制管理不能提供良好的全局复制访问效率,模拟实验表明,当GDS的XML复制超过三个节点时,复制的管理成本会抵消复制所带来的性能收益,因此我们在原有系统结构的基础上增加了全局复制管理服务(Replica Service)。
网格服务系统中存在多个面向不同主题的数据库,相应的XML复制可以提高数据的访问性能,面向特定领域的数据访问需要获取来自多个数据库的集成的信息,在XML复制层次上可以通过XQuery对多个XML复制进行集成,向用户提供最终服务数据,我们把这种在多个XML复制上再集成而生成的XML复制称为衍生复制。
在DSGrid系统中存在大量的复制与衍生复制,Replica Service(复制服务)通过集中式的复制管理与复制检索来提高系统对复制的访问效率,Replica Service节点通过XML DataBase管理XML复制和复制检索信息,主要的功能包括:复制创建、复制检索、复制更新。
1)复制创建
XML复制的创建取决于数据库GDS的访问负载,当超过访问负载阈值λGDS时,产生XML复制并注册到Replica Service中,复制创建的算法描述如下:
IF GDSi访问负载>λGDS THEN
BEGIN
创建GDSi的XML复制Ri;
在Replica Service的XML DataBase中存储Ri;
记录Ri对应的GDSi的元数据信息;
在DSGrid Container中增加GDS的复制URL;
END
复制创建后,用户的数据访问请求可以由XML复制来满足,Replica Service既是一个XML复制的数据服务也是目录服务,当来自某个网格节点区域的复制访问超过复制访问阈值λR时,Replica Service在最近的DS Container节点产生新的XML复制并记录在Replica Service中,同时根据节点的存储状态决定是否保留当前复制。通过分布式的复制服务和集中式的复制目录管理可以在提高系统访问负载均衡的前提下提供高效的复制检索服务。复制分布的算法描述如下:
IF 来自节点i的对Ri的访问负载>λR THEN
BEGIN
IF Ri满足复制淘汰条件 THEN
BEGIN
移动复制Ri到节点i上的XML DataBase中;
修改Replica Service中Ri的URL元数据信息;
END
ELSE
BEGIN
创建复制Ri的复本并传输到节点i上的XML DataBase中;
增加Replica Service中Ri在节点i上的URL元数据信息;
END
END
2)复制检索
通过Replica Service机制,DSGrid系统中存在一个GDS的多个XML复制,当用户请求GDS服务时,可以请求数据库GDS或XML复制GDS服务。当数据库节点负载较轻时,系统为用户提供数据库GDS服务,以保证数据的准确性;当数据库节点负载较重时,需要通过XML复制GDS为用户提供数据服务。
在Replica Service中,一个XML复制可能有多个复制节点,各个节点的性能、网络状况、访问负载等情况各不相同并动态变化,选择最优复制时需要综合考虑这些相关因素,从而为用户提供访问代价最低的复制,复制选择的主要策略有:随机选择法、加权计算法、最小距离法等不同的方法,本文不作详细的分析。通过Replica Service的复制检索机制,可以提供比基于节点自治复制管理更好的访问效率。
3)复制更新
GDS的XML复制与衍生复制都是基于数据库GDS服务,当数据库中数据更新时或GDS变化时,其相关的复制可能会丧失有效性,从而需要XML复制管理的更新机制来保证系统的完备性。
当创建GDS复制时,复制的时间戳被记录到复制的元数据中,用于复制有效性的判断。当基于XML复制的复制被创建时,原始XML复制的时间戳被复制到新的XML复制的元数据中。
衍生复制基于多个XML复制创建,因此,其中任何一个XML复制的失效都可能导致衍生复制的失效,衍生复制元数据中要记录每个XML复制的时间戳信息。
从复制与GDS的关系来看,XML复制依赖于数据访问GDS,各级复制依赖于其上一级的XML复制,衍生复制依赖于其双亲XML复制。当底层数据访问GDS变化时,其对应的XML复制可能全部或部分失效,这时根据复制之间的层次关系,Replica Service需要管理全局的XML复制以保证复制服务的有效性。
如图2所示,Replica Service中需要维护一个XML复制关系图来跟踪各个XML复制的依赖关系。
图2 XML复制关系图
复制管理的策略是:权衡增量复制更新代价与复制重置代价。当增量复制代价较大或复制重置代价较小时,丢弃失效的复制,重新按照复制创建策略生成新的XML复制;当复制重置代价较大而且XML复制可增量更新时,采用XML复制的增量更新,将数据库访问GDS的增量数据变化更新到XML复制中,从而使XML复制保持有效性。在两种复制更新机制中,衍生复制要根据元数据信息来确定底层XML复制的更新对自身的影响,从而决定自身的有效性。
XML复制关系图是一个多层次的数据依赖关系图,通过复制依赖关系确定了每个复制的各级祖先,从而可以自底向上地确定底层数据访问GDS对整个复制系统的影响,从而确定复制的更新策略。
基于XML复制关系图的复制更新是一个自底向上的XML复制更新过程,每个XML复制更新自身并找到其衍生的XML复制和普通复制,根据更新策略对其进行增量更新或重新生成复制。
4 结束语
Web Service技术与XML技术结合是OGSA-DAI的重要特征之一,基于XML的复制技术是提高网格数据库访问性能的有效解决方案,在文献[2~6]中提出了多种基于XML技术的更新方法。在DSGrid系统中,数据访问的复杂性导致XML复制更新的复杂性。综合分析表明,在网格系统中要充分利用复制带来的性能收益,提高复制的使用与更新效率;通过复制关系图,多层次的XML复制结构与衍生复制的更新机制可以提高复制更新效率。
通过对DSGrid系统中Replica Service机制的研究与基于关系图的复制策略的研究,我们完善了DSGrid系统的体系结构,探索了通过XML复制机制进行网格数据库系统性能优化的方法。XML复制可以有效地提高网格数据库系统中的数据访问效率,基于XML DataBase的复制技术结合了XML数据库的XML文件管理功能,从而提高XML复制的管理效率。
参考文献:
[1]http://www.ogsadai.org.uk/[EB/OL].
[2]沈敏,许华虎,季永华,等. 基于XML的分布式异构数据库数据同步系统的研究[J].计算机工程与应用,2005.(5):36-37.
[3]Zubair M, Maly K, Ameerally I. XML-based Integration of Heterogeneous Digital Libraries. NCSTRL,1998.
[4]朱光宇,李松年. 一个基于XML的数据收集与分发方法[J].计算机工程,2002(1):257-259.
[5]张元平,曾一,闵智,等. 一种XML数据并行更新方法[J].计算机应用研究,2007,(11):130-134.
[6]焦志勇. 基于网格技术的存储资源管理解决方案[J]. 电脑知识与技术,2007(21):606-607.
收稿日期:2008-01-12
基金项目:黑龙江省教育厅高职高专院校科研项目《基于XML Database的网格数据库动态查询缓存机制研究》(10555106)
作者简介:张宇(1977-),女,硕士,讲师,主要研究方向:数据仓库,电子商务。
关键词:XML DataBase; XML关系图;DSGrid
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2008)05-10000-00
1 引言
网格技术的发展,尤其是OGSA-DAI[1]项目提供了在网格环境中数据访问和集成的方法,由网格提供统一的OGSA-DAI接口进行数据的访问,使对异构数据资源的访问与控制如同对单个逻辑资源访问一样。在网格应用领域中的一个重要问题是如何提高网格环境下的数据访问性能,而复本机制是提高数据访问性能的重要途径之一。
目前,国内、外对数据库网格的研究内容分布在数据访问与集成、语义模型、数据搜索、分布式查询与虚拟组织支持等方面,本文研究的重点为基于XML数据库的数据服务网格DataServiceGrid(DSGrid)。
2 DataServiceGrid体系结构
我们提出了如图1所示的DataService Grid系统,数据库资源是以一种松散的数据服务方式组织在网格中,数据库既可以采用信任数据库连接的方式被动地为Web应用提供数据访问,也可以有选择、有策略地将部分数据资源以主动的数据服务方式提供给网格用户,在DS Grid系统中更侧重于主动服务的方式,这样可以降低数据安全、数据保护、数据版权方面的管理成本。
在数据服务的缓存机制与数据库的主动服务机制的支持下,当数据库退出网格或出现故障时,DSGrid可以根据缓存XML数据库中的复本信息提供不间断的数据服务,提高系统的健壮性和可访问性。
图1 Data Service Grid体系结构模型
3 XML 复制策略
3.1 DataService XML复制
在DSGrid系统中集成了大量的数据资源,对DSGrid用户而言,数据访问服务GDS是统一的Web Service,可以通过XML流提供经过包装与抽象的数据服务,我们称为数据服务,它的后台既可以是网格中的数据库也可以是XML文件,也可以是Web Service的再集成。在大规模的网格数据库中,数据服务要面向广域网络中的用户访问,XML复制机制和基于XML衍生复制的机制可以提高整个系统的查询响应能力与可靠性。
3.2 DSGrid复制服务
在DSGrid中,系统分为三个层次:DSGrid Registry Service(注册服务)、DSGrid Container(容器服务)、GDS(数据服务)。GDS提供基于数据库的数据服务,DSGrid Container既作为GDS服务容器,同时通过XML DataBase管理根据数据访问负载与复制策略而生成的XML复制, XML复制可以降低数据库节点的访问负载,提高数据库节点的访问性能;但基于自治的复制管理不能提供良好的全局复制访问效率,模拟实验表明,当GDS的XML复制超过三个节点时,复制的管理成本会抵消复制所带来的性能收益,因此我们在原有系统结构的基础上增加了全局复制管理服务(Replica Service)。
网格服务系统中存在多个面向不同主题的数据库,相应的XML复制可以提高数据的访问性能,面向特定领域的数据访问需要获取来自多个数据库的集成的信息,在XML复制层次上可以通过XQuery对多个XML复制进行集成,向用户提供最终服务数据,我们把这种在多个XML复制上再集成而生成的XML复制称为衍生复制。
在DSGrid系统中存在大量的复制与衍生复制,Replica Service(复制服务)通过集中式的复制管理与复制检索来提高系统对复制的访问效率,Replica Service节点通过XML DataBase管理XML复制和复制检索信息,主要的功能包括:复制创建、复制检索、复制更新。
1)复制创建
XML复制的创建取决于数据库GDS的访问负载,当超过访问负载阈值λGDS时,产生XML复制并注册到Replica Service中,复制创建的算法描述如下:
IF GDSi访问负载>λGDS THEN
BEGIN
创建GDSi的XML复制Ri;
在Replica Service的XML DataBase中存储Ri;
记录Ri对应的GDSi的元数据信息;
在DSGrid Container中增加GDS的复制URL;
END
复制创建后,用户的数据访问请求可以由XML复制来满足,Replica Service既是一个XML复制的数据服务也是目录服务,当来自某个网格节点区域的复制访问超过复制访问阈值λR时,Replica Service在最近的DS Container节点产生新的XML复制并记录在Replica Service中,同时根据节点的存储状态决定是否保留当前复制。通过分布式的复制服务和集中式的复制目录管理可以在提高系统访问负载均衡的前提下提供高效的复制检索服务。复制分布的算法描述如下:
IF 来自节点i的对Ri的访问负载>λR THEN
BEGIN
IF Ri满足复制淘汰条件 THEN
BEGIN
移动复制Ri到节点i上的XML DataBase中;
修改Replica Service中Ri的URL元数据信息;
END
ELSE
BEGIN
创建复制Ri的复本并传输到节点i上的XML DataBase中;
增加Replica Service中Ri在节点i上的URL元数据信息;
END
END
2)复制检索
通过Replica Service机制,DSGrid系统中存在一个GDS的多个XML复制,当用户请求GDS服务时,可以请求数据库GDS或XML复制GDS服务。当数据库节点负载较轻时,系统为用户提供数据库GDS服务,以保证数据的准确性;当数据库节点负载较重时,需要通过XML复制GDS为用户提供数据服务。
在Replica Service中,一个XML复制可能有多个复制节点,各个节点的性能、网络状况、访问负载等情况各不相同并动态变化,选择最优复制时需要综合考虑这些相关因素,从而为用户提供访问代价最低的复制,复制选择的主要策略有:随机选择法、加权计算法、最小距离法等不同的方法,本文不作详细的分析。通过Replica Service的复制检索机制,可以提供比基于节点自治复制管理更好的访问效率。
3)复制更新
GDS的XML复制与衍生复制都是基于数据库GDS服务,当数据库中数据更新时或GDS变化时,其相关的复制可能会丧失有效性,从而需要XML复制管理的更新机制来保证系统的完备性。
当创建GDS复制时,复制的时间戳被记录到复制的元数据中,用于复制有效性的判断。当基于XML复制的复制被创建时,原始XML复制的时间戳被复制到新的XML复制的元数据中。
衍生复制基于多个XML复制创建,因此,其中任何一个XML复制的失效都可能导致衍生复制的失效,衍生复制元数据中要记录每个XML复制的时间戳信息。
从复制与GDS的关系来看,XML复制依赖于数据访问GDS,各级复制依赖于其上一级的XML复制,衍生复制依赖于其双亲XML复制。当底层数据访问GDS变化时,其对应的XML复制可能全部或部分失效,这时根据复制之间的层次关系,Replica Service需要管理全局的XML复制以保证复制服务的有效性。
如图2所示,Replica Service中需要维护一个XML复制关系图来跟踪各个XML复制的依赖关系。
图2 XML复制关系图
复制管理的策略是:权衡增量复制更新代价与复制重置代价。当增量复制代价较大或复制重置代价较小时,丢弃失效的复制,重新按照复制创建策略生成新的XML复制;当复制重置代价较大而且XML复制可增量更新时,采用XML复制的增量更新,将数据库访问GDS的增量数据变化更新到XML复制中,从而使XML复制保持有效性。在两种复制更新机制中,衍生复制要根据元数据信息来确定底层XML复制的更新对自身的影响,从而决定自身的有效性。
XML复制关系图是一个多层次的数据依赖关系图,通过复制依赖关系确定了每个复制的各级祖先,从而可以自底向上地确定底层数据访问GDS对整个复制系统的影响,从而确定复制的更新策略。
基于XML复制关系图的复制更新是一个自底向上的XML复制更新过程,每个XML复制更新自身并找到其衍生的XML复制和普通复制,根据更新策略对其进行增量更新或重新生成复制。
4 结束语
Web Service技术与XML技术结合是OGSA-DAI的重要特征之一,基于XML的复制技术是提高网格数据库访问性能的有效解决方案,在文献[2~6]中提出了多种基于XML技术的更新方法。在DSGrid系统中,数据访问的复杂性导致XML复制更新的复杂性。综合分析表明,在网格系统中要充分利用复制带来的性能收益,提高复制的使用与更新效率;通过复制关系图,多层次的XML复制结构与衍生复制的更新机制可以提高复制更新效率。
通过对DSGrid系统中Replica Service机制的研究与基于关系图的复制策略的研究,我们完善了DSGrid系统的体系结构,探索了通过XML复制机制进行网格数据库系统性能优化的方法。XML复制可以有效地提高网格数据库系统中的数据访问效率,基于XML DataBase的复制技术结合了XML数据库的XML文件管理功能,从而提高XML复制的管理效率。
参考文献:
[1]http://www.ogsadai.org.uk/[EB/OL].
[2]沈敏,许华虎,季永华,等. 基于XML的分布式异构数据库数据同步系统的研究[J].计算机工程与应用,2005.(5):36-37.
[3]Zubair M, Maly K, Ameerally I. XML-based Integration of Heterogeneous Digital Libraries. NCSTRL,1998.
[4]朱光宇,李松年. 一个基于XML的数据收集与分发方法[J].计算机工程,2002(1):257-259.
[5]张元平,曾一,闵智,等. 一种XML数据并行更新方法[J].计算机应用研究,2007,(11):130-134.
[6]焦志勇. 基于网格技术的存储资源管理解决方案[J]. 电脑知识与技术,2007(21):606-607.
收稿日期:2008-01-12
基金项目:黑龙江省教育厅高职高专院校科研项目《基于XML Database的网格数据库动态查询缓存机制研究》(10555106)
作者简介:张宇(1977-),女,硕士,讲师,主要研究方向:数据仓库,电子商务。