(57)【要約】      （修正有）【課題】非常に多い小さいファイルのマイグレーションを行う時、ネットワーク帯域幅の消耗を抑制する方法及び装置を提供する。【解決手段】少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得て１０１、もしデータノードの相対負荷値は平均負荷値より以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加える。そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加える１０２。重負荷ノード集合の各重負荷ノードのデータを軽負荷ノード集合の各軽負荷ノードにマイグレーションする１０３。各データノードの負荷にダイナミックな調整を行って、負荷が大きいデータノードのデータを負荷が少ないデータノードにダイナミックにマイグレーションし、これによりクラウドストレージシステムの各データノードの負荷をもっとバランスさせる。【選択図】図１
2019121333.tif 000002
【特許請求の範囲】
【請求項１】
データダイナミックマイグレーション方法であって、少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得て、もしデータノードの相対負荷値は平均負荷値より以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加えて、そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加えて、重負荷ノード集合の各重負荷ノードのデータを軽負荷ノード集合の各軽負荷ノードにマイグレーションすることを特徴とするデータダイナミックマイグレーション方法。
【請求項２】
前記重負荷ノード集合の前記各重負荷ノードのデータを前記軽負荷ノード集合の前記各軽負荷ノードにマイグレーションし、前記重負荷ノード集合の前に配列する重負荷ノードを読み取り、前に配列する重負荷ノードの前記データブロックを負荷値降順配列方式によってデータブロックキューに加えて、次に前記データブロックキューの前に配列するデータブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加し、前に配列する軽負荷ノードの前記相対負荷値は前記平均負荷値より小さいと、前に配列する前記データブロックを前に配列する軽負荷ノードにマイグレーションし、前に配列する前記データブロックをデータブロックキューから削除し、そうでなければ、続き前記データブロックキューの前に配列する前記データブロックを読み取るステップを実行し、前に配列する重負荷ノードの前記相対負荷値は前記平均負荷値より小さい或いは前に配列する軽負荷ノードの前記相対負荷値は前記平均負荷値より以上までであれば、対応的に前記重負荷ノード集合或いは前記軽負荷ノード集合から削除し、前記重負荷ノード集合と前記軽負荷ノード集合は空きかどうかを判断し、そうでなければ、続きに前記重負荷ノード集合の前に配列する重負荷ノードを読み取るステップを実行し、前記データブロックキューの前に配列するデータブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加し、前記データブロックキューの前に配列するデータブロックを読み取り、もし前に配列する前記データブロックは可読状態であれば、前に配列する前記データブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加し、そうでなければ続き前記データブロックキューの次のデータブロックを読み取ることを特徴とする請求項１に記載のデータダイナミックマイグレーション方法。
【請求項３】
データダイナミックマイグレーション装置であって、アクセスユニットは少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得ることに用いて、確定ユニットはもしデータノードの相対負荷値は平均負荷値より以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加え、そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加えることに用いて、マイグレーションユニットは重負荷ノード集合の中の各重負荷ノードのデータを軽負荷ノード集合の中の各軽負荷ノードにマイグレーションすることに用いて、前記マイグレーションユニットは、前記重負荷ノード集合の前に配列する重負荷ノードを読み取り、前に配列する前記重負荷ノードのデータブロックを負荷値降順配列方式によってデータブロックキューに加えて、次に順番に前記データブロックキューの前に配列するデータブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加し、もし前に配列する軽負荷ノードの前記相対負荷値は前記平均負荷値より小さいと、前に配列する前記データブロックを前に配列する前記軽負荷ノードにマイグレーションし、前に配列する前記データブロックを前記データブロックキューから削除し、そうでなければ、続き前記データブロックキューの前に配列するデータブロックを読み取るステップを実行し、前に配列する重負荷ノードの前記相対負荷値は前記平均負荷値より小さい或いは前に配列する軽負荷ノードの相対負荷値は平均負荷値より以上までであれば、対応的に前記重負荷ノード集合或いは前記軽負荷ノード集合から削除し、前記重負荷ノード集合と前記軽負荷ノード集合は空きかどうかを判断し、そうでなければ、続きに前記重負荷ノード集合の前に配列する重負荷ノードを読み取るステップを実行し、前記マイグレーションユニットは、データブロックキューの前に配列するデータブロックを読み取り、もし前に配列する前記データブロックは可読状態であれば、前に配列する前記データブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加し、そうでなければ、続き前記データブロックキューの次のデータブロックを読み取ることを特徴とするデータダイナミックマイグレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータストレージ技術分野に関し、具体的にはデータダイナミックマイグレーション方法とデータダイナミックマイグレーション装置に関する。
【背景技術】
【０００２】
インターネットの高速発展につれて、現在の社会が発生するデータの量が急速に増えている。多くのインターネットの情報データは高周波の小さいファイルの形式で表現され、一般的なユーザーの情報ストレージアクセスの中に小さいファイルに対するストレージアクセスの操作が比較的に多い。クラウドストレージシステムの中に、非常に多いデータストレージ、高性能、高拡張性で、しかし小さいファイルの量はある程度に達した後、非常に多い小さいファイルをストレージすることはデータノードに巨大なメモリスペースの圧力をもたらして、非常に多い小さいファイルに対する頻繁かつ繰り返しのアクセスもデータノードに性能と負荷分散の影響がある。クラウドストレージシステムの中に、各データノードが一時期の実行を経た後、小さいファイルに対する頻繁なアクセスはデータノードの負荷がバランスを取れない情況を引き起こす。またクラウドストレージシステムの中に非常に多い小さいファイルをストレージした時、各データノードに負荷分散する時に非常に多い小さいファイルをマイグレーションする必要があり、選択したマイグレーション目標が合理ではない時、大規模な小さいファイルのマイグレーションオペレーションはもっと多いネットワーク帯域幅の消耗を引き起こす。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】中国特許出願公開第102231282号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明はデータダイナミックマイグレーション方法と装置を提供し、現有の技術において非常に多い小さいファイルに対する頻繁なアクセスはデータノードの負荷がバランスを取れない情況を引き起こし、マイグレーションオペレーションする時にもっと多いネットワーク帯域幅の消耗を引き起こす問題を解決する。
【課題を解決するための手段】
【０００５】
データダイナミックマイグレーション方法の特徴は以下を含む。
【０００６】
少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得る。
【０００７】
もしデータノードの相対負荷値は平均負荷値より以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加える。そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加える。
【０００８】
重負荷ノード集合の各重負荷ノードのデータを軽負荷ノード集合の各軽負荷ノードにマイグレーションする。
【０００９】
本発明の第一側面の好ましい方式として前記重負荷ノード集合の前記各重負荷ノードのデータを前記軽負荷ノード集合の前記各軽負荷ノードにマイグレーションすることは以下を含む。
【００１０】
前記重負荷ノード集合の前に配列する重負荷ノードを読み取り、前に配列する重負荷ノードの前記データブロックを負荷値降順配列方式によってデータブロックキューに加えて、次に前記データブロックキューの前に配列するデータブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加する。
【００１１】
前に配列する軽負荷ノードの前記相対負荷値は前記平均負荷値より小さいと、前に配列する前記データブロックを前に配列する軽負荷ノードにマイグレーションし、前に配列する前記データブロックをデータブロックキューから削除する。そうでなければ、続き前記データブロックキューの前に配列する前記データブロックを読み取るステップを実行し、前に配列する重負荷ノードの前記相対負荷値は前記平均負荷値より小さい或いは前に配列する軽負荷ノードの前記相対負荷値は前記平均負荷値より以上までで、対応的に前記重負荷ノード集合或いは前記軽負荷ノード集合から削除する。
【００１２】
前記重負荷ノード集合と前記軽負荷ノード集合は空きかどうかを判断し、そうでなければ、続きに前記重負荷ノード集合の前に配列する重負荷ノードを読み取るステップを実行する。
【００１３】
本発明の第一側面の好ましい方式として前記データブロックキューの前に配列するデータブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加することは以下を含む。
【００１４】
前記データブロックキューの前に配列するデータブロックを読み取る。
【００１５】
もし前に配列する前記データブロックは可読状態であれば、前に配列する前記データブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加する、そうでなければ続き前記データブロックキューの次のデータブロックを読み取る。
【００１６】
第二側面ではデータダイナミックマイグレーション装置の特徴は以下を含む。
【００１７】
アクセスユニットは少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得ることに用いる。
【００１８】
確定ユニットはもしデータノードの相対負荷値は平均負荷値より以上で、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加える。そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加えることに用いる。
【００１９】
マイグレーションユニットは重負荷ノード集合の中の各重負荷ノードのデータを軽負荷ノード集合の中の各軽負荷ノードにマイグレーションすることに用いる。
【００２０】
本発明の第二側面の好ましい方式として前記マイグレーションユニットは具体的に以下に用いる。
【００２１】
前記重負荷ノード集合の前に配列する重負荷ノードを読み取り、前に配列する前記重負荷ノードのデータブロックを負荷値降順配列方式によってデータブロックキューに加えて、次に順番に前記データブロックキューの前に配列するデータブロックの負荷値を前記軽負荷ノード集合の前に配列する軽負荷ノードに添加する。
【００２２】
もし前に配列する軽負荷ノードの前記相対負荷値は前記平均負荷値より小さいと、前に配列する前記データブロックを前に配列する前記軽負荷ノードにマイグレーションし、前に配列する前記データブロックを前記データブロックキューから削除する。そうでなければ、続き前記データブロックキューの前に配列するデータブロックを読み取るステップを実行し、前に配列する重負荷ノードの前記相対負荷値は前記平均負荷値より小さい或いは前に配列する軽負荷ノードの相対負荷値は平均負荷値より以上までで、対応的に前記重負荷ノード集合或いは前記軽負荷ノード集合から削除する。
【００２３】
前記重負荷ノード集合と前記軽負荷ノード集合は空きかどうかを判断し、そうでなければ、続きに前記重負荷ノード集合の前に配列する重負荷ノードを読み取るステップを実行する。
【００２４】
本発明の第二側面の好ましい方式として前記マイグレーションユニットはまた具体的に以下に用いる。
【００２５】
データブロックキューの前に配列するデータブロックを読み取る。
【００２６】
もし前に配列する前記データブロックは可読状態であれば、前に配列する前記データブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加し、そうでなければ、続き前記データブロックキューの次のデータブロックを読み取る。
【００２７】
本発明はデータダイナミックマイグレーション方法と装置を提供し、クラウドストレージシステムの各データノードの相対負荷値と全部のデータノードの平均負荷値によって、各データノードの負荷にダイナミックな調整を行って、負荷が大きいデータノードのデータを負荷が少ないデータノードにダイナミックにマイグレーションし、これによりクラウドストレージシステムの各データノードの負荷をもっとバランスさせる。
【００２８】
そして、データをマイグレーションする過程に選択する目標は非常に合理的で、大規模な小さいファイルをマイグレーションする操作ももっと多いネットワーク帯域幅の消耗を引き起こさない。
【発明の効果】
【００２９】
本発明はデータダイナミックマイグレーション方法と装置を提供し、クラウドストレージシステムの各データノードの相対負荷値と全部のデータノードの平均負荷値によって、各データノードの負荷にダイナミックな調整を行って、負荷が大きいデータノードのデータを負荷が少ないデータノードにダイナミックにマイグレーションし、これによりクラウドストレージシステムの各データノードの負荷をもっとバランスさせる。
【００３０】
そして、データをマイグレーションする過程に選択する目標は非常に合理的で、大規模な小さいファイルをマイグレーションする操作ももっと多いネットワーク帯域幅の消耗を引き起こさない。
【図面の簡単な説明】
【００３１】
本発明の実施例の中の技術方案をもっとはっきり説明するため、下記に実施例また既存の技術の説明の中に使用する必要がある図面に簡単な紹介を行って、一目でわかることは下記の説明の中の図面はただ本発明のいくつかの実施例で、本分野の当業者にとって、創造的な労働を払わないことを前提に、これらの図面に基づいてそのほかの図面を得ることができる。
【００３２】
【図１】図１は本発明に係るデータダイナミックマイグレーション方法のプロセス概略図である。
【図２】図２は本発明に係るデータダイナミックマイグレーション方法のもう一つのプロセス概略図である。
【図３】図３は本発明に係るデータダイナミックマイグレーション装置の構造概略図である。
【発明を実施するための形態】
【００３３】
本技術分野の技術者に本発明をもっとよく理解させるため、下記に本発明の実施例の図面を交え本発明実施例の中の技術方案をはっきりと完全に説明する。説明した実施例はただ本発明の一部分の実施例だけで、全部の実施例ではないである。本発明の中の実施例に基づいて、本分野の当業者は創造的な労働を払わないことを前提に得た全部のその他の実施例は本発明の保護範囲に属する。
【００３４】
図１を参照し、本発明に係るデータダイナミックマイグレーション方法は以下を含む。
【００３５】
101、少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得る。
【００３６】
本実施例の中に、まずクラウドストレージシステムの任意の一つのデータノードの相対負荷値を計算し、各データノードの相対負荷値によって全部のデータノードの平均負荷値を計算する。
【００３７】
102、もしデータノードの相対負荷値は平均負荷値より以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加える。そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加える。
【００３８】
本実施例の中に、各データノードの相対負荷値と平均負荷値の大きさを判断し、もしデータノードの相対負荷値は平均負荷値より以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加える。もしデータノードの相対負荷値は平均負荷値より少ないと、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加える。
【００３９】
103、重負荷ノード集合の各重負荷ノードのデータを軽負荷ノード集合の各軽負荷ノードにマイグレーションする。
【００４０】
本実施例の中に上記のステップによって区分された重負荷ノード集合と軽負荷ノード集合は重負荷ノード集合の中の負荷を軽負荷ノード集合にマイグレーションすることができ、クラウドストレージシステムの負荷をもっとバランスさせる。
【００４１】
好ましくは実施可能の方式の中にステップ103は以下の具体的なステップに基づいて実現できる。
【００４２】
1031、重負荷ノード集合の前に配列する重負荷ノードを読み取り、前に配列する重負荷ノードのデータブロックを負荷値降順配列方式によってデータブロックキューに加えて、次に順番にデータブロックキューの前に配列するデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加する。
【００４３】
このステップの中に、順番に重負荷ノード集合の前に配列する重負荷ノードを読み取り、この重負荷ノードのデータブロックを抽出し、各自の負荷値の大きさによって、これらのデータブロックを降順配列方式によってデータブロックキューに加える。
【００４４】
順番にこのデータブロックキューの前に配列するデータブロックを読み取り、このデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加する。
【００４５】
データブロックキューから前に配列するデータブロックを読み取る時、それが可読状態にあるかどうかを判断する必要があり、可読状態こそデータブロックをデータをマイグレーションできる。
【００４６】
好ましくは実施可能の方式の中に、データブロックキューの前に配列するデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加することは以下の具体的なステップに基づいて実現できる。
【００４７】
a、データブロックキューの前に配列するデータブロックを読み取る。
【００４８】
b、もし前に配列するデータブロックは可読状態であれば、前に配列するデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加する、そうでなければ続きデータブロックキューの次のデータブロックを読み取る。
【００４９】
1032、前に配列する軽負荷ノードの相対負荷値は平均負荷値より小さいと、前に配列するデータブロックを前に配列する軽負荷ノードにマイグレーションし、前に配列するデータブロックをデータブロックキューから削除する。そうでなければ、続きデータブロックキューの前に配列するデータブロックを読み取るステップを実行し、前に配列する重負荷ノードの相対負荷値は平均負荷値より小さい或いは前に配列する軽負荷ノードの相対負荷値は平均負荷値より以上までで、対応的に重負荷ノード集合或いは軽負荷ノード集合から削除する。
【００５０】
このステップの中にデータブロックキューの前に配列するデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加した後、まずに前に配列する軽負荷ノードの相対負荷値と平均負荷値の大きさを判断する。
【００５１】
もし前に配列する軽負荷ノードの相対負荷値は平均負荷値より少ないと、前に配列するデータブロックを前に配列する軽負荷ノードにマイグレーションし、前に配列するデータブロックをデータブロックキューから削除する。もし前に配列する軽負荷ノードの相対負荷値は平均負荷値より以上であれば、続きデータブロックキューの次のデータブロックを読み取って、このデータブロックがマイグレーションする条件を満足するかどうかを判断し、前に配列する重負荷ノードの相対負荷値は平均負荷値より小さい或いは前に配列する軽負荷ノードの相対負荷値は平均負荷値より以上までで、この時に前に配列する重負荷ノードの負荷をマイグレーションする必要がない、或いは前に配列する軽負荷ノードの負荷はもうマイグレーションする範囲を超えて、その他の重負荷ノードの負荷を受け取れないことを説明する。
【００５２】
前に配列する重負荷ノードと前に配列する軽負荷ノードをマイグレーションする過程が終わった後、この重負荷ノードを重負荷ノード集合から削除し、或いはこの軽負荷ノードを軽負荷ノード集合から削除し、その負荷はバランスでダイナミックマイグレーションする必要がないことを表示し、順番に二つの集合のその他のノードに対して続きダイナミックマイグレーションする。
【００５３】
1033.重負荷ノード集合と軽負荷ノード集合は空きかどうかを判断し、そうでなければ、続きに重負荷ノード集合の前に配列する重負荷ノードを読み取るステップを実行する。
【００５４】
このステップの中に、絶えずに二つの集合の中のノードを削除した後、重負荷ノード集合或いは軽負荷ノード集合の中に一つの集合が空きかどうかを判断する。もしその中に任意の一つの集合が空きであれば、全部のダイナミックマイグレーション過程が完成したことを説明する。もし二つの集合が空きではないと、続きに重負荷ノード集合の重負荷ノードを読み取り、その負荷を軽負荷ノード集合の軽負荷ノードにマイグレーションする。
【００５５】
図２を参照し、本発明実施例が提供するデータダイナミックマイグレーション方法を以下を含む。
【００５６】
201、少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得る。
【００５７】
202、各データノードの相対負荷値は平均負荷値より以上かどうかを判断する。
【００５８】
203、もしあればこのデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加える。そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加える。
【００５９】
204、重負荷ノード集合の前に配列する重負荷ノードを読み取り、前に配列する重負荷ノードのデータブロックを負荷値降順配列方式によってデータブロックキューに加える。
【００６０】
205、データブロックキューの前に配列するデータブロックを読み取る。
【００６１】
206、前に配列するデータブロックが可読状態にあるかどうかを判断する。
【００６２】
207、もしあれば、前に配列するデータブロックは可読状態で、前に配列するデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加する。そうでなければ、続きステップ205を実行する。
【００６３】
208、前に配列する軽負荷ノードの相対負荷値は平均負荷値より少ないかどうかを判断する。
【００６４】
209、もしなければ、前に配列するデータブロックを前に配列する軽負荷ノードにマイグレーションし、前に配列するデータブロックをデータブロックキューから削除する。そうでなければ、続きステップ205を実行する。
【００６５】
210、前に配列する重負荷ノードと前に配列する軽負荷ノードの相対負荷値と平均負荷値の大きさを判断する。
【００６６】
211、もし前に配列する重負荷ノードの相対負荷値は平均負荷値より少ない或いは前に配列する軽負荷ノードの相対負荷値は平均負荷値より以上であれば、対応的に重負荷ノード集合或いは軽負荷ノード集合から削除する。
【００６７】
212、重負荷ノード集合と軽負荷ノード集合は空きかどうかを判断する。
【００６８】
213、もしあれば、全部のダイナミックマイグレーション過程が完成した、そうでなければ、続きステップ204を実行する。
【００６９】
説明することが必要なのは本発明実施例が提供するデータストレージ方法の具体的な実施過程は上記の実施例の中の方法ステップに対する説明を参照でき、ここでは省略する。
【００７０】
図３を参照し、本発明実施例が提供するデータダイナミックマイグレーション装置を以下を含む。
【００７１】
アクセスユニット31は少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得ることに用いる。
【００７２】
確定ユニット32はもしデータノードの相対負荷値は平均負荷値より以上で、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加える。そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加えることに用いる。
【００７３】
マイグレーションユニット33は重負荷ノード集合の中の各重負荷ノードのデータを軽負荷ノード集合の中の各軽負荷ノードにマイグレーションすることに用いる。
【００７４】
好ましくはマイグレーションユニット33は具体的に以下に用いる。
【００７５】
重負荷ノード集合の前に配列する重負荷ノードを読み取り、前に配列する重負荷ノードのデータブロックを負荷値降順配列方式によってデータブロックキューに加えて、次に順番にデータブロックキューの前に配列するデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加する。
【００７６】
もし前に配列する軽負荷ノードの相対負荷値は平均負荷値より小さいと、前に配列するデータブロックを前に配列する軽負荷ノードにマイグレーションし、前に配列するデータブロックをデータブロックキューから削除する。そうでなければ、続きデータブロックキューの前に配列するデータブロックを読み取るステップを実行し、前に配列する重負荷ノードの相対負荷値は平均負荷値より小さい或いは前に配列する軽負荷ノードの相対負荷値は平均負荷値より以上までで、対応的に重負荷ノード集合或いは軽負荷ノード集合から削除する。
【００７７】
重負荷ノード集合と軽負荷ノード集合は空きかどうかを判断し、そうでなければ、続きに重負荷ノード集合の前に配列する重負荷ノードを読み取るステップを実行する。
【００７８】
好ましくはマイグレーションユニット33はまた具体的に以下に用いる。
【００７９】
データブロックキューの前に配列するデータブロックを読み取る。
【００８０】
もし前に配列するデータブロックは可読状態であれば、前に配列するデータブロックの負荷値を軽負荷ノード集合の前に配列する軽負荷ノードに添加し、そうでなければ、続きデータブロックキューの次のデータブロックを読み取る。
【００８１】
説明することが必要なのは、本発明実施例が提供するデータストレージ装置は上記の実施例が述べたデータストレージ方法と同じ技術構想に属し、その具体的な実施過程は上記の実施例の中の方法ステップに対する説明を参照でき、ここでは省略する。
【００８２】
本発明が提供するデータダイナミックマイグレーション方法と装置はクラウドストレージシステムの各データノードの相対負荷値と全部のデータノードの平均負荷値によって、各データノードの負荷にダイナミックな調整を行って、負荷が大きいデータノードのデータを負荷が少ないデータノードにダイナミックにマイグレーションし、これによりクラウドストレージシステムの各データノードの負荷をもっとバランスさせる。
【００８３】
そして、データをマイグレーションする過程に選択する目標は非常に合理的で、大規模な小さいファイルをマイグレーションする操作ももっと多いネットワーク帯域幅の消耗を引き起こさない。
【００８４】
本発明の上記の実施例の中に、各実施例の説明にそれぞれ偏重があり、もしある実施例に詳しく説明する部分がなければ、その他の実施例の関連する説明を参照できる。
【００８５】
以上に述べたのはただ本発明のより良い実施例で、本発明を限定することに使わない。本発明の意義と原則のもとで行う全ての修正、同等の入れ替えと改善などは本発明の保護範囲に含まれる。
【図１】
2019121333.tif 000003
【図２】
2019121333.tif 000004
【図３】
2019121333.tif 000005
【手続補正書】
【提出日】平成30年7月31日(2018.7.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
人間が、データダイナミックマイグレーション装置を操作しながら、各工程をデータダイナミックマイグレーション装置に指示する操作方法であるデータダイナミックマイグレーション方法であって、
少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得て、
もしデータノードの相対負荷値は平均負荷値以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加えて、そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加えて、
前記重負荷ノード集合の前記各重負荷ノードのデータを前記軽負荷ノード集合の前記各軽負荷ノードにマイグレーションし、
前記重負荷ノード集合の先端にある重負荷ノードを読み取り、前記の先端にある重負荷ノードのデータブロックを負荷値降順配列方式によってデータブロックキューに加えて、
次に前記データブロックキューの先端にあるデータブロックの相対負荷値を前記軽負荷ノード集合の先端にある軽負荷ノードに添加し、
先端にある軽負荷ノードの前記相対負荷値は前記平均負荷値より小さいと、先端にある前記データブロックを先端にある軽負荷ノードにマイグレーションし、先端にある前記データブロックをデータブロックキューから削除し、
そうでなければ、継続して前記データブロックキューの先端にある前記データブロックを読み取るステップを実行し、
先端にある重負荷ノードの前記相対負荷値は前記平均負荷値より小さい且つ先端にある軽負荷ノードの前記相対負荷値は前記平均負荷値以上になると、前記重負荷ノード集合且つ前記軽負荷ノード集合から前記データブロックキューの先端にある前記データブロックを削除し、
前記重負荷ノード集合と前記軽負荷ノード集合は空きかどうかを判断し、
そうでなければ、継続して前記重負荷ノード集合の先端にある重負荷ノードを読み取るステップを実行し、
前記データブロックキューの先端にあるデータブロックの相対負荷値を前記軽負荷ノード集合の先端にある軽負荷ノードに添加し、
前記データブロックキューの先端にあるデータブロックを読み取り、もし先端にある前記データブロックは前記データブロックに障害が発生していない状態である可読状態であれば、先端にある前記データブロックの相対負荷値を前記軽負荷ノード集合の先端にある軽負荷ノードに添加し、そうでなければ、継続して前記データブロックキューの次のデータブロックを読み取ることを特徴とするデータダイナミックマイグレーション方法。
【請求項２】
データダイナミックマイグレーション装置であって、
アクセスユニット、確定ユニット、及びマイグレーションユニットを含み、
アクセスユニットは少なくとも一つのデータノードの相対負荷値と全部のデータノードの平均負荷値を得ることに用いて、
確定ユニットはもしデータノードの相対負荷値は平均負荷値以上であれば、このデータノードを重負荷ノードに確定し降順配列方式によって重負荷ノード集合に加え、そうでなければ、このデータノードを軽負荷ノードに確定し昇順配列方式によって軽負荷ノード集合に加えることに用いて、
マイグレーションユニットは重負荷ノード集合の中の各重負荷ノードのデータを軽負荷ノード集合の中の各軽負荷ノードにマイグレーションすることに用いて、
前記マイグレーションユニットは、前記重負荷ノード集合の先端にある重負荷ノードを読み取り、先端にある前記重負荷ノードのデータブロックを負荷値降順配列方式によってデータブロックキューに加えて、
次に順番に前記データブロックキューの先端にあるデータブロックの相対負荷値を前記軽負荷ノード集合の先端にある軽負荷ノードに添加し、
もし先端にある軽負荷ノードの前記相対負荷値は前記平均負荷値より小さいと、先端にある前記データブロックを先端にある前記軽負荷ノードにマイグレーションし、先端にある前記データブロックを前記データブロックキューから削除し、
そうでなければ、継続して前記データブロックキューの先端にあるデータブロックを読み取るステップを実行し、
先端にある重負荷ノードの前記相対負荷値は前記平均負荷値より小さい且つ先端にある軽負荷ノードの相対負荷値は平均負荷値以上になると、前記重負荷ノード集合且つ前記軽負荷ノード集合から前記データブロックキューの先端にある前記データブロックを削除し、
前記重負荷ノード集合と前記軽負荷ノード集合は空きかどうかを判断し、
そうでなければ、継続して前記重負荷ノード集合の先端にある重負荷ノードを読み取るステップを実行し、
前記マイグレーションユニットは、データブロックキューの先端にあるデータブロックを読み取り、もし先端にある前記データブロックは前記データブロックに障害が発生していない状態である可読状態であれば、先端にある前記データブロックの相対負荷値を軽負荷ノード集合の先端にある軽負荷ノードに添加し、そうでなければ、継続して前記データブロックキューの次のデータブロックを読み取ることを特徴とするデータダイナミックマイグレーション装置。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2019121333.tif 000006