研究管理代理与监控模块通信设计

时间:2020-10-06 13:38:43 理工毕业论文 我要投稿

研究管理代理与监控模块通信设计

摘要:详细介绍了面向应用软件的网络监控系统中管理代理和监控模块通信的设计与实现过程。包括管理信息存储的优化设计、内存映射文件的存储数据结构设计、监控指令转发技术、内存映射文件的通信方式、同步机制应用等。通过内存映射文件方式存储管理信息,高效地完成了收集各应用程序实例的监控信息任务,并实现了监控信息的存储、共享和监控模块与管理代理间实时信息交换的功能。?

关键词:优化存储;内存文件映射;消息机制;同步机制?
  
  随着网络规模增大,网络结构及网络应用日渐复杂,传统的物理安全技术和措施已经不足以保证信息系统的安全,因此网络管理系统作为网络安全运行的保证,其重要性越来越突出。为了提高计算机网络信息安全,许多相关的网络安全产品被开发,但大多是基于网络硬件设备,如路由器、集线器、交换机等,而对网络应用软件的研究和开发相对较少[1~4]。为了保证网络环境中的应用程序正常高效地运行,笔者设计了基于SNMP的ASNMS(Application Software Net Monitoring System,网络应用软件监控系统)。该系统选择运行于网络环境中的应用程序为研究对象[5,6]。?
  
  1网络应用软件监控系统(ASNMS)简介?
  
  ASNMS的主要监控目标是网络中的应用软件,通过及时获取软件中重要变量值(如系统配置、状态指示等),从而及时了解整个网络中应用程序的状态,并且还可以通过管理站点对各受控站点中的应用程序进行控制操作,提高整个网络和应用系统的安全性。?该网络应用软件监控系统主要有三个模块[5,6]:?
  (1)管理站点主程序。该程序在管理站点上运行。通过该程序,管理站点可以使用UDP/IP协议与管理范围内的所有受控站点进行通信,收集网络应用程序的监控信息,并下发各种控制命令。?
  (2)管理代理。每一个受控站点上运行一个管理代理程序(有且仅有一个)。管理代理是系统的通信中心。一方面通过内存映射文件与受控站点上的各应用程序实例进行通信,收集各应用程序实例的监控信息;另一方面通过UDP协议与管理站点通信,发送受控站点的管理信息以及转发管理站点的控制信息。?
  (3)监控模块。该模块是供软件开发人员使用的一个通用接口模块。它负责从受控应用程序中获取监控信息,发送到管理站点,并且也能接收从管理代理转发的管理站点命令,对受控应用程序执行一定的控制操作。从结构上来看,监控模块附属于受控应用程序,但它以单独的线程形式存在。
  ?
  2管理信息存储的设计?
  
  为了监控模块工作的需要,同时为了能更方便地将监控信息传送给管理代理,监控模块需要将监控信息以一定的形式存储起来。监控模块监控的目标是应用程序中的变量。由于现在软件开发大多使用的是面向对象的方法,在其程序中各种变量是有层次结构关系的.,这一点必须在监控信息中体现出来[7]。监控信息从逻辑上看应该是以树的形式存在,并且存储的是各种变量的信息,而变量的长度是不相同的,在这棵树中各个节点的空间大小有可能不相同。由此看来,无论是从存储内容上还是从逻辑结构上看,监控信息的存储结构均是相对较为复杂的。下面三种设计方案可以满足这样的要求:?
  (1)在监控模块内存空间内生成一棵二叉树。这是最常规的存储方法。在此情况下,只需要设计一个较为合理的树结构,二叉树就能直接存储在监控模块的内存空间中,访问方便。同时因为在许多语言中均有任意类型的数据类型,由此可以将不同数据类型的数据方便地存储在一种数据结构中。但是由于这棵树存在于监控模块的内存空间中,不方便管理代理程序对其读取,监控模块还需要通过一定的方法将该树传送给管理代理[4,7]。?
  优点:实现简单,监控模块可以很方便地对其进行读写操作。?
  缺点:不方便管理代理程序对监控信息读取,需要使用其他方法将信息传送给管理代理。?