>数据库_MySQL解析本程序XML 配置文件解析配置管理信息文本文件图4 配置采集模块的UML高层用例视图数据存贮
1. 解析本程序XML配置文件。为了使本模块具有高灵活性与适应性,把易变之处采用
XML文件实现可配置化,主要包括三个方面:数据库(数据库的IP、实例、用户名、密码等)、模块运行日志(日志的格式、存放目录、大小等)以及配置管理信息文件本身相关配置(存放目录、文件格式、采集周期、采集时间等)。
2. 解析配置管理信息文本文件。本模块的输入即为配置管理信息文本文件,标准的配置管
理信息就是从其中抽取、分析、转换、计算、汇总出来的,而这个解析过程依据用户需求设计与实现。
3. 数据存贮。主要包括更新当前配置表以及备份当前配置表两部分,但是更新当前配置表
时要使用适当既定策略,比如:什么时候应该修改一个网元的配置管理信息,什么时候应该删除一个网元的配置管理信息等等,这些会在后面的实现部分具体介绍。
4. 3 配置采集模块实现
主程序数据存贮解析配置管理信息文本文件解析本程序XML 配置文件1: 采集模块启动2: 取网元的配置信息3: 取本程序配置信息4: 本程序配置信息5: 网元配置信息6: 数据存贮成功7: 等待下一次采集
图5 配置采集模块的实现流程(UML视图)
4.3.1 本模块启动方式
有两种,第一种,有别的程序甚至人工根据需要随时调用/启用本模块(图5中流程1);第二种,有人工第一次启动本模块程序后,本模块根据本程序XML配置文件中的采集周期、
-4-
http://www.paper.edu.cn
采集时间自动采集(使用Java的定时调度函数,图5中流程1、7),其实第二种采集启动方式是在第一种采集启动方式的基础上加上一个定时调度模块(应用层调度和监控模块实现),从而实现周期定时调度。
4.3.2 解析本模块XML配置文件(图5中流程3、4)
public class ProfileParser {
1、利用javax.xml.parsers包以及org.xml.sax包解析XML配置文件; 2、把本模块配置信息放入到相应HashMap数据结构中,供本模块自身使用。
}
图6 本程序XML配置文件的一部分
4.3.3 解析配置管理信息文本文件(图5中流程2、5)
分为三步,具体如下: ①数据装载
public class ConfigReader {
根据XML配置文件中命令信息开始与结束标识,把配置管理信息文本文件读入内
存并且按命令分别放入不同StringBuffer中。例如:如图7所示,PIJ命令的开始标识为“< PIN:;”,结束标识为“PIJ end”,据此可在装载时把开始标识以及结束标识之间的信息放入pijStringBuffer中。
}
②数据抽取
public class ConfigParser {
利用正则表达式技术解析每个StringBuffer中的配置管理信息,并抽取出原始有效
信息。例如:如图7所示,,PIJ命令有效信息为有效信息开始标识“DXT ID START END”与有效信息结束标识“COMMAND EXECUTED”之间的信息,利用正则表达式匹配开始、结束以及中间有效信息,就能准确、高效的抽取有效原始命令信息,即把“820727#200#250”抽取出来,其中“#”为有效信息分隔符(应根据实际情况适当选择)。 }
-5-
http://www.paper.edu.cn
图7 本程序配置管理信息文本文件的一部分
③数据分析、转换、计算与汇总 public class ConfigBusinessParser {
1、把②中抽取的有效原始命令信息根据相应业务知识分析、转换、计算与汇总等,
从而产生组装好的标准信息。例如,图8所示,ne_dxt网元配置信息来自于两个命令:主命令PIN,辅助命令PIJ,而②中已存好PIN、PIJ等单个命令配置管理信息,此时可把这两个命令的信息分析、转换、计算与汇总成ne_dxt(DXT)网元所需的信息。
}
2、把组装好的标准信息放入相应JavaBean中,以供数据存贮阶段使用。例如:把
组装好的ne_dxt配置管理信息放入DXT这个JavaBean中。
图8 ne_dxt这类网元的业务逻辑图
4.3.4 数据存贮(图5中流程6)
public class DBOperate{
1、备份当前表。更新当前表前,先把当前表中数据备份到历史表;
2、更新当前表。以一类网元为单位进行更新,比如更新DXT网元配置管理信息,
首先把当前表中DXT这类网元配置管理信息都取出来放在HashSet中(设为hs),再拿解析配置管理信息文本文件得到的DXT网元信息(设为al)与前面的hs比较,对于al中存在而hs中没有的,执行插入操作,对于al与hs中都有的,执行更新操作,对于hs中有,而al中没有的,把此DXT网元配置信息数据库记录collect_flag字段加1,collect_flag超过某一数值(自己定义,取值一般为5-7)就自动把此网元配置信息从当前配置表中删除。 }
4. 结束语
国内数字集群通信网大多是购买国外设备所组建,这些设备自身网管系统存在不符合中
-6-
http://www.paper.edu.cn
国国情、操作复杂繁琐、各类管理和调度信息混乱等问题,本集群通信网管系统在适合中国国情前提下开发,为用户提供“快捷、高效、灵活”集群通信专网管理系统。作者设计与开发的配置管理功能模块在实际使用中具有用户友好、可配置、易维护、效率高等特点。
参考文献
[1] 郑祖辉、陈锦华、郑岚. 数字集群移动通信系统(第二版). 电子工业出版社. 2005 [2] 孟洛明、亓峰. 现代网络管理技术(修订版).北京邮电大学出版社. 2001 [3] Bruce Eckel. Java编程思想(英文版,第三版). 机械工业出版社. 2005
The Design and Implementation of Configuration Management Function in Trunking Communications NMS
Cui Weibing,Qi Feng
College of Computer Science and Technology,Beijing University of Posts and
Telecommunications,Beijing (100876)
E-mail:cuiweibing@sohu.com
Abstract
After introducing Trunking Communications System and its Network Management situation, this paper provides a concrete architecture and design of Trunking Communications NMS(Network Management System),then describes the design and implementation of core part of configuration management functions in this Trunking Communications NMS. This function module is user-friendly, configurable, maintainable, and efficient in actual running.
Keywords:Trunking Communications,Network Management System,Configuration Management,Data Collecting
作者简介:
崔卫兵,男,1982 年生,硕士研究生。主要研究方向是网络管理与通信软件;
亓峰,男,1971年生,教授,硕士生导师。主要研究方向是网络管理体系结构、电信运营系统和软件等。
-7-