一种基于文本字符流报告的协议转换装置及方法

文档序号:6696943阅读:253来源:国知局
专利名称:一种基于文本字符流报告的协议转换装置及方法
技术领域
本发明涉及设备操作维护技术领域,具体来说是涉及一种基于文本字符流报告的协议转换装置及方法。
背景技术
在设备操作维护业务中,尤其是在网管和操作维护类系统中,通常需要提供文本字符流报告,如MML(Man Machine Language人机语言)报告,通过该MML报告用户可以了解设备的运行状况信息和用户的使用状态信息等,获得这样的MML报告便于维护操作人员管理和维护设备。
目前很多维护设备,如交换机,纷纷推出新的GUI(Graphic UserInterface图形用户接口)操作维护系统,网管、操作维护系统呈现出走向GUI的趋势。但是,在许多操作维护系统中,如图1所示,具有功能完备的MML的设备端只负责提供各种MML接口,而终端负责提供图形化的操作维护界面,设备端与终端之间通过MML命令行进行通信。设备端后台传来的只是字符串,终端得不到要显示的具体数据,实现GUI也就无从谈起。所以为了实现这种体系结构,必须解决设备端与终端之间的协议转换问题。
现有技术尚未提出解决上述问题的方法。

发明内容
针对以上情形,本发明提出了一种通过对设备端输出的文本字符流报告进行分析,提取报告内容,即对象描述信息,并转化为预定义的数据结构来提供给终端的基于文本字符流报告的协议转换装置及方法。
为了实现上述目的,一种基于文本字符流报告的协议转换装置,该装置包括输入模块,用于输入设备端发出的文本字符流报告;报告识别与报告分析模块,用于识别与分析该文本字符流报告;存储模块,用于存储分析结果;输出模块,用于输出分析结果;所述的输入模块将设备器端发出的文本字符流报告送至所述的报告识别与报告分析模块,该报告识别与报告分析模块通过识别其报告类型和分析报告体,提取对象本体属性的描述,将该分析结果存储至所述的存储模块,经过所述的输出模块输出。
其中,所述的报告识别与报告分析模块是由用于提取该文本字符流报告中的单词符号的词法分析器模块和用于对单词符号串进行识别、分析的语法分析器模块组成,该词法分析器模块将所述的输入模块输入的所述的文本字符流报告转换为单词符号串后,通过该语法分析器模块进行识别、分析,得到分析结果存储至所述的存储模块。
而所述的词法分析器模块、语法分析器模块是分别用LEX(词法分析程序生成器)、YACC(语法分析程序生成器)软件工具编译生成的。
本发明还提出了一种基于文本字符流报告的协议转换方法,该方法包含以下步骤a、输入服务器端发出的文本字符流报告;b、识别、分析该文本字符流报告,得到分析结果;c、存储该分析结果;d、输出该分析结果。
其中,所述的步骤b中的识别、分析该文本字符流报告更具体是指首先通过分析文本字符流报告头中的报告类型标志,识别报告类型;然后根据不同的报告类型,分析报告体。
所述的步骤b进一步包括以下步骤b1、读取所述的文本字符流报告,并将其转换为单词符号串;b2、对该单词符号串进行识别、分析,得到分析结果。
所述的步骤b的步骤b1中读取所述的文本字符流报告更具体讲是指每次读取所述的文本字符流报告中的一行字符串。
所述的步骤b的步骤b1、b2是通过分别用Lex、Yacc软件工具编译后的程序完成的。
所述的步骤c存储该分析结果是指按照通用的数据结构进行存储。
本发明通过可随意定制的所述报告识别与报告分析模块来负责识别设备端发出的文本字符流报告的报告类型,确定该文本字符流报告的流向,并分析、提取该文本字符流报告中描述的业务对象的有关属性数据,转换成预定义的数据结构,进行存储并输出,如用户界面相应的对象窗口,进行业务对象信息的显示。本发明所述的基于文本字符流报告的协议转换装置,是一个与文本字符流报告内容无关的设备端与终端之间的完全独立的接口模块。
具体来讲,本发明具有以下优点1、提供对文本字符流报告报告头、命令行回显、返回码及附加信息的分析结果给主窗口,便于主窗口分发报告;2、提供一个通用的数据结构接口,使各业务台或对象窗口能够方便地查阅报告分析的结果;3、其是一个位于设备端与终端之间的完全独立的接口模块,与文本字符流报告内容无关,具有很好的移植性;4、通过Lex和Yacc软件工具重新生成语法分析器模块,即可完成对新类型报告的识别与分析,具有很好的可扩充性。
下面结合附图和具体实施例来详细描述本发明。


图1是本发明实施例所述的设备的操作维护系统的示意图;图2是本发明实施例所述的一种基于MML报告的协议转换装置的结构示意图;图3是本发明实施例所述的一种语法分析器模块的流程示意图;图4是本发明实施例所述的一种基于MML报告的协议转换方法的流程图;图5是本发明实施例所述一种基于MML报告的协议转换方法中步骤b的流程图;
图6是存储通过本发明实施例所述一种基于MML报告的协议转换方法所得到分析结果的一种通用的数据格式示意图。
具体实现方式应用本发明实施例的操作维护系统包含有作为被维护设备的交换机和维护操作人员所使用的终端,本实施例中的文本字符流报告是指MML报告。该交换机通过BAM(Back Administer Module后台管理模块)负责提供各种MML报告接口,终端负责提供图形化的操作维护界面,在该设备端与终端之间设置有本实施例所述的协议转换装置,该协议转换装置将MML报告转换为预定义的数据结构在终端输出显示。
为了便于理解本实施例,首先介绍一些基本知识。
上述的BAM输出的MML报告主要有三种,即告警报告、话务统计报告和维护类报告。
告警报告属于单一对象报告,一份告警报告只描述了一个告警对象的属性,各类告警报告具有统一的输出格式,通过报告中各关键域的不同,区分不同类的告警,关键域包括告警级别、告警网管分类、告警编号。
话务统计报告属于多对象报告,一个话务统计报告对应一个话务统计任务的一个时间点,它是此话务统计任务在指定时间的统计结果。它一般可能由多个数据块组成,每一个数据块表示一条统计记录,即所谓的一个对象,该数据块是对其属性的描述,多个数据块构成对多个对象属性的描述,数据块之间用空行分隔。
维护类报告比较复杂,在下面的叙述中将具体描述。
这些报告虽然其具体组织形式和内容不同,但是整体结构相同,都是由报告头、报告体、报告尾三部分构成;其中报告头中包含源标识符、报告日期时间和业务报告类型标志以及报告序号等报告标识信息;下面依次是告警报告、话务统计报告和维护类报告的报告头部分的组成要素告警报告的报告头为

话务统计报告的报告头为

维护类报告的报告头为

报告尾仅仅是指示报告结束的一个标志,没有具体的意义。
而报告体是报告的主要部分,由可变正文区和附加信息组成,可变正文区包括MML命令行回显、系统报告信息和结果正文。其中MML命令行回显及系统报告信息只在对话输出报告中是必须的,在非对话输出报告中省略,所述的对话输出报告是指被维护设备对输入的命令立即产生相应的输出,是一种一问一答的方式,而非对话输出报告是指被维护设备对特定事件的自动输出,例如告警,或者是对相互作用的操作序列延迟了的响应,这种响应的一个例子是话务统计类定时输出的MML报告,比如一分钟输出一个话务统计结果。而结果正文描述了终端,即对象窗口所关心的对象实体的信息,是报告的主要内容,而附加信息目前主要用来描述报告的上下文关系,下面重点介绍结果正文。
结果正文中对对象属性的描述以数据块为单元,数据块与数据块之间用空行间隔,每个数据块包括若干行数据,描述对象属性的数据块的组织方式总的来讲可以分成两种纵向列表方式与横向列表方式。
1、纵向列表方式。其数据块只能对一个对象的属性进行描述,数据块中每一行描述对象的一个属性,其中等号左边是属性名称,等号右边是取值,以等号为准居中对齐。数据块中的对象属性标识与属性值信息一一对应,组成一个单元,描述形式为属性标识=属性值其中属性标识通常为字符串描述,数据可以是字符串描述,也可以是数值描述。
而告警报告中的结果正文是由一个纵向列表方式描述的的数据块构成的,其报告体的描述为

告警报告结果正文中的部分属性,如定位信息、其它信息描述、修复建议等属性,其属性值信息描述部分的长度超过报告体的行宽而需要折行,且后续行的数目是不固定的。
特殊情况下,如对象属性中的位域类属性值,例如呼入权、呼出权等,属性标识对应的属性值不只一个,对于这种属性,多个取值分行显示,并且以第一个值为准左对齐。例如呼出权 = 本局= 本地= 本地长途= 国内长途= 国际长途。
2、横向列表方式。其数据块通常包括对属于同一类的多个对象的属性信息的描述,描述形式的数据块由说明区与数据区组成,第一行是说明区,它实际上是一个表格的表头,列出了一类对象的属性描述中所包含的属性标识,说明区与数据区以一个空行分隔,数据区中对象的属性值与说明区中的属性标识一一对应,并且可以罗列该类对象的多个对象的数据信息,每一列的属性左对齐,描述形式为属性标识1 属性标识2.... 属性标识n(空行)对象1属性1 对象1属性2 .... 对象1属性n[记录1]对象2属性1 对象2属性2 .... 对象2属性n[记录2]....
其中属性标识通常为字符串描述,数据可以是字符串描述,也可以是数值描述。
话务统计报告中的结果正文是由一个纵向列表方式描述的的数据块构成的,其报告体的描述为

维护类报告中结果正文的组织方式比较复杂,其包含多个数据块,每个数据块之前都有一个标题,指定数据块所描述的对象,其标题的描述形式为<标题字符串>
<′-′字符的重复,重复次数与标题字符串长度相同>
而其中的数据块包括有横向列表形式的数据块、纵向列表形式的数据块和由横向列表形式的数据块与纵向列表形式的数据块组成的混合方式。而对于横向列表形式的数据块中也有折行的问题,其采用属性分段的方法解决,即就是把超出行宽的部分与对象属性的某一个或几个特征属性部分再组成一个数据块,把一块数据分成两块或多块数据描述。
上述介绍完基本知识后,再回到本实施例。
如图2所示,本实施例所述的协议转换模块由以下模块组成输入模块,用于输入被维护设备端发出的MML报告,本实施例中为BAM发出的MML报告;报告识别与报告分析模块,用于识别与分析该MML报告;存储模块,用于存储分析结果;输出模块,用于输出分析结果;所述的输入模块将交换机发出的MML报告送至所述的报告识别与报告分析模块,该报告识别与报告分析模块通过识别其报告类型和分析报告体,提取对象本体属性的描述,将该分析接结果存储至所述的存储模块,经过所述的输出模块在终端输出显示。
其中,如图3所示,所述的报告识别与报告分析模块是由用于提取该MML报告中的单词符号的词法分析器模块和用于对单词符号串进行识别、分析的语法分析器模块组成,该词法分析器模块将输入的所述的MML报告转换为单词符号串后,通过该语法分析器模块进行识别、分析,得到分析结果。
而所述的词法分析器模块、语法分析器模块是分别用Lex、Yacc软件工具编译生成的。编写Lex源程序与Yacc源程序本身的语法并不复杂,利用Lex和Yacc软件工具生成报告分析器的关键是如何用Lex源程序与Yacc源程序描述报告分析规则,尽量减少所描述报告分析规则之间的冲突和二义性。
如图4所示,本实施例所述的一种基于MML报告的协议转换方法,其包含以下步骤第一、输入设备端发出的MML报告。
所述的输入模块接收交换机通过BAM发出的MML报告,该MML报告是文本字符流形式的文件。
第二、识别、分析该MML报告,得到分析结果。
(一)、首先所述的报告识别与报告分析模块通过分析MML报告头中的报告类型标志,识别报告类型。具体包括以下步骤1、读取所述的MM报告,并将其转换为单词符号串。
所述的词法分析器模块读取输入的所述的MML报告,将其转换为单词符号串,该词法分析器模块用语句“return(标记)”来结束,可以设定该标记为一个被定义的术语词,其值为一个整数,标记的不同值有不同的含义,转换后的单词符号串对应于该标记中的一个整数值。
需要强调的是,上述词法分析器模块读取输入的所述的MML报告,每次可以读入数据块中的一行字符串,所以在Lex源程序的编写中,除了一部分特殊的单词符号串,基本上是以每次读入的整个一行字符串作为一个标记,这样以较长的字符串作为标记,一方面可以大大简化下一步语法分析过程的语法分析规则,另一方面使标记更具整体性和上下文特征,对于减少语法分析规则之间的冲突和二义性问题十分有效。
对于前述三种类型的报告,通过读取报告头第二行的报告标志,其中告警报告标志为ALARM,话务统计报告标志为TRAFF,维护报告标志为DATAMAN、BILL、TRAFF、WARN、MAINTAIN、TEST、COMPILE等。
2、对该单词符号串进行识别、分析,得到分析结果。
上述被返回的整数值指示语法分析器模块已输入(找到)的词汇,在语法分析器模块中,被返回的标记,即单词符号串与被称之为语法分层规则的输入结构规则比较,当满足规则中的某一条时,适用于这一规则的用户代码就被调用,完成用户希望的动作。
如输入语法分析器模块的词汇为报告头第二行的报告标志,根据语法分析器模块中的语法分析规则比较,对指定位置的报告标志进行匹配,从而可以断定为当前的MML报告为哪一种类型的报告,其中告警报告、话务统计报告和维护类报告相应的语法分析规则是{标题标记告警报告标记告警报告信息标记告警报告体标记报告结束标记};{标题标记话统报告标记话统报告信息标记统计时间标记话统报告体标记 报告结束标记};
{标题标记维护报告标记报告序号标记维护报告体标记报告结束标记}。
(二)、然后根据不同的报告类型,采取相应的分析规则分析报告体,提取报告中对对象的有关本体属性的描述。
在确定前的MML报告为哪一种类型的报告后,对已识别报告类型的MML报告分别按照相应报告的分析规则进行分析,提取报告体中对对象属性的描述,它也包括以下步骤1、读取所述的MML报告,并将其转换为单词符号串。
同步骤(一)一样,所述的词法分析器模块逐行读取输入的所述的MML报告,转换为单词符号串。
2、对该单词符号串进行识别、分析,得到分析结果。
如果当前MML报告为告警报告,此时告警报告中的结果正文是由纵向列表方式描述的的数据块构成,可以按照和前述纵向列表方式的数据块相应的语法分析规则进行分析,提取该告警报告中对一个告警对象的属性描述信息。另外,由于告警报告的结果正文中的部分信息单元,如定位信息、其它信息描述、修复建议等属性,其属性值信息描述部分的长度超过报告体的行宽而需要折行,且后续行的数目不固定,需要作特殊处理,那就是对于告警报告结果正文中的一行描述,首先鉴别它是否满足纵向列表方式正常时的语法分析规则,如果与该语法分析规则匹配,表明该行是对一个属性信息的描述,如果不满足(且不为空行),则是原属性的属性值信息描述的继续,这样能够保证对象属性信息提取的正确性与完整性。
如果当前MML报告为话务统计报告,此时话务统计报告中的结果正文是由横向列表方式描述的的数据块构成,对于数据块这个信息单元的识别可以按照和前述横向列表方式的数据块相应的语法分析规则进行分析,提取该话务统计报告中对多个话统任务的属性描述信息。而对于数据块之间空行的分析,仅仅需要引入一条识别数据块的语句就可以了。
如果当前MML报告为维护类报告,该类报告结果正文的组织方式比较复杂,它包括横向列表形式的数据块、纵向列表形式的数据块和由横向列表形式的数据块与纵向列表形式的数据块组成的混合方式,提取该维护类报告中的属性描述信息。对于每个数据块之前的标题,可以通过如下的语法分析规则进行分析,从而得到当前的数据块及对象标识。语法分析规则为{字符串标志 重复′-′字符标志}对于具体数据块的分析,横向列表形式的数据块可以按照上述横向列表的语法分析规则进行分析,纵向列表形式的数据块可以按照上述纵向列表的语法分析规则进行分析。
对于横向列表形式的数据块中折行的问题,由于分割后的两个或多个数据块是对同一组对象的描述,应该在报告分析中对其进行拼装,保持对象属性描述的完整性。此外,报告分析的结果要通过各种对象窗口进行显示,对象窗口是以MML命令行操作的业务对象为目标来设计的,报告分析中通过拼装得到的对象的属性描述才是对对象属性的完整描述,才是对象窗口需要的合理的结果。本实施例通过对标题字符串之间的关系进行判别后,再进行数据块拼装。考虑到横向列表形式的数据块的标题命名是按照一定的规则进行的,可以将该标题之间的对应关系通过一个二维表来描述,用这个二维表驱动横向列表形式的数据块分析结果的拼装。
通过以上语法分析规则提取报告中对对象的有关本体属性的描述后,即得到分析结果。
第三、存储该分析结果。
所述的存储模块将分析结果以如图6所示的一种通用的数据格式保存,其中reportInfo;有关报告的信息reportType; //报告类型告警报告、话统报告、普通报告mml; //MML命令行回显stateCode; //返回码表示MML命令执行是否成功,为0表示执行成功,非0表示执行失败,具体数值对应一个失败原因。
stateExplain;//返回码解释返回码代表的含义office; //局名reportTime; //报告输出时间serialNum; //报告序号
toBeContinue;//是否有后续报告objectArray按对象存放报告中的数据object_n 第n个对象(记录)objectName;//对象名称propertyArray; //属性数组指针property_n 第n个属性propertyName //属性名称propertyValueArray属性值数组propertyValue_n //属性propertyName的第n个值。
第四、输出该分析结果。
将上述以通用的数据格式保存的分析结果输出到各个业务台,各个业务台对该分析结果进行整理等操作,然后输出显示、打印。
权利要求
1.一种基于文本字符流报告的协议转换装置,其特征在于,该装置包括输入模块,用于输入设备端发出的文本字符流报告;报告识别与报告分析模块,用于识别与分析该文本字符流报告;存储模块,用于存储分析结果;输出模块,用于输出分析结果;所述的输入模块将设备器端发出的文本字符流报告送至所述的报告识别与报告分析模块,该报告识别与报告分析模块通过识别其报告类型和分析报告体,提取对象本体属性的描述,将该分析结果存储至所述的存储模块,经过所述的输出模块输出。
2.如权利要求1所述的一种基于文本字符流报告的协议转换装置,其特征在于,所述的报告识别与报告分析模块是由用于提取该文本字符流报告中的单词符号的词法分析器模块和用于对单词符号串进行识别、分析的语法分析器模块组成,该词法分析器模块将所述的输入模块输入的所述的文本字符流报告转换为单词符号串后,通过该语法分析器模块进行识别、分析,得到分析结果存储至所述的存储模块。
3.如权利要求2所述的一种基于文本字符流报告的协议转换装置,其特征在于,所述的词法分析器模块、语法分析器模块是分别用Lex、Yacc软件工具编译生成的。
4.一种基于文本字符流报告的协议转换方法,其特征在于,该方法包含以下步骤a、输入设备器端发出的文本字符流报告;b、识别、分析该文本字符流报告,得到分析结果;c、存储该分析结果;d、输出该分析结果。
5.如权利要求4所述的一种基于文本字符流报告的协议转换方法,其特征在于,所述的步骤b中的识别、分析该文本字符流报告更具体是指首先通过分析文本字符流报告头中的报告类型标志,识别报告类型;然后根据不同的报告类型,分析报告体。
6.如权利要求5所述的一种基于文本字符流报告的协议转换方法,其特征在于,所述的报告类型是指MML报告中的告警报告、话务统计报告或维护类报告。
7.如权利要求4所述的一种基于文本字符流报告的协议转换方法,其特征在于,所述的步骤b进一步包括以下步骤b1、读取所述的文本字符流报告,并将其转换为单词符号串;b2、对该单词符号串进行识别、分析,得到分析结果。
8.如权利要求6所述的一种基于文本字符流报告的协议转换方法,其特征在于,所述的步骤b的步骤b1中读取所述的文本字符流报告更具体讲是指每次读取所述的文本字符流报告中的一行字符串。
9.如权利要求6所述的一种基于文本字符流报告的协议转换方法,其特征在于,所述的步骤b的步骤b1、b2是通过分别用Lex、Yacc软件工具编译后的程序完成的。
10.如权利要求4所述的一种基于文本字符流报告的协议转换方法,其特征在于,所述的步骤c存储该分析结果是指按照预定义的数据结构进行存储。
全文摘要
一种基于文本字符流报告的协议转换装置,该装置包括输入模块,用于输入设备端发出的文本字符流报告;报告识别与报告分析模块,用于识别与分析该文本字符流报告;存储模块,用于存储分析结果;输出模块,用于输出分析结果;所述的输入模块将设备器端发出的文本字符流报告送至所述的报告识别与报告分析模块,该报告识别与报告分析模块通过识别其报告类型和分析报告体,提取对象本体属性的描述,将该分析结果存储至所述的存储模块,经过所述的输出模块输出。本发明还提出了一种基于文本字符流报告的协议转换方法。其便于主窗口分发报告;使各业务台或对象窗口能够方便地查阅报告分析的结果;其具有很好的移植性和可扩充性。
文档编号G08C17/00GK1503459SQ02152350
公开日2004年6月9日 申请日期2002年11月27日 优先权日2002年11月27日
发明者陈振宇 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1