云接入控制器运行状态分布式监控的方法和系统与流程

文档序号:12182445阅读:264来源:国知局
云接入控制器运行状态分布式监控的方法和系统与流程

本发明实施方式涉及通讯技术领域,尤其涉及一种云接入控制器运行状态分布式监控的方法和系统。



背景技术:

云接入控制器(Access Controller,AC)系统往往通过超文本标记语言(HyperText Markup Language,HTML)呈现系统的功能接口,用户可以通过浏览器连接云接入控制器系统,进行各种操作。

由于云接入控制器系统需要同时处理大量的终端设备连接信息,单台服务器已经不能满足业务数据处理的性能要求,为了解决大数据的处理场景,需要把业务处理分布到多台服务器中。云接入控制器分布式系统由多台服务器组成,每台服务器运行系统中的多个业务模块,当处理能力达到阀值时,云接入控制器系统可以通过动态的增加服务器,或在服务器中增加系统业务模块来解决性能上的问题。

在分布式环境下,云接入控制器由多个服务器以及多个业务模块组成。在运行过程中,可能会遇到多种异常情况,比如服务器发生硬件故障、电源发生异常、服务器的CPU,内存使用率超过设置的阀值,运行中的业务模块发生异常导致处理进程终止执行等等。当发生这些运行异常时,需要实时的把系统的异常状况发送给运维人员,以便及时处理。运维人员也需要实时了解云接入控制器系统中各个服务器的运行状态,以及业务模块的进程状态。

在实施本发明的过程中,发明人发现现有技术至少存在如下问题:

现有技术中云接入控制器使用分布式方法处理大量业务数据时,考虑到系统运行的复杂性和多种故障发生的可能性,没有一种可靠的机制实时监控分布式系统中各个组件的运行状态,系统没有提供在这种复杂环境下的系统运行监控方案。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

针对上述问题,本发明实施方式的目的在于提供一种云接入控制器运行状态分布式监控的方法和系统,能够把系统的监控置于分布式环境下,保证在发生故障时,监控系统实时的发现系统的运行故障,即使单台或多台监控进程发生故障,也能保证监控机制的正确运行。

为实现上述目的,本发明实施方式提供一种云接入控制器运行状态分布式监控的方法,所述云接入控制器为由多个服务器以及多个业务模块组成的分布式系统,所述方法包括:云接入控制器设置多个监控进程,其中一个为当前监控进程,其余为备份监控进程;分布式处理框架创建监控当前监控进程的根结点,并在所述根结点下创建孩子结点,根据预设规则,为根结点下的孩子结点分配监控权限,拥有所述监控权限的孩子结点监控所述当前监控进程;所述当前监控进程监控云接入控制器中多个服务器的服务器性能数据和/或多个业务模块的业务处理信息;如果当前监控进程发生异常,分布式处理框架删除监控所述当前监控进程的孩子结点,从所述备份监控进程中确定新的当前监控进程,并从所述根结点下的所有孩子结点中确定新的孩子结点监控新的当前监控进程。

进一步地,所述所述孩子结点采用孩子结点名称和序列值标识,其中,所述根结点中孩子结点的序列值为其前一个孩子结点的序列值加1;所述根据预设规则,分布式处理框架为根结点下的孩子结点分配监控权限,包括:获取所述根结点下的所有孩子结点的序列值,判断当前孩子结点的序列值在所有孩子结点的序列值中是否最小;如果是,则分布式处理框架为序列值最小的当前孩子结点分配监控权限;如果否,则当前孩子结点在其前一个孩子结点中设置状态监听回调,并判断所述前一个孩子结点的序列值在所有孩子结点的序列值中是否最小;直到在所述根结点下确定出序列值最小的孩子结点;分布式处理框架为序列值最小的孩子结点分配监控权限。

进一步地,所述所述当前监控进程监控云接入控制器中多个服务器的服务器性能数据和/或多个业务模块的业务处理信息,包括:在所述根结点下创建服务结点以及在所述服务结点下创建子结点,所述子结点包括第一子结点和第二子结点,其中,所述第一子结点用于监控服务器的服务器性能数据,所述第二子结点用于监控业务模块的业务处理信息;当前监控进程启动后,将所述服务结点下的所有子结点加入到缓存中并监听所有子结点的状态,当存在子结点的状态发生改变时,获取所述服务结点下的所有子结点,并将获取的所有子结点和缓存中的所有子结点进行比较;如果缓存中的子结点在获取的子结点中不存在,则当前监控进程判断出所述不存在的子结点发生异常并将异常信息发送给云接入控制器;如果缓存中的子结点在获取的子结点存在,则当前监控进程获取所述存在的子结点监控的服务器性能数据和/或业务处理信息并发送给云接入控制器进行处理。

进一步地,所述当前监控进程发生异常,包括:所述当前监控进程根据预先设置的时间间隔周期性地发送服务器性能数据和/或业务处理信息;如果在所述时间间隔内没有收到所述当前监控进程发送的服务器性能数据和/或业务处理信息,则所述当前监控进程发生异常。

进一步地,所述分布式处理框架删除监控所述当前监控进程的孩子结点,从所述备份监控进程中确定新的当前监控进程,并从所述根结点下的所有孩子结点中确定新的孩子结点监控新的当前监控进程,包括:分布式处理框架删除监控所述当前监控进程的孩子结点,并将结点删除信息发送给下一个序列值的孩子结点;当所述下一个序列值的孩子结点收到所述结点删除信息时,向所述根结点发送所述当前监控进程和监控所述当前监控进程的孩子结点的异常信息,则分布式处理框架从所述备份监控进程中确定新的当前监控进程,并根据所述预设规则从所述根结点下的所有孩子结点中确定新的孩子结点监控新的当前监控进程。

为实现上述目的,本发明实施方式还提供一种云接入控制器运行状态分布式监控的系统,包括:云接入控制器,为由多个服务器以及多个业务模块组成的分布式系统,用于设置多个监控进程,其中一个为当前监控进程,其余为备份监控进程;分布式处理框架,用于创建永久结点以及在所述永久结点下创建临时结点,所述永久结点为监控所述当前监控进程的根结点,所述临时结点为所述根结点的孩子结点;根据预设规则,为根结点下的孩子结点分配监控权限,拥有所述监控权限的孩子结点监控所述当前监控进程;所述当前监控进程监控云接入控制器中多个服务器的服务器性能数据和/或多个业务模块的业务处理信息,如果当前监控进程发生异常,则删除监控所述当前监控进程的孩子结点,从所述备份监控进程中确定新的当前监控进程,并从所述根结点下的所有孩子结点中确定新的孩子结点监控新的当前监控进程。

由上可见,本发明实施方式提供的一种云接入控制器运行状态分布式监控的方法和系统,通过使用分布式监控方式,把监控置于分布式环境下,保证在发生故障时,监控系统能实时的发现系统的运行故障,即使单台或多台监控进程发生故障,也能保证监控机制的正确运行。

附图说明

为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施方式提供的云接入控制器运行状态分布式监控的方法的流程示意图;

图2为本发明实施方式提供的云接入控制器运行状态分布式监控的系统的示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

本发明实施方式提供一种云接入控制器运行状态分布式监控的方法。请参阅图1,包括以下步骤:

步骤S1:云接入控制器设置多个监控进程,其中一个为当前监控进程,其余为备份监控进程。

在本发明实施方式中,云接入控制器为由多个服务器以及多个业务模块组成的分布式系统。

云接入控制器设置多个监控进程,优选地,监控进程的数量为三个,它们分别部署在三台不同的服务器中。在同一个时刻,只有一个监控进程作为当前监控进程在运行,其它监控进程作为备份。

步骤S2:在分布式处理框架中创建监控当前监控进程的根结点,并在所述根结点下创建孩子结点。

在本实施方式中,分布式处理框架基于ZooKeeper,该ZooKeeper是一个开放源码的分布式应用程序协调服务,能够为分布式应用提供一致性服务,主要用来解决分布式应用中数据管理的问题,例如提供的功能包括:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。此外,ZooKeeper还能够提供基于类似于文件系统的目录结点树方式的数据存储,主要用来维护和监控存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

在ZooKeeper中创建一个永久结点monitors,该永久结点monitors作为监控当前监控进程的根结点。

监控进程启动后,在该永久结点monitors下创建临时结点/monitors/monitor-监控进程ID-,即所述根结点的孩子结点,同时设置孩子结点为序列值自增结点,ZooKeeper将在孩子结点名称的最后自动加上序列值,例如根结点中孩子结点的序列值为前一个孩子结点的序列值加1。

步骤S3:根据预设规则,所述分布式处理框架为根结点下的孩子结点分配监控权限,拥有所述监控权限的孩子结点监控当前监控进程。

在本发明实施方式中,分配监控权限的预设规则为:

获取根结点下的所有孩子结点的序列值,判断当前孩子结点的序列值在所有孩子结点的序列值中是否最小;

如果是,则分布式处理框架为序列值最小的当前孩子结点分配监控权限,当前孩子结点获取监控权限后,启动监控当前监控进程;

如果否,则当前孩子结点在前一个孩子结点中设置状态监听回调,例如如果当前孩子结点的序列值为2,那么在序列值为1的孩子结点上设置状态监听回调;判断该前一个孩子结点的序列值在所有孩子结点的序列值值中是否是最小的;直到在根结点下确定出序列值最小的孩子结点作为当前孩子结点;分布式处理框架为序列值中最小的孩子结点分配监控权限,该孩子结点获取监控权限后,启动监控当前监控进程。

步骤S4:当前监控进程监控云接入控制器中多个服务器的服务器性能数据和/或多个业务模块的业务处理信息。

在本发明实施方式中,在所述根结点下创建服务(Server)结点,并在服务结点下创建子结点,该子结点包括第一子结点和第二子结点。

具体地,服务器性能采集程序启动后,在服务结点下创建临时结点,即服务结点的第一子结点,云接入控制器将服务器信息写入第一子结点中已使第一子结点监控服务器的服务器性能数据,所述服务器信息可以包括但不限于:主机名称,CPU、内存、磁盘等性能指标等。业务模块启动后,在服务结点下创建临时结点,即服务结点的第二子结点,云接入控制器将业务模块信息写入第二子结点中已使第二子结点监控业务模块的业务处理信息,所述业务模块信息可以包括但不限于:主机名称,模块名称,时间段内业务处理量等。

当前监控进程获取服务器信息和业务模块信息进行监控处理。

具体地,监控进程启动后,将服务结点下的所有子结点加入到缓存中并监听所有子结点的状态。如果有子结点的状态发生改变,则获取服务结点下的所有子结点。将获取的服务结点下的所有子结点与缓存中的所有子结点进行比较,如果缓存中的子结点在获取的子结点中不存在,则监控进程认为这些不存在的子结点发生了异常,监控进程向云接入控制器发送异常消息;如果缓存中的子结点在获取的子结点存在,则监控进程获取子结点中的服务器性能数据和/或业务处理信息发送给云接入控制器进行处理。

步骤S5:如果当前监控进程发生异常,分布式处理框架删除监控所述当前监控进程的孩子结点,从所述备份监控进程中确定新的当前监控进程,并从所述根结点下的所有孩子结点中确定新的孩子结点监控新的当前监控进程。

在本发明实施方式中,通过监控当前监控进程的孩子结点,当前监控进程与根结点进行信息交互,例如服务器性能数据和/或业务处理信息。此外,分布式处理框架预先设置时间间隔,例如5分钟,当前监控进程根据时间间隔周期性地向根结点发送服务器性能数据和/或业务处理信息。

如果根结点在时间间隔内没有收到当前监控进程发送的信息,即监控进程终止与根结点的信息交互,分布式处理框架删除监控所述当前监控进程的孩子结点,并将该结点删除信息发送给下一个序列值的孩子结点。

因为孩子结点在前一个孩子结点中设置状态监听回调,当下一个序列值的孩子结点收到前一个孩子结点的结点删除信息时,则认为当前监控进程发生异常,通过算法从其它备份的监控进程中挑选出一个新的监控进程接管运行。其中从备份监控进程中挑选一个新的监控进程接管运行的具体算法在本发明实施方式中并不作限制。

此外,分布式处理框架再次获取根结点下的所有孩子结点的序列值,并根据前述的预设规则确定序列值最小的孩子结点作为新的孩子结点监控新的当前监控进程。

如图2所示,本发明实施方式提供一种云接入控制器运行状态分布式监控的系统,包括:

云接入控制器,为由多个服务器以及多个业务模块组成的分布式系统,用于设置多个监控进程,其中一个为当前监控进程,其余为备份监控进程;

分布式处理框架,用于创建永久结点以及在所述永久结点下创建临时结点,所述永久结点为监控所述当前监控进程的根结点,所述临时结点为所述根结点的孩子结点;根据预设规则,为根结点下的孩子结点分配监控权限,拥有所述监控权限的孩子结点监控所述当前监控进程;所述当前监控进程监控云接入控制器中多个服务器的服务器性能数据和/或多个业务模块的业务处理信息,如果当前监控进程发生异常,则删除监控所述当前监控进程的孩子结点,从所述备份监控进程中确定新的当前监控进程,并从所述根结点下的所有孩子结点中确定新的孩子结点监控新的当前监控进程。

其中,

所述分布式处理框架为根结点下的孩子结点分配监控权限,具体为:

获取所述根结点下的所有孩子结点的序列值,判断当前孩子结点的序列值在所有孩子结点的序列值中是否最小;如果是,则为序列值最小的当前孩子结点分配监控权限;如果否,则当前孩子结点在其前一个孩子结点中设置状态监听回调,并判断所述前一个孩子结点的序列值在所有孩子结点的序列值中是否最小;直到在所述根结点下确定出序列值最小的孩子结点为序列值最小的孩子结点分配监控权限。

所述分布式处理框架,还具体用于:

在所述根结点下创建服务结点以及在所述服务结点下创建子结点,所述子结点包括第一子结点和第二子结点,其中,所述第一子结点用于监控服务器的服务器性能数据,所述第二子结点用于监控业务模块的业务处理信息;当前监控进程启动后,将所述服务结点下的所有子结点加入到缓存中并监听所有子结点的状态,当存在子结点的状态发生改变时,获取所述服务结点下的所有子结点,并将获取的所有子结点和缓存中的所有子结点进行比较;如果缓存中的子结点在获取的子结点中不存在,则当前监控进程判断出所述不存在的子结点发生异常并将异常信息发送给云接入控制器;如果缓存中的子结点在获取的子结点存在,则当前监控进程获取所述存在的子结点监控的服务器性能数据和/或业务处理信息并发送给云接入控制器进行处理。

所述当前监控进程发生异常,具体为:

当前监控进程根据预先设置的时间间隔周期性地发送服务器性能数据和/或业务处理信息;如果在所述时间间隔内没有收到所述当前监控进程发送的服务器性能数据和/或业务处理信息,则所述当前监控进程发生异常。

所述分布式处理框架,还具体用于:

如果当前监控进程发生异常,分布式处理框架删除监控所述当前监控进程的孩子结点,并将结点删除信息发送给下一个序列值的孩子结点;当所述下一个序列值的孩子结点收到所述结点删除信息时,向所述根结点发送所述当前监控进程和监控所述当前监控进程的孩子结点的异常信息,则分布式处理框架从所述备份监控进程中确定新的当前监控进程,并根据所述预设规则从所述根结点下的所有孩子结点中确定新的孩子结点监控新的当前监控进程。

上述的涉及到的云接入控制器运行状态分布式监控的系统的具体技术细节和云接入控制器运行状态分布式监控的方法中的类似,故不再具体赘述。

由上可见,本发明实施方式提供的一种云接入控制器运行状态分布式监控的方法和系统,通过使用分布式监控方式,把监控置于分布式环境下,保证在发生故障时,监控系统能实时的发现系统的运行故障,即使单台或多台监控进程发生故障,也能保证监控机制的正确运行。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。

最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

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