欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种设备状态监控方法及装置独创技术26555字

一种设备状态监控方法及装置

2021-02-15 05:36:57

一种设备状态监控方法及装置

  技术领域

  本说明书涉及通信技术领域,尤其涉及一种设备状态监控方法及装置。

  背景技术

  微服务架构是将软件系统分解为自主模块,自主模块可以独立部署,通过轻量级的、与语言无关的方式进行通信,共同实现业务目标。典型的微服务框架实现诸如:Kubernetes。

  在数据中心网络、园区网络等环境下,控制器需要对网络设备进行纳管,实现网络设备的流量控制和智能化管理。控制器需要对网络设备状态进行监控,当网络设备和控制器断开连接或者恢复连接的时候,控制器需要能够及时感知,并把对应状态通知给用户,或者基于故障做出恢复动作。

  在微服务框架下,控制器的连接微服务和控制微服务往往是分割在不同的微服务中,为了最大限度实现对网络设备与控制器之间建立的连接的弹性处理,网络设备的连接会分布在多个不同的连接微服务实例中进行处理并维护。其中,连接微服务用于负责接收、维持与网络设备之间的通信;控制微服务用于对所有连接微服务的管理,由此可以针对与控制器建立连接的网络设备有一个总的视图。图1为现有技术中的一种微服务架构,如图1所示,在微服务架构下,控制器中运行有多个控制微服务以及多个连接微服务。控制微服务与连接微服务之间建立了全连接,即每一个控制微服务要与所有的连接微服务建立连接。

  然而,在全连接的方式下,当控制器纳管的网络设备的数量达到一定数量级时,连接微服务经过弹性扩容之后,会扩容到很多连接微服务,此时连接微服务和控制微服务之间的连接会很多,对控制微服务来说,太多的连接会给自身的操作系统资源带来压力。

  发明内容

  为克服相关技术中存在的问题,本说明书提供了一种设备状态监控方法及装置。

  根据本说明书实施例的第一方面,提供一种设备状态监控方法,所述方法包括:

  缓存微服务接收连接微服务发送的写入消息,所述写入消息中包括与控制器建立连接或者待建立连接的网络设备的设备信息;

  缓存微服务根据所述写入消息为网络设备设置生存时间并开启与该生存时间关联的计时器或更新网络设备对应的计时器,所述计时器用于在缓存微服务接收的针对所述网络设备的写入消息时开始计时;

  当针对所述网络设备的计时器超过生存时间时,所述缓存微服务未接收到所述连接微服务发送的针对该网络设备的写入消息,所述缓存微服务将所述网络设备与所述缓存微服务的连接状态置为失效或者所述缓存微服务将所述网络设备对应的设备信息删除;

  缓存微服务接收控制微服务周期性发送的读取消息,所述读取消息用于读取缓存微服务中记录的网络设备与连接微服务之间的连接状态。

  可选的,缓存微服务根据所述写入消息记录所述网络设备的设备信息,更新网络设备对应的计时器包括:当缓存微服务接收到连接微服务发送的针对所述网络设备的写入消息时,缓存微服务确定针对该网络设备对应的计时器是否超过该网络设备对应的生存时间,若未超过生存时间,则将计时器更新为初始的默认状态。

  可选的,在所述缓存微服务将所述网络设备与所述缓存微服务的连接状态置为失效之后,所述方法还包括:若所述缓存微服务接收到所述连接微服务发送的针对所述网络设备的写入消息,则缓存微服务将所述网络设备对应的计时器更新为初始的默认状态以使得计时器重新计时。

  可选的,所述方法还包括:控制微服务周期性轮询缓存微服务,以获取缓存微服务中存储的信息,其中所述缓存微服务中存储的信息包括:网络设备的设备信息以及网络设备与连接微服务之间的连接状态、网络设备连接的连接微服务的标识。

  可选的,所述方法还包括:控制微服务根据获取的缓存微服务中存储的信息,确定连接状态失效的网络设备以及该网络设备对应连接的连接微服务;

  控制微服务根据所述连接状态确定故障类型并发出告警,其中故障类型包括网络设备的故障或者连接微服务的故障。

  可选的,所述方法还包括:

  连接微服务接收网络设备发送的连接请求;

  连接微服务向缓存微服务发送写入消息,所述写入消息中包括与控制器待建立连接的所述网络设备的设备信息;

  连接微服务接收所述网络设备周期性发送的保活报文,所述保活报文用于确定所述网络设备与所述连接微服务是否保持连接;

  连接微服务根据接收到的保活报文向所述缓存微服务发送写入消息,所述写入消息中包括与控制器建立连接的网络设备的设备信息。

  根据本说明书实施例的第二方面,提供一种设备状态监控装置,所述装置包括:连接微服务模块、控制微服务模块、缓存微服务模块;

  缓存微服务模块用于接收连接微服务模块发送的写入消息,所述写入消息中包括与控制器建立连接或者待建立连接的网络设备的设备信息;

  缓存微服务模块用于根据所述写入消息为网络设备设置生存时间并开启与该生存时间关联的计时器或更新网络设备对应的计时器,所述计时器用于在缓存微服务接收的针对所述网络设备的写入消息时开始计时;

  当针对所述网络设备的计时器超过生存时间时,所述缓存微服务模块未接收到所述连接微服务模块发送的针对该网络设备的写入消息,所述缓存微服务模块用于将所述网络设备与所述缓存微服务模块的连接状态置为失效或者所述缓存微服务模块将所述网络设备对应的设备信息删除;

  缓存微服务模块接收控制微服务模块周期性发送的读取消息,所述读取消息用于读取缓存微服务模块中记录的网络设备与连接微服务模块之间的连接状态。

  可选的,缓存微服务模块还用于在缓存微服务模块接收到连接微服务模块发送的针对所述网络设备的写入消息时,确定针对该网络设备对应的计时器是否超过该网络设备对应的生存时间,若未超过生存时间,则缓存微服务模块将计时器更新为初始的默认状态。

  可选的,在所述缓存微服务模块将所述网络设备与所述缓存微服务模块的连接状态置为失效之后,所述缓存微服务模块若接收到所述连接微服务模块发送的针对所述网络设备的写入消息,缓存微服务模块则将所述网络设备对应的计时器更新为初始的默认状态以使得计时器重新计时。

  可选的,控制微服务模块用于周期性轮询缓存微服务模块,以获取缓存微服务模块中存储的信息,其中所述缓存微服务模块中存储的信息包括:网络设备的设备信息以及网络设备与连接微服务模块之间的连接状态、网络设备连接的连接微服务模块的标识。

  可选的,控制微服务模块还用于根据获取的缓存微服务模块中存储的信息,确定连接状态失效的网络设备以及该网络设备对应连接的连接微服务模块;

  控制微服务模块还用于根据所述连接状态确定故障类型并发出告警,其中故障类型包括网络设备的故障或者连接微服务模块的故障。

  可选的,连接微服务模块用于接收网络设备发送的连接请求;

  连接微服务模块向缓存微服务模块发送写入消息,所述写入消息中包括与控制器待建立连接的所述网络设备的设备信息;

  连接微服务模块接收所述网络设备周期性发送的保活报文,所述保活报文用于确定所述网络设备与所述连接微服务模块是否保持连接;

  连接微服务模块根据接收到的保活报文向所述缓存微服务模块发送写入消息,所述写入消息中包括与控制器建立连接的网络设备的设备信息。

  本说明书的实施例提供的技术方案可以包括以下有益效果:本公开所提供的方法一方面解决了现有技术中控制微服务与连接微服务的全连接带来的连接资源消耗;另一方面,控制微服务不需要维持连接微服务和具体承载的网络设备的映射关系,只需要对缓存微服务中的网络设备信息做监控,就可以在连接微服务发生故障、重启等情况的时候,及时感知对应的连接微服务承载的网络设备的状态变化。

  应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

  附图说明

  此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

  图1为现有技术中的一种微服务架构;

  图2为本公开提供的微服务架构的架构示意图;

  图3为本公开提供的设备状态监控方法的流程示意图;

  图4为本公开提供的另一设备状态监控方法的流程示意图;

  图5为本公开提供的设备状态监控装置的结构示意图。

  具体实施方式

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

  本公开所提供的设备状态监控方法,可以应用于控制器,控制器可以为控制器集群也可以为单台控制器,本公开对于控制器的物理架构并不加以限定。本公开的控制器的软件系统可以采用微服务架构,微服务架构中包括连接微服务、控制微服务以及缓存微服务。微服务可以通过容器的方式具体实现。在本公开中连接微服务和控制微服务通过缓存微服务交互网络设备与连接微服务之间的状态信息,从而可以避免控制微服务与连接微服务的全连接带来的资源消耗。

  具体的,图2为本公开提供的微服务架构的架构示意图,图3为本公开提供的设备状态监控方法的流程示意图,如图2和图3所示,本公开提供的设备状态监控方法包括:

  步骤202,连接微服务接收网络设备发送的连接请求。

  本公开实施例以网络设备11为例对提供的设备状态监控方法进行说明。当网络设备11向控制器发送连接请求时,该连接请求会通过负载均衡模块分配至任一连接微服务进行处理,以该连接请求被分配至连接微服务21为例进行说明。连接微服务负责接收、维持与网络设备之间的通信。

  步骤204,连接微服务向缓存微服务发送写入消息,所述写入消息中包括与控制器待建立连接的所述网络设备的设备信息。

  在连接微服务21接收到网络设备11发送的连接请求之后,连接微服务21会向缓存微服务发送写入消息,该写入消息中包括与控制器待建立连接的网络设备11的设备信息。其中设备信息可以为网络设备的IP地址、网络设备的序列号等。网络设备的可以为交换机、路由器、防火墙。本公开中对于网络设备的类型并不加以限定。

  写入请求用于使得缓将微服务网络设备11的设备信息写入至缓存微服务中。进而使得控制微服务31和控制微服务32可以通过周期性轮询缓存微服务,以获取缓存微服务中存储的信息。其中,缓存微服务中存储的信息可以包括:网络设备的设备信息以及网络设备与连接微服务之间的连接状态、网络设备连接的连接微服务的标识。例如,缓存微服务中可以存储网络设备11的设备信息,以及网络设备11对应的连接微服务21的标识、以及网络设备11与连接微服务21之间的连接状态。

  控制微服务31和控制微服务32进而可以分别获取缓存微服务中存储全部的信息,确定出连接状态失效的网络设备以及该网络设备对应连接的连接微服务。

  控制微服务从缓存微服务中读取到一个网络设备的信息,就意味着一个新的设备上线了,如果设备信息被老化删除或者网络设备与连接微服务之间的连接状态被设置为失效,那么意味着这个网络设备也就离开了,即断开了与控制器的连接。

  步骤206,连接微服务接收所述网络设备周期性发送的保活报文,所述保活报文用于确定所述网络设备与所述连接微服务是否保持连接。

  网络设备11在与连接微服务21建立连接之后,会周期性的向连接微服务21发送保活报文。若在超过预设周期连接微服务未接收到网络设备发送的保活报文,则意味着网络设备11与连接微服务21断开连接了。为了使得控制微服务获知网络设备11与连接微服务21之间的连接状态,通过步骤208,即连接微服务会根据接收到的保活报文向缓存服务发送写入消息,即连接微服务21通过周期性的向缓存微服务中写入关于网络设备11与连接微服务之间的连接状态,从而使得控制微服务获知网络设备11与连接微服务21之间的连接状态。

  具体的,连接微服务21在接收到网络设备11发送的保活报文之后,向缓存微服务发送写入消息,写入消息中包括与控制器建立连接的网络设备11的设备信息。

  与上述步骤202和步骤204相对应的,缓存微服务会接收到连接微服务发送的写入消息。具体的,缓存微服务会通过执行步骤302-步骤308使得控制微服务获取到各个网络设备与连接微服务之间的连接状态。图4为本公开提供的设备状态监控方法在缓存微服务一侧执行的流程示意图

  步骤302,缓存微服务接收连接微服务发送的写入消息,所述写入消息中包括与控制器建立连接或者待建立连接的网络设备的设备信息。

  步骤304,缓存微服务根据所述写入消息为网络设备设置生存时间并开启与该生存时间关联的计时器或更新网络设备对应的计时器,所述计时器用于在缓存微服务接收的针对所述网络设备的写入消息时开始计时。

  缓存微服务在接收到连接微服务发送的写入请求之后,根据写入请求携带的设备信息确定如果该网络设备是首次写入,则记录该网络设备的设备信息,并为该网络设备设置生存时间TTL(time to live);如果缓存微服务根据写入请求确定该网络设备非首次写入,则更新网络设备对应的计时器重新开始计时。

  其中,需要说明的是,不同的网络设备可以设置不同的生存时间。TTL的长短由写入者在写入时确定。

  步骤306,当针对所述网络设备的计时器超过生存时间时,所述缓存微服务未接收到所述连接微服务发送的针对该网络设备的写入消息,所述缓存微服务将所述网络设备与所述缓存微服务的连接状态置为失效或者所述缓存微服务将所述网络设备对应的设备信息删除。

  其中,缓存微服务利用计时器对针对同一网络设备前后两次接收到的写入请求的时间间隔进行统计。如果缓存微服务前后两次接收到的针对同一网络设备的写入请求的时间间隔超过生存时间,此时可以认为网络设备与连接微服务之间断开连接,此时可以将连接状态置为失效或者所述缓存微服务将所述网络设备对应的设备信息删除。

  当然,针对步骤306的另一种可能的实施方式为,针对网络设备的计时器在未超过生存时间缓存微服务接收到连接微服务发送的针对该网络设备的写入信息,此时可以更新该网络设备对应的计时器为初始的默认状态。将计时器更新为初始默认状态可以保证计时器重新计时,也就是保证缓存微服务中记录的该网络设备与连接微服务之间的连接状态是正常有效的。

  在步骤306中,还有的一种可能的实施方式为,在缓存微服务将网络设备与连接微服务的连接状态置为失效之后,缓存微服务再次接收到连接微服务发送的针对该网络设备的写入消息,则将该网络设备对应的计时器更新为初始的默认状态以使得计时器重新计时。

  举例来说,当网络设备11首次向连接微服务21发送的连接请求,连接微服务21向缓存微服务发送写入请求,缓存微服务接收到连接微服务21发送的写入请求,根据写入请求中携带的网络设备11的设备信息可以确定网络设备11的相关信息是首次被写入至缓存微服务,因此记录网络设备11的设备信息,并为网络设备11设置生存时间TTL。假设为网络设备11设置的TTL为5S,如果该网络设备11对应的计时器统计在超过5S缓存微服务仍未接收到连接微服务21发送的与网络设备11相关联的写入请求,此时则认为网络设备11与连接微服务21断开连接,此时缓存微服务则将网络设备11与连接微服务的连接状态设置为失效。如果经历了3S,缓存微服务接收到连接微服务21发送的与网络设备11相关联的写入请求,此时意味着连接微服务21与网络设备11之间的连接是正常的,连接微服务21`可以正常接收网络设备11发送的保活报文,缓存502微服务将与该网络设备11对应的计时器重置为初始的默认状态重新开始计时,由此可以保证计时器记录的时间不会超过该网络设备对应的生存时间,也就是可以保证缓存微服务中记录的网络设备11与连接微服务21之间的连接状态是正常有效的。

  步骤308,接收控制微服务周期性发送的读取消息,所述读取消息用于读取缓存微服务中记录的网络设备与连接微服务之间的连接状态。

  缓存微服务接收控制微服务周期性发送的读取信息,控制微服务由此可以根据读取的缓存微服务记录的网络设备与连接微服务之间的连接状态确定出网络设备与控制器之间的连接是否异常。

  当然,在步骤306中,如果缓存微服务将网络设备对应的设备信息删除,则控制微服务读取到的缓存微服务中记录的信息均是与控制器保持连接的网络设备的信息,也就是对于缓存微服务中不会存储与连接微服务断开连接的网络设备的信息,这样控制微服务在周期性的读取缓存微服务中的信息时可以减少控制微服务的负担。

  在现有技术中,实际上还存在一个技术问题,在全连接的方式下,如果连接微服务自身发生了故障、重启等,在图1所示的架构中,连接微服务本身无法执行任何通知动作,该连接微服务上承载的网络设备随着连接微服务的断开,也应该断开处理,然而连接微服务自身故障,无法做出断开处理的操作,而控制微服务上需要实现一套复杂的连接微服务和网络设备连接的映射关系,才能在感知到连接微服务故障后,对对应的网络设备状态进行处理。本公开控制微服务通过连接微服务向缓存微服务发送写入消息,当缓存微服务在超过生存时间未接收到某一网络设备的写入消息时,由缓存微服务将该网络设备的与连接微服务的连接状态置为失效或者将所述网络设备对应的设备信息删除,从而可以使得控制微服务及时感知到网络设备是否依然与控制器保持连接。

  当控制微服务确定网络设备与连接微服务之间的连接状态异常时,初步推断是网络设备的故障。在一种实现方式中,控制微服务若判断出存在连接微服务与其连接的所有网络设备的连接状态均为失效状态,则可以初步判断可能是连接微服务本身的异常。

  根据所述连接状态确定故障类型并发出告警,其中故障类型包括网络设备的故障或者连接微服务的故障。由此可以为维护人员提供更精准的告警建议。

  本公开所提供的方法一方面解决了现有技术中控制微服务与连接微服务的全连接带来的连接资源消耗;另一方面,控制微服务不需要维持连接微服务和具体承载的网络设备的映射关系,只需要对缓存微服务中的网络设备信息做监控,就可以在连接微服务发生故障、重启等情况的时候,及时感知对应连接微服务承载设备的状态变化。

  本公开还提供一种设备状态监控装置,图5为本公开提供的设备状态监控装置的结构示意图,如图5所示,该装置包括:缓存微服务模块501、连接微服务模块502、控制微服务模块503;

  缓存微服务模块501用于接收连接微服务模块发送的写入消息,所述写入消息中包括与控制器建立连接或者待建立连接的网络设备的设备信息;

  缓存微服务模块501用于根据所述写入消息为网络设备设置生存时间并开启与该生存时间关联的计时器或更新网络设备对应的计时器,所述计时器用于在缓存微服务接收的针对所述网络设备的写入消息时开始计时;

  当针对所述网络设备的计时器超过生存时间时,所述缓存微服务模块501未接收到所述连接微服务模块502发送的针对该网络设备的写入消息,所述缓存微服务模块501用于将所述网络设备与所述缓存微服务模块501的连接状态置为失效或者所述缓存微服务模块501将所述网络设备对应的设备信息删除;

  缓存微服务模块501接收控制微服务模块503周期性发送的读取消息,所述读取消息用于读取缓存微服务模块501中记录的网络设备与连接微服务模块之间的连接状态。

  可选的,缓存微服务模块501还用于在缓存微服务模块501接收到连接微服务模块502发送的针对所述网络设备的写入消息时,确定针对该网络设备对应的计时器是否超过该网络设备对应的生存时间,若未超过生存时间,则缓存微服务模块501将计时器更新为初始的默认状态。

  可选的,在所述缓存微服务模块501将所述网络设备与所述缓存微服务模块501的连接状态置为失效之后,所述缓存微服务模块501若接收到所述连接微服务模块502发送的针对网络设备的写入消息,缓存微服务模块501则将所述网络设备对应的计时器更新为初始的默认状态以使得计时器重新计时。

  其中,连接微服务模块502用于接收网络设备发送的连接请求;

  连接微服务模块502向缓存微服务模块501发送写入消息,所述写入消息中包括与控制器待建立连接的所述网络设备的设备信息;

  连接微服务模块502接收所述网络设备周期性发送的保活报文,所述保活报文用于确定所述网络设备与所述连接微服务模块502是否保持连接;

  连接微服务模块502根据接收到的保活报文向所述缓存微服务模块501发送写入消息,所述写入消息中包括与控制器建立连接的网络设备的设备信息。

  可选的,控制微服务模块503用于周期性轮询缓存微服务模块,以获取缓存微服务模块501中存储的信息,其中所述缓存微服务模块中存储的信息包括:网络设备的设备信息以及网络设备与连接微服务模块之间的连接状态、网络设备连接的连接微服务模块的标识。

  控制微服务模块503还用于根据获取的缓存微服务模块501中存储的信息,确定连接状态失效的网络设备以及该网络设备对应连接的连接微服务模块502;

  控制微服务模块503还用于根据所述连接状态确定故障类型并发出告警,其中故障类型包括网络设备的故障或者连接微服务模块的故障。

  由此可见,通过本申请的装置,当连接微服务模块本身发生了故障、重启等,这时缓存微服务模块中保存的连接状态、设备信息等在到达生存时间之后会失效。控制微服务模块通过周期性轮询会感知缓存微服务中设备信息失效得知网络设备与连接微服务之间的连接状态发生变化,失效了。等连接微服务模块恢复并重建之后,网络设备重新和连接微服务模块建立连接并交互保活报文,连接微服务模块收到保活信息重新在缓存微服务模块中写入设备信息并重置该网络设备对应的计时器,此时控制微服务模块将会再次从缓存微服务模块中读取有效的设备信息感知设备状态恢复,重新把设备纳管。

  应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。

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

《一种设备状态监控方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)