CN114840054B - 时间同步方法、装置、系统、设备及存储介质 - Google Patents
时间同步方法、装置、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114840054B CN114840054B CN202210776317.9A CN202210776317A CN114840054B CN 114840054 B CN114840054 B CN 114840054B CN 202210776317 A CN202210776317 A CN 202210776317A CN 114840054 B CN114840054 B CN 114840054B
- Authority
- CN
- China
- Prior art keywords
- rtc
- writing
- flag bit
- time
- instruction
- 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 40
- 238000004891 communication Methods 0.000 claims abstract description 53
- 238000011084 recovery Methods 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/14—Time supervision arrangements, e.g. real time clock
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请涉及一种时间同步方法、装置、系统、设备及存储介质。方法包括:通过获取目标时间写指令;获取时钟芯片RTC的写入标志位,若写入标志位为第一标志位,向RTC发出断开指令,断开指令用于指示除BMC外的连接RTC的其他部件断开与RTC的通信;当检测到其他部件与RTC断开通信时,根据目标时间写指令向RTC写入时间;当完成向RTC写入时间的操作后,将RTC的写入标志位由第一标志位调整为第二标志位,并向RTC发出恢复连接指令,恢复连接指令用于指示其他部件与RTC恢复通信;其中,第一标志位用于表示允许写入;第二标志位用于表示不允许写入。本方案可实现准确的时间同步。
Description
技术领域
本申请涉及时间同步技术领域,特别是涉及一种时间同步方法、装置、系统、设备及计算机可读存储介质。
背景技术
随着用户对计算机的性能要求的提高,用户对服务器的需求数量越来越多。服务器为用户提供了众多资源,用户可以根据具体的任务分配合适的资源进行支持。而管理服务器模块BMC(Baseboard Management Controller,基板管理控制器)的正常运行对整个服务流程有至关重要的作用,BMC对整个服务器进行管理,包块资产信息、FRU(Field ReplaceUnit,现场可更换单元)信息、存储信息、日志、系统维护、网络设置、时间设置等众多功能。
通常情况下,服务器不会直接与外网连接,BMC时间也不能通过NTP(Network TimeProtocol,网络时间协议)协议来跟UTC(Universal Time Coordinated,世界协调时间时)时间同步,只能与RTC(Real time clock,实时时钟)时间同步。在arm架构的服务器中,可以将BMC与RTC直接连接,使得BMC可以直接从RTC读取时间,并且BMC还可以写入时间至RTC中。但是,这会出现不同部件同时或先后向RTC写入时间的情形,最终导致日志时间错误的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够准确进行时间同步的时间同步方法、装置、系统、设备及计算机可读存储介质。
第一方面,本申请提供了一种时间同步方法,应用于基板管理控制器BMC。所述方法包括:
获取目标时间写指令;
获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;
当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;
当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;
其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。
在其中一个实施例中,在所述获取时钟芯片RTC的写入标志位之后,所述方法还包括:
若所述写入标志位为第二标志位,则将所述写入标志位调整为第一标志位,然后执行所述向所述RTC发出断开指令的步骤。
在其中一个实施例中,所述获取目标时间写指令,包括:
获取所述其他部件写入时间至所述RTC的时间写指令;
当同时接收到多个所述时间写指令时,根据所述时间写指令的优先级,确定所述目标时间写指令;
当只接收到一个所述时间写指令时,将所述时间写指令作为所述目标时间写指令。
在其中一个实施例中,所述BMC通过可编程逻辑器件与通用输入输出接口GPIO连接,并通过所述可编程逻辑器件控制所述GPIO的标志位;所述获取时钟芯片RTC的写入标志位,包括:
获取所述GPIO的标志位,将所述GPIO的标志位作为所述写入标志位。
在其中一个实施例中,所述获取时钟芯片RTC的写入标志位,包括:
从所述RTC或所述BMC中获取所述写入标志位。
第二方面,本申请还提供了一种时间同步装置,应用于基板管理控制器BMC,所述装置包括:
指令获取模块,用于获取目标时间写指令;
第一标志模块,用于获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;
时间写入模块,用于当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;
第二标志模块,用于当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。
第三方面,本申请还提供了一种时间同步系统,所述系统包括基板管理控制器BMC模块、开关模块及时钟芯片RTC模块;所述BMC模块通过所述开关模块与所述RTC模块连接;
所述BMC模块,用于获取目标时间写指令,并获取所述RTC模块的写入标志位,若所述写入标志位为第一标志位,向所述RTC模块发出断开指令,所述断开指令用于指示所述开关模块将除所述BMC模块外的连接所述RTC模块的其他部件与所述RTC模块的通信断开;当检测到其他部件与所述RTC模块断开通信时,根据所述目标时间写指令向所述RTC模块写入时间;当完成向RTC模块写入时间的操作后,将所述RTC模块的写入标志位由第一标志位调整为第二标志位,并向所述RTC模块发出恢复连接指令,所述恢复连接指令用于指示所述开关模块将所述其他部件与所述RTC模块通信导通;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入;
所述开关模块,用于控制所述其他部件与所述RTC模块之间通信的导通或断开;
所述RTC模块,用于接收所述BMC模块根据所述目标时间写指令所写入的时间,并以所述所写入的时间为开始时刻进行计时。
第四方面,本申请还提供了一种基板管理控制器,所述基板管理控制器包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标时间写指令;
获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;
当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;
当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。
第五方面,本申请还提供了了一种计算机设备,所述计算机设备包括基板管理控制器。
第六方面,本申请提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标时间写指令;
获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;
当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;
当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。
上述时间同步方法、装置、系统、设备及计算机可读存储介质,BMC通过获取目标时间写指令;获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。本申请通过获取并识别时钟芯片的写入标志位,根据时钟芯片的写入标志位状态确定能否向RTC写入时间,当不能写入时,则调整时钟芯片的写入标志位使得能够根据目标时间写指令向RTC写入时间;在能够写入时,则将其他部件与RTC间的通信断开,使得RTC能够独立控制是否向RTC写入时间,保证写入时间的准确,即保证了统一由BMC向RTC写入时间,而其他部件能够从RTC中获取时间,从而实现准确的时间同步。
附图说明
图1为一个实施例中时间同步方法的应用环境图;
图2为一个实施例中时间同步方法的流程示意图;
图3为一个实施例中步骤202中的流程示意图;
图4为另一个实施例中时间同步方法的流程示意图;
图5为一个实施例中时间同步装置的结构框图;
图6为一个实施例中时间同步系统的结构框图;
图7为另一个实施例中时间同步系统的结构框图;
图8为一个实施例中基板管理控制器的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的时间同步方法,可以应用于如图1所示的应用环境中。其中,时钟芯片RTC106分别与基板管理控制器BMC102和其他部件104连接实现通信。一般情况下,基板管理控制器102和其他部件104均能够向RTC106写入时间,也均能从RTC106读取时间。其中,其他部件104是指除BMC外的与RTC连接的部件。本申请实施例中,基板管理控制器102获取目标时间写指令,获取时钟芯片RTC106的写入标志位,若写入标志位为第一标志位,向RTC106发出断开指令,断开指令用于指示除BMC外的连接RTC106的其他部件104断开与RTC106的通信;当检测到其他部件104与RTC106断开通信时,根据目标时间写指令向RTC106写入时间;当完成向RTC106写入时间的操作后,将RTC106的写入标志位由第一标志位调整为第二标志位,并向RTC106发出恢复连接指令,恢复连接指令用于指示其他部件104与RTC106恢复通信;其中,第一标志位用于表示允许写入;第二标志位用于表示不允许写入。
在一个示例性的实施例中,如图2所示,提供了一种时间同步方法,以该方法应用于图1中的基板管理控制器BMC为例进行说明,包括以下步骤202至步骤208。
步骤202,获取目标时间写指令。
目标时间写指令,是指用于执行写入时间至RTC的指令。BMC可以直接获取目标时间写指令,也可以先获取初步时间写指令,然后从初步时间写指令中确定目标时间写指令。
可选地,可间隔预设时长获取目标时间指令,即,距离上一次获取目标时间写指令预设时长后再获取目标时间写指令。
目标时间写指令可以是由用户输入的,也可以是其他部件所发送的。其中,目标时间写指令至少包括写入时间、时间格式及指令来源等信息。写入时间可以是预设时间,也可以是实时时间;指令来源是指发起目标时间写指令的原始来源。
步骤204,获取时钟芯片RTC的写入标志位,若写入标志位为第一标志位,向RTC发出断开指令,断开指令用于指示除BMC外的连接RTC的其他部件断开与RTC的通信。
BMC获取时钟芯片RTC的写入标志位并识别写入标志位,若写入标志位为第一标志位,向RTC发出断开指令,其中,断开指令用于指示其他部件断开与RTC的通信,其他部件是指除BMC之外的与RTC连接的部件,具体地,其他部件可以指除BMC之外能够向RTC写入时间的部件,例如服务器CPU(central processing unit,中央处理器)、BIOS(Basic InputOutput System,基本输入输出系统)等。
可以理解地,只有在RTC的写入标志位为允许写入的标志位时,BMC及其他部件才能够向RTC写入时间,若RTC的写入标志位为不允许写入的标志位时,BMC及其他部件均不能向RTC写入时间。
可选地,RTC的写入标志位可以是通过硬件的方式表征,也可以通过软件的形式表征。例如,硬件上通过某个接口的状态处于高或低,对应代表写入标志位的第一标志位或第二标志位;软件上可通过设置标志函数进行表征,标志函数结果为1或0,对应代表写入标志位的第一标志位或第二标志位。同时,还可以在不同的位置设置时钟芯片RTC的写入标志位,例如,在RTC或者BMC中均可以设置。
在一个可选的实施例中,若写入标志位为第一标志位,向RTC发出断开指令,以指示其他部件断开与RTC之间的通信。当RTC接收到对应的断开指令时,可以指示与RTC连接的可编程逻辑器断开其他部件与RTC之间的通信。
步骤206,当检测到其他部件与RTC断开通信时,根据目标时间写指令向RTC写入时间。
当BMC检测到其他部件与RTC断开通信时,根据目标时间写指令向RTC写入时间。其中,可以根据目标时间写指令向RTC写入设定时刻。例如,目标时间写指令中携带的写入时间为2022年1月1日12时30分15秒,则可以按照时间格式“yyyy-MM-dd HH:mm:ss”将时刻“2022-01-01 12:30:15”写入RTC中,那么,RTC以所写入时间为开始时刻进行计时。
步骤208,当完成向RTC写入时间的操作后,将RTC的写入标志位由第一标志位调整为第二标志位,并向RTC发出恢复连接指令,恢复连接指令用于指示其他部件与RTC恢复通信;其中,第一标志位用于表示允许写入;第二标志位用于表示不允许写入。
当BMC完成向RTC写入时间的操作后,将RTC的写入标志位由第一标志位调整为第二标志位,并向RTC发出恢复连接指令,以指示其他部件与RTC恢复通信。其中,第一标志位用于表示允许写入;第二标志位用于表示不允许写入。也就是说,当RTC的写入标志位为第一标志位时,允许外部部件写入时间至RTC;当RTC的写入标志位为第二标志位时,不允许外部部件写入时间至RTC,但是外部部件可以从RTC读取时间,其中,外部部件是指与RTC连接的可向RTC写入或读取时间的部件,外部部件包括BMC和其他部件。
可选地,当检测到BMC向RTC写入时间的操作完成后,BMC发出标志位调整指令将RTC的写入标志位由第一标志位调整为第二标志位,即不允许外部部件写入时间至RTC。BMC向RTC发出恢复连接指令,用于指示其他部件与RTC恢复通信,即可以实现其他部件从RTC读取时间数据。
上述时间同步方法中,BMC通过获取目标时间写指令;获取时钟芯片RTC的写入标志位,若写入标志位为第一标志位,向RTC发出断开指令,断开指令用于指示除BMC外的连接RTC的其他部件断开与RTC的通信;当检测到其他部件与RTC断开通信时,根据目标时间写指令向RTC写入时间;当完成向RTC写入时间的操作后,将RTC的写入标志位由第一标志位调整为第二标志位,并向RTC发出恢复连接指令,恢复连接指令用于指示其他部件与RTC恢复通信;其中,第一标志位用于表示允许写入;第二标志位用于表示不允许写入。本申请实施例通过获取并识别时钟芯片的写入标志位,根据时钟芯片的写入标志位状态确定能否向RTC写入时间,当不能写入时,则调整时钟芯片的写入标志位使得能够根据目标时间写指令向RTC写入时间;在能够写入时,则将其他部件与RTC间的通信断开,使得RTC能够独立控制是否向RTC写入时间,保证写入时间的准确,即保证了统一由BMC向RTC写入时间,而其他部件能够从RTC中获取时间,从而实现准确的时间同步。
在一些实施例中,在获取时钟芯片RTC的写入标志位之后,时间同步方法还包括:
若写入标志位为第二标志位,则将写入标志位调整为第一标志位,然后执行向RTC发出断开指令的步骤。
当BMC识别到RTC的写入标志位为第二标志位时,需要发送标志位调整指令将RTC的写入标志位由第二标志位调整为第一标志位,然后向RTC发出断开指令,用于指示除BMC外的连接RTC的其他部件断开与RTC的通信,当检测到其他部件与RTC断开通信时,根据目标时间写指令向RTC写入时间。
本实施例中,当获取目标时间写指令后,获取RTC的写入标志位,若写入标志位为第二标志位,由于写入标志位为第二标志位时表示不允许写入时间至RTC,则由BMC将写入标志位由第二标志位调整为第一标志位,即BMC具有标志位调整权限,方便BMC获取目标时间写指令后能够及时写入时间至RTC。
在一个实施例中,如图3所示,获取目标时间写指令的步骤202,包括:
步骤302,获取其他部件写入时间至RTC的时间写指令。
其他部件,例如CPU或BIOS,也可以产生写入时间至RTC的时间写指令,但是其他部件不能直接根据时间写指令将时间写入至RTC,而是将产生的时间写指令发送至BMC,BMC接收到其他部件发送的时间写指令。
步骤304,当同时接收到多个时间写指令时,根据时间写指令的优先级,确定目标时间写指令。
当BMC同时接收到其他部件发送的多个时间写指令时,根据时间写指令的优先级,从多个时间写指令以及自身获取的时间写指令中,确定目标时间写指令。其中,时间写指令的优先级,可以根据当前时间段内外部部件对时间的重要程度确定。因为在不同的时间段,不同的部件对时间的重要性可能不同,因此,不同时间段内,同一外部部件的优先级也可能不同。可选地,时间写指令的优先级,也可以根据外部部件所处工作环境确定,不同的工作环境中,同一外部部件的优先级也可能不同。
步骤306,当只接收到一个时间写指令时,将时间写指令作为目标时间写指令。
当BMC只接收到一个时间写指令时,将该时间写指令作为目标时间写指令。例如,BMC只接收到由BIOS发送的第一时间写指令,则将第一时间写指令作为目标时间写指令。
本实施例中,BMC可获取其他部件发送的写入时间至RTC的时间写指令,在同时接收到多个时间写指令时,根据时间写指令的优先级,确定目标时间写指令,可将更准确的时间写入至RTC,从而准确进行时间同步。
在一个实施例中,BMC通过可编程逻辑器件与通用输入输出接口GPIO连接,并通过可编程逻辑器件控制GPIO的标志位;步骤204中获取时钟芯片RTC的写入标志位,包括:
获取GPIO的标志位,将GPIO的标志位作为写入标志位。
本实施例中,BMC通过可编程逻辑器件与通用输入输出接口GPIO连接,并通过可编程逻辑器件控制GPIO的标志位。其中,可编程逻辑器件可以是现场可编程门阵列(FPGA)或复杂可编程逻辑器件(CPLD)。BMC获取GPIO的标志位,将GPIO的标志位作为写入标志位。例如,GPIO的标志位为低时,写入标志位为第一标志位;GPIO的标志位为高时,写入标志位为第二标志位。
在一个实施例中,步骤204中获取时钟芯片RTC的写入标志位,包括:
从RTC或BMC中获取写入标志位。
在一个可选的实施例中,从RTC中获取写入标志位。写入标志位可以通过RTC中的标志函数来表征,外部部件在向RTC写入时间之前,需要从RTC中获取写入标志位,当写入标志位为第一标志位时,才可以向RTC写入时间。
可选地,可以从BMC中获取写入标志位。写入标志位可以通过BMC中的标志函数来表征,外部部件在向RTC写入时间之前,需要从RTC中获取写入标志位,当写入标志位为第一标志位时,才可以向RTC写入时间。例如,标志函数f(x)=1,表征写入标志位为第一标志位;标志函数f(x)=0,表征写入标志位为第二标志位。
在一个实施例中,如图4所示,时间同步方法包括以下步骤402至步骤410。
步骤402,获取目标时间写指令。
步骤404,获取时钟芯片RTC的写入标志位,若写入标志位为第一标志位,向RTC发出断开指令,断开指令用于指示除BMC外的连接RTC的其他部件断开与RTC的通信。
步骤406,若写入标志位为第二标志位,则将写入标志位调整为第一标志位,向RTC发出断开指令,断开指令用于指示除BMC外的连接RTC的其他部件断开与RTC的通信。
步骤408,当检测到其他部件与RTC断开通信时,根据目标时间写指令向RTC写入时间。
步骤410,当完成向RTC写入时间的操作后,将RTC的写入标志位由第一标志位调整为第二标志位,并向RTC发出恢复连接指令,恢复连接指令用于指示其他部件与RTC恢复通信;其中,第一标志位用于表示允许写入;第二标志位用于表示不允许写入。
在一个示例中,BMC获取由用户输入的目标时间写指令,BMC获取GPIO的状态作为RTC的写入标志位;当GPIO的状态为高时,即写入标志位为第二标志位,BMC将GPIO的状态由高调为低,并向RTC发送断开指令,用于指示除BMC外的连接RTC的其他部件断开与RTC的通信;当检测到其他部件与RTC断开通信时,根据目标时间写指令向RTC写入时间;当完成向RTC写入时间的操作后,将GPIO的状态由低调为高,从而防止其他部件直接写入时间至RTC,只能允许BMC写入时间至RTC,从而保证写入时间的准确,BMC写入时间至RTC后,RTC以所写入时间为起始时刻开始计时,自动更新时间,外部部件可随时读取RTC中的时间,并同步RTC中的时间,从而实现准确的时间同步。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的时间同步方法的时间同步装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个时间同步装置实施例中的具体限定可以参见上文中对于时间同步方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种时间同步装置,应用于基板管理控制器BMC,包括:指令获取模块502、第一标志模块504、时间写入模块506和第二标志模块508,其中:
指令获取模块502,用于获取目标时间写指令;
第一标志模块504,用于获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;
时间写入模块506,用于当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;
第二标志模块508,用于当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。
在一个实施例中,第一标志模块504还用于:
若所述写入标志位为第二标志位,则将所述写入标志位调整为第一标志位,然后执行所述向所述RTC发出断开指令的步骤。
在一个实施例中,所述指令获取模块502,还用于:
获取所述其他部件写入时间至所述RTC的时间写指令;
当同时接收到多个所述时间写指令时,根据所述时间写指令的优先级,确定所述目标时间写指令;
当只接收到一个所述时间写指令时,将所述时间写指令作为所述目标时间写指令。
在一个实施例中,所述BMC通过可编程逻辑器件与通用输入输出接口GPIO连接,并通过所述可编程逻辑器件控制所述GPIO的标志位;所述第一标志模块504,还用于:
获取所述GPIO的标志位,将所述GPIO的标志位作为所述写入标志位。
在一个实施例中,所述第一标志模块504,还用于:
从所述RTC或所述BMC中获取所述写入标志位。
上述时间同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图6所示,提供了一种时间同步系统,该系统包括基板管理控制器BMC模块602、开关模块604及时钟芯片RTC模块606;所述BMC模块602通过所述开关模块604与所述RTC模块606连接;
所述BMC模块602,用于获取目标时间写指令,并获取所述RTC模块606的写入标志位,若所述写入标志位为第一标志位,向所述RTC模块606发出断开指令,所述断开指令用于指示所述开关模块604将除所述BMC模块602外的连接所述RTC模块606的其他部件608与所述RTC模块606的通信断开;当检测到其他部件608与所述RTC模块606断开通信时,根据所述目标时间写指令向所述RTC模块606写入时间;当完成向RTC模块606写入时间的操作后,将所述RTC模块606的写入标志位由第一标志位调整为第二标志位,并向所述RTC模块606发出恢复连接指令,所述恢复连接指令用于指示所述开关模块604将所述其他部件608与所述RTC模块606通信导通;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入;
所述开关模块604,用于控制所述其他部件608与所述RTC模块606之间通信的导通或断开;
所述RTC模块606,用于接收所述BMC模块602根据所述目标时间写指令所写入的时间,并以所述所写入的时间为开始时刻进行计时。
关于时间同步系统的具体限定可以参见上文中对于时间同步方法的限定,在此不再赘述。
在一个可选的实施例中,如图7所示,时间同步系统包括BMC模块、开关模块、RTC模块、BIOS模块和主控模块,BMC模式、RTC模块及BIOS模块通过开关模块与RTC模块连接,BMC通过CPLD与通用输入输出接口GPIO连接,并通过CPLD控制GPIO的标志位,将GPIO的标志位作为写入标志位。其中,
BMC模块,用于获取目标时间写指令,并获取GPIO的标志位,若GPIO的标志位为第一标志位,向RTC模块发出断开指令,该断开指令用于指示开关模块将主控模块和BIOS模块与RTC模块的通信断开;当检测到主控模块和BIOS模块与RTC模块断开通信时,根据目标时间写指令向RTC模块写入时间;当完成向RTC模块写入时间的操作后,将GPIO的标志位由第一标志位调整为第二标志位,并向RTC模块发出恢复连接指令,该恢复连接指令用于指示开关模块将主控模块和BIOS模块与RTC模块通信导通;其中,第一标志位用于表示允许写入;第二标志位用于表示不允许写入;
开关模块,用于控制主控模块和BIOS模块与RTC模块之间通信的导通或断开;
RTC模块,用于接收BMC模块根据所述目标时间写指令所写入的时间,并以所写入的时间为开始时刻进行计时。
上述实施例中的时间同步系统,通过开关模块控制其他部件与RTC模块之间通信的导通或断开,BMC模块能够获取并调整RTC模块的写入标志位,通过将写入标志位调整为第一标志位后,向RTC模块发出断开指令以指示开关模块将其他部件与RTC模块之间的通信断开,然后向RTC写入时间,可以保证写入RTC时间的准确性,而其他部件能够从RTC中获取时间,从而实现准确的时间同步。
在一个实施例中,提供了一种基板管理控制器,该基板管理控制器可以是服务器,其内部结构图可以如图8所示。该基板管理控制器包括通过系统总线连接的处理器、存储器和网络接口。其中,该基板管理控制器的处理器用于提供计算和控制能力。该基板管理控制器的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该基板管理控制器被处理器执行时以实现一种时间同步方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括上述基板管理控制器。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各实施例中时间同步方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,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 RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种时间同步方法,其特征在于,应用于基板管理控制器BMC,所述方法包括:
获取目标时间写指令;
获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;
当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;
当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;
其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。
2.根据权利要求1所述的方法,其特征在于,在所述获取时钟芯片RTC的写入标志位之后,所述方法还包括:
若所述写入标志位为第二标志位,则将所述写入标志位调整为第一标志位,然后执行所述向所述RTC发出断开指令的步骤。
3.根据权利要求1所述的方法,其特征在于,所述获取目标时间写指令,包括:
获取所述其他部件写入时间至所述RTC的时间写指令;
当同时接收到多个所述时间写指令时,根据所述时间写指令的优先级,确定所述目标时间写指令;
当只接收到一个所述时间写指令时,将所述时间写指令作为所述目标时间写指令。
4.根据权利要求1所述的方法,其特征在于,所述BMC通过可编程逻辑器件与通用输入输出接口GPIO连接,并通过所述可编程逻辑器件控制所述GPIO的标志位;所述获取时钟芯片RTC的写入标志位,包括:
获取所述GPIO的标志位,将所述GPIO的标志位作为所述写入标志位。
5.根据权利要求1所述的方法,其特征在于,所述获取时钟芯片RTC的写入标志位,包括:
从所述RTC或所述BMC中获取所述写入标志位。
6.一种时间同步装置,其特征在于,应用于基板管理控制器BMC,所述装置包括:
指令获取模块,用于获取目标时间写指令;
第一标志模块,用于获取时钟芯片RTC的写入标志位,若所述写入标志位为第一标志位,向所述RTC发出断开指令,所述断开指令用于指示除所述BMC外的连接所述RTC的其他部件断开与所述RTC的通信;
时间写入模块,用于当检测到其他部件与所述RTC断开通信时,根据所述目标时间写指令向所述RTC写入时间;
第二标志模块,用于当完成所述向所述RTC写入时间的操作后,将所述RTC的写入标志位由第一标志位调整为第二标志位,并向所述RTC发出恢复连接指令,所述恢复连接指令用于指示所述其他部件与所述RTC恢复通信;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入。
7.一种时间同步系统,其特征在于,所述系统包括基板管理控制器BMC模块、开关模块及时钟芯片RTC模块;所述BMC模块通过所述开关模块与所述RTC模块连接;
所述BMC模块,用于获取目标时间写指令,并获取所述RTC模块的写入标志位,若所述写入标志位为第一标志位,向所述RTC模块发出断开指令,所述断开指令用于指示所述开关模块将除所述BMC模块外的连接所述RTC模块的其他部件与所述RTC模块的通信断开;当检测到其他部件与所述RTC模块断开通信时,根据所述目标时间写指令向所述RTC模块写入时间;当完成向RTC模块写入时间的操作后,将所述RTC模块的写入标志位由第一标志位调整为第二标志位,并向所述RTC模块发出恢复连接指令,所述恢复连接指令用于指示所述开关模块将所述其他部件与所述RTC模块通信导通;其中,所述第一标志位用于表示允许写入;所述第二标志位用于表示不允许写入;
所述开关模块,用于控制所述其他部件与所述RTC模块之间通信的导通或断开;
所述RTC模块,用于接收所述BMC模块根据所述目标时间写指令所写入的时间,并以所述所写入的时间为开始时刻进行计时。
8.一种基板管理控制器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
9.一种计算机设备,其特征在于,包括如权利要求8所述的基板管理控制器。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210776317.9A CN114840054B (zh) | 2022-07-04 | 2022-07-04 | 时间同步方法、装置、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210776317.9A CN114840054B (zh) | 2022-07-04 | 2022-07-04 | 时间同步方法、装置、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114840054A CN114840054A (zh) | 2022-08-02 |
CN114840054B true CN114840054B (zh) | 2022-09-13 |
Family
ID=82574424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210776317.9A Active CN114840054B (zh) | 2022-07-04 | 2022-07-04 | 时间同步方法、装置、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840054B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706748A (zh) * | 2009-11-26 | 2010-05-12 | 成都市华为赛门铁克科技有限公司 | 日志记录方法、系统和单板管理控制器 |
WO2019000981A1 (zh) * | 2017-06-29 | 2019-01-03 | 华为技术有限公司 | 计算机设备、读取时间的方法和写入时间的方法 |
CN110471491A (zh) * | 2019-08-15 | 2019-11-19 | 山东超越数控电子股份有限公司 | 一种刀片服务器中管理系统时间同步的方法 |
CN111143132A (zh) * | 2019-12-30 | 2020-05-12 | 山东英信计算机技术有限公司 | 一种bios恢复方法、装置、设备及可读存储介质 |
CN113835468A (zh) * | 2021-09-16 | 2021-12-24 | 苏州浪潮智能科技有限公司 | 一种监测rtc时间跳变的方法、系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716515B2 (en) * | 2006-12-21 | 2010-05-11 | Inventec Corporation | Method for updating the timing of a baseboard management controller |
JP5488634B2 (ja) * | 2012-03-29 | 2014-05-14 | 日本電気株式会社 | 情報処理装置、管理コントローラ、システム時刻同期方法、及びプログラム |
JP5910283B2 (ja) * | 2012-04-23 | 2016-04-27 | セイコーエプソン株式会社 | 媒体処理装置、媒体処理装置の制御方法、及び、プログラム |
-
2022
- 2022-07-04 CN CN202210776317.9A patent/CN114840054B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706748A (zh) * | 2009-11-26 | 2010-05-12 | 成都市华为赛门铁克科技有限公司 | 日志记录方法、系统和单板管理控制器 |
WO2019000981A1 (zh) * | 2017-06-29 | 2019-01-03 | 华为技术有限公司 | 计算机设备、读取时间的方法和写入时间的方法 |
CN110471491A (zh) * | 2019-08-15 | 2019-11-19 | 山东超越数控电子股份有限公司 | 一种刀片服务器中管理系统时间同步的方法 |
CN111143132A (zh) * | 2019-12-30 | 2020-05-12 | 山东英信计算机技术有限公司 | 一种bios恢复方法、装置、设备及可读存储介质 |
CN113835468A (zh) * | 2021-09-16 | 2021-12-24 | 苏州浪潮智能科技有限公司 | 一种监测rtc时间跳变的方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114840054A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11379412B2 (en) | Enabling data replication processes between heterogeneous storage systems | |
ES2703901T3 (es) | Sistema de archivo distribuido mediante nodos de consenso | |
US8478718B1 (en) | Systems and methods for replicating data in cluster environments | |
TWI470459B (zh) | 由在遠端複本對之主要磁碟與次要磁碟之間通信而作為遠端複本對運作之儲存控制系統、方法、資料載體及電腦程式產品 | |
CN110309218B (zh) | 一种数据交换系统和数据写入方法 | |
US20110099148A1 (en) | Verification Of Remote Copies Of Data | |
CN111143133B (zh) | 虚拟机备份方法和备份虚拟机恢复方法 | |
US20180285216A1 (en) | Virtual Machine Recovery Method and Virtual Machine Management Device | |
US20170168756A1 (en) | Storage transactions | |
US20150302024A1 (en) | Storage System and Method for Processing Data Operation Request | |
CN106855834B (zh) | 一种数据备份方法、装置和系统 | |
CN112307049A (zh) | 数据库的读写分离方法、装置、设备及可读存储介质 | |
US20050154786A1 (en) | Ordering updates in remote copying of data | |
US10261718B1 (en) | Adaptively controlling data copy operations that copy data in an electronic environment | |
CN114840054B (zh) | 时间同步方法、装置、系统、设备及存储介质 | |
CN112698987A (zh) | 无快照操作系统在线备份方法、装置、设备及存储介质 | |
JP2012089049A (ja) | 計算機システム及びサーバ | |
CA3095033C (en) | Techniques for scheduled anti-entropy repair design | |
US10955872B2 (en) | System and method to retain baseboard management controller real-time clock time during BMC reboot | |
JP2007207250A (ja) | ソフトウェア複製 | |
CN112527561B (zh) | 基于物联网云存储的数据备份方法及装置 | |
CN111625606B (zh) | 一种联盟链数据处理方法、装置以及电子设备 | |
US9772908B1 (en) | Method and system for concurrently backing up data streams of multiple computers based on backup time estimates | |
US7401156B2 (en) | Method using control interface to suspend software network environment running on network devices for loading and executing another software network environment | |
US11288004B1 (en) | Consensus-based authority selection in replicated network-accessible block storage devices |
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 |