发明内容
本发明的实施例提供一种数据处理的方法和设备,以降低由于硬盘的工作负荷过高而造成的硬盘失效率高的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据处理的方法,包括:
硬盘控制设备获取控制时间段内硬盘的工作时间;其中,所述控制时间段为所述控制时间段标记的起始时刻至所述硬盘控制设备确定要将从数据处理设备获取的当前数据处理请求消息发送至所述硬盘的时刻之间的时间段;
在确定所述控制时间段和所述硬盘的工作时间满足预设条件时,获取执行等待时间;
在达到所述执行等待时间后,将所述当前数据处理请求消息发送至所述硬盘,以便所述硬盘根据所述当前数据处理请求消息进行数据处理。
在第一方面第一种可能的实现方式中,所述在确定所述控制时间段和所述硬盘的工作时间满足预设条件时,获取执行等待时间包括:
在确定所述控制时间段小于预设控制时间段且所述控制时间段内硬盘的工作时间大于或等于硬盘的预设工作时间时,获取所述执行等待时间;
在确定所述控制时间段大于或等于预设控制时间段且所述硬盘的当前工作负荷大于所述硬盘的预设工作负荷时,获取所述执行等待时间,其中,所述硬盘的当前工作负荷为所述控制时间段内硬盘的工作时间与所述控制时间段的比值;所述硬盘的预设工作负荷为所述硬盘的预设工作时间与预设控制时间段的比值。
结合第一方面第一种可能的实现方式中,在第二种可能的实现方式中,所述获取执行等待时间包括:
根据公式:
得到所述执行等待时间;其中,Tw为所述执行等待时间,TP为所述控制时间段,TA为所述控制时间段内硬盘的工作时间,TPMax为所述预设控制时间段,TAMax为所述硬盘的预设工作时间。
结合第一方面至第二种可能的实现方式中的任一项,在第三种可能的实现方式中,在所述获取执行等待时间前,所述方法还包括:
确定所述硬盘是否处于空闲状态;
所述获取执行等待时间包括:在确定所述硬盘处于空闲状态时,获取执行等待时间。
结合第一方面至第三种可能的实现方式中的任一项,在第四种可能的实现方式中,在所述将所述当前数据处理请求消息发送至所述硬盘后,所述方法还包括:
记录第一时间;
在所述硬盘根据所述当前数据处理请求消息完成数据处理后,接收所述硬盘发送的请求响应消息;
在接收到所述请求响应消息后,记录第二时间,并根据所述第一时间和所述第二时间确定对应所述当前数据处理请求消息的硬盘的工作时间。
结合第一方面至第四种可能的实现方式中的任一项,在第五种可能的实现方式中,在确定所述控制时间段和所述硬盘的工作时间不满足预设条件时,将所述当前数据处理请求消息发送至所述硬盘,以便所述硬盘根据所述当前数据处理请求消息进行数据处理。
第二方面,提供一种硬盘控制设备,包括:
检测单元,用于获取控制时间段内硬盘的工作时间;其中,所述控制时间段为所述控制时间段标记的起始时刻至所述硬盘控制设备确定要将从数据处理设备获取的当前数据处理请求消息发送至所述硬盘的时刻之间的时间段;
决策单元,用于在确定所述检测单元获取的所述控制时间段和所述硬盘的工作时间满足预设条件时,获取执行等待时间;
执行单元,用于在达到所述决策单元获取的执行等待时间后,将所述当前数据处理请求消息发送至所述硬盘,以便所述硬盘根据所述当前数据处理请求消息进行数据处理。
在第二方面第一种可能的实现方式中,所述决策单元具体用于,在确定所述控制时间段小于预设控制时间段且所述控制时间段内硬盘的工作时间大于或等于硬盘的预设工作时间时,获取所述执行等待时间;
在确定所述控制时间段大于或等于预设控制时间段且所述硬盘的当前工作负荷大于所述硬盘的预设工作负荷时,获取所述执行等待时间,其中,所述硬盘的当前工作负荷为所述控制时间段内硬盘的工作时间与所述控制时间段的比值;所述硬盘的预设工作负荷为所述硬盘的预设工作时间与预设控制时间段的比值。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述决策单元具体用于,根据公式:
得到所述执行等待时间;其中,Tw为所述执行等待时间,TP为所述控制时间段,TA为所述控制时间段内硬盘的工作时间,TPMax为所述预设控制时间段,TAMax为所述硬盘的预设工作时间。
结合第二方面至第二种可能的实现方式中的任一项,在第三种可能的实现方式中,所述决策单元还用于,在所述获取执行等待时间前,确定所述硬盘是否处于空闲状态,并在确定所述硬盘处于空闲状态时,获取执行等待时间。
结合第二方面至第三种可能的实现方式中的任一项,在第四种可能的实现方式中,所述检测单元还用于,在所述执行单元将所述当前数据处理请求消息发送至所述硬盘后,记录第一时间,在所述硬盘根据所述当前数据处理请求消息完成数据处理后,接收所述硬盘发送的请求响应消息,并在接收到所述请求响应消息后,记录第二时间,并根据所述第一时间和所述第二时间确定对应所述当前数据处理请求消息的硬盘的工作时间。
结合第二方面至第四种可能的实现方式中的任一项,在第五种可能的实现方式中,
所述执行单元还用于,在所述决策单元确定所述控制时间段和所述硬盘的工作时间不满足预设条件时,将所述当前数据处理请求消息发送至所述硬盘,以便所述硬盘根据所述当前数据处理请求消息进行数据处理。
通过采用上述方案,硬盘控制设备获取控制时间段内硬盘的工作时间,并在确定该控制时间段和该硬盘的工作时间满足预设条件时,获取执行等待时间,并在达到该执行等待时间后,硬盘控制设备将从数据处理设备获取的当前数据处理请求消息发送至该硬盘,这样,当硬盘的工作负荷过大时,硬盘控制设备在空闲一定时间后,才会向硬盘发送当前数据处理请求消息,从而降低硬盘的工作负荷,并降低硬盘的失效率,以提高硬盘运行的可靠性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所述里提供一种数据处理的方法,如图1所示,该方法包括:
S101、硬盘控制设备获取控制时间段内硬盘的工作时间。
其中,该控制时间段为该控制时间段标记的起始时刻至该硬盘控制设备确定要将从数据处理设备获取的当前数据处理请求消息发送至该硬盘的时刻之间的时间段。
具体地,在该控制时间段内,硬盘在接收到该硬盘控制设备发送的数据处理请求消息后,根据该数据处理请求消息进行数据处理,在该硬盘控制设备确定发送当前数据处理请求消息时,获取该硬盘在该控制时间段内的工作时间,在本发明实施例一种可能的实现方式中,硬盘控制设备在向硬盘发送数据处理请求消息后,开始记录第一时间,硬盘在接收到数据处理请求消息后,根据该数据处理请求消息进行数据处理,硬盘在处理完数据后,向硬盘控制设备发送对应该数据处理请求消息的请求响应消息,硬盘控制设备在接收到该请求响应消息后,确定该数据处理请求消息对应的数据处理完成,并记录第二时间,此时,该硬盘控制设备在向硬盘发送数据处理请求消息后的时刻(即第一时间)至该硬盘控制设备接收到该请求响应消息的时刻(即第二时间)之间的时间段即为该硬盘对应该数据处理请求消息的工作时间。
需要说明的是,硬盘控制设备在上电后,会初始化缓存的硬盘的工作时间。
S102、硬盘控制设备在确定该控制时间段和该硬盘的工作时间满足预设条件时,获取执行等待时间。
进一步地,硬盘控制设备获取执行等待时间前,还需要确定硬盘是否处于空闲状态,若确定该硬盘处于空闲状态,则获取执行等待时间,若确定该硬盘正在进行数据处理,则在该硬盘将数据处理完成后,获取执行等待时间,具体地,硬盘在数据处理完成后,向硬盘控制设备发送请求响应消息,硬盘在接收到请求响应消息后,确定对应的数据处理完成。也就是说,若确定该硬盘正在进行数据处理,硬盘控制设备需要等待一段时间直至该硬盘将数据处理完成后获取执行等待时间,此时,在获取执行等待时间的过程中,该控制时间段包括上述硬盘控制设备等待的一段时间。
具体地,该步骤S102包括以下两种情形:
情形一:在确定该控制时间段小于预设控制时间段且该控制时间段内硬盘的工作时间大于或等于硬盘的预设工作时间时,硬盘控制设备获取该执行等待时间。
情形二:在确定该控制时间段大于或等于预设控制时间段且该硬盘的当前工作负荷大于该硬盘的预设工作负荷时,硬盘控制设备获取该执行等待时间。
其中,该硬盘的当前工作负荷为该控制时间段内硬盘的工作时间与该控制时间段的比值;该硬盘的预设工作负荷为该硬盘的预设工作时间与预设控制时间段的比值。
需要说明的是,当该硬盘的当前工作负荷高于该硬盘的预设工作负荷,即表示该硬盘的在该控制时间段内的工作时间过长,造成该硬盘的失效率较高。
进一步地,硬盘控制设备根据公式:
得到所述执行等待时间;其中,Tw为所述执行等待时间,TP为所述控制时间段,TA为所述控制时间段内硬盘的工作时间,TPMax为所述预设控制时间段,TAMax为所述硬盘的预设工作时间。
例如,对于情形一,预设控制时间段为1000毫秒,预设工作时间为500毫秒,则该硬盘的预设工作负荷为500毫秒与1000毫秒的比值即50%,也就是说,当控制时间段内硬盘的工作时间与该控制时间段的比值超过50%时,则该硬盘的失效率较高。在该控制时间段的T0(即起始时刻)时刻硬盘接收到数据处理请求消息,并根据该数据处理请求消息进行处理,在T1时刻,该硬盘处理完成且处理过程持续600毫秒(即硬盘从T0时刻至T1时刻的工作时间为600毫秒),此时,若该硬盘控制设备在空闲200毫秒后的T2时刻(即硬盘从T1时刻至T2时刻的空闲时间为200毫秒),确定要将从数据处理设备获取的当前数据处理请求消息发送至所述硬盘,则该控制时间段即为T0时刻至T2时刻之间的时间段(本发明实施例中即为600毫秒加上200毫秒得到800毫秒)并确定该控制时间段小于预设控制时间段(即800毫秒小于1000毫秒)且该硬盘的工作时间大于预设工作时间(即600毫秒大于500毫秒),此时,硬盘控制设备根据上述公式得到该执行等待时间为400毫秒,也就是说,硬盘控制设备在确定将要向该硬盘发送当前数据处理请求消息时(即T2时刻)还需要在等待400毫秒后的T3时刻(即硬盘从T2至T3时刻空闲400毫秒),向硬盘发送当前数据处理请求消息,这样,则确定从T0时刻至T3时刻为该硬盘的一个应用周期,在该应用周期内该硬盘的工作时间为600毫秒,硬盘的空闲时间也为600毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即600毫秒加上600毫秒得到1200毫秒),则在这段应用周期内硬盘的工作负荷为50%(即600毫秒与1200毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
在本发明另一种可能的实现方式中,在该控制时间段的T0(即起始时刻)时刻硬盘接收到数据处理请求消息,并根据该数据处理请求消息进行处理且处理过程持续800毫秒,但是,在T1时刻,硬盘控制设备确定可以将从数据处理设备获取的当前数据处理请求消息发送至该硬盘,由于硬盘对应该数据处理请求消息的处理过程持续600毫秒(即硬盘从T0时刻至T1时刻的工作时间为600毫秒),此时,该控制时间段为600毫秒,硬盘控制设备确定该控制时间段小于预设控制时间段(即600毫秒小于1000毫秒)且该硬盘的工作时间大于预设工作时间(即600毫秒大于500毫秒),也就是说,硬盘此时还未完成对该数据处理请求消息对应的数据处理,因此,硬盘控制设备在等待200毫秒后的T2时刻(即硬盘完成对该数据处理请求消息对应的数据处理的时刻),确定要将当前数据处理请求消息发送至该硬盘,也就是说,硬盘控制设备在完成对该数据处理请求消息对应的数据处理后,才获取执行等待时间,在T2时刻,该控制时间段即为T0时刻至T2时刻之间的时间段(本发明实施例中即为800毫秒),该硬盘的工作时间也为800毫秒,此时,硬盘控制设备根据上述公式得到该执行等待时间为800毫秒,也就是说,硬盘控制设备在确定将要向该硬盘发送当前数据处理请求消息时(即T2时刻)还需要在等待800毫秒后的T3时刻(即硬盘从T2至T3时刻空闲800毫秒),向硬盘发送当前数据处理请求消息,这样,则确定从T0时刻至T3时刻为该硬盘的一个应用周期,在该应用周期内该硬盘的工作时间为800毫秒,硬盘的空闲时间也为800毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即800毫秒加上800毫秒得到1600毫秒),则在这段应用周期内硬盘的工作负荷为50%(即800毫秒与1600毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
又如,对于情形二,预设控制时间段为1000毫秒,预设工作时间为500毫秒,则该硬盘的预设工作负荷为500毫秒与1000毫秒的比值即50%,也就是说,当控制时间段内硬盘的工作时间与该控制时间段的比值超过50%时,则该硬盘的失效率较高。在该控制时间段的T0时刻(即起始时刻)硬盘接收到一数据处理请求消息(记为R1),并根据该R1进行数据处理,在T1时刻,该硬盘处理完成且处理过程持续300毫秒(即硬盘从T0时刻至T1时刻的工作时间为300毫秒),此时,若该硬盘控制设备在空闲100毫秒后的T2时刻(即硬盘从T1时刻至T2时刻的空闲时间为100毫秒)确定向硬盘发送另一数据处理请求消息(记为R2),由于此时硬盘的工作时间小于预设工作时间(即T0时刻至T1时刻300毫秒小于500毫秒),且控制时间段(即T0时刻至T2时刻之间的400毫秒)小于预设控制时间段(即1000毫秒),因此,硬盘控制设备可以直接将该R2发送至硬盘(即在T2时刻将该R2发送至硬盘),以保证硬盘的工作效率,该硬盘根据该R2进行数据处理,在T3时刻,该硬盘处理完成且处理过程持续800毫秒(即硬盘从T2时刻至T3时刻的工作时间为800毫秒),此时,若该硬盘控制设备确定发送该当前数据处理请求消息(记为R3),则该控制时间段为T0时刻至T3时刻之间的时间段(本发明实施例中即为300毫秒与100毫秒以及800毫秒的和得到1200毫秒)并确定该控制时间段大于预设控制时间段(即1200毫秒大于1000毫秒),且该硬盘的当前工作负荷大于该硬盘的预设工作负荷(即1100毫秒与1200毫秒的比值大于50%),此时,硬盘控制设备根据上述公式得到该执行等待时间为1000毫秒,也就是说,硬盘控制设备在确定向该硬盘发送R3时(即T3时刻)还需要在等待1000毫秒后的T4时刻(即硬盘从T3时刻至T4时刻空闲1000毫秒),向硬盘发送R3,这样,则确定从T0时刻至T4时刻为该硬盘的一个应用周期,在该应用周期内,该硬盘的工作时间为1100毫秒,硬盘的空闲时间也为1100毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即1100毫秒加上1100毫秒得到2200毫秒),则在这段应用周期内硬盘的工作负荷为50%(即1100毫秒与2200毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
需要说明的是,硬盘控制设备可以对上述应用周期结束的时刻(即上述情形一中的T3时刻,上述情形二中的T4时刻)进行标记,同时,该时刻也为下一应用周期的起始时刻,这样,硬盘控制设备可以根据该标记将该时刻作为下一控制时间段的起始时刻。
另外,在实际应用中,硬盘可能会接收多个数据处理请求消息,则该硬盘的工作时间为该硬盘处理完成所有数据处理请求消息对应的数据所持续的时间。
进一步地,在确定该控制时间段和该硬盘的工作时间不满足预设条件时,硬盘控制设备将该当前数据处理请求消息发送至该硬盘,以便该硬盘根据该当前数据处理请求消息进行数据处理。
S103、在达到该执行等待时间后,硬件控制设备将该当前数据处理请求消息发送至该硬盘,以便该硬盘根据该当前数据处理请求消息进行数据处理。
其中,该数据处理可以是数据的写入或者读取等,本发明对此不作限定。
具体地,硬盘控制设备从数据处理设备获取当前数据处理请求消息包括以下两种方式:
方式一:硬盘控制设备包括请求消息队列,该请求消息队列缓存来自数据处理设备的数据处理请求消息,直至该请求消息队列放满为止,这样,在达到该执行等待时间后,硬盘控制设备只需将该请求消息队列中存储的当前数据处理请求消息发送至硬盘。
方式二,硬盘控制设备将从数据处理设备接收的数据处理请求消息发送至硬盘后,才从数据处理设备接收下一个数据处理请求消息,这样,在达到该执行等待时间后,硬盘控制设备从数据处理设备接收当前数据处理请求消息并发送至硬盘。
需要说明的是,在本发明实施例一种可能的实现方式中,数据处理请求消息中可以包括优先级标识,硬盘控制设备可以根据该优先级标识将优先级高的数据处理请求消息优先发送至硬盘。
进一步地,在硬盘控制设备将从数据处理设备获取的当前数据处理请求消息发送至该硬盘后,硬盘控制设备记录第一时间,在该硬盘根据该当前数据处理请求消息完成数据处理后,接收该硬盘发送的请求响应消息,该硬盘控制设备在接收到该请求响应消息后,记录第二时间,并根据该第一时间和该第二时间确定对应该当前数据处理请求消息的硬盘的工作时间。其中,该第一时间与第二时间之间的时间段即为该硬盘根据该当前数据处理请求消息进行数据处理的工作时间,以便硬盘控制设备对下一应用周期的硬盘的工作负荷进行控制,以防止该硬盘在下一应用周期的工作负荷过高。
通过采用上述执行主体为硬盘控制设备的方案,硬盘控制设备获取控制时间段内硬盘的工作时间,并在确定该控制时间段和该硬盘的工作时间满足预设条件时,获取执行等待时间,并在达到该执行等待时间后,硬盘控制设备将从数据处理设备获取的当前数据处理请求消息发送至该硬盘,这样,当硬盘的工作负荷过大时,硬盘控制设备在空闲一定时间后,才会向硬盘发送当前数据处理请求消息,从而降低硬盘的工作负荷,并降低硬盘的失效率,以提高硬盘运行的可靠性。
本发明实施例提供一种数据处理的方法,如图2所示,包括:
S201、数据处理设备将当前数据处理请求消息发送至硬盘控制设备。
具体地,硬盘控制设备包括请求消息队列,该请求消息队列缓存来自数据处理设备的数据处理请求消息,硬盘控制设备从数据处理设备接收的数据处理请求消息都放入该请求消息队列中,直至该请求消息队列放满为止,在本发明实施例中,数据处理设备将当前数据处理请求消息发送至硬盘控制设备,该硬盘控制设备将该当前数据处理请求消息放入该请求消息队列。
S202、硬盘控制设备检查请求消息队列,并确定向硬盘发送该请求消息队列中的当前数据处理请求消息。
S203、硬盘控制设备获取控制时间段内该硬盘的工作时间。
其中,该控制时间段为该控制时间段标记的起始时刻至该硬盘控制设备确定将当前数据处理请求消息发送至该硬盘的时刻之间的时间段。
具体地,在该控制时间段内,硬盘在接收到该硬盘控制设备发送的数据处理请求消息后,根据该数据处理请求消息进行数据处理,在该硬盘控制设备确定发送当前数据处理请求消息时,获取该硬盘在该控制时间段内的工作时间,在本发明实施例一种可能的实现方式中,硬盘控制设备在向硬盘发送数据处理请求消息后,开始记录第一时间,硬盘在接收到数据处理请求消息后,根据该数据处理请求消息进行数据处理,硬盘在处理完数据后,向硬盘控制设备发送对应该数据处理请求消息的请求响应消息,硬盘控制设备在接收到该请求响应消息后,确定该数据处理请求消息对应的数据处理完成,并记录第二时间,此时,该硬盘控制设备在向硬盘发送数据处理请求消息后的时刻(即第一时间)至该硬盘控制设备接收到该请求响应消息的时刻(即第二时间)之间的时间段即为该硬盘对应该数据处理请求消息的工作时间。
需要说明的是,硬盘控制设备在上电后,会初始化缓存的硬盘的工作时间。
S204、硬盘控制设备确定该控制时间段和该硬盘的工作时间是否满足预设条件。
需要说明的是,当该硬盘的当前工作负荷高于该硬盘的预设工作负荷,即表示该硬盘的在该控制时间段内的工作时间过长,造成该硬盘的失效率较高。
硬盘控制设备在确定该控制时间段和该硬盘的工作时间满足预设条件时,执行步骤S205至S206和步骤S208。
具体地,硬盘控制设备确定该控制时间段和该硬盘的工作时间满足预设条件包括以下两种情形:
情形一:在确定该控制时间段小于预设控制时间段且该控制时间段内硬盘的工作时间大于或等于硬盘的预设工作时间时,硬盘控制设备获取该执行等待时间。
情形二:在确定该控制时间段大于或等于预设控制时间段且该硬盘的当前工作负荷大于该硬盘的预设工作负荷时,硬盘控制设备获取该执行等待时间。
其中,该硬盘的当前工作负荷为该控制时间段内硬盘的工作时间与该控制时间段的比值;该硬盘的预设工作负荷为该硬盘的预设工作时间与预设控制时间段的比值。
硬盘控制设备在确定该控制时间段和该硬盘的工作时间不满足预设条件时,执行步骤S207至步骤S208。
S205、硬盘控制设备根据公式:
得到该执行等待时间。其中,Tw为该执行等待时间,TP为该控制时间段,TA为该控制时间段内硬盘的工作时间,TPMax为该预设控制时间段,TAMax为该硬盘的预设工作时间。
进一步地,硬盘控制设备在得到该执行等待时间前,确定硬盘是否处于空闲状态,若确定该硬盘处于空闲状态,则执行步骤S205,若确定该硬盘正在进行数据处理,则在该硬盘将数据处理完成后,执行步骤S205,具体地,硬盘在数据处理完成后,向硬盘控制设备发送请求响应消息,硬盘在接收到请求响应消息后,确定对应的数据处理完成,也就是说,若确定该硬盘正在进行数据处理,硬盘控制设备需要等待一段时间直至该硬盘将数据处理完成后获取执行等待时间,此时,在获取执行等待时间的过程中,该控制时间段包括上述硬盘控制设备等待的一段时间。
例如,对于上述情形一,预设控制时间段为1000毫秒,预设工作时间为500毫秒,则该硬盘的预设工作负荷为500毫秒与1000毫秒的比值即50%,也就是说,当控制时间段内硬盘的工作时间与该控制时间段的比值超过50%时,则该硬盘的失效率较高。在该控制时间段的T0(即起始时刻)时刻硬盘接收到数据处理请求消息,并根据该数据处理请求消息进行处理,在T1时刻,该硬盘处理完成且处理过程持续600毫秒(即硬盘从T0时刻至T1时刻的工作时间为600毫秒),此时,若该硬盘控制设备在空闲200毫秒后的T2时刻(即硬盘从T1时刻至T2时刻的空闲时间为200毫秒),确定要将从数据处理设备获取的当前数据处理请求消息发送至所述硬盘,则该控制时间段即为T0时刻至T2时刻之间的时间段(本发明实施例中即为600毫秒加上200毫秒得到800毫秒)并确定该控制时间段小于预设控制时间段(即800毫秒小于1000毫秒)且该硬盘的工作时间大于预设工作时间(即600毫秒大于500毫秒),此时,硬盘控制设备根据上述公式得到该执行等待时间为400毫秒,也就是说,硬盘控制设备在确定向该硬盘发送当前数据处理请求消息时(即T2时刻)还需要在等待400毫秒后的T3时刻(即硬盘从T2至T3时刻空闲400毫秒),向硬盘发送当前数据处理请求消息,这样,则确定从T0时刻至T3时刻为该硬盘的一个应用周期,在该应用周期内该硬盘的工作时间为600毫秒,硬盘的空闲时间也为600毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即600毫秒加上600毫秒得到1200毫秒),则在这段应用周期内硬盘的工作负荷为50%(即600毫秒与1200毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
在本发明另一种可能的实现方式中,在该控制时间段的T0(即起始时刻)时刻硬盘接收到数据处理请求消息,并根据该数据处理请求消息进行处理且处理过程持续800毫秒,但是,在T1时刻,硬盘控制设备确定可以将从数据处理设备获取的当前数据处理请求消息发送至该硬盘,由于硬盘对应该数据处理请求消息的处理过程持续600毫秒(即硬盘从T0时刻至T1时刻的工作时间为600毫秒),此时,该控制时间段为600毫秒,硬盘控制设备确定该控制时间段小于预设控制时间段(即600毫秒小于1000毫秒)且该硬盘的工作时间大于预设工作时间(即600毫秒大于500毫秒),也就是说,硬盘此时还未完成对该数据处理请求消息对应的数据处理,因此,硬盘控制设备在等待200毫秒后的T2时刻(即硬盘完成对该数据处理请求消息对应的数据处理的时刻),确定要将当前数据处理请求消息发送至该硬盘,也就是说,硬盘控制设备在完成对该数据处理请求消息对应的数据处理后,才获取执行等待时间,在T2时刻,该控制时间段即为T0时刻至T2时刻之间的时间段(本发明实施例中即为800毫秒),该硬盘的工作时间也为800毫秒,此时,硬盘控制设备根据上述公式得到该执行等待时间为800毫秒,也就是说,硬盘控制设备在确定将要向该硬盘发送当前数据处理请求消息时(即T2时刻)还需要在等待800毫秒后的T3时刻(即硬盘从T2至T3时刻空闲800毫秒),向硬盘发送当前数据处理请求消息,这样,则确定从T0时刻至T3时刻为该硬盘的一个应用周期,在该应用周期内该硬盘的工作时间为800毫秒,硬盘的空闲时间也为800毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即800毫秒加上800毫秒得到1600毫秒),则在这段应用周期内硬盘的工作负荷为50%(即800毫秒与1600毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
又如,对于情形二,预设控制时间段为1000毫秒,预设工作时间为500毫秒,则该硬盘的预设工作负荷为500毫秒与1000毫秒的比值即50%,也就是说,当控制时间段内硬盘的工作时间与该控制时间段的比值超过50%时,则该硬盘的失效率较高。在该控制时间段的T0时刻(即起始时刻)硬盘接收到一数据处理请求消息(记为R1),并根据该R1进行数据处理,在T1时刻,该硬盘处理完成且处理过程持续300毫秒(即硬盘从T0时刻至T1时刻的工作时间为300毫秒),此时,若该硬盘控制设备在空闲100毫秒后的T2时刻(即硬盘从T1时刻至T2时刻的空闲时间为100毫秒)确定向硬盘发送另一数据处理请求消息(记为R2),由于此时硬盘的工作时间小于预设工作时间(即T0时刻至T1时刻300毫秒小于500毫秒),且控制时间段(即T0时刻至T2时刻之间的400毫秒)小于预设控制时间段(即1000毫秒),因此,硬盘控制设备可以直接将该R2发送至硬盘(即在T2时刻将该R2发送至硬盘),以保证硬盘的工作效率,该硬盘根据该R2进行数据处理,在T3时刻,该硬盘处理完成且处理过程持续800毫秒(即硬盘从T2时刻至T3时刻的工作时间为800毫秒),此时,若该硬盘控制设备确定发送该当前数据处理请求消息(记为R3),则该控制时间段为T0时刻至T3时刻之间的时间段(本发明实施例中即为300毫秒与100毫秒以及800毫秒的和得到1200毫秒)并确定该控制时间段大于预设控制时间段(即1200毫秒大于1000毫秒),且该硬盘的当前工作负荷大于该硬盘的预设工作负荷(即1100毫秒与1200毫秒的比值大于50%),此时,硬盘控制设备根据上述公式得到该执行等待时间为1000毫秒,也就是说,硬盘控制设备在确定向该硬盘发送R3时(即T3时刻)还需要在等待1000毫秒后的T4时刻(即硬盘从T3时刻至T4时刻空闲1000毫秒),向硬盘发送R3,这样,则确定从T0时刻至T4时刻为该硬盘的一个应用周期,在该应用周期内,该硬盘的工作时间为1100毫秒,硬盘的空闲时间也为1100毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即1100毫秒加上1100毫秒得到2200毫秒),则在这段应用周期内硬盘的工作负荷为50%(即1100毫秒与2200毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
需要说明的是,硬盘控制设备可以对上述应用周期结束的时刻(即上述情形一中的T3时刻,上述情形二中的T4时刻)进行标记,同时,该时刻也为下一应用周期的起始时刻,这样,硬盘控制设备可以根据该标记将该时刻作为下一控制时间段的起始时刻。
S206、硬盘控制设备在达到该执行等待时间后,将请求消息队列中的当前数据处理请求消息发送至硬盘,并记录第一时间。
S207、硬盘将请求消息队列中的当前数据处理请求消息发送至硬盘,并记录第一时间。
S208、硬盘根据当前数据处理请求消息进行数据处理,并在数据处理完成后,向硬盘控制设备发送请求响应消息,以便硬盘控制设备记录第二时间。
其中,第一时间与第二时间的时间段即为该硬盘根据该当前数据处理请求消息进行数据处理的工作时间。
需要说明的是,该数据处理可以是数据的写入或者读取等,本发明对此不作限定。
通过采用上述方案,硬盘控制设备获取控制时间段内硬盘的工作时间,并在确定该控制时间段和该硬盘的工作时间满足预设条件时,获取执行等待时间,并在达到该执行等待时间后,硬盘控制设备将从数据处理设备获取的当前数据处理请求消息发送至该硬盘,这样,当硬盘的工作负荷过大时,硬盘控制设备在空闲一定时间后,才会向硬盘发送当前数据处理请求消息,从而降低硬盘的工作负荷,并降低硬盘的失效率,以提高硬盘运行的可靠性。
需要说明的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本发明实施例提供一种硬盘控制设备300,如图3所示,包括:
检测单元301,用于获取控制时间段内硬盘的工作时间.
其中,该控制时间段为该控制时间段标记的起始时刻至该硬盘控制设备确定要将从数据处理设备获取的当前数据处理请求消息发送至该硬盘的时刻之间的时间段。
需要说明的是,硬盘控制设备在上电后,会初始化缓存的硬盘的工作时间。
决策单元302,用于在确定该检测单元301获取的该控制时间段和该硬盘的工作时间满足预设条件时,获取执行等待时间。
可选地,该决策单元302具体用于,在确定该控制时间段小于预设控制时间段且该控制时间段内硬盘的工作时间大于或等于硬盘的预设工作时间时,获取该执行等待时间。
在确定该控制时间段大于或等于预设控制时间段且该硬盘的当前工作负荷大于该硬盘的预设工作负荷时,获取该执行等待时间。
其中,该硬盘的当前工作负荷为该控制时间段内硬盘的工作时间与该控制时间段的比值;该硬盘的预设工作负荷为该硬盘的预设工作时间与预设控制时间段的比值。
需要说明的是,当该硬盘的当前工作负荷高于该硬盘的预设工作负荷,即表示该硬盘的在该控制时间段内的工作时间过长,造成该硬盘的失效率较高。
可选地,该决策单元302具体用于,根据公式:
得到该执行等待时间;其中,Tw为该执行等待时间,TP为该控制时间段,TA为该控制时间段内硬盘的工作时间,TPMax为该预设控制时间段,TAMax为该硬盘的预设工作时间。
进一步地,该决策单元302还用于,在该获取执行等待时间前,确定该硬盘是否处于空闲状态,并在确定该硬盘处于空闲状态时,获取执行等待时间。
硬盘控制设备获取执行等待时间前,还需要确定硬盘是否处于空闲状态,若确定该硬盘处于空闲状态,则获取执行等待时间,若确定该硬盘正在进行数据处理,则在该硬盘将数据处理完成后,获取执行等待时间,其中,硬盘在数据处理完成后,向硬盘控制设备发送请求响应消息,硬盘在接收到请求响应消息后,确定对应的数据处理完成,也就是说,若确定该硬盘正在进行数据处理,硬盘控制设备需要等待一段时间直至该硬盘将数据处理完成后获取执行等待时间,此时,在获取执行等待时间的过程中,该控制时间段包括上述硬盘控制设备等待的一段时间。
情形一、若该决策单元具体用于在确定该控制时间段小于预设控制时间段且该控制时间段内硬盘的工作时间大于或等于硬盘的预设工作时间时,获取该执行等待时间,示例地,预设控制时间段为1000毫秒,预设工作时间为500毫秒,则该硬盘的预设工作负荷为500毫秒与1000毫秒的比值即50%,也就是说,当控制时间段内硬盘的工作时间与该控制时间段的比值超过50%时,则该硬盘的失效率较高。在该控制时间段的T0(即起始时刻)时刻硬盘接收到数据处理请求消息,并根据该数据处理请求消息进行处理,在T1时刻,该硬盘处理完成且处理过程持续600毫秒(即硬盘从T0时刻至T1时刻的工作时间为600毫秒),此时,若该硬盘控制设备在空闲200毫秒后的T2时刻(即硬盘从T1时刻至T2时刻的空闲时间为200毫秒),确定要将从数据处理设备获取的当前数据处理请求消息发送至所述硬盘,则该控制时间段即为T0时刻至T2时刻之间的时间段(本发明实施例中即为600毫秒加上200毫秒得到800毫秒)并确定该控制时间段小于预设控制时间段(即800毫秒小于1000毫秒)且该硬盘的工作时间大于预设工作时间(即600毫秒大于500毫秒),此时,硬盘控制设备根据上述公式得到该执行等待时间为400毫秒,也就是说,硬盘控制设备在确定向该硬盘发送当前数据处理请求消息时(即T2时刻)还需要在等待400毫秒后的T3时刻(即硬盘从T2至T3时刻空闲400毫秒),向硬盘发送当前数据处理请求消息,这样,则确定从T0时刻至T3时刻为该硬盘的一个应用周期,在该应用周期内该硬盘的工作时间为600毫秒,硬盘的空闲时间也为600毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即600毫秒加上600毫秒得到1200毫秒),则在这段应用周期内硬盘的工作负荷为50%(即600毫秒与1200毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
在本发明另一种可能的实现方式中,在该控制时间段的T0(即起始时刻)时刻硬盘接收到数据处理请求消息,并根据该数据处理请求消息进行处理且处理过程持续800毫秒,但是,在T1时刻,硬盘控制设备确定可以将从数据处理设备获取的当前数据处理请求消息发送至该硬盘,由于硬盘对应该数据处理请求消息的处理过程持续600毫秒(即硬盘从T0时刻至T1时刻的工作时间为600毫秒),此时,该控制时间段为600毫秒,硬盘控制设备确定该控制时间段小于预设控制时间段(即600毫秒小于1000毫秒)且该硬盘的工作时间大于预设工作时间(即600毫秒大于500毫秒),也就是说,硬盘此时还未完成对该数据处理请求消息对应的数据处理,因此,硬盘控制设备在等待200毫秒后的T2时刻(即硬盘完成对该数据处理请求消息对应的数据处理的时刻),确定要将当前数据处理请求消息发送至该硬盘,也就是说,硬盘控制设备在完成对该数据处理请求消息对应的数据处理后,才获取执行等待时间,在T2时刻,该控制时间段即为T0时刻至T2时刻之间的时间段(本发明实施例中即为800毫秒),该硬盘的工作时间也为800毫秒,此时,硬盘控制设备根据上述公式得到该执行等待时间为800毫秒,也就是说,硬盘控制设备在确定将要向该硬盘发送当前数据处理请求消息时(即T2时刻)还需要在等待800毫秒后的T3时刻(即硬盘从T2至T3时刻空闲800毫秒),向硬盘发送当前数据处理请求消息,这样,则确定从T0时刻至T3时刻为该硬盘的一个应用周期,在该应用周期内该硬盘的工作时间为800毫秒,硬盘的空闲时间也为800毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即800毫秒加上800毫秒得到1600毫秒),则在这段应用周期内硬盘的工作负荷为50%(即800毫秒与1600毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
情形二,若该决策单元具体用于在确定该控制时间段大于或等于预设控制时间段且该硬盘的当前工作负荷大于该硬盘的预设工作负荷时,获取该执行等待时间,示例地,预设控制时间段为1000毫秒,预设工作时间为500毫秒,则该硬盘的预设工作负荷为500毫秒与1000毫秒的比值即50%,也就是说,当控制时间段内硬盘的工作时间与该控制时间段的比值超过50%时,则该硬盘的失效率较高。在该控制时间段的T0时刻(即起始时刻)硬盘接收到一数据处理请求消息(记为R1),并根据该R1进行数据处理,在T1时刻,该硬盘处理完成且处理过程持续300毫秒(即硬盘从T0时刻至T1时刻的工作时间为300毫秒),此时,若该硬盘控制设备在空闲100毫秒后的T2时刻(即硬盘从T1时刻至T2时刻的空闲时间为100毫秒)确定向硬盘发送另一数据处理请求消息(记为R2),由于此时硬盘的工作时间小于预设工作时间(即T0时刻至T1时刻300毫秒小于500毫秒),且控制时间段(即T0时刻至T2时刻之间的400毫秒)小于预设控制时间段(即1000毫秒),因此,硬盘控制设备可以直接将该R2发送至硬盘(即在T2时刻将该R2发送至硬盘),以保证硬盘的工作效率,该硬盘根据该R2进行数据处理,在T3时刻,该硬盘处理完成且处理过程持续800毫秒(即硬盘从T2时刻至T3时刻的工作时间为800毫秒),此时,若该硬盘控制设备确定发送该当前数据处理请求消息(记为R3),则该控制时间段为T0时刻至T3时刻之间的时间段(本发明实施例中即为300毫秒与100毫秒以及800毫秒的和得到1200毫秒)并确定该控制时间段大于预设控制时间段(即1200毫秒大于1000毫秒),且该硬盘的当前工作负荷大于该硬盘的预设工作负荷(即1100毫秒与1200毫秒的比值大于50%),此时,硬盘控制设备根据上述公式得到该执行等待时间为1000毫秒,也就是说,硬盘控制设备在确定向该硬盘发送R3时(即T3时刻)还需要在等待1000毫秒后的T4时刻(即硬盘从T3时刻至T4时刻空闲1000毫秒),向硬盘发送R3,这样,则确定从T0时刻至T4时刻为该硬盘的一个应用周期,在该应用周期内,该硬盘的工作时间为1100毫秒,硬盘的空闲时间也为1100毫秒,则该硬盘的应用周期为该硬盘的工作时间加上该硬盘的空闲时间(即1100毫秒加上1100毫秒得到2200毫秒),则在这段应用周期内硬盘的工作负荷为50%(即1100毫秒与2200毫秒的比值),未超出该硬盘的预设工作负荷,从而降低了该硬盘的失效率。这里只是举例说明,不作限定。
需要说明的是,硬盘控制设备可以对上述应用周期结束的时刻(即上述情形一中的T3时刻,上述情形二中的T4时刻)进行标记,同时,该时刻也为下一应用周期的起始时刻,这样,硬盘控制设备可以根据该标记将该时刻作为下一控制时间段的起始时刻。
执行单元303,用于在达到该决策单元302获取的执行等待时间后,将该当前数据处理请求消息发送至该硬盘,以便该硬盘根据该当前数据处理请求消息进行数据处理。
其中,该数据处理可以是数据的写入或者读取等,本发明对此不作限定。
具体地,硬盘控制设备从数据处理设备获取当前数据处理请求消息包括以下两种方式:
方式一:硬盘控制设备包括请求消息队列,该请求消息队列缓存来自数据处理设备的数据处理请求消息,直至该请求消息队列放满为止,这样,在达到该执行等待时间后,硬盘控制设备只需将该请求消息队列中存储的当前数据处理请求消息发送至硬盘。
方式二,硬盘控制设备将从数据处理设备接收的数据处理请求消息发送至硬盘后,才从数据处理设备接收下一个数据处理请求消息,这样,在达到该执行等待时间后,硬盘控制设备从数据处理设备接收当前数据处理请求消息并发送至硬盘。
需要说明的是,在本发明实施例一种可能的实现方式中,数据处理请求消息中可以包括优先级标识,硬盘控制设备可以根据该优先级标识将优先级高的数据处理请求消息优先发送至硬盘。
进一步地,该检测单元301还用于,在该执行单元303将从数据处理设备获取的当前数据处理请求消息发送至该硬盘后,记录第一时间,在该硬盘根据该当前数据处理请求消息完成数据处理后,接收该硬盘发送的请求响应消息,并在接收到该请求响应消息后,记录第二时间,并根据该第一时间和该第二时间确定对应该当前数据处理请求消息的硬盘的工作时间。
其中,第一时间与第二时间之间的时间段即为该硬盘根据该当前数据处理请求消息进行数据处理的工作时间。
更进一步地,该执行单元303还用于,在该决策单元302确定该控制时间段和该硬盘的工作时间不满足预设条件时,将该当前数据处理请求消息发送至该硬盘,以便该硬盘根据该当前数据处理请求消息进行数据处理。
采用上述硬盘控制设备,该硬盘控制设备获取控制时间段内硬盘的工作时间,并在确定该控制时间段和该硬盘的工作时间满足预设条件时,获取执行等待时间,并在达到该执行等待时间后,硬盘控制设备将从数据处理设备获取的当前数据处理请求消息发送至该硬盘,这样,当硬盘的工作负荷过大时,硬盘控制设备在空闲一定时间后,才会向硬盘发送当前数据处理请求消息,从而降低硬盘的工作负荷,并降低硬盘的失效率,以提高硬盘运行的可靠性。
所属本领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的硬盘控制设备以及各个单元的具体工作过程和描述,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供一种硬盘控制设备40,如图4所示,包括:处理器(processor)41、通信接口(Communications Interface)42、存储器(memory)43和通信总线44;其中,所述处理器41、所述通信接口42和所述存储器43通过所述通信总线44完成相互间的通信。
处理器41可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器43用于存放程序代码,所述程序代码包括计算机操作指令。存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述通信接口42,用于实现这些装置之间的连接通信。
所述处理器41执行程序代码,用于获取控制时间段内硬盘的工作时间;其中,该控制时间段为该控制时间段标记的起始时刻至该硬盘控制设备确定要将从数据处理设备获取的当前数据处理请求消息发送至该硬盘的时刻之间的时间段;在确定该控制时间段和该硬盘的工作时间满足预设条件时,获取执行等待时间,并在达到该执行等待时间后,将该当前数据处理请求消息发送至该硬盘,以便该硬盘根据该当前数据处理请求消息进行数据处理。
可选地,该处理器41具体用于,在确定该控制时间段小于预设控制时间段且该控制时间段内硬盘的工作时间大于或等于硬盘的预设工作时间时,获取该执行等待时间;
在确定该控制时间段大于或等于预设控制时间段且该硬盘的当前工作负荷大于该硬盘的预设工作负荷时,获取该执行等待时间,其中,该硬盘的当前工作负荷为该控制时间段内硬盘的工作时间与该控制时间段的比值;该硬盘的预设工作负荷为该硬盘的预设工作时间与预设控制时间段的比值。
可选地,该处理器41具体用于根据公式:
得到该执行等待时间;其中,Tw为该执行等待时间,TP为该控制时间段,TA为该控制时间段内硬盘的工作时间,TPMax为该预设控制时间段,TAMax为该硬盘的预设工作时间。
可选地,该处理器41还用于,确定该硬盘是否处于空闲状态,在确定该硬盘处于空闲状态时,获取执行等待时间。
可选地,该处理器41还用于,在将从数据处理设备获取的当前数据处理请求消息发送至该硬盘后,记录第一时间,在该硬盘根据该当前数据处理请求消息完成数据处理后,接收该硬盘发送的请求响应消息,并在接收到该请求响应消息后,记录第二时间,并根据该第一时间和该第二时间确定对应该当前数据处理请求消息的硬盘的工作时间。
可选地,该处理器41还用于,在确定该控制时间段和该硬盘的工作时间不满足预设条件时,将该当前数据处理请求消息发送至该硬盘,以便该硬盘根据该当前数据处理请求消息进行数据处理。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。