论文部分内容阅读
实时数据库是舰船自动化的核心技术之一。实时性是实时数据库最主要的特点,与其相关的实时数据和实时事务也有显式的时间属性。实时数据库的关键技术指标除了系统的吞吐量之外,另外一个重要的性能指标是事务的错失率,错失率越低,性能越好。并发控制算法决定了实时数据库的实时性能,目前对于并发控制算法的研究主要是基于锁和乐观并发控制两类,基于锁的并发控制存在阻塞和死锁的问题,因此在实际应用中使用的相对较少。近年来许多研究人员都对实时数据库并发控制算法做了大量的研究,但现有的并发控制算法依然存在浪费的事务重启等问题。本文以提高实时数据库的并发性能为目的,通过研究现有的实时数据库并发控制算法,结合Redis内存数据库架构,设计并实现了基于Redis的实时数据库的并发控制算法,在一定程度上改善了现有控制算法存在的浪费的执行和不必要的重启等问题。本文的主要研究内容如下:(1)分析了实时数据库、实时事务以及实时数据的特点,对基于锁的并发控制算法和乐观并发控制算法进行了研究,通过比较各类并发控制算法,总结了不同控制算法的优缺点和可能影响算法性能的原因。(2)本文通过研究不同并发控制算法的优缺点,结合Redis内存数据库架构的特点,在OCC-DA算法的基础上改进得到了OCC-DA-MCP算法,该算法能在一定程度上减少浪费的执行和不必要的事务重启。另外,分析了OCC-DA-MCP算法在高负载条件下导致过多事务重启的问题,利用降低优先级的策略对OCC-DA-MCP算法进行了改进,得到了在高负载情况下性能更优异的OCC-DA-MCPM控制算法。(3)本文最后进行了事务错失率、关键事务错失率、重启事务提交率等实验,通过对比,证明了OCC-DA-MCP算法和OCC-DA-MCPM算法减少实时事务错失率、提高CPU利用率的能力。