WO2017193810A1 - Software loading method, device and system - Google Patents

Software loading method, device and system Download PDF

Info

Publication number
WO2017193810A1
WO2017193810A1 PCT/CN2017/081896 CN2017081896W WO2017193810A1 WO 2017193810 A1 WO2017193810 A1 WO 2017193810A1 CN 2017081896 W CN2017081896 W CN 2017081896W WO 2017193810 A1 WO2017193810 A1 WO 2017193810A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
information
identifier
server
programmable device
Prior art date
Application number
PCT/CN2017/081896
Other languages
French (fr)
Chinese (zh)
Inventor
冯爱娟
康明
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2017193810A1 publication Critical patent/WO2017193810A1/en

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]

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a software loading method, device, and system.
  • the embodiment of the invention discloses a software loading method, device and system for improving the flexibility of software loading on a programmable device.
  • the first aspect discloses a software loading method.
  • the Network Function Virtualization Orchestrator receives a service request including an acceleration type and an acceleration capacity, and according to the acceleration type and the software information base, the first type having the acceleration type can be determined.
  • a first storage link of the software, processing capability information of the first software, and first information of the programmable device capable of loading the first software and then acquiring from the first device library according to the first information, the processing capability information, and the acceleration capacity a first identifier of a Virtual Infrastructure Manager (VIM) for managing a programmable device capable of loading the first software and free, and the first storage link, the first information, and the
  • VIP Virtual Infrastructure Manager
  • the second information of the number of programmable devices of the software is sent to the first VIM identified by the first identifier; after receiving the first storage link, the first information, and the second information sent by the NFVO, the first VIM is based on the first information.
  • the first information may include a device type and a manufacturer, the first storage link is configured to enable the first server to download the data packet of the first software from the first storage link, and the second identifier is used to enable the first server to load the data packet On the programmable device identified by the second identification.
  • the NFVO determines the first software having the acceleration type based on the acceleration type and the software information base.
  • the first storage link, the processing capability information of the first software, and the first information of the programmable device capable of loading the first software the first storage link of the first software having the acceleration type may be directly obtained from the software information repository.
  • processing capability information and first information of the programmable device capable of loading the first software, the storage link and processing capability information of the required loading software and the information of the programmable device capable of loading the software can be quickly obtained from the software information repository.
  • the device type and manufacturer of the first programmable device can be obtained from the first device library, and the first programmable device can be loaded according to the device type of the first programmable device and the manufacturer obtains the first programmable device from the software information library.
  • Software function of the software when the software function includes the acceleration type, it can be determined that the software corresponding to the software function is the first software, the first programmable device is a programmable device capable of loading the first software, and the first programmable device
  • the device type and the manufacturer are the first information, and then the first software is obtained from the software information library. Link information storage and processing power.
  • the software information library can be directly searched, or the first device library can be searched first, and then the software information library can be searched for the storage link and processing capability information of the required loading software and the information of the programmable device capable of loading the software.
  • the first programmable device is any idle programmable device in the first device library.
  • the NFVO when the second information is the number of devices of the programmable device that needs to load the first software, the NFVO further needs to determine the number of devices of the programmable device that needs to load the first software according to the acceleration capacity and the processing capability information. In this way, the number of devices of the programmable device that needs to load the software can be directly sent to the VIM, and the VIM processing can be reduced without reducing the processing of the VIM.
  • the first VIM may first determine, according to the acceleration capacity and the processing capability information, the number of devices of the programmable device that needs to load the first software, and then The first server including the number of programmable devices corresponding to the idle first information is not less than the number of the devices, and the number of the devices is obtained from the programmable device managed by the first server in the second device library. The second identifier of the programmable device corresponding to the idle first information, and the third identifier of the first server is obtained from the second device library. Since the process of calculating the number of devices is performed by VIM, the processing of NFVO can be reduced.
  • the service request may further include a computing resource, where the first VIM may first select an idle computing resource from the managed server, not less than the computing resource, and the number of programmable devices corresponding to the idle first information is not less than a first server of the number of programmable devices indicated by the second information, and then obtaining, from the programmable device managed by the first server in the second device library, the number of programmable devices indicated by the second information, corresponding to the idle first information a second identifier of the programmable device, and obtaining a third identifier of the first server from the second device library, so that the selected server can not only meet the service demand for the acceleration type and the acceleration capacity, but also can satisfy the service to the computing resource. demand.
  • the service request may further include a storage resource, where the first VIM may first select an idle computing resource from the managed server, not less than the computing resource, the idle storage resource is not less than the storage resource, and include the idle a first server in which the number of programmable devices corresponding to the information is not less than the number of programmable devices indicated by the second information, and then the second information is obtained from the programmable device managed by the first server in the second device library. Programming the number of idle first information corresponding to the second identifier of the programmable device, and obtaining the third identifier of the first server from the second device library, so that the selected server can not only satisfy the service for the acceleration type and the acceleration capacity. Demand, but also to meet the business needs of computing resources and storage resources.
  • the second server may send third information including the device type, manufacturer, and identification of the second programmable device to the second VIM, the second VIM establishing an identification including the third information and the second server
  • the second device library and the identifier of the third information and the second server are sent to the NFVO, and the NFVO will establish a first device library according to the three information, the identifier of the second server, and the identifier of the second VIM, so that the NFVO and the VIM can be jointly managed.
  • Programming the device is a server for managing the second programmable device
  • the second VIM is a VIM for managing the second server.
  • the NFVO receives the software package and sends it to a third VIM or catalog, a third VIM or catalog storage package and sends a second storage link of the software package to the NFVO, the NFVO establishment including the second storage link and
  • the software package includes software function information, software version information, processing capability information, and a software information library of the fourth information, so that NFVO can manage software that can be loaded on the programmable device.
  • the fourth information may include a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package.
  • the second identifier before the second identifier causes the first server to load the data packet on the programmable device identified by the second identifier, it may first determine whether the programmable device identified by the second identifier in the first server is Loaded with software, when not loaded with software, the first server can directly load the data packet on the programmable device identified by the second identifier.
  • the first information may further include a device model of a programmable device capable of loading the first software
  • the third information may further include a device model of the second programmable device to enable device type and production of the programmable device.
  • the device can be distinguished by the device model.
  • the second aspect discloses a software loading system, including NFVO and a first VIM, wherein:
  • the NFVO is configured to receive a service request including an acceleration type and an acceleration capacity, determine, according to the acceleration type and the software information library, a first storage link of the first software having the acceleration type, processing capability information of the first software, and loading the first First information of the programmable device of the software, obtaining, according to the first information, the processing capability information, and the acceleration capacity, a first identifier of a VIM for managing a programmable device capable of loading the first software and being idle from the first device library, And transmitting the first storage link, the first information, and the second information indicating the number of programmable devices that need to load the first software to the first VIM identified by the first identifier, the first information including the device type and the manufacturer;
  • a first VIM configured to receive a first storage link, first information, and second information sent by the NFVO, and obtain, from the second device library, the second device that needs to load the first software according to the first information and the second information.
  • identifying a third identifier of the server for managing the programmable device identified by the second identifier and transmitting the first storage link and the second identifier to the first server identified by the third identifier, the first storage link being used to enable
  • the first server downloads the data packet of the first software from the first storage link, and the second identifier is used to cause the first server to load the data packet on the programmable device identified by the second identifier.
  • the third aspect discloses a software loading method, which is applied to a VIM, receives a service request including an acceleration type and an acceleration capacity sent by the NFVO, and determines a first software having the acceleration type according to the acceleration type and the software information base. Storing a link, processing capability information of the first software, and first information of the programmable device capable of loading the first software, acquiring, from the device library, the first software to be loaded and idle according to the first information, the processing capability information, and the acceleration capacity a first identifier of the programmable device and a second identifier of the server for managing the programmable device identified by the first identifier, and sending the first storage link and the first identifier to the first server identified by the second identifier, Dynamic loading of the software on the programmable device according to business needs can increase the flexibility of software loading on the programmable device.
  • the first information includes a device type and a manufacturer, and the first storage link may cause the first server to download the data packet of the first software from the first storage link, where the first identifier may enable the first server to load the data packet in the first Identifies the identified programmable device.
  • the VIM may directly acquire the first storage link and processing capability information of the first software having the acceleration type from the software information base, and acquire the first programmable device capable of loading the first software. a message that can quickly obtain the storage link and processing capability information of the required loading software from the software information library and the information of the programmable device capable of loading the software; or the device type of the first programmable device can be obtained from the device library.
  • the manufacturer and according to the device type of the first programmable device and the manufacturer obtains the software function of the software that the first programmable device can load from the software information library, when the software function includes the acceleration type, the software can be determined
  • the software corresponding to the function is the first software
  • the first programmable device is the programmable device capable of loading the first software
  • the device type and the manufacturer of the first programmable device are the first information
  • the first information is obtained from the software information library.
  • the first storage link and processing capability information of the software Therefore, the software information library can be directly searched, or the first device library can be searched first, and then the software information library can be searched for the storage link and processing capability information of the required loading software and the information of the programmable device capable of loading the software.
  • the first programmable device is any idle programmable device in the first device library.
  • the service request further includes a computing resource
  • the number of devices of the programmable device that needs to load the first software may be determined according to the acceleration capacity and the processing capability information, and the idle computing resource is selected from the managed server is not less than the
  • the computing server and the first server including the number of programmable devices corresponding to the idle first information are not less than the number of the devices, and the first information corresponding to the number of idle devices of the device is obtained from the programmable device managed by the first server in the device library.
  • the first identifier of the programmable device, and the second identifier of the first server is obtained from the device library, so that the selected server can not only meet the requirements of the service for the acceleration type and the acceleration capacity, but also meet the business requirements for the computing resources. .
  • the service request may further include a storage resource, and the number of devices of the programmable device that needs to load the first software may be determined according to the acceleration capacity and the processing capability information, and the idle computing resource is selected from the managed server.
  • a first server managed by the first server in the device library which is smaller than the computing resource, the free storage resource is not less than the storage resource, and the number of programmable devices corresponding to the idle first information is not less than the number of the device.
  • the VIM can receive the second information sent by the second server and can establish a device library including the second information and the identity of the second server, so that the VIM uniformly manages the programmable device.
  • the second information may include a device type, a manufacturer, and an identifier of the second programmable device, and the second server is a server managed by the VIM and used to manage the second programmable device.
  • the VIM can also receive the software package and send it to the catalog, so that the catalog store stores the software package and returns a second storage link of the software package, and can receive the second storage link sent by the catalog.
  • a software information library including a second storage link and software function information, software version information, processing capability information, and third information included in the software package, so that the VIM manages software that can be loaded on the programmable device.
  • the third information may include a device type and a manufacturer of a programmable device capable of loading software corresponding to the software package.
  • the first identifier before the first identifier causes the first server to load the data packet on the programmable device identified by the first identifier, it may first determine whether the programmable device identified by the first identifier in the first server is Loaded with software, when the software is not loaded, the first server can directly load the data packet on the programmable device identified by the first identifier.
  • the first server first uninstalls the software on the programmable device identified by the first identifier, and then loads the data packet on the programmable device identified by the first identifier.
  • the software to be loaded can be loaded on the programmable device regardless of whether the software is loaded or not, which can improve the flexibility of loading the software on the programmable device.
  • the first information may further include a device model of the programmable device capable of loading the first software
  • the second information may further include a device model of the second programmable device for device type and production of the programmable device
  • a fourth aspect discloses a VIM comprising means for performing the software loading method provided by the third aspect or any of the possible implementations of the third aspect.
  • a fifth aspect discloses a VIM that includes a processor, a memory, and a transceiver, wherein:
  • a transceiver configured to receive, by the NFVO, a service request including an acceleration type and an acceleration capacity, and send the service request to the processor;
  • a set of program code is stored in the memory, and the processor is used to call the program code stored in the memory to perform the following operations:
  • first Information can include device type and manufacturer
  • the transceiver is further configured to send the first storage link and the first identifier to the first server identified by the second identifier, where the first storage link is used to enable the first server to download the data packet of the first software from the first storage link,
  • the first identification is for causing the first server to load the data packet on the programmable device identified by the first identification.
  • a sixth aspect discloses a readable storage medium storing program code for a software loading method disclosed by the VIM for performing the third aspect or any of the possible implementations of the third aspect.
  • FIG. 1 is a schematic diagram of a network architecture disclosed in an embodiment of the present invention.
  • FIG. 2 is a schematic structural diagram of a software loading system according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a VIM according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a software loading method according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart diagram of another software loading method according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic flowchart of still another software loading method according to an embodiment of the present invention.
  • FIG. 7 is a schematic flowchart of still another software loading method according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of another VIM disclosed in an embodiment of the present invention.
  • the embodiment of the invention discloses a software loading method, device and system for improving the flexibility of software loading on a programmable device. The details are described below separately.
  • FIG. 1 is a schematic diagram of a network architecture disclosed in an embodiment of the present invention.
  • the network architecture may include NFV Management and Orchestration (NFV MANO), Virtual Network Function (VNF), and Network Function Virtualization Infrastructure (Network Function Virtualization Infrastructure, NFVI), Element Manager System (EMS) and Business Support Management System (ie OSS or Business Support System (BSS)).
  • NFV MANO includes an NFVO, at least one VNFM, at least one VIM, at least one server, and a catalog, and an agent is installed on each server. among them:
  • NFVO is used to implement network service (NS) lifecycle management (such as deployment/expansion/reduction/downline) in the carrier domain, NFVI resource scheduling, policy management, and network service description (Network Service).
  • NS network service
  • Descriptor, NSD decomposes the need for each VNF and cooperates with VNFM to implement VNF deployment.
  • VNFM is used to implement VNF lifecycle management (such as deployment/expansion/reduction/downline automation). It needs to decompose virtual resources such as virtual machines according to template and VNF capacity requirements, and complete VNF with NFVO and VIM. Instantiation.
  • VIM is used to manage and monitor the entire infrastructure layer resources, including computing resources, storage resources, and network resources.
  • FIG. 2 is a schematic structural diagram of a software loading system according to an embodiment of the present invention.
  • the software loading system is NFV MANO.
  • the software loading system may include an NFVO 201, at least one VIM 202, at least one server 203, NFVO 201 managing at least one VIM 202, one VIM 202 may manage one or more servers 203, and one server 203 may manage one or more Programmable device, where:
  • the NFVO 201 is configured to receive a service request including an acceleration type and an acceleration capacity, determine a first storage link of the first software having an acceleration type, processing capability information of the first software, and a first software capable of loading the first software according to the acceleration type and the software information base.
  • the first information of the programmable device acquires, from the first device library, a first identifier of the VIM 202 for managing the programmable device capable of loading the first software and is idle according to the first information, the processing capability information of the first software, and the acceleration capacity, And transmitting, to the first VIM 202 identified by the first identifier, the first storage link, the first information, and the second information indicating the number of programmable devices that need to load the first software, where the first information may include the device type and the manufacturer. ;
  • the first VIM 202 is configured to receive the first storage link, the first information, and the second information sent by the NFVO 201, and obtain, from the second device library, the second device that needs to load the first software according to the first information and the second information. And the third identifier of the server for managing the programmable device identified by the second identifier, and sending the first storage link and the second identifier to the first server 203 identified by the third identifier;
  • the first server 203 is configured to receive the first storage link and the second identifier sent by the first VIM 202, download the data packet of the first software from the first storage link, and load the data packet in the programmable identifier identified by the second identifier. On the device.
  • NFVO201 is used to determine the type of acceleration based on the type of acceleration and the software information base.
  • the first storage link of the first software, the processing capability information of the first software, and the first information of the programmable device capable of loading the first software include:
  • NFVO201 configured to obtain, from a software information library, a first storage link of the first software having an acceleration type, processing capability information of the first software, and first information of a programmable device capable of loading the first software;
  • NFVO201 for obtaining the device type and manufacturer of the first programmable device from the first device library, and obtaining the first programmable device capable of loading from the software information library according to the device type of the first programmable device and the manufacturer
  • Software function of the software when the software function includes an acceleration type, determining that the software corresponding to the software function is the first software, the first programmable device is a programmable device capable of loading the first software, and the device type of the first programmable device
  • the manufacturer is the first information, and the first storage link and processing capability information of the first software is obtained from the software information library, and the first programmable device is any idle programmable device in the first device library.
  • the second information is a number of devices of the programmable device that needs to load the first software
  • the NFVO 201 is further configured to determine the number of devices of the programmable device that need to load the first software according to the acceleration capacity and the processing capability information of the first software.
  • the second information may include acceleration capacity and processing capability information of the first software
  • the first VIM 202 is configured to acquire, from the second device library, a second identifier of the programmable device that needs to load the first software according to the first information and the second information, and a server that manages the programmable device identified by the second identifier
  • the three logos include:
  • the first VIM 202 is configured to determine, according to the acceleration capacity and the processing capability information of the first software, the number of devices of the programmable device that needs to load the first software, and select, from the managed server, the number of programmable devices corresponding to the first information that is idle. a first server not less than the number of devices, obtaining a second identifier of the programmable device corresponding to the first information of the device from the programmable device of the first server in the second device library, and the second device from the second device The third identifier of the first server is obtained in the library.
  • the service request further includes a computing resource;
  • the first VIM 202 is configured to obtain, from the second device library, the second identifier of the programmable device that needs to load the first software according to the first information and the second information, and
  • a third identifier of a server for managing a programmable device identified by the second identifier includes:
  • the first VIM 202 is configured to select, from the managed server, that the idle computing resource is not less than the computing resource, and the first server that includes the number of programmable devices corresponding to the idle first information is not less than the number of programmable devices indicated by the second information. Obtaining, from the programmable device of the first server management in the second device library, the second identifier of the programmable device corresponding to the number of programmable devices indicated by the second information, and from the second device library Obtain a third identifier of the first server.
  • the service request may further include a computing resource and a storage resource.
  • the first VIM 202 is configured to obtain, from the second device library, the programmable device that needs to load the first software according to the first information and the second information.
  • the second identifier and the third identifier of the server for managing the programmable device identified by the second identifier include:
  • the first VIM 202 is configured to select, from the managed server, that the idle computing resource is not less than the computing resource, the storage resource is not less than the storage resource, and the number of programmable devices corresponding to the idle first information is not less than that indicated by the second information.
  • the second server 203 is configured to send the third information to the second VIM 202, the second server is a server for managing the second programmable device, and the third information includes the second programmable device.
  • the second VIM is a VIM for managing the second server;
  • the second VIM 202 is configured to receive the third information sent by the second server 203, establish a second device library including the third information and the identifier of the second server, and send the third information and the identifier of the second server to the NFVO 201;
  • the NFVO 201 is further configured to receive the third information sent by the second VIM 202 and the identifier of the second server, and establish a first device library according to the third information, the identifier of the second server, and the identifier of the second VIM.
  • the software loading system may further include a catalogue 204, wherein:
  • the NFVO 201 is further configured to receive the software package and send the software package to the third VIM or the directory, where the software package includes software function information, software version information, processing capability information, and fourth information, where the fourth information includes programmable software capable of loading the software package corresponding to the software package.
  • the software package includes software function information, software version information, processing capability information, and fourth information, where the fourth information includes programmable software capable of loading the software package corresponding to the software package.
  • the third VIM 202 or the catalogue 204 is configured to receive the software package sent by the NFVO 201, store the software package, and send the second storage link of the software package to the NFVO 201;
  • the NFVO 201 is further configured to receive a second storage link sent by the third VIM 202 or the catalogue 204, and establish software including the second storage link and software function information, software version information, processing capability information, and fourth information included in the software package. database.
  • the second identifier is used by the first server to load the data packet on the programmable device identified by the second identifier, including:
  • the second identifier is configured to, when the software identified by the second identifier in the first server is not loaded with software, cause the first server to load the data packet on the programmable device identified by the second identifier; or
  • the second identifier is configured to enable the first server to be identified by the second identifier when the second software is loaded on the programmable device identified by the second identifier in the first server, and the second software does not have the acceleration type
  • the second software is unloaded on the programming device and loaded onto the programmable device identified by the second identification.
  • the first VIM, the second VIM, and the third VIM may be the same VIM, or may be different VIMs.
  • the first VIM, the second VIM, and the third VIM are different VIMs, they are used to manage different server.
  • the first server and the second server may be the same server or different servers, and the programmable devices on different servers may be the same or different.
  • FIG. 3 is a schematic structural diagram of a VIM according to an embodiment of the present invention.
  • the VIM can include a processor 301, a memory 302, a transceiver 303, and a bus 304.
  • the processor 301 can be a general purpose central processing unit (CPU), a plurality of CPUs, a microprocessor, an application-specific integrated circuit (ASIC), or one or more of the programs for controlling the execution of the program of the present invention. integrated circuit.
  • the memory 302 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions.
  • ROM read-only memory
  • RAM random access memory
  • the dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this.
  • the memory 302 can exist independently and the bus 304 is coupled to the processor 301.
  • the memory 302 can also be integrated with the processor 301.
  • the transceiver 303 is configured to communicate with other devices or communication networks, such as Ethernet, a radio access network (RAN), and a wireless local area network. (Wireless Local Area Networks, WLAN), etc.
  • Bus 304 can include a path for communicating information between the components described above.
  • the transceiver 303 is configured to receive, by the NFVO, a service request including an acceleration type and an acceleration capacity, and send the service request to the processor 301;
  • the memory 302 stores a set of program codes, and the processor 301 is configured to call the program code stored in the memory 302 to perform the following operations:
  • Processing capability information and acceleration capacity of a software acquires, from a device library, a first identifier of a programmable device that needs to load the first software and is idle, and a second identifier of a server for managing the programmable device identified by the first identifier, first Information includes device type and manufacturer;
  • the transceiver 303 is further configured to send the first storage link and the first identifier to the first server identified by the second identifier, where the first storage link is used to enable the first server to download the data packet of the first software from the first storage link.
  • the first identifier is configured to cause the first server to load the data packet on the programmable device identified by the first identifier.
  • the processor 301 determines, according to the acceleration type and the software information base, a first storage link of the first software having an acceleration type, processing capability information of the first software, and a programmable device capable of loading the first software.
  • the first information includes:
  • the software function includes an acceleration type
  • the software corresponding to the software function is determined to be the first software
  • the first programmable device is a programmable device capable of loading the first software
  • the device type and manufacturer of the first programmable device are the first Information
  • obtaining a first storage link and processing capability information of the first software from the software repository the first programmable device being any idle programmable device in the first device library.
  • the service request further includes a computing resource
  • the processor 301 acquires, from the device library, the first identifier of the programmable device that needs to load the first software and is free according to the first information, the processing capability information of the first software, and the acceleration capacity, and the programmable device identified by the first identifier.
  • the second identifier of the server includes:
  • the transceiver 303 is further configured to receive second information sent by the second server, where the second information includes a device type, a manufacturer, and an identifier of the second programmable device, where the second server is managed by the VIM. And a server for managing the second programmable device;
  • the processor 301 is further configured to call the program code stored in the memory 302 to perform the following operations:
  • a device library is created that includes the second information and the identity of the second server.
  • the transceiver 303 is further configured to receive the software package and send the software package to the directory, so that the directory library stores the software package and returns a second storage link of the software package, where the software package includes software function information and software. Version information, processing capability information, and third information, the third information includes a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package;
  • the transceiver 303 is further configured to receive the second storage link and send it to the processor 301;
  • the processor 301 is further configured to call the program code stored in the memory 302 to perform the following operations:
  • a software information library including a second storage link and software function information, software version information, processing capability information, and third information included in the software package is established.
  • the first identifier is used by the first server to load the data packet on the programmable device identified by the first identifier, including:
  • the first identifier is configured to, when the software identified by the first identifier in the first server is not loaded with software, cause the first server to load the data packet on the programmable device identified by the first identifier; or
  • the first identifier is configured to enable the first server to identify from the first identifier when the second software is loaded on the programmable device identified by the first identifier in the first server, and the second software does not have the acceleration type
  • the second software is unloaded on the programming device and loaded onto the programmable device identified by the first identification.
  • the VIM may further include an input device 305 and an output device 306.
  • the output device 306 is in communication with the processor 301, and the information may be displayed in various manners.
  • the output device 306 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. Wait.
  • Input device 305 is in communication with processor 301 and can accept user input in a variety of ways.
  • input device 305 can be a mouse, keyboard, touch screen device, or sensing device, and the like.
  • the structure of the NFVO and the server may be the same as the structure of the VIM shown in FIG. 3.
  • FIG. 4 is a schematic flowchart of a software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of NFVO, VIM and server. As shown in FIG. 4, the software loading method may include the following steps.
  • the NFVO receives a service request including an acceleration type and an acceleration capacity.
  • the service request may be sent by the OSS/BSS, or may be sent by the VNFM, or may be sent by a third-party device other than the OSS/BSS and the VNFM.
  • the acceleration type can be encryption/decryption, audio transcoding, or video transcoding.
  • the acceleration capacity can be 10M PPS, 100 channels/s, 200 channels/s, and the like.
  • the service request may further include an IP address of the service request sender.
  • the NFVO may first determine whether the IP address is an authorized IP address, and when the IP address is an authorized IP address, indicating the service. If the request is a legitimate request, the following steps will be performed; when the IP address is not an authorized IP address, indicating that the service request is an illegal request, the subsequent steps will not be performed.
  • the NFVO determines, according to the acceleration type and the software information base, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of the programmable device capable of loading the first software, and according to the first Information, processing capability information of the first software, and acceleration capacity obtain a first identification of a virtualized infrastructure manager VIM for managing a programmable device capable of loading the first software and free from the first device library, and the first storage Links, first information, and use
  • the second information indicating the number of programmable devices that need to load the first software is sent to the first VIM identified by the first identifier.
  • the software having the acceleration type may be determined from the software information base, and the software having the acceleration type found for the first time may be used as the first Software, then obtaining first storage link and processing capability information of the first software from the software information repository, and first information of the programmable device capable of loading the first software, and then according to the first information, the processing capability information, and the acceleration capacity
  • a first identification of a VIM for managing a programmable device capable of loading the first software and free is obtained directly from the first device library.
  • the NFVO may first determine the number of devices of the programmable device that needs to load the first software according to the acceleration capacity and the processing capability information of the first software, for example:
  • the acceleration capacity is 250 channels/s
  • the processing capacity of the first software is 100 channels/s.
  • the number of devices that need to load the first software programmable device is 3, and then can be obtained from the first device library for management first.
  • the first identifier of the VIM corresponding to the number of the devices is not less than the first identifier of the VIM of the programmable device in the first device library;
  • the first identifier of at least two VIMs may be selected from the first device library, and the total number of programmable devices corresponding to the first information in the at least two VIMs and idle is not less than the number of the devices.
  • the second information includes the acceleration capacity and the processing capability information
  • the NFVO directly acquires a first identifier of the VIM for managing the programmable device corresponding to the first information and is free from the first device library.
  • the first information may include the device type and the manufacturer, as well as the device type, manufacturer, and device model.
  • the software having the acceleration type and the processing capability not less than the acceleration capacity may be determined from the software information library as the first software, thereby reducing loading.
  • the NFVO may also first obtain the device type and manufacturer (or device type, manufacturer, and device model) of the first programmable device from the first device library, and according to the device type of the first programmable device and The manufacturer obtains the software function of the software that the first programmable device can load from the software information library, and then determines whether the software function includes the acceleration type.
  • the software function includes the acceleration type
  • the software corresponding to the software function is determined to be The first software
  • the first programmable device is a programmable device capable of loading software with an acceleration type
  • the device type and manufacturer of the first programmable device are the first information
  • the first software is obtained from the software information library.
  • a storage link and processing capability information, and a first identification of the VIM for managing the first programmable device from the first device library.
  • the software function does not include the acceleration type, the above operation will be performed again for another programmable device in the first device library.
  • the first programmable device can be any idle programmable device in the first device library.
  • the first device library and the software information library can be stored in NFVO or stored elsewhere.
  • the service request may further include a computing resource and/or a storage resource.
  • the idle computing resource of the VIM identified by the first identifier is not less than the computing resource and/or the idle storage resource. If the number of the first identifier is greater than one, the total idle computing resource of the VIM identified by the first identifier is not less than the computing resource and/or the total idle storage resource is not less than the storage resource.
  • the first storage link, the first information, and the second information can be avoided from being sent to a VIM that does not have sufficient computing resources and/or storage resources, thereby avoiding loading the software on a programmable device that does not meet the business requirements.
  • the NFVO may directly send the first storage link, the first information, and the second information to the first VIM identified by the first identifier, or firstly, the first identifier, the first storage link, the first information, and The second information is sent to the VNFM, and the first storage link, the first information, and the second information are sent by the VNFM to the first VIM identified by the first identifier.
  • a piece of software when loaded onto a programmable device, it can be recorded in the software repository. Which of the VIM-managed devices on the server is loaded with this software so that the programmable device loaded with the software can be quickly found.
  • the software functionality and processing capabilities of the software, or the memory connection of the software can be recorded in the device library so that it can be quickly found through the device library. Information about the software loaded on the device.
  • the first VIM obtains, from the second device library, the second identifier of the programmable device that needs to load the first software according to the first information and the second information, and the server that manages the programmable device identified by the second identifier. And identifying the first storage link and the second identifier to the first server identified by the third identifier.
  • the first VIM after the first VIM receives the first storage link, the first information, and the second information, when the second information is the number of devices of the programmable device that needs to load the first software, the first VIM will directly go from the first
  • a VIM-managed server selects a first server including a number of programmable devices corresponding to the idle first information, and the number of the devices is not less than the number of the devices, and obtains the number of devices from the programmable device managed by the first server in the second device library.
  • the first identifier of the idle first information corresponds to the second identifier of the programmable device
  • the third identifier of the first server is obtained from the second device library.
  • the service request may further include a computing resource and/or a storage resource
  • the NFVO may also send the computing resource and/or the storage resource to the first VIM, and the first server selected by the first VIM from the server managed by the first VIM,
  • the number of programmable devices corresponding to not only the first information to be free is not less than the number of the devices, and the idle computing resources are not less than the computing resources and/or the idle storage resources are not less than the storage resources.
  • the first server downloads the data packet of the first software from the first storage link, and loads the data packet on the programmable device identified by the second identifier.
  • the first server downloads the data packet (ie, the installation package) of the first software from the first storage link, and then the second identifier.
  • the data packet is directly loaded on the programmable device identified by the second identifier; when the programmable device identified by the second identifier is loaded with the second software, and the When the software does not have the acceleration type, the second software needs to be unloaded from the programmable device identified by the second identifier, and then the data packet is loaded on the programmable device identified by the second identifier; If the second software is loaded on the programmable device identified by the second identifier, and the second software has the acceleration type, it is determined whether the capacity corresponding to the processing capability information of the second software is smaller than the capacity corresponding to the processing capability information of the first software. When less than, the second software needs to be unloaded from the programmable device identified by the second identifier,
  • the NFVO may modify the usage status of the programmable device identified by the second identifier in the first device library to Use and add the software version information of the first software and modify the first software in the software repository to the list of software loaded with the programmable device.
  • the VIM can also modify the usage status of the programmable device identified by the second identifier in the first device library to be used, and add the storage connection of the first software, or the software function information and processing capability of the first software. information.
  • the software function information is information of the acceleration type that the software has.
  • the software having the acceleration type is obtained from the software information base and the device library according to the acceleration type and the acceleration capacity.
  • Deposit Store link and processing capability information and information of a programmable device capable of loading the software and load the software on the programmable device according to the storage link, processing capability information, and the information, and can dynamically be on the programmable device according to business needs
  • Loading the appropriate software can increase the flexibility of software loading on programmable devices.
  • FIG. 5 is a schematic flowchart diagram of another software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of NFVO, VIM and server. As shown in FIG. 5, the software loading method may include the following steps.
  • the second server sends the third information to the second VIM.
  • an interface is disposed on each programmable device in the second server, and the second programmable device in the second server can report the third information to the proxy on the second server through the interface, and then the second server The third information can be reported to the second VIM through the proxy.
  • the second VIM is any VIM managed by the NFVO
  • the second server is any server managed by the second VIM
  • the second programmable device is any programmable device in the second server
  • the third information may include the second The device type, manufacturer, and identification of the programmable device
  • the second VIM is the VIM used to manage the second server.
  • the identifier of the programmable device such as number-1, indicates FPGA-1, number-2 indicates FPGA-2, and number-3 indicates image processing unit (GPU)-1.
  • the second server may send the third information to the second VIM, or the NFVO may send the programmable device information acquisition request to the second VIM. After the second VIM sends the programmable device information acquisition request to the second server, The second server sends to the second VIM.
  • the third information may also include the device type of the second programmable device.
  • the second VIM establishes a second device library including the third information and the identifier of the second server, and sends the third information and the identifier of the second server to the NFVO.
  • a second device library including the identifier of the third information and the second server is established, and the second VIM may already exist in the second VIM.
  • the device library simply adds the third information and the identifier of the second server to the second device library; or the second device library does not exist in the second VIM, the second device library is established, and the third information and the second information are The identity of the server is added to the second device library.
  • the second device library can be as shown in Table 1:
  • the NFVO establishes a first device library according to the third information, the identifier of the second server, and the identifier of the second VIM.
  • the NFVO may establish the first device library according to the third information, the identifier of the second server, and the identifier of the second VIM, which may be NFVO.
  • the first device library can be as shown in Table 2:
  • the software function and processing capability information of the software, or the url connection may be stored in the first device library, so that the programmable device loaded with the software can be quickly found. Can reduce software load time.
  • the second VIM may also send the third information and the identifier of the second server to the OSS/BSS, and the OSS/BSS may send the device identifier to the NFVO according to the information of the programmable device reported by the second VIM.
  • the software operation instruction, the NFVO sends the software operation instruction to the programmable device corresponding to the device identifier, and the programmable device executes the software operation instruction.
  • the software operation instruction may be a software load instruction, a software uninstallation instruction, a software update instruction, or a software upgrade instruction.
  • the NFVO receives the software package and sends it to the third VIM or the catalog.
  • the software package may include software function information, software version information, processing capability information, and fourth information
  • the fourth information may include a device type and a manufacturer capable of loading a programmable device corresponding to the software corresponding to the software package
  • the software function may be Decryption acceleration, or audio transcoding acceleration, etc.
  • processing capability information is the maximum capacity that the software can handle the service, such as 6M PPS encryption and decryption acceleration.
  • the 505, the third VIM, or the directory repository stores the package and sends a second storage link of the package to the NFVO.
  • the NFVO establishes a software information library including a second storage link and software function information, software version information, processing capability information, and fourth information included in the software package.
  • the software information base when the software information base already exists in the NFVO, the above information is added to the software information base.
  • the software information base may be established first, and the above information may be added to the software information.
  • the software repository can also include which programmable devices have been loaded to index to the device library to see if the software is being used.
  • the software information base can be as shown in Table 3:
  • the steps 507-510 are the same as the steps 401-404 in the previous embodiment, and are not described herein again.
  • a storage link of the software having the acceleration type and a programmable device capable of loading the software are acquired from the software information base and the device library, and the software is loaded according to the storage link and the information.
  • the corresponding software can be dynamically loaded on the programmable device according to business needs, which can improve the flexibility of software loading on the programmable device.
  • FIG. 6 is a schematic flowchart diagram of still another software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of VIM. As shown in FIG. 6, the software loading method may include the following steps.
  • the service request may be sent by the OSS/BSS to the NFVO, or may be sent by the VNFM to the NFVO, or may be sent to the NFVO by a third party device other than the OSS/BSS and the VNFM.
  • the acceleration type can be encryption/decryption, audio transcoding, or video transcoding.
  • the acceleration capacity can be 10M PPS, 100 channels/s, 200 channels/s, and the like.
  • step 601 can be performed by a transceiver in the VIM.
  • the processing capability information and the acceleration capacity of the first software acquire a first identifier of the programmable device that needs to load the first software and is free from the device library, and a second identifier of the server for managing the programmable device identified by the first identifier.
  • the software having the acceleration type may be determined from the software information base, and the software having the acceleration type found for the first time may be used as the first
  • the software can also use software with a processing capacity greater than the acceleration capacity as the first software.
  • the processing capability information calculates the number of devices of the programmable device that need to load the first software and is idle, and selects, from the server managed by the VIM, the first server that includes the number of programmable devices corresponding to the idle first information, not less than the number of the devices. And obtaining, from the programmable device managed by the first server in the device library, a first identifier of the programmable device corresponding to the number of idle first information of the device, and acquiring a second identifier of the first server from the device library.
  • the device type and the manufacturer of the first programmable device may also be obtained from the device library, and according to the device type and production of the first programmable device.
  • the manufacturer obtains the software function of the software that can be loaded by the first programmable device from the software information library, and then determines whether the software function includes the acceleration type.
  • the software function includes the acceleration type
  • the first programmable device is a programmable device capable of loading the first software
  • the device type and manufacturer of the first programmable device are the first information
  • the first storage link of the first software is obtained from the software information library and Processing the capability information, and calculating, according to the acceleration capacity and the processing capability information of the first software, the number of devices that need to load the first software and the idle programmable device, when the first information that is idle in the server managing the first programmable device corresponds to
  • the number of programming devices is not less than the number of devices, the first programmable device will be directly managed.
  • the identifier of the server is used as the first identifier; when the number of programmable devices corresponding to the first information idle in the server managing the first programmable device is less than the number of the device, the first information of the idle management of the VIM may be corresponding
  • the number of programming devices is not less than the number of the device, and the identifier of the server is used as the first identifier; when the number of programmable devices corresponding to the first information that is idle in the server managed by the VIM is smaller than the number of the devices, the device library may be selected.
  • a second identifier of at least two servers the second of which is at least two servers
  • the total number of programmable devices that correspond to one information and is idle is not less than the number of devices.
  • the first information includes the device type and manufacturer.
  • the first programmable device can be any free programmable device in the device library.
  • the service request may further include a computing resource and/or a storage resource.
  • the idle computing resource of the server identified by the second identifier is not less than the computing resource and/or the idle storage resource. Not less than the storage resource; when the number of servers identified by the second identifier is greater than one, the total idle computing resource of the server identified by the second identifier is not less than the computing resource and/or the total idle storage resource is not less than the storage resource.
  • step 602 can be performed by the processor in the VIM calling the program code stored in the memory.
  • the VIM may send the first storage link and the first identifier to the first server identified by the second identifier, so that the first server downloads the data packet (ie, the installation package) of the first software from the first storage link. Then, when the software is not loaded on the programmable device identified by the first identifier, the data packet is directly loaded on the programmable device identified by the first identifier, and the programmable device identified by the first identifier is loaded with When the second software does not have the acceleration type, the second software needs to be uninstalled from the programmable device identified by the first identifier, and then the data packet is loaded in the first identifier. On the programming device.
  • step 603 can be performed by a transceiver in the VIM.
  • the software having the acceleration type is obtained from the software information base and the device library according to the acceleration type and the acceleration capacity.
  • the storage link and the identifier of the programmable device capable of loading the software so that the software is loaded on the programmable device according to the storage link and the information, and the corresponding software can be dynamically loaded on the programmable device according to business needs, Improve the flexibility of software loading on programmable devices.
  • FIG. 7 is a schematic flowchart diagram of still another software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of VIM. As shown in FIG. 7, the software loading method may include the following steps.
  • the second information includes a device type, a manufacturer, and an identifier of the second programmable device
  • the second server is a server managed by the VIM and used to manage the second programmable device.
  • the second information sent by the receiving second server in step 701 may be performed by a transceiver in the VIM, and the device library in step 701 for establishing the identifier of the second information and the second server may be a processor in the VIM. Called by the program code stored in the memory.
  • the software package may include software function information, software version information, processing capability information, and fifth information, and the third information may include a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package.
  • the software package may be sent by NFVO or not by NFVO.
  • VIM can also store the software package directly in VIM.
  • step 702 can be performed by a transceiver in the VIM.
  • the receiving the second storage link in step 703 may be performed by a transceiver in the VIM, and the establishing in step 701 includes the second storage link and software function information, software version information, processing capability information, and the The three-information software information base may be executed by the program code stored in the processor call memory in the VIM.
  • the steps 704-706 are the same as the steps 601-603 in the previous embodiment, and are not described herein again.
  • the software having the acceleration type is obtained from the software information base and the device library according to the acceleration type and the acceleration capacity.
  • the storage link and the identifier of the programmable device capable of loading the software so that the software is loaded on the programmable device according to the storage link and the information, and the corresponding software can be dynamically loaded on the programmable device according to business needs, Improve the flexibility of software loading on programmable devices.
  • FIG. 8 is a schematic structural diagram of another VIM according to an embodiment of the present invention.
  • the VIM may include:
  • the communication unit 801 is configured to receive a service request that is sent by the NFVO, including an acceleration type and an acceleration capacity.
  • a determining unit 802 configured to determine, according to an acceleration type and a software information base received by the communication unit 801, a first storage link of the first software having an acceleration type, processing capability information of the first software, and a programmable device capable of loading the first software First information, the first information includes the device type and the manufacturer;
  • the obtaining unit 803 is configured to acquire, from the device library, the first device that needs to load the first software and is idle according to the first information determined by the determining unit 802, the processing capability information determined by the determining unit 802, and the acceleration capacity received by the communication unit 801. And a second identifier of the server for managing the programmable device identified by the first identifier;
  • the communication unit 801 is further configured to send the first storage link determined by the determining unit 802 and the first identifier acquired by the obtaining unit 803 to the first server identified by the second identifier acquired by the obtaining unit 803, where the first storage link is used to enable
  • the first server downloads the data packet of the first software from the first storage link, and the first identifier is used to cause the first server to load the data packet on the programmable device identified by the first identifier.
  • the communication unit 801 is further configured to receive second information sent by the second server, where the second information includes a device type, a manufacturer, and an identifier of the second programmable device, where the second server is managed by the VIM. And a server for managing the second programmable device;
  • VIM can also include:
  • the first establishing unit 804 is configured to establish a device library including the second information received by the communication unit and the identifier of the second server.
  • the obtaining unit 803 acquires the first software that needs to be loaded and is idle according to the first information determined by the determining unit 802, the processing capability information determined by the determining unit 802, and the acceleration capacity received by the communication unit 801 from the device library established by the first establishing unit 804. a first identifier of the programmable device and a second identifier of a server for managing the programmable device identified by the first identifier
  • the communication unit 801 is further configured to receive the software package and send the file to the directory, so that the directory library stores the software package and returns a second storage link of the software package, where the software package includes software function information. , software version information, processing capability information, and third information, the third information includes a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package;
  • the communication unit 801 is further configured to receive a second storage link.
  • VIM can also include:
  • the second establishing unit 805 is configured to establish a software information library including the second storage link received by the communication unit 801 and the software function information, the software version information, the processing capability information, and the third information included in the software package.
  • the determining unit 802 determines, according to the acceleration type received by the communication unit 801 and the software information base established by the second establishing unit 805, the first storage link of the first software having the acceleration type, the processing capability information of the first software, and the loadable The first information of a software programmable device.
  • the VIM 800 is presented in the form of a functional unit.
  • a "unit” herein may refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and/or other devices that provide the functionality described above.
  • ASIC application-specific integrated circuit
  • the VIM 800 can take the form shown in FIG.
  • the communication unit 801 can be implemented by the processor and the memory of FIG. 3.
  • the determining unit 802, the obtaining unit 803, the first establishing unit 804, and the second establishing unit 805 can be implemented by the processor and the memory of FIG.
  • the embodiment of the invention further discloses a readable storage medium storing program code of the VIM for executing the software loading method shown in FIG. 6 or FIG. 7.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: Flash disk, read-only memory (ROM), random access memory (RAM), disk or optical disk.

Abstract

A software loading method, device and system, the method comprising: receiving a service request sent by an NFVO and comprising an acceleration type and an acceleration capacity; according to the acceleration type and a software information library, determining a first storage link of first software having the acceleration type, processing capability information about the first software, a device type of a programmable device that can be loaded with the first software and first information about a manufacturer, and according to the first information, the processing capability information and the acceleration capacity, acquiring, from a device library, a first identifier of an idle programmable device needing to be loaded with the first software and a second identifier of a first server for managing the programmable device identified by the first identifier; sending the first storage link and the first identifier to the first server identified by the second identifier; and the first server downloading a data package of the first software from the first storage link, and loading the data package on the programmable device identified by the first identifier. The present invention can improve the flexibility of software loading on a programmable device.

Description

一种软件加载方法、设备及系统Software loading method, device and system
本申请要求于2016年5月10日提交中国专利局、申请号为201610309117.7、发明名称为“一种软件加载方法、设备及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 201610309117.7, entitled "A Software Loading Method, Apparatus and System", filed on May 10, 2016, the entire contents of which are incorporated herein by reference. In the application.
技术领域Technical field
本发明涉及通信技术领域,尤其涉及一种软件加载方法、设备及系统。The present invention relates to the field of communications technologies, and in particular, to a software loading method, device, and system.
背景技术Background technique
在硬件中存在一种可编程器件,可以根据需要在这些器件上加载软件,并可以对加载的软件进行升级。在专用硬件时代,是根据业务的规划在生成硬件的过程中将软件加载在可编程器件上的。然而,随着网络功能虚拟化(Network Function Virtualization,NFV)技术的不断发展,通信技术(Communication Technology,CT)领域的硬件由专用硬件向通用硬件进行转化。在通用硬件时代,每个业务的加速类型可能不同,且随着业务的不断扩缩,分配给业务的可编程器件可能需要增加或减少,以致加载在可编程器件上的软件需要随业务需求的不同而变化,但专用硬件中加载软件的方法已无法满足通用硬件中对可编程器件上软件加载的灵活性的需求。There is a programmable device in the hardware that can be loaded on these devices as needed and the software loaded can be upgraded. In the era of dedicated hardware, software is loaded onto programmable devices in the process of generating hardware according to the business plan. However, with the continuous development of Network Function Virtualization (NFV) technology, hardware in the field of Communication Technology (CT) is transformed from dedicated hardware to general-purpose hardware. In the era of general hardware, the acceleration type of each service may be different, and as the business continues to expand, the programmable devices allocated to the service may need to be increased or decreased, so that the software loaded on the programmable device needs to meet the business needs. The changes vary, but the method of loading software in dedicated hardware is no longer sufficient for the flexibility of software loading on programmable devices in general-purpose hardware.
发明内容Summary of the invention
本发明实施例公开了一种软件加载方法、设备及系统,用于提高可编程器件上软件加载的灵活性。The embodiment of the invention discloses a software loading method, device and system for improving the flexibility of software loading on a programmable device.
第一方面公开一种软件加载方法,网络功能虚拟化编排(Network Function Virtualization Orchestrator,NFVO)接收包括加速类型和加速容量的业务请求,根据该加速类型和软件信息库可以确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,之后根据第一信息、该处理能力信息和该加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的虚拟化基础设施管理器(Virtual Infrastructure Manager,VIM)的第一标识,并将第一存储链接、第一信息和用于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM;第一VIM接收到NFVO发送的第一存储链接、第一信息和第二信息之后,将根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。其中,第一信息可以包括器件类型和生产厂家,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第二标识用于使第一服务器将该数据包加载在第二标识所标识的可编程器件上。The first aspect discloses a software loading method. The Network Function Virtualization Orchestrator (NFVO) receives a service request including an acceleration type and an acceleration capacity, and according to the acceleration type and the software information base, the first type having the acceleration type can be determined. a first storage link of the software, processing capability information of the first software, and first information of the programmable device capable of loading the first software, and then acquiring from the first device library according to the first information, the processing capability information, and the acceleration capacity a first identifier of a Virtual Infrastructure Manager (VIM) for managing a programmable device capable of loading the first software and free, and the first storage link, the first information, and the The second information of the number of programmable devices of the software is sent to the first VIM identified by the first identifier; after receiving the first storage link, the first information, and the second information sent by the NFVO, the first VIM is based on the first information. And the second information from the second device library to obtain a second of the programmable devices that need to load the first software And a third identifier of the server for managing the programmable device identified by the second identifier, and transmitting the first storage link and the second identifier to the first server identified by the third identifier, which can be programmable according to service requirements Dynamic loading of the corresponding software on the device can increase the flexibility of software loading on the programmable device. The first information may include a device type and a manufacturer, the first storage link is configured to enable the first server to download the data packet of the first software from the first storage link, and the second identifier is used to enable the first server to load the data packet On the programmable device identified by the second identification.
在一个实施例中,NFVO根据该加速类型和软件信息库确定具有该加速类型的第一软件 的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息时,可以直接从软件信息库中获取具有该加速类型的第一软件的第一存储链接和处理能力信息以及能够加载第一软件的可编程器件的第一信息,可以快速地从软件信息库获取到所需加载软件的存储链接和处理能力信息以及能够加载该软件的可编程器件的信息;也可以是先从第一器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括该加速类型时,可以确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息。因此,可以直接查找软件信息库,也可以先查找第一器件库,再查找软件信息库,以便获取到所需加载软件的存储链接和处理能力信息以及能够加载该软件的可编程器件的信息。其中,第一可编程器件是第一器件库中的任一空闲的可编程器件。In one embodiment, the NFVO determines the first software having the acceleration type based on the acceleration type and the software information base. When the first storage link, the processing capability information of the first software, and the first information of the programmable device capable of loading the first software, the first storage link of the first software having the acceleration type may be directly obtained from the software information repository. And processing capability information and first information of the programmable device capable of loading the first software, the storage link and processing capability information of the required loading software and the information of the programmable device capable of loading the software can be quickly obtained from the software information repository. Or the device type and manufacturer of the first programmable device can be obtained from the first device library, and the first programmable device can be loaded according to the device type of the first programmable device and the manufacturer obtains the first programmable device from the software information library. Software function of the software, when the software function includes the acceleration type, it can be determined that the software corresponding to the software function is the first software, the first programmable device is a programmable device capable of loading the first software, and the first programmable device The device type and the manufacturer are the first information, and then the first software is obtained from the software information library. Link information storage and processing power. Therefore, the software information library can be directly searched, or the first device library can be searched first, and then the software information library can be searched for the storage link and processing capability information of the required loading software and the information of the programmable device capable of loading the software. Wherein, the first programmable device is any idle programmable device in the first device library.
在一个实施例中,当第二信息为需要加载第一软件的可编程器件的器件数量时,NFVO还需要根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,这样就可以将需要加载软件的可编程器件的器件数量直接发送给VIM,不需要VIM进行计算,可以减少VIM的处理过程。In one embodiment, when the second information is the number of devices of the programmable device that needs to load the first software, the NFVO further needs to determine the number of devices of the programmable device that needs to load the first software according to the acceleration capacity and the processing capability information. In this way, the number of devices of the programmable device that needs to load the software can be directly sent to the VIM, and the VIM processing can be reduced without reducing the processing of the VIM.
在一个实施例中,当第二信息包括该加速容量和该处理能力信息时,第一VIM可以先根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,之后才从管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。由于计算器件数量的过程是由VIM执行的,因此,可以减少NFVO的处理过程。In an embodiment, when the second information includes the acceleration capacity and the processing capability information, the first VIM may first determine, according to the acceleration capacity and the processing capability information, the number of devices of the programmable device that needs to load the first software, and then The first server including the number of programmable devices corresponding to the idle first information is not less than the number of the devices, and the number of the devices is obtained from the programmable device managed by the first server in the second device library. The second identifier of the programmable device corresponding to the idle first information, and the third identifier of the first server is obtained from the second device library. Since the process of calculating the number of devices is performed by VIM, the processing of NFVO can be reduced.
在一个实施例中,业务请求还可以包括计算资源,第一VIM可以先从管理的服务器中选取空闲的计算资源不小于该计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,之后从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也能够满足业务对计算资源的需求。In an embodiment, the service request may further include a computing resource, where the first VIM may first select an idle computing resource from the managed server, not less than the computing resource, and the number of programmable devices corresponding to the idle first information is not less than a first server of the number of programmable devices indicated by the second information, and then obtaining, from the programmable device managed by the first server in the second device library, the number of programmable devices indicated by the second information, corresponding to the idle first information a second identifier of the programmable device, and obtaining a third identifier of the first server from the second device library, so that the selected server can not only meet the service demand for the acceleration type and the acceleration capacity, but also can satisfy the service to the computing resource. demand.
在一个实施例中,该业务请求还可以包括存储资源,第一VIM可以先从管理的服务器中选取空闲的计算资源不小于该计算资源、空闲的存储资源不小于该存储资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,之后从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也能够满足业务对计算资源和存储资源的需求。In an embodiment, the service request may further include a storage resource, where the first VIM may first select an idle computing resource from the managed server, not less than the computing resource, the idle storage resource is not less than the storage resource, and include the idle a first server in which the number of programmable devices corresponding to the information is not less than the number of programmable devices indicated by the second information, and then the second information is obtained from the programmable device managed by the first server in the second device library. Programming the number of idle first information corresponding to the second identifier of the programmable device, and obtaining the third identifier of the first server from the second device library, so that the selected server can not only satisfy the service for the acceleration type and the acceleration capacity. Demand, but also to meet the business needs of computing resources and storage resources.
在一个实施例中,第二服务器可以将包括第二可编程器件的器件类型、生产厂家和标识的第三信息发送至第二VIM,第二VIM将建立包括第三信息和第二服务器的标识的第二器件库以及将第三信息和第二服务器的标识发送给NFVO,NFVO将根据三信息、第二服务器的标识和第二VIM的标识建立第一器件库,以便NFVO和VIM共同管理可编程器件。其中,第二 服务器为用于管理第二可编程器件的服务器,第二VIM是用于管理第二服务器的VIM。In one embodiment, the second server may send third information including the device type, manufacturer, and identification of the second programmable device to the second VIM, the second VIM establishing an identification including the third information and the second server The second device library and the identifier of the third information and the second server are sent to the NFVO, and the NFVO will establish a first device library according to the three information, the identifier of the second server, and the identifier of the second VIM, so that the NFVO and the VIM can be jointly managed. Programming the device. Among them, the second The server is a server for managing the second programmable device, and the second VIM is a VIM for managing the second server.
在一个实施例中,NFVO接收软件包并发送给第三VIM或目录库,第三VIM或目录库存储软件包并将软件包的第二存储链接发送给NFVO,NFVO建立包括第二存储链接和软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库,以便NFVO对可编程器件上能够加载的软件进行管理。其中,第四信息可以包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家。In one embodiment, the NFVO receives the software package and sends it to a third VIM or catalog, a third VIM or catalog storage package and sends a second storage link of the software package to the NFVO, the NFVO establishment including the second storage link and The software package includes software function information, software version information, processing capability information, and a software information library of the fourth information, so that NFVO can manage software that can be loaded on the programmable device. The fourth information may include a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package.
在一个实施例中,第二标识使第一服务器将该数据包加载在第二标识所标识的可编程器件上之前,可以先确定第一服务器中第二标识所标识的可编程器件上是否已加载有软件,当未加载有软件时,可以使第一服务器直接将该数据包加载在第二标识所标识的可编程器件上,当已加载有软件,且该软件不具有该加速类型时,使第一服务器先卸载掉第二标识所标识的可编程器件上的软件,之后才将该数据包加载在第二标识所标识的可编程器件上,因此,当可编程器件未被使用(即空闲,也即是未被分配)时,不论上面是否加载有软件,都可以将需要加载的软件加载在可编程器件上,可以提高可编程器件上加载软件的灵活性。In one embodiment, before the second identifier causes the first server to load the data packet on the programmable device identified by the second identifier, it may first determine whether the programmable device identified by the second identifier in the first server is Loaded with software, when not loaded with software, the first server can directly load the data packet on the programmable device identified by the second identifier. When the software is loaded and the software does not have the acceleration type, Causing the first server to first unload the software on the programmable device identified by the second identifier, and then loading the data packet on the programmable device identified by the second identifier, thus, when the programmable device is not used (ie, When idle, that is, unassigned, the software to be loaded can be loaded on the programmable device regardless of whether the software is loaded or not, which can improve the flexibility of loading the software on the programmable device.
在一个实施例中,第一信息还可以包括能够加载第一软件的可编程器件的器件型号,第三信息还可以包括第二可编程器件的器件型号,以便当可编程器件的器件类型和生产厂家均相同时,可以通过器件型号区别器件。In one embodiment, the first information may further include a device model of a programmable device capable of loading the first software, and the third information may further include a device model of the second programmable device to enable device type and production of the programmable device. When the manufacturers are all the same, the device can be distinguished by the device model.
第二方面公开一种软件加载系统,包括NFVO和第一VIM,其中:The second aspect discloses a software loading system, including NFVO and a first VIM, wherein:
NFVO,用于接收包括加速类型和加速容量的业务请求,根据该加速类型和软件信息库确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据第一信息、该处理能力信息和该加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的VIM的第一标识,并将第一存储链接、第一信息和用于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM,第一信息包括器件类型和生产厂家;The NFVO is configured to receive a service request including an acceleration type and an acceleration capacity, determine, according to the acceleration type and the software information library, a first storage link of the first software having the acceleration type, processing capability information of the first software, and loading the first First information of the programmable device of the software, obtaining, according to the first information, the processing capability information, and the acceleration capacity, a first identifier of a VIM for managing a programmable device capable of loading the first software and being idle from the first device library, And transmitting the first storage link, the first information, and the second information indicating the number of programmable devices that need to load the first software to the first VIM identified by the first identifier, the first information including the device type and the manufacturer;
第一VIM,用于接收NFVO发送的第一存储链接、第一信息和第二信息,根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第二标识用于使第一服务器将该数据包加载在第二标识所标识的可编程器件上。a first VIM, configured to receive a first storage link, first information, and second information sent by the NFVO, and obtain, from the second device library, the second device that needs to load the first software according to the first information and the second information. And identifying a third identifier of the server for managing the programmable device identified by the second identifier, and transmitting the first storage link and the second identifier to the first server identified by the third identifier, the first storage link being used to enable The first server downloads the data packet of the first software from the first storage link, and the second identifier is used to cause the first server to load the data packet on the programmable device identified by the second identifier.
第三方面公开一种软件加载方法,该方法应用于VIM,接收NFVO发送的包括加速类型和加速容量的业务请求,根据该加速类型和软件信息库确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据第一信息、该处理能力信息和该加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识,并将第一存储链接和第一标识发送给第二标识所标识的第一服务器,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。其中,第一信息包括器件类型和生产厂家,第一存储链接可以使第一服务器从第一存储链接下载第一软件的数据包,第一标识可以使第一服务器将该数据包加载在第一标识所标识的可编程器件上。 The third aspect discloses a software loading method, which is applied to a VIM, receives a service request including an acceleration type and an acceleration capacity sent by the NFVO, and determines a first software having the acceleration type according to the acceleration type and the software information base. Storing a link, processing capability information of the first software, and first information of the programmable device capable of loading the first software, acquiring, from the device library, the first software to be loaded and idle according to the first information, the processing capability information, and the acceleration capacity a first identifier of the programmable device and a second identifier of the server for managing the programmable device identified by the first identifier, and sending the first storage link and the first identifier to the first server identified by the second identifier, Dynamic loading of the software on the programmable device according to business needs can increase the flexibility of software loading on the programmable device. The first information includes a device type and a manufacturer, and the first storage link may cause the first server to download the data packet of the first software from the first storage link, where the first identifier may enable the first server to load the data packet in the first Identifies the identified programmable device.
作为一种可能的实施方式,VIM可以直接从软件信息库中获取具有该加速类型的第一软件的第一存储链接和处理能力信息,并获取能够加载第一软件的第一可编程器件的第一信息,可以快速地从软件信息库获取到所需加载软件的存储链接和处理能力信息以及能够加载该软件的可编程器件的信息;也可以从器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括该加速类型时,可以确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息。因此,可以直接查找软件信息库,也可以先查找第一器件库,再查找软件信息库,以便获取到所需加载软件的存储链接和处理能力信息以及能够加载软件的可编程器件的信息。其中,第一可编程器件是第一器件库中的任一空闲的可编程器件。As a possible implementation manner, the VIM may directly acquire the first storage link and processing capability information of the first software having the acceleration type from the software information base, and acquire the first programmable device capable of loading the first software. a message that can quickly obtain the storage link and processing capability information of the required loading software from the software information library and the information of the programmable device capable of loading the software; or the device type of the first programmable device can be obtained from the device library. And the manufacturer, and according to the device type of the first programmable device and the manufacturer obtains the software function of the software that the first programmable device can load from the software information library, when the software function includes the acceleration type, the software can be determined The software corresponding to the function is the first software, the first programmable device is the programmable device capable of loading the first software, and the device type and the manufacturer of the first programmable device are the first information, and then the first information is obtained from the software information library. The first storage link and processing capability information of the software. Therefore, the software information library can be directly searched, or the first device library can be searched first, and then the software information library can be searched for the storage link and processing capability information of the required loading software and the information of the programmable device capable of loading the software. Wherein, the first programmable device is any idle programmable device in the first device library.
在一个实施例中,业务请求还包括计算资源,可以根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于该计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也能够满足业务对计算资源的需求。In one embodiment, the service request further includes a computing resource, and the number of devices of the programmable device that needs to load the first software may be determined according to the acceleration capacity and the processing capability information, and the idle computing resource is selected from the managed server is not less than the The computing server and the first server including the number of programmable devices corresponding to the idle first information are not less than the number of the devices, and the first information corresponding to the number of idle devices of the device is obtained from the programmable device managed by the first server in the device library. The first identifier of the programmable device, and the second identifier of the first server is obtained from the device library, so that the selected server can not only meet the requirements of the service for the acceleration type and the acceleration capacity, but also meet the business requirements for the computing resources. .
在一个实施例中,该业务请求还可以包括存储资源,可以根据该加速容量和该处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于该计算资源、空闲的存储资源不小于该存储资源以及包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识,以便选取的服务器不仅能够满足业务对加速类型和加速容量的需求,而且也满足业务对计算资源和存储资源的需求。In an embodiment, the service request may further include a storage resource, and the number of devices of the programmable device that needs to load the first software may be determined according to the acceleration capacity and the processing capability information, and the idle computing resource is selected from the managed server. a first server managed by the first server in the device library, which is smaller than the computing resource, the free storage resource is not less than the storage resource, and the number of programmable devices corresponding to the idle first information is not less than the number of the device. Obtaining a first identifier of the programmable device corresponding to the idle first information of the device, and acquiring a second identifier of the first server from the device library, so that the selected server can not only satisfy the service for the acceleration type and the acceleration capacity. Requirements, but also meet the business needs for computing resources and storage resources.
在一个实施例中,VIM可以接收到第二服务器发送的第二信息,并可以建立包括第二信息和第二服务器的标识的器件库,以便VIM统一管理可编程器件。其中,第二信息可以包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器。In one embodiment, the VIM can receive the second information sent by the second server and can establish a device library including the second information and the identity of the second server, so that the VIM uniformly manages the programmable device. The second information may include a device type, a manufacturer, and an identifier of the second programmable device, and the second server is a server managed by the VIM and used to manage the second programmable device.
在一个实施例中,VIM也可以接收到软件包并发送给目录库,以使目录库存储该软件包并返回该软件包的第二存储链接,并可以接收到目录库发送的第二存储链接,以及包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库,以便VIM对可编程器件上能够加载的软件进行管理。其中,第三信息可以包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家。In one embodiment, the VIM can also receive the software package and send it to the catalog, so that the catalog store stores the software package and returns a second storage link of the software package, and can receive the second storage link sent by the catalog. And a software information library including a second storage link and software function information, software version information, processing capability information, and third information included in the software package, so that the VIM manages software that can be loaded on the programmable device. The third information may include a device type and a manufacturer of a programmable device capable of loading software corresponding to the software package.
在一个实施例中,第一标识使第一服务器将该数据包加载在第一标识所标识的可编程器件上之前,可以先确定第一服务器中第一标识所标识的可编程器件上是否已加载有软件,当未加载有软件时,可以使第一服务器直接将数据包加载在第一标识所标识的可编程器件上,当已加载有软件,且该软件不具有该加速类型时,使第一服务器先卸载掉第一标识所标识的可编程器件上的软件,之后将数据包加载在第一标识所标识的可编程器件上,因此, 当可编程器件未被使用时,不论上面是否加载有软件,都可以将需要加载的软件加载在可编程器件上,可以提高可编程器件上加载软件的灵活性。In one embodiment, before the first identifier causes the first server to load the data packet on the programmable device identified by the first identifier, it may first determine whether the programmable device identified by the first identifier in the first server is Loaded with software, when the software is not loaded, the first server can directly load the data packet on the programmable device identified by the first identifier. When the software is loaded and the software does not have the acceleration type, The first server first uninstalls the software on the programmable device identified by the first identifier, and then loads the data packet on the programmable device identified by the first identifier. When the programmable device is not in use, the software to be loaded can be loaded on the programmable device regardless of whether the software is loaded or not, which can improve the flexibility of loading the software on the programmable device.
在一个实施例中,第一信息还可以包括能够加载第一软件的可编程器件的器件型号,第二信息还可以包括第二可编程器件的器件型号,以便当可编程器件的器件类型和生产厂家均相同时,可以通过器件型号区别器件。In one embodiment, the first information may further include a device model of the programmable device capable of loading the first software, and the second information may further include a device model of the second programmable device for device type and production of the programmable device When the manufacturers are all the same, the device can be distinguished by the device model.
第四方面公开一种VIM,该VIM包括用于执行第三方面或第三方面的任一种可能实现方式所提供的软件加载方法的单元。A fourth aspect discloses a VIM comprising means for performing the software loading method provided by the third aspect or any of the possible implementations of the third aspect.
第五方面公开一种VIM,该VIM包括处理器、存储器和收发器,其中:A fifth aspect discloses a VIM that includes a processor, a memory, and a transceiver, wherein:
收发器,用于接收NFVO发送的包括加速类型和加速容量的业务请求并发送给处理器;a transceiver, configured to receive, by the NFVO, a service request including an acceleration type and an acceleration capacity, and send the service request to the processor;
存储器中存储有一组程序代码,处理器用于调用存储器中存储的程序代码执行以下操作:A set of program code is stored in the memory, and the processor is used to call the program code stored in the memory to perform the following operations:
根据该加速类型和软件信息库确定具有该加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、该处理能力信息和该加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识,第一信息可以包括器件类型和生产厂家;Determining, according to the acceleration type and the software information library, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of the programmable device capable of loading the first software, and according to the first information And the processing capability information and the acceleration capacity acquire, from the device library, a first identifier of the programmable device that needs to load the first software and is idle, and a second identifier of a server for managing the programmable device identified by the first identifier, first Information can include device type and manufacturer;
收发器,还用于将第一存储链接和第一标识发送给第二标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上。The transceiver is further configured to send the first storage link and the first identifier to the first server identified by the second identifier, where the first storage link is used to enable the first server to download the data packet of the first software from the first storage link, The first identification is for causing the first server to load the data packet on the programmable device identified by the first identification.
第六方面公开一种可读存储介质,该可读存储介质存储了VIM用于执行第三方面或第三方面的任一种可能实现方式所公开的软件加载方法的程序代码。A sixth aspect discloses a readable storage medium storing program code for a software loading method disclosed by the VIM for performing the third aspect or any of the possible implementations of the third aspect.
附图说明DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings to be used in the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present invention, Those skilled in the art can also obtain other drawings based on these drawings without paying for creative labor.
图1是本发明实施例公开的一种网络架构示意图;1 is a schematic diagram of a network architecture disclosed in an embodiment of the present invention;
图2是本发明实施例公开的一种软件加载系统的结构示意图;2 is a schematic structural diagram of a software loading system according to an embodiment of the present invention;
图3是本发明实施例公开的一种VIM的结构示意图;3 is a schematic structural diagram of a VIM according to an embodiment of the present invention;
图4是本发明实施例公开的一种软件加载方法的流程示意图;4 is a schematic flowchart of a software loading method according to an embodiment of the present invention;
图5是本发明实施例公开的另一种软件加载方法的流程示意图;FIG. 5 is a schematic flowchart diagram of another software loading method according to an embodiment of the present disclosure;
图6是本发明实施例公开的又一种软件加载方法的流程示意图;6 is a schematic flowchart of still another software loading method according to an embodiment of the present invention;
图7是本发明实施例公开的又一种软件加载方法的流程示意图;7 is a schematic flowchart of still another software loading method according to an embodiment of the present invention;
图8是本发明实施例公开的另一种VIM的结构示意图。FIG. 8 is a schematic structural diagram of another VIM disclosed in an embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other implementations obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts For example, all fall within the scope of protection of the present invention.
本发明实施例公开了一种软件加载方法、设备及系统,用于提高可编程器件上软件加载的灵活性。以下分别进行详细说明。The embodiment of the invention discloses a software loading method, device and system for improving the flexibility of software loading on a programmable device. The details are described below separately.
为了更好地理解本发明实施例公开的一种软件加载方法、设备及系统,下面先对本发明实施例使用的网络架构进行描述。请参阅图1,图1是本发明实施例公开的一种网络架构示意图。如图1所示,该网络架构可以包括NFV管理和编排系统(NFV Management and Orchestration,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)。其中:For a better understanding of a software loading method, device and system disclosed in the embodiments of the present invention, the network architecture used in the embodiment of the present invention is described below. Please refer to FIG. 1. FIG. 1 is a schematic diagram of a network architecture disclosed in an embodiment of the present invention. As shown in FIG. 1, the network architecture may include NFV Management and Orchestration (NFV MANO), Virtual Network Function (VNF), and Network Function Virtualization Infrastructure (Network Function Virtualization Infrastructure, NFVI), Element Manager System (EMS) and Business Support Management System (ie OSS or Business Support System (BSS)). The NFV MANO includes an NFVO, at least one VNFM, at least one VIM, at least one server, and a catalog, and an agent is installed on each server. among them:
NFVO用于实现运营商域内的网络服务(Network Service,NS)生命周期管理(如部署/扩容/缩容/下线等),NFVI资源编排、策略管理等功能,以及根据网络服务描述(Network Service Descriptor,NSD)分解出对各VNF的需求,配合VNFM实现VNF的部署。NFVO is used to implement network service (NS) lifecycle management (such as deployment/expansion/reduction/downline) in the carrier domain, NFVI resource scheduling, policy management, and network service description (Network Service). Descriptor, NSD) decomposes the need for each VNF and cooperates with VNFM to implement VNF deployment.
VNFM用于实现VNF的生命周期管理(如部署/扩容/缩容/下线等自动化能力),根据模板及VNF容量需求分解出对虚拟机等虚拟资源的需求,以及与NFVO、VIM配合完成VNF的实例化。VNFM is used to implement VNF lifecycle management (such as deployment/expansion/reduction/downline automation). It needs to decompose virtual resources such as virtual machines according to template and VNF capacity requirements, and complete VNF with NFVO and VIM. Instantiation.
VIM用于实现对整个基础设施层资源(包括计算资源、存储资源、网络资源)的管理和监控。VIM is used to manage and monitor the entire infrastructure layer resources, including computing resources, storage resources, and network resources.
基于图1所示的网络架构,请参阅图2,图2是本发明实施例公开的一种软件加载系统的结构示意图。其中,该软件加载系统即NFV MANO。如图2所示,该软件加载系统可以包括一个NFVO201、至少一个VIM202、至少一个服务器203,NFVO201管理至少一个VIM202,一个VIM202可以管理一个或多个服务器203,一个服务器203可以管理一个或多个可编程器件,其中:Based on the network architecture shown in FIG. 1, please refer to FIG. 2. FIG. 2 is a schematic structural diagram of a software loading system according to an embodiment of the present invention. Among them, the software loading system is NFV MANO. As shown in FIG. 2, the software loading system may include an NFVO 201, at least one VIM 202, at least one server 203, NFVO 201 managing at least one VIM 202, one VIM 202 may manage one or more servers 203, and one server 203 may manage one or more Programmable device, where:
NFVO201,用于接收包括加速类型和加速容量的业务请求,根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据第一信息、第一软件的处理能力信息和加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的VIM202的第一标识,并将第一存储链接、第一信息和用于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM202,第一信息可以包括器件类型和生产厂家;The NFVO 201 is configured to receive a service request including an acceleration type and an acceleration capacity, determine a first storage link of the first software having an acceleration type, processing capability information of the first software, and a first software capable of loading the first software according to the acceleration type and the software information base. The first information of the programmable device acquires, from the first device library, a first identifier of the VIM 202 for managing the programmable device capable of loading the first software and is idle according to the first information, the processing capability information of the first software, and the acceleration capacity, And transmitting, to the first VIM 202 identified by the first identifier, the first storage link, the first information, and the second information indicating the number of programmable devices that need to load the first software, where the first information may include the device type and the manufacturer. ;
第一VIM202,用于接收NFVO201发送的第一存储链接、第一信息和第二信息,根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器203;The first VIM 202 is configured to receive the first storage link, the first information, and the second information sent by the NFVO 201, and obtain, from the second device library, the second device that needs to load the first software according to the first information and the second information. And the third identifier of the server for managing the programmable device identified by the second identifier, and sending the first storage link and the second identifier to the first server 203 identified by the third identifier;
第一服务器203,用于接收第一VIM202发送的第一存储链接和第二标识,从第一存储链接下载第一软件的数据包,并将该数据包加载在第二标识所标识的可编程器件上。The first server 203 is configured to receive the first storage link and the second identifier sent by the first VIM 202, download the data packet of the first software from the first storage link, and load the data packet in the programmable identifier identified by the second identifier. On the device.
作为一种可能的实施方式,NFVO201用于根据加速类型和软件信息库确定具有加速类型 的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息包括:As a possible implementation, NFVO201 is used to determine the type of acceleration based on the type of acceleration and the software information base. The first storage link of the first software, the processing capability information of the first software, and the first information of the programmable device capable of loading the first software include:
NFVO201,用于从软件信息库中获取具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息;或者NFVO201, configured to obtain, from a software information library, a first storage link of the first software having an acceleration type, processing capability information of the first software, and first information of a programmable device capable of loading the first software; or
NFVO201,用于从第一器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括加速类型时,确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,并从软件信息库中获取第一软件的第一存储链接和处理能力信息,第一可编程器件是第一器件库中的任一空闲的可编程器件。NFVO201, for obtaining the device type and manufacturer of the first programmable device from the first device library, and obtaining the first programmable device capable of loading from the software information library according to the device type of the first programmable device and the manufacturer Software function of the software, when the software function includes an acceleration type, determining that the software corresponding to the software function is the first software, the first programmable device is a programmable device capable of loading the first software, and the device type of the first programmable device And the manufacturer is the first information, and the first storage link and processing capability information of the first software is obtained from the software information library, and the first programmable device is any idle programmable device in the first device library.
作为一种可能的实施方式,第二信息为需要加载第一软件的可编程器件的器件数量;As a possible implementation manner, the second information is a number of devices of the programmable device that needs to load the first software;
NFVO201,还用于根据加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量。The NFVO 201 is further configured to determine the number of devices of the programmable device that need to load the first software according to the acceleration capacity and the processing capability information of the first software.
作为一种可能的实施方式,第二信息可以包括加速容量和第一软件的处理能力信息;As a possible implementation manner, the second information may include acceleration capacity and processing capability information of the first software;
第一VIM202用于根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识包括:The first VIM 202 is configured to acquire, from the second device library, a second identifier of the programmable device that needs to load the first software according to the first information and the second information, and a server that manages the programmable device identified by the second identifier The three logos include:
第一VIM202,用于根据加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。The first VIM 202 is configured to determine, according to the acceleration capacity and the processing capability information of the first software, the number of devices of the programmable device that needs to load the first software, and select, from the managed server, the number of programmable devices corresponding to the first information that is idle. a first server not less than the number of devices, obtaining a second identifier of the programmable device corresponding to the first information of the device from the programmable device of the first server in the second device library, and the second device from the second device The third identifier of the first server is obtained in the library.
作为一种可能的实施方式,业务请求还包括计算资源;则第一VIM202用于根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识包括:As a possible implementation manner, the service request further includes a computing resource; the first VIM 202 is configured to obtain, from the second device library, the second identifier of the programmable device that needs to load the first software according to the first information and the second information, and A third identifier of a server for managing a programmable device identified by the second identifier includes:
第一VIM202,用于从管理的服务器中选取空闲的计算资源不小于计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。The first VIM 202 is configured to select, from the managed server, that the idle computing resource is not less than the computing resource, and the first server that includes the number of programmable devices corresponding to the idle first information is not less than the number of programmable devices indicated by the second information. Obtaining, from the programmable device of the first server management in the second device library, the second identifier of the programmable device corresponding to the number of programmable devices indicated by the second information, and from the second device library Obtain a third identifier of the first server.
作为一种可能的实施方式,业务请求还可以包括计算资源和存储资源;则第一VIM202用于根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识包括:As a possible implementation, the service request may further include a computing resource and a storage resource. The first VIM 202 is configured to obtain, from the second device library, the programmable device that needs to load the first software according to the first information and the second information. The second identifier and the third identifier of the server for managing the programmable device identified by the second identifier include:
第一VIM202,用于从管理的服务器中选取空闲的计算资源不小于该计算资源、存储资源不小于该存储资源以及包括空闲的第一信息对应的可编程器件的数量不小于第二信息所指示的可编程器件数量的第一服务器,从第二器件库中第一服务器管理的可编程器件中获取第二信息所指示的可编程器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。The first VIM 202 is configured to select, from the managed server, that the idle computing resource is not less than the computing resource, the storage resource is not less than the storage resource, and the number of programmable devices corresponding to the idle first information is not less than that indicated by the second information. The first server of the number of programmable devices, the second information indicated by the first server managed by the first server in the second device library, the number of programmable devices indicated by the idle first information corresponding to the second programmable device Identifying, and obtaining a third identity of the first server from the second device library.
作为一种可能的实施方式,第二服务器203,用于将第三信息发送至第二VIM202,第二服务器为用于管理第二可编程器件的服务器,第三信息包括第二可编程器件的器件类型、 生产厂家和标识,第二VIM是用于管理第二服务器的VIM;As a possible implementation manner, the second server 203 is configured to send the third information to the second VIM 202, the second server is a server for managing the second programmable device, and the third information includes the second programmable device. Device type, Manufacturer and logo, the second VIM is a VIM for managing the second server;
第二VIM202,用于接收第二服务器203发送的第三信息,建立包括第三信息和第二服务器的标识的第二器件库,以及将第三信息和第二服务器的标识发送给NFVO201;The second VIM 202 is configured to receive the third information sent by the second server 203, establish a second device library including the third information and the identifier of the second server, and send the third information and the identifier of the second server to the NFVO 201;
NFVO201,还用于接收第二VIM202发送的第三信息和第二服务器的标识,并根据第三信息、第二服务器的标识和第二VIM的标识建立第一器件库。The NFVO 201 is further configured to receive the third information sent by the second VIM 202 and the identifier of the second server, and establish a first device library according to the third information, the identifier of the second server, and the identifier of the second VIM.
作为一种可能的实施方式,该软件加载系统还可以包括目录库204,其中:As a possible implementation manner, the software loading system may further include a catalogue 204, wherein:
NFVO201,还用于接收软件包并发送给第三VIM或目录库,软件包包括软件功能信息、软件版本信息、处理能力信息以及第四信息,第四信息包括能够加载软件包对应软件的可编程器件的器件类型和生产厂家;The NFVO 201 is further configured to receive the software package and send the software package to the third VIM or the directory, where the software package includes software function information, software version information, processing capability information, and fourth information, where the fourth information includes programmable software capable of loading the software package corresponding to the software package. Device type and manufacturer of the device;
第三VIM202或目录库204,用于接收NFVO201发送的软件包,存储软件包,并将软件包的第二存储链接发送给NFVO201;The third VIM 202 or the catalogue 204 is configured to receive the software package sent by the NFVO 201, store the software package, and send the second storage link of the software package to the NFVO 201;
NFVO201,还用于接收第三VIM202或目录库204发送的第二存储链接,并建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库。The NFVO 201 is further configured to receive a second storage link sent by the third VIM 202 or the catalogue 204, and establish software including the second storage link and software function information, software version information, processing capability information, and fourth information included in the software package. database.
作为一种可能的实施方式,第二标识用于使第一服务器将该数据包加载在第二标识所标识的可编程器件上包括:As a possible implementation manner, the second identifier is used by the first server to load the data packet on the programmable device identified by the second identifier, including:
第二标识用于当第一服务器中的第二标识所标识的可编程器件上未加载有软件时,使第一服务器将该数据包加载在第二标识所标识的可编程器件上;或The second identifier is configured to, when the software identified by the second identifier in the first server is not loaded with software, cause the first server to load the data packet on the programmable device identified by the second identifier; or
第二标识用于当第一服务器中的第二标识所标识的可编程器件上已加载有第二软件,且第二软件不具有加速类型时,使第一服务器从第二标识所标识的可编程器件上卸载掉第二软件,并将该数据包加载在第二标识所标识的可编程器件上。The second identifier is configured to enable the first server to be identified by the second identifier when the second software is loaded on the programmable device identified by the second identifier in the first server, and the second software does not have the acceleration type The second software is unloaded on the programming device and loaded onto the programmable device identified by the second identification.
其中,第一VIM、第二VIM和第三VIM可以是同一VIM,也可以是不同的VIM,当第一VIM、第二VIM和第三VIM是不同的VIM时,它们均用于管理不同的服务器。第一服务器和第二服务器可以为同一服务器,也可以为不同的服务器,不同的服务器上的可编程器件可以相同,也可以不同。The first VIM, the second VIM, and the third VIM may be the same VIM, or may be different VIMs. When the first VIM, the second VIM, and the third VIM are different VIMs, they are used to manage different server. The first server and the second server may be the same server or different servers, and the programmable devices on different servers may be the same or different.
请参阅图3,图3是本发明实施例公开的一种VIM的结构示意图。如图3所示,该VIM可以包括处理器301、存储器302、收发器303和总线304。处理器301可以是一个通用中央处理器(CPU),多个CPU,微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。存储器302可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器302可以是独立存在,总线304与处理器301相连接。存储器302也可以和处理器301集成在一起。收发器303,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网 (Wireless Local Area Networks,WLAN)等。总线304可包括一通路,在上述组件之间传送信息。Please refer to FIG. 3. FIG. 3 is a schematic structural diagram of a VIM according to an embodiment of the present invention. As shown in FIG. 3, the VIM can include a processor 301, a memory 302, a transceiver 303, and a bus 304. The processor 301 can be a general purpose central processing unit (CPU), a plurality of CPUs, a microprocessor, an application-specific integrated circuit (ASIC), or one or more of the programs for controlling the execution of the program of the present invention. integrated circuit. The memory 302 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions. The dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other media accessed, but not limited to this. The memory 302 can exist independently and the bus 304 is coupled to the processor 301. The memory 302 can also be integrated with the processor 301. The transceiver 303 is configured to communicate with other devices or communication networks, such as Ethernet, a radio access network (RAN), and a wireless local area network. (Wireless Local Area Networks, WLAN), etc. Bus 304 can include a path for communicating information between the components described above.
其中:among them:
收发器303,用于接收NFVO发送的包括加速类型和加速容量的业务请求并发送给处理器301;The transceiver 303 is configured to receive, by the NFVO, a service request including an acceleration type and an acceleration capacity, and send the service request to the processor 301;
存储器302中存储有一组程序代码,处理器301用于调用存储器302中存储的程序代码执行以下操作:The memory 302 stores a set of program codes, and the processor 301 is configured to call the program code stored in the memory 302 to perform the following operations:
根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、第一软件的处理能力信息和加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识,第一信息包括器件类型和生产厂家;Determining, according to the acceleration type and the software information library, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of the programmable device capable of loading the first software, and according to the first information, Processing capability information and acceleration capacity of a software acquires, from a device library, a first identifier of a programmable device that needs to load the first software and is idle, and a second identifier of a server for managing the programmable device identified by the first identifier, first Information includes device type and manufacturer;
收发器303,还用于将第一存储链接和第一标识发送给第二标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上。The transceiver 303 is further configured to send the first storage link and the first identifier to the first server identified by the second identifier, where the first storage link is used to enable the first server to download the data packet of the first software from the first storage link. The first identifier is configured to cause the first server to load the data packet on the programmable device identified by the first identifier.
作为一种可能的实施方式,处理器301根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息包括:As a possible implementation manner, the processor 301 determines, according to the acceleration type and the software information base, a first storage link of the first software having an acceleration type, processing capability information of the first software, and a programmable device capable of loading the first software. The first information includes:
从软件信息库中获取具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息;或者Acquiring, from a software information repository, a first storage link of the first software having an acceleration type, processing capability information of the first software, and first information of a programmable device capable of loading the first software; or
从器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,当该软件功能包括加速类型时,确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,并从软件信息库中获取第一软件的第一存储链接和处理能力信息,第一可编程器件是第一器件库中的任一空闲的可编程器件。Obtaining the device type and manufacturer of the first programmable device from the device library, and obtaining the software function of the software that the first programmable device can load according to the device type of the first programmable device and the manufacturer from the software information library. When the software function includes an acceleration type, the software corresponding to the software function is determined to be the first software, the first programmable device is a programmable device capable of loading the first software, and the device type and manufacturer of the first programmable device are the first Information, and obtaining a first storage link and processing capability information of the first software from the software repository, the first programmable device being any idle programmable device in the first device library.
作为一种可能的实施方式,业务请求还包括计算资源;As a possible implementation manner, the service request further includes a computing resource;
处理器301根据第一信息、第一软件的处理能力信息和加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识包括:The processor 301 acquires, from the device library, the first identifier of the programmable device that needs to load the first software and is free according to the first information, the processing capability information of the first software, and the acceleration capacity, and the programmable device identified by the first identifier. The second identifier of the server includes:
根据加速容量和处理能力信息确定需要加载第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于计算资源以及包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识。Determining, according to the acceleration capacity and the processing capability information, the number of devices of the programmable device that needs to load the first software, and selecting the idle computing resource from the managed server is not less than the computing resource and the number of programmable devices corresponding to the first information that is idle is not a first server smaller than the number of devices, obtaining a first identifier of the programmable device corresponding to the first information of the device from the programmable device managed by the first server in the device library, and obtaining the first identifier from the device library The second identifier of the server.
作为一种可能的实施方式,收发器303,还用于接收第二服务器发送的第二信息,第二信息包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器;As a possible implementation, the transceiver 303 is further configured to receive second information sent by the second server, where the second information includes a device type, a manufacturer, and an identifier of the second programmable device, where the second server is managed by the VIM. And a server for managing the second programmable device;
处理器301还用于调用存储器302中存储的程序代码执行以下操作: The processor 301 is further configured to call the program code stored in the memory 302 to perform the following operations:
建立包括第二信息和第二服务器的标识的器件库。A device library is created that includes the second information and the identity of the second server.
作为一种可能的实施方式,收发器303,还用于接收软件包并发送给目录库,以使目录库存储软件包并返回该软件包的第二存储链接,软件包包括软件功能信息、软件版本信息、处理能力信息以及第三信息,第三信息包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家;As a possible implementation, the transceiver 303 is further configured to receive the software package and send the software package to the directory, so that the directory library stores the software package and returns a second storage link of the software package, where the software package includes software function information and software. Version information, processing capability information, and third information, the third information includes a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package;
收发器303,还用于接收第二存储链接并发送给处理器301;The transceiver 303 is further configured to receive the second storage link and send it to the processor 301;
处理器301还用于调用存储器302中存储的程序代码执行以下操作:The processor 301 is further configured to call the program code stored in the memory 302 to perform the following operations:
建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。A software information library including a second storage link and software function information, software version information, processing capability information, and third information included in the software package is established.
作为一种可能的实施方式,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上包括:As a possible implementation manner, the first identifier is used by the first server to load the data packet on the programmable device identified by the first identifier, including:
第一标识用于当第一服务器中的第一标识所标识的可编程器件上未加载有软件时,使第一服务器将该数据包加载在第一标识所标识的可编程器件上;或The first identifier is configured to, when the software identified by the first identifier in the first server is not loaded with software, cause the first server to load the data packet on the programmable device identified by the first identifier; or
第一标识用于当第一服务器中的第一标识所标识的可编程器件上已加载有第二软件,且第二软件不具有加速类型时,使第一服务器从第一标识所标识的可编程器件上卸载掉第二软件,并将该数据包加载在第一标识所标识的可编程器件上。The first identifier is configured to enable the first server to identify from the first identifier when the second software is loaded on the programmable device identified by the first identifier in the first server, and the second software does not have the acceleration type The second software is unloaded on the programming device and loaded onto the programmable device identified by the first identification.
在具体实现中,作为一种可能的实施方式,该VIM还可以包括输入装置305和输出装置306,输出设备306和处理器301通信,可以以多种方式来显示信息。例如,输出设备306可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备305和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备305可以是鼠标、键盘、触摸屏设备或传感设备等。In a specific implementation, as a possible implementation manner, the VIM may further include an input device 305 and an output device 306. The output device 306 is in communication with the processor 301, and the information may be displayed in various manners. For example, the output device 306 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. Wait. Input device 305 is in communication with processor 301 and can accept user input in a variety of ways. For example, input device 305 can be a mouse, keyboard, touch screen device, or sensing device, and the like.
其中,NFVO与服务器的结构可以与图3所示的VIM的结构相同。The structure of the NFVO and the server may be the same as the structure of the VIM shown in FIG. 3.
基于图1或图2所示的网络架构,请参阅图4,图4是本发明实施例公开的一种软件加载方法的流程示意图。其中,该软件加载方法是从NFVO、VIM和服务器的角度描述的。如图4所示,该软件加载方法可以包括以下步骤。Based on the network architecture shown in FIG. 1 or FIG. 2, please refer to FIG. 4. FIG. 4 is a schematic flowchart of a software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of NFVO, VIM and server. As shown in FIG. 4, the software loading method may include the following steps.
401、NFVO接收包括加速类型和加速容量的业务请求。401. The NFVO receives a service request including an acceleration type and an acceleration capacity.
其中,该业务请求可以是OSS/BSS发送的,也可以是VNFM发送的,还可以是除OSS/BSS和VNFM之外的第三方设备发送的。加速类型可以为加解密、音频转码、或视频转码等,加速容量可以为10M PPS、100路/s、200路/s等。The service request may be sent by the OSS/BSS, or may be sent by the VNFM, or may be sent by a third-party device other than the OSS/BSS and the VNFM. The acceleration type can be encryption/decryption, audio transcoding, or video transcoding. The acceleration capacity can be 10M PPS, 100 channels/s, 200 channels/s, and the like.
本实施例中,业务请求还可以包括该业务请求发送端的IP地址,NFVO接收到业务请求之后,可以先判断该IP地址是否为授权IP地址,当该IP地址是授权IP地址时,表明该业务请求为合法请求,将执行以下步骤;当该IP地址不是授权IP地址时,表明该业务请求为非法请求,将不执行后续步骤。In this embodiment, the service request may further include an IP address of the service request sender. After receiving the service request, the NFVO may first determine whether the IP address is an authorized IP address, and when the IP address is an authorized IP address, indicating the service. If the request is a legitimate request, the following steps will be performed; when the IP address is not an authorized IP address, indicating that the service request is an illegal request, the subsequent steps will not be performed.
402、NFVO根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、第一软件的处理能力信息和加速容量从第一器件库获取用于管理能够加载第一软件且空闲的可编程器件的虚拟化基础设施管理器VIM的第一标识,并将第一存储链接、第一信息和用 于指示需要加载第一软件的可编程器件数量的第二信息发送给第一标识所标识的第一VIM。402. The NFVO determines, according to the acceleration type and the software information base, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of the programmable device capable of loading the first software, and according to the first Information, processing capability information of the first software, and acceleration capacity obtain a first identification of a virtualized infrastructure manager VIM for managing a programmable device capable of loading the first software and free from the first device library, and the first storage Links, first information, and use The second information indicating the number of programmable devices that need to load the first software is sent to the first VIM identified by the first identifier.
本实施例中,NFVO接收到包括加速类型和加速容量的业务请求之后,可以从软件信息库中确定具有该加速类型的软件,可以将第一次查找到的具有该加速类型的软件作为第一软件,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息,以及能够加载第一软件的可编程器件的第一信息,之后根据第一信息、该处理能力信息和加速容量直接从第一器件库中获取用于管理能够加载第一软件且空闲的可编程器件的VIM的第一标识。当第二信息为需要加载第一软件的可编程器件的器件数量时,NFVO可以先根据加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量,例如:假设加速容量为250路/s、第一软件的处理能力为100路/s,则需要加载第一软件的可编程器件的器件数量为3,之后可以从第一器件库中获取用于管理第一信息对应且空闲的可编程器件的数量不小于该器件数量的VIM的第一标识;当第一器件库中用于管理第一信息对应的可编程器件的VIM中空闲的第一信息对应的可编程器件的数量均小于1时,可以从第一器件库中选取至少两个VIM的第一标识,这至少两个VIM中第一信息对应且空闲的可编程器件的总数量不小于该器件数量。当第二信息包括加速容量和处理能力信息时,NFVO直接从第一器件库中获取一个用于管理第一信息对应且空闲的可编程器件的VIM的第一标识。其中,第一信息可以包括器件类型和生产厂家,也可以器件类型、生产厂家和器件型号。In this embodiment, after the NFVO receives the service request including the acceleration type and the acceleration capacity, the software having the acceleration type may be determined from the software information base, and the software having the acceleration type found for the first time may be used as the first Software, then obtaining first storage link and processing capability information of the first software from the software information repository, and first information of the programmable device capable of loading the first software, and then according to the first information, the processing capability information, and the acceleration capacity A first identification of a VIM for managing a programmable device capable of loading the first software and free is obtained directly from the first device library. When the second information is the number of devices of the programmable device that needs to load the first software, the NFVO may first determine the number of devices of the programmable device that needs to load the first software according to the acceleration capacity and the processing capability information of the first software, for example: The acceleration capacity is 250 channels/s, and the processing capacity of the first software is 100 channels/s. The number of devices that need to load the first software programmable device is 3, and then can be obtained from the first device library for management first. The first identifier of the VIM corresponding to the number of the devices is not less than the first identifier of the VIM of the programmable device in the first device library; When the number of programming devices is less than 1, the first identifier of at least two VIMs may be selected from the first device library, and the total number of programmable devices corresponding to the first information in the at least two VIMs and idle is not less than the number of the devices. . When the second information includes the acceleration capacity and the processing capability information, the NFVO directly acquires a first identifier of the VIM for managing the programmable device corresponding to the first information and is free from the first device library. The first information may include the device type and the manufacturer, as well as the device type, manufacturer, and device model.
在一个实施例中,NFVO接收到包括加速类型和加速容量的业务请求之后,也可以从软件信息库中确定具有该加速类型且处理能力不小于加速容量的软件为第一软件,这样可以减少加载软件的可编程器件的数量。In an embodiment, after the NFVO receives the service request including the acceleration type and the acceleration capacity, the software having the acceleration type and the processing capability not less than the acceleration capacity may be determined from the software information library as the first software, thereby reducing loading. The number of software programmable devices.
本实施例中,NFVO也可以先从第一器件库中获取第一可编程器件的器件类型和生产厂家(或者器件类型、生产厂家和器件型号),并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,之后判断该软件功能是否包括该加速类型,当该软件功能包括该加速类型时,确定该软件功能对应的软件为第一软件,第一可编程器件为能够加载具有加速类型的软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,之后从软件信息库中获取第一软件的第一存储链接和处理能力信息,以及从第一器件库中获取用于管理第一可编程器件的VIM的第一标识。当该软件功能不包括该加速类型时,将针对第一器件库中的另一可编程器件再次执行上述操作。其中,第一可编程器件可以是第一器件库中的任一空闲的可编程器件。其中,第一器件库和软件信息库可以存储在NFVO中,也可以存储在其他地方。In this embodiment, the NFVO may also first obtain the device type and manufacturer (or device type, manufacturer, and device model) of the first programmable device from the first device library, and according to the device type of the first programmable device and The manufacturer obtains the software function of the software that the first programmable device can load from the software information library, and then determines whether the software function includes the acceleration type. When the software function includes the acceleration type, the software corresponding to the software function is determined to be The first software, the first programmable device is a programmable device capable of loading software with an acceleration type, and the device type and manufacturer of the first programmable device are the first information, and then the first software is obtained from the software information library. A storage link and processing capability information, and a first identification of the VIM for managing the first programmable device from the first device library. When the software function does not include the acceleration type, the above operation will be performed again for another programmable device in the first device library. Wherein, the first programmable device can be any idle programmable device in the first device library. Among them, the first device library and the software information library can be stored in NFVO or stored elsewhere.
本实施例中,业务请求还可以包括计算资源和/存储资源,当第一标识的数量为一时,第一标识所标识的VIM的空闲计算资源要不小于该计算资源和/或空闲存储资源不小于该存储资源;当第一标识的数量大于一时,第一标识所标识的VIM的总空闲计算资源不小于该计算资源和/或总空闲存储资源不小于该存储资源。可以避免将第一存储链接、第一信息和第二信息发送给没有足够计算资源和/或存储资源的VIM,从而可以避免将软件加载在不满足业务需求的可编程器件上。In this embodiment, the service request may further include a computing resource and/or a storage resource. When the number of the first identifier is one, the idle computing resource of the VIM identified by the first identifier is not less than the computing resource and/or the idle storage resource. If the number of the first identifier is greater than one, the total idle computing resource of the VIM identified by the first identifier is not less than the computing resource and/or the total idle storage resource is not less than the storage resource. The first storage link, the first information, and the second information can be avoided from being sent to a VIM that does not have sufficient computing resources and/or storage resources, thereby avoiding loading the software on a programmable device that does not meet the business requirements.
本实施例中,NFVO可以直接将第一存储链接、第一信息和第二信息发送给第一标识所标识的第一VIM,也可以先将第一标识、第一存储链接、第一信息和第二信息发送给VNFM,再由VNFM将第一存储链接、第一信息和第二信息发送给第一标识所标识的第一VIM。In this embodiment, the NFVO may directly send the first storage link, the first information, and the second information to the first VIM identified by the first identifier, or firstly, the first identifier, the first storage link, the first information, and The second information is sent to the VNFM, and the first storage link, the first information, and the second information are sent by the VNFM to the first VIM identified by the first identifier.
在一个实施例中,当一个软件被加载到一个可编程器件上后,可以在软件信息库中记 载哪一个VIM管理的哪一个服务器上的可编程器件加载了这个软件,以便可以快速地查找到加载了这个软件的可编程器件。In one embodiment, when a piece of software is loaded onto a programmable device, it can be recorded in the software repository. Which of the VIM-managed devices on the server is loaded with this software so that the programmable device loaded with the software can be quickly found.
在一个实施例中,当一个可编程器件上加载有软件后,可以在器件库中记录这个软件的软件功能和处理能力,或这个软件的存储连接,以便可以通过器件库快速地查找到可编程器件上加载的软件的信息。In one embodiment, when software is loaded on a programmable device, the software functionality and processing capabilities of the software, or the memory connection of the software, can be recorded in the device library so that it can be quickly found through the device library. Information about the software loaded on the device.
403、第一VIM根据第一信息和第二信息从第二器件库中获取需要加载第一软件的可编程器件的第二标识以及用于管理第二标识所标识的可编程器件的服务器的第三标识,并将第一存储链接和第二标识发送给第三标识所标识的第一服务器。403. The first VIM obtains, from the second device library, the second identifier of the programmable device that needs to load the first software according to the first information and the second information, and the server that manages the programmable device identified by the second identifier. And identifying the first storage link and the second identifier to the first server identified by the third identifier.
本实施例中,第一VIM接收到第一存储链接、第一信息和第二信息之后,当第二信息为需要加载第一软件的可编程器件的器件数量时,第一VIM将直接从第一VIM管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,并从第二器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第二标识,以及从第二器件库中获取第一服务器的第三标识。当第二信息包括加速容量和第一软件的处理能力信息时,先需要根据该加速容量和第一软件的处理能力信息确定需要加载第一软件的可编程器件的器件数量。In this embodiment, after the first VIM receives the first storage link, the first information, and the second information, when the second information is the number of devices of the programmable device that needs to load the first software, the first VIM will directly go from the first A VIM-managed server selects a first server including a number of programmable devices corresponding to the idle first information, and the number of the devices is not less than the number of the devices, and obtains the number of devices from the programmable device managed by the first server in the second device library. The first identifier of the idle first information corresponds to the second identifier of the programmable device, and the third identifier of the first server is obtained from the second device library. When the second information includes the acceleration capacity and the processing capability information of the first software, the number of devices of the programmable device that needs to load the first software needs to be determined according to the acceleration capacity and the processing capability information of the first software.
本实施例中,业务请求还可以包括计算资源和/存储资源,NFVO也可以将计算资源和/存储资源发送给第一VIM,第一VIM从第一VIM管理的服务器中选取的第一服务器,不仅要包括空闲的第一信息对应的可编程器件的数量不小于该器件数量,而且空闲的计算资源要不小于该计算资源和/或空闲的存储资源要不小于该存储资源。In this embodiment, the service request may further include a computing resource and/or a storage resource, and the NFVO may also send the computing resource and/or the storage resource to the first VIM, and the first server selected by the first VIM from the server managed by the first VIM, The number of programmable devices corresponding to not only the first information to be free is not less than the number of the devices, and the idle computing resources are not less than the computing resources and/or the idle storage resources are not less than the storage resources.
404、第一服务器从第一存储链接下载第一软件的数据包,并将该数据包加载在第二标识所标识的可编程器件上。404. The first server downloads the data packet of the first software from the first storage link, and loads the data packet on the programmable device identified by the second identifier.
本实施例中,第一服务器接收到第一VIM发送的第一存储链接和第二标识之后,将从第一存储链接下载第一软件的数据包(即安装包),之后当第二标识所标识的可编程器件上未加载有软件时,直接将该数据包加载在第二标识所标识的可编程器件上;当第二标识所标识的可编程器件上已加载有第二软件,且第二软件不具有该加速类型时,先需要将第二软件从第二标识所标识的可编程器件上卸载掉,之后才将该数据包加载在第二标识所标识的可编程器件上;当第二标识所标识的可编程器件上已加载有第二软件,且第二软件具有该加速类型时,将判断第二软件的处理能力信息对应的容量是否小于第一软件的处理能力信息对应的容量,当小于时,先需要将第二软件从第二标识所标识的可编程器件上卸载掉,之后才将该数据包加载在第二标识所标识的可编程器件上,当不小于时,直接将第二软件作为第一软件。In this embodiment, after receiving the first storage link and the second identifier sent by the first VIM, the first server downloads the data packet (ie, the installation package) of the first software from the first storage link, and then the second identifier. When the software is not loaded on the identified programmable device, the data packet is directly loaded on the programmable device identified by the second identifier; when the programmable device identified by the second identifier is loaded with the second software, and the When the software does not have the acceleration type, the second software needs to be unloaded from the programmable device identified by the second identifier, and then the data packet is loaded on the programmable device identified by the second identifier; If the second software is loaded on the programmable device identified by the second identifier, and the second software has the acceleration type, it is determined whether the capacity corresponding to the processing capability information of the second software is smaller than the capacity corresponding to the processing capability information of the first software. When less than, the second software needs to be unloaded from the programmable device identified by the second identifier, and then the data packet is loaded into the programmable device identified by the second identifier. On, when not less than the second software directly as the first software.
本实施例中,第一服务器将该数据包加载在第二标识所标识的可编程器件上之后,NFVO可以将第一器件库中的第二标识所标识的可编程器件的使用状态修改为已使用,并添加第一软件的软件版本信息,并将软件信息库中的第一软件修改至已加载可编程器件的软件列表中。同理,VIM也可以将第一器件库中的第二标识所标识的可编程器件的使用状态修改为已使用,并添加第一软件的存储连接,或者第一软件的软件功能信息和处理能力信息。其中,软件功能信息即软件具有的加速类型的信息。In this embodiment, after the first server loads the data packet on the programmable device identified by the second identifier, the NFVO may modify the usage status of the programmable device identified by the second identifier in the first device library to Use and add the software version information of the first software and modify the first software in the software repository to the list of software loaded with the programmable device. Similarly, the VIM can also modify the usage status of the programmable device identified by the second identifier in the first device library to be used, and add the storage connection of the first software, or the software function information and processing capability of the first software. information. Among them, the software function information is information of the acceleration type that the software has.
在图4所描述的软件加载方法中,当NFVO接收到包括加速类型和加速容量的业务请求时,将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存 储链接和处理能力信息以及能够加载该软件的可编程器件的信息,并根据存储链接、处理能力信息和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。In the software loading method described in FIG. 4, when the NFVO receives the service request including the acceleration type and the acceleration capacity, the software having the acceleration type is obtained from the software information base and the device library according to the acceleration type and the acceleration capacity. Deposit Store link and processing capability information and information of a programmable device capable of loading the software, and load the software on the programmable device according to the storage link, processing capability information, and the information, and can dynamically be on the programmable device according to business needs Loading the appropriate software can increase the flexibility of software loading on programmable devices.
基于图1或图2所示的网络架构,请参阅图5,图5是本发明实施例公开的另一种软件加载方法的流程示意图。其中,该软件加载方法是从NFVO、VIM和服务器的角度描述的。如图5所示,该软件加载方法可以包括以下步骤。Based on the network architecture shown in FIG. 1 or FIG. 2, please refer to FIG. 5. FIG. 5 is a schematic flowchart diagram of another software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of NFVO, VIM and server. As shown in FIG. 5, the software loading method may include the following steps.
501、第二服务器将第三信息发送至第二VIM。501. The second server sends the third information to the second 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发送的。第三信息还可以包括第二可编程器件的器件类型。In this embodiment, an interface is disposed on each programmable device in the second server, and the second programmable device in the second server can report the third information to the proxy on the second server through the interface, and then the second server The third information can be reported to the second VIM through the proxy. The second VIM is any VIM managed by the NFVO, the second server is any server managed by the second VIM, the second programmable device is any programmable device in the second server, and the third information may include the second The device type, manufacturer, and identification of the programmable device, and the second VIM is the VIM used to manage the second server. For example, the identifier of the programmable device, such as number-1, indicates FPGA-1, number-2 indicates FPGA-2, and number-3 indicates image processing unit (GPU)-1. The second server may send the third information to the second VIM, or the NFVO may send the programmable device information acquisition request to the second VIM. After the second VIM sends the programmable device information acquisition request to the second server, The second server sends to the second VIM. The third information may also include the device type of the second programmable device.
502、第二VIM建立包括第三信息和第二服务器的标识的第二器件库,以及将第三信息和第二服务器的标识发送给NFVO。502. The second VIM establishes a second device library including the third information and the identifier of the second server, and sends the third information and the identifier of the second server to the NFVO.
本实施例中,第二VIM接收到第二服务器的代理发送的第三信息之后,将建立包括第三信息和第二服务器的标识的第二器件库,可以是第二VIM中已经存在第二器件库,只是将第三信息和第二服务器的标识添加到第二器件库中;也可以是第二VIM中不存在第二器件库,建立第二器件库,并将第三信息和第二服务器的标识添加到第二器件库中。其中,第二器件库可以如表1所示:In this embodiment, after the second VIM receives the third information sent by the proxy of the second server, a second device library including the identifier of the third information and the second server is established, and the second VIM may already exist in the second VIM. The device library simply adds the third information and the identifier of the second server to the second device library; or the second device library does not exist in the second VIM, the second device library is established, and the third information and the second information are The identity of the server is added to the second device library. The second device library can be as shown in Table 1:
索引index 器件类型Device type 生产厂家Manufacturer 位置标识Location identifier 使用状态status of use 软件存储连接Software storage connection  
11 FPGAFPGA Vendor-AVendor-A 服务器1+编号1Server 1+ number 1 未分配Unallocated ……...... ……......
22 FPGAFPGA Vendor-AVendor-A 服务器1+编号2Server 1+ number 2 未分配Unallocated ……...... ……......
33 FPGAFPGA Vendor-BVendor-B 服务器2+编号1Server 2+ number 1 已分配allocated url-2Url-2 ……......
44 GPUGPU Vendor-CVendor-C 服务器3+编号1Server 3+ number 1 未分配Unallocated ……...... ……......
55 ……...... ……...... ……...... ……...... ……...... ……......
表1 第二器件库Table 1 second device library
503、NFVO根据第三信息、第二服务器的标识和第二VIM的标识建立第一器件库。503. The NFVO establishes a first device library according to the third information, the identifier of the second server, and the identifier of the second VIM.
本实施例中,NFVO接收到第二VIM发送的第三信息和第二服务器的标识之后,将根据第三信息、第二服务器的标识和第二VIM的标识建立第一器件库,可以是NFVO中已经存在第一器件时,只是将第三信息、第二服务器的标识和第二VIM的标识添加到第一器件库中;也可以是第二VIM中不存在第一器件库,建立第一器件库,并将第三信息、第二服务器的标识和 第二VIM的标识添加到第一器件库中。其中,第一器件库可以如表2所示:In this embodiment, after receiving the third information sent by the second VIM and the identifier of the second server, the NFVO may establish the first device library according to the third information, the identifier of the second server, and the identifier of the second VIM, which may be NFVO. When the first device already exists, only the third information, the identifier of the second server, and the identifier of the second VIM are added to the first device library; or the first device library does not exist in the second VIM, and the first device is established. Device library, and the third information, the identity of the second server, and The identity of the second VIM is added to the first device library. Among them, the first device library can be as shown in Table 2:
索引index 器件类型Device type 生产厂家Manufacturer VIM标识VIM logo 已使用器件个数Number of devices used 未使用器件个数Number of unused devices  
11 FPGAFPGA Vendor-AVendor-A VIM1VIM1 00 11 ...
22 FPGAFPGA Vendor-AVendor-A VIM1VIM1 33 22 ...
33 FPGAFPGA Vendor-BVendor-B VIM2VIM2 11 22 ...
44 GPUGPU Vendor-CVendor-C VIM3VIM3 00 11 ...
55 ... ... ... ... ... ...
表2 第一器件库Table 2 First device library
其中,当可编程器件上加载了软件时,可以把将该软件的软件功能和处理能力信息,或者url连接存储在第一器件库中,便于快速找到可用的且加载了软件的可编程器件,可以减少软件加载时间。Wherein, when the software is loaded on the programmable device, the software function and processing capability information of the software, or the url connection may be stored in the first device library, so that the programmable device loaded with the software can be quickly found. Can reduce software load time.
在一个实施例中,第二VIM也可以将第三信息和第二服务器的标识发送给OSS/BSS,OSS/BSS可以根据第二VIM上报的可编程器件的信息,向NFVO发送携带有器件标识的软件操作指令,NFVO将软件操作指令发送给器件标识对应的可编程器件,该可编程器件执行软件操作指令。该软件操作指令可以为软件加载指令、软件卸载指令、软件更新指令或软件升级指令等指令。In an embodiment, the second VIM may also send the third information and the identifier of the second server to the OSS/BSS, and the OSS/BSS may send the device identifier to the NFVO according to the information of the programmable device reported by the second VIM. The software operation instruction, the NFVO sends the software operation instruction to the programmable device corresponding to the device identifier, and the programmable device executes the software operation instruction. The software operation instruction may be a software load instruction, a software uninstallation instruction, a software update instruction, or a software upgrade instruction.
504、NFVO接收软件包并发送给第三VIM或目录库。504. The NFVO receives the software package and sends it to the third VIM or the catalog.
其中,软件包可以包括软件功能信息、软件版本信息、处理能力信息以及第四信息,第四信息可以包括能够加载改软件包对应软件的可编程器件的器件类型和生产厂家,软件功能可以为加解密加速、或音频转码加速等,处理能力信息为该软件能够处理业务的最大容量,如6M PPS加解密加速等。The software package may include software function information, software version information, processing capability information, and fourth information, and the fourth information may include a device type and a manufacturer capable of loading a programmable device corresponding to the software corresponding to the software package, and the software function may be Decryption acceleration, or audio transcoding acceleration, etc., processing capability information is the maximum capacity that the software can handle the service, such as 6M PPS encryption and decryption acceleration.
505、第三VIM或目录库存储该软件包,并将该软件包的第二存储链接发送给NFVO。The 505, the third VIM, or the directory repository stores the package and sends a second storage link of the package to the NFVO.
506、NFVO建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库。506. The NFVO establishes a software information library including a second storage link and software function information, software version information, processing capability information, and fourth information included in the software package.
本实施例中,当NFVO中已存在软件信息库时,将上述信息添加至软件信息库中,当NFVO中不存在软件信息库时,可以先建立软件信息库,并将上述信息添加中软件信息库中。其中,软件信息库还可以包括已加载到哪些可编程器件,以便索引到器件库,从而可以了解软件是否被使用。其中,软件信息库可以如表3所示:In this embodiment, when the software information base already exists in the NFVO, the above information is added to the software information base. When the software information base does not exist in the NFVO, the software information base may be established first, and the above information may be added to the software information. In the library. The software repository can also include which programmable devices have been loaded to index to the device library to see if the software is being used. Among them, the software information base can be as shown in Table 3:
索引index 软件功能Software function 软件版本Software version 处理能力Processing capacity 存储链接Storage link 器件类型Device type 生产厂家Manufacturer ......
11 加解密Add and decrypt Ver-1Ver-1 10M PPS10M PPS url-1Url-1 FPGAFPGA Vendor-AVendor-A ......
22 音频转码Audio transcoding Ver-1Ver-1 100路/s100 roads/s url-2Url-2 FPGAFPGA Vendor-AVendor-A ......
33 混音Mixing Ver-1Ver-1 100路/s100 roads/s url-3Url-3 FPGAFPGA Vendor-BVendor-B ......
44 视频转码Video transcoding Ver-1Ver-1 100路/s100 roads/s url-4Url-4 GPUGPU Vendor-CVendor-C ......
55 ... ... ... ... ... ... ......
表3 软件信息库Table 3 Software Information Library
其中,步骤507-510与前面实施例中的步骤401-404相同,本发明实施例此处不作赘述。The steps 507-510 are the same as the steps 401-404 in the previous embodiment, and are not described herein again.
在图5所描述的软件加载方法中,当NFVO接收到包括加速类型和加速容量的业务请求时, 将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存储链接和能够加载该软件的可编程器件的信息,并根据存储链接和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。In the software loading method described in FIG. 5, when the NFVO receives a service request including an acceleration type and an acceleration capacity, According to the acceleration type and the acceleration capacity, a storage link of the software having the acceleration type and a programmable device capable of loading the software are acquired from the software information base and the device library, and the software is loaded according to the storage link and the information. On the programmable device, the corresponding software can be dynamically loaded on the programmable device according to business needs, which can improve the flexibility of software loading on the programmable device.
基于图1或图2所示的网络架构,请参阅图6,图6是本发明实施例公开的又一种软件加载方法的流程示意图。其中,该软件加载方法是从VIM的角度描述的。如图6所示,该软件加载方法可以包括以下步骤。Based on the network architecture shown in FIG. 1 or FIG. 2, please refer to FIG. 6. FIG. 6 is a schematic flowchart diagram of still another software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of VIM. As shown in FIG. 6, the software loading method may include the following steps.
601、接收NFVO发送的包括加速类型和加速容量的业务请求。601. Receive a service request that is sent by the NFVO, including an acceleration type and an acceleration capacity.
其中,该业务请求可以是OSS/BSS发送给NFVO,也可以是VNFM发送给NFVO,还可以是除OSS/BSS和VNFM之外的第三方设备发送给NFVO。加速类型可以为加解密、音频转码、或视频转码等,加速容量可以为10M PPS、100路/s、200路/s等。The service request may be sent by the OSS/BSS to the NFVO, or may be sent by the VNFM to the NFVO, or may be sent to the NFVO by a third party device other than the OSS/BSS and the VNFM. The acceleration type can be encryption/decryption, audio transcoding, or video transcoding. The acceleration capacity can be 10M PPS, 100 channels/s, 200 channels/s, and the like.
其中,步骤601可以是VIM中的收发器执行的。Wherein, step 601 can be performed by a transceiver in the VIM.
602、根据加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,并根据第一信息、第一软件的处理能力信息和加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识。602. Determine, according to the acceleration type and the software information repository, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of the programmable device capable of loading the first software, and according to the first information. The processing capability information and the acceleration capacity of the first software acquire a first identifier of the programmable device that needs to load the first software and is free from the device library, and a second identifier of the server for managing the programmable device identified by the first identifier.
本实施例中,VIM接收到包括加速类型和加速容量的业务请求之后,可以从软件信息库中确定具有该加速类型的软件,可以将第一次查找到的具有该加速类型的软件作为第一软件,也可以将处理能力大于加速容量的软件作为第一软件。之后从软件信息库中获取具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,根据加速容量和第一软件的处理能力信息计算需要加载第一软件且空闲的可编程器件的器件数量,并从VIM管理的服务器中选取包括空闲的第一信息对应的可编程器件的数量不小于该器件数量的第一服务器,以及从器件库中第一服务器管理的可编程器件中获取该器件数量个空闲的第一信息对应的可编程器件的第一标识,以及从器件库中获取第一服务器的第二标识。In this embodiment, after the VIM receives the service request including the acceleration type and the acceleration capacity, the software having the acceleration type may be determined from the software information base, and the software having the acceleration type found for the first time may be used as the first The software can also use software with a processing capacity greater than the acceleration capacity as the first software. And acquiring, from the software information library, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of the programmable device capable of loading the first software, according to the acceleration capacity and the first software The processing capability information calculates the number of devices of the programmable device that need to load the first software and is idle, and selects, from the server managed by the VIM, the first server that includes the number of programmable devices corresponding to the idle first information, not less than the number of the devices. And obtaining, from the programmable device managed by the first server in the device library, a first identifier of the programmable device corresponding to the number of idle first information of the device, and acquiring a second identifier of the first server from the device library.
本实施例中,VIM接收到包括加速类型和加速容量的业务请求之后,也可以从器件库中获取第一可编程器件的器件类型和生产厂家,并根据第一可编程器件的器件类型和生产厂家从软件信息库中获取第一可编程器件能够加载的软件的软件功能,之后判断该软件功能是否包括该加速类型,当该软件功能包括该加速类型时,确定该软件功能对应的软件为第一软件、第一可编程器件为能够加载第一软件的可编程器件以及第一可编程器件的器件类型和生产厂家为第一信息,从软件信息库中获取第一软件的第一存储链接和处理能力信息,并根据加速容量和第一软件的处理能力信息计算需要加载第一软件且空闲的可编程器件的器件数量,当管理第一可编程器件的服务器中空闲的第一信息对应的可编程器件的数量不小于该器件数量时,直接将管理第一可编程器件的服务器的标识作为第一标识;当管理第一可编程器件的服务器中空闲的第一信息对应的可编程器件的数量小于该器件数量时,可以将VIM管理的空闲的第一信息对应的可编程器件的数量不小于该器件数量的服务器作的标识作为第一标识;当VIM管理的服务器中空闲的第一信息对应的可编程器件的数量均小于该器件数量时,可以从器件库中选取至少两个服务器的第二标识,这至少两个服务器中第 一信息对应且空闲的可编程器件的总数量不小于该器件数量。第一信息包括器件类型和生产厂家。其中,第一可编程器件可以是器件库中任一空闲的可编程器件。In this embodiment, after the VIM receives the service request including the acceleration type and the acceleration capacity, the device type and the manufacturer of the first programmable device may also be obtained from the device library, and according to the device type and production of the first programmable device. The manufacturer obtains the software function of the software that can be loaded by the first programmable device from the software information library, and then determines whether the software function includes the acceleration type. When the software function includes the acceleration type, determining that the software corresponding to the software function is the first a software, the first programmable device is a programmable device capable of loading the first software, and the device type and manufacturer of the first programmable device are the first information, and the first storage link of the first software is obtained from the software information library and Processing the capability information, and calculating, according to the acceleration capacity and the processing capability information of the first software, the number of devices that need to load the first software and the idle programmable device, when the first information that is idle in the server managing the first programmable device corresponds to When the number of programming devices is not less than the number of devices, the first programmable device will be directly managed. The identifier of the server is used as the first identifier; when the number of programmable devices corresponding to the first information idle in the server managing the first programmable device is less than the number of the device, the first information of the idle management of the VIM may be corresponding The number of programming devices is not less than the number of the device, and the identifier of the server is used as the first identifier; when the number of programmable devices corresponding to the first information that is idle in the server managed by the VIM is smaller than the number of the devices, the device library may be selected. a second identifier of at least two servers, the second of which is at least two servers The total number of programmable devices that correspond to one information and is idle is not less than the number of devices. The first information includes the device type and manufacturer. The first programmable device can be any free programmable device in the device library.
本实施例中,业务请求还可以包括计算资源和/存储资源,当第二标识的服务器数量为一时,第二标识所标识的服务器的空闲计算资源要不小于该计算资源和/或空闲存储资源不小于该存储资源;当第二标识所标识的服务器的数量大于一时,第二标识所标识的服务器的总空闲计算资源不小于该计算资源和/或总空闲存储资源不小于该存储资源。可以避免将软件加载在不满足业务需求的可编程器件上。In this embodiment, the service request may further include a computing resource and/or a storage resource. When the number of the second identifier server is one, the idle computing resource of the server identified by the second identifier is not less than the computing resource and/or the idle storage resource. Not less than the storage resource; when the number of servers identified by the second identifier is greater than one, the total idle computing resource of the server identified by the second identifier is not less than the computing resource and/or the total idle storage resource is not less than the storage resource. You can avoid loading software on programmable devices that do not meet your business needs.
其中,步骤602可以是VIM中的处理器调用存储器中存储的程序代码执行的。Wherein, step 602 can be performed by the processor in the VIM calling the program code stored in the memory.
603、将第一存储链接和第一标识发送给第二标识所标识的第一服务器。603. Send the first storage link and the first identifier to the first server identified by the second identifier.
本实施例中,VIM可以将第一存储链接和第一标识发送给第二标识所标识的第一服务器,使第一服务器从第一存储链接下载第一软件的数据包(即安装包),之后当第一标识所标识的可编程器件上未加载有软件时,直接将该数据包加载在第一标识所标识的可编程器件上,当第一标识所标识的可编程器件上已加载有第二软件,且第二软件不具有该加速类型时,现需要将第二软件从第一标识所标识的可编程器件上卸载掉,之后才将该数据包加载在第一标识所标识的可编程器件上。In this embodiment, the VIM may send the first storage link and the first identifier to the first server identified by the second identifier, so that the first server downloads the data packet (ie, the installation package) of the first software from the first storage link. Then, when the software is not loaded on the programmable device identified by the first identifier, the data packet is directly loaded on the programmable device identified by the first identifier, and the programmable device identified by the first identifier is loaded with When the second software does not have the acceleration type, the second software needs to be uninstalled from the programmable device identified by the first identifier, and then the data packet is loaded in the first identifier. On the programming device.
其中,步骤603可以是VIM中的收发器执行的。Wherein, step 603 can be performed by a transceiver in the VIM.
在图6所描述的软件加载方法中,当VIM接收到包括加速类型和加速容量的业务请求时,将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存储链接和能够加载该软件的可编程器件的标识,使根据存储链接和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。In the software loading method described in FIG. 6, when the VIM receives the service request including the acceleration type and the acceleration capacity, the software having the acceleration type is obtained from the software information base and the device library according to the acceleration type and the acceleration capacity. The storage link and the identifier of the programmable device capable of loading the software, so that the software is loaded on the programmable device according to the storage link and the information, and the corresponding software can be dynamically loaded on the programmable device according to business needs, Improve the flexibility of software loading on programmable devices.
基于图1或图2所示的网络架构,请参阅图7,图7是本发明实施例公开的又一种软件加载方法的流程示意图。其中,该软件加载方法是从VIM的角度描述的。如图7所示,该软件加载方法可以包括以下步骤。Based on the network architecture shown in FIG. 1 or FIG. 2, please refer to FIG. 7. FIG. 7 is a schematic flowchart diagram of still another software loading method according to an embodiment of the present invention. Among them, the software loading method is described from the perspective of VIM. As shown in FIG. 7, the software loading method may include the following steps.
701、接收第二服务器发送的第二信息,并建立包括第二信息和第二服务器的标识的器件库。701. Receive second information sent by the second server, and establish a device library that includes the second information and the identifier of the second server.
其中,第二信息包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器。The second information includes a device type, a manufacturer, and an identifier of the second programmable device, and the second server is a server managed by the VIM and used to manage the second programmable device.
其中,步骤701中的接收第二服务器发送的第二信息可以是VIM中的收发器执行的,步骤701中的建立包括第二信息和第二服务器的标识的器件库可以是VIM中的处理器调用存储器中存储的程序代码执行的。The second information sent by the receiving second server in step 701 may be performed by a transceiver in the VIM, and the device library in step 701 for establishing the identifier of the second information and the second server may be a processor in the VIM. Called by the program code stored in the memory.
702、接收软件包并发送给目录库,以使目录库存储软件包并返回该软件包的第二存储链接。702. Receive a software package and send the same to the catalog, so that the catalog store stores the software package and returns a second storage link of the software package.
其中,软件包可以包括软件功能信息、软件版本信息、处理能力信息以及第五信息,第三信息可以包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家。其中,软件包可以是NFVO发送的,也可以不是NFVO发送的。The software package may include software function information, software version information, processing capability information, and fifth information, and the third information may include a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package. The software package may be sent by NFVO or not by NFVO.
其中,VIM也可以将软件包直接存储在VIM中。Among them, VIM can also store the software package directly in VIM.
其中,步骤702中可以是VIM中的收发器执行的。 Wherein, step 702 can be performed by a transceiver in the VIM.
703、接收第二存储链接,并建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。703. Receive a second storage link, and establish a software information library including a second storage link and software function information, software version information, processing capability information, and third information included in the software package.
其中,步骤703中的接收第二存储链接可以是VIM中的收发器执行的,步骤701中的建立包括第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库可以是VIM中的处理器调用存储器中存储的程序代码执行的。The receiving the second storage link in step 703 may be performed by a transceiver in the VIM, and the establishing in step 701 includes the second storage link and software function information, software version information, processing capability information, and the The three-information software information base may be executed by the program code stored in the processor call memory in the VIM.
其中,步骤704-706与前面实施例中的步骤601-603相同,本发明实施例此处不作赘述。The steps 704-706 are the same as the steps 601-603 in the previous embodiment, and are not described herein again.
在图7所描述的软件加载方法中,当VIM接收到包括加速类型和加速容量的业务请求时,将根据该加速类型和加速容量,从软件信息库和器件库中获取具有该加速类型的软件的存储链接和能够加载该软件的可编程器件的标识,使根据存储链接和该信息将该软件加载在该可编程器件上,可以根据业务需要在可编程器件上动态的加载相应的软件,可以提高可编程器件上软件加载的灵活性。In the software loading method described in FIG. 7, when the VIM receives the service request including the acceleration type and the acceleration capacity, the software having the acceleration type is obtained from the software information base and the device library according to the acceleration type and the acceleration capacity. The storage link and the identifier of the programmable device capable of loading the software, so that the software is loaded on the programmable device according to the storage link and the information, and the corresponding software can be dynamically loaded on the programmable device according to business needs, Improve the flexibility of software loading on programmable devices.
基于图1或图2所示的网络架构,请参阅图8,图8是本发明实施例公开的另一种VIM的结构示意图。如图8所示,该VIM可以包括:Based on the network architecture shown in FIG. 1 or FIG. 2, please refer to FIG. 8. FIG. 8 is a schematic structural diagram of another VIM according to an embodiment of the present invention. As shown in FIG. 8, the VIM may include:
通信单元801,用于接收NFVO发送的包括加速类型和加速容量的业务请求;The communication unit 801 is configured to receive a service request that is sent by the NFVO, including an acceleration type and an acceleration capacity.
确定单元802,用于根据通信单元801接收的加速类型和软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息,第一信息包括器件类型和生产厂家;a determining unit 802, configured to determine, according to an acceleration type and a software information base received by the communication unit 801, a first storage link of the first software having an acceleration type, processing capability information of the first software, and a programmable device capable of loading the first software First information, the first information includes the device type and the manufacturer;
获取单元803,用于根据确定单元802确定的第一信息、确定单元802确定的处理能力信息和通信单元801接收的加速容量从器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识;The obtaining unit 803 is configured to acquire, from the device library, the first device that needs to load the first software and is idle according to the first information determined by the determining unit 802, the processing capability information determined by the determining unit 802, and the acceleration capacity received by the communication unit 801. And a second identifier of the server for managing the programmable device identified by the first identifier;
通信单元801,还用于将确定单元802确定的第一存储链接和获取单元803获取的第一标识发送给获取单元803获取的第二标识所标识的第一服务器,第一存储链接用于使第一服务器从第一存储链接下载第一软件的数据包,第一标识用于使第一服务器将该数据包加载在第一标识所标识的可编程器件上。The communication unit 801 is further configured to send the first storage link determined by the determining unit 802 and the first identifier acquired by the obtaining unit 803 to the first server identified by the second identifier acquired by the obtaining unit 803, where the first storage link is used to enable The first server downloads the data packet of the first software from the first storage link, and the first identifier is used to cause the first server to load the data packet on the programmable device identified by the first identifier.
作为一种可能的实施方式,通信单元801,还用于接收第二服务器发送的第二信息,第二信息包括第二可编程器件的器件类型、生产厂家和标识,第二服务器为VIM管理的且用于管理第二可编程器件的服务器;As a possible implementation manner, the communication unit 801 is further configured to receive second information sent by the second server, where the second information includes a device type, a manufacturer, and an identifier of the second programmable device, where the second server is managed by the VIM. And a server for managing the second programmable device;
VIM还可以包括:VIM can also include:
第一建立单元804,用于建立包括通信单元接收的第二信息和第二服务器的标识的器件库。The first establishing unit 804 is configured to establish a device library including the second information received by the communication unit and the identifier of the second server.
具体地,获取单元803根据确定单元802确定的第一信息、确定单元802确定的处理能力信息和通信单元801接收的加速容量从第一建立单元804建立的器件库获取需要加载第一软件且空闲的可编程器件的第一标识以及用于管理第一标识所标识的可编程器件的服务器的第二标识Specifically, the obtaining unit 803 acquires the first software that needs to be loaded and is idle according to the first information determined by the determining unit 802, the processing capability information determined by the determining unit 802, and the acceleration capacity received by the communication unit 801 from the device library established by the first establishing unit 804. a first identifier of the programmable device and a second identifier of a server for managing the programmable device identified by the first identifier
作为一种可能的实施方式,通信单元801,还用于接收软件包并发送给目录库,以使目录库存储该软件包并返回该软件包的第二存储链接,该软件包包括软件功能信息、软件版本信息、处理能力信息以及第三信息,第三信息包括能够加载该软件包对应软件的可编程器件的器件类型和生产厂家; As a possible implementation manner, the communication unit 801 is further configured to receive the software package and send the file to the directory, so that the directory library stores the software package and returns a second storage link of the software package, where the software package includes software function information. , software version information, processing capability information, and third information, the third information includes a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package;
通信单元801,还用于接收第二存储链接;The communication unit 801 is further configured to receive a second storage link.
VIM还可以包括:VIM can also include:
第二建立单元805,用于建立包括通信单元801接收的第二存储链接和该软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。The second establishing unit 805 is configured to establish a software information library including the second storage link received by the communication unit 801 and the software function information, the software version information, the processing capability information, and the third information included in the software package.
具体地,确定单元802根据通信单元801接收的加速类型和第二建立单元805建立的软件信息库确定具有加速类型的第一软件的第一存储链接、第一软件的处理能力信息和能够加载第一软件的可编程器件的第一信息。Specifically, the determining unit 802 determines, according to the acceleration type received by the communication unit 801 and the software information base established by the second establishing unit 805, the first storage link of the first software having the acceleration type, the processing capability information of the first software, and the loadable The first information of a software programmable device.
在本实施例中,VIM800是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到VIM800可以采用图3所示的形式。通信单元801可以通过图3的处理器和存储器来实现,确定单元802、获取单元803、第一建立单元804和第二建立单元805可以通过图3的处理器和存储器来实现。In this embodiment, the VIM 800 is presented in the form of a functional unit. A "unit" herein may refer to an application-specific integrated circuit (ASIC), a processor and memory that executes one or more software or firmware programs, integrated logic circuits, and/or other devices that provide the functionality described above. . In a simple embodiment, those skilled in the art will appreciate that the VIM 800 can take the form shown in FIG. The communication unit 801 can be implemented by the processor and the memory of FIG. 3. The determining unit 802, the obtaining unit 803, the first establishing unit 804, and the second establishing unit 805 can be implemented by the processor and the memory of FIG.
本发明实施例还公开了一种可读存储介质,该可读存储介质存储了VIM用于执行图6或图7所示的软件加载方法的程序代码。The embodiment of the invention further discloses a readable storage medium storing program code of the VIM for executing the software loading method shown in FIG. 6 or FIG. 7.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,ROM)、随机存取器(random access memory,RAM)、磁盘或光盘等。A person skilled in the art may understand that all or part of the various steps of the foregoing embodiments may be performed by a program to instruct related hardware. The program may be stored in a computer readable storage medium, and the storage medium may include: Flash disk, read-only memory (ROM), random access memory (RAM), disk or optical disk.
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。Although the present invention has been described herein in connection with the embodiments of the present invention, it will be understood by those skilled in the <RTIgt; Other variations of the disclosed embodiments are achieved. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill several of the functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not mean that the measures are not combined to produce a good effect.
以上对本发明实施例公开的分布式系统中软件加载方法、设备及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。 The software loading method, device and system in the distributed system disclosed in the embodiments of the present invention are described in detail above. The principles and implementation manners of the present invention are described in the specific examples. The description of the above embodiments is only for helping. The method of the present invention and its core idea are understood; at the same time, for those skilled in the art, according to the idea of the present invention, there are changes in the specific embodiments and application scopes. It should be understood that the invention is limited.

Claims (26)

  1. 一种软件加载方法,其特征在于,包括:A software loading method, comprising:
    网络功能虚拟化编排NFVO接收业务请求,所述业务请求包括加速类型和加速容量;The network function virtualization orchestration NFVO receives a service request, and the service request includes an acceleration type and an acceleration capacity;
    所述NFVO根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息,并根据所述第一信息、所述处理能力信息和所述加速容量从第一器件库获取用于管理能够加载所述第一软件且空闲的可编程器件的虚拟化基础设施管理器VIM的第一标识,所述第一信息包括器件类型和生产厂家;Determining, by the NFVO, a first storage link of the first software having the acceleration type, processing capability information of the first software, and a programmable device capable of loading the first software according to the acceleration type and a software information base First information, and acquiring, from the first device library, a virtualized infrastructure management for managing a programmable device capable of loading the first software and being idle according to the first information, the processing capability information, and the acceleration capacity a first identifier of the VIM, the first information including a device type and a manufacturer;
    所述NFVO将所述第一存储链接、所述第一信息和用于指示需要加载所述第一软件的可编程器件数量的第二信息发送给所述第一标识所标识的第一VIM;The NFVO sends the first storage link, the first information, and second information indicating the number of programmable devices that need to load the first software to the first VIM identified by the first identifier;
    所述第一VIM根据所述第一信息和所述第二信息从第二器件库中获取需要加载所述第一软件的可编程器件的第二标识以及用于管理所述第二标识所标识的可编程器件的服务器的第三标识;Determining, by the first VIM, the second identifier of the programmable device that needs to load the first software from the second device library according to the first information and the second information, and for managing the identifier of the second identifier The third identifier of the server of the programmable device;
    所述第一VIM将所述第一存储链接和所述第二标识发送给所述第三标识所标识的第一服务器,所述第一存储链接用于使所述第一服务器从所述第一存储链接下载所述第一软件的数据包,所述第二标识用于使所述第一服务器将所述数据包加载在所述第二标识所标识的可编程器件上。Transmitting, by the first VIM, the first storage link and the second identifier to a first server identified by the third identifier, where the first storage link is used to make the first server from the first A storage link downloads a data packet of the first software, the second identifier being used to cause the first server to load the data packet on a programmable device identified by the second identifier.
  2. 根据权利要求1所述的方法,其特征在于,所述NFVO根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息包括:The method according to claim 1, wherein the NFVO determines a first storage link of the first software having the acceleration type, and processing capability information of the first software according to the acceleration type and a software information base. And the first information of the programmable device capable of loading the first software includes:
    所述NFVO从软件信息库中获取具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息;或者The NFVO acquires, from a software information repository, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of a programmable device capable of loading the first software; or
    所述NFVO从第一器件库中获取第一可编程器件的器件类型和生产厂家,并根据所述第一可编程器件的器件类型和生产厂家从软件信息库中获取所述第一可编程器件能够加载的软件的软件功能,当所述软件功能包括所述加速类型时,确定所述软件功能对应的软件为第一软件、所述第一可编程器件为能够加载所述第一软件的可编程器件以及所述第一可编程器件的器件类型和生产厂家为第一信息,并从所述软件信息库中获取所述第一软件的第一存储链接和处理能力信息,所述第一可编程器件是所述第一器件库中的任一空闲的可编程器件。The NFVO acquires a device type and a manufacturer of the first programmable device from the first device library, and obtains the first programmable device from a software information base according to a device type of the first programmable device and a manufacturer a software function of the loadable software, when the software function includes the acceleration type, determining that the software corresponding to the software function is the first software, and the first programmable device is capable of loading the first software The device type and the manufacturer of the first programmable device are the first information, and the first storage link and the processing capability information of the first software are obtained from the software information library, the first The programming device is any free programmable device in the first device bank.
  3. 根据权利要求1或2所述的方法,其特征在于,所述第二信息为需要加载所述第一软件的可编程器件的器件数量;The method according to claim 1 or 2, wherein the second information is a number of devices of a programmable device that needs to load the first software;
    所述方法还包括:The method further includes:
    所述NFVO根据所述加速容量和所述处理能力信息确定需要加载所述第一软件的可编程器件的器件数量。The NFVO determines the number of devices of the programmable device that need to load the first software based on the acceleration capacity and the processing capability information.
  4. 根据权利要求1或2所述的方法,其特征在于,所述第二信息包括所述加速容量和所述处理能力信息; The method according to claim 1 or 2, wherein the second information comprises the acceleration capacity and the processing capability information;
    所述第一VIM根据所述第一信息和所述第二信息从第二器件库中获取需要加载所述第一软件的可编程器件的第二标识以及用于管理所述第二标识所标识的可编程器件的服务器的第三标识包括:Determining, by the first VIM, the second identifier of the programmable device that needs to load the first software from the second device library according to the first information and the second information, and for managing the identifier of the second identifier The third identifier of the server of the programmable device includes:
    所述第一VIM根据所述加速容量和所述处理能力信息确定需要加载所述第一软件的可编程器件的器件数量,从管理的服务器中选取包括空闲的所述第一信息对应的可编程器件的数量不小于所述器件数量的第一服务器,从第二器件库中所述第一服务器管理的可编程器件中获取所述器件数量个空闲的所述第一信息对应的可编程器件的第二标识,以及从所述第二器件库中获取所述第一服务器的第三标识。Determining, by the first VIM, the number of devices of the programmable device that needs to load the first software according to the acceleration capacity and the processing capability information, and selecting, from the managed server, the programmable corresponding to the first information that is idle a first server having a number of devices not less than the number of devices, and obtaining, from the programmable device managed by the first server in the second device library, the number of idle programmable devices corresponding to the first information a second identifier, and obtaining a third identifier of the first server from the second device library.
  5. 根据权利要求1-3任一项所述的方法,其特征在于,所述业务请求还包括计算资源;The method according to any one of claims 1 to 3, wherein the service request further comprises a computing resource;
    所述第一VIM根据所述第一信息和所述第二信息从第二器件库中获取需要加载所述第一软件的可编程器件的第二标识以及用于管理所述第二标识所标识的可编程器件的服务器的第三标识包括:Determining, by the first VIM, the second identifier of the programmable device that needs to load the first software from the second device library according to the first information and the second information, and for managing the identifier of the second identifier The third identifier of the server of the programmable device includes:
    所述第一VIM从管理的服务器中选取空闲的计算资源不小于所述计算资源以及包括空闲的所述第一信息对应的可编程器件的数量不小于所述第二信息所指示的可编程器件数量的第一服务器,从第二器件库中所述第一服务器管理的可编程器件中获取所述第二信息所指示的可编程器件数量个空闲的所述第一信息对应的可编程器件的第二标识,以及从所述第二器件库中获取所述第一服务器的第三标识。The first VIM selects, from the managed server, that the idle computing resource is not less than the computing resource, and the number of programmable devices corresponding to the idle first information is not less than the programmable device indicated by the second information. a quantity of the first server, obtaining, from the programmable device of the first server managed in the second device library, the number of programmable devices indicated by the second information, and the programmable device corresponding to the first information that is idle a second identifier, and obtaining a third identifier of the first server from the second device library.
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 5, wherein the method further comprises:
    第二VIM接收第二服务器发送的第三信息,建立包括所述第三信息和所述第二服务器的标识的第二器件库,以及将所述第三信息和所述第二服务器的标识发送给所述NFVO,所述第三信息包括第二可编程器件的器件类型、生产厂家和标识,所述第二服务器为用于管理所述第二可编程器件的服务器,所述第二VIM是用于管理所述第二服务器的VIM;The second VIM receives the third information sent by the second server, establishes a second device library including the third information and the identifier of the second server, and sends the identifier of the third information and the second server For the NFVO, the third information includes a device type, manufacturer, and identification of the second programmable device, the second server is a server for managing the second programmable device, and the second VIM is a VIM for managing the second server;
    所述NFVO根据所述第三信息、所述第二服务器的标识和所述第二VIM的标识建立第一器件库。The NFVO establishes a first device library according to the third information, the identifier of the second server, and the identifier of the second VIM.
  7. 根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 6, wherein the method further comprises:
    所述NFVO接收软件包并发送给第三VIM或目录库,所述软件包包括软件功能信息、软件版本信息、处理能力信息以及第四信息,所述第四信息包括能够加载所述软件包对应软件的可编程器件的器件类型和生产厂家;The NFVO receives the software package and sends the software package to the third VIM or the directory, the software package includes software function information, software version information, processing capability information, and fourth information, where the fourth information includes Device type and manufacturer of software programmable devices;
    所述第三VIM或所述目录库存储所述软件包,并将所述软件包的第二存储链接发送给所述NFVO;The third VIM or the directory library stores the software package, and sends a second storage link of the software package to the NFVO;
    所述NFVO建立包括所述第二存储链接和所述软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库。The NFVO establishes a software information library including the second storage link and software function information, software version information, processing capability information, and fourth information included in the software package.
  8. 根据权利要求1-7任一项所述的方法,其特征在于,所述第二标识用于使所述第一服务器将所述数据包加载在所述第二标识所标识的可编程器件上包括:The method according to any one of claims 1 to 7, wherein the second identifier is for causing the first server to load the data packet on a programmable device identified by the second identifier include:
    所述第二标识用于当所述第一服务器中的所述第二标识所标识的可编程器件上未加载有软件时,使所述第一服务器将所述数据包加载在所述第二标识所标识的可编程器件上;或 The second identifier is configured to enable the first server to load the data packet in the second when software is not loaded on the programmable device identified by the second identifier in the first server Identifying the identified programmable device; or
    所述第二标识用于当所述第一服务器中的所述第二标识所标识的可编程器件上已加载有第二软件,且所述第二软件不具有所述加速类型时,使所述第一服务器从所述第二标识所标识的可编程器件上卸载掉所述第二软件,并将所述数据包加载在所述第二标识所标识的可编程器件上。The second identifier is configured to: when the second software is loaded on the programmable device identified by the second identifier in the first server, and the second software does not have the acceleration type, The first server unloads the second software from the programmable device identified by the second identifier and loads the data packet on the programmable device identified by the second identifier.
  9. 一种软件加载方法,其特征在于,所述方法应用于虚拟化基础设施管理器VIM,包括:A software loading method, the method being applied to a virtualized infrastructure manager VIM, comprising:
    接收网络功能虚拟化编排NFVO发送的包括加速类型和加速容量的业务请求;The receiving network function virtualizes the service request sent by the NFVO including the acceleration type and the acceleration capacity;
    根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息,并根据所述第一信息、所述处理能力信息和所述加速容量从器件库获取需要加载所述第一软件且空闲的可编程器件的第一标识以及用于管理所述第一标识所标识的可编程器件的服务器的第二标识,所述第一信息包括器件类型和生产厂家;Determining, according to the acceleration type and the software information library, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of a programmable device capable of loading the first software And acquiring, from the device library, a first identifier of the programmable device that needs to load the first software and is idle according to the first information, the processing capability information, and the acceleration capacity, and for managing the first identifier a second identifier of the server of the identified programmable device, the first information including the device type and the manufacturer;
    将所述第一存储链接和所述第一标识发送给所述第二标识所标识的第一服务器,所述第一存储链接用于使所述第一服务器从所述第一存储链接下载所述第一软件的数据包,所述第一标识用于使所述第一服务器将所述数据包加载在所述第一标识所标识的可编程器件上。Sending the first storage link and the first identifier to a first server identified by the second identifier, the first storage link being used to download the first server from the first storage link a data packet of the first software, the first identifier being used to cause the first server to load the data packet on a programmable device identified by the first identifier.
  10. 根据权利要求9所述的方法,其特征在于,所述根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息包括:The method according to claim 9, wherein the determining, according to the acceleration type and the software information base, a first storage link of the first software having the acceleration type, processing capability information of the first software, and The first information of the programmable device capable of loading the first software includes:
    从软件信息库中获取具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息;或者Acquiring, from a software information repository, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of a programmable device capable of loading the first software; or
    从器件库中获取第一可编程器件的器件类型和生产厂家,并根据所述第一可编程器件的器件类型和生产厂家从软件信息库中获取所述第一可编程器件能够加载的软件的软件功能,当所述软件功能包括所述加速类型时,确定所述软件功能对应的软件为第一软件、所述第一可编程器件为能够加载所述第一软件的可编程器件以及所述第一可编程器件的器件类型和生产厂家为第一信息,并从所述软件信息库中获取所述第一软件的第一存储链接和处理能力信息,所述第一可编程器件是所述第一器件库中的任一空闲的可编程器件。Obtaining a device type and a manufacturer of the first programmable device from the device library, and obtaining, according to the device type of the first programmable device, and the manufacturer, the software that can be loaded by the first programmable device from the software information library a software function, when the software function includes the acceleration type, determining that software corresponding to the software function is first software, the first programmable device is a programmable device capable of loading the first software, and The device type and manufacturer of the first programmable device are first information, and the first storage link and processing capability information of the first software is obtained from the software information library, the first programmable device is the Any free programmable device in the first device bank.
  11. 根据权利要求9或10所述的方法,其特征在于,所述业务请求还包括计算资源;The method according to claim 9 or 10, wherein the service request further comprises a computing resource;
    则所述根据所述第一信息、所述处理能力信息和所述加速容量从器件库获取需要加载所述第一软件且空闲的可编程器件的第一标识以及用于管理所述第一标识所标识的可编程器件的服务器的第二标识包括:And acquiring, from the device library, a first identifier of the programmable device that needs to load the first software and is idle according to the first information, the processing capability information, and the acceleration capacity, and for managing the first identifier The second identification of the server of the identified programmable device includes:
    根据所述加速容量和所述处理能力信息确定需要加载所述第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于所述计算资源以及包括空闲的所述第一信息对应的可编程器件的数量不小于所述器件数量的第一服务器,从器件库中所述第一服务器管理的可编程器件中获取所述器件数量个空闲的所述第一信息对应的可编程器件的第一标识,以及从所述器件库中获取所述第一服务器的第二标识。Determining, according to the acceleration capacity and the processing capability information, a number of devices of the programmable device that need to load the first software, and selecting, from the managed server, that the idle computing resource is not less than the computing resource and including the idle a first server in which the number of programmable devices corresponding to the information is not less than the number of the devices, and the first information corresponding to the number of the devices is obtained from the programmable device managed by the first server in the device library. A first identification of the programmable device and obtaining a second identification of the first server from the library of devices.
  12. 根据权利要求9-11任一项所述的方法,其特征在于,所述方法还包括:The method of any of claims 9-11, wherein the method further comprises:
    接收第二服务器发送的第二信息,所述第二信息包括第二可编程器件的器件类型、生产 厂家和标识,所述第二服务器为所述VIM管理的且用于管理所述第二可编程器件的服务器;Receiving second information sent by the second server, the second information including device type, production of the second programmable device a manufacturer and an identifier, the second server being a server managed by the VIM and configured to manage the second programmable device;
    建立包括所述第二信息和所述第二服务器的标识的器件库。A device library including the second information and the identity of the second server is established.
  13. 根据权利要求9-12任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 9 to 12, wherein the method further comprises:
    接收软件包并发送给目录库,以使所述目录库存储所述软件包并返回所述软件包的第二存储链接,所述软件包包括软件功能信息、软件版本信息、处理能力信息以及第三信息,所述第三信息包括能够加载所述软件包对应软件的可编程器件的器件类型和生产厂家;Receiving a software package and sending it to a catalog, such that the catalog store stores the software package and returns a second storage link of the software package, the software package including software function information, software version information, processing capability information, and Three information, the third information includes a device type and a manufacturer of a programmable device capable of loading the software corresponding to the software package;
    接收所述第二存储链接,并建立包括所述第二存储链接和所述软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。Receiving the second storage link, and establishing a software information library including the second storage link and software function information, software version information, processing capability information, and third information included in the software package.
  14. 根据权利要求9-13任一项所述的方法,其特征在于,所述第一标识用于使所述第一服务器将所述数据包加载在所述第一标识所标识的可编程器件上包括:The method according to any one of claims 9 to 13, wherein the first identifier is for causing the first server to load the data packet on a programmable device identified by the first identifier include:
    所述第一标识用于当所述第一服务器中的所述第一标识所标识的可编程器件上未加载有软件时,使所述第一服务器将所述数据包加载在所述第一标识所标识的可编程器件上;或The first identifier is configured to enable the first server to load the data packet in the first when software is not loaded on the programmable device identified by the first identifier in the first server Identifying the identified programmable device; or
    所述第一标识用于当所述第一服务器中的所述第一标识所标识的可编程器件上已加载有第二软件,且所述第二软件不具有所述加速类型时,使所述第一服务器从所述第一标识所标识的可编程器件上卸载掉所述第二软件,并将所述数据包加载在所述第一标识所标识的可编程器件上。The first identifier is configured to: when the second software is loaded on the programmable device identified by the first identifier in the first server, and the second software does not have the acceleration type, The first server unloads the second software from the programmable device identified by the first identifier and loads the data packet on the programmable device identified by the first identifier.
  15. 一种软件加载系统,其特征在于,包括网络功能虚拟化编排NFVO和第一虚拟化基础设施管理器VIM,其中:A software loading system, comprising: a network function virtualization orchestration NFVO and a first virtualization infrastructure manager VIM, wherein:
    所述NFVO,用于接收包括加速类型和加速容量的业务请求,根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息,根据所述第一信息、所述处理能力信息和所述加速容量从第一器件库获取用于管理能够加载所述第一软件且空闲的可编程器件的VIM的第一标识,并将所述第一存储链接、所述第一信息和用于指示需要加载所述第一软件的可编程器件数量的第二信息发送给所述第一标识所标识的第一VIM,所述第一信息包括器件类型和生产厂家;The NFVO is configured to receive a service request including an acceleration type and an acceleration capacity, and determine, according to the acceleration type and the software information base, a first storage link of the first software having the acceleration type, and a processing capability of the first software. Information and first information of a programmable device capable of loading the first software, acquired from the first device library according to the first information, the processing capability information, and the acceleration capacity for managing loading the first a first identification of the VIM of the software and idle programmable device, and transmitting the first storage link, the first information, and second information indicating a number of programmable devices that need to load the first software to The first VIM identified by the first identifier, the first information includes a device type and a manufacturer;
    所述第一VIM,用于接收所述NFVO发送的所述第一存储链接、所述第一信息和所述第二信息,根据所述第一信息和所述第二信息从第二器件库中获取需要加载所述第一软件的可编程器件的第二标识以及用于管理所述第二标识所标识的可编程器件的服务器的第三标识,并将所述第一存储链接和所述第二标识发送给所述第三标识所标识的第一服务器,所述第一存储链接用于使所述第一服务器从所述第一存储链接下载所述第一软件的数据包,所述第第二标识用于使所述第一服务器将所述数据包加载在所述第二标识所标识的可编程器件上。The first VIM, configured to receive the first storage link, the first information, and the second information sent by the NFVO, according to the first information and the second information, from a second device library Obtaining a second identifier of a programmable device that needs to load the first software and a third identifier of a server for managing a programmable device identified by the second identifier, and linking the first storage link and the Transmitting, to the first server identified by the third identifier, the first storage link is configured to enable the first server to download a data packet of the first software from the first storage link, The second identifier is for causing the first server to load the data packet on the programmable device identified by the second identifier.
  16. 根据权利要求15所述的系统,其特征在于,所述NFVO用于根据所述加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息包括:The system according to claim 15, wherein said NFVO is configured to determine a first storage link of said first software having said acceleration type, said first software processing according to said acceleration type and software information base The first information of the capability information and the programmable device capable of loading the first software includes:
    所述NFVO,用于从软件信息库中获取具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息;或者 The NFVO, configured to acquire, from a software information repository, a first storage link of the first software having the acceleration type, processing capability information of the first software, and a programmable device capable of loading the first software a message; or
    所述NFVO,用于从第一器件库中获取第一可编程器件的器件类型和生产厂家,并根据所述第一可编程器件的器件类型和生产厂家从软件信息库中获取所述第一可编程器件能够加载的软件的软件功能,当所述软件功能包括所述加速类型时,确定所述软件功能对应的软件为第一软件、所述第一可编程器件为能够加载所述第一软件的可编程器件以及所述第一可编程器件的器件类型和生产厂家为第一信息,并从所述软件信息库中获取所述第一软件的第一存储链接和处理能力信息,所述第一可编程器件是所述第一器件库中的任一空闲的可编程器件。The NFVO is configured to obtain a device type and a manufacturer of the first programmable device from the first device library, and obtain the first from the software information library according to the device type of the first programmable device and the manufacturer. a software function of the software that can be loaded by the programmable device, when the software function includes the acceleration type, determining that the software corresponding to the software function is the first software, and the first programmable device is capable of loading the first The programmable device of the software and the device type and manufacturer of the first programmable device are first information, and the first storage link and processing capability information of the first software is obtained from the software information library, The first programmable device is any free programmable device in the first device bank.
  17. 根据权利要求15或16所述的系统,其特征在于,所述第二信息为需要加载所述第一软件的可编程器件的器件数量;The system according to claim 15 or 16, wherein said second information is a number of devices of a programmable device that needs to load said first software;
    所述NFVO,还用于根据所述加速容量和所述处理能力信息确定需要加载所述第一软件的可编程器件的器件数量。The NFVO is further configured to determine, according to the acceleration capacity and the processing capability information, a number of devices of a programmable device that needs to load the first software.
  18. 根据权利要求15或16所述的系统,其特征在于,所述第二信息包括所述加速容量和所述处理能力信息;The system according to claim 15 or 16, wherein said second information comprises said acceleration capacity and said processing capability information;
    所述第一VIM用于根据所述第一信息和所述第二信息从第二器件库中获取需要加载所述第一软件的可编程器件的第二标识以及用于管理所述第二标识所标识的可编程器件的服务器的第三标识包括:The first VIM is configured to acquire, from the second device library, a second identifier of the programmable device that needs to load the first software according to the first information and the second information, and to manage the second identifier The third identifier of the server of the identified programmable device includes:
    所述第一VIM,用于根据所述加速容量和所述处理能力信息确定需要加载所述第一软件的可编程器件的器件数量,从管理的服务器中选取包括空闲的所述第一信息对应的可编程器件的数量不小于所述器件数量的第一服务器,从第二器件库中所述第一服务器管理的可编程器件中获取所述器件数量个空闲的所述第一信息对应的可编程器件的第二标识,以及从所述第二器件库中获取所述第一服务器的第三标识。The first VIM is configured to determine, according to the acceleration capacity and the processing capability information, a quantity of devices that need to load the programmable device of the first software, and select, from the managed server, the first information that includes the idle information. The first server of the number of programmable devices is not less than the number of the devices, and the first information corresponding to the number of devices is obtained from the programmable device managed by the first server in the second device library. Programming a second identification of the device and obtaining a third identification of the first server from the second library of devices.
  19. 根据权利要求15-17任一项所述的系统,其特征在于,所述业务请求还包括计算资源;The system according to any one of claims 15-17, wherein the service request further comprises a computing resource;
    所述第一VIM用于根据所述第一信息和所述第二信息从第二器件库中获取需要加载所述第一软件的可编程器件的第二标识以及用于管理所述第二标识所标识的可编程器件的服务器的第三标识包括:The first VIM is configured to acquire, from the second device library, a second identifier of the programmable device that needs to load the first software according to the first information and the second information, and to manage the second identifier The third identifier of the server of the identified programmable device includes:
    所述第一VIM,用于从管理的服务器中选取空闲的计算资源不小于所述计算资源以及包括空闲的所述第一信息对应的可编程器件的数量不小于所述第二信息所指示的可编程器件数量的第一服务器,从第二器件库中所述第一服务器管理的可编程器件中获取所述第二信息所指示的可编程器件数量个空闲的所述第一信息对应的可编程器件的第二标识,以及从所述第二器件库中获取所述第一服务器的第三标识。The first VIM is configured to select, from the managed server, that the idle computing resource is not less than the computing resource, and the number of programmable devices corresponding to the idle first information is not less than that indicated by the second information. a first server of the number of programmable devices, wherein the number of programmable devices indicated by the second information is obtained from the programmable device managed by the first server in the second device library, and the first information corresponding to the first information is available Programming a second identification of the device and obtaining a third identification of the first server from the second library of devices.
  20. 根据权利要求15-19任一项所述的系统,其特征在于,所述系统还包括第二VIM,其中:A system according to any of claims 15-19, wherein the system further comprises a second VIM, wherein:
    所述第二VIM,用于接收第二服务器发送的第三信息,建立包括所述第三信息和所述第二服务器的标识的第二器件库,以及将所述第三信息和所述第二服务器的标识发送给所述NFVO,所述第三信息包括第二可编程器件的器件类型、生产厂家和标识,所述第二服务器为用于管理所述第二可编程器件的服务器,所述第二VIM是用于管理所述第二服务器的VIM;The second VIM is configured to receive third information sent by the second server, establish a second device library including the third information and the identifier of the second server, and the third information and the first An identifier of the second server is sent to the NFVO, the third information includes a device type, a manufacturer, and an identifier of the second programmable device, and the second server is a server for managing the second programmable device, The second VIM is a VIM for managing the second server;
    所述NFVO,还用于接收所述第二VIM发送的所述第三信息和所述第二服务器的标识,并根据所述第三信息、所述第二服务器的标识和所述第二VIM的标识建立第一器件库。 The NFVO is further configured to receive the third information sent by the second VIM and the identifier of the second server, and according to the third information, the identifier of the second server, and the second VIM The identity identifies the first device library.
  21. 根据权利要求15-20任一项所述的系统,其特征在于,所述系统还包括第三VIM或目录库,其中:A system according to any one of claims 15 to 20, wherein the system further comprises a third VIM or catalog, wherein:
    所述NFVO,还用于接收软件包并发送给所述第三VIM或所述目录库,所述软件包包括软件功能信息、软件版本信息、处理能力信息以及第四信息,所述第四信息包括能够加载所述软件包对应软件的可编程器件的器件类型和生产厂家;The NFVO is further configured to receive a software package and send the software package to the third VIM or the directory, where the software package includes software function information, software version information, processing capability information, and fourth information, the fourth information. a device type and manufacturer including a programmable device capable of loading software corresponding to the software package;
    所述第三VIM或所述目录库,用于接收所述NFVO发送的所述软件包,存储所述软件包,并将所述软件包的第二存储链接发送给所述NFVO;The third VIM or the directory library, configured to receive the software package sent by the NFVO, store the software package, and send a second storage link of the software package to the NFVO;
    所述NFVO,还用于接收所述第三VIM或所述目录库发送的所述第二存储链接,并建立包括所述第二存储链接和所述软件包包括的软件功能信息、软件版本信息、处理能力信息以及第四信息的软件信息库。The NFVO is further configured to receive the second storage link sent by the third VIM or the directory, and establish software function information and software version information included by the second storage link and the software package. A software information base for processing capability information and fourth information.
  22. 一种虚拟化基础设施管理器VIM,其特征在于,包括:A virtualized infrastructure manager VIM, comprising:
    通信单元,用于接收网络功能虚拟化编排NFVO发送的包括加速类型和加速容量的业务请求;a communication unit, configured to receive, by the network function, a service request that includes an acceleration type and an acceleration capacity sent by the NFVO;
    确定单元,用于根据所述通信单元接收的加速类型和软件信息库确定具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息,所述第一信息包括器件类型和生产厂家;a determining unit, configured to determine, according to an acceleration type and a software information library received by the communication unit, a first storage link of the first software having the acceleration type, processing capability information of the first software, and being capable of loading the first First information of the programmable device of the software, the first information including the device type and the manufacturer;
    获取单元,用于根据所述确定单元确定的第一信息、所述确定单元确定的处理能力信息和所述通信单元接收的加速容量从器件库获取需要加载所述第一软件且空闲的可编程器件的第一标识以及用于管理所述第一标识所标识的可编程器件的服务器的第二标识;An acquiring unit, configured to acquire, according to the first information determined by the determining unit, the processing capability information determined by the determining unit, and the acceleration capacity received by the communication unit, from the device library, to be programmable, that the first software needs to be loaded and idle a first identification of the device and a second identification of a server for managing the programmable device identified by the first identification;
    所述通信单元,还用于将所述确定单元确定的第一存储链接和所述获取单元获取的第一标识发送给所述获取单元获取的第二标识所标识的第一服务器,所述第一存储链接用于使所述第一服务器从所述第一存储链接下载所述第一软件的数据包,所述第一标识用于使所述第一服务器将所述数据包加载在所述第一标识所标识的可编程器件上。The communication unit is further configured to send the first storage link determined by the determining unit and the first identifier acquired by the acquiring unit to the first server identified by the second identifier acquired by the acquiring unit, where the a storage link for causing the first server to download a data packet of the first software from the first storage link, the first identifier being used to cause the first server to load the data packet in the The first identification is identified on the programmable device.
  23. 根据权利要求22所述的VIM,其特征在于,所述确定单元具体用于:The VIM according to claim 22, wherein the determining unit is specifically configured to:
    从软件信息库中获取具有所述加速类型的第一软件的第一存储链接、所述第一软件的处理能力信息和能够加载所述第一软件的可编程器件的第一信息;或者Acquiring, from a software information repository, a first storage link of the first software having the acceleration type, processing capability information of the first software, and first information of a programmable device capable of loading the first software; or
    从器件库中获取第一可编程器件的器件类型和生产厂家,并根据所述第一可编程器件的器件类型和生产厂家从软件信息库中获取所述第一可编程器件能够加载的软件的软件功能,当所述软件功能包括所述加速类型时,确定所述软件功能对应的软件为第一软件、所述第一可编程器件为能够加载所述第一软件的可编程器件以及所述第一可编程器件的器件类型和生产厂家为第一信息,并从所述软件信息库中获取所述第一软件的第一存储链接和处理能力信息,所述第一可编程器件是所述第一器件库中的任一空闲的可编程器件。Obtaining a device type and a manufacturer of the first programmable device from the device library, and obtaining, according to the device type of the first programmable device, and the manufacturer, the software that can be loaded by the first programmable device from the software information library a software function, when the software function includes the acceleration type, determining that software corresponding to the software function is first software, the first programmable device is a programmable device capable of loading the first software, and The device type and manufacturer of the first programmable device are first information, and the first storage link and processing capability information of the first software is obtained from the software information library, the first programmable device is the Any free programmable device in the first device bank.
  24. 根据权利要求22或23所述的VIM,其特征在于,所述业务请求还包括计算资源;The VIM according to claim 22 or 23, wherein the service request further comprises a computing resource;
    所述获取单元具体用于:The obtaining unit is specifically configured to:
    根据所述加速容量和所述处理能力信息确定需要加载所述第一软件的可编程器件的器件数量,从管理的服务器中选取空闲的计算资源不小于所述计算资源以及包括空闲的所述第 一信息对应的可编程器件的数量不小于所述器件数量的第一服务器,从器件库中所述第一服务器管理的可编程器件中获取所述器件数量个空闲的所述第一信息对应的可编程器件的第一标识,以及从所述器件库中获取所述第一服务器的第二标识。Determining, according to the acceleration capacity and the processing capability information, a number of devices of the programmable device that need to load the first software, and selecting, from the managed server, that the idle computing resource is not less than the computing resource and including the idle a first server in which the number of programmable devices corresponding to the information is not less than the number of the devices, and the first information corresponding to the number of the devices is obtained from the programmable device managed by the first server in the device library. A first identification of the programmable device and obtaining a second identification of the first server from the library of devices.
  25. 根据权利要求22-24任一项所述的VIM,其特征在于,所述通信单元,还用于接收第二服务器发送的第二信息,所述第二信息包括第二可编程器件的器件类型、生产厂家和标识,所述第二服务器为所述VIM管理的且用于管理所述第二可编程器件的服务器;The VIM according to any one of claims 22 to 24, wherein the communication unit is further configured to receive second information sent by the second server, where the second information includes a device type of the second programmable device. a manufacturer and an identifier, the second server being a server managed by the VIM and configured to manage the second programmable device;
    所述VIM还包括:The VIM also includes:
    第一建立单元,用于建立包括所述通信单元接收的第二信息和所述第二服务器的标识的器件库。And a first establishing unit, configured to establish a device library including the second information received by the communication unit and the identifier of the second server.
  26. 根据权利要求22-25任一项所述的VIM,其特征在于,所述通信单元,还用于接收软件包并发送给目录库,以使所述目录库存储所述软件包并返回所述软件包的第二存储链接,所述软件包包括软件功能信息、软件版本信息、处理能力信息以及第三信息,所述第三信息包括能够加载所述软件包对应软件的可编程器件的器件类型和生产厂家;The VIM according to any one of claims 22-25, wherein the communication unit is further configured to receive a software package and send the software package to the directory library, so that the directory library stores the software package and returns the a second storage link of the software package, the software package including software function information, software version information, processing capability information, and third information, the third information including a device type of a programmable device capable of loading the software package corresponding software And the manufacturer;
    所述通信单元,还用于接收所述第二存储链接;The communication unit is further configured to receive the second storage link;
    所述VIM还包括:The VIM also includes:
    第二建立单元,用于建立包括所述第二存储链接和所述软件包包括的软件功能信息、软件版本信息、处理能力信息以及第三信息的软件信息库。 And a second establishing unit, configured to establish a software information library including the second storage link and software function information, software version information, processing capability information, and third information included in the software package.
PCT/CN2017/081896 2016-05-10 2017-04-25 Software loading method, device and system WO2017193810A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610309117.7 2016-05-10
CN201610309117.7A CN107357603B (en) 2016-05-10 2016-05-10 Software loading method, equipment and system

Publications (1)

Publication Number Publication Date
WO2017193810A1 true WO2017193810A1 (en) 2017-11-16

Family

ID=60266327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/081896 WO2017193810A1 (en) 2016-05-10 2017-04-25 Software loading method, device and system

Country Status (2)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256343B (en) * 2016-05-10 2022-05-10 华为技术有限公司 Software loading method, equipment and system
CN110365508B (en) * 2018-04-10 2022-05-31 中国移动通信有限公司研究院 Method for instantiating virtual network function and network function virtualization orchestrator
CN108900337B (en) * 2018-06-29 2021-07-16 郑州云海信息技术有限公司 Fault recovery method, server, client and system for metadata service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348873A (en) * 2013-08-05 2015-02-11 中兴通讯股份有限公司 Virtual network element automatic loading method and system and virtual machine IP (Internet Protocol) address acquisition method and system
WO2015126430A1 (en) * 2014-02-24 2015-08-27 Hewlett-Packard Development Company, L.P. Virtual network function management with deactivated virtual machines
CN105247826A (en) * 2013-01-11 2016-01-13 华为技术有限公司 Network function virtualization for a network device
CN105379191A (en) * 2014-01-29 2016-03-02 华为技术有限公司 Method for upgrading virtualized network function and network function virtualization orchestrator

Family Cites Families (24)

* 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 (en) * 2004-12-22 2007-12-26 华为技术有限公司 Method for loading software
CN101770375A (en) * 2008-12-26 2010-07-07 新奥特(北京)视频技术有限公司 Method for realizing automatic update of software as well as system and device therefor
CN102215118B (en) * 2010-04-01 2013-08-28 华为技术有限公司 Method, device and system for realizing device management services
DE102010064279A1 (en) * 2010-12-28 2012-06-28 Endress + Hauser Flowtec Ag Field device with long-term firmware compatibility
CN103297932A (en) * 2012-02-27 2013-09-11 联想(北京)有限公司 Mobile terminal and method for processing notification message thereof
US9880852B2 (en) * 2012-12-27 2018-01-30 Intel Corporation Programmable hardware accelerators in CPU
EP2957080B1 (en) * 2013-02-12 2020-06-10 Hewlett-Packard Enterprise Development LP Network control using software defined flow mapping and virtualized network functions
CN103559591B (en) * 2013-11-20 2016-10-26 北京可信华泰信息技术有限公司 Software management system based on trust computing and management method
CN105103125B (en) * 2014-02-10 2017-12-05 华为技术有限公司 The acquisition methods and NFV devices of clock interrupt signal
WO2015139310A1 (en) * 2014-03-21 2015-09-24 华为技术有限公司 Service allocation method and related device
EP3107246B1 (en) * 2014-03-26 2019-05-22 Huawei Technologies Co., Ltd. Network function virtualization-based certificate configuration
CN104954220B (en) * 2014-03-31 2018-01-16 华为技术有限公司 A kind of virtual network service deployment method and apparatus
CN108039964B (en) * 2014-04-09 2021-02-23 华为技术有限公司 Fault processing method, device and system based on network function virtualization
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
WO2016033193A1 (en) * 2014-08-26 2016-03-03 Matthew Hayden Harper 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 (en) * 2014-09-20 2018-03-27 华为技术有限公司 Software deployment method, system and the relevant device of virtual network function network element
CN104267985A (en) * 2014-09-23 2015-01-07 杭州华三通信技术有限公司 Software loading method and device
EP3198797A1 (en) * 2014-09-25 2017-08-02 Intel IP Corporation Network functions virtualization
CN104317610B (en) * 2014-10-11 2017-05-03 福建新大陆软件工程有限公司 Method and device for automatic installation and deployment of hadoop platform
CN105468435A (en) * 2015-12-25 2016-04-06 赛特斯信息科技股份有限公司 NFV dynamic resource distribution method
CN112256343B (en) * 2016-05-10 2022-05-10 华为技术有限公司 Software loading method, equipment and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105247826A (en) * 2013-01-11 2016-01-13 华为技术有限公司 Network function virtualization for a network device
CN104348873A (en) * 2013-08-05 2015-02-11 中兴通讯股份有限公司 Virtual network element automatic loading method and system and virtual machine IP (Internet Protocol) address acquisition method and system
CN105379191A (en) * 2014-01-29 2016-03-02 华为技术有限公司 Method for upgrading virtualized network function and network function virtualization orchestrator
WO2015126430A1 (en) * 2014-02-24 2015-08-27 Hewlett-Packard Development Company, L.P. Virtual network function management with deactivated virtual machines

Also Published As

Publication number Publication date
CN107357603A (en) 2017-11-17
CN112256343B (en) 2022-05-10
CN112256343A (en) 2021-01-22
CN107357603B (en) 2020-10-16

Similar Documents

Publication Publication Date Title
US11405274B2 (en) Managing virtual network functions
JP6798667B2 (en) Systems and methods for managing dynamic virtualized network function descriptors
US10678585B2 (en) Methods and apparatus to automatically configure monitoring of a virtual machine
US8141090B1 (en) Automated model-based provisioning of resources
JP5819953B2 (en) Application with many experience modules
US20220075666A1 (en) Containerized vnf deployment method and related device
US10999326B1 (en) Fine grained network security
US20130227565A1 (en) Apparatus and method for managing application for guest operating system
US20210326161A1 (en) Apparatus and method for multi-cloud service platform
WO2017193810A1 (en) Software loading method, device and system
US20210334126A1 (en) On-demand code execution with limited memory footprint
US20230221997A1 (en) System and method for subscription management using composed systems
WO2022056845A1 (en) A method of container cluster management and system thereof
WO2018157484A1 (en) Network configuration method and terminal
CN109218259B (en) License management method and device, APPLM functional entity and computer readable storage medium
US11509746B2 (en) Distributing user requests to cloud computing systems across regions using a machine learning model
US10154300B2 (en) Dynamic content installer for mobile devices
US20190155834A1 (en) Loading Method and Apparatus
US9880891B2 (en) Assignment and failover of resources

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17795428

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17795428

Country of ref document: EP

Kind code of ref document: A1