第三章 程序设计
3.1 SCENARIO WIZARD应用
要想实现中继监测与交换优化统计分析的完全自动化,必须首先实现原始数据采集的自动化。SIEMENS公司“switch commander”监控终端应用后,通过应用其自带的“SCENARIO WIZARD”软件编程可实现这一功能。
3.1.1 SWITCH COMMANDER简介
“switch commander”是一个为了实现管理GSM网络单元(例如:MSC/VLR、HLR/AC、EIR)的,具有类似于客户端/服务器的结构体系的网管系统,它是基于Windows Nt操作系统的。
在“switch commander”单机结构中,对网络单元的所有操作维护功能都在一台电脑终端中实现。在客户端/服务器结构中,功能可以被分布在几台服务器和工作区来满足使用者不同的需求。泸州移动目前采用的方式是,一台“switch commander”终端对应一个GSM核心网交换机,具有所有操作维护功能。
3.1.2 SCENARIO WIZARD简介
“SCENARIO WIZARD”是“switch commander”网管系统的一个功能模块,即一个可视化的编程软件,其中文名称可翻译为“有魔力的特定情节”,这也反映了“SCENARIO WIZARD”的强大功能。
如果需要在网络单元频繁地执行同一序列工作的时候,可以通过创建一个“SCENARIO”来简化工作。一个“SCENARIO”就是一个执行工作(如BMML命令、MML命令文件、Q3脚本文件、WINDOWS NT操作)的集合,也是为创建一个复合型工作的逻辑结构。它包括不同的“SCENARIO”功能块,这些功能块有用来执行命令的,有控制“SCENARIO”流程的。“SCENARIO”流程在“开始”功能块中被可变参数所约定。
“SCENARIO”由“SCENARIO WIZARD”创建,在“WORKBENCH”中执行。
3.1.3 “SCENARIO”的创建
功能块:
“SCENARIO”的创建需要用到“SCENARIO WIZARD”软件所带的功能块。“SCENARIO”使用的功能块分为三种类型:结构功能块、可执行功能块、不可执行功能块。其中结构功能块有6个,可执行功能块有5个,不可执行功能块有3个。不同的功能块有不同的用途,同一个功能可通过参数设置实现不同的操作。
“SCENARIO”创建步骤:
“SCENARIO”由“SCENARIO WIZARD”创建,其基本创建步骤如下:
l 开始WIZARD
l 选择工作数据库
l 创建SCENARIO
l 验证流程
l 验证语法
l 保存SCENARIO
具体操作:
(1)点桌面左下角的开始菜单,选择并左键点击“SCENARIO WIZARD” , 弹出“SCENARIO WIZARD”窗口;
(2)由外及里选择“FILE”、“NEW”。即建立“START”功能块;
(3)由外及里选择“SETTING”、“Associate Task Database”、“UGNE name”;
(4)弹出“UG-NE Selection”窗口,选择用户群和网络单元后,点“OK”;
(5)创建SCENARIO,即建立“TASK”功能块;
(6)双击“TASK”功能块,在工作树里选择相应工作;
(7)输入与该工作相关联的功能块名称,然后点击“TASK TREE”;
(8)弹出窗口后,点击“Quick select”;
(9)弹出窗口后,输入相应命令,点“ENTER”确认;
(10)点选择下一个,点OK结束;
(11)在“SCENARIO WIZARD”窗口里选择“TOOL”菜单下的“VALIDATE SYNTAX”进行语法验证;
(12)在“SCENARIO WIZARD”窗口里选择“FILE”菜单下的“SAVE AS”保存SCENARIO文件;
当然,以上只是一个最简单的SCENARIO创建步骤。事实上,在实际的SCENARIO创建中,需要用到“SCENARIO WIZARD”软件的更多的功能块。
3.1.4“SCENARIO”的执行
前面已讲到,“SCENARIO”的执行是通过“WORKBENCH”来完成的。“WORKBENCH”为特殊的用户群执行工作提供了便利的操作环境,它的主要功能包括:执行工作、显示上一次提交的工作和相应的状态信息、显示工作输出内容、定制你的工作树和个人工作、创建和编辑工作子文件、随后的或周期性的工作安排。
在实际应用中,“SCENARIO”将被创建为一个工作子项目出现在“WORKBENCH”的工作树中。这个工作子项目即可看作“SCENARIO”的执行链接,可随时点击执行相关工作集合。对于实现原始数据自动采集的“SCENARIO”而言,其工作子项目是一直在执行状态的。
3.2 实现原始数据自动采集
3.2.1 原始数据的自动采集
有前面的介绍可知,要实现原始数据的自动采集需要创建一个相关的“SCENARIO”。该“SCENARIO”是一系列相关命令以及对这些命令执行条件的设置的集合,该“SCENARIO”的执行通过“WORKBENCH”来完成。即为该“SCENARIO”创建一个具链接关系的工作子项目在“WORKBENCH”的工作树中。此工作子项目处于运行状态时,通过与GSM核心网交换机相连的“switch commander”监控终端即可实现原始数据的自动采集。
下图为通过“SCENARIO WIZARD”软件创建的实现原始数据自动采集的“SCENARIO”,该“SCENARIO”运用了3种类型的功能块,可实现每天定时采集相对应的数据(一周的每一天采集的数据名称是不同的)。后面将逐一解释。
(1)“START”功能块:该功能块属于结构功能块。作用为定义一个执行流程的开始;
(2)“DISPTIME”功能块:该功能块属于可执行功能块。作用为显示GSM核心网交换机系统时间和日期、星期等;
(3)“DAY”功能块:该功能块属于不可执行功能块。作用为对“DISPTIME”功能块的输出结果进行评估,并将此输出结果存为“SCENARIO”的变量参数;
(4)“MO……SU”功能块:该功能块属于结构功能块。作用为通过判断当前的时间、日期、星期,选择不同的执行路径;
(5)“GETTRAFIC”功能块:该功能块属于可执行功能块。作用为从对应的GSM核心网交换机硬盘内拷贝相关数据到指定目录下;
(6)“STOP”功能块:该功能块属于结构功能块。作用为结束一个执行流程;
该“SCENARIO”的设计思路为:通过显示GSM核心网交换机系统时间、日期和星期,并将显示结果作为参数临时存储。根据该参数,判断是否到了采集数据的时间,如果时间到,即选择从相应GSM核心网交换机硬盘下采集这一天所需拷贝的原始数据。
3.2.2 原始数据的保存
当GSM核心网交换机的原始数据传送到 “switch commander”监控终端后,终端将该数据自动存储在指定目录下的指定文件夹内。文件名统一按照“文件编号-年-月-日-采集时间”结构生成,便于后台分析的读取。见下图:
在后台分析时,后台分析程序将根据当前日期和时间读取相对应日期和时间的原始数据并进行处理。
3.3 EXCEL的宏应用
3.3.1 关于宏
如果经常在 Microsoft Excel 中重复某项任务,那么可以用宏自动执行该任务。宏是一系列命令和函数 ,存储于 Visual Basic 模块 中,并且在需要执行该项任务时可随时运行。宏可以录制和编辑,统计分析系统的后台分析程序是利用Visual Basic 语言在“Visual Basic 编辑器”中编辑完成的。
3.3.2 创建宏
统计分析系统后台分析程序是用Microsoft Visual Basic创建的宏,其操作步骤如下:
(1)在 Microsoft Excel 的“工具”菜单上,指向“宏”,再单击“Visual Basic 编辑器”;
(2)在“插入”菜单上,单击“模块”;
(3)将代码键入或复制到模块的代码窗口中;
(4)如果要在模块窗口中运行,按 F5;
(5)编写完宏后,单击“文件”菜单上的“关闭并返回到 Microsoft Excel”;
3.3.3 编辑宏
在编辑宏 之前,必须先熟悉“Visual Basic 编辑器” 。“Visual Basic 编辑器”能够用于编写和编辑附属于 Microsoft Excel 工作簿的宏。编辑宏步骤如下:
(1)将安全级设置为“中”或“低”;
(2)在“工具”菜单上,指向“宏”,再单击“宏”;
(3)在“宏名”框中,输入宏的名称;
(4)单击“编辑”;
(5)如果需要“Visual Basic 编辑器”的“帮助”,请在“帮助”菜单上,单击“Microsoft Visual Basic 帮助”;
3.3.4 启动宏
宏的启动方式有4种:由键盘快捷键启动宏、由按钮或图形控件来启动宏、从图形对象上的某区域或热点来启动宏、由工具栏按钮启动宏。为了方便起见,统计分析系统采用按钮或图形控件来启动宏,具体操作为:
(1)单击按钮或图形控件来显示尺寸控点 ;
(2)保持选中图形对象,用鼠标右键单击按钮或图形对象的尺寸控点以显示快捷菜单 ;
(3)在快捷菜单上,单击“指定宏”;
执行下列操作之一:
从此以后,单击该按钮或对象将运行指定的宏。
3.4 后台分析
统计分析系统的后台分析是指运行EXCEL宏定时读取保存在固定目录下的原始数据,通过对原始数据的分析处理形成分析报表,对异常指标进行告警并将告警信息保存到指定文件下,达到帮助中继监测和交换优化的目的。
3.4.1 后台分析宏设计思路
后台分析宏通过Visual Basic 语言编辑,其程序设计思路如下:
(1)定时执行读取原始数据的操作;
(2)根据当前日期和时间,选择需要读取的目标文件;
(3)第一次格式变换。新建一临时表格,将原始数据文件中的有用信息整理写入临时表格;
(4)第二次格式变换。新建统计分析报表,将临时表格中的信息进行分析计算并将结果填入统计分析报表;
(5)分析统计分析报表,对达到设定预警值的指标进行告警;
3.4.2 关键点程序设计
3.4.2.1 “定时执行”的程序设计
为了让后台处理宏在指定时刻执行读取原始数据的操作,首先采用“Time”函数读取当前时间,然后运用“Select Case”语句在指定时刻与当前时间相一致时触发读取操作。相关程序如下:
转贴于 1: mytime = Time2: Select Case mytime
Case #11:15:00 AM#
GoTo 3
Case #12:10:00 AM#
GoTo 3
Case #2:39:00 PM#
GoTo 3
Case #7:05:00 PM#
GoTo 3
Case #8:05:00 PM#
GoTo 3
Case Else
GoTo 1
End Select
3:……
3.4.2.2 “选择目标文件”的程序设计
由于原始数据文件名都是统一按照“文件编号-年-月-日-采集时间”结构生成,所以选择目标文件时需要将当前的日期和时间与目标文件名称的日期和时间对应起来。
后台处理宏首先运用了“Time”函数和“Date”函数将当前系统时间和日期赋予一个变量,再运用“Mid”、“Left”、“Right”等函数将当前系统时间和日期按目标文件名格式排列整合后与目标文件比较,相一致即执行选择。相关程序如下:
l = Time
h = Date
n = Mid(CStr(l), 3, 2)
n2 = Left(CStr(l), 1)
……
m = Mid(CStr(h), 6, 1)
m2 = Left(CStr(h), 4)
m3 = right(CStr(h), 1)
……
3.4.2.3 “格式变换”的程序设计
后台处理宏的格式变换分为两次:第一次格式变换是新建一临时表格,将原始数据文件中的有用信息整理写入临时表格,第二次格式变换是新建统计分析报表,将临时表格中的信息进行分析计算并将结果填入统计分析报表。两次格式变换均涉及对单元格的操作,如:
第一次变换相关程序(新建临时表格)
Range("A1").Select
ActiveWorkbook.SaveAs Filename:="C:\TGRP",FileFormat:= _xlNormal,Password:="",WriteResPassword:="",ReadOnlyRecommended:=False _, CreateBackup:=False
Sheets(1).Select
Sheets(1).Name = "TGRP" '
Sheets.Add
Sheets(1).Select
Range("A1").Select
……
第二次变换相关程序(计算单元格):
Range("N26").Select
Selection.FormulaR1C1 = "="
ActiveCell.FormulaR1C1="=SUM([TGRP.xls]Sheet1!R55C26:R55C29)"
……
3.4.2.4 “异常告警”的程序设计
统计分析系统的目的之一是对异常指标进行告警,告警的实现是通过:
(1) 对一类指标(如中继负荷)设定门限值;
(2) 将统计分析报表中所有此类指标依次与门限值比较;
(3) 发现超过门限值,立即触发将该指标所在单元格涂红,并弹出告警窗口,显示“此中继超负荷!!!”,同时发出“中继超负荷!”的告警声音;
相关程序如下:
x = 3
Do While x < 29
i$ = "K" + CStr(x)
If Range(i$).Value > 0.6 Then
SoundFile = "C:\gun.wav"
reslut = sndPlaySound(SoundFile, SND_ASYNC)
Range(i$).Select
Selection.Interior.ColorIndex = 3
MsgBox ("此中继超负荷!!!")
Else
End If
x = x + 1
Loop
3.4.3 执行结果
3.4.3.1 中继监测功能执行结果
后台分析软件“中继监测与交换优化程序”有两种工作模式(自动模式和手动模式),其执行结果分别如下:自动模式――每天在指定时段(一般选择忙时)自动执行,自动读取当前原始数据,自动分析中继有无超负荷情况,如有,立即触发将该指标所在单元格涂红,并弹出告警窗口,显示“此中继超负荷!!!”,同时发出“中继超负荷!”的告警声音,并将告警信息以文本文件形式保存到指定文件下;
手动模式――任意时刻手动执行软件后,选取所需原始文件,如果有中继超负荷的情况,立即将表格内对应部分变为红色并将告警信息保存到指定文件下。
3.4.3.2 交换优化功能执行结果
后台分析软件“中继监测与交换优化程序”可自动或手动生成各类统计分析报表,这些报表能实时反映出交换机的重要运行指标(如:呼损、位置更新、切换等),通过对这些指标的分析,我们可以知道交换机的运行情况,据此采取有针对性的优化措施。
第四章 运行测试
4.1 运行测试报告
经测试,统计分析系统运行正常,以下是测试记录:
测试项目: |
中继监测与交换优化统计分析系统 |
测试目的: |
保证系统运行的正确性 |
测试方法: |
检查运行结果 |
期望结果: |
1、生成统计分析报表; |
实际结果: |
1、生成统计分析报表; |
测试结论: |
处理过程正确 |
备注: |
处理过程截图附后 |
测试人员: |
先茅家 |
测试日期: |
2007-3-15 |
以下是系统处理过程截图:
(1) 正在自动执行的程序;
(2)程序运行后生成统计分析报表,并告警;
第五章 总结结论
5.1 总结
目前,该软件已经在泸州移动交换机房使用,受到维护人员和值班人员的普遍好评。此套软件的成功应用,实现了从取原始数据到发现中继超负荷告警以及保存告警信息的全自动操作,节约了1至2人的人力资源,大大提高工作效率的同时也加强了节日通信安全保障。另外,作为日常交换优化分析的工具软件,具有“方便、快捷、明了”的优势,特别适用于研究长途来话接通率。
【
参考文献
】1、《新概念Visual Basic 6教程》,郝春强编著,北京科海集团公司 2001
2、《Visual Basic 4.0参考手册》,王克己编著,人民邮电出版社 1997