WO2020077763A1 - 一种应用程序的管理方法及系统 - Google Patents

一种应用程序的管理方法及系统 Download PDF

Info

Publication number
WO2020077763A1
WO2020077763A1 PCT/CN2018/119360 CN2018119360W WO2020077763A1 WO 2020077763 A1 WO2020077763 A1 WO 2020077763A1 CN 2018119360 W CN2018119360 W CN 2018119360W WO 2020077763 A1 WO2020077763 A1 WO 2020077763A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
information
upgrade
node
central node
Prior art date
Application number
PCT/CN2018/119360
Other languages
English (en)
French (fr)
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 网宿科技股份有限公司
Priority to US17/043,204 priority Critical patent/US11316800B2/en
Priority to EP18937029.9A priority patent/EP3866439A4/en
Publication of WO2020077763A1 publication Critical patent/WO2020077763A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • the invention relates to the field of computer application technology, and in particular to an application program management method and system.
  • CDN Content Delivery Network
  • edge node multiple application programs can be deployed on each edge node, and there are two ways to manage the edge node, one is not virtualization, and the other is virtualization at the operating system level. If the edge nodes are not virtualized, since all applications are installed on an operating system, the applications will compete for server resources with each other and affect the services provided externally when the load is high. Moreover, the server resources cannot be scheduled, and the resources occupied by some applications may be wasted or insufficient. If operating system level virtualization, switching services or resource scheduling, you need to restart the server, which affects external services.
  • embodiments of the present invention provide an application management method and system.
  • the technical solution is as follows:
  • a method for managing an application program includes:
  • the edge node receives application deployment information sent by the central node
  • the edge node downloads an image containing the corresponding application program from the central node based on the application deployment information
  • the edge node calls an application container engine to load the image, and runs the application program in the application container engine;
  • the edge node allocates available resources for the application container engine.
  • the edge node before receiving the application deployment information sent by the central node, the edge node includes:
  • the central node receives the image containing the application program sent by the client;
  • the central node receives the application deployment request sent by the client, and the application deployment request includes an edge node range of the application to be deployed;
  • the central node sends the application deployment information to the edge node based on the application deployment request.
  • the application deployment request includes a deployment batch and a range of edge nodes corresponding to each batch;
  • the step of the central node sending the application deployment information to the edge node based on the application deployment request includes:
  • the central node sends the application deployment information to the first batch of edge nodes based on the application deployment request;
  • the current batch of edge nodes After completing the application deployment based on the application deployment information, the current batch of edge nodes sends the application deployment results and the application running status to the central node;
  • the central node determines that the application deployment of the current batch of edge nodes meets the requirements based on the application deployment results and application running conditions, and the current batch of edge nodes is not the last batch, then send to the next batch of edge nodes The application deployment information, and repeat this step, otherwise end this step.
  • the application deployment information includes resource information, and the resource information includes sizes of various resources allocated to the application program;
  • the step of the edge node allocating available resources for the application container engine includes:
  • the edge node allocates available resources to the application container engine based on the resource information.
  • the application deployment information includes an application identifier
  • the step of the edge node downloading the image containing the corresponding application program from the central node based on the application deployment information includes:
  • the edge node downloads the image corresponding to the application identifier from the central node based on the application deployment information.
  • the step of the edge node calling the application container engine to load the image includes:
  • the edge node calls an idle application container engine to load the image according to a preset calling strategy.
  • the method further includes:
  • the edge node sends the resource usage of the application container engine to the central node according to a fixed period
  • the central node receives the current resource usage of the application container engine, and determines whether the current resource usage of the application container engine meets the requirements;
  • the central node If not, the central node generates resource adjustment information and sends the resource adjustment information to the edge node;
  • the edge node receives the resource adjustment information, and reallocates available resources for the application container engine based on the resource adjustment information.
  • the method further includes:
  • the central node sends the current resource usage of the application container engine to the client;
  • the client Based on the resource usage, the client generates indication information of whether to perform resource adjustment
  • the client sends the instruction information to the central node
  • the central node receives the instruction information, and if the instruction information indicates that resource adjustment is required, generates the resource adjustment information.
  • the method further includes:
  • the central node receives an application upgrade request sent by the client, and the application upgrade request includes the range of edge nodes to be upgraded;
  • the central node determines a grayscale upgrade strategy based on the application upgrade request, and the grayscale upgrade strategy includes grayscale batches and a range of edge nodes corresponding to each batch;
  • the central node sends the application upgrade information to the edge nodes in batches based on the grayscale upgrade strategy.
  • the central node after the central node sends the application upgrade information to each batch of edge nodes based on the grayscale upgrade strategy, it includes:
  • the current batch of edge nodes receives the application upgrade information sent by the central node, and upgrades the application program
  • a grayscale result is sent to the central node, where the grayscale result includes the upgrade result and application container engine service status information.
  • the step of the central node sending the application upgrade information to the edge nodes in batches based on the grayscale upgrade strategy includes:
  • the central node sends the application upgrade information to the first batch of edge nodes based on the grayscale upgrade strategy
  • the central node receives the grayscale results sent by the current batch of edge nodes, and if the grayscale results meet the requirements, sends the application upgrade information to the next batch of edge nodes after a preset time period, and Repeat this step until all batch edge node application upgrades are completed;
  • the edge node receives the application upgrade information sent by the central node and upgrades the application program, including:
  • the edge node receives application upgrade information sent by the central node
  • the edge node uses a new application container engine to upgrade the application program based on the application upgrade information
  • the edge node releases the available resources allocated to the original application container engine before the upgrade.
  • the central node is used for dynamic life cycle management of the application program, wherein the dynamic life cycle management includes start operation, stop operation, and restart operation.
  • an application management system including an edge node and a central node;
  • the edge node is used to configure an application container engine in the local node; receive application deployment information sent by the central node, download an image containing the corresponding application program from the central node based on the application deployment information, and call an application container The engine loads the image and runs the application program in the application container engine to allocate available resources for the application container engine;
  • the central node is used to send the application deployment information to the edge node.
  • the central node is also used for:
  • the application deployment request includes a deployment batch and a range of edge nodes corresponding to each batch;
  • the central node is configured to send the application deployment information to the first batch of edge nodes based on the application deployment request;
  • the edge node is configured to send the application deployment result and the application running status to the central node after completing the application deployment based on the application deployment information;
  • the central node is used to determine when the application deployment of the current batch of edge nodes meets the requirements based on the application deployment results and the application running status, and the current batch of edge nodes is not the last batch, to the next batch
  • the edge node sends the application deployment information.
  • the application deployment information includes resource information, and the resource information includes sizes of various resources allocated to the application program;
  • the edge node is configured to allocate available resources to the application container engine based on the resource information.
  • the edge node is configured to send the resource usage of the application container engine to the central node according to a fixed period
  • the central node is used to receive the current resource usage of the application container engine, and determine whether the current resource usage of the application container engine meets the requirements, if not, generate resource adjustment information, and send to the edge node Send the resource adjustment information;
  • the edge node is configured to receive the resource adjustment information and reallocate available resources to the application container engine based on the resource adjustment information.
  • the central node is used to send the current resource usage of the application container engine to the client;
  • the client is used to generate indication information of whether to perform resource adjustment based on the resource usage, and send the indication information to the central node;
  • the central node is configured to receive the instruction information, and if the instruction information indicates that resource adjustment is required, generate the resource adjustment information.
  • the central node is used to:
  • a grayscale upgrade strategy is determined, and the grayscale upgrade strategy includes a grayscale batch and a range of edge nodes corresponding to each batch;
  • the edge node is used to:
  • a gray-scale result is sent to the central node, and the gray-scale result includes the upgrade result and service status information of the application container engine.
  • the central node is used to:
  • the edge node is used to:
  • the embodiment of the present invention deploys applications in an application container engine, and each application does not interfere with each other, which achieves resource isolation, avoids resource competition between applications, and can reduce the occurrence of failures due to non-interference between applications, and is reliable It is more powerful, and the available resources of the application container engine can be allocated reasonably to avoid uneven utilization of resources, and to minimize the allocation of resources while ensuring the normal operation of the application, thereby improving resource utilization and saving costs. In addition, When allocating resources, you can accelerate the allocation of required resources for edge computing and systems, thereby improving system service quality. At the same time, because the application container engine is used for application deployment, grayscale, smooth upgrades can be achieved, and resources can be arbitrarily applied to applications. Dispatch without interrupting service.
  • FIG. 1 is a schematic diagram of a network framework provided by an embodiment of the present invention.
  • FIG. 3 is a flowchart of another application program management method provided by an embodiment of the present invention.
  • FIG. 4 is a flowchart of another application program management method provided by an embodiment of the present invention.
  • An embodiment of the present invention provides an application management method, which can be applied to the network framework shown in FIG. 1.
  • the network framework includes clients, central nodes and edge nodes.
  • enterprises can deploy applications in multiple edge nodes through client control.
  • the specific deployment process is as follows.
  • the client packages the application program into an image and sends it to the central node, and sends an application deployment request to the central node.
  • the application deployment request may include the edge node range of the application to be deployed.
  • the central node may send the application deployment information to the corresponding edge node based on the application deployment request, so that these edge nodes download the image containing the corresponding application based on the application deployment information, and use the application container engine to load the image Mirror and deploy applications.
  • After the edge node deploys applications users can access the edge node to obtain corresponding services, such as browsing blogs, watching videos, and so on.
  • the application container engine in this embodiment may use a docker container.
  • the application deployment request sent by the client may also include a deployment batch and the range of edge nodes corresponding to each batch, that is, the central node may apply the total edge nodes of the application to be deployed in batches according to the application deployment request. deploy.
  • the specific process of the central node batching the application deployment in the edge node is: the central node sends the application deployment information to the first batch of edge nodes based on the application deployment request; after the current batch of edge node application deployment ends, Send the application deployment results and application running status to the central node; if the central node determines that the current batch of edge node application deployment meets the requirements based on the application deployment results and application running status, and the current batch of edge nodes is not the last batch, then Send the application deployment information to the next batch of edge nodes, and repeat this step, otherwise end this step.
  • a large-scale redeployment is required again, and this situation will cause a lot of waste of manpower and time, and
  • the application deployment request sent by the client may not include the deployment batch and the range of edge nodes corresponding to each batch, and the central node may determine the deployment batch and each batch according to the range of edge nodes of the application to be deployed in the application deployment request The corresponding range of edge nodes.
  • FIG. 2 it is a flowchart of an application management method provided by an embodiment of the present invention, in which the application deployment process of an edge node is mainly described in detail, and the process may specifically include the following steps.
  • Step 201 The edge node configures the application container engine in the local node.
  • the edge node may configure a preset number of application container engines in this node in advance. Because the application container engine uses a sandbox mechanism, there is system-level isolation between any two application container engines, and there is no interface between them. Therefore, applications running in different application container engines will not interfere with each other.
  • Step 202 the edge node receives application deployment information sent by the central node.
  • the edge node may receive the application deployment information sent by the central node, and the application deployment information may include the application identifier of the application to be deployed.
  • Step 203 The edge node downloads an image containing the corresponding application program from the central node based on the application deployment information.
  • the central node stores multiple application images uploaded by the client, that is, the image containing the application program.
  • the edge node can download the image corresponding to the application ID from the central node according to the application ID in the application deployment information, so as to be the subsequent application Prepare for deployment.
  • the image download function can be realized based on the P2P technology.
  • the application image uploaded by the client may also be stored in other image libraries.
  • the embodiment of the present invention does not specifically limit the storage location of the application image.
  • Step 204 The edge node calls an application container engine to load the image, and runs the application program in the application container engine.
  • the edge node may randomly call the idle application container engine, or call the idle application container engine according to a preset calling strategy to load the image.
  • the image can be loaded into the application container engine by calling the interface of the application container engine. After the image is loaded, start the application container engine to run the application in the application container engine.
  • the central node is also responsible for the static configuration management of the application, which mainly manages the configuration files required for application deployment.
  • the edge node can download the corresponding configuration files from the central node for application configuration.
  • Step 205 The edge node allocates available resources for the application container engine.
  • the edge node may allocate corresponding available resources for each application according to a preset resource allocation strategy, and the available resources may include memory, cpu, disk, bandwidth, and so on.
  • the application deployment request sent by the client to the central node may also include resource information, which includes the size of various resources allocated to the application, so that the application deployment information generated by the central node also includes the resource information, After sending the application deployment information to the edge node, the edge node can be used to allocate resources according to the resource information.
  • the central node is also responsible for the dynamic lifecycle management of application programs, such as the start, stop, and restart of application programs.
  • the central node can send corresponding instructions to the edge node during the dynamic lifecycle management of the application program to control the edge node to perform corresponding operations on the application program.
  • the central node is also responsible for monitoring the operation of the edge node, that is, the edge node can send status data to the central node at a fixed period, so that the central node detects the operation of the edge according to the status data.
  • the central node can also send the edge node's machine information, such as machine identification, machine type, etc., to the edge node to learn its own machine information, thereby facilitating communication with other devices.
  • the embodiment of the present invention deploys applications in an application container engine, and each application does not interfere with each other, which achieves resource isolation, avoids resource competition between applications, and can reduce the occurrence of failures due to non-interference between applications, and is reliable It is more powerful, and the available resources of the application container engine can be allocated reasonably to avoid uneven utilization of resources, and to minimize the allocation of resources while ensuring the normal operation of the application, thereby improving resource utilization and saving costs. In addition, When allocating resources, you can accelerate the allocation of required resources for edge computing and systems, thereby improving system service quality. At the same time, because the application container engine is used for application deployment, grayscale, smooth upgrades can be achieved, and resources can be arbitrarily applied to applications Dispatch without interrupting service.
  • FIG. 3 it is a flowchart of another application program management method provided by an embodiment of the present invention, in which the process of application resource adjustment is mainly described in detail, and the process may specifically include the following steps.
  • Step 301 The edge node sends the resource usage of the application container engine to the central node according to a fixed period.
  • the edge node can monitor the resource usage of the application container engine in real time, or it can monitor the resource usage of applications in the application container engine.
  • the edge node can also monitor the resource utilization rate of the application container engine, that is, the ratio between the currently used resources and the allocated available resources.
  • Step 302 The central node determines whether the current resource usage of the application container engine meets the requirements.
  • the central node can determine whether the available resources currently allocated to the application are wasted or insufficient according to the resource usage uploaded by the edge node. For example, when the resource utilization rate is lower than the preset ratio, it may be determined that the available resources currently allocated for the application program are wasted.
  • Step 303 If not, the central node generates resource adjustment information and sends the resource adjustment information to the edge node.
  • the central node determines that the current resource usage does not meet the requirements, it can re-allocate resource information for the application according to the current resource usage and the preset resource allocation strategy, and generate resource adjustment information, which includes resource allocation Resource information.
  • the process of the central node generating resource adjustment information may further include: the central node sending the current resource usage of the application container engine to the client; the client receiving the resource usage and based on the The resource usage generates instruction information on whether to perform resource adjustment; the client sends the instruction information to the central node; the central node receives the instruction information, and if the instruction information indicates that resource adjustment is required, Generate the resource adjustment information.
  • the central node sends the current resource usage of the application to the client, so that the client can determine whether to adjust the resource according to the resource usage and the development trend of its own business, so that the decision of whether to adjust the resource is more suitable for the development trend of the business . If the client determines that resource adjustment is required, the generated instruction information may include reallocated resource information. After sending the instruction information to the central node, the resource adjustment information generated by the central node also includes the reallocated resource information .
  • Step 304 The edge node receives the resource adjustment information, and reallocates available resources for the application container engine based on the resource adjustment information.
  • the edge node may reallocate available resources for the application container engine according to the resource information in the resource adjustment information.
  • the embodiments of the present invention can monitor the resource usage of each application container engine in real time, and when the resource usage is unreasonable, the rational allocation of resources can be re-distributed to avoid uneven resource utilization and the maximum under the condition of ensuring the normal operation of the application Reduce the allocation of resources to a certain extent, thereby improving the utilization rate of resources and saving costs.
  • the required resources can be allocated for edge computing and system acceleration, thereby improving the quality of system service, and because of the application container engine for application Deployment, you can arbitrarily schedule resources for each application without interrupting service, further improving system service quality.
  • FIG. 4 it is a flowchart of another application program management method provided by an embodiment of the present invention, in which the application upgrade process is mainly described in detail, and the process may specifically include the following steps.
  • Step 401 The central node receives an application upgrade request sent by a client, and the application upgrade request includes a range of edge nodes to be upgraded.
  • the client Before the client sends an application upgrade request to the central node, it may first upload the image including the upgraded version of the application program to the central node, so that the edge node to be upgraded with the application obtains the image, and uses the image to upgrade the application.
  • the central node determines a grayscale upgrade strategy based on the application upgrade request, and the grayscale upgrade strategy includes a grayscale batch and a range of edge nodes corresponding to each batch.
  • the grayscale upgrade method is adopted.
  • the grayscale upgrade is a partial upgrade. When some servers need to be upgraded, only some of the servers are upgraded and tested. After ensuring that the program is correct, upgrade other servers to minimize the post-upgrade program. Consequences caused by bugs.
  • the central node may determine the grayscale upgrade strategy according to the range of edge nodes to be upgraded, or the application upgrade request sent by the client to the central node may include the grayscale upgrade strategy, so as to obtain grayscale directly from the application upgrade request Degree upgrade strategy.
  • the grayscale upgrade strategy is used to specify that the edge nodes to be upgraded are upgraded in several batches. For example, the first batch of edge nodes with upgrade numbers 1-10, the second batch of upgrade nodes with edge numbers 11-20, and the third batch of upgrade nodes with upgrade numbers 21 -30 edge nodes, thereby upgrading 30 edge nodes in three batches.
  • Step 403 The central node sends the application upgrade information to the edge nodes in batches based on the grayscale upgrade strategy.
  • the application upgrade request may include the application identifier of the application to be upgraded, so that the edge node determines the application to be upgraded according to the application identifier.
  • the specific process for the central node to upgrade the edge nodes in batches according to the grayscale upgrade strategy includes: the central node sends the application upgrade information to the first batch of edge nodes based on the grayscale upgrade strategy; the current batch of edges The node receives the application upgrade information sent by the central node and upgrades the application program; after the current batch of edge node application upgrades are completed, a grayscale result is sent to the central node, the grayscale result includes Upgrade results and application container engine service status information; the central node receives the grayscale results sent by the current batch of edge nodes, and if the grayscale results meet the requirements, then to the next batch of edge nodes after a preset time period Send the application upgrade information, and repeat this step until all batch edge node application upgrade ends; if the grayscale result does not meet the requirements, send rollback information to the current batch edge node to make the The current batch of edge nodes rolls back the application to the application version before the upgrade.
  • each step in the process will be specifically described.
  • the edge node After receiving the application upgrade information sent by the central node, the edge node upgrades the application program.
  • the step of the edge node performing application upgrade may include: the edge node receives the application upgrade information sent by the central node; the edge node uses the new information based on the application upgrade information
  • the application container engine upgrades the application program; if the application upgrade is successful, the edge node releases the available resources allocated to the original application container engine before the upgrade.
  • the process of upgrading the application using the new application container engine includes: downloading the image including the upgraded application from the central node, calling the new application container engine to load the image, and then allocating available resources for the new application container engine .
  • This process may also be the deployment of the upgraded version of the application program, so it is similar to the above-mentioned application deployment process. For specific steps, reference may be made to the embodiment shown in FIG. 2, and details are not described herein again.
  • the edge node In the process of upgrading the application program using the new application container engine, if the upgrade fails, that is, the deployment of the upgraded version of the application program fails, the edge node continues to use the original application program to provide services to users.
  • the application upgrade is successful, the original application can be deleted after the upgraded application runs for a period of time, and it is determined that the operation is normal, to ensure that the original application is quickly changed to after the upgrade application is found to have problems. Provide services to users.
  • the pre-upgrade application still runs normally in the original application container engine to provide services for users.
  • the original application container engine will be deleted after the application is successfully upgraded and runs normally. Applications, services will not be suspended, and smooth upgrade of applications is realized.
  • the edge node sends the grayscale result to the central node after the application upgrade is completed, where the grayscale result includes the upgrade result and service status information of the application container engine.
  • the application container engine service status information includes resource usage. If the current resource usage is significantly different from the resource usage before the upgrade, it means that the application container engine service status does not meet the requirements.
  • the upgrade result indicates that the application upgrade is successful and the application container engine When the service status meets the requirements, it means that the grayscale result of the edge node is normal.
  • the central node receives the grayscale results sent by the current batch of edge nodes, and if the grayscale results meet the requirements, then sends the application upgrade information to the next batch of edge nodes after a preset time period.
  • a judgment strategy for judging whether the grayscale result meets the requirements may be stored in the central node in advance, for example, when the proportion of edge nodes with normal grayscale results in the current batch of edge nodes is greater than the preset ratio, the previous batch may be determined If the grayscale result sent by the edge node meets the requirements, the application upgrade information can be sent to the next batch of edge nodes.
  • the central node can send rollback information to the current batch of edge nodes, so that these edge nodes roll back the upgraded application to the pre-upgrade version, That is, reallocate resources for the original application and enable the original application to provide services for users.
  • the embodiment of the present invention uses the grayscale upgrade method to upgrade in batches. First, a small number of edge nodes are used for the upgrade test, and the next batch of upgrades is performed after the test is successful, to ensure that the upgrade is correct, even if there are problems with the upgrade Control the influence surface quickly.
  • an embodiment of the present invention also provides an application management system, which may include an edge node and a central node.
  • the edge node is used to configure an application container engine in the local node; receive application deployment information sent by the central node, download an image containing the corresponding application program from the central node based on the application deployment information, and call The application container engine loads the image, and runs the application program in the application container engine to allocate available resources for the application container engine;
  • the central node is used to send the application deployment information to the edge node.
  • the central node is also used for:
  • the application deployment request includes a deployment batch and a range of edge nodes corresponding to each batch;
  • the central node is configured to send the application deployment information to the first batch of edge nodes based on the application deployment request;
  • the edge node is configured to send the application deployment result and the application running status to the central node after completing the application deployment based on the application deployment information;
  • the central node is used to determine when the application deployment of the current batch of edge nodes meets the requirements based on the application deployment results and the application running status, and the current batch of edge nodes is not the last batch, to the next batch
  • the edge node sends the application deployment information.
  • the application deployment information includes resource information, and the resource information includes sizes of various resources allocated to the application program;
  • the edge node is configured to allocate available resources to the application container engine based on the resource information.
  • the application deployment information includes an application identifier
  • the edge node is used to download the image corresponding to the application identifier from the central node based on the application deployment information.
  • the edge node is configured to call an idle application container engine to load the image according to a preset calling strategy.
  • the edge node is configured to send the resource usage of the application container engine to the central node according to a fixed period
  • the central node is used to receive the current resource usage of the application container engine, and determine whether the current resource usage of the application container engine meets the requirements, if not, generate resource adjustment information, and send to the edge node Send the resource adjustment information;
  • the edge node is configured to receive the resource adjustment information and reallocate available resources to the application container engine based on the resource adjustment information.
  • the central node is configured to send the current resource usage of the application container engine to the client, so that the client generates indication information on whether to perform resource adjustment based on the resource usage, and sends the The central node sends the instruction information;
  • the central node is configured to receive the instruction information, and if the instruction information indicates that resource adjustment is required, generate the resource adjustment information.
  • the central node is used to:
  • a grayscale upgrade strategy is determined, and the grayscale upgrade strategy includes a grayscale batch and a range of edge nodes corresponding to each batch;
  • the edge node is used to:
  • a gray-scale result is sent to the central node, and the gray-scale result includes the upgrade result and service status information of the application container engine.
  • the central node is used to:
  • the edge node is used to:
  • the central node is used for dynamic lifecycle management of the application program, wherein the dynamic lifecycle management includes start operation, stop operation, and restart operation.
  • the embodiment of the present invention deploys applications in an application container engine, and each application does not interfere with each other, which achieves resource isolation, avoids resource competition between applications, and can reduce the occurrence of failures due to non-interference between applications, and is reliable It is more powerful, and the available resources of the application container engine can be allocated reasonably to avoid uneven utilization of resources, and to minimize the allocation of resources while ensuring the normal operation of the application, thereby improving resource utilization and saving costs. In addition, When allocating resources, you can accelerate the allocation of required resources for edge computing and systems, thereby improving system service quality. At the same time, because the application container engine is used for application deployment, grayscale, smooth upgrades can be achieved, and resources can be arbitrarily applied to applications. Dispatch without interrupting service.
  • the program may be stored in a computer-readable storage medium.
  • the mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种应用程序的管理方法及系统,其中,该方法包括:在边缘节点中配置应用容器引擎(201);边缘节点接收中心节点发送的应用部署信息(202);边缘节点基于应用部署信息从中心节点中下载包含相应应用程序的镜像(203);边缘节点调用应用容器引擎加载镜像,并运行应用容器引擎中的应用程序(204);边缘节点为应用容器引擎分配可用资源(205)。将应用部署于应用容器引擎中,各个应用之间不相互干扰,能够减少故障的发生,在为应用容器引擎分配资源后,实现了资源隔离,避免了应用之间的资源竞争,并且应用容器引擎的可用资源可以通过合理分配,提高资源的利用率,同时部署于应用容器引擎中的应用,可任意地对其进行资源调度而无需中断服务。

Description

一种应用程序的管理方法及系统 技术领域
本发明涉及计算机应用技术领域,特别涉及一种应用程序的管理方法及系统。
背景技术
随着互联网及其应用的快速发展,绝大多数企业都建立自己的网站。为了提高网站访问响应速度和效率,可以采用CDN(Content Delivery Network,内容分发网络)技术。CDN的技术原理是在网络各处设置服务器节点,并将网络内容发布到处于网络边缘的边缘服务器节点(以下简称“边缘节点”)中,这样用户就可以从最接近用户的边缘节点上获得预访问的内容,从而降低了网络拥塞,提高了网络的响应速度。
目前,每个边缘节点上可以部署多个应用程序,并且对于边缘节点的管理包括两种方式,一种是不进行虚拟化,另外一种是在操作系统层面进行虚拟化。若边缘节点不进行虚拟化,由于所有应用程序均安装在一个操作系统上,应用程序之间会互相争夺服务器资源,在负载较高的时候影响对外提供的服务。并且,服务器资源无法调度,有的应用程序所占用的资源可能存在浪费或是不足。若操作系统层面虚拟化,切换服务或者资源调度,需重启服务器,从而影响对外服务。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种应用程序的管理方法及系统。所述技术方案如下:
第一方面,提供了一种应用程序的管理方法,所述方法包括:
在边缘节点中配置应用容器引擎;
所述边缘节点接收中心节点发送的应用部署信息;
所述边缘节点基于所述应用部署信息从所述中心节点中下载包含相应应用 程序的镜像;
所述边缘节点调用应用容器引擎加载所述镜像,并运行所述应用容器引擎中的所述应用程序;
所述边缘节点为所述应用容器引擎分配可用资源。
可选的,所述边缘节点接收中心节点发送的应用部署信息之前,包括:
所述中心节点接收客户端发送的包含所述应用程序的镜像;
所述中心节点接收所述客户端发送的所述应用部署请求,所述应用部署请求包括待部署应用的边缘节点范围;
所述中心节点基于所述应用部署请求向所述边缘节点发送所述应用部署信息。
可选的,所述应用部署请求包括部署批次以及每批次对应的边缘节点范围;
所述中心节点基于所述应用部署请求向所述边缘节点发送所述应用部署信息的步骤,包括:
所述中心节点基于所述应用部署请求向第一批次边缘节点发送所述应用部署信息;
当前批次边缘节点基于所述应用部署信息完成应用部署之后,向所述中心节点发送应用部署结果以及应用运行情况;
如果所述中心节点基于所述应用部署结果以及应用运行情况,确定出当前批次边缘节点的应用部署符合要求,并且当前批次边缘节点不是最后一批次,则向下一批次边缘节点发送所述应用部署信息,并重复该步骤,否则结束该步骤。
可选的,所述应用部署信息包括资源信息,所述资源信息包括为所述应用程序分配的各种资源的大小;
相应的,所述边缘节点为所述应用容器引擎分配可用资源的步骤,包括:
所述边缘节点基于所述资源信息为所述应用容器引擎分配可用资源。
可选的,所述应用部署信息包括应用标识;
相应的,所述边缘节点基于所述应用部署信息从所述中心节点中下载包含相应应用程序的镜像的步骤,包括:
所述边缘节点基于所述应用部署信息从所述中心节点中下载所述应用标识对应的镜像。
可选的,所述边缘节点调用应用容器引擎加载所述镜像的步骤,包括:
所述边缘节点根据预设的调用策略调用空闲的应用容器引擎加载所述镜像。
可选的,所述方法还包括:
所述边缘节点按照固定周期向所述中心节点发送所述应用容器引擎的资源使用情况;
所述中心节点接收所述应用容器引擎当前的资源使用情况,并判断所述应用容器引擎当前的资源使用情况是否符合要求;
如果不符合,所述中心节点生成资源调整信息,并向所述边缘节点发送所述资源调整信息;
所述边缘节点接收所述资源调整信息,并基于所述资源调整信息重新为所述应用容器引擎分配可用资源。
可选的,在所述中心节点判断出所述应用容器引擎当前的资源使用情况不符合要求之后,还包括:
所述中心节点向客户端发送所述应用容器引擎当前的资源使用情况;
所述客户端基于所述资源使用情况,生成是否进行资源调整的指示信息;
所述客户端向所述中心节点发送所述指示信息;
所述中心节点接收所述指示信息,如果所述指示信息表明需要进行资源调整,则生成所述资源调整信息。
可选的,所述方法还包括:
所述中心节点接收客户端发送的应用升级请求,所述应用升级请求包括待升级的边缘节点范围;
所述中心节点基于所述应用升级请求,确定灰度升级策略,所述灰度升级策略包括灰度批次以及每批对应的边缘节点范围;
所述中心节点基于所述灰度升级策略分批向边缘节点发送所述应用升级信息。
可选的,所述中心节点基于所述灰度升级策略向每批次边缘节点发送所述应用升级信息之后,包括:
当前批次边缘节点接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级;
所述当前批次边缘节点应用升级结束之后向所述中心节点发送灰度结果,所述灰度结果包括升级结果以及应用容器引擎服务状态信息。分从属
可选的,所述中心节点基于所述灰度升级策略分批向边缘节点发送所述应用升级信息的步骤,包括:
所述中心节点基于所述灰度升级策略向第一批次边缘节点发送所述应用升级信息;
所述中心节点接收所述当前批次边缘节点发送的所述灰度结果,如果所述灰度结果符合要求,则在预设时间段之后向下一批边缘节点发送所述应用升级信息,并重复该步骤,直至所有批次边缘节点应用升级结束;
如果所述灰度结果不符合要求,则向所述当前批次边缘节点发送回滚信息,以使所述当前批次边缘节点将所述应用程序回滚至升级前的应用版本。分从属
可选的,所述边缘节点接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级,包括:
所述边缘节点接收所述中心节点发送的应用升级信息;
所述边缘节点基于所述应用升级信息利用新应用容器引擎对所述应用程序进行升级;
如果应用升级成功,所述边缘节点释放升级前为原应用容器引擎分配的可用资源。
可选的,所述中心节点用于对所述应用程序进行动态生命周期管理,其中,所述动态生命周期管理包括启动操作、停止操作以及重启操作。
第二方面,提供了一种应用程序的管理系统,包括边缘节点以及中心节点;
所述边缘节点,用于在本节点中配置应用容器引擎;接收所述中心节点发送的应用部署信息,基于所述应用部署信息从所述中心节点中下载包含相应应用程序的镜像,调用应用容器引擎加载所述镜像,并运行所述应用容器引擎中的所述应用程序,为所述应用容器引擎分配可用资源;
所述中心节点,用于向所述边缘节点发送所述应用部署信息。
可选的,所述中心节点,还用于:
接收客户端发送的包含所述应用程序的镜像;
接收所述客户端发送的所述应用部署请求,所述应用部署请求包括待部署应用的边缘节点范围;
基于所述应用部署请求生成应用部署信息;
向所述边缘节点发送所述应用部署信息。
可选的,所述应用部署请求包括部署批次以及每批次对应的边缘节点范围;
所述中心节点,用于基于所述应用部署请求向第一批次边缘节点发送所述应用部署信息;
所述边缘节点,用于基于所述应用部署信息完成应用部署之后,向所述中心节点发送应用部署结果以及应用运行情况;
所述中心节点,用于当基于所述应用部署结果以及应用运行情况,确定出当前批次边缘节点的应用部署符合要求,并且当前批次边缘节点不是最后一批次时,向下一批次边缘节点发送所述应用部署信息。
可选的,所述应用部署信息包括资源信息,所述资源信息包括为所述应用程序分配的各种资源的大小;
所述边缘节点,用于基于所述资源信息为所述应用容器引擎分配可用资源。
可选的,所述边缘节点,用于按照固定周期向所述中心节点发送所述应用容器引擎的资源使用情况;
所述中心节点,用于接收所述应用容器引擎当前的资源使用情况,并判断所述应用容器引擎当前的资源使用情况是否符合要求,如果不符合,生成资源调整信息,并向所述边缘节点发送所述资源调整信息;
所述边缘节点,用于接收所述资源调整信息,并基于所述资源调整信息重新为所述应用容器引擎分配可用资源。
可选的,
所述中心节点,用于向客户端发送所述应用容器引擎当前的资源使用情况;
所述客户端,用于基于所述资源使用情况,生成是否进行资源调整的指示信息,并向所述中心节点发送所述指示信息;
所述中心节点,用于接收所述指示信息,如果所述指示信息表明需要进行资源调整,则生成所述资源调整信息。
可选的,所述中心节点,用于:
接收客户端发送的应用升级请求,所述应用升级请求包括待升级的边缘节点范围;
基于所述应用升级请求,确定灰度升级策略,所述灰度升级策略包括灰度 批次以及每批对应的边缘节点范围;
基于所述灰度升级策略分批向边缘节点发送所述应用升级信息。
可选的,所述边缘节点,用于:
接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级;
在应用升级结束之后向所述中心节点发送灰度结果,所述灰度结果包括升级结果以及应用容器引擎服务状态信息。分从属
可选的,所述中心节点,用于:
基于所述灰度升级策略向第一批次边缘节点发送所述应用升级信息;
接收所述当前批次边缘节点发送的所述灰度结果,如果所述灰度结果符合要求,则在预设时间段之后向下一批边缘节点发送所述应用升级信息,并重复该步骤,直至所有批次边缘节点应用升级结束;
如果所述灰度结果不符合要求,则向所述当前批次边缘节点发送回滚信息,以使所述当前批次边缘节点将所述应用程序回滚至升级前的应用版本。分从属
可选的,所述边缘节点,用于:
接收所述中心节点发送的应用升级信息;
基于所述应用升级信息利用新应用容器引擎对所述应用程序进行升级;
如果应用升级成功,释放升级前为原应用容器引擎分配的可用资源。
本发明实施例将应用部署于应用容器引擎中,各个应用之间不相互干扰,实现了资源隔离,避免了应用之间的资源竞争,而且由于应用之间不相互干扰能够减少故障的发生,可靠性更强,并且应用容器引擎的可用资源可以通过合理分配,避免资源利用不均匀,在保证应用正常运行的情况下最大程度地减少资源分配,从而提高资源的利用率,节约成本,另外,在分配资源时,可以为边缘计算和系统加速分配所需要的资源,从而提高系统服务质量,同时由于采用应用容器引擎中进行应用部署,可以实现灰度、平滑升级,并可任意地对应用进行资源调度而无需中断服务。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络框架示意图;
图2是本发明实施例提供的一种应用程序的管理方法的流程图;
图3是本发明实施例提供的另一种应用程序的管理方法的流程图;
图4是本发明实施例提供的另一种应用程序的管理方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种应用程序的管理方法,该方法可以应用于图1所示的网络框架中。该网络框架包括客户端、中心节点以及边缘节点。企业为运营自己的网站,为用户提供网络服务,可以通过客户端控制将应用程序部署在多个边缘节点中,具体部署过程如下所述。客户端将应用程序打包成镜像发送到中心节点,并向中心节点发送应用部署请求,所述应用部署请求可以包括待部署应用的边缘节点范围。然后所述中心节点可以基于所述应用部署请求向相应的边缘节点发送所述应用部署信息,以使这些边缘节点基于所述应用部署信息下载包含相应应用程序的镜像,并利用应用容器引擎加载该镜像,进行应用部署。边缘节点部署应用结束后,用户可以通过访问该边缘节点,获取相应的服务,例如浏览博客、观看视频等等。本实施例中的应用容器引擎可以采用docker容器。
客户端发送的应用部署请求还可以包括部署批次以及每批次对应的边缘节点范围,也就是说,中心节点可以根据该应用部署请求,将总的待部署应用的边缘节点分批次进行应用部署。中心节点分批在边缘节点中进行应用部署的具体过程为:所述中心节点基于所述应用部署请求向第一批次边缘节点发送所述应用部署信息;当前批次边缘节点应用部署结束后,向中心节点发送应用部署结果以及应用运行情况;如果中心节点基于应用部署结果以及应用运行情况,确定出当前批次的边缘节点应用部署符合要求,并且当前批次边缘节点不是最后一批次,则向下一批边缘节点发送应用部署信息,并重复该步骤,否则结束该步骤。以防止一次性大范围部署完毕后,应用运行出现问题,需再次大范围 重新部署的情况,而这种情况会造成大量人力以及时间的浪费,并且造成边缘服务器资源的浪费。
可选的,客户端发送的应用部署请求可以不包括部署批次以及每批次对应的边缘节点范围,中心节点可以根据应用部署请求中的待部署应用的边缘节点范围确定部署批次以及每批次对应的边缘节点范围。
以下详细说明对应用程序的管理方法,其中包括应用部署、应用资源调整以及应用升级等等。
参见图2,为本发明实施例提供的一种应用程序的管理方法的流程图,其中,主要详细说明边缘节点的应用部署的过程,该过程具体可以包括以下步骤。
步骤201,边缘节点在本节点中配置应用容器引擎。
边缘节点可以预先在本节点中配置预设数量的应用容器引擎。由于应用容器引擎采用沙箱机制,任意两个应用容器引擎之间存在系统级隔离,且相互之间不存在接口,所以运行在不同应用容器引擎中的应用程序之间不会相互干扰。
步骤202,所述边缘节点接收中心节点发送的应用部署信息。
边缘节点可以接收中心节点发送的应用部署信息,该应用部署信息可以包括待部署应用的应用标识。
步骤203,所述边缘节点基于所述应用部署信息从所述中心节点中下载包含相应应用程序的镜像。
中心节点中保存有多个客户端上传的应用镜像,即包含应用程序的镜像,边缘节点可以根据应用部署信息中的应用标识,从中心节点中下载该应用标识对应的镜像,从而为后续的应用部署做准备。在实施中,可以基于P2P技术实现镜像下载功能。
可选的,客户端上传的应用镜像还可以存储在其他镜像库中,本发明实施例不对应用镜像的存储位置进行具体限定。
步骤204,所述边缘节点调用应用容器引擎加载所述镜像,并运行所述应用容器引擎中的所述应用程序。
边缘节点可以随机调用空闲的应用容器引擎,或者根据预设的调用策略调用空闲的应用容器引擎用以加载所述镜像。具体地,可以通过调用应用容器引擎的接口,将镜像加载到该应用容器引擎中。镜像加载完毕后,启动应用容器引擎,以运行应用容器引擎中的应用程序。
在实施中,中心节点还负责应用的静态配置管理,主要管理应用部署时所需要的配置文件,边缘节点在部署应用的过程中可以用中心节点中下载相应的配置文件,以进行应用配置。
步骤205,所述边缘节点为所述应用容器引擎分配可用资源。
各个应用程序运行于不同的应用容器引擎中,应用程序之间独立运行,不会相互影响,所以在为应用容器引擎分配可用资源之后,应用容器引擎之间不会出现资源竞争的问题。在实施中,边缘节点可以根据预设的资源分配策略为每个应用程序分配相应的可用资源,可用资源可以包括内存、cpu、磁盘、带宽等等。可选的,客户端向中心节点发送的应用部署请求还可以包括资源信息,该资源信息包括为应用程序分配的各种资源的大小,以使中心节点生成的应用部署信息也包括该资源信息,在将该应用部署信息发送给边缘节点之后,可以使边缘节点根据该资源信息进行资源分配。
在实施中,中心节点还负责应用程序的动态生命周期管理,例如应用程序的启动、停止、重启等操作。中心节点在应用程序的动态生命周期管理过程中,可以向边缘节点发送相应的指令,以控制边缘节点对应用程序进行相应的操作。
在实施中,中心节点还负责监控边缘节点的运行情况,即边缘节点可以按照固定周期向中心节点发送状态数据,以使中心节点根据该状态数据检测边缘的运行情况。中心节点还可以向边缘节点发送边缘节点的机器信息,例如机器标识、机器类型等等,以使边缘节点获悉自身的机器信息,从而方便与其他设备进行通信。
本发明实施例将应用部署于应用容器引擎中,各个应用之间不相互干扰,实现了资源隔离,避免了应用之间的资源竞争,而且由于应用之间不相互干扰能够减少故障的发生,可靠性更强,并且应用容器引擎的可用资源可以通过合理分配,避免资源利用不均匀,在保证应用正常运行的情况下最大程度地减少资源分配,从而提高资源的利用率,节约成本,另外,在分配资源时,可以为边缘计算和系统加速分配所需要的资源,从而提高系统服务质量,同时由于采用应用容器引擎中进行应用部署,可以实现灰度、平滑升级,并可任意地对应用进行资源调度而无需中断服务。
以上主要详细说明了应用部署的过程,以下参照图3详细说明应用资源调整的过程。
参见图3,为本发明实施例提供的另一种应用程序的管理方法的流程图,其中,主要详细说明应用资源调整的过程,该过程具体可以包括以下步骤。
步骤301,所述边缘节点按照固定周期向所述中心节点发送所述应用容器引擎的资源使用情况。
应用部署成功后,边缘节点可以实时监测应用容器引擎的资源使用情况,也可以是,监测该应用容器引擎中的应用程序的资源使用情况。可选的,边缘节点还可以监测应用容器引擎的资源利用率,即当前所使用的资源与分配的可用资源之间的比值。
步骤302,所述中心节点判断所述应用容器引擎当前的资源使用情况是否符合要求。
中心节点可以根据边缘节点上传的资源使用情况,判断当前为应用程序所分配的可用资源是否存在浪费或不足。例如,当资源利用率低于预设比例时,可以确定当前为应用程序所分配的可用资源存在浪费。
步骤303,如果不符合,所述中心节点生成资源调整信息,并向所述边缘节点发送所述资源调整信息。
如果中心节点判断出当前的资源使用情况不符合要求,则可以根据当前的资源使用情况以及预设的资源分配策略重新为应用程序分配资源信息,并生成资源调整信息,该资源调整信息包括重新分配的资源信息。
可选的,中心节点生成资源调整信息的过程还可以包括:所述中心节点向客户端发送所述应用容器引擎当前的资源使用情况;所述客户端接收所述资源使用情况,以及基于所述资源使用情况生成是否进行资源调整的指示信息,;所述客户端向所述中心节点发送所述指示信息;所述中心节点接收所述指示信息,如果所述指示信息表明需要进行资源调整,则生成所述资源调整信息。
中心节点向客户端发送应用当前的资源使用情况,使客户端能够根据该资源使用情况,以及结合自身业务的发展趋势判断是否进行资源调整,从而使是否进行资源调整的决策更加适合业务的发展趋势。如果客户端判断出需要进行资源调整,则生成的指示信息可以包括重新分配的资源信息,在将该指示信息发送给中心节点之后,使中心节点生成的资源调整信息也包括该重新分配的资源信息。
步骤304,所述边缘节点接收所述资源调整信息,并基于所述资源调整信息 重新为所述应用容器引擎分配可用资源。
边缘节点接收到中心节点发送的资源调整信息之后,可以根据该资源调整信息中的资源信息为应用容器引擎重新分配可用资源。
本发明实施例可以实时监控各个应用容器引擎的资源使用情况,当出现资源使用情况不合理的情况时,可以重新进行资源的合理分配,避免资源利用不均匀,在保证应用正常运行的情况下最大程度地减少资源分配,从而提高资源的利用率,节约成本,另外,在分配资源时,可以为边缘计算和系统加速分配所需要的资源,从而提高系统服务质量,并且由于采用应用容器引擎进行应用部署,可以任意地对各应用进行资源调度而无需中断服务,进一步提高系统服务质量。
参见图4,为本发明实施例提供的另一种应用程序的管理方法的流程图,其中,主要详细说明应用升级的过程,该过程具体可以包括以下步骤。
步骤401,所述中心节点接收客户端发送的应用升级请求,所述应用升级请求包括待升级的边缘节点范围。
在客户端向中心节点发送应用升级请求之前,可以先将包括升级版应用程序的镜像上传给中心节点,以使待进行应用升级的边缘节点获取该镜像,并利用该镜像进行应用升级。
步骤402,所述中心节点基于所述应用升级请求,确定灰度升级策略,所述灰度升级策略包括灰度批次以及每批对应的边缘节点范围。
本实施例采用灰度升级方式,灰度升级即局部升级,当有些服务器需要进行升级时,只对其中一部分服务器升级并测试,在确保程序无误后再升级其他服务器,以最大程度减少升级后程序bug引起的后果。在实施中,中心节点可以根据待升级的边缘节点范围确定灰度升级策略,或者,客户端向中心节点发送的应用升级请求中可以包括灰度升级策略,从而直接从该应用升级请求中获取灰度升级策略。灰度升级策略用于规定待升级的边缘节点分几批进行升级,例如,第一批升级编号1-10的边缘节点,第二批升级编号11-20的边缘节点,第三批升级编号21-30的边缘节点,从而对30个边缘节点分三批进行升级。
步骤403,所述中心节点基于所述灰度升级策略分批向边缘节点发送所述应用升级信息。
该应用升级请求可以包括待升级应用的应用标识,以使边缘节点根据该应 用标识确定待进行升级的应用程序。
在实施中,中心节点根据灰度升级策略分批升级边缘节点的具体过程包括:所述中心节点基于所述灰度升级策略向第一批次边缘节点发送所述应用升级信息;当前批次边缘节点接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级;所述当前批次边缘节点应用升级结束之后向所述中心节点发送灰度结果,所述灰度结果包括升级结果以及应用容器引擎服务状态信息;所述中心节点接收所述当前批次边缘节点发送的灰度结果,如果所述灰度结果符合要求,则在预设时间段之后向下一批边缘节点发送所述应用升级信息,并重复该步骤,直至所有批次边缘节点应用升级结束;如果所述灰度结果不符合要求,则向所述当前批次边缘节点发送回滚信息,以使所述当前批次边缘节点将所述应用程序回滚至升级前的应用版本。以下,对该过程中的各个步骤进行具体说明。
边缘节点接收到中心节点发送的应用升级信息之后,对所述应用程序进行升级。以当前批次中的一个边缘节点进行举例说明,边缘节点进行应用升级的步骤可以包括:所述边缘节点接收所述中心节点发送的应用升级信息;所述边缘节点基于所述应用升级信息利用新应用容器引擎对所述应用程序进行升级;如果应用升级成功,所述边缘节点释放升级前为原应用容器引擎分配的可用资源。其中,利用新应用容器引擎对所述应用程序进行升级的过程包括:从中心节点中下载包括升级版应用程序的镜像,调用新应用容器引擎加载该镜像,再为该新应用容器引擎分配可用资源。该过程也可以是对升级版应用程序的部署,所以与上述应用部署的过程相似,具体步骤可以参考图2所示的实施例,在此不再赘述。
在利用新应用容器引擎对所述应用程序进行升级的过程中,如果升级失败,即对升级版应用程序部署失败,边缘节点继续使用原应用程序为用户提供服务。可选的,如果应用升级成功,可以待升级后的应用程序运行一段时间,并且确定运行正常之后才删除原应用程序,以保证在发现升级后的应用程序出现问题后,快速改用原应用程序为用户提供服务。
在利用新应用容器引擎进行应用升级的过程中,升级前的应用程序依然在原应用容器引擎中正常运行,为用户提供服务,待新应用容器引擎中的应用升级成功并正常运行后,才删除原应用程序,服务不会暂停,实现了应用的平滑 升级。
边缘节点在应用升级结束之后向所述中心节点发送灰度结果,所述灰度结果包括升级结果以及应用容器引擎服务状态信息。应用容器引擎服务状态信息包括资源使用情况,如果当前的资源使用情况与升级前的资源使用情况差异较大,则说明应用容器引擎服务状态不符合要求,当升级结果表明应用升级成功并且应用容器引擎服务状态符合要求时,说明该边缘节点的灰度结果正常。
中心节点接收当前批次边缘节点发送的灰度结果,如果所述灰度结果符合要求,则在预设时间段之后向下一批边缘节点发送所述应用升级信息。在实施中,中心节点中可以预先保存判断灰度结果是否符合要求的判断策略,例如当当前批次的边缘节点中灰度结果正常的边缘节点的比例大于预设比例时,可以确定前批次边缘节点发送的灰度结果符合要求,则可以继续向下一批边缘节点发送所述应用升级信息。
如果当前批次边缘节点发送的灰度结果不符合要求,中心节点则可以向当前批次边缘节点发送回滚信息,从而使这些边缘节点将升级后的应用程序回滚至升级前的应用版本,即重新为原应用程序分配资源,启用原应用程序为用户提供服务。
本发明实施例使用灰度升级的方式分批次进行升级,首先利用少部分边缘节点进行升级测试,待测试成功后才进行下一批的升级,以确保升级无误,即使升级出现问题,也能够很快控制影响面。
基于与上述方法实施例相同的发明构思,本发明实施例还提供了一种应用程序的管理系统,该系统可以包括边缘节点以及中心节点。
其中,所述边缘节点,用于在本节点中配置应用容器引擎;接收所述中心节点发送的应用部署信息,基于所述应用部署信息从所述中心节点中下载包含相应应用程序的镜像,调用应用容器引擎加载所述镜像,并运行所述应用容器引擎中的所述应用程序,为所述应用容器引擎分配可用资源;
所述中心节点,用于向所述边缘节点发送所述应用部署信息。
优选的,所述中心节点,还用于:
接收客户端发送的包含所述应用程序的镜像;
接收所述客户端发送的所述应用部署请求,所述应用部署请求包括待部署 应用的边缘节点范围;
基于所述应用部署请求生成应用部署信息;
向所述边缘节点发送所述应用部署信息。
优选的,所述应用部署请求包括部署批次以及每批次对应的边缘节点范围;
所述中心节点,用于基于所述应用部署请求向第一批次边缘节点发送所述应用部署信息;
所述边缘节点,用于基于所述应用部署信息完成应用部署之后,向所述中心节点发送应用部署结果以及应用运行情况;
所述中心节点,用于当基于所述应用部署结果以及应用运行情况,确定出当前批次边缘节点的应用部署符合要求,并且当前批次边缘节点不是最后一批次时,向下一批次边缘节点发送所述应用部署信息。
优选的,所述应用部署信息包括资源信息,所述资源信息包括为所述应用程序分配的各种资源的大小;
所述边缘节点,用于基于所述资源信息为所述应用容器引擎分配可用资源。
优选的,所述应用部署信息包括应用标识;
所述边缘节点,用于基于所述应用部署信息从所述中心节点中下载所述应用标识对应的镜像。
优选的,所述边缘节点,用于根据预设的调用策略调用空闲的应用容器引擎加载所述镜像。
优选的,所述边缘节点,用于按照固定周期向所述中心节点发送所述应用容器引擎的资源使用情况;
所述中心节点,用于接收所述应用容器引擎当前的资源使用情况,并判断所述应用容器引擎当前的资源使用情况是否符合要求,如果不符合,生成资源调整信息,并向所述边缘节点发送所述资源调整信息;
所述边缘节点,用于接收所述资源调整信息,并基于所述资源调整信息重新为所述应用容器引擎分配可用资源。
优选的,所述中心节点,用于向客户端发送所述应用容器引擎当前的资源使用情况,以使所述客户端基于所述资源使用情况,生成是否进行资源调整的指示信息,并向所述中心节点发送所述指示信息;
所述中心节点,用于接收所述指示信息,如果所述指示信息表明需要进行 资源调整,则生成所述资源调整信息。
优选的,所述中心节点,用于:
接收客户端发送的应用升级请求,所述应用升级请求包括待升级的边缘节点范围;
基于所述应用升级请求,确定灰度升级策略,所述灰度升级策略包括灰度批次以及每批对应的边缘节点范围;
基于所述灰度升级策略分批向边缘节点发送所述应用升级信息。
优选的,所述边缘节点,用于:
接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级;
在应用升级结束之后向所述中心节点发送灰度结果,所述灰度结果包括升级结果以及应用容器引擎服务状态信息。分从属
优选的,所述中心节点,用于:
基于所述灰度升级策略向第一批次边缘节点发送所述应用升级信息;
接收所述当前批次边缘节点发送的所述灰度结果,如果所述灰度结果符合要求,则在预设时间段之后向下一批边缘节点发送所述应用升级信息,并重复该步骤,直至所有批次边缘节点应用升级结束;
如果所述灰度结果不符合要求,则向所述当前批次边缘节点发送回滚信息,以使所述当前批次边缘节点将所述应用程序回滚至升级前的应用版本。分从属
优选的,所述边缘节点,用于:
接收所述中心节点发送的应用升级信息;
基于所述应用升级信息利用新应用容器引擎对所述应用程序进行升级;
如果应用升级成功,释放升级前为原应用容器引擎分配的可用资源。
优选的,所述中心节点用于对所述应用程序进行动态生命周期管理,其中,所述动态生命周期管理包括启动操作、停止操作以及重启操作。
本发明实施例将应用部署于应用容器引擎中,各个应用之间不相互干扰,实现了资源隔离,避免了应用之间的资源竞争,而且由于应用之间不相互干扰能够减少故障的发生,可靠性更强,并且应用容器引擎的可用资源可以通过合理分配,避免资源利用不均匀,在保证应用正常运行的情况下最大程度地减少资源分配,从而提高资源的利用率,节约成本,另外,在分配资源时,可以为 边缘计算和系统加速分配所需要的资源,从而提高系统服务质量,同时由于采用应用容器引擎中进行应用部署,可以实现灰度、平滑升级,并可任意地对应用进行资源调度而无需中断服务。
需要说明的是:上述实施例提供的应用程序的管理系统与应用程序的管理方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (23)

  1. 一种应用程序的管理方法,其特征在于,所述方法包括:
    在边缘节点中配置应用容器引擎;
    所述边缘节点接收中心节点发送的应用部署信息;
    所述边缘节点基于所述应用部署信息从所述中心节点中下载包含相应应用程序的镜像;
    所述边缘节点调用应用容器引擎加载所述镜像,并运行所述应用容器引擎中的所述应用程序;
    所述边缘节点为所述应用容器引擎分配可用资源。
  2. 根据权利要求1所述的方法,其特征在于,所述边缘节点接收中心节点发送的应用部署信息之前,包括:
    所述中心节点接收客户端发送的包含所述应用程序的镜像;
    所述中心节点接收所述客户端发送的所述应用部署请求,所述应用部署请求包括待部署应用的边缘节点范围;
    所述中心节点基于所述应用部署请求向所述边缘节点发送所述应用部署信息。
  3. 根据权利要求2所述的方法,其特征在于,所述应用部署请求包括部署批次以及每批次对应的边缘节点范围;
    所述中心节点基于所述应用部署请求向所述边缘节点发送所述应用部署信息的步骤,包括:
    所述中心节点基于所述应用部署请求向第一批次边缘节点发送所述应用部署信息;
    当前批次边缘节点基于所述应用部署信息完成应用部署之后,向所述中心节点发送应用部署结果以及应用运行情况;
    如果所述中心节点基于所述应用部署结果以及应用运行情况,确定出当前批次边缘节点的应用部署符合要求,并且当前批次边缘节点不是最后一批次,则向下一批次边缘节点发送所述应用部署信息,并重复该步骤,否则结束该步骤。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述应用部署信息 包括资源信息,所述资源信息包括为所述应用程序分配的各种资源的大小;
    相应的,所述边缘节点为所述应用容器引擎分配可用资源的步骤,包括:
    所述边缘节点基于所述资源信息为所述应用容器引擎分配可用资源。
  5. 根据权利要求1所述的方法,其特征在于,所述应用部署信息包括应用标识;
    相应的,所述边缘节点基于所述应用部署信息从所述中心节点中下载包含相应应用程序的镜像的步骤,包括:
    所述边缘节点基于所述应用部署信息从所述中心节点中下载所述应用标识对应的镜像。
  6. 根据权利要求1所述的方法,其特征在于,所述边缘节点调用应用容器引擎加载所述镜像的步骤,包括:
    所述边缘节点根据预设的调用策略调用空闲的应用容器引擎加载所述镜像。
  7. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述边缘节点按照固定周期向所述中心节点发送所述应用容器引擎的资源使用情况;
    所述中心节点接收所述应用容器引擎当前的资源使用情况,并判断所述应用容器引擎当前的资源使用情况是否符合要求;
    如果不符合,所述中心节点生成资源调整信息,并向所述边缘节点发送所述资源调整信息;
    所述边缘节点接收所述资源调整信息,并基于所述资源调整信息重新为所述应用容器引擎分配可用资源。
  8. 根据权利要求7所述的方法,其特征在于,在所述中心节点判断出所述应用容器引擎当前的资源使用情况不符合要求之后,还包括:
    所述中心节点向客户端发送所述应用容器引擎当前的资源使用情况;
    所述客户端基于所述资源使用情况,生成是否进行资源调整的指示信息;
    所述客户端向所述中心节点发送所述指示信息;
    所述中心节点接收所述指示信息,如果所述指示信息表明需要进行资源调整,则生成所述资源调整信息。
  9. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述中心节点接收客户端发送的应用升级请求,所述应用升级请求包括待升级的边缘节点范围;
    所述中心节点基于所述应用升级请求,确定灰度升级策略,所述灰度升级策略包括灰度批次以及每批对应的边缘节点范围;
    所述中心节点基于所述灰度升级策略分批向所述边缘节点发送所述应用升级信息。
  10. 根据权利要求9所述的方法,其特征在于,所述中心节点基于所述灰度升级策略向每批次边缘节点发送所述应用升级信息之后,包括:
    当前批次边缘节点接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级;
    所述当前批次边缘节点应用升级结束之后向所述中心节点发送灰度结果,所述灰度结果包括升级结果以及应用容器引擎服务状态信息;
  11. 根据权利要求10所述的方法,其特征在于,所述中心节点基于所述灰度升级策略分批向所述边缘节点发送所述应用升级信息的步骤,包括:
    所述中心节点基于所述灰度升级策略向第一批次边缘节点发送所述应用升级信息;
    所述中心节点接收所述当前批次边缘节点发送的灰度结果,如果所述灰度结果符合要求,则在预设时间段之后向下一批边缘节点发送所述应用升级信息,并重复该步骤,直至所有批次边缘节点应用升级结束;
    如果所述灰度结果不符合要求,则向所述当前批次边缘节点发送回滚信息,以使所述当前批次边缘节点将所述应用程序回滚至升级前的应用版本。
  12. 根据权利要求10所述的方法,其特征在于,所述边缘节点接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级,包括:
    所述边缘节点接收所述中心节点发送的应用升级信息;
    所述边缘节点基于所述应用升级信息利用新应用容器引擎对所述应用程序进行升级;
    如果应用升级成功,所述边缘节点释放升级前为原应用容器引擎分配的可用资源。
  13. 根据权利要求1所述的方法,其特征在于,所述中心节点用于对所述应用程序进行动态生命周期管理,其中,所述动态生命周期管理包括启动操作、 停止操作以及重启操作。
  14. 一种应用程序的管理系统,其特征在于,包括边缘节点以及中心节点;
    所述边缘节点,用于在本节点中配置应用容器引擎;接收所述中心节点发送的应用部署信息,基于所述应用部署信息从所述中心节点中下载包含相应应用程序的镜像,调用应用容器引擎加载所述镜像,并运行所述应用容器引擎中的所述应用程序,为所述应用容器引擎分配可用资源;
    所述中心节点,用于向所述边缘节点发送所述应用部署信息。
  15. 根据权利要求14所述的系统,其特征在于,所述中心节点,还用于:
    接收客户端发送的包含所述应用程序的镜像;
    接收所述客户端发送的所述应用部署请求,所述应用部署请求包括待部署应用的边缘节点范围;
    基于所述应用部署请求生成应用部署信息;
    向所述边缘节点发送所述应用部署信息。
  16. 根据权利要求15所述的系统,其特征在于,所述应用部署请求包括部署批次以及每批次对应的边缘节点范围;
    所述中心节点,用于基于所述应用部署请求向第一批次边缘节点发送所述应用部署信息;
    所述边缘节点,用于基于所述应用部署信息完成应用部署之后,向所述中心节点发送应用部署结果以及应用运行情况;
    所述中心节点,用于当基于所述应用部署结果以及应用运行情况,确定出当前批次边缘节点的应用部署符合要求,并且当前批次边缘节点不是最后一批次时,向下一批次边缘节点发送所述应用部署信息。
  17. 根据权利要求14-16任一项所述的系统,其特征在于,所述应用部署信息包括资源信息,所述资源信息包括为所述应用程序分配的各种资源的大小;
    所述边缘节点,用于基于所述资源信息为所述应用容器引擎分配可用资源。
  18. 根据权利要求14所述的系统,其特征在于,
    所述边缘节点,用于按照固定周期向所述中心节点发送所述应用容器引擎的资源使用情况;
    所述中心节点,用于接收所述应用容器引擎当前的资源使用情况,并判断所述应用容器引擎当前的资源使用情况是否符合要求,如果不符合,生成资源 调整信息,并向所述边缘节点发送所述资源调整信息;
    所述边缘节点,用于接收所述资源调整信息,并基于所述资源调整信息重新为所述应用容器引擎分配可用资源。
  19. 根据权利要求18所述的系统,其特征在于,
    所述中心节点,用于向客户端发送所述应用容器引擎当前的资源使用情况,以使所述客户端基于所述资源使用情况,生成是否进行资源调整的指示信息,并向所述中心节点发送所述指示信息;
    所述中心节点,用于接收所述指示信息,如果所述指示信息表明需要进行资源调整,则生成所述资源调整信息。
  20. 根据权利要求14所述的系统,其特征在于,所述中心节点,用于:
    接收客户端发送的应用升级请求,所述应用升级请求包括待升级的边缘节点范围;
    基于所述应用升级请求,确定灰度升级策略,所述灰度升级策略包括灰度批次以及每批对应的边缘节点范围;
    基于所述灰度升级策略分批向边缘节点发送所述应用升级信息。
  21. 根据权利要求20所述的系统,其特征在于,所述边缘节点,用于:
    接收所述中心节点发送的所述应用升级信息,并对所述应用程序进行升级;
    在应用升级结束之后向所述中心节点发送灰度结果,所述灰度结果包括升级结果以及应用容器引擎服务状态信息。分从属
  22. 根据权利要求21所述的系统,其特征在于,所述中心节点,用于:
    基于所述灰度升级策略向第一批次边缘节点发送所述应用升级信息;
    接收所述当前批次边缘节点发送的所述灰度结果,如果所述灰度结果符合要求,则在预设时间段之后向下一批边缘节点发送所述应用升级信息,并重复该步骤,直至所有批次边缘节点应用升级结束;
    如果所述灰度结果不符合要求,则向所述当前批次边缘节点发送回滚信息,以使所述当前批次边缘节点将所述应用程序回滚至升级前的应用版本。分从属
  23. 根据权利要求21所述的方法,其特征在于,所述边缘节点,用于:
    接收所述中心节点发送的应用升级信息;
    基于所述应用升级信息利用新应用容器引擎对所述应用程序进行升级;
    如果应用升级成功,释放升级前为原应用容器引擎分配的可用资源。
PCT/CN2018/119360 2018-10-17 2018-12-05 一种应用程序的管理方法及系统 WO2020077763A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/043,204 US11316800B2 (en) 2018-10-17 2018-12-05 Method and system for managing applications
EP18937029.9A EP3866439A4 (en) 2018-10-17 2018-12-05 APPLICATION PROGRAM MANAGEMENT METHOD AND SYSTEM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811210356.2A CN109302483B (zh) 2018-10-17 2018-10-17 一种应用程序的管理方法及系统
CN201811210356.2 2018-10-17

Publications (1)

Publication Number Publication Date
WO2020077763A1 true WO2020077763A1 (zh) 2020-04-23

Family

ID=65163078

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/119360 WO2020077763A1 (zh) 2018-10-17 2018-12-05 一种应用程序的管理方法及系统

Country Status (4)

Country Link
US (1) US11316800B2 (zh)
EP (1) EP3866439A4 (zh)
CN (1) CN109302483B (zh)
WO (1) WO2020077763A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109302483B (zh) * 2018-10-17 2021-02-02 网宿科技股份有限公司 一种应用程序的管理方法及系统
CN109976771B (zh) * 2019-03-28 2023-06-27 新华三技术有限公司 一种应用的部署方法及装置
CN111800283B (zh) * 2019-04-08 2023-03-14 阿里巴巴集团控股有限公司 网络系统、服务提供与资源调度方法、设备及存储介质
CN111800282B (zh) * 2019-04-08 2023-03-28 阿里巴巴集团控股有限公司 网络系统、实例管控方法、设备及存储介质
US10893116B1 (en) * 2019-07-03 2021-01-12 Nutanix, Inc. Apparatuses and methods for edge computing application deployment in an IoT system
CN112653717B (zh) * 2019-10-11 2023-04-07 达闼科技(北京)有限公司 一种多云协作分布式系统和应用分发的方法
CN111459605A (zh) * 2020-02-26 2020-07-28 浙江工业大学 一种基于Docker的边缘计算网关虚拟化方法
CN111427664B (zh) * 2020-03-25 2024-04-12 杭州电子科技大学 基于容器的协议解析方法、装置、系统以及存储介质
CN111611054B (zh) * 2020-05-21 2023-05-16 网宿科技股份有限公司 一种应用部署方法及装置
US11201785B1 (en) * 2020-05-26 2021-12-14 Dell Products L.P. Cluster deployment and management system
KR102211876B1 (ko) * 2020-07-14 2021-02-03 강재종 기존 필드버스 기반 자동제어 시스템의 사물인터넷 연동 장치 및 방법
CN111930521A (zh) * 2020-09-23 2020-11-13 北京百度网讯科技有限公司 用于部署应用的方法、装置、电子设备及可读存储介质
CN112181441A (zh) * 2020-09-27 2021-01-05 上海万向区块链股份公司 使用混沌工程及灰度发布的构建及应用部署方法及系统
CN112130931B (zh) * 2020-09-27 2023-01-06 联想(北京)有限公司 一种应用部署方法、节点、系统及存储介质
CN112269694B (zh) * 2020-10-23 2023-12-22 北京浪潮数据技术有限公司 一种管理节点确定方法、装置、电子设备及可读存储介质
CN112532711A (zh) * 2020-11-24 2021-03-19 中移(杭州)信息技术有限公司 边缘计算应用部署方法、终端、边缘计算节点及存储介质
CN112558997A (zh) * 2020-12-28 2021-03-26 航天信息股份有限公司 一种部署应用的方法及装置
CN112732425B (zh) * 2020-12-31 2023-09-01 北京奇艺世纪科技有限公司 一种应用管理方法、装置、电子设备及存储介质
CN112732440A (zh) * 2021-01-07 2021-04-30 中国铁塔股份有限公司 资源分配方法、装置、云平台服务器和边缘节点设备
US11385888B1 (en) * 2021-01-20 2022-07-12 Vmware, Inc. Updating container runtime using standby virtual machines
CN117063153A (zh) * 2021-04-25 2023-11-14 西门子股份公司 软件模块部署方法、装置、计算设备以及存储介质
CN113342371B (zh) * 2021-05-31 2022-07-26 招商蛇口数字城市科技有限公司 物联网设备升级系统
CN114024951A (zh) * 2021-09-30 2022-02-08 威胜信息技术股份有限公司 一种基于云边协同的电力边缘异构部署方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377598A (zh) * 2010-08-26 2012-03-14 中国移动通信集团公司 一种互联网应用托管系统、设备和方法
CN104579793A (zh) * 2015-01-26 2015-04-29 网宿科技股份有限公司 网络资源的调度方法和系统
CN107105029A (zh) * 2017-04-18 2017-08-29 北京友普信息技术有限公司 一种基于Docker技术的CDN动态内容加速方法及系统
CN108399094A (zh) * 2017-02-08 2018-08-14 中国移动通信有限公司研究院 一种应用的部署方法、其部署装置及边缘数据中心

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177489B2 (en) * 2010-11-16 2015-11-03 James Leonard Driessen Digital rights convergence place chaser
EP1955151B1 (en) * 2005-12-01 2018-10-17 CA, Inc. Automated deployment and configuration of applications in an autonomically controlled distributed computing system
US9451043B2 (en) * 2013-09-13 2016-09-20 Evie Labs, Inc. Remote virtualization of mobile apps
CN103944769B (zh) * 2014-05-05 2017-04-05 江苏物联网研究发展中心 基于rpc协议的集群资源统一管理系统
US9886258B2 (en) * 2014-08-12 2018-02-06 Xiaomi Inc. Method and device for grayscale-upgrading
US9355248B1 (en) * 2015-01-26 2016-05-31 Red Hat, Inc. Container and image scanning for a platform-as-a-service system
CN106445473B (zh) * 2015-08-06 2019-12-06 华为技术有限公司 一种容器部署方法及装置
CN105867955A (zh) * 2015-09-18 2016-08-17 乐视云计算有限公司 一种应用程序部署系统及部署方法
US10567937B2 (en) * 2015-10-30 2020-02-18 British Telecommunications Public Limited Company Mobile information processing
CN105468362B (zh) * 2015-11-17 2019-03-08 广州杰赛科技股份有限公司 应用部署方法和云计算系统
GB2579745B (en) * 2016-02-25 2021-02-03 Intel Corp Platform for computing at the mobile edge
US10594798B2 (en) * 2016-06-16 2020-03-17 Veniam, Inc. Systems and methods for managing containers in a network of moving things
US10305747B2 (en) * 2016-06-23 2019-05-28 Sap Se Container-based multi-tenant computing infrastructure
CN107769949B (zh) * 2016-08-19 2021-02-12 华为技术有限公司 一种应用组件部署方法及部署节点
US9811806B1 (en) * 2016-09-15 2017-11-07 International Business Machines Corporation Determining license use for composed container services in cloud platforms
CN106506587B (zh) * 2016-09-23 2021-08-06 中国人民解放军国防科学技术大学 一种基于分布式存储的Docker镜像下载方法
US10404664B2 (en) * 2016-10-25 2019-09-03 Arm Ip Limited Apparatus and methods for increasing security at edge nodes
CN106790483A (zh) * 2016-12-13 2017-05-31 武汉邮电科学研究院 基于容器技术的Hadoop集群系统及快速构建方法
US10884808B2 (en) * 2016-12-16 2021-01-05 Accenture Global Solutions Limited Edge computing platform
US10572226B2 (en) * 2016-12-21 2020-02-25 Aon Global Operations Ltd (Singapore Branch) Methods, systems, and portal using software containers for accelerating aspects of data analytics application development and deployment
CN106789250B (zh) * 2016-12-22 2018-09-18 焦点科技股份有限公司 一种基于容器的服务多版本共存实现方法
US10761911B2 (en) * 2017-02-13 2020-09-01 Nutanix, Inc. Asynchronous application interactions in distributed systems
US10454977B2 (en) * 2017-02-14 2019-10-22 At&T Intellectual Property I, L.P. Systems and methods for allocating and managing resources in an internet of things environment using location based focus of attention
CN107426274B (zh) * 2017-04-06 2020-05-19 云南小鹰科技有限公司 基于时序的业务应用及监控分析调度的方法和系统
CN107256178B (zh) * 2017-04-27 2019-12-17 北京数人科技有限公司 一种容器管理平台
CN107229520B (zh) * 2017-04-27 2019-10-18 北京数人科技有限公司 一种数据中心操作系统
CN107733977B (zh) * 2017-08-31 2020-11-03 北京百度网讯科技有限公司 一种基于Docker的集群管理方法及装置
CN107688322A (zh) * 2017-08-31 2018-02-13 天津中新智冠信息技术有限公司 一种容器化管理系统
EP3462705B1 (en) * 2017-09-27 2019-07-10 Siemens Aktiengesellschaft Provisioning of software applications on edge devices in an internet-of-things environment
US10887198B2 (en) * 2017-09-29 2021-01-05 Nec Corporation System and method to support network slicing in an MEC system providing automatic conflict resolution arising from multiple tenancy in the MEC environment
US10922090B1 (en) * 2017-10-06 2021-02-16 EMC IP Holding Company LLC Methods and systems for executing a software application using a container
US10924342B2 (en) * 2017-10-24 2021-02-16 Honeywell International Inc. Systems and methods for adaptive industrial internet of things (IIoT) edge platform
CN108052333A (zh) * 2017-12-11 2018-05-18 北京紫优能源科技有限公司 一种电力调度集控系统标准化自动化部署方法及架构
GB2569651A (en) * 2017-12-22 2019-06-26 Veea Systems Ltd Edge computing system
US10922118B2 (en) * 2018-05-11 2021-02-16 International Business Machines Corporation Distributed container image repository service
CN110896404B (zh) * 2018-09-12 2021-09-14 华为技术有限公司 数据处理的方法、装置和计算节点
CN109302483B (zh) * 2018-10-17 2021-02-02 网宿科技股份有限公司 一种应用程序的管理方法及系统
US11132210B2 (en) * 2019-05-09 2021-09-28 International Business Machines Corporation Dynamic parallelism adjustment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377598A (zh) * 2010-08-26 2012-03-14 中国移动通信集团公司 一种互联网应用托管系统、设备和方法
CN104579793A (zh) * 2015-01-26 2015-04-29 网宿科技股份有限公司 网络资源的调度方法和系统
CN108399094A (zh) * 2017-02-08 2018-08-14 中国移动通信有限公司研究院 一种应用的部署方法、其部署装置及边缘数据中心
CN107105029A (zh) * 2017-04-18 2017-08-29 北京友普信息技术有限公司 一种基于Docker技术的CDN动态内容加速方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3866439A4 *

Also Published As

Publication number Publication date
US20210058338A1 (en) 2021-02-25
EP3866439A4 (en) 2021-11-24
CN109302483B (zh) 2021-02-02
EP3866439A1 (en) 2021-08-18
CN109302483A (zh) 2019-02-01
US11316800B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
WO2020077763A1 (zh) 一种应用程序的管理方法及系统
US11588675B2 (en) Systems and methods for selectively implementing services on virtual machines and containers
US10275270B2 (en) Method and apparatus to scale application deployments in cloud computing environments using virtual machine pools
US10225335B2 (en) Apparatus, systems and methods for container based service deployment
US8209272B2 (en) Dynamic computation of optimal placement for services in a distributed computing system
JP2006107500A (ja) ソフトウェアの実行中にソフトウェアを更新すること
US7370322B1 (en) Method and apparatus for performing online application upgrades in a java platform
US11372689B1 (en) Cloud bursting technologies
US20170085419A1 (en) System and method for deploying an application
US20210389970A1 (en) Vnf lifecycle management method and apparatus
US20070083588A1 (en) Systems and methods for automated provisioning of managed computing resources
WO2013104217A1 (zh) 基于云基础设施的针对应用系统维护部署的管理系统和方法
WO2018166398A1 (zh) 一种nfv网络中许可证的管理系统
CN111338774A (zh) 分布式定时任务调度系统及计算装置
US20210326161A1 (en) Apparatus and method for multi-cloud service platform
CN111245634B (zh) 一种虚拟化管理方法及装置
CN113312165B (zh) 一种任务处理方法及装置
US20230088202A1 (en) Deployment architecture for multi-tenant cloud computing systems
US11934877B2 (en) Workflow resource management for cloud computing services
US6922796B1 (en) Method and apparatus for performing failure recovery in a Java platform
CN109117244B (zh) 一种虚拟机资源申请排队机制的实现方法
WO2018153354A1 (zh) 一种资源申请、vnf实例创建方法及装置
CN113382077A (zh) 微服务调度方法、装置、计算机设备和存储介质
CN115248692A (zh) 一种支持多种深度学习框架模型云端部署的装置及方法
WO2017011938A1 (zh) 虚拟网络功能扩容的方法和装置

Legal Events

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

Ref document number: 18937029

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018937029

Country of ref document: EP

Effective date: 20210510