一种基于光纤通道协议的设备时间同步方法及装置转让专利

申请号 : CN202110555228.7

文献号 : CN113014352B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曹丽剑李龙威谢鹏彭涛李全磊陈彬

申请人 : 北京国科天迅科技有限公司

摘要 :

本发明提供一种基于光纤通道协议的设备时间同步方法及装置。其中,该方法包括:确定被授时设备满足同步过程状态条件后,基于被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备;所述授时设备接收所述同步帧,并根据解析结果将相应的本地时间写入应答帧发送至被授时设备;被授时设备接收到应答帧后,将相应的本地时间写入应答帧中,进而确定相邻两次同步过程的同步周期;根据同步周期以及本地时间点确定时间偏差值,若时间偏差值大于偏差阈值,则将时间偏差值加到被授时设备的本地时间中,实现设备时间同步。采用本发明公开的方法,能够有效提高网络拓扑内电子设备时间同步的精度,增加同步成功率和可靠性。

权利要求 :

1.一种基于光纤通道协议的设备时间同步方法,其特征在于,包括:确定被授时设备满足同步过程状态条件后,基于所述被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备;所述同步帧内部包含所述被授时设备当前所运行的第一本地时间;

基于所述授时设备通过光纤通道接收所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果将所述第一本地时间和所述第二本地时间写入应答帧;在所述应答帧组装完成后将所述授时设备当前的第三本地时间写入所述应答帧中,并通过光纤通道发送至所述被授时设备;

基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并确定相邻两次同步过程的同步周期;

根据所述同步周期以及相应的本地时间确定时间偏差值,若所述时间偏差值大于预设的偏差阈值,则将所述时间偏差值加到所述被授时设备的本地时间中,实现设备时间同步;

还包括:基于步进调频值、步进调相值以及步进时钟周期值确定步进值;

所述基于步进调频值、步进调相值以及步进时钟周期值确定步进值,具体包括:基于所述同步周期和所述同步周期的计数时间,确定步进调频值;所述步进调频值对应的计算公式:

其中,TCount为同步周期的计数时间; 为同步周期; 为步进调频值;

基于所述时间偏差值和所述同步周期的计数时间,确定步进调相值;所述步进调相值对应的计算公式:

其中,TCount为同步周期的计数时间;offset为时间偏差值; 为步进调相值;

基于预设的当前计数时钟值,确定步进时钟周期值;

基于预设的步进值计算算法对所述步进调频值、所述步进调相值和所述步进时钟周期值进行运算处理,得到所述步进值;

若所述时间偏差值小于所述偏差阈值,则通过调整所述步进值来减小同步延迟,并在下一同步周期到来前实现设备时间同步。

2.根据权利要求1所述的基于光纤通道协议的设备时间同步方法,其特征在于,所述通过调整所述步进值来减小同步延迟,具体包括:以单位为低纳秒级数值调整所述步进值来减小同步延迟,通过调整每次跳变范围来控制两次同步过程中的本地时间的变化范围。

3.根据权利要求1所述的基于光纤通道协议的设备时间同步方法,其特征在于,还包括:当基于所述授时设备通过光纤通道同时接收到多个被授时设备发送的同步帧时,按照预设的端口号优先级顺序进行一一响应。

4.根据权利要求1所述的基于光纤通道协议的设备时间同步方法,其特征在于,所述确定相邻两次同步过程的同步周期,具体包括:获得相邻两次同步过程中相对应的两个本地时间点;

基于所述两个本地时间点确定同步周期。

5.一种基于光纤通道协议的设备时间同步装置,其特征在于,包括:同步操作发起单元,用于确定被授时设备满足同步过程状态条件后,基于所述被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备;所述同步帧内部包含所述被授时设备当前所运行的第一本地时间;

同步操作响应单元,用于基于所述授时设备通过光纤通道接收所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果将所述第一本地时间和所述第二本地时间写入相应的应答帧,并在所述应答帧组装完成后将所述授时设备当前的第三本地时间写入所述应答帧中,通过光纤通道发送至所述被授时设备;

同步周期确定单元,用于基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并确定相邻两次同步过程的同步周期;

时间同步单元,用于根据所述同步周期以及相应的四个时间点确定时间偏差值,若所述时间偏差值大于预设的偏差阈值,则将所述时间偏差值加到所述被授时设备的本地时间中,实现设备时间同步;还用于:基于步进调频值、步进调相值以及步进时钟周期值确定步进值;

所述基于步进调频值、步进调相值以及步进时钟周期值确定步进值,具体包括:基于所述同步周期和所述同步周期的计数时间,确定步进调频值;所述步进调频值对应的计算公式:

其中,TCount为同步周期的计数时间; 为同步周期;为步进调频值;

基于所述时间偏差值和所述同步周期的计数时间,确定步进调相值;所述步进调相值对应的计算公式:

其中,TCount为同步周期的计数时间;offset为时间偏差值; 为步进调相值;

基于预设的当前计数时钟值,确定步进时钟周期值;

基于预设的步进值计算算法对所述步进调频值、所述步进调相值和所述步进时钟周期值进行运算处理,得到所述步进值;

所述时间同步单元还用于,若所述时间偏差值小于所述偏差阈值,则通过调整所述步进值来减小同步延迟,并在下一同步周期到来前实现设备时间同步。

6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1‑4任意一项所述的基于光纤通道协议的设备时间同步方法的步骤。

7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1‑4任意一项所述的基于光纤通道协议的设备时间同步方法的步骤。

说明书 :

一种基于光纤通道协议的设备时间同步方法及装置

技术领域

[0001] 本发明涉及计算机应用技术领域,具体涉及一种基于光纤通道协议的设备时间同步方法和装置。另外,还涉及一种电子设备及非暂态计算机可读存储介质。

背景技术

[0002] 近年来,随着计算机技术的快速发展,构建大型的网络拓扑结构,实现电子设备间精确的通信互联、数据传输和指挥控制,实现设备时间同步成为技术人员关注的重点。时间
同步是指将授时设备所执行的时间同步到被授时设备中,在授时设备在获取到世界时间后
与被授时设备进行时间校准,保证了网络拓扑内所有设备获取的时间与世界时间在一定误
差内是同步的。
[0003] 目前,在应用大型的网络拓扑中,实现设备间时间同步通常是通过广播时间码或者使用硬线连接精确的时间脉冲的方式。然而,这样同步方式容易产生误差,其误差存在于
授时设备通过设备和硬线发送到被授时设备的延迟。传统的时间同步发起端由授时设备主
动发起时间码进行广播或硬线连接精确的时间脉冲,被授时设备为被动响应,该同步方式
会造成被授时设备在接收时间码时必须处于待接收状态,使得设备时间同步的精度和成功
率较差。因此,如何提高网络拓扑结构中设备时间同步的精度和成功率成为本领域研究的
重要课题。

发明内容

[0004] 为此,本发明提供一种基于光纤通道协议的设备时间同步方法及装置,以解决现有技术中存在的网络拓扑中电子设备时间同步方案局限性较高,同步精度较差的问题。
[0005] 本发明提供一种基于光纤通道协议的设备时间同步方法,包括:
[0006] 确定被授时设备满足同步过程状态条件后,基于所述被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备;所述同步帧内部包含所述被授时设备当前
所运行的第一本地时间;
[0007] 基于所述授时设备通过光纤通道接收所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果将所述第一本地时间和所述第二本地时间
写入应答帧;在所述应答帧组装完成后将所述授时设备当前的第三本地时间写入所述应答
帧中,并通过光纤通道发送至所述被授时设备;
[0008] 基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并确定相邻两次同步过程的同步周期;
[0009] 根据所述同步周期以及相应的本地时间确定时间偏差值,若所述时间偏差值大于预设的偏差阈值,则将所述时间偏差值加到所述被授时设备的本地时间中,实现设备时间
同步。
[0010] 进一步的,所述的基于光纤通道协议的设备时间同步方法,还包括:基于步进调频值、步进调相值以及步进时钟周期值确定步进值;若所述时间偏差值小于所述偏差阈值,则
通过调整所述步进值来减小同步延迟,并在下一同步周期到来前实现设备时间同步。
[0011] 进一步的,所述基于步进调频值、步进调相值以及步进时钟周期值确定步进值,具体包括:
[0012] 基于所述同步周期和所述同步周期的计数时间,确定步进调频值;基于所述时间偏差值和所述同步周期的计数时间,确定步进调相值;基于预设的当前计数时钟值,确定步
进时钟周期值;
[0013] 基于预设的步进值计算算法对所述步进调频值、所述步进调相值和所述步进时钟周期值进行运算处理,得到所述步进值。
[0014] 进一步的,所述通过调整所述步进值来减小同步延迟,具体包括:以单位为低纳秒级数值调整所述步进值来减小同步延迟,通过调整每次跳变范围来控制两次同步过程中的
本地时间的变化范围。
[0015] 进一步的,所述的基于光纤通道协议的设备时间同步方法,还包括:当基于所述授时设备通过光纤通道同时接收到多个被授时设备发送的同步帧时,按照预设的端口号优先
级顺序进行一一响应。
[0016] 进一步的,所述确定相邻两次同步过程的同步周期,具体包括:
[0017] 获得相邻两次同步过程中相对应的两个本地时间点;
[0018] 基于所述两个本地时间点确定同步周期。
[0019] 本发明还提供一种基于光纤通道协议的设备时间同步装置,包括:同步操作发起单元,用于确定被授时设备满足同步过程状态条件后,基于所述被授时设备主动发起同步
操作,并将同步帧通过光纤通道发送至授时设备;所述同步帧内部包含所述被授时设备当
前所运行的第一本地时间;
[0020] 同步操作响应单元,用于基于所述授时设备通过光纤通道接收所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果将所述第一本地
时间和所述第二本地时间写入相应的应答帧,并在所述应答帧组装完成后将所述授时设备
当前的第三本地时间写入所述应答帧中,通过光纤通道发送至所述被授时设备;
[0021] 同步周期确定单元,用于基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并确定相邻两次同步过程的同步周期;
[0022] 时间同步单元,用于根据所述同步周期以及相应的四个时间点确定时间偏差值,若所述时间偏差值大于预设的偏差阈值,则将所述时间偏差值加到所述被授时设备的本地
时间中,实现设备时间同步。
[0023] 进一步的,所述时间同步单元还用于,基于步进调频值、步进调相值以及步进时钟周期值确定步进值;若所述时间偏差值小于所述偏差阈值,则通过调整所述步进值来减小
同步延迟,并在下一同步周期到来前实现设备时间同步。
[0024] 进一步的,所述时间同步单元具体用于:
[0025] 基于所述同步周期和所述同步周期的计数时间,确定步进调频值;基于所述时间偏差值和所述同步周期的计数时间,确定步进调相值;基于预设的当前计数时钟值,确定步
进时钟周期值;
[0026] 基于预设的步进值计算算法对所述步进调频值、所述步进调相值和所述步进时钟周期值进行运算处理,得到所述步进值。
[0027] 进一步的,所述通过调整所述步进值来减小同步延迟,具体包括:以单位为低纳秒级数值调整所述步进值来减小同步延迟,通过调整每次跳变范围来控制两次同步过程中的
本地时间的变化范围。
[0028] 进一步的,所述的基于光纤通道协议的设备时间同步装置,还包括:响应控制单元,用于当基于所述授时设备通过光纤通道同时接收到多个被授时设备发送的同步帧时,
按照预设的端口号优先级顺序进行一一响应。
[0029] 进一步的,所述同步周期确定单元,具体用于:
[0030] 获得相邻两次同步过程中相对应的两个本地时间点;
[0031] 基于所述两个本地时间点确定同步周期。
[0032] 相应的,本发明还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的
基于光纤通道协议的设备时间同步方法的步骤。
[0033] 相应的,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的基于光纤通道协议的设备时间
同步方法的步骤。
[0034] 采用本发明所述的基于光纤通道协议的设备时间同步方法,能够应用到大型的网络拓扑结构中,抵消根据授时设备发送时间到被授时设备中的硬件延迟时间有效提高了网
络拓扑内电子设备时间同步的精度,增加了时间同步成功率和可靠性。

附图说明

[0035] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据这些附图获取其他的附图。
[0036] 图1为本发明实施例提供的一种基于光纤通道协议的设备时间同步方法的流程示意图;
[0037] 图2为本发明实施例提供的一种基于光纤通道协议的设备时间同步方法中同步周期的示意图;
[0038] 图3为本发明实施例提供的一种基于光纤通道协议的设备时间同步装置的结构示意图;
[0039] 图4为本发明实施例提供的一种电子设备的实体结构示意图。

具体实施方式

[0040] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
[0041] 下面基于本发明所述的基于光纤通道协议的设备时间同步方法,对其实施例进行详细描述。如图1所示,其为本发明实施例提供的基于光纤通道协议的设备时间同步方法的
流程示意图,具体实现过程包括以下步骤:
[0042] 步骤101:确定被授时设备满足同步过程状态条件后,基于所述被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备。
[0043] 在本发明实施例中,所述同步帧内部包含所述被授时设备当前所运行的第一本地时间。所述光纤通道(FC;Fibre Channel)协议为一套完全独立的网络协议。
[0044] 步骤102:基于所述授时设备通过光纤通道接收所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果将所述第一本地时间和所述第二
本地时间写入应答帧;在所述应答帧组装完成后将所述授时设备当前的第三本地时间写入
所述应答帧中,并通过光纤通道发送至所述被授时设备。
[0045] 步骤103:基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并确定相邻两次同步过程的同步周期。
[0046] 如图2所示,T11‑T14为第一次同步过程的四个本地时间点信息;T21‑T24为第二次同步过程的四个本地时间点信息。基于所述被授时设备通过光纤通道接收到所述应答帧
后,将当前的第四本地时间(即T14)写入所述应答帧中,并获得相邻两次同步过程中相对应
的两个本地时间点(比如T23和T13),基于所述两个本地时间点,由T23减去T13获得同步周
期。
[0047] 步骤104:根据所述同步周期以及相应的本地时间确定时间偏差值,若所述时间偏差值大于预设的偏差阈值,则将所述时间偏差值加到所述被授时设备的本地时间中,实现
设备时间同步。
[0048] 在本发明实施例中,若所述时间偏差值小于所述偏差阈值,则通过调整所述步进值来减小同步延迟,并在下一同步周期到来前实现设备时间同步。其中,所述步进值是基于
步进调频值、步进调相值以及步进时钟周期值确定的。具体的,基于所述同步周期和所述同
步周期的计数时间,确定步进调频值;基于所述时间偏差值和所述同步周期的计数时间,确
定步进调相值;基于预设的当前计数时钟值,确定步进时钟周期值;基于预设的步进值计算
算法对所述步进调频值、所述步进调相值和所述步进时钟周期值进行运算处理,得到所述
步进值。
[0049] 其中,所述通过调整所述步进值来减小同步延迟具体为,以单位为低纳秒级数值调整所述步进值来减小同步延迟,通过调整每次跳变范围来控制两次同步过程中的本地时
间的变化范围。
[0050] 需要说明的是,在具体实施过程中,同步过程由被授时设备发起同步操作,当基于授时设备通过光纤通道同时接收到多个被授时设备发送的同步帧时,按照预设的端口号优
先级顺序进行一一响应。此方式解决了被授时设备处于被动响应而无法保证自身状态是否
满足同步过程的条件的问题。同时,FC协议具有链路双冗余热备份功能,故在此时间同步方
法中,被授时设备可选择双路中任一端口作为同步的端口,此方式解决了通信过程中被授
时设备的双路中的其中一路发生故障而无法通信时可主动切换。另外,根据该方法通过预
设的公式进行计算,能够抵消根据授时设备发送时间到被授时设备中的硬件延迟的时间。
[0051] 如图2所示,在一个完整实施例中,基于FC协议的设备时间同步,可分为授时设备和被授时设备,达成同步过程,至少包括一台授时设备和一台被授时设备,因此分为授时功
能和被授时功能。
[0052] 在确定被授时设备每次满足同步过程状态条件后主动发起同步帧,该同步帧内部包含此时的被授时设备所运行的第一本地时间T11,将同步帧组装完成后通过光纤通道协
议发送至授时设备,授时设备在通过光纤通道接收到同步帧后将当前的第二本地时间T12
写入同步帧中,然后解析该同步帧。获取第一本地时间T11、第二本地时间T12的时间信息并
写入应答帧中,同时组装改应答帧,组装完成后将授时设备的当前第三本地时间T13写入应
答帧中,通过光纤通道协议发送至被授时设备,被授时设备在接收到应答帧后将当前的第
四本地时间T14写入帧中。然后计算相邻两次同步过程中的同步周期,可由第二次同步过程
中的本地时间点T23减去相应的第一本地时间点T13获得。获取到四个本地时间点后,根据
所述同步周期以及相应的四个本地时间点确定时间偏差值。
[0053] 第一本地时间T11到第二本地时间T12的时间为光纤通道所造成的延迟时间加两个设备(授时设备和被授时设备)相差的时间,第三本地时间T13到第四本地时间T14的时间
也为光纤通道所造成的延迟时间加两个设备相差的时间,所不同的是,第一本地时间T11到
第二本地时间T12为延迟时间加偏差,第三本地时间T13到第四本地时间T14为延迟时间减
偏差,因此时间偏差值经过预设公式计算后能够将光纤通道所造成的延迟抵消。计算后得
出的时间偏差值若大于预设的偏差阈值(比如10ms),则将时间偏差值直接加到被授时设备
的本地时间中。若小于所述偏差阈值,则可通过调整步进值来减小同步延迟。该步进值调整
为单位为低纳秒级数值的调整,通过每次跳变范围用来控制两次同步过程中本地时间的变
化范围。
[0054] 所述步进值按照预设的计算公式(1),由同步周期(即T23减去T13)减去同步周期计数时间(即TCount),再除以同步周期计数时间,得到步进调频值 。具体计算公式(1)如
下:
[0055]                 (1)
[0056] 进一步的,按照预设的计算公式(2)用时间偏差值(即offset)除以同步周期计数时间(即TCount),得到步进调相值 。其中,TCount指的是从上一秒到这一秒的时间计数
值,可以想象8ns为一格,TCount就是代表这1s内数了多少个8ns的个数。具体计算公式(2)
如下:
[0057]                      (2)
[0058] 其中:offset对应的表达式如下:
[0059]               (3)
[0060]            (4)
[0061] 其中,delay指的是从该设备到另一台被授时设备由硬件链路等原因造成的延迟差;offset为时间偏差值,是指本地被授时设备计数的1s时间值与授时设备计数的1s时间
值的时间偏差;T11‑ T14为第一次同步过程的四个本地时间点信息,即对应第一本地时间、
第二本地时间、第三本地时间以及第四本地时间。
[0062] 每一次同步过程中应该分别包含T1‑ T4共四个时间信息。其中,T11‑ T14为第一次同步过程的四个时间信息,T21‑ T24为第二次同步过程的四个时间信息。也就是说,在第
一次同步过程中,T1、T2、T3、T4即分别为T11、T12、T13、T14;在第二次同步过程中,T1、T2、
T3、T4即分别为T21、T22、T23、T24。
[0063] 假设当前的授时设备时间为1s,授时设备将1s这个时间值通过光纤通道协议发送到被授时设备中时,这个过程需要一定的时间,被授时设备收到1s这个时间值的时候,授时
设备的时间可能已经变成了2s。
[0064] 进一步的,设当前计数时钟周期为125MHz(即8ns为一个时钟周期),则 值为8ns的一个时钟周期。故按照预设计算公式(5)可得 为 加 加 。在下一同步周期到来前完成此
次同步。具体计算公式(5)如下:
[0065]                   (5)
[0066] 本发明针对时间同步主动性的问题,由被授时设备通过光纤通道协议主动发起时间同步操作,改进同步机制的处理过程。针对同步延迟大的问题,通过FC协议进行时间捕获
能够抵消由硬件链路造成的延迟,将时间同步方式的精度控制在百纳秒内,并基于FC协议
的双冗余热备份链路,能够解决因硬件链路故障导致同步失败的弊端。
[0067] 采用本发明实施例所述的基于光纤通道协议的设备时间同步方法,能够应用到大型的网络拓扑结构中,抵消根据授时设备发送时间到被授时设备中的硬件延迟时间有效提
高了网络拓扑内电子设备时间同步的精度,增加了时间同步成功率和可靠性。
[0068] 与上述提供的一种基于光纤通道协议的设备时间同步方法相对应,本发明还提供一种基于光纤通道协议的设备时间同步装置。由于该装置的实施例相似于上述方法实施
例,所以描述得比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的基
于光纤通道协议的设备时间同步装置的实施例仅是示意性的。请参考图3所示,其为本发明
实施例提供的一种基于光纤通道协议的设备时间同步装置的结构示意图。
[0069] 本发明所述的一种基于光纤通道协议的设备时间同步装置具体包括如下部分:
[0070] 同步操作发起单元301,用于确定被授时设备满足同步过程状态条件后,基于所述被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备;所述同步帧内
部包含所述被授时设备当前所运行的第一本地时间;
[0071] 同步操作响应单元302,用于基于所述授时设备通过光纤通道接收所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果将所述第一本
地时间和所述第二本地时间写入相应的应答帧,并在应答帧组装完成后将所述授时设备当
前的第三本地时间写入所述应答帧中,通过光纤通道发送至所述被授时设备;
[0072] 同步周期确定单元303,用于基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并确定相邻两次同步过程的同步周期;
[0073] 时间同步单元304,用于根据所述同步周期以及相应的四个时间点确定时间偏差值,若所述时间偏差值大于预设的偏差阈值,则将时间偏差值加到所述被授时设备的本地
时间中,实现设备时间同步。
[0074] 采用本发明实施例所述的基于光纤通道协议的设备时间同步装置,能够应用到大型的网络拓扑结构中,抵消根据授时设备发送时间到被授时设备中的硬件延迟时间有效提
高了网络拓扑内电子设备时间同步的精度,增加了时间同步成功率和可靠性。
[0075] 与上述提供的基于光纤通道协议的设备时间同步方法相对应,本发明还提供一种电子设备。由于该电子设备的实施例相似于上述方法实施例,所以描述得比较简单,相关之
处请参见上述方法实施例部分的说明即可,下面描述的电子设备仅是示意性的。如图4所
示,其为本发明实施例公开的一种电子设备的实体结构示意图。该电子设备可以包括:处理
器(processor)401、存储器(memory)402和通信总线403,其中,处理器401,存储器402通过
通信总线403完成相互间的通信,通过通信接口404与外部进行通信。处理器401可以调用存
储器402中的逻辑指令,以执行基于光纤通道协议的设备时间同步方法,该方法包括:确定
被授时设备满足同步过程状态条件后,基于所述被授时设备主动发起同步操作,并将同步
帧通过光纤通道发送至授时设备;所述同步帧内部包含所述被授时设备当前所运行的第一
本地时间;基于所述授时设备通过光纤通道接收所述同步帧,并将当前的第二本地时间写
入所述同步帧后,解析所述同步帧;根据解析结果将所述第一本地时间和所述第二本地时
间写入应答帧;在所述应答帧组装完成后将所述授时设备当前的第三本地时间写入所述应
答帧中,并通过光纤通道发送至所述被授时设备;基于所述被授时设备接收到所述应答帧
后,将当前的第四本地时间写入所述应答帧中,并确定相邻两次同步过程的同步周期;根据
所述同步周期以及相应的本地时间确定时间偏差值,若所述时间偏差值大于预设的偏差阈
值,则将所述时间偏差值加到所述被授时设备的本地时间中,实现设备时间同步。
[0076] 此外,上述的存储器402中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本
发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以
软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以
使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,
Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种
可以存储程序代码的介质。
[0077] 另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所
述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的基于光纤通道协
议的设备时间同步方法,该方法包括:确定被授时设备满足同步过程状态条件后,基于所述
被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备;所述同步帧内
部包含所述被授时设备当前所运行的第一本地时间;基于所述授时设备通过光纤通道接收
所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果
将所述第一本地时间和所述第二本地时间写入应答帧;在所述应答帧组装完成后将所述授
时设备当前的第三本地时间写入所述应答帧中,并通过光纤通道发送至所述被授时设备;
基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并
确定相邻两次同步过程的同步周期;根据所述同步周期以及相应的本地时间确定时间偏差
值,若所述时间偏差值大于预设的偏差阈值,则将所述时间偏差值加到所述被授时设备的
本地时间中,实现设备时间同步。
[0078] 又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于光纤通道协
议的设备时间同步方法,该方法包括:确定被授时设备满足同步过程状态条件后,基于所述
被授时设备主动发起同步操作,并将同步帧通过光纤通道发送至授时设备;所述同步帧内
部包含所述被授时设备当前所运行的第一本地时间;基于所述授时设备通过光纤通道接收
所述同步帧,并将当前的第二本地时间写入所述同步帧后,解析所述同步帧;根据解析结果
将所述第一本地时间和所述第二本地时间写入应答帧;在所述应答帧组装完成后将所述授
时设备当前的第三本地时间写入所述应答帧中,并通过光纤通道发送至所述被授时设备;
基于所述被授时设备接收到所述应答帧后,将当前的第四本地时间写入所述应答帧中,并
确定相邻两次同步过程的同步周期;根据所述同步周期以及相应的本地时间确定时间偏差
值,若所述时间偏差值大于预设的偏差阈值,则将所述时间偏差值加到所述被授时设备的
本地时间中,实现设备时间同步。
[0079] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
[0080] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
[0081] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。