概述
人机语言(Man Machine Language,MML)用一系列命令实现维护终端的各种操作,通信协议比较简单,有利于实现远程维护。缺点是用户需要记忆繁杂的命令,且输出结果均为纯字符,因此使用起来不如GUI方式直观和方便。
MML命令行操作环境也采用客户机/服务器体系结构的访问/服务机制,MML服务器运行在BAM上,是MML控制的中枢,主要完成用户登录、任务调度、命令解释与编译、权限管理、定时任务管理等功能;MML客户端仅是一个简单的输入输出接口,主要完成ASCII字符的输入与输出功能。
MML服务器在收到一个客户端的登录请求以后,根据其TCP端口分配一个工作台号并保存起来,再根据客户端的IP地址和操作员账号,查询权限数据库,得到此操作员在此工作站的权限。服务器接收一条具体命令后,首先通过命令解释程序对该命令进行语法分析,如果分析通过,再通过权限分析程序判断此操作员能否执行此命令。如果可以执行,则将此命令分发给各业务进程或者其本身。各业务进程执行完命令后,将响应发送给MML服务器,由MML服务器根据工作台号与TCP端口的对应关系将此响应转发给各MML客户端。
命令解释程序对输入的命令序列进行处理,主要是对每条命令的语法进行分析,也包括部分语义分析,实际上每条命令的执行是在各相关服务器上完成的。1
MML的特点MML具有以下特点。
(1)MML命令集对交换机的业务进行了封装,一条命令对应的是一个功能,而不是一个简单操作。例如,增加一个用户需要有几个步骤:修改用户数据索引表→修改ST用户数据表→修改ST用户设备表→格式转换→设定主机,而封装起来的命令,则使这些步骤透明化。用户要增加一个用户只需执行一条功能命令,而无须知道数据库中应该有哪些改动、如何生效,等等。
(2)MML系统对数据的一致性作严格检查,每个功能在执行时对表间关系进行检测,可以防止无效的垃圾数据的产生。
(3)MML命令集对于交换机平台相当于一套底层API(Application ProgramInterface,应用程序接口),其他应用程序均建立在它的基础上,而GUI终端是将用户的界面操作翻译成命令,递交给MML系统,由MML系统负责功能的执行并返回文本结果,而这些结果在图形界面终端上再转换为合适的反应。这样可以保证交换机系统的稳定性,不会因为应用程序的问题而影响整个交换机的运行。
(4)MML系统的输入输出基于纯字符流,支持像TELNET一类的程序与交换设备进行交互,可以轻易地将客户端跨越多种平台(如支持没有处理能力的哑终端等),非常有利于集中网管,顺应通信产品发展趋势。1
MML命令格式MML命令格式如下:
:[=[,=[,…]]]
1.参数值的类型有7种
(1)数值型:纯数值。用十进制数字来表示,如:19、65 535、…
(2)布尔类型:布尔值。TRUE或FALSE。
(3)字符串类型:任何不包含引号的字符序列。用一对双引号括起来表示,如:“SM1一>汇接局”、“12/13”、…
(4)枚举类型:表示确定意义的英文简写。如:ASL、OPT、TSSC、…
(5)位域型:表示一系列布尔值的集合。布尔子参名后用一l或一0表示该子参数为真或为假,如:LOC一1表示LOC为真,如果有一个以上的子参数则用&连接,如:LCO一1&NTT一0&ITT一0、…
(6)键盘型:电话键盘输入。用K’尾随键盘序列,如:K’010、K’*57#、K’26540808、…
(7)日期、时间类型:表示日期、时间。各域之间用&连接,如:2002&3&5、23&59、…
2.参数值的复合方式有以下两种,针对于数值及键盘类型
(1)区间:用&&.连接区间边界。如:1&&16表示从1到16。
(2)组合:用&.连接。如:1&.16表示l和16。1
MML命令的命名规则MML命令集按统一规则命名,以便用户记忆。MML命令的命名规则如下。
(1)命令字最多由两个标识符合成,支持以空格(或连字符)连接,例如:标识符1 标识符2。
(2)标识符1为动作字,长度严格为三个字母;标识符2是命令动作操作的具体对象,由3~8个字符(允许含有数字)组成(只要表示清楚,字符数越少越好)。
(3)MML系统命令的组成允许少于两个标识符,如LGI(登录)。
(4)其他命令按照“”组织。
(5)LST命令与DSP命令:DSP命令专用于显示主机动态查询结果以及话务统计、测试任务结果,数据库的静态数据查询一律用LST命令。1