CN117573037A - 一种任务管理方法、系统、设备及计算机可读存储介质 - Google Patents
一种任务管理方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117573037A CN117573037A CN202311609448.9A CN202311609448A CN117573037A CN 117573037 A CN117573037 A CN 117573037A CN 202311609448 A CN202311609448 A CN 202311609448A CN 117573037 A CN117573037 A CN 117573037A
- Authority
- CN
- China
- Prior art keywords
- target
- node
- task processing
- controller
- controller node
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 189
- 238000000034 method Methods 0.000 claims description 31
- 238000012216 screening Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method 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
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种任务管理方法、系统、设备及计算机可读存储介质,涉及存储技术领域,应用于多控存储系统的集群端,生成目标节点信息,目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;发送目标节点信息至多控存储系统的每个控制器节点,以使控制器节点响应目标节点信息后对目标存储设备进行任务处理,得到目标任务处理结果;接收目标任务处理结果;将目标存储设备的目标任务处理结果发送至其他控制器节点;其中,其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。在更换目标控制器节点后,继续根据目标任务处理结果对目标存储设备进行任务处理,提高了多控存储系统中后台任务的管理效率。
Description
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种任务管理方法、系统、设备及计算机可读存储介质。
背景技术
当前,在存储系统中,为了实现存储的高可用性,可以采用多控制器共享后端存储设备(硬盘、异构存储等)的架构形式实现。在此过程中,存储设备的后台任务是独立于主机业务存在的,其中,后台任务是在非处理业务IO的硬盘等上执行的IO,通常只固定在一个控制器节点执行,如果该控制器节点故障离线,则盘任务管理中止,需要等集群稳定后再次人为发起,效率低下。
综上所述,如何提高多控存储系统中后台任务的管理效率是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种任务管理方法,其能在一定程度上解决如何提高多控存储系统中后台任务的管理效率的技术问题。本申请还提供了一种任务管理系统、电子设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种任务管理方法,应用于多控存储系统的集群端,包括:
生成目标节点信息,所述目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;
发送所述目标节点信息至所述多控存储系统的每个控制器节点,以使所述控制器节点响应所述目标节点信息后对所述目标存储设备进行任务处理,得到目标任务处理结果;
接收所述目标任务处理结果;
将所述目标存储设备的所述目标任务处理结果发送至其他控制器节点;
其中,所述其他控制器节点包括除对所述目标存储设备进行任务处理的所述控制器节点之外的控制器节点。
在一示例性实施例中,所述生成目标节点信息,包括:
获取所述多控存储系统中在线控制器节点的位图信息;
根据所述位图信息,筛选出与所述目标存储设备连接的第一类控制器节点;
获取所述目标存储设备的第一端口的第一连接位图;
根据所述第一连接位图,在所述第一类控制器节点中筛选出与所述第一端口相连接的第二类控制器节点;
获取所述目标存储设备的第二端口的第二连接位图;
根据所述第二连接位图,在所述第二类控制器节点中筛选出与所述第二端口相连接的第三类控制器节点;
判断所述第三类控制器节点是否为空;
若所述第三类控制器节点非空,则将所述第三类控制器节点中最先上线的控制器节点作为目标控制器节点,基于所述目标控制器节点生成所述目标节点信息;
若所述第三类控制器节点为空,则判断所述第二类控制器节点是否为空;
若所述第二类控制器节点非空,则将所述第二类控制器节点中最先上线的控制器节点作为目标控制器节点,基于所述目标控制器节点生成所述目标节点信息;
若所述第二类控制节点为空,则将在线的所述控制器节点中最先上线的控制器节点作为目标控制器节点,基于所述目标控制器节点生成所述目标节点信息。
在一示例性实施例中,所述生成目标节点信息之前,还包括:
判断所述目标存储设备的已有控制器节点是否故障;
若所述已有控制器节点故障,则执行所述生成目标节点信息的步骤。
一种任务管理方法,应用于多控存储系统的控制器节点,包括:
获取所述多控存储系统中的集群端发送的目标节点信息,所述目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;
响应于所述目标节点信息表征所述控制器节点对所述目标存储设备进行任务处理,则对所述目标存储设备进行任务处理,得到目标任务处理结果;
发送所述目标任务处理结果至所述集群端,以使所述集群端将所述目标存储设备的所述目标任务处理结果发送至所述多控存储系统中的其他控制器节点;
其中,所述其他控制器节点包括除对所述目标存储设备进行任务处理的所述控制器节点之外的控制器节点。
在一示例性实施例中,所述响应于所述目标节点信息表征所述控制器节点对所述目标存储设备进行任务处理,包括:
解析所述目标节点信息中的节点标识信息;
判断所述节点标识信息是否与所述控制器节点的标识信息一致;
若所述节点标识信息与所述控制器节点的标识信息一致,则判定所述目标节点信息表征所述控制器节点对连接的所述目标存储设备进行任务处理。
在一示例性实施例中,所述对所述目标存储设备进行任务处理,得到目标任务处理结果,包括:
判断是否存在所述目标存储设备的已有任务处理结果;
若存在所述目标存储设备的所述已有任务处理结果,则根据所述已有任务处理结果继续对所述目标存储设备进行任务处理,得到所述目标任务处理结果;
若不存在所述目标存储设备的所述已有任务处理结果,则从头开始对所述目标存储设备进行任务处理,得到所述目标任务处理结果。
在一示例性实施例中,所述对所述目标存储设备进行任务处理,得到目标任务处理结果,包括:
对所述目标存储设备进行任务处理,并开始计时;
每当计时时长达到预设时长,则计算所述计时时长内的任务执行进度,并计算出任务完成时间,将所述任务执行进度及所述任务完成时间作为所述计时时长内的所述目标任务处理结果。
一种任务管理系统,应用于多控存储系统的集群端,包括:
第一生成模块,用于生成目标节点信息;
第一发送模块,用于发送所述目标节点信息至所述多控存储系统的每个控制器节点,以使所述控制器节点响应于所述目标节点信息表征所述控制器节点对连接的目标存储设备进行任务处理、则对所述目标存储设备进行任务处理,得到目标任务处理结果;
第一接收模块,用于接收所述目标任务处理结果;
第二发送模块,用于将所述目标存储设备的所述目标任务处理结果发送至其他控制器节点;
其中,所述其他控制器节点包括除对所述目标存储设备进行任务处理的所述控制器节点之外的控制器节点。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述任务管理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述任务管理方法的步骤。
本申请提供的一种任务管理方法,应用于多控存储系统的集群端,生成目标节点信息,目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;发送目标节点信息至多控存储系统的每个控制器节点,以使控制器节点响应目标节点信息后对目标存储设备进行任务处理,得到目标任务处理结果;接收目标任务处理结果;将目标存储设备的目标任务处理结果发送至其他控制器节点;其中,其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。本申请中,集群端借助目标节点信息来控制对应控制器节点对目标存储设备进行任务处理,并将相应的目标任务处理结果发送至其他控制器节点,这样,多控存储系统中的所有控制器节点上均有该目标任务处理结果,便于后续更换目标控制器节点后,可以继续根据目标任务处理结果对目标存储设备进行任务处理,提高了多控存储系统中后台任务的管理效率。本申请提供的一种任务管理系统、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种任务管理方法的第一流程图;
图2为本申请实施例提供的一种任务管理方法中目标节点信息的生成示意图;
图3为筛选目标控制器节点的示意图;
图4为4个控制器节点时任务管理方法的示意图;
图5为本申请实施例提供的一种任务管理方法的第二流程图;
图6为控制器节点format流程图;
图7为定时器执行逻辑流程图;
图8为定时器下发tur指令检测盘状态流程图;
图9为控制器节点certify流程图;
图10为本申请实施例提供的一种任务管理系统的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图;
图12为本申请实施例提供的一种电子设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种任务管理方法的第一流程图。
本申请实施例提供的一种任务管理方法,应用于多控存储系统的集群端,可以包括以下步骤:
步骤S101:生成目标节点信息,目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息。
实际应用中,多控存储系统中的集群端可以先生成目标节点信息,目标节点信息用于选取目标控制器节点来对目标存储设备进行任务处理,也即目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息,目标节点信息的类型可以根据实际需要确定,比如目标节点信息中可以包括控制器节点的标识等。
需要说明的是,集群端可以为多控存储系统中的总控制器等,且集群端可以根据用户指令或者根据控制器节点的性能来生成目标节点信息等,本申请在此不做具体限定。
步骤S102:发送目标节点信息至多控存储系统的每个控制器节点,以使控制器节点响应目标节点信息后对目标存储设备进行任务处理,得到目标任务处理结果。
实际应用中,集群端在生成目标节点信息之后,便可以发送目标节点信息至多控存储系统的每个控制器节点,以使控制器节点响应于目标节点信息表征控制器节点自身对连接的目标存储设备进行任务处理后则对目标存储设备进行任务处理,也即控制器节点基于目标节点信息判定自身为对目标存储设备进行任务处理的目标控制器节点后,会对目标存储设备进行任务处理,得到目标任务处理结果。
换言之,每个控制器节点接收到目标节点信息后,会检测该目标节点信息是否与自身节点信息一致,若一致,则表明自身为目标控制器节点,需对所连接的目标存储设备进行任务处理。需要说明的是,目标存储设备可以为硬盘、异构存储等。
步骤S103:接收目标任务处理结果。
步骤S104:将目标存储设备的目标任务处理结果发送至其他控制器节点;其中,其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。
实际应用中,在控制器节点对目标存储设备进行任务处理得到目标任务处理结果之后,便可以将目标任务处理结果发送给集群端,相应的,集群端接收目标任务处理结果,并将目标存储设备的目标任务处理结果发送至其他控制器节点,且其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。如此一来,所有的控制器节点上均有该目标任务处理结果,后续集群端更改目标节点信息后,所命中的新的控制器节点依然可以应用该目标任务处理结果继续对目标存储设备进行任务处理。
本申请提供的一种任务管理方法,应用于多控存储系统的集群端,生成目标节点信息,目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;发送目标节点信息至多控存储系统的每个控制器节点,以使控制器节点响应目标节点信息后对目标存储设备进行任务处理,得到目标任务处理结果;接收目标任务处理结果;将目标存储设备的目标任务处理结果发送至其他控制器节点;其中,其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。本申请中,集群端借助目标节点信息来控制对应控制器节点对目标存储设备进行任务处理,并将相应的目标任务处理结果发送至其他控制器节点,这样,多控存储系统中的所有控制器节点上均有该目标任务处理结果,便于后续更换目标控制器节点后,可以继续根据目标任务处理结果对目标存储设备进行任务处理,提高了多控存储系统中后台任务的管理效率。
请参阅图2,图2为本申请实施例提供的一种任务管理方法中目标节点信息的生成示意图。
在前述描述基础上,本申请实施例提供的一种任务管理方法,应用于多控存储系统的集群端,生成目标节点信息的过程可以包括以下步骤:
步骤S201:获取多控存储系统中在线控制器节点的位图信息。
步骤S202:根据位图信息,筛选出与目标存储设备连接的第一类控制器节点。
实际应用中,考虑到控制器节点在线时才能对所连接的存储设备进行任务处理,且多控存储系统可以借助位图来记录控制节点的在线等信息,所以在生成目标节点信息的过程中,可以先获取多控存储系统中在线控制器节点的位图信息,再根据位图信息,筛选出与目标存储设备连接的第一类控制器节点,以便后续继续在第一类控制器节点中筛选出目标控制器节点。
步骤S203:获取目标存储设备的第一端口的第一连接位图。
步骤S204:根据第一连接位图,在第一类控制器节点中筛选出与第一端口相连接的第二类控制器节点。
步骤S205:获取目标存储设备的第二端口的第二连接位图。
步骤S206:根据第二连接位图,在第二类控制器节点中筛选出与第二端口相连接的第三类控制器节点。
实际应用中,考虑到存在存储设备与控制器节点需存在连接才能进行任务处理,也即存储设备未被控制器节点软件隔离时才能进行任务处理,所以在筛选出第一类控制器节点之后,需获取目标存储设备的第一端口的第一连接位图,根据第一连接位图,在第一类控制器节点中筛选出与第一端口相连接的第二类控制器节点,获取目标存储设备的第二端口的第二连接位图,根据第二连接位图,在第二类控制器节点中筛选出与第二端口相连接的第三类控制器节点。
需要说明的是,第一连接位图中记录了与第一端口相连接的控制器节点的信息,相应的,第二连接位图中记录了与第二端口相连接的控制器节点的信息。软件隔离(exclude)指的是:双端口盘的其中一个端口发生某些IO错误后,多控存储系统认为该端口不再可信,将其标记为exclude,即该盘端口被软件隔离
步骤S207:判断第三类控制器节点是否为空;若第三类控制器节点非空,则执行步骤S208;若第三类控制器节点为空,则执行步骤S209。
步骤S208:将第三类控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息;
实际应用中,考虑到第三类控制器节点可能为空,所以在筛选目标控制器节点的过程中,需先判断第三类控制器节点是否为空;若第三类控制器节点非空,则可以将第三类控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息。
步骤S209:判断第二类控制器节点是否为空;若第二类控制器节点非空,则执行步骤S210;若第二类控制节点为空,则执行步骤S211。
步骤S210:将第二类控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息。
步骤S211:将在线的控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息。
实际应用中,在第三类控制器节点为空的情况下,可以从第二类控制器节点中筛选出目标控制器节点,但考虑到第二类控制器节点也可能为空,所以需判断第二类控制器节点是否为空;若第二类控制器节点非空,则将第二类控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息;若第二类控制节点为空,则可以将在线的控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息。
需要说明的是,具体应用场景中,可以用目标存储设备的端口的连接位图(p0_con_map,p1_con_map)来标识盘端口在集群中各个控制器节点的物理连接在线情况,其中,p0_con_map表示第一连接位图,p1_con_map表示第二连接位图,其均可以是32位的二进制整数,32是集群中允许的最大控制器节点个数,从低位到高位分别是node_index0、nodex_index1、……node_index31,每位标识该端口在该节点的是否物理连接在线,1表示在线,0表示不在线。且可以用drive_online_ns表示该存储设备在集群中各个控制器节点的在线情况,表达方式如上con_map,此时drive_inline_ns某位为1的条件为p0_con_map[node_index]=1且p1_con_map[node_index]=1且p0没有被软件隔离且p1没有被软件隔离,则筛选目标控制器节点的过程可以如图3所示。其中node_index表示多控存储系统中各存储控制器节点的唯一标识。
具体应用场景中,集群端在生成目标节点信息之前,还可以根据条件来进行生成目标节点信息的动作触发,比如可以判断目标存储设备的已有控制器节点是否故障;若已有控制器节点故障,则执行生成目标节点信息的步骤。此外,在将目标存储设备的目标任务处理结果发送至其他控制器节点之后,还可以判断当前对目标存储设备进行任务处理的控制器节点是否故障,若是,则可以排除故障的控制器节点,返回执行生成目标节点信息及之后的步骤等,以此来更新对目标存储设备进行任务处理的控制器节点,保证任务处理的正常进行。
具体应用场景中,集群端可以在接收到后台任务,比如format或者certify任务后启用本申请的方法,其中,format表示硬盘格式化操作,certify表示硬盘数据一致性操作,且在生成目标节点信息之前,可以先检测指定目标存储设备是否符合执行后台任务的条件,若不符合,则向前台返回错误,并终止任务,若符合,则可以执行本申请的任务管理方法来对目标存储设备进行任务管理。
需要说明的是,在实际应用中,集群端可以借助task_active_node_index字段记录目标节点信息,借助task_type记录任务类型,借助task_state来记录任务当前状态,比如task_state为STATE_STARTING等,则具体应用场景中,本申请的任务管理方法的过程可以如图4所示。
请参阅图5,图5为本申请实施例提供的一种任务管理方法的第二流程图。
本申请实施例提供的一种任务管理方法,应用于多控存储系统的控制器节点,可以包括以下步骤:
步骤S301:获取多控存储系统中的集群端发送的目标节点信息,目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息。
步骤S302:响应于目标节点信息表征控制器节点对连接的目标存储设备进行任务处理,则对目标存储设备进行任务处理,得到目标任务处理结果。
步骤S303:发送目标任务处理结果至集群端,以使集群端将目标存储设备的目标任务处理结果发送至多控存储系统中的其他控制器节点;其中,其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。
本申请提供的应用于多控存储系统的控制器节点的任务管理方法中相应步骤的描述可以参阅上述实施例,在此不再赘述。
实际应用中,控制器节点在响应于目标节点信息表征控制器节点对连接的目标存储设备进行任务处理的过程中,可以通过比较目标节点信息中的标识信息是否与自身标识信息一致来判断自身是否为目标控制器节点,也即可以解析目标节点信息中的节点标识信息;判断节点标识信息是否与控制器节点的标识信息一致;若节点标识信息与控制器节点的标识信息一致,则判定目标节点信息表征控制器节点对连接的目标存储设备进行任务处理。
实际应用中,控制器节点在对目标存储设备进行任务处理,得到目标任务处理结果的过程中,考虑到可能已有控制器节点对目标存储设备进行了任务处理,此时控制器节点上会存在已有任务处理结果,为了充分应用该已由任务处理结果,可以判断是否存在目标存储设备的已有任务处理结果;若存在目标存储设备的已有任务处理结果,则根据已有任务处理结果继续对目标存储设备进行任务处理,得到目标任务处理结果;若不存在目标存储设备的已有任务处理结果,则从头开始对目标存储设备进行任务处理,得到目标任务处理结果。需要说明的是,已有任务处理结果和目标任务处理结果的原理一致。
实际应用中,控制器节点在对目标存储设备进行任务处理,得到目标任务处理结果的过程中,为了使得目标任务处理结果可以准确记录任务处理进度,可以对目标存储设备进行任务处理,并开始计时;每当计时时长达到预设时长,则计算计时时长内的任务执行进度,并计算出任务完成时间,将任务执行进度及任务完成时间作为计时时长内的目标任务处理结果。
为便于理解,假设任务为format任务,存储设备为硬盘,则任务处理过程可以为:对硬盘下发异步完成的format指令,即成功启动硬盘开启format任务即返回,之后在当前控制器节点开启定时器,每隔10s等定时时长便发送test unit ready指令查询盘上format任务的执行进度,根据test unit ready指令的返回解析出当前执行进度task_progress_lba,并计算出预计的完成时间task_estimated_complete_time,并同步到集群端,其中lba(logic block address)指的是逻辑块地址;而当更换控制器节点后,新的控制器节点接管该任务后,启动定时器,定时查询format进度并返回给集群端,此过程如图6和图7所示,且在图7中,通过tur指令检查format是否结束,下发tur指令检测盘状态的流程可以如图8所示,包括以下步骤:
判断是否正在执行format指令,也即判断Skcq=0x02020404是否成立;
若是,则根据sense info计算已经完成的lba,更新任务预计的完成时间和当前正在处理的lba;
若否,则任务完成,设置任务状态由RUNNING更改为COMPLETE,通知集群端状态变化。
为便于理解,假设任务为certify任务,存储设备为硬盘,则任务处理过程可以为:下发verify指令,从盘lba0开始,每次提交certify任务io的大小可以是256k等,即每次verify io的长度是256k,直到执行到盘的最后一个lba。单次verify io的完成函数里,根据已完成certify检查的lba总长度,更新本地当前执行进度task_progress_lba;根据已完成的进度和盘容量总大小,更新本地预计的完成时间task_estimated_complete_time。启动定时器,每10s将本地记录的task_progress_lba和task_estimated_complete_time同步至集群端。当控制器节点检查task完成时,取消定时器,并更新task_progress_lba=100%、task_estimated_complete_time=当前时间、任务状态为STATE_COMPLETE,并同步到集群端,集群端再进一步将这些数据通知到所有其它控制器节点,至此,一次task执行完成。而当更换控制器节点后,新的控制器节点接管任务后,可以根据之前同步的task_progress_lba,计算下一次verify io的起始lba=task_progress_lba+m/n,m为每次verify io的长度,n为lba的单位block,比如为512byte等,并根据该起始lba正确接管task。此过程可以如图9所示,包括以下步骤:
控制器节点接收集群端通知,更新task_active_node_index、state_utar、task_type、task_progress_lba;
判断Active node是否是当前节点;
若否,则退回;
若是,则判断任务是否开始;
若任务已开始,则设置verity指令的起始lba为0,对盘下发certify请求,将该盘加入task_update_plba,创建task_update_timer,每10s下发tur指令,检查盘上certify是否执行完毕;
若任务未开始,则判断任务是否正在进行;
若任务正在进行,则设置verify指令的起始lba=task_progress_lba+256k/512byte;对盘下发certify请求;
若任务已完成,则取消定时器。
请参阅图10,图10为本申请实施例提供的一种任务管理系统的结构示意图。
本申请实施例提供的一种任务管理系统,应用于多控存储系统的集群端,可以包括:
第一生成模块101,用于生成目标节点信息,目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;
第一发送模块102,用于发送目标节点信息至多控存储系统的每个控制器节点,以使控制器节点响应目标节点信息后对目标存储设备进行任务处理,得到目标任务处理结果;
第一接收模块103,用于接收目标任务处理结果;
第二发送模块104,用于将目标存储设备的目标任务处理结果发送至其他控制器节点;
其中,其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。
本申请实施例提供的一种任务管理系统,应用于多控存储系统的集群端,第一生成模块可以包括:
第一获取单元,用于获取多控存储系统中在线控制器节点的位图信息;
第一筛选单元,用于根据位图信息,筛选出与目标存储设备连接的第一类控制器节点;
第二获取单元,用于获取目标存储设备的第一端口的第一连接位图;
第二筛选单元,用于根据第一连接位图,在第一类控制器节点中筛选出与第一端口相连接的第二类控制器节点;
第三获取单元,用于获取目标存储设备的第二端口的第二连接位图;
第三筛选单元,用于根据第二连接位图,在第二类控制器节点中筛选出与第二端口相连接的第三类控制器节点;
第一判断单元,用于判断第三类控制器节点是否为空;若第三类控制器节点非空,则将第三类控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息;若第三类控制器节点为空,则判断第二类控制器节点是否为空;若第二类控制器节点非空,则将第二类控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息;若第二类控制节点为空,则将在线的控制器节点中最先上线的控制器节点作为目标控制器节点,基于目标控制器节点生成目标节点信息。
本申请实施例提供的一种任务管理系统,应用于多控存储系统的集群端,还可以包括:
第一判断模块,用于第一生成模块生成目标节点信息之前,判断目标存储设备的已有控制器节点是否故障;若已有控制器节点故障,则执行生成目标节点信息的步骤。
本申请实施例提供的一种任务管理系统,应用于多控存储系统的控制器节点,可以包括:
第一获取模块,用于获取多控存储系统中的集群端发送的目标节点信息;
第一处理模块,用于响应于目标节点信息表征控制器节点对连接的目标存储设备进行任务处理,则对目标存储设备进行任务处理,得到目标任务处理结果;
第三发送模块,用于发送目标任务处理结果至集群端,以使集群端将目标存储设备的目标任务处理结果发送至多控存储系统中的其他控制器节点;
其中,其他控制器节点包括除对目标存储设备进行任务处理的控制器节点之外的控制器节点。
本申请实施例提供的一种任务管理系统,应用于多控存储系统的控制器节点,第一处理模块可以包括:
第一解析单元,用于解析目标节点信息中的节点标识信息;
第二判断单元,用于判断节点标识信息是否与控制器节点的标识信息一致;若节点标识信息与控制器节点的标识信息一致,则判定目标节点信息表征控制器节点对连接的目标存储设备进行任务处理。
本申请实施例提供的一种任务管理系统,应用于多控存储系统的控制器节点,第一处理模块可以包括:
第三判断单元,用于判断是否存在目标存储设备的已有任务处理结果;若存在目标存储设备的已有任务处理结果,则根据已有任务处理结果继续对目标存储设备进行任务处理,得到目标任务处理结果;若不存在目标存储设备的已有任务处理结果,则从头开始对目标存储设备进行任务处理,得到目标任务处理结果。
本申请实施例提供的一种任务管理系统,应用于多控存储系统的控制器节点,第一处理模块可以包括:
第一计时单元,用于对目标存储设备进行任务处理,并开始计时;
第一生成单元,用于每当计时时长达到预设时长,则计算计时时长内的任务执行进度,并计算出任务完成时间,将任务执行进度及任务完成时间作为计时时长内的目标任务处理结果。
本申请还提供了一种电子设备及计算机可读存储介质,其均具有本申请实施例提供的一种任务管理方法具有的对应效果。请参阅图11,图11为本申请实施例提供的一种电子设备的结构示意图。
本申请实施例提供的一种电子设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述任务管理方法的步骤。
请参阅图11,本申请实施例提供的另一种电子设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现电子设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(Mobile High-Definition Link,MHL)、通用串行总线(Universal Serial Bus,USB)、高清多媒体接口(High-DefinitionMultimedia Interface,HDMI)、无线连接:无线保真技术(WIreless Fidelity,WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述任务管理方法的步骤。
本申请所涉及的计算机可读存储介质包括随机存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种任务管理系统、电子设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种任务管理方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种任务管理方法,其特征在于,应用于多控存储系统的集群端,包括:
生成目标节点信息,所述目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;
发送所述目标节点信息至所述多控存储系统的每个控制器节点,以使所述控制器节点响应所述目标节点信息后对所述目标存储设备进行任务处理,得到目标任务处理结果;
接收所述目标任务处理结果;
将所述目标存储设备的所述目标任务处理结果发送至其他控制器节点;
其中,所述其他控制器节点包括除对所述目标存储设备进行任务处理的所述控制器节点之外的控制器节点。
2.根据权利要求1所述的方法,其特征在于,所述生成目标节点信息,包括:
获取所述多控存储系统中在线控制器节点的位图信息;
根据所述位图信息,筛选出与所述目标存储设备连接的第一类控制器节点;
获取所述目标存储设备的第一端口的第一连接位图;
根据所述第一连接位图,在所述第一类控制器节点中筛选出与所述第一端口相连接的第二类控制器节点;
获取所述目标存储设备的第二端口的第二连接位图;
根据所述第二连接位图,在所述第二类控制器节点中筛选出与所述第二端口相连接的第三类控制器节点;
判断所述第三类控制器节点是否为空;
若所述第三类控制器节点非空,则将所述第三类控制器节点中最先上线的控制器节点作为目标控制器节点,基于所述目标控制器节点生成所述目标节点信息;
若所述第三类控制器节点为空,则判断所述第二类控制器节点是否为空;
若所述第二类控制器节点非空,则将所述第二类控制器节点中最先上线的控制器节点作为目标控制器节点,基于所述目标控制器节点生成所述目标节点信息;
若所述第二类控制节点为空,则将在线的所述控制器节点中最先上线的控制器节点作为目标控制器节点,基于所述目标控制器节点生成所述目标节点信息。
3.根据权利已要求1所述的方法,其特征在于,所述生成目标节点信息之前,还包括:
判断所述目标存储设备的已有控制器节点是否故障;
若所述已有控制器节点故障,则执行所述生成目标节点信息的步骤。
4.一种任务管理方法,其特征在于,应用于多控存储系统的控制器节点,包括:
获取所述多控存储系统中的集群端发送的目标节点信息,所述目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;
响应于所述目标节点信息表征所述控制器节点对所述目标存储设备进行任务处理,则对所述目标存储设备进行任务处理,得到目标任务处理结果;
发送所述目标任务处理结果至所述集群端,以使所述集群端将所述目标存储设备的所述目标任务处理结果发送至所述多控存储系统中的其他控制器节点;
其中,所述其他控制器节点包括除对所述目标存储设备进行任务处理的所述控制器节点之外的控制器节点。
5.根据权利要求1所述的方法,其特征在于,所述响应于所述目标节点信息表征所述控制器节点对所述目标存储设备进行任务处理,包括:
解析所述目标节点信息中的节点标识信息;
判断所述节点标识信息是否与所述控制器节点的标识信息一致;
若所述节点标识信息与所述控制器节点的标识信息一致,则判定所述目标节点信息表征所述控制器节点对连接的所述目标存储设备进行任务处理。
6.根据权利要求1所述的方法,其特征在于,所述对所述目标存储设备进行任务处理,得到目标任务处理结果,包括:
判断是否存在所述目标存储设备的已有任务处理结果;
若存在所述目标存储设备的所述已有任务处理结果,则根据所述已有任务处理结果继续对所述目标存储设备进行任务处理,得到所述目标任务处理结果;
若不存在所述目标存储设备的所述已有任务处理结果,则从头开始对所述目标存储设备进行任务处理,得到所述目标任务处理结果。
7.根据权利要求1所述的方法,其特征在于,所述对所述目标存储设备进行任务处理,得到目标任务处理结果,包括:
对所述目标存储设备进行任务处理,并开始计时;
每当计时时长达到预设时长,则计算所述计时时长内的任务执行进度,并计算出任务完成时间,将所述任务执行进度及所述任务完成时间作为所述计时时长内的所述目标任务处理结果。
8.一种任务管理系统,其特征在于,应用于多控存储系统的集群端,包括:
第一生成模块,用于生成目标节点信息,所述目标节点信息用于记录对目标存储设备进行任务处理的目标控制器节点的信息;
第一发送模块,用于发送所述目标节点信息至所述多控存储系统的每个控制器节点,以使所述控制器节点响应所述目标节点信息后对所述目标存储设备进行任务处理,得到目标任务处理结果;
第一接收模块,用于接收所述目标任务处理结果;
第二发送模块,用于将所述目标存储设备的所述目标任务处理结果发送至其他控制器节点;
其中,所述其他控制器节点包括除对所述目标存储设备进行任务处理的所述控制器节点之外的控制器节点。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述任务管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述任务管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311609448.9A CN117573037A (zh) | 2023-11-28 | 2023-11-28 | 一种任务管理方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311609448.9A CN117573037A (zh) | 2023-11-28 | 2023-11-28 | 一种任务管理方法、系统、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117573037A true CN117573037A (zh) | 2024-02-20 |
Family
ID=89891540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311609448.9A Pending CN117573037A (zh) | 2023-11-28 | 2023-11-28 | 一种任务管理方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117573037A (zh) |
-
2023
- 2023-11-28 CN CN202311609448.9A patent/CN117573037A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3474516B1 (en) | Data processing method and device | |
CN106843749B (zh) | 写入请求处理方法、装置及设备 | |
US20140181035A1 (en) | Data management method and information processing apparatus | |
CN108319617B (zh) | 确定数据库主从差异的方法、装置及切换控制方法、装置 | |
CN105468718B (zh) | 数据一致性处理方法、装置和系统 | |
CN110442473B (zh) | 一种非易失性数据存储方法、装置、电子设备及介质 | |
CN102710438B (zh) | 一种节点管理方法、装置及系统 | |
CN110580235B (zh) | 一种sas扩展器通信方法及装置 | |
CN107239238B (zh) | 一种基于分布式锁的存储的io操作方法及装置 | |
US20170083419A1 (en) | Data management method, node, and system for database cluster | |
CN103823708B (zh) | 虚拟机读写请求处理的方法和装置 | |
US10990312B2 (en) | Method, apparatus, device and storage medium for processing data location of storage device | |
CN111880956A (zh) | 一种数据同步方法和装置 | |
CN111966287A (zh) | 数据存储方法、电子设备及存储介质 | |
CN112199240B (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
CN112000513A (zh) | 一种计算机及其vpd数据操作方法、装置、存储介质 | |
CN107894900B (zh) | 一种mcu升级的方法及系统 | |
CN105391755A (zh) | 一种分布式系统中数据处理方法、装置及系统 | |
CN110618828B (zh) | 一种数据更新方法及装置 | |
CN111130856A (zh) | 一种服务器配置方法、系统、设备及计算机可读存储介质 | |
CN108984602B (zh) | 一种数据库控制方法和数据库系统 | |
CN117573037A (zh) | 一种任务管理方法、系统、设备及计算机可读存储介质 | |
CN112527561B (zh) | 基于物联网云存储的数据备份方法及装置 | |
CN111209342B (zh) | 分布式系统、数据同步与节点管理方法、设备及存储介质 | |
CN110569231B (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 |