一种二进制数据帧协议中帧长度的处理方法与流程

文档序号:37336540发布日期:2024-03-18 18:01阅读:15来源:国知局
一种二进制数据帧协议中帧长度的处理方法与流程

本发明涉及协议编解码领域,解决二进制数据帧协议中帧长度的处理和编码问题。二进制数据帧协议由多个字段按顺序排列组成,每个字段有不同的数据类型、长度、范围以及比例因子等属性,并且特殊场景下该字段还可取消。帧长度字段是二进制数据帧协议的固有属性,一般为固定长度,内容为一帧数据中某段数据的字节长或比特长。


背景技术:

1、由于二进制数据帧协议的灵活性和不确定性,导致帧长度字段的处理过程和编码逻辑较为复杂,且容易出错。常规做法是协议帧确定后,人工计算帧长度,内容填为固定值。当协议发生变动时,需要重新人工计算帧长度,手动修改帧长度固定值。这种方法较机械,易出错,当协议较多时工作量大。本发明采用了一种灵活的帧长度处理流程,自动化的帧长度编码方法。


技术实现思路

1、本发明的目的是:提供一种二进制数据帧协议中帧长度的处理方法,解决二进制数据帧协议中帧长度的处理和编码问题。自动计算和编码帧长度内容,过程清晰,逻辑简单,后期协议和程序修改时,极大减少人力成本和出错概率。

2、本发明采用的技术方案为:

3、一种二进制数据帧协议中帧长度的处理方法,包含如下步骤:

4、步骤1:设置编码帧长度为0,并记录帧长度的编码起始位置a;同时,记录帧长度的相关参数,包括帧长度的大小和帧长度属性,帧长度的大小指的是字节数或比特数,帧长度属性指的是长度为字节数或比特数;

5、步骤2:在编码协议时,编码协议中除长度外的其他字段,并标记帧长度开始位置b和结束位置c;

6、步骤3:记d=c-b,根据帧长度属性将d做转换得到帧长度,并在编码后的二进制数据流位置a处重新编码帧长度,完成帧长度的编码。

7、其中,步骤3中根据帧长度属性将d做转换得到帧长度,具体为:

8、3.1:如果d的单位为字节,长度属性为字节时,帧长度=d;

9、3.2:如果d的单位为比特,长度属性为字节时,帧长度=d/8;

10、3.3:如果d的单位为比特,长度属性为比特时,帧长度=d;

11、3.4:如果d的单位为字节,长度属性为比特时,帧长度=d*8。

12、本发明技术具有如下优点:

13、(i)本发明提出的方法可以自动计算帧长度的值,无需软件编码人员人工计算长度。

14、(ii)本发明提出的方法可以可以减少代码的出错率,提高软件人员的工作效率。



技术特征:

1.一种二进制数据帧协议中帧长度的处理方法,其特征在于,包含如下步骤:

2.根据权利要求1所述的一种二进制数据帧协议中帧长度的处理方法,其特征在于,步骤3中根据帧长度属性将d做转换得到帧长度,具体为:


技术总结
本发明涉及协议编解码领域,具体涉及一种二进制数据帧协议中帧长度的处理方法。二进制数据帧协议由多个字段按顺序排列组成,帧长度字段是二进制数据帧协议的特殊字段,内容为一帧数据中某段数据的字节长或比特长。由于二进制数据帧协议的灵活性和不确定性,导致帧长度字段的处理过程和编码逻辑较为复杂且容易出错。本发明为了解决这一问题,首先在编码帧长度时,默认帧长度内容为0,同时记录帧长度的大小、帧长度属性及帧长度的编码起始位置;其次正常编码其他字段,并标记帧长度的开始位置和结束位置;再次在协议编码完成后延迟计算帧长度,在帧长度的起始位置重新编码帧长度。该方法自动计算,减少了代码的出错率,提高了软件人员的工作效率。

技术研发人员:李宇宏,陈锡春,黄建生,王冠楠,高璐鹏,王静静,刘志博
受保护的技术使用者:中国电子科技集团公司第五十四研究所
技术研发日:
技术公布日:2024/3/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1