数据传输方法、电子设备和存储介质与流程
未命名
09-13
阅读:69
评论:0

技术领域:
:,尤其涉及一种数据传输方法、电子设备和存储介质。
背景技术:
::2.随着智能终端的快速普及和移动互联网的飞速发展,移动业务呈指数增长,对传输速率的时间要求越来越高,时间敏感网络(timesensitivenetwork,tsn)应运而生。tsn可以用于传输音频或视频信息,在车载组网或车载网络,工业自动化等行业均有广泛应用。tsn是以以太网为基础的新一代网络协议标准,该标准定义了以太网数据传输的时间敏感机制,具有时间同步、延时保证等确保实时性的功能,为以太网传输数据增加了稳定性和可靠性。3.tsn协议中的802.1qbv(enhancementsforscheduledtraffic)采用基于时间窗的调度机制,把不同的业务报文分散在不同的时间窗内发送,从而达到从时间上错开报文冲突的目的。通常,如果前一时间窗需发送的第一报文较长,在前一时间窗结束时仍未发送完毕,则相邻的后一时间窗需发送的第二报文在后一时间窗开始时不能立即发送,而是需要等待第一报文发送完毕后再发送。或者,如果前一时间窗需发送的第一报文较长,也可以选择在前一时间窗结束之前不发送第一报文,在相邻的后一时间窗发送第二报文。4.网络中传输的业务报文可以包括高优先级业务对应的高优先级报文和低优先级业务对应的低优先级报文。假设上述第二报文为高优先级报文,由于高优先级报文对实时性要求较高,如果在第二时间窗中等待第一报文发送完毕后再发送第二报文,会存在不可接受的传输延时,影响数据传输性能;如果为保证高优先级报文的实时性,在前一时间窗的剩余时间不够传输第一报文时,不发送第一报文,则会造成报文传输带宽的浪费。技术实现要素:5.本技术提供一种数据传输方法、电子设备和存储介质,可以减少高优先级报文的传输延时抖动,同时提高带宽利用率,提高数据传输性能。6.第一方面,本技术实施例提供一种数据传输方法,应用于支持tsn的网络中,可以由网络中任意一个可发送报文的电子设备执行。该数据传输方法可以包括:在用于发送第一优先级的报文的第一时间窗内,若存在待发送的第一报文,则确定自第一报文的待发送时刻至第一时间窗的结束时刻之间的第一剩余时长,其中,第一报文为第一优先级的报文。根据第一报文的报文长度和报文传输速率确定发送第一报文所需的传输时长,第一报文的报文长度为第一报文包含的字节数;根据网络所支持的最短报文切片的长度和报文传输速率确定发送最短报文切片所需的传输时长。将发送第一报文所需的传输时长作为最大时长阈值,将发送最短报文切片所需的传输时长作为最小时长阈值。若第一剩余时长大于或等于最大时长阈值,则发送完整的第一报文;若第一剩余时长小于最小时长阈值,则不发送第一报文,进入空闲状态,等待第一时间窗结束;若第一剩余时长大于或等于最小时长阈值且小于最大时长阈值,且第一报文包含的字节数大于或等于第一设定字节数,则在第一时间窗内,发送第一报文的第一部分字节;其中,第一设定字节数是根据网络所支持的最短报文切片所包含的报文字节数确定的;第一部分字节和第一报文中未在第一时间窗发送的第二部分字节的字节数均大于或等于最短报文切片包含的字节数。在用于发送第二优先级的报文的第二时间窗的开始时刻,若存在待发送的第二报文,则发送该第二报文;其中,第二时间窗为与第一时间窗相邻的下一时间窗,第二报文为第二优先级的报文,第二优先级高于第一优先级。7.可选地,第一设定字节数可以是最短报文切片所包含的报文字节数的两倍;或者,第一设定字节数可以是最短报文切片所包含的报文字节数与网络协议设定的最小字节数的和。8.本技术实施例提供的数据传输方法,如果第一时间窗的剩余时长不足够发送待发送的低优先级报文,但足够发送一个最短报文切片,并且该低优先级报文的报文长度满足可切分的条件,则可以在第一时间窗的剩余时长内先发送该低优先级报文的一部分字节,以保证在第二时间窗的开始时刻准时发送高优先级报文,从而减少高优先级报文的传输延时抖动,提高高优先级报文的传输时效性。同时,与剩余时间不够就不发送低优先级报文相比,在第一时间窗的剩余时长内先发送低优先级报文的一部分字节,还可以最大化利用第一时间窗的剩余时间,提高带宽利用率,提高数据传输性能。9.在一种可能的实现方式中,在第一时间窗的第一剩余时长内,可以采用如下方式发送第一报文的第一部分字节:按照所述第一报文中各个字节的顺序分别发送第一报文中的各字节,每发送一个字节,确定第一报文中未发送的剩余字节和第二剩余时长;第二剩余时长为自当前时刻至第一时间窗的结束时刻之间的时长。如果剩余字节大于第二设定字节数,且第二剩余时长大于预设时长,则继续发送下一字节;其中,第二设定字节数可以是最短报文切片包含的字节数,设置第二设定字节数的目的是保证上述第二部分字节可以作为一个报文切片发送,即上述第二部分字节的字节数大于或等于最短报文切片包含的字节数。如果剩余字节等于设定字节数,则停止发送下一字节,进入空闲状态,等待第一时间窗结束,并将第一部分字节作为第一报文切片;如果剩余字节大于设定字节数且第二剩余时长小于或等于预设时长,则停止发送下一字节,进入空闲状态,等待第一时间窗结束,并将第一部分字节作为第一报文切片。其中,在将第一部分字节作为第一报文切片时,需添加4字节的循环多项式校验(cyclicredundancycheck,crc)字段,预设时长为预先设定的值,在一些实施例中,预设时长是根据需添加的crc字段的字节数设定的;预设时长大于发送4字节的crc字段所需的传输时长。在另一些实施例中,在设置预设时长时,还可以考虑报文切片与报文切片之间的间隔(inter-packetgap,ipg),即预设时长是根据需添加的crc字段的字节数和ipg设定的;crc字段为4字节,ipg可以是12字节,预设时长大于或等于发送16字节所需的传输时长。10.上述实施例中,逐一发送第一报文中的各字节,每发送一个字节,判断剩余字节和剩余时长是否满足发送下一字节的条件,如果剩余字节和剩余时长均满足发送下一字节的条件,则继续发送下一字节,以最大限度地缩短剩余时长。根据剩余时长尽力发送第一报文,通过循环迭代的方式自动选择最优的切分位置,充分利用第一时间窗的剩余时间,提高带宽利用率;同时,如果剩余字节等于设定字节数,则停止发送下一字节,以保证剩余字节可以作为一个报文切片在下面其他时间窗中发送,避免在第一时间窗的结束时刻,才发现剩余字节过短而无法进行切分,在下面其他时间窗中不能发送,造成第一报文存在信息丢失的问题。11.在另一种可能的实现方式中,在第一时间窗的第一剩余时长内,可以采用如下方式发送第一报文的第一部分字节:按照所述第一报文中各个字节的顺序发送第一报文中的n个字节;其中,n的值是根据第一剩余时长确定的,且发送n个字节所需的传输时长小于第一剩余时长。按照所述第一报文中各个字节的顺序分别发送第一报文中n个字节之后的各字节,每发送一个字节,确定第一报文中未发送的剩余字节和第二剩余时长;其中,第二剩余时长为自当前时刻至第一时间窗的结束时刻之间的时长。如果剩余字节大于第二设定字节数,且第二剩余时长大于预设时长,则继续发送下一字节;如果剩余字节等于设定字节数,则停止发送下一字节,进入空闲状态,等待第一时间窗结束;如果剩余字节大于设定字节数且第二剩余时长小于或等于预设时长,则停止发送下一字节,进入空闲状态,等待第一时间窗结束。12.上述实施例中,先确定第一剩余时长可发送的字节数,发送第一报文中的n个字节,n小于第一剩余时长可发送的字节数。发送n个字节后,再逐一发送第一报文中的各字节,每发送一个字节进行一次判断,以保证最终剩余字节可以作为一个报文切片在下面其他时间窗中发送,避免在第一时间窗的结束时刻,才发现剩余字节过短而无法进行切分,在下面其他时间窗中不能发送,造成第一报文存在信息丢失的问题的同时,还可以减少判断次数,减少计算资源的消耗,节约设备能耗。13.在一种可能的实现方式中,在发送所述第二报文之后,若第二时间窗内还存在第三剩余时长,则在第三剩余时长内发送第一报文中未发送的第二部分字节,从而可以在保证高优先级报文传输时效性的基础上,及时发送低优先级报文,并充分利用传输带宽资源。14.可选地,在第三剩余时长内发送第一报文的第二部分字节时,依然可以采用上述方法,先判断第三剩余时长是否足够发送第二部分字节,如果第三剩余时长不足够发送第二部分字节,但足够发送一个最短报文切片,可以采用上述方式先发送第二部分字节中的一部分,进一步提高带宽利用率。15.第二方面,本技术实施例提供一种电子设备,包括处理器和通信单元;通信单元用于电子设备与其他设备进行报文收发;处理器用于:16.确定在第一时间窗内存在待发送的第一报文,则确定第一剩余时长;第一时间窗用于发送第一优先级的报文;第一报文为第一优先级的报文;第一剩余时长为自第一报文的待发送时刻至第一时间窗的结束时刻之间的时长;若第一剩余时长大于或等于最小时长阈值且小于最大时长阈值,且第一报文包含的字节数大于或等于第一设定字节数,则在第一剩余时长内,控制通信单元发送第一报文的第一部分字节;最大时长阈值为发送第一报文所需的传输时长;最小时长阈值为发送网络支持的最短报文切片所需的传输时长;第一部分字节和第一报文中未发送的第二部分字节的字节数均大于或等于最短报文切片包含的字节数;17.确定在第二时间窗的开始时刻存在待发送的第二报文,则控制通信单元发送第二报文;第二时间窗用于发送第二优先级的报文;第二报文为第二优先级的报文;第二优先级高于所述第一优先级。18.在一种可能的实现方式中,处理器控制通信单元在所述第一剩余时长内,发送第一报文的第一部分字节时,具体用于:19.控制通信单元按照第一报文中各个字节的顺序分别发送第一报文中的各字节,每发送一个字节,确定第一报文中未发送的剩余字节和第二剩余时长;第二剩余时长为自所述一个字节发送完成时刻至所述第一时间窗的结束时刻之间的时长;若剩余字节大于第二设定字节数,且第二剩余时长大于预设时长,则控制通信单元继续发送下一字节;若剩余字节等于第二设定字节数,或当前时刻与第一时间窗的结束时刻之间不存在第二剩余时长,则控制通信单元停止发送下一字节,并等待第一时间窗结束。20.在另一种可能的实现方式中,处理器控制通信单元在所述第一剩余时长内,发送第一报文的第一部分字节时,具体用于:21.控制通信单元按照第一报文中各个字节的顺序发送第一报文中的n个字节;n的值是根据第一剩余时长确定的,且发送n个字节所需的传输时长小于第一剩余时长;控制通信单元按照第一报文中各个字节的顺序分别发送第一报文中n个字节之后的各字节,每发送一个字节,确定第一报文中未发送的剩余字节和第二剩余时长;第二剩余时长为自一个字节发送完成时刻至第一时间窗的结束时刻之间的时长;若剩余字节大于第二设定字节数,且第二剩余时长大于预设时长,则控制通信单元继续发送下一字节;若剩余字节等于第二设定字节数,或当前时刻与第一时间窗的结束时刻之间不存在第二剩余时长,则控制通信单元停止发送下一字节,并等待所述第一时间窗结束。22.在一种可能的实现方式中,处理器还可以在控制通信单元发送第二报文之后,若确定第二时间窗内还存在第三剩余时长,则控制通信单元在第三剩余时长内发送第一报文中未发送的第二部分字节。23.第三方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述第一方面任一种可能设计提出的方法。24.第四方面,本技术实施例提供一种计算机程序产品,包含有计算机可执行指令,该计算机可执行指令用于使计算机执行上述第一方面任一种可能设计提出的方法。25.上述第二方面至第四方面中任一方面可以达到的技术效果可以参照上述第一方面中有益效果的描述,此处不再重复赘述。附图说明26.图1为本技术实施例的一种应用场景的示意图;27.图2为通信系统中传输报文的两种调度模式的时序对比图;28.图3为一种相关技术中报文发送过程的时序图;29.图4为本技术实施例提供的一种数据传输方法的流程图;30.图5为本技术实施例提供的另一种数据传输方法的流程图;31.图6为本技术实施例提供的一种报文发送的时序图;32.图7为本技术实施例提供的另一种报文发送的时序图;33.图8为本技术实施例提供的一种报文切分的示意图;34.图9为本技术实施例提供的另一种报文发送的时序图;35.图10为本技术实施例提供的另一种报文发送的时序图;36.图11为本技术实施例提供的一种电子设备的结构示意图。具体实施方式37.为了使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本技术实施例进行详细描述。本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。38.在介绍本技术实施例提供的具体方案之前,对本技术中的部分用语进行解释说明,以便于本领域技术人员理解,并不对本技术中的用语进行限定。39.(1)tsn:tsn最初来源于视频领域的应用需求。由于通用以太网通常采用非同步方式工作,发送数据的时间既不精准也不确定,因此通用以太网技术仅仅是解决了设备共享网络基础设施和数据连接的问题,但却并不能很好的实现设备之间实时、确定和可靠的数据传输。而传输音频数据或视频数据的网络需要遵守严格的时序规则。如果音频数据或视频数据不能按指定的时序规则到达接收设备,则接收设备(例如视频屏幕或扬声器)可能会发生视频帧被丢弃、音频伪像的情况。此外,传输音频数据或视频数据的网络还需要可预测的延迟,为保证视频流和相关音频流之间的同步,tsn应运而生。40.tsn指的是在ieee802.1标准框架下,基于特定应用需求制定的一组“子标准”,旨在为以太网协议建立通用的时间敏感机制,以确保网络数据传输的时间确定性。tsn是一套协议标准,而不是一种协议,tsn由众多协议组成,这些协议是从多个角度多个方面为解决多个场景提出的很多思路的标准化集合,其实质是如何从时间管理的粒度去管理调度报文以及如何尽力保证高优先级报文传输的实时性,在不同的应用场景中达到最好的调度效率以及用户体验。也就是说,tsn将会为以太网协议的mac层提供一套通用的时间敏感机制,在确保以太网数据通讯的时间确定性的同时,为不同协议网络之间的互操作提供了可能性。41.时间敏感机制可以认为是一个概念,是作为一种网络部署的思路集合。简单理解即不管是对于网络规划或者部署,还是硬件的优先级流量规划,均需要考虑到时间因素。而在传统的网络部署中不管是网卡或者是路由器或交换机,其采用的均是不感知时间的调度。在网络数据的调度方式中,tsn一般称为是同步调度;相对的,一般的普通调度被称为异步调度。42.(2)同步调度:是与异步调度相对的概念。异步调度是指业务报文的调度或称为发送是与时间无关的,可以使用传统的整形或调度的方式进行业务报文的优先级管理。同步调度则是指业务报文的调度或称为发送是与时间相关的,例如a报文在t1时刻发送,b报文在t2时刻发送;如果报文是周期性的,那么报文可能每隔设定时间间隔(t2与t1之间的时间差)发送一次。同步调度可以根据报文的时间规律将报文分散在不同的时间段发送,从而保证不同的业务流量不会冲突,充分利用时间,提高效率,达到较好的业务性能以及用户体验。43.本技术实施例中“多个”是指两个或两个以上,鉴于此,本技术实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括a、b和c中的至少一个,那么包括的可以是a、b、c、a和b、a和c、b和c、或a和b和c。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。44.除非有相反的说明,本技术实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。45.本技术实施例提供的数据传输方法可以应用于支持tsn的通信系统中,该通信系统可以是各类通信系统,例如,可以是长期演进(longtermevolution,lte),也可以是第五代(5g)通信系统,也可以为通用地面无线接入(universalterrestrialradioaccess,utra)、演进的utra(e-utran)、新无线技术(newradio,nr)、gsm/edge无线接入网-电路交换域(gsmedgeradioaccessnetwork-circuitswitched,geran-cs)、gsm/edge无线接入网-数据交换域(gsmedgeradioaccessnetwork–packetswitched,geran-ps)、码分多址(codedivisionmultipleaccess,cdma)2000-1xrtt、和多无线接入技术双连接(multi-ratdual-connectivity,mr-dc)等,还可以是多种通信系统的混合架构,如lte与5g混合架构等。46.图1示出了一种通信系统的结构示意图,该通信系统可以包括至少一个第一设备100、至少一个第二设备300和至少一个网络设备200,各个设备共同组成通信网络。其中,网络设备200可以理解为通信网络中的中继节点,用于在各个设备之间传输数据或信息,示例性地,网络设备200可以是普通的基站(如nodeb或enb),可以是新无线控制器(newradiocontroller,nrcontroller),可以是5g系统中的gnodeb(gnb)或en-gnb,可以是集中式网元(centralizedunit),可以是新无线基站,可以是射频拉远模块,可以是微基站,可以是中继(relay),可以是分布式网元(distributedunit),可以是接收点(transmissionreceptionpoint,trp)或传输点(transmissionpoint,tp)或者任何其它无线接入设备,如交换机、路由器、网桥等,本技术实施例对此不作限定。47.在一些实施例中,第一设备100和第二设备300可以均是终端设备,示例性地,终端设备可以是能够接入以太网的编程逻辑控制器、数据采集装置等;或者,终端设备可以称之为用户设备(userequipment,ue),ue是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。常见的终端设备可以包括:手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobileinternetdevice,mid)、可穿戴设备,例如智能手表、智能手环、计步器等。48.在另一些实施例中,第一设备100和第二设备300可以一个是终端设备,另一个是核心网设备或服务器。核心网设备可以是移动性管理实体(mobilitymanagemententity,mme),可以是业务网关(servinggateway,sgw),也可以是5g系统中的接入管理功能(accessandmanagementfunction,amf)、用户面功能(userplanefunction,upf)等等,核心网设备可以提供进一步网络连接,例如电话网络和/或数据通信网络(例如internet)。基站可以通过通信链路与核心网设备连接。49.上述通信系统支持tsn,通信系统中的每个设备的时钟和时间均同步。tsn协议中的802.1qbv采用基于时间窗的调度机制,不同的业务报文分散在不同的时间窗内发送,从而达到从时间上错开报文冲突的目的。802.1qbv在下文中称为qbv调度模式。50.示例性地,如图2所示,假设存在0/1/2/3组成的报文队列,即该报文队列中包括业务报文0、业务报文1、业务报文2和业务报文3。之前的非qbv调度模式的调度发送可能就是先来先出,那么按照收到报文队列中各个业务报文的时间顺序,其输出顺序为业务报文1→业务报文0→业务报文2→业务报文3,即先来先出。51.而按照业务的实际需求,希望按业务报文0→业务报文1→业务报文2→业务报文3的顺序输出,且业务报文0希望在2点时输出,业务报文1希望在2点10分输出,业务报文2希望在2点20输出,业务报文3希望在2点30输出。此时非qbv调度模式或许可以做到按0~3的顺序输出业务报文,但是无法做到按精确的时间点输出。此时可以采用qbv调度模式,把时间按设定的规律划分为若干个时间窗,例如,每个时间窗10分钟。如图2所示:52.1000:表示2点到2点10分,此时间窗内只允许发送业务报文0;53.0100:表示2点10分到2点20,此时间窗内只允许发送业务报文1;54.0010:表示2点20分到2点30,此时间窗内只允许发送业务报文2;55.0001:表示2点30分到2点40,此时间窗内只允许发送业务报文3。56.在上述时间窗切分过程中,需要设定起始时间、窗口间隔和窗口内的开关状态。其中,起始时间可以设定为2点,表示从2点开始进行时间窗切分;窗口间隔可以理解为每个时间窗的时长,设定为10分钟;窗口内的开关状态是指在对应的时间窗内,允许输出哪些业务报文,例如按时间顺序,每个时间窗分别允许业务报文0~业务报文3输出。57.通过上述过程可以完成基于时间窗粒度的调度划分,各个报文队列可在其时间窗的边界时间(时间窗的开始时刻)处精确输出。然而仅仅划分时间窗,并不能完全保证各个时间窗之间的报文发送不受任何干扰。例如,如果前一时间窗需发送的第一报文较长,在前一时间窗结束时仍未发送完毕,则相邻的后一时间窗需发送的第二报文在后一时间窗开始时不能立即发送,而是需要等待第一报文发送完毕后再发送。58.网络中传输的业务报文可以包括高优先级业务对应的高优先级报文和低优先级业务对应的低优先级报文。示例性地,传输优先级高于设定优先级的业务报文可以称为高优先级报文(expresstraffic),高优先级报文对实时性要求较高,下文中称为e报文,传输优先级不高于设定优先级的业务报文可以称为低优先级报文(preemptabletraffic),下文中称为p报文。例如,高清视频的报文优先级往往高于网页新闻的报文优先级,故高清视频的报文可以是e报文,可以优先发送,网页新闻的报文可以是p报文,发送级别相对e报文较低。59.如图3所示,如果相邻的两个时间窗,前一时间窗用于传输p报文,可以称为p报文时间窗,后一时间窗用于传输e报文,可以称为e报文时间窗。若刚好在e报文时间窗的开始时刻之前不久,发生一次p报文传输且p报文很长,则在后一时间窗中e报文需要等待p报文发送完成才能继续发送。因此e报文的发送时间会比预期设置的时间(e报文时间窗的开始时刻)偏差较大,可能达到几十us。对于e报文,这种延时是不可接受的。如果为保证发送e报文的实时性,在前一时间窗的剩余时间不够发送p报文时,就不发送p报文,则也会造成报文传输带宽的浪费。60.基于此,本技术实施例提供一种数据传输方法,该方法包括:在用于发送p报文的第一时间窗内,若存在待发送的第一报文,则确定自第一报文的待发送时刻至第一时间窗的结束时刻之间的第一剩余时长,其中,第一报文为p报文。如果第一时间窗的剩余时长不足够发送待发送的低优先级报文,但足够发送一个最短报文切片,并且第一报文的报文长度满足可切分的条件,即第一报文可以被切分为至少两个最短报文切片,则可以在第一时间窗的剩余时长内先发送该低优先级报文的一部分字节。在用于发送e报文的第二时间窗的开始时刻,若存在待发送的第二报文,则发送该第二报文;其中,第二时间窗为与第一时间窗相邻的下一个时间窗,第二报文为e报文,e报文的优先级高于p报文的优先级。通过上述过程,可以保证在第二时间窗的开始时刻准时发送e报文,从而减少e报文的传输延时,提高e报文的传输时效性。同时,与剩余时长不够就不发送p报文相比,在第一时间窗的剩余时长内先发送p报文的一部分字节,还可以最大化利用第一时间窗的剩余时间,提高带宽利用率,提高数据传输性能。61.图4示出了本技术实施例提供的一种数据传输方法的流程图,该数据传输方法可以由支持tsn的通信系统中的任一设备或任一节点执行,例如,可以由图1中的任意一个设备执行。如图4所示,该方法可以包括如下步骤:62.s401,在第一时间窗内,存在待发送的第一报文时,确定第一剩余时长。63.上文中已经介绍,tsn采用基于时间窗的调度机制,将时间切分为多个时间窗,把不同的业务报文分散在不同的时间窗内发送。其中,第一时间窗为用于发送p报文的时间窗,第一报文为p报文,第一剩余时长指自第一报文的待发送时刻至第一时间窗的结束时刻之间的时长。64.s402,判断第一剩余时长是否小于最大时长阈值;如果是,则执行步骤s404;如果否,则执行步骤s403。65.其中,最大时长阈值为发送第一报文所需的传输时长。示例性地,可以根据第一报文的报文长度和报文传输速率确定发送第一报文所需的传输时长,第一报文的报文长度指第一报文包含的字节数。66.s403,直接发送第一报文。67.如果第一剩余时长大于或等于最大时长阈值,说明第一剩余时长足够发送第一报文,则直接发送完整的第一报文,第一报文发送完成后,进入空闲状态。68.s404,判断第一剩余时长是否大于等于最小时长阈值;如果是,则执行步骤s406;如果否,则执行步骤s405。69.其中,最小时长阈值为发送网络所支持的最短报文切片所需的传输时长。如果第一剩余时长小于最大时长阈值,不足够发送第一报文,可以考虑将第一报文切分为至少两个报文切片进行发送,在第一剩余时长内可以先发送其中至少一个报文切片。此时,需要判断第一剩余时长是否足够发送一个最短报文切片,最短报文切片的长度可以根据不同网络的特性或网络协议的要求设定,不同的网络,最短报文切片的长度可以不同。示例性地,根据最短报文切片的长度和报文传输速率,可以确定发送最短报文切片所需的传输时长。70.s405,不发送第一报文,进入空闲状态。71.如果第一剩余时长小于最小时长阈值,说明第一剩余时长不足够发送一个最短报文切片,则不发送第一报文,进入空闲状态,等待第二时间窗的开始时刻。72.s406,判断第一报文包含的字节数是否大于等于第一设定字节数;如果是,则执行步骤s407;如果否,则执行步骤s405。73.其中,第一设定字节数是根据网络所支持的最短报文切片所包含的报文字节数确定的,可选地,第一设定字节数可以是最短报文切片所包含的报文字节数的两倍,或者,第一设定字节数可以是最短报文切片所包含的报文字节数与网络协议设定的最小字节数的和。74.如果第一剩余时长不足够发送第一报文,且第一报文的报文长度较短,小于第一设定字节数,不满足可切分的条件,则不发送第一报文,进入空闲状态,等待第二时间窗的开始时刻。75.上述步骤s402、s404和s406的执行顺序可以调换。例如,在另一些实施例中,可以按照步骤s402、s406、s404的顺序执行,即先判断第一剩余时长是否足够发送第一报文,再判断第一报文是否满足可切分条件,再判断第一剩余时长是否足够发送一个最短报文切片。76.s407,发送第一报文的第一部分字节。77.如果第一剩余时长不足够发送第一报文,但足够发送一个最短报文切片,且第一报文满足可切分条件,则可以在第一时间窗内发送第一报文的第一部分字节。其中,第一部分字节和第一报文中未在第一时间窗发送的第二部分字节的字节数均大于或等于最短报文切片包含的字节数。78.s408,在第二时间窗的开始时刻,若存在待发送的第二报文,则发送第二报文。79.其中,第二时间窗与第一时间窗为相邻的两个时间窗,第二时间窗位于第一时间窗之后,第二时间窗为用于发送e报文的时间窗,第二报文为e报文。在第二报文发送完成之后,如果第二时间窗内还存在第三剩余时长,则可以在第三剩余时长内发送第一报文中未发送的第二部分字节。80.可选地,在第三剩余时长内发送第一报文的第二部分字节时,依然可以采用上述方法,先判断第三剩余时长是否足够发送第二部分字节,如果第三剩余时长不足够发送第二部分字节,但足够发送一个最短报文切片,可以采用上述方式先发送第二部分字节中的一部分,进一步提高带宽利用率。81.本技术实施例提供的数据传输方法,如果第一时间窗的剩余时长不足够发送待发送的低优先级报文,但足够发送一个最短报文切片,并且该低优先级报文的报文长度满足可切分的条件,则可以在第一时间窗的剩余时长内先发送该低优先级报文的一部分字节,以保证在第二时间窗的开始时刻准时发送高优先级报文,从而减少高优先级报文的传输延时,提高高优先级报文的传输时效性。同时,与剩余时长不够就不发送低优先级报文相比,在第一时间窗的剩余时长内先发送低优先级报文的一部分字节,还可以充分利用第一时间窗的剩余时间,提高带宽利用率,提高数据传输性能。82.在一些实施例中,上述步骤s407中,发送第一报文的第一部分字节,可以通过如下方式实现:逐一发送第一报文中的各字节,每发送一个字节,确定第一报文中未发送的剩余字节和第二剩余时长;第二剩余时长为自所述一个字节发送完成时刻至第一时间窗的结束时刻之间的时长。如果剩余字节大于第二设定字节数,且第二剩余时长大于预设时长,则继续发送下一字节;其中,第二设定字节数可以是最短报文切片包含的字节数,设置第二设定字节数的目的是保证上述第二部分字节可以作为一个报文切片发送,即上述第二部分字节的字节数大于或等于最短报文切片包含的字节数。如果剩余字节等于设定字节数,则停止发送下一字节,进入空闲状态,等待第一时间窗结束,并将第一部分字节作为第一报文切片;如果剩余字节大于设定字节数且第二剩余时长小于或等于预设时长,则停止发送下一字节,进入空闲状态,等待第一时间窗结束,并将第一部分字节作为第一报文切片。其中,预设时长为预先设定的值。在将第一部分字节作为第一报文切片时,需添加4字节的crc字段,在一些实施例中,预设时长大于发送4字节的crc字段所需的传输时长。在另一些实施例中,在设置预设时长时,还可以考虑ipg,ipg可以是12字节,即预设时长大于或等于发送16字节所需的传输时长。83.上述实施例中,逐一发送第一报文中的各字节,每发送一个字节,判断剩余字节和剩余时长是否满足发送下一字节的条件,如果剩余字节和剩余时长均满足发送下一字节的条件,则继续发送下一字节,以最大限度地缩短剩余时长,根据剩余时长尽力发送第一报文,通过循环迭代的方式自动选择最优的切分位置,充分利用第一时间窗的剩余时间,提高带宽利用率;同时,如果剩余字节等于设定字节数,则停止发送下一字节,以保证第二部分字节可以作为一个最短报文切片发送,避免在第一时间窗的结束时刻,才发现剩余的第二部分字节过短无法进行切分或发送的问题,进而导致传输第一报文时出现信息丢弃的问题。84.在另一些实施例中,上述步骤s407中,发送第一报文的第一部分字节,可以通过如下方式实现:发送第一报文中的n个字节;其中,n的值是根据第一剩余时长确定的,且发送n个字节所需的传输时长小于第一剩余时长。逐一发送第一报文中n个字节之后的各字节,每发送一个字节,确定第一报文中未发送的剩余字节和第二剩余时长;其中,第二剩余时长为自一个字节发送完成时刻至第一时间窗的结束时刻之间的时长。如果剩余字节大于第二设定字节数,且第二剩余时长大于预设时长,则继续发送下一字节;如果剩余字节等于设定字节数,则停止发送下一字节,进入空闲状态,等待第一时间窗结束;如果剩余字节大于设定字节数且第二剩余时长小于或等于预设时长,则停止发送下一字节,进入空闲状态,等待第一时间窗结束。85.上述实施例中,先确定第一剩余时长可发送的字节数,发送第一报文中的n个字节,n小于第一剩余时长可发送的字节数。发送n个字节后,再逐一发送第一报文中的各字节,每发送一个字节进行一次判断,可以在避免剩余的第二部分字节过短无法进行切分或发送的问题的同时,可以减少判断次数,减少计算资源的消耗,节约设备能耗。86.此外,在上述步骤408最后,在第二报文发送完成之后,如果第二时间窗内还存在第三剩余时长,则可以在第三剩余时长内发送第一报文中未发送的第二部分字节。从而在保证高优先级报文传输及时性的基础上,可以尽可能及时发送第一报文中的剩余字节,提高低优先级业务的性能。87.为更方便理解本技术实施例提供的技术方案,下文通过一个详细的具体实例说明本技术实施例提供的数据传输方法,如图5所示,该方法可以包括如下步骤:88.s501,进入用于传输p报文的p报文时间窗的空闲状态。89.如果当前正处于用于发送p报文的p报文时间窗内,相邻的后一时间窗为e报文时间窗,且当前没有任何p报文需要发送,则进入p报文时间窗的空闲状态。90.s502,若检测到待传输p报文,判断剩余时长是否足够发送该待传输p报文;若是,则执行步骤s503;若否,则执行步骤s504。91.其中,剩余时长是指自当前时刻至该p报文时间窗的结束时刻或相邻的后一e报文时间窗的开始时刻之间的时间长度。92.在一种实施例中,可以根据待传输p报文的报文长度和报文传输速率,确定发送该待传输p报文所需的传输时长,其中,报文长度指报文所包含的字节数。93.如果剩余时长大于或等于发送待传输p报文所需的传输时长,则确定剩余时长足够发送该待传输p报文;如果剩余时长小于发送该待传输p报文所需的传输时长,则确定剩余时长不足够发送该待传输p报文。94.在另一种实施例中,可以根据剩余时长和报文传输速率,确定剩余时长可以发送的最大字节数,如果最大字节数大于或等于发送待传输p报文的报文长度,则确定剩余时长足够发送该待传输p报文;如果最大字节数小于发送待传输p报文的报文长度,则确定剩余时长不足够发送该待传输p报文。例如,假设剩余时长可以发送的最大字节数为110字节,如果待传输p报文的报文长度为70字节,则剩余时长足够发送该待传输p报文;如果待传输p报文的报文长度为130字节,则剩余时长不足够发送该待传输p报文。95.s503,直接发送待传输p报文。96.如图6所示,如果剩余时长足够发送该待传输p报文,则发送该待传输p报文,并在发送完成后,返回s501,重新进入空闲状态。97.s504,判断待传输p报文是否满足切分条件;若是,则执行步骤s505;若否,则返回步骤s501。98.其中,切分条件包括报文长度达到设定长度。如果待传输p报文不满足切分条件,则暂不发送该待传输p报文,重新进入p报文时间窗的空闲状态,以保证在相邻的后一e报文时间窗的开始时刻可以立即发送e报文。如图7所示,从当前时刻至该p报文时间窗的结束时刻之间的这段处于空闲状态的时间段可以称为动态隔离带,或者说,从当前时刻至相邻的后一e报文时间窗的开始时刻之间的这段处于空闲状态的时间段可以称为动态隔离带。隔离带指将发送p报文的时间段与发送e报文的时间段间隔开的一段时间,在本技术实施例中,不同的p报文时间窗内,隔离带的时间长度不同,该时间长度是根据对应的p报文时间窗内需要发送的p报文确定的,是动态变化的,因此称为动态隔离带。99.如果待传输p报文满足切分条件,可以将待传输p报文切分为至少两个报文切片,在该p报文时间窗内先发送至少一个报文切片,以保证在相邻的后一e报文时间窗的开始时刻可以立即发送e报文,可以在e报文发送结束后,再发送待传输p报文的尚未发送的其他报文切片。上述报文发送模式可以称为帧抢占模式,在帧抢占模式下,p报文的发送过程可以被e报文插入打断,优先保证e报文的及时发送。p报文也可以理解为可以被帧抢占的报文;e报文也可以理解为可以抢占其他报文优先发送。100.在一种实施例中,设定长度可以是120字节。由于以太网的特性,报文切片不能小于64字节,而一个报文至少有120字节才可以保证可以切出2个大于64字节的报文切片。例如,如图8所示,对于一个120字节的p报文,切分后可以得到两个60字节的报文切片,每个报文切片在物理层会添加4字节的crc字段,可以达到64字节。而对于一个119字节的报文,切分后可以得到一个60字节的报文切片和一个59字节的报文切片,60字节的报文切片添加4字节的crc字段之后可以达到64字节,是一个合法的报文切片,而59字节的报文切片即使添加4字节的crc字段之后,也只能到63字节,无法达到64字节,而小于64字节的报文切片属于非法报文切片,因此119字节的报文长度太短,不够切分为至少2个64字节的报文切片,不满足切分条件。也可以理解为,报文切分后的剩余字节不允许小于60字节。也就是说,设定长度是最短报文切片所包含的报文字节数60字节的两倍。101.在另一种实施例中,设定长度可以是140字节,即设定长度是最短报文切片所包含的报文字节数与网络协议设定的最小字节数的和,其中,最短报文切片所包含的报文字节数可以是60字节,网络协议设定的最小字节数可以是80字节。102.s505,判断剩余时长是否足够发送一个最短报文切片;若是,则执行步骤s506;若否,则返回步骤s501。103.判断剩余时长是否大于或等于最小时长阈值其中,最小时长阈值是根据发送一个最短报文切片所需的传输时长确定的,根据上文记载,最短报文切片的长度可以是64字节。根据最短报文切片的长度64字节和报文传输速率,可以确定发送一个最短报文切片所需的传输时长,最小时长阈值可以是发送一个最短报文切片所需的传输时长,或者,最小时长阈值可以在发送一个最短报文切片所需的传输时长的基础上,加上一个接近于0的值,以使最小时长阈值略大于发送一个最短报文切片所需的传输时长;或者,在设置最小时长阈值时,还可以考虑ipg,ipg可以是12字节,即最小时长阈值可以在发送一个最短报文切片所需的传输时长的基础上,加上发送12字节所需的传输时长。104.如果剩余时长小于最小时长阈值,说明剩余时长不足够发送一个报文切片,则暂不发送该待传输p报文,重新进入p报文时间窗的空闲状态。105.如果剩余时长大于或等于最小时长阈值,则可以按照如下步骤发送待传输p报文。106.在另一些实施例中,步骤s504和步骤s505的执行顺序可以调换。即可以先判断剩余时长是否足够发送一个最短报文切片,如果剩余时长足够发送一个最短报文切片,再判断待传输p报文是否满足切分条件。107.s506,按顺序发送待传输p报文中的一个字节。108.如果待传输p报文满足切分条件,并且剩余时长大于或等于最小时长阈值,则逐一发送待传输p报文中的各字节,每发送一个字节,执行一次如下的判断操作。109.s507,判断剩余字节是否大于设定字节数阈值;若是,则执行步骤s508;若否,则执行步骤s509。110.其中,剩余字节指待传输p报文中尚未发送的字节。示例性地,设定字节数阈值可以是60字节。111.s508,判断剩余时长是否大于预设时长;若是,则返回执行步骤s506;若否,则执行步骤s509。112.在一些实施例中,考虑到将待传输p报文进行切分后,得到的每个报文切片均需要添加4字节的crc字段,预设时长至少需要足够发送添加的4个字节。在另一些实施例中,在设置预设时长时,还可以考虑ipg,ipg可以是12字节,即预设时长大于或等于发送16字节所需的传输时长。113.如果剩余字节大于60字节,且剩余时长大于预设时长,说明还可以继续发送至少一个字节,则返回步骤s506,继续发送待传输p报文中的下一字节。114.在另一些实施例中,步骤s507和步骤s508的执行顺序可以调换。即可以先判断剩余时长是否大于预设时长,如果剩余时长大于预设时长,再判断剩余字节是否大于设定字节数。115.每发送一个字节做一次判断,可以在p报文时间窗的范围内尽可能发送最多的字节,最大化利用当前的带宽效率。116.s509,对待传输p报文进行切分处理。117.将待传输p报文中已发送的字节作为第一报文切片,即p报文1,将剩余字节作为第二报文切片,其中,第二报文切片为待发送报文切片,即暂不发送第二报文切片,进入空闲状态,等待p报文时间窗结束,e报文时间窗的开始时刻,并在e报文时间窗的开始时刻发送e报文,可以等待e报文发送结束后,再发送第二报文切片,即p报文2。118.如果剩余字节不大于60字节,即剩余字节等于60字节,则说明虽然还存在一些剩余时长,例如还存在可以发送40字节的剩余时长,但剩余字节不能再减少。如果再减少,则剩余字节只剩59字节,不满足报文切分后的剩余字节不允许小于60字节的要求,因此,剩余字节等于60字节时,即使剩余时长还较多,也不再继续发送下一字节,而是结束发送,对待传输p报文进行切分处理,将待传输p报文中已发送的字节作为第一报文切片。如图9所示,结束发送后,重新进入空闲状态,此时与相邻的后一e报文时间窗的开始时刻之间仍存在一段时间的动态隔离带。119.如果剩余时长小于或等于预设时长,由于预设时长接近于0,说明剩余时长已经接近于0,不足够再发送下一个字节,此时结束发送,对待传输p报文进行切分处理,将待传输p报文中已发送的字节作为第一报文切片。如图10所示,结束发送后,重新进入空闲状态,此时与相邻的后一e报文时间窗的开始时刻之间隔离带很小,可以忽略不计;可以认为前一时间窗p报文和后一时间窗的e报文紧密衔接发送。120.图5所示的上述步骤为电子设备的应用层执行的步骤。应用层在将待传输p报文切分为第一报文切片和第二报文切片时,可以在第二报文切片的首个字节之前设置分片标志;或者,应用层可以向物理层发送分片消息,以使物理层在第一报文切片的最后一个字节之后添加分片结束标志。物理层还可以为第一报文切片添加4字节的crc字段,并发送添加的4字节的crc字段。121.通过上述过程,可以将待传输p报文分为至少两个报文切片进行传输,接收设备接收到待传输p报文的至少两个报文切片后,可以根据分片标志等信息进行切片重组操作,得到完整的待传输p报文。122.上述实施例中,设定长度、设定字节数、最小时长阈值和预设时长均是根据以太网中传输数据的通信协议需求设置的,在其他通信网络中,也可以根据其他通信协议的需求设置。123.上述实施例的技术方案,可以在保证e报文传输延时精确的情况下,带宽利用率达到最优,同时达到性能与带宽的最佳收益。124.与上述方法实施例基于相同的发明构思,本技术实施例中还提供一种电子设备,该电子设备可以是图1中所示的任一设备。该电子设备可以用于实现图4或图5所示的方法实施例的功能,因此可以实现上述方法实施例所具备的有益效果。125.在一些实施例中,该电子设备1100的结构可以如图11所示,包括处理器1101以及与处理器1101连接的一个或多个通信单元1102。处理器1101和通信单元1102之间可以通过总线相互连接,处理器1101可以是通用处理器,如微处理器,或其他常规的处理器。总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。126.通信单元1102用于在处理器1101的控制下发送或接收报文。通信单元1102可以理解为收发机或数据收发接口,电子设备1100的通信单元1102中可以包括多个收发机,不同的收发机可以与不同的发送设备或接收设备连接。例如,电子设备1100可以通过一个收发机接收发送设备发送的数据报文,通过另一个收发机将给数据报文发送给相应的接收设备。127.在一种实施例中,电子设备1100中的处理器1101用于运行计算机指令或者程序,执行图4所示的方法实施例中的功能。当电子设备1100用于实现图4所示的方法时,处理器1101用于:在确定在第一时间窗内存在待发送的第一报文,则确定第一剩余时长;第一时间窗用于发送第一优先级的报文;第一报文为第一优先级的报文;第一剩余时长为自第一报文的待发送时刻至第一时间窗的结束时刻之间的时长;若第一剩余时长大于或等于最小时长阈值且小于最大时长阈值,且第一报文包含的字节数大于或等于第一设定字节数,则在第一剩余时长内,控制通信单元1102发送第一报文的第一部分字节;最大时长阈值为发送第一报文所需的传输时长;最小时长阈值为发送网络支持的最短报文切片所需的传输时长;第一报文中未发送的第二部分字节的字节数大于或等于最短报文切片包含的字节数;确定在第二时间窗的开始时刻,存在待发送的第二报文,则控制通信单元1102发送第二报文;第二时间窗用于发送第二优先级的报文;第二报文为第二优先级的报文;第二优先级高于所述第一优先级。128.在一种实施例中,电子设备1100还可以包括存储器,存储器用于存储处理器1101执行的指令或程序,或存储处理器1101运行指令或程序所需要的输入数据,或存储处理器1101运行指令或程序后产生的数据。处理器1101可以包括一个或多个处理单元,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器1101中还可以包括控制器,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。129.在另一种实施例中,电子设备1100内部可以不包括存储器,在需要存储器时,可以通过耦合的方式读取存储器中的计算机程序或指令并进行执行。130.可以理解的是,本技术实施例示意的结构并不构成对交换机的具体限定。在本技术另一些实施例中,交换机可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。131.本技术的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行计算机程序或指令的方式来实现。计算机程序或指令可以构成计算机程序产品。本技术实施例还提供一种计算机程序产品,包含有计算机可执行指令。在一种实施例中,该计算机可执行指令用于使计算机执行图4或图5所示的方法实施例中的功能。132.计算机可执行指令可以被存放于计算机可读存储介质中,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有可执行指令。在一种实施例中,该计算机可执行指令用于使计算机执行图4或图5所示的方法实施例中的功能。133.本技术实施例提供的计算机可读存储介质可以是随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的计算机可读存储介质。134.计算机可执行指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digitalvideodisc,dvd);还可以是半导体介质,例如,固态硬盘。135.在本技术的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。136.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的方案进行示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。137.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术实施例的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。当前第1页12当前第1页12
技术特征:
1.一种数据传输方法,其特征在于,包括:在第一时间窗内,若存在待发送的第一报文,则确定第一剩余时长;所述第一时间窗用于发送第一优先级的报文;所述第一报文为第一优先级的报文;所述第一剩余时长为自所述第一报文的待发送时刻至所述第一时间窗的结束时刻之间的时长;若第一剩余时长大于或等于最小时长阈值且小于最大时长阈值,且所述第一报文包含的字节数大于或等于第一设定字节数,则在所述第一剩余时长内,发送所述第一报文的第一部分字节;所述最大时长阈值为发送所述第一报文所需的传输时长;所述最小时长阈值为网络支持的最短报文切片所需的传输时长;所述第一报文中未发送的第二部分字节的字节数大于或等于所述最短报文切片包含的报文字节数;在第二时间窗的开始时刻,若存在待发送的第二报文,则发送所述第二报文;所述第二时间窗用于发送第二优先级的报文;所述第二报文为第二优先级的报文;所述第二优先级高于所述第一优先级,所述第二时间窗为所述第一时间窗相邻的下一时间窗。2.根据权利要求1所述的方法,其特征在于,在所述第一剩余时长内,发送所述第一报文的第一部分字节,包括:按照所述第一报文中各个字节的顺序分别发送所述第一报文中的各字节,每发送一个字节,确定所述第一报文中未发送的剩余字节和第二剩余时长;所述第二剩余时长为当前时刻至所述第一时间窗的结束时刻之间的时长;若所述剩余字节大于第二设定字节数,且所述第二剩余时长大于预设时长,则继续发送下一字节;所述第二设定字节数为所述最短报文切片包含的字节数;若所述剩余字节等于所述第二设定字节数,或所述第二剩余时长小于或等于预设时长,则停止发送下一字节,并等待所述第一时间窗结束。3.根据权利要求1所述的方法,其特征在于,在所述第一剩余时长内,发送所述第一报文的第一部分字节,包括:按照所述第一报文中各个字节的顺序发送所述第一报文中的n个字节;所述n的值是根据所述第一剩余时长确定的,且发送所述n个字节所需的传输时长小于所述第一剩余时长;按照所述第一报文中各个字节的顺序分别发送所述第一报文中所述n个字节之后的各字节,每发送一个字节,确定所述第一报文中未发送的剩余字节和第二剩余时长;所述第二剩余时长为当前时刻至所述第一时间窗的结束时刻之间的时长;若所述剩余字节大于第二设定字节数,且所述第二剩余时长大于预设时长,则继续发送下一字节;所述第二设定字节数为所述最短报文切片包含的字节数;若所述剩余字节等于第二设定字节数,或第二剩余时长小于或等于预设时长,则停止发送下一字节,并等待所述第一时间窗结束。4.根据权利要求1~3中任一项所述的方法,其特征在于,所述确定第一剩余时长之后,所述方法还包括:若所述第一剩余时长大于或等于所述最大时长阈值,则在所述第一剩余时长内,发送所述第一报文;若所述第一剩余时长小于所述最小时长阈值,则等待所述第一时间窗结束。5.根据权利要求1~4中任一项所述的方法,其特征在于,所述发送所述第二报文之后,所述方法还包括:
若确定所述第二时间窗内还存在第三剩余时长,则在所述第三剩余时长内发送所述第一报文中未发送的所述第二部分字节。6.一种电子设备,其特征在于,包括处理器和通信单元;所述通信单元,用于所述电子设备与其他设备进行报文收发;所述处理器用于:确定在第一时间窗内存在待发送的第一报文,则确定第一剩余时长;所述第一时间窗用于发送第一优先级的报文;所述第一报文为第一优先级的报文;所述第一剩余时长为自所述第一报文的待发送时刻至所述第一时间窗的结束时刻之间的时长;若第一剩余时长大于或等于最小时长阈值且小于最大时长阈值,且所述第一报文包含的字节数大于或等于第一设定字节数,则在所述第一剩余时长内,控制所述通信单元发送所述第一报文的第一部分字节;所述最大时长阈值为发送所述第一报文所需的传输时长;所述最小时长阈值为发送网络支持的最短报文切片所需的传输时长;所述第一报文中未发送的第二部分字节的字节数大于或等于所述最短报文切片包含的报文字节数;确定在第二时间窗的开始时刻存在待发送的第二报文,则控制所述通信单元发送所述第二报文;所述第二时间窗用于发送第二优先级的报文;所述第二报文为第二优先级的报文;所述第二优先级高于所述第一优先级,所述第二时间窗为所述第一时间窗相邻的下一时间窗。7.根据权利要求6所述的电子设备,其特征在于,所述处理器控制所述通信单元在所述第一剩余时长内,发送所述第一报文的第一部分字节时,具体用于:控制所述通信单元按照所述第一报文中各个字节的顺序分别发送所述第一报文中的各字节;每发送一个字节,确定所述第一报文中未发送的剩余字节和第二剩余时长;所述第二剩余时长为当前时刻至所述第一时间窗的结束时刻之间的时长;若所述剩余字节大于第二设定字节数,且所述第二剩余时长大于预设时长,则控制所述通信单元继续发送下一字节;所述第二设定字节数为所述最短报文切片包含的字节数;若所述剩余字节等于所述第二设定字节数,或第二剩余时长小于或等于预设时长,则控制所述通信单元停止发送下一字节,并等待所述第一时间窗结束。8.根据权利要求6所述的电子设备,其特征在于,所述处理器控制所述通信单元在所述第一剩余时长内,发送所述第一报文的第一部分字节时,具体用于:控制所述通信单元按照所述第一报文中各个字节的顺序发送所述第一报文中的n个字节;所述n的值是根据所述第一剩余时长确定的,且发送所述n个字节所需的传输时长小于所述第一剩余时长;控制所述通信单元按照所述第一报文中各个字节的顺序分别发送所述第一报文中所述n个字节之后的各字节,每发送一个字节,确定所述第一报文中未发送的剩余字节和第二剩余时长;所述第二剩余时长为当前时刻至所述第一时间窗的结束时刻之间的时长;若所述剩余字节大于第二设定字节数,且所述第二剩余时长大于预设时长,则控制所述通信单元继续发送下一字节;所述第二设定字节数为所述最短报文切片包含的字节数;若所述剩余字节等于第二设定字节数,或第二剩余时长小于或等于预设时长,则控制所述通信单元停止发送下一字节,并等待所述第一时间窗结束。
9.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~5中任一项所述的方法。10.一种计算机程序产品,其特征在于,包含有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1~5中任一项所述的方法。
技术总结
本申请公开了一种数据传输方法、电子设备和存储介质,涉及通信技术领域。在本申请中,如果第一时间窗的剩余时长不足够发送待发送的低优先级报文,但足够发送一个最短报文切片,并且该低优先级报文的报文长度满足可切分的条件,则可以在第一时间窗的剩余时长内先发送该低优先级报文的一部分字节,以保证在第二时间窗的开始时刻准时发送高优先级报文,从而减少高优先级报文的传输延时抖动,提高高优先级报文的传输时效性。同时,与剩余时长不够就不发送低优先级报文相比,在第一时间窗的剩余时长内先发送低优先级报文的一部分字节,还可以充分利用第一时间窗的剩余时间,提高带宽利用率,提高数据传输性能。提高数据传输性能。提高数据传输性能。
技术研发人员:沈岚
受保护的技术使用者:华为技术有限公司
技术研发日:2022.03.04
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/