[发明专利]一种内存数据库的日志合并方法和系统无效
申请号: | 200910305932.6 | 申请日: | 2009-08-21 |
公开(公告)号: | CN101625703A | 公开(公告)日: | 2010-01-13 |
发明(设计)人: | 卢正新;王非;黄本雄;王芙蓉;吴惠君 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/34 |
代理公司: | 北京市德权律师事务所 | 代理人: | 周发军 |
地址: | 430074湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 数据库 日志 合并 方法 系统 | ||
技术领域
本发明涉及内存数据库备份和恢复领域,尤其涉及内存数据库日志系统中的缩减日志量的技术领域。
背景技术
内存数据库因其快速的访问性能,被越来越广泛的使用在电信、金融、电力等行业。在内存数据库复杂的应用领域中,它承担处理的数据越来越多,接收的事务越来越多,扮演的角色也越来越重要。正因为内存数据库在现代应用中越来越重要的应用,它的数据安全性越来越被重视,作为记录数据库工作的日志也被重视起来。然而内存数据库承担的事务越来越多,事务越来越复杂,记录事务的日志也越来越多,日志数量变得十分的庞大。如此大量的日志不仅增加了数据库的负担,而且也加长了数据库恢复的时间,是对内存数据库的应用十分不利的。
现有的内存数据库记录的日志一般是物理日志,对于数据库记录的日志一般按照直接的内存映像存储,或者通过压缩技术存储。通过压缩技术存储日志需要在备份和恢复阶段都要对日志进行大量的运算(在备份阶段需要压缩日志然后存储,在恢复阶段需要解压缩日志然后执行恢复),虽然这种方法压缩了日志的大小,减少了日志存储的空间,但是这种方法增加了系统负担,耗费了大量时间,不适用于对时间要求较高的内存数据库的应用场合;另外,这种方法并没有从日志数量上进行缩减,在恢复阶段仍然有恢复同样数量的日志。减少日志量的另一方法是通过事务协议来减少记录日志,这种方法对事务处理提出了要求,导致事务处理变得复杂,对于不同的事务协议没有通用性,这种减少日志的方法只适用在采用能够减少记录日志的事务协议的数据库中。
发明内容
本发明所要解决的技术问题是提供一种有效缩减日志量的日志合并方法及系统。
为解决上述技术问题,本发明提供了一种日志合并方法,包括以下步骤:a,对新进入缓冲区的日志执行事务逻辑相关性判别,包括以下步骤:
a1,对新进入缓冲区的日志,根据日志类型判别是否是其对应事务的最后一个日志且是可合并日志,若是,执行步骤a2,否则结束;
a2,根据日志头中记录的该日志在事务内的逻辑顺序信息,在日志缓存块中查找上一个日志;
a3,判别是否找到日志,若没找到则执行步骤a4,否则转至步骤a5;
a4,合并所查找到的一系列日志,合并然后插入到最后一个日志的位置上,并将原被已经合并的日志删除,然后结束;
a5,判别步骤a2获取的上一个日志是否在最后一个不可合并的日志以前,若是则结束,否则转至步骤a2;
b,判断是否执行逻辑合并,若是则执行步骤c,否则转至步骤d;
c,执行基于事务逻辑的日志合并;
d,对新日志包含的数据对象执行数据对象一致性判别,包括以下步骤:
d1,对新进入缓冲区的日志判断日志类型,如果是不可合并日志,执行步骤d2,否则转至步骤d3;
d2,清空hash表,为后面的插入行操作日志做好准备,并转至步骤d8;
d3,取得本日志描述的数据对象的内存地址rAddr;
d4,依据rAddr计算hash值,查找hash表;
d5,判断是否有相同地址的日志,如果有,执行步骤d6,否则转至步骤d7;
d6,执行日志合并,并转至步骤d8;
d7,将本条日志插入hash表;
d8,向缓冲块中插入本条日志;
e,判断是否执行日志数据对象一致合并,若是则执行步骤f,否则执行步骤g;
f,执行基于数据对象的日志合并;
g,将新日志插入到缓存块中。
按上述方案,所述日志缓存块内采用hash结构组织。
另一方面,本发明提供一种对应于上述方法的日志合并系统,包括内存中的日志缓存块、日志管理文件和日志文件,所述日志缓存块由缓存块头和多个缓存块组成,用于缓存日志;所述日志管理文件用于记录日志文件的相应管理信息,由文件头和信息区组成;所述日志文件用于存储已经经过合并后的日志。
按上述方案,所述日志合并系统还包括写磁盘日志线程。
按上述方案,所述文件头用于记录相关管理信息。
按上述方案,所述信息区用于记录对应数据库映像文件、检查点和日志文件链表信息。
实施本发明具有如下有益效果:
在本发明所提出的一种内存数据库的日志合并方法及系统中,通过对每条日志进行hash查找匹配可合并的日志然后合并这些日志,不仅减少了内存数据库的日志数量,而且加快了数据库的恢复速度,解决了内存数据库的日志数量大的技术问题,同时降低了部署成本,提高了系统性能。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910305932.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:验证环境系统及其搭建方法
- 下一篇:一种检测DNA之间微小结构差别的方法