一种DCS监控后台系统采集传输诊断数据的方法
文献发布时间:2023-06-19 09:29:07
技术领域
本发明涉及DCS监控后台系统技术领域,具体涉及一种DCS监控后台系统采集传输诊断数据的方法。
背景技术
在现有技术方案中,DCS监控后台系统在采集本地DPU、主机和监控后台系统的诊断数据后,需要采用不同的方式进行采集诊断数据并把其传输到诊断服务端由其进行分析,而不能使用相同的方式采集操作员站、工程师站和历史站三种类型服务器上的诊断数据及传输到诊断服务端,原因如下:
在DCS监控后台系统中,操作员站是一个可以独立运行的远程工作站,其不能进行维护操作,因此,其工作模式与工程师站、历史站不同,导致当前有些DCS监控后台系统不支持从操作员站采集诊断数据,有些能支持从操作员站采集诊断数据,但操作员站与非操作员站上的诊断数据传输方式不能统一,导致增加现场运维成本。
当前国外大部分DCS监控后台系统中,都采用区分操作员站和非操作员站的两种方式,采集其上的DPU信息、主机信息、监控后台系统应用信息等诊断数据,同时也使用两种不同的方式把诊断数据传输到诊断服务端上,且诊断服务器是单机运行,从而在国外DCS监控后台系统中,获取诊断数据的部署和维护是一项复杂的过程。
随着DCS监控后台系统国产化的发展,需要自主可控的DCS监控后台系统能简化诊断数据采集传输,进而简化其部署和维护。本技术方案通过采用统一的诊断数据采集探针和引入订阅发布模式,来实现使用统一的方式,从操作员站、工程师站和历史站上采集传输诊断数据到诊断服务端,且诊断服务端是N个(N>=1),实现诊断数据分析冗余的目的。
发明内容
针对现有技术中存在的问题,本发明致力于解决以下问题:
1)通过使用订阅发布的模式,使得在DCS监控后台系统中,能实现使用统一的采集传输方式,从操作员站、工程师站和历史站中获取到需要的诊断数据。
2)通过使用订阅发布的模式,诊断数据能支持一个发布者发布消息,多个订阅者都能收到相同的消息,具备多个诊断服务端分别进行集中诊断的功能,达到诊断服务端冗余的目的。
为了达到上述目的,本发明采用如下技术方案:
一种DCS监控后台系统采集传输诊断数据的方法,操作员站、工程师站和历史站上各自的采集探针通过对应的接口获取其上的诊断数据,作为消息发布者,将采集的诊断数据发布到注册的通道中;消息中转者在收到某个通道上发布的消息后,查看该通道上是否有N>0个订阅者以及有N>1个订阅者,再把消息拷贝N份转发给订阅该通道的所有订阅者,然后把该消息删除;诊断服务端作为订阅者从订阅的通道中获取诊断数据,再对诊断数据进行展示。
所述操作员站、工程师站和历史站上各自的采集探针通过对应的接口获取其上的诊断数据,作为消息发布者,将采集的诊断数据发布到注册的通道中的具体方法为:
步骤1、诊断数据的采集:
1)操作员站上的采集探针:通过操作系统接口获取本地主机CPU、内存、网络状态信息;通过监控后台系统接口获取后台系统的关键应用、关键进程状态信息;
2)工程师站上的采集探针:通过监控后台系统接口获取本地DPU状态信息,本地主机CPU、内存、网络状态信息,后台系统的关键应用、关键进程状态信息;
3)历史站上的采集探针:通过监控后台系统接口获取所有DPU状态信息,本地主机CPU、内存、网络状态信息,后台系统的关键应用、关键进程状态信息;
步骤2、诊断数据的发布:采集探针在采集到操作员站、工程师站和历史站上的诊断数据后,调用统一的发布接口,把诊断数据发布到注册的通道上。
所述消息中转者在收到某个通道上发布的消息后,查看该通道上是否有N>0个订阅者以及有N>1个订阅者,再把消息拷贝N份转发给订阅该通道的所有订阅者的具体方法为:
步骤1、诊断数据的接收:消息中转模块监听所有采集探针注册的发布通道,当从通道中获取到消息时,则把消息放入到该通道对应的队列中,通道和队列是一一对应的;
步骤2、诊断数据的转发:当发现队列中有消息时,则取出该消息,并判断是否有N>0个消息订阅者订阅该通道,如果没有,则直接删除该条消息;如果有,则再判断是否N>1,如果是,则把消息拷贝N份分别发送给消息订阅者;如果不是,则直接把消息发送给消息订阅者。
所述诊断服务端作为订阅者从订阅的通道中获取诊断数据,再对诊断数据进行展示的具体方法为:
步骤1、诊断数据的订阅:诊断服务端订阅所有采集探针注册的发布通道,当接收到发布通道的诊断数据时,根据诊断数据的内容,刷新到后台监控系统的实时库中;
步骤2、诊断数据的展示:诊断服务端从后台监控系统的实时库中获取相关的诊断数据,并根据设置的告警选项进行展示。
和现有技术相比较,本发明具备如下有益效果:
1)提供了一种DCS监控后台系统诊断数据采集传输的方法,解决传统DCS监控后台系统采集传输操作员站上诊断数据困难的问题。
2)在操作员站、工程师站和历史站上采用统一的诊断信息采集探针,实现DCS系统中诊断信息采集的统一化。
3)通过使用一个发布者、多个订阅者的订阅发布模式,实现诊断服务端的多机热备功能。
附图说明
图1为订阅发布模式示意图。
图2为诊断数据采集基本框架图。
图3为采集探针模块的流程图。
图4为消息中转模块的流程图。
图5为诊断服务端模块的流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
本发明的技术方案为:一种DCS监控后台系统诊断数据采集传输诊断数据的方法,用于解决传统DCS监控后台系统采集传输诊断数据困难、方式不统一的问题,主要通过订阅发布的模式,包括了消息发布者、消息中转者和消息订阅者,具体流程如图1。
具体的流程如图2,操作员站、工程师站和历史站上各自的采集探针通过对应的接口获取其上的诊断数据,作为消息发布者,将采集的诊断数据发布到注册的通道中;消息中转者在收到某个通道上发布的消息后,查看该通道上是否有N>0个订阅者以及有N>1个订阅者,再把消息拷贝N份转发给订阅该通道的所有订阅者,然后把该消息删除;诊断服务端作为订阅者从订阅的通道中获取诊断数据,再对诊断数据进行分析展示。
采集探针模块:主要包括诊断数据的采集和发布两个功能,具体流程如图3:
1、诊断数据的采集:
1)操作员站上的采集探针:通过操作系统接口获取本地主机CPU、内存、网络等状态信息;通过监控后台系统接口获取后台系统的关键应用、关键进程等状态信息。
2)工程师站上的采集探针:通过监控后台系统接口获取本地DPU状态信息,本地主机CPU、内存、网络等状态信息,后台系统的关键应用、关键进程等状态信息。
3)历史站上的采集探针:通过监控后台系统接口获取所有DPU状态信息,本地主机CPU、内存、网络等状态信息,后台系统的关键应用、关键进程等状态信息。
2、诊断数据的发布:采集探针在采集到操作员站、工程师站和历史站上的诊断数据后,调用统一的发布接口,把诊断数据发布到注册的通道上。
消息中转模块:主要包括诊断数据的接收和转发两个功能,具体流程如图4。
1、诊断数据的接收:消息中转模块监听所有采集探针注册的发布通道,当从通道中获取到消息时,则把消息放入到该通道对应的队列中,通道和队列是一一对应的。
2、诊断数据的转发:当发现队列中有消息时,则取出该消息,并判断是否有N>0个消息订阅者订阅该通道,如果没有,则直接删除该条消息;如果有,则再判断是否N>1,如果是,则把消息拷贝N份分别发送给消息订阅者;如果不是,则直接把消息发送给消息订阅者。
诊断服务端模块:主要包括诊断数据的订阅和展示,具体流程如图5。
1、诊断数据的订阅:诊断服务端订阅所有采集探针注册的发布通道,当接收到发布通道的诊断数据时,根据诊断数据的内容,刷新到后台监控系统的实时库中。
2、诊断数据的展示:诊断服务端从后台监控系统的实时库中获取相关的诊断数据,并根据设置的告警选项进行展示。