论文部分内容阅读
事务处理技术是保证信息可靠性和一致性的关键技术,事务监控器是提供这种技术的一类中间件产品,它是开发、部署、监控和管理基于三层结构的联机事务处理应用系统的基础平台,在构筑基于事务的网络分步应用中处于核心地位。 资源管理器是事务监控器的重要组成部分,它是事务操作的实体。一个分布事务环境通常包括多个资源管理器,事务监控器需要对涉及到的每个资源管理器进行事务管理,控制它们对事务的参与,达到正确完成事务的目的。另外,由于对资源管理器的访问通常比较费时,它们对外提供的接口也不尽相同,所以事务监控器还需要对系统中使用的每个资源管理器进行有效地访问管理,向应用程序提供统一的调用接口,并提高应用程序的效率。这些问题都是事务监控器中的资源管理需要解决的问题,对它们的研究有助于提高事务监控器的性能,增加事务监控器的可扩展性,方便应用程序的开发。 在对目前广泛使用的多种事务监控器产品的资源管理和相关规范的研究基础上,我们设计和实现了两种不同的事务系统中的资源管理模块。ISTX1.0是一个基于J2EE规范的事务服务,它本身可以向应用程序提供JTS事务服务,也可以加载到J2EE应用服务器中,向它提供JTA事务接口。ISTX1.0中的资源管理模块对系统中使用的所有数据库进行了统一的连接缓冲和复用管理,有效提高了应用程序和ISTX1.0的性能;另外它对JCA1.0规范进行了支持,任何遵循JCA规范的EIS系统都能方便地加入到ISTX1.0中;最后它和事务管理模块结合在一起,共同实现了资源在事务管理器中的注册和注销功能。整个资源管理模块的代码实现过程中使用了多种设计模式,所以系统的结构非常清晰,管理也很方便。 ISTX2.0是一个遵循X/Open DTP分布事务处理模型的事务监控器系统,可以在Windows、Unix和Solaris等多个平台下运行。它在系统内部实现了负载平衡,可用于构建关键任务和大规模、高容量的分布式企业级应用。ISTX2.0中的资源管理和ISTX1.0中的资源管理方法有很大的区别,它使用动态链接库实现了对异种平台下不同资源管理器的访问管理,利用钩子函数巧妙地支持了XA规范中“同一个进程”的事务判定方法,实现了事务在不同进程之间的切换。对于系统中所有的数据库连接,资源管理模块采用“一次连接,多次使用”的方法,从而避免了对连接的缓冲和复用管理。另外对于特定的应用场合,作者还对资源管理的方法提出了一种性能优化方案。 最后,论文从应用程序对数据库的访问方式,连接,连接池,对事务的跨线程支持,资源管理模块对数据库的访问方式,适用的环境,和遵循的规范七个方面对ISTX1.0和ISTX2.0的资源管理方法进行了简单比较,对全文进行了总结,并提出了进一步的工作。