一种数据库记录重做日志的方法和装置制造方法及图纸

技术编号:8366815 阅读:342 留言:0更新日期:2013-02-28 05:29
本发明专利技术公开了一种数据库记录重做日志的方法和装置,属于计算机技术领域。该方法包括:接收日志记录请求,该日志记录请求中携带有事务标识和日志信息;判断该日志记录请求是否为所述事务标识对应的第一次日志记录请求;如果是,则在重做缓存中选取部分缓存空间,建立与所述事务标识对应的事务缓存块,并将所述日志信息与对应的全局顺序信息记录到该事务缓存块中;否则,确定所述事务标识对应的已建立的事务缓存块中当前使用的事务缓存块,并将所述日志信息与对应的全局顺序信息记录到该事务缓存块中;当预设的触发事件发生时,将重做缓存中的日志信息进行持久化。采用本发明专利技术,可以提升数据库系统的处理速度。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种数据库记录重做日志的方法和装置
技术介绍
数据持久化的同时是软件领域一项非常广泛且常用的技术,特别是在数据库领域。对数据库的操作是以事务的处理形式来进行的,数据库的事务,是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非处理该事务的逻辑工作单元内的所有操作都成功完成,否则不会永久更新数据库中的数据。通过将一组相关操作组合为一个要么全部成功要么全部失败的事务,可以简化错误恢复流程,并提高应用程序的可靠性。为了保证数据库的可恢复性,对数据库的所有的修改都会在重做缓存中记录redo(重做)日志,并将重做日志持久化到磁盘的日志文件中。在进行数据恢复时,只需要反向执行重做日志所记录的操作即可。·现有技术在重做缓存中记录重做日志的过程,采用互斥锁,每次只允许对一个操作记录重做日志,在一个日志记录完成后,再对下一个操作开始记录日志。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题在数据库应用的过程中,经常会出现多个事务并行执行的情况,这时可能会有多个线程(或进程)同时请求记录日志,或者也可能在一个日志在重做缓存中记录的过程中本文档来自技高网...

【技术保护点】
一种数据库记录重做日志的方法,其特征在于,所述方法包括:接收日志记录请求,所述日志记录请求中携带有事务标识和日志信息;判断所述日志记录请求是否为所述事务标识对应的第一次日志记录请求;如果是,则在重做缓存中选取部分缓存空间,建立与所述事务标识对应的事务缓存块,并将所述日志信息与对应的全局顺序信息记录到该事务缓存块中;否则,确定所述事务标识对应的已建立的事务缓存块中当前使用的事务缓存块,并将所述日志信息与对应的全局顺序信息记录到该事务缓存块中;所述全局顺序信息记录所述日志信息在所有日志信息中的时序;当预设的触发事件发生时,将所述重做缓存中的日志信息进行持久化。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈志标彭勇飞吴程宏
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1