掉电策略执行方法、装置、设备、存储介质和程序产品与流程

文档序号:29960778发布日期:2022-05-11 09:03阅读:189来源:国知局
掉电策略执行方法、装置、设备、存储介质和程序产品与流程

1.本技术涉及计算机技术领域,特别是涉及一种掉电策略执行方法、装置、设备、存储介质和程序产品。


背景技术:

2.随着互联网行业的快速发展,作为支撑互联网的硬件设备也在不断更新提升。工作站作为一种高端的通用微型计算机,为用户提供比个人计算机更强大的性能,被广泛的应用在科学和工程计算、软件开发、计算机辅助分析、计算机辅助制造、工程设计和应用、图形和图像处理、过程控制和信息管理等。
3.在工作站领域,交流电掉电(ac loss)策略是一种常用的功能,其主要是指:工作站正常工作或待机时被切断ac供电,在重新恢复ac供电后,系统可以自行根据bios设置好的策略执行始终自动开机(always on)、始终关机(always off)或保持ac loss前系统状态(last state)这三个动作。
4.现有技术中,对bios进行相应功能开发,通过bios控制cpu相关寄存器监测cpu的辅电(auxiliary power,aux电)掉到一定阈值后记录工作站发生ac切断事件,并将相关实时时钟寄存器(real time clock register,rtc寄存器)置位。在主板重新上ac时,相关rtc寄存器根据bios设定的ac loss策略,操作cpu发出相应动作,控制系统进行上电或保持当前状态。或者,bios控制superio监测主板上的aux电的电压,当电压低于一定阈值时记录工作站发生ac切断事件,并将相关rtc寄存器置位。在主板重新上ac时,superio根据bios下设置的ac loss策略控制发出相应指令给到cpu,控制系统进行上电或保持当前状态。
5.但是,上述现有技术中,对于ac闪断即恢复的情况,容易导致闪断后设置的ac loss后自动开机的策略失效,无法满足ac loss策略执行的需求。


技术实现要素:

6.基于此,有必要针对上述技术问题,提供一种能够满足在ac闪断即恢复等情况下的al loss策略执行的掉电策略执行方法、装置、设备、存储介质和程序产品。
7.第一方面,本技术提供了一种掉电策略执行方法,应用于工作站中,方法包括:
8.获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
9.在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;
10.根据控制信号控制cpu执行相应的操作。
11.本方案中,通过cpu的第一状态信号和电源的第二状态信号来判断是否产生交流电掉电事件,其中特别地,基于第一状态信号和第二状态信号的敏感性可以监测到ac闪断即恢复的交流电掉电事件,从而执行相应的交流电掉电策略,解决了现有技术中通过电压值来监测交流电掉电事件,却无法感知ac闪断即恢复事件,导致交流电掉电策略执行失效的问题,提高交流电掉电事件监测的准确性和交流电掉电策略的有效性。
12.在其中一个可选的实施例中,该方法还包括:
13.在第一状态信号为高电平的情况下,若第二状态信号发生电平跳变,则确定工作站发生交流电掉电事件。
14.通过使用cpld监测atx电源power ok信号和cpu的sleeps5_n信号来判断ac loss事件,避免现有方案通过特定电压值监测,系统在ac闪断后策略即失效的问题。
15.在其中一个可选的实施例中,工作站包括第一控制器和第二控制器;获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号,包括:
16.第一控制器获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
17.在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号,包括:
18.第一控制器在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,将交流电掉电事件和系统状态发送至第二控制器;
19.第二控制器根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器。
20.在本实施例中,通过使用cpu与mcu之间的iic接口传输ac loss策略,不需要基于bios实现ac loss策略的执行,降低了方案设计复杂度,并且,通过使用cpld监测atx电源power ok信号和cpu的sleeps5_n信号来判断ac loss事件,避免现有方案通过特定电压值监测,系统在ac闪断后策略即失效的问题;通过使用mcu和cpld之间的uart接口和gpio电平状态来传输ac loss事件及控制系统执行相关ac loss策略内容,并且,mcu将ac loss策略、ac loss事件以及系统状态存储至rtc寄存器中,保证在mcu断电之后信息不会丢失。
21.在其中一个可选的实施例中,第二控制器包括rtc寄存器;rtc寄存器用于存储交流电掉电事件、系统状态和交流电掉电策略。
22.在本实施例中,将交流电掉电事件、系统状态和交流电掉电策略存储至rtc寄存器,基于rtc寄存器掉电数据不会丢失的性质,保证了工作站掉电的情况下,rtc寄存器中的交流电掉电事件、系统状态和交流电掉电策略不会丢失。
23.在其中一个可选的实施例中,该方法还包括:
24.第二控制器在接收到交流电掉电事件之后,启动预设定时器;
25.若预设定时器被执行完成,则执行根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器的步骤。
26.在本实施例中,通过在第二控制器中设定定时器,以定时器的执行状态确定工作站产生的ac loss事件是否为ac闪断即恢复事件,从而确定第一控制器是否需要与第二控制器进行重新握手连接,在发生ac闪断即恢复事件的情况下,第一控制器与第二控制器不需要进行重新握手通信,减少了第一控制器与第二控制器的交互,减少资源的消耗,且满足了在ac闪断即恢复事件发生的情况下,第一控制器与第二控制器仍然可以执行ac loss策略的需求。
27.在其中一个可选的实施例中,该方法还包括:
28.若预设定时器未被执行完成,则在检测到工作站上电之后,接收第一控制器发起的通信连接请求,在与第一控制器建立连接之后,执行根据工作站的系统状态和交流电掉
电策略生成控制信号,并将控制信号发送给第一控制器步骤。
29.在本实施例中,通过在第二控制器中设定定时器,以定时器的执行状态确定工作站产生的ac loss事件是否为ac闪断即恢复事件,从而确定第一控制器是否需要与第二控制器进行重新握手连接,在没有发生ac闪断即恢复事件的情况下,第一控制器与第二控制器进行重新握手通信,在建立连接之后第一控制器与第二控制器仍然可以执行ac loss策略的需求。
30.在其中一个可选的实施例中,第一控制器为复杂可编程逻辑器件cpld;第二控制器为微控制单元mcu。
31.第二方面,本技术还提供了一种掉电策略执行装置,装置包括:
32.获取模块,用于获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
33.确定模块,用于在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;
34.控制模块,用于根据控制信号控制cpu执行相应的操作。
35.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下第一方面提供的方法。
36.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的方法。
37.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面提供的方法。
38.上述掉电策略执行方法、装置、设备、存储介质和程序产品,通过获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;根据控制信号控制cpu执行相应的操作。本方案中,通过cpu的第一状态信号和电源的第二状态信号来判断是否产生交流电掉电事件,其中特别地,基于第一状态信号和第二状态信号的敏感性可以监测到ac闪断即恢复的交流电掉电事件,从而执行相应的交流电掉电策略,解决了现有技术中通过电压值来监测交流电掉电事件,却无法感知ac闪断即恢复事件,导致交流电掉电策略执行失效的问题,提高交流电掉电事件监测的准确性和交流电掉电策略的有效性。
附图说明
39.图1为一个实施例中掉电策略执行方法的应用环境图;
40.图2为一个实施例中掉电策略执行方法的流程示意图;
41.图3为另一个实施例中掉电策略执行方法的流程示意图;
42.图4为一个实施例中工作站结构示意图;
43.图5为另一个实施例中掉电策略执行方法的流程示意图;
44.图6为另一个实施例中掉电策略执行方法的流程示意图;
45.图7为另一个实施例中掉电策略执行方法的流程示意图;
46.图8为一个实施例中掉电策略执行装置的结构框图;
47.图9为另一个实施例中掉电策略执行装置的结构框图。
具体实施方式
48.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
49.随着互联网行业的快速发展,作为支撑互联网的硬件设备也在不断更新提升。工作站作为一种高端的通用微型计算机,为用户提供比个人计算机更强大的性能,被广泛的应用在科学和工程计算、软件开发、计算机辅助分析、计算机辅助制造、工程设计和应用、图形和图像处理、过程控制和信息管理等。
50.在工作站领域,ac loss策略是一种常用的功能,其主要是指:工作站正常工作或待机时被切断ac供电,在重新恢复ac供电后,系统可以自行根据bios下设置好的策略执行始终自动开机(always on)、始终关机(always off)和保持ac loss前系统状态(last state)这三个动作。
51.现有实现该功能的技术方案主要有两种:
52.第一种方案为bios直接控制,即bios进行相应功能开发,控制cpu相关寄存器监测cpu的aux电掉到一定阈值后记录工作站发生ac切断事件,并将相关rtc寄存器置位。在主板重新上ac时,相关rtc寄存器根据bios下设定的ac loss策略,操作cpu发出相应动作,控制系统进行上电或保持当前状态。
53.但是,该方案监测主板发生ac loss事件依赖于cpu相关寄存器监测到cpu的aux电低于一定阈值的情况,但是对于安防、监控等等户外环境,用电环境不稳定,经常会出现ac闪断即恢复的情况,此时主板的aux电会因为负载电容的作用而不会迅速发生变化,导致闪断后设置的ac loss后自动开机的策略失效;此外,某些cpu的工作机制要求断ac重启时必须在bios post完成后才能将ac loss策略再次写入cpu相关控制寄存器,导致若在post阶段发生ac loss状况,则下次重启不能正常执行设定的策略,具有一定的平台局限性;另外,该方案加大了bios开发的复杂度,增加了代码开发量,开发调试周期长,bios的大量迭代对整个工作站的维护也带来不便。
54.第二种方案为superio控制,即bios控制superio监测主板上的aux电的电压,当电压低于一定阈值时记录工作站发生ac切断事件,并将相关rtc寄存器置位。在主板重新上ac时,superio根据bios下设置的ac loss策略控制发出相应指令给到cpu,控制系统进行上电或保持当前状态。
55.但是,该方案的问题点与bios直接控制方案的问题一类似,同样存在ac loss后自动开机的策略失效问题;且,该方案同样需要bios工程师深入其中,修改bios适配superio,开发周期较长。
56.为了解决上述问题,本技术实施例提供了一种掉电策略执行方法,可以应用于如图1所示的应用环境中。在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该
计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种掉电策略执行方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
57.本领域技术人员可以理解,图1中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
58.在一个实施例中,如图2所示,提供了一种掉电策略执行方法,以该方法应用于图1中的工作站为例进行说明,包括以下步骤:
59.步骤201,获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号。
60.可选地,电源可以为工作站的atx电源,用于将交流220v的电源转换为工作站内部使用的直流5v,这里工作站也可以理解为计算机、服务器等设备。第一状态信号可以为cpu输出的sleeps5_n信号,sleeps5_n信号处于高电平下表示工作站系统处于正常上电状态。可选地,可以通过gpio引脚来获取sleeps5_n信号。第二状态信号可以为atx电源输出的power ok信号,power ok信号表示的是atx电源的工作状态,类似地,可以通过gpio引脚来获取power ok信号。这里,基于sleeps5_n信号与power ok信号的波形变化可以准确地获取工作站产生的交流电掉电ac loss事件。
61.步骤202,在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号。
62.基于第一状态信号和第二状态信号确定工作站是否发生交流电掉电事件。可选地,在第一状态信号为高电平表示工作站处于上电状态,第二状态信号为高电平表示工作在处于上电状态的情况下,在第一状态信号为高电平的情况下,若第二状态信号发生电平跳变,则确定工作站发生ac loss事件。例如,第二状态信号发生由高电平至低电平的跳变。
63.可选地,在第一状态信号为低电平表示工作站处于上电状态,第二状态信号为低电平表示工作在处于上电状态的情况下,在第一状态信号为低电平的情况下,若第二状态信号发生电平跳变,则确定工作站发生ac loss事件。例如,第二状态信号发生由低电平至高电平的跳变。
64.在基于第一状态信号和第二状态信号确定工作站发生ac loss事件之后,根据预先存储的ac loss策略、ac loss事件以及工作站的系统状态,确定当前ac loss事件对应的ac loss策略执行动作,并基于ac loss策略执行动作生成相应的控制信号。可选地,ac loss策略中包括ac loss策略执行动作、ac loss事件以及工作站的系统状态之间的映射关系。
65.步骤203,根据控制信号控制cpu执行相应的操作。
66.在本实施例中,在生成控制信号之后,示例性地,可以向cpu输出控制信号,以使cpu执行相应的操作,例如cpu根据接收到的控制信号执行开机唤醒操作;或者,示例性地,在生成控制信号之后,控制cpu执行开机唤醒操作。
67.可选地,还可以基于控制信号控制工作站中涉及到的其他相关固件执行相应的操作,例如控制工作站中的其他vr芯片执行上电操作,本实施例对此不做限定。
68.上述掉电策略执行方法中,通过获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;根据控制信号控制cpu执行相应的操作。本方案中,通过cpu的第一状态信号和电源的第二状态信号来判断是否产生交流电掉电事件,其中特别地,基于第一状态信号和第二状态信号的敏感性可以监测到ac闪断即恢复的交流电掉电事件,从而执行相应的交流电掉电策略,解决了现有技术中通过电压值来监测交流电掉电事件,却无法感知ac闪断即恢复事件,导致交流电掉电策略执行失效的问题,提高交流电掉电事件监测的准确性和交流电掉电策略的有效性。
69.在其中一个可选的实施例中,工作站包括第一控制器和第二控制器,第一控制器与第二控制器分别执行相应的操作,来实现工作站发生ac loss事件之后的ac loss策略的执行,如图3所示,上述获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号,包括:
70.步骤301,第一控制器获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号。
71.示例性地,工作站的结构示意图可参考图4所示,工作站包括第一控制器、第二控制器、中央处理器cpu以及atx电源。可选地,第一控制器、第二控制器均可以为现场可编程逻辑门阵列(field programmable gate array,fpga)、可编程逻辑器件(programmable logic device,pld)、复杂可编程逻辑器件(complex programmable logic device,cpld)、微控制单元(microcontroller unit,mcu)等任意一种逻辑处理器,这里图4以第一控制器为cpld、第二控制器可以为mcu来举例说明。
72.在本实施例中,cpld获取工作站的cpu输出的第一状态信号,示例性地,第一状态信号可以为sleeps5_n信号,可选地,cpld可以通过gpio引脚来获取sleeps5_n信号;cpld获取工作站的atx电源的第二状态信号,示例性地,第二状态信号可以为power ok信号,可选地,cpld可以通过gpio引脚来获取power ok信号。
73.步骤302,第一控制器在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,将交流电掉电事件和系统状态发送至第二控制器。
74.在本实施例中,cpld获取到cpu的sleeps5_n信号和atx电源的power ok信号之后,基于这两种信号,确定工作站是否发生ac loss事件。示例性地,工作站在正常上电状态时,sleeps5_n信号与power ok信号应该均处于高电平状态,若cpld检测到sleeps5_n信号保持高电平的同时,power ok信号出现电平跳变的动作,例如,power ok信号由高电平跳转至低电平,在这种情况下,cpld则确定工作站发生ac loss事件,可选地,cpld可以将ac loss事件信息以及工作站的系统状态通过uart接口发送给mcu。
75.步骤303,第二控制器根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器。
76.在本实施例中,mcu在接收到ac loss事件信息以及工作站的系统状态之后,可选地,可以先将ac loss事件以及工作站的系统状态存储至rtc寄存器中,以防在mcu断电之后造成ac loss事件以及工作站的系统状态等信息的丢失。
77.可选地,mcu中存储的交流电掉电策略可以通过工作站bios的用户交互界面获取,示例性地,通过bios图形界面的相关功能区域,获取用户设定的ac loss策略的具体执行动作,例如,执行动作包括始终自动开机(always on)、始终关机(always off)和保持ac loss前系统状态(last state)三种,cpu通过与bios交互获取该ac loss策略,并通过iic接口将该ac loss策略发送给mcu,可选地,mcu在接收到ac loss策略之后将其存储至rtc寄存器中,以防在mcu断电之后造成ac loss策略等信息的丢失。
78.mcu从rtc寄存器中读取ac loss策略、ac loss事件以及工作站的系统状态,根据ac loss策略中ac loss事件、系统状态与执行动作之间的映射关系,生成与当前ac loss事件对应的ac loss策略的执行动作所对应的控制信号,可选地,mcu可以通过控制gpio的电平状态,实现将控制信号传输给cpld的目的。示例性地,mcu控制gpio的电平状态,cpld会监测与mcu之间的用于指示ac loss策略的gpio的电平状态,根据gpio状态来判断是否需要产生用于唤醒cpu的控制指令,示例性地,cpld可以通过模拟产生power button低脉冲信号发送至cpu以使cpu执行开机唤醒动作,从而实现ac loss策略响应执行动作的完成。
79.可选地,若cpld与mcu建立连接之后,mcu中没有设置ac loss策略,此时,mcu可以控制与cpld交互的gpio电平保持默认状态不变,可选地,这里gpio电平的默认状态可以为高电平。
80.在本实施例中,通过使用cpu与mcu之间的iic接口传输ac loss策略,不需要基于bios实现ac loss策略的执行,降低了方案设计复杂度,并且,通过使用cpld监测atx电源power ok信号和cpu的sleeps5_n信号来判断ac loss事件,避免现有方案通过特定电压值监测,系统在ac闪断后策略即失效的问题;通过使用mcu和cpld之间的uart接口和gpio电平状态来传输ac loss事件及控制系统执行相关ac loss策略内容,并且,mcu将ac loss策略、ac loss事件以及系统状态存储至rtc寄存器中,保证在mcu断电之后信息不会丢失。
81.工作站发生ac loss事件的情况下,第一控制器与第二控制器均可能处于掉电状态,在工作站再次上电时,需要第一控制器与第二控制器进重新进行握手通信连接,但也存在一种情况,即,在工作站发生ac闪断即恢复的情况下,mcu与cpld可能处于上电状态,这种情况下则不需要进行重新握手通信,如何判断产生的ac loss事件是否为ac闪断即恢复事件,示例性地,在其中一个可选的实施例中,如图5所示,该方法还包括:
82.步骤401,第二控制器在接收到交流电掉电事件之后,启动预设定时器。
83.可选地,基于ac闪断即恢复随耗费的时长较短的性质,第二控制器在接收到ac loss事件之后,可以通过倒计时或者计时来确定是否会进入掉电状态。示例性地,以第二控制器为mcu为例来说明,mcu接收到ac loss事件之后可以先将该ac loss事件存储至rtc寄存器中,以防mcu断电后ac loss事件丢失,在将ac loss事件存储至rtc寄存器中之后,mcu可以启动预设定时器进行计时,可选地,预设定时器可以为进行倒计时或者正计时,计时时长可以为3秒、5秒、10秒,本实施例对此不做限定。
84.步骤402,若预设定时器被执行完成,则执行根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器的步骤。
85.以第一控制器为cpld、第二控制器为mcu为例来说明,若预设定时器被执行完成,也即,完成倒计时或者正计时,在这种情况下,说明mcu一直处于上电状态,也即,mcu所接收的ac loss事件为ac闪断即恢复事件,该事件产生的ac闪断不足以影响mcu、cpld的上电状
态,mcu与cpld一直处于连接状态,在这种状态下,在mcu设定的定时器完成之后,mcu可以直接执行上述步骤303的操作,本实施例不做赘述。
86.步骤403,若预设定时器未被执行完成,则在检测到工作站上电之后,接收第一控制器发起的通信连接请求,在与第一控制器建立连接之后,执行根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器步骤。
87.以第一控制器为cpld、第二控制器为mcu为例来说明,若预设定时器未被执行完成,也即,mcu未完成倒计时或者正计时,在这种情况下,说明工作站ac loss事件影响mcu处于掉电状态,也即,mcu所接收的ac loss事件为普通ac loss事件,该事件产生的ac掉电已经影响mcu、cpld的处于掉电状态,mcu与cpld在掉电状态下会断开连接,在这种情况下,mcu接收cpld发起的通信连接请求,在与cpld建立连接之后,mcu可以直接执行上述步骤303的操作,本实施例不做赘述。
88.在本实施例中,通过在第二控制器中设定定时器,以定时器的执行状态确定工作站产生的ac loss事件是否为ac闪断即恢复事件,从而确定第一控制器是否需要与第二控制器进行重新握手连接,满足了在ac闪断即恢复事件发生的情况下,第一控制器与第二控制器仍然可以执行ac loss策略的需求。
89.为了更好的说明上述方法,如图6所示,本实施例提供一种掉电策略执行方法,具体包括:
90.s101、基于工作站的bios用户交互界面获取交流电掉电策略;
91.s102、工作站的第二控制器接收交流电掉电策略,并存储至rtc寄存器中;
92.s103、工作站的第一控制器获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
93.s104、第一控制器在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,将交流电掉电事件和系统状态发送至第二控制器;
94.s105、第二控制器将交流电掉电事件和系统状态存储至rtc寄存器中,启动预设定时器;若预设定时器被执行完成,则执行步骤106;若预设定时器未被执行完成,则执行步骤107;
95.s106、第二控制器根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器;
96.s107、在检测到工作站上电之后,接收第一控制器发起的通信连接请求,在与第一控制器建立连接之后,执行步骤106;
97.s108、第一控制器根据接受到的控制信号,控制cpu执行相应的操作。
98.示例性地,以第一控制器为cpld、第二控制器为mcu为例来说明,其中,mcu的rtc寄存器中存储至ac loss策略。
99.cpld上电可以通过工作站的atx电源的power ok信号和cpu的sleeps5_n信号,监控工作站是否产生ac loss事件,当检测到power ok信号有从高到低跳变的动作,但同时sleeps5_n信号仍保持高电平时,则确定工作站发生ac loss事件,这种情况下,cpld将ac loss事件信息通过uart接口发送给mcu。
100.mcu接收到ac loss事件之后将该ac loss事件存储至rtc寄存器中,并通过预设定时器器进行5秒倒计时,若5秒计时完成,则说明工作站在5秒内发生了ac闪断即恢复的情
况,此时mcu会在计时结束后根据存储的ac loss策略,控制与cpld交互的gpio电平状态,以此来通知cpld执行对应ac loss策略。若5秒计时未完成,则说明工作站的ac电源已经彻底切断,在这种情况下,mcu等待ac电源恢复,在ac电源恢复之后,mcu和cpld重新上电并加载代码进行初始化,cpld通过uart接口向mcu发送握手信号,用于建立通信连接,在建立连接之后,mcu根据存储的ac loss策略,控制与cpld交互的gpio电平状态,以此来通知cpld执行对应ac loss策略。若mcu中并未设置ac loss策略,则mcu控制与cpld交互的gpio电平保持默认状态不变,可选地,这里gpio电平的默认状态可以为高电平。可参考图7所示。
101.在本实施例中,通过cpu的第一状态信号和电源的第二状态信号来判断是否产生交流电掉电事件,其中特别地,基于第一状态信号和第二状态信号的敏感性可以监测到ac闪断即恢复的交流电掉电事件,从而执行相应的交流电掉电策略,解决了现有技术中通过电压值来监测交流电掉电事件,却无法感知ac闪断即恢复事件,导致交流电掉电策略执行失效的问题,提高交流电掉电事件监测的准确性和交流电掉电策略的有效性。
102.可选地,通过cpu配合cpld和mcu可以有效的检测系统ac loss事件,并根据设定的ac loss策略内容执行相应的开机动作,不再依靠bios来执行ac loss策略,减少了bios的相关代码复杂度,降低了bios维护成本。此外,通过使用cpu与mcu之间的iic接口传输ac loss策略内容,并使用mcu rtc寄存器实现对相关策略的存储,避免现有方案平台局限性的问题。
103.上述实施例提供的掉电策略执行方法,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
104.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
105.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的掉电策略执行方法的掉电策略执行装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个掉电策略执行装置实施例中的具体限定可以参见上文中对于掉电策略执行方法的限定,在此不再赘述。
106.在一个实施例中,如图8所示,提供了一种掉电策略执行装置,包括:
107.获取模块01,用于获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
108.确定模块02,用于在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;
109.控制模块03,用于根据控制信号控制cpu执行相应的操作。
110.在其中一个可选的实施例中,确定模块02,还用于在第一状态信号为高电平的情况下,若第二状态信号发生电平跳变,则确定工作站发生交流电掉电事件。
111.在其中一个可选的实施例中,工作站包括第一控制器和第二控制器;获取模块01,
用于通过第一控制器获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
112.确定模块02,用于通过第一控制器在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,将交流电掉电事件和系统状态发送至第二控制器;
113.确定模块02,用于通过第二控制器根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器。
114.在其中一个可选的实施例中,第二控制器包括rtc寄存器;rtc寄存器用于存储交流电掉电事件、系统状态和交流电掉电策略。
115.在其中一个可选的实施例中,该装置还定时模块04;
116.定时模块04,用于通过第二控制器在接收到交流电掉电事件之后,启动预设定时器;若预设定时器被执行完成,则执行根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器的步骤。
117.在其中一个可选的实施例中,如图9所示,定时模块04,还用于若预设定时器未被执行完成,则在检测到工作站上电之后,向第一控制器发起通信连接请求,在与第一控制器建立连接之后,执行根据工作站的系统状态和交流电掉电策略生成控制信号,并将控制信号发送给第一控制器步骤。
118.在其中一个可选的实施例中,第一控制器为复杂可编程逻辑器件cpld;第二控制器为微控制单元mcu。
119.上述掉电策略执行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
120.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
121.获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
122.在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;
123.根据控制信号控制cpu执行相应的操作。
124.上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
125.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
126.获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
127.在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;
128.根据控制信号控制cpu执行相应的操作。
129.上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
130.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
131.获取工作站的中央处理器cpu的第一状态信号和电源的第二状态信号;
132.在基于第一状态信号和第二状态信号确定工作站发生交流电掉电事件之后,根据工作站的系统状态和交流电掉电策略生成控制信号;
133.根据控制信号控制cpu执行相应的操作。
134.上述实施例提供的计算机程序产品,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
135.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
136.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
137.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
138.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1