JP2019204475A - Hadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法 - Google Patents

Hadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法 Download PDF

Info

Publication number
JP2019204475A
JP2019204475A JP2018147291A JP2018147291A JP2019204475A JP 2019204475 A JP2019204475 A JP 2019204475A JP 2018147291 A JP2018147291 A JP 2018147291A JP 2018147291 A JP2018147291 A JP 2018147291A JP 2019204475 A JP2019204475 A JP 2019204475A
Authority
JP
Japan
Prior art keywords
file
active user
visitor
files
popularity prediction
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.)
Granted
Application number
JP2018147291A
Other languages
English (en)
Other versions
JP6696062B2 (ja
Inventor
謝桂園
Guiyuan Xie
魏文国
Wenguo Wei
蔡君
Jun Cai
趙慧民
Huimin Zhao
彭建烽
Jianfeng Peng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Polytechnic Normal University
Original Assignee
Guangdong Polytechnic Normal University
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 Guangdong Polytechnic Normal University filed Critical Guangdong Polytechnic Normal University
Publication of JP2019204475A publication Critical patent/JP2019204475A/ja
Application granted granted Critical
Publication of JP6696062B2 publication Critical patent/JP6696062B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】本発明はHadoopに基づく大量の小さなファイルのキャッシュメソッドを開示した。【解決手段】該メソッドは:ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを合わせ、アクティブユーザセットの各アクテイブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順でソートし、ファイルの上位20%をホットスポットファイルとしてマークし、前記ホットスポットファイルを取得し、Hbaseデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュする。本発明の技術プランを採用することで、キャッシュヒット率を向上させ、ファイルの読み取り効率を改善することができる。【選択図】図1

Description

本発明はコンピュータテクノロジー分野に関し、具体的には、Hadoopに基づく大量の小さなファイルのキャッシュメソッドに関する。
Hadoopは2005年にApache FoundationによってLuceneのサブプロジェクトであるNutchの一部分として正式に導入されたものである。Hadoopの最も重要な二つの設計はHDFSとMapReduceである。HDFSは大量なデータをストレージし、ファイルがデータブロックの形でシステムにストレージされる。また、HDFSのデータブロックは通常のディスクに定義されたデータブロック(通常は512B)よりも遥かに大きく、HDFSの現在のデフォルトブロックサイズは128MBである。もしHDFSにストレージされたファイルのサイズが128に超えると、HDFSは該ファイルを複数のブロックサイズのブロックに分割し、別々にストレージする。また、HDFSが絶えずに小さなファイルをTBひいてはPBレベルまでストレージし続けると、小さなファイルの問題が発生し、此れは、大量のメタデータがHDFSのプライマリノードのnamenodeにストレージされるため、namenodeの負荷が大幅に増加し、システムの読み取りパフォーマンスに影響するためである。その中に、小さなファイルのサイズが2MBに定義され、つまり、HDFSがファイルをストレージする中で、ファイルのサイズが2Mまたは2M以下であると、小さなファイルとして定義される。
ファイルの読み取り効率を改善するために、HDFSにはキャッシングメカニズムが導入され、また、既存のキャシング戦略は:ユーザがあるファイルを読み取ると、該ファイルと関連するファイル及びインデックスファイルはメモリにロードされる。該戦略がファイルの読み取り効率を向上させる事ができるという前提は、ユーザがメモリ内のファイルにアクセスすることである。しかし、該ファイルセットが頻繁にアクセスされるかどうか、つまり該ファイルが一般的なデータであるかどうかは考慮されない。既存の技術のその他のキャッシュメソッドも一般的なデータの面からは考慮されず、ファイルの読み取り効率を向上できないだけでなく、ファイルシステム全体のパフォーマンスにも影響する。
中国特許出願公開第101706827号明細書
本発明の実施例はHadoopに基づく大量の小さなファイルのキャッシュメソッドを提供し、HBaseによってヒートファイルをキャッシュし、キャッシュヒット率を向上させるだけでなく、ファイルの読み取り効率を向上させる。
本発明の実施例はHadoopに基づく大量の小さなファイルのキャッシュメソッドを提供し、具体的には:
ユーザアクセスログレコードを取得し、前記ユーザアクセスロクレコードからアクティブユーザセットを統計し、
対数線形モデルを合わせ、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、
前記ホットスポットファイルを取得し、Hbaseデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュする。
更に、前記前記ユーザアクセスログレコードからアクティブユーザセットを統計するについて、具体的には:
アクセスされたソースの接尾辞がjpgであるレコード行を前記ユーザアクセスログレコードからフィルタリングし、前記レコード行がユーザID、アクセスページURL、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、
レコード解析クラスを作成して前記レコード行を解析し、二次元配列を使用してビジターIPと小さなファイルの名前をストレージし、
前記二次元配列のビジターIPをトラバースし、HashMapコレクションを使用して各ビジターIPのトラフィックを統計し、前記HashMapコレクションのKey値がビジターIPであり、Value値がトラフィックであり、
HashMapコレクションをValue値の降順でソートし、ビジターIPの上位20%をフィルタリングし、ArrayListコレクションを使用して該IPサブセットをストレージし、アクティブユーザセットとしてマークする。
更に、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、具体的には:
ArrayListコレクションから抽出されたビジターIPを、前記二次元配列から抽出されたビジターIPと照合し、
一致が出たら、合致するビジターIPをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを合わせ、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、
前記対数線形モデルは:
Figure 2019204475
であり、
その中に、
Figure 2019204475
がファイルiの人気予測値であり、
Figure 2019204475
がファイルiが観測期間中のトラフィックであり、観測期間の長さがtである。
本発明の実施例を実施すると、以下の有益効果が出る:
本発明の実施例が提供するHadoopに基づく大量の小さなファイルのキャッシュメソッドは、ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを合わせて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。前記ホットスポットファイルを取得し、Hbaseデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュする。ユーザにアクセスされたホットスポットファイルを考慮しない現有技術と比べ、本発明の技術プランはHBaseによってヒートファイルをキャッシュし、ファイルの読み取り効率を高める。
本発明の実施例を実施すると、以下の有益効果が出る:
本発明の実施例が提供するHadoopに基づく大量の小さなファイルのキャッシュメソッドは、ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを合わせて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。前記ホットスポットファイルを取得し、Hbaseデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュする。ユーザにアクセスされたホットスポットファイルを考慮しない現有技術と比べ、本発明の技術プランはHBaseによってヒートファイルをキャッシュし、ファイルの読み取り効率を高める。
図1は本発明が提供するHadoopに基づく大量の小さなファイルのキャッシュメソッドの実施例のプロセス見取り図である。 図2は本発明が提供するHadoopに基づく大量の小さなファイルのキャッシュメソッドの実施例のプロセス見取り図である。
下記に本発明の実施例の中の附図を交え、本発明の実施例の技術方案を明確にはっきり説明し、説明した実施例がただ本発明の一部分の実施例で、全部の実施例ではないである。本発明の実施例に基づいて、本領域の普通技術者が創造的な労働を払わないことを前提に得る全部のその他の実施例は本発明の保護範囲に所属する
図1を参照し、本発明が提供するHadoopに基づく大量の小さなファイルのキャッシュメソッドの実施例のプロセス見取り図であり、該プロセスはステップ101からステップ103まで含み、その中に各ステップは以下のように:
ステップ101:ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計する。
本実施例において、ステップ101には、ユーザアクセスログレコードよりアクティブユーザセットを統計し、具体的には:アクセスされたソースの接尾辞がjpgであるレコード行をユーザアクセスログレコードからフィルタリングし、その中に、レコード行がユーザID、アクセスページURL、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、レコード解析クラスを作成してレコード行を解析し、二次元配列を使用してビジターIPと小さなファイルの名前をストレージし、二次元配列のビジターIPをトラバースし、HashMapコレクションを使用して各ビジターIPのトラフィックを統計し、HashMapコレクションのKey値がビジターIPであり、Value値がトラフィックであり、HashMapコレクションをValue値の降順でソートし、ビジターIPの上位20%をフィルタリングし、ArrayListコレクションを使用して該IPサブセットをストレージし、アクティブユーザセットとしてマークする。
本発明のステップ101においてアクティブユーザセットをカウントする目的は、小さなファイルへのユーザのアクセスが均一なランダムではなくパレート分布法則に近いのである。すなわち、ほとんどのI/Oが少量の人気データへのアクセスをリクエストし、トラフィックの80%がデータの20%に集中している。したがって、ファイルシステムにストレージされた大量の小さなファイルからモデルを介してホットスポットファイルを予測してキャッシュすることができれば、ユーザのデータへのアクセスの効率を上げることができる。
ステップ102:対数線形モデルを合わせ、アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。
本実施例において、ステップ102は具体的には:ArrayListコレクションから抽出されたビジターIPを、二次元配列から抽出されたビジターIPと照合し、一致が出たら、合致するビジターIPをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを合わせ、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。
対数線形モデルは:
Figure 2019204475
であり、
その中に、
Figure 2019204475
がファイルiの人気予測値であり、
Figure 2019204475
がファイルiが観測期間中のトラフィックであり、観測期間の長さがtである。
Figure 2019204475

Figure 2019204475
が線形関係の関連パラメータであり、線形回帰法によって最適値をアカウントすることができる。本発明の対数線形モデルにおいて記載された観測期間の長さtの定義は:ユーザアクセスログレコードのレコード行のアクセス開始時刻要素とユーザアクセスログレコードを収集した時刻との時間差である。例えば、収集されたユーザアクセスログレコードの時点が30/Jan/2018:17:38:20で、ユーザアクセスログレコードのレコード行のアクセス開始時刻が29/Jan/2018:10:35:15で、観測期間の長さが29/Jan/2018:10:35:15から30/Jan/2018:17:38:20までの時間差であり、アカウントしやすいために、期間の長さが時間単位にする。
ステップ103:ホットスポットファイルを取得し、Hbaseデータベースを採用してホットスポットファイルの関連情報をキャッシュする。
本実施例においては、Hbaseデータベースを採用してホットスポットファイルの関連情報をキャッシュし、HBaseのテーブル名値がビジターIDであり、HBaseのRowKeyが小さなファイルの名前であり、HBaseのファミリ名が「file content」であり、Value値すなわちセル値が小さなファイルのコンテンツである。ユーザがHBaseの小さなファイルにアクセス時に、ユーザIDをテーブル名とし、アクセスする小さなファイルの名前をHBaseのget()メソッドのパラメータとすれば、対応する小さなファイルのコンテンツを取得できる。
本発明のキャッシュメソッドをもっと詳しく説明するため、図2を参照し、図2は本発明の提供するキャッシュメソッドのもう一つの実施例のプロセス見取り図である。図2が示すように、該プロセスが:ユーザアクセスレコードセット→正規表現が需要するレコード行をフィルタリングする→レコード行を解析する→beanオブジェクトでレコード行情報をカプセル化する→JDBC APIを調査研究してbeanオブジェクトをMysqlデータベースに永続化する→二次元配列によってビジターIPと小さなファイルの名前情報をストレージする→配列をトラバースし、ビジタートラフィックを統計する→ビジタートラフィックによってサーとし、ArrayListコレクションを使ってアクティブユーザセットのユーザIPをストレージする→二次元配列をアクティブユーザセットのビジターIPと照合する→一致が出たら、ビジターIPをキーワードとして、ユーザアクセス開始時刻とトラフィックを抽出する→ファイル人気予測数式によってファイル人気値をアカウントする→ファイル人気値をサートし、ホットスポットファイルをマークする→HBaseによってホットスポットファイルの関連情報をキャッシュする。
上記からわかったことは、本発明の実施例の提供するHadoopに基づく大量の小さなファイルのキャッシュメソッドには、ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを合わせて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、前記ホットスポットファイルを取得し、Hbaseデータベースを採用し前記ホットスポットファイルの関連情報をキャッシュする。ユーザにアクセスされたホットスポットファイルを考慮しない現有技術と比べ、本発明の技術プランはHBaseによってヒートファイルをキャッシュし、キャッシュヒット率を向上させるだけでなく、ファイルの読み取り効率の改善もできる。
当業者は、上記の実施形態を実施するプロセスの全部または一部を理解することができ、コンピュータプログラムによって関連するハードウェアを指示することで完了することができ、前記のプログラムがコンピュター可読記憶媒体にストレージされることができ、該プログラムが実行される時に、上記の各メソッドの実施例のプロセスが含まれる。その中に、前記の記憶媒体が磁気ディスク、光ディスク、読み出し専用メモリ(Read−Only Memory,ROM)またはランダムアクセスメモリ(Random Access Memory,RAM)であってもよい。
以上に述べたのは本発明の優先された実施形態であり、注意すべきのは、本技術分野の一般的な技術員にとって、本発明の原理から離れないことを前提として、若干な改善や飾りができ、これらの改善や飾りも本発明の保護範囲に含まれる。
本発明はコンピュータテクノロジー分野に関し、具体的には、Hadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法に関する。
Hadoopは2005年にApache FoundationによってLuceneのサブプロジェクトであるNutchの一部分として正式に導入されたものである。Hadoopの最も重要な二つの設計はHDFSとMapReduceである。HDFSは大量なデータをストレージし、ファイルがデータブロックの形でシステムにストレージされる。また、HDFSのデータブロックは通常のディスクに定義されたデータブロック(通常は512B)よりも遥かに大きく、HDFSの現在のデフォルトブロックサイズは128MBである。もしHDFSにストレージされたファイルのサイズが128に超えると、HDFSは該ファイルを複数のブロックサイズのブロックに分割し、別々にストレージする。また、HDFSが絶えずに小さなファイルをTBひいてはPBレベルまでストレージし続けると、小さなファイルの問題が発生し、此れは、大量のメタデータがHDFSのプライマリノードのnamenodeにストレージされるため、namenodeの負荷が大幅に増加し、システムの読み取りパフォーマンスに影響するためである。その中に、小さなファイルのサイズが2MBに定義され、つまり、HDFSがファイルをストレージする中で、ファイルのサイズが2Mまたは2M以下であると、小さなファイルとして定義される。
ファイルの読み取り効率を改善するために、HDFSにはキャッシングメカニズムが導入され、また、既存のキャシング戦略は:ユーザがあるファイルを読み取ると、該ファイルと関連するファイル及びインデックスファイルはメモリにロードされる。該戦略がファイルの読み取り効率を向上させる事ができるという前提は、ユーザがメモリ内のファイルにアクセスすることである。しかし、該ファイルセットが頻繁にアクセスされるかどうか、つまり該ファイルが一般的なデータであるかどうかは考慮されない。既存の技術のその他のキャッシュメソッドも一般的なデータの面からは考慮されず、ファイルの読み取り効率を向上できないだけでなく、ファイルシステム全体のパフォーマンスにも影響する。
中国特許出願公開第101706827号明細書
本発明の実施例はHadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法を提供し、HBaseによってヒートファイルをキャッシュし、キャッシュヒット率を向上させるだけでなく、ファイルの読み取り効率を向上させる。
本発明の実施例はHadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法を提供し、具体的には:
ユーザアクセスログレコードを取得し、前記ユーザアクセスロクレコードからアクティブユーザセットを統計し、
対数線形モデルを用いて、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、
前記ホットスポットファイルを取得し、Hbaseデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュする。
更に、前記前記ユーザアクセスログレコードからアクティブユーザセットを統計するについて、具体的には:
アクセスされたソースの接尾辞がjpgであるレコード行を前記ユーザアクセスログレコードからフィルタリングし、前記レコード行がユーザID、アクセスページURL、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、
レコード解析クラスを作成して前記レコード行を解析し、二次元配列を使用してビジターIPと小さなファイルの名前をストレージし、
前記二次元配列のビジターIPをトラバースし、HashMapコレクションを使用して各ビジターIPのトラフィックを統計し、前記HashMapコレクションのKey値がビジターIPであり、Value値がトラフィックであり、
HashMapコレクションをValue値の降順でソートし、ビジターIPの上位20%をフィルタリングし、ArrayListコレクションを使用して該IPサブセットをストレージし、アクティブユーザセットとしてマークする。
更に、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、具体的には:
ArrayListコレクションから抽出されたビジターIPを、前記二次元配列から抽出されたビジターIPと照合し、
一致が出たら、合致するビジターIPをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを用いて、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、
前記対数線形モデルは:
Figure 2019204475
であり、
その中に、
Figure 2019204475
がファイルiの人気予測値であり、
Figure 2019204475
がファイルiが観測期間中のトラフィックであり、観測期間の長さがtである。
本発明の実施例を実施すると、以下の有益効果が出る:
本発明の実施例が提供するHadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法は、ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを用いて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。前記ホットスポットファイルを取得し、Hbaseデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュする。ユーザにアクセスされたホットスポットファイルを考慮しない現有技術と比べ、本発明の技術プランはHBaseによってヒートファイルをキャッシュし、ファイルの読み取り効率を高める。
本発明の実施例を実施すると、以下の有益効果が出る:
本発明の実施例が提供するHadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法は、ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを用いて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。前記ホットスポットファイルを取得し、Hbaseデータベースを採用して前記ホットスポットファイルの関連情報をキャッシュする。ユーザにアクセスされたホットスポットファイルを考慮しない現有技術と比べ、本発明の技術プランはHBaseによってヒートファイルをキャッシュし、ファイルの読み取り効率を高める。
図1は本発明が提供するHadoopに基づく大量の小さなファイルのキャ ッシュメソッドの実施例のプロセス見取り図である。 図2は本発明が提供するHadoopに基づく大量の小さなファイルのキャ ッシュメソッドの実施例のプロセス見取り図である。
下記に本発明の実施例の中の附図を交え、本発明の実施例の技術方案を明確にはっきり説明し、説明した実施例がただ本発明の一部分の実施例で、全部の実施例ではないである。本発明の実施例に基づいて、本領域の普通技術者が創造的な労働を払わないことを前提に得る全部のその他の実施例は本発明の保護範囲に所属する
図1を参照し、本発明が提供するHadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法の実施例のプロセス見取り図であり、該プロセスはステップ101からステップ103まで含み、その中に各ステップは以下のように:
ステップ101:ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計する。
本実施例において、ステップ101には、ユーザアクセスログレコードよりアクティブユーザセットを統計し、具体的には:アクセスされたソースの接尾辞がjpgであるレコード行をユーザアクセスログレコードからフィルタリングし、その中に、レコード行がユーザID、アクセスページURL、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、レコード解析クラスを作成してレコード行を解析し、二次元配列を使用してビジターIPと小さなファイルの名前をストレージし、二次元配列のビジターIPをトラバースし、HashMapコレクションを使用して各ビジターIPのトラフィックを統計し、HashMapコレクションのKey値がビジターIPであり、Value値がトラフィックであり、HashMapコレクションをValue値の降順でソートし、ビジターIPの上位20%をフィルタリングし、ArrayListコレクションを使用して該IPサブセットをストレージし、アクティブユーザセットとしてマークする。
本発明のステップ101においてアクティブユーザセットをカウントする目的は、小さなファイルへのユーザのアクセスが均一なランダムではなくパレート分布法則に近いのである。すなわち、ほとんどのI/Oが少量の人気データへのアクセスをリクエストし、トラフィックの80%がデータの20%に集中している。したがって、ファイルシステムにストレージされた大量の小さなファイルからモデルを介してホットスポットファイルを予測してキャッシュすることができれば、ユーザのデータへのアクセスの効率を上げることができる。
ステップ102:対数線形モデルを用いて、アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。
本実施例において、ステップ102は具体的には:ArrayListコレクションから抽出されたビジターIPを、二次元配列から抽出されたビジターIPと照合し、一致が出たら、合致するビジターIPをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを用いて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークする。
対数線形モデルは:
Figure 2019204475
であり、
その中に、
Figure 2019204475
がファイルiの人気予測値であり、
Figure 2019204475
がファイルiが観測期間中のトラフィックであり、観測期間の長さがtである。
Figure 2019204475

Figure 2019204475
が線形関係の関連パラメータであり、線形回帰法によって最適値をアカウントすることができる。本発明の対数線形モデルにおいて記載された観測期間の長さtの定義は:ユーザアクセスログレコードのレコード行のアクセス開始時刻要素とユーザアクセスログレコードを収集した時刻との時間差である。例えば、収集されたユーザアクセスログレコードの時点が30/Jan/2018:17:38:20で、ユーザアクセスログレコードのレコード行のアクセス開始時刻が29/Jan/2018:10:35:15で、観測期間の長さが29/Jan/2018:10:35:15から30/Jan/2018:17:38:20までの時間差であり、アカウントしやすいために、期間の長さが時間単位にする。
ステップ103:ホットスポットファイルを取得し、Hbaseデータベースを採用してホットスポットファイルの関連情報をキャッシュする。
本実施例においては、Hbaseデータベースを採用してホットスポットファイルの関連情報をキャッシュし、HBaseのテーブル名値がビジターIDであり、HBaseのRowKeyが小さなファイルの名前であり、HBaseのファミリ名が「file content」であり、Value値すなわちセル値が小さなファイルのコンテンツである。ユーザがHBaseの小さなファイルにアクセス時に、ユーザIDをテーブル名とし、アクセスする小さなファイルの名前をHBaseのget()メソッドのパラメータとすれば、対応する小さなファイルのコンテンツを取得できる。
本発明のキャッシュメソッドをもっと詳しく説明するため、図2を参照し、図2は本発明の提供するキャッシュメソッドのもう一つの実施例のプロセス見取り図である。図2が示すように、該プロセスが:ユーザアクセスレコードセット→正規表現が需要するレコード行をフィルタリングする→レコード行を解析する→beanオブジェクトでレコード行情報をカプセル化する→JDBC APIを調査研究してbeanオブジェクトをMysqlデータベースに永続化する→二次元配列によってビジターIPと小さなファイルの名前情報をストレージする→配列をトラバースし、ビジタートラフィックを統計する→ビジタートラフィックによってサーとし、ArrayListコレクションを使ってアクティブユーザセットのユーザIPをストレージする→二次元配列をアクティブユーザセットのビジターIPと照合する→一致が出たら、ビジターIPをキーワードとして、ユーザアクセス開始時刻とトラフィックを抽出する→ファイル人気予測数式によってファイル人気値をアカウントする→ファイル人気値をサートし、ホットスポットファイルをマークする→HBaseによってホットスポットファイルの関連情報をキャッシュする。
上記からわかったことは、本発明の実施例の提供するHadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法には、ユーザアクセスログレコードを取得し、ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを用いて、アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、前記ホットスポットファイルを取得し、Hbaseデータベースを採用し前記ホットスポットファイルの関連情報をキャッシュする。ユーザにアクセスされたホットスポットファイルを考慮しない現有技術と比べ、本発明の技術プランはHBaseによってヒートファイルをキャッシュし、キャッシュヒット率を向上させるだけでなく、ファイルの読み取り効率の改善もできる。
当業者は、上記の実施形態を実施するプロセスの全部または一部を理解することができ、コンピュータプログラムによって関連するハードウェアを指示することで完了することができ、前記のプログラムがコンピュター可読記憶媒体にストレージされることができ、該プログラムが実行される時に、上記の各メソッドの実施例のプロセスが含まれる。その中に、前記の記憶媒体が磁気ディスク、光ディスク、読み出し専用メモリ(Read−Only Memory,ROM)またはランダムアクセスメモリ(Random Access Memory,RAM)であってもよい。
以上に述べたのは本発明の優先された実施形態であり、注意すべきのは、本技術分野の一般的な技術員にとって、本発明の原理から離れないことを前提として、若干な改善や飾りができ、これらの改善や飾りも本発明の保護範囲に含まれる。

Claims (1)

  1. Hadoopに基づく大量の小さなファイルのキャッシュメソッドは、ユーザアクセスログレコードを取得し、前記ユーザアクセスログレコードからアクティブユーザセットを統計し、対数線形モデルを合わせ、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順でソートし、ファイルの上位20%をホットスポットファイルとしてマークし、前記ホットスポットファイルを取得し、Hbaseデータベースによって前記ホットスポットファイルの関連情報をキャッシュし、前記前記ユーザアクセスログレコードからアクティブユーザセットを統計するについて、具体的には:アクセスされたソースの接尾辞がjpgであるレコード行を前記ユーザアクセスログレコードからフィルタリングし、前記レコード行がユーザID、アクセスページURL、アクセス開始時刻、アクセス状況、アクセストラフィックを含み、レコード解析クラスを作成して前記レコード行を解析し、二次元配列を使用してビジターIPと小さなファイルの名前をストレージし、ビジターIPを前記二次元配列でトラバースし、HashMapコレクションを使用して各ビジターIPのトラフィックを統計し、前記HashMapコレクションのKey値がビジターIPであり、Value値がトラフィックであり、前記HashMapコレクションをValue値の降順でソートし、ビジターIPの上位20%をフィルタリングし、ArrayListコレクションを使用して該IPサブセットをストレージし、アクティブユーザセットとしてマークし、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、具体的には、ArrayListコレクションから抽出されたビジターIPを、前記二次元配列から抽出されたビジターIPと照合し、一致が出たら、合致するビジターIPをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを合わせ、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、前記対数線形モデルをあわせて、前記アクティブユーザセットの各アクティブユーザにアクサスされたファイルの人気予測値をアカウントして、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、具体的には、ArrayListコレクションから抽出されたビジターIPを、前記二次元配列から抽出されたビジターIPと照合し、一致が出たら、合致するビジターIPをキーワードとして、各ユーザのアクセス開始時刻を照会して、対数線形モデルを合わせ、前記アクティブユーザセットの各アクティブユーザにアクセスされたファイルの人気予測値をアカウントし、人気予測値によって各ファイルを降順にソートし、ファイルの上位20%をホットスポットファイルとしてマークし、前記対数線形モデルは:
    Figure 2019204475
    であり、その中に、
    Figure 2019204475
    がファイルiの人気予測値であり、
    Figure 2019204475
    がファイルiが観測期間中のトラフィックであり、観測期間の長さがtである。
JP2018147291A 2018-05-22 2018-08-04 Hadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法 Expired - Fee Related JP6696062B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810500093.2A CN108932288B (zh) 2018-05-22 2018-05-22 一种基于Hadoop的海量小文件缓存方法
CN201810500093.2 2018-05-22

Publications (2)

Publication Number Publication Date
JP2019204475A true JP2019204475A (ja) 2019-11-28
JP6696062B2 JP6696062B2 (ja) 2020-05-20

Family

ID=64449348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018147291A Expired - Fee Related JP6696062B2 (ja) 2018-05-22 2018-08-04 Hadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法

Country Status (2)

Country Link
JP (1) JP6696062B2 (ja)
CN (1) CN108932288B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695333A (zh) * 2022-10-31 2023-02-03 湖南快乐阳光互动娱乐传媒有限公司 pcdn节点资源淘汰方法、系统及相关设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190926B (zh) * 2019-11-25 2023-04-07 腾讯云计算(北京)有限责任公司 资源缓存方法、装置、设备及存储介质
CN112685634A (zh) * 2020-12-29 2021-04-20 平安普惠企业管理有限公司 数据查询方法、装置、电子设备及存储介质
CN113094368B (zh) * 2021-04-13 2022-08-05 成都信息工程大学 一种提升缓存访问命中率的系统及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104111900B (zh) * 2013-04-22 2017-06-20 中国移动通信集团公司 一种缓存中数据替换方法及装置
CN103795781B (zh) * 2013-12-10 2017-03-08 西安邮电大学 一种基于文件预测的分布式缓存方法
CN103856567B (zh) * 2014-03-26 2017-05-17 西安电子科技大学 基于Hadoop分布式文件系统的小文件存储方法
CN105183839A (zh) * 2015-09-02 2015-12-23 华中科技大学 一种基于Hadoop的小文件分级索引的存储优化方法
CN106528451B (zh) * 2016-11-14 2019-09-03 哈尔滨工业大学(威海) 针对小文件的二级缓存预取的云存储框架及构建方法
CN107045531A (zh) * 2017-01-20 2017-08-15 郑州云海信息技术有限公司 一种优化hdfs小文件存取的系统及方法
CN107066512A (zh) * 2017-01-23 2017-08-18 重庆邮电大学 一种基于Hadoop的用户偏好评估方法及系统
CN107368608A (zh) * 2017-08-07 2017-11-21 杭州电子科技大学 基于arc替换算法的hdfs小文件缓存管理方法
CN108446340B (zh) * 2018-03-02 2019-11-05 哈尔滨工业大学(威海) 一种面向海量小文件的用户热点数据访问预测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695333A (zh) * 2022-10-31 2023-02-03 湖南快乐阳光互动娱乐传媒有限公司 pcdn节点资源淘汰方法、系统及相关设备

Also Published As

Publication number Publication date
JP6696062B2 (ja) 2020-05-20
CN108932288A (zh) 2018-12-04
CN108932288B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
JP6695537B2 (ja) Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSから複数の2MB以下の小さなファイルを読み込む方法
JP6642650B2 (ja) Hadoopに基づいて、データマージモジュールとHBaseキャッシュモジュールを備えるHDFSに複数の2MB以下の小さなファイルを書き込む方法
JP6696062B2 (ja) Hadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法
JP6642651B2 (ja) ユーザアクセスプリファレンスモデルを用いたストレージ方法
He et al. Optimization strategy of Hadoop small file storage for big data in healthcare
CN103177056B (zh) 存储为行存储和列存储二者的混合数据库表
WO2017097231A1 (zh) 话题处理方法及装置
CN107122126B (zh) 数据的迁移方法、装置和系统
CN107040422A (zh) 一种基于物化缓存的网络大数据可视化方法
CN103366015A (zh) 一种基于Hadoop的OLAP数据存储与查询方法
CN107045531A (zh) 一种优化hdfs小文件存取的系统及方法
CN102902775B (zh) 互联网实时计算的方法和系统
CN107291806A (zh) 一种Web可视化环境中的数据视图副本迭代方法
Zhang et al. Sapprox: Enabling efficient and accurate approximations on sub-datasets with distribution-aware online sampling
US11210312B2 (en) Storing data items and identifying stored data items
CN107832333A (zh) 基于分布式处理和dpi数据构建用户网络数据指纹的方法和系统
US20240078234A1 (en) Apparatus, method and storage medium for database pagination
CN110457626A (zh) 一种异常访问请求筛选方法及装置
CN112148690A (zh) 一种文件缓存方法、文件访问请求处理方法及装置
CN103200269A (zh) 互联网信息统计方法及系统
Khodaei et al. Temporal-textual retrieval: Time and keyword search in web documents
CN106055572B (zh) 页面转化参数的处理方法及装置
CN106599005A (zh) 一种数据归档方法及装置
Colosi et al. Time series data management optimized for smart city policy decision
CN112667149A (zh) 一种数据热度感知方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181119

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190814

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200109

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: 20200122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200318

R150 Certificate of patent or registration of utility model

Ref document number: 6696062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees