论文部分内容阅读
在线事务处理应用面临着并发量和数据量持续增长的挑战,传统的应用服务器集群技术和分布式缓存技术并不能从根本上缓解高并发读写操作对于后台数据库的压力,管理分布式缓存的存储内容还导致了应用程序逻辑变复杂。内存数据网格地出现有效弥补了分布式缓存的局限性,能够处理写操作和简化应用逻辑,从而使数据库从高并发读写操作中完全解放出来。
内存数据网格作为分布式缓存的进化,采用键值对的数据模型,支持数据共享和数据随机访问,能够提高数据访问速度和程序扩展性。然而,内存数据网格能够成为数据终端访问平台的关键在于其保障操作的事务性,这使得应用的简单读写请求可以直接在内存数据网格上处理,不需要数据库的参与。由于内存数据网格是分布式的数据访问平台,应用的事务请求涉及的数据分布是不可预知的,因此分布式事务的保障面临巨大挑战。
本文重点研究内存数据网格的事务保障机制。在事务处理模型方面,本文设计了内存数据网格事务处理架构,规范了事务操作接口并统一定义了系统客户端与服务器端以及服务器端节点之间的交互方式;本文以两阶段提交协议为基础来保障分布式事务的正确处理,采用分布式协调者模型和服务器端驱动的数据定位方式,描述了单数据事务和多数据事务的处理流程,以事务操作日志来辅助分布式事务的执行;同时采用分布式锁管理模型来实现并发控制方法,提出防止写操作被饥饿处理的并发请求调度算法,并根据内存数据网格的自身特点采用死锁预防机制。
基于上述研究和设计,论文实现了一个支持分布式事务的内存数据网格系统,由集群化的保障分布式事务的服务器端和发起远程事务请求的客户端组成。测试结果表明,该系统可以提高在线事务处理应用的性能,并具备良好的扩展性。