(57)【要約】【課題】データベースへの登録負荷を軽減することが可能なサーバ装置、データ登録制御方法、及びデータ登録制御プログラムを提供する。【解決手段】受信されたデータから抽出したデータ要素を変換関数を用いて変換し、該変換されたデータ要素及びその出現回数を対応付けて一時保存領域に保存し、該変換されたデータが出現する度にその出現回数をインクリメントし、該出現回数が所定回数以上のデータ要素に対応する受信されたデータをデータベースに登録することがないように構成した。【選択図】図３
2011096101.tif 000002
【特許請求の範囲】
【請求項１】
端末装置からネットワークを経由して送信されたデータを受信する受信手段と、
前記受信されたデータから所定のデータ要素を抽出する抽出手段と、
前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段と、
前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段と、
前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段と、
を備えることを特徴とするサーバ装置。
【請求項２】
請求項１に記載のサーバ装置において、
前記変換手段は、前記抽出されたデータ要素を一方向ハッシュ関数を用いて固定長のデータに変換することを特徴とするサーバ装置。
【請求項３】
請求項２に記載のサーバ装置において、
前記ストレージはキーバリューストレージであり、
前記インクリメント手段は、前記変換された固定長のデータをキーとして、前記出現回数をバリューとして前記一時保存領域に保存することを特徴とするサーバ装置。
【請求項４】
請求項１乃至３の何れか一項に記載のサーバ装置において、
前記登録制御手段は、前記受信手段による前記データの受信毎に、前記出現回数が所定回数以上であるか否かを判定することを特徴とするサーバ装置。
【請求項５】
請求項１乃至４の何れか一項に記載のサーバ装置において、
前記データ要素は、前記データに含まれる本文、件名、及びＩＰアドレスであることを特徴とするサーバ装置。
【請求項６】
コンピュータにより実行されるデータ登録制御方法であって、
端末装置からネットワークを経由して送信されたデータを受信するステップと、
前記受信されたデータから所定のデータ要素を抽出するステップと、
前記抽出されたデータ要素を所定の変換関数を用いて変換するステップと、
前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするステップと、
前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するステップと、
を含むことを特徴とするデータ登録制御方法。
【請求項７】
コンピュータを、
端末装置からネットワークを経由して送信されたデータを受信する受信手段、
前記受信されたデータから所定のデータ要素を抽出する抽出手段、
前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段、
前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段、及び、
前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段として機能させることを特徴とするデータ登録制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スパムコメントやスパムトラックバック等の望まれざるデータがデータベースに登録されることを低減する技術分野に関する。
【背景技術】
【０００２】
近年、インターネット上で普及しているブログ（Web Log）では、該ブログに掲載された記事（エントリー）に対して、コメントの投稿やトラックバックを行うことができるようになっている。ここで、トラックバックとは、一般に、あるブログの記事から他のブログの記事へリンクするために、リンク元のサイトからリンク先のサイト（トラックバックping先ＵＲＬ）にトラックバックpingを送信することをいう。
【０００３】
そして、投稿されたコメントの内容やトラックバックの内容を含むデータは、データベースに登録されブログ上に反映されるようになっている。
【０００４】
ところで、このようなコメントやトラックバックの中には、ユーザにとって迷惑となるスパムコメントやスパムトラックバックがあり、従来から問題となっている（例えば、特許文献１参照）。このような問題に対して、例えば、コメントの内容やトラックバックの内容に禁止文字列が含まれていた場合、そのデータを除去しデータベースに登録しないようにしていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２６５３６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、予め禁止文字列をブラックリストなどに登録しておかなければならず煩雑であった。また、禁止文字列として登録されるまでの間はそれを含むデータのデータベースへの登録を防ぐことは困難であった。そのため、スパムコメントやスパムトラックバックが増えると、データベースへの登録負荷が増大するという問題が生じる。このことは、ブログばかりでなく、インターネット上で普及している掲示板や商品レビュー等でも同様である。
【０００７】
そこで、本発明は、以上の点に鑑みてなされたものであり、データベースへの登録負荷を軽減することが可能なサーバ装置、データ登録制御方法、及びデータ登録制御プログラムを提供することを課題の一例とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、端末装置からネットワークを経由して送信されたデータを受信する受信手段と、前記受信されたデータから所定のデータ要素を抽出する抽出手段と、前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段と、前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段と、前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段と、を備えることを特徴とする。
【０００９】
この発明によれば、出現回数が所定回数以上の変換されたデータ要素に対応するデータをデータベースに登録しないため、データベースへの登録負荷を軽減することができる。
【００１０】
請求項２に記載の発明は、請求項１に記載のサーバ装置において、前記変換手段は、前記抽出されたデータ要素を一方向ハッシュ関数を用いて固定長のデータに変換することを特徴とする。
【００１１】
この発明によれば、変換されたデータ要素の扱い及び比較が容易となる。
【００１２】
請求項３に記載の発明は、請求項２に記載のサーバ装置において、前記ストレージはキーバリューストレージであり、前記インクリメント手段は、前記変換された固定長のデータをキーとして、前記出現回数をバリューとして前記一時保存領域に保存することを特徴とする。
【００１３】
この発明によれば、大量のデータを高速に処理することができる。
【００１４】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載のサーバ装置において、  前記登録制御手段は、前記受信手段による前記データの受信毎に、前記出現回数が所定回数以上であるか否かを判定することを特徴とする。
【００１５】
この発明によれば、より効率良くデータベースへの登録の負荷を軽減することができる。
【００１６】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載のサーバ装置において、前記データ要素は、前記データに含まれる本文、件名、及びＩＰアドレスであることを特徴とする。
【００１７】
この発明によれば、フィルタリング性能を高め、スパムの検出精度を向上させることができる。
【００１８】
請求項６に記載の発明は、コンピュータにより実行されるデータ登録制御方法であって、端末装置からネットワークを経由して送信されたデータを受信するステップと、前記受信されたデータから所定のデータ要素を抽出するステップと、前記抽出されたデータ要素を所定の変換関数を用いて変換するステップと、前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするステップと、前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するステップと、を含むことを特徴とする。
【００１９】
請求項７に記載の発明は、コンピュータを、端末装置からネットワークを経由して送信されたデータを受信する受信手段、前記受信されたデータから所定のデータ要素を抽出する抽出手段、前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段、前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段、及び、前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段として機能させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、受信されたデータから抽出したデータ要素を変換関数を用いて変換し、該変換されたデータ要素及びその出現回数を対応付けて一時保存領域に保存し、該変換されたデータが出現する度にその出現回数をインクリメントし、該出現回数が所定回数以上のデータ要素に対応する受信されたデータをデータベースに登録することがないように構成したので、データベースへの登録負荷を軽減することができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係る情報提供システムＳの概要構成の一例を示す図である。
【図２】本実施形態に係る情報提供サーバ１の概要構成の一例を示すブロック図である。
【図３】情報提供サーバ１のシステム制御部１４（ＣＰＵ１４ａ）におけるデータ登録制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、情報提供システムに対して本発明を適用した場合の実施形態である。
【００２３】
［１．情報提供システムの構成及び機能概要］
先ず、本発明の一実施形態に係る情報提供システムＳの構成及び概要機能について、図１を用いて説明する。
【００２４】
図１は、本実施形態に係る情報提供システムＳの概要構成の一例を示す図である。
【００２５】
図１に示すように、情報提供システムＳは、情報提供サーバ１（サーバ装置の一例）と、ユーザ端末２（端末装置の一例）と、を含んで構成されている。
【００２６】
情報提供サーバ１とユーザ端末２は、ネットワークＮＷを介して、例えば、通信プロトコルにＴＣＰ／ＩＰ等を用いて相互にデータの送受信が可能になっている。なお、ネットワークＮＷは、例えば、インターネット、専用通信回線（例えば、ＣＡＴＶ（Community Antenna Television）回線）、移動体通信網（基地局等を含む）、及びゲートウェイ等により構築されている。
【００２７】
情報提供サーバ１は、例えばブログやＳＮＳ等を提供するＷｅｂサイトを運営するために設置されたサーバ（例えば、Ｗｅｂサーバ、データベースサーバ等）である。
【００２８】
ユーザ端末２は、Ｗｅｂブラウザ機能を有し、情報提供サーバ１に例えばＨＴＴＰ（Hyper Text Transfer Protocol）リクエストを送信してそのレスポンスとしてブログページ等のＷｅｂページを取得し、ディスプレイ上に表示するようになっている。なお、図１の例では、説明の便宜上、一つのユーザ端末２を示しているが、ユーザ端末２はユーザ毎に多数存在する。また、ユーザ端末２には、例えば、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話機等が適用可能である。
【００２９】
［２. 情報提供サーバ１の構成及び機能］
次に、情報提供サーバ１の構成及び機能について、図２を用いて説明する。
【００３０】
図２は、本実施形態に係る情報提供サーバ１の概要構成の一例を示すブロック図である。
【００３１】
図２に示すように、情報提供サーバ１は、通信部１１と、記憶部１２と、入出力インターフェース部１３と、システム制御部１４と、を備えている。そして、システム制御部１４と入出力インターフェース部１３とは、システムバス１５を介して接続されている。
【００３２】
通信部１１は、ネットワークＮＷに接続して、ユーザ端末２との通信状態を制御するようになっている。
【００３３】
記憶部１２は、例えば、ハードディスクドライブ等により構成されており、オペレーティングシステム及びサーバプログラム等の各種プログラム（データ登録制御プログラムを含む）を記憶する。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークＮＷを介して取得されるようにしても良いし、記録媒体に記録されてドライブ装置を介して読み込まれるようにしても良い。
【００３４】
また、記憶部１２には、情報提供サイトからユーザ端末２に提供されるサイト情報を記憶する。ここで、サイト情報は、各種Ｗｅｂページを構成するためのデータ（例えば、ＨＴＭＬ（Hyper Text Markup Language）ファイル、ＸＭＬ(Extensible Markup Language)ファイル等）である。
【００３５】
また、記憶部１２には、会員登録された各ユーザに対応する情報を登録するためのデータベース１２１が構築されている。具体的には、データベース１２１には、例えば、ユーザにより開設されたブログページを構成するために必要なデータ（例えば、ＨＴＭＬ文書に記述するためのデータ）が含まれる。このデータには、ブログページ上で投稿されたコメントの内容（例えば件名（タイトル）及びコメント本文）やトラックバックの内容（例えばトラックバックpingに含まれる件名や本文（例えば記事の概要）等）等が含まれる。
なお、データベース１２１は、専用のデータベースサーバに設け、システム制御部１４がアクセス可能な構成にしても良い。
【００３６】
入出力インターフェース部１３は、通信部１１及び記憶部１２とシステム制御部１４との間のインターフェース処理を行うようになっている。
【００３７】
システム制御部１４は、ＣＰＵ（Central Processing Unit）１４ａ、ＲＯＭ（Read Only Memory）１４ｂ、作業用のＲＡＭ（Random Access Memory）１４ｃ、及びキーバリューストレージ（Key-Value Storage）１４ｄ等により構成されている。
【００３８】
ここで、キーバリューストレージ１４ｄは、例えば、Memcache等の揮発性メモリからなり、データを「キー」と「バリュー」の組み合わせで一時保存領域に保存（格納）する。これにより、大量のデータを高速に処理することが可能となる。
【００３９】
そして、システム制御部１４は、ＣＰＵ１４ａが、ＲＯＭ１４ｂや記憶部１２に記憶された各種プログラムを読み出し実行することにより、本発明の受信手段、抽出手段、変換手段、インクリメント手段、及びデータ登録制御手段として機能するようになっている。
【００４０】
具体的には、システム制御部１４は、ユーザ端末２からネットワークＮＷを経由して送信されたデータを通信部１１を介して受信し、受信したデータ（以下、「受信データ」という）から所定のデータ要素を抽出する。ここで、受信データの例としては、ユーザ端末２に表示されたブログページ上で入力されたコメントに関するデータや、ユーザ端末２からの指示にしたがってＷｅｂサイトから送信されたトラックバックに関するデータ等が挙げられる。また、データ要素としては、例えば、トラックバック又はコメントの本文、件名、及びデータ送信元のＩＰアドレスの組が抽出されることが望ましい。
【００４１】
次に、システム制御部１４は、抽出されたデータ要素を所定の変換関数を用いて変換する。なお、変換されたデータ要素を、以下、「変換データ」という。ここで、本発明を効率良く実行させるための変換の要件としては、（１）同一のデータを変換関数に入力した場合、同一の変換データが出力されること、及び（２）出力される変換データが２５０バイト以下になること、が最低限考えられる。さらに、本実施形態においては、大量のデータを高速に処理するためにキーバリューストレージを使用するので、キーの文字列長を固定長とすることが必要である。これらの要件を満たす変換関数としては、一方向ハッシュ関数が好適である。一方向ハッシュ関数の例としては、ＭＤ（Message Digest）５やＳＨＡ（Secure Hash Algorithm）等が挙げられる。ＭＤ５は、任意長のデータから不可逆な固定長（３２バイト）のハッシュ値（ハッシュ化された文字列）を変換データとして生成することができる。
【００４２】
次に、システム制御部１４は、上記変換データ及びその出現回数を対応付けてキーバリューストレージ１４ｄの一時保存領域に保存（例えば、１日程度）し、変換データが出現する度にその出現回数を計数（インクリメント）する。そして、システム制御部１４は、上記出現回数が所定回数以上の変換データに対応する受信データを、データベース１２１に登録することなく、データベースへの登録をキャンセルする。一方、システム制御部１４は、上記出現回数が所定回数未満の変換データに対応する受信データをデータベース１２１に登録する。
【００４３】
［３．情報提供サーバ１の動作］
次に、情報提供サーバ１の動作について、図３を用いて説明する。
【００４４】
図３は、情報提供サーバ１のシステム制御部１４（ＣＰＵ１４ａ）におけるデータ登録制御処理の一例を示すフローチャートである。なお、図３に示す処理は、他のＷｅｂサイト又はユーザ端末２から、例えばトラックバックに関するデータ又はコメントに関するデータが受信データとして受信された場合に開始される。なお、受信データはＲＡＭ１４ｃに一時的に記憶される。
【００４５】
先ず、システム制御部１４は、受信データから、例えばトラックバック又はコメントの本文、件名、及びデータ送信元のＩＰアドレスの組をデータ要素として抽出する（ステップＳ１）。
【００４６】
次いで、システム制御部１４は、抽出したデータ要素を、ＭＤ５等の一方向ハッシュ関数を用いて固定長の変換データに変換する（ステップＳ２）。
【００４７】
次いで、システム制御部１４は、ステップＳ２で得た変換データと同一のキーがキーバリューストレージ１４ｄに保存されているか否かを、データ比較により判定し（ステップＳ３）、保存されていないと判定した場合には（ステップＳ３：ＮＯ）、ステップＳ４に進み、保存されていると判定した場合には（ステップＳ３：ＹＥＳ）、ステップＳ５に進む。
【００４８】
ステップＳ４では、システム制御部１４は、ステップＳ２で得た変換データをキーとして、出現回数“１”をバリューとしてキーバリューストレージ１４ｄの一時保存領域に保存し、図３に示す処理を終了する。
【００４９】
一方、ステップＳ５では、システム制御部１４は、ステップＳ２で得た変換データと同一のキーに対応付けられたバリュー（つまり、出現回数）を“１”インクリメントする。
【００５０】
次いで、システム制御部１４は、ステップＳ５でインクリメントされた出現回数が所定回数（例えば、３回）以上であるか否かを判定する（ステップＳ６）。つまり、受信データの受信毎に、変換データの出現回数が所定回数以上であるか否かが判定されることになる。
【００５１】
そして、システム制御部１４は、出現回数が所定回数以上でない（つまり、所定回数未満）と判定した場合には（ステップＳ６：ＮＯ）、当該所定回数未満の変換データに対応する受信データをＲＡＭ１４ｃからデータベース１２１に登録し（ステップＳ７）、図３に示す処理を終了する。
【００５２】
一方、システム制御部１４は、出現回数が所定回数以上であると判定した場合には（ステップＳ６：ＹＥＳ）、当該所定回数以上の変換データに対応する受信データを、データベース１２１に登録することなくＲＡＭ１４ｃから削除し（ステップＳ８）、図３に示す処理を終了する。
【００５３】
以上説明したように、上記実施形態によれば、情報提供サーバ１は、受信データから抽出したデータ要素を一方向ハッシュ関数を用いて変換し、該変換データ及びその出現回数を対応付けて一時保存領域（キャッシュ）に保存し、該変換データが出現する度にその出現回数をインクリメントし、該出現回数が所定回数以上の変換データに対応する受信データをデータベース１２１に登録しないように構成したので、所定回数以上受信した同じデータ要素を含むデータのデータベース１２１への登録を防止できる。これにより、上記実施形態に係る情報提供システムＳでは、データベース１２１への登録負荷を軽減することができる。つまり、データベースに登録する前にキャッシュに一時保存してそこの段階でキャンセルを決定してしまうため、データベースへの登録の負荷（言い換えれば、サーバ負荷）を軽減することができる。
【００５４】
一般に、ブログページ上で投稿されたコメントやトラックバックにおけるスパムは、同じデータ要素（例えば、トラックバック又はコメントの本文、件名、及びデータ送信元のＩＰアドレスの組）を含むデータであることが多い。上記実施形態に係る情報提供システムＳでは、同じデータ要素を含むデータを所定回数以上受信した場合、当該データをデータベースに登録しない。そのため、ブログページ上で投稿されたスパムコメントやスパムトラックバック等がデータベースに登録されることを好適に抑制することができる。
【００５５】
また、上記実施形態によれば、一方向ハッシュ関数により変換された固定長の変換データをキーとし、その出現回数をバリューとしてキーバリューストレージ１４ｄの一時保存領域に保存するように構成したので、該変換データの扱い及び比較が容易となり、さらに、ＣＰＵ１４ａがキーバリューストレージ１４ｄへ迅速にアクセスすることができる。従って、大量のデータを高速に処理することが可能となる。
【００５６】
また、上記実施形態によれば、受信データの受信毎に出現回数が所定回数以上であるか否かが判定されるので、より効率良くデータベースへの登録の負荷を軽減することができる。なお、受信データのデータベースへの登録がバッチ処理（つまり、所定の時間間隔で一括して処理）で行われる場合には、これに合わせて所定の時間間隔で変換データの出現回数が所定回数以上であるか否かが判定されるように構成しても良い。
【００５７】
また、上記実施形態において、上記抽出されるデータ要素として、トラックバック又はコメントの本文、件名、及びデータ送信元のＩＰアドレスの組とすれば、フィルタリング性能を高め、スパムの検出精度を向上させることができる。言い換えれば、スパムでないコメント等がデータベースに登録されず削除されることを防止する精度を高めることができる。なお、本文、件名、及びＩＰアドレスの組よりは精度が低くなるが、本文、件名、及びＩＰアドレスのうちの何れか２つの組合せをデータ要素として抽出するように構成しても良い。あるいは、本文、件名、及びＩＰアドレスのうちの何れか１つをデータ要素として抽出するように構成してもよい。また、本文の頭２文字＋件名の頭２文字＋ＩＰアドレスのクラスＣの組合せをデータ要素として抽出しても良い。さらに、上記の他にも、データ要素として、例えばＨＴＴＰリクエストのヘッダフィールドに含まれるデータを抽出するように構成しても良い。
【００５８】
また、上記実施形態において、変換関数として一方向ハッシュ関数を例にとったが、データの完全性保護ができればどのような技術でも適用可能である。また、キーバリューストレージを使用しないのであれば、固定長のデータを出力をしなくてもよくなるため、ハッシュ関数以外の変換関数が適用可能となる。例えば、ＣＲＣ（Cyclic Redundancy Check）やチェックサム等が適用可能である。
【００５９】
なお、本発明は、インターネット上で普及している掲示板や商品レビュー等で入力されるコメントに関するデータ、メッセンジャーで入力されるメッセージに関するデータ、及び電子メールに記述されたメール内容に関するデータに対しても適用可能である。
【符号の説明】
【００６０】
１  情報提供サーバ
２  ユーザ端末
１１  通信部
１２  記憶部
１３  入出力インターフェース部
１４  システム制御部
１５  システムバス
ＮＷ  ネットワーク
Ｓ  情報提供システム
【図３】
2011096101.tif 000003
【図１】
2011096101.tif 000004
【図２】
2011096101.tif 000005