发明内容
本发明提供了一种分配检测资源的方法和主控设备,以克服由于某块板卡检测资源耗尽或板卡离线导致的检测不生效。
本发明提供了一种分配检测资源的方法,该方法包括:
主控设备确定当前维护实体组(MEG)所在的板卡上没有检测资源时,检测其他在线板卡上是否有检测资源;
若其他在线板卡上有检测资源,则选择有检测资源的在线板卡为所述MEG分配检测资源,若其他在线板卡上均没有检测资源,则将所述MEG放入失败链,并接收定时器定时触发的检测有检测资源的在线板卡为所述失败链中的MEG重新分配检测资源的操作。
优选地,所述主控设备确定当前MEG所在的板卡上没有检测资源包括:
所述主控设备确定当前下发的MEG对应的转发端口所在的板卡上没有检测资源;和/或
所述主控设备确定当前MEG所在的板卡离线。
优选地,所述主控设备选择有检测资源的在线板卡为所述MEG分配检测资源包括:
所述主控设备查询有检测资源的在线板卡上的可用检测资源数;
所述主控设备选择所述可用检测资源数最大的在线板卡为所述MEG分配检测资源。
优选地,所述主控设备选择有检测资源的在线板卡为所述MEG分配检测资源之后,所述方法还包括:
所述主控设备保存所述MEG与为所述MEG分配检测资源的板卡的对应关系,并将为所述MEG分配检测资源的板卡上的可用检测资源数减一。
优选地,所述主控设备确定当前MEG所在的板卡离线之后,所述方法还包括:
所述主控设备删除保存的所述MEG和离线板卡的对应关系。
本发明还提供了一种主控设备,该主控设备包括:
检测模块,用于确定当前维护实体组(MEG)所在的板卡上没有检测资源时,检测其他在线板卡上是否有检测资源;
控制处理模块,用于若所述检测模块检测出其他在线板卡上有检测资源,则选择有检测资源的在线板卡为所述MEG分配检测资源,若所述检测模块检测出其他在线板卡上均没有检测资源,则将所述MEG放入失败链,并接收定时器定时触发的检测有检测资源的在线板卡为所述失败链中的MEG重新分配检测资源的操作。
优选地,所述检测模块确定当前MEG所在的板卡上没有检测资源,是用于:
确定当前下发的MEG对应的转发端口所在的板卡上没有检测资源;和/或
确定当前MEG所在的板卡离线。
优选地,所述控制处理模块选择有检测资源的在线板卡为所述MEG分配检测资源,是用于:
查询有检测资源的在线板卡上的可用检测资源数;
选择所述可用检测资源数最大的在线板卡为所述MEG分配检测资源。
优选地,所述主控设备还包括:
保存模块,用于所述控制处理模块选择有检测资源的在线板卡为所述MEG分配检测资源之后,保存所述MEG与为所述MEG分配检测资源的板卡的对应关系,并将为所述MEG分配检测资源的板卡上的可用检测资源数减一。
优选地,所述主控设备还包括:
删除模块,用于所述检测模块确定当前MEG所在的板卡离线之后,删除保存的所述MEG和离线板卡的对应关系。
上述分配检测资源的方法和主控设备,在某块板卡检测资源耗尽或板卡离线时,选择其他有检测资源的在线板卡为MEG分配检测资源,使检测生效。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明提供了一种分配检测资源的方法,该方法包括:
步骤11、主控设备确定当前维护实体组(MEG)所在的板卡上没有检测资源时,检测其他在线板卡上是否有检测资源;
步骤12、若其他在线板卡上有检测资源,则选择有检测资源的在线板卡为所述MEG分配检测资源,若其他在线板卡上均没有检测资源,则将所述MEG放入失败链,并接收定时器定时触发的检测有检测资源的在线板卡为所述失败链中的MEG重新分配检测资源的操作。
其中,所述主控设备确定当前MEG所在的板卡上没有检测资源为:所述主控设备确定当前下发的MEG对应的转发端口所在的板卡上没有检测资源时,分配检测资源的过程如图1所示,该过程包括以下步骤:
S101、主控上设备确定有MEG需要下发驱动硬件的时候,开始本过程;
S102、检查MEG的有效性,如果MEG无效,直接退出该过程,否则,执行S103;
通过检查MEG的ID检查MEG的有效性;
S103、查询配置,获取MEG对应的转发端口;
S104、判断转发端口所在的板卡是否在线,如果在线,进入S105,否则,转至S108;
S105、判断转发端口所在板卡上是否剩余有检测资源,若是,进入S106,否则,转至S108;
S106、在板卡上为MEG分配检测资源;
S107、主控设备保存MEG与该板卡资源的对应情况,以便后续查询及删除使用,同时,将分配资源成功的板卡上资源数减一;操作结束;
S108、判断机架是否有其他板卡在线,若是,进入S109,否则,转至S111;
S109、查询在线板卡上的剩余资源数,是否至少有一块板卡上有资源,是,进入S110,否则,转至S111;
S110、从当前在线的板卡中,选出剩余资源最多的一块板卡为MEG分配资源,转向步骤S107;
S111、如果无法为MEG分配可用的MEG资源,将该MEG放入失败链,由定时器定时触发重新分配的操作;操作结束。
由定时器定时触发重新分配的操作是指:由定时器触发主控设备为失败链中的MEG检测有检测资源的在线板卡为该MEG分配检测资源。
其中,所述主控设备确定当前MEG所在的板卡上没有检测资源为:所述主控设备确定当前MEG所在的板卡离线时,分配检测资源的过程如图2所示,该过程包括以下步骤:
S201、当有板卡由于拔出或重启等原因离线时,主控设备获知该事件;
S202、主控设备查询得到分配在该板卡上的全部MEG;
S203、主控设备删除查询到的MEG与板卡之间的对应关系;
S204、主控设备使用图1中的步骤S108-S111,为查询到的MEG重新分配一块有资源的板卡;
S205、将MEG与新的资源板卡之间的对应关系同步到各板卡。
本发明实施例由主控设备集中动态分配各板卡检测资源,分配成功后,同步分配情况到各板卡;在板卡上,收到主控的同步过来的分布情况后,如果是需要使用本板卡芯片上的检测资源,则写入相应芯片,启动检测;当板卡被拔出时,主控将被拔出的板卡上所有的检测资源重新分配到其他板卡上。
上述分配检测资源的方法,在某块板卡检测资源耗尽或板卡离线时,选择其他有检测资源的在线板卡为MEG分配检测资源,使检测生效;且实现简单,可操作性强;通过对分布式系统各板卡上的检测资源进行统一的动态管理,使检测资源得到了充分、合理的利用。
如图3所示,为本发明主控设备的结构示意图,该主控设备包括检测模块31和控制处理模块32,其中:
检测模块,用于确定当前维护实体组(MEG)所在的板卡上没有检测资源时,检测其他在线板卡上是否有检测资源;
控制处理模块,用于若所述检测模块检测出其他在线板卡上有检测资源,则选择有检测资源的在线板卡为所述MEG分配检测资源,若所述检测模块检测出其他在线板卡上均没有检测资源,则将所述MEG放入失败链,并接收定时器定时触发的检测有检测资源的在线板卡为所述失败链中的MEG重新分配检测资源的操作。
其中,所述检测模块确定当前MEG所在的板卡上没有检测资源,是用于:确定当前下发的MEG对应的转发端口所在的板卡上没有检测资源;和/或确定当前MEG所在的板卡离线。具体实现过程可参见图1和图2,此处不再赘述。
优选地,所述控制处理模块选择有检测资源的在线板卡为所述MEG分配检测资源,是用于:查询有检测资源的在线板卡上的可用检测资源数;选择所述可用检测资源数最大的在线板卡为所述MEG分配检测资源。
为了管理MEG和为MEG分配的板卡之间的关系,所述主控设备还包括:保存模块,用于所述控制处理模块选择有检测资源的在线板卡为所述MEG分配检测资源之后,保存所述MEG与为所述MEG分配检测资源的板卡的对应关系,并将为所述MEG分配检测资源的板卡上的可用检测资源数减一。
为了对离线板卡上的检测资源进行管理,所述主控设备还包括:删除模块,用于所述检测模块确定当前MEG所在的板卡离线之后,删除保存的所述MEG和离线板卡的对应关系。
上述主控设备,采用瞬时同步与定时同步的方式将为MEG分配的检测资源情况通告给各板卡,瞬时同步在每次MEG下发或删除时触发,定时同步采用定时器周期触发。
上述主控设备,在某块板卡检测资源耗尽或板卡离线时,选择其他有检测资源的在线板卡为MEG分配检测资源,使检测生效。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。