Fan control method, storage medium, electronic device and computer program product

By acquiring and processing temperature information of multiple temperature sensors, including using alternative temperature information to process abnormal data, the problem of inaccurate fan rotation when the server component is abnormal is solved, and more efficient server cooling and stability are achieved.

CN118855748BActive Publication Date: 2025-04-29INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411343003.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2025-04-29
Estimated Expiration
2044-09-25

AI Technical Summary

Technical Problem

When the temperature of the components inside the server is abnormal, the fan rotation cannot be accurately controlled, which affects the heat dissipation effect of the server.

Method used

By obtaining the temperature information of multiple temperature sensors in the server, if the temperature information of some sensors is abnormal, use alternative temperature information to calculate, determine the fan speed value, and control the fan rotation.

Benefits of technology

It improves the accuracy of fan rotation, ensures that the server can still effectively dissipate heat under abnormal temperature conditions, and increases the stability and fault tolerance of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118855748B_ABST
    Figure CN118855748B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a fan control method and storage medium, an electronic device and a computer program product, which relate to the field of computers. The fan control method includes: obtaining temperature information of N temperature sensors in a server, wherein N is a positive integer greater than or equal to 2; when the temperature information of M temperature sensors among the N temperature sensors is abnormal, obtaining M substitute temperature information corresponding to the M temperature sensors, wherein the mth substitute temperature information among the M substitute temperature information is used to reflect the temperature of a monitored object corresponding to the mth temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N; determining a fan speed value according to the temperature information of the N-M temperature sensors and the M substitute temperature information, and controlling the fan of the server to rotate at the fan speed value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a fan control method and storage medium, an electronic device, and a computer program product. Background Art

[0002] The fan is an important part of the server system. The fan rotates to dissipate heat for the components inside the server, thereby ensuring the normal operation of the server. In the related art, the controller calculates the fan speed value based on the temperature of the components in the server, and controls the fan to rotate according to the fan speed value. However, when the temperature of the components inside the server is abnormal, the speed value calculated by the controller will be in error, which will affect the heat dissipation of the server.

[0003] In the related art, when the temperature of components inside the server is abnormal, the rotation of the fan cannot be accurately controlled, and no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present application provide a fan control method and storage medium, an electronic device and a computer program product to at least solve the problem that the fan rotation cannot be accurately controlled when the temperature of the components inside the server is abnormal.

[0005] According to an embodiment of the present application, a fan control method is provided, comprising: obtaining temperature information of N temperature sensors in a server, wherein N is a positive integer greater than or equal to 2, and the monitoring objects of the N temperature sensors include components of the server and / or the environment in which the server is located; when the temperature information of M temperature sensors among the N temperature sensors is abnormal, obtaining M substitute temperature information corresponding to the M temperature sensors, wherein the mth substitute temperature information among the M substitute temperature information is used to reflect the temperature of the monitoring object corresponding to the mth temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N; determining a fan speed value according to the temperature information of the NM temperature sensors and the M substitute temperature information, and controlling the fan of the server to rotate at the fan speed value.

[0006] In an exemplary embodiment, obtaining M alternative temperature information corresponding to the M temperature sensors includes: determining a temperature detector on the main board of the server according to the position of a monitoring object of an mth temperature sensor among the M temperature sensors, wherein the distance between the temperature detector and the monitoring object is less than a preset distance; and determining the alternative temperature information corresponding to the mth temperature sensor according to the temperature information of the temperature detector.

[0007] In an exemplary embodiment, determining the fan speed value based on the temperature information of NM temperature sensors and the M alternative temperature information includes: determining the jth speed value based on the temperature information of the jth temperature sensor among the NM temperature sensors to obtain NM speed values, where j is 1, ..., NM-1, NM; determining M speed values ​​based on the M alternative temperature information; and determining the maximum speed value among the NM speed values ​​and the M speed values ​​as the fan speed value.

[0008] In an exemplary embodiment, determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors includes: determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors based on a proportional-integral-differential control algorithm.

[0009] In an exemplary embodiment, before determining the jth speed value based on the temperature information of the jth temperature sensor among the NM temperature sensors, the method further includes: determining the time difference between the jth reference moment and the jth moment to obtain the jth time difference value, wherein the jth moment is the moment for acquiring the temperature information of the jth temperature sensor, and the jth reference moment is the moment for starting to determine the jth speed value based on the temperature information of the jth temperature sensor; determining the jth temperature compensation amount based on the jth time difference value, and compensating the temperature information of the jth temperature sensor based on the jth temperature compensation amount to update the acquired temperature information of the jth temperature sensor.

[0010] In an exemplary embodiment, determining the jth temperature compensation amount according to the jth time difference value, and compensating the temperature information of the jth temperature sensor according to the jth temperature compensation amount, includes: determining the jth first time threshold corresponding to the jth temperature sensor; when the jth time difference value is greater than or equal to the jth first time threshold, determining the jth temperature compensation amount according to the jth time difference value, and compensating the temperature information of the jth temperature sensor according to the jth temperature compensation amount; wherein, when the jth time difference value is less than the jth first time threshold, no compensation is performed on the temperature information of the jth temperature sensor.

[0011] In an exemplary embodiment, determining the jth temperature compensation amount according to the jth time difference value, and compensating the temperature information of the jth temperature sensor according to the jth temperature compensation amount, includes: determining the jth second time threshold corresponding to the jth temperature sensor, wherein the jth second time threshold is greater than the jth first time threshold; when the jth time difference value is greater than or equal to the jth first time threshold and less than the jth second time threshold, determining the jth temperature compensation amount according to the jth time difference value, and compensating the temperature information of the jth temperature sensor according to the jth temperature compensation amount.

[0012] In an exemplary embodiment, the method also includes: when the jth time difference is greater than or equal to the jth second time threshold, determining the importance of the temperature information of the jth temperature sensor according to the attribute information of the jth temperature sensor; determining the jth speed value according to the importance of the temperature information of the jth temperature sensor, and prohibiting the determination of the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors.

[0013] In an exemplary embodiment, determining the jth temperature compensation amount based on the jth time difference value includes: determining a first change rate of the temperature detected by the jth temperature sensor within a preset time before the jth moment; multiplying the first change rate by the jth time difference value to obtain the jth temperature compensation amount.

[0014] In an exemplary embodiment, after determining the NM speed values ​​and the maximum speed value among the M speed values ​​as the fan speed value, the method further includes: determining a target time, wherein the target time is a start time for determining the fan speed value based on the temperature information of the NM temperature sensors and the M alternative temperature information; determining a time difference between a specified time and the target time to obtain a target time difference, wherein the specified time is a time at which the fan of the server is to be controlled to rotate according to the determined speed value; determining a speed value compensation amount according to the target time difference, and compensating the fan speed value according to the speed value compensation amount to update the fan speed value.

[0015] In an exemplary embodiment, the speed value compensation amount is determined according to the target time difference, and the fan speed value is compensated according to the speed value compensation amount, including: when the target time difference is greater than or equal to a first preset threshold value, the speed value compensation amount is determined according to the target time difference, and the fan speed value is compensated according to the speed value compensation amount; wherein, when the target time difference is less than the first preset threshold value, the fan speed value is not compensated.

[0016] In an exemplary embodiment, the speed value compensation amount is determined according to the target time difference, and the fan speed value is compensated according to the speed value compensation amount, including: when the target time difference is greater than or equal to a first preset threshold and less than a second preset threshold, the speed value compensation amount is determined according to the target time difference, and the fan speed value is compensated according to the speed value compensation amount, wherein the second preset threshold is greater than the first preset threshold.

[0017] In an exemplary embodiment, the method further includes: when the target time difference is greater than or equal to the second preset threshold, updating the fan speed value to a maximum speed value of the fan of the server.

[0018] In an exemplary embodiment, determining the speed value compensation amount based on the target time difference includes: determining a second change rate of the speed of the fan of the server within a preset time before the specified moment; multiplying the second change rate by the target time difference to obtain the speed value compensation amount.

[0019] In an exemplary embodiment, the method also includes: in a case where only P pieces of alternative temperature information corresponding to P temperature sensors among the M temperature sensors are obtained, determining a first speed value according to the attribute information of the MP temperature sensors, and determining a second speed value according to the temperature information of the NM temperature sensors and the P pieces of alternative temperature information, where P is an integer greater than or equal to 0 and less than M, wherein the attribute information of the temperature sensor is used to indicate the monitoring object of the temperature sensor; controlling the fan of the server to rotate at a target speed value, wherein the target speed value is the maximum value of the first speed value and the second speed value.

[0020] In an exemplary embodiment, determining the first speed value based on the attribute information of MP temperature sensors includes: determining the abnormal temperature level of the server based on the attribute information of the MP temperature sensors, obtaining the target abnormal temperature level, and determining a corresponding target speed value calculation algorithm based on the target abnormal temperature level; using the target speed value calculation algorithm to determine the first speed value based on the average chassis temperature of the server.

[0021] In an exemplary embodiment, determining the abnormal temperature level of the server according to the attribute information of the MP temperature sensors includes: determining MP abnormal temperature levels corresponding to the MP temperature sensors according to the attribute information of the MP temperature sensors, wherein the abnormal temperature level of the i-th temperature sensor among the MP temperature sensors is determined according to the attribute information of the i-th temperature sensor, and i is a positive integer greater than or equal to 1 and less than or equal to MP; and determining the highest level among the MP abnormal temperature levels as the target abnormal temperature level.

[0022] According to another embodiment of the embodiment of the present application, a fan control device is also provided, including: a first acquisition module, used to acquire temperature information of N temperature sensors in a server, wherein N is a positive integer greater than or equal to 2, and the monitoring objects of the N temperature sensors include components of the server and / or the environment in which the server is located; a second acquisition module, used to acquire M alternative temperature information corresponding to the M temperature sensors when the temperature information of M temperature sensors among the N temperature sensors is abnormal, wherein the m-th alternative temperature information among the M alternative temperature information is used to reflect the temperature of the monitoring object corresponding to the m-th temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N; a control module, used to determine a fan speed value based on the temperature information of the NM temperature sensors and the M alternative temperature information, and control the fan of the server to rotate at the fan speed value.

[0023] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0024] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0025] According to another embodiment of the present application, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0026] The present application can use the corresponding alternative temperature information to participate in the calculation of the fan speed value when M temperature sensors cannot read temperature information or other faults occur, so that the fan speed value calculated by the controller is more accurate, that is, the rotation of the fan can be controlled more accurately, solving the problem of being unable to accurately control the rotation of the fan when the temperature of the components inside the server is abnormal. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0028] Figure 1 is a hardware structure block diagram of a server device according to a fan control method of an embodiment of the present application;

[0029] Figure 2 is a flow chart of a fan control method according to an embodiment of the present application;

[0030] Figure 3 is a schematic diagram of an optional component temperature abnormality according to an embodiment of the present application;

[0031] Figure 4 is a schematic diagram of an optional fan device according to an embodiment of the present application;

[0032] Figure 5 is a schematic diagram of an optional relationship between fan speed and temperature according to an embodiment of the present application;

[0033] Figure 6 is a schematic diagram of an optional method for controlling the rotation of a fan according to an embodiment of the present application;

[0034] Figure 7 is an optional flow chart for controlling fan rotation according to an embodiment of the present application;

[0035] Figure 8 is another optional flow chart for controlling fan rotation according to an embodiment of the present application;

[0036] Fig. 9 is a structural block diagram of a fan control device according to an embodiment of the present application;

[0037] Fig.10 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0038] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0039] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0040] The fan control method embodiment provided in the embodiment of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a server device of a fan control method according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0041] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the fan control method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0042] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0043] In order to solve the above problems, this embodiment provides a fan control method, such as Figure 2 As shown, the process includes the following steps S202-S206:

[0044] Step S202: Acquire temperature information of N temperature sensors in the server, where N is a positive integer greater than or equal to 2, and the monitoring objects of the N temperature sensors include components of the server and / or the environment in which the server is located;

[0045] Optionally, in the embodiment of the present application, the execution subject of the fan control method is a controller, and the controller is a baseboard management controller (Baseboard Management Controller, referred to as BMC for short).

[0046] Optionally, the monitoring objects corresponding to some or all of the N temperature sensors may be the same or different.

[0047] Optionally, the controller in the server will monitor the temperature information of each component and environment in the server in real time through N temperature sensors. The components of the server include but are not limited to: hard disk, network card, chip on the mainboard of the server, etc. Each temperature sensor monitors different components, thereby ensuring that the server can monitor the temperature of all components and handle any abnormalities in a timely manner.

[0048] Optionally, when the controller determines that the temperature information of M temperature sensors among the N temperature sensors is abnormal, the controller may send an alarm message.

[0049] Step S204: when temperature information of M temperature sensors among the N temperature sensors is abnormal, obtain M substitute temperature information corresponding to the M temperature sensors, wherein the mth substitute temperature information among the M substitute temperature information is used to reflect the temperature of the monitored object corresponding to the mth temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N;

[0050] Step S206: determining a fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information, and controlling the fan of the server to rotate at the fan speed value.

[0051] Through the above steps, when M temperature sensors cannot read temperature information or other faults occur, the corresponding alternative temperature information can be used to participate in the calculation of the fan speed value, so that the fan speed value calculated by the controller is more accurate, that is, the rotation of the fan can be controlled more accurately, which solves the problem that the fan rotation cannot be accurately controlled when the temperature of the components inside the server is abnormal, so that the system will not be overheated due to abnormal temperature for a long time, and the server's cooling system can still work effectively, avoiding the reduction of cooling efficiency, and increasing the stability and fault tolerance of the system.

[0052] In an exemplary embodiment, the obtaining of the M pieces of substitute temperature information corresponding to the M temperature sensors may be implemented by following the steps S11-S12:

[0053] Step S11: determining a temperature detector on the mainboard of the server according to the position of the monitored object of the mth temperature sensor among the M temperature sensors, wherein the distance between the temperature detector and the monitored object is less than a preset distance;

[0054] Step S12: determining the replacement temperature information corresponding to the mth temperature sensor according to the temperature information of the temperature detector.

[0055] Optionally, there may be multiple temperature detectors.

[0056] Optionally, assuming that there is temperature information of a temperature detectors, where a is greater than or equal to 2, the replacement temperature information corresponding to the mth temperature sensor is the average temperature corresponding to the temperature information of the a temperature detectors.

[0057] In an exemplary embodiment, the determining of the fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information may be implemented by the following steps S21-S23:

[0058] Step S21: determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors, and obtaining NM speed values, wherein j is 1, ..., NM-1, NM;

[0059] Step S22: determining M rotation speed values ​​according to the M replacement temperature information;

[0060] It should be noted that the method of determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors is consistent with the method of determining the mth speed value among the M speed values ​​according to the mth alternative temperature information among the M alternative temperature information.

[0061] Step S23: determining the maximum speed value among the NM speed values ​​and the M speed values ​​as the fan speed value.

[0062] In an exemplary embodiment, determining the jth speed value based on the temperature information of the jth temperature sensor among the NM temperature sensors can be achieved by the following steps: based on a proportional-integral-differential control algorithm, determining the jth speed value based on the temperature information of the jth temperature sensor among the NM temperature sensors.

[0063] Optionally, refer to Figure 6 The proportional-integral-derivative (PID) control algorithm is based on a preset formula and calculates the corresponding speed value in real time according to the speed regulation parameters and temperature information of NM temperature sensors.

[0064] Optionally, the preset formula is: u(t)=kP(e(t)+1 / T1ʃe(t)dt+TD*(de(t) / dt)); wherein u(t) is the output signal generated by the controller, i.e., the speed value; kP is the proportional gain, which controls the strength of the proportional term, and the proportional gain determines the degree of direct influence of the error (e(t)) on the output (u(t)); e(t) is the error signal; 1 / T1 is the gain of the integral term, wherein T1 represents the integral time constantʃe(t)dt is the integral of the error signal (e(t)), and the integral term can ensure that the controller output is adjusted with the error accumulated over time; TD is the differential time constant, which controls the strength of the differential term, and the function of the differential term is to predict future error changes to reduce overshoot in the response process; de(t) / dt is the differential of the error signal (e(t)), i.e., the rate of change of the error over time.

[0065] Optionally, Figure 5 The relationship between the speed value calculated by the PID algorithm and the temperature is shown. It can be seen that as the temperature (known through the temperature information) increases, the fan speed will also increase accordingly.

[0066] It should be noted that the PID control algorithm calculates the speed value in a more complex and dynamic system-adaptive way by taking into account the current value, past value (integral term) and future value (differential term) of the error at the same time. In thermal control, this can help the system reach the target temperature more quickly and maintain stability while reducing unnecessary fan speed fluctuations.

[0067] In an exemplary embodiment, before determining the j-th speed value according to the temperature information of the j-th temperature sensor among the NM temperature sensors, the method further includes the following steps S31-S32:

[0068] Step S31: determining a time difference between the jth reference moment and the jth moment to obtain a jth time difference value, wherein the jth moment is a moment for acquiring temperature information of the jth temperature sensor, and the jth reference moment is a moment for starting to determine a jth speed value according to the temperature information of the jth temperature sensor;

[0069] Optionally, the jth moment is the moment when the controller sends an acquisition instruction to the jth temperature sensor, where the acquisition instruction is used to instruct to acquire temperature information of the jth temperature sensor.

[0070] Optionally, when the controller obtains the temperature information of the jth temperature sensor, a timestamp record is synchronously obtained, and the timestamp record is stored in a volatile memory and / or a non-volatile memory of the server, thereby obtaining the moment of the temperature information of the jth temperature sensor.

[0071] Step S32: determining a jth temperature compensation amount according to the jth time difference, and performing compensation processing on the temperature information of the jth temperature sensor according to the jth temperature compensation amount to update the acquired temperature information of the jth temperature sensor.

[0072] It should be noted that there will be a period of time between the moment when the temperature information of the jth temperature sensor is obtained and the moment when the jth speed value is determined based on the temperature information of the jth temperature sensor. If a large temperature change occurs during this period of time, the temperature information detected by the jth temperature sensor at the jth reference moment and the temperature information detected by the jth temperature sensor at the jth moment will be very different, which will cause the determined fan speed value to be inaccurate. In order to determine the fan speed value more accurately, it is necessary to determine the jth temperature compensation amount based on the jth time difference, and compensate the temperature information of the jth temperature sensor based on the jth temperature compensation amount.

[0073] In an exemplary embodiment, determining the jth temperature compensation amount according to the jth time difference value, and compensating the temperature information of the jth temperature sensor according to the jth temperature compensation amount can be implemented by the following steps S41-S42:

[0074] Step S41: determining the jth first time threshold corresponding to the jth temperature sensor;

[0075] Step S42: When the j-th time difference is greater than or equal to the j-th first time threshold, determine the j-th temperature compensation amount according to the j-th time difference, and compensate the temperature information of the j-th temperature sensor according to the j-th temperature compensation amount; wherein, when the j-th time difference is less than the j-th first time threshold, do not compensate the temperature information of the j-th temperature sensor.

[0076] Optionally, the compensation processing for temperature information can be a selectively triggered threshold-type compensation, that is, a reasonable first time threshold is determined according to the abnormal temperature level. For example, the processor is a relatively important component. When the temperature information of the processor is delayed by 100 milliseconds (that is, the first preset threshold), the compensation is started, and the temperature information of other components is delayed by 1 second before the compensation is started.

[0077] It should be noted that the reference Figure 8 It can be seen that there is a large time delay in the server system. If the jth time difference is greater than or equal to the jth first time threshold, it means that the time from the moment when the temperature information of the jth temperature sensor is obtained to the moment when the jth speed value is determined according to the temperature information of the jth temperature sensor is long, and the temperature information of the jth temperature sensor is very likely to have changed significantly. In order to more accurately determine the speed value of the fan, it is necessary to compensate for the temperature information of the jth temperature sensor.

[0078] In an exemplary embodiment, determining the jth temperature compensation amount according to the jth time difference, and compensating the temperature information of the jth temperature sensor according to the jth temperature compensation amount can be implemented by the following steps S51-S52:

[0079] Step S51: determining a j-th second time threshold corresponding to the j-th temperature sensor, wherein the j-th second time threshold is greater than the j-th first time threshold;

[0080] Step S52: When the jth time difference is greater than or equal to the jth first time threshold and less than the jth second time threshold, determine the jth temperature compensation amount according to the jth time difference, and compensate the temperature information of the jth temperature sensor according to the jth temperature compensation amount.

[0081] It should be noted that by presetting the second time threshold, it can be ensured that the jth temperature compensation amount is valid, that is, the temperature information of the jth temperature sensor is compensated in a short time, and the speed value obtained according to the compensated temperature information is valid.

[0082] In an exemplary embodiment, the method further includes the following steps S61-S62:

[0083] Step S61: when the jth time difference is greater than or equal to the jth second time threshold, determining the importance of the temperature information of the jth temperature sensor according to the attribute information of the jth temperature sensor;

[0084] Step S62: determining the jth speed value according to the importance of the temperature information of the jth temperature sensor, and prohibiting determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors.

[0085] Optionally, the j-th speed value may be full speed, that is, the maximum speed value of the fan.

[0086] In an exemplary embodiment, the method further includes the following steps S61 and S63. Step S63 includes: determining the compensation speed value of the jth speed value according to the importance of the temperature information of the jth temperature sensor, wherein after determining the jth speed value according to the temperature information of the jth temperature sensor, adding the compensation speed value of the jth speed value to the jth speed value to update the jth speed value.

[0087] It should be noted that when the jth time difference is greater than or equal to the jth second time threshold, it means that the time from the moment when the temperature information of the jth temperature sensor is obtained to the moment when the jth speed value is determined based on the temperature information of the jth temperature sensor is long. Even if the temperature compensation amount is calculated and / or predicted, it may not be able to cover the actual temperature change. When the jth time difference exceeds the second time threshold, it should be directly judged that the temperature is invalid, and the heat dissipation enters the abnormal mode. According to the importance of the temperature, choose to fully rotate or increase the corresponding speed to prevent the system from overheating.

[0088] In an exemplary embodiment, determining the jth temperature compensation amount according to the jth time difference value may be implemented by the following steps S71-S72:

[0089] Step S71: determining a first change rate of the temperature detected by the j-th temperature sensor within a preset time before the j-th moment;

[0090] Step S72: multiplying the first change rate by the j-th time difference to obtain the j-th temperature compensation amount.

[0091] That is to say, in this embodiment, it is necessary to calculate the trends of the previous multiple temperature changes, such as the slope of the temperature change, whether it is a sudden increase, a relatively stable or a sudden decrease, and then predict the possible temperature change within the delay time according to the change slope (i.e. the above-mentioned first change rate) multiplied by the temperature delay (i.e. the above-mentioned j-th time difference), and finally make the predicted temperature change participate in the PID calculation, so as to make the calculation more accurate.

[0092] In an exemplary embodiment, after determining the maximum speed value among the NM speed values ​​and the M speed values ​​as the fan speed value, the method further includes the following steps S81-S83:

[0093] Step S81: determining a target time, wherein the target time is a start time for determining a fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information;

[0094] Optionally, determining the jth rotation speed value according to the temperature information of the jth temperature sensor and determining the j+1th rotation speed value according to the temperature information of the j+1th temperature sensor are performed asynchronously.

[0095] Optionally, determining the mth rotation speed value according to the m replacement temperature information and determining the m+1th rotation speed value according to the m+1th replacement temperature information are performed asynchronously.

[0096] It should be noted that the target time is the earliest time among multiple times, wherein the multiple times include: determining the starting time of the jth speed value based on the temperature information of the jth temperature sensor and determining the starting time of the mth speed value based on m alternative temperature information.

[0097] Step S82: determining a time difference between the designated time and the target time to obtain a target time difference, wherein the designated time is a time at which the fan of the server is to be controlled to rotate according to the determined rotation speed value;

[0098] Step S83: determining a rotation speed compensation amount according to the target time difference, and performing compensation processing on the fan rotation speed value according to the rotation speed compensation amount to update the fan rotation speed value.

[0099] It should be noted that there will be a period of time between the start time of determining the fan speed value based on the temperature information of NM temperature sensors and the M alternative temperature information and the time when the fan of the server is controlled to rotate according to the determined speed value. If a large speed change occurs during this period of time, the speed of the fan ultimately controlled will be inaccurate. In order to determine the fan speed value more accurately, it is necessary to determine the speed value compensation amount based on the target time difference, and compensate the fan speed value based on the speed value compensation amount.

[0100] In an exemplary embodiment, determining the speed value compensation amount according to the target time difference and compensating the fan speed value according to the speed value compensation amount can be achieved through the following steps: when the target time difference is greater than or equal to a first preset threshold value, determining the speed value compensation amount according to the target time difference and compensating the fan speed value according to the speed value compensation amount; wherein, when the target time difference is less than the first preset threshold value, no compensation is performed on the fan speed value.

[0101] Optionally, the speed value compensation process may be a selectively triggered threshold compensation, that is, determining a reasonable first preset threshold, for example, starting compensation when the calculation of the fan speed value is delayed by 200 milliseconds (ie, the first preset threshold).

[0102] In an exemplary embodiment, determining the speed value compensation amount according to the target time difference and compensating the fan speed value according to the speed value compensation amount can be achieved through the following steps: when the target time difference is greater than or equal to a first preset threshold and less than a second preset threshold, determining the speed value compensation amount according to the target time difference and compensating the fan speed value according to the speed value compensation amount, wherein the second preset threshold is greater than the first preset threshold.

[0103] It should be noted that by presetting the second preset threshold, it can be ensured that the speed value compensation is effective, that is, the fan speed value is compensated in a short time, and it is effective to control the fan according to the compensated fan speed value.

[0104] In an exemplary embodiment, the method further includes the following steps: when the target time difference is greater than or equal to the second preset threshold, updating the fan speed value to the maximum speed value of the fan of the server.

[0105] It should be noted that when the target time difference is greater than or equal to the second preset threshold (for example, 10 seconds), it is inferred that the system heat dissipation is out of control. At this time, compensating the fan speed value may make the system heat dissipation more likely to fail, thereby forcing the system fan to maximize heat dissipation (i.e., updating the fan speed value to the maximum speed value of the server's fan) to prevent system overheating.

[0106] In an exemplary embodiment, the determining of the rotation speed value compensation amount according to the target time difference may be implemented by the following steps S91-S92:

[0107] Step S91: determining a second change rate of the rotation speed of the fan of the server within a preset time before the specified time;

[0108] Step S92: multiplying the second change rate by the target time difference to obtain the rotation speed value compensation amount.

[0109] Optionally, the final fan speed change trends of the previous few times can be calculated, such as the slope of the speed change, whether it is a sharp increase, relatively stable, or a sharp drop, and then the speed value compensation amount is obtained by multiplying the change slope by the calculation delay, and the obtained speed value compensation amount is used to compensate the fan speed value.

[0110] In an exemplary embodiment, the method further includes the following steps S101-S102:

[0111] Step S101: when only P pieces of substitute temperature information corresponding to P temperature sensors among the M temperature sensors are obtained, determining a first rotation speed value according to attribute information of MP temperature sensors, and determining a second rotation speed value according to temperature information of NM temperature sensors and the P pieces of substitute temperature information, where P is an integer greater than or equal to 0 and less than M, and the attribute information of the temperature sensor is used to indicate a monitoring object of the temperature sensor;

[0112] Step S102: controlling the fan of the server to rotate at a target speed value, wherein the target speed value is the maximum value between the first speed value and the second speed value.

[0113] It should be noted that, through the above steps, when M temperature sensors only read part of the alternative temperature information (P alternative temperature information) or other faults occur, the first speed value can be determined according to the attribute information of the MP temperature sensors, and the second speed value can be determined according to the temperature information of the NM temperature sensors and the P alternative temperature information, and then the fan of the server is controlled to rotate at the target speed value, so that the system will not be in an abnormal temperature state for a long time and overheat, thereby increasing the stability and fault tolerance of the system.

[0114] In an exemplary embodiment, when P is equal to 0, that is, the temperature information of M temperature sensors among N temperature sensors is abnormal and there is no M alternative temperature information corresponding to the M temperature sensors, then a first speed value is determined based on the attribute information of the M temperature sensors, and a second speed value is determined based on the temperature information of NM temperature sensors, and the fan of the server is controlled to rotate at the target speed value.

[0115] In an exemplary embodiment, the determining of the first rotation speed value according to the attribute information of the MP temperature sensors may be implemented by the following steps S111-112:

[0116] Step S111: determining the abnormal temperature level of the server according to the attribute information of the MP temperature sensors, obtaining a target abnormal temperature level, and determining a corresponding target rotation speed value calculation algorithm according to the target abnormal temperature level;

[0117] Optionally, based on a target configuration file, a corresponding target speed value calculation algorithm is determined according to a target abnormal temperature level, the target configuration file contains speed value calculation algorithms corresponding to different abnormal temperature levels, and the speed value calculation algorithms include the target speed value calculation algorithm.

[0118] Optionally, the speed value calculation algorithm includes but is not limited to:

[0119] The linear equation algorithm uses a linear relationship to calculate the speed value. For example, when the target abnormal temperature level is level 9, the formula Y = 9X + 2 can be used, where X is the average temperature of the chassis and Y is the target speed value; when the target abnormal temperature level is level 1, Y = X + 1 can be used.

[0120] A multi-level ladder algorithm, that is, different ladder intervals are set based on the target abnormal temperature level of the server, and different types of speed value calculation algorithms are used in each interval. For example, when the target abnormal temperature level is between level 1 and level 3, the first type of speed value calculation formula is used; when the target abnormal temperature level is between level 4 and level 7, the second type of speed value calculation algorithm is used; when the target abnormal temperature level is between level 8 and level 9, the third type of speed value calculation algorithm is used. Optionally, the first type of speed value calculation algorithm can be an algorithm based on a linear equation (for example, the algorithm corresponding to the first level is Y = 1X + 2, the algorithm corresponding to the second level is Y = 2X + 2, and the algorithm corresponding to the third level is Y = 3X + 2), and the second type of speed value calculation algorithm can be an algorithm based on a quadratic equation (for example, the algorithm corresponding to the fourth level is Y = 4X + 2). 2+ 4, the algorithm corresponding to the fifth level is Y = 5X 2 + 5, the algorithm corresponding to the sixth level is Y = 6 X 2 + 6, the algorithm corresponding to the seventh level is Y = 7X 2 + 7), the second type of speed value calculation algorithm can be an algorithm based on a cubic equation (for example, the algorithm corresponding to the eighth level is Y = 8X 3 + 8, the algorithm corresponding to the ninth level is Y = 9X 3 + 9).

[0121] It should be noted that the multi-level ladder algorithm can perform more precise regulation according to the severity of the temperature anomaly.

[0122] It should be noted that the speed value calculation algorithm corresponding to different abnormal temperature levels is required to be high coverage low, for example: the speed value calculation algorithm corresponding to the high abnormal temperature level must calculate a speed value greater than the speed value calculation algorithm corresponding to the low abnormal temperature level under the same conditions.

[0123] Step S112: using the target rotation speed value calculation algorithm, determine the first rotation speed value according to the average temperature of the chassis of the server.

[0124] Through the above steps, different speed value calculation algorithms can be used for different abnormal temperature levels of servers, so that the fan speed can be adjusted more accurately and effectively cope with temperature changes inside or outside the server. Especially in server-intensive environments such as data centers, this method can better balance heat dissipation efficiency and energy consumption.

[0125] In an exemplary embodiment, before using the target speed value calculation algorithm to determine the first speed value according to the average chassis temperature of the server, the method further includes: obtaining temperatures detected by multiple temperature detectors on the mainboard of the server; and determining the average chassis temperature according to the temperatures detected by the multiple temperature detectors.

[0126] Optionally, the temperatures detected by the multiple temperature detectors on the mainboard are different from the temperatures detected by the N temperature sensors.

[0127] It should be noted that, through the above steps, the average temperature of the chassis can be accurately determined, so when the target speed value calculation algorithm is a linear equation algorithm, the target speed value can be calculated according to the average temperature of the chassis.

[0128] In an exemplary embodiment, the determining of the abnormal temperature level of the server according to the attribute information of the MP temperature sensors may be implemented by the following steps S121-122:

[0129] Step S121: determining MP abnormal temperature levels corresponding to the MP temperature sensors according to the attribute information of the MP temperature sensors, wherein the abnormal temperature level of the i-th temperature sensor among the MP temperature sensors is determined according to the attribute information of the i-th temperature sensor, and i is a positive integer greater than or equal to 1 and less than or equal to MP;

[0130] Step S122: Determine the highest level among the MP abnormal temperature levels as the target abnormal temperature level.

[0131] Optionally, different components and environments have different temperature levels, and different temperature sensors monitor different components and environments. M abnormal temperature levels can be determined through the components and environments indicated by the attribute information of the temperature sensors, and the abnormal temperature level with the highest temperature level among the M abnormal temperature levels is selected as the abnormal temperature level of the server, that is, the target abnormal temperature level.

[0132] Optionally, the temperature level is represented by numbers, from natural number 1 to natural number 9, different natural numbers represent different temperature levels, the larger the number, the higher the level, for example, number 1 represents the lowest level (level 1), and number 9 represents the highest level (level 9); the temperature level is determined based on the impact of temperature anomalies (including temperature loss and temperature not within a set range) on the heat dissipation performance of the server due to different components in the server and environmental temperature anomalies (including temperature loss and temperature not within a set range); the greater the impact caused by the temperature anomaly, the higher the temperature level.

[0133] The impact of abnormal temperature on the heat dissipation performance of the server can indicate the importance of the temperature of the components and environment monitored by the temperature sensor. For example, the temperature of the hard disk has a great impact on the heat dissipation performance of the server. If the temperature of the hard disk is lower, the heat dissipation performance of the server is better. Therefore, it is very necessary to monitor the temperature of the hard disk. That is, the temperature of the hard disk is more important. Once the temperature of the hard disk is lost, the corresponding temperature sensor fails to reflect the temperature of the hard disk, which will cause a great impact. Therefore, the temperature level of the hard disk is level 9.

[0134] It should be noted that, through the above steps, the abnormal temperature level of the server can be accurately determined, so that the corresponding speed value calculation algorithm can be determined more quickly, thereby more efficiently controlling the rotation of the fan and ensuring that the heat dissipation efficiency of the server is maximized.

[0135] In an exemplary embodiment, determining a second speed value based on temperature information of NM temperature sensors and the P alternative temperature information includes: determining the jth speed value based on the temperature information of the jth temperature sensor among the NM temperature sensors to obtain NM speed values, where j is 1, ..., NM-1, NM; determining P speed values ​​based on the P alternative temperature information; and determining the maximum speed value among the NM speed values ​​and the P speed values ​​as the second speed value.

[0136] In an exemplary embodiment, after determining the maximum speed value among the NM speed values ​​and the P speed values ​​as the second speed value, the method further includes: determining a first target time, wherein the first target time is the start time for determining the second speed value based on the temperature information of the NM temperature sensors and the P alternative temperature information; determining the time difference between a specified time and the first target time to obtain a first target time difference, wherein the specified time is the time at which the fan of the server is to be controlled to rotate according to the determined speed value; determining a speed value compensation amount according to the first target time difference, and compensating the fan speed value according to the speed value compensation amount to update the second speed value.

[0137] Obviously, the above described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. In order to better understand the above method, the above process is described below in combination with the embodiments, but it is not used to limit the technical solution of the embodiments of the present invention. Optionally, when the controller is a BMC:

[0138] 1. Use the temperature anomaly severity level to more accurately adjust the cooling speed in temperature acquisition anomaly scenarios;

[0139] 1. BMC divides the temperature levels according to the importance of the temperature. For example, the core temperatures such as ambient temperature / CPU / memory are the most important temperatures. The loss of their temperatures will have a very serious impact on the system heat dissipation. In this case, the severity level of such temperatures is high, such as level 9. For some generally important temperatures such as hard disk temperature / network card temperature, the loss of such temperatures will have a general impact on the system heat dissipation. In this case, the temperature has a general impact and can be set to level 5. The temperature of some small chips on the motherboard is not very important, and there is no particularly large risk of over-temperature burning. In this case, the loss of such temperatures has a small impact on the system heat dissipation and can be set to level 1. When the system is operating normally, there is no temperature loss and there is no need to start the abnormal speed regulation. In normal circumstances, it is set to level 0.

[0140] 2. When the BMC calculates the fan speed based on the temperature, if it finds that the abnormal temperature level in the system is not 0, it will start the abnormal speed adjustment operation synchronously. If there are multiple abnormal severity levels at the same time, the highest severity level will be taken. According to the current abnormal level, the corresponding calculation method of the corresponding level will be called. The preset calculation method setting requirements for different levels are high coverage and low. For example, if the method uses a linear equation of one variable, Y=KX+B, then the speed value calculated by the method of the high abnormal level under the same conditions is greater than the algorithm of the low abnormal level. For example, level 1 is Y=X+1, and level 9 is Y=9X+9. The same is true for the PID algorithm.

[0141] 3. If Figure 7 As shown, after calculation (such as PID control algorithm), the BMC system compares the result of normal temperature calculation with the result of abnormal level speed regulation, and takes the higher one for fan speed regulation.

[0142] 2. Compensate for delay;

[0143] Air-cooled server systems are the most mainstream server systems at present. In terms of heat dissipation and speed regulation, BMC is generally used as the main controller. Figure 8 , BMC cyclically collects all the temperature points in the system that need heat dissipation, and calculates the fan speed through the algorithm. Finally, BMC sets the speed to the fan through physical means, and the system is cooled by the fan rotation. The ultimate goal of the PID algorithm is to maintain a steady state of heat dissipation, but Figure 8 It can be clearly seen that there are two large time delays in the server system, one is the time delay of the BMC loop to obtain the temperature, and the other is the delay of the BMC calculating the speed setting to the fan based on the temperature cycle. The first delay is collectively referred to as the temperature delay, and the second delay is collectively referred to as the calculation delay. These two delays will seriously destroy the steady state, causing the temperature to actually change when the BMC calculates the speed based on the temperature. The calculation delay exacerbates the possibility of this change. If there is a large temperature change within the delay, it may cause unstable heat dissipation or the fan speed to fluctuate. This application adds these two heat dissipation delay concepts and combines a series of subsequent algorithm mechanisms to make the PID algorithm speed regulation smoother and more stable.

[0144] 1. Add a temperature acquisition timestamp record in the BMC temperature acquisition link. The record can be stored in the volatile and non-volatile storage of the system. The significance of the timestamp is to record the time when each temperature is successfully acquired, that is, to add the temperature time concept to the entire heat dissipation process.

[0145] 2. After the BMC calculates and successfully sets the fan speed, a timestamp record is added. The record can be stored in the system's volatile and non-volatile memory. The significance of the timestamp is to record the time when each successful calculation and setting to the time when the fan actually takes effect.

[0146] 3. Calculate the temperature delay. When the BMC obtains the temperature and is about to calculate, subtract the timestamp recorded in 1 from the current timestamp. The difference is the temperature delay.

[0147] 4. Calculate the calculation delay by subtracting the recorded timestamp from the current timestamp. The difference is the calculation delay.

[0148] 5. Temperature delay compensation, compensation triggering conditions: It can be a threshold type compensation that is selectively triggered. For example, each temperature has a threshold according to its importance. For example, compensation is started after a delay of 100 milliseconds for important temperatures such as CPU temperature, and compensation is started after 1 second for other less important temperatures. Alternatively, the temperature delay can be used as a parameter to participate in compensation each time. The temperature delay compensation value or ratio calculation method is: predictive compensation, that is, the trend of the previous multiple temperature changes is calculated according to the algorithm, such as the slope of the temperature change, whether it is a sharp increase, relatively stable or a sharp drop, and then the temperature change that may occur during the delay time is predicted according to the change slope * temperature delay, and finally the predicted temperature change is involved in the PID calculation. At the same time, a temperature invalid judgment threshold can be set according to the temperature importance. For example, the CPU temperature is of high importance. After the temperature delay of the CPU temperature exceeds 3 seconds, even if the temperature change is predicted, it may not cover its actual temperature change. After exceeding the threshold, it should be directly judged as invalid temperature, and the heat dissipation enters the abnormal mode. According to its temperature importance, choose to fully rotate or increase the corresponding speed to prevent the system from overheating.

[0149] 6. Calculation delay compensation, compensation triggering conditions: It can be a selectively triggered threshold compensation, such as the delay compensation is triggered only when the delay from the last calculation is more than 1 second, or the calculation delay is used as a parameter in each calculation, and the calculation delay compensation value or ratio calculation method is: predictive compensation, that is, the final fan speed change trend of the previous times is calculated according to the algorithm, such as the slope of the speed change, whether it is a steep increase, relatively stable or a steep drop, and then the speed change amount most likely to be required within the delay time is predicted according to the change slope * calculation delay, and the change amount is directly added to the speed of this calculation, so as to predictively adjust the speed; at the same time, a speed invalid judgment threshold can be set as needed, such as if the delay from the last calculation is greater than 10s, it is inferred that the system heat dissipation is out of control. At this time, prediction may not have a good effect, but may make the system heat dissipation failure more likely, thereby forcing the system fan to maximize heat dissipation to prevent system overheating.

[0150] It should be noted that this solution also has the following advantages:

[0151] 1. Through the abnormal severity level differentiation mechanism, the heat dissipation abnormalities are graded to avoid direct full speed. Therefore, when the server system enters abnormal heat dissipation, it can be as smooth as possible, reducing unnecessary increases in fan speed and power consumption.

[0152] 2. The concepts of temperature delay and calculation delay are added to server heat dissipation. Delay is inevitable but can be predicted based on the delay. The calculation of delay prediction can make the heat dissipation of the entire system smoother and more accurate, saving server power consumption and noise. At the same time, the concept of delay failure is introduced to avoid the risk of heat dissipation failure caused by excessive delay due to temperature and calculation delay, making server heat dissipation more efficient and stable.

[0153] Optionally, refer to Figure 3 When the component temperature sensor is abnormal, it cannot participate in fan speed regulation. The backup temperature sensor (that is, the above-mentioned alternative temperature information) will participate in fan speed regulation instead of the component temperature sensor to ensure the normal operation of the server.

[0154] At the same time, reference Figure 4 The fan has a backup design and can intelligently adjust the speed according to the temperature inside the chassis, keeping the device away from high temperature risks.

[0155] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0156] In this embodiment, a fan control device is also provided to implement the above-mentioned embodiments and preferred implementation modes, which have been described and will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the modules described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and conceivable.

[0157] Fig. 9 is a structural block diagram of a fan control device according to an embodiment of the present application, the device comprising:

[0158] A first acquisition module 92 is used to acquire temperature information of N temperature sensors in the server, wherein N is a positive integer greater than or equal to 2, and monitoring objects of the N temperature sensors include components of the server and / or an environment in which the server is located;

[0159] A second acquisition module 94 is used to acquire M substitute temperature information corresponding to the M temperature sensors when the temperature information of M temperature sensors among the N temperature sensors is abnormal, wherein the m-th substitute temperature information among the M substitute temperature information is used to reflect the temperature of the monitoring object corresponding to the m-th temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N;

[0160] The control module 96 is used to determine a fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information, and control the fan of the server to rotate at the fan speed value.

[0161] The above-mentioned device can use the corresponding alternative temperature information to participate in the calculation of the fan speed value when M temperature sensors cannot read temperature information or other faults occur, so that the fan speed value calculated by the controller is more accurate, that is, the rotation of the fan can be controlled more accurately, which solves the problem that the fan rotation cannot be accurately controlled when the temperature of the components inside the server is abnormal, so that the system will not be in an abnormal temperature state for a long time and overheat, and the server's cooling system can still work effectively, avoiding the reduction of cooling efficiency, and increasing the stability and fault tolerance of the system.

[0162] In an exemplary embodiment, the second acquisition module 94 is also used to determine the temperature detector on the main board of the server according to the position of the monitoring object of the mth temperature sensor among the M temperature sensors, wherein the distance between the temperature detector and the monitoring object is less than a preset distance; and determine the alternative temperature information corresponding to the mth temperature sensor according to the temperature information of the temperature detector.

[0163] In an exemplary embodiment, the control module 96 includes: a first determination unit, used to determine the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors, to obtain NM speed values, where j is 1, ..., NM-1, NM; determine M speed values ​​according to the M alternative temperature information; and determine the maximum speed value among the NM speed values ​​and the M speed values ​​as the fan speed value.

[0164] In an exemplary embodiment, the first determination unit is further configured to determine the jth speed value according to temperature information of the jth temperature sensor among the NM temperature sensors based on a proportional-integral-differential control algorithm.

[0165] In an exemplary embodiment, the first determination unit is also used to determine the time difference between the jth reference moment and the jth moment before determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors, so as to obtain the jth time difference value, wherein the jth moment is the moment for obtaining the temperature information of the jth temperature sensor, and the jth reference moment is the moment for starting to determine the jth speed value according to the temperature information of the jth temperature sensor; the above-mentioned device also includes: a compensation module, and the compensation module includes: a second determination unit, used to determine the jth temperature compensation amount according to the jth time difference value, and compensate the temperature information of the jth temperature sensor according to the jth temperature compensation amount to update the acquired temperature information of the jth temperature sensor.

[0166] In an exemplary embodiment, the compensation module is also used to determine the jth first time threshold corresponding to the jth temperature sensor; when the jth time difference is greater than or equal to the jth first time threshold, determine the jth temperature compensation amount according to the jth time difference, and compensate the temperature information of the jth temperature sensor according to the jth temperature compensation amount; wherein, when the jth time difference is less than the jth first time threshold, no compensation is performed on the temperature information of the jth temperature sensor.

[0167] In an exemplary embodiment, the compensation module is also used to determine the jth second time threshold corresponding to the jth temperature sensor, wherein the jth second time threshold is greater than the jth first time threshold; when the jth time difference is greater than or equal to the jth first time threshold and less than the jth second time threshold, the jth temperature compensation amount is determined according to the jth time difference, and the temperature information of the jth temperature sensor is compensated according to the jth temperature compensation amount.

[0168] In an exemplary embodiment, the compensation module is also used to determine the importance of the temperature information of the jth temperature sensor according to the attribute information of the jth temperature sensor when the jth time difference is greater than or equal to the jth second time threshold; determine the jth speed value according to the importance of the temperature information of the jth temperature sensor, and prohibit determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors.

[0169] In an exemplary embodiment, the compensation module is also used to determine a first change rate of the temperature detected by the jth temperature sensor within a preset time before the jth moment; multiply the first change rate by the jth time difference to obtain the jth temperature compensation amount.

[0170] In an exemplary embodiment, the compensation module is also used to determine a target time after determining the NM speed values ​​and the maximum speed value among the M speed values ​​as the fan speed value, wherein the target time is the start time for determining the fan speed value based on the temperature information of the NM temperature sensors and the M alternative temperature information; determine the time difference between the specified time and the target time to obtain a target time difference, wherein the specified time is the time when the fan of the server is to be controlled to rotate according to the determined speed value; determine a speed value compensation amount according to the target time difference, and compensate the fan speed value according to the speed value compensation amount to update the fan speed value.

[0171] In an exemplary embodiment, the compensation module is also used to determine the speed value compensation amount according to the target time difference when the target time difference is greater than or equal to the first preset threshold value, and to compensate the fan speed value according to the speed value compensation amount; wherein, when the target time difference is less than the first preset threshold value, the fan speed value is not compensated.

[0172] In an exemplary embodiment, the compensation module is also used to determine the speed value compensation amount according to the target time difference when the target time difference is greater than or equal to a first preset threshold and less than a second preset threshold, and to compensate the fan speed value according to the speed value compensation amount, wherein the second preset threshold is greater than the first preset threshold.

[0173] In an exemplary embodiment, the compensation module is further configured to update the fan speed value to a maximum speed value of the fan of the server when the target time difference is greater than or equal to the second preset threshold.

[0174] In an exemplary embodiment, the compensation module is further used to determine a second change rate of the rotational speed of the fan of the server within a preset time before the specified moment; and multiply the second change rate by the target time difference to obtain the rotational speed value compensation amount.

[0175] In an exemplary embodiment, the first determination unit is also used to determine a first speed value according to the attribute information of MP temperature sensors when only P alternative temperature information corresponding to P temperature sensors among the M temperature sensors are obtained, and to determine a second speed value according to the temperature information of NM temperature sensors and the P alternative temperature information, where P is an integer greater than or equal to 0 and less than M, wherein the attribute information of the temperature sensor is used to indicate the monitoring object of the temperature sensor; the above-mentioned control module 96 also includes: a control unit, used to control the fan of the server to rotate at a target speed value, wherein the target speed value is the maximum value of the first speed value and the second speed value.

[0176] In an exemplary embodiment, the first determination unit is also used to determine the abnormal temperature level of the server based on the attribute information of the MP temperature sensors, obtain the target abnormal temperature level, and determine the corresponding target speed value calculation algorithm based on the target abnormal temperature level; use the target speed value calculation algorithm to determine the first speed value according to the average chassis temperature of the server.

[0177] In an exemplary embodiment, the first determination unit is also used to determine MP abnormal temperature levels corresponding to the MP temperature sensors based on the attribute information of the MP temperature sensors, wherein the abnormal temperature level of the i-th temperature sensor among the MP temperature sensors is determined based on the attribute information of the i-th temperature sensor, and i is a positive integer greater than or equal to 1 and less than or equal to MP; the highest level among the MP abnormal temperature levels is determined as the target abnormal temperature level.

[0178] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0179] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0180] Optionally, in this embodiment, the computer program may be configured to perform the following steps by means of the computer program:

[0181] S1, obtaining temperature information of N temperature sensors in a server, wherein N is a positive integer greater than or equal to 2, and monitoring objects of the N temperature sensors include components of the server and / or an environment in which the server is located;

[0182] S2, when temperature information of M temperature sensors among the N temperature sensors is abnormal, obtain M substitute temperature information corresponding to the M temperature sensors, wherein the mth substitute temperature information among the M substitute temperature information is used to reflect the temperature of the monitored object corresponding to the mth temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N;

[0183] S3, determining a fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information, and controlling the fan of the server to rotate at the fan speed value.

[0184] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0185] The embodiment of the present application also provides an electronic device, such as Fig.10 As shown, the electronic device includes a memory 1002 and a processor 1004. The memory 1002 stores a computer program, and the processor 1004 is configured to execute the steps in any of the above method embodiments through the computer program.

[0186] Optionally, in this embodiment, the processor 1004 may be configured to perform the following steps through a computer program:

[0187] S1, obtaining temperature information of N temperature sensors in a server, wherein N is a positive integer greater than or equal to 2, and monitoring objects of the N temperature sensors include components of the server and / or an environment in which the server is located;

[0188] S2, when temperature information of M temperature sensors among the N temperature sensors is abnormal, obtain M substitute temperature information corresponding to the M temperature sensors, wherein the mth substitute temperature information among the M substitute temperature information is used to reflect the temperature of the monitored object corresponding to the mth temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N;

[0189] S3, determining a fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information, and controlling the fan of the server to rotate at the fan speed value.

[0190] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0191] Alternatively, a person skilled in the art may understand that: Fig.10 The structure shown is for illustration only. Fig.10 The structure of the electronic device is not limited. For example, the electronic device may also include Fig.10 More or fewer components (such as network interfaces, etc.) as shown in, or with Fig.10 Different configurations are shown.

[0192] Among them, the memory 1002 can be used to store software programs and modules, such as the program instructions / modules corresponding to the fan control method and the fan control device in the embodiment of the present application. The processor 1004 executes various functional applications and data processing by running the software programs and modules stored in the memory 1002, that is, to implement the above-mentioned fan control method. The memory 1002 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 1002 may further include a memory remotely located relative to the processor 1004, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 1002 can be specifically, but not limited to, used to store information such as system configuration files. As an example, such as Fig.10 As shown, the memory 1002 may include but is not limited to the first acquisition module 92, the second acquisition module 94 and the control module 96 in the fan control device. In addition, it may also include but is not limited to other module units in the fan control device, which will not be repeated in this example.

[0193] Optionally, the transmission device 1006 is used to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one example, the transmission device 1006 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 1006 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0194] In addition, the electronic device further includes: a display 1008; and a connection bus 1010, which is used to connect various module components in the electronic device.

[0195] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0196] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0197] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any one of the above method embodiments.

[0198] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0199] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A fan control method, characterized in that: include: Acquire temperature information of N temperature sensors in the server, where N is a positive integer greater than or equal to 2, and monitoring objects of the N temperature sensors include components of the server and / or an environment in which the server is located; In the case that temperature information of M temperature sensors among the N temperature sensors is abnormal, M substitute temperature information corresponding to the M temperature sensors is obtained, wherein the mth substitute temperature information among the M substitute temperature information is used to reflect the temperature of the monitoring object corresponding to the mth temperature sensor among the M temperature sensors, and M is a positive integer greater than or equal to 1 and less than or equal to N; Determine a fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information, and control the fan of the server to rotate at the fan speed value; Wherein, the obtaining of the M substitute temperature information corresponding to the M temperature sensors comprises: determining a temperature detector on a mainboard of the server according to a position of a monitoring object of an mth temperature sensor among the M temperature sensors, wherein a distance between the temperature detector and the monitoring object is less than a preset distance; determining the substitute temperature information corresponding to the mth temperature sensor according to the temperature information of the temperature detector; Wherein, the determining of the fan speed value according to the temperature information of NM temperature sensors and the M substitute temperature information includes: determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors to obtain NM speed values, wherein j is 1, ..., NM-1, NM; determining M speed values ​​according to the M substitute temperature information; and determining the maximum speed value among the NM speed values ​​and the M speed values ​​as the fan speed value; Wherein, determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors comprises: determining the jth speed value according to the temperature information of the jth temperature sensor among the NM temperature sensors based on a proportional-integral-differential control algorithm; Wherein, after determining the maximum speed value among the NM speed values ​​and the M speed values ​​as the fan speed value, the method further includes: determining a target time, wherein the target time is a start time for determining the fan speed value according to the temperature information of the NM temperature sensors and the M replacement temperature information; determining a time difference between a specified time and the target time to obtain a target time difference, wherein the specified time is a time at which the fan of the server is to be controlled to rotate according to the determined speed value; determining a speed value compensation amount according to the target time difference, and performing compensation processing on the fan speed value according to the speed value compensation amount to update the fan speed value; Among them, the speed value compensation amount is determined according to the target time difference, and the fan speed value is compensated according to the speed value compensation amount, including: when the target time difference is greater than or equal to a first preset threshold and less than a second preset threshold, the speed value compensation amount is determined according to the target time difference, and the fan speed value is compensated according to the speed value compensation amount, wherein the second preset threshold is greater than the first preset threshold; wherein, when the target time difference is less than the first preset threshold, the fan speed value is not compensated.

2. The method according to claim 1, characterized in that Before determining the j-th speed value according to the temperature information of the j-th temperature sensor among the NM temperature sensors, the method further includes: Determine a time difference between the jth reference moment and the jth moment to obtain a jth time difference value, wherein the jth moment is a moment for acquiring the temperature information of the jth temperature sensor, and the jth reference moment is a moment for starting to determine the jth speed value according to the temperature information of the jth temperature sensor; A jth temperature compensation amount is determined according to the jth time difference, and compensation processing is performed on the temperature information of the jth temperature sensor according to the jth temperature compensation amount to update the acquired temperature information of the jth temperature sensor.

3. The method according to claim 2, characterized in that The determining of the jth temperature compensation amount according to the jth time difference, and performing compensation processing on the temperature information of the jth temperature sensor according to the jth temperature compensation amount, includes: Determining a j-th first time threshold corresponding to the j-th temperature sensor; In a case where the jth time difference is greater than or equal to the jth first time threshold, determining a jth temperature compensation amount according to the jth time difference, and performing compensation processing on the temperature information of the jth temperature sensor according to the jth temperature compensation amount; Wherein, when the j-th time difference is less than the j-th first time threshold, no compensation processing is performed on the temperature information of the j-th temperature sensor.

4. The method according to claim 2, characterized in that: The determining of the jth temperature compensation amount according to the jth time difference, and performing compensation processing on the temperature information of the jth temperature sensor according to the jth temperature compensation amount, includes: Determine a jth first time threshold corresponding to the jth temperature sensor, and determine a jth second time threshold corresponding to the jth temperature sensor, wherein the jth second time threshold is greater than the jth first time threshold; When the jth time difference is greater than or equal to the jth first time threshold and less than the jth second time threshold, determine a jth temperature compensation amount according to the jth time difference, and perform compensation processing on the temperature information of the jth temperature sensor according to the jth temperature compensation amount; Wherein, when the j-th time difference is less than the j-th first time threshold, no compensation processing is performed on the temperature information of the j-th temperature sensor.

5. The method according to claim 4, characterized in that The method further comprises: In a case where the jth time difference is greater than or equal to the jth second time threshold, determining the importance of the temperature information of the jth temperature sensor according to the attribute information of the jth temperature sensor; The j-th speed value is determined according to the importance of the temperature information of the j-th temperature sensor, and it is prohibited to determine the j-th speed value according to the temperature information of the j-th temperature sensor among the NM temperature sensors.

6. The method according to claim 2, characterized in that The step of determining the jth temperature compensation amount according to the jth time difference value comprises: Determine a first change rate of the temperature detected by the j-th temperature sensor within a preset time before the j-th moment; The first change rate is multiplied by the j-th time difference to obtain the j-th temperature compensation amount.

7. The method according to claim 1, characterized in that The method further comprises: When the target time difference is greater than or equal to the second preset threshold, the fan speed value is updated to the maximum speed value of the fan of the server.

8. The method according to claim 1, characterized in that The step of determining the rotation speed compensation amount according to the target time difference comprises: Determine a second rate of change of the rotation speed of the fan of the server within a preset time before the specified time; The second change rate is multiplied by the target time difference to obtain the rotation speed value compensation amount.

9. The method according to claim 1, characterized in that: The method further comprises: In a case where only P pieces of substitute temperature information corresponding to P temperature sensors among the M temperature sensors are obtained, a first rotation speed value is determined according to attribute information of the MP temperature sensors, and a second rotation speed value is determined according to temperature information of the NM temperature sensors and the P pieces of substitute temperature information, where P is an integer greater than or equal to 0 and less than M, and the attribute information of the temperature sensor is used to indicate a monitoring object of the temperature sensor; The fan of the server is controlled to rotate at a target rotation speed value, wherein the target rotation speed value is a maximum value between the first rotation speed value and the second rotation speed value.

10. The method according to claim 9, characterized in that The determining the first rotation speed value according to the attribute information of MP temperature sensors includes: Determine the abnormal temperature level of the server according to the attribute information of the MP temperature sensors, obtain a target abnormal temperature level, and determine a corresponding target rotation speed value calculation algorithm according to the target abnormal temperature level; The target rotation speed value calculation algorithm is used to determine the first rotation speed value according to an average temperature of a chassis of the server.

11. The method according to claim 10, characterized in that The determining the abnormal temperature level of the server according to the attribute information of the MP temperature sensors includes: Determine MP abnormal temperature levels corresponding to the MP temperature sensors according to the attribute information of the MP temperature sensors, wherein the abnormal temperature level of the i-th temperature sensor among the MP temperature sensors is determined according to the attribute information of the i-th temperature sensor, and i is a positive integer greater than or equal to 1 and less than or equal to MP; The highest level among the MP abnormal temperature levels is determined as the target abnormal temperature level.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 11 when executed by a processor.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 11 are implemented.

14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 11 is implemented.

Citation Information

Patent Citations

  • Method for acquiring inlet air temperature of Rack server power supply

    CN106502355A

  • Heat dissipation control method, system and device and storage medium

    CN108958429A

  • Vehicle temperature control method and device, air conditioner and vehicle

    CN111761998A