CN110061992A - 一种动态配置fpga的方法及网络安全设备 - Google Patents
一种动态配置fpga的方法及网络安全设备 Download PDFInfo
- Publication number
- CN110061992A CN110061992A CN201910325443.0A CN201910325443A CN110061992A CN 110061992 A CN110061992 A CN 110061992A CN 201910325443 A CN201910325443 A CN 201910325443A CN 110061992 A CN110061992 A CN 110061992A
- Authority
- CN
- China
- Prior art keywords
- fpga
- configuration
- list item
- cpu
- configuration list
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/17752—Structural details of configuration resources for hot reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种动态配置FPGA的方法及网络安全设备,所述网络安全设备包括CPU,与所述CPU连接的至少一块FPGA;CPU响应于用户指令为目标FPGA生成配置表项;所述配置表项包括所述目标FPGA的分类编号和配置内容;CPU向与所述CPU连接的各FPGA发送所述配置表项;各FPGA获取自身分类编号,将自身分类编号与所述配置表项中的分类编号进行匹配,并在自身的分类编号与所述配置表项中的分类编号匹配成功时,存储所述配置内容。以提升CPU的配置效率。
Description
技术领域
本申请涉及网络安全技术,尤其涉及一种动态配置FPGA的方法及网络安全设备。
背景技术
随着信息技术的发展,用户可以通过网络接受各种网络信息服务。网络技术在为用户提供便利的同时,也为网络攻击提供了空间。一些网络流量较大的环境,如企业的数据中心,更容易成为网络攻击的目标。因此,一个大规模的数据中心,通常会布置多种网络安全产品和服务,如防火墙、负载均衡等产品和服务。
目前,CPU和FPGA异构架构是网络安全产品的一种常用架构,这种架构充分利用了FPGA可编程、高吞吐率和低时延的特点,由CPU根据用户指令,通过编译生成相关配置表项,对FPGA进行动态配置,以实现不同的安全服务功能。
发明内容
有鉴于此,本申请提供一种动态配置FPGA的方法,应用于网络安全设备,所述网络安全设备包括CPU;以及,与所述CPU连接的至少一块FPGA;所述方法包括:
CPU响应于用户指令为目标FPGA生成配置表项;所述配置表项包括所述目标FPGA的分类编号和配置内容;
CPU向与所述CPU连接的各FPGA发送所述配置表项;
各FPGA获取自身分类编号,将自身分类编号与所述配置表项中的分类编号进行匹配,并在自身的分类编号与所述配置表项中的分类编号匹配成功时,存储所述配置内容。
在示出的一种实施方式中,所述配置表项还包括分类标志;所述分类标志指示所述配置表项中的分类编号对应的编号类型;
各FPGA获取自身的分类编号,包括:
各FPGA从自身的多种分类编号中,获取与所述分类标志指示的编号类型对应的分类编号。
在示出的一种实施方式中,各FPGA的分类编号包括按照FPGA的功能进行分类得到的功能编号;以及,按照FPGA的位置进行分类得到的位置编号。
在示出的一种实施方式中,所述CPU通过DMA与各FPGA连接;
所述CPU向与所述CPU连接的各FPGA发送所述配置表项,包括:
所述CPU将生成的所述配置表项存储至与所述CPU连接的存储器,并向所述DMA下发控制指令,以使所述DMA响应于所述控制指令,将所述配置表项从所述存储器中下发至与所述CPU连接的各FPGA。
在示出的一种实施方式中,各FPGA连接多个存储器;不同的存储器分别对应不同的表项类型;所述配置表项还包括表项类型和存储地址;所述存储所述配置内容,包括:
确定连接的多个存储器中,与所述配置表项中的表项类型对应的目标存储器;
将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间。
在示出的一种实施方式中,与各FPGA连接的存储器包括若干连续的单位存储空间;
所述将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间,包括:
确定所述配置表项的内容长度是否大于所述单位存储空间的存储长度;
如果是,为所述配置表项分配多个连续的单位存储空间,并将所述配置表项存储至所述多个连续的单位存储空间。
在示出的一种实施方式中,所述网络安全设备包括主控板和至少一块业务板;所述主控板包括CPU;以及,与所述CPU连接的存储器;所述业务板包括FPGA;以及,与所述FPGA连接的存储器。在示出的一种实施方式中,CPU向与所述CPU连接的各FPGA发送所述配置表项之前,还包括:
在与所述CPU连接的存储器中存储所述目标FPGA的唯一标识。
在示出的一种实施方式中,CPU确定是否接收到成功存储所述配置内容的FPGA返回的配置响应消息;其中,所述配置响应消息包括成功存储所述配置内容的FPGA的唯一标识;
如果接收到成功存储所述配置内容的FPGA返回的配置响应消息,进一步确定所述存储器中存储的所述目标FPGA的唯一标识与所述配置响应消息中的FPGA的唯一标识是否匹配;如果是,生成所述目标FPGA配置成功的提示消息,并将所述提示消息返回给所述用户。
在示出的一种实施方式中,CPU如果在预设时长内未接收到成功存储所述配置内容的FPGA返回的配置响应消息,生成所述目标FPGA配置失败的提示消息,并将所述提示消息返回给所述用户。
本申请还提供一种网络安全设备,包括:CPU;以及,与所述CPU连接的至少一块FPGA;
所述CPU,响应于用户指令为目标FPGA生成配置表项;所述配置表项包括所述目标FPGA的分类编号和配置内容;向与所述CPU连接的各FPGA发送所述配置表项;
所述FPGA,获取自身分类编号,将自身分类编号与所述配置表项中的分类编号进行匹配,并在自身的分类编号与所述配置表项中的分类编号匹配成功时,存储所述配置内容。
在示出的一种实施方式中,所述配置表项还包括分类标志;所述分类标志指示所述配置表项中的分类编号对应的编号类型;
所述FPGA,
从自身的多种分类编号中,获取与所述分类标志指示的编号类型对应的分类编号。
在示出的一种实施方式中,所述各FPGA的分类编号包括按照FPGA的功能进行分类得到的功能编号;以及,按照FPGA的位置进行分类得到的位置编号。
在示出的一种实施方式中,所述网络安全设备还包括DMA;所述CPU通过DMA与各FPGA连接;
所述CPU,
将生成的所述配置表项存储至与所述CPU连接的存储器,并向所述DMA下发控制指令;
所述DMA,
响应于所述控制指令,将所述配置表项从所述存储器中下发至与所述CPU连接的各FPGA。
在示出的一种实施方式中,所述网络安全设备还包括与所述各FPGA连接的多个存储器;不同的存储器分别对应不同的表项类型;所述配置表项还包括表项类型和存储地址;
所述FPGA,
确定连接的多个存储器中,与所述配置表项中的表项类型对应的目标存储器;
将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间;
所述存储器,用于存储所述配置内容。
在示出的一种实施方式中,与各FPGA连接的存储器包括若干连续的单位存储空间;
所述FPGA,
确定所述配置表项的内容长度是否大于所述单位存储空间的存储长度;
如果是,为所述配置表项分配多个连续的单位存储空间,并将所述配置表项存储至所述多个连续的单位存储空间。
在示出的一种实施方式中,所述网络安全设备包括主控板和至少一块业务板;所述主控板包括CPU;以及,与所述CPU连接的存储器;所述业务板包括FPGA;以及,与所述FPGA连接的存储器。
在示出的一种实施方式中,所述CPU,向与所述CPU连接的各FPGA发送所述配置表项之前,在与所述CPU连接的存储器中存储所述目标FPGA的唯一标识。
在示出的一种实施方式中,所述CPU,确定是否接收到成功存储所述配置内容的FPGA返回的配置响应消息;其中,所述配置响应消息包括成功存储所述配置内容的FPGA的唯一标识;
如果接收到成功存储所述配置内容的FPGA返回的配置响应消息,进一步确定所述存储器中存储的所述目标FPGA的唯一标识与所述配置响应消息中的FPGA的唯一标识是否匹配;如果是,生成所述目标FPGA配置成功的提示消息,并将所述提示消息返回给所述用户。
在示出的一种实施方式中,所述CPU,如果在预设时长内未接收到成功存储所述配置内容的FPGA返回的配置响应消息,生成所述目标FPGA配置失败的提示消息,并将所述提示消息返回给所述用户。
上述技术方案可知,CPU通过在生成的配置表项中添加分类编号,并将该配置表项下发至目标FPGA,使得该目标FPGA可以将该配置表项中的分类编号与自身的分类编号进行比较,来判断是否接收所述配置表项,以实现配置目标FPGA;
一方面,由于CPU在向目标FPGA下发配置表项时,不再需要基于配置表项中的表项地址对目标FPGA进行寻址,而是直接向与CPU连接的各FPGA分发携带分类编号的配置表项,再由各FPGA自主判断是否需要接收该配置表项即可;因此,简化了CPU配置FPGA的过程,减少了对CPU与FPGA自己通道带宽的占用,使CPU对FPGA的配置效率提高。
另一方面,如果用户需要为具有相同的分类编号的一类FPGA下发相同的配置表项时,可以只生成携带有该相同分类编号的一份配置表项即可。简化了对同一类FPGA进行批量配置过程,尤其,当配置频率较高时,将减少对CPU资源的占用,从而导致整个系统性能提高。
附图说明
图1为本说明书示出的一种网络安全设备的架构图;
图2为本说明书示出的一种动态配置FPGA的方法的实施流程图;
图3为本说明书示出的一实施例的设备架构图;
图4为本说明书示出的一实施例的流程图;
图5为本说明书示出的一实施例的流程图。
具体实施方式
下面将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的设备和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。还应当理解,本文中所使用的词语“如果”,取决于语境,可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参见图1,图1为本说明书示出的一种网络安全设备的架构图。
如图1所示,常用的网络安全设备通常采用CPU(Central Processing Uint,中央处理器)和FPGA(Field-Programmable Gate Array,现场可编程门阵列)的异构架构。
在这种架构下,网络安全设备的CPU可以与至少一块FPGA连接。用户可以通过编辑配置指令的方式,来对与CPU连接的目标FPGA进行动态配置。
其中,与CPU连接的FPGA的数量,在本说明书中不进行特别限定,可以基于实际的对网络安全设备的性能要求进行确定。
CPU在收到用户编辑的配置指令后,可以基于该配置指令为目标FPGA编译配置表项;其中,编译的配置表项中通常包括表项地址和配置内容。需要说明的是,配置表项中的表项地址,通常是指FPGA存储该配置表项的存储地址。
对于编译完成的配置表项,CPU可以基于配置表项中的表项地址,对目标FPGA进行寻址,来查找出FPGA的物理位置,并在查找出目标FPGA的物理位置后,将编译完成的配置表项下发至该目标FPGA;
例如,在实现时,CPU与FPGA之间可以通过PCI总线连接,CPU可以在PCI总线对应的PCI寄存器中预先维护与FPGA对应的地址表,并通过将配置表项中的表项地址在地址表中进行查表的方式,来对查找出目标FPGA的物理位置。
在以上技术方案中,一方面,由于CPU基于配置表项中的表项地址对目标FPGA进行寻址,会占用CPU与FPGA之间的通道带宽;因此,不仅会导致CPU对FPGA的配置效率较低,还会对CPU的性能造成影响;另一方面,如果用户需要针对多个FPGA进行动态配置,则CPU需要针对各个FPGA单独编译配置表项,CPU的运算量较大;而且,当配置表项的更新频率较高时,生成这些表项将会占用更多的CPU资源,从而导致整个系统性能降低。
基于此,本申请提出一种CPU不再需要对FPGA进行寻址,而是由FPGA自主接收CPU下发的配置表项的动态配置FPGA的方法。
在实现时,
各FPGA获取自身分类编号,将自身分类编号与所述配置表项中的分类编号进行匹配,并在自身的分类编号与所述配置表项中的分类编号匹配成功时,存储所述配置内容。
上述技术方案可知,CPU通过在生成的配置表项中添加分类编号,并将该配置表项下发至目标FPGA,使得该目标FPGA可以将该配置表项中的分类编号与自身的分类编号进行比较,来判断是否接收所述配置表项,以实现配置目标FPGA;
一方面,由于CPU在向目标FPGA下发配置表项时,不再需要基于配置表项中的表项地址对目标FPGA进行寻址,而是直接向与CPU连接的各FPGA分发携带分类编号的配置表项,再由各FPGA自主判断是否需要接收该配置表项即可;因此,简化了CPU配置FPGA的过程,减少了对CPU与FPGA自己通道带宽的占用,使CPU对FPGA的配置效率提高。
另一方面,如果用户需要为具有相同的分类编号的一类FPGA下发相同的配置表项时,可以只生成携带有该相同分类编号的一份配置表项即可。简化了对同一类FPGA进行批量配置过程,尤其,当配置频率较高时,将减少对CPU资源的占用,从而导致整个系统性能提高。
请参见图2,图2为本说明书示出的一种动态配置FPGA的方法的实施流程图。
如图2所示,此方法应用于网络安全设备中;所述网络安全设备采用如图1所示出的设备架构;所述方法包括:
S201,CPU响应于用户指令为目标FPGA生成配置表项;所述配置表项包括所述目标FPGA的分类编号和配置内容;
S202,CPU向与所述CPU连接的各FPGA发送所述配置表项;
S203,各FPGA获取自身分类编号,将自身分类编号与所述配置表项中的分类编号进行匹配,并在自身的分类编号与所述配置表项中的分类编号匹配成功时,存储所述配置内容。
在CPU向目标FPGA下发配置表项时,为了使该目标FPGA能够自主判断是否需要存储接收到的配置表项,可以对CPU下发给FPGA的配置表项的表项格式进行扩展,在配置表项现有的格式中引入一个指示该目标FPGA自身的分类编号的表项字段。
需要说明的是,上述FPGA自身的分类编号可以是根据不同的分类策略分类的。例如,各FPGA对应的自身分类编号可以按照FPGA的功能进行分类得到的编号;按照FPGA在装置中所处的位置得到的编号;其中,相同功能的FPGA的编号可以是一致的。因此,指示该目标FPGA自身的分类编号的表项字段也可以是不同类型的。
在示出的一种实施方式中,由于FPGA支持按照多种方式进行编号,因此在上述配置表项的表项格式中,还需要扩展出一个分类标志字段,用以指示配置表项增加的表项字段指示的目标FPGA自身的分类编号的类型。例如,分类标志为1指示该分类编号为按照FPGA在装置中所处的位置得到的编号;分类标志为2指示该分类编号为按照FPGA的功能进行分类得到的编号等。
当用户需要配置目标FPGA时,CPU可以响应于用户编辑的配置指令,获取目标FPGA的分类编号,并为目标FPGA生成携带有该分类编号的配置表项。CPU将生成的配置表项下发给各FPGA,以使各FPGA基于将接收到的该分类编号与自身分类编号匹配结果,判断是否接收所述配置表项。
一方面,由于CPU在向目标FPGA下发配置表项时,不再需要基于配置表项中的表项地址对目标FPGA进行寻址,而是直接向与CPU连接的各FPGA分发携带分类编号的配置表项,再由各FPGA自主判断是否需要接收该配置表项即可;因此,简化了CPU配置FPGA的过程,减少了对CPU与FPGA自己通道带宽的占用,使CPU对FPGA的配置效率提高。
另一方面,如果用户需要为具有相同的分类编号的一类FPGA下发相同的配置表项时,可以只生成携带有该相同分类编号的一份配置表项即可。简化了对同一类FPGA进行批量配置过程,尤其,当配置频率较高时,将减少对CPU资源的占用,从而导致整个系统性能提高。
在示出的一种实施方式中,网络安全设备可以采用主控板-业务板的架构。
请参见图3,图3为本说明书示出的一实施例的设备架构图。
如图3所示,该架构为主控板3101与业务板3301、业务板3302、业务板3303连接,在实际使用中主控板动态配置各业务板,使各业务板实现安全服务功能。
需要说明的是,附图3示出的架构图仅为示意性的,在实际应用中,本领域技术人员也可以采用图3示出的架构以外的其他架构来实施本申请的技术方案。例如,CPU可以与FPGA直接连接,CPU可以与FPGA处于同一块电路板中。另外,主控板可以为单核或多核,同一块业务板也可以有多个FPGA,主控板、业务板包括的其他器件也并未在附图3中示出。
以下结合图3所示的架构详细说明本申请中的实施例。
用户先对业务板进行编号,例如业务板3301的自身分类编号为3301,业务板3302的自身分类编号为3302,业务板3303的自身分类编号为3303。
其中,对FPGA进行编号的方式,在本说明书中不进行特别限定;例如,在实现时,可以直接对位于业务板上的FPGA进行编号,也可以对FPGA所在的业务板进行编号,然后将业务板的编号作为FPGA的编号。
另外,上述分类编号与FPGA自身分类编号的举例仅是为了更好的说明实施例,实际编号的形式可以是数字、字母、符号等;并且,各FPGA对应的自身的分类编号可以是多个。例如,各FPGA(业务板)对应的自身分类编号至少包括按照FPGA(业务板)的功能进行分类得到的编号或者按照FPGA(业务板)在装置中所处的位置得到的编号;其中,相同功能的FPGA(业务板)的编号可以是一致的。
用户需要对某目标业务板进行安全服务配置,例如,对业务板3302进行安全服务配置,向主控板3101发起配置指令。需要说明的是,用户发起配置指令可以对主控板3101进行直接操作或间接操作,例如,直接触控主控板3101以使该主控板获取到配置指令,或者通过语音等间接操作向主控板3101发起配置指令。当然,此处对配置指令中包含的信息也不做限定,以主控板3101可以完成配置目标业务板为准。例如,配置指令可以包括目标业务板的编号信息、功能信息或者仅包含可以使主控板获取目标业务板相关信息的信息。
S201,主控板3101中的CPU响应于用户指令,为目标业务板中的FPGA生成配置表项。所述配置表项,包括所述分类编号和配置内容;所述分类编号,用于指示需要被配置的目标FPGA的编号。在本实施例中,所述分类编号为3302。所述配置内容,用于携带CPU动态配置FPGA的具体配置信息。生成配置表项为本领域技术人员可以容易获得的技术,在此不做详述。
S202,主控板中的CPU可以向各FPGA分发生成的配置表项。
需要说明的是,CPU向FPGA发送配置表项的形式有很多种。例如,CPU直接向FPGA发送配置表项,或者CPU通过与自身连接的存储器向FPGA发送配置表项。在示出的一种实施方式中,CPU通过与自身连接的存储器向FPGA发送配置表项,当然,存储器可以指内存,或是其他具有存储功能的硬件。
CPU向存储器发送指令,执行S202,将存储器中的为目标FPGA生成的配置表项分发给所有与主控板连接的业务板中的FPGA。当然,分发的方式也有很多种,例如,在示出的一种实施方式中,如图3所示,主控板3101中的CPU通过DMA3201与各业务板中的FPGA连接。所述CPU将生成的所述配置表项存储至与所述CPU连接的存储器,当CPU需要向FPGA发送配置表项时,先向所述DMA下发控制指令,以使所述DMA响应于所述控制指令,将所述配置表项从所述存储器中下发至与所述CPU连接的各FPGA。
S203,各FPGA接收到所述CPU分发的配置表项后,先获取自身分类编号,例如,业务板3301的自身分类编号为3301,业务板3302的自身分类编号为3302,业务板3303的自身分类编号为3303。各FPGA将自身分类编号与所述配置表项中的分类编号进行匹配,本实施例中,配置表项携带的分类编号为3302,即只有业务板3302的自身分类编号会与所述分类编号匹配成功,由此,业务板3302会接收配置表项的配置内容,通过配置内容携带的具体配置信息完成被配置。即完成用户对业务板3302进行安全服务配置。
在示出的一种实施方式中,各FPGA对应的自身分类编号可以是多个,且各自身分类编号可以是基于不同的分类策略进行编号的。例如,各FPGA(业务板)对应的自身分类编号至少包括按照FPGA(业务板)的功能进行分类得到的编号或者按照FPGA(业务板)在装置中所处的位置得到的编号;其中,相同功能的FPGA(业务板)的编号可以是一致的。
为了区分上述CPU生成的配置表项中的分类编号对应的编号类型,主控板3101中的CPU生成的配置表项还包括分类标志;各业务板中的FPGA从自身的多种分类编号中,获取与所述分类标志指示的编号类型对应的分类编号。
例如,业务板3301自身分类编号包括位置编号3301和功能编号A,业务板3302自身分类编号包括位置编号3302和功能编号B,业务板3303自身分类编号包括位置编号3303和功能编号A,其中,具有相同功能编号A的业务板3301和业务板3303具有相同的功能;分类标志为1指示配置表项中的分类编号的编号类型为位置编号;分类标志为2指示配置表项中的分类编号的编号类型为功能编号。以下以用户需要将业务板3301和业务板3303配置为安全服务功能一为例具体说明,具体流程如图4所示,图4为本说明书示出的一实施例的流程图。
主控板3101中的CPU响应于用户指令生成一份携带有分类编号为A;分类标志为2的配置表项;
所述CPU将所述配置表项分发给与主控板连接的各业务板中的FPGA;
S401与S402,各FPGA获取到所述配置表项后,分析得到配置表项携带的分类标志为2,因此,从自身的多种分类编号中,获取功能编号,即业务板3301和业务板3303中的FPGA获取自身功能编号A,业务板3302中的FPGA获取自身功能编号B;
S403,各FPGA通过将上述自身分类编号与配置表项携带的分类编号A进行匹配;
S404,匹配成功的FPGA将存储所述配置表项,本实施例中,配置表项携带的分类编号为A,即业务板3301和业务板3303的自身功能编号会与所述分类编号匹配成功,由此,业务板3301和业务板3303中的FPGA会接收配置表项的配置内容,通过配置内容携带的具体配置信息完成被配置。即完成用户将业务板3301和业务板3303配置为安全服务功能一。
由上述实施例可见,当CPU需要对同一功能的FPGA进行动态配置时,只需生成一份配置表项即可,在配置表项更新频率较高时,大大减少了CPU生成配置表项的数量,减少对CPU资源的占用,提升了整个设备系统的性能。
需要说明的是,在S203与S404中均涉及有所述目标FPGA存储所述配置内容的步骤,具体实现方法有很多,此处不做特别限定。
在示出的一种实施方式中,如图3所示,各业务板中的FPGA连接多个存储器;不同的存储器分别对应不同的表项类型;所述配置表项还包括表项类型和存储地址;
所述业务板中的FPGA根据配置表项中的表项类型来确定连接的多个存储器中,与所述配置表项中的表项类型对应的目标存储器,并将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间。
通常不同的存储器一次性能存储的字节长度不一样,本申请还提出一种实施方式,解决不能连续存储所述配置表项的配置内容的技术问题。
在示出的一种实施方式中,与各FPGA连接的存储器包括若干连续的单位存储空间;
所述各FPGA确定所述配置表项的内容长度是否大于所述单位存储空间的存储长度;如果是,所述各FPGA为将所述配置表项分配多个连续的单位存储空间,并将所述配置表项存储至所述多个连续的单位存储空间。
例如,与FPGA连接的存储器单位存储空间为16字节。FPGA接收到一个内容长度为56字节的配置内容,根据上述步骤,FPGA确定需要分配4个连续的单位存储空间,并将所述配置内容存储至所述4个连续的单位存储空间。
若FPGA成功存储CPU生成的配置表项后即表示用户(CPU)对FPGA的配置已经完成,不过在现实配置过程中,经常会有配置失败的情况存在,为了能直观提示用户此次配置是否成功,本发明列举了以下一个实施例,需要说明的是,根据本实施例本领域其他技术人员想到的实施例均是本发明保护的范围。
本发明的一实施例中,如图5所示,图5为本说明书示出的一实施例的流程图,具体步骤结合图3所是架构举例说明。
例如,用户需要将业务板3301和业务板3303配置为安全服务功能一,具体的配置过程本发明上述部分已经详细说明,在此不做赘述,后续只对与前述过程增加的部分进行详细描述。需要说明的是,以下实施例执行主体为主控板3301中的CPU。
S501,响应于用户指令为目标业务板生成相应配置表项;在所述CPU连接的存储器中存储业务板3301中的FPGA和业务板3303中的唯一标识;需要说明的是,与各业务板中FPGA唯一对应的标识可以是FPGA的出厂编号或其他,在此不做限定。以下,以唯一标识为FPGA对应的出厂编号为例。
S502,向与主控板连接的业务板中的FPGA分发所述配置表项;
S503,从发送配置表项开始计时,判断在预设时间段内是否接收到成功存储所述配置内容的FPGA返回的配置响应消息;例如,预设时间为5秒;上述配置响应消息包括成功存储所述配置内容的FPGA的出厂编号;
S504,如果接收到所述配置响应消息,进一步确定所述存储器中存储的FPGA的出厂编号与所述配置响应消息中的FPGA的出厂编号是否匹配;
若匹配成功,S505,生成所述FPGA配置成功的提示消息,并将所述提示消息返回给所述用户;
若匹配失败,S506,生成所述FPGA配置失败的提示消息,并将所述提示消息返回给所述用户。
在本实施例中,与CPU连接的存储器存储有业务板3301和业务板3303中的FPGA的出厂编号。成功存储所述配置内容的FPGA将返回携带有该FPGA出厂编号的配置响应消息。若成功存储所述内容的FPGA仅为业务板3301中的FPGA,则主控板3101中的CPU仅会接收到业务板3301中的FPGA的出厂编号。根据S504与S505,业务板3301中的FPGA的出厂编号会匹配成功,业务板3303中的FPGA的出厂编号会匹配失败,因此,主控板3101中的CPU可以生成业务板3301配置成功、业务板3303配置失败的提示消息,并将所述提示消息返回给所述用户。
如果在执行S503的过程中,判断结果为CPU在预置时间内未接收到成功存储所述配置内容的FPGA返回的配置响应消息,则直接执行步骤S506,生成所述目标FPGA配置失败的提示消息,并将所述提示消息返回给所述用户。
例如,从主控板3101中的CPU发送配置表项开始计时5秒内,所述CPU仅收到业务板3303中的FPGA返回的携带有该FPGA出厂编号的配置响应消息,没有收到业务板3301中的FPGA返回的配置响应消息,执行S506,生成业务板3303配置成功,业务板3301配置失败的提示消息,并将所述提示消息返回给所述用户。对于业务板3303配置成功提示消息的生成在此不做详述。
需要说明,用户收到提示消息后,可以根据提示消息进行其他操作。例如,再次配置配置失败的业务板(FPGA)。再例如,用户根据提示消息找到配置失败的业务板(FPGA),并寻找存储配置内容失败的原因。此处应当理解,所述其他操作不作特指,可以是相关领域技术人员根据本实施例能够想到任何操作。
需要说明的是,上述实施例仅是为了更好的说明方案,本领域技术人员据此能想到的其他方案均属于本申请保护的范围。
相应于上面的方法实施例,本发明还提供一种网络安全设备。
网络安全设备架构如图3所示。需要说明的是,此附图示意的结构仅为示例性,不代表此类设备的唯一结构,本领域技术人员能想到与本示意类似的结构均为本申请保护的对象。
网络安全设备包括主控板3101,主控板内包括CPU和与CPU连接的存储器,所述网络安全设备还包括控制器DMA3201,主控板3101中的CPU通过DMA3201与各业务板中的FPGA连接;所述DMA响应于CPU发送的控制指令,将所述配置表项从所述存储器中下发至与所述CPU连接的各FPGA。
其中,CPU与DMA的连接方式和DMA与FPGA的连接方式均为高速串行总线PCIe链接。
所述网络安全设备还包括业务板3301、业务板3302、业务板3303,此处需要说明的是,业务板的数量及编号仅为更好示例,即业务板数量本身不作限制,可以为一个或多个。所述业务板包括,FPGA和与FPGA连接的若干个存储器。
主控板3101中的CPU响应于用户指令为目标业务板中的FPGA生成配置表项并存储于与所述CPU连接的存储器,所述配置表项包括分类标志、分类编号和配置内容。主控板3101中的CPU响应于用户指令在与所述CPU连接的存储器中存储所述目标业务板中FPGA的唯一标识。
控制器DMA3201响应于所述CPU指令将所述配置表项发送给业务板3301、业务板3302、业务板3303。
各业务板中的FPGA获取到所述配置表项后,检查所述配置表项中的分类标志,根据分类标志确定配置表项中的分类编号的编号类型;
需要说明的是,各业务板中的FPGA会预先被被根据不同的分类策略进行编号。本申请不对分类策略作限定,下面将对分类策略进行举例以更好的说明实施例。例如,将各业务板中的FPGA按照业务板的功能进行分类得到功能类型编号或按照业务板所处的位置进行分类得到位置类型编号。
如果各业务板中的FPGA判断编号类型为功能类型,则各业务板中的FPGA将从自身的多种分类编号中获取与功能类型对应的分类编号,并将该编号与配置表项中的编号进行匹配;
如果匹配失败,则各业务板中的FPGA拒绝存储配置表项中的配置内容;
如果匹配成功,则各业务板中的FPGA存储所述配置内容;
如果各业务板中的FPGA判断编号类型为位置类型,则各业务板中的FPGA先从自身的多种分类编号中获取与位置类型对应的分类编号,并将该编号与配置表项中的编号进行匹配;
如果匹配失败,则各业务板中的FPGA拒绝存储配置表项中的配置内容;
如果匹配成功,则各业务板中的FPGA存储所述配置内容。.
进一步地,匹配成功的FPGA存储所述配置内容的步骤如下:
所述配置表项还包括表项类型和存储地址;不同的存储器分别对应不同的表项类型;
所述匹配成功的FPGA根据配置表项中的表项类型来确定连接的多个存储器,与所述配置表项中的表项类型对应的目标存储器,并将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间。
进一步地,与各匹配成功的FPGA连接的存储器包括若干连续的单位存储空间;
所述FPGA确定所述配置表项的内容长度是否大于所述单位存储空间的存储长度;如果是,所述FPGA为将所述配置表项分配多个连续的单位存储空间,并将所述配置表项存储至所述多个连续的单位存储空间。
进一步地,主控板3101中的CPU,确定是否接收到成功存储所述配置内容的FPGA返回的配置响应消息;其中,所述配置响应消息包括成功存储所述配置内容的FPGA的唯一标识。
如果接收到成功存储所述配置内容的FPGA返回的配置响应消息,进一步确定所述存储器中存储的所述目标FPGA的唯一标识与所述配置响应消息中的FPGA的唯一标识是否匹配;如果是,生成所述目标业务板配置成功的提示消息,并将所述提示消息返回给所述用户。
如果在预设时长内未接收到成功存储所述配置内容的FPGA返回的配置响应消息,生成所述目标FPGA配置失败的提示消息,并将所述提示消息返回给所述用户。
需要说明,用户收到提示消息后,可以根据提示消息进行其他操作。例如,再次配置配置失败的FPGA对应的业务板。再例如,用户根据提示消息找到配置失败的FPGA对应的业务板,并寻找存储配置内容失败的原因。此处应当理解,所述其他操作不作特指,可以是相关领域技术人员根据本实施例能够想到任何操作。
通过以上是实施例,CPU通过在生成的配置表项中添加分类编号,并将该配置表项下发至目标FPGA,使得该目标FPGA可以将该配置表项中的分类编号与自身的分类编号进行比较,来判断是否接收所述配置表项,以实现配置目标FPGA;
一方面,由于CPU在向目标FPGA下发配置表项时,不再需要基于配置表项中的表项地址对目标FPGA进行寻址,而是直接向与CPU连接的各FPGA分发携带分类编号的配置表项,再由各FPGA自主判断是否需要接收该配置表项即可;因此,简化了CPU配置FPGA的过程,减少了对CPU与FPGA自己通道带宽的占用,使CPU对FPGA的配置效率提高。
另一方面,如果用户需要为具有相同的分类编号的一类FPGA下发相同的配置表项时,可以只生成携带有该相同分类编号的一份配置表项即可。简化了对同一类FPGA进行批量配置过程,尤其,当配置频率较高时,将减少对CPU资源的占用,从而导致整个系统性能提高。
此外,在本申请记录的实施例中,还实现了FPGA对超过自身一次存储长度的配置表项实现连续存储,以减少CPU因为FPGA一次存储长度受限而多次向FPGA发送配置表项。从而减少了配置表项对CPU和FPG通道带宽的占用。
在本申请记录的另一实施例中,还实现了CPU对实际配置结果的监控,将实际配置结果与预期配置结果进行比对,找出并记录没有被正常配置的目标FPGA(业务板)告知用户以备他用。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (20)
1.一种动态配置FPGA的方法,应用于网络安全设备中;其特征在于,所述网络安全设备包括CPU;以及,与所述CPU连接的至少一块FPGA;所述方法包括:
CPU响应于用户指令为目标FPGA生成配置表项;所述配置表项包括所述目标FPGA的分类编号和配置内容;
CPU向与所述CPU连接的各FPGA发送所述配置表项;
各FPGA获取自身分类编号,将自身分类编号与所述配置表项中的分类编号进行匹配,并在自身的分类编号与所述配置表项中的分类编号匹配成功时,存储所述配置内容。
2.根据权利要求1所述的方法,其特征在于,所述配置表项还包括分类标志;所述分类标志指示所述配置表项中的分类编号对应的编号类型;
各FPGA获取自身的分类编号,包括:
各FPGA从自身的多种分类编号中,获取与所述分类标志指示的编号类型对应的分类编号。
3.根据权利要求1所述的方法,其特征在于,各FPGA的分类编号包括按照FPGA的功能进行分类得到的功能编号;以及,按照FPGA的位置进行分类得到的位置编号。
4.根据权利要求1所述的方法,其特征在于,所述CPU通过DMA与各FPGA连接;
所述CPU向与所述CPU连接的各FPGA发送所述配置表项,包括:
所述CPU将生成的所述配置表项存储至与所述CPU连接的存储器,并向所述DMA下发控制指令,以使所述DMA响应于所述控制指令,将所述配置表项从所述存储器中下发至与所述CPU连接的各FPGA。
5.根据权利要求1所述的方法,其特征在于,各FPGA连接多个存储器;不同的存储器分别对应不同的表项类型;所述配置表项还包括表项类型和存储地址;所述存储所述配置内容,包括:
确定连接的多个存储器中,与所述配置表项中的表项类型对应的目标存储器;
将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间。
6.根据权利要求5所述的方法,其特征在于,与各FPGA连接的存储器包括若干连续的单位存储空间;
所述将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间,包括:
确定所述配置表项的内容长度是否大于所述单位存储空间的存储长度;
如果是,为所述配置表项分配多个连续的单位存储空间,并将所述配置表项存储至所述多个连续的单位存储空间。
7.根据权利要求1所述的方法,所述网络安全设备包括主控板和至少一块业务板;所述主控板包括CPU;以及,与所述CPU连接的存储器;所述业务板包括FPGA;以及,与所述FPGA连接的存储器。
8.根据权利要求1所述的方法,其特征在于,CPU向与所述CPU连接的各FPGA发送所述配置表项之前,还包括:
在与所述CPU连接的存储器中存储所述目标FPGA的唯一标识。
9.根据权利要求8所述的方法,其特征在于,还包括:
确定是否接收到成功存储所述配置内容的FPGA返回的配置响应消息;其中,所述配置响应消息包括成功存储所述配置内容的FPGA的唯一标识;
如果接收到成功存储所述配置内容的FPGA返回的配置响应消息,进一步确定所述存储器中存储的所述目标FPGA的唯一标识与所述配置响应消息中的FPGA的唯一标识是否匹配;如果是,生成所述目标FPGA配置成功的提示消息,并将所述提示消息返回给所述用户。
10.根据权利要求9所述的方法,其特征在于,还包括:
如果在预设时长内未接收到成功存储所述配置内容的FPGA返回的配置响应消息,生成所述目标FPGA配置失败的提示消息,并将所述提示消息返回给所述用户。
11.一种网络安全设备,其特征在于,包括:CPU;以及,与所述CPU连接的至少一块FPGA;
所述CPU,响应于用户指令为目标FPGA生成配置表项;所述配置表项包括所述目标FPGA的分类编号和配置内容;向与所述CPU连接的各FPGA发送所述配置表项;
所述FPGA,获取自身分类编号,将自身分类编号与所述配置表项中的分类编号进行匹配,并在自身的分类编号与所述配置表项中的分类编号匹配成功时,存储所述配置内容。
12.根据权利要求11所述的网络安全设备,其特征在于,所述配置表项还包括分类标志;所述分类标志指示所述配置表项中的分类编号对应的编号类型;
所述FPGA,
从自身的多种分类编号中,获取与所述分类标志指示的编号类型对应的分类编号。
13.根据权利要求11所述的网络安全设备,其特征在于,所述各FPGA的分类编号包括按照FPGA的功能进行分类得到的功能编号;以及,按照FPGA的位置进行分类得到的位置编号。
14.根据权利要求11所述的网络安全设备,其特征在于,所述网络安全设备还包括DMA;所述CPU通过DMA与各FPGA连接;
所述CPU,
将生成的所述配置表项存储至与所述CPU连接的存储器,并向所述DMA下发控制指令;
所述DMA,
响应于所述控制指令,将所述配置表项从所述存储器中下发至与所述CPU连接的各FPGA。
15.根据权利要求11所述的网络安全设备,其特征在于,所述网络安全设备还包括与所述各FPGA连接的多个存储器;不同的存储器分别对应不同的表项类型;所述配置表项还包括表项类型和存储地址;
所述FPGA,
确定连接的多个存储器中,与所述配置表项中的表项类型对应的目标存储器;
将所述配置内容存储至所述目标存储器内与所述配置表项中的存储地址对应的存储空间;
所述存储器,用于存储所述配置内容。
16.根据权利要求15所述的网络安全设备,其特征在于,与各FPGA连接的存储器包括若干连续的单位存储空间;
所述FPGA,
确定所述配置表项的内容长度是否大于所述单位存储空间的存储长度;
如果是,为所述配置表项分配多个连续的单位存储空间,并将所述配置表项存储至所述多个连续的单位存储空间。
17.根据权利要求11所述的网络安全设备,其特征在于,所述网络安全设备包括主控板和至少一块业务板;所述主控板包括CPU;以及,与所述CPU连接的存储器;所述业务板包括FPGA;以及,与所述FPGA连接的存储器。
18.根据权利要求11所述的网络安全设备,其特征在于,
所述CPU,向与所述CPU连接的各FPGA发送所述配置表项之前,在与所述CPU连接的存储器中存储所述目标FPGA的唯一标识。
19.根据权利要求18所述的方法,其特征在于,
所述CPU,确定是否接收到成功存储所述配置内容的FPGA返回的配置响应消息;其中,所述配置响应消息包括成功存储所述配置内容的FPGA的唯一标识;
如果接收到成功存储所述配置内容的FPGA返回的配置响应消息,进一步确定所述存储器中存储的所述目标FPGA的唯一标识与所述配置响应消息中的FPGA的唯一标识是否匹配;如果是,生成所述目标FPGA配置成功的提示消息,并将所述提示消息返回给所述用户。
20.根据权利要求19所述的方法,其特征在于,还包括:
所述CPU,如果在预设时长内未接收到成功存储所述配置内容的FPGA返回的配置响应消息,生成所述目标FPGA配置失败的提示消息,并将所述提示消息返回给所述用户。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910325443.0A CN110061992B (zh) | 2019-04-22 | 2019-04-22 | 一种动态配置fpga的方法及网络安全设备 |
US16/727,058 US11568092B2 (en) | 2019-04-22 | 2019-12-26 | Method of dynamically configuring FPGA and network security device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910325443.0A CN110061992B (zh) | 2019-04-22 | 2019-04-22 | 一种动态配置fpga的方法及网络安全设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110061992A true CN110061992A (zh) | 2019-07-26 |
CN110061992B CN110061992B (zh) | 2021-12-24 |
Family
ID=67320035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910325443.0A Active CN110061992B (zh) | 2019-04-22 | 2019-04-22 | 一种动态配置fpga的方法及网络安全设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11568092B2 (zh) |
CN (1) | CN110061992B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858053A (zh) * | 2020-07-22 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种fpga资源的动态均衡方法、装置和介质 |
WO2021129327A1 (zh) * | 2019-12-24 | 2021-07-01 | 中兴通讯股份有限公司 | 表项下发方法及装置、表项处理方法及装置 |
CN113157629A (zh) * | 2021-04-20 | 2021-07-23 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113189479A (zh) * | 2021-06-28 | 2021-07-30 | 杭州加速科技有限公司 | 一种提升ate芯片测试速度的方法、装置及测试系统 |
CN114296815A (zh) * | 2021-12-15 | 2022-04-08 | 杭州迪普科技股份有限公司 | 一种配置表项下发方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220321403A1 (en) * | 2021-04-02 | 2022-10-06 | Nokia Solutions And Networks Oy | Programmable network segmentation for multi-tenant fpgas in cloud infrastructures |
CN114978950B (zh) * | 2022-06-02 | 2023-10-27 | 江苏新质信息科技有限公司 | 基于fpga、cpu协同的网络算法调用方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040085972A1 (en) * | 2002-07-02 | 2004-05-06 | Vixel Corporation | Methods and apparatus for trunking in fibre channel arbitrated loop systems |
CN101183977A (zh) * | 2007-10-26 | 2008-05-21 | 杭州华三通信技术有限公司 | 配置下发方法和设备 |
CN101783812A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种基于网络的fpga配置系统及配置方法 |
US8891405B2 (en) * | 2012-07-18 | 2014-11-18 | International Business Machines Corporation | Integrated device management over Ethernet network |
CN108055202A (zh) * | 2017-12-07 | 2018-05-18 | 锐捷网络股份有限公司 | 一种报文处理设备和方法 |
CN109033008A (zh) * | 2018-07-24 | 2018-12-18 | 山东大学 | 一种动态可重构的Hash计算架构及其方法、Key-Value存储系统 |
CN109144932A (zh) * | 2018-08-03 | 2019-01-04 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于dsp的快速动态配置fpga的装置及方法 |
CN109194512A (zh) * | 2018-09-04 | 2019-01-11 | 山东网聪信息科技有限公司 | 环网智能通信装置及其配置方法 |
CN109344115A (zh) * | 2018-10-22 | 2019-02-15 | 西安微电子技术研究所 | 一种通用化的fpga配置系统及方法与重配置系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10587534B2 (en) * | 2017-04-04 | 2020-03-10 | Gray Research LLC | Composing cores and FPGAS at massive scale with directional, two dimensional routers and interconnection networks |
CN108696390A (zh) | 2018-05-09 | 2018-10-23 | 济南浪潮高新科技投资发展有限公司 | 一种软件定义的网络安全设备和方法 |
-
2019
- 2019-04-22 CN CN201910325443.0A patent/CN110061992B/zh active Active
- 2019-12-26 US US16/727,058 patent/US11568092B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040085972A1 (en) * | 2002-07-02 | 2004-05-06 | Vixel Corporation | Methods and apparatus for trunking in fibre channel arbitrated loop systems |
CN101183977A (zh) * | 2007-10-26 | 2008-05-21 | 杭州华三通信技术有限公司 | 配置下发方法和设备 |
CN101783812A (zh) * | 2009-12-01 | 2010-07-21 | 深圳市蓝韵实业有限公司 | 一种基于网络的fpga配置系统及配置方法 |
US8891405B2 (en) * | 2012-07-18 | 2014-11-18 | International Business Machines Corporation | Integrated device management over Ethernet network |
CN108055202A (zh) * | 2017-12-07 | 2018-05-18 | 锐捷网络股份有限公司 | 一种报文处理设备和方法 |
CN109033008A (zh) * | 2018-07-24 | 2018-12-18 | 山东大学 | 一种动态可重构的Hash计算架构及其方法、Key-Value存储系统 |
CN109144932A (zh) * | 2018-08-03 | 2019-01-04 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于dsp的快速动态配置fpga的装置及方法 |
CN109194512A (zh) * | 2018-09-04 | 2019-01-11 | 山东网聪信息科技有限公司 | 环网智能通信装置及其配置方法 |
CN109344115A (zh) * | 2018-10-22 | 2019-02-15 | 西安微电子技术研究所 | 一种通用化的fpga配置系统及方法与重配置系统及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129327A1 (zh) * | 2019-12-24 | 2021-07-01 | 中兴通讯股份有限公司 | 表项下发方法及装置、表项处理方法及装置 |
CN111858053A (zh) * | 2020-07-22 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种fpga资源的动态均衡方法、装置和介质 |
CN111858053B (zh) * | 2020-07-22 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种fpga资源的动态均衡方法、装置和介质 |
CN113157629A (zh) * | 2021-04-20 | 2021-07-23 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113189479A (zh) * | 2021-06-28 | 2021-07-30 | 杭州加速科技有限公司 | 一种提升ate芯片测试速度的方法、装置及测试系统 |
CN114296815A (zh) * | 2021-12-15 | 2022-04-08 | 杭州迪普科技股份有限公司 | 一种配置表项下发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11568092B2 (en) | 2023-01-31 |
CN110061992B (zh) | 2021-12-24 |
US20200334384A1 (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110061992A (zh) | 一种动态配置fpga的方法及网络安全设备 | |
US7848327B2 (en) | Methods and apparatus for creating addresses | |
CN104978261B (zh) | 应用程序的测试方法、装置及系统 | |
US20040240440A1 (en) | Virtual network addresses | |
CN105897947B (zh) | 移动终端的网络访问方法和装置 | |
CN107404481B (zh) | 用户信息识别方法及装置 | |
CN105847108B (zh) | 容器间的通信方法及装置 | |
WO2017032112A1 (zh) | 一种与无中央处理器单板通讯的方法及通讯设备 | |
CN109792393A (zh) | 虚拟化离线计费系统中的软件升级 | |
CN111126604B (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN106101171A (zh) | 服务器连接方法及装置 | |
CN110287226A (zh) | 基于区块链的数据查询方法及装置 | |
CN104333614B (zh) | 终端识别的方法、装置及系统 | |
CN103646081A (zh) | 一种在网页中进行登录的方法和装置 | |
CN104363581B (zh) | 一种关联终端的确定方法及相关设备 | |
CN113645314A (zh) | 一种私有云的部署方法和服务器 | |
CN103634422B (zh) | 一种cdn源站的ip地址识别方法及装置 | |
CN106210162B (zh) | 通信控制方法及装置 | |
CN109688011B (zh) | 一种基于OpenStack的agent选择方法及装置 | |
CN113992515B (zh) | 系统配置方法、装置、设备及存储介质 | |
CN106254440A (zh) | 一种ap的升级方法和装置 | |
CN106131237B (zh) | 容器间通信控制方法及装置 | |
CN108965169B (zh) | 一种报文传输方法、网卡控制器、网卡及电子设备 | |
CN104935679B (zh) | 信息处理装置和信息处理方法 | |
CN111294250B (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 |