CN114189305B - 一种时间同步方法、装置、设备及可读存储介质 - Google Patents

一种时间同步方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN114189305B
CN114189305B CN202111440447.7A CN202111440447A CN114189305B CN 114189305 B CN114189305 B CN 114189305B CN 202111440447 A CN202111440447 A CN 202111440447A CN 114189305 B CN114189305 B CN 114189305B
Authority
CN
China
Prior art keywords
time
uefi
operating system
management controller
baseboard management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111440447.7A
Other languages
English (en)
Other versions
CN114189305A (zh
Inventor
管浩延
陳明昇
詹崧连
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202111440447.7A priority Critical patent/CN114189305B/zh
Publication of CN114189305A publication Critical patent/CN114189305A/zh
Application granted granted Critical
Publication of CN114189305B publication Critical patent/CN114189305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Retry When Errors Occur (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种时间同步方法、装置、设备及可读存储介质,该方法包括:响应于基板管理控制器的重新启动,向UEFI发送时间同步请求,接收UEFI发送的UEFI时间戳,根据UEFI时间戳对基板管理控制器的时间进行同步。通过实施本申请,可以简单、快速实现BMC时间与UEFI时间、操作系统时间同步,解决在缺少RTL的服务器上,由于服务器没办法记录真实时间,导致服务器操作系统重新启动后基板管理控制器时间丢失,使得以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配的问题,且该时间同步方法并不需要在BMC中设置额外的元器件,因此,相比于通过在BMC中设置RTC电路的方式,可以减少服务器的成本,且BMC的设计也更为简单、高效。

Description

一种时间同步方法、装置、设备及可读存储介质
技术领域
本申请涉及时间同步技术领域,尤其涉及一种时间同步方法、装置、设备及可读存储介质。
背景技术
对于缺少寄存器转换级电路(RTL)的服务器,由于其没有办法记录真实时间,从而操作系统每次重启后,基板管理控制器(Baseboard Manager Controller,BMC)的时间会消失,如果不对基板管理控制器的时间进行同步,则以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件将错配。
目前,是在BMC上设置实时时钟芯片(Real-time clock,RTC)电路,以确保BMC时间与操作系统时间的同步,但实时时钟芯片电路设计成本较高。
发明内容
有鉴于此,本申请实施例通过提供一种时间同步方法、装置、设备及可读存储介质,用以解决现有技术中通过在BMC上设置实时时钟芯片电路以确保BMC时间与操作系统时间同步时,成本较高的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种时间同步方法,包括:响应于基板管理控制器的重新启动,向UEFI发送时间同步请求;接收UEFI发送的UEFI时间戳;根据UEFI时间戳对基板管理控制器的时间进行同步。
可选地,时间同步方法还包括:周期性保存基板管理控制器的时间戳。
可选地,向UEFI发送时间同步请求,包括:在判定操作系统电源开启,且操作系统处于工作状态的情况下,向UEFI发送时间同步请求。
可选地,时间同步方法还包括:在判定操作系统电源关闭的情况下,获取上一次保存的基板管理控制器的时间戳;启动计时器,基于上一次保存的基板管理控制器的时间戳对应的时间为计时器的起始时间以及计时器所记录时间对基板管理控制器的时间进行同步。
可选地,向UEFI发送时间同步请求,包括:通过GPIO向UEFI发送管理信息结构请求。
第二方面,本申请实施例提供了一种时间同步装置,包括:发送单元,用于响应于基板管理控制器的重新启动,向UEFI发送时间同步请求;接收单元,用于接收UEFI发送的UEFI时间戳;同步单元,用于根据UEFI时间戳对基板管理控制器的时间进行同步。
可选地,时间同步装置还包括:保存单元,用于周期性保存基板管理控制器的时间戳。
可选地,发送单元包括:发送子单元,用于在判定操作系统电源开启,且操作系统处于工作状态的情况下,向UEFI发送时间同步请求。
第三方面,本申请实施例提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器执行如第一方面或第一方面任意实施方式中的时间同步方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如第一方面或第一方面任意实施方式中的时间同步方法。
本申请实施例提供的时间同步方法、装置、设备及可读存储介质,由于服务器操作系统重新开机启动过程中,操作系统重新启动后,操作系统的时间会同步给UEFI,因此UEFI具有操作系统的时间,UEFI时间和操作系统时间同步,因此,在基板管理控制器重新启动时,通过响应于基板管理控制器的重新启动,向UEFI发送时间同步请求,接收UEFI发送的UEFI时间戳,根据UEFI时间戳对基板管理控制器的时间进行同步,就可以使得BMC时间与UEFI时间、操作系统时间同步,从而解决在缺少RTL的服务器上,由于服务器没办法记录真实时间,导致服务器操作系统重新启动后基板管理控制器时间丢失,使得以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配的问题,且该时间同步方法简单、快速,并不需要在BMC中设置额外的元器件,因此,相比于通过在BMC中设置RTC电路的方式,可以减少服务器的成本,且BMC的设计也更为简单、高效。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
图1为本申请实施例中一种时间同步方法的流程示意图;
图2为本申请实施例中一种时间同步装置的结构示意图;
图3为本申请实施例中一种电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于缺少RTL的服务器没有办法记录真实时间,因此,当服务器操作系统重新开机启动时,基板管理控制器的时间会消失,但是服务器进入到操作系统后,由于操作系统会自带时间,如果服务器重新启动后,不能实现基板管理控制器的时间和操作系统的时间同步,则以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件将可能错配。目前,是通过在BMC上设置RTC电路来确保BMC时间与操作系统时间同步,以确保以BMC时间戳的准确性。但在BMC中设置RTC电路,一方面,由于电路设计成本较高,增加了服务器的成本,另一方面,增加了BMC的设计难度。
UEFI(Unified Extensible Firmware Interface),全称为统一的可扩展固件接口,是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。UEFI的主要目的是为了提供一组在操作系统(OS)加载之前(启动前)在所有平台上一致的、正确指定的启动服务。
根据UEFI概念图的结构,可把UEFI概念划为两部分:UEFI的实体(UEFI Image)跟平台初始化框架。根据UEFI规范定义,UEFI Image包含三种:UEFI应用程序、OS加载器和UEFI驱动程序。UEFI应用程序是硬件初始化完,操作系统启动之前的核心应用,比如:启动管理、基本输入输出系统(Basic Input Output System,BIOS)设置、诊断程式、调度和供应程式、调试应用等等。OS加载器是特殊的UEFI应用程序,主要功能是启动操作系统并退出和关闭UEFI应用。UEFI驱动程序是提供设备间接口协议,每个设备独立运行提供设备版本号和相应的参数以及设备间关联,不再需要基于操作系统的支持。平台初始化框架主要包含两部分,一是可扩展固件接口预初始化(Pre-EFI Initialization,PEI),另一部分是驱动执行环境(Driver Execution Environment,DXE)。PEI主要是用来检测启动模式、加载主存储器初始化模块、检测和加载驱动执行环境核心。DXE是设备初始化的主要环节,它提供了设备驱动和协议接口环境界面。
目前,对于很多的服务器的重新启动,都是通过UEFI引导操作系统启动,然后进入操作系统。而操作系统重新启动后,操作系统的时间会同步给UEFI,这是伺服器的公定设计规范,因此UEFI具有操作系统的时间,UEFI时间和操作系统的时间同步。
因此,本申请发明人想到,在服务器重新开机启动过程中,基板管理控制器可以通过向UEFI发送时间同步请求,获取UEFI的时间,并基于UEFI时间同步BMC时间,就可以使得基板管理控制器时间与操作系统时间保持一致,避免以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配,这样,也就不用在BMC中不设置RTC电路了,不会增加服务器的成本,也不会增加BMC的设计难度。
为此,本申请实施例提供了一种时间同步方法,可应用于缺少RTL且通过UEFI引导操作系统启动的服务器上的BMC的时间同步过程,该BMC上没有RTC电路,如图1所示,时间同步方法包括:
S101.响应于基板管理控制器的重新启动,向UEFI发送时间同步请求。
在本申请实施例中,当服务器重新启动时,会通过UEFI进行操作系统的加载,当操作系统加载后,由于操作系统自带时间,因此,操作系统会将操作系统时间同步给UEFI,以更新UEFI时间,以使得UEFI时间与操作系统时间同步。操作系统加载后,可以进行基板管理控制器的重启。可以对基板管理控制器重新启动进行监听,当监听到基板管理控制器重新启动时,由于UEFI可以提供设备间的接口协议,且UEFI具有与操作系统同步的时间,为了对基板管理控制器进行时间同步,可以通过接口协议向UEFI发送时间同步请求。每当基板管理控制重新启动时,基板管理控制器总是向UEFI发送时间同步请求,以确保BMC时间与操作系统时间同步。
S102.接收UEFI发送的UEFI时间戳。
在本申请实施例中,UEFI可以创建一个后台任务来监听基板管理控制器发送的时间同步请求。当监听到基板管理控制器发送的时间同步请求后,可以及时向基板管理控制器发送UEFI当前的时间,具体可以以UEFI时间戳的形式将UEFI时间发送给基板管理控制器。
S103.根据UEFI时间戳对基板管理控制器的时间进行同步。
在本申请实施例中,基板管理控制器可以基于UEFI发送来的UEFI时间戳继续计算BMC内部时间戳,以对基板管理控制器的时间进行同步,以避免BMC时间与系统时间不对应。
本申请实施例提供的时间同步方法,由于服务器操作系统重新开机启动过程中,操作系统重新启动后,操作系统的时间会同步给UEFI,因此UEFI具有操作系统的时间,UEFI时间和操作系统时间同步,因此,在基板管理控制器重新启动时,通过响应于基板管理控制器的重新启动,向UEFI发送时间同步请求,接收UEFI发送的UEFI时间戳,根据UEFI时间戳对基板管理控制器的时间进行同步,就可以使得BMC时间与UEFI时间、操作系统时间同步,从而解决在缺少RTL的服务器上,由于服务器没办法记录真实时间,导致服务器操作系统重新启动后基板管理控制器时间丢失,使得以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配的问题,且该时间同步方法简单、快速,并不需要在BMC中设置额外的元器件,因此,相比于通过在BMC中设置RTC电路的方式,可以减少服务器的成本,且BMC的设计也更为简单、高效。
在一个可选的实施例中,由于服务器操作系统每次重新启动时,并不能确保每次都能成功加载操作系统,也不能确保UEFI能够及时监听到BMC发送的时间同步请求。如果操作系统加载成功,且UEFI能够及时监听到BMC发送的时间同步请求,则操作系统时间会同步给BMC。如果操作系统加载不成功,则UEFI同步操作系统的时间就会失败,则即使UEFI能够及时监听到BMC发送的时间同步请求,UEFI也不会发送UEFI时间给BMC,从而BMC不能获取到UEFI时间。如果操作系统加载成功,但UEFI不能够及时监听到BMC发送的时间同步请求,UEFI也不会发送UEFI时间给BMC,从而BMC不能获取到UEFI时间。因此,为了在操作系统加载不成功,和/或UEFI不能够及时监听到BMC发送的时间同步请求的情况下,BMC仍能保持正确的时间戳,在根据UEFI时间戳对基板管理控制器的时间进行同步之后,还可以保存基板管理控制器的时间戳,这样,在基板管理控制器没有接收到UEFI返回的UEFI时间戳时,可以以最新保存的基板管理控制器的时间戳来保持计数,以确保BMC时间戳的准确性,避免以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配的问题。
在一个优选的实施方式中,可以周期性保存基板管理控制器的时间戳。
具体地,保存基板管理控制器的时间戳的周期可以为几秒、几十秒、1分钟、几分钟等。可以周期性将基板管理控制器的时间戳保存在非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)或eMMC(Embedded Multi Media Card)中。NVRAM是断电后仍能保持数据的一种RAM。将基板管理控制器的时间戳保存在RAM中,基板管理控制器的时间戳不会因为断电而丢失。周期性保存基板管理控制器的时间戳,可以减少基板管理控制器的时间戳的保存数据量。
在一个可选的实施例中,服务器操作系统重新启动时,操作系统可能加载成功,也可能加载不成功。当操作系统加载成功时,则操作系统电源肯定开启,且操作系统加载成功后,才能将操作系统时间同步给UEFI,因此,在BMC重新启动时,可以在判定操作系统电源开启,且操作系统处于工作状态的情况下,才向UEFI发送时间同步请求。
具体地,在向UEFI发送时间同步请求时,可以先对操作系统电源是否开启进行判断,当判定操作系统电源开启,说明操作系统可以正常进行重启,然后可以判断是否已经进入操作系统了(也即操作系统是否处于工作状态),如果操作系统处于工作状态,则此时UEFI时间与操作系统时间同步,然后可以UEFI发送时间同步请求。
在本实施例中,在判定操作系统电源开启,且操作系统处于工作状态的情况下,才向UEFI发送时间同步请求,可以确保操作系统加载成功,UEFI可以成功同步操作系统时间,使得UEFI时间与操作系统时间同步,且能够成功将UEFI时间发送给BMC,以减少无用的时间同步请求。
在一个可选的实施例中,时间同步方法还包括:在判定操作系统电源关闭的情况下,获取上一次保存的基板管理控制器的时间戳;启动计时器,基于上一次保存的基板管理控制器的时间戳对应的时间为计时器的起始时间以及计时器所记录时间对基板管理控制器的时间进行同步。
具体地,当判定操作系统电源关闭,说明操作系统不能正常进行重启,则即使向UEFI发送时间同步请求,也无法获取到UEFI时间。由于在服务器重新启动前,在NVRAM或eMMC保存了BMC时间戳,因此,可以从NVRAM或eMMC中获取最新保存的BMC时间戳,然后启动计时器,以最新保存的BMC时间戳为计时器的起始时间,开始计时,以计时器记录时间对基板管理控制器的时间进行同步,直到下一次的BMC重新启动,以确保BMC时间戳的准确性,避免以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配的问题。
在本实施例中,在没有接收到UEFI发送的UEFI时间戳时,也可以获取上一次保存的基板管理控制器的时间戳;启动计时器,基于上一次保存的基板管理控制器的时间戳对应的时间为计时器的起始时间以及计时器所记录时间对基板管理控制器的时间进行同步。
在一个可选的实施例中,向UEFI发送时间同步请求,包括:通过通用输入/输出口(General Purpose Input Output,GPIO)向UEFI发送管理信息结构(SMI)请求。
在本实施例中,由于SMI能够确保网络管理数据的语法和语义明确和无二义性,因此通过GPIO向UEFI发送SMI请求,可以向UEFI发送语义明确的信息,以获取UEFI时间。
本申请实施例提供了一种时间同步装置,可应用于缺少RTL且通过UEFI引导操作系统启动的服务器上的BMC的时间同步过程,该BMC上没有RTC电路,如图2所示,时间同步装置包括:
发送单元21,用于响应于基板管理控制器的重新启动,向UEFI发送时间同步请求。
在本申请实施例中,当服务器重新启动时,会通过UEFI进行操作系统的加载,当操作系统加载后,由于操作系统自带时间,因此,操作系统会将操作系统时间同步给UEFI,以更新UEFI时间,以使得UEFI时间与操作系统时间同步。操作系统加载后,可以进行基板管理控制器的重启。可以对基板管理控制器重新启动进行监听,当监听到基板管理控制器重新启动时,由于UEFI可以提供设备间的接口协议,且UEFI具有与操作系统同步的时间,为了对基板管理控制器进行时间同步,可以通过接口协议向UEFI发送时间同步请求。每当基板管理控制重新启动时,基板管理控制器总是向UEFI发送时间同步请求,以确保BMC时间与操作系统时间同步。
接收单元22,用于接收UEFI发送的UEFI时间戳。
在本申请实施例中,UEFI可以创建一个后台任务来监听基板管理控制器发送的时间同步请求。当监听到基板管理控制器发送的时间同步请求后,可以及时向基板管理控制器发送UEFI当前的时间,具体是以UEFI时间戳的形式将UEFI时间发送给基板管理控制器。
同步单元23,用于根据UEFI时间戳对基板管理控制器的时间进行同步。
在本申请实施例中,基板管理控制器可以基于UEFI发送来的时间作为基板管理控制器的当前时间,基于UEFI时间戳对基板管理控制器的时间进行同步。
本申请实施例提供的时间同步装置,由于服务器操作系统重新开机启动过程中,操作系统重新启动后,操作系统的时间会同步给UEFI,因此UEFI具有操作系统的时间,UEFI时间和操作系统时间同步,因此,在基板管理控制器重新启动时,通过响应于基板管理控制器的重新启动,向UEFI发送时间同步请求,接收UEFI发送的UEFI时间戳,根据UEFI时间戳对基板管理控制器的时间进行同步,就可以使得BMC时间与UEFI时间、操作系统时间同步,从而解决在缺少RTL的服务器上,由于服务器没办法记录真实时间,导致服务器操作系统重新启动后基板管理控制器时间丢失,使得以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配的问题,且该时间同步方法简单、快速,并不需要在BMC中设置额外的元器件,因此,相比于通过在BMC中设置RTC电路的方式,可以减少服务器的成本,且BMC的设计也更为简单、高效。
在一个可选的实施例中,由于服务器操作系统每次重新启动时,并不能确保每次都能成功加载操作系统,也不能确保UEFI能够及时监听到BMC发送的时间同步请求。如果操作系统加载成功,且UEFI能够及时监听到BMC发送的时间同步请求,则操作系统时间会同步给BMC。如果操作系统加载不成功,则UEFI同步操作系统的时间就会失败,则即使UEFI能够及时监听到BMC发送的时间同步请求,UEFI也不会发送UEFI时间给BMC,从而BMC不能获取到UEFI时间。如果操作系统加载成功,但UEFI不能够及时监听到BMC发送的时间同步请求,UEFI也不会发送UEFI时间给BMC,从而BMC不能获取到UEFI时间。因此,为了在操作系统加载不成功,和/或UEFI不能够及时监听到BMC发送的时间同步请求的情况下,BMC仍能保持正确的时间戳,在根据UEFI时间戳对基板管理控制器的时间进行同步之后,还可以设置保存单元,用于保存基板管理控制器的时间戳,这样,在基板管理控制器没有接收到UEFI返回的UEFI时间戳时,可以以最新保存的基板管理控制器的时间戳来保持计数,以对BMC时间进行更新,确保BMC时间戳的准确性,避免以BMC时间为时间戳的文件及以操作系统时间为时间戳的文件的错配的问题。
在一个优选的实施方式中,保存单元,用于周期性保存基板管理控制器的时间戳。
具体地,保存基板管理控制器的时间戳的周期可以为几秒、几十秒、1分钟、几分钟等。可以周期性将基板管理控制器的时间戳保存在非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)或eMMC(Embedded Multi Media Card)中。NVRAM是断电后仍能保持数据的一种RAM。将基板管理控制器的时间戳保存在RAM中,基板管理控制器的时间戳不会因为断电而丢失。周期性保存基板管理控制器的时间戳,可以减少基板管理控制器的时间戳的保存数据量。
在一个可选的实施例中,服务器操作系统重新启动时,操作系统可能加载成功,也可能加载不成功。当操作系统加载成功时,则操作系统电源肯定开启,且操作系统加载成功后,才能将操作系统时间同步给UEFI,因此,发送单元包括:发送子单元,用于在判定操作系统电源开启,且操作系统处于工作状态的情况下,向UEFI发送时间同步请求。
具体地,在向UEFI发送时间同步请求时,可以先对操作系统电源是否开启进行判断,当判定操作系统电源开启,说明操作系统可以正常进行重启,然后可以判断是否已经进入操作系统了(也即操作系统是否处于工作状态),如果操作系统处于工作状态,则此时UEFI时间与操作系统时间同步,然后可以UEFI发送时间同步请求。
在本实施例中,在判定操作系统电源开启,且操作系统处于工作状态的情况下,才向UEFI发送时间同步请求,可以确保操作系统加载成功,UEFI可以成功同步操作系统时间,使得UEFI时间与操作系统时间同步,且能够成功将UEFI时间发送给BMC,以减少无用的时间同步请求。
基于与前述实施例中一种时间同步方法同样的发明构思,本申请实施例还提供一种电子设备,如图3所示,包括:处理器31和存储器32,其中处理器31和存储器32可以通过总线或者其他方式连接,图3中以通过总线连接为例进行说明。
处理器31可以为中央处理器(Central Processing Unit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的时间同步方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的时间同步方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器31所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至处理器31。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的一个或者多个模块存储在存储器32中,当被处理器31执行时,执行如图1所示实施例中的时间同步方法。
上述电子设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息处理设备的处理器以产生一个机器,使得通过计算机或其他可编程信息处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信息处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信息处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种时间同步方法,包括:
响应于基板管理控制器的重新启动,向UEFI发送时间同步请求;
接收UEFI发送的UEFI时间戳;
根据所述UEFI时间戳对所述基板管理控制器的时间进行同步。
2.根据权利要求1所述的时间同步方法,还包括:
周期性保存所述基板管理控制器的时间戳。
3.根据权利要求1或2所述的时间同步方法,所述向UEFI发送时间同步请求,包括:
在判定操作系统电源开启,且操作系统处于工作状态的情况下,向UEFI发送时间同步请求。
4.根据权利要求2所述的时间同步方法,还包括:
在判定操作系统电源关闭的情况下,获取上一次保存的所述基板管理控制器的时间戳;
启动计时器,基于上一次保存的所述基板管理控制器的时间戳对应的时间为计时器的起始时间,以计时器所记录时间对所述基板管理控制器的时间进行同步。
5.根据权利要求3所述的时间同步方法,所述向UEFI发送时间同步请求,包括:
通过GPIO向UEFI发送管理信息结构请求。
6.一种时间同步装置,包括:
发送单元,用于响应于基板管理控制器的重新启动,向UEFI发送时间同步请求;
接收单元,用于接收UEFI发送的UEFI时间戳;
同步单元,用于根据所述UEFI时间戳对所述基板管理控制器的时间进行同步。
7.根据权利要求6所述的时间同步装置,还包括:
保存单元,用于周期性保存所述基板管理控制器的时间戳。
8.根据权利要求6或7所述的时间同步装置,所述发送单元包括:
发送子单元,用于在判定操作系统电源开启,且操作系统处于工作状态的情况下,向UEFI发送时间同步请求。
9.一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-5任意一项所述的时间同步方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行如权利要求1-5任意一项所述的时间同步方法。
CN202111440447.7A 2021-11-30 2021-11-30 一种时间同步方法、装置、设备及可读存储介质 Active CN114189305B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111440447.7A CN114189305B (zh) 2021-11-30 2021-11-30 一种时间同步方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111440447.7A CN114189305B (zh) 2021-11-30 2021-11-30 一种时间同步方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114189305A CN114189305A (zh) 2022-03-15
CN114189305B true CN114189305B (zh) 2023-04-28

Family

ID=80541767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111440447.7A Active CN114189305B (zh) 2021-11-30 2021-11-30 一种时间同步方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114189305B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990985A (zh) * 2017-03-28 2017-07-28 南京百敖软件有限公司 基于bmc更新及备份系统uefi固件的设备和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120017074A1 (en) * 2010-07-16 2012-01-19 International Business Machines Corporation Dynamic system mode switching
US10592232B2 (en) * 2017-09-26 2020-03-17 Quanta Computer Inc. Preserving firmware setting during firmware update

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990985A (zh) * 2017-03-28 2017-07-28 南京百敖软件有限公司 基于bmc更新及备份系统uefi固件的设备和方法

Also Published As

Publication number Publication date
CN114189305A (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
US9665521B2 (en) System and method for providing a processing node with input/output functionality by an I/O complex switch
US8146060B2 (en) Data processing system and method for execution of a test routine in connection with an operating system
US8966318B1 (en) Method to validate availability of applications within a backup image
US10002054B2 (en) Method and system for performing automatic system recovery
EP3407187B1 (en) Optical line terminal, and method for upgrading master device and slave device
US10802916B2 (en) System and method to enable rapid recovery of an operating system image of an information handling system after a malicious attack
CN104185836A (zh) 用于在系统改变之后验证计算设备的适当操作的方法和系统
CN109413497B (zh) 一种智能电视机及其系统启动方法
CN111209265B (zh) 一种数据库切换方法和终端设备
CN111752577B (zh) 一种系统版本的升级方法及设备
CN116521209B (zh) 操作系统的升级方法及装置、存储介质及电子设备
CN114189305B (zh) 一种时间同步方法、装置、设备及可读存储介质
US9690569B1 (en) Method of updating firmware of a server rack system, and a server rack system
WO2023125482A1 (zh) 集群管理方法、设备及计算系统
WO2020066552A1 (ja) Bmc及びbmcファームウェア判定方法
CN111158963A (zh) 一种服务器固件冗余启动方法和服务器
CN109324834A (zh) 一种分布式存储服务器自动重启的系统及方法
JP2014170306A (ja) 情報処理装置、起動障害からの自動復旧方法、及び起動障害からの自動復旧プログラム
TWI554876B (zh) 節點置換處理方法與使用其之伺服器系統
CN112905207A (zh) Ecu数据刷写方法、ecu数据刷写装置、车载终端及介质
JP2012108853A (ja) ディジタルシグナルプロセッサを起動するシステム、装置および方法
WO2018077088A1 (zh) 一种应用升级方法及装置
CN114020340B (zh) 一种服务器系统及其数据处理方法
TWI777664B (zh) 嵌入式系統的開機方法
CN108268367B (zh) 一种应用程序亲和性判断方法及相关应用程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant