一种构建主机监控代理软件的方法技术

技术编号:4241644 阅读:359 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种构建主机监控代理软件的方法,通过Java语言构建用于主机信息收集的代理软件,通过该代理软件与J2EE架构的系统进行通信,代理软件主要有控制器模块、检测程序、对象容器、线程池、Socket连接池、数据采集类、代理配置文件几部分组成,代理软件主要完成数据的发送和接收工作,同时提供代理注册、数据缓存、参数管理的功能,通过提供四种接口分别与代理服务器的控制子系统、管理子系统、被管对象、远程服务器的交互,通过该方法可以轻松实现获取主机监控信息的目的。

【技术实现步骤摘要】

本专利技术涉及,具体地说是一种。本专利技术涉及网管领域相关知识,适用于J2EE架构构建的企业网管软件系统,是一种远程获取主机监控信息的实现方法。
技术介绍
传统的网管软件大多采用CS模式,当网络和设备越来越复杂,管理和维护就变成一件比较困难的事情,特别是在ITIL运维领域要求流程管理,明确责任人,这种模式已经不能再满足需要;而通过BS模式通过浏览器方式进行管理和维护将是企业的一种必然选择,通过J2EE架构开发的企业网管软件已经比较流行,通过Java实现代理软件通过代理软件和网管软件系统进行交互,是本专利技术要解决的问题。下面的
技术实现思路
主要描述的是通过Java实现的主机监控代理软件的实现方法。
技术实现思路
本专利技术的目的是提供。本专利技术的目的是按以下方式实现的,通过Java语言构建用于主机信息收集的代理软件,通过该代理软件与J2EE架构的系统进行通信,代理软件主要有控制器模块、检测程序、对象容器、线程池、Socket连接池、数据采集类、代理配置文件几部分组成,代理软件主要完成数据的发送和接收工作,同时提供代理注册、数据缓存、参数管理的功能,通过提供四种接口分别与代理服务器的控制子系统、管理子系统、被管对象、远程服务器的交互,其中>控制器模块代理程序的功能类似于应用服务器,控制器模块在其中就相当于通常所说的MVC模式中的控制器层,控制器模块在初始化的过程中加载配置文件中的信息,通过配置文件获取后续的一些操作的阈值;控制器模块处于代理的核心位置,是代理程序运转的入口和枢纽,最重要的一点是实现映射请求到具体实现类功能,客户端发送的请求有很多,控制器模块根据接收到的请求路径找到对应的具体数据采集处理实现类,从对象容器中获取对象实例,生成数据采集任务,添加到线程池的工作队列中,等有空闲线程时执行数据采集操作,最后数据采集类采集数据处理后返回结果,完成了一个请求响应流程;>检测程序代理软件作为一个普通进程,在运行过程中可能会因为种种原因出现问题而不能正常提供监控服务,因此需要不断监控代理软件的运行状态,保证代理软件的服务能够持续可用,检测程序的目的就是为了监控代理软件的运行状态,检测程序不是一直运行的,是通过操作系统的定时任务定时调度的,它的作用主要有以下几点1.检查代理软件的状态,保证代理控制器总在运行,如果检测到代理软件没有运行或者不再响应,就根据特征码查找代理进程的PID,杀掉老进程并重启代理;2.定时去服务器检查最新版本,保持代理程序最新;3.定时从服务器下载最新的配置信息,其中主要包括1)服务器IP地址;2)服务器端口;3)本系统版本号;4)映射URL到代理类的信息;5)连接超时时间设置;6)其他信息;>对象容器在Java中所有的对象在使用前都必须先创建,否则会报异常,但是现在我们不必每次都重新创建对象,通过对象容器,在初始化的时候,把所有的对象预先加载进去,而每 次使用时,直接从对象容器中获取它并直接使用;>线程池线程池就是用来存放线程的对象容器,目的是为了最大程度的复用线程资源,代 理软件处理大量来自外部的小任务,即单个任务处理的时间很短而请求的数量却很多;构 建代理软件的一个简单的模型通常是每当一个请求到达就创建一个新线程,然后在新线 程中为请求服务;通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上,通过 适当地调整线程池中的线程数目,当请求的数目超过线程池的最大大小时,随后新到的请 求就一直等待,直到获得一个空闲线程来处理为止,从而可以防止资源不足;> Socket 连接池一般socket连接有以下两种方式长连接和短连接长连接当数据发送完成后socket连接不断开,一直保留到异常或者是程序退出 为止,长连接需要定时向服务器Ping数据,以保证socket连接畅通,当ping不通服务器 时,必须重新开启连接;短连接当一次数据发送完毕后,主动断开连接,每次发送数据都要一次连接、断 开操作,这种方式的优点是对服务器的资源占用相对来说比较小,但是由于每次都要重新 连接,速度开销上也比较大,这种方式对于那种不须要经常与服务器交互的情况下比较适 用;实现Socket连接池功能,是在连接池中维护多个Socket长连接,通过连接池来提 高Socket对象的复用性,最大限度的提升Socket的通信性能;采用Socket连接池,建立Socket连接并认证后,将socket连接缓存到池中,连接 池负责维护socket的有效性,通过发送ke印alive包,并维护连接的生命周期,包括定期重 建,这样取连接时得到的就是连接池中维护的Socket长连接;>数据采集类 采集类使用Java语言实现,实现统一接口,对外统一调用入口,采集后返回数据 格式为xml形式,方便传输和解析,提供自定义接口模式和规范,支持自定义采集类;>代理配置文件在控制器模块中启动多线程程序监控网络状态,当检测到网络连接中断后启动数据本地记录功能,根据配置文件中配置的数据采集周期,采集数据并记录到本地文件中,数据记录中包含时间戳信息,数据文件统一以采集类名+系统日期+. xmls的形式命名,在一 个特定文件中记录网络中断的开始时间,待网络恢复正常后再一起上传到服务器上,本地 的数据记录历史文件定期删除,只保留一段时间的记录;采用java语言编写的代理软件,代理软件能实现和远程J2EE架构系统的信息交互。代理软件具有自管理功能,自行检查服务有效性。代理软件采集主机实时信息,与监控服务器一起实现B/S模式监控远程主机的目的,并能提高数据收集量和可靠性。本专利技术的有益效果是1)本专利技术实现的是B/S模式网管软件代理的实现方法,网管服务器可以和部署在设备上的代理软件进行实时交互,从而收集设备信息。2)本专利技术采用Java语言开发,相比传统CS模式软件多少采用C语言进行开发,本专利技术的代理软件能够很容易的和J2EE架构的软件系统进行交互。3)本专利技术实现的代理软件能够轻松部署在多种环境下,统一的接口方式,主要是来自Java本身强调的是“一次编译、到处执行”的特性。附图说明图1是主机监控代理软件的结构示意图。具体实施例方式参照附图对本专利技术的方法作以下详细的说明。代理软件主要有控制器模块、线程池、Socket连接池、对象容器、数据采集类、代理 检测程序、配置文件等几部分组成。代理软件主要完成数据的发送和接收工作,同时提供代 理注册、数据缓存、参数管理等功能,通过提供四种接口分别和代理服务器的控制子系统、管理子系统、被管对象、远程服务器的交互。>控制器代理程序的功能类似于应用服务器,控制器在其中就相当于通常所说的MVC模式中的控制器层。控制器在初始化的过程中加载配置文件中的信息,通过配置文件获取后续 的一些操作的阈值。控制器处于代理的核心位置,是代理程序运转的入口和枢纽。最重要的一点是实现映射请求到具体实现类功能。客户端发送的请求有很多,控制器根据接收到的请求路径 找到对应的具体数据采集处理实现类,从对象容器中获取对象实例,生成数据采集任务,添加到线程池的工作队列中,等有空闲线程时执行数据采集操作。最后数据采集类采集数据 处理后返回结果。完成了一个请求响应流程。>检测程序代理作为一个普通进程,在运行过程中可能会因为种种原因本文档来自技高网...

【技术保护点】
一种构建主机监控代理软件的方法,其特征在于,通过Java语言构建用于主机信息收集的代理软件,通过该代理软件与J2EE架构的系统进行通信,代理软件主要有控制器模块、检测程序、对象容器、线程池、Socket连接池、数据采集类、代理配置文件几部分组成,代理软件主要完成数据的发送和接收工作,同时提供代理注册、数据缓存、参数管理的功能,通过提供四种接口分别与代理服务器的控制子系统、管理子系统、被管对象、远程服务器的交互,其中:  *控制器模块  代理程序的功能类似于应用服务器,控制器模et连接有以下两种方式:长连接和短连接:  长连接:当数据发送完成后socket连接不断开,一直保留到异常或者是程序退出为止,长连接需要定时向服务器ping数据,以保证socket连接畅通,当ping不通服务器时,必须重新开启连接;  短连接:当一次数据发送完毕后,主动断开连接,每次发送数据都要一次连接、断开操作,这种方式的优点是:对服务器的资源占用相对来说比较小,但是由于每次都要重新连接,速度开销上也比较大,这种方式对于那种不须要经常与服务器交互的情况下比较适用;  实现Socket连接池功能,是在连接池中维护多个Socket长连接,通过连接池来提高Socket对象的复用性,最大限度的提升Socket的通信性能;  采用Socket连接池,建立Socket连接并认证后,将socket连接缓存到池中,连接池负责维护socket的有效性,通过发送keepalive包,并维护连接的生命周期,包括定期重建,这样取连接时得到的就是连接池中维护的Socket长连接;  *数据采集  类采集类使用Java语言实现,实现统一接口,对外统一调用入口,采集后返回数据格式为xml形式,方便传输和解析,提供自定义接口模式和规范,支持  *代理配置文件  在控制器模块中启动多线程程序监控网络状态,当检测到网络连接中断后启动数据本地记录功能,根据配置文件中配置的数据采集周期,采集数据并记录到本地文件中,数据记录中包含时间戳信息,数据文件统一以采集类名+系统日期+.xmls的形式命名,在一个特定文件中记录网络中断的开始时间,待网络恢复正常后再一起上传到服务器上,本地的数据记录历史文件定期删除,只保留一段时间的记录。块在其中就相当于通常所说的MVC模式中的控制器层,控制器模块在初始化的过程中加载配置文件中的信息,通过配置文件获取后续的一些操作的阈值;  控制器模块处于代...

【技术特征摘要】

【专利技术属性】
技术研发人员:宋智强武志强
申请(专利权)人:山东浪潮齐鲁软件产业股份有限公司
类型:发明
国别省市:88[中国|济南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1