一种输入输出进程处理方法技术

技术编号:39513001 阅读:7 留言:0更新日期:2023-11-25 18:49
本申请公开了一种输入输出进程处理方法,包括:确定用于处理输入输出进程的存储处理单元中各个存储控制器的运行状态;运行状态包括正常状态和故障状态;存储处理单元包括至少两个存储控制器;在存储处理单元中包含处于故障状态的第一存储控制器,且第一输入输出进程被第一存储控制器执行的情况下,回滚第一输入输出进程的处理进度;基于存储处理单元中处于正常状态的第二存储控制器重新执行第一输入输出进程以及后续输入输出进程,能够在一部分存储处理器发生故障时继续执行输入输出进程,避免输入输出进程断流,有效降低业务中断的风险

【技术实现步骤摘要】
一种输入输出进程处理方法、装置、电子设备及存储介质


[0001]本申请属于数据存储
,具体涉及一种输入输出进程处理方法

装置

电子设备及存储介质


技术介绍

[0002]存储技术能够稳定快速安全地处理用户请求数据,将其存储到磁盘中

在存储
,输入输出
(Input Output

IO)
栈的处理是最为关键的一环,在实际应用中,对于双控存储设备来说,存储控制节点不可避免的会发生一些故障,例如系统软件漏洞

硬件链路故障

存储单控制节点拔插更换等,这些故障都会使得存储软件输入输出栈断流

对于用户来说,输入输出断流后,用户数据无法读写,尤其对于金融

通信

科研等读写数据需求较高的场景,输入输出断流引起的业务中断的后果是非常严重的

[0003]相关技术中,在多控存储过程中,控制器发生异常之后,主要通过配置端感知集群事件通知,然后通过事件通信通知各个控制节点静默以停止输入输出进程,接着在停止输入输出进程后进行位图同步

新输入输出进程的元数据同步,最后在同步完成后恢复输入输出进程的方式进行异常恢复

[0004]但是这种方法中,控制节点静默时需要配置端和代理端进行通信,通信本身会占用时间,容易导致输入输出断流,从而产生业务中断的风险;另外,增加控制节点时在配置侧事件串行处理也会抢占静默时间,导致输入输出断流时间增长,业务中断的风险进一步增加


技术实现思路

[0005]本申请实施例的目的是提供一种输入输出进程处理方法

装置

电子设备及存储介质,能够解决相关技术中输入输出断流产生的业务中断风险较高的问题

[0006]第一方面,本申请实施例提供了一种输入输出进程处理方法,所述方法包括:
[0007]确定用于处理输入输出进程的存储处理单元中各个存储控制器的运行状态;所述运行状态包括正常状态和故障状态;所述存储处理单元包括至少两个存储控制器;
[0008]在所述存储处理单元中包含处于所述故障状态的第一存储控制器,且第一输入输出进程被所述第一存储控制器执行的情况下,回滚所述第一输入输出进程的处理进度;
[0009]基于所述存储处理单元中处于所述正常状态的第二存储控制器重新执行所述第一输入输出进程以及后续输入输出进程

[0010]可选地,所述方法还包括:
[0011]初始化所述第一存储控制器;
[0012]在所述第二存储控制器正在处理第二输入输出进程的情况下,从所述第二存储控制器中将所述第二输入输出进程对应的脏数据和元数据复制到所述第一存储控制器中;其中,所述脏数据和所述元数据由第二存储控制器在开始处理所述第二输入输出进程进后获取并保存;
[0013]在所述脏数据和所述元数据复制完成的情况下,设置所述第一存储控制器为所述正常状态,以使所述第一存储控制器处理后续输入输出进程

[0014]可选地,所述方法还包括:
[0015]在所述第二存储控制器处于空闲状态的情况下,设置所述第一存储控制器为所述正常状态,以使所述第一存储控制器处理后续输入输出进程;所述空闲状态表示所述第二存储控制器未进行输入输出进程处理

[0016]可选地,所述基于所述存储处理单元中处于所述正常状态的第二存储控制器重新执行所述第一输入输出进程以及后续输入输出进程,包括:
[0017]获取所述存储处理单元所在的存储系统的输入输出进程的进程队列;
[0018]在所述存储处理单元中包含处于所述故障状态的第一存储控制器和处于所述正常状态的第二存储控制器的情况下,基于所述第二存储控制器执行所述进程队列中的各个输入输出进程

[0019]可选地,所述基于所述存储处理单元中处于所述正常状态的第二存储控制器重新执行所述第一输入输出进程以及后续输入输出进程,包括:
[0020]在所述进程队列中新增第三输入输出进程的情况下,确定所述第一存储控制器的第一运行状态和所述第二存储控制器的第二运行状态;
[0021]在所述第一运行状态和所述第二运行状态均为所述正常状态的情况下,基于所述第一存储控制器和所述第二存储控制器联合执行所述第三输入输出进程

[0022]可选地,所述基于所述存储处理单元中处于所述正常状态的第二存储控制器重新执行所述第一输入输出进程以及后续输入输出进程,包括:
[0023]在所述存储处理单元中包含的各个存储控制器均为所述正常状态的情况下,向所述各个存储控制器发送所述进程队列中的各个输入输出进程对应的脏数据和元数据,以使所述存储处理单元处理所述进程队列中的各个输入输出进程

[0024]可选地,所述方法还包括:
[0025]在所述存储处理单元包含的存储控制器均处于所述故障状态的情况下,控制所述存储处理单元进入待机状态并向用户发送故障提示信息

[0026]第二方面,本申请实施例提供了一种输入输出进程处理装置,所述装置包括:
[0027]确定模块,用于确定用于处理输入输出进程的存储处理单元中各个存储控制器的运行状态;所述运行状态包括正常状态和故障状态;所述存储处理单元包括至少两个存储控制器;
[0028]回滚模块,用于在所述存储处理单元中包含处于所述故障状态的第一存储控制器,且第一输入输出进程被所述第一存储控制器执行的情况下,回滚所述第一输入输出进程的处理进度;
[0029]执行模块,用于基于所述存储处理单元中处于所述正常状态的第二存储控制器重新执行所述第一输入输出进程以及后续输入输出进程

[0030]可选地,所述装置还包括:
[0031]初始化模块,用于初始化所述第一存储控制器;
[0032]复制模块,用于在所述第二存储控制器正在处理第二输入输出进程的情况下,从所述第二存储控制器中将所述第二输入输出进程对应的脏数据和元数据复制到所述第一
存储控制器中;其中,所述脏数据和所述元数据由第二存储控制器在开始处理所述第二输入输出进程进后获取并保存;
[0033]第一设置模块,用于在所述脏数据和所述元数据复制完成的情况下,设置所述第一存储控制器为所述正常状态,以使所述第一存储控制器处理后续输入输出进程

[0034]可选地,所述装置还包括:
[0035]第二设置模块,用于在所述第二存储控制器处于空闲状态的情况下,设置所述第一存储控制器为所述正常状态,以使所述第一存储控制器处理后续输入输出进程;所述空闲状态表示所述第二存储控制器未进行输入输出进程处理

[0036]可选地,所述执行模块,包括:
[0037]获取子模块,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种输入输出进程处理方法,其特征在于,所述方法包括:确定用于处理输入输出进程的存储处理单元中各个存储控制器的运行状态;所述运行状态包括正常状态和故障状态;所述存储处理单元包括至少两个存储控制器;在所述存储处理单元中包含处于所述故障状态的第一存储控制器,且第一输入输出进程被所述第一存储控制器执行的情况下,回滚所述第一输入输出进程的处理进度;基于所述存储处理单元中处于所述正常状态的第二存储控制器重新执行所述第一输入输出进程以及后续输入输出进程
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:初始化所述第一存储控制器;在所述第二存储控制器正在处理第二输入输出进程的情况下,从所述第二存储控制器中将所述第二输入输出进程对应的脏数据和元数据复制到所述第一存储控制器中;其中,所述脏数据和所述元数据由第二存储控制器在开始处理所述第二输入输出进程进后获取并保存;在所述脏数据和所述元数据复制完成的情况下,设置所述第一存储控制器为所述正常状态,以使所述第一存储控制器处理后续输入输出进程
。3.
根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述第二存储控制器处于空闲状态的情况下,设置所述第一存储控制器为所述正常状态,以使所述第一存储控制器处理后续输入输出进程;所述空闲状态表示所述第二存储控制器未进行输入输出进程处理
。4.
根据权利要求1所述的方法,其特征在于,所述基于所述存储处理单元中处于所述正常状态的第二存储控制器重新执行所述第一输入输出进程以及后续输入输出进程,包括:获取所述存储处理单元所在的存储系统的输入输出进程的进程队列;在所述存储处理单元中包含处于所述故障状态的第一存储控制器和处于所述正常状态的第二存储控制器的情况下,基于所述第二存储控制器执行所述进程队列中的各个输入输出进程
。5.
根据权利要求4所述的方法,其特征在...

【专利技术属性】
技术研发人员:贺坤朱红玉
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1