【技术实现步骤摘要】
一种基于通信协议通用描述的协议解码方法及装置
[0001]本专利技术属于通信协议
,尤其涉及一种基于通信协议通用描述的协议解码方法及装置。
技术介绍
[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]在物联网和互联网通信中,设备通信中大量使用了通信协议,有标准协议和私有协议,尤其是没有相关标准的情况下,各设备厂家大量使用了企业内部指定的私有协议。无论是标准协议还是私有协议,针对运行在这些设备上的协议解码(也称解析)都需要大量的开发维护工作。
[0004]专利技术人发现,现有的通信协议解码方法通常采用“硬编码”方式编写代码方式实现。针对每一种通信协议,都需要专门开发一套代码对通信协议数据进行解析,代码编写工作量大、花费时间长;由于缺陷修复或需求变化,即便协议结构一样,但是协议包含数据不一样,也要重复编写代码进行编码,导致代码冗余,维护困难,代码很难复用。
技术实现思路
[0005]为了解决上述
技术介绍
中存在的技术问题,本专利技术提供一种基 ...
【技术保护点】
【技术特征摘要】
1.一种基于通信协议通用描述的协议解码方法,其特征在于,包括:获取通信协议的通用描述文件,校验通用描述文件的格式,解析描述文件中的元素;将通信协议描述文件中的协议匹配项相关元素和属性转换为通信协议匹配对象,以及将通信协议描述文件中的协议数据项相关元素和属性转换为通信协议数据对象;通信侦听获取通信原始报文数据;基于协议匹配项将通信原始报文数据进行协议匹配;根据协议匹配结果,进行协议解码,输出对象实例或json格式数据;其中,通信协议的通用描述文件将每个通信协议指令分为协议通用描述项、协议匹配项和和协议数据项进行描述;所述协议通用描述项,用于定义协议通用描述说明;所述协议匹配项,用于定义软件系统自动化匹配协议指令的匹配条件;所述协议数据项,用于定义协议的构成元素。2.如权利要求1所述的基于通信协议通用描述的协议解码方法,其特征在于,所述协议通用描述项包括协议指令的唯一ID定义、协议指令解析或编码结果存储对应类名定义、校验项定义、校验数据区定义、消息数据区长度项定义和消息数据区定义。3.如权利要求1所述的基于通信协议通用描述的协议解码方法,其特征在于,所述协议匹配项包括字节条件项和比特条件项。4.如权利要求1所述的基于通信协议通用描述的协议解码方法,其特征在于,所述协议数据项包括字节项、比特项、重复项、Tag项、子协议项和加密块。5.如权利要求1所述的基于通信协议通用描述的协议解码方法,其特征在于,在基于协议匹配项将通信原始报文数据进行协议匹配的过程中:协议报文数据和协议匹配对象集合作为输入项,根据协议匹配对象集合中的定义,获取指定位置的报文数据,按照类型进行转换,转换后的值与描述文件中的value值,按照描述文件中的运算符operator进行运算;当逻辑运算结果为true时,本匹配条件满足,继续下一匹配条件验证,直到本协议指令的所有匹配条件均满足时,则视为报文数据与本协议指令匹配成功,输出协议ID。6.如权利要求1所述的基于通信协议通用描述的协议解码方法,其特征在于,在基于协议...
【专利技术属性】
技术研发人员:张勇,郝敬全,刘晓莉,刘大扬,马述杰,
申请(专利权)人:山东泰华照明科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。