数据传输方法、装置、设备、存储介质及计算机程序产品制造方法及图纸

技术编号:34775429 阅读:20 留言:0更新日期:2022-08-31 19:46
本公开提供了一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品,涉及数据传输技术领域,可应用于自动驾驶场景。该方法包括:将由每帧待传输数据拆分出的多个数据包,顺序发送给数据接收端;其中,每个数据包的包负载部分设置有包编号,包编号之间具有预定的编号间隔;接收数据接收端传入的丢包信息;根据丢包信息中的丢包编号和丢包数量,确定重传数据包;将重传数据包发送给数据接收端。该方法提升了数据传输的可靠性。该方法提升了数据传输的可靠性。该方法提升了数据传输的可靠性。

【技术实现步骤摘要】
数据传输方法、装置、设备、存储介质及计算机程序产品


[0001]本公开涉及数据处理
,具体涉及数据传输
,可应用于自动驾驶场景,尤其涉及一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品。

技术介绍

[0002]当前以太网中节点间的数据传输主要使用传输层的TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。它们起到的最基本功能都是将IP地址提供的主机

主机传递服务扩展到端

端的进程级,除此之外,它们还都有的功能是差错检测功能,但仅仅只能通过检测发现错误。
[0003]而随着自动驾驶技术的不断发展,以L4级别的自动驾驶安全冗余系统为例,从安全冗余系统的数据处理计算节点(中央处理器,英文缩写为CPU)到加速节点(FPGA,Field Programmable Gate Array,现场可编程逻辑门阵列)之间的数据双向传输,不仅对数据传输的实时性和稳定性要求很高,也对所传输数据的可靠性提出了更高的要求。

技术实现思路

[0004]本公开实施例提出了一种数据传输方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
[0005]第一方面,本公开实施例提供了一种数据传输方法,应用于数据发送端,包括:将由每帧待传输数据拆分出的多个数据包,顺序发送给数据接收端;其中,每个数据包的包负载部分设置有包编号,包编号之间具有预定的编号间隔;接收数据接收端传入的丢包信息;根据丢包信息中的丢包编号和丢包数量,确定重传数据包;将重传数据包发送给数据接收端。
[0006]第二方面,本公开实施例提供了一种数据传输方法,应用于数据接收端,包括:依次接收数据发送端传入的各数据包;其中,数据包拆分自每帧待传输数据;依次从各数据包的包负载部分提取相应的包编号;响应于相邻的包编号差不等于预定的编号间隔,确定丢包编号和丢包数量,并根据丢包编号和丢包数量生成丢包信息;将丢包信息发送给数据发送端,并接收数据发送端传入的重传数据包。
[0007]第三方面,本公开实施例提供了一种数据传输系统,包括:
[0008]数据发送端,被配置用于:将由每帧待传输数据拆分出的多个数据包,顺序发送给数据接收端;其中,每个数据包的包负载部分设置有包编号,包编号之间具有预定的编号间隔;根据接收到的丢包信息中的丢包编号和丢包数量,确定重传数据包;将重传数据包发送给数据接收端;
[0009]数据接收端,被配置成用于:依次从接收到的各数据包的包负载部分提取相应的包编号;响应于相邻的包编号差不等于预定的编号间隔,确定丢包编号和丢包数量,并根据丢包编号和丢包数量生成丢包信息;将丢包信息发送给数据发送端,并接收重传数据包。
[0010]第四方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面和/或第二方面中任一实现方式描述的数据传输方法。
[0011]第五方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面和/或第二方面中任一实现方式描述的数据传输方法。
[0012]第六方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面和/或第二方面中任一实现方式描述的数据传输方法的步骤。
[0013]本公开所提供的数据传输方法,通过将包编号写在数据包的包负载部分,不仅能够极大的避免修改包头信息造成的包头识别异常问题,而且因为包负载部分拥有更大的信息修改灵活度,可以容纳更多的自定义信息。同时,通过识别包负载部分记载的包编号,可以准确的确定是否丢包,进而要求数据发送端补充发送丢失的数据包,最终提升数据传输的可靠性。
[0014]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0015]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
[0016]图1为本公开实施例提供的一种应用于数据发送端的数据传输方法的流程图;
[0017]图2为本公开实施例提供的一种应用于数据发送端的数据包拆分及发送方法的流程图;
[0018]图3为本公开实施例提供的一种应用于数据发送端的数据包及重传数据包发送方法的流程图;
[0019]图4为本公开实施例提供的一种应用于数据接收端的数据传输方法的流程图;
[0020]图5为本公开实施例提供的一种应用于数据接收端的帧重传指令生成及处理方法的流程图;
[0021]图6为本公开实施例提供的一种包含数据接收端和数据发送端的数据传输系统的系统结构框图;
[0022]图7为本公开实施例提供的一种适用于执行数据传输方法的电子设备的结构示意图。
具体实施方式
[0023]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不
冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
[0024]本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0025]随着自动驾驶技术的不断发展,以L4级别的自动驾驶安全冗余系统为例,从安全冗余系统的数据处理计算节点(中央处理器,英文缩写为CPU)到加速节点(FPGA,Field Programmable Gate Array,现场可编程逻辑门阵列)之间的数据双向传输,不仅对数据传输的实时性和稳定性要求很高,也对所传输数据的可靠性提出了更高的要求。
[0026]在现行数据传输协议(例如TCP、UDP、RTP等,RTP,Real

time Transport Protocol,实时传输协议)的要求下,每个数据包通常都由两部分构成,即包头部分和包负载部分,包负载部分真正记录了所传输数据包的有效数据,而包头部分则记载了用于识别数据传输协议的各种标准信息、格式信息以及包负载部分数据的一些参数(例如总长度、数据类型等)。
[0027]如何在现有数据传输协议基础上,提供一种能够进一步消除错误、进而提升数据传输可靠性的数据传输方案,是本领域技术人员亟待解决的技术问题。
[0028]为解决上述现有技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,应用于数据发送端,包括:将由每帧待传输数据拆分出的多个数据包,顺序发送给数据接收端;其中,每个所述数据包的包负载部分设置有包编号,所述包编号之间具有预定的编号间隔;接收所述数据接收端传入的丢包信息;根据所述丢包信息中的丢包编号和丢包数量,确定重传数据包;将所述重传数据包发送给所述数据接收端。2.根据权利要求1所述的方法,在将由每帧待传输数据拆分出的多个数据包,顺序发送给数据接收端之前,还包括:将所述每帧待传输数据拆分为多个初始数据包;分别在每个所述初始数据包的包负载的负载头部分,写入相应初始数据包的包编号,得到各所述数据包。3.根据权利要求1所述的方法,其中,所述将由每帧待传输数据拆分出的多个数据包,顺序发送给数据接收端,包括:将由每帧待传输数据拆分出的多个数据包,通过实时传输协议顺序发送给所述数据接收端。4.根据权利要求1所述的方法,其中,所述将由每帧待传输数据拆分出的多个数据包,顺序发送给数据接收端,包括:将由所述每帧待传输数据拆分出的多个数据包,按所述包编号的递增顺序依次置入待传输队列;通过所述待传输队列依次将队列中的数据包发送给所述数据接收端;对应的,将所述重传数据包发送给所述数据接收端,包括:将所述重传数据包按照包编号的递增顺序依次置入所述待传输队列;通过所述待传输队列依次将队列中的重传数据包发送给所述数据接收端。5.根据权利要求4所述的方法,其中,所述将所述重传数据包按照包编号的递增顺序依次置入所述待传输队列,包括:将所述重传数据包按照包编号的递增顺序依次置入所述待传输队列的队首;其中,所述包编号最大的重传数据包将被置于所述待传输队列中位于原队首的数据包之前。6.根据权利要求1所述的方法,还包括:响应于接收到所述数据接收端传入的帧数据重传指令,将对应帧的所有数据包按顺序重新发送给所述数据接收端;其中,所述帧数据重传指令由所述数据接收端确定连续丢失的数据包数量满足预设要求时生成,所述预设要求包括以下至少一项:超过预设数量、与当前帧完整数据拆分出的数据包总数的占比超过预设第一占比、对应的数据大小超过预设大小、对应的数据大小与当前帧完整数据的总大小的占比超过预设第二占比。7.根据权利要求1

6任一项所述的方法,其中,所述待传输数据为用于为自动驾驶车辆提供自动驾驶服务的车载导航数据,对应的,所述数据发送端为所述自动驾驶车辆上车载设备中的中央处理器或现场可编程逻辑门阵列。8.一种数据传输方法,应用于数据接收端,包括:依次接收数据发送端传入的各数据包;其中,所述数据包拆分自每帧待传输数据;依次从各所述数据包的包负载部分提取相应的包编号;
响应于相邻的包编号差不等于预定的编号间隔,确定丢包编号和丢包数量,并根据所述丢包编号和所述丢包数量生成丢包信息;将所述丢包信息发送给所述数据发送端,并接收所述数据发送端传入的重传数据包。9.根据权利要求8所述的方法,其中,所述依次从各所述数据包的包负载部分提取相应的包编号,包括:依次从各所述数据包的包负载的负载头部分,提取出所述包编号。10.根据权利要求8所述的方法,其中,所述将所述丢包信息发送给所述数据发送端,包括:将所述丢包信息通...

【专利技术属性】
技术研发人员:吴宝强黄岱朱晓毅赵复阳
申请(专利权)人:百度美国有限责任公司
类型:发明
国别省市:

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

1