(57)【要約】      （修正有）【課題】分散ファイルシステムにおけるメタデータノードの負荷を効果的に分散するデータ処理方法、装置及びシステムを提供する。【解決手段】方法は、アクセス要求の受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定するステップと、管理サーバ側から予め設定された完全二分木を取得するステップと、を含む。ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連する。リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられる。さらに、、第１の時間間隔に従って完全二分木からターゲットパスを選択するステップと、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信するステップと、を含む。【選択図】図２
2020102189.tif 000002
【特許請求の範囲】
【請求項１】
クライアント側に応用されるデータ処理用の方法であって、
アクセス要求の受信に応答し、前記アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定することと、
管理サーバ側から予め設定された完全二分木を取得することであって、ここで、前記完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられることと、
前記第１の時間間隔に従って前記完全二分木からターゲットパスを選択することと、
前記アクセス要求と前記ターゲットパスを、前記ターゲットパスのリーフノードに対応するメタデータサーバに送信することと
を含む、データ処理用の方法。
【請求項２】
前記の、前記第１の時間間隔に従って前記完全二分木からターゲットパスを選択することは、
前記完全二分木の中のノードに対して、前記第１の時間間隔が当該ノードの値よりも小さい場合、当該ノードの所定の側の子ノードをターゲットノードとして決定することと、
決定されたターゲットノードからターゲットパスを構成することと
を含む、請求項１に記載の方法。
【請求項３】
前記の、前記アクセス要求を、前記ターゲットパスのリーフノードに対応するメタデータサーバに送信することは、
予め設定されたコンシステントハッシュリングを使用して、前記ターゲットパスのリーフノードがマッピングするターゲットメタデータサーバを確定することと、
前記アクセス要求を前記ターゲットメタデータサーバに送信することと
を含む、請求項１に記載の方法。
【請求項４】
メタデータサーバ側に応用されるデータ処理用の方法であって、
クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、前記アクセス要求と前回のアクセス要求との間の時間間隔を第２の時間間隔として確定することであって、ここで、前記完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられることと、
前記ターゲットパスと前記第２の時間間隔に従って、前記完全二分木の中のノードの値の変更量を確定することと、
前記アクセス要求に従ってアクセス結果を照会し、前記アクセス結果を前記クライアント側に送信することと、
前記完全二分木の中のノードの値の変更量を管理サーバ側に送信することと
を含む、データ処理用の方法。
【請求項５】
前記の、前記ターゲットパスと前記第２の時間間隔に従って、前記完全二分木の中のノードの値の変更量を確定することは、
前記第２の時間間隔の第１の重み付値を、前記ターゲットパス上のノードの値の減少量として確定することであって、ここで、前記第１の重み付値は、前記第２の時間間隔と所定の第１の重みとの積であることと、
前記第２の時間間隔の第２の重み付値は、前記ターゲットパスの対称パス上のノードの値の増加量として確定することであって、ここで、前記第２の重み付値は、第２の時間間隔と所定の第２の重みの積であることと
を含む、請求項４に記載の方法。
【請求項６】
管理サーバ側に応用されるデータ処理用の方法であって、
少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って前記完全二分木を更新することであって、ここで、前記完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられることと、
クライアント側によって送信された、前記完全二分木を取得する要求の受信に応答して、前記完全二分木を前記クライアント側に送信することと
を含む、データ処理用の方法。
【請求項７】
クライアント側に応用されるデータ処理用の装置であって、
アクセス要求の受信に応答し、前記アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定するように配置されている第１の計時ユニットと、
管理サーバ側から予め設定された完全二分木を取得する取得ユニットであって、ここで、完全二分木の非リーフノードの値は、前記メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されている取得ユニットと、
前記第１の時間間隔に従って前記完全二分木からターゲットパスを選択するように配置されている選択ユニットと、
前記アクセス要求と前記ターゲットパスを、前記ターゲットパスのリーフノードに対応するメタデータサーバに送信するように配置されている第１の送信ユニットと
を含む、データ処理用の装置。
【請求項８】
前記選択ユニットは、
前記完全二分木の中のノードに対して、前記第１の時間間隔が当該ノードの値よりも小さい場合、当該ノードの所定の側の子ノードをターゲットノードとして決定し、
決定されたターゲットノードからターゲットパスを構成するように更に配置されている請求項７に記載の装置。
【請求項９】
前記第１の送信ユニットは、
予め設定されたコンシステントハッシュリングを使用して、前記ターゲットパスのリーフノードがマッピングするターゲットメタデータサーバを確定し、
前記アクセス要求を前記ターゲットメタデータサーバに送信するように更に配置されている請求項７に記載の装置。
【請求項１０】
メタデータサーバ側に応用されるデータ処理用の装置であって、
クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、前記アクセス要求と前回のアクセス要求との間の時間間隔を第２の時間間隔として確定する第２の計時ユニットであって、ここで、前記完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されている第２の計時ユニットと、
前記ターゲットパスと前記第２の時間間隔に従って、前記完全二分木の中のノードの値の変更量を確定するように配置されている確定ユニットと、
前記アクセス要求に従ってアクセス結果を照会し、前記アクセス結果を前記クライアント側に送信するように配置されている第２の送信ユニットと、
前記完全二分木の中のノードの値の変更量を管理サーバ側に送信するように配置されている第３の送信ユニットと
を含む、データ処理用の装置。
【請求項１１】
前記確定ユニットは、
前記第２の時間間隔の第１の重み付値を、前記ターゲットパス上のノードの値の減少量として確定し、ここで、前記第１の重み付値は、前記第２の時間間隔と所定の第１の重みとの積であり、
前記第２の時間間隔の第２の重み付値は、前記ターゲットパスの対称パス上のノードの値の増加量として確定し、ここで、前記第２の重み付値は、前記第２の時間間隔と所定の第２の重みの積であるように更に配置されていることを特徴とする請求項１０に記載の装置。
【請求項１２】
管理サーバ側に応用されるデータ処理用の装置であって、
少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って前記完全二分木を更新する更新ユニットであって、ここで、前記完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されている更新ユニットと、
クライアント側によって送信された、前記完全二分木を取得する要求の受信に応答して、前記完全二分木を前記クライアント側に送信するように配置されているダウンロードユニットと
を含む、データ処理用の装置。
【請求項１３】
アクセス要求の受信に応答し、今回のアクセス要求と前回のアクセス要求の第１の時間間隔を確定し、管理サーバ側から予め設定された完全二分木を取得し、前記第１の時間間隔に従って前記完全二分木からターゲットパスを選択し、前記アクセス要求と前記ターゲットパスを、前記ターゲットパスのリーフノードに対応するメタデータサーバに送信するクライアント側であって、ここで、前記完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されているクライアント側と、
クライアント側によって送信されたアクセス要求と前記完全二分木の中のターゲットパスの受信に応答し、今回のアクセス要求と前回のアクセス要求の第２の時間間隔を確定し、前記ターゲットパスと前記第２の時間間隔に従って、前記完全二分木の中のノードの値の変更量を確定し、前記アクセス要求のアクセス結果を前記クライアント側に送信し、前記完全二分木の中のノードの値の変更量を管理サーバ側に送信するように配置されている少なくとも１つのメタデータサーバ側と、
少なくとも１つのメタデータサーバ側によって送信された前記完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って前記完全二分木を更新し、クライアント側によって送信された、前記完全二分木を取得する要求の受信に応答して、前記完全二分木をクライアント側に送信するように配置されている管理サーバと
を含む、データ処理用のシステム。
【請求項１４】
１つ又は複数のプロセッサと、
１つ又は複数のプログラムが記憶されている記憶装置とを含む電子設備であって、
当該１つ又は複数のプログラムが前記１つ又は複数のプロセッサにより実行される場合、請求項１〜６のいずれか１つの方法を前記１つ又は複数のプロセッサに実現させる、電子設備。
【請求項１５】
コンピュータプログラムが記憶されているコンピュータ読み取り可能なメディアであって、
当該プログラムがプロセッサにより実行される場合、請求項１〜６のいずれか１つの方法を実現させる、コンピュータ読み取り可能なメディア。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施形態は、コンピュータ技術の分野に関し、具体的には、データ処理用の方法、装置及びシステムに関する。
【背景技術】
【０００２】
ファイルシステムは、コンピュータ分野のデータストレージ形式として、あらゆる分野のコンピュータアプリケーションシステムで長い間使用されてきたが、データボリュームの爆発的な増加に伴い、コンピュータクラスタに基づく分散ファイルシステムが出現した。このような大規模な分散ファイルシステムの設計では、ファイルシステム全体のメタ情報を管理するために別個のメタデータ処理ノードが必要であり、ファイルまたはディレクトリの数が十億ひいては百億級に達すると、メタデータノードの負荷がシステムの最大のボトルネックになる。既存の負荷分散方法は、各メタデータサーバが担当するサブディレクトリ数を固定配置することから、ハッシュテーブルを介してマッピングを行うことまで、すべて負荷分散を行うために効果的な方法である。また、オープンソースの分散ファイルシステムでは、動的サブツリーパーティショニングの方法も提案されている。これは、ファイルシステム内の各ディレクトリのアクセス負荷を監視することにより、各メタデータサーバが担当するサブディレクトリツリーを動的に調整する方法である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
これらの方法は絶え間ない実践を通じて発展してきたが、それぞれに独自の欠陥と適用範囲がある。そのうち、静的配置の方法は、データアクセスの位置が固定のシナリオには適せず、異常な状況への対応も比較的に欠如している。ハッシュテーブルマッピングの方法は、データの分布が固定であるシナリオ、または環境が頻繁に変化するシナリオには適しない。また、動的パーティショニングの方法は、システムの負荷のみを監視し、行ったパーティショニングと遷移の決定は必ずしも正確であるとは限らず、システムの負荷レベルを完全に描き出すことはできない。
【課題を解決するための手段】
【０００４】
本願の実施形態は、データ処理用の方法、装置及びシステムを提供する。
【０００５】
第１の側面においては、本願の実施形態は、クライアント側に応用されるデータ処理用の方法を提供する。当該方法は、アクセス要求の受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定することと、管理サーバ側から予め設定された完全二分木を取得することであって、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられることと、第１の時間間隔に従って完全二分木からターゲットパスを選択することと、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信することとを含む。
【０００６】
幾つかの実施形態においては、第１の時間間隔に従って完全二分木からターゲットパスを選択することは、完全二分木の中のノードに対して、第１の時間間隔が当該ノードの値よりも小さい場合、当該ノードの所定の側の子ノードをターゲットノードとして決定することと、決定されたターゲットノードからターゲットパスを構成することとを含む。
【０００７】
幾つかの実施形態においては、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信することは、予め設定されたコンシステントハッシュリングを使用して、ターゲットパスのリーフノードがマッピングするターゲットメタデータサーバを決定することと、アクセス要求をターゲットメタデータサーバに送信することとを含む。
【０００８】
第２の側面においては、本願の実施形態は、メタデータサーバ側に応用されるデータ処理用の方法を提供する。当該方法は、クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第２の時間間隔として確定することであって、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられることと、ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定することと、アクセス要求に従ってアクセス結果を照会し、アクセス結果をクライアント側に送信することと、完全二分木の中のノードの値の変更量を管理サーバ側に送信することとを含む。
【０００９】
幾つかの実施形態においては、ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定することは、第２の時間間隔の第１の重み付値を、ターゲットパス上のノードの値の減少量として確定することであって、ここで、第１の重み付値は、第２の時間間隔と所定の第１の重みとの積であることと、第２の時間間隔の第２の重み付値は、ターゲットパスの対称パス上のノードの値の増加量として確定することであって、ここで、第２の重み付値は、第２の時間間隔と所定の第２の重みの積であることとを含む。
【００１０】
第３の側面においては、本願の実施形態は、管理サーバに応用されるデータ処理用の方法を提供する。当該方法は、少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って完全二分木を更新することであって、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられることと、クライアント側によって送信された、完全二分木を取得する要求の受信に応答して、完全二分木をクライアント側に送信することとを含む。
【００１１】
第４の側面においては、本願の実施形態は、クライアント側に応用されるデータ処理用の装置を提供する。当該装置は、アクセス要求の受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定するように配置されている第１の計時ユニットと、管理サーバ側から予め設定された完全二分木を取得する取得ユニットであって、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されている取得ユニットと、第１の時間間隔に従って完全二分木からターゲットパスを選択するように配置されている選択ユニットと、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信するように配置されている第１の送信ユニットとを含む。
【００１２】
幾つかの実施形態においては、選択ユニットは、完全二分木の中のノードに対して、第１の時間間隔が当該ノードの値よりも小さい場合、当該ノードの所定の側の子ノードをターゲットノードとして決定し、決定されたターゲットノードからターゲットパスを構成するように更に配置されている。
【００１３】
幾つかの実施形態においては、第１の送信ユニットは、予め設定されたコンシステントハッシュリングを使用して、ターゲットパスのリーフノードがマッピングするターゲットメタデータサーバを決定し、アクセス要求をターゲットメタデータサーバに送信するように更に配置されている。
【００１４】
第５の側面においては、本願の実施形態は、メタデータサーバ側に応用されるデータ処理用の装置を提供する。当該装置は、クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第２の時間間隔として確定する第２の計時ユニットであって、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されている第２の計時ユニットと、ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定するように配置されている確定ユニットと、アクセス要求に従ってアクセス結果を照会し、アクセス結果をクライアント側に送信するように配置されている第２の送信ユニットと、完全二分木の中のノードの値の変更量を管理サーバ側に送信するように配置されている第３の送信ユニットとを含む。
【００１５】
幾つかの実施形態においては、確定ユニットは、第２の時間間隔の第１の重み付値を、ターゲットパス上のノードの値の減少量として確定し、ここで、第１の重み付値は、第２の時間間隔と所定の第１の重みとの積であり、第２の時間間隔の第２の重み付値は、ターゲットパスの対称パス上のノードの値の増加量として確定し、ここで、第２の重み付値は、第２の時間間隔と所定の第２の重みの積であるように更に配置されている。
【００１６】
第６の側面においては、本願の実施形態は、管理サーバに応用されるデータ処理用の装置を提供する。当該装置は、少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って完全二分木を更新し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されている更新ユニットと、クライアント側によって送信された、完全二分木を取得する要求の受信に応答して、完全二分木をクライアント側に送信するように配置されているダウンロードユニットとを含む。
【００１７】
第７の側面においては、本願の実施形態は、データ処理用のシステムを提供する。当該システムは、アクセス要求の受信に応答し、今回のアクセス要求と前回のアクセス要求の第１の時間間隔を確定し、管理サーバ側から予め設定された完全二分木を取得し、第１の時間間隔に従って完全二分木からターゲットパスを選択し、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されているクライアント側と、クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、今回のアクセス要求と前回のアクセス要求の第２の時間間隔を確定し、ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定し、アクセス要求のアクセス結果をクライアント側に送信し、完全二分木の中のノードの値の変更量を管理サーバ側に送信するように配置されている少なくとも１つのメタデータサーバ側と、少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って完全二分木を更新し、クライアント側によって送信された、完全二分木を取得する要求の受信に応答して、完全二分木をクライアント側に送信するように配置されている管理サーバとを含む。
【００１８】
第８の側面においては、本願の実施形態は、１つ又は複数のプロセッサと、１つ又は複数のプログラムが記憶されている記憶装置とを含む電子設備を提供する。当該１つ又は複数のプログラムが前記１つ又は複数のプロセッサにより実行される場合、第１の側面、第２の側面、及び第３の側面の中のいずれか１つの実施形態に記載の方法を前記１つ又は複数のプロセッサに実現させる。
【００１９】
第９の側面においては、本願の実施形態は、コンピュータプログラムが記憶されているコンピュータ読み取り可能メディアを提供する。当該プログラムがプロセッサにより実行される場合、第１の側面、第２の側面、及び第３の側面の中のいずれか１つの実施形態に記載の方法を実現させる。
【００２０】
本願の実施形態によるデータ処理用の方法、装置及びシステムは、自主的にメタデータサーバのアクセス負荷を学習し、実際のアプリケーションシナリオと組み合わせて動的負荷分散を実現することができ、メタデータアクセスのコア指示ＱＰＳ（Query Per Second、１秒あたりのクエリ数）に基づくことによって、大規模な分散ファイルシステムのリアルタイムの負荷状況を完全に描き出すことを追求することができ、よって各々のアクセス要求に応答する適切なメタデータサーバを選び出すことができる。
【図面の簡単な説明】
【００２１】
以下の図面による非限定的な実施形態についての詳細な説明を読み、参照することにより、本願の他の特徴、目的及び利点がより明らかになる。
【図１】図１は、本願の１つの実施形態がその中で適用できる例示的なシステム構成図である。
【図２】図２は、本願によるデータ処理用の方法の、クライアント側に応用される一つの実施形態のフローチャート図である。
【図３】図３は、本願による完全二分木の構造の模式図である。
【図４】図４は、本願によるデータ処理用の方法の、メタデータサーバ側に応用される一つの実施形態のフローチャート図である。
【図５】図５は、本願によるデータ処理用の方法の、管理サーバ側に応用される一つの実施形態のフローチャート図である。
【図６】図６は、本願によるデータ処理用の方法の１つの応用シナリオの模式図である。
【図７】図７は、本願によるデータ処理用の装置の、クライアント側に応用される１つの実施形態の構造模式図である。
【図８】図８は、本願によるデータ処理用の装置の、メタデータサーバ側に応用される１つの実施形態の構造模式図である。
【図９】図９は、本願によるデータ処理用の装置の、管理サーバ側に応用される１つの実施形態の構造模式図である。
【図１０】図１０は、本願の実施形態の設備を実現するのに適するコンピュータシステムの構造模式図である。
【発明を実施するための形態】
【００２２】
以下、図面と実施形態を参照しながら、本願を詳細に説明する。ここで記載される具体的な実施形態は、関連の発明を解釈するのみに用いられ、当該発明に対する限定ではないことは理解される。なお、説明の便宜上、図面には、関連の発明に関わる部分のみを示す。
【００２３】
なお、矛盾が生じない限り、本願における実施形態及び実施形態における特徴は互いに組み合わせることができるものとする。以下、図面を参照しながら、実施形態を併せて本願を詳しく説明する。
【００２４】
図１は、本願のデータ処理用の方法またはデータ処理用の装置を応用できる実施形態の例示的なシステム構造１００を示す。
【００２５】
図１に示すように、システム構成１００は、クライアント側１０１、管理サーバ側１０２、メタデータサーバ側１０３を含んでも良い。ネットワークは、クライアント側１０１、管理サーバ側１０２、メタデータサーバ側１０３との間の通信リンクの媒体を提供するのに用いられる。ネットワーク１０４は、例えば、有線、無線通信リンク又は光ファイバケーブルなどのような、各種の接続種類を含むことができる。
【００２６】
ユーザは、クライアント側１０１を使用してネットワークを介して管理サーバ側１０２、メタデータサーバ側１０３と対話し、メッセージなどを送受信することができる。クライアント側１０１には、例えば、データベース管理系アプリケーション、ウェブブラウザアプリケーション、買い物系アプリケーション、検索系アプリケーション、インスタントメッセージングツール、電子メールクライアント、ソーシャルプラットフォームソフトウェア、等のような各種の通信クライアントアプリケーションがインストールされていても良い。クライアント側１０１は、ユーザからのアクセス要求を受信した後、管理サーバ側１０２から、メタデータサーバ側１０３の負荷情報を記録するための完全二分木を取得することができる。そして、完全二分木に基づいてメタデータサーバを選び出す。さらに、アクセス要求を選び出されたメタデータサーバ側１０３に送信する。
【００２７】
クライアント側１０１は、ハードウェアであっても良く、ソフトウェアであっても良い。クライアント側１０１がハードウェアである場合は、ディスプレイスクリーンを有し、ファイルアクセスをサポートする各種の電子設備であっても良く、スマートフォン、タブレット、電子ブックリーダ、ＭＰ３（Moving Picture Experts Group Audio Layer ＩＩＩ、ムービング・ピクチャ・エクスパーツ・グループオーディオレイヤー３）プレーヤ、ＭＰ４（Moving Picture Experts Group Audio Layer ＩＶ、ムービング・ピクチャ・エクスパーツ・グループオーディオレイヤー４）プレーヤ、ラップトップポータブルコンピュータ及びデスクトップコンピュータ等を含むが、これらに限定されない。クライアント側１０１がソフトウェアである場合は、上述した列挙した電子設備にインストールされても良い。それは、複数のソフトウェアまたはソフトウェアモジュールとして実現されても良く（例えば、分散式サービスを提供するために用いられる）、単独のソフトウェアまたはソフトウェアモジュールとして実現されても良い。ここでは、具体的な限定をしない。
【００２８】
管理サーバ側１０２は、メタデータサーバ側の負荷情報をメンテナンスするサーバであってもよい。管理サーバ１０２は、メタデータサーバ側によって報告された負荷状態情報（たとえば、アクセス時間間隔）に従って完全二分木を生成し、そして完全二分木をクライアント側１０１に送信することができる。
【００２９】
メタデータサーバ側１０３は、分散ファイルシステム全体のメタデータの管理に責任を負い、クライアント１０１からのアクセス要求を受信すると、メタデータを返し、さらにアクセス時間間隔に従って、完全二分木の中のノードの値の変更量を確定する。そして変更量を管理サーバ側１０２に送信し、管理サーバ側１０２は、受信した変更量に基づいて完全二分木を更新する。
【００３０】
なお、クライアント側１０１、管理サーバ側１０２、メタデータサーバ側１０３は、ハードウェアであっても良く、ソフトウェアであっても良い。クライアント側１０１、管理サーバ側１０２、メタデータサーバ側１０３がハードウェアである場合は、複数のサーバから構成される分散式サーバクラスタ／分散式設備クラスタとして実現されても良いし、単独のサーバ／単独の設備として実現されても良い。クライアント側１０１、管理サーバ側１０２、メタデータサーバ側１０３がソフトウェアである場合は、複数のソフトウェアまたはソフトウェアモジュールとして実現されても良いし（例えば、分散式サービスを提供するために用いられる複数のソフトウェアまたはソフトウェアモジュール）、単独のソフトウェアまたはソフトウェアモジュールとして実現されても良い。ここでは具体的な限定をしない。
【００３１】
なお、本願の実施形態によるデータ処理用の方法は、クライアント側１０１によって実行されても良く、管理サーバ側１０２、メタデータサーバ側１０３によって実行されても良い。相応的には、データ処理用の装置は、クライアント側１０１に設置されても良く、管理サーバ側１０２、メタデータサーバ側１０３の中に設置されても良い。ここでは具体的な限定をしない。
【００３２】
図１のクライアント側、管理サーバ側、メタデータサーバ側の数は、ただ単に例示的なものであると理解すべきである。実現の必要性に従って、任意の数のクライアント側、管理サーバ側、メタデータサーバ側を有しても良い。
【００３３】
図２は、本願によるデータ処理用の方法の、クライアント側に応用される一つの実施形態のフローチャート２００を示す。当該データ処理用の方法は、ステップ２０１、ステップ２０２、ステップ２０３及びステップ２０４を含む。
【００３４】
ステップ２０１においては、アクセス要求の受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定する。
【００３５】
本願の実施形態において、データ処理用の方法の実行主体（例えば、図１に示すクライアント側）は、ファイルシステムにアクセスするためのユーザのアクセス要求を受信することができ、アクセス要求は、ファイル名、変更時間、ファイルサイズなどの情報を含むことができる。あらゆるファイルシステムの中のデータは、データとメタデータに分けられる。データは、通常のファイルの実際のデータを指し、メタデータは、アクセス権限、ファイル所有者、ファイルデータブロックの分布情報など、ファイルの特性を記述するために使用されるシステムデータを指す。クラスタファイルシステムでは、分布情報は、ファイルがディスク上における位置と、ディスクがクラスタの中における位置とを含む。ファイルを操作するには、ユーザはまずファイルのメタデータを取得する必要があり、それによってファイルの位置を特定し、ファイルの中身または関連プロパティを得ることができる。アクセス要求を受信すると、クライアント側はアクセス要求を受信した時間を記録する。２つの隣接するアクセス要求の時間間隔を第１の時間間隔とする。
【００３６】
ステップ２０２においては、管理サーバ側から予め設定された完全二分木を取得する。
【００３７】
本実施形態では、クライアント側がメタデータベースにアクセスしたい場合、管理サーバから完全二分木を取得する必要があり、当該完全二分木は、メタデータサーバ側の負荷モデルである。先に完全二分木のバージョン情報を取得しても良く、当該バージョンがローカルに格納された完全二分木のバージョンと同じであることをクライアント側が検出した場合は、更新をダウンロードする必要はなく、バージョンが異なる場合は、最新バージョンの完全二分木をダウンロードする。クライアント側によってバージョン情報を報告し、管理サーバによってクライアント側のバージョンが最新バージョンであるかどうかを判断し、最新バージョンでない場合は最新バージョンをクライアントに送信するようにしても良い。
【００３８】
メタデータサーバへのアクセスは具体的データの転送を行わないため、単一の要求の負荷は主に要求の速度、つまりＱＰＳ（Query Per Second、１秒あたりのクエリ数）に集中する。負荷モデルの構築はこの指標に基づいて実現されており、隣接する２回の要求間の間隔の大きさによって決定を行う。具体的な負荷モデルは、仮想ノードの数（２のべき乗）に基づいて完全二分木を構築し、仮想ノードはすべて最下位のリーフノードにあり、各非リーフノードは２回の隣接するリクエスト間の間隔を記録するために使用される。図３に示すように、Ｎ１〜Ｎ７は通常のノードであり、非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連する。Ｖ１〜Ｖ８はリーフノードであり、仮想ノードを表すために用いられる。仮想ノードの数は２のべき乗であり、このようにすると、完全二分木を構築できる。
【００３９】
クライアント側はバージョン管理を使用して、最新の負荷モデル、つまり最新の完全二分木を取得するように確実に保証する。
【００４０】
ステップ２０３においては、第１の時間間隔に従って完全二分木からターゲットパスを選択する。
【００４１】
本実施形態において、各ノードの初期化時の値は１であり、ルートノードから決定を行う。具体的な決定方法は、以下のようなものであっても良い：現在の要求と前回の要求との間隔（つまり、第１の時間間隔）を比較し、値がノードの値より小さい場合は、左のノードに移動して下の子ノードの検索を続行し、そうでない場合は、右のノードに移動して下の子ノードの検索を続行し、リーフノードに到達するまで行い、そして具体的なのメタデータサーバにマッピングする。メタデータサーバがクライアント側の要求を受信した後、要求の費やした時間間隔を記録し、二分木のノードの値を逆の方向に沿って更新し、各ノードの値から費やした時間間隔の一定の比率（比率が配置可能）を減算し、さらにルートノードから開始して対称パスへ向かうすべてのノードの値を増加させ、増加値は別の比率に従って配置される。図３に示すような、８つの仮想ノードを持つ完全二分木を例として説明する：
【００４２】
決定プロセス（クライアント側で実行）：Ｎ１からＮ７は非リーフノードであり、最初のアクセス間隔は０、Ｎ１の値は１、左側のノードＮ２にアクセスし、その値は１であり、続けてＮ４にアクセスし、最終的に仮想ノードＶ１を得る。
【００４３】
更新プロセス（メタデータサーバ側で実行）：Ｖ１に対応するメタデータサーバが要求を処理するための時間間隔はｇであり、順次に上に向かって、Ｎ４、Ｎ２、Ｎ１ノードの値からｗ１＊ｇを減算し（ｗ１は配置の比率）、そしてルートノードから開始して、対称パスすなわちＮ１−＞Ｎ３−＞Ｎ７の各ノードの値をｗ２＊ｇだけ増加させる（ｗ２は配置の比率）。
【００４４】
本実施形態の幾つかの選択可能な実施形態では、第１の時間間隔に従って完全二分木からターゲットパスを選択することは、完全二分木の中のノードに対して、第１の時間間隔が当該ノードの値よりも小さい場合、当該ノードの所定の側の子ノードをターゲットノードとして決定することと、決定されたターゲットノードからターゲットパスを構成することとを含む。所定の側は左側であっても良く、右側であっても良い。システム内において特定の側に統一さえすれば良い。
【００４５】
選択可能的に、２つの子ノードの中から大きな値を持つノードをターゲットノードとして選択し、ターゲットパスを形成しても良い。この時、時間間隔に従ってリーフノードの値を更新しても良い。
【００４６】
ステップ２０４においては、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信する。
【００４７】
本実施形態において、予めに約定したマッピング関係に基づいて、仮想ノードをメタデータサーバにマッピングしても良く、たとえば、仮想ノードの数を、メタデータサーバの数で割る時の余りを計算し、得られた値をターゲットメタデータサーバの番号とする。そして、アクセス要求を計算されたメタデータサーバ側に送信する。
【００４８】
本実施形態の幾つかの選択可能な実施形態では、アクセス要求をターゲットパスのリーフノードに対応するメタデータサーバに送信することは、予め設定されたコンシステントハッシュリングを使用して、ターゲットパスのリーフノードがマッピングするターゲットメタデータサーバを確定することと、アクセス要求をターゲットメタデータサーバに送信することとを含む。分散システムの負荷分散の問題を解決する場合、ｈａｓｈ（ハッシュ）アルゴリズムを使用して、要求の固定的な部分を同じサーバに落ち着くようにさせ、これによって各サーバが要求の一部分を固定的に処理するようになり（さらにこれらの要求の情報をメンテナンスする）、負荷分散の働きをする。ただし、通常の余りｈａｓｈ（例えば、ユーザＩＤ％サーバのマシン台数）アルゴリズムはスケーラブル性が非常に悪く、サーバマシンを追加またはオフラインにする場合、ユーザＩＤとサーバとのマッピング関係の大部分は無効になる。コンシステントハッシュは、ハッシュハッシュリングを用いてそれに対する改善を行った。
【００４９】
図４は、本願によるデータ処理用の方法の、メタデータサーバ側に応用される一つの実施形態のフローチャート４００を示す。当該データ処理用の方法は、ステップ４０１、ステップ４０２、ステップ４０３及びステップ４０４を含む。
【００５０】
ステップ４０１においては、クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第２の時間間隔として確定する。
【００５１】
本願の実施形態において、データ処理用の方法の実行主体（例えば、図１に示すメタデータサーバ側）は、クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスを受信することができる。ここでの完全二分木は、ステップ２０１〜２０４に含まれる完全二分木である。メタデータサーバ側は、毎回のアクセス要求を受信した時間を記録し、隣接する２回のアクセス要求の間の時間間隔を２番目の時間間隔として確定する。第２の時間間隔と第１の時間間隔は、メタデータサーバ側で受信したアクセス要求の時間間隔なのか、クライアント側で受信したアクセス要求の時間間隔なのかを区別するための時間間隔の名前だけであり、それらの間には互いに関係はない。１つのメタデータサーバ側は、複数のクライアント側からのアクセス要求を受信でき、クライアント側の区別をせずに、アクセスされる時間間隔を統計する。
【００５２】
ステップ４０２においては、ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定する。
【００５３】
本実施形態では、メタデータサーバがクライアント側の要求を受信した後、要求の費やした時間間隔を記録し、二分木のノードの値を逆の方向に沿って更新する。ターゲットパス上のノードの値を更新することに加えて、ターゲットパスの対称パス上のノードの値も更新できる。例えば、ターゲットパス上の各ノードの値から費やした時間間隔の一定の比率（比率が配置可能）を減算し、さらにルートノードから開始して対称パスへ向かうすべてのノードの値を増加させ、増加値は別の比率に従って配置される。対称パスは、ルートノードを対称の中心とするミラー対称パスである。図３に示すように、ターゲットパスがＮ１、Ｎ２、Ｎ４、Ｖ１であると、対称パスはＮ１、Ｎ３、Ｎ７、Ｖ８である。こうする目的は、各メタデータサーバの単位時間あたりの訪問回数をより均衡にさせるためである。
【００５４】
ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定することは、第２の時間間隔の第１の重み付値を、ターゲットパス上のノードの値の減少量として確定し、ここで、第１の重み付値は、第２の時間間隔と所定の第１の重みとの積であることと、第２の時間間隔の第２の重み付値は、ターゲットパスの対称パス上のノードの値の増加量として確定し、ここで、第２の重み付値は、第２の時間間隔と所定の第２の重みの積であることとを含む。図３に示すような、８つの仮想ノードを持つ完全二分木を例として説明する：
【００５５】
決定プロセス（クライアント側で実行）：Ｎ１からＮ７は非リーフノードであり、最初のアクセス間隔は０、Ｎ１の値は１、左側のノードＮ２にアクセスし、その値は１であり、続けてＮ４にアクセスし、最終的に仮想ノードＶ１を得る。
【００５６】
更新プロセス（メタデータサーバ側で実行）：Ｖ１に対応するメタデータサーバが要求を処理するための時間間隔はｇであり、順次に上に向かって、Ｎ４、Ｎ２、Ｎ１ノードの値からｗ１＊ｇを減算し（ｗ１は配置の比率）、そしてルートノードから開始して、対称パスすなわちＮ１−＞Ｎ３−＞Ｎ７の各ノードの値をｗ２＊ｇだけ増加させる（ｗ２は配置の比率）。Ｗ１とｗ２は、メタデータサーバ側の処理能力に応じて配置でき、異なるメタデータサーバ側はそれぞれ異なるｗ１とｗ２を採用しても良く、同じｗ１とｗ２を採用しても良い。
【００５７】
ステップ４０３においては、アクセス要求に従ってアクセス結果を照会し、アクセス結果をクライアント側に送信する。
【００５８】
本実施形態では、アクセス結果は、アクセス要求によって指示されたファイルのメタデータである。アクセスの結果をクライアント側に返す。
ステップ４０４においては、完全二分木の中のノードの値の変更量を管理サーバ側に送信する。
【００５９】
本実施形態では、各メタデータサーバ側は、アクセス要求を受信した後、完全二分木の中のノードの値の変更量を更新し、そして変更量を管理サーバ側に送信する。管理サーバは、完全二分木のメンテナンスを行う。所定の形式に従って、たとえば、ノードＮ１、Ｎ２、Ｎ４：−０．２、ノードＮ１、Ｎ３、Ｎ７：＋０．４のような形式で、ノードと変更量の間の対応関係を送信することができる。
【００６０】
選択可能的に、メタデータサーバ側によって完全二分木の値を直接的に更新しても良く、そのために、メタデータサーバ側は、管理サーバから最新の完全二分木を取得する必要がある。更新後、管理サーバに戻す。
【００６１】
図５は、本願によるデータ処理用の方法の、管理サーバ側に応用される一つの実施形態のフローチャート５００を示す。当該データ処理用の方法は、ステップ５０１及びステップ５０２を含む。
【００６２】
ステップ５０１においては、少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って完全二分木を更新する。
【００６３】
本願の実施形態において、データ処理用の方法の実行主体（例えば、図１に示す管理サーバ側）は、少なくとも１つのメタデータサーバ側から完全二分木内のノードの値の変更量を受信し、そして受信したノードの値の変更量に従って完全二分木を更新する。
【００６４】
たとえば、元の完全二分木のノード値はすべて１であり、あるメタデータサーバ側によって送信された変更量：ノードＮ１、Ｎ２、Ｎ４：−０．２、ノードＮ１、Ｎ３、Ｎ７：＋０．４を受信したあと、完全二分木のノード値は、Ｎ１：１．２、Ｎ２：０．８、Ｎ３：１．４、Ｎ４：０．８、Ｎ５：１、Ｎ６：１、Ｎ７：１．４に更新される。他のメタデータサーバ側によって送信された変更量を受信すると、前回更新されたノードの値に基づいてさらに更新を行うことができる。
【００６５】
ステップ５０２においては、クライアント側によって送信された、完全二分木を取得する要求の受信に応答して、完全二分木をクライアント側に送信する。
【００６６】
本実施形態では、クライアント側がメタデータベースにアクセスしたい場合、管理サーバから完全二分木を取得する必要がある。管理サーバ側がクライアント側によって送信された、完全二分木を取得する要求を受信したとき、先に完全二分木のバージョン情報を送信して良く、クライアント側によって更新を行うか否かを判断する。クライアント側によってバージョン情報を送信しても良く、管理サーバによって最新バージョンをクライアントに送信する必要があるか否かを判断する。
【００６７】
図６は、本実施形態によるデータ処理用の方法の応用シナリオの１つの模式図である。図６の応用シナリオにおいては、ユーザはクライアント側を介してアクセス要求を送信し、クライアント側は管理サーバから完全二分木の最新バージョンをダウンロードする。次に、クライアント側は、最近の２回受信したアクセス要求の時間間隔に従って完全二分木からターゲットパスを検索し、ターゲットパスのリーフノードに対応するメタデータサーバをターゲットメタデータサーバとして確定する。クライアント側は、アクセス要求とターゲットパスの両方をメタデータサーバ側に送信する。メタデータサーバ側は、アクセス要求を受信すると時間を記録し、前回受信したアクセス時間と比較して時間間隔を確定する。そして、時間間隔に従って完全二分木のノードの値の変化量とアクセス結果を確定する。最後に、アクセスの結果をクライアント側に返し、完全二分木のノードの値の変更量を管理サーバに返す。管理サーバは、受信した完全二分木のノードの値の変化量に従って二分木を更新する。
【００６８】
本願の前記の実施形態によって提供される方法は、メタデータアクセスのコア指標ＱＰＳに基づいて負荷モデル（つまり、完全二分木）を構築し、当該モデルにはトレーニングプロセスがなく、現在のメタデータサーバの全体システムの負荷レベルを表すためにのみ使用され、実現が容易である。各々のメタデータサーバ側はファイルシステムディレクトリツリー全体に対して処理を行うため、サブディレクトリ数の分割や動的遷移の問題はなく、メタデータのセキュリティを確実に保証し、メタデータサーバの設計の安定性を向上させる。仮想ノードとコンシステントハッシュリングを導入することにより、メタデータサーバを追加するまたはオフラインにすることはシステム全体にほとんど影響を与えず、システムは具体的な業務と負荷レベルに従って適切に拡張できる。
【００６９】
図７に示すように、前記各図面に示される方法の実現として、本願は、データ処理用の装置の、クライアント側に応用される１つの実施形態を提供する。当該装置の実施形態は、図２に示される方法の実施形態に対応し、当該装置は、具体的に各種の電子デバイスに応用することができる。
【００７０】
図７に示すように、本実施形態のデータ処理用の装置７００は、第１の計時ユニット７０１、取得ユニット７０２、選択ユニット７０３、及び第１の送信ユニット７０４を含む。なお、第１の計時ユニット７０１は、アクセス要求の受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定するように配置されており、取得ユニット７０２は、管理サーバ側から予め設定された完全二分木を取得し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されており、選択ユニット７０３は、第１の時間間隔に従って完全二分木からターゲットパスを選択するように配置されており、第１の送信ユニット７０４は、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信するように配置されている。
【００７１】
本実施形態において、データ処理用の装置７００の第１の計時ユニット７０１、取得ユニット７０２、選択ユニット７０３、及び第１の送信ユニット７０４の具体的な処理は、図２の対応する実施形態の中のステップ２０１、ステップ２０２、ステップ２０３及びステップ２０４を参考にすることができる。
【００７２】
本実施形態の幾つかの選択可能な実施形態では、選択ユニット７０３は、完全二分木の中のノードに対して、第１の時間間隔が当該ノードの値よりも小さい場合、当該ノードの所定の側の子ノードをターゲットノードとして決定し、決定されたターゲットノードからターゲットパスを構成するように更に配置されている。
【００７３】
本実施形態の幾つかの選択可能な実施形態では、第１の送信ユニット７０４は、予め設定されたコンシステントハッシュリングを使用して、ターゲットパスのリーフノードがマッピングするターゲットメタデータサーバを確定し、アクセス要求をターゲットメタデータサーバに送信するように更に配置されている。
【００７４】
図８に示すように、前記各図面に示される方法の実現として、本願は、データ処理用の装置の、メタデータサーバ側に応用される１つの実施形態を提供する。当該装置の実施形態は、図４に示される方法の実施形態に対応し、当該装置は、具体的に各種の電子デバイスに応用することができる。
【００７５】
図８に示すように、本実施形態のデータ処理用の装置８００は、第２の計時ユニット８０１、確定ユニット８０２、第２の送信ユニット８０３及び第３の送信ユニット８０４を含む。なお、第２の計時ユニット８０１は、クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第２の時間間隔として確定し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されており、確定ユニット８０２は、ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定するように配置されており、第２の送信ユニット８０３は、アクセス要求に従ってアクセス結果を照会し、アクセス結果をクライアント側に送信するように配置されており、第３の送信ユニット８０４は、完全二分木の中のノードの値の変更量を管理サーバ側に送信するように配置されている。
【００７６】
本実施形態において、データ処理用の装置８００の第２の計時ユニット８０１、確定ユニット８０２、第２の送信ユニット８０３及び第３の送信ユニット８０４の具体的な処理は、図４の対応する実施形態の中のステップ４０１、ステップ４０２、ステップ４０３及びステップ４０４を参考にすることができる。
【００７７】
本実施形態の幾つかの選択可能な実施形態では、確定ユニット８０２は、第２の時間間隔の第１の重み付値を、ターゲットパス上のノードの値の減少量として確定し、ここで、第１の重み付値は、第２の時間間隔と所定の第１の重みとの積であり、第２の時間間隔の第２の重み付値は、ターゲットパスの対称パス上のノードの値の増加量として確定し、ここで、第２の重み付値は、第２の時間間隔と所定の第２の重みの積であるように更に配置されている。
【００７８】
図９に示すように、前記各図面に示される方法の実現として、本願は、データ処理用の装置の、管理サーバ側に応用される１つの実施形態を提供する。当該装置の実施形態は、図５に示される方法の実施形態に対応し、当該装置は、具体的に各種の電子デバイスに応用することができる。
【００７９】
図９に示すように、本実施形態のデータ処理用の装置９００は、更新ユニット９０１及びダウンロードユニット９０２を含む。なお、更新ユニット９０１は、少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って完全二分木を更新し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられるように配置されており、ダウンロードユニット９０２は、クライアント側によって送信された、完全二分木を取得する要求の受信に応答して、完全二分木をクライアント側に送信するように配置されている。
【００８０】
本実施形態において、データ処理用の装置９００の更新ユニット９０１及びダウンロードユニット９０２の具体的な処理は、図５の対応する実施形態の中のステップ５０１及びステップ５０２を参考にすることができる。
【００８１】
図１０は、本願の実施形態の電子設備（例えば、図１に示す電子設備）を実現するのに適するコンピュータシステム１０００の構造模式図である。図１０に示されている設備は、ただ一つの例示に過ぎず、本願の実施形態の機能及び使用範囲に如何なる制限も与えない。
【００８２】
図１０に示すように、コンピュータシステム１０００は、中央処理装置（ＣＰＵ）１００１を備え、リードオンリーメモリ（ＲＯＭ）１００２に記憶されているプログラムまたは記憶部１００８からランダムアクセスメモリ（ＲＡＭ）１００３にロードされたプログラムに従って各種の適切な動作と処理を実行することができる。ＲＡＭ１００３に、システム１０００の操作に必要な各種のプログラムとデータが更に記憶されている。ＣＰＵ１００１、ＲＯＭ１００２とＲＡＭ１００３は、バス１００４を通じて互いに接続する。入力／出力（Ｉ／Ｏ）インターフェース１００５もバス１００４に接続されている。
【００８３】
キーボード、マウス等を含む入力部１００６、例えば、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）等及びスピーカー等を含む出力部１００７、ハードディスク等を含む記憶部１００８、及び例えばＬＡＮカード、モデム等を含むネットワークインターフェースカードの通信部１００９は、Ｉ／Ｏインターフェース１００５に接続される。通信部１００９は、例えば、インターネット等のネットワークを通じて通信処理を実行する。ドライバ１０１０も必要に応じてＩ／Ｏインターフェース１００５に接続される。例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等のようなリムーバブルメディア１０１１は、必要に応じてドライバ１０１０にインストールされることにより、そこから読み出されるコンピュータプログラムは、必要に応じて記憶部１００８にインストールされる。
【００８４】
特に、本願の実施形態により、前記の文章でフローチャート図を参照しながら記述したプロセスは、コンピュータソフトウェアプログラムとして実現することができる。例えば、本願の実施形態は、コンピュータプログラム製品を含み、それは、コンピュータの読み取り可能なメディアに記載されているコンピュータプログラムを含む。当該コンピュータプログラムは、フローチャート図の示す方法を実行するのに用いられるプログラムコードを含む。このような実施形態において、当該コンピュータプログラムは、通信部１００９を通じてネットワークからダウンロードされてインストールされても良く、及び／またはリムーバブルメディア１０１１からインストールされても良い。当該コンピュータプログラムは、中央処理装置（ＣＰＵ）１００１に実行されるとき、本願の方法の中で限定される前記の機能を実行する。なお、本願で説明するコンピュータの読み取り可能なメディアは、コンピュータの読み取り可能な信号メディアまたはコンピュータの読み取り可能な記憶メディアまたは両者の任意の組合せであっても良い。コンピュータの読み取り可能な記憶メディアは、例えば、電、磁、光、電磁、赤外線、或いは半導体のシステム、装置または設備、またはこれらの任意の組合せであっても良いが、これらに限定されない。コンピュータの読み取り可能な記憶メディアのより具体的例は、一つまたは複数のリード線を有する電気接続、ポータブルコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、またはこれらの任意の適切な組み合わせを含むが、これらに限定されない。本願において、コンピュータの読み取り可能な記憶メディアは、命令実行システム、装置、設備またはその組み合わせに使用されるプログラムを含むまたは記憶する如何なる有形メディアであっても良い。本願において、コンピュータの読み取り可能な信号メディアは、ベースバンドの中または搬送波の一部分として伝播するデータ信号を含み、その中でコンピュータの読み取り可能なプログラムコードが記載されている。このような伝播するデータ信号は、多種類の形式を採用することができ、電磁信号、光信号またはその任意の適切な組み合わせを含むが、これらに限定されない。コンピュータの読み取り可能な信号メディアは、さらにコンピュータの読み取り可能な記憶メディア以外の任意のコンピュータの読み取り可能なメディアであっても良く、当該コンピュータの読み取り可能なメディアは、命令実行システム、装置、デバイスまたはその組み合わせに使用されるプログラムを送信し、伝播し、または転送することができる。コンピュータの読み取り可能なメディアに含まれるプログラムコードは、あらゆる適切なメディアを使って転送することができ、無線、電線、光ファイバ、ＲＦ等またはその任意の適切な組み合わせを含むが、これらに限定されない。
【００８５】
一つまたは複数のプログラミング言語またはその組み合わせを使って、本願の操作の実行に用いられるコンピュータプログラムコードを作成しても良い。前記プログラミング言語は、例えばＪａｖａ（登録商標）、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋等のようなオブジェクト指向のプログラミング言語を含み、さらに例えば「Ｃ」言語または類似のプログラミング言語のような手続き型プログラミング言語を含む。プログラムコードは、完全にユーザコンピュータ上で実行されても良く、部分的にユーザコンピュータ上で実行されても良く、一つの独立したソフトウェアパッケージとして実行されても良く、一部分がユーザコンピュータ上で実行され一部分がリモートコンピュータ上で実行されても良く、或いは完全にリモートコンピュータまたはサーバ上で実行されても良い。リモートコンピュータに関わる場面において、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワークを通じてユーザコンピュータに接続されても良いし、または外部コンピュータ（例えばインターネットサービスプロバイダーを利用してインターネットを通じて接続する）に接続されても良い。
【００８６】
添付図面の中のフローチャート図とブロック図は、本願による各種実施形態のシステム、方法とコンピュータプログラム製品の実現可能なアーキテクチャ、機能と操作を示す。この点において、フローチャート図またはブロック図の中の各ブロックは、一つのモジュール、プログラムセグメント、或いはコードの一部分を代表することができ、当該モジュール、プログラムセグメント、或いはコードの一部分は、一つまたは複数の、規定のロジック機能の実現に用いられる実行可能な命令を含む。幾つかの代替の実現において、ブロックの中で提示した機能は、添付図面の中で提示した順序と異なる順序で発生する可能性があると注意されたい。例えば、二つの接続するように表示されているブロックは、実際において基本的に並列に実行されても良く、場合によっては反対の順序で実行されても良く、何れも関わる機能によって定まる。フローチャート図及び／またはブロック図の中の各ブロック、及びフローチャート図及び／またはブロック図の中のブロックの組合せは、規定の機能または操作を実行する専用なハードウェアに基づくシステムで実現しても良く、専用なハードウェアとコンピュータ命令の組み合わせで実現しても良い。
【００８７】
本願の実施形態に関わって記述されているユニットは、ソフトウェアの方式によって実現しても良く、ハードウェアの方式によって実現しても良い。記述されているユニットは、プロセッサの中に設置されても良く、例えば、第１の計時ユニット、取得ユニット、選択ユニット、及び第１の送信ユニットを含むプロセッサというように記述しても良い。なお、これらユニットの名称は、場合によっては、当該ユニット自身への限定を構成せず、例えば、第１の計時ユニットは、「アクセス要求の受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定するユニット」と記述されても良い。
【００８８】
一方、本願は、コンピュータの読み取り可能なメディアを更に提供し、当該コンピュータの読み取り可能なメディアは、前記実施形態の中で記述された装置に含まれても良く、当該装置に取り付けられずに単独的に存在しても良い。前記コンピュータの読み取り可能なメディアは、一つまたは複数のプログラムを記載しており、前記一つまたは複数のプログラムが当該装置に実行されると、当該装置は、アクセス要求の受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第１の時間間隔として確定し、管理サーバ側から予め設定された完全二分木を取得し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられ、第１の時間間隔に従って完全二分木からターゲットパスを選択し、アクセス要求とターゲットパスを、ターゲットパスのリーフノードに対応するメタデータサーバに送信する。または当該装置は、クライアント側によって送信されたアクセス要求と完全二分木の中のターゲットパスの受信に応答し、アクセス要求と前回のアクセス要求との間の時間間隔を第２の時間間隔として確定し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられ、ターゲットパスと第２の時間間隔に従って、完全二分木の中のノードの値の変更量を確定し、アクセス要求に従ってアクセス結果を照会し、アクセス結果をクライアント側に送信し、完全二分木の中のノードの値の変更量を管理サーバ側に送信する。または当該装置は、少なくとも１つのメタデータサーバ側によって送信された完全二分木内のノードの値の変更量の受信に応答して、受信したノードの値の変更量に従って完全二分木を更新し、ここで、完全二分木の非リーフノードの値は、メタデータサーバが受信した直近の２回のアクセス要求の時間間隔に関連し、リーフノードは、分散システムの中のメタデータサーバに対応する仮想ノードを表すために用いられ、クライアント側によって送信された、完全二分木を取得する要求の受信に応答して、完全二分木をクライアント側に送信する。
【００８９】
前記記述は、本願の望ましい実施形態及び使用する技術原理に対する説明に過ぎない。当業者は、本願の関わる発明の範囲は、前記技術特徴の特定の組み合わせからなる技術案に限定されることがなく、本発明の精神から逸脱しない限り、前記技術特徴または同等の特徴の任意の組み合わせからなる技術案もカバーすべきであると理解すべきである。例えば、前記特徴と本願で公開した（但し、これらに限定されない）類似の機能を有する技術特徴とを相互入れ替えして形成した技術案である。
【図１】
2020102189.tif 000003
【図２】
2020102189.tif 000004
【図３】
2020102189.tif 000005
【図４】
2020102189.tif 000006
【図５】
2020102189.tif 000007
【図６】
2020102189.tif 000008
【図７】
2020102189.tif 000009
【図８】
2020102189.tif 000010
【図９】
2020102189.tif 000011
【図１０】
2020102189.tif 000012
【外国語明細書】
2020102189000001.pdf