CN117591014A - 数据读写控制方法、装置、设备及计算机可读存储介质 - Google Patents
数据读写控制方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117591014A CN117591014A CN202311541254.XA CN202311541254A CN117591014A CN 117591014 A CN117591014 A CN 117591014A CN 202311541254 A CN202311541254 A CN 202311541254A CN 117591014 A CN117591014 A CN 117591014A
- Authority
- CN
- China
- Prior art keywords
- controller
- data read
- write
- task
- fault
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012544 monitoring process Methods 0.000 claims description 38
- 230000009471 action Effects 0.000 claims description 22
- 230000005012 migration Effects 0.000 claims description 12
- 238000013508 migration Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据读写控制方法、装置、设备及计算机可读存储介质,属于存储系统领域,用于对多控存储系统中的IO流程进行控制,解决了多控存储系统在发生控制器故障时的IO任务停滞的问题。本发明在确定出多控存储系统中的故障控制器后,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
Description
技术领域
本发明涉及存储系统领域,特别是涉及一种数据读写控制方法,本发明还涉及一种数据读写控制装置、设备及计算机可读存储介质。
背景技术
多控存储系统中与IO(Input/Output,输入输出(数据读写))任务相关的业务(例如数据卷管理以及快照信息管理)通常被分别交由多个不同的控制器管理,因此主机发送至多控存储系统的IO任务通常需要由多个控制器协同执行,在此过程中,一旦多控存储系统中的某个控制器故障,那么整个IO任务便会停滞,在降低了工作效率的同时也影响了用户体验。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种数据读写控制方法、装置、设备及计算机可读存储介质,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
为解决上述技术问题,本发明提供了一种数据读写控制方法,包括:
多控存储系统中的控制器确定出所述多控存储系统中存在故障的故障控制器;
若所述故障控制器为自身所述控制器待处理的数据读写任务的源节点,则释放源节点为所述故障控制器的所述数据读写任务;
若所述故障控制器为所述待处理的数据读写任务当前所在的等待阶段中的远程节点,将当前所在的等待阶段中的远程节点为所述故障控制器的所述数据读写任务加入等待队列;
当所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行所述等待队列中的所述数据读写任务;
其中,所述源节点为所述数据读写任务被主机下发的控制器,所述远程节点为自身所述控制器的所述数据读写任务在等待阶段等待更新所述数据读写任务进度的其他所述控制器,所述与数据读写任务相关的业务包括数据卷管理和/或快照信息管理。
另一方面,所述多控存储系统中的控制器确定出所述多控存储系统中存在故障的故障控制器包括:
多控存储系统中的控制器根据从所述多控存储系统中的监控模块接收到的故障控制器的标识,确定出所述多控存储系统中存在故障的所述故障控制器;
所述当所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行所述等待队列中的所述数据读写任务包括:
当从所述监控模块接收到业务迁移工作的完成信息时,执行所述等待队列中的所述数据读写任务;
其中,所述业务迁移工作为:将所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器。
另一方面,该数据读写控制方法还包括:
所述监控模块将所述多控存储系统中存在故障的所述故障控制器的标识,发送至所述主机,以便所述主机重新分配已下发至所述故障控制器的数据读写任务。
另一方面,所述多控存储系统中存在快照信息管理业务的备份控制器;
该数据读写控制方法还包括:
所述监控模块将所述故障控制器承担的快照信息管理业务,迁移至预设的与所述故障控制器承担的快照信息管理业务对应的备份控制器;
所述监控模块通过负载均衡策略,将所述故障控制器承担的数据卷管理业务,迁移至所述多控存储系统中非故障的其他所述控制器;
其中,所述数据卷包括用于存储主体数据的源卷和用于存储所述主体数据的快照的目标卷,所述源卷的管理业务与所述目标卷的管理业务分属不同的所述控制器管理。
另一方面,该数据读写控制方法还包括:
所述控制器判断自身的所述等待队列中的数据读写任务的数量是否大于预设阈值;
若大于,则控制提示器提示等待队列中的数据读写任务过多。
另一方面,该数据读写控制方法还包括:
所述多控存储系统中的监控模块判断所述多控存储系统中新加入的控制器,是否在所述多控存储系统中承担过快照信息管理业务;
若是,将所述新加入的控制器作为所述快照信息管理业务的备份控制器。
另一方面,所述将所述新加入的控制器作为所述快照信息管理业务的备份控制器包括:
所述监控模块向所述多控存储系统中的各个所述控制器发送即将设置所述快照信息管理业务的备份控制器的第一事件指令;
将所述新加入的控制器作为所述快照信息管理业务的备份控制器;
在成功将所述新加入的控制器作为所述快照信息管理业务的备份控制器之后,向所述多控存储系统中的各个所述控制器发送所述备份控制器设置成功的第二事件指令;
该数据读写控制方法还包括:
所述多控存储系统中的控制器响应于所述第一事件指令,将当前时刻之后接收到的数据读写任务加入所述等待队列;
响应于所述第二事件指令,执行所述等待队列中的数据读写任务。
为解决上述技术问题,本发明还提供了一种数据读写控制装置,包括:
确定模块,用于多控存储系统中的控制器确定出所述多控存储系统中存在故障的故障控制器;
第一动作模块,用于若所述故障控制器为自身所述控制器待处理的数据读写任务的源节点,则释放源节点为所述故障控制器的所述数据读写任务;
第二动作模块,用于若所述故障控制器为所述待处理的数据读写任务当前所在的等待阶段中的远程节点,将当前所在的等待阶段中的远程节点为所述故障控制器的所述数据读写任务加入等待队列;
第三动作模块,用于当所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行所述等待队列中的所述数据读写任务;
其中,所述源节点为所述数据读写任务被主机下发的控制器,所述远程节点为自身所述控制器的所述数据读写任务在等待阶段等待更新所述数据读写任务进度的其他所述控制器,所述与数据读写任务相关的业务包括数据卷管理和/或快照信息管理。
为解决上述技术问题,本发明还提供了一种数据读写控制设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述数据读写控制方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述数据读写控制方法的步骤。
有益效果:
本发明提供了一种数据读写控制方法,考虑到作为IO任务的核心角色的源节点一旦故障,IO任务便无法继续执行,而作为IO任务的协助角色的远程节点故障时,对于远程节点的恢复并不会导致IO任务中断,因此本发明在确定出多控存储系统中的故障控制器后,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
本发明还提供了一种数据读写控制装置、设备及计算机可读存储介质,具有如上数据读写控制方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对相关技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种数据读写控制方法的流程示意图;
图2为发明提供的一种IO任务的流程示意图;
图3为本发明提供的一种数据读写控制装置的结构示意图;
图4为本发明提供的一种数据读写控制设备的结构示意图;
图5为本发明提供的一种计算机可读存储介质的结构示意图。
具体实施方式
本发明的核心是提供一种数据读写控制方法、装置、设备及计算机可读存储介质,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明提供的一种数据读写控制方法的流程示意图,该数据读写控制方法包括:
S101:多控存储系统中的控制器确定出多控存储系统中存在故障的故障控制器;
具体的,考虑到如上背景技术中的技术问题,又结合考虑到整个IO任务的执行过程中涉及到的控制器大致可以分为两类,第一类为被主机下发IO任务的控制器,也即源节点,第二类为控制器在IO任务的等待阶段中等待更新IO任务进度的其他的控制器,可称之为远程节点,而作为IO任务的核心角色的源节点一旦故障,IO任务便无法继续执行,作为IO任务的协助角色的远程节点故障时,对于远程节点的恢复并不会导致IO任务中断,因此本发明实施例中欲在多控存储系统的每个控制器中,识别故障控制器是否为待处理的IO任务的源节点/远程节点,从而针对性的进行处理,以便IO任务不受故障控制器的影响而停滞,因此本步骤中可以首先由多控存储系统中的控制器确定出多控存储系统中存在故障的故障控制器,以便将其作为后续步骤的数据基础。
其中,由于多控存储系统中的每个控制器都有可能参与IO任务,因此多控存储系统中的各个控制器均可执行本步骤。
S102:若故障控制器为自身控制器待处理的数据读写任务的源节点,则释放源节点为故障控制器的数据读写任务;
具体的,之所以IO任务的源节点的故障对于IO任务具有不可挽回的影响,是因为各个IO任务的整个流程中,需要多次经过并且最终需要将执行结果返回源节点,因此一旦发现故障控制器为IO任务的源节点,那么便可以直接释放掉源节点为故障控制器的数据读写任务,主机在有需求时便可以重新下发原本下发至故障控制器的IO任务。
S103:若故障控制器为待处理的数据读写任务当前所在的等待阶段中的远程节点,将当前所在的等待阶段中的远程节点为故障控制器的数据读写任务加入等待队列;
具体的,之所以数据读写任务当前所在的等待阶段中的远程节点的故障对于IO任务的不会造成致命影响,是因为处于等待阶段的该控制器可以(在远程节点被恢复时)重新将IO任务传达至远程节点从而实现IO任务的继续执行,因此本发明实施例中发现若故障控制器为待处理的数据读写任务当前所在的等待阶段中的远程节点,便可以将当前所在的等待阶段中的远程节点为故障控制器的数据读写任务加入等待队列,待后续步骤在合适的时机重新执行等待队列中的IO任务。
S104:当故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行等待队列中的数据读写任务;
其中,源节点为数据读写任务被主机下发的控制器,远程节点为自身控制器的数据读写任务在等待阶段等待更新数据读写任务进度的其他控制器,与数据读写任务相关的业务包括数据卷管理和/或快照信息管理。
具体的,在发现故障控制器之后便可以着手对故障控制器中的与数据读写任务的相关业务迁移至非故障处理器,以便执行等待的IO任务以及后续新的IO任务,那么对于多控存储系统中的各个控制器来说,当其发现故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,便可以执行等待队列中的数据读写任务(当然,可以从IO任务被加入等待队列时所在的阶段执行IO任务,以便继续完成该IO任务),从而顺利完成整个IO任务的流程。
其中,除了与数据读写任务相关的业务的迁移外,对于故障控制器承担的与数据读写任务不相关的业务,也可以迁移至非故障控制器。
具体的,除了数据卷管理以及快照信息管理外,与数据读写任务相关的业务还可以包括多种类型,例如可以包括备份快照信息的管理业务等,本发明实施例在此不做限定。
其中,快照是指定数据集合在某一特定时间点的复制,它是一个完全可用的拷贝。快照技术可以将卷划分成同等大小的数据块(称为grain),对某个卷生成快照之后,会创建一个位图,位图的大小就等于快照的grain个数,位图中的每一位对应一个grain,用来标记grain是否已经完成数据同步。
具体的,在多控存储系统中,为了负载更加均衡,通常将数据卷分配到不同的控制器上,每个数据卷有自己的owner控制器(也即所属控制器或者管理控制器),每个数据卷接收主机IO后都会转发到owner控制器上进行处理。快照信息管理业务也会有自己的owner控制器,用来存放快照位图和在IO处理过程中加解锁,通常情况下快照信息管理业务的owner控制器和源卷管理业务的控制器保持一致。
本发明提供了一种数据读写控制方法,考虑到作为IO任务的核心角色的源节点一旦故障,IO任务便无法继续执行,而作为IO任务的协助角色的远程节点故障时,对于远程节点的恢复并不会导致IO任务中断,因此本发明在确定出多控存储系统中的故障控制器后,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
在上述实施例的基础上:
作为一种可选的实施例,多控存储系统中的控制器确定出多控存储系统中存在故障的故障控制器包括:
多控存储系统中的控制器根据从多控存储系统中的监控模块接收到的故障控制器的标识,确定出多控存储系统中存在故障的故障控制器;
当故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行等待队列中的数据读写任务包括:
当从监控模块接收到业务迁移工作的完成信息时,执行等待队列中的数据读写任务;
其中,业务迁移工作为:将故障控制器的与数据读写任务相关的业务被迁移至非故障控制器。
具体的,为了更可靠稳定的对多控存储系统中控制器的故障进行监测、对故障控制器中的业务进行迁移以及进行故障控制器相关的信息(业务迁移工作完成的信息以及故障控制器的标识)进行传达,本发明实施例中在多控存储系统中设置了监控模块。
其中,监控模块可以在多控存储系统中任一个控制器中实现,还可以为监控模块设置备份,也即备用的监控模块,以便在监控模块本身故障时由备用的监控模块作为新的监控模块进行工作。
作为一种可选的实施例,该数据读写控制方法还包括:
监控模块将多控存储系统中存在故障的故障控制器的标识,发送至主机,以便主机重新分配已下发至故障控制器的数据读写任务。
具体的,考虑到在故障控制器为IO任务的源节点时便需要将IO任务释放,因此为了便于主机能够重新对该类IO任务进行下发执行,本发明实施例中的监控模块可以将多控存储系统中存在故障的故障控制器的标识,发送至主机,以便主机重新分配已下发至故障控制器的数据读写任务。
作为一种可选的实施例,多控存储系统中存在快照信息管理业务的备份控制器;
该数据读写控制方法还包括:
监控模块将故障控制器承担的快照信息管理业务,迁移至预设的与故障控制器承担的快照信息管理业务对应的备份控制器;
监控模块通过负载均衡策略,将故障控制器承担的数据卷管理业务,迁移至多控存储系统中非故障的其他控制器;
其中,数据卷包括用于存储主体数据的源卷和用于存储主体数据的快照的目标卷,源卷的管理业务与目标卷的管理业务分属不同的控制器管理。
具体的,考虑到快照信息的管理工作对于IO任务的执行具有较大影响,因此本发明实施例中可以在多控存储系统中设置快照信息管理业务的备份控制器,那么一旦控制器所承担的快照信息管理业务中的快照信息更新,该控制器还可以将所承担的快照信息管理业务中的快照信息的更新内容同步至该快照信息管理业务对应的备份控制器,在此基础上,一旦承担快照信息管理业务的控制器故障,便可以启用备份控制器,从而保证快照信息管理业务可靠稳定的进行。
其中,为了使得多控存储系统中的各个控制器的负载更加均衡,在发现故障控制器后,可以通过负载均衡策略,将故障控制器承担的数据卷管理业务,迁移至多控存储系统中非故障的其他控制器。
具体的,由于快照功能的存在,存储系统中的主体数据存有了快照,快照也需要存储在数据卷中,并且各个数据卷的管理业务都需要由控制器来执行,因此为了进一步的实现各个控制器的负载均衡,本发明实施例中可以将源卷的管理业务与目标卷的管理业务分属不同的控制器管理。
为了更好地对本发明实施例进行说明,请参考图2,图2为发明提供的一种IO任务的流程示意图。
具体的,IO任务共包括加锁、读源卷、写目标卷、主机写、设置位图和解锁、备份控制器的设置位图(位图同步)、返回给主机这些子任务,其对应的有等待本地或远端处理这些任务的状态(等待阶段)。根据IO任务当前处理的事情和实际处理该事情的节点,将IO任务分成不同的等待阶段,包括等待加锁、等待远端加锁、等待读源卷数据、等待远端读源卷数据、等待目标卷写入数据(图2中的等待写目标卷)、等待远端目标卷写入数据(图2中的等待远端写目标卷)、等待主机IO写入或读出数据(包括图2中的等待主机写)、等待设置位图和解锁、等待远端设置位图和解锁,具体可以参考图2。
具体的,如图2,IO任务的结构体中新增3个字段,包括origin_node(也即源节点)、remote_node(也即远程节点)、state(也即状态/等待阶段)。
具体的,在图2中,快照的源卷和目标卷有不同的owner控制器(管理控制器)时,源卷或目标卷处理主机IO的流程如下:首先,发送消息到快照的owner控制器(快照信息管理的控制器),对位图中(与IO任务对应的)数据块加锁;然后发送消息到源卷的owner控制器(源卷管理的控制器),进行源卷数据的读取;之后将源卷数据转发到目标卷的owner控制器(目标卷管理的控制器)中,并写入目标卷;再将主机IO任务发送到要读写操作的数据卷的owner控制器(数据卷管理的控制器),然后读或写数据;最后发送消息到快照的owner控制器,修改位图后对该grain解锁;最后从IO任务下发的控制器,将处理结果返回给主机。
作为一种可选的实施例,该数据读写控制方法还包括:
控制器判断自身的等待队列中的数据读写任务的数量是否大于预设阈值;
若大于,则控制提示器提示等待队列中的数据读写任务过多。
具体的,考虑到每个控制器的等待队列中不宜同时存在过量的IO任务,因此为了便于用户及时发现该异常情况,本发明实施例中的控制器可以判断自身的等待队列中的数据读写任务的数量是否大于预设阈值,若大于,则控制提示器提示等待队列中的数据读写任务过多。
其中,提示器可以为多种类型,例如可以为显示器等,本发明实施例在此不做限定。
作为一种可选的实施例,该数据读写控制方法还包括:
多控存储系统中的监控模块判断多控存储系统中新加入的控制器,是否在多控存储系统中承担过快照信息管理业务;
若是,将新加入的控制器作为快照信息管理业务的备份控制器。
具体的,考虑到在故障控制器出现后,同样也有可能伴随着非故障控制器的加入,该加入动作有可能是对于故障控制器的补充,考虑到对于快照信息管理业务的控制器在故障后,备份控制器便作为了新的快照信息管理业务的控制器,而在该故障控制器被维修好并重新加入多控存储系统后,其依然适宜承担快照信息管理业务,因此监控模块可以判断多控存储系统中新加入的控制器,是否在多控存储系统中承担过快照信息管理业务,如果是的话,便可以将新加入的控制器作为快照信息管理业务的备份控制器,从而重新实现了快照信息管理业务的控制器的冗余备份,具有较高的自动化程度。
作为一种可选的实施例,将新加入的控制器作为快照信息管理业务的备份控制器包括:
监控模块向多控存储系统中的各个控制器发送即将设置快照信息管理业务的备份控制器的第一事件指令;
将新加入的控制器作为快照信息管理业务的备份控制器;
在成功将新加入的控制器作为快照信息管理业务的备份控制器之后,向多控存储系统中的各个控制器发送备份控制器设置成功的第二事件指令;
该数据读写控制方法还包括:
多控存储系统中的控制器响应于第一事件指令,将当前时刻之后接收到的数据读写任务加入等待队列;
响应于第二事件指令,执行等待队列中的数据读写任务。
具体的,考虑到在设置快照信息管理业务的备份控制器的过程中执行IO任务,可能会导致IO任务的执行不稳定甚至可能出错,因此本发明实施例中的监控模块可以向多控存储系统中的各个控制器发送即将设置快照信息管理业务的备份控制器的第一事件指令,然后便将新加入的控制器作为快照信息管理业务的备份控制器;而后在成功将新加入的控制器作为快照信息管理业务的备份控制器之后,向多控存储系统中的各个控制器发送备份控制器设置成功的第二事件指令,在这种情况下,控制器在接收到该第一事件指令后便可以将当前时刻之后接收到的数据读写任务加入等待队列,直至响应于第二事件指令便可以执行等待队列中的数据读写任务,有利于进一步提升IO任务的执行稳定性。
请参考图3,图3为本发明提供的一种数据读写控制装置的结构示意图,该数据读写控制装置包括:
确定模块31,用于多控存储系统中的控制器确定出多控存储系统中存在故障的故障控制器;
第一动作模块32,用于若故障控制器为自身控制器待处理的数据读写任务的源节点,则释放源节点为故障控制器的数据读写任务;
第二动作模块33,用于若故障控制器为待处理的数据读写任务当前所在的等待阶段中的远程节点,将当前所在的等待阶段中的远程节点为故障控制器的数据读写任务加入等待队列;
第三动作模块34,用于当故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行等待队列中的数据读写任务;
其中,源节点为数据读写任务被主机下发的控制器,远程节点为自身控制器的数据读写任务在等待阶段等待更新数据读写任务进度的其他控制器,与数据读写任务相关的业务包括数据卷管理和/或快照信息管理。
本发明提供了一种数据读写控制装置,考虑到作为IO任务的核心角色的源节点一旦故障,IO任务便无法继续执行,而作为IO任务的协助角色的远程节点故障时,对于远程节点的恢复并不会导致IO任务中断,因此本发明在确定出多控存储系统中的故障控制器后,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
作为一种可选的实施例,确定模块31包括:
多控存储系统中的控制器根据从多控存储系统中的监控模块接收到的故障控制器的标识,确定出多控存储系统中存在故障的故障控制器;
第三动作模块34包括:
当从监控模块接收到业务迁移工作的完成信息时,执行等待队列中的数据读写任务;
其中,业务迁移工作为:将故障控制器的与数据读写任务相关的业务被迁移至非故障控制器。
作为一种可选的实施例,该数据读写控制装置还包括:
第一发送模块,用于监控模块将多控存储系统中存在故障的故障控制器的标识,发送至主机,以便主机重新分配已下发至故障控制器的数据读写任务。
作为一种可选的实施例,多控存储系统中存在快照信息管理业务的备份控制器;
该数据读写控制装置还包括:
第一迁移模块,用于监控模块将故障控制器承担的快照信息管理业务,迁移至预设的与故障控制器承担的快照信息管理业务对应的备份控制器;
第二迁移模块,用于监控模块通过负载均衡策略,将故障控制器承担的数据卷管理业务,迁移至多控存储系统中非故障的其他控制器;
其中,数据卷包括用于存储主体数据的源卷和用于存储主体数据的快照的目标卷,源卷的管理业务与目标卷的管理业务分属不同的控制器管理。
作为一种可选的实施例,该数据读写控制装置还包括:
第一判断模块,用于控制器判断自身的等待队列中的数据读写任务的数量是否大于预设阈值,若大于,则触发提示模块;
提示模块,用于控制提示器提示等待队列中的数据读写任务过多。
作为一种可选的实施例,该数据读写控制装置还包括:
第二判断模块,用于多控存储系统中的监控模块判断多控存储系统中新加入的控制器,是否在多控存储系统中承担过快照信息管理业务,若是,触发第四动作模块;
第四动作模块,用于将新加入的控制器作为快照信息管理业务的备份控制器。
作为一种可选的实施例,第四动作模块包括:
第一动作子模块,用于监控模块向多控存储系统中的各个控制器发送即将设置快照信息管理业务的备份控制器的第一事件指令;
第二动作子模块,用于将新加入的控制器作为快照信息管理业务的备份控制器;
第三动作子模块,用于在成功将新加入的控制器作为快照信息管理业务的备份控制器之后,向多控存储系统中的各个控制器发送备份控制器设置成功的第二事件指令;
该数据读写控制装置还包括:
第五动作模块,用于多控存储系统中的控制器响应于第一事件指令,将当前时刻之后接收到的数据读写任务加入等待队列;
第六动作模块,用于响应于第二事件指令,执行等待队列中的数据读写任务。
对于本发明实施例提供的数据读写控制装置的介绍请参照前述的数据读写控制方法的实施例,本发明实施例在此不再赘述。
请参考图4,图4为本发明提供的一种数据读写控制设备的结构示意图,该数据读写控制设备包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序51时实现如前述实施例中数据读写控制方法的步骤。
本发明提供了一种数据读写控制设备,考虑到作为IO任务的核心角色的源节点一旦故障,IO任务便无法继续执行,而作为IO任务的协助角色的远程节点故障时,对于远程节点的恢复并不会导致IO任务中断,因此本发明在确定出多控存储系统中的故障控制器后,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
对于本发明实施例提供的数据读写控制设备的介绍请参照前述的数据读写控制方法的实施例,本发明实施例在此不再赘述。
请参考图5,图5为本发明提供的一种计算机可读存储介质的结构示意图,计算机可读存储介质50上存储有计算机程序51,计算机程序51被处理器42执行时实现如前述实施例中数据读写控制方法的步骤。
本发明提供了一种计算机可读存储介质,考虑到作为IO任务的核心角色的源节点一旦故障,IO任务便无法继续执行,而作为IO任务的协助角色的远程节点故障时,对于远程节点的恢复并不会导致IO任务中断,因此本发明在确定出多控存储系统中的故障控制器后,若故障控制器为待处理的IO任务的源节点时,将待处理的IO任务释放,若故障控制器为待处理的IO任务当前所在的等待阶段中的远程节点时,将待处理的IO任务加入等待队列,直至故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时再次执行,无需主机重新下发IO任务,提升了IO效率以及用户体验。
对于本发明实施例提供的计算机可读存储介质的介绍请参照前述的数据读写控制方法的实施例,本发明实施例在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据读写控制方法,其特征在于,包括:
多控存储系统中的控制器确定出所述多控存储系统中存在故障的故障控制器;
若所述故障控制器为自身所述控制器待处理的数据读写任务的源节点,则释放源节点为所述故障控制器的所述数据读写任务;
若所述故障控制器为所述待处理的数据读写任务当前所在的等待阶段中的远程节点,将当前所在的等待阶段中的远程节点为所述故障控制器的所述数据读写任务加入等待队列;
当所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行所述等待队列中的所述数据读写任务;
其中,所述源节点为所述数据读写任务被主机下发的控制器,所述远程节点为自身所述控制器的所述数据读写任务在等待阶段等待更新所述数据读写任务进度的其他所述控制器,所述与数据读写任务相关的业务包括数据卷管理和/或快照信息管理。
2.根据权利要求1所述的数据读写控制方法,其特征在于,所述多控存储系统中的控制器确定出所述多控存储系统中存在故障的故障控制器包括:
多控存储系统中的控制器根据从所述多控存储系统中的监控模块接收到的故障控制器的标识,确定出所述多控存储系统中存在故障的所述故障控制器;
所述当所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行所述等待队列中的所述数据读写任务包括:
当从所述监控模块接收到业务迁移工作的完成信息时,执行所述等待队列中的所述数据读写任务;
其中,所述业务迁移工作为:将所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器。
3.根据权利要求2所述的数据读写控制方法,其特征在于,该数据读写控制方法还包括:
所述监控模块将所述多控存储系统中存在故障的所述故障控制器的标识,发送至所述主机,以便所述主机重新分配已下发至所述故障控制器的数据读写任务。
4.根据权利要求3所述的数据读写控制方法,其特征在于,所述多控存储系统中存在快照信息管理业务的备份控制器;
该数据读写控制方法还包括:
所述监控模块将所述故障控制器承担的快照信息管理业务,迁移至预设的与所述故障控制器承担的快照信息管理业务对应的备份控制器;
所述监控模块通过负载均衡策略,将所述故障控制器承担的数据卷管理业务,迁移至所述多控存储系统中非故障的其他所述控制器;
其中,所述数据卷包括用于存储主体数据的源卷和用于存储所述主体数据的快照的目标卷,所述源卷的管理业务与所述目标卷的管理业务分属不同的所述控制器管理。
5.根据权利要求1所述的数据读写控制方法,其特征在于,该数据读写控制方法还包括:
所述控制器判断自身的所述等待队列中的数据读写任务的数量是否大于预设阈值;
若大于,则控制提示器提示等待队列中的数据读写任务过多。
6.根据权利要求1至5任一项所述的数据读写控制方法,其特征在于,该数据读写控制方法还包括:
所述多控存储系统中的监控模块判断所述多控存储系统中新加入的控制器,是否在所述多控存储系统中承担过快照信息管理业务;
若是,将所述新加入的控制器作为所述快照信息管理业务的备份控制器。
7.根据权利要求6所述的数据读写控制方法,其特征在于,所述将所述新加入的控制器作为所述快照信息管理业务的备份控制器包括:
所述监控模块向所述多控存储系统中的各个所述控制器发送即将设置所述快照信息管理业务的备份控制器的第一事件指令;
将所述新加入的控制器作为所述快照信息管理业务的备份控制器;
在成功将所述新加入的控制器作为所述快照信息管理业务的备份控制器之后,向所述多控存储系统中的各个所述控制器发送所述备份控制器设置成功的第二事件指令;
该数据读写控制方法还包括:
所述多控存储系统中的控制器响应于所述第一事件指令,将当前时刻之后接收到的数据读写任务加入所述等待队列;
响应于所述第二事件指令,执行所述等待队列中的数据读写任务。
8.一种数据读写控制装置,其特征在于,包括:
确定模块,用于多控存储系统中的控制器确定出所述多控存储系统中存在故障的故障控制器;
第一动作模块,用于若所述故障控制器为自身所述控制器待处理的数据读写任务的源节点,则释放源节点为所述故障控制器的所述数据读写任务;
第二动作模块,用于若所述故障控制器为所述待处理的数据读写任务当前所在的等待阶段中的远程节点,将当前所在的等待阶段中的远程节点为所述故障控制器的所述数据读写任务加入等待队列;
第三动作模块,用于当所述故障控制器的与数据读写任务相关的业务被迁移至非故障控制器时,执行所述等待队列中的所述数据读写任务;
其中,所述源节点为所述数据读写任务被主机下发的控制器,所述远程节点为自身所述控制器的所述数据读写任务在等待阶段等待更新所述数据读写任务进度的其他所述控制器,所述与数据读写任务相关的业务包括数据卷管理和/或快照信息管理。
9.一种数据读写控制设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述数据读写控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述数据读写控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311541254.XA CN117591014A (zh) | 2023-11-17 | 2023-11-17 | 数据读写控制方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311541254.XA CN117591014A (zh) | 2023-11-17 | 2023-11-17 | 数据读写控制方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117591014A true CN117591014A (zh) | 2024-02-23 |
Family
ID=89915991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311541254.XA Pending CN117591014A (zh) | 2023-11-17 | 2023-11-17 | 数据读写控制方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117591014A (zh) |
-
2023
- 2023-11-17 CN CN202311541254.XA patent/CN117591014A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5183542B2 (ja) | 計算機システム及び設定管理方法 | |
CN111799785B (zh) | 极端灾害后配电网电力与通信协调恢复方法及系统 | |
US20140380079A1 (en) | Operation management device, operation management method, and recording medium | |
WO2017028375A1 (zh) | 一种版本升级方法及系统 | |
CN115562911B (zh) | 虚拟机数据备份方法及装置、系统、电子设备、存储介质 | |
CN112199240A (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
CN101206596A (zh) | 复原系统操作的方法 | |
CN109324549B (zh) | 一种双主控设备配置方法及双主控设备 | |
CN102193780A (zh) | 事务实现方法以及事务实现设备 | |
CN112395050B (zh) | 一种虚拟机备份方法、装置、电子设备及可读存储介质 | |
WO2024041363A1 (zh) | 无服务器架构分布式容错系统、方法、装置、设备及介质 | |
JPH11259326A (ja) | ホットスタンバイシステムおよびホットスタンバイシステムにおける自動再実行方法およびその記録媒体 | |
CN117591014A (zh) | 数据读写控制方法、装置、设备及计算机可读存储介质 | |
CN102708023A (zh) | 备用系统计算器、集群系统、提供服务的方法和记录介质 | |
CN110708203A (zh) | 一种容错方法、装置及设备 | |
CN116166196A (zh) | 一种分布式存储系统中存储池扩缩容恢复方法及装置 | |
US20170344313A1 (en) | Storage system and control method therefor | |
CN110231961B (zh) | 一种主控板重启的控制方法及系统 | |
JP2005107819A (ja) | コンピュータネットワークシステムのフェイルセーフ方法 | |
CN115269556A (zh) | 一种数据库故障处理方法、装置、设备及存储介质 | |
JP2850756B2 (ja) | 分散処理システムにおけるファイルの障害復旧方式 | |
JPH0793173A (ja) | コンピュータネットワークシステムおよびそのコンピュータネットワークシステムの計算機に対するプロセス割り当て方法 | |
CN114490175A (zh) | 数据处理方法、系统、计算机设备及可读存储介质 | |
CN116185719A (zh) | Oracle数据文件备份规则备份端的集群方法和系统 | |
CN116405373A (zh) | 去中心化的多智能体平台及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |