[发明专利]diameter消息解析方法及装置在审
申请号: | 201310581296.6 | 申请日: | 2013-11-19 |
公开(公告)号: | CN104660548A | 公开(公告)日: | 2015-05-27 |
发明(设计)人: | 潘键 | 申请(专利权)人: | 北京信威通信技术股份有限公司;深圳信威通信技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24 |
代理公司: | 无 | 代理人: | 无 |
地址: | 100193 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | diameter 消息 解析 方法 装置 | ||
技术领域
本发明涉及互联网领域,具体而言,涉及diameter消息解析方法及装置。
背景技术
Diameter协议是IETF开发的新一代AAA协议,AAA即Authentication(认证)、Authorization(授权)、Accounting(计费)。Diameter包含基础协议不同的应用扩展协议。Diameter基础协议为各种应用扩展协议提供了一个基础框架,它定义了消息格式以及消息的扩展方法、消息的处理机制、协议的传输机制以及协议的安全保障机制等。
Diameter协议具备良好的扩展性和通用型,随着diameter协议的不断发展和完善,diameter应用的领域和范围也越来越广泛,而随之而来的是针对其性能、可靠性以及消息解码的可扩展性的要求也越来越高;同时diameter协议是一个承载在SCTP/TCP上的实时协议,在很多应用中由于应用本身的使用场景都要求其具有高效的消息处理能力,如实时计费等应用。
Diameter协议所具有的良好的扩展性在很大方面是得益于diameter消息本身所具有的高扩展性。Diameter消息是一个可自由扩展的树型结构,而非一个扁平的静态结构。为了高效的解析diameter消息,对于非静态的数据结构显然不可能通过内存预先分配(内存池)或者解析过程中直接new/delete的方式来构建消息。
目前针对diameter消息的解析,基本都采用解析过程中直接通过new/delete的方式来构建消息,同时对消息的解析也是通过消息数据来驱动,在解析过程中通过查找对应的规则进行校验,解析效率较低,在对消息解析效率有高要求的应用场景下无法满足要求。
对于相关技术中存在的上述问题,目前还没有提出合理的解决方案。
发明内容
本发明提供了diameter消息解析方法及装置,以至少解决相关技术中diameter消息解析效率低的问题。
根据本发明的一个方面,提供了一种diameter消息解析方法,包括:
设置消息解析树,并构建消息解析树对象,其中,所述消息解析树是根据预先定义的消息格式设置的,所述消息解析树用于对diameter消息进行解析;使用所述消息解析树对象对接收到的diameter消息从树上匹配对应的解析节点;用对应解析节点对所述diameter消息进行结构适配,直到所述diameter消息的所有原子属性值对AVP解析处理完成;从解析完成之后的所述diameter消息中抽取数据。
优选地,所述消息解析树包括:结构适配器、行为适配器、AVP解析器、和数据抽取器,其中,所述结构适配器用于消息结构的适配;所述行为适配器用于对所述diameter消息中AVP出现的次数进行检验;所述AVP解析器用于对所述diameter消息中的AVP进行识别;所述数据抽取器与所述AVP解析器耦合,用于进行内容的抽取处理。
优选地,所述结构适配器包括:固定顺序结构适配器和非固定顺序结构适配器,其中,所述固定顺序适配器用于对固定顺序结构的消息单元依次进行解析;所述非固定顺序适配器用于对位置不固定的消息单元进行解析。
优选地,所述AVP解析器包括:原子AVP解析器和复合AVP解析器,其中,所述原子解析器是用于解析的最小单元,所述复合AVP解析器包括多个所述原子AVP解析器。
优选地,在从解析完成之后的所述diameter消息中抽取所述数据之前,所述方法还包括:进行内存的分配,其中,所述内存的分配是通过绑定在所述AVP解析器上的内存池来进行分配的,其中,所述每个AVP解析器均绑定一个内存池。
优选地,所述内存池采用忙、闲链表的方式管理内存,其中,使用所述内存池分配内存时,内存池从闲链表中取出内存块并将所述内存块的起始地址加入忙链表中。
根据本发明的一个方面,还提供了一种diameter消息解析装置,其特征在于,包括:设置模块,用于设置消息解析树,并构建消息解析树对象,其中,所述消息解析树是根据预先定义的消息格式设置的,所述消息解析树用于对diameter消息进行解析;匹配模块,用于使用所述消息解析树对象对接收到的diameter消息从树上匹配对应的解析节点;适配模块,用于用对应解析节点对所述diameter消息进行结构适配,直到所述diameter消息的所有原子属性值对AVP解析处理完成;抽取模块,用于从解析完成之后的所述diameter消息中抽取数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信威通信技术股份有限公司;深圳信威通信技术有限公司;,未经北京信威通信技术股份有限公司;深圳信威通信技术有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310581296.6/2.html,转载请声明来源钻瓜专利网。
- 网络元件的处理节点之间的DIAMETER总线通信
- 用于源对等体基于容量的Diameter负载共享的方法、系统和计算机可读介质
- 用于进行DIAMETER消息处理器间路由的方法、系统和计算机可读介质
- 用于在DIAMETER节点处提供本地应用路由的方法、系统、以及计算机可读介质
- 用于在DIAMETER节点处提供初始路由的方法、系统、以及计算机可读介质
- 用于在DIAMETER节点处提供对等路由的方法、系统、以及计算机可读介质
- 用于基于混合会话的Diameter路由的方法、系统和计算机可读介质
- 用于进行Diameter连接管理的方法和装置
- 一种Diameter拥塞响应的处理方法及装置
- 用于进行DIAMETER消息处理器间路由的系统