一种转发方式自适应切换的数据转发方法及装置

文档序号:1956716 发布日期:2021-12-10 浏览:6次 >En<

阅读说明:本技术 一种转发方式自适应切换的数据转发方法及装置 (Data forwarding method and device for adaptive switching of forwarding modes ) 是由 李龙威 谢鹏 曹丽剑 房亮 谈树峰 陈彬 于 2021-11-12 设计创作,主要内容包括:本发明提供一种转发方式自适应切换的数据转发方法及装置,涉及通信网络设备技术领域。所述方法包括:接收待转发数据,并根据待转发数据获取目标发送端口;根据目标发送端口的速率以及待转发数据的接收端口的速率,确定待转发数据的转发方式;其中,转发方式包括:直接转发、存储转发;根据确定后的转发方式,通过目标发送端口对待转发数据进行转发。本发明同时具备存储转发和直接转发的优势,能够根据待转发数据实现转发方式的动态识别切换,从而能够灵活地适应各种工作场景,弥补了存储转发和直接转发的不足;而且,在复杂的应用场景下,不需要使用多个不同的交换机来满足复杂场景下的多种指标需求,有效降低了设备成本。(The invention provides a data forwarding method and device for adaptive switching of forwarding modes, and relates to the technical field of communication network equipment. The method comprises the following steps: receiving data to be forwarded, and acquiring a target sending port according to the data to be forwarded; determining a forwarding mode of the data to be forwarded according to the rate of the target sending port and the rate of the receiving port of the data to be forwarded; the forwarding mode comprises the following steps: direct forwarding, store forwarding; and forwarding the data to be forwarded through the target sending port according to the determined forwarding mode. The invention has the advantages of both store-and-forward and direct-forward, and can realize dynamic identification switching of forwarding modes according to data to be forwarded, thereby flexibly adapting to various working scenes and making up the defects of store-and-forward and direct-forward; in addition, under a complex application scene, a plurality of different switches are not needed to meet the requirements of various indexes under the complex scene, and the equipment cost is effectively reduced.)

一种转发方式自适应切换的数据转发方法及装置

技术领域

本发明涉及通信网络技术领域,尤其涉及一种转发方式自适应切换的数据转发方法及装置。

背景技术

随着云计算和虚拟化技术的迅速发展,数据中心业务的融合,对交换机的性能、功能、可靠性等提出了更高的要求。交换机目前存在存储转发和直接转发两种实现方式,存储转发交换机将一帧数据完全接收下来,然后进行CRC校验,检查数据是否正确,如果正确再进行转发,如果不正确将数据帧丢弃,其数据转发的延时较大,对于转发时间严格的场景,存储转发的方式无法适用;直接转发交换机接收到数据帧后不进行缓存和校验,而是直接转发到目的端口,其转发延时得到明显降低,然而,在多个端口速率不一致的场景下,从速率慢的接口到速率快的接口进行数据转发时,会导致转发数据的不连续。

为适应复杂的应用场景,现有网络通常为混合网络,需要同时具备存储转发和直接转发的能力,然而,现有技术中,无法通过一台交换机来实现存储转发和直接转发方式的自适应切换,从而无法灵活地适应各种不同的工作场景;另外,在复杂的应用场景下,现有技术中需要多台不同的交换机来满足不同的数据转发需求,设备成本高。因此,目前亟需一种转发方式自适应切换的数据转发方法及装置。

发明内容

本发明提供一种转发方式自适应切换的数据转发方法及装置,用以解决现有技术中无法进行数据转发方式自适应切换的缺陷,实现了存储转发和直接转发的自动识别切换。

本发明提供一种转发方式自适应切换的数据转发方法,包括:

接收待转发数据,并根据所述待转发数据获取目标发送端口;

根据所述目标发送端口的速率以及所述待转发数据的接收端口的速率,确定所述待转发数据的转发方式;其中,所述转发方式包括:直接转发、存储转发;

根据确定后的所述转发方式,通过所述目标发送端口对所述待转发数据进行转发。

根据本发明提供的一种转发方式自适应切换的数据转发方法,根据所述目标发送端口的速率以及所述待转发数据的接收端口的速率,确定所述待转发数据的转发方式包括:

通过比较所述目标发送端口与所述待转发数据的接收端口的速率大小,确定所述待转发数据的转发方式。

根据本发明提供的一种转发方式自适应切换的数据转发方法,在接收到所述待转发数据后,还包括向路由管理模块申请存储地址和路由信息,并根据所述路由信息确定所述目标发送端口;其中,所述路由管理模块用于管理存储地址和路由信息;所述存储地址用于存储所述待转发数据。

根据本发明提供的一种转发方式自适应切换的数据转发方法,通过所述目标发送端口对所述待转发数据进行转发包括:

根据确定后的所述转发方式,确定所述待转发数据的转发时间;

根据所述转发时间,将所述存储地址和所述目标发送端口的端口信息发送至转发模块;

根据所述端口信息,通过所述转发模块将所述存储地址发送至所述目标发送端口,并通过所述目标发送端口对所述待转发数据进行读取后完成所述待转发数据的转发;

其中,确定后的所述转发方式为直接转发的情况下,根据所述待转发数据开始存储的时间,确定所述待转发数据的转发时间;

确定后的所述转发方式为存储转发的情况下,根据所述待转发数据的存储数据量,确定所述待转发数据的转发时间。

根据本发明提供的一种转发方式自适应切换的数据转发方法,根据所述待转发数据的存储数据量,确定所述待转发数据的转发时间包括:

根据所述待转发数据的存储数据量到达预设阈值的时间,确定所述待转发数据的转发时间;其中,所述预设阈值根据所述目标发送端口的速率以及所述待转发数据的接收端口的速率得到。

根据本发明提供的一种转发方式自适应切换的数据转发方法,根据所述待转发数据的存储数据量,确定所述待转发数据的转发时间包括:

根据所述待转发数据完全存储的时间,确定所述待转发数据的转发时间。

本发明还提供一种转发方式自适应切换的数据转发装置,包括:

数据接收模块,用于接收待转发数据,并根据所述待转发数据获取目标发送端口;

转发方式确定模块,用于根据所述目标发送端口的速率以及所述待转发数据的接收端口的速率,确定所述待转发数据的转发方式;其中,所述转发方式包括:直接转发、存储转发;

数据发送模块,用于根据所述转发方式确定模块确定的所述转发方式,通过所述目标发送端口对所述待转发数据进行转发。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述转发方式自适应切换的数据转发方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述转发方式自适应切换的数据转发方法的步骤。

本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述转发方式自适应切换的数据转发方法的步骤。

本发明提供的转发方式自适应切换的数据转发方法及装置,根据待转发数据获取目标发送端口,并根据目标发送端口的速率以及待转发数据的接收端口的速率,来确定待转发数据的转发方式,根据确定好的转发方式,通过目标发送端口对待转发数据进行转发,因此,本发明同时具备存储转发和直接转发的优势,能够根据待转发数据实现转发方式的动态识别切换,从而能够灵活地适应各种工作场景,弥补了存储转发和直接转发的不足;而且,在复杂的应用场景下,不需要使用多个不同的交换机来满足复杂场景下的多种指标需求,有效降低了设备成本。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的转发方式自适应切换的数据转发方法的流程示意图之一;

图2是本发明提供的FC交换机的架构示意图;

图3是本发明提供的转发方式自适应切换的数据转发方法的流程示意图之二;

图4是本发明提供的转发方式自适应切换的数据转发装置的结构示意图;

图5是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1-图3描述本发明的转发方式自适应切换的数据转发方法,如图1所示,该方法包括:

S100、接收待转发数据,并根据待转发数据获取目标发送端口;

该步骤中,根据待转发数据获取目标发送端口的方法包括:

当存在待转发数据输入后,提取待转发数据帧头中的目的ID信息,根据目的ID信息向路由管理模块申请存储地址和路由信息,并根据路由信息确定目标发送端口;申请到存储地址后,根据存储地址将待转发数据存储到存储模块中;其中,路由管理模块用于管理存储地址和路由信息。

S200、根据目标发送端口的速率以及待转发数据的接收端口的速率,确定待转发数据的转发方式;其中,转发方式包括:直接转发、存储转发;

该步骤中,根据目标发送端口的速率以及待转发数据的接收端口的速率,确定待转发数据的转发方式包括:

通过比较目标发送端口与待转发数据的接收端口的速率大小,确定待转发数据的转发方式。转发方式的确定方法可以根据实际需求进行设定,例如,接收端口的速率大于或等于目标发送端口的速率的情况下,采用直接转发方式,接收端口的速率小于目标发送端口的速率的情况下,采用存储转发方式。因此,在网络中存在不同速率端口的情况下,对于相同速率端口之间或高速率到低速率端口间的数据转发,进行直接转发,保证转发的延时性能;对于低速率到高速率端口的转发,采用存储转发的方式保证转发数据在输出端口的连续性;而且,通过转发方式的自适应切换,在复杂的场景下不需要使用不同的交换机来满足多种指标需求,降低了设备的应用成本。

以端口速率支持1/2/4 Gbps为例,对本发明确定转发方式的方法进行说明,不同端口速率下,转发方式的确定结果如表1所示。

表1

由表1可知,在现有的同轴(最大速率1Gbps)和光纤(最大速率4Gbps)组成的混合网络中,能够保证光纤端口之间的传输进行直接转发,从而保证了FC(Fibre Channel,光纤接口)消息的传输效率;同时,同轴接口到光纤接口之间的传输进行存储转发,保证了同轴接口和光纤接口之间数据传输的准确性。

S300、根据确定后的转发方式,通过目标发送端口对待转发数据进行转发。

该步骤中,通过目标发送端口对待转发数据进行转发的方法包括:

S301、根据确定后的转发方式,确定待转发数据的转发时间;

S302、根据转发时间,将存储地址和目标发送端口的端口信息发送至转发模块;

S303、根据端口信息,通过转发模块将存储地址发送至目标发送端口,并通过目标发送端口对待转发数据进行读取后完成待转发数据的转发;

其中,确定后的转发方式为直接转发的情况下,转发时间为待转发数据开始存储的时间;即,在将接收到的待转发数据写入到存储模块的同时,将申请到的存储地址和目标发送端口的端口信息发送至转发模块,通过转发模块将存储地址信息传送至目标发送端口,目标发送端口根据存储地址从存储模块中读取待转发数据,并完成待转发数据的转发。通过该种方式,保证了待转发数据被写入到存储模块,即可被目标发送端口读取并转发,满足了直接转发的要求。

确定后的转发方式为存储转发的情况下,转发时间根据待转发数据的存储数据量进行确定。其中,根据接收到的待转发数据的数据量确定待转发数据的转发时间的实现方法可以根据实际需要进行设定,例如:根据待转发数据的存储数据量到达预设阈值的时间,确定待转发数据的转发时间;其中,预设阈值根据目标发送端口的速率以及待转发数据的接收端口的速率得到。又例如:根据待转发数据完全存储的时间,确定待转发数据的转发时间。

其中,根据目标发送端口的速率以及待转发数据的接收端口的速率获取预设阈值的方法有多种,本实施例中,将目标发送端口的速率与接收端口、目标发送端口的速率之和的比值,与待转发数据的最大帧长进行乘积运算,得到预设阈值,如式(1)所示:

T=L*Vo/(Vi+Vo) (1)

式中,T为预设阈值,L为待转发数据的最大帧长,Vi为接收端口的速率,Vo为目标发送端口的速率。即,将写入存储模块的数据长度达到T的时间,确定为转发时间,其中,T为4字节的整数倍。以端口速率支持1/2/4 Gbps为例,对本发明预设阈值的确定方法进行说明,针对不同的端口速率,通过式(1)计算得到的预设阈值如表2所示。

表2

其中,表2中预设阈值的计算结果均为4字节的整数倍。

通过预设阈值确定待转发数据的转发时间,能够在满足发送端口数据发送连续性的前提下,最大程度地降低数据转发的延时。

S304、当前待转发的数据转发完成后,重复步骤S100至S300,对下一帧数据进行转发。

以下以FC交换机为例,对本发明转发方式自适应切换的数据转发方法进行详细说明。其中,FC交换机的架构如图2所示,包括接收端口、发送端口、数据存储模块(Data_sw)、路由管理模块(Route_manage)、转发模块(H_crossbar);其中,接收端口包括输入模块(FC2P,FC协议的物理层)和输入管理模块(S_IPPM),发送端口包括输出模块(FC2P)和输出管理模块(S_OPPM)。

FC交换机在工作过程中,通过FC2P接收来自交换输入接口的数据,并转换成AXI-STREAM接口的数据流发给S_IPPM;S_IPPM提取帧头中的目的ID信息,根据目的ID信息向Route_manage申请当前FC帧在Data_sw中的存储地址(ADDR_REQ)以及路由信息,根据路由信息确定目标发送端口,根据存储地址将接收到的数据写入到Data_sw;S_IPPM还向H_crossbar发送头信息(Header_msg),并通过H_crossbar的交换功能,根据目标发送端口的端口信息将头信息发送至发送端口的S_OPPM,其中,头信息包括申请到的存储地址;S_OPPM根据存储地址在Data_sw中读取数据,并将读取到的数据由AXI-STREAM接口的数据流转化为标准接口的数据流后,由发送端口的FC2P发送出去;S_OPPM读取完成后,发送释放存储地址的信号(ADDR_RELEAS)至Route_manage,使被占用的存储空间可再次被申请。

基于图2中的FC交换机,本发明转发方式自适应切换的数据转发方法的实现方式如图3所示,包括:

S401、交换机上电,将交换机所有端口的速率配置到相应端口,并且将所有端口的速率表配置到各端口的S_IPPM;

S402、将路由信息配置到Route_manage中;

S403、判断当前接收端口是否有FC帧输入,有FC帧输入,则执行步骤S404,否则,当前接收端口处于等待状态,并重复步骤S403;

S404、通过当前接收端口的FC2P接收FC帧,并将FC帧转成AXI-STREAM接口的数据流发给S_IPPM;S_IPPM提取帧头中的目的ID信息,根据目的ID信息向Route_manage申请当前FC帧在Data_sw中的存储地址(ADDR_REQ)以及路由信息,根据路由信息确定当前FC帧的目标发送端口;

S405、S_IPPM获得目标发送端口后,根据当前接收端口和目标发送端口的速率值,按照表1确定转发方式,如果转发方式为直接转发时,则跳到步骤S406,如果转发方式为存储转发时,则跳到步骤S407;

S406、当前为直接转发方式,根据申请到的存储地址,通过S_IPPM将FC帧数据写入到Data_sw,为了保证数据能够直接被转发,同时将申请到的存储地址和目标发送端口的端口信息发送给H_crossbar,H_crossbar根据目标发送端口的端口信息将存储地址转发至相应端口的S_OPPM,S_OPPM根据存储地址读取Data_sw中缓存的FC帧,并通过目标发送端口的FC2P将FC帧数据发送出去;S_OPPM读取完成后,发送释放存储地址的信号(ADDR_RELEAS)至Route_manage,使被占用的存储空间可再次被申请,并重复步骤S403进行下一FC帧的转发;由于目标发送端口中S_OPPM的读取与接收端口中S_IPPM的写入是同时进行的,因此没有时间浪费,满足直接转发的要求;

S407、当前为存储转发方式,根据申请到的存储地址,通过S_IPPM将FC帧数据写入到Data_sw,为了降低延时,且保证存储转发的数据连续性,当写入Data_sw的数据量达到阈值或数据写完后,将申请到的存储地址和目标发送端口的端口信息发送给H_crossbar,H_crossbar根据目发送端口的端口信息将存储地址转发至相应端口的S_OPPM,S_OPPM根据存储地址读取Data_sw模块中缓存的FC帧,并通过目标发送端口的FC2P将FC帧数据发送出去;S_OPPM读取完成后,发送释放存储地址的信号(ADDR_RELEAS)至Route_manage,使被占用的存储空间可再次被申请,并重复步骤S403进行下一FC帧的转发;例如,0端口(速率:1Gbps)向1端口(速率:4Gbps)进行存储转发,FC帧的长度为2112字节,当FC帧写入到1692(2112的五分之四,且增加到4的整数倍)时,将申请到的存储地址和目标发送端口的端口信息发送给H_crossbar,从而在保证数据转发连续性的前提下,有效降低了转发延时。

下面结合图4对本发明提供的转发方式自适应切换的数据转发装置进行描述,下文描述的转发方式自适应切换的数据转发装置与上文描述的转发方式自适应切换的数据转发方法可相互对应参照。

如图4所示,转发方式自适应切换的数据转发装置包括依次连接的数据接收模块401、转发方式确定模块402、数据发送模块403;其中,

数据接收模块401,用于接收待转发数据,并根据待转发数据获取目标发送端口;

转发方式确定模块402,用于根据目标发送端口的速率以及待转发数据的接收端口的速率,确定待转发数据的转发方式;其中,转发方式包括:直接转发、存储转发;优选地,转发方式确定模块402通过比较目标发送端口与待转发数据的接收端口的速率大小,确定待转发数据的转发方式;

数据发送模块403,用于根据转发方式确定模块402所确定的转发方式,通过目标发送端口对待转发数据进行转发。

可选地,还包括存储模块和路由管理模块;存储模块用于存储待转发数据;路由管理模块用于管理存储地址和路由信息;数据接收模块401在接收到待转发数据后,向路由管理模块申请存储地址和路由信息,根据路由信息确定目标发送端口,并根据存储地址将接收到的待转发数据存储在存储模块中。

可选地,数据发送模块403包括转发时间确定模块和转发模块,转发时间确定模块用于根据转发方式确定待转发数据的转发时间;转发模块用于接收存储地址和目标发送端口的端口信息,并根据目标发送端口的端口信息将待转发数据的存储地址发送至目标发送端口;其中,转发时间确定模块根据确定后的转发方式,确定待转发数据的转发时间,根据转发时间,通过数据接收模块401将存储地址和目标发送端口的端口信息发送至转发模块,转发模块根据端口信息,将存储地址发送至目标发送端口,并通过目标发送端口对存储模块中存储的待转发数据进行读取后完成待转发数据的转发。

其中,确定后的转发方式为直接转发的情况下,转发时间确定模块根据待转发数据开始存储的时间,确定待转发数据的转发时间;确定后的转发方式为存储转发的情况下,转发时间确定模块根据待转发数据的存储数据量,确定待转发数据的转发时间,例如,根据待转发数据的存储数据量到达预设阈值的时间,确定待转发数据的转发时间;其中,预设阈值根据目标发送端口的速率以及待转发数据的接收端口的速率得到;又例如,根据待转发数据完全存储的时间,确定待转发数据的转发时间。

图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行转发方式自适应切换的数据转发方法,该方法包括:接收待转发数据,并根据待转发数据获取目标发送端口;

根据目标发送端口的速率以及待转发数据的接收端口的速率,确定待转发数据的转发方式;其中,转发方式包括:直接转发、存储转发;

根据确定后的转发方式,通过目标发送端口对待转发数据进行转发。

此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的转发方式自适应切换的数据转发方法,该方法包括:接收待转发数据,并根据待转发数据获取目标发送端口;

根据目标发送端口的速率以及待转发数据的接收端口的速率,确定待转发数据的转发方式;其中,转发方式包括:直接转发、存储转发;

根据确定后的转发方式,通过目标发送端口对待转发数据进行转发。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的转发方式自适应切换的数据转发方法,该方法包括:接收待转发数据,并根据待转发数据获取目标发送端口;

根据目标发送端口的速率以及待转发数据的接收端口的速率,确定待转发数据的转发方式;其中,转发方式包括:直接转发、存储转发;

根据确定后的转发方式,通过目标发送端口对待转发数据进行转发。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于二进制人工藻类机理的Massive MIMO信道估计方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!