CN114124856B - 一种流量控制的方法、装置及存储介质 - Google Patents
一种流量控制的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114124856B CN114124856B CN202111324465.9A CN202111324465A CN114124856B CN 114124856 B CN114124856 B CN 114124856B CN 202111324465 A CN202111324465 A CN 202111324465A CN 114124856 B CN114124856 B CN 114124856B
- Authority
- CN
- China
- Prior art keywords
- message
- fifo queue
- fifo
- messages
- target transmission
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000005540 biological transmission Effects 0.000 claims abstract description 144
- 238000012545 processing Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及通信技术领域,公开了一种流量控制的方法、装置及存储介质,该方法应用于千兆网卡,包括:获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备,将报文加入与目标传输设备对应的FIFO队列中,监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口,同一个FIFO队列中各个报文的传输时间间隔相同,FIFO队列的个数与CPRI接口的数量相同,各个FIFO队列对应的目标传输设备不同,通过设置与CPRI接口数量一致的FIFO队列,实现了报文的并行传输,避免了CPRI口带宽溢出。
Description
技术领域
本公开涉及通信技术领域,提供了一种流量控制的方法、装置及存储介质。
背景技术
随着通信技术的发展,标准化的基带-射频接口越来越受到各厂家的关注,其中,最常见的是通用公共无线接口(Common Public Radio Interface,CPRI)。由于CPRI在实现上的经济简便性受到了多方厂家的支持。参阅图1所示,5G(5th Generation,5G)基带处理单元(Base band Unite,BBU)和下联HUB(拉远扩展单元)/射频拉远单元(Remote RadioUnit,RRU)之间的通信同样采用CPRI接口。
实施过程中,CPRI接口将主要带宽用来传输运营商的业务数据,剩下的带宽用来传输以太网管理数据,也就是操作管理和维护(Operations Administration andMaintenance,OAM)管理通道。具体的,OAM管理通道,主要用于将BBU下发的配置发送到HUB/RRU,获取HUB/RRU上的状态信息,以及协助HUB/RRU获取升级包。
然而,根据协议规范,每个CPRI接口分配的理论带宽不超过300Mb/s,而5G基站的协议栈(即CPU端)通过标准千兆网卡的环形缓冲区DMA环将管理数据发送给现场可编程门阵列(Field Programmable Gate Array,FPGA),FPGA再将管理数据流通过CPRI接口转发给下级HUB/RRU设备。因此,如果千兆速率流量直接发送到CPRI接口,会引起CPRI接口带宽溢出,导致性能恶化。
为了解决上述问题,需要实现OAM管理通道的流量控制,以保证CPRI接口的输入流量不超过其最大带宽限制。但由于FPGA资源有限,无法实现大量报文的缓存,因此,不能直接从FPGA端限制CPRI接口的输入流量。目前,普遍采取的限流措施为在5G基站的CPU端限制千兆网卡的输出流量,进而达到控制5G基站中OAM管理通道流量的目的。常见的,5G基站的CPU端限制千兆网卡的输出流量的方式有两种:第一种方式是由千兆网卡来为发包加延时,该方式在千兆网卡与OAM管理通道(即一路CPRI接口)一对一的场景下能够达到较好的性能,若千兆网卡与OAM管理通道是一对多的(即多路CPRI接口),那么每一个OAM管理通道会“均分”CPRI接口的理论带宽;第二种方式是通过流量控制器来对千兆网卡进行限度,通常,限速值不超过上述理论带宽,但这种方式仍无法避免突发报文所造成的瞬时速率超过理论带宽,进而导致CPRI口带宽溢出的情况。
发明内容
本公开实施例提供一种流量控制的方法、装置及存储介质,用以限定CPRI口的流量,进一步提升了CPRI口的传输效率。
本公开提供的具体技术方案如下:
第一方面,本公开实施例提供了一种流量控制的方法,方法应用于千兆网卡,千兆网卡设置在5G基站的中央处理器CPU端和现场可编程门阵列FPGA之间,其中,FPGA包括多个通用公共无线接口CPRI接口,包括:
获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备;
将报文加入与目标传输设备对应的先进先出FIFO队列中,其中,同一个FIFO队列中各个报文的传输时间间隔相同,FIFO队列的个数与CPRI接口的数量相同,且,各个FIFO队列对应的目标传输设备不同;
在监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,并将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口。
可选地,将报文加入与目标传输设备对应的先进先出FIFO队列中之前,还包括:
确定FPGA中包括的CPRI接口对应的目标传输设备;
为对应不同目标传输设备的各个CPRI接口,分别创建相对应的FIFO队列。
可选地,将报文加入与目标传输设备对应的FIFO队列中,包括:
从各个FIFO队列中,确定目标传输设备对应的FIFO队列;
将报文加入确定的FIFO队列中。
可选地,将报文加入确定的FIFO队列中,包括:
判断确定的FIFO队列中已存储的报文数量是否达到FIFO队列的最大报文存储数量;
若是,则向CPU端发送满队状态信号,以使CPU端暂停向确定的FIFO队列发送报文;
否则,将报文加入确定的FIFO队列的队尾。
可选地,在监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,并将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口,包括:
若监测到任意一个FIFO队列的传输时间间隔达到时,则控制任意一个FIFO队列的队首的报文出队;
获取任意一个出队的报文携带的目的网址,以及,分别获取FPGA中各个CPRI接口对应的各个目标传输设备的网络地址;
从网络地址中查找与目的网址相一致的网络地址,将查找到的网络地址对应的CPRI接口确定为目标CPRI接口;
将出队的报文发送给的目标CPRI接口。
可选地,若监测到任意一个FIFO队列的传输时间间隔达到时,则控制任意一个FIFO队列的队首的报文出队,还包括:
若监测到至少两个FIFO队列的传输时间间隔达到,则控制至少两个FIFO队列的队首的报文同时出队,并将同时出队的多个报文置于待发送的报文序列中;
将出队的报文发送给的目标CPRI接口,包括:
将待发送的报文序列中的各个报文分别按照预设的待发送顺序发送给对应的目标CPRI接口。
第二方面,本公开实施例还提供了一种流量控制的装置,包括:
获取单元,用于获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备;
入队单元,用于将报文加入与目标传输设备对应的先进先出FIFO队列中,其中,同一个FIFO队列中各个报文的传输时间间隔相同,FIFO队列的个数与CPRI接口的数量相同,且,各个FIFO队列对应的目标传输设备不同;
控制单元,用于在监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,并将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口。
可选地,将报文加入与目标传输设备对应的先进先出FIFO队列中之前,还包括:
确定FPGA中包括的CPRI接口对应的目标传输设备;
为对应不同目标传输设备的各个CPRI接口,分别创建相对应的FIFO队列。
可选地,入队单元用于:
从各个FIFO队列中,确定目标传输设备对应的FIFO队列;
将报文加入确定的FIFO队列中。
可选地,入队单元用于:
判断确定的FIFO队列中已存储的报文数量是否达到FIFO队列的最大报文存储数量;
若是,则向CPU端发送满队状态信号,以使CPU端暂停向确定的FIFO队列发送报文;
否则,将报文加入确定的FIFO队列的队尾。
可选地,控制单元用于:
若监测到任意一个FIFO队列的传输时间间隔达到时,则控制任意一个FIFO队列的队首的报文出队;
获取任意一个出队的报文携带的目的网址,以及,分别获取FPGA中各个CPRI接口对应的各个目标传输设备的网络地址;
从网络地址中查找与目的网址相一致的网络地址,将查找到的网络地址对应的CPRI接口确定为目标CPRI接口;
将出队的报文发送给的目标CPRI接口。
可选地,控制单元还用于:
若监测到至少两个FIFO队列的传输时间间隔达到,则控制至少两个FIFO队列的队首的报文同时出队,并将同时出队的多个报文置于待发送的报文序列中;
将出队的报文发送给的目标CPRI接口,包括:
将待发送的报文序列中的各个报文分别按照预设的待发送顺序发送给对应的目标CPRI接口。
第三方面,一种千兆网卡,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行存储器中存储的可执行指令,以实现如第一方面任一项的方法。
第四方面,一种计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述第一方面任一项所述的方法。
本公开有益效果如下:
综上所述,本公开实施例中,提供的一种流量控制的方法、装置及存储介质,该方法应用于千兆网卡,千兆网卡设置在5G基站的CPU端和FPGA之间,其中,FPGA包括多个CPRI接口,包括:获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备,将报文加入目标传输设备对应的FIFO队列中,其中,同一个FIFO队列中各个报文的传输时间间隔相同,FIFO队列的个数与CPRI接口的数量相同,并且,各个FIFO队列对应的目标传输设备不同,在监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,并将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口,通过设置与CPRI接口数量一致的FIFO队列,实现了待传输报文的并行有序传输,有效避免了CPRI口带宽溢出的情况。
本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本公开的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1为本公开实施例中千兆网卡对流量进行控制的系统架构示意图;
图2为本公开实施例中千兆网卡对流量进行控制的流程示意图;
图3为本公开实施例中千兆网卡将报文加入到FIFO队列的流程示意图;
图4为本公开实施例中确定向FIFO队列加入报文与否的流程示意图;
图5为本公开实施例中将出队的报文发送给CPRI接口的流程示意图;
图6为本公开实施例中流量控制的装置的逻辑架构示意图;
图7为本公开实施例中千兆网卡的实体架构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开技术方案的一部分实施例,而不是全部的实施例。基于本公开文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开技术方案保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够使用除了在这里图示或描述的那些以外的顺序实施。
下面结合附图对本公开优选的实施方式进行详细说明。
参阅图1所示,本公开实施例中,系统中包含了至少一个5G基站的中央处理器(Central Processing Unit,CPU)端、千兆网卡和现场可编程门阵列(Field ProgrammableGate Array,FPGA)。上述千兆网卡设置在5G基站的CPU端和FPGA之间,千兆网卡与CPU端之间的传输端口只有一个,千兆网卡与FPGA之间的传输端口也只有一个。需要进行说明的是,FPGA包括多个通用公共无线接口(Common Public Radio Interface,CPRI)接口。系统中对流量进行控制的执行主体是千兆网卡。
实施过程中,待传输的报文从5G基站中的CPU端发送给千兆网卡,再由千兆网卡发送给FPGA,具体的,待传输的报文发送给设置在FPGA内部的多个对应不同目标传输设备的CPRI接口。
下面具体介绍本公开实施例中,千兆网卡进行流量控制的具体流程,参阅图2所示,具体步骤如下:
步骤201:获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备。
在5G基站中的CPU端存在大量的待传输的报文,上述各个报文可能都要传送到不同的目标传输设备中去,即每个报文中都携带有不同的目的地址。
实施过程中,为了将每一个待传输的报文准确的传输到对应的目标传输设备中去,在获取5G基站中CPU端待传输的报文时,同时也要获取待传输的报文的目的地址,该目的地址中携带有对应的目标传输设备的设备地址号、网址等信息,实施过程中,解析该目的地址,获得报文对应的目标传输设备,实施过程中,在从5G基站中的CPU端获取到待传输的报文后,对待传输的报文的目的地址进行解析,从而获得其对应的目标传输设备。
例如,当待传输的报文的目的地址为xxxx虚拟局域网A中的设备Ayyy时,解析该目的地址,获得对应的目标传输设备为虚拟局域网A中的设备A。以便对报文进一步进行处理。
步骤202:将报文加入与目标传输设备对应的先进先出FIFO队列中,其中,同一个FIFO队列中各个报文的传输时间间隔相同,FIFO队列的个数与CPRI接口的数量相同,且,各个FIFO队列对应的目标传输设备不同。
在将报文加入到FIFO队列之前,需要先创建FIFO队列。实施过程中,将报文加入与目标传输设备对应的先进先出FIFO队列中之前,还包括:
(1)确定FPGA中包括的CPRI接口对应的目标传输设备。
考虑到协议规范下,每个CPRI接口分配的理论带宽不超过300Mb/s,并且,每一个CPRI接口对应的目标传输设备都不同。在实施过程中,需要逐一确定FPGA中包括的CPRI接口对应的目标传输设备。
例如,在FPGA中包括三个CPRI接口,确定这三个CPRI接口分别对应的目标传输设备为:CPRI接口1对应的目标传输设备为虚拟局域网A中的设备A;CPRI接口2对应的目标传输设备为虚拟局域网B中的设备B;CPRI接口3对应的目标传输设备为虚拟局域网C中的设备C。
(2)为对应不同目标传输设备的各个CPRI接口,分别创建相对应的FIFO队列。
实施过程中,在确定出各个CPRI接口对应的不同的目标传输设备后,分别为各个CPRI接口创建相对应的FIFO队列,以使CPRI接口与FIFO队列形成一条指向同一个目标传输设备的传输链路。
仍以上例来进行说明,在确定CPRI接口1对应的目标传输设备为虚拟局域网A中的设备A;CPRI接口2对应的目标传输设备为虚拟局域网B中的设备B;CPRI接口3对应的目标传输设备为虚拟局域网C中的设备C的情况下,为CPRI接口1创建相对应的FIFO队列1,从而使FIFO队列1与CPRI接口1都指向虚拟局域网A中的设备A;为CPRI接口2创建相对应的FIFO队列2,从而使FIFO队列2与CPRI接口2都指向虚拟局域网B中的设备B;为CPRI接口3创建相对应的FIFO队列3,从而使FIFO队列3与CPRI接口3都指向虚拟局域网C中的设备C。
在建立好FIFO队列后,将报文加入与目标传输设备对应的FIFO队列中,参阅图3所示,包括:
步骤2021:从各个FIFO队列中,确定目标传输设备对应的FIFO队列。
实施过程中,在创建的各个FIFO队列中,筛选与步骤2021中确定出来的目标传输设备相对应的FIFO队列。
仍以上例来进行说明,在为CPRI接口1创建相对应的FIFO队列1,从而使FIFO队列1与CPRI接口1都指向虚拟局域网A中的设备A;为CPRI接口2创建相对应的FIFO队列2,从而使FIFO队列2与CPRI接口2都指向虚拟局域网B中的设备B;为CPRI接口3创建相对应的FIFO队列3,从而使FIFO队列3与CPRI接口3都指向虚拟局域网C中的设备C的情况下,从FIFO队列1、FIFO队列2和FIFO队列3中筛选出与的目标传输设备(即虚拟局域网A中的设备A)相对应的FIFO队列,即FIFO队列1。
在明确了确定的FIFO队列之后即可将报文加入对应的FIFO队列中,即步骤2022:将报文加入确定的FIFO队列中。
实施过程中,在确定出待传输的报文对应的FIFO队列后,将报文加入确定的FIFO队列中,参阅图4所示,具体包括:
步骤20221:判断确定的FIFO队列中已存储的报文数量是否达到FIFO队列的最大报文存储数量。若是,则执行步骤20222;否则,执行步骤20223。
需要进行说明的是,在兼顾报文传输效率和在千兆网卡中占用内存大小的基础上,上述各个FIFO队列都设置有最大报文存储数量,即每个FIFO队列的长度都是有限的,因此,每个FIFO队列所能存储的报文的数量也是有限的。
为了避免过多的报文放入FIFO队列中会出现报文溢出的现象,在实施过程中,判断确定的FIFO队列中已存储的报文数量是否达到FIFO队列的最大报文存储数量。第一种情况,如果FIFO队列中已存储的报文数量达到了FIFO队列的最大报文存储数量,则说明该FIFO队列已经不能再装载更多的报文;第二种情况,如果FIFO队列中已存储的报文数量没有达到FIFO队列的最大报文存储数量,则说明该FIFO队列还可以再装载更多的报文。
步骤20222:向CPU端发送满队状态信号,以使CPU端暂停向确定的FIFO队列发送报文。
对应步骤20221中的第一种情况,即该FIFO队列已经不能再装载更多的报文了,在这种情况下,千兆网卡向CPU端发送满队状态信号,即将该FIFO队列不能再装载更多的报文的情况反馈给CPU端,CPU端暂停向确定的FIFO队列发送报文,从而避免该FIFO队列溢出报文的情况。由CPU端暂存上述报文,待该FIFO队列中空闲存储空间后再接收暂存的报文。
步骤20223:将报文加入确定的FIFO队列的队尾。
对应步骤20231中的第二种情况,即该确定的FIFO队列还能够再装载更多的报文,在这种情况下,CPU端向千兆网卡发送报文,并将报文放置在该确定的FIFO队列的队尾,即最新存入FIFO队列的报文在已存入FIFO队列的报文之后发送。
步骤203:在监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,并将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口。
实施过程中,千兆网卡会监测所有FIFO队列的传输情况,并控制FIFO队列中的报文出队,参阅图5所示,下面先介绍千兆网卡针对一个FIFO队列进行监测的情况,具体包括:
这里先要进行补充说明的是,同一个FIFO队列中各个报文的传输时间间隔相同,考虑到CPU端是随机生成报文的,为了避免突发的大量报文对传输造成的影响,在一个FIFO队列设置传输时间间隔,即为同一个FIFO队列中的各个报文设置固定的传输时间间隔。实施过程中,不同的FIFO队列中各个报文的传输时间间隔可以相同也可以不同,具体的各个FIFO队列的传输时间间隔的设置可根据情况进行灵活设定。
步骤2031:若监测到任意一个FIFO队列的传输时间间隔达到时,则控制任意一个FIFO队列的队首的报文出队。
实施过程中,针对任意一个FIFO队列执行如下操作:在监测到一个FIFO队列的传输时间间隔达到时,即上述一个FIFO队列中的报文已经移动到该队列的队首了,在这种情况下,则控制位于该FIFO队列的队首的报文出队。
步骤2032:获取任意一个出队的报文携带的目的网址,以及,分别获取FPGA中各个CPRI接口对应的各个目标传输设备的网络地址。
实施过程中,在报文出队后,千兆网卡对其进行进一步处理,即获取出队的报文携带的目的网址,例如,获取到FIFO队列1中出队的报文X携带的目的网址为虚拟局域网A中的设备A的网络地址AXXXX。
为了能够明确该出队的报文应发往FPGA中的哪一个CPRI接口,实施过程中,还需要分别获取FPGA中各个CPRI接口对应的各个目标传输设备的网络地址。例如,千兆网卡获取到的CPRI接口1对应的目标传输设备的网络地址为虚拟局域网A中的设备A的网络地址AYYYYY,千兆网卡获取到的CPRI接口2对应的目标传输设备的网络地址为虚拟局域网B中的设备B的网络地址BYYYYY,千兆网卡获取到的CPRI接口3对应的目标传输设备的网络地址为虚拟局域网C中的设备C的网络地址CYYYYY,千兆网卡获取到的CPRI接口4对应的目标传输设备的网络地址为虚拟局域网D中的设备D的网络地址DYYYYY。
步骤2033:从网络地址中查找与目的网址相一致的网络地址,将查找到的网络地址对应的CPRI接口确定为目标CPRI接口。
仍以上例来进行说明,在上述网络地址AYYYYY、BYYYYY、CYYYYY和DYYYYY中查找与上述目的网址即虚拟局域网A中的设备A的网络地址AXXXX相一致的网络地址,即可确定与目的网址相一致的网络地址为AYYYYY。
进一步的,从上述网络地址中将查找到的网络地址对应的CPRI接口确定为目标CPRI接口,即将AYYYYY对应的CPRI接口1确定为目标CPRI接口。
步骤2034:将出队的报文发送给的目标CPRI接口。
实施过程中,在确定了出队的报文对应的目的网址和与之匹配的目标CPRI接口的网络地址之后,即明确了出队的报文从千兆网卡到FPGA的传输通路之后,将出队的报文发送给的目标CPRI接口。
在介绍完千兆网卡针对一个FIFO队列进行监测的情况后,下面介绍当实施过程中有多个FIFO队列中的报文同时出队时,本申请实施例中,若监测到任意一个FIFO队列的传输时间间隔达到时,则控制任意一个FIFO队列的队首的报文出队,还包括:
若监测到至少两个FIFO队列的传输时间间隔达到,则控制至少两个FIFO队列的队首的报文同时出队,并将同时出队的多个报文置于待发送的报文序列中。
实施过程中,千兆网卡在监测到两个、三个甚至更多个FIFO队列的传输时间间隔达到时,即千兆网卡在同一时刻监测到多个FIFO队列的报文达到队首时,千兆网卡控制至少两个中的每一个FIFO队列的队首的报文同时出队。
为了避免多个报文同时通过千兆网卡的一个传输出口传出而出现传输混乱的情况,将同时出队的报文置于待发送的报文序列中。即在千兆网卡中设置暂存上述多个出队的报文的待发送的报文序列,将上述多个出队的报文都缓存在待发送的报文序列中。
这里,为了保证各个出队的报文在进入报文序列中的完整性,可在实施过程中,对各个出队的报文进行加锁处理,加锁处理的目的是保证各个报文能够分别存储到报文序列中,直到达到该报文的发送时刻后才调用该报文。
之后,将出队的报文发送给的目标CPRI接口,包括:
实施过程中,在出现上述多个报文同时出队的情况时,千兆网卡将待发送的报文序列中的各个报文分别按照预设的待发送顺序发送给对应的目标CPRI接口。
需要说明的是,上述预设的待发送顺序可以是预先设置的,例如,按照FIFO队列的序号顺序、CPRI接口的序号顺序或者其他预先设定的顺序等等。基于该预设的待发送顺序,千兆网卡分别将待发送的报文序列中的各个报文发送给对应的目标CPRI接口。
基于同一发明构思,参阅图6所示,本公开实施例中提供一种流量控制的装置,包括:
获取单元601,用于获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备;
入队单元602,用于将报文加入与目标传输设备对应的先进先出FIFO队列中,其中,同一个FIFO队列中各个报文的传输时间间隔相同,FIFO队列的个数与CPRI接口的数量相同,且,各个FIFO队列对应的目标传输设备不同;
控制单元603,用于在监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,并将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口。
可选地,将报文加入与目标传输设备对应的先进先出FIFO队列中之前,还包括:
确定FPGA中包括的CPRI接口对应的目标传输设备;
为对应不同目标传输设备的各个CPRI接口,分别创建相对应的FIFO队列。
可选地,入队单元602用于:
从各个FIFO队列中,确定目标传输设备对应的FIFO队列;
将报文加入确定的FIFO队列中。
可选地,入队单元602用于:
判断确定的FIFO队列中已存储的报文数量是否达到FIFO队列的最大报文存储数量;
若是,则向CPU端发送满队状态信号,以使CPU端暂停向确定的FIFO队列发送报文;
否则,将报文加入确定的FIFO队列的队尾。
可选地,控制单元603用于:
若监测到任意一个FIFO队列的传输时间间隔达到时,则控制任意一个FIFO队列的队首的报文出队;
获取任意一个出队的报文携带的目的网址,以及,分别获取FPGA中各个CPRI接口对应的各个目标传输设备的网络地址;
从网络地址中查找与目的网址相一致的网络地址,将查找到的网络地址对应的CPRI接口确定为目标CPRI接口;
将出队的报文发送给的目标CPRI接口。
可选地,控制单元603还用于:
若监测到至少两个FIFO队列的传输时间间隔达到,则控制至少两个FIFO队列的队首的报文同时出队,并将同时出队的多个报文置于待发送的报文序列中;
将出队的报文发送给的目标CPRI接口,包括:
将待发送的报文序列中的各个报文分别按照预设的待发送顺序发送给对应的目标CPRI接口。
基于同一发明构思,参阅图7所示,本公开实施例提供一种千兆网卡,包括:处理器701,用于读取并执行存储器中存储的可执行指令,并执行上述第一方面的任意一种方法,存储器702,用于存储可执行指令。
基于同一发明构思,本公开实施例提供一种计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行上述第一方面任一项所述的方法。
综上所述,本公开实施例中,提供的一种流量控制的方法、装置及存储介质,该方法应用于千兆网卡,千兆网卡设置在5G基站的CPU端和FPGA之间,其中,FPGA包括多个CPRI接口,包括:获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备,将报文加入与目标传输设备对应的FIFO队列中,其中,同一个FIFO队列中各个报文的传输时间间隔相同,FIFO队列的个数与CPRI接口的数量相同,并且,各个FIFO队列对应的目标传输设备不同,在监测到FIFO队列的传输时间间隔达到时,控制FIFO队列的队首的报文出队,并将出队的报文发送给FPGA中出队的报文对应的目标传输设备的CPRI接口,通过设置与CPRI接口数量一致的FIFO队列,实现了待传输报文的并行有序传输,有效避免了CPRI口带宽溢出的情况。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品系统。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品系统的形式。
本公开是参照根据本公开的方法、设备(系统)、和计算机程序产品系统的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (9)
1.一种流量控制的方法,其特征在于,所述方法应用于千兆网卡,所述千兆网卡设置在5G基站的中央处理器CPU端和现场可编程门阵列FPGA之间,其中,所述FPGA包括多个通用公共无线接口CPRI接口,包括:
获取5G基站中CPU端待传输的报文的目的地址,解析所述目的地址,获得所述报文对应的目标传输设备;
将所述报文加入与所述目标传输设备对应的先进先出FIFO队列中,其中,同一个所述FIFO队列中各个报文的传输时间间隔相同,所述FIFO队列的个数与所述CPRI接口的数量相同,且,各个所述FIFO队列对应的目标传输设备不同,所述FIFO队列的每一个设置有对应的报文传输时间间隔;
在监测到所述FIFO队列的所述传输时间间隔达到时,控制所述FIFO队列的队首的报文出队,并将出队的所述报文发送给FPGA中所述出队的所述报文对应的目标传输设备的CPRI接口。
2.如权利要求1所述的方法,其特征在于,所述将所述报文加入与所述目标传输设备对应的先进先出FIFO队列中之前,还包括:
确定所述FPGA中包括的CPRI接口对应的目标传输设备;
为对应不同目标传输设备的各个CPRI接口,分别创建相对应的FIFO队列。
3.如权利要求1所述的方法,其特征在于,所述将所述报文加入与所述目标传输设备对应的FIFO队列中,包括:
从所述各个FIFO队列中,确定所述目标传输设备对应的FIFO队列;
将所述报文加入确定的FIFO队列中。
4.如权利要求3所述的方法,其特征在于,所述将所述报文加入确定的FIFO队列中,包括:
判断所述确定的FIFO队列中已存储的报文数量是否达到所述FIFO队列的最大报文存储数量;
若是,则向所述CPU端发送满队状态信号,以使CPU端暂停向所述确定的FIFO队列发送报文;
否则,将所述报文加入确定的FIFO队列的队尾。
5.如权利要求1所述的方法,其特征在于,所述在监测到所述FIFO队列的所述传输时间间隔达到时,控制所述FIFO队列的队首的报文出队,并将出队的所述报文发送给FPGA中出队的报文对应的目标传输设备的所述CPRI接口,包括:
若监测到任意一个FIFO队列的所述传输时间间隔达到时,则控制所述任意一个FIFO队列的队首的报文出队;
获取任意一个出队的报文携带的目的网址,以及,分别获取所述FPGA中各个所述CPRI接口对应的各个目标传输设备的网络地址;
从所述网络地址中查找与所述目的网址相一致的网络地址,将查找到的网络地址对应的CPRI接口确定为目标CPRI接口;
将所述出队的报文发送给的所述目标CPRI接口。
6.如权利要求5所述的方法,其特征在于,所述若监测到任意一个所述FIFO队列的所述传输时间间隔达到时,则控制任意一个所述FIFO队列的队首的报文出队,还包括:
若监测到至少两个FIFO队列的所述传输时间间隔达到,则控制所述至少两个FIFO队列的队首的报文同时出队,并将同时出队的多个报文置于待发送的报文序列中;
所述将所述出队的报文发送给的所述目标CPRI接口,包括:
将所述待发送的报文序列中的各个报文分别按照预设的待发送顺序发送给对应的目标CPRI接口。
7.一种流量控制的装置,其特征在于,所述流量控制的装置设置于千兆网卡,所述千兆网卡设置在5G基站的中央处理器CPU端和现场可编程门阵列FPGA之间,其中,所述FPGA包括多个通用公共无线接口CPRI接口,所述流量控制的装置包括:
获取单元,用于获取5G基站中CPU端待传输的报文的目的地址,解析目的地址,获得报文对应的目标传输设备;
入队单元,用于将所述报文加入与所述目标传输设备对应的先进先出FIFO队列中,其中,同一个所述FIFO队列中各个报文的传输时间间隔相同,所述FIFO队列的个数与所述CPRI接口的数量相同,且,各个所述FIFO队列对应的目标传输设备不同,所述FIFO队列的每一个设置有对应的报文传输时间间隔;
控制单元,用于在监测到所述FIFO队列的所述传输时间间隔达到时,控制所述FIFO队列的队首的报文出队,并将出队的所述报文发送给FPGA中出队的报文对应的目标传输设备的所述CPRI接口。
8.一种千兆网卡,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于读取并执行所述存储器中存储的可执行指令,以实现如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111324465.9A CN114124856B (zh) | 2021-11-10 | 2021-11-10 | 一种流量控制的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111324465.9A CN114124856B (zh) | 2021-11-10 | 2021-11-10 | 一种流量控制的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124856A CN114124856A (zh) | 2022-03-01 |
CN114124856B true CN114124856B (zh) | 2024-03-19 |
Family
ID=80377842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111324465.9A Active CN114124856B (zh) | 2021-11-10 | 2021-11-10 | 一种流量控制的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124856B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118113445B (zh) * | 2024-04-30 | 2024-07-23 | 浪潮电子信息产业股份有限公司 | 数据传输方法、装置及设备、存储介质和计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707544A (zh) * | 2009-11-20 | 2010-05-12 | 中国人民解放军第二炮兵装备研究院第四研究所 | E1信道多向网桥透传装置及方法 |
CN102932099A (zh) * | 2012-10-11 | 2013-02-13 | 三维通信股份有限公司 | 一种rmii与多个cpri之间的数据传输方法 |
EP3200410A1 (en) * | 2016-01-28 | 2017-08-02 | Alcatel Lucent | Method and system for queueing packets in communication networks |
WO2018099014A1 (zh) * | 2016-12-01 | 2018-06-07 | 深圳市中兴微电子技术有限公司 | 一种基带中频交互方法、系统及存储介质 |
CN113473648A (zh) * | 2021-06-29 | 2021-10-01 | 南京濠暻通讯科技有限公司 | 5g基站ru中rmii与10g接口间数据传输方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2279590A1 (en) * | 2008-04-10 | 2011-02-02 | Time-Critical Networks AB | Calculating packet delay in a multihop ethernet network |
WO2014125337A1 (en) * | 2013-02-15 | 2014-08-21 | Freescale Semiconductor, Inc. | Apparatus, system and method for controlling packet data flow |
US10342032B2 (en) * | 2013-07-04 | 2019-07-02 | Nxp Usa, Inc. | Method and device for streaming control data in a mobile communication system |
WO2015001390A1 (en) * | 2013-07-04 | 2015-01-08 | Freescale Semiconductor, Inc. | Method and device for data streaming in a mobile communication system |
US10404608B2 (en) * | 2014-10-31 | 2019-09-03 | Huawei Technologies Co., Ltd. | Systems, devices, and methods for low-jitter communication over a packet-switched network |
-
2021
- 2021-11-10 CN CN202111324465.9A patent/CN114124856B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707544A (zh) * | 2009-11-20 | 2010-05-12 | 中国人民解放军第二炮兵装备研究院第四研究所 | E1信道多向网桥透传装置及方法 |
CN102932099A (zh) * | 2012-10-11 | 2013-02-13 | 三维通信股份有限公司 | 一种rmii与多个cpri之间的数据传输方法 |
EP3200410A1 (en) * | 2016-01-28 | 2017-08-02 | Alcatel Lucent | Method and system for queueing packets in communication networks |
WO2018099014A1 (zh) * | 2016-12-01 | 2018-06-07 | 深圳市中兴微电子技术有限公司 | 一种基带中频交互方法、系统及存储介质 |
CN113473648A (zh) * | 2021-06-29 | 2021-10-01 | 南京濠暻通讯科技有限公司 | 5g基站ru中rmii与10g接口间数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114124856A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4325803A2 (en) | Packet control method and network apparatus | |
US5289470A (en) | Flexible scheme for buffer space allocation in networking devices | |
EP3073688B1 (en) | Data transmission method, core forwarding device and end point forwarding device | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
CN112039796B (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
CN103812750B (zh) | 数据通信设备cpu收发报文保护系统及方法 | |
CN104378308A (zh) | 报文发送速率检测方法及装置 | |
US9450851B2 (en) | Communication apparatus and method | |
US10225196B2 (en) | Apparatus, system and method for controlling packet data flow | |
WO2019072072A1 (zh) | 一种拥塞流识别方法及网络设备 | |
CN114124856B (zh) | 一种流量控制的方法、装置及存储介质 | |
CN108011845A (zh) | 一种减少时延的方法和装置 | |
WO2016008399A1 (en) | Flow control | |
CN109688070A (zh) | 一种数据调度方法、网络设备及转发单元 | |
CN104954165A (zh) | 一种链路分析的方法、设备及系统 | |
CN104378315A (zh) | 一种capwap隧道数据包传输的方法及装置 | |
CN110417687B (zh) | 一种报文发送与接收方法及装置 | |
CN111726379B (zh) | 一种通信方法及装置 | |
CN105763375B (zh) | 一种数据包发送方法、接收方法及微波站 | |
CN113542148B (zh) | 一种报文聚合方法、装置、网络网卡及可读存储介质 | |
CN108234350B (zh) | 一种调度方法及客户驻地设备 | |
CN103795648A (zh) | 一种队列调度方法、装置及系统 | |
CN111447110B (zh) | 一种数据监控方法及系统 | |
CN117278473A (zh) | 一种拥塞控制方法及相关设备 | |
CN113422741B (zh) | 一种时间触发以太网交换机结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |