本发明专利技术公开了一种最佳主时钟算法的实现方法及装置,在进行时钟数据集的比较时,先比较外界时钟与本地时钟的时钟id是否相同,时钟id不同时,再比较外界时钟与本地时钟的时钟性能,在外界时钟与本地时钟的时钟性能一致时,决定是否进入多GM模式,如果决定进入多GM模式,则:比较两个时钟数据集的跳数,当跳数不相等时,跳数小的数据集好于跳数大的数据集;当跳数相等时,则通过比较时钟id或者随机选择确定较好的数据集。本发明专利技术实现了一个域中多个具有相同时钟性能的GM时钟存活,并可按照最短跳数方式来合理分配负载。
【技术实现步骤摘要】
一种最佳主时钟算法的实现方法及装置
本专利技术涉及时钟同步通信网络
,尤其涉及一种最佳主时钟算法的实现方法及装置。
技术介绍
随着3G(The3rdGeneration,第三代移动通信技术)网络的高速发展,PTP时间同步协议在通讯网络中得到越来越多的重视和广泛的应用。国内外运营商不断的使用精确时间同步协议(PrecisionTimeProtocol,简称PTP)进行时间同步,逐步替换使用GPS(GlobalPositioningSystem,全球定位系统)进行时间同步的方式。在IEEE1588V2协议中,组播组网下,网络拓扑是通过BMC算法(BestMasterClockAlgorithm,最佳主时钟算法)来控制的。标准的BMC算法来自于工控领域的应用,其思想为:先在域内选举一个等级最高祖母时钟(GrandMasterclock,简称GM),然后按照距离GM的跳数来完成拓扑建立,同时在距GM相等的设备间或设备内部完成破环处理。其优点是全网可以同步于一个时间源,这样在稳定状态下,整网处于同源时间同步状态。但是,由于限定了域内只能有一个GM,即在一个域中,只能存在一个GM时钟,因而使得网络对主用GM时钟有过高依赖度,当GM丢失后,网络中所有时钟都会受到影响,只有当算法再推举出一个新的GM后,网络才会趋于稳定。在电信等通信网络中,为了网络的可靠性,一般要求网络具有备份功能;同时,为了提高单设备性能,也需要进行负载分担。这样,在时钟网络中,一般要部署2个甚至更多个GM时钟。在标准的BMC算法中,主用的GM时钟会尽量多的携带负载(只要这些负载能直接或间接与见到主用GM),而这使得备用GM不能发挥作用,只能在主用GM失效后,才会承担其GM作用,这就导致了围绕主用GM的负载过多,跳数过大,时钟恢复的性能变差;并且,当网络进行主备GM倒换时,需要所有负载都进行倒换,造成了网络的大规模动荡,引入时间抖动。
技术实现思路
本专利技术解决的技术问题是提供一种最佳主时钟算法的实现方法及装置,实现了一个域中多个具有相同时钟性能的GM时钟存活,并可按照最短跳数方式来合理分配负载。为解决上述技术问题,本专利技术提供了一种最佳主时钟算法的实现方法,在进行时钟数据集的比较时,先比较外界时钟与本地时钟的时钟id是否相同,时钟id不同时,再比较所述外界时钟与本地时钟的时钟性能,在所述外界时钟与本地时钟的时钟性能一致时,决定是否进入多祖母时钟(GM)模式,如果决定进入多GM模式,则:比较所述两个时钟数据集的跳数,当跳数不相等时,跳数小的数据集好于跳数大的数据集;当跳数相等时,则通过比较时钟id或者随机选择确定较好的数据集。进一步地,通过判断所述外界时钟的时钟等级是否优于本地时钟多GM等级阈值,决定是否进入多GM模式:如果优于本地时钟多GM等级阈值,则决定进入多GM模式;否则,决定不进入GM模式。进一步地,所述方法还包括:决定不进入GM模式时,则:通过比较时钟id确定最佳主时钟。进一步地,在比较所述两个时钟数据集的跳数时,如果跳数差大于1,则跳数小的数据集好于跳数大的数据集;如果跳数差为1,则跳数小且GMid小的数据集好于跳数大且GMid大的数据集、跳数小但GMid大的数据集拓扑好于跳数大但GMid小的数据集;如果跳数相等,则GMid小的数据集拓扑好于GMid大的数据集。进一步地,所述方法还包括:多GM模式下,当外界时钟最佳数据集ebest好于或者拓扑好于本地时钟数据集D0,且本地时钟等级(clockclass)大于127时,如果ebest好于D0,则ebest所在端口进入slave状态;如果ebest拓扑好于D0,则ebest所在端口进入passive状态。进一步地,所述方法还包括:当外界时钟最佳数据集ebest好于或者拓扑好于本地时钟数据集D0,且本地时钟等级大于127时,如果ebest好于本地其他端口最佳数据集erbest,则erbest所在端口进入master状态;如果ebest拓扑好于erbest,则erbest所在端口进入passive状态。进一步地,所述方法还包括:通过如下检测方式之一或其任意组合对数据集有效性进行检测:announce丢包检测、sync报文检测、delay-resp检测、时间戳抖动检测等。本专利技术还提供了一种最佳主时钟算法的实现装置,所述装置包括:数据集比较模块,模式选择模块,所述数据集比较模块,用于比较外界时钟与本地时钟的时钟id是否相同,时钟id不同时,比较所述外界时钟与本地时钟的时钟性能;以及,在多GM模式下,比较所述两个时钟数据集的跳数,当跳数不相等时,跳数小的数据集好于跳数大的数据集;当跳数相等时,则通过比较时钟id或者随机选择确定较好的数据集;所述模式选择模块,用于在所述外界时钟与本地时钟的时钟性能一致时,决定是否进入多GM模式。进一步地,所述模式选择模块,用于通过判断所述外界时钟的时钟等级是否优于本地时钟多GM等级阈值,决定是否进入多GM模式:如果优于本地时钟多GM等级阈值,则决定进入多GM模式;否则,决定不进入GM模式。进一步地,所述装置还包括状态决定模块,所述状态决定模块,用于:当外界时钟最佳数据集ebest好于或者拓扑好于本地时钟数据集D0,且本地时钟等级(clockclass)大于127时,如果ebest好于D0,则ebest所在端口进入slave状态;如果ebest拓扑好于D0,则ebest所在端口进入passive状态;如果ebest好于本地其他端口最佳数据集erbest,则erbest所在端口进入master状态;如果ebest拓扑好于erbest,则erbest所在端口进入passive状态。进一步地,所述装置还包括如下模块中的一个或多个,以对数据集有效性进行检测:announce丢包检测模块、sync报文检测模块、delay-resp检测模块、时间戳抖动检测模块。进一步地,所述数据集比较模块用于,在比较所述两个时钟数据集的跳数时,如果跳数差大于1,则跳数小的数据集好于跳数大的数据集;如果跳数差为1,则跳数小且GMid小的数据集好于跳数大且GMid大的数据集、跳数小但GMid大的数据集拓扑好于跳数大但GMid小的数据集;如果跳数相等,则GMid小的数据集拓扑好于GMid大的数据集。与现有技术相比较,本专利技术通过增加两个控制参数增强外界对算法的参与程度,并通过多GM比较的算法分支,实现到多GM分担负载流程,使得BMC算法更适应电信组网;同时,还提出数据集有效性检测可以按照需要进行扩展,来适应不同用户的需要。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1a和图1b为标准BMC数据集比较算法流程示意图;图2为标准状态决定算法流程示意图;图3a和图3b为本专利技术实施例的改进数据集比较算法流程示意图;图4为本专利技术实施例的改进状态决定算法流程示意图;图5a、5b、5c为本专利技术实施例的采用改进算法网络拓扑示意图;图6为本专利技术实施例的数据集有效性检测模块的示意图。具体实施方式本实施方式提供一种最佳主时钟(BMC)算法的实现方法,具体包括如下主要内容:1.引进了多GM算法控制参数multi本文档来自技高网...

【技术保护点】
一种最佳主时钟算法的实现方法,其特征在于,在进行时钟数据集的比较时,先比较外界时钟与本地时钟的时钟id是否相同,时钟id不同时,再比较所述外界时钟与本地时钟的时钟性能,在所述外界时钟与本地时钟的时钟性能一致时,决定是否进入多祖母时钟(GM)模式,如果决定进入多GM模式,则:比较所述两个时钟数据集的跳数,当跳数不相等时,跳数小的数据集好于跳数大的数据集;当跳数相等时,则通过比较时钟id或者随机选择确定较好的数据集。
【技术特征摘要】
1.一种最佳主时钟算法的实现方法,其特征在于,在进行时钟数据集的比较时,先比较外界时钟与本地时钟的时钟id是否相同,时钟id不同时,再比较所述外界时钟与本地时钟的时钟性能,在所述外界时钟与本地时钟的时钟性能一致时,决定是否进入多祖母时钟(GM)模式,如果决定进入多GM模式,则:比较所述外界时钟与本地时钟的数据集的跳数,当跳数不相等时,跳数小的数据集好于跳数大的数据集;当跳数相等时,则通过比较时钟id或者随机选择确定较好的数据集。2.如权利要求1所述的方法,其特征在于,通过判断所述外界时钟的时钟等级是否优于本地时钟多GM等级阈值,决定是否进入多GM模式:如果优于本地时钟多GM等级阈值,则决定进入多GM模式;否则,决定不进入GM模式。3.如权利要求2所述的方法,其特征在于,所述方法还包括:决定不进入GM模式时,则:通过比较时钟id确定最佳主时钟。4.如权利要求1所述的方法,其特征在于,在比较所述两个时钟数据集的跳数时,如果跳数差大于1,则跳数小的数据集好于跳数大的数据集;如果跳数差为1,则跳数小且GMid小的数据集好于跳数大且GMid大的数据集、跳数小但GMid大的数据集拓扑好于跳数大但GMid小的数据集;如果跳数相等,则GMid小的数据集拓扑好于GMid大的数据集。5.如权利要求1或4所述的方法,其特征在于,所述方法还包括:多GM模式下,当外界时钟最佳数据集ebest好于或者拓扑好于本地时钟数据集D0,且本地时钟等级(clockclass)大于127时,如果ebest好于D0,则ebest所在端口进入slave状态;如果ebest拓扑好于D0,则ebest所在端口进入passive状态。6.如权利要求5所述的方法,其特征在于,所述方法还包括:当外界时钟最佳数据集ebest好于或者拓扑好于本地时钟数据集D0,且本地时钟等级大于127时,如果ebest好于本地其他端口最佳数据集erbest,则erbest所在端口进入master状态;如果ebest拓扑好于erbest,则erbest所在端口进入passive状态。7.如权利要求1所述的方法,其特征在于,所述方法还包括:通过如下检测方式之一或其任意组合对数据集有效性进行检测:announce丢包检测...
【专利技术属性】
技术研发人员:赵洪广,夏靓,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。