CN114244915A - 一种支持多种协议的数据传输方法、装置及存储介质 - Google Patents
一种支持多种协议的数据传输方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114244915A CN114244915A CN202210165283.XA CN202210165283A CN114244915A CN 114244915 A CN114244915 A CN 114244915A CN 202210165283 A CN202210165283 A CN 202210165283A CN 114244915 A CN114244915 A CN 114244915A
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- interface
- data packet
- target
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种支持多种协议的数据传输方法、装置及存储介质,本发明基于现有的处理器实现了不同传输接口间的透明传输,由此,硬件设计人员无需考虑如何将不同的协议统一,软件设计人员不用考虑不同传输接口间数据格式的适配,即本发明在实现不同总线间数据互联互通的同时,降低了处理器设计的复杂度,适用于大规模应用与推广。
Description
技术领域
本发明属于数据传输技术领域,具体涉及一种支持多种协议的数据传输方法、装置及存储介质。
背景技术
目前,在嵌入式领域中,各种业务功能对数据传输效率的要求越来越高,且存在多种高速传输协议,常用的有PCIE(peripheral component interconnect express,高速串行计算机扩展总线标准)、SRIO(是一种非专有的高带宽系统级互连,它是一种分组交换互连,主要用作以每秒千兆字节性能级别进行芯片到芯片和板对板通信的接口协议)、万兆网和Aurora(奥罗拉串行传输协议)等协议,各种协议的共存,虽然可满足数据高效传输要求,但是,由于不同架构处理器采用不同的数据传输接口,且为了适配各种处理器间数据高速传输的需求,满足多种协议下数据的互传,使得研发人员需要考虑如何将不同的协议进行统一,这就导致处理器的设计越来越复杂,增加了研发难度;因此,提供一种支持多种协议的数据传输方法,以降低处理器的设计复杂度迫在眉睫。
发明内容
本发明的目的是提供一种支持多种协议的数据传输方法、装置及存储介质,以解决现有处理器为适配各种处理器间数据高速传输的需求,满足多种协议下数据的互传所存在的设计复杂的问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供了一种支持多种协议的数据传输方法,基于具有多个传输接口的处理器进行数据传输,其中,所述方法包括:
接收数据发送设备发送的数据包,其中,所述数据包包括目标ID;
根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址;
根据所述数据传输接口,得到所述数据包的封装协议,其中,所述封装协议为所述数据传输接口对应的传输协议;
将所述数据包按照所述封装协议进行封装,得到待转发数据包;
利用所述数据传输接口,将所述待转发数据包传输至所述数据传输协议地址对应的网络设备,以完成所述数据包的传输。
基于上述公开的内容,本发明在处理器中预先构建有路由表,其中,路由表中存储有各个传输接口的网络地址路径,也就是传输路径,其可表示数据从指定物理接口发送至指定协议地址的网络设备,且在数据包传输前,数据发送设备在数据表内设置有目标ID,由此,处理器在接收到该数据包后,可根据数据包中的目标ID,确定出该数据包对应的传输接口(相当于确定了接口类型)以及协议地址(即作为数据传输协议地址),以便利用该传输接口进行数据包的传输,同时,在确定了接口类型后,即可按照接口类型对应的传输协议对数据包进行封装,得到待转发数据包,以满足不同协议间数据的传输需求,最后,利用确定出的传输接口,将待转换数据传输至数据传输协议地址对应的网络设备中,即可实现数据包在不同设备之间的传输。
通过前述设计,本发明基于现有的处理器实现了不同传输接口间的透明传输,由此,硬件设计人员无需考虑如何将不同的协议统一,软件设计人员不用考虑不同传输接口间数据格式的适配,即本发明在实现不同总线间数据互联互通的同时,降低了处理器设计的复杂度,适用于大规模应用与推广。
在一个可能的设计中,在接收数据发送设备发送的数据包前,所述方法还包括:
为所述多个传输接口中的每个传输接口分配接口ID号;
向每个传输接口连接的设备发送查询指令,以使各个设备在接收到查询指令后,返回设备的IP地址;
接收各个设备的IP地址,并将每个传输接口对应设备的IP地址,作为每个传输接口对应接口ID号的协议地址;
根据每个传输接口、每个传输接口对应的接口ID号以及每个接口ID号对应的协议地址,构建得到路由表,以便在接收到所述数据包时,根据所述数据包中的目标ID,在所述路由表中确定出所述数据包的数据传输接口和数据传输协议地址。
基于上述公开的内容,本发明公开了路由表的具体构建过程,即首先为处理器中的每个传输接口分配接口ID号,该ID号用于与目标ID号进行匹配,以便得到目标ID对应的传输接口和协议地址;然后,处理器向各个传输接口连接的设备发送查询指令,以便查询得到各个设备的IP地址,从而将各个设备的IP地址作为各个传输接口的协议地址;最后,利用前述各个接口ID号和查询出的IP地址,即可组成路由表。
在一个可能的设计中,所述路由表中包括多个接口ID号、每个接口ID号对应的传输接口以及每个接口ID号对应的协议地址;
相应的,根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址,包括:
根据目标ID,在所述路由表中匹配出与所述目标ID相同的接口ID号,作为匹配ID号;
将所述匹配ID号对应的传输接口作为所述数据传输接口,以及将所述匹配ID号对应的协议地址作为所述数据传输协议地址。
基于上述公开的内容,本发明公开了确定数据传输接口和数据传输协议地址的具体过程,即在路由表中查询出与目标ID号相同的接口ID号,以便将该接口ID对应的传输接口和协议地址,作为数据包的数据传输接口和数据传输协议地址。
在一个可能的设计中,数据接收地址;
相应的,在根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址后,所述方法还包括:
判断所述数据传输协议地址的数量是否大于一个;
若是,则将所述数据接收地址作为所述数据包的数据传输协议地址。
基于上述公开的内容,由于存在一个传输接口通过交换机连接多个网络设备的情况(如万兆网接口通过交换机连接多个万兆网设备),因此,为实现数据包的准确传输,可预先在数据包内存储接收网络设备的IP地址,作为数据接收地址,由此,当通过目标ID查询出的协议地址具有多个时,即可将数据接收地址作为数据包的数据传输地址,以完成数据包的准确传输。
在一个可能的设计中,在根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址前,所述方法还包括:
获取所述数据包的数据接收接口,其中,所述数据接收接口为多个传输接口中的一种;
将所述数据包存储至所述数据接收接口对应的数据缓存池中,以使所述数据包以存储转发机制在数据发送设备与所述网络设备之间进行传输。
基于上述公开的内容,通过将数据包存储至数据接收接口对应的数据缓存池中,可使处理器支持存储转发机制,从而支持不同速度的输入/输出端口间的交换以及支持不同速度端口间的转换,由此,不仅可有效地改善网络性能,还可保持高速端口和低速端口间的协同工作。
在一个可能的设计中,在接收数据发送设备发送的数据包前,所述方法还包括:
为所述多个传输接口中的每个传输接口分配预设存储容量的数据缓存空间;
根据每个传输接口对应的传输协议的数据特征,将每个传输接口对应的数据缓存空间划分为多个容量相同的缓存区,以组成每个传输接口对应的数据缓存池,以便在接收到所述数据包时,将所述数据包存储至目标缓存池中,其中,每个缓存区用于存储一个数据报文,且所述目标缓存池为接收所述数据包的传输接口对应的数据缓存池。
在一个可能的设计中,所述数据包中的数据报文依次包括第一字段、第二字段以及第三字段,其中,所述第一字段包括目标ID,所述第二字段包括待传输的内容,所述第三字段包括结束字段。
第二方面,本发明提供了一种支持多种协议的数据传输装置,包括:
接收单元,用于接收数据发送设备发送的数据包,其中,所述数据包包括目标ID;
接口匹配单元,用于根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址;
协议匹配单元,用于根据所述数据传输接口,得到所述数据包的封装协议,其中,所述封装协议为所述数据传输接口对应的传输协议;
封装单元,用于将所述数据包按照所述封装协议进行封装,得到待转发数据包;
传输单元,用于利用所述数据传输接口,将所述待转发数据包传输至所述数据传输协议地址对应的网络设备,以完成所述数据包的传输。
第三方面,本发明提供了另一种支持多种协议的数据传输装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述支持多种协议的数据传输方法。
第四方面,本发明提供了一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述支持多种协议的数据传输方法。
第五方面,本发明供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计的所述支持多种协议的数据传输方法。
附图说明
图1为本发明提供的支持多种协议的数据传输系统的系统架构示意图;
图2为本发明提供的支持多种协议的数据传输方法的步骤流程示意图;
图3为本发明提供的支持多种协议的数据传输方法的第一种实施示意图;
图4为本发明提供的支持多种协议的数据传输方法的第二种实施示意图;
图5为本发明提供的支持多种协议的数据传输方法的第三种实施示意图;
图6为本发明提供的数据报文的格式示意图;
图7为本发明提供的数据缓存池的结构示意图;
图8为本发明提供的支持多种协议的数据传输装置的结构示意图;
图9为本发明提供的电子设备的结构示意图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
实施例
参见图1所示,为本申请提供一种系统架构,该系统包括一具有多个传输接口的处理器(如采用ZYNQ处理器)、至少一个数据发送设备以及至少一个网络设备,其中,至少一个数据发送设备和至少一个网络设备分别通过传输接口与处理器通信连接,以实现不同设备间数据的互传;具体应用时,处理器内部存储有路由表,该路由表包括多个接口ID号、每个接口ID号对应的传输接口以及每个接口ID号对应的协议地址,且数据发送设备对待传输内容进行封装时,存储了该待传输内容需要使用的传输接口的ID号,作为目标ID,即数据包中储存有目标ID,由此,该处理器在接收到数据发送设备发送的数据包时,即可使用本实施例所提供的方法,来匹配出该数据包内目标ID所对应的传输接口,从而利用该传输接口对应的传输协议对数据包进行封装,使其实现不同接口间协议的统一,最后,即可使用该传输接口进行数据的传输,即将封装后的数据包传输至该传输接口对应协议地址的网络设备中;通过上述设计,本发明基于现有的处理器实现了不同传输接口间的透明传输,由此,硬件设计人员无需考虑如何将不同的协议统一,软件设计人员不用考虑不同传输接口间数据格式的适配,即本发明在实现不同总线间数据互联互通的同时,降低了处理器设计的复杂度,适用于大规模应用与推广。
参见图2所示,本实施例第一方面所提供的支持多种协议的数据传输方法,适用于不同总线间数据的互联互通,该方法可以但不限于在具有多个传输接口的处理器侧运行,其运行步骤如下述步骤S1~S5所示。
在本实施例中,举例处理器可以但不限于使用ZYNQ处理器,该处理器内部包含4个APU(Accelerated Processing Unit,加速处理器)核组成的PS(Processing System,处理系统)单元和PL(Progarmmable Logic,可编程逻辑)单元,其中,PS单元挂载外部大容量DDR3数据缓存空间,而PL单元则灵活实现各种协议互联。
同时,在具体应用时,处理器会先生成路由表,其中,路由表中包含多个接口ID号、每个接口ID号对应的传输接口以及每个接口ID号对应的协议地址,以便后续在接收到数据发送设备发送的数据包时,可根据路由表匹配出该数据包需要使用的传输接口,以便实现不同协议的统一,以及传输地址的确认,从而实现不同传输接口间数据的传输。
具体应用时,路由表的构建可以但不限于包括如下步骤S01~S04。
S01. 为所述多个传输接口中的每个传输接口分配接口ID号;具体实施时,相当于为每个传输接口分配编号,该编号则是接口ID(Identity document,身份证标识)号;可选的,接口ID号可以为数字、字母或数字和字母的组合,在此不作限定。
例如,假设处理器具有4个传输接口,分别为PCIE接口、SRIO接口、万兆网接口和Aurora接口,那么前述4个传输接口的接口ID号可以但不限于依次为:A1、A2、A3和A4。
在得到各个传输接口的接口ID后,还需查询各个传输接口连接设备的IP地址,以便实现传输接口与IP地址的关联,如下述步骤S02所示。
S02. 向每个传输接口连接的设备发送查询指令,以使各个设备在接收到查询指令后,返回设备的IP地址;具体实施时,需要知晓各个传输接口所连接的设备的IP(Internet Protocol Address,互联网协议)地址,以便与接口ID号进行一一匹配,以实现数据包传输地址的匹配;参见图3所示,图3中给出了4个设备,分别为FT-2000(飞腾处理器)、DSP6678(多核导航器)、龙芯计算机和FPGA(Field Programmable Gate Array,可编辑逻辑阵列),那么,处理器则为向前述4个设备发送查询指令,以得到4个设备的IP地址,以便后续在进行数据传输时,实现传输地址的匹配。
在得到各个传输接口所连接设备的IP地址后,即可与各个传输接口的接口ID号所关联,其关联步骤如下述步骤S03所示。
S03. 接收各个设备的IP地址,并将每个传输接口对应设备的IP地址,作为每个传输接口对应接口ID号的协议地址;具体应用时,如图3中,PCIE接口连接的设备为飞腾处理器,且其对应的接口ID为A1,那么接口ID号A1对应的协议地址则为飞腾处理器的IP地址,当然,其余各个传输接口的协议地址的关联与前述举例相同,于此不再赘述。
在本实施例中,各个传输接口连接设备,可作为数据发送设备,也可为网络设备(也就是接收设备),即既可发送数据,也可接收数据。
在得到各个传输接口的接口ID号,以及每个接口ID号所对应的协议地址后,即可进行路由表的构建,如下述步骤S04所示。
S04. 根据每个传输接口、每个传输接口对应的接口ID号以及每个接口ID号对应的协议地址,构建得到路由表,以便在接收到所述数据包时,根据所述数据包中的目标ID,在所述路由表中确定出所述数据包的数据传输接口和数据传输协议地址。
在本实施例中,得到路由表后,可将路由表中的接口ID号发送至各个传输接口所连接的设备,以便各个设备在进行数据传输前,在数据包中存储目标ID,即存储需要使用的传输接口的接口ID号,以便后续在处理器中根据该目标ID进行传输接口的匹配。
具体应用时,数据发送设备在进行待传输的内容封装时,其封装后得到的数据包内数据报文可以但不限于依次包括:第一字段、第二字段以及第三字段,其中,所述第一字段包括目标ID,所述第二字段包括待传输的内容,所述第三字段包括结束字段,参见图6所示,其中,图6中数据长度(4)和数据长度(n)则代表待传输的内容。
数据发送设备在对待传输的内容封装后,即可进行数据的传输,如下述步骤S1~S5所示。
S1. 接收数据发送设备发送的数据包,其中,所述数据包包括目标ID。
S2. 根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址;具体应用时,可直接在路由表中匹配出与目标ID相同的接口ID号,从而匹配出数据包的数据传输接口和数据传输协议地址,其具体匹配过程如下述步骤S21和步骤S22所示。
S21. 根据目标ID,在所述路由表中匹配出与所述目标ID相同的接口ID号,作为匹配ID号。
S22. 将所述匹配ID号对应的传输接口作为所述数据传输接口,以及将所述匹配ID号对应的协议地址作为所述数据传输协议地址。
下述以一个实例来进行阐述前述匹配过程,假设数据发送设备为龙芯计算机,其发送给处理器的数据包中的目标ID为A1,那么,则在路由表中查找接口ID号为A1所对应的传输接口和协议地址,而A1对应的传输接口为PCIE接口,对应的协议地址为FT-2000(飞腾处理器)所对应的IP地址,因此,数据包的数据传输接口为PCIE接口,数据包的数据传输协议地址为飞腾处理器的IP地址,即实现万兆网接口与PCIE接口件数据的互传。
在得到数据包所需使用的传输接口后,为实现不同接口间协议的统一,还需按照接口对应的传输协议对数据包进行重新封装,以便满足对应传输接口的传输要求,其中,封装过程则如下述步骤S3和S4所示。
S3. 根据所述数据传输接口,得到所述数据包的封装协议,其中,所述封装协议为所述数据传输接口对应的传输协议。
S4. 将所述数据包按照所述封装协议进行封装,得到待转发数据包;具体应用时,使用哪个传输接口,则需要用该传输接口对应的传输协议进行数据包的重新封装;如,前述数据传输接口为PCIE接口,那么则使用PCIE接口对应的传输协议进行封装。
在本实施例中,前述各个传输接口的传输协议为现有协议,其中,SRIO接口只支持Message传输方式,PCIE接口只支持固定地址的DMA写操作,Aurora接口只支持帧模式操作,而万兆网则只支持UDP(User Datagram Protocol,用户数据包协议)操作,且各接口协议均是在标准协议的数据层进行数据包封装,封装格式为现有技术,于此不再赘述。
在对数据包按照所使用的数据传输接口对应的传输协议进行封装后,即可进行数据的传输,如下述步骤S5所示。
S5. 利用所述数据传输接口,将所述待转发数据包传输至所述数据传输协议地址对应的网络设备,以完成所述数据包的传输;具体应用时,即是将待转发数据包传输至数据传输协议地址对应的网络设备中,如,在前述举例的基础上,接口ID号A1对应的协议地址为飞腾处理器的IP地址,那么则是将待转发数据包传输至飞腾处理器;当然,其余各个传输接口的上传,与前述举例原理相同,于此不再赘述。
同时,由于存在某个传输接口连接多个设备的情况,例如,万兆网接口通过交换机连接多个万兆网设备,因此,为实现数据包的准确传输,还可预先在数据包内填充接收网络设备的IP地址,作为数据接收地址,以实现数据包的准确传输;由此,在根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址后,还需进行如下步骤:
S051. 判断所述数据传输协议地址的数量是否大于一个。
S052. 若是,则将所述数据接收地址作为所述数据包的数据传输协议地址。
前述步骤S051和步骤S052的原理为:若根据目标ID查询出的协议地址(也就是接口ID号的协议地址)的数量大于1个,则说明该数据传输接口连接有多个设备,因此,即可将数据包中含有的数据接收地址作为数据包的数据传输协议地址,以在后续数据传输时,实现数据包的准确传输。
另外,在本实施例中,举例数据包中还可存储数据发送设备的ID号,作为源ID,该源ID用于在数据回传时,确定回传地址,当然,也可将数据发送设备的IP地址与源ID进行关联,记载在路由表中,且源ID和数据接收地址可以但不限于记载到第一字段中。
由此通过前述步骤S1~S5所详细描述的支持多种协议的数据传输方法,本发明基于现有的处理器实现了不同传输接口间的透明传输,由此,硬件设计人员无需考虑如何将不同的协议统一,软件设计人员不用考虑不同传输接口间数据格式的适配,即本发明在实现不同总线间数据互联互通的同时,降低了处理器设计的复杂度,适用于大规模应用与推广。
参见图7所示,本实施例第二方面在实施例第一方面的基础上进行进一步的优化,使数据包可使用存储转换机制在各设备间进行传输。
具体应用时,需先为各个传输接口分配数据缓存池,以便处理器在接收到数据包时,将数据包存储至各接口对应的数据缓存池中,从而基于数据缓存池实现存储转发机制。
可选的,数据缓存池的构建可以但不限于包括如下步骤S05和S06。
S05. 为所述多个传输接口中的每个传输接口分配预设存储容量的数据缓存空间;具体应用时,可以但不限于使用DDR3内存作为处理器的数据缓存空间,即在DDR3内存中为各个传输接口分配预设存储容量的数据缓存空间,当然,各个传输接口对应数据缓存容量空间的大小可根据实际使用而设定。
在得到各个传输接口的数据缓存空间后,还需对数据缓存空间进行空间的划分,如下述步骤S06所示。
S06. 根据每个传输接口对应的传输协议的数据特征,将每个传输接口对应的数据缓存空间划分为多个容量相同的缓存区,以组成每个传输接口对应的数据缓存池,以便在接收到所述数据包时,将所述数据包存储至目标缓存池中,其中,每个缓存区用于存储一个数据报文,且所述目标缓存池为接收所述数据包的传输接口对应的数据缓存池。
在本实施例中,各个传输协议的数据特征,则是各个传输协议对应数据报文的长度,即按照各个传输协议对应数据报文的长度,来将各个数据缓存空间划分为多个容量(容量则为数据报文的长度)相同的缓存区,其中,数据缓存池的结构可参见图7所示。
由此,当处理器接收到数据包时,即可将数据包存储至接收该数据包的传输接口的数据缓存池中,如下述步骤S021和步骤S022所示。
S021. 获取所述数据包的数据接收接口,其中,所述数据接收接口为多个传输接口中的一种;具体应用时,步骤S021则是确定用于接收数据包的传输接口,如在前述举例的基础上进行阐述,即数据发送设备为龙芯计算机,那么其连接的接口(也就是万兆网接口),则作为数据接收接口。
在得到数据接收接口后,即可进行数据包的存储,如下述步骤S022所示。
S022. 将所述数据包存储至所述数据接收接口对应的数据缓存池中,以使所述数据包以存储转发机制在数据发送设备与所述网络设备之间进行传输;如,数据接收接口为万兆网接口,那么则是将数据包存储至万兆网接口对应的数据缓存池中。
由此通过前述设计,通过将数据包存储至数据接收接口对应的数据缓存池中,可使处理器支持存储转发机制,从而支持不同速度的输入/输出端口间的交换以及支持不同速度端口间的转换,不仅可有效地改善网络性能,还可保持高速端口和低速端口间的协同工作。
参见图4和图5所示,本实施例第三方面提供实施例第一方面和第二方面中支持多种协议的数据传输方法的具体应用实例。
参见图4所示,将该方法应用在频谱监测领域,其中,多通道FPGA采集设备现实多路高速ADC采集,采集的ADC数据经预处理后形成数据包,发送至处理器的Aurora接口,此接口数据使用本发明所提供的方法,通过万兆网接口转发至龙芯计算机,由龙芯计算机进行频谱显示和记录。
参见图5所示,将该方法应用至通信侦查领域,信号处理模块由DSP6455处理器+FPGA+ADC组成,DSP6455将采集并处理完成的数据封装成数据包,发送至处理器的SRIO接口,然后使用本发明所提供的方法,通过PCIE接口将数据包转发到由FT-2000处理器实现的显控终端设备中。
当然,其余数据传输领域的传输方法与前述举例原理相同,于此不再赘述。
如图8所示,本实施例第四方面提供了一种实现实施例第一方面中所述的支持多种协议的数据传输方法的硬件装置,包括:
接收单元,用于接收数据发送设备发送的数据包,其中,所述数据包包括目标ID。
接口匹配单元,用于根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址。
协议匹配单元,用于根据所述数据传输接口,得到所述数据包的封装协议,其中,所述封装协议为所述数据传输接口对应的传输协议。
封装单元,用于将所述数据包按照所述封装协议进行封装,得到待转发数据包。
传输单元,用于利用所述数据传输接口,将所述待转发数据包传输至所述数据传输协议地址对应的网络设备,以完成所述数据包的传输。
本实施例提供的硬件装置的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图9所示,本实施例第五方面提供了另一种支持多种协议的数据传输装置,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面或第二方面所述的支持多种协议的数据传输方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction set computer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-networkprocessing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第六方面提供了一种存储包含有实施例第一方面或第二方面所述的支持多种协议的数据传输方法的指令的存储介质,即所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第二方面所述的支持多种协议的数据传输方法。
其中,所述存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面或第二方面,于此不再赘述。
本实施例第七方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面或第二方面所述的支持多种协议的数据传输方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种支持多种协议的数据传输方法,其特征在于,基于具有多个传输接口的处理器进行数据传输,其中,所述方法包括:
接收数据发送设备发送的数据包,其中,所述数据包包括目标ID;
根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址;
根据所述数据传输接口,得到所述数据包的封装协议,其中,所述封装协议为所述数据传输接口对应的传输协议;
将所述数据包按照所述封装协议进行封装,得到待转发数据包;
利用所述数据传输接口,将所述待转发数据包传输至所述数据传输协议地址对应的网络设备,以完成所述数据包的传输。
2.如权利要求1所述的方法,其特征在于,在接收数据发送设备发送的数据包前,所述方法还包括:
为所述多个传输接口中的每个传输接口分配接口ID号;
向每个传输接口连接的设备发送查询指令,以使各个设备在接收到查询指令后,返回设备的IP地址;
接收各个设备的IP地址,并将每个传输接口对应设备的IP地址,作为每个传输接口对应接口ID号的协议地址;
根据每个传输接口、每个传输接口对应的接口ID号以及每个接口ID号对应的协议地址,构建得到路由表,以便在接收到所述数据包时,根据所述数据包中的目标ID,在所述路由表中确定出所述数据包的数据传输接口和数据传输协议地址。
3.如权利要求1所述的方法,其特征在于,所述路由表中包括多个接口ID号、每个接口ID号对应的传输接口以及每个接口ID号对应的协议地址;
相应的,根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址,包括:
根据目标ID,在所述路由表中匹配出与所述目标ID相同的接口ID号,作为匹配ID号;
将所述匹配ID号对应的传输接口作为所述数据传输接口,以及将所述匹配ID号对应的协议地址作为所述数据传输协议地址。
4.如权利要求1所述的方法,其特征在于,所述数据包还包括:数据接收地址;
相应的,在根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址后,所述方法还包括:
判断所述数据传输协议地址的数量是否大于一个;
若是,则将所述数据接收地址作为所述数据包的数据传输协议地址。
5.如权利要求1所述的方法,其特征在于,在根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址前,所述方法还包括:
获取所述数据包的数据接收接口,其中,所述数据接收接口为多个传输接口中的一种;
将所述数据包存储至所述数据接收接口对应的数据缓存池中,以使所述数据包以存储转发机制在数据发送设备与所述网络设备之间进行传输。
6.如权利要求1所述的方法,其特征在于,在接收数据发送设备发送的数据包前,所述方法还包括:
为所述多个传输接口中的每个传输接口分配预设存储容量的数据缓存空间;
根据每个传输接口对应的传输协议的数据特征,将每个传输接口对应的数据缓存空间划分为多个容量相同的缓存区,以组成每个传输接口对应的数据缓存池,以便在接收到所述数据包时,将所述数据包存储至目标缓存池中,其中,每个缓存区用于存储一个数据报文,且所述目标缓存池为接收所述数据包的传输接口对应的数据缓存池。
7.如权利要求1所述的方法,其特征在于,所述数据包中的数据报文依次包括第一字段、第二字段以及第三字段,其中,所述第一字段包括目标ID,所述第二字段包括待传输的内容,所述第三字段包括结束字段。
8.一种支持多种协议的数据传输装置,其特征在于,包括:
接收单元,用于接收数据发送设备发送的数据包,其中,所述数据包包括目标ID;
接口匹配单元,用于根据所述目标ID,在路由表中确定出所述目标ID对应的传输接口以及协议地址,以作为所述数据包的数据传输接口和数据传输协议地址;
协议匹配单元,用于根据所述数据传输接口,得到所述数据包的封装协议,其中,所述封装协议为所述数据传输接口对应的传输协议;
封装单元,用于将所述数据包按照所述封装协议进行封装,得到待转发数据包;
传输单元,用于利用所述数据传输接口,将所述待转发数据包传输至所述数据传输协议地址对应的网络设备,以完成所述数据包的传输。
9.一种支持多种协议的数据传输装置,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~7任意一项所述的支持多种协议的数据传输方法。
10.一种存储介质,其特征在于,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如权利要求1~7任意一项所述的支持多种协议的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210165283.XA CN114244915A (zh) | 2022-02-23 | 2022-02-23 | 一种支持多种协议的数据传输方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210165283.XA CN114244915A (zh) | 2022-02-23 | 2022-02-23 | 一种支持多种协议的数据传输方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114244915A true CN114244915A (zh) | 2022-03-25 |
Family
ID=80747891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210165283.XA Pending CN114244915A (zh) | 2022-02-23 | 2022-02-23 | 一种支持多种协议的数据传输方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114244915A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114900484A (zh) * | 2022-04-29 | 2022-08-12 | 上海星秒光电科技有限公司 | 一种不同网络接口间的数据传输方法、装置、设备及介质 |
WO2023045878A1 (zh) * | 2021-09-23 | 2023-03-30 | 北京车和家信息技术有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092394A1 (zh) * | 2015-12-03 | 2017-06-08 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN107770181A (zh) * | 2017-10-26 | 2018-03-06 | 南京诚思机器人科技有限公司 | 一种机器人系统的交互方法、交互处理装置及系统 |
CN108093070A (zh) * | 2017-12-27 | 2018-05-29 | 复旦大学 | 一种物联网数据服务中间件系统 |
CN113391589A (zh) * | 2021-06-29 | 2021-09-14 | 西北工业大学 | 一种无人机异构设备统一接入与协议转换板卡 |
CN113625632A (zh) * | 2021-08-10 | 2021-11-09 | 广域铭岛数字科技有限公司 | 多场景应用网关、系统及其控制方法 |
-
2022
- 2022-02-23 CN CN202210165283.XA patent/CN114244915A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017092394A1 (zh) * | 2015-12-03 | 2017-06-08 | 中兴通讯股份有限公司 | 数据传输方法及装置 |
CN107770181A (zh) * | 2017-10-26 | 2018-03-06 | 南京诚思机器人科技有限公司 | 一种机器人系统的交互方法、交互处理装置及系统 |
CN108093070A (zh) * | 2017-12-27 | 2018-05-29 | 复旦大学 | 一种物联网数据服务中间件系统 |
CN113391589A (zh) * | 2021-06-29 | 2021-09-14 | 西北工业大学 | 一种无人机异构设备统一接入与协议转换板卡 |
CN113625632A (zh) * | 2021-08-10 | 2021-11-09 | 广域铭岛数字科技有限公司 | 多场景应用网关、系统及其控制方法 |
Non-Patent Citations (1)
Title |
---|
张燕等: ""一种面向QoS的缓冲区设计"", 《北京工业大学学报》, no. 08, 15 August 2011 (2011-08-15), pages 1268 - 1271 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023045878A1 (zh) * | 2021-09-23 | 2023-03-30 | 北京车和家信息技术有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
CN114900484A (zh) * | 2022-04-29 | 2022-08-12 | 上海星秒光电科技有限公司 | 一种不同网络接口间的数据传输方法、装置、设备及介质 |
CN114900484B (zh) * | 2022-04-29 | 2023-11-03 | 上海星秒光电科技有限公司 | 一种不同网络接口间的数据传输方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110109852B (zh) | 硬件实现tcp_ip协议的方法 | |
CN109408419B (zh) | Dsp硬件抽象层和dsp处理器 | |
CN107124286B (zh) | 一种海量数据高速处理、交互的系统及方法 | |
CN106648896B (zh) | 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法 | |
CN114244915A (zh) | 一种支持多种协议的数据传输方法、装置及存储介质 | |
US8185672B2 (en) | Transmission of data bursts on a constant data rate channel | |
CN110297797B (zh) | 异构协议转换装置和方法 | |
CN114168520A (zh) | 光纤通信总线装置、设备和系统 | |
CN113468090B (zh) | 一种PCIe通信方法、装置、电子设备及可读存储介质 | |
CN114647602B (zh) | 一种跨芯片访问控制的方法、装置、设备及介质 | |
CN116501657B (zh) | 缓存数据的处理方法、设备及系统 | |
EP3588879A1 (en) | Technologies for buffering received network packet data | |
CN115904259B (zh) | 非易失性存储器标准NVMe指令的处理方法及相关装置 | |
CN106549869A (zh) | 数据包处理方法及装置 | |
CN113703843B (zh) | 一种寄存器数据处理方法、装置及存储器 | |
CN109358820A (zh) | 数据访问方法、装置、电子设备及计算机可读存储介质 | |
CN101950037A (zh) | 基于sopc的带嵌入式以太网传输的安检系统 | |
CN113691466A (zh) | 一种数据的传输方法、智能网卡、计算设备及存储介质 | |
CN105512075A (zh) | 高速输出、输入接口电路及数据传输方法 | |
CN113300984A (zh) | 通信方法、设备、系统及存储介质 | |
US20230153153A1 (en) | Task processing method and apparatus | |
CN1738224A (zh) | Tdm数据与帧格式转换的电路及方法、传输交换系统及方法 | |
CN109862044B (zh) | 一种转换装置、网络设备及数据传输方法 | |
CN114661650A (zh) | 通信装置、电子装置和通信方法 | |
EP3631640B1 (en) | Communication between field programmable gate arrays |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220325 |