本发明属于服务器测试技术领域,尤其涉及一种服务器风扇可用性测试方法及系统。
背景技术
无论在板卡生产工厂还是在系统组装工厂,在完成服务器的组装后,通常需要对服务器风扇功能进行测试。在当前的服务器产品的批量生产中,对产品的测试自动化、测试效率和测试覆盖率要求极高。风扇的可用性直接影响服务器的散热性能及整机性能。
目前,服务器在生产过程中,常用的风扇测试方法为通过bmcweb查看风扇在位状态、转速信息以及做转速调整测试,这种方法需要人工操作,自动化程度较低且耗时较长。
技术实现要素:
本发明的目的在于提供一种服务器风扇可用性测试方法,旨在解决现有技术中风扇的可用性测试采用人工参与的手动方式实现,自动化程度较低,测试耗时较长的问题。
本发明是这样实现的,一种服务器风扇可用性测试方法,所述方法包括下述步骤:
服务器开机启动后,遍历读取每一个风扇的在位状态,并判断每个风扇当前的在位状态与预先设置的风扇期望状态是否一致;
当每个风扇当前的在位状态与预先设置的风扇期望状态一致时,将每个风扇的控制模式设置为手动模式,并向每个风扇发送预设值的其中一个占空比pwm;
等待预设转速稳定时间后,读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过;
当可用性测试结束时,将每个风扇的控制模式设置为自动模式。
作为一种改进的方案,所述方法还包括下述步骤:
预先设置风扇个数、各个风扇的在位状态、转速稳定时间、多个风扇占空比pwm以及对应的转速标准值。
作为一种改进的方案,所述方法还包括下述步骤:
当向每个风扇发送预设值的占空比pwm指令不成功时,则执行所述将每个风扇的控制模式设置为自动模式的步骤。
作为一种改进的方案,所述读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过的步骤具体包括下述步骤:
遍历读取每一个在位风扇当前的占空比pwm,并将读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm进行比对;
当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm相匹配时,遍历读取每一个风扇当前的转速值,并将读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值进行比对,判断读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值是否一致;
当读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值一致时,则控制返回循环执行所述向每个风扇发送预设值的其中一个占空比pwm的步骤;
当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm不相匹配,或读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值不一致时,控制返回执行所述将每个风扇的控制模式设置为自动模式的步骤。
作为一种改进的方案,所述预设占空比pwm包括高占空比pwm、中占空比pwm和低占空比pwm。
本发明的另一目的在于提供一种服务器风扇可用性测试系统,所述系统包括:
在位状态读取模块,用于服务器开机启动后,遍历读取每一个风扇的在位状态;
第一判断模块,用于判断每个风扇当前的在位状态与预先设置的风扇期望状态是否一致;
第一控制模式设置模块,用于当每个风扇当前的在位状态与预先设置的风扇期望状态一致时,将每个风扇的控制模式设置为手动模式;
占空比发送模块,用于向每个风扇发送预设值的其中一个占空比pwm;
测试执行模块,用于等待预设转速稳定时间后,读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过;
第二控制模式设置模块,用于当可用性测试结束时,将每个风扇的控制模式设置为自动模式。
作为一种改进的方案,所述系统还包括:
预先设置模块,用于预先设置风扇个数、各个风扇的在位状态、转速稳定时间、多个风扇占空比pwm以及对应的转速标准值。
作为一种改进的方案,所述系统还包括:
第一返回执行控制模块,用于当向每个风扇发送预设值的占空比pwm指令不成功时,则执行所述将每个风扇的控制模式设置为自动模式的步骤。
作为一种改进的方案,所述测试执行模块具体包括:
pwm遍历读取模块,用于遍历读取每一个在位风扇当前的占空比pwm;
第一比对模块,用于将读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm进行比对;
转速值遍历读取模块,用于当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm相匹配时,遍历读取每一个风扇当前的转速值;
第二比对模块,用于将读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值进行比对,判断读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值是否一致;
循环执行模块,用于当读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值一致时,则控制返回循环执行所述向每个风扇发送预设值的其中一个占空比pwm的步骤;
第二返回执行控制模块,用于当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm不相匹配,或读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值不一致时,控制返回执行所述将每个风扇的控制模式设置为自动模式的步骤。
作为一种改进的方案,所述预设占空比pwm包括高占空比pwm、中占空比pwm和低占空比pwm。
在本发明实施例中,服务器开机启动后,遍历读取每一个风扇的在位状态,并判断每个风扇当前的在位状态与预先设置的风扇期望状态是否一致;当每个风扇当前的在位状态与预先设置的风扇期望状态一致时,将每个风扇的控制模式设置为手动模式,并向每个风扇发送预设值的其中一个占空比pwm;等待预设转速稳定时间后,读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过;当可用性测试结束时,将每个风扇的控制模式设置为自动模式,从而实现对风扇在位状态的自动检测,以及风扇可用性的自动检测,确保了服务器产品的品质,提高了测试效率和自动化水平。
附图说明
图1是本发明提供的服务器风扇可用性测试方法的实现流程图;
图2是本发明提供的读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过的实现流程图;
图3是本发明提供的服务器风扇可用性测试系统的结构框图;
图4是本发明提供的测试执行模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明提供的服务器风扇可用性测试方法的实现流程图,其具体包括下述步骤:
在步骤s101中,服务器开机启动后,遍历读取每一个风扇的在位状态,并判断每个风扇当前的在位状态与预先设置的风扇期望状态是否一致。
在该步骤中,服务器产品中风扇在位个数是确定的,因此在风扇可用性检测之前,需要先检测风扇的在位状态;
当每个风扇当前的在位状态与预先设置的风扇期望状态不一致时,则判定检测不通过,并执行将风扇的控制模式设置为自动模式。
在步骤s102中,当每个风扇当前的在位状态与预先设置的风扇期望状态一致时,将每个风扇的控制模式设置为手动模式,并向每个风扇发送预设值的其中一个占空比pwm。
在该步骤中,将预先设置多个占空比pwm中选取其中一个,进行风扇可用性检测,检测完成一个后,在从剩余的预设的占空比pwm中选取一个进行可用性测试,直至完成所有预设的占空比pwm的检测;
其中,向每个风扇发送占空比pwm的方式可以通过智能平台管理接口(intelligentplatformmanagementinterface,ipmi)命令实现,当然后续的遍历读取。
当向每个风扇发送预设值的其中一个占空比pwm不成功时,则也执行将每个风扇的控制模式设置为自动模式的步骤。
在步骤s103中,等待预设转速稳定时间后,读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过。
在该步骤中,对风扇在位当前的占空比pwm和对应的转速值进行获取,并与预设值进行比对判断,判断检测是否通过,当均检测通过时,才判定整个服务器产品可用性检测通过,否则检测不通过。
在步骤s104中,当可用性测试结束时,将每个风扇的控制模式设置为自动模式。
在该步骤中,当对服务器产品的可用性进行检测时,不管可用性检测通过与否,均需要将服务器风扇的控制模式设置为原始的自动模式。
在本发明实施例中,在执行上述步骤s101之前还需要执行下述步骤:
预先设置风扇个数、各个风扇的在位状态、转速稳定时间、多个风扇占空比pwm以及对应的转速标准值;
其中,该风扇占空比pwm可以设置为三个参数,即:高占空比pwm、中占空比pwm和低占空比pwm。
如图2所示,读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过的步骤具体包括下述步骤:
在步骤s201中,遍历读取每一个在位风扇当前的占空比pwm,并将读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm进行比对。
在步骤s202中,当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm相匹配时,遍历读取每一个风扇当前的转速值,并将读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值进行比对,判断读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值是否一致。
在步骤s203中,当读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值一致时,则控制返回循环执行所述向每个风扇发送预设值的其中一个占空比pwm的步骤。
在步骤s204中,当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm不相匹配,或读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值不一致时,控制返回执行所述将每个风扇的控制模式设置为自动模式的步骤。
为了便于实现,下述给出本发明提供的服务器产品可用性检测shell脚本,运行该脚本即可实现自动化测试,其具体为:
图3示出了本发明提供的服务器风扇可用性测试系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
服务器风扇可用性测试系统包括:
在位状态读取模块11,用于服务器开机启动后,遍历读取每一个风扇的在位状态;
第一判断模块12,用于判断每个风扇当前的在位状态与预先设置的风扇期望状态是否一致;
第一控制模式设置模块13,用于当每个风扇当前的在位状态与预先设置的风扇期望状态一致时,将每个风扇的控制模式设置为手动模式;
占空比发送模块14,用于向每个风扇发送预设值的其中一个占空比pwm;
测试执行模块15,用于等待预设转速稳定时间后,读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过;
第二控制模式设置模块16,用于当可用性测试结束时,将每个风扇的控制模式设置为自动模式。
其中,预先设置模块17,用于预先设置风扇个数、各个风扇的在位状态、转速稳定时间、多个风扇占空比pwm以及对应的转速标准值。
第一返回执行控制模块18,用于当向每个风扇发送预设值的占空比pwm指令不成功时,则执行所述将每个风扇的控制模式设置为自动模式的步骤。
如图4所示,测试执行模块15具体包括:
pwm遍历读取模块19,用于遍历读取每一个在位风扇当前的占空比pwm;
第一比对模块20,用于将读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm进行比对;
转速值遍历读取模块21,用于当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm相匹配时,遍历读取每一个风扇当前的转速值;
第二比对模块22,用于将读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值进行比对,判断读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值是否一致;
循环执行模块23,用于当读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值一致时,则控制返回循环执行所述向每个风扇发送预设值的其中一个占空比pwm的步骤;
第二返回执行控制模块24,用于当读取到的当前在位风扇的当前的占空比pwm与预先设置的其中一个占空比pwm不相匹配,或读取到的当前风扇的转速值与预先设置的当前占空比pwm下的转速标准值不一致时,控制返回执行所述将每个风扇的控制模式设置为自动模式的步骤。
在该实施例中,上述各个模块的功能如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,服务器开机启动后,遍历读取每一个风扇的在位状态,并判断每个风扇当前的在位状态与预先设置的风扇期望状态是否一致;当每个风扇当前的在位状态与预先设置的风扇期望状态一致时,将每个风扇的控制模式设置为手动模式,并向每个风扇发送预设值的其中一个占空比pwm;等待预设转速稳定时间后,读取在位的每一个风扇的当前占空比pwm和对应的当前转速,并分别与预设的占空比pwm和对应的转速标准值进行比对,判断风扇可用性测试是否通过;当可用性测试结束时,将每个风扇的控制模式设置为自动模式,从而实现对风扇在位状态的自动检测,以及风扇可用性的自动检测,确保了服务器产品的品质,提高了测试效率和自动化水平。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。