CN110968413A - 一种数据管理方法、装置和服务器 - Google Patents
一种数据管理方法、装置和服务器 Download PDFInfo
- Publication number
- CN110968413A CN110968413A CN201811140158.3A CN201811140158A CN110968413A CN 110968413 A CN110968413 A CN 110968413A CN 201811140158 A CN201811140158 A CN 201811140158A CN 110968413 A CN110968413 A CN 110968413A
- Authority
- CN
- China
- Prior art keywords
- user
- aei
- identifier
- virtual machine
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000013523 data management Methods 0.000 title claims description 29
- 238000012795 verification Methods 0.000 claims description 25
- 230000001133 acceleration Effects 0.000 claims description 16
- 238000013475 authorization Methods 0.000 claims description 11
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 120
- 230000008569 process Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 208000027581 Annular epidermolytic ichthyosis Diseases 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Abstract
本申请提供一种数据管理方法、装置和服务器,该方法包括,管理服务器接收第一请求,根据第一请求中的第一用户的标识判断是否存在与第一用户的标识关联的影子租户桶,如果存在,则将第一用户请求注册的加速引擎镜像AEI存储至第一用户的标识关联的影子租户桶,其中,影子租户桶用于存储指定用户的AEI,每个影子租户桶和用户一一对应。以此提高AEI存储时的安全性。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种数据管理方法、装置和服务器。
背景技术
现场可编程门阵列(field-programmable gate array,FPGA)加速云服务器是一种基于FPGA的弹性云服务器,可用于提供工具及环境,让用户方便地开发和部署基于FPGA加速的业务,为用户提供易用、经济、敏捷和安全的FPGA云服务。
借助FPGA加速云服务器可进行知识产权(intellectual property,IP)内核模块的开发、部署和使用,IP内核模块可以是预先设计好的、尚未经过验证或者是已经过验证的具有某种确定功能的集成电路、器件或部件。用户可在开发IP内核模块后将IP内核模块相关联的加速引擎镜像(accelerated rngine image,AEI)存储至云服务器,该用户以及其他获得IP内核模块权限的用户,可通过加载和使用IP内核模块相关联的AEI,实现IP内核模块的功能。
然而,目前与用户开发的IP内核模块相关联的AEI进行统一存储和管理,存在安全问题。
发明内容
本申请提供一种数据管理方法、装置和服务器,用以解决目前用户的AEI统一存储和管理,存在安全隐患的技术问题。
第一方面,提供一种数据管理方法,在接收第一请求后,根据第一请求中的第一用户的标识判断是否存在与第一用户的标识关联的影子租户桶,如果存在,则将第一用户请求注册的AEI存储至第一用户的标识关联的影子租户桶,其中,第一请求用于请求注册第一用户自定义的AEI,影子租户桶用于存储第一用户的AEI,且每个影子租户桶和用户一一对应。
采用以上方式,可将第一用户请求注册的AEI存储至影子租户桶,由于影子租户桶由于存储指定用户的AEI,因此可以提高存储AEI时的安全性。
在一种可能的实现方式中,在判断是否存在与第一请求中的第一用户的标识关联的影子租户桶时,可以根据第一规则确定与第一用户的标识相关联的影子租户桶的标识,其中,第一规则用于指示影子租户桶的标识的生成规则,在确定影子租户桶的标识后,可查询当前已创建的全部影子租户桶中是否存在具有该标识的影子租户桶,若存在,则该影子租户桶为第一用户的标识关联的影子租户桶。从而可根据第一请求中的第一用户的标识查询当前已存在的与第一用户的标识关联的影子租户桶。
在一种可能的实现方式中,若确定不存第一用户的标识关联的影子租户桶,可选择预设大小的存储空间作为第一用户的标识关联的影子租户桶,此后,可将第一用户注册的AEI存储至新创建的影子租户桶。从而可在当前已创建的全部影子租户桶中不存在与第一用户的标识关联的影子租户桶的情况下,实现第一用户的标识关联的影子租户桶的创建,以及实现第一用户注册的AEI在影子租户桶的存储。
在一种可能的实现方式中,若接收到第二请求,可根据第二请求中包括的第二用户的标识以及AEI的标识确定第二用户通过权限验证,此后,根据第二请求中的FPGA卡的信息,将AEI加载至FPGA卡中,其中,FPGA卡是第二用户关联的第一虚拟机所关联的FPGA卡。从而可根据第二请求将AEI加载至第二用户关联的第一虚拟机所关联的FPGA卡中,因此第二用户可通过第一虚拟机使用FPGA卡中的AEI。
在一种可能的实现方式中,若第二请求中携带的第二用户的标识包括第一虚拟机的标识,在判断第二用户是否通过权限验证时,可根据第一对应关系确定第一虚拟机的标识对应的镜像的标识,之后,根据第二对应关系,确定镜像的标识所对应的至少一个AEI的标识,若第二请求中包括的AEI的表述包括在确定的至少一个AEI的标识中,则可确定第二用户通过权限验证,否则,可确定第二用户不通过权限验证,其中,第一对应关系可表示虚拟机的标识与允许虚拟机使用的镜像的标识之间的对应关系,第二对应关系可表示镜像的标识与AEI的标识之间的对应关系。从而可根据第二用户的标识以及AEI的标识进行第二用户的权限验证。
在一种可能的实现方式中,若接收到第三请求,可响应于第三请求,释放第二虚拟机所占用的资源,以及异步清除第二虚拟机关联的FPGA卡中的AEI,其中,第三请求用于第三用户请求删除第二虚拟机,第二虚拟机为第三用户关联的虚拟机。从而可解耦虚拟机删除过程中的资源释放的步骤以及FPGA卡清除的步骤,避免由于FPGA卡清除程序中程序的故障导致虚拟机资源释放失败。
在一种可能的实现方式中,在清除第二虚拟机关联的FPGA卡中的AEI时,可设置该FPGA卡为待清除状态,并调用FPGA卡的AEI清除接口执行AEI的清除,此后,可每隔预设时长,确定FPGA卡中的AEI是否清除成功,如果清除成功,则设置FPGA卡的状态为可用状态,否则,确定FPGA卡未清除成功;若FPGA卡未清除成功的次数达到阈值,可进行告警。从而提供了一种清除FPGA卡中的AEI的方式,将尚未清除成功的FPGA卡状态设置为待清除状态,避免其由于再次分配给其他用户关联的虚拟机而造成尚未完成清除的AEI的泄露,并且,在FPGA卡未清除成功的次数达到预设阈值,还可进行告警,避免FPGA卡长时间处于待清除状态。
第二方面,本申请提供一种数据管理装置,所述装置包括用于执行第一方面或第一方面任一种可能实现方式中的故障处理方法的各个模块。第三方面,本申请提供一种服务器,所述服务器包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述装置运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述装置中的硬件资源执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。
第四方面,本申请提供一种FPGA云计算系统,所述系统包括业务服务器和管理服务器,所述管理服务器可用于执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述的方法。
第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种FPGA云计算系统的架构示意图;
图2为本申请实施例提供的另一种FPGA云计算系统的架构示意图;
图3为本申请实施例提供的一种注册AEI的方法流程示意图;
图4为本申请实施例提供的另一种数据管理方法的流程示意图;
图5为本申请实施例提供的另一种数据管理方法的流程示意图;
图6为本申请实施例提供的另一种数据管理方法的流程示意图;
图7为本申请实施例提供的一种数据管理装置的结构示意图;
图8为本申请实施例提供的另一种数据管理装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
下面对本申请涉及术语进行解释:
1、至少一个,是指一个,或一个以上,即包括一个、两个、三个及以上。
2、多个,是指两个,或两个以上,即包括两个、三个及以上。
3、加载,可以是指将文件从A处复制至B处,从而令A、B两处均具有该文件;也可以是指将文件从A处剪切至B处,剪切后仅B处具有该文件。
4、标识(identification),可以是唯一标识事物的信息,包括编号、名称、描述信息等等,例如,AEI的标识可包括AEI的编号、AEI的名称、AEI的描述信息中的一个或多个。
5、FPGA加速云服务器,是指可提供业务开发相关的工具、环境,并且能够实现FPGA加速算法功能的虚拟机、服务器。FPGA加速云服务器可用于提供硬件开发套件(hardwaredevelopment kit,HDK)和应用开发套件(softwaredevelopment kit,SDK),其中,HDK可以包括加速器示例、编码环境、仿真平台、自动化编译工具、代码加密和调试工具包等必备工具;SDK可以包括应用示例、硬件抽象接口、加速器抽象接口、加速器驱动和运行时间(runtime)、版本管理工具等必备工具。通过FPGA加速云服务器,用户可以实现应用开发操作。其中,开发完成的文件可包含FPGA相关的网表、编译报告、时序报告等,如设计检查点(design check point,DCP)文件,开发完成的DCP文件可存储于用户对应的后台存储桶中。
6、存储桶,又可称租户桶、租户存储桶,是与用户相关联的FPGA加速云服务器的存储空间,存储桶是用户可感知、可操作的存储空间,用户可通过云服务器访问与自身关联的存储空间,例如,将文件存储至存储空间,用户还可对自身关联的存储桶进行设置。例如,允许或禁止其他用户访问自身关联的存储通。存储桶可以用于数据、文件的存储,例如,可以用于存储用户开发完成的DCP文件,以及用于存储AEI。本申请实施例所涉及的存储桶,可以是对象存储服务(object storage service,OBS)存储桶,也可以利用其他类型的存储服务实现,本申请实施例不限制。
7、AEI,可以是指用户通过FPGA加速云服务器,或通过实验室环境开发完成的文件(如DCP文件),经过FPGA加速云服务器进行编译后得到的与IP内核模块相关联的文件(可包括数据、逻辑、算法等等),通过AEI的加载和运行,可实现IP内核模块的相应功能。用户可通过FPGA加速云服务器注册自定义的AEI,其中,自定义的AEI可包括用户自定义的逻辑和/或算法,通过AEI的实施,可实现已有的云服务功能,或者实现用户自定义的新的云服务功能。
8、影子租户桶,又可称影子桶、影子存储桶,是指FPGA加速云服务器中与用户关联的存储空间,FPGA加速云服务器可将用户的数据、文件等存储至与用户关联的影子租户桶,但用户无法感知数据、文件被存储至影子租户桶。影子租户桶的创建过程中,可以将影子租户桶与用户的标识和/或鉴权信息进行绑定,实现用户与影子租户桶的关联。影子租户桶与存储桶的区别在于,用户并不能感知影子租户桶的存在,云服务器会自动将满足条件的数据存储至影子租户桶,在用户调用数据时,云服务器自动识别数据是否存储于影子租户桶,当数据存储于影子租户桶中时,云服务器自动调用影子租户桶中的数据,这一过程是用户不可感知的;而存储桶是用户可感知的存储空间,用户可控制云服务器将数据存储至存储桶,并控制云服务器调用存储桶中的数据。
9、FPGA卡,又可称FPGA加速卡、FPGA数据加速卡,可以通过FPGA实现复杂逻辑、算法的处理,其在算法加速、大数据分析、高性能计算、服务器硬件加速等常见的一些加速应用场景。FPGA加速卡的算法可以根据用户实际需要修改,如,可通过FPGA卡关联的服务器、虚拟机(virtual machine,VM),将AEI加载至FPGA卡从而将AEI包括的算法加载至FPGA卡,以及通过服务器、虚拟机,对FPGA卡中加载的AEI进行修改或删除,以实现FPGA卡中加速算法的修改或删除。
10、FPGA虚拟机,可以是指FPGA云计算系统中与至少一个FPGA卡相关联的虚拟机,FPGA虚拟机可用于执行FPGA卡中加载的算法以实现算法的相应功能。FPGA虚拟机可以与用户关联,例如,FPGA云计算系统可根据用户的请求为用户创建FPGA虚拟机,并根据该用户的权限、需求等配置FPGA虚拟机以及配置与FPGA虚拟机关联的FPGA卡。
11、鉴权信息,是指用于进行用户鉴权的信息,鉴权是指用户在访问FPGA云服务器或使用AEI业务(如创建AEI、运行AEI以及删除AEI)时,根据用户的鉴权信息对用户的权限进行验证的过程,只有用户通过鉴权,才能够访问FPGA云服务器或使用AEI业务,从而避免不具有真实身份或鉴权信息不真实、鉴权信息失效的用户访问FPGA云服务器或使用AEI业务,提高FPGA云服务器的安全性。用户的鉴权信息包括但不限于用户的访问密钥标识(access key ID,AK)以及加密访问密钥(secret access key,SK)。这里的鉴权,可以是指身份识别与访问管理(IdentityandAccessManagement,IAM)认证。
下面,结合附图对本申请实施例进行详细说明。首先,介绍本申请实施例提供的云计算系统,本申请提供的数据管理方法可应用于该系统,然后介绍本申请实施例提供的数据管理装置,最后介绍本申请实施例提供的数据管理方法。
如图1所示,本申请实施例提供的FPGA云计算系统100可以是由多个服务器组成的虚拟化环境,该FPGA云计算系统100可以包括多个管理服务器102以及多个业务服务器101,多个管理服务器102之间可通过通信接口实现交互,多个业务服务器101之间也可通过通信接口实现交互。
其中,每个业务服务器101可连接有一个或多个FPGA卡104,以及每个业务服务器101上可以运行一个或多个虚拟机103,这里的虚拟机103可以是FPGA虚拟机或者标准虚拟机,每个FPGA虚拟机可以与一个或多个FPGA卡相关联,FPGA虚拟机可用于执行与FPGA虚拟机关联的FPGA卡中加载的加速算法(如调用FPGA卡中加载的AEI,实现AEI相关功能);标准虚拟机是指未与FPGA卡关联的虚拟机。
FPGA云计算系统100可以为用户创建一个或多个与其关联的标准虚拟机或FPGA虚拟机,例如图1所示,虚拟机103运行于业务服务器101中,用户可通过标准虚拟机或FPGA虚拟机访问FPGA云计算系统100。具体地,假设与第一用户关联的虚拟机103为FPGA虚拟机,第一用户可通过虚拟机103,调用虚拟机103所关联的FPGA卡中指令代码加载的AEI,从而运行AEI。
管理服务器102可用于进行FPGA云计算系统100的管理,包括但不限于:编译、生成AEI,创建、修改或删除虚拟机103(FPGA虚拟机或标准虚拟机),以及执行FPGA虚拟机关联的FPGA卡中AEI的加载、删除等等。管理服务器102可通过软件、硬件或者软件硬件相结合的方式,提供至少一个云服务。举例来说,管理服务器102可用于提供FPGA镜像服务(FPGA imageservice)以及AEI管理服务(AEImanagement service),用于AEI的管理,例如,FPGA镜像服务可获取用户上传的DCP文件,以及用于进行AEI文件的存储、AEI相关信息的获取和查询等等,FPGA管理服务可用于根据DCP文件编译生成AEI文件。在实施中,多个管理服务器102可共同实现对一台或多台业务服务器101的管理。其中,多台管理服务器可以采用主备工作模式。具体地,一台管理服务器102为主用状态的管理服务器,其他一台或多台管理服务器102为备用状态的管理服务器(备用管理服务器与业务服务器101之间交互在图1中通过虚线表示),同一时刻,仅有主用状态的管理服务器用于业务服务器,当主用状态的管理服务器故障时,多台备用状态的管理服务器可以重新选出新的主用状态的管理服务器,由该新的主用状态的管理服务器接管业务服务器的管理任务。可选地,多台管理服务器也可以采用其他工作模式,例如,多台管理服务器之间采用负载分担工作模式,各个管理服务器共同管理多台业务服务器。本申请实施例对多台管理服务器的工作模式不做限定,为便于描述,本申请实施例的以下描述中以多台管理服务器为主备工作模式为例进行描述。
应理解,图1所示架构仅示出了FPGA云计算系统100可能的硬件结构,该云计算系统100在图示结构之外,还可包括必要的组成部分,例如,FPGA云计算系统100还可以具有存储设备,用于存储数据,存储设备可以由存储节点设备或存储节点设备群构成。同时也应理解,如图1所示架构仅仅是一种示例,本申请提供的数据管理系统并不以此为限,即数据管理系统中每个业务服务器可运行一个虚拟机,也可运行多个虚拟机,其中每个虚拟机可关联一个FPGA卡,也可关联多个FPGA卡。
图2为本申请实施例提供的一种FPGA云计算系统100逻辑架构的示意图。如图所示,由管理服务器102和/或业务服务器101提供如图2所示的网络(web)页面201、云管理服务202、FPGA代理(agent)204、FPGA镜像服务205、云存储模块206以及数据库(metadata)207。基于如图2所示架构,用户可以通过网络页面201请求创建FPGA虚拟机,或者用户可以通过已经创建的FPGA虚拟机访问FPGA云计算系统100,其中网络页面201的功能可以通过FPGA云计算系统100的软件实现。具体地,用户通过网络页面201向FPGA云计算系统100的云管理服务202发送创建FPGA虚拟机的请求,云管理服务202可根据请求,控制业务服务器创建虚拟机103,其中,虚拟机103与FPGA卡203关联,这里的云管理服务202可通过基础设备服务(infrastructure as a service,IaaS)层实现。IaaS层面向用户提供存储资源(如数据库207)和硬件设备,用于用户利用这些存储资源和硬件设备访问FPGA云计算系统100,这里的云管理服务202,具体为一种虚拟化管理软件,例如FusionSphere。FPGA卡203可通过预置模块实现消息的传递,例如,FPGA卡203通过mailbox在加载AEI的过程中,接收用户通过虚拟机103发送的加载AEI的请求,以及通过mailbox向FPGA代理204发送请求,用于请求FPGA代理204将AEI加载至FPGA卡203;FPGA代理204可根据FPGA卡203发送的加载请求,从FPGA镜像服务205查询需要加载的AEI的存储信息(如存储地址),在从FPGA镜像服务205获取AEI的存储信息后,FPGA代理204可根据AEI的存储信息从云存储模块206下载AEI,其中,云存储模块206为FPGA云计算系统100的数据存储模块,用于存储用户上传的DCP和/或AEI。FPGA卡203还可包括动态加载模块(iCAP),用于将获取的AEI加载到FPGA卡203中。
示例性地,如图2所示业务服务器的功能可由如图1所示的业务服务器101实现,FPGA卡203的功能可由如图1中业务服务器101连接的FPGA卡104实现,FPGA代理204可由业务服务器101通过软件实现,网络页面201、云管理服务202、数据库207、FPGA镜像服务205以及云存储模块206的功能可由如图1所示管理服务器102通过软件实现。
下面结合如图1和图2所示FPGA云计算系统100,进一步介绍本申请实施例提供的数据管理方法。图3为本申请实施例提供的一种注册AEI的方法流程示意图,该方法可以由图1中业务服务器101、管理服务器102实施,该方法可包括以下步骤:
S101:业务服务器发送第一请求,业务服务器运行有与第一用户关联的虚拟机,第一请求用于第一用户请求注册第一用户自定义的AEI,第一请求包括第一用户的标识和AEI的标识。
S102:管理服务器接收第一请求。
S103:管理服务器根据第一用户的标识判断是否存在与第一用户的标识关联的影子租户桶,影子租户桶用于存储指定用户的AEI,第一用户为指定用户中的任意一个。
S104:当存在与第一用户标识关联的影子租户桶时,管理服务器将AEI存储至与第一用户的标识关联的影子租户桶。
采用以上方法,管理服务器在创建AEI后,可将AEI存储至与第一用户标识关联的影子租户桶中,由于影子租户桶仅用于存储指定用户的AEI,云服务器在存储第一用户请求注册的AEI时,不再对多用户的AEI进行统一存储,从而可提高AEI的安全性。
作为一个可能的实施例,每个影子租户桶与用户一一对应。为提高影子租户桶的安全性,影子租户桶可只用于存储指定用户请求注册的自定义AEI。具体地,管理服务器可创建与第一用户为一对一的影子租户桶,其中影子租户桶可与第一用户的标识关联,该影子租户桶用于存储第一用户请求注册的AEI。
作为另一种可能的实施例,用户与影子租户桶可以为多对一的关系。本申请并不排除创建与多个指定用户(包括第一用户)对应的一个影子租户桶,其中影子租户桶可与多个指定用户的标识关联,从而该影子租户桶可以由第一用户及指定用户中的其他用户共用,由于用户并不能访问影子租户桶,也不能对影子租户桶中的文件进行操作,由多个指定用户共用影子租户桶时影子租户桶的安全性可不受影响。基于相同的理由,本申请并不排除创建与多个指定用户(包括第一用户)对应的多个影子租户桶,其中多个影子租户桶可与多个指定用户的标识之间存在关联。应理解,这里所述影子租户桶与用户的标识之间的关联,可以体现为影子租户桶的标识与用户的标识之间的关联关系。
在S101所示步骤的实施中,第一用户可以通过虚拟机103,触发业务服务器发送第一请求。其中,第一请求中包括的第一用户的标识,可以是用户的编号(如用户在注册获取FPGA云计算系统100使用权限时获得的标识,如用户名、昵称)、用户的鉴权信息、用户所在区域的标识(例如,我国华东地区会对应有一个唯一的区域编号),也可以是第一用户关联的虚拟机103的标识,由于第一用户与虚拟机103存在关联关系,可以使用虚拟机103的标识作为第一用户的标识以标识第一用户。应理解,具体实施中可以将用户标识、用户的鉴权信息、用户所在区域的ID或者第一用户关联的虚拟机103的标识中的一个或多个,作为第一用户的标识。
另外,第一请求中的AEI的标识,可以是AEI的编号,或者可以是第一用户输入的AEI的名称和/或描述信息,例如,第一用户可以通过选择或键入的方式,将AEI的编号、名称或者描述信息中的一个或多个作为AEI的标识输入,业务服务器101在获取AEI的标识后,生成包括AEI标识的第一请求。
S101所示步骤设计的第一用户自定义的AEI,是指根据第一用户上传至租户桶的开发完成的文件(如DCP文件)编译生成的且包括第一用户自定义的逻辑、算法的AEI,该AEI可通过第一用户自定义的逻辑、算法,实现已有的或第一用户新设计的功能。第一用户可通过业务服务器101将用于注册该AEI的文件上传至第一用户关联的租户桶,这里的文件,可以是第一用户自定义的用于生成自定义AEI的DCP文件。
在S103所示步骤的实施中,管理服务器102可根据第一规则,确定与第一用户的标识关联的影子租户桶的标识,判断是否存在具有该标识的影子租户桶,若是,则确定具有该标识的影子租户桶为与第一用户的标识关联的影子租户桶,其中,第一规则,可以是根据用户的标识生成影子租户桶的标识时的生成规则,第一规则可以是预配置在管理服务器102中的。在实施中,管理服务器102可以存储已经创建的影子租户桶的标识,其中,这些影子租户桶的标识是根据影子租户桶所关联的用户的标识根据第一规则生成的,在根据第一规则确定第一用户的标识关联的影子租户桶的标识后,管理服务器102可以从这些已经创建的影子租户桶的标识中进行查询,判断其中是否包括根据第一规则确定的第一用户的标识关联的影子租户桶的标识。
具体地,第一请求中携带的第一用户的标识可以包括第一用户的标识以及第一用户所在区域的标识,第一规则可以是将第一用户的标识中的第一用户的标识、第一用户所在区域的标识以及设定长度的随机数进行组合得到的字符串作为影子租户桶的标识。
若管理服务器102判断不存在与第一用户的标识关联的影子租户桶,管理服务器102可创建与第一用户的标识关联的影子租户桶,并将AEI存储至与第一用户的标识关联的影子租户桶中。
具体来说,若管理服务器102确定已经创建的影子租户桶的标识中,不包括根据第一规则确定的第一用户的标识关联的影子租户桶的标识,则管理服务器102可选取具有预设大小的存储空间,将该存储空间作为与第一用户标识关联的影子租户桶,以及将AEI存储至该影子租户桶中,以实现影子租户桶的创建和AEI的存储。
作为一个可能的实施例,若第一用户的标识包括第一用户的鉴权信息,管理服务器102可根据第一用户的鉴权信息,将AEI加密存储在影子租户桶中,进一步提高AEI存储时的安全性。其中,第一用户的鉴权信息,可以是第一用户的AK和SK,或者其他鉴权信息。具体地,可在数据存储过程中根据用户的鉴权信息生成密钥对,利用密钥对加密AEI生成密文,对密文进行存储,在获取AEI时根据密钥对解密密文,得到明文即AEI。
接下来,结合图4进一步介绍本申请实施例提供的一种数据管理的方法流程示意图。如图所示,该方法包括:
S201:第一用户通过业务服务器,将第一用户需要注册的AEI对应的DCP文件上传至第一用户关联的租户桶。
在实施中,第一用户通过业务服务器中与第一用户关联的虚拟机,将第一用户需要注册的AEI对应的DCP文件上传至第一用户关联的存储桶。
S202:第一用户通过业务服务器,向管理服务器发送第一请求,用于请求注册AEI,第一请求中携带第一用户的标识、第一用户所在区域的标识、第一用户的鉴权信息,以及需要注册的AEI的名称和描述信息。
S203:管理服务器接收第一请求。
S204:管理服务器根据第一用户的鉴权信息,对第一用户进行鉴权。
S205:管理服务器从第一用户关联的租户桶中获取DCP文件。
若管理服务器判断第一用户关联的租户桶中不存在DCP文件,则管理服务器可以通知管理服务器执行报错,提示用户未上传DCP文件或上传错误。
S206:管理服务器将获取的DCP文件编译为AEI。
管理服务器还可以生成AEI的标识(例如编号、名称),并将生成的AEI的标识发送至业务服务器;
S207:管理服务器确定是否存在与第一用户的标识关联的影子租户桶的标识,若是,则执行步骤S208,否则,执行步骤S209;
S208:管理服务器将AEI加密存储至与第一用户的标识关联的影子租户桶;
S209:管理服务器创建与第一用户的标识关联的影子租户桶;
S210:管理服务器将AEI加密存储至新创建的与第一用户的标识关联的影子租户桶。
采用以上方法,可以由管理服务器根据业务服务器发送的第一请求进行AEI注册,并将AEI加密存储至于用户的标识关联的影子租户桶,提高AEI存储时的安全性。
在以上步骤S208、S210的实施中,管理服务器还可以将AEI的标识与影子租户桶进行关联,例如存储AEI的标识与影子租户桶的标识(如编号、名称)之间的对应关系,用于根据AEI的标识查询AEI的存储位置。
作为一种可能的实施方式,在完成上述AEI的注册过程后,管理服务器继续执行AEI加载流程。具体地,管理服务器接收第二请求,该请求用于第二用户请求加载AEI。其中,第二请求可以携带第二用户的标识、AEI的标识以及FPGA卡的信息。管理服务器102在收到第二请求后,若根据第二请求中的标识以及AEI的标识确定第二用户通过权限验证,则管理服务器102可根据第二请求中的FPGA卡的信息,将AEI标识关联的AEI加载至第二用户关联的第一虚拟机所关联的FPGA卡中,实现AEI的加载。在实施中,第二用户可以与第一用户相同,此时,第二用户可以将此前通过S101-S104所示步骤注册的AEI加载至第一虚拟机。可选地,第二用户可以与第一用户不同,此时,需要判断第二用户的访问权限,当第二用户满足权限要求时,将第一用户注册的AEI加载至第二用户关联的第一虚拟机。其中,第二用户的访问权限是指第二用户具有使用第一用户注册的AEI的权限,该权限可以通过网络界面进行设置。
具体实施中,管理服务器确定第二用户通过权限验证的方法如下:管理服务器102可根据第一对应关系,确定第二用户的标识对应的镜像的标识,其中第一对应关系表示第二用户的标识与允许虚拟机使用的镜像的标识之间的对应关系,此后,管理服务器102可根据第二对应关系,确定镜像的标识所对应的至少一个AEI的标识,其中,第二对应关系为镜像的标识与AEI的标识之间的对应关系,管理服务器102若判断第二请求中携带的AEI的标识,包括在根据第二对应关系确定的至少一个AEI的标识中,则管理服务器102可确定第二用户通过权限验证。这里所涉及的镜像,可以关联有一个或多个AEI,镜像与一个或多个AEI之间的关联关系可以体现为上述第二对应关系,镜像可以表示一个或者一系列云服务,而镜像所关联的每个AEI具体可以是云服务所涉及的一个具体算法;用户在获得镜像的授权后,管理服务器102可将用户与镜像进行关联,如将用户的标识与用户获得授权后允许使用的镜像的标识存储为第一对应关系,应理解,用户可以通过注册镜像、购买等方式获得镜像授权。
管理服务器102在收到第二请求后,若确定第二用户通过权限验证,可根据AEI的标识查询AEI的存储信息,例如,可根据注册AEI的过程中存储的AEI的标识与影子租户桶的标识之间的对应关系,确定存储AEI的影子租户桶的标识,从而可从影子租户桶中获取该AEI。
第二请求中的FPGA卡的信息可用于指示FPGA卡的槽位信息,管理服务器102可根据FPGA卡的槽位信息将AEI加载至槽位信息关联的FPGA卡中。例如,第一虚拟机关联的FPGA卡的槽位编号分别为0、1、2以及3,FPGA卡的信息可以是槽位编号“0”,用于指示将AEI加载至槽位编号为0的FPGA卡上。
作为一种可能的实现方式,管理服务器102可以仅将AEI加载至第一虚拟机关联的全部FPGA卡中状态为可用状态的FPGA卡上。可用状态是指FPGA卡的一种工作状态,管理服务器102可设置FPGA卡的工作状态,例如,管理服务器102可将FPGA卡的工作状态设置为待清除状态,表示该FPGA卡当前有数据带清除,不可用于加载新的AEI,也可将FPGA卡的工作状态设置为可用状态,表示FPGA卡可用于加载新的AEI。
第二请求可以是运行第一虚拟机的业务服务器发送的,例如,若第二用户与第一用户相同,第二请求可以是如图1所示的业务服务器101发送的,其中,业务服务器101运行有与第一用户关联的虚拟机103;若第二用户与第一用户不同,第二请求可以是如图1所示的业务服务器101发送的,该业务服务器101运行有与第二用户关联的虚拟机103。
下面举例几种发送第二请求的方式:
方式一、第二用户触发第二请求。
具体地,第二请求可以是第二用户通过虚拟机发送的。例如,第二用户通过第一虚拟机手动输入加载AEI的命令,通过该命令触发运行第一虚拟机的业务服务器向管理服务器102发送第二请求。
方式二、第一虚拟机在启动过程中,发送第二请求。
第二请求可以是第一虚拟机在启动过程中,触发运行第一虚拟机的业务服务器向管理服务器102发送的。第一虚拟机可以在启动过程中,获取第二用户的鉴权信息、AEI的标识以及FPGA卡的信息。具体地,以第二请求为业务服务器101(该业务服务器101与第二用户关联)发送的为例,第二用户可在向管理服务器102请求注册虚拟机103(即与第二用户关联的虚拟机)的过程中,输入AEI的标识以及FPGA卡的信息,管理服务器102可以在第二用户请求注册虚拟机103的过程中获取第二用户的鉴权信息。此后,管理服务器102可将第二用户的鉴权信息、AEI的标识以及FPGA卡的信息进行存储,在虚拟机103创建完成后的启动过程中,可由运行与第二用户关联的虚拟机103的业务服务器101获取此前存储的第二用户的鉴权信息、AEI的标识以及FPGA卡的信息,以及由业务服务器101生成第二请求,并将第二请求发送至管理服务器102,从而可在虚拟机103的启动过程中,自动实现AEI的加载。以上所述虚拟机103的启动过程,可以是虚拟机103创建后的首次启动过程。
下面,假设第二请求为如图1所示的第二用户关联的虚拟机103在启动过程中触发业务服务器101发送的,结合图5所示的虚拟机加载AEI的方法流程图,说明以上方式二所示的加载AEI的方法:
S301:业务服务器在虚拟机的启动过程中,获取第二用户的鉴权信息、AEI的标识以及FPGA卡的信息,其中,第二用户与虚拟机关联;
S302:业务服务器在虚拟机的启动过程中,向管理服务器发送第二请求,第二请求用于第二用户请求加载AEI,第二请求包括第二用户的鉴权信息、AEI的标识以及FPGA卡的信息;
S303:管理服务器接收第二请求;
S304:管理服务器根据第二请求中的鉴权信息以及AEI的标识确定第二用户通过权限验证;在实施中,管理服务器还可根据第二请求中的鉴权信息,确定第二用户通过鉴权。
S305:管理服务器根据第二请求中的FPGA卡的信息,将AEI标识关联的AEI加载至虚拟机所关联的FPGA卡中。在实施中,若在步骤S305的执行中出现AEI加载失败,管理服务器还可通过业务服务器提示用户,如提示用户手动输入AEI加载命令,从而业务服务器可进一步通过上述方式一发送第二请求。
采用以上步骤S301至S305所示方法,可在虚拟机启动过程中自动发起AEI加载过程,从而无需在虚拟机启动后由用户手动输入AEI加载命令,使得AEI加载的过程更加简便,快捷,也能够避免用户手动输入家在命令时的出错风险。
示例性地,根据如图2所示逻辑架构,以上S301至S305所示步骤的实施中,用户可在通过网络页面201请求注册虚拟机103的过程中,输入用户需要加载的AEI的标识以及FPGA卡的信息,网络页面201在注册虚拟机的过程中也可获取用户的鉴权信息,此后,网络页面201可将用户的鉴权信息、用户需要加载的AEI的标识以及FPGA卡的信息发送至IaaS层的云管理服务202,并由云管理服务202将以上信息存储至IaaS层的数据库(metadata)207;在虚拟机103创建后的首次启动过程中,虚拟机103可以通过启动脚本,从数据库207中获取用户需要加载的AEI的标识以及FPGA卡的信息,从而执行上述步骤S301,并据此触发上述步骤S302,从而通过以上步骤S301至S305实现AEI的加载;或者,在通过启动脚本获取用户需要加载的AEI的标识以及FPGA卡的信息失败的情况下,虚拟机103可以向用户进行报错,如,提示用户手动输入用户需要加载的AEI的标识以及FPGA卡的信息。
作为另一个可能的实施例,当删除用户关联的虚拟机时,也需要删除该用户关联的影子租户桶。具体地,管理服务器还可以接收第三请求,第三请求用于第三用户请求删除与第三用户关联的第二虚拟机,此后,管理服务器102可响应于第三请求,释放第二虚拟机所占用的资源,并异步清除第二虚拟机所关联的FPGA卡中的AEI。这里的第三用户,可以与第一用户相同,也可以与第二用户相同,也可以与如图1所示第一用户、第二用户均不同。若第三用户与第一用户相同,第三请求可以是如图1所示的与第一用户关联的VM 103触发业务服务器101向管理服务器102发送的,用于请求删除与第一用户关联的VM 103。若第三用户与第二用户相同,第三请求可以是如图1所示的与第二用户关联的VM 103触发业务服务器101向管理服务器102发送的,用于请求删除与第二用户关联的VM 103。
采用以上方式,管理服务器102不再需要等待FPGA卡中加载的AEI清除完成之后,再执行第二虚拟机所占用资源的释放,从而避免FPGA卡中加载的AEI过程出现故障而导致第二虚拟机所占用资源的释放失败,避免出现第二虚拟机所占用资源的清除失败造成的用户数据泄密风险,提高FPGA云服务的安全性。
具体地,管理服务器102在清除第二虚拟机所关联的FPGA卡中的AEI时,可以将每个FPGA卡置为待清除状态,并每个预设时长(如,10秒或者60秒)轮询确定每个FPGA卡中加载的AEI是否完成清除,若确定FPGA卡清除成功,则设置FPGA卡为可用状态,否则,确定FPGA卡清除失败,并间隔预设时长再次进行确认该FPGA卡中加载AEI是否完成清除;管理服务器102可在确定FPGA卡清除失败的次数达到阈值(阈值可设置为常数,如1或3)后,进行告警,例如,管理服务器102通知第二虚拟机向第三用户提示FPGA卡清除失败,此后第三用户可通过其他方式清除FPGA卡中的AEI。
以上过程,由于未完成AEI清除之前,FPGA卡的状态不再是可用状态,可避免FPGA卡中的AEI在完成清除之前根据其他用户的请求加载新的AEI,避免未完成清除的AEI的泄露,提高FPGA云服务的安全性。
接下来,以第三用户为如图1所示FPGA云计算系统100中的第一用户为例,结合图6所示的流程图说明第一用户请求删除虚拟机103的过程:
S401:业务服务器向管理服务器发送第三请求,第三请求用于第以用户请求删除第一用户关联的虚拟机,第三请求包括第一用户的鉴权信息;
S402:管理服务器接收第三请求;
S403:管理服务器根据第三请求中的鉴权信息,确定第一用户通过鉴权;
S404:管理服务器释放虚拟机所占用的资源,并异步清除虚拟机所关联的FPGA卡中的AEI。
采用以上步骤S401至S404所示方法,使得FPGA卡中的AEI的清除结果不会影响到虚拟机103所占用的资源的释放,因此即便FPGA卡中的AEI清除失败,虚拟机103所占用的资源仍可正常的进行释放,避免未正常释放虚拟机资源导致用户的使用数据出现泄露。
上文中结合图1至图6,详细描述了根据本申请实施例所提供的数据管理的方法,下面将结合图7至图8,描述根据本申请实施例所提供的数据处理的装置和服务器。
图7所示为本申请实施例提供的一种数据管理的装置700的结构示意图,该数据管理装置700可适用于如图1所示系统,用于执行上述方法实施例中管理服务器的功能。数据管理装置700包括第一请求接收模块701、影子租户桶确定模块702、影子租户桶存储模块703、影子租户桶创建模块704、第二请求接收模块705、权限验证模块706、加载模块707、第三请求接收模块708以及删除模块709。
所述第一请求接收模块701,用于接收第一请求,所述第一请求用于第一用户请求注册所述第一用户自定义的加速引擎镜像AEI,所述第一请求包括所述第一用户的标识和AEI的标识。
影子租户桶确定模块702,用于根据所述第一用户的标识判断是否存在与所述第一用户的标识关联的影子租户桶,所述影子租户桶用于存储所述第一用户的AEI,影子租户桶和用户一一对应。
影子租户桶存储模块703,用于当存在与所述第一用户的标识关联的影子租户桶时,将所述AEI存储至与所述第一用户的标识关联的影子租户桶。
可选地,所述影子租户桶确定模块702在根据所述第一用户的标识判断是否存在与所述第一用户的标识关联的影子租户桶时,具体用于:根据第一规则,确定与所述第一用户的标识关联的影子租户桶的标识,所述第一规则用于指示生成影子租户桶的标识的生成规则;判断是否存在具有所述标识的影子租户桶;当存在所述标识的影子租户桶时,确定具有所述标识的影子租户桶为与所述第一用户的标识关联的影子租户桶。
可选地,所述影子租户桶创建模块704,用于当不存在与所述第一用户标识关联的影子租户桶时,选取具有预设大小的存储空间,将所述存储空间作为与所述第一用户标识关联的影子租户桶,并将所述AEI存储至与所述第一用户标识关联的影子租户桶。
可选地,第二请求接收模块705,用于接收第二请求,所述第二请求用于第二用户请求加载所述AEI,所述第二请求包括所述第二用户的标识、所述AEI的标识以及现场可编程门阵列FPGA卡的信息;
权限验证模块706,用于根据所述第二用户的标识以及所述AEI的标识,对所述第二用户进行权限验证;
加载模块707,用于当所述第二用户权限验证成功时,根据所述FPGA卡的信息,将所述AEI加载至第一虚拟机关联的FPGA卡中,所述第一虚拟机为所述第二用户关联的虚拟机。
可选地,若所述第二用户的标识包括所述第一虚拟机的标识,所述权限验证模块706在根据所述第二用户的标识以及所述AEI的标识,对所述第二用户进行权限验证时,具体用于:根据第一对应关系,确定所述第一虚拟机的标识对应的镜像的标识,所述第一对应关系表示虚拟机的标识与允许虚拟机使用的镜像的标识之间的对应关系;根据第二对应关系,确定所述镜像的标识对应的至少一个AEI的标识,所述第二对应关系为镜像的标识与AEI的标识之间的对应关系;以及确定所述至少一个AEI的标识包括所述AEI的标识。
可选地,第三请求接收模块708,用于接收第三请求,所述第三请求用于第三用户请求删除第二虚拟机,所述第二虚拟机为所述第三用户关联的虚拟机;
删除模块709,用于释放所述第二虚拟机所占用的资源,并清除所述第二虚拟机所关联的FPGA卡中的AEI。
可选地,删除模块709在释放所述第二虚拟机所占用的资源,并清除所述第二虚拟机所关联的FPGA卡中的AEI时,具体用于:设置所述FPGA卡的状态为待清除状态,以及调用所述第二虚拟机所关联的FPGA卡的AEI清除接口,以清除所述第二虚拟机所关联的FPGA卡中加载的AEI;当满足预设时长时,确定所述第二虚拟机所关联的FPGA卡中的每个FPGA卡中的AEI是否清除成功;若是,则设置所述FPGA卡为可用状态,否则,确定所述FPGA卡未清除成功,并在确定所述FPGA卡未清除成功的次数达到阈值后,执行告警。
应理解,图7仅示出了数据管理的装置700的一种模块划分方式,本申请并不限制数据管理的装置700具有其他模块划分方式,例如,数据管理的装置700可模块化为FPGA镜像服务、租户认证服务、AEI管理服务,其中,FPGA镜像服务模块可具有上述第一请求接收模块701、影子租户桶确定模块702以及影子租户桶存储模块703的功能,租户认证服务模块可用于与FPGA镜像服务配合,对用户进行鉴权,AEI管理服务可用于与FPGA镜像服务401配合,执行AEI的编译。可选地,FPGA镜像服务模块还可具有上述影子租户桶创建模块704、第二请求接收模块705、权限验证模块706、加载模块707、第三请求接收模块708以及删除模块709的功能。
应理解的是,本申请实施例的装置700可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。在通过软件实现图3至图6所示的数据处理方法时,装置700及其各个模块也可以为软件模块。
应理解,装置700可仅对应于本申请实施例所涉及的管理服务器102,即装置700仅用于执行如图3至图6所示的管理服务器102的相应步骤;服务器800还可对应于本申请实施例所涉及的业务服务器101,即装置700还可用于执行本申请实施例提供的业务服务器101的相应步骤,此时,装置700可连接有FPGA卡。
根据本申请实施例的装置700可对应于执行本申请实施例中描述的方法,并且装置700中的各个单元的上述和其它操作和/或功能分别为了实现图3至图6中的各个方法的相应流程,为了简洁,在此不再赘述。
图8给出了申请实施例提供的一种服务器800的结构示意图。如图所示,所述服务器800包括处理器801、存储器802、通信接口803和总线804、存储设备805。其中,处理器801、存储器802、通信接口803、存储设备805通过总线804进行通信,也可以通过无线传输等其他手段实现通信。该存储器802用于存储程序代码8021,该处理器801可以调用存储器802中存储的程序代码8021,执行以下操作:
根据通信接口803接收的第一请求中的第一用户的标识,判断是否存在与所述第一用户的标识关联的影子租户桶,所述影子租户桶用于存储所述第一用户的AEI,每个影子租户桶和用户一一对应;当存在与所述第一用户的标识关联的影子租户桶时,将所述AEI存储至与所述第一用户的标识关联的影子租户桶。
可选地,处理器801还可执行:根据第一规则,确定与所述第一用户的标识关联的影子租户桶的标识,所述第一规则用于指示生成影子租户桶的标识的生成规则;判断是否存在具有所述标识的影子租户桶;当存在所述标识的影子租户桶时,确定具有所述标识的影子租户桶为与所述第一用户的标识关联的影子租户桶。
可选地,处理器801还可执行:当不存在与所述第一用户标识关联的影子租户桶时,选取具有预设大小的存储空间;将所述存储空间作为与所述第一用户标识关联的影子租户桶;将所述AEI存储至与所述第一用户标识关联的影子租户桶。
可选地,处理器801还可执行:根据通信接口803接收的第二请求中的第二用户的标识以及AEI的标识,对所述第二用户进行权限验证;当所述第二用户权限验证成功时,根据所述FPGA卡的信息,将所述AEI加载至第一虚拟机关联的FPGA卡中,所述第一虚拟机为所述第二用户关联的虚拟机。
可选地,所述第二用户的标识包括所述第一虚拟机的标识,处理器801还可执行:根据第一对应关系,确定所述第一虚拟机的标识对应的镜像的标识,所述第一对应关系表示虚拟机的标识与允许虚拟机使用的镜像的标识之间的对应关系;根据第二对应关系,确定所述镜像的标识对应的至少一个AEI的标识,所述第二对应关系为镜像的标识与AEI的标识之间的对应关系;确定所述至少一个AEI的标识包括所述AEI的标识。
可选地,处理器801还可执行:响应于通信接口803接收的第三请求,释放所述第二虚拟机所占用的资源,并清除所述第二虚拟机所关联的FPGA卡中的AEI。
可选地,处理器801还可执行:设置所述FPGA卡的状态为待清除状态,以及调用所述第二虚拟机所关联的FPGA卡的AEI清除接口,以清除所述第二虚拟机所关联的FPGA卡中加载的AEI文件;当满足预设时长时,确定所述第二虚拟机所关联的FPGA卡中的每个FPGA卡中的AEI文件是否清除成功;若是,则设置所述FPGA卡为可用状态;否则,确定所述FPGA卡未清除成功,并在确定所述FPGA卡未清除成功的次数达到阈值后,执行告警。
应理解,在本申请实施例中,该处理器801可以是中央处理单元(CPU),该处理器801还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器802可以包括只读存储器和随机存取存储器,并向处理器801提供指令和数据。存储器802还可以包括非易失性随机存取存储器。例如,存储器802还可以存储设备类型的信息。
该存储器202可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
该总线804除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线804。
应理解,根据本申请实施例的服务器800可对应于本申请实施例提供的管理服务器102,该服务器800可用于实现图3至图6中所示方法由管理服务器102执行的相应步骤,为了简洁,在此不再赘述。
应理解,根据本申请实施例的服务器800可对应于本申请实施例中的数据管理的装置700,并可以对应于执行根据本申请实施例如图3所示的方法中的执行主体,并且服务器800中的各个部件的上述和其它操作和/或功能分别为了实现图3至图6中的各个方法的相应流程。
示例性地,通信接口803可用于执行数据管理的装置700中第一请求接收模块701的功能;处理器801可用于执行存储器802中存储的程序代码,实现影子租户桶确定模块702的功能。
可选地,通信接口803还可用于执行第二请求接收模块705以及第三请求接收模块708的功能,处理器801还可用于执行影子租户桶创建模块704、权限验证模块706、加载模块707以及删除模块709的功能。
可选地,服务器800还可包括FPGA卡805,此时服务器800还可以具有本申请实施例中业务服务器101的功能。
应理解,若服务器800对应于本申请实施例所涉及的管理服务器102,即服务器800用于执行如图3至图6所示的管理服务器102的相应步骤。可选地,服务器800还包括FPGA卡805,若服务器800对应于本申请实施例所涉及的业务服务器101,即服务器800还用于执行本申请实施例提供的业务服务器101的相应步骤,则服务器800包括FPGA卡805。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
Claims (15)
1.一种数据管理方法,其特征在于,包括:
接收第一请求,所述第一请求用于第一用户请求注册所述第一用户自定义的加速引擎镜像AEI,所述第一请求包括所述第一用户的标识和AEI的标识;
根据所述第一用户的标识判断是否存在与所述第一用户的标识关联的影子租户桶,所述影子租户桶用于存储所述第一用户的AEI,每个影子租户桶和用户一一对应;
当存在与所述第一用户的标识关联的影子租户桶时,将所述AEI存储至与所述第一用户的标识关联的影子租户桶。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一用户的标识判断是否存在与所述第一用户标识关联的影子租户桶,包括:
根据第一规则,确定与所述第一用户的标识关联的影子租户桶的标识,所述第一规则用于指示影子租户桶的标识的生成规则;
判断是否存在具有所述标识的影子租户桶;
当存在所述标识的影子租户桶时,确定具有所述标识的影子租户桶为与所述第一用户的标识关联的影子租户桶。
3.如权利要求1所述的方法,其特征在于,当不存在与所述第一用户标识关联的影子租户桶时,还包括:
选择预设大小的存储空间;
将所述存储空间作为与所述第一用户标识关联的影子租户桶;
将所述AEI存储至与所述第一用户标识关联的影子租户桶。
4.如权利要求1至3任一所述的方法,其特征在于,将所述AEI存储至与所述第一用户标识关联的影子租户桶之后,该方法还包括:
接收第二请求,所述第二请求用于第二用户请求加载所述AEI,所述第二请求包括所述第二用户的标识、所述AEI的标识以及现场可编程门阵列FPGA卡的信息;
根据所述第二用户的标识以及所述AEI的标识,对所述第二用户进行权限验证;
当所述第二用户权限验证成功时,根据所述FPGA卡的信息,将所述AEI加载至第一虚拟机关联的FPGA卡中,所述第一虚拟机为所述第二用户关联的虚拟机。
5.如权利要求4所述的方法,其特征在于,所述第二用户的标识包括所述第一虚拟机的标识;所述根据所述第二用户的标识以及所述AEI的标识,确定所述第二用户通过权限验证,包括:
根据第一对应关系,确定所述第一虚拟机的标识对应的镜像的标识,所述第一对应关系表示虚拟机的标识与允许虚拟机使用的镜像的标识之间的对应关系;
根据第二对应关系,确定所述镜像的标识对应的至少一个AEI的标识,所述第二对应关系为镜像的标识与AEI的标识之间的对应关系;
确定所述至少一个AEI的标识包括所述AEI的标识。
6.如权利要求1至5任一所述的方法,其特征在于,该方法还包括:
接收第三请求,所述第三请求用于第三用户请求删除第二虚拟机,所述第二虚拟机为所述第三用户关联的虚拟机;
释放所述第二虚拟机所占用的资源,并清除所述第二虚拟机所关联的FPGA卡中的AEI。
7.如权利要求6所述的方法,其特征在于,清除所述第二虚拟机所关联的FPGA卡中的AEI,包括:
设置所述FPGA卡的状态为待清除状态,以及调用所述第二虚拟机所关联的FPGA卡的AEI清除接口,以清除所述第二虚拟机所关联的FPGA卡中加载的AEI文件;
当满足预设时长时,确定所述第二虚拟机所关联的FPGA卡中的每个FPGA卡中的AEI文件是否清除成功;
若是,则设置所述FPGA卡为可用状态;
否则,确定所述FPGA卡未清除成功,并在确定所述FPGA卡未清除成功的次数达到阈值后,执行告警。
8.一种数据管理装置,其特征在于,包括:
第一请求接收模块,用于接收第一请求,所述第一请求用于第一用户请求注册所述第一用户自定义的加速引擎镜像AEI,所述第一请求包括所述第一用户的标识和AEI的标识;
影子租户桶确定模块,用于根据所述第一用户的标识判断是否存在与所述第一用户的标识关联的影子租户桶,所述影子租户桶用于存储所述第一用户的AEI,每个影子租户桶和用户一一对应;
影子租户桶存储模块,用于当存在与所述第一用户的标识关联的影子租户桶时,将所述AEI存储至与所述第一用户的标识关联的影子租户桶。
9.如权利要求8所述的装置,其特征在于,
所述影子租户桶确定模块,还用于根据第一规则,确定与所述第一用户的标识关联的影子租户桶的标识,所述第一规则用于指示影子租户桶的标识生成规则;判断是否存在具有所述标识的影子租户桶;当存在所述标识的影子租户桶时,确定具有所述标识的影子租户桶为与所述第一用户的标识关联的影子租户桶。
10.如权利要求8所述的装置,其特征在于,所述装置还包括:
影子租户桶创建模块,用于当不存在与所述第一用户标识关联的影子租户桶时,选择预设大小的存储空间,将所述存储空间作为与所述第一用户标识关联的影子租户桶,并将所述AEI存储至与所述第一用户标识关联的影子租户桶。
11.如权利要求8至10任一所述的装置,其特征在于,所述装置还包括第二请求接收模块、权限验证模块以及加载模块:
所述第二请求接收模块,用于接收第二请求,所述第二请求用于第二用户请求加载所述AEI,所述第二请求包括所述第二用户的标识、所述AEI的标识以及现场可编程门阵列FPGA卡的信息;
所述权限验证模块,用于根据所述第二用户的标识以及所述AEI的标识,对所述第二用户进行权限验证;
所述加载模块,用于当所述第二用户权限验证成功时,根据所述FPGA卡的信息,将所述AEI加载至第一虚拟机关联的FPGA卡中,所述第一虚拟机为所述第二用户关联的虚拟机。
12.如权利要求11所述的装置,其特征在于,所述第二用户的标识包括所述第一虚拟机的标识;
所述权限验证模块,用于根据所述第二用户的标识以及所述AEI的标识,确定所述第二用户通过权限验证,包括:
所述权限验证模块,用于根据第一对应关系,确定所述第一虚拟机的标识对应的镜像的标识,所述第一对应关系表示虚拟机的标识与允许虚拟机使用的镜像的标识之间的对应关系;根据第二对应关系,确定所述镜像的标识对应的至少一个AEI的标识,所述第二对应关系为镜像的标识与AEI的标识之间的对应关系;确定所述至少一个AEI的标识包括所述AEI的标识。
13.如权利要求8至12所述的装置,其特征在于,所述装置还包括第三请求接收模块以及删除模块:
所述第三请求接收模块,用于接收第三请求,所述第三请求用于第三用户请求删除第二虚拟机,所述第二虚拟机为所述第三用户关联的虚拟机;
所述删除模块,用于释放所述第二虚拟机所占用的资源,并清除所述第二虚拟机所关联的FPGA卡中的AEI。
14.如权利要求13所述的装置,其特征在于,所述删除模块清除所述第二虚拟机所关联的FPGA卡中的AEI,包括:
所述删除模块,用于设置所述FPGA卡的状态为待清除状态,以及调用所述第二虚拟机所关联的FPGA卡的AEI清除接口,以清除所述第二虚拟机所关联的FPGA卡中加载的AEI;当满足预设时长时,确定所述第二虚拟机所关联的FPGA卡中的每个FPGA卡中的AEI是否清除成功;若是,则设置所述FPGA卡为可用状态,否则,确定所述FPGA卡未清除成功,并在确定所述FPGA卡未清除成功的次数达到阈值后,执行告警。
15.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中用于存储计算机执行指令,所述服务器运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述服务器中的硬件资源执行权利要求1至7中任一所述方法的操作步骤。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811140158.3A CN110968413A (zh) | 2018-09-28 | 2018-09-28 | 一种数据管理方法、装置和服务器 |
EP19864571.5A EP3848802A4 (en) | 2018-09-28 | 2019-06-29 | DATA MANAGEMENT PROCESS AND APPARATUS AS WELL AS SERVER |
BR112021005882-6A BR112021005882A2 (pt) | 2018-09-28 | 2019-06-29 | método e aparelho de gerenciamento de dados, e servidor |
PCT/CN2019/093962 WO2020063002A1 (zh) | 2018-09-28 | 2019-06-29 | 一种数据管理方法、装置和服务器 |
JP2021517200A JP2022501733A (ja) | 2018-09-28 | 2019-06-29 | データ管理の方法および装置並びにサーバ |
US17/213,841 US11567675B2 (en) | 2018-09-28 | 2021-03-26 | Data management method and apparatus, and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811140158.3A CN110968413A (zh) | 2018-09-28 | 2018-09-28 | 一种数据管理方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968413A true CN110968413A (zh) | 2020-04-07 |
Family
ID=69950210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811140158.3A Pending CN110968413A (zh) | 2018-09-28 | 2018-09-28 | 一种数据管理方法、装置和服务器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11567675B2 (zh) |
EP (1) | EP3848802A4 (zh) |
JP (1) | JP2022501733A (zh) |
CN (1) | CN110968413A (zh) |
BR (1) | BR112021005882A2 (zh) |
WO (1) | WO2020063002A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611238A (zh) * | 2020-04-08 | 2020-09-01 | 中科驭数(北京)科技有限公司 | 数据的管理方法及装置 |
WO2022095958A1 (zh) * | 2020-11-09 | 2022-05-12 | 北京京东尚科信息技术有限公司 | 资源管理方法、装置、计算机系统、可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1505309A (zh) * | 2002-11-20 | 2004-06-16 | 安全地处理被用于基于web的资源访问的客户证书 | |
CN101568928A (zh) * | 2006-10-27 | 2009-10-28 | 国家信息及自动化研究院 | 用于管理数字文档的计算机工具 |
CN103107889A (zh) * | 2013-02-06 | 2013-05-15 | 中电长城网际系统应用有限公司 | 一种可搜索的云计算环境数据加密存储系统和方法 |
US20140280821A1 (en) * | 2013-03-14 | 2014-09-18 | Roger J. Maitland | Method And Apparatus For Providing Tenant Redundancy |
CN106778319A (zh) * | 2015-11-23 | 2017-05-31 | 天津九洲云物联科技有限公司 | 一种基于rbac模型改进的访问控制模型 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003040945A1 (en) * | 2001-11-02 | 2003-05-15 | Premedics, Inc. | System and method for monitoring and ensuring proper life safety equipment maintenance, operation, and program implementation |
US8434087B2 (en) * | 2008-08-29 | 2013-04-30 | International Business Machines Corporation | Distributed acceleration devices management for streams processing |
CN103246850A (zh) * | 2013-05-23 | 2013-08-14 | 福建伊时代信息科技股份有限公司 | 文件处理方法和装置 |
DE112014006740T5 (de) * | 2014-06-11 | 2017-05-11 | Mitsubishi Electric Corporation | Programmbearbeitungsvorrichtung, Programmverwaltungsvorrichtung, und Programmverwaltungsprogramm |
CN108073423B (zh) * | 2016-11-09 | 2020-01-17 | 华为技术有限公司 | 一种加速器加载方法、系统和加速器加载装置 |
JP6461289B2 (ja) * | 2017-11-17 | 2019-01-30 | 株式会社バンダイナムコエンターテインメント | ゲームシステム |
-
2018
- 2018-09-28 CN CN201811140158.3A patent/CN110968413A/zh active Pending
-
2019
- 2019-06-29 BR BR112021005882-6A patent/BR112021005882A2/pt unknown
- 2019-06-29 WO PCT/CN2019/093962 patent/WO2020063002A1/zh unknown
- 2019-06-29 EP EP19864571.5A patent/EP3848802A4/en active Pending
- 2019-06-29 JP JP2021517200A patent/JP2022501733A/ja active Pending
-
2021
- 2021-03-26 US US17/213,841 patent/US11567675B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1505309A (zh) * | 2002-11-20 | 2004-06-16 | 安全地处理被用于基于web的资源访问的客户证书 | |
CN101568928A (zh) * | 2006-10-27 | 2009-10-28 | 国家信息及自动化研究院 | 用于管理数字文档的计算机工具 |
CN103107889A (zh) * | 2013-02-06 | 2013-05-15 | 中电长城网际系统应用有限公司 | 一种可搜索的云计算环境数据加密存储系统和方法 |
US20140280821A1 (en) * | 2013-03-14 | 2014-09-18 | Roger J. Maitland | Method And Apparatus For Providing Tenant Redundancy |
CN106778319A (zh) * | 2015-11-23 | 2017-05-31 | 天津九洲云物联科技有限公司 | 一种基于rbac模型改进的访问控制模型 |
Non-Patent Citations (1)
Title |
---|
华为技术有限公司: "华为云FPGA加速云服务器(FACS)用户指南", 《HTTPS://WENKU.BAIDU.COM/VIEW/EBEEA684A48DA0116C175F0E7CD184254A351B4E.HTML?_WKTS_=1700542625029&BDQUERY=%E5%8D%8E%E4%B8%BA%E4%BA%91FPGA%E5%8A%A0%E9%80%9F%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97》, pages 3 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611238A (zh) * | 2020-04-08 | 2020-09-01 | 中科驭数(北京)科技有限公司 | 数据的管理方法及装置 |
CN111611238B (zh) * | 2020-04-08 | 2021-08-31 | 中科驭数(北京)科技有限公司 | 数据的管理方法及装置 |
WO2022095958A1 (zh) * | 2020-11-09 | 2022-05-12 | 北京京东尚科信息技术有限公司 | 资源管理方法、装置、计算机系统、可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11567675B2 (en) | 2023-01-31 |
US20210216222A1 (en) | 2021-07-15 |
EP3848802A4 (en) | 2021-11-10 |
JP2022501733A (ja) | 2022-01-06 |
BR112021005882A2 (pt) | 2021-07-27 |
WO2020063002A1 (zh) | 2020-04-02 |
EP3848802A1 (en) | 2021-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
US10430593B2 (en) | Boot images for units under test | |
CN108073823B (zh) | 数据处理方法、装置及系统 | |
KR102134491B1 (ko) | 보호된 데이터 세트의 네트워크 기반 관리 기법 | |
EP3712764A1 (en) | Fpga cloud host development method and system | |
CN110390184B (zh) | 用于在云中执行应用的方法、装置和计算机程序产品 | |
CN111428263A (zh) | 工单处理方法、装置、计算机设备和存储介质 | |
US11567675B2 (en) | Data management method and apparatus, and server | |
CN112714158A (zh) | 事务处理方法、中继网络、跨链网关、系统、介质和设备 | |
CN110677453A (zh) | 基于ZooKeeper的分布式锁服务实现方法、装置、设备及存储介质 | |
US20230379158A1 (en) | Snapshot transfer for cloud-based storage across accounts | |
CN111414640B (zh) | 秘钥访问控制方法和装置 | |
CN111177703A (zh) | 操作系统数据完整性的确定方法及装置 | |
CN105183799A (zh) | 一种权限管理的方法及客户端 | |
CN112632573A (zh) | 智能合约执行方法、装置、系统、存储介质及电子设备 | |
CN113922975A (zh) | 一种安全控制方法、服务器、终端、系统和存储介质 | |
CN109635558B (zh) | 访问控制方法、装置和系统 | |
US20230074455A1 (en) | System and method for monitoring delivery of messages passed between processes from different operating systems | |
CN111782336A (zh) | 混合云的云迁移方法及装置、计算机可存储介质 | |
CN114564706A (zh) | 一种用户权限管理方法、装置、电子设备及存储介质 | |
CN114244620A (zh) | 一种板卡入网验证方法、装置及板卡控制中心 | |
CN116249980A (zh) | 通过异构加密的软件访问 | |
EP4145318A1 (en) | System and method for monitoring delivery of messages passed between processes from different operating systems | |
CN114661427B (zh) | 部署容器化应用服务的计算集群的节点管理方法及系统 | |
EP4095726A1 (en) | System and method for building a security monitor in a microkernel |
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 |