CN112256343B - 一种软件加载方法、设备及系统 - Google Patents

一种软件加载方法、设备及系统 Download PDF

Info

Publication number
CN112256343B
CN112256343B CN202011036968.1A CN202011036968A CN112256343B CN 112256343 B CN112256343 B CN 112256343B CN 202011036968 A CN202011036968 A CN 202011036968A CN 112256343 B CN112256343 B CN 112256343B
Authority
CN
China
Prior art keywords
software
information
identifier
programmable device
server
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.)
Active
Application number
CN202011036968.1A
Other languages
English (en)
Other versions
CN112256343A (zh
Inventor
冯爱娟
康明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011036968.1A priority Critical patent/CN112256343B/zh
Publication of CN112256343A publication Critical patent/CN112256343A/zh
Application granted granted Critical
Publication of CN112256343B publication Critical patent/CN112256343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]

Abstract

一种软件加载方法、设备及系统,包括:接收NFVO发送的包括加速类型和加速容量的业务请求;根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的器件类型和生产厂家的第一信息,并根据第一信息、该处理能力信息和加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识;将第一存储链接和第一标识发送给第二标识所标识的第一服务器;第一服务器从第一存储链接下载第一软件的数据包,并将数据包加载在第一标识所标识的可编程器件上。可以提高可编程器件上软件加载的灵活性。

Description

一种软件加载方法、设备及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种软件加载方法、设备及系统。
背景技术
在硬件中存在一种可编程器件,可以根据需要在这些器件上加载软件,并可以对加载的软件进行升级。在专用硬件时代,是根据业务的规划在生成硬件的过程中将软件加载在可编程器件上的。然而,随着网络功能虚拟化(Network Function Virtualization,NFV)技术的不断发展,通信技术(Communication Technology,CT)领域的硬件由专用硬件向通用硬件进行转化。在通用硬件时代,每个业务的加速类型可能不同,且随着业务的不断扩缩,分配给业务的可编程器件可能需要增加或减少,以致加载在可编程器件上的软件需要随业务需求的不同而变化,但专用硬件中加载软件的方法已无法满足通用硬件中对可编程器件上软件加载的灵活性的需求。
发明内容
本发明实施例公开了一种软件加载方法、设备及系统,用于提高可编程器件上软件加载的灵活性。
第一方面公开一种软件加载方法,网络功能虚拟化编排(Network FunctionVirtualization Orchestrator,NFVO)接收包括加速类型和加速容量的业务请求,根据该加速类型和软件信息库可以确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,之后根据第一信息、该处理能力信息和该加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的虚拟化基础设施管理器(Virtual Infrastructure Manager,VIM)的第一标识,并将第一存储链接、第一信息和用于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM;第一VIM接收到NFVO发送的第一存储链接、第一信息和第二信息之后,将根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。其中,第一信息可以包括器件类型和生产厂家,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第二标识用于使第一服务器将该数据包加载在第二标识所标识的可编程器件上。
在一个实施例中,NFVO根据该加速类型和软件信息库确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息时,可以直接从软件信息库中获取具有该加速类型的第一软件的第一存储链接和处理能力信息以及能够加载第一软件的可编程器件的第一信息,可以快速地从软件信息库获取到所需加载软件的存储链接和处理能力信息以及能够加载该软件的可编程器件的信息;也可以是先从第一器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括该加速类型时,可以确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息。因此,可以直接查找软件信息库,也可以先查找第一器件库,再查找软件信息库,以便获取到所需加载软件的存储链接和处理能力信息以及能够加载该软件的可编程器件的信息。其中,第一可编程器件是第一器件库中的任一空闲的可编程器件。
在一个实施例中,当第二信息为需要加载第一软件的可编程器件的器件数量时,NFVO还需要根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,这样就可以将需要加载软件的可编程器件的器件数量直接发送给VIM,不需要VIM进行计算,可以减少VIM的处理过程。
在一个实施例中,当第二信息包括该加速容量和该处理能力信息时,第一VIM可以先根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,之后才从管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。由于计算器件数量的过程是由VIM执行的,因此,可以减少NFVO的处理过程。
在一个实施例中,业务请求还可以包括计算资源,第一VIM可以先从管理的服务器中选取空闲的计算资源不小于该计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,之后从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也能够满足业务对计算资源的需求。
在一个实施例中,该业务请求还可以包括存储资源,第一VIM可以先从管理的服务器中选取空闲的计算资源不小于该计算资源、空闲的存储资源不小于该存储资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,之后从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也能够满足业务对计算资源和存储资源的需求。
在一个实施例中,第二服务器可以将包括第二可编程器件的器件类型、生产厂家和标识的第三信息发送至第二VIM,第二VIM将建立包括第三信息和第二服务器的标识的第二器件库以及将第三信息和第二服务器的标识发送给NFVO,NFVO将根据三信息、第二服务器的标识和第二VIM的标识建立第一器件库,以便NFVO和VIM共同管理可编程器件。其中,第二服务器为用于管理第二可编程器件的服务器,第二VIM是用于管理第二服务器的VIM。
在一个实施例中,NFVO接收软件包并发送给第三VIM或目录库,第三VIM或目录库存储软件包并将软件包的第二存储链接发送给NFVO,NFVO建立包括第二存储链接和软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库,以便NFVO对可编程器件上能够加载的软件进行管理。其中,第四信息可以包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家。
在一个实施例中,第二标识使第一服务器将该数据包加载在第二标识所标识的可编程器件上之前,可以先确定第一服务器中第二标识所标识的可编程器件上是否已加载有软件,当未加载有软件时,可以使第一服务器直接将该数据包加载在第二标识所标识的可编程器件上,当已加载有软件,且该软件不具有该加速类型时,使第一服务器先卸载掉第二标识所标识的可编程器件上的软件,之后才将该数据包加载在第二标识所标识的可编程器件上,因此,当可编程器件未被使用(即空闲,也即是未被分配)时,不论上面是否加载有软件,都可以将需要加载的软件加载在可编程器件上,可以提高可编程器件上加载软件的灵活性。
在一个实施例中,第一信息还可以包括能够加载第一软件的可编程器件的器件型号,第三信息还可以包括第二可编程器件的器件型号,以便当可编程器件的器件类型和生产厂家均相同时,可以通过器件型号区别器件。
第二方面公开一种软件加载系统,包括NFVO和第一VIM,其中:
NFVO,用于接收包括加速类型和加速容量的业务请求,根据该加速类型和软件信息库确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据第一信息、该处理能力信息和该加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的VIM的第一标识,并将第一存储链接、第一信息和用于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM,第一信息包括器件类型和生产厂家;
第一VIM,用于接收NFVO发送的第一存储链接、第一信息和第二信息,根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第二标识用于使第一服务器将该数据包加载在第二标识所标识的可编程器件上。
第三方面公开一种软件加载方法,该方法应用于VIM,接收NFVO发送的包括加速类型和加速容量的业务请求,根据该加速类型和软件信息库确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据第一信息、该处理能力信息和该加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识,并将第一存储链接和第一标识发送给第二标识所标识的第一服务器,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。其中,第一信息包括器件类型和生产厂家,第一存储链接可以使第一服务器从第一存储链接下载第一软件的数据包,第一标识可以使第一服务器将该数据包加载在第一标识所标识的可编程器件上。
作为一种可能的实施方式,VIM可以直接从软件信息库中获取具有该加速类型的第一软件的第一存储链接和处理能力信息,并获取能够加载第一软件的第一可编程器件的第一信息,可以快速地从软件信息库获取到所需加载软件的存储链接和处理能力信息以及能够加载该软件的可编程器件的信息;也可以从器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括该加速类型时,可以确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息。因此,可以直接查找软件信息库,也可以先查找第一器件库,再查找软件信息库,以便获取到所需加载软件的存储链接和处理能力信息以及能够加载软件的可编程器件的信息。其中,第一可编程器件是第一器件库中的任一空闲的可编程器件。
在一个实施例中,业务请求还包括计算资源,可以根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于该计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也能够满足业务对计算资源的需求。
在一个实施例中,该业务请求还可以包括存储资源,可以根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于该计算资源、空闲的存储资源不小于该存储资源以及包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也满足业务对计算资源和存储资源的需求。
在一个实施例中,VIM可以接收到第二服务器发送的第二信息,并可以建立包括第二信息和第二服务器的标识的器件库,以便VIM统一管理可编程器件。其中,第二信息可以包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器。
在一个实施例中,VIM也可以接收到软件包并发送给目录库,以使目录库存储该软件包并返回该软件包的第二存储链接,并可以接收到目录库发送的第二存储链接,以及包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库,以便VIM对可编程器件上能够加载的软件进行管理。其中,第三信息可以包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家。
在一个实施例中,第一标识使第一服务器将该数据包加载在第一标识所标识的可编程器件上之前,可以先确定第一服务器中第一标识所标识的可编程器件上是否已加载有软件,当未加载有软件时,可以使第一服务器直接将数据包加载在第一标识所标识的可编程器件上,当已加载有软件,且该软件不具有该加速类型时,使第一服务器先卸载掉第一标识所标识的可编程器件上的软件,之后将数据包加载在第一标识所标识的可编程器件上,因此,当可编程器件未被使用时,不论上面是否加载有软件,都可以将需要加载的软件加载在可编程器件上,可以提高可编程器件上加载软件的灵活性。
在一个实施例中,第一信息还可以包括能够加载第一软件的可编程器件的器件型号,第二信息还可以包括第二可编程器件的器件型号,以便当可编程器件的器件类型和生产厂家均相同时,可以通过器件型号区别器件。
第四方面公开一种VIM,该VIM包括用于执行第三方面或第三方面的任一种可能实现方式所提供的软件加载方法的单元。
第五方面公开一种VIM,该VIM包括处理器、存储器和收发器,其中:
收发器,用于接收NFVO发送的包括加速类型和加速容量的业务请求并发送给处理器;
存储器中存储有一组程序代码,处理器用于调用存储器中存储的程序代码执行以下操作:
根据该加速类型和软件信息库确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、该处理能力信息和该加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识,第一信息可以包括器件类型和生产厂家;
收发器,还用于将第一存储链接和第一标识发送给第二标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上。
第六方面公开一种可读存储介质,该可读存储介质存储了VIM用于执行第三方面或第三方面的任一种可能实现方式所公开的软件加载方法的程序代码。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种网络架构示意图;
图2是本发明实施例公开的一种软件加载系统的结构示意图;
图3是本发明实施例公开的一种VIM的结构示意图;
图4是本发明实施例公开的一种软件加载方法的流程示意图;
图5是本发明实施例公开的另一种软件加载方法的流程示意图;
图6是本发明实施例公开的又一种软件加载方法的流程示意图;
图7是本发明实施例公开的又一种软件加载方法的流程示意图;
图8是本发明实施例公开的另一种VIM的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种软件加载方法、设备及系统,用于提高可编程器件上软件加载的灵活性。以下分别进行详细说明。
为了更好地理解本发明实施例公开的一种软件加载方法、设备及系统,下面先对本发明实施例使用的网络架构进行描述。请参阅图1,图1是本发明实施例公开的一种网络架构示意图。如图1所示,该网络架构可以包括NFV管理和编排系统(NFV Management andOrchestration,NFV MANO)、虚拟网络功能(Virtual Network Function,VNF)、网络功能虚拟化基础设施层(Network Function Virtualization Infrastructure,NFVI)、网元管理系统(Element Manager System,EMS)和业务支持管理系统(即OSS或业务支撑系统(Business Support System,BSS))。其中,NFV MANO包括一个NFVO、至少一个VNFM、至少一个VIM、至少一个服务器和目录库(catalog),每个服务器上安装有一个代理(agent)。其中:
NFVO用于实现运营商域内的网络服务(Network Service,NS)生命周期管理(如部署/扩容/缩容/下线等),NFVI资源编排、策略管理等功能,以及根据网络服务描述(NetworkService Descriptor,NSD)分解出对各VNF的需求,配合VNFM实现VNF的部署。
VNFM用于实现VNF的生命周期管理(如部署/扩容/缩容/下线等自动化能力),根据模板及VNF容量需求分解出对虚拟机等虚拟资源的需求,以及与NFVO、VIM配合完成VNF的实例化。
VIM用于实现对整个基础设施层资源(包括计算资源、存储资源、网络资源)的管理和监控。
基于图1所示的网络架构,请参阅图2,图2是本发明实施例公开的一种软件加载系统的结构示意图。其中,该软件加载系统即NFV MANO。如图2所示,该软件加载系统可以包括一个NFVO201、至少一个VIM202、至少一个服务器203,NFVO201管理至少一个VIM202,一个VIM202可以管理一个或多个服务器203,一个服务器203可以管理一个或多个可编程器件,其中:
NFVO201,用于接收包括加速类型和加速容量的业务请求,根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据第一信息、第一软件的处理能力信息和加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的VIM202的第一标识,并将第一存储链接、第一信息和用于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM202,第一信息可以包括器件类型和生产厂家;
第一VIM202,用于接收NFVO201发送的第一存储链接、第一信息和第二信息,根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器203;
第一服务器203,用于接收第一VIM202发送的第一存储链接和第二标识,从第一存储链接下载第一软件的数据包,并将该数据包加载在第二标识所标识的可编程器件上。
作为一种可能的实施方式,NFVO201用于根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息包括:
NFVO201,用于从软件信息库中获取具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息;或者
NFVO201,用于从第一器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括加速类型时,确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,并从软件信息库中获取第一软件的第一存储链接和处理能力信息,第一可编程器件是第一器件库中的任一空闲的可编程器件。
作为一种可能的实施方式,第二信息为需要加载第一软件的可编程器件的器件数量;
NFVO201,还用于根据加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量。
作为一种可能的实施方式,第二信息可以包括加速容量和第一软件的处理能力信息;
第一VIM202用于根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识包括:
第一VIM202,用于根据加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。
作为一种可能的实施方式,业务请求还包括计算资源;则第一VIM202用于根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识包括:
第一VIM202,用于从管理的服务器中选取空闲的计算资源不小于计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。
作为一种可能的实施方式,业务请求还可以包括计算资源和存储资源;则第一VIM202用于根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识包括:
第一VIM202,用于从管理的服务器中选取空闲的计算资源不小于该计算资源、存储资源不小于该存储资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。
作为一种可能的实施方式,第二服务器203,用于将第三信息发送至第二VIM202,第二服务器为用于管理第二可编程器件的服务器,第三信息包括第二可编程器件的器件类型、生产厂家和标识,第二VIM是用于管理第二服务器的VIM;
第二VIM202,用于接收第二服务器203发送的第三信息,建立包括第三信息和第二服务器的标识的第二器件库,以及将第三信息和第二服务器的标识发送给NFVO201;
NFVO201,还用于接收第二VIM202发送的第三信息和第二服务器的标识,并根据第三信息、第二服务器的标识和第二VIM的标识建立第一器件库。
作为一种可能的实施方式,该软件加载系统还可以包括目录库204,其中:
NFVO201,还用于接收软件包并发送给第三VIM或目录库,软件包包括软件功能信息、软件版本信息、处理能力信息以及第四信息,第四信息包括能够加载软件包对应软件的可编程器件的器件类型和生产厂家;
第三VIM202或目录库204,用于接收NFVO201发送的软件包,存储软件包,并将软件包的第二存储链接发送给NFVO201;
NFVO201,还用于接收第三VIM202或目录库204发送的第二存储链接,并建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库。
作为一种可能的实施方式,第二标识用于使第一服务器将该数据包加载在第二标识所标识的可编程器件上包括:
第二标识用于当第一服务器中的第二标识所标识的可编程器件上未加载有软件时,使第一服务器将该数据包加载在第二标识所标识的可编程器件上;或
第二标识用于当第一服务器中的第二标识所标识的可编程器件上已加载有第二软件,且第二软件不具有加速类型时,使第一服务器从第二标识所标识的可编程器件上卸载掉第二软件,并将该数据包加载在第二标识所标识的可编程器件上。
其中,第一VIM、第二VIM和第三VIM可以是同一VIM,也可以是不同的VIM,当第一VIM、第二VIM和第三VIM是不同的VIM时,它们均用于管理不同的服务器。第一服务器和第二服务器可以为同一服务器,也可以为不同的服务器,不同的服务器上的可编程器件可以相同,也可以不同。
请参阅图3,图3是本发明实施例公开的一种VIM的结构示意图。如图3所示,该VIM可以包括处理器301、存储器302、收发器303和总线304。处理器301可以是一个通用中央处理器(CPU),多个CPU,微处理器,特定应用集成电路(application-specific integratedcircuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。存储器302可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器302可以是独立存在,总线304与处理器301相连接。存储器302也可以和处理器301集成在一起。收发器303,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WirelessLocal Area Networks,WLAN)等。总线304可包括一通路,在上述组件之间传送信息。
其中:
收发器303,用于接收NFVO发送的包括加速类型和加速容量的业务请求并发送给处理器301;
存储器302中存储有一组程序代码,处理器301用于调用存储器302中存储的程序代码执行以下操作:
根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、第一软件的处理能力信息和加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识,第一信息包括器件类型和生产厂家;
收发器303,还用于将第一存储链接和第一标识发送给第二标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上。
作为一种可能的实施方式,处理器301根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息包括:
从软件信息库中获取具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息;或者
从器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括加速类型时,确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,并从软件信息库中获取第一软件的第一存储链接和处理能力信息,第一可编程器件是第一器件库中的任一空闲的可编程器件。
作为一种可能的实施方式,业务请求还包括计算资源;
处理器301根据第一信息、第一软件的处理能力信息和加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识包括:
根据加速容量和处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识。
作为一种可能的实施方式,收发器303,还用于接收第二服务器发送的第二信息,第二信息包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器;
处理器301还用于调用存储器302中存储的程序代码执行以下操作:
建立包括第二信息和第二服务器的标识的器件库。
作为一种可能的实施方式,收发器303,还用于接收软件包并发送给目录库,以使目录库存储软件包并返回该软件包的第二存储链接,软件包包括软件功能信息、软件版本信息、处理能力信息以及第三信息,第三信息包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家;
收发器303,还用于接收第二存储链接并发送给处理器301;
处理器301还用于调用存储器302中存储的程序代码执行以下操作:
建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。
作为一种可能的实施方式,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上包括:
第一标识用于当第一服务器中的第一标识所标识的可编程器件上未加载有软件时,使第一服务器将该数据包加载在第一标识所标识的可编程器件上;或
第一标识用于当第一服务器中的第一标识所标识的可编程器件上已加载有第二软件,且第二软件不具有加速类型时,使第一服务器从第一标识所标识的可编程器件上卸载掉第二软件,并将该数据包加载在第一标识所标识的可编程器件上。
在具体实现中,作为一种可能的实施方式,该VIM还可以包括输入装置305和输出装置306,输出设备306和处理器301通信,可以以多种方式来显示信息。例如,输出设备306可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备305和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备305可以是鼠标、键盘、触摸屏设备或传感设备等。
其中,NFVO与服务器的结构可以与图3所示的VIM的结构相同。
基于图1或图2所示的网络架构,请参阅图4,图4是本发明实施例公开的一种软件加载方法的流程示意图。其中,该软件加载方法是从NFVO、VIM和服务器的角度描述的。如图4所示,该软件加载方法可以包括以下步骤。
401、NFVO接收包括加速类型和加速容量的业务请求。
其中,该业务请求可以是OSS/BSS发送的,也可以是VNFM发送的,还可以是除OSS/BSS和VNFM之外的第三方设备发送的。加速类型可以为加解密、音频转码、或视频转码等,加速容量可以为10M PPS、100路/s、200路/s等。
本实施例中,业务请求还可以包括该业务请求发送端的IP地址,NFVO接收到业务请求之后,可以先判断该IP地址是否为授权IP地址,当该IP地址是授权IP地址时,表明该业务请求为合法请求,将执行以下步骤;当该IP地址不是授权IP地址时,表明该业务请求为非法请求,将不执行后续步骤。
402、NFVO根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、第一软件的处理能力信息和加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的虚拟化基础设施管理器VIM的第一标识,并将第一存储链接、第一信息和用于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM。
本实施例中,NFVO接收到包括加速类型和加速容量的业务请求之后,可以从软件信息库中确定具有该加速类型的软件,可以将第一次查找到的具有该加速类型的软件作为第一软件,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息,以及能够加载第一软件的可编程器件的第一信息,之后根据第一信息、该处理能力信息和加速容量直接从第一器件库中获取用于管理能够加载第一软件且空闲的可编程器件的VIM的第一标识。当第二信息为需要加载第一软件的可编程器件的器件数量时,NFVO可以先根据加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量,例如:假设加速容量为250路/s、第一软件的处理能力为100路/s,则需要加载第一软件的可编程器件的器件数量为3,之后可以从第一器件库中获取用于管理第一信息对应且空闲的可编程器件的数量不小于该器件数量的VIM的第一标识;当第一器件库中用于管理第一信息对应的可编程器件的VIM中空闲的第一信息对应的可编程器件的数量均小于1时,可以从第一器件库中选取至少两个VIM的第一标识,这至少两个VIM中第一信息对应且空闲的可编程器件的总数量不小于该器件数量。当第二信息包括加速容量和处理能力信息时,NFVO直接从第一器件库中获取一个用于管理第一信息对应且空闲的可编程器件的VIM的第一标识。其中,第一信息可以包括器件类型和生产厂家,也可以器件类型、生产厂家和器件型号。
在一个实施例中,NFVO接收到包括加速类型和加速容量的业务请求之后,也可以从软件信息库中确定具有该加速类型且处理能力不小于加速容量的软件为第一软件,这样可以减少加载软件的可编程器件的数量。
本实施例中,NFVO也可以先从第一器件库中获取第一可编程器件的器件类型和生产厂家(或者器件类型、生产厂家和器件型号),并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,之后判断该软件功能是否包括该加速类型,当该软件功能包括该加速类型时,确定该软件功能对应的软件为第一软件,第一可编程器件为能够加载具有加速类型的软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息,以及从第一器件库中获取用于管理第一可编程器件的VIM的第一标识。当该软件功能不包括该加速类型时,将针对第一器件库中的另一可编程器件再次执行上述操作。其中,第一可编程器件可以是第一器件库中的任一空闲的可编程器件。其中,第一器件库和软件信息库可以存储在NFVO中,也可以存储在其他地方。
本实施例中,业务请求还可以包括计算资源和/存储资源,当第一标识的数量为一时,第一标识所标识的VIM的空闲计算资源要不小于该计算资源和/或空闲存储资源不小于该存储资源;当第一标识的数量大于一时,第一标识所标识的VIM的总空闲计算资源不小于该计算资源和/或总空闲存储资源不小于该存储资源。可以避免将第一存储链接、第一信息和第二信息发送给没有足够计算资源和/或存储资源的VIM,从而可以避免将软件加载在不满足业务需求的可编程器件上。
本实施例中,NFVO可以直接将第一存储链接、第一信息和第二信息发送给第一标识所标识的第一VIM,也可以先将第一标识、第一存储链接、第一信息和第二信息发送给VNFM,再由VNFM将第一存储链接、第一信息和第二信息发送给第一标识所标识的第一VIM。
在一个实施例中,当一个软件被加载到一个可编程器件上后,可以在软件信息库中记载哪一个VIM管理的哪一个服务器上的可编程器件加载了这个软件,以便可以快速地查找到加载了这个软件的可编程器件。
在一个实施例中,当一个可编程器件上加载有软件后,可以在器件库中记录这个软件的软件功能和处理能力,或这个软件的存储连接,以便可以通过器件库快速地查找到可编程器件上加载的软件的信息。
403、第一VIM根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器。
本实施例中,第一VIM接收到第一存储链接、第一信息和第二信息之后,当第二信息为需要加载第一软件的可编程器件的器件数量时,第一VIM将直接从第一VIM管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,并从第二器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。当第二信息包括加速容量和第一软件的处理能力信息时,先需要根据该加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量。
本实施例中,业务请求还可以包括计算资源和/存储资源,NFVO也可以将计算资源和/存储资源发送给第一VIM,第一VIM从第一VIM管理的服务器中选取的第一服务器,不仅要包括空闲的第一信息对应的可编程器件的数量不小于该器件数量,而且空闲的计算资源要不小于该计算资源和/或空闲的存储资源要不小于该存储资源。
404、第一服务器从第一存储链接下载第一软件的数据包,并将该数据包加载在第二标识所标识的可编程器件上。
本实施例中,第一服务器接收到第一VIM发送的第一存储链接和第二标识之后,将从第一存储链接下载第一软件的数据包(即安装包),之后当第二标识所标识的可编程器件上未加载有软件时,直接将该数据包加载在第二标识所标识的可编程器件上;当第二标识所标识的可编程器件上已加载有第二软件,且第二软件不具有该加速类型时,先需要将第二软件从第二标识所标识的可编程器件上卸载掉,之后才将该数据包加载在第二标识所标识的可编程器件上;当第二标识所标识的可编程器件上已加载有第二软件,且第二软件具有该加速类型时,将判断第二软件的处理能力信息对应的容量是否小于第一软件的处理能力信息对应的容量,当小于时,先需要将第二软件从第二标识所标识的可编程器件上卸载掉,之后才将该数据包加载在第二标识所标识的可编程器件上,当不小于时,直接将第二软件作为第一软件。
本实施例中,第一服务器将该数据包加载在第二标识所标识的可编程器件上之后,NFVO可以将第一器件库中的第二标识所标识的可编程器件的使用状态修改为已使用,并添加第一软件的软件版本信息,并将软件信息库中的第一软件修改至已加载可编程器件的软件列表中。同理,VIM也可以将第一器件库中的第二标识所标识的可编程器件的使用状态修改为已使用,并添加第一软件的存储连接,或者第一软件的软件功能信息和处理能力信息。其中,软件功能信息即软件具有的加速类型的信息。
在图4所描述的软件加载方法中,当NFVO接收到包括加速类型和加速容量的业务请求时,将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存储链接和处理能力信息以及能够加载该软件的可编程器件的信息,并根据存储链接、处理能力信息和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。
基于图1或图2所示的网络架构,请参阅图5,图5是本发明实施例公开的另一种软件加载方法的流程示意图。其中,该软件加载方法是从NFVO、VIM和服务器的角度描述的。如图5所示,该软件加载方法可以包括以下步骤。
501、第二服务器将第三信息发送至第二VIM。
本实施例中,第二服务器中的每个可编程器件上都设置有接口,第二服务器中第二可编程器件可以通过接口将第三信息上报给第二服务器上的代理,之后第二服务器可以通过代理将第三信息上报给第二VIM。其中,第二VIM是NFVO管理的任一VIM,第二服务器是第二VIM管理的任一服务器,第二可编程器件是第二服务器中的任一可编程器件,第三信息可以包括第二可编程器件的器件类型、生产厂家和标识,第二VIM是用于管理第二服务器的VIM。举例说明,可编程器件的标识如编号-1表示FPGA-1、编号-2表示FPGA-2、编号-3表示图像处理器(Graphics Processing Unit,GPU)-1等。其中,可以是第二服务器向第二VIM主动发送第三信息,也可以是NFVO向第二VIM发送可编程器件信息获取请求,第二VIM向第二服务器发送了可编程器件信息获取请求之后,第二服务器向第二VIM发送的。第三信息还可以包括第二可编程器件的器件类型。
502、第二VIM建立包括第三信息和第二服务器的标识的第二器件库,以及将第三信息和第二服务器的标识发送给NFVO。
本实施例中,第二VIM接收到第二服务器的代理发送的第三信息之后,将建立包括第三信息和第二服务器的标识的第二器件库,可以是第二VIM中已经存在第二器件库,只是将第三信息和第二服务器的标识添加到第二器件库中;也可以是第二VIM中不存在第二器件库,建立第二器件库,并将第三信息和第二服务器的标识添加到第二器件库中。其中,第二器件库可以如表1所示:
Figure BDA0002705356980000131
Figure BDA0002705356980000141
表1第二器件库
503、NFVO根据第三信息、第二服务器的标识和第二VIM的标识建立第一器件库。
本实施例中,NFVO接收到第二VIM发送的第三信息和第二服务器的标识之后,将根据第三信息、第二服务器的标识和第二VIM的标识建立第一器件库,可以是NFVO中已经存在第一器件时,只是将第三信息、第二服务器的标识和第二VIM的标识添加到第一器件库中;也可以是第二VIM中不存在第一器件库,建立第一器件库,并将第三信息、第二服务器的标识和第二VIM的标识添加到第一器件库中。其中,第一器件库可以如表2所示:
索引 器件类型 生产厂家 VIM标识 已使用器件个数 未使用器件个数
1 FPGA Vendor-A VIM1 0 1
2 FPGA Vendor-A VIM1 3 2
3 FPGA Vendor-B VIM2 1 2
4 GPU Vendor-C VIM3 0 1
5
表2第一器件库
其中,当可编程器件上加载了软件时,可以把将该软件的软件功能和处理能力信息,或者url连接存储在第一器件库中,便于快速找到可用的且加载了软件的可编程器件,可以减少软件加载时间。
在一个实施例中,第二VIM也可以将第三信息和第二服务器的标识发送给OSS/BSS,OSS/BSS可以根据第二VIM上报的可编程器件的信息,向NFVO发送携带有器件标识的软件操作指令,NFVO将软件操作指令发送给器件标识对应的可编程器件,该可编程器件执行软件操作指令。该软件操作指令可以为软件加载指令、软件卸载指令、软件更新指令或软件升级指令等指令。
504、NFVO接收软件包并发送给第三VIM或目录库。
其中,软件包可以包括软件功能信息、软件版本信息、处理能力信息以及第四信息,第四信息可以包括能够加载改软件包对应软件的可编程器件的器件类型和生产厂家,软件功能可以为加解密加速、或音频转码加速等,处理能力信息为该软件能够处理业务的最大容量,如6M PPS加解密加速等。
505、第三VIM或目录库存储该软件包,并将该软件包的第二存储链接发送给NFVO。
506、NFVO建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库。
本实施例中,当NFVO中已存在软件信息库时,将上述信息添加至软件信息库中,当NFVO中不存在软件信息库时,可以先建立软件信息库,并将上述信息添加中软件信息库中。其中,软件信息库还可以包括已加载到哪些可编程器件,以便索引到器件库,从而可以了解软件是否被使用。其中,软件信息库可以如表3所示:
索引 软件功能 软件版本 处理能力 存储链接 器件类型 生产厂家 ...
1 加解密 Ver-1 10M PPS url-1 FPGA Vendor-A ...
2 音频转码 Ver-1 100路/s url-2 FPGA Vendor-A ...
3 混音 Ver-1 100路/s url-3 FPGA Vendor-B ...
4 视频转码 Ver-1 100路/s url-4 GPU Vendor-C ...
5 ...
表3软件信息库
其中,步骤507-510与前面实施例中的步骤401-404相同,本发明实施例此处不作赘述。
在图5所描述的软件加载方法中,当NFVO接收到包括加速类型和加速容量的业务请求时,将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存储链接和能够加载该软件的可编程器件的信息,并根据存储链接和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。
基于图1或图2所示的网络架构,请参阅图6,图6是本发明实施例公开的又一种软件加载方法的流程示意图。其中,该软件加载方法是从VIM的角度描述的。如图6所示,该软件加载方法可以包括以下步骤。
601、接收NFVO发送的包括加速类型和加速容量的业务请求。
其中,该业务请求可以是OSS/BSS发送给NFVO,也可以是VNFM发送给NFVO,还可以是除OSS/BSS和VNFM之外的第三方设备发送给NFVO。加速类型可以为加解密、音频转码、或视频转码等,加速容量可以为10M PPS、100路/s、200路/s等。
其中,步骤601可以是VIM中的收发器执行的。
602、根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、第一软件的处理能力信息和加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识。
本实施例中,VIM接收到包括加速类型和加速容量的业务请求之后,可以从软件信息库中确定具有该加速类型的软件,可以将第一次查找到的具有该加速类型的软件作为第一软件,也可以将处理能力大于加速容量的软件作为第一软件。之后从软件信息库中获取具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据加速容量和第一软件的处理能力信息计算需要加载第一软件且空闲的可编程器件的器件数量,并从VIM管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,以及从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识。
本实施例中,VIM接收到包括加速类型和加速容量的业务请求之后,也可以从器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,之后判断该软件功能是否包括该加速类型,当该软件功能包括该加速类型时,确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,从软件信息库中获取第一软件的第一存储链接和处理能力信息,并根据加速容量和第一软件的处理能力信息计算需要加载第一软件且空闲的可编程器件的器件数量,当管理第一可编程器件的服务器中空闲的第一信息对应的可编程器件的数量不小于该器件数量时,直接将管理第一可编程器件的服务器的标识作为第一标识;当管理第一可编程器件的服务器中空闲的第一信息对应的可编程器件的数量小于该器件数量时,可以将VIM管理的空闲的第一信息对应的可编程器件的数量不小于该器件数量的服务器作的标识作为第一标识;当VIM管理的服务器中空闲的第一信息对应的可编程器件的数量均小于该器件数量时,可以从器件库中选取至少两个服务器的第二标识,这至少两个服务器中第一信息对应且空闲的可编程器件的总数量不小于该器件数量。第一信息包括器件类型和生产厂家。其中,第一可编程器件可以是器件库中任一空闲的可编程器件。
本实施例中,业务请求还可以包括计算资源和/存储资源,当第二标识的服务器数量为一时,第二标识所标识的服务器的空闲计算资源要不小于该计算资源和/或空闲存储资源不小于该存储资源;当第二标识所标识的服务器的数量大于一时,第二标识所标识的服务器的总空闲计算资源不小于该计算资源和/或总空闲存储资源不小于该存储资源。可以避免将软件加载在不满足业务需求的可编程器件上。
其中,步骤602可以是VIM中的处理器调用存储器中存储的程序代码执行的。
603、将第一存储链接和第一标识发送给第二标识所标识的第一服务器。
本实施例中,VIM可以将第一存储链接和第一标识发送给第二标识所标识的第一服务器,使第一服务器从第一存储链接下载第一软件的数据包(即安装包),之后当第一标识所标识的可编程器件上未加载有软件时,直接将该数据包加载在第一标识所标识的可编程器件上,当第一标识所标识的可编程器件上已加载有第二软件,且第二软件不具有该加速类型时,现需要将第二软件从第一标识所标识的可编程器件上卸载掉,之后才将该数据包加载在第一标识所标识的可编程器件上。
其中,步骤603可以是VIM中的收发器执行的。
在图6所描述的软件加载方法中,当VIM接收到包括加速类型和加速容量的业务请求时,将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存储链接和能够加载该软件的可编程器件的标识,使根据存储链接和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。
基于图1或图2所示的网络架构,请参阅图7,图7是本发明实施例公开的又一种软件加载方法的流程示意图。其中,该软件加载方法是从VIM的角度描述的。如图7所示,该软件加载方法可以包括以下步骤。
701、接收第二服务器发送的第二信息,并建立包括第二信息和第二服务器的标识的器件库。
其中,第二信息包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器。
其中,步骤701中的接收第二服务器发送的第二信息可以是VIM中的收发器执行的,步骤701中的建立包括第二信息和第二服务器的标识的器件库可以是VIM中的处理器调用存储器中存储的程序代码执行的。
702、接收软件包并发送给目录库,以使目录库存储软件包并返回该软件包的第二存储链接。
其中,软件包可以包括软件功能信息、软件版本信息、处理能力信息以及第五信息,第三信息可以包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家。其中,软件包可以是NFVO发送的,也可以不是NFVO发送的。
其中,VIM也可以将软件包直接存储在VIM中。
其中,步骤702中可以是VIM中的收发器执行的。
703、接收第二存储链接,并建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。
其中,步骤703中的接收第二存储链接可以是VIM中的收发器执行的,步骤701中的建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库可以是VIM中的处理器调用存储器中存储的程序代码执行的。
其中,步骤704-706与前面实施例中的步骤601-603相同,本发明实施例此处不作赘述。
在图7所描述的软件加载方法中,当VIM接收到包括加速类型和加速容量的业务请求时,将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存储链接和能够加载该软件的可编程器件的标识,使根据存储链接和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。
基于图1或图2所示的网络架构,请参阅图8,图8是本发明实施例公开的另一种VIM的结构示意图。如图8所示,该VIM可以包括:
通信单元801,用于接收NFVO发送的包括加速类型和加速容量的业务请求;
确定单元802,用于根据通信单元801接收的加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,第一信息包括器件类型和生产厂家;
获取单元803,用于根据确定单元802确定的第一信息、确定单元802确定的处理能力信息和通信单元801接收的加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识;
通信单元801,还用于将确定单元802确定的第一存储链接和获取单元803获取的第一标识发送给获取单元803获取的第二标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上。
作为一种可能的实施方式,通信单元801,还用于接收第二服务器发送的第二信息,第二信息包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器;
VIM还可以包括:
第一建立单元804,用于建立包括通信单元接收的第二信息和第二服务器的标识的器件库。
具体地,获取单元803根据确定单元802确定的第一信息、确定单元802确定的处理能力信息和通信单元801接收的加速容量从第一建立单元804建立的器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识
作为一种可能的实施方式,通信单元801,还用于接收软件包并发送给目录库,以使目录库存储该软件包并返回该软件包的第二存储链接,该软件包包括软件功能信息、软件版本信息、处理能力信息以及第三信息,第三信息包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家;
通信单元801,还用于接收第二存储链接;
VIM还可以包括:
第二建立单元805,用于建立包括通信单元801接收的第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。
具体地,确定单元802根据通信单元801接收的加速类型和第二建立单元805建立的软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息。
在本实施例中,VIM800是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到VIM800可以采用图3所示的形式。通信单元801可以通过图3的处理器和存储器来实现,确定单元802、获取单元803、第一建立单元804和第二建立单元805可以通过图3的处理器和存储器来实现。
本发明实施例还公开了一种可读存储介质,该可读存储介质存储了VIM用于执行图6或图7所示的软件加载方法的程序代码。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,ROM)、随机存取器(random accessmemory,RAM)、磁盘或光盘等。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上对本发明实施例公开的分布式系统中软件加载方法、设备及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种软件加载方法,其特征在于,所述方法应用于虚拟化基础设施管理器VIM,包括:
接收网络功能虚拟化编排NFVO发送的包括加速类型的业务请求;
根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息,并根据所述第一信息和所述处理能力信息从器件库获取需要加载所述第一软件且空闲的可编程器件的第一标识以及用于管理所述第一标识所标识的可编程器件的服务器的第二标识,所述第一信息包括器件类型和生产厂家;
将所述第一存储链接和所述第一标识发送给所述第二标识所标识的第一服务器,所述第一存储链接用于使所述第一服务器从所述第一存储链接下载所述第一软件的数据包,所述第一标识用于使所述第一服务器将所述数据包加载在所述第一标识所标识的可编程器件上。
2.根据权利要求1所述的方法,其特征在于,所述根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息包括:
从所述软件信息库中获取具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息;或者
从器件库中获取第一可编程器件的器件类型和生产厂家,并根据所述第一可编程器件的器件类型和生产厂家从软件信息库中获取所述第一可编程器件能够加载的软件的软件功能,当所述软件功能包括所述加速类型时,确定所述软件功能对应的软件为第一软件、所述第一可编程器件为能够加载所述第一软件的可编程器件以及所述第一可编程器件的器件类型和生产厂家为第一信息,并从所述软件信息库中获取所述第一软件的第一存储链接和处理能力信息,所述第一可编程器件是第一器件库中的任一空闲的可编程器件。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收第二服务器发送的第二信息,所述第二信息包括第二可编程器件的器件类型、生产厂家和标识,所述第二服务器为所述VIM管理的且用于管理所述第二可编程器件的服务器;
建立包括所述第二信息和所述第二服务器的标识的器件库。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收软件包并发送给目录库,以使所述目录库存储所述软件包并返回所述软件包的第二存储链接,所述软件包包括软件功能信息、软件版本信息、处理能力信息以及第三信息,所述第三信息包括能够加载所述软件包对应软件的可编程器件的器件类型和生产厂家;
接收所述第二存储链接,并建立包括所述第二存储链接和所述软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。
5.根据权利要求1或2所述的方法,其特征在于,所述第一标识用于使所述第一服务器将所述数据包加载在所述第一标识所标识的可编程器件上包括:
所述第一标识用于当所述第一服务器中的所述第一标识所标识的可编程器件上未加载有软件时,使所述第一服务器将所述数据包加载在所述第一标识所标识的可编程器件上;或
所述第一标识用于当所述第一服务器中的所述第一标识所标识的可编程器件上已加载有第二软件,且所述第二软件不具有所述加速类型时,使所述第一服务器从所述第一标识所标识的可编程器件上卸载掉所述第二软件,并将所述数据包加载在所述第一标识所标识的可编程器件上。
6.一种软件加载系统,其特征在于,包括网络功能虚拟化编排NFVO和第一虚拟化基础设施管理器VIM,其中:
所述NFVO,用于接收包括加速类型的业务请求,根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息,根据所述第一信息和所述处理能力信息从第一器件库获取用于管理能够加载所述第一软件且空闲的可编程器件的VIM的第一标识,并将所述第一存储链接、所述第一信息和用于指示需要加载所述第一软件的可编程器件数量的第二信息发送给所述第一标识所标识的第一VIM,所述第一信息包括器件类型和生产厂家;
所述第一VIM,用于接收所述NFVO发送的所述第一存储链接、所述第一信息和所述第二信息,根据所述第一信息和所述第二信息从第二器件库中获取需要加载所述第一软件的可编程器件的第二标识以及用于管理所述第二标识所标识的可编程器件的服务器的第三标识,并将所述第一存储链接和所述第二标识发送给所述第三标识所标识的第一服务器,所述第一存储链接用于使所述第一服务器从所述第一存储链接下载所述第一软件的数据包,所述第二标识用于使所述第一服务器将所述数据包加载在所述第二标识所标识的可编程器件上。
7.根据权利要求6所述的系统,其特征在于,所述NFVO用于根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息包括:
所述NFVO,用于从软件信息库中获取具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息;或者
所述NFVO,用于从第一器件库中获取第一可编程器件的器件类型和生产厂家,并根据所述第一可编程器件的器件类型和生产厂家从软件信息库中获取所述第一可编程器件能够加载的软件的软件功能,当所述软件功能包括所述加速类型时,确定所述软件功能对应的软件为第一软件、所述第一可编程器件为能够加载所述第一软件的可编程器件以及所述第一可编程器件的器件类型和生产厂家为第一信息,并从所述软件信息库中获取所述第一软件的第一存储链接和处理能力信息,所述第一可编程器件是所述第一器件库中的任一空闲的可编程器件。
8.一种虚拟化基础设施管理器,其特征在于,包括存储器和处理器,所述存储器中存储有程序代码,所述处理器用于调用存储器中存储的程序代码执行如权利要求1-5任一项所述的方法。
CN202011036968.1A 2016-05-10 2016-05-10 一种软件加载方法、设备及系统 Active CN112256343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011036968.1A CN112256343B (zh) 2016-05-10 2016-05-10 一种软件加载方法、设备及系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610309117.7A CN107357603B (zh) 2016-05-10 2016-05-10 一种软件加载方法、设备及系统
CN202011036968.1A CN112256343B (zh) 2016-05-10 2016-05-10 一种软件加载方法、设备及系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201610309117.7A Division CN107357603B (zh) 2016-05-10 2016-05-10 一种软件加载方法、设备及系统

Publications (2)

Publication Number Publication Date
CN112256343A CN112256343A (zh) 2021-01-22
CN112256343B true CN112256343B (zh) 2022-05-10

Family

ID=60266327

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011036968.1A Active CN112256343B (zh) 2016-05-10 2016-05-10 一种软件加载方法、设备及系统
CN201610309117.7A Active CN107357603B (zh) 2016-05-10 2016-05-10 一种软件加载方法、设备及系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610309117.7A Active CN107357603B (zh) 2016-05-10 2016-05-10 一种软件加载方法、设备及系统

Country Status (2)

Country Link
CN (2) CN112256343B (zh)
WO (1) WO2017193810A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256343B (zh) * 2016-05-10 2022-05-10 华为技术有限公司 一种软件加载方法、设备及系统
CN110365508B (zh) * 2018-04-10 2022-05-31 中国移动通信有限公司研究院 虚拟网络功能实例化的方法和网络功能虚拟化编排器
CN108900337B (zh) * 2018-06-29 2021-07-16 郑州云海信息技术有限公司 一种元数据服务的故障恢复方法、服务器、客户端及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102215118A (zh) * 2010-04-01 2011-10-12 华为技术有限公司 实现设备管理业务的方法、装置及系统
CN103559591A (zh) * 2013-11-20 2014-02-05 北京可信华泰信息技术有限公司 基于可信计算的软件管理系统和管理方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7013232B2 (en) * 2001-08-15 2006-03-14 National Insurance Corporation Network-based system for configuring a measurement system using configuration information generated based on a user specification
CN100358294C (zh) * 2004-12-22 2007-12-26 华为技术有限公司 软件加载方法
CN101770375A (zh) * 2008-12-26 2010-07-07 新奥特(北京)视频技术有限公司 一种软件自动升级的实现方法、系统和装置
DE102010064279A1 (de) * 2010-12-28 2012-06-28 Endress + Hauser Flowtec Ag Feldgerät mit Langzeit-Firmware-Kompatibilität
CN103297932A (zh) * 2012-02-27 2013-09-11 联想(北京)有限公司 一种移动终端及其处理通知信息的方法
US9880852B2 (en) * 2012-12-27 2018-01-30 Intel Corporation Programmable hardware accelerators in CPU
EP2936754B1 (en) * 2013-01-11 2020-12-02 Huawei Technologies Co., Ltd. Network function virtualization for a network device
EP2957080B1 (en) * 2013-02-12 2020-06-10 Hewlett-Packard Enterprise Development LP Network control using software defined flow mapping and virtualized network functions
CN104348873B (zh) * 2013-08-05 2019-03-29 中兴通讯股份有限公司 虚拟网元自动装载及虚拟机ip地址获取的方法与系统
CN105379191B (zh) * 2014-01-29 2019-08-06 华为技术有限公司 虚拟网络功能的升级方法和网络功能虚拟化编排器
WO2015117278A1 (zh) * 2014-02-10 2015-08-13 华为技术有限公司 时钟中断信号的获取方法和nfv功能实体
WO2015126430A1 (en) * 2014-02-24 2015-08-27 Hewlett-Packard Development Company, L.P. Virtual network function management with deactivated virtual machines
WO2015139310A1 (zh) * 2014-03-21 2015-09-24 华为技术有限公司 一种业务分配的处理方法及相关装置
EP3107246B1 (en) * 2014-03-26 2019-05-22 Huawei Technologies Co., Ltd. Network function virtualization-based certificate configuration
CN104954220B (zh) * 2014-03-31 2018-01-16 华为技术有限公司 一种虚拟网络业务部署方法和设备
BR112016023155B1 (pt) * 2014-04-09 2022-12-20 Huawei Technologies Co., Ltd Método, aparelho e sistema de solução de problemas com base na virtualização de função de rede
EP2940582A1 (en) * 2014-04-30 2015-11-04 DoCoMo Communications Laboratories Europe GmbH Automated configuration of virtual infrastructure manager access for the virtual network function manager
US20150332351A1 (en) * 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
US20160065479A1 (en) * 2014-08-26 2016-03-03 rift.IO, Inc. Distributed input/output architecture for network functions virtualization
US9436443B2 (en) * 2014-08-28 2016-09-06 At&T Intellectual Property I, L.P. Software defined network controller
CN104253866B (zh) * 2014-09-20 2018-03-27 华为技术有限公司 虚拟网络功能网元的软件部署方法、系统及相关设备
CN104267985A (zh) * 2014-09-23 2015-01-07 杭州华三通信技术有限公司 一种软件加载方法和设备
KR102398401B1 (ko) * 2014-09-25 2022-05-13 애플 인크. 네트워크 기능 가상화
CN104317610B (zh) * 2014-10-11 2017-05-03 福建新大陆软件工程有限公司 一种hadoop平台自动安装部署的方法及装置
CN105468435A (zh) * 2015-12-25 2016-04-06 赛特斯信息科技股份有限公司 Nfv动态资源分配方法
CN112256343B (zh) * 2016-05-10 2022-05-10 华为技术有限公司 一种软件加载方法、设备及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102215118A (zh) * 2010-04-01 2011-10-12 华为技术有限公司 实现设备管理业务的方法、装置及系统
CN103559591A (zh) * 2013-11-20 2014-02-05 北京可信华泰信息技术有限公司 基于可信计算的软件管理系统和管理方法

Also Published As

Publication number Publication date
CN107357603A (zh) 2017-11-17
CN112256343A (zh) 2021-01-22
CN107357603B (zh) 2020-10-16
WO2017193810A1 (zh) 2017-11-16

Similar Documents

Publication Publication Date Title
US11405274B2 (en) Managing virtual network functions
US10678585B2 (en) Methods and apparatus to automatically configure monitoring of a virtual machine
US20170085419A1 (en) System and method for deploying an application
CN110187912B (zh) 一种节点选择方法和装置
US10430172B2 (en) Re-configuration in cloud computing environments
US20190050248A1 (en) Control apparatus, vnf deployment destination selection method and program
KR20210020084A (ko) 경보 방법 및 디바이스
CN109032751B (zh) 一种虚拟机部署方法及omm虚拟机
US20200288302A1 (en) Service Notification Method For Mobile Edge Host And Apparatus
CN106663012B (zh) 一种硬件加速方法以及相关设备
CN109614167B (zh) 一种管理插件的方法和系统
CN112256343B (zh) 一种软件加载方法、设备及系统
CN111245634B (zh) 一种虚拟化管理方法及装置
CN110069265B (zh) 服务集群的升级方法、装置及存储介质
KR20230069088A (ko) 컨테이너 클러스터 관리 방법 및 그 시스템
CN109728921B (zh) 虚拟网元的管理、维护和控制方法以及相关装置
CN108370329B (zh) 管理功能对象的管理方法及装置
CN111371578B (zh) 部署虚拟化网络功能的方法和装置
CN112764873A (zh) 实例化ns的方法及nfvo
CN109218259B (zh) 许可管理方法及装置、applm功能实体及计算机可读存储介质
CN115858007A (zh) 扩展组件的加载方法和装置、存储介质及电子装置
CN113032004A (zh) 在开发环境中管理开发作业的方法、设备和程序产品
KR102588689B1 (ko) 가상화 네트워크 기능 스케일링-아웃을 위한 방법, 이를 위한 가상화 네트워크 기능 관리자, 및 이를 이용한 네트워크 기능 가상화 시스템
CN113364611B (zh) 资源id管理方法、装置、设备及可读存储介质
CN111399983A (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