云设备管理系统和方法与流程

文档序号:17479463发布日期:2019-04-20 06:20阅读:380来源:国知局
云设备管理系统和方法与流程

本发明涉及互联网技术应用领域,具体而言,涉及一种云设备管理系统和方法。



背景技术:

随着云技术的普及,对于云服务计算要求也随之提高,由于现场可编程门阵列(field-programmablegatearray,简称fpga)是一种异构计算平台的体系结构,通过并行和流水等设计手段,提高计算性能、能效比和计算实时性,对应用进行硬件加速处理;另一方面,通过云服务方式为用户提供高附加值的服务,让用户能聚焦于业务的整合和解决方案。在享有性能优势的同时省去了硬件开发板研发和测试等诸多环节,然而传统方式由于硬件开发门槛高,代价大,时间长让很多用户望而却步。

近年来随着芯片工艺制程的不断发展,fpga性能也在不断的提高,由于其具有超低延迟,高吞吐和快速响应的能力,在基因、大数据、人工智能、金融等领域得到广泛使用。

其中,在现场可编程门阵列(field-programmablegatearray,简称fpga)云产品中,平台提供商将物理机nc上的fpga板卡通过虚拟机(virtualmachine,简称vm)来提供给客户使用。每个nc上可能有一块或者多块fpga板卡,nc上也可能有一个或者多个虚拟机。由于在进行fpga开发中非常容易对nc造成影响,在同一域中每个物理功能pf在同一台虚拟机或同一台物理机,用户通过对每个pf的控制操作,容易导致物理机死机或访问其他用户的数据和破坏fpga的固件firmware,由于每个nc上可能有多个客户,因此现有技术中在开发fpga的过程中存在非常严重的安全隐患。

针对上述由于现有技术中用户通过对每个物理功能pf的控制操作,导致的不安全问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种云设备管理系统和方法,以至少解决由于现有技术中用户通过对每个物理功能pf的控制操作,导致的不安全的技术问题。

根据本发明实施例的一个方面,提供了一种云设备管理系统,包括:数据处理板卡通过第一类物理功能单元接入对应的虚拟机,用于与虚拟机之间进行数据交互;数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,用于通过控制模块管理数据处理板卡。

可选的,数据处理板卡包括:现场可编程门阵列板卡;第一类物理功能单元包括:用户物理功能单元;第二类物理功能单元包括:管理物理功能单元。

进一步地,可选的,现场可编程门阵列板卡通过用户物理功能单元接入对应的虚拟机,用于与虚拟机进行数据交互。

可选的,现场可编程门阵列板卡分别与至少一个虚拟机对应配置。

可选的,现场可编程门阵列板卡通过管理物理功能单元接入控制模块,用于通过控制模块管理现场可编程门阵列板卡。

根据本发明实施例的另一方面,还提供了一种云设备管理方法,包括:将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互;将数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,以使得控制模块依据控制程序控制数据处理板卡。

可选的,数据处理板卡包括:现场可编程门阵列板卡;第一类物理功能单元包括:用户物理功能单元;第二类物理功能单元包括:管理物理功能单元。

进一步地,可选的,将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互包括:根据虚拟机接收到的host程序,通过用户物理功能单元与现场可编程门阵列板卡进行数据交互;其中,host程序包括:预先存储的程序和或用户键入的程序。

可选的,将数据处理板卡通过第二类物理功能单元接入控制模块,以使得控制模块依据控制程序控制数据处理板卡包括:控制模块通过管理物理功能单元对现场可编程门阵列板卡进行管理。

进一步地,可选的,控制模块通过管理物理功能单元对现场可编程门阵列板卡进行管理包括:对现场可编程门阵列板卡进行部分重配置、更新现场可编程门阵列板卡中的固件控制逻辑、或设置加速器功能单元的时钟频率。

根据本发明实施例的再一方面,还提供了一种终端包括:处理器;以及存储器,与处理器连接,用于将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互;将数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,以使得控制模块依据控制程序控制数据处理板卡。

根据本发明另一实施例的一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述云设备管理方法。

根据本发明另一实施例的一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述云设备管理方法。

在本发明实施例中,通过数据处理板卡通过第一类物理功能单元接入对应的虚拟机,用于与虚拟机之间进行数据交互;数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,用于通过控制模块管理数据处理板卡,达到了用户直接访问管理pf带来的安全问题的目的,从而实现了对云平台安全操作,并便于云平台服务提供商维护管理的技术效果,进而解决了由于现有技术中用户通过对每个物理功能pf的控制操作,导致的不安全的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例一的云设备管理系统的结构图;

图2是根据本发明实施例一的一种云设备管理系统的结构图;

图3是本发明实施例的一种云设备管理方法的计算机终端的硬件结构框图;

图4是根据本发明实施例二的云设备管理方法的流程图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请提供的技术名词:

pf:物理功能,physicalfunctions;

fpga:field-programmablegatearray,现场可编程门阵列;

vm:虚拟机,virtualmachine。

实施例1

本申请提供了如图1所示的云设备管理系统。图1是根据本发明实施例一的云设备管理系统的结构图。

数据处理板卡12通过第一类物理功能单元接入对应的虚拟机14,用于与虚拟机14之间进行数据交互;数据处理板卡12通过第二类物理功能单元接入虚拟机中的控制模块16,用于通过控制模块16管理数据处理板卡。

具体的,本申请提供的云设备管理系统中的数据处理板卡12可以为fpga板卡,其中,每个fpga板卡可根据自身数据计算能力分配连接至少一个虚拟机14,区别于现有技术,本申请提供的云设备管理系统中每个fpga的pf中用户usrpf分别与对应的虚拟机14连接,fpga的管理mgmtpf与控制模块16连接,实现了usrpf与mgmtpf的分离,避免了由于现有技术中用户通过对每个物理功能pf的控制操作,导致的安全问题。其中,本申请中第一类物理功能单元可以包括:usrpf,第二类物理功能单元可以包括:mgmtpf。这里控制模块16可以为在虚拟机14中或与虚拟机14位于同一云平台上构建的一个管理模块,用于通过mgmtpf管理每块fpga板卡,或,在云平台的一个管理装置,此时,该管理装置可以为云平台提供商控制的设备,以此以独立的运算能力和存储能力不占用虚拟机或云平台有限的运算资源和存储资源。

其中,在fpga中使用两个pciepf(physicalfunction,简称pf,物理功能)提供服务,管理pf(即,mgmtpf)和用户pf(即,usrpf)。管理pf实现对部分可编程区的管控功能,比如部分可编程的烧写,调试功能。用户pf实现应用与fpga的数据交互,通过在部分重配置pr(partialreconfiguration,简称pr)区实现用户自定义产权逻辑对主机应用进行加速逻辑功能。

通过将usrpf与mgmtpf的分离,避免用户可以访问管理pf所带来的安全问题,且将mgmtpf与控制模块16连接,通过控制模块16对fpga的管理,方便了平台对于fpga的管理。

在本发明实施例中,通过数据处理板卡通过第一类物理功能单元接入对应的虚拟机,用于与虚拟机之间进行数据交互;数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,用于通过控制模块管理数据处理板卡,达到了用户直接访问管理pf带来的安全问题的目的,从而实现了对云平台安全操作,并便于云平台服务提供商维护管理的技术效果,进而解决了由于现有技术中用户通过对每个物理功能pf的控制操作,导致的不安全的技术问题。

具体的,图2是根据本发明实施例一的一种云设备管理系统的结构图,如图2所示,本申请提供的云设备管理系统具体如下:

可选的,数据处理板卡包括:现场可编程门阵列板卡;第一类物理功能单元包括:用户物理功能单元;第二类物理功能单元包括:管理物理功能单元。

进一步地,可选的,现场可编程门阵列板卡通过用户物理功能单元接入对应的虚拟机14,用于与虚拟机14进行数据交互。

可选的,现场可编程门阵列板卡分别与至少一个虚拟机14对应配置。其中,每个fpga板卡可根据自身数据计算能力分配连接至少一个虚拟机14。

可选的,现场可编程门阵列板卡通过管理物理功能单元接入控制模块16,用于通过控制模块16管理现场可编程门阵列板卡。

具体的,如图2所示,每个fpga(如图2中的fpga0和fpga1)拥有两个pf,一个usrpf(即,本申请提供的用户物理功能单元)和一个mgmtpf(即,本申请提供的管理物理功能单元)。usrpf的作用是用户的host程序在虚拟机(如图2所示的,vm0和vm1)中和fpga进行数据交互,mgmtpf的作用是对fpga进行管理,例如,部分重配置(partialreconfiguration,简称pr),更新固件shell(例如fpga中的固件,这里指的是fpga对物理接口(pcie,ddr,网络等)相关部分的逻辑,用户不可改),设置加速器的功能单元(acceleratorfunctionalunits,简称afu)时钟频率(其中,afu为用户可编程逻辑)。本申请提供的云设备管理方法将usrpf直通给客户的虚拟机,然后将mgmtpf给nc上的manager进行统一管理。因此实现了数据和管理的隔离,用户只能跟fpga进行数据交互,管理由云平台提供商控制。

本申请提供的云设备管理系统引入双pf分离结构之后,用户pf被直通到虚拟机,管理pf留在nc,用户无法直接访问管理pf。避免用户可以访问管理pf所带来的安全问题,本申请提供的云设备管理系统能够解决用户直接访问管理pf带来的安全问题,而且更方便了平台对于fpga的管理。

此外,通过物理机在云平台上映射出一个控制模块16,其中,该控制模块16和虚拟机14分别分配数据处理板卡12的管理物理功能单元和用户物理功能单元,其中,数据处理板卡12通过管理物理功能单元接入控制模块16,数据处理板卡12通过用户物理功能单元接入虚拟机14。

这里数据处理板卡包括:fpga板卡,本申请中第一类物理功能单元可以包括:usrpf,第二类物理功能单元可以包括:mgmtpf。该控制模块可以为物理机32在云端映射的一个管理装置,此时,该管理装置可以为云平台提供商控制的设备。

本申请将控制模块设置为归物理机32控制权限内的一个虚拟终端设备,在整个云设备管理系统中省去了布置实体设备的成本(需要补充的是,如以虚拟终端设备实现控制模块的功能,需要虚拟终端设备对应的物理设备具备极高的数据运算能力,这点可由云平台提供商或定制服务的客户需求而定),且,基于上述实现了将usrpf与mgmtpf的分离,避免用户可以访问管理pf所带来的安全问题。

需要说明的是,本申请实施例通过的云设备管理系统仅以上述适用于pcie设备,特别是pcie设备内置有fpga板卡的情况进行说明,以实现本申请云设备管理系统为准,具体不做限定。

实施例2

根据本发明实施例,还提供了一种云设备管理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图3是本发明实施例的一种云设备管理方法的计算机终端的硬件结构框图。如图3所示,计算机终端30可以包括一个或多个(图中仅示出一个)处理器302(处理器302可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器304、以及用于通信功能的传输装置306。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端30还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。

存储器304可用于存储应用软件的软件程序以及模块,如本发明实施例中的云设备管理方法对应的程序指令/模块,处理器302通过运行存储在存储器304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的云设备管理方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端30。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端30的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在上述运行环境下,本申请提供了如图4所示的云设备管理方法。图4是根据本发明实施例二的云设备管理方法的流程图。

步骤s402,将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互;

步骤s404,将数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,以使得控制模块依据控制程序控制数据处理板卡。

具体的,对应实施例1中提供的云设备管理系统,基于云设备管理系统,结合步骤s402至步骤s404,将fpga中使用两个pciepf(physicalfunction,简称pf,物理功能):管理pf(即,mgmtpf)和用户pf(即,usrpf)分离,避免用户可以访问管理pf所带来的安全问题,且将mgmtpf与控制模块连接,通过控制模块对fpga的管理,方便了平台对于fpga的管理。

在本发明实施例中,通过将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互;将数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,以使得控制模块依据控制程序控制数据处理板卡,达到了用户直接访问管理pf带来的安全问题的目的,从而实现了对云平台安全操作,并便于云平台服务提供商维护管理的技术效果,进而解决了由于现有技术中用户通过对每个物理功能pf的控制操作,导致的不安全的技术问题。

可选的,数据处理板卡包括:现场可编程门阵列板卡;第一类物理功能单元包括:用户物理功能单元;第二类物理功能单元包括:管理物理功能单元。

进一步地,可选的,步骤s402中将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互包括:

步骤s4021,根据虚拟机接收到的host程序,通过用户物理功能单元与现场可编程门阵列板卡进行数据交互;其中,host程序包括:预先存储的程序和或用户键入的程序。

可选的,步骤s404中将数据处理板卡通过第二类物理功能单元接入控制模块,以使得控制模块依据控制程序控制数据处理板卡包括:控制模块通过管理物理功能单元对现场可编程门阵列板卡进行管理。

进一步地,可选的,步骤s5041中控制模块通过管理物理功能单元对现场可编程门阵列板卡进行管理包括:对现场可编程门阵列板卡进行部分重配置、更新对现场可编程门阵列板卡中的固件控制逻辑、或设置加速器功能单元的时钟频率。

具体的,本申请提供的云设备管理方法具体如下:

首先,对于(peripheralcomponentinterrconnectexpress,简称pcie)中的端点装置(或,子节点)(endpointdevice,简称ep)设备来说,每一个物理功能(physicalfunctions,简称pf)都有其对应的bar空间,上层用户只能对其对应的bar空间进行访问。

如实施例1中的图2所示,每个fpga拥有两个pf,一个usrpf(即,本申请提供的用户物理功能单元)和一个mgmtpf(即,本申请提供的管理物理功能单元)。usrpf的作用是用户的host程序和fpga进行交互,mgmtpf的作用是对fpga进行管理,例如,部分重配置(partialreconfiguration,简称pr),更新固件shell(例如fpga中的固件,这里指的是fpga对物理接口(pcie,ddr,网络等)相关部分的逻辑,用户不可改),设置加速器的功能单元(acceleratorfunctionalunits,简称afu)时钟频率(其中,afu为用户可编程逻辑)。本申请提供的云设备管理方法将usrpf直通给客户的虚拟机,然后将mgmtpf给nc上的manager进行统一管理。因此实现了数据和管理的隔离,用户只能跟fpga进行数据交互,管理由云平台提供商控制。

本申请提供的云设备管理方法引入双pf分离结构之后,用户pf被直通到虚拟机,管理pf留在nc,用户无法直接访问管理pf。避免用户可以访问管理pf所带来的安全问题,本申请提供的云设备管理方法能够解决用户直接访问管理pf带来的安全问题,而且更方便了平台对于fpga的管理。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

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

实施例3

根据本发明实施例的再一方面,还提供了一种终端包括:处理器;以及存储器,与处理器连接,用于将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互;将数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,以使得控制模块依据控制程序控制数据处理板卡。

实施例4

根据本发明另一实施例的一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例2中的云设备管理方法。

实施例5

根据本发明另一实施例的一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例2中的云设备管理方法。

实施例6

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的云设备管理方法所执行的程序代码。

可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互;将数据处理板卡通过第二类物理功能单元接入虚拟机中的控制模块,以使得控制模块依据控制程序控制数据处理板卡。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:数据处理板卡包括:现场可编程门阵列板卡;第一类物理功能单元包括:用户物理功能单元;第二类物理功能单元包括:管理物理功能单元。

进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将数据处理板卡通过第一类物理功能单元接入对应的虚拟机进行数据交互包括:根据虚拟机接收到的host程序,通过用户物理功能单元与现场可编程门阵列板卡进行数据交互;其中,host程序包括:预先存储的程序和或用户键入的程序。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:将数据处理板卡通过第二类物理功能单元接入控制模块,以使得控制模块依据控制程序控制数据处理板卡包括:控制模块通过管理物理功能单元对现场可编程门阵列板卡进行管理。

进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:控制模块通过管理物理功能单元对现场可编程门阵列板卡进行管理包括:对现场可编程门阵列板卡进行部分重配置、更新现场可编程门阵列板卡中的固件控制逻辑、或设置加速器功能单元的时钟频率。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1