CN107743101A - 一种数据的转发方法及装置 - Google Patents
一种数据的转发方法及装置 Download PDFInfo
- Publication number
- CN107743101A CN107743101A CN201710880563.8A CN201710880563A CN107743101A CN 107743101 A CN107743101 A CN 107743101A CN 201710880563 A CN201710880563 A CN 201710880563A CN 107743101 A CN107743101 A CN 107743101A
- Authority
- CN
- China
- Prior art keywords
- control module
- memory module
- module
- exit port
- index value
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据的转发方法及装置,方法包括:若第一存储模块需要转发数据,则通过第一存储模块向控制模块发送请求指令;若控制模块接收到请求指令,则通过控制模块为第一存储模块对应的第一入端口确定第一出端口及第一索引值;通过控制模块向第一存储模块发送携带第一索引值的响应指令;若第一存储模块接收到响应指令,则通过第一存储模块向控制模块发送需要转发的数据及第一索引值;通过控制模块基于第一索引值确定第一出端口;通过控制模块向第一出端口对应的第二存储模块转发数据。应用本发明实施例,多个数据转发的处理过程可以通过控制模块实现并行处理,大大提高了FPGA芯片的整体处理性能,处理效率高。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种数据的转发方法及装置。
背景技术
通常,FPGA芯片中包括多个存储模块,数据需要在不同存储模块间进行转发。由于存储模块的数量较大,如何高效地将数据在不同存储模块间进行转发成为至关重要的问题。
现有技术中,多个存储模块中存储的需要转发的数据,被依次存储到一个过渡模块中,过渡模块依次将需要转发的数据转发到对应的存储模块。FPGA芯片的转发速度取决于过渡模块的处理速度。由于过渡模块处理速度的限制,大大降低了FPGA芯片的整体处理性能,处理效率低。
发明内容
有鉴于此,本发明提供一种数据的转发方法及装置,通过控制模块为第一入端口确定第一出端口,多个数据转发的处理过程可以通过控制模块实现并行处理,以解决FPGA芯片的整体处理性能,处理效率低的问题。
为实现上述目的,本发明提供技术方案如下:
根据本发明的第一方面,提出了一种数据的转发方法,所述方法包括:
若第一存储模块需要转发数据,则通过所述第一存储模块向所述控制模块发送请求指令,所述第一存储模块为所述多个存储模块中的其中一个存储模块;
若所述控制模块接收到所述请求指令,则通过所述控制模块为所述第一存储模块对应的第一入端口确定第一出端口及第一索引值;
通过所述控制模块向所述第一存储模块发送携带所述第一索引值的响应指令;
若所述第一存储模块接收到所述响应指令,则通过所述第一存储模块向所述控制模块发送需要转发的数据及所述第一索引值;
通过所述控制模块基于所述第一索引值确定所述第一出端口;
通过所述控制模块向所述第一出端口对应的第二存储模块转发所述数据,所述第二存储模块为所述多个存储模块中的其中一个模块。
根据本发明的第二方面,提出了一种数据的转发装置,包括:控制模块、多个存储模块;
其中,第一存储模块,被配置为若第一存储模块需要转发数据,则向所述控制模块发送请求指令,所述第一存储模块为所述多个存储模块中的其中一个存储模块;
所述控制模块,被配置为若接收到所述请求指令,则为所述第一存储模块对应的第一入端口确定第一出端口及第一索引值,向所述第一存储模块发送携带所述第一索引值的响应指令;
所述第一存储模块,还被配置为若接收到所述响应指令,则向所述控制模块发送需要转发的数据及所述第一索引值;
所述控制模块,还被配置为基于所述第一索引值确定所述第一出端口,向所述第一出端口对应的第二存储模块转发所述数据,所述第二存储模块为所述多个存储模块中的其中一个模块。
由以上技术方案可见,FPGA芯片通过控制模块为第一入端口确定对应的第一出端口及第一索引值,FPGA芯片通过控制模块向第一入端口对应的第一存储模块发送第一索引值,以触发第一存储模块开始向控制模块发送数据,控制模块接收到数据时,FPGA芯片基于第一索引值,通过控制模块找到第一出端口,FPGA芯片通过控制模块向第一出端口对应的第二存储模块发送数据。控制模块为第一入端口确定第一出端口,多个数据转发的处理过程可以通过控制模块实现并行处理,大大提高了FPGA芯片的整体处理性能,处理效率高。
附图说明
图1A是本发明提供的一个数据的转发方法的实施例流程图;
图1B是图1A所示实施例的示例性场景图;
图2是本发明提供的另一个数据的转发方法的实施例流程图;
图3是本发明提供的再一个数据的转发方法的实施例流程图;
图4是本发明提供的一种FPGA芯片的硬件结构图;
图5是本发明提供的一个数据的转发装置的实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1A是本发明提供的一个数据的转发方法的实施例流程图;图1B是图1A所示实施例的示例性场景图。该数据的转发方法可以应用在FPGA芯片中,FPGA芯片包括:控制模块、多个存储模块。其中控制模块可以为FPGA芯片中具有控制功能的模块,存储模块可以为FIFO存储器,如图1A所示,包括如下步骤:
步骤101:若第一存储模块需要转发数据,则通过第一存储模块向控制模块发送请求指令,第一存储模块为多个存储模块中的其中一个存储模块。
步骤102:若控制模块接收到请求指令,则通过控制模块为第一存储模块对应的第一入端口确定第一出端口及第一索引值。
步骤103:通过控制模块向第一存储模块发送携带第一索引值的响应指令。
步骤104:若第一存储模块接收到响应指令,则通过第一存储模块向控制模块发送需要转发的数据及第一索引值。
步骤105:通过控制模块基于第一索引值确定第一出端口。
步骤106:通过控制模块向第一出端口对应的第二存储模块转发数据,第二存储模块为多个存储模块中的其中一个模块。
在步骤101中,在一实施例中,本领域技术人员可以理解的是,存储模块与存储模块中存储的数据需要互相转发。若多个存储模块中的其中一个存储模块需要转发数据,则该多个存储模块中的其中一个存储模块即为第一存储模块。FPGA芯片通过第一存储模块向控制模块发送用于转发数据的请求指令。
在步骤102中,在一实施例中,若控制模块接收到请求指令,则FPGA芯片通过控制模块为第一存储模块对应的第一入端口确定第一出端口,第一出端口用于后续转发第一存储模块中需要转发的数据,第一入端口例如为00,第一出端口例如为55;FPGA芯片通过控制模块为第一存储模块确定对应的第一索引值,第一索引值用于对应第一入端口及第一出端口,第一索引值例如为2。具体的,FPGA芯片通过控制模块为第一存储模块对应的第一入端口确定第一出端口及第一索引值的步骤参见下述步骤201-步骤202的相关描述,此处先不作赘述。需要说明的是,当第一索引值确定了与第一入端口及第一出端口的对应关系,控制模块停止接收来自第一入端口的请求指令,避免多个存储模块同时通过第一入端口向控制模块发送请求指令而产生冲突。
在步骤103中,在一实施例中,FPGA芯片通过控制模块向第一存储模块发送携带第一索引值的响应指令,表示FPGA芯片通过控制模块已经建立好了与第一索引值对应的第一入端口和第一出端口。
在步骤104中,在一实施例中,若第一存储模块接收到响应指令,表示FPGA芯片通过控制模块已经为第一存储模块对应的第一入端口确定好了第一出端口,可以进行数据转发了,则FPGA芯片通过第一存储模块向控制模块发送需要转发的数据及第一索引值。
在步骤105中,在一实施例中,结合步骤102,FPGA芯片通过控制模块基于第一索引值2确定与第一入端口00对应的第一出端口55。
在步骤106中,在一实施例中,第二存储模块为第一出端口对应的存储模块,第二存储模块为多个存储模块中的其中一个模块。FPGA芯片通过控制模块向第一出端口对应的第二存储模块转发数据,第二存储模块对数据进行存储。其中,FPGA芯片通过控制模块转发数据,可以在一定程度上控制数据的转发速度,以及数据的转发先后。
具体的,结合图1B所示的示例性场景图,以存储模块为FIFO寄存器,FPGA芯片11包括控制模块111、FIFO寄存器112、FIFO寄存器113、FIFO寄存器114、FIFO寄存器115、FIFO寄存器116、FIFO寄存器117共计6个存储模块为例。控制模块111包括入端口1111、入端口1112、入端口1113、出端口1114、出端口1115。若FIFO寄存器112(可视为本申请中的第一存储模块)需要转发数据,FIFO寄存器112通过入端口1111(可视为本申请中的第一入端口)向控制模块111发送的请求指令,请求控制模块111为FIFO寄存器112搭建入/出端口的数据转发路径。控制模块111从出端口1114、出端口1115中为入端口1111确定一个出端口及第一索引值,例如确定出端口1114(可视为本申请中的第一出端口)及第一索引值2,控制模块111为FIFO寄存器112的数据转发建立了从入端口1111至出端口1114的转发路径,第一索引值2对应该转发路径。控制模块111向FIFO寄存器112发送携带第一索引值2的响应指令,表示数据转发路径已确定,可以传输数据。FIFO寄存器112接收到响应指令,向控制模块111发送需要转发的数据及第一索引值2。控制模块111基于第一索引值2确定对应的出端口1114。控制模块111向出端口1114对应的FIFO寄存器116(可视为本申请中的第二存储模块)转发数据。
本发明实施例中,FPGA芯片通过控制模块为第一入端口确定对应的第一出端口及第一索引值,FPGA芯片通过控制模块向第一入端口对应的第一存储模块发送第一索引值,以触发第一存储模块开始向控制模块发送数据,控制模块接收到数据时,FPGA芯片基于第一索引值,通过控制模块找到第一出端口,FPGA芯片通过控制模块向第一出端口对应的第二存储模块发送数据。控制模块为第一入端口确定第一出端口,多个数据转发的处理过程可以通过控制模块实现并行处理,大大提高了FPGA芯片的整体处理性能,处理效率高。
图2是本发明提供的另一个数据的转发方法的实施例流程图,对FPGA芯片如何通过控制模块为第一存储模块对应的第一入端口确定第一出端口及第一索引值进行示例性说明,如图2所示,包括如下步骤:
步骤201:通过控制模块基于第一预设规则,从第一预设列表中记录的至少一个第二索引值中确定第一索引值。
步骤202:通过控制模块基于第二预设规则,从第二预设列表中记录的至少一个第二出端口中确定第一出端口。
步骤203:通过控制模块建立第一入端口、第一出端口及第一索引值之间的对应关系。
在步骤201中,第一预设列表中记录了至少一个第二索引值,每一个第二索引值可以用于对应一对入/出端口的对应关系,因此,控制模块可以同时为多个数据的转发提供端口对应关系的支持。第一预设规则可以为:优先选取未记录对应关系的第二索引值。如表1所示,为第一预设列表的结构示例:
表1
第二索引值 | 入端口 | 出端口 |
1 | 44 | 33 |
2 | - | - |
3 | - | - |
表1中的第二索引值包括1、2、3三个第二索引值,第二索引值1对应入端口44,出端口对应33。“-”表示尚未确定对应的入/出端口。FPGA芯片通过控制模块基于第一预设规则:优先选取未记录对应关系的第二索引值,从表1所示的第一预设列表中记录的第二索引值1、2、3中确定第一索引值为2。
在步骤202中,FPGA芯片通过控制模块基于第二预设规则,从第二预设列表中记录的至少一个第二出端口中确定第一出端口。其中,第二预设列表中记录的至少一个第二出端口中每一个第二出端口对应一个状态标识,每一个第二出端口还对应一个被调用次数,通过控制模块基于每一个第二出端口对应的状态标识以及端口被调用次数确定第一出端口,具体的,状态标识用于表示端口的占用情况,例如状态标识“1”表示端口被占用,状态标识“0”表示端口空闲。第二预设规则可以为:优先选取空闲状态的端口及被调用次数少的端口。如表2所示,为第二预设列表的结构示例:
表2
第二出端口 | 状态标识 | 调用次数 |
55 | 0 | 1 |
77 | 1 | 4 |
22 | 0 | 3 |
表2中的第二出端口包括22、55、77,其中,第二出端口55对应的状态标识为“0”,调用次数为“1”;第二出端口77对应的状态标识为“1”,调用次数为“4”;第二出端口“22”对应的状态标识为“0”,调用次数为“3”。根据第二预设规则:优先选取空闲状态的端口及被调用次数少的端口,则第二出端口55被确定为第一出端口。
在步骤203中,FPGA芯片通过控制模块建立第一入端口、第一出端口及第一索引值之间的对应关系,该对应关系可以记录在表1所示的第一预设列表中。结合步骤201-步骤202,以第一入端口为00,第一出端口为55,第一索引值为2为例,FPGA芯片通过控制模块将第一入端口00,第一出端口55,第一索引值为2记录在第一预设列表中,如表3所示,为第一预设列表中记录对应关系之后的示例:
表3
第二索引值 | 入端口 | 出端口 |
1 | 44 | 33 |
2 | 00 | 55 |
3 | - | - |
表3中,FPGA芯片通过控制模块将第一入端口00,第一出端口55,第一索引值为2之间的对应关系记录在了第一预设列表中。
本发明实施例中,FPGA芯片通过控制模块基于第一预设规则,确定第一索引值,通过控制模块基于第二预设规则,确定第一出端口,通过调整第一预设规则及第二预设规则可以依据需求对不同端口进行选择;通过控制模块建立第一入端口、第一出端口及第一索引值之间的对应关系,可以在第一预设列表中对入/出端口的对应关系进行记录,通过获取第一预设列表,可以掌握入/端口的使用情况,及时调整入/端口数量。
图3是本发明提供的再一个数据的转发方法的实施例流程图,本发明实施例结合图1A、图2,在步骤101-步骤106的基础上,对FPGA芯片执行通过控制模块向第一出端口对应的第二存储模块转发数据的步骤之后的处理情况进行示例性说明,如图3所示,包括如下步骤:
步骤301:通过第二存储模块检测数据中是否携带用于标记数据结束的结束标识。
步骤302:当通过第二存储模块检测到数据中携带有结束标识时,结束存储数据。
步骤303:通过第二存储模块向控制模块发送用于结束转发的结束指令。
步骤304:若控制模块接收到结束指令,则通过控制模块解除第一入端口、第一出端口及第一索引值之间的对应关系。
步骤305:通过控制模块判断第二存储模块的剩余存储空间是否小于或者等于预设存储量。
步骤306:当第二存储模块的剩余存储空间小于或者等于预设存储量时,通过控制模块将第一出端口的状态设置为空闲。
在步骤301中,FPGA芯片通过第二存储模块检测接收到的数据中是否携带用于标记数据结束的结束标识。本领域技术人员可以理解的是,每个数据包都有结束标志,结束标例如可以为:1111、0000等。
在步骤302中,当FPGA芯片通过第二存储模块检测到数据中携带有结束标识时,结束存储数据。
在步骤303中,FPGA芯片通过第二存储模块向控制模块发送用于结束转发的结束指令,以使控制模块停止向第二存储模块发送数据。
在步骤304中,若控制模块接收到结束指令,则FPGA芯片通过控制模块解除第一入端口、第一出端口及第一索引值之间的对应关系。具体的,结合图2中的表3,在表3的基础上,如表4所示,为解除第一入端口、第一出端口及第一索引值之间对应关系之后的第一预设列表示例:
表4
第二索引值 | 入端口 | 出端口 |
1 | 44 | 33 |
2 | - | - |
3 | - | - |
表4中,第一预设列表中的第一入端口00,第一出端口55被删除。
在步骤305中,FPGA芯片通过控制模块解除第一入端口、第一出端口及第一索引值之间的对应关系的步骤之后,FPGA芯片通过控制模块判断第二存储模块的剩余存储空间是否小于或者等于预设存储量,本领域技术人员可以理解的是,若第二存储模块的存储空间为将满状态,第二存储模块无法继续接收数据。预设存储量为第二存储模块可以继续接收数据的最低阈值,即为第二存储模块大于预设存储量方可确保继续接收并存储数据。
在步骤306中,当第二存储模块的剩余存储空间小于或者等于预设存储量时,表示第二存储模块有足够的存储空间,可以继续接收并存储数据,因此FPGA芯片通过控制模块将第一出端口的状态设置为空闲,具体的,结合步骤202的相关描述,例如状态标识“1”表示端口被占用,状态标识“0”表示端口空闲,将第一出端口对应的状态标识设置为“0”。
本发明实施例中,若第二存储模块结束存储数据,则FPGA芯片通过控制模块解除第一入端口、第一出端口及第一索引值之间的对应关系,当第二存储模块的剩余存储空间小于或者等于预设存储量时,FPGA芯片通过控制模块将第一出端口的状态设置为空闲,使得入/出端口得以复用,尽快释放端口资源,提高了FPGA芯片的整体处理效率。
对应于上述数据的转发方法,本发明还提出了图4所示的FPGA芯片的硬件结构图。请参考图4,在硬件层面,该FPGA芯片包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据的转发装置。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
图5是本发明提供的一个数据的转发装置的实施例框图,如图5所示,该数据的转发装置可以包括:控制模块51和多个存储模块,例如多个存储模块包括存储模块52、存储模块53、存储模块54、存储模块55四个存储模块,需要说明的是,图5所示实施例中的四个存储器仅为示例性说明,其并不能形成对本申请的限制,本申请中的多个存储模块可以为两个以上的任意数量的存储模块,其中,以存储模块52为本申请中所述的第一存储模块、存储模块53为本申请中所述的第二存储模块为例;
其中,存储模块52,被配置为若存储模块52需要转发数据,则向控制模块51发送请求指令,存储模块52为多个存储模块中的其中一个存储模块;
控制模块51,被配置为若接收到请求指令,则为存储模块52对应的第一入端口确定第一出端口及第一索引值,向存储模块52发送携带第一索引值的响应指令;
存储模块52,还被配置为若接收到响应指令,则向控制模块51发送需要转发的数据及第一索引值;
控制模块51,还被配置为基于第一索引值确定第一出端口,向第一出端口对应的存储模块53转发数据,存储模块53为多个存储模块中的其中一个模块。
在一实施例中,控制模块51还被配置为基于第一预设规则,从第一预设列表中记录的至少一个第二索引值中确定第一索引值,基于第二预设规则,从第二预设列表中记录的至少一个第二出端口中确定第一出端口。
在一实施例中,控制模块51还被配置为建立第一入端口、第一出端口及第一索引值之间的对应关系。
在一实施例中,存储模块53被配置为通过控制模块51向第一出端口对应的存储模块53转发数据的步骤之后,检测数据中是否携带用于标记数据结束的结束标识,当通过存储模块53检测到数据中携带有结束标识时,结束存储数据,向控制模块51发送用于结束转发的结束指令;
控制模块51,还被配置为若控制模块51接收到结束指令,则解除第一入端口、第一出端口及第一索引值之间的对应关系。
在一实施例中,控制模块51还被配置为在解除第一入端口、第一出端口及第一索引值之间的对应关系的步骤之后,判断存储模块53的剩余存储空间是否小于或者等于预设存储量,当存储模块53的剩余存储空间小于或者等于预设存储量时,将第一出端口的状态设置为空闲。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,FPGA芯片通过控制模块为第一入端口确定对应的第一出端口及第一索引值,FPGA芯片通过控制模块向第一入端口对应的第一存储模块发送第一索引值,以触发第一存储模块开始向控制模块发送数据,控制模块接收到数据时,FPGA芯片基于第一索引值,通过控制模块找到第一出端口,FPGA芯片通过控制模块向第一出端口对应的第二存储模块发送数据。控制模块为第一入端口确定第一出端口,多个数据转发的处理过程可以通过控制模块实现并行处理,大大提高了FPGA芯片的整体处理性能,处理效率高。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种数据的转发方法,应用在FPGA芯片,所述FPGA芯片包括:控制模块、多个存储模块,其特征在于,所述方法包括:
若第一存储模块需要转发数据,则通过所述第一存储模块向所述控制模块发送请求指令,所述第一存储模块为所述多个存储模块中的其中一个存储模块;
若所述控制模块接收到所述请求指令,则通过所述控制模块为所述第一存储模块对应的第一入端口确定第一出端口及第一索引值;
通过所述控制模块向所述第一存储模块发送携带所述第一索引值的响应指令;
若所述第一存储模块接收到所述响应指令,则通过所述第一存储模块向所述控制模块发送需要转发的数据及所述第一索引值;
通过所述控制模块基于所述第一索引值确定所述第一出端口;
通过所述控制模块向所述第一出端口对应的第二存储模块转发所述数据,所述第二存储模块为所述多个存储模块中的其中一个模块。
2.根据权利要求1所述的方法,其特征在于,所述通过所述控制模块为所述第一存储模块对应的第一入端口确定第一出端口及第一索引值,包括:
通过所述控制模块基于第一预设规则,从第一预设列表中记录的至少一个第二索引值中确定第一索引值;
通过所述控制模块基于第二预设规则,从第二预设列表中记录的至少一个第二出端口中确定第一出端口。
3.根据权利要求1或者权利要求2所述的方法,其特征在于,所述通过所述控制模块基于所述第一索引值确定所述第一出端口的步骤之前,所述方法还包括:
通过所述控制模块建立所述第一入端口、所述第一出端口及所述第一索引值之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述通过所述控制模块向所述第一出端口对应的第二存储模块转发所述数据的步骤之后,所述方法还包括:
通过所述第二存储模块检测所述数据中是否携带用于标记数据结束的结束标识;
当通过所述第二存储模块检测到所述数据中携带有所述结束标识时,结束存储所述数据;
通过所述第二存储模块向所述控制模块发送用于结束转发的结束指令;
若所述控制模块接收到所述结束指令,则通过所述控制模块解除所述第一入端口、所述第一出端口及所述第一索引值之间的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述通过所述控制模块解除所述第一入端口、所述第一出端口及所述第一索引值之间的对应关系的步骤之后,还包括:
通过所述控制模块判断所述第二存储模块的剩余存储空间是否小于或者等于预设存储量;
当所述第二存储模块的剩余存储空间小于或者等于预设存储量时,通过所述控制模块将所述第一出端口的状态设置为空闲。
6.一种数据的转发装置,其特征在于,所述装置包括:控制模块、多个存储模块;
其中,第一存储模块,被配置为若第一存储模块需要转发数据,则向所述控制模块发送请求指令,所述第一存储模块为所述多个存储模块中的其中一个存储模块;
所述控制模块,被配置为若接收到所述请求指令,则为所述第一存储模块对应的第一入端口确定第一出端口及第一索引值,向所述第一存储模块发送携带所述第一索引值的响应指令;
所述第一存储模块,还被配置为若接收到所述响应指令,则向所述控制模块发送需要转发的数据及所述第一索引值;
所述控制模块,还被配置为基于所述第一索引值确定所述第一出端口,向所述第一出端口对应的第二存储模块转发所述数据,所述第二存储模块为所述多个存储模块中的其中一个模块。
7.根据权利要求6所述的装置,其特征在于,
所述控制模块,还被配置为基于第一预设规则,从第一预设列表中记录的至少一个第二索引值中确定第一索引值,基于第二预设规则,从第二预设列表中记录的至少一个第二出端口中确定第一出端口。
8.根据权利要求6或者权利要求7所述的装置,其特征在于,
所述控制模块,还被配置为建立所述第一入端口、所述第一出端口及所述第一索引值之间的对应关系。
9.根据权利要求8所述的装置,其特征在于,
所述第二存储模块,被配置为所述通过所述控制模块向所述第一出端口对应的第二存储模块转发所述数据的步骤之后,检测所述数据中是否携带用于标记数据结束的结束标识,当通过所述第二存储模块检测到所述数据中携带有所述结束标识时,结束存储所述数据,向所述控制模块发送用于结束转发的结束指令;
所述控制模块,还被配置为若所述控制模块接收到所述结束指令,则解除所述第一入端口、所述第一出端口及所述第一索引值之间的对应关系。
10.根据权利要求9所述的装置,其特征在于,
所述控制模块,还被配置为在解除所述第一入端口、所述第一出端口及所述第一索引值之间的对应关系之后,判断所述第二存储模块的剩余存储空间是否小于或者等于预设存储量,当所述第二存储模块的剩余存储空间小于或者等于预设存储量时,将所述第一出端口的状态设置为空闲。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710880563.8A CN107743101B (zh) | 2017-09-26 | 2017-09-26 | 一种数据的转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710880563.8A CN107743101B (zh) | 2017-09-26 | 2017-09-26 | 一种数据的转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107743101A true CN107743101A (zh) | 2018-02-27 |
CN107743101B CN107743101B (zh) | 2020-10-09 |
Family
ID=61235320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710880563.8A Active CN107743101B (zh) | 2017-09-26 | 2017-09-26 | 一种数据的转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107743101B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108471390A (zh) * | 2018-03-20 | 2018-08-31 | 深圳市风云实业有限公司 | 业务报文跨板处理***及业务报文的重定向方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486012A (zh) * | 2003-08-18 | 2004-03-31 | 烽火通信科技股份有限公司 | 一种三级克洛斯矩阵无阻塞扩展方法 |
US20060187947A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Flexible packet modification engine for a network device |
CN101072175A (zh) * | 2007-06-18 | 2007-11-14 | 中国电子科技集团公司第五十四研究所 | 一种基于定长分组的高速交换仲裁调度方法 |
CN101978634A (zh) * | 2008-03-24 | 2011-02-16 | 高通股份有限公司 | 无线通信***中用于资源管理的方法和装置 |
CN102164067A (zh) * | 2010-02-20 | 2011-08-24 | 华为技术有限公司 | 交换网流控实现方法、交换设备及*** |
US20130173861A1 (en) * | 2012-01-04 | 2013-07-04 | International Business Machines Corporation | Near neighbor data cache sharing |
US20140222960A1 (en) * | 2011-10-27 | 2014-08-07 | Huawei Technologies Co., Ltd. | Method and Apparatus for Rapid Data Distribution |
US20140314097A1 (en) * | 2013-04-23 | 2014-10-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for network and intra-portal link (ipl) sharing in distributed relay control protocol (drcp) |
US20150006841A1 (en) * | 2012-01-18 | 2015-01-01 | Huawei Technologies Co., Ltd. | Message-based memory access apparatus and access method thereof |
US20150186267A1 (en) * | 2013-12-27 | 2015-07-02 | Qualcomm Incorporated | Method and apparatus for dram spatial coalescing within a single channel |
CN105871761A (zh) * | 2016-04-01 | 2016-08-17 | 浪潮电子信息产业股份有限公司 | 一种高阶矩阵开关、片上网络及通信方法 |
CN105939274A (zh) * | 2016-05-17 | 2016-09-14 | 杭州迪普科技有限公司 | 报文转发方法及装置 |
CN106598484A (zh) * | 2016-11-17 | 2017-04-26 | 华为技术有限公司 | 数据的存储方法、闪存芯片以及存储装置 |
CN107169085A (zh) * | 2017-05-12 | 2017-09-15 | 上海新储集成电路有限公司 | 一种数据搜索*** |
-
2017
- 2017-09-26 CN CN201710880563.8A patent/CN107743101B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486012A (zh) * | 2003-08-18 | 2004-03-31 | 烽火通信科技股份有限公司 | 一种三级克洛斯矩阵无阻塞扩展方法 |
US20060187947A1 (en) * | 2005-02-18 | 2006-08-24 | Broadcom Corporation | Flexible packet modification engine for a network device |
CN101072175A (zh) * | 2007-06-18 | 2007-11-14 | 中国电子科技集团公司第五十四研究所 | 一种基于定长分组的高速交换仲裁调度方法 |
CN101978634A (zh) * | 2008-03-24 | 2011-02-16 | 高通股份有限公司 | 无线通信***中用于资源管理的方法和装置 |
CN102164067A (zh) * | 2010-02-20 | 2011-08-24 | 华为技术有限公司 | 交换网流控实现方法、交换设备及*** |
US20140222960A1 (en) * | 2011-10-27 | 2014-08-07 | Huawei Technologies Co., Ltd. | Method and Apparatus for Rapid Data Distribution |
US20130173861A1 (en) * | 2012-01-04 | 2013-07-04 | International Business Machines Corporation | Near neighbor data cache sharing |
US20150006841A1 (en) * | 2012-01-18 | 2015-01-01 | Huawei Technologies Co., Ltd. | Message-based memory access apparatus and access method thereof |
US20140314097A1 (en) * | 2013-04-23 | 2014-10-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for network and intra-portal link (ipl) sharing in distributed relay control protocol (drcp) |
US20150186267A1 (en) * | 2013-12-27 | 2015-07-02 | Qualcomm Incorporated | Method and apparatus for dram spatial coalescing within a single channel |
CN105871761A (zh) * | 2016-04-01 | 2016-08-17 | 浪潮电子信息产业股份有限公司 | 一种高阶矩阵开关、片上网络及通信方法 |
CN105939274A (zh) * | 2016-05-17 | 2016-09-14 | 杭州迪普科技有限公司 | 报文转发方法及装置 |
CN106598484A (zh) * | 2016-11-17 | 2017-04-26 | 华为技术有限公司 | 数据的存储方法、闪存芯片以及存储装置 |
CN107169085A (zh) * | 2017-05-12 | 2017-09-15 | 上海新储集成电路有限公司 | 一种数据搜索*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108471390A (zh) * | 2018-03-20 | 2018-08-31 | 深圳市风云实业有限公司 | 业务报文跨板处理***及业务报文的重定向方法 |
CN108471390B (zh) * | 2018-03-20 | 2020-12-15 | 深圳市风云实业有限公司 | 业务报文跨板处理***及业务报文的重定向方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107743101B (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7406083B2 (en) | Method for preserving the order of data packets processed along different processing paths | |
US20070297435A1 (en) | Method for Priority Based Queuing and Assembling of Packets | |
CN103493449B (zh) | 分组交换网络中的有效电路 | |
CN101789908B (zh) | 分片报文接收处理方法及装置 | |
US8325749B2 (en) | Methods and apparatus for transmission of groups of cells via a switch fabric | |
CN102104548B (zh) | 一种数据包接收处理方法和装置 | |
CN106341338B (zh) | 一种报文的转发方法及装置 | |
CN107528789A (zh) | 报文调度方法及装置 | |
CN101616094A (zh) | 报文转发路径的获取方法和设备 | |
US20140149628A1 (en) | Super speed usb hub and traffic management method thereof | |
CN107332943A (zh) | 一种报文转发方法及装置 | |
US10021035B1 (en) | Queuing methods and apparatus in a network device | |
CN107743101A (zh) | 一种数据的转发方法及装置 | |
CN107749826A (zh) | 一种数据包转发方法及*** | |
CN1965548A (zh) | 转送突发数据的方法和装置 | |
CN105812153A (zh) | 用于访问跨平台服务的通信***及方法 | |
US6101554A (en) | Apparatus for controlling data flow using lookup tables to link incoming packets directly to output ports | |
US9838341B1 (en) | Methods and apparatus for memory resource management in a network device | |
CN108023817A (zh) | 一种确定数据传输路径的方法、装置 | |
US6772232B1 (en) | Address assignment procedure that enables a device to calculate addresses of neighbor devices | |
CN107911317A (zh) | 一种报文调度方法及装置 | |
CN108595370A (zh) | 一种多核处理器及报文处理方法 | |
US7855967B1 (en) | Method and apparatus for providing line rate netflow statistics gathering | |
CN108093385A (zh) | 蓝牙控制器处理广播包的方法、蓝牙控制器和蓝牙设备 | |
CN105227467B (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 |