液冷服务器温度信息采集方法、装置、设备及液冷系统与流程
未命名
07-27
阅读:109
评论:0
1.本技术实施例涉及散热技术领域,具体涉及一种液冷服务器温度信息采集方法、装置、设备及液冷系统。
背景技术:
2.现有的浸没式液冷系统,会在进液和回液口位置设置温度传感器,通过这两个位置的温度传感器采集液冷机柜的温度,进而根据温度调节进/出冷却液的流量。然而,这种方式无法采集到液冷机柜内每个服务器中发热量大的部件的温度,并且,当各个服务器运行负载不同时,各服务器的发热量也不同,因此存在各个服务器的温度不均匀的情况,而进/出液口的温度传感器无法及时反应各个服务器的温度,因此,以进/出液口温度为参考调节进/出冷却液的流量可能造成部分服务器中的高发热部件温度超过预设温度,从而导致服务器性能降低或宕机。
技术实现要素:
3.鉴于上述问题,本技术实施例提供了一种液冷服务器温度信息采集方法、装置、设备及液冷系统,能够采集多个液冷服务器中的高发热部件的温度信息。
4.根据本技术实施例的一个方面,提供了一种液冷服务器温度信息采集方法,该方法包括:接收多个液冷服务器的基板管理控制器发送的温度信息;温度信息由基板管理控制器对液冷服务器的主要发热部件进行采集得到,温度信息为报文格式,温度信息包括报文头、指令和主要发热部件的温度数据,指令与主要发热部件的温度数据具有一一对应关系;对报文头进行校验,并在校验成功后接收指令和主要发热部件的温度数据;将指令和与其对应的主要发热部件的温度数据写入温度寄存器表进行存储;根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据;按照报文格式对指令和主要发热部件的温度数据进行封装;将封装后的指令和主要发热部件的温度数据发送给液冷机柜总控制器。
5.在本技术实施例中,通过接收到多个基板管理控制器发送的温度信息,并通过温度信息中的报文头对温度信息进行校验,从而可以得到温度信息中的指令与其相对应的液冷服务器的主要发热部件的温度数据,然后通过指令与其相对应的主要发热部件的温度数据输入至温度寄存器表中进行存储,可以有效地避免数据的丢失,接着再通过指令将存储的主要发热部件的温度数据取出并进行封装,以将封装后的温度数据发送给与液冷服务器温度信息采集设备连接的液冷机柜总控制器。通过这种方式,可以实现液冷机柜总控制器对多个液冷服务器主要发热部件的温度信息的采集,为液冷总控制器更加精准地进行温度控制提供温度信息支持,从而可以避免因液冷服务器的局部温度过高而导致工作异常的情况。
6.在一种可选的方式中,接收多个液冷服务器的基板管理控制器发送的温度信息之前,包括:接收基板管理控制器发送的握手请求指令;若同意握手,则向基板管理控制器发送握手同意指令。通过发送握手请求指令,可以使得基板管理控制器与液冷服务器温度信
息采集设备能够建立通信的链路,实现液冷服务器温度信息采集设备对温度信息的采集。
7.在一种可选的方式中,温度信息还包括指令数量;对报文头进行校验,并在校验成功后接收指令和主要发热部件的温度数据,包括:对报文头进行校验,并在校验成功后接收指令数量;根据指令数量接收指令和主要发热部件的温度数据。通过这种方式,可以确保接收到的都是有效的温度数据,从而可以防止接收到无效的干扰数据。通过这种方式,可以自动向液冷机柜总控制器发送所有的主要发热部件的温度数据,实现对液冷服务器的主要发热部件的温度数据的自动化采集。
8.在一种可选的方式中,根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据之前,包括:定时生成触发中断信号;根据触发中断信号生成指令。通过这种方式,在需要对液冷系统的温度控制进行人为干预时,可以主动获取到各液冷服务器的主要发热部件的温度数据,从而提供温度信息支持。
9.在一种可选的方式中,根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据之前,包括:接收液冷机柜总控制器发送的上传温度信息请求,上传温度信息请求包括指令。
10.根据本技术实施例的另一方面,提供了一种液冷服务器温度信息采集装置,包括:第一接收模块,用于接收多个液冷服务器的基板管理控制器发送的温度信息;温度信息由基板管理控制器对液冷服务器的主要发热部件进行采集得到,温度信息为报文格式,温度信息包括报文头、指令和主要发热部件的温度数据,指令与主要发热部件的温度数据具有一一对应关系;第二接收模块,用于对报文头进行校验,并在校验成功后接收指令数量接收指令和主要发热部件的温度数据;存储模块,用于将指令和与其对应的主要发热部件的温度数据写入温度寄存器表进行存储;读取模块,用于根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据;封装模块,用于按照报文格式对指令和主要发热部件的温度数据进行封装;发送模块,用于将封装后的指令和主要发热部件的温度数据发送给液冷机柜总控制器。
11.在液冷服务器温度信息采集装置中,通过接收到多个基板管理控制器发送的温度信息,并通过温度信息中的报文头对温度信息进行校验,从而可以得到温度信息中的指令与其相对应的液冷服务器的主要发热部件的温度数据,然后通过指令与其相对应的主要发热部件的温度数据输入至温度寄存器表中进行存储,可以有效地避免数据的丢失,接着再通过指令将存储的主要发热部件的温度数据取出并进行封装,以将封装后的温度数据发送给与液冷服务器温度信息采集设备连接的液冷机柜总控制器。通过这种方式,可以实现液冷机柜总控制器对多个液冷服务器主要发热部件的温度信息的采集,为液冷总控制器更加精准地进行温度控制提供温度信息支持,从而可以避免因液冷服务器的局部温度过高而导致工作异常的情况。
12.根据本技术实施例的另一方面,提供了一种液冷服务器温度信息采集设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;存储器用于存储可执行指令,可执行指令使处理器执行上述实施例提供的任意一项液冷服务器温度信息采集方法的操作。
13.根据本技术实施例的另一方面,提供了一种液冷系统,包括:液冷机柜、液冷服务器、液冷机柜总控制器和上述实施例提供的液冷服务器温度信息采集设备;液冷机柜内盛
放有冷却液,液冷服务器浸没于冷却液中;多个液冷服务器的基板管理控制器通过异步串口通信总线与液冷服务器温度信息采集设备连接;液冷服务器温度信息采集设备通过异步串口通信总线与液冷机柜总控制器连接。
14.在一种可选的方式中,液冷机柜的进液口和出液口处均设置有温度传感器;温度传感器用于检测液冷机柜的进液口和出液口处的冷却液的温度信息;液冷机柜总控制器与温度传感器连接,液冷机柜总控制器用于接收温度传感器发送的温度信息。通过检测进液口和出液口的温度信息,可以保证液冷机柜总控制器对冷却液的温度和流量的控制。
15.根据本技术实施例的又一方面,提供了一种计算机可读存储介质,存储介质中存储有可执行指令,可执行指令在液冷服务器温度采集设备上运行时,使得液冷服务器温度采集设备执行上述实施例提供的任意一项液冷服务器温度信息采集方法的操作。
16.上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
17.附图仅用于示出实施方式,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
18.图1为本技术实施例提供的液冷服务器温度信息采集方法的流程示意图;
19.图2为本技术实施例提供的液冷系统的结构示意图;
20.图3为本技术实施例提供的液冷服务器温度信息采集设备的模块示意图;
21.图4为本技术实施例提供的温度信息的报文格式图;
22.图5为本技术实施例提供的uart控制器的模块示意图;
23.图6为本技术实施例提供的uart通信协议图;
24.图7为本技术实施例提供的报文控制器的模块示意图;
25.图8为本技术实施例提供的温度寄存器表的模块示意图;
26.图9为图1中步骤120的子步骤流程示意图;
27.图10为本技术实施例提供的信息上报控制器的模块示意图;
28.图11为本技术实施例提供的液冷服务器温度信息采集装置的结构示意图;
29.图12为本技术实施例提供的液冷服务器温度信息采集设备的结构示意图。
具体实施方式
30.下面将参照附图更详细地描述本技术的示例性实施例。虽然附图中显示了本技术的示例性实施例,然而应当理解,可以以各种形式实现本技术而不应被这里阐述的实施例所限制。
31.浸没式液冷是以冷却液作为传热介质,将发热器件完全浸没在冷却液中,发热器件与冷却液直接接触并进行热交换的液冷形式。在浸没式液冷系统中,需要通过采集液冷机柜的温度来调节进/出液冷机柜的冷却液流量,确保液冷系统能够带走液冷机柜内服务器设备产生的热量,确保服务器能够运行在预定的温度范围。
32.现有的浸没式液冷系统,会在进液和回液口位置设置温度传感器,通过这两个位
置的温度传感器采集液冷机柜的温度,进而根据温度调节进/出冷却液的流量。然而,这种方式无法采集到液冷机柜内每个服务器的局部温度,特别是中央处理器(central processing unit,简称cpu)、内存、图形处理器(graphics processing unit,简称gpu)和集成南桥芯片(platform controller hub,简称pch)等发热量大的部件,并且,当各个服务器运行负载不同时,各服务器的发热量也不同,因此存在各个服务器的温度不均匀的情况,而进/出液口的温度传感器无法及时反应各个服务器的温度,因此,以进/出液口温度为参考调节进/出冷却液的流量可能造成部分服务器中的高发热部件温度超过预设温度,从而导致服务器性能降低或宕机。
33.由于浸没式液冷机柜的功率密度较高,服务器的数量也较多,因此,要采集每个服务器中主要发热部件的温度信息,并将温度信息汇集到液冷机柜总控制器上,所需要的温度采集的温度传感器较多,通信线路也较多,液冷机柜总控制器需要的通信接口也相应增多。因此,如何利用服务器现有的温度传感器和接口,减少液冷机柜走线的复杂度,减少液冷机柜总控制器的通信接口的数量,是当前浸没式液冷系统设计的关键技术之一。
34.针对上述问题,本技术的发明人发现,现有的液冷服务器的高发热部件都设计有温度传感器,而液冷服务器的基板管理控制器可以通过服务器内自带的温度传感器将上述高发热部件的温度信息进行采集,然后各基板管理控制器通过异步通信串口将采集到的各液冷服务器的温度信息发送给信息汇集控制器,再由信息汇集控制器通过异步通信串口向液冷机柜总控制器发送串行的温度信息。然而,由于信息汇集控制器向液冷机柜总控制器发送温度信息为串行发送,所需时间较长,容易造成信息的堵塞以及信息的丢失。
35.基于此,本技术的发明人考虑到,当信息汇集控制器在接收到温度信息后,通过对温度信息进行解析得到温度数据,然后将温度数据进行存储,接着再将存储的温度数据取出并进行封装,最后将封装后的温度数据发送给与信息汇集控制器连接的液冷机柜总控制器,便可以解决上述问题。通过这种方式,可以实现液冷机柜总控制器对多个液冷服务器主要发热部件的温度信息的采集,为液冷总控制器更加精准地进行温度控制提供温度信息支持,从而可以避免因液冷服务器的局部温度过高而导致工作异常的情况。
36.本技术实施例提供的液冷服务器温度信息采集方法包括但不限于用于喷淋式液冷、冷板式液冷和浸没式液冷等领域。本技术实施例以浸没式液冷为例进行说明,其并不构成对本技术保护范围的限定。
37.图1示出了本技术实施例提供的液冷服务器温度信息采集方法的流程图,该方法由液冷服务器温度信息采集设备执行,例如计算机、服务器、控制器等。如图1所示,该方法包括以下步骤:
38.步骤110:接收多个液冷服务器的基板管理控制器发送的温度信息。温度信息由基板管理控制器对液冷服务器的主要发热部件进行采集得到,温度信息为报文格式,温度信息包括报文头、指令和主要发热部件的温度数据,指令与主要发热部件的温度数据具有一一对应关系。
39.请参阅图2,图2为本技术实施例提供的液冷系统的结构示意图,如图中所示,在液冷系统10中,液冷服务器温度信息采集设备300(上文的信息汇集控制器)与液冷机柜400中的多个液冷服务器410连接,且液冷服务器温度信息采集设备300还与液冷机柜总控制器500连接。液冷服务器温度信息采集设备300的接口数量取决于浸没式液冷机柜400能够容
纳的液冷服务器410的数量,若浸没式液冷机柜400能够容纳的液冷服务器410的数量为n,则液冷服务器温度信息采集设备300总共模拟n+1个串口,其中,1个串口与液冷机柜总控制器500相连,其余n个串口分别与n个液冷服务器410中的基板管理控制器(baseboard management controller,简称bmc)的串口相连。
40.请参阅图3,图3为液冷服务器温度信息采集设备的结构示意图,如图中所示,液冷服务器温度信息采集设备的关键部件是复杂可编程逻辑器件(complex programmable logic device,简称cpld,可以通过编程实现不同的逻辑功能)以及晶振,晶振为cpld提供运行所需的时钟,cpld具有大量可编程i/o和可编程逻辑资源,可以提供大量串口和信息汇集控制所需的逻辑模块,供浸没式液冷机柜所装载的所有液冷服务器通过异步串口通信总线上报温度信息。通过在cpld内部编程,可以形成温度信息的汇集和上报所需的通用异步接收/发送装置(universal asynchronous receiver/transmitter,简称uart控制器)、报文控制器、温度寄存器表、信息上报控制器等模块。
41.首先,液冷服务器的基板管理控制器在上电期间会加载串口驱动,并对串口的端口、波特率、起始位、数据位、校验位和停止位等参数进行设置,同时开启定时任务线程,定时通过平台环境式控制接口总线(platform environment control interface,简称peci总线)、系统管理总线(system management link,简称smlink)、增强型串行外设接口总线(enhanced serial peripheral interface,简称espi)、低引脚数总线(low pin count bus,简称lpc总线)等总线获取cpu、内存和pch的温度信息,同时通过i2c总线获取gpu、背板和机箱进出口等温度传感器的温度信息。然后,bmc会对每个温度传感器进行多次采集,去掉异常项(如数值为0xff的项),并取各自的平均值,将处理后的温度信息放到数据缓存池中。当采集完液冷服务器内部所有的主要发热部件的温度信息后,且bmc与液冷服务器温度信息采集设备建立了通信链路后,bmc就会定时将数据缓存池中的所有温度信息上报给液冷服务器温度信息采集设备的uart控制器,其中上报温度信息的数据帧采用专用的报文格式封装。
42.请参阅图4,图4为温度信息的报文格式图,如图中所示,温度信息包括4字节报文头(固定为0x55aaaa55)、4字节指令和4字节主要发热部件的温度数据。其中,4字节指令的具体内容如下表1所示:
43.表1:指令与其相对应的主要发热部件的温度数据表
[0044][0045][0046]
表1中,指令代表后续4字节主要发热部件的温度数据的类型,包括bmc向cpld上传的主要发热部件的温度信息指令、液冷机柜总控制器向cpld下发的请求上传温度信息的指令以及cpld向液冷机柜总控制器上传的各个服务器的主要发热部件的温度信息指令。由表1可知,指令与主要发热部件的温度数据具有一一对应关系,例如,当指令为0x0001_0101时,表示第1个液冷服务器cpu的温度值,当指令为0x0001_0203时,表示第2个液冷服务器gpu的温度值。
[0047]
请参阅图5,图5为uart控制器的结构示意图,如图中所示,uart控制器包括异步串口通信的发射控制器、接收控制器以及波特率产生器,其中,波特率产生器主要产生1倍波特率和8倍波特率。在本技术实施例中,发射控制器和接收控制器都基于相同的uart通信协
议,如图6所示,图6为uart通信协议图,如图中所示,起始位为0,数据位共8bit(先发高位),没有奇偶校验位,停止位为1,空闲位为1(保持时间》4bit时间)。
[0048]
具体地,当uart控制器的接收端(recieve x data,简称rxd)接收到bmc上报的温度信息时,即uart控制器中的接收控制器在空闲状态下收到rxd下降沿时,就会启动接收温度信息的流程。为了排除干扰信号,首先,会对接收的第一个数据位即起始位进行接收并判断,具体地,在接收时钟使能为波特率的8倍速率时(即一个波特率时间内对高/低电平采样8次),每个接收时钟使能到来时接收一次数据,且接收控制器中的计数器ck_cnt加1并判断接收值,若为1则接收控制器中的另一个计数器high_cnt加1,否则high_cnt保持不变,接收8次即ck_cnt=8时表示完成1位数据接收,若high_cnt数值》3则表示接收的第一个数据位即起始位为1,否则为0。如果接收的第一个数据位即起始位为1,则此次接收无效,返回空闲状态,并将ck_cnt和high_cnt清0,如果接收的第一个数据位即起始位为0,则此次接收有效,继续接收后续的8bit数据。然后,在每开始接收1bit数据之前,会先将ck_cnt和high_cnt清0,按起始位的接收流程完成1bit数据接收后,将8bit接收寄存器左移1位,并将接收到的1bit数据压入接收寄存器的最低位,直到完成所有8bit数据后,输出接收标志和8bit并行数据,最后等待8个接收时钟使能,完成结束位接收(结束位不再校验),最终返回空闲状态。通过上述方式,uart控制器实现了对bmc上报的温度信息的接收。
[0049]
步骤120:对报文头进行校验,并在校验成功后接收指令和主要发热部件的温度数据。
[0050]
当液冷服务器温度信息采集设备的uart控制器接收到温度信息后,为了得到温度信息中的主要发热部件的温度数据,就会将温度信息输入至报文控制器中,由报文控制器按照报文格式对温度信息进行解析。具体请参阅图7,图7为报文控制器的结构示意图,如图中所示,报文控制器包括报文解析控制器和报文封装控制器。具体地,报文解析控制器会对温度信息的报文头进行校验,若校验成功,则该报文头有效,即表示上传的温度信息有效,若校验不成功,则该报文头无效,则表示上传的温度信息无效。当报文头有效时,报文解析控制器就会接收该温度信息中的指令和主要发热部件的温度数据,然后输出32bit指令、32bit主要发热部件的温度数据以及随路的数据标志。
[0051]
步骤130:将指令和与其对应的主要发热部件的温度数据写入温度寄存器表进行存储。
[0052]
在获取到指令与其相对应的主要发热部件的温度数据后,为了防止数据丢失,需要将报文解析控制器输出的指令与其对应的主要发热部件的温度数据写入温度寄存器表进行存储。具体请参阅图8,图8为温度寄存器表的结构示意图,如图中所示,1-n组的写指令、写数据以及写有效标志的输入分别为上述报文解析控制器输出的32bit指令、32bit主要发热部件的温度数据以及随路的数据标志,温度寄存器表在收到写指令后,通过内部的指令读写控制模块,转成向缓冲器(buffer)写地址和主要发热部件的温度数据,从而实现对指令和主要发热部件的温度数据的存储。
[0053]
请参阅下表2:
[0054]
表2:温度寄存器表
[0055][0056][0057]
在表2中,指令与主要发热部件的温度数据一一对应,例如,当指令为0x0102时,表示第1个液冷服务器双列直插式存储模块(dual inline memory modules,简称dimm)的温度数据,当指令为0x0204时,表示第2个液冷服务器pch的温度数据。
[0058]
步骤140:根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据。
[0059]
由于温度寄存器表中的指令与主要发热部件的温度数据一一对应,因此,根据指令就可以读取温度寄存器表中的主要发热部件的温度数据。具体地,请继续参阅图8,并结合图3,首先信息上报控制器会向温度寄存器表输入读指令和读指令有效标志,然后由指令读写控制模块将读指令转成读地址,并从buffer获取地址相对应的主要发热部件的温度数据,最后变成读数据和读数据有效标志输出。
[0060]
步骤150:按照报文格式对指令和主要发热部件的温度数据进行封装。
[0061]
将主要发热部件的温度数据从温度寄存器表中读取出后,就会输出至报文控制器中,由报文控制器中的报文封装控制器按照报文格式对指令和主要发热部件的温度数据进行报文封装。需要说明的是,该报文控制器与上述报文控制器不是同一个。具体请继续参阅图7,报文封装控制器的输入为信息上报控制器输出的数据包开始标志、指令数量和32bit指令,以及温度寄存器表输出的读数据和读数据有效标志,输出为8bit并行数据流、标志和空闲标志。具体地,在信息上报控制器向温度寄存器表输入读指令和读指令有效标志的同
时,还会向报文封装控制器输入数据包开始标志、指令数量和32bit指令,其中,数据包开始标志用于通知报文封装控制器开始一个新的数据包封装,并同时记录该数据包的指令数量,当输出的空闲标志为1时,温度寄存器表就可以向报文封装控制器输入32bit主要发热部件的温度数据,最后由报文封装控制器将数据包开始标志、指令数量、32bit指令和32bit主要发热部件的温度数据封装成8bit并行数据流和标志输出。
[0062]
步骤160:将封装后的指令和主要发热部件的温度数据发送给液冷机柜总控制器。
[0063]
当报文封装控制器将指令和主要发热部件的温度数据封装成8bit的数据流后,就会输入至uart控制器中,由uart控制器中的发射控制器将数据流转成串行数据流,通过异步串行通信总线发送给液冷机柜总控制器。需要说明的是,该uart控制器与上述uart控制器不是同一个。具体地,在空闲时发射标志有效时,就会将8bit并行数据流锁定到发射控制器中的发射寄存器中,当1倍波特率的发射时钟使能有效时,就开始发射,首先发送起始位0,之后每次发射时钟使能信号有效时,发送发射寄存器的最高位,当发射计数器tx_cnt数值为7时表示全部8bit的并行数据发射完成,否则发射寄存器左移1位,同时发射计数器tx_cnt加1,当8bit数据发送完成后,计数器tx_cnt清0,等待下一个时钟使能有效时,发送停止位1。到此,一次数据发送给液冷总控制器完成,等待4个发射时钟使能时间后,返回初始空闲状态。通过上述方式,最终液冷机柜总控制器可以实现对液冷服务器的主要发热部件的温度信息进行采集的功能。
[0064]
在本技术实施例中,通过接收到多个基板管理控制器发送的温度信息,并通过温度信息中的报文头对温度信息进行校验,从而可以得到温度信息中的指令与其相对应的液冷服务器的主要发热部件的温度数据,然后通过指令与其相对应的主要发热部件的温度数据输入至温度寄存器表中进行存储,可以有效地避免数据的丢失,接着再通过指令将存储的主要发热部件的温度数据取出并进行封装,以将封装后的温度数据发送给与液冷服务器温度信息采集设备连接的液冷机柜总控制器。通过这种方式,可以实现液冷机柜总控制器对多个液冷服务器主要发热部件的温度信息的采集,为液冷总控制器更加精准地进行温度控制提供温度信息支持,从而可以避免因液冷服务器的局部温度过高而导致工作异常的情况。
[0065]
为了建立通信链路,以使bmc能够正常上报液冷服务器主要发热部件的温度信息,根据本技术的另一些实施例,可选地,请继续参阅图1,步骤110之前,包括以下步骤:
[0066]
步骤110a:接收基板管理控制器发送的握手请求指令;
[0067]
步骤110b:若同意握手,则向基板管理控制器发送握手同意指令。
[0068]
在通信中,通信的双方在通信前要对通信的方式进行协商,同时告诉对方已经准备好发送/接收数据,而握手成功就表示建立了通信的链路,可以进行数据传递。
[0069]
在本技术实施例中,握手请求指令和握手同意指令均可以是心跳包,心跳包就是在客户端和服务器端之间定时通知对方自己状态的一个自定义的命令字。具体地,bmc在开启定时任务线程后,会通过异步串口通信总线定时向液冷服务器温度信息采集设备发送握手请求指令,请求与液冷服务器温度信息采集设备进行握手。当液冷服务器温度信息采集设备接收到握手请求指令后,若同意握手,则会将握手同意指令发送给bmc,bmc接收后,则置与液冷服务器温度信息采集设备握手成功标志位,该标志位用于判断bmc与液冷服务器温度信息采集设备的通信是否正常。若液冷服务器温度信息采集设备不同意握手,则不会
向bmc发送信号,而bmc在握手超时后会产生通信异常告警,并记录到告警事件中,同时,bmc还会继续尝试与液冷服务器温度信息采集设备进行握手,直到握手成功为止。
[0070]
当采集完液冷服务器内部所有主要发热部件的温度信息后,每个液冷服务器的bmc在定时任务线程中,就会判断与液冷服务器温度信息采集设备握手成功标志位是否置位,若置位成功则将数据缓存池中的所有温度信息,通过异步串口通信总线定时向液冷服务器温度信息采集设备上报各自的温度信息。
[0071]
通过发送握手请求指令,可以使得bmc与液冷服务器温度信息采集设备能够建立通信的链路,实现液冷服务器温度信息采集设备对温度信息的采集。
[0072]
为了排除干扰数据,根据本技术的一些实施例,可选地,温度信息还包括指令数量。具体请参阅图9,图9为本技术上述步骤120的子步骤流程示意图,如图中所示,上述步骤120包括以下步骤:
[0073]
步骤121:对报文头进行校验,并在校验成功后接收指令数量。
[0074]
步骤122:根据指令数量接收指令和主要发热部件的温度数据。
[0075]
具体地,接收到的温度信息中可能只有一个指令和一个主要发热部件的温度数据,也可能有多个指令和多个主要发热部件的温度数据,而指令数量就是表征温度信息中有效的温度数据的数量。具体请继续参阅图4,温度信息还包括4字节指令数量,指令数量可以取值1-32,代表报文中指令和主要发热部件的温度数据的数量,例如,当num=1时,表示指令数量为1,当num=2时,表示指令数量为2。
[0076]
由于温度信息中的第一个指令和第一个温度数据后面的指令和温度数据,可能是无效的干扰数据,因此,可以通过指令数量可以确定需要接收的有效的指令和温度数据的数量。具体地,当报文头被校验有效时,报文解析控制器就会接收到温度信息中的指令数量,然后,报文解析控制器根据指令数量就可以知道需要接收的指令和主要发热部件的温度数据的数量,从而可以确定需要对多少数量的指令和主要发热部件的温度数据进行解析。通过这种方式,可以确保接收到的都是有效的温度数据,从而可以防止接收到无效的干扰数据。
[0077]
为了实现向液冷机柜总控制器发送温度数据的自动化功能,根据本技术的一些实施例,可选地,请继续参阅图1,步骤140之前,包括以下步骤:
[0078]
步骤140a:定时生成触发中断信号。
[0079]
步骤140b:根据触发中断信号生成指令。
[0080]
为了避免在向液冷机柜总控制器发送温度数据的过程中发生堵塞情况,需要信息上报控制器实现温度寄存器表中温度数据上传的调度控制。请参阅图10,图10为信息上报控制器的结构示意图,如图中所示,信息上报控制器内置调度控制器和循环定时器,当时间间隔到达预设的温度数据上传时间间隔时,该循环定时器会生成触发中断信号,当调度控制器接收到触发中断信号后,就会进入上传温度数据的调度控制流程,首先输出数据包开始标志和指令数量至报文控制器,然后输出读指令和读指令有效标志至温度寄存器表,通过读指令和读指令有效标志就可以从温度寄存器表中读取指令相对应的主要发热部件的温度数据,并循环向外发送读指令直到温度寄存器表中所有的主要发热部件的温度数据上传完成。通过这种方式,可以自动向液冷机柜总控制器发送所有的主要发热部件的温度数据,实现对液冷服务器的主要发热部件的温度数据的自动化采集。
[0081]
为了实现对液冷总控制器的温度控制的人为干预,根据本技术的另一些实施例,可选地,上述步骤140之前,包括以下步骤:接收液冷机柜总控制器发送的上传温度信息请求,上传温度信息请求包括指令。
[0082]
具体请继续参阅图4,在用户需要对液冷总控制器的温度控制进行干预时,需要主动获取各服务器的主要发热部件的温度数据,以提供实时的温度信息支持,此时,可以通过液冷机柜总控制器向信息上报控制器发送上传温度信息请求,该上传温度信息请求包括指令和空闲标志。当调度控制器接收到上传温度信息请求后,且空闲标志为1时,就会输出有数据包开始标志和指令数量,以及读指令和读指令有效标志,通过数据包开始标志和指令数量、读指令和读指令有效标志,就可以从温度寄存器表中读取液冷服务器各主要发热部件的温度数据。通过这种方式,在需要对液冷系统的温度控制进行人为干预时,可以主动获取到各液冷服务器的主要发热部件的温度数据,从而提供温度信息支持。
[0083]
图11示出了本技术实施例提供的液冷服务器温度信息采集装置的结构示意图。如图11所示,该液冷服务器温度信息采集装置200包括:第一接收模块210、第二接收模块220、存储模块230、读取模块240、封装模块250和发送模块260。
[0084]
第一接收模块210,用于接收多个液冷服务器的基板管理控制器发送的温度信息;温度信息由基板管理控制器对液冷服务器的主要发热部件进行采集得到,温度信息为报文格式,温度信息包括报文头、指令和主要发热部件的温度数据,指令与主要发热部件的温度数据具有一一对应关系;第二接收模块220,用于对报文头进行校验,并在校验成功后接收指令和主要发热部件的温度数据;存储模块230,用于将指令和与其对应的主要发热部件的温度数据写入温度寄存器表进行存储;读取模块240,用于根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据;封装模块250,用于按照报文格式对指令和主要发热部件的温度数据进行封装;发送模块260,用于将封装后的指令和主要发热部件的温度数据发送给液冷机柜总控制器。
[0085]
在液冷服务器温度信息采集装置200中,通过接收到多个基板管理控制器发送的温度信息,并通过温度信息中的报文头对温度信息进行校验,从而可以得到温度信息中的指令与其相对应的液冷服务器的主要发热部件的温度数据,然后通过指令与其相对应的主要发热部件的温度数据输入至温度寄存器表中进行存储,可以有效地避免数据的丢失,接着再通过指令将存储的主要发热部件的温度数据取出并进行封装,以将封装后的温度数据发送给与液冷服务器温度信息采集设备连接的液冷机柜总控制器。通过这种方式,可以实现液冷机柜总控制器对多个液冷服务器主要发热部件的温度信息的采集,为液冷总控制器更加精准地进行温度控制提供温度信息支持,从而可以避免因液冷服务器的局部温度过高而导致工作异常的情况。
[0086]
在一种可选的方式中,液冷服务器温度信息采集装置200还用于接收基板管理控制器发送的握手请求指令;若同意握手,则向基板管理控制器发送握手同意指令。通过发送握手请求指令,可以使得bmc与液冷服务器温度信息采集设备能够建立通信的链路,实现液冷服务器温度信息采集设备对温度信息的采集。
[0087]
在一种可选的方式中,温度信息还包括指令数量;第二接收模块220还用于对报文头进行校验,并在校验成功后接收指令数量;根据指令数量接收指令和主要发热部件的温度数据。通过这种方式,可以确保接收到的都是有效的温度数据,从而可以防止接收到无效
的干扰数据。
[0088]
在一种可选的方式中,液冷服务器温度信息采集装置200还用于定时生成触发中断信号;根据触发中断信号生成指令。通过这种方式,可以自动向液冷机柜总控制器发送所有的主要发热部件的温度数据,实现对液冷服务器的主要发热部件的温度数据的自动化采集。
[0089]
在一种可选的方式中,液冷服务器温度信息采集装置200还用于接收液冷机柜总控制器发送的上传温度信息请求,上传温度信息请求包括指令。通过这种方式,在需要对液冷系统的温度控制进行人为干预时,可以主动获取到各液冷服务器的主要发热部件的温度数据,从而提供温度信息支持。
[0090]
图12示出了本技术实施例提供的液冷服务器温度信息采集设备的结构示意图,本技术具体实施例并不对液冷服务器温度信息采集设备的具体实现做限定。
[0091]
如图12所示,该液冷服务器温度信息采集设备可以包括:处理器(processor)302、通信接口(communications interface)304、存储器(memory)306、以及通信总线308。
[0092]
其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。处理器302,用于执行程序310,具体可以执行上述用于液冷服务器温度信息采集方法实施例中的相关步骤。
[0093]
具体地,程序310可以包括程序代码,该程序代码包括计算机可执行指令。
[0094]
处理器302可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。液冷服务器温度信息采集设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0095]
存储器306,用于存储程序310。存储器306可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0096]
程序310具体可以被处理器302调用使液冷服务器温度信息采集设备执行以下操作:
[0097]
接收多个液冷服务器的基板管理控制器发送的温度信息;温度信息由基板管理控制器对液冷服务器的主要发热部件进行采集得到,温度信息为报文格式,温度信息包括报文头、指令和主要发热部件的温度数据,指令与主要发热部件的温度数据具有一一对应关系;对报文头进行校验,并在校验成功后接收指令和主要发热部件的温度数据;将指令和与其对应的主要发热部件的温度数据写入温度寄存器表进行存储;根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据;按照报文格式对指令和主要发热部件的温度数据进行封装;将封装后的指令和主要发热部件的温度数据发送给液冷机柜总控制器。
[0098]
液冷服务器温度信息采集设备的处理器302通过调用程序310执行上述操作,通过接收到多个基板管理控制器发送的温度信息,并通过温度信息中的报文头对温度信息进行校验,从而可以得到温度信息中的指令与其相对应的液冷服务器的主要发热部件的温度数据,然后通过指令与其相对应的主要发热部件的温度数据输入至温度寄存器表中进行存储,可以有效地避免数据的丢失,接着再通过指令将存储的主要发热部件的温度数据取出并进行封装,以将封装后的温度数据发送给与液冷服务器温度信息采集设备连接的液冷机
柜总控制器。通过这种方式,可以实现液冷机柜总控制器对多个液冷服务器主要发热部件的温度信息的采集,为液冷总控制器更加精准地进行温度控制提供温度信息支持,从而可以避免因液冷服务器的局部温度过高而导致工作异常的情况。
[0099]
本技术实施例提供了一种液冷系统,请继续参阅2,本技术具体实施例并不对液冷系统的具体实现做限定,该液冷系统10包括:液冷机柜400、液冷服务器410、液冷机柜总控制器500和上述实施例提供的液冷服务器温度信息采集设备300;液冷机柜400内盛放有冷却液,液冷服务器410浸没于冷却液中;多个液冷服务器410的基板管理控制器通过异步串口通信总线与液冷服务器温度信息采集设备300连接;液冷服务器温度信息采集设备300通过异步串口通信总线与液冷机柜总控制器500连接。
[0100]
具体地,各液冷服务器410的基板管理控制器采集完主要发热部件的温度信息后,就会通过异步串口通信总线发送给液冷服务器温度信息采集设备300,由液冷服务器温度信息采集设备300对温度信息进行解析,得到各液冷服务器410主要发热部件的温度数据,并写入温度寄存器表内存储。在接收到液冷总控制器500的上传温度信息请求时,或者当时间间隔到达预设的温度数据上传时间间隔时,液冷服务器温度信息采集设备300就会将温度寄存器表中的温度数据取出并进行封装,然后通过异步串口通信总线将温度数据发送给液冷总控制器500,由液冷总控制器500根据上述温度数据判断是否进行温度控制,以在需要对液冷服务器410进行散热时,加快液冷系统10中冷却液的流速,实现对液冷服务器410的冷却功能。
[0101]
为了确保对冷却液的温度和流量的控制,请继续参阅图2,根据本技术的另一些实施例,可选地,液冷机柜400的进液口420和出液口430处均设置有温度传感器440。温度传感器440用于检测液冷机柜400的进液口420和出液口430处的冷却液的温度信息。液冷机柜总控制器500与温度传感器440连接,液冷机柜总控制器500用于接收温度传感器440发送的温度信息。
[0102]
其中,进液口420处的温度信息是液冷机柜总控制器500验证冷液分配单元换热效果的重要指标,出液口430处的温度信息是液冷机柜总控制器500计算换热量需求,调节冷却液流量的参考。液冷机柜总控制器500与温度传感器440连接是指液冷机柜总控制器500可以与温度传感器进行通信。
[0103]
具体地,当设置在进液口420的温度传感器440检测到冷却液未经过液冷服务器410即升温前的温度信息后,就会将该温度信息发送给液冷机柜总控制器500,由液冷机柜总控制器500验证冷液分配单元的换热效果。当设置在出液口430的温度传感器440检测到冷却液最终流出液冷机柜400的温度信息后,亦会将该温度信息发送给液冷机柜总控制器500,由液冷机柜总控制器500计算换热量需求,然后根据换热量需求调节冷却液的流量,以确保冷液分配单元对冷却液的换热效果。通过检测进液口420和出液口430的温度信息,可以保证液冷机柜总控制器500对冷却液的温度和流量的控制。
[0104]
本技术实施例提供了一种计算机可读存储介质,存储介质存储有可执行指令,该可执行指令在液冷服务器温度信息采集设备上运行时,使得液冷服务器温度信息采集设备执行上述任意方法实施例中的液冷服务器温度信息采集方法。
技术特征:
1.一种液冷服务器温度信息采集方法,其特征在于,所述方法包括:接收多个液冷服务器的基板管理控制器发送的温度信息;所述温度信息由所述基板管理控制器对所述液冷服务器的主要发热部件进行采集得到,所述温度信息为报文格式,所述温度信息包括报文头、指令和所述主要发热部件的温度数据,所述指令与所述主要发热部件的温度数据具有一一对应关系;对所述报文头进行校验,并在校验成功后接收所述指令和所述主要发热部件的温度数据;将所述指令和与其对应的所述主要发热部件的温度数据写入温度寄存器表进行存储;根据所述指令读取所述温度寄存器表中与其对应的所述主要发热部件的温度数据;按照所述报文格式对所述指令和所述主要发热部件的温度数据进行封装;将封装后的所述指令和所述主要发热部件的温度数据发送给液冷机柜总控制器。2.根据权利要求1所述的方法,其特征在于,所述接收多个液冷服务器的基板管理控制器发送的温度信息之前,包括:接收所述基板管理控制器发送的握手请求指令;若同意握手,则向所述基板管理控制器发送握手同意指令。3.根据权利要求1所述的方法,其特征在于,所述温度信息还包括指令数量;所述对所述报文头进行校验,并在校验成功后接收所述指令和所述主要发热部件的温度数据,包括:对所述报文头进行校验,并在校验成功后接收所述指令数量;根据所述指令数量接收所述指令和所述主要发热部件的温度数据。4.根据权利要求1所述的方法,其特征在于,所述根据所述指令读取所述温度寄存器表中与其对应的所述主要发热部件的温度数据之前,包括:定时生成触发中断信号;根据所述触发中断信号生成所述指令。5.根据权利要求1所述的方法,其特征在于,所述根据所述指令读取所述温度寄存器表中与其对应的所述主要发热部件的温度数据之前,包括:接收所述液冷机柜总控制器发送的上传温度信息请求,所述上传温度信息请求包括所述指令。6.一种液冷服务器温度信息采集装置,其特征在于,所述装置包括:第一接收模块,用于接收多个液冷服务器的基板管理控制器发送的温度信息;所述温度信息由所述基板管理控制器对所述液冷服务器的主要发热部件进行采集得到,所述温度信息为报文格式,所述温度信息包括报文头、指令和所述主要发热部件的温度数据,所述指令与所述主要发热部件的温度数据具有一一对应关系;第二接收模块,用于对所述报文头进行校验,并在校验成功后接收所述指令数量接收所述指令和所述主要发热部件的温度数据;存储模块,用于将所述指令和与其对应的所述主要发热部件的温度数据写入温度寄存器表进行存储;读取模块,用于根据所述指令读取所述温度寄存器表中与其对应的所述主要发热部件的温度数据;
封装模块,用于按照所述报文格式对所述指令和所述主要发热部件的温度数据进行封装;发送模块,用于将封装后的所述指令和所述主要发热部件的温度数据发送给液冷机柜总控制器。7.一种液冷服务器温度信息采集设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存储可执行指令,所述可执行指令使所述处理器执行如权利要求1-5任意一项所述的液冷服务器温度信息采集方法的操作。8.一种液冷系统,其特征在于,包括:液冷机柜、液冷服务器、液冷机柜总控制器和权利要求7所述的液冷服务器温度信息采集设备;所述液冷机柜内盛放有冷却液,所述液冷服务器浸没于所述冷却液中;多个所述液冷服务器的基板管理控制器通过异步串口通信总线与所述液冷服务器温度信息采集设备连接;所述液冷服务器温度信息采集设备通过异步串口通信总线与所述液冷机柜总控制器连接。9.根据权利要求8所述的液冷系统,其特征在于,所述液冷机柜的进液口和出液口处均设置有温度传感器;所述温度传感器用于检测所述液冷机柜的进液口和出液口处的所述冷却液的温度信息;所述液冷机柜总控制器与所述温度传感器连接,所述液冷机柜总控制器用于接收所述温度传感器发送的所述温度信息。10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有可执行指令,所述可执行指令在液冷服务器温度采集设备上运行时,使得液冷服务器温度采集设备执行如权利要求1-5任意一项所述的液冷服务器温度信息采集方法的操作。
技术总结
本申请实施例涉及散热技术领域,公开了一种液冷服务器温度信息采集方法、装置、设备及液冷系统,该方法包括:接收多个液冷服务器的基板管理控制器发送的温度信息;温度信息包括报文头、指令和主要发热部件的温度数据;对报文头进行校验,并在校验成功后接收指令和主要发热部件的温度数据;将指令和与其对应的主要发热部件的温度数据写入温度寄存器表进行存储;根据指令读取温度寄存器表中与其对应的主要发热部件的温度数据;按照报文格式对指令和主要发热部件的温度数据进行封装;将封装后的指令和主要发热部件的温度数据发送给液冷机柜总控制器。通过上述方式,本申请实施例能够采集多个液冷服务器中的高发热部件的温度信息。息。息。
技术研发人员:李锦成 黄紫扬 涂绍勤
受保护的技术使用者:深圳市亿万克数据设备科技有限公司
技术研发日:2023.04.04
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
