数据包生成方法及装置、数据读取方法及装置制造方法及图纸

技术编号:28446921 阅读:23 留言:0更新日期:2021-05-15 21:07
本公开涉及数据包生成方法及装置、数据读取方法及装置,所述数据包用于承载N个数据通道的数据,所述数据包包括数据包包头、所述N个数据通道的通道包头及所述N个数据通道的数据,N为大于1的整数,所述方法包括:在满足数据包生成条件的情况下,生成所述数据包包头;在所述数据包包头生成后,针对第i个数据通道,生成所述第i个数据通道的通道包头,并在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据。本公开实施例生成的数据包用于数据传输时,可以适应多源异构数据的高速、高效传输,具有比相关技术的各种传输方式更大的数据带宽、更低的传输延迟。更低的传输延迟。更低的传输延迟。

【技术实现步骤摘要】
数据包生成方法及装置、数据读取方法及装置


[0001]本公开涉及通信
,尤其涉及一种数据包生成方法及装置、数据读取方法及装置。

技术介绍

[0002]随着电子/通信技术的不断发展,现代的大型电子设备系统变得非常复杂。通常,这些系统在运行过程中,每个部件,每个子系统都会产生各种各样的海量的数据,这些数据对于系统的设计、优化、调试和测试都至关重要。但是由于这些数据的来源众多,数据接口各不相同,数据速率差别很大,实时性要求不一,因此很难对其进行统一处理。对于现代的大型电子设备来说,多源异构数据的管理、存储、挖掘和处理,是此类系统一个迫切需要解决的问题。

技术实现思路

[0003]有鉴于此,本公开提出了一种数据包生成方法,所述数据包用于承载N个数据通道的数据,所述数据包包括数据包包头、所述N个数据通道的通道包头及所述N个数据通道的数据,N为大于1的整数,所述方法包括:
[0004]在满足数据包生成条件的情况下,生成所述数据包包头,所述数据包包头包括数据包包头标识、数据包生成时间、数据包编号,所述数据包包头标识用于对数据包包头进行定位;
[0005]在所述数据包包头生成后,针对第i个数据通道,生成所述第i个数据通道的通道包头,并在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,i为整数且1≤i≤N,
[0006]其中,所述通道包头包括通道包头标识、通道编号、通道数据长度、已传输数据数目,所述通道包头标识用于对通道包头进行定位,所述通道数据长度表示所述数据包传输的第i个数据通道的数据长度,所述已传输数据数目表示所述第i个数据通道在所述数据包生成时间之前已被传输的数据长度。
[0007]在一种可能的实施方式中,所述方法还包括:
[0008]确定所有数据通道的缓存数据的总数据长度;
[0009]在所述总数据长度达到的总数据长度阈值的情况下,确定满足所述数据包生成条件。
[0010]在一种可能的实施方式中,在生成所述第i个数据通道的通道包头后,所述方法还包括:
[0011]获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;
[0012]在所述数据长度指示信息指示所述第i个数据通道的数据长度为0、且i<N时,生成第i+1个数据通道的通道包头。
[0013]在一种可能的实施方式中,所述在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,包括:
[0014]获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;
[0015]在所述数据长度指示信息指示的数据长度大于0、且小于所述第i个数据通道的缓存数据的数据长度时,将所述第i个数据通道的通道数据长度设置为所述数据长度指示信息指示的数据长度;
[0016]在所述第i个数据通道的通道包头后写入所述第i个数据通道的缓存数据,并在i<N时生成第i+1个数据通道的通道包头,其中,写入的数据长度为所述数据长度指示信息指示的数据长度。
[0017]在一种可能的实施方式中,所述在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,包括:
[0018]获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;
[0019]在所述数据长度指示信息指示的数据长度大于0、且大于所述第i个数据通道的缓存数据的数据长度时,将所述第i个数据通道的通道数据长度设置为所述第i个数据通道的缓存数据的数据长度;
[0020]在所述第i个数据通道的通道包头后写入所述第i个数据通道的所有缓存数据、进行比特填充,并在i<N时生成第i+1个数据通道的通道包头,其中,所述缓存数据的数据长度与比特填充的数据长度之和为所述数据长度指示信息指示的数据长度。
[0021]在一种可能的实施方式中,所述在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,包括:
[0022]获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;
[0023]在所述数据长度指示信息指示的数据长度大于所述第i个数据通道的缓存数据长度、且所述第i个数据通道的缓存数据长度小于预设值时,将所述第i个数据通道的通道数据长度设置为0;
[0024]在所述第i个数据通道的通道包头后进行比特填充,并在i<N时生成第i+1个数据通道的通道包头,其中比特填充的数据长度为所述数据长度指示信息指示的数据长度。
[0025]在一种可能的实施方式中,所述方法还包括:
[0026]确定所述数据包中所有数据通道的数据长度之和;
[0027]当数据包中所有数据通道的数据长度之和小于预设的数据包的总数据长度时;
[0028]对第N个数据通道进行比特填充,使得数据包中所有数据通道的数据长度之和达到预设的数据包的总数据长度。
[0029]在一种可能的实施方式中,所述方法还包括:
[0030]根据预设的数据包的总数据长度、数据包包头的数据长度、通道包头的数据长度、待打包的数据通道的数目确定传输数据的有效数据长度;
[0031]根据每个数据通道的数据传输速率及所述有效数据长度确定每个数据通道的数据长度指示信息。
[0032]在一种可能的实施方式中,所述根据每个数据通道的数据传输速率及所述有效数据长度确定每个数据通道的数据长度指示信息,包括:
[0033]根据每个数据通道的数据传输速率及所述有效数据长度确定待分配数据长度;
[0034]根据各个数据通道的数据传输速率之间的比例及所述待分配数据长度确定每个数据通道的数据长度指示信息。
[0035]在一种可能的实施方式中,所述根据每个数据通道的数据传输速率及所述有效数据长度确定待分配数据长度,包括:
[0036]通过如下公式确定所述待分配数据长度:
[0037]Sum([R])*Floor(有效数据长度/Sum([R])),其中,R表示各个数据通道的数据传输速率,Sum表示求和,Floor表示向下取整。
[0038]在一种可能的实施方式中,所述根据各个数据通道的数据传输速率之间的比例及所述待分配数据长度确定每个数据通道的数据长度指示信息,包括:
[0039]通过如下公式确定每个数据通道的数据长度指示信息:
[0040]Floor(待分配数据长度/Sum([R])*当前数据通道的数据传输速率比例值)。
[0041]根据本公开的另一方面,提出了一种数据读取方法,所述方法包括:
[0042]根据数据包包头确定数据包,所述数据包包头包括数据包包头标识、数据包生成时间、数据包编号,所述数据包包头标识用于对数据包包头进行定位;
[0043]在数据包包头确定后,根据通道包头本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据包生成方法,其特征在于,所述数据包用于承载N个数据通道的数据,所述数据包包括数据包包头、所述N个数据通道的通道包头及所述N个数据通道的数据,N为大于1的整数,所述方法包括:在满足数据包生成条件的情况下,生成所述数据包包头,所述数据包包头包括数据包包头标识、数据包生成时间、数据包编号,所述数据包包头标识用于对数据包包头进行定位;在所述数据包包头生成后,针对第i个数据通道,生成所述第i个数据通道的通道包头,并在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,i为整数且1≤i≤N,其中,所述通道包头包括通道包头标识、通道编号、通道数据长度、已传输数据数目,所述通道包头标识用于对通道包头进行定位,所述通道数据长度表示所述数据包传输的第i个数据通道的数据长度,所述已传输数据数目表示所述第i个数据通道在所述数据包生成时间之前已被传输的数据长度。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所有数据通道的缓存数据的总数据长度;在所述总数据长度达到的总数据长度阈值的情况下,确定满足所述数据包生成条件。3.根据权利要求1所述的方法,其特征在于,在生成所述第i个数据通道的通道包头后,所述方法还包括:获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;在所述数据长度指示信息指示所述第i个数据通道的数据长度为0、且i<N时,生成第i+1个数据通道的通道包头。4.根据权利要求1所述的方法,其特征在于,所述在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,包括:获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;在所述数据长度指示信息指示的数据长度大于0、且小于所述第i个数据通道的缓存数据的数据长度时,将所述第i个数据通道的通道数据长度设置为所述数据长度指示信息指示的数据长度;在所述第i个数据通道的通道包头后写入所述第i个数据通道的缓存数据,并在i<N时生成第i+1个数据通道的通道包头,其中,写入的数据长度为所述数据长度指示信息指示的数据长度。5.根据权利要求1所述的方法,其特征在于,所述在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,包括:获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;在所述数据长度指示信息指示的数据长度大于0、且大于所述第i个数据通道的缓存数据的数据长度时,将所述第i个数据通道的通道数据长度设置为所述第i个数据通道的缓存数据的数据长度;
在所述第i个数据通道的通道包头后写入所述第i个数据通道的所有缓存数据、进行比特填充,并在i<N时生成第i+1个数据通道的通道包头,其中,所述缓存数据的数据长度与比特填充的数据长度之和为所述数据长度指示信息指示的数据长度。6.根据权利要求1所述的方法,其特征在于,所述在所述第i个数据通道的通道包头后写入所述第i个数据通道的数据,包括:获取所述第i个数据通道的数据长度指示信息,所述数据长度指示信息用于指示需要写入至所述数据包的所述第i个数据通道的数据长度;在所述数据长度指示信息指示的数据长度大于所述第i个数据通道的缓存数据长度、且所述第i个数据通道的缓存数据长度小于预设值时,将所述第i个数据通道的通道数据长度设置为0;在所述第i个数据通道的通道包头后进行比特填充,并在i<N时生成第i+1个数据通道的通道包头,其中比特填充的数据长度为所述数据长度指示信息指示的数据长度。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述数据包中所有数据通道的数据长度之和;当数据包中所有数据通道的数据长度之和小于预设的数据包的总数据长度时;对第N个数据通道进行比特填充,使得数据包中所有数据通道的数据长度之和达到预设的数据包的总数据长度。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据预设的数据包的总数据长度、数据包包头的数据长度、通道包头的数据长度、待打包的数据通道的数目确定传输数据的有效数据长度;根据每个数据通道的数据传输速率及所述有效数据长度确定每个数据通道的数据长度指示信息。9.根据权利要求8所述的方法,其特征在于,所述根据每个数据通道的数据传输速率及所述有效数据长度确定每个数据通道的数据长度指示信息,包...

【专利技术属性】
技术研发人员:舒伟峰汪富乐
申请(专利权)人:上海讯析电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1