[发明专利]可变长协议的解析方法、装置、设备及介质在审
申请号: | 201911267135.3 | 申请日: | 2019-12-11 |
公开(公告)号: | CN111190851A | 公开(公告)日: | 2020-05-22 |
发明(设计)人: | 何围;熊友军 | 申请(专利权)人: | 深圳市优必选科技股份有限公司 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 深圳众鼎专利商标代理事务所(普通合伙) 44325 | 代理人: | 周燕君 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 变长 协议 解析 方法 装置 设备 介质 | ||
本发明公开了一种可变长协议的解析方法,包括:当接收到待解析的数据帧时,解析所述数据帧的帧头字段,得到帧头信息;当所述帧头信息为帧头预设值时,解析所述数据帧的包头长度字段,得到包头长度信息;根据所述包头长度信息从所述数据帧中抓取包头内容字段,然后按照设备支持的协议版本依次对所述包头内容字段进行解析,得到包头内容;解析所述数据帧中所述包头内容字段后的数据长度字段,得到数据长度信息;根据所述数据长度信息从所述数据帧中抓取数据内容字段,然后按照设备支持的协议版本依次对所述数据内容字段进行解析,得到数据内容。本发明解决了现有通信协议的可扩展性差、无法兼容新旧协议的问题。
技术领域
本发明涉及信息技术领域,尤其涉及一种可变长协议的解析方法、装置、设备及介质。
背景技术
在主控器与设备间的总线通信中,通信方式采用总线半/全双工串口通信,通信协议格式相对固定,只能针对某一特定类型的场景使用。当需求发生了变更或者协议需要新增属性时,则必须重新定制新的协议来满足需求,可扩展较差;并且无法兼容新旧协议,难以应用于各种不同级别的系统之间的通讯。
因此,寻找一种方法解决现有通信协议的可扩展性差、无法兼容新旧协议的问题成为本领域技术人员亟需解决的技术问题。
发明内容
本发明实施例提供了一种可变长协议的解析方法、装置、设备及介质,以解决现有通信协议的可扩展性差、无法兼容新旧协议的问题。
一种可变长协议的解析方法,包括:
当接收到待解析的数据帧时,解析所述数据帧的帧头字段,得到帧头信息;
当所述帧头信息为帧头预设值时,解析所述数据帧的包头长度字段,得到包头长度信息;
根据所述包头长度信息从所述数据帧中抓取包头内容字段,然后按照设备支持的协议版本依次对所述包头内容字段进行解析,得到包头内容;
解析所述数据帧中所述包头内容字段后的数据长度字段,得到数据长度信息;
根据所述数据长度信息从所述数据帧中抓取数据内容字段,然后按照设备支持的协议版本依次对所述数据内容字段进行解析,得到数据内容。
可选地,所述根据所述包头长度信息从所述数据帧中抓取包头内容字段包括:
将所述包头长度信息与包头长度初始值进行比较;
若所述包头长度信息大于或等于所述包头长度初始值时,按照所述包头长度信息从所述数据帧中依次抓取若干个字节,得到包头内容字段。
可选地,所述按照设备支持的协议版本依次对所述包头内容字段进行解析,得到包头内容包括:
当所述包头长度信息等于所述包头长度初始值时,依次对所述包头内容字段中的字节进行解析;
当所述包头长度信息大于所述包头长度初始值时,若设备支持的协议版本为初始版本,则依次对所述包头内容字段中的字节按照所述初始版本进行解析,然后丢弃剩余的字节。
可选地,所述按照设备支持的协议版本依次对所述包头内容字段进行解析,得到包头内容包括:
当所述包头长度信息大于所述包头长度初始值时,若设备支持的协议版本为扩展版本,则依次对所述包头内容字段中的字节按照所述扩展版本进行解析;
其中,所述可变长协议的扩展版本对应的包头内容字段包括所述可变长协议的初始版本对应的包头内容字段和至少一个扩展字段。
可选地,所述可变长协议的初始版本对应的包头内容字段包括设备型号、设备ID、帧序号、命令号,所述可变长协议的扩展版本对应的包头内容字段包括设备型号、设备ID、帧序号、命令号和至少一个扩展字段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市优必选科技股份有限公司,未经深圳市优必选科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911267135.3/2.html,转载请声明来源钻瓜专利网。