CN114895746B - 一种系统时间的同步方法及装置、计算设备、存储介质 - Google Patents
一种系统时间的同步方法及装置、计算设备、存储介质 Download PDFInfo
- Publication number
- CN114895746B CN114895746B CN202210669969.2A CN202210669969A CN114895746B CN 114895746 B CN114895746 B CN 114895746B CN 202210669969 A CN202210669969 A CN 202210669969A CN 114895746 B CN114895746 B CN 114895746B
- Authority
- CN
- China
- Prior art keywords
- cpu
- time
- running time
- bmc
- accumulated
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012790 confirmation Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000009825 accumulation Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种系统时间的同步方法及装置、计算设备、存储介质,设置相互通信的CPU和BMC,且所述BMC为持续供电状态,所述方法包括:所述CPU上电启动后,获取所述BMC中存储的累计运行时间以及所述CPU的本次运行时间;所述累计运行时间为所述CPU在本次上电启动之前的运行时间总和,所述本次运行时间为所述CPU在本次上电启动后到获取到所述累计运行时间之前的运行时间;通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间。本申请利用BMC不断电的特点对CPU断电之前的累计运行时间进行存储,并在CPU上电启动时反馈给CPU,在CPU中实现系统时间的同步。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种系统时间的同步方法及装置、计算设备、存储介质。
背景技术
在一些硬件设计中,为了减少成本和需求,CPU是不配置RTC(Real Time Clock,实时时钟)模块的,从而无法记录系统断电之前的运行时间,每次断电之后都会重新开始计时,因此缺少对系统运行累计时间的统计。针对该问题,现有的一种解决方式是在CPU外部外挂一个存储部件,然后每隔一段时间(例如一分钟),将系统运行累计时间写入到CPU外挂的存储部件中,以实现对系统运行累计时间的统计。然而这种方式存在一个隐患,就是存储部件的可擦写次数是有限的,例如flash等存储部件的可擦写次数一般为10万次,而对于间隔一分钟的频繁写入来说,不到一个月就可实现局部擦写10万次,达到存储部件的擦写寿命,因此这种方式的应用场景较为有限。
发明内容
有鉴于此,本申请提出一种系统时间的同步方法及装置、计算设备、存储介质,利用BMC不断电的特点对CPU断电之前的累计运行时间进行存储,并在CPU上电启动时反馈给CPU,在CPU中实现系统时间的同步。
第一方面,本申请提供了一种系统时间的同步方法,设置相互通信的CPU和BMC,且所述BMC为持续供电状态,所述方法包括:
所述CPU上电启动后,获取所述BMC中存储的累计运行时间以及所述CPU的本次运行时间;所述累计运行时间为所述CPU在本次上电启动之前的运行时间总和,所述本次运行时间为所述CPU在本次上电启动后到获取到所述累计运行时间之前的运行时间;;
通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间。
由上,本方法通过设置相互通信的CPU和BMC,并利用BMC不断电的特点对CPU断电之前的累计运行时间进行存储,当CPU重新上电启动时,通过获取BMC中存储的累计运行时间,并通过累加本次运行时间即可得到CPU的正确系统时间。本方法结构简单,无需增加新的硬件,即可实现系统时间的同步。
可选的,还包括:
确定所述系统时间后,所述CPU每运行预设时间发送一次运行时间累加值至所述BMC,以更新所述BMC中存储的所述累计运行时间。
由上,实现CPU的系统时间的同步后,在CPU的运行过程中,CPU每运行预设时间发送一次运行时间累加值至BMC,在BMC中进行累加计算,以实时更新BMC中存储的累计运行时间,由此通过实时更新BMC中存储的累计运行时间,当CPU发生断电,并重新上电启动后,即可获取BMC中存储的累计运行时间以实现系统时间的同步。
可选的,所述获取所述BMC的累计运行时间包括:
所述CPU向所述BMC发送时间获取报文,所述时间获取报文包括累计运行时间的获取命令;
所述CPU接收所述BMC的应答报文,所述应答报文中包括所述累计运行时间。
由上,CPU在上电启动后,通过封装报文的形式即可实现BMC的累计运行时间的获取,从而得到系统时间。
可选的,所述CPU每运行预设时间发送一次运行时间累加值至所述BMC包括:
所述CPU每运行预设时间向所述BMC发送一次时间通知报文,所述时间通知报文包括运行时间累加值及应答确认信息;
所述CPU接收所述BMC根据应答确认信息反馈的确认报文,所述确认报文中包括所述BMC收到了所述运行时间累加值并执行了累加计算的确认信息。
由上,CPU通过时间通知报文的形式向BMC发送运行时间累加值,该CPU通过每隔预设时间向BMC发送一次运行时间累加值的方式,避免CPU出现断电或其他故障时,导致系统时间丢失的风险。BMC将接收的时间累加值与之前存储的累计运行时间进行累加计算,以达到实时更新所述累计运行时间的效果,并通过反馈确认报文的方式,向CPU反馈收到了该累计运行时间并执行了累加计算的确认信息,提高系统时间同步的可靠性。
在另一可选实施方式中,BMC也可不反馈确认报文,以减少系统的通信负载压力。
可选的,还包括:所述CPU对系统时间清零时,同步向所述BMC发送归零报文,以使所述BMC根据所述归零报文清零所述累计运行时间。
由上,CPU和BMC之间可以通过归零报文,实现CPU和BMC的时间清零,从而达到同步的目的。
可选的,还包括:所述CPU断电时,停止更新所述BMC中存储的累计运行时间。
由上,当CPU断电时,不再向BMC发送运行时间累加值,因此BMC在未收到运行时间累加值的前提下,停止更新累计运行时间,直至再次收到CPU发送的运行时间累加值。
可选的,所述CPU与所述BMC通过UART总线进行通信。
由上,CPU和BMC可通过UART进行通信,以实现相互之间的数据传输。
第二方面,本申请提供了一种系统时间的同步方法,其特征在于,设置相互通信的CPU和BMC,且所述BMC为持续供电状态,所述方法包括:
所述BMC在检测到所述CPU上电启动后,将其存储的累计运行时间发送至所述CPU,使得所述CPU通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间;所述累计运行时间为所述CPU在本次上电启动之前的运行时间总和,所述本次运行时间为所述CPU在本次上电启动后到所述BMC发送所述累计运行时间之前的运行时间。
第三方面,本申请提供了一种系统时间的同步装置,设置相互通信的BMC和CPU,且所述BMC为持续供电状态,所述装置包括:
获取模块,用于所述CPU上电启动后,获取所述BMC的累计运行时间以及所述CPU的本次运行时间;所述累计运行时间为所述CPU在上电启动之前的运行时间总和,所述本次运行时间为所述CPU在本次上电启动后到获取所述累计运行时间之前的运行时间;
同步模块,用于通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间。
第四方面,本申请提供了一种计算设备,所述计算设备包括:
处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述处理器执行,使得所述处理器实现上述的系统时间的同步方法。
第五方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述的系统时间的同步方法。
本申请的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种交换单元的结构示意图;
图2为本申请实施例提供的一种系统时间的同步方法的示意图;
图3为本申请实施例提供的一种系统时间的同步装置的结构图;
图4为本申请实施例提供的一种计算设备的结构图。
应理解,上述结构示意图中,各框图的尺寸和形态仅供参考,不应构成对本申请实施例的排他性的解读。结构示意图所呈现的各框图间的相对位置和包含关系,仅为示意性地表示各框图间的结构关联,而非限制本申请实施例的物理连接方式。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
BMC(Baseboard Management Controller,基板管理控制器)有自己的时间系统,但是没有基准时间,BMC启动后使用预设的默认时间作为基准时间开始运行。在系统服务器中,BMC可以由电源模块直接供电,因为其运行功率极小,所以一般是不断电的。如图1所示的一种交换单元,包括电源VCC、中央处理器CPU、交换芯片SWITCH和BMC,其中电源VCC通过控制开关给CPU和SWITCH供电,并单独给BMC供电,控制开关可以通过BMC的控制信号进行控制,从而实现对于CPU和SWITCH的电源控制。而BMC和CPU则可以通过UART(UniversalAsynchronous Receiver/Transmitter,通用异步收发传输器)总线进行通信,实现两者之间的数据收发。
而由于一些硬件设计为了减少成本和需求,CPU是不配置RTC(Real Time Clock,实时时钟)模块的,从而无法记录系统断电之前的运行时间,每次断电之后都会重新开始计时,因此缺少对系统运行累计时间的统计。
有鉴于此,本申请实施例提供了一种系统时间的同步方法及装置、计算设备、存储介质,利用BMC不断电的特点对CPU断电之前的累计运行时间进行存储,并在CPU上电启动时反馈给CPU,在CPU中实现系统时间的同步。
如图2所示,本申请实施例提供了一种系统时间的同步方法,该通过设置相互通信的CPU和BMC,且所述BMC为持续供电状态,该方法包括:
S10:所述CPU上电启动后,获取所述BMC中存储的累计运行时间以及所述CPU的本次运行时间;
本步骤中,CPU在每次上电启动后,到获取BMC的累计运行时间之前,完成本次运行时间的计算,本次运行时间具体可以包括CPU上电启动后到获取BMC的累计运行时间之前的运行时间。
CPU通过向BMC发送时间获取报文,该时间获取报文包括累计运行时间的获取命令;BMC在接收到时间获取报文后,根据时间获取报文将累计运行时间封装到应答报文,并向CPU发送。
S20:通过累加所述累计运行时间和本次运行时间得到以确定所述CPU的系统时间;
本步骤中,CPU通过将获取的累计运行时间和本次运行时间进行累加计算,即可得到CPU的正确系统时间,从而实现系统时间的同步。
S30:确定所述系统时间后,所述CPU每运行预设时间发送一次运行时间累加值至所述BMC,以更新所述BMC中存储的所述累计运行时间。
本步骤中,CPU在运行过程中,通过时间通知报文的形式向BMC发送运行时间累加值,即每隔一段时间发送一次时间通知报文,该时间通知报文中包括运行时间累加值,该运行时间累加值具体为上一次发送时间通知报文到本次发送时间通知报文之间的CPU运行时间。从而避免CPU出现断电或其他故障时,导致的运行时间的丢失。
BMC在每次接收到CPU发送的运行时间累加值后,与之前记录的累计运行时间进行累加计算,以实现对系统累加运行时间的更新。
在一些实施例中,BMC接收到上述运行时间累加值并完成上述累加计算后,还会向CPU反馈确认报文,该确认报文中包含了该BMC收到了所述运行时间累加值并执行了累加计算的确认信息,通过报文反馈的形式,可使得CPU确认其发送的运行时间累加值被BMC收到并执行了累加计算,避免BMC未成功接收运行时间累加值而导致的累计运行时间的更新失败。
在另一些实施例中,考虑到CPU发送运行时间累加值的频率较高,若BMC每次都反馈确认报文,频繁的收发报文容易对系统的通信负载造成压力,因此,BMC接收到上述运行时间累加值并完成上述累加计算后,可不必反馈确认报文,由此减小系统的通信复杂压力。
当CPU断电后,不再向BMC发送运行时间累加值,因此BMC也停止更新累计运行时间,直至再次接收到CPU的运行时间累加值。需要说明的是,CPU发送运行时间累加值的频率通常较高,例如1min,然而,假设CPU在发送下一次运行时间累加值之前发生断电,则本次断电会导致累计运行时间形成小于1min的误差,在实际运行过程中,该误差可以忽略不计,但针对一些对系统时间要求比较精确的应用场景,可以在运行一段时间之后,对累计形成的误差进行一次校准,以保证系统时间的精确。
本实施例中,CPU和BMC通过总线实现相互通信,具体可以是UART总线,以实现CPU和BMC之间的报文传输。
在一些实施例中,本申请的CPU和BMC还可以通过归零报文实现时间同步清零,具体的,当涉及到更改系统设备的位置,或者需要增加或减少系统设备中的某个组件,又或者其他特殊情况,需要对系统时间清零时,可以通过CPU对系统时间清零,并同步向BMC发送归零报文,BMC根据归零报文对记录的累计运行时间进行清零。清零后的CPU和BMC可重新开始上述的系统时间同步过程,以重新开始记录系统时间。
综上所述,本申请实施例利用BMC不断电的特点,通过CPU每隔预设时间发送依次运行时间累加值给BMC进行累加计算,以记录累计运行时间,并在CPU上电启动时反馈给CPU,在CPU中实现系统时间的同步,从而保证CPU在断电重启后与系统时间保持同步。
如图3所示,本申请实施例还提供了一种系统时间的同步装置,该装置可用于实现上述的系统时间的同步方法的任一步骤及其可选的实施例。如图3,该系统时间的同步装置200包括获取模块210、同步模块220和更新模块230。
获取模块210用于所述CPU上电启动后,获取所述BMC中存储的累计运行时间以及所述CPU的本次运行时间;同步模块220用于通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间;确定所述系统时间后,更新模块230用于使所述CPU每运行预设时间发送一次运行时间累加值至所述BMC,以更新所述BMC中存储的所述累计运行时间。。
应理解的是,本申请实施例中的装置或模块可以由软件实现,例如可以由具有上述功能计算机程序或指令来实现,相应计算机程序或指令可以存储在终端内部的存储器中,通过处理器读取该存储器内部的相应计算机程序或指令来实现上述功能。或者,本申请实施例的装置或模块还可以由硬件来实现。又或者,本申请实施例中的装置或模块还可以由处理器和软件模块的结合实现。
应理解,本申请实施例中的装置或模块的处理细节可以参考图2所示的实施例及相关扩展实施例的相关表述,本申请实施例将不再重复赘述。
图4是本申请实施例提供的一种计算设备1000的结构性示意性图。该计算设备1000包括:处理器1010、存储器1020、通信接口1030、总线1040。
应理解,图4所示的计算设备1000中的通信接口1030可以用于与其他设备之间进行通信。
其中,该处理器1010可以与存储器1020连接。该存储器1020可以用于存储该程序代码和数据。因此,该存储器1020可以是处理器1010内部的存储单元,也可以是与处理器1010独立的外部存储单元,还可以是包括处理器1010内部的存储单元和与处理器1010独立的外部存储单元的部件。
可选的,计算设备1000还可以包括总线1040。其中,存储器1020、通信接口1030可以通过总线1040与处理器1010连接。总线1040可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线1040可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器1010可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1010采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器1020可以包括只读存储器和随机存取存储器,并向处理器1010提供指令和数据。处理器1010的一部分还可以包括非易失性随机存取存储器。例如,处理器1010还可以存储设备类型的信息。
在计算设备1000运行时,所述处理器1010执行所述存储器1020中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备1000可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备1000中的各个模块的上述其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行上述方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
需要说明的是,本申请所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,上述对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在上述的描述中,所涉及的表示步骤的标号,并不表示一定会按此步骤执行,还可以包括中间的步骤或者由其他的步骤代替,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。
Claims (8)
1.一种系统时间的同步方法,其特征在于,设置相互通信的CPU和BMC,且所述BMC为持续供电状态,所述方法包括:
所述CPU上电启动后,获取所述BMC中存储的累计运行时间以及所述CPU的本次运行时间;所述累计运行时间为所述CPU在本次上电启动之前的运行时间总和,所述本次运行时间为所述CPU在本次上电启动后到获取到所述累计运行时间之前的运行时间;
通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间;
确定所述系统时间后,所述CPU每运行预设时间发送一次运行时间累加值至所述BMC,以更新所述BMC中存储的所述累计运行时间;
所述CPU断电时,停止更新所述BMC中存储的累计运行时间,并在运行一段时间之后,对累计形成的误差进行一次校准,该误差为所述CPU在发送本次运行时间累加值之前发生断电所造成的误差。
2.根据权利要求1所述的方法,其特征在于,所述获取所述BMC中存储的累计运行时间包括:
所述CPU向所述BMC发送时间获取报文,所述时间获取报文包括累计运行时间的获取命令;
所述CPU接收所述BMC根据所述累计运行时间的获取命令回馈的应答报文,所述应答报文中包括所述累计运行时间。
3.根据权利要求1所述的方法,其特征在于,所述CPU每运行预设时间发送一次运行时间累加值至所述BMC包括:
所述CPU每运行预设时间向所述BMC发送一次时间通知报文,所述时间通知报文包括运行时间累加值及应答确认信息;
所述CPU接收所述BMC根据所述应答确认信息反馈的确认报文,所述确认报文中包括所述BMC收到了所述运行时间累加值并执行了累加计算的确认信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
所述CPU对系统时间清零时,同步向所述BMC发送归零报文,以使所述BMC根据所述归零报文清零所述累计运行时间。
5.一种系统时间的同步方法,其特征在于,设置相互通信的CPU和BMC,且所述BMC为持续供电状态,所述方法包括:
所述BMC在检测到所述CPU上电启动后,将其存储的累计运行时间发送至所述CPU,使得所述CPU通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间;所述累计运行时间为所述CPU在本次上电启动之前的运行时间总和,所述本次运行时间为所述CPU在本次上电启动后到所述BMC发送所述累计运行时间之前的运行时间;
确定所述系统时间后,所述BMC接收所述CPU每运行预设时间发送的一次运行时间累加值,以更新所述BMC中存储的所述累计运行时间;
所述CPU断电时,停止更新所述BMC中存储的累计运行时间,并在运行一段时间之后,对累计形成的误差进行一次校准,该误差为所述CPU在发送本次运行时间累加值之前发生断电所造成的误差。
6.一种系统时间的同步装置,其特征在于,设置相互通信的BMC和CPU,且所述BMC为持续供电状态,所述装置包括:
获取模块,用于所述CPU上电启动后,获取所述BMC的累计运行时间以及所述CPU的本次运行时间;所述累计运行时间为所述CPU在本次上电启动之前的运行时间总和,所述本次运行时间为所述CPU在本次上电启动后到获取到所述累计运行时间之前的运行时间;
同步模块,用于通过累加所述累计运行时间和本次运行时间以确定所述CPU的系统时间;
所述CPU断电时,停止更新所述BMC中存储的累计运行时间,并在运行一段时间之后,对累计形成的误差进行一次校准,该误差为所述CPU在发送本次运行时间累加值之前发生断电所造成的误差。
7.一种计算设备,其特征在于,包括:
处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述处理器执行,使得所述处理器实现如权利要求1至5任意一项所述的系统时间的同步方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被计算机执行时实现如权利要求1至5任意一项所述的系统时间的同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210669969.2A CN114895746B (zh) | 2022-06-14 | 2022-06-14 | 一种系统时间的同步方法及装置、计算设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210669969.2A CN114895746B (zh) | 2022-06-14 | 2022-06-14 | 一种系统时间的同步方法及装置、计算设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114895746A CN114895746A (zh) | 2022-08-12 |
CN114895746B true CN114895746B (zh) | 2023-11-07 |
Family
ID=82729209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210669969.2A Active CN114895746B (zh) | 2022-06-14 | 2022-06-14 | 一种系统时间的同步方法及装置、计算设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114895746B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283819A (zh) * | 1999-07-27 | 2001-02-14 | 朗迅科技公司 | 监控演示评价软件运行时间使用的方法 |
CN1949129A (zh) * | 2006-11-27 | 2007-04-18 | 杭州华为三康技术有限公司 | 时间同步方法及装置 |
JP2012128552A (ja) * | 2010-12-14 | 2012-07-05 | Hitachi Ltd | 情報処理装置および情報処理装置の時刻同期方法 |
CN103718186A (zh) * | 2013-09-05 | 2014-04-09 | 华为技术有限公司 | 存储系统及数据操作请求处理方法 |
CN104360933A (zh) * | 2014-11-25 | 2015-02-18 | 绵阳市维博电子有限责任公司 | 一种记录板卡累计上电时间的装置 |
CN109445517A (zh) * | 2018-11-08 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种同步bmc和os时间的方法、装置、终端及存储介质 |
CN110008105A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种bmc时间保留方法、装置及电子设备和存储介质 |
CN110362152A (zh) * | 2019-06-28 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种系统硬件时间和bmc硬件时间的同步系统和方法 |
CN110442386A (zh) * | 2019-06-25 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种bmc启动方法、系统、电子设备及计算机存储介质 |
CN112148065A (zh) * | 2019-06-28 | 2020-12-29 | 华为技术有限公司 | 一种时间同步的方法和服务器 |
CN114563995A (zh) * | 2022-01-17 | 2022-05-31 | 潍柴动力股份有限公司 | 电子控制单元的复位检测方法、装置、设备及存储介质 |
-
2022
- 2022-06-14 CN CN202210669969.2A patent/CN114895746B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1283819A (zh) * | 1999-07-27 | 2001-02-14 | 朗迅科技公司 | 监控演示评价软件运行时间使用的方法 |
CN1949129A (zh) * | 2006-11-27 | 2007-04-18 | 杭州华为三康技术有限公司 | 时间同步方法及装置 |
JP2012128552A (ja) * | 2010-12-14 | 2012-07-05 | Hitachi Ltd | 情報処理装置および情報処理装置の時刻同期方法 |
CN103718186A (zh) * | 2013-09-05 | 2014-04-09 | 华为技术有限公司 | 存储系统及数据操作请求处理方法 |
CN104360933A (zh) * | 2014-11-25 | 2015-02-18 | 绵阳市维博电子有限责任公司 | 一种记录板卡累计上电时间的装置 |
CN109445517A (zh) * | 2018-11-08 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种同步bmc和os时间的方法、装置、终端及存储介质 |
CN110008105A (zh) * | 2019-04-11 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种bmc时间保留方法、装置及电子设备和存储介质 |
CN110442386A (zh) * | 2019-06-25 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种bmc启动方法、系统、电子设备及计算机存储介质 |
CN110362152A (zh) * | 2019-06-28 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种系统硬件时间和bmc硬件时间的同步系统和方法 |
CN112148065A (zh) * | 2019-06-28 | 2020-12-29 | 华为技术有限公司 | 一种时间同步的方法和服务器 |
CN114563995A (zh) * | 2022-01-17 | 2022-05-31 | 潍柴动力股份有限公司 | 电子控制单元的复位检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114895746A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110580235B (zh) | 一种sas扩展器通信方法及装置 | |
CN114003538B (zh) | 一种智能网卡的识别方法及智能网卡 | |
EP4213037A1 (en) | Data storage and reconciliation method and system | |
CN108139955A (zh) | 用于在计算设备中提供独立于操作系统的错误控制的系统和方法 | |
US11023335B2 (en) | Computer and control method thereof for diagnosing abnormality | |
CN114895746B (zh) | 一种系统时间的同步方法及装置、计算设备、存储介质 | |
CN109491491A (zh) | 一种服务器时序控制与信号监控板卡 | |
CN109542198B (zh) | 一种控制pcie卡上电的方法及设备 | |
CN116244255A (zh) | Rsmc芯片、芯片多阶段启动方法以及北斗通信导航设备 | |
CN212181459U (zh) | Fpga升级系统 | |
WO2018196223A1 (zh) | 一种数据处理方法及相关设备 | |
CN107943575A (zh) | Spi‑nand中的多任务监管方法和装置 | |
CN110990313B (zh) | 一种i3c总线处理时钟拉伸的方法、设备以及存储介质 | |
CN111158920B (zh) | 一种移动系统的进程数据读写优化方法及系统 | |
CN110597536B (zh) | 一种软件升级方法、系统及终端设备 | |
US9430314B2 (en) | Memory program upon system failure | |
CN115373908A (zh) | 一种数据存储方法及相关装置 | |
CN110908886A (zh) | 一种数据发送方法、装置、电子设备和存储介质 | |
CN111123792A (zh) | 一种多主系统交互通信与管理方法和装置 | |
CN117311769B (zh) | 服务器日志生成方法和装置、存储介质及电子设备 | |
US11194665B2 (en) | Systems and methods for seamless redelivery of missing data | |
KR100966999B1 (ko) | 플래시 메모리 업데이트 장치 및 방법 | |
CN114580595B (zh) | 物品信息获取方法、装置、系统以及存储介质 | |
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
JP6100551B2 (ja) | 電子機器 |
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 |