一种数据存储中的容错处理方法、装置、设备及存储介质与流程

文档序号:17441636发布日期:2019-04-17 04:50阅读:189来源:国知局
一种数据存储中的容错处理方法、装置、设备及存储介质与流程

本申请涉及容错技术领域,特别涉及一种数据存储中的容错处理方法、装置、设备及计算机可读存储介质。



背景技术:

一般地,现有技术中的存储系统在进行数据存储过程中都设计有容错机制。容错机制所处理的系统报错从类型上可分为两类,命令数据和io数据。在存储主业务运行过程中,主机上层控制模块下发命令数据,经一定的中间处理过程(如协议转换或解析等)后,由存储底层控制模块进行底层处理,从而完成数据的落盘操作。然而,现有技术中的容错处理程序是耦合在存储主业务进程的中间处理过程中的,由此,主机上层控制模块与存储底层控制模块间的交互数据都需要经容错处理模块监管后才会下发,不仅严重降低了存储主业务的运行效率,并且容错处理程序使得存储系统软件的可执行程序和附加程序库数量庞大,不利于系统升级和维护。鉴于此,提供一种解决上述技术问题的方法,是本领域技术人员所亟需关注的。



技术实现要素:

本申请的目的在于提供一种数据存储中的容错处理方法、装置、设备及计算机可读存储介质,以便有效降低容错处理机制与存储主进程的耦合程度,从而提高存储业务的运行效率并简化存储系统。

为解决上述技术问题,第一方面,本申请公开了一种数据存储中的容错处理方法,包括:

在存储主进程运行时调用容错处理进程,所述容错处理进程与所述存储主进程相对独立而并行运行;

对在所述存储主进程运行期间生成的io故障数据和命令故障数据进行监测;

当监测到所述io故障数据或者所述命令故障数据时,在预设故障处理方案库中查找对应的故障处理方案;

执行所述故障处理方案。

可选地,所述容错处理进程部署在本地或者云端。

可选地,所述对在所述存储主进程运行期间生成的io故障数据和命令故障数据进行监测包括:

利用预设io中断接口接收所述io故障数据,并定期在预设共享存储区内查找所述命令故障数据;所述预设共享存储区内存储有在所述存储主进程运行期间由主机上层控制模块发送至磁盘底层控制模块的命令数据。

可选地,所述命令数据以队列的数据形式存储在所述预设共享存储区内。

可选地,所述故障处理方案包括以下任意一项或者任意组合:

命令数据重传、修改命令数据状态、生成针对于所述磁盘底层控制模块的修正数据。

可选地,在所述执行所述故障处理方案之后,还包括:

生成并存储容错处理日志数据。

第二方面,本申请还公开了一种数据存储中的容错处理装置,包括:

调用单元,用于在存储主进程运行时调用容错处理进程,所述容错处理进程与所述存储主进程相对独立而并行运行;

监测单元,用于对在所述存储主进程运行期间生成的io故障数据和命令故障数据进行监测;

查找单元,用于当所述监测单元监测到所述io故障数据或者所述命令故障数据时,在预设故障处理方案库中查找对应的故障处理方案;

处理单元,用于执行所述故障处理方案。

可选地,还包括日志生成单元,用于在所述处理单元执行所述故障处理方案之后,生成并存储容错处理日志数据。

第三方面,本申请还公开了一种数据存储中的容错处理设备,包括:

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

处理器,用于执行所述计算机程序以实现如上所述的任一种数据存储中的容错处理方法的步骤。

第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种数据存储中的容错处理方法的步骤。

本申请所提供的数据存储中的容错处理方法包括:在存储主进程运行时调用容错处理进程,所述容错处理进程与所述存储主进程相对独立而并行运行;对在所述存储主进程运行期间生成的io故障数据和命令故障数据进行监测;当监测到所述io故障数据或者所述命令故障数据时,在预设故障处理方案库中查找对应的故障处理方案;执行所述故障处理方案。可见,本申请通过将容错处理过程从现有技术中的存储主进程中抽离出来,形成可并行运行的容错处理进程,有效降低了容错处理机制与存储主进程之间的耦合程度,精简了存储主进程的数据处理流程和存储系统的程序文件大小,不仅提高了数据存储的业务运行效率,并令存储系统更加便于系统升级和维护,而且还有效地提高了容错处理过程的集中程度和效率,极大地提高了用户体验。本申请所提供的数据存储中的容错处理装置、设备及计算机可读存储介质可以实现上述数据存储中的容错处理方法,同样具有上述有益效果。

附图说明

为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。

图1为本申请所提供的一种数据存储中的容错处理方法的流程图;

图2为本申请所提供的一种数据存储中的容错处理装置的结构框图;

图3为本申请所提供的另一种数据存储中的容错处理装置的结构框图。

具体实施方式

本申请的核心在于提供一种数据存储中的容错处理方法、装置、设备及计算机可读存储介质,以便有效降低容错处理机制与存储主进程的耦合程度,从而提高存储业务的运行效率并简化存储系统。

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

本申请实施例公开了一种数据存储中的容错处理方法,参照图1所示,该方法主要包括以下步骤:

s1:在存储主进程运行时调用容错处理进程,容错处理进程与存储主进程相对独立而并行运行。

具体地,与现有技术中不同,本申请具体将容错处理的过程从现有技术中的存储主进程中抽离出来,形成了一个与存储主进程相对独立、可以并行运行的容错处理进程,用于执行系统错误的监控和处理。抽离了容错处理过程的存储主进程进用于执行数据存储的主业务,即在主机上层控制模块生成了相关命令数据后,只需进行相关的协议转换或者解析等基本通信操作后,无需经过容错处理中的检测、判断、等待等过程,即可交由磁盘底层控制模块执行相关操作,从而迅速地完成整个数据存储过程。而所说的容错处理进程可以与存储主进程并发运行,因其本身与存储主进程为两个不同的进程,所以并不会占用存储主进程的资源。

s2:对在存储主进程运行期间生成的io故障数据和命令故障数据进行监测。

如前所述,由于存储系统多采用数控分流的机制进行工作,所以容错处理机制针对的系统错误一般可分为两类,即io流类和控制流类。其中,io流类系统错误是底层io读写层面上的故障,一般包括有磁盘硬拔、磁盘驱动故障等;控制流类系统错误是上层cpu等部件的命令数据或者命令数据的状态出现的问题。

s3:当监测到io故障数据或者命令故障数据时,在预设故障处理方案库中查找对应的故障处理方案。

s4:执行故障处理方案。

具体地,本申请预先设置有故障处理方案库,其中存储有各种用于应对各类故障问题的故障处理方案。一旦通过容错处理进程的执行而监测到io故障数据或者命令故障数据,便可以在预设故障处理方案库中进行查找,确定出对应的故障处理方案并执行,以便及时解决系统的故障问题,保障存储系统和存储业务的正常运行。

其中,作为一种优选实施例,所述故障处理方案推荐但不限于包括以下任意一项或者任意组合:命令数据重传、修改命令数据状态、生成针对于磁盘底层控制模块的修正数据。

当然,本领域技术人员还可以根据实际应用情况而自行选择并设置其他的故障处理方案,本申请对此并不进行限定。此外,还需要补充的是,由于本申请所设置的容错处理进程是专用于进行容错处理的,因此,整个容错处理的过程也更加集中化和系统化,不会出现现有技术在存储主进程中重复进行多层处理的情况。所说的预设故障处理方案库中所存储的故障处理方案,可以是在对故障问题进行归纳整理和统计后设计出的精简的公用方案,如此也可进一步便于故障处理系统的升级,并提高故障处理能力。

本申请所提供的数据存储中的容错处理方法,通过在存储主进程运行时调用容错处理进程,容错处理进程与存储主进程相对独立而并行运行;对在存储主进程运行期间生成的io故障数据和命令故障数据进行监测;当监测到io故障数据或者命令故障数据时,在预设故障处理方案库中查找对应的故障处理方案;执行故障处理方案。可见,本申请通过将容错处理过程从现有技术中的存储主进程中抽离出来,形成可并行运行的容错处理进程,有效降低了容错处理机制与存储主进程之间的耦合程度,精简了存储主进程的数据处理流程和存储系统的程序文件大小,不仅提高了数据存储的业务运行效率,并令存储系统更加便于系统升级和维护,而且还有效地提高了容错处理过程的集中程度和效率,极大地提高了用户体验。

本申请所提供的数据存储中的容错处理方法,在上述内容的基础上,作为一种优选实施例,所述容错处理进程部署在本地或者云端。

具体地,本申请中所提供的容错处理进程除了可以部署在存储设备本地中,还可以部署在云端,本领域技术人员可以具体借助于rpc(remoteprocedurecall)服务而实现远程调用。

本申请所提供的数据存储中的容错处理方法,在上述内容的基础上,作为一种优选实施例,对在存储主进程运行期间生成的io故障数据和命令故障数据进行监测包括:

利用预设io中断接口接收io故障数据,并定期在预设共享存储区内查找命令故障数据;预设共享存储区内存储有在存储主进程运行期间由主机上层控制模块发送至磁盘底层控制模块的命令数据。

具体地,当监测到存储设备的底层存储io读写过程中出现问题而生成了io故障数据后,可通过预设io中断接口进行中断触发,在预设故障处理方案库中查找确定出对应的故障处理方案以便进行故障处理。

而另一方面,对于控制流类系统错误,可预先设置一个共享存储区,主机上层控制模块生成的命令数据可存储至该共享存储区,以便接收容错处理的定时查询。通过定时对预设共享存储区中的命令数据进行判断,可检测出其中发生故障的命令数据,即所说的命令故障数据,进而类似地,可在预设故障处理方案库中查找确定对应的故障处理方案以便进行故障处理。

其中,作为一种优选实施例,命令数据以队列的数据形式存储在预设共享存储区内。

本申请所提供的数据存储中的容错处理方法,在上述内容的基础上,作为一种优选实施例,在执行故障处理方案之后,还包括:

生成并存储容错处理日志数据。

具体地,容易理解的是,在故障发生之后,还可进一步生成容错处理日志数据,将故障的具体情况记录下来,以便后续相关技术人员进行分析等。

下面对本申请所提供的数据存储中的容错处理装置进行介绍。

请参阅图2,图2为本申请所提供的一种数据存储中的容错处理装置的结构框图,包括:

调用单元1,用于在存储主进程运行时调用容错处理进程,容错处理进程与存储主进程相对独立而并行运行;

监测单元2,用于对在存储主进程运行期间生成的io故障数据和命令故障数据进行监测;

查找单元3,用于当监测单元2监测到io故障数据或者命令故障数据时,在预设故障处理方案库中查找对应的故障处理方案;

处理单元4,用于执行故障处理方案。

可见,本申请所提供的数据存储中的容错处理装置,通过将容错处理过程从现有技术中的存储主进程中抽离出来,形成可并行运行的容错处理进程,有效降低了容错处理机制与存储主进程之间的耦合程度,精简了存储主进程的数据处理流程和存储系统的程序文件大小,不仅提高了数据存储的业务运行效率,并令存储系统更加便于系统升级和维护,而且还有效地提高了容错处理过程的集中程度和效率,极大地提高了用户体验。

在上述内容基础上,作为一种优选实施例,本申请所提供的数据存储中的容错处理装置中,所述容错处理进程部署在本地或者云端。

在上述内容基础上,作为一种优选实施例,本申请所提供的数据存储中的容错处理装置中,监测单元2具体用于:利用预设io中断接口接收io故障数据,并定期在预设共享存储区内查找命令故障数据;预设共享存储区内存储有在存储主进程运行期间由主机上层控制模块发送至磁盘底层控制模块的命令数据。

本申请所提供的数据存储中的容错处理装置在上述内容基础上,作为一种优选实施例,命令数据以队列的数据形式存储在预设共享存储区内。

本申请所提供的数据存储中的容错处理装置在上述内容基础上,作为一种优选实施例,故障处理方案包括以下任意一项或者任意组合:命令数据重传、修改命令数据状态、生成针对于磁盘底层控制模块的修正数据。

请参阅图3,图3为本申请所提供的另一种数据存储中的容错处理装置的结构框图。在上述内容基础上,作为一种优选实施例,本申请所提供的数据存储中的容错处理装置还包括:

日志生成单元5,用于在处理单元4执行所述故障处理方案之后,生成并存储容错处理日志数据。

进一步地,本申请还公开了一种数据存储中的容错处理设备,包括:

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

处理器,用于执行所述计算机程序以实现如上所述的任一种数据存储中的容错处理方法的步骤。

进一步地,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种数据存储中的容错处理方法的步骤。

本申请所提供的数据存储中的容错处理装置、设备及计算机可读存储介质的具体实施方式与上文所描述的数据存储中的容错处理方法可相互对应参照,这里就不再赘述。

本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。

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