CN111124535B - Function expansion method, device, equipment and storage medium of cloud host QGA - Google Patents

Function expansion method, device, equipment and storage medium of cloud host QGA Download PDF

Info

Publication number
CN111124535B
CN111124535B CN201911244753.6A CN201911244753A CN111124535B CN 111124535 B CN111124535 B CN 111124535B CN 201911244753 A CN201911244753 A CN 201911244753A CN 111124535 B CN111124535 B CN 111124535B
Authority
CN
China
Prior art keywords
module
request
function
network
qga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911244753.6A
Other languages
Chinese (zh)
Other versions
CN111124535A (en
Inventor
郭敬宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN201911244753.6A priority Critical patent/CN111124535B/en
Publication of CN111124535A publication Critical patent/CN111124535A/en
Application granted granted Critical
Publication of CN111124535B publication Critical patent/CN111124535B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a function expansion method of a built-in QGA (QGA) of a cloud host, which comprises the following steps: after receiving the request for executing the QGA function, if the request is not inquired on the local computer, the function module corresponding to the request can be automatically downloaded and hot-loaded from the function expansion server in the management network through the penetration of the service network and the management network, and then the function module is executed; by the mode, after the QGA has a new function, manual updating is performed without manual intervention, so that a large amount of labor cost is saved, and the expansion speed of the QGA function is increased; the invention also discloses a function expansion device, equipment and a computer readable storage medium of the cloud host built-in QGA, and the technical effects can be realized.

Description

Function expansion method, device, equipment and storage medium of cloud host QGA
Technical Field
The invention relates to the technical field of function expansion, in particular to a method, a device and equipment for expanding functions of a built-in QGA (QGA) of a cloud host and a computer-readable storage medium.
Background
QGA (qemu guest agent) is a tool in the technical field of KVM (Kernel-based Virtual Machine) virtualization, similar to VMware's vmtools. The function of the virtual cloud host is to install the virtual cloud host inside, and assist a virtualization management tool (vmware, kvm hypervisor) on a computing node to complete a specific function, such as resetting an administrator password, acquiring monitoring data inside the cloud host, and the like. At present, the coupling between functional modules of an original QGA component of an open source community is tight, and the QGA is required to be upgraded integrally by adding or changing a single function. In addition, because the cloud host tenant network (service network) is isolated from the management network of the cloud platform, online upgrade and update cannot be achieved.
Therefore, under the conditions that the QGA functions are continuously increased and frequent upgrade iterations are performed, due to the fact that the number of clients is large and the versions of the QGAs used by the cluster are uneven, a large amount of manpower is required to be consumed for frequently and manually upgrading the QGAs in the numerous cloud hosts one by one.
Disclosure of Invention
The invention aims to provide a method, a device and equipment for expanding the function of a built-in QGA (QGA) of a cloud host and a computer readable storage medium, so that the function of the built-in QGA of the cloud host can be simply and quickly expanded, and the labor cost is saved.
In order to achieve the above object, the present invention provides a method for expanding a function of a cloud host built-in QGA, comprising:
receiving a request to perform a QGA function;
searching whether a functional module corresponding to the request exists on a local machine of the cloud host; the functional module is generated after the QGA is subjected to modular processing;
if so, calling a functional module corresponding to the request to execute the request;
and if the request does not exist, downloading and hot-loading the function module corresponding to the request from a function expansion server in the management network through the penetration of the service network and the management network, and calling the hot-loaded function module to execute the request.
The function module is an individual so file or dll file formed by packaging each function of the QGA.
Wherein, through the penetration of the service network and the management network, downloading and hot-loading the function module corresponding to the request from the function expansion server in the management network, comprises:
sending a module identification query request to a URL (uniform resource locator) of a network node through a service network between the cloud host and the network node, so that the network node sends the module identification query request to a function expansion server in a management network in a socket sharing mode;
receiving module identification information returned by the function expansion server according to the original request path;
determining a module identifier to be downloaded from the module identifier information, and sending a module downloading request to a Uniform Resource Locator (URL) of the network node according to the module identifier to be downloaded and a service network between the cloud host and the network node, so that the network node sends the module downloading request to a function expansion server in a management network in a socket sharing manner;
and receiving the module data to be downloaded returned by the function expansion server according to the request path, and realizing the hot loading of the function module according to the module data to be downloaded.
The module identifier query request carries a query function in the request, so that the function extension server searches module identifier information corresponding to the module identifier query request according to the corresponding relationship between different pre-stored query functions and different pre-stored module identifiers; the module identification information includes module names of different versions of the function module.
Wherein, the network node sends the module identifier query request/module download request to a function expansion server in a management network in a socket sharing mode, and the method comprises the following steps:
the network node receives the module identification query request/module download request through an ns-inner-proxy service in a service network, forwards the module identification query request/module download request to an ns-outer-agent service in a management network in a socket sharing mode, and sends the module identification query request/module download request to the function expansion server through the ns-outer-agent service.
In order to achieve the above object, the present invention further provides a function expansion apparatus for a cloud host with a built-in QGA, including:
a receiving module, configured to receive a request for executing a QGA function;
the searching module is used for searching whether a functional module corresponding to the request exists on the local cloud host; the functional module is generated after the QGA is subjected to modular processing;
the first execution module is used for calling the functional module corresponding to the request to execute the request after the functional module corresponding to the request is found on the local cloud host;
the function module acquisition module is used for downloading and hot-loading the function module corresponding to the request from a function expansion server in a management network through penetration of a service network and the management network after the function module corresponding to the request cannot be found on the cloud host computer;
and the second execution module executes the request by using the function module calling the hot loading.
The function module is an individual so file or dll file formed by packaging each function of the QGA.
Wherein, the function module acquisition module comprises:
a first request sending unit, configured to send a module identifier query request to a URL of a network node through a service network between the cloud host and the network node, so that the network node sends the module identifier query request to a function extension server in a management network in a socket sharing manner;
the first receiving unit is used for receiving the module identification information returned by the function expansion server according to the original request path;
the identification determining unit is used for determining the identification of the module to be downloaded from the module identification information;
a second request sending unit, configured to send a module download request to a URL of the network node according to the identifier of the module to be downloaded and a service network between the cloud host and the network node, so that the network node sends the module download request to a function extension server in a management network in a socket sharing manner;
the second receiving unit is used for receiving the module data to be downloaded returned by the function expansion server according to the request path;
and the hot loading unit is used for realizing hot loading of the functional module according to the module data to be downloaded.
In order to achieve the above object, the present invention further provides a function expansion device with a built-in QGA in a cloud host, including:
a memory for storing a computer program;
and the processor is used for realizing the steps of the function expansion method when executing the computer program.
To achieve the above object, the present invention further provides a computer-readable storage medium having a computer program stored thereon, where the computer program is executed by a processor to implement the steps of the above function expanding method.
According to the scheme, the function expansion method for the built-in QGA of the cloud host provided by the embodiment of the invention comprises the following steps: receiving a request to perform a QGA function; searching whether a functional module corresponding to the request exists on a local machine of the cloud host; the functional module is generated after the QGA is subjected to modular processing; if so, calling a function module corresponding to the request to execute the request; if the function module does not exist, through the penetration of the service network and the management network, the function module corresponding to the request is downloaded from the function expansion server in the management network and is hot-loaded, and the hot-loaded function module is called to execute the request.
It can be seen that, in the present application, after receiving a request for executing the QGA function, if the request is not queried on the local computer, the functional module corresponding to the request can be automatically downloaded and hot-loaded from the function expansion server in the management network through the penetration of the service network and the management network, and executed; by the mode, after the QGA has a new function, manual updating is performed without manual intervention, so that a large amount of labor cost is saved, and the expansion speed of the QGA function is increased;
the invention also discloses a function expansion device, equipment and a computer readable storage medium of the cloud host built-in QGA, and the technical effects can be realized.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flow chart of a function expansion method of a cloud host built-in QGA disclosed in the embodiment of the present invention;
FIG. 2 is a schematic diagram of a system according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a function expansion apparatus with a built-in QGA of a cloud host according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a function expansion device with a built-in QGA of a cloud host according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and 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 embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The embodiment of the invention discloses a method, a device and equipment for expanding the function of a built-in QGA (QGA) of a cloud host and a computer readable storage medium, which are used for realizing simple and rapid expansion of the function of the built-in QGA of the cloud host, thereby saving the labor cost.
Before explaining the scheme, terms of art related to the scheme are explained:
1. QGA (qemu guest agent) is a tool like vmtools of vmware in the technical field of KVM virtualization. The method has the effects that the method is installed inside a cloud host, and a virtualization management tool (vmware, kvm hypervisor) on an auxiliary computing node completes specific functions, such as resetting of an administrator password, taking of monitoring data inside the cloud host and the like.
2. Network name space: a set of independent network protocol stacks (OSI7 layer model) and the various devices and resources involved. The network to which the host corresponds is the root namespace under which various sub-namespaces may be created. The sub-namespaces and the root namespaces are kept in network isolation, one purpose of the sub-namespaces is a virtual router in a virtual network of a cloud computing platform, and the characteristics of the network namespaces are as follows:
a. devices under a sub-network namespace may be created/configured using ip link/addr/route/, bridge/iptables.
b. The program that starts under this namespace, if a network is used, uses the network under the subnet namespace. A subnet namespace is what we commonly say as a "network namespace".
c. A complete operating system comprises 7 namespaces such as network/IPC/MNT/PID/Cgram/UTS/User, and the network namespace is an independent space relative to the operating system in the dimension of 'network', so that the namespaces of the sub-networks and the root network namespace share the file system of the operating system.
Referring to fig. 1, a schematic flow chart of a function expansion method of a cloud host built-in QGA according to an embodiment of the present invention is provided; the method can comprise the following steps:
s101, receiving a request for executing a QGA function;
referring to fig. 2, a schematic diagram of a system architecture provided in the present application is shown; as can be seen from the figure, on a KVM virtualization host (KVM Hypervisor), the host simulates a file of/var/lib/nova/instances/instance-xxx/qemu-guest-agent.sock in a file system as ttyS0 serial device of a cloud host, and when a QGA service in the cloud host is started, a ttyS0 device is monitored instead of tcp (Transmission Control Protocol) or udp (User data Protocol) port. When the "cloud host management and monitoring client" needs to perform some operation on the inside of a certain cloud host, for example, password resetting and data acquisition, a request for executing the function is sent to a KVM hypervisor program on a computing node corresponding to the cloud host, the KVM hypervisor program communicates with a QGA in the cloud host through ttyS0, and the QGA calls a corresponding function module to complete request processing. Thus, the requests in this application are: requests for password reset, data acquisition, etc. functions are performed.
It should be noted that the computing node and the network node in fig. 2 are a logical distinction between the cloud platform itself and the cloud platform according to its assumed role. Wherein, the focus of the computing node is to carry on the computing task, namely: and running the virtual machine, and distributing CPU/memory resources for the virtual machine. The network node is focused on running virtual machine routes (network L3 service) of each tenant of the cloud platform. For a certain virtual route, the virtual route provides mutual access forwarding among all networks of a certain tenant, and provides an IP NAT function for a cloud host to access an external network. The node needs an extranet switch of the upstream data center to serve as an egress of the cloud host that provides extranet access (the function and switch device are not shown in fig. 2). Namely: the network node is used as a traffic convergence point of the whole cloud platform cloud host service network (namely, a tenant network), and the 'forwarding of the QGA request' is put to the node only by utilizing the characteristic, so that the 'unified management' is conveniently realized subsequently. The function expansion server for realizing module query and download service can be an independent server in the same management network with the computation/network node, or a certain computation/network node. The concrete situation depends on the abundance degree of the hardware resource situation. However, the present application is preferably independent, and is as dedicated as possible because the cluster has a case where the nodes are maintained/off-shelf.
It should be noted that the service network of the cloud host may not directly communicate with the management network of the physical host, for the following reasons: the service network of the cloud host is an overlay network, which is isolated from the network of the physical host, and the so-called overlay packet schematic structure and isolation generation principle are as follows:
|o2|o3|o4|i2-i3-i4-i5-i6-i7|
wherein, o 2-o 4 are the Ethernet/IP/UDP information of the OSI model of the host management network, and i 2-i 7 are the 2 to 7 layers of the OSI network stack of the cloud host service network.
When a cloud host accesses a virtual routing gateway or other cloud hosts of different computing nodes of the same network, a service network request is packaged by a virtual machine switch of the computing node, then the service network request is transmitted to a network node or other computing nodes through a physical host management network, and a local virtual machine switch of the latter node unpacks (strips o 2-o 4) to restore the service network request (i 2-i 7). Further, in addition to forwarding requests to the feature extension service through the network node for reasons of isolation between the two networks, the following are also true: the reserved address 169.254.169.254 is used for the query and pull of the QGA module inside the cloud host, and after the request occurs, the request is sent to the gateway in the virtual route of the network node (to inquire the next hop) for further processing.
S102, searching whether a functional module corresponding to the request exists on a local machine of the cloud host; if yes, executing S103; if not, executing S104; the functional module is generated after the QGA is subjected to modular processing; the function module is a separate so file or dll file which packages each function of the QGA.
It should be noted that the functional declaration of the existing QGA module is separated from the implementation, but all the functional declarations are collected together, which is a flow of "request- > forwarding- > processing", and any new extension module modifies the declaration file, resulting in restart of the QGA upgrade, which is a not thorough modularization. Therefore, in the present application, the QGA is modularly processed, so that the QGA exists only as a set of "module and function aware framework", and a single function module integrates function declarations and function implementations, and the QGA maintains all function modules in a certain directory, loads all modules in the directory when the QGA is started, discovers all functions of each module through a introspection mechanism (for example, java reflection, copy of python), and also supports hot loading of a certain new download module.
S103, calling a function module corresponding to the request to execute the request;
and S104, downloading and hot-loading the function module corresponding to the request from the function expansion server in the management network through penetration of the service network and the management network, and calling the hot-loaded function module to execute the request.
It should be noted that, when receiving a request for processing a function such as a reset password, the QGA in the present application first tries to find whether there is a corresponding function module in the local computer; if yes, calling the corresponding functional module to complete the processing of the request; and if not, downloading and hot-loading the function module corresponding to the request from the function expansion server in the management network through the penetration of the service network and the management network, and calling the hot-loaded function module to execute the request.
Specifically, when the method and the device realize the penetration of the network and the downloading of the module, the function called by the request corresponds to the function module one by one, so the method and the device mainly query the remote address of the network node according to the function called by the request so as to realize the query and the downloading of the function module; it should be noted that all cloud host clouds query and download the function module to the same remote website, and the remote address may be http://169.254.169.254: 80/qemu-guest-agent. After accessing the remote address, through the penetration of the service network and the management network, the corresponding module name is obtained from the function expansion server in the management network, then the remote address is accessed again to download the corresponding module, and the hot loading is completed, wherein the hot loading is similar to linux modprobe mod _ xxxxx or windows function opening or closing. If the function module corresponding to the request is not found by the remote address, the function non-support is prompted. In the subsequent flow, after the request is received, the original existing or newly downloaded and loaded functional module can be used for completing the request processing.
It should be noted that the QGA in the existing version only supports searching for the local module, and if the corresponding functional module is not found locally, an error is reported. In the mode provided by the application, after functions included in the project are packaged into an independent so (used by a Linux system) or dll (windows) library and the function module searching and function executing logic is improved, the function module which is downloaded from the function expansion server and is in hot loading correspondence can be supported after the function module which is not in correspondence is not in the local, so that the QGA is manually updated without manual intervention after a new function appears, a large amount of labor cost is saved, and the expansion speed of the QGA function is increased.
Based on the foregoing embodiment, in this embodiment, the downloading and hot-loading the function module corresponding to the request from the function expansion server in the management network through penetration of the service network and the management network in the step S104 may specifically include:
s11, sending a module identification query request to a URL of a network node through a service network between the cloud host and the network node, so that the network node sends the module identification query request to a function expansion server in a management network in a socket sharing mode;
the module identifier query request carries a query function in the request, so that the function expansion server searches module identifier information corresponding to the module identifier query request according to the corresponding relationship between different pre-stored query functions and different pre-stored module identifiers; the module identification information includes module names of different versions of the function module.
It should be noted that the module identifier in this application may be a module name of a functional module, and due to update iteration of software development, even a certain functional module of the QGA may have different versions, which may result in that the module name and the functional module of the different versions are not strictly one-to-one, for example: if multiple versions of a certain function module are maintained in the access extension server, the module name and the module file mod _ xxxx.so are not always one-to-one, which is similar to the case of installing software ssh under linux, and yum install ssh can be directly updated, or yum-show-duplicated search sshd can list all available versions first, and then yum install sshd-x.x.x.x.x.install the specified versions. Therefore, in the present application, the request sent by the client does not include the module identifier of the function module, the module identifier information corresponding to the request needs to be queried from the extended server according to a query function carried in the request, the module identifier information may include module names of multiple versions corresponding to the function module, and when the function module is downloaded, the module name of one version can be selected from the module identifier information as the identifier of the module to be downloaded, thereby implementing downloading of the function module.
S12, receiving module identification information returned by the function expansion server according to the original request path;
s13, determining a module identifier to be downloaded from the module identifier information, and sending a module downloading request to a Uniform Resource Locator (URL) of the network node according to the module identifier to be downloaded and a service network between the cloud host and the network node, so that the network node sends the module downloading request to a function expansion server in a management network in a socket sharing manner;
and S14, receiving the module data to be downloaded returned by the function expansion server according to the request path, and implementing hot loading of the function module according to the module data to be downloaded.
Further, the process of sending the module identifier query request/module download request to the function extension server in the management network by the network node in the present application in a socket sharing manner may include: the network node receives the module identification query request/module download request through the ns-inner-proxy service in the service network, forwards the module identification query request/module download request to the ns-outer-proxy service in the management network in a socket sharing mode, and sends the module identification query request/module download request to the function expansion server through the ns-outer-proxy service.
It should be noted that, in this embodiment, through penetration of the service network and the management network, the function module corresponding to the request is downloaded from the function extension server in the management network and is hot-loaded, and two specific package blocks request operations: one is a request for sending a query module name, and the other is a request for downloading a function module. In this embodiment, since the request paths of the QGA remote acquiring module name and the module downloading by name are the same, the two requests are collectively referred to as "target requests" herein.
When the QGA sends the "target request" to the remote address, since 169.254.169.254 is the computer reserved address and does not belong to a network segment with the cloud host IP resource pool, after receiving the target request, the cloud host network card will send the target request to the gateway of the cloud host tenant network, and the network card device corresponding to the gateway exists in the virtual routing network name space (router netns) of the network node of the cloud computing cluster. Referring to fig. 2, what the "target request" goes from the computing node "virtual switch" to the "virtual switch" of the network node is an overlay network (vxlan or gre), and the service network of the cloud host (i.e., the tenant network) is also isolated from the host network; it should be noted that the overlay network is used to implement transmission of a cloud host service network request between a cloud host and a network node (or other computing nodes) through a hosted management network, but the two networks are isolated. The above "target request" is received by the gateway in the virtual route, and there is a port forwarding rule in the network namespace similar to: iptables-I INPUT-p tcp-dport 80-d 169.254.169.254-j-dport 9999, which can be expressed as: the request with destination IP address 169.254.169.254 and target port 80 is forwarded to 9999 port under the virtual routing network namespace, and 9999 port is snooped by the ns-inner-proxy service, so the "target request" is forwarded to the proxy program.
Furthermore, because the virtual routing network namespaces are isolated from each other, each tenant has a virtual route shared by itself, and the virtual routes of different tenants are isolated from each other. If the QGA query and the download request cannot penetrate the virtual route, the download request is processed in the virtual route, and a download service needs to be deployed for each item in the virtual route of each item, which causes a lot of redundancy and resource occupation. Therefore, in the present application, the service for implementing the query and download of the function module is deployed in the management network, and in order to implement ns-inner-proxy service sharing of all virtual routes, the proxy service is required to penetrate the network name space. According to the characteristic c of the network name space mentioned in the section of "description of professional terms", in this embodiment, a socket sharing mode is adopted to implement IPCs (cross-process communication) of ns-inner-proxy and ns-outer-agent inside and outside the virtual routing network name space, and the socket is only a common file under the operating system. Therefore, the 'target request' can be forwarded to the ns-outer-agent service on the network node in the management network, and the service can obtain the address of the server providing the 'QGA module query and download service' from the configuration file loaded at the time of starting, and forwards the request to the function expansion server.
It should be noted that, since a complete request includes a request and a response, a query result for a target request needs to be returned along an original path, and the path in this embodiment is: function expansion server ← → ns-outer-proxy ← → ns-inner-proxy ← → QGA program in cloud host, the communication of this path is bidirectional, although the 3/4 layer of OSI model changes (IP: PORT combination, or depending on sock) in the middle communication process, the data of the transmission file name or module file itself are all standard HTTP protocol, and various programming languages have mature programming library for downloading data using HTTP, which is not specifically described here.
In addition, the service of 'QGA module query and download service' is realized in the function expansion server of the application, and two main file paths are maintained:
a. db records the corresponding relation of the function calling name and the affiliated functional module (and possible version number);
b. the/download/so/deposit so and dll dynamically link library code modules.
When the request is/qemu-guest-agentsearch _ mod { xxxx, function name }, querying mod _ catalog.
When the request is/qemu-guest-agentdownload _ mod { xxxxx, so, or dll name }, the corresponding file download is provided to the requester.
In summary, when the QGA program in the cloud host receives a request to call a processing module, if the corresponding functional module is locally present, the processing is normally called and completed; due to the fact that software versions are not consistent and the like, the QGA is enabled to obtain better expandability, the product functions are enabled to be richer, and management and monitoring are more complete. Meanwhile, a large amount of labor cost required by manual intervention and manual updating after new QGA functions appear is reduced.
In the following, the function expanding apparatus provided by the embodiment of the present invention is introduced, and the function expanding apparatus described below and the function expanding method described above may be referred to each other.
Referring to fig. 3, a schematic structural diagram of a function expansion apparatus for a cloud host with a built-in QGA according to an embodiment of the present invention is shown; the device includes:
a receiving module 100, configured to receive a request for executing a QGA function;
a searching module 200, configured to search whether a functional module corresponding to the request exists on a cloud host local; the functional module is generated after the QGA is subjected to modular processing;
the first execution module 300 is configured to call the function module corresponding to the request to execute the request after the function module corresponding to the request is found on the cloud host computer;
a function module obtaining module 400, configured to download and hot-load a function module corresponding to the request from a function extension server in a management network through penetration of a service network and the management network after the function module corresponding to the request is not found on the cloud host computer;
a second execution module 500 to execute the request with the functional module calling hot-loading.
The function module is an individual so file or dll file formed by packaging each function of the QGA.
Wherein, the function module acquisition module comprises:
a first request sending unit, configured to send a module identifier query request to a URL of a network node through a service network between the cloud host and the network node, so that the network node sends the module identifier query request to a function extension server in a management network in a socket sharing manner;
the first receiving unit is used for receiving the module identification information returned by the function expansion server according to the original request path;
the identification determining unit is used for determining the identification of the module to be downloaded from the module identification information;
a second request sending unit, configured to send a module download request to a URL of the network node according to the identifier of the module to be downloaded and a service network between the cloud host and the network node, so that the network node sends the module download request to a function extension server in a management network in a socket sharing manner;
the second receiving unit is used for receiving the module data to be downloaded returned by the function expansion server according to the request path;
and the hot loading unit is used for realizing hot loading of the functional module according to the module data to be downloaded.
The module identifier query request carries a query function in the request, so that the function extension server searches module identifier information corresponding to the module identifier query request according to the corresponding relationship between different pre-stored query functions and different pre-stored module identifiers; the module identification information includes module names of different versions of the function module.
Wherein the network node is specifically configured to: and receiving the module identification query request/module download request through the ns-inner-proxy service in the service network, forwarding the module identification query request/module download request to the ns-outer-agent service in the management network in a socket sharing mode, and sending the module identification query request/module download request to the function expansion server through the ns-outer-agent service.
The embodiment of the invention also discloses a function expansion device with a built-in QGA for the cloud host, which comprises:
a memory for storing a computer program;
a processor for implementing the steps of the functionality extension method as described in any of the above method embodiments when executing said computer program.
In this embodiment, the device may be a PC (Personal Computer), or may also be a terminal device such as a smart phone, a tablet Computer, a palmtop Computer, and a portable Computer.
Fig. 4 is a schematic structural diagram of a function expansion device with a built-in QGA of a cloud host according to an embodiment of the present invention; the device may include a memory 11, a processor 12, and a bus 13.
The memory 11 includes at least one type of readable storage medium, which includes a flash memory, a hard disk, a multimedia card, a card type memory (e.g., SD or DX memory, etc.), a magnetic memory, a magnetic disk, an optical disk, and the like. The memory 11 may in some embodiments be an internal storage unit of the device, for example a hard disk of the device. The memory 11 may also be an external storage device of the device in other embodiments, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), etc. provided on the device. Further, the memory 11 may also include both an internal storage unit of the device and an external storage device. The memory 11 may be used not only to store application software installed in the device and various types of data such as program codes for performing a function expanding method, etc., but also to temporarily store data that has been output or is to be output.
The processor 12 may be a Central Processing Unit (CPU), a controller, a microcontroller, a microprocessor or other data Processing chip in some embodiments, and is used for executing program codes stored in the memory 11 or Processing data, such as program codes for executing a function expanding method.
The bus 13 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 4, but this does not indicate only one bus or one type of bus.
Further, the device may further include a network interface 14, and the network interface 14 may optionally include a wired interface and/or a wireless interface (e.g., WI-FI interface, bluetooth interface, etc.), which are generally used to establish a communication connection between the device and other electronic devices.
Optionally, the device may further comprise a user interface, which may comprise a Display (Display), an input unit such as a Keyboard (Keyboard), and optionally a standard wired interface, a wireless interface. Alternatively, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch device, or the like. The display, which may also be referred to as a display screen or display unit, is suitable for displaying information processed in the device and for displaying a visualized user interface.
Fig. 4 shows only the device with the components 11-14, and it will be understood by those skilled in the art that the structure shown in fig. 4 does not constitute a limitation of the device, and may comprise fewer or more components than those shown, or some components may be combined, or a different arrangement of components.
The embodiment of the invention also discloses a computer readable storage medium, wherein a computer program is stored on the computer readable storage medium, and when being executed by a processor, the computer program realizes the steps of the function expanding method in any method embodiment.
Wherein the storage medium may include: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (7)

1. A function expansion method of a built-in QGA (QGA) of a cloud host is characterized by comprising the following steps:
receiving a request to perform a QGA function;
searching whether a functional module corresponding to the request exists on a local machine of the cloud host; the functional module is generated after the QGA is subjected to modular processing;
if so, calling a functional module corresponding to the request to execute the request;
if the request does not exist, downloading and hot-loading the function module corresponding to the request from a function expansion server in the management network through the penetration of the service network and the management network, and calling the hot-loaded function module to execute the request;
wherein, through the penetration of the service network and the management network, downloading and hot-loading the function module corresponding to the request from the function expansion server in the management network, comprises:
sending a module identification query request to a URL (uniform resource locator) of a network node through a service network between the cloud host and the network node, so that the network node sends the module identification query request to a function expansion server in a management network in a socket sharing mode;
receiving module identification information returned by the function expansion server according to the original request path;
determining a module identifier to be downloaded from the module identifier information, and sending a module downloading request to a Uniform Resource Locator (URL) of the network node according to the module identifier to be downloaded and a service network between the cloud host and the network node, so that the network node sends the module downloading request to a function expansion server in a management network in a socket sharing manner;
receiving module data to be downloaded returned by the function expansion server according to a request path, and realizing hot loading of a function module according to the module data to be downloaded;
wherein, the network node sends the module identification query request/module download request to a function expansion server in a management network by adopting a socket sharing mode, and the method comprises the following steps:
the network node receives the module identification query request/module download request through an ns-inner-proxy service in a service network, forwards the module identification query request/module download request to an ns-outer-agent service in a management network in a socket sharing mode, and sends the module identification query request/module download request to the function expansion server through the ns-outer-agent service.
2. The function extension method of claim 1, wherein the function module is a separate so file or dll file that packages each function of the QGA.
3. The function expanding method according to claim 1,
the module identification query request carries a query function in the request, so that the function expansion server searches module identification information corresponding to the module identification query request according to the corresponding relationship between different pre-stored query functions and different module identifications; the module identification information includes module names of different versions of the function module.
4. The utility model provides a function extension device of built-in QGA of cloud host computer which characterized in that includes:
a receiving module, configured to receive a request for executing a QGA function;
the searching module is used for searching whether a functional module corresponding to the request exists on the local cloud host; the functional module is generated after the QGA is subjected to modular processing;
the first execution module is used for calling the functional module corresponding to the request to execute the request after the functional module corresponding to the request is found on the local cloud host;
the function module acquisition module is used for downloading and hot-loading the function module corresponding to the request from a function expansion server in a management network through penetration of a service network and the management network after the function module corresponding to the request cannot be found on the cloud host computer;
the second execution module executes the request by using the function module calling the hot loading;
wherein, the function module obtaining module comprises:
a first request sending unit, configured to send a module identifier query request to a URL of a network node through a service network between the cloud host and the network node, so that the network node sends the module identifier query request to a function extension server in a management network in a socket sharing manner;
the first receiving unit is used for receiving the module identification information returned by the function expansion server according to the original request path;
the identification determining unit is used for determining the identification of the module to be downloaded from the module identification information;
a second request sending unit, configured to send a module download request to a URL of the network node according to the identifier of the module to be downloaded and a service network between the cloud host and the network node, so that the network node sends the module download request to a function extension server in a management network in a socket sharing manner;
the second receiving unit is used for receiving the module data to be downloaded returned by the function expansion server according to the request path;
the hot loading unit is used for realizing hot loading of the functional module according to the module data to be downloaded;
wherein the network node is specifically configured to: and receiving the module identification query request/module download request through an ns-inner-proxy service in a service network, forwarding the module identification query request/module download request to an ns-outer-agent service in a management network in a socket sharing mode, and sending the module identification query request/module download request to the function expansion server through the ns-outer-agent service.
5. The function extension apparatus of claim 4, wherein the function module is a separate so file or dll file that packages each function of the QGA.
6. The utility model provides a function expansion equipment of built-in QGA of cloud host computer which characterized in that includes:
a memory for storing a computer program;
a processor for implementing the steps of the function extension method according to any one of claims 1 to 3 when executing the computer program.
7. A computer-readable storage medium, characterized in that a computer program is stored thereon, which computer program, when being executed by a processor, carries out the steps of the function extension method according to any one of claims 1 to 3.
CN201911244753.6A 2019-12-06 2019-12-06 Function expansion method, device, equipment and storage medium of cloud host QGA Active CN111124535B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911244753.6A CN111124535B (en) 2019-12-06 2019-12-06 Function expansion method, device, equipment and storage medium of cloud host QGA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911244753.6A CN111124535B (en) 2019-12-06 2019-12-06 Function expansion method, device, equipment and storage medium of cloud host QGA

Publications (2)

Publication Number Publication Date
CN111124535A CN111124535A (en) 2020-05-08
CN111124535B true CN111124535B (en) 2022-06-03

Family

ID=70497759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911244753.6A Active CN111124535B (en) 2019-12-06 2019-12-06 Function expansion method, device, equipment and storage medium of cloud host QGA

Country Status (1)

Country Link
CN (1) CN111124535B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114721746B (en) * 2022-06-06 2022-09-09 杭州玳数科技有限公司 Trino catalog hot loading method and system
CN117193936B (en) * 2023-08-28 2024-06-11 北京志凌海纳科技股份有限公司 Virtual machine management method, device and equipment under super fusion architecture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763640A (en) * 2016-02-04 2016-07-13 无锡华云数据技术服务有限公司 Virtual machine management and control system under cloud computing environment
CN107704312A (en) * 2017-10-18 2018-02-16 顺丰科技有限公司 A kind of qemu kvm virtual machines is performed any order method and storage medium
CN108139925A (en) * 2016-05-31 2018-06-08 博科通讯系统有限公司 The high availability of virtual machine
CN109002344A (en) * 2018-06-12 2018-12-14 广东睿江云计算股份有限公司 A kind of method of cloud management platform resetting KVM virtual machine password

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10437487B2 (en) * 2016-08-04 2019-10-08 Trilio Data, Inc. Prioritized backup operations for virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763640A (en) * 2016-02-04 2016-07-13 无锡华云数据技术服务有限公司 Virtual machine management and control system under cloud computing environment
CN108139925A (en) * 2016-05-31 2018-06-08 博科通讯系统有限公司 The high availability of virtual machine
CN107704312A (en) * 2017-10-18 2018-02-16 顺丰科技有限公司 A kind of qemu kvm virtual machines is performed any order method and storage medium
CN109002344A (en) * 2018-06-12 2018-12-14 广东睿江云计算股份有限公司 A kind of method of cloud management platform resetting KVM virtual machine password

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Chayawat Pechwises.A Transparent Hypervisor-level Checkpoint-Restart Mechanism for a Cluster of Virtual Machines.《IEEE》.2018, *
郑印等.一种基于OpenStack的云存储空间动态调整方案.《计算机技术与发展》.2016,(第10期), *

Also Published As

Publication number Publication date
CN111124535A (en) 2020-05-08

Similar Documents

Publication Publication Date Title
US10445089B2 (en) Hitless upgrades of a container of a network element
US11502950B2 (en) Universal customer premise equipment
EP3430512B1 (en) Network virtualization of containers in computing systems
US10091055B2 (en) Configuration service for configuring instances
US20190171435A1 (en) Distributed upgrade in virtualized computing environments
CN115291964A (en) Mechanism to reduce server-less function startup latency
CN109547349B (en) Virtual routing-based traffic management method, device, terminal and storage medium
CN110213391B (en) Method and device for configuring network protocol address
WO2014058935A1 (en) Virtual machine multicast/broadcast in virtual network
CN113301116A (en) Cross-network communication method, device, system and equipment for microservice application
CN111124535B (en) Function expansion method, device, equipment and storage medium of cloud host QGA
CN109936641B (en) Domain name resolution method, virtual switch and distributed DNS system
CN114024853B (en) Hardware information collection method and system of bare metal node and related components
CN115941241A (en) Role-based access control automatic generation in cloud-local software-defined networking architecture
US9760528B1 (en) Methods and systems for creating a network
CN114662102A (en) File processing method and device and storage medium
US20240097983A1 (en) Translation of a source intent policy model to a target intent policy model
CN114760199B (en) SDN-based network configuration information issuing method, system and storage medium
CN114430379B (en) Method, apparatus and computer readable medium for discovering network resources
EP4340312A1 (en) Translation of a source intent policy model to a target intent policy model
US20240179183A1 (en) Efficient updating of device-level security configuration based on changes to security intent policy model
US20220337548A1 (en) Data access methods and systems
CN116880955A (en) Micro-service application deployment method and device based on dock container
CN118051342A (en) Method, system and equipment for creating k8s load balance in local area network environment
CN117478634A (en) Network address access method and device, storage medium and electronic device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231206

Address after: Room 1801, 18th Floor, Jiyun Investment Building, No. 278 Xinyi Road, Zhengdong New District, Zhengzhou City, Henan Province, 450018

Patentee after: Zhengzhou Inspur Data Technology Co.,Ltd.

Address before: Room s311, S05 / F, Langchao Science Park, 1036 Langchao Road, high tech Zone, Jinan City, Shandong Province, 250101

Patentee before: Inspur(Jinan)Data Technology Co.,Ltd

TR01 Transfer of patent right