一种数据卷的IO静默方法、装置和介质与流程

文档序号:23146634发布日期:2020-12-01 13:27阅读:155来源:国知局
一种数据卷的IO静默方法、装置和介质与流程

本发明涉及存储系统技术领域,特别是涉及一种数据卷的io静默方法、装置和计算机可读存储介质。



背景技术:

存储系统由多个节点组成,为保证节点工作的有序执行,可以将存储系统中的节点划分为主节点和备用节点,每个主节点有其对应的备用节点,当主节点故障时可以切换至备用节点工作。主节点和备用节点可以共用数据卷。

存储系统中每个数据卷有其对应的卷状态控制模块和卷状态执行模块,存储系统有其对应的一个控制器级别的状态控制模块和状态执行模块。传统方式中,控制器级别的状态控制模块可以感知存储系统的外部状态变化,从而触发状态执行模块,状态执行模块可以将所需执行的操作下发至数据卷的卷状态控制模块,卷状态控制模块通过函数运算的方式确定出所需执行的操作,从而触发卷状态执行模块执行相应的操作。

当节点执行故障恢复操作时,需要对该节点包含的所有数据卷执行io静默操作,按照传统的方式,控制器级别的状态执行模块需要将所需执行的操作下发至每个数据卷的卷状态控制模块,每个数据卷的卷状态控制模块都需要通过函数运算的方式确定出所需执行的操作,从而触发卷状态执行模块执行相应的操作。一般每个节点对应的数据卷有成千上万个,按照传统的处理方式会造成繁重的工作量,影响存储系统中数据卷io静默的执行效率。

可见,如何提升存储系统中数据卷io静默的执行效率,是本领域技术人员需要解决的问题。



技术实现要素:

本发明实施例的目的是提供一种数据卷的io静默方法、装置和计算机可读存储介质,可以提升存储系统中数据卷io静默的执行效率。

为解决上述技术问题,本发明实施例提供一种数据卷的io静默方法,包括:

获取存储系统的状态变化信息;

利用状态运行逻辑处理规则对所述状态变化信息进行处理,得到状态输出结果;

当所述状态输出结果为目标节点故障时,对所述目标节点对应的数据卷的状态机设置暂停标志位,并调用各所述数据卷的静默函数对各所述数据卷执行io静默操作。

可选地,在所述调用各所述数据卷的静默函数对各所述数据卷执行io静默操作之后还包括:

判断预设时间段内是否接收到所有所述数据卷反馈的io静默操作完成的响应信息;

当预设时间段内接收到所有所述数据卷反馈的io静默操作完成的响应信息时,则取消对所有所述数据卷的状态机设置的暂停标志位;

当预设时间段内未接收到所有所述数据卷反馈的io静默操作完成的响应信息时,则重新调用未反馈响应信息的目标数据卷的静默函数对所述目标数据卷执行io静默操作。

可选地,在所述重新调用未反馈响应信息的目标数据卷的静默函数对所述目标数据卷执行io静默操作之后还包括:

判断预设时间段内是否接收到所述目标数据卷反馈的io静默操作完成的响应信息;

当预设时间段内未接收到所述目标数据卷反馈的io静默操作完成的响应信息时,则展示所述目标数据卷状态异常的提示信息。

可选地,在所述重新调用未反馈响应信息的目标数据卷的静默函数对所述目标数据卷执行io静默操作之后还包括:

当预设时间段内未接收到所述目标数据卷反馈的io静默操作完成的响应信息时,则对所述目标数据卷设置故障标识,并退出对所述目标数据卷执行io静默操作的流程。

可选地,还包括:

当所述状态输出结果为目标数据卷删除操作时,向所述目标数据卷的状态机下发所述状态输出结果,以便于所述目标数据卷的状态机依据所述状态输出结果对所述目标数据卷执行io静默操作,并在完成io静默操作之后删除所述目标数据卷。

本发明实施例还提供了一种数据卷的io静默装置,包括获取单元、处理单元、设置单元和调用单元;

所述获取单元,用于获取存储系统的状态变化信息;

所述处理单元,用于利用状态运行逻辑处理规则对所述状态变化信息进行处理,得到状态输出结果;

所述设置单元,用于当所述状态输出结果为目标节点故障时,对所述目标节点对应的数据卷的状态机设置暂停标志位;

所述调用单元,用于调用各所述数据卷的静默函数对各所述数据卷执行io静默操作。

可选地,还包括判断单元和取消单元;

所述判断单元,用于判断预设时间段内是否接收到所有所述数据卷反馈的io静默操作完成的响应信息;当预设时间段内未接收到所有所述数据卷反馈的io静默操作完成的响应信息时,则触发所述调用单元重新调用未反馈响应信息的目标数据卷的静默函数对所述目标数据卷执行io静默操作;

所述取消单元,用于当预设时间段内接收到所有所述数据卷反馈的io静默操作完成的响应信息时,则取消对所有所述数据卷的状态机设置的暂停标志位。

可选地,还包括提示单元;

所述判断单元还用于判断预设时间段内是否接收到所述目标数据卷反馈的io静默操作完成的响应信息;

所述提示单元,用于当预设时间段内未接收到所述目标数据卷反馈的io静默操作完成的响应信息时,则展示所述目标数据卷状态异常的提示信息。

可选地,还包括退出单元;

所述退出单元,用于当预设时间段内未接收到所述目标数据卷反馈的io静默操作完成的响应信息时,则对所述目标数据卷设置故障标识,并退出对所述目标数据卷执行io静默操作的流程。

可选地,还包括下发单元;

所述下发单元,用于当所述状态输出结果为目标数据卷删除操作时,向所述目标数据卷的状态机下发所述状态输出结果,以便于所述目标数据卷的状态机依据所述状态输出结果对所述目标数据卷执行io静默操作,并在完成io静默操作之后删除所述目标数据卷。

本发明实施例还提供了一种数据卷的io静默装置,包括:

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

处理器,用于执行所述计算机程序以实现如上述任意一项所述数据卷的io静默方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述数据卷的io静默方法的步骤。

由上述技术方案可以看出,获取存储系统的状态变化信息;利用状态运行逻辑处理规则对状态变化信息进行处理,得到状态输出结果。状态运行逻辑处理规则是存储系统对外部输入的状态变化信息进行状态识别的规则。当状态输出结果为目标节点故障时,说明需要对该节点下的所有数据卷执行io静默操作,为了提升数据卷执行io静默操作的处理效率,可以对目标节点对应的数据卷的状态机设置暂停标志位,并调用各数据卷的静默函数对各数据卷执行io静默操作。通过直接调用各数据卷的静默函数,可以实现对目标节点下所有数据卷的并行处理,无需再与每个数据卷的卷状态控制模块进行交互,并且节省了每个数据卷的卷状态控制模块运行逻辑函数的时间,以及卷状态控制模块和卷执行模块的交互时间,有效的提升了存储系统中数据卷io静默的执行效率。

附图说明

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

图1为本发明实施例提供的一种数据卷的io静默方法的流程图;

图2为本发明实施例提供的一种数据卷的io静默装置的结构示意图;

图3为本发明实施例提供的一种数据卷的io静默装置的硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种数据卷的io静默方法。图1为本发明实施例提供的一种数据卷的io静默方法的流程图,该方法包括:

s101:获取存储系统的状态变化信息。

存储系统有其对应的一个控制器级别的状态控制模块和状态执行模块。状态控制模块可以感知存储系统的状态变化,获取存储系统的状态变化信息。

s102:利用状态运行逻辑处理规则对状态变化信息进行处理,得到状态输出结果。

状态运行逻辑处理规则是存储系统对外部输入的状态变化信息进行状态识别的规则。控制器级别的状态控制模块可以依赖于状态运行逻辑处理规则对多种类型的输入信息进行综合分析,从而得到状态输出结果。

s103:当状态输出结果为目标节点故障时,对目标节点对应的数据卷的状态机设置暂停标志位,并调用各数据卷的静默函数对各数据卷执行io静默操作。

状态输出结果的类型可以有多种,可以是节点的状态输出结果,例如节点故障等。也可以是卷的状态输出结果,例如,删除数据卷等。

存储系统中包含的节点可以有多个,为了便于区分,在本发明实施例中,可以将出现故障的节点称作目标节点。

当状态输出结果为目标节点故障时,则说明需要对该目标节点所对应的所有数据卷执行io静默操作。其中,io静默操作指的是完成数据卷上已有的io操作,并且不再处理上层新下发的io操作。

当目标节点故障时,需要将目标节点的业务切换到其对应的备用节点上,在执行业务切换之前需要对目标节点所对应的所有数据卷执行io静默操作。

在本发明实施例中,为了提升数据卷执行io静默操作的处理效率,可以由控制器级别的状态执行模块直接调用所有数据卷的静默函数,从而实现对所有数据卷io静默操作的并行处理。

考虑到每个数据卷有其各自拥有的卷状态控制模块和卷状态执行模块,每个数据卷所拥有的卷状态控制模块和卷状态执行模块即为数据卷的状态机。为了避免控制器级别的状态执行模块对数据卷执行io静默操作时,数据卷的卷状态执行模块对该数据卷执行其它操作,造成数据卷操作的混乱,因此,控制器级别的状态执行模块在调用各数据卷的静默函数对各数据卷执行io静默操作之前,可以将目标节点对应的数据卷的状态机设置暂停标志位。

通过对状态机设置暂停标志位,此时数据卷的状态机不会对数据卷执行额外的操作,从而保证数据卷io静默操作的顺利执行。

在本发明实施例中,当状态输出结果为目标数据卷删除操作时,此时可以按照传统的方式,向目标数据卷的状态机下发状态输出结果,以便于目标数据卷的状态机依据状态输出结果对目标数据卷执行io静默操作,并在完成io静默操作之后删除目标数据卷。

由上述技术方案可以看出,获取存储系统的状态变化信息;利用状态运行逻辑处理规则对状态变化信息进行处理,得到状态输出结果。状态运行逻辑处理规则是存储系统对外部输入的状态变化信息进行状态识别的规则。当状态输出结果为目标节点故障时,说明需要对该节点下的所有数据卷执行io静默操作,为了提升数据卷执行io静默操作的处理效率,可以对目标节点对应的数据卷的状态机设置暂停标志位,并调用各数据卷的静默函数对各数据卷执行io静默操作。通过直接调用各数据卷的静默函数,可以实现对目标节点下所有数据卷的并行处理,无需再与每个数据卷的卷状态控制模块进行交互,并且节省了每个数据卷的卷状态控制模块运行逻辑函数的时间,以及卷状态控制模块和卷执行模块的交互时间,有效的提升了存储系统中数据卷io静默的执行效率。

在实际应用中,当完成数据卷的io静默操作后,数据卷自身的卷状态控制模块会向控制器级别的状态控制模块反馈io静默操作完成的响应信息,因此,在本发明实施例中,在调用各数据卷的静默函数对各数据卷执行io静默操作之后,可以判断预设时间段内是否接收到所有数据卷反馈的io静默操作完成的响应信息。

预设时间段的取值可以依据数据卷执行io静默操作所需花费的时间设置。

当预设时间段内接收到所有数据卷反馈的io静默操作完成的响应信息时,则说明目标节点所对应的所有数据卷均已完成io静默操作,此时可以取消对所有数据卷的状态机设置的暂停标志位,使得每个数据卷的状态机恢复至正常工作状态。

当预设时间段内未接收到所有数据卷反馈的io静默操作完成的响应信息时,则重新调用未反馈响应信息的目标数据卷的静默函数对目标数据卷执行io静默操作。

在重新调用未反馈响应信息的目标数据卷的静默函数对目标数据卷执行io静默操作之后,可以进一步判断预设时间段内是否接收到目标数据卷反馈的io静默操作完成的响应信息。

目标数据卷的io静默操作不能顺利完成的原因有多种,可能是由于目标数据卷的静默函数错误导致io静默操作不能顺利完成,也可能是目标数据卷自身存在异常导致io静默操作不能顺利完成。

为了便于管理人员直观快速的了解目标数据卷io静默操作不能顺利完成的情况,可以在预设时间段内未接收到目标数据卷反馈的io静默操作完成的响应信息时,展示目标数据卷状态异常的提示信息。

在本发明实施例中,为了避免控制器级别的状态控制模块一直等待目标数据卷反馈响应信息,而导致其它业务处理延时的情况发生,可以在重新调用未反馈响应信息的目标数据卷的静默函数对目标数据卷执行io静默操作之后,当预设时间段内仍未接收到目标数据卷反馈的io静默操作完成的响应信息时,则对目标数据卷设置故障标识,并退出对目标数据卷执行io静默操作的流程。

通过对目标数据卷设置故障标识,此时目标数据卷不再参与io操作,降低了目标数据卷异常时对存储系统业务执行造成的影响。并且通过及时退出对目标数据卷执行io静默操作的流程,可以避免状态控制模块一直等待目标数据卷反馈响应信息,而导致其它业务处理延时的情况发生,提升了存储系统的业务处理性能。

图2为本发明实施例提供的一种数据卷的io静默装置的结构示意图,包括获取单元21、处理单元22、设置单元23和调用单元24;

获取单元21,用于获取存储系统的状态变化信息;

处理单元22,用于利用状态运行逻辑处理规则对状态变化信息进行处理,得到状态输出结果;

设置单元23,用于当状态输出结果为目标节点故障时,对目标节点对应的数据卷的状态机设置暂停标志位;

调用单元24,用于调用各数据卷的静默函数对各数据卷执行io静默操作。

可选地,还包括判断单元和取消单元;

判断单元,用于判断预设时间段内是否接收到所有数据卷反馈的io静默操作完成的响应信息;当预设时间段内未接收到所有数据卷反馈的io静默操作完成的响应信息时,则触发调用单元重新调用未反馈响应信息的目标数据卷的静默函数对目标数据卷执行io静默操作;

取消单元,用于当预设时间段内接收到所有数据卷反馈的io静默操作完成的响应信息时,则取消对所有数据卷的状态机设置的暂停标志位。

可选地,还包括提示单元;

判断单元还用于判断预设时间段内是否接收到目标数据卷反馈的io静默操作完成的响应信息;

提示单元,用于当预设时间段内未接收到目标数据卷反馈的io静默操作完成的响应信息时,则展示目标数据卷状态异常的提示信息。

可选地,还包括退出单元;

退出单元,用于当预设时间段内未接收到目标数据卷反馈的io静默操作完成的响应信息时,则对目标数据卷设置故障标识,并退出对目标数据卷执行io静默操作的流程。

可选地,还包括下发单元;

下发单元,用于当状态输出结果为目标数据卷删除操作时,向目标数据卷的状态机下发状态输出结果,以便于目标数据卷的状态机依据状态输出结果对目标数据卷执行io静默操作,并在完成io静默操作之后删除目标数据卷。

图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,获取存储系统的状态变化信息;利用状态运行逻辑处理规则对状态变化信息进行处理,得到状态输出结果。状态运行逻辑处理规则是存储系统对外部输入的状态变化信息进行状态识别的规则。当状态输出结果为目标节点故障时,说明需要对该节点下的所有数据卷执行io静默操作,为了提升数据卷执行io静默操作的处理效率,可以对目标节点对应的数据卷的状态机设置暂停标志位,并调用各数据卷的静默函数对各数据卷执行io静默操作。通过直接调用各数据卷的静默函数,可以实现对目标节点下所有数据卷的并行处理,无需再与每个数据卷的卷状态控制模块进行交互,并且节省了每个数据卷的卷状态控制模块运行逻辑函数的时间,以及卷状态控制模块和卷执行模块的交互时间,有效的提升了存储系统中数据卷io静默的执行效率。

图3为本发明实施例提供的一种数据卷的io静默装置30的硬件结构示意图,包括:

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

处理器32,用于执行计算机程序以实现如上述任意实施例所述的数据卷的io静默方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的数据卷的io静默方法的步骤。

以上对本发明实施例所提供的一种数据卷的io静默方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1