专利名称:选择网络时间协议服务器的方法和装置的制作方法
技术领域:
本发明实施例涉及通讯网络内网元设备的时间管理,尤其涉及一种选择网络时间协议服务器的方法和装置。
背景技术:
在通讯网络中,网元设备都是独立工作,同时通过网络与其它网元相连,进行数据传递。网元工作时使用的时间是网元内部时间,但是,由于硬件成本的问题,网元设备的计算能力不是很高,经过一段时间的运行后,网元设备内的时间可能会存在误差。然而时间对于网元设备来说是至关重要的一个因素,因此,网元设备需要使用NTP(Network TimeProtocol,网络时间协议)与外界的NTP服务器进行时间同步,保证时间的准确性。通常网络中存在多个NTP服务器,在网络正常的情况下网元设备可以与任何一个服务器进行时间、同步。所以,对于网元设备来说怎么选择一个合适的服务器与之进行时间同步就显得尤为重要了。NTP协议自身采用统计学的算法过滤来自不同服务器的时间包,从而进行服务器选择,但是,这种算法涉及的内容比较多,实现也比较复杂,不适合在网元设备上具体实施。
发明内容
本发明实施例提供一种选择网络时间协议服务器的方法和装置,简单而又不失精度的选择NTP服务器。为了实现上述目的,本发明实施例提供一种选择网络时间协议服务器的方法,包括网元设备向多个NTP时间协议服务器发送校时请求报文;所述网元设备收到NTP服务器发送的响应报文时,判断是否已经进行时间同步;如果判断结果为否,使用当前NTP服务器进行时间同步,并在同步后将当前NTP服务器设置为已经同步的NTP服务器;如果判断结果为是,所述网元设备比较当前NTP服务器与已经同步的NTP服务器的Stratum层;在当前NTP服务器的Stratum层次小于已经同步的NTP服务器的Stratum层次时,使用当前NTP服务器进行时间同步,并将当前NTP服务器设置为已经同步的NTP服务器;在当前NTP服务器的Stratum层次大于已经同步的NTP服务器的Stratum层次时,结束对所述响应报文的处理;在当前NTP服务器的Stratum层次等于已经同步的NTP服务器的Stratum层次时,所述网元设备进一步比较当前NTP服务器与已经同步的NTP服务器的精确度如果当前NTP服务器的精确度高于已经同步的NTP服务器的精确度,使用当前NTP服务器进行时间同步,并将当前NTP服务器设置为已经同步的NTP服务器;否则,结束对所述响应报文的处理。所述网元设备向多个NTP时间协议服务器发送校时请求报文包括所述网元设备在校时间隔到来时向多个NTP时间协议服务器群发所述校时请求报文。所述网元设备收到NTP服务器发送的响应报文且判断已经进行时间同步后,还包括所述网元设备解析所述响应报文, 根据所述响应报文中的Stratum和Precision精确度字段得到当前NTP服务器的Stratum层次和精确度。使用当前NTP服务器进行时间同步时还包括记录当前NTP服务器的Stratum层次和精确度、以及当前NTP服务器的标识信息;如果存在之前记录的Stratum层次、精确度和NTP服务器的标识信息,则使用当前记录的NTP服务器的Stratum层次、精确度和NTP服务器的标识信息替换之前记录的Stratum层次、精确度和NTP服务器的标识信息。本发明实施例还提供一种网元设备,包括发送模块,用于向多个NTP时间协议服务器发送校时请求报文;接收模块,用于接收NTP服务器发送的响应报文;判断模块,用于在接收模块接收到响应报文时,判断所述网元设备是否已经进行时间同步;如果判断结果为否,触发同步处理模块;如果判断结果为是,触发第一比较模块;所述同步处理模块,用于使用当前NTP服务器进行时间同步,并在同步后将当前NTP服务器设置为已经同步的NTP服务器;所述第一比较模块,用于比较当前NTP服务器与已经同步的NTP服务器的Stratum层;在当前NTP服务器的Stratum层次小于已经同步的NTP服务器的Stratum层次时,触发所述同步处理模块;在当前NTP服务器的Stratum层次大于已经同步的NTP服务器的Stratum层次时,触发结束模块;在当前NTP服务器的Stratum层次等于已经同步的NTP服务器的Stratum层次时,触发第二比较模块;所述第二比较模块,用于比较当前NTP服务器与已经同步的NTP服务器的精确度,如果当前NTP服务器的精确度高于已经同步的NTP服务器的精确度,触发所述同步处理模块,否则,触发所述结束模块;所述结束模块,用于结束对所述响应报文的处理。所述发送模块还用于在校时间隔到来时向多个NTP时间协议服务器群发所述校时请求报文。该网元设备还包括解析模块,用于解析所述响应报文,根据所述响应报文中的Stratum和Precision精确度字段得到当前NTP服务器的Stratum层次和精确度。该网元设备还包括记录模块,用于当所述同步处理模块使用当前NTP服务器进行时间同步时,记录当前NTP服务器的Stratum层次和精确度、以及当前NTP服务器的标识信息;如果存在之前记录的Stratum层次、精确度和NTP服务器的标识信息,则使用当前记录的NTP服务器的Stratum层次、精确度和NTP服务器的标识信息替换之前记录的Stratum层次、精确度和NTP服务器的标识信息。本发明实施例提供的方法和装置,仅通过NTP服务器应答报文中的Stratum层和Precision本地时钟精度这两个字段,来对NTP服务器进行筛选,与传统NTP服务器选择方法相比,设计相对简单,并且在网元设备硬件允许的计算能力范围内,能最大程度选择最可靠的NTP服务器进行时间同步,同时保证了时间的精度。在设置好NTP服务器后,网元设备自动进行时间同步,无需人工干预;并且本发明提供的NTP服务器选择方案简单实用,易于在网元设备上实现。采用本发明实施例提供的方案时,NTP服务器的个数优选为3-5个,太多会影响网元设备硬件的计算能力,影响效率。
图I是通讯网络NTP服务器的网络架构示意图;图2是本发明实施例提供的网络时间协议服务器选择的方法的流程示意图;图3是本发明实施例提供的方法中响应报文的报文头结构示意图;图4是本发明实施例提供的方法中记录NTP服务器的信息示意图;
图5是本发明实施例提供的方法的示例示意图;图6和图7是本发明实施例提供的网元设备的结构示意图。
具体实施例方式在通讯网络中,时间按NTP服务器的等级传播。按照离外部UTC (Universal TimeCoordinated,协调世界时)源的远近将所有NTP服务器归入不同的Stratum(层)中。Stratum-I在顶层,有外部UTC接入,而Stratum-2则从Stratum-I获取时间,Stratum-3从Stratum-2获取时间,依此类推。所以层次越高的NTP服务器,其时间最准确,可靠性和精度也是最高的。如图I所示,NTP服务器A、B同处于Stratum-8层,C、D同处于Stratum-10层,A\B的可靠性和精度要高于C\D。处于同一层的NTP服务器之间时钟精度也可以不同,例如NTP服务器C和D虽然都处于Stratum-10层,但服务器C的时钟精度要高于服务器D。为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本发明实施例提供的网络时间协议服务器选择的方法,如图2所示,包括步骤201,网元设备上的NTP Client运行,并且已经设置了与网元设备对应的NTP服务器。步骤202,在校时间隔到来时,网元设备向NTP服务器发送校时请求报文,NTP服务器收到校时请求后向网元设备发送响应报文。网元设备发送校时请求报文时,优选为群发请求报文。步骤203,网元设备收到NTP服务器返回的响应报文,判断网元设备是否已经同步,如果否,执行步骤204 ;否则,执行步骤205。步骤204,网元设备使用当前NTP服务器进行时间同步,并将当前NTP服务器设置为已经同步的NTP服务器。步骤205,网元设备比较当前NTP服务器与已经同步的NTP服务器的Stratum层;在当前NTP服务器的Stratum层次小于已经同步的NTP服务器的Stratum层次时,执行步骤204 ;在当前NTP服务器的Stratum层次大于已经同步的NTP服务器的Stratum层次时,执行步骤206;在当前NTP服务器的Stratum层次等于已经同步的NTP服务器的Stratum层次时,执行步骤207。
步骤206,网元设备结束对响应报文的处理。步骤207,网元设备比较当前NTP服务器与已经同步的NTP服务器的精确度,如果当前NTP服务器的精确度高于已经同步的NTP服务器的精确度,执行步骤204 ;否则,执行步骤206。其中,NTP服务器的Stratum层和精确度可以通过以下方式得到网元设备解析接收到的响应报文,根据响应报文中的Stratum和Precision精确度字段(例如在响应报文的报文头中)得到当前NTP服务器的Stratum层次和精确度。响应报文的报文头结构具体例如图3所示,其中包括Stratum和Precision精确度字段。网元设备还记录当前NTP服务器的Stratum层次和精确度、以及当前NTP服务器的标识信息(例如IP地址),如图4·所示。如果存在之前记录的Stratum层次、精确度和NTP服务器的标识信息,则更新之前记录的Stratum层次、精确度和NTP服务器的标识信息,使用当前记录的NTP服务器的Stratum层次、精确度和NTP服务器的标识信息替换之前记录的Stratum层次、精确度和NTP服务器的标识信息。网元设备通过解析响应报文的报文头得到当前NTP服务器的Stratum层次和精确度后,将得到的Stratum层次和精确度与记录的Stratum层次和精确度进行比较,执行上述步骤205和207。本发明实施例中,网元设备可以对未进行同步的NTP服务器进行计数,如果未同步的NTP服务器个数等于网元设备上已设置的NTP服务器个数时,会清空已同步服务器数据,同时将未进行同步的NTP服务器个数清零。下面给出本发明实施例提供的选择网络时间协议服务器的方法的示例。假定SyncServer 为已经同步的 NTP 服务器,ServerA、ServerB、ServerC、ServerD 和 ServerE 为可供选择的NTP服务器,结合图5所示,具体的服务器选择过程如下I) ServerA的层次比SyncServer要小,网元设备直接使用ServerA进行时间同
I K
少;2) ServerB、ServerC、ServerD 的层次和 SyncServer 相同,还需要判断 Precision字段2. I) ServerB的精确度要高于SyncServer,当遇到ServerB时,网元设备要使用ServerB进行时间同步;2. 2) ServerC 的精确度和 SyncServer 相同,网兀设备认为 ServerC 和 SyncServer等价,不进行时间同步;2. 3) ServerD的精确度比SyncServer要低,网元设备在遇到ServerD时,不进行时间同步;3) ServerE的层次要大于SyncServer,网元设备在遇到ServerE时不进行同步。通过采用本发明实施例提供的方法,仅通过NTP服务器应答报文中的Stratum层和Precision本地时钟精度这两个字段,来对NTP服务器进行筛选,与传统NTP服务器选择方法相比,设计相对简单,并且在网元设备硬件允许的计算能力范围内,能最大程度选择最可靠的NTP服务器进行时间同步,同时保证了时间的精度。在设置好NTP服务器后,网元设备自动进行时间同步,无需人工干预;并且本发明提供的NTP服务器选择方案简单实用,易于在网元设备上实现。采用本发明实施例提供的方案时,NTP服务器的个数优选为3-5个,太多会影响网元设备硬件的计算能力,影响效率。
基于与上述方法实施例相同的技术构思,本发明实施例还提供一种网元设备,如图6所示,包括发送模块10,用于向多个NTP时间协议服务器发送校时请求报文;接收模块20,用于接收NTP服务器发送的响应报文;
判断模块30,用于在接收模块20接收到响应报文时,判断所述网元设备是否已经进行时间同步;如果判断结果为否,触发同步处理模块40 ;如果判断结果为是,触发第一比较模块50 ;所述同步处理模块40,用于使用当前NTP服务器进行时间同步,并在同步后将当前NTP服务器设置为已经同步的NTP服务器;所述第一比较模块50,用于比较当前NTP服务器与已经同步的NTP服务器的Stratum层;在当前NTP服务器的Stratum层次小于已经同步的NTP服务器的Stratum层次时,触发所述同步处理模块40 ;在当前NTP服务器的Stratum层次大于已经同步的NTP服务器的Stratum层次时,触发结束模块70 ;在当前NTP服务器的Stratum层次等于已经同步的NTP服务器的Stratum层次时,触发第二比较模块60 ;所述第二比较模块60,用于比较当前NTP服务器与已经同步的NTP服务器的精确度,如果当前NTP服务器的精确度高于已经同步的NTP服务器的精确度,触发所述同步处理模块40,否则,触发所述结束模块70 ;所述结束模块70,用于结束对所述响应报文的处理。所述发送模块10还用于在校时间隔到来时向多个NTP时间协议服务器群发所述校时请求报文。如图7所示,该网元设备还包括解析模块80,用于解析所述响应报文,根据所述响应报文中的Stratum和Precision精确度字段得到当前NTP服务器的Stratum层次和精确度。该网元设备还包括记录模块90,用于当所述同步处理模块40使用当前NTP服务器进行时间同步时,记录当前NTP服务器的Stratum层次和精确度、以及当前NTP服务器的标识信息;如果存在之前记录的Stratum层次、精确度和NTP服务器的标识信息,则使用当前记录的NTP服务器的Stratum层次、精确度和NTP服务器的标识信息替换之前记录的Stratum层次、精确度和NTP服务器的标识信息。本发明实施例提供的装置,仅通过NTP服务器应答报文中的Stratum层和Precision本地时钟精度这两个字段,来对NTP服务器进行筛选,与传统NTP服务器选择方法相比,设计相对简单,并且在网元设备硬件允许的计算能力范围内,能最大程度选择最可靠的NTP服务器进行时间同步,同时保证了时间的精度。在设置好NTP服务器后,网元设备自动进行时间同步,无需人工干预;并且本发明提供的NTP服务器选择方案简单实用,易于在网元设备上实现。采用本发明实施例提供的方案时,NTP服务器的个数优选为3-5个,太多会影响网元设备硬件的计算能力,影响效率。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。权利要求
1.一种选择网络时间协议服务器的方法,其特征在于,包括 网元设备向多个NTP时间协议服务器发送校时请求报文; 所述网元设备收到NTP服务器发送的响应报文时,判断是否已经进行时间同歩;如果判断结果为否,使用当前NTP服务器进行时间同步,并在同步后将当前NTP服务器设置为已经同步的NTP服务器;如果判断结果为是,所述网元设备比较当前NTP服务器与已经同步的NTP服务器的Stratum层; 在当前NTP服务器的Stratum层次小于已经同步的NTP服务器的Stratum层次时,使用当前NTP服务器进行时间同歩,并将当前NTP服务器设置为已经同步的NTP服务器; 在当前NTP服务器的Stratum层次大于已经同步的NTP服务器的Stratum层次时,结束对所述响应报文的处理; 在当前NTP服务器的Stratum层次等于已经同步的NTP服务器的Stratum层次时,所述网元设备进一步比较当前NTP服务器与已经同步的NTP服务器的精确度如果当前NTP服务器的精确度高于已经同步的NTP服务器的精确度,使用当前NTP服务器进行时间同歩,并将当前NTP服务器设置为已经同步的NTP服务器;否则,结束对所述响应报文的处理。
2.如权利要求I所述的方法,其特征在于,所述网元设备向多个NTP时间协议服务器发送校时请求报文包括 所述网元设备在校时间隔到来时向多个NTP时间协议服务器群发所述校时请求报文。
3.如权利要求I所述的方法,其特征在于,所述网元设备收到NTP服务器发送的响应报文旦判断已经进行时间同步后,还包括 所述网元设备解析所述响应报文,根据所述响应报文中的Stratum和Precision精确度字段得到当前NTP服务器的Stratum层次和精确度。
4.如权利要求3所述的方法,其特征在干,使用当前NTP服务器进行时间同步时还包括记录当前NTP服务器的Stratum层次和精确度、以及当前NTP服务器的标识信息;如果存在之前记录的Stratum层次、精确度和NTP服务器的标识信息,则使用当前记录的NTP服务器的Stratum层次、精确度和NTP服务器的标识信息替换之前记录的Stratum层次、精确度和NTP服务器的标识信息。
5.ー种网元设备,其特征在于,包括 发送模块,用于向多个NTP时间协议服务器发送校时请求报文; 接收模块,用于接收NTP服务器发送的响应报文; 判断模块,用于在接收模块接收到响应报文时,判断所述网元设备是否已经进行时间同步;如果判断结果为否,触发同步处理模块;如果判断结果为是,触发第一比较模块; 所述同步处理模块,用于使用当前NTP服务器进行时间同步,并在同步后将当前NTP服务器设置为已经同步的NTP服务器; 所述第一比较模块,用于比较当前NTP服务器与已经同步的NTP服务器的Stratum层;在当前NTP服务器的Stratum层次小于已经同步的NTP服务器的Stratum层次时,触发所述同步处理模块;在当前NTP服务器的Stratum层次大于已经同步的NTP服务器的Stratum层次时,触发结束模块;在当前NTP服务器的Stratum层次等于已经同步的NTP服务器的Stratum层次时,触发第二比较模块;所述第二比较模块,用于比较当前NTP服务器与已经同步的NTP服务器的精确度,如果当前NTP服务器的精确度高于已经同步的NTP服务器的精确度,触发所述同步处理模块,否贝U,触发所述结束模块; 所述结束模块,用于结束对所述响应报文的处理。
6.如权利要求5所述的网元设备,其特征在于,所述发送模块还用于 在校时间隔到来时向多个NTP时间协议服务器群发所述校时请求报文。
7.如权利要求5所述的网元设备,其特征在于,还包括 解析模块,用于解析所述响应报文,根据所述响应报文中的Stratum和Precision精确度字段得到当前NTP服务器的Stratum层次和精确度。
8.如权利要求7所述的网元设备,其特征在于,还包括记录模块,用于当所述同步处理模块使用当前NTP服务器进行时间同步时,记录当前NTP服务器的Stratum层次和精确度、以及当前NTP服务器的标识信息;如果存在之前记录的Stratum层次、精确度和NTP服务器的标识信息,则使用当前记录的NTP服务器的Stratum层次、精确度和NTP服务器的标识信息替换之前记录的Stratum层次、精确度和NTP服务器的标识信息。
全文摘要
本发明实施例提供一种选择网络时间协议服务器的方法,仅通过NTP服务器应答报文中的Stratum层和Precision本地时钟精度这两个字段,来对NTP服务器进行筛选,与传统NTP服务器选择方法相比,设计相对简单,并且在网元设备硬件允许的计算能力范围内,能最大程度选择最可靠的NTP服务器进行时间同步,同时保证了时间的精度。在设置好NTP服务器后,网元设备自动进行时间同步,无需人工干预;并且本发明提供的NTP服务器选择方案简单实用,易于在网元设备上实现。采用本发明实施例提供的方案时,NTP服务器的个数优选为3-5个,太多会影响网元设备硬件的计算能力,影响效率。
文档编号H04L12/24GK102739446SQ201210214489
公开日2012年10月17日 申请日期2012年6月27日 优先权日2012年6月27日
发明者黄克路 申请人:中兴通讯股份有限公司