CN102546098A - 数据传输装置、方法及*** - Google Patents
数据传输装置、方法及*** Download PDFInfo
- Publication number
- CN102546098A CN102546098A CN2011104210486A CN201110421048A CN102546098A CN 102546098 A CN102546098 A CN 102546098A CN 2011104210486 A CN2011104210486 A CN 2011104210486A CN 201110421048 A CN201110421048 A CN 201110421048A CN 102546098 A CN102546098 A CN 102546098A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitting device
- information
- voq
- data volume
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据传输装置、方法及***,其中,该***包括:上行缓存管理单元、上行信用调度单元、下行信用调度单元、下行缓存管理单元;上行缓存管理单元的一端和下行缓存管理单元的一端连接至包处理器,上行信用调度单元的一端和下行信用调度单元的一端连接至互联网络。根据本发明的源数据传输装置能够按照目的数据传输装置指示的数据量信息、向目的数据传输装置发送响应数据量的数据,就能根据目的数据传输装置的实际的数据处理状况来发送数据,不会造成目的包处理器端和互联网络上的数据拥塞,从而能够解决数据传输中的多对一问题和队头问题,能够提高传输资源的利用率、提高传输效率、提升***的处理效率。
Description
技术领域
本发明涉及数据通信***,具体地,涉及一种数据传输装置、方法及***。
背景技术
分布式***的基本构架如图1a所示,多个包处理器(Packet Processor,简称PP)提供***网络路由和交换接口,而包处理器之间通过高速接口连接到互联网络(Fabric)上,从而实现多个PP之间的数据传输。
通常,对网络内部的路径做如下定义:上行路径是指从PP到Fabric的传输路径;下行路径是指从Fabric到PP的传输路径;上行路径上的PP,称为源PP;下行路径上的PP,称为目的PP。
在分布式***中,多个PP通过Fabric进行数据传输的过程中,通常存在三个主要问题:
(1)队头问题(Header of Line,简称HOL)
队头问题如图1b所示,当一个源PP(PP 1)依次向多个目的PP(PP 2和PP n等)发送数据时,如果源PP发送的第一个数据包的目标PP(PP 2)发生拥塞,这样第一个数据包就无法发送出去、仍然滞留在源PP内部,虽然此时第二个数据包的目的PP(PP n)没有发生拥塞,源PP要发送的数据包都会堵塞在源PP内部无法发送出去。如果我们把源PP(PP 1)中的待发送的数据看成一个队列,如果队列头部的数据在传输中发生拥塞,就会影响到队列后继的数据传输,这就是队头问题(Header of Line)。
队头问题将会导致一些没有发生拥塞的传输路径受到其他拥塞路径的影响,例如,PP 1到PP 2发生拥塞、而PP 1到PP n没有发送拥塞,PP 1到PP 2的数据无法发送,从而影响到PP 1到PP n的数据无法发送,这种情况将大大降低Fabric的带宽利用率。
(2)多对一问题(又称为Many to One问题)
多对一的问题如图1c所示,当一个目的PP(PP 1)接收来自多个源PP(PP2和PP n等)的数据时,尤其是多个源PP同时向一个目的PP发送数据时,由于多个源PP的发送的数据量之和高于目的PP的可接收的数据量阈值,就必然会导致目的PP发生拥塞。
图1c中,如果PP 1的接收数据量阈值为40Gbps,PP 2和PP n发送的数据量也各为40Gbps,并且PP 2和PP n同时向PP 1发送数据,则瞬时发送的数据量就会达到80Gbps,这时候PP 1则只能接收40Gbps的数据,那么必然在PP 1的接收路径上发生拥塞。
此外,多对一的问题出现时,也就是在某个目的PP的接收端出现拥塞时,要保证目的PP接收到数据,需采用以下的优先级原则:
第一,源PP发送优先级较高的数据时,被优先分配传输带宽;
第二,源PP发送优先级较低的数据时,被分配有限的传输带宽;
第三,在没有获取到传输带宽时,数据缓存在源PP上,而不是缓存在Fabric的公共通道上。
针对以上问题,现有的分布式***通过如下的两种技术方案:流控机制和信用机制来实现Fabric上的数据传输。
第一种方案,采用流控机制实现Fabric上的数据传输。
流控机制也就是在各个源PP、目的PP和Fabric之间发送流量控制信息来实现流量控制。当数据接收端无法接收数据时,向数据发送端发送流量控制信息(在以太网中,通过Pause帧实现),数据发送端接收到流量控制信息后停止数据发送。数据发送端停止发送数据一段时间后,如果没有再收到数据接收端的流量控制信息、则重新向数据接收端发送数据。
流控机制的具体实现方式如下:
步骤1、PP 1发生拥塞,向Fabric的发送端1发送流量控制信息,告诉Fabric的发送端1就不要再发送数据给PP 1的接收端;
步骤2、Fabric的发送端1收到流控信息后,将流量控制信息发送给Fabric的接收端2和接收端n;
步骤3、Fabric的接收端2和接收端n将流控信息分别发送给PP 2和PP n,告诉它们不要再发送数据。
流控机制存在如下缺点:
第一,在解决多对一问题中,可能浪费Fabric带宽
从上述流控机制的实现方式可见,一旦发生拥塞,并且使用了流控机制,则会导致Fabric中发生源PP(PP 2和PP n等)停止数据发送,等待目的PP(PP 1)的数据清空。这种源PP的停止数据发送并等待和目的PP(PP 1)数据清空之间的配合如果不是很紧密,则会出现带宽的浪费。
第二,无法进行基于优先级的区分服务
目前的流量控制信息基本不包含优先级信息,即使采用基于优先级的流量控制信息,优先级的细分也无法满足整个***的需要。例如以太网的基于优先级的Pause帧,只能区分8个优先级,也就是整个***只能支持8个优先级。
第三,无法解决队头问题
流控机制无法解决队头问题。
第二种方案,采用信用机制实现Fabric上的数据传输
信用机制是指在源PP和目的PP之间,通过信用授权来实现数据传输。也就是说由目的PP根据自身状况,向各个源PP发送信用授权,获得信用授权的源PP就可以按照信用授权指示的数据量向目的PP发送数据。
信用机制可以很大程度解决队头问题和多对一问题,也可以通过虚拟输出队列(VoQ,Virtual Output Queue)队列的细分来解决优先级问题。不过信用机制还是存在如下问题:
第一,瞬时的队头问题
经过信用授权后,各个源PP就会立即向目的PP发送数据。这样会在***的Fabric中形成突发流量,从而导致瞬时拥塞。这种瞬时的拥塞,会导致源PP中的队列的头数据在某个时刻无法发送出去,从而瞬时出现队头问题。
第二,瞬时的多对一问题
与瞬时的队头问题类似,突发的数据流量也会引起瞬时的多对一问题。
第三,信用授权的准确性
目前的信用授权基本都是根据VoQ队列来进行固定信用分配,缺乏灵活性。这种信用分配方式可能会造成Fabric传输带宽的浪费。例如高优先级的VoQ队列没有数据,却得到授权;而低优先级的VoQ队列有数据,却没有得到授权。
综上可见,在现有的数据传输技术中存在对队头问题和多对一问题解决效果不佳的问题。
发明内容
有鉴于此,本发明实施例提供了一种数据传输装置,用以解决现有的数据传输技术中存在的对队头问题和多对一问题解决效果不佳的问题。
相应的,本发明实施例还提供了一种数据传输方法和***。
本发明实施例技术方案如下:
一种数据传输装置,数据传输装置的一端连接至包处理器,另一端连接至互联网络,数据传输装置包括:缓存管理单元、信用调度单元;其中,缓存管理单元,用于接收并缓存来自包处理器的数据,确定该缓存的数据的数据量信息,并将确定的数据量信息发送给信用调度单元;根据来自信用调度单元的数据量指示信息,在缓存的数据中读取与该数据量指示信息相应的数据、并将读取的该数据通过信用调度单元基于互联网络发送给与该数据对应的目的数据传输装置;信用调度单元,用于根据来自缓存管理单元的数据量信息,生成包括该数据量信息的数据量请求,并将该数据量请求通过互联网络发送给缓存管理单元缓存的该数据的目的数据传输装置;通过互联网络接收来自目的数据传输装置的授权指令,该授权指令中包括数据量指示信息,将该数据量指示信息发送给缓存管理单元。
一种数据传输方法,包括:接收并缓存来自包处理器的数据,确定该缓存的数据的数据量信息;根据确定得到的数据量信息生成包括该数据量信息的数据量请求,将生成的数据量请求发送给缓存的数据的目的数据传输装置;接收来自目的数据传输装置的授权指令,该授权指令中包括数据量指示信息;根据该数据量指示信息,在缓存的数据中读取与该数据量指示信息相应的数据;将读取的该数据发送给目的数据传输装置。
一种数据传输装置,数据传输装置的一端连接至包处理器,另一端连接至互联网络,数据传输装置包括:信用调度单元、缓存管理单元,其中;信用调度单元,用于通过互联网络接收来自源数据传输装置的数据量请求,该数据量请求中包括数据量信息;获取缓存管理单元中空闲的缓存空间信息;根据接收到的数据量请求中的数据量信息和获取到的缓存管理单元中空闲的缓存空间信息生成授权指令,该授权指令中包括数据量指示信息;将授权指令通过互联网络发送给源数据传输装置;通过互联网络接收来自源数据传输装置按照授权指令中的数据量指示信息发送来的数据,并将接收到的该数据发送给缓存管理单元;缓存管理单元,接收并缓存来自信用调度单元的数据;将该数据发送给包处理器。
一种数据传输方法,包括:接收来自源数据传输装置的数据量请求,该数据量请求中包括数据量信息;获取空闲的缓存空间信息;根据接收到的数据量请求中的数据量信息和获取到的空闲的缓存空间信息生成授权指令,该授权指令中包括数据量指示信息;将生成的授权指令发送给源数据传输装置;接收来自源数据传输装置根据授权指令中的数据量指示信息发送来的数据,并缓存接收到的该数据;将缓存的数据发送给包处理器。
一种数据传输***,包括:如上所述的两种数据传输装置。
在本发明实施例中,由与源包处理器相连接的数据传输装置将要发送的数据的数据量信息发送给目的数据传输装置,目的数据传输装置根据该数据量信息和目的数据传输装置空闲的缓存空间信息,确定源数据传输装置应发送数据的数据量、并将确定的该数据量的数据量信息发送给源数据传输装置,源数据传输装置根据接收到的该数据量信息、读取与该数据量信息相应的数据,并将读取的数据经由目的数据传输装置发送给目的包处理器;通过该方案,源数据传输装置能够按照目的数据传输装置指示的数据量信息、向目的数据传输装置发送响应数据量的数据,就能根据目的数据传输装置的实际的数据处理状况来发送数据,不会造成目的包处理器端的数据拥塞,从而能够解决数据传输中的多对一问题;相应地,目的包处理器端和互联网络上传输的数据不形成拥塞后,源包处理器和源数据传输装置相应地能够顺畅地将数据发送给目的包处理器,这样能够解决源包处理器侧的队头问题;从而能够解决现有的数据传输技术中存在的对队头问题和多对一问题解决效果不佳的问题,提高传输资源的利用率、提高传输效率、提升***的处理效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1a为现有技术中分布式***基本构架的结构示意图;
图1b为现有技术中队头问题的原理示意图;
图1c为现有技术中多对一问题的原理示意图;
图2a是根据本发明实施例的数据传输装置的结构示意图;
图2b是根据本发明实施例的数据传输方法的工作流程图;
图3是根据本发明实施例的数据传输装置的另一结构示意图;
图4是根据本发明实施例的数据传输方法的另一工作流程图;
图5是根据本发明实施例的数据传输***的结构示意图;
图6是本发明实施例具体应用的场景示意图;
图7是本发明实施例具体应用中的数据传输***的结构示意图;
图8是本发明实施例具体应用中的优先级配置寄存器的数据结构示意图;
图9是本发明实施例具体应用中的上行缓存管理单元进行缓存输入的处理流程图;
图10是本发明实施例具体应用中的上行缓存管理单元进行缓存输出的处理流程图;
图11是本发明实施例具体应用中的信用配置寄存器的数据结构示意图;
图12是本发明实施例具体应用中的上行信用调度模块发送信用请求的处理流程图;
图13是本发明实施例具体应用中的信用请求的数据结构示意图;
图14是本发明实施例具体应用中的信用调度模块接收信用授权的处理流程图;
图15是本发明实施例具体应用中的上行信用调度模块72根据接收到的信用授权生成数据输出指令的处理流程图;
图16是本发明实施例具体应用中的上行信用调度模块转发数据的处理流程图;
图17是本发明实施例具体应用中的下行信用模块进行信用分配的处理流程图;
图18是本发明实施例具体应用中的下行信用模块进行时间片分配的处理流程图;
图19是本发明实施例具体应用中的定时机制的原理示意图。
具体实施方式
以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
针对现有技术中存在的对队头问题和多对一问题解决效果不佳的问题,本发明实施例提出了一种数据传输装置、方法及***,用以解决这一问题。本发明实施例提供的数据传输装置位于包处理器(PP,Packet Processor)和互联网络之间,用于处理源包处理器与目的包处理器之间经由互联网络转发的数据。
本发明实施例首先应用了改进了的“信用机制”来解决多对一问题和队头问题。与源包处理器相连接的源数据传输装置,将从源包处理器发送过来的数据缓存后,将该数据的数据量信息发送给与目的包处理器相连接的目的数据传输装置;目的数据传输装置根据接收到的该数据量信息和目的数据传输装置中空闲的数据存储空闲信息、为源数据传输装置指定发送数据的数据量,即目的数据传输装置为源数据传输装置分配数据传输的“信用点”;源数据传输装置根据目的数据传输装置为其指定的数据量来发送数据。当多个源数据传输装置向同一个目的数据传输装置发送数据时,能够根据目的数据传输装置的实际的数据存储状况来发送相应数据量的数据,就不会因为多个源数据装置将全部数据发送给目的数据传输装置、而造成目的包处理器侧的数据拥塞,从而能够解决现有技术中的多对一问题;并且,当目的包处理器侧解决了多对一问题后,即目的包处理器、以及互联网络上传输的数据不形成拥塞后,源包处理器和源数据传输装置相应地能够顺畅地将数据发送给目的包处理器,这样能够在很大程度上减轻源包处理器侧的队头问题。同理,当多个源包处理器向多个目的包处理器发送数据时,各个源数据传输装置能够按照各个目的数据传输装置实际的数据处理状况来发送数据,从而能够解决现有技术中的多对一问题的和队头问题。并且,相比于现有技术,本发明实施例提供的方案传输资源的利用率高、数据传输效率高、***的处理效率高。
在本发明实施例的优选方案中,还应用了“时间片机制”。在信用机制的基础上,目的数据传输装置还为源数据传输装置指定发送数据的时间片,源数据按照目的数据传输装置指定的时间片来发送指定数据量的数据。当同一个源数据传输装置向多个目的数据传输装置发送数据时,按照各个目的数据传输装置指定的时间片和数据量分别向相应的目的数据传输装置发送数据,能够形成源数据传输装置有序、交错地向各个目的数据传输装置发送数据的情景,即使源数据传输装置与某个目的数据传输装置的路径上存在数据拥塞,也不会影响到与其他目的数据传输装置的数据正常发送,这样就能够在源数据传输装置侧避免数据拥塞问题,从而能够解决相关技术中队头问题。并且,在目的数据传输装置侧,能够按照时间片有序、依次接收来自各个源数据传输装置按照指定数据量发送的数据,从而能够更有效地解决多对一的问题。同理,当多个源包处理器向多个目的包处理器发送数据时,各个源数据传输装置能够按照各个目次数据传输装置指定的时间片、有序交错地向各个目的数据传输装置发送数据,从而能够解决现有技术中的多对一问题的和队头问题。并且,相比于现有技术,本发明实施例提供的方案传输资源的利用率高、数据传输效率高、***的处理效率高。
(一)、本发明实施例首先提供了一种数据传输装置,该装置应用“信用机制”对上行数据进行处理。
图2a示出了根据本发明实施例的数据传输装置的结构示意图,如图2a所示,该装置的一端连接至包处理器、另一端连接至互联网络,该数据传输装置包括:缓存管理单元1、信用调度单元2。
缓存管理单元1,用于接收并缓存来自包处理器的数据,确定该缓存的数据的数据量信息,并将确定的数据量信息发送给信用调度单元2;根据来自信用调度单元2的数据量指示信息,在缓存的数据中读取与该数据量指示信息相应的数据、并将读取的该数据通过信用调度单元2基于互联网络发送给与该数据对应的目的数据传输装置;
信用调度单元2,用于根据来自缓存管理单元1的数据量信息,生成包括该数据量信息的数据量请求,并将该数据量请求通过互联网络发送给缓存管理单元1所缓存的该数据的目的数据传输装置;通过互联网络接收来自目的数据传输装置的授权指令,该授权指令中包括数据量指示信息,将该数据量指示信息发送给缓存管理单元1。
图2b所示装置的工作原理如图2所示,如图2b所示,该装置的工作原理包括如下处理过程:
步骤21、接收并缓存来自包处理器的数据,确定该缓存的数据的数据量信息;
步骤22、根据确定得到的数据量信息生成包括该数据量信息的数据量请求,将生成的数据量请求发送给所缓存的数据的目的数据传输装置;
步骤23、接收来自目的数据传输装置的授权指令,该授权指令中包括数据量指示信息;
步骤24、根据该数据量指示信息,在缓存的数据中读取与该数据量指示信息相应的数据;
步骤25、将读取的该数据发送给目的数据传输装置。
如图2a所示的数据传输装置,通过缓存来自包处理器的数据,确定该数据的数据量信息,并将该数据量信息发送给目的数据传输装置,能够使目的数据传输装置较为准确地了解到上行路径上传输的数据的数据量情况,从而有助于目的数据传输装置为各个源数据传输装置指定发送数据的数据量,有助于解决数据传输中的多对一的问题。并且,如图2a所示的数据传输装置,根据接收到的授权指令中的数据量指示信息,在缓存的数据中读取与该数据量指示信息相应的数据,并将读取的该数据发送给目的数据传输装置,能够实现源数据传输装置根据目的数据传输装置指定的数据量来发送数据,能够避免与目的数据传输装置相连接的目的包处理器侧的数据拥塞。
一种优选地的方式,可通过如下的处理流程来实现图2b所示的工作原理,该处理过程包括如下的步骤:
步骤一、根据接收到的数据中携带的虚拟数据输出队列VoQ标识,将该数据缓存到相应的VoQ中;
步骤二、确定各个VoQ中缓存的数据的数据量信息;
步骤三、对各个VoQ生成包括所确定的相应的数据量信息的数据量请求;
步骤四、将对各个VoQ生成的数据量请求发送给相应的各个VoQ的目的数据传输装置;
步骤五、接收来自各个目的数据传输装置的授权指令,该授权指令中包括对与目的数据传输装置对应的VoQ的数据量指示信息;
步骤六、根据接收到的对各个VoQ的数据量指示信息,从各个VoQ中读取与对应的数据量指示信息相应的数据;
步骤七、将从各个VoQ中读取的数据发送给各个对应的目的数据传输装置。
通过上述处理,能够将源数据传输装置的各个VoQ中缓存的数据的数据量信息发送给各个VoQ的目的数据传输装置,有助于各个目的数据传输装置较为准确地了解上行路径上的传输状况,有助于解决数据传输中的多对一问题和队头问题;并且,源数据传输装置根据来自各个目的数据传输装置的数据量指示信息,在各个对应的VoQ中读取与数据量指示信息所指示的数据量相应的数据,并将从各个VoQ中读取的数据分别发送给与各个VoQ对应的的目的数据传输装置,能够实现源数据传输装置根据目的数据传输装置指示的数据量来发送数据,能够避免目的数据传输装置侧的数据拥塞,能够解决数据传输中的多对一问题和队头问题。
(二)、本发明还提供另一种数据传输装置,该装置应用“信用机制”对下行数据进行处理。
图3示出了根据本发明实施例的数据传输装置的结构示意图,如图3所示,该装置一端连接至包处理器、另一端连接至互联网络,该数据传输装置包括:信用调度单元3、缓存管理单元4。
信用调度单元3,用于通过互联网络接收来自源数据传输装置的数据量请求,该数据量请求中包括数据量信息;获取缓存管理单元4中空闲的缓存空间信息;根据接收到的数据量请求中的数据量信息和获取到的缓存管理单元4中空闲的缓存空间信息生成授权指令,该授权指令中包括数据量指示信息;将授权指令通过互联网络发送给源数据传输装置;通过互联网络接收来自源数据传输装置按照授权指令中的数据量指示信息发送来的数据,并将接收到的该数据发送给缓存管理单元;
缓存管理单元4,接收并缓存来自信用调度单元3的数据;将该数据发送给包处理器。
图4示出了图3所述装置的工作原理,如图4所示,该工作原理包括如下处理步骤:
步骤41、接收来自源数据传输装置的数据量请求,该数据量请求中包括数据量信息;
步骤42、获取空闲的缓存空间信息;
步骤43、根据接收到的数据量请求中的数据量信息和获取到的空闲的缓存空间信息生成授权指令,该授权指令中包括数据量指示信息;
步骤44、将生成的授权指令发送给源数据传输装置;
步骤45、接收来自源数据传输装置根据授权指令中的数据量指示信息发送来的数据,并缓存接收到的该数据;
步骤46、将缓存的数据发送给包处理器。
如图3所示的装置,目的数据传输装置根据来自源数据传输装置的数据量请求、和目的数据传输装置空闲的缓存空间信息,生成指示源数据传输装置发送一定数据量的数据的授权指令,使得目的数据传输装置能够根据上行路径发送数据的状况、以及自身空闲的缓存空间、来为源数据传输装置指定发送数据的数据量,即目的数据传输装置为各个源数据传输装置分配数据传输的“信用点”,能够使源数据传输装置按照目的数据传输装置指定的数据量来发送数据、能够避免与目的数据传输装置相连接的目的包处理器侧的数据拥塞,从而能够解决数据传输中的多对一问题的队头问题。
一种优选的方式,可以通过如下的处理来实现图4所示的工作原理,该处理过程包括如下步骤:
步骤一、接收来自各个源数据传输装置的数据量请求,该数据量请求中包括有相应源数据传输装置的VoQ中的数据量信息;
步骤二、获取各个数据输出队列(OQ,Output Queue)中空闲存储空间信息;
步骤三、根据接收到的各个源数据传输装置的VoQ的数据量信息、获取的各个OQ的空闲存储空间信息,以及对各个OQ预设的优先级信息,生成对各个源数据传输装置的授权指令,该授权指令中包括指示源数据传输装置输出数据的数据量指示信息;
具体地,根据各个OQ中空闲的缓存空间信息、以及对各个OQ预设的优先级信息,确定各个OQ接收数据的数据量;按照确定的各个OQ接收数据的数据量、与相应的源数据传输装置中VoQ的数据量信息所指示的数据量的比例,确定与各个OQ相对应的源数据传输装置发送数据的数据量,并将确定的数据量作为数据量指示信息携带在授权指令中;
步骤四、将对各个源数据传输装置生成的授权指令发送给相应的各个源数据传输装置。
通过上述处理,目的数据传输装置能够根据各个源数据传输装置的VOQ中缓存的数据的数据量大小、目的数据传输装置中各个OQ的空闲的数据存储空间、以及对OQ预设的优先级,来为各个源数据传输装置分配发送数据的数据量,各个源数据传输装置根据目的数据传输装置分配的数据量向目的数据传输装置发送相应数据量的数据,从而能够避免目的数据传输装置侧可能存在的数据拥塞问题、以及源数据传输装置侧可能存在的数据拥塞问题,从而能够解决数据传输中的多对一问题和队头问题。
(三)、本发明实施例还提供了一种数据传输***,该***包括如图2a所示的数据传输装置和图3所示的数据传输装置,能分别为同一个包处理器处理其上行路径和下行路径的数据传输,该***的结构如图5所示。如图5所示,该***包括上行处理部分和下行处理部分,上行处理部分包括上行缓存管理单元11、上行信用调度单元22,下行处理部分包括下行信用调度单元33、下行缓存管理单元44,上行缓存管理单元11、下行缓存管理单元44与包处理器相连接,上行信用调度单元22、下行信用调度单元33与互联网络相连接。其中,上行缓存管理单元11、上行信用调度单元22用于处理上行路径上传输的数据,这二者的功能分别与图2a中缓存管理单元1、信用调度单元2的功能类似,下行信用调度单元33、下行缓存管理单元44用于处理上行路径上传输的数据,这二者的功能分别与图3中信用调度单元3、缓存管理单元4的功能类似,这里不再赘述。
上行缓存管理单元11和上行信用调度单元22的工作原理如图2b所示,下行信用调度单元33和下行缓存管理单元44的工作原理如图4所示,这里不再赘述。
图5所示的***通过应用“信用机制”,与目的包处理器相连接的、作为目的数据传输装置的图5所示***中的下行处理部分,根据自身实际的数据存储状况,来为与源包处理器相连接的、作为源数据传输装置的图5所示***中的上行处理部分、指定发送数据的数据量,就不会因为多个源数据装置将全部数据发送给目的数据传输装置、而造成目的数据传输装置侧的数据拥塞,从而能够解决现有技术中的多对一问题和队头问题。
(四)、本发明实施例还提供了一种时间片机制,用于解决数据传输中的队头问题。
时间片机制的原理包括:根据目的数据传输装置为各个源数据传输装置分配的发送数据的数据量,目的数据传输装置相应地为各个源数据传输装置分配发送数据的数据输出时间片,并将分配的数据输出时间片信息携带在授权指令中;根据预设的授权指令发送时间片信息,对发送授权指令的时间进行计时,在该授权指令发送时间片到来时,将授权指令发送给源数据传输装置。
源数据传输装置根据预设的数据量请求时间片信息、对发送数据量请求的时间片进行计时,在该数据量请求时间片到来之时,向目的数据传输装置发送数据量请求。源数据传输装置在接收到授权指令之时,根据授权指令中携带的数据输出时间片信息、对发送按照数据量指示信息读取的数据的时间片进行计时,在数据输出时间片到来之时,向目的数据传输装置发送读取的数据。
具体地,目的数据传输装置确定数据输出时间片的处理包括:根据目的数据传输装置在进行上述确定数据量指示信息操作时、确定的各个OQ接收数据的数据量,为当前OQ确定向该OQ发送数据的时间段,按照为与该OQ对应的各个源数据传输装置所确定的数据量之间的比例关系、将确定的时间段划分为多个子时间片,将划分的该多个子时间片分别作为与当前OQ相对应的各个源数据传输装置的数据输出时间片。
通过时间片机制,当同一个源数据装置向多个目的数据传输装置发送数据时,能够在源数据传输装置端按照各个目的数据传输装置指定的时间、分别向各个目的数据传输装置发送数据,即使源数据传输装置与某一个目的数据传输装置的路径上发送拥塞、导致该路径上的数据无法发送,源数据传输装置在其他时间片仍然可以向其他数据传输装置发送数据,从而能够避免源数据传输装置的数据拥塞,即能够解决数据传输技术中的队头问题。
并且,在应用信用机制的基础上应用时间片机制,同一个目的数据传输装置接收多个源数据传输装置发送的数据时,能够在目的数据传输装置侧有序的接收来自源数据传输装置按照指定时间、指定数据量发送的数据,从而能够更好避免目的数据传输装置侧的数据拥塞,能够更有效地解决传输技术中的多对一问题。
同理,当多个源数据传输装置向多个目的数据传输装置发送数据时,能够按照各自的数据输出时间片、来有序交错发送数据,能够解决传输技术中的多对一问题和队头问题。
(五)具体应用的情况
在本发明实施例具体应用的场景中,如图6所示,在由n+1个包处理器(PP1、…、PP n+1)和互联网络构成的***中,在每个包处理器和互联网络之间分别设置一个本发明实施例提供的数据传输***,该数据传输***通过现场可编程门阵列(FPGA,Field Programmable Gate Array)芯片来实现,即PP 1至PP n+1与互联网络之间相应地设置有FPGA 1至FPGA n+1,每个FPGA分别对从PP到互联网络的上行路径上传输的数据、和互联网络到PP的下行路径上传输的数据进行处理。优选地,也可以通过通用芯片器件(ASIC,ApplicationSpecific Circuit)来实现本发明实施例提供的数据传输***。
如图7所示,每个FPGA都包括对上行路径进行处理的上行缓存管理单元71、上行信用调度单元72,对下行路径进行处理的下行信用调度单元73、下行缓存管理单元74;其中,每个上行缓存管理单元71中都配置16个VoQ,每个下行缓存管理单元74中都配置16个OQ。
预先对下行缓存管理模块中的OQ进行优先级设置,对16个OQ相应地设置16个优先级,具体地,可通过寄存器来配置这16个优先级,优先级配置寄存器的数据结构如图8所示,该寄存器的结构包括:
整个寄存器为256bit;
每个优先级有16bit,其中高4bit用于设定优先级别,低12位用于设定权重;优先级别的设定范围为0~15,其中0的优先级最高,15的优先级最低;权重的设定范围为0~2047,也就是可以配置出1∶2047的权重比。
下面对FPGA中的模块的功能及工作原理进行说明。
1、上行缓存管理单元71
上行缓存管理单元71包括两部分功能:缓存输入、缓存输出。
图9示出了上行缓存管理单元71进行缓存输入的处理过程,如图9所示,该处理过程包括如下步骤:
步骤91、接收源PP发送过来的数据,该数据帧包含两个部分:数据帧头和数据,其中数据帧头包含VoQ ID信息,该VoQ ID信息是由源PP在路由运算过程中得到的;
步骤92、提取数据帧头的VoQ ID;
步骤93、判断VoQ ID所对应的VoQ中的数据存储水线是否超过高水线,即判断VoQ中存储的数据是否已经超过了预定的阈值,如果超过,处理进行到94;否则,处理进行到步骤95;
步骤94,将接收到的数据丢弃,处理返回步骤91;
步骤95、将数据写入到与VoQ ID所对应的VoQ中;
步骤96、向上行信用调度模块72发送数据入缓存消息,该消息包含数据帧的字节数信息。
图10示出了上行缓存管理单元71进行缓存输出的处理过程,如图9所示,该处理过程包括如下步骤:
步骤101、接收来自上行信用调度模块72的数据输出指令;
步骤102、分析指令,得到VoQ ID和信用点数;
步骤103、根据VoQ ID和信用点数,从与VoQ ID对应的VoQ中读出与信用点数对应的数据帧发送给上行信用调度模块72;
步骤104、由于数据是按照帧为单位从VoQ中读出的,因此会存在读出的数据帧和信用点数有存在偏差的可能,这里记下偏移量(可能是正偏,也可能是负偏),在下次输出操作中进行修正;
步骤105、向上行信用调度模块72发送数据出缓存消息,包含数据帧的字节数信息。
2、上行信用调度模块72
上行信用调度模块72的工作原理可简述为:接收来自上行缓存管理模块71的数据入缓存消息和数据出缓存消息,根据这两个消息确定VoQ中实际存储的数据量,即将数据入缓存消息中的数据帧的字节数、与数据出缓存消息中的数据帧的字节数的差值、确定为VoQ中实际存储的数据量;根据确定得到的数据量形成数据量请求,将该数据量请求发送给目的FPGA;在接收到来自目的FPGA的授权指令后,将授权指令中的数据量指示信息发送给上行缓存管理模块71,在授权指令中指定的数据输出时间到达之时、将上行缓存管理模块71按照数据量指示信息读取的数据发送给目的FPGA。
这样,可将上行信用调度模块72的功能划分为两部分:信用管理和数据调度。其中,信用管理功能包括统计数据量(或称为VoQ数据统计)、根据数据量形成数据量请求(或称为信用请求)、接收来自目的FPGA的授权指令(或称为信用授权)。数据调度功能包括根据信用授权生成数据输出指令,将该数据输出指令发送给上行缓存管理模块71,并将来自上行缓存管理模块71的按照数据输出指令读取的数据发送给目的FPGA。下面对这两部分的内容进行详细说明。
(1)、VoQ数据统计
上行信用调度模块72接收来自上行缓存管理模块71的数据入缓存消息和数据出缓存消息。根据这两个信息得到VoQ中缓存的数据量。
在得到VoQ所对应的数据量后,根据信用权重(CW,Credit Worth)将数据量换算成信用点,该换算的信用点又可称为VoQ的预分配信用(AVC,Anticipated VOQ Credit)。
在本发明实施例中,对信用权重CW的设置根据具体情况来选择,如:000,一个信用点表示256字节;001,一个信用点表示512字节;010,一个信用点表示1K字节;011,一个信用点表示2K字节;100,一个信用点表示4K字节;101,一个信用点表示8K字节;110,一个信用点表示16K字节;111,一个信用点表示32K字节。
当互联网络的带宽较大、数据传输速率较高时,可选择较大的信用点,相反的情况则可以选择较小的信用点。具体地,当选择111时表示一个信用点代表32K字节,确定VoQ的数据量为320K字节时,为VoQ预分配的信用就是10个信用点。
信用权重配置好后存放在信用配置寄存器中,如图11所示,信用配置寄存器的长度为32bit,0~15bit供上行信用调度模块72使用,16~31bit供下行信用调度模块73使用;其中,0~3bit存放信用权重信息,3~7bit为保留位,8~15bit存放预设的信用请求时间间隔信息,16~23bit存放预设的信用授权时间间隔信息,24~31bit存放预设的信用授权超时信息。类似地,对信用请求时间间隔、信用授权时间间隔、信用授权超时这三个参数预先配置好后,也存放在信用配置寄存器。
相比于现有技术中,仅根据VoQ中的水线(即VoQ中存储数据的最大阈值和最小阈值)来判断是否要向目的PP发送数据,本发明实施具体应用场景中的处理能更准确地了解VoQ中存储数据的数据量,有助于目的FPGA更准确地了解上行路径上的数据传输状况。
(2)信用请求
上行信用调度模块72将VoQ的AVC通过信用请求发送给目的FPGA,图12示出了上行信用调度模块72发送信用请求的处理过程:
步骤121、初始化结束后,向上行缓存管理模块71获取上行缓存管理模块71中16个VoQ缓存的数据量;
步骤122、根据数据量信息及预选的信用权重,为各个VoQ生成预分配信用AVC;
步骤123、根据为各个VOQ生成的AVC,为各个VoQ生成包括该AVC信用请求(如图13所示);
步骤124、将信用请求发送给与VoQ相应的目的FPGA(目的FPGA与对应的目的PP相连接)。
图13示出了信用请求的数据结构,如图13所示:一个信用请求包括对上行缓存管理模块71中16个VoQ的信用请求信息,对每个VoQ的信用请求信息为32bit,16个信用请求信息一共是512bit;每个信用请求信息包括VoQ ID和AVC,32bit中的0~21bit为AVC,22~31bit为VoQ ID。
(3)接收信用授权
上行信用调度模块72接收来自各个目的FPGA的信用授权,从信用授权中分析提取各个目的FPGA为各个VoQ分配的信用点数(CG),保存在本地信用授权寄存器(VoQ Credit Register,简称VCR)中,覆盖上次接收到的信用点数。具体地,对应于16个VoQ,上行信用调度模块72中配置有16个信用授权寄存器,该寄存器中仅用于存放与该寄存器相对于的VoQ的信用点数。
图14中示出了信用调度模块接收信用授权的处理过程,包括如下过程:
步骤141、判断等待目的FPGA发送的信用授权的时间是否超时,如果超时,则继续等待,否则,处理进行到步骤142;
步骤142、收得到信用授权后,将信用授权更新到信用授权寄存器VCR中,作为VoQ数据调度的依据,信用授权中包括有信用点数、以及用于指示发送数据的开始时间、结束时间;
步骤143、判断接收信用授权的时间间隔是否到达,时间到达时,处理返回步骤141,否则继续等待。
具体地,信用授权寄存器VCR仅存储目的FPGA发送的信用授权信息,对应于16个VoQ,上行信用调度模块72中配置有16个信用授权寄存器VCR。
(4)数据调度
图15示出了上行信用调度模块72根据接收到的信用授权生成数据输出指令的工作流程,该流程包括:
步骤151、上行信用调度模块72接收到信用授权之时、定时器对发送数据的开始时间进行计时,定时器到达信用授权中指定的开始时间之时,表示本上行路径可以开始发送数据,处理进行到步骤152;否则继续等待;
步骤152、轮询16个信用授权寄存器VCR,如果为空,表示数据发送完毕,则回到步骤151;如果非空,则处理进行到步骤153;
步骤153、读取信用授权寄存器VCR中的信用点数并附加VoQ ID形成数据输出指令;
步骤154、将数据输出指令发送给上行缓存管理模块71,用于指示上行缓存管理模块71输出数据;
步骤155、判断定时器是否到达结束时间,如果没有到达,处理返回步骤152;否则,处理返回步骤151。
图16示出了上行信用调度模块72将来自上行缓存管理模块71的数据发送到目的FPGA的处理流程,该处理流程包括如下步骤:
步骤161、接收上行缓存管理模块71发送的数据;
步骤162、缓存接收到的数据;
步骤163、将缓存的数据通过互联网络发送到目的FPGA。
3、下行信用调度模块73
下行信用调度模块73的工作原理可简述为:接收来自源FPGA的信用请求,根据信用请求中的AVC、下行缓存管理模块74的可进行缓存的缓存空间信息、下行缓存管理模块74中OQ的优先级信息来为源FPGA分配信用点数,根据为源数据分配的信用点数来为其分配时间片,将分配的信用点数和时间片携带在信用授权中发送给源FPGA;在接收到来自源FPGA发送的数据后,将该数据发送给下行缓存管理模块74。
这样,可将下行信用调度模块73的功能分为两部分:信用管理和数据转发。其中,信用管理包括信用分配和时间片分配。
下面对下行信用调度模块73的功能进行详细描述。
(1)信用分配
图17示出了下行信用模块73进行信用分配的流程图,如图17所示,该处理流程包括如下步骤:
步骤171、接收来自N个源输出传输装置的信用请求,收集N个源输出传输装置的VoQ的AVC;
步骤172、查看OQ的流控信息,如果某个OQ的流控有效(即表示该OQ中的数据已满,要进行流量控制),则不为与该OQ对应的源FPGA分配信用,也即与该OQ对应的源FPGA不能向该数据传输装置发送数据;如果OQ没有设置流控,则读取该OQ空闲的存储容量信息;
步骤173、从OQ优先级配置寄存器中读取预先为各个OQ配置的优先级信息;
步骤174、根据OQ空闲的存储容量信息和优先级信息,确定OQ可接收数据的数据量(或相应地称为可接收数据的缓存空间),要保证优先级高的OQ优先分配信用、优先级相同的OQ按照权重分配信用;
步骤175、根据确定的OQ可接收数据的数据量、和N个源FPGA的AVC,将OQ可接收数据的数据量按照N个AVC之间的比例、划分为N个信用,每个信用中都包括若干个信用点,这N个信用分别与N个AVC向对应;
步骤176、将划分的N个信用中各自包含的信用点分别做为分配给N个源FPGA的信用点数。
优选地,本发明实施例为OQ设置了16个优先级,对OQ预设的优先级存储在优先级寄存器中,优先级寄存器的数据结构如图8所示,该数据结构参见前述。
在根据优先级为OQ分配接收数据的数据量时,如果16个优先级的优先级别都设定为一样,权重设置也一样,则采用公平轮转队列(Round Robin,简称RR)策略,各个优先级公平分配数据量;如果16个优先级的优先级别都设定为一样,而权重设定不一样,则采用加权公平轮转队列(Weight RoundRobin,简称WRR)策略,按照权重分配数据量;如果16个优先级的优先级别设定为递增或者递减,则各个优先级的权重可以忽略,则采用固定优先级队列(Strict Priority,简称SP)策略,按照优先级依次分配数据量;如果16个OQ的优先级是按照具体需要来设定的,则按照设定的优先级别进行数据量分配,如果优先级别相同,则按照权重进行分配。
(2)时间片分配
图18示出了下行信用模块73进行时间片分配的流程图,如图18所示,该处理流程包括如下步骤:
步骤181、根据为各个OQ确定的接收数据的数据量,确定向OQ发送数据的时间段;
步骤182、按照下行信用调度模块73为N个源FPGA确定的信用点数之间的比例,将确定的时间段分为多个子时间片;
步骤183、将划分的多个子时间片分别作为与OQ相对应的N个源FPGA的数据输出时间片。
通过上述处理,为各个源FPGA分配发送数据的时间片,能够在目的FPGA上依次接收来自不同FPGA的数据,从而能够避免瞬时的突发数据对下行路径接口的压力。
一种优选的方式,时间片机制中还包括定时机制,如图19所示。定时机制的目的在于,使源FPGA根据预设的时间发送信用请求,目的FPGA按照预设的时间发送信用授权,这样能使目的FPGA稳定、持续的接收到源FPGA发送的信用请求。优选地,对各个FPGA预设的发送信用请求的时间相同,预设的发送信用授权的时间也相同,这样使各个目的FPGA能够大致上在同一时间接收到来自各个源FPGA的信用请求,使各个源FPGA能够大致上在同一时间接收到各个目的FPGA的信用授权,这样能够在源FPGA侧、保证各个数据输出时间是连续、不重叠的,能够避免发送时间的重叠而导致发送的数据的重叠。
具体地,下行信用调度模块73根据预先配置的信用授权时间间隔(如图11所示)、在该信用授权时间间隔内向源FPGA发送信用授权;上行信用调度模块72在接收到信用授权时开始计时,到达预设的信用请求时间间隔(如图11所示)时向目的FPGA发送信用请求。
通过图19的这种定时机制,能够实现:各个信用请求是依据信用授权的接收来发送;如果互联网络畅通,就可以保证两次信用授权之间,只接收到一次某个上行路径的信用请求,确保信息的准确性;如果互联网络不畅通,则某个拥塞的上行路径也只会发送一次信用请求,从而也有利于信用分配操作;通过设置合理的信用请求时间间隔(具体根据信用授权时间间隔来设置),就可以使得信用授权的时间点和信用请求的时间点拉开时间间隔,从而使得下行路径在进行授权操作的时候,能够尽可能地接收到各个上行路径的信用请求。
一种优选的方式,时间片机制中还包括对时操作,即源FPGA的上行调度模块在接收到信用授权(或称授权指令)之时,开始对目的FPGA指定的时间片进行计时,这样能够协调各个上行路径之间发送数据的操作。但是从图19中可以看出,这种对时还是存在一定的偏差,因为下行路径到各个上行路径的信用授权的传输延时各不相同。不过在本发明实施例中,将信用请求和信用授权信息的传输优先级设定为最高,因此这种偏差基本都可以保持在10微妙以内。这样,这种偏差就是可以接收的,实现了各个上行路径传输步调基本一致,可能在各个上行路径在时间片的交界处会有一些数据传输的重叠,不过这种重叠不会超过10微妙,形成的突发数据量十分有限,不会引起路径拥塞。
4、下行缓存管理模块74
下行缓存管理模块74实现对OQ的管理,它的功能包括:接收来自下行信用调度73的数据帧,并缓存在OQ中;将OQ中的数据读出,发送给目的PP;形成各个OQ的数据水线,并形成流控信息提供给下行信用调度模块73。
综上所述,本发明实施例通过设置数据传输装置,应用了改进了的“信用机制”来解决多对一问题和队头问题。与源包处理器相连接的源数据传输装置,将从源包处理器发送过来的数据缓存后,将该数据的数据量信息发送给与目的包处理器相连接的目的数据传输装置;目的数据传输装置根据接收到的该数据量信息和目的数据传输装置中空闲的数据存储空闲信息、为源数据传输装置指定发送数据的数据量,即目的数据传输装置为源数据传输装置分配数据传输的“信用点”;源数据传输装置根据目的数据传输装置为其指定的数据量来发送数据。当多个源数据传输装置向同一个目的数据传输装置发送数据时,能够根据目的数据传输装置的实际的数据存储状况来发送相应数据量的数据,就不会因为多个源数据装置将全部数据发送给目的数据传输装置、而造成目的包处理器侧的数据拥塞,从而能够解决现有技术中的多对一问题;并且,当目的包处理器侧解决了多对一问题后,即目的包处理器以及互联网络上传输的数据不形成拥塞后,源包处理器和源数据传输装置相应地能够顺畅地将数据发送给目的包处理器,这样能够在很大程度上减轻源包处理器侧的队头问题。同理,当多个源包处理器向多个目的包处理器发送数据时,各个源数据传输装置能够按照各个目的数据传输装置实际的数据处理状况来发送数据,从而能够解决现有技术中的多对一问题的和队头问题,具有良好的实施效果。
在本发明实施例的优选方案中,还应用了“时间片机制”。在信用机制的基础上,目的数据传输装置还为源数据传输装置指定发送数据的时间片,源数据按照目的数据传输装置指定的时间片来发送指定数据量的数据。当同一个源数据传输装置向多个目的数据传输装置发送数据时,按照各个目的数据传输装置指定的时间片和数据量分别向相应的目的数据传输装置发送数据,能够形成源数据传输装置有序、交错地向各个目的数据传输装置发送数据的情景,即使源数据传输装置与某个目的数据传输装置的路径上存在数据拥塞,也不会影响到与其他目的数据传输装置的数据正常发送,这样就能够在源数据传输装置侧避免数据拥塞问题,从而能够解决相关技术中队头问题。并且,在目的数据传输装置侧,能够按照时间片有序、依次接收来自各个源数据传输装置按照指定数据量发送的数据,从而能够更有效地解决多对一的问题。同理,当多个源包处理器向多个目的包处理器发送数据时,各个源数据传输装置能够按照各个目次数据传输装置指定的时间片、有序交错地向各个目的数据传输装置发送数据,从而能够解决现有技术中的多对一问题的和队头问题,具有良好的实施效果。
并且,相比于现有技术,本发明实施例提供的方案综合利用改进了的信用机制、时间片机制、以及流控机制,能够提高传输资源的利用率、提高传输效率、提升***的处理效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种数据传输装置,其特征在于,所述数据传输装置的一端连接至包处理器,另一端连接至互联网络,所述数据传输装置包括:缓存管理单元、信用调度单元;其中,
所述缓存管理单元,用于接收并缓存来自包处理器的数据,确定该缓存的数据的数据量信息,并将确定的数据量信息发送给所述信用调度单元;根据来自所述信用调度单元的数据量指示信息,在缓存的数据中读取与该数据量指示信息相应的数据、并将读取的该数据通过所述信用调度单元基于互联网络发送给与该数据对应的目的数据传输装置;
所述信用调度单元,用于根据来自所述缓存管理单元的数据量信息,生成包括该数据量信息的数据量请求,并将该数据量请求通过互联网络发送给所述缓存管理单元缓存的该数据的目的数据传输装置;通过互联网络接收来自目的数据传输装置的授权指令,该授权指令中包括数据量指示信息,将该数据量指示信息发送给所述缓存管理单元。
2.根据权利要求1所述的装置,其特征在于,
所述缓存管理单元,具体用于将接收到的数据缓存到相应的虚拟输出数据队列VoQ中,确定各个VoQ中缓存的数据的数据量信息,并将确定的各个VoQ的数据量信息发送给所述信用调度单元;
所述信用调度单元,具体用于根据接收到的各个VoQ的数据量信息,对各个VoQ生成包括相应VoQ的数据量信息的数据量请求,将对各个VoQ生成的数据量请求发送给相应的各个VoQ的目的数据传输装置;
所述信用调度单元,具体用于接收来自各个目的数据传输装置的授权指令,所述授权指令中包括与目的数据传输装置相应的VoQ的数据量指示信息,并将接收到的各个VoQ的数据量指示信息发送给所述缓存管理单元;
所述缓存管理单元,具体用于根据接收到的各个VoQ的数据量指示信息,从各个VoQ中读取与对应的数据量指示信息相应的数据,并将从各个VoQ中读取的数据通过所述信用调度单元发送给相应的各个目的数据传输装置。
3.根据权利要求2所述的装置,其特征在于,
所述信用调度单元,具体用于接收来自目的数据传输装置的授权指令,该授权指令中还包括数据输出时间片信息;在接收到该授权指令时,根据所述数据输出时间片信息、对发送所述缓存管理单元读取的数据的时间片进行计时,在该数据输出时间片到来之时,向目的数据传输装置发送所述缓存管理单元读取的数据;
根据预设的数据量请求时间片信息、对发送数据量请求的时间片进行计时,在该数据量请求时间片到来之时,向目的数据传输装置发送数据量请求。
4.一种数据传输方法,其特征在于,包括:
接收并缓存来自包处理器的数据,确定该缓存的数据的数据量信息;
根据确定得到的数据量信息生成包括该数据量信息的数据量请求,将生成的数据量请求发送给缓存的数据的目的数据传输装置;
接收来自所述目的数据传输装置的授权指令,该授权指令中包括数据量指示信息;
根据该数据量指示信息,在缓存的数据中读取与该数据量指示信息相应的数据;
将读取的该数据发送给所述目的数据传输装置。
5.根据权利要求4所述的方法,其特征在于,
缓存来自包处理器的数据、确定该缓存的数据的数据量信息,根据确定得到的数据量信息生成数据量请求,将生成的数据量请求发送给缓存的所述数据的目的数据传输装置,具体包括:
根据接收到的数据中携带的虚拟数据队列VoQ标识,将该数据缓存到相应的VoQ中;
确定各个VoQ中缓存的数据的数据量信息;
对各个VoQ生成包括所确定的相应的数据量信息的数据量请求;
将对各个VoQ生成的数据量请求发送给相应的各个VoQ的目的数据传输装置;
接收来自所述目的数据传输装置的授权指令,在缓存的数据中读取与该数据量指示信息相应的数据,并将读取的该数据发送给所述目的数据传输装置,具体包括:
接收来自各个目的数据传输装置的授权指令,所述授权指令中包括对与目的数据传输装置对应的VoQ的数据量指示信息;
根据接收到的对各个VoQ的数据量指示信息,从各个VoQ中读取与对应的数据量指示信息相应的数据;
将从各个VoQ中读取的数据发送给各个对应的目的数据传输装置。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收到的所述授权指令中还包括:数据输出时间片信息;在接收到该授权指令时,根据所述数据输出时间片信息、对发送按照数据量指示信息读取的数据的时间片进行计时,在该数据输出时间片到来之时,向目的数据传输装置发送读取的数据;
根据预设的数据量请求时间片信息、对发送数据量请求的时间片进行计时,在该数据量请求时间片到来之时,向目的数据传输装置发送数据量请求。
7.一种数据传输装置,其特征在于,所述数据传输装置的一端连接至包处理器,另一端连接至互联网络,所述数据传输装置包括:信用调度单元、缓存管理单元,其中;
所述信用调度单元,用于通过互联网络接收来自源数据传输装置的数据量请求,该数据量请求中包括数据量信息;获取所述缓存管理单元中空闲的缓存空间信息;根据接收到的所述数据量请求中的数据量信息和获取到的所述缓存管理单元中空闲的缓存空间信息生成授权指令,该授权指令中包括数据量指示信息;将所述授权指令通过互联网络发送给所述源数据传输装置;通过互联网络接收来自所述源数据传输装置按照所述授权指令中的数据量指示信息发送来的数据,并将接收到的该数据发送给缓存管理单元;
所述缓存管理单元,接收并缓存来自所述信用调度单元的数据;将该数据发送给包处理器。
8.根据权利要求7所述的装置,其特征在于,所述信用调度单元,具体用于接收来自各个源数据传输装置的对其中的VoQ的数据量请求,该数据量请求中包括有VoQ的数据量信息;获取所述缓存管理模块中各个数据输出队列OQ中空闲存储空间信息;根据接收到的各个源数据传输装置的VoQ的数据量信息、获取的各个OQ的空闲存储空间信息,以及对各个OQ预设的优先级信息,生成对各个源数据传输装置的授权指令,该授权指令中包括指示各个源数据传输装置中输出数据的数据量指示信息。
9.根据权利要求8所述的装置,其特征在于,所述信用调度单元,具体根据所述缓存管理单元中各个OQ中空闲的缓存空间信息、以及对各个OQ预设的优先级信息,确定各个OQ接收数据的数据量;按照确定的各个OQ接收数据的数据量、与相应的源数据传输装置中VoQ的数据量信息所指示的数据量的比例,确定与各个OQ相对应的各个源数据传输装置中的VoQ发送数据的数据量,并将确定的数据量作为数据量指示信息携带在授权指令中发送给相应的各个源数据传输装置。
10.根据权利要求9所述的装置,其特征在于,所述信用调度单元具体还用于:
根据确定的各个OQ接收数据的数据量,为各个源数据传输装置分配发送数据的数据输出时间片,将分配的数据输出时间片信息携带在所述授权指令中;
根据预设的授权指令发送时间片信息,对发送授权指令的时间进行计时,在该授权指令发送时间片到来时,给向各个源数据传输装置发送授权指令。
11.根据权利要求10所述的装置,其特征在于,所述信用调度单元具体还用于:
根据确定的各个OQ接收数据的数据量,为当前OQ确定向该OQ发送数据的时间段,按照为与该OQ对应的各个源数据传输装置所确定的数据量之间的比例关系、将确定的时间段划分为多个子时间片,将划分的该多个子时间片分别作为与当前OQ相对应的各个源数据传输装置的数据输出时间片。
12.一种数据传输方法,其特征在于,包括:
接收来自源数据传输装置的数据量请求,该数据量请求中包括数据量信息;获取空闲的缓存空间信息;根据接收到的所述数据量请求中的数据量信息和获取到的空闲的缓存空间信息生成授权指令,该授权指令中包括数据量指示信息;将生成的授权指令发送给源数据传输装置;
接收来自源数据传输装置根据所述授权指令中的数据量指示信息发送来的数据,并缓存接收到的该数据;将缓存的数据发送给包处理器。
13.根据权利要求12所述的方法,其特征在于,接收来自源数据传输装置的数据量请求,获取空闲的缓存空间信息,根据接收到的所述数据量请求中的数据量信息和获取到的空闲的缓存空间信息生成授权指令,将生成的授权指令发送给源数据传输装置,包括:
接收来自各个源数据传输装置的数据量请求,该数据量请求中包括有源数据传输装置的VoQ中的数据量信息;获取各个数据输出队列OQ中空闲存储空间信息;根据接收到的各个源数据传输装置的VoQ的数据量信息、获取的各个OQ的空闲存储空间信息,以及对各个OQ预设的优先级信息,生成对各个源数据传输装置的授权指令,该授权指令中包括指示源数据传输装置输出数据的数据量指示信息;将对各个源数据传输装置的授权指令发送给相应的各个源数据传输装置。
14.根据权利要求13所述的方法,其特征在于,生成对各个源数据传输装置的授权指令包括:
根据各个OQ中空闲的缓存空间信息、以及对各个OQ预设的优先级信息,确定各个OQ接收数据的数据量;按照确定的各个OQ接收数据的数据量、与各个OQ对应的源数据传输装置的数据量信息所指示的数据量的比例,确定与各个OQ相对应的源数据传输装置发送数据的数据量,并将确定的数据量作为数据量指示信息携带在授权指令中。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
根据确定的各个OQ接收数据的数据量,为各个源数据传输装置分配发送数据的数据输出时间片,将分配的数据输出时间片信息携带在所述授权指令中;
根据预设的授权指令发送时间片信息,对发送授权指令的时间进行计时,在该授权指令发送时间片到来时,给向各个源数据传输装置发送授权指令。
16.根据权利要求15所述的方法,其特征在于,为各个源数据传输装置分配发送数据的数据输出时间片包括:
根据确定的各个OQ接收数据的数据量,为当前OQ确定向该OQ发送数据的时间段,按照为与该OQ对应的各个源数据传输装置所确定的数据量之间的比例关系、将确定的时间段划分为多个子时间片,将划分的该多个子时间片分别作为与当前OQ相对应的各个源数据传输装置的数据输出时间片。
17.一种数据传输***,其特征在于,包括:如权利要求1至3中任一项所述的数据传输装置;和,如权利要求7至11中任一项所述的数据传输装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110421048.6A CN102546098B (zh) | 2011-12-15 | 2011-12-15 | 数据传输装置、方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110421048.6A CN102546098B (zh) | 2011-12-15 | 2011-12-15 | 数据传输装置、方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546098A true CN102546098A (zh) | 2012-07-04 |
CN102546098B CN102546098B (zh) | 2015-01-21 |
Family
ID=46352125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110421048.6A Active CN102546098B (zh) | 2011-12-15 | 2011-12-15 | 数据传输装置、方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546098B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014169883A3 (zh) * | 2013-07-31 | 2014-12-11 | 中兴通讯股份有限公司 | 虚拟输出队列授权管理方法、装置及计算机存储介质 |
CN104378295A (zh) * | 2013-08-12 | 2015-02-25 | 中兴通讯股份有限公司 | 表项管理装置及表项管理方法 |
CN104753818A (zh) * | 2013-12-30 | 2015-07-01 | 深圳市中兴微电子技术有限公司 | 一种队列调度方法和装置 |
CN107979544A (zh) * | 2016-10-25 | 2018-05-01 | 华为技术有限公司 | 一种ip报文的转发方法、设备和*** |
CN109471803A (zh) * | 2018-11-05 | 2019-03-15 | 湖南工学院 | 基于人因可靠性的复杂工业***数字化人机界面画面配置方法 |
WO2019062589A1 (zh) * | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 控制流量的方法及装置 |
CN109714128A (zh) * | 2017-10-25 | 2019-05-03 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
WO2019200568A1 (zh) * | 2018-04-18 | 2019-10-24 | 华为技术有限公司 | 一种数据通信方法及装置 |
WO2021134621A1 (zh) * | 2019-12-31 | 2021-07-08 | 华为技术有限公司 | 调度报文的方法和装置 |
CN113438182A (zh) * | 2021-03-30 | 2021-09-24 | 南京大学 | 一种基于信用的流量控制***和流量控制方法 |
US11803490B2 (en) | 2019-03-27 | 2023-10-31 | Wuxi Hisky Medical Technologies Co., Ltd. | Apparatus and method for data transmission and readable storage medium |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020154649A1 (en) * | 2001-02-23 | 2002-10-24 | Masayuki Takase | Packet switching system |
WO2004012404A2 (en) * | 2002-07-25 | 2004-02-05 | Cisco Technology, Inc | Methods and apparatus for credit-based flow control |
CN1853386A (zh) * | 2003-10-03 | 2006-10-25 | 富士通株式会社 | 虚拟集中的上行链路调度 |
CN101242363A (zh) * | 2002-05-10 | 2008-08-13 | 美商内数位科技公司 | 以信道品质条件为基础的认识流控制 |
CN101621460A (zh) * | 2008-06-30 | 2010-01-06 | 中兴通讯股份有限公司 | 一种分组调度方法和装置 |
US20100061392A1 (en) * | 2006-04-27 | 2010-03-11 | Ofer Iny | Method, device and system of scheduling data transport over a fabric |
CN101848493A (zh) * | 2009-03-25 | 2010-09-29 | 大唐移动通信设备有限公司 | 一种上行调度的缓存确定方法及基站 |
CN102075436A (zh) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 以太网络及其数据传输方法和装置 |
-
2011
- 2011-12-15 CN CN201110421048.6A patent/CN102546098B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020154649A1 (en) * | 2001-02-23 | 2002-10-24 | Masayuki Takase | Packet switching system |
CN101242363A (zh) * | 2002-05-10 | 2008-08-13 | 美商内数位科技公司 | 以信道品质条件为基础的认识流控制 |
WO2004012404A2 (en) * | 2002-07-25 | 2004-02-05 | Cisco Technology, Inc | Methods and apparatus for credit-based flow control |
CN1853386A (zh) * | 2003-10-03 | 2006-10-25 | 富士通株式会社 | 虚拟集中的上行链路调度 |
US20100061392A1 (en) * | 2006-04-27 | 2010-03-11 | Ofer Iny | Method, device and system of scheduling data transport over a fabric |
CN101621460A (zh) * | 2008-06-30 | 2010-01-06 | 中兴通讯股份有限公司 | 一种分组调度方法和装置 |
CN101848493A (zh) * | 2009-03-25 | 2010-09-29 | 大唐移动通信设备有限公司 | 一种上行调度的缓存确定方法及基站 |
CN102075436A (zh) * | 2011-02-10 | 2011-05-25 | 成都市华为赛门铁克科技有限公司 | 以太网络及其数据传输方法和装置 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9940471B2 (en) | 2013-07-31 | 2018-04-10 | Zte Corporation | Virtual output queue authorization management method and device, and computer storage medium |
WO2014169883A3 (zh) * | 2013-07-31 | 2014-12-11 | 中兴通讯股份有限公司 | 虚拟输出队列授权管理方法、装置及计算机存储介质 |
CN104378295B (zh) * | 2013-08-12 | 2019-03-26 | 中兴通讯股份有限公司 | 表项管理装置及表项管理方法 |
CN104378295A (zh) * | 2013-08-12 | 2015-02-25 | 中兴通讯股份有限公司 | 表项管理装置及表项管理方法 |
CN104753818A (zh) * | 2013-12-30 | 2015-07-01 | 深圳市中兴微电子技术有限公司 | 一种队列调度方法和装置 |
WO2015100915A1 (zh) * | 2013-12-30 | 2015-07-09 | 深圳市中兴微电子技术有限公司 | 一种队列调度方法和装置、计算机存储介质 |
EP3091699A4 (en) * | 2013-12-30 | 2017-06-07 | Sanechips Technology Co., Ltd. | Queue scheduling method and device, and computer storage medium |
US10079772B2 (en) | 2013-12-30 | 2018-09-18 | Sanechips Technology Co., Ltd. | Queue scheduling method and device, and computer storage medium |
CN104753818B (zh) * | 2013-12-30 | 2019-04-30 | 深圳市中兴微电子技术有限公司 | 一种队列调度方法和装置 |
CN107979544A (zh) * | 2016-10-25 | 2018-05-01 | 华为技术有限公司 | 一种ip报文的转发方法、设备和*** |
CN109600316A (zh) * | 2017-09-30 | 2019-04-09 | 华为技术有限公司 | 控制流量的方法及装置 |
CN109600316B (zh) * | 2017-09-30 | 2022-08-26 | 华为技术有限公司 | 控制流量的方法及装置 |
WO2019062589A1 (zh) * | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 控制流量的方法及装置 |
US11323916B2 (en) | 2017-09-30 | 2022-05-03 | Huawei Technologies Co., Ltd. | Flow control method and apparatus |
US11165705B2 (en) | 2017-10-25 | 2021-11-02 | Huawei Technologies Co., Ltd. | Data transmission method, device, and computer storage medium |
CN109714128A (zh) * | 2017-10-25 | 2019-05-03 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
CN109714128B (zh) * | 2017-10-25 | 2021-12-31 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
WO2019200568A1 (zh) * | 2018-04-18 | 2019-10-24 | 华为技术有限公司 | 一种数据通信方法及装置 |
CN111434079B (zh) * | 2018-04-18 | 2022-04-26 | 华为技术有限公司 | 一种数据通信方法及装置 |
CN111434079A (zh) * | 2018-04-18 | 2020-07-17 | 华为技术有限公司 | 一种数据通信方法及装置 |
US11646978B2 (en) | 2018-04-18 | 2023-05-09 | Huawei Technologies Co., Ltd. | Data communication method and apparatus |
CN109471803B (zh) * | 2018-11-05 | 2021-10-01 | 湖南工学院 | 基于人因可靠性的复杂工业***数字化人机界面画面配置方法 |
CN109471803A (zh) * | 2018-11-05 | 2019-03-15 | 湖南工学院 | 基于人因可靠性的复杂工业***数字化人机界面画面配置方法 |
US11803490B2 (en) | 2019-03-27 | 2023-10-31 | Wuxi Hisky Medical Technologies Co., Ltd. | Apparatus and method for data transmission and readable storage medium |
WO2021134621A1 (zh) * | 2019-12-31 | 2021-07-08 | 华为技术有限公司 | 调度报文的方法和装置 |
CN113438182A (zh) * | 2021-03-30 | 2021-09-24 | 南京大学 | 一种基于信用的流量控制***和流量控制方法 |
CN113438182B (zh) * | 2021-03-30 | 2023-05-19 | 南京大学 | 一种基于信用的流量控制***和流量控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102546098B (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546098A (zh) | 数据传输装置、方法及*** | |
CN104539440B (zh) | 具有入口控制的业务量管理 | |
CN101557348B (zh) | 一种基于令牌桶的报文转发方法及装置 | |
CN107634913B (zh) | 一种业务流量控制及区分服务的星载设备*** | |
CN105871739B (zh) | 一种处理报文的方法及计算设备 | |
CN100550853C (zh) | 一种基于输出队列的流控实现方法及装置 | |
CN103493448A (zh) | 分层成形调度和定形 | |
CN101494579B (zh) | 总线调度装置及方法 | |
CN110474670B (zh) | 一种基于FPGA的SpaceFibre星载网络服务质量控制*** | |
CN101562841B (zh) | 业务调度方法、装置和*** | |
EP2950490B1 (en) | Hierarchical service quality scheduling method and apparatus | |
CN109587796A (zh) | 一种调度请求配置方法、发送方法以及对应装置 | |
CN109728927A (zh) | 时延优化方法、业务调度方法及存储介质 | |
CN109639560A (zh) | 改善实时计算机网络的可用性的方法 | |
CN102387076A (zh) | 一种结合整形的分级式队列调度方法 | |
CN110120854A (zh) | 传输数据的方法和装置 | |
CN106301696B (zh) | 一种超低时延业务的突发数据发送、接收方法及装置 | |
CN103607343A (zh) | 一种适用于星载处理转发器的混合交换结构 | |
CN110380978A (zh) | 多路径传输的调度方法、装置、计算机设备和存储介质 | |
US20140341040A1 (en) | Method and system for providing deterministic quality of service for communication devices | |
CN106921586B (zh) | 一种数据流整形方法、数据调度方法以及装置 | |
US8943236B1 (en) | Packet scheduling using a programmable weighted fair queuing scheduler that employs deficit round robin | |
CN101616096A (zh) | 队列调度方法及装置 | |
CN108234350B (zh) | 一种调度方法及客户驻地设备 | |
CN106850714A (zh) | 缓存共享方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS CO., LTD. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Fujian Xingwangruijie Network Co., Ltd. |
|
CP01 | Change in the name or title of a patent holder |