【技术实现步骤摘要】
检查点淘汰方法和装置
本申请涉及数据存储领域,尤其涉及一种检查点淘汰方法和装置。
技术介绍
在数据存储中,一个对象在逻辑上是连续的空间,但是在物理上对象的数据块和元数据块(用来管理数据块)可能分配到离散磁盘空间。因此对对象的一次写操作可能对应多个磁盘的写操作。只有这些磁盘写操作都完成才能认为完成对该对象写操作。为了达到这样的效果,在文件系统中引入了事务的概念。事务要求操作的一致性,即事务成功之后,磁盘上的数据集要保证一致,元数据和数据关系以及元数据之间的关系保证一致。第三代扩展文件系统(ThirdExtendedFileSystem,Ext3)以及第四代扩展文件系统(FourthExtendedFileSystem)通过检查点(checkpoint)机制来保证数据的一致性。数据块直接写盘,元数据块写日志区,同时在内存形成检查点数据集,后台线程根据检查点的时间将检查点数据集淘汰至磁盘。当新增事务时,有可能会修改已有检查点中的数据集,此时需要将对应数据集从已有检查点迁移至新增的检查点或事务中。此时再按照检查点的时间将检查点数据集淘汰至硬盘时,由于已有检查点中数据集已经 ...
【技术保护点】
一种检查点淘汰方法,其特征在于,包括:从创建时间最久的检查点的第一脏页面开始遍历,其中,属于同一个检查点的脏页面按照第一链表指针进行链接;如果第一脏页面的第二链表指针指向第二脏页面,则将所述第一脏页面加入淘汰队列,并遍历所述第二脏页面,其中,所述第二脏页面为按照逻辑块地址LBA位于所述第一脏页面之后并且与所述第一脏页面最近的脏页面,所述第二脏页面所属检查点与所述第一脏页面所属检查点相同或不同;如果所述第一脏页面的第二链表指针为空,则将所述第一脏页面加入所述淘汰队列,并将所述淘汰队列中的脏页面淘汰,从所述第一脏页面的第一链表指针指向的未经淘汰的下个脏页面重新开始遍历。
【技术特征摘要】
1.一种检查点淘汰方法,其特征在于,包括:从创建时间最久的检查点的第一脏页面开始遍历,其中,属于同一个检查点的脏页面按照第一链表指针进行链接;如果第一脏页面的第二链表指针指向第二脏页面,则将所述第一脏页面加入淘汰队列,并遍历所述第二脏页面,其中,所述第二脏页面为按照逻辑块地址LBA位于所述第一脏页面之后并且与所述第一脏页面最近的脏页面,所述第二脏页面所属检查点与所述第一脏页面所属检查点相同或不同;如果所述第一脏页面的第二链表指针为空,则将所述第一脏页面加入所述淘汰队列,并将所述淘汰队列中的脏页面淘汰,从所述第一脏页面的第一链表指针指向的未经淘汰的下个脏页面重新开始遍历。2.根据权利要求1所述的方法,其特征在于,所述将所述淘汰队列中的脏页面淘汰,包括:如果所述淘汰队列中的脏页面的LBA不连续,则按照LBA顺序分别淘汰所述淘汰队列中的脏页面。3.根据权利要求1所述的方法,其特征在于,所述将所述淘汰队列中的脏页面淘汰,包括:如果所述淘汰队列中的脏页面的LBA连续,则聚合淘汰所述淘汰队列中的脏页面。4.根据权利要求1所述的方法,其特征在于,在所述从创建时间最久的检查点的第一脏页面开始遍历之前,所述方法还包括:当创建新检查点的第三脏页面时,如果所述第三脏页面按照所述LBA位于所述第一脏页面与所述第二脏页面之间,则将所述第一脏页面的第二链表指针指向所述第三脏页面,将所述第三脏页面的第二链表指针指向所述第二脏页面。5.根据权利要求1所述的方法,其特征在于,在所述从创建时间最久的检查点的第一脏页面开始遍历之前,所述方法还包括:当创建新检查点的第三脏页面时,如果所述第三脏页面按照所述LBA位于所述第一脏页面之后并且与所述第一脏页面最近,并且所述第一脏页面的第二链表指针为空,则将所述第一脏页面的第二链表指针指向所述第三脏页面,并将所述第三脏页面的第二链表指针置为空。6.一种检查点淘汰装置,其特征在于,包括:遍历单元,用于从创建时间最久的检查点的第一脏页面开始遍历,其中,属于同一个检查点的脏页面按照第一链表指针进行链接;淘汰单元,用于如果第一脏页面的第二链表指针指向第二脏页面,则...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。