WO2018001004A1 - Docker based cloud platform control method and apparatus - Google Patents

Docker based cloud platform control method and apparatus Download PDF

Info

Publication number
WO2018001004A1
WO2018001004A1 PCT/CN2017/085626 CN2017085626W WO2018001004A1 WO 2018001004 A1 WO2018001004 A1 WO 2018001004A1 CN 2017085626 W CN2017085626 W CN 2017085626W WO 2018001004 A1 WO2018001004 A1 WO 2018001004A1
Authority
WO
WIPO (PCT)
Prior art keywords
host
cloud platform
information
application information
container
Prior art date
Application number
PCT/CN2017/085626
Other languages
French (fr)
Chinese (zh)
Inventor
童遥
彭勇
孙自广
蒋天超
申光
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2018001004A1 publication Critical patent/WO2018001004A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to the field of cloud platform technologies in cloud computing data, and in particular, to a Docker-based cloud platform control method and apparatus.
  • PaaS Platform as a Services
  • application developers can easily host applications and services on the platform without concern for infrastructure settings such as their underlying hardware configuration and operating environment.
  • PaaS greatly reduces the overhead and pain of IT deployment, providing resources to applications on demand to make them more scalable.
  • developers can focus on application innovation without worrying about the cumbersome tasks of the operating environment, so that applications on the Internet will become increasingly rich.
  • Google and Sina Internet have launched their own PaaS cloud platform.
  • Google has launched the Google App Engine (GAE) cloud service, providing application developers with a web application running and management platform that is simple to develop, easy to deploy, and scalable.
  • GAE Google App Engine
  • Sina's Sina App Engine (SAE) is a distributed Web service development and operation platform.
  • SAE chose PHP, the most popular web development language in China, as its preferred support language. Provides a range of basic capabilities such as distributed storage, distributed caching, etc. for developers to use.
  • Sina and Google PaaS cloud platform still has shortcomings, that is, the application environment is single, SAE only supports PHP applications in the initial stage of launch, GAE only supports Java and Python applications, which leads users to expand.
  • the issue of compatibility is not conducive to the rapid expansion and versatility of the PaaS platform, and can not meet the diversified needs of application providers. Therefore, it is imperative to improve the usability and scalability of the platform.
  • the Docker-based cloud platform control method and apparatus provided by the embodiments of the present invention are used to solve the problem that the PaaS cloud platform application in the prior art can only operate in a specific running environment, and the PaaS platform cannot achieve rapid expansion and versatility. technical problem.
  • an embodiment of the present invention provides a Docker-based platform control method, including:
  • the resource deployment request is a dynamic scheduling request
  • the load information of each host on the cloud platform and the application information that needs to be scheduled are acquired according to the resource deployment request, where the application information is application information on a host with the highest load information.
  • an embodiment of the present invention further provides a Docker-based platform control apparatus, including:
  • a receiving module configured to receive a resource deployment request input by a user
  • the resource scheduling module is configured to deploy the copy of the application information that needs to be scheduled to the host.
  • an embodiment of the present invention further provides a Docker-based platform control apparatus, including: a resource scheduling subunit and a platform branch unit;
  • the platform support unit is configured to receive a resource deployment request input by a user
  • the resource scheduling unit is configured to: when the resource deployment request is a dynamic scheduling request, select a host with the lowest load information according to load information of each host on the cloud platform, and deploy a copy of the application information that needs to be scheduled on the host.
  • the application information is application information on a host with the highest load information.
  • the embodiment of the invention further provides a computer storage medium, wherein the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the foregoing Docker-based platform control method.
  • a Docker-based cloud platform control method, apparatus, and computer storage medium includes receiving a resource deployment request input by a user, and when the resource deployment request is a dynamic scheduling request, according to the resource deployment request Obtaining load information of each host on the cloud platform and application function information to be scheduled, selecting a host with the lowest load information according to a preset scheduling policy, and deploying a copy of the application information on the host; The load information redeploys the application information and adjusts the application information from the high-load host to the low-load host, thereby realizing the expansion of the host application and the reasonable allocation of the cloud platform resources, thereby improving the availability of the cloud platform.
  • FIG. 1 is a schematic structural diagram of a Docker-based cloud platform control apparatus according to a first embodiment of the present invention
  • FIG. 2 is another schematic structural diagram of a Docker-based cloud platform control apparatus according to a first embodiment of the present invention
  • FIG. 3 is still another schematic structural diagram of a Docker-based cloud platform control apparatus according to a first embodiment of the present invention
  • FIG. 4 is a flowchart of a Docker-based cloud platform control method according to a second embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a Docker-based cloud platform control apparatus according to an embodiment.
  • the Docker-based cloud platform control apparatus 1 includes a receiving module 11, an obtaining module 12, a selecting module 13, and a resource scheduling module 14, wherein:
  • the receiving module 11 is configured to receive a resource deployment request input by a user, where the resource deployment request includes a first scheduling request and a dynamic scheduling request;
  • the obtaining module 12 is configured to acquire load information of each host on the cloud platform and application information that needs to be scheduled according to the resource deployment request when the resource deployment request is a dynamic scheduling request;
  • the selecting module 13 is configured to select a host with the lowest load information according to a preset scheduling policy
  • the resource scheduling module 14 is configured to deploy a copy of the application information that needs to be scheduled to the host.
  • the infrastructure creation of the application is first required, and the infrastructure for creating the application can directly create or configure the infrastructure by inputting the resource deployment request.
  • the resource scheduling module 14 acquires the physical server on the host according to the resource deployment request, and filters the physical server according to the request policy, and rejects the host. The physical server is used, and then the resource is allocated for the host according to a preset scheduling policy.
  • the obtaining module 12 acquires load information of each host on the cloud platform according to the resource deployment request, and the load information may be an available physical server of the host, and It may be application information of a container set on the physical server, and the selection module 13 selects the lowest and highest load information according to the load information, and then deploys the application in the host with the highest load information to the host with the lowest load information. Specifically, the application is deployed in a container on the host with the lowest load information, and a copy of the application is executed through the container, thereby implementing scheduling of the application.
  • the cloud platform control device 1 provided in this embodiment further sets a general container. 15.
  • the universal container 15 is a Docker container, which can automatically create a corresponding application running infrastructure and IT resources according to the deployment request, without requiring the user to manually redeploy. Specifically, the universal container 15 performs the container according to different requests. Encapsulate and package a variety of different web containers, such as Docker-Jetty, Docker-Tomcat, Docker-PHP5, and more.
  • a routing unit 16 is provided on the cloud platform control device 1, and the routing unit 16 is configured to perform all the received scheduling requests. Routing, re-adjusting the IP correspondence between the application and the container.
  • FIG. 2 another schematic structural diagram of the Docker-based cloud platform control apparatus 1 provided in this embodiment includes a platform support unit 21 and a resource scheduling unit 22, and the platform supports
  • the unit 21 is configured to receive a resource deployment request input by the user
  • the resource scheduling unit 22 is configured to: when the resource deployment request is a dynamic scheduling request, select a host with the lowest load information according to load information of each host on the cloud platform, and A copy of the application information that needs to be scheduled is deployed on the host.
  • the load information includes load information of the container
  • the resource scheduling unit 22 is configured to select a container with the lowest load information from the host according to the preset scheduling policy, and on the container. Deploy a copy of the application information.
  • the cloud platform control apparatus 1 provided by this embodiment further includes a routing control unit 23 and a general container setting unit 24;
  • the universal container setting unit 24 is configured to set, on the host, a general container for running a copy of the application information, where the universal container is a container including at least one programming language running environment;
  • the routing control unit 23 is configured to adjust the route of the application information to a container corresponding to the copy of the application information after the resource scheduling unit deploys the copy of the application information.
  • the scheduling of the application is performed according to the load information of each host on the cloud platform
  • the resource scheduling unit 22 further includes determining, according to the acquired load information of the host on the cloud platform, whether the load is in a high load state, and if so, The alarm information is sent; if not, the application information on the host with lower load information is deployed to other hosts, and the application information on the host is deleted.
  • each module in FIG. 2 can also communicate with each other by setting a message bus, and the specific connection relationship is as shown in FIG. 3.
  • the platform support unit 21 provides some basic modules for the cloud platform in addition to receiving the request, and provides some basic capabilities for the cloud platform, such as setting the API Server 211 (Application Programming Interface Server, server application program interface).
  • the API Server 211 is used as an external interface of the entire device, receives the request through the interface, and sends the received request to the resource scheduling unit 22, and the server application interface 211 exposes it by abstracting the restful-style HTTP interface.
  • the user is convenient to call the interface to implement the request receiving and reasonable resource allocation; in addition, the platform supporting unit 21 is also provided with Memcached, which provides session sharing between different containers, and the Cache provides a high performance distributed.
  • Object caching service Mysql provides a native relational database
  • Freedisk provides a small file storage service.
  • the resource scheduling unit 22 serves as a resource scheduling core of the cloud platform, and is mainly used for reasonably allocating IT resources and infrastructure provided by the cloud platform according to the request, specifically, for running the application.
  • the container is deployed and operated on the host.
  • the resource deployment request includes a first scheduling request and a dynamic scheduling request, where the initial scheduling request is a scheduling of resources in the cloud platform when the user first creates an application, including The creation, deletion, modification, and other operations of the resource are created to set the corresponding running environment infrastructure and allocate IT resources for the newly added application; deleting refers to shrinking the container, and scheduling the application in the container with lower load information to After the other containers are deleted, the original container is deleted; the modification refers to reallocating other resources such as IT resources to the container according to the scheduling request.
  • the dynamic scheduling request is a scheduling in the running process of the system, and the scheduling is performed on a host or a container that is too high or too low in the running process, mainly by monitoring the state of the application and the state of the container, according to the monitoring.
  • the actual situation expands or shrinks the application.
  • the resource scheduling unit 22 specifically includes a primary resource scheduler 221, a dynamic resource scheduler 222, and a node agent 223, where
  • the initial resource scheduler 221 implements the transfer and coordination of all initial resource operation requests.
  • the implementation manner is divided into two steps.
  • the first step is to take out all the physical servers, and use different filters (filters) to filter the physical servers for different request policies. , get a list of available servers, the purpose of this step is to ensure the availability of the host.
  • the second step is to introduce the weight and scoring concept.
  • the initial resource scheduler calculates the score of each host by different weights, then sorts the host according to the score from high to low, and deploys multiple copies of the application (the default is 2) to On a host with a high score.
  • the dynamic resource scheduler 222 implements dynamic scheduling, dynamically increasing and reducing the number of application backend containers. After the dynamic resource scheduler obtains the load information of the host and the load information of the Docker container, the application copy expansion is completed according to the following policy: the host with the lowest load is selected according to the corresponding scheduling policy, and a copy of the application is deployed on the host, and the route is simultaneously routed. The subsystem sends a request to modify the direction of the route so that the newly added application replica can receive the request, thereby implementing load balancing. When all hosts in the cluster are close to a high load state, the expansion of the application replica is stopped and an alert message is sent to the administrator.
  • the application copy shrinks according to a certain strategy.
  • regular defragmentation is added to ensure multiple applications of the same application. Under the premise that the replicas are distributed on different hosts, try to distribute the distributed applications to some hosts.
  • the node agent 223 runs on each computing node as a resident process, and periodically reports heartbeat data to the primary resource scheduler.
  • the heartbeat data includes information such as CPU utilization, memory usage, and remaining space of the hard disk.
  • it adapts the underlying Docker container and obtains the load data of each container on it, including CPU usage, memory usage, hard disk read and write status, and so on.
  • the routing unit 24 includes a software router 241 (App Router), an Nginx controller 242 (Ngnix Controller), and a Tengine, where:
  • the software router 241 is the core control component of the PaaS cloud platform routing. After determining that the application on a host needs to be scheduled, and after setting up the container, the routing direction of the application needs to be adjusted, and the component is responsible for maintaining a copy. A routing table containing all the application routing policies, and controlling the Nginx to complete the routing of the application access request according to a specific task scheduling algorithm. The routing for implementing the above functions is mainly performed in two steps. The first step is to externally domain name to internal according to the routing request. The routing of the temporary domain name, that is, the IP address of the external IP to the host and the IP of the host to the physical server.
  • the second step is the routing of the internal temporary domain name to the container, that is, the IP address from the physical server to the container IP, providing internal temporary
  • the domain name can also be used to facilitate application developers to check and confirm the application after submitting the application, thereby implementing load balancing, health check, session sticking and the like among multiple application copies.
  • the software router 241 before performing routing, the software router 241 further includes determining the validity of the request, determining whether the routing table needs to be updated after determining the legality, and notifying the Ngnix Controller (controller) to update the routing table if necessary. operating.
  • the Nginx controller 242 loads the most from the database after receiving the notification of the updated routing information of the software router 241.
  • New routing information, and the corresponding configuration file is generated by Java's Velocity technology, replacing the current Nginx configuration file and restarting Nginx, so that the routing information takes effect in time.
  • Tengine Based on Nginx, Tengine adds advanced features and features to the needs of large-volume websites, such as consistent hashes, session persistence, health checks, and automatic offline and offline based on server status.
  • the universal container 23 is configured to set a running environment container for an application, and the general container 23 performs different deployment allocation according to different requests, according to a corresponding writing language and a compatible language of the application.
  • the Web container is re-encapsulated.
  • the Java application can only be run on the Java container.
  • the general container 23 is used to implement the fast package to provide the corresponding container, which improves the compatibility of the PaaS platform.
  • the general container 23 provided in this embodiment can specifically abstract two layers, which are an adaptation layer and a container layer respectively.
  • the adaptation layer can collect information such as the host load and the like as a resident node (that is, a node agent). Aspects can be adapted to the underlying container.
  • the container layer encapsulates different web containers based on Docker Api, such as Docker-Jetty, Docker-Tomcat, Docker-PHP5, and so on.
  • Docker Api such as Docker-Jetty, Docker-Tomcat, Docker-PHP5, and so on.
  • the embodiment of the present invention also introduces a centralized image management module of the Image Server, which facilitates the release, replacement, and deletion of the image.
  • the Docker-based cloud platform control device receives the resource deployment request input by the user through the receiving module.
  • the acquiring module acquires load information of each host of the cloud platform according to the resource deployment request.
  • the selection module selects the host with the lowest load information according to the preset scheduling policy, and deploys a copy of the application information on the host, and deploys the application information on the host with the highest load information to the host with the lowest load information, so that the application information is obtained. It can be scheduled between multiple hosts, which realizes the expansion and availability of the cloud platform, and also improves the utilization of cloud platform resources.
  • the embodiment of the present invention further provides a corresponding container for the scheduled application information, so that the application information can be normally operated after being scheduled, and the PaaS cloud platform application in the prior art can only be run on a specific host.
  • the universal container can implement container packaging in a variety of programming languages, providing corresponding containers for different application information, thereby improving the compatibility and scalability of the PaaS cloud platform.
  • FIG. 4 is a Docker-based cloud platform control method according to an embodiment.
  • the Docker is an open source application container engine, which allows developers to package their applications and dependencies into a portable container. And then released to any popular LINUX machine, can also achieve virtualization, the control process specifically includes the following steps:
  • the resource deployment request received by the cloud platform control device includes a primary scheduling request or a dynamic scheduling request.
  • the received request should be the initial scheduling request
  • the cloud platform control device should Allocating IT resources and setting up the infrastructure according to the initial scheduling request is implemented in two steps.
  • the first step is to take out all the physical servers and use different filters (filters) to filter the physics for different request policies.
  • the server gets a list of available servers.
  • the purpose of this step is to ensure the availability of the host.
  • the second step is to introduce weights and scoring concepts. Resource Schedule calculates the score of each host by different weights, then sorts the host's score from high to low, and deploys multiple copies of the application (default is 2 ) to the host with high scores.
  • the cloud platform control device When receiving a dynamic scheduling request, the cloud platform control device should dynamically increase the number of applications and reduce the number of application backend containers according to the request.
  • Request request to modify the direction of the route, so that the newly added application copy can receive the request, thereby achieving load balancing.
  • the expansion of the application replica is stopped and an alert message is sent to the administrator.
  • the application copy shrinks according to a certain strategy.
  • regular defragmentation is added to ensure multiple applications of the same application. Under the premise that the replicas are distributed on different hosts, try to distribute the distributed applications to some hosts.
  • the load information acquired by the cloud platform control device may specifically be load information of the container, where the load information may be understood as application information; and the load is selected from the host according to the preset scheduling policy.
  • the load information obtained by the cloud platform control device may specifically be the load information of the physical server on the host, where the load information may be understood as an application container; and the load information is selected from the host according to the preset scheduling policy.
  • the lowest physical server and a copy of the application information is deployed on the physical server.
  • the method further includes: setting, on the host, a general-purpose container for running a copy of the application information, and sending a routing request Orienting the application information to a container corresponding to a copy of the application information, where the universal container is a container including at least one programming language running environment, so that the scheduled application can run normally, thereby implementing the PaaS cloud. Compatibility between different applications of the platform and the container.
  • the Docker-based cloud platform control method and apparatus includes receiving a resource deployment request input by a user, and when the resource deployment request is a dynamic scheduling request, according to the resource deployment request.
  • the load information redeploys the application information and adjusts the application information from the high-load host to the low-load host, thereby realizing the expansion of the host application and the reasonable allocation of the cloud platform resources, thereby improving the availability of the cloud platform.
  • the application information is run in different operating environments, which solves the problem that the application information in the prior art can only be operated in a single operating environment, resulting in poor compatibility.
  • modules or steps of the above embodiments of the present invention can be implemented by a general computing device, which can be concentrated on a single computing device or distributed among multiple computing devices.
  • they may be implemented by program code executable by the computing device, such that they may be stored in a computer storage medium (ROM/RAM, disk, optical disk) by a computing device, and at some In some cases, you can
  • ROM/RAM, disk, optical disk a computer storage medium
  • you can The steps shown or described are performed in a different order than that herein, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module. Therefore, the invention is not limited to any particular combination of hardware and software.
  • the present disclosure is applicable to the cloud platform technical field in cloud computing data, to implement extension of the host application and reasonable allocation of the cloud platform resources, improve the availability of the cloud platform, and realize the application information running in different operating environments, and solve the present problem.
  • application information can only be run in a single operating environment, resulting in poor compatibility.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are a Docker based cloud platform control method and apparatus. The method comprises: receiving a resource deployment request input by a user (S402); when the resource deployment request is a dynamic scheduling request, according to the resource deployment request, acquiring load information about each host on the cloud platform and application information needing to be scheduled (S404); and according to a pre-set scheduling policy, selecting a host with the minimum load information, and deploying a copy of the application information needing to be scheduled on the host (S406). By means of re-deploying application information according to load information on each host, and adjusting the application information from a host with a high load to a host with a low load, the extension of a host application and the reasonable allocation of cloud platform resources are realized, thereby improving the availability of the cloud platform, realizing the running of the application information in different running environments, and solving the problem of poor compatibility caused by the fact that application information can only run in a single running environment in the prior art.

Description

一种基于Docker的云平台控制方法及装置Docker-based cloud platform control method and device 技术领域Technical field
本发明涉及云计算数据中的云平台技术领域,尤其涉及一种基于Docker的云平台控制方法及装置。The present invention relates to the field of cloud platform technologies in cloud computing data, and in particular, to a Docker-based cloud platform control method and apparatus.
背景技术Background technique
随着互联网技术不断深入人们的生活,各互联网公司竞相推出新的产品来满足现有用户需要求,吸引新的用户,云服务已经成为实践云计算的重点之一,它将应用运行所需的IT资源和基础设施以服务的方式提供给用户,包括了中间件服务,信息服务,连通性服务,整合服务和消息服务等多种服务形式。为实现平台服务,业界提出了平台即服务(Platform as a Services,以下简称PaaS)。通过PaaS平台,应用开发者可以很方便的把应用和服务托管在平台之上,而不用关心它们底层的硬件配置和运行环境等基础设施的设置。对开发者而言,PaaS极大程度上减少了IT部署的开销和痛苦,按需为应用程序提供资源,让其更易伸缩。在开放PaaS云计算平台的推动下,开发者可以专注于应用创新,而不用关心运行环境等繁琐的事务,这样互联网上的应用必将日益丰富。As Internet technology continues to deepen people's lives, Internet companies are competing to launch new products to meet the needs of existing users and attract new users. Cloud services have become one of the key points in the practice of cloud computing, and it will be used for application operations. IT resources and infrastructure are provided to users in a service-oriented manner, including middleware services, information services, connectivity services, integrated services, and messaging services. In order to realize platform services, the industry has proposed Platform as a Services (hereinafter referred to as PaaS). Through the PaaS platform, application developers can easily host applications and services on the platform without concern for infrastructure settings such as their underlying hardware configuration and operating environment. For developers, PaaS greatly reduces the overhead and pain of IT deployment, providing resources to applications on demand to make them more scalable. Driven by the open PaaS cloud computing platform, developers can focus on application innovation without worrying about the cumbersome tasks of the operating environment, so that applications on the Internet will become increasingly rich.
目前,Google和新浪互联网公司已推出自己的PaaS云平台,Google推出了Google App Engine(GAE)云服务,为应用开发者提供了一个开发简单、部署方便、伸缩快捷的Web应用运行和管理平台,新浪推出的Sina App Engine(SAE)是一个分布式Web服务开发、运行平台,作为国内首个公有PaaS云平台,SAE选择的是在国内最流行的Web开发语言PHP作为其首选的支持语言,并提供了一系列的分布式存储、分布式缓存等基础能力供开发者使用。但是,上述新浪和Google所推出的PaaS云平台还是存在不足,就是对应用的运行环境单一,SAE在推出的初期只支持PHP应用,GAE只支持Java和Python应用,导致了用户在进行扩展时会出现兼容性的问题,不利于PaaS平台的快速扩张和通用性的要求,无法满足应用提供者对于能力的多样化需求,因此,提升平台的可用性和扩展性是当务之急。At present, Google and Sina Internet have launched their own PaaS cloud platform. Google has launched the Google App Engine (GAE) cloud service, providing application developers with a web application running and management platform that is simple to develop, easy to deploy, and scalable. Sina's Sina App Engine (SAE) is a distributed Web service development and operation platform. As the first public PaaS cloud platform in China, SAE chose PHP, the most popular web development language in China, as its preferred support language. Provides a range of basic capabilities such as distributed storage, distributed caching, etc. for developers to use. However, the above-mentioned Sina and Google PaaS cloud platform still has shortcomings, that is, the application environment is single, SAE only supports PHP applications in the initial stage of launch, GAE only supports Java and Python applications, which leads users to expand. The issue of compatibility is not conducive to the rapid expansion and versatility of the PaaS platform, and can not meet the diversified needs of application providers. Therefore, it is imperative to improve the usability and scalability of the platform.
发明内容Summary of the invention
本发明实施例提供的基于Docker的云平台控制方法及装置,用以解决现有技术中的PaaS云平台应用只能在特定的运行环境下运行,而导致PaaS平台无法实现快速扩张和通用性的技术问题。The Docker-based cloud platform control method and apparatus provided by the embodiments of the present invention are used to solve the problem that the PaaS cloud platform application in the prior art can only operate in a specific running environment, and the PaaS platform cannot achieve rapid expansion and versatility. technical problem.
为解决上述技术问题,本发明实施例提供一种基于Docker的平台控制方法,包括:To solve the above technical problem, an embodiment of the present invention provides a Docker-based platform control method, including:
接收用户输入的资源部署请求;Receiving a resource deployment request input by a user;
当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息; When the resource deployment request is a dynamic scheduling request, the load information of each host on the cloud platform and the application information that needs to be scheduled are acquired according to the resource deployment request, where the application information is application information on a host with the highest load information. ;
根据预设的调度策略选择负载信息最低的主机,并将所述需要调度的应用信息的副本部署到该主机上。Selecting a host with the lowest load information according to a preset scheduling policy, and deploying a copy of the application information that needs to be scheduled to the host.
一方面,本发明实施例还提供一种基于Docker的平台控制装置,包括:In one aspect, an embodiment of the present invention further provides a Docker-based platform control apparatus, including:
接收模块,设置为接收用户输入的资源部署请求;a receiving module, configured to receive a resource deployment request input by a user;
获取模块,设置为在所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;And obtaining, by the acquiring module, the load information of each host on the cloud platform and the application information that needs to be scheduled according to the resource deployment request, where the application information is the highest load information. Application information on the host;
选择模块,设置为根据预设的调度策略选择负载信息最低的主机;Selecting a module, and setting a host with the lowest load information according to a preset scheduling policy;
资源调度模块,设置为将所述需要调度的应用信息的副本部署到该主机上。The resource scheduling module is configured to deploy the copy of the application information that needs to be scheduled to the host.
另一方面,本发明实施例还提供一种基于Docker的平台控制装置,包括:资源调度子单元和平台支单元;In another aspect, an embodiment of the present invention further provides a Docker-based platform control apparatus, including: a resource scheduling subunit and a platform branch unit;
所述平台支撑单元设置为接收用户输入的资源部署请求;The platform support unit is configured to receive a resource deployment request input by a user;
所述资源调度单元设置为在所述资源部署请求为动态调度请求时,根据所述云平台上各主机的负载信息选择负载信息最低的主机,并将需要调度的应用信息的副本部署在该主机上,所述应用信息为负载信息最高的主机上的应用信息。The resource scheduling unit is configured to: when the resource deployment request is a dynamic scheduling request, select a host with the lowest load information according to load information of each host on the cloud platform, and deploy a copy of the application information that needs to be scheduled on the host. The application information is application information on a host with the highest load information.
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的基于Docker的平台控制方法。The embodiment of the invention further provides a computer storage medium, wherein the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the foregoing Docker-based platform control method.
本发明的有益效果是:The beneficial effects of the invention are:
根据本发明实施例提供的基于Docker的云平台控制方法、装置以及计算机存储介质,该方法包括接收用户输入的资源部署请求,当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用功能信息,根据预设的调度策略选择一个负载信息最低的主机,并在该主机上部署该应用信息的副本;通过根据各主机上的负载信息对应用信息进行重新部署,将应用信息从高负载的主机上调整至低负载的主机上,从而实现了对主机应用的扩展以及对云平台资源的合理分配,提高了云平台的可用性;进一步的根据各主机的负载信息判断主机是否为低负载状态,若是,则将高负载状态的主机上需要调度的应用信息通过部署副本的形式将该应用信息调整至低负载的主机上,从而实现了应用信息在不同运行环境下运行,解决了现有技术中应用信息只能在单一的运行环境下运行,导致兼容性不佳的问题。A Docker-based cloud platform control method, apparatus, and computer storage medium according to an embodiment of the present invention, the method includes receiving a resource deployment request input by a user, and when the resource deployment request is a dynamic scheduling request, according to the resource deployment request Obtaining load information of each host on the cloud platform and application function information to be scheduled, selecting a host with the lowest load information according to a preset scheduling policy, and deploying a copy of the application information on the host; The load information redeploys the application information and adjusts the application information from the high-load host to the low-load host, thereby realizing the expansion of the host application and the reasonable allocation of the cloud platform resources, thereby improving the availability of the cloud platform. Further determining whether the host is in a low-load state according to the load information of each host, and if so, adjusting the application information that needs to be scheduled on the host in the high-load state to the host with low load by deploying the copy, thereby Implemented application information in different operating environments OK, it solves the prior art application of information can only be run under a single operating environment, resulting in poor compatibility issues.
附图说明DRAWINGS
图1为本发明第一实施例提供的基于Docker的云平台控制装置的结构示意图;1 is a schematic structural diagram of a Docker-based cloud platform control apparatus according to a first embodiment of the present invention;
图2为本发明第一实施例提供的基于Docker的云平台控制装置的另一种结构示意图;2 is another schematic structural diagram of a Docker-based cloud platform control apparatus according to a first embodiment of the present invention;
图3为本发明第一实施例提供的基于Docker的云平台控制装置的又一种结构示意图;FIG. 3 is still another schematic structural diagram of a Docker-based cloud platform control apparatus according to a first embodiment of the present invention; FIG.
图4为本发明第二实施例提供的基于Docker的云平台控制方法的流程图。FIG. 4 is a flowchart of a Docker-based cloud platform control method according to a second embodiment of the present invention.
具体实施方式 detailed description
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。The embodiments of the present invention are further described in detail below with reference to the accompanying drawings.
第一实施例:First embodiment:
为了实现应用信息能在PaaS云平台的不同容器对应的不同运行环境下进行运行,从而提高PaaS云平台的扩展性能和可用性,本发明实施例提供了一种基于Docker的云平台控制装置,该装置是基于Docker这种开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可以移植的容器中,然后发布到任何流行的LINUX机器上,也可以实现虚拟化,从而实现PaaS云平台的扩展以及提高兼容性,请参见图1,图1为本实施例提供的基于Docker的云平台控制装置的结构示意图。In order to realize that the application information can be run in different operating environments corresponding to different containers of the PaaS cloud platform, thereby improving the expansion performance and availability of the PaaS cloud platform, the embodiment of the present invention provides a cloud platform control device based on Docker, the device Based on Docker's open source application container engine, developers can package their applications and dependencies into a portable container, then publish them to any popular Linux machine, or virtualize them to implement PaaS cloud. For the expansion of the platform and the improvement of compatibility, please refer to FIG. 1. FIG. 1 is a schematic structural diagram of a Docker-based cloud platform control apparatus according to an embodiment.
本实施提供的基于Docker的云平台控制装置1包括接收模块11、获取模块12、选择模块13和资源调度模块14,其中:The Docker-based cloud platform control apparatus 1 provided by the present implementation includes a receiving module 11, an obtaining module 12, a selecting module 13, and a resource scheduling module 14, wherein:
所述接收模块11用于接收用户输入的资源部署请求,其中所述资源部署请求包括初次调度请求和动态调度请求;The receiving module 11 is configured to receive a resource deployment request input by a user, where the resource deployment request includes a first scheduling request and a dynamic scheduling request;
所述获取模块12用于在所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息;The obtaining module 12 is configured to acquire load information of each host on the cloud platform and application information that needs to be scheduled according to the resource deployment request when the resource deployment request is a dynamic scheduling request;
选择模块13用于根据预设的调度策略选择负载信息最低的主机;The selecting module 13 is configured to select a host with the lowest load information according to a preset scheduling policy;
资源调度模块14用于将所述需要调度的应用信息的副本部署到该主机上。The resource scheduling module 14 is configured to deploy a copy of the application information that needs to be scheduled to the host.
在本实施例中,用户通过PaaS云平台进行应用开发时,首先需要进行应用的基础设施创建,而创建应用的基础设施可以直接通过输入资源部署请求即可实现基础设施的创建或者配置,当所述接收模块11接收到的资源部署请求是初次调度请求时,则资源调度模块14根据所述资源部署请求获取主机上的物理服务器,并对所述物理服务器按照请求策略进行过滤,剔除主机上不可用的物理服务器,然后根据预设的调度策略为所述主机进行资源的分配。In this embodiment, when the user develops the application through the PaaS cloud platform, the infrastructure creation of the application is first required, and the infrastructure for creating the application can directly create or configure the infrastructure by inputting the resource deployment request. When the resource deployment request received by the receiving module 11 is the initial scheduling request, the resource scheduling module 14 acquires the physical server on the host according to the resource deployment request, and filters the physical server according to the request policy, and rejects the host. The physical server is used, and then the resource is allocated for the host according to a preset scheduling policy.
在本实施例中,当所述资源部署请求为动态调度请求时,获取模块12根据所述资源部署请求获取云平台上各主机的负载信息,该负载信息可以是主机的可用的物理服务器,也可以是设置于物理服务器上的容器的应用信息,选择模块13根据负载信息选择出负载信息最低的和最高的,然后将负载信息最高的主机中的应用部署到负载信息最低的主机上。具体的是,将应用的副本部署到负载信息最低的主机上的容器中,通过容器来执行该应用的副本,从而实现应用的调度。In this embodiment, when the resource deployment request is a dynamic scheduling request, the obtaining module 12 acquires load information of each host on the cloud platform according to the resource deployment request, and the load information may be an available physical server of the host, and It may be application information of a container set on the physical server, and the selection module 13 selects the lowest and highest load information according to the load information, and then deploys the application in the host with the highest load information to the host with the lowest load information. Specifically, the application is deployed in a container on the host with the lowest load information, and a copy of the application is executed through the container, thereby implementing scheduling of the application.
由于云平台上的各个主机的运行环境不相同,将应用信息调度到其他主机上后可能会出现无法兼容运行的问题,针对该问题,本实施例提供的云平台控制装置1还设置了通用容器15,该通用容器15是Docker容器,其可以根据部署请求自动创建提供对应的应用运行基础设施和IT资源,不需要用户再人为的重新部署,具体的该通用容器15根据不同的请求对容器进行封装,封装出多种不同的Web容器,比如Docker-Jetty、Docker-Tomcat、Docker-PHP5等。Because the running environment of each host on the cloud platform is different, the application of the application information to other hosts may cause incompatibility. For the problem, the cloud platform control device 1 provided in this embodiment further sets a general container. 15. The universal container 15 is a Docker container, which can automatically create a corresponding application running infrastructure and IT resources according to the deployment request, without requiring the user to manually redeploy. Specifically, the universal container 15 performs the container according to different requests. Encapsulate and package a variety of different web containers, such as Docker-Jetty, Docker-Tomcat, Docker-PHP5, and more.
要实现将调度后的应用正确地在调度后的主机上的运行,除了进行容器的提供之外,还需要将应用信息的路由指向从原来的指向调整至指向调度后的容器上,具体的,本实施例在云平台控制装置1上设置了路由单元16,该路由单元16用于对所有接收到的调度请求进行 路由,将应用与容器之间的IP对应关系进行重新的调整。In order to realize the operation of the scheduled application correctly on the scheduled host, in addition to the provision of the container, the routing of the application information needs to be adjusted from the original pointing to the container after the scheduling, specifically, In this embodiment, a routing unit 16 is provided on the cloud platform control device 1, and the routing unit 16 is configured to perform all the received scheduling requests. Routing, re-adjusting the IP correspondence between the application and the container.
在本实施例中,如图2所示,为本实施例提供的基于Docker的云平台控制装置1的另一种结构示意图,该装置包括平台支撑单元21和资源调度单元22,所述平台支撑单元21用于接收用户输入的资源部署请求,资源调度单元22用于在所述资源部署请求为动态调度请求时,根据所述云平台上各主机的负载信息选择负载信息最低的主机,并将需要调度的应用信息的副本部署在该主机上。In this embodiment, as shown in FIG. 2, another schematic structural diagram of the Docker-based cloud platform control apparatus 1 provided in this embodiment includes a platform support unit 21 and a resource scheduling unit 22, and the platform supports The unit 21 is configured to receive a resource deployment request input by the user, and the resource scheduling unit 22 is configured to: when the resource deployment request is a dynamic scheduling request, select a host with the lowest load information according to load information of each host on the cloud platform, and A copy of the application information that needs to be scheduled is deployed on the host.
在本实施例中,所述负载信息包括容器的负载信息;所述资源调度单元22用于根据所述预设的调度策略从所述主机上的选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。In this embodiment, the load information includes load information of the container, and the resource scheduling unit 22 is configured to select a container with the lowest load information from the host according to the preset scheduling policy, and on the container. Deploy a copy of the application information.
如图2所示,本实施例提供的云平台控制装置1还包括路由控制单元23和通用容器设置单元24;As shown in Figure 2, the cloud platform control apparatus 1 provided by this embodiment further includes a routing control unit 23 and a general container setting unit 24;
所述通用容器设置单元24用于在所述主机上设置用于运行所述应用信息的副本的通用容器,所述通用容器为包括至少一种编程语言运行环境的容器;The universal container setting unit 24 is configured to set, on the host, a general container for running a copy of the application information, where the universal container is a container including at least one programming language running environment;
所述路由控制单元23用于在所述资源调度单元部署所述应用信息的副本之后,将所述应用信息的路由指向调整至所述应用信息的副本对应的容器上。The routing control unit 23 is configured to adjust the route of the application information to a container corresponding to the copy of the application information after the resource scheduling unit deploys the copy of the application information.
在本实施例中,在根据云平台上各主机的负载信息进行应用的调度,资源调度单元22还包括根据获取的所述云平台上主机的负载信息判断是否都处于高负载状态,若是,则发送告警信息;若不是,则将负载信息较低的主机上的应用信息部署到其他主机上,并删除该主机上的应用信息。In this embodiment, the scheduling of the application is performed according to the load information of each host on the cloud platform, and the resource scheduling unit 22 further includes determining, according to the acquired load information of the host on the cloud platform, whether the load is in a high load state, and if so, The alarm information is sent; if not, the application information on the host with lower load information is deployed to other hosts, and the application information on the host is deleted.
在本实施例中,图2中的各个模块之间还可以通过设置消息总线的形式进行相互通信,其具体连接关系如图3所示。In this embodiment, each module in FIG. 2 can also communicate with each other by setting a message bus, and the specific connection relationship is as shown in FIG. 3.
如图3所示,平台支撑单元21在接收请求之外,还为云平台提供一些基础模块,对云平台提供一些基础能力的支持,比如设置API Server 211(Application Programming Interface Server,服务器应用程序接口),将API Server 211作为整个装置对外的接口,通过该接口接收请求以及将接收到的请求发送至资源调度单元22上,并且服务器应用程序接口211通过抽象出restful风格的HTTP接口而将其暴露在装置上,方便用户对该接口的调用来实现请求的接收和合理的资源分配;此外,平台支撑单元21还设置有Memcached,提供不同容器之间的session共享,Cache提供一个高性能的分布式对象缓存服务,Mysql提供原生的关系型数据库,Freedisk提供小文件存储的服务。As shown in FIG. 3, the platform support unit 21 provides some basic modules for the cloud platform in addition to receiving the request, and provides some basic capabilities for the cloud platform, such as setting the API Server 211 (Application Programming Interface Server, server application program interface). The API Server 211 is used as an external interface of the entire device, receives the request through the interface, and sends the received request to the resource scheduling unit 22, and the server application interface 211 exposes it by abstracting the restful-style HTTP interface. On the device, the user is convenient to call the interface to implement the request receiving and reasonable resource allocation; in addition, the platform supporting unit 21 is also provided with Memcached, which provides session sharing between different containers, and the Cache provides a high performance distributed. Object caching service, Mysql provides a native relational database, and Freedisk provides a small file storage service.
在本实施例中,资源调度单元22作为云平台的资源调度核心,主要是用于根据请求对云平台所提供的IT资源和基础设施进行合理的分配,具体来说就是将用于运行应用的容器部署于主机上操作,在本实施例中,该资源部署请求包括初次调度请求和动态调度请求,所述初次调度请求为用户第一次创建应用时对云平台中的资源的调度,主要包括资源的创建、删除、修改等操作,创建是指为新增加的应用设置对应的运行环境基础设施和分配IT资源;删除是指将容器收缩,在将负载信息较低的容器中的应用调度到其他容器上后,对原来的容器进行删除;修改是指根据调度请求为容器重新分配IT资源等其他资源。 In this embodiment, the resource scheduling unit 22 serves as a resource scheduling core of the cloud platform, and is mainly used for reasonably allocating IT resources and infrastructure provided by the cloud platform according to the request, specifically, for running the application. The container is deployed and operated on the host. In this embodiment, the resource deployment request includes a first scheduling request and a dynamic scheduling request, where the initial scheduling request is a scheduling of resources in the cloud platform when the user first creates an application, including The creation, deletion, modification, and other operations of the resource are created to set the corresponding running environment infrastructure and allocate IT resources for the newly added application; deleting refers to shrinking the container, and scheduling the application in the container with lower load information to After the other containers are deleted, the original container is deleted; the modification refers to reallocating other resources such as IT resources to the container according to the scheduling request.
所述动态调度请求为在系统运行过程中的调度,针对在运行过程中某些负载过高、过低的主机或容器进行的调度,主要是通过监控应用的状态和容器的状态,根据监控的实际情况对应用进行扩容或者缩容等操作。The dynamic scheduling request is a scheduling in the running process of the system, and the scheduling is performed on a host or a container that is too high or too low in the running process, mainly by monitoring the state of the application and the state of the container, according to the monitoring. The actual situation expands or shrinks the application.
在实际应用中,资源调度单元22具体包括初次资源调度器221、动态资源调度器222和节点代理223,其中,In an actual application, the resource scheduling unit 22 specifically includes a primary resource scheduler 221, a dynamic resource scheduler 222, and a node agent 223, where
初次资源调度器221实现所有初次资源操作请求的中转和协调,实现方式分为两步,第一步先取出所有的物理服务器,针对不同的请求策略使用不同的filter(过滤器)来过滤物理服务器,得到可用的服务器列表,这一步的目的是保证主机的可用性。第二步是引入权重和打分概念,初次资源调度器通过不同的权重计算每个主机的得分,然后按照主机的得分从高到低排序,并把应用部署多个副本(默认是2个)到得分高的主机上。The initial resource scheduler 221 implements the transfer and coordination of all initial resource operation requests. The implementation manner is divided into two steps. The first step is to take out all the physical servers, and use different filters (filters) to filter the physical servers for different request policies. , get a list of available servers, the purpose of this step is to ensure the availability of the host. The second step is to introduce the weight and scoring concept. The initial resource scheduler calculates the score of each host by different weights, then sorts the host according to the score from high to low, and deploys multiple copies of the application (the default is 2) to On a host with a high score.
动态资源调度器222实现动态调度,动态的增加、减少应用后端容器的数量。动态资源调度器获取到主机的负载信息和Docker容器的负载信息后,按如下策略完成应用副本扩充:根据相应的调度策略选择负载最低的主机,在该主机上部署此应用的副本,同时向路由子系统发送请求,请求修改路由的指向,使得新加入的应用副本可接收请求,从而实现负载均衡。当集群中所有主机都接近于高负载状态时,将停止应用副本的扩充,并向管理员发出告警邮件。同理,若发现某应用的所有副本的平均访问量过低,则按一定策略进行应用副本的收缩,此外,在副本扩充和收缩的过程中,添加定期碎片整理,在保证同一应用的多个副本分布在不同主机的前提下,尽量将分散的应用汇集到部分主机上。The dynamic resource scheduler 222 implements dynamic scheduling, dynamically increasing and reducing the number of application backend containers. After the dynamic resource scheduler obtains the load information of the host and the load information of the Docker container, the application copy expansion is completed according to the following policy: the host with the lowest load is selected according to the corresponding scheduling policy, and a copy of the application is deployed on the host, and the route is simultaneously routed. The subsystem sends a request to modify the direction of the route so that the newly added application replica can receive the request, thereby implementing load balancing. When all hosts in the cluster are close to a high load state, the expansion of the application replica is stopped and an alert message is sent to the administrator. Similarly, if the average access volume of all copies of an application is found to be too low, the application copy shrinks according to a certain strategy. In addition, during the process of copy expansion and contraction, regular defragmentation is added to ensure multiple applications of the same application. Under the premise that the replicas are distributed on different hosts, try to distribute the distributed applications to some hosts.
节点代理223一方面作为驻留进程运行在每个计算节点上,周期性的向初次资源调度器上报心跳数据,心跳数据包含CPU利用率、内存使用率和硬盘剩余空间等信息。另一方面适配底层的Docker容器,并获取其上每个容器的负载数据,包括CPU占用率、内存使用率、硬盘读写状态等。The node agent 223 runs on each computing node as a resident process, and periodically reports heartbeat data to the primary resource scheduler. The heartbeat data includes information such as CPU utilization, memory usage, and remaining space of the hard disk. On the other hand, it adapts the underlying Docker container and obtains the load data of each container on it, including CPU usage, memory usage, hard disk read and write status, and so on.
如图3所示,本实施例提供的路由单元24包括软件路由器241(App Router)、Nginx控制器242(Ngnix Controller)和Tengine,其中:As shown in FIG. 3, the routing unit 24 provided in this embodiment includes a software router 241 (App Router), an Nginx controller 242 (Ngnix Controller), and a Tengine, where:
软件路由器241是PaaS云平台路由的核心控制组件,在确定需要对某主机上的应用进行调度后,以及设置完容器后,需要对应用的路由指向进行调整,而该组件则是负责维护一份包含所有应用路由策略的路由表,并根据特定的任务调度算法控制Nginx以完成对应用访问请求的路由,实现上述功能的路由主要分两步进行,第一步是根据路由请求从外部域名到内部临时域名的路由,也即是外部IP到主机的IP地址以及主机再到物理服务器的IP,第二步是内部临时域名到容器的路由,也即是从物理服务器IP到容器IP,提供内部临时域名还可以用于方便应用开发者在提交应用之后对应用进行再次检查确认,从而实现多个应用副本间的负载均衡、健康检查、会话粘滞等功能。The software router 241 is the core control component of the PaaS cloud platform routing. After determining that the application on a host needs to be scheduled, and after setting up the container, the routing direction of the application needs to be adjusted, and the component is responsible for maintaining a copy. A routing table containing all the application routing policies, and controlling the Nginx to complete the routing of the application access request according to a specific task scheduling algorithm. The routing for implementing the above functions is mainly performed in two steps. The first step is to externally domain name to internal according to the routing request. The routing of the temporary domain name, that is, the IP address of the external IP to the host and the IP of the host to the physical server. The second step is the routing of the internal temporary domain name to the container, that is, the IP address from the physical server to the container IP, providing internal temporary The domain name can also be used to facilitate application developers to check and confirm the application after submitting the application, thereby implementing load balancing, health check, session sticking and the like among multiple application copies.
在本实施例中,软件路由器241在进行路由之前,还包括对请求进行合法性的判断,判断合法之后再次判断是否需要更新路由表,如果需要则通知Ngnix Controller(控制器)进行路由表的更新操作。In this embodiment, before performing routing, the software router 241 further includes determining the validity of the request, determining whether the routing table needs to be updated after determining the legality, and notifying the Ngnix Controller (controller) to update the routing table if necessary. operating.
Nginx控制器242在收到软件路由器241的更新路由信息的通知后,从数据库中加载最 新的路由信息,并通过Java的Velocity技术生成对应的配置文件,替换当前Nginx的配置文件并重启Nginx,从而使得路由信息及时生效。The Nginx controller 242 loads the most from the database after receiving the notification of the updated routing information of the software router 241. New routing information, and the corresponding configuration file is generated by Java's Velocity technology, replacing the current Nginx configuration file and restarting Nginx, so that the routing information takes effect in time.
Tengine在Nginx的基础上,针对大访问量网站的需求,添加了高级功能和特性,比如一致性hash、会话保持、健康检查、根据服务器状态自动上线下线等。Based on Nginx, Tengine adds advanced features and features to the needs of large-volume websites, such as consistent hashes, session persistence, health checks, and automatic offline and offline based on server status.
如图3所示,在本实施例中,所述通用容器23用于为应用设置运行环境容器,该通用容器23根据不同的请求进行不同的部署分配,根据应用对应的编写语言以及兼容的语言重新封装Web容器,例如,Java应用只能在Java容器上运行,通过通用容器23来实现快速封装提供对应的容器,提高了PaaS平台的兼容性能。As shown in FIG. 3, in the embodiment, the universal container 23 is configured to set a running environment container for an application, and the general container 23 performs different deployment allocation according to different requests, according to a corresponding writing language and a compatible language of the application. The Web container is re-encapsulated. For example, the Java application can only be run on the Java container. The general container 23 is used to implement the fast package to provide the corresponding container, which improves the compatibility of the PaaS platform.
本实施例提供的通用容器23具体的可以抽象出两层,分别为适配层和容器层,适配层一方面可以作为驻留结点(即是节点代理)采集主机负载等信息,另一方面可以适配底层的容器,容器层则是在Docker Api的基础上封装出不同的web容器,比如Docker-Jetty、Docker-Tomcat、Docker-PHP5等。为了方便平台管理者快速发布、删除容器,本发明实施例还引入Image Server(镜像服务器)这个集中式镜像管理模块,方便发布、替换、删除镜像。The general container 23 provided in this embodiment can specifically abstract two layers, which are an adaptation layer and a container layer respectively. The adaptation layer can collect information such as the host load and the like as a resident node (that is, a node agent). Aspects can be adapted to the underlying container. The container layer encapsulates different web containers based on Docker Api, such as Docker-Jetty, Docker-Tomcat, Docker-PHP5, and so on. In order to facilitate the platform administrator to quickly release and delete the container, the embodiment of the present invention also introduces a centralized image management module of the Image Server, which facilitates the release, replacement, and deletion of the image.
本发明实施例提供的基于Docker的云平台控制装置,通过接收模块接收用户输入的资源部署请求,当该资源部署请求为动态调度请求时,获取模块根据资源部署请求获取云平台各主机的负载信息,选择模块根据预设的调度策略选择负载信息最低的主机,并在该主机上部署应用信息的副本,通过将负载信息最高的主机上的应用信息部署到负载信息最低的主机上,使得应用信息可以在多个主机之间进行调度,实现了云平台的扩展和可用性,同时也提高了对云平台资源的利用率。The Docker-based cloud platform control device provided by the embodiment of the present invention receives the resource deployment request input by the user through the receiving module. When the resource deployment request is a dynamic scheduling request, the acquiring module acquires load information of each host of the cloud platform according to the resource deployment request. The selection module selects the host with the lowest load information according to the preset scheduling policy, and deploys a copy of the application information on the host, and deploys the application information on the host with the highest load information to the host with the lowest load information, so that the application information is obtained. It can be scheduled between multiple hosts, which realizes the expansion and availability of the cloud platform, and also improves the utilization of cloud platform resources.
进一步的,本发明实施例还为调度后的应用信息提供对应的容器,使得应用信息在调度后可进行正常的运行,解决了现有技术中PaaS云平台应用只能在特定的主机上运行环境下运行,而导致兼容性较低的问题,该通用容器可以实现多种编程语言的容器封装,为不同的应用信息提供对应的容器,从而提高了PaaS云平台的兼容性和扩展性。Further, the embodiment of the present invention further provides a corresponding container for the scheduled application information, so that the application information can be normally operated after being scheduled, and the PaaS cloud platform application in the prior art can only be run on a specific host. Running under, resulting in low compatibility, the universal container can implement container packaging in a variety of programming languages, providing corresponding containers for different application information, thereby improving the compatibility and scalability of the PaaS cloud platform.
第二实施例:Second embodiment:
请参见图4,图4为本实施例提供的基于Docker的云平台控制方法,该Docker是一种开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可以移植的容器中,然后发布到任何流行的LINUX机器上,也可以实现虚拟化,该控制处理流程具体包括如下步骤:Referring to FIG. 4, FIG. 4 is a Docker-based cloud platform control method according to an embodiment. The Docker is an open source application container engine, which allows developers to package their applications and dependencies into a portable container. And then released to any popular LINUX machine, can also achieve virtualization, the control process specifically includes the following steps:
S402,接收用户输入的资源部署请求;S402. Receive a resource deployment request input by a user.
在该步骤中,云平台控制装置接收到的资源部署请求包括初次调度请求或动态调度请求,当用户第一次进行应用创建时,其接收到的请求应当为初次调度请求,云平台控制装置应当根据初次调度请求来为应用分配IT资源和设置基础设施,具体的分为两步进行实现,第一步先取出所有的物理服务器,针对不同的请求策略使用不同的filter(过滤器)来过滤物理服务器,得到可用的服务器列表,这一步的目的是保证主机的可用性。第二步是引入权重和打分概念,Resource Schedule(资源调度)通过不同的权重计算每个主机的得分,然后按照主机的得分从高到低排序,并把应用部署多个副本(默认是2个)到得分高的主机上。 In this step, the resource deployment request received by the cloud platform control device includes a primary scheduling request or a dynamic scheduling request. When the user first creates the application, the received request should be the initial scheduling request, and the cloud platform control device should Allocating IT resources and setting up the infrastructure according to the initial scheduling request is implemented in two steps. The first step is to take out all the physical servers and use different filters (filters) to filter the physics for different request policies. The server gets a list of available servers. The purpose of this step is to ensure the availability of the host. The second step is to introduce weights and scoring concepts. Resource Schedule calculates the score of each host by different weights, then sorts the host's score from high to low, and deploys multiple copies of the application (default is 2 ) to the host with high scores.
S404,当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;S404, when the resource deployment request is a dynamic scheduling request, acquiring, according to the resource deployment request, load information of each host on the cloud platform and application information that needs to be scheduled, where the application information is on a host with the highest load information. Application information
当接收的是动态调度请求时,云平台控制装置应当根据请求对主机进行动态的增加、减少应用后端容器的数量。获取到主机的负载信息和Docker应用容器的负载信息后,按如下策略完成应用副本扩充:根据预设的调度策略选择负载最低的主机,在该主机上部署此应用的副本,同时向路由单元发送请求,请求修改路由的指向,使得新加入的应用副本可接收请求,从而实现负载均衡。当集群中所有主机都接近于高负载状态时,将停止应用副本的扩充,并向管理员发出告警邮件。同理,若发现某应用的所有副本的平均访问量过低,则按一定策略进行应用副本的收缩,此外,在副本扩充和收缩的过程中,添加定期碎片整理,在保证同一应用的多个副本分布在不同主机的前提下,尽量将分散的应用汇集到部分主机上。When receiving a dynamic scheduling request, the cloud platform control device should dynamically increase the number of applications and reduce the number of application backend containers according to the request. After obtaining the load information of the host and the load information of the Docker application container, complete the application copy expansion according to the following policy: select the host with the lowest load according to the preset scheduling policy, deploy a copy of the application on the host, and send the copy to the routing unit at the same time. Request, request to modify the direction of the route, so that the newly added application copy can receive the request, thereby achieving load balancing. When all hosts in the cluster are close to a high load state, the expansion of the application replica is stopped and an alert message is sent to the administrator. Similarly, if the average access volume of all copies of an application is found to be too low, the application copy shrinks according to a certain strategy. In addition, during the process of copy expansion and contraction, regular defragmentation is added to ensure multiple applications of the same application. Under the premise that the replicas are distributed on different hosts, try to distribute the distributed applications to some hosts.
S406,根据预设的调度策略选择负载信息最低的主机,并将所述需要调度的应用信息的副本部署到该主机上。S406. Select a host with the lowest load information according to a preset scheduling policy, and deploy a copy of the application information that needs to be scheduled to the host.
在本实施例中,云平台控制装置获取到的所述负载信息具体可以为容器的负载信息,这里的负载信息可以理解为应用信息;根据所述预设的调度策略从所述主机上选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。In this embodiment, the load information acquired by the cloud platform control device may specifically be load information of the container, where the load information may be understood as application information; and the load is selected from the host according to the preset scheduling policy. The container with the lowest information and a copy of the application information deployed on the container.
云平台控制装置获取到的所述负载信息具体还可以是主机上的物理服务器的负载信息,这里的负载信息可以理解为应用容器;根据所述预设的调度策略从所述主机上选择负载信息最低的物理服务器,并在该物理服务器上部署所述应用信息的副本。The load information obtained by the cloud platform control device may specifically be the load information of the physical server on the host, where the load information may be understood as an application container; and the load information is selected from the host according to the preset scheduling policy. The lowest physical server and a copy of the application information is deployed on the physical server.
在本实施例中,在将所述需要调度的应用信息的副本部署到该主机上之后,还包括:在所述主机上设置用于运行所述应用信息的副本的通用容器,并发送路由请求将所述应用信息路由指向调整至所述应用信息的副本对应的容器上,所述通用容器为包括至少一种编程语言运行环境的容器,使得调度后的应用能正常运行,从而实现了PaaS云平台的不同应用与容器之间的兼容。In this embodiment, after the replica of the application information that needs to be scheduled is deployed on the host, the method further includes: setting, on the host, a general-purpose container for running a copy of the application information, and sending a routing request Orienting the application information to a container corresponding to a copy of the application information, where the universal container is a container including at least one programming language running environment, so that the scheduled application can run normally, thereby implementing the PaaS cloud. Compatibility between different applications of the platform and the container.
综上所述,本发明实施例提供的基于Docker的云平台控制方法和装置,该方法包括接收用户输入的资源部署请求,当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用功能信息,根据预设的调度策略选择一个负载信息最低的主机,并在该主机上部署该应用信息的副本;通过根据各主机上的负载信息对应用信息进行重新部署,将应用信息从高负载的主机上调整至低负载的主机上,从而实现了对主机应用的扩展以及对云平台资源的合理分配,提高了云平台的可用性,实现了应用信息在不同运行环境下运行,解决了现有技术中应用信息只能在单一的运行环境下运行,导致兼容性不佳的问题。In summary, the Docker-based cloud platform control method and apparatus provided by the embodiment of the present invention includes receiving a resource deployment request input by a user, and when the resource deployment request is a dynamic scheduling request, according to the resource deployment request. Obtaining load information of each host on the cloud platform and application function information to be scheduled, selecting a host with the lowest load information according to a preset scheduling policy, and deploying a copy of the application information on the host; The load information redeploys the application information and adjusts the application information from the high-load host to the low-load host, thereby realizing the expansion of the host application and the reasonable allocation of the cloud platform resources, thereby improving the availability of the cloud platform. The application information is run in different operating environments, which solves the problem that the application information in the prior art can only be operated in a single operating environment, resulting in poor compatibility.
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以 以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that the modules or steps of the above embodiments of the present invention can be implemented by a general computing device, which can be concentrated on a single computing device or distributed among multiple computing devices. On the network, optionally, they may be implemented by program code executable by the computing device, such that they may be stored in a computer storage medium (ROM/RAM, disk, optical disk) by a computing device, and at some In some cases, you can The steps shown or described are performed in a different order than that herein, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module. Therefore, the invention is not limited to any particular combination of hardware and software.
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。The above is a detailed description of the embodiments of the present invention in conjunction with the specific embodiments, and the specific embodiments of the present invention are not limited to the description. It will be apparent to those skilled in the art that the present invention may be made without departing from the spirit and scope of the invention.
工业实用性Industrial applicability
本公开适用于云计算数据中的云平台技术领域,用以实现对主机应用的扩展以及对云平台资源的合理分配,提高云平台的可用性;实现应用信息在不同运行环境下运行,解决了现有技术中应用信息只能在单一的运行环境下运行,导致兼容性不佳的问题。 The present disclosure is applicable to the cloud platform technical field in cloud computing data, to implement extension of the host application and reasonable allocation of the cloud platform resources, improve the availability of the cloud platform, and realize the application information running in different operating environments, and solve the present problem. In the technology, application information can only be run in a single operating environment, resulting in poor compatibility.

Claims (11)

  1. 一种基于Docker的云平台控制方法,包括:A Docker-based cloud platform control method, including:
    接收用户输入的资源部署请求;Receiving a resource deployment request input by a user;
    当所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;When the resource deployment request is a dynamic scheduling request, the load information of each host on the cloud platform and the application information that needs to be scheduled are acquired according to the resource deployment request, where the application information is application information on a host with the highest load information. ;
    根据预设的调度策略选择负载信息最低的主机,并将所述需要调度的应用信息的副本部署到该主机上。Selecting a host with the lowest load information according to a preset scheduling policy, and deploying a copy of the application information that needs to be scheduled to the host.
  2. 根据权利要求1所述的基于Docker的云平台控制方法,其中,所述负载信息包括容器的负载信息;该方法还包括:根据所述预设的调度策略从所述主机上选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。The Docker-based cloud platform control method according to claim 1, wherein the load information includes load information of the container, and the method further comprises: selecting the lowest load information from the host according to the preset scheduling policy. a container and a copy of the application information is deployed on the container.
  3. 根据权利要求2所述的基于Docker的云平台控制方法,其中,在将所述需要调度的应用信息的副本部署到该主机上之后,还包括:在所述主机上设置用于运行所述应用信息的副本的通用容器,并发送路由请求将所述应用信息路由指向调整至所述应用信息的副本对应的容器上,所述通用容器为包括至少一种编程语言运行环境的容器。The Docker-based cloud platform control method according to claim 2, wherein after the copy of the application information that needs to be scheduled is deployed on the host, the method further includes: setting, on the host, the application for running the application A generic container of copies of information, and a routing request to route the application information to a container corresponding to a copy of the application information, the universal container being a container including at least one programming language runtime environment.
  4. 根据权利要求1至3任一项所述基于Docker的云平台控制方法,其中,在接收用户输入的资源部署请求之后,还包括:判断所述资源部署请求为初次调度请求时,根据所述资源部署请求获取所述云平台的各主机的物理服务器,根据预设的资源部署策略对所述物理服务器进行权重设置,得到各主机的优先级排序,根据所述优先级排序为所述主机进行应用部署。The Docker-based cloud platform control method according to any one of claims 1 to 3, wherein after receiving the resource deployment request input by the user, the method further includes: determining that the resource deployment request is an initial scheduling request, according to the resource The deployment server obtains a physical server of each host of the cloud platform, performs weight setting on the physical server according to a preset resource deployment policy, obtains a priority order of each host, and applies the host according to the priority ranking. deploy.
  5. 一种基于Docker的云平台控制装置,包括:A Docker-based cloud platform control device, including:
    接收模块,设置为接收用户输入的资源部署请求;a receiving module, configured to receive a resource deployment request input by a user;
    获取模块,设置为在所述资源部署请求为动态调度请求时,根据所述资源部署请求获取所述云平台上各主机的负载信息以及需要调度的应用信息,所述应用信息为负载信息最高的主机上的应用信息;And obtaining, by the acquiring module, the load information of each host on the cloud platform and the application information that needs to be scheduled according to the resource deployment request, where the application information is the highest load information. Application information on the host;
    选择模块,设置为根据预设的调度策略选择负载信息最低的主机;Selecting a module, and setting a host with the lowest load information according to a preset scheduling policy;
    资源调度模块,设置为将所述需要调度的应用信息的副本部署到该主机上。The resource scheduling module is configured to deploy the copy of the application information that needs to be scheduled to the host.
  6. 一种基于Docker的云平台控制装置,包括:资源调度子单元和平台支单元;A Docker-based cloud platform control device includes: a resource scheduling subunit and a platform branch unit;
    所述平台支撑单元设置为接收用户输入的资源部署请求;The platform support unit is configured to receive a resource deployment request input by a user;
    所述资源调度单元设置为在所述资源部署请求为动态调度请求时,根据所述云平台上各主机的负载信息选择负载信息最低的主机,并将需要调度的应用信息的副本部署在该主机上,所述应用信息为负载信息最高的主机上的应用信息。The resource scheduling unit is configured to: when the resource deployment request is a dynamic scheduling request, select a host with the lowest load information according to load information of each host on the cloud platform, and deploy a copy of the application information that needs to be scheduled on the host. The application information is application information on a host with the highest load information.
  7. 根据权利要求6所述的基于Docker的云平台控制装置,其中,所述负载信息包括容器的负载信息;所述资源调度单元设置为根据所述预设的调度策略从所述主机上选择负载信息最低的容器,并在该容器上部署所述应用信息的副本。 The Docker-based cloud platform control apparatus according to claim 6, wherein the load information includes load information of a container; the resource scheduling unit is configured to select load information from the host according to the preset scheduling policy. The lowest container and a copy of the application information is deployed on the container.
  8. 根据权利要求6所述的基于Docker的云平台控制装置,还包括路由控制单元和通用容器设置单元;The Docker-based cloud platform control apparatus according to claim 6, further comprising a routing control unit and a general container setting unit;
    所述通用容器设置单元设置为在所述主机上设置用于运行所述应用信息的副本的通用容器,所述通用容器为包括至少一种编程语言运行环境的容器;The universal container setting unit is configured to set, on the host, a general container for running a copy of the application information, the universal container being a container including at least one programming language operating environment;
    所述路由控制单元设置为在所述资源调度单元部署所述应用信息的副本之后,将所述应用信息的路由指向调整至所述应用信息的副本对应的容器上。The routing control unit is configured to adjust the route of the application information to a container corresponding to the copy of the application information after the resource scheduling unit deploys the copy of the application information.
  9. 根据权利要求1所述的基于Docker的云平台控制装置,其中,所述资源调度单元还设置为根据获取的所述云平台上主机的负载信息判断是否都处于高负载状态,若是,则发送告警信息;The Docker-based cloud platform control device according to claim 1, wherein the resource scheduling unit is further configured to determine whether the load status of the host on the cloud platform is in a high load state, and if yes, send an alarm. information;
    若不是,则将负载信息较低的主机上的应用信息部署到其他主机上,并删除该主机上的应用信息。If not, the application information on the host with lower load information is deployed to other hosts, and the application information on the host is deleted.
  10. 根据权利要求6至9任一项所述基于Docker的云平台控制装置,其中,所述资源调度单元还设置为在所述资源部署请求为初次调度请求时,根据所述资源部署请求获取所述云平台的各主机的物理服务器,根据预设的资源部署策略对所述物理服务器进行权重设置,得到各主机的优先级排序,所述资源调度模块根据所述优先级排序为所述主机进行应用部署。The Docker-based cloud platform control apparatus according to any one of claims 6 to 9, wherein the resource scheduling unit is further configured to acquire the according to the resource deployment request when the resource deployment request is an initial scheduling request The physical server of each host of the cloud platform performs weight setting on the physical server according to a preset resource deployment policy, and obtains priority ranking of each host, and the resource scheduling module applies the host according to the priority ranking. deploy.
  11. 一种计算机存储介质,所述计算机存储介质存储有执行指令,所述执行指令用于执行权利要求1至4中任一项所述的方法。 A computer storage medium storing execution instructions for performing the method of any one of claims 1 to 4.
PCT/CN2017/085626 2016-06-27 2017-05-24 Docker based cloud platform control method and apparatus WO2018001004A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610482515.9A CN107547596B (en) 2016-06-27 2016-06-27 Cloud platform control method and device based on Docker
CN201610482515.9 2016-06-27

Publications (1)

Publication Number Publication Date
WO2018001004A1 true WO2018001004A1 (en) 2018-01-04

Family

ID=60785879

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/085626 WO2018001004A1 (en) 2016-06-27 2017-05-24 Docker based cloud platform control method and apparatus

Country Status (2)

Country Link
CN (1) CN107547596B (en)
WO (1) WO2018001004A1 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810125A (en) * 2018-06-01 2018-11-13 云家园网络技术有限公司 The service discovery method and system of physical node
CN110032376A (en) * 2018-12-13 2019-07-19 中国电子科技集团公司电子科学研究院 Automated software dispositions method and device based on Docker
CN110109649A (en) * 2018-02-01 2019-08-09 中国电信股份有限公司 For container control method, device and the containment system of Web service
CN110321152A (en) * 2019-07-04 2019-10-11 青岛华正信息技术股份有限公司 A kind of Software Development Platform
CN110413405A (en) * 2019-06-18 2019-11-05 平安科技(深圳)有限公司 Capacity reduction method, device, equipment and the storage medium of more live load equilibrium applications
CN110740069A (en) * 2019-11-18 2020-01-31 中国银行股份有限公司 cross-cloud-platform hosting device and method
CN110737498A (en) * 2019-10-16 2020-01-31 黑龙江鑫联华信息股份有限公司 big data and artificial intelligence online examination method and system based on virtual container graphical interface
CN111078397A (en) * 2019-11-27 2020-04-28 上海朗曦信息技术有限公司 Load balancing task allocation method and system suitable for server cluster
CN111355775A (en) * 2019-12-30 2020-06-30 深圳创新科技术有限公司 Method, device, equipment and storage medium for judging state of CloudStack cluster sub-server
CN111522667A (en) * 2020-04-27 2020-08-11 中国地质大学(武汉) Resource scheduling method based on mirror image existence mechanism scoring strategy in container cloud environment
CN111753326A (en) * 2020-05-22 2020-10-09 湖南麒麟信安科技有限公司 Container cloud platform cloud storage resource encryption method, system and medium
CN111885005A (en) * 2020-06-29 2020-11-03 济南浪潮数据技术有限公司 Container cloud platform service communication method, device, equipment and medium
CN112015521A (en) * 2020-09-30 2020-12-01 北京百度网讯科技有限公司 Configuration method and device of inference service, electronic equipment and storage medium
CN112698931A (en) * 2021-01-12 2021-04-23 北京理工大学 Distributed scheduling system for cloud workflow
CN113076170A (en) * 2021-06-03 2021-07-06 统信软件技术有限公司 Remote assistance method, system, device, computing equipment and storage medium
CN113301087A (en) * 2020-07-21 2021-08-24 阿里巴巴集团控股有限公司 Resource scheduling method, device, computing equipment and medium
CN113760549A (en) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 Pod deployment method and device
CN114449004A (en) * 2022-02-24 2022-05-06 京东科技信息技术有限公司 Server cluster deployment method and device, electronic equipment and readable medium
CN114640681A (en) * 2022-03-10 2022-06-17 京东科技信息技术有限公司 Data processing method and system
CN114928398A (en) * 2022-05-16 2022-08-19 中电防务科技有限公司 Communication satellite earth station management system based on service arrangement and implementation method thereof
WO2022179342A1 (en) * 2021-02-23 2022-09-01 International Business Machines Corporation Application deployment in computing environment

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388469B (en) * 2018-01-10 2021-06-18 北京思特奇信息技术股份有限公司 Process scheduling method and system
CN109062683B (en) * 2018-06-29 2022-03-18 深圳信息职业技术学院 Method, apparatus and computer readable storage medium for host resource allocation
CN111327647B (en) * 2018-12-13 2023-02-03 北京金山云网络技术有限公司 Method and device for providing service to outside by container and electronic equipment
CN109783197A (en) * 2019-01-18 2019-05-21 北京百度网讯科技有限公司 Dispatching method and device for program runtime environment
CN110011984B (en) * 2019-03-19 2021-07-06 西安微电子技术研究所 REST and RPC-based distributed cluster system and method
CN110134519A (en) * 2019-05-21 2019-08-16 中国太平洋保险(集团)股份有限公司 A kind of control method and device for realizing portal management based on container platform
CN110838939B (en) * 2019-10-11 2022-04-08 许继集团有限公司 Scheduling method based on lightweight container and edge Internet of things management platform
CN110764876A (en) * 2019-10-25 2020-02-07 浪潮电子信息产业股份有限公司 Cloud host creation method, device, equipment and readable storage medium
CN111124619B (en) * 2019-12-25 2023-07-21 浙江大学 Container scheduling method for secondary scheduling
CN111562989B (en) * 2020-07-14 2020-11-10 北京东方通软件有限公司 Method and device for separate deployment of dynamic resources and static resources
CN114885023A (en) * 2021-02-05 2022-08-09 中国移动通信有限公司研究院 Resource scheduling method, device and platform equipment
CN113626138B (en) * 2021-06-30 2022-12-20 济南浪潮数据技术有限公司 Application program access method and related device
CN115309502A (en) * 2022-07-27 2022-11-08 天翼云科技有限公司 Container scheduling method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102281329A (en) * 2011-08-02 2011-12-14 北京邮电大学 Resource scheduling method and system for platform as a service (Paas) cloud platform
CN103024053A (en) * 2012-12-18 2013-04-03 华为技术有限公司 Cloud storage method, resource scheduling system and cloud storage node and system
CN104836819A (en) * 2014-02-10 2015-08-12 阿里巴巴集团控股有限公司 Dynamic load balancing method and system, and monitoring and dispatching device
CN105119913A (en) * 2015-08-13 2015-12-02 东南大学 Web server architecture based on Docker and interactive method between modules
CN105468362A (en) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 Application deployment method and cloud computing system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622108B (en) * 2012-02-24 2021-04-16 英派尔科技开发有限公司 Load balancing based on geographic positioning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102281329A (en) * 2011-08-02 2011-12-14 北京邮电大学 Resource scheduling method and system for platform as a service (Paas) cloud platform
CN103024053A (en) * 2012-12-18 2013-04-03 华为技术有限公司 Cloud storage method, resource scheduling system and cloud storage node and system
CN104836819A (en) * 2014-02-10 2015-08-12 阿里巴巴集团控股有限公司 Dynamic load balancing method and system, and monitoring and dispatching device
CN105119913A (en) * 2015-08-13 2015-12-02 东南大学 Web server architecture based on Docker and interactive method between modules
CN105468362A (en) * 2015-11-17 2016-04-06 广州杰赛科技股份有限公司 Application deployment method and cloud computing system

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109649A (en) * 2018-02-01 2019-08-09 中国电信股份有限公司 For container control method, device and the containment system of Web service
CN110109649B (en) * 2018-02-01 2023-08-08 中国电信股份有限公司 Container control method, device and container system for Web service
CN108810125A (en) * 2018-06-01 2018-11-13 云家园网络技术有限公司 The service discovery method and system of physical node
CN108810125B (en) * 2018-06-01 2021-04-23 云家园网络技术有限公司 Service discovery method and system for physical node
CN110032376A (en) * 2018-12-13 2019-07-19 中国电子科技集团公司电子科学研究院 Automated software dispositions method and device based on Docker
CN110032376B (en) * 2018-12-13 2024-02-13 中国电子科技集团公司电子科学研究院 Docker-based automated software deployment method and device
CN110413405A (en) * 2019-06-18 2019-11-05 平安科技(深圳)有限公司 Capacity reduction method, device, equipment and the storage medium of more live load equilibrium applications
CN110321152B (en) * 2019-07-04 2023-08-29 青岛华正信息技术股份有限公司 Software development platform
CN110321152A (en) * 2019-07-04 2019-10-11 青岛华正信息技术股份有限公司 A kind of Software Development Platform
CN110737498A (en) * 2019-10-16 2020-01-31 黑龙江鑫联华信息股份有限公司 big data and artificial intelligence online examination method and system based on virtual container graphical interface
CN110737498B (en) * 2019-10-16 2023-03-10 黑龙江鑫联华信息股份有限公司 Big data and artificial intelligence online examination method and system based on virtual container graphical interface
CN110740069A (en) * 2019-11-18 2020-01-31 中国银行股份有限公司 cross-cloud-platform hosting device and method
CN110740069B (en) * 2019-11-18 2022-06-03 中国银行股份有限公司 Cross-cloud-platform hosting device and method
CN111078397A (en) * 2019-11-27 2020-04-28 上海朗曦信息技术有限公司 Load balancing task allocation method and system suitable for server cluster
CN111078397B (en) * 2019-11-27 2023-04-25 上海朗曦信息技术有限公司 Load balancing task allocation method and system suitable for server cluster
CN111355775A (en) * 2019-12-30 2020-06-30 深圳创新科技术有限公司 Method, device, equipment and storage medium for judging state of CloudStack cluster sub-server
CN111355775B (en) * 2019-12-30 2022-11-18 深圳创新科技术有限公司 Method, device, equipment and storage medium for judging state of CloudStack cluster sub-server
CN111522667A (en) * 2020-04-27 2020-08-11 中国地质大学(武汉) Resource scheduling method based on mirror image existence mechanism scoring strategy in container cloud environment
CN111753326B (en) * 2020-05-22 2024-02-13 湖南麒麟信安科技股份有限公司 Container cloud platform cloud storage resource encryption method, system and medium
CN111753326A (en) * 2020-05-22 2020-10-09 湖南麒麟信安科技有限公司 Container cloud platform cloud storage resource encryption method, system and medium
CN111885005B (en) * 2020-06-29 2022-02-18 济南浪潮数据技术有限公司 Container cloud platform service communication method, device, equipment and medium
CN111885005A (en) * 2020-06-29 2020-11-03 济南浪潮数据技术有限公司 Container cloud platform service communication method, device, equipment and medium
CN113301087B (en) * 2020-07-21 2024-04-02 阿里巴巴集团控股有限公司 Resource scheduling method, device, computing equipment and medium
CN113301087A (en) * 2020-07-21 2021-08-24 阿里巴巴集团控股有限公司 Resource scheduling method, device, computing equipment and medium
CN112015521A (en) * 2020-09-30 2020-12-01 北京百度网讯科技有限公司 Configuration method and device of inference service, electronic equipment and storage medium
CN112015521B (en) * 2020-09-30 2024-06-07 北京百度网讯科技有限公司 Configuration method and device of reasoning service, electronic equipment and storage medium
CN112698931A (en) * 2021-01-12 2021-04-23 北京理工大学 Distributed scheduling system for cloud workflow
US11556332B2 (en) 2021-02-23 2023-01-17 International Business Machines Corporation Application updating in a computing environment using a function deployment component
WO2022179342A1 (en) * 2021-02-23 2022-09-01 International Business Machines Corporation Application deployment in computing environment
GB2618955A (en) * 2021-02-23 2023-11-22 Ibm Application deployment in computing environment
CN113076170A (en) * 2021-06-03 2021-07-06 统信软件技术有限公司 Remote assistance method, system, device, computing equipment and storage medium
CN113076170B (en) * 2021-06-03 2021-09-17 统信软件技术有限公司 Remote assistance method, system, device, computing equipment and storage medium
CN113760549A (en) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 Pod deployment method and device
CN113760549B (en) * 2021-08-30 2024-03-15 聚好看科技股份有限公司 Pod deployment method and device
CN114449004A (en) * 2022-02-24 2022-05-06 京东科技信息技术有限公司 Server cluster deployment method and device, electronic equipment and readable medium
CN114640681A (en) * 2022-03-10 2022-06-17 京东科技信息技术有限公司 Data processing method and system
CN114640681B (en) * 2022-03-10 2024-05-17 京东科技信息技术有限公司 Data processing method and system
CN114928398A (en) * 2022-05-16 2022-08-19 中电防务科技有限公司 Communication satellite earth station management system based on service arrangement and implementation method thereof
CN114928398B (en) * 2022-05-16 2024-06-04 南京熊猫汉达科技有限公司 Communication satellite earth station management system based on service arrangement and implementation method thereof

Also Published As

Publication number Publication date
CN107547596A (en) 2018-01-05
CN107547596B (en) 2022-01-25

Similar Documents

Publication Publication Date Title
WO2018001004A1 (en) Docker based cloud platform control method and apparatus
US11762703B2 (en) Multi-region request-driven code execution system
AU2017363366B2 (en) On-demand code execution in a localized device coordinator
US10725752B1 (en) Dependency handling in an on-demand network code execution system
US10564946B1 (en) Dependency handling in an on-demand network code execution system
EP3347816B1 (en) Extension of resource constraints for service-defined containers
US10372499B1 (en) Efficient region selection system for executing request-driven code
US11119813B1 (en) Mapreduce implementation using an on-demand network code execution system
US8756599B2 (en) Task prioritization management in a virtualized environment
TWI753421B (en) Method, apparatus, and GPU node for executing an application program, and computing device and machine-readable storage medium therefor
US8793684B2 (en) Optimized deployment and replication of virtual machines
US11422844B1 (en) Client-specified network interface configuration for serverless container management service
KR20210019533A (en) Operating system customization in on-demand network code execution systems
US11392422B1 (en) Service-managed containers for container orchestration service
JP6768158B2 (en) Localized device coordinator with on-demand code execution capability
RU2653292C2 (en) Service migration across cluster boundaries
US11431822B2 (en) Methods, apparatus, and systems to dynamically discover and host services in fog servers
US11948014B2 (en) Multi-tenant control plane management on computing platform
US10318347B1 (en) Virtualized tasks in an on-demand network code execution system
JP2020096357A (en) Dynamic routing using container orchestration service
WO2015176636A1 (en) Distributed database service management system
SG189386A1 (en) Dynamically splitting multi-tenant databases
US10664278B2 (en) Method and apparatus for hardware acceleration in heterogeneous distributed computing
GB2507753A (en) Dynamic configuration of virtual appliances
WO2018143235A1 (en) Management system, management device, and management method and program

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: 17819001

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17819001

Country of ref document: EP

Kind code of ref document: A1