CN113312098A - 程序加载方法、设备、系统及存储介质 - Google Patents
程序加载方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN113312098A CN113312098A CN202010250663.4A CN202010250663A CN113312098A CN 113312098 A CN113312098 A CN 113312098A CN 202010250663 A CN202010250663 A CN 202010250663A CN 113312098 A CN113312098 A CN 113312098A
- Authority
- CN
- China
- Prior art keywords
- target
- fpga
- program
- hardware module
- fpga hardware
- 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
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Abstract
本申请实施例提供一种程序加载方法、设备、系统及存储介质。本申请实施例提供的云服务系统包括:存储节点和FPGA云服务器;其中,存储节点存储有程序。FPGA云服务器包括:管理模块和至少一个FPGA硬件模块,且管理模块和FPGA硬件模块通过数据总线通信连接。在本申请实施例中,管理模块可从存储节点中获取需要加载程序的目标FPGA硬件模块待加载的目标程序,并通过数据总线将目标程序提供给目标FPGA硬件模块,这样目标FPGA硬件模块便可加载目标程序。管理模块和FPGA硬件模块之间通过数据总线实现数据通信,无需通过FPGA云服务器的中央处理器,这样,用户便无法截获目标程序,进而有助于提高程序加载的安全性。
Description
技术领域
本申请涉及云技术领域,尤其涉及一种程序加载方法、设备、系统及存储介质。
背景技术
随着云技术的不断发展,芯片即服务也相应出现。其中,现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)由于具有高吞吐率、低延迟的特点,FPGA即服务逐渐流行起来。在FPGA即服务中,不仅向用户提供FPGA等公有云基础设施资源,还向FPGA的知识产权(Intellectual Property,IP)核供应商提供程序托管服务。
在实际应用中,FPGA可从云上托管的程序中加载所需的程序,为了防止IP核供应商托管的程序发生泄露,如何实现程序的安全加载无疑成为亟待解决的问题。
发明内容
本申请的多个方面提供一种程序加载方法、设备、系统及存储介质,用以提高FPGA云服务中程序加载的安全性。
本申请实施例提供一种云服务系统,包括:存储节点和FPGA云服务器;其中,所述存储节点存储有程序;
所述FPGA云服务器包括:管理模块和至少一个FPGA硬件模块;所述管理模块和所述至少一个FPGA硬件模块通过数据总线通信连接;
其中,所述管理模块,用于从所述存储节点获取目标FPGA硬件模块待加载的目标程序;并通过所述数据总线将所述目标程序提供给所述目标FPGA硬件模块进行加载。
本申请实施例还提供一种程序加载方法,适用于FPGA云服务器中的管理模块;所述方法包括:
获取所述FPGA云服务器中的目标FPGA硬件模块待加载的目标程序;
通过与所述目标FPGA硬件模块之间连接的数据总线将所述目标程序提供给所述目标FPGA硬件模块,以供所述目标FPGA硬件模块加载所述目标程序。
本申请实施例还提供一种服务端设备,包括:管理模块和至少一个FPGA硬件模块;其中,所述管理模块通过数据总线和至少一个FPGA硬件模块通信连接;
所述管理模块,用于获取所述至少一个FPGA硬件模块中的目标FPGA硬件模块待加载的目标程序;并通过所述数据总线将所述目标程序提供给所述目标FPGA硬件模块进行加载。
本申请实施例还提供一种管理设备,包括:存储器、处理器以及通信组件;所述通信组件包括:总线接口和其它通信组件;所述管理设备通过所述总线接口与至少一个FPGA设备通信连接;
其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
通过所述其它通信组件获取所述至少一个FPGA设备中的目标FPGA设备待加载的目标程序;并通过与所述目标FPGA设备之间连接的数据总线将所述目标程序提供给所述目标FPGA设备,以供所述目标FPGA设备加载所述目标程序。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述方法中的步骤。
本申请实施例提供的云服务系统,包括:存储节点和FPGA云服务器;其中,存储节点存储有程序;FPGA云服务器包括:管理模块和至少一个FPGA硬件模块,且管理模块和FPGA硬件模块通过数据总线通信连接。在本申请实施例中,管理模块可从存储节点中获取目标FPGA硬件模块待加载的目标程序,并通过数据总线将目标程序提供给目标FPGA硬件模块,这样目标FPGA硬件模块便可加载目标程序。管理模块和FPGA硬件模块之间通过数据总线实现数据通信,无需通过FPGA云服务器的中央处理器,这样,用户便无法截获目标程序,进而有助于提高程序加载的安全性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a和图1c为本申请实施例提供的一种云服务系统的结构示意图;
图1b为本申请实施例提供的一种程序加载流程示意图;
图1c为本申请实施例提供的另一种云服务系统的结构示意图;
图1d为本申请实施例提供的FPGA云服务器的初始化过程示意图;
图2为本申请实施例提供的程序加载方法的流程示意图;
图3为本申请实施例提供的服务端设备的结构示意图;
图4为本申请实施例提供的管理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决FPGA即服务中程序的安全加载的技术问题,本申请一些实施例提供一种云服务系统,包括:存储节点和FPGA云服务器;其中,存储节点存储有程序;FPGA云服务器包括:管理模块和至少一个FPGA硬件模块,且管理模块和FPGA硬件模块通过数据总线通信连接。在本申请实施例中,管理模块可从存储节点中获取需要加载程序的目标FPGA硬件模块待加载的目标程序,并通过数据总线将目标程序提供给目标FPGA硬件模块,这样目标FPGA硬件模块便可加载目标程序。管理模块和FPGA硬件模块之间通过数据总线实现数据通信,无需通过FPGA云服务器的中央处理器,这样,用户便无法截获目标程序,进而有助于提高程序加载的安全性。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图1a为本申请实施例提供的一种云服务系统的结构示意图。如图1a所示,该系统包括:存储节点10和FPGA云服务器11。
在本实施例中,存储节点10和FPGA云服务器11的数量可以为1个或多个。在本申请各实施例中,多个是指2个或2个以上。其中,存储节点10可以为支持程序存储的软件模块、应用程序、服务或一台实体设备。存储节点10为部署于云上的存储节点。多个存储节点10可以部署在不同的物理机上,也可以部署在不同容器或虚拟机(VM)中。当然,这些容器或虚拟机可以部署在同一物理机上,也可以部署在多个不同的物理机上。图1a中所示的存储节点10和FPGA云服务器11的数量及实现形式均为示例性说明,并不构成限定。
在本实施例中,物理机可以为单一服务器设备,也可以云化的服务器阵列。另外,物理机也可以指具备相应存储能力的其他计算设备,例如电脑等终端设备等。
在本实施例中,FPGA云服务器11可以为提供FPGA资源,并对FPGA资源进行管理的实体设备。用户可申请FPGA云服务器11中的FPGA资源,利用FPGA云服务器11中的FPGA资源构建自己的FPGA实例。其中,FPGA云服务器11可以为单一服务器设备,也可为云化的服务器阵列。
在本实施例中,FPGA云服务器11可为基于虚拟化分区实现的服务器,也可为弹性裸金属服务器。其中,基于虚拟化分区实现的服务器是指:将FPGA云服务器11保护的多个FPGA硬件模块11b提供给不同的用户使用,不同用户申请的FPGA资源需要进行隔离,其中包括CPU资源、I/O资源、内存资源的隔离,虚拟化技术即可实现CPU资源、I/O资源、内存资源的隔离,将隔离形成的不同的分区提供给不同的用户使用,并将分区对应的CPU资源、I/O资源和内存资源暴露给申请该分区的用户。弹性裸金属服务器则是相较于基于虚拟化分区实现的服务器而言的,弹性裸金属服务器没有基于虚拟化技术实现的分区,而是将一台FPGA云服务器提供给一个用户进行使用,将该台云服务器的CPU资源、I/O资源、内存资源全部暴露给该申请用户。
在本实施例中,不同物理机之间、存储节点10和FPGA云服务器11之间可以通过移动网络通信连接,相应地,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。可选地,不同物理机之间也可以通过蓝牙、WiFi、红外线、虚拟私有云(Virtual Private Cloud,VPC)、远程过程调用(Remote Procedure Call,RPC)或远程直接数据存取(Remote Direct MemoryAccess,RDMA)等方式通信连接。
在本实施例中,存储节点10为部署于云上的存储节点,可提供程序托管服务。相应地,存储节点10可存储用户托管的程序。用户在存储节点10上托管的程序多为程序模块,其中每个程序模块可实现相应的功能。托管程序模块的用户,对程序模块拥有知识产权(IP),因此,程序模块也可称为IP核。在本申请实施例中,不限定程序的编程语言的形式。可选地,程序可以为C语言、C++语言、Java语言、Python语言以及FPGA所支持的硬件描述语言等。其中,FPGA所支持的硬件描述语言包括:VHDL、Verilog HDL、System Verilog和System C等。在本申请实施例中,存储节点10存储的程序包括:以FPGA所支持的硬件描述语言所开发的程序。
在本实施例中,FPGA云服务器11为部署于云上的服务器,也可为服务器阵列。FPGA云服务器11包括:管理模块11a和FPGA硬件模块11b。其中,FPGA硬件模块11b的数量可以为1个或多个。图1a中仅以FPGA硬件模块11b的数量为2个进行图示,并不对FPGA硬件模块11b的数量构成限定。FPGA云服务器11可提供FPGA硬件资源,以及对FPGA硬件资源进行管理。用户可申请FPGA云服务器11的FPGA硬件模块11b,并利用申请的FPGA硬件模块11b实现FPGA实例。管理模块11a可对FPGA硬件模块11b进行管理。
其中,管理模块11a可以为具有一定数据处理和数据转发功能的实体设备。可选地,管理模块11a可以为交换机、交换开关或者具有相应功能的板卡。FPGA硬件模块11b为FPGA硬件资源,可以为FPGA板卡等。管理模块11a和FPGA硬件模块11b上均设置有总线接口,并可将数据总线插接到管理模块11a和FPGA硬件模块11b的总线接口上,即使用数据总线将管理模块11a和FPGA硬件模块11b通信连接。
在本实施例中,管理模块11a和FPGA硬件模块11b之间通过数据总线12进行通信连接。在本实施例中,对于一台FPGA云服务器而言,其中的管理设备11a可与该FPGA云服务器中的所有FPGA硬件模块11b通过数据总线12进行通信连接。图1a中仅以管理模块11a和一个FPGA硬件模块11b之间通过数据总线12进行通信连接进行图示,并不表示管理模块11a仅与一个FPGA硬件模块11b通过数据总线12进行连接。在本实施例中,数据总线12可实现管理模块11a和FPGA硬件模块11b之间的点对点(P2P)数据传输,无需经过CPU,可提高数据传输的安全性。在本实施例中,不限定数据总线12的实现形式。可选地,数据总线12可为:PCIE串行总线、PCI数据总线、USB数据总线、SATA总线或SAS总线等,但不限于此。优选地,数据总线12为PCIE串行总线。这是因为PCIE串行总线可实现高速串行点对点双通道高带宽传输,具有较高的数据传输速率。
在本实施例中,FPGA云服务器11中的FPGA硬件模块11b可加载程序来实现相应的功能,得到一个FPGA实例。在本实施例中,每台FPGA云服务器11均包括:管理模块11a和至少一个FPGA硬件模块11b。其中,每台FPGA云服务器11可实现的FPGA实例不同,但实现逻辑相同或相似。下面以一台FPGA云服务器为例,对本申请实施例提供的程序加载逻辑进行示例性说明。
在本申请实施例中,为了便于描述和区分,将FPGA云服务器11中需要加载程序的FPGA硬件模块,定义为目标FPGA硬件模块,并以标号11b1进行示出;并将目标FPGA硬件模块待加载的程序,定义为目标程序。其中,目标程序的数量可以为1个或多个,具体取值由目标FPGA硬件模块11b1的加载需求决定。在本实施例中,对于目标FPGA硬件模块11b1,管理模块11a可从存储节点11a获取目标FPGA硬件模块11b1待加载的目标程序。值得说明的是,存储节点10和管理模块11a之间的通信可基于上层应用层实现。存储节点10和管理模块11a之间的通信可参见上述不同物理机之间的通信方式,在此不再赘述。
进一步,管理设备11a在获取目标程序之后,通过管理模块11a与目标FPGA硬件模块11b1之间的数据总线12,将目标程序提供给目标FPGA硬件模块11b1。相应地,目标FPGA硬件模块11b1从数据总线12接收目标程序,并加载目标程序。
在本实施例中,管理模块通过与目标FPGA硬件模块之间连接的数据总线,将目标FPGA硬件模块待加载的目标程序提供给目标程序,实现了点对点传输,无须经过FPGA云服务器的CPU,这样目标FPGA硬件模块的用户也就无法截获目标程序,从而保障了目标程序的安全性,维护了目标程序的托管用户的知识产权。
对于本实施例提供的程序加载方式,无须经过FPGA云服务器的CPU,目标FPGA硬件模块的用户无法截获目标程序,主要是因为:对于申请FPGA云服务器的用户,其所申请到的FPGA硬件模块所对应的CPU资源、I/O资源和内存资源是暴露给该申请用户,申请用户若要截获目标FPGA硬件模块加载的程序,需要经过CPU进行操作。因此而本实施例提供的程序加载方式,无须经过FPGA云服务器的CPU,目标FPGA硬件模块的用户无法截获目标程序。
另一方面,本实施例提供的程序加载方式,不仅适用于基于虚拟化技术的FPGA服务器,还适用于上述裸金属服务器,有助于提高程序加载的通用性。
在本申请实施例中,不限定管理模块11a从存储节点11b中获取目标程序的实施方式。在一种实施例中,管理模块11a可监测其所在FPGA云服务器11中的FPGA硬件模块11b的程序加载情况,并在监测到有需要加载程序的目标FPGA硬件模块11b1时,从存储节点11b获取该目标FPGA硬件模块11b1待加载的目标程序。
在另一些实施例中,可由存储节点10向管理模块11a推送目标FPGA硬件模块11b1待加载的目标程序。具体实施方式为:存储节点10在目标FPGA硬件模块11b1需要加载所述目标程序的情况下,从存储的程序中获取目标程序,并将目标程序提供给管理模块11a。相应地,管理模块11a接收存储节点10提供的目标程序,并将目标程序通过数据总线12提供给目标FPGA硬件模块11b1。
可选地,存储节点10可响应接收到的程序加载请求,向管理模块11a推送目标FPGA硬件模块11b1待加载的目标程序。其中,目标FPGA硬件模块的第二类标识和程序模块标识。其中,FPGA硬件模块的第二类标识可为:云服务系统向用户提供其所申请的FPGA硬件模块的标识,可为云服务系统自定义的标识,该第二类标识可供存储节点10以及管理模块11a确定需要加载程序的目标FPGA硬件模块。程序模块标识可唯一标识一个程序模块的标识信息,其可为程序模块的托管者的标识信息、程序模块的名称、编号中的至少一种,但不限于于此。
相应地,存储节点10可接收程序加载请求,并从中解析出FPGA硬件模块的第二类标识和程序模块标识。进一步,存储节点10可确定程序模块标识对应的程序模块,作为目标程序。存储节点10还可将FPGA硬件模块的第二类标识对应的FPGA硬件模块作为目标FPGA硬件模块。即存储节点10可根据程序加载请求携带的FPGA硬件模块的第二类标识以及程序标识,确定目标FPGA硬件模块需要加载目标程序。
进一步,在一些实施例中,可由FPGA硬件模块的用户设定哪个FPGA硬件模块需要加载程序以及加载哪些程序。相应地,如图1c所示,云服务系统还包括:前端节点13。该前端节点13可向用户提供交互界面,用户可通过该交互界面设置需要加载程序的FPGA硬件模块,即目标FPGA硬件模块,以及该目标FPGA硬件模块待加载的程序模块。相应地,前端节点13响应于这些设置操作,生成程序加载请求,该程序加载请求包含需要加载程序的目标FPGA硬件模块的第二类标识和待加载的程序模块的标识。进一步,前端节点13将该程序加载请求发送给存储节点10。即前端节点10将通过交互界面提交的程序加载请求发送给存储节点10。
进一步,程序加载请求还包含用户标识,存储节点10可根据该用户标识,确定该用户具有使用权限的FPGA硬件模块。其中,用户具有使用权限的FPGA硬件模块的数量可以为1个或多个,这些FPGA硬件模块可部署于同一FPGA云服务器中,也可部署于不同的FPGA云服务器中。在一些实施例中,云服务系统中FPGA云服务器的数量为多台,而需要加载程序的目标FPGA硬件模块可能部署于这些FPGA云服务器的部分服务器中。因此,存储节点10还需确定需要加载程序的目标FPGA硬件模块所在的FPGA云服务器。
为了解决上述问题,存储节点10可维护用户标识、FPGA硬件模块的第二类标识以及服务器标识之间的对应关系。这样,存储节点10将程序加载请求中的用户标识和FPGA硬件模块的第二类标识在预设的用户标识、FPGA的第二类标识以及服务器标识之间的对应关系中进行匹配,来确定目标FPGA硬件模块所在的目标FPGA服务器;并将目标程序提供给目标FPGA服务器中的管理模块。
可选地,存储节点10可维护有用户和用户具有使用权限的FPGA硬件模块之间的对应关系,可选地,该对应关系可实现为用户标识和FPGA的第二类标识之间的对应关系。基于此,存储节点10可将程序加载请求包含的用户标识在用户标识和FPGA的第二类标识之间的对应关系中进行匹配,来确定该用户具有使用权限的FPGA硬件模块。
进一步,存储节点10还可维护FPGA硬件模块与其所在的FPGA云服务器之间的对应关系,可选地,该对应关系可实现为FPGA硬件模块的第二类标识和服务器标识之间的对应关系。基于此,存储节点10可将程序加载请求包含的FPGA硬件模块的第二类标识在FPGA硬件模块的第二类标识和服务器标识之间的对应关系中进行匹配,来确定目标FPGA硬件模块所在的目标FPGA云服务器。
进一步,存储节点10a可将目标程序提供给目标FPGA云服务器中的管理模块11a。可选地,如图1b所示,存储节点10a可将目标程序提供给目标FPGA云服务器的上层应用,并由目标FPGA云服务器的上层应用将目标程序下发给管理模块11a。
可选地,存储节点10a可利用程序加载请求包含的FPGA硬件模块的第二类标识,对目标程序打标;并将打标后的目标程序发送给所述目标FPGA云服务器中的管理模块11a。相应地,目标FPGA云服务器中的管理模块11a,可根据打标后的目标程序携带的FPGA硬件模块的第二类标识,确定从目标FPGA云服务器上的至少一个FPGA硬件模块11b中确定目标FPGA硬件模块11b1。可选地,管理模块11a中维护有FPGA硬件模块的第二类标识与第一类标识之间的对应关系,管理设备11a可将打标后的目标程序携带的FPGA硬件模块的第二类标识,在FPGA硬件模块的第二类标识与第一类标识之间的对应关系中进行匹配,来确定目标FPGA硬件模块11b1的第一类标识。该目标FPGA硬件模块11b1的第一类标识用于供管理设备11a对目标FPGA硬件模块进行识别。
其中,目标FPGA硬件模块11b1的第一类标识的格式为数据总线12所支持的通信协议所规定的格式。例如,数据总线12为PCIE串行总线,其支持的协议为PCIE协议,这样点对点报文须满足PCIE协议,相应地,第一类标识可以为端点标识符(Endpoint ID,EID)。
可选地,如图1c所示,FPGA云服务器11还包括:总线模块(Bus Owner)11c。总线模块11c可在FPGA云服务器11启动时,为该总线模块11c下的设备配置第一类标识。其中,总线设备11c下的设备包括:FPGA硬件模块11b以及管理模块11a。例如,如图1d所示,数据总线12为PCIE串行总线,FPGA云服务器11上电启动,总线模块11c在FPGA云服务器11启动时,扫描该总线模块11c下的PCIE设备,并为扫描到的每个PCIE设备配置第一类标识。在图1d中仅以第一类标识为EID进行示例。在图1d的示例中,FPGA硬件模块11b以及管理模块11a均为PCIE设备。
在本申请实施例中,不限定管理模块11a通过数据总线12将目标程序提供给目标FPGA硬件模块11b1的具体实施方式。在一些实施例中,管理模块11a可将目标程序将目标程序封装至点对点报文的数据字段,并将目标FPGA硬件模块11b1的第一类标识作为目的地址封装至点对点报文的头部字段,以生成点对点报文;之后,将点对点报文通过数据总线12发送给目的地址指向的目标FPGA硬件模块11b1。相应地,目标FPGA硬件模块11b1通过数据总线12接收点对点报文,并解析点对点报文,进而得到目标程序;之后,目标FPGA硬件模块11b1加载所述目标程序。
其中,点对点报文可以为任何满足数据总线12所支持的通信协议的报文。可选地,点对点报文可以为厂商自定义消息(Vendor Defined Messages,VDM)报文等,但不限于于此。
其中,若点对点报文为VDM报文,FPGA硬件模块11b还需支持VDM报文解析,即目标FPGA硬件模块11b1解析VDM报文,得到目标程序,并加载该目标程序。
进一步,目标FPGA硬件模块11b1加载完成后,可通过数据总线向管理模块11a返回加载完成状态。管理模块11a接收目标FPGA硬件模块11b1的加载完成状态,并将目标FPGA硬件模块11b1的加载完成状态上报给存储节点10。
为了更清楚地描述上述程序加载过程,下面以数据总线为PCIE串行总线,FPGA云服务器中的管理模块和FPGA硬件模块均为PCIE设备为例,并结合图1b进行示例性说明。其中,图1b中仅以FPGA硬件模块为需要加载程序的目标FPGA硬件模块为例进行示出。如图1b所示,FPGA云服务器包括:PCIE管理模块和目标FPGA硬件模块。
如图1b所示,在步骤(1)中,FPGA云服务器的上层应用可接收存储节点推送的目标程序,并将目标程序下发给PCIE管理模块。接着,在步骤(2)中,PCIE管理模块将目标程序封装至点对点报文的数据字段,并将目标目标FPGA硬件模块的EID作为目的地址封装至点对点报文的头部字段,以生成VDM报文。进一步,PCIE管理模块通过PCIE串行总线,将VDM报文提供给目标FPGA硬件模块。相应地,目标FPGA硬件模块通过PCIE串行总线接收VDM报文,并在步骤(3)中解析VDM报文,进而得到目标程序;之后,目标FPGA硬件模块将目标程序加载至部分重配置(Partial Reconfiguration,PR)区域,完成目标程序的加载。PCIE管理模块和FPGA硬件模块之间通过PCIE串行总线实现数据通信,无需通过FPGA云服务器的中央处理器,这样,用户便无法截获目标程序,进而有助于提高程序加载的安全性。
进一步,如图1b所示,在步骤(4)中,目标FPGA硬件模块完成程序加载后,可通过PCIE总线向PCIE管理模块11a返回加载完成状态。在步骤(5)中,PCIE管理模块接收目标FPGA硬件模块的加载完成状态,并将目标FPGA硬件模块的加载完成状态上报给上层应用。相应地,上层应用可将目标FPGA硬件模块的加载完成状态返回给存储节点。
除了上述云服务系统实施例之外,本申请实施例还提供程序加载方法,下面从管理模块的角度,对本申请实施例提供的程序加载方法进行示例性说明。
图2为本申请实施例提供的一种程序加载方法的流程示意图。该方法适用于FPGA云服务器中的管理模块。如图2所示,该方法包括:
201、获取FPGA云服务器中的目标FPGA硬件模块待加载的目标程序。
202、通过与目标FPGA硬件模块之间连接的数据总线将目标程序提供给目标FPGA硬件模块,以供目标FPGA硬件模块加载目标程序。
本实施例提供的程序加载方法适用于上述FPGA云服务器中的管理模块。其中,关于管理模块的实现形式可参见上述系统实施例的相关内容,在此不再赘述。
在本实施例中,目标FPGA硬件模块为部署于管理模块所在FPGA云服务器上,且需要加载程序的FPGA硬件模块。在本实施例中,目标FPGA硬件模块通过数据总线与FPGA硬件模块通信连接。管理模块可从存储节点中获取需要加载程序的目标FPGA硬件模块待加载的目标程序,并通过数据总线将目标程序提供给目标FPGA硬件模块,这样目标FPGA硬件模块便可加载目标程序。管理模块和FPGA硬件模块之间通过数据总线实现数据通信,无需通过FPGA云服务器的中央处理器,这样,用户便无法截获目标程序,进而有助于提高程序加载的安全性。
可选地,步骤202的一种可选实施方式为:将目标程序封装至点对点报文的数据字段,并将目标FPGA硬件模块的第一类标识作为目的地址封装至点对点报文的头部字段,以生成点对点报文;并将点对点报文通过数据总线发送给目的地址指向的目标FPGA硬件模块;其中,第一类标识的格式为数据总线所支持的通信协议所规定的格式。
相应地,目标FPGA硬件模块可解析点对点报文,以得到目标程序;并加载目标程序。
可选地,点对点报文为厂商自定义消息报文。
可选地,FPGA云服务器还包括:总线模块;总线模块可在FPGA云服务器启动时,为至少一个FPGA硬件模块配置FPGA的第一类标识。
可选地,数据总线为PCIE串行总线。
在一些实施例中,云服务系统中的存储节点可在目标FPGA硬件模块需要加载目标程序的情况下,从存储的程序中获取目标程序,并将目标程序提供给管理模块;
相应地,步骤201的一种可选实施方式为:接收存储节点提供的目标程序。
对于存储节点,可根据接收到的程序加载请求中包含的目标FPGA硬件模块的第二类标识和目标程序的标识,确定目标FPGA硬件模块需要加载目标程序。
可选地,云服务系统还包括:前端节点;前端节点可展示交互界面,并将通过交互界面提交的程序加载请求发送给存储节点。
可选地,FPGA云服务器的数量为多台;程序加载请求还包括:用户标识。进一步,存储节点,在将目标程序提供给管理模块时,可将程序加载请求包含的用户标识和FPGA的第二类标识在预设的用户标识、FPGA的第二类标识以及服务器标识之间的对应关系中进行匹配,以确定目标FPGA硬件模块所在的目标FPGA服务器;将目标程序提供给目标FPGA服务器中的管理模块。
进一步,存储节点可利用目标FPGA硬件模块的第二类标识为目标程序打标;将打标后的目标程序发送给目标FPGA云服务器中的管理模块。
相应地,目标FPGA云服务器中的管理模块可根据打标后的目标程序携带的目标FPGA硬件模块的第二类标识,确定从至少一个FPGA硬件模块中确定目标FPGA硬件模块。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤201和202的执行主体可以为设备A;又比如,步骤201的执行主体可以为设备A,步骤202的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述程序加载方法中的步骤。
图3为本申请实施例提供的一种服务端设备的结构示意图。如图3所示,该服务端设备包括:管理模块30a和至少一个FPGA硬件模块30b。管理模块30a和至少一个FPGA硬件模块30b之间通过数据总线30c通信连接。
管理模块30a,用于获取至少一个FPGA硬件模块中目标FPGA硬件模块待加载的目标程序;并通过数据总线30c将目标程序提供给目标FPGA硬件模块;目标FPGA硬件模块加载目标程序。其中,目标FPGA硬件模块为上述只是一个FPGA硬件模块中需要加载程序的FPGA硬件模块。
在一些实施例中,管理模块30a在将目标程序提供给目标FPGA硬件模块时,具体用于:将目标程序封装至点对点报文的数据字段,并将目标FPGA硬件模块的第一类标识作为目的地址封装至点对点报文的头部字段,以生成点对点报文;将点对点报文通过数据总线30c发送给目的地址指向的目标FPGA硬件模块;其中,第一类标识的格式为数据总线所支持的通信协议所规定的格式。
目标FPGA硬件模块在加载目标程序时,具体用于:解析点对点报文,以得到目标程序;并加载目标程序。
可选地,点对点报文为厂商自定义消息报文。
可选地,数据总线为PCIE串行总线。
在一些实施例中,如图1c所示,服务端设备还包括:总线模块30d;总线模块30d,用于在服务端设备启动时,为至少一个FPGA硬件模块配置FPGA的第一类标识。
可选地,管理模块30a在获取至少一个FPGA硬件模块中需要加载程序的目标FPGA硬件模块待加载的目标程序时,具体用于:接收与服务端设备位于云服务系统中的存储节点提供的目标程序。其中,目标程序携带有目标FPGA硬件模块的第二类标识。
可选地,管理模块30a,还用于:根据打标后的目标程序携带的目标FPGA硬件模块的第二类标识,确定从至少一个FPGA硬件模块中确定目标FPGA硬件模块。其中,关于打标后的目标程序的打标过程由存储节点完成,具体表述可参见上述系统实施例的相关内容,在此不再赘述。
本实施例提供的服务端设备,包括:管理模块和至少一个FPGA硬件模块,且管理模块和FPGA硬件模块通过数据总线通信连接。管理模块可从存储节点中获取需要加载程序的目标FPGA硬件模块待加载的目标程序,并通过数据总线将目标程序提供给目标FPGA硬件模块,这样目标FPGA硬件模块便可加载目标程序。管理模块和FPGA硬件模块之间通过数据总线实现数据通信,无需通过服务端设备的中央处理器,这样,用户便无法截获目标程序,进而有助于提高程序加载的安全性。
图4为本申请实施例提供的一种管理设备的结果示意图。如图4所示,该设备包括:存储器40a、处理器40b以及通信组件40c。通信组件40c包括:总线接口40c1和其它通信组件40c2;管理设备通过总线接口40c1与至少一个FPGA设备通信连接。
在本实施例中,存储器40a,用于存储计算机程序。
处理器40b耦合至存储器40a,用于执行计算机程序以用于:通过其它通信组件40c2获取目标FPGA设备待加载的目标程序;并通过与目标FPGA设备之间连接的数据总线将目标程序提供给目标FPGA设备,以供目标FPGA设备加载目标程序;其中,目标FPGA设备为至少一个FPGA设备中需要加载程序的FPGA硬件模块。
可选地,总线接口40c1为PCIE接口;数据总线为PCIE串行总线。
在一些实施例中,处理器40b在将目标程序提供给目标FPGA硬件模块时,具体用于:将目标程序封装至点对点报文的数据字段,并将目标FPGA硬件模块的第一类标识作为目的地址封装至点对点报文的头部字段,以生成点对点报文;将点对点报文通过数据总线发送给目的地址指向的目标FPGA硬件模块;其中,第一类标识的格式为数据总线所支持的通信协议所规定的格式。
可选地,点对点报文为厂商自定义消息报文。
在一些可选实施方式中,如图4所示,该管理设备还可以包括:电源组件40d等可选组件。图4中仅示意性给出部分组件,并不意味着管理设备必须包含图4所示全部组件,也不意味着管理设备只能包括图4所示组件。
在本实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip SOC)等等,但不限于此。
在本实施例中,通信组件中除总线接口之外的其它通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件中除总线接口之外的其它通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件中除总线接口之外的其它通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述其它通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例提供的管理设备,可部署于服务端设备中,该管理设备获取需要加载程序的目标FPGA设备待加载的目标程序,并通过数据总线将目标程序提供给目标FPGA设备,这样目标FPGA设备便可加载目标程序。管理设备和FPGA设备之间通过数据总线实现数据通信,无需通过服务端设备的中央处理器,这样,用户便无法截获目标程序,进而有助于提高程序加载的安全性。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (17)
1.一种云服务系统,包括:存储节点和FPGA云服务器;其中,所述存储节点存储有程序;
所述FPGA云服务器包括:管理模块和至少一个FPGA硬件模块;所述管理模块和所述至少一个FPGA硬件模块通过数据总线通信连接;
其中,所述管理模块,用于从所述存储节点获取目标FPGA硬件模块待加载的目标程序;并通过所述数据总线将所述目标程序提供给所述目标FPGA硬件模块进行加载。
2.根据权利要求1所述的系统,所述管理模块在将所述目标程序提供给所述目标FPGA硬件模块时,具体用于:
将所述目标程序封装至点对点报文的数据字段,并将所述目标FPGA硬件模块的第一类标识作为目的地址封装至所述点对点报文的头部字段,以生成所述点对点报文;
将所述点对点报文通过所述数据总线发送给所述目的地址指向的目标FPGA硬件模块;
其中,所述第一类标识的格式为所述数据总线所支持的通信协议所规定的格式。
3.根据权利要求2所述的系统,所述目标FPGA硬件模块在加载所述目标程序时,具体用于:
解析所述点对点报文,以得到所述目标程序;并加载所述目标程序。
4.根据权利要求2所述的系统,所述FPGA云服务器还包括:总线模块;
所述总线模块,用于在所述FPGA云服务器启动时,为所述至少一个FPGA硬件模块配置第一类标识。
5.根据权利要求1-4任一项所述的系统,所述存储节点,还用于:在所述目标FPGA硬件模块需要加载所述目标程序的情况下,从存储的程序中获取所述目标程序,并将所述目标程序提供给所述管理模块;
所述管理模块,用于:接收所述存储节点提供的所述目标程序。
6.根据权利要求5所述的系统,所述存储节点,还用于:根据接收到的程序加载请求中包含的所述目标FPGA硬件模块的第二类标识和程序模块的标识,确定所述目标FPGA硬件模块需要加载的目标程序模块,作为所述目标程序。
7.根据权利要求6所述的系统,还包括:前端节点;所述前端节点,用于:展示交互界面,并将通过所述交互界面提交的所述程序加载请求发送给所述存储节点。
8.根据权利要求6所述的系统,所述FPGA云服务器的数量为多台;所述程序加载请求还包括:用户标识;
所述存储节点,在将所述目标程序提供给所述管理模块时,具体用于:
将所述程序加载请求包含的用户标识和FPGA的第二类标识,在预设的用户标识、FPGA的第二类标识以及服务器标识之间的对应关系中进行匹配,以确定所述目标FPGA硬件模块所在的目标FPGA云服务器;
将所述目标程序提供给所述目标FPGA云服务器中的管理模块。
9.根据权利要求8所述的系统,所述存储节点,在将所述目标程序提供给所述目标FPGA服务器的管理模块时,具体用于:
利用所述目标FPGA硬件模块的第二类标识为所述目标程序打标;
将打标后的目标程序发送给所述目标FPGA云服务器中的管理模块;
所述目标FPGA云服务器中的管理模块,用于:根据所述打标后的目标程序携带的所述目标FPGA硬件模块的第二类标识,从所述至少一个FPGA硬件模块中确定所述目标FPGA硬件模块。
10.一种程序加载方法,适用于FPGA云服务器中的管理模块;所述方法包括:
获取所述FPGA云服务器中的目标FPGA硬件模块待加载的目标程序;所述目标FPGA模块位于所隶属的FPGA云服务器中;
通过与所述目标FPGA硬件模块之间连接的数据总线,将所述目标程序提供给所述目标FPGA硬件模块,以供所述目标FPGA硬件模块加载所述目标程序。
11.根据权利要求10所述的方法,所述通过与所述目标FPGA硬件模块之间连接的数据总线,将所述目标程序提供给所述目标FPGA硬件模块,包括:
将所述目标程序封装至点对点报文的数据字段,并将所述目标FPGA硬件模块的第一类标识作为目的地址封装至所述点对点报文的头部字段,以生成所述点对点报文;
将所述点对点报文通过所述数据总线发送给所述目的地址指向的目标FPGA硬件模块,以供所述目标FPGA硬件模块从所述点对点报文中解析出所述目标程序并加载;
其中,所述第一类标识的格式为所述数据总线所支持的通信协议所规定的格式。
12.根据权利要求11所述的方法,所述点对点报文为厂商自定义消息报文。
13.根据权利要求10-12任一项所述的方法,所述数据总线为PCIE串行总线。
14.根据权利要求10-12任一项所述的方法,所述获取所隶属的FPGA云服务器中的目标FPGA硬件模块待加载的目标程序,包括:
接收存储节点提供的目标程序;所述目标程序携带有目标FPGA硬件模块的第二类标识;
所述目标程序是所述存储节点在所述目标FPGA硬件模块需要加载程序的情况下提供的。
15.一种服务端设备,包括:管理模块和至少一个FPGA硬件模块;其中,所述管理模块通过数据总线和至少一个FPGA硬件模块通信连接;
所述管理模块,用于获取所述至少一个FPGA硬件模块中的目标FPGA硬件模块待加载的目标程序;并通过所述数据总线将所述目标程序提供给所述目标FPGA硬件模块;所述目标FPGA硬件模块加载所述目标程序。
16.一种管理设备,包括:存储器、处理器以及通信组件;所述通信组件包括:总线接口和其它通信组件;所述管理设备通过所述总线接口与至少一个FPGA设备通信连接;
其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
通过所述其它通信组件获取所述至少一个FPGA设备中的目标FPGA设备待加载的目标程序;并通过与所述目标FPGA设备之间连接的数据总线将所述目标程序提供给所述目标FPGA设备,以供所述目标FPGA设备加载所述目标程序。
17.一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求10-14任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250663.4A CN113312098B (zh) | 2020-04-01 | 2020-04-01 | 程序加载方法、设备、系统及存储介质 |
PCT/CN2021/082901 WO2021197182A1 (zh) | 2020-04-01 | 2021-03-25 | 程序加载方法、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010250663.4A CN113312098B (zh) | 2020-04-01 | 2020-04-01 | 程序加载方法、设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312098A true CN113312098A (zh) | 2021-08-27 |
CN113312098B CN113312098B (zh) | 2022-08-12 |
Family
ID=77370192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010250663.4A Active CN113312098B (zh) | 2020-04-01 | 2020-04-01 | 程序加载方法、设备、系统及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113312098B (zh) |
WO (1) | WO2021197182A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873044A (zh) * | 2021-10-15 | 2021-12-31 | 阿里巴巴(中国)有限公司 | 数据传输方法、系统、设备及存储介质 |
CN114039974A (zh) * | 2021-10-20 | 2022-02-11 | 支付宝(杭州)信息技术有限公司 | 一种云容器生成方法、装置、存储介质及电子设备 |
CN116228515A (zh) * | 2023-05-06 | 2023-06-06 | 苏州仰思坪半导体有限公司 | 硬件加速系统、方法及相关装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114237082A (zh) * | 2021-11-03 | 2022-03-25 | 深圳市优必选科技股份有限公司 | 设备管理系统、机器人及计算机可读存储介质 |
CN114090127A (zh) * | 2021-11-24 | 2022-02-25 | 中国建设银行股份有限公司 | 电子设备及其配置文件的加载方法和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101832125A (zh) * | 2010-04-16 | 2010-09-15 | 电子科技大学 | 一种基于edib总线的井下程序远程更新装置 |
CN102347896A (zh) * | 2011-07-14 | 2012-02-08 | 广州海格通信集团股份有限公司 | 一种基于以太网加载fpga和dsp的平台及其实现方法 |
CN103648056A (zh) * | 2013-12-09 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的点对点传输方法和装置 |
CN107255975A (zh) * | 2017-07-21 | 2017-10-17 | 中国电子科技集团公司第二十九研究所 | 一种利用高速总线实现fpga程序快速加载的装置及方法 |
CN107797816A (zh) * | 2017-09-15 | 2018-03-13 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Fpga程序在线更新电路 |
CN110297652A (zh) * | 2019-06-21 | 2019-10-01 | 四川九州电子科技股份有限公司 | 一种fpga远程升级的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003510705A (ja) * | 1999-09-20 | 2003-03-18 | シーゲイト テクノロジー エルエルシー | フィールドプログラム可能ゲートアレイハードディスク装置 |
CN109639446B (zh) * | 2017-10-09 | 2022-01-11 | 阿里巴巴集团控股有限公司 | Fpga设备、基于fpga设备的云系统 |
CN110209399B (zh) * | 2018-09-29 | 2022-02-08 | 腾讯科技(深圳)有限公司 | Fpga服务系统、数据处理方法及存储介质 |
CN110704365A (zh) * | 2019-08-20 | 2020-01-17 | 浙江大华技术股份有限公司 | 一种基于fpga的重构装置 |
CN110597533A (zh) * | 2019-08-22 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种fpga板卡程序更新系统及方法 |
-
2020
- 2020-04-01 CN CN202010250663.4A patent/CN113312098B/zh active Active
-
2021
- 2021-03-25 WO PCT/CN2021/082901 patent/WO2021197182A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101832125A (zh) * | 2010-04-16 | 2010-09-15 | 电子科技大学 | 一种基于edib总线的井下程序远程更新装置 |
CN102347896A (zh) * | 2011-07-14 | 2012-02-08 | 广州海格通信集团股份有限公司 | 一种基于以太网加载fpga和dsp的平台及其实现方法 |
CN103648056A (zh) * | 2013-12-09 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种智能电视的点对点传输方法和装置 |
CN107255975A (zh) * | 2017-07-21 | 2017-10-17 | 中国电子科技集团公司第二十九研究所 | 一种利用高速总线实现fpga程序快速加载的装置及方法 |
CN107797816A (zh) * | 2017-09-15 | 2018-03-13 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | Fpga程序在线更新电路 |
CN110297652A (zh) * | 2019-06-21 | 2019-10-01 | 四川九州电子科技股份有限公司 | 一种fpga远程升级的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873044A (zh) * | 2021-10-15 | 2021-12-31 | 阿里巴巴(中国)有限公司 | 数据传输方法、系统、设备及存储介质 |
CN113873044B (zh) * | 2021-10-15 | 2024-01-02 | 阿里巴巴(中国)有限公司 | 数据传输方法、系统、设备及存储介质 |
CN114039974A (zh) * | 2021-10-20 | 2022-02-11 | 支付宝(杭州)信息技术有限公司 | 一种云容器生成方法、装置、存储介质及电子设备 |
CN116228515A (zh) * | 2023-05-06 | 2023-06-06 | 苏州仰思坪半导体有限公司 | 硬件加速系统、方法及相关装置 |
CN116228515B (zh) * | 2023-05-06 | 2023-08-18 | 苏州仰思坪半导体有限公司 | 硬件加速系统、方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113312098B (zh) | 2022-08-12 |
WO2021197182A1 (zh) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312098B (zh) | 程序加载方法、设备、系统及存储介质 | |
CN107566541B (zh) | 容器网络资源分配方法、系统、存储介质和电子设备 | |
AU2017404864B2 (en) | Network slice management method, unit and system | |
US10700947B2 (en) | Life cycle management method and device for network service | |
US11960430B2 (en) | Remote mapping method, apparatus and device for computing resources, and storage medium | |
EP3964953A1 (en) | Containerized vnf deployment method and related device | |
WO2020052605A1 (zh) | 一种网络切片的选择方法及装置 | |
US20180247244A1 (en) | Service and Resource Orchestration System and Method, and Apparatus | |
CN110621045A (zh) | 一种物联网业务路由的方法 | |
CN113821310A (zh) | 数据处理方法、可编程网卡设备、物理服务器及存储介质 | |
CN113676512B (zh) | 网络系统、资源处理方法及设备 | |
WO2015080401A1 (ko) | 무선 통신 시스템에서 특정 리소스의 관리를 위한 방법 및 장치 | |
CN112035121B (zh) | 一种边缘应用部署方法及系统 | |
US11785538B2 (en) | Communication control device, communication control system, communication control method, and communication control program | |
Tranoris et al. | Enabling Cyber-Physical Systems for 5G networking: A case study on the Automotive Vertical domain | |
JP7098711B2 (ja) | 遠隔ノード発見、ならびに通信チャネル確認および通信チャネル接続のためのプロセッサによって実施される方法、コンピュータ・システム、およびコンピュータ・プログラム | |
CN106802790B (zh) | 基于云平台的应用用户使用信息管理的方法、设备及系统 | |
US11888700B2 (en) | Method and apparatus for fine-grained isolation in CN NSS domain of E2E network slice | |
CN113076128B (zh) | 用于机器人配置的方法、装置、电子设备及存储介质 | |
CN113722051A (zh) | 硬件性能获取方法、设备、系统及存储介质 | |
US11296929B2 (en) | Methods and network systems for enabling a network service in a visited network | |
CN110719303B (zh) | 一种容器化nrf的方法及系统 | |
CN113691575A (zh) | 通信方法、装置及系统 | |
CN112217852A (zh) | 一种基于工作流引擎的平台即服务系统及方法 | |
CN112769627B (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 |