【文献】
アンドリュー・S・タネンバウム, 外1名,コンピュータネットワーク,第5版,日経BP社,2013年09月17日,p.74-78
(58)【調査した分野】(Int.Cl.,DB名)
前記取得部によって取得された前記ログデータに含まれるデータに対して、前記第1の項目に着目した第1の編集処理を行って第1の編集データを生成するとともに前記第2の項目に着目した第2の編集処理を行って第2の編集データを生成する編集部をさらに備え、
前記第1の編集処理は、前記ログデータにおいて前記第1の項目のデータ毎に、その他の項目のデータを集約あるいは置き換える処理であり、
前記第2の編集処理は、前記ログデータにおいて前記第2の項目のデータ毎に、その他の項目のデータを集約あるいは置き換える処理である、
請求項1に記載のデータ管理装置。
【発明を実施するための形態】
【0010】
以下、図面を参照し、本発明のデータ管理装置、データ管理方法、およびプログラムの実施形態について説明する。本発明のデータ管理装置は、例えば、ウェブページなどの電子ページへのアクセスに応じて取得されるログデータに対してサンプリング処理、編集処理、無効化処理などを行うことで、データの保管期間、保管するデータの内容などを適宜設定し、ログデータの管理を行う。電子ページには、ブラウザによって参照されるウェブページの他、アプリケーションプログラムによって参照されるアプリページが含まれてよい。以下の説明では、ウェブページに着目して説明を行う。
【0011】
[全体構成]
図1は、データ管理システム1の一例を示す構成図である。データ管理システム1は、例えば、一以上の端末装置3と、一以上のサービス提供装置5と、一以上のデータ管理装置7とを備える。端末装置3と、サービス提供装置5と、データ管理装置7とは、ネットワークNWによって互いに接続されており、このネットワークNWを介して互いに通信する。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、専用回線、無線基地局、プロバイダなどを含む。
【0012】
[端末装置]
端末装置3は、サービス提供装置5が提供するサービスを利用するユーザによって操作される。端末装置3は、例えば、パーソナルコンピュータ、スマートフォンなどの携帯電話やタブレット端末、PDA(Personal Digital Assistant)などのコンピュータ装置である。
【0013】
端末装置3は、ユーザから所定の操作を受け付けると、予めインストールされたブラウザを介してサービス提供装置5が提供するウェブページにアクセスする。例えば、サービス提供装置5が提供するウェブページは、ニュースサイト、ショッピングサイト、検索サイト、オークションサイト、SNS(Social Networking Service)サイトなどを構成するページである。
【0014】
[サービス提供装置]
サービス提供装置5は、インターネット上において、上述したニュースサイトやショッピングサイトなどのウェブページを提供するウェブサーバ装置であってよいし、アプリケーションが起動された端末装置3と通信を行って、各種情報の受け渡しを行うアプリケーションサーバ装置であってもよい。サービス提供装置5は、自身が提供するウェブページへの端末装置3によるアクセスに応じて取得されるログデータLを出力する。
【0015】
図2は、ログデータLの一例を示す図である。ログデータLには、例えば、端末装置3を利用するユーザを識別する「ユーザID10」、ウェブページに関連付けされたコンテンツを識別する「コンテンツID11」、端末装置3からのアクセスを処理した日付を示す「日付12」、端末装置3からのアクセスを受けたウェブページのURL(Uniform Resource Locator)を示す「対象URL13」、対象URLへの遷移元のウェブページのURLを示す「遷移元URL14」などが含まれる。
【0016】
「ユーザID10」は、例えば、ユーザが端末装置3を用いてサービス提供装置5にアクセスする際にログインを行っている場合におけるログインIDを含む。あるいは、「ユーザID10」は、端末装置3に備えられたウェブブラウザごとに管理されるクッキー(HTTP cookie)に関する情報や、端末装置3のIPアドレスなどを含む。
【0017】
「コンテンツID11」は、例えば、ウェブページに関連付けされたコンテンツである商品、サービスなどを識別する識別子である。例えば、ウェブページが「商品A」を購入するショッピングサイトである場合、このウェブページには、「商品A」を示すコンテンツIDが関連付けされている。また、例えば、ウェブページが「スポーツA」のニュースを提供するニュースサイトである場合、このウェブページには、「スポーツA」を示すコンテンツIDが関連付けされている。ウェブページとコンテンツとの関連付けを示すデータは、例えば、サービス提供装置5または外部の記憶装置に記憶される各種マスタに記憶されていてよい。
【0018】
ログデータLには、例えば、端末装置3がウェブページにアクセスする度に、一行のデータが追加される。ログデータLは、例えば、日毎、週毎などの任意のタイミングで作成されるテキストデータである。
【0019】
[データ管理装置]
データ管理装置7は、例えば、サービス提供装置5が提供するウェブページまたはアプリケーションプログラムによって参照されるアプリページのログデータLを取得し、取得したログデータLの管理を行う。
【0020】
図3は、データ管理装置7によるデータ管理の概念を示す図である。データ管理装置7では、ログデータLに含まれるデータを3つの段階に分けて管理する。この3つの段階には、例えば、短期保管段階、長期保管段階、および無期限保管段階が含まれる。
【0021】
短期保管段階は、ログデータLそのものを保管する段階である。この短期保管段階では、例えば、過去1年間のログデータLが保管される。
【0022】
長期保管段階は、ログデータLに対して所定のサンプリング処理を行ったサンプリングログSLを保管する段階である。この長期保管段階では、例えば、上述の短期保管段階よりも長い過去3年間のサンプリングログSLが保管される。このサンプリングログSLには、例えば、ログデータLに含まれるデータに対して、「ユーザ」に関連する項目に着目してサンプリング処理を行った結果得られた「行動ログAL」と、「コンテンツ」に関連する項目に着目してサンプリング処理を行った結果得られた「コンテンツログCL」とが含まれる。
【0023】
無期限期保管段階は、ログデータLに対して所定の編集処理を行った編集データEDを保管する段階である。この無期限保管段階では、例えば、保管期間は設けられず、過去の全ての編集データEDが保管される。この編集データEDには、例えば、ログデータLに含まれるデータに対して、「ユーザ」に関連する項目に着目して編集処理を行った結果得られた「属性データAD」と、「コンテンツ」に関連する項目に着目して編集処理を行った結果得られた「メタデータMD」とが含まれる。
【0024】
図4は、データ管理装置7の機能構成の一例を示すブロック図である。データ管理装置7は、例えば、取得部20と、サンプリング部22と、編集部24と、無効化部26と、記憶部28とを備える。記憶部28は、例えば、ログデータ記憶部30と、サンプリングログ記憶部32と、編集データ記憶部34とを備える。データ管理装置7に含まれる各機能部は、複数の装置に分散されてもよい。例えば、サンプリング部22と他の機能部とは別体の装置によって実現されてもよい。記憶部28は、NAS(Network Attached Storage)などの記憶装置であってもよい。
【0025】
取得部20、サンプリング部22、編集部24、および無効化部26は、例えば、CPU(Central Processing Unit)などのプロセッサが、記憶部28に記憶されたプログラム(ソフトウェア)を実行することにより実現される。プログラムは、例えば、ネットワークNWを介してアプリケーションサーバからダウンロードされてもよいし、予めデータ管理装置7にプリインストールされていてもよい。また、これらの機能部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0026】
記憶部28は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などによって実現されてよい。
【0027】
取得部20は、ネットワークNWを介して、サービス提供装置5からログデータLを取得する。取得部20は、サービス提供装置5から取得したログデータLをログデータ記憶部30に記憶させる。
【0028】
サンプリング部22は、取得部20によって取得されたログデータLに含まれるデータのうち、第1の期間が経過したログデータLに対してサンプリング処理を行い、サンプリングログSLを生成する。サンプリング部22は、生成したサンプリングログSLを、サンプリングログ記憶部32に記憶させる。例えば、サンプリング部22は、ログデータLがサービス提供装置5によって日毎に作成される日次のテキストデータである場合、作成後1年以上経過したテキストデータに対してサンプリング処理を行う。
【0029】
(サンプリング処理)
サンプリング部22は、第1の期間が経過したログデータLに対してデータのサンプリング(データの間引き)を行う。このサンプリング処理は、例えば、「ユーザ」に関連する第1の項目に着目して行う第1のサンプリング処理と、「コンテンツ」に関連する第2の項目に着目して行う第2のサンプリング処理とを含む。
【0030】
「ユーザ」に関連する第1の項目に着目して行う第1のサンプリング処理は、例えば、ログデータLにおいて、「ユーザ」に関連する「ユーザID10」の項目のデータが存在するログデータを抽出するサンプリング処理、特定のフォーマットの「ユーザID10」のログデータを抽出するサンプリング処理などを含む。
【0031】
「コンテンツ」に関連する第2の項目に着目して行う第2のサンプリング処理は、例えば、ログデータLにおいて、特定のコンテンツと関連付けされた「コンテンツID11」を含むデータを抽出するサンプリング処理などを含む。
【0032】
また、サンプリング部22には、サンプリング処理によりサンプリングされるログデータの割合(以下、「サンプリングレート」と呼ぶ)が設定されている。例えば、サンプリング部22は、サンプリングレートに基づいて、サンプリングログSLの量の調整を行う。なお、サンプリング部22は、上述の行単位でのログデータのサンプリングの他、列単位での項目毎のサンプリング処理を行ってもよい。
【0033】
また、サンプリング部22は、ログデータLに対するサンプリング処理を段階的に行ってもよい。例えば、サンプリング部22は、第1の期間が経過したログデータLに対して第1のサンプリング処理を行った後、所定の期間が経過した後に第2のサンプリング処理を行ってもよい。さらに、サンプリング部22は、この第2のサンプリング処理が行われたデータに対して、所定の期間が経過した後に第3のサンプリング処理を行ってもよい。このような二段階以上のサンプリング処理により、サンプリングログSLの短期保管、中期保管、長期保管といった段階的な保管期間の設定が可能となる。
【0034】
編集部24は、取得部20によって取得されたログデータLに対して編集処理を行って編集データEDを生成する。編集部24は、生成した編集データEDを、編集データ記憶部34に記憶させる。例えば、編集部24は、ログデータLがサービス提供装置5によって日毎に作成される日次のテキストデータである場合、このテキストデータに対して編集処理を行う。
【0035】
(編集処理)
上述の編集処理は、例えば、「ユーザ」に関連する第1の項目に着目して行う第1の編集処理と、「コンテンツ」に関連する第2の項目に着目して行う第2の編集処理とを含む。
【0036】
「ユーザ」に関連する第1の項目に着目して行う第1の編集処理は、例えば、ログデータLにおいて、「ユーザ」に関連する「ユーザID10」の項目毎に、その他の項目を意味ベースの属性化したカラム(属性)に集約あるいは置き換え、その他の項目の並び替えおよび無効化、ログデータの並び替えなどを行い、目的に応じた所定の形式の編集データED(属性データAD)を生成する。
【0037】
「コンテンツ」に関連する第2の項目に着目して行う第2の編集処理は、例えば、ログデータLにおいて、「コンテンツ」に関連する「コンテンツID11」毎に、その他の項目を意味ベースの属性化したカラム(属性)に集約あるいは置き換え、その他の項目の並び替えおよび無効化、ログデータの並び替えなどを行い、目的に応じた所定の形式の編集データを生成する。
【0038】
無効化部26は、ログデータ記憶部30に記憶されたログデータLに含まれるデータのうち、第1の期間が経過したデータを無効化する。ログデータLの無効化とは、例えば、ログデータ記憶部30からログデータLを物理的または論理的に削除することを言う。ここで無効化の対象となるログデータLは、サンプリング部22によるサンプリング処理の対象となったログデータである。第1の期間は、例えば、「1年」などに設定される。ここで、ログデータLがサービス提供装置5によって日毎に作成される日次のテキストデータである場合、無効化部26は、作成後1年以上経過したテキストデータを無効化する。
【0039】
また、無効化部26は、サンプリングログ記憶部32に記憶されたサンプリングSLのうち、第2の期間が経過したサンプリングログSLを無効化する。この第2の期間は、上述の第1の期間よりも長い期間が設定される。第2の期間は、例えば、「3年」などに設定される。この場合、無効化部26は、サンプリング部22によって生成された後3年以上経過したサンプリングログSLを無効化する。なお、上記のようにサンプリング部22が段階的なサンプリング処理を行っている場合、無効化部26は、サンプリングログSLに対して個別に設定された期間に応じてサンプリングログS毎に上記の無効化処理を行ってよい。
【0040】
ログデータ記憶部30は、取得部20によって取得されたログデータLを記憶する。サンプリングログ記憶部32は、サンプリング部22によって生成されたサンプリングログSLを記憶する。編集データ記憶部34は、編集部24によって生成された編集データEDを記憶する。
【0041】
[データ管理装置の処理]
次に、
図5から
図9を参照しながらデータ管理装置7の動作について説明する。
図5は、データ管理装置7による処理の流れの一例を示すフローチャートである。
図5のフローチャートに示す処理は、日次、週次、月次などの所定のタイミングで開始される。或いは、この処理は、データ管理装置7の利用者による指示に応じて開始されてもよい。
【0042】
まず、取得部20は、ネットワークNWを介して、サービス提供装置5からログデータLを取得する(ステップS101)。取得部20は、取得したログデータLをログデータ記憶部30に記憶させる。
【0043】
次に、サンプリング部22によるサンプリング処理(ステップS103)および編集部24による編集処理(ステップS105)のいずれか一方、または双方が実施される。実施対象となる処理は、予め設定されたスケジュールまたは利用者による指示などに応じて決定される。
【0044】
(サンプリング処理)
サンプリング部22は、取得部20によって取得されてログデータ記憶部30に記憶されているログデータLのうち、第1の期間が経過したログデータLを読み出してサンプリング処理を行い、サンプリングログSLを生成する(ステップS103)。サンプリング部22は、生成したサンプリングログSLをサンプリングログ記憶部32に記憶させる。
【0045】
ここで、サンプリング部22は、ログデータLに含まれる項目のうち、「ユーザ」に関連する「ユーザID10」の項目に着目して第1のサンプリング処理を行い、サンプリングログSLとして行動ログAL(第1のサンプリングログ)を生成する。サンプリング部22は、例えば、ログデータLに含まれるデータのうち、ユーザID10の項目のデータが存在するデータをサンプリングする。
【0046】
図6は、
図2に示すログデータLから、ユーザID10の項目のデータが存在するログデータをサンプリングしたサンプリングログSLの一例を示す図である。
図6に示すように、サンプリングログSLにおいては、ログデータLに含まれるデータのうち、3行目および6行目のユーザID10の項目のデータが存在しないデータは無効化されている。
【0047】
また、サンプリング部22は、ログデータLに含まれるデータの項目のうち、「コンテンツ」に関連する「コンテンツID11」の項目に着目して第2のサンプリング処理を行い、サンプリングログSLとしてコンテンツログCL(第2のサンプリングログ)を生成する。サンプリング部22は、例えば、ログデータLに含まれるデータのうち、コンテンツID11の項目のデータが特定の形式を有するデータをサンプリングする。
【0048】
図7は、
図2に示すログデータLから、コンテンツID11の項目のデータが“00001”から“00099”の範囲であるログデータをサンプリングしたサンプリングログSLの一例を示す図である。
図7に示すように、サンプリングログSLにおいては、ログデータLに含まれるデータのうち、コンテンツID11の項目のデータが“00001”から“00099”の範囲ではない5行目から7行目のデータは無効化されている。
【0049】
また、サンプリング部22は、予め設定されたサンプリングレートに基づいて、上述のサンプリングログSLに含まれるデータの量を調整する。例えば、サンプリングレートとして“30%”が設定されている場合、サンプリングログSLに含まれるデータのうち30%のデータが残るように調整を行う(70%のデータを無効化する)。
【0050】
(編集処理)
編集部24は、取得部20によって取得されてログデータ記憶部30に記憶されているログデータLに対して編集処理を行い、編集データEDを生成する(ステップS105)。編集部24は、生成した編集データEDを編集データ記憶部34に記憶させる。
【0051】
編集部24は、ログデータLに含まれる項目のうち、「ユーザ」に関連する「ユーザID10」の項目に着目して第1の編集処理を行い、編集データEDとして属性データAD(第1の編集データ)を生成する。編集部24は、マスターデータまたは所定の処理ロジックに従う第1の編集処理を行い、編集データEDを生成する。編集部24は、例えば、ログデータLにおいて、各ユーザIDと関連付けされた対象URLのリンク先のページが男性向けまたは女性向けであるかや、アクセス対象のコンテンツの傾向を集計して、ユーザIDをキーとして、その他の項目を「性別」などの意味ベースの属性化したカラム(属性)に集約あるいは置き換える。なお、「ユーザID」と「属性」の対応付けは、ユーザがウェブページの会員登録時に入力したデータを参照することで行われてよい。
【0052】
図8は、
図2に示すログデータLに対して第1の編集処理を行うことにより得られた編集データED(行動履歴データ)の一例を示す図である。
図8では、「ユーザID」が“bbbbb”であるデータに対して、「属性1(性別)」が“男性”および「属性2(趣味)」が“スポーツ”が関連付けされたデータが示されている。このように「ユーザ」に関連する「ユーザID10」の項目に着目した編集処理を行うことデータ容量を圧縮することが可能である。また、このような編集データEDは、ユーザの行動の統計的なデータを把握することが容易である解析処理に適した形式となっている。なお、編集部24は、上記の「属性1(性別)」および「属性2(趣味)」に加えてあるいは代えて、年齢、アクセス頻度などの多様な属性情報を編集データEDに追加してよい。
【0053】
また、編集部24は、ログデータLに含まれる項目のうち、「コンテンツ」に関連する「コンテンツID11」の項目に着目して第2の編集処理を行い、編集データEDとしてメタデータMD(第2の編集データ)を生成する。編集部24は、マスターデータまたは所定の処理ロジックに従う第2の編集処理を行い、編集データEDを生成する。編集部24は、例えば、ログデータLに含まれるコンテンツIDをキーとして、その他の項目を「商品、サービス」などの意味ベースの属性化したカラム(属性)に集約あるいは置き換える。また、編集部24は、例えば、各コンテンツIDにアクセスしたユーザの傾向を集計して、「対象ユーザ」の属性を決定する。
【0054】
図9は、
図2に示すログデータLに対して第2の編集処理を行うことにより得られた編集データED(アクセス履歴データ)の一例を示す図である。
図9では、「コンテンツID」が“00001”であるデータに対して、「属性1(商品、サービス)」が“スポーツ”および「属性2(対象ユーザ)」が“男性”が関連付けされたデータが示されている。このように「コンテンツ」に関連する「コンテンツID11」の項目に着目した編集処理を行うことデータ容量を圧縮することが可能である。また、このような編集データEDは、コンテンツIDと関連付けされたウェブページに対するユーザのアクセス状況を把握することが容易である解析処理に適した形式となっている。なお、編集部24は、上記の「属性1(商品、サービス)」および「属性2(対象ユーザ)」に加えてあるいは代えて、アクセス数などの多様な属性情報を編集データEDに追加してよい。
【0055】
なお、各ウェブページに表示された画像に関連する情報などがログデータ記憶部30に記憶されている場合、編集部24は、この画像の色などの特徴量や、画像の種類(風画像景なのか、人物画像なのか)などに基づいて、編集データED(メタデータMD)を生成してもよい。
【0056】
次に、無効化部26は、ログデータ記憶部30に記憶されたログデータLのうち、第1の期間が経過したログデータLを無効化し、サンプリングログ記憶部32に記憶されたサンプリングSLのうち、第2の期間が経過したサンプリングログSLを無効化する(ステップS107)。以上により、本フローチャートの処理を終了する。
【0057】
以上において説明した実施形態によれば、容量を抑えつつ解析処理に適した形式でログデータを管理することが可能である。サンプリングログSLの容量は、ログデータLよりも小さいため、必要な情報を残しつつ記憶部に記憶されるデータの容量を低減させることができる。このサンプリングログSLは、ログデータLを用いて所望のモデルの生成する際に利用されることが可能である。また、編集データEDは、解析に適した形式を有しており、解析における処理装置の負荷を軽減するとともに、処理時間を短縮することも可能である。また、編集データEDは無効化されることはないため、容量を抑えつつ必要な情報を残すことが可能である。
【0058】
なお、上述の実施形態においては、取得部20、サンプリング部22、および編集部24の各々が、ログデータL、サンプリングログSL、および編集データEDを、データ管理装置7内に設けられた記憶部28に記憶させる構成を説明した。しかしながら、取得部20、サンプリング部22、および編集部24の各々は、ログデータL、サンプリングログSL、および編集データEDを電気代の安価な地域(例えば、外国、地方など)に配置された記憶装置に送信するようにしてもよい。また、取得部20、サンプリング部22、および編集部24の各々は、ログデータL、サンプリングログSL、および編集データEDを磁気テープなどの外部の記憶媒体に出力してもよい。
【0059】
また、上述の実施形態においては、サンプリング部22が、所定のサンプリングレートに基づいてサンプリング処理を行う構成を説明した。しかしながら、サンプリング部22が、記憶部28の空き容量を確認して、空き容量に応じてサンプリングレートを動的に変化させるようにしてもよい。
【0060】
また、上述の実施形態においては、サンプリング部22が、所定の「第1の期間」に基づいてサンプリング処理を行い、無効化部26が、所定の「第1の期間」および「第2の期間」に基づいて無効化処理を行う構成を説明した。しかしながら、サンプリング部22または無効化部26が、記憶部28の空き容量を確認して、空き容量に応じて「第1の期間」および「第2の期間」を動的に変化させるようにしてもよい。
【0061】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。