CN106708431B - 一种存储数据的方法、装置、主机设备和存储设备 - Google Patents
一种存储数据的方法、装置、主机设备和存储设备 Download PDFInfo
- Publication number
- CN106708431B CN106708431B CN201611090502.3A CN201611090502A CN106708431B CN 106708431 B CN106708431 B CN 106708431B CN 201611090502 A CN201611090502 A CN 201611090502A CN 106708431 B CN106708431 B CN 106708431B
- Authority
- CN
- China
- Prior art keywords
- storage device
- storage
- data
- indication information
- duration
- 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
Images
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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
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
技术领域
本发明实施例涉及计算机领域,并且更具体地,涉及一种存储数据的方法、装置、主机设备和存储设备。
背景技术
随着计算机技术的快速发展,每个企业都在大量使用计算机处理自己的核心数据,依赖这些数据的计算机系统的停机或故障往往会造成企业生产经营活动的停顿,给企业造成巨大的损失。
为了有效的实现对数据以及系统的保护,现有技术中采用多副本容灾技术或双副本容灾技术,例如,基于双机的高可用技术,磁盘阵列系统的双活技术、远程复制技术、镜像技术等。
以多副本同步系统为例,主机设备中的应用将写请求发送至该系统中的多个设备中,每个设备根据写请求进行数据的存储,当所有设备完成数据的存储后,向主机设备发送数据存储完成的报告,主机设备在接收到所有设备发送的数据存储完成的报告后,发送下一次写请求。
但是,在该类系统中,通常会要求能够存储多个副本的多个设备具有相近的写性能,当某个副本所在的设备出现亚健康状态(例如,写缓存失效、磁盘损坏等)时,不会及时或者不会向主机设备发送数据存储完成的报告,主机设备也不会发送下一次写请求,从而使得及时完成数据存储的其他设备也不能进行下一步的数据存储。
因而,在多副本同步系统中,单个副本的较长的写请求响应时延会导致整个系统的写请求响应延时,尤其对于写请求敏感的系统,会产生灾难性后果。
发明内容
本发明实施例提供了一种存储数据的方法、装置和设备,能够有效地减少部分存储设备在存储第一业务的数据时产生的较长响应时延对于整个同步系统的影响,从而,提高系统的响应时延。
第一方面,本发明实施例提供了一种存储数据的方法,所述方法在包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,所述主机设备与所述至少两个存储设备中的每个存储设备通信连接,所述方法包括:所述主机设备从所述至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,所述第一存储设备是所述至少两个存储设备中针对第一业务的存储状态为亚健康状态的存储设备,所述第二存储设备是所述至少两个存储设备中针对所述第一业务的存储状态为健康状态的存储设备;所述主机设备在所述第二存储设备中存储所述第一业务中的第二数据,且在接收到所述第二存储设备发送的第一指示信息后,在接收到所述第一存储设备发送的第二指示信息前,确定针对所述第二数据的存储完成,所述第一指示信息用于指示所述第二存储设备完成了针对所述第二数据的存储,所述第二指示信息用于指示所述第一存储设备完成了针对所述第二数据的存储。
因此,主机设备在确定针对第一业务的存储状态为亚健康状态的第一存储设备以及在确定针对该第一业务的存储状态为健康状态的第二存储设备后,通过在该第二存储设备中进行该第一业务中的第二数据的同步存储,同时,在接收到该第二存储设备发送的用于指示该第二存储设备完成针对该第二数据的第一指示信息后,且在接收到该第一存储设备发送的用于指示该第一存储设备完成针对该第二数据的第二指示信息前,就确定该数据存储系统完成了针对该第二数据的同步存储,使得所有第一存储设备与所有第二存储设备实现了针对该第二数据的异步存储,有效地减少了该第一存储设备针对于该第一业务的较长的响应时延对于整个同步系统的影响,有效地提高了系统的响应时延。
结合第一方面,在第一方面的第一种可能的实现方式中,所述主机设备向所述第一存储设备发送第三指示信息,所述第三指示信息用于指示所述第一存储设备禁止或暂停针对所述第二数据的存储。
结合第一方面,在第一方面的第二种可能的实现方式中,所述数据存储系统还包括报警设备,以及,所述方法还包括:所述主机设备在确定所述第一存储设备之后,控制所述报警设备进行告警。
因此,主机设备在确定针对于第一业务的存储状态为亚健康状态的第一存储设备后,控制该第一存储设备针对该第一业务的数据存储进行处理,能够更好地实现所有第一存储设备与所有第二存储设备间针对该第二数据的异步存储,提高了存储效率。
结合第一方面,在第一方面的第三种可能的实现方式中,所述主机设备从所述至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,包括:所述主机设备获取至少两个第四指示信息,所述至少两个第四指示信息与所述至少两个存储设备一一对应,每个第四指示信息用于指示所对应的存储设备在存储所述第一业务中的第一数据时得到的时长;所述主机设备根据所述至少两个第四指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备。
因此,主机设备根据至少两个用于指示所对应的存储设备在存储第一业务中的第一数据时得到的时长的第四指示信息,可以有效地确定每个存储设备的类型。
结合第一方面,在第一方面的第四种可能的实现方式中,所述主机设备获取至少两个第五指示信息,所述至少两个第五指示信息与所述至少两个存储设备一一对应,每个第五指示信息用于指示所对应的存储设备在存储所述第一业务中的第三数据时得到的时长;以及,所述主机设备根据所述至少两个第四指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备,包括:所述主机设备根据所述至少两个第四指示信息和所述至少两个第五指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备。
因此,主机设备通过根据存储设备在存储不同数据时生成的多个判定结果来综合确定存储设备的类型,更加有效地提高了针对存储设备的类型的确定的准确性。
在某些实现方式中,所述主机设备根据所述至少两个第一时长信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备,包括:所述主机设备从所述每个第一时长信息所指示的时长中,确定第一最小时长;所述主机设备计算所述第一时长信息所指示的时长和所述第一最小时长之间的第一差值;所述主机设备根据所述第一差值和第一阈值,生成第一判定结果,所述第一判定结果用于确定所述第一存储设备和所述第二存储设备。
在某些实现方式中,所述主机设备接收所述每个存储设备发送的第六指示信息,所述第六指示信息用于指示所对应的存储设备针对所述第一业务的存储状态为亚健康状态或健康状态;以及,所述主机设备从所述至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,包括:所述主机设备根据所述每个存储设备发送的第六指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备。
第二方面,本发明实施例提供了一种存储数据的方法,所述方法在包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,所述主机设备与所述至少两个存储设备中的每个存储设备通信连接,且所述至少两个存储设备中的每个存储设备之间能够进行通信,所述方法包括:目标存储设备确定第一时长指示信息,所述第一时长指示信息用于指示所述目标存储设备在存储所述第一业务中的第一数据时得到的时长;所述目标存储设备获取至少一个第二时长指示信息,所述至少一个第二时长指示信息与至少一个参考存储设备一一对应,所述至少一个参考存储设备是所述至少两个存储设备中除所述目标存储设备之外的存储设备,每个第二时长指示信息用于指示所对应的参考存储设备在存储所述第一数据时得到的时长;所述目标存储设备根据所述第一时长指示信息和所述至少一个第二时长信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态。
因而,目标存储设备根据用于指示自己在存储第一业务中的第一数据时得到的时长的第一指示信息和至少一个用于指示对应的参考存储设备在存储该第一数据时得到的时长的第二指示信息,可以有效地确定目标存储设备针对该第一业务的存储状态是否为亚健康状态。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一时长指示信息用于指示的时长为所述目标存储设备在存储所述第一数据时针对所述第一数据中的多组数据进行处理得到的输入输出I/O平均存储时延,所述每个第二时长指示信息用于指示的时长为所对应的参考存储设备在存储所述第一数据时针对所述第一数据中的多组数据进行处理得到I/O平均存储时延。
结合第二方面,在第二方面的第二种可能的实现方式中,所述目标存储设备根据所述第一时长指示信息和所述第二时长信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态,包括:所述目标存储设备从所述第一时长指示信息所指示的时长和所述每个第二时长指示信息所指示的时长中,确定最小时长;所述目标存储设备计算所述第一时长指示信息所指示的时长和所述最小时长之间的差值;所述目标存储设备根据所述差值和第一阈值,生成判定结果,所述判定结果用于确定所述目标存储设备针对所述第一业务的存储状态是亚健康状态还是健康状态。
结合第二方面,在第二方面的第三种可能的实现方式中,所述方法还包括:所述目标存储设备确定第三时长指示信息,所述第三时长指示信息用于指示所述目标存储设备在存储所述第一业务的第三数据时得到的时长;所述目标存储设获取至少一个第四时长指示信息,所述至少一个第四时长指示信息与至少一个参考存储设备一一对应,所述至少一个参考存储设备是所述至少两个存储设备中除所述目标存储设备之外的存储设备,每个第四时长指示信息用于指示所对应的参考存储设备在存储所述第三数据时得到的时长;以及,所述目标存储设备根据所述第一时长指示信息和所述至少一个第二时长信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态,包括:所述目标存储设备根据所述第一时长指示信息、所述至少一个第二指示信息、所述第三时长指示信息和所述至少一个第四时长指示信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态。
因此,目标存储设备根据自己在存储不同数据时生成的多个判定结果来确定自己针对第一业务的存储状态是否为亚健康状态,更加有效地提高了该目标存储存储设备确定自己针对该第一业务的存储状态是否为亚健康状态的准确性。
结合第二方面,在第二方面的第四种可能的实现方式中,所述方法还包括:所述目标存储设备在确定所述目标存储设备针对所述第一业务的存储状态为亚健康状态后,针对所述第一业务进行处理。
因此,目标存储设备在确定自己针对第一业务的存储状态为亚健康状态后,针对该第一业务进行相关处理,可以有效地实现该目标存储设备与其他参考存储设备之间针对该第一业务中的第二数据的异步存储,提高了存储效率。
结合第二方面,在第二方面的第五种可能的实现方式中,所述目标存储设备在确定所述目标存储设备针对所述第一业务的存储状态为亚健康状态后,针对所述第一业务进行处理,包括:所述目标存储设备禁止或暂停针对所述第一业务中的第二数据的存储;或,所述目标存储设备针对所述第一业务进行告警;或,所述目标存储设备降低所述第一业务的优先级。
第三方面,本发明实施例提供了一种存储数据的装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的单元。
第四方面,本发明实施例提供了一种存储数据的装置,用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的单元。
第五方面,本发明实施例提供了一种主机设备,该主机设备包括:通信接口、存储器、处理器和总线系统。其中,该通信接口、该存储器和该处理器通过该总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令;当该处理器执行该存储器存储的指令时,该执行使得该主机设备通过该通信接口与数据存储系统中的存储设备交互来执行第一方面或第一方面的任意可能的实现方式中的方法,或者该执行使得该主机设备通过该通信接口与数据存储系统中的存储设备交互来实现第三方面提供的装置。
第六方面,本发明实施例提供了一种存储设备,该存储设备包括:通信接口、存储器、处理器和总线系统。其中,该通信接口、该存储器和该处理器通过该总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令;当该处理器执行该存储器存储的指令时,该执行使得该存储设备执行第二方面或第二方面的任意可能的实现方式中的方法,或者该执行使得该存储设备实现第四方面提供的装置。
第七方面,本发明实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第八方面,本发明实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
附图说明
图1是适用于本发明实施例的数据存储系统的示意图。
图2a至图2b是数据存储系统中的存储设备在存储数据时与主机设备之间的通信过程的示意图。
图3是根据本发明实施例的存储数据的方法的示意性流程图。
图4是根据本发明实施例的存储数据的方法的示意性流程图。
图5是根据本发明实施例的存储数据的装置的示意性框图。
图6是根据本发明实施例的存储数据的装置的示意性框图。
图7是根据本发明实施例的主机设备的示意性结构图。
图8是根据本发明实施例的存储设备的示意性结构图。
具体实施方式
图1是适用于本发明实施例的数据存储系统的示意图。该数据存储系统包括至少一个主机设备以及至少两个存储设备,每个主机设备与该两个存储设备中的每个存储设备能够进行通信,且该每个存储设备之间也能够进行通信。作为示例而非限定,图1示出了两个主机设备(即,主机设备1和主机设备2)以及五个存储设备(即,存储设备1-存储设备5),主机设备1和主机设备2都能够分别与五个存储设备进行通信,并且,每个存储设备之间也能够进行通信。
作为示例而非限定,本发明实施例的主机设备可以是能够产生数据的个人电脑、应用服务器等,存储设备可以是任何能够用于存储数据的设备,例如,个人电脑、存储服务器、磁带机、移动硬盘、磁芯存储器等,本发明并不限于此。
针对于存储设备在存储数据时存储设备与主机设备之间进行通信的过程,以主机设备111与存储设备121之间的通信为例进行说明。如图2a所示,在一次完整的数据存储过程中,主机设备111执行数据库中的应用程序生成输入/输出IO写请求,将携带有该I/O写请求的消息发送给存储设备121,存储设备121根据该I/O写请求进行数据的存储,最后向主机设备111返回针对I/O写请求的反馈报告,用于告知主机设备111自己是否完成了针对此次I/O写请求的数据的存储。
当该数据存储系统为多副本同步系统时,作为示例而非限定,以主机设备111和存储设备121、存储设备122为例对本发明实施例的应用背景做一简单说明。如图2b所示,在一次完整的数据存储过程中,主机设备111中的应用程序产生一个I/O写请求,经过复制模块将该一个I/O写请求复制为两个I/O写请求,同时发送给存储设备121和存储设备122,每个存储设备根据该I/O写请求进行数据的存储,完成后将针对该I/O写请求的反馈报告发送于主机设备,主机设备在接收到存储设备发送的反馈报告后,发送下一次写请求,反复循环操作,最终完成每个存储设备中的副本。
应理解,该复制模块不仅可以配置于主机设备之外的设备,也可以配置于主机设备中,完成针对I/O写请求的复制过程。
但是,在该类系统中,通常会要求能够存储多个副本的多个存储设备具有相近的写性能,当某个存储设备针对需要存储的副本的存储状态出现亚健康状态(例如,写缓存失效、磁盘损坏等)时,不会及时或者不会向主机设备发送数据存储完成的反馈报告,主机设备也不会发送下一次写请求,从而使得及时完成数据存储的其他存储设备也不能进行下一步的数据存储。因而,只要在该类系统中,存在一个存储设备针对需要存储的副本的存储状态为亚健康状态时,整个系统的数据存储过程的I/O写请求响应时延会较长,尤其对于I/O写请求敏感的系统,会产生灾难性后果。
因而,本发明实施例提供了一种存储数据的方法,能够有效地减少单个存储设备针对副本的I/O写请求响应时延对于整个系统的影响,有效地提高了系统的响应时延。
图3是根据本发明实施例的存储数据的方法的示意性流程图,该方法200包括:
S210,主机设备从至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,该第一存储设备是该至少两个存储设备中针对第一业务的存储状态为亚健康状态的存储设备,该第二存储设备是该至少两个存储设备中针对该第一业务的存储状态为健康状态的存储设备;
S220,该主机设备在该第二存储设备中存储该第一业务中的第二数据,且在接收到该第二存储设备发送的第一指示信息后,在接收到第一存储设备发送的第二指示信息前,确定针对该第二数据的存储完成,该第一指示信息用于指示该第二存储设备完成了针对该第二数据的存储,该第二指示信息用于指示该第一存储设备完成了针对该第二数据的存储。
具体地,在该系统中,该至少两个存储设备与该主机设备通信连接,实现主机设备与多个存储设备之间的通信,该系统可以用于数据的同步存储,也可以用于针对存储设备中原有数据的同步更新,最终都是用于针对新数据的同步存储。
首先,在S210中,主机设备从该至少两个存储设备中确定存储设备的类型,即存储设备#1(即,第一存储设备的一例)和存储设备#2(即,第二存储设备的一例),存储设备#1是该至少两个存储设备中针对业务#1(即,第一业务的一类)的存储状态为亚健康状态的存储设备,存储设备#2是该至少两个存储设备中针对业务#1的存储状态为健康状态的存储设备。
应理解,业务#1可以是主机设备需要存储设备进行备份的业务#1的数据,相对于主机设备产生的业务#1的数据,在存储设备中需要存储的业务#1的数据也可以称为副本,每个存储设备中需要存储的业务#1的数据都可以称为副本(也即,背景技术中所述的多副本同步系统中设备中的副本)。
此外,上述“存储设备#1针对业务#1的存储状态为亚健康状态”可以理解为存储设备#1需要存储的业务#1的数据处于亚健康状态,即,存储设备#1需要存储的副本处于亚健康状态,例如,业务#1的数据进行存储时的响应延时较长;也可以理解为用于存储业务#1的数据的存储设备#1处于亚健康状态,例如,存储设备#1的写缓存失效,或者磁盘损坏等现象。
需要说明的是,不同业务对于I/O响应时延的要求不一样,同时,不同存储设备的性能针对相同业务来说产生的I/O响应时延也是不一样的。即,同样的存储设备在存储不同业务的数据时,对于一部分业务的存储来说是处于亚健康状态,对于另一部分业务的存储来说是处于健康状态;或者,如本发明实施例所描述的,同一业务在不同存储设备进行数据存储时出现不同的存储状态。所以,在本发明实施例中,业务#1的存储状态针对于存储设备#1来说是亚健康状态,换句话说,存储设备#1仅仅针对业务#1来说是亚健康状态;同理,业务#1的存储状态针对于存储设备#2来说是健康状态,换句话说,存储设备#1仅仅针对业务#2来说是健康状态。
随后,在S220中,主机设备向存储设备#2发送针对数据#2(即,第二数据的一例)的I/O写请求,存储设备#2根据该I/O写请求进行数据#2的存储,即,主机设备在存储设备#2中存储业务#1中的数据#2,同时,存储设备#2完成数据#2的存储后,向主机设备发送指示信息#1(即,第一指示信息中的一例),用于告知自己完成了针对数据#2的存储。同时,主机设备在确定存储设备#1针对业务#1的存储状态为亚健康状态后,仅仅会在存储设备#2中进行业务#1中后续数据(即,数据#2)的同步存储,即,在存储设备#2完成针对数据#2的同步存储前,主机设备不会向存储设备#1发送I/O写请求,存储设备#1也不会针对数据#2进行同步存储,也不会向主机发送指示信息#2,用于告知自己完成了针对数据#2存储。
在本发明实施例中,数据#2可以是一次I/O写请求所对应的数据,即,数据#2是主机设备发送的一次I/O写请求所需要存储的数据;数据#2也可以是多次I/O写请求对应的数据,即,主机设备在存储设备#2中存储数据#2是主机设备通过发送多次I/O写请求,分批次将数据#2依次存储完毕,一次I/O写请求针对数据#2中的一组数据,每次完成针对当前数据的存储后,发送用于指示自己已经完成针对当前数据的存储的指示信息,例如,数据#2(假设数据#2为100行的数据)需要发送10次I/O写请求才能存储完毕,第一次发送1-10行数据的I/O写请求,第二次发送20-30行数据的I/O写请求,依次类推,将数据#2依次存储完毕。
于此对应的是,当数据#2是一次I/O写请求所对应的数据,那么指示信息#1直接指示存储设备#2完成了针对当前数据(即,数据#2)的存储,同理,指示信息#2直接指示存储设备#1完成了针对当前数据(即,数据#2)的存储;当数据#2是多次I/O写请求对应的数据,那么指示信息#1间接指示存储设备#2完成了针对多批数据(即,数据#2)的存储,换句话说,主机设备在接收到指示信息#1后,在确定了存储设备#2完成了针对当前数据的存储,也就是确定了存储设备#2完成了针对数据#2(包括当前数据在内的之前的多批数据)的存储,同理,指示信息#2间接指示存储设备#1完成了针对数据#2的存储。
本发明实施例中,主机设备在确定哪些存储设备为存储设备#1后,只会在存储设备#2中存储当前数据,同时,在接收到每个存储设备#2发送的用于指示对应的存储设备完成针对当前数据的存储的指示信息后,就可以确定该数据存储系统针对当前数据的同步存储完成,随后向存储设备#2发送下组数据的I/O写请求,不会再等待存储设备#1发送用于指示对应的存储设备完成针对当前数据的存储的指示信息(实际上,存储设备#1已经不再进行数据的同步存储),直到完成了针对数据#2的存储,接收到每个存储设备发送的指示信息#1后,确定该数据存储系统完成了针对数据#2的同步存储。同时,在此期间内,存储设备#1已经不再进行数据的同步存储,即,存储设备#1针对数据#2的存储的开始时间位于存储设备#1针对数据#2的存储的开始时间的之后(一般情况下,是在存储设备#2完成了针对数据#2的同步存储后,才会针对存储设备#1进行数据#2的存储),进而,存储设备#1针对数据#2完成存储的时间也位于存储设备#2针对数据#2的完成同步存储的时间之后,因而,主机设备在接收到每个存储设备#2发送的用于指示存储设备#2已经完成针对数据#2的指示信息#1后,且在接收到存储设备#1发送的用于指示存储设备#1已经完成针对数据#2的指示信息#2前,已经确定整个数据存储系统针对数据#2的同步存储完成。
需要注意的是,由于存储设备#1表示的是每个针对业务#1的存储状态为亚健康状态的存储设备,所以,主机设备接收的是每个存储设备#2的指示信息#1,即,主机设备在接收到所有的存储设备#2发送的指示信息#2后,才会确定存储设备#2针对当前数据的存储已经完成,才会向存储设备#2继续发送下组数据的I/O写请求,进而完成下组数据的存储,反复循环,最终完成针对数据#2的存储。
换句话说,在具体实现过程中,主机设备仅仅关注存储设备#2向主机设备发送的完成数据存储的指示信息,可以通过上述主机设备中的复制模块接收存储设备#2发送的用于指示完成当前数据的存储的指示信息,复制模块可以在最后一个完成数据存储的存储设备#2发送的指示信息#1后,向主机设备中的处理器发送一个指示信息,用于指示所有的存储设备#2已经完成了当前数据的存储,从而,主机设备直接发送下组数据的I/O写请求,反复循环,最终完成针对数据#2的存储。
作为示例而非限定,上述复制模块也可以配置于主机设备之外的设备,用于接收存储设备#2发送的用于指示完成当前数据的存储的指示信息,则,复制模块可以在最后一个完成数据存储的存储设备#2发送的指示信息#1后,通过设备间的通信链接向主机设备中的处理器发送一个指示信息,用于指示所有的存储设备#2已经完成了当前数据的存储,从而,主机设备直接发送下组数据的I/O写请求,反复循环,最终完成针对数据#2的存储。当然,该复制模块还可以用于拆分主机设备发送的I/O写请求。
如前所述,现有技术中,主机设备会在接收到所有存储设备发送的用于指示自己完成针对当前数据的存储的指示信息后,才会确定该数据存储系统完成了针对当前数据的同步存储,才会向存储设备发送下组数据的I/O写请求。在本发明实施例中,主机设备不会一直等到接收完所有存储设备发送的针对当前数据的存储完成的指示信息后,才发送下组数据的I/O写请求,而是,在接收到每个存储设备#2发送的针对当前数据的存储完成的指示信息后,就可以确定该数据存储系统完成了针对当前数据的同步存储,随后向存储设备#2发送下组数据的I/O写请求,使得所有的存储设备#2继续实现针对数据#2的同步存储,所有存储设备#1与所有存储设备#2实现针对数据#2的异步存储(即,在存储设备#2中数据#2的过程中,在存储设备#1中不存储数据#2)。
这样,主机设备在确定针对第一业务的存储状态为亚健康状态的第一存储设备以及在确定针对该第一业务的存储状态为健康状态的第二存储设备后,通过在该第二存储设备中进行该第一业务中的第二数据的同步存储,同时,在接收到该第二存储设备发送的用于指示该第二存储设备完成针对该第二数据的第一指示信息后,且在接收到该第一存储设备发送的用于指示该第一存储设备完成针对该第二数据的第二指示信息前,就确定该数据存储系统完成了针对该第二数据的同步存储,使得所有第一存储设备与所有第二存储设备实现了针对该第二数据的异步存储,有效地减少了该第一存储设备针对于该第一业务的较长的响应时延对于整个同步系统的影响,有效地提高了系统的响应时延。
可选地,主机设备可以记录主机设备确定存储设备#1针对业务#1的存储状态为亚健康状态后,记录存储设备#1不再与存储设备#2同步进行数据存储的时间以及在位图上进行标记,以便于后续对于缺失数据的补充。
主机设备会时时监控每个存储设备,因而,在确定存储设备#1针对于业务#1的存储状态为由亚健康状态转化为健康状态后,针对于剩下的未存储的数据,继续进行重新确定的存储设备#2对于业务#1的同步存储,同时,在后续将未存储的数据通过主机设备或其他存储设备补充完整。
需要理解的是,若是通过主机设备进行缺失数据的补充,存储设备#1肯定会向主机设备发送指示信息#2,同时必然在存储设备#2确定完针对数据#2的存储之前;若是通过其他存储设备(即,存储设备#2)进行数据的补充,存储设备#1只会向存储设备#2发送用于告知自己完成针对数据的存储的指示信息,不会向主机设备发送指示信息#2,这样,主机设备确定存储设备针对数据#2的存储完成的时间,永远都在存储设备#1向主机设备发送指示信息#2之前。
在本发明实施例中,主机设备用于确定该至少两个存储设备针对业务#1的存储状态是否为亚健康状态的数据为业务#1中的第一数据(后续为了描述方面,记为数据#1),因而,数据#2为主机设备在确定完存储设备的类型后存储设备#2存储的数据。同时,数据#2可以是业务#1中除数据#1以外的全部数据,也可以是业务#1中除数据#1以外的部分数据。具体情况,视主机设备对于存储设备#1和存储设备#2的处理以及存储设备#1自身性能的恢复状态。作为示例而非限定,以下通过三种方式的列举进行说明,同时,下述三种方式也是主机设备实现存储设备#1与存储设备#2之间针对数据#2的存储为异步存储的三种方式。
方式1
该主机设备向该第一存储设备发送第三指示信息,该第三指示信息用于指示该第一存储设备禁止或暂停针对该第二数据的存储。
具体地,该主机设备在确定该至少两个存储设备中的存储设备#1后,向存储设备#1发送指示信息#3,用于告知存储设备#1暂停或禁止针对数据#2的存储;随后,存储设备#1将自己针对数据#2的存储设置为不可读状态,以实现暂停或禁止针对数据#2的存储。
此种情况下,视存储设备#1自身性能的恢复状态,即,存储设备#1针对业务#1的存储状态由亚健康状态恢复为健康状态:若存储设备#1在存储设备#2将业务#1中的数据全部存储完后,还没有恢复为健康状态,那么,数据#2就为业务#1中除数据#1之外的全部数据;若存储设备#1在存储设备#2正在存储业务#1中除数据#1以外的数据的过程中恢复为健康状态,则数据#2为业务#1中除数据#1以外的部分数据。
方式2
该数据存储系统中还包括报警设备,以及
该方法还包括:
该主机设备在确定该第一存储设备之后,控制该报警设备进行告警。
具体地,该报警设备可以配置于主机设备中,也可以配置于每个存储设备中。
例如,该报警设备配置于主机设备中,主机设备通过报警设备发布告警信息,用于告知用户与自己连接的哪个存储设备针对业务#1的存储状态出现了问题,以便于用户在存储设备#1中需要存储的业务#1进行相关操作,例如,禁止或暂停针对业务#1的后续数据的存储。
再例如,该报警设备配置于每个存储设备中,主机设备通过发送执行执行指令等相关信息来控制存储设备#1中的报警设备发布告警信息,用于告知用户存储设备#1针对业务#1存储状态为亚健康状态,用户在收到该告警信息后,针对存储设备#1需要存储的业务#1进行相关操作,例如,禁止或暂停针对业务#1的后续数据的存储。
该告警信息的发布方式可以多种多样,例如,当主机设备或存储设备中包括声音播放设备时,可以通过声音播放设备播放预设的声音告警信息,可以是“3号存储设备有故障!!!”或“数据存储失效”等,具体告警方式本发明实施例没有限定。
此外,该告警信息还可以告知用户针对存储设备#1进行诊断修复,以便于及时恢复针对业务#1的后续数据的存储。
同样,此种情况下,视存储设备#1自身性能的恢复状态,即,存储设备#1针对业务#1的存储状态由亚健康状态恢复为健康状态:若存储设备#1在存储设备#2将业务#1中的数据全部存储完后,还没有恢复为健康状态,那么,数据#2就为业务#1中除数据#1之外的全部数据;若存储设备#1在存储设备#2正在存储业务#1中除数据#1以外的数据的过程中恢复为健康状态,则数据#2为业务#1中除数据#1以外的部分数据。
方式3
主机设备在确定好存储设备#1后,将存储设备#1针对业务#1的后续数据的存储由同步方式设置为异步方式,这样,使得其他所有的存储设备#2针对业务#1的后续数据进行正常的同步存储,完成业务#1中还未存储的数据首先在存储设备#2中的存储,随后,在存储设备#1中将未存储的数据进行定期存储,可以继续由主机设备发送I/O写请求实现数据的存储,也可以直接复制存储设备#2中已经存储的数据。
将存储设备#1针对业务#1的后续数据的存储由同步方式设置为异步方式的具体实现方式有多种,例如,可以降低存储设备#1针对业务#1的数据的存储的优先级等。
此种情况下,数据#2根据系统预设的针对业务#1中还未存储的数据在存储设备#1的存储的时间来确定。
例如,存储设备#2针对业务#1中还未存储的数据的存储可能需要60s,系统预设的针对业务#1中还未存储的数据在存储设备#1的存储的时间可能是30s一次,这样,存储设备#1中还未将业务#1中的数据存储完毕,数据#2就是业务#1中除数据#1以外的部分数据。
再例如,存储设备#2针对业务#1中还未存储的数据的存储可能需要60s,系统预设的针对业务#1中还未存储的数据在存储设备#1的存储的时间可能在60s以后,那么数据#2就是业务#1中除数据#1以外的全部数据。
这样,主机设备在确定针对于第一业务的存储状态为亚健康状态的第一存储设备后,控制该第一存储设备针对该第一业务的数据存储进行处理,能够更好地实现所有第一存储设备与所有第二存储设备间针对该第二数据的异步存储,提高了存储效率。
上述描述了主机设备确定完存储设备#1和存储设备#2后,对于存储设备#1需要存储的业务#1的相关处理和对于存储设备#2需要存储的业务#1的相关处理。下面,关于主机设备如何确定存储设备#1和存储设备#2的过程和方法进行详细说明。
可选地,该主机设备从该至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,包括:
该主机设备获取至少两个第四指示信息,该至少两个第四指示信息与该至少两个存储设备一一对应,每个第四指示信息用于指示所对应的存储设备在存储该第一业务中的第一数据时得到的时长;
该主机设备根据该至少两个第四指示信息,从该至少两个存储设备中确定该第一存储设备和该第二存储设备。
主机设备内部包括时长监控模块以及时长统计模块,时长监控模块用于监控存储设备存储数据时得到的时长,时长统计模块用于将从时长监控模块获取的时长进行统计。主机设备的时长监控模块以及时长统计模块获取对应于每个存储设备的指示信息#4(即,第四指示信息中的一例),指示信息#4用于指示所对应的存储设备在存储业务#1中的数据#1时得到的时长,然后根据对应于每个存储设备的指示信息#4所指示的时长来确定存储设备#1和存储设备#2。
因此,主机设备根据至少两个用于指示所对应的存储设备在存储第一业务中的第一数据时得到的时长的第四指示信息,可以有效地确定每个存储设备的类型。
指示信息#4所指示的时长可以有两种情况的时长,即,情况A和情况B。
情况A
指示信息#4所指示的时长为所对应的存储设备在存储数据#1时所经历的时长。该时长可以是存储设备存储数据#1需要的部分时长或全部时长。
为了减少单个存储设备存储数据#1时的亚健康状态对于整个系统时延的影响,可以在主机设备内部设置时长阈值,具体地,在主机设备中用于产生数据的应用内部设置有时长阈值,该时长阈值表示,在该时长阈值内若存储设备还不能完成针对数据#1的存储,那么直接将该时长阈值作为该存储设备存储数据#1时得到的时长,即,存储设备存储数据#1所经历的部分时长。若是存储设备在该时长阈值内完成针对数据#1的存储,那么,直接将存储数据#1的时长作为该存储设备存储数据#1时得到的时长,即,存储设备存储数据#1所经历的全部时长。
时长监控模块进行周期性监控,监控存储设备存储完数据#1所经历的时长,时长统计模块将该时长进行统计,用于后续针对存储设备的类型的判断。在此种情况下,可以将时长阈值作为监控模块监控时长的周期,为了能相对准确地得到存储设备的类型,可以将该时长阈值设置的较长。
情况B
指示信息#4所指示的时长为所对应的存储设备在存储数据#1时针对数据#1中的多组数据进行处理得到的I/O平均存储时延。
例如,数据#1有10组数据,主机设备发送的一次I/O写请求针对一组数据,因而,存储设备存储一组数据会得到一个I/O存储时延,存储设备将针对10组数据得到的10个I/O存储时延进行处理,得到一个I/O平均存储时延。该I/O平均存储时延可以利用固定的算法公式进行计算得到,该I/O平均存储时延表示的是存储设备针对一组数据进行存储所需要的I/O平均存储时延。
作为示例而非限定,上述针对多组数据进行计算获得I/O平均存储时延的过程也可以由主机设备执行,本发明并不限于此。
时长监控模块进行周期性监控,监控存储设备存储完数据#1得到的I/O平均存储时延,时长统计模块将该I/O平均存储时延进行统计,用于后续针对存储设备的类型的判断。
下面,针对主机设备确定存储设备#1和存储设备#2的方法和过程进行说明。需要说明的是,下述方法和过程的实施可以适用于存储设备在存储数据#1时得到的任意时长,本发明并不限于此。
具体地,主机设备将每个指示信息#4所对应的时长进行比较,找到最小时长,同时,计算其他指示信息#4所指示的时长和最小时长的差值,将该差值与系统预设的第一阈值进行比较获得判定结果,根据判定结果来确定存储设备#1和存储设备#2,该判定结果用于确定存储设备#1和存储设备#2。
该第一阈值可以根据系统针对于响应时延的要求的高低来确定:若系统对于存储数据的响应时延要求较高,该第一阈值可以设置较小;若系统对于存储数据的响应时延要求较低,该第一阈值可以设置较大。
下面,通过表1中的相关数据来说明本发明实施例的具体实施过程。
表1
存储设备编号 | 数据 | 时长(ms) | 差值(ms) | 第一阈值(ms) |
存储设备① | 数据#1 | 30 | 0 | 500 |
存储设备② | 数据#1 | 50 | 20 | 500 |
存储设备③ | 数据#1 | 60 | 470 | 500 |
存储设备④ | 数据#1 | 56 | 535 | 500 |
存储设备⑤ | 数据#1 | 570 | 545 | 500 |
如表1所示,根据上述结果可以看出,存储设备①、存储设备②、存储设备③的差值都小于第一阈值,存储设备④和存储设备⑤的差值都大于第一阈值,针对于五个存储设备的类型的确定有两种方式:即,一种是直接根据此次判定结果进行确定存储设备的类型,一种是间接根据此次判定结果确定存储设备的类型。
(1)主机设备根据此次判定结果直接确定存储设备的类型
若存储设备对应的差值小于第一阈值,则判定结果为差值小于第一阈值的存储设备针对业务#1的存储状态为健康状态;
若存储设备对应的差值大于或等于第一阈值,则判定结果为差值大于或等于第一阈值的存储设备针对业务#1的存储状态为亚健康存储状态。
在此种情况下,直接根据判定结果确定存储设备的类型。如表1所示,存储设备①、存储设备②、存储设备③的差值都小于第一阈值,主机设备确定存储设备①、存储设备②、存储设备③为存储设备#2,存储设备④和存储设备⑤的差值都大于第一阈值,主机设备确定存储设备④和存储设备⑤为存储设备#1。
利用这种方式进行存储设备的类型的确定时,可以将监控周期的时长设置的相对较长,提高确定存储设备的类型的准确性。
(2)主机设备间接根据此次判定结果间接确定存储设备的类型
可选地,该主机设备获取至少两个第五指示信息,该至少两个第五指示信息与该至少两个存储设备一一对应,每个第五指示信息用于指示所对应的存储设备在存储该第一业务中的第三数据时得到的时长;以及
该主机设备从该至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,包括:
该主机设备根据该至少两个第四指示信息和该至少两个第五指示信息,从该至少两个存储设备中确定该第一存储设备和该第二存储设备。
具体而言,网络的不稳定性以及监控周期较短等因素,使得存储设备在存储数据过程中得到的时长或确定过程出现错误,从而导致主机设备针对存储设备的类型的确定出现错误,为了避免上述问题,,主机设备通过前述的数据#1得到存储设备对应的差值与第一阈值的比较结果后,可以不立即将存储设备确定为存储设备#1或存储设备#2。主机设备可以根据业务#1中的两批数据得到的判定结果来确定存储设备的类型,即,主机设备可以基于存储设备分别存储数据#2和数据#3时得到的时长来共同确定存储设备的类型。
应理解,数据#2和数据#3仅为示意性说明,主机设备还可以基于更多的多批数据,获得多次判定结果,通过多次判定结果来确定存储设备的类型。
更具体地,为了更加清楚地描述主机设备基于至少两批数据确定存储设备的类型,以主机设备针对一个存储设备的确定过程为例进行说明,主机设备基于相同数据确定其他存储设备的类型的过程与下面主机设备针对一个存储设备的确定过程相同,此处不再赘述。
首先,主机设备内不仅需要设置监控周期,还需要设置设定周期,该设定周期可以为监控周期的整数倍,一个监控周期对应一批数据,例如,第一个监控周期对应数据#1,第二个监控周期对应数据#2等。
其次,时长监控模块周期性监控并且通过时长统计模块统计存储设备在存储当前数据时得到的时长,在第一个监控周期内,主机设备针对该时长进行如表1所示的方法进行计算得到该存储设备对应的时长与最小时长的差值:若该存储设备对应的差值大于或等于第一阈值,则针对该存储设备的判定结果为该存储设备针对业务#1的存储状态为伪亚健康状态;若该存储设备对应的差值小于第一阈值,则针对该存储设备的判定结果为该存储设备针对业务#1的存储状态为健康状态。接着,在后续每个监控周期内,进行上述方法的实施。
最后,在规定的设定周期内针对每个监控周期内存储设备存储不同数据得到的判定结果来综合确定存储设备的类型。具体地,判定结果有两种,一种是存储设备针对监控周期内的数据的存储状态为伪亚健康状态,一种是存储设备针对监控周期内的数据的存储状态为健康状态,将第一种判定结果的个数与所有判定结果的个数进行相除计算得到一个概率值,将该概率值与第二阈值进行比较,若该概率值大于或等于第二阈值,那么该存储设备针对业务#1的存储状态为亚健康状态,若该概率值小于第二阈值,那么该存储设备针对业务#1的存储状态为健康状态。
换句话说,此种方式计算的就是一个存储设备针对业务#1的存储状态,在设定周期内成为亚健康状态的概率估计,这样,能够更加准确地确定存储设备的类型。
下面,针对上述方法的实施列举了两个具体例子,如表2和表3所示。
为了方便描述,接着表1中的结果继续进行说明,同时,以存储设备③和存储设备⑤为例,分别进行说明。
表2和表3中用于确定存储设备的类型的数据(即,数据#1,数据#3,数据#4,数据#5)都是相同的,且一个监控周期对应一批数据,一批数据对应一个判定结果,四个监控周期对应一个设定周期。表2所列的是存储设备③在4个监控周期内,基于所对应的4批数据得到的时长计算的相关结果。存储设备③在4个监控周期内得到了4个判定结果,其中,3个判定结果都为存储设备③针对业务#1的存储状态为伪亚健康状态,1个判定结果为存储设备③针对业务#1的存储状态为健康状态,得到的概率值为75%,大于系统预设的第二阈值,那么最终可以确定存储设备③针对业务#1的存储状态为亚健康状态。
表3所列的是存储设备⑤在4个监控周期内,基于所对应的4批数据得到的时长计算的相关结果。存储设备⑤在4个监控周期内得到了4个判定结果,其中,3个判定结果都为存储设备⑤针对业务#1的存储状态为健康状态,1个判定结果为存储设备⑤针对业务#1的存储状态为伪亚健康状态,得到的概率值为25%,小于系统预设的第二阈值,那么最终可以确定存储设备⑤针对业务#1的存储状态为健康状态。
表2
表3
这样,主机设备通过根据存储设备在存储不同数据时生成的多个判定结果来综合确定存储设备的类型,更加有效地提高了针对存储设备的类型的确定的准确性。
可选地,该主机设备接收该每个存储设备发送的第六指示信息,该第六指示信息用于指示所对应的存储设备针对该第一业务的存储状态为亚健康状态或健康状态;以及
该主机设备从该至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,包括:
该主机设备根据该每个存储设备发送的第六指示信息,从该至少两个存储设备中确定该第一存储设备和该第二存储设备。
即,每个存储设备可以自己确定自己针对业务#1的存储状态是亚健康状态还是健康状态,从而将用于指示自己针对业务#1的存储状态是亚健康状态还是健康状态的指示信息#6(即,第六指示信息中的一例)发送于主机设备,用于主机设备判定存储设备的类型。每个存储设备确定自己针对业务#1的存储状态是亚健康状态还是健康状态的方法和过程,与主机设备判定存储设备的类型的过程和方法类似,为了避免赘述,后续进行详细说明。
因此,本发明实施例的存储数据的方法,一方面,主机设备在确定针对第一业务的存储状态为亚健康状态的第一存储设备以及在确定针对该第一业务的存储状态为健康状态的第二存储设备后,通过在该第二存储设备中进行该第一业务中的第二数据的同步存储,同时,在接收到该第二存储设备发送的用于指示该第二存储设备完成针对该第二数据的第一指示信息后,且在接收到该第一存储设备发送的用于指示该第一存储设备完成针对该第二数据的第二指示信息前,就确定该数据存储系统完成了针对该第二数据的同步存储,使得所有第一存储设备与所有第二存储设备实现了针对该第二数据的异步存储,有效地减少了该第一存储设备针对于该第一业务的较长的响应时延对于整个同步系统的影响,有效地提高了系统的响应时延;
另一方面,主机设备在确定针对于第一业务的存储状态为亚健康状态的第一存储设备后,控制该第一存储设备针对该第一业务的数据存储进行处理,能够更好地实现所有第一存储设备与所有第二存储设备间针对该第二数据的异步存储,提高了存储效率;
另一方面,主机设备根据至少两个用于指示所对应的存储设备在存储第一业务中的第一数据时得到的时长的第四指示信息,可以有效地确定每个存储设备的类型;
再一方面,主机设备通过根据存储设备在存储不同数据时生成的多个判定结果来综合确定存储设备的类型,更加有效地提高了针对存储设备的类型的确定的准确性。
以上,从主机设备的角度结合图3详细说明了本发明实施例的存储数据的方法,以下,从存储设备的角度来结合图4详细说明本发明实施例的存储数据的方法。
图4示出了根据本发明实施例的存储设备的方法的示意性流程图,该方法在包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,该主机设备与该至少两个存储设备中的每个存储设备通信连接,且该至少两个存储设备中的每个存储设备之间能够进行通信,该方法300包括:
S310,目标存储设备确定第一时长指示信息,该第一时长指示信息用于指示该目标存储设备在存储该第一业务中的第一数据时得到的时长;
S320,该目标存储设备获取至少一个第二时长指示信息,该至少一个第二时长指示信息与至少一个参考存储设备一一对应,该至少一个参考存储设备是该至少两个存储设备中除该目标存储设备之外的存储设备,每个第二时长指示信息用于指示所对应的参考存储设备在存储该第一数据时得到的时长;
S330,该目标存储设备根据该第一时长指示信息和该至少一个第二时长指示信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态。
在本发明实施例中,该至少两个存储设备中的每个存储设备中都配置有时长监控模块和时长统计模块,时长监控模块用于监控存储设备存储数据时得到的时长,时长统计模块用于将从时长监控模块获取的时长进行统计。
该目标存储设备为该至少两个存储设备中的任意一个存储设备,该参考存储设备就是该至少两个存储设备中除该目标存储设备之外的存储设备。
具体地,在S310中,该目标存储设备通过该目标存储设备时长监控模块和时长统计模块获取时长指示信息#1(即,第一时长指示中的一例),该时长指示信息#1用于指示该目标存储设备在存储业务#1(即,第一业务中的一例)中的数据#1(即,第一数据的一例)时得到的时长。
由于每个存储设备之间存在通信链路,使得存储设备之间能够进行通信,因而,在S320中,该目标存储设备通过参考存储设备中的时长监控模块和时长统计模块,通过存储设备之间的通信链路获取与每个参考存储设备一一对应的时长指示信息#2(即,第二指示信息的一例),时长指示信息#2用于指示所对应的参考存储设备在存储数据#1时得到的时长。
作为示例而非限定,目标存储设备还可以从除参考存储设备之外的设备中获取与每个参考存储设备对应的时长指示信息#2。
例如,主机设备中配置的时长监控模块和时长统计模块可以获取该至少两个时长指示信息#2,从而将与该至少两个时长指示信息#2发送于目标存储设备,从而,目标存储设备接收该至少两个时长指示信息#2。
进而,在S330中,该目标存储设备根据时长指示信息#1和至少一个时长指示信息#2确定该目标存储设备针对业务#1的存储状态是否为亚健康状态。
同理,时长指示信息#1所指示的时长和时长指示信息#2所指示的时长也是存在两种同样的情况,即,情况A和情况B。
情况A
时长指示信息#1用于指示的时长为目标存储设备在存储数据#1时所经历的时长,该时长可以是目标存储设备存储数据#1需要的部分时长或全部时长。
同理,时长指示信息#2用于指示的时长为所对应的参考存储设备在存储数据#1时所经历的时长,该时长可以是所对应的参考存储设备存储数据#1需要的部分时长或全部时长
无论是对于目标存储设备还是对于参考存储设备,针对数据#1中的多组数进行处理的过程都是一样的,因而,下面描述的存储设备表示所有存储设备(即,该目标存储设备和该至少一个参考存储设备)。
为了减少单个存储设备存储数据#1时的亚健康状态对于整个系统时延的影响,可以在每个存储设备内部设置时长阈值,即,该时长阈值表示,在该时长阈值内若存储设备还不能完成针对数据#1的存储,那么直接将该时长阈值作为该存储设备存储数据#1时得到的时长,即,存储设备存储数据#1所经历的部分时长。若是存储设备在该时长阈值内完成针对数据#1的存储,那么,直接将存储数据#1的时长作为该存储设备存储数据#1时得到的时长,即,存储设备存储数据#1所经历的全部时长。
时长监控模块进行周期性监控,监控存储设备存储完数据#1所经历的时长,时长统计模块将该时长进行统计,用于后续针对存储设备的类型的判断。在此种情况下,可以将时长阈值作为监控模块监控时长的周期,为了能相对准确地得到存储设备的类型,可以将该时长阈值设置的较长。
情况B
可选地,时长指示信息#1用于指示的时长为该目标存储设备在存储数据#1时针对数据#1中的多组数据进行处理得到的输入输出I/O平均存储时延。
同理,每个时长指示信息#2用于指示的时长为所对应的参考存储设备在存储数据#1时针对数据#1中的多组数据进行处理得到的I/O平均存储时延。
无论是对于目标存储设备还是对于参考存储设备,针对数据#1中的多组数进行处理的过程都是一样的,因而,下述描述的存储设备表示所有存储设备(即,该目标存储设备和该至少一个参考存储设备)。
例如,数据#1有10组数据,主机设备发送的一次I/O写请求针对一组数据,因而,存储设备存储一组数据会得到一个I/O存储时延,存储设备将针对10组数据得到的10个I/O存储时延进行处理,得到一个I/O平均存储时延。该I/O平均存储时延可以利用固定的算法公式进行计算得到,该I/O平均存储时延表示的是存储设备针对一组数据进行存储所需要的I/O平均存储时延。
时长监控模块进行周期性监控,监控存储设备存储完数据#1得到的I/O平均存储时延,时长统计模块将该I/O平均存储时延进行统计,用于后续针对存储设备的类型的判断。
因而,目标存储设备根据用于指示自己在存储第一业务中的第一数据时得到的时长的第一指示信息和至少一个用于指示对应的参考存储设备在存储该第一数据时得到的时长的第二指示信息,可以有效地确定目标存储设备针对该第一业务的存储状态是否为亚健康状态。
下面,详细描述目标存储设备确定自己针对业务#1的存储状态是否为亚健康状态的方法和过程进行说明。需要说明的是,下述方法和过程的实施可以适用于存储设备在存储数据#1时得到的任意时长,本发明并不限于此。
可选地,该目标存储设备根据该第一时长指示信息和该第二时长指示信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态,包括:
该目标存储设备从该第一时长指示信息所指示的时长和该第二时长指示信息所指示的时长中,确定最小时长;
该目标存储设备计算该第一时长指示信息所指示的时长和该最小时长之间的差值;
该目标存储设备根据该差值和第一阈值,生成判定结果,该判定结果用于确定该存储设备针对该第一业务的存储状态是亚健康状态还是健康状态。
具体地,目标存储设备将指示信息#1所指示的时长与指示信息#2所指示的时长进行比较,找到最小时长,同时,计算指示信息#1所指示的时长与最小时长之间的差值,将该差值与系统预设的第一阈值进行比较生成判定结果,进而,根据判定结果来确定目标存储设备针对业务#1的存储状态是亚健康状态还是健康状态。
该第一阈值可以根据系统针对于响应时延的要求的高低来确定:若系统对于存储数据的响应时延要求较高,该第一阈值可以设置较小;若系统对于存储数据的响应时延要求较低,该第一阈值可以设置较大。
为了方便描述,以上述表1中存储设备③作为目标存储设备,存储设备①、存储设备②、存储设备④和存储设备⑤作为参考存储设备,由上述五种存储设备的相关数据来说明本发明实施例的该目标存储设备确定该目标存储设备针对业务#1的存储状态是否为亚健康状态的具体实施过程。
如表1所示,根据上述结果可以看出,存储设备①对应的时长为最小时长,则存储设备③对应的时长与最小时长的差值为470ms,差值小于第一阈值,该目标存储设备确定该目标存储设备针对业务#1的存储状态是否为亚健康状态的方式有两种:即,一种是直接根据此次判定结果确定目标存储设备针对业务#1的存储状态是否为亚健康状态,一种是间接根据此次判定结果确定目标存储设备针对业务#1的存储状态是否为亚健康状态。
(1)该目标存储设备根据此次判定结果直接确定目标存储设备针对业务#1的存储状态是否为亚健康状态
若目标存储设备存储数据#1时得到的时长与最小时长的差值小于第一阈值,则判定结果为该目标存储设备针对业务#1的存储状态为健康状态;
若目标存储设备存储数据#1时得到的时长与最小时长的差值大于或等于第一阈值,则判定结果为该目标存储设备针对业务#1的存储状态为亚健康状态。
在此种情况下,判定结果就是目标存储设备确定的自己针对业务#1的存储状态是否为亚健康状态的最终结果。如表1所示,存储设备③对应的差值小于第一阈值,那么,存储设备③针对业务#1的存储状态为亚健康状态。
利用这种方式确定该目标存储设备针对业务#1的存储状态是否为亚健康状态时,可以将监控周期的时长设置的相对较长,提高确定的准确性。
(2)该目标存储设备根据此次判定结果间接确定目标存储设备针对业务#1的存储状态是否为亚健康状态
可选地,该目标存储设备确定第三时长指示信息,该第三时长指示信息用于指示该目标存储设备在存储该第一业务的第三数据时得到的时长;
该目标存储设获取至少一个第四时长指示信息,该至少一个第四时长指示信息与至少一个参考存储设备一一对应,该至少一个参考存储设备是该至少两个存储设备中除该目标存储设备之外的存储设备,每个第四时长指示信息用于指示所对应的参考存储设备在存储该第三数据时得到的时长;以及
该目标存储设备根据该第一时长指示信息和该至少一个第二时长信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态,包括:
该目标存储设备根据该第一时长指示信息、该至少一个第二指示信息、该第三时长指示信息和该至少一个第四时长指示信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态。
具体地,网络的不稳定性以及监控周期较短等因素,使得存储设备在存储数据过程中得到的时长或确定过程出现错误,从而导致该目标存储设备在确定该目标存储设备针对业务#1的存储状态是否为亚健康状态时出现错误,为了避免上述问题,该目标存储设备通过数据#1得到的该目标存储设备在存储数据#1时得到的时长与最小时长的差值后,与第一阈值进行比较后,可以立即得出确定结果。该目标存储设备可以根据业务#1中的两批数据得到的判定结果来确定该目标存储设备针对业务#1的存储状态是否为亚健康状态,即,该目标存储设备可以基于该目标存储设备分别存储数据#2和数据#3时得到的时长来共同确定该目标存储设备针对业务#1的存储状态是否为亚健康状态。
应理解,数据#2和数据#3仅为示意性说明,该目标存储设备还可以基于更多的多批数据,获得多次判定结果,通过多次判定结果来确定该目标存储设备针对业务#1的存储状态是否为亚健康状态。
下面,详细描述该目标存储设备基于至少两批数据确定该目标存储设备针对业务#1的存储状态是否为亚健康状态的方法和过程。。
首先,目标存储设备内不仅需要设置监控周期,还需要设置设定周期,该设定周期可以为监控周期的整数倍,一个监控周期对应一批数据,例如,第一个监控周期对应数据#1,第二个监控周期对应数据#2等。
其次,时长监控模块周期性监控并且通过时长统计模块统计该目标存储设备在存储当前数据时得到的时长,在第一个监控周期内,找出最小时长,计算该目标存储设备在存储当前数据时得到的时长与最小时长的差值:若该目标存储设备对应的差值大于或等于第一阈值,则判定结果为该目标存储设备针对业务#1的存储状态为伪亚健康状态;若该目标存储设备对应的差值小于第一阈值,则判定结果为该目标存储设备针对业务#1的存储状态为健康状态。接着,在后续每个监控周期内,进行上述方法的实施。
最后,在规定的设定周期内针对每个监控周期内该目标存储设备存储不同数据得到的判定结果来综合确定该目标存储设备针对业务#1的存储状态为否为亚健康状态。具体地,判定结果有两种,一种是该目标存储设备针对监控周期内的数据的存储状态为伪亚健康状态,一种是该目标存储设备针对监控周期内的数据的存储状态为健康状态,将第一种判定结果的个数与所有判定结果的个数进行相除计算得到一个概率值,将该概率值与第二阈值进行比较,若该概率值大于或等于第二阈值,那么该存储设备针对业务#1的存储状态为亚健康状态,若该概率值小于第二阈值,那么该存储设备针对业务#1的存储状态为健康状态。
换句话说,此种方式计算的就是一个目标存储设备针对业务#1的存储状态,在设定周期内成为亚健康状态的概率估计,这样,能够更加准确地确定目标存储设备针对业务#1的存储状态来说是否处于亚健康状态。
下面,作为示例而非限定,针对上述方法的实施列举了具体例子,同样,以上述表1中存储设备③作为目标存储设备,存储设备①、存储设备②、存储设备④和存储设备⑤作为参考存储设备,存储设备③基于多批数据确定存储设备③针对业务#1的存储状态是否为亚健康状态的相关数据如上述表2所示。
表2中用于确定存储设备③针对业务#1的存储状态是否为亚健康状态的数据为数据#1,数据#3,数据#4,数据#5,且一个监控周期对应一批数据,一批数据对应一个判定结果,四个监控周期对应一个设定周期。表2所示的是存储设备③在4个监控周期内,基于所对应的4批数据得到的时长计算的相关结果。存储设备③在4个监控周期内得到了4个判定结果,其中,3个判定结果都为存储设备③针对业务#1的存储状态为伪亚健康状态,1个判定结果为存储设备③针对业务#1的存储状态为健康状态,得到的概率值为75%,大于系统预设的第二阈值,那么最终可以确定存储设备③针对业务#1的存储状态为亚健康状态。
这样,目标存储设备根据自己在存储不同数据时生成的多个判定结果来确定自己针对第一业务的存储状态是否为亚健康状态,更加有效地提高了该目标存储存储设备确定自己针对该第一业务的存储状态是否为亚健康状态的准确性。
可选地,该目标存储设备在确定该目标存储设备针对该第一业务的存储状态为亚健康状态后,针对该第一业务进行处理。
具体地,该目标存储设备针对业务#1的处理可以有三种方式:
方式1
该目标存储设备禁止或暂停针对业务#1中的数据#2的存储。
具体在方法实施过程中,该目标存储设备将自己针对数据#2的存储状态设置为不可读状态,以实现暂停或禁止针对数据#2的存储。
方式2
该目标存储设备针对业务#1进行告警。
具体地,该目标存储设备中配置有报警设备,该目标存储设备通过发送执行执行指令等相关信息来控制该目标存储设备中的报警设备发布告警信息,用于告知用户该目标存储设备针对业务#1存储状态为亚健康状态,用户在收到该告警信息后,针对该目标存储设备需要存储的业务#1进行相关操作,例如,禁止或暂停针对业务#1的后续数据的存储。
该告警信息的发布方式可以多种多样,例如,当该目标存储设备中包括声音播放设备时,可以通过声音播放设备播放预设的声音告警信息,可以是“3号存储设备有故障!!!”或“数据存储失效”等,具体告警方式本发明实施例没有限定。
此外,该告警信息还可以告知用户针对该目标存储设备进行诊断修复,以便于及时恢复针对业务#1的后续数据的存储。
方式3
该目标存储设备在确定自己针对业务#1的存储状态为亚健康状态后,将自己针对业务#1的后续数据的存储由同步方式设置为异步方式,这样,使得其他参考存储设备针对业务#1的后续数据进行正常的同步存储,完成业务#1中还未存储的数据首先在存储设备#2中的存储,随后,在该目标存储设备中将未存储的数据进行定期存储,可以继续由主机设备发送I/O写请求实现数据的存储,也可以直接复制其他参考存储设备#2中已经存储的数据。
该目标存储设备将自己针对业务#1的后续数据的存储由同步方式设置为异步方式的具体实现方式有多种,例如,可以降低该目标存储设备针对业务#1的数据的存储的优先级等。
这样,目标存储设备在确定自己针对第一业务的存储状态为亚健康状态后,针对该第一业务进行相关处理,可以有效地实现该目标存储设备与其他参考存储设备之间针对该第一业务中的第二数据的异步存储,提高了存储效率。
因此,本发明实施例提供的存储数据的方法,一方面,目标存储设备根据用于指示自己在存储第一业务中的第一数据时得到的时长的第一指示信息和至少一个用于指示对应的参考存储设备在存储该第一数据时得到的时长的第二指示信息,可以有效地确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态;
另一方面,目标存储设备根据自己在存储不同数据时生成的多个判定结果来确定自己针对第一业务的存储状态是否为亚健康状态,更加有效地提高了该目标存储存储设备确定自己针对该第一业务的存储状态是否为亚健康状态的准确性;
再一方面,目标存储设备在确定自己针对第一业务的存储状态为亚健康状态后,针对该第一业务进行相关处理,可以有效地实现该目标存储设备与其他参考存储设备之间针对该第一业务中的第二数据的异步存储,提高了存储效率。
以上,结合图1至图4详细说明了本发明实施例的存储数据的方法。以下,结合图5至图8详细说明本发明实施例的存储数据的装置,方法实施例所描述的技术特征同样适用于以下装置实施例。
图5是根据本发明实施例的存储数据的装置400的示意性框图。
如图5所示,该装置400包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,该主机设备与该至少两个存储设备中的每个存储设备通信连接,该装置400包括:
确定单元410,用于确定从该至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,该第一存储设备是该至少两个存储设备中针对第一业务的存储状态为亚健康状态的存储设备,该第二存储设备是该至少两个存储设备中针对该第一业务的存储状态为健康状态的存储设备;
处理单元420,用于在该第二存储设备中存储该第一业务中的第二数据,且在接收到该第二存储设备发送的第一指示信息后,在接收到该第一存储设备发送的第二指示信息前,确定针对该第二数据的存储完成,该第一指示信息用于指示该第二存储设备完成了针对该第二数据的存储,该第二指示信息用于指示该第一存储设备完成了针对该第二数据的存储。
因此,本发明实施例提供的存储数据的装置,该装置在确定针对第一业务的存储状态为亚健康状态的第一存储设备以及在确定针对该第一业务的存储状态为健康状态的第二存储设备后,通过在该第二存储设备中进行该第一业务中的第二数据的同步存储,同时,在接收到该第二存储设备发送的用于指示该第二存储设备完成针对该第二数据的第一指示信息后,且在接收到该第一存储设备发送的用于指示该第一存储设备完成针对该第二数据的第二指示信息前,就确定该数据存储系统完成了针对该第二数据的同步存储,使得所有第一存储设备与所有第二存储设备实现了针对该第二数据的异步存储,有效地减少了该第一存储设备针对于该第一业务的较长的响应时延对于整个同步系统的影响,有效地提高了系统的响应时延。
可选地,该装置400还包括:
发送单元430,用于向该第一存储设备发送第三指示信息,该第三指示信息用于指示该第一存储设备禁止或暂停针对该第二数据的存储。
可选地,该数据存储系统还包括报警设备,以及
该装置400还包括:
控制单元440,用于在确定该第一存储设备后,控制该报警设备进行告警。
因此,该装置在确定针对于第一业务的存储状态为亚健康状态的第一存储设备后,控制该第一存储设备针对该第一业务的数据存储进行处理,能够更好地实现所有第一存储设备与所有第二存储设备间针对该第二数据的异步存储,提高了存储效率。
可选地,该装置400还包括:
获取单元450,用于获取至少两个第四指示信息,该至少两个第四指示信息与该至少两个存储设备一一对应,每个第四指示信息用于指示所对应的存储设备在存储该第一业务中的第一数据时得到的时长;以及,
该确定单元410具体用于:
根据该获取单元450获取的至少两个第四指示信息,从该至少两个存储设备中确定该第一存储设备和该第二存储设备。
因此,该装置根据至少两个用于指示所对应的存储设备在存储第一业务中的第一数据时得到的时长的第四指示信息,可以有效地确定每个存储设备的类型。
可选地,该获取单元450还用于:
获取至少两个第五指示信息,该至少两个地第五指示信息与该至少两个存储设备一一对应,每个第五指示信息用于指示所对应的存储设备在存储该第一业务中的第三数据时得到的时长;以及
该确定单元410具体用于:
根据该获取单元450获取的至少两个第四指示信息和至少两个第五指示信息,从该至少两个存储设备中确定该第一存储设备和该第二存储设备。
因此,该装置通过根据存储设备在存储不同数据时生成的多个判定结果来综合确定存储设备的类型,更加有效地提高了针对存储设备的类型的确定的准确性。
根据本发明实施例的存储数据的装置400可以对应于上述方法200中用于执行方法200的主机设备,且该装置400中的各单元或模块分别用于执行上述方法200中主机设备所执行的各动作或处理过程,这里,为了避免赘述,省略其详细说明。
因此,本发明实施例提供的存储数据的装置,一方面,该装置在确定针对第一业务的存储状态为亚健康状态的第一存储设备以及在确定针对该第一业务的存储状态为健康状态的第二存储设备后,通过在该第二存储设备中进行该第一业务中的第二数据的同步存储,同时,在接收到该第二存储设备发送的用于指示该第二存储设备完成针对该第二数据的第一指示信息后,且在接收到该第一存储设备发送的用于指示该第一存储设备完成针对该第二数据的第二指示信息前,就确定该数据存储系统完成了针对该第二数据的同步存储,使得所有第一存储设备与所有第二存储设备实现了针对该第二数据的异步存储,有效地减少了该第一存储设备针对于该第一业务的较长的响应时延对于整个同步系统的影响,有效地提高了系统的响应时延;
另一方面,该装置在确定针对于第一业务的存储状态为亚健康状态的第一存储设备后,控制该第一存储设备针对该第一业务的数据存储进行处理,能够更好地实现所有第一存储设备与所有第二存储设备间针对该第二数据的异步存储,提高了存储效率;
另一方面,该装置根据至少两个用于指示所对应的存储设备在存储第一业务中的第一数据时得到的时长的第四指示信息,可以有效地确定每个存储设备的类型;
再一方面,该装置通过根据存储设备在存储不同数据时生成的多个判定结果来综合确定存储设备的类型,更加有效地提高了针对存储设备的类型的确定的准确性。
图6是根据本发明实施例的存储数据的装置500的示意性框图。该装置500在包括至少一个主机设备和至少两个存储设备的数据存储设备中执行,该主机设备与该至少两个存储设备中的每个存储设备中的通信连接,且该至少两个存储设备中的每个存储设备之间能够进行通信,该装置500包括:
确定单元510,用于确定第一时长指示信息,该第一时长指示信息用于指示目标存储设备在存储该第一业务中的第一数据时得到的时长;
获取单元520,用于获取至少一个第二时长指示信息,该第二时长指示信息与至少一个参考存储设备一一对应,该至少一个参考存储设备是该至少两个存储设备中除该目标存储设备之外的存储设备,每个第二时长指示信息用于指示所对应的参考存储设备在存储该第一数据是得到的时长;
该确定单元510还用于,根据该确定单元510确定的该第一时长指示信息和该获取单元520获取的该至少一个第二时长指示信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态。
因而,该装置根据用于指示目标存储设备在存储第一业务中的第一数据时得到的时长的第一指示信息和至少一个用于指示对应的参考存储设备在存储该第一数据时得到的时长的第二指示信息,可以有效地确定目标存储设备针对该第一业务的存储状态是否为亚健康状态。
可选地,该第一时长指示信息用于指示的时长为该目标存储设备在存储该第一数据时针对该第一数据中的多组数据进行处理得到的输入输出I/O平均存储时延,该每个第二时长指示信息用于指示的时长为所对应的参考存储设备在存储该第一数据时针对该第一数据中的多组数据进行处理得到的I/O平均存储时延。
可选地,该确定单元510具体用于:
从该确定单元510确定的该第一时长指示信息所指示的时长和该获取单元520获取的该每个第二时长指示信息所指示的时长中,确定最小时长;
计算该第一时长指示信息所指示的时长和该最小时长之间的差值;
根据该差值和第一阈值,生成判定结果,该判定结果用于确定该目标存储设备针对该第一业务的存储状态是亚健康状态还是健康状态。
可选地,,该确定单元510还用于:
确定第三时长指示信息,该第三时长指示信息用于指示该目标存储设备在存储该第一业务的第三数据时得到的时长;
该获取单元520还用于:
获取至少一个第四时长指示信息,该至少一个第四时长指示信息与该至少一个参考存储设备一一对应,该至少一个参考存储设备是该至少两个存储设备中除该目标存储设备之外的存储设备,每个第四时长指示信息用于指示所对应的参考存储设备在存储该第三数据时得到的时长;以及
该确定单元510具体用于:
根据该确定单元510确定的该第一时长指示信息、该获取单元520获取的该至少一个第二时长指示信息、该确定单元510确定的该第三时长指示信息和该获取单元520获取的该至少一个第四时长指示信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态。
因此,该装置根据目标存储设备在存储不同数据时生成的多个判定结果来确定该目标存储设备针对第一业务的存储状态是否为亚健康状态,更加有效地提高了该目标存储存储设备确定自己针对该第一业务的存储状态是否为亚健康状态的准确性。
可选地,该装置500还包括:
处理单元530,用于在该确定单元510确定该目标存储设备针对该第一业务的存储状态为亚健康状态后,针对该第一业务进行处理。
因此,该装置在确定目标存储设备针对第一业务的存储状态为亚健康状态后,针对该第一业务进行相关处理,可以有效地实现该目标存储设备与其他参考存储设备之间针对该第一业务中的第二数据的异步存储,提高了存储效率。
可选地,该处理单元530具体用于:
禁止或暂停针对该第一业务中的第二数据的存储;或
针对该第一业务进行告警;或
降低该第一业务的优先级。
根据本发明实施例的存储数据的装置500可以对应于上述方法300中用于执行方法300的目标存储设备,且该装置500中的各单元或模块分别用于执行上述方法300中目标存储设备所执行的各动作或处理过程,这里,为了避免赘述,省略其详细说明。
因此,本发明实施例提供的存储数据的装置,一方面,该装置根据用于指示目标存储设备在存储第一业务中的第一数据时得到的时长的第一指示信息和至少一个用于指示对应的参考存储设备在存储该第一数据时得到的时长的第二指示信息,可以有效地确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态;
另一方面,该装置根据目标存储设备在存储不同数据时生成的多个判定结果来确定目标存储设备针对第一业务的存储状态是否为亚健康状态,有效地提高了该目标存储存储设备确定自己针对该第一业务的存储状态是否为亚健康状态的准确性;
再一方面,该装置在确定目标存储设备针对第一业务的存储状态为亚健康状态后,针对该第一业务进行相关处理,可以有效地实现该目标存储设备与其他参考存储设备之间针对该第一业务中的第二数据的异步存储,提高了存储效率。
图7示出了根据本发明实施例的主机设备600的示意性结构图。如图7所示,该主机设备600包括通信接口610、处理器620、存储器630和总线系统640。其中,该通信接口610、该处理器620和该存储器630通过该总线系统640相连,该存储器630用于存储指令,该处理器620用于执行该存储器630存储的指令。
数据存储系统包括该主机设备600和至少两个存储设备,该主机设备600与该至少两个存储设备中的每个存储设备通信连接。
其中,该处理器620用于确定从该至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,该第一存储设备是该至少两个存储设备中针对第一业务的存储状态为亚健康状态的存储设备,该第二存储设备是该至少两个存储设备中针对该第一业务的存储状态为健康状态的存储设备;
该处理器620还用于,在该第二存储设备中存储该第一业务中的第二数据,且在接收到该第二存储设备发送的第一指示信息后,在接收到该第一存储设备发送的第二指示信息前,确定针对该第二数据的存储完成,该第一指示信息用于指示该第二存储设备完成了针对该第二数据的存储,该第二指示信息用于指示该第一存储设备完成了针对该第二数据的存储。
因此,该设备在确定针对第一业务的存储状态为亚健康状态的第一存储设备以及在确定针对该第一业务的存储状态为健康状态的第二存储设备后,通过在该第二存储设备中进行该第一业务中的第二数据的同步存储,同时,在接收到该第二存储设备发送的用于指示该第二存储设备完成针对该第二数据的第一指示信息后,且在接收到该第一存储设备发送的用于指示该第一存储设备完成针对该第二数据的第二指示信息前,就确定该数据存储系统完成了针对该第二数据的同步存储,使得所有第一存储设备与所有第二存储设备实现了针对该第二数据的异步存储,有效地减少了该第一存储设备针对于该第一业务的较长的响应时延对于整个同步系统的影响,有效地提高了系统的响应时延。
可选地,该通信接口610用于向该第一存储设备发送第三指示信息,该第三指示信息用于指示该第一存储设备禁止或暂停针对该第二数据的存储。
可选地,该数据存储系统还包括报警设备,以及
该处理器620还用于,在确定该第一存储设备后,控制该报警设备进行告警。
因此,该设备在确定针对于第一业务的存储状态为亚健康状态的第一存储设备后,控制该第一存储设备针对该第一业务的数据存储进行处理,能够更好地实现所有第一存储设备与所有第二存储设备间针对该第二数据的异步存储,提高了存储效率。
可选地,该处理器620还用于,获取至少两个第四指示信息,该至少两个第四指示信息与该至少两个存储设备一一对应,每个第四指示信息用于指示所对应的存储设备在存储该第一业务中的第一数据时得到的时长;
该处理器620具体用于,根据该至少两个第四指示信息,从该至少两个存储设备中确定该第一存储设备和该第二存储设备。
因此,该设备根据至少两个用于指示所对应的存储设备在存储第一业务中的第一数据时得到的时长的第四指示信息,可以有效地确定每个存储设备的类型。
可选地,该处理器620还用于,获取至少两个第五指示信息,该至少两个第五指示信息与该至少两个存储设备一一对应,每个第五指示信息用于指示所对应的存储设备在存储该第一业务中的第三数据时得到的时长;
该处理器620具体用于,根据该至少两个第四指示信息和该至少两个第五指示信息,从该至少两个存储设备中确定该第一存储设备和该第二存储设备。
因此,该设备通过根据存储设备在存储不同数据时生成的多个判定结果来综合确定存储设备的类型,更加有效地提高了针对存储设备的类型的确定的准确性。
应理解,在本发明实施例中,该处理器620可以是中央处理单元(centralprocessing unit,简称为“CPU”),该处理器620还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器630可以包括只读存储器和随机存取存储器,并向处理器830提供指令和数据。存储器630的一部分还可以包括非易失性随机存取存储器。例如,存储器640还可以存储设备类型的信息。
该总线系统640除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统650。
该通信接口610用于主机设备600与其他设备(例如数据存储系统中的存储设备)进行数据交互。通信接口610可以是以下的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
在实现过程中,上述方法的各步骤可以通过处理器620中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的定位方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器620中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器630,处理器620读取存储器630中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的主机设备600可以对应于上述方法200中用于执行方法200的主机设备,以及根据本发明实施例的存储数据的装置400,且该主机设备600中的各单元或模块分别用于执行上述方法200中主机设备所执行的各动作或处理过程,这里,为了避免赘述,省略其详细说明。
因此,本发明实施例提供的主机设备,一方面,该主机设备在确定针对第一业务的存储状态为亚健康状态的第一存储设备以及在确定针对该第一业务的存储状态为健康状态的第二存储设备后,通过在该第二存储设备中进行该第一业务中的第二数据的同步存储,同时,在接收到该第二存储设备发送的用于指示该第二存储设备完成针对该第二数据的第一指示信息后,且在接收到该第一存储设备发送的用于指示该第一存储设备完成针对该第二数据的第二指示信息前,就确定该数据存储系统完成了针对该第二数据的同步存储,使得所有第一存储设备与所有第二存储设备实现了针对该第二数据的异步存储,有效地减少了该第一存储设备针对于该第一业务的较长的响应时延对于整个同步系统的影响,有效地提高了系统的响应时延;
另一方面,该主机设备在确定针对于第一业务的存储状态为亚健康状态的第一存储设备后,控制该第一存储设备针对该第一业务的数据存储进行处理,能够更好地实现所有第一存储设备与所有第二存储设备间针对该第二数据的异步存储,提高了存储效率;
另一方面,该主机设备根据至少两个用于指示所对应的存储设备在存储第一业务中的第一数据时得到的时长的第四指示信息,可以有效地确定每个存储设备的类型;
再一方面,该主机设备通过根据存储设备在存储不同数据时生成的多个判定结果来综合确定存储设备的类型,更加有效地提高了针对存储设备的类型的确定的准确性。
图8示出了根据本发明实施例的存储设备700的示意性结构图。如图8所示,该存储设备700包括通信接口710、处理器720、存储器730和总线系统740。其中,该通信接口710、该处理器720和该存储器730通过该总线系统740相连,该存储器730用于存储指令,该处理器720用于执行该存储器730存储的指令。
数据存储系统包括该主机设备和至少两个存储设备700,该主机设备与该至少两个存储设备700中的每个存储设备中的通信连接,且该至少两个存储设备中的每个存储设备之间能够进行通信。
在本发明实施例中,下述目标存储设备可以理解为存储设备700。
其中,该处理器720用于确定第一时长指示信息,该第一时长指示信息用于指示目标存储设备在存储该第一业务中的第一数据时得到的时长;
该处理器720还用于:
获取至少一个第二时长指示信息,该第二时长指示信息与至少一个参考存储设备一一对应,该至少一个参考存储设备是该至少两个存储设备中除该目标存储设备之外的存储设备,每个第二时长指示信息用于指示所对应的参考存储设备在存储该第一数据是得到的时长;
该处理器720还用于:
根据该第一时长指示信息和该至少一个第二时长指示信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态。
因而,该设备根据用于指示目标存储设备在存储第一业务中的第一数据时得到的时长的第一指示信息和至少一个用于指示对应的参考存储设备在存储该第一数据时得到的时长的第二指示信息,可以有效地确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态。
可选地,该第一时长指示信息用于指示的时长为该目标存储设备在存储该第一数据时针对该第一数据中的多组数据进行处理得到的输入输出I/O平均存储时延,该每个第二时长指示信息用于指示的时长为所对应的参考存储设备在存储该第一数据时针对该第一数据中的多组数据进行处理得到的I/O平均存储时延。
可选地,该处理器720具体用于:
从该第一时长指示信息所指示的时长和该每个第二时长指示信息所指示的时长中,确定最小时长;
计算该第一时长指示信息所指示的时长和该最小时长之间的差值;
根据该差值和第一阈值,生成判定结果,该判定结果用于确定该目标存储设备针对该第一业务的存储状态是亚健康状态还是健康状态。
可选地,该处理器720还用于:
确定第三时长指示信息,该第三时长指示信息用于指示该目标存储设备在存储该第一业务的第三数据时得到的时长;
该处理器720还用于:
获取至少一个第四时长指示信息,该至少一个第四时长指示信息与该至少一个参考存储设备一一对应,该至少一个参考存储设备是该至少两个存储设备中除该目标存储设备之外的存储设备,每个第四时长指示信息用于指示所对应的参考存储设备在存储该第三数据时得到的时长;以及
该处理器720具体用于:
根据该第一时长指示信息、该至少一个第二时长指示信息、该第三时长指示信息和该至少一个第四时长指示信息,确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态。
因此,该设备根据目标存储设备在存储不同数据时生成的多个判定结果来确定自己针对第一业务的存储状态是否为亚健康状态,有效地提高了该设备确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态的准确性。
可选地,该处理器720还用于:
在确定该目标存储设备针对该第一业务的存储状态为亚健康状态后,针对该第一业务进行处理。
因此,该设备在确定目标存储设备针对第一业务的存储状态为亚健康状态后,针对该第一业务进行相关处理,可以有效地实现该目标存储设备与其他参考存储设备之间针对该第一业务中的第二数据的异步存储,提高了存储效率。
可选地,该处理器720具体用于:
禁止或暂停针对该第一业务中的第二数据的存储;或
针对该第一业务进行告警;或
降低该第一业务的优先级。
应理解,在本发明实施例中,该处理器720可以是中央处理单元(centralprocessing unit,简称为“CPU”),该处理器720还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器730可以包括只读存储器和随机存取存储器,并向处理器720提供指令和数据。存储器730的一部分还可以包括非易失性随机存取存储器。例如,存储器730还可以存储设备类型的信息。
该总线系统740除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统740。
通信接口710用于存储设备700与其他设备(例如数据存储系统中的主机设备和其它存储设备700)进行数据交互。通信接口710可以是以下的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
在实现过程中,上述方法的各步骤可以通过处理器720中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的定位方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器730,处理器720读取存储器730中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
根据本发明实施例的存储设备700可以对应于上述方法300中用于执行方法300的目标存储设备,以及根据本发明实施例的存储数据的装置500,且该存储设备700中的各单元或模块分别用于执行上述方法300中目标存储设备所执行的各动作或处理过程,这里,为了避免赘述,省略其详细说明。
因此,本发明实施例提供的存储设备,一方面,该存储设备根据用于指示目标存储设备在存储第一业务中的第一数据时得到的时长的第一指示信息和至少一个用于指示对应的参考存储设备在存储该第一数据时得到的时长的第二指示信息,可以有效地确定该目标存储设备针对该第一业务的存储状态是否为亚健康状态;
另一方面,该存储设备根据目标存储设备在存储不同数据时生成的多个判定结果来确定目标存储设备针对第一业务的存储状态是否为亚健康状态,更加有效地提高了该目标存储存储设备确定自己针对该第一业务的存储状态是否为亚健康状态的准确性;
再一方面,该存储设备在确定目标存储设备针对第一业务的存储状态为亚健康状态后,针对该第一业务进行相关处理,可以有效地实现目标存储设备与其他参考存储设备之间针对该第一业务中的第二数据的异步存储,提高了存储效率。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络侧设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种存储数据的方法,其特征在于,在包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,所述主机设备与所述至少两个存储设备中的每个存储设备通信连接,所述方法包括:
所述主机设备从所述至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,所述第一存储设备是所述至少两个存储设备中针对第一业务的存储状态为亚健康状态的存储设备,所述第二存储设备是所述至少两个存储设备中针对所述第一业务的存储状态为健康状态的存储设备;
所述主机设备在所述第二存储设备中存储所述第一业务中的第二数据,且在接收到所述第二存储设备发送的第一指示信息后,在接收到所述第一存储设备发送的第二指示信息前,确定针对所述第二数据的存储完成,所述第一指示信息用于指示所述第二存储设备完成了针对所述第二数据的存储,所述第二指示信息用于指示所述第一存储设备完成了针对所述第二数据的存储。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主机设备向所述第一存储设备发送第三指示信息,所述第三指示信息用于指示所述第一存储设备禁止或暂停针对所述第二数据的存储。
3.根据权利要求1或2所述的方法,其特征在于,所述数据存储系统还包括报警设备,以及
所述方法还包括:
所述主机设备在确定所述第一存储设备之后,控制所述报警设备进行告警。
4.根据权利要求1或2所述的方法,其特征在于,所述主机设备从所述至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,包括:
所述主机设备获取至少两个第四指示信息,所述至少两个第四指示信息与所述至少两个存储设备一一对应,每个第四指示信息用于指示所对应的存储设备在存储所述第一业务中的第一数据时得到的时长;
所述主机设备根据所述至少两个第四指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述主机设备获取至少两个第五指示信息,所述至少两个第五指示信息与所述至少两个存储设备一一对应,每个第五指示信息用于指示所对应的存储设备在存储所述第一业务中的第三数据时得到的时长;以及
所述主机设备根据所述至少两个第四指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备,包括:
所述主机设备根据所述至少两个第四指示信息和所述至少两个第五指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备。
6.一种存储数据的方法,其特征在于,在包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,所述主机设备与所述至少两个存储设备中的每个存储设备通信连接,且所述至少两个存储设备中的每个存储设备之间能够进行通信,所述方法包括:
目标存储设备确定第一时长指示信息,所述第一时长指示信息用于指示所述目标存储设备在存储第一业务中的第一数据时得到的时长;
所述目标存储设备获取至少一个第二时长指示信息,所述至少一个第二时长指示信息与至少一个参考存储设备一一对应,所述至少一个参考存储设备是所述至少两个存储设备中除所述目标存储设备之外的存储设备,每个第二时长指示信息用于指示所对应的参考存储设备在存储所述第一数据时得到的时长;
所述目标存储设备根据所述第一时长指示信息和所述至少一个第二时长指示信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态。
7.根据权利要求6所述的方法,其特征在于,所述第一时长指示信息用于指示的时长为所述目标存储设备在存储所述第一数据时针对所述第一数据中的多组数据进行处理得到的输入输出I/O平均存储时延,所述每个第二时长指示信息用于指示的时长为所对应的参考存储设备在存储所述第一数据时针对所述第一数据中的多组数据进行处理得到I/O平均存储时延。
8.根据权利要求6或7所述的方法,其特征在于,所述目标存储设备根据所述第一时长指示信息和所述第二时长信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态,包括:
所述目标存储设备从所述第一时长指示信息所指示的时长和所述每个第二时长指示信息所指示的时长中,确定最小时长;
所述目标存储设备计算所述第一时长指示信息所指示的时长和所述最小时长之间的差值;
所述目标存储设备根据所述差值和第一阈值,生成判定结果,所述判定结果用于确定所述目标存储设备针对所述第一业务的存储状态是亚健康状态还是健康状态。
9.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述目标存储设备确定第三时长指示信息,所述第三时长指示信息用于指示所述目标存储设备在存储所述第一业务的第三数据时得到的时长;
所述目标存储设获取至少一个第四时长指示信息,所述至少一个第四时长指示信息与至少一个参考存储设备一一对应,所述至少一个参考存储设备是所述至少两个存储设备中除所述目标存储设备之外的存储设备,每个第四时长指示信息用于指示所对应的参考存储设备在存储所述第三数据时得到的时长;以及
所述目标存储设备根据所述第一时长指示信息和所述至少一个第二时长信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态,包括:
所述目标存储设备根据所述第一时长指示信息、所述至少一个第二指示信息、所述第三时长指示信息和所述至少一个第四时长指示信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态。
10.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述目标存储设备在确定所述目标存储设备针对所述第一业务的存储状态为亚健康状态后,针对所述第一业务进行处理。
11.根据权利要求10所述的方法,其特征在于,所述目标存储设备在确定所述目标存储设备针对所述第一业务的存储状态为亚健康状态后,针对所述第一业务进行处理,包括:
所述目标存储设备禁止或暂停针对所述第一业务中的第二数据的存储;或
所述目标存储设备针对所述第一业务进行告警;或
所述目标存储设备降低所述第一业务的优先级。
12.一种存储数据的装置,其特征在于,在包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,所述主机设备与所述至少两个存储设备中的每个存储设备通信连接,所述装置包括:
确定单元,用于确定从所述至少两个存储设备中确定至少一个第一存储设备和至少一个第二存储设备,所述第一存储设备是所述至少两个存储设备中针对第一业务的存储状态为亚健康状态的存储设备,所述第二存储设备是所述至少两个存储设备中针对所述第一业务的存储状态为健康状态的存储设备;
处理单元,用于在所述第二存储设备中存储所述第一业务中的第二数据,且在接收到所述第二存储设备发送的第一指示信息后,在接收到所述第一存储设备发送的第二指示信息前,确定针对所述第二数据的存储完成,所述第一指示信息用于指示所述第二存储设备完成了针对所述第二数据的存储,所述第二指示信息用于指示所述第一存储设备完成了针对所述第二数据的存储。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
发送单元,用于向所述第一存储设备发送第三指示信息,所述第三指示信息用于指示所述第一存储设备禁止或暂停针对所述第二数据的存储。
14.根据权利要求12或13所述的装置,其特征在于,所述数据存储系统还包括报警设备,以及
所述装置还包括:
控制单元,用于在确定所述第一存储设备后,控制所述报警设备进行告警。
15.根据权利要求12或13所述的装置,其特征在于,所述装置还包括:
获取单元,用于获取至少两个第四指示信息,所述至少两个第四指示信息与所述至少两个存储设备一一对应,每个第四指示信息用于指示所对应的存储设备在存储所述第一业务中的第一数据时得到的时长;以及,
所述确定单元具体用于:
根据所述获取单元获取的至少两个第四指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备。
16.根据权利要求15所述的装置,其特征在于,所述获取单元还用于:
获取至少两个第五指示信息,所述至少两个地第五指示信息与所述至少两个存储设备一一对应,每个第五指示信息用于指示所对应的存储设备在存储所述第一业务中的第三数据时得到的时长;以及
所述确定单元具体用于:
根据所述获取单元获取的至少两个第四指示信息和所述至少两个第五指示信息,从所述至少两个存储设备中确定所述第一存储设备和所述第二存储设备。
17.一种存储数据的装置,其特征在于,在包括至少一个主机设备和至少两个存储设备的数据存储系统中执行,所述主机设备与所述至少两个存储设备中的每个存储设备中的通信连接,且所述至少两个存储设备中的每个存储设备之间能够进行通信,所述装置包括:
确定单元,用于确定第一时长指示信息,所述第一时长指示信息用于指示目标存储设备在存储第一业务中的第一数据时得到的时长;
获取单元,用于获取至少一个第二时长指示信息,所述第二时长指示信息与至少一个参考存储设备一一对应,所述至少一个参考存储设备是所述至少两个存储设备中除所述目标存储设备之外的存储设备,每个第二时长指示信息用于指示所对应的参考存储设备在存储所述第一数据是得到的时长;
所述确定单元还用于,根据所述确定单元确定的第一时长指示信息和所述获取单元获取的所述至少一个第二时长指示信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态。
18.根据权利要求17所述的装置,其特征在于,所述第一时长指示信息用于指示的时长为所述目标存储设备在存储所述第一数据时针对所述第一数据中的多组数据进行处理得到的输入输出I/O平均存储时延,所述每个第二时长指示信息用于指示的时长为所对应的参考存储设备在存储所述第一数据时针对所述第一数据中的多组数据进行处理得到的I/O平均存储时延。
19.根据权利要求17或18所述的装置,其特征在于,所述确定单元具体用于:
从所述确定单元确定的所述第一时长指示信息所指示的时长和所述获取单元获取的所述每个第二时长指示信息所指示的时长中,确定最小时长;
计算所述第一时长指示信息所指示的时长和所述最小时长之间的差值;
根据所述差值和第一阈值,生成判定结果,所述判定结果用于确定所述目标存储设备针对所述第一业务的存储状态是亚健康状态还是健康状态。
20.根据权利要求17或18所述的装置,其特征在于,所述确定单元还用于:
确定第三时长指示信息,所述第三时长指示信息用于指示所述目标存储设备在存储所述第一业务的第三数据时得到的时长;
所述获取单元还用于:
获取至少一个第四时长指示信息,所述至少一个第四时长指示信息与所述至少一个参考存储设备一一对应,所述至少一个参考存储设备是所述至少两个存储设备中除所述目标存储设备之外的存储设备,每个第四时长指示信息用于指示所对应的参考存储设备在存储所述第三数据时得到的时长;以及
所述确定单元具体用于:
根据所述确定单元确定的所述第一时长指示信息、所述获取单元获取的所述至少一个第二时长指示信息、所述确定单元确定的所述第三时长指示信息和所述获取单元获取的所述至少一个第四时长指示信息,确定所述目标存储设备针对所述第一业务的存储状态是否为亚健康状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611090502.3A CN106708431B (zh) | 2016-12-01 | 2016-12-01 | 一种存储数据的方法、装置、主机设备和存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611090502.3A CN106708431B (zh) | 2016-12-01 | 2016-12-01 | 一种存储数据的方法、装置、主机设备和存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708431A CN106708431A (zh) | 2017-05-24 |
CN106708431B true CN106708431B (zh) | 2020-02-14 |
Family
ID=58934420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611090502.3A Active CN106708431B (zh) | 2016-12-01 | 2016-12-01 | 一种存储数据的方法、装置、主机设备和存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708431B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113544636B (zh) * | 2019-03-12 | 2024-05-03 | 华为云计算技术有限公司 | 亚健康节点的管理方法和装置 |
WO2021217536A1 (en) * | 2020-04-30 | 2021-11-04 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for health evaluation of storage medium |
CN115129236A (zh) * | 2021-03-29 | 2022-09-30 | 华为技术有限公司 | 一种双活存储系统的管理方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123198A (zh) * | 2013-04-28 | 2014-10-29 | 国际商业机器公司 | 管理数据复制模式的方法和装置 |
CN105843557A (zh) * | 2016-03-24 | 2016-08-10 | 天津书生云科技有限公司 | 冗余存储系统、冗余存储方法和冗余存储装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9729631B2 (en) * | 2011-09-30 | 2017-08-08 | Apple Inc. | Asynchronous data manipulation |
-
2016
- 2016-12-01 CN CN201611090502.3A patent/CN106708431B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123198A (zh) * | 2013-04-28 | 2014-10-29 | 国际商业机器公司 | 管理数据复制模式的方法和装置 |
CN105843557A (zh) * | 2016-03-24 | 2016-08-10 | 天津书生云科技有限公司 | 冗余存储系统、冗余存储方法和冗余存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106708431A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11119874B2 (en) | Memory fault detection | |
CN106708431B (zh) | 一种存储数据的方法、装置、主机设备和存储设备 | |
CN109165138B (zh) | 一种监控设备故障的方法和装置 | |
CN107817950B (zh) | 一种数据处理方法及装置 | |
WO2021027481A1 (zh) | 故障处理方法、装置、计算机设备、存储介质及存储系统 | |
EP3321807B1 (en) | Disk detection method and device | |
EP3349118B1 (en) | Bus hang detection and find out | |
CN104778111A (zh) | 一种进行报警的方法和装置 | |
US10432455B2 (en) | Distributed processing system, data processing method, and control node device | |
US20200033928A1 (en) | Method of periodically recording for events | |
KR20080058454A (ko) | 분산 모니터링 방법 | |
CN111913669B (zh) | Ssd掉电速度提高方法、装置、计算机设备及存储介质 | |
CN111124981B (zh) | 一种服务器i2c设备的管理系统及方法 | |
US20240053812A1 (en) | Power supply control method and apparatus, and server and non-volatile storage medium | |
WO2017092260A1 (zh) | 一种移动终端行为上报方法和装置 | |
TW201516652A (zh) | 強健硬體/軟體錯誤回復系統 | |
CN102799212B (zh) | 用于多核多处理器并行系统的全局时钟系统及其使用方法 | |
CN108958965A (zh) | 一种bmc监控可恢复ecc错误的方法、装置及设备 | |
CN112711559B (zh) | 串行中断方法、设备、串行中断处理方法以及处理器 | |
CN106294364B (zh) | 实现网络爬虫抓取网页的方法和装置 | |
US10228882B2 (en) | Semiconductor device and memory access control method | |
CN110752972A (zh) | 一种网卡状态监控方法、装置、设备及介质 | |
US11262834B1 (en) | Data processing system and method for monitoring system properties | |
CN111475378B (zh) | 一种扩展器Expander的监控方法、装置及设备 | |
JP2016012283A (ja) | 情報処理装置、情報処理システム及び割込装置制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |