(57)【要約】【課題】本発明はＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドを開示した。【解決手段】該読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用される。該メソッドには：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドが前記ユーザＩＤと小さなファイルの名前を含み、前記ユーザＩＤと小さなファイルの名前にしたがってＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、照会されたファイルコンテンツに戻り、対応するファイルコンテンツが出ないと、ＨＤＦＳシステムのダータベースを照会する。本発明の読み込みメソッドは小さなファイルのマージ及びＨＢａｓｅキャッシングメカニズムと合わせた後で、小さなファイルの読み込み効率を高める。【選択図】図１
2019204472.tif 000002
【特許請求の範囲】
【請求項１】
Ｈａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッド、その特徴は：前記読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、前記読み込みメソッドは：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、其中、その中に、前記小さなファイルの読み込みコマンドが前記ユーザＩＤと小さなファイルの名前を含み、前記前記ユーザＩＤと前記小さなファイルの名前にしたがって前記ＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、前記ＨＢａｓｅキャッシュモジュールによって照会されたファイルコンテンツに戻り、そうでなければ、前記小さなファイルの名前によって前記ＨＤＦＳシステムのデータベースを照会して対応するファイルコンテンツが照会されたかどうかを判断し、イエスであれば前記データベースによって照会されたファイルコンテンツに戻り、そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して前記小さなファイルの名前の対応するＨＡＲファイルにアクセスして前記ＨＡＲファイルに戻り、前記データマージモジュールの採用するデータマージメソッドが以下を含む：ステップＡ：クライアントがストレージされるファイルをアップロードした後で、ＨＤＦＳのすべてのファイルをトラバースし、ユーザアクセスプリファレンスモデルを組み合わせて、前記ストレージされるファイルの関連ファイルコレクションを見つけ、その中に、前記ユーザアクセスプリファレンスモデルがユーザアクセスログレコードに基づいている，ステップＢ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルを順にマージするキューに追加する，ステップＣ：前記マージするキューのすべてのファイルの総サイズが１２８  ＭＢを超えるかどうかを判断し、イエスであれば、ステップＤに進み、そうでなければ、ステップＥに進む，ステップＤ：前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＢに戻る，ステップＥ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルが全部前記マージするキューに追加されたかどうかを判断し、イエスであれば、前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＦに進み、そうでなければ、ステップＢに進む，ステップＦ：すべてのマージしたデータブロックをＨＤＦＳシステムにストレージする，前記ユーザアクセスプリファレンスモデルがユーザアクセスログレコードから統計されたものであり、具体的には：ユーザアクセスログレコードからアクティブユーザセットを統計し、ｂｅａｎオブジェクトが前記アクティブユーザセットによってアクセスされた小さなファイルを表すために使用され、前記小さなファイルがサイズが２ＭＢまたは２ＭＢ以上のファイルを指し、その中に、前記ｂｅａｎオブジェクトのプロパティが該小さなファイルをアクセスするユーザＩＤ、���ーザがアクセスした小さなファイルの名前及び該小さなファイルがアクサスされた回数を含み、ＪＤＢＣテクノロジを合わせて、前記ｂｅａｎオブジェクトを永続にＭｙｓｑｌ前記データベースにストレージし、ストレージされたデータにしたがって、任意の二つの異なるアクセス動作の類似性を計算し、前記任意の二つの異なるアクセス動作の類似性が正の場合、前記任意の二つのアクセス動作のユーザが類似ユーザであり、類似ユーザのＩＤを記録し、関連ファイルコレクションを使って、類似ユーザによってアクサスされ、関連付けられたファイル情報をストレージし、前記関連ファイルコレクションにしたがって、前記ユーザアクセスプリファレンスモデルを構築し、前記ＨＢａｓｅキャッシュモジュールの採用するキャッスメソッドにおいて、ユーザアクセスログレコードを取得し、前記ユーザアクセスログレコードより前記アクティブユーザセットを統計し、対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、前記ホットスポットファイルを取得し、Ｈｂａｓｅデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュし、前記前記ユーザアクセスログレコードからアクティブユーザセットを統計するについて、具体的には、アクセスされたソースの接尾辞がｊｐｇであるレコード行を前記ユーザアクセスログレコードからフィルタリングし、前記レコード行がユーザＩＤ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、レコード解析クラスを作成して前記レコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、ビジターＩＰを前記二次元配列でトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、前記ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、前記ＨａｓｈＭａｐコレクションをＶａｌｕｅ値の降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークし、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、具体的には、ＡｒｒａｙＬｉｓｔコレクションから抽出されたビジターＩＰを、前記二次元配列から抽出されたビジターＩＰと照合し、一致が出たら、合致するビジターＩＰをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを合わせ、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、前記対数線形モデルは：  
2019204472.tif 000013
であり、その中に、
2019204472.tif 000014
がファイルｉの人気予測値であり、
2019204472.tif 000015
がファイルｉが観測期間中のトラフィックであり、観測期間の長さがｔである。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータテクノロジー分野に関し、具体的には、Ｈａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドに関する。
【背景技術】
【０００２】
Ｈａｄｏｏｐは２００５年にＡｐａｃｈｅ  ＦｏｕｎｄａｔｉｏｎによってＬｕｃｅｎｅのサブプロジェクトであるＮｕｔｃｈの一部分として正式に導入されたものである。Ｈａｄｏｏｐの最も重要な二つの設計はＨＤＦＳとＭａｐＲｅｄｕｃｅである。ＨＤＦＳは大量なデータをストレージし、ファイルがデータブロックの形でシステムにストレージされる。また、ＨＤＦＳのデータブロックは通常のディスクに定義されたデータブロック（通常は５１２Ｂ）よりも遥かに大きく、ＨＤＦＳの現在のデフォルトブロックサイズは１２８ＭＢである。もしＨＤＦＳにストレージされたファイルのサイズが１２８に超えると、ＨＤＦＳは該ファイルを複数のブロックサイズのブロックに分割し、別々にストレージする。また、ＨＤＦＳが絶えずに小さなファイルをＴＢひいてはＰＢレベルまでストレージし続けると、小さなファイルの問題が発生し、此れは、大量のメタデータがＨＤＦＳのプライマリノードのｎａｍｅｎｏｄｅにストレージされるため、ｎａｍｅｎｏｄｅの負荷が大幅に増加し、システムの読み取りパフォーマンスに影響するためである。その中に、小さなファイルのサイズが２ＭＢに定義され、つまり、ＨＤＦＳがファイルをストレージする中で、ファイルのサイズが２Ｍまたは２Ｍ以下であると、小さなファイルとして定義される。
【０００３】
大量な小さなファイルの処理について、現有の技術においては、若干の小さなファイルを一つのブロックサイズの大きなファイルにマージすることであり、ファイル間の関連性を考慮せず、小さなファイルの読み込み効率が望ましくなくなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】中国特許出願公開第１０２７９９６３９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例ではＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドが打ち出され、ファイルマージとＨＢａｓｅキャッシングメカニズムを組み合わせた後で、小さなファイルの読み込み効率を改善することができる。
【課題を解決するための手段】
【０００６】
本発明の実施例ではＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドが打ち出され、ファイルマージとＨＢａｓｅキャッシングメカニズムを組み合わせた後で、小さなファイルの読み込み効率を改善することができる。
【０００７】
本発明の実施例はＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドを提供し、前記読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、前記読み込みメソッドには：
【０００８】
ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、其中、その中に、前記小さなファイルの読み込みコマンドが前記ユーザＩＤと小さなファイルの名前を含み、
【０００９】
前記ユーザＩＤと前記小さなファイルの名前にしたがって前記ＨＢａｓｅキャッシュモジュールを照会し、
【００１０】
対応するファイルコンテンツが出たら、前記ＨＢａｓｅキャッシュモジュールによって照会されたファイルコンテンツに戻り、そうでなければ、前記小さなファイルの名前によって前記ＨＤＦＳシステムのデータベースを照会して対応するファイルコンテンツが照会されたかどうかを判断し、          
【００１１】
イエスであれば前記データベースによって照会されたファイルコンテンツに戻り、
【００１２】
そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して前記小さなファイルの名前の対応するＨＡＲファイルにアクセスして前記ＨＡＲファイルに戻り、
【００１３】
更に、前記データマージモジュールの採用するデータマージメソッドが以下のように：
【００１４】
ステップＡ：クライアントがストレージされるファイルをアップロードした後で、ＨＤＦＳのすべてのファイルをトラバースし、ユーザアクセスプリファレンスモデルを組み合わせて、前記ストレージされるファイルの関連ファイルコレクションを見つけ、その中に、前記ユーザアクセスプリファレンスモデルがユーザアクセスログレコードに基づいている。
【００１５】
ステップＢ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルを順にマージするキューに追加する。
【００１６】
ステップＣ：前記マージするキューのすべてのファイルの総サイズが１２８  ＭＢを超えるかどうかを判断し、イエスであれば、ステップＤに進み、そうでなければ、ステップＥに進む。
【００１７】
ステップＤ：前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＢに戻る。
【００１８】
ステップＥ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルが全部前記マージするキューに追加されたかどうかを判断し、イエスであれば、前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＦに進み、そうでなければ、ステップＢに進む。
【００１９】
ステップＦ：すべてのマージしたデータブロックをＨＤＦＳシステムにストレージする。
【００２０】
更に、その特徴は、前記ユーザアクセスプリファレンスモデルがユーザアクセスログレコードから統計されたものであり、具体的には：
【００２１】
前記ユーザアクセスログレコードからアクティブユーザセットを統計し、
【００２２】
ｂｅａｎオブジェクトが前記アクティブユーザセットによってアクセスされた小さなファイルを表すために使用され、前記小さなファイルがサイズが２ＭＢまたは２ＭＢ以上のファイルを指し、その中に、前記ｂｅａｎオブジェクトのプロパティが該小さなファイルをアクセスするユーザＩＤ、ユーザがアクセスした小さなファイルの名前及び該小さなファイルがアクサスされた回数を含み、
【００２３】
ＪＤＢＣテクノロジを合わせて、前記ｂｅａｎオブジェクトを永続にＭｙｓｑｌ前記データベースにストレージし、ストレージされたデータにしたがって、任意の二つの異なるアクセス動作の類似性を計算し、
【００２４】
前記任意の二つの異なるアクセス動作の類似性が正の場合、前記任意の二つのアクセス動作のユーザが類似ユーザであり、類似ユーザのＩＤを記録し、関連ファイルコレクションを使って、類似ユーザによってアクサスされ、関連付けられたファイル情報をストレージし、
【００２５】
前記関連ファイルコレクションにしたがって、前記ユーザアクセスプリファレンスモデルを構築し、
【００２６】
更に、その特徴は、前記ＨＢａｓｅキャッシュモジュールの採用するキャッシュメソッドは：
【００２７】
ユーザアクセスログレコードを取得し、前記ユーザアクセスログレコードより前記アクティブユーザセットを統計し、
【００２８】
対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、
【００２９】
前記ホットスポットファイルを取得し、Ｈｂａｓｅデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュし、
【００３０】
更に、前記前記ユーザアクセスログレコードからアクティブユーザセットを統計するについて、具体的には、
【００３１】
アクセスされたソースの接尾辞がｊｐｇであるレコード行を前記ユーザアクセスログレコードからフィルタリングし、前記レコード行がユーザＩＤ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、
【００３２】
レコード解析クラスを作成して前記レコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、
【００３３】
ビジターＩＰを前記二次元配列でトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、前記ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、
【００３４】
前記ＨａｓｈＭａｐコレクションをＶａｌｕｅ値の降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークし、
【００３５】
更に、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、具体的には：
【００３６】
ＡｒｒａｙＬｉｓｔコレクションから抽出されたビジターＩＰを、前記二次元配列から抽出されたビジターＩＰと照合し、
【００３７】
一致が出たら、合致するビジターＩＰをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを合わせ、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、
【００３８】
前記対数線形モデルは：  
2019204472.tif 000003
であり、
【００３９】
その中に、
2019204472.tif 000004
がファイルｉの人気予測値であり、
2019204472.tif 000005
がファイルｉが観測期間中のトラフィックであり、観測期間の長さがｔである。
【００４０】
本発明の実施例を実施すると、以下の有益効果が出る：
【００４１】
本発明の実施例が提供するＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドについては、該読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、該読み込みメソッドは：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含み、ユーザＩＤと小さなファイルの名前にしたがってＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、照会されたファイルコンテンツに戻り、そうでなければ、ＨＤＦＳシステムのデータベースを照会し、成功したら、照会されたファイルコンテンツに戻り、そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して対応するＨＡＲファイルにアクセスしてＨＡＲファイルに戻る。小さなファイル間の関連性とホットスポットファイルを考慮しない現有技術と比べ、本発明の読み込みメソッドは小さなファイルのマージとＨＢａｓｅキャッシングメカニズムが組み合わせられた後で、小さなファイルの読み込み効率を改善できる。
【発明の効果】
【００４２】
本発明の実施例を実施すると、以下の有益効果が出る：
【００４３】
本発明の実施例が提供するＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドについては、該読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、該読み込みメソッドは：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含み、ユーザＩＤと小さなファイルの名前にしたがってＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、照会されたファイルコンテンツに戻り、そうでなければ、ＨＤＦＳシステムのデータベースを照会し、成功したら、照会されたファイルコンテンツに戻り、そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して対応するＨＡＲファイルにアクセスしてＨＡＲファイルに戻る。小さなファイル間の関連性とホットスポットファイルを考慮しない現有技術と比べ、本発明の読み込みメソッドは小さなファイルのマージとＨＢａｓｅキャッシングメカニズムが組み合わせられた後で、小さなファイルの読み込み効率を改善できる。
【図面の簡単な説明】
【００４４】
【図１】図１は本発明の提供するＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドの実施例のプロセス見取り図である。
【図２】図２は本発明の提供するデータマージメソッドの実施例のプロセス見取り図である。
【図３】図３は本発明の提供するキャッシュメソッドの実施例のプロセス見取り図である。
【図４】図４は本発明の提供するキャッシュメソッドのもう一つの実施例のプロセス見取り図である。
【発明を実施するための形態】
【００４５】
図１を参照し、本発明のＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドの実施例のプロセス見取り図であり、そのメソッドはステップ１０１からステップ１０５を含む。該当読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、各ステップは以下のように：
【００４６】
ステップ１０１：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含む。
【００４７】
ステップ１０２：ユーザＩＤと小さなファイルの名前にしたがってＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが照会されたかどうかを判断し、イエスであればステップ１０５に進み、そうでなければステップ１０３に進む。
【００４８】
ステップ１０３：小さなファイルの名前にしたがってＨＤＦＳシステムのデータベースを照会し、対応するファイルコンテンツが照会されたかどうかを判断し、イエスであればステップ１０５に進み、そうでなければ１０４に進む。
【００４９】
ステップ１０４：ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出し、小さなファイルの名前が対応するＨＡＲファイルにアクセスし、そのＨＡＲファイルに戻る。
【００５０】
ステップ１０５：照会されたファイルコンテンツに戻る。
【００５１】
図２を参照し、図２は本発明の提供するデータマージメソッドの実施例のプロセス看取り図であり、本発明のデータマージモジュールは図２の示すデータマージメソッドを採用し、ステップＡからステップＦまでを含み、各ステップが以下のように：
【００５２】
ステップＡ：クライアントがストレージされるファイルをアップロードした後で、ＨＤＦＳのすべてのファイルをトラバースし、ユーザアクセスプリファレンスモデルを組み合わせて、ストレージされるファイルの関連ファイルコレクションを見つけ、その中に、ユーザアクセスプリファレンスモデルがユーザアクセスログレコードに基づいている。
【００５３】
本実施例の中で、ユーザアクセスプリファレンスモデルがユーザアクセスログレコードに基づいて統計されたもので、具体的には：ユーザアクセスログレコードからアクティブユーザセットを統計し、ｂｅａｎオブジェクトがアクティブユーザセットによってアクセスされた小さなファイルを表すために使用され、小さなファイルがサイズが２ＭＢまたは２ＭＢ以上のファイルを指し、その中に、ｂｅａｎオブジェクトのプロパティが該小さなファイルをアクセスするユーザＩＤ、ユーザがアクセスした小さなファイルの名前及び該小さなファイルがアクサスされた回数を含み、ＪＤＢＣテクノロジによって、ｂｅａｎオブジェクトを永続にＭｙｓｑｌデータベースにストレージし、ストレージされたデータにしたがって、任意の二つの異なるアクセス動作の類似性を計算し、任意の二つの異なるアクセス動作の類似性が正の場合、任意の二つのアクセス動作のユーザが類似ユーザであり、類似ユーザのＩＤを記録し、関連ファイルコレクションを使って、類似ユーザによってアクサスされ、関連付けられたファイル情報をストレージし、関連ファイルコレクションにしたがって、ユーザアクセスプリファレンスモデルを構築する。
【００５４】
本実施例の中で、ユーザアクセスログレコードよりアクティブユーザセットを統計し、具体的には：アクセスされたソースの接尾辞がｊｐｇであるレコード行をユーザアクセスログレコードからフィルタリングし、その中に、レコード行がユーザＩＤ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、レコード解析クラスを作成してレコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、二次元配列のビジターＩＰをトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、ＨａｓｈＭａｐコレクションをＶａｌｕｅ値の降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークする。
【００５５】
本発明のモデルの構築過程をもっとよく説明するために、下記の例えにより説明し、具体的な実現する過程が以下のように：
【００５６】
（１）正規表現を使用してアクセスされたソースの接尾辞がｊｐｇであるレコード行をフィルタリングする。
【００５７】
（２）ログ解析クラスを作成してレコード行の五つのコンポーネントを別々に解析し、二次元配列を使ってビジターＩＰと小さなファイルの名前をストレージする。
【００５８】
（３）二次元配列のビジターＩＰ要素をトラバースし、各ビジターＩＰのトラフィックをカウンタするカウンタを設計する。ＨａｓｈＭａｐコレクションを使って、ビジターＩＰをＫｅｙ値とし、Ｖａｌｕｅ値が該ビジターのトラフィックである。
【００５９】
（４）ステップ３で生成されたＨａｓｈＭａｐコレクションをＶａｌｕｅ値にしたがって降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションで該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークする。
【００６０】
（５）一つのｂｅａｎオブジェクトによってアクティブユーザセットにアクセスされた小さなファイルを抽象に表し、オブジェクトのプロパティが該小さなファイルをアクセスしたユーザＩＤ、ユーザにアクセスされた小さなファイルの名前及び該小さなファイルがアクセスされた回数を含む。メソッドはプロパティを取得するｇｅｔ及びｓｅｔメソッドである。
【００６１】
（６）ＪＤＢＣテクノロジｂｅａｎオブジェクトをＭｙｓｑｌデータベースに結合して永続にストレージし、以下の形式のテーブルが形成される：
【００６２】
2019204472.tif 000006
【００６３】
（７）２０行の二行の間にデータを取り込み、数式
2019204472.tif 000007
によって二つの異なるユーザアクセス作動の類似性をカウンタする。その中に、本発明はピアソン相関係数を使用して類似のユーザを決定し、スコアリング行列Ｒを指定し、ユーザａとユーザｂの類似性をｓｉｍ（ａ，ｂ）で表し、ｒａ及びｒｂが「ユーザ−トラフィック」ストアリングマトリックスのストアリングデータである。
【００６４】
（８）ここで、ｓｉｍ（ａ，ｂ）の値が正の値であれば、二人の異なるユーザが類似ユーザであると判定され、そのユーザＩＤが記録される。
【００６５】
（９）類似ユーザのユーザＩＤに基づいて、一つのコレクションを使用して、類似ユーザにアクセスされ、関連付けられているすべてのファイル情報をストレージする。
【００６６】
ステップＢ：関連ファイルコレクションのミドルファイルとストレージされるファイルを順にマージするキューに追加する。
【００６７】
ステップＣ：マージするキューのすべてのファイルの総サイズが１２８  ＭＢを超えるかどうかを判断し、イエスであれば、ステップＤに進み、そうでなければ、ステップＥに進む。
【００６８】
ステップＤ：マージするキューのすべてのファイルを一つのデータブロックにマージし、マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＢに戻る。
【００６９】
ステップＥ：関連ファイルコレクションのミドルファイルとストレージされるファイルが全部マージするキューに追加されたかどうかを判断し、イエスであれば、マージするキューのすべてのファイルを一つのデータブロックにマージし、マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＦに進み、そうでなければ、ステップＢに進む。
【００７０】
ステップＦ：すべてのマージしたデータブロックをＨＤＦＳシステムにストレージする。
【００７１】
図３を参照し、図３は本発明が提供するキャッシュメソッドの実施例のプロセス見取り図である。本発明のＨＢａｓｅキャッシュモデルが図３のキャッシュメソッドを採用し、該メソッドはステップ３０１からステップ３０３までを含み、各ステップが以下のように：
【００７２】
ステップ３０１：ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計する。
【００７３】
本実施例の中に、ステップ３０１においてユーザアクセスログレコードからアクティブユーザセットを統計し、具体的には：アクセスされたソースの接尾辞がｊｐｇであるレコード行をユーザアクセスログレコードからフィルタリングし、その中に、レコード行がユーザＩＰ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況及びアクセストラフィックを含み、ログ解析クラスを作成してレコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、二次元配列のビジターＩＰをトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、ＨａｓｈＭａｐコレクションをＶａｌｕｅ値によって降順にソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージしてアクティブユーザセットとしてマークする。
【００７４】
本発明のステップ３０１においてアクティブユーザセットをカウントする目的は、小さなファイルへのユーザのアクセスが均一なランダムではなくパレート分布法則に近いのである。すなわち、ほとんどのＩ／Ｏが少量の人気データへのアクセスをリクエストし、トラフィックの８０％がデータの２０％に集中している。したがって、ファイルシステムにストレージされた大量の小さなファイルからモデルを介してホットスポットファイルを予測してキャッシュすることができれば、ユーザのデータへのアクセスの効率を上げられる。
【００７５】
ステップ３０２：対数線形モデルをあわせて、アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークする。
【００７６】
本実施例において、ステップ３０２は具体的には：ＡｒｒａｙＬｉｓｔコレクションから抽出されたビジターＩＰを、二次元配列から抽出されたビジターＩＰと照合し、一致が出たら、合致するビジターＩＰをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを合わせ、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークする。
【００７７】
対数線形モデルは：  
2019204472.tif 000008
であり、
【００７８】
その中に、
2019204472.tif 000009
がファイルｉの人気予測値であり、
2019204472.tif 000010
がファイルｉが観測期間中のトラフィックであり、観測期間の長さがｔである。
2019204472.tif 000011
と
2019204472.tif 000012
が線形関係の関連パラメータであり、線形回帰法によって最適値をアカウントすることができる。
【００７９】
本発明の対数線形モデルにおいて記載された観測期間の長さｔの定義は：ユーザアクセスログレコードのレコード行のアクセス開始時刻要素とユーザアクセスログレコードを収集した時刻との時間差である。例えば、収集されたユーザアクセスログレコードの時点が３０／Ｊａｎ／２０１８：１７：３８：２０で、ユーザアクセスログレコードのレコード行のアクセス開始時刻が２９／Ｊａｎ／２０１８：１０：３５：１５で、観測期間の長さが２９／Ｊａｎ／２０１８：１０：３５：１５から３０／Ｊａｎ／２０１８：１７：３８：２０までの時間差であり、アカウントしやすいために、期間の長さが時間単位にする。
【００８０】
ステップ３０３：ホットスポットファイルを取得し、Ｈｂａｓｅデータベースを採用してホットスポットファイルの関連情報をキャッシュする。
【００８１】
本実施例においては、Ｈｂａｓｅデータベースを採用してホットスポットファイルの関連情報をキャッシュし、ＨＢａｓｅのテーブル名値がビジターＩＤであり、ＨＢａｓｅのＲｏｗＫｅｙが小さなファイルの名前であり、ＨＢａｓｅのファミリ名が「ファイルコンテンツ」であり、Ｖａｌｕｅ値すなわちセル値が小さなファイルのコンテンツである。ユーザがＨＢａｓｅの小さなファイルにアクセス時に、ユーザＩＤをテーブル名とし、アクセスする小さなファイルの名前をＨＢａｓｅのｇｅｔ（）メソッドのパラメータとすれば、対応する小さなファイルのコンテンツを取得できる。
【００８２】
本発明のキャッシュメソッドをもっと詳しく説明するため、図４を参照し、図４は本発明の提供するキャッシュメソッドのもう一つの実施例のプロセス見取り図である。図４が示すように、該プロセスが：ユーザアクセスレコードセット→正規表現が需要するレコード行をフィルタリングする→レコード行を解析する→ｂｅａｎオブジェクトでレコード行情報をカプセル化する→ＪＤＢＣ  ＡＰＩを調査研究してｂｅａｎオブジェクトをＭｙｓｑｌデータベースに永続化する→二次元配列によってビジターＩＰと小さなファイルの名前情報をストレージする→配列をトラバースし、ビジタートラフィックを統計する→ビジタートラフィックによってサーとし、ＡｒｒａｙＬｉｓｔコレクションを使ってアクティブユーザセットのユーザＩＰをストレージする→二次元配列をアクティブユーザセットのビジターＩＰと照合する→一致が出たら、ビジターＩＰをキーワードとして、ユーザアクセス開始時刻とトラフィックを抽出する→ファイル人気予測数式によってファイル人気値をアカウントする→ファイル人気値をサートし、ホットスポットファイルをマークする→ＨＢａｓｅによってホットスポットファイルの関連情報をキャッシュする。
【００８３】
上記からわかったことは、本発明の実施例の提供するＨａｄｏｏｐに基づく大量の小さなファイルの読み込みメソッドにおいて、該読み込みメソッドがデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用される。該読み込みメソッドは、ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含み、ユーザＩＤと小さなファイルの名前でＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、照会されたファイルコンテンツに戻り、対応するファイルコンテンツが出ないと、ＨＤＦＳシステムのデータベースを照会し、成功したら、照会されたファイルコンテンツに戻り、失敗したら、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出し、対応するＨＡＲファイルにアクセスしてＨＡＲファイルに戻る。現有技術と比べて、小さなファイルの間のアソシエーションとホットスポットファイルを問わず、本発明の読み込みメソッドは小さなファイルとＨＢａｓｅキャッシングメカニズムがマージされた後で、小さなファイルの読み込み効率を上げられる。
【００８４】
更に、本発明はデータマージメソッドを提供し、小さなファイルの読み込み効率を高め、ＨＤＦＳシステムでのｎａｍｅｎｏｄｅメモリの消費を削減する。
【００８５】
更に、本発明のデータマージメソッドには、複数の関連付けられた小さなファイルが一つの大きなファイルにマージされてシステムにストレージされ、システムのｎａｍｅｎｏｄｅノードが一つの大きなファイルの対応するメタデータをストレージし、ｎａｍｅｎｏｄｅノードの維持する必要のあるメタデータの量が大幅に減少し、メモリ消費量も減少になる。
【００８６】
更に、本発明のデータマージメソッドには、関連ファイルが同じの一つの大きなファイルにストレージされ、ファイルがマージされた後で同じデータノードの同じデータブロックの中にストレージされる。ファイルへのユーザのリクエストに強い関連性があれば、すなわち、ユーザに耐えずにアクセスされた小さなファイルが同じ大きなファイルにマージされば、ファイルアクセスの原則によると、システムはより近いｄａｔａｎｏｄｅノードのデータブロックを読み込み、つまり絶えずに同じｄａｔａｎｏｄｅのデータブロックからデータを読み込み、こうして異なるファイルにアクセス時に異なるデータノードの間にジャンプしなくで済み、ディスクアドレッシングのオーバーヘッドが削減され、占められるシステムリソースが比較的に少なくなり、ファイルの読み込み効率を大きく高める。
【００８７】
更に、本発明が提供するキャッシュメソッドには、現有技術と比べてユーザにアクセスされたホットスポットファイルを考慮せず、本発明はＨＢａｓｅによってホッとスポットファイルをキャッシュし、キャッシュヒット率を高めるだけでなく、ファイルの読み込み効率も上げる。
【００８８】
当業者は、上記の実施形態を実施するプロセスの全部または一部を理解することができ、コンピュータプログラムによって関連するハードウェアを指示することで完了することができ、前記のプログラムがコンピュター可読記憶媒体にストレージされることができ、該プログラムが実行される時に、上記の各メソッドの実施例のプロセスが含まれる。その中に、前記の記憶媒体が磁気ディスク、光ディスク、読み出し専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ，ＲＯＭ）またはランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，ＲＡＭ）であってもよい。
【００８９】
以上に述べたのは本発明の優先された実施形態であり、注意すべきのは、本技術分野の一般的な技術員にとって、本発明の原理から離れないことを前提として、若干な改善や飾りができ、これらの改善や飾りも本発明の保護範囲に含まれる。
【図１】
2019204472.tif 000016
【図２】
2019204472.tif 000017
【図３】
2019204472.tif 000018
【図４】
2019204472.tif 000019
【手続補正書】
【提出日】令和1年9月11日(2019.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
Ｈａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法であって、
前記ＨＤＦＳが、前記読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、前記読み込みメソッドは：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、前記読み込みコマンド中に前記ユーザＩＤと小さなファイルの名前を含み、前記前記ユーザＩＤと前記小さなファイルの名前にしたがって前記ＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、前記ＨＢａｓｅキャッシュモジュールによって照会されたファイルコンテンツを戻し、そうでなければ、前記小さなファイルの名前によって前記ＨＤＦＳシステムのデータベースを照会して対応するファイルコンテンツが照会されたかどうかを判断し、イエスであれば前記データベースによって照会されたファイルコンテンツを戻し、そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して前記小さなファイルの名前の対応するＨＡＲファイルにアクセスして前記ＨＡＲファイルを戻し、前記データマージモジュールの採用するデータマージメソッドが以下を含む：ステップＡ：クライアントがストレージされるファイルをアップロードした後で、ＨＤＦＳのすべてのファイルをトラバースし、ユーザアクセスプリファレンスモデルを用いて、前記ストレージされるファイルの関連ファイルコレクションを見つけ、ここで、前記ユーザアクセスプリファレンスモデルはユーザアクセスログレコードに基づいている，ステップＢ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルを順にマージするキューに追加する，ステップＣ：前記マージするキューのすべてのファイルの総サイズが１２８  ＭＢを超えるかどうかを判断し、イエスであれば、ステップＤに進み、そうでなければ、ステップＥに進む，ステップＤ：前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＢを戻す，ステップＥ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルが全部前記マージするキューに追加されたかどうかを判断し、イエスであれば、前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＦに進み、そうでなければ、ステップＢに進む，ステップＦ：すべてのマージしたデータブロックをＨＤＦＳシステムにストレージする，前記ユーザアクセスプリファレンスモデルがユーザアクセスログレコードから統計されたものであり、具体的には：ユーザアクセスログレコードからアクティブユーザセットを統計し、ｂｅａｎオブジェクトが前記アクティブユーザセットによってアクセスされた小さなファイルを表すために使用され、その中に、前記ｂｅａｎオブジェクトのプロパティが該小さなファイルをアクセスするユーザＩＤ、ユーザがアクセスした小さなファイルの名前及び該小さなファイルがアクサスされた回数を含み、ＪＤＢＣテクノロジを用いて、前記ｂｅａｎオブジェクトを永続にＭｙｓｑｌ前記���ータベースにストレージし、ストレージされたデータにしたがって、任意の二つの異なるアクセス動作の類似性を計算し、前記任意の二つの異なるアクセス動作の類似性が正の場合、前記任意の二つのアクセス動作のユーザが類似ユーザであり、類似ユーザのＩＤを記録し、関連ファイルコレクションを使って、類似ユーザによってアクサスされ、関連付けられたファイル情報をストレージし、前記関連ファイルコレクションにしたがって、前記ユーザアクセスプリファレンスモデルを構築し、前記ＨＢａｓｅキャッシュモジュールの採用するキャッスメソッドにおいて、ユーザアクセスログレコードを取得し、前記ユーザアクセスログレコードより前記アクティブユーザセットを統計し、対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、前記ホットスポットファイルを取得し、Ｈｂａｓｅデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュし、前記前記ユーザアクセスログレコードからアクティブユーザセットを統計するについて、具体的には、アクセスされたソースの接尾辞がｊｐｇであるレコード行を前記ユーザアクセスログレコードからフィルタリングし、前記レコード行がユーザＩＤ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、レコード解析クラスを作成して前記レコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、ビジターＩＰを前記二次元配列でトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、前記ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、前記ＨａｓｈＭａｐコレクションをＶａｌｕｅ値の降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークし、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、具体的には、ＡｒｒａｙＬｉｓｔコレクションから抽出されたビジターＩＰを、前記二次元配列から抽出されたビジターＩＰと照合し、一致が出たら、合致するビジターＩＰをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデを用いて、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、前記対数線形モデルは：
2019204472.tif 000020
であり、その中に、
2019204472.tif 000021
がファイルｉの人気予測値であり、
2019204472.tif 000022
がファイルｉが観測期間中のトラフィックであり、観測期間の長さがｔであることを特徴とするＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータテクノロジー分野に関し、具体的には、Ｈａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法に関する。
【背景技術】
【０００２】
Ｈａｄｏｏｐは２００５年にＡｐａｃｈｅ  ＦｏｕｎｄａｔｉｏｎによってＬｕｃｅｎｅのサブプロジェクトであるＮｕｔｃｈの一部分として正式に導入されたものである。Ｈａｄｏｏｐの最も重要な二つの設計はＨＤＦＳとＭａｐＲｅｄｕｃｅである。ＨＤＦＳは大量なデータをストレージし、ファイルがデータブロックの形でシステムにストレージされる。また、ＨＤＦＳのデータブロックは通常のディスクに定義されたデータブロック（通常は５１２Ｂ）よりも遥かに大きく、ＨＤＦＳの現在のデフォルトブロックサイズは１２８ＭＢである。もしＨＤＦＳにストレージされたファイルのサイズが１２８に超えると、ＨＤＦＳは該ファイルを複数のブロックサイズのブロックに分割し、別々にストレージする。また、ＨＤＦＳが絶えずに小さなファイルをＴＢひいてはＰＢレベルまでストレージし続けると、小さなファイルの問題が発生し、此れは、大量のメタデータがＨＤＦＳのプライマリノードのｎａｍｅｎｏｄｅにストレージされるため、ｎａｍｅｎｏｄｅの負荷が大幅に増加し、システムの読み取りパフォーマンスに影響するためである。その中に、小さなファイルのサイズが２ＭＢに定義され、つまり、ＨＤＦＳがファイルをストレージする中で、ファイルのサイズが２ＭＢ以下であると、小さなファイルとして定義される。
【０００３】
大量な小さなファイルの処理について、現有の技術においては、若干の小さなファイルを一つのブロックサイズの大きなファイルにマージすることであり、ファイル間の関連性を考慮せず、小さなファイルの読み込み効率が望ましくなくなる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】中国特許出願公開第１０２７９９６３９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例ではＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法が打ち出され、ファイルマージとＨＢａｓｅキャッシングメカニズムを組み合わせた後で、小さなファイルの読み込み効率を改善することができる。
【課題を解決するための手段】
【０００６】
本発明の実施例ではＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法が打ち出され、ファイルマージとＨＢａｓｅキャッシングメカニズムを組み合わせた後で、小さなファイルの読み込み効率を改善することができる。
【０００７】
本発明の実施例はＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法を提供し、前記読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、前記読み込みメソッドには：
【０００８】
ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、前記読み込みコマンド中に前記ユーザＩＤと小さなファイルの名前を含み、
【０００９】
前記ユーザＩＤと前記小さなファイルの名前にしたがって前記ＨＢａｓｅキャッシュモジュールを照会し、
【００１０】
対応するファイルコンテンツが出たら、前記ＨＢａｓｅキャッシュモジュールによって照会されたファイルコンテンツを戻し、そうでなければ、前記小さなファイルの名前によって前記ＨＤＦＳシステムのデータベースを照会して対応するファイルコンテンツが照会されたかどうかを判断し、
【００１１】
イエスであれば前記データベースによって照会されたファイルコンテンツを戻し、
【００１２】
そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して前記小さなファイルの名前の対応するＨＡＲファイルにアクセスして前記ＨＡＲファイルを戻し、
【００１３】
更に、前記データマージモジュールの採用するデータマージメソッドが以下のように：
【００１４】
ステップＡ：クライアントがストレージされるファイルをアップロードした後で、ＨＤＦＳのすべてのファイルをトラバースし、ユーザアクセスプリファレンスモデルを用いて、前記ストレージされるファイルの関連ファイルコレクションを見つけ、ここで、前記ユーザアクセスプリファレンスモデルはユーザアクセスログレコードに基づいている。
【００１５】
ステップＢ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルを順にマージするキューに追加する。
【００１６】
ステップＣ：前記マージするキューのすべてのファイルの総サイズが１２８  ＭＢを超えるかどうかを判断し、イエスであれば、ステップＤに進み、そうでなければ、ステップＥに進む。
【００１７】
ステップＤ：前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＢを戻す。
【００１８】
ステップＥ：前記関連ファイルコレクションのミドルファイルと前記ストレージされるファイルが全部前記マージするキューに追加されたかどうかを判断し、イエスであれば、前記マージするキューのすべてのファイルを一つのデータブロックにマージし、前記マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＦに進み、そうでなければ、ステップＢに進む。
【００１９】
ステップＦ：すべてのマージしたデータブロックをＨＤＦＳシステムにストレージする。
【００２０】
更に、その特徴は、前記ユーザアクセスプリファレンスモデルがユーザアクセスログレコードから統計されたものであり、具体的には：
【００２１】
前記ユーザアクセスログレコードからアクティブユーザセットを統計し、
【００２２】
ｂｅａｎオブジェクトが前記アクティブユーザセットによってアクセスされた小さなファイルを表すために使用され、その中に、前記ｂｅａｎオブジェクトのプロパティが該小さなファイルをアクセスするユーザＩＤ、ユーザがアクセスした小さなファイルの名前及び該小さなファイルがアクサスされた回数を含み、
【００２３】
ＪＤＢＣテクノロジを用いて、前記ｂｅａｎオブジェクトを永続にＭｙｓｑｌ前記データベースにストレージし、ストレージされたデータにしたがって、任意の二つの異なるアクセス動作の類似性を計算し、
【００２４】
前記任意の二つの異なるアクセス動作の類似性が正の場合、前記任意の二つのアクセス動作のユーザが類似ユーザであり、類似ユーザのＩＤを記録し、関連ファイルコレクションを使って、類似ユーザによってアクサスされ、関連付けられたファイル情報をストレージし、
【００２５】
前記関連ファイルコレクションにしたがって、前記ユーザアクセスプリファレンスモデルを構築し、
【００２６】
更に、その特徴は、前記ＨＢａｓｅキャッシュモジュールの採用するキャッシュメソッドは：
【００２７】
ユーザアクセスログレコードを取得し、前記ユーザアクセスログレコードより前記アクティブユーザセットを統計し、
【００２８】
対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、
【００２９】
前記ホットスポットファイルを取得し、Ｈｂａｓｅデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュし、
【００３０】
更に、前記前記ユーザアクセスログレコードからアクティブユーザセットを統計するについて、具体的には、
【００３１】
アクセスされたソースの接尾辞がｊｐｇであるレコード行を前記ユーザアクセスログレコードからフィルタリングし、前記レコード行がユーザＩＤ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、
【００３２】
レコード解析クラスを作成して前記レコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、
【００３３】
ビジターＩＰを前記二次元配列でトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、前記ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、
【００３４】
前記ＨａｓｈＭａｐコレクションをＶａｌｕｅ値の降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークし、
【００３５】
更に、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、具体的には：
【００３６】
ＡｒｒａｙＬｉｓｔコレクションから抽出されたビジターＩＰを、前記二次元配列から抽出されたビジターＩＰと照合し、
【００３７】
一致が出たら、合致するビジターＩＰをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデを用いて、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークし、
【００３８】
前記対数線形モデルは：
2019204472.tif 000023
であり、
【００３９】
その中に、
2019204472.tif 000024
がファイルｉの人気予測値であり、
2019204472.tif 000025
がファイルｉが観測期間中のトラフィックであり、観測期間の長さがｔである。
【００４０】
本発明の実施例を実施すると、以下の有益効果が出る：
【００４１】
本発明の実施例が提供するＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法については、該読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、該読み込みメソッドは：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含み、ユーザＩＤと小さなファイルの名前にしたがってＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、照会されたファイルコンテンツを戻し、そうでなければ、ＨＤＦＳシステムのデータベースを照会し、成功したら、照会されたファイルコンテンツを戻し、そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して対応するＨＡＲファイルにアクセスしてＨＡＲファイルを戻す。小さなファイル間の関連性とホットスポットファイルを考慮しない現有技術と比べ、本発明の読み込みメソッドは小さなファイルのマージとＨＢａｓｅキャッシングメカニズムが組み合わせられた後で、小さなファイルの読み込み効率を改善できる。
【発明の効果】
【００４２】
本発明の実施例を実施すると、以下の有益効果が出る：
【００４３】
本発明の実施例が提供するＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法については、該読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、該読み込みメソッドは：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含み、ユーザＩＤと小さなファイルの名前にしたがってＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、照会されたファイルコンテンツを戻し、そうでなければ、ＨＤＦＳシステムのデータベースを照会し、成功したら、照会されたファイルコンテンツを戻し、そうでなければ、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出して対応するＨＡＲファイルにアクセスしてＨＡＲファイルを戻す。小さなファイル間の関連性とホットスポットファイルを考慮しない現有技術と比べ、本発明の読み込みメソッドは小さなファイルのマージとＨＢａｓｅキャッシングメカニズムが組み合わせられた後で、小さなファイルの読み込み効率を改善できる。
【図面の簡単な説明】
【００４４】
【図１】図１は本発明の提供するＨａｄｏｏｐに基づく大量の小さなファイルの読み    込みメソッドの実施例のプロセス見取り図である。
【図２】図２は本発明の提供するデータマージメソッドの実施例のプロセス見取り図    である。
【図３】図３は本発明の提供するキャッシュメソッドの実施例のプロセス見取り図で    ある。
【図４】図４は本発明の提供するキャッシュメソッドのもう一つの実施例のプロセス    見取り図である。
【発明を実施するための形態】
【００４５】
図１を参照し、本発明のＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法の実施例のプロセス見取り図であり、そのメソッドはステップ１０１からステップ１０５を含む。該当読み込みメソッドはデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用され、各ステップは以下のように：
【００４６】
ステップ１０１：ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含む。
【００４７】
ステップ１０２：ユーザＩＤと小さなファイルの名前にしたがってＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが照会されたかどうかを判断し、イエスであればステップ１０５に進み、そうでなければステップ１０３に進む。
【００４８】
ステップ１０３：小さなファイルの名前にしたがってＨＤＦＳシステムのデータベースを照会し、対応するファイルコンテンツが照会されたかどうかを判断し、イエスであればステップ１０５に進み、そうでなければ１０４に進む。
【００４９】
ステップ１０４：ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出し、小さなファイルの名前が対応するＨＡＲファイルにアクセスし、そのＨＡＲファイルを戻す。
【００５０】
ステップ１０５：照会されたファイルコンテンツを戻す。
【００５１】
図２を参照し、図２は本発明の提供するデータマージメソッドの実施例のプロセス看取り図であり、本発明のデータマージモジュールは図２の示すデータマージメソッドを採用し、ステップＡからステップＦまでを含み、各ステップが以下のように：
【００５２】
ステップＡ：クライアントがストレージされるファイルをアップロードした後で、ＨＤＦＳのすべてのファイルをトラバースし、ユーザアクセスプリファレンスモデルを用いて、ストレージされるファイルの関連ファイルコレクションを見つけ、ここで、ユーザアクセスプリファレンスモデルはユーザアクセスログレコードに基づいている。
【００５３】
本実施例の中で、ユーザアクセスプリファレンスモデルはユーザアクセスログレコードに基づいて統計されたもので、具体的には：ユーザアクセスログレコードからアクティブユーザセットを統計し、ｂｅａｎオブジェクトがアクティブユーザセットによってアクセスされた小さなファイルを表すために使用され、その中に、ｂｅａｎオブジェクトのプロパティが該小さなファイルをアクセスするユーザＩＤ、ユーザがアクセスした小さなファイルの名前及び該小さなファイルがアクサスされた回数を含み、ＪＤＢＣテクノロジによって、ｂｅａｎオブジェクトを永続にＭｙｓｑｌデータベースにストレージし、ストレージされたデータにしたがって、任意の二つの異なるアクセス動作の類似性を計算し、任意の二つの異なるアクセス動作の類似性が正の場合、任意の二つのアクセス動作のユーザが類似ユーザであり、類似ユーザのＩＤを記録し、関連ファイルコレクションを使って、類似ユーザによってアクサスされ、関連付けられたファイル情報をストレージし、関連ファイルコレクションにしたがって、ユーザアクセスプリファレンスモデルを構築する。
【００５４】
本実施例の中で、ユーザアクセスログレコードよりアクティブユーザセットを統計し、具体的には：アクセスされたソースの接尾辞がｊｐｇであるレコード行をユーザアクセスログレコードからフィルタリングし、その中に、レコード行がユーザＩＤ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、レコード解析クラスを作成してレコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、二次元配列のビジターＩＰをトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、ＨａｓｈＭａｐコレクションをＶａｌｕｅ値の降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークする。
【００５５】
本発明のモデルの構築過程をもっとよく説明するために、下記の例えにより説明し、具体的な実現する過程が以下のように：
【００５６】
（１）正規表現を使用してアクセスされたソースの接尾辞がｊｐｇであるレコード行をフィルタリングする。
【００５７】
（２）ログ解析クラスを作成してレコード行の五つのコンポーネントを別々に解析し、二次元配列を使ってビジターＩＰと小さなファイルの名前をストレージする。
【００５８】
（３）二次元配列のビジターＩＰ要素をトラバースし、各ビジターＩＰのトラフィックをカウンタするカウンタを設計する。ＨａｓｈＭａｐコレクションを使って、ビジターＩＰをＫｅｙ値とし、Ｖａｌｕｅ値が該ビジターのトラフィックである。
【００５９】
（４）ステップ３で生成されたＨａｓｈＭａｐコレクションをＶａｌｕｅ値にしたがって降順でソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションで該ＩＰサブセットをストレージし、アクティブユーザセットとしてマークする。
【００６０】
（５）一つのｂｅａｎオブジェクトによってアクティブユーザセットにアクセスされた小さなファイルを抽象に表し、オブジェクトのプロパティが該小さなファイルをアクセスしたユーザＩＤ、ユーザにアクセスされた小さなファイルの名前及び該小さなファイルがアクセスされた回数を含む。メソッドはプロパティを取得するｇｅｔ及びｓｅｔメソッドである。
【００６１】
（６）ＪＤＢＣテクノロジｂｅａｎオブジェクトをＭｙｓｑｌデータベースに結合して永続にストレージし、以下の形式のテーブルが形成される：
【００６２】
2019204472.tif 000026
【００６３】
（７）２０行の二行の間にデータを取り込み、数式
2019204472.tif 000027
によって二つの異なるユーザアクセス作動の類似性をカウンタする。その中に、本発明はピアソン相関係数を使用して類似のユーザを決定し、スコアリング行列Ｒを指定し、ユーザａとユーザｂの類似性をｓｉｍ（ａ，ｂ）で表し、ｒａ及びｒｂが「ユーザ−トラフィック」ストアリングマトリックスのストアリングデータである。
【００６４】
（８）ここで、ｓｉｍ（ａ，ｂ）の値が正の値であれば、二人の異なるユーザが類似ユーザであると判定され、そのユーザＩＤが記録される。
【００６５】
（９）類似ユーザのユーザＩＤに基づいて、一つのコレクションを使用して、類似ユーザにアクセスされ、関連付けられているすべてのファイル情報をストレージする。
【００６６】
ステップＢ：関連ファイルコレクションのミドルファイルとストレージされるファイルを順にマージするキューに追加する。
【００６７】
ステップＣ：マージするキューのすべてのファイルの総サイズが１２８  ＭＢを超えるかどうかを判断し、イエスであれば、ステップＤに進み、そうでなければ、ステップＥに進む。
【００６８】
ステップＤ：マージするキューのすべてのファイルを一つのデータブロックにマージし、マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＢを戻す。
【００６９】
ステップＥ：関連ファイルコレクションのミドルファイルとストレージされるファイルが全部マージするキューに追加されたかどうかを判断し、イエスであれば、マージするキューのすべてのファイルを一つのデータブロックにマージし、マージするキューのファイル情報をクリアし、マージしたファイルのソースファイルを削除して、ステップＦに進み、そうでなければ、ステップＢに進む。
【００７０】
ステップＦ：すべてのマージしたデータブロックをＨＤＦＳシステムにストレージする。
【００７１】
図３を参照し、図３は本発明が提供するキャッシュメソッドの実施例のプロセス見取り図である。本発明のＨＢａｓｅキャッシュモデルが図３のキャッシュメソッドを採用し、該メソッドはステップ３０１からステップ３０３までを含み、各ステップが以下のように：
【００７２】
ステップ３０１：ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計する。
【００７３】
本実施例の中に、ステップ３０１においてユーザアクセスログレコードからアクティブユーザセットを統計し、具体的には：アクセスされたソースの接尾辞がｊｐｇであるレコード行をユーザアクセスログレコードからフィルタリングし、その中に、レコード行がユーザＩＰ、アクセスページＵＲＬ、アクセス開始時刻、アクセス状況及びアクセストラフィックを含み、ログ解析クラスを作成してレコード行を解析し、二次元配列を使用してビジターＩＰと小さなファイルの名前をストレージし、二次元配列のビジターＩＰをトラバースし、ＨａｓｈＭａｐコレクションを使用して各ビジターＩＰのトラフィックを統計し、ＨａｓｈＭａｐコレクションのＫｅｙ値がビジターＩＰであり、Ｖａｌｕｅ値がトラフィックであり、ＨａｓｈＭａｐコレクションをＶａｌｕｅ値によって降順にソートし、ビジターＩＰの上位２０％をフィルタリングし、ＡｒｒａｙＬｉｓｔコレクションを使用して該ＩＰサブセットをストレージしてアクティブユーザセットとしてマークする。
【００７４】
本発明のステップ３０１においてアクティブユーザセットをカウントする目的は、小さなファイルへのユーザのアクセスが均一なランダムではなくパレート分布法則に近いのである。すなわち、ほとんどのＩ／Ｏが少量の人気データへのアクセスをリクエストし、トラフィックの８０％がデータの２０％に集中している。したがって、ファイルシステムにストレージされた大量の小さなファイルからモデルを介してホットスポットファイルを予測してキャッシュすることができれば、ユーザのデータへのアクセスの効率を上げられる。
【００７５】
ステップ３０２：対数線形モデルをあわせて、アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークする。
【００７６】
本実施例において、ステップ３０２は具体的には：ＡｒｒａｙＬｉｓｔコレクションから抽出されたビジターＩＰを、二次元配列から抽出されたビジターＩＰと照合し、一致が出たら、合致するビジターＩＰをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデを用いて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位２０％をホットスポットファイルとしてマークする。
【００７７】
対数線形モデルは：  
2019204472.tif 000028
であり、
【００７８】
その中に、
2019204472.tif 000029
がファイルｉの人気予測値であり、
2019204472.tif 000030
がファイルｉが観測期間中のトラフィックであり、観測期間の長さがｔである。
2019204472.tif 000031
と
2019204472.tif 000032
が線形関係の関連パラメータであり、線形回帰法によって最適値をアカウントすることができる。
【００７９】
本発明の対数線形モデルにおいて記載された観測期間の長さｔの定義は：ユーザアクセスログレコードのレコード行のアクセス開始時刻要素とユーザアクセスログレコードを収集した時刻との時間差である。例えば、収集されたユーザアクセスログレコードの時点が３０／Ｊａｎ／２０１８：１７：３８：２０で、ユーザアクセスログレコードのレコード行のアクセス開始時刻が２９／Ｊａｎ／２０１８：１０：３５：１５で、観測期間の長さが２９／Ｊａｎ／２０１８：１０：３５：１５から３０／Ｊａｎ／２０１８：１７：３８：２０までの時間差であり、アカウントしやすいために、期間の長さが時間単位にする。
【００８０】
ステップ３０３：ホットスポットファイルを取得し、Ｈｂａｓｅデータベースを採用してホットスポットファイルの関連情報をキャッシュする。
【００８１】
本実施例においては、Ｈｂａｓｅデータベースを採用してホットスポットファイルの関連情報をキャッシュし、ＨＢａｓｅのテーブル名値がビジターＩＤであり、ＨＢａｓｅのＲｏｗＫｅｙが小さなファイルの名前であり、ＨＢａｓｅのファミリ名が「ファイルコンテンツ」であり、Ｖａｌｕｅ値すなわちセル値が小さなファイルのコンテンツである。ユーザがＨＢａｓｅの小さなファイルにアクセス時に、ユーザＩＤをテーブル名とし、アクセスする小さなファイルの名前をＨＢａｓｅのｇｅｔ（）メソッドのパラメータとすれば、対応する小さなファイルのコンテンツを取得できる。
【００８２】
本発明のキャッシュメソッドをもっと詳しく説明するため、図４を参照し、図４は本発明の提供するキャッシュメソッドのもう一つの実施例のプロセス見取り図である。図４が示すように、該プロセスが：ユーザアクセスレコードセット→正規表現が需要するレコード行をフィルタリングする→レコード行を解析する→ｂｅａｎオブジェクトでレコード行情報をカプセル化する→ＪＤＢＣ  ＡＰＩを調査研究してｂｅａｎオブジェクトをＭｙｓｑｌデータベースに永続化する→二次元配列によってビジターＩＰと小さなファイルの名前情報をストレージする→配列をトラバースし、ビジタートラフィックを統計する→ビジタートラフィックによってサーとし、ＡｒｒａｙＬｉｓｔコレクションを使ってアクティブユーザセットのユーザＩＰをストレージする→二次元配列をアクティブユーザセットのビジターＩＰと照合する→一致が出たら、ビジターＩＰをキーワードとして、ユーザアクセス開始時刻とトラフィックを抽出する→ファイル人気予測数式によってファイル人気値をアカウントする→ファイル人気値をサートし、ホットスポットファイルをマークする→ＨＢａｓｅによってホットスポットファイルの関連情報をキャッシュする。
【００８３】
上記からわかったことは、本発明の実施例の提供するＨａｄｏｏｐに基づいて、データマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳから複数の２ＭＢ以下の小さなファイルを読み込む方法において、該読み込みメソッドがデータマージモジュールとＨＢａｓｅキャッシュモジュールを備えるＨＤＦＳシステムに適用される。該読み込みメソッドは、ユーサーによってインプットされる小さなファイルの読み込みコマンドを受信し、その中に、小さなファイルの読み込みコマンドがユーザＩＤと小さなファイルの名前を含み、ユーザＩＤと小さなファイルの名前でＨＢａｓｅキャッシュモジュールを照会し、対応するファイルコンテンツが出たら、照会されたファイルコンテンツを戻し、対応するファイルコンテンツが出ないと、ＨＤＦＳシステムのデータベースを照会し、成功したら、照会されたファイルコンテンツを戻し、失敗したら、ＨａｄｏｏｐａｒｃｈｉｖｅツールのＡＰＩを呼び出し、対応するＨＡＲファイルにアクセスしてＨＡＲファイルを戻す。現有技術と比べて、小さなファイルの間のアソシエーションとホットスポットファイルを問わず、本発明の読み込みメソッドは小さなファイルとＨＢａｓｅキャッシングメカニズムがマージされた後で、小さなファイルの読み込み効率を上げられる。
【００８４】
更に、本発明はデータマージメソッドを提供し、小さなファイルの読み込み効率を高め、ＨＤＦＳシステムでのｎａｍｅｎｏｄｅメモリの消費を削減する。
【００８５】
更に、本発明のデータマージメソッドには、複数の関連付けられた小さなファイルが一つの大きなファイルにマージされてシステムにストレージされ、システムのｎａｍｅｎｏｄｅノードが一つの大きなファイルの対応するメタデータをストレージし、ｎａｍｅｎｏｄｅノードの維持する必要のあるメタデータの量が大幅に減少し、メモリ消費量も減少になる。
【００８６】
更に、本発明のデータマージメソッドには、関連ファイルが同じの一つの大きなファイルにストレージされ、ファイルがマージされた後で同じデータノードの同じデータブロックの中にストレージされる。ファイルへのユーザのリクエストに強い関連性があれば、すなわち、ユーザに耐えずにアクセスされた小さなファイルが同じ大きなファイルにマージされば、ファイルアクセスの原則によると、システムはより近いｄａｔａｎｏｄｅノードのデータブロックを読み込み、つまり絶えずに同じｄａｔａｎｏｄｅのデータブロックからデータを読み込み、こうして異なるファイルにアクセス時に異なるデータノードの間にジャンプしなくで済み、ディスクアドレッシングのオーバーヘッドが削減され、占められるシステムリソースが比較的に少なくなり、ファイルの読み込み効率を大きく高める。
【００８７】
更に、本発明が提供するキャッシュメソッドには、現有技術と比べてユーザにアクセスされたホットスポットファイルを考慮せず、本発明はＨＢａｓｅによってホッとスポットファイルをキャッシュし、キャッシュヒット率を高めるだけでなく、ファイルの読み込み効率も上げる。
【００８８】
当業者は、上記の実施形態を実施するプロセスの全部または一部を理解することができ、コンピュータプログラムによって関連するハードウェアを指示することで完了することができ、前記のプログラムがコンピュター可読記憶媒体にストレージされることができ、該プログラムが実行される時に、上記の各メソッドの実施例のプロセスが含まれる。その中に、前記の記憶媒体が磁気ディスク、光ディスク、読み出し専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ，ＲＯＭ）またはランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ，ＲＡＭ）であってもよい。
【００８９】
以上に述べたのは本発明の優先された実施形態であり、注意すべきのは、本技術分野の一般的な技術員にとって、本発明の原理から離れないことを前提として、若干な改善や飾りができ、これらの改善や飾りも本発明の保護範囲に含まれる。