一种对虚拟网络节点的检测方法及装置与流程

文档序号:15979221发布日期:2018-11-17 00:07阅读:152来源:国知局

本申请涉及计算机通信领域,尤其涉及一种对虚拟网络节点的检测方法及装置。

背景技术

目前,通过使用特殊的软硬件技术,可将一台物理服务器或者交换机的单板资源分割成多个逻辑单元,每个逻辑单元具有各自独立的处理系统、资源。因此,每个逻辑单元可作为一个虚拟网络节点。虚拟网络节点具有物理网络节点的所有功能,并且虚拟网络节点之间彼此独立。

在现有的检测虚拟网络节点状态的方法中,通常采用心跳消息的方式来检测虚拟网络节点当前的状态,比如检测虚拟网络节点处于在线状态还是处于离线状态

具体地,虚拟网络节点周期性地向处于同一物理网络设备中的所有虚拟网络节点发送心跳消息。当在预设时长内未接收到任一虚拟网络节点返回的该心跳消息的响应消息,则确定该任一虚拟网络节点离线,若在预设时长内接收到任一虚拟网络节点返回的该心跳消息的响应消息,则确定该任一虚拟网络节点在线。

但是,通过心跳消息来确定虚拟网络节点的状态会使得该虚拟网络节点所在物理网络设备中传输大量的心跳消息,占用了该物理网络设备的大量资源。更严重的在于,使用心跳消息来确定虚拟网络节点离线的确定速度较慢,造成从虚拟网络节点离线到确定出虚拟网络节点离线这段时间里发送的报文仍发送给该离线的虚拟网络节点,造成丢包。



技术实现要素:

有鉴于此,本申请提供一种对虚拟网络节点的检测方法及装置,用于解决因检测虚拟网络节点离线的速度过慢所造成的丢包的问题。

具体地,本申请是通过如下技术方案实现的:

根据本申请的第一方面,提供一种对虚拟网络节点的检测方法,所述方法应用于部署在物理网络设备中的任一虚拟网络节点,所述物理网络设备中创建有共享文件夹,所述共享文件夹中的各文件的当前状态与部署在物理网络设备中的各虚拟网络节点的当前状态关联,所述方法包括:

检测所述共享文件夹中是否存在当前文件状态已转换的目标文件;

若检测到所述共享文件夹中存在当前文件状态已转换的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态对应转换。

可选的,所述检测所述共享文件夹中是否存在当前文件状态已转换的目标文件,包括:

检测所述共享文件夹中是否存在当前文件状态由第一状态转换为第二状态的目标文件;

所述若确定所述共享文件夹中存在当前文件状态已转换的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态对应转换,包括:

若检测所述共享文件夹中存在当前文件状态由第一状态转换为第二状态的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态由在线状态转换为离线状态。

可选的,所述检测所述共享文件夹中是否存在当前文件状态由第一状态转换为第二状态的目标文件之前,所述方法还包括:

通过文件监控技术inotify,创建目标文件监控事件;

调用inotify的应用程序编程接口api接口,通过所述api接口设置所述目标文件监控事件的监控内容以及所述目标文件监控事件被触发的触发条件;

所述监控内容为对所述共享文件夹中的各文件的当前状态进行监控,所述触发条件为所述共享文件夹中的至少一个文件由第一状态转换为第二状态;

所述检测所述共享文件夹中是否存在当前文件状态由第一状态转换为第二状态的目标文件,包括:

检测是否接收到用于指示所述目标文件监控事件被触发的参数;

若接收到,则确定检测到所述共享文件中存在当前文件状态由第一状态转换为第二状态的目标文件。

可选的,所述检测所述共享文件夹中是否存在当前文件状态已转换的目标文件之前,所述方法还包括:

当所述虚拟网络节点启动时,创建与所述虚拟网络节点对应的文件;

将所述文件的当前状态与所述虚拟网络节点的当前状态关联;

以所述虚拟网络节点的标识属性作为所述文件的名称信息,并将所述文件写入至所述共享文件夹中。

可选的,所述检测所述共享文件夹中是否存在当前文件状态已转换的目标文件,包括:

检测所述共享文件夹中是否存在当前文件状态由第二状态转换为第一状态的目标文件;

所述若确定所述共享文件夹中存在当前文件状态已转换的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态对应转换,包括:

若确定所述共享文件夹中存在当前文件状态由第二状态转换为第一状态的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态由离线状态转换为在线状态。

根据本申请的第二方面,提供一种对虚拟网络节点的检测装置,所述装置应用于部署在物理网络设备中的任一虚拟网络节点,所述物理网络设备中创建有共享文件夹,所述共享文件夹中的各文件的当前状态与部署在物理网络设备中的各虚拟网络节点的当前状态关联,所述装置包括:

检测单元,用于检测所述共享文件夹中是否存在当前文件状态已转换的目标文件;

确定单元,用于若检测到所述共享文件夹中存在当前文件状态已转换的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态对应转换。

可选的,所述检测单元,具体用于检测所述共享文件夹中是否存在当前文件状态由第一状态转换为第二状态的目标文件;

所述确定单元,具体用于若检测所述共享文件夹中存在当前文件状态由第一状态转换为第二状态的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态由在线状态转换为离线状态。

可选的,所述装置还包括:

创建单元,用于通过文件监控技术inotify,创建目标文件监控事件;

设置单元,用于调用inotify的应用程序编程接口api接口,通过所述api接口设置所述目标文件监控事件的监控内容以及所述目标文件监控事件被触发的触发条件;

所述检测单元,具体用于检测是否接收到用于指示所述目标文件监控事件被触发的参数;若接收到,则确定检测到所述共享文件中存在当前文件状态由第一状态转换为第二状态的目标文件。

可选的,所述装置还包括:

加入单元,用于当所述虚拟网络节点启动时,创建与所述虚拟网络节点对应的文件;将所述文件的当前状态与所述虚拟网络节点的当前状态关联;以所述虚拟网络节点的标识属性作为所述文件的名称信息,并将所述文件写入至所述共享文件夹中。

可选的,所述检测单元,还用于检测所述共享文件夹中是否存在当前文件状态由第二状态转换为第一状态的目标文件;

所述确定单元,还用于若确定所述共享文件夹中存在当前文件状态由第二状态转换为第一状态的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态由离线状态转换为在线状态。

本申请将虚拟网络节点虚拟化为文件来进行管理,用文件的不同状态来表征虚拟网络节点的各个状态,通过检测文件状态,来确定虚拟网络节点的当前状态。

尤其在检测虚拟网络节点是否离线中,由于检测文件状态的用时更短,所以相比通过心跳消息来检测虚拟网络节点是否离线,根据文件状态确定虚拟网络节点离线的确定速度更快,因此可以防止因为检测到虚拟网络节点离线速度太慢而造成的丢包,同时还可以减少物理网络设备中大量报文传输造成的资源浪费。

附图说明

图1是本申请一示例性实施例示出的一种虚拟网络节点检测方法的流程图;

图2是本申请一示例性实施例示出的一种虚拟交换机检测方法的示意图;

图3是本申请一示例性实施例示出的一种物理网络设备的硬件结构图;

图4是本申请一示例性实施例示出的一种虚拟网络节点机检测装置的框图。

具体实施方式

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

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

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

本申请旨在提出一种虚拟网络节点的检测技术,其核心思想是将虚拟网络节点虚拟化为文件来进行管理,用文件的不同状态来表征虚拟网络节点的各个状态,通过检测文件状态,来确定虚拟网络节点的当前状态。

由上述描述可知,在检测虚拟网络节点是否离线中,由于检测文件状态的用时更短,所以相比通过心跳消息来检测虚拟网络节点是否离线,根据文件状态确定虚拟网络节点离线的确定速度更快,因此可以防止因为检测到虚拟网络节点离线速度太慢而造成的丢包,同时还可以减少物理网络设备中大量报文传输造成的资源浪费。

在介绍本申请提供的虚拟网络节点检测方法之前,先对该方法需要用到的几个概念进行解释说明。

虚拟网络节点,目前,通过使用特殊的软硬件技术,可将一台物理服务器或者交换机的单板资源分割成多个逻辑单元,每个逻辑单元具有各自独立的处理系统、存储资源。因此,每个逻辑单元可作为一个虚拟网络节点。虚拟网络节点具有物理网络节点的所有功能,并且虚拟网络节点之间彼此独立。

虚拟网络节点所在物理网络设备,可以是服务器,比如x86服务器,也可以是物理交换机上的单板。这里只是虚拟交换机所在的物理网络设备进行示例性地说明,不对其进行具体地限定。

虚拟网络节点可以包括虚拟交换机、虚拟路由器等等虚拟转发设备,这里只是对虚拟网络节点进行示例性地说明,不对其进行具体地限定。

共享文件夹,共享文件夹创建在虚拟网络节点所在物理网络设备上,各虚拟网络节点可以访问该共享文件夹。在虚拟网络节点启动时可以创建与该虚拟网络节点对应的文件,然后将该文件写入至该共享文件夹中。各个虚拟网络节点写入共享文件夹中的文件彼此独立,不会被覆盖。该共享文件夹对应的目录记录了该共享文件夹中的各文件的文件名。

其中,共享文件夹中的文件的文件名,可以是与该文件对应虚拟网络节点的标识属性。该虚拟网络节点的标识属性是指唯一标识一个虚拟网络节点的信息,比如,该虚拟网络节点的标识属性可以是虚拟网络节点的地址,节点序号等等。

该共享文件夹中的文件的状态与该文件对应的虚拟网络节点的状态关联。比如当虚拟网络节点的状态为在线状态,则该虚拟网络节点对应的文件的状态可以为打开状态,当虚拟网络节点的状态为离线状态,则该虚拟网络节点对应的文件的状态可以为关闭状态。

下面以上述虚拟网络节点是虚拟交换机为例,对上述虚拟网络节点的检测方法进行详细地说明。

参见图1,图1是本申请一示例性实施例示出的一种虚拟交换机检测方法的流程图,该方法可以应用在物理网络设备的虚拟交换机上,可包括如下所示步骤。

步骤101:虚拟交换机检测所述共享文件夹中是否存在当前文件状态已转换的目标文件。

步骤102:若虚拟交换机确定所述共享文件夹中存在当前文件状态已转换的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态对应转换。

其中,该共享文件夹中的各文件与该物理网络设备上的各虚拟交换机一一对应,各文件的文件状态与该物理网络设备上的各虚拟交换机的状态一一对应,简单来说,共享文件夹中的文件就代表了虚拟交换机,共享文件夹中的文件状态就代表了虚拟交换机的状态。

例如,共享文件夹中的文件包括第一状态和第二状态。第一状态与虚拟交换机在线状态关联,第二状态与虚拟交换机离线状态关联。

该文件的第一状态可以是文件的打开状态。该文件的第二状态可以文件的关闭状态。这里只是对文件的第一状态和第二状态进行示例性地说明,开发人员可以定义文件的任何两种状态来表示虚拟交换机在线状态和虚拟交换机离线状态,这里不对文件的第一状态和第二状态进行示例性地说明。

在一种可选的实现方式中,虚拟交换机可检测所述共享文件夹中是否存在当前文件状态由第一状态转换为第二状态的目标文件。

在一种可选的实现方式中,虚拟交换机可以使用inotify(一种文件监控技术)监控机制来监控该共享文件夹中是否有目标文件从第一状态转换为第二状态。

具体地,虚拟交换机可通过inotify,创建目标文件监控事件(为了方便叙述,这里将该目标文件监控事件记为目标文件监控事件1),并调用inotify的api(applicationprogramminginterface,应用程序编程接口)接口,通过api接口设置目标文件监控事件1的监控内容以及目标文件监控事件1被触发的触发条件。

其中,目标文件监控事件1的监控内容为对该共享文件夹中的各文件的当前状态进行监控,以及设置该目标文件监控事件1被触发的触发条件为所述共享文件夹中的至少一个文件由第一状态转换为第二状态。

然后,虚拟交换机可调用epoll(一种linux系统内核的函数)接口,将创建好的目标文件监控事件1传入该物理网络设备的内核,由内核来监控该目标文件监控事件1是否被触发。当内核监控到该目标文件监控事件1被触发后,内核将该目标文件的属性写入至用于指示该目标文件监控事件1被触发的参数中,并向该虚拟交换机所在物理网络设备中的所有虚拟交换机返回该参数。其中,目标文件的属性至少包括目标文件的文件名。

以将该目标监控事件1传入该物理网络设备的内核的虚拟交换机为例,该虚拟交换机可以通过检测是否接收到用于指示该目标文件监控事件1被触发的参数,来检测所述共享文件夹中是否存在当前状态由第一状态转换为第二状态的目标文件。

若该虚拟交换机接收到该参数,则确定共享文件夹中存在当前状态由第一状态转换为第二状态的目标文件,并确定该参数中携带的文件名为该目标文件的文件名。若虚拟交换机未接收到该参数,则确定共享文件夹中不存在当前状态由第一状态转换为第二状态的目标文件。

当所述虚拟交换机确定该共享文件夹中存在当前状态由第一状态转换为第二状态的目标文件时,该虚拟交换机确定该目标文件对应虚拟交换机离线。

在确定虚拟交换机离线后,本虚拟交换机不会再向离线的虚拟交换机发送报文。

当然,本申请还可采用其他检测机制来检测共享文件夹中的目标文件是否由第一状态转换为第二状态,这里只是检测机制的示例性说明,不对该检测机制进行具体地限定。

在本申请实施例中,在步骤101之前,本申请提供的虚拟交换机的检测方法还包括如下步骤:

在虚拟交换机启动后,虚拟交换机可创建与本虚拟交换机对应的文件,并将该文件的当前状态与该虚拟交换机的当前状态进行关联。比如,虚拟交换机为在线状态,则虚拟交换机可将该虚拟交换机对应的文件状态设置为第一状态。

然后,虚拟交换机可设置该文件的文件名为本虚拟交换机的标识属性。虚拟交换机可将该文件写入至共享文件夹中。

在本申请实施例中,对于虚拟交换机发生离线,一般分为两种情况,一种虚拟交换机接收到重启本虚拟交换机的指令时,确定本虚拟交换机需要离线。另一种是虚拟交换机故障。

对于第一种情况,当虚拟交换机接收到重启本虚拟交换机的指令时,虚拟交换机可将该共享文件夹中的与本虚拟交换机对应的文件设置为第二状态,共享文件夹中可保留该虚拟交换机对应的文件。

当然,虚拟交换机还可从共享文件夹中删除该虚拟交换机对应的文件。只不过在虚拟交换机重启完成后,需要再次创建文件,并将文件写入至该共享文件夹中。

对于第二种情况,当虚拟交换机故障后,虚拟交换机所在物理网络设备的内核会检测到虚拟交换机打开共享文件夹中的文件的进程被断开。当虚拟交换机所在物理网络设备的内核检测到虚拟交换机打开共享文件夹中的文件的进程被断开时,内核将该共享文件夹中的与该虚拟交换机对应文件设置为第二状态,共享文件夹中可保留该虚拟交换机对应的文件。

当然,内核还可从共享文件夹中删除该虚拟交换机对应的文件。只不过在虚拟交换机故障恢复上线后,虚拟交换机需要再次创建文件,并将文件写入至该共享文件夹中。

在本申请实施例中,虚拟交换机可以通过如下两种方式来监控是否有虚拟机上线。

第一种,虚拟交换机可以通过该监控该共享文件夹来确定是否有虚拟交换机上线。

具体为,虚拟交换机检测所述共享文件夹中是否存在当前文件状态由第二状态转换为第一状态的目标文件。若确定所述共享文件夹中存在当前文件状态由第二状态转换为第一状态的目标文件,则确定所述目标文件对应的虚拟交换机的当前状态由离线状态转换为在线状态。

在实现时,虚拟交换机可通过inotify,创建目标文件监控事件(这里记为目标文件监控事件2),并调用inotify的api接口,通过api接口设置目标文件监控事件2的监控内容以及目标文件监控事件2被触发的触发条件。

其中,目标文件监控事件2的监控内容为对该共享文件夹中的各文件的当前状态进行监控,以及该目标文件监控事件2被触发的触发条件为所述共享文件夹中的至少一个文件由第二状态转换为第一状态。

然后,虚拟交换机可调用epoll接口,将创建好的目标文件监控事件2传入该物理网络设备的内核,由内核来监控该目标文件监控事件2是否被触发。

当虚拟交换机接收到内核在监控到该目标文件监控事件2被触发后发送的、用于指示目标监控事件2被触发的参数时,确定该参数里携带的文件属性所对应的文件由第二状态转换为第一状态,并确定该文件对应的虚拟交换机上线。

当然,本申请还可采用其他检测机制来检测共享文件夹中的目标文件是否由第二状态转换为第一状态,这里只是对检测机制的示例性说明,不对该检测机制进行具体地限定。

或者,当虚拟交换机检测到该共享文件夹有新的文件写入,并且新的文件状态为第一状态,则确定该新的文件对应的虚拟交换机上线。

在实现时,虚拟交换机可通过inotify,创建目标文件监控事件(这里记为目标文件监控事件3),并调用inotify的api接口,通过api接口设置目标文件监控事件3的监控内容以及目标文件监控事件3被触发的触发条件。

其中,目标文件监控事件3的监控内容为对该共享文件夹中的各文件的当前状态进行监控,以及设置该目标文件监控事件3被触发的触发条件为所述共享文件夹被写入了新的文件。

然后,虚拟交换机可调用epoll接口,将创建好的目标文件监控事件3传入该物理网络设备的内核,由内核来监控该目标文件监控事件3是否被触发。

当虚拟交换机接收到内核在监控到该目标文件监控事件3被触发后发送的、用于指示目标监控事件3被触发的参数时,确定该参数里携带的文件属性所对应的文件新加入该共享文件夹中,并确定该文件对应的虚拟交换机上线。

当然,本申请还可采用其他检测机制来检测共享文件夹中的目标文件是否被写入了新的文件,这里只是对检测机制的示例性说明,不对该检测机制进行具体地限定。

第二种,由于确定虚拟交换机离线的确定速度过慢的话会引起丢包,而虚拟交换机是在确定其他虚拟交换机上线后,才向其他虚拟交换机发送报文,所以确定虚拟交换上线的快慢并不会引起丢包。所以本申请仍可以采用注册加入报文的方式来确定虚拟交换机上线。

具体地,当有虚拟交换机上线后,虚拟交换机可向虚拟交换机系统中的其他虚拟交换机发送注册加入报文。当本虚拟交换机接收到该注册加入报文后,确定该注册加入报文源地址所指示的虚拟交换机上线。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。

参见图2,图2是本申请一示例性实施例示出的一种虚拟交换机检测方法的示意图。

假设物理网络设备上配置有虚拟交换机1、虚拟交换机2和虚拟交换机3。假设虚拟交换机1的标识为vsw1,虚拟交换机2的标识为vsw2、虚拟交换机3的标识为vsw3。

以虚拟交换机1为例。

当虚拟交换机1启动后,虚拟交换机1可创建虚拟交换机1对应的文件1,并将文件1的状态设置为与虚拟交换机1在线状态关联的打开状态,然后将文件1的文件名记为vsw1。然后,虚拟交换机1可将该文件1写入至共享文件夹中。

需要说明的是,虚拟交换机2和虚拟交换机3启动后的操作与虚拟交换机1相同,这里不再赘述。当物理网络设备上的所有虚拟交换机都启动后,该共享文件夹中会记录该物理网络设备上的所有虚拟交换机的文件,比如记录有文件1(虚拟交换机1的文件)、文件2(虚拟交换机2的文件)和文件3(虚拟交换机3的文件)。

虚拟交换机1、虚拟交换机2和虚拟交换机3都可采用inotify监控机制来监控该共享文件夹中的文件状态。

这里以虚拟交换机1为例。虚拟交换机1可通过inotify,分别创建目标文件监控事件1、目标文件监控事件2和目标文件监控事件3,并调用inotify的api接口,通过api接口设置目标文件监控事件1、目标文件监控事件2和目标文件监控事件3的监控内容以及目标文件监控事件被触发的触发条件。

其中,目标文件监控事件1的监控内容为对该共享文件夹中的各文件的当前状态进行监控,以及该inotify监控事件1被触发的触发条件为所述共享文件夹中的至少一个文件由打开状态转换为关闭状态。

目标文件监控事件2的监控内容为对该共享文件夹中的各文件的当前状态进行监控,以及该目标文件监控事件2被触发的触发条件为所述共享文件夹中的至少一个文件由关闭状态转换为打开状态。

目标文件监控事件3的监控内容为对该共享文件夹中的各文件的当前状态进行监控,以及设置该目标文件监控事件3被触发的触发条件为所述共享文件夹被写入了新的文件。

然后虚拟交换机1可调用epoll接口,将创建好的目标文件监控事件1、目标文件监控事件2和目标文件监控事件3传入该物理网络设备的内核,由内核来监控该目标文件监控事件1、目标文件监控事件2和目标文件监控事件3是否被触发。

1)假设虚拟交换机3离线。

在本申请实施例中,对于虚拟交换机3发生离线,一般分为两种情况,一种虚拟交换机3接收到重启本虚拟交换机3的指令时,确定本虚拟交换机3需要离线。另一种是虚拟交换机3故障。

对于第一种情况,当虚拟交换机3接收到重启本虚拟交换机的指令时,虚拟交换机3可将该共享文件夹中的与本虚拟交换3机对应的文件3的当前状态由打开状态修改为关闭状态。

对于第二种情况,当虚拟交换机3故障后,虚拟交换机3所在物理网络设备的内核会检测到虚拟交换机3打开共享文件夹中的文件3的进程被断开。当虚拟交换机所在物理网络设备的内核检测到虚拟交换机3打开共享文件夹中的文件3的进程被断开时,内核将该共享文件夹中的与该虚拟交换机3对应的文件3的当前状态由打开状态修改为关闭状态。

当物理网络设备的内核监控到该共享文件夹中的文件3由打开状态变为关闭状态,则内核向虚拟交换1和虚拟交换机2返回用于指示目标文件监控事件1被触发的参数1,该参数1里携带文件3的属性。

当虚拟交换机1和虚拟交换机2接收到该参数1时,确定参数1里携带的文件3由打开状态转换为关闭状态,并确定文件3对应的虚拟交换机3离线。

2)假设虚拟交换机3离线后又上线。

当虚拟交换机3再次上线时,虚拟交换机3将共享文件夹中的文件3由关闭状态设置为打开状态。

当物理网络设备的内核监控到该共享文件夹中的文件3由关闭状态变为打开状态,则内核向虚拟交换1和虚拟交换机2返回用于指示目标文件监控事件2被触发的参数2,该参数2里携带文件3的属性。

当虚拟交换机1和虚拟交换机2接收到该参数2时,确定参数2里携带的文件3由关闭状态转换为打开状态,并确定文件3对应的虚拟交换机3上线。

3)假设虚拟交换机3首次上线。

当虚拟交换机首次上线后,虚拟交换机3创建文件3,并设置文件3的文件名至少包括虚拟交换3的标识信息,然后将该文件3添加在共享文件夹中,并将文件3的状态设置为打开状态。

当物理网络设备的内核监控到该共享文件夹中新添加了文件3,则内核向虚拟交换1和虚拟交换机2返回用于指示目标文件监控事件3被触发的参数3,该参数3里携带文件3的属性。

当虚拟交换机1和虚拟交换机2接收到该参数3时,确定参数3里携带的文件3被加入到了共享文件夹中,并确定文件3对应的虚拟交换机3上线。

当然监控上述虚拟交换机3上线还可采用通过注册加入报文的方式来进行监控。

具体为,当虚拟交换机3上线后,可向虚拟交换机1和虚拟交换机2发送注册加入报文。当虚拟交换1接收到该虚拟交换机3发送的注册加入报文后,确定虚拟交换机3上线。

由上述描述可知,由于检测文件状态的用时更短,所以相比通过心跳消息来检测虚拟交换机是否离线,根据文件状态确定虚拟交换机离线的确定速度更快,因此可以防止因为检测到虚拟交换机离线速度太慢而造成的丢包,同时还可以减少物理网络设备中大量报文传输造成的资源浪费。

参见图3,本申请还提供一种对虚拟网络节点检测装置所在物理网络设备的硬件架构图,该网络设备包括:通信接口301、处理器302、机器可读存储介质303和总线304;其中,通信接口301、处理器302和机器可读存储介质303通过总线304完成相互间的通信。处理器302通过读取并执行机器可读存储介质303中与对虚拟网络节点检测控制逻辑对应的机器可执行指令,可执行上文描述的对虚拟网络节点检测方法。

本文中提到的机器可读存储介质303可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。

参见图4,图4是本申请一示例性实施例示出的一种虚拟网络节点检测装置的框图。所述装置应用于部署在物理网络设备中的任一虚拟网络节点,所述物理网络设备中创建有共享文件夹,所述共享文件夹中的各文件的当前状态与部署在物理网络设备中的各虚拟网络节点的当前状态关联,所述装置包括如下所示单元。

检测单元401,用于检测所述共享文件夹中是否存在当前文件状态已转换的目标文件;

确定单元402,用于若检测到所述共享文件夹中存在当前文件状态已转换的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态对应转换。

可选的,所述检测单元401,具体用于检测所述共享文件夹中是否存在当前文件状态由第一状态转换为第二状态的目标文件;

所述确定单元402,具体用于若检测所述共享文件夹中存在当前文件状态由第一状态转换为第二状态的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态由在线状态转换为离线状态。

可选的,所述装置还包括:

创建单元403,用于通过文件监控技术inotify,创建目标文件监控事件;

设置单元404,用于调用inotify的应用程序编程接口api接口,通过所述api接口设置所述目标文件监控事件的监控内容以及所述目标文件监控事件被触发的触发条件;

所述检测单元401,具体用于检测是否接收到用于指示所述目标文件监控事件被触发的参数;若接收到,则确定检测到所述共享文件中存在当前文件状态由第一状态转换为第二状态的目标文件。

可选的,所述装置还包括:

加入单元405,用于当所述虚拟网络节点启动时,创建与所述虚拟网络节点对应的文件;将所述文件的当前状态与所述虚拟网络节点的当前状态关联;以所述虚拟网络节点的标识属性作为所述文件的名称信息,并将所述文件写入至所述共享文件夹中。

可选的,所述检测单元401,还用于检测所述共享文件夹中是否存在当前文件状态由第二状态转换为第一状态的目标文件;

所述确定单元402,还用于若确定所述共享文件夹中存在当前文件状态由第二状态转换为第一状态的目标文件,则确定所述目标文件对应的虚拟网络节点的当前状态由离线状态转换为在线状态。

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

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

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

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