单节点故障时的元数据处理方法、系统、设备及存储介质

阅读: 评论:0

著录项
  • CN202011033550.5
  • 20200927
  • CN112035263A
  • 20201204
  • 苏州浪潮智能科技有限公司
  • 张刚
  • G06F9/50
  • G06F9/50 G06F21/62 G06F21/64

  • 江苏省苏州市吴中区吴中经济开发区郭巷街道官浦路1号9幢
  • 江苏(32)
  • 北京集佳知识产权代理有限公司
  • 刘晓菲
摘要
本申请公开了一种单节点故障时的元数据处理方法,包括:检测到出现单节点故障之后,判断是否存在针对元数据读写请求的正在进行的资源申请;如果是,停止各个正在进行的资源申请,并且向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统重新下发与被停止的各个资源申请相对应的各个元数据读写请求。应用本申请的方案,可以在单节点出现故障时,有效地保证数据的安全性以及系统的稳定性,本申请还提供了一种单节点故障时的元数据处理系统、设备及存储介质,具有相应技术效果。
权利要求

1.一种单节点故障时的元数据处理方法,其特征在于,包括:

检测到出现单节点故障之后,判断是否存在针对元数据读写请求的正在进行的资源申请;

如果是,停止各个正在进行的资源申请,并且向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统重新下发与被停止的各个资源申请相对应的各个元数据读写请求。

2.根据权利要求1所述的单节点故障时的元数据处理方法,其特征在于,还包括:

检测到出现单节点故障之后,判断是否存在针对元数据读写请求的已经完成的资源申请;

如果是,则继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息。

3.根据权利要求2所述的单节点故障时的元数据处理方法,其特征在于,还包括:

在继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后,取消对于对端故障节点的回复。

4.根据权利要求1至3任一项所述的单节点故障时的元数据处理方法,其特征在于,还包括:

检测到出现单节点故障之后,禁止进行新刷盘任务的启动,直至在单节点故障被排除之后,允许进行新刷盘任务的启动。

5.一种单节点故障时的元数据处理系统,其特征在于,包括:

第一判断单元,用于检测到出现单节点故障之后,判断是否存在针对元数据读写请求的正在进行的资源申请;如果是,则执行资源申请解除单元;

所述资源申请解除单元,用于停止各个正在进行的资源申请,并且向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统重新下发与被停止的各个资源申请相对应的各个元数据读写请求。

6.根据权利要求5所述的单节点故障时的元数据处理系统,其特征在于,还包括:

第二判断单元,用于检测到出现单节点故障之后,判断是否存在针对元数据读写请求的已经完成的资源申请;如果是,则执行第一执行单元;

所述第一执行单元,用于继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息。

7.根据权利要求6所述的单节点故障时的元数据处理系统,其特征在于,还包括:

回复取消单元,用于在继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后,取消对于对端故障节点的回复。

8.根据权利要求6至7任一项所述的单节点故障时的元数据处理系统,其特征在于,还包括:

刷盘任务控制单元,用于检测到出现单节点故障之后,禁止进行新刷盘任务的启动,直至在单节点故障被排除之后,允许进行新刷盘任务的启动。

9.一种单节点故障时的元数据处理设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如权利要求1至4任一项所述的单节点故障时的元数据处理方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的单节点故障时的元数据处理方法的步骤。

说明书
技术领域

本发明涉及数据处理技术领域,特别是涉及一种单节点故障时的元数据处理方法、系统、设备及存储介质。

在全闪精简池存储功能中,针对元数据的读写请求,进行缓存和刷盘操作时,会做两个控制器之间的镜像处理,即在两个控制器的写缓存中保持数据的同步。但是,当系统出现单节点故障时,如果对元数据读写请求处理不当,就可能导致存储系统出现致命错误。

综上所述,如何在单节点出现故障时,有效地保证数据的安全性以及系统的稳定性,是目前本领域技术人员急需解决的技术问题。

本发明的目的是提供一种单节点故障时的元数据处理方法、系统、设备及存储介质,以在单节点出现故障时,有效地保证数据的安全性以及系统的稳定性。

为解决上述技术问题,本发明提供如下技术方案:

一种单节点故障时的元数据处理方法,包括:

检测到出现单节点故障之后,判断是否存在针对元数据读写请求的正在进行的资源申请;

如果是,停止各个正在进行的资源申请,并且向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统重新下发与被停止的各个资源申请相对应的各个元数据读写请求。

优选的,还包括:

检测到出现单节点故障之后,判断是否存在针对元数据读写请求的已经完成的资源申请;

如果是,则继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息。

优选的,还包括:

在继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后,取消对于对端故障节点的回复。

优选的,还包括:

检测到出现单节点故障之后,禁止进行新刷盘任务的启动,直至在单节点故障被排除之后,允许进行新刷盘任务的启动。

一种单节点故障时的元数据处理系统,包括:

第一判断单元,用于检测到出现单节点故障之后,判断是否存在针对元数据读写请求的正在进行的资源申请;如果是,则执行资源申请解除单元;

所述资源申请解除单元,用于停止各个正在进行的资源申请,并且向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统重新下发与被停止的各个资源申请相对应的各个元数据读写请求。

优选的,还包括:

第二判断单元,用于检测到出现单节点故障之后,判断是否存在针对元数据读写请求的已经完成的资源申请;如果是,则执行第一执行单元;

所述第一执行单元,用于继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息。

优选的,还包括:

回复取消单元,用于在继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后,取消对于对端故障节点的回复。

优选的,还包括:

刷盘任务控制单元,用于检测到出现单节点故障之后,禁止进行新刷盘任务的启动,直至在单节点故障被排除之后,允许进行新刷盘任务的启动。

一种单节点故障时的元数据处理设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现上述任一实施例中所述的单节点故障时的元数据处理方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例中所述的单节点故障时的元数据处理方法的步骤。

应用本发明实施例所提供的技术方案,检测到出现单节点故障之后,本申请判断是否存在针对元数据读写请求的正在进行的资源申请,如果存在,说明这些元数据读写请求还未被执行,因此为了避免出现处理不当而导致的存储系统出现致命错误的情况,本申请会停止各个正在进行的资源申请。并且,本申请的方案会向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统再重新下发与被停止的各个资源申请相对应的各个元数据读写请求,使得继续此前停止的进程。可以看出,本申请的方案可以在单节点出现故障时,有效地保证数据的安全性以及系统的稳定性。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中一种单节点故障时的元数据处理方法的实施流程图;

图2为本发明中一种单节点故障时的元数据处理系统的结构示意图;

图3为本发明中一种单节点故障时的元数据处理设备的结构示意图。

本发明的核心是提供一种单节点故障时的元数据处理方法,可以在单节点出现故障时,有效地保证数据的安全性以及系统的稳定性。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明中一种单节点故障时的元数据处理方法的实施流程图,该单节点故障时的元数据处理方法可以包括:

步骤S101:检测到出现单节点故障之后,判断是否存在针对元数据读写请求的正在进行的资源申请;如果是,则执行步骤S102。

上层系统需要进行元数据的读取时,会下发元数据读请求,相应的,需要写元数据时,会下发元数据写请求。本申请描述的元数据读写请求,包括元数据读请求以及元数据写请求。

本申请的方案会应用在进行镜像处理的两个控制器中,可以理解的是,当出现单节点故障之后,由另外一个正常运行的控制器执行本申请的方案。

检测到出现单节点故障之后,针对元数据读写请求的正在进行的资源申请,可能有一个也可能有多个,例如有3个元数据读写请求正在进行资源申请。例如这3个元数据读写请求中,第1个是元数据读请求,第2个和第3个是元数据写请求,且这3个元数据读写请求各自对应的资源申请均是正在进行的,即当前还未申请到资源,便会执行步骤S102。

步骤S102:停止各个正在进行的资源申请,并且向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统重新下发与被停止的各个资源申请相对应的各个元数据读写请求。

例如前述例子中,便会停止3个正在进行的资源申请,并且向上层系统返回等待指令。上层系统接收到等待指令之后,只要单节点故障未被排除时,上层系统便会暂停任意元数据读写请求的下发,避免数据处理异常导致系统出现致命错误。而在单节点故障被排除之后,上层系统会重新下发与被停止的各个资源申请相对应的各个元数据读写请求,例如前述例子中,便会重新下发3个元数据读写请求,以使得之前未完成的读、写操作得以继续完成。当然,在单节点故障被排除之后,上层系统以及实现镜像处理的两个控制器都可以重新恢复正常的运行。

在本发明的一种具体实施方式中,还包括:

检测到出现单节点故障之后,判断是否存在针对元数据读写请求的已经完成的资源申请;

如果是,则继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息。

进一步的,在该种实施方式中,考虑一些元数据读写请求正在进行资源申请,而一些元数据读写请求已经完成了资源申请,对于这部分已经完成了资源申请的元数据读写请求,一种处理方式是继续执行,另一种是中止处理,本申请考虑到,对于这部分元数据读写请求,由于已经完成了资源申请,中止处理可能会引起数据异常,例如某一个元数据写请求已经执行了一半,即,已经将部分数据写入到了磁盘中,此时中止处理很容易引起数据错误。因此,该种实施方式中,判断出存在针对元数据读写请求的已经完成的资源申请,会继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息。

例如有4个元数据读写请求已经完成了资源申请,例如具体是其中的3个是元数据读请求,另1个是元数据写请求,则会继续处理这4个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息,表示这些元数据读写请求处理成功。

进一步的,在本发明的一种具体实施方式中,还可以包括:

在继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后,取消对于对端故障节点的回复。

该种实施方式中,考虑到在部分场景中,设置了对于对端节点的回复的环节,例如在正常情况下,针对某一个元数据读写请求,当某一个节点处理完毕之后,需要告知对端节点,相应的,对端节点处理完毕该元数据读写请求之后,也会告知本节点,也就是说,当本节点收到对端节点的回复时,才会继续进行后续的处理,例如才会继续处理下一个元数据读写请求。该种实施方式中,针对这种情况,为了避免单节点故障之后影响正常节点的工作,正常节点可以取消对于对端故障节点的回复,也就进一步地保障了本申请方案的实行,也就有利于保障系统的稳定性以及数据的安全性。

在本发明的一种具体实施方式中,还可以包括:

检测到出现单节点故障之后,禁止进行新刷盘任务的启动,直至在单节点故障被排除之后,允许进行新刷盘任务的启动。

该种实施方式中,检测到出现单节点故障之后,禁止进行新刷盘任务的启动,有利于进一步地保障数据的安全性以及系统的稳定性,避免在单节点故障时,由于启动新刷盘任务可能引起的系统崩溃等异常情况。

当然,在单节点故障被排除之后,可以解除该限制,即可以允许进行新刷盘任务的启动。

应用本发明实施例所提供的技术方案,检测到出现单节点故障之后,本申请判断是否存在针对元数据读写请求的正在进行的资源申请,如果存在,说明这些元数据读写请求还未被执行,因此为了避免出现处理不当而导致的存储系统出现致命错误的情况,本申请会停止各个正在进行的资源申请。并且,本申请的方案会向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统再重新下发与被停止的各个资源申请相对应的各个元数据读写请求,使得继续此前停止的进程。可以看出,本申请的方案可以在单节点出现故障时,有效地保证数据的安全性以及系统的稳定性。

相应于上面的方法实施例,本发明实施例还提供了一种单节点故障时的元数据处理系统,下文描述的单节点故障时的元数据处理系统与上文描述的单节点故障时的元数据处理方法可相互对应参照。

参见图2所示,为本发明中一种单节点故障时的元数据处理系统的结构示意图,包括:

第一判断单元201,用于检测到出现单节点故障之后,判断是否存在针对元数据读写请求的正在进行的资源申请;如果是,则执行资源申请解除单元202;

资源申请解除单元202,用于停止各个正在进行的资源申请,并且向上层系统返回等待指令,以使得单节点故障未被排除时,上层系统暂停任意元数据读写请求的下发,在单节点故障被排除之后,上层系统重新下发与被停止的各个资源申请相对应的各个元数据读写请求。

在本发明的一种具体实施方式中,还包括:

第二判断单元,用于检测到出现单节点故障之后,判断是否存在针对元数据读写请求的已经完成的资源申请;如果是,则执行第一执行单元;

第一执行单元,用于继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后向上层系统返回第一提示信息。

在本发明的一种具体实施方式中,还包括:

回复取消单元,用于在继续处理与已经完成的资源申请相对应的各个元数据读写请求,并在处理完成之后,取消对于对端故障节点的回复。

在本发明的一种具体实施方式中,还包括:

刷盘任务控制单元,用于检测到出现单节点故障之后,禁止进行新刷盘任务的启动,直至在单节点故障被排除之后,允许进行新刷盘任务的启动。

相应于上面的方法和系统实施例,本发明实施例还提供了一种单节点故障时的元数据处理设备以及一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例中的单节点故障时的元数据处理方法的步骤。这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。

可参阅图3,为本发明中一种单节点故障时的元数据处理设备的结构示意图,包括:

存储器301,用于存储计算机程序;

处理器302,用于执行计算机程序以实现如权利要求1至4任一项的单节点故障时的元数据处理方法的步骤。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

本文发布于:2023-04-13 20:11:43,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/86201.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图