发明内容
本发明的实施例提供一种共享RTC的方法、装置和系统,用以解决基于PCIe交换网络的柜机系统进行RTC同步时系统的管理成本过高、资源浪费严重的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种共享RTC的方法,包括:
节点单板通过快速外围组件互连PCIe交换系统上与所述节点单板对接的非透明NT端口,向管理系统发送实时时钟RTC同步请求信息;
在所述管理系统接收到所述RTC同步请求信息,获取本地的RTC信息并通过所述PCIe交换系统向所述节点单板反馈发送后,通过所述NT端口从所述PCIe交换系统获取所述RTC信息。
结合第一方面,在第一种可能的实现方式中,所述节点单板通过PCIe交换系统上与所述节点单板对接的NT端口,向管理系统发送实时时钟RTC同步请求信息包括:
获取所述节点单板自身在对接背板上的节点槽位号;
根据所述节点槽位号,确定与所述节点槽位号对应的NT通道互联网协议IP地址;
将所述NT通道IP地址配置为所述NT端口的IP地址,以所述NT通道IP地址为源地址,通过所述NT端口向所述管理系统发送所述RTC同步请求信息。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述节点槽位号,确定与所述节点槽位号对应的非透明NT通道互联网协议IP地址包括:
根据所述节点槽位号,查询所述节点单板记录的预设地址映射表,确定与所述节点槽位号对应的NT通道IP地址;所述预设地址映射表中记录了一种或多种不同节点槽位号与NT通道IP地址的对应关系。
结合第一方面至第一方面的第二种可能的实现方式中的任一种,在第三种可能的实现方式中,在所述通过所述NT端口从所述PCIe交换系统获取所述RTC信息之后,还包括:
根据所述RTC信息对单板自身时钟进行更新。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,在所述根据所述RTC信息对单板自身时钟进行更新之后,还包括:
以预设更新时间为周期,通过所述NT端口向所述管理系统发送RTC同步请求信息,并在每一次获取到所述管理系统通过所述PCIe交换系统反馈发送的对应的RTC信息后,根据所述RTC信息对单板自身时钟进行更新。
第二方面,提供一种节点单板,包括:
请求单元,用于通过快速外围组件互连PCIe交换系统上与所述节点单板对接的非透明NT端口,向管理系统发送实时时钟RTC同步请求信息;
接收单元,用于在所述管理系统接收到所述RTC同步请求信息,获取本地的RTC信息并通过所述PCIe交换系统向所述节点单板反馈发送后,通过所述NT端口从所述PCIe交换系统获取所述RTC信息。
结合第二方面,在第一种可能的实现方式中,所述请求单元用于:
获取所述节点单板自身在对接背板上的节点槽位号;
根据所述节点槽位号,确定与所述节点槽位号对应的NT通道互联网协议IP地址;
将所述NT通道IP地址配置为所述NT端口的IP地址,以所述NT通道IP地址为源地址,通过所述NT端口向所述管理系统发送所述RTC同步请求信息。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述请求单元还用于:
根据所述节点槽位号,查询所述节点单板记录的预设地址映射表,确定与所述节点槽位号对应的NT通道IP地址;所述预设地址映射表中记录了一种或多种不同节点槽位号与NT通道IP地址的对应关系。
结合第二方面至第二方面的第二种可能的实现方式中的任一种,在第三种可能的实现方式中,还包括:
更新单元,用于在所述接收单元通过所述NT端口从所述PCIe交换系统获取所述RTC信息之后,根据所述RTC信息对单板自身时钟进行更新。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,
所述请求单元还用于:在所述更新单元根据所述RTC信息对单板自身时钟进行更新之后,以预设更新时间为周期,通过所述NT端口向所述管理系统发送RTC同步请求信息;
所述接收单元还用于:在所述请求单元以预设更新时间为周期,通过所述NT端口向所述管理系统发送RTC同步请求信息之后,获取所述管理系统每一次通过所述PCIe交换系统反馈发送的对应的RTC信息;
所述更新单元还用于:在所述接收单元每一次获取到所述管理系统通过所述PCIe交换系统反馈发送的对应的RTC信息后,根据所述RTC信息对单板自身时钟进行更新。
第三方面,提供一种共享RTC的系统,
所述系统包括:一个或多个如第二方面至第二方面的第四种可能的实现方式中任一所述的节点单板以及一个快速外围组件互连PCIe交换系统、一个管理系统;
各所述节点单板用于通过所述PCIe交换系统上与所述节点单板对接的非透明NT端口,向管理系统发送实时时钟RTC同步请求信息,并在所述管理系统接收到所述RTC同步请求信息,获取本地的RTC信息并通过所述PCIe交换系统向所述节点单板反馈发送后,通过所述NT端口从所述PCIe交换系统获取所述RTC信息;
所述PCIe交换系统用于提供与各所述节点单板对接的相应NT端口以承载各所述节点单板与所述管理系统之间的信息交互;
所述管理系统用于接收各所述节点单板通过所述PCIe交换系统上相应的所述NT端口发送的RTC同步请求信息,并在获取本地的RTC信息后,通过所述PCIe交换系统向相应的所述节点单板反馈发送所述RTC信息。
可见,本发明实施例提供一种共享RTC的方法、装置和系统,节点单板通过PCIe交换系统上与该节点单板对接的NT端口,向管理系统发送RTC同步请求信息,进而在管理系统反馈发送其本地的RTC信息后获取该RTC信息。这样,通过将PCIe交换网络作为RTC信息同步的物理通道,避免了现有技术中依赖以太网络信道需要引入以太网交换设备或单元,导致柜机系统的管理成本提高,造成不必要的资源浪费。因此,本发明相对于现有技术,能够直接通过经由PCIe交换系统上NT端口的物理通道模拟网络访问的方式实现节点单板与管理系统之间的信息交流,完成RTC同步,降低了柜机系统的管理成本,且避免了不必要的资源浪费,提高了柜机系统的整体性能。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种柜机系统的连接示意图,用于实施本发明实施例提供的一种共享RTC的方法。参见图1,该柜机系统由至少一个节点(Node)单板001、一个PCIe交换系统002、一个管理系统003以及一个对接背板004组成。
其中,节点单板001为交换网络中的一个计算节点,通过固定在对接背板004上的相应预设槽位上,与对接背板004建立连接,实现在机柜内的安装,且基于对接背板004上各槽位与PCIe交换系统002上相应端口之间的连接,节点单板001通过对接背板004与PCIe交换系统002存在通信连接;PCIe交换系统002可以为一个PCIe交换板,还与管理系统003存在通信连接,用于提供交换网络上各资源的业务通信通道;管理系统003可以为一个管理系统板。
图2为本发明实施例提供的一种柜机系统的结构示意图,用于实施本发明实施例提供的一种共享RTC的方法。参见图2,节点单板001包括:BMC(BoardbaseManagementController,基板管理控制器)0011、PCH(PlatformControllerHub,桥片控制器)0012、CPU(CentralProcessingUnit,中央处理器)0013;PCIe交换系统002包括:PCIeSW(PCIe-switch,基于PCIe网络的交换芯片)0021;管理系统003包括:CPU(CentralProcessingUnit,中央处理器)0033。
其中,BMC0011为节点单板001上的管理模块,能够通过板上的SMLINK总线与PCH0012进行数据通信,同时能够根据与对接背板004之间的连接确定节点单板001在对接背板004上的节点槽位号,并通过板上的LPC(LowPinCount,低针计数)总线向PCH0012发送节点槽位号。
PCH0012为节点单板001上业务系统的IO控制器,能够通过DMI(DirectMediaInterfaceI,直接媒体接口)与CPU0013进行数据通信,同时PCH0012上设置有为该节点单板001提供时钟信息的RTC单元。
CPU0013通过对接背板004与PCIe交换系统002中的PCIeSW0021上的NT(Non-Transparent,非透明)端口对接。
PCIeSW0021为该柜机系统中的交换芯片,上行接口与管理系统003中的CPU0033对接,下行接口都为NT接口属性。
CPU0033上设置有RTC单元,作为管理系统003的本地RTC时钟源,以提供该柜机系统的标准时钟。
本发明的实施例提供一种共享RTC的方法,该方法可以应用于图1所示柜机系统中的节点单板,如图3所示,该方法包括:
S101、节点单板通过PCIe交换系统上与该节点单板对接的NT端口,向管理系统发送RTC同步请求信息。
在一种实现方式下,上述节点单板通过PCIe交换系统上与该节点单板对接的NT端口,向管理系统发送RTC同步请求信息的步骤可以具体包括:
获取节点单板自身在对接背板上的节点槽位号;
根据节点槽位号,确定与节点槽位号对应的NT通道IP(InternetProtocol,互联网协议)地址;
将NT通道IP地址配置为NT端口的IP地址,以NT通道IP地址为源地址,通过NT端口向管理系统发送RTC同步请求信息。
在另一种实现方式下,进一步的,上述根据节点槽位号,确定与节点槽位号对应的NT通道IP地址的步骤可以具体包括:根据节点槽位号,查询节点单板记录的预设地址映射表,确定与节点槽位号对应的NT通道IP地址。
其中,预设地址映射表中记录了一种或多种不同节点槽位号与NT通道IP地址的对应关系。
S102、在管理系统接收到RTC同步请求信息,获取本地的RTC信息并通过PCIe交换系统向节点单板反馈发送后,通过NT端口从PCIe交换系统获取RTC信息。
在一种实现方式下,在上述通过NT端口从PCIe交换系统获取RTC信息之后,节点单板还可以根据该RTC信息对单板自身时钟进行更新。
在另一种实现方式下,进一步的,节点单板在根据该RTC信息对单板自身时钟进行更新之后,还可以以预设更新时间为周期,通过NT端口向管理系统发送RTC同步请求信息,并在每一次获取到管理系统通过PCIe交换系统反馈发送的对应的RTC信息后,根据RTC信息对单板自身时钟进行更新。
本发明实施例提供一种共享RTC的方法,节点单板通过PCIe交换系统上与该节点单板对接的NT端口,向管理系统发送RTC同步请求信息,进而在管理系统反馈发送其本地的RTC信息后获取该RTC信息。这样,通过将PCIe交换网络作为RTC信息同步的物理通道,无需在基于PCIe交换网络的柜机系统中引入以太网交换设备或单元,降低了柜机系统的管理成本,且避免了不必要的资源浪费,提高了柜机系统的整体性能。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案,下面通过具体的实施例,对本发明实施例提供的另一种共享RTC的方法进行详细说明,如图4所示,该方法包括:
S201、节点单板插入机柜并上电启动。
具体的,在需要新的节点单板添加到柜机系统中时,将该节点单板插入柜机中对接背板上的预设槽位,插入完成后节点单板接通,板上的BMC自动上电并完成启动。
其中,该柜机系统中包含已经正确连接且正常上电启动完成的管理系统板与PCIe交换板;上述对接背板上的预设槽位可以由系统缺省设定安排,也可以由用户选择,根据实际应用场景或需求的不同可以存在一定的差异,此处不做限定。
需要注意的,节点单板在插入机柜与对接背板连接后,即建立了节点单板与PCIe交换板上PCIeSW对应NT端口的连接。
S202、节点单板获取自身的节点槽位号。
具体的,节点单板插入柜机中对接背板上的预设槽位,板上的BMC在上电启动完成后,通过与对接背板间的连接获取节点单板自身所在位置的节点槽位号。
示例性的,BMC通过与对接背板间的连接获取该节点单板的槽位号信号Numble_X(1≤X≤N,X为整数,N为对接背板上与节点单板对应的槽位总数),进而确定该节点单板的节点槽位号。
S203、节点单板上的业务系统上电启动。
具体的,节点单板上的BMC在获取到节点单板的节点槽位号后,启动业务系统模块的上电流程。
其中,业务系统包括节点单板上的PCH及CPU。
进一步的,节点单板上的业务系统在上电启动进入OS(OperationSystem,操作系统)后,加载PCIeNT虚拟网络设备驱动,并在加载完成后告知BMC。
其中,上述PCIeNT虚拟网络设备驱动为包含PCIe交换板有关设备信息的代码,可以为硬件厂商根据节点单板上业务系统提供的配置文件,通过加载该设备驱动以实现业务系统OS与PCIe交换板之间的通信。
S204、节点单板使用节点槽位号对应的NT通道IP地址进行配置。
具体的,节点单板上的BMC在业务系统加载PCIeNT虚拟网络设备驱动完成后,根据节点槽位号确定与该槽位对应的NT端口的NT通道IP地址,并将确定的NT通道IP地址发送给板上的业务系统,以便OS根据该NT通道IP地址对相应NT端口进行配置。
示例性的,BMC根据获取的上述节点槽位号,查询预设地址映射表,确定与该节点槽位号对应的NT通道IP地址。其中,该预设地址映射表如下表1所示,可以为设置在BMC内部寄存器中,用于记录一种或多种不同节点槽位号与NT通道IP地址之间对应关系的数据集合。
表1
节点槽位号 |
NT通道IP地址 |
Numble_1 |
IP(1) |
Numble_2 |
IP(2) |
… |
… |
Numble_X |
IP(X) |
值得一提的,上述预设地址映射表中记录的对应关系可以为系统缺省设定,也可以为外部输入设定,还可以为按照预设排列规则生成的,此处不做限定。
进一步的,BMC在确定了节点槽位号对应的NT通道IP地址之后,通过LPC总线将对应的NT通道IP地址发送给节点单板上的PCH;节点单板上业务系统的OS在获取该NT通道IP地址后,通过已加载的PCIeNT虚拟网络设备驱动完成NT通道IP地址的配置,从而将PCIe交换板上的对应NT端口虚拟为一个网络设备的形态,如节点单板侧host(主机)的网卡设备,以实现节点单板侧与管理系统侧之间的地址空间映射,达到节点单板侧host与管理空间侧host之间通过该NT端口上物理通道进行通信的目的。
S205、节点单板通过PCIe交换板向管理板发送RTC同步请求信息。
具体的,节点单板上业务系统的OS在NT通道IP地址的配置完成,将PCIe交换板上的对应NT端口虚拟为一个网络设备的形态后,通过PCIe交换板,向管理板发送RTC同步请求信息。
示例性的,在PCIe交换板上的对应NT端口虚拟为节点单板侧host的网卡设备后,NT端口上的物理通道可通过普通网络访问的方式实现节点单板侧host与管理空间侧host之间的信息交流。节点单板通过PCIe交换板对应NT端口上的物理通道(包括节点单板与PCIe交换板之间的连接,以及PCIe交换板与管理板之间的连接),以配置的NT通道IP地址为源地址,以网络包的方式向管理板上的CPU发送RTC同步请求信息。
S206、管理板通过PCIe交换板向节点单板回复本地的RTC信息。
具体的,管理板在接收到来自节点单板的RTC同步请求信息之后,获取本地的RTC信息,并通过PCIe交换板向节点单板回复该RTC信息。
示例性的,管理板上的CPU在接收到节点单板通过PCIe交换板对应NT端口上的物理通道发送的RTC同步请求信息后,查询内部作为本地RTC时钟源的RTC单元,获取本地RTC信息,进而将该RTC信息通过PCIe交换板对应NT端口上的物理通道反馈发送给节点单板,以便节点单板上的CPU接收获取该RTC信息。
S207、节点单板根据管理板回复的RTC信息进行时钟同步。
具体的,节点单板在管理板反馈发送其本地的RTC信息后,接收该RTC信息,修正节点单板上业务系统时间。
示例性的,节点单板上的CPU在接收到管理板通过PCIe交换板对应NT端口上的物理通道反馈发送的RTC信息后,根据该RTC信息修改节点单板上业务系统时间,同时将该RTC信息通过板上DMI总线发送给PCH,同步写入PCH上的RTC单元。
进一步的,节点单板上的BMC通过板上的SMLINK总线,从PCH获取该RTC信息进行同步,以保证与管理板、节点单板的业务系统时钟能够同步。
值得一提的,节点单板可以以预设更新时间为周期进行RTC同步,即在上述节点单板根据管理板回复的RTC信息进行时钟同步之后,间隔预设更新时间,重新执行步骤S205至步骤S207实现周期性的RTC同步,以保证节点单板上时钟同步的及时性与准确性。其中,预设更新时间为设定进行的同步操作间隔时间,可以为系统缺省设定,也可以为用户外部输入给定,根据应用场景或实际需求的不同可以存在差异,此处不做限定。
在基于大型PCIe交换网络的柜机系统内,若存在多个不同的节点单板,可对各节点单板分别执行上述步骤S201至步骤S207的操作进行RTC同步,以保证整个系统RTC的统一管理。使得任一个节点单板在发生故障时,记录的日志信息等具有较高的准确性,有助于用户进行后续故障定位及分析。
本发明实施例提供一种共享RTC的方法,节点单板首先将根据节点槽位号确定的NT通道IP地址配置给PCIe交换系统上的对应NT端口,进而通过该NT端口向管理系统发送RTC同步请求信息,最后在管理系统反馈发送其本地的RTC信息后获取该RTC信息。这样,通过将PCIe交换网络作为RTC信息同步的物理通道,避免了现有技术中依赖以太网络信道需要引入以太网交换设备或单元,导致柜机系统的管理成本提高,造成不必要的资源浪费。因此,本发明相对于现有技术,能够直接通过经由PCIe交换系统上NT端口的物理通道模拟网络访问的方式实现节点单板与管理系统之间的信息交流,完成RTC同步,降低了柜机系统的管理成本,且避免了不必要的资源浪费,提高了柜机系统的整体性能。
本发明实施例提供一种节点单板01,该节点单板01用于实施本发明实施例所提供的一种共享RTC的方法,可以为图1所示柜机系统中的节点单板,如图5所示,该节点单板01包括:
请求单元011,用于通过PCIe交换系统上与该节点单板对接的NT端口,向管理系统发送RTC同步请求信息;
接收单元012,用于在管理系统接收到RTC同步请求信息,获取本地的RTC信息并通过PCIe交换系统向节点单板反馈发送后,通过NT端口从PCIe交换系统获取RTC信息。
需说明的是,图中其中虚线连接线表示单元之间可以具备连接关系,也可以不具备直接的连接关系,比如请求单元011和接收单元012之间可以不直接进行交互,请求单元011可以在发送RTC同步请求信息之后通知接收单元012,也可以没有通知,由设备进行统一调控。
可选的,请求单元011可以具体用于:
获取节点单板自身在对接背板上的节点槽位号;
根据节点槽位号,确定与节点槽位号对应的NT通道互联网协议IP地址;
将NT通道IP地址配置为NT端口的IP地址,以NT通道IP地址为源地址,通过NT端口向管理系统发送RTC同步请求信息。
进一步,可选的,请求单元011还可以具体用于:
根据节点槽位号,查询节点单板记录的预设地址映射表,确定与节点槽位号对应的NT通道IP地址。
其中,预设地址映射表中记录了一种或多种不同节点槽位号与NT通道IP地址的对应关系。
可选的,如图6所示,该节点单板01还可以包括:
更新单元013,用于在接收单元012通过NT端口从PCIe交换系统获取RTC信息之后,根据该RTC信息对单板自身时钟进行更新。
进一步,可选的,请求单元011还可以用于:在更新单元013根据RTC信息对单板自身时钟进行更新之后,以预设更新时间为周期,通过NT端口向管理系统发送RTC同步请求信息;
接收单元012还可以用于:在请求单元011以预设更新时间为周期,通过NT端口向管理系统发送RTC同步请求信息之后,获取管理系统每一次通过PCIe交换系统反馈发送的对应的RTC信息;
更新单元013还可以用于:在接收单元012每一次获取到管理系统通过PCIe交换系统反馈发送的对应的RTC信息后,根据RTC信息对单板自身时钟进行更新。
本发明实施例提供一种节点单板,通过PCIe交换系统上与该节点单板对接的NT端口,向管理系统发送RTC同步请求信息,进而在管理系统反馈发送其本地的RTC信息后获取该RTC信息。这样,通过将PCIe交换网络作为RTC信息同步的物理通道,无需在基于PCIe交换网络的柜机系统中引入以太网交换设备或单元,降低了柜机系统的管理成本,且避免了不必要的资源浪费,提高了柜机系统的整体性能。
本发明实施例提供一种共享RTC的系统02,该系统02用于实施本发明实施例所提供的一种共享RTC的方法,如图7所示,该系统02包括:
一个或多个如前述实施例所提供的节点单板021以及一个PCIe交换系统022、一个管理系统023。
其中,各节点单板021用于通过PCIe交换系统022上与该节点单板021对接的NT端口,向管理系统023发送RTC同步请求信息,并在管理系统023接收到RTC同步请求信息,获取本地的RTC信息并通过PCIe交换系统022向节点单板021反馈发送后,通过NT端口从PCIe交换系统022获取RTC信息;
PCIe交换系统022用于提供与各节点单板021对接的相应NT端口以承载各节点单板021与管理系统023之间的信息交互;
管理系统023用于接收各节点单板021通过PCIe交换系统022上相应的NT端口发送的RTC同步请求信息,并在获取本地的RTC信息后,通过PCIe交换系统022向相应的节点单板021反馈发送RTC信息。
基于该系统02实施本发明实施例所提供的一种共享RTC的方法,以实现系统内RTC共享的具体步骤,可参见前述实施例中步骤S101至S102或步骤S201至S207,此处不再赘述。
本发明实施例提供一种共享RTC的系统,首先,节点单板通过PCIe交换系统上与该节点单板对接的NT端口,向管理系统发送RTC同步请求信息;进而,管理系统在接收到该RTC同步请求信息,反馈发送其本地的RTC信息,最后,由节点单板通过该NT端口接收获取该RTC信息。这样,通过将PCIe交换网络作为RTC信息同步的物理通道,无需在基于PCIe交换网络的柜机系统中引入以太网交换设备或单元,降低了柜机系统的管理成本,且避免了不必要的资源浪费,提高了柜机系统的整体性能。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
另外,在本发明各个实施例中的设备和系统中,各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:U盘、移动硬盘、ROM(ReadOnlyMemory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。