[发明专利]基于C语言的TLV格式协议快速解析方法在审
| 申请号: | 201811120660.8 | 申请日: | 2018-09-26 |
| 公开(公告)号: | CN109298866A | 公开(公告)日: | 2019-02-01 |
| 发明(设计)人: | 徐文龙 | 申请(专利权)人: | 杭州米加科技股份有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;H04L29/08 |
| 代理公司: | 杭州融方专利代理事务所(普通合伙) 33266 | 代理人: | 薛纪表 |
| 地址: | 310013 浙江省杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 客户机 服务器 解析 编译器 网络数据交换 网络通信能力 数据流 编码能力 传输协议 反序列化 快速数据 模块实现 数据对象 数据交换 数据解析 网络连接 网络请求 网络通道 协议解析 长链接 传输层 解析器 封装 传输 客户 交换 网络 | ||
本发明公开了基于C语言的TLV格式协议快速解析方法。属于TLV格式协议解析技术领域,该方法使得2G网络连接客户机和服务器之间的网络请求速度快、网络通信能力强、网络数据交换快和TLV格式的数据解析速度快。在客户机上设有编译器和解析器,在服务器上也设有编译器和解析器,从而使客户机和服务器都同时具备编码能力和解码能力;客户机和服务器通过网络通道socket长链接模块实现客户机和服务器之间的相互数据交换;在传输层对TCP/TP传输协议进行封装,然后采用数据对象tlv格式的数据流来传输2G网络的数据,从而实现客户机和服务器之间的快速数据交换。在解析器内设有能把一段TLV格式的数据反序列化成一个struct类型的TLV数据解析接口。
技术领域
本发明涉及TLV格式协议解析技术领域,具体涉及基于C语言的TLV格式协议快速解析方法。
背景技术
目前的2G网络连接一般都是采用HTTP网络模块访问(HTTP+TLV)方式,HTTP网络模块访问方式的单次接口请求时间一般在8s-10s,客户机和服务器之间的网络请求速度慢。
在C语言环境中,要对一个TLV协议的数据做解析,一般情况下需要针对某一种数据实现一个单独的解析函数,如果在项目中有多种数据就都需要多个TLV协议的数据解析,这就必然造成代码冗余和开发效率低下。
发明内容
本发明是为了解决现有2G网络连接客户机和服务器之间的网络请求速度慢的不足,提供一种2G网络连接客户机和服务器之间的网络请求速度快、网络通信能力强、网络数据交换快、TLV格式的数据解析速度快的基于C语言的TLV格式协议快速解析方法。
以上技术问题是通过下列技术方案解决的:
基于C语言的TLV格式协议快速解析方法,在客户机上设有编译器和解析器,在服务器上也设有编译器和解析器,从而使客户机和服务器都同时具备编码能力和解码能力;客户机和服务器通过网络通道socket长链接模块实现客户机和服务器之间的相互数据交换;在传输层对TCP/IP传输协议进行封装,然后采用数据对象tlv格式的数据流来传输2G网络的数据,从而实现客户机和服务器之间的快速数据交换;
在解析器内设有能把一段TLV格式的数据反序列化成一个struct类型的TLV数据解析接口;TLV数据解析接口把一段TLV格式的数据反序列化成一个struct类型的过程如下:
在解析TLV格式的数据时加入面向对象的概念,通过将一个结构体目标的指针作为“对象”传入TLV数据解析接口,利用TLV数据解析接口的UnpackTlvBuff解析函数顺序解析出所有的TLV数据段;在解析完每一段TLV数据时,利用回调函数回调出相应的TLV数据段的类型tag、长度length、值value以及“对象”,回调函数中再针对不同的“对象”作相应的数据赋值,若该TAG对应的是一个基本数据类型参数则直接赋值,若该tag对应的是一个结构体对象则再次利用UnpackTlvBuff解析函数解析出结构体对象内部的TLV数据的值value,同时传入新的“对象”以区分目标,重复以上步骤直至解析完成;这样一个解析回调函数就能完成整个多层嵌套的结构体“对象”的解析过程,从而实现多层嵌套的复杂的TLV格式协议的数据快速解析。
本方案通过一个双向通信的网络通道socket长链接模块(TCP/IP+TLV)代替了普通HTTP网络模块访问(HTTP+TLV),在传输层对TCP/IP传输协议封装,采用TLV格式约定格式的数据流,能使单次接口请求时间从8s-10s减小到2s-3s,从而使得客户机和服务器之间的网络请求速度快、网络通信能力强和网络数据交换快,TLV格式的数据解析速度快。
在C语言环境中,实现了TLV格式的数据快速解析工具;
实现的对外功能接口包括:
TLV数据解析接口
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州米加科技股份有限公司,未经杭州米加科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811120660.8/2.html,转载请声明来源钻瓜专利网。





