[发明专利]一种基于事务聚集的日志组织结构及实现其相应的恢复协议的方法无效
申请号: | 201210191566.8 | 申请日: | 2012-06-12 |
公开(公告)号: | CN102760161A | 公开(公告)日: | 2012-10-31 |
发明(设计)人: | 徐昶;冯柯;蔡华林;蒋志勇;何清法;周丽霞;顾云苏;曹晖;李阳;饶路 | 申请(专利权)人: | 天津神舟通用数据技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/34 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 事务 聚集 日志 组织 结构 实现 相应 恢复 协议 方法 | ||
技术领域
本发明设计属于数据信息处理领域,特别涉及使用日志技术来保证数据一致性的事务性数据管理系统。
背景技术
在冯氏计算机体系结构中,永久性数据被存放在速度较慢、容积较大的外存设备中(如硬盘),而当数据被访问时,它被读入速度较快、容积较小的内存设备中(如RAM),并被中央处理器访问。然而由于性能的要求,数据在更新时只更新其内存映像,而对外存的更新由缓冲区管理单元延时进行。
在事务性数据管理系统中,单个事务——即由若干条更新所组成的一次操作过程——被视为一个基本工作单元,它有两条重要的性质,一为一致性,即所有对数据的更新必须同时被看到,或者完全看不到;二是持久性,即当事务提交时,所有对数据的更新必须永久保存到系统中。在大量并发事务同时工作的情况下,一致性和持久性是保证整个系统正确运行的必备条件。但由于数据的外存映像总是延迟于内存的最新版本,因此当系统发生故障时,此时外存的数据版本可能丢失已提交事务的更新(破坏持久性),也可能保存了未提交事务的更新(破坏一致性)。
目前所有的事务性数据管理系统均采用基于日志的恢复协议来恢复系统,以实现一致性和持久性。这一协议可以被简要描述如下:日志是外存上的一个流结构文件,系统在内存中维护一个日志缓冲区,其中存放最近产生的日志。当事务A准备对数据页面P进行一条更新U时,系统向日志缓冲区中产生一条日志(S,A,P,U,Cp,Cs,Sprev),其中S是本条日志在日志流中的唯一日志序列编号(随时间单调递增),Cp是更新的数据前项,Cs是更新的数据后项,而Sprev是事务A的上一条更新日志的日志序列编号。事务在更新前,将S写在P上。而数据缓冲区管理单元和事务管理单元必须遵循以下原则:1)当数据页面被数据缓冲区管理单元写回外存时,其页面上的唯一日志序列编号之前的日志必须被先物化到外存日志文件中。2)当事务提交时,此时日志缓冲区内的所有日志必须被物化到外存日志文件中。
当整个系统发生故障时,首先扫描外存已经物化的日志文件,每条日志S对应的页面P被读入内存,并检查页面上的日志序列编号S’与S之间的关系,如果S’小于S,则说明页面的外存版本在本条日志更新之前,此时本条日志需要被重做,并将页面序列号更新到S,如果S’大于S,则说明本条日志对应的更新已经物化过了,不需要重做。由于事务提交时必须物化所有的日志,因此事务的持久性得到了保证。当所有日志都被扫描并按需重做后,同时也构建了发生故障时的活跃事务表,由于同一事务的更新日志被通过日志的Sprev域链接起来,因此可以回退所有的更新日志,使数据库恢复到一致状态。
上述日志结构和恢复协议在现代计算机系统中存在着一定的问题。首先,单条日志的体积较大,由于每条日志必须记录日志序列编号S,事务号A,事务日志前项Sprev,这些域加起来的长度往往超过20字节,而如果一条更新本身操作的数据较短时,这些域所占的空间往往接近整个日志文件空间的1/3甚至1/2;其次,由于产生日志的动作必须全局同步以保证日志序列的唯一递增性,而当前的大型计算机往往拥有几十甚至上百个中央处理器,当更新密集发生时,会造成延展性的瓶颈。
发明内容
本发明目的在于提供一种按事务聚集的日志组织结构,以及基于其上的恢复协议的实现方法,以达到减小日志文件体积,提高系统在高并发条件下的性能的目标。
为达到上述目标,本发明是通过以下技术方案实现的:
一种按事务聚集的日志组织结构。日志文件被顺序组织为若干个日志片,每个日志片的长度可以不一样,但都为外存设备基本块单元长度的整数倍。
所述日志文件组织结构中的一个日志片存放同一个事务的日志内容,其基本结构为:(S,A,Pn,Ln,Pa,La,Sprev)。其中,S代表本日志片在日志文件中的唯一日志序列编号,A代表本日志片的相关事务号,Pn代表本日志片所涉及的数据页面数目,Ln代表本日志片所包含的日志数目,它们都是定长的域。面Pa是本日志片中的日志涉及的所有页面的页面号数组,数组共有Pn个定长的项,每项代表一个单独的数据页面编号。La是所有的日志项数组,数组共有Ln个变长的项,每项代表一条单独的日志。Sprev为本事务的上一日志片的序列号。
所述日志片中的页面号数组Pa按照页面号排序,以便于通过二分法快速定位访问。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津神舟通用数据技术有限公司,未经天津神舟通用数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210191566.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:拌料机
- 下一篇:一种防伪封印检验识别系统