APP下载

分布仿真运维管理系统运行监控工具研究与实现

2019-06-17闫文君

计算机应用与软件 2019年6期
关键词:命令分布式组件

方 伟 徐 涛 闫文君 凌 青

(海军航空大学信息融合研究所 山东 烟台 264001)

0 引 言

近年来,分布式交互仿真[1-4]技术在模拟训练[5]、作战实验、装备试验等各个领域得到了广泛的应用,贯穿了项目需求分析、技术验证、生产研制、效能评估等各个层次。同时,随着信息技术的不断发展,分布式仿真系统规模不断扩展,运维管理[6-8]难度不断增加,面向分布式仿真系统,利用自动化工具对系统的运维过程进行管理,是提升分布式系统运行效率的重要手段。运行监控工具[9-11]作为运维管理工具的重要一环,其核心是在嗅探分布式运行环境的基础上,对各个仿真节点进行人工/自动控制,自动捕获仿真节点,为运维管理工具辅助决策提供支持。

1 运维管理系统架构

运维管理系统由仿真部署工具、运行监控工具、数据记录工具和节点运行状态分析工具等4个部分组成,在网络通信中间件[12-13]的支持下,共同完成从分布式仿真系统环境准备、运行到评价全过程的控制,其功能结构如图1所示。

图1 运维管理系统功能结构图

仿真部署工具以运维管理库中仿真构件作为输入,依据任务需求和仿真节点计算能力等,通过分布式环境下的各节点远程代理,将仿真构件部署至各节点计算机,并形成分布仿真运行环境描述文件。

运行监控工具以分布仿真运行环境描述文件为输入,通过对分布式环境下各节点的嗅探,确定运行环境与部署环境间的一致性,并通过各类控制指令完成对各仿真节点的控制,并提供运行状态数据为节点运行状态分析工具提供支持。

数据记录工具在运行阶段持续对各仿真节点产生的数据进行收集、整理与存储,一方面为回放提供数据源支持,另一方面为节点运行状态分析提供数据支持。

节点运行状态分析工具以运行状态数据、仿真数据和硬件资源数据为主要输入,对分布式环境下计算资源分配情况进行分析,并以时间序列为基础,对分布式环境下各节点故障情况进行分析。

2 运行监控工具功能

运行监控工具基于TCP/IP网络传输协议,通过在各仿真节点部署远程代理实现对分布式环境的运行与监控,远程代理随着系统的启动自动运行,常驻于后台,完成各类控制命令的执行和信息采集。其功能如图2所示。

图2 运行监控工具功能图

1) 运行监控工具:

该工具部署于服务器端,是分布式仿真环境的总控制端口,其具备节点嗅探、命令发送、数据汇集和辅助分析等功能。运行监控工具运行界面如图3所示。

图3 运行监控工具运行界面

(1) 节点嗅探:完成分布系统内各仿真节点启动情况、在线情况的监视。

(2) 命令发送:依据人机界面操作,形成各类控制指令,通过网络传输通道向仿真节点发送计算机管理、任务管理、状态查询等各类控制命令。

(3) 数据汇集:接收来自远程代理的反馈状态数据,并依据不同数据类型,传递给人机界面进行显示,同时对汇集的数据进行存储。

(4) 辅助分析:基于远程代理反馈的硬件实时性能数据、软件运行状态数据等,形成数据文档及初步分析报告,后期为节点运行状态分析提供支持,进而优化软件性能,以及构件部署。

2) 远程代理:

该软件部署于各仿真节点计算机,通过被动和主动两种模式完成对仿真节点的控制。被动模式主要是通过运行监控工具发送的控制命令触发其行为,完成任务启动/关闭、计算机关机等各类行为;主动模式主要由远程代理自发执行,其周期性对任务运行状态、硬件资源使用等情况进行收集,并通过网络传送给运行监控工具。远程代理运行界面如图4所示。

图4 远程代理运行界面

3 运行监控工具设计

运行监控工具采用C/S架构、组件化[14]思想进行设计,各组件功能独立,耦合度低,为运行监控工具、远程代理等平台软件提供可靠服务,主要由节点管理、网络通信、资源管理、命令管理、状态监控、辅助分析和人机界面等组件组成,如图5所示。

图5 运行监控工具结构组成

由图5可以看出,网络通信组件和命令管理组件是运行监控工具和远程代理的共性组件,共同完成了双方的数据交互与命令处理。人机界面组件依据不同业务需求特点进行设计,实现人机交互操作入口和数据的多形态表现;节点管理组件实现服务器对各仿真节点的统一控制;资源管理组件完成对仿真节点计算机、任务、硬件使用等全面控制与管理;状态监控组件实现对各类资源状态的实时监视;辅助分析组件基于状态监视数据对各节点状态数据进行采集,形成初步分析报告。

3.1 节点管理

节点管理组件主要对指定IP地址范围内的仿真节点进行搜索,搜索到的IP地址即表征一个仿真节点的存在,并向运行监控工具返回节点IP地址、端口号、主机名称、MAC地址等基本信息,未返回状态的IP地址经一段时间延迟后认为该IP地址无效,最终对搜索到的全部IP地址进行信息分类并存储于内存。

考虑到远程代理启动顺序、网络质量等方面的原因可能导致部分仿真节点无法及时被运行监控工具所捕获,为确保节点搜索质量,节点管理组件采用三种策略进行节点搜索,如图6所示。

图6 节点搜索策略

(1) 自主搜索:由运行监控工具触发,按照IP地址范围采用广播、点播相结合的方式向部署远程代理的仿真节点进行搜索,并反馈搜索结果。

(2) 二次自主搜索:利用仿真部署工具明确的分布仿真运行环境IP地址范围,与采用自主搜索获取的结果进行对比,明确未响应节点,对该节点以点播的形式进行指定次数的二次搜索,获取仿真节点状态。

(3) 主动反馈:仿真节点启动后,在网络通信组件和服务器描述文件的支持下,主动向运行监控工具上报节点状态信息。

仿真节点完成与运行监控工具间的基础连接后,仿真节点将对内部服务器描述文件进行修改,以重新建立服务器描述信息。

3.2 命令管理

命令管理组件是运行监控工具完成对各仿真节点全面控制的基础指令。其基本流程是:运行监控工具确定控制对象,确定命令类型,确定命令参数,发送具体命令。远程代理接收控制命令,解析控制命令,执行控制命令,回传执行结果。命令类型如表1所示。

表1 命令类型及其参数描述

命令管理模块在控制字结构上主要采用四段结构,即节点IP、控制命令、源路径和目标路径。其中:节点IP为受控节点IP地址,空表示对全部节点进行统一控制;控制命令即表1中明确的各类命令;源路径为控制命令的具体参数;目标路径为仿真节点处理所需的参数信息。

需要注意的是,启动计算机命令主要通过网卡唤醒的方式实现,其与远程代理无任何形式的交互。为阻断任务系统与运行监控工具间的耦合,降低任务系统开发难度,任务状态查询、任务运行、任务暂停等功能主要通过调用Windows底层服务实现,其中,任务状态的查询可对任务的响应性进行判断,并在桌面捕获命令的支持下,对软件运行状态进行分析。持续监视命令能够完成指定节点IP或全部仿真节点任务运行状态、硬件资源使用信息、节点桌面等信息全面的监视。

远程代理在接收到上述命令后,通过调用资源管理组件提供的服务,完成相关信息的获取,并根据信息类别,利用TCP/UDP等通信方式向运行监控工具上报由命令字、状态字和数据信息等内容组成的各类结果。运行监控工具通过对各类结果的接收、分类和记录等处理过程,以图、表等形式对信息内容进行显示。

3.3 状态监控

状态监控组件部署于远程代理端,其核心是对仿真节点任务运行状态、硬件资源使用情况等信息进行采集,并利用网络通信组件完成上报。采集上报方式包括:自动化采集,该模式由预先设定的数据采集周期,远程代理自动对各类资源数据进行采集,对状态发生变化的数据进行上报;应答式采集,该模式主要由运行监控工具触发,远程代理完成相应任务。状态监控报告如表2所示。

表2 状态监控报告

3.4 辅助分析

辅助分析组件部署于运行监控工具端,主要通过接收来自状态监控组件回传的数据,形成满足节点运行状态分析工具所需的数据集和辅助分析报告。

1) 分布环境运行数据集:分布环境运行数据集主要对来自远程代理的各任务运行状态、硬件资源实时使用情况等数据采用标准的XML格式进行分类存储。其中任务运行状态数据主要以每个任务为基础记录任务ID、名称、内存占用率、CPU占用率以及状态(尤其是故障状态)等;硬件资源实时使用情况主要以每个节点计算机为基础记录CPU使用率、内存使用率、网络使用率等。

2) 辅助分析报告:辅助分析报告以分布环境运行数据集为基础,重点对任务运行状况和负载均衡[15]等进行初步分析,并以Word文档的形式输出报告内容。其中,任务运行状况重点采集任务执行过程中出现故障、崩溃和负载率较高的时间点、状态和回传的桌面图像,通过与运维管理系统中获得的任务内部交互数据时间点配合,检查任务执行在分布式环境中由于其他系统数据输入导致任务失败的原因;负载均衡重点采集节点计算机硬件资源实时使用状况,结合任务执行过程中采集到的运行在该节点计算机上的全部任务软件对资源的使用情况等,从负载平衡的角度分析该节点计算机的负载能力以及任务部署建议,后可依据负载均衡分析报告内容,结合仿真部署工具对资源进行重新调整,达到分布运行环境的优化。

4 结 语

综上所述,运行监控工具作为运维管理系统的组成部分具有以下特点:

1) 从分布式仿真系统的负载均衡分析的角度出发,在运行监控工具内部设计了辅助分析功能,综合利用节点计算机性能、任务执行对计算机资源需求量等因素,对节点计算机负载情况进行分析,提出任务部署建议,为优化运行环境提供了支撑。

2) 从运行监控工具与具体应用无关,对交互数据进行分类,并封装了网络通信接口,确保了主从端数据的有效交互。

3) 采用组件化设计思想和标准的数据交互格式,围绕运行监控需求,通过对TCP/IP协议在网络通信层和命令管理层的封装,并利用一对多的数据通信方式,确保了主从端数据可靠、有效的交互。

4) 采用自主搜索、二次自主搜索和主动反馈等三种节点嗅探机制,确保了仿真节点的可靠管理。

5) 科学合理规划运行监控工具在运维管理系统中的功能定位,隔离工具与具体应用关联,进一步扩展了工具在模拟训练、作战实验、装备试验等各类分布式仿真系统中的应用。

猜你喜欢

命令分布式组件
无人机智能巡检在光伏电站组件诊断中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
管理Windows10的PowerShell命令行使用记录
3月光伏组件出口量增长164.6%至7.49GW!单价创新低
一种嵌入式软件组件更新方法的研究与实现
浅析分布式发电对电力系统的影响
移防命令下达后
基于预处理MUSIC算法的分布式阵列DOA估计
解析Windows10的内部命令
分布式并联逆变器解耦电流下垂控制技术