(57)【特許請求の範囲】
【請求項１】
クラウドコンピューティングのタスク割り当て方法であって、前記方法には、
ユーザーからのクラウドタスク割り当てリクエストを受信すると、前記クラウドタスク割り当てリクエスト中の割り当て対象のクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築する工程と、
前記クラウドタスク割り当てモデル及び所定の蟻コロニー最適化を通して、前記クラウドコンピューティングタスクの割り当てに対して第１所定数の最適化を行い、前記第１所定数の中間割り当てパスを生成する工程と、
所定の遺伝的アルゴリズムを通して、前記中間割り当てパスに対して第２所定数の進化を行い、前記クラウドコンピューティングタスクの最適割り当てパスを生成する工程と、
前記最適割り当てパスに従い、前記クラウドコンピューティングタスクをクラウド環境中の仮想マシンに割り当てる工程と、を含むことを特徴とし、
前記クラウドタスク割り当てモデル及び所定の蟻コロニー最適化を通して、前記クラウドコンピューティングタスクの割り当てに対して第１所定数の最適化を行い、前記第１所定数の中間割り当てパスを生成する工程が、
前記タスク割り当てモデル中の各タスク仮想マシンペアノード間のフェロモンに対して初期化を行い、蟻コロニー最適化のフェロモン行列を生成し、
前記蟻コロニー最適化の蟻が前記タスク仮想マシンペアノード中で対応するパスを生成し、前記各蟻の対応するパス中の部分最適パスを前記中間割り当てパスとして設定し、
前記タスク割り当てモデル中、前記クラウドコンピューティングタスクの前記クラウド環境における仮想マシン上の実行時間に基づき、前記各蟻に対応するパス上のフェロモンを更新し、
前記蟻コロニー最適化の最適化回数が前記第１所定数に達したか否かを判断し、達した場合には前記蟻コロニー最適化の最適化過程を完了し、達していない場合には、前記蟻コロニー最適化の蟻が前記タスク仮想マシンペアノード中で対応するパスを生成する工程にジャンプすることを含むことを特徴とする、方法。
【請求項２】
前記各蟻に対応するパス上のフェロモンを更新する工程の後、前記蟻コロニー最適化の最適化回数が前記第１所定数に達したか否かを判断する工程の前において、
所定の最適パスフェロモン更新式に従い、前記部分最適パスを通過した各蟻により前記部分最適パス上のフェロモンを更新することをさらに含むことを特徴とする、請求項１に記載の方法。
【請求項３】
所定の遺伝的アルゴリズムを通して、前記中間割り当てパスに対して第２所定数の進化を行い、前記クラウドコンピューティングタスクの最適割り当てパスを生成する工程が、
前記中間割り当てパスに対してコーディングを行い、遺伝的アルゴリズムの現個体群を生成し、
所定の適応度関数に基づいて前記現個体群に対する進化を行い、次世代個体群を生成し、
前記遺伝的アルゴリズムの進化回数が前記第２所定数に達したか否かを判断し、達した場合には前記次世代個体群の最適個体を前記最適割り当てパスに設定し、達していない場合には前記次世代個体群を前記現個体群に設定して、所定の適応度関数に基づいて前記現個体群に対する進化を行う工程にジャンプすることを含むことを特徴とする、請求項１に記載の方法。
【請求項４】
前記中間割り当てパスに対してコーディングを行う工程が、
前記中間割り当てパス中のタスク仮想マシンペアノードに対してソートを行い、各前記中間割り当てパスの仮想マシンシーケンスを生成し、
前記仮想マシンシーケンスを前記遺伝的アルゴリズム中の個体群内個体に設定し、前記個体群内個体により前記現個体群を構成することを含むことを特徴とする、請求項３に記載の方法。
【請求項５】
クラウドコンピューティングのタスク割り当て装置であって、前記装置は、
ユーザーからのクラウドタスク割り当てリクエストを受信すると、前記クラウドタスク割り当てリクエスト中の割り当て対象のクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築するためのモデル構築ユニットと、
前記クラウドタスク割り当てモデル及び所定の蟻コロニー最適化を通して、前記クラウドコンピューティングタスクの割り当てに対して第１所定数の最適化を行い、前記第１所定数の中間割り当てパスを生成するための蟻コロニー最適化ユニットと、
所定の遺伝的アルゴリズムを通して、前記中間割り当てパスに対して第２所定数の進化を行い、前記クラウドコンピューティングタスクの最適割り当てパスを生成するための遺伝的進化ユニットと、
前記最適割り当てパスに従い、前記クラウドコンピューティングタスクをクラウド環境中の仮想マシンに割り当てるためのタスク割り当てユニットと、を含むことを特徴とし、
前記蟻コロニー最適化ユニットが、
前記タスク割り当てモデル中の各タスク仮想マシンペアノード間のフェロモンに対して初期化を行い、前記蟻コロニー最適化のフェロモン行列を生成するためのフェロモン初期化ユニットと、
前記蟻コロニー最適化の蟻が前記タスク仮想マシンペアノード中で対応するパスを生成し、前記各蟻の対応するパス中の部分最適パスを前記中間割り当てパスとして設定するためのパス生成ユニットと、
前記タスク割り当てモデル中、前記クラウドコンピューティングタスクの前記クラウド環境における仮想マシン上の実行時間に基づき、前記各蟻に対応するパス上のフェロモンを更新するためのフェロモン更新ユニットと、
前記蟻コロニー最適化の最適化回数が前記第１所定数に達したか否かを判断し、達した場合には前記蟻コロニー最適化の最適化過程を完了し、達していない場合には前記パス生成ユニットをトリガして、前記蟻コロニー最適化の蟻が前記タスク仮想マシンペアノード中で対応するパスを生成する操作を実行させる蟻コロニー最適化判断ユニットと、を含むことを特徴とする、装置。
【請求項６】
前記遺伝的進化ユニットが、
前記中間割り当てパスに対してコーディングを行い、前記遺伝的アルゴリズムの現個体群を生成するための個体群コーディングユニットと、
所定の適応度関数に基づいて前記現個体群に対する進化を行い、次世代個体群を生成するための個体群進化ユニットと、
前記遺伝的アルゴリズムの進化回数が前記第２所定数に達したか否かを判断し、達した場合には前記次世代個体群中の最適個体を前記最適割り当てパスに設定し、達していない場合には前記次世代個体群を前記現個体群に設定し、前記個体群進化ユニットをトリガして、所定の適応度関数に基づいて前記現個体群に対する進化を行う工程を実行させる遺伝的進化判断ユニットと、を含むことを特徴とする、請求項５に記載の装置。
【請求項７】
クラウドコンピューティング設備であって、ストレージ、プロセッサ及びストレージ中に記憶され且つ前記プロセッサ上で作動可能なコンピュータプログラムを含み、前記プロセッサが前記コンピュータプログラムを実行すると、請求項１から請求項４のいずれか１項に記載の方法の工程が実現されることを特徴とする設備。
【請求項８】
コンピュータ読取可能記憶媒体であって、前記コンピュータ読取可能記憶媒体はコンピュータプログラムを記憶し、前記コンピュータプログラムがプロセッサによって実行されると、請求項１から請求項４のいずれか１項に記載の方法の工程が実現されることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータ技術分野に属し、特にクラウドコンピューティングのタスク割り当て方法、装置、設備及び記憶媒体に関するものである。
【背景技術】
【０００２】
クラウドコンピューティングは、便利でフレキシブルな計算モデルの１つであり、ネットワークを通じてコンピュータリソース（ネットワーク、サーバー、ストレージ、アプリケーションサービスなど）にアクセスしたり使用したりすることができる共有プールである。そのコンセプトは、大量のコンピュータリソースを一元的に管理・ディスパッチして、それらのコンピュータリソースを日常生活における水のごとくネットワーク中に必要に応じて配分することである。クラウドコンピューティングのタスク割り当てとは、ユーザーがリクエストしたタスクの複雑さに応じて、限りあるクラウドコンピュータリソースの下で大量のスケジュール済みタスクに対する処理を行なうことをいう。
【０００３】
近年、クラウドコンピューティングのタスク割り当て方法に関する研究が発展を続けているが、その一方で従来のクラウドコンピューティングにおけるスケジューリング方法は性能が悪く、ユーザーから大量の独立タスクが提出された場合には、タスクの応答時間や完了時間を最大限短くすることが保証し難く、クラウドコンピューティングプラットフォームのサービス品質及びユーザーエクスペリエンスを保証することが難しかった。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、従来技術中のクラウドコンピューティングのタスク割り当て方法の性能が悪く、クラウドコンピューティングタスクの応答時間や完了時間を短くすることが保証し難いという問題を解決する、クラウドコンピューティングのタスク割り当て方法、装置、設備及び記憶媒体を提供することを目的としている。
【０００５】
本発明の一態様において、クラウドコンピューティングのタスク割り当て方法を提供するが、その方法は以下の工程を含む。
【０００６】
ユーザーからのクラウドタスク割り当てリクエストを受信すると、クラウドタスク割り当てリクエスト中の割り当て対象のクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築する。
【０００７】
クラウドタスク割り当てモデル及び所定の蟻コロニー最適化を通して、クラウドコンピューティングタスクの割り当てに対して第１所定数の最適化を行い、第１所定数の中間割り当てパスを生成する。
【０００８】
所定の遺伝的アルゴリズムを通して、中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成する。
【０００９】
最適割り当てパスに従い、クラウドコンピューティングタスクをクラウド環境中の仮想マシンに割り当てる。
【００１０】
本発明の別の一態様において、クラウドコンピューティングのタスク割り当て装置を提供するが、その装置は、
【００１１】
ユーザーからのクラウドタスク割り当てリクエストを受信すると、クラウドタスク割り当てリクエスト中の割り当て対象のクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築するための、モデル構築ユニットと、
【００１２】
クラウドタスク割り当てモデル及び所定の蟻コロニー最適化を通して、クラウドコンピューティングタスクの割り当てに対して第１所定数の最適化を行い、第１所定数の中間割り当てパスを生成するための、蟻コロニー最適化ユニットと、
【００１３】
所定の遺伝的アルゴリズムを通して、中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成するための、遺伝的進化ユニットと、
【００１４】
最適割り当てパスに従い、クラウドコンピューティングタスクをクラウド環境中の仮想マシンに割り当てるための、タスク割り当てユニットと、を含む。
【００１５】
本発明の別の一態様において、クラウドコンピューティング設備をさらに提供するが、それにはストレージ、プロセッサ及びストレージ中に記憶され且つプロセッサ上で実行可能なコンピュータプログラムを含み、プロセッサがコンピュータプログラムを実行すると、上述のクラウドコンピューティングのタスク割り当て方法で述べた工程が実現される。
【００１６】
本発明の別の一態様において、コンピュータ読取可能記憶媒体をさらに提供するが、コンピュータ読取可能記憶媒体はコンピュータプログラムを記憶し、コンピュータプログラムがプロセッサによって実行されると、上述のクラウドコンピューティングのタスク割り当て方法で述べた工程が実現される。
【００１７】
本発明は、クラウドタスク割り当てリクエスト中の割り当て対象のクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築し、クラウドタスク割り当てモデル及び蟻コロニー最適化を通してクラウドコンピューティングタスクの割り当てに対する最適化を行い、第１所定数の中間割り当てパスを生成し、遺伝的アルゴリズムを通して中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成し、最適割り当てパスに従ってクラウドコンピューティングタスクを仮想マシンに割り当てることで、ユーザーから大量の独立したクラウドコンピューティングタスクが提出された場合に、蟻コロニーと遺伝的アルゴリズムを組み合わせた混合型群知能アルゴリズムを通してクラウドコンピューティングのタスク割り当て性能を効果的に向上させることで、クラウドコンピューティングタスクの応答時間及び完了時間が短いことを保証し、クラウドコンピューティングプラットフォームのサービス品質及びユーザーエクスペリエンスを向上させている。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施例１で提供するクラウドコンピューティングのタスク割り当て方法のフローチャートである。
【図２】本発明の実施例２で提供するクラウドコンピューティングのタスク割り当て装置の構造概念図である。
【図３】本発明の実施例２で提供するクラウドコンピューティングのタスク割り当て装置の好ましい構造概念図である。
【図４】本発明の実施例３で提供するクラウドコンピューティング設備の構造概念図である。
【発明を実施するための形態】
【００１９】
本発明の目的、技術案及び優位点をより明解にするため、以下で図面及び実施例を基に本発明についてより詳細に説明する。ここに記述された具体的な実施例は本発明を説明するためのものに過ぎず、本発明を限定するものでは決してないことを理解されたい。
【００２０】
以下、具体的な実施例に基づき、本発明の具体的な実現について詳しく説明する。
【実施例１】
【００２１】
図１は本発明の実施例１で提供するクラウドコンピューティングのタスク割り当て方法のフローチャートを示しているが、説明の便宜上、本発明の実施例と関係する部分だけを示しており、詳細は以下の通りである。
【００２２】
工程Ｓ１０１では、ユーザーからのクラウドタスク割り当てリクエストを受信すると、クラウドタスク割り当てリクエスト中の割り当て対象のクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築する。
【００２３】
本発明はクラウドコンピューティングプラットフォームに適用でき、異なるユーザーからのクラウドタスク割り当てリクエストを受信した場合に、それらのクラウドタスク割り当てリクエスト中から割り当て対象のクラウドコンピューティングタスクを得て、それらのクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築することができる。クラウドタスク割り当てモデルの構築時には、クラウド環境中で複数の仮想マシンがホストに分布しているため、クラウドコンピューティングのタスク割り当てにおいてクラウドコンピューティングタスクがこれらの仮想マシンに割り当てられ、タスク仮想マシンペアを構築する過程を通してクラウドタスク割り当てモデルを構築することができる。
【００２４】
一例として、クラウドタスク割り当てリクエスト中から割り当て対象であるｍ個のクラウドコンピューティングタスク
0006952190.tif 000002
を得て、ｍ個のクラウドコンピューティングタスクをｎ個の仮想マシン
0006952190.tif 000003
上で実行し、タスク仮想マシンペア
0006952190.tif 000004
を形成し、
0006952190.tif 000005
を用いて各クラウドコンピューティングタスクの仮想マシン上における実行時間を表す。
【００２５】
工程Ｓ１０２では、クラウドタスク割り当てモデル及び所定の蟻コロニー最適化を通して、クラウドコンピューティングタスクの割り当てに対して第１所定数の最適化を行い、第１所定数の中間割り当てパスを生成する。
【００２６】
本発明の実施例では、第１所定数は所定の蟻コロニー最適化の最大反復回数（又は最大最適化回数）であり、タスク仮想マシンモデル中の各タスク仮想マシンペアには各々に対応するノードが設けられ、蟻コロニー最適化中の蟻コロニーはそれらのノード間において最適パスを探索する必要がある。先ず各タスク仮想マシンペアノード間のフェロモンに対する初期化を行って、蟻コロニー最適化におけるフェロモン行列を生成することができ、次に蟻コロニー最適化中の蟻にタスク仮想マシンペアノード中の対応するパスを歩かせることで、それらのパス中の部分最適パスを中間割り当てパスとして設定し、次にクラウドコンピューティングタスクの仮想マシン上で要する実行時間に基づいて蟻が通過した各パス上のフェロモンを更新し、フェロモンによって後続の蟻コロニー最適化過程を導けるようにすることができる。
【００２７】
選択的に、蟻コロニー最適化中の各蟻がタスク仮想マシンペアノード中の対応するパスを歩くとき、タスク仮想マシンペアノード中で次に歩くノードを所定の確率式によって選択するのが好ましく、これにより蟻コロニー最適化のパス探索性能が向上する。例えば、ｔ回目の最適化過程中、タスク仮想マシンペアノード
0006952190.tif 000006
が蟻ｋの探索可能タスクテーブル中にある場合、蟻ｋがタスク仮想マシンペアノード
0006952190.tif 000007
に辿り着く確率は：  
0006952190.tif 000008
であり、そのうち、
0006952190.tif 000009
は各々ｔ回目の最適化過程中のリソースのフェロモン濃度、リソースの固有属性（計算及び通信能力など）を表し、
0006952190.tif 000010
0006952190.tif 000011
は、それぞれフェロモンの重要度、リソースの固有属性の重要度を表し、
0006952190.tif 000012
はｔ回目の最適化過程中の蟻の探索可能タスクテーブルを表し、vmsは選択可能な仮想マシンである。ｔ回目の最適化過程中、タスク仮想マシンペアノード
0006952190.tif 000013
が蟻ｋの探索可能タスクテーブル中にない場合、蟻ｋがタスク仮想マシンペアノード
0006952190.tif 000014
に辿り着く確率は０である。
【００２８】
本発明の実施例における蟻コロニー最適化は、自然環境中の蟻コロニー現象をシミュレートするため、フェロモンの更新には蟻が通過する際に残すフェロモンを含めるだけでなく、フェロモンの自然蒸発も考慮に入れる必要がある。選択的に、フェロモン行列の更新式は：
0006952190.tif 000015
で表すのが好ましく、そのうちrhoは所定の蒸発因数であり、Deltaは蟻が通過する際に残すフェロモンを表し、
0006952190.tif 000016
であり、
0006952190.tif 000017
は所定の重みパラメータであり、
0006952190.tif 000018
は蟻が通過したパスにおける各仮想マシンの消費時間であり、
0006952190.tif 000019
は蟻が通過したパスにおける各仮想マシンの消費した時間のうち最長の消費時間であり、こうすることで、仮想マシンにおけるクラウドコンピューティングタスクの実行時間を基に各蟻に対応するパス上のフェロモンが更新され、フェロモンの更新精度が効果的に向上する。
【００２９】
さらに、各蟻が各自のパスを歩き終えた後、部分最適パスを通過した各蟻に所定の最適パスフェロモン更新式に従って部分最適パス上でもう一度フェロモンを放出させるのが好ましく、こうすることで全域パスにおける最適パスのフェロモンが間接的に増やされ、全域での最適パスを素早く見つける上で有利になる。一例として、最適パスフェロモン更新式中のフェロモンの更新値は：
0006952190.tif 000020
で表すことができ、そのうち、
0006952190.tif 000021
は所定の重みパラメータであり、
0006952190.tif 000022
は現在の最適な
0006952190.tif 000023
である。
【００３０】
本発明の実施例では、蟻コロニー最適化の最適化回数が第１所定数に達したか否かを判断し、達した場合には蟻コロニー最適化の最適化過程を完了し、第１所定数の中間割り当てパスを得て、達していない場合には引き続き蟻コロニー最適化の蟻にタスク仮想マシンペアノード中の対応するパスを歩かせる。
【００３１】
工程Ｓ１０３では、所定の遺伝的アルゴリズムを通して、中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成する。
【００３２】
本発明の実施例では、第２所定数は遺伝的アルゴリズムの最大反復回数（又は最大進化回数）であり、蟻コロニー最適化の各代の実行は長い時間を必要とし、遺伝的アルゴリズムの各代が費やす時間は短いため、第２所定数の値は第１所定数よりも大きく設定するのが好ましく、こうすることでクラウドコンピューティングのタスク割り当ての時間コストが減ると同時に、クラウドコンピューティングのタスク割り当ての効果が向上する。
【００３３】
本発明の実施例では、先ず蟻コロニー最適化によって得た中間割り当てパスに対してコーディングを行い、遺伝的アルゴリズムの現個体群を得ることができ、次に所定の適応度関数に基づいて現個体群に対する進化を行い、次世代個体群を生成して、遺伝的アルゴリズムの進化回数が第２所定数に達したか否かを判断し、達した場合には次世代個体群中の最適個体をクラウドコンピューティングのタスク割り当てにおける最適割り当てパスに設定し、達していない場合には次世代個体群を現個体群に設定して、引き続き現個体群に対する進化を行う。
【００３４】
選択的に、蟻コロニー最適化によって得た中間割り当てパスに対してコーディングを行う際に、各中間割り当てパス中のタスク仮想マシンペアノードに対してソートを行い、各中間割り当てパスの仮想マシンシーケンスを生成して、それらの仮想マシンシーケンスを遺伝的アルゴリズム中の現個体群の個体群内個体に設定するのが好ましく、こうすることでクラウドコンピューティングのタスク割り当てにおける蟻コロニー最適化と遺伝的アルゴリズムの結合が実現する。
【００３５】
選択的に、遺伝的アルゴリズムが実行する反復のユーザーコストを段階的により低くし、また完了時間をより速くするために、採用する適応度関数は：
0006952190.tif 000024
であるのが好ましく、そのうち、
0006952190.tif 000025
、ｒは所定の重みパラメータであり、ｒは時間と経済コストとの間の比重を制御するのに用いられ、
0006952190.tif 000026
はクラウドコンピューティングのタスク割り当て過程の経済コストである。一例として、
0006952190.tif 000027
の計算式は：
0006952190.tif 000028
で表すことができ、そのうち、
0006952190.tif 000029
は１つの仮想マシンのホスト数であり、
0006952190.tif 000030
は１つのホストの費用であり、
0006952190.tif 000031
はそれぞれクラウドコンピューティング環境中のメモリ費用、ストレージ費用及び帯域幅費用であり、
0006952190.tif 000032
はそれぞれクラウドコンピューティング環境中のメモリ容量、ストレージサイズ及び帯域幅の数である。
【００３６】
工程Ｓ１０４では、最適割り当てパスに従い、クラウドコンピューティングタスクをクラウド環境中の仮想マシンに割り当てる。
【００３７】
本発明の実施例では、最適割り当てパスを得た後に、最適割り当てパスに従い、すべてのクラウドコンピューティングタスクを仮想マシンに割り当てて、クラウドコンピューティングタスクの割り当てが完了する。実際の実験過程では、最適割り当てパスを得た後に、クラウドコンピューティングシミュレーションツール、クラウドコンピューティング環境の分散型システムシミュレータ（ＣｌｏｕｄＳｉｍツールなど）上でクラウドコンピューティング試験をシミュレートすることで、クラウドコンピューティングのタスク割り当ての研究・試験における障壁とコストを低減することができる。
【００３８】
本発明の実施例では、蟻コロニー最適化によりクラウドコンピューティングタスクの割り当てに対して最適化を行い、第１所定数の中間割り当てパスを生成し、遺伝的アルゴリズムにより中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成することにより、蟻コロニーと遺伝的アルゴリズムを組み合わせた混合型群知能アルゴリズムを通して蟻コロニー最適化の優れたロバスト性及び解探索性能と、遺伝的アルゴリズムの空間全域探索性能及び並行性とを統合し、クラウドコンピューティングのタスク割り当て性能を効果的に向上させて、クラウドコンピューティングタスクの応答時間及び完了時間が短いことを保証し、クラウドコンピューティングプラットフォームのサービス品質及びユーザーエクスペリエンスを向上させている。
【実施例２】
【００３９】
図２は本発明の実施例１で提供するクラウドコンピューティングのタスク割り当て装置の構造を示しているが、説明の便宜上、本発明の実施例と関係する部分だけを示しており、それには以下が含まれる。
【００４０】
モデル構築ユニット２１は、ユーザーからのクラウドタスク割り当てリクエストを受信すると、クラウドタスク割り当てリクエスト中の割り当て対象のクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築するためのものである。
【００４１】
本発明の実施例では、異なるユーザーからのクラウドタスク割り当てリクエストを受信した場合に、それらのクラウドタスク割り当てリクエスト中から割り当て対象のクラウドコンピューティングタスクを得て、それらのクラウドコンピューティングタスクに基づき、クラウドタスク割り当てモデルを構築することができる。クラウドタスク割り当てモデルの構築時には、クラウド環境中で複数の仮想マシンがホストに分布しているため、クラウドコンピューティングのタスク割り当てにおいてクラウドコンピューティングタスクがこれらの仮想マシンに割り当てられ、タスク仮想マシンペアを構築する過程を通してクラウドタスク割り当てモデルを構築することができる。
【００４２】
蟻コロニー最適化ユニット２２は、クラウドタスク割り当てモデル及び所定の蟻コロニー最適化を通して、クラウドコンピューティングタスクの割り当てに対して第１所定数の最適化を行い、第１所定数の中間割り当てパスを生成するためのものである。
【００４３】
本発明の実施例では、先ず各タスク仮想マシンペアノード間のフェロモンに対する初期化を行って、蟻コロニー最適化におけるフェロモン行列を生成することができ、次に蟻コロニー最適化中の蟻にタスク仮想マシンペアノード中の対応するパスを歩かせることで、それらのパス中の部分最適パスを中間割り当てパスとして設定し、次にクラウドコンピューティングタスクの仮想マシン上で要する実行時間に基づいて蟻が通過した各パス上のフェロモンを更新し、フェロモンによって後続の蟻コロニー最適化過程を導けるようにすることができる。
【００４４】
選択的に、蟻コロニー最適化中の各蟻がタスク仮想マシンペアノード中の対応するパスを歩くとき、タスク仮想マシンペアノード中で次に歩くノードを所定の確率式によって選択するのが好ましく、これにより蟻コロニー最適化のパス探索性能が向上する。
【００４５】
本発明の実施例における蟻コロニー最適化は、自然環境中の蟻コロニー現象をシミュレートするため、フェロモンの更新には蟻が通過する際に残すフェロモンを含めるだけでなく、フェロモンの自然蒸発も考慮に入れる必要がある。選択的に、フェロモン行列の更新式は：
0006952190.tif 000033
で表すのが好ましく、そのうち、rhoは所定の蒸発因数であり、Deltaは蟻が通過する際に残すフェロモンを表し、
0006952190.tif 000034
0006952190.tif 000035
は所定の重みパラメータであり、
0006952190.tif 000036
は蟻が通過したパスにおける各仮想マシンの消費した時間であり、
0006952190.tif 000037
は蟻が通過したパスにおける各仮想マシンの消費した時間のうち最長の消費時間であり、こうすることで、仮想マシンにおけるクラウドコンピューティングタスクの実行時間を基に各蟻に対応するパス上のフェロモンが更新され、フェロモンの更新精度が効果的に向上する。
【００４６】
さらに、各蟻が各自のパスを歩き終えた後、部分最適パスを通過した各蟻に所定の最適パスフェロモン更新式に従って部分最適パス上でもう一度フェロモンを放出させるのが好ましく、こうすることで全域パスにおける最適パスのフェロモンが間接的に増やされ、全域での最適パスを素早く見つける上で有利になる。
【００４７】
本発明の実施例では、蟻コロニー最適化の最適化回数が第１所定数に達したか否かを判断し、達した場合には蟻コロニー最適化の最適化過程を完了し、第１所定数の中間割り当てパスを得て、達していない場合には引き続き蟻コロニー最適化の蟻にタスク仮想マシンペアノード中の対応するパスを歩かせる。
【００４８】
遺伝的進化ユニット２３は、所定の遺伝的アルゴリズムを通して、中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成するためのものである。
【００４９】
本発明の実施例では、第２所定数は遺伝的アルゴリズムの最大反復回数（又は最大進化回数）であり、蟻コロニー最適化の各代の実行は長い時間を必要とし、遺伝的アルゴリズムの各代が費やす時間は短いため、第２所定数の値は第１所定数よりも大きく設定するのが好ましく、こうすることでクラウドコンピューティングのタスク割り当ての時間コストが減ると同時に、クラウドコンピューティングのタスク割り当ての効果が向上する。
【００５０】
本発明の実施例では、先ず蟻コロニー最適化によって得た中間割り当てパスに対してコーディングを行い、遺伝的アルゴリズムの現個体群を得ることができ、次に所定の適応度関数に基づいて現個体群に対する進化を行い、次世代個体群を生成して、遺伝的アルゴリズムの進化回数が第２所定数に達したか否かを判断し、達した場合には次世代個体群中の最適個体をクラウドコンピューティングのタスク割り当てにおける最適割り当てパスに設定し、達していない場合には次世代個体群を現個体群に設定して、引き続き現個体群に対する進化を行う。
【００５１】
選択的に、蟻コロニー最適化によって得た中間割り当てパスに対してコーディングを行う際に、各中間割り当てパス中のタスク仮想マシンペアノードに対してソートを行い、各中間割り当てパスの仮想マシンシーケンスを生成して、それらの仮想マシンシーケンスを遺伝的アルゴリズム中の現個体群の個体群内個体に設定するのが好ましく、こうすることでクラウドコンピューティングのタスク割り当てにおける蟻コロニー最適化と遺伝的アルゴリズムの結合が実現する。
【００５２】
選択的に、遺伝的アルゴリズムが実行する反復のユーザーコストを段階的により低くし、また完了時間をより速くするために、採用する適応度関数は：
0006952190.tif 000038
であるのが好ましく、そのうち、
0006952190.tif 000039
、ｒは所定の重みパラメータであり、ｒは時間と経済コストとの間の比重を制御するのに用いられ、
0006952190.tif 000040
はクラウドコンピューティングのタスク割り当て過程の経済コストである。一例として、
0006952190.tif 000041
の計算式は：
0006952190.tif 000042
で表すことができ、そのうち、
0006952190.tif 000043
は１つの仮想マシンのホスト数であり、
0006952190.tif 000044
は１つのホストの費用であり、
0006952190.tif 000045
はそれぞれクラウドコンピューティング環境中のメモリ費用、ストレージ費用及び帯域幅費用であり、
0006952190.tif 000046
はそれぞれクラウドコンピューティング環境中のメモリ容量、ストレージサイズ及び帯域幅の数である。
【００５３】
タスク割り当てユニット２４は、最適割り当てパスに従い、クラウドコンピューティングタスクをクラウド環境中の仮想マシンに割り当てるためのものである。
【００５４】
本発明の実施例では、最適割り当てパスを得た後に、最適割り当てパスに従い、すべてのクラウドコンピューティングタスクを仮想マシンに割り当てて、クラウドコンピューティングタスクの割り当てが完了する。実際の実験過程では、最適割り当てパスを得た後に、クラウドコンピューティングシミュレーションツール、クラウドコンピューティング環境の分散型システムシミュレータ（ＣｌｏｕｄＳｉｍツールなど）上でクラウドコンピューティング試験をシミュレートすることで、クラウドコンピューティングのタスク割り当ての研究・試験における障壁とコストを低減することができる。
【００５５】
選択的に、図３に示す通り、蟻コロニー最適化ユニット２２は、
【００５６】
タスク割り当てモデル中の各タスク仮想マシンペアノード間のフェロモンに対して初期化を行い、蟻コロニー最適化のフェロモン行列を生成するための、フェロモン初期化ユニット３２１と、
【００５７】
蟻コロニー最適化の蟻がタスク仮想マシンペアノード中で対応するパスを生成し、各蟻の対応するパス中の部分最適パスを中間割り当てパスとして設定するための、パス生成ユニット３２２と、
【００５８】
タスク割り当てモデル中、クラウドコンピューティングタスクのクラウド環境における仮想マシン上の実行時間に基づき、各蟻に対応するパス上のフェロモンを更新するための、フェロモン更新ユニット３２３と、
【００５９】
蟻コロニー最適化の最適化回数が第１所定数に達したか否かを判断し、達した場合には蟻コロニー最適化の最適化過程を完了し、達していない場合にはパス生成ユニット３２２をトリガして、蟻コロニー最適化の蟻がタスク仮想マシンペアノード中で対応するパスを生成する操作を実行させるための、蟻コロニー最適化判断ユニット３２４と、を含むのが好ましい。
【００６０】
選択的に、遺伝的進化ユニット２３は、
【００６１】
中間割り当てパスに対してコーディングを行い、遺伝的アルゴリズムの現個体群を生成するための、個体群コーディングユニット３３１と、
【００６２】
所定の適応度関数に基づいて現個体群に対する進化を行い、次世代個体群を生成するための、個体群進化ユニット３３２と、
【００６３】
遺伝的アルゴリズムの進化回数が第２所定数に達したか否かを判断し、達した場合には次世代個体群中の最適個体を最適割り当てパスに設定し、達していない場合には次世代個体群を現個体群に設定し、個体群進化ユニット３３２をトリガして、所定の適応度関数に基づいて現個体群に対する進化を行う工程を実行させる、遺伝的進化判断ユニット３３３と、を含むのが好ましい。
【００６４】
本発明の実施例では、蟻コロニー最適化によりクラウドコンピューティングタスクの割り当てに対して最適化を行い、第１所定数の中間割り当てパスを生成し、遺伝的アルゴリズムにより中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成することにより、蟻コロニーと遺伝的アルゴリズムを組み合わせた混合型群知能アルゴリズムを通して蟻コロニー最適化の優れたロバスト性及び解探索性能と、遺伝的アルゴリズムの空間全域探索性能及び並行性とを統合し、クラウドコンピューティングのタスク割り当て性能を効果的に向上させて、クラウドコンピューティングタスクの応答時間及び完了時間が短いことを保証し、クラウドコンピューティングプラットフォームのサービス品質及びユーザーエクスペリエンスを向上させている。
【００６５】
本発明の実施例では、クラウドコンピューティングのタスク割り当て装置の各ユニットは、対応するハードウェア又はソフトウェアユニットにより実現することができ、各ユニットは独立したソフト・ハードウェアユニットでもよいし、１つのソフト・ハードウェアユニットに統合してもよく、本発明では限定されない。
【実施例３】
【００６６】
図４は本発明の実施例３で提供するクラウドコンピューティング設備の構造を示しているが、説明の便宜上、本発明の実施例と関係する部分だけを示している。
【００６７】
本発明の実施例におけるクラウドコンピューティング設備４は、プロセッサ４０、ストレージ４１及びストレージ４１中に記憶され且つプロセッサ４０上で実行可能なコンピュータプログラム４２を含む。プロセッサ４０がコンピュータプログラム４２を実行すると、上述した方法の実施例中の、図１に示した工程Ｓ１０１〜Ｓ１０４などの工程が実現される。或いは、プロセッサ４０がコンピュータプログラム４２を実行すると、上述した装置の実施例中の、図２に示したユニット２１〜２４などの各ユニットの機能が実現される。
【００６８】
本発明の実施例では、蟻コロニー最適化によりクラウドコンピューティングタスクの割り当てに対して最適化を行い、第１所定数の中間割り当てパスを生成し、遺伝的アルゴリズムにより中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成することにより、蟻コロニーと遺伝的アルゴリズムを組み合わせた混合型群知能アルゴリズムを通して蟻コロニー最適化の優れたロバスト性及び解探索性能と、遺伝的アルゴリズムの空間全域探索性能及び並行性とを統合し、クラウドコンピューティングのタスク割り当て性能を効果的に向上させて、クラウドコンピューティングタスクの応答時間及び完了時間が短いことを保証し、クラウドコンピューティングプラットフォームのサービス品質及びユーザーエクスペリエンスを向上させている。
【実施例４】
【００６９】
本発明の実施例では、コンピュータ読取可能記憶媒体を提供するが、コンピュータ読取可能記憶媒体はコンピュータプログラムを記憶し、コンピュータプログラムがプロセッサによって実行されると、上述した方法の実施例中の、図１に示した工程Ｓ１０１〜Ｓ１０４などの工程が実現される。或いは、コンピュータプログラムがプロセッサによって実行されると、上述した装置の実施例中の、図２に示したユニット２１〜２４などの各ユニットの機能が実現される。
【００７０】
本発明の実施例では、蟻コロニー最適化によりクラウドコンピューティングタスクの割り当てに対して最適化を行い、第１所定数の中間割り当てパスを生成し、遺伝的アルゴリズムにより中間割り当てパスに対して第２所定数の進化を行い、クラウドコンピューティングタスクの最適割り当てパスを生成することにより、蟻コロニーと遺伝的アルゴリズムを組み合わせた混合型群知能アルゴリズムを通して蟻コロニー最適化の優れたロバスト性及び解探索性能と、遺伝的アルゴリズムの空間全域探索性能及び並行性とを統合し、クラウドコンピューティングのタスク割り当て性能を効果的に向上させて、クラウドコンピューティングタスクの応答時間及び完了時間が短いことを保証し、クラウドコンピューティングプラットフォームのサービス品質及びユーザーエクスペリエンスを向上させている。
【００７１】
本発明の実施例におけるコンピュータ読取可能記憶媒体は、コンピュータプログラムコードを携帯可能な任意の実体又は装置、記憶媒体でよく、例えばＲＯＭ／ＲＡＭ、磁気ディスク、光ディスク、フラッシュメモリなどのストレージである。
【００７２】
上述は本発明の好ましい実施例に過ぎず、本発明を限定するものではない。本発明の精神及び原則内において行われる何らかの修正、均等物による置換及び改良などはすべて本発明の保護範囲を逸脱しない。
【図１】
0006952190.tif 000047
【図２】
0006952190.tif 000048
【図３】
0006952190.tif 000049
【図４】
0006952190.tif 000050