发明内容
针对上述的缺陷,本发明的第一目的在于提供一种先进电信计算机体系系统时间同步的实现装置,该装置可以实现机箱内部节点板的时间同步和机箱间的时间同步,提高时间同步精度以及提高系统的可靠性。
本发明的第二目的在于提供一种先进电信计算机体系系统时间同步的实现方法,该方法可以实现机箱内部节点板的时间同步和机箱间的时间同步,提高时间同步精度以及提高系统的可靠性。
为了实现上述第一目的,本发明提供一种先进电信计算机体系系统时间同步的实现装置,包括:
智能平台管理控制器子卡,用于上报节点板告警信息或节点板状态信息;
机箱管理模块,用于根据节点板告警信息或节点板状态信息,同步节点板系统时间。
根据本发明的装置,所述机箱管理模块通过网络时钟协议服务器-客户端方式和/或自定义软件消息接口方式同步节点板系统时间。
根据本发明的装置,所述网络时钟协议服务器-客户端方式包括:
在机箱管理模块正常运行时,所述机箱管理模块作为根节点,通过BASE接口将该机箱管理模块和外部网络时钟协议服务器组成第一局域网,作为外部网络时钟协议的客户端,与外部网络时钟协议服务器同步后,根节点作为第二局域网的网络时钟协议服务器,同步所有的节点板;
在机箱管理模块运行不正常时,按照预先定义的优先级,通过BASE接口通知其中一个节点板作为时间同步的根节点,根节点与外部网络时钟协议服务器组成第一局域网,并且作为外部网络时钟协议客户端,与外部网络时钟协议服务器同步后,又作为第二局域网的网络时钟协议服务器,同步系统中剩余的节点板和机箱管理模块。
根据本发明的装置,所述网络时钟协议服务器-客户端方式进一步包括:
在机箱管理模块正常运行时,当作为根节点的机箱管理模块与外部网络时钟协议服务器通信中断,机箱管理模块对自身时间进行校正,并作为第二局域网的网络时钟协议服务器同步所有的节点板;
在机箱管理模块运行不正常时,当作为根节点的节点板与外部网络时钟协议服务器通信中断,该节点板对自身时间进行校正,并作为第二局域网的网络时钟协议服务器同步系统中剩余的节点板和机箱管理模块。
根据本发明的装置,所述自定义软件消息接口方式包括:
通过智能平台管理总线和BASE接口发送私有消息以同步系统时间。
根据本发明的装置,当网络时钟协议服务器-客户端方式通道中断时,所述机箱管理模块通过自定义软件消息接口方式同步节点板系统时间。
根据本发明的装置,所述智能平台管理控制器子卡进一步包括:
计时校正子模块,用于在网络时钟协议服务器-客户端方式和自定义软件消息接口方式通道中断时对节点板进行校正以及在根节点与外部网络时钟协议服务器通信中断时,对根节点进行校正。
根据本发明的装置,该装置进一步包括:
时钟后插模块,用于接入外部基准时钟和/或向级联机箱输出级联时钟;
时钟子卡,用于根据外部基准时钟生成同步时钟,并将该同步时钟发送至背板时钟总线;并且根据外部基准时钟生成级联时钟,并将该级联时钟发送至时钟后插模块。
为了实现上述第二目的,本发明提供一种先进电信计算机体系系统时间同步的实现方法,包括如下步骤:
A、上报节点板告警信息或节点板状态信息;
B、根据所上报的节点板告警信息或节点板状态信息,同步节点板系统时间。
根据本发明的方法,所述步骤B中通过网络时钟协议服务器-客户端方式和/或自定义软件消息接口方式同步节点板系统时间。
根据本发明的方法,所述步骤B中进一步包括:
步骤B1、根据所上报的节点板告警信息或节点板状态信息,判断网络时钟协议服务器-客户端方式通信通道是否中断,若中断执行步骤B2,否则通过网络时钟协议服务器-客户端方式同步节点板系统时间;
步骤B2、判断自定义软件消息接口方式通信通道是否中断,若中断,则执行步骤B3,否则,通过自定义软件消息接口方式同步节点板系统时间;
步骤B3、对节点板进行校正以同步节点板系统时间。
根据本发明的方法,所述步骤A之前进一步包括:根据接入的外部基准时钟生成同步时钟,并将该同步时钟发送至背板时钟总线,和根据外部基准时钟生成级联时钟。
本发明通过智能平台管理控制器子卡将节点板告警信息或节点板状态信息上报给机箱管理模块,然后机箱管理模块根据所上报的节点板告警信息或节点板状态信息,通过网络时钟协议服务器-客户端方式和/或自定义软件消息接口方式同步节点板系统时间,实现了机箱内部节点板的时间同步和机箱间的时间同步,提高了时间同步精度以及系统的可靠性。并且,本发明可在硬件上增加计时校正子模块,在网络时钟协议服务器-客户端方式和自定义软件消息接口方式通道中断时,根据计时校正子模块对节点板进行硬件校时,保证了ATCA系统在时间同步中断后的时间误差不大于一秒。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的基本思想是:机箱管理模块根据智能平台管理控制器子卡所上报的节点板告警信息或节点板状态信息,通过NTP协议服务器-客户端方式和/或自定义软件消息接口方式同步节点板系统时间,实现了机箱内部节点板的时间同步和机箱间的时间同步。
本发明提供的ATCA系统时间同步的实现装置100如图1所示,该装置100包括:时钟后插模块101、中间层小背板102、时钟子卡103、IPMC(IntelligentPlatform Management Controller,智能平台管理控制器)子卡104以及机箱管理模块105,其中:
时钟后插模块101,用于接入外部基准时钟和/或向级联机箱输出级联时钟。该时钟后插模块101以RTM(Rear Transition Module,后插卡模块)形式位于ATCA机箱的后部。
与其他双星平面情况不同,本发明仅仅需要一块后插卡模块以完成外部基准时钟的接入、阻抗匹配,级联时钟的电平转换、驱动、分配、监测,以及级联时钟电缆输出接口,或者以光纤形式接收、发送时钟基准。
参见图1和图2,该时钟后插模块101与中间层小背板102配套使用,通过第一Zone3插座1完成从电缆插座输入的外部基准时钟接入到各个有可能插时钟子卡103的节点板,根据级联机箱距离和使用环境,对第二Zone3插座2上节点板输出的用于级联机箱同步的级联时钟进行电平转换,输出到后插卡面板上的插座上,或者通过光模块将第二Zone3插座2上节点板输出的用于级联机箱同步的级联时钟转换为光信号,以便通过电缆和/或光纤连接级联机箱。
中间层小背板102,位于Zone3区,可以根据产品具体情况连接所有槽位的Zone3区,或者简化为仅连接两个相邻槽位的Zone3区,用于实现单路外部输入基准时钟在多个ATCA节点板的互连分配,以及线路提取时钟、各个槽位级联时钟的输出互连。
一个槽位使用两个插座如图3a和图3b所示,第一Zone3插座1输入来自时钟后插模块101的基准时钟信号,第二Zone3插座2输入来自前插卡的级联时钟和主备控制信号。所述第一Zone3插座1和第二Zone3插座2均有两排插座参见图3a和图3b。通过印刷电路板线,所有槽位的两个插座信号互连,这样时钟后插模块101就可以插在机箱的任意一个槽位。
时钟子卡103,用于根据中间层小背板102输入的外部基准时钟生成同步时钟,并将该同步时钟发送至背板时钟总线;以及用于根据外部基准时钟生成级联时钟,并将该级联时钟通过中间层小背板102发送至时钟后插模块101。
该时钟子卡103以AMC(advanced mezzanine card,先进夹层卡)方式或者非标准的子卡形式独立位于各个ATCA的节点板上,用来满足时钟同步网的要求,接收、处理外部同步时钟信号。参见图4,其包括时钟基准变换分频监测电路401,备用时钟子卡时钟402、基准选择电路403、相位比较电路404、单片机405、D/A(Digital/Analog Conversion,数字模拟转换)器件406、OCXO(Oven Controlled Crystal Oscillators,恒温晶体振荡器)407、分频电路408、IPMC接口409以及时钟驱动电路410。
具体工作原理如下:时钟基准变换分频监测电路401对外部基准进行转换、分频、质量监测,由单片机405根据时钟基准的优先级和质量情况通知基准选择电路403选择一路时钟,与OCXO407输出的时钟进行相位比较,相位差值通过D/A器件406转换为模拟电压,控制OCXO407时钟的相位与基准时钟一致。此时时钟经过分频电路408再次分频,生成ATCA系统需要的各种频率的同步时钟,如图1中的CLK1A/B、CLK2A/B、CLK3A/B。
IPMC子卡104,独立位于各个ATCA的节点板上,用于监控节点板状态,并通过IPMB总线向机箱管理模块105上报节点板告警信息或节点板状态信息。
具体而言,其用于实现PICMG3.0规定的单板管理功能,测量、监控节点板状态,记录事件日志,并在异常时通过IPMB接口向机箱管理模块105上报告警或者状态信息。
参见图5,该IPMC子卡104包括调试串口501、风扇温度电压监控电路502、I2C(Inter-Integrated Circuit,内部集成电路)接口503、单片机504、EPLD(Electrically Programmable Logic Device,电可编程逻辑器件)505以及存储模块。其中,
调试串口501是对ATCA节点板软硬件调试,通过打印消息,看是否满足实现IPMB的IPMI协议。
风扇温度电压监控电路502提供了一个硬件监视接口,实现对单板电压、温度的监视,风扇转速测量及转速控制。
所述I2C接口503为ATCA规范定义的智能平台管理总线接口,能支持热插拔缓冲及隔离控制功能。
EPLD505提供了ATCA单板前面板指示灯的控制接口,包括离线状态指示灯、热插拔指示灯、告警灯的控制以及前面板扳手开关状态的识别。
存储模块包括FLAH(闪存)506、NVRAM(Non-Volatile Random AccessMemory,非易失性随机访问存储器)507以及RTC(Real Time Clock,实时时钟)模块508,该存储模块具备传感器数据记录和其他RTC等关键数据的非易失性存储功能。
该IPMC子卡104进一步包括:计时校正子模块。
所述计时校正子模块,用于在NTP协议服务器-客户端方式和自定义软件消息接口方式通道中断时对节点板进行硬件校时以及在根节点与外部网络时钟协议服务器通信中断时,对根节点进行硬件校时,以保证时间同步中断后的节点板和根节点系统时间精度。
图6是计时校正子模块的结构示意图,其包括:数字锁相环601、计数器602、命令寄存器603、计数寄存器604、闪存506以及RTC模块508。
所述计数器602、命令寄存器603和计数寄存器604位于EPLD505上。
结合图6描述该计时校正子模块的工作原理,包括如下:
将ATCA背板时钟总线输入的两套高精度时钟:第一背板时钟61和第二背板时钟62分别接入数字锁相环601,当通过数字锁相环601判断出背板时钟61/62故障时,由处理器命令切换计数器602的时钟源,保证计数器602时钟不丢失,如果第一背板时钟61和第二背板时钟62均丢失,则使用数字锁相环601输出的本地精度稍低的时钟。命令寄存器603控制计数器的启动和清零,定时读取计数寄存器604的计数值,并将该计数值与RTC模块508所存储的RTC时间比较,误差超过正负一秒时则修改并保存RTC模块508中的RTC时间。
机箱管理模块105,用于根据IPMC子卡104所上报的节点板告警信息或节点板状态信息,通过NTP服务器-客户端方式和/或自定义软件消息接口方式同步节点板系统时间。
参见图7a,所述机箱管理模块105在功能实现上由上至下包括四层:系统管理器接口71、管理控制层72、事件控制层73、IPMB接口层74。其中,
系统管理器接口71,位于机箱管理模块105与网管中心之间,其包括SSH(Secure Shell,安全外壳)接口、Telnet(远程登录)接口、HPI(主机接口)、SNMP(简单网络管理协议)接口、CLI(命令行界面)接口。
管理控制层72,用于对机箱进行控制管理、以及主备用管理。
事件控制层73,用于记录系统事件日志、实现热插拔(HotSwap)管理、进行节点板功率控制、风扇转速控制和背板IPMB总线监控。
所述IPMB接口层74,与背板IPMB总线即IPMB-A和IPMB-B相连,用于实现IPMI(Intelligent Platform Management Interface,智能平台管理接口)协议,进行IPMB接口切换等。
图7b是机箱管理模块105的硬件电路原理图,其硬件核心为逻辑器件实现I2C接口,其由模块软件实现各种网管接口,与IPMC子卡104进行通信,用于监测、控制机箱中的节点板和其它功能模块,报告系统异常并进行基本的恢复操作。
CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)701,为管理接口,用于实现控制节点板时钟子卡103的主备用状态、驱动LED指示灯和输入背板总线时钟、电子开关控制节点板与背板连接端口的打开/关闭、背板IPMB总线故障检测、管理与恢复。
电源温度检测模块702,用于根据电源监控信号和温度传感器输入信号对电源功率进行分配管理和对机箱进行散热管理。
Ethernet703(以太网),其与100Base-T相连,用于提供BASE接口给机箱管理模块105。通过Ethernet703可以形成外部网络和内部网络,即第一局域网和第二局域网,实现NTP服务器-客户端方式,从而同步节点板系统时间和保证网络安全。
RTC模块704,用于存储同步时间,实现RTC功能。
本发明提供的ATCA系统时间同步的实现方法如图8所示,通过图1所示的装置100来实现,该方法包括:
步骤S801,智能平台管理控制器子卡104向机箱管理模块105上报节点板告警信息或节点板状态信息。
步骤S802,机箱管理模块105根据所上报的节点板告警信息或节点板状态信息,确认节点板负载部分上电成功,开始同步节点板系统时间。
本步骤是通过NTP协议服务器-客户端方式和/或自定义软件消息接口方式同步节点板系统时间。
为了保证网络安全,直接与外部NTP服务器网络相连的为外部网络,用于内部同步时间的网络为内部网络,即第一局域网和第二局域网。保证系统时间同步到同一个时间基准上至关重要,因此任何时刻只能存在一个时间同步的根节点,根节点既作为外部NTP服务器的客户端来被同步,又作为内部NTP的服务器来发起对整个系统的时间同步。
所述NTP协议服务器-客户端方式包括:
在机箱管理模块105正常运行时,所述机箱管理模块105作为根节点,通过BASE接口将该机箱管理模块105和外部网络时钟协议服务器组成第一局域网,作为外部网络时钟协议的客户端,与外部网络时钟协议服务器同步后,根节点作为内部第二局域网的网络时钟协议服务器,来同步所有的节点板;当根节点与外部网络时钟协议服务器通信中断时,根节点采用计时校正子模块对自己进行校正时,并作为第二局域网的网络时钟协议服务器同步所有的节点板;
在机箱管理模块运行不正常时,按照预先定义的优先级,通过BASE接口通知其中一个节点板作为时间同步的根节点,根节点与外部网络时钟协议服务器组成第一局域网,并且作为外部网络时钟协议客户端,与外部网络时钟协议服务器同步后,又作为第二局域网的网络时钟协议服务器,同步系统中剩余的节点板和机箱管理模块;当根节点与外部网络时钟协议服务器通信中断时,根节点采用计时校正子模块对自己进行校正时,并作为第二局域网的网络时钟协议服务器同步系统中剩余的节点板和机箱管理模块。
本发明为了保证网络安全,将直接与外部NTP服务器相连的网络划分为外部网络即第一局域网,将用于内部同步时间的网络划分为内部网络即第二局域网。而任何时刻只能存在一个时间同步的根节点以保证系统时间同步到同一个时间基准上,因此根节点既作为外部NTP服务器的客户端来被同步,又作为内部NTP的服务器来发起对整个系统的时间同步。
所述自定义软件消息接口方式包括:通过IPMB总线和BASE接口发送私有消息以同步系统时间。
具体而言,本步骤包括:
步骤S8021,机箱管理模块105根据所上报的节点板告警信息或节点板状态信息,判断NTP协议服务器-客户端方式通道是否中断,若中断执行步骤S8022,否则通过NTP协议服务器-客户端方式同步节点板系统时间。
步骤S8022,机箱管理模块105判断自定义软件消息接口方式通道是否中断,若中断,则执行步骤S8023,否则通过自定义软件消息接口方式同步节点板系统时间。
步骤S8023,机箱管理模块105对节点板进行校时以同步节点板系统时间。
图9是本发明实施例提供的ATCA系统时间同步的实现方法,结合图2所述的装置进行描述,具体包括如下步骤:
步骤S901,外部基准时钟通过线缆经由电缆插座接入至时钟后插模块101。
本发明中,将来自外部时钟基准或节点板所提取的外部接口线路时钟通称为外部基准时钟。
步骤S902,时钟后插模块101将所接入的外部基准时钟经由中间小背板102分发给时钟子卡103。
本步骤中,主备用的两个时钟子卡103各自随机插入机箱槽位的两个节点板,时钟后插模块101通过中间层小背板102随机连接到某个槽位,中间层小背板102上所有第一Zone3插座1互连,第二Zone3插座2提供级输出级联时钟互连,保证一块时钟后插模块101随机插入任意槽位后能够将基准时钟输入到节点板和将级联时钟输出到时钟后插模块101。节点板和时钟后插模块101的第一Zone3插头与中间层小背板103的第一Zone3插座1连接,节点板和时钟后插模块101的第二Zone3插头与中间层小背板103的第二Zone3插座2连接。
步骤S903,时钟子卡103根据所述外部基准时钟生成同步时钟,并将该同步时钟发送至背板时钟总线CLK-A/B上。
具体而言,基准时钟接入节点板的时钟子卡103后,时钟子卡103对该基准时钟进行基准质量监测,选择一路基准时钟分频、鉴相,控制时钟子卡103上的OCXO407输出与分频后的基准频率、相位一致的同步时钟,然后根据本板的IPMC子卡104和机箱管理模块105协调结果,控制时钟驱动,将同步时钟分发到背板时钟总线CLK-A/B上。时钟子卡103还进一步对基准时钟进行频率变换,生成系统所需要的其他频率时钟,转换为合适的电平,输出到时钟后插模块101,级联到其他机箱的时钟后插模块101。
IPMC子卡104和机箱管理模块105协调过程包括如下:
机箱管理模块105通过IPMB总线与节点板上的IPMC子卡104进行通讯,获取节点板上时钟子卡103在位情况,从而得到时钟总线驱动端的物理槽位号,并上报给网管,网管以图形方式实时显示同步时钟槽位和状态;根据所获取的总线驱动端的物理槽位号,机箱管理模块104查询这两块节点板的健康情况,通过IPMB接口,设置这两块节点板使用同一个时钟基准,同时控制健康情况最好的节点板,令其将处理过的时钟输出到ATCA背板时钟总线,级联时钟输出到时钟后插模块101,而另外一块节点板只对输出基准进行处理,不允许输出到背板时钟总线和时钟后插模块101。
步骤S904,将同步后的时间作为ATCA系统初始时间来同步其他节点板。
具体而言,节点板通过IPMB总线、BASE接口,自定义一个软件消息接口,由机箱管理模块105主动把同步时钟发送到各个节点板;或者在各个节点板负载上电后,在BASE接口形成的第一局域网内,根节点通过NTP服务器-客户端形式完成系统时间同步。
步骤S905,系统初始时间同步后,IPMC子卡104上报节点板告警信息或节点板状态信息。
步骤S906,根据所上报的节点板告警信息或节点板状态信息,判断机箱管理模块105运行是否正常,若正常,进行步骤S907,否则进行步骤S908。
步骤S907,通过BASE接口将该机箱管理模块105和若干节点板设置在第二局域网,该机箱管理模块105为根节点和第一局域网外部NTP协议客户端,并执行步骤S909。
步骤S908,通过BASE接口将包括主用节点的若干节点板设置在第二局域网,按照预先定义的优先级,该主用节点板作为根节点和第一局域网外部NTP协议客户端,并执行步骤S909。
所述步骤S907和步骤S908中的根节点与外部NTP协议服务器组成第一局域网。
步骤S909,判断根节点与外部NTP协议服务器通信是否中断,若是,则执行步骤S911,否则执行步骤S910。
步骤S910,将根节点与外部NTP协议服务器同步,保存至根节点的RTC模块,并执行步骤S912。
步骤S911,启动根节点的RTC时间,并通过计时校正子模块对根节点进行校时以保证根节点的时间精度。
步骤S912,监测根节点与其它节点板BASE接口的连接情况,并判断局域网是否正常,若正常则执行步骤S913,否则执行步骤S914。
步骤S913,将根节点作为第二局域网内NTP服务器,同步根节点与节点板。
本步骤中,可以设置NTP同步定时器以定时同步根节点与节点板的时间。
步骤S914,监测根节点与其它节点板IPMB连接情况,并判断IPMB总线是否连接正常,若正常则执行步骤S915,否则执行步骤S917。
步骤S915,向节点板发送私有消息,该消息携带同步时间。
本步骤可以设置私有消息定时发送器。
步骤S916,节点板将同步时间保存至RTC模块。
步骤S917,节点板启动RTC时间,并通过计时校正子模块对节点板进行校时以同步节点板系统。
本步骤可以设置定时器以定时通知计时校正子模块以对节点板进行校时。
本发明中,可以通过BASE接口将级联机箱与根机箱级联,这样级联机箱作为根机箱的NTP客户端以同步时间。当级联中断时,与本发明实施例类似,级联机箱的机箱管理模块启用计时校正子模块的硬件时钟计数校时功能,以及将级联机箱的机箱管理模块为NTP服务器,同步机箱节点板。由于根机箱输出的级联时钟切换点选择合适,不影响级联机箱的时钟同步情况,级联机箱不需要额外处理,只要根据接入级联时钟的节点板对外部时钟基准的监测情况,独立选择合适的级联过来的基准作为硬件计数校时子模块的时钟即可。
综上可知,本发明通过智能平台管理控制器子卡将节点板告警信息或节点板状态信息上报给机箱管理模块,然后机箱管理模块根据所上报的节点板告警信息或节点板状态信息,通过网络时钟协议服务器-客户端方式和/或自定义软件消息接口方式同步节点板系统时间,实现了机箱内部节点板的时间同步和机箱间的时间同步,提高了时间同步精度以及系统的可靠性。并且,本发明可在硬件上增加计时校正子模块,在网络时钟协议服务器-客户端方式和自定义软件消息接口方式通道中断时,根据计时校正子模块对节点板进行硬件校时,保证了ATCA系统在时间同步中断后的时间误差不大于一秒。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。