一种单控元数据事务日志同步的方法、设备及介质技术

技术编号:23315044 阅读:27 留言:0更新日期:2020-02-11 17:46
本发明专利技术公开了一种单控元数据事务日志同步的方法,包括以下步骤:将元数据请求拆分成第一子请求和第二子请求;将所述第一子请求插入第一模块,并判断所述第一子请求是否插入成功;响应于所述第一子请求插入成功,将所述第二子请求插入所述第一模块,并判断所述第二子请求是否插入成功;响应于所述第二子请求插入成功,向第二模块返回插入成功的信息。本发明专利技术还公开了一种计算机设备和可读存储介质。本发明专利技术提出的单控元数据事务日志同步的方法、设备及介质通过将元数据请求拆分成两个子请求,并将两个子请求顺序插入来保证数据的一致性。

A method, equipment and medium of single control metadata transaction log synchronization

【技术实现步骤摘要】
一种单控元数据事务日志同步的方法、设备及介质
本专利技术涉及存储领域,更具体地,特别是指一种单控元数据事务日志同步的方法、设备及可读介质。
技术介绍
当存储系统在处理IO(输入输出)的过程中,为了提高处理效率降低IO时延,元数据在处理过程中通常会引入写缓存模块,写缓存模块的存在虽然会大大降低主机IO的时延,但是在发生掉电或者故障场景的时候,有可能会导致数据不一致情况的发生。这就需要引入了事务日志模块,为了最大程度保证事务日志的安全,从而引入了双控日志同步的方法。所谓元数据事务日志同步,是指在存储系统IO过程中,会将已经产生的元数据做事务操作,进行双控之间的事务日志同步,当发生掉电或者其他故障切换的时候会把事务日志持久化到磁盘上,当控制器上电或者恢复的时候会将事务日志信息从磁盘上重新加载上来进行事务日志重做,从而保证存储系统的数据一致性。但是当在某些故障场景下,有一个控制器可能会处于不可用的状态,这种情况下应该优先保证数据的可靠性,在某种程度上可以牺牲部分存储系统的性能。传统的单控情况下的事务实现方式是用记录日志到本地的方式来实现数据的一致性,当发生单控故障的时候,控制器重新启动会从本地文件中读取事务日志,来进行数据的恢复,从而保证数据一致性,这种手段在一定程度上会依赖本地文件的安全性,在极端情况下,还是可能会有数据丢失。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种单控元数据事务日志同步的方法、设备及介质,通过将元数据请求拆分成两个子请求,并将两个子请求顺序插入来保证数据的一致性,可以有效减少由于系统本身文件系统等故障带来的数据不一致的风险,大大提高了存储系统的可靠性。基于上述目的,本专利技术实施例的一方面提供了一种单控元数据事务日志同步的方法,包括如下步骤:将元数据请求拆分成第一子请求和第二子请求;将所述第一子请求插入第一模块,并判断所述第一子请求是否插入成功;响应于所述第一子请求插入成功,将所述第二子请求插入所述第一模块,并判断所述第二子请求是否插入成功;响应于所述第二子请求插入成功,向第二模块返回插入成功的信息。在一些实施方式中,还包括:根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求。在一些实施方式中,所述根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求包括:根据物理地址到逻辑地址的映射设置所述第一子请求,根据逻辑地址到物理地址的映射设置所述第二子请求。在一些实施方式中,所述将所述第二子请求插入所述第一模块包括:通过垃圾回收机制判断是否存在第一子请求。在一些实施方式中,所述将所述第二子请求插入所述第一模块还包括:响应于不存在第一子请求,删除所述第二子请求。本专利技术实施例的另一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:将元数据请求拆分成第一子请求和第二子请求;将所述第一子请求插入第一模块,并判断所述第一子请求是否插入成功;响应于所述第一子请求插入成功,将所述第二子请求插入所述第一模块,并判断所述第二子请求是否插入成功;响应于所述第二子请求插入成功,向第二模块返回插入成功的信息。在一些实施方式中,步骤还包括:根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求。在一些实施方式中,所述根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求包括:根据物理地址到逻辑地址的映射设置所述第一子请求,根据逻辑地址到物理地址的映射设置所述第二子请求。在一些实施方式中,所述将所述第二子请求插入所述第一模块包括:通过垃圾回收机制判断是否存在第一子请求。本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。本专利技术具有以下有益技术效果:通过将元数据请求拆分成两个子请求,并将两个子请求顺序插入来保证数据的一致性,可以有效减少由于系统本身文件系统等故障带来的数据不一致的风险,大大提高了存储系统的可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术提供的单控元数据事务日志同步的方法的实施例的示意图;图2为本专利技术提供的单控元数据事务日志同步的方法的实施例的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。基于上述目的,本专利技术实施例的第一个方面,提出了一种单控元数据事务日志同步的方法的实施例。图1示出的是本专利技术提供的单控元数据事务日志同步的方法的实施例的示意图。如图1所示,本专利技术实施例包括如下步骤:S1、将元数据请求拆分成第一子请求和第二子请求;S2、将所述第一子请求插入第一模块,并判断所述第一子请求是否插入成功;S3、响应于所述第一子请求插入成功,将所述第二子请求插入所述第一模块,并判断所述第二子请求是否插入成功;以及S4、响应于所述第二子请求插入成功,向第二模块返回插入成功的信息。将元数据请求拆分成第一子请求和第二子请求。在一些实施方式中,还包括:根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求。在一些实施方式中,所述根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求包括:根据物理地址到逻辑地址的映射设置所述第一子请求,根据逻辑地址到物理地址的映射设置所述第二子请求。具体的,在本实施例中,可以将第一子请求设置成PL(物理地址到逻辑地址的映射)子请求,将第二子请求设置成LP(逻辑地址到物理地址的映射)子请求。将所述第一子请求插入第一模块,并判断所述第一子请求是否插入成功。将PL子请求插入第一模块,这里的第一模块可以是下层模块,下层模块例如可以是RAID,功能是把数据持久化到存储介质上。系统会自动检测PL子请求是否插入成功,如果插入成功,会返回相应的提示信息,如果没有插入成功,可以尝试再次进行插入,直到PL子请求插入成功为止。响应于所述第一子请求插入成功,将所述第二子请求插入所述第一模块,并判断所述第二子请求是否插入成功。如果PL子请求插入下层模块成功,可以将LP子请求插入下层模块,并判断PL子请求是否插入成功。在一些实施方式中,所述将所述第二子请求插入所述第一模块包括:通过垃圾回收机制判断是否存在第一子请求。在一些实施方式中本文档来自技高网...

【技术保护点】
1.一种单控元数据事务日志同步的方法,其特征在于,包括以下步骤:/n将元数据请求拆分成第一子请求和第二子请求;/n将所述第一子请求插入第一模块,并判断所述第一子请求是否插入成功;/n响应于所述第一子请求插入成功,将所述第二子请求插入所述第一模块,并判断所述第二子请求是否插入成功;/n响应于所述第二子请求插入成功,向第二模块返回插入成功的信息。/n

【技术特征摘要】
1.一种单控元数据事务日志同步的方法,其特征在于,包括以下步骤:
将元数据请求拆分成第一子请求和第二子请求;
将所述第一子请求插入第一模块,并判断所述第一子请求是否插入成功;
响应于所述第一子请求插入成功,将所述第二子请求插入所述第一模块,并判断所述第二子请求是否插入成功;
响应于所述第二子请求插入成功,向第二模块返回插入成功的信息。


2.根据权利要求1所述的方法,其特征在于,还包括:
根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求。


3.根据权利要求2所述的方法,其特征在于,所述根据逻辑地址和物理地址之间的映射关系设置所述第一子请求和所述第二子请求包括:
根据物理地址到逻辑地址的映射设置所述第一子请求,根据逻辑地址到物理地址的映射设置所述第二子请求。


4.根据权利要求1所述的方法,其特征在于,所述将所述第二子请求插入所述第一模块包括:
通过垃圾回收机制判断是否存在第一子请求。


5.根据权利要求4所述的方法,其特征在于,所述将所述第二子请求插入所述第一模块还包括:
响应于不存在第一子请求,删除所述第二子请求。


6.一种计算机设备,其特征在于,包括:
至少一个处理器...

【专利技术属性】
技术研发人员:甄凤远
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1