集群路由器板卡访问方法、装置及集群路由器与流程

文档序号:15624838发布日期:2018-10-09 22:43阅读:355来源:国知局

本发明涉及通信技术领域,尤其涉及一种集群路由器板卡访问方法、装置及集群路由器。



背景技术:

在当前的集群路由器中,业务都是以主(m)和备(s)的方式存在。其中,业务主执行业务功能,而业务备主要是在主宕机时执行备转主接替原主的工作,保证业务持续性。业务主在运行过程中,需要查询或修改一些机框相关信息(如gmac等),而这些信息业界一般是存在机框背板上。为了保证对数据操作的安全性,对访问背板的板卡物理属性进行了限制,即只有硬件主的板卡才能访问。所以目前业务主默认分配到硬件主的板卡上,而业务备分配到硬件备的板卡上。这样就造成了业务的主备和板卡的硬件主备强绑定的结果。而且,在集群系统里面,业务种类较多,而板卡资源有限,如果按照上述强绑定的策略,则就会加重系统中某些板卡的负荷,降低系统的稳定性和可靠性。

针对上述问题,现有技术主要是由硬件逻辑改进工艺。第一种技术是:硬件逻辑做硬件主备互斥,即硬件主或硬件备都能访问,但在同一时刻只能是硬件主或硬件备访问。第二种技术是:将机框背板上的内容移到板卡上,但发生业务主修改信息时,需要同步到其他板卡并更新对应板卡的信息,即要保证所有板卡上信息的一致性。

不论是上述的第一种技术或者第二种技术都需要硬件逻辑进行升级改版。这样就会出现一个问题是:对于已经在使用的板卡或设备就不能进行有效的改进了。这样就会造成设备资源的浪费,并在一定程度上增加了企业运营的成本。而且,对于第二种技术,将机框相关的信息放到每个板卡上,涉及到板卡存储资源占用以及数据同步的维护,这无形就增加了每个板卡的负荷。

因此,有必要提出一种集群路由器板卡访问方法、装置及集群路由器,避免上述情况的发生。



技术实现要素:

本发明的主要目的在于提出一种在线监测方法、装置及系统,能够在线监测单板的运行情况,便于分析通信异常的原因,增强了单板的可维护性,且整个系统的硬件设计简单、维护成本低。

为实现上述目的,本发明提供一种集群路由器板卡访问方法,集群路由器包括第一板卡和第二板卡,其中,所述第一板卡上插有硬件主,所述第二板卡上插有硬件备,所述方法包括:接收主业务进程发送的访问背板信息请求,其中,所述访问背板信息请求用于所述第二板卡当所述主业务进程分配至所述硬件备时发送给所述第一板卡的背板守护线程;接收所述第一板卡的背板守护线程访问背板信息的访问结果;将所述访问结果反馈至所述主业务进程。

可选地,所述访问背板信息请求还用于所述第一板卡当所述主业务进程分配至所述硬件主时发送给所述第一板卡的背板守护线程。

可选地,在所述接收主业务进程发送的访问背板信息请求之前,所述方法还包括:启动版本;在所述版本启动的初始阶段,设置所述第一板卡的背板守护线程;动态竞争选举主业务;根据选举结果,创建对应的所述主业务进程。

可选地,在接收所述第一板卡的背板守护线程访问背板信息的访问结果之前,所述方法还包括:在距离发送所述请求的时间间隔达到预设的时间阈值的情况下,使所述第一板卡或者所述第二板卡重新将所述请求发送给所述第一板卡的背板守护线程。

可选地,当所述访问背板信息请求为读取请求时,所述接收所述第一板卡的背板守护线程访问背板信息的访问结果,包括:接收所述第一板卡的背板守护线程读取本地缓存的数据。

可选地,当所述访问背板信息请求为写入请求时,所述接收所述第一板卡的背板守护线程访问背板信息的访问结果,包括:判断所述第一板卡的背板守护线程写入请求的数据与本地缓存的数据是否相一致,若否,则对所述背板信息进行更新。

此外,为实现上述目的,本发明还提供一种集群路由器板卡访问装置,集群路由器包括第一板卡和第二板卡,其中,所述第一板卡上插有硬件主,所述第二板卡上插有硬件备,所述装置包括:第一接收模块,用于接收主业务进程发送的访问背板信息请求,其中,所述访问背板信息请求用于所述第二板卡当所述主业务进程分配至所述硬件备时发送给所述第一板卡的背板守护线程;第二接收模块,用于接收所述第一板卡的背板守护线程访问背板信息的访问结果;反馈模块,用于将所述访问结果反馈至所述主业务进程。

可选地,所述访问背板信息请求还用于所述第一板卡当所述主业务进程分配至所述硬件主时发送给所述第一板卡的背板守护线程。

可选地,所述装置还包括:启动模块,用于启动版本;设置模块,用于在所述版本启动的初始阶段,设置所述第一板卡的背板守护线程;选举模块,用于动态竞争选举主业务;创建模块,用于根据选举结果,创建对应的所述主业务进程。

可选地,所述装置还包括:判断模块,用于判断距离发送所述请求的时间间隔是否达到预设的时间阈值,若是,则触发发送模块;所述发送模块,用于使所述第一板卡或者所述第二板卡重新将所述请求发送给所述第一板卡的背板守护线程。

可选地,当所述访问背板信息请求为读取请求时,所述第二接收模块,具体用于接收所述第一板卡的背板守护线程读取本地缓存的数据。

可选地,当所述访问背板信息请求为写入请求时,所述判断模块,还用于判断所述第一板卡的背板守护线程写入请求的数据与本地缓存的数据是否相一致,若否,则对所述背板信息进行更新。

此外,为实现上述目的,本发明还提供一种集群路由器,包括第一板卡和第二板卡,其中,所述第一板卡上插有硬件主,所述第二板卡上插有硬件备,所述第二板卡,用于当主业务进程分配至硬件备时,将所述主业务进程发送的访问背板信息请求发送给所述第一板卡的背板守护线程;所述第一板卡,用于触发所述背板守护线程访问背板信息,并将访问结果反馈至所述主业务进程。

可选地,所述第一板卡,还用于当所述主业务进程分配至所述硬件主时,将所述请求发送给所述第一板卡的背板守护线程。

可选地,当所述请求为读取通知消息时,所述第一板卡,还用于触发所述背板守护线程读取本地缓存的数据。

可选地,当所诉请求为写入请求时,所述第一板卡,还用于触发所述背板守护线程判断所述写入请求的数据与本地缓存的数据是否相一致,若否,则对所述背板信息进行更新。

本发明提出的集群路由器板卡访问方法、装置及集群路由器,通过接收主业务进程发送的访问背板信息请求,其中,所述访问背板信息请求用于所述第二板卡当所述主业务进程分配至所述硬件备时发送给所述第一板卡的背板守护线程,接收第一板卡的背板守护线程访问背板信息的访问结果,并将访问结果反馈至主业务进程,能够实现主业务进程可以分配到任何板卡上,从而实现业务和板卡的分离,这样在节约成本的基础上,提高了集群路由器的稳定和可靠性。

附图说明

图1为本发明较佳实施例提供的及其路由器系统的框架示意图;

图2为本发明第一实施例提供的集群路由器板卡访问方法的流程示意图;

图3为第一实施例中示例一的流程示意图;

图4为第一实施例中示例二的流程示意图;

图5为第一实施例中示例三的流程示意图;

图6为第一实施例中示例四的流程示意图;

图7为本发明第二实施例提供的集群路由器板卡访问方法的流程示意图;

图8为本发明第三实施例提供的集群路由器板卡访问方法的流程示意图;

图9为本发明第四实施例提供的集群路由器板卡访问装置的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明提出一种集群路由器,该系统包括路由器集群系统中心框(ccc)和路由器集群系统线卡框(clc)。路由器集群系统中心框(ccc)和路由器集群系统线卡框(clc)上都设有对应的至少一个机框和至少一个板卡。各个板卡通过插针和背板针孔相连,连接了各个板卡之间以及和背板之间的控制面通信。通过将各个框用光模块和光纤级联起来,实现了各个框之间的控制面通信。

请参照图1,为本发明第一实施例提供的集群路由器。该系统为“2+2”集群路由器,包括4个机框,分别是通过光模块和光纤级联而成的2个ccc和2个clc。每个ccc和clc分别包括板卡1、板卡2及背板,各个板卡通过插针和背板针孔相连,连接了各个板卡之间以及和背板之间的控制面通信。在其他实施例中,集群路由器还可以是“1+2”系统、“2+4”系统等,本发明在此不作具体限制。

以其中一个机框为例,机框包括第一板卡和第二板卡,其中,第一板卡上插有硬件主,第二板卡上插有硬件备。

第一板卡,用于当主业务进程分配至所述硬件主时,将所述请求发送给所述第一板卡的背板守护线程。

第二板卡,用于当主业务进程分配至硬件备时,将主业务进程发送的访问背板信息请求发送给所述第一板卡的背板守护线程。

第一板卡,还用于触发所述背板守护线程访问背板信息,并将访问结果反馈至所述主业务进程。

进一步地,当所述请求为读取通知消息时,所述第一板卡,还用于触发所述背板守护线程读取本地缓存的数据。

进一步地,当所诉请求为写入请求时,所述第一板卡,还用于触发所述背板守护线程判断所述写入请求的数据与本地缓存的数据是否相一致,若否,则对所述背板信息进行更新。

基于上述集群路由器,提出以下实施例。

请参照图2,本发明第一实施例的集群路由器板卡访问方法,在本实施例中,机框包括第一板卡和第二板卡,其中,第一板卡上插有硬件主,第二板卡上插有硬件备。该方法包括如下步骤:

步骤201,接收主业务进程发送的访问背板信息请求。

步骤202,判断所述主业务进程分配至所述硬件主或者所述硬件备,若分配至硬件主,则进入步骤203,若分配至硬件备,则进入步骤204。

进一步地,如果判断既没有分配至硬件主,也没有分配至硬件备,则视为异常,并重启单板。

步骤203,使第一板卡将所述请求发送给所述第一板卡的背板守护线程。

具体地,如果主业务分配到硬件主上,则主业务上的进程通过特定接口发消息通知本板的背板守护线程。

步骤204,使第二板卡将所述请求发送给所述第一板卡的背板守护线程。

具体地,如果主业务分配到硬件备上,则主业务上的进程通过特定接口发消息通知对板的背板守护线程。

步骤205,接收第一板卡的背板守护线程访问背板信息的访问结果。

步骤206,将访问结果反馈至所述主业务进程。

具体地,将接收到的第一板卡的背板守护线程的访问结果返回至主业务进程。

进一步地,在主业务进程收到背板守护线程返回的背板访问结果之后,主业务进程还可以继续其他业务流程。

在本实施例中,如果主业务在硬件主上,消息交互不涉及跨中央处理器(centralprocessingunit,cpu),所以可以保证消息的可靠性。而如果主业务在硬件备上,消息交互就是跨cpu,通过可靠的消息交互机制来保证消息的可靠性。

在本实施例中,将背板信息采用本地缓存的方式存储在本地cpu中,以尽量减少对背板信息的访问。

示例性地,请参照图3,若访问背板信息请求为读取请求,且主业务进程分配至硬件主,则步骤203、205包括:

步骤310,使第一板卡向所述第一板卡的背板守护线程发送读取通知消息。

具体地,第一板卡(即:硬件主板卡)的业务进程如果有读取请求,此时硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,则直接发送读取消息通知本板的背板守护线程。

步骤320,接收第一板卡的背板守护线程读取本地缓存的数据。

具体地,接收本板背板守护线程读取的本地缓存的数据。相应地,在后续的步骤(步骤206)中,将读取的数据应答给主业务进程。

示例性地,请参照图4,若访问背板信息请求为读取请求,且主业务进程分配至硬件备,则步骤204、205包括:

步骤410,使第二板卡向所述第一板卡的背板守护线程发送读取通知消息。

具体地,第二板卡(即:硬件备板卡)的业务进程如果有读取请求,由于硬件备板卡上的背板守护线程采用状态机驱动处于睡眠(sleep)状态,所以需要发消息通知第一板卡(即:硬件主板卡)的背板守护线程。

步骤420,接收第一板卡的背板守护线程读取本地缓存的数据。

具体地,硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,它直接接收读取的本地缓存的数据。相应地,在后续的步骤(步骤206)中,将读取的数据应答给主业务进程。

示例性地,请参照图5,若访问背板信息请求为写入请求,且主业务进程分配至硬件主,则步骤203、205包括:

步骤510,使第一板卡向所述第一板卡的背板守护线程发送写入通知消息。

具体地,第一板卡(即:硬件主板卡)的业务进程如果有写入请求,此时硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,则直接发消息通知本板的背板守护线程。

步骤520,判断第一板卡的背板守护线程写入请求的数据与本地缓存的数据是否相一致,若否,则进入步骤530,若是,则进入步骤206。

具体地,将请求写入数据和本地缓存的数据进行对比,如果不一致,则进入步骤530,若否,则进入步骤206,也就是将写入数据直接应答给主业务进程。

步骤530,对所述背板信息进行更新。

具体地,如果请求写入数据与本地缓存的数据不一致,则更新背板信息,在后续的步骤(步骤206)中,将更新后的数据应答给主业务进程。

示例性地,请参照图6,若访问背板信息请求为写入请求,且主业务进程分配至硬件备,则步骤204、205包括:

步骤610,使第二板卡向所述第一板卡的背板守护线程发送写入通知消息。

具体地,第二板卡(即:硬件备板卡)的业务进程如果有写入请求,由于硬件备板卡上的背板守护线程采用状态机驱动处于睡眠(sleep)状态,所以需要发消息通知第一板卡(即:硬件主板卡)的背板守护线程。

步骤620,判断第一板卡的背板守护线程写入请求的数据与本地缓存的数据是否相一致,若否,则进入步骤630,若是,则进入步骤206。

具体地,硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,它将请求写入数据和本地缓存的数据进行对比,如果不一致,则进入步骤630,若否,则进入步骤206,也就是将写入数据直接应答给主业务进程。

步骤630,对所述背板信息进行更新。

具体地,如果请求写入数据与本地缓存的数据不一致,则更新背板信息,在后续的步骤(步骤206)中,将更新后的数据应答给主业务进程。

本实施例中的集群路由器板卡访问方法,通过接收主业务进程发送的访问背板信息请求,当主业务进程分配至硬件主或者硬件备时,使第一板卡或者第二板卡将所述请求发送给第一板卡的背板守护线程,接收第一板卡的背板守护线程访问背板信息的访问结果,并将访问结果反馈至主业务进程,能够实现主业务进程可以分配到任何板卡上,从而实现业务和板卡的分离,这样在节约成本的基础上,提高了集群路由器的稳定和可靠性。

请参照图7,本发明第二实施例进一步提供一种集群路由器板卡访问方法。在第二实施例中,所述集群路由器板卡访问方法是在第一实施例的基础上所作出的进一步改进,区别仅在于,在第一实施例中的步骤201之前,还包括如下步骤:

步骤710,启动版本。

具体地,在搭建好路由器集群系统后,开始启动版本。

步骤720,在版本启动的初始阶段,设置第一板卡的背板守护线程。

具体地,在启动初始化阶段,对第一板卡设置背板守护线程,以维护背板信息。

步骤730,动态竞争选举主业务。

具体地,根据预设的选举机制,对软件业务主备进行动态竞争选举,从而选举不与板卡的硬件主备进行强行绑定。

步骤740,根据选举结果,创建对应的主业务进程。

本实施例的集群路由器板卡访问方法,通过对每个主板卡设置完成背板守护线程,对第一板卡进行主业务的动态竞争选举,并根据选举结果,创建对应的主业务进程,能够将业务的主备与板卡硬件的主备进行解绑分离,实现了业务的部署和板卡无关,业务的主备可以混合部署,而且可以有效利用现有设备资源,降低企业运营的成本。

请参照图8,本发明第三实施例进一步提供一种集群路由器板卡访问方法。在第三实施例中,所述集群路由器板卡访问方法是在第一实施例或者第二实施例的基础上所作出的进一步改进,区别仅在于,在第一板卡的背板守护线程访问背板信息之前,还包括如下步骤:

步骤810,判断距离发送所述请求的时间间隔是否达到预设的时间阈值。若否,则进入步骤820,若是,则进入步骤830。

步骤820,使第一板卡或者第二板卡重新将所述请求发送给所述第一板卡的背板守护线程;

步骤830,继续等待。

本实施例的集群路由器板卡访问方法,采用同步消息接口,通过设置超时机制,保证了跨cpu消息的可靠性。

请参照图9,本发明第四实施例提供一种集群路由器板卡访问装置,所述装置包括:

启动模块910,用于启动版本。

具体地,在搭建好路由器集群系统后,启动模块910开始启动版本。

设置模块920,用于在版本启动的初始阶段,设置第一板卡的背板守护线程。

具体地,在启动初始化阶段,设置模块920对第一板卡设置背板守护线程,以维护背板信息。

选举模块930,用于动态竞争选举主业务。

具体地,根据预设的选举机制,选举模块930对软件业务主备进行动态竞争选举,从而选举不与板卡的硬件主备进行强行绑定。

创建模块940,用于根据选举结果,创建对应的主业务进程。

第一接收模块950,用于接收主业务进程发送的访问背板信息请求。

判断模块960,用于判断所述主业务进程分配至所述硬件主或者所述硬件备,若分配至硬件主或者硬件备,则触发发送模块970。

进一步地,如果判断模块960判断既没有分配至硬件主,也没有分配至硬件备,则视为异常,并重启单板。

发送模块970,用于使第一板卡或者第二板卡将所述请求发送给所述第一板卡的背板守护线程。

具体地,如果主业务分配到硬件主上,则主业务上的进程通过特定接口发消息通知本板的背板守护线程。如果主业务分配到硬件备上,则主业务上的进程通过特定接口发消息通知对板的背板守护线程。

第二接收模块980,用于接收第一板卡的背板守护线程访问背板信息的访问结果。

反馈模块990,用于将访问结果反馈至所述主业务进程。

具体地,反馈模块990将接收到的第一板卡的背板守护线程的访问结果返回至主业务进程。

进一步地,在主业务进程收到背板守护线程返回的背板访问结果之后,主业务进程还可以继续其他业务流程。

在本实施例中,如果主业务在硬件主上,消息交互不涉及跨中央处理器(centralprocessingunit,cpu),所以可以保证消息的可靠性。而如果主业务在硬件备上,消息交互就是跨cpu,通过可靠的消息交互机制来保证消息的可靠性。

在本实施例中,将背板信息采用本地缓存的方式存储在本地cpu中,以尽量减少对背板信息的访问。

进一步地,判断模块960,还用于判断距离发送所述请求的时间间隔是否达到预设的时间阈值。若是,则触发发送模块970触发第一板卡或者第二板卡重新将所述请求发送给所述第一板卡的背板守护线程,若否,则继续等待,从而采用同步消息接口,通过设置超时机制,保证了跨cpu消息的可靠性。

示例性地,若访问背板信息请求为读取请求,且主业务进程分配至硬件主,则发送模块970,具体用于使第一板卡向所述第一板卡的背板守护线程发送读取通知消息。

具体地,第一板卡(即:硬件主板卡)的业务进程如果有读取请求,此时硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,则直接发送读取消息通知本板的背板守护线程。

相应地,第二接收模块980,具体用于接收第一板卡的背板守护线程读取本地缓存的数据。具体地,接收本板背板守护线程读取的本地缓存的数据。

示例性地,若访问背板信息请求为读取请求,且主业务进程分配至硬件备,则发送模块970,具体用于第二板卡向所述第一板卡的背板守护线程发送读取通知消息。

具体地,第二板卡(即:硬件备板卡)的业务进程如果有读取请求,由于硬件备板卡上的背板守护线程采用状态机驱动处于睡眠(sleep)状态,所以需要发消息通知第一板卡(即:硬件主板卡)的背板守护线程。

相应地,第二接收模块980,具体用于第一板卡的背板守护线程读取本地缓存的数据。具体地,硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,直接接收读取的本地缓存的数据。

示例性地,若访问背板信息请求为写入请求,且主业务进程分配至硬件主,则发送模块970,具体用于第一板卡向所述第一板卡的背板守护线程发送写入通知消息。

具体地,第一板卡(即:硬件主板卡)的业务进程如果有写入请求,此时硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,则直接发消息通知本板的背板守护线程。

相应地,判断模块960,还用于判断第一板卡的背板守护线程写入请求的数据与本地缓存的数据是否相一致,若否,则对所述背板信息进行更新,若是,则触发反馈模块990。

具体地,判断模块960将请求写入数据和本地缓存的数据进行对比,如果不一致,则对所述背板信息进行更新,若否,则触发反馈模块990,也就是将写入数据直接应答给主业务进程。

具体地,如果请求写入数据与本地缓存的数据不一致,则更新背板信息。

示例性地,若访问背板信息请求为写入请求,且主业务进程分配至硬件备,则发送模块970,具体用于使第二板卡向所述第一板卡的背板守护线程发送写入通知消息。

具体地,第二板卡(即:硬件备板卡)的业务进程如果有写入请求,由于硬件备板卡上的背板守护线程采用状态机驱动处于睡眠(sleep)状态,所以需要发消息通知第一板卡(即:硬件主板卡)的背板守护线程。

相应地,判断模块960,还用于判断第一板卡的背板守护线程写入请求的数据与本地缓存的数据是否相一致,若否,则对所述背板信息进行更新,若是,则触发反馈模块990。

具体地,硬件主上的背板守护线程采用状态机的驱动已处于工作(work)状态,它将请求写入数据和本地缓存的数据进行对比,如果不一致,则对所述背板信息进行更新,若否,则触发反馈模块990,也就是将写入数据直接应答给主业务进程。

具体地,如果请求写入数据与本地缓存的数据不一致,则更新背板信息。

本实施例中的集群路由器板卡访问装置,通过第一接收模块950接收主业务进程发送的访问背板信息请求,当主业务进程分配至硬件主或者硬件备时,发送模块970使第一板卡或者第二板卡将所述请求发送给第一板卡的背板守护线程,第二接收模块980接收第一板卡的背板守护线程访问背板信息的访问结果,反馈模块990将访问结果反馈至主业务进程,能够实现主业务进程可以分配到任何板卡上,从而实现业务和板卡的分离,这样在节约成本的基础上,提高了集群路由器的稳定和可靠性。

需要说明的是,在本文中,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1