 WHAT'S THIS? HEADLINESLICENSEPROJECT ARCHIVE- RSS/1- WHAT'S NEW- FEATURES- RESOURCE- DOWNLOAD+ JESSIE + HttpVirtualUsers+ NSXBASIC+ genius_othelloCONTACT US　 ・RSS/1 - 検索キーワードおよび来訪履歴による自動カテゴリ化機能つきサーチエンジン　第3工程: コンテンツ管理ノードの開発このフェーズでは，Webコンテンツを格納するサーバーの開発を行います．　Webサイトから取得したコンテンツを，どうやって保管するかコンテンツ管理ノードの目的は，Webサイトから取得したコンテンツをどうやって保管するか，また保管した大量のコンテンツの中からどのようにして目的のものを取得するかについて考えます．Webコンテンツは，基本的にはコンテンツを専門に扱うサーバー(複数台)で管理します．ただし，探索ノードで取得されたコンテンツのデータを，RSSWebNavigatorが直接これらのサーバーに転送したりはしません．転送に時間がかかってしまい，探索処理に影響が出てしまうためです．RSSWebNavigatorは取得したコンテンツをローカルのストレージ領域に一時的に保存しておいて，探索ノードでこれらのコンテンツをコンテンツサーバーへ転送するスレッドを動作させるようにします．コンテンツを転送するスレッドの数は，任意で設定できるものとします．この方法ですと，多少サーバーの負荷が上がりますが探索の速度を落とさないで済みます．未転送のコンテンツの数があまりにも多くなってしまった場合には，一時的に探索をサスペンドして転送処理に専念するようにします．この方針で実装したものが，ローカルコンテンツ管理システムです．ソースコードアーカイブ中では，org.logical_paradox.rss.lcmgrパッケージに含まれているセットです．ローカルコンテンツ管理システムは，RSSWebNavigatorと結合しています．また，ローカルコンテンツ管理システムは，Webコンテンツの本来の格納システムである，リモートのコンテンツ管理ノードと結合しています．具体的には，ローカルコンテンツ管理システムは，起動時にコンテンツデータの転送先からコンテンツ登録インターフェースを取得し，適当なタイミングでもって，このインターフェースを通してデータ転送を行なっています．コンテンツ管理ノードは，同時にコンテンツ解析キューの役割も果たします．保管されるコンテンツには，未解析と既解析のフラグが設置されます．コンテンツが一旦コンテンツサーバーのストレージに保管された後，適当なタイミングでコンテンツ解析システムがそのデータを取得しにきます．そして解析が済み次第，既解析のフラグを立てていきます．各コンテンツは，整理保管されません．例えばドメイン名別に保管するなどということに意味がないためです．別途開発予定のコンテンツ解析システムが，キーワードとコンテンツの紐付けを行いますので，コンテンツサーバーのほうで何か索引付けをする必要は今のところありません．　コンテンツ管理ノードの内容コンテンツ管理ノードは，例によってRMIサーバーオブジェクトとして実装します．コンテンツ管理ノードとして実装しなければならない機能はコンテンツの登録 コンテンツの検索 未解析コンテンツの取得 既解析コンテンツの取得 です．その他に，探索ノードで動作させるための転送プログラムの開発が必要です．とりあえずのところ，コンテンツの登録処理だけを考えて，残りの部分については次のフェーズで実装します．　コンテンツ管理ノードの実装現段階で，コンテンツ管理ノードはいくつかの部位から構成されています．【リモートコンテンツ管理システム】リモートコンテンツ管理システムは，RMIサーバーオブジェクトとして，RMIレジストリに1つだけ生成/登録されます．コンテンツ管理ノードを利用する場合，クライアントプログラムはこのサービスに対して，自分が必要としているオブジェクトを要求します．例えば，コンテンツを登録したい場合，次に解説するコンテンツレジスタサービスのスタブを要求します．【コンテンツレジスタサービス】コンテンツレジスタサービスは，コンテンツ管理システムによって，一定数事前生成され，それぞれがいくつかのクライアント(多くの場合，ローカルコンテンツ管理システム)で共有されます．外部からコンテンツを登録/削除などしたい場合，必ずこのインターフェースを使用します．クライアント側から見れば，このクラスは単なる登録/削除などのためのインターフェースに見えます．コンテンツ管理ノードの内部から見れば，次に解説するコンテンツ登録エージェントの管理オブジェクトに見えます．コンテンツレジスタサービスは，クライアントからコンテンツを受け取った際，自身のコンテンツキューに登録するだけで，すぐに処理を返します．コンテンツレジスタサービスが管理するコンテンツ登録エージェントが，これらのキューから適当なタイミングでコンテンツをストレージに保管しています．【コンテンツ登録エージェント】コンテンツ登録エージェントは，コンテンツレジスタサービスごとに数個作成されます．これらはコンテンツ管理ノードでスレッドとして動作します．コンテンツ登録エージェントは，単に登録処理のみを行います．登録処理は，次に解説するコンテンツアクセサを使用して行います．【コンテンツアクセサ】コンテンツアクセサは，コンテンツを保管/管理するストレージエンジンへのアクセス方法を実装したクラスです．コンテンツアクセサがどんなタイプのストレージエンジンにアクセスするかは，設定ファイル(conf/rss.rcm.conf)で設定します．　RSS/1b 2003-04-06の実装内容・ RSSWebSpiderAgent.javaのバグ修正・ HttpConnectionをやめて，HTTPClientを使用するようにした・ robots.txt取得時に探索抑制状態が解除されなくなってしまうバグを修正・ ローカルコンテンツ管理システムの実装・ リモートコンテンツ管理ノードの実装(70%程度 - 登録処理だけ)デフォルトでは，コンテンツをdbディレクトリに1ファイル1コンテンツで登録する，コンテンツアクセサクラスを使用します．アーカイブに含まれている使用方法をよく読んでから実行してください．今回のソースコードはこちらです．　 | 最新情報 | 特徴 | システム概要 | ダウンロード | お問い合わせ |　 COPYRIGHT 2001,2002,2003,2004 - LOGICAL-PARADOX.ORG