论文部分内容阅读
Web应用服务器为开发、部署、运行、集成、维护和管理中间层应用服务提供一个通用运行环境。而为了提高应用服务器EJB访问的效率,节省系统资源和提升整个系统的可伸缩性,需要对中间层数据(如EJB对象等)进行高速缓存处理。尤其在集群环境中,应用服务器要支持EJB的负载平衡和失效恢复。对象缓存需要解决诸如系统的可伸缩性,数据完整性,数据一致性以及数据的容错性。本文工作主要围绕Web应用服务器的EJB组件对象缓存及其一致性的主要关键技术展开研究。 一方面,我们解决了单应用服务器EJB对象缓存及其一致性问题。对于无状态的Bean(包括Stateless Session Bean和Message Driven Bean)的缓存,我们通过使用调度池来调度少数Bean的实例为多个客户端程序服务。对于有状态的Bean(包括Stateful Session Bean和Entity Bean)的缓存,通过引入对象缓存机制结合调度池技术对Bean的实例进行管理,并通过持久化管理技术解决了缓存管理中的一致性问题。 另一方面,我们研究了应用服务器集群中EJB对象缓存及其一致性问题。我们实现了一个集群缓存服务框架解决上述问题。在该框架中,我们在单应用服务器对象缓存的基础上,增加复制缓存服务和分布式缓存服务,解决了集群环境下对象缓存及其一致性的问题,并通过Read-through/Write-behind缓存模型来实现了高效率的数据存储。