一种云存储系统中直接纠删的日志回放优化方法及装置的制造方法

文档序号:9754324阅读:285来源:国知局
一种云存储系统中直接纠删的日志回放优化方法及装置的制造方法
【技术领域】
[0001]本发明涉及云存储系统技术领域,特别是涉及一种云储存系统中直接纠删的日志回放优化方法和装置。
【背景技术】
[0002]目前,全天候运行的云存储系统发生异常宕机在所难免,重启时需要将宕机时刻尚未提交的事务重新执行,确保数据的一致性。日志回放就是确保云存储系统中数据一致性的一种方法。一般传统的日志回放流程是找到日志回放的起始点,顺序执行日志回放。当待回放的日志比较多时,重启的过程比较缓慢,日志回放效率太低,可能会引起云存储系统的数据重新分布等一系列的问题,。

【发明内容】

[0003]本发明的目的是提供一种云储存系统中直接纠删的日志回放优化方法和装置,以实现提高日志回放的效率。
[0004]为解决上述技术问题,本发明提供一种云存储系统中直接纠删的日志回放优化方法,该方法包括:
[0005]依据直接纠删的特征对待回放的日志进行预处理,将待回放的日志中的Stash操作及Stash操作的标识信息读取出来并记录在预处理列表中;
[0006]在日志回放过程中,依据所述预处理列表中记录的信息进行日志回放。
[0007]优选的,所述依据直接纠删的特征对待回放的日志进行预处理,将待回放的日志中的Stash操作及Stash操作的标识信息读取出来并记录在预处理列表中,包括:
[0008]判断待回放的日志操作是否为Stash操作,若是,在预处理列表中记录所述日志操作及日志操作的操作信息;所述操作信息包括操作对象的地址ID信息,执行操作的位置信息,以及表示所述Stash操作的新对象是否存在的标识信息;
[0009]若待回放的日志操作不是Stash操作,判断待回放的日志操作是否是删除操作;若是,继续判断所述日志操作的操作对象是否是Stash操作的新对象;若所述日志操作的操作对象是Stash操作的新对象,确定所述日志操作为Stash操作后续存在的删除操作,在预处理列表中记录所述删除操作及表示Stash操作后续存在删除操作的标识信息。
[0010]优选的,所述在日志回放过程中,依据所述预处理列表中记录的信息进行日志回放之前,还包括:对待回放的日志操作进行分类处理。
[0011]优选的,所述对待回放的日志操作进行分类处理,包括:
[0012]依据所述日志操作的操作信息中的地址ID信息和位置信息对待回放的日志操作进行分类,分为无后续Stash操作、有后续Stash操作和Stash操作。
[0013]优选的,所述在日志回放过程中,依据所述预处理列表中记录的操作进行日志回放,包括:
[0014]若所述日志操作为无后续Stash操作,直接回放日志操作;
[0015]若所述日志操作为有后续Stash操作,判断日志操作的新对象是否存在;若是,将所述日志操作直接应用于新对象进行回放;若否,将所述日志操作采用顺序执行的方式进行回放;
[0016]若所述日志操作为Stash操作,判断所述日志操作的新对象是否存在;若是,将所述日志操作采用顺序执行的方式进行回放;若否,忽略当前日志回放。
[0017]本发明还提供一种云储存系统中直接纠删的日志回放优化装置,该装置包括:
[0018]预处理模块,用于对待回放的日志进行预处理,将待回放的日志中的Stash操作及Stash操作的标识信息读取出来,并将记录在预处理列表中;
[0019]回放模块,用于在日志回放过程中,依据所述预处理列表中记录的信息进行日志回放。
[0020]优选的,所述预处理模块包括:
[0021 ]第一判断单元,用于判断待回放的日志操作是否为Stash操作;若是,在预处理列表中记录所述日志操作及日志操作的操作信息;所述操作信息包括操作对象的地址ID信息,执行操作的位置信息,以及表示所述Stash操作的新对象是否存在的标识信息;
[0022]第二判断单元,用于若待回放的日志操作不是Stash操作,判断待回放的日志操作是否是删除操作,若是,继续判断所述日志操作的操作对象是否是Stash操作的新对象;若所述日志操作的操作对象是Stash操作的新对象,确定所述日志操作为Stash操作后续存在的删除操作,在预处理列表中记录所述删除操作及表示Stash操作后续存在删除操作的标识信息。
[0023]优选的,所述装置还包括:分类模块,用于对待回放的日志操作进行分类处理。
[0024]优选的,所述分类模块,用于对待回放的日志操作进行分类处理,包括:
[0025]分类模块,用于依据所述日志操作的操作信息中的地址ID信息和位置信息对待回放的日志操作进行分类,分为无后续Stash操作、有后续Stash操作和Stash操作。
[0026]优选的,所述回放模块包括:
[0027]第一回放单元,用于若所述日志操作为无后续Stash操作,直接回放日志操作;
[0028]第二回放单元,用于若所述日志操作为有后续Stash操作,判断日志操作的新对象是否存在;若是,将所述日志操作直接应用于新对象进行回放;若否,将所述日志操作采用顺序执行的方式进行回放;
[0029]第三回放单元,用于若所述日志操作为Stash操作,判断所述日志操作的新对象是否存在;若是,将所述日志操作采用顺序执行的方式进行回放;若否,忽略当前日志回放。
[0030]本发明所提供的一种云存储系统中直接纠删的日志回放优化方法和装置,依据直接纠删的特征对待回放的日志进行预处理,将待回放的日志中的Stash操作及Stash操作的标识信息读取出来并记录在预处理列表中;在日志回放过程中,依据所述预处理列表中记录的信息进行日志回放。可见,本发明结合了直接纠删的特征,将待回放的日志中的Stash操作和标识信息读出来并记录的列表中,在回放的过程中根据预处理列表中的记录进行日志的回放,由于预处理操作记录了对象后续是否存在删除操作,以及新对象是否存在,根据就这些记录可以精简或者忽略日志回放中的某些操作,从而提高了日志回放的效率。
【附图说明】
[0031]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0032]图1为本发明所提供一种云存储系统中直接纠删的日志回放优化方法的流程图;
[0033]图2为本发明所提供一种云存储系统中直接纠删的日志回放优化装置的结构示意图;
[0034]图3为日志预处理流程图;
[0035]图4为日志回放流程图。
【具体实施方式】
[0036]本发明的核心是提供一种云存储系统中直接纠删的日志回放优化方法和装置,以实现提高日志回放的效率。
[0037]为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]请参考图1,图1为本发明所提供一种云存储系统中直接纠删的日志回放优化方法的流程图,该方法包括:
[0039]Sll:依据直接纠删的特征对待回放的日志进行预处理,将待回放的日志中的Stash操作及Stash操作的标识信息读取出来并记录在预处理列表中;
[0040]其中,Stash操作为直接纠删中实现数据回滚的操作,标
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1