CN107562642B - 检查点淘汰方法和装置 - Google Patents

检查点淘汰方法和装置 Download PDF

Info

Publication number
CN107562642B
CN107562642B CN201710602187.6A CN201710602187A CN107562642B CN 107562642 B CN107562642 B CN 107562642B CN 201710602187 A CN201710602187 A CN 201710602187A CN 107562642 B CN107562642 B CN 107562642B
Authority
CN
China
Prior art keywords
dirty page
dirty
page
linked list
checkpoint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710602187.6A
Other languages
English (en)
Other versions
CN107562642A (zh
Inventor
丁敬文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710602187.6A priority Critical patent/CN107562642B/zh
Publication of CN107562642A publication Critical patent/CN107562642A/zh
Application granted granted Critical
Publication of CN107562642B publication Critical patent/CN107562642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种检查点淘汰方法和装置,涉及数据存储领域,用于解决检查点数据集淘汰至磁盘时写入磁盘的物理位置不连续的问题。检查点淘汰方法包括:从创建时间最久的检查点的首个脏页面开始遍历,属于同一个检查点的脏页面按照第一链表指针进行链接;如果确定第一脏页面的链表指针指向第二脏页面,则将所述第一脏页面加入淘汰队列,并遍历所述第二脏页面,其中,所述第二脏页面为按照逻辑块地址LBA位于所述第一脏页面之后并且与所述第一脏页面最近的脏页面;如果确定所述第一脏页面的链表指针为空,则将所述第一脏页面加入所述淘汰队列,并将所述淘汰队列中的脏页面淘汰,重新开始遍历。本申请实施例应用于Ext3或Ext4等文件系统。

Description

检查点淘汰方法和装置
技术领域
本申请涉及数据存储领域,尤其涉及一种检查点淘汰方法和装置。
背景技术
在数据存储中,一个对象在逻辑上是连续的空间,但是在物理上对象的数据块和元数据块(用来管理数据块)可能分配到离散磁盘空间。因此对对象的一次写操作可能对应多个磁盘的写操作。只有这些磁盘写操作都完成才能认为完成对该对象写操作。为了达到这样的效果,在文件系统中引入了事务的概念。事务要求操作的一致性,即事务成功之后,磁盘上的数据集要保证一致,元数据和数据关系以及元数据之间的关系保证一致。
第三代扩展文件系统(Third Extended File System,Ext3)以及第四代扩展文件系统(Fourth Extended File System)通过检查点(checkpoint)机制来保证数据的一致性。数据块直接写盘,元数据块写日志区,同时在内存形成检查点数据集,后台线程根据检查点的时间将检查点数据集淘汰至磁盘。
当新增事务时,有可能会修改已有检查点中的数据集,此时需要将对应数据集从已有检查点迁移至新增的检查点或事务中。此时再按照检查点的时间将检查点数据集淘汰至硬盘时,由于已有检查点中数据集已经不连续,使得写入磁盘时物理位置不连续(即位置随机)。
发明内容
本申请的实施例提供一种检查点淘汰方法和装置,用于解决检查点数据集淘汰至磁盘时写入磁盘的物理位置不连续的问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种检查点淘汰方法,该方法包括:从创建时间最久的检查点的第一脏页面开始遍历,其中,属于同一个检查点的脏页面按照第一链表指针进行链接;如果第一脏页面的第二链表指针指向第二脏页面,则将第一脏页面加入淘汰队列,并遍历第二脏页面,其中,第二脏页面为按照逻辑块地址LBA位于第一脏页面之后并且与第一脏页面最近的脏页面,所述第二脏页面所属检查点与所述第一脏页面所属检查点相同或不同;如果第一脏页面的第二链表指针为空,则将第一脏页面加入淘汰队列,并将淘汰队列中的脏页面淘汰,从所述第一脏页面的第一链表指针指向的未经淘汰的下个脏页面重新开始遍历。本申请实施例提供的检查点淘汰方法,通过将检查点中的脏页面按照逻辑块地址顺序建立链表,当淘汰时,按照该链表对脏页面进行淘汰,使得逻辑块地址相近或连续的脏页面可以在相近或连续物理磁盘中写盘,解决了检查点数据集淘汰至磁盘时写入磁盘的物理位置不连续的问题。
在一种可能的设计中,将淘汰队列中的脏页面淘汰,包括:如果淘汰队列中的脏页面的LBA不连续,则按照LBA顺序分别淘汰该淘汰队列中的脏页面。该设计提供了一种淘汰LBA不连续脏页面的方法。
在一种可能的设计中,将淘汰队列中的脏页面淘汰,包括:如果淘汰队列中的脏页面的LBA连续,则聚合淘汰该淘汰队列中的脏页面。该设计提供了一种淘汰LBA连续脏页面的方法。
在一种可能的设计中,在从创建时间最久的检查点的首个脏页面开始遍历之前,方法还包括:当创建新检查点的第三脏页面时,如果第三脏页面按照LBA位于第一脏页面与第二脏页面之间,则将第一脏页面的第二链表指针指向第三脏页面,将第三脏页面的第二链表指针指向第二脏页面。该设计提供了在第一脏页面与第二脏页面之间插入第三脏页面的方法。
在一种可能的设计中,在从创建时间最久的检查点的首个脏页面开始遍历之前,方法还包括:当创建新检查点的第三脏页面时,如果第三脏页面按照LBA位于第一脏页面之后并且与第一脏页面最近,并且第一脏页面的链表指针为空,则将第一脏页面的第二链表指针指向第三脏页面,将第三脏页面的第二链表指针置为空。该设计提供了在第一脏页面后面直接插入第三脏页面的方法。
第二方面,提供了一种检查点淘汰装置,包括:遍历单元,用于从创建时间最久的检查点的第一脏页面开始遍历,其中,属于同一个检查点的脏页面按照第一链表指针进行链接;淘汰单元,用于如果第一脏页面的第二链表指针指向第二脏页面,则将第一脏页面加入淘汰队列,并遍历第二脏页面,其中,第二脏页面为按照逻辑块地址LBA位于第一脏页面之后并且与第一脏页面最近的脏页面,所述第二脏页面所属检查点与所述第一脏页面所属检查点相同或不同;淘汰单元,还用于如果第一脏页面的第二链表指针为空,则将第一脏页面加入淘汰队列,并将淘汰队列中的脏页面淘汰,从所述第一脏页面的第一链表指针指向的未经淘汰的下个脏页面重新开始遍历。基于同一发明构思,由于该装置解决问题的原理以及有益效果可以参见上述第一方面和第一方面的各可能的方法实施方式以及所带来的有益效果,因此该装置的实施可以参见上述第一方面和第一方面的各可能的方法的实施方式,重复之处不再赘述。
第三方面,提供了一种检查点淘汰装置,包括:处理器、存储器、总线;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该设备执行上述第一方面中任意一项的方法;基于同一发明构思,处理器调用存储在存储器中的指令以实现上述第一方面的方法设计中的方案,由于该设备解决问题的实施方式以及有益效果可以参见上述第一方面和第一方面的各可能的方法的实施方式以及有益效果,因此该设备的实施可以参见上述方法的实施,重复之处不再赘述。
第四方面,本申请实施例提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面的方法。第四方面所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
第五方面,本申请实施例提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得该计算机执行如第一方面的方法。第五方面所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请的实施例提供的检查点淘汰装置的结构示意图;
图2为本申请的实施例提供的Ext3事务的机制示意图;
图3为本申请的实施例提供的Ext3事务中元数据迁移方式的示意图;
图4为本申请的实施例提供的检查点淘汰方法的流程示意图;
图5为本申请的实施例提供的检查点创建和淘汰的示意图;
图6为本申请的实施例提供的一种检查点淘汰装置的结构示意图;
图7为本申请的实施例提供的另一种检查点淘汰装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请实施例提供的检查点淘汰装置100,参照图1中所示,包括处理器101、存储器102和总线103,处理器101通过总线103与存储器102相连。
处理器101可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(Application-Specific Integrated Circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
存储器102可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器102用于存储执行本申请方案的应用程序代码,并由处理器101来控制执行。处理器101用于执行存储器102中存储的应用程序代码,从而实现本申请实施例中所述的方法。
参照图2中所示,具体的,存储器包括内存1021、磁盘1022。其中,内存1021中存储有最近最久未使用(Least Recently Used,LRU)脏页面(dirty page)缓存(cache),磁盘1022包括日志区和文件系统区。对于Ext3文件系统,一般缺省使用Ordered日志模式来实现事务机制,下面示例性的介绍Ordered模式的机制,参照图1中所示,包括:
(1)LRU脏页面缓存读取和修改的元数据,形成一个事务(即检查点),每个事务包含脏页面集合,每个脏页面对应一个元数据。
(2)将数据直接写文件系统区。
(3)将修改过的脏页面集合写入日志区,并在内存中形成对应事务的检查点集合。
(4)在内存空间、日志空间和时间阈值等因素达到一定条件,将检查点集合淘汰(写)到文件系统区。淘汰完毕之后,对应的日志区空间可以释放。检查点集合包括多个检查点,每个检查点包括至少一个脏页面,这些脏页面在硬盘上可能不连续,将这些数据写到磁盘上会产生严重的磁头跳跃。
Ext3事务连续运行之后,在内存中形成检查点集合,每个检查点包含若干个已经写到日志区但是还未写到文件系统区的元数据页面。当新的事务产生的时候,如果修改了在已有检查点集合中的元数据,则可以直接从原来的检查点中删除对应的脏页面,加入到新产生的事务集合中。
参照图3中所示,示出了Ext3事务中元数据迁移方式。在纵向上,事务或检查点通过第一链表管理对应的脏页面,即属于同一个检查点的脏页面按照第一链表指针进行链接。例如事务1(检查点1)包括A1、B1、C1和D1共4个脏页面,在第一链表上,A1的第一链表指针指向脏页面B1,B1的第一链表指针指向脏页面C1,C1的第一链表指针指向脏页面D1。
参照图3中(1)所示,当新事务不断产生的时候,修改了检查点1中的脏页面。例如检查点2修改A1变为A2,检查点2修改了D1变为D2;检查点3修改A2变为A3,检查点3修改D2变为D3;检查点4修改了C1变为C2;检查点5修改B1变为B2。这样检查点1下面的所有数据块全部迁移到后面的事务,对应占用日志区空间可以全部释放,结果参照图3中(2)所示。
本申请实施例提供的检查点淘汰方法,应用于上述系统,参照图4中所示,该方法包括:
S101、当创建新检查点的第三脏页面时,如果第三脏页面按照逻辑块地址(LogicBlock Address,LBA)位于第一脏页面与第二脏页面之间,则将第一脏页面的第二链表指针指向第三脏页面,将第三脏页面的第二链表指针指向第二脏页面。
在新建事务(检查点)时就在每个脏页面里存入了LBA地址。
为了与上述检查点管理自身的脏页面的第一链表指针相区别,此处另外定义新的第二链表指针,用于将各个检查点的脏页面按照LBA地址顺序链接形成第二链表。
第一脏页面、第二脏页面、第三脏页面可以位于相同检查点或者不同检查点,可以位于创建时间最久的检查点或者其他检查点,本申请实施例在此不作限定。
示例性的,参照图5中(1)所示,假设已有检查点(检查点)1,包括A、B、C和D共4个脏页面,B按照LBA位于A之后并且与A最近,A的第二链表指针指向B。创建新的检查点2,包括E、F、G和H共4个脏页面,并且F按照LBA位于A与B之间,则将A的第二链表指针指向F,将F的第二链表指针指向B,结果参照图5中(2)所示。
S102、当创建新检查点的第三脏页面时,如果第三脏页面按照LBA位于第一脏页面之后并且与第一脏页面最近,并且第一脏页面的第二链表指针为空,则将第一脏页面的第二链表指针指向第三脏页面,将第三脏页面的第二链表指针置为空。
第一脏页面的第二链表指针为空意味着没有其他脏页面按照LBA位于第一脏页面之后。
示例性的,参照图5中(1)所示,C的第二链表指针为空,并且G按照LBA位于C之后,则将C的第二链表指针指向G,并且将G的第二链表指针置为空,结果参照图5中(2)所示。
通过步骤S101和S102,每个脏页面既在本检查点所管理的第一链表中,也在一个全局的按照LBA排序的第二链表中。
S103、从创建时间最久的检查点的第一脏页面开始遍历。
当内存空间、日志空间和时间阈值等因素达到一定条件时,从创建时间最久的检查点的第一脏页面(可以是首个脏页面)开始淘汰。
参照图5中(2)所示,检查点1创建时间最早,因此从检查点1的脏页面A开始遍历。
S104、如果第一脏页面的第二链表指针指向第二脏页面,则将第一脏页面加入淘汰队列,并遍历第二脏页面,其中,第二脏页面为按照LBA位于第一脏页面之后并且与第一脏页面最近的脏页面,第二脏页面所属检查点与第一脏页面所属检查点可以相同或不同。
参照图5中(2)所示,脏页面A的第二链表指针指向F,继续遍历脏页面F,脏页面F的第二链表指针指向B,因此应该将A、F都加入淘汰队列,并遍历脏页面B。淘汰队列中保存待淘汰的脏页面。
S105、如果第一脏页面的第二链表指针为空,则将第一脏页面加入淘汰队列,并将淘汰队列中的脏页面淘汰,从第一脏页面的第一链表指针指向的未经淘汰的下个脏页面重新开始遍历。
参照图5中(2)所示,遍历脏页面B后,发现B的第二链表指针为空,则将脏页面B加入淘汰队列,并将淘汰队列中的脏页面A、F、B淘汰,然后重新从检查点1的第一链表指针指向的未经淘汰的下个脏页面C开始遍历,重复以上过程S104和S105,直到将创建时间最久的检查点中所有脏页面淘汰完毕,然后将对应的日志区的空间释放。
对淘汰队列中的脏页面进行淘汰也可以包括:如果淘汰队列中的脏页面的LBA不连续,则按照LBA顺序分别淘汰该淘汰队列中的脏页面,例如可以最多淘汰16个脏页面;如果淘汰队列中的脏页面的LBA连续,则聚合淘汰该淘汰队列中的脏页面,对于LBA连续的脏页面最多可以同时淘汰128个。
本申请实施例提供的检查点淘汰方法,通过将检查点中的脏页面按照逻辑块地址顺序建立链表,当淘汰时,按照该链表对脏页面进行淘汰,使得逻辑块地址相近或连续的脏页面可以在相近或连续物理磁盘中写盘,解决了检查点数据集淘汰至磁盘时写入磁盘的物理位置不连续的问题。
本申请实施例提供一种检查点淘汰装置,用于执行上述检查点淘汰方法。本申请实施例可以根据上述方法示例对其进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的检查点淘汰装置的一种可能的结构示意图,检查点淘汰装置500包括:遍历单元501、淘汰单元502、创建单元503。遍历单元501用于支持检查点淘汰装置执行图4中的过程S103;淘汰单元502用于支持检查点淘汰装置执行图4中的过程S104、S105;创建单元503用于支持检查点淘汰装置执行图4中的过程S101、S102。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图7示出了上述实施例中所涉及的检查点淘汰装置的一种可能的结构示意图。检查点淘汰装置500包括:存储模块511、处理模块512。处理模块512用于对检查点淘汰装置的动作进行控制管理,例如,处理模块512用于支持检查点淘汰装置执行图4中的过程S101-S105。存储模块511,用于存储检查点淘汰装置的程序代码和数据。
其中,处理模块512可以是图1中的处理器101。存储模块511可以是图1中的存储器102。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种检查点淘汰方法,其特征在于,包括:
从创建时间最久的检查点的第一脏页面开始遍历,其中,属于同一个检查点的脏页面按照第一链表指针进行链接;
如果第一脏页面的第二链表指针指向第二脏页面,则将所述第一脏页面加入淘汰队列,并遍历所述第二脏页面,其中,所述第二脏页面为按照逻辑块地址LBA位于所述第一脏页面之后并且与所述第一脏页面最近的脏页面,所述第二脏页面所属检查点与所述第一脏页面所属检查点相同或不同;
如果所述第一脏页面的第二链表指针为空,则将所述第一脏页面加入所述淘汰队列,并将所述淘汰队列中的脏页面淘汰,从所述第一脏页面的第一链表指针指向的未经淘汰的下个脏页面重新开始遍历。
2.根据权利要求1所述的方法,其特征在于,所述将所述淘汰队列中的脏页面淘汰,包括:
如果所述淘汰队列中的脏页面的LBA不连续,则按照LBA顺序分别淘汰所述淘汰队列中的脏页面。
3.根据权利要求1所述的方法,其特征在于,所述将所述淘汰队列中的脏页面淘汰,包括:
如果所述淘汰队列中的脏页面的LBA连续,则聚合淘汰所述淘汰队列中的脏页面。
4.根据权利要求1所述的方法,其特征在于,在所述从创建时间最久的检查点的第一脏页面开始遍历之前,所述方法还包括:
当创建新检查点的第三脏页面时,如果所述第三脏页面按照所述LBA位于所述第一脏页面与所述第二脏页面之间,则将所述第一脏页面的第二链表指针指向所述第三脏页面,将所述第三脏页面的第二链表指针指向所述第二脏页面。
5.根据权利要求1所述的方法,其特征在于,在所述从创建时间最久的检查点的第一脏页面开始遍历之前,所述方法还包括:
当创建新检查点的第三脏页面时,如果所述第三脏页面按照所述LBA位于所述第一脏页面之后并且与所述第一脏页面最近,并且所述第一脏页面的第二链表指针为空,则将所述第一脏页面的第二链表指针指向所述第三脏页面,并将所述第三脏页面的第二链表指针置为空。
6.一种检查点淘汰装置,其特征在于,包括:
遍历单元,用于从创建时间最久的检查点的第一脏页面开始遍历,其中,属于同一个检查点的脏页面按照第一链表指针进行链接;
淘汰单元,用于如果第一脏页面的第二链表指针指向第二脏页面,则将所述第一脏页面加入淘汰队列,并遍历所述第二脏页面,其中,所述第二脏页面为按照逻辑块地址LBA位于所述第一脏页面之后并且与所述第一脏页面最近的脏页面,所述第二脏页面所属检查点与所述第一脏页面所属检查点相同或不同;
所述淘汰单元,还用于如果所述第一脏页面的第二链表指针为空,则将所述第一脏页面加入所述淘汰队列,并将所述淘汰队列中的脏页面淘汰,从所述第一脏页面的第一链表指针指向的未经淘汰的下个脏页面重新开始遍历。
7.根据权利要求6所述的装置,其特征在于,所述淘汰单元具体用于,如果所述淘汰队列中的脏页面的LBA不连续,则按照LBA顺序分别淘汰所述淘汰队列中的脏页面。
8.根据权利要求6所述的装置,其特征在于,所述淘汰单元具体用于,如果所述淘汰队列中的脏页面的LBA连续,则聚合淘汰所述淘汰队列中的脏页面。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括创建单元,用于:
在所述遍历单元从创建时间最久的检查点的首个脏页面开始遍历之前,当创建新检查点的第三脏页面时,如果所述第三脏页面按照所述LBA位于所述第一脏页面与所述第二脏页面之间,则将所述第一脏页面的第二链表指针指向所述第三脏页面,将所述第三脏页面的第二链表指针指向所述第二脏页面。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括创建单元,用于:
在所述遍历单元从创建时间最久的检查点的首个脏页面开始遍历之前,当创建新检查点的第三脏页面时,如果所述第三脏页面按照所述LBA位于所述第一脏页面之后并且与所述第一脏页面最近,并且所述第一脏页面的链表指针为空,则将所述第一脏页面的第二链表指针指向所述第三脏页面,将所述第三脏页面的第二链表指针置为空。
11.一种检查点淘汰装置,其特征在于,包括:处理器、存储器、总线;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述装置运行时,所述处理器执行所述存储器存储的计算机执行指令,以执行如权利要求1-5任一项所述的方法。
12.一种计算机存储介质,其特征在于,包括指令,当其在计算机上运行时,使得所述计算机执行如权利要求1-5任一项所述的方法。
CN201710602187.6A 2017-07-21 2017-07-21 检查点淘汰方法和装置 Active CN107562642B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710602187.6A CN107562642B (zh) 2017-07-21 2017-07-21 检查点淘汰方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710602187.6A CN107562642B (zh) 2017-07-21 2017-07-21 检查点淘汰方法和装置

Publications (2)

Publication Number Publication Date
CN107562642A CN107562642A (zh) 2018-01-09
CN107562642B true CN107562642B (zh) 2020-03-20

Family

ID=60974117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710602187.6A Active CN107562642B (zh) 2017-07-21 2017-07-21 检查点淘汰方法和装置

Country Status (1)

Country Link
CN (1) CN107562642B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59212947A (ja) * 1983-05-18 1984-12-01 Nec Corp 緩衝記憶情報確認方式
CN102160030A (zh) * 2008-09-19 2011-08-17 微软公司 对于数据存储的写通信的聚集
CN102999564A (zh) * 2012-11-06 2013-03-27 华为技术有限公司 写入数据的方法、装置和设备
WO2013163864A1 (zh) * 2012-05-02 2013-11-07 华为技术有限公司 数据持久化处理方法、装置及数据库系统
CN105190569A (zh) * 2013-06-25 2015-12-23 惠普发展公司,有限责任合伙企业 从缓存存储器清除脏数据

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59212947A (ja) * 1983-05-18 1984-12-01 Nec Corp 緩衝記憶情報確認方式
CN102160030A (zh) * 2008-09-19 2011-08-17 微软公司 对于数据存储的写通信的聚集
WO2013163864A1 (zh) * 2012-05-02 2013-11-07 华为技术有限公司 数据持久化处理方法、装置及数据库系统
CN102999564A (zh) * 2012-11-06 2013-03-27 华为技术有限公司 写入数据的方法、装置和设备
CN105190569A (zh) * 2013-06-25 2015-12-23 惠普发展公司,有限责任合伙企业 从缓存存储器清除脏数据

Also Published As

Publication number Publication date
CN107562642A (zh) 2018-01-09

Similar Documents

Publication Publication Date Title
US10983955B2 (en) Data unit cloning in memory-based file systems
CN110678836B (zh) 用于键值存储的持久性存储器
JP6629407B2 (ja) 更新されたファイルにアクセスする方法及びシステム並びにソフトウェア製品
US8924664B2 (en) Logical object deletion
CN106326229B (zh) 一种嵌入式系统的文件存储方法和装置
EP2778933A1 (en) System, method and computer-readable medium for managing a cache store to achieve improved cache ramp-up across system reboots
KR102033323B1 (ko) 플래시 메모리에서 사용하는 로그 구조 파일시스템의 메타데이터 저장 방법
CN109902034B (zh) 快照创建方法、装置、电子设备及机器可读存储介质
US9927991B2 (en) Extent movement speed in multi-tiered systems
US9183127B2 (en) Sequential block allocation in a memory
CN109804359A (zh) 用于将数据回写到存储设备的系统和方法
KR101584760B1 (ko) 순서 모드 저널링 파일 시스템을 위한 블록 그룹 단위 저널링 방법 및 장치
CN113419685B (zh) 基于smr的raid创建、针对raid的数据写入及raid恢复方法
US10198352B2 (en) Efficient pointer swizzling for persistent objects
CN113419686A (zh) 一种raid重构方法及装置
US10146466B1 (en) Merging mapping metadata to promote reference counting efficiency
Wu et al. Selfie: co-locating metadata and data to enable fast virtual block devices
CN107562642B (zh) 检查点淘汰方法和装置
US10430287B2 (en) Computer
US11803469B2 (en) Storing data in a log-structured format in a two-tier storage system
US11461225B2 (en) Storage device, control method of storage device, and storage medium
US9740632B1 (en) Snapshot efficiency
CN111522512A (zh) 优化的冷热数据分离方法、装置、计算机设备及存储介质
US11221985B2 (en) Metadata space efficient snapshot operation in page storage
US11194760B1 (en) Fast object snapshot via background processing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220907

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.