检查点操作方法、装置及系统的制作方法

上传人:ting****789 文档编号:310009782 上传时间:2022-06-14 格式:DOCX 页数:5 大小:19.50KB
返回 下载 相关 举报
检查点操作方法、装置及系统的制作方法_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《检查点操作方法、装置及系统的制作方法》由会员分享,可在线阅读,更多相关《检查点操作方法、装置及系统的制作方法(5页珍藏版)》请在金锄头文库上搜索。

1、检查点操作方法、装置及系统的制作方法专利名称:检查点操作方法、装置及系统的制作方法技术领域:本发明实施例涉及计算机技术和数据库技术,尤其涉及一种检查点操作方法、装置及系统。背景技术:检查点(checkpoint)操作是数据库中的一个重要功能,目前所有的关系型数据库系统均支持该功能。数据库中通过周期性地运行检查点操作,并在检测点操作结束后生成日志,使得数据库可以根据已生成的日志对数据库系统进行恢复。从而,当数据库发生故障时,根据日志即可对数据库系统进行恢复,能够有效地缩短对数据库系统进行恢复所消耗的时间。在检查点操作的必要操作中包括将脏页面从缓冲区中写入磁盘的操作。其中,脏页面是指在缓冲区中已被

2、修改,而未被写回到磁盘中的页面。现有技术中,通过在数据库中按照修改时间对脏页面进行记录,在运行检查点操作时,可以将预设时间点之前的脏页面从缓冲区中写入磁盘,而不需要将缓冲区中的所有脏页面全部从缓冲区中写入磁盘。由于数据库中未结束的事务对应的脏页面,并不需要被写入到磁盘中,而采用现有技术中的检查点操作的方法时,在该预设时间点之前的所有脏页面都将被写入到磁盘,包括未结束的事务对应的脏页面。因此,现有技术中的检查点操作方法,会产生不必要的输入输出(Input/Output,I/O)请求,造成对系统资源不必要的占用,从而降低了数据库系统的性能。发明内容本发明实施例提供一种检查点操作方法、装置及系统,用

3、于解决现有技术中检查点操作方法降低数据库系统性能的问题。本发明实施例的第一个方面是提供一种检查点操作方法,包括:根据检查点操作指令中的截止事务号,查找事务号小于或等于所述截止事务号的目标事务,所述事务号为事务在起始时被分配的标识符;将所述目标事务对应的目标脏页面从缓冲区中写入磁盘中。结合第一个方面提供的检查点操作方法,在第一种可能的实现方式中,所述根据检查点操作指令中的截止事务号,查找事务号小于或等于所述截止事务号的目标事务包括:根据所述截止事务号,从对应关系中查找事务号小于或等于所述截止事务号的目标事务,所述对应关系中存储有已结束事务的事务号与脏页面的对应关系;相应地,所述将所述目标事务对应

4、的目标脏页面从缓冲区中写入磁盘中包括:根据所述对应关系,将与所述目标事务对应的脏页面作为目标脏页面;将所述目标脏页面从所述缓冲区中写入所述磁盘中,并从所述对应关系中将所述目标脏页面与事务号的对应关系删除。结合第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述截止事务号,从对应关系中查找事务号小于或等于所述截止事务号的目标事务包括:根据所述截止事务号,从所述对应关系中获取事务号小于或等于所述截止事务号的目标事务;根据所述对应关系,获取所述目标事务对应的脏页面的数量;若所述数量大于或等于预设门限值,则选择小于所述截止事务号的事务号作为本次检查点操作的调整后的截止事务号;从所述

5、对应关系中,查找事务号小于或等于所述调整后的截止事务号的目标事务。结合第一个方面的第一或第二种可能的实现方式,在第三种可能的实现方式中,所述对应关系以哈希表的形式进行存储。本发明实施例的第二个方面是提供一种检查点操作装置,包括:处理单元,用于根据检查点操作指令中的截止事务号,查找事务号小于或等于所述截止事务号的目标事务,所述事务号为事务在起始时被分配的标识符;写入单元,用于将所述目标事务对应的目标脏页面从缓冲区中写入磁盘中。结合第二个方面提供的检查点操作装置,在第一种可能的实现方式中,所述处理单元还用于:根据所述截止事务号,从对应关系中查找事务号小于或等于所述截止事务号的目标事务,所述对应关系

6、中存储有已结束事务的事务号与脏页面的对应关系;相应地,所述写入单元还用于:根据所述对应关系,将与所述目标事务对应的脏页面作为目标脏页面;将所述目标脏页面从所述缓冲区中写入所述磁盘中,并从所述对应关系中将所述目标脏页面与事务号的对应关系删除。结合第二个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元还用于:根据所述截止事务号,从所述对应关系中获取事务号小于或等于所述截止事务号的目标事务;根据所述对应关系,获取所述目标事务对应的脏页面的数量;若所述数量大于或等于预设门限值,则选择小于所述截止事务号的事务号作为本次检查点操作的调整后的截止事务号;从所述对应关系中,查找事务号小于或等

7、于所述调整后的截止事务号的目标事务。结合第二个方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述处理单元中的所述对应关系以哈希表的形式进行存储。本发明实施例的第三个方面是提供一种服务器,包括上述检查点操作装置。本发明实施例的第四个方面是提供一种数据库集群系统,包括至少一个上述的服务器,所述至少一个服务器之间通信连接。本发明实施例提供的检查点操作方法、装置及系统,根据检查点操作指令中的截止事务号,查找事务号小于或等于所述截止事务号的目标事务,将所述目标事务对应的目标脏页面从缓冲区中写入磁盘中,由于不会将当前缓冲区中的脏页面全部写入磁盘中,而是将其中的事务号小于或等于截止事务号的事

8、务对应的脏页面从缓冲区中写入磁盘中,能够有效地减少不必要的I/o请求,提高系统资源的利用率,并提高数据库系统的性能。图1为本发明实施例提供的检查点操作方法的流程图;图2为本发明实施例提供的另一检查点操作方法的流程图;图3为本发明实施例提供的检查点操作装置的结构示意图;图4为本发明实施例提供的另一检查点操作装置的结构示意图;图5为本发明实施例提供的服务器的结构示意图;图6为本发明实施例提供的数据库集群系统的结构示意图。具体实施例方式本发明各实施例对数据库操作中的检查点操作进行了改进,在对事务进行执行的起始时,为该事务增加事务号(transaction identification)的标记。从而,

9、根据事务的事务号,能够获知其与其他事务在执行时的先后顺序。检查点操作装置可以为服务器中的功能模块,也可以为独立的设备,用于执行本发明各实施例中的检查点操作的方法。本发明各实施例中的方法及装置可以应用在多种需要进行检查点操作的设备或系统中。图1为本发明实施例提供的检查点操作方法的流程图,如图1所示,该方法包括:101、根据检查点操作指令中的截止事务号,查找事务号小于或等于所述截止事务号的目标事务。其中,所述事务号为事务在起始时被分配的标识符。具体的,检查点操作装置在接收到检查点操作指令时,从检查点操作指令中获取其中所携带的截止事务号。截止事务号为用于表征本次检查点操作的截止点的事务号。事务号是每

10、个事务在被执行的起始时刻被分配的标识符。两个不同的事务在被执行时,将分别被分配不同的事务号。检查点操作装置根据检查点操作指令中的截止事务号进行查找,对于事务号大于该截止事务号的事务,不作为本次检查点操作的目标事务;将事务号小于或等于该截止事务号的事务作为目标事务。102、将所述目标事务对应的目标脏页面从缓冲区中写入磁盘中。具体的,检查点操作装置在为开始执行的事务分配事务号时,将记录事务与事务号之间的对应关系。当事务中的页面在缓冲区中被修改,而未写入磁盘时,该被修改的页面将成为脏页面。相应地,根据脏页面与事务之间的对应关系,以及事务与事务号之间的对应关系,可以获得脏页面与事务号之间的对应关系。检

11、查点操作装置在查找到目标事务之后,根据目标事务的事务号与脏页面之间的对应关系,查找到与目标事务对应的脏页面,并将与目标事务对应的脏页面作为目标脏页面。检查点操作装置将查找到的脏页面从缓冲区中写入磁盘中,进而,缓冲区中的脏页面在此之后成为干净的页面。干净的页面是指在缓冲区中和磁盘中已同步修改的页面。本发明实施例提供的检查点操作方法,根据检查点操作指令中的截止事务号,查找事务号小于或等于所述截止事务号的目标事务,将所述目标事务对应的目标脏页面从缓冲区中写入磁盘中,由于不会将当前缓冲区中的脏页面全部写入磁盘中,而是将其中的事务号小于或等于截止事务号的事务对应的脏页面从缓冲区中写入磁盘中,能够有效地减

12、少不必要的I/O请求,提高系统资源的利用率,并提高数据库系统的性能。图2为本发明实施例提供的另一检查点操作方法的流程图,如图2所示,该方法包括:201、根据所述截止事务号,从对应关系中查找事务号小于或等于所述截止事务号的目标事务。其中,所述事务号为事务在起始时被分配的标识符,所述对应关系中存储有已结束事务的事务号与脏页面的对应关系。具体的,可以参见步骤101中所述的实现方式。进一步地,检查点操作装置中可以存储有已结束事务的事务号与脏页面的对应关系O在事务执行过程中,检查点操作装置在事务执行的起始为其分配事务号,并记录脏页面与事务之间的对应关系;在事务结束后,记录已结束事务的事务号与脏页面之间的

13、对应关系,以便于根据截至事务号在该对应关系中进行查找。对应关系可以采用数据表的形式进行存储。优选的,所述对应关系可以采用哈希表的形式进行存储,在采用哈希表的情况下,检查点操作装置从对应关系中查找数据的效率更高。检查点操作装置在事务结束时,会判断出其为已结束事务。对于未结束的事务,检查点操作装置不会存储其与脏页面的对应关系。因此,在该对应关系中能够查找到的事务号,均为已结束事务的事务号。进一步地,根据所述截止事务号,从所述对应关系中获取事务号小于或等于所述截止事务号的目标事务;根据所述对应关系,获取所述目标事务对应的脏页面的数量;若所述数量大于或等于预设门限值,则选择小于所述截止事务号的事务号作

14、为本次检查点操作的调整后的截止事务号;从所述对应关系中,查找事务号小于或等于所述调整后的截止事务号的目标事务。具体的,检查点操作装置可以周期性地进行检查点操作,也可以在接收到触发消息之后启动检查点操作。由于该对应关系中存储有事务号与脏页面的对应关系,事务号能够表征事务之间的执行顺序,并且对于已从缓冲区中写入磁盘中的脏页面,其与事务号之间的对应关系,将从该对应关系中删除。因此,检查点操作装置根据上述对应关系获取到的目标事务,是当前缓冲区中全部脏页面对应的事务。检查点操作装置根据该对应关系能够获知当前缓冲区中的脏页面的数量。检查点操作装置中可以预先设置一个门限值,该门限值表示单次可允许从缓冲区中写

15、入磁盘的脏页面数量的最大值。当检查点操作装置判断出当前缓冲区中脏页面的数量小于该门限值时,则可以直接采用步骤101或201中所述的实现方式。当检查点操作装置判断出当前缓冲区中脏页面的数量大于或等于该门限值时,则可以减小本次检查点操作需要采用的截止事务号,即选择小于该检查点操作指令中的截止事务号的事务号,作为调整后的截止事务号。在这样的情况下,对于本次检查点操作的截止事务号的选取,可以采用多种实现方式,例如,可以根据预设的步长值减小当前的截止事务号,或者可以根据该门限值反推出需要采用的截止事务号等。进而,检查点操作装置根据调整后的截止事务号,在上述对应关系中,查找事务号小于或等于所述调整后的截止

16、事务号的目标事务。202、根据所述对应关系,将与所述目标事务对应的脏页面作为目标脏页面。具体的,由于上述对应关系中,存储有脏页面与事务号之间的对应关系,因此,检查点操作装置可以根据该对应关系,查找到与目标事务对应的脏页面,将所查找的脏页面作为目标脏页面。203、将所述目标脏页面从所述缓冲区中写入所述磁盘中,并从所述对应关系中将所述目标脏页面与事务号的对应关系删除。具体的,可以参见步骤102中所述的实现方式。进一步地,检查点操作装置将查找到的目标脏页面从缓冲区中写入磁盘中,使得缓冲区中的脏页面成为干净的页面。并且,检查点操作装置在将目标脏页面从缓冲区中写入磁盘中之后,还从上述对应关系中,将该目标脏页面与事务号的对应关系删除。从而,检查点操作装置无法从该对应关系中查找到该事务号对应的脏页面,也无法从该对应关系中查找到与该脏页面对应的事务号。本发明实施例提供的检查点操作方法,根据检查点操作指令中的截止事务号,查找事务号小于或等于所述截止事务号的目标事务,在目标事务对应的脏页面的数量大于或等于门限值的情况下,对本次检查点操作需要采用的截止事务号进

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号