发明名称 面向内存数据库OLTP应用的日志检查点恢复方法
摘要 本发明公开了一种面向内存数据库OLTP应用的日志检查点恢复方法。该方法采取了基于双日志双检查点备份的日志检查点技术,两套备份文件可以轮流使用,保证了数据库无论是在事务处理过程中,执行检查点操作过程中还是在恢复过程中崩溃,都可以恢复到最近的一个一致状态。同时,本发明利用MMAP共享内存机制快速建立从检查点备份文件到内存中的数据库的映射,实现了针对海量数据库的快速恢复。
申请公布号 CN102541691B 申请公布日期 2015.01.28
申请号 CN201110445145.9 申请日期 2011.12.27
申请人 北京人大金仓信息技术股份有限公司 发明人 耿怡娜;周烜;王珊;冯玉;覃雄派;杨经正;薛忠斌
分类号 G06F11/14(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 北京汲智翼成知识产权代理事务所(普通合伙) 11381 代理人 陈曦;郭亚芳
主权项 一种面向内存数据库OLTP应用的日志检查点恢复方法,假设磁盘中检查点ID文件中的值是X,所述X的取值为0或1,当前的内存数据库使用的检查点ID为X,并且当前使用的是X版本的检查点备份文件建立的到内存中的MMAP映射,其特征在于包括下述步骤:11)使用(1-X)版本的检查点备份文件建立从磁盘到内存数据库的MMAP映射,将当前内存数据库的检查点ID设为(1-X);12)利用(1-X)版本的日志文件对新建立的内存中的数据库进行redo操作;13)将内存中的脏页刷到X版本的检查点备份文件中;14)删除X版本的日志文件中的信息;15)修改磁盘上的检查点ID文件中的值,即令X=1-X;16)将内存中的脏数据通过MMAP共享内存机制刷到磁盘上的检查点ID文件中的值的该版本的检查点备份文件中;17)删除磁盘上的检查点ID文件中的值的该版本的日志文件中的信息;其中在数据库恢复过程中发生崩溃时,如果崩溃发生在所述步骤15)成功执行之前,仍然使用磁盘上(1-X)版本的日志和检查点备份文件进行恢复;如果崩溃发生在所述步骤15)执行之后,使用磁盘上(X)版本的日志和检查点备份文件进行恢复。
地址 100085 北京市海淀区上地西路8号院4号楼601室