説明

サーバ装置、データ登録制御方法、及びデータ登録制御プログラム

【課題】データベースへの登録負荷を軽減することが可能なサーバ装置、データ登録制御方法、及びデータ登録制御プログラムを提供する。
【解決手段】受信されたデータから抽出したデータ要素を変換関数を用いて変換し、該変換されたデータ要素及びその出現回数を対応付けて一時保存領域に保存し、該変換されたデータが出現する度にその出現回数をインクリメントし、該出現回数が所定回数以上のデータ要素に対応する受信されたデータをデータベースに登録することがないように構成した。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スパムコメントやスパムトラックバック等の望まれざるデータがデータベースに登録されることを低減する技術分野に関する。
【背景技術】
【0002】
近年、インターネット上で普及しているブログ(Web Log)では、該ブログに掲載された記事(エントリー)に対して、コメントの投稿やトラックバックを行うことができるようになっている。ここで、トラックバックとは、一般に、あるブログの記事から他のブログの記事へリンクするために、リンク元のサイトからリンク先のサイト(トラックバックping先URL)にトラックバックpingを送信することをいう。
【0003】
そして、投稿されたコメントの内容やトラックバックの内容を含むデータは、データベースに登録されブログ上に反映されるようになっている。
【0004】
ところで、このようなコメントやトラックバックの中には、ユーザにとって迷惑となるスパムコメントやスパムトラックバックがあり、従来から問題となっている(例えば、特許文献1参照)。このような問題に対して、例えば、コメントの内容やトラックバックの内容に禁止文字列が含まれていた場合、そのデータを除去しデータベースに登録しないようにしていた。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−265368号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術では、予め禁止文字列をブラックリストなどに登録しておかなければならず煩雑であった。また、禁止文字列として登録されるまでの間はそれを含むデータのデータベースへの登録を防ぐことは困難であった。そのため、スパムコメントやスパムトラックバックが増えると、データベースへの登録負荷が増大するという問題が生じる。このことは、ブログばかりでなく、インターネット上で普及している掲示板や商品レビュー等でも同様である。
【0007】
そこで、本発明は、以上の点に鑑みてなされたものであり、データベースへの登録負荷を軽減することが可能なサーバ装置、データ登録制御方法、及びデータ登録制御プログラムを提供することを課題の一例とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に記載の発明は、端末装置からネットワークを経由して送信されたデータを受信する受信手段と、前記受信されたデータから所定のデータ要素を抽出する抽出手段と、前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段と、前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段と、前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段と、を備えることを特徴とする。
【0009】
この発明によれば、出現回数が所定回数以上の変換されたデータ要素に対応するデータをデータベースに登録しないため、データベースへの登録負荷を軽減することができる。
【0010】
請求項2に記載の発明は、請求項1に記載のサーバ装置において、前記変換手段は、前記抽出されたデータ要素を一方向ハッシュ関数を用いて固定長のデータに変換することを特徴とする。
【0011】
この発明によれば、変換されたデータ要素の扱い及び比較が容易となる。
【0012】
請求項3に記載の発明は、請求項2に記載のサーバ装置において、前記ストレージはキーバリューストレージであり、前記インクリメント手段は、前記変換された固定長のデータをキーとして、前記出現回数をバリューとして前記一時保存領域に保存することを特徴とする。
【0013】
この発明によれば、大量のデータを高速に処理することができる。
【0014】
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のサーバ装置において、 前記登録制御手段は、前記受信手段による前記データの受信毎に、前記出現回数が所定回数以上であるか否かを判定することを特徴とする。
【0015】
この発明によれば、より効率良くデータベースへの登録の負荷を軽減することができる。
【0016】
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のサーバ装置において、前記データ要素は、前記データに含まれる本文、件名、及びIPアドレスであることを特徴とする。
【0017】
この発明によれば、フィルタリング性能を高め、スパムの検出精度を向上させることができる。
【0018】
請求項6に記載の発明は、コンピュータにより実行されるデータ登録制御方法であって、端末装置からネットワークを経由して送信されたデータを受信するステップと、前記受信されたデータから所定のデータ要素を抽出するステップと、前記抽出されたデータ要素を所定の変換関数を用いて変換するステップと、前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするステップと、前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するステップと、を含むことを特徴とする。
【0019】
請求項7に記載の発明は、コンピュータを、端末装置からネットワークを経由して送信されたデータを受信する受信手段、前記受信されたデータから所定のデータ要素を抽出する抽出手段、前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段、前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段、及び、前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段として機能させることを特徴とする。
【発明の効果】
【0020】
本発明によれば、受信されたデータから抽出したデータ要素を変換関数を用いて変換し、該変換されたデータ要素及びその出現回数を対応付けて一時保存領域に保存し、該変換されたデータが出現する度にその出現回数をインクリメントし、該出現回数が所定回数以上のデータ要素に対応する受信されたデータをデータベースに登録することがないように構成したので、データベースへの登録負荷を軽減することができる。
【図面の簡単な説明】
【0021】
【図1】本実施形態に係る情報提供システムSの概要構成の一例を示す図である。
【図2】本実施形態に係る情報提供サーバ1の概要構成の一例を示すブロック図である。
【図3】情報提供サーバ1のシステム制御部14(CPU14a)におけるデータ登録制御処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0022】
以下、図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施の形態は、情報提供システムに対して本発明を適用した場合の実施形態である。
【0023】
[1.情報提供システムの構成及び機能概要]
先ず、本発明の一実施形態に係る情報提供システムSの構成及び概要機能について、図1を用いて説明する。
【0024】
図1は、本実施形態に係る情報提供システムSの概要構成の一例を示す図である。
【0025】
図1に示すように、情報提供システムSは、情報提供サーバ1(サーバ装置の一例)と、ユーザ端末2(端末装置の一例)と、を含んで構成されている。
【0026】
情報提供サーバ1とユーザ端末2は、ネットワークNWを介して、例えば、通信プロトコルにTCP/IP等を用いて相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
【0027】
情報提供サーバ1は、例えばブログやSNS等を提供するWebサイトを運営するために設置されたサーバ(例えば、Webサーバ、データベースサーバ等)である。
【0028】
ユーザ端末2は、Webブラウザ機能を有し、情報提供サーバ1に例えばHTTP(Hyper Text Transfer Protocol)リクエストを送信してそのレスポンスとしてブログページ等のWebページを取得し、ディスプレイ上に表示するようになっている。なお、図1の例では、説明の便宜上、一つのユーザ端末2を示しているが、ユーザ端末2はユーザ毎に多数存在する。また、ユーザ端末2には、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)、携帯電話機等が適用可能である。
【0029】
[2. 情報提供サーバ1の構成及び機能]
次に、情報提供サーバ1の構成及び機能について、図2を用いて説明する。
【0030】
図2は、本実施形態に係る情報提供サーバ1の概要構成の一例を示すブロック図である。
【0031】
図2に示すように、情報提供サーバ1は、通信部11と、記憶部12と、入出力インターフェース部13と、システム制御部14と、を備えている。そして、システム制御部14と入出力インターフェース部13とは、システムバス15を介して接続されている。
【0032】
通信部11は、ネットワークNWに接続して、ユーザ端末2との通信状態を制御するようになっている。
【0033】
記憶部12は、例えば、ハードディスクドライブ等により構成されており、オペレーティングシステム及びサーバプログラム等の各種プログラム(データ登録制御プログラムを含む)を記憶する。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークNWを介して取得されるようにしても良いし、記録媒体に記録されてドライブ装置を介して読み込まれるようにしても良い。
【0034】
また、記憶部12には、情報提供サイトからユーザ端末2に提供されるサイト情報を記憶する。ここで、サイト情報は、各種Webページを構成するためのデータ(例えば、HTML(Hyper Text Markup Language)ファイル、XML(Extensible Markup Language)ファイル等)である。
【0035】
また、記憶部12には、会員登録された各ユーザに対応する情報を登録するためのデータベース121が構築されている。具体的には、データベース121には、例えば、ユーザにより開設されたブログページを構成するために必要なデータ(例えば、HTML文書に記述するためのデータ)が含まれる。このデータには、ブログページ上で投稿されたコメントの内容(例えば件名(タイトル)及びコメント本文)やトラックバックの内容(例えばトラックバックpingに含まれる件名や本文(例えば記事の概要)等)等が含まれる。
なお、データベース121は、専用のデータベースサーバに設け、システム制御部14がアクセス可能な構成にしても良い。
【0036】
入出力インターフェース部13は、通信部11及び記憶部12とシステム制御部14との間のインターフェース処理を行うようになっている。
【0037】
システム制御部14は、CPU(Central Processing Unit)14a、ROM(Read Only Memory)14b、作業用のRAM(Random Access Memory)14c、及びキーバリューストレージ(Key-Value Storage)14d等により構成されている。
【0038】
ここで、キーバリューストレージ14dは、例えば、Memcache等の揮発性メモリからなり、データを「キー」と「バリュー」の組み合わせで一時保存領域に保存(格納)する。これにより、大量のデータを高速に処理することが可能となる。
【0039】
そして、システム制御部14は、CPU14aが、ROM14bや記憶部12に記憶された各種プログラムを読み出し実行することにより、本発明の受信手段、抽出手段、変換手段、インクリメント手段、及びデータ登録制御手段として機能するようになっている。
【0040】
具体的には、システム制御部14は、ユーザ端末2からネットワークNWを経由して送信されたデータを通信部11を介して受信し、受信したデータ(以下、「受信データ」という)から所定のデータ要素を抽出する。ここで、受信データの例としては、ユーザ端末2に表示されたブログページ上で入力されたコメントに関するデータや、ユーザ端末2からの指示にしたがってWebサイトから送信されたトラックバックに関するデータ等が挙げられる。また、データ要素としては、例えば、トラックバック又はコメントの本文、件名、及びデータ送信元のIPアドレスの組が抽出されることが望ましい。
【0041】
次に、システム制御部14は、抽出されたデータ要素を所定の変換関数を用いて変換する。なお、変換されたデータ要素を、以下、「変換データ」という。ここで、本発明を効率良く実行させるための変換の要件としては、(1)同一のデータを変換関数に入力した場合、同一の変換データが出力されること、及び(2)出力される変換データが250バイト以下になること、が最低限考えられる。さらに、本実施形態においては、大量のデータを高速に処理するためにキーバリューストレージを使用するので、キーの文字列長を固定長とすることが必要である。これらの要件を満たす変換関数としては、一方向ハッシュ関数が好適である。一方向ハッシュ関数の例としては、MD(Message Digest)5やSHA(Secure Hash Algorithm)等が挙げられる。MD5は、任意長のデータから不可逆な固定長(32バイト)のハッシュ値(ハッシュ化された文字列)を変換データとして生成することができる。
【0042】
次に、システム制御部14は、上記変換データ及びその出現回数を対応付けてキーバリューストレージ14dの一時保存領域に保存(例えば、1日程度)し、変換データが出現する度にその出現回数を計数(インクリメント)する。そして、システム制御部14は、上記出現回数が所定回数以上の変換データに対応する受信データを、データベース121に登録することなく、データベースへの登録をキャンセルする。一方、システム制御部14は、上記出現回数が所定回数未満の変換データに対応する受信データをデータベース121に登録する。
【0043】
[3.情報提供サーバ1の動作]
次に、情報提供サーバ1の動作について、図3を用いて説明する。
【0044】
図3は、情報提供サーバ1のシステム制御部14(CPU14a)におけるデータ登録制御処理の一例を示すフローチャートである。なお、図3に示す処理は、他のWebサイト又はユーザ端末2から、例えばトラックバックに関するデータ又はコメントに関するデータが受信データとして受信された場合に開始される。なお、受信データはRAM14cに一時的に記憶される。
【0045】
先ず、システム制御部14は、受信データから、例えばトラックバック又はコメントの本文、件名、及びデータ送信元のIPアドレスの組をデータ要素として抽出する(ステップS1)。
【0046】
次いで、システム制御部14は、抽出したデータ要素を、MD5等の一方向ハッシュ関数を用いて固定長の変換データに変換する(ステップS2)。
【0047】
次いで、システム制御部14は、ステップS2で得た変換データと同一のキーがキーバリューストレージ14dに保存されているか否かを、データ比較により判定し(ステップS3)、保存されていないと判定した場合には(ステップS3:NO)、ステップS4に進み、保存されていると判定した場合には(ステップS3:YES)、ステップS5に進む。
【0048】
ステップS4では、システム制御部14は、ステップS2で得た変換データをキーとして、出現回数“1”をバリューとしてキーバリューストレージ14dの一時保存領域に保存し、図3に示す処理を終了する。
【0049】
一方、ステップS5では、システム制御部14は、ステップS2で得た変換データと同一のキーに対応付けられたバリュー(つまり、出現回数)を“1”インクリメントする。
【0050】
次いで、システム制御部14は、ステップS5でインクリメントされた出現回数が所定回数(例えば、3回)以上であるか否かを判定する(ステップS6)。つまり、受信データの受信毎に、変換データの出現回数が所定回数以上であるか否かが判定されることになる。
【0051】
そして、システム制御部14は、出現回数が所定回数以上でない(つまり、所定回数未満)と判定した場合には(ステップS6:NO)、当該所定回数未満の変換データに対応する受信データをRAM14cからデータベース121に登録し(ステップS7)、図3に示す処理を終了する。
【0052】
一方、システム制御部14は、出現回数が所定回数以上であると判定した場合には(ステップS6:YES)、当該所定回数以上の変換データに対応する受信データを、データベース121に登録することなくRAM14cから削除し(ステップS8)、図3に示す処理を終了する。
【0053】
以上説明したように、上記実施形態によれば、情報提供サーバ1は、受信データから抽出したデータ要素を一方向ハッシュ関数を用いて変換し、該変換データ及びその出現回数を対応付けて一時保存領域(キャッシュ)に保存し、該変換データが出現する度にその出現回数をインクリメントし、該出現回数が所定回数以上の変換データに対応する受信データをデータベース121に登録しないように構成したので、所定回数以上受信した同じデータ要素を含むデータのデータベース121への登録を防止できる。これにより、上記実施形態に係る情報提供システムSでは、データベース121への登録負荷を軽減することができる。つまり、データベースに登録する前にキャッシュに一時保存してそこの段階でキャンセルを決定してしまうため、データベースへの登録の負荷(言い換えれば、サーバ負荷)を軽減することができる。
【0054】
一般に、ブログページ上で投稿されたコメントやトラックバックにおけるスパムは、同じデータ要素(例えば、トラックバック又はコメントの本文、件名、及びデータ送信元のIPアドレスの組)を含むデータであることが多い。上記実施形態に係る情報提供システムSでは、同じデータ要素を含むデータを所定回数以上受信した場合、当該データをデータベースに登録しない。そのため、ブログページ上で投稿されたスパムコメントやスパムトラックバック等がデータベースに登録されることを好適に抑制することができる。
【0055】
また、上記実施形態によれば、一方向ハッシュ関数により変換された固定長の変換データをキーとし、その出現回数をバリューとしてキーバリューストレージ14dの一時保存領域に保存するように構成したので、該変換データの扱い及び比較が容易となり、さらに、CPU14aがキーバリューストレージ14dへ迅速にアクセスすることができる。従って、大量のデータを高速に処理することが可能となる。
【0056】
また、上記実施形態によれば、受信データの受信毎に出現回数が所定回数以上であるか否かが判定されるので、より効率良くデータベースへの登録の負荷を軽減することができる。なお、受信データのデータベースへの登録がバッチ処理(つまり、所定の時間間隔で一括して処理)で行われる場合には、これに合わせて所定の時間間隔で変換データの出現回数が所定回数以上であるか否かが判定されるように構成しても良い。
【0057】
また、上記実施形態において、上記抽出されるデータ要素として、トラックバック又はコメントの本文、件名、及びデータ送信元のIPアドレスの組とすれば、フィルタリング性能を高め、スパムの検出精度を向上させることができる。言い換えれば、スパムでないコメント等がデータベースに登録されず削除されることを防止する精度を高めることができる。なお、本文、件名、及びIPアドレスの組よりは精度が低くなるが、本文、件名、及びIPアドレスのうちの何れか2つの組合せをデータ要素として抽出するように構成しても良い。あるいは、本文、件名、及びIPアドレスのうちの何れか1つをデータ要素として抽出するように構成してもよい。また、本文の頭2文字+件名の頭2文字+IPアドレスのクラスCの組合せをデータ要素として抽出しても良い。さらに、上記の他にも、データ要素として、例えばHTTPリクエストのヘッダフィールドに含まれるデータを抽出するように構成しても良い。
【0058】
また、上記実施形態において、変換関数として一方向ハッシュ関数を例にとったが、データの完全性保護ができればどのような技術でも適用可能である。また、キーバリューストレージを使用しないのであれば、固定長のデータを出力をしなくてもよくなるため、ハッシュ関数以外の変換関数が適用可能となる。例えば、CRC(Cyclic Redundancy Check)やチェックサム等が適用可能である。
【0059】
なお、本発明は、インターネット上で普及している掲示板や商品レビュー等で入力されるコメントに関するデータ、メッセンジャーで入力されるメッセージに関するデータ、及び電子メールに記述されたメール内容に関するデータに対しても適用可能である。
【符号の説明】
【0060】
1 情報提供サーバ
2 ユーザ端末
11 通信部
12 記憶部
13 入出力インターフェース部
14 システム制御部
15 システムバス
NW ネットワーク
S 情報提供システム

【特許請求の範囲】
【請求項1】
端末装置からネットワークを経由して送信されたデータを受信する受信手段と、
前記受信されたデータから所定のデータ要素を抽出する抽出手段と、
前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段と、
前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段と、
前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段と、
を備えることを特徴とするサーバ装置。
【請求項2】
請求項1に記載のサーバ装置において、
前記変換手段は、前記抽出されたデータ要素を一方向ハッシュ関数を用いて固定長のデータに変換することを特徴とするサーバ装置。
【請求項3】
請求項2に記載のサーバ装置において、
前記ストレージはキーバリューストレージであり、
前記インクリメント手段は、前記変換された固定長のデータをキーとして、前記出現回数をバリューとして前記一時保存領域に保存することを特徴とするサーバ装置。
【請求項4】
請求項1乃至3の何れか一項に記載のサーバ装置において、
前記登録制御手段は、前記受信手段による前記データの受信毎に、前記出現回数が所定回数以上であるか否かを判定することを特徴とするサーバ装置。
【請求項5】
請求項1乃至4の何れか一項に記載のサーバ装置において、
前記データ要素は、前記データに含まれる本文、件名、及びIPアドレスであることを特徴とするサーバ装置。
【請求項6】
コンピュータにより実行されるデータ登録制御方法であって、
端末装置からネットワークを経由して送信されたデータを受信するステップと、
前記受信されたデータから所定のデータ要素を抽出するステップと、
前記抽出されたデータ要素を所定の変換関数を用いて変換するステップと、
前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするステップと、
前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するステップと、
を含むことを特徴とするデータ登録制御方法。
【請求項7】
コンピュータを、
端末装置からネットワークを経由して送信されたデータを受信する受信手段、
前記受信されたデータから所定のデータ要素を抽出する抽出手段、
前記抽出されたデータ要素を所定の変換関数を用いて変換する変換手段、
前記変換されたデータ要素及びその出現回数を対応付けてストレージの一時保存領域に保存し、当該データ要素が出現する度にその出現回数をインクリメントするインクリメント手段、及び、
前記出現回数が所定回数以上のデータ要素に対応する前記データをデータベースに登録することなく、前記出現回数が所定回数未満のデータ要素に対応する前記データをデータベースに登録するデータ登録制御手段として機能させることを特徴とするデータ登録制御プログラム。

【図3】
image rotate

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2011−96101(P2011−96101A)
【公開日】平成23年5月12日(2011.5.12)
【国際特許分類】
【出願番号】特願2009−250957(P2009−250957)
【出願日】平成21年10月30日(2009.10.30)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】