(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-18
(54)【発明の名称】リソーススケジューリング方法、システム、電子デバイスおよびコンピュータ可読記憶媒体
(51)【国際特許分類】
H04L 47/125 20220101AFI20231011BHJP
H04L 65/1045 20220101ALI20231011BHJP
【FI】
H04L47/125
H04L65/1045
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023518479
(86)(22)【出願日】2021-09-15
(85)【翻訳文提出日】2023-03-22
(86)【国際出願番号】 CN2021118436
(87)【国際公開番号】W WO2022062981
(87)【国際公開日】2022-03-31
(31)【優先権主張番号】202011001012.8
(32)【優先日】2020-09-22
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(74)【代理人】
【識別番号】110002505
【氏名又は名称】弁理士法人航栄事務所
(72)【発明者】
【氏名】トン ヤオ
(72)【発明者】
【氏名】ワン ハイシン
【テーマコード(参考)】
5K030
【Fターム(参考)】
5K030GA13
5K030LC09
5K030LC11
5K030LE03
5K030MB02
(57)【要約】
本願は通信技術分野に関するものであり、また、仮装マシンに配置された複数のプロキシサーバのリソース利用率を取得するステップと、少なくとも1つの第1プロキシサーバを用いて少なくとも1つの第2プロキシサーバのリソースの占用を分担するステップと、を含み、少なくとも1つの第1プロキシサーバにおける各第1プロキシサーバのリソース利用率は第1閾値よりも小さく、少なくとも1つの第2プロキシサーバにおける各第2プロキシサーバのリソース利用率は第2閾値よりも大きく、且つ第1閾値は第2閾値よりも小さい、リソーススケジューリング方法を提供する。本願ではリソーススケジューリングシステム、電子デバイスおよびコンピュータ可読記憶媒体をさらに開示する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
仮装マシンに配置された複数のプロキシサーバのリソース利用率を取得するステップと、
少なくとも1つの第1プロキシサーバを用いて少なくとも1つの第2プロキシサーバのリソースの占用を分担するステップと、を含み、
前記少なくとも1つの第1プロキシサーバにおける各第1プロキシサーバのリソース利用率は第1閾値よりも小さく、前記少なくとも1つの第2プロキシサーバにおける各第2プロキシサーバのリソース利用率は第2閾値よりも大きく、且つ前記第1閾値は前記第2閾値よりも小さい
リソーススケジューリング方法。
【請求項2】
前記少なくとも1つの第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担する前に、前記方法は、
リソース利用率の低いものから高いものの順に、前記少なくとも1つの第1プロキシサーバを配列し、第1配列結果を得るステップをさらに含み、
前記少なくとも1つの第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担するステップは、
前記第1配列結果における前のn個(前記nは正の整数である)の第1プロキシサーバを確定するステップと、
前記前のn個の第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担するステップと、を含む
請求項1に記載のリソーススケジューリング方法。
【請求項3】
前記前のn個の第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担した後に、
前記少なくとも1つの第1プロキシサーバの数が前記nより大きいと判断したことに応じて、前記少なくとも1つの第1プロキシサーバにおける前記前のn個の第1プロキシサーバを除いたその他の第1プロキシサーバを回収するステップをさらに含む
請求項2に記載のリソーススケジューリング方法。
【請求項4】
前記少なくとも1つの第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担する前に、前記方法は、
前記少なくとも1つの第2プロキシサーバのリソース占有需要を予測するステップと、
リソース差分値の大きいものから小さいものの順で、前記少なくとも1つの第2プロキシサーバを配列して第2配列結果を得るステップと、を含み、
前記第2プロキシサーバのリソース差分値は、前記第2プロキシサーバのリソース占有需要の最大値と前記第2プロキシサーバのリソース占有需要の平均値との差分値であり、
前記少なくとも1つの第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担するステップは、
前記第2配列結果における前のm個(前記mは正の整数である)の第2プロキシサーバを確定するステップと、
前記少なくとも1つの第1プロキシサーバを用いて前のm個の第2プロキシサーバのリソースの占用を分担するステップと、を含む
請求項1に記載のリソーススケジューリング方法。
【請求項5】
前記少なくとも1つの第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担した後に、
前記少なくとも1つの第2プロキシサーバの数が前記mよりも大きいと判断したことに応じて、少なくとも1つの第3プロキシサーバを新たに生成するステップと、
前記少なくとも1つの第3プロキシサーバを用いて、前記少なくとも1つの第2プロキシサーバにおける前記前のm個の第2プロキシサーバを除いたその他の第2プロキシサーバのリソースの占用を分担するステップと、をさらに含む
請求項1に記載のリソーススケジューリング方法。
【請求項6】
前記少なくとも1つの第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担する前に、前記少なくとも1つの第2プロキシサーバのリソースを増やすステップをさらに含み、
前記少なくとも1つの第1プロキシサーバを用いて前記少なくとも1つの第2プロキシサーバのリソースの占用を分担するステップは、
リソース増加後の第2プロキシサーバのリソース利用率が依然として前記第2閾値よりも大きいと判断したことに応じて、前記少なくとも1つの第1プロキシサーバを用いて前記リソース増加後の第2プロキシサーバのリソースの占用を分担するステップを含む
請求項1に記載のリソーススケジューリング方法。
【請求項7】
前記リソースは帯域幅リソースであり、前記複数のプロキシサーバはクラウドビデオサービスを提供するためのものである
請求項1~6のいずれか1項に記載のリソーススケジューリング方法。
【請求項8】
前記リソースは処理リソースであり、且つ前記処理リソースはコンピューティングリソースとストレージリソースを含む
請求項1~6のいずれか1項に記載のリソーススケジューリング方法。
【請求項9】
スケジューリングサーバと複数のプロキシサーバを含み、前記複数のプロキシサーバは仮装マシンに配置され、前記スケジューリングサーバは、
前記複数のプロキシサーバのリソース利用率を取得し、
少なくとも1つの第1プロキシサーバを用いて少なくとも1つの第2プロキシサーバのリソースの占用を分担するように配置され、
前記少なくとも1つの第1プロキシサーバにおける各第1プロキシサーバのリソース利用率は第1閾値よりも小さく、前記少なくとも1つの第2プロキシサーバにおける各第2プロキシサーバのリソース利用率は第2閾値よりも大きく、且つ前記第1閾値は前記第2閾値よりも小さい
リソーススケジューリングシステム。
【請求項10】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されたメモリと、を含み、
前記メモリに、前記少なくとも1つのプロセッサによって実行可能な指令が記憶されており、前記指令が前記少なくとも1つのプロセッサにより実行されることで、前記少なくとも1つのプロセッサに請求項1~8のいずれか1項に記載のリソーススケジューリング方法を実行させることができる
電子デバイス。
【請求項11】
コンピュータプログラムが記憶されており、前記コンピュータプログラムがプロセッサによって実行される時に、請求項1~8のいずれか1項に記載のリソーススケジューリング方法を実現する
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年9月22日に中国特許庁へ提出された、出願番号を202011001012.8とする中国特許出願の優先権を主張し、当該出願のすべての内容を参照により本願に援用する。
【0002】
本願の実施例は通信技術分野に関するものである。
【背景技術】
【0003】
インターネットの普及とブロードバンドインフラの発展に伴い、ユーザのインターネット動画に対する需要も大きく伸びている。各インターネット動画サイトはすでに94%以上のインターネットユーザをカバーしており、情報、電子メール、インスタントメッセージング(Instant Messaging、IM)等とともにインターネットの基礎応用の1つとなっている。
【発明の概要】
【0004】
本願実施例の一態様は、仮装マシンに配置された複数のプロキシサーバのリソース利用率を取得するステップと、少なくとも1つの第1プロキシサーバを用いて少なくとも1つの第2プロキシサーバのリソースの占用を分担するステップと、を含み、少なくとも1つの第1プロキシサーバにおける各第1プロキシサーバのリソース利用率は第1閾値よりも小さく、少なくとも1つの第2プロキシサーバにおける各第2プロキシサーバのリソース利用率は第2閾値よりも大きく、且つ第1閾値は第2閾値よりも小さい、リソーススケジューリング方法を提供する。
【0005】
本願実施例のもう1つの様態は、スケジューリングサーバと複数のプロキシサーバを含み、複数のプロキシサーバは仮装マシンに配置され、スケジューリングサーバは、複数のプロキシサーバのリソース利用率を取得し、少なくとも1つの第1プロキシサーバを用いて少なくとも1つの第2プロキシサーバのリソースの占用を分担するように配置され、少なくとも1つの第1プロキシサーバにおける各第1プロキシサーバのリソース利用率は第1閾値よりも小さく、少なくとも1つの第2プロキシサーバにおける各第2プロキシサーバのリソース利用率は第2閾値よりも大きく、且つ第1閾値は第2閾値よりも小さい、リソーススケジューリングシステムを提供する。
【0006】
本願実施例のもう1つの様態は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信接続されたメモリと、を含み、メモリに、少なくとも1つのプロセッサによって実行可能な指令が記憶されており、指令が少なくとも1つのプロセッサにより実行されることで、少なくとも1つのプロセッサに本願実施例が提供するリソーススケジューリング方法を実行させることができる、電子デバイスを提供する。
【0007】
本願実施例のもう1つの様態は、コンピュータプログラムが記憶されており、コンピュータプログラムがプロセッサによって実行される時に、本願実施例が提供するリソーススケジューリング方法を実現する、コンピュータ可読記憶媒体を提供する。
【図面の簡単な説明】
【0008】
【
図1】
図1はリソーススケジューリング方法のフロー概略図である。
【
図2】
図2はリソーススケジューリング方法のフロー概略図である。
【
図3】
図3はリソーススケジューリングシステムのモジュール構造概略図である。
【
図4】
図4はリソーススケジューリングシステムのクラウドビデオサービスでの応用を示す図である。
【発明を実施するための形態】
【0009】
本願の実施例の目的、技術案、メリットをより明瞭にするために、以下では図面を組み合わせて本願の実施例について詳細に説明する。本願の実施例では、読者に本願をよりよく理解させるために多くの技術詳細を示しているが、これらの技術詳細と以下の各実施例に基づく種々の変化と修正がなくても、本願が請求する技術案を実現できると当業者は理解できる。以下の各実施例の区分は説明に便宜を図るためのものであり、本願の具体的な実現方式に対していかなる限定も構成せず、各実施例は矛盾しないことを前提として互いに組み合わせて、互いに引用することができる。
【0010】
従来のネットワークビデオサイトのビデオサービスはいずれも物理マシンに基づいて配置され、フロントエンドプロキシサーバを介してロードスケジューリングを行うものである。しかし、各ネットワークビデオサイトのリソース(例えば帯域幅、中央プロセッサ(Central Processing Unit、CPU)、メモリ等)の使用状況は変動するものであり、ピーク時に一部の物理マシンのリソース占有が多くなりすぎる場合があるため、サイトのサービス品質が有効に保証できず、ユーザ体験に影響を与える可能性がある。
【0011】
本願実施例の第1実施形態は、各プロキシサーバのリソース利用率を取得するリソーススケジューリング方法に関するものであり、プロキシサーバは仮装マシンに配置されるサーバであり、第1プロキシサーバを用いて第2プロキシサーバのリソースの占用を分担し、第1プロキシサーバはリソース利用率が第1閾値よりも小さいプロキシサーバであり、第2プロキシサーバはリソース利用率が第2閾値よりも大きいプロキシサーバであり、第1閾値は第2閾値よりも小さい。仮想化技術を通じてプロキシサーバのリソースを再度組み合わせ、リソース利用率の低いプロキシサーバを用いてリソース利用率の高いプロキシサーバの分担をし、リソースの柔軟な分配を実現することができ、さらには各プロキシサーバのリソース利用率を合理的な範囲内に維持することを保証し、サイトのサービス品質を効果的に保証し、ユーザ体験を向上させる。
【0012】
なお、第1実施形態が提供するリソーススケジューリング方法の実行主体は、各プロキシサーバに接続されたサービスエンドであってもよく、サービスエンドは、独立したサーバまたは複数のサーバからなるサーバクラスタで実現されてもよい。任意で、サービスエンドはアクセスサーバに接続されてもよく、アクセスサーバはクライアントに接続され、クライアントが発したリクエストを処理するためのものである。
【0013】
第1実施形態が提供するリソーススケジューリング方法の具体的なフローは
図1に示す通りであり、具体的に以下のステップS101とステップS102を含む。
【0014】
ステップS101では、各プロキシサーバのリソース利用率を取得し、プロキシサーバは仮想マシンに配置されたサーバである。
【0015】
プロキシサーバは仮想マシンが仮想化技術を通じて物理サーバから仮想化したサーバであり、物理サーバはプロキシサーバのホストであり、1台の物理サーバは1台以上の仮想化されたプロキシサーバに対応することができる。
【0016】
リソースは、プロキシサーバの帯域幅、計算(CPUまたはグラフィックスプロセッサ(Graphics Processing Unit、GPU)を含む)、メモリ(内部メモリを含む)リソース等を含んでもよく、リソース利用率は、リソースが占有される割合を指す。コンピューティングリソースとストレージリソースは処理リソースと総称してもよく、プロキシサーバの処理能力を表すものである。なお、第1実施形態において、プロキシサーバのリソースは、上記のリソースにおける少なくとも1つを指してもよい。
【0017】
任意で、プロキシサーバのリソースは帯域幅リソースであり、プロキシサーバはクラウドビデオサービスを提供するためのサーバである。
【0018】
ステップS102では、第1プロキシサーバを用いて第2プロキシサーバのリソースの占用を分担し、第1プロキシサーバはリソース利用率が第1閾値よりも小さいプロキシサーバであり、第2プロキシサーバはリソース利用率が第2閾値よりも大きいプロキシサーバであり、第1閾値は第2閾値よりも小さい。
【0019】
第1閾値と第2閾値は実際の経験または実際の状況に応じて設置することができ、例えば、第1閾値は20%、30%または40%等、第2閾値は70%、80%または90%等であってもよい。
【0020】
具体的な例では、第1プロキシサーバを用いて第2プロキシサーバのリソースの占有を分担した後、残りの第1プロキシサーバが存在する場合、残りの第1プロキシサーバを回収する。第1プロキシサーバはリソース利用率の低いプロキシサーバであるため、残りの第1プロキシサーバを回収することで、プロキシサーバの数を減らし、仮想リソースを節約することができる。任意で、残りの第1プロキシサーバを移行させて他のテナントに用いてもよい。
【0021】
任意で、リソース利用率が第1閾値と第2閾値との間にあるプロキシサーバを処理しなくてもよく、第1プロキシサーバが第2プロキシサーバのリソースの占有を分担するのに十分でない場合、当該プロキシサーバの一部を用いて第2プロキシサーバのリソースを分担してもよい。任意で、第1プロキシサーバを用いて第2プロキシサーバのリソースの占有を分担した後も、一部の第2プロキシサーバのリソース占有が分担されていない場合は、少なくとも1つのプロキシサーバを新たに生成し、新たに生成したプロキシサーバを用いて当該第2プロキシサーバのリソース占有を一部分担する。プロキシサーバを新たに生成する時に、第2プロキシサーバの近傍位置で優先的に生成し、例えば、第2プロキシサーバと同一のホスト(物理サーバ)で優先的に生成するか、または第2プロキシサーバのホストに隣接する物理サーバで新たに生成することができる。
【0022】
任意で、第1プロキシサーバを用いて第2プロキシサーバのリソースの占有を分担する前に、先に第2プロキシサーバのリソースを増やしてもよい。一方、第1プロキシサーバを用いて第2プロキシサーバのリソースの占有を分担すると、増加後の第2プロキシサーバのリソース利用率が依然として第2閾値よりも大きい場合に、第1プロキシサーバをさらに用いて、リソース増加後の第2プロキシサーバのリソースの占有を分担するということが含まれる。
【0023】
具体的には、仮想化技術により、テナント割当の許容範囲内で第2プロキシサーバのリソースを先に増やすことができる。例えば、ある第2プロキシサーバの割当が20Mの帯域幅であるが、現在10Mしかない場合、まず当該第2プロキシサーバの帯域幅を20Mの帯域幅に設定し、リソースを増やした後の当該第2プロキシサーバのリソース利用率を取得し、リソースを増やした後のリソース利用率が第2閾値以下であれば、当該プロキシサーバを第2プロキシサーバのリストから除去する。リソースを増やした後もリソース利用率が依然として第2閾値よりも大きい場合、第1プロキシサーバを用いて当該第2プロキシサーバのリソース利用率を分担する。
【0024】
任意で、第1プロキシサーバを用いて第2プロキシサーバのリソースの占用を分担する時には、第1プロキシサーバをランダムに選択して第2プロキシサーバのリソースの占用を分担することができる。
【0025】
具体的な例において、ステップS102の前に、第1実施形態におけるリソーススケジューリング方法は、第1プロキシサーバのリソース利用率が低いものから高いものの順で、各第1プロキシサーバを配列するというステップをさらに含む。ステップS102において、第1プロキシサーバを用いて第2プロキシサーバのリソースの占用を分担するステップは、配列結果における前のn個の第1プロキシサーバを選択して第2プロキシサーバのリソース占用を分担するステップを含み、nは正の整数である。
【0026】
例えば、第1プロキシサーバのリソース利用率を低いものから高いものへと1つのキューに並べ、キューの先頭(即ち、リソース利用率の低いもの)から第1プロキシサーバを選択して第2プロキシサーバのリソース占有を分担する。
【0027】
なお、リソース利用率は随時変動するものであり、リソース利用率の低い第1プロキシサーバを選択して第2プロキシサーバのリソースの占有を分担することにより、プロキシサーバをより十分にリソースの占有に対応させ、サービスの品質を保証することができる。このほか、配列結果における前のn個の第1プロキシサーバの選択には、配列結果における前のn個の第1プロキシサーバを優先的に選択することを含んでよく、即ち、分担するための第1プロキシサーバを選択する時に、配列結果における前のn個の第1プロキシサーバを優先的に選択し、配列結果における前のn個の第1プロキシサーバが第2プロキシサーバのリソースの占有を分担するのに十分でない時に、配列結果における前のn個の第1プロキシサーバ以外の第1プロキシサーバを選択して分担してもよい。
【0028】
同様に、第2プロキシサーバのリソース利用率の高いものから低いものの順で各第2プロキシサーバを配列し、第1プロキシサーバを用いてリソース利用率が高い第2プロキシサーバのリソースの占用を優先的に分担してもよい。
【0029】
第1実施形態におけるリソーススケジューリング方法によれば、仮想マシン上のプロキシサーバのリソース利用率を取得し、リソース利用率の低いプロキシサーバを用いてリソース利用率の高いプロキシサーバの分担をし、仮想化技術によりプロキシサーバのリソースを再度組み合わせることにより、リソース全体の柔軟な割当を実現することができ、さらには各プロキシサーバのリソース利用率を合理的な範囲内に維持することを保証し、サーバ(Webサイト)のサービス品質を効果的に保証し、ユーザ体験を向上させる。
【0030】
本願実施例の第2実施形態はリソーススケジューリング方法に関するものである。第2実施形態は第1実施形態とほぼ同一であり、主な相違点は、第2実施形態において、さらに第2プロキシサーバのリソース占有需要を予測し、リソース占有需要の状況に応じてプロキシサーバのリソース占有の分担を行うというものである。
【0031】
第2実施形態が提供するリソーススケジューリング方法の具体的なフローは、
図2に示す通りであり、具体的に以下のステップS201~ステップS204を含む。
【0032】
ステップS201では、各プロキシサーバのリソース利用率を取得し、プロキシサーバは仮想マシンに配置されたサーバである。
【0033】
ステップS201は、第1実施形態におけるステップS101と同一であり、具体的に第1実施形態における関連記載を参照することができ、ここでは改めて説明しない。
【0034】
ステップS202では、各第2プロキシサーバのリソース占有需要を予測する。
【0035】
リソース占有需要とは、プロキシサーバに発生する可能性のあるリソース利用率を指し、例えば、あるプロキシサーバのピーク時のリソース利用率が90%、オフピーク時のリソース利用率が20%である場合、当該プロキシサーバのリソース占有需要は20~90%である。
【0036】
任意で、各第2プロキシサーバのリソース利用率の履歴データに基づいてリソース占有需要を予測してもよく、例えば1ヶ月以内のリソース利用率の履歴データを選択して予測することができ、具体的に選択する履歴データの時間範囲は実際の必要に応じて設定することができ、ここでは具体的な制限を行わない。
【0037】
ステップS203では、第2プロキシサーバのリソース差分値の大きいものから小さいものの順で各第2プロキシサーバを配列し、リソース差分値はリソース占有需要の最大値とリソース占有需要の平均値との差分値である。
【0038】
任意で、リソース占有需要の最大値は履歴データにおける最大値であってもよく、履歴データのピーク時の平均値であってもよく、また履歴データに基づいて一定の修正を行った後に得ることができる。リソース占有需要の平均値は履歴データの平均値でもよく、ピーク時の履歴データとオフピーク時の履歴データの加重平均であってもよく、具体的に実際の需要に応じて具体的に設定することができ、ここでは具体的な制限をしない。
【0039】
ステップS204では、第1プロキシサーバを用いて配列結果における前のm個の第2プロキシサーバのリソースの占有を分担し、mは正の整数である。
【0040】
なお、リソースの差分値が大きい時には、第2プロキシサーバが高いリソース利用率にある可能性があり、これらの第2プロキシサーバのリソース利用率が効果的に分担されることを保証する必要があるということを表す。第1プロキシサーバを用いて配列結果における前のm個の第2プロキシサーバのリソースの占有を分担する時には、第1プロキシサーバを用いて配列結果における前のm個の第2プロキシサーバのリソースの占有を優先的に分担してもよく、第1プロキシサーバが配列結果における前のm個の第2プロキシサーバのリソースの占有を分担するに足るものである時には、第1プロキシサーバを用いてその他の第2プロキシサーバのリソースの占有を分担することもできる。
【0041】
具体的な例では、リソース占有需要の平均値が第2閾値より大きいプロキシサーバを第2プロキシサーバとすることで、第2プロキシサーバの区分をより安定させる。
【0042】
任意で、リソース占有需要の最大値に基づいて第2プロキシサーバを配列し、第1プロキシサーバを用いてリソース占有需要の最大値が大きい第2プロキシサーバのリソースの占有を優先的に分担してもよい。
【0043】
なお、リソースは複数種類であってもよいため、実際の応用ではリソースに基づいて分類し、分類後のプロキシサーバに基づいて第1実施形態および/または第2実施形態における方法を用いてリソースのスケジューリングを行うことができる。本願が提供するリソーススケジューリング方法をより明瞭に説明するために、以下ではプロキシサーバを6つの種類に分け、応用シーンがクラウドビデオサービス(即ち、帯域幅リソースに着目する)であることを例として説明する。
【0044】
キュー1:プロキシサーバの帯域幅リソース利用率が低すぎ、処理リソース利用率が正常(帯域幅リソース利用率が20%未満、CPU、メモリ、ストレージの平均リソース利用率が20~80%)である場合、第1プロキシサーバとし、その他のプロキシサーバが分担するリソースプールとすることができる。
【0045】
スケジューリング方法:プロキシサーバを帯域幅リソース利用率の昇順で並べ、帯域幅リソース利用率の低いプロキシサーバを優先的に選択して分担する。
【0046】
キュー2:プロキシサーバの帯域幅リソース利用率は正常であり、処理リソース利用率は安定する(帯域幅リソース利用率は20%~80%、CPU、メモリ、ストレージの平均リソース利用率は20%~80%である)。
【0047】
スケジューリング方法:このキューに対して処理しない。
【0048】
キュー3:プロキシサーバの帯域幅リソース利用率が高すぎ、処理リソース利用率が正常(帯域幅リソース利用率が80%を超え、CPU、メモリ、ストレージの平均リソース利用率が20~80%)であり、第2プロキシサーバとすることができる。
【0049】
スケジューリング方法:キュー1におけるプロキシサーバの分担をするように選択することができる。そうでない場合は、許容範囲にプロキシサーバの帯域幅リソースを増やすか、またはサービスエンドへ仮想マシンの移行実行を請求するか、あるいは、キュー3のプロキシサーバの近傍位置で新しいプロキシサーバの生成を試みて分担する。
【0050】
キュー4:プロキシサーバのリソース利用率が高すぎ、処理リソース利用率が高すぎ(帯域幅リソース利用率が80%を超え、CPU、メモリ、ストレージの平均リソース利用率が80%を超える)、第2プロキシサーバとすることができる。
【0051】
スケジューリング方法:割当許容範囲にプロキシサーバの帯域幅リソースを増やし、分配終了後のプロキシサーバのリソース利用率がキュー6のプロキシサーバに近づくようにする。帯域幅リソースが増加した後もプロキシサーバのリソース利用率が高すぎる場合、履歴データに基づいて各プロキシサーバの帯域幅、CPU、メモリ、ストアリソース占有需要を予測し、プロキシサーバを予測最大値(リソース占有需要最大値)と予測平均値(リソース占有需要平均値)の差分値を降順で並べ、その後キュー1からリソース利用率が最も低いプロキシサーバを選択して分担し、キュー6におけるプロキシサーバのリソース利用率に近づけることを目標とする。キュー1に適切なプロキシサーバがなければ、プロキシサーバの近傍位置に新しいプロキシサーバを生成して分担するようリクエストし、分担後の新しいプロキシサーバをキュー1に加え、もとのプロキシサーバをキュー6に加える。
【0052】
キュー5:プロキシサーバのリソース利用率が低すぎ、処理リソース利用率が高すぎ(帯域幅リソース利用率が20%未満、CPU、メモリ、ストレージの平均リソース利用率が80%を超える)、第1プロキシサーバとすることができる。
【0053】
スケジューリング方法:帯域幅予測需要の最大値が実際の占有値より高いプロキシサーバを降順で並べ、残りのプロキシサーバをキュー1に加え、キュー1の末尾から物理位置が近いプロキシサーバを選択してキュー1の先頭のプロキシサーバを分担する。例えば、キュー5にリソースが足りない場合は、キュー1からプロキシサーバを選択して分配する。
【0054】
キュー6:プロキシサーバのリソース利用率は正常であり、処理リソース利用率が高すぎる(即ち、帯域幅リソース利用率は20%~80%であり、CPU、メモリ、ストレージの平均リソース利用率は80%を超える)。
【0055】
スケジューリング方法:履歴データに基づいて各プロキシサーバの帯域幅占有需要を予測し、プロキシサーバを帯域幅リソース占有需要の最大値と帯域幅リソース占有需要の平均値の差分値に従って昇順で並べ、キュー1から帯域幅リソース利用率の低いプロキシサーバを順番に選出してこれらのプロキシサーバの分担をする。キュー1においてリソースが不足する場合は、キューの最後の少なくとも1つのプロキシサーバの近傍位置に新しいプロキシサーバの負荷分担を確立するようリクエストし、キュー1に加えて引き続き分配する。分配完了後、キュー1のプロキシサーバに残りのリソースが残っている場合は、残りのリソースとキュー4、6におけるプロキシサーバを関連付けて予備とすることができる。残りのプロキシサーバに対しては、配置により仮想リソースを減らすか、または残りのプロキシサーバに対して移行、シャットダウン等の操作を行うことができる。
【0056】
第2実施形態におけるリソーススケジューリング方法によれば、第2プロキシサーバのリソース占有需要を予測し、第1プロキシサーバの配列結果におけるリソース差分値が大きい第2プロキシサーバのリソース占有を分担することにより、リソース占有に大きな変化が生じる可能性のある第2プロキシサーバのリソースを保証することができ、リソースのスケジューリングをさらに最適化し、プロキシサーバのサービス品質の安定性を向上させることができる。
【0057】
このほか、上記の各種の方法のステップ区分は、明確に説明するためのものに過ぎず、実現時に1つのステップに統合するか、あるステップを複数のステップに分けることができ、同じ論理関係を含む限り、みな本願の請求範囲内にあり、アルゴリズムにおいてもプロセスにおいても、重要ではない修正を追加するか、重要でない設計を導入するが、アルゴリズムとプロセスの核心的な設計を変更しないものは全て本願の請求範囲内にあるということを当業者は理解できる。
【0058】
本願実施例の第3実施形態はリソーススケジューリングシステム300に関するものであり、
図3に示すように、スケジューリングサーバ301と複数のプロキシサーバ302とを含み、プロキシサーバ302は仮想マシンに配置されたサーバである。
【0059】
スケジューリングサーバ301は、各プロキシサーバのリソース利用率を取得し、第1プロキシサーバを用いて第2プロキシサーバのリソースの占用を分担するように配置され、第1プロキシサーバはリソース利用率が第1閾値よりも小さいプロキシサーバであり、第2プロキシサーバはリソース利用率が第2閾値よりも大きいプロキシサーバであり、第1閾値は第2閾値よりも小さい。
【0060】
さらに、スケジューリングサーバ301は、第1プロキシサーバのリソース利用率が低いものから高いものの順で各第1プロキシサーバを配列し、配列結果における前のn個の第1プロキシサーバが第2プロキシサーバのリソース占有を分担するために選択するようにさらに構成され、nは正の整数である。
【0061】
さらに、スケジューリングサーバ301は、残りの第1プロキシサーバが存在する場合に、残りの第1プロキシサーバを回収するようにさらに構成される。
【0062】
さらに、スケジューリングサーバ301は、各第2プロキシサーバのリソース占有需要を予測し、第2プロキシサーバのリソース差分値の大きいものから小さいものの順で、第2プロキシサーバを配列し、リソース差分値は、リソース占有需要の最大値とリソース占有需要の平均値との差分であり、第1プロキシサーバを用いて配列結果における前のm個の第2のプロキシサーバのリソースの占有を分担するようにさらに配置され、mは正の整数である。
【0063】
さらに、スケジューリングサーバ301は、第2プロキシサーバのリソース占有が分担されていないことが存在する場合には、少なくとも1つのプロキシサーバを新たに生成し、新たに生成されたプロキシサーバを用いて第2プロキシサーバのリソース占有を分担するようにさらに構成される。
【0064】
さらに、スケジューリングサーバ301は、第2プロキシサーバのリソースを増やし、増加後の第2プロキシサーバのリソース利用率が依然として第2閾値よりも大きい場合、第1プロキシサーバを用いてリソース増加後の第2プロキシサーバのリソースの占有を分担するようにさらに構成される。
【0065】
さらに、リソースは帯域幅リソースであり、プロキシサーバはクラウドビデオサービスを提供するためのサーバである。
【0066】
さらに、リソースは処理リソースであり、処理リソースはコンピューティングリソースとストレージリソースを含む。
【0067】
図4を参照されたい。これは第3実施形態が提供するリソーススケジューリングシステムをクラウドビデオサービスに適用する例を示す図であり、スケジューリングサーバ301は
図4の監視サーバである。具体的に
図4では、リソーススケジューリングシステム300のスケジューリングサーバ301(監視サーバ)とプロキシサーバのほか、クライアント、アクセスサーバ、ディレクトリサーバ、コンテンツサーバ及びエンコード変換サーバを含む。物理サーバ群は仮想サーバ群のホストである。クライアントは、コンピュータ、テレビ、または携帯電話等のデジタル端末であってもよく、無線ネットワーク、有線テレビネットワーク、またはインターネットを介してアクセスサーバに接続され、クラウドネットワークのビデオサービスを取得するためのものである。センタークラウドはディレクトリサーバとコンテンツサーバにより構成され、ディレクトリサーバはプロキシクラウドにビデオオブジェクトの照会サービスを提供し、コンテンツサーバにはすべてのビデオオブジェクトの完全なバックアップが記憶されている。ニアクライアントプロキシクラウドはアクセスサーバ、監視サーバ、プロキシサーバ、エンコード変換サーバによって構成される。アクセスサーバはクライアントとしてプロキシクラウドにサービスのインタフェースをリクエストし、クライアントのサービスリクエストを受信し、監視サーバへ、サービスを提供できるプロキシサーバのリストとそれぞれの実行状態を取得し、適切なプロキシサーバを選択してクライアントと接続を確立してサービスを提供する。監視サーバは各プロキシサーバにおけるビデオリソースの分布情報を収集し、クライアントにビデオリソース照会サービスを提供するためのものであり、本願の第1実施形態と第2実施形態が提供するリソーススケジューリング方法を用いて、各プロキシサーバの運行状態情報を収集するとともに、各プロキシサーバを負荷のバランスが取れた状態にし、リソース分配をスケジューリングし、即ち、クライアントデータリクエストについて、サービスを提供するサーバと関連仮想リソースのスケジューリングを選択する。エンコード変換サーバは専用の物理サーバにより担当され、プロバイダやユーザがアップロードした異なる符号方式のビデオオブジェクトを、クラウドネットワークのビデオサービスプラットフォームの符号方式に適合するビデオオブジェクトに変換する。
【0068】
図5を参照されたい。これは
図4においてクライアントがビデオサービスを取得する時のフロー概略図であり、具体的なフローは以下の通りである。1、クライアントはインターネットを介してクラウドにおけるアクセスサーバに接続され、ビデオサービスリクエスト(ビデオオブジェクトを含む)を提出する。2、アクセスサーバは監視サーバから、クライアントにサービスを提供できるプロキシサーバのリストを取得する。3、監視サーバが、クライアントにサービスを提供できるプロキシサーバを検索し、例えばプロキシクラウド内にクライアントがリクエストするリソースがない場合、センタークラウドのディレクトリサーバへリソースを照会し、そうでなければ、ステップ6に移行する。4、センタークラウドのディレクトリサーバは、クライアントが必要とするデータが保存されているコンテンツサーバを探して選択する。5、コンテンツサーバは必要なリソースをプロキシクラウドにおけるプロキシサーバ(例えば、第1プロキシサーバであってもよい)に転送する。6、監視サーバは把握しているプロキシサーバのリソースと運行状態情報に基づいて、第1プロキシサーバをクライアントサービスとして選択するとともに、各プロキシサーバのリソース利用率のバランスを取り、選択完了後、サービス情報をアクセスサーバに戻す。7、アクセスサーバはプロキシサーバとクライアントの接続を確立する。8、プロキシサーバはクライアントのデータリクエストに応答する。9、クライアントはデータの一部を受信して再生を開始し、残りのデータを引き続きリクエストする。
【0069】
第3実施形態は、第1実施形態及び第2実施形態に対応するシステム実施形態であり、第3実施形態は、第1実施形態及び第2実施形態と互いに組み合わせて実施することができると難なく見出せる。第1実施形態及び第2実施形態で言及した関連技術の詳細は、第3実施形態において依然として有効であり、重複を回避するために、ここでは改めて説明しない。これに応じて、第3実施形態で言及した関連技術の詳細も、第1実施形態および第2実施形態に適用することができる。
【0070】
特筆すべきは、第3実施形態に係る各モジュールはすべて論理モジュールであり、実際の応用において、論理ユニットは物理ユニットであってもよく、物理ユニットの一部であってもよく、複数の物理ユニットの組み合わせで実現されてもよいという点である。このほか、本開示の革新的な部分を際立たせるために、第3実施形態では、本願が示す技術問題を解決する、関係があまり緊密でないユニットを導入していないが、これは、第3実施形態にその他のユニットが存在しないことを意味しない。
【0071】
本願実施例の第4実施形態は電子デバイスに関するものであり、
図6に示すように、少なくとも1つのプロセッサ402と、少なくとも1つのプロセッサ402と通信接続されたメモリ401とを含む。メモリ401には、少なくとも1つのプロセッサ402により実行可能な指令が記憶されており、指令が少なくとも1つのプロセッサ402により実行されることで、少なくとも1つのプロセッサ402に上記リソーススケジューリング方法を実行させることができる。
【0072】
メモリ401とプロセッサ402はバス方式で接続され、バスは任意の数の相互接続のバスとブリッジを含んでよく、バスは1つまたは複数のプロセッサ402とメモリ401の各種回路に接続される。バスは例えば、周辺デバイス、電圧レギュレータ、電力管理回路等の各種のその他の回路を一緒に接続することができ、これらは本分野において公知の事項であるため、本文ではこれについてさらなる説明を行わない。バスインタフェースは、バスとトランシーバとの間にインタフェースを提供する。トランシーバは、1つの部材であってもよく、複数の部材、例えば複数の受信機や送信機であってもよく、送信媒体で各種の他の装置と通信するための手段を提供する。プロセッサ402によって処理されたデータは、アンテナを介して無線媒体で伝送され、さらに、アンテナはデータを受信してプロセッサ402に送信する。
【0073】
プロセッサ402はバスの管理と通常の処理を担当し、タイミング、周辺インタフェース、電圧調整、電源管理、その他の制御機能を含む各種の機能を提供することもできる。メモリ401は、プロセッサ402が操作実行時に使用するデータを記憶することに用いてよい。
【0074】
本願実施例の第5実施形態は、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体に関するものである。コンピュータプログラムはプロセッサによって実行される時に、本願が提供するリソーススケジューリング方法のいずれかを実現する。
【0075】
即ち、上記実施形態における方法のすべてまたは一部のステップの実現は、プログラムにより関連ハードウェアに命令することで完成することができ、当該プログラムは記憶媒体に記憶され、少なくとも1つの指令を含んでデバイス(シングルチップコンピュータ、チップ等であってもよい)またはプロセッサ(processor)に本願各実施例に記載の方法のすべてまたは一部のステップを実行させると当業者は理解できる。前述の記憶媒体は、Uディスク、リムーバブルハードディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスクまたは光ディスク等の、プログラムコードを記憶できる各種の媒体を含む。
【0076】
上記各実施例は本開示を実現する具体的な実施例であり、本願の精神と範囲を逸脱しない限り、実際の応用において形式または詳細に対して各種の変更を加えることができる。
【国際調査報告】