公开/公告号CN102136926A
专利类型发明专利
公开/公告日2011-07-27
原文格式PDF
申请/专利权人 新奥特(北京)视频技术有限公司;
申请/专利号CN201010102378.4
申请日2010-01-27
分类号H04L12/24;H04L12/26;H04L29/06;
代理机构北京润泽恒知识产权代理有限公司;
代理人苏培华
地址 100080 北京市海淀区西草场1号硅谷电脑城15层1501-1506室
入库时间 2023-12-18 02:51:52
法律状态公告日
法律状态信息
法律状态
2018-02-27
未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20140319 终止日期:20170127 申请日:20100127
专利权的终止
2014-03-19
授权
授权
2011-12-21
实质审查的生效 IPC(主分类):H04L12/24 申请日:20100127
实质审查的生效
2011-07-27
公开
公开
技术领域
本发明涉及网络数据通信技术领域,特别是涉及一种主动收集数据的方法和主动收集数据的服务器。
背景技术
随着网络通信技术的不断发展和网络规模的不断扩大,如何实现对网络的监控就成为了网络管理中需要解决的问题。对于一个网络监控系统,通常采用客户端、服务器、监控终端的建构形式,其中,服务器作为服务媒介从监控终端上收集监控数据,客户端从服务器上获取该数据,实现对终端的监控。
从广义上讲,服务器是指网络环境下能对其它机器(客户端)提供某些服务的计算机系统(如果一个PC对外提供ftp服务,也可以叫服务器)。从狭义上来讲,服务器是专指某些高性能计算机,能够通过网络,对外提供服务。服务器安装有网络操作系统(如Windows 2000 Server、Linux、Unix等)和各种服务器应用系统软件(如Web服务、电子邮件服务)的计算机。
现有技术中,服务器收集数据的方法通常采用单一的模式,例如采用基于简单网络管理协议(SNMP,Simple Network Management Protocol)的方式,单一收集数据的方式通常会出现如下问题:有些情况下,监控终端的某些指标可能不支持该种方式,例如SNMP协议的方式无法获取监控终端的性能表数据,因而造成某些指标的数据信息不能内服务器获取到。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够提供一种针对监控终端的主动收集数据的方法和主动收集数据的服务器,使得收集到的指标数据更加多样化、全面化。
发明内容
本发明所要解决的技术问题是提供一种主动收集数据的方法和主动收集数据的服务器,使得收集到的指标数据更加多样化、全面化。
为了解决上述问题,本发明公开了一种主动收集数据的方法,包括:
在服务器的数据库中定义待收集数据的指标结构;所述指标结构包括:指标名称、以及相应的指标ID和获取方式;
按照用户对监控终端定制的监控指标的名称,在服务器的数据库中查找相应的指标ID和获取方式;
服务器依据所述获取方式访问监控终端,收集与所述指标ID对应的数据信息。
优选的,所述获取方式包括:SNMNP方式、WMI方式、Web services方式或访问oracle数据库方式。
优选的,所述服务器向多个监控终端收集数据;
则服务器中记录各个监控终端的终端ID,根据所述终端ID访问指定的监控终端。
具体的,当获取方式为WMI方式时,
服务器通过调用dll动态库文件收集相应的数据信息。
具体的,当获取方式为Web services方式时,
服务器依据监控终端对外发布的接口形式,调用相应的接口,收集相应的数据信息。
具体的,当获取方式为访问oracle数据库方式时,
服务器通过在监控终端的mib库中获取相应的性能表和视图的名称,访问性能表和视图,收集相应的数据信息。
此外,本发明还公开了一种主动收集数据的服务器,包括:
指标定义单元,用于在服务器的数据库中定义待收集数据的指标结构;所述指标结构包括:指标名称、以及相应的指标ID和获取方式;
指标查找单元,用于按照用户对监控终端定制的监控指标,在服务器的数据库中查找相应的指标ID和获取方式;
数据收集单元,用于依据所述获取方式访问监控终端,收集与所述指标ID对应的数据信息。
优选的,所述获取方式包括:SNMNP方式、WMI方式、Web services方式或访问oracle数据库方式。
优选的,所述服务器向多个监控终端收集数据;
所述服务器还包括:
终端ID记录单元,用于记录各个监控终端的终端ID,
则所述数据收集单元根据所述终端ID访问指定的监控终端。
具体的,当获取方式为WMI方式时,所述数据收集单元通过调用dll动态库文件收集相应的数据信息;
当获取方式为Web services方式时,所述数据收集单元依据监控终端对外发布的接口形式,调用相应的接口,收集相应的数据信息;
当获取方式为访问oracle数据库方式时,所述数据收集单元通过在监控终端的mib库中获取相应的性能表和视图的名称,访问性能表和视图,收集相应的数据信息。
与现有技术相比,本发明具有以下优点:
本发明在服务器的数据库中定义待收集数据的指标结构,然后按照用户对监控终端定制的监控指标的名称,在服务器的数据库中查找相应的指标ID和获取方式;进一步,服务器依据查找到的获取方式访问监控终端,收集与所述指标ID对应的数据信息。通过本发明,避免了单一收集数据方式所遇到的问题,即监控终端的某些指标可能不支持单一收集数据的方式,进而收集不到此类指标的数据信息。本发明在服务器中定义了多种数据的获取方式,根据用户定制的指标,查询相应的指标ID和获取方式,服务器对监控终端的访问集成了多种收集数据的方式,服务器收集的数据信息更加完整、全面、多样化。
此外,本发明还可以对收集数据的方式进行扩展,所述获取方式包括:SNMNP方式、WMI方式、Web services方式或访问oracle数据库方式等多种,则能够很好地把其他收集数据的方式集成到已有的方式中。进一步,通过终端ID,服务器还可以向多个监控终端收集数据。
附图说明
图1是本发明一种主动收集数据的方法实施例的流程图;
图2是本发明一种主动收集数据的服务器实施例的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一种主动收集数据的方法实施例的流程图,包括:
步骤101,在服务器的数据库中定义待收集数据的指标结构;所述指标结构包括:指标名称、以及相应的指标ID和获取方式;
针对要监控终端的指标,将指标信息记录在服务器的数据库中,所述指标在数据库中定义的结构为:指标名称+指标ID+获取方式,三个字段。其可以按照数据库表的形式记录,如下所示,为指标结构表,其给出了四条结构条目:
其中,有些指标的指标名称与指标ID具有相同的形式,如逻辑磁盘名称及其相应的ID均可以用“Name”表示。进一步,所述指标结构表还可以包括“指标数据”,在未收集到数据时该字段的内容为空。
优选的,所述获取方式包括:SNMNP方式、WMI方式、Web services方式或访问oracle数据库方式。
步骤102,按照用户对监控终端定制的监控指标的名称,在服务器的数据库中查找相应的指标ID和获取方式;
用户预先定制被监控终端要监控的指标,针对监控终端,从服务器的数据库中根据指标名称查找到对应指标的结构条目,进一步得到相应的指标ID和获取方式。
例如根据用户定制的指标sysName,查找到相应的指标ID:1.3.6.1.2.1.11.24.0,以及获取方式:SNMP方式。或者,根据用户定制的指标逻辑硬盘名称Name,查找到相应的指标ID:Name,以及获取方式WMI方式。
步骤103,服务器依据所述获取方式访问监控终端,收集与所述指标ID对应的数据信息。
依据在服务器的数据库中查找的结果,服务器按照相应的获取方式,如SNMNP方式、WMI方式、Web services方式或访问oracle数据库方式,访问监控终端,获取到与指标ID相应的指标数据。进一步,可以将获取的指标数据填入到数据库中指标结构表的“指标数据”字段中。
下面对各种获取方式进行说明:
一、SNMNP方式:
即基于SNMP协议的方式,它是由互联网工程任务组(IETF:InternetEngineering Task Force)定义的一套网络管理协议。该协议基于简单网关监视协议(SGMP:Simple Gateway Monitor Protocol)。利用SNMP,一个管理工作站可以远程管理所有支持这种协议的网络设备,包括监视网络状态、修改网络设备配置、接收网络事件警告等。
基于SNMP协议收集数据的方式针对支持SNMP协议的监控终端,服务器通过SNMP协议,根据指标ID获取到相应的指标数据。通过该协议获取的指标可以包括:sysDescr、sysUpTime、sysName、operation system等。例如根据用户指定的指标operation system,服务器访问监控终端,获取到所对应的指标数据为windows xp。
二、WMI方式:
Windows管理规范(WMI,windows manager interface)是一项核心的Windows管理技术,作为一种规范和基础结构,可以通过WMI方式访问、配置、管理和监视几乎所有的Windows资源。
基于WMI协议收集数据的方式针对安装了windows 2000/windows xp系统的监控终端,在设备终端的系统盘下就会有相应的dll动态库文件,服务器通过调用这些dll动态库文件来获取监控终端的数据。
例如,通过根据用户指定的指标逻辑硬盘名称Name,查找到指标ID:Name和获取方式WMI,服务器调用第三方开元的包:wmi.jar包,其中wmi.jar与监控终端系统下的dll动态库文件交互,进一步收集到相应指标的数据。
通过WMI协议,可以获取监控终端的Windows资源,例如,逻辑硬盘C盘下的某些数据:Name,Caption,FreeSpace(可用硬盘空间)等数据信息。
三、Web services方式:
网络服务(Web services),其建立在一些通用协议的基础上,如HTTP,SOAP,XML,WSDL,UDDI等。这些协议在涉及到操作系统、对象模型和编程语言的选择时,没有任何倾向。基于Web services协议收集数据的方式针对监控终端上已经部署了相应的平台(应用软件、服务),这些平台对外发布了自己的接口,服务器通过调用这些接口来获得这些平台的数据信息。
以ISIS(一种存储终端)为例,服务器根据指标ID:存储/ISIS和获取方式:Web services进行数据收集。存储/ISIS本身对外发布接口供服务器调用,其中,按以下形式发布wsdl文件:http://192.168.1.111:8080/ISIS/services?wsdl。则服务器通过加载该wsdl文件,进而获得ISIS发布的接口(方法),进一步,服务器调用相应的接口获取到指标的数据。
按照该方式获取到的指标可以包括:实时带宽、配置、存储单元、存储组、控制器、系统信息、用户组、用户、工作空间等等。上述指标的数据均可以通过调用ISIS的接口来获取。具体的,针对某一终端,能够获取什么指标的数据,需要看ISIS提供的接口能获取到什么指标数据,进而服务器就能获取到什么数据。
四、访问oracle数据库
Oracle数据库管理系统(DBMS,database management system)内置了大量的性能表和视图,这些性能表和视图记录了oracle数据库的基本信息、性能情况等等。监控终端通过把要监控的性能表和视图添加到扩展的mib库中,服务器从mib库中获取相应的性能表的名称和视图的名称,进一步,通过mib库中获取的名称直接访问Oracle数据库的性能表和视图,从而收集到相应的指标数据。例如控制文件、数据文件、归档日志文件、缓存库、缓冲池等。
例如,通过获取到指标ID:V$CONTROLFILE,以及获取方式:访问oracle数据库,就可以获取到V$CONTROLFILE里的数据信息。
通过本发明实施例,通过集成多种收集数据的方式,避免了单一收集数据方式所遇到的问题,即监控终端的某些指标可能不支持单一收集数据的方式,进而收集不到此类指标的数据信息。本发明在服务器中定义了多种数据的获取方式,根据用户定制的指标,查询相应的指标ID和获取方式,采用多种收集数据方式,服务器收集的数据信息更加完整、全面、多样化,
此外,本发明还可以对收集数据的方式进行扩展,即,不限于上述实施例中指出的四种方式,则能够很好地把其他收集数据的方式集成到已有的方式中。
在本发明的优选实施例中,所述服务器向多个监控终端收集数据;
则服务器中记录各个监控终端的终端D,根据所述终端ID访问指定的监控终端。
通常情况下,一个监控网络包括多个监控终端,则服务器需要收集各个监控终端的指标数据,各个监控终端的终端ID记录在服务器中,服务器依据终端ID访问指定的监控终端。
例如,在服务器中,记录监控终端a的终端ID为A,监控终端b的终端ID为B,其中,用户定制的监控终端a的监控指标为逻辑磁盘名称(对应指标ID为:Name,获取方式为:WMI),监控终端b的监控指标为sysName(对应指标ID为:1.3.6.1.2.1.11.24.0,获取方式为:SNMP)。则依据终端ID:A;指标ID:Name;获取方式WMI,访问监控终端a,收集指标逻辑磁盘名称Name的数据信息。依据终端ID:B;指标ID:1.3.6.1.2.1.11.24.0;获取方式SNMP,访问监控终端b,收集指标sysName的数据信息。
通过本发明实施例,服务器可以向多个监控终端收集数据,进一步,根据用户定制的不同指标,向相应的监控终端收集有特定需求的指标数据。
参照图2,示出了本发明一种主动收集数据的服务器的结构图,包括:
指标定义单元201,用于在服务器的数据库中定义待收集数据的指标结构;所述指标结构包括:指标名称、以及相应的指标ID和获取方式;
指标查找单元202,用于按照用户对监控终端定制的监控指标,在服务器的数据库中查找相应的指标ID和获取方式;
数据收集单元203,用于依据所述获取方式访问监控终端,收集与所述指标ID对应的数据信息。
其中,指标定义单元201预先在服务器中数据库中进行定义,当用户定制根据需要监控终端的指标时,指标查找单元202在服务器的数据库中进行查找,得到相应的指标ID和获取方式,进一步,数据收集单元203依据指标查找单元202确定的获取方式访问监控终端,收集与指标ID对应的数据信息。
本发明实施例的应用场景为:网络监控系统,其中包括:客户端、服务器和监控终端,本发明实施例提出的服务器通过主动收集数据的方式去访问监控终端,获取指标数据信息。
优选的,所述获取方式包括:SNMNP方式、WMI方式、Web services方式或访问oracle数据库方式。
在本发明的优选实施例中,所述服务器向多个监控终端收集数据;
所述服务器还包括:
终端ID记录单元,用于记录各个监控终端的终端ID;则所述数据收集单元根据所述终端ID访问指定的监控终端。
其中,当获取方式为WMI方式时,所述数据收集单元通过调用dll动态库文件收集相应的数据信息;
当获取方式为Web services方式时,所述数据收集单元依据监控终端对外发布的接口形式,调用相应的接口,收集相应的数据信息;
当获取方式为访问oracle数据库方式时,所述数据收集单元通过在监控终端的mib库中获取相应的性能表和视图的名称,访问性能表和视图,收集相应的数据信息。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于主动收集数据的服务器实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种主动收集数据的方法和主动收集数据的服务器,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
机译: 主动-主动-主动系统主动-主动-主动方法的分布式体系结构,用于高效的数据收集和管理
机译: 有效数据收集和管理的主动-主动-主动方法的系统分布式体系结构
机译: 主动移动电话用户数据收集方法