一种实现远程监控的方法及系统的制作方法

文档序号:7626614阅读:131来源:国知局
专利名称:一种实现远程监控的方法及系统的制作方法
技术领域
本发明涉及计算机网络技术,特别涉及计算机网络中应用的一种实现远程监控的方法及系统。
背景技术
目前,在计算机网络的应用中存在一种需求就是通过用于集中管理的主机来远程监控网络中的各个其它主机,以提高计算机网络的可管理性。因此,出现了由监控主机和一个以上受控主机构成的系统。其中,将监控其它主机的主机称为监控主机,而将被监控的主机称为受控主机。在由多个媒体服务器(Media Server)组成的媒体服务器系统中同样也实现了对各个媒体服务器运行状态进行远程监控的技术。本文将以媒体服务器系统为例对现有远程监控技术出现的问题以及本发明的解决方案加以阐述。
现有的媒体服务器远程监控系统包括两大部分一、设置于监控主机之上的管理模块,该管理模块负责集中统计和处理所有来自受控主机的信息;二、设置于各个受控主机之上的监控模块,该监控模块负责实时监控其所在受控主机的运行状态,并将监控到的该受控主机的信息上报给监控主机上的管理模块。这里,受控主机就是被监控的媒体服务器。
现有技术中,监控模块对受控主机的监控基于组件对象模型(COM)技术,监控模块通过获取本地受控主机对象、调用受控主机对象的相关函数来得到受控主机的运行状态。对于媒体服务器来说,所监控的运行状态通常指媒体服务器上的各个发布点当前提供媒体服务的服务状态,该服务状态包括发布点名称、类型、状态、在线人数等等。这里,受控主机即媒体服务器,其包含若干用于提供媒体节目服务的发布点,每一发布点对应一种媒体节目服务。本文所述受控主机通常指用于提供流媒体服务的Windows媒体服务器。
根据以上描述可见,现有的远程监控系统中,每一受控主机上需要设置各自的监控模块,并且还要制定各个监控模块与管理模块之间的通信协议。因此,整个远程监控系统的实现比较复杂,如果要对监控功能进行改动,对每一受控主机上的监控模块都要一一进行修改,所以远程监控系统的维护难度也较大。

发明内容
有鉴于此,本发明的主要目的在于提供一种实现远程监控的方法及系统,能够实现对计算机的远程监控,并简化远程监控系统的开发进程、显著降低系统维护难度。
为达到上述目的,本发明的技术方案是这样实现的本发明公开了一种实现远程监控的方法,该方法应用于包括监控主机和一个以上受控主机的系统,其特征在于,该方法包括A.在监控主机上配置各个受控主机的信息;B.监控主机按所述各个受控主机的信息从各个受控主机获取各个受控主机对象;C.监控主机通过调用所述各个受控主机对象的处理函数得到各个受控主机当前的运行状态。
其中,步骤A所述配置受控主机信息为编辑包含各个受控主机信息的配置文件,所述监控主机启动时通过读取该配置文件得到各个受控主机的信息。
所述步骤B中,针对每一受控主机执行如下步骤B1.调用创建实例函数,该函数携带受控主机的信息、并指定受控主机对象接口标识,该创建实例函数再返回受控主机对象接口;B2.按所述受控主机对象接口调用查询接口函数得到受控主机对象。
其中,所述受控主机的信息包括地址信息和鉴权信息。
其中,该方法应用的系统为媒体服务器系统;所述受控主机为媒体服务器,所述受控主机的运行状态为作为受控主机的媒体服务器上各个发布点的服务状态;所述步骤C中,针对每一受控主机对象执行如下步骤C1.调用受控主机对象的发布点集合函数得到对应受控主机的发布点集合对象;C2.调用该发布点集合对象的获取发布点函数得到各个发布点对象;C3.调用所述各个发布点对象的获取服务状态的函数得到各个发布点的服务状态。
其中,所述服务状态包括发布点名称、类型、状态、在线人数。
其中,所述步骤C进一步包括监控主机对接收到的各个受控主机的运行状态进行整合得到监控结果。
其中,所述步骤C进一步包括监控主机根据整合得到的监控结果判断受控主机的运行状态是否异常,并在判断异常时发出报警信息。
其中,该方法基于分布式组件对象模型(DCOM)技术;预先将监控主机和各个受控主机的组件服务设置为启用DCOM,并在监控主机上安装和注册Windows媒体服务组件。
本发明还公开了一种实现远程监控的系统,该实现远程监控的系统应用于包括监控主机和一个以上受控主机的系统,该实现远程监控的系统设置于所述监控主机中,包括管理模块和一个以上的监控模块,每一监控模块连接一个受控主机;所述管理模块,用于配置各个受控主机的信息并输出给各个监控模块;所述监控模块,用于从管理模块接收受控主机的信息,按此受控主机的信息从受控主机获取受控主机对象,并通过调用受控主机对象的处理函数从受控主机获取该受控主机的运行状态。
其中,所述监控模块进一步用于返回受控主机的运行状态给所述管理模块;所述管理模块进一步用于整合接收到的各个受控主机的运行状态。
其中,所述受控主机为媒体服务器。由上述方案可以看出,本发明的关键在于监控主机读取配置于自身的各个受控主机的信息,按此受控主机的信息从各个受控主机获取各个受控主机对象,然后通过调用各个受控主机对象的处理函数来获取各个受控主机的运行状态。
因此,本发明提供的实现远程监控的方法及系统,不仅能实现计算机的远程监控,还能大大减少开发远程监控功能的工作量,并易于实现远程监控功能的维护。


图1为本发明系统一较佳实施例组成结构示意图;图2为本发明方法一较佳实施例处理流程示意图。
具体实施例方式
本发明公开了一种实现远程监控的系统,该系统设置于监控主机中,包括管理模块和一个以上的监控模块,每一监控模块连接一个受控主机。
图1为本发明系统一较佳实施例组成结构示意图。如图1所示,该系统包括管理模块,以及n个监控模块并分别表示为监控模块1、监控模块2、...、监控模块n。监控模块1、监控模块2、...、监控模块n还分别连接受控主机1、受控主机2、...、受控主机n。
其中,管理模块用于配置各个受控主机的信息并输出给各个监控模块。每一监控模块,用于从管理模块接收受控主机的信息,按此受控主机的信息通过调用创建实例函数从自身连接的受控主机获取受控主机对象,通过调用该受控主机对象的相关处理函数从该受控主机获取其运行状态。这里,所述受控主机的信息包括受控主机的地址信息和鉴权信息,所述地址信息包括IP地址等,所述鉴权信息包括用户名、密码等。
另外,为方便用户查询到完整、直观的运行状态信息,各个监控模块还可进一步将接收到的受控主机的运行状态信息返回给管理模块,由管理模块对接收到的各个受控主机的运行状态信息进行整合得到当前各个受控主机整体上的运行状态监控结果。
本发明系统可应用于媒体服务器系统,即各个监控模块连接的受控主机为媒体服务器,此时监控模块所获取的受控主机的运行状态通常就为受控主机上各个发布点的服务状态,如发布点名称、类型、状态、在线人数等等。本发明系统也可应用于其它类型的计算机系统,此时受控主机就为具有其它功能的计算机,监控得到的运行状态也可能为其它信息。本发明对受控主机具体为具有何种功能的计算机、以及所监控的运行状态具体为何种信息并不进行限定,但均在本发明的保护范围内。
基于上述本发明系统,本发明还提出了一种实现远程监控的方法,下面以图2为例对本发明方法处理以及本发明系统的工作原理加以详细阐述。
图2为本发明方法一较佳实施例处理流程示意图。本实施例应用于媒体服务器系统,则受控主机为媒体服务器,本发明的媒体服务器通常指Windows Media Server。
如图2所示,具体处理包括步骤201用户通过监控主机的管理模块编辑配置文件,将所有受控主机的信息一一写入配置文件。这里,受控主机的信息包括地址信息和鉴权信息,所述地址信息包括IP地址等,所述鉴权信息包括用户名和密码等。
步骤202监控主机启动监控功能后,管理模块读取步骤201所编辑的配置文件,获得各个受控主机的IP地址、用户名和密码等信息;并为各个受控主机分配处理资源,比如为每一受控主机分配一个监控模块,并将各个受控主机的IP地址、用户名和密码等信息传递给各个受控主机的监控模块。
本发明中,监控主机要远程调用受控主机对象的处理函数,可以采用分布式组件对象模型(DCOM)技术来实现监控主机与受控主机之间的远程调用。其中,DCOM是COM的扩展,它可以支持不同计算机上组件对象与客户程序之间或者组件对象之间的相互通信,使基于COM的组件在位于不同主机的两个进程间协作。对于客户程序而言,组件程序所处的位置是透明的,这样可以不必编写网络代码去处理分布式组件跨网络交互所需的通信。
当采用DCOM技术时,要预先将监控主机和受控主机的组件服务配置为启用DCOM。为实现监控主机对受控主机Windows Media Server的监控功能,需要在监控主机上安装和注册Windows媒体服务(Windows MediaServices)组件,包括微软的WindowsMediaServices.dll、interop_msxml.dll和wmsservertypelib.dll等等,以上组件均可从微软平台的软件开发包(Microsoft Platform SDK)中获得,并利用注册服务工具(Regsvr32)工具注册wmsservertypelib.dll模块;在执行以上步骤202所述的处理时,管理模块还通过调用组件对象初始化(CoInitialize)函数来初始化监控主机的COM类库,从而在监控主机运行的程序中加载COM类库管理组件。而各个受控主机上需要设置针对监控主机的鉴权信息,包括用户名、密码和操作权限等等,还可根据实际情况配置各自的“本地安全策略”。
步骤203各个监控模块根据接收到的受控主机的地址信息和鉴权信息从各自连接的受控主机获取受控主机对象。
其中,各个监控模块可分别调用各自的创建实例函数,该创建实例函数携带受控主机的地址信息和鉴权信息、并指定当前要获取的受控主机对象接口标识,该创建实例函数将返回受控主机对象接口;然后再按该受控主机对象接口调用查询接口函数得到受控主机对象。
为便于理解本部分的处理,下面具体说明如下首先,调用组件对象创建实例(CoCreateInstanceEx)函数。该函数包含用于携带受控主机地址信息的组件对象服务器信息(COSERVERINFO)结构、用于携带鉴权信息的组件对象认证信息(COAUTHINFO)结构、以及用于指示要获取的受控主机对象接口的多接口查询(MULTI_QI)结构等。其中,MULTI_QI结构的接口标识指针(pIID)成员可设置为Windows媒体服务的服务器接口标识(IID_IWMSServer),而其它成员均设置为0,以指示要获取受控主机对象接口;COSERVERINFO结构的机器名字指针(pwszName)成员可设置为受控主机的IP地址或名称;COAUTHINFO结构中的身份数据认证指针(pAuthIdentityData)成员为组件对象身份认证(COAUTHIDENTITY)结构。在该COAUTHIDENTITY结构中可设置受控主机的用户名和密码等鉴权信息。另外,上述COAUTHINFO结构中还可指定“身份验证的级别”和“模拟级别”等信息。
CoCreateInstanceEx函数调用之后将返回包含MULTI_QI结构的函数调用结果,该MULTI_QI结构中的接口返回指针(pItf)成员即为受控主机对象接口,再按此受控主机对象接口调用接口查询(QueryInterface)函数从受控主机获得受控主机对象,即Windows媒体服务的服务器(IWMSServer)对象。
步骤204每一监控模块执行如下处理调用所获取的受控主机对象的发布点集合函数,得到受控主机的发布点集合对象;然后调用该发布点集合对象的获取发布点函数得到该受控主机上的各个发布点对象。
本部分处理具体包括调用步骤203获取的IWMSServer对象的获取发布点集合(get_PublishingPoints)函数得到受控主机的IWMSPublishingPoints对象。然后调用该IWMSPublishingPoints对象的获取总数(get_Count)函数得到该受控主机的发布点总数。按此分布点总数以及各个发布点的索引,以循环的方式调用IWMSPublishingPoints对象的获取项目(get_Item)函数,从而获得受控主机每个发布点的IWMSPublishingPoint对象。该get_Item函数可被看为是获取发布点对象的函数。
步骤205每一监控模块执行如下处理调用所述各个发布点对象的获取服务状态的函数得到各个发布点的服务状态。
具体获取发布点服务状态的处理包括调用步骤204得到的各个IWMSPublishingPoint对象的用于获取服务状态的函数,得到各个发布点的服务状态信息,包括发布点名称、类型、状态、在线人数等等,从而实现对受控主机的监控。
本文所述各种函数为Windows平台SDK提供的标准函数,因此本文对这些函数的具体实现不作详述,而且本发明也不限定实现本发明处理时具体调用哪些函数。
为使用户方便查询到当前各个受控主机的运行状态,步骤205中,各个监控模块获取到各个发布点的服务状态时还可进一步返回各个发布点的服务状态给管理模块,再执行步骤206管理模块对接收到的各个受控主机的各个发布点的服务状态进行整合得到能从整体上体现各个受控主机运行状态的监控结果。该监控结果可以为图表或图形等形式,如绘制在线人数统计图;管理模块还可进一步根据所得到的监控结果判断发布点的服务状态是否异常,并在判断异常时自动发出告警信息,从而便于用户直观了解当前受控主机的情况。
当监控主机停止监控功能时,管理模块将指示各个监控模块调用各自获取的受控主机对象的释放(Release)函数,以释放各个受控主机对象。同时,管理模块还调用组件对象反初始化(CoUninitialize)函数来释放COM类库。
上述处理过程为监控主机完成一次监控过程的处理,当监控主机的各个监控模块获取到各个受控主机上的各个发布点对象后,还可周期性调用各个发布点对象的处理函数来定时获取发布点的服务状态信息,从而使监控主机能自动定时得到各个受控主机的运行状态。此时,可在各个监控模块中启动定时器,每当定时器到达预先设定的监控周期时即执行步骤205。
综上所述,应用本发明方法及系统,更易于实现监控主机对受控主机的远程监控功能,整个远程监控功能的开发仅在监控主机中进行,而无需开发受控主机代码。由于本发明可采用DCOM技术,因此不必制定监控主机与受控主机之间的通信协议,从而易于实现监控功能的修改或升级等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
权利要求
1.一种实现远程监控的方法,该方法应用于包括监控主机和一个以上受控主机的系统,其特征在于,该方法包括A.在监控主机上配置各个受控主机的信息;B.监控主机按所述各个受控主机的信息从各个受控主机获取各个受控主机对象;C.监控主机通过调用所述各个受控主机对象的处理函数得到各个受控主机当前的运行状态。
2.根据权利要求1所述的方法,其特征在于,步骤A所述配置受控主机信息为编辑包含各个受控主机信息的配置文件,所述监控主机启动时通过读取该配置文件得到各个受控主机的信息。
3.根据权利要求1所述的方法,其特征在于,所述步骤B中,针对每一受控主机执行如下步骤B1.调用创建实例函数,该函数携带受控主机的信息、并指定受控主机对象接口标识,该创建实例函数再返回受控主机对象接口;B2.按所述受控主机对象接口调用查询接口函数得到受控主机对象。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述受控主机的信息包括地址信息和鉴权信息。
5.根据权利要求1所述的方法,其特征在于,该方法应用的系统为媒体服务器系统;所述受控主机为媒体服务器,所述受控主机的运行状态为作为受控主机的媒体服务器上各个发布点的服务状态;所述步骤C中,针对每一受控主机对象执行如下步骤C1.调用受控主机对象的发布点集合函数得到对应受控主机的发布点集合对象;C2.调用该发布点集合对象的获取发布点函数得到各个发布点对象;C3.调用所述各个发布点对象的获取服务状态的函数得到各个发布点的服务状态。
6.根据权利要求5所述的方法,其特征在于,所述服务状态包括发布点名称、类型、状态、在线人数。
7.根据权利要求1所述的方法,其特征在于,所述步骤C进一步包括监控主机对接收到的各个受控主机的运行状态进行整合得到监控结果。
8.根据权利要求7所述的方法,其特征在于,所述步骤C进一步包括监控主机根据整合得到的监控结果判断受控主机的运行状态是否异常,并在判断异常时发出报警信息。
9.根据权利要求1、2、3、5或7所述的方法,其特征在于,该方法基于分布式组件对象模型DCOM技术;预先将监控主机和各个受控主机的组件服务设置为启用DCOM,并在监控主机上安装和注册Windows媒体服务组件。
10.一种实现远程监控的系统,其特征在于,该实现远程监控的系统应用于包括监控主机和一个以上受控主机的系统,该实现远程监控的系统设置于所述监控主机中,包括管理模块和一个以上的监控模块,每一监控模块连接一个受控主机;所述管理模块,用于配置各个受控主机的信息并输出给各个监控模块;所述监控模块,用于从管理模块接收受控主机的信息,按此受控主机的信息从受控主机获取受控主机对象,并通过调用受控主机对象的处理函数从受控主机获取该受控主机的运行状态。
11.根据权利要求10所述的系统,其特征在于,所述监控模块进一步用于返回受控主机的运行状态给所述管理模块;所述管理模块进一步用于整合接收到的各个受控主机的运行状态。
12.根据权利要求10所述的系统,其特征在于,所述受控主机为媒体服务器。
全文摘要
本发明公开了一种实现远程监控的方法,该方法应用于包括监控主机和受控主机的系统,该方法包括A.在监控主机上配置各个受控主机的信息;B.监控主机按所述各个受控主机的信息从各个受控主机获取各个受控主机对象;C.监控主机通过调用所述各个受控主机对象的处理函数得到各个受控主机当前的运行状态。本发明还公开了一种系统,应用本发明方法及系统能显著降低远程监控功能的开发及维护难度。
文档编号H04L12/24GK1956396SQ20051011666
公开日2007年5月2日 申请日期2005年10月26日 优先权日2005年10月26日
发明者杨滨 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1