论文部分内容阅读
事务处理技术是保证信息可靠性和一致性的重要技术,随着网络技术的发展以及应用需求的变化,集中式应用演化发展为网络分布应用,事务管理功能由专门的中间件(如事务监控器等)来提供。尽管事务监控器的技术已经比较成熟,但由于它们大多数采用一体化体系结构和黑盒抽象机制进行设计,存在着开放性、灵活性和可定制性差等不足之处。这些缺点降低了事务监控器的可扩展性,导致监控器进行扩展的代价昂贵,难以对新型应用提供良好的支持。本论文的研究将从理论和技术等方面,研究分布事务监控器中的可扩展性及其关键技术,分析提高事务监控器可扩展能力的各种方法,实现系统体系结构的灵活性。
本文首先讨论事务监控器对扩展事务模型的支持。文章提出了一个扩展事务模型的元模型——ETM3。ETM3给出了扩展事务模型的不同属性以及执行语义的一系列定义,通过ETM3能够描述常见的扩展事务模型。相对于已有的一些研究工作,ETM3支持扩展事务原语、支持自定义事务模型、支持自定义属性等。接着本文给出了ETM3元模型的描述语言EMDL,用于提供特定扩展事务模型的描述机制。EMDL内置了数据类型、对象、原语;支持常见数据类型和复杂数据类型;支持顺序结构、条件结构和循环结构等。这部分构成了扩展事务模型支持的理论基础。
在ETM3和EMDL的基础上,本文提出了事务监控器的扩展事务模型支持框架ETF。ETF通过增强事务管理器,控制应用程序对数据的访问,实现对数据的并发控制和持久化等,在此基础上可以支持常见的扩展事务模型。同时,本文提出了一种改进的两阶段加锁方式SV-2PL,采用了引进阴影版本的方式,减少了事务的阻塞和等待时间,提高了事务并发度。通过ETM3和EMDL的定义,以及ETF框架的实现,我们在事务监控器中实现了对常见事务模型的支持。
针对目前事务监控器在负载平衡服务的可扩展性方面存在不足的情况,论文设计了一种可扩展的负载平衡服务结构。文章阐述了实现负载平衡服务可扩展性的若干关键技术及解决方案,包括拓扑结构的自适应配置、负载策略可替换和动态加载、负载反馈与自适应调节技术等。此外,针对网络分布环境的特点,本文设计了一种分布式的、综合考虑网络延迟和节点负载状况的负载平衡算法DDCA。该算法无需集中式的负载分配器,并且综合度量各节点的处理能力、负载信息和网络延迟,并且具有良好的可伸缩性和负载分配效果。
传统的事务监控器大多采用过程调用的方式,随着Internet与企业应用需求的快速发展,需要提供一些新的访问方式接入功能。然而事务监控器一般都遵循既定规范实现,在结构上有严格的约束条件和限制,因此在实现上必须考虑系统的可扩展性,以使得在遵循规范的前提下尽可能的满足多访问方式的接入。我们采用了微内核和拦截器的体系结构设计,通过适配器的方式来提供可扩展的多访问方式接入,实现了HTTP适配器和Web服务适配器,提供了对HTTP方式访问和Web服务的支持。
最后,我们介绍了论文工作的支撑系统——分布事务监控器OnceTX,讨论了OnceTX的系统结构、主要功能,以及对OnceTX进行TPC-C基准测试的过程和结果。