一种数据组包方法、装置及电子设备制造方法及图纸

技术编号:38343372 阅读:16 留言:0更新日期:2023-08-02 09:23
本公开提供了一种数据组包方法、装置及电子设备,其中所述方法包括:确定接收数据的接收时长Tp;判断所述接收时长Tp是否大于数据发送端的传输一个字节的传输时长Ts;在所述接收时长Tp大于所述传输一个字节的传输时长Ts时,确定是否需要对所述接收时长Tp内的接收数据进行组包;确定需要对所述接收的数据进行组包时,对所述接收的数据进行组包。本公开的这种方式可以通过对数据传输时长进行配置,进而调节组包时机,组包更加灵活。组包更加灵活。组包更加灵活。

【技术实现步骤摘要】
一种数据组包方法、装置及电子设备


[0001]本专利技术属于信息通信
,尤其涉及一种数据组包方法、装置及电子设备。

技术介绍

[0002]在数字通信系统中,对于传输的数据都要进行组包以形成数据包。现有技术中,存在一些数据组包方式,例如有些现有技术通过通信协议明确的长度字来确定数据组包的长度;有些现有技术是基于数据包的发送延时时间来对数据进行组包。
[0003]对于按照通信协议进行组包的方式,在数据组包时,要严格按照协议规定的长度进行组包,组包不够灵活;而对于发送延时时间对数据进行组包的方式,对组包的配置并不灵活,无法根据不同通信系统的要求而通过配置的方式来实现灵活的组包。
[0004]为此,需要一种能够进行灵活配置的组包方式来对传输的数据进行组包。

技术实现思路

[0005]为解决上述问题至少之一,本专利技术提供了一种数据组包方法、装置及电子设备,以实现对传输的数据进行灵活的组包。
[0006]本公开提供了一种数据组包方法,所述方法包括:确定接收数据的接收时长Tp;判断所述接收时长Tp是否大于数据发送端的传输一个字节的传输时长Ts;在所述接收时长Tp大于所述传输一个字节的传输时长Ts时,确定是否需要对所述接收时长Tp内的接收数据进行组包;确定需要对所述接收数据进行组包时,对所述接收的接收数据进行组包。
[0007]在一些实施例中,在所述接收时长Tp等于数据接收端允许的最大组包时长Tl时,对所述接收数据进行组包,其中,所述最大组包时长Tl大于等于所述传输一个字节的传输时长Ts。
[0008]在一些实施例中,基于通信数据平均传输效率η、波特率baud和数据接收端允许缓存的最大字节数byte,确定所述最大组包时长Tl。
[0009]在一些实施例中,通过以下公式确定所述最大组包时长Tl:Tl=byte/(η
×
baud)。
[0010]在一些实施例中,基于通信数据平均传输效率η、数据发送端的波特率baud,确定所述数据发送端传输一个字节的传输时长Ts。
[0011]在一些实施例中,通过以下公式确定所述传输一个字节的传输时长Ts:Ts=1/(η
×
baud)。
[0012]在一些实施例中,在对数据组包时,将所述接收时长Tp置零,和/或,没有对数据组包时,继续接收数据,并更新所述接收时长Tp。
[0013]本公开还提供了一种数据组包装置,所述数据组包装置包括接口、判断单元和组包单元,其中,
所述接口,用于接收数据;所述判断单元,用于判断接收数据的接收时长Tp是否大于数据发送端的传输一个字节的传输时长Ts,在所述接收时长Tp大于所述传输一个字节的传输时长Ts时,判断是否需要对所述接收时长Tp内的接收数据进行组包;所述组包单元,用于在需要组包时,对接收的接收数据进行组包。
[0014]在一些实施例中,所述判断单元,还用于判断所述接收时长Tp是否等于数据接收端允许的最大组包时长Tl;所述组包单元,所述接收时长Tp等于数据接收端允许的最大组包时长Tl时对所述接收数据进行组包;其中,所述最大组包时长Tl大于等于所述传输一个字节的传输时长Ts。
[0015]在一些实施例中,所述数据组包设备还包括确定单元,所述确定单元,用于:基于通信数据平均传输效率η、波特率baud和数据接收端允许缓存的最大字节数byte,确定所述最大组包时长Tl;和/或,基于通信数据平均传输效率η、数据发送端的波特率baud,确定所述数据发送端传输一个字节的传输时长Ts;和/或,在对数据组包时,将所述接收时长Tp置零;和/或,没有对数据组包时,更新所述接收时长Tp。
[0016]本公开还提供了一种电子设备,所述电子设备包括至少一个处理器和至少一个存储器,所述存储器与所述处理器数据连接,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上任一项所述的方法。
[0017]与现有技术相比,本专利技术具有如下优点:本公开将数据组包的时机与数据接收时长、传输数据时长结合,通过数据接收时长和数据传输时长来确定是否进行组包。这种方式可以通过对数据传输时长进行配置,进而调节组包时机,组包更加灵活。并且无需在通信数据额外加入组包协议,避免了有效数据占比下降的问题,实现数据发送端与数据接收端之间的透明传输。
[0018]在一些实施例中,通过最大组包时长和传输一个字节的传输时长的限制,可保证组包完成后得到数据长度适中的数据包,同时保证了系统的通信延时。
[0019]在一些实施例中,根据平均传输效率与波特率组合的方式,针对不同的通信系统,可修改平均传输效率,以达到针对不同的目标系统(例如RS422或CAN协议系统等)分别进行适配的目的。
[0020]本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
[0021]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1示出了根据本公开实施例的一种数据组包方法流程示意图;图2示出了根据本公开实施例的RS422协议下的数据组包方法流程示意图;图3示出了根据本公开实施例的CAN协议下的数据组包方法流程示意图;图4示出了根据本公开实施例的通信组包设备结构图;图5示出了根据本公开实施例的电子设备结构示意图。
具体实施方式
[0023]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0024]图1示出了根据本公开实施例的一种数据组包方法流程示意图,如图1所示,接收系统(例如数据接收设备)从相应协议系统的数据发送设备接收数据,并在接收数据的过程中,对接收时长Tp进行记录、更新,将记录的接收时长Tp与相应协议系统的数据发送设备发送一个字节的传输时长Ts进行比较。如果接收时长Tp小于发送一个字节的传输时长Ts,则数据接收设备继续接收数据,并更新接收时长Tp;如果接收时长Tp大于等于发送一个字节的传输时长Ts,则判断是否要对接收时长Tp内接收的数据进行组包,在所有数据完成接收时、或者接收数据中存在较大的时间延迟(本公开实施例中可以根据不同的系统或数据接收要求,设置最大延迟时间这种阈值)时,则数据接收设备对接收时长Tp内接收的数据进行组包。而如果没有完成数据接收也没有存在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据组包方法,所述方法包括:确定接收数据的接收时长Tp;判断所述接收时长Tp是否大于数据发送端的传输一个字节的传输时长Ts;在所述接收时长Tp大于所述传输一个字节的传输时长Ts时,确定是否需要对所述接收时长Tp内的接收数据进行组包;确定需要对所述接收数据进行组包时,对所述接收的接收数据进行组包。2.根据权利要求1所述的数据组包方法,其中,在所述接收时长Tp等于数据接收端允许的最大组包时长Tl时,对所述接收数据进行组包,其中,所述最大组包时长Tl大于等于所述传输一个字节的传输时长Ts。3.根据权利要求2所述的数据组包方法,其中,基于通信数据平均传输效率η、波特率baud和数据接收端允许缓存的最大字节数byte,确定所述最大组包时长Tl。4.根据权利要求3所述的数据组包方法,其中,通过以下公式确定所述最大组包时长Tl:Tl=byte/(η
×
baud)。5.根据权利要求1

4任一所述的数据组包方法,其中,基于通信数据平均传输效率η、数据发送端的波特率baud,确定所述数据发送端传输一个字节的传输时长Ts。6.根据权利要求5所述的数据组包方法,其中,通过以下公式确定所述传输一个字节的传输时长Ts:Ts=1/(η
×
baud)。7.根据权利要求1

4或6所述的数据组包方法,其中,在对数据组包时,将所述接收时长Tp置零,和/或,没有对数据组包时,继续接收数据,并更新所述接收时长Tp。8.一种数据组包装置,所述...

【专利技术属性】
技术研发人员:黄彬彬董伯威梁凯盖书敏戴鹏飞丁欢
申请(专利权)人:中国铁路通信信号股份有限公司
类型:发明
国别省市:

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

1