通用人机语言命令报告生成系统及方法

文档序号:6603337阅读:278来源:国知局
专利名称:通用人机语言命令报告生成系统及方法
技术领域
本发明涉及一种命令报告生成系统及方法,特别涉及一种通用人机语言(MML,Man-Machine Language)命令报告生成系统及方法。
背景技术
在现阶段的电信网管中,一般都采用Client/Server(客户端/服务器)模式进行构建,客户端一般通过和服务器约定的协议(这里指MML命令)进行交互通信,服务器针对客户端的MML命令返回相应的处理报告。
实际应用中,MML命令返回的报告多是各个业务处理者自己根据约定的规范格式化输出的,这样做有很大的缺点(1)代码大量重复,每个业务处理要实现通用的处理部分,造成程序体积增大;(2)可重用性差,规范稍有改动就会导致多个地方重复修改,不能多个用户使用同一处理方法;(3)统一性不好,网管各个业务处理部分对网管报告规范的理解不同,造成报告风格不一致,客户端也很难统一解析工具。
(4)可扩展性不好,对于新的报告格式需要重新设计、编码。

发明内容
本发明的目的在于提供一种通用人机语言命令报告生成系统,利用该系统可以快速地生成人机语言命令报告,且可扩展性好,格式统一。
本发明的目的在于提供一种通用人机语言命令报告生成方法,利用该方法可以快速地生成人机语言命令报告,且重用性好,程序体积小。
为解决上述问题,本发明提供一种通用人机语言命令报告生成系统,该系统包括报告调度模块、报告头生成模块、报告体生成模块及报告结束标记模块,其中所述报告调度模块用于接收使用者输入的报告头信息及报告体信息,分别调用报告头生成模块、报告体生成模块及报告结束标记模块生成格式化后的报告;所述报告头生成模块,接收报告调度模块的报告头信息,返回格式化后的报告头;所述报告体生成模块,接收报告调度模块的报告体信息,返回格式化后的报告体;所述报告结束标记模块,根据报告调度模块的信息返回结束标记。
在本发明的另一个方面,我们提供一种通用人机语言命令报告生成方法,包括下列步骤a.接收输入报告的初始信息;b.根据初始信息中的报告头信息及报告体信息,分别调用报告头生成模块、报告体生成模块及报告结束标记模块;c.所述报告头生成模块接收报告调度模块的报告头信息,返回格式化后的报告头;d.所述报告体生成模块,接收报告调度模块的报告体信息,返回格式化后的报告体;e.所述报告结束标记模块,根据报告调度模块的信息返回结束标记。f.生成格式化后的报告并输出MML报告。
如上所述,与现有技术相比本发明具有如下优点通过封装重用,使用者可不必了解具体的报告规范,就可满足输出报告的需求,效率得到提高,同时使客户端的报告解析算法稳定统一。


图1是本发明的通用报告头的实现流程示意图;图2是本发明的通用报告体的实现流程示意图;图3是本发明的MML报告生成的流程示意图。
具体实施例方式
下面结合附图就本发明的优选实施例详细说明如下首先说明MML报告的规范MML报告一般由报告头、报告体和结束标志组成关于MML报告规范可参考《华为公司窄带MML网管命令报告规范V3.0》,但并不限定于该规范。
例如+++HUAWEI MSC98002002-06-25 14:38:22TRAFFIC#885%%LST TSKCHT=TN,INFO=TRUE,TSKN=″report_d″;%%RETCODE=0执行成功基本信息---------任务名称=Report_D任务号=1任务描述=2000年报表D表测量功能集=局向的中继话务测量对象类型=局向号运行状态=激活结果保留记录数=5000结果输出=普通维护端口---END通用报告生成的实现也主要根据这几部分展开(1)说明符含义解释一对尖括号<>之间的内容为实际输出内容。
\r\n表示换行符<nSP>表示连续n个空格符;<XXX′对齐方式>其中A0表示左对齐,A1表示右对齐;<XXX′Mn>其中′Mn表示此信息段最大长度n字符;<XXX′Ln>其中′Ln表示此信息段总长度是n字符,不足部分用空格填充;
′L0表示输出该字段的实际长度,不用填充;<XXXXX> 标记下划线的文字,为确定输出字样<XXXX> XXXX为其他部分实际输出更改;某一部分信息空缺,则填<NULL>或<->
如<局名′M32A0>表示局名信息最大长度32字符,左对齐。
(2)报告头格式报告头格式部分如下<起始符标识+++><4SP><源标识符′M32><8SP><报告输出日期′M10><1SP><报告输出时间′M8>\r\n<业务报告标志′M10><4SP><#报告序号′M10>\r\n具体说明如下i、一个源标识符指出产生一项输出信息的物理区域。一般是设备的标识,在安装设备时指定即可。可以是局名等。
ii、根据国际标准(ISO 2014)在标题中输出的日期按全数字形式写成日历日期。日历日期应按下列次序书写年、月、日。
年由两位十进制数字或四位十进制数字组成,为杜绝2000年问题发生,采用四位十进制数字;月由两位十进制数字组成,范围从01到12;日由两位十进制数字组成,范围从01到31;年和月之间及月和日之间用的字符是连字符号。
iii、时间表示法采用24小时计时方式。时间元素的顺序应是从高位到低位(从左到右)时、分、秒。
小时用两位十进制数表示,范围从00到23,并包括23;分用两位十进制数字表示,范围从00到59,并包括59;秒用两位十进制数表示,范围从00到59,并包括59;时和分及秒之间用分号字符[]分割。
iv、业务报告标志有TRAFFIC(通信量);O&M(操作维护);TEST(测试);
ALARM(告警),v、现在报告序号的作用是唯一标识一个任务的输出报告。因为一些命令的结果信息非常庞大,可能需要分多个报告输出,这时就需要有一种手段把这些报告串起来。报告序号就起到这个作用。同一个任务的输出报告无论多少都由一个报告序号标识。、报告头的样例如下+++HUAWEI1998-12-07 11:45:58O&M#10000(3)报告体报告体是报告的真正内容所在。它包括以下几部分命令回显部分;系统报告信息;结果正文;附加信息。
具体说明如下i、命令回显部分<命令回显标识%%><回显的命令文本><命令回显标识%%>\r\n对于对话输出,即对输入命令的响应输出,命令回显是必须的。对于非对话输出,不存在命令回显。回显的命令文本可能超出一行的宽度,因此允许换行。回显命令的起始和结束由命令回显标识%%标志。
为了保证命令回显对用户的提示功能,回显的命令文本与用户输入的命令保持完全一致,程序不做任何如过滤空格等等的处理。
如果回显的命令文本有多个命令,新的命令要重起一行,不要紧跟在上一个命令的后面接着写。多个命令一起包围在一对%%之间。
ii、系统报告信息一般是成功/失败信息。
分为两个区段,一个是返回码,一个是返回码的解释信息,给出这个错误的合理解释,帮助用户定位这个错误。
<返回码标识RETCODE><1SP><=><1SP><返回码><2SP><解样信息>\r\n<A0解释信息折行后续>
iii、结果正文结果正文是查询以及其它登记的任务返回的数据块。它的显示形式比较多样灵活。
一个结果文本中可以包含多个结果主体,例如查询一个中继群,可以将该群包含的中继电路一起显示出来。那么,这时就包含两个结果主体,一个是中继群,另一个是中继电路。每个主体需要显示的属性以及个体的数目是不定的,因此对于每个主体的显示格式的处理也不相同。例如,以上例来说,返回的中继群属性是一条记录,而中继电路是多条,那么对于中继群这个主体来说,可能就以纵向列表的形式显示;而中继电路的属性就以横向列表的形式(一个记录一行)来显示。
由于在结果中包含多个主体,所以在每个主体的显示之前必须有这个主体的标题信息(TITLE),指定这个主体的含义,如“中继群属性”、“该群包含的中继电路”。对于单个结果主体的结果正文,标题信息可以省略,因为用户清楚的知道输入信息的含义。
在主体的显示之后显示记录的个数,如“结果个数=100”,这样一个主体的表述才比较完整。
通过把相关的多个主体信息以一定的格式组合起来显示,可以显示给用户一个比较综合的信息,使用户从一个任务返回中得到的有用信息更多。毕竟,孤立的信息,它的分析价值比较小。
iii、主体的标题信息在主体的数据信息之前显示,用于说明主体的含义,给出概括性的说明。要求意义准确清晰。标题信息字符串中不能使用标点符号,包括中英文。
<标题字符串>\r\n<′-′字符的重复,重复次数与标题字符串长度相同>\r\niv、结果总计信息一个结果正文是由多个结果主体构成,每个主体根据它的内容不同,可以以不同的方式来组织它的显示格式。每个主体都有标题信息(TITLE),对于多记录的结果输出,在结果之后还要显示结果记录个数。
<(结果个数><1SP><=><1SP><记录个数><)>\r\nv、主体信息主体的描述形式有横向列表和纵向列表。
1)纵向列表该纵向列表的适用于单条返回记录的显示,例如查询某个用户的返回结果、查询某个测试结果等等。适用范围很广。
格式说明结果只有一个个体的属性,每一行描述该个体的一个属性。其中等号左边是属性名称,等号右边是取值。以等号为准居中对齐。
具体形式如下<属性名1><2SP>=<2SP><值1>\r\n<属性名2><2SP>=<2SP><值2>\r\n<属性名3><2SP>=<2SP><值3>\r\n<属性名4><2SP>=<2SP><值4>\r\n2)横向列表该横向列表的适用于多条返回记录的显示,应用非常普遍。例如数据管理台查询一个模块的所有机框、维护台中查询一个框的所有单板状态、话务统计台中返回的多个实体的统计结果、测试台中查询多个测试结果等等。每行开头可以缩进一格,也可以不缩进。
格式说明<属性名1′A0′Mw1><2SP><属性名2′A0′Mw2><2SP><属性名3′A0′Mw3><2SP><属性名′A0>\r\n
\r\n<属性1值1′A0′Mw1><2SP><属性2值1′A0′Mw2><2SP><属性3值1′A0 ′Mw3><2SP><属性n值′A0>\r\n<属性1值2′A0′Mw1><2SP><属性2值2′A0′Mw2><2SP><属性3值2′A0 ′Mw3><2SP><属性n值′A0>\r\n<属性1值m′A0′Mw1><2SP><属性2值m′A0′Mw2><2SP><属性3值m′A0′Mw3><2SP><属性n值′A0>\r\n其中,每一列的宽度是输出报告时根据该属性的最大显示宽度计算出来的,最小宽度是6个字符。第一行显示输出属性的名称,下面的数据区以一个空行分隔。且每一列的属性左对齐。
vi、提示信息提示信息一般在报告的结束标记之前显示,如果报告中有附加信息,那么在附加信息之前显示。如果提示信息后不是结束标记,那么后面加一空行分隔。对于一个任务有多个报告输出的情况,提示信息也只出现一次,即在最后一个报告中显示。
格式<提示信息>\r\n<--------->\r\n<提示信息字符串>\r\nvii、附加信息是在一个报告的结束标记之前显示的补充信息,作为对上面报告的一个补充。目前存在的附加信息有<仍有后续报告输出>
<共有><报告个数><个报告>
(4)结束标志结束标记是固定的,具有如下形式<结束符标识---><4SP><END>\r\n2、通用的报告头实现报告头由以下三部分组成(1)源标志符(2)报告输出时间(3)业务报告标志及报告序号,这三部分根据一定的规范(本实施例采用华为公司的窄带报告规范)分别进行格式化,最后输出格式化后的报告头。
具体见图1,图1是本发明的通用报告头的组成模块及实现流程示意图,在图1中可以看出,其组成包括报告头调度模块、源标志符格式化模块、报告输出时间格式化模块,业务报告标志和报告序号格式化模块及窄带报告规范数据库模块。需要说明的是,中间的″格式化″方框是模块,仅是一个功能描述,而且从数据流的方向来看,″读取规范数据″的箭头只是表明操作的发起模块和响应模块,并不表明数据流的方向。
3、通用的报告体实现报告体由以下几部分组成(1)命令回显部分;(2)系统报告信息;(3)结果正文(分横排和竖排),包括主体的标题信息、结果总计信息、主体信息、提示信息;(4)附加信息。
实现流程同报告头类似,通过报告体生成模块将各部分格式化的字符串汇集,输出可打印的报告体,详见图2,包括报告体调度模块,命令回显格式化模块,系统报告信息格式化模块,结果正文格式化模块,附加信息格式化模块以及窄带报告规范数据库,其中与报告头不同的地方还包括如下模块(1)字符串折行模块窄带规范规定,报告每行最多可输出80个字符串,超过将折行,字符串折行不但能将普通的英文字符正确折行,还能进行汉字(UNICODE)折行,避免出现一个汉字被折掉一半的情况。报告体各部分进行折行时通过调度模块申请,并得到折行后的文本。
(2)报告容量限制模块报告的容量不能是无限的,当报告超过一定长度(这里是32K),在网管服务器和客户端传输可能会丢失部分数据,故通过使用者设置单个输出报告的最大容量进行限制,报告体生成模块将根据各部分格式化情况实时计算还可以合成多少行记录,达到容量限制后,会停止格式化,输出当前报告,将剩余部分合到下一个报告中输出。
(3)结果正文内容由用户通过接口填写,具体见下面的接口(3)。
4、结束标志实现结束标志比较简单,根据规范合成结束END标识。
5、构造一个MML报告的流程本文针对使用者主要提供如下接口(1)添加报告的初始信息;(2)生成报告结果体功能创建一个报告结果体,包括执行报告类型(横排、竖排),属性字段的名称等,创建的报告结果体会加入到报告结果体列表中,并返回结果体句柄。一个报告可由多个结果体组成,故可创建多个;(3)报告体内容填写功能向结果体报告中每个属性字段添加属性值,横排可添加多行数据;(4)设置报告的输出限制功能可设置报告的最大输出行数和容量限制,超过此限制,控件将自动分报告,分批次输出;(5)得到可输出的报告功能格式化生成一个可打印MML报告;创建一个MML报告的流程就是按照上面的接口,顺序的调用,最后得到可输出的报告,见图3,从图3可以看出,该系统包括下列模块报告调度模块,报告头生成模块,报告体生成模块及报告结束标记模块。其中,报告调度模块接收使用者输入的报告头信息及报告体内容信息,然后分别调用报告头生成模块、报告体生成模块及报告结束标记模块生成格式化后的报告,而报告头生成模块及报告体生成模块则分别调用自己的模块,如图1及图2所示的执行过程。
6、为能充分共享报告生成技术,将本发明封装成COM(组件对象模型)组件的形式,这样就方便的继承了微软COM技术的优点,可以在二进制级别共享,可扩展和封装性都很强。
综上所述,本发明结合附图详细描述了本发明的优选实施例,然而本发明的描述,详细说明和以上提到的附图并不是用来限制本发明的。对本领域的普通技术人员来说,在本发明的教导下可以进行各种相应的修改而不会超出本发明的精神和范围,因此这种变化应包含在本发明的权利要求及其等效范围之内。
权利要求
1.一种通用人机语言命令报告生成系统,其特征在于包括报告调度模块、报告头生成模块、报告体生成模块及报告结束标记模块,其中所述报告调度模块用于接收使用者输入的报告头信息及报告体信息,分别调用报告头生成模块、报告体生成模块及报告结束标记模块生成格式化后的报告;所述报告头生成模块,接收报告调度模块的报告头信息,返回格式化后的报告头;所述报告体生成模块,接收报告调度模块的报告体信息,返回格式化后的报告体;所述报告结束标记模块,根据报告调度模块的信息返回结束标记。
2.如权利要求1所述的通用人机语言命令报告生成系统,其特征在于所述报告头生成模块包括报告头调度模块、源标志格式化模块、报告输出时间格式化模块、业务报告标志和报告序号格式化模块及规范数据库模块其中所述源标志符格式化模块,用于接收报告头调度模块的信息,读取规范数据库的规范生成源标志符格式化信息;所述报告输出时间格式化模块,用于接收报告头调度模块的信息,读取规范数据库的规范生成报告输出时间格式化信息;以及所述业务报告标志和报告序号格式化模块,用于接收报告头调度模块的信息,读取规范数据库的规范生成业务报告标志和报告序号格式化信息;由所述报告头调度模块生成格式化后的报告头。
3.如权利要求1所述的通用人机语言命令报告生成系统,其特征在于所述报告体生成模块包括报告体调度模块、命令回显格式化模块、系统报告信息格式化模块、结果正文格式化模块、附加信息格式化模块及规范数据库模块其中所述命令回显格式化模块,用于接收报告体调度模块的信息,读取规范数据库的规范生成命令回显格式化信息;所述系统报告信息格式化模块,用于接收报告体调度模块的信息,读取规范数据库的规范生成系统报告信息格式化信息;所述结果正文格式化模块,用于接收报告体调度模块的信息,读取规范数据库的规范生成结果正文格式化信息;所述附加信息格式化模块,用于接收报告体调度模块的信息,读取规范数据库的规范生成附加信息格式化信息;由所述报告体模块调度格式化后的报告体。
4.如权利要求3所述的通用人机语言命令报告生成系统,其特征在于所述报告体生成模块还包括报告容量限制模块,根据各部分格式化情况实时计算还可以合成多少行记录,达到容量限制后,会停止格式化,输出当前报告,将剩余部分合到下一个报告中输出。
5.如权利要求3所述的通用人机语言命令报告生成系统,其特征在于所述报告体生成模块还包括字符串折行模块,根据规范规定,按照一定的字符串将超过规定的字符折行。
6.如权利要求1-5中任一权利要求所述的通用人机语言命令报告生成系统,其特征在于所述模块都被封装成组件对象模型。
7.一种通用人机语言命令报告生成方法,包括下列步骤a.接收输入报告的初始信息;b.根据初始信息中的报告头信息及报告体信息,分别调用报告头生成模块、报告体生成模块及报告结束标记模块;c.所述报告头生成模块接收报告调度模块的报告头信息,返回格式化后的报告头;d.所述报告体生成模块接收报告调度模块的报告体信息,返回格式化后的报告体;e.所述报告结束标记模块根据报告调度模块的信息返回结束标记。f.生成格式化后的报告并输出MML报告。
8.如权利要求7所述的通用人机语言命令报告生成方法,其特征在于所述步骤c包括下列步骤a1.报告头生成模块根据输入的报告头信息分别调用报告头调度模块、源标志格式化模块、报告输出时间格式化模块、业务报告标志和报告序号格式化模块及规范数据库模块b1.所述源标志符格式化模块接收报告头调度模块的信息,读取规范数据库的规范生成源标志符格式化信息;c1.所述报告输出时间格式化模块接收报告头调度模块的信息,读取规范数据库的规范生成报告输出时间格式化信息;以及d1.所述业务报告标志和报告序号格式化模块接收报告头调度模块的信息,读取规范数据库的规范生成业务报告标志和报告序号格式化信息;e1.由所述报告头调度模块生成格式化后的报告头。
9.如权利要求7所述的通用人机语言命令报告生成系统,其特征在于所述步骤d包括下列步骤a2.报告体调度模块根据输入的报告体信息分别调用命令回显格式化模块、系统报告信息格式化模块、结果正文格式化模块、附加信息格式化模块及规范数据库模块b2.所述命令回显格式化模块接收报告体调度模块的信息,读取规范数据库的规范生成命令回显格式化信息;c2.所述系统报告信息格式化模块接收报告体调度模块的信息,读取规范数据库的规范生成系统报告信息格式化信息;d2.所述结果正文格式化模块接收报告体调度模块的信息,读取规范数据库的规范生成结果正文格式化信息;e2.所述附加信息格式化模块接收报告体调度模块的信息,读取规范数据库的规范生成附加信息格式化信息;f2.所述报告体模块调度格式化后的报告体。
10.如权利要求7所述的人机语言报告生成方法,其特征在于所述步骤f还包括创建一个报告结果体,包括执行报告类型,属性字段的名称的步骤。
全文摘要
本发明涉及一种通用人机语言命令报告生成系统及其方法。所述系统包括报告调度模块、报告头生成模块、报告体生成模块及报告结束标记模块,其中所述报告调度模块用于接收使用者输入的报告头信息及报告体信息,分别调用报告头生成模块、报告体生成模块及报告结束标记模块生成格式化后的报告。所述通用人机语言命令报告生成方法包括下列步骤输入报告的初始信息;生成报告结果体;填写报告体内容;设置报告的输出限制;输出MML报告。通过封装重用,使用者可不必了解具体的报告规范,就可满足输出报告的需求,效率得到提高,同时使客户端的报告解析算法稳定统一。
文档编号G06F17/00GK1508717SQ0215629
公开日2004年6月30日 申请日期2002年12月15日 优先权日2002年12月15日
发明者徐兴海 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1