一种直放站网管监控协议的自适应解析方法

文档序号:7928479阅读:176来源:国知局

专利名称::一种直放站网管监控协议的自适应解析方法
技术领域
:本发明涉及移动通信直放站网管监控领域,是利用面向对象的编程方法和范型编程思想对复杂的直放站网管监控协议进行分析的方法,具体涉及一种直放站网管监控协议自适应解析方法。
背景技术
:在直放站网管监控软件设计中,协议解析是该软件系统的核心部分,传统的协议解析方法都是面向过程的在解析协议过程中需要小心的处理协议帧的每一个字节,完成解析协议后需完成用户层的操作。这种方法主要存在两个方面的问题1、由于协议的解析方法是面向过程的,协议解析处理与用户层的联系密切,使用这种方法解析协议使得代码的可移植性不强,当需求更改时,维护变得越来越困难;2、由于没有将数据和操作分离,导致了数据的更新、存储以及传递变得繁瑣和冗余,由此导致了系统整体效率低下等问题。在直放站网管监控软件设计中,协议解析是该软件系统的核心部分,要应对不断用户层不断变更的需求,必须解决复杂的直放站网管监控协议的解析、封装以及与用户层的自适应问题。
发明内容本发明的目的是为了克服上述存在的问题和不足,提供了一种直放站网管监控协议自适应解析方法,解决了直放站网管监控协议解析代码移植性不好的和扩展性差的问题。一种直放站网管监控协议自适应解析方法,按以下步骤进行协议类对象接收到外部传递的原始数据流后,先初始化所有对外接口,若接口初始化出现错误则将错误代码返回到上一步,接口初始化成功后进行数据格式转换处理;若数据格式转换出现错误则将错误代码返回到上一步,数据转移成功后进行协议帧命令头的解析;若解析命令头出现错误则将错误代码返回到上一步,解析命令头成功后进行协议鉴权处理;若协议鉴权出现错误则将错误代码返回到上一步,协议鉴权成功后进行命令体的解析处理;若解析命令体出现错误则将错误代码返回到上一步,解析命令体成功后则进行协议对象的数据更新处理;若协议数据更新出现错误将错误代码返回到上一步,协议数据更新成功则生成协议类输出接口,从而完成协议数据解析,最终将原始数据流解析生成协议类对象;用户层在显示协议数据时仅需调用协议类的显示接口即可,而无需了解协议数据的细节信息,若直放站网管监控协议中增加了直放站网管监控参数,在解析时将其参数属性传入协议类对象,协议类对象会按照参数的属性进行自适应解析,本发明构造了一种自适应解析方法,使得在直放站网管监控协议中增加、删除、修改监控参数时,本发明中直放站网管监控协议解析代码无需修改。所述的数据格式转换处理在于按照直放站网管监控协议的要求进行数据可逆变换,例如有些协议要求将协议帧中除去帧头和帧尾部分的0x7E替换成0x5E和0x5D,本发明中的数据格式转换严格遵守直放站网管监控协议进行。所述的解析命令头解析在于按照直放站网管监控协议的要求进行协议帧帧头部分数据的分析处理,由于协议帧帧头部分结构相对固定,因此本发明中在协议类对象中设置有协议帧帧头结构体成员,解析时需按照直放站网管监控协议要求进行数据的提取即可。所述的协议鉴权处理在于按照直放站网管监控协议的要求进行协议鉴权处理,在直放站网管监控协议中要求进行协议鉴权时判断获得的协议帧帧头部分的信息和协议要求的信息是否一致,若一致则认为鉴权通过,若不一致则判断鉴权失败。所述的命令体的解析处理在于按照直放站网管监控协议的要求进行命令体的解析处理,对于协议帧命令体的解析在不同直放站网管监控协议中的要求不一定相同,但都回根据协议帧头部分的某些标志进行判断,通过这些标志来进行后续监控参数对象的数据的提取。所述的协议对象的数据更新处理在于按照直放站网管监控协议的要求从原始协议帧数据中提取出直放站监控参数对应的数据。所述的协议封装处理在于按照直放站网管监控协议的要求使用已经存在的直放站网管监控协议类对象构造符合协议规范的协议数据帧。本发明中的协议参数在设计时充分考虑了不同参数的差异性,将参数的各种不同约束条件抽象出来并保存在参数自身的对象中,将繁杂的参数检查校验等操作在参数的自身的方法中实现,此种设计方法提高了协议解析部分的独立性,使得该部分软件的可移植性好且在直放站网管监控协议增加、删除和修改直放站监控参数时能自适应解析而无需修改解析代码。图1解析协议详细数据流图。图2封装协议详细数据流图。图3协议解析概要图。图4协议封装概要图。具体实施例方式一种直放站网管监控协议自适应解析方法,按以下步骤进行协议类对象接收到外部传递的原始数据流后,先初始化所有对外接口,若接口初始化出现错误则将错误代码返回到上一步,接口初始化成功后进行数据格式转换处理;若数据格式转换出现错误则将错误代码返回到上一步,数据转移成功后进行协议帧命令头的解析;若解析命令头出现错误则将错误代码返回到上一步,解析命令头成功后进行协议鉴权处理;若协议鉴权出现错误则将错误代码返回到上一步,协议鉴权成功后进行命令体的解析处理;若解析命令体出现错误则将错误代码返回到上一步,解析命令体成功后则进行协议对象的数据更新处理;若协议数据更新出现错误将错误代码返回到上一步,协议数据更新成功则生成协议类输出接口,从而完成协议数据解析,最终将原始数据流解析生成协议类对象;用户层在显示协议数据时仅需调用协议类的显示接口即可,而无需了解协议数据的细节信息,若直放站网管监控协议中增加了直放站网管监控参数,在解析时将其参数属性传入协议类对象,协议类对象会按照参数的属性进行自适应解析,本发明构造了一种自适应解析方法,使得在直放站网管监控协议中增加、删除、修改监控参数时,本发明中直放站网管监控协议解析代码无需修改。所述的数据格式转换处理在于按照直放站网管监控协议的要求进行数据可逆变换,例如有些协议要求将协议帧中除去帧头和帧尾部分的0x7E替换成0x5E和0x5D,本发明中的数据格式转换严格遵守直放站网管监控协议进行。所述的解析命令头解析在于按照直放站网管监控协议的要求进行协议帧帧头部分数据的分析处理,由于协议帧帧头部分结构相对固定,因此本发明中在协议类对象中设置有协议帧帧头结构体成员,解析时需按照直放站网管监控协议要求进行数据的提取即可。所述的协议鉴权处理在于按照直放站网管监控协议的要求进行协议鉴权处理,在直放站网管监控协议中要求进行协议鉴权时判断获得的协议帧帧头部分的信息和协议要求的信息是否一致,若一致则认为鉴权通过,若不一致则判断鉴权失败。所述的命令体的解析处理在于按照直放站网管监控协议的要求进行命令体的解析处理,对于协议帧命令体的解析在不同直放站网管监控协议中的要求不一定相同,但都回根据协议帧头部分的某些标志进行判断,通过5这些标志来进行后续监控参数对象的数据的提取。所述的协议对象的数据更新处理在于按照直放站网管监控协议的要求从原始协议帧数据中提取出直放站监控参数对应的数据。所述的协议封装处理在于按照直放站网管监控协议的要求使用已经存在的直放站网管监控协议类对象构造符合协议规范的协议数据帧。在图1中,协议类对象接收到外部传递进来的原始数据流后,先初始化所有对外接口,接口初始化成功后进行数据的格式转换处理,数据格式转换成功后进行协议帧命令头的解析,命令头解析成功后进行协议鉴权处理,协议鉴权处理成功后进行命令体的解析处理,命令体的解析处理成功后进行协议对象的数据成员更新处理,协议类对象的数据成员更新成功后实现协议类输出接口。协议类对象不仅包含了协议监控参数成员,还包括了多个对外接口,用户层在显示协议层数据时仅需调用协议类的显示接口即可,而无需了解协议数据的细节信息,若直放站网管监控协议中增加或修改了直放站网管监控参数,解析时将其参数属性传入协议类对象,协议类对象会按照参数的属性进行自适应解析,此时协议解析代码无需修改。因此用户层对协议类的调用变得简单易学且无需关注协议层的实现和变更。在图2中,首先声明一个协议类对象,通过协议类的数据更新接口传入监控参数成员更新数据流,将更新数据流緩存后再进行数据更新前的冲全查,检查规则事先保存在协议类中的监控参数对象中,若数据更新检查成功后则进行协议帧封装并实现对外传递接口,最终得到协议帧数据流。在图3中,原始数据流经协议类的解析接口解析后,判断其解析结果,若解析失败则返回错误代码,返回错误代码供分析原因用,若解析成功则得到协议类对象。在图4中,协议类对象经协议类的协议封装接口封装后,判断其封装结果,若封装失败则返回错误代码,返回错误代码供分析原因,若封装成功则得到协议帧数据流。在表1中,协议类由以下成员组成协议中监控参数的对象成员(可为基本数据类型,也可是抽象的带约束的监控参数类对象),协议类有两个最基本的成员方法协议解析和协议封装,所有的操作均封装在这两个成员方法中,协议类还有四个重要接口一是协议帧数据流接收接口,一是协议帧数据流输出接口,一是协议类对用户层的传输接口,另一是用户层对协议类的数据更新接口。这四个接口将数据分别按照两种形式一种是字节流加数据长度,另外一种形式是把协议帧进行相应的字符串转换生成6一种新的形式,将协议中传输的数据直接用字符串表示出来,在监控量之间用分割符分割开来,在监控量之前加上监控量的统一数据标识(在设计时统一编码),这样在用户层进行显示时减少了与协议相关的数据转换。表1协i义类组成表。<table>tableseeoriginaldocumentpage7</column></row><table>权利要求1、一种直放站网管监控协议自适应解析方法,按以下步骤进行协议类对象接收到外部传递的原始数据流后,先初始化所有对外接口,若接口初始化出现错误则将错误代码返回到上一步,接口初始化成功后进行数据格式转换处理;若数据格式转换出现错误则将错误代码返回到上一步,数据转移成功后进行协议帧命令头的解析;若解析命令头出现错误则将错误代码返回到上一步,解析命令头成功后进行协议鉴权处理;若协议鉴权出现错误则将错误代码返回到上一步,协议鉴权成功后进行命令体的解析处理;若解析命令体出现错误则将错误代码返回到上一步,解析命令体成功后则进行协议对象的数据更新处理;若协议数据更新出现错误将错误代码返回到上一步,协议数据更新成功则生成协议类输出接口,从而完成协议数据解析,最终将原始数据流解析生成协议类对象。2、根据权利要求1所述的直放站网管监控协议自适应解析方法,其特征在于所述的数据格式转换处理在于按照直放站网管监控协议的要求进行数据可逆变换。3、根据权利要求l所述的直放站网管监控协议自适应解析方法,其特征在于所述的命令头解析在于按照直放站网管监控协议的要求进行协议帧帧头部分数据的分析处理,由于协议帧帧头部分结构相对固定,在协议类对象中设置有协议帧帧头结构体成员,解析时需按照直放站网管监控协议要求进行数据的提取。4、根据权利要求l所述的直放站网管监控协议自适应解析方法,其特征在于所述的命令体的解析处理为根据协议帧头部分的某些标志进行判断,通过这些标志来进行后续监控参数对象的数据的纟是取。5、根据权利要求l所述的直放站网管监控协议自适应解析方法,其特征在于所述的协议对象的数据更新处理在于按照直^:站网管监控协议的要求从原始协议帧数据中提取出直》丈站监控参数对应的数据。6、根据权利要求l所述的直放站网管监控协议自适应解析方法,其特征在于所述的协议封装处理在于按照直放站网管监控协议的要求使用已经存在的直放站网管监控协议类对象构造符合协议规范的协议数据帧。全文摘要本发明涉及一种直放站网管监控协议自适应解析方法,协议类对象接收到外部传递的原始数据流后,先初始化所有对外接口,接口初始化成功后进行数据格式转换处理;数据格式转换成功后进行协议帧命令头的解析;命令头解析成功后进行协议鉴权处理;协议鉴权成功后进行命令体的解析处理;解析命令体成功后进行协议对象的数据更新处理;协议数据更新成功后生成协议类输出接口,最终将原始数据流解析成协议类对象。本发明提高了协议解析部分的独立性和可移植性,使得在直放站网管监控协议中增加、删除和修改监控参数时,本发明中直放站网管监控协议解析代码无需修改。文档编号H04W88/18GK101420768SQ20081023665公开日2009年4月29日申请日期2008年12月3日优先权日2008年12月3日发明者代胜华,念舒,魏超杰申请人:武汉虹信通信技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1