一种通用业务监控方法转让专利

申请号 : CN200910256115.6

文献号 : CN101834750B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗端红张新华彭坤

申请人 : 山东中创软件商用中间件股份有限公司

摘要 :

本发明是一种通用业务监控方法,包括设置一业务监控平台,与监控代理模块之间遵循IIOP协议,实现人机交互和数据管理;至少有一台被监控计算机,每台被监控计算机上有一个监控代理模块,负责从被监控模块收集数据、向被监控模块传达指令和控制被监控模块的启动或开启;以及与每一监控代理对应至少一被监控模块,用于实现具体业务、收集监测数据、执行控制命令、组织显示数据模型;在被监控模块中设置界面描述信息和数据元模型,用于监控业务服务。

权利要求 :

1.一种通用业务监控方法,包括:

设置一业务监控平台,与监控代理模块和被监控模块之间遵循IIOP协议通信,采用页面自动生成技术根据界面描述,产生图形界面,实现人机交互和数据管理;

至少一台被监控计算机,被监控计算机上运行一个监控代理模块,负责从被监控模块收集数据、向被监控模块传达指令和控制被监控模块的启动或开启;以及每一监控代理模块不代理或者代理至少一个被监控模块,用于实现具体业务、收集监测数据、执行控制命令、组织显示数据模型;

其特征在于:在被监控模块中设置界面描述信息和数据元模型,用于监控业务服务;

以及在业务监控平台、监控代理模块、被监控模块内设置能够包容各种业务数据的通信接口操作;在业务监控平台、监控代理模块、被监控模块之间数据通讯的步骤如下:首先开始步骤1.1、2.1和3.1,即监控平台、监控代理与被监控服务都初始化;

在初始化完成之后,被监控的过程开始于被监控服务的步骤3.2,被监控服务注册到监控代理,并把被监控服务中的描述信息注册到监控代理;监控代理拿到被监控服务的描述信息后,将被监控服务的描述信息和对象引用存放在服务信息表;

步骤1.2:监控平台搜索监控代理;本步骤与步骤3.2是独立的两个步骤;

然后进入步骤1.3:监控平台接收用户访问监控代理的消息;

然后进入步骤1.4:监控平台访问监控代理,从监控代理中取回注册到监控代理的被监控服务信息;

然后进入步骤1.5:监控平台接收用户访问被监控服务的消息;

然后开始步骤1.6:监控平台读取被监控服务的监控界面描述信息;监控平台调用监控代理的取指定被监控服务的监控界面描述信息的接口,监控代理在接收到调用请求后,根据服务名查找服务信息表,取出被监控服务的对象引用,进入步骤1.7;

步骤1.7:监控代理调用被监控服务的取监控界面描述信息方法,读取监控界面描述信息,返回给监控平台;

然后再进入步骤1.8:监控平台接收用户访问某监控界面的请求;

然后再进入步骤1.9:监控平台通过监控代理取某个被监控服务中用户指定的监控页面中监控信息;监控代理接收到调用请求后,根据名字在服务信息表中查找指定被监控服务的对象引用,进入步骤1.10;

步骤1.10:监控代理调用被监控服务的取指定页面的监控数据接口,读取被监控服务的监控数据,返回给监控平台;

再进入步骤1.11:监控数据与该页面的监控描述信息一起,生成监控页面;

然后进入步骤1.12:监控平台接收用户的命令请求;

再进入步骤1.13:调用命令执行接口,监控平台根据命令信息,从监控页面的界面描述信息中查找命令描述信息,并根据命令的参数描述信息,将提交给后台服务的页面参数信息中有用的参数值取出,通过监控代理调用指定被监控服务的命令处理方法;监控代理接收到调用命令处理方法的请求后,根据名字在服务信息表中查找指定被监控服务的对象引用,进入步骤1.14;

步骤1.14:监控代理调用被监控服务的命令处理方法,完成命令的执行,并将执行结果返回给监控平台,监控平台显示返回结果;

然后进入步骤1.15:监控平台通过监控代理调用带参数的被监控服务的读取监控信息的接口;监控代理接收到调用请求后,根据名字在服务信息表中查找指定被监控服务的对象引用,进入步骤1.16;

步骤1.16:监控代理调用被监控服务的取指定页面的监控数据接口,读取被监控服务的监控数据,返回给监控平台;

再进入步骤1.17:监控数据与该页面的监控描述信息一起,生成监控页面。

2.根据权利要求1所述的通用业务监控方法,其特征在于:所述界面描述信息是这样设置的:按照元素、分组和表格的组合来组织监控界面,元素的属性包括:元素名、显示标题、描述、取值属性;元素分组的属性包括:分组名、显示标题、描述、一组元素、一组命令,其中,一组元素包括0到n个元素,其中n为大于0的整数,一组命令包括0到n个命令,其中n为大于0的整数;命令的属性包括:命令名、显示名、描述、一组命令参数,一组命令参数包括0到n个命令参数,其中n为大于0的整数;表格的属性包括:表格名、显示标题、描述、标题参数、一组命令,标题参数是一组元素,包含1到n个元素,其中n为大于1的整数,在标题参数中,只有第一个标题参数可以作为可输入值使用。

3.根据权利要求1所述的通用业务监控方法,其特征在于:所述数据元模型包括:数据类型、读写特性、缺省值、可选值范围、选择类型;其中,数据类型包括:整形、字符串、字符、字节数组、邮戳、日期、时间、浮点;读写特性包括只读、可写;缺省值给出了在没有给出值的情况下,数据的取值;可选值范围给出了可能的取值集;选择类型给出了可选值的选择方式,是可多选还是单选。

4.根据权利要求1或3所述的通用业务监控方法,其特征在于:与数据元模型对应,监控模型数据的组织分为元素、元素分组和表格,其中元素、元素分组的值按<名,值>对组织,表格的值按照记录的形式即标题参数的取值元组的形式给出;一个监控模型数据中含有一个元素序列、一个分组序列和一个表格序列;每个序列的长度是0或n,其中n为大于

0的整数,这样,通过元素序列、分组序列、表格序列以及分组中元素和表格中元素的多样性和个数的变化,就可以构成不同的监控界面数据的组织。

5.根据权利要求1所述的通用业务监控方法,其特征在于:定义的通信接口操作为:取界面描述信息、监控操作、辅助操作,其中,取描述信息包括:取监控代理所代理的被监控服务信息、取被监控服务中的元模型信息;监控操作包括:读取监控信息、执行监控命令、告警;辅助操作包括:注册操作、注销操作、检测存活操作。

说明书 :

一种通用业务监控方法

技术领域

[0001] 本发明涉及一种基于CORBA的通用业务监控方法。

背景技术

[0002] 为保障大型分布式应用软件系统的稳定运行,需要集中监控分布在网络中的各种运行应用软件的运行状况及工作细节。在现有的应用软件的业务监控系统的设计中,一般存在两种方式。一种是只针对自己所涉及的业务逻辑或者某一业务领域如电表监控领域的业务逻辑进行设计,从而得到一个在该领域或者项目中的业务监控系统,这种做法是业务监控系统设计的初级阶段;另外一种做法是总结监控系统的一种一般模式,给出一个通用的设计,从而扩展出适用范围更广的监控系统框架。
[0003] 基于CORBA的自适配的业务监控框架技术属于后一种方式。在这种方式下,集中监控系统都由监控工具、监控代理和被监控的业务服务组成。监控工具负责用户接口界面以及对数据的管理逻辑,监控代理负责主监控工具和被监控的业务服务之间的通信并管理被监控的业务服务的运行,被监控的业务服务是业务逻辑的主体,除完成自有的业务逻辑外,还负责收集数据、执行监控代理送达的命令。通用的监控系统框架是指当按要求开发的被监控的业务服务启动后,监控工具可以手动或自动发现业务服务,并且无须开发就可以监控业务服务。典型的例子就是使用SNMP协议实现的网络设备监控系统。
[0004] SNMP协议是以网络设备管理为目标而设计的,使用UDP协议作为通信协议。其定义的网络管理系统包括三个基本要素:网络管理软件、管理代理、管理信息数据库。网络管理软件通过管理代理定期收集重要的设备信息,用于确定独立的网络设备、部分网络、或整个网络运行的状态是否正常。管理代理是驻留在网络设备中的软件模块,用于与管理软件通信,获得网络设备中的运转状态、设备特性、系统配置等相关信息。管理信息数据库是一个信息存储库,包括了数千个数据对象,网络管理软件通过管理代理控制这些数据对象去控制、配置或监控网络设备。数据对象使用对象标识来定位。为了保证数据对象的唯一性,SNMP协议规定以树型结构组织数据对象,且设立了专门的组织来管理数据对象的标识,以保证每个厂商的设备中的数据对象具有唯一的对象标识。SNMP协议定义了Get、GetResponse、GetNext、Set、Trap五种基本的操作:
[0005] 1.Get操作从一个特定的变量读取数值。
[0006] 2.GetResponse操作:从一个特定的变量表格中截取信息。
[0007] 3.GetNext:请求下一个对象的值。
[0008] 4.Set:用来修改或创建对象。
[0009] 5.Trap:SNMP代理向SNMP管理工具发送非请求消息,一般用于通知有某些事情发生。
[0010] 也有的集中监控系统采用SNMP协议来实现监控工具和被监控的业务服务之间的信息管理,但是,SNMP协议是面向设备监控而设计的,采用SNMP协议作为应用软件的监控协议,主要有如下缺点:
[0011] 1.SNMP协议中使用对象标识来定位设备中的数据对象,并成立专门的组织来规划和管理对象标识,这对管理网络设备是合适的,但是由于应用软件面向的是多样化的业务,无法将其从业务上统一规划。
[0012] 2.应用软件的业务监控更多地是关注一组关联信息及其相互关系,往往可以用监控界面来表达,而SNMP协议没有与数据对象显示相关的定义,所以,不能支持在被监控服务中定义监控界面。

发明内容

[0013] 本发明的目的就是针对上述的不足,提供了一种通用的监控框架,开发者按照框架的要求编写被监控服务,当被监控服务启动后,就自动注册到监控代理,监控平台能自动搜索监控代理,并通过监控代理从被监控服务中读取界面描述信息和监控数据,自动产生监控界面。该监控界面向用户提供监控信息和接受用户的监控指令,从而实现与用户的交互,完成用户对被监控服务的监控操作。
[0014] 一种通用业务监控方法,包括:
[0015] 设置一业务监控平台,与监控代理模块之间遵循IIOP协议,实现人机交互和数据管理;
[0016] 至少有一台被监控计算机,每台被监控计算机上有一个监控代理模块,负责从被监控模块收集监控描述数据和监控数据、向被监控模块传达指令和控制被监控模块的启动或开启;以及
[0017] 每一监控代理模块可不代理(即表示监控代理单独运行,等待被监控服务注册)或者代理至少一个被监控模块,用于实现具体业务、收集监测数据、执行控制命令、组织显示数据模型;以及
[0018] 在被监控模块中设置界面描述信息和数据元模型,用于监控业务服务以及在业务监控平台、监控代理模块、被监控模块内设置能够包容各种业务数据的通信接口操作。
[0019] 上述监控代理模块不代理被监控模块时,也是一种状态,即监控代理单独运行,等待被监控服务的注册,这是容易理解和实现的,是现有技术中存在的,此处不再叙述。
[0020] 界面显示的元模型定义实际上决定了整个监控框架监控的内容的性质。本发明的监控框架主要针对结构化数据的业务监控。在本监控框架中,将监控界面显示定义为由一个或多个元素、一个或多个元素分组或一个或多个表格构成的集合。所述界面描述信息是这样设置的:按照元素、分组和表格的组合来组织监控界面,元素的属性包括:元素名、显示标题、描述、取值属性;元素可以是不显示、显示框、文本框、选择框、组合框、单选框,这要根据元素的取值属性来决定;元素分组的属性包括:分组名、显示标题、描述、一组元素、一组命令组成,一组元素可以包括0到n(n>0,整数)个元素,一组命令可以包括0到n(n>0,整数)个命令;命令的属性包括:命令名、显示名、描述、一组命令参数,一组命令参数可以包括0到n(n>0,整数)个命令参数。命令参数必须是界面上的一个元素或组成界面上分组或表格的元素。表格的属性包括:表格名、显示标题、描述、标题参数、一组命令,标题参数是一组元素,包含1到n(n>1,整数)个元素,在标题参数中,只有第一个标题参数可以作为可输入值使用。元素和分组中的元素的显示标题为空,表示该值不显示。通过元素序列、分组序列、表格序列以及分组中元素和表格中元素和命令的多样性和个数的变化,就可以构成不同的监控界面。通过界面中元素、分组及分组中元素和命令和表格及表格中元素和命令的个数和属性的变化,决定了界面的差异,同时也为通信接口提供了可扩展的统一的数据结构。
[0021] 所述数据元模型包括:数据类型、读写特性、缺省值、可选值范围、选择类型;其中,数据类型包括:整形、字符串、字符、字节数组、邮戳、日期、时间、浮点;读写特性包括只读、可写;缺省值给出了在没有给出值的情况下,数据的取值;可选值范围给出了可能的取值集;选择类型给出了可选值的选择方式,是可多选还是单选。数据的元模型为监控平台中监控界面的自动生成提供了数据基础。
[0022] 与数据元模型对应,监控模型数据的组织分为元素、元素分组和表格,其中元素、元素分组的值按<名,值>对组织,表格的值按照记录的形式即标题参数的取值元组的形式给出;一个监控模型数据中含有一个元素序列、一个分组序列和一个表格序列;每个序列的长度可以是0或n(n>0,整数),这样,通过元素序列、分组序列、表格序列以及分组中元素和表格中元素的多样性和个数的变化,就可以构成不同的监控界面数据的组织。元素序列、分组序列及分组中的元素序列、表格序列及表格中的记录的列的个数的变化,决定了监控信息的组成,同时也为统一的通信接口提供了扩展性良好的数据结构。
[0023] 使用符合上述要求的数据结构作为界面描述信息、监控信息的数据载体,定义的通信接口操作为:取界面描述信息、监控操作、辅助操作,其中,取描述信息包括:取监控代理所代理的被监控服务信息、取被监控服务中的元模型信息;监控操作包括:读取监控信息、执行监控命令、告警;辅助操作包括:注册操作、注销操作、检测存活操作。
[0024] 本发明提供的通用业务监控方法具有如下优点:
[0025] 1.能实现监控工具自动对各种不同的业务服务的统一监控。
[0026] 当业务服务按照通用监控技术的要求进行封装后,启动业务服务,监控工具就能自动发现业务服务,并且能够根据业务服务中对监控界面的描述显示监控界面、接收用户输入的监控命令和参数,实现对业务服务中的各种业务的监控,甚至能够利用这些界面完成业务逻辑。
[0027] 2.制作成监控规范,便于大系统的开发。
[0028] 通用业务监控技术的特点是把与业务服务的监控内容放在业务服务的开发中编写,减少了沟通环节,便于制定规范,让被监控的服务的开发人员按照规范编写服务,方便时间跨度长、开发商多的大系统的开发。
[0029] 3.适用于大规模分布式系统的业务监控。
[0030] 大规模分布式系统分布范围广,监控者与被监控服务之间存在地域上的差异,而且被监控的对象众多,很难人工记得,因此,被监控服务的自动接入与统一监控就显得更为重要。

附图说明

[0031] 图1为本发明实施例的流程图。

具体实施方式

[0032] 下面以非限定性的实施方式进一步解释、说明本技术方案。
[0033] 一种通用业务监控方法,如图1所示,是通用业务监控技术业务流程图。图中显示了使用通用监控技术实现业务监控的一个完整的流程。图中,序号为1.x的消息表示是由监控平台主动发起,序号为2.x的消息表示是由监控代理主动发起,序号为3.x的消息表示是由被监控服务主动发起。
[0034] 图中左侧为监控平台,中间为监控代理,右侧为被监控服务。从图中可以看出,监控平台与被监控服务都能主动发起访问,而监控代理则只能等待访问,起中间传递的作用。
[0035] 在实际过程中,监控平台的流程与被监控服务的流程没有严格的相关时间序,有联系的地方是:被监控服务必须在监控代理启动之后启动;监控平台只有在监控代理启动之后才能找到监控代理。
[0036] 图中的流程实际包括了监控平台的处理流程和被监控服务的处理流程。
[0037] 首先开始步骤1.1、2.1和3.1,即监控平台、监控代理与被监控服务都初始化,这与与本发明的实质无关,且是本领域普通技术人员熟知的。
[0038] 在初始化完成之后,本服务开始于被监控服务的步骤3.2。被监控服务注册到监控代理,并把被监控服务中的描述信息注册到监控代理;监控代理拿到被监控服务的描述信息后,将被监控服务的描述信息和对象引用存放在服务信息表。
[0039] 步骤1.2:监控平台搜索监控代理,将监控平台中的告警服务注册到监控代理。在实例中被搜索到的监控代理以树形中的节点的方式显示在监控界面上。步骤与步骤3.2是独立的两个步骤。
[0040] 然后进入步骤1.3:监控平台接收用户访问监控代理的消息,在实例中是用户点击监控代理。
[0041] 然后进入步骤1.4:监控平台访问监控代理,从监控代理中取回注册到监控代理的被监控服务信息。在实例中是将取回的被监控服务的信息以监控代理的子节点的形式显示在树形图上。
[0042] 然后进入步骤1.5:监控平台接收用户访问被监控服务的消息。在实例中是用户点击被监控服务。
[0043] 然后开始步骤1.6:监控平台读取被监控服务的监控界面描述信息。监控平台调用监控代理的取指定被监控服务的监控界面描述信息的接口,监控代理在接收到调用请求后,根据服务名查找服务信息表,取出被监控服务的对象引用,进入步骤1.7。
[0044] 步骤1.7:监控代理调用被监控服务的取监控界面描述信息方法,读取监控界面描述信息,返回给监控平台。监控平台根据监控界面描述信息给出的页面个数及第一个监控界面的描述信息,生成第一个监控界面及其他页面的Tab。根据监控描述信息生成监控界面,这在现有技术中是容易实现的,故不再叙述。
[0045] 然后再进入步骤1.8:监控平台接收用户访问某监控界面的请求。本实例中是点击某监控页面的Tab。
[0046] 然后再进入步骤1.9:监控平台通过监控代理取某个被监控服务中用户指定的监控页面中监控信息。监控代理接收到调用请求后,根据名字在服务信息表中查找指定被监控服务的对象引用,进入步骤1.10。
[0047] 步骤1.10:监控代理调用被监控服务的取指定页面的监控数据接口,读取被监控服务的监控数据,返回给监控平台。
[0048] 再进入步骤1.11:监控数据与该页面的监控描述信息一起,生成监控页面。根据监控描述信息和监控信息生成监控界面,这在现有技术中是容易实现的,故不再叙述。
[0049] 然后进入步骤1.12:监控平台接收用户的命令请求。实例是:如果产生的监控页面上存在按钮,用户点击按钮,页面将监控界面上的参数信息和按钮上的命令信息提交给后台web服务,即监控平台。
[0050] 再进入步骤1.13:监控平台根据按钮上的命令信息,从监控页面的界面描述信息中查找命令描述信息,并根据命令的参数描述信息,将提交给后台web服务的页面参数信息中有用的参数值取出,通过监控代理调用指定被监控服务的命令处理方法。监控代理接收到调用命令处理方法的请求后,根据名字在服务信息表中查找指定被监控服务的对象引用,进入步骤1.14。
[0051] 步骤1.14:监控代理调用被监控服务的命令处理方法,完成命令的执行,并将执行结果返回给监控平台,监控平台显示返回结果。
[0052] 然后进入步骤1.15:监控平台通过监控代理调用带参数的被监控服务的读取监控信息的接口。监控代理接收到调用请求后,根据名字在服务信息表中查找指定被监控服务的对象引用,进入步骤1.16。
[0053] 步骤1.16:监控代理调用被监控服务的取指定页面的监控数据接口,读取被监控服务的监控数据,返回给监控平台。
[0054] 再进入步骤1.17:监控数据与该页面的监控描述信息一起,生成监控页面。根据监控描述信息和监控信息生成监控界面是一个复杂的过程,这在现有技术中是容易实现的,故不再叙述。
[0055] 在被监控服务有紧急情况,需要通知监控平台时,使用告警。
[0056] 步骤3.2:被监控服务调用监控代理的告警服务接口。
[0057] 步骤3.3:监控代理接收到的被监控服务的告警信息,调用注册到监控代理中的监控平台告警服务的告警接口,将告警信息推送到监控平台。
[0058] 步骤3.4:监控平台的告警服务接收到告警信息,将告警信息写入到告警信息表。
[0059] 步骤3.5:监控平台的告警服务写新告警到达标志。转1.3.6
[0060] 步骤1.3.6:监控平台检测到新告警信息到达,弹出告警窗口并显示告警信息。