JP6886964B2 - 負荷平衡方法及び装置 - Google Patents

負荷平衡方法及び装置 Download PDF

Info

Publication number
JP6886964B2
JP6886964B2 JP2018505621A JP2018505621A JP6886964B2 JP 6886964 B2 JP6886964 B2 JP 6886964B2 JP 2018505621 A JP2018505621 A JP 2018505621A JP 2018505621 A JP2018505621 A JP 2018505621A JP 6886964 B2 JP6886964 B2 JP 6886964B2
Authority
JP
Japan
Prior art keywords
server
load
area
region
data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2018505621A
Other languages
English (en)
Other versions
JP2018525743A5 (ja
JP2018525743A (ja
Inventor
シェン,チュンホイ
Original Assignee
アリババ グループ ホウルディング リミテッド
アリババ グループ ホウルディング リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アリババ グループ ホウルディング リミテッド, アリババ グループ ホウルディング リミテッド filed Critical アリババ グループ ホウルディング リミテッド
Publication of JP2018525743A publication Critical patent/JP2018525743A/ja
Publication of JP2018525743A5 publication Critical patent/JP2018525743A5/ja
Application granted granted Critical
Publication of JP6886964B2 publication Critical patent/JP6886964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

技術分野
本願は、コンピュータの分野に関し、具体的には負荷平衡方法及び装置に関する。
背景技術
分散データ記憶システムでは、辞書式順序に従って1つのデータ表をスライスする。各シートは1つの領域と呼ばれる。これらの領域はクラスタ内のサーバ上に分散される。これらの領域をどのように均一に分散させるか又は動的に調節するかは、システム内の負荷平衡方法によって解決すべき問題である。負荷平衡方法の有効性は、データ記憶の均一性及びサービスの読出及び書込要求の均一性に直接影響する。極端な状況では、平衡に失敗し全ての領域が1つの物理機械に対してスケジュールされる場合、クラスタ全体のサービス機能が1つの物理機械のサービス機能と等しくなり、その結果、クラスタが単一の機械と同じ性能を有する。
既存の分散記憶システムにおける負荷平衡方法では、領域負荷量に基づく平衡が概して使用される。負荷平衡方法の目的は、サーバ上の領域の量を基本的に非常に近くすることである。負荷平衡方法の基本的手法は、最初に全サーバ上の領域負荷量を取得し、各サーバ上の平均領域負荷量を計算し、過度に大きい領域負荷量を有するサーバ上の領域を、過度に少ない領域負荷量を有するサーバに移動させて負荷平衡を実施するものである。システム内の一部の物理機械が再始動された後、領域が再割当される。かかるプロセスにおいて、現行の負荷平衡方法では領域負荷量の要因のみが考慮される。その結果、様々なサーバに割り当てられる同一の確率を領域が有する。この場合、領域内のデータが遠隔的に読み出される確率が大幅に高まる。遠隔的な読出中、遠隔サーバ上のディスクデータにアクセスする必要がある。ローカル読出に比べて遠隔読出は余分なネットワークオーバヘッドを必要とする。従って、読出性能が相対的に低い。
従って、分散記憶システム上で負荷平衡を行うために既存の負荷平衡方法を使用する場合、領域割当後のデータ局在率が高くなく、全システムの相対的に劣った読出性能の原因となる。
発明の概要
本願の目的は、領域のデータ局在率が高くなく、読出性能が相対的に劣る従来技術の問題を解決するための負荷平衡方法及び装置を提供することである。
上記の目的を実現するために、本願は負荷平衡方法を提供し、この方法は、
各サーバ上の各領域のデータ局在率を取得することであって、データ局在率は、領域の合計データに対する、サーバに対応する物理機械上に記憶される領域のローカルデータの比率である、取得することと、
各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定することと、
領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域を移動させることと
を含む。
更に、各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定することは、領域が現在位置しているサーバのデータ局在率と、領域の最も高いデータ局在率を有するサーバのデータ局在率との差が予め設定された値を上回る場合、領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定することを含む。
更に、各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定した後、且つ領域に対応するターゲットサーバに領域を移動させる前に、この方法は、
各サーバの予想領域負荷量を計算し、及びその予想領域負荷量に従って高負荷サーバ及び低負荷サーバを決定することであって、予想領域負荷量は、領域に対応するターゲットサーバに各領域が移動される場合に各サーバ上に存在することになる領域の量である、計算及び決定することと、
領域に対応するターゲットサーバが高負荷サーバであり、且つ領域が、ターゲットサーバ上に存在することになる全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバを低負荷サーバに変更することであって、Nは、正の整数である、変更することと
を更に含む。
更に、予想領域負荷量に従って高負荷サーバ及び低負荷サーバを決定することは、サーバであって、その予想領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その予想領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定することを含む。
更に、Nは、高負荷サーバの予想領域負荷量と全サーバの平均予想領域負荷量との差である。
更に、領域に対応するターゲットサーバに領域を移動させた後、この方法は、
各サーバの現在の領域負荷量を取得し、及びその現在の領域負荷量に従って高負荷サーバ及び低負荷サーバを決定することと、
領域が現在位置しているサーバが高負荷サーバであり、且つ領域が、領域が現在位置しているサーバ上の全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバを低負荷サーバに変更することであって、Nは、正の整数である、変更することと、
領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域を移動させることと
を更に含む。
更に、現在の領域負荷量に従って高負荷サーバ及び低負荷サーバを決定することは、サーバであって、その現在の領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その現在の領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定することを含む。
更に、Nは、高負荷サーバの現在の領域負荷量と全サーバの平均の現在の領域負荷量との差である。
更に、領域に対応するターゲットサーバを低負荷サーバに変更することは、複数の低負荷サーバがある場合、複数の低負荷サーバ上の領域のデータ局在率に従い、領域に対応するターゲットサーバを、領域の最も高いデータ局在率を有する低負荷サーバに変更することを含む。
更に、領域に対応するターゲットサーバに領域を移動させることは、予め設定された間隔時間に従って、領域に対応するターゲットサーバに各領域を逐次的に移動させることを含む。
本願の別の態様に基づき、負荷平衡装置が更に提供される。この装置は、
各サーバ上の各領域のデータ局在率を取得するように構成される局在率取得機器であって、データ局在率は、領域の合計データに対する、サーバに対応する物理機械上に記憶される領域のローカルデータの比率である、局在率取得機器と、
各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定するように構成されるターゲット決定機器と、
領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域を移動させるように構成される領域移動機器と
を含む。
更に、ターゲット決定機器は、領域が現在位置しているサーバのデータ局在率と、領域の最も高いデータ局在率を有するサーバのデータ局在率との差が予め設定された値を上回る場合、領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定するように構成される。
更に、この装置は、
各領域の最も高いデータ局在率を有するサーバがその領域に対応するターゲットサーバとして決定された後、各サーバの予想領域負荷量を計算し、及びその予想領域負荷量に従って高負荷サーバ及び低負荷サーバを決定するように構成される負荷決定機器であって、予想領域負荷量は、領域に対応するターゲットサーバに各領域が移動される場合に各サーバ上に存在することになる領域の量である、負荷決定機器と、
領域に対応するターゲットサーバに領域が移動される前に、領域に対応するターゲットサーバが高負荷サーバであり、且つ領域が、ターゲットサーバ上に存在することになる全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバを低負荷サーバに変更するように構成されるターゲット変更機器であって、Nは、正の整数である、ターゲット変更機器と
を更に含む。
更に、負荷決定機器は、サーバであって、その予想領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その予想領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定するように構成される。
更に、Nは、高負荷サーバの予想領域負荷量と全サーバの平均予想領域負荷量との差である。
更に、この装置は、
領域に対応するターゲットサーバに領域が移動された後、各サーバの現在の領域負荷量を取得し、及びその現在の領域負荷量に従って高負荷サーバ及び低負荷サーバを決定するように構成される負荷決定機器と、
領域が現在位置しているサーバが高負荷サーバであり、且つ領域が、領域が現在位置しているサーバ上の全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバを低負荷サーバに変更するように構成されるターゲット変更機器であって、Nは、正の整数である、ターゲット変更機器と
を更に含み、領域移動機器は、ターゲット変更機器が、領域に対応するターゲットサーバを低負荷サーバに変更した後、領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域を移動させるように更に構成される。
更に、負荷決定機器は、サーバであって、その現在の領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その現在の領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定するように構成される。
更に、Nは、高負荷サーバの現在の領域負荷量と全サーバの平均の現在の領域負荷量との差である。
更に、複数の低負荷サーバがある場合、ターゲット変更機器は、複数の低負荷サーバ上の領域のデータ局在率に従い、領域に対応するターゲットサーバを、領域の最も高いデータ局在率を有する低負荷サーバに変更するように構成される。
更に、領域移動機器は、予め設定された間隔時間に従って、領域に対応するターゲットサーバに各領域を逐次的に移動させるように構成される。
従来技術と比較して、本願によって提供される技術的解決策では、各サーバ上の領域のデータ局在率が取得され、及びそのデータ局在率に従って最も高い局在率を有するサーバに各領域が割り当てられる。データクエリ要求が処理されるとき、各領域が現在割り当てられているサーバが相対的に高いデータ局在率を有し、殆どのデータがローカルサーバ内の磁気ディスクから取得され得るため、領域内のデータを遠隔的に読み出す確率が大幅に低減され得、それによって読出性能が向上される。加えて、領域負荷量も考慮することによって領域の割当が更に調節され、それにより、特定の状況(例えば、データホットスポット又はシステム拡張)において一部のサーバ上に領域負荷が相対的に集中し得る問題は、読出性能を最適化しながら回避され得る。
図面の簡単な説明
以下の添付図面を参照して非限定的実施形態に関する詳細な説明を読むことにより、本願の他の特徴、目的、及び利点がより明らかになる。
本願の一実施形態による負荷平衡方法のフローチャートである。 本願の一実施形態に関与する分散ファイルシステムに基づく分散データ記憶システムの記憶原理の図である。 本願の一実施形態による好ましい負荷平衡方法のフローチャートである。 本願の一実施形態による、より好ましい負荷平衡方法のフローチャートである。 本願の一実施形態による負荷平衡装置の概略的な構造図である。 本願の一実施形態による好ましい負荷平衡装置の概略的な構造図である。 本願の一実施形態による、より好ましい負荷平衡装置の概略的な構造図である。
添付図面中の同じ又は同様の参照番号は同じ又は同様の部分を表す。
詳細な説明
以下では、添付図面を参照して本願を更に詳細に説明する。
本願の典型的な構成では、端末、サービスネットワークの装置、及びトラスティが、全て1個又は複数個のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェース、及びメモリを含む。
メモリは、コンピュータ可読媒体内の揮発性メモリ、ランダムアクセスメモリ(RAM)、及び/又は不揮発性メモリ、例えば読出専用メモリ(ROM)又はフラッシュメモリ(フラッシュRAM)等の形態を含み得る。メモリはコンピュータ可読媒体の一例である。
コンピュータ可読媒体は、不揮発性媒体及び揮発性媒体並びに移動可能媒体及び移動不能媒体を含み、任意の方法又は技術によって情報の記憶を実施することができる。情報は、コンピュータ可読命令、データ構造、プログラムのモジュール、又は他のデータとすることができる。コンピュータ記憶媒体の例は、これだけに限定されないが、相変化メモリ(PRAM)、静的RAM(SRAM)、動的RAM(DRAM)、別の種類のRAM、ROM、電気的消去プログラム可能ROM(EEPROM)、フラッシュメモリ若しくは別のメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)若しくは別の光学記憶域、カセットテープ、磁気テープ、ディスク記憶域若しくは別の磁気記憶装置、又は他の任意の非伝送媒体を含み、計算装置にとってアクセス可能な情報を記憶するように構成され得る。本明細書で定めるように、コンピュータ可読媒体は、非一時的コンピュータ可読媒体(一時的媒体)、例えば変調データ信号又は搬送波を含まない。
図1は、本願の一実施形態による負荷平衡方法を示す。この方法は以下の幾つかのステップを含む。
ステップS101:各サーバ上の各領域のデータ局在率が取得され、データ局在率は、領域の合計データに対する、サーバに対応する物理機械上に記憶される領域のローカルデータの比率である。
ステップS102:各領域の最も高いデータ局在率を有するサーバが、その領域に対応するターゲットサーバとして決定される。
ステップS103:領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域が移動される。
既存の負荷平衡方法では、領域負荷量に基づく平衡が概して使用される。領域負荷量の要因のみが考慮される。その結果、領域は、再割当中に様々なサーバに割り当てられる同一の確率を有する。従って、領域がこのように同一の確率を有することは、当該領域が位置するサーバ上の領域の相対的に低いデータ局在率を容易に引き起こす。殆どのデータクエリ要求の取得のために、通常、別の物理機械の磁気ディスクに遠隔的にアクセスする必要がある。かかるアクセスが必要であることはシステムの読出性能を大幅に下げる。例えば、固体ドライブ(SSD)を使用する物理機械のためのランダム読出要求を全てローカルに読み出す場合、提供可能なQPS(クエリ/秒)能力は、この場合、30000回に達する。ランダム読出要求を全て遠隔的に読み出し、ギガビットネットワークアダプタが提供する100MB/Sの能力が計算に使用される場合、1回のランダム読出が1つの16KBデータブロックに少なくともアクセスする。この場合、提供可能なQPS能力は6000回にのみ達し得る。QPSのスループットを考慮しない場合、応答遅延の観点から、遠隔読出はローカル読出に比べて少なくとも0.5msの余分なオーバヘッドを有する。従って、各サーバ上の領域のデータ局在率が取得され、及びそのデータ局在率に従って最も高い局在率を有するサーバに各領域が割り当てられる。データクエリ要求が処理されるとき、各領域が現在割り当てられているサーバが相対的に高いデータ局在率を有し、殆どのデータがローカルサーバ内の磁気ディスクから取得され得る。その結果、領域内のデータを遠隔的に読み出す確率が大幅に低減され得、それによって読出性能が向上される。
分散ファイルシステムに基づく分散データ記憶システム、例えばHadoop分散ファイルシステム(HDFS)に基づくHadoopデータベース(Hbase)では、領域は、予め設定された規則に従って1つの論理表をスライスすることによって得られるデータ単位である。領域は共通部分を有さない。全ての領域が1つの完全な論理表を形成する。1つの領域は複数のファイルを含む。1つのファイルは1つ又は複数のデータブロックで形成され、データブロックは物理記憶域の基本単位である。分散ファイルシステムでは、各データブロックが複数の複製を有し、冗長記憶のためにそれらの複数の複製が分散ファイルシステムの複数のサーバに割り当てられる。図2は、分散ファイルシステムに基づく分散データ記憶システムの記憶原理の図である。この分散データ記憶システムは、3つのサーバ、即ち、サーバ1、サーバ2、及びサーバ3を含む。各サーバ上に複数の領域が割り当てられる。例えば、サーバ1上の領域は領域A及び領域Bである。各領域は複数のファイルを含む。例えば、領域Aはファイル1及びファイル2を含む。ファイル1はデータブロック11及びデータブロック12を更に含み、ファイル2はデータブロック21及びデータブロック22を含む。分散ファイルシステムでは、サーバ1’とサーバ1とが同じ物理機械であり、サーバ2’とサーバ2とが同じ物理機械であり、サーバ3’とサーバ3とが同じ物理機械である。各データブロックは2つの複製を有し、それらの複製は分散ファイルシステムのサーバ上に展開される。データブロック11の2つの複製がサーバ1’及びサーバ3’上にそれぞれ展開され、データブロック12の2つの複製がサーバ2’及びサーバ3’上にそれぞれ展開され、データブロック21の2つの複製がサーバ1’及びサーバ3’上にそれぞれ展開され、データブロック22の2つの複製がサーバ2’及びサーバ3’上にそれぞれ展開される。ここで見て取れるように、領域Aのデータ局在率(即ち、各サーバ上での領域Aのデータ局在率)の分布は、
Figure 0006886964

であり、AServer1、AServer2、及びAServer3は、サーバ1〜サーバ3上の領域Aのデータ局在率をそれぞれ表す。Block11、Block12、Block21、及びBlock22は、データブロック11、データブロック12、データブロック21、及びデータブロック22のサイズをそれぞれ表す。File1及びFile2は、ファイル1及びファイル2のサイズをそれぞれ表す。
ここで、専ら簡潔にするために図示した図2内の様々なサーバ、領域、ファイル、及びデータブロックの量は、実際の応用例での量よりも少ない可能性があることを当業者であれば更に理解すべきである。但し、本発明の明瞭且つ完全な開示に影響を及ぼすことなく、このような省略が問題なく使用される。
概して、1つのファイルの1つのデータブロックの複数の複製は等しい。即ち、複数の複製のための記憶媒体は同じである。例えば、全ての複製がハードディスクドライブ(HDD)に記憶されるか、又は全ての複製がSSD内に記憶される。この場合、データ局在率の計算中、全ての物理機械の記憶媒体上のデータブロックが計算される。しかし、複数の複製のための記憶媒体が不均一である記憶域混在型のシナリオでは、1つのファイルの1つのデータブロックの複数の複製が等しくない。例えば、データブロック11の2つの複製のうちの一方がHDD内に記憶され、もう一方がSSD内に記憶される。SSDの読出性能はHDDの読出性能を明らかに上回るため、SSD内に記憶されたデータブロックのみがデータ局在の計算中に計算される。例えば、データブロック11の2つの複製に関して、サーバ1’上の複製がHDD内に記憶され、サーバ3’上のもう一方の複製がSSD内に記憶される。この場合、サーバ3’内のデータのみがデータ局在率の計算中に計算され、サーバ1上の領域Aのデータ局在率は、
Figure 0006886964

に変更される。
ここで、分散データ記憶システム内の中央サーバが負荷平衡方法を実行することができる。中央サーバは、これだけに限定されないが、ネットワークホスト、単一のネットワークサーバ、複数のネットワークサーバの組、又はクラウドコンピューティングに基づくコンピュータセット等の実装形態を含む。ここで、クラウドは、クラウドコンピューティングに基づく多数のホスト又はネットワークサーバで形成される。クラウドコンピューティングは一種の分散コンピューティングであり、疎結合のコンピュータセット群で形成される1つの仮想コンピュータである。中央サーバは、サーバ上の領域のデータ局在率をハートビート報告方式で定期的に集めることができる。
ステップS101で取得した各サーバ上の各領域のデータ局在率に従い、各領域の最も高いデータ局在率を有するサーバを決定することができる。そのサーバは、対応する領域の好ましいサーバであり、領域の移動先であるターゲットサーバとして使用する。図2に示すシナリオを一例として引き続き使用する。データブロック11、データブロック12、データブロック21、及びデータブロック22は同じサイズを有すると仮定する。この場合、領域Aのデータ局在率の分布は下記の通りである。
Figure 0006886964
ここで、1つの領域移動計画が生成される。領域Aのターゲットサーバとしてサーバ3が決定される。領域Aが現在展開されているサーバは、領域Aのターゲットサーバと同じサーバではないサーバ1であるため、領域移動計画を実行して領域に対応するターゲットサーバ、即ち、サーバ3に領域Aを移動させる。領域が現在位置しているサーバと、領域のターゲットサーバとが同じサーバである場合、領域移動が不要であるため、それは、領域が現在展開されているサーバが最も高いデータ局在率を既に有することを示す。移動の完了後、サーバ3上の領域Aのデータ局在率は100%に達し得る。即ち、任意のデータクエリ要求に対して、要求されたデータを取得するためにサーバ3の物理機械のローカル磁気ディスクに対してローカル読出を行うのみでよい。従って、読出性能が大幅に向上される。
加えて、実際の応用例では、関与するサーバ、領域、ファイル、及びデータブロックの量は、図2に示した量よりも明らかに多い。サーバでは、幾つかの領域のデータ局在率が高い場合、サーバに対応する物理機械上に記憶される他の領域のデータブロックの量は、記憶空間の制約が原因で概して相対的に少なく、その結果、サーバ上の他の領域のデータ局在率は相対的に低い。従って、データ局在率に従って領域移動を実行した後、各サーバ上の領域負荷量は相対的に平衡しており、サーバがほぼ同様の負荷を有するようにする。
領域移動中、分散データ記憶システムに特定の処理負荷がもたらされる。システムの標準動作が過度に多い回数の領域移動の影響を受けるのを回避するために、移動がデータ局在率を僅かにのみ高める場合には移動を行わなくてもよい。特に、各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定することは、領域が現在位置しているサーバのデータ局在率と、領域の最も高いデータ局在率を有するサーバのデータ局在率との差が予め設定された値を上回る場合、領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定することを含む。予め設定された値は、実際の応用シナリオに従って設定することができ、例えば10%に設定することができる。即ち、現在のサーバ上の領域のデータ局在率と、到達可能な最も高いデータ局在率との差が10%を上回る場合にのみ、最も高いデータ局在率を有するサーバをターゲットサーバとして使用する。
一例として領域Aを使用する。領域Aが現在展開されているサーバ1上の領域Aのデータ局在率が70%であり、サーバ2及びサーバ3上の領域Aのデータ局在率がそれぞれ30%及び75%であると仮定する。この場合、領域Aに関して最も高いデータ局在率を有するサーバはサーバ3である。しかし、最も高いデータ局在率と、領域Aが現在位置しているサーバ上のデータ局在率との差は5%に過ぎず、移動後の読出性能の全体的な改善は僅かである。従って、移動を行わなくてもよい。実際の処理プロセスでは、領域Aのターゲットサーバは、領域Aが位置しているサーバ(即ち、サーバ1)に設定することができる。サーバ3上の領域のデータ局在率が90%に達する場合、移動後にデータ局在率を20%高めることができる。この場合、読出性能が大幅に改善され、従って領域Aのターゲットサーバとしてサーバ3を使用する。
上記の方法に従って領域移動を実行した後、分散データ記憶システム内の各領域のデータ局在率が調節後に最大値に達し得る。同時に、サーバは相対的に平衡した負荷を概して有し得る。しかし、データホットスポット又はシステム拡張等の特殊な状況では、データが一部のサーバノード上に相対的に集中し得る。この場合、多くの領域が一部のサーバ上にロードされる一方、相対的に少量の領域が他の一部のサーバ上にロードされる。その結果、領域負荷量が平衡しない。このために、本願の一実施形態は、好ましい負荷平衡方法を更に提供する。図1に示す解決策に関連し、この方法の処理手続きが図3に示されており、以下のステップを含む。
ステップS101:各サーバ上の各領域のデータ局在率が取得され、データ局在率は、領域の合計データに対する、サーバに対応する物理機械上に記憶される領域のローカルデータの比率である。
ステップS102:各領域の最も高いデータ局在率を有するサーバが、その領域に対応するターゲットサーバとして決定される。
ステップS103:領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域が移動される。
ステップS104:各サーバの現在の領域負荷量が取得され、及びその現在の領域負荷量に従って高負荷サーバ及び低負荷サーバが決定される。
ステップS105:領域が現在位置しているサーバが高負荷サーバであり、且つ領域が、領域が現在位置しているサーバ上の全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバが低負荷サーバに変更され、Nは、正の整数である。
ステップS106:領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域が移動される。
領域のデータ局在率に従って領域移動を実行した後、全サーバの領域負荷量を更に考慮することによって別の調節を行い、それにより、データ局在率のみに従って実行される領域移動に起因し得る不平衡の領域負荷の発生を減らし、データの読出性能を保証しながらサーバの領域負荷量をより平衡した状態に到達させる。
ここで、低負荷サーバ及び高負荷サーバは、領域が展開されるサーバが平均領域負荷量を下回る量及び平均領域負荷量を上回る量を有することをそれぞれ指す。実際の応用例では、平均領域負荷量に従って1つの予め設定された負荷範囲を設定することができ、予め設定された負荷範囲上限値及び下限値に従ってサーバが低負荷サーバか高負荷サーバかを判定する。従って、ステップS104は、各サーバの現在の領域負荷量を取得し、サーバであって、その現在の領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その現在の領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定することであり得る。例えば、予め設定された負荷範囲上限は平均領域負荷量×(1+係数)に設定することができ、予め設定された負荷範囲上限は平均領域負荷量×(1+係数)に設定することができる。この係数は特定の応用シナリオに従って設定することができ、例えば、この実施形態では0.1に設定される。各サーバの取得された現在の領域負荷量による計算により、平均領域負荷量が50であることが得られる場合、予め設定された負荷範囲上限は50×(1+0.1)=55であり、予め設定された負荷範囲下限は50×(1−0.1)=45である。即ち、その現在の領域負荷量が55を上回るサーバを高負荷サーバとして決定し、その現在の領域負荷量が45を下回るサーバを低負荷サーバとして決定する。
例えば、サーバ3の現在の領域負荷量が57である場合、サーバ3は高負荷サーバとして決定され、サーバ1の現在の領域負荷量が40である場合、サーバ1は低負荷サーバとして決定される。領域負荷をより平衡させるために、サーバ3上の最も低いデータ局在率を有する幾つかの領域をサーバ1に移動させることができる。この場合、移動の量は実際の要件に従って決定することができ、1つ又は複数の領域を移動させることができる。最も低いデータ局在率を有する1つの領域のみが移動される場合、サーバ3の領域負荷量は予め設定された負荷範囲まで下げることはできないが、それでもなお負荷を平衡させることができる。好ましい方法では、高負荷サーバから低負荷サーバに移動させる領域の量を平均領域負荷量に従って決定することができる。即ち、ステップS105において、Nは、高負荷サーバの現在の領域負荷量と全サーバの平均の現在の領域負荷量との差である。この例のサーバ3では、サーバ3から移動する必要がある領域の量は7である。即ち、領域が、領域が現在位置しているサーバ上の全領域のうちの相対的に低いデータ局在率を有する7個の領域の1つである場合、その領域に対応するターゲットサーバをサーバ1に変更する。相対的に低いデータ局在率を有する残りの6個の領域でも、そのターゲットサーバを低負荷サーバに同様に変更する。
複数の低負荷サーバがある場合、領域に対応するターゲットサーバを低負荷サーバにランダム割当によって変更することができる。加えて、低負荷サーバ上の領域のデータ局在率に従い、領域に対応するターゲットサーバを、領域の最も高いデータ局在率を有する低負荷サーバに変更する。例えば、サーバ1が高負荷サーバであり、サーバ3、サーバ4、及びサーバ6が全て低負荷サーバである。領域Bは、サーバ1上の52%である最も低いデータ局在率を有する領域である。サーバ3、サーバ4、及びサーバ6上の領域Bのデータ局在率はそれぞれ40%、33%、及び17%である。平衡した領域負荷量を確実にするために、領域Bは依然として高負荷サーバから低負荷サーバに移動される。ターゲットサーバを選択する間、最適なサーバをデータ局在率に従って依然として選択することができる。例えば、領域Bの最適な低負荷サーバはサーバ3である。
この解決策では、上記の例に関して以下の事例が発生し得る。ステップS101において、領域Bが現在位置しているサーバがサーバ6であり、領域Bのデータ局在率が17%である。ステップS102において、領域Bのターゲットサーバがサーバ1であると決定し、領域Bのデータ局在率は52%である。ステップS103において、領域Bに最適なデータ局在率を得させるために、現在設定しているターゲットサーバに領域Bを移動させる。しかし、ステップS104〜ステップS106で領域負荷量を考慮して、領域Bのターゲットサーバをサーバ3に更に変更する必要があり、移動が行われる。このプロセスでは領域Bが2回移動される。最終的な結果から分かるように、サーバ6からサーバ3への領域Bの移動は、理論上、移動を1回のみ行うことによって実現することができる。従って、上記の解決策におけるS103の移動は効果的でない場合がある。
起こり得る効果的でない移動を回避するために、本願の一実施形態は、より好ましい負荷平衡方法を更に提供する。図1に示す解決策に関連し、この方法の処理手続きが図4に示されており、以下のステップを含む。
ステップS101:各サーバ上の各領域のデータ局在率が取得され、データ局在率は、領域の合計データに対する、サーバに対応する物理機械上に記憶される領域のローカルデータの比率である。
ステップS102:各領域の最も高いデータ局在率を有するサーバが、その領域に対応するターゲットサーバとして決定される。
ステップS107:各サーバの予想領域負荷量が計算され、及びその予想領域負荷量に従って高負荷サーバ及び低負荷サーバが決定され、予想領域負荷量は、領域に対応するターゲットサーバに各領域が移動される場合に各サーバ上に存在することになる領域の量である。
ステップS108:領域に対応するターゲットサーバが高負荷サーバであり、且つ領域が、ターゲットサーバ上に存在することになる全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバが低負荷サーバに変更され、Nは、正の整数である。
ステップS103:領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域が移動される。
この解決策では、各領域の最も高いデータ局在率を有するサーバが、その領域に対応するターゲットサーバとして決定された後、決定されたターゲットサーバに従って対応する領域が移動された後に各サーバ上に存在することになる領域負荷量をシミュレーション計算によって予想する。領域のターゲットサーバは、予想領域負荷量を使用することによって且つ領域負荷量の平衡も考慮することによって変更され、ここで決定されるターゲットサーバを考慮することによって領域移動が統一された方法で更に行われる。シミュレーション計算に必要なオペレーションコストは、実際の移動に必要なオペレーションコストよりもはるかに少ないため、相対的に低いオペレーションコストを払うことによって非効果的な移動を回避することができ、そのため処理の支出が減り、負荷平衡の効率が改善する。
ここで、高負荷サーバ及び低負荷サーバを決定するために使用する予想領域負荷量は、最初に決定されるターゲットサーバに従って得られる1つの計算値であり、各サーバによって直接取得される実際の値ではない。予想領域負荷量に従って高負荷サーバ及び低負荷サーバを決定する方法を使用し、複数の低負荷サーバがある場合、複数の低負荷サーバのうちの1つをターゲットサーバとして選択する方法は、図3に示した上記の負荷平衡方法と同様であり、簡潔にするためにここではこれ以上説明しない。
特に、ステップS107で予想領域負荷量に従って高負荷サーバ及び低負荷サーバを決定することは、サーバであって、その予想領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その予想領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定することを含む。
ステップS108において、Nは、高負荷サーバの予想領域負荷量と全サーバの平均予想領域負荷量との差である。領域に対応するターゲットサーバを低負荷サーバに変更することは、複数の低負荷サーバがある場合、複数の低負荷サーバ上の領域のデータ局在率に従い、領域に対応するターゲットサーバを、領域の最も高いデータ局在率を有する低負荷サーバに変更することを特に含む。
更に、この実施形態の任意の負荷平衡方法では、複数の領域の移動中、領域に対応するターゲットサーバに領域を移動させることは、予め設定された間隔時間に従って領域に対応するターゲットサーバに各領域を逐次的に移動させることを特に含む。領域の移動中、分散データ記憶システムの関連設定が変わる場合がある。従って、過度な量の移動を短時間のうちに行う場合、システム内の設定が速く変わり過ぎることがあり、システム内のジッタを引き起こす。この状態を回避するために、各領域の移動中特定の間隔時間(例えば、100ms)を設定し、それにより領域移動に起因するジッタを防ぐことができる。
本願の別の態様に基づき、本願の一実施形態は負荷平衡装置を更に提供する。この装置の構造を図5に示す。装置5は、局在率取得機器510、ターゲット決定機器520、及び領域移動機器530を含む。特に、局在率取得機器510は、各サーバ上の各領域のデータ局在率を取得するように構成され、データ局在率は、領域の合計データに対する、サーバに対応する物理機械上に記憶される領域のローカルデータの比率である。ターゲット決定機器520は、各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定するように構成される。領域移動機器530は、領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域を移動させるように構成される。
既存の負荷平衡装置では、領域負荷量に基づく平衡が概して使用される。領域負荷量の要因のみが考慮される。その結果、領域が、再割当中に様々なサーバに割り当てられる同一の確率を有する。従って、領域がこのように同一の確率を有することは、領域が位置するサーバ上の領域の相対的に低いデータ局在率を容易に引き起こす。殆どのデータクエリ要求の取得のために、通常、別の物理機械の磁気ディスクに遠隔的にアクセスする必要がある。かかるアクセスが必要であることはシステムの読出性能を大幅に下げる。例えば、固体ドライブ(SSD)を使用する物理機械のためのランダム読出要求を全てローカルに読み出す場合、提供可能なQPS(クエリ/秒)能力は、この場合、30000回に達する。ランダム読出要求を全て遠隔的に読み出し、ギガビットネットワークアダプタが提供する100MB/Sの能力が計算に使用される場合、1回のランダム読出が1つの16KBデータブロックに少なくともアクセスする。この場合、提供可能なQPS能力は6000回にのみ達し得る。QPSのスループットを考慮しない場合、応答遅延の観点から、遠隔読出はローカル読出に比べて少なくとも0.5msの余分なオーバヘッドを有する。従って、各サーバ上の領域のデータ局在率が取得され、及びそのデータ局在率に従って最も高い局在率を有するサーバに各領域が割り当てられる。データクエリ要求が処理されるとき、各領域が現在割り当てられているサーバが相対的に高いデータ局在率を有し、殆どのデータがローカルサーバ内の磁気ディスクから取得され得る。その結果、領域内のデータを遠隔的に読み出す確率が大幅に低減され得、それによって読出性能が向上される。
分散ファイルシステムに基づく分散データ記憶システム、例えばHDFSに基づくHbaseでは、領域は、予め設定された規則に従って1つの論理表をスライスすることによって得られるデータ単位である。領域は共通部分を有さない。全ての領域が1つの完全な論理表を形成する。1つの領域は複数のファイルを含む。1つのファイルは1つ又は複数のデータブロックで形成され、データブロックは物理記憶域の基本単位である。分散ファイルシステムでは、各データブロックが複数の複製を有し、冗長記憶のためにそれらの複数の複製が分散ファイルシステムの複数のサーバに割り当てられる。図2は、分散ファイルシステムに基づく分散データ記憶システムの記憶原理の図である。この分散データ記憶システムは、3つのサーバ、即ち、サーバ1、サーバ2、及びサーバ3を含む。各サーバ上に複数の領域が割り当てられる。例えば、サーバ1上の領域は領域A及び領域Bである。各領域は複数のファイルを含む。例えば、領域Aはファイル1及びファイル2を含む。ファイル1はデータブロック11及びデータブロック12を更に含み、ファイル2はデータブロック21及びデータブロック22を含む。分散ファイルシステムでは、サーバ1’とサーバ1とが同じ物理機械であり、サーバ2’とサーバ2とが同じ物理機械であり、サーバ3’とサーバ3とが同じ物理機械である。各データブロックは2つの複製を有し、それらの複製は分散ファイルシステムのサーバ上に展開される。データブロック11の2つの複製がサーバ1’及びサーバ3’上にそれぞれ展開され、データブロック12の2つの複製がサーバ2’及びサーバ3’上にそれぞれ展開され、データブロック21の2つの複製がサーバ1’及びサーバ3’上にそれぞれ展開され、データブロック22の2つの複製がサーバ2’及びサーバ3’上にそれぞれ展開される。ここで見て取れるように、領域Aのデータ局在率(即ち、各サーバ上での領域Aのデータ局在率)の分布は、
Figure 0006886964

であり、AServer1、AServer2、及びAServer3は、サーバ1〜サーバ3上の領域Aのデータ局在率をそれぞれ表す。Block11、Block12、Block21、及びBlock22は、データブロック11、データブロック12、データブロック21、及びデータブロック22のサイズをそれぞれ表す。File1及びFile2は、ファイル1及びファイル2のサイズをそれぞれ表す。
ここで、専ら簡潔にするために図示した図2内の様々なサーバ、領域、ファイル、及びデータブロックの量は、実際の応用例での量よりも少ない可能性があることを当業者であれば更に理解すべきである。但し、本発明の明瞭且つ完全な開示に影響を及ぼすことなく、このような省略が問題なく使用される。
概して、1つのファイルの1つのデータブロックの複数の複製は等しい。即ち、複数の複製のための記憶媒体は同じである。例えば、全ての複製がHDDに記憶されるか、又は全ての複製がSSD内に記憶される。この場合、データ局在率の計算中、全ての物理機械の記憶媒体上のデータブロックが計算される。しかし、複数の複製のための記憶媒体が不均一である記憶域混在型のシナリオでは、1つのファイルの1つのデータブロックの複数の複製が等しくない。例えば、データブロック11の2つの複製のうちの一方がHDD内に記憶され、もう一方がSSD内に記憶される。SSDの読出性能はHDDの読出性能を明らかに上回るため、SSD内に記憶されたデータブロックのみがデータ局在の計算中に計算される。例えば、データブロック11の2つの複製に関して、サーバ1’上の複製がHDD内に記憶され、サーバ3’上のもう一方の複製がSSD内に記憶される。この場合、サーバ3’内のデータのみがデータ局在率の計算中に計算され、サーバ1上の領域Aのデータ局在率は、
Figure 0006886964

に変更される。
ここで、装置5が分散データ記憶システム内の中央サーバであり得る。中央サーバは、これだけに限定されないが、ネットワークホスト、単一のネットワークサーバ、複数のネットワークサーバの組、又はクラウドコンピューティングに基づくコンピュータセット等の実装形態を含む。ここで、クラウドは、クラウドコンピューティングに基づく多数のホスト又はネットワークサーバで形成される。クラウドコンピューティングは一種の分散コンピューティングであり、疎結合のコンピュータセット群で形成される1つの仮想コンピュータである。中央サーバは、サーバ上の領域のデータ局在率をハートビート報告方式で定期的に集めることができる。
局在率取得機器510は、各サーバ上の各領域の取得されたデータ局在率に従い、各領域の最も高いデータ局在率を有するサーバを決定することができる。そのサーバは、対応する領域の好ましいサーバであり、領域の移動先であるターゲットサーバとして使用する。図2に示すシナリオを一例として引き続き使用する。データブロック11、データブロック12、データブロック21、及びデータブロック22は同じサイズを有すると仮定する。この場合、領域Aのデータ局在率の分布は下記の通りである。
Figure 0006886964
ここで、1つの領域移動計画が生成される。領域Aのターゲットサーバとしてサーバ3が決定される。領域Aが現在展開されているサーバは、領域Aのターゲットサーバと同じサーバではないサーバ1であるため、領域移動計画を実行して領域に対応するターゲットサーバ、即ち、サーバ3に領域Aを移動させる。領域が現在位置しているサーバと、領域のターゲットサーバとが同じサーバである場合には領域移動が不要であるため、それは、領域が現在展開されているサーバが最も高いデータ局在率を既に有することを示す。移動の完了後、サーバ3上の領域Aのデータ局在率は100%に達し得る。即ち、任意のデータクエリ要求に対して、要求されたデータを取得するためにサーバ3の物理機械のローカル磁気ディスクに対してローカル読出を行うのみでよい。従って、読出性能が大幅に向上される。
加えて、実際の応用例では、関与するサーバ、領域、ファイル、及びデータブロックの量は、図2に示した量よりも明らかに多い。サーバでは、幾つかの領域のデータ局在率が高い場合、サーバに対応する物理機械上に記憶される他の領域のデータブロックの量は、記憶空間の制約が原因で概して相対的に少なく、その結果、サーバ上の他の領域のデータ局在率は相対的に低い。従って、データ局在率に従って領域移動を実行した後、各サーバ上の領域負荷量は相対的に平衡しており、サーバがほぼ同様の負荷を有するようにする。
領域移動中、分散データ記憶システムに特定の処理負荷がもたらされる。システムの標準動作が過度に多い回数の領域移動の影響を受けるのを回避するために、移動がデータ局在率を僅かにのみ高める場合には移動を行わなくてもよい。特に、ターゲット決定機器520は、領域が現在位置しているサーバのデータ局在率と、領域の最も高いデータ局在率を有するサーバのデータ局在率との差が予め設定された値を上回る場合、領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定するように構成される。予め設定された値は、実際の応用シナリオに従って設定することができ、例えば10%に設定することができる。即ち、現在のサーバ上の領域のデータ局在率と、到達可能な最も高いデータ局在率との差が10%を上回る場合にのみ、最も高いデータ局在率を有するサーバをターゲットサーバとして使用する。
一例として領域Aを使用する。領域Aが現在展開されているサーバ1上の領域Aのデータ局在率が70%であり、サーバ2及びサーバ3上の領域Aのデータ局在率がそれぞれ30%及び75%であると仮定する。この場合、領域Aに関して最も高いデータ局在率を有するサーバはサーバ3である。しかし、最も高いデータ局在率と、領域Aが現在位置しているサーバ上のデータ局在率との差は5%に過ぎず、移動後の読出性能の全体的な改善は僅かである。従って、移動を行わなくてもよい。実際の処理プロセスでは、領域Aのターゲットサーバは、領域Aが位置しているサーバ(即ち、サーバ1)に設定することができる。サーバ3上の領域のデータ局在率が90%に達する場合、移動後にデータ局在率を20%高めることができる。この場合、読出性能が大幅に改善され、従って領域Aのターゲットサーバとしてサーバ3を使用する。
上記の装置5が領域移動を行った後、分散データ記憶システム内の各領域のデータ局在率が調節後に最大値に達し得る。同時に、サーバは相対的に平衡した負荷を概して有し得る。しかし、データホットスポット又はシステム拡張等の特殊な状況では、データが一部のサーバノード上に相対的に集中し得る。この場合、多くの領域が一部のサーバ上にロードされる一方、相対的に少量の領域が他の一部のサーバ上にロードされる。その結果、領域負荷量が平衡しない。このために、本願の一実施形態は、好ましい負荷平衡装置を更に提供する。装置5の構造は図6に示し、図5に示した局在率取得機器510、ターゲット決定機器520、及び領域移動機器530に加えて、負荷決定機器540、及びターゲット変更機器550を更に含む。特に、負荷決定機器540は、領域に対応するターゲットサーバに領域を移動させた後、各サーバの現在の領域負荷量を取得し、及びその現在の領域負荷量に従って高負荷サーバ及び低負荷サーバを決定するように構成される。ターゲット変更機器550は、領域が現在位置しているサーバが高負荷サーバであり、且つ領域が、領域が現在位置しているサーバ上の全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバを低負荷サーバに変更するように構成され、Nは、正の整数である。領域移動機器530は、ターゲット決定機器によって決定されるターゲットサーバに従って領域を移動させるように構成されるだけでなく、ターゲット変更機器が、領域に対応するターゲットサーバを低負荷サーバに変更した後、領域が現在位置しているサーバと、領域に対応するターゲットサーバとが異なるサーバである場合、領域に対応するターゲットサーバに領域を移動させるようにも構成される。ここで、局在率取得機器510及びターゲット決定機器520は、図5の実施形態における対応する機器の内容とそれぞれ同じであるか又はほぼ同じであることを当業者であれば理解すべきである。簡潔にするために、これらの機器についてここではこれ以上詳細に説明せず、参照により本明細書に含める。
領域のデータ局在率に従って領域移動を実行した後、全サーバの領域負荷量を更に考慮することによって別の調節を行い、それにより、データ局在率のみに従って実行される領域移動に起因し得る不平衡の領域負荷の発生を減らし、データの読出性能を保証しながらサーバの領域負荷量をより平衡した状態に到達させる。
ここで、低負荷サーバ及び高負荷サーバは、領域が展開されるサーバが平均領域負荷量を下回る量及び平均領域負荷量を上回る量を有することをそれぞれ指す。実際の応用例では、平均領域負荷量に従って1つの予め設定された負荷範囲を設定することができ、予め設定された負荷範囲上限値及び下限値に従ってサーバが低負荷サーバか高負荷サーバかを判定する。ここで、高負荷サーバ及び低負荷サーバを決定するとき、負荷決定機器540は、サーバであって、その現在の領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その現在の領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定する。例えば、予め設定された負荷範囲上限は平均領域負荷量×(1+係数)に設定することができ、予め設定された負荷範囲上限は平均領域負荷量×(1+係数)に設定することができる。この係数は特定の応用シナリオに従って設定することができ、例えば、この実施形態では0.1に設定される。各サーバの取得された現在の領域負荷量による計算により、平均領域負荷量が50であることが得られる場合、予め設定された負荷範囲上限は50×(1+0.1)=55であり、予め設定された負荷範囲下限は50×(1−0.1)=45である。即ち、その現在の領域負荷量が55を上回るサーバを高負荷サーバとして決定し、その現在の領域負荷量が45を下回るサーバを低負荷サーバとして決定する。
例えば、サーバ3の現在の領域負荷量が57である場合、サーバ3は高負荷サーバとして決定され、サーバ1の現在の領域負荷量が40である場合、サーバ1は低負荷サーバとして決定される。領域負荷をより平衡させるために、サーバ3上の最も低いデータ局在率を有する幾つかの領域をサーバ1に移動させることができる。この場合、移動の量は実際の要件に従って決定することができ、1つ又は複数の領域を移動させることができる。最も低いデータ局在率を有する1つの領域のみが移動される場合、サーバ3の領域負荷量は予め設定された負荷範囲まで下げることはできないが、それでもなお負荷を平衡させることができる。好ましい方法では、高負荷サーバから低負荷サーバに移動させる領域の量を平均領域負荷量に従って決定することができる。即ち、ターゲット変更機器550が使用するNは、高負荷サーバの現在の領域負荷量と全サーバの平均の現在の領域負荷量との差である。この例のサーバ3では、サーバ3から移動する必要がある領域の量は7である。即ち、領域が、領域が現在位置しているサーバ上の全領域のうちの相対的に低いデータ局在率を有する7個の領域の1つである場合、その領域に対応するターゲットサーバをサーバ1に変更する。相対的に低いデータ局在率を有する残りの6個の領域でも、そのターゲットサーバを低負荷サーバに同様に変更する。
複数の低負荷サーバがある場合、ターゲット変更機器550は、領域に対応するターゲットサーバを低負荷サーバにランダム割当によって変更することができる。加えて、ターゲット変更機器550は、複数の低負荷サーバ上の領域のデータ局在率に従い、領域に対応するターゲットサーバを、領域の最も高いデータ局在率を有する低負荷サーバに変更する。例えば、サーバ1が高負荷サーバであり、サーバ3、サーバ4、及びサーバ6が全て低負荷サーバである。領域Bは、サーバ1上の52%である最も低いデータ局在率を有する領域である。サーバ3、サーバ4、及びサーバ6上の領域Bのデータ局在率はそれぞれ40%、33%、及び17%である。平衡した領域負荷量を確実にするために、領域Bは依然として高負荷サーバから低負荷サーバに移動される。ターゲットサーバを選択する間、最適なサーバをデータ局在率に従って依然として選択することができる。例えば、領域Bの最適な低負荷サーバはサーバ3である。
この解決策では、上記の例に関して以下の事例が発生し得る。局在率取得機器510が領域のデータ局在率を取得するとき、領域Bが現在位置しているサーバがサーバ6であり、領域Bのデータ局在率が17%である。ターゲット決定機器520は、局在率取得機器510によって取得される領域のデータ局在率に従って領域Bのターゲットサーバがサーバ1であると決定し、領域Bのデータ局在率は52%である。この場合、領域Bに最適なデータ局在率を得させるために、領域移動機器530は、ターゲット決定機器520によって決定されるターゲットサーバに従って、現在設定しているターゲットサーバに領域Bを移動させる。しかし、その後の処理中、領域負荷量を考慮して、負荷決定機器540、ターゲット変更機器550、及び領域移動機器530は領域Bのターゲットサーバをサーバ3に更に変更し、移動を行わなければならない場合がある。このプロセスでは領域Bが2回移動される。最終的な結果から分かるように、サーバ6からサーバ3への領域Bの移動は、理論上、移動を1回のみ行うことによって実現することができる。従って、上記の解決策における領域移動機器530によって最初に行われる領域の移動(即ち、ターゲット決定機器520によって決定されるターゲットサーバに従って行われる移動)は効果的でない場合がある。
起こり得る効果的でない移動を回避するために、本願の一実施形態は、より好ましい負荷平衡装置を更に提供する。装置5の構造は図7に示す。装置5は、図5に示した局在率取得機器510、ターゲット決定機器520、及び領域移動機器530に加えて、負荷決定機器540’、及びターゲット変更機器550’を更に含む。負荷決定機器540’は、各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定した後、各サーバの予想領域負荷量を計算し、その予想領域負荷量に従って高負荷サーバ及び低負荷サーバを決定するように構成され、予想領域負荷量は、領域に対応するターゲットサーバに各領域が移動される場合に各サーバ上に存在することになる領域の量である。ターゲット変更機器550’は、領域に対応するターゲットサーバに領域を移動させる前に、領域に対応するターゲットサーバが高負荷サーバであり、且つ領域が、ターゲットサーバ上に存在することになる全領域のうちの相対的に低いデータ局在率を有するN個の領域の1つである場合、領域に対応するターゲットサーバを低負荷サーバに変更するように構成され、Nは、正の整数である。ここで、局在率取得機器510、ターゲット決定機器520、及び領域移動機器530は、図5の実施形態における対応する機器の内容とそれぞれ同じであるか又はほぼ同じであることを当業者であれば理解すべきである。簡潔にするために、これらの機器についてここではこれ以上詳細に説明せず、参照により本明細書に含める。
この解決策では、各領域の最も高いデータ局在率を有するサーバをその領域に対応するターゲットサーバとして決定した後、決定されたターゲットサーバに従って対応する領域が移動された後に各サーバ上に存在することになる領域負荷量をシミュレーション計算によって予想する。領域のターゲットサーバは、予想領域負荷量を使用することによって且つ領域負荷量の平衡も考慮することによって変更され、ここで決定されるターゲットサーバを考慮することによって領域移動が統一された方法で更に行われる。シミュレーション計算に必要なオペレーションコストは、実際の移動に必要なオペレーションコストよりもはるかに少ないため、相対的に低いオペレーションコストを払うことによって非効果的な移動を回避することができ、そのため処理の支出が減り、負荷平衡の効率が改善する。
ここで、高負荷サーバ及び低負荷サーバを決定するために負荷決定機器540’が使用する予想領域負荷量は、最初に決定されるターゲットサーバに従って得られる1つの計算値であり、各サーバによって直接取得される実際の値ではない。負荷決定機器540’が予想領域負荷量に従って高負荷サーバ及び低負荷サーバを決定する方法を使用し、複数の低負荷サーバがある場合、ターゲット変更機器550’によって複数の低負荷サーバのうちの1つをターゲットサーバとして選択する方法は、図6に示した上記の負荷平衡装置内の負荷決定機器540及びターゲット変更機器550によって使用される方法と同様である。
特に、負荷決定機器540’は、サーバであって、その予想領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その予想領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定するように構成される。
ターゲット変更機器550’が使用するNは、高負荷サーバの予想領域負荷量と全サーバの平均予想領域負荷量との差である。複数の低負荷サーバがある場合、ターゲット変更機器550’は、複数の低負荷サーバ上の領域のデータ局在率に従い、領域に対応するターゲットサーバを、領域の最も高いデータ局在率を有する低負荷サーバに変更するように構成される。
更に、この実施形態の任意の負荷平衡装置に関して、複数の領域の移動中、領域移動機器530は、予め設定された間隔時間に従って領域に対応するターゲットサーバに各領域を逐次的に移動させる。領域の移動中、分散データ記憶システムの関連設定が変わる場合がある。従って、過度な量の移動を短時間のうちに行う場合、システム内の設定が速く変わり過ぎることがあり、システム内のジッタを引き起こす。この状態を回避するために、各領域の移動中特定の間隔時間(例えば、100ms)を設定し、それにより領域移動に起因するジッタを防ぐことができる。
結論として、本願によって提供される技術的解決策では、各サーバ上の領域のデータ局在率が取得され、及びそのデータ局在率に従って最も高い局在率を有するサーバに各領域が割り当てられる。データクエリ要求が処理されるとき、各領域が現在割り当てられているサーバが相対的に高いデータ局在率を有し、殆どのデータがローカルサーバ内の磁気ディスクから取得され得るため、領域内のデータを遠隔的に読み出す確率が大幅に低減され得、それによって読出性能が向上される。加えて、領域負荷量を使用することによって領域の割当が更に調節され、それにより、読出性能が改善される場合、特定の状況(例えば、データホットスポット又はシステム拡張)において一部のサーバ上に領域負荷が相対的に集中し得る問題は、読出性能を最適化しながら回避され得る。
本願は、ソフトウェア及び/又はソフトウェアとハードウェアとの組合せによって実装することができ、例えば特定用途向け集積回路(ASIC)、汎用コンピュータ、他の任意の同様のハードウェア装置を使用することによって実装できることに留意すべきである。一実施形態では、本願のソフトウェアプログラムがプロセッサによる実行によって上記のステップ又は機能を実施し得る。同様に、本願の(関係するデータ構造を含む)ソフトウェアプログラムはコンピュータ可読記録媒体、例えばRAM、磁気ドライブ、光学ドライブ若しくはフロッピディスク又は同様の装置中に記憶することができる。加えて、本願の一部のステップ又は機能は、ハードウェア、例えばステップ又は機能を実行するためにプロセッサと連携する回路を使用することによって実施することができる。
加えて、本願の一部は、コンピュータプログラム製品、例えばコンピュータプログラム命令として適用することができる。コンピュータによって実行されるとき、コンピュータプログラム命令は、コンピュータの動作によって本願による方法及び/又は技術的解決策を呼び出し又は提供することができる。本願の方法を呼び出すプログラム命令は固定記録媒体又は脱着可能記録媒体中に記憶することができ、ブロードキャストによって若しくは別の信号保持媒体内のデータストリームを使用することによって伝送され、且つ/又はプログラム命令に従って稼動するコンピュータ装置のワーキングメモリ内に記憶される。ここで、本願による一実施形態は、ある機器を含む。その機器は、コンピュータプログラム命令を記憶するように構成されるメモリと、プログラム命令を実行するように構成されるプロセッサとを含む。コンピュータプログラム命令がプロセッサによって実行されるとき、機器が本願による上記の複数の実施形態に基づく方法及び/又は技術的解決策を実行するように作動される。
当業者にとって、本願は上記の例示的実施形態の詳細に限定されず、本願の趣旨又は基本的特徴から逸脱することなく他の特定の形式で実装できることが明らかである。従って、あらゆる観点から、実施形態は例示的且つ非限定的と見なすべきである。本願の範囲は、上記の説明ではなく、添付の特許請求の範囲によって定める。従って、特許請求の範囲の均等な要素の意味及び範囲に含まれるあらゆる変更形態が本願に包含されることを意図される。特許請求の範囲内のいかなる参照番号も、関係する請求項を限定するものと解釈すべきではない。加えて、「含む」という用語は、明らかに他のユニット又はステップを排除せず、単数形は複数形を排除しない。機器の請求項に記載する複数のユニット又は機器は、ソフトウェア又はハードウェアを使用することにより1つのユニット又は機器によって代わりに実装することができる。

Claims (31)

  1. 少なくとも1つのプロセッサを含む装置によって実行される負荷平衡方法であって、
    前記装置が、サーバの組内の1つ又は複数のサーバの複数の領域についてデータ局在率を取得することであって、前記データ局在率のそれぞれは、前記サーバの組内の1つのサーバに対応する物理機械上に記憶される1つの領域のローカルデータの量と、前記1つの領域の合計データの量との間の比率に基づいている、取得することと、
    前記装置が、前記複数の領域のうちの第1の領域に関するターゲットサーバを、前記ターゲットサーバ上の前記第1の領域のデータ局在率が、前記第1の領域が現在位置しているサーバ上の前記第1の領域のデータ局在率よりも大きいことに基づいて、決定することと、
    前記装置が、前記ターゲットサーバに前記第1の領域を移動させることと
    を含む、負荷平衡方法。
  2. 前記複数の領域のうちの前記第1の領域に関する前記ターゲットサーバ決定することは、前記装置が、前記ターゲットサーバ上の前記第1の領域の前記データ局在率と、前記第1の領域が現在位置している前記サーバ上の前記第1の領域の前記データ局在率との差が予め設定された値を上回ることに基づいて、前記ターゲットサーバを決定することを含む、請求項1に記載の方法。
  3. 前記装置が、前記サーバの組内の各サーバの予想領域負荷量を計算することと、
    前記装置が、前記予想領域負荷量に基づいて前記サーバの組内の高負荷サーバ及び低負荷サーバを決定することであって、前記予想領域負荷量は、1つの又は複数の領域が前記ターゲットサーバに移動された後のサーバ上の領域の量である、決定することと、
    前記装置が、前記ターゲットサーバが高負荷サーバであり、且つ前記領域が、前記領域のローカルデータの量と、前記ターゲットサーバ上に存在することになる前記領域の前記合計データの量との比較に基づく低い方の値を有することに応じて、前記ターゲットサーバを前記低負荷サーバに変更すること
    を更に含む、請求項1又は2に記載の方法。
  4. 前記予想領域負荷量に基づいて前記サーバの組内の前記高負荷サーバ及び前記低負荷サーバを決定することは、
    前記装置が、サーバであって、その予想領域負荷量が予め設定された負荷範囲上限を上回るサーバを前記高負荷サーバとして決定することと、
    前記装置が、サーバであって、その予想領域負荷量が予め設定された負荷範囲下限を下回るサーバを前記低負荷サーバとして決定すること
    を含む、請求項3に記載の方法。
  5. 前記領域のローカルデータの量と、前記領域の前記合計データの量との前記比較に基づく前記低い方の値を有する前記領域の数は、前記高負荷サーバの前記予想領域負荷量と全サーバの平均予想領域負荷量との差である、請求項3又は4に記載の方法。
  6. 前記装置が、前記サーバの組内の各サーバの現在の領域負荷量を取得することと、
    前記装置が、前記現在の領域負荷量に従って高負荷サーバ及び低負荷サーバを決定することと、
    前記装置が、領域が現在位置しているサーバが高負荷サーバであり、且つ前記領域が、前記領域のローカルデータの量と、前記領域が現在位置している前記サーバ上の前記領域の前記合計データの量との比較に基づく低い方の値を有することに応じて、前記ターゲットサーバを前記低負荷サーバに変更することと、
    前記装置が、前記領域が現在位置している前記サーバ、前記領域前記ターゲットサーバ異なるサーバであることに応じて、前記ターゲットサーバに前記領域を移動させることと
    を更に含む、請求項1又は2に記載の方法。
  7. 前記現在の領域負荷量に従って前記高負荷サーバ及び前記低負荷サーバを決定することは、
    前記装置が、サーバであって、その現在の領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定することと、
    前記装置が、サーバであって、その現在の領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定すること
    を含む、請求項6に記載の方法。
  8. 前記領域のローカルデータの量と、前記領域の前記合計データの量との前記比較に基づく前記低い方の値を有する前記領域の数は、前記高負荷サーバの前記現在の領域負荷量と全サーバの平均の現在の領域負荷量との差である、請求項6又は7に記載の方法。
  9. 前記領域に対応する前記ターゲットサーバを前記低負荷サーバに変更することは、前記装置が、複数の低負荷サーバがある場合、前記複数の低負荷サーバ上の前記領域のデータ局在率に従い、前記領域に対応する前記ターゲットサーバを、前記領域のローカルデータの量と、前記領域の前記合計データの量との比較に基づく高い方の値を有する低負荷サーバに変更することを含む、請求項3〜8の何れか一項に記載の方法。
  10. 前記領域に対応する前記ターゲットサーバに前記領域を移動させることは、前記装置が、予め設定された間隔時間で、前記第1の領域が前記ターゲットサーバに移動された後に第2の領域を前記ターゲットサーバに移動させることを含む、請求項1〜9の何れか一項に記載の方法。
  11. 負荷平衡装置であって、
    サーバの組内の1つ又は複数のサーバの複数の領域についてデータ局在率を取得するように構成される局在率取得機器であって、前記データ局在率のそれぞれは、前記サーバの組内の1つのサーバに対応する物理機械上に記憶される1つの領域のローカルデータの量と、前記1つの領域の合計データの量との間の比率に基づいている、局在率取得機器と、
    前記複数の領域のうちの第1の領域のターゲットサーバを、前記ターゲットサーバ上の前記第1の領域のデータ局在率が、前記第1の領域が現在位置しているサーバ上の前記第1の領域のデータ局在率よりも大きいことに基づいて、決定するように構成されるターゲット決定機器と、
    記ターゲットサーバに前記第1の領域を移動させるように構成される領域移動機器と
    を含む、負荷平衡装置。
  12. 前記ターゲット決定機器は、前記ターゲットサーバ上の前記第1の領域の前記データ局在率と、前記第1の領域が現在位置している前記サーバ上の前記第1の領域の前記データ局在率との差が予め設定された値を上回ることに基づいて、前記ターゲットサーバを決定するように構成される、請求項11に記載の装置。
  13. 前記サーバの組内の各サーバの予想領域負荷量を計算し、及び前記予想領域負荷量に基づいて前記サーバの組内の高負荷サーバ及び低負荷サーバを決定するように構成される負荷決定機器であって、前記予想領域負荷量は、1つの又は複数の領域が前記ターゲットサーバに移動された後のサーバ上の領域の量である、負荷決定機器と、
    前記ターゲットサーバが高負荷サーバであり、且つ前記領域が、前記領域のローカルデータの量と、前記ターゲットサーバ上に存在することになる前記領域の前記合計データの量との比較に基づく低い方の値を有することに応じて、前記ターゲットサーバを前記低負荷サーバに変更するように構成されるターゲット変更機器
    を更に含む、請求項11又は12に記載の装置。
  14. 前記負荷決定機器は、サーバであって、その予想領域負荷量が予め設定された負荷範囲上限を上回るサーバを前記高負荷サーバとして決定し、及びサーバであって、その予想領域負荷量が予め設定された負荷範囲下限を下回るサーバを前記低負荷サーバとして決定するように構成される、請求項13に記載の装置。
  15. 前記領域のローカルデータの量と、前記領域の前記合計データの量との前記比較に基づく前記低い方の値を有する前記領域の数は、前記高負荷サーバの前記予想領域負荷量と全サーバの平均予想領域負荷量との差である、請求項13又は14に記載の装置。
  16. 前記サーバの組内の各サーバの現在の領域負荷量を取得し、及び前記現在の領域負荷量に従って高負荷サーバ及び低負荷サーバを決定するように構成される負荷決定機器と、
    領域が現在位置しているサーバが高負荷サーバであり、且つ前記領域が、前記領域のローカルデータの量と、前記領域が現在位置している前記サーバ上の前記領域の前記合計データの量との比較に基づく低い方の値を有することに応じて、前記ターゲットサーバを前記低負荷サーバに変更するように構成されるターゲット変更機器
    を更に含み、前記領域移動機器は、前記領域が現在位置している前記サーバ、前記領域前記ターゲットサーバ異なるサーバであることに応じて、前記ターゲットサーバに前記領域を移動させるように更に構成される、請求項11又は12に記載の装置。
  17. 前記負荷決定機器は、サーバであって、その現在の領域負荷量が予め設定された負荷範囲上限を上回るサーバを高負荷サーバとして決定し、及びサーバであって、その現在の領域負荷量が予め設定された負荷範囲下限を下回るサーバを低負荷サーバとして決定するように構成される、請求項16に記載の装置。
  18. 前記領域のローカルデータの量と、前記領域の前記合計データの量との前記比較に基づく前記低い方の値を有する前記領域の数は、前記高負荷サーバの前記現在の領域負荷量と全サーバの平均の現在の領域負荷量との差である、請求項16又は17に記載の装置。
  19. 複数の低負荷サーバがある場合、前記ターゲット変更機器は、前記領域に対応する前記ターゲットサーバを、前記領域のローカルデータの量と、前記領域の前記合計データの量との前記比較に基づく高い方の値を有する低負荷サーバに変更するように構成される、請求項13〜18の何れか一項に記載の装置。
  20. 前記領域移動機器は、予め設定された間隔時間で、前記第1の領域が前記ターゲットサーバに移動された後に第2の領域を前記ターゲットサーバに移動させるように構成される、請求項11〜19の何れか一項に記載の装置。
  21. 命令の組を格納する非一時的コンピュータ可読媒体であって、前記命令の組は、負荷平衡システムに方法を行わせるように、前記負荷平衡システムの1つまたは複数のプロセッサによって実行可能であり、前記方法は、
    サーバの組内の1つ又は複数のサーバの複数の領域に関するデータ局在率を取得することであって、前記データ局在率のそれぞれは、前記サーバの組内の1つのサーバに対応する物理機械上に記憶される1つの領域のローカルデータの量と、前記1つの領域の合計データの量とに基づく、取得することと、
    前記複数の領域のうちの第1の領域のターゲットサーバを、前記ターゲットサーバ上の前記第1の領域のデータ局在率が、前記第1の領域が現在位置しているサーバ上の前記第1の領域のデータ局在率よりも大きいことに基づいて、決定することと、
    前記第1の領域を前記ターゲットサーバに移動させることと、
    を含む、非一時的コンピュータ可読媒体。

  22. 前記命令の組は、
    前記ターゲットサーバ上の前記第1の領域の前記データ局在率と、前記第1の領域が現在位置している前記サーバ上の前記第1の領域の前記データ局在率との差が予め設定された値を上回ることに応じて、前記第1の領域を前記ターゲットサーバに移動させること
    を前記負荷平衡システムに更に行わせるように、前記負荷平衡システムの前記1つまたは複数のプロセッサによって実行可能である、請求項21に記載の非一時的コンピュータ可読媒体。
  23. 前記命令の組は、
    各サーバの予想領域負荷量を計算することと、
    前記予想領域負荷量に基づいて前記サーバの組内の高負荷サーバ及び低負荷サーバを決定することであって、前記予想領域負荷量は、1つ又は複数の領域前記ターゲットサーバに移動された後の、サーバ上の領域の量である、決定することと、
    前記ターゲットサーバが高負荷サーバであり、且つ前記領域が、前記領域のローカルデータの量と、前記ターゲットサーバ上に存在することになる前記領域の前記合計データの量との比較に基づく、低い方の値を有することに応じて、前記ターゲットサーバを前記低負荷サーバに変更することと
    を前記負荷平衡システムに更に行わせるように、前記負荷平衡システムの前記1つまたは複数のプロセッサによって実行可能である、請求項21又は22に記載の非一時的コンピュータ可読媒体。
  24. 前記予想領域負荷量に基づいて前記高負荷サーバ及び前記低負荷サーバを決定することは、予想領域負荷量が予め設定された負荷範囲上限を上回るサーバを前記高負荷サーバとして決定し、及び、予想領域負荷量が予め設定された負荷範囲下限を下回るサーバを前記低負荷サーバとして決定することを含む、請求項23に記載の非一時的コンピュータ可読媒体。
  25. 領域のローカルデータの量と領域の前記合計データの量との前記比較に基づく低い方の値を有する領域の数は、前記高負荷サーバの前記予想領域負荷量と全サーバの平均予想領域負荷量との差である、請求項23又は24に記載の非一時的コンピュータ可読媒体。
  26. 前記命令の組は、
    各サーバの現在の領域負荷量を取得することと、
    前記現在の領域負荷量に従って高負荷サーバ及び低負荷サーバを決定することと、
    領域が現在位置するサーバが高負荷サーバであり、且つ前記領域が、前記領域のローカルデータの量と、前記領域が現在位置する前記サーバ上の前記領域の前記合計データの量との比較に基づく、低い方の値を有することに応じて、前記ターゲットサーバを前記低負荷サーバに変更することと
    前記領域が現在位置している前記サーバと、前記領域に関する前記ターゲットサーバとが異なることに応じて、前記領域を前記ターゲットサーバに移動させることと、
    を前記負荷平衡システムに更に行わせるように、前記負荷平衡システムの前記1つまたは複数のプロセッサによって実行可能である、請求項21又は22に記載の非一時的コンピュータ可読媒体。
  27. 前記現在の領域負荷量に従って前記高負荷サーバ及び前記低負荷サーバを決定することは、現在の領域負荷量が予め設定された負荷範囲上限を上回るサーバを前記高負荷サーバとして決定し、及び、現在の領域負荷量が予め設定された負荷範囲下限を下回るサーバを前記低負荷サーバとして決定することを含む、請求項26に記載の非一時的コンピュータ可読媒体。
  28. 領域のローカルデータの量と領域の前記合計データの量との前記比較に基づく低い方の値を有する領域の数は、前記高負荷サーバの前記現在の領域負荷量と全サーバの平均の現在の領域負荷量との差である、請求項26又は27に記載の非一時的コンピュータ可読媒体。
  29. 前記ターゲットサーバを前記低負荷サーバに変更することは、複数の低負荷サーバがあることに応じて、前記低負荷サーバ上の前記領域のデータ局在率に従い、前記ターゲットサーバを、前記領域のローカルデータの量と前記領域の前記合計データの量との比較に基づく高い方の値を有する前記低負荷サーバに変更することを含む、請求項23〜28の何れか一項に記載の非一時的コンピュータ可読媒体。
  30. 前記領域を前記ターゲットサーバに移動させることは、予め設定された間隔時間で、前記第1の領域前記ターゲットサーバに移動された後に、第2の領域を前記ターゲットサーバに移動させることを含む、請求項21〜29の何れか一項に記載の非一時的コンピュータ可読媒体。
  31. 前記第1の領域に関する前記ターゲットサーバは、前記データ局在率に基づいて決定され、最も高いデータ局在率を有する前記サーバが、前記ターゲットサーバとして決定される、請求項21に記載の非一時的コンピュータ可読媒体。

JP2018505621A 2015-08-06 2016-07-25 負荷平衡方法及び装置 Active JP6886964B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510477498.5 2015-08-06
CN201510477498.5A CN106445677A (zh) 2015-08-06 2015-08-06 负载均衡方法及设备
PCT/CN2016/091521 WO2017020742A1 (zh) 2015-08-06 2016-07-25 负载均衡方法及设备

Publications (3)

Publication Number Publication Date
JP2018525743A JP2018525743A (ja) 2018-09-06
JP2018525743A5 JP2018525743A5 (ja) 2019-09-05
JP6886964B2 true JP6886964B2 (ja) 2021-06-16

Family

ID=57943807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018505621A Active JP6886964B2 (ja) 2015-08-06 2016-07-25 負荷平衡方法及び装置

Country Status (4)

Country Link
US (1) US20180167461A1 (ja)
JP (1) JP6886964B2 (ja)
CN (1) CN106445677A (ja)
WO (1) WO2017020742A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124657B (zh) * 2018-10-31 2024-03-08 北京金山云网络技术有限公司 资源管理方法、装置、电子设备及存储介质
US11036698B2 (en) * 2018-12-06 2021-06-15 International Business Machines Corporation Non-relational database coprocessor for reading raw data files copied from relational databases
CN110007866B (zh) * 2019-04-11 2020-03-31 苏州浪潮智能科技有限公司 一种存储单元性能优化方法、装置、存储设备及存储介质
US10976963B2 (en) 2019-04-15 2021-04-13 International Business Machines Corporation Probabilistically selecting storage units based on latency or throughput in a dispersed storage network
US11165860B2 (en) 2019-11-01 2021-11-02 Uber Technologies, Inc. Dynamically computing load balancer subset size in a distributed computing system
CN112256438B (zh) * 2020-06-28 2021-06-25 腾讯科技(深圳)有限公司 负载均衡控制方法和装置、存储介质及电子设备
US11489776B2 (en) * 2020-07-28 2022-11-01 Arista Networks, Inc. Multicore offloading of network processing
US11025710B1 (en) * 2020-10-26 2021-06-01 Verizon Digital Media Services Inc. Systems and methods for dynamic load balancing based on server utilization and content popularity
CN113608870B (zh) * 2021-07-28 2024-07-19 北京金山云网络技术有限公司 消息队列的负载均衡方法及装置、电子设备及存储介质
US11971791B2 (en) * 2022-08-12 2024-04-30 Capital One Services, Llc Automated regional failover
CN116069594B (zh) * 2023-03-07 2023-06-16 武汉工程大学 一种负载均衡预测方法、装置、系统以及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005001700A1 (ja) * 2003-06-27 2005-01-06 Fujitsu Limited ストレージ容量管理方法、そのサーバ、記録媒体
JP5105894B2 (ja) * 2006-03-14 2012-12-26 キヤノン株式会社 文書検索システム、文書検索装置及びその方法とプログラム、記憶媒体
CN101610287B (zh) * 2009-06-16 2012-03-14 浙江大学 一种应用于分布式海量存储系统的负载均衡方法
US9740762B2 (en) * 2011-04-01 2017-08-22 Mongodb, Inc. System and method for optimizing data migration in a partitioned database
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
CN104102523A (zh) * 2013-04-03 2014-10-15 华为技术有限公司 迁移虚拟机的方法和资源调度平台
CN103268252A (zh) * 2013-05-12 2013-08-28 南京载玄信息科技有限公司 基于分布式存储的虚拟化平台系统及其实现方法
CN103226467B (zh) * 2013-05-23 2015-09-30 中国人民解放军国防科学技术大学 数据并行处理方法、系统及负载均衡调度器
US9934323B2 (en) * 2013-10-01 2018-04-03 Facebook, Inc. Systems and methods for dynamic mapping for locality and balance
CN103716381B (zh) * 2013-12-12 2017-04-12 华为技术有限公司 一种分布式系统的控制方法,及管理节点
CN104008012B (zh) * 2014-05-30 2017-10-20 长沙麓云信息科技有限公司 一种基于虚拟机动态迁移的高性能MapReduce实现方法

Also Published As

Publication number Publication date
WO2017020742A1 (zh) 2017-02-09
JP2018525743A (ja) 2018-09-06
US20180167461A1 (en) 2018-06-14
CN106445677A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
JP6886964B2 (ja) 負荷平衡方法及び装置
US10733029B2 (en) Movement of services across clusters
US9921866B2 (en) CPU overprovisioning and cloud compute workload scheduling mechanism
US20170031622A1 (en) Methods for allocating storage cluster hardware resources and devices thereof
US10356150B1 (en) Automated repartitioning of streaming data
US20130263142A1 (en) Control device, control method, computer readable recording medium in which program is recorded, and distributed processing system
US20120311295A1 (en) System and method of optimization of in-memory data grid placement
US20150199219A1 (en) Method and apparatus for server cluster management
US8589644B2 (en) Non-transitory medium, access control method, and information processing apparatus
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
CN106534308B (zh) 一种分布式存储系统中解决数据块访问热点的方法及装置
CN106339386B (zh) 数据库弹性调度方法以及装置
US20160173620A1 (en) Time-based data placement in a distributed storage system
WO2016041446A1 (zh) 一种资源分配方法、装置及设备
CN110018781B (zh) 磁盘流控方法、装置以及电子设备
EP3951607A1 (en) Data reading method, data writing method, and server
US20200117589A1 (en) Techniques and devices for cloud memory sizing
CN1602480A (zh) 管理附装在数据网络上的存储器资源
CN112506650A (zh) 资源分配方法、系统、计算机设备和存储介质
WO2016122595A1 (en) Chunk monitoring
US10606478B2 (en) High performance hadoop with new generation instances
US20190317665A1 (en) Resource fairness control in distributed storage systems using congestion data
US10254973B2 (en) Data management system and method for processing distributed data
US11080092B1 (en) Correlated volume placement in a distributed block storage service
US10609132B2 (en) Hash data structure biasing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200513

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210324

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210517

R150 Certificate of patent or registration of utility model

Ref document number: 6886964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250