著录项信息
专利名称 | 一种具有弹性体系架构的集群管理监控系统的构建方法 |
申请号 | CN200610041605.0 | 申请日期 | 2006-01-05 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2006-07-19 | 公开/公告号 | CN1805379 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/24 | IPC分类号 | H;0;4;L;1;2;/;2;4;;;G;0;6;F;1;5;/;1;6查看分类表>
|
申请人 | 西安交通大学;浪潮电子信息产业股份有限公司 | 申请人地址 | 陕西省西安市咸宁路28号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 西安交通大学,浪潮电子信息产业股份有限公司 | 当前权利人 | 西安交通大学,浪潮电子信息产业股份有限公司 |
发明人 | 薛正华;李景山;董小社;伍卫国;胡雷钧;李万城;王守昊 |
代理机构 | 西安通大专利代理有限责任公司 | 代理人 | 李郑建 |
摘要
本发明公开了一种具有弹性体系架构的集群管理监控系统的构建方法,该方法中,系统体系架构的构建采用分层设计,根据集群规模和节点角色划分层数,实现层级托管,对于小规模集群系统采用两层体系架构,实现了任务的零转发,提高了通信效率,大规模集群系统则采用三层体系架构,解决了管理节点的单点瓶颈问题,提高了通信效率和集群规模的可扩展性;体系架构的改变通过一个配置文件即可快速实现;任务按业务类型分类,不同业务类型对应不同业务流程;任务的转发和执行采用多线程并发机制,大大提高了批量任务执行时管理监控系统的执行效率;采用B/S结构,客户端通过浏览器即可方便地对集群系统进行远程管理监控。
1.一种具有弹性体系架构的集群管理监控系统的构建方法,其特征在于,体系架构的构建采用分层设计,根据集群规模和管理节点、子管理节点和被管节点的角色划分层数,实现层级托管,对于小规模集群系统采用两层体系架构,大规模集群系统采用三层体系架构; 体系架构的改变通过一个配置文件即可快速实现,即Web server启动后,管理节点将自动读取配置文件信息并将此信息写入数据库的NodeInfo表和反映节点角色及节点隶属关系的NMInfo表,一个负责记录整个集群拓扑结构的类将读取这两个表中的信息并构建系统拓扑结构对象topology,并将此对象加载到内存中,系统依据此对象所存储的集群拓扑结构进行任务的转发,通过改变配置文件即可实现体系架构的改变; 任务按业务类型分类,划分为管理、监控和报警三种类型,不同业务类型对应不同业务流程;任务的转发和执行采用多线程并发机制;采用B/S结构,客户端通过浏览器远程管理监控集群系统。
2. 如权利要求1所述的方法,其特征在于,所述的小规模集群系统的 两层体系架构划分为管理层和被管理层两层;大规模集群系统的三层体系架 构划分为管理层、子管理层和被管理层。
3. 如权利要求2所述的方法,其特征在于,所述的两层体系架构的管 理层有Web Server、 MonitorAgent和AlarmAgent三个模块;上述三个模块 驻留在管理节点,被管理层仅有一个接收和执行命令的模块,两层之间按业 务类型的不同采用不同的交互流程;其管理流程为:Web Server直接将管理命令派发到各被管节点,Web Server和被管节点之间无须再通过一个管理节点转发命令,被管节点执行 命令后返回结果给Web Server;监控流程为:MonitorAgent模块按用户自定义的时间间隔定期收取各 被管节点的性能和健康信息,再将这些信息写入数据库,用户通过Web Server从数据库中获取监控信息;报警流程为:每个被管节点定期监控自身的性能和健康信息,若发现性 能超标或节点不健康则主动拘管理节点汇报,管理节点的AlarmAgent模块 收到报警信息后,将立刻启动报警机制,此外,AlarmAgent执行完报警处 理事务后,还要将报警信息写入数据库中,便于用户査看报警历史信息并进 行数据分析。
4.'如权利要求2所述的方法,其特征在于,所述的三层体系架构的管 理层包括Web Server和Alarm Agent两个模块,上述两个模块驻留在管理 节点,子管理层包括一个命令转发模块,被管理层包括一个命令执行模块; 子管理层中的各子管理节点本身也是被管节点,它可以被它自己或其它子管 理节点管理,否则,它将游离于整个集群管理监控系统之外;三层之间按业 务类型采用不同的交互流程,其各业务流程之间彼此相互独立;其管理流程为:Web Server将命令派发给子管理节点,子管理节点再 将命令转发给被管理节点,命令执行完成后沿原路返回执行结果;监控流程为:各子管理节点定期收取其所辖范围内的被管节点的监控信 息,并将这些信息写入数据库;'报警流程为:管理节点的AlarmAgent模块负责所有子管理节点和被管 节点的报警业务,每个被管节点定期监控自身的性能和健康信息,若发现性 能超标或节点不健康则主动佝管理节点汇报,管理节点的AlarmAgent模块 收到报警信息后,将立刻启动报警机制,此外,AlarmAgent执行完报警处 理事务后,还要将报警信息写入数据库中,便于用户查看报警历史信息并进 行数据分析。
5..如权利要求1所述的方法,其特征在于,所述的配置文件内容包括 节点名、节点IP和节点ID, Web server启动后,管理节点将自动读取配置 文禅信息并将此信息写入数据库的反映节点信息的Nodelnfo表和反映节点 角色及节点隶属关系的NMInfo表, 一个负责记录整个集群拓扑结构的类将 读取这两个表中的信息并构建系统拓扑结构对象topology,并将此对象加 载到内.存中,系统依据此对象所存储的集群拓扑结构信息进行任务的转发。 6.如权利要求l所述的方法,其特征在于,所述的多线程并发机制是, 任务转发时,上层节点为其辖域内的每一个子节点开辟一个或一组独立的线 程进行单任务或多任务的转发和结果信息的获取。
一种具有弹性体系架构的集群管理监控系统的构建方法\n技术领域\n本发明属于计算机领域,涉及集群管理监控系统,特别涉及一种具有弹 性体系架构的集群管理监控系统的构建方法。\n背景技术\n集群就是通过高性能网络或局部网将一组计算机系统(节点)互联,形 成的具有单一系统映像的高性能、高可用、高可扩展性、高性价比的多计算\n机系统、由于其相对于传统的大型机的高可用性和低价格的优势,用集群构 造超级计算机或超级服务器成为一种流行的趋势。\n-近年来,随着技术的发展,集群的规模从过去的数个节点扩充到数百个 节点甚至数千个节点,对集群系统的管理监控也变得越来越复杂,集群管理 监控越来越成为一项具有挑.战性的工作。如何保持对软件的更新、监视硬件 和软件的运行状态以及对集群进行定期的维护等都成为集群管理员费时费 力的工作。集群管理监控系统的出现大大解放了集群管理员的日常工作,使 他们可以通过图形界面方便地实现对整个集群的管理。集群管理监控系统是 集群系'统软件的一部分,处于系统软件的最顶层,它对整.个集群的软、硬件 起到管理的作用,为集群的系统管理员和最终用户提供服务。集群系统的一 个^本特点是"整个系统呈现给用户的是单一系统的映像",为实现这一目 标,应提供在单一控制台上包括对集群的规划、安装、配置、监控、日常维 护、开机关机等系统管理全过程的控制支持。集群管理监控系统应提供一套 多功能、易使用、可扩展的实用化管理工具,帮助管理员监控整个集群的工 作状态,保证集群系统高效、稳定地运行。\n基于B/S结构的集群管理监控系统已成为集群管理监控系统的发展趋\n势,而目前多数B/S结构的集群管理监控系统的体系架构分为四层,即Web Server、总管理节点、子管理节点和被管节点。命令从上到下依次转发,这 种分层方式的缺点是:任务转发次数过多,任务下达到被管节点需要在网络 上进行三次交互,通信效率不高,尤其是当集群规模较小时,子管理节点根 本没有存在的意义。这种体系架构无法根据集群规模灵活改变,并且通信次 数过多',增加了网络负担,降低了任务执行效率。\n发明内容\n针对上述现有技术存在的缺陷和不足,本发明的目的在于,提供一种根 据集群规模灵活改变体系架构的集群管理监控系统的构建方法。 为了实现上述任务,本发明釆取如下的技术方案:\n一种具有弹性体系架构的集群管理监控系统的构建方法,其特征在于, 体系架构的构建采用分层设计,根据集群规模和管理节点、子管理节点和被 管节点.的角色划分层数,实现层级托管,对于小规模集群系统采用两层体系 架构,大规模集群系统则采用三层体系架构;\n.体系架构的改变通过一个配置文件即可快速实现;即Web server启动 后,管理节点将自动读取配置文件信息并将此信息写入数据库的Nodelnfo 表和反映节点角色及节点隶属关系的NMInfo表, 一个负责记录整个集群拓 扑结构的类将读取这两个表中的信息并构建系统拓扑结构对象topology, 并将此对象加载到内存中,系统依据此对象所存储的集群拓扑结构进行任务 的转发,通过改变配置文件即可实现体系架构的改变;\n任务按业务类型分类,划分为管理、监控和报瞀三种类型,不同业务类 型对应不同业务流程;任务的转发和执行采用多线程并发机制;采用B/S 结构,客户端通过浏览器远程管理监控集群系统。\n在本发明中,集群中的各节点(服务器)采用层级托管的方式进行 管理和监控。当集群规模镓小时,采用两层体系架构,即管理层和被管\n理层,'并将Web Server置于管理层,即通过Web Server直接将命令转 发给被管节点,Web Server和被管节点之间不再需要一个单独的管理节 点,'这种架构最大程度地减少了任务转发次数(零转发),降低了通信 出错率,提高了通信效率;当规模较大时,采用三层体系架构,即管理 层、子管理层和被管理层,.分层托管,有效减少了直接与管理层交互的 被管理节点数目,解决了管理节点的单点瓶颈问题,提高了集群系统的 可扩展性。同时,层与层之间的任务转发采用多线程并发机制,大大提 高了批量任务执行时管理监控系统的执行效率,提高了系统可靠性。在 本发明中,将所有任务按业务类型划分(管理、监控和报警),不同业 务类型对应不同业务流程,业务流程彼此独立,模块化结构好,提高了 管理监控系统的可扩展性和易维护性。\n附图说明\n图1为小规模集群管理监控系统体系架构及层间的交互流程图。 图2为大规模集群管理监控系统体系架构及层间的交互流程图。 以下结合附图和发明人给出的实施例对本发明进行进一步的详细说明。\n具体实施方式\n在本发明的根据集群规模灵活改变体系架构的集群管理监控系统构建 方法中,集群管理监控系统的构建采用分层设计,按集群规模和节点角色划 分层数。当集群规模较小时采用两层体系架构,把Web Server作为管理层, 不再需要一个单独的管理节点,而是由Web Server直接向各节点派发命令, 这种体系架构最大程度地减少了任务转发次数(零转发),降低了通信出错 率,提高了通信效率。当集群规模较大时采用三层架构,实现了层级托管, 即Webserver (管理节点)转发任务给其下属的各子管理节点,各子管理节 点再将在务派发给其辖域内的各被管节点,这种层级托管机制,有效减少了 直接与管理节点交互的节点数目,解决了管理节点的单点瓶颈问题,提高了\n通信效率,同时还大大提高了集群系统规模的可扩展性。\n在本发明中,系统能够根据集群规模灵活改变体系架构,同时确保命令 在网络上的转发次数最少,极大地提高了任务执行效率。\n本.发明如附图l所示,其中,带箭头的虚线表示管理业务流程、带箭头 的点划线表示监控业务流程、带箭头的实线表示报警业务'流程、单向箭头表 示层间单向交互,双向箭头表示层间双向交互。小规模集群管理监控系统采\n用两层体系架构,即管理层和被管理层。管理层包括三个模块:WebServer、 MonitorAgent和AlarmAgent,上述三个模块驻留在管理节点,而被管理层 仅包括一个接收和执行命令的模块。两层之间按业务类型的不同采用不同的 交互流程。其中,管理流程为(图中带箭头的虚线所示):Web Server直接 将管理命令派发到各被管节点,Web Server和被管节点之间无须再通过一 个管理^?点转发命令,被管节点执行命令后返回结果给Web Server,这种 设计最大程度地减少了管理命令的转发次数(零转发),提高了通信效率; 监控流程为(图中带箭头的点划线所示):MonitorAgent模块按一定时间间 隔(用户可自由设定)定期收取各被管节点的性能和健康(服务器各部件的 温度、电压和风扇转速等)信息,再将这些信息写入数据库(便于对历史数 据进行再现和分析),管理节点的Web Server模块负责从数据库中按用户需 求提取相应的监控数据,并以动态图形界面的形式呈现给用户;报警流程为 (图中带箭头的实线所示):每个被管节点定期监控自身的性能和健康信息, 若发规性能超标或节点不健康则主动向管理节点汇报,管理节点的 AlarmAgent模块收到报警信息后,将立刻启动报警机制,在本发明中,实 现j浏览器界面报警、email报警和拨号报警三种报警方式。此外, AlarmAgent执行完报警处理事务后,还要将报警信息写入数据库中,便于 用户査看报警历史信息并进行数据分析。\n如附图2所示,其中,带箭头的虚线表示管理业务流程、带箭头的点划\n线表示监控业务流程、带箭头的实线表示报警业务流程、单向箭头表示层间 单向交互,双向箭头表示层间双向交互。大规模集群管理监控系统采用三层\n体系架构,即管理层、子管理层和被管理层。管理层包括两个模块:Web Server和Alarm Agent ,上述两个模块驻留在管理节点,子管理层包括一个\n命令转发模块,被管理层包括一个命令执行模块。需要特别说明的是,在本 发明中,子管理节点本身也是一个被管节点,它可以被它自己或其它子管理 节点管理,否则,它将游离于整个集群管理监控系统之外。在大规模集群管 理监控系统架构中,三层间的通信按业务类型采用不同的交互流程。其中, 管理流程为(图中带箭头的虚线所示):Web Server将命令派发给子管理节 点,子管理节点再将命令转发给被管理节点,命令执行完成后沿原路返回执 行结果;监控流程为(图中带箭头的点划线所示):各子管理节点负责定期 收取其所辖范围内的被管节点的监控信息,并将这些信息写入数据库(便于 日后进行历史数据再现和分析),管理节点的Web Server模块负责从数据库 中按用户需求提取相应的监控数据,并以动态图形界面的形式呈现给用户; 报警流程(图中带箭头的实线所示)为:管理节点的AlarmAgent模块负责 所有子管理节点和被管节点的报警业务,具体的业务流程^小规模集群下的 报警业务流程类似,不再赘述。通过流程分析可以看到,大规模集群系统下 的这种层级托管机制,有效减少了直接与管理节点交互的被管节点的个数, 解决了管理节点的单点瓶颈问题,提高了通信效率,同时还大大提高了集群 系统规模的可扩展性。 .\n在本发明中,用户只需要通过填写一个简单的配置文件,即可实现上述\n功能。以下为发明人给出的一种具体实施例:\n用户填写配置文件,配置文件内容包括三项:节点名、节点IP和节点角色。\n'启动Web Server和各节点的Agent 。Web server启动后,管理节点将自动读取配置文件信息并将此信息写 入数据库的Nodelnfo表(反映节点信息的表,包括:节点名、节点IP和节 点ID).和腿Info表(反映节点角色及节点隶属关系,包括:节点ID及其 子管理节点ID)。同时, 一个负责记录整个集群拓扑结构的类将读取这两个 表中的信息并构建系统拓扑结构对象topology,并将此对象加载到内存中。 当用户执行管理命令时,系统首先根据topology对象判断用户所选择的一 系列节点分别隶属于哪些子管理节点,再将命令同时派发给这些子管理节 点,通过子管理节点转发管理命令到被管节点上,被管节点收到命令后执行, 执行结果将按原路返回给Web Server。若用户所选择的某些节点没有子管 理节点,则web server将直接发送管理命令给这些节点,节点执行完成后 将结果'返回给Web Server,此时管理监控系统架构在局钾范围内演变为小 规模系统的两层架构。\n'各层在转发命令时,采用了多线程并发机制,具体实现是构建一个线程 池,线程池为每一个任务分配一个独立的线程,各线程彼此独立,该机制保 障了批量任务执行吋管理监控系统的执行效率。此外,在本发明中所构建的 线程池是一个自适应大小的线程池,它可以根据任务量的大小自行创建或杀 死池中的线程,实现按需构建,从而确保任务执行效率和资源的最低使用。\n管理节点或子管理节点Agent启动后,将从数据库读取其所管辖节点的 ID列表,并加载所有监控方法到内存中,此时,系统将创建一个"任务规 划线程池",该池具有两个特点:根据任务量自适应池中线程数目;周期性 执行所计划的任务。通过该池实现了高效、低资源利用率地执行监控业务, 即通过该池按一定周期定期监控各节点性能和健康信息。此外,在本发明中, 为每一个节点的每一个监控方法在池中分配一个独立的线程,各线程独立运\n行,这种设计避免了由于某一个监控信息获取失败而导致其它信息无法获取 的问题。各监控方法通过面向对象的通信协议RMI远程获取被管节点的监控\n信息并将信息写入数据库。需要特别说明的是,在本发明中,周期性执行各 监控业务是指前一次任务必须执行完成(无论成功或失败)后间隔一定周期 才执行下一次任务,而不是基于时间间隔的周期性执行(即无论前一次的任 务完成与否,按时间间隔定期执行任务),基于时间间隔的这种执行方式容 易导致大量任务的阻塞。\n被管节点的Agent启动后,将启动报警守护进程,按一定时间间隔周期 性监控^:节点的性能和健康信息,若发现问题将主动向t^理节点汇报。管理 节点收到报警信息后,将立刻执行报警事务处理业务,并将报警信息写入数 据库。此外,被管节点Agent还负责接受并执行来自管理节点或子管理节点 的命令。\n通过上述实施例可以看出,本发明的具有弹性体系架构的集群管理监控 系统的构建方法,能够根据集群规模灵活改变管理监控系统的体系架构。当 集群规模较小时采用两层架构,最大程度减少了任务转发次数(零转发), 提高了.通信效率。当规模较大时采用三层架构,有效减少了直接与管理节点 交互的节点个数,解决了管理节点的单点瓶颈问题,提高T集群规模的可扩 展性。体系架构的改变通过一个配置文件即可快速实现。按业务类型(管理、 监控和报警)划分任务,不同业务类型对应不同的业务流程,各流程彼此独 立,模块化结构较好,提高了管理监控系统的可扩展性和易维护性。引入多 线程并发机制,大大提高了批量任务执行时管理监控系统的执行效率。此外, 系统采用B/S结构,用户通过web浏览器即可方便地对集群系统进行远程管 理监控。
法律信息
- 2014-03-12
未缴年费专利权终止
IPC(主分类): H04L 12/24
专利号: ZL 200610041605.0
申请日: 2006.01.05
授权公告日: 2008.01.30
- 2008-01-30
- 2006-09-13
- 2006-07-19
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2004-05-26
|
2002-11-06
| | |
2
| |
2005-01-19
|
2003-06-09
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2012-01-16 | 2012-01-16 | | |