数据流的发送方法、装置、存储介质和电子装置与流程

未命名 07-14 阅读:132 评论:0


1.本发明实施例涉及数据处理领域,具体而言,涉及一种数据流的发送方法、装置、存储介质和电子装置。


背景技术:

2.近年来,随着信息化技术的快速发展,越来越多个领域应用网络交换芯片进行数据处理,并对处理后的数据进行转发,同时也造成了网络环境中网络数据的日益增多,因此网络交换设备也就面临着数据流吞吐量巨大的问题,在实际使用时,各个数据流的数据类型和带宽可能较为复杂多样,面对如此复杂的网络环境,网络交换设备在处理数量巨大的数据流时常常面临着数据处理拥塞的问题,进而影响数据流的时序,或者即便不拥塞但是如果处理不当也会对数据流的时序造成影响,进而会影响服务质量,导致网络交换设备处理后的数据流的抖动过大。
3.针对相关技术中存在的网络交换设备发送的数据流的抖动较大的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种数据流的发送方法、装置、存储介质和电子装置,以至少解决相关技术中存在的网络交换设备发送的数据流的抖动较大的问题。
5.根据本发明的一个实施例,提供了一种数据流的发送方法,包括:获取交换设备中待发送的多个数据流,其中,所述多个数据流来自所述交换设备的多个数据接收端口;确定与所述多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,所述发送时间集合用于将所述多个数据流在发送过程中产生的抖动值降低至小于目标抖动值;按照所述发送时间集合发送所述多个数据流。
6.可选的,所述确定与所述多个数据流中的每个数据流匹配的目标发送时间,包括:获取所述每个数据流的参考发送时间,以及获取所述多个数据流的目标发送延迟,其中,所述参考发送时间用于指示所述每个数据流的预期发送的时间;将所述目标发送延迟确定为所述参考发送时间的延迟时间,得到所述每个数据流的所述目标发送时间。
7.可选的,所述获取所述多个数据流的目标发送延迟,包括:获取所述每个数据流的参考发送延迟,得到多个参考发送延迟;将所述多个参考发送延迟中满足目标延迟条件的参考发送延迟确定为所述目标发送延迟。
8.可选的,所述获取所述每个数据流的参考发送延迟,包括:根据所述每个数据流对应的传输所需的时钟周期个数和所述交换设备的时钟频率确定所述每个数据流的参考传输时延,其中,所述时钟周期个数为所述交换设备对所述每个数据流进行数据处理的时钟周期,所述参考传输时延用于指示从所述交换设备的缓存中读取所述每个数据流到数据流到达输出控制的处理的时延;将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟,其中,所述参考汇聚时延是根据所述交换设备包括的数据接收
端口的端口数和所述交换设备的时钟频率确定的,所述参考汇聚时延用于指示所述交换设备包括的数据接收端口间数据汇聚产生的抖动时延。
9.可选的,所述根据所述每个数据流对应的所需时钟周期个数和所述交换设备的时钟频率确定所述每个数据流的参考传输时延,包括:将所述时钟周期与所述每个数据流对应的处理所需的时钟周期个数的乘积确定为所述每个数据流的参考传输时延;在所述将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟之前,所述方法还包括:获取所述端口数目;将所述时钟周期与所述的端口数目减1的乘积确定为所述参考汇聚时延。
10.可选的,所述按照所述发送时间集合发送所述多个数据流,包括:获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的先后顺序从所述多个数据流中获取当前待发送的目标数据流;在所述当前系统时间大于或等于所述目标数据流的所述目标发送时间的情况下,发送所述目标数据流。
11.可选的,在所述获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的先后顺序从所述多个数据流中获取当前待发送的目标数据流之后,所述方法还包括:在所述当前系统时间小于所述目标数据流的所述目标发送时间的情况下,控制所述目标数据流进行等待;在获取到的当前系统时间达到所述目标数据流的所述目标发送时间时,发送所述目标数据流。
12.根据本发明的又一个实施例,还提供了一种数据流的发送装置,包括:第一获取模块,用于获取交换设备中待发送的多个数据流,其中,所述多个数据流来自所述交换设备的多个数据接收端口;第一确定模块,用于确定与所述多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,所述发送时间集合用于将所述多个数据流在发送过程中产生的抖动值降低至小于目标抖动值;第一发送模块,用于按照所述发送时间集合发送所述多个数据流。
13.根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
14.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
15.通过本发明,通过获取交换设备中待发送的多个数据流,其中,多个数据流来自交换设备的多个数据接收端口;确定与多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,发送时间集合用于将多个数据流在发送过程中产生的抖动值降低至小于目标抖动值;按照发送时间集合发送多个数据流,即,为交换设备的多个数据接收端口获取的多个数据流设置目标发送时间,进而得到多个数据接收端口的数据流的发送时间集合,通过对多个数据流按照该发送时间集合进行发送,从而使得多个数据接收端口的数据流具有统一的发送时延,从而避免了交换设备因拥塞导致的数据流处理的抖动问题,因此,解决了相关技术中存在的网络交换设备发送的数据流的抖动较大的问题,达到了降低网络交换设备发送的数据流的抖动的效果。
附图说明
16.图1是本发明实施例的数据流的发送方法的移动终端硬件结构框图;
17.图2是根据本发明实施例的数据流的发送方法的流程图;
18.图3是根据本发明实施例的一种可选的多个数据流发送示意图;
19.图4是根据本发明实施例的一种可选的数据流发送流程图;
20.图5是根据本发明实施例的一种可选的数据流时延示意图;
21.图6是根据本发明实施例的一种可选的门控列表示意图;
22.图7是根据本发明实施例的数据流的发送装置的结构框图。
具体实施方式
23.下文中将参考附图并结合实施例来详细说明本发明的实施例。
24.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
25.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的数据流的发送方法的移动终端硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
26.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据流的发送方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
27.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
28.在本实施例中提供了一种数据流的发送方法,图2是根据本发明实施例的数据流的发送方法的流程图,如图2所示,该流程包括如下步骤:
29.步骤s202,获取交换设备中待发送的多个数据流,其中,所述多个数据流来自所述交换设备的多个数据接收端口;
30.步骤s204,确定与所述多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,所述发送时间集合用于将所述多个数据流在发送过程中产生的抖动值
降低至小于目标抖动值;
31.步骤s206,按照所述发送时间集合发送所述多个数据流。
32.通过上述步骤,为交换设备的多个数据接收端口获取的多个数据流设置目标发送时间,进而得到多个数据接收端口的数据流的发送时间集合,通过对多个数据流按照该发送时间集合进行发送,从而使得多个数据接收端口的数据流具有统一的发送时延,从而避免了交换设备因拥塞导致的数据流处理的抖动问题,因此,解决了相关技术中存在的网络交换设备发送的数据流的抖动较大的问题,达到了降低网络交换设备发送的数据流的抖动的效果。
33.在上述步骤s202提供的技术方案中,待发送的多个数据流可以是经交换设备进行相应处理后的数据流,交换设备可以但不限于对接收到的数据流进行临时存储、报文编辑、报文更改等操作。
34.可选地,在本实施例中,待发送的多个数据流可以临时存储在交换设备的临时存储区内,比如,交换设备的多个端口接收到的多个初始数据流存储在片内缓存器内,交换设备对片内缓存器内的初始数据流进行数据处理,并将处理后得到的待发送的多个数据流存储在临时存储区内,临时存储区可以是片内缓存区内的某一存储区,也可以是在片内缓存区外的独立的数据存储区,临时存储区内的待发送数据流等待发送时间到达后再对数据流进行发送。
35.可选地,在本实施例中,交换设备可以但不限于包括用户网络边缘设备、服务提供商边缘设备等等,比如,用户网络边缘设备可以包括交换机、路由器,服务提供商边缘设备可以是基站等等。
36.在上述步骤s204提供的技术方案中,各个数据流对应的目标发送时间可以是相同的,也可以是不同的,比如,交换设备接收到数据流a、数据流b和数据流c,其中,数据流a和数据流b的发送时间相同,数据流c的发送时间晚于数据流a和数据流b的发送时间。
37.可选地,在本实施例中,目标抖动值可以但不限于是1纳秒、3纳秒、5纳秒、6纳秒等等,本方案对此不做限定。
38.在上述步骤s206提供的技术方案中,按照发送时间集合发送多个数据流可以是当系统时间等于各个数据流的发送时间时,发送对应的数据流,还可以是当系统时间大于各个数据流的发送时间的固定数值后,发送对应的数据流,本方案对此不做限定。
39.图3是根据本发明实施例的一种可选的多个数据流发送示意图,可以但不限于用于与对具有多个数据接收端口和多个数据输出端口的数据流交换设备中,每个输出端口输出1个数据流,每个数据流由多个报文组成,各个报文有各自的输出时间,交换设备对接收到的多个数据流进行报文处理后从对应的多个输出端口进行输出,如图3所示,数据交换设备可以但不限于包括数据缓存单元、队列管理单元、队列调度单元、分端口时间采集单元、输出控制单元,其中,数据缓存单元用于临时存储交换设备接收到的有报文帧数据组成的数据流,队列管理单元将数据流的写地址a和队列号b及其他关键信息存储在队列管理单元对应的队列中,从而对数据流进行管理,队列调度单元用于根据每个数据流的每个报文数据的期望发送时间确定每个数据流的期望发送时间,并确定多个端口输入的数据流的期望发送时间,分端口时间采集单元用于根据端口号采集每个端口数据流的期望发送时间,并将采集到的期望发送时间传递到输出控制单元,输出控制单元用于对从数据缓存单元中读
出的数据流和所述获得的期望发送时间进行临时存储,并为每个数据流的期望发送时间设置目标发送延迟,从而得到各个数据流的目标发送时间,数据流发送过程可以但不限于包括以下步骤:
40.s301,交换设备的各个端口接收到报文帧数据,并为每个报文帧数据设置队列号b,从而得到多个数据流,并将接收到的多个数据流按照一定的格式存储在数据缓存单元中;
41.s302,队列管理单元将数据流的存储地址存储到对应的队列中;
42.s303,队列调度单元每个端口都会输出当前的门控状态,当该端口门控状态为“开启”时,表示可以输出。此时向分端口采集单元发送采集请求,采集请求包括数据输出的端口号c,分端口采集单元按照端口号进行存储期望发送时间t1,存储的结构类似fifo,先进先出的结构,每个端口1个fifo,t1存储到端口号对应的fifo中;
43.s304,队列调度单元将不同端口的输出请求经过汇聚调度后发送调度命令给队列管理单元,调度命令包含端口号c和队列号b;
44.s305,队列管理单元用调度命令中包含的端口号c从分端口时间采集单元中对应的fifo中将存储的期望发送时间t1读出;
45.s306,队列管理单元用调度命令中包含的队列号b将报文的存储地址a读出,读存储地址a一同携带着时间t1信息,发送到数据缓存单元;
46.s307,数据缓存单元读存储地址将读出的数据流和时间t1信息发送到输出控制单元。从队列调度单元到读数据缓存单元路径上的抖动延时,包含但不限于本发明实施例描述的队列调度单元的抖动m,其中端口汇聚引起的抖动跟时钟频率和端口数目相关,假设端口数为p,时钟频率为f(单位为ghz),最大的抖动m=(1/f)*(p-1)纳秒;从数据缓存单元读出数据流到输出控制单元的路径上,通常要经过一系列处理,这个处理过程会有一些延时,但这个延时往往是固定的,假设该处理过程为x个时钟周期,这段固定延迟时间y=(1/f)*x纳秒。综合上面两个因素,数据流从数据缓存单元读出数据流到输出控制单元的路径的最大延迟时间tdelay=y+m,数据流到达输出控制单元后,首先和期望发送时间t1一起按端口进行缓存;输出控制单元获得ptp当前时间的同时从端口缓存中获得数据流的期望发送时间t1,当满足当前的ptp时间大于或者等于t1+tdelay时将报文输出,否则在缓存中等待。
47.图4是根据本发明实施例的一种可选的数据流发送流程图,应用于如图3所示数据交换设备对临时存储在数据缓存单元内的数据流进行发送,如图4所示,可以但不限于包括以下步骤:
48.s401,输出调度控制单元内有针对每个端口数据流包括的报文数据的端口内调度单元,用于控制端口内数据流的各个报文数据的发送时间输出,调度控制单元每个端口都会输出当前的门控状态,当该端口门控状态为“开启”时,表示可以输出;
49.s402,检测每个端口的当前门控状态是否是处于开启状态,若为开启状态执行步骤s403;
50.s403,分端口时间采集单元采集各个端口的数据流的期望发送时间,并存储在端口号对应的fifo中;
51.s404,队列调度单元的端口间调度单元对各个端口的期望发送时间进行汇聚,将不同端口的输出请求经过汇聚调度后发送调度命令给队列管理单元,调度命令包含端口号
c和队列号b;
52.s405,队列管理单元通过队列号读出存储在队列b中的数据流存储地址a,用端口号c读出存储在端口fifo中的数据流的期望发送时间,队列管理单元将读存储地址a一同携带着期望发送时间t1,发送到数据缓存单元;
53.s406,数据缓存单元用读地址a从数据缓存单元中读取出待发送的数据流一同携带着期望发送时间t1,并发送到输出控制单元;
54.s407,从队列调度单元到读数据缓存单元路径上的抖动延时,包含但不限于本发明实施例描述的队列调度单元的抖动m,其中端口汇聚引起的抖动跟时钟频率和端口数目相关,假设端口数为p,时钟频率为f(单位为ghz),最大的抖动m=(1/f)*(p-1)纳秒;从数据缓存单元读出数据流到输出控制单元的路径上,通常要经过一系列处理,这个处理过程会有一些延时,但这个延时往往是固定的,假设该处理过程为x个时钟周期,这段固定延迟时间y=(1/f)*x纳秒。综合上面两个因素,报文帧从数据缓存单元读出数据流到输出控制单元的路径的最大延迟时间tdelay=y+m;
55.s408,输出控制单元将数据流和期望发送时间t1进行分端口存储;
56.s409,输出控制单元获得ptp当前时间的同时从端口缓存中获得报文期望时间t1,并检测是否存在当前的ptp时间大于或者等于t1+tdelay,若当前的ptp时间大于或者等于t1+tdelay时执行步骤s410,若当前的ptp时间<t1+tdelay时执行步骤s408,继续对数据进行临时存储。
57.s410,将数据流从输出控制单元的对应端口输出。
58.图5是根据本发明实施例的一种可选的数据流时延示意图,可以但不限于应用图3和图4的对数据流进行发送得到的数据流的时延,如图5所示,示例性的列举了数据流1和数据流2经本发明实施例发送过程发送后的数据流之间的时延,可以看到端口汇聚后相比于端口汇聚前数据流1的延时为m纳秒,数据流2延时为1纳秒,也就是引入了m-1纳秒的抖动;经过固定延时到达输出控制单元时抖动依然存在,经过输出控制单元输出控制后数据流1相对端口汇聚前的延时为m+y,数据流2延时也为m+y,即抖动为0,有效地消除了抖动。
59.作为一种可选地实施例,所述确定与所述多个数据流中的每个数据流匹配的目标发送时间,包括:
60.获取所述每个数据流的参考发送时间,以及获取所述多个数据流的目标发送延迟,其中,所述参考发送时间用于指示所述每个数据流的预期发送的时间;
61.将所述目标发送延迟确定为所述参考发送时间的延迟时间,得到所述每个数据流的所述目标发送时间。
62.可选地,在本实施例中,参考发送时间可以是预先确定的时间值,也可以是通过时间调度器件对数据流中包括的各条报文数据进行计算确定的,比如,使用tas整形器(time-aware shaper)确定每个数据流中包括的各条报文数据的发送时间,进而得到每个数据流的参考发送时间,tas整形器(time-aware shaper)是一种基于时间的调度器,主要组件就是门控列表和计时器。每个端口都有一个门控列表和计时器,门控列表是可根据用户自定义,典型是包含8比特位宽的门控状态,每1个比特对应到该端口细化的1个优先级,比如比特0对应优先级0,比特1对应优先级1,比特7对应优先级7,用户可以定义每个比特配置数值来表示对应优先级队列门控的开启或关闭,本专利为了便于描述,按照每个比特配置数值1
表示这个时间对应优先级队列的门控处于“开启状态”,配置数值0表示对应优先级队列的门控处于“关闭状态”,只有门控处于“开启”状态的队列才允许调度,计时器用于计时每个时间分片(门控列表中两条门控状态之间的时间间隔)的时间,达到时间分片规定的时间后切换到下个门状态。
63.图6是根据本发明实施例的一种可选的门控列表示意图,如图6所示,可以但不限于包括以下内容,当tas整形器开启后,输出t00的门控状态,然后计时器开始计时,等到计时到t01时刻时开始切换到t01的门控状态,切换状态后,计时器继续计时,计时到下个时间点时切换下一条门控状态。可以指定门控列表的条数,例如图6中门控列表长度为65,如果此时已经在输出t64的门控状态时需要继续切换时就切换到t00(t00~t64为一个完整的门控周期)。
64.可选地,在本实施例中,目标发送延迟可以是对交换设备设置的一个固定值,也可以是根据交换设备的数据处理能力、数据流的信息等计算得到的发送延迟,比如,可以将目标发送延迟设置为1纳秒、10纳秒、50纳秒等等,或者还可以是将目标发送延迟设置为对处理能力和数据流信息进行计算得到的计算值,本方案对此不做限定。
65.作为一种可选地实施例,所述获取所述多个数据流的目标发送延迟,包括:
66.获取所述每个数据流的参考发送延迟,得到多个参考发送延迟;
67.将所述多个参考发送延迟中满足目标延迟条件的参考发送延迟确定为所述目标发送延迟。
68.可选地,在本实施例中,目标延迟条件可以是满足数值要求的参考发送延迟,比如,满足数值要求的参考发送延迟可以是多个参考发送延迟中数值最大或者数值最小的参考发送延迟,也可以是最接近多个参考发送延迟的平均值的参考发送延迟,本方案对此不做限定。
69.作为一种可选地实施例,所述获取所述每个数据流的参考发送延迟,包括:
70.根据所述每个数据流对应传输所需的时钟周期各束和所述交换设备的时钟频率确定所述每个数据流的参考传输时延,其中,所述时钟周期个数为所述交换设备对所述每个数据流从缓存中读取数据并传输到输出控制所需的时钟周期个数,所述参考传输时延用于指示从所述交换设备的缓存中读取所述每个数据流并传输到输出控制的时延;
71.将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟,其中,所述参考汇聚时延是根据所述交换设备包括的数据接收端口的端口数和所述交换设备的时钟频率确定的,所述参考汇聚时延用于指示所述交换设备包括的数据接收端口间数据汇聚产生的抖动时延。
72.可选地,在本实施例中,参考传输时延可以但不限于通过第一公式y=(1/f)*x确定的,其中y为从交换设备的缓存中读取每个数据流的参考传输时延,f为时钟频率,x为每个数据流对应的时钟周期。
73.可选地,在本实施例中,参考汇聚时延可以但不限于通过第二公式m=(1/f)*(p-1)确定的,其中,m为参考汇聚时延,f为时钟频率、p为端口数。
74.可选地,在本实施例中,输出控制是交换设备中对待发送的数据进行临时存储,并控制临时存储的待发送数据的发送时间的功能模块,通过对待发送数据进行临时存储,并控制待发送数据的发送时延,从而保证数据流的时序问题。
75.作为一种可选地实施例,所述根据所述每个数据流对应的传输所需的时钟周期个数和所述交换设备的时钟频率确定所述每个数据流的参考传输时延,包括:将所述时钟周期个数与所述交换设备对所述每个数据流对应的所述时钟周期个数的乘积确定为所述每个数据流的所述参考传输时延;
76.在所述将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟之前,所述方法还包括:获取所述端口数目;将所述时钟周期与所述的端口数目减1的乘积确定为所述参考汇聚时延。
77.作为一种可选地实施例,所述按照所述发送时间集合发送所述多个数据流,包括:
78.获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的先后顺序从所述多个数据流中获取当前待发送的目标数据流;
79.在所述当前系统时间大于或等于所述目标数据流的所述目标发送时间的情况下,发送所述目标数据流。
80.可选地,在本实施例中,当前系统时间是交换设备的运行时钟对应的时间,用于对交换设备上的各个运行时序之间的同步,当前系统时间可以但不限于是基于ptp(precision time protocol,精准时间协议)的系统时钟。
81.作为一种可选地实施例,在所述获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的先后顺序从所述多个数据流中获取当前待发送的目标数据流之后,还包括:
82.在所述当前系统时间小于所述目标数据流的所述目标发送时间的情况下,控制所述目标数据流进行等待;
83.在获取到的当前系统时间达到所述目标数据流的所述目标发送时间时,发送所述目标数据流。
84.可选地,在本实施例中,控制目标数据流进行等待可以但不限于是在输出端口内的临时存储区内进行等待,当交换设备完成对接收到的数据流的数据操作后,将完成数据操作并且待发送的数据流放置在临时存储区内进行存储,等待系统时钟达到对应的目标发送时间到达后再将数据流发送出去。
85.显然,上述所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
86.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
87.在本实施例中还提供了一种数据流的发送装置,图7是根据本发明实施例的数据流的发送装置的结构框图,如图7所示,该装置包括:第一获取模块72,用于获取交换设备中待发送的多个数据流,其中,所述多个数据流来自所述交换设备的多个数据接收端口;第一确定模块74,用于确定与所述多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,所述发送时间集合用于将所述多个数据流在发送过程中产生的抖动值降低至小于目标抖动值;第一发送模块76,用于按照所述发送时间集合发送所述多个数据流。
88.可选的,所述第一确定模块包括:第一获取单元,用于获取所述每个数据流的参考发送时间,以及获取所述多个数据流的目标发送延迟,其中,所述参考发送时间用于指示所述每个数据流的预期发送的时间;确定单元,用于将所述目标发送延迟确定为所述参考发送时间的延迟时间,得到所述每个数据流的所述目标发送时间。
89.可选的,所述第一获取单元用于:获取所述每个数据流的参考发送延迟,得到多个参考发送延迟;将所述多个参考发送延迟中满足目标延迟条件的参考发送延迟确定为所述目标发送延迟。
90.可选的,所述第一获取单元用于:根据所述每个数据流对应的传输所需的时钟周期个数和所述交换设备的时钟频率确定所述每个数据流的参考传输时延,其中,所述时钟周期个数为所述交换设备对所述每个数据流从缓存中读取数据并传输到输出控制所需的所述时钟周期个数,所述参考传输时延用于指示从所述交换设备的缓存中读取所述每个数据流并传输到输出控制的时延;将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟,其中,所述参考汇聚时延是根据所述交换设备包括的数据接收端口的端口数和所述交换设备的时钟频率确定的,所述参考汇聚时延用于指示所述交换设备包括的数据接收端口间数据汇聚产生的抖动时延。
91.可选的,所述第一获取单元用于:将所述时钟周期个数与所述交换设备对所述每个数据流从缓存中读取并传输到达控制输出所需的时钟周期个数的乘积确定为所述每个数据流的参考传输时延;所述装置还包括:第二获取模块,用于在所述将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟之前,获取所述端口数目;将所述时钟周期与所述的端口数目减1的乘积确定为所述参考汇聚时延。
92.可选的,所述第一发送模块包括:第二获取单元,用于获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的先后顺序从所述多个数据流中获取当前待发送的目标数据流;发送单元,用于在所述当前系统时间大于或等于所述目标数据流的所述目标发送时间的情况下,发送所述目标数据流。
93.可选的,所述装置还包括:控制模块,用于在所述获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的先后顺序从所述多个数据流中获取当前待发送的目标数据流之后,在所述当前系统时间小于所述目标数据流的所述目标发送时间的情况下,控制所述目标数据流进行等待;第二发送模块,用于在获取到的当前系统时间达到所述目标数据流的所述目标发送时间时,发送所述目标数据流。
94.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
95.本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
96.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
97.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储
有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
98.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
99.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
100.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
101.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种数据流的发送方法,其特征在于,包括:获取交换设备中待发送的多个数据流,其中,所述多个数据流来自所述交换设备的多个数据接收端口;确定与所述多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,所述发送时间集合用于将所述多个数据流在发送过程中产生的抖动值降低至小于目标抖动值;按照所述发送时间集合发送所述多个数据流。2.根据权利要求1所述的方法,其特征在于,所述确定与所述多个数据流中的每个数据流匹配的目标发送时间,包括:获取所述每个数据流的参考发送时间,以及获取所述多个数据流的目标发送延迟,其中,所述参考发送时间用于指示所述每个数据流的预期发送的时间;将所述目标发送延迟确定为所述参考发送时间的延迟时间,得到所述每个数据流的所述目标发送时间。3.根据权利要求2所述的方法,其特征在于,所述获取所述多个数据流的目标发送延迟,包括:获取所述每个数据流的参考发送延迟,得到多个参考发送延迟;将所述多个参考发送延迟中满足目标延迟条件的参考发送延迟确定为所述目标发送延迟。4.根据权利要求3所述的方法,其特征在于,所述获取所述每个数据流的参考发送延迟,包括:根据所述每个数据流对应的传输所需的时钟周期个数和所述交换设备的时钟频率确定所述每个数据流的参考传输时延,其中,所述时钟周期个数为所述交换设备对所述每个数据流从缓存中读取数据并传输到输出控制所需的所述时钟周期个数,所述参考传输时延用于指示从所述交换设备的缓存中读取所述每个数据流并传输到输出控制的时延;将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟,其中,所述参考汇聚时延是根据所述交换设备包括的数据接收端口的端口数和所述交换设备的时钟频率确定的,所述参考汇聚时延用于指示所述交换设备包括的数据接收端口间数据汇聚产生的抖动时延。5.根据权利要求4所述的方法,其特征在于,所述根据所述每个数据流对应的传输所需的时钟周期个数和所述交换设备的时钟频率确定所述每个数据流的参考传输时延,包括:将所述时钟周期个数与所述交换设备对所述每个数据流从缓存中读取并传输到达控制输出所需的时钟周期个数的乘积确定为所述每个数据流的参考传输时延;在所述将参考汇聚时延和所述参考传输时延的和确定为所述每个数据流的所述参考发送延迟之前,所述方法还包括:获取端口数目;将所述时钟周期与所述的端口数目减1的乘积确定为所述参考汇聚时延。6.根据权利要求1所述的方法,其特征在于,所述按照所述发送时间集合发送所述多个数据流,包括:获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的
先后顺序从所述多个数据流中获取当前待发送的目标数据流;在所述当前系统时间大于或等于所述目标数据流的所述目标发送时间的情况下,发送所述目标数据流。7.根据权利要求6所述的方法,其特征在于,在所述获取所述交换设备的当前系统时间,并按照所述发送时间集合中所述目标发送时间的先后顺序从所述多个数据流中获取当前待发送的目标数据流之后,所述方法还包括:在所述当前系统时间小于所述目标数据流的所述目标发送时间的情况下,控制所述目标数据流进行等待;在获取到的当前系统时间达到所述目标数据流的所述目标发送时间时,发送所述目标数据流。8.一种数据流的发送装置,其特征在于,包括:第一获取模块,用于获取交换设备中待发送的多个数据流,其中,所述多个数据流来自所述交换设备的多个数据接收端口;第一确定模块,用于确定与所述多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,所述发送时间集合用于将所述多个数据流在发送过程中产生的抖动值降低至小于目标抖动值;第一发送模块,用于按照所述发送时间集合发送所述多个数据流。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。

技术总结
本发明实施例提供了一种数据流的发送方法、装置、存储介质和电子装置,其中,该方法包括:获取交换设备中待发送的多个数据流,其中,多个数据流来自交换设备的多个数据接收端口;确定与多个数据流中的每个数据流匹配的目标发送时间,得到发送时间集合,其中,发送时间集合用于将多个数据流在发送过程中产生的抖动值降低至小于目标抖动值;按照发送时间集合发送多个数据流。通过本发明,解决了相关技术中存在的网络交换设备发送的数据流的抖动较大的问题,达到了降低网络交换设备发送的数据流的抖动的效果。的抖动的效果。的抖动的效果。


技术研发人员:耿磊 赵金玺 姚俊杰
受保护的技术使用者:南京盛科通信有限公司
技术研发日:2021.12.30
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐