WO2019196127A1 - 一种云计算任务分配方法、装置、设备及存储介质 - Google Patents

一种云计算任务分配方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2019196127A1
WO2019196127A1 PCT/CN2018/083135 CN2018083135W WO2019196127A1 WO 2019196127 A1 WO2019196127 A1 WO 2019196127A1 CN 2018083135 W CN2018083135 W CN 2018083135W WO 2019196127 A1 WO2019196127 A1 WO 2019196127A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
allocation
path
cloud computing
cloud
Prior art date
Application number
PCT/CN2018/083135
Other languages
English (en)
French (fr)
Inventor
张勇
唐琳琳
赵东宁
鹤荣育
梁长垠
曾庆好
Original Assignee
深圳大学
哈尔滨工业大学深圳研究生院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳大学, 哈尔滨工业大学深圳研究生院 filed Critical 深圳大学
Priority to JP2020519124A priority Critical patent/JP6952190B2/ja
Publication of WO2019196127A1 publication Critical patent/WO2019196127A1/zh
Priority to US16/745,396 priority patent/US11188382B2/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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention belongs to the field of computer technologies, and in particular, to a cloud computing task allocation method, device, device and storage medium.
  • Cloud computing is a convenient and flexible computing model. It is a shared pool of computing resources (such as network, server, storage, and application services) that can be accessed and used over the network. The core idea is to unify a large number of computing resources. Management and scheduling so that these computing resources are allocated on demand in the network like water in everyday life. Cloud computing task allocation refers to processing a large number of scheduling tasks under limited cloud computing resources according to the complexity of the tasks requested by the user.
  • An object of the present invention is to provide a cloud computing task allocation method, apparatus, device, and storage medium, which are intended to solve the problem that the performance of the cloud computing task allocation method in the prior art is poor, and it is difficult to ensure the response time and completion time of the cloud computing task. Shorter question.
  • the present invention provides a cloud computing task allocation method, the method comprising the following steps:
  • the cloud computing task is allocated to the virtual machine in the cloud environment according to the optimal allocation path.
  • the present invention provides a cloud computing task allocation apparatus, the apparatus comprising:
  • a model building unit configured to: when receiving a cloud task allocation request of the user, construct a cloud task allocation model according to the cloud computing task to be allocated in the cloud task allocation request;
  • An ant colony optimization unit configured to perform, by using the cloud task assignment model and a preset ant colony algorithm, a first preset number of times of allocation of the cloud computing task to generate the first preset number of intermediate allocations path;
  • a genetic evolution unit configured to perform a second predetermined number of evolutions on the intermediate distribution path by a preset genetic algorithm to generate an optimal distribution path of the cloud computing task
  • a task allocation unit configured to allocate the cloud computing task to the virtual machine in the cloud environment according to the optimal allocation path.
  • the present invention also provides a cloud computing device comprising a memory, a processor, and a computer program stored in the memory and operable on the processor, the processor executing the computer program
  • a cloud computing device comprising a memory, a processor, and a computer program stored in the memory and operable on the processor, the processor executing the computer program
  • the present invention also provides a computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the steps as described in the cloud computing task assignment method described above .
  • the invention constructs a cloud task allocation model, optimizes the allocation of the cloud computing task through the cloud task allocation model and the ant colony algorithm, and generates a first preset number of intermediate allocation paths.
  • the second predetermined number of times of evolution of the intermediate allocation path is performed by the genetic algorithm, and the optimal allocation path of the cloud computing task is generated, and the cloud computing task is allocated to the virtual machine according to the optimal allocation path, thereby submitting a large number of independent cloud computing in the user.
  • the hybrid group intelligent algorithm combined by ant colony and genetic algorithm effectively improves the performance of cloud computing task allocation, ensures the short response time and completion time of cloud computing tasks, and improves the service quality and users of cloud computing platform. Experience.
  • FIG. 1 is a flowchart of an implementation of a cloud computing task allocation method according to Embodiment 1 of the present invention
  • FIG. 2 is a schematic structural diagram of a cloud computing task allocation apparatus according to Embodiment 2 of the present invention.
  • FIG. 3 is a schematic diagram of a preferred structure of a cloud computing task allocation apparatus according to Embodiment 2 of the present invention.
  • FIG. 4 is a schematic structural diagram of a cloud computing device according to Embodiment 3 of the present invention.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • FIG. 1 is a flowchart showing an implementation process of a cloud computing task allocation method according to Embodiment 1 of the present invention. For convenience of description, only parts related to the embodiment of the present invention are shown, which are as follows:
  • step S101 when the cloud task assignment request of the user is received, the cloud task assignment model is constructed according to the cloud computing task to be allocated in the cloud task allocation request.
  • the present invention is applicable to a cloud computing platform.
  • the cloud computing tasks to be allocated are obtained from the cloud task allocation requests, and according to the cloud computing tasks, the cloud task allocation model can be constructed.
  • the cloud task assignment model since multiple virtual machines are distributed on the host in the cloud environment, the cloud computing task assignment allocates the virtual machines to the cloud computing tasks, and the cloud task assignment model can be constructed by establishing the task virtual machine pairing process. .
  • step S102 the cloud task assignment model and the preset ant colony algorithm are used to perform a first preset number of optimizations on the allocation of the cloud computing tasks, and generate a first preset number of intermediate distribution paths.
  • the first preset number is a preset maximum number of iterations (or the maximum number of optimizations) of the ant colony algorithm
  • each task virtual machine pair in the task virtual machine model is respectively set as a corresponding node.
  • Ant colonies in ant colony algorithms need to find an optimal path between these nodes.
  • the pheromone between the paired nodes of each task virtual machine may be initialized first, and the pheromone matrix in the ant colony algorithm is generated, and then the ants in the ant colony algorithm go out of the corresponding paths in the task virtual pairing node, and the paths are
  • the local optimal path is set as the intermediate allocation path, and according to the running time required by the cloud computing task on the virtual machine, the pheromone on the path that each ant passes may be updated to guide the subsequent ant colony optimization through the pheromone. process.
  • each ant in the ant colony algorithm selects the next node to be visited in the task virtual machine pairing node by using a preset probability formula when the ant is out of the corresponding path in the task virtual pairing node, thereby improving the path of the ant colony algorithm.
  • Search ability For example, when the task virtual machine pairing node (a i , v j ) is located in the searchable task table of the ant k in the t-th optimization process, the probability that the ant k walks to the task virtual machine pairing node (a i , v j ) for:
  • ⁇ ij (t) and ⁇ ij (t) represent the resource pheromone concentration and the intrinsic properties of the resource (such as calculation and communication ability) in the t-th optimization process, respectively, ⁇ and ⁇ respectively represent the importance degree of the pheromone, The importance of the inherent attributes of the resource, AllowedTasks(t) represents the searchable task table of the ant in the t-th optimization process, and vms is an optional virtual machine.
  • the probability that the ant k walks to the task virtual machine pairing node (a i , v j ) is 0.
  • the ant colony algorithm simulates the ant colony phenomenon in the natural environment, so the pheromone update includes the pheromone left by the ants, and the natural volatilization of the pheromone.
  • the update formula of the pheromone matrix is expressed as:
  • rho is the default volatilization factor
  • Delta is the pheromone left by the ant
  • Delta Q/max(costVm)
  • Q is the preset weight parameter
  • costVm[1...M] is the path of the ant.
  • the time consumption of each virtual machine, max(costVm) is the longest time consumption of the time consumption of each virtual machine on the path through which the ant passes, so that the running time of the cloud computing task on the virtual machine is on the corresponding path of each ant.
  • the pheromone is updated to effectively improve the accuracy of the pheromone update.
  • each ant passing the local optimal path releases the pheromone again on the local optimal path according to a preset optimal path pheromone update formula, thereby indirectly Increasing the pheromone of the global path optimal path is beneficial to quickly find the global optimal path.
  • the updated value of the pheromone in the optimal path pheromone update formula can be expressed as:
  • determining whether the optimization number of the ant colony algorithm reaches the first preset number is to complete the optimization process of the ant colony algorithm, and obtain a first preset number of intermediate allocation paths, otherwise continue to pass the ant colony algorithm.
  • the ants go out of the corresponding path in the task virtual pairing node.
  • step S103 the intermediate distribution path is subjected to a second predetermined number of evolutions by a preset genetic algorithm to generate an optimal distribution path of the cloud computing task.
  • the second preset number is the maximum number of iterations (or the maximum number of evolutions) of the genetic algorithm.
  • each generation of the ant colony algorithm takes a long time, and the genetic algorithm costs each generation. The time is shorter, so the second preset number is set to be greater than the first preset number, thereby improving the effect of the cloud computing task allocation while reducing the time cost of the cloud computing task allocation.
  • the intermediate allocation path obtained by the ant colony algorithm may be first encoded to obtain the current population of the genetic algorithm, and then the current population is evolved according to a preset fitness value function to generate a next generation population, and the genetics is determined. Whether the number of evolutions of the algorithm reaches the second preset number is to set the optimal individual in the next generation population as the optimal distribution path of the cloud computing task allocation, otherwise the next generation population is set as the current population, and the current population continues to be performed. evolution.
  • the task virtual machine paired nodes in each intermediate allocation path are sorted, and a virtual machine sequence of each intermediate allocation path is generated, and the virtual machine sequences are Set as the individual population of the current population in the genetic algorithm, so as to realize the combination of ant colony algorithm and genetic algorithm in cloud computing task allocation.
  • the fitness function used is:
  • peNum is the number of hosts of a single virtual machine
  • costPe is the cost of a single host
  • costPerMem is the cost of a single host
  • costPerStorage and costPerBw are respectively the memory cost, memory cost and bandwidth cost in the cloud computing environment
  • ram size and bw are respectively cloud The amount of memory, memory size, and bandwidth in the computing environment.
  • step S104 the cloud computing task is allocated to the virtual machine in the cloud environment according to the optimal allocation path.
  • the cloud computing experiment can be simulated in the cloud computing simulation tool and the distributed system simulator of the cloud computing environment (such as CloudSim tool) to reduce the cloud computing task allocation research. Test thresholds and costs.
  • the ant colony algorithm optimizes the allocation of the cloud computing task, generates a first preset number of intermediate allocation paths, and performs a second predetermined number of evolutions on the intermediate allocation path by the genetic algorithm to generate a cloud computing.
  • the optimal allocation path of the task, the hybrid group intelligent algorithm combined by ant colony and genetic algorithm combines the good robustness and solution search ability of the ant colony algorithm, and the global space search ability and parallelism of the genetic algorithm, effectively improving the efficiency.
  • the performance of the cloud computing task allocation ensures the short response time and completion time of the cloud computing task, thereby improving the service quality and user experience of the cloud computing platform.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • FIG. 2 shows a structure of a cloud computing task allocation apparatus according to Embodiment 2 of the present invention. For convenience of description, only parts related to the embodiment of the present invention are shown, including:
  • the model building unit 21 is configured to construct a cloud task allocation model according to the cloud computing task to be allocated in the cloud task allocation request when receiving the cloud task allocation request of the user.
  • the cloud computing tasks to be allocated are obtained from the cloud task allocation requests, and according to the cloud computing tasks, the cloud task allocation model may be constructed.
  • the cloud task assignment model since multiple virtual machines are distributed on the host in the cloud environment, the cloud computing task assignment allocates the virtual machines to the cloud computing tasks, and the cloud task assignment model can be constructed by establishing the task virtual machine pairing process. .
  • the ant colony optimization unit 22 is configured to perform, by using a cloud task assignment model and a preset ant colony algorithm, a first preset number of times of allocation of the cloud computing tasks to generate a first preset number of intermediate allocation paths.
  • the pheromone between the paired nodes of each task virtual machine may be initialized first, and the pheromone matrix in the ant colony algorithm is generated, and then the ants in the ant colony algorithm are out in the virtual pairing node of the task.
  • the path is set to the intermediate optimal path in the path, and according to the running time required by the cloud computing task on the virtual machine, the pheromone on the path that each ant passes may be updated to pass the information. Guided by the subsequent ant colony optimization process.
  • each ant in the ant colony algorithm selects the next node to be visited in the task virtual machine pairing node by using a preset probability formula when the ant is out of the corresponding path in the task virtual pairing node, thereby improving the path of the ant colony algorithm. Search ability.
  • the ant colony algorithm simulates the ant colony phenomenon in the natural environment, so the pheromone update includes the pheromone left by the ants, and the natural volatilization of the pheromone.
  • the update formula of the pheromone matrix is expressed as:
  • rho is the default volatilization factor
  • Delta is the pheromone left by the ant
  • Delta Q/max(costVm)
  • Q is the preset weight parameter
  • costVm[1...M] is the path of the ant.
  • the time consumption of each virtual machine, max(costVm) is the longest time consumption of the time consumption of each virtual machine on the path through which the ant passes, so that the running time of the cloud computing task on the virtual machine is on the corresponding path of each ant.
  • the pheromone is updated to effectively improve the accuracy of the pheromone update.
  • each ant passing the local optimal path releases the pheromone again on the local optimal path according to a preset optimal path pheromone update formula, thereby indirectly Increasing the pheromone of the global path optimal path is beneficial to quickly find the global optimal path.
  • determining whether the optimization number of the ant colony algorithm reaches the first preset number is to complete the optimization process of the ant colony algorithm, and obtain a first preset number of intermediate allocation paths, otherwise continue to pass the ant colony algorithm.
  • the ants go out of the corresponding path in the task virtual pairing node.
  • the genetic evolution unit 23 is configured to perform a second predetermined number of evolutions on the intermediate distribution path by using a preset genetic algorithm to generate an optimal distribution path of the cloud computing task.
  • the second preset number is the maximum number of iterations (or the maximum number of evolutions) of the genetic algorithm.
  • each generation of the ant colony algorithm takes a long time, and the genetic algorithm costs each generation. The time is shorter, so the second preset number is set to be greater than the first preset number, thereby improving the effect of the cloud computing task allocation while reducing the time cost of the cloud computing task allocation.
  • the intermediate allocation path obtained by the ant colony algorithm may be first encoded to obtain the current population of the genetic algorithm, and then the current population is evolved according to a preset fitness value function to generate a next generation population, and the genetics is determined. Whether the number of evolutions of the algorithm reaches the second preset number is to set the optimal individual in the next generation population as the optimal distribution path of the cloud computing task allocation, otherwise the next generation population is set as the current population, and the current population continues to be performed. evolution.
  • the task virtual machine paired nodes in each intermediate allocation path are sorted, and a virtual machine sequence of each intermediate allocation path is generated, and the virtual machine sequences are Set as the individual population of the current population in the genetic algorithm, so as to realize the combination of ant colony algorithm and genetic algorithm in cloud computing task allocation.
  • the fitness function used is:
  • peNum is the number of hosts of a single virtual machine
  • costPe is the cost of a single host
  • costPerMem is the cost of a single host
  • costPerStorage and costPerBw are respectively the memory cost, memory cost and bandwidth cost in the cloud computing environment
  • ram size and bw are respectively cloud The amount of memory, memory size, and bandwidth in the computing environment.
  • the task assignment unit 24 is configured to allocate the cloud computing task to the virtual machine in the cloud environment according to the optimal allocation path.
  • the cloud computing experiment can be simulated in the cloud computing simulation tool and the distributed system simulator of the cloud computing environment (such as CloudSim tool) to reduce the cloud computing task allocation research. Test thresholds and costs.
  • the ant colony optimization unit 22 includes:
  • a pheromone initialization unit 321 configured to initialize a pheromone between each task virtual machine paired node in the task assignment model to generate a pheromone matrix of the ant colony algorithm
  • the path generating unit 322 is configured to generate a corresponding path in the task virtual machine pairing node by the ant of the ant colony algorithm, and set the local optimal path in the corresponding path of each ant as the intermediate allocation path;
  • a pheromone updating unit 323, configured to update a pheromone on a corresponding path of each ant according to a running time of the cloud computing task in the virtual environment of the cloud environment in the task allocation model;
  • the ant colony optimization determining unit 324 is configured to determine whether the optimization number of the ant colony algorithm reaches the first preset number, and completes the optimization process of the ant colony algorithm, otherwise the trigger path generating unit 322 performs the ant in the task virtual through the ant colony algorithm. The operation of generating the corresponding path in the machine pairing node.
  • the genetic evolution unit 23 comprises:
  • a population coding unit 331, configured to encode an intermediate allocation path to generate a current population of the genetic algorithm
  • a population evolution unit 332 configured to evolve a current population according to a preset fitness function function to generate a next generation population
  • the genetic evolution determining unit 333 is configured to determine whether the number of evolutions of the genetic algorithm reaches a second preset number, and the optimal individual of the next generation population is set as the optimal allocation path, otherwise the next generation population is set as the current population, and the trigger is
  • the population evolution unit 332 performs the step of evolving the current population according to a preset fitness value function.
  • the ant colony algorithm optimizes the allocation of the cloud computing task, generates a first preset number of intermediate allocation paths, and performs a second predetermined number of evolutions on the intermediate allocation path by the genetic algorithm to generate a cloud computing.
  • the optimal allocation path of the task, the hybrid group intelligent algorithm combined by ant colony and genetic algorithm combines the good robustness and solution search ability of the ant colony algorithm, and the global space search ability and parallelism of the genetic algorithm, effectively improving the efficiency.
  • the performance of the cloud computing task allocation ensures the short response time and completion time of the cloud computing task, thereby improving the service quality and user experience of the cloud computing platform.
  • each unit of the cloud computing task allocation device may be implemented by a corresponding hardware or software unit, and each unit may be an independent software and hardware unit, or may be integrated into a soft and hardware unit. To limit the invention.
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • FIG. 4 shows a structure of a cloud computing device according to Embodiment 3 of the present invention. For convenience of description, only parts related to the embodiment of the present invention are shown.
  • the cloud computing device 4 of an embodiment of the present invention includes a processor 40, a memory 41, and a computer program 42 stored in the memory 41 and executable on the processor 40.
  • the processor 40 when executing the computer program 42, implements the steps in the above-described method embodiments, such as steps S101 through S104 shown in FIG.
  • processor 40 when executing computer program 42, implements the functions of the various units of the apparatus embodiments described above, such as the functions of units 21 through 24 of FIG.
  • the ant colony algorithm optimizes the allocation of the cloud computing task, generates a first preset number of intermediate allocation paths, and performs a second predetermined number of evolutions on the intermediate allocation path by the genetic algorithm to generate a cloud computing.
  • the optimal allocation path of the task, the hybrid group intelligent algorithm combined by ant colony and genetic algorithm combines the good robustness and solution search ability of the ant colony algorithm, and the global space search ability and parallelism of the genetic algorithm, effectively improving the efficiency.
  • the performance of the cloud computing task allocation ensures the short response time and completion time of the cloud computing task, thereby improving the service quality and user experience of the cloud computing platform.
  • Embodiment 4 is a diagrammatic representation of Embodiment 4:
  • a computer readable storage medium storing a computer program, which when executed by a processor, implements the steps in the foregoing method embodiments, for example, FIG. Steps S101 to S104 are shown.
  • the computer program when executed by the processor, implements the functions of the various units of the apparatus embodiments described above, such as the functions of units 21 through 24 shown in FIG.
  • the ant colony algorithm optimizes the allocation of the cloud computing task, generates a first preset number of intermediate allocation paths, and performs a second predetermined number of evolutions on the intermediate allocation path by the genetic algorithm to generate a cloud computing.
  • the optimal allocation path of the task, the hybrid group intelligent algorithm combined by ant colony and genetic algorithm combines the good robustness and solution search ability of the ant colony algorithm, and the global space search ability and parallelism of the genetic algorithm, effectively improving the efficiency.
  • the performance of the cloud computing task allocation ensures the short response time and completion time of the cloud computing task, thereby improving the service quality and user experience of the cloud computing platform.
  • the computer readable storage medium of the embodiments of the present invention may include any entity or device capable of carrying computer program code, a recording medium such as a ROM/RAM, a magnetic disk, an optical disk, a flash memory, or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明适用计算机技术领域,提供了一种云计算任务分配方法、装置、设备及存储介质,该方法包括:在接收到云任务分配请求时,根据云任务分配请求中待分配的云计算任务,构建云任务分配模型,通过云任务分配模型和蚁群算法,对云计算任务的分配进行第一预设数目次优化,生成第一预设数目个中间分配路径,通过遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径,将云计算任务按照最优分配路径分配给云环境中的虚拟机,从而通过蚁群、遗传算法组合的混合群智能算法有效地提高了云计算任务分配的性能,保证了云计算任务较短的响应时间和完成时间,进而提高了云计算平台的服务质量和用户体验。

Description

一种云计算任务分配方法、装置、设备及存储介质 技术领域
本发明属于计算机技术领域,尤其涉及一种云计算任务分配方法、装置、设备及存储介质。
背景技术
云计算是一个方便、灵活的计算模式,是可通过网络进行访问和使用的计算资源(例如:网络、服务器、存储、应用程序服务)的共享池,其核心思想是将大量计算资源进行统一的管理和调度,以使这些计算资源像日常生活中的水一样在网络中按需分配。云计算任务分配是指根据用户所请求任务的复杂性,在有限的云计算资源下对海量的调度任务进行处理。
近年来,对云计算任务分配方法的研究正在不断地发展,然而现有的云计算调度方法性能不佳,难以在用户提交大量独立任务时保证任务的响应时间、完成时间尽可能的短,从而难以保证云计算平台的服务质量和用户体验。
发明内容
本发明的目的在于提供一种云计算任务分配方法、装置、设备及存储介质,旨在解决由于现有技术中云计算任务分配方法的性能不佳,难以保证云计算任务的响应时间和完成时间较短的问题。
一方面,本发明提供了一种云计算任务分配方法,所述方法包括下述步骤:
当接收到用户的云任务分配请求时,根据所述云任务分配请求中待分配的云计算任务,构建云任务分配模型;
通过所述云任务分配模型和预设的蚁群算法,对所述云计算任务的分配进行第一预设数目次优化,生成所述第一预设数目个中间分配路径;
通过预设的遗传算法对所述中间分配路径进行第二预设数目次进化,生成所述云计算任务的最优分配路径;
将所述云计算任务按照所述最优分配路径分配给云环境中的虚拟机。
另一方面,本发明提供了一种云计算任务分配装置,所述装置包括:
模型构建单元,用于当接收到用户的云任务分配请求时,根据所述云任务分配请求中待分配的云计算任务,构建云任务分配模型;
蚁群优化单元,用于通过所述云任务分配模型和预设的蚁群算法,对所述云计算任务的分配进行第一预设数目次优化,生成所述第一预设数目个中间分配路径;
遗传进化单元,用于通过预设的遗传算法对所述中间分配路径进行第二预设数目次进化,生成所述云计算任务的最优分配路径;以及
任务分配单元,用于将所述云计算任务按照所述最优分配路径分配给云环境中的虚拟机。
另一方面,本发明还提供了一种云计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述云计算任务分配方法所述的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述云计算任务分配方法所述的步骤。
本发明根据云任务分配请求中待分配的云计算任务,构建云任务分配模型,通过云任务分配模型和蚁群算法,对云计算任务的分配进行优化,生成第一预设数目个中间分配路径,通过遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径,将云计算任务按照最优分配路径分配给虚拟机,从而在用户提交大量独立的云计算任务时,通过蚁群、遗传算法组合的混合群智能算法有效地提高了云计算任务分配的性能,保证云计算任务较短的响应时间和完成时间,进而提高了云计算平台的服务质量和用户体验。
附图说明
图1是本发明实施例一提供的一种云计算任务分配方法的实现流程图;
图2是本发明实施例二提供的一种云计算任务分配装置的结构示意图;
图3是本发明实施例二提供的一种云计算任务分配装置的优选结构示意图;以及
图4是本发明实施例三提供的云计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的一种云计算任务分配方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,当接收到用户的云任务分配请求时,根据云任务分配请求中待分配的云计算任务,构建云任务分配模型。
本发明适用于云计算平台,在接收到不同用户的云任务分配请求时,从这些云任务分配请求中获取待分配的云计算任务,根据这些云计算任务,可构建云任务分配模型。在构建云任务分配模型时,由于在云环境中多个虚拟机分布在宿主机上,云计算任务分配即将云计算任务分配这些虚拟机,可通过建立任务虚拟机配对过程来构建云任务分配模型。
作为示例地,在从云任务分配请求中共获得m个待分配的云计算任务A=(a 1,a 2,...,a m),m个云计算任务在n个虚拟机VM={v 1,v 2,…,v n}上执行,形成任务虚拟机配对(a i,v j),用
Figure PCTCN2018083135-appb-000001
表示每个云计算任务在虚拟机上的执行时间。
在步骤S102中,通过云任务分配模型和预设的蚁群算法,对云计算任务的分配进行第一预设数目次优化,生成第一预设数目个中间分配路径。
在本发明实施例中,第一预设数目为预设的、蚁群算法的最大迭代次数(或最大优化次数),将任务虚拟机模型中每个任务虚拟机配对分别设置为对应的节点,蚁群算法中的蚁群需要在这些节点间寻找一条最优路径。可先对每个任务虚拟机配对节点间的信息素进行初始化,生成蚁群算法中的信息素矩阵,再通过蚁群算法中的蚂蚁在任务虚拟配对节点中走出相应路径,将这些路径中的局部最优路径设置为中间分配路径,再根据云计算任务在虚拟机上所需的运行时间,可对每条蚂蚁经过的路径上的信息素进行更新,以便通过信息素引导后续的蚁群优化过程。
优选地,蚁群算法中每只蚂蚁在任务虚拟配对节点中走出相应路径时,通过预设的概率公式在任务虚拟机配对节点中选择下一个要走到的节点,从而提高蚁群算法的路径搜索能力。例如,当第t次优化过程中任务虚拟机配对节点(a i,v j)位于蚂蚁k的可搜索任务表中时,蚂蚁k行走到任务虚拟机配对节点(a i,v j)的概率为:
Figure PCTCN2018083135-appb-000002
其中,τ ij(t)、γ ij(t)分别表示第t次优化过程中的资源信息素浓度、资源的固有属性(如计算和通信能力),α、β分别表示信息素的重要程度、资源固有属性的重要程度,AllowedTasks(t)表示第t次优化过程中蚂蚁的可搜索任务表,vms为可选的虚拟机。当第t次优化过程中任务虚拟机配对节点(a i,v j)不位于蚂蚁k的可搜索任务表中时,蚂蚁k行走到任务虚拟机配对节点(a i,v j)的概率为0。
在本发明实施例中,蚁群算法模拟自然环境中的蚁群现象,所以信息素的更新除了包括蚂蚁经过时留下的信息素,还要考虑信息素的自然挥发。优选地,信息素矩阵的更新公式表示为:
Figure PCTCN2018083135-appb-000003
其中,rho为预设的挥发因子,Delta表示蚂蚁经过时留下的信息素,Delta=Q/max(costVm),Q为预设的权重参数,costVm[1…M]为蚂蚁经过的路径上各个虚拟机的时间消耗,max(costVm)为蚂蚁经过的路径上各个虚拟机的时间消耗中最长的时间消耗,从而依据云计算任务在虚拟机上的运行时间,对每只蚂蚁相应路径上的信息素进行更新,有效地提高了信息素更新的准确度。
进一步优选地,在每只蚂蚁走完各自的路径后,使经过局部最优路径的每只蚂蚁按照预设的最优路径信息素更新公式在局部最优路径上再一次释放信息素,从而间接地增加全局路径最优路径的信息素,有利于快速地找到全局最优路径。作为示例地,最优路径信息素更新公式中信息素的更新值可表示为:
δ=Q”/bestCost,其中,Q”为预设的权重参数,bestCost为当前最佳的max(costVm)。
在本发明实施例中,判断蚁群算法的优化次数是否达到第一预设数目,是则完成蚁群算法的优化过程,得到第一预设数目个中间分配路径,否则继续通过蚁群算法中的蚂蚁在任务虚拟配对节点中走出相应路径。
在步骤S103中,通过预设的遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径。
在本发明实施例中,第二预设数目为遗传算法的最大迭代次数(或最大进化次数),优选地,蚁群算法每一代的运行都需要较长的时间,而遗传算法每代花费的时间较短,因此为第二预设数目设置为大于第一预设数目的值,从而在减少云计算任务分配的时间成本的同时,提高云计算任务分配的效果。
在本发明实施例中,可先对通过蚁群算法得到的中间分配路径进行编码,得到遗传算法的当前种群,再根据预设的适应值函数对当前种群进行进化,生成下一代种群,判断遗传算法的进化次数是否达到第二预设数目,是则将下一 代种群中的最优个体设置为云计算任务分配的最优分配路径,否则将下一代种群设置为当前种群,继续对当前种群进行进化。
优选地,在对通过蚁群算法得到的中间分配路径进行编码时,对每个中间分配路径中的任务虚拟机配对节点进行排序,生成每个中间分配路径的虚拟机序列,将这些虚拟机序列设置为遗传算法中当前种群的种群个体,从而实现云计算任务分配中蚁群算法和遗传算法的结合。
优选地,为使遗传算法逐步朝着更低的用户成本和更快的完成时间进行迭代,采用的适应值函数为:
Fitness=Q^/(r*max(costVm)+(1-r)*Debt),其中,Q^、r为预设的权重参数,r用来控制时间和经济成本之间的比重,Debt为云计算任务分配过程的经济成本。作为示例地,Debt的计算公式可表示为:
Figure PCTCN2018083135-appb-000004
其中,peNum为单个虚拟机的宿主机个数,costPe为单个宿主机的费用,costPerMem、costPerStorage和costPerBw分别为云计算环境中的内存费用、存储器费用和带宽费用,ram、size和bw分别为云计算环境中内存容量、存储器大小和带宽数量。
在步骤S104中,将云计算任务按照最优分配路径分配给云环境中的虚拟机。
在本发明实施例中,在得到最优分配路径后,将所有云计算任务按照最优分配路径分配给虚拟机,完成云计算任务的分配。在具体实验过程中,得到最优分配路径后,可在云计算仿真工具、云计算环境的分布式系统模拟器(例如CloudSim工具)上对云计算试验进行模拟,以降低云计算任务分配的研究测试门槛和成本。
在本发明实施例中,通过蚁群算法对云计算任务的分配进行优化,生成第一预设数目个中间分配路径,通过遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径,从而通过蚁群、遗传算法组合的混 合群智能算法综合了蚁群算法良好的鲁棒性和解搜索能力、以及遗传算法的全局空间搜索能力和并行性,有效地提高了云计算任务分配的性能,保证云计算任务较短的响应时间和完成时间,进而提高了云计算平台的服务质量和用户体验。
实施例二:
图2示出了本发明实施例二提供的一种云计算任务分配装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
模型构建单元21,用于当接收到用户的云任务分配请求时,根据云任务分配请求中待分配的云计算任务,构建云任务分配模型。
在本发明实施例中,在接收到不同用户的云任务分配请求时,从这些云任务分配请求中获取待分配的云计算任务,根据这些云计算任务,可构建云任务分配模型。在构建云任务分配模型时,由于在云环境中多个虚拟机分布在宿主机上,云计算任务分配即将云计算任务分配这些虚拟机,可通过建立任务虚拟机配对过程来构建云任务分配模型。
蚁群优化单元22,用于通过云任务分配模型和预设的蚁群算法,对云计算任务的分配进行第一预设数目次优化,生成第一预设数目个中间分配路径。
在本发明实施例中,可先对每个任务虚拟机配对节点间的信息素进行初始化,生成蚁群算法中的信息素矩阵,再通过蚁群算法中的蚂蚁在任务虚拟配对节点中走出相应路径,将这些路径中的局部最优路径设置为中间分配路径,再根据云计算任务在虚拟机上所需的运行时间,可对每条蚂蚁经过的路径上的信息素进行更新,以便通过信息素引导后续的蚁群优化过程。
优选地,蚁群算法中每只蚂蚁在任务虚拟配对节点中走出相应路径时,通过预设的概率公式在任务虚拟机配对节点中选择下一个要走到的节点,从而提高蚁群算法的路径搜索能力。
在本发明实施例中,蚁群算法模拟自然环境中的蚁群现象,所以信息素的更新除了包括蚂蚁经过时留下的信息素,还要考虑信息素的自然挥发。优选地, 信息素矩阵的更新公式表示为:
Figure PCTCN2018083135-appb-000005
其中,rho为预设的挥发因子,Delta表示蚂蚁经过时留下的信息素,Delta=Q/max(costVm),Q为预设的权重参数,costVm[1…M]为蚂蚁经过的路径上各个虚拟机的时间消耗,max(costVm)为蚂蚁经过的路径上各个虚拟机的时间消耗中最长的时间消耗,从而依据云计算任务在虚拟机上的运行时间,对每只蚂蚁相应路径上的信息素进行更新,有效地提高了信息素更新的准确度。
进一步优选地,在每只蚂蚁走完各自的路径后,使经过局部最优路径的每只蚂蚁按照预设的最优路径信息素更新公式在局部最优路径上再一次释放信息素,从而间接地增加全局路径最优路径的信息素,有利于快速地找到全局最优路径。
在本发明实施例中,判断蚁群算法的优化次数是否达到第一预设数目,是则完成蚁群算法的优化过程,得到第一预设数目个中间分配路径,否则继续通过蚁群算法中的蚂蚁在任务虚拟配对节点中走出相应路径。
遗传进化单元23,用于通过预设的遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径。
在本发明实施例中,第二预设数目为遗传算法的最大迭代次数(或最大进化次数),优选地,蚁群算法每一代的运行都需要较长的时间,而遗传算法每代花费的时间较短,因此为第二预设数目设置为大于第一预设数目的值,从而在减少云计算任务分配的时间成本的同时,提高云计算任务分配的效果。
在本发明实施例中,可先对通过蚁群算法得到的中间分配路径进行编码,得到遗传算法的当前种群,再根据预设的适应值函数对当前种群进行进化,生成下一代种群,判断遗传算法的进化次数是否达到第二预设数目,是则将下一代种群中的最优个体设置为云计算任务分配的最优分配路径,否则将下一代种 群设置为当前种群,继续对当前种群进行进化。
优选地,在对通过蚁群算法得到的中间分配路径进行编码时,对每个中间分配路径中的任务虚拟机配对节点进行排序,生成每个中间分配路径的虚拟机序列,将这些虚拟机序列设置为遗传算法中当前种群的种群个体,从而实现云计算任务分配中蚁群算法和遗传算法的结合。
优选地,为使遗传算法逐步朝着更低的用户成本和更快的完成时间进行迭代,采用的适应值函数为:
Fitness=Q^/(r*max(costVm)+(1-r)*Debt),其中,Q^、r为预设的权重参数,r用来控制时间和经济成本之间的比重,Debt为云计算任务分配过程的经济成本。作为示例地,Debt的计算公式可表示为:
Figure PCTCN2018083135-appb-000006
其中,peNum为单个虚拟机的宿主机个数,costPe为单个宿主机的费用,costPerMem、costPerStorage和costPerBw分别为云计算环境中的内存费用、存储器费用和带宽费用,ram、size和bw分别为云计算环境中内存容量、存储器大小和带宽数量。
任务分配单元24,用于将云计算任务按照最优分配路径分配给云环境中的虚拟机。
在本发明实施例中,在得到最优分配路径后,将所有云计算任务按照最优分配路径分配给虚拟机,完成云计算任务的分配。在具体实验过程中,得到最优分配路径后,可在云计算仿真工具、云计算环境的分布式系统模拟器(例如CloudSim工具)上对云计算试验进行模拟,以降低云计算任务分配的研究测试门槛和成本。
优选地,如图3所示,蚁群优化单元22包括:
信息素初始化单元321,用于对任务分配模型中每个任务虚拟机配对节点间的信息素进行初始化,生成蚁群算法的信息素矩阵;
路径生成单元322,用于通过蚁群算法的蚂蚁在任务虚拟机配对节点中生 成相应路径,将每只蚂蚁相应路径中的局部最优路径设置为中间分配路径;
信息素更新单元323,用于根据任务分配模型中云计算任务在云环境的虚拟机上的运行时间,对每只蚂蚁相应路径上的信息素进行更新;以及
蚁群优化判断单元324,用于判断蚁群算法的优化次数是否达到第一预设数目,是则完成蚁群算法的优化过程,否则触发路径生成单元322执行通过蚁群算法的蚂蚁在任务虚拟机配对节点中生成相应路径的操作。
优选地,遗传进化单元23包括:
种群编码单元331,用于对中间分配路径进行编码,以生成遗传算法的当前种群;
种群进化单元332,用于根据预设的适应值函数对当前种群进行进化,生成下一代种群;以及
遗传进化判断单元333,用于判断遗传算法的进化次数是否达到第二预设数目,是则将下一代种群的最优个体设置为最优分配路径,否则将下一代种群设置为当前种群,触发种群进化单元332执行根据预设的适应值函数对当前种群进行进化的步骤。
在本发明实施例中,通过蚁群算法对云计算任务的分配进行优化,生成第一预设数目个中间分配路径,通过遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径,从而通过蚁群、遗传算法组合的混合群智能算法综合了蚁群算法良好的鲁棒性和解搜索能力、以及遗传算法的全局空间搜索能力和并行性,有效地提高了云计算任务分配的性能,保证云计算任务较短的响应时间和完成时间,进而提高了云计算平台的服务质量和用户体验。
在本发明实施例中,一种云计算任务分配装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例三:
图4示出了本发明实施例三提供的云计算设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的云计算设备4包括处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42。该处理器40执行计算机程序42时实现上述方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,处理器40执行计算机程序42时实现上述装置实施例中各单元的功能,例如图2所示单元21至24的功能。
在本发明实施例中,通过蚁群算法对云计算任务的分配进行优化,生成第一预设数目个中间分配路径,通过遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径,从而通过蚁群、遗传算法组合的混合群智能算法综合了蚁群算法良好的鲁棒性和解搜索能力、以及遗传算法的全局空间搜索能力和并行性,有效地提高了云计算任务分配的性能,保证云计算任务较短的响应时间和完成时间,进而提高了云计算平台的服务质量和用户体验。
实施例四:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤S101至S104。或者,该计算机程序被处理器执行时实现上述装置实施例中各单元的功能,例如图2所示单元21至24的功能。
在本发明实施例中,通过蚁群算法对云计算任务的分配进行优化,生成第一预设数目个中间分配路径,通过遗传算法对中间分配路径进行第二预设数目次进化,生成云计算任务的最优分配路径,从而通过蚁群、遗传算法组合的混合群智能算法综合了蚁群算法良好的鲁棒性和解搜索能力、以及遗传算法的全局空间搜索能力和并行性,有效地提高了云计算任务分配的性能,保证云计算任务较短的响应时间和完成时间,进而提高了云计算平台的服务质量和用户体 验。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

  1. 一种云计算任务分配方法,其特征在于,所述方法包括下述步骤:
    当接收到用户的云任务分配请求时,根据所述云任务分配请求中待分配的云计算任务,构建云任务分配模型;
    通过所述云任务分配模型和预设的蚁群算法,对所述云计算任务的分配进行第一预设数目次优化,生成所述第一预设数目个中间分配路径;
    通过预设的遗传算法对所述中间分配路径进行第二预设数目次进化,生成所述云计算任务的最优分配路径;
    将所述云计算任务按照所述最优分配路径分配给云环境中的虚拟机。
  2. 如权利要求1所述的方法,其特征在于,通过所述云任务分配模型和预设的蚁群算法,对所述云计算任务的分配进行第一预设数目次优化,生成所述第一预设数目个中间分配路径的步骤,包括:
    对所述任务分配模型中每个任务虚拟机配对节点间的信息素进行初始化,生成所述蚁群算法的信息素矩阵;
    通过所述蚁群算法的蚂蚁在所述任务虚拟机配对节点中生成相应路径,将所述每只蚂蚁相应路径中的局部最优路径设置为所述中间分配路径;
    根据所述任务分配模型中所述云计算任务在所述云环境的虚拟机上的运行时间,对所述每只蚂蚁相应路径上的信息素进行更新;
    判断所述蚁群算法的优化次数是否达到所述第一预设数目,是则完成所述蚁群算法的优化过程,否则跳转至通过所述蚁群算法的蚂蚁在所述任务虚拟机配对节点中生成相应路径的步骤。
  3. 如权利要求2所述的方法,其特征在于,对所述每只蚂蚁相应路径上的信息素进行更新的步骤之后,判断所述蚁群算法的优化次数是否达到所述第一预设数目的步骤之前,所述方法还包括:
    按照预设的最优路径信息素更新公式,通过经过所述局部最优路径的每只蚂蚁对所述局部最优路径上的信息素进行更新。
  4. 如权利要求1所述的方法,其特征在于,通过预设的遗传算法对所述中间分配路径进行第二预设数目次进化,生成所述云计算任务的最优分配路径的步骤,包括:
    对所述中间分配路径进行编码,以生成所述遗传算法的当前种群;
    根据预设的适应值函数对所述当前种群进行进化,生成下一代种群;
    判断所述遗传算法的进化次数是否达到所述第二预设数目,是则将所述下一代种群的最优个体设置为所述最优分配路径,否则将所述下一代种群设置为所述当前种群,跳转至根据预设的适应值函数对所述当前种群进行进化的步骤。
  5. 如权利要求4所述的方法,其特征在于,对所述中间分配路径进行编码的步骤,包括:
    对所述中间分配路径中的任务虚拟机配对节点进行排序,生成所述每个中间分配路径的虚拟机序列;
    将所述虚拟机序列设置为所述遗传算法中的种群个体,由所述种群个体构成所述当前种群。
  6. 一种云计算任务分配装置,其特征在于,所述装置包括:
    模型构建单元,用于当接收到用户的云任务分配请求时,根据所述云任务分配请求中待分配的云计算任务,构建云任务分配模型;
    蚁群优化单元,用于通过所述云任务分配模型和预设的蚁群算法,对所述云计算任务的分配进行第一预设数目次优化,生成所述第一预设数目个中间分配路径;
    遗传进化单元,用于通过预设的遗传算法对所述中间分配路径进行第二预设数目次进化,生成所述云计算任务的最优分配路径;以及
    任务分配单元,用于将所述云计算任务按照所述最优分配路径分配给云环境中的虚拟机。
  7. 如权利要求6所述的装置,其特征在于,所述蚁群优化单元包括:
    信息素初始化单元,用于对所述任务分配模型中每个任务虚拟机配对节点 间的信息素进行初始化,生成所述蚁群算法的信息素矩阵;
    路径生成单元,用于通过所述蚁群算法的蚂蚁在所述任务虚拟机配对节点中生成相应路径,将所述每只蚂蚁相应路径中的局部最优路径设置为所述中间分配路径;
    信息素更新单元,用于根据所述任务分配模型中所述云计算任务在所述云环境的虚拟机上的运行时间,对所述每只蚂蚁相应路径上的信息素进行更新;以及
    蚁群优化判断单元,用于判断所述蚁群算法的优化次数是否达到所述第一预设数目,是则完成所述蚁群算法的优化过程,否则触发所述路径生成单元执行通过所述蚁群算法的蚂蚁在所述任务虚拟机配对节点中生成相应路径的操作。
  8. 如权利要求6所述的装置,其特征在于,所述遗传进化单元包括:
    种群编码单元,用于对所述中间分配路径进行编码,以生成所述遗传算法的当前种群;
    种群进化单元,用于根据预设的适应值函数对所述当前种群进行进化,生成下一代种群;以及
    遗传进化判断单元,用于判断所述遗传算法的进化次数是否达到所述第二预设数目,是则将所述下一代种群的最优个体设置为所述最优分配路径,否则将所述下一代种群设置为所述当前种群,触发所述种群进化单元执行根据预设的适应值函数对所述当前种群进行进化的步骤。
  9. 一种云计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
  10. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
PCT/CN2018/083135 2018-04-11 2018-04-15 一种云计算任务分配方法、装置、设备及存储介质 WO2019196127A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020519124A JP6952190B2 (ja) 2018-04-11 2018-04-15 クラウドコンピューティングのタスク割り当て方法、装置、設備及び記憶媒体
US16/745,396 US11188382B2 (en) 2018-04-11 2020-01-17 Cloud computing task allocation method and device, apparatus, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810321267.9A CN108776612A (zh) 2018-04-11 2018-04-11 一种云计算任务分配方法、装置、设备及存储介质
CN201810321267.9 2018-04-11

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/745,396 Continuation US11188382B2 (en) 2018-04-11 2020-01-17 Cloud computing task allocation method and device, apparatus, and storage medium

Publications (1)

Publication Number Publication Date
WO2019196127A1 true WO2019196127A1 (zh) 2019-10-17

Family

ID=64033710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/083135 WO2019196127A1 (zh) 2018-04-11 2018-04-15 一种云计算任务分配方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US11188382B2 (zh)
JP (1) JP6952190B2 (zh)
CN (1) CN108776612A (zh)
WO (1) WO2019196127A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984697A (zh) * 2020-08-05 2020-11-24 河南省计量科学研究院 一种基于云计算的热量表计量系统及方法
CN112348250A (zh) * 2020-11-05 2021-02-09 紫金矿业集团股份有限公司 一种汽车衡无人值守称重系统
CN112653500A (zh) * 2020-12-16 2021-04-13 桂林电子科技大学 基于蚁群算法的面向低轨道卫星边缘计算任务调度方法
CN112734127A (zh) * 2021-01-20 2021-04-30 西北工业大学 一种基于动态蚁群劳动分工模型的多auv任务分配方法
CN113110472A (zh) * 2021-04-25 2021-07-13 深圳市跨越新科技有限公司 路径规划方法、装置和终端
CN114172867A (zh) * 2021-12-02 2022-03-11 国网山东省电力公司信息通信公司 一种基于ims的海量信令诊断系统及方法
CN114968554A (zh) * 2022-04-07 2022-08-30 西北大学 一种基于核函数映射方式的鲸鱼算法的工作流云调度方法
CN114995984A (zh) * 2022-07-19 2022-09-02 深圳市乐易网络股份有限公司 一种分布式超并发云计算系统
WO2022198754A1 (zh) * 2021-03-24 2022-09-29 苏州大学 一种大规模云服务流程的优化方法
CN115277445A (zh) * 2022-07-11 2022-11-01 北京理工大学 一种基于QoS目标的微服务系统调度优化方法
CN117370035A (zh) * 2023-12-08 2024-01-09 国网浙江省电力有限公司宁波供电公司 一种实时仿真计算资源的划分系统及方法
CN117573307A (zh) * 2023-11-13 2024-02-20 纬创软件(武汉)有限公司 云环境下多任务的统筹管理方法及系统

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110278153A (zh) * 2019-06-21 2019-09-24 田继忠 一种数据通道择取的装置及方法
CN112862134A (zh) * 2019-11-12 2021-05-28 北京中电普华信息技术有限公司 电力营销业务中台的业务调度方法及装置
CN111240804A (zh) * 2020-01-12 2020-06-05 桂林理工大学 一种基于资源管理的云数据中心成本优化方法
CN113497761A (zh) * 2020-03-20 2021-10-12 罗伯特·博世有限公司 车载设备和通信系统以及数据传输方法
CN111917818B (zh) * 2020-06-09 2023-07-25 东南大学 一种个性化服务需求的动态匹配方法
CN111813525B (zh) * 2020-07-09 2024-05-03 西北工业大学 一种异构系统工作流调度方法
WO2022006830A1 (zh) * 2020-07-10 2022-01-13 广东石油化工学院 一种多队列多集群的任务调度方法及系统
CN112085382A (zh) * 2020-09-08 2020-12-15 杭州海兴泽科信息技术有限公司 一种工单分配方法、装置、设备及计算机可读存储介质
CN112084033A (zh) * 2020-09-17 2020-12-15 南方电网数字电网研究院有限公司 多核系统的任务分配方法、装置、计算机设备和存储介质
CN112084035B (zh) * 2020-09-21 2024-04-30 西安理工大学 一种基于蚁群算法的任务调度方法及系统
CN112380645A (zh) * 2020-11-09 2021-02-19 上海海事大学 一种基于蚁群算法的螺旋输送机优化设计方法
CN112327858B (zh) * 2020-11-16 2024-03-26 中国人民解放军陆军防化学院 一种佩戴空气呼吸器人员执行既定任务的路径规划方法
CN112434779B (zh) * 2020-12-09 2023-11-21 哈尔滨工程大学 一种基于改进蚁群算法的紧耦合任务分配方法
CN112541627B (zh) * 2020-12-10 2023-08-01 赛可智能科技(上海)有限公司 一种电动物流车路径规划和性能优化方法、装置及设备
CN112883632B (zh) * 2021-01-13 2022-12-02 合肥工业大学 一种基于改进蚁群算法的锂电池等效电路模型参数辨识方法
CN113009821B (zh) * 2021-02-10 2022-08-19 上海海事大学 一种基于信息素初始分配和动态更新的蚁群算法优化方法
CN112883526B (zh) * 2021-03-15 2023-04-07 广西师范大学 一种任务延迟和可靠性约束下的工作负载分配方法
CN113160900A (zh) * 2021-05-24 2021-07-23 北京化工大学 基于蚁群算法高通量合成Ag基催化剂的优化路径获取方法
CN113778123B (zh) * 2021-08-24 2024-03-05 中国电子科技集团公司电子科学研究院 面向异构无人机集群的耦合多任务分配方法及装置
CN114900518A (zh) * 2022-04-02 2022-08-12 中国光大银行股份有限公司 有向分布式网络的任务分配方法、装置、介质及电子设备
CN114862065B (zh) * 2022-07-05 2022-09-23 杭州数询云知科技有限公司 社工任务规划方法、装置、电子设备及存储介质
CN117056089B (zh) * 2023-10-11 2024-02-06 创瑞技术有限公司 一种服务动态分配系统及方法
CN117319505B (zh) * 2023-11-30 2024-02-06 天勰力(山东)卫星技术有限公司 一种面向软件定义卫星共享网络的星上任务抢单系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (zh) * 2013-04-02 2013-10-09 江苏大学 云计算环境下基于遗传和蚁群的任务调度方法
CN106936892A (zh) * 2017-01-09 2017-07-07 北京邮电大学 一种自组织云多对多计算迁移方法及系统
CN107133095A (zh) * 2017-04-07 2017-09-05 北京科技大学 一种云环境下的任务调度方法
US20170329643A1 (en) * 2014-11-25 2017-11-16 Institute Of Acoustics, Chinese Academy Of Sciences Distributed node intra-group task scheduling method and system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080144074A1 (en) * 2006-10-18 2008-06-19 Jie Lin Workflow processing system
US8893130B2 (en) * 2007-03-26 2014-11-18 Raytheon Company Task scheduling method and system
JP2012517041A (ja) * 2009-02-05 2012-07-26 日本電気株式会社 遺伝的アプローチによる期限付きタスクの受付制御・スケジューリング方法、システムおよびプログラム
US7979578B2 (en) * 2009-09-02 2011-07-12 International Business Machines Corporation Dynamic and evolutionary placement in an event-driven component-oriented network data processing system
JP5773142B2 (ja) * 2011-06-22 2015-09-02 株式会社日立製作所 計算機システムの構成パターンの算出方法及び構成パターンの算出装置
US20130144887A1 (en) * 2011-12-03 2013-06-06 Medeolinx, LLC Integrative pathway modeling for drug efficacy prediction
CN103870317B (zh) * 2012-12-10 2017-07-21 中兴通讯股份有限公司 云计算中的任务调度方法及系统
US20170026305A1 (en) * 2015-07-23 2017-01-26 Schneider Electric It Corporation System to place virtual machines onto servers based upon backup runtime constraints
EP3637272A4 (en) * 2017-06-26 2020-09-02 Shanghai Cambricon Information Technology Co., Ltd DATA-SHARING SYSTEM AND RELATED DATA-SHARING PROCESS
CN110502330A (zh) * 2018-05-16 2019-11-26 上海寒武纪信息科技有限公司 处理器及处理方法
CN109426553A (zh) * 2017-08-21 2019-03-05 上海寒武纪信息科技有限公司 任务切分装置及方法、任务处理装置及方法、多核处理器
WO2019238128A1 (en) * 2018-06-14 2019-12-19 Shanghai United Imaging Healthcare Co., Ltd. Methods and systems for image processing
US20200265092A1 (en) * 2018-10-25 2020-08-20 The Government of the United States of America as Repesented by the Secretary of the Army Method and apparatus for the design and optimization of 3D frequency selective surfaces using evolutonary computing techniques
CN110851272B (zh) * 2019-10-30 2022-02-11 内蒙古农业大学 基于吞噬的粒子群遗传混合算法的云任务调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345657A (zh) * 2013-04-02 2013-10-09 江苏大学 云计算环境下基于遗传和蚁群的任务调度方法
US20170329643A1 (en) * 2014-11-25 2017-11-16 Institute Of Acoustics, Chinese Academy Of Sciences Distributed node intra-group task scheduling method and system
CN106936892A (zh) * 2017-01-09 2017-07-07 北京邮电大学 一种自组织云多对多计算迁移方法及系统
CN107133095A (zh) * 2017-04-07 2017-09-05 北京科技大学 一种云环境下的任务调度方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984697B (zh) * 2020-08-05 2023-05-16 河南省计量科学研究院 一种基于云计算的热量表计量系统及方法
CN111984697A (zh) * 2020-08-05 2020-11-24 河南省计量科学研究院 一种基于云计算的热量表计量系统及方法
CN112348250A (zh) * 2020-11-05 2021-02-09 紫金矿业集团股份有限公司 一种汽车衡无人值守称重系统
CN112653500B (zh) * 2020-12-16 2022-07-26 桂林电子科技大学 基于蚁群算法的面向低轨道卫星边缘计算任务调度方法
CN112653500A (zh) * 2020-12-16 2021-04-13 桂林电子科技大学 基于蚁群算法的面向低轨道卫星边缘计算任务调度方法
CN112734127A (zh) * 2021-01-20 2021-04-30 西北工业大学 一种基于动态蚁群劳动分工模型的多auv任务分配方法
WO2022198754A1 (zh) * 2021-03-24 2022-09-29 苏州大学 一种大规模云服务流程的优化方法
CN113110472A (zh) * 2021-04-25 2021-07-13 深圳市跨越新科技有限公司 路径规划方法、装置和终端
CN114172867A (zh) * 2021-12-02 2022-03-11 国网山东省电力公司信息通信公司 一种基于ims的海量信令诊断系统及方法
CN114172867B (zh) * 2021-12-02 2023-09-29 国网山东省电力公司信息通信公司 一种基于ims的海量信令诊断系统及方法
CN114968554A (zh) * 2022-04-07 2022-08-30 西北大学 一种基于核函数映射方式的鲸鱼算法的工作流云调度方法
CN114968554B (zh) * 2022-04-07 2024-03-19 西北大学 一种基于核函数映射方式的鲸鱼算法的工作流云调度方法
CN115277445A (zh) * 2022-07-11 2022-11-01 北京理工大学 一种基于QoS目标的微服务系统调度优化方法
CN115277445B (zh) * 2022-07-11 2023-08-15 北京理工大学 一种基于QoS目标的微服务系统调度优化方法
CN114995984B (zh) * 2022-07-19 2022-10-25 深圳市乐易网络股份有限公司 一种分布式超并发云计算系统
CN114995984A (zh) * 2022-07-19 2022-09-02 深圳市乐易网络股份有限公司 一种分布式超并发云计算系统
CN117573307A (zh) * 2023-11-13 2024-02-20 纬创软件(武汉)有限公司 云环境下多任务的统筹管理方法及系统
CN117573307B (zh) * 2023-11-13 2024-04-09 纬创软件(武汉)有限公司 云环境下多任务的统筹管理方法及系统
CN117370035A (zh) * 2023-12-08 2024-01-09 国网浙江省电力有限公司宁波供电公司 一种实时仿真计算资源的划分系统及方法
CN117370035B (zh) * 2023-12-08 2024-05-07 国网浙江省电力有限公司宁波供电公司 一种实时仿真计算资源的划分系统及方法

Also Published As

Publication number Publication date
JP6952190B2 (ja) 2021-10-20
US20200201677A1 (en) 2020-06-25
JP2020537231A (ja) 2020-12-17
US11188382B2 (en) 2021-11-30
CN108776612A (zh) 2018-11-09

Similar Documents

Publication Publication Date Title
WO2019196127A1 (zh) 一种云计算任务分配方法、装置、设备及存储介质
Wang et al. Distributed machine learning with a serverless architecture
US20220391771A1 (en) Method, apparatus, and computer device and storage medium for distributed training of machine learning model
Bacanin et al. Task scheduling in cloud computing environment by grey wolf optimizer
Pacini et al. Balancing throughput and response time in online scientific Clouds via Ant Colony Optimization (SP2013/2013/00006)
Gao et al. A multi-objective ant colony system algorithm for virtual machine placement in cloud computing
Almezeini et al. Task scheduling in cloud computing using lion optimization algorithm
Mateos et al. An ACO-inspired algorithm for minimizing weighted flowtime in cloud-based parameter sweep experiments
WO2021128805A1 (zh) 一种基于生成对抗强化学习的无线网络资源分配方法
Kaur et al. Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud
CN112084035B (zh) 一种基于蚁群算法的任务调度方法及系统
CN104461739B (zh) 一种基于cloudsim平台的虚拟机批量部署方法
Kalra et al. Multi‐criteria workflow scheduling on clouds under deadline and budget constraints
CN111176784B (zh) 一种基于极限学习机和蚁群系统的虚拟机整合方法
CN115330189A (zh) 一种基于改进飞蛾火焰算法的工作流优化调度方法
Strumberger et al. Dynamic tree growth algorithm for load scheduling in cloud environments
Jacob et al. Resource scheduling in cloud using bacterial foraging optimization algorithm
Awad et al. A swarm intelligence-based approach for dynamic data replication in a cloud environment
Infantia Henry et al. Hybrid meta‐heuristic algorithm for optimal virtual machine placement and migration in cloud computing
CN110743164B (zh) 一种用于降低云游戏中响应延迟的动态资源划分方法
CN109347900B (zh) 基于改进狼群算法的云服务系统自适应演化方法
CN116366658B (zh) 一种云计算负载均衡方法、系统
Shefu et al. Fruit fly optimization algorithm for network-aware web service composition in the cloud
Singhal et al. Greedy Shapley Client Selection for Communication-Efficient Federated Learning
Zhuang et al. A hyper-heuristic resource allocation algorithm for fog computing

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020519124

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

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 22.01.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18914169

Country of ref document: EP

Kind code of ref document: A1