本发明涉及计算机技术领域,特别涉及一种固件刷新对io影响时间的检测方法和装置。
背景技术:
随着互联网对服务器的要求越来越高,技术的更新换代时间越来越快,固件刷新频率也越来越高。例如,为了满足服务器和存储装置间信息传输的要求,需要定期对hba(hostbusadapter,主机总线适配器)卡中的固件进行刷新。
固件刷新可能影响设备的io读写状态,造成io停止读写。但是,现有的方法无法检测固件刷新对io影响时间。
技术实现要素:
本发明实施例提供了一种固件刷新对io影响时间的检测方法和装置,能够确定固件刷新对io影响时间。
第一方面,本发明实施例提供了一种固件刷新对io影响时间的检测方法,包括:
确定测试周期;
控制设备在所述测试周期中进行固件刷新;
按照预设的采集周期采集所述设备的io读写状态;
根据所述设备的io读写状态,确定所述固件刷新对io影响时间。
优选地,
进一步包括:
确定所述测试周期中,所述固件刷新的时间;
所述根据所述设备的io读写状态,确定所述固件刷新对io影响时间,包括:
根据所述设备的io读写状态,确定所述设备的io停止读写时间;
根据所述固件刷新的时间和所述设备的io停止读写时间,确定所述固件刷新对io影响时间。
优选地,
在所述根据所述设备的io读写状态,确定所述固件刷新对io影响时间之后,进一步包括:
根据所述固件刷新对io影响时间生成提示信息,将所述提示信息发送给用户。
优选地,
所述设备,包括:主机总线适配器hba。
第二方面,本发明实施例提供了一种固件刷新对io影响时间的检测装置,包括:
确定单元,用于确定测试周期;
刷新单元,用于控制设备在所述确定单元确定的所述测试周期中进行固件刷新;
采集单元,用于按照预设的采集周期采集所述设备的io读写状态;
处理单元,用于根据所述采集单元采集的所述设备的io读写状态,确定所述刷新单元中所述固件刷新对io影响时间。
优选地,
所述确定单元,进一步用于确定所述测试周期中,所述固件刷新的时间;
所述处理单元,用于根据所述采集单元采集的所述设备的io读写状态,确定所述设备的io停止读写时间;根据所述确定单元确定的所述固件刷新的时间和所述设备的io停止读写时间,确定所述固件刷新对io影响时间。
优选地,
所述处理单元,进一步用于根据所述固件刷新对io影响时间生成提示信息,将所述提示信息发送给用户。
优选地,
所述设备,包括:主机总线适配器hba。
第三发明,本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一实施例所述的方法。
第四发明,本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一实施例所述的方法。
本发明实施例提供了一种固件刷新对io影响时间的检测方法和装置,其中,该方法可以控制设备中的固件在测试周期内进行刷新,并根据固件刷新时设备的io读写状态,确定固件刷新对io影响时间。该方法能够准确获取固件刷新对io影响时间,可用于验证固件产品的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种固件刷新对io影响时间的检测方法流程图;
图2是本发明另一个实施例提供的一种固件刷新对io影响时间的检测方法流程图;
图3是本发明一个实施例提供的一种固件刷新对io影响时间的检测装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种固件刷新对io影响时间的检测方法,该方法可以包括以下步骤:
步骤101:确定测试周期;
步骤102:控制设备在测试周期中进行固件刷新;
步骤103:按照预设的采集周期采集设备的io读写状态;
步骤104:根据设备的io读写状态,确定固件刷新对io影响时间。
在图1所示的本发明实施例中,该方法可以控制设备中的固件在测试周期内进行刷新,并根据固件刷新时设备的io读写状态,确定固件刷新对io影响时间。该方法能够准确获取固件刷新对io影响时间,可用于验证固件产品的稳定性。
在本发明的一个实施例中,该方法还包括:确定测试周期中,固件刷新的时间;
根据设备的io读写状态,确定固件刷新对io影响时间,包括:
根据设备的io读写状态,确定设备的io停止读写时间;
根据固件刷新的时间和设备的io停止读写时间,确定固件刷新对io影响时间。
在本实施例中,在测试周期中,可以进行多次固件刷新。因此,固件刷新对io影响时间为多次固件刷新累积的影响时间,相比于检测单次固件刷新对io影响时间,该方法得到
的结果更加准确、可靠性较高。
在本发明的一个实施例中,为了将检测结果提供给用户或者技术人员,以使其根据检测结果确定固件产品的稳定性,在根据设备的io读写状态,确定固件刷新对io影响时间之后,还包括:
根据固件刷新对io影响时间生成提示信息,将提示信息发送给用户。
在本发明的一个实施例中,设备,包括:hba。
如下所示,是该方法的一种代码实现方式:
#!/bin/bash
iostat-d-x-k1>>/home/iostat.log&
sleep5
date>>/home/flash1.log
./sas3flash-o-fmb_it20.bin>>/home/flash1.log
./sas3flash-bmpt3x64.rom>>/home/flash1.log
./sas3flash-bmptsas3.rom>>/home/flash1.log
date>>/home/flash1.log
sleep5
aaa=`ps-au|grepiostat|awk'{print$2}'|sed-n'1p'`
kill-9${aaa}>/dev/null2>&1
echo"testcomplete!!!"
如图2所示,本发明实施例以hba卡为例,对固件刷新对io影响时间的检测方法进行详细地说明,该方法包括:
步骤201:确定测试周期。
确定测试周期为1min。
步骤202:控制hba卡在测试周期中进行固件刷新。
步骤203:确定测试周期中,固件刷新的时间。
在测试周期中,固件可以进行多次刷新,该固件刷新的时间为固件刷新的有效时间。
步骤204:按照预设的采集周期采集hba卡的io读写状态。
可以对hba卡的io读写状态进行实时采集,也可以按照预设的周期进行采集。
步骤205:根据hba卡的io读写状态,确定hba卡的io停止读写时间。
累积在固件刷新过程中io停止读写的时间,该时间为hba卡的io停止读写时间
步骤206:根据固件刷新的时间和设备的io停止读写时间,确定固件刷新对io影响时间。
例如,固件刷新的时间为50s,io停止读写时间为10s,则当固件刷新的时间为50s时,固件刷新对io影响时间为10s。需要说明的是,io停止读写时间与固件刷新的时间相关,因此,固件刷新对io影响时间与固件刷新的时间相关。
步骤207:根据固件刷新对io影响时间生成提示信息,将提示信息发送给用户。
如图3所示,本发明实施例提供了一种固件刷新对io影响时间的检测装置,包括:
确定单元301,用于确定测试周期;
刷新单元302,用于控制设备在确定单元301确定的测试周期中进行固件刷新;
采集单元303,用于按照预设的采集周期采集设备的io读写状态;
处理单元304,用于根据采集单元303采集的设备的io读写状态,确定刷新单元302中固件刷新对io影响时间。
在本发明的一个实施例中,确定单元301,进一步用于确定测试周期中,固件刷新的时间;
处理单元304,用于根据采集单元303采集的设备的io读写状态,确定设备的io停止读写时间;根据301确定单元确定的固件刷新的时间和io停止读写时间,确定固件刷新对io影响时间。
在本发明的一个实施例中,处理单元304,进一步用于根据固件刷新对io影响时间生成提示信息,将提示信息发送给用户。
在本发明的一个实施例中,设备,包括:主机总线适配器hba。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行执行指令时,存储控制器执行上述任一实施例的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
存储器用于存储执行指令,处理器与存储器通过总线连接,当存储控制器运行时,处理器执行存储器存储的执行指令,以使存储控制器执行上述任一实施例的方法。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上,本发明各个实施例至少具有如下效果:
1、在本发明实施例中,该方法可以控制设备中的固件在测试周期内进行刷新,并根据固件刷新时设备的io读写状态,确定固件刷新对io影响时间。该方法能够准确获取固件刷新对io影响时间,可用于验证固件产品的稳定性。
2、在本发明实施例中,固件刷新会造成设备的io停止读写,通过采集设备的io读写状态,可以确定设备的io停止读写时间,进而确定固件刷新对io影响时间。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。