掌桥专利:专业的专利平台
掌桥专利
首页

接口状态上报的实现方法、系统及装置

文献发布时间:2023-06-19 12:24:27


接口状态上报的实现方法、系统及装置

技术领域

本申请涉及通信技术领域,尤其涉及一种接口状态上报的实现方法、系统及装置。

背景技术

网络功能虚拟化(英文:Network Function Virtualization,简称:NFV)是指通过使用x86等通用性硬件以及虚拟化技术,承载更多业务功能的软件处理,从而降低网络昂贵的设备成本。NFV可通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源能够充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。

在NFV架构中,各种服务软件部署在通用硬件设备上。一台网络设备上可创建多个虚拟机,当企业需要部署新业务时,其在开放的虚拟机平台上创建相应的虚拟机,并在虚拟机中安装相应功能的软件包即可实现部署新业务。虚拟机接口是由网络设备上的物理接口虚拟出来,虚拟机接口的状态依赖于宿主机上物理接口的状态。

虚拟机接口的状态一般分为物理状态和管理状态。物理状态是指接口的物理链路状态,分为开启(UP)状态与关闭(DOWN)状态,若物理链路状态为DOWN状态,则可能是因为该接口对应的宿主机上的物理接口未连线或者链路故障。管理状态是指用户通过shutdown和undo shutdown操作以手工关闭接口的网络功能,也分为UP状态与DOWN状态。

当接口的管理状态与物理状态均为UP状态时,该接口的状态为UP状态,该接口可正常运行。若接口的管理状态与物理状态中存在一个状态为DOWN状态时,则该接口的状态为DOWN状态,不可正常运行。作为网络设备,接口是否正常运行至关重要,因此,需要及时准确地向上层协议模块上报接口的状态变化。

接口的物理状态变化时,虚拟机可通过接口启动的定时器以不断检测当前接口的状态,进而获知接口的物理状态。接口的管理状态一般通过用户手工操作,虚拟机可很快感知接口的管理状态。在多核虚拟机系统下,接口启动的定时器运行在非控制核(其他核,例如,转发核)中,而处理用户手工设置接口的管理状态的指令则运行在控制核中。例如,在一种场景下,当接口的物理状态为UP状态,用户手动关闭接口的管理状态,二者存在并发操作。

如图1所示,图1为现有接口状态并发上报流程示意图。在图1中,控制核接收到关闭接口的管理状态的指令后,控制核判断接口的管理状态是否为UP状态。若接口的管理状态不为UP状态,则此时,控制核确定接口的管理状态为DOWN状态,控制核不必向上层协议模块上报接口的管理状态为DOWN状态的事件;若接口的管理状态为UP状态,则控制核将接口的管理状态置为DOWN状态后,向上层协议模块上报接口的管理状态为DOWN状态的事件。

接口启动的定时器运行在其他核中,其他核判断接口的管理状态是否为UP状态。若接口的管理状态不为UP状态,则此时,其他核确定接口的管理状态已经为DOWN状态,其他核不必向上层协议模块上报接口的管理状态为DOWN状态的事件;若接口的管理状态为UP状态,则其他核向上层协议模块上报接口的管理状态为UP状态的事件。

当前,控制核将接口的管理状态置为DOWN状态的操作与其他核判断接口的管理状态的操作在时序上可能存在并发操作,导致上层协议模块接收到的接口的管理状态事件与接口的实际状态不一致。

在一种实现场景下,若控制核先向上层协议模块上报接口的管理状态为DOWN状态的事件,同时,其他核未探测到接口的管理状态为DOWN状态,其他核确定接口的管理状态仍未UP状态,则其他核仍向上层协议模块上报接口的管理状态UP状态的事件,则最终,上层协议模块确定接口的管理状态为UP状态,而用户已手动关闭接口的管理状态,接口的管理状态应为DOWN状态。此时,上层协议模块接收到的接口的管理状态事件与接口的实际状态不一致。

发明内容

有鉴于此,本申请提供了一种接口状态上报的实现方法及装置,用以解决现有接口状态上报的方案中,上层协议模块接收到的接口的管理状态事件与接口的实际状态不一致的问题。

第一方面,本申请提供了一种接口状态上报的实现方法,所述方法应用于网络设备,所述网络设备包括控制核以及非控制核,所述控制核已建立事件队列,所述事件队列中已存储多条接口状态上报事件,所述多条接口状态上报事件分别由所述控制核以及非控制核存储至所述事件队列中,所述方法包括:

从所述事件队列中,获取第一接口状态上报事件,所述第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息;

若所述第一处理核的标识表征的处理核为所述控制核,则识别所述第一接口的管理状态信息;

若所述第一接口的管理状态信息指示接口的管理状态为DOWN状态,则向上层协议模块发送所述第一接口状态上报事件;

从所述事件队列中,获取第二接口状态上报事件,所述第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息;

若所述第二处理核的标识表征的处理核为所述非控制核且所述第二接口的标识与所述第一接口的标识表征同一接口,则识别所述第二接口的管理状态信息;

若所述第二接口的管理状态信息指示接口的管理状态为UP状态,则不再向所述上层协议模块发送所述第二接口状态上报事件;

其中,所述第一接口状态上报事件写入所述事件队列的时间早于所述第二接口状态上报事件写入所述事件队列的时间。

第二方面,本申请提供了一种接口状态上报的实现系统,所述系统包括控制核以及非控制核,所述控制核已建立事件队列;

所述事件队列中已存储多条接口状态上报事件,所述多条接口状态上报事件分别由所述控制核以及非控制核存储至所述事件队列中;

所述事件队列,用于从所述事件队列中,获取第一接口状态上报事件,所述第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息;若所述第一处理核的标识表征的处理核为所述控制核,则识别所述第一接口的管理状态信息;若所述第一接口的管理状态信息指示接口的管理状态为DOWN状态,则向上层协议模块发送所述第一接口状态上报事件;

所述事件队列还用于,从所述事件队列中,获取第二接口状态上报事件,所述第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息;若所述第二处理核的标识表征的处理核为所述非控制核且所述第二接口的标识与所述第一接口的标识表征同一接口,则识别所述第二接口的管理状态信息;若所述第二接口的管理状态信息指示接口的管理状态为UP状态,则不再向所述上层协议模块发送所述第二接口状态上报事件;

其中,所述第一接口状态上报事件写入所述事件队列的时间早于所述第二接口状态上报事件写入所述事件队列的时间。

第三方面,本申请提供了一种接口状态上报的实现装置,所述装置应用于网络设备,所述网络设备包括控制核以及非控制核,所述控制核已建立事件队列,所述事件队列中已存储多条接口状态上报事件,所述多条接口状态上报事件分别由所述控制核以及非控制核存储至所述事件队列中,所述装置包括:

获取单元,用于从所述事件队列中,获取第一接口状态上报事件,所述第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息;

识别单元,用于若所述第一处理核的标识表征的处理核为所述控制核,则识别所述第一接口的管理状态信息;

发送单元,用于若所述第一接口的管理状态信息指示接口的管理状态为DOWN状态,则向上层协议模块发送所述第一接口状态上报事件;

所述获取单元还用于,从所述事件队列中,获取第二接口状态上报事件,所述第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息;

所述识别单元还用于,若所述第二处理核的标识表征的处理核为所述非控制核且所述第二接口的标识与所述第一接口的标识表征同一接口,则识别所述第二接口的管理状态信息;

处理单元,用于若所述第二接口的管理状态信息指示接口的管理状态为UP状态,则不再向所述上层协议模块发送所述第二接口状态上报事件;

其中,所述第一接口状态上报事件写入所述事件队列的时间早于所述第二接口状态上报事件写入所述事件队列的时间。

因此,通过应用本申请提供的接口状态上报的实现方法、系统及装置,从事件队列中,事件队列获取第一接口状态上报事件,该第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息。若第一处理核的标识表征的处理核为控制核,则事件队列识别第一接口的管理状态信息。若第一接口的管理状态信息指示接口的管理状态为DOWN状态,则事件队列向上层协议模块发送第一接口状态上报事件。从事件队列中,事件队列获取第二接口状态上报事件,该第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息。若第一处理核的标识表征的处理核为非控制核且第二接口的标识与第一接口的标识表征同一接口,则事件队列识别第二接口的管理状态信息。若第二接口的管理状态信息指示接口的管理状态为UP状态,则事件队列不再向上层协议模块发送第二接口状态上报事件。其中,第一接口状态上报事件写入事件队列的时间早于第二接口状态上报事件写入事件队列的时间。

如此,通过将控制核、非控制核生成的多条接口状态上报事件写入至事件队列中,由事件队列按照同一接口的接口状态上报事件的写入时间,判断是否向上层协议模块发送接口状态上报事件。解决了现有接口状态上报的方案中,上层协议模块接收到的接口的管理状态事件与接口的实际状态不一致的问题。在多核虚拟机系统下,避免了控制核与非控制核并发上报接口的管理状态事件的场景,保证了接口的管理状态上报的准确性,同时,也保证了上层协议模块的稳定运行,提高了多核虚拟机系统的可靠性。

附图说明

图1为现有接口状态并发上报流程示意图;

图2为本申请实施例提供的接口状态上报的实现方法的流程图;

图3为本申请实施例提供的接口状态上报的实现系统的示意图;

图4为本申请实施例提供的接口状态上报的实现装置结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

下面对本申请实施例提供的接口状态上报的实现方法进行详细地说明。参见图2,图2为本申请实施例提供的接口状态上报的实现方法的流程图。该方法应用于事件队列,本申请实施例提供的接口状态上报的实现方法可包括如下所示步骤。

步骤210、从所述事件队列中,获取第一接口状态上报事件,所述第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息。

具体地,网络设备内包括控制核以及非控制核(例如,转发核)。在控制核内建立一事件队列(例如,Epoll队列)。该事件队列用于存储多条接口状态上报事件。多条接口状态上报事件分别由控制核、非控制核存储至事件队列中。

事件队列调用第一回调函数,从事件队列中,获取第一接口状态上报事件,该第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息。

可以理解的是,控制核、非控制核在向事件队列存储接口状态上报事件过程中,会指定与该接口状态上报事件对应的回调函数。该回调函数用于事件队列后续对该接口状态上报事件进行处理时,通过调用对应的回调函数进行处理。

前述第一回调函数为与第一接口状态上报事件对应的回调函数。

在本申请实施例中,事件队列可具体为一种先入先出队列。第一接口状态上报事件可为首个写入事件队列中的接口状态上报事件。

步骤220、若所述第一处理核的标识表征的处理核为所述控制核,则识别所述第一接口的管理状态信息。

具体地,根据步骤220的描述,事件队列获取第一接口状态上报事件后,从中获取第一处理核的标识、第一接口的标识以及第一接口的管理状态信息。

事件队列识别第一处理核的标识,若第一处理核的标识表征的处理核为控制核,则事件队列识别第一接口的管理状态信息。

步骤230、若所述第一接口的管理状态信息指示接口的管理状态为DOWN状态,则向上层协议模块发送所述第一接口状态上报事件。

具体地,根据步骤220的描述,若第一接口的管理状态信息指示接口的管理状态为DOWN状态,则事件队列向上层协议模块发送第一接口状态上报事件。

步骤240、从所述事件队列中,获取第二接口状态上报事件,所述第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息。

具体地,事件队列对第一接口状态上报事件处理结束后,事件队列调用第二回调函数,从事件队列中,获取第二接口状态上报事件,该第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息。

在本步骤中,第二回调函数为与第二接口状态上报事件对应的回调函数。

可以理解的是,第一接口状态上报事件写入事件队列的时间早于第二接口状态上报事件写入事件队列的时间。

步骤250、若所述第二处理核的标识表征的处理核为所述非控制核且所述第二接口的标识与所述第一接口的标识表征同一接口,则识别所述第二接口的管理状态信息。

具体地,根据步骤240的描述,事件队列获取第二接口状态上报事件后,从中获取第二处理核的标识、第二接口的标识以及第二接口的管理状态信息。

事件队列识别第二处理核的标识以及第二接口的标识,若第二处理核的标识表征的处理核为非控制核且第二接口的标识与第一接口的标识表征同一接口,则事件队列识别第二接口的管理状态信息。

步骤260、若所述第二接口的管理状态信息指示的接口的关联状态为UP状态,则不再向所述上层协议模块发送所述第二接口状态上报事件。

具体地,根据步骤250的描述,若第二接口的管理状态信息指示接口的管理状态为UP状态,则事件队列不再向上层协议模块发送第二接口状态上报事件。

因此,通过应用本申请提供的接口状态上报的实现方法、系统及装置,从事件队列中,事件队列获取第一接口状态上报事件,该第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息。若第一处理核的标识表征的处理核为控制核,则事件队列识别第一接口的管理状态信息。若第一接口的管理状态信息指示接口的管理状态为DOWN状态,则事件队列向上层协议模块发送第一接口状态上报事件。从事件队列中,事件队列获取第二接口状态上报事件,该第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息。若第一处理核的标识表征的处理核为非控制核且第二接口的标识与第一接口的标识表征同一接口,则事件队列识别第二接口的管理状态信息。若第二接口的管理状态信息指示接口的管理状态为UP状态,则事件队列不再向上层协议模块发送第二接口状态上报事件。其中,第一接口状态上报事件写入事件队列的时间早于第二接口状态上报事件写入事件队列的时间。

如此,通过将控制核、非控制核生成的多条接口状态上报事件写入至事件队列中,由事件队列按照同一接口的接口状态上报事件的写入时间,判断是否向上层协议模块发送接口状态上报事件。解决了现有接口状态上报的方案中,上层协议模块接收到的接口的管理状态事件与接口的实际状态不一致的问题。在多核虚拟机系统下,避免了控制核与非控制核并发上报接口的管理状态事件的场景,保证了接口的管理状态上报的准确性,同时,也保证了上层协议模块的稳定运行,提高了多核虚拟机系统的可靠性。

可选地,在本申请实施例中,还包括事件队列先处理非控制核写入的接口状态上报事件,然后再处理控制核写入的接口状态上报事件的过程。

具体地,事件队列调用第三回调函数,从事件队列中,获取第三接口状态上报事件,该第三接口状态上报事件包括第三处理核的标识、第三接口的标识以及第三接口的管理状态信息。其中,第三回调函数为与第三接口状态上报事件对应的回调函数。

事件队列获取第三接口状态上报事件后,从中获取第三处理核的标识、第三接口的标识以及第三接口的管理状态信息。事件队列识别第三处理核的标识,若第三处理核的标识表征的处理核为非控制核,则事件队列识别第三接口的管理状态信息。

若第三接口的管理状态信息指示接口的管理状态为UP状态,则事件队列向上层协议模块发送第三接口状态上报事件。

事件队列对第三接口状态上报事件处理结束后,事件队列调用第四回调函数,从事件队列中,获取第四接口状态上报事件,该第四接口状态上报事件包括第四处理核的标识、第四接口的标识以及第四接口的管理状态信息。其中,第四回调函数为与第四接口状态上报事件对应的回调函数。

可以理解的是,第三接口状态上报事件写入事件队列的时间早于第四接口状态上报事件写入事件队列的时间。

事件队列获取第四接口状态上报事件后,从中获取第四处理核的标识、第四接口的标识以及第四接口的管理状态信息。事件队列识别第四处理核的标识以及第四接口的标识,若第四处理核的标识表征的处理核为控制核且第四接口的标识与第三接口的标识表征同一接口,则事件队列识别第四接口的管理状态信息。

若第四接口的管理状态信息指示接口的管理状态为DOWN状态,则事件队列向上层协议模块发送第四接口状态上报事件。

可选地,在步骤210之前,还包括控制核、非控制核向事件队列存储接口上报事件的过程。

具体地,在一种实现方式中,用户向网络设备输入关闭接口的管理状态的指令,该关闭接口的管理状态的指令包括接口的标识。控制核接收到关闭接口的管理状态的指令后,从中获取接口的标识。

根据接口的标识,控制核判断接口的标识对应的接口的当前管理状态是否为UP状态。若接口的当前管理状态为UP状态,则控制核将接口的当前管理状态设置为DOWN状态,并生成第五接口状态上报事件。控制核将第五接口上报事件写入至事件队列中。

若接口的当前管理状态为DOWN状态,则控制核不再生成并向上层协议模块发送接口状态上报事件。

在另一种实现方式中,非控制核运行定时器,该定时器用于周期性探测接口的当前管理状态。

在定时器的定时周期内,非控制核获取并识别接口的当前管理状态。若接口的当前管理状态为UP状态,则非控制核生成第六接口状态上报事件。非控制核将第六接口上报事件写入至事件队列中。

若接口的当前管理状态为DOWN状态,则非控制核不再生成并向上层协议模块发送接口状态上报事件。

可以理解的是,控制核、非控制核在向事件队列存储接口状态上报事件时,根据接口状态上报事件的生成时间,依次向事件队列写入,以使得后续时间队列按照写入时间顺序依次对接口状态上报事件进行处理,避免了控制核与非控制核并发上报接口的管理状态事件的场景,保证了接口的管理状态上报的准确性。

基于同一发明构思,本申请实施例还提供了与接口状态上报的实现方法对应的接口状态上报的实现系统。参见图3,图3为本申请实施例提供的接口状态上报的实现系统的示意图。该系统包括控制核310以及非控制核320,控制核已建立事件队列330。

事件队列330中已存储多条接口状态上报事件,该多条接口状态上报事件分别由控制核310以及非控制核320存储至事件队列中。

事件队列330,用于从事件队列中,获取第一接口状态上报事件,该第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息;若第一处理核的标识表征的处理核为控制核,则识别第一接口的管理状态信息;若第一接口的管理状态信息指示接口的管理状态为DOWN状态,则向上层协议模块发送第一接口状态上报事件。

事件队列330还用于,从事件队列中,获取第二接口状态上报事件,该第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息;若第二处理核的标识表征的处理核为非控制核且第二接口的标识与第一接口的标识表征同一接口,则识别第二接口的管理状态信息;若第二接口的管理状态信息指示的接口的管理状态为UP状态,则不再向上层协议模块发送第二接口状态上报事件。

其中,第一接口状态上报事件写入事件队列的时间早于第二接口状态上报事件写入事件队列的时间。

可选地,事件队列330还用于,从事件队列中,获取第三接口状态上报事件,该第三接口状态上报事件包括第三处理核的标识、第三接口的标识以及第三接口的管理状态信息;若第三处理核的标识表征的处理核为非控制核,则识别第三接口的管理状态信息;若第三接口的管理状态信息指示接口的管理状态为UP状态,则向上层协议模块发送第三接口状态上报事件。

事件队列330还用于,从事件队列中,获取第四接口状态上报事件,该第四接口状态上报事件包括第四处理核的标识、第四接口的标识以及第四接口的管理状态信息;若第四处理核的标识表征的处理核为控制核且第三接口的标识与第四接口的标识表征同一接口,则识别第四接口的管理状态信息;若第四接口的管理状态信息指示接口的管理状态为DOWN状态,则向上层协议模块发送第四接口状态上报事件。

其中,第三接口状态上报事件写入事件队列的时间早于第四接口状态上报事件写入事件队列的时间。

可选地,控制核310用于,接收用户输入的关闭接口的管理状态的指令,该关闭接口的管理状态的指令包括接口的标识;

根据接口的标识,判断接口的标识对应的接口的当前管理状态是否为UP状态;

若接口的当前管理状态为UP状态,则将接口的当前管理状态设置为DOWN状态,并生成第五接口状态上报事件;

将第五接口上报事件写入至事件队列中;

若接口的当前管理状态为DOWN状态,则不再生成并向上层协议模块发送接口状态上报事件。

可选地,非控制核320运行定时器,该定时器用于周期性探测接口的当前管理状态;

非控制核320用于,在定时器的定时周期内,获取接口的当前管理状态;

若接口的当前管理状态为UP状态,则生成第六接口状态上报事件;

将第六接口上报事件写入至事件队列中;

若接口的当前管理状态为DOWN状态,则不再生成并向上层协议模块发送接口状态上报事件。

基于同一发明构思,本申请实施例还提供了与接口状态上报的实现方法对应的接口状态上报的实现装置。参见图4,图4为本申请实施例提供的接口状态上报的实现装置结构图。所述装置应用于所述装置应用于事件队列,所述事件队列处于网络设备内的控制核中,所述网络设备还包括非控制核,所述事件队列中已存储多条接口状态上报事件,所述多条接口状态上报事件分别由所述控制核以及非控制核存储至所述事件队列中,所述装置包括:

获取单元410,用于从所述事件队列中,获取第一接口状态上报事件,所述第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息;

识别单元420,用于若所述第一处理核的标识表征的处理核为所述控制核,则识别所述第一接口的管理状态信息;

发送单元430,用于若所述第一接口的管理状态信息指示接口的管理状态为DOWN状态,则向上层协议模块发送所述第一接口状态上报事件;

所述获取单元410还用于,从所述事件队列中,获取第二接口状态上报事件,所述第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息;

所述识别单元420还用于,若所述第二处理核的标识表征的处理核为所述非控制核且所述第二接口的标识与所述第一接口的标识表征同一接口,则识别所述第二接口的管理状态信息;

处理单元440,用于若所述第二接口的管理状态信息指示的接口的管理状态为UP状态,则不再向所述上层协议模块发送所述第二接口状态上报事件;

其中,所述第一接口状态上报事件写入所述事件队列的时间早于所述第二接口状态上报事件写入所述事件队列的时间。

可选地,所述获取单元410还用于,从所述事件队列中,获取第三接口状态上报事件,所述第三接口状态上报事件包括第三处理核的标识、第三接口的标识以及第三接口的管理状态信息;

所述识别单元420还用于,若所述第三处理核的标识表征的处理核为所述非控制核,则识别所述第三接口的管理状态信息;

所述发送单元430还用于,若所述第三接口的管理状态信息指示接口的管理状态为UP状态,则向上层协议模块发送所述第三接口状态上报事件;

所述获取单元410还用于,从所述事件队列中,获取第四接口状态上报事件,所述第四接口状态上报事件包括第四处理核的标识、第四接口的标识以及第四接口的管理状态信息;

所述识别单元420还用于,若所述第四处理核的标识表征的处理核为所述控制核且所述第三接口的标识与所述第四接口的标识表征同一接口,则识别所述第四接口的管理状态信息;

所述发送单元430还用于,若所述第四接口的管理状态信息指示接口的管理状态为DOWN状态,则向所述上层协议模块发送所述第四接口状态上报事件;

其中,所述第三接口状态上报事件写入所述事件队列的时间早于所述第四接口状态上报事件写入所述事件队列的时间。

因此,通过应用本申请提供的接口状态上报的实现方法、系统及装置,从事件队列中,事件队列获取第一接口状态上报事件,该第一接口状态上报事件包括第一处理核的标识、第一接口的标识以及第一接口的管理状态信息。若第一处理核的标识表征的处理核为控制核,则事件队列识别第一接口的管理状态信息。若第一接口的管理状态信息指示接口的管理状态为DOWN状态,则事件队列向上层协议模块发送第一接口状态上报事件。从事件队列中,事件队列获取第二接口状态上报事件,该第二接口状态上报事件包括第二处理核的标识、第二接口的标识以及第二接口的管理状态信息。若第一处理核的标识表征的处理核为非控制核且第二接口的标识与第一接口的标识表征同一接口,则事件队列识别第二接口的管理状态信息。若第二接口的管理状态信息指示接口的管理状态为UP状态,则事件队列不再向上层协议模块发送第二接口状态上报事件。其中,第一接口状态上报事件写入事件队列的时间早于第二接口状态上报事件写入事件队列的时间。

如此,通过将控制核、非控制核生成的多条接口状态上报事件写入至事件队列中,由事件队列按照同一接口的接口状态上报事件的写入时间,判断是否向上层协议模块发送接口状态上报事件。解决了现有接口状态上报的方案中,上层协议模块接收到的接口的管理状态事件与接口的实际状态不一致的问题。在多核虚拟机系统下,避免了控制核与非控制核并发上报接口的管理状态事件的场景,保证了接口的管理状态上报的准确性,同时,也保证了上层协议模块的稳定运行,提高了多核虚拟机系统的可靠性。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

对于接口状态上报的实现装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

相关技术
  • 接口状态上报的实现方法、系统及装置
  • 一种实现缓冲区状态上报的方法及系统
技术分类

06120113281485