监控方法和装置制造方法

文档序号:6552077阅读:186来源:国知局
监控方法和装置制造方法
【专利摘要】本发明公开一种监控方法和装置。其中,监控方法包括:监控模块通过网络读取一台或多台计算机的监控信息,其中,所述一台或多台计算机为被监控的计算机,所述监控模块设置在所述网络中任意一台计算机上,所述监控信息为用于监控所述一台或多台计算机的信息;以及所述监控模块将所述监控信息发送至监控服务器来对所述一台或多台计算机进行监控,其中,所述监控服务器为用于对所述监控信息进行监控分析的服务器。通过本发明,解决了计算机的监控不便的问题,达到了对计算机统一监控的效果。
【专利说明】监控方法和装置

【技术领域】
[0001] 本发明涉及计算机监控领域,具体而言,涉及一种监控方法和装置。

【背景技术】
[0002] 随着计算机技术的不断发展,计算机已经成为人们生活和工作中不可缺少的工 具。尤其是在办公工作中,计算机的应用大大提高了工作效率。在工作中,一个工作人员可 能需要同时兼顾多台计算机,对多台计算机进行维护和监控,例如,统一各工作人员可能需 要同时监控多台服务器,如应用服务器和数据服务器等。
[0003] 目前,对于计算机的监控通常需要在计算机上安装用于对该计算机进行监控的C 语言版的第三方监控程序,通过安装的第三方监控程序对该计算机进行监控,从而监控该 计算机上是否存在违规操作。
[0004] 然而,由于在对多台计算机进行监控时,仍需要查看每台计算机上的监控程序,对 计算机的监控不便,降低监控的工作效率。
[0005] 针对现有技术中对计算机的监控不便的问题,目前尚未提出有效的解决方案。


【发明内容】

[0006] 本发明的主要目的在于提供一种监控方法和装置,以解决对计算机的监控不便的 问题。
[0007] 为了实现上述目的,根据本发明的一个方面,提供了一种监控方法。根据本发明的 监控方法包括:监控模块通过网络读取一台或多台计算机的监控信息,其中,所述一台或多 台计算机为被监控的计算机,所述监控模块设置在所述网络中任意一台计算机上,所述监 控信息为用于监控所述一台或多台计算机的信息;以及所述监控模块将所述监控信息发送 至监控服务器来对所述一台或多台计算机进行监控,其中,所述监控服务器为用于对所述 监控信息进行监控分析的服务器。
[0008] 进一步地,所述监控信息包括以下至少之一:所述一台或多台计算机中的文件变 化的内容、所述一台或多台计算机的系统事件、所述一台或多台计算机的数据库发生变化 的信息。
[0009] 进一步地,监控模块通过网络读取一台或多台计算机的监控信息包括以下至少之 一:所述监控模块通过所述网络基于共享文件的方式读取所述文件变化的内容;所述监控 模块通过所述网络基于WMI协议读取所述系统事件,其中,所述系统事件为采用windows操 作系统的计算机的系统事件;所述监控模块通过所述网络基于JDBC协议读取所述数据库 发生变化的信息。
[0010] 进一步地,监控模块通过网络读取一台或多台计算机的监控信息包括:所述监控 模块接收所述一台或多台计算机中的文件内容发生变化的通知;所述监控模块在接收到所 述通知后根据所述文件的类型选择文件处理器;以及基于所述文件处理器对所述文件进行 处理得到所述文件变化的内容,将所述文件变化的内容作为所述监控信息。
[0011] 进一步地,监控模块通过网络读取一台或多台计算机的监控信息包括:所述监控 模块建立事件监控任务,其中,所述事件监控任务用于监控所述一台或多台计算机在第一 时间段内的系统事件;以及所述监控模块执行所述事件监控任务来读取所述一台或多台 计算机在所述第一时间段内的系统事件,将所述第一时间段内的系统事件作为所述监控信 肩、。
[0012] 进一步地,所述数据库发生变化的数据包括所述数据库的新增数据,监控模块通 过网络读取一台或多台计算机的监控信息包括:所述监控模块确定上一次从所述数据库读 取数据的读取位置;以及所述监控模块间隔第二时间段从所述读取位置开始读取所述数据 库的新增数据,将所述数据库的新增数据作为所述监控信息。
[0013] 为了实现上述目的,根据本发明的另一方面,提供了一种监控装置。根据本发明的 监控装置包括:读取单元,用于通过网络读取一台或多台计算机的监控信息,其中,所述一 台或多台计算机为被监控的计算机,所述监控装置设置在所述网络中任意一台计算机上, 所述监控信息为用于监控所述一台或多台计算机的信息;以及发送单元,用于将所述监控 信息发送至监控服务器来对所述一台或多台计算机进行监控,其中,所述监控服务器为用 于对所述监控信息进行监控分析的服务器。
[0014] 进一步地,所述监控信息包括以下至少之一:所述一台或多台计算机中的文件变 化的内容、所述一台或多台计算机的系统事件、所述一台或多台计算机的数据库发生变化 的信息。
[0015] 进一步地,所述读取单元包括以下至少之一:第一读取模块,用于通过所述网络基 于共享文件的方式读取所述文件变化的内容;第二读取模块,用于通过所述网络基于WMI 协议读取所述系统事件,其中,所述系统事件为采用windows操作系统的计算机的系统事 件;第三读取模块,用于通过所述网络基于JDBC协议读取所述数据库发生变化的信息。
[0016] 进一步地,所述读取单元包括:接收模块,用于接收所述一台或多台计算机中的文 件内容发生变化的通知;选择模块,用于在接收到所述通知后根据所述文件的类型选择文 件处理器;以及处理模块,用于基于所述文件处理器对所述文件进行处理得到所述文件变 化的内容,将所述文件变化的内容作为所述监控信息。
[0017] 进一步地,所述读取单元包括:建立模块,用于建立事件监控任务,其中,所述事件 监控任务用于监控所述一台或多台计算机在第一时间段内的系统事件;以及执行模块,用 于执行所述事件监控任务来读取所述一台或多台计算机在所述第一时间段内的系统事件, 将所述第一时间段内的系统事件作为所述监控信息。
[0018] 进一步地,所述数据库发生变化的数据包括所述数据库的新增数据,所述读取单 元包括:确定模块,用于确定上一次从所述数据库读取数据的读取位置;以及第四读取模 块,用于间隔第二时间段从所述读取位置开始读取所述数据库的新增数据,将所述数据库 的新增数据作为所述监控信息。
[0019] 根据本发明实施例,通过安装在网络中任意一台计算机上的监控模块读取一台或 者多台计算机的监控信息,通过该监控模块即可实现对网络中的一台或者多台计算机进行 监控,解决了计算机的监控不便的问题,达到了对计算机统一监控的效果。

【专利附图】

【附图说明】
[0020] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实 施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021] 图1是根据本发明实施例的监控方法的流程图;
[0022] 图2是根据本发明实施例的监控方法的应用场景的示意图;
[0023] 图3是根据本发明实施例可选的监控方法的流程图;
[0024] 图4是根据本发明实施例另一可选的监控方法的流程图;
[0025] 图5是根据本发明实施例又一可选的监控方法的流程图;
[0026] 图6是根据本发明实施例的监控装置的示意图;以及
[0027] 图7是根据本发明实施例优选的监控装置的示意图。

【具体实施方式】
[0028] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。
[0029] 为了使本【技术领域】的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范 围。
[0030] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使 用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语"包括"和 "具有"以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元 的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有 清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0031] 本发明实施例提供了 一种监控方法。该监控方法可以用于监控网络中的计算机。
[0032] 图1是根据本发明实施例的监控方法的流程图。如图1所示,该监控方法包括步 骤如下:
[0033] 步骤S102,监控模块通过网络读取一台或多台计算机的监控信息。其中,一台或多 台计算机为被监控的计算机,监控模块设置在网络中任意一台计算机上,监控信息为用于 监控一台或多台计算机的信息。
[0034] 步骤S104,监控模块将监控信息发送至监控服务器来对一台或多台计算机进行监 控。其中,监控服务器为用于对监控信息进行监控分析的服务器。
[0035] 多台计算机通过网络相互连接,其中,网络可以是局域网也可以是广域网,监控模 块可以是设置在网络中的任意一台计算机上的监控模块,其中,任意一台计算机可以是上 述多台计算机中的一台计算机,也可以是新增加的计算机节点。监控模块可以通过应用程 序实现。当然,监控模块可以用于监控网络中的多台计算机,也可以监控该监控模块所处的 计算机。需要说明的是,计算机可以是作为服务器使用的计算机,也可以是传统的个人电 脑。
[0036] 监控模块监控的计算机可以根据需要进行配置。当需要监控计算机A时,可以先 在监控模块中配置计算机A的IP地址和需要进行监控的监控信息,使得能够通过网络迅速 找到计算机A,对其进行信息采集来监控计算机A。在找到要进行监控的计算机之后,监控 模块通过网络从一台或多台计算机上读取监控信息,该监控信息可以是用于监控该一台或 多台计算机的信息,例如,计算机上的数据状态信息、操作使用信息等,具体地,可以是例如 计算机上文件内容的变化、计算机的系统事件、数据库的数据变化等等。
[0037] 监控模块在一台或多台计算机上读取到监控信息之后,将该监控信息发送至监控 服务器,通过监控服务器来对该监控信息进行监控分析,从而实现对一台或多台计算机的 监控。监控服务器可以是日志审计系统(Log Audit system,简称LAS)服务器。
[0038] 如图2所示,在局域网LAN下,需要进行监控的监控对象包括个人电脑、业务系统 服务器(Mainframe server)和关系型数据库(DB),其中,本发明实施例的监控模块包括事 件传感器,该事件传感器用于监听上述监控对象的事件即监控信息。事件传感器通过局域 网读取上述监控对象的事件,并通过网络将事件(syslog)发送至日志审计服务器,日志审 计服务器接收事件(syslog),以对该事件进行监控分析。
[0039] 根据本发明实施例,通过安装在网络中任意一台计算机上的监控模块读取一台或 者多台计算机的监控信息,通过该监控模块即可实现对网络中的一台或者多台计算机进行 监控,解决了计算机的监控不便的问题,达到了对计算机统一监控的效果。另外,由于监控 模块只需要安装在网络中的任意一台计算机上,因此,不需要在每一台计算机上安装第三 方监控程序,对于不允许安装第三方监控程序的电脑和服务器等,提供了更加方便的监控 方法。
[0040] 优选地,监控信息包括以下至少之一:一台或多台计算机中的文件变化的内容、一 台或多台计算机的系统事件、一台或多台计算机的数据库发生变化的信息。
[0041] 文件变化的内容包括文件增加的内容、文件更改的内容、文件删除的内容等等,文 件可以是一个文件也可以是多个文件,文件的格式可以是明文文件(后缀为.txt和.log 的文件)和Windows的日志文件(.evt文件),也可以是其他的文件。
[0042] 系统事件可以是计算机的应用程序、安全性、系统等蛋类事件。计算机的操作系统 可以是Windows操作系统也可以是其他操作系统。
[0043] 数据库可以是MySQL、SQL Server、Oracle等数据库,也可以是其他数据库。数据 库发生变化的信息可以是数据库中增加的数据、删除的数据、修改的数据,或者是数据库的 结构变化信息、数据的关联关系变化信息等。
[0044] 监控模块可以读取文件变化的内容、系统事件、数据库发生变化的信息中任意一 个护着多个内容来监控其对应的计算机。其中,文件变化的内容的读取可以是基于共享文 件的方式读取,系统事件可以是通过被监控计算机的操作系统提供的可统一访问的公共接 口来读取,例如基于Windows操作系统的WMI协议来读取Windows操作系统的系统事件。其 中,WMI是一项核心的Windows管理技术,用户可以使用WMI管理本地和远程计算机。数据 库发生变化的信息可以基于数据库技术提供的可以统一访问的接口来读取,例如基于java 数据库连接(JDBC)协议来读取数据库的信息。
[0045] 优选地,监控模块通过网络读取一台或多台计算机的监控信息包括以下至少之 一:监控模块通过网络基于共享文件的方式读取文件变化的内容;监控模块通过网络基于 WMI协议读取系统事件,其中,系统事件为采用windows操作系统的计算机的系统事件;监 控模块通过网络基于JDBC协议读取数据库发生变化的信息。
[0046] 文件变化的内容可以以共享文件的方式读取,可以将网络中共享文件或者文件夹 看作一个文件系统,对该文件系统进行监控。WMI以CIM0M为基础,CIM0M即公共信息模型 对象管理器(Common Information Model Ob ject Manager),是一个描述操作系统构成单兀 的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。
[0047] JDBC即Java Data Base Connectivity的简称,Java数据库连接,是一种用于执行 SQL语句的Java API,可以为多种关系型数据库提供统一访问,它由一组用Java语言编写的 类和接口组成。基于JDBC访问数据库,读取数据库发生变化的信息来监控该数据库。具体 地,可以基于JDBC读取网络数据库表的数据。
[0048] 优选地,监控模块通过网络读取一台或多台计算机的监控信息包括:监控模块接 收一台或多台计算机中的文件内容发生变化的通知;监控模块在接收到通知后根据文件的 类型选择文件处理器;以及基于文件处理器对文件进行处理得到文件变化的内容,将文件 变化的内容作为监控信息。
[0049] 文件内容发生变化的通知可以采用不同的机制获得,例如,采用时间查询或者文 件系统事件查询等方式。在接收到文件内容变化通知之后,可以先添加文件监控任务,启用 监控线程,根据文件的类型选择文件处理器,由于不同的文件类型,相应的处理机制也不相 同,例如evt文件和明文文件的处理机制不同,则需要选择不同的文件处理器对文件进行 处理,以获得文件发生变化的内容。
[0050] 具体地,如图3所示的流程图为对文件进行监控的流程图,如图3所示,该方法包 括以下步骤:
[0051] 步骤S301,初始化。
[0052] 步骤S302,读取文件监控的配置信息。
[0053] 步骤S303,添加监控任务。该监控任务为文件监控任务。其中添加监控任务包括 创建建监控线程,设置监控上下文(即文件监控的配置信息),启动监控线程。
[0054] 步骤S304,判断监控的文件是否为EVT文件,如果是,则执行步骤S305,运行标示, 检查运行标示的值。反之,则执行步骤S306,运行标示1,检查运行标示1的值。
[0055] 如果步骤S305,运行标示的值为"是",则执行步骤S307,等待时间触发,等待监控 文件的计算机系统再次调用。如果运行标示的值为"否",则退出。
[0056] 步骤S308,获的evt文件处理器。
[0057] 步骤S309, LogParser解析文件内容,发送syslog。然后返回步骤S305。
[0058] 如果步骤S306,运行标示1的值为"是",则执行步骤S310,等待文件系统事件,反 之,如果运行标示1的值为"否",则退出。其中,运行标示和标示1是为了保证业务的完整 性。
[0059] 步骤S311,获得明文文件处理器。
[0060] 步骤S312,处理文件改变和文件覆盖事件。其中,处理文件改变和文件覆盖事件 包括:获得的新文件大小,获得文件的历史读取位置,得到文件的追加内容,发送syslog, 保存文件新位置。其中,获得文件的历史读取位置之后,状态管理类返回文件的历史读取位 置。保存文件新位置之后,状态管理类保存文件新的读取位置。
[0061] 步骤S313,保存文件新的读取位置。继续等待系统事件,返回步骤S306。
[0062] 文件监控管理类主要负责管理(增、删、改、查)文件监控任务。文件监控任务使 用不同的机制(时间,文件系统事件)获得文件改变通知,然后根据不同的文件类型选择文 件处理器,将任务交给文件处理器处理。
[0063] 优选地,监控模块通过网络读取一台或多台计算机的监控信息包括:监控模块建 立事件监控任务,其中,事件监控任务用于监控一台或多台计算机在第一时间段内的系统 事件;以及监控模块执行事件监控任务来读取一台或多台计算机在第一时间段内的系统事 件,将第一时间段内的系统事件作为监控信息。
[0064] 第一时间段为用于监控系统事件的时间开始时间和结束时间之间的时间段。通过 建立事件监控任务来对系统事件进行读取。
[0065] 例如,对Windows系统事件进行监控的监控模块主要分为两部分,监控事件生产 者和监控事件消费者,两者通过监控事件队列连接。监控事件生产者通过时间调度向队列 里添加监控事件(即监控任务)。监控事件包括的信息有:主机IP、用户名、密码、数据的开 始时间和结束时间。监控事件消费者通过从队列里取出事件交给处理线程处理,处理线程 通过WMIC命令读取远程主机指定时间段内的系统事件。
[0066] 具体地,如图4所示,该方法包括以下步骤:
[0067] 步骤S401,初始化系统监控。
[0068] 步骤S402,读取系统监控配置。即读取系统事件的监控配置信息。
[0069] 步骤S403,添加时间监控任务。
[0070] 步骤S404,定时执行上述监控任务。
[0071] 步骤S405,运行标示2。检查运行标示2的值。如果运行标示2的值为"是"则执 行步骤S406,反之,如果为"否",则退出。
[0072] 步骤S406,读取事件数据。
[0073] 步骤S407,发送系统事件数据。
[0074] 步骤S408,保存监控状态。返回步骤S404。
[0075] 优选地,数据库发生变化的信息包括数据库的新增数据,监控模块通过网络读取 一台或多台计算机的监控信息包括:监控模块确定上一次从数据库读取数据的读取位置; 以及监控模块间隔第二时间段从读取位置开始读取数据库的新增数据,将数据库的新增数 据作为监控信息。
[0076] 数据库发生变化的信息可以是数据库中产生新增数据。第二时间段为监控模块查 询数据库的时间周期。每一次读取数据库的新增数据都从上一次的读取位置开始读取新增 数据。
[0077] 监控模块包括数据库监控管理类,数据库监控管理类主要负责管理(增、删、改、 查)监控任务。数据库监控任务根据数据库监控的配置信息以一定的时间频度,连接数据 库,查询数据,保持数据的读取位置。数据库监控的配置信息包括的信息有:数据库类型、数 据库主机IP、端口号、数据库名、用户名、密码、时间轮询频度、查询数据的SQL语句集合。
[0078] 具体地,如图5所示,该监控方法包括以下步骤:
[0079] 步骤S501,数据库监控初始化。
[0080] 步骤S502,读取数据库监控配置。即读取数据库监控配置信息。
[0081] 步骤S503,添加数据库监控任务,包括新建数据库监控线程,启动该监控线程进行 监控。
[0082] 步骤S504,运行标示3。检查运行标示3的值,如果为"是",则执行步骤S505,读 取上一次的读取位置,反之,则退出。
[0083] 步骤S506,基于读取位置读取数据库表数据。
[0084] 步骤 S507,发送数据(syslog)。
[0085] 步骤S508,保存新的读取位置信息。返回步骤S504。
[0086] 本发明实施例还提供了一种监控装置。需要说明的是,本发明实施例的监控装置 可以用于执行本发明实施例所提供的监控方法,本发明实施例的监控方法也可以通过本 发明实施例所提供的监控装置来执行。本发明实施例的监控装置即为本发明实施例的监控 方法中所提到的监控模块。
[0087] 图6是根据本发明实施例的监控装置的示意图。如图6所示,该监控装置包括读 取单元10和发送单元30。
[0088] 读取单元10用于通过网络读取一台或多台计算机的监控信息,其中,所述一台或 多台计算机为被监控的计算机,所述监控装置设置在所述网络中任意一台计算机上,所述 监控信息为用于监控所述一台或多台计算机的信息。
[0089] 发送单元30用于将所述监控信息发送至监控服务器来对所述一台或多台计算机 进行监控,其中,所述监控服务器为用于对所述监控信息进行监控分析的服务器。
[0090] 多台计算机通过网络相互连接,其中,网络可以是局域网也可以是广域网,监控装 置可以是设置在网络中的任意一台计算机上的监控装置,其中,任意一台计算机可以是上 述多台计算机中的一台计算机,也可以是新增加的计算机节点。监控装置可以通过应用程 序实现。当然,监控装置可以用于监控网络中的多台计算机,也可以监控该监控装置所处的 计算机。需要说明的是,计算机可以是作为服务器使用的计算机,也可以是传统的个人电 脑。
[0091] 监控装置监控的计算机可以根据需要进行配置。当需要监控计算机A时,可以先 在监控装置中配置计算机A的IP地址和需要进行监控的监控信息,使得能够通过网络迅速 找到计算机A,对其进行信息采集来监控计算机A。在找到要进行监控的计算机之后,读取 单元10通过网络从一台或多台计算机上读取监控信息,该监控信息可以是用于监控该一 台或多台计算机的信息,例如,计算机上的数据状态信息、操作使用信息等,具体地,可以是 例如计算机上文件内容的变化、计算机的系统事件、数据库的数据变化等等。
[0092] 读取单元10在一台或多台计算机上读取到监控信息之后,发送单元30将该监控 信息发送至监控服务器,通过监控服务器来对该监控信息进行监控分析,从而实现对一台 或多台计算机的监控。监控服务器可以是日志审计系统(Log Audit system,简称LAS)服 务器。
[0093] 如图2所示,在局域网LAN下,需要进行监控的监控对象包括个人电脑、业务系统 服务器(Mainframe server)和关系型数据库(DB),其中,本发明实施例的监控装置包括事 件传感器,该事件传感器用于监听上述监控对象的事件即监控信息。事件传感器通过局域 网读取上述监控对象的事件,并通过网络将事件(syslog)发送至日志审计服务器,日志审 计服务器接收事件(syslog),以对该事件进行监控分析。
[0094] 根据本发明实施例,通过安装在网络中任意一台计算机上的监控装置读取一台或 者多台计算机的监控信息,通过该监控装置即可实现对网络中的一台或者多台计算机进行 监控,解决了计算机的监控不便的问题,达到了对计算机统一监控的效果。另外,由于监控 装置只需要安装在网络中的任意一台计算机上,因此,不需要在每一台计算机上安装第三 方监控程序,对于不允许安装第三方监控程序的电脑和服务器等,提供了更加方便的监控 方法。
[0095] 优选地,所述监控信息包括以下至少之一:所述一台或多台计算机中的文件变化 的内容、所述一台或多台计算机的系统事件、所述一台或多台计算机的数据库发生变化的 信息。
[0096] 文件变化的内容包括文件增加的内容、文件更改的内容、文件删除的内容等等,文 件可以是一个文件也可以是多个文件,文件的格式可以是明文文件(后缀为.txt和.log 的文件)和Windows的日志文件(.evt文件),也可以是其他的文件。
[0097] 系统事件可以是计算机的应用程序、安全性、系统等蛋类事件。计算机的操作系统 可以是Windows操作系统也可以是其他操作系统。
[0098] 数据库可以是MySQL、SQL Server、Oracle等数据库,也可以是其他数据库。数据 库发生变化的信息可以是数据库中增加的数据、删除的数据、修改的数据,或者是数据库的 结构变化信息、数据的关联关系变化信息等。
[0099] 读取单元可以读取文件变化的内容、系统事件、数据库发生变化的信息中任意一 个护着多个内容来监控其对应的计算机。其中,文件变化的内容的读取可以是基于共享文 件的方式读取,系统事件可以是通过被监控计算机的操作系统提供的可统一访问的公共接 口来读取,例如基于Windows操作系统的WMI协议来读取Windows操作系统的系统事件。其 中,WMI是一项核心的Windows管理技术,用户可以使用WMI管理本地和远程计算机。数据 库发生变化的信息可以基于数据库技术提供的可以统一访问的接口来读取,例如基于java 数据库连接(JDBC)协议来读取数据库的信息。
[0100] 优选地,所述读取单元包括以下至少之一:第一读取模块,用于通过所述网络基于 共享文件的方式读取所述文件变化的内容;第二读取模块,用于通过所述网络基于WMI协 议读取所述系统事件,其中,所述系统事件为采用windows操作系统的计算机的系统事件; 第三读取模块,用于通过所述网络基于JDBC协议读取所述数据库发生变化的信息。
[0101] 文件变化的内容可以以共享文件的方式读取,可以将网络中共享文件或者文件夹 看作一个文件系统,对该文件系统进行监控。WMI以CIM0M为基础,CIM0M即公共信息模型 对象管理器(Common Information Model 0b ject Manager),是一个描述操作系统构成单兀 的对象数据库,为MMC和脚本程序提供了一个访问操作系统构成单元的公共接口。
[0102] JDBC即Java Data Base Connectivity的简称,Java数据库连接,是一种用于执行 SQL语句的Java API,可以为多种关系型数据库提供统一访问,它由一组用Java语言编写的 类和接口组成。基于JDBC访问数据库,读取数据库发生变化的信息来监控该数据库。具体 地,可以基于JDBC读取网络数据库表的数据。
[0103] 优选地,所述读取单元包括:接收模块,用于接收所述一台或多台计算机中的文件 内容发生变化的通知;选择模块,用于在接收到所述通知后根据所述文件的类型选择文件 处理器;以及处理模块,用于基于所述文件处理器对所述文件进行处理得到所述文件变化 的内容,将所述文件变化的内容作为所述监控信息。
[0104] 文件内容发生变化的通知可以采用不同的机制获得,例如,采用时间查询或者文 件系统事件查询等方式。在接收到文件内容变化通知之后,可以先添加文件监控任务,启用 监控线程,根据文件的类型选择文件处理器,由于不同的文件类型,相应的处理机制也不相 同,例如evt文件和明文文件的处理机制不同,则需要选择不同的文件处理器对文件进行 处理,以获得文件发生变化的内容。对文件监控的具体流程见监控方法部分图3的描述,这 里不做赘述。
[0105] 优选地,所述读取单元包括:建立模块,用于建立事件监控任务,其中,所述事件监 控任务用于监控所述一台或多台计算机在第一时间段内的系统事件;以及执行模块,用于 执行所述事件监控任务来读取所述一台或多台计算机在所述第一时间段内的系统事件,将 所述第一时间段内的系统事件作为所述监控信息。
[0106] 第一时间段为用于监控系统事件的时间开始时间和结束时间之间的时间段。通过 建立事件监控任务来对系统事件进行读取。
[0107] 例如,对Windows系统事件进行监控的读取单元主要分为两部分,监控事件生产 者和监控事件消费者,两者通过监控事件队列连接。监控事件生产者通过时间调度向队列 里添加监控事件(即监控任务)。监控事件包括的信息有:主机IP、用户名、密码、数据的开 始时间和结束时间。监控事件消费者通过从队列里取出事件交给处理线程处理,处理线程 通过WMIC命令读取远程主机指定时间段内的系统事件。对系统事件的监控的具体流程见 监控方法部分图4的描述,这里不做赘述。
[0108] 优选地,所述数据库发生变化的数据包括所述数据库的新增数据,所述读取单元 包括:确定模块,用于确定上一次从所述数据库读取数据的读取位置;以及第四读取模块, 用于间隔第二时间段从所述读取位置开始读取所述数据库的新增数据,将所述数据库的新 增数据作为所述监控信息。
[0109] 数据库发生变化的信息可以是数据库中产生新增数据。第二时间段为第四读取模 块查询数据库的时间周期。每一次读取数据库的新增数据都从上一次的读取位置开始读取 新增数据。
[0110] 读取单元具体包括数据库监控管理类,数据库监控管理类主要负责管理(增、删、 改、查)监控任务。数据库监控任务根据数据库监控的配置信息以一定的时间频度,连接数 据库,查询数据,保持数据的读取位置。数据库监控的配置信息包括的信息有:数据库类型、 数据库主机IP、端口号、数据库名、用户名、密码、时间轮询频度、查询数据的SQL语句集合。 对数据库的监控的具体流程见监控方法部分图5的描述,这里不做赘述。
[0111] 图7是根据本发明实施例优选的监控装置的示意图。该监控装置可以称为事件传 感器。如图7所示,事件传感器主要分为以下五个模块:
[0112] 配置管理模块,主要负责存储系统事件监控模块、文件监控模块、数据库监控模块 和LAS服务器的配置信息。
[0113] 状态管理模块,主要负责存储系统事件监控模块、文件监控模块、数据库监控模块 的监控状态管理。
[0114] 文件监控模块,主要负责本机的文件系统及网络中共享的文件进行监控。
[0115] Windows系统事件监控模块,主要通过WMI对网络中的Windows计算机进行系统事 件监控。
[0116] 数据库监控模块,主要通过JDBC对网络中的数据库表的数据增长进行监控。
[0117] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明 所必须的。
[0118] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部 分,可以参见其他实施例的相关描述。
[0119] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式 实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种 逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可 以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接, 可以是电性或其它的形式。
[0120] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0121] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0122] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用 时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式 体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方 法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM, Read-Only Memory)、 随机存取存储器(RAM, Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程 序代码的介质。
[0123] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种监控方法,其特征在于,包括: 监控模块通过网络读取一台或多台计算机的监控信息,其中,所述一台或多台计算机 为被监控的计算机,所述监控模块设置在所述网络中任意一台计算机上,所述监控信息为 用于监控所述一台或多台计算机的信息;以及 所述监控模块将所述监控信息发送至监控服务器来对所述一台或多台计算机进行监 控,其中,所述监控服务器为用于对所述监控信息进行监控分析的服务器。
2. 根据权利要求1所述的监控方法,其特征在于,所述监控信息包括以下至少之一: 所述一台或多台计算机中的文件变化的内容、所述一台或多台计算机的系统事件、 所述一台或多台计算机的数据库发生变化的信息。
3. 根据权利要求2所述的监控方法,其特征在于,监控模块通过网络读取一台或多台 计算机的监控信息包括以下至少之一: 所述监控模块通过所述网络基于共享文件的方式读取所述文件变化的内容; 所述监控模块通过所述网络基于WMI协议读取所述系统事件,其中,所述系统事件为 采用windows操作系统的计算机的系统事件; 所述监控模块通过所述网络基于JDBC协议读取所述数据库发生变化的信息。
4. 根据权利要求2所述的监控方法,其特征在于,监控模块通过网络读取一台或多台 计算机的监控信息包括: 所述监控模块接收所述一台或多台计算机中的文件内容发生变化的通知; 所述监控模块在接收到所述通知后根据所述文件的类型选择文件处理器;以及 基于所述文件处理器对所述文件进行处理得到所述文件变化的内容,将所述文件变化 的内容作为所述监控信息。
5. 根据权利要求2所述的监控方法,其特征在于,监控模块通过网络读取一台或多台 计算机的监控信息包括: 所述监控模块建立事件监控任务,其中,所述事件监控任务用于监控所述一台或多台 计算机在第一时间段内的系统事件;以及 所述监控模块执行所述事件监控任务来读取所述一台或多台计算机在所述第一时间 段内的系统事件,将所述第一时间段内的系统事件作为所述监控信息。
6. 根据权利要求2所述的监控方法,其特征在于,所述数据库发生变化的数据包括所 述数据库的新增数据,监控模块通过网络读取一台或多台计算机的监控信息包括: 所述监控模块确定上一次从所述数据库读取数据的读取位置;以及 所述监控模块间隔第二时间段从所述读取位置开始读取所述数据库的新增数据,将所 述数据库的新增数据作为所述监控信息。
7. -种监控装置,其特征在于,包括: 读取单元,用于通过网络读取一台或多台计算机的监控信息,其中,所述一台或多台计 算机为被监控的计算机,所述监控装置设置在所述网络中任意一台计算机上,所述监控信 息为用于监控所述一台或多台计算机的信息;以及 发送单元,用于将所述监控信息发送至监控服务器来对所述一台或多台计算机进行监 控,其中,所述监控服务器为用于对所述监控信息进行监控分析的服务器。
8. 根据权利要求7所述的监控装置,其特征在于,所述监控信息包括以下至少之一:所 述一台或多台计算机中的文件变化的内容、所述一台或多台计算机的系统事件、所述一台 或多台计算机的数据库发生变化的信息。
9. 根据权利要求8所述的监控装置,其特征在于,所述读取单元包括以下至少之一: 第一读取模块,用于通过所述网络基于共享文件的方式读取所述文件变化的内容; 第二读取模块,用于通过所述网络基于WMI协议读取所述系统事件,其中,所述系统事 件为采用windows操作系统的计算机的系统事件; 第三读取模块,用于通过所述网络基于JDBC协议读取所述数据库发生变化的信息。
10. 根据权利要求8所述的监控装置,其特征在于,所述读取单元包括: 接收模块,用于接收所述一台或多台计算机中的文件内容发生变化的通知; 选择模块,用于在接收到所述通知后根据所述文件的类型选择文件处理器;以及 处理模块,用于基于所述文件处理器对所述文件进行处理得到所述文件变化的内容, 将所述文件变化的内容作为所述监控信息。
11. 根据权利要求8所述的监控装置,其特征在于,所述读取单元包括: 建立模块,用于建立事件监控任务,其中,所述事件监控任务用于监控所述一台或多台 计算机在第一时间段内的系统事件;以及 执行模块,用于执行所述事件监控任务来读取所述一台或多台计算机在所述第一时间 段内的系统事件,将所述第一时间段内的系统事件作为所述监控信息。
12. 根据权利要求8所述的监控装置,其特征在于,所述数据库发生变化的数据包括所 述数据库的新增数据,所述读取单元包括: 确定模块,用于确定上一次从所述数据库读取数据的读取位置;以及 第四读取模块,用于间隔第二时间段从所述读取位置开始读取所述数据库的新增数 据,将所述数据库的新增数据作为所述监控信息。
【文档编号】G06F11/34GK104063301SQ201410313306
【公开日】2014年9月24日 申请日期:2014年7月2日 优先权日:2014年7月2日
【发明者】王成林 申请人:网神信息技术(北京)股份有限公司, 网神科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1