WO2021104096A1 - Method and apparatus for task scheduling in container cloud environment, and server and storage apparatus - Google Patents

Method and apparatus for task scheduling in container cloud environment, and server and storage apparatus Download PDF

Info

Publication number
WO2021104096A1
WO2021104096A1 PCT/CN2020/129208 CN2020129208W WO2021104096A1 WO 2021104096 A1 WO2021104096 A1 WO 2021104096A1 CN 2020129208 W CN2020129208 W CN 2020129208W WO 2021104096 A1 WO2021104096 A1 WO 2021104096A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
resource utilization
utilization rate
task
model
Prior art date
Application number
PCT/CN2020/129208
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 WO2021104096A1 publication Critical patent/WO2021104096A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping

Definitions

  • the present invention relates to the technical field of cloud platforms, in particular to a task scheduling method, device, server and storage device in a container cloud environment.
  • container technology Compared with virtual machine technology, container technology has lower overhead and faster speed, so it is gradually replacing virtual machine technology and applied to cloud data centers. Users order services on-demand through the container cloud platform, which reduces the investment cost of infrastructure and reduces the difficulty of maintaining hardware equipment.
  • the container cloud distributes computing tasks on a resource pool composed of a large number of servers, enabling various application systems to obtain computing resources, data resources, and storage resources as needed. Due to the heterogeneity of container cloud servers and the complexity of application tasks, how to effectively schedule application tasks through scheduling strategies and reasonably allocate computing resources has become a key issue in container clouds.
  • the existing technology is generally based on traditional task scheduling algorithms such as first-come-first-served, weighted round-robin, Min-Min and Max-Min.
  • task scheduling algorithms such as first-come-first-served, weighted round-robin, Min-Min and Max-Min.
  • There are disadvantages such as uneven node load distribution and job starvation.
  • the task scheduling process Multi-resource constraints such as CPU, memory, and disk capacity need to be considered, that is, when the problem is abstracted as a multi-objective optimization problem under multi-resource constraints, the solution effect of traditional algorithms is not very satisfactory.
  • most existing technologies only determine the assignment of tasks based on the server resource utilization rate at the scheduled time. Then there may be a situation: a large number of tasks are submitted to a server with a low current resource utilization rate but will continue to grow in the future, resulting in the next The server is overloaded at all times.
  • the present invention provides a task scheduling method, device, server and storage device in a container cloud environment to solve the problem that the existing task scheduling method does not consider whether the server will be overloaded in the future.
  • the present invention discloses a task scheduling method in a container cloud environment, including:
  • one or more sets of containers are generated on the target server.
  • the step of obtaining the historical resource utilization rate of each server in the cloud data center and predicting the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate includes:
  • Pre-set time series which is composed of multiple historical resource utilization rates
  • the step of updating the time series according to the historical resource utilization rate includes:
  • the new historical resource utilization rate is added to the end of the time series, and the earliest historical resource utilization rate in the time series is deleted to update the time series.
  • constructing a Prophet model As a further improvement of the present invention, it also includes constructing a Prophet model.
  • the steps of constructing a Prophet model include:
  • the trend model is:
  • C(t) is the resource capacity of the server at time t;
  • the season model is:
  • P is the expected period of the preset time series
  • a n , b n ⁇ ⁇ , ⁇ is generated by a normal distribution in the interval from 0 to ⁇
  • N and ⁇ are preset;
  • the holiday model is:
  • D i indicates a period of time before and after the holiday
  • k (k 1 ,... ,k L ) T
  • k i represents the corresponding change of the predicted holiday
  • k is generated by a normal distribution in the interval from 0 to v
  • v is preset
  • the Prophet model is:
  • ⁇ t is the error term and obeys normal distribution.
  • the current resource utilization rate of each server is obtained, and optimized calculation is performed in combination with the predicted resource utilization rate, the required occupied resources and the resource threshold of each server to obtain the deployment matrix between the application task and the server.
  • the steps include:
  • each particle selects a guiding particle from the optimal solution set according to the crowding distance
  • the mutation scheme includes no mutation, uniform mutation and uneven mutation
  • the deployment matrix is obtained.
  • the objective function is:
  • the first constraint function is:
  • the second constraint function is:
  • the second constraint function indicates that when the application task is deployed to the server, the current resource utilization rate and the predicted resource utilization rate are less than or equal to the resource threshold.
  • the present invention also provides a task scheduling device in a container cloud environment, including:
  • the obtaining module is used to obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate;
  • Confirmation module used to confirm the resources occupied by the application task when the application task is received
  • the optimization module is used to obtain the current resource utilization of each server when scheduling application tasks, and combine the predicted resource utilization, the required occupied resources and the resource threshold of each server to perform optimization calculations to obtain the relationship between the application task and the server Deployment matrix
  • the deployment module is used to generate one or more sets of containers on the target server according to the deployment matrix and application tasks.
  • the present invention also provides a server.
  • the server includes a processor and a memory coupled with the processor, wherein:
  • the memory stores program instructions used to implement any one of the above-mentioned task scheduling methods in a container cloud environment
  • the processor is used to execute program instructions stored in the memory to balance the load of the container cloud server cluster.
  • the present invention also provides a storage device that stores program files that can implement any one of the above-mentioned task scheduling methods in a container cloud environment.
  • the present invention derives the predicted resource utilization rate of the server in the future by collecting the historical resource utilization rate of the server, and then combines the current resource utilization rate of the server, the predicted resource utilization rate, the resource threshold of the server and the application Tasks need to take up resources for optimization calculations, so as to obtain the optimal deployment plan for deploying tasks to the server. It comprehensively considers the impact of the current load of the server and the future load on task scheduling, and models the load balancing problem as a multi-resource constraint
  • the multi-objective optimization problem achieves the purpose of server cluster load balancing, and at the same time avoids the problem of overloading the server where the application task is deployed at some point in the future.
  • FIG. 1 is a schematic flowchart of a task scheduling method in a container cloud environment according to a first embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a task scheduling method in a container cloud environment according to a second embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a task scheduling method in a container cloud environment according to a third embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of a task scheduling method in a container cloud environment according to a fourth embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a task scheduling apparatus in a container cloud environment according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a storage device according to an embodiment of the present invention.
  • first”, “second”, and “third” in the present invention are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined with “first”, “second”, and “third” may explicitly or implicitly include at least one of the features.
  • “plurality” means at least two, such as two, three, etc., unless otherwise specifically defined. All directional indicators (such as up, down, left, right, front, back%) in the embodiments of the present invention are only used to explain the relative positional relationship between the components in a certain posture (as shown in the drawings) , Movement status, etc., if the specific posture changes, the directional indication will also change accordingly.
  • FIG. 1 is a schematic flowchart of a task scheduling method in a container cloud environment according to a first embodiment of the present invention. It should be noted that, if there is substantially the same result, the method of the present invention is not limited to the sequence of the process shown in FIG. 1. As shown in Figure 1, the method includes steps:
  • Step S1 Obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate.
  • step S101 the historical resource utilization rate of the server is periodically collected, and the resource utilization rate of the server at a future time is predicted based on the historical resource utilization rate to obtain the predicted resource utilization rate.
  • step S1 includes the following steps:
  • step S10 a time sequence is preset, and the time sequence is composed of multiple historical resource utilization rates.
  • a time sequence of length L is preset.
  • Step S11 Collect historical resource utilization rates at predetermined intervals.
  • forecast period is preset.
  • Step S12 Update the time series according to the historical resource utilization.
  • the time series is updated according to the historical resource utilization rate, and the time series is updated and maintained in time to avoid excessive time span and the time series is no longer representative.
  • step S12 specifically includes: adding a new historical resource utilization rate to the end of the time series, and deleting the earliest historical resource utilization rate in the time series to update the time series.
  • Step S13 Input the time series into the built Prophet model, and predict the predicted resource utilization rate of each server at the next moment.
  • the steps to construct a Prophet model include:
  • Step S20 Set the position of the change point on the time series to divide the time series into multiple segments.
  • the change point is the trend change point.
  • the position of the change point is set in the time series.
  • the setting of the change point can be set manually or automatically.
  • step S21 the change trend of each time series is detected.
  • step S22 a trend model is constructed using the change trend.
  • the trend model is:
  • C(t) is the resource capacity of the server at time t;
  • step S23 a season model is constructed using the preset period.
  • the seasonal model is:
  • N the more complex seasonality can be fitted, but it will increase the risk of over-fitting.
  • the larger ⁇ the more obvious the seasonal effect is.
  • Step S24 Obtain the number of holidays included in the time series, and use the number of holidays to construct a holiday model.
  • the time series contains X holidays
  • D i represents a period of time before and after the holiday
  • the holiday model is:
  • k (k 1 ,...,k L ) T
  • k i represents the corresponding change of the predicted holiday, which is generated by the normal distribution of the interval from 0 to v
  • v is preset
  • the larger v is, the holiday to the holiday model The greater the impact.
  • step S25 a Prophet model is constructed using a trend model, a seasonal model, and a holiday model.
  • ⁇ t is the error term and obeys normal distribution.
  • Step S2 When the application task is received, it is confirmed that the application task needs to occupy resources.
  • Step S3 When scheduling application tasks, obtain the current resource utilization rate of each server, and perform optimization calculations based on the predicted resource utilization rate, required occupied resources, and resource thresholds of each server to obtain the deployment matrix between application tasks and servers .
  • optimization calculations are performed based on current resource utilization, predicted resource utilization, required occupied resources, and resource thresholds of each server, so as to obtain a deployment matrix between application tasks and servers.
  • step S3 specifically includes:
  • Step S30 Obtain the current resource utilization rate of each server.
  • step S31 an objective function and a constraint function are constructed based on the current resource utilization rate, the predicted resource utilization rate, the required occupied resources and the resource threshold, and the particle swarm is initialized, and the population size and the number of iterations are set.
  • parameters such as objective function, constraint function, population size, and number of iterations are set, and the particle swarm is initialized.
  • S i represents the i-th server, a server for S i, which is estimated current resource usage footprint of a desired value and its current resource usage and application tasks, predicted resource utilization is estimated prediction resources The sum of the utilization rate and the required resources of the application task.
  • the objective function is:
  • Is the estimated value of the current resource utilization Is the standard deviation of the estimated value of the current resource utilization
  • Res represents the resource type
  • the resource type includes CPU, Mem (memory), and Disk (disk);
  • the first constraint function is:
  • the second constraint function is:
  • the second constraint function indicates that when the application task is deployed to the server, the current resource utilization rate and the predicted resource utilization rate are less than or equal to the resource threshold.
  • step S32 the non-dominant particles in the particle swarm are stored as guiding particles in the optimal solution set and the final solution set, and the crowding distance of each guiding particle is calculated.
  • Step S33 Iteration is performed, and each particle selects a guiding particle from the optimal solution set according to the crowding distance.
  • step S34 the flight process is performed for each particle.
  • the position of each example represents a candidate solution of the application task assignment problem.
  • D is the individual optimal position of particle i
  • P gd is the global optimal position of the particle swarm, during flight .
  • the velocity and position of particle i are updated according to the following method:
  • v id (t+1) wv id (t)+c 1 r 1 (P id -x id (t-1))+c 2 r 2 (P gd -x id (t-1));
  • x id (t+1) x id (t)+v id (t);
  • w is the inertia weight
  • c 1 and c 2 are acceleration constants
  • r 1 and r 2 are random numbers uniformly distributed in [0,1].
  • Step S35 Divide the particle swarm into three parts of the same size, and use different mutation schemes for each part.
  • the mutation scheme includes no mutation, uniform mutation and uneven mutation.
  • the first part of the sub-particle swarm will not be mutated, and the second part of the sub-particle swarm will be uniformly mutated.
  • the third part of the sub-particle group undergoes non-uniform mutation.
  • Step S36 when the current position of the particle dominates the individual optimal position of the particle or the two do not dominate each other, the individual optimal position is updated to the current position, and the particle is added to the optimal solution set and the final solution set.
  • step S37 when the positions of all particles are updated, the crowded distance of the particles is updated.
  • Step S38 when the maximum number of iterations is reached, the deployment matrix is obtained.
  • the OMOPSO algorithm is used to solve the optimal deployment matrix.
  • Step S4 Generate one or more sets of containers on the target server according to the deployment matrix and application tasks.
  • This embodiment collects the historical resource utilization of the server to derive the predicted resource utilization of the server in the future, and then combines the current resource utilization of the server, the predicted resource utilization, the resource threshold of the server, and the resources required for application tasks. Optimize the calculation to obtain the optimal deployment plan for deploying tasks to the server. It comprehensively considers the impact of the current load and future load of the server on task scheduling, and models the load balancing problem as a multi-objective optimization problem under multi-resource constraints. In order to balance the load of the server cluster, at the same time avoid the problem of overloading of the server that deploys the application task at a certain time in the future.
  • Fig. 5 is a schematic structural diagram of a task scheduling apparatus in a container cloud environment according to an embodiment of the present invention.
  • the device 50 includes an acquisition module 51, a confirmation module 52, an optimization module 53 and a deployment module 54.
  • the obtaining module 51 is configured to obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate.
  • the confirmation module 52 is used for confirming the resource occupied by the application task when the application task is received.
  • the optimization module 53 is used to obtain the current resource utilization rate of each server when scheduling application tasks, and combine the predicted resource utilization rate, the required occupied resources and the resource threshold of each server to perform optimization calculations to obtain the relationship between the application task and the server Deployment matrix.
  • the deployment module 54 is used to generate one or more sets of containers on the target server according to the deployment matrix and application tasks.
  • the obtaining module 51 obtains the historical resource utilization rate of each server in the cloud data center, and predicts the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate.
  • the operation may be: preset time sequence, time The sequence is composed of multiple historical resource utilization rates; the historical resource utilization rate is collected at a preset interval; the time series is updated according to the historical resource utilization rate; the time series is input to the built Prophet model, and the forecast of each server at the next moment is predicted Resource utilization.
  • the operation of the obtaining module 51 to update the time series according to the historical resource utilization rate may also be: adding a new historical resource utilization rate to the end of the time series, and deleting the earliest historical resource utilization rate in the time series to correct The time series are updated.
  • the operation of constructing the Prophet model may be: setting the position of the change point on the time series to divide the time series It is multi-segment; detects the change trend of each time series; uses the change trend to construct a trend model; uses a preset period to construct a seasonal model; obtains the number of holidays included in the time series, and uses the number of holidays to construct a holiday model;
  • the trend model is:
  • C(t) is the resource capacity of the server at time t;
  • the season model is:
  • P is the expected period of the preset time series
  • a n , b n ⁇ ⁇ , ⁇ is generated by a normal distribution in the interval from 0 to ⁇
  • N and ⁇ are preset;
  • the holiday model is:
  • D i indicates a period of time before and after the holiday
  • k (k 1 ,... ,k L ) T
  • k i represents the corresponding change of the predicted holiday
  • k is generated by a normal distribution in the interval from 0 to v
  • v is preset
  • the Prophet model is:
  • ⁇ t is the error term and obeys the normal distribution.
  • the optimization module 53 obtains the current resource utilization rate of each server, and performs optimization calculations in combination with the predicted resource utilization rate, the required occupied resources, and the resource threshold of each server to obtain the deployment matrix between the application task and the server.
  • the operation can be: obtain the current resource utilization of each server; construct the objective function and constraint function based on the current resource utilization, predicted resource utilization, required occupied resources and resource threshold, initialize the particle swarm, set the population size and the number of iterations ; Save the non-dominated particles in the particle swarm as the guiding particles in the optimal solution set and the final solution set, and calculate the crowding distance of each guiding particle; iterate, and each particle from the optimal solution set according to the crowding distance Choose a guide particle; perform the flight process for each particle; divide the particle swarm into three parts of the same size, and use different mutation plans for each part.
  • the mutation plan includes no mutation, uniform mutation, and uneven mutation; When the current position of the particle dominates the optimal position of the particle or the two do not dominate each other, the individual optimal position is updated to the current position, and the particle is added to the optimal solution set and the final solution set; when the positions of all particles After the update is complete, update the crowded distance of the particles; when the maximum number of iterations is reached, the deployment matrix is obtained.
  • the objective function is:
  • the first constraint function is:
  • the second constraint function is:
  • the second constraint function indicates that when the application task is deployed to the server, the current resource utilization rate and the predicted resource utilization rate are less than or equal to the resource threshold.
  • FIG. 6 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • the server 60 includes a processor 61 and a memory 62 coupled to the processor 61.
  • the memory 62 stores program instructions for implementing the task scheduling method in the container cloud environment described in any of the foregoing embodiments.
  • the processor 61 is configured to execute program instructions stored in the memory 62 to balance the load of the container cloud server cluster.
  • the processor 61 may also be referred to as a CPU (Central Processing Unit, central processing unit).
  • the processor 61 may be an integrated circuit chip with signal processing capability.
  • the processor 61 may also be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component .
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • FIG. 7 is a schematic structural diagram of a storage device according to an embodiment of the present invention.
  • the storage device in the embodiment of the present invention stores a program file 71 that can implement all the above methods.
  • the program file 71 can be stored in the above storage device in the form of a software product, and includes a number of instructions to enable a computer device (which can A personal computer, a server, or a network device, etc.) or a processor (processor) executes all or part of the steps of the methods described in the various embodiments of the present invention.
  • the aforementioned storage devices include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks and other media that can store program codes. , Or computer, server, mobile phone, tablet and other server equipment.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative, for example, the division of units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the functional units in the various embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit. The above are only the embodiments of the present invention, and do not limit the scope of the present invention. Any equivalent structure or equivalent process transformation made by using the content of the description and drawings of the present invention, or directly or indirectly applied to other related technical fields, The same reasoning is included in the scope of patent protection of the present invention.

Abstract

A method and apparatus for task scheduling in a container cloud environment, and a server and a storage apparatus. The method comprises: acquiring a historical resource utilization rate of each server in a cloud data center, and predicting a predicted resource utilization rate of each server at the next moment on the basis of the historical resource utilization rate; when an application task is received, confirming resources needing to be occupied by the application task; acquiring the current resource utilization rate of each server, and combining the predicted resource utilization rate, the resources needing to be occupied and a resource threshold value of each server to perform optimization calculation, so as to obtain a deployment matrix between the application task and the server; and generating one or more groups of containers on a target server according to the deployment matrix and the application task. By predicting a future load of a container cloud server and rationally deploying an application task in conjunction with the current load condition, the overloading of the container cloud server at a future moment after task scheduling is prevented.

Description

容器云环境下的任务调度方法、装置、服务器及存储装置Task scheduling method, device, server and storage device in container cloud environment 技术领域Technical field
本发明涉及云平台技术领域,特别是涉及一种容器云环境下的任务调度方法、装置、服务器及存储装置。The present invention relates to the technical field of cloud platforms, in particular to a task scheduling method, device, server and storage device in a container cloud environment.
背景技术Background technique
容器技术相比于虚拟机技术,开销更低、速度更快,因此正逐渐替代虚拟机技术,应用于云数据中心。用户通过容器云平台按需订购服务,减少了在基础设施上的投入成本,降低了硬件设备的维护难度。容器云将计算任务分布在大量服务器构成的资源池上,使各种应用系统能够根据需要获取计算资源、数据资源和存储资源。由于容器云服务器的异构性和应用任务的复杂性,如何通过调度策略对应用任务进行有效调度并合理分配计算资源成为容器云中的关键问题。Compared with virtual machine technology, container technology has lower overhead and faster speed, so it is gradually replacing virtual machine technology and applied to cloud data centers. Users order services on-demand through the container cloud platform, which reduces the investment cost of infrastructure and reduces the difficulty of maintaining hardware equipment. The container cloud distributes computing tasks on a resource pool composed of a large number of servers, enabling various application systems to obtain computing resources, data resources, and storage resources as needed. Due to the heterogeneity of container cloud servers and the complexity of application tasks, how to effectively schedule application tasks through scheduling strategies and reasonably allocate computing resources has become a key issue in container clouds.
目前,现有技术普遍基于如先来先服务、加权轮询、Min–Min和Max–Min等传统的任务调度算法,存在节点负载分布不均,作业容易出现饥饿等缺点,同时任务调度过程中需考虑CPU、内存和磁盘容量等多资源约束,即问题被抽象为多资源约束下的多目标优化问题时,传统算法求解效果不甚理想。另外大多数现有技术仅根据调度时刻服务器资源使用率而确定任务的分配,那么有可能出现一种情况:将大量任务提交到当前资源使用率较低但未来持续增长的服务器上,造成下一时刻服务器过载。At present, the existing technology is generally based on traditional task scheduling algorithms such as first-come-first-served, weighted round-robin, Min-Min and Max-Min. There are disadvantages such as uneven node load distribution and job starvation. At the same time, the task scheduling process Multi-resource constraints such as CPU, memory, and disk capacity need to be considered, that is, when the problem is abstracted as a multi-objective optimization problem under multi-resource constraints, the solution effect of traditional algorithms is not very satisfactory. In addition, most existing technologies only determine the assignment of tasks based on the server resource utilization rate at the scheduled time. Then there may be a situation: a large number of tasks are submitted to a server with a low current resource utilization rate but will continue to grow in the future, resulting in the next The server is overloaded at all times.
发明内容Summary of the invention
本发明提供一种容器云环境下的任务调度方法、装置、服务器及存储装置,以解决现有的任务调度方法未考虑服务器在未来时刻是否会过载的问题。The present invention provides a task scheduling method, device, server and storage device in a container cloud environment to solve the problem that the existing task scheduling method does not consider whether the server will be overloaded in the future.
为解决上述技术问题,本发明公开了一种容器云环境下的任务调度方法,包括:To solve the above technical problems, the present invention discloses a task scheduling method in a container cloud environment, including:
获取云数据中心每台服务器的历史资源利用率,并基于历史资源利用率预测下一时刻每台服务器的预测资源利用率;Obtain the historical resource utilization of each server in the cloud data center, and predict the predicted resource utilization of each server at the next moment based on the historical resource utilization;
接收到应用任务时,确认应用任务所需占用资源;When an application task is received, confirm the resources required by the application task;
调度应用任务时,获取每台服务器的当前资源利用率,并结合预测资源利用率、所需占用资源和每台服务器的资源阈值进行优化计算,得到应用任务与服务器之间的部署矩阵;When scheduling application tasks, obtain the current resource utilization of each server, and combine the predicted resource utilization, the required occupied resources and the resource threshold of each server to perform optimization calculations to obtain the deployment matrix between the application tasks and the servers;
根据部署矩阵和应用任务在目标服务器上生成一组或多组容器。According to the deployment matrix and application tasks, one or more sets of containers are generated on the target server.
作为本发明的进一步改进,获取云数据中心每台服务器的历史资源利用率,并 基于历史资源利用率预测下一时刻每台服务器的预测资源利用率的步骤,包括:As a further improvement of the present invention, the step of obtaining the historical resource utilization rate of each server in the cloud data center and predicting the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate includes:
预先设定时间序列,时间序列由多个历史资源利用率组成;Pre-set time series, which is composed of multiple historical resource utilization rates;
间隔预设周期采集历史资源利用率;Collect historical resource utilization rates at preset intervals;
根据历史资源利用率更新时间序列;Update the time series based on historical resource utilization;
将时间序列输入至构建好的Prophet模型,预测得到下一时刻每台服务器的预测资源利用率。Input the time series into the built Prophet model, and predict the predicted resource utilization of each server at the next moment.
作为本发明的进一步改进,根据历史资源利用率更新时间序列的步骤,包括:As a further improvement of the present invention, the step of updating the time series according to the historical resource utilization rate includes:
将新的历史资源利用率加入至时间序列的末尾,并将时间序列中最早的历史资源利用率删除,以对时间序列进行更新。The new historical resource utilization rate is added to the end of the time series, and the earliest historical resource utilization rate in the time series is deleted to update the time series.
作为本发明的进一步改进,还包括构建Prophet模型,构建Prophet模型的步骤包括:As a further improvement of the present invention, it also includes constructing a Prophet model. The steps of constructing a Prophet model include:
在时间序列上设置变点的位置,以将时间序列划分为多段;Set the position of the change point on the time series to divide the time series into multiple segments;
检测每段时间序列的变化趋势;Detect the changing trend of each time series;
利用变化趋势构建趋势模型;Use changing trends to build a trend model;
利用预设周期构建季节模型;Use the preset period to build a seasonal model;
获取时间序列中包括的节假日的个数,并利用节假日的个数构建节假日模型;Get the number of holidays included in the time series, and use the number of holidays to construct a holiday model;
利用趋势模型、季节模型、节假日模型构建Prophet模型。Use trend models, seasonal models, and holiday models to build Prophet models.
作为本发明的进一步改进,趋势模型为:As a further improvement of the present invention, the trend model is:
Figure PCTCN2020129208-appb-000001
Figure PCTCN2020129208-appb-000001
其中,C(t)为服务器在时刻t的资源容量;向量δ表示时间戳S j上增长率的变化量,
Figure PCTCN2020129208-appb-000002
表示S维实数空间,时间戳S j表示有S个变点位于时间戳S j,j=1,…,S,则在时刻t时的增长率为k+a(t) Tδ,k为基础增长率,向量a(t)∈{0,1} s满足
Figure PCTCN2020129208-appb-000003
γ表示预先设置的偏置参数m在所有变点处的调整量
Figure PCTCN2020129208-appb-000004
Figure PCTCN2020129208-appb-000005
Among them, C(t) is the resource capacity of the server at time t; the vector δ represents the change in the growth rate on the timestamp S j,
Figure PCTCN2020129208-appb-000002
Represents the S-dimensional real number space, the timestamp S j indicates that there are S change points located in the timestamp S j , j=1,...,S, then the growth rate at time t is k+a(t) T δ, k is Basic growth rate, vector a(t)∈{0,1} s satisfies
Figure PCTCN2020129208-appb-000003
γ represents the adjustment amount of the preset bias parameter m at all change points
Figure PCTCN2020129208-appb-000004
Figure PCTCN2020129208-appb-000005
季节模型为:The season model is:
Figure PCTCN2020129208-appb-000006
Figure PCTCN2020129208-appb-000006
其中,P为预先设定的时间序列的期望周期,a n,b n∈β,β通过0到σ区间的正态分布生成,N和σ预先设定; Among them, P is the expected period of the preset time series, a n , b n ∈ β, β is generated by a normal distribution in the interval from 0 to σ, and N and σ are preset;
节假日模型为:The holiday model is:
h(t)=Z(t)k;h(t)=Z(t)k;
其中,Z(t)=[1(t∈D 1),…,1(t∈D L)]表示时间戳t是否在节假日,D i表示节假日的前后一段时间,k=(k 1,…,k L) T,k i表示预测的节假日的相应变化,k通过0到 v区间的正态分布生成,v预先设定; Among them, Z(t)=[1(t∈D 1 ),...,1(t∈D L )] indicates whether the time stamp t is on a holiday, D i indicates a period of time before and after the holiday, k=(k 1 ,... ,k L ) T , k i represents the corresponding change of the predicted holiday, k is generated by a normal distribution in the interval from 0 to v, and v is preset;
Prophet模型为:The Prophet model is:
y(t)=g(t)+s(t)+h(t)+ε ty(t)=g(t)+s(t)+h(t)+ε t ;
其中,ε t是误差项并且服从正态分布。 Among them, ε t is the error term and obeys normal distribution.
作为本发明的进一步改进,获取每台服务器的当前资源利用率,并结合预测资源利用率、所需占用资源和每台服务器的资源阈值进行优化计算,得到应用任务与服务器之间的部署矩阵的步骤,包括:As a further improvement of the present invention, the current resource utilization rate of each server is obtained, and optimized calculation is performed in combination with the predicted resource utilization rate, the required occupied resources and the resource threshold of each server to obtain the deployment matrix between the application task and the server. The steps include:
获取每台服务器的当前资源利用率;Get the current resource utilization of each server;
基于当前资源利用率、预测资源利用率、所需占用资源和资源阈值构建目标函数和约束函数,并初始化粒子群,设置种群大小和迭代次数;Construct objective function and constraint function based on current resource utilization rate, predicted resource utilization rate, required occupied resources and resource threshold, and initialize the particle swarm, set the population size and the number of iterations;
将粒子群中的非支配粒子作为引导粒子保存到最优解集合和最终解集合中,并计算每个引导粒子的拥挤距离;Save the non-dominated particles in the particle swarm as guiding particles in the optimal solution set and final solution set, and calculate the crowding distance of each guiding particle;
进行迭代,且每个粒子根据拥挤距离从最优解集合中选择一个引导粒子;Iterate, and each particle selects a guiding particle from the optimal solution set according to the crowding distance;
对每个粒子执行飞行过程;Perform the flight process for each particle;
将粒子群划分为大小相同的三部分,且对每个部分分别采用不同的突变方案,突变方案包括不进行突变、均匀突变和不均匀突变;Divide the particle swarm into three parts of the same size, and adopt different mutation schemes for each part. The mutation scheme includes no mutation, uniform mutation and uneven mutation;
当粒子的当前位置支配粒子的个体最优位置或者两者互不支配时,将个体最优位置更新为当前位置,并将粒子加入到最优解集合和最终解集合中;When the current position of the particle dominates the optimal position of the particle or the two do not dominate each other, update the optimal position of the individual to the current position, and add the particle to the optimal solution set and the final solution set;
当所有粒子的位置更新完毕后,更新粒子的拥挤距离;When the position of all particles is updated, update the crowded distance of the particles;
当达到最大迭代次数后,得到部署矩阵。When the maximum number of iterations is reached, the deployment matrix is obtained.
作为本发明的进一步改进,目标函数为:As a further improvement of the present invention, the objective function is:
Figure PCTCN2020129208-appb-000007
Res∈{CPU,Mem,Disk};
Figure PCTCN2020129208-appb-000007
Res∈{CPU,Mem,Disk};
其中,
Figure PCTCN2020129208-appb-000008
为当前资源利用率的估计值,
Figure PCTCN2020129208-appb-000009
为当前资源利用率的估计值的标准差,Res表示资源类型;
among them,
Figure PCTCN2020129208-appb-000008
Is the estimated value of the current resource utilization,
Figure PCTCN2020129208-appb-000009
Is the standard deviation of the estimated value of the current resource utilization, Res represents the resource type;
第一约束函数为:The first constraint function is:
Figure PCTCN2020129208-appb-000010
Figure PCTCN2020129208-appb-000010
其中,e ij表示第i个应用任务是否部署到第j台服务器上运行,若是,则e ij=1,若否,则e ij=0,第一约束函数表示每一个批量任务只能部署在同一台服务器上; Among them, e ij indicates whether the i-th application task is deployed to run on the j-th server, if it is, then e ij =1, if not, then e ij =0, the first constraint function means that each batch task can only be deployed on On the same server;
第二约束函数为:The second constraint function is:
Figure PCTCN2020129208-appb-000011
Figure PCTCN2020129208-appb-000011
Figure PCTCN2020129208-appb-000012
Figure PCTCN2020129208-appb-000012
其中,
Figure PCTCN2020129208-appb-000013
为当前资源利用率,B i,Res为应用任务的所需占用资源,T i,Res为服务 器的资源阈值,
Figure PCTCN2020129208-appb-000014
为预测资源利用率估计值,
Figure PCTCN2020129208-appb-000015
为预测资源利用率,第二约束函数表示应用任务部署到服务器时,当前资源利用率和预测资源利用率小于货等于资源阈值。
among them,
Figure PCTCN2020129208-appb-000013
Is the current resource utilization, B i, Res are the required occupied resources of the application task, T i, Res are the resource thresholds of the server,
Figure PCTCN2020129208-appb-000014
To predict the estimated value of resource utilization,
Figure PCTCN2020129208-appb-000015
To predict the resource utilization rate, the second constraint function indicates that when the application task is deployed to the server, the current resource utilization rate and the predicted resource utilization rate are less than or equal to the resource threshold.
为了解决上述问题,本发明还提供了了一种容器云环境下的任务调度装置,包括:In order to solve the above problems, the present invention also provides a task scheduling device in a container cloud environment, including:
获取模块,用于获取云数据中心每台服务器的历史资源利用率,并基于历史资源利用率预测下一时刻每台服务器的预测资源利用率;The obtaining module is used to obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate;
确认模块,用于接收到应用任务时,确认应用任务所需占用资源;Confirmation module, used to confirm the resources occupied by the application task when the application task is received;
优化模块,用于调度应用任务时,获取每台服务器的当前资源利用率,并结合预测资源利用率、所需占用资源和每台服务器的资源阈值进行优化计算,得到应用任务与服务器之间的部署矩阵;The optimization module is used to obtain the current resource utilization of each server when scheduling application tasks, and combine the predicted resource utilization, the required occupied resources and the resource threshold of each server to perform optimization calculations to obtain the relationship between the application task and the server Deployment matrix
部署模块,用于根据部署矩阵和应用任务在目标服务器上生成一组或多组容器。The deployment module is used to generate one or more sets of containers on the target server according to the deployment matrix and application tasks.
为了解决上述问题,本发明还提供了了一种服务器,服务器包括处理器、与处理器耦接的存储器,其中,In order to solve the above problems, the present invention also provides a server. The server includes a processor and a memory coupled with the processor, wherein:
存储器存储有用于实现上述任一项的容器云环境下的任务调度方法的程序指令;The memory stores program instructions used to implement any one of the above-mentioned task scheduling methods in a container cloud environment;
处理器用于执行存储器存储的程序指令以平衡容器云服务器集群负载。The processor is used to execute program instructions stored in the memory to balance the load of the container cloud server cluster.
为了解决上述问题,本发明还提供了了一种存储装置,存储有能够实现上述任一项的容器云环境下的任务调度方法的程序文件。In order to solve the above-mentioned problems, the present invention also provides a storage device that stores program files that can implement any one of the above-mentioned task scheduling methods in a container cloud environment.
本发明的有益效果是:本发明通过采集服务器的历史资源利用率,推导出未来时刻的服务器的预测资源利用率,再结合服务器的当前资源利用率、预测资源利用率、服务器的资源阈值以及应用任务所需占用资源进行优化计算,从而得到将任务部署到服务器的最优部署方案,其综合考虑了服务器当前负载及未来负载对任务调度的影响,将负载均衡问题建模为多资源约束下的多目标优化问题,实现了服务器集群负载均衡的目的,同时避免出现部署应用任务的服务器在未来某个时刻出现过载的问题。The beneficial effects of the present invention are: the present invention derives the predicted resource utilization rate of the server in the future by collecting the historical resource utilization rate of the server, and then combines the current resource utilization rate of the server, the predicted resource utilization rate, the resource threshold of the server and the application Tasks need to take up resources for optimization calculations, so as to obtain the optimal deployment plan for deploying tasks to the server. It comprehensively considers the impact of the current load of the server and the future load on task scheduling, and models the load balancing problem as a multi-resource constraint The multi-objective optimization problem achieves the purpose of server cluster load balancing, and at the same time avoids the problem of overloading the server where the application task is deployed at some point in the future.
附图说明Description of the drawings
图1是本发明第一实施例的容器云环境下的任务调度方法的流程示意图;FIG. 1 is a schematic flowchart of a task scheduling method in a container cloud environment according to a first embodiment of the present invention;
图2是本发明第二实施例的容器云环境下的任务调度方法的流程示意图;2 is a schematic flowchart of a task scheduling method in a container cloud environment according to a second embodiment of the present invention;
图3是本发明第三实施例的容器云环境下的任务调度方法的流程示意图;3 is a schematic flowchart of a task scheduling method in a container cloud environment according to a third embodiment of the present invention;
图4是本发明第四实施例的容器云环境下的任务调度方法的流程示意图;4 is a schematic flowchart of a task scheduling method in a container cloud environment according to a fourth embodiment of the present invention;
图5是本发明实施例的容器云环境下的任务调度装置的结构示意图;FIG. 5 is a schematic structural diagram of a task scheduling apparatus in a container cloud environment according to an embodiment of the present invention;
图6是本发明实施例的服务器的结构示意图;FIG. 6 is a schematic structural diagram of a server according to an embodiment of the present invention;
图7是本发明实施例的存储装置的结构示意图。FIG. 7 is a schematic structural diagram of a storage device according to an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", and "third" in the present invention are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined with “first”, “second”, and “third” may explicitly or implicitly include at least one of the features. In the description of the present invention, "plurality" means at least two, such as two, three, etc., unless otherwise specifically defined. All directional indicators (such as up, down, left, right, front, back...) in the embodiments of the present invention are only used to explain the relative positional relationship between the components in a certain posture (as shown in the drawings) , Movement status, etc., if the specific posture changes, the directional indication will also change accordingly. In addition, the terms "including" and "having" and any variations of them are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes unlisted steps or units, or optionally also includes Other steps or units inherent to these processes, methods, products or equipment.
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。Reference to "embodiments" herein means that a specific feature, structure or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present invention. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art clearly and implicitly understand that the embodiments described herein can be combined with other embodiments.
图1是本发明第一实施例的容器云环境下的任务调度方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括步骤:FIG. 1 is a schematic flowchart of a task scheduling method in a container cloud environment according to a first embodiment of the present invention. It should be noted that, if there is substantially the same result, the method of the present invention is not limited to the sequence of the process shown in FIG. 1. As shown in Figure 1, the method includes steps:
步骤S1,获取云数据中心每台服务器的历史资源利用率,并基于历史资源利用率预测下一时刻每台服务器的预测资源利用率。Step S1: Obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate.
具体地,在步骤S101中,通过定期采集服务器的历史资源利用率,再根据历史资源利用率对未来时刻服务器的资源利用率进行预测,得到预测资源利用率。Specifically, in step S101, the historical resource utilization rate of the server is periodically collected, and the resource utilization rate of the server at a future time is predicted based on the historical resource utilization rate to obtain the predicted resource utilization rate.
在上述实施例的基础上,其他实施例中,如图2所示,步骤S1包括以下步骤:On the basis of the foregoing embodiment, in other embodiments, as shown in FIG. 2, step S1 includes the following steps:
步骤S10,预先设定时间序列,时间序列由多个历史资源利用率组成。In step S10, a time sequence is preset, and the time sequence is composed of multiple historical resource utilization rates.
具体地,预先设定一个长度为L的时间序列。Specifically, a time sequence of length L is preset.
步骤S11,间隔预设周期采集历史资源利用率。Step S11: Collect historical resource utilization rates at predetermined intervals.
需要说明的是,预测周期预先设定。It should be noted that the forecast period is preset.
步骤S12,根据历史资源利用率更新时间序列。Step S12: Update the time series according to the historical resource utilization.
具体地,在获取到服务器的历史资源利用率之后,根据历史资源利用率对时间 序列进行更新,及时对时间序列进行更新维护,避免时间跨度过大,时间序列不再具有代表性。Specifically, after obtaining the historical resource utilization rate of the server, the time series is updated according to the historical resource utilization rate, and the time series is updated and maintained in time to avoid excessive time span and the time series is no longer representative.
进一步的,步骤S12具体为:将新的历史资源利用率加入至时间序列的末尾,并将时间序列中最早的历史资源利用率删除,以对时间序列进行更新。Further, step S12 specifically includes: adding a new historical resource utilization rate to the end of the time series, and deleting the earliest historical resource utilization rate in the time series to update the time series.
步骤S13,将时间序列输入至构建好的Prophet模型,预测得到下一时刻每台服务器的预测资源利用率。Step S13: Input the time series into the built Prophet model, and predict the predicted resource utilization rate of each server at the next moment.
具体地,将更新好的时间序列输入只构建好的Prophet模型,从而得到下一时刻服务器的预测资源利用率。Specifically, input the updated time series into the only constructed Prophet model to obtain the predicted resource utilization of the server at the next moment.
需要说明的是,Prophet模型预先构建好。如图3所示,构建Prophet模型的步骤包括:It should be noted that the Prophet model is pre-built. As shown in Figure 3, the steps to construct a Prophet model include:
步骤S20,在时间序列上设置变点的位置,以将时间序列划分为多段。Step S20: Set the position of the change point on the time series to divide the time series into multiple segments.
具体地,变点即趋势变化点,在时间序列上设置变点的位置,变点的设置可以人工来设定,也可自动选择。Specifically, the change point is the trend change point. The position of the change point is set in the time series. The setting of the change point can be set manually or automatically.
步骤S21,检测每段时间序列的变化趋势。In step S21, the change trend of each time series is detected.
步骤S22,利用变化趋势构建趋势模型。In step S22, a trend model is constructed using the change trend.
具体地,趋势模型为:Specifically, the trend model is:
Figure PCTCN2020129208-appb-000016
Figure PCTCN2020129208-appb-000016
其中,C(t)为服务器在时刻t的资源容量;向量δ表示时间戳S j上增长率的变化量,
Figure PCTCN2020129208-appb-000017
表示S维实数空间,时间戳S j表示有S个变点位于时间戳S j,j=1,…,S,则在时刻t时的增长率为k+a(t) Tδ,k为预先设定的基础增长率,向量a(t)∈{0,1} S满足
Figure PCTCN2020129208-appb-000018
γ表示预先设置的偏置参数m在所有变点处的调整量
Figure PCTCN2020129208-appb-000019
Among them, C(t) is the resource capacity of the server at time t; the vector δ represents the change in the growth rate on the timestamp S j,
Figure PCTCN2020129208-appb-000017
Represents the S-dimensional real number space, the timestamp S j indicates that there are S change points located in the timestamp S j , j=1,...,S, then the growth rate at time t is k+a(t) T δ, k is The pre-set basic growth rate, the vector a(t)∈{0,1} S satisfies
Figure PCTCN2020129208-appb-000018
γ represents the adjustment amount of the preset bias parameter m at all change points
Figure PCTCN2020129208-appb-000019
步骤S23,利用预设周期构建季节模型。In step S23, a season model is constructed using the preset period.
具体地,季节模型为:Specifically, the seasonal model is:
Figure PCTCN2020129208-appb-000020
Figure PCTCN2020129208-appb-000020
其中,P为预先设定的时间序列的期望周期,a n,b n∈β,并且β=(a 1,b 1,…,a N,b N) T,β通过0到σ区间的正态分布生成,N和σ预先设定。根据β即可计算得出a n,b n。需要说明的是,N越大,越能拟合复杂的季节性,但会增加过渡拟合的风险,σ越大,则季节效应越明显。 Among them, P is the expected period of the preset time series, a n , b n ∈ β, and β = (a 1 ,b 1 ,...,a N ,b N ) T , β passes through the positive interval from 0 to σ The state distribution is generated, and N and σ are preset. According to β , a n , b n can be calculated. It should be noted that the larger N is, the more complex seasonality can be fitted, but it will increase the risk of over-fitting. The larger σ is, the more obvious the seasonal effect is.
步骤S24,获取时间序列中包括的节假日的个数,并利用节假日的个数构建节假日模型。Step S24: Obtain the number of holidays included in the time series, and use the number of holidays to construct a holiday model.
具体地,假设时间序列包含X个节假日,则对于第i个节假日而言,D i表示该 节假日的前后一段时间,指示函数Z(t)=[1(t∈D 1),…,1(t∈D L)]表示时间戳t是否在节假日,则节假日模型为: Specifically, assuming that the time series contains X holidays, for the i-th holiday, D i represents a period of time before and after the holiday, and the indicator function Z(t)=[1(t∈D 1 ),...,1( t∈D L )] indicates whether the timestamp t is on a holiday, and the holiday model is:
h(t)=Z(t)k;h(t)=Z(t)k;
其中,k=(k 1,…,k L) T,k i表示预测的节假日的相应变化,通过0到v区间的正态分布生成,v预先设定,v越大,表示节假日对节假日模型的影响越大。 Among them, k=(k 1 ,...,k L ) T , k i represents the corresponding change of the predicted holiday, which is generated by the normal distribution of the interval from 0 to v, v is preset, and the larger v is, the holiday to the holiday model The greater the impact.
步骤S25,利用趋势模型、季节模型、节假日模型构建Prophet模型。In step S25, a Prophet model is constructed using a trend model, a seasonal model, and a holiday model.
具体地,Prophet模型为:Specifically, the Prophet model is:
y(t)=g(t)+s(t)+h(t)+ε ty(t)=g(t)+s(t)+h(t)+ε t ;
其中,ε t是误差项并且服从正态分布。 Among them, ε t is the error term and obeys normal distribution.
步骤S2,接收到应用任务时,确认应用任务所需占用资源。Step S2: When the application task is received, it is confirmed that the application task needs to occupy resources.
具体地,在接收到应用任务时,确认执行该应用任务时的所需占用资源。Specifically, when an application task is received, the required occupied resources when executing the application task is confirmed.
步骤S3,调度应用任务时,获取每台服务器的当前资源利用率,并结合预测资源利用率、所需占用资源和每台服务器的资源阈值进行优化计算,得到应用任务与服务器之间的部署矩阵。Step S3: When scheduling application tasks, obtain the current resource utilization rate of each server, and perform optimization calculations based on the predicted resource utilization rate, required occupied resources, and resource thresholds of each server to obtain the deployment matrix between application tasks and servers .
具体地,接收到调度应用任务的请求后,通过当前资源利用率、预测资源利用率、所需占用资源和每台服务器的资源阈值进行优化计算,从而得到应用任务和服务器之间的部署矩阵。Specifically, after receiving a request for scheduling application tasks, optimization calculations are performed based on current resource utilization, predicted resource utilization, required occupied resources, and resource thresholds of each server, so as to obtain a deployment matrix between application tasks and servers.
进一步的,在上述实施例的基础上,其他实施例中,如图4所示,步骤S3具体包括:Further, on the basis of the foregoing embodiment, in other embodiments, as shown in FIG. 4, step S3 specifically includes:
步骤S30,获取每台服务器的当前资源利用率。Step S30: Obtain the current resource utilization rate of each server.
步骤S31,基于当前资源利用率、预测资源利用率、所需占用资源和资源阈值构建目标函数和约束函数,并初始化粒子群,设置种群大小和迭代次数。In step S31, an objective function and a constraint function are constructed based on the current resource utilization rate, the predicted resource utilization rate, the required occupied resources and the resource threshold, and the particle swarm is initialized, and the population size and the number of iterations are set.
具体地,设置目标函数、约束函数、种群大小和迭代次数等参数,初始化粒子群。Specifically, parameters such as objective function, constraint function, population size, and number of iterations are set, and the particle swarm is initialized.
假设S i表示第i台服务器,对于服务器S i而言,其当前资源利用率估计值为其当前资源利用率与应用任务的所需占用资源之和,预测资源利用率估计值为其预测资源利用率与应用任务的所需占用资源之和。 Suppose S i represents the i-th server, a server for S i, which is estimated current resource usage footprint of a desired value and its current resource usage and application tasks, predicted resource utilization is estimated prediction resources The sum of the utilization rate and the required resources of the application task.
目标函数为:The objective function is:
Figure PCTCN2020129208-appb-000021
Res∈{CPU,Mem,Disk};
Figure PCTCN2020129208-appb-000021
Res∈{CPU,Mem,Disk};
其中,
Figure PCTCN2020129208-appb-000022
为当前资源利用率的估计值,
Figure PCTCN2020129208-appb-000023
为当前资源利用率的估计值的标准差,Res表示资源类型,资源类型包括CPU、Mem(内存)、Disk(磁盘)三种;
among them,
Figure PCTCN2020129208-appb-000022
Is the estimated value of the current resource utilization,
Figure PCTCN2020129208-appb-000023
Is the standard deviation of the estimated value of the current resource utilization, Res represents the resource type, and the resource type includes CPU, Mem (memory), and Disk (disk);
第一约束函数为:The first constraint function is:
Figure PCTCN2020129208-appb-000024
Figure PCTCN2020129208-appb-000024
其中,e ij表示第i个应用任务是否部署到第j台服务器上运行,若是,则e ij=1,若否,则e ij=0,第一约束函数表示每一个批量任务只能部署在同一台服务器上; Among them, e ij indicates whether the i-th application task is deployed to run on the j-th server, if it is, then e ij =1, if not, then e ij =0, the first constraint function means that each batch task can only be deployed on On the same server;
第二约束函数为:The second constraint function is:
Figure PCTCN2020129208-appb-000025
Figure PCTCN2020129208-appb-000025
Figure PCTCN2020129208-appb-000026
Figure PCTCN2020129208-appb-000026
其中,
Figure PCTCN2020129208-appb-000027
为当前资源利用率,B i,Res为应用任务的所需占用资源,T i,Res为服务器的资源阈值,
Figure PCTCN2020129208-appb-000028
为预测资源利用率估计值,
Figure PCTCN2020129208-appb-000029
为预测资源利用率,第二约束函数表示应用任务部署到服务器时,当前资源利用率和预测资源利用率小于货等于资源阈值。
among them,
Figure PCTCN2020129208-appb-000027
Is the current resource utilization, B i, Res are the required occupied resources of the application task, T i, Res are the resource thresholds of the server,
Figure PCTCN2020129208-appb-000028
To predict the estimated value of resource utilization,
Figure PCTCN2020129208-appb-000029
To predict the resource utilization rate, the second constraint function indicates that when the application task is deployed to the server, the current resource utilization rate and the predicted resource utilization rate are less than or equal to the resource threshold.
步骤S32,将粒子群中的非支配粒子作为引导粒子保存到最优解集合和最终解集合中,并计算每个引导粒子的拥挤距离。In step S32, the non-dominant particles in the particle swarm are stored as guiding particles in the optimal solution set and the final solution set, and the crowding distance of each guiding particle is calculated.
步骤S33,进行迭代,且每个粒子根据拥挤距离从最优解集合中选择一个引导粒子。Step S33: Iteration is performed, and each particle selects a guiding particle from the optimal solution set according to the crowding distance.
步骤S34,对每个粒子执行飞行过程。In step S34, the flight process is performed for each particle.
具体地,每一个例子的位置代表应用任务分配问题的一个候选解,假设在一个D维的搜索空间中,粒子i的位置为x i={x i1,…,x iD},速度为v i={v i1,…,v iD},则在时刻t,P id,d=1,..,D为粒子i的个体最优位置,P gd为粒子群的全局最优位置,飞行过程中,粒子i的速度和位置按照以下方法更新: Specifically, the position of each example represents a candidate solution of the application task assignment problem. Suppose that in a D-dimensional search space, the position of particle i is x i = {x i1 ,..., x iD }, and the velocity is v i ={v i1 ,...,v iD }, then at time t, P id ,d=1,.., D is the individual optimal position of particle i, P gd is the global optimal position of the particle swarm, during flight , The velocity and position of particle i are updated according to the following method:
v id(t+1)=wv id(t)+c 1r 1(P id-x id(t-1))+c 2r 2(P gd-x id(t-1)); v id (t+1)=wv id (t)+c 1 r 1 (P id -x id (t-1))+c 2 r 2 (P gd -x id (t-1));
x id(t+1)=x id(t)+v id(t); x id (t+1)=x id (t)+v id (t);
其中,w为惯性权重,c 1、c 2为加速常数,r 1、r 2为均匀分布在[0,1]内的随机数。 Among them, w is the inertia weight, c 1 and c 2 are acceleration constants, and r 1 and r 2 are random numbers uniformly distributed in [0,1].
步骤S35,将粒子群划分为大小相同的三部分,且对每个部分分别采用不同的突变方案。Step S35: Divide the particle swarm into three parts of the same size, and use different mutation schemes for each part.
需要说明的是,突变方案包括不进行突变、均匀突变和不均匀突变,在进行突变操作时,对第一部分的子粒子群不进行突变,对第二部分的子粒子群进行均匀的突变,对第三部分的子粒子群进行不均匀的突变。It should be noted that the mutation scheme includes no mutation, uniform mutation and uneven mutation. When performing mutation operation, the first part of the sub-particle swarm will not be mutated, and the second part of the sub-particle swarm will be uniformly mutated. The third part of the sub-particle group undergoes non-uniform mutation.
步骤S36,当粒子的当前位置支配粒子的个体最优位置或者两者互不支配时,将个体最优位置更新为当前位置,并将粒子加入到最优解集合和最终解集合中。Step S36, when the current position of the particle dominates the individual optimal position of the particle or the two do not dominate each other, the individual optimal position is updated to the current position, and the particle is added to the optimal solution set and the final solution set.
步骤S37,当所有粒子的位置更新完毕后,更新粒子的拥挤距离。In step S37, when the positions of all particles are updated, the crowded distance of the particles is updated.
步骤S38,当达到最大迭代次数后,得到部署矩阵。Step S38, when the maximum number of iterations is reached, the deployment matrix is obtained.
本实施例通过OMOPSO算法实现对最优的部署矩阵求解。In this embodiment, the OMOPSO algorithm is used to solve the optimal deployment matrix.
步骤S4,根据部署矩阵和应用任务在目标服务器上生成一组或多组容器。Step S4: Generate one or more sets of containers on the target server according to the deployment matrix and application tasks.
进一步的,当目标服务器因资源不足、运行异常等原因造成容器生成失败时,召回该应用任务并报告异常消息。Further, when the target server fails to generate the container due to insufficient resources, abnormal operation, etc., the application task is recalled and an exception message is reported.
本实施例通过采集服务器的历史资源利用率,推导出未来时刻的服务器的预测资源利用率,再结合服务器的当前资源利用率、预测资源利用率、服务器的资源阈值以及应用任务所需占用资源进行优化计算,从而得到将任务部署到服务器的最优部署方案,其综合考虑了服务器当前负载及未来负载对任务调度的影响,将负载均衡问题建模为多资源约束下的多目标优化问题,实现了服务器集群负载均衡的目的,同时避免出现部署应用任务的服务器在未来某个时刻出现过载的问题。This embodiment collects the historical resource utilization of the server to derive the predicted resource utilization of the server in the future, and then combines the current resource utilization of the server, the predicted resource utilization, the resource threshold of the server, and the resources required for application tasks. Optimize the calculation to obtain the optimal deployment plan for deploying tasks to the server. It comprehensively considers the impact of the current load and future load of the server on task scheduling, and models the load balancing problem as a multi-objective optimization problem under multi-resource constraints. In order to balance the load of the server cluster, at the same time avoid the problem of overloading of the server that deploys the application task at a certain time in the future.
图5是本发明实施例的容器云环境下的任务调度装置的结构示意图。如图5所示,该装置50包括获取模块51、确认模块52、优化模块53和部署模块54。Fig. 5 is a schematic structural diagram of a task scheduling apparatus in a container cloud environment according to an embodiment of the present invention. As shown in FIG. 5, the device 50 includes an acquisition module 51, a confirmation module 52, an optimization module 53 and a deployment module 54.
获取模块51,用于获取云数据中心每台服务器的历史资源利用率,并基于历史资源利用率预测下一时刻每台服务器的预测资源利用率。The obtaining module 51 is configured to obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate.
确认模块52,用于接收到应用任务时,确认应用任务所需占用资源。The confirmation module 52 is used for confirming the resource occupied by the application task when the application task is received.
优化模块53,用于调度应用任务时,获取每台服务器的当前资源利用率,并结合预测资源利用率、所需占用资源和每台服务器的资源阈值进行优化计算,得到应用任务与服务器之间的部署矩阵。The optimization module 53 is used to obtain the current resource utilization rate of each server when scheduling application tasks, and combine the predicted resource utilization rate, the required occupied resources and the resource threshold of each server to perform optimization calculations to obtain the relationship between the application task and the server Deployment matrix.
部署模块54,用于根据部署矩阵和应用任务在目标服务器上生成一组或多组容器。The deployment module 54 is used to generate one or more sets of containers on the target server according to the deployment matrix and application tasks.
可选地,获取模块51获取云数据中心每台服务器的历史资源利用率,并基于历史资源利用率预测下一时刻每台服务器的预测资源利用率的操作可以为:预先设定时间序列,时间序列由多个历史资源利用率组成;间隔预设周期采集历史资源利用率;根据历史资源利用率更新时间序列;将时间序列输入至构建好的Prophet模型,预测得到下一时刻每台服务器的预测资源利用率。Optionally, the obtaining module 51 obtains the historical resource utilization rate of each server in the cloud data center, and predicts the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate. The operation may be: preset time sequence, time The sequence is composed of multiple historical resource utilization rates; the historical resource utilization rate is collected at a preset interval; the time series is updated according to the historical resource utilization rate; the time series is input to the built Prophet model, and the forecast of each server at the next moment is predicted Resource utilization.
可选地,获取模块51根据历史资源利用率更新时间序列的操作还可以为:将新的历史资源利用率加入至时间序列的末尾,并将时间序列中最早的历史资源利用率删除,以对时间序列进行更新。Optionally, the operation of the obtaining module 51 to update the time series according to the historical resource utilization rate may also be: adding a new historical resource utilization rate to the end of the time series, and deleting the earliest historical resource utilization rate in the time series to correct The time series are updated.
可选地,获取模块51将时间序列输入至构建好的Prophet模型的操作之前,还需要构建Prophet模型,构建Prophet模型的操作可以为:在时间序列上设置变点的位置,以将时间序列划分为多段;检测每段时间序列的变化趋势;利用变化趋势构建趋势模型;利用预设周期构建季节模型;获取时间序列中包括的节假日的个数,并利用节假日的个数构建节假日模型;Optionally, before the acquisition module 51 inputs the time series into the constructed Prophet model, it also needs to construct the Prophet model. The operation of constructing the Prophet model may be: setting the position of the change point on the time series to divide the time series It is multi-segment; detects the change trend of each time series; uses the change trend to construct a trend model; uses a preset period to construct a seasonal model; obtains the number of holidays included in the time series, and uses the number of holidays to construct a holiday model;
利用趋势模型、季节模型、节假日模型构建Prophet模型。Use trend models, seasonal models, and holiday models to build Prophet models.
可选地,趋势模型为:Optionally, the trend model is:
Figure PCTCN2020129208-appb-000030
Figure PCTCN2020129208-appb-000030
其中,C(t)为服务器在时刻t的资源容量;向量δ表示时间戳S j上增长率的变化量,
Figure PCTCN2020129208-appb-000031
表示S维实数空间,时间戳S j表示有S个变点位于时间戳S j,j=1,…,S,则在时刻t时的增长率为k+a(t) Tδ,k为基础增长率,向量a(t)∈{0,1} S满足
Figure PCTCN2020129208-appb-000032
γ表示预先设置的偏置参数m在所有变点处的调整量
Figure PCTCN2020129208-appb-000033
Figure PCTCN2020129208-appb-000034
Among them, C(t) is the resource capacity of the server at time t; the vector δ represents the change in the growth rate on the timestamp S j,
Figure PCTCN2020129208-appb-000031
Represents the S-dimensional real number space, the timestamp S j indicates that there are S change points located in the timestamp S j , j=1,...,S, then the growth rate at time t is k+a(t) T δ, k is Basic growth rate, vector a(t)∈{0,1} S satisfies
Figure PCTCN2020129208-appb-000032
γ represents the adjustment amount of the preset bias parameter m at all change points
Figure PCTCN2020129208-appb-000033
Figure PCTCN2020129208-appb-000034
季节模型为:The season model is:
Figure PCTCN2020129208-appb-000035
Figure PCTCN2020129208-appb-000035
其中,P为预先设定的时间序列的期望周期,a n,b n∈β,β通过0到σ区间的正态分布生成,N和σ预先设定; Among them, P is the expected period of the preset time series, a n , b n ∈ β, β is generated by a normal distribution in the interval from 0 to σ, and N and σ are preset;
节假日模型为:The holiday model is:
h(t)=Z(t)k;h(t)=Z(t)k;
其中,Z(t)=[1(t∈D 1),…,1(t∈D L)]表示时间戳t是否在节假日,D i表示节假日的前后一段时间,k=(k 1,…,k L) T,k i表示预测的节假日的相应变化,k通过0到v区间的正态分布生成,v预先设定; Among them, Z(t)=[1(t∈D 1 ),...,1(t∈D L )] indicates whether the time stamp t is on a holiday, D i indicates a period of time before and after the holiday, k=(k 1 ,... ,k L ) T , k i represents the corresponding change of the predicted holiday, k is generated by a normal distribution in the interval from 0 to v, and v is preset;
Prophet模型为:The Prophet model is:
y(t)=g(t)+s(t)+h(t)+ε ty(t)=g(t)+s(t)+h(t)+ε t ;
其中,ε t是误差项并且服从正态分布。 Among them, ε t is the error term and obeys the normal distribution.
可选地,优化模块53获取每台服务器的当前资源利用率,并结合预测资源利用率、所需占用资源和每台服务器的资源阈值进行优化计算,得到应用任务与服务器之间的部署矩阵的操作可以为:获取每台服务器的当前资源利用率;基于当前资源利用率、预测资源利用率、所需占用资源和资源阈值构建目标函数和约束函数,并初始化粒子群,设置种群大小和迭代次数;将粒子群中的非支配粒子作为引导粒子保存到最优解集合和最终解集合中,并计算每个引导粒子的拥挤距离;进行迭代,且每个粒子根据拥挤距离从最优解集合中选择一个引导粒子;对每个粒子执行飞行过程;将粒子群划分为大小相同的三部分,且对每个部分分别采用不同的突变方案,突变方案包括不进行突变、均匀突变和不均匀突变;当粒子的当前位置支配粒子的个体最优位置或者两者互不支配时,将个体最优位置更新为当前位置,并将粒子加入到最优解集合和最终解集合中;当所有粒子的位置更新完毕后,更新粒子的拥挤距离;当达到最大迭代次数后,得到部署矩阵。Optionally, the optimization module 53 obtains the current resource utilization rate of each server, and performs optimization calculations in combination with the predicted resource utilization rate, the required occupied resources, and the resource threshold of each server to obtain the deployment matrix between the application task and the server. The operation can be: obtain the current resource utilization of each server; construct the objective function and constraint function based on the current resource utilization, predicted resource utilization, required occupied resources and resource threshold, initialize the particle swarm, set the population size and the number of iterations ; Save the non-dominated particles in the particle swarm as the guiding particles in the optimal solution set and the final solution set, and calculate the crowding distance of each guiding particle; iterate, and each particle from the optimal solution set according to the crowding distance Choose a guide particle; perform the flight process for each particle; divide the particle swarm into three parts of the same size, and use different mutation plans for each part. The mutation plan includes no mutation, uniform mutation, and uneven mutation; When the current position of the particle dominates the optimal position of the particle or the two do not dominate each other, the individual optimal position is updated to the current position, and the particle is added to the optimal solution set and the final solution set; when the positions of all particles After the update is complete, update the crowded distance of the particles; when the maximum number of iterations is reached, the deployment matrix is obtained.
可选地,目标函数为:Optionally, the objective function is:
Figure PCTCN2020129208-appb-000036
Res∈{CPU,Mem,Disk};
Figure PCTCN2020129208-appb-000036
Res∈{CPU,Mem,Disk};
其中,
Figure PCTCN2020129208-appb-000037
为当前资源利用率的估计值,
Figure PCTCN2020129208-appb-000038
为当前资源利用率的估计值的 标准差,Res表示资源类型;
among them,
Figure PCTCN2020129208-appb-000037
Is the estimated value of the current resource utilization,
Figure PCTCN2020129208-appb-000038
Is the standard deviation of the estimated value of the current resource utilization, Res represents the resource type;
第一约束函数为:The first constraint function is:
Figure PCTCN2020129208-appb-000039
Figure PCTCN2020129208-appb-000039
其中,e ij表示第i个应用任务是否部署到第j台服务器上运行,若是,则e ij=1,若否,则e ij=0,第一约束函数表示每一个批量任务只能部署在同一台服务器上; Among them, e ij indicates whether the i-th application task is deployed to run on the j-th server, if it is, then e ij =1, if not, then e ij =0, the first constraint function means that each batch task can only be deployed on On the same server;
第二约束函数为:The second constraint function is:
Figure PCTCN2020129208-appb-000040
Figure PCTCN2020129208-appb-000040
Figure PCTCN2020129208-appb-000041
Figure PCTCN2020129208-appb-000041
其中,
Figure PCTCN2020129208-appb-000042
为当前资源利用率,B i,Res为应用任务的所需占用资源,T i,Res为服务器的资源阈值,
Figure PCTCN2020129208-appb-000043
为预测资源利用率估计值,
Figure PCTCN2020129208-appb-000044
为预测资源利用率,第二约束函数表示应用任务部署到服务器时,当前资源利用率和预测资源利用率小于货等于资源阈值。
among them,
Figure PCTCN2020129208-appb-000042
Is the current resource utilization, B i, Res are the required occupied resources of the application task, T i, Res are the resource thresholds of the server,
Figure PCTCN2020129208-appb-000043
To predict the estimated value of resource utilization,
Figure PCTCN2020129208-appb-000044
To predict the resource utilization rate, the second constraint function indicates that when the application task is deployed to the server, the current resource utilization rate and the predicted resource utilization rate are less than or equal to the resource threshold.
请参阅图6,图6为本发明实施例的服务器的结构示意图。如图6所示,该服务器60包括处理器61及和处理器61耦接的存储器62。Please refer to FIG. 6, which is a schematic structural diagram of a server according to an embodiment of the present invention. As shown in FIG. 6, the server 60 includes a processor 61 and a memory 62 coupled to the processor 61.
存储器62存储有用于实现上述任一实施例所述的容器云环境下的任务调度方法的程序指令。The memory 62 stores program instructions for implementing the task scheduling method in the container cloud environment described in any of the foregoing embodiments.
处理器61用于执行存储器62存储的程序指令以平衡容器云服务器集群负载。The processor 61 is configured to execute program instructions stored in the memory 62 to balance the load of the container cloud server cluster.
其中,处理器61还可以称为CPU(Central Processing Unit,中央处理单元)。处理器61可能是一种集成电路芯片,具有信号的处理能力。处理器61还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The processor 61 may also be referred to as a CPU (Central Processing Unit, central processing unit). The processor 61 may be an integrated circuit chip with signal processing capability. The processor 61 may also be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component . The general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
参阅图7,图7为本发明实施例的存储装置的结构示意图。本发明实施例的存储装置存储有能够实现上述所有方法的程序文件71,其中,该程序文件71可以以软件产品的形式存储在上述存储装置中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等服务器设备。Refer to FIG. 7, which is a schematic structural diagram of a storage device according to an embodiment of the present invention. The storage device in the embodiment of the present invention stores a program file 71 that can implement all the above methods. The program file 71 can be stored in the above storage device in the form of a software product, and includes a number of instructions to enable a computer device (which can A personal computer, a server, or a network device, etc.) or a processor (processor) executes all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage devices include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks and other media that can store program codes. , Or computer, server, mobile phone, tablet and other server equipment.
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不 执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present invention, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。In addition, the functional units in the various embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit. The above are only the embodiments of the present invention, and do not limit the scope of the present invention. Any equivalent structure or equivalent process transformation made by using the content of the description and drawings of the present invention, or directly or indirectly applied to other related technical fields, The same reasoning is included in the scope of patent protection of the present invention.

Claims (10)

  1. 一种容器云环境下的任务调度方法,其特征在于,包括:A task scheduling method in a container cloud environment is characterized in that it includes:
    获取云数据中心每台服务器的历史资源利用率,并基于所述历史资源利用率预测下一时刻每台服务器的预测资源利用率;Obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate;
    接收到应用任务时,确认所述应用任务所需占用资源;When an application task is received, confirm that the application task needs to occupy resources;
    调度所述应用任务时,获取每台服务器的当前资源利用率,并结合所述预测资源利用率、所述所需占用资源和每台服务器的资源阈值进行优化计算,得到所述应用任务与服务器之间的部署矩阵;When scheduling the application task, obtain the current resource utilization rate of each server, and perform optimization calculations in combination with the predicted resource utilization rate, the required occupied resources and the resource threshold of each server to obtain the application task and the server Deployment matrix between;
    根据所述部署矩阵和所述应用任务在目标服务器上生成一组或多组容器。One or more sets of containers are generated on the target server according to the deployment matrix and the application tasks.
  2. 根据权利要求1所述的容器云环境下的任务调度方法,其特征在于,所述获取云数据中心每台服务器的历史资源利用率,并基于所述历史资源利用率预测下一时刻每台服务器的预测资源利用率的步骤,包括:The method for task scheduling in a container cloud environment according to claim 1, wherein said obtaining the historical resource utilization rate of each server in the cloud data center, and predicting each server at the next moment based on the historical resource utilization rate The steps for predicting resource utilization include:
    预先设定时间序列,所述时间序列由多个历史资源利用率组成;Pre-set a time sequence, the time sequence is composed of a plurality of historical resource utilization rates;
    间隔预设周期采集所述历史资源利用率;Collecting the historical resource utilization rate at intervals of a preset period;
    根据所述历史资源利用率更新所述时间序列;Update the time series according to the historical resource utilization;
    将所述时间序列输入至构建好的Prophet模型,预测得到下一时刻每台服务器的预测资源利用率。The time sequence is input to the built Prophet model, and the predicted resource utilization rate of each server at the next moment is predicted.
  3. 根据权利要求2所述的容器云环境下的任务调度方法,其特征在于,所述根据所述历史资源利用率更新所述时间序列的步骤,包括:The task scheduling method in a container cloud environment according to claim 2, wherein the step of updating the time sequence according to the historical resource utilization rate comprises:
    将新的历史资源利用率加入至所述时间序列的末尾,并将所述时间序列中最早的历史资源利用率删除,以对所述时间序列进行更新。The new historical resource utilization rate is added to the end of the time series, and the earliest historical resource utilization rate in the time series is deleted to update the time series.
  4. 根据权利要求2所述的容器云环境下的任务调度方法,其特征在于,还包括构建所述Prophet模型,所述构建所述Prophet模型的步骤包括:The task scheduling method in a container cloud environment according to claim 2, further comprising constructing the Prophet model, and the step of constructing the Prophet model comprises:
    在所述时间序列上设置变点的位置,以将所述时间序列划分为多段;Setting a position of a change point on the time series to divide the time series into multiple segments;
    检测每段时间序列的变化趋势;Detect the changing trend of each time series;
    利用所述变化趋势构建趋势模型;Construct a trend model using the change trend;
    利用所述预设周期构建季节模型;Constructing a seasonal model using the preset period;
    获取所述时间序列中包括的节假日的个数,并利用所述节假日的个数构建节假日模型;Acquiring the number of holidays included in the time sequence, and constructing a holiday model by using the number of holidays;
    利用所述趋势模型、所述季节模型、所述节假日模型构建所述Prophet模型。The Prophet model is constructed using the trend model, the season model, and the holiday model.
  5. 根据权利要求3所述的容器云环境下的任务调度方法,其特征在于,所述趋势模型为:The task scheduling method in a container cloud environment according to claim 3, wherein the trend model is:
    Figure PCTCN2020129208-appb-100001
    Figure PCTCN2020129208-appb-100001
    其中,所述C(t)为所述服务器在时刻t的资源容量;向量δ表示时间戳S j上增长率的变化量,
    Figure PCTCN2020129208-appb-100002
    Figure PCTCN2020129208-appb-100003
    表示S维实数空间,时间戳S j表示有S个变点位于时间戳S j,j=1,…,S,则在时刻t时的增长率为k+a(t) Tδ,k为基础增长率,向量a(t)∈{0,1} S满足
    Figure PCTCN2020129208-appb-100004
    γ表示预先设置的偏置参数m在所有变点处的调整量
    Figure PCTCN2020129208-appb-100005
    Wherein, the C(t) is the resource capacity of the server at time t; the vector δ represents the amount of change in the growth rate on the timestamp S j,
    Figure PCTCN2020129208-appb-100002
    Figure PCTCN2020129208-appb-100003
    Represents the S-dimensional real number space, the timestamp S j indicates that there are S change points located in the timestamp S j , j=1,...,S, then the growth rate at time t is k+a(t) T δ, k is Basic growth rate, vector a(t)∈{0,1} S satisfies
    Figure PCTCN2020129208-appb-100004
    γ represents the adjustment amount of the preset bias parameter m at all change points
    Figure PCTCN2020129208-appb-100005
    所述季节模型为:The seasonal model is:
    Figure PCTCN2020129208-appb-100006
    Figure PCTCN2020129208-appb-100006
    其中,P为预先设定的所述时间序列的期望周期,a n,b n∈β,β通过0到σ区间的正态分布生成,N和σ预先设定; Where, P is the preset expected period of the time series, a n , b n ∈ β, β is generated by a normal distribution in the interval from 0 to σ, and N and σ are preset;
    所述节假日模型为:The holiday model is:
    h(t)=Z(t)k;h(t)=Z(t)k;
    其中,Z(t)=[1(t∈D 1),…,1(t∈D L)]表示时间戳t是否在节假日,D i表示节假日的前后一段时间,k=(k 1,…,k L) T,k i表示预测的节假日的相应变化,k通过0到v区间的正态分布生成,v预先设定; Among them, Z(t)=[1(t∈D 1 ),...,1(t∈D L )] indicates whether the time stamp t is on a holiday, D i indicates a period of time before and after the holiday, k=(k 1 ,... ,k L ) T , k i represents the corresponding change of the predicted holiday, k is generated by a normal distribution in the interval from 0 to v, and v is preset;
    所述Prophet模型为:The Prophet model is:
    y(t)=g(t)+s(t)+h(t)+ε ty(t)=g(t)+s(t)+h(t)+ε t ;
    其中,ε t是误差项并且服从正态分布。 Among them, ε t is the error term and obeys normal distribution.
  6. 根据权利要求1所述的容器云环境下的任务调度方法,其特征在于,所述获取每台服务器的当前资源利用率,并结合所述预测资源利用率、所述所需占用资源和每台服务器的资源阈值进行优化计算,得到所述应用任务与服务器之间的部署矩阵的步骤,包括:The task scheduling method in a container cloud environment according to claim 1, wherein said obtaining the current resource utilization rate of each server is combined with the predicted resource utilization rate, the required occupied resources and each server. The step of performing optimization calculation on the resource threshold of the server to obtain the deployment matrix between the application task and the server includes:
    获取每台服务器的当前资源利用率;Get the current resource utilization of each server;
    基于所述当前资源利用率、所述预测资源利用率、所述所需占用资源和所述资源阈值构建目标函数和约束函数,并初始化粒子群,设置种群大小和迭代次数;Constructing an objective function and a constraint function based on the current resource utilization rate, the predicted resource utilization rate, the required occupied resources, and the resource threshold, and initializing the particle swarm, setting the population size and the number of iterations;
    将所述粒子群中的非支配粒子作为引导粒子保存到最优解集合和最终解集合中,并计算每个引导粒子的拥挤距离;Saving the non-dominated particles in the particle swarm as guiding particles in the optimal solution set and the final solution set, and calculating the crowding distance of each guiding particle;
    进行迭代,且每个粒子根据所述拥挤距离从所述最优解集合中选择一个引导粒子;Iterate, and each particle selects a guiding particle from the optimal solution set according to the crowded distance;
    对每个所述粒子执行飞行过程;Perform a flight process for each of the particles;
    将所述粒子群划分为大小相同的三部分,且对每个部分分别采用不同的突变方案,所述突变方案包括不进行突变、均匀突变和不均匀突变;Divide the particle swarm into three parts of the same size, and adopt different mutation schemes for each part, and the mutation scheme includes no mutation, uniform mutation, and non-uniform mutation;
    当所述粒子的当前位置支配所述粒子的个体最优位置或者两者互不支配时,将所述个体最优位置更新为当前位置,并将所述粒子加入到所述最优解集合和所述最 终解集合中;When the current position of the particle dominates the individual optimal position of the particle or the two do not dominate each other, the individual optimal position is updated to the current position, and the particle is added to the optimal solution set and In the final solution set;
    当所有所述粒子的位置更新完毕后,更新所述粒子的拥挤距离;After the positions of all the particles have been updated, the crowded distance of the particles is updated;
    当达到最大迭代次数后,得到所述部署矩阵。When the maximum number of iterations is reached, the deployment matrix is obtained.
  7. 根据权利要求6所述的容器云环境下的任务调度方法,其特征在于,所述目标函数为:The task scheduling method in a container cloud environment according to claim 6, wherein the objective function is:
    Figure PCTCN2020129208-appb-100007
    Figure PCTCN2020129208-appb-100007
    其中,
    Figure PCTCN2020129208-appb-100008
    为所述当前资源利用率的估计值,
    Figure PCTCN2020129208-appb-100009
    为所述当前资源利用率的估计值的标准差,Res表示资源类型;
    among them,
    Figure PCTCN2020129208-appb-100008
    Is the estimated value of the current resource utilization,
    Figure PCTCN2020129208-appb-100009
    Is the standard deviation of the estimated value of the current resource utilization rate, and Res represents the resource type;
    第一约束函数为:The first constraint function is:
    Figure PCTCN2020129208-appb-100010
    Figure PCTCN2020129208-appb-100010
    其中,e ij表示第i个应用任务是否部署到第j台服务器上运行,若是,则e ij=1,若否,则e ij=0,所述第一约束函数表示每一个批量任务只能部署在同一台服务器上; Among them, e ij indicates whether the i-th application task is deployed to run on the j-th server, if it is, then e ij =1, if not, then e ij =0, the first constraint function indicates that each batch task can only Deploy on the same server;
    第二约束函数为:The second constraint function is:
    Figure PCTCN2020129208-appb-100011
    Figure PCTCN2020129208-appb-100011
    Figure PCTCN2020129208-appb-100012
    Figure PCTCN2020129208-appb-100012
    其中,
    Figure PCTCN2020129208-appb-100013
    为当前资源利用率,B i,Res为应用任务的所需占用资源,T i,Res为服务器的资源阈值,
    Figure PCTCN2020129208-appb-100014
    为预测资源利用率估计值,
    Figure PCTCN2020129208-appb-100015
    为预测资源利用率,所述第二约束函数表示所述应用任务部署到服务器时,当前资源利用率和预测资源利用率小于货等于所述资源阈值。
    among them,
    Figure PCTCN2020129208-appb-100013
    Is the current resource utilization, B i, Res are the required occupied resources of the application task, T i, Res are the resource thresholds of the server,
    Figure PCTCN2020129208-appb-100014
    To predict the estimated value of resource utilization,
    Figure PCTCN2020129208-appb-100015
    To predict the resource utilization rate, the second constraint function indicates that when the application task is deployed to the server, the current resource utilization rate and the predicted resource utilization rate are less than or equal to the resource threshold.
  8. 一种容器云环境下的任务调度装置,其特征在于,包括:A task scheduling device in a container cloud environment is characterized by comprising:
    获取模块,用于获取云数据中心每台服务器的历史资源利用率,并基于所述历史资源利用率预测下一时刻每台服务器的预测资源利用率;The obtaining module is used to obtain the historical resource utilization rate of each server in the cloud data center, and predict the predicted resource utilization rate of each server at the next moment based on the historical resource utilization rate;
    确认模块,用于接收到应用任务时,确认所述应用任务所需占用资源;The confirmation module is used for confirming the resource occupied by the application task when the application task is received;
    优化模块,用于调度所述应用任务时,获取每台服务器的当前资源利用率,并结合所述预测资源利用率、所述所需占用资源和每台服务器的资源阈值进行优化计算,得到所述应用任务与服务器之间的部署矩阵;The optimization module is used to obtain the current resource utilization rate of each server when scheduling the application task, and perform optimization calculations in combination with the predicted resource utilization rate, the required occupied resources and the resource threshold of each server to obtain all Describe the deployment matrix between application tasks and servers;
    部署模块,用于根据所述部署矩阵和所述应用任务在目标服务器上生成一组或多组容器。The deployment module is used to generate one or more sets of containers on the target server according to the deployment matrix and the application tasks.
  9. 一种服务器,其特征在于,所述服务器包括处理器、与所述处理器耦接的存储器,其中,A server, characterized in that the server includes a processor and a memory coupled with the processor, wherein:
    所述存储器存储有用于实现如权利要求1-8中任一项所述的容器云环境下的任 务调度方法的程序指令;The memory stores program instructions for implementing the task scheduling method in a container cloud environment according to any one of claims 1-8;
    所述处理器用于执行所述存储器存储的所述程序指令以平衡容器云服务器集群负载。The processor is configured to execute the program instructions stored in the memory to balance the load of the container cloud server cluster.
  10. 一种存储装置,其特征在于,存储有能够实现如权利要求1-8中任一项所述的容器云环境下的任务调度方法的程序文件。A storage device, characterized in that it stores a program file capable of implementing the task scheduling method in a container cloud environment according to any one of claims 1-8.
PCT/CN2020/129208 2019-11-29 2020-11-17 Method and apparatus for task scheduling in container cloud environment, and server and storage apparatus WO2021104096A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911198319.9 2019-11-29
CN201911198319.9A CN111026550A (en) 2019-11-29 2019-11-29 Task scheduling method and device under container cloud environment, server and storage device

Publications (1)

Publication Number Publication Date
WO2021104096A1 true WO2021104096A1 (en) 2021-06-03

Family

ID=70203282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/129208 WO2021104096A1 (en) 2019-11-29 2020-11-17 Method and apparatus for task scheduling in container cloud environment, and server and storage apparatus

Country Status (2)

Country Link
CN (1) CN111026550A (en)
WO (1) WO2021104096A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220405077A1 (en) * 2021-06-21 2022-12-22 Microsoft Technology Licensing, Llc Computer-implemented exposomic classifier

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026550A (en) * 2019-11-29 2020-04-17 中国科学院深圳先进技术研究院 Task scheduling method and device under container cloud environment, server and storage device
CN111610994B (en) * 2020-05-20 2023-10-20 山东汇贸电子口岸有限公司 Deployment method, device and equipment of cloud data center and storage medium
CN111488200A (en) * 2020-06-28 2020-08-04 四川新网银行股份有限公司 Virtual machine resource utilization rate analysis method based on dynamic analysis model
CN112001116A (en) * 2020-07-17 2020-11-27 新华三大数据技术有限公司 Cloud resource capacity prediction method and device
CN112087504A (en) * 2020-08-31 2020-12-15 浪潮通用软件有限公司 Dynamic load balancing method and device based on working load characteristics
CN112187894B (en) * 2020-09-17 2022-06-10 杭州谐云科技有限公司 Container dynamic scheduling method based on load correlation prediction
CN112631750B (en) * 2020-12-21 2024-04-09 中山大学 Predictive online scheduling and hybrid task deployment method based on compressed sensing and oriented to cloud data center
CN113553180B (en) * 2021-07-20 2023-10-13 唯品会(广州)软件有限公司 Container scheduling method and device and electronic equipment
CN113792971B (en) * 2021-08-11 2023-12-29 邹平市供电有限公司 Regional power dispatching networking method and system
CN113992525A (en) * 2021-10-12 2022-01-28 支付宝(杭州)信息技术有限公司 Method and device for adjusting number of applied containers
CN114428666A (en) * 2022-01-27 2022-05-03 中国铁道科学研究院集团有限公司电子计算技术研究所 Intelligent elastic expansion method and system based on CPU and memory occupancy rate
CN115756823B (en) * 2022-10-20 2024-04-16 广州汽车集团股份有限公司 Service issuing method, device, vehicle and storage medium
CN117472589B (en) * 2023-12-27 2024-03-12 山东合能科技有限责任公司 Park network service management method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065745A (en) * 2014-07-07 2014-09-24 电子科技大学 Cloud computing dynamic resource scheduling system and method
CN104765642A (en) * 2015-03-24 2015-07-08 长沙理工大学 Virtual machine deploying method and system based on dynamic prediction model in cloud environment
CN105320559A (en) * 2014-07-30 2016-02-10 中国移动通信集团广东有限公司 Scheduling method and device of cloud computing system
CN110086650A (en) * 2019-03-20 2019-08-02 武汉大学 The cloud resource on-line scheduling method and device of Based on Distributed machine learning task
CN111026550A (en) * 2019-11-29 2020-04-17 中国科学院深圳先进技术研究院 Task scheduling method and device under container cloud environment, server and storage device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992392B (en) * 2017-12-29 2021-07-06 中移(杭州)信息技术有限公司 Resource deployment method and device and resource server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104065745A (en) * 2014-07-07 2014-09-24 电子科技大学 Cloud computing dynamic resource scheduling system and method
CN105320559A (en) * 2014-07-30 2016-02-10 中国移动通信集团广东有限公司 Scheduling method and device of cloud computing system
CN104765642A (en) * 2015-03-24 2015-07-08 长沙理工大学 Virtual machine deploying method and system based on dynamic prediction model in cloud environment
CN110086650A (en) * 2019-03-20 2019-08-02 武汉大学 The cloud resource on-line scheduling method and device of Based on Distributed machine learning task
CN111026550A (en) * 2019-11-29 2020-04-17 中国科学院深圳先进技术研究院 Task scheduling method and device under container cloud environment, server and storage device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220405077A1 (en) * 2021-06-21 2022-12-22 Microsoft Technology Licensing, Llc Computer-implemented exposomic classifier
US11775277B2 (en) * 2021-06-21 2023-10-03 Microsoft Technology Licensing, Llc Computer-implemented exposomic classifier

Also Published As

Publication number Publication date
CN111026550A (en) 2020-04-17

Similar Documents

Publication Publication Date Title
WO2021104096A1 (en) Method and apparatus for task scheduling in container cloud environment, and server and storage apparatus
CN111045828B (en) Distributed edge calculation method based on distribution network area terminal and related device
CN109617826B (en) Storm dynamic load balancing method based on cuckoo search
CN108009016B (en) Resource load balancing control method and cluster scheduler
US8856797B1 (en) Reactive auto-scaling of capacity
CN108845878A (en) The big data processing method and processing device calculated based on serverless backup
CN113434253B (en) Cluster resource scheduling method, device, equipment and storage medium
CN109976901A (en) A kind of resource regulating method, device, server and readable storage medium storing program for executing
CN111143036A (en) Virtual machine resource scheduling method based on reinforcement learning
CN109740870A (en) The resource dynamic dispatching method that Web is applied under cloud computing environment
US20230229487A1 (en) Virtual machine deployment method, virtual machine management method having the same and virtual machine management system implementing the same
CN116501711A (en) Computing power network task scheduling method based on 'memory computing separation' architecture
CN108845886A (en) Cloud computing energy consumption optimization method and system based on phase space
CN107203256B (en) Energy-saving distribution method and device under network function virtualization scene
CN110414569A (en) Cluster realizing method and device
CN110490316A (en) Based on the training managing method of neural network model training system, training system
Ma et al. NSGA-II with local search for multi-objective application deployment in multi-cloud
CN113190342A (en) Method and system architecture for multi-application fine-grained unloading of cloud-edge cooperative network
Yusoh et al. A penalty-based grouping genetic algorithm for multiple composite saas components clustering in cloud
Moallem et al. Using artificial life techniques for distributed grid job scheduling
Naik et al. Developing a cloud computing data center virtual machine consolidation based on multi-objective hybrid fruit-fly cuckoo search algorithm
Duong et al. Virtual machine placement via q-learning with function approximation
Prado et al. On providing quality of service in grid computing through multi-objective swarm-based knowledge acquisition in fuzzy schedulers
CN115913967A (en) Micro-service elastic scaling method based on resource demand prediction in cloud environment
CN116339932A (en) Resource scheduling method, device and server

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

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

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 110123)

122 Ep: pct application non-entry in european phase

Ref document number: 20891521

Country of ref document: EP

Kind code of ref document: A1