図書館蔵書検索ソフト SearchLibrary バージョン 0.3.7を公開しました。

図書館蔵書検索ソフト SearchLibrary バージョン 0.3.7を公開しました。

今回のバージョンアップでは、以下の変更を行いました。

  • ホームページの仕様が変更されてデータを取得できなくなった図書館を検索対象から外しました。
  • AmazonのAPIの仕様が変更されて評価数とレビュー数を取得できなくなったため、これらのデータの表示欄を削除しました。
  • Amazonから書籍の発売日とランキングを取得するようにしました。

図書館蔵書検索ソフト SearchLibrary は、図書館の蔵書を複数のISBNを条件にして検索します。
検索処理では、図書館のホームページにアクセスして検索し結果を取得します。

図書館横断検索のホームページは多数があります。
しかし、複数のISBNを条件にして一括検索できるサービスは見あたりませんでした。
結局、ISBNを一つずつ入力して検索するしかありません。

このソフトでは、複数のISBNを条件にして検索することができます。
図書館の利便性がずっと良くなると思います。

図書館蔵書検索ソフト SearchLibraryの図書館サーバーにかける負荷について

愛知県の岡崎市立図書館のホームページに集中的にアクセスし、閲覧しにくくしたとして、愛知県警は25日、ホームページ作成会社社長中川圭右(けいすけ)容疑者(38)=同県知立市東長篠1丁目=を業務妨害の疑いで逮捕し、発表した。

(中略)

同課によると、中川容疑者は1回ボタンを押すだけで、1秒に1回程度の速度でアクセスを繰り返せるプログラムを作っていたという。

図書館HPにアクセス3万3千回 業務妨害容疑で男逮捕

ソフトウェアの作りが悪いと逮捕されてしまうという、他人事とは思えない事件です。

今回のプログラムの問題点は「1秒に1回程度の速度でアクセスを繰り返せる」という点にあると思います。

レスポンスが1秒以内に返ってくれば問題ないのですが、もし1秒以上かかると、図書館のサーバーの負荷がどんどんとたまっていくことになるからです。

図書館のサーバーは、最初のリクエストを1秒以内にレスポンスを返さないと、次の2秒目では最初のリクエストと2件目のリクエストに対して、処理を行わなくてはなりません。

2件目のレスポンスは1件目のレスポンスよりサーバーに負荷がかかるため、レスポンスを返すのに時間がかかります。

2件目のレスポンスを返す前に3件目のリクエストが届きます。
そのうちにだんだんとレスポンスを返せないリクエストがたまり、最後にはサーバーがダウンしてしまいます。

さて、拙作の「図書館蔵書検索ソフト SearchLibrary」について説明します。

図書館蔵書検索ソフト SearchLibrary」では、図書館サーバーに対して1件ずつリクエストを送信します。
図書館のサーバーからレスポンスが返ってきてから、次のリクエストを送るようにしています。

図書館のサーバーは常に1件ずつ、自分のペースでリクエストを処理すればいいわけです。

仮にサーバーの負荷が高まりレスポンスが遅れたとしても、「図書館蔵書検索ソフト SearchLibrary」はサーバーからのレスポンスが届くまでちゃんと待機しています。

ですから、図書館のサーバーにリクエストが集中して負荷がかかり、ダウンしてしまうような状況を引き起こすことはありません。

安心して、ご利用いただければと思います。

追記

岡崎市立中央図書館HP大量アクセス事件で逮捕された方がホームページを開設されました。

当事者が書いた貴重な情報源です。

このページを読んで、一番の問題だと思っていたサーバーの負荷対策について、ちゃんと考えられていることがわかりました。

この方はむすびのページで配慮が足らなかったとおっしゃっています。
しかし、ごく一般的なプログラムであるように思います。

この事件について、データベースの視点から鋭い指摘が以下のページでありました。

たしかに問題のプログラムがアクセスしていた岡崎市立中央図書館の新着図書のページはすぐに表示されます。
サーバーの負荷はわずかなものです。

一方、蔵書検索はとてつもなく遅い。
サーバーにも相当の負荷がかかっているのではないかと思います。

マスコミの報道では、岡崎市立中央図書館のホームページを閲覧しにくい状態にしたということでした。
今回逮捕された方のプログラムがサーバーにかけた負荷は少なく、これが原因だとは考えにくい。

岡崎市立中央図書館に電話で問い合わせた方が、その内容を掲載しています。

2.管理会社の調査で、外部からの攻撃が判明

図書館蔵書検索ソフト SearchLibrary バージョン 0.3.6公開

図書館蔵書検索ソフト SearchLibraryのバージョン 0.3.6を公開しました。

今回のバージョンアップでは、Amazonの「Product Advertising API」の電子署名に対応しました。

バージョン0.3.5以前のものは、Amazonの「Product Advertising API」の電子署名に対応していません。
そのため、2009年8月15日以降、Amazonの検索ができなくなります。
ご注意ください。

図書館蔵書検索ソフト SearchLibrary バージョン 0.3.5

図書館蔵書検索ソフト SearchLibraryのバージョン 0.3.5をリリースしました。

今回のバージョンアップで、検索結果に対して、Amazonの評価数でソートする機能・Amazonのレビュー数でソートする機能・金額でソートする機能を追加しました。

金額の高い書籍から優先的に予約するなど、図書館をより戦略的に利用できるようになりました。