论文部分内容阅读
随着个人计算机的普及以及网络通信技术的发展,分布式计算逐渐成为计算技术的主流。作为实现分布式计算的核心,中间件为用户透明地使用分布在异构网络和操作系统上的资源,提供了有效的支持。简单的讲,中间件是一种介于操作系统和分布应用系统之间的平台软件,为应用系统提供通用、成熟、可靠的服务。消息中间件是一类非常重要的中间件,它的主要功能是在应用程序之间传递消息,解决网络通信中传输的可靠性、传输的效率、系统的可管理性等核心问题。基于消息中间件,分布的应用系统通过消息的传递可以简单地进行数据的共享和运算的协作。消息存储是消息中间件要解决的一个关键问题,它的实现技术对消息中间件的系统功能和性能有很大的影响。在综合分析了多种实现方法的基础上,我们设计和实现了一个基于页面的消息存储系统ISMQSM。ISMQSM提供内存队列、持久队列和事务队列三种消息缓冲机制,能满足不同级别可靠性和操作效率的需求;ISMQSM采用页式管理消息和队列,以提高存储利用率;ISMQSM还提供了事务恢复,支持用户级事务,并且使用内部子事务来实现关键数据操作,以保证消息存储的完整性和一致性。ISMQSM分为存储管理器、事务恢复、系统资源三个核心子系统和用户权限管理子系统。本文给出了四个子系统的设计,以及核心子系统的实现。另外,为了支持用户级事务和内部子事务,在研究了ARIES和MLR算法的基础上,本文提出了一个特定于消息中间件的改进的事务恢复算法TRAMQ,目前该算法已很好地应用到了ISMQSM中。