CN111525974B - 一种基于周期授时的时钟同步方法和装置 - Google Patents
一种基于周期授时的时钟同步方法和装置 Download PDFInfo
- Publication number
- CN111525974B CN111525974B CN202010278822.1A CN202010278822A CN111525974B CN 111525974 B CN111525974 B CN 111525974B CN 202010278822 A CN202010278822 A CN 202010278822A CN 111525974 B CN111525974 B CN 111525974B
- Authority
- CN
- China
- Prior art keywords
- time
- date
- data
- time service
- time data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Electric Clocks (AREA)
Abstract
本发明提供一种基于周期授时的时钟同步方法和装置,通过分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,基于时间轴,对采集到的n个日期时间数据进行排序;判断排序后的所述n个日期时间数据是否满足预设条件;满足所述预设条件,则表明所述n个日期时间数据可靠,进行后续处理;如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据,保证了校时端用于进行后续处理的日期时间数据的可靠性。
Description
技术领域
本发明涉及数字电路领域,具体涉及一种基于周期授时的时钟同步方法和装置。
背景技术
在一些需要精确时间同步的场合,如综合监控、电力通信、工厂DCS(集散控制系统)等监控系统,仅靠计算机本身提供的时钟信号是远远不够的。据统计,计算机时间与国际标准时间偏差在1分钟以上的占到90%以上,这是因为计算机的时钟信号来源于自带的简单晶体振荡器,而这种晶体振荡器守时性较差,调整好时间后,一般每天都有几秒钟的时间漂移。精心协调、可靠准确的时间对于上述系统至关重要。例如,在工业自动化系统中,日志、报警、SOE等都以时间作为第一排序要素,特别是在装置的故障分析中,装置SOE的时序(解析到毫秒)至关重要,错误的时间可能会导致SOE的时序混乱,比如导致首出故障定位错误,为故障分析提供错误的指导其后果往往是故障原因无法真实定位甚至导致错误的结论。可靠和准确的计算机时间为互联的万物提供统一参照,显然,当这些带本地时标的信息汇集在一起后,互联设备时钟的精确度,将决定这些信息按时间进行总排序的精确度。
因此,监控系统需要外部授时装置(授时装置从GPS/北斗卫星上获取标准的时间信号)提供基准时钟以对系统进行授时。典型的监控系统一般都有监控中心,通常外部授时装置安装于监控中心,外部授时装置普遍通过RS422/232串口将基准时钟信息接入监控中心的某台计算机,该计算机将作为监控系统的母钟服务器,母钟服务器再通过监控系统内部网络以nTP/SnTP等时间协议来校准监控系统的各个节点设备/计算机,这样就可以达到整个系统的时间同步。
由上可见,作为监控系统时钟源的母钟服务器自身时钟的准度非常关键。
外部授时装置普遍通过RS422/232串口将基准时钟信息接入监控系统的计算机,我们把外部授时装置称为授时端,把接受基准时钟信息的监控系统的计算机称为校时端。授时端和校时端根据双方事先约定的具体通信协议,授时端周期触发授时报文并通过串口一端发送给校时端,校时端通过串口的另一端从授时端获得授时报文,校时端再按照通信协议解析出报文中的完整日期时间数据TOD(Time Of Day,含年月日时分秒毫秒,有的授时报文中不含毫秒,通常表示毫秒数为000毫秒而不是简单的四舍五入或者截断毫秒数)作为基准时间(Base Time,简称BTime),再执行本地时钟修正。授时端触发授时报文的周期一般是1000毫秒的整数倍,如1000毫秒、2000毫秒、5000毫秒,其中以1000毫秒作为周期最为常用。
校时端通过RS422从授时端获得授时报文,按照通信协议解析出报文中的完整日期时间数据TOD(Time Of Day,含年月日时分秒毫秒)作为基准时间(Base Time,简称BTime),再执行本地时钟修正。
常规方法为:校时端把TOD减Tc后所得结果,修改本地时钟,其中Tc为报文串口补偿时间,Tc为常数。
为了提高TOD数据(简称数据)传输的可靠性,传统方法会在OSI七层模型的各个层面进行考虑,例如,在物理层选用抗电磁干扰强的通信电缆、接入终端电阻等措施;在数据链路层选用奇偶校验;应用层的通信协议上,协议报文中自带各种类型的校验和。通过以上措施中的一种或多种,数据的可靠性基本得到保障。在传统方法下,MTBF(平均无故障时间)有望达到5000小时甚至更高。
然而,即便有以上全部措施保障,在有些情形下,仍然可能导致意外的错误TOD数据被校时端采集,这些意外的TOD错误数据我们一律称为脏数据。
传统方法存在以下缺陷或漏洞:
一、传统方法很难过滤来自授时端源头的脏数据。授时端作为数据提供方在自身收集数据时,有可能意外收集到一次脏数据,显然,由于这个脏数据的错误来自授时端源头,传输过程中所采取的措施通常是无效的,相反,措施越“安全”,这个脏数据反倒会越被“可靠地”护送到校时端,即传统的保障措施很难防护这种偶发的授时端源头突变脏数据。我们不妨称这类错误为源头错误。
二、数据在传输过程产生错误并成为脏数据,其中大部分有望被传统方法拦截,但会有少部分成功穿越传统的防护网,成为漏网之鱼。例如,目前国内常见的串口时钟通信协议,校验和采用累积代数和,当数据区的某一个字节多1,而另一个字节少1时,显然,其累积代数和不会变化,因此,这样的错误在传统方法下无法被有效过滤。我们不妨称这类产生自传输过程中但却可以逃过传输以及接收终端的各种传统校验(如校验和、报文关键字校验等)的错误为逃逸错误。
可以看到,上述源头错误和逃逸错误会导致TOD数据错误,如果直接用常规方法——校时端把TOD减Tc后所得结果,修改本地时钟,就会直接导致校时端时钟错误。
发明内容
有鉴于此,本发明实施例提供一种基于周期授时的时钟同步方法和装置,保证TOD数据的可靠性。
为实现上述目的,本发明实施例提供如下技术方案:
一种基于周期授时的时钟同步方法,包括:
分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,所述n为不小于2的正整数;
基于时间轴,对采集到的n个日期时间数据进行排序;
判断排序后的所述n个日期时间数据是否满足预设条件;
满足所述预设条件,则表明所述n个日期时间数据可靠;
如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据。
可选的,上述基于周期授时的时钟同步方法中,还包括:
每解析一个所述授时报文,控制计数器加1,直至所述计数器的值达到n时,控制所述计数器的计时结果清零;
当所述计数器的值达到n时之后,生成用于触发基于时间轴,对采集到的n个日期时间数据进行排序的控制指令。
可选的,上述基于周期授时的时钟同步方法中,所述n的值为3。
可选的,上述基于周期授时的时钟同步方法中,所述预设条件为排序后的所述n个日期时间数据为等差数列或近等差数列。
可选的,上述基于周期授时的时钟同步方法中,所述分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,具体为:
分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个标准时间结构体结构的日期时间数据。
一种基于周期授时的时钟同步装置,包括:
数据解析单元,用于分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,所述n为不小于2的正整数;
数据排序单元,用于基于时间轴,对采集到的n个日期时间数据进行排序;
可靠性判断单元,用于判断排序后的所述n个日期时间数据是否满足预设条件;满足所述预设条件,则表明所述n个日期时间数据可靠;如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据。
可选的,上述基于周期授时的时钟同步装置中,数据排序单元,还用于:
每解析一个所述授时报文,控制计数器加1,直至所述计数器的值达到n时,控制所述计数器的计时结果清零;
当所述计数器的值达到n时之后,生成用于触发基于时间轴,对采集到的n个日期时间数据进行排序的控制指令。
可选的,上述基于周期授时的时钟同步装置中,所述n的值为3。
可选的,上述基于周期授时的时钟同步装置中,所述预设条件为排序后的所述n个日期时间数据为等差数列或近等差数列。
可选的,上述基于周期授时的时钟同步装置中,所述分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,具体为:
分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个标准时间结构体结构的日期时间数据。
基于上述技术方案,本发明实施例提供的上述方案,通过分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,基于时间轴,对采集到的n个日期时间数据进行排序;判断排序后的所述n个日期时间数据是否满足预设条件;满足所述预设条件,则表明所述n个日期时间数据可靠,进行后续处理;如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据,保证了校时端用于进行后续处理的日期时间数据的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的基于周期授时的时钟同步方法的流程示意图;
图2为本申请实施例公开的基于周期授时的时钟同步装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如上文背景技术中所述,首先,数据的源头错误和逃逸错误很难完全杜绝,即长期运行过程中,TOD数据错误必然出现;其次,源头错误和逃逸错误从行为表现上看,一定是偶然发生,否则,源头错误频繁发生就属于设备故障,正确的处理方式应该是首先中止或者屏蔽与该设备的通信,直至解决设备故障;而逃逸错误如果频繁发生,则属于严重的线路故障或者协议存在严重缺陷,应该检查通信线缆或者更换协议。那么,回过来说,偶然发生,换言之,属于小概率事件。从数学上讲,小概率事件有两个特点,其一是小概率事件不会连续发生,比如第一次数据采集发现某个数据点A故障后,紧接着第二次、第三次,……,第n次数据点A都是故障,如果是这样,那说明,A就是真的故障了;其二是小概率事件只要重复足够多次,则成为必然事件,即必然反生。我们以发送周期为1000毫秒为例,一天内TOD数据发送会发生8万6千次,一年内则会达到3155万次。
简言之,上述源头错误和/或逃逸错误,一方面是不会连续n次传输均发生,另一方面是长期持续运行则必然发生。
本申请通过针对小概率事件的这两个特点,在传统技术基础上,增加对TOD数据的缓存处理,TOD数据只有通过本专利的防抖算法后,才会采信TOD数据并进行后续处理,否则,不响应所述TOD数据。参见图1,本申请实施例公开的基于周期授时的时钟同步方法具体为:
步骤S101:分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,所述n为不小于2的正整数;
在本方案中,当需要更新TOP数据时,所述校时端成功接收并依据双方通信协议对授时端输出的授时报文进行校验并通过后,对时间轴上连续的n个授时报文进行解析,得到对应的日期时间数据(TOP数据),其中,这n个授时报文在时间轴上是连续的,例如,第1授时报文是第1时刻获取的,第2授时报文是第2时刻获取的,第3授时报文是第3时刻获取的……第n授时报文是第n时刻获取的,第1时刻、第2时刻、第3时刻……第n时刻在时间轴上是连续的,其中,n的大小可以依据用户需求自行设定,只要保证其不小于2即可,例如,在本方案中所述n的值可以是2或3,当然也可以是其他数值。
在本方案中,解析得到的所述日期时间数据的结构类型可以依据系统需求自行选择,例如,在本方案汇总,可以给所述日期时间数据分配一个结构体空间TODBuf,该TODBuf的定义为:
struct{
SYSTEMTIME TODValue[n];
int CnT;
}TODBuf;
其中SYSTEMTIME为标准时间结构体,其定义为:
typedef struct_SYSTEMTIME{
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
}SYSTEMTIME;
由上述代码可见,SYSTEMTIME包括8个成员,所有成员的数据类型全部为无符号短整型(WORD),其中wYear表示当前的年(例如2020),wMonth表示月(1~12),wDayOfWeek表示星期(0~6,0表示星期日),wDay表示当前月的日(1~31),wHour表示当前的时(0~23),wMinute表示当前的分(0~59),wSecond表示当前的秒(0~59),wMilliseconds表示当前的毫秒(0~999)。
上述TODBuf中包含一个大小为n的数组TODValue[n],还包含一个整型计数器CnT。
当然,所述日期时间数据的结构类型除了可以采用上文提到的SYSTEMTIME外,还可以采用其他标准时间结构或者自定义时间存储类型,例如32位或者64位的数据类型或字符串类型。TOD具体的缓存形式不是本案追求保护的点。
在本方案中,可以通过计时器来实现解析到的授时报文的个数,例如,上述方案中,每解析一个所述授时报文,控制计数器加1,直至所述计数器的值达到n时,控制所述计数器的计时结果清零;当所述计数器的值达到n时之后,生成用于触发步骤S102的触发指令。
步骤S102:基于时间轴,对采集到的n个日期时间数据进行排序;
当获取到n个日期时间数据以后,基于获取到的日期时间数据对应的授时报文的获取时间,对所述n个日期时间数据进行排序,例如,排序中的第一个日期时间数据对应于n个中最早获取到的授时报文,排序中的最后一个日期时间数据对应于n个中最晚获取到的授时报文,
步骤S103:判断排序后的所述n个日期时间数据是否满足预设条件;
在本申请实施例公开的技术方案中,设置有预设规则,在获取到排序后的所述n个日期时间数据,将排序后的所述n个日期时间数据的数据规则与预设条件进行对比,即可判断所述n个日期时间数据中是否存在异常数据,例如,正常的n个日期时间数据在时间上应呈等差数列或近等差数列,因此,在本方案中,可以通过判断排序后的所述n个日期时间数据是否成等差数列或近等差数列的方式来判断所述n个日期时间数据是否可靠,如果可靠,则执行步骤S104,如果不可靠,则不响应所述n个日期时间数据。
所述等差数列是指在本方案中n个日期时间数据组中,任意相邻的两个日期时间的右侧日期减去左侧日期所得差值均相等,构成了n-1个相等的数值d,d即为该等差数列公差。
所述近等差数列是指在本方案中n个日期时间数据组中,任意相邻的两个日期时间的右侧日期减去左侧日期所得n-1个差值(记为{d1,d2,……,dn-1})近似相等,具体地,|di-d|≤ε,i∈[1,n-1],其中ε为可配置的常数。
在本方案中n个日期时间数据组中,任意相邻的两个日期时间的右侧日期减去左侧日期所得n-1个差值{d1,d2,……,dn-1}构成了等差数列或近等差数列,其中,di=TODValue[i]-TODValue[i-1],i∈[1,n-1]。
当报文中的TOD不含毫秒以及毫秒以下值时,即授时端以严格整秒为周期发送报文,这时,{d1,d2,……,dn-1}构成了等差数列,|di-d|=0,i∈[1,n-1],公差d即为严格整秒发送周期。
当报文中的TOD含毫秒或毫秒以下值时,这时可以允许授时端不以严格整秒为周期发送报文,即报文中的毫秒或毫秒以下值允许在一定范围内波动,这时,{d1,d2,……,dn-1}构成了近等差数列,|di-d|≤ε,i∈[1,n-1],其中ε为可配置的常数。
步骤S104:满足所述预设条件,则表明所述n个日期时间数据可靠,响应所述n个日期时间数据;
所述响应所述n个日期时间数据,可以指的是,把最后一次采集到的日期时间数据作为基准时间,校时端把TODValue[n-1]减Tc后所得结果。
步骤S105:如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据。
以上述SYSTEMTIME结构的日期时间数据为例:
TODBuf成员中,TODValue[n]为某个授时报文缓存n(n≥2)次采样值的数据缓存区,TODValue[0],TODValue[1],……,TODValue[n-1]分别表示该授时报文的第1,2,……,n次采样的值,TODValue的数据类型为标准时间结构体SYSTEMTIME;CnT表示授时报文目前已经采样的次数(其中,其类型int为示意,实际情况时,可以是任意整数类型),CnT∈[0,n],CnT的初始值为0,表示TOD数据尚未开始新一轮数据采集,n表示已经采满n次数据了。授时报文每成功采集到一次后,把解析得到的日期时间数据更新到TODValue[CnT]中,随后CnT加一。然后检查CnT是否大于等于n,如果不是,则说明授时报文还没有采满n次数据,还不需要把已采集的日期时间数据进行校时处理;如果CnT大于等于n,则说明TOD已经采满n次数据了,需要考虑把已采集的日期时间数据进行校时处理,首先把CnT回0意味着接下来的采集会进入新一轮n次的授时报文采集,然后比较缓存区中TODValue[0],TODValue[1],……,TODValue[n-1]共n次的采集数据值(日期时间数据),如果这n次的日期时间数据是等差数列或近等差数列,则说明本轮的连续n个日期时间数据都没有超出合理误差范围,则把最后一次TOD值TODValue[n-1]作为基准时间,校时端把TODValue[n-1]减Tc后所得结果,修改本地时钟(其中Tc为报文串口补偿时间,Tc为常数)。如果这n次的值为非近似等差数列或近等差数列,则说明本轮TOD数据连续n次采集中出现了至少一次抖动(超出合理误差范围),这n轮的TOD数据将被丢弃,如果是正常的源头错误或逃逸错误所导致的抖动,可以预计,在下一轮的n次采集中,n次的值将会是等差数列或近等差数列,这样下一轮TOD数据采集完毕后就会顺利的执行校时端的校时处理。
我们再评估n越大所带的校时端执行校时处理的周期越大的影响。首先,关于校时端的时钟漂移,前文已介绍,计算机的时钟信号来源于自带的简单晶体振荡器,而这种晶体振荡器守时性较差,调整好时间后,一般每天都有几秒钟的时间漂移。我们不妨假设,无外部时钟校准时计算机每24小时的时间漂移为5秒,相当于每5秒计算机时间漂移0.29毫秒,或每17秒漂移1毫秒,即当授时端触发授时报文的周期为1000毫秒时,当n≤17时,计算机自身时间漂移可控制在1毫秒内。
本领域技术人员公知的是,国际标准的nTP的校时精度为1~50毫秒,可见,即便n=17,计算机自身时间漂移也不会超过1毫秒。
我们再对比常规方法和使用本专利方法后的效果:
众所周知,假设某事件发生的概率为p,则重复进行m次独立试验,则:
该事件一次都不发生的概率为:
(1-p)m——(1)
至少发生一次的概率为:
1–(1-p)m——(2)
记授时周期为k,记每个授时周期脏数据发生概率为P。
记常规方法下校时端及其系统出现时间抖动的发生概率为P(A),P(A)可表述为:重复进行m次概率为P的独立试验至少发生一次的概率。显然:
P(A)=1–(1-P)m——(3)
其中m为周期为k的重复试验次数。
在连续n次日期时间数据中每次都发生脏数据事件(记为事件B)的概率为:
P(B)=Pn——(4)
其中,Pn表示P的n次方。
记本专利方法下校时端及其系统出现时间抖动为事件C,本专利方法下校时端及其系统出现时间抖动的发生概率为P(C),P(C)可以表述为:重复进行m’次概率为P(B)的独立试验至少发生一次的概率,其中
m’=m/n——(5)
显然:
P(C)=1–(1-P(B))m’——(6)
将(4)、(5)代入(6),可得:
P(C)=1–(1-Pn)m/n——(7)
我们不妨记
y=1–(1-x)m——(8)
其中x∈(0,1)。
则:
或者
其中ln表示自然数e为底的对数,log表示10为底的对数。
可得:
由(7)可得
示例1:
不妨假设1)授时端触发授时报文的周期为1000毫秒;2)假设每30天会发生至少一次脏数据事件的概率为90%,即P(A)=90%,且m=30*24*3600=2592000。代入(12),可得:
1–P=99.9999111658%——(15)
即数据可靠性为99.9999111658%的授时报文,1秒发送一次,则每30天会发生至少一次脏数据事件的概率为90%!
示例2:
取n=3时,代入(7)可得
1–P(C)=99.99999999993943%
即数据可靠性为99.9999111658%的授时报文,1秒发送一次,采用本专利技术后,且仅取n=3,就能让每30天会发生至少一次脏数据事件的概率由90%降低为16510亿分之一,相当于每30天的数据可靠性高达99.99999999993943%!
示例3:
取n=3时,代入(7)可得
1–P(C)=99.9999999926%
即数据可靠性为99.9999111658%的授时报文,1秒发送一次,采用本专利技术后,且仅取n=3,就能让每30天会发生至少一次脏数据事件的概率由90%降低为每10年发生的概率仅为135亿分之一,相当于每10年的数据可靠性高达99.9999999926%!
示例4:
9853617108461076668秒=312242284218年=3122亿年。
以上说明,常规方法每30天90%可能性至少出现一次脏数据事件,在本专利技术下,需要3122亿年才能达到90%可能性至少出现一次脏数据事件!
综上,我们针对上述源头错误和逃逸错误的特点,在传统技术基础上,增加对TOD数据的缓存处理,有效地捕捉了传统方法下的漏网之鱼,极大地提升了TOD数据的可靠性。
对应于上述方法,本申请还公开了一种基于周期授时的时钟同步装置,装置和方法中的内容可相互借鉴,参见图2,装置可以包括:
数据解析单元100,用于分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,所述n为不小于2的正整数;
数据排序单元200,用于基于时间轴,对采集到的n个日期时间数据进行排序;
可靠性判断单元300,用于判断排序后的所述n个日期时间数据是否满足预设条件;满足所述预设条件,则表明所述n个日期时间数据可靠;如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据。
其中,上述装置中,所述数据解析单元100还可以用于:
每解析一个所述授时报文,控制计数器加1,直至所述计数器的值达到n时,控制所述计数器的计时结果清零;
当所述计数器的值达到n时之后,生成用于触发基于时间轴,对采集到的n个日期时间数据进行排序的控制指令。
所述预设条件为排序后的所述n个日期时间数据为等差数列或近等差数列,即,可靠性判断单元,用于判断排序后的所述n个日期时间数据是否为等差数列或近等差数列。
上述方案中,所述数据解析单元,在分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据时,具体用于:
分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个标准时间结构体结构的日期时间数据。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于周期授时的时钟同步方法,其特征在于,包括:
分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,所述n为不小于2的正整数;
基于时间轴,对采集到的n个日期时间数据进行排序;
判断排序后的所述n个日期时间数据是否满足预设条件;所述预设条件为排序后的所述n个日期时间数据为等差数列或近等差数列;
满足所述预设条件,则表明所述n个日期时间数据可靠;
如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据;
当所述授时端以严格整秒为周期发送报文时,所述预设条件为排序后的所述n个日期时间数据为等差数列;
当所述授时端不以严格整秒为周期发送报文时,所述预设条件为排序后的所述n个日期时间数据为近等差数列。
2.根据权利要求1所述的基于周期授时的时钟同步方法,其特征在于,还包括:
每解析一个所述授时报文,控制计数器加1,直至所述计数器的值达到n时,控制所述计数器的计时结果清零;
当所述计数器的值达到n时之后,生成用于触发基于时间轴,对采集到的n个日期时间数据进行排序的控制指令。
3.根据权利要求1所述的基于周期授时的时钟同步方法,其特征在于,所述n的值为3。
4.根据权利要求1所述的基于周期授时的时钟同步方法,其特征在于,所述分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,具体为:
分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个标准时间结构体结构的日期时间数据。
5.一种基于周期授时的时钟同步装置,其特征在于,包括:
数据解析单元,用于分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,所述n为不小于2的正整数;
数据排序单元,用于基于时间轴,对采集到的n个日期时间数据进行排序;
可靠性判断单元,用于判断排序后的所述n个日期时间数据是否满足预设条件;所述预设条件为排序后的所述n个日期时间数据为等差数列或近等差数列;满足所述预设条件,则表明所述n个日期时间数据可靠;如果不满足所述预设条件,则表明所述n个日期时间数据不可靠,不响应所述n个日期时间数据;当所述授时端以严格整秒为周期发送报文时,所述预设条件为排序后的所述n个日期时间数据为等差数列;当所述授时端不以严格整秒为周期发送报文时,所述预设条件为排序后的所述n个日期时间数据为近等差数列。
6.根据权利要求5所述的基于周期授时的时钟同步装置,其特征在于,数据排序单元,还用于:
每解析一个所述授时报文,控制计数器加1,直至所述计数器的值达到n时,控制所述计数器的计时结果清零;
当所述计数器的值达到n时之后,生成用于触发基于时间轴,对采集到的n个日期时间数据进行排序的控制指令。
7.根据权利要求5所述的基于周期授时的时钟同步装置,其特征在于,所述n的值为3。
8.根据权利要求5所述的基于周期授时的时钟同步装置,其特征在于,所述分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个日期时间数据,具体为:
分别对授时端输出的连续n个授时报文进行次采样并解析,得到n个标准时间结构体结构的日期时间数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010278822.1A CN111525974B (zh) | 2020-04-10 | 2020-04-10 | 一种基于周期授时的时钟同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010278822.1A CN111525974B (zh) | 2020-04-10 | 2020-04-10 | 一种基于周期授时的时钟同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111525974A CN111525974A (zh) | 2020-08-11 |
CN111525974B true CN111525974B (zh) | 2023-01-10 |
Family
ID=71902808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010278822.1A Active CN111525974B (zh) | 2020-04-10 | 2020-04-10 | 一种基于周期授时的时钟同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111525974B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110581742A (zh) * | 2018-06-08 | 2019-12-17 | 大唐移动通信设备有限公司 | 一种时钟同步方法、系统及基站 |
CN110932815A (zh) * | 2019-12-18 | 2020-03-27 | 锐捷网络股份有限公司 | 一种时间同步方法、装置、网络设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238719B (zh) * | 2010-04-27 | 2014-10-08 | 中国移动通信集团公司 | 时间同步方法、装置及分布式时间同步系统 |
CN107947886B (zh) * | 2017-11-24 | 2019-08-23 | 上海机电工程研究所 | 基于时码和准秒的系统校时方法 |
CN110198198B (zh) * | 2018-02-27 | 2022-01-11 | 深圳市金溢科技股份有限公司 | 一种路侧单元同步方法、装置、处理器及路侧单元 |
CN110601785B (zh) * | 2019-09-19 | 2021-06-11 | 福建师范大学 | 一种卫星授时的快速高精度同步方法 |
-
2020
- 2020-04-10 CN CN202010278822.1A patent/CN111525974B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110581742A (zh) * | 2018-06-08 | 2019-12-17 | 大唐移动通信设备有限公司 | 一种时钟同步方法、系统及基站 |
CN110932815A (zh) * | 2019-12-18 | 2020-03-27 | 锐捷网络股份有限公司 | 一种时间同步方法、装置、网络设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111525974A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106961352B (zh) | 监控系统及监控方法 | |
CN106612308B (zh) | 数据传输方法及装置 | |
CN111092865B (zh) | 一种安全事件分析方法及系统 | |
CN111525974B (zh) | 一种基于周期授时的时钟同步方法和装置 | |
EP3979527A1 (en) | System and method of network synchronized time in safety applications | |
CN111130951B (zh) | 设备状态检测方法、装置及存储介质 | |
CN117370469A (zh) | 用于在大数据环境中高效数据复制的方法和系统 | |
CN106201753B (zh) | 一种基于linux中PCIE错误的处理方法及系统 | |
US20110313549A1 (en) | Field communication system | |
JP4578371B2 (ja) | 監視情報取得装置 | |
CN112152833A (zh) | 一种网络异常报警方法、装置及电子设备 | |
WO2023111392A1 (en) | Method and system for modifying state of device using detected anomalous behavior | |
CN108509293A (zh) | 一种用户日志时间戳容错方法及系统 | |
CN114281250A (zh) | 存储文件的清理方法及装置、存储介质、电子装置 | |
Ferrari et al. | Improving robustness of the synchronization quality of IEEE1588 nodes | |
CN110245844B (zh) | 异常指标检测方法及装置 | |
CN112395155A (zh) | 服务的监控方法和装置、存储介质、电子装置 | |
JP2011250201A (ja) | ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム | |
JP2007147484A (ja) | 時刻補正システム | |
CN111159139A (zh) | 一种数据处理方法、装置、存储介质及监视设备 | |
CN115442244B (zh) | 电力实时仿真中通信间隔的校准方法、装置及相关设备 | |
CN112152869B (zh) | 网络检测方法、装置、电子设备及存储介质 | |
CN116795602B (zh) | 一种生物样本信息数据库的构建方法和装置 | |
CN118157800A (zh) | 一种时钟同步系统和方法 | |
CN117811687A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211108 Address after: 100176 room 3412, floor 4, building 3, yard 2, Desheng Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing Applicant after: Beijing Helishi system integration Co.,Ltd. Address before: 100176 Yard 2, Desheng Middle Road, Beijing Economic and Technological Development Zone Applicant before: BEIJING HOLLYSYS Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |