[发明专利]二进制协议编码、解码方法和装置有效
申请号: | 201810686262.6 | 申请日: | 2018-06-28 |
公开(公告)号: | CN109104405B | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 李洋;钟逸;江雪;刘晓俐;曹子钰;邓晖;邵晨龙;陈涛;杨帆;王啸原;肖雪露;刘佳;邓勇;许林;黎楚;张慧;冯曼琳;宁达;杨婧;徐建林;曾文艺;张菁菁;周峻颖;周浩宇;吴江楠 | 申请(专利权)人: | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 徐立 |
地址: | 430205 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制 协议 编码 解码 方法 装置 | ||
本发明公开了一种二进制协议编码、解码方法和装置,属于通信技术领域。所述方法包括:接收数据分发服务消息;将数据分发服务消息解析为键值对结构,键值对结构的关键字用于指示二进制协议的格式,键值对结构的值为需要采用二进制协议传输的内容;根据关键字确定对应的信息单元标识列表,信息单元标识列表包括至少一个信息单元标识;在数据库中分别查找信息单元标识列表中的各个信息单元标识对应的编码规则;分别采用查找到的各个编码规则对键值对结构的值进行编码,得到采用不同的编码规则编码得到的二进制编码结果;将二进制编码结果通过二进制字节流发送给编码规则对应的地址,或者将二进制编码结果写成二进制文件发送给编码规则对应的地址。
技术领域
本发明涉及通信技术领域,特别涉及一种二进制协议编码、解码方法和装置。
背景技术
二进制协议是一串字节流,通常包括消息头(Header)和消息体(Body)两大部分。其中,消息头的长度固定,并且消息头中携带有消息体的长度,这样就能够从字节流中解析出完整的二进制数据。
二进制协议广泛应用在通信系统内部各个设备的数据交换中,其优点在于没有冗余字段,传输高效。缺点是每个二进制协议的每个字节是固定的定义,这就造成了在传统的二进制协议编解码方法中,对于每个协议都必须写一套代码去编码或者解码二进制字节流中的每一个字节,代码开发量十分巨大,需要的人力成本和时间成本非常高。并且通信系统内部各设备使用二进制协议交互过程中,经常会因为通信系统的维护或者升级等的原因,二进制协议结构会经常扩展或者变动,造成了开发人员必须去维护一个十分巨大的二进制编解码的代码库。
发明内容
本发明实施例提供了一种二进制协议编码、解码方法和装置。所述技术方案如下:
第一方面,本发明实施例提供了一种二进制协议编码方法,所述方法包括:
接收数据分发服务消息;
将所述数据分发服务消息解析为键值对结构,所述键值对结构的关键字用于指示二进制协议的格式,所述键值对结构的值为需要采用二进制协议传输的内容;
根据所述关键字确定对应的信息单元标识列表,所述信息单元标识列表包括至少一个信息单元标识;
在数据库中分别查找所述信息单元标识列表中的各个信息单元标识对应的编码规则;
分别采用查找到的各个编码规则对所述键值对结构的值进行编码,得到采用不同的编码规则编码得到的二进制编码结果;
将所述二进制编码结果通过二进制字节流发送给编码规则对应的地址,或者将所述二进制编码结果写成二进制文件发送给编码规则对应的地址。
在本发明实施例的一种实现方式中,所述编码规则包括多个字段,所述多个字段包括至少一个根节点字段和多个子节点字段,所述根节点字段为一个用于承载编码后的数据的容器,所述多个子节点字段与二进制协议的各个字段对应;
所述多个字段中的每个字段均包括字段名称、字段类型、内部编码类型、外部编码类型、长度、来源类型、数据来源、主题和关键字。
在本发明实施例的另一种实现方式中,所述分别采用查找到的各个编码规则对所述键值对结构的值进行编码,包括:
判断所述根节点字段的来源类型是否为存储过程类型;
如果所述根节点字段的来源类型是存储过程类型,则调用所述根节点字段的数据来源指示的存储过程,并将从所述数据库中读取的数据填入参数键值对中,然后按照如下步骤遍历所述多个子节点字段;如果所述根节点字段的字段类型不是存储过程类型,则按照如下步骤遍历所述多个子节点字段;
判断所述子节点字段的字段类型是否为容器类型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所),未经武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810686262.6/2.html,转载请声明来源钻瓜专利网。