CN110704244B - 一种磁盘离线处理方法、装置、设备及可读存储介质 - Google Patents
一种磁盘离线处理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110704244B CN110704244B CN201910931402.6A CN201910931402A CN110704244B CN 110704244 B CN110704244 B CN 110704244B CN 201910931402 A CN201910931402 A CN 201910931402A CN 110704244 B CN110704244 B CN 110704244B
- Authority
- CN
- China
- Prior art keywords
- disk
- request
- processing
- offline
- tree
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 2
- 230000001680 brushing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005201 scrubbing Methods 0.000 description 1
Images
Classifications
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1489—Generic software techniques for error detection or fault masking through recovery blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种磁盘离线处理方法、装置、设备及可读存储介质。本申请公开的方法包括:检测存储系统中的磁盘是否离线;若是,则判断链表中的请求是否已获得目标资源;若请求已获得目标资源,则继续处理请求,待请求处理完成后,返回处理完成的消息至上层应用;若请求未获得目标资源,则返回处理失败的消息至上层应用。本申请能够在磁盘离线的情况下,不管请求是否可以正常处理,都输出了对应的通知消息至上层应用,这样能够避免请求遗漏和重复处理等异常情况,还提高了磁盘离线处理的效率。相应地,本申请公开的一种磁盘离线处理装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种磁盘离线处理方法、装置、设备及可读存储介质。
背景技术
目前,存储系统中的磁盘可能会由于通信接口或其他部件故障而离线,当存储系统中的磁盘离线时,意味着存储系统正在处理的请求可能无法正常完成处理进程。但不管是否可以正常完成处理进程,都应该输出对应的处理结果,以便磁盘上线后继续处理相关请求,避免请求遗漏和重复处理等异常情况。
因此,如何在磁盘离线时,避免请求遗漏和重复处理等异常情况,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种磁盘离线处理方法、装置、设备及可读存储介质,以实现在磁盘离线时,避免请求遗漏和重复处理等异常情况。其具体方案如下:
第一方面,本申请提供了一种磁盘离线处理方法,包括:
检测存储系统中的磁盘是否离线;
若是,则判断链表中的请求是否已获得目标资源;所述链表用于记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态;所述目标资源包括:B+树、B+树的目录和B+树的叶子结点;
若所述请求已获得所述目标资源,则继续处理所述请求,待所述请求处理完成后,返回处理完成的消息至所述上层应用;
若所述请求未获得所述目标资源,则返回处理失败的消息至所述上层应用。
优选地,还包括:
若所述存储系统中的磁盘离线,则判断写请求对应的落盘操作是否成功;
若否,则释放所述落盘操作占用的目标资源,并将所述落盘操作添加至落盘等待队列。
优选地,所述判断写请求对应的落盘操作是否成功,包括:
判断是否读取到处理所述写请求需读取的B+树的叶子结点;
若是,则判断所述落盘操作对应的每棵B+树是否落盘成功;
若所述落盘操作对应的每棵B+树落盘成功,则确定所述落盘操作成功;
若所述落盘操作中存在未落盘成功的B+树,则确定所述落盘操作失败。
优选地,还包括:
若未读取到处理所述写请求需读取的B+树的叶子结点,则确定所述落盘操作失败。
优选地,所述将所述落盘操作添加至落盘等待队列之前,还包括:
释放所述落盘操作占用的磁盘地址。
优选地,还包括:
若检测到所述存储系统中的磁盘上线,则按照所述落盘等待队列进行落盘操作。
优选地,所述返回处理失败的消息至所述上层应用之后,还包括:
将所述请求添加至请求等待队列,若检测到所述存储系统中的磁盘上线,则处理所述请求等待队列中的请求。
第二方面,本申请提供了一种磁盘离线处理装置,包括:
检测模块,用于检测存储系统中的磁盘是否离线;
判断模块,用于若存储系统中的磁盘离线,则判断链表中的请求是否已获得目标资源;所述链表用于记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态;所述目标资源包括:B+树、B+树的目录和B+树的叶子结点;
第一处理模块,用于若所述请求已获得所述目标资源,则继续处理所述请求,待所述请求处理完成后,返回处理完成的消息至所述上层应用;
第二处理模块,用于若所述请求未获得所述目标资源,则返回处理失败的消息至所述上层应用。
第三方面,本申请提供了一种磁盘离线处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的磁盘离线处理方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的磁盘离线处理方法。
通过以上方案可知,本申请提供了一种磁盘离线处理方法,包括:检测存储系统中的磁盘是否离线;若是,则判断链表中的请求是否已获得目标资源;所述链表用于记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态;所述目标资源包括:B+树、B+树的目录和B+树的叶子结点;若所述请求已获得所述目标资源,则继续处理所述请求,待所述请求处理完成后,返回处理完成的消息至所述上层应用;若所述请求未获得所述目标资源,则返回处理失败的消息至所述上层应用。
可见,该方法利用链表记录上层应用发送的、未处理完成的请求,以及每个未处理完成的请求的处理状态,因此当存储系统中的磁盘离线时,可基于该链表辨别出哪些请求能够在没有磁盘的情况下继续处理完成,哪些请求在没有磁盘的情况下无法处理完成,从而输出相应的通知消息至上层应用。
其中,包含B+树、B+树的目录和B+树的叶子结点的目标资源都属于有限资源,当一个请求释放这些资源时,其他请求才能继续占用这些资源进行相关处理。而获得目标资源的请求在没有磁盘的情况下无法释放这些资源,也就是请求处理完成后,无法完成落盘操作,因此其他未获得目标资源的请求无法继续被处理。所以链表中的已获得目标资源的请求可以继续处理完成,并返回处理完成的消息至所述上层应用,其无法将处理结果进行落盘;链表中的未获得目标资源的请求无法继续处理,因此返回处理失败的消息至所述上层应用。其中,利用链表记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态,可避免在磁盘离线瞬间对无需查询的请求进行查询操作,从而简化了处理流程,提高了处理效率。可见,本申请能够在磁盘离线的情况下,不管请求是否可以正常处理,都输出了对应的通知消息至上层应用,这样磁盘上线后便可继续处理相关请求,能够避免请求遗漏和重复处理等异常情况,还提高了磁盘离线处理的效率。
相应地,本申请提供的一种磁盘离线处理装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的第一种磁盘离线处理方法流程图;
图2为本申请公开的第二种磁盘离线处理方法流程图;
图3为本申请公开的一种元数据写缓存流程图;
图4为本申请公开的一种磁盘离线时的刷盘(落盘)操作流程图;
图5为本申请公开的一种磁盘离线处理装置示意图;
图6为本申请公开的一种磁盘离线处理设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本申请实施例公开了第一种磁盘离线处理方法,包括:
S101、检测存储系统中的磁盘是否离线;若是,则执行S102;若否,则无操作;
S102、判断链表中的请求是否已获得目标资源;若是,则执行S103;若否,则执行S104;
在本实施例中,链表用于记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态;目标资源包括:B+树、B+树的目录和B+树的叶子结点。待处理的请求缺少目标资源中的任一个资源,则认为该请求在磁盘离线时无法被处理。
在一种具体实施方式中,链表与请求处理线程一一对应,请求处理线程与存储系统中的存储池一一对应。存储系统可以为全闪存储系统,用于存储元数据,因此本实施例中的请求可以是元数据的增、删、改、查请求。需要说明的是,本申请在缓存中利用B+树记录元数据的相关操作,但缓存中记录的不是B+树本身,而是B+树的插入、删除操作,如此可节约缓存的存储空间。
S103、继续处理请求,待请求处理完成后,返回处理完成的消息至上层应用;
S104、返回处理失败的消息至上层应用。
在本实施例中,返回处理失败的消息至上层应用之后,还包括:将请求添加至请求等待队列,若检测到存储系统中的磁盘上线,则处理请求等待队列中的请求。上层应用可以为与客户端进行通信的相关应用,这些上层应用能够把消息反馈至相应的客户端。
需要说明的是,包含B+树、B+树的目录和B+树的叶子结点的目标资源都属于有限资源,当一个请求释放这些资源时,其他请求才能继续占用这些资源进行相关处理。而获得目标资源的请求在没有磁盘的情况下无法释放这些资源,也就是请求处理完成后,无法完成落盘操作,因此其他未获得目标资源的请求无法继续被处理。所以链表中的已获得目标资源的请求可以继续处理完成,并返回处理完成的消息至所述上层应用,其无法将处理结果进行落盘;链表中的未获得目标资源的请求无法继续处理,因此返回处理失败的消息至所述上层应用。其中,利用链表记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态,可避免在磁盘离线瞬间对无需查询的请求进行查询操作,从而简化了处理流程,提高了处理效率。
可见,本申请实施例利用链表记录上层应用发送的、未处理完成的请求,以及每个未处理完成的请求的处理状态,因此当存储系统中的磁盘离线时,可基于该链表辨别出哪些请求能够在没有磁盘的情况下继续处理完成,哪些请求在没有磁盘的情况下无法处理完成,从而输出相应的通知消息至上层应用。本实施例能够在磁盘离线的情况下,不管请求是否可以正常处理,都输出了对应的通知消息至上层应用,这样磁盘上线后便可继续处理相关请求,能够避免请求遗漏和重复处理等异常情况,还提高了磁盘离线处理的效率。
参见图2所示,本申请实施例公开了第二种磁盘离线处理方法,包括:
S201、检测存储系统中的磁盘是否离线;若是,则执行S202;若否,则无操作;
S202、判断写请求对应的落盘操作是否成功;若是,则无操作;若否,则执行S203;
S203、释放落盘操作占用的目标资源和磁盘地址;
S204、将落盘操作添加至落盘等待队列;
S205、若检测到存储系统中的磁盘上线,则按照落盘等待队列进行落盘操作。
在本实施例中,判断写请求对应的落盘操作是否成功,包括:判断是否读取到处理写请求需读取的B+树的叶子结点;若是,则判断落盘操作对应的每棵B+树是否落盘成功;若落盘操作对应的每棵B+树落盘成功,则确定落盘操作成功;若落盘操作中存在未落盘成功的B+树,则确定落盘操作失败,那么执行S203-S05的步骤。其中,还包括:若未读取到处理写请求需读取的B+树的叶子结点,则确定落盘操作失败。
需要说明的是,由于本实施例利用B+树记录元数据的相关操作,因此当请求为写请求时,需要先从相关B+树中读取关联数据,再将需要写入的数据插入到读取的关联数据,进而对关联数据和需写入的数据进行落盘操作。例如:B+树中原有1、2、4,现需要写入3,那么先读取1、2、4,再将3插入,获得1、2、3、4,进而对1、2、3、4执行落盘操作。因此当读取到处理写请求需读取的B+树的叶子结点时,表明可进一步执行写入操作;当未读取到处理写请求需读取的B+树的叶子结点,表明写入操作无法完成。
其中,落盘操作可能会一次性对多个B+树进行操作,此时可认为同一个落盘操作操作的所有B+树属于同一目录,当该目录下的任一个B+树未成功落盘时,就认为该目录落盘失败。
需要说明的是,本实施例中的其他实现步骤与上述实施例相同或类似,故本实施例在此不再赘述。
由上可见,本实施例能够在磁盘离线时,辨别出正在处理的落盘操作,以及处理完成的落盘操作,但由于磁盘已离线,正在处理的落盘操作将无法成功落盘,因此本申请可确定其落盘失败,并将其添加至落盘等待队列,以便在磁盘上线后,按照落盘等待队列重新进行落盘操作,从而可避免数据丢失和遗漏。
全闪存储系统对元数据进行写缓存的流程请参见图3。如图3所示的流程,元数据写入缓存的过程,需要等待下面几种资源:a)wca_request;b)wca_tree_dir;c)wca_tree;d)wca_request_collector;e)wca_tree_node。其中,request和request_collector是进入写缓存处理所用的一种数据结构,其是循环利用的,是最终可以等到的资源,而tree_dir(B+树的目录),tree(B+树)和tree_node(B+树的叶子结点)是有限的资源;可能已经都用完,其依赖刷盘,释放后才能继续用于处理新的请求。所以当磁盘盘离线时,需要找到所有在等待tree,tree_dir和tree_node的请求,将通知这些请求对应的客户端该请求处理失败。请求缺失tree,tree_dir和tree_node中的任一个,就认为请求无法处理。而对于已经占用到这三种资源的请求,认为最终可以完成,让他们按正常流程继续处理。这样进入写缓存流程的请求都能返回相应的通知消息(成功或者失败),可避免请求重复处理和遗漏。
其中,进入写缓存流程但未处理完的请求收录在链表中,链表中还记录有每个未处理完的请求的处理进度,以便查询。
磁盘离线时的刷盘(落盘)操作请参见图4,刷盘包括读盘和写盘,其中读盘是写盘的前提条件,具体请参见上述实施例的相关介绍。如图4所示,当读BtreeNode失败,则标记该B+树刷盘失败,标记该B+树所在的目录也刷盘失败。一批B+树写盘时,任一BtreeNode写失败,则标记该B+树刷盘失败,并标记该B+树所在的目录也刷盘失败。需要说明的是,读BtreeNode失败时,还为分配磁盘地址,但其占有的tree,tree_dir和tree_node需要释放;写盘失败时,不仅需要释放tree,tree_dir和tree_node,还需要释放磁盘地址。
对于落盘失败的B+树,将其挂回到dir的刷盘等待队列(destage queue),刷盘等待队列也就是前文所述的落盘等待队列。当收到磁盘上线通知后,处理刷盘等待队列中的B+树。其中,当磁盘离线时,存储系统正在落盘的数据可能无法完成落盘操作,因此需要按照本申请提供的方法辨别哪些数据已落盘,哪些数据未落盘,从而为磁盘离线做准备。
需要说明的是,写缓存流程(请求处理流程)和刷盘流程是两个不同的操作,当磁盘离线时,这两个流程都需要进行进一步处理,以辨别出那些请求已处理,哪些请求未处理,哪些数据已落盘,哪些数据未落盘。本实施例具体介绍了磁盘离线时对这两个流程的处理过程。
由上可见,本实施例在磁盘离线的情况下,不管请求是否可以正常处理,都输出了对应的通知消息至上层应用,能够避免请求遗漏和重复处理等异常情况,还提高了磁盘离线处理的效率。
下面对本申请实施例提供的一种磁盘离线处理装置进行介绍,下文描述的一种磁盘离线处理装置与上文描述的一种磁盘离线处理方法可以相互参照。
参见图5所示,本申请实施例公开了一种磁盘离线处理装置,包括:
检测模块501,用于检测存储系统中的磁盘是否离线;
判断模块502,用于若存储系统中的磁盘离线,则判断链表中的请求是否已获得目标资源;链表用于记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态;目标资源包括:B+树、B+树的目录和B+树的叶子结点;
第一处理模块503,用于若请求已获得目标资源,则继续处理请求,待请求处理完成后,返回处理完成的消息至上层应用;
第二处理模块504,用于若请求未获得目标资源,则返回处理失败的消息至上层应用。
在一种具体实施方式中,还包括:
落盘操作判断模块,用于若存储系统中的磁盘离线,则判断写请求对应的落盘操作是否成功;
第一释放模块,用于若落盘操作失败,则释放落盘操作占用的目标资源,并将落盘操作添加至落盘等待队列。
在一种具体实施方式中,落盘操作判断模块包括:
第一判断单元,用于判断是否读取到处理写请求需读取的B+树的叶子结点;
第二判断单元,用于若读取到处理写请求需读取的B+树的叶子结点,则判断落盘操作对应的每棵B+树是否落盘成功;
第一确定单元,用于若落盘操作对应的每棵B+树落盘成功,则确定落盘操作成功;
第二确定单元,用于若落盘操作中存在未落盘成功的B+树,则确定落盘操作失败。
在一种具体实施方式中,还包括:
确定模块,用于若未读取到处理写请求需读取的B+树的叶子结点,则确定落盘操作失败。
在一种具体实施方式中,还包括:
第二释放模块,用于释放落盘操作占用的磁盘地址。
在一种具体实施方式中,还包括:
落盘模块,用于若检测到存储系统中的磁盘上线,则按照落盘等待队列进行落盘操作。
在一种具体实施方式中,还包括:
请求处理模块,用于将请求添加至请求等待队列,若检测到存储系统中的磁盘上线,则处理请求等待队列中的请求。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种磁盘离线处理装置,该装置能够在磁盘离线的情况下,不管请求是否可以正常处理,都输出了对应的通知消息至上层应用,能够避免请求遗漏和重复处理等异常情况,还提高了磁盘离线处理的效率。
下面对本申请实施例提供的一种磁盘离线处理设备进行介绍,下文描述的一种磁盘离线处理设备与上文描述的一种磁盘离线处理方法及装置可以相互参照。
参见图6所示,本申请实施例公开了一种磁盘离线处理设备,包括:
存储器601,用于保存计算机程序;
处理器602,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种磁盘离线处理方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的磁盘离线处理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种磁盘离线处理方法,其特征在于,包括:
检测存储系统中的磁盘是否离线;
若是,则判断链表中的请求是否已获得目标资源;所述链表用于记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态;所述目标资源包括:B+树、B+树的目录和B+树的叶子结点;
若所述请求已获得所述目标资源,则继续处理所述请求,待所述请求处理完成后,返回处理完成的消息至所述上层应用;
若所述请求未获得所述目标资源,则返回处理失败的消息至所述上层应用;
其中,还包括:
若所述存储系统中的磁盘离线,则判断写请求对应的落盘操作是否成功;
若否,则释放所述落盘操作占用的目标资源,并将所述落盘操作添加至落盘等待队列。
2.根据权利要求1所述的磁盘离线处理方法,其特征在于,所述判断写请求对应的落盘操作是否成功,包括:
判断是否读取到处理所述写请求需读取的B+树的叶子结点;
若是,则判断所述落盘操作对应的每棵B+树是否落盘成功;
若所述落盘操作对应的每棵B+树落盘成功,则确定所述落盘操作成功;
若所述落盘操作中存在未落盘成功的B+树,则确定所述落盘操作失败。
3.根据权利要求2所述的磁盘离线处理方法,其特征在于,还包括:
若未读取到处理所述写请求需读取的B+树的叶子结点,则确定所述落盘操作失败。
4.根据权利要求1所述的磁盘离线处理方法,其特征在于,所述将所述落盘操作添加至落盘等待队列之前,还包括:
释放所述落盘操作占用的磁盘地址。
5.根据权利要求1所述的磁盘离线处理方法,其特征在于,还包括:
若检测到所述存储系统中的磁盘上线,则按照所述落盘等待队列进行落盘操作。
6.根据权利要求1所述的磁盘离线处理方法,其特征在于,所述返回处理失败的消息至所述上层应用之后,还包括:
将所述请求添加至请求等待队列,若检测到所述存储系统中的磁盘上线,则处理所述请求等待队列中的请求。
7.一种磁盘离线处理装置,其特征在于,包括:
检测模块,用于检测存储系统中的磁盘是否离线;
判断模块,用于若存储系统中的磁盘离线,则判断链表中的请求是否已获得目标资源;所述链表用于记录上层应用发送的、未处理完成的请求,以及每个请求的处理状态;所述目标资源包括:B+树、B+树的目录和B+树的叶子结点;
第一处理模块,用于若所述请求已获得所述目标资源,则继续处理所述请求,待所述请求处理完成后,返回处理完成的消息至所述上层应用;
第二处理模块,用于若所述请求未获得所述目标资源,则返回处理失败的消息至所述上层应用;
其中,还包括:
落盘操作判断模块,用于若所述存储系统中的磁盘离线,则判断写请求对应的落盘操作是否成功;
第一释放模块,用于若落盘操作失败,则释放所述落盘操作占用的目标资源,并将所述落盘操作添加至落盘等待队列。
8.一种磁盘离线处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的磁盘离线处理方法。
9.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的磁盘离线处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931402.6A CN110704244B (zh) | 2019-09-29 | 2019-09-29 | 一种磁盘离线处理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931402.6A CN110704244B (zh) | 2019-09-29 | 2019-09-29 | 一种磁盘离线处理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704244A CN110704244A (zh) | 2020-01-17 |
CN110704244B true CN110704244B (zh) | 2023-01-10 |
Family
ID=69197202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910931402.6A Active CN110704244B (zh) | 2019-09-29 | 2019-09-29 | 一种磁盘离线处理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704244B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882661A (zh) * | 2021-03-11 | 2021-06-01 | 拉卡拉支付股份有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
CN113687987A (zh) * | 2021-07-30 | 2021-11-23 | 山东海量信息技术研究院 | 一种基于虚拟化平台的主机资源同步方法、系统及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250432A (zh) * | 2016-07-26 | 2016-12-21 | 浪潮软件股份有限公司 | 一种基于持久化MQ的hbase容错方法 |
CN107168777A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 分布式系统中资源的调度方法以及装置 |
CN108647151A (zh) * | 2018-04-26 | 2018-10-12 | 郑州云海信息技术有限公司 | 一种全闪系统元数据落盘方法、装置、设备及存储介质 |
CN108733518A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读介质 |
CN110147204A (zh) * | 2019-05-22 | 2019-08-20 | 苏州浪潮智能科技有限公司 | 一种元数据落盘方法、装置、系统及计算机可读存储介质 |
-
2019
- 2019-09-29 CN CN201910931402.6A patent/CN110704244B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168777A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 分布式系统中资源的调度方法以及装置 |
CN106250432A (zh) * | 2016-07-26 | 2016-12-21 | 浪潮软件股份有限公司 | 一种基于持久化MQ的hbase容错方法 |
CN108733518A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读介质 |
CN108647151A (zh) * | 2018-04-26 | 2018-10-12 | 郑州云海信息技术有限公司 | 一种全闪系统元数据落盘方法、装置、设备及存储介质 |
CN110147204A (zh) * | 2019-05-22 | 2019-08-20 | 苏州浪潮智能科技有限公司 | 一种元数据落盘方法、装置、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110704244A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234630B (zh) | 基于分布式一致性协议实现的数据读取方法及装置 | |
CN107643880B (zh) | 基于分布式文件系统的文件数据迁移的方法及装置 | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
CN107656695B (zh) | 一种数据存储、删除方法、装置及分布式存储系统 | |
CN110287696B (zh) | 一种反弹shell进程的检测方法、装置和设备 | |
JP6870466B2 (ja) | 制御プログラム、制御方法、制御装置、及びデータベースサーバ | |
CN110213128B (zh) | 服务端口检测方法、电子设备及计算机存储介质 | |
CN110704244B (zh) | 一种磁盘离线处理方法、装置、设备及可读存储介质 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
US20090204648A1 (en) | Tracking metadata for files to automate selective backup of applications and their associated data | |
US10977049B2 (en) | Installing of operating system | |
CN107920101B (zh) | 一种文件访问方法、装置、系统及电子设备 | |
CN107864209B (zh) | 数据写入的方法、装置及服务器 | |
CN111756573A (zh) | 分布式集群中的ctdb双网卡故障监测方法及相关设备 | |
CN114827178A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
JP2008083942A (ja) | ネットワーク経由のデータバックアップシステム及びそのための計算機 | |
CN111026331A (zh) | 请求响应方法、装置、设备及计算机可读存储介质 | |
CN110674008A (zh) | Ssd的问题盘日志信息收集方法、装置、设备及介质 | |
CN111552438B (zh) | 一种对象写入的方法、装置、服务器和存储介质 | |
CN105205160A (zh) | 一种数据写入方法及装置 | |
CN112115521B (zh) | 数据访问方法及装置 | |
CN106528876A (zh) | 分布式系统的信息处理方法及分布式信息处理系统 | |
CN107124438B (zh) | 一种云存储系统中动态接入存储设备的方法及装置 | |
CN109992220B (zh) | 一种锁释放方法、装置、设备及介质 | |
US12079501B2 (en) | MON service migration method, apparatus, and device, and readable storage medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |