JP4189332B2 - データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム - Google Patents

データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム Download PDF

Info

Publication number
JP4189332B2
JP4189332B2 JP2004024439A JP2004024439A JP4189332B2 JP 4189332 B2 JP4189332 B2 JP 4189332B2 JP 2004024439 A JP2004024439 A JP 2004024439A JP 2004024439 A JP2004024439 A JP 2004024439A JP 4189332 B2 JP4189332 B2 JP 4189332B2
Authority
JP
Japan
Prior art keywords
content information
registered
content
database
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004024439A
Other languages
English (en)
Other versions
JP2005216167A (ja
Inventor
康隆 大嶽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004024439A priority Critical patent/JP4189332B2/ja
Publication of JP2005216167A publication Critical patent/JP2005216167A/ja
Application granted granted Critical
Publication of JP4189332B2 publication Critical patent/JP4189332B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンテンツ情報の受理およびデータベースへの登録要求を行う登録処理サーバがネットワーク上に複数に分散されている場合において、データベースにコンテンツ情報を登録または更新する際のデータベースの管理を行うデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムに関し、特にデータベースの一貫性を保持するためのデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムに関する。
コンテンツ情報の受理およびデータベースへの登録要求を行う登録処理サーバがネットワーク上に複数に分散されている場合において、登録処理サーバから、ネットワーク上の一カ所に存在するコンテンツのデータベースに対し、コンテンツの登録または更新作業を行う際に、複数の登録処理サーバからデータベース内の同一キーのコンテンツに対し更新が行われ、データ競合が生じる場合がある。このため、このようなデータ競合を解消してデータベースの一貫性を保持することが重要となってくる。
このような複数の登録処理サーバからのデータベースの更新の際の一貫性保持の技術としては次のような技術が一般的に知られている。
第一の従来技術は、多数のユーザが同時にアクセスできる共有データであるマスターデータファイルを更新する場合に、マスターデータファイルの複写であるローカルデータファイルを作成し、ローカルデータファイルによるマスターデータファイルへ試みられた変更を検出し、ローカルデータファイルに施された変更が他のユーザによる変更と競合状態にあるか否かを確認し、競合する場合には、データ競合がある旨をユーザに通知し、ユーザからの入力を受信するものである(例えば、特許文献1参照)。すなわち、この従来技術では、データ変更の際の競合を監視して、競合状態がある場合には、ユーザ側で競合を解消するものである。
第二の従来技術は、ネットワーク上の複数のサーバ間において同一のオンラインドキュメントを共有する場合において、同一のドキュメントの複製を各サーバに配布し、あるドキュメントの更新を開始するサーバが他のサーバに対して更新開始通知を送信し、更新が終了したときに更新終了通知を送信し、更新開始通知を受信したサーバは、該当するドキュメントに対する更新をロックし、更新終了通知を受信したときにロックを解除するものである(例えば、特許文献2参照)。すなわち、この従来技術では、あるサーバでドキュメントの更新作業中は、そのドキュメントにロックがかかっているため、他のサーバからドキュメントの更新作業を実行できず、同一ドキュメントに対する更新の際のデータ競合を解消している。
特開平11−161535号公報 特開平11−272534号公報
上記従来技術では、いずれも同一コンテンツに対する更新の際の競合状態を解消することができるが、ネットワーク上に分散した登録処理サーバが、同時にデータベースにアクセスできる環境では、ユーザがコンテンツの登録要求を行うタイミングと各サーバがデータベースに対して登録要求を行うタイミングがずれる可能性もあるため、必ずしもユーザがデータベースへのコンテンツの登録要求を行った順に、データベースへの登録処理が実行されない可能性がある。この場合、データベースに登録されるコンテンツのバージョンに矛盾が生じる場合がある。このため、データベース管理システムには、コンテンツのデータ競合を解決し、コンテンツのバージョン管理を適切に行う機能を有する必要がある。
しかしながら、上記従来技術では、このようなデータ競合を解決し、コンテンツを適切にバージョン管理する処理を設けると、処理が複雑になるという問題がある。また、特許文献2の技術では、オリジナルのコンテンツデータがロックされてしまい、結果としてデッドロックに陥ってしまう問題もある。
ところで、電気・電子部品や重電部品の電子カタログのような部品情報をコンテンツとして格納するデータベースを考えた場合、次のような前提でコンテンツの登録および検索システムが運用されることが多い。
まず第1に、複数企業のコンテンツを一つのWebサイト上で管理、閲覧、登録できるようにし,少人数の各企業のコンテンツ管理者に、予めコンテンツの編集や修正権限を与えておく。
第2に、コンテンツを修正する処理では、オリジナルのコンテンツを取得してから、修正し、修正されたコンテンツを再度登録するまでの期間が非常に長い。すなわち、オンラインで編集することはまれであり、ロングタームトランザクションとなる。
第3に、企業のコンテンツ管理者は少数なため、同一のコンテンツを複数のユーザが同時に編集することは稀である。仮に、同時に同一のコンテンツを編集した場合において、一時的に更新の前後関係が矛盾した状態になっても、大量の更新が短時間で実行され、最終的に正しいバージョンが付与されるのであれば、運用上は大きな問題とはならない。
本発明は、上記に鑑みてなされたものであって、コンテンツ情報のデータベースへの登録要求を受理する登録処理サーバがネットワーク上に分散している場合に、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、前記複数の登録処理サーバのそれぞれは、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手段と、前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、前記編集手段により編集した前記登録対象のコンテンツ情報に前記編集情報を受信した時点の時刻を示す時刻情報を付与する時刻情報付与手段と、前記時刻情報付与手段によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手段と、前記データベースサーバは、前記コンテンツ情報を登録したデータベースを記憶する記憶手段と、前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手段と、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを、前記時刻情報が示す時刻順にバージョンの値が増加するように更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合に、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手段と、前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、を備えたことを特徴とする。
また、本発明は、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報が登録された階層型データベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、前記複数の登録処理サーバのそれぞれは、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報を記憶する処理サーバ情報記憶手段と、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手段と、前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、前記編集手段によって編集した前記登録対象のコンテンツ情報を、前記処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手段と、他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手段と、を備え、前記データベースサーバは、前記コンテンツ情報を登録した階層型データベースを記憶するデータベース記憶手段と、前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信手段と、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報のバージョンを、前記登録済みのコンテンツ情報の最新バージョンより新しいバージョンに更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手段と、前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、を備えたことを特徴とする。
また、本発明は、コンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベースサーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、前記複数の登録処理サーバのそれぞれにおいて、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウトステップと、前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、前記編集ステップにより編集した前記登録対象のコンテンツ情報に前記編集情報を受信した時点の時刻を示す時刻情報を付与する時刻情報付与ステップと、前記時刻情報付与ステップによって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送ステップと、前記データベースサーバにおいて、前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信ステップと、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを、前記時刻情報が示す時刻順にバージョンの値が増加するように更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合に、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新ステップと、前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、を含むことを特徴とする。
また、本発明は、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録した階層型データベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベースサーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、前記複数の登録処理サーバのそれぞれにおいて、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウトステップと、前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、前記編集ステップによって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチステップと、他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送ステップと、前記データベースサーバにおいて、前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信ステップと、前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報のバージョンを、前記登録済みのコンテンツ情報の最新バージョンより新しいバージョンに更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新ステップと、前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、を含むことを特徴とする。
また、本発明は、ネットワークで接続されたクライアント端末装置からコンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手順と、前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、前記編集手順により編集した前記登録対象のコンテンツ情報に前記編集情報を受信した時点の時刻を示す時刻情報を付与する時刻情報付与手順と、前記時刻情報付与手順によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手順と、をコンピュータに実行させるためのデータベース登録要求プログラムである。
また、本発明は、コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースへの前記コンテンツ情報の登録要求を行う登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理プログラムであって、前記登録処理サーバから時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手順と、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを、前記時刻情報が示す時刻順にバージョンの値が増加するように更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合に、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手順と、前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、をコンピュータに実行させるためのデータベース管理プログラムである。
また、本発明は、ネットワークで接続されたクライアント端末装置からコンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手順と、前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、前記編集手順によって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手順と、前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手順と、とをコンピュータに実行させるためのデータベース登録要求プログラムである。
また、本発明は、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報を登録した階層型データベースに対する前記コンテンツ情報の登録を要求する登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記階層型データベースに登録するデータベース管理プログラムであって、前記登録処理サーバから前記登録対象のコンテンツ情報を受信する受信手順と、前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報のバージョンを、前記登録済みのコンテンツ情報の最新バージョンより新しいバージョンに更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手順と、前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、をコンピュータに実行させるためのデータベース管理プログラムである。
本発明によれば、コンテンツ情報のデータベースへの登録要求を受理する登録処理サーバがネットワーク上に分散している場合に、一時的にコンテンツ情報のバージョンの矛盾が生じても最終的に時刻情報に基づいて正しいバージョンに更新されるので、比較的緩い運用においてはバージョンの矛盾をさほど問題になることはなく、この結果データベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるという効果を奏する。
また、本発明は、複数の登録処理サーバがネットワーク上に分散している場合においても階層型データベースの分類項目ごとに一括してデータベースサーバ1410に登録要求することによって登録要求のタイミングにずれが生じすることがなく、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムの最良な実施の形態を詳細に説明する。
(実施の形態1)
図1は、本発明の実施の形態1にかかるデータベース管理システムのネットワーク構成を示す説明図である。図1に示すように、本実施の形態のデータベース管理システムは、複数のアプリケーションサーバ100と単一のデータベースサーバ110とがネットワーク150で接続された構成となっている。ここで、ネットワーク150は、Ethernet(登録商標)などであり、データベースサーバ110と複数のアプリケーションサーバ100はLAN(Local Area Network)環境を構築している。なお、本実施の形態では、データベースサーバ110と複数のアプリケーションサーバ100は、LAN環境を構築しているが、これに限定されるものではなく、例えば、データベースサーバ110と複数のアプリケーションサーバ100がインターネットで接続されている構成でも良い。
データベースサーバ110は、そのハードディスクドライブ装置(HDD)にコンテンツデーターべース120を記憶しており、アプリケーションサーバ100からの要求によってコンテンツデータベース120を構成するコンテンツをコンテンツデータベース120に登録すると共に、コンテンツのバージョン管理を行うものである。
アプリケーションサーバ100は、クライアント端末130からの要求によってコンテ
ンツをコンテンツデータベース120からの読み出して編集を行うとともに、この編集したコンテンツのコンテンツデータベース120への登録要求をデータベースサーバ110に対して行うものである。このアプリケーションサーバ100は、本発明における登録処理サーバを構成する。
アプリケーションサーバ100には、インターネット140を介してクライアント端末130が接続されている。アプリケーションサーバ100は、データベースサーバ110のコンテンツデータベースへの各種処理のサービスをクライアント端末130に搭載されたWebブラウザ131を介して提供するようになっている。
図2は、アプリケーションサーバ100の機能的構成を示すブロック図である。図2に示すように、アプリケーションサーバ100は、編集部201と登録受理部202と時刻情報付与部203とチェックアウト部204と転送部205と受理キュー206とを主に備えている。
チェックアウト部204は、クライアント端末130からの要求によって、データベースサーバ110のコンテンツデータベース120からクライアント端末130によって指定された検索キーの最新バージョンのコンテンツを受信し、この受信したコンテンツを用いてコンテンツータベース120に既に登録済みのコンテンツを編集するための情報、例えばコンテンツの各項目への編集入力のためのhtmlページなどを生成してクライアント端末130に送信する処理を行う。
編集部201は、チェックアウト部204によって読み出された登録済みのコンテンツに対する編集内容、例えば、上述のhtmlページへの編集入力データなどの編集データをクライアント端末130から受信し、この受信した編集データに応じて登録済みコンテンツを編集する処理を行う。このように登録済みのコンテンツに対して編集処理が施されたコンテンツを登録対象のコンテンツと呼ぶ。
時刻情報付与部203は、編集処理がなされたコンテンツにサブミット時刻として現在日時(本発明の時刻情報に相当する)を付加する処理を行うものである。
登録受理部202は、時刻情報付加部203によって現在日時が付加されたコンテンツを受理キュー206に格納する処理を行うものである。
受理キュー206は、先入れ先出し方式のキュー(FIFO:First−In First−Out)であり、現在日時が付加されたコンテンツが順次格納されるものである。
転送部205は、受理キュー206の先頭から現在日時が付与されたコンテンツを読み出して、このコンテンツを登録対象のコンテンツとしてデータベースサーバ110に送信する処理を行うものである。
図3は、データベースサーバ110の機能的構成を示すブロック図である。図3に示すように、データベースサーバ110は、受信部301,バージョン更新部302,登録部303,HDDにコンテンツデータベース120を備えている。このHDDは本発明における記憶手段に相当する。
受信部301は、アプリケーションサーバ100からコンテンツデータベース120への登録対象のコンテンツを受信するものである。
バージョン更新部302は、受信部301によって受信した登録対象のコンテンツのバージョンまたはコンテンツデータベース120に既に登録済みのコンテンツのバージョンを更新するものである。具体的なバージョンの更新処理については後述する。
登録部303は、バージョン更新部302によってバージョンが更新された登録対象のコンテンツをコンテンツデータベース120に登録する処理を行う。
コンテンツデータベース120は、階層型のデータベースであり、コンテンツが登録されている。本実施の形態では、コンテンツデータベース120として、電子部品カタログの交換フォーマットの国際標準であるISO13584/Parts Library(PLIB)に準拠したデータベースを使用している。このPLIBに準拠したデータベースは、部品サプライヤが提供する部品の分類項目と属性のデータ構造を統一して、どの部品サプライヤが登録した部品データでも同一の方式で検索できるようにしたものである。
PLIBに準拠した本実施の形態のコンテンツデータベース120は辞書とコンテンツとから構成される。このコンテンツデータベース120は、複数の分類項目を階層的に関連付けた階層構造を有し、最上位分類を除く各分類が唯一の親分類を有し、各分類項目は当該分類項目の分類項目の属性を含む属性を有し、各分類項目には当該分類項目の有する属性のそれぞれに対応する属性値で構成されるコンテンツを登録した構造となっている。
図4は、コンテンツデータベース120の辞書の構造の一例を示す説明図である。図4に示すように、コンテンツデータベース120の辞書には、「電子製品」という分類項目をルートノードとし、このルートノードに、その子ノードとして「パーソナルコンピュータ」、「デジタルカメラ」という分類項目のノードが関連付けられた階層構造を有している。すなわち、「電子製品」は「パーソナルコンピュータ」、「デジタルカメラ」という2つの分類に細分化されることを示している。本実施の形態のコンテンツデータベース120では、階層を2階層としているが、3階層以上の階層構造を有するように構成することもできる。
この階層的に関連付けられた各分類項目は、それぞれ固有の属性(点線で示す)が定められている。各分類項目は、階層構造における当該分類項目の上位階層の分類項目の属性を継承する。例えば、ノード「パーソナルコンピュータ」が有する属性は、ルートノードの「電子製品」に定義される属性(「型番」)と、ノード「パーソナルコンピュータ」に定められた属性(「CPU」、「標準メモリ容量」、「標準ディスク容量」)を有する。
また、本実施の形態のコンテンツデータベース120では、各分類項目、各属性を識別するコード体系として、全世界で一意なコードであることを保証するBSUコードを使用している。図4では、ノード「電子製品」に“AAA000”、ノード「パーソナルコンピュータ」に“AAA001”、ノード「デジタルカメラ」に“AAA002”のBSUコードを付与し、属性「型番」に“P1”、属性「CUP」に“P2”、属性「標準メモリ容量」に“P3”、属性「標準ディスク容量」に“P4”のBSUコードを付与した例を示している。
このような階層構造のコンテンツデータベース120のコンテンツの例としては、図7に示すように、分類階層、属性、コンテンツが格納されている。図7に示すように、コンテンツデータベース120のフィールド名「ClassBSU」、「バージョン」、「日時」は、システム属性といい、データベースサーバ110がコンテンツを管理するための属性であり、図4で示した辞書で定義される属性とは異なるものである。「ClassBSU」の値には、該当コンテンツが属する分類の識別子、すなわちClassBSUコードが格納される。図7の例では、ClassBSUコードの値は、“AAA001”であ
り、この例で示してある3つのコンテンツは全てノード「パーソナルコンピュータ」に属することを示している。
図4では、ClassBSUコード“AAA001”において、辞書として定義された辞書属性として、“P1”、“P2”、“P3”、“P4”の4個の属性があるが、図7では説明の都合上“P1”、“P2”のみに値が格納されているものとする。なお、“P1”は分類“AAA001”に属する製品をユーザが一意に識別するためのキーとなっている。この例のコンテンツデータベース120中には、検索キー“P1”の値が“E001”であってバージョンが異なる製品が2個存在する。このようにキー値が同一であっても異なるバージョンのコンテンツを登録しているのは、電子カタログデータの登録や修正のような利用を想定しているからである。
すなわち、コンテンツの編集者や登録者によって初期登録されたコンテンツに誤りがあった場合、そのコンテンツをコンテンツデータベース120からチェックアウトして読み出し、読み出したコンテンツを修正し、新しいバージョンを設定してコンテンツデータベース120にアプリケーションサーバ100とデータベースサーバ110を介して登録する。このとき、登録したコンテンツに電子部品カタログのデータとしての誤りがあっただけでは、製品自体の型番は変わるものではない。また、一旦、公開してしまったコンテンツのデータを上書きしてしまうと、例えばコンテンツデータベース120のコンテンツを検索する検索者がそのコンテンツを検索して、上書きされる前のコンテンツの電子部品を調達するなど、別システムで利用してしまっていた場合に後々不都合が生じる。このため、本実施の形態の電子部品カタログのコンテンツデータベース120では、検索キーの値が同一であっても異なるバージョンのコンテンツを登録することとしている。
従って、電子部品カタログとしてコンテンツデータベース120のコンテンツを更新する場合には、辞書の検索キーの属性の値(図4及び図7の例では、「型番」)が同一でかつシステム属性「バージョン」を1だけ増加させたコンテンツ、すなわち最新のバージョンを持つコンテンツとして追加登録することとしている。
また、電子部品カタログとしてのコンテンツデータベース120の利用では、同一の型番で2つの異なる情報が同時に公開されることはない。すなわち、コンテンツのバージョンは枝分かれするものではないことを前提としている。従って、本実施の形態のコンテンツデータベース120では、“バージョン”の値は自然数であり、コンテンツの更新とともにバージョンは1だけインクリメントするものとする。
システム属性「日時」は、アプリケーションサーバ100がクライアント端末130のWebブラウザ131からのコンテンツの登録・修正要求を受理した日時を示す属性である。
なお、本実施の形態のコンテンツデータベース120は、上述したように階層型データベースとして構成されているが、これに限定されるものではなく一般的なリレーショナルデータベースを用いることもできる。この場合には、分類項目は存在しないため、図7におけるシステム属性「ClassBSU」の欄は存在しない。
次に、以上のように構成された本実施の形態にかかるデータベース管理システムにおけるコンテンツの受理からコンテンツデータベース120への登録までの処理について説明する。
まず、ユーザは、クライアント端末130のWebブラウザ131から所望のキーを指定してアプリケーションサーバ100にコンテンツデータベース120からコンテンツの
読み出しを要求する。アプリケーションサーバ100は、チェックアウト部204によってクライアント端末130で指定された検索キーでコンテンツデータベース120から該当するコンテンツを検索するようデータベースサーバ110に対して要求する。データベースサーバ110は、かかるアプリケーションサーバ100からの検索要求を受けて、指定された検索キーによってコンテンツを検索し、検索されたもののなかで最新のバージョンのコンテンツをアプリケーションサーバ100に送信する。
アプリケーションサーバ100は、データベースサーバ110から検索されたコンテンツを受信すると、チェックアウト部204によって、受信したコンテンツをクライアント端末130に送信してWebブラウザ131に表示させる。
ユーザがクライアント端末130でWebブラウザ131に表示されたコンテンツを編集し、アプリケーションサーバ100に対して編集要求および登録要求を送信する。アプリケーションサーバ100では、クライアント端末130から編集要求および登録要求を受信すると、編集部201がチェックアウト部204によって取得したコンテンツに対してクライアント端末130で行われた編集内容の編集データに応じた編集を行う。そして、編集部201は、編集されたコンテンツとともに、編集されたコンテンツのデータベース120への登録要求を登録受理部202に送信する。登録受理部202は、編集部201から登録要求と編集されたコンテンツを登録対象のコンテンツとして受理する。
なお、アプリケーションサーバ100がクライアント端末130に最新のバージョンのコンテンツを送信する際には幾つか方法が考えられえる。例えば、「バージョン情報」を含む最新のバージョンのコンテンツ全体を送信しても良いし、アプリケーションサーバ上で最新のバージョンのコンテンツと関連付けたIDを生成して「バージョン情報」を除いたコンテンツの一部とそのIDのペアからhtmlページを構成し送信しても良い。
後者の場合、クライアント端末130から編集要求及び登録要求を受信した際は、アプリケーションサーバ100は、関連付けしたIDから得られる元々の登録済みのコンテンツから、クライアント端末130による編集データに応じたコンテンツを生成し編集部201に渡し、編集部201によって編集データに従った編集処理を行う。
図5は、編集部201によって編集された登録対象のコンテンツのデータベースサーバ110に対して登録要求を行う処理の手順を示すフローチャートである。
登録受理部202が登録対象のコンテンツを受理すると、時刻情報付与部203によって、登録対象のコンテンツに対して受理時点における現在の日時を付与する(ステップS501)。次に、登録受理部202によって、現在の日時が付与された登録対象のコンテンツを受理キュー206に登録する(ステップS502)。このステップS501の現在の日時の付与、受理キュー206への登録処理は、登録受理部202が受理した全てのコンテンツに対して行われる(ステップS503)。
全ての登録対象のコンテンツが受理キューに登録されたら、転送部205によって、登録対象のコンテンツを受理キュー206の先頭から取得して(ステップS504)、取得した登録対象のコンテンツをデータベースサーバ110に送信する(ステップS505)。このステップS504、S505の受理キューからの登録対象のコンテンツの取得、登録対象のコンテンツのデータベースサーバ110への送信処理は、受理キュー206に格納されている全ての登録対象のコンテンツに対して行われる(ステップS506)。このような処理によってデータベースサーバ110に対するコンテンツの登録要求が行われるが、かかる登録要求は、ネットワーク150上の全てのアプリケーションサーバ100が行っている。
データベースサーバ110では、受信部301によってアプリケーションサーバ100から登録対象のコンテンツを受信し、受信した登録対象のコンテンツをバージョン更新部302に渡す。
図6は、データベースサーバ110のバージョン更新部302によるバージョン更新処理の手順を示すフローチャートである。本実施の形態のデータベースサーバ110は、クライアント端末130からアプリケーションサーバ100に対して時間的に後から登録要求が行われた登録対象のコンテンツに割り当てられるバージョンが、時間的に先に登録要求が行われた登録対象のコンテンツに割り当てられるバージョンより新しくなるように更新するバージョンポリシーによって、コンテンツのバージョンを更新する。
バージョン更新部302では、受信部301から登録対象のコンテンツを受け取ると、受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する(ステップS601)。
そして、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きい(新しい)コンテンツをコンテンツデータベース120から検索し、このようなコンテンツが存在するか否か調べる(ステップS602)。そして、登録対象のコンテンツと検索キーの値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース120に存在しないと判断した場合には(ステップS602:No)、登録対象のコンテンツのバージョンを1だけインクリメントして(ステップS606)、登録部303に渡す(ステップS605)。そして、登録部303によって、バージョンが更新されたコンテンツがコンテンツデータベース120に登録される。
一方、ステップS602において、登録対象のコンテンツと検索キーの値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース120に存在すると判断した場合には(ステップS602:Yes)、登録対象のコンテンツと登録対象のコンテンツと同一キーの既に登録済みのコンテンツを時刻の早い順にソートする(ステップS603)。そして、ソートしたコンテンツの時刻の早い順から値が増えるようにコンテンツのバージョンをふり直す(ステップS604)。そして、バージョンをふり直した登録対象のコンテンツを登録部303に渡し(ステップS605)、登録部303によって、バージョンが更新された登録対象のコンテンツがコンテンツデータベース120に登録される。
以上のような処理で、コンテンツのバージョン更新処理およびコンテンツデータベース120に対するコンテンツの登録処理が行われる。これによって、コンテンツデータベースには、クライアント端末130からアプリケーションサーバ100に対する登録要求およびアプリケーションサーバ100による受理が後に行われたコンテンツのバージョンが、先にクライアント端末130からの登録要求およびアプリケーションサーバ100による受理がなされたコンテンツのバージョンより大きい値で更新されて登録されることになる。
次に、このようなアプリケーションサーバ100およびデータベースサーバ110によるコンテンツの登録要求からコンテンツデータベース120への登録処理までを具体例をあげて説明する。
図7は、コンテンツデータベース120からコンテンツを読み出してから編集し、コンテンツデータベース120に登録するまでの流れの中で、クライアント端末130のWe
bブラウザ131でコンテンツが編集されている状態を示す説明図である。
クライアント端末130a,130bのユーザは、「属性“P1”=“E001”」という検索条件でコンテンツデータベース120に対して検索要求を行い、コンテンツデータベース120からデータベースサーバ110、アプリケーションサーバ100aを介して読み出す。
この時、キー(この例では属性P1)の値が同一であるコンテンツに関しては、システム属性「バージョン」が最新のコンテンツが読み出される。次に、クライアント端末130aのユーザが、P2(キー以外の属性に限る)の値を、図7に示す通り“T”から“T’”に修正し、日時「8/8 9:00」にアプリケーションサーバ100aに登録要求を送信して、登録対象のコンテンツのサブミットを行う。このとき、アプリケーションサーバ100aでは、同時刻に編集部201から登録受理部202に登録要求が送信されることになる。
一方、クライアント端末130bのユーザは、P2(キー以外の属性に限る)の値を、図7に示す通り“T”から“T’’”に修正し、日時「8/8 9:01」にアプリケーションサーバ100bに登録要求を送信する。このとき、アプリケーションサーバ100bでは、同時刻に編集部201から登録受理部202に登録要求が送信されることになる。
図8は、アプリケーションサーバ100a,100bで受理した登録対象のコンテンツがデータベースサーバ110に送信され、コンテンツデータベース120に登録される処理の流れを示す説明図である。
アプリケーションサーバ100a,100bでは、登録受理部202によって編集部201からの登録要求および登録対象のコンテンツを受理し、時刻情報付加部203によって受理時点の日時を登録対象のコンテンツに付与する。図8に示すように、アプリケーションサーバ100aでは、受理時点での日時「8/8 9:00」が付与され、アプリケーションサーバ100bでは、受理時点での日時「8/8 9:01」が付与されることになる。そして、各アプリケーションサーバ100a,100bの登録受理部202は、日時が付与された登録対象のコンテンツを受理キュー206に登録する。図8は、登録対象のコンテンツが受理キューに登録された状態を示している。
なお、本実施の形態では、登録対象のコンテンツに日時を付与した後で、日時が付与された登録対象のコンテンツを受理キュー206に登録しているが、先に登録対象のコンテンツを受理キュー206に登録し、登録後、受理キューに登録された登録対象のコンテンツに対して受理時点の日時を付与するように構成してもよい。
次に、アプリケーションサーバ100a,100bの転送部205によって、任意のタイミングで受理キュー206の先頭から登録対象のコンテンツが読み出されてデータベースサーバ110に送信され、データベースサーバ110に対してコンテンツデータベース120への登録要求が行われる。このとき、各アプリケーションサーバ100a,100bでは任意のタイミングで転送部205がデータベースサーバ110に登録要求を行うため、各サーバ間で受理時点の時刻の順と同じ順番に登録要求が行われるとは限らず、この結果、コンテンツデータベース120への登録順が時刻順とならないという不整合が生じる場合がある。
ここでは、登録対象のコンテンツの受理時点の日時はアプリケーションサーバ100aで受理したコンテンツ801の方がアプリケーションサーバ100bで受理したコンテン
ツ802よりも時間的に先であるが、アプリケーションサーバ100bから先にデータベースサーバ110に登録要求が行われた場合を考える。以下、上述した図6のバージョン更新部302の処理に従って説明する。
データベースサーバ110では、登録対象のコンテンツ802を受信部301で受信すると、バージョン更新部302によって登録対象のコンテンツ802のバージョンを取得する(ステップS601)。図8の例ではバージョン=2である。そして、コンテンツデータベース120の中に、キー値が同一となり、かつバージョンが2より大きいコンテンツが存在するか否か調べる(ステップS602)。図8の例では、このようなコンテンツが無いため(ステップS602:No)、登録コンテンツのバージョンを1だけインクリメントし3とする(ステップS606)。そして、登録対象のコンテンツ802を登録部303に渡し、登録部303は、渡されたコンテンツをコンテンツデータベース120に登録する。図8のコンテンツデータベース120は、コンテンツ802が登録された状態を示している。
このように登録対象のコンテンツ802がコンテンツデータベース120に登録された後に、コンテンツ802より時間的に先の登録対象のコンテンツ801がアプリケーションサーバ100aからデータベースサーバ110に送信されてきたものとする。図9は、登録対象のコンテンツ801をコンテンツデータベース120に登録する処理の流れを示す説明図である。
データベースサーバ110では、登録対象のコンテンツ801を受信部301で受信すると、バージョン更新部302によって登録対象のコンテンツ801のバージョンを取得する(ステップS601)。図9の例ではバージョン=2である。そして、コンテンツデータベース120の中に、キー値が同一となり、かつバージョンが2より大きいコンテンツが存在するか否か調べる(ステップS602)。図9の例では、アプリケーションサーバ100bからの登録要求によって既にコンテンツデータベース120に登録済みのコンテンツ802(バージョン=3)が存在する。このため、登録対象のコンテンツ801と登録済みのコンテンツ802とを、時刻順にソートして(ステップS603)、時刻の早い順から値が大きくなるようにバージョンを振り直す(ステップS604)。これにより、登録対象のコンテンツ801はバージョンが3、既に登録済みのコンテンツはバージョンが4に更新されることになる。すなわち、コンテンツのバージョンが、データベースサーバ110に対する登録要求の時間に関係なく、アプリケーションサーバ100a,100bに対するクライアントからの編集要求およびアプリケーションサーバ100a,100bの受理の時刻順に設定されることになる。そして、登録対象のコンテンツ801を登録部303に渡し、登録部303は、渡されたコンテンツ801をコンテンツデータベース120に登録する。図10は、バージョンが更新されたコンテンツ801,802が登録された状態のコンテンツデータベース120を示す説明図である。
このように本実施の形態のデータベース管理システムでは、複数のアプリケーションサーバ100のそれぞれは、クライアント端末130からの要求によってコンテンツデータベース120に既に登録済みのコンテンツを編集した登録対象のコンテンツに日時を示す時刻情報を付与し、時刻情報が付与された登録対象のコンテンツを、データベースサーバ110に送信し、データベースサーバ110は、アプリケーションサーバ100のそれぞれから日時が付与された登録対象のコンテンツを受信して、データベースに既に登録済みのコンテンツの中で、受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ登録対象のコンテンツ情報よりバージョンが新しい登録済みのコンテンツ情報が存在する場合、登録対象のコンテンツのバージョンと登録済みのコンテンツ情報のバージョンを、日時の早い順で大きくなるように更新してコンテンツデータベース120に登録しているので、アプリケーションサーバ100がネットワーク上に分散している場合に、一
時的にコンテンツのバージョンの矛盾が生じても最終的に日時に基づいて正しいバージョンに更新されるので、比較的緩い運用においてはバージョンの矛盾をさほど問題になることはなく、コンテンツデータベース120の一貫性保持を実現しつつ、コンテンツデータベース120のコンテンツのバージョン管理を適切かつ効率的に行うことができる。
(実施の形態2)
実施の形態1にかかるデータベース管理システムでは、時間的に後から編集要求がアプリケーションサーバ100に行われた登録対象のコンテンツに割り当てられるバージョンが、時間的に先に編集要求が行われた登録対象のコンテンツに割り当てられるバージョンより新しくなるように更新するものであったが、この実施の形態2にかかるデータベース管理システムでは、時間的に先に編集要求が行われた登録対象のコンテンツのみをコンテンツデータベース120に登録し、時間的に後から編集要求がアプリケーションサーバ100に行われた登録対象のコンテンツの登録を行わないものである。
実施の形態2にかかるデータベース管理システムの構成、アプリケーションサーバ100、データベースサーバ110およびコンテンツデータベース120の構成は、実施の形態1と同様であるので説明を省略する。
また、実施の形態2のアプリケーションサーバ100によるデータベースサーバ110に対するコンテンツの登録要求の処理については実施の形態1と同様であるので説明を省略する。
次に、本実施の形態にかかるデータベースサーバ110によるコンテンツの登録処理およびバージョン更新処理について説明する。図11は、データベースサーバ110のバージョン更新部302によるバージョン更新処理の手順を示すフローチャートである。本実施の形態のデータベースサーバ110は、時間的に先に編集要求がアプリケーションサーバ100に行われた登録対象のコンテンツのみを登録するバージョンポリシーによって、コンテンツのバージョンを更新する。
実施の形態1のデータベースサーバ110と同様に、受信部301によってアプリケーションサーバ100から登録対象のコンテンツを受信する。バージョン更新部302では、受信部301から登録対象のコンテンツを受け取ると、受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する(ステップS1101)。
そして、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きい(新しい)コンテンツをコンテンツデータベース120から検索し、このようなコンテンツに存在するか否か調べる(ステップS1102)。そして、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース120に存在しないと判断した場合には(ステップS1102:No)、登録対象のコンテンツのバージョンを1だけインクリメントして(ステップS1107)、登録部303に渡す(ステップS1106)。そして、登録部303によって、バージョンが更新されたコンテンツがコンテンツデータベース120に登録される。
一方、ステップS1102において、登録対象のコンテンツとキー値が同一で、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース120に存在すると判断した場合には(ステップS1102:Yes)、登録対象のコンテンツと登録対象のコンテンツと同一キーの既に登録済みのコンテンツの中で、日時フィールドを参照して、日時が最新であるコンテンツを削除する(ステップS1103)。
次に、ステップS1103によって削除されたコンテンツがアプリケーションサーバ100から受信した登録対象のコンテンツであったか否かを判断する(ステップS1104)。そして、登録対象のコンテンツが削除されていないと判断された場合、すなわち既に登録済みのコンテンツの日時が最新であり、この登録済みのコンテンツが削除されたと判断された場合には(ステップS1104:No)、アプリケーションサーバ100から受信した登録対象のコンテンツのバージョンを1だけインクリメントする(ステップS1105)。そして、バージョンがインクリメントされた登録対象のコンテンツを登録部303に渡し(ステップS1106)、登録部303によって、バージョンが更新された登録対象のコンテンツがコンテンツデータベース120に登録される。
一方、ステップS1104において、登録対象のコンテンツが削除されたと判断された場合、すなわち登録対象のコンテンツの日時が最新であり、この登録対象のコンテンツが削除されたと判断された場合には(ステップS1104:Yes)、登録部303に登録対象のコンテンツを渡さずに処理を終了する。以上のような処理で、コンテンツのバージョン更新処理およびコンテンツデータベース120に対するコンテンツの登録処理が行われる。これによって、コンテンツデータベースには、アプリケーションサーバ100に対する編集要求およびアプリケーションサーバ100による受理が先に行われたコンテンツが登録されることになる。
次に、このようなアプリケーションサーバ100およびデータベースサーバ110によるコンテンツの登録要求からコンテンツデータベース120への登録処理までを具体例をあげて説明する。
図12は、アプリケーションサーバ100a,100bで受理した登録対象のコンテンツがデータベースサーバ110に送信され、コンテンツデータベース120に登録される処理の流れを示す説明図である。
実施の形態1と同様に、アプリケーションサーバ100aは、登録対象のコンテンツに受理時点での日時「8/8 9:00」を付与して、登録対象のコンテンツ1201を受理キューに格納し、アプリケーションサーバ100bでは、登録対象のコンテンツに受理時点での日時「8/8 9:01」を付与して受理キュー126に格納する。
次に、転送部205による登録対象のコンテンツのデータベースサーバ110への送信が行われる。本実施の形態においても、実施の形態1と同様に、登録対象のコンテンツの受理時点の日時はアプリケーションサーバ100aで受理したコンテンツ1201の方がアプリケーションサーバ100bで受理したコンテンツ1202よりも時間的に先であるが、アプリケーションサーバ100bから先にデータベースサーバ110に登録要求が行われた場合を考える。以下、上述した図11のバージョン更新部302の処理に従って説明する。
データベースサーバ110では、登録対象のコンテンツ1202を受信部301で受信すると、バージョン更新部302によって登録対象のコンテンツ1202のバージョンを取得する(ステップS1101)。図12の例ではバージョン=2である。そして、コンテンツデータベース120の中に、キー値が同一となり、かつバージョンが2より大きいコンテンツが存在するか否か調べる(ステップS1102)。図12の例では、このようなコンテンツが無いため(ステップS1102:No)、登録コンテンツのバージョンを1だけインクリメントし3とする(ステップS1107)。そして、登録対象のコンテンツ1202を登録部303に渡し、登録部303は、渡されたコンテンツをコンテンツデータベース120に登録する。図12のコンテンツデータベース120は、コンテンツ1
202が登録された状態を示している。
このように登録対象のコンテンツ1202がコンテンツデータベース120に登録された後に、コンテンツ802より時間的に先の登録対象のコンテンツ1201がアプリケーションサーバ100aからデータベースサーバ110に送信されてきたものとする。
データベースサーバ110では、登録対象のコンテンツ1201を受信部301で受信すると、バージョン更新部302によって登録対象のコンテンツ1201のバージョンを取得する(ステップS1101)。図12の例ではバージョン=2である。そして、コンテンツデータベース120の中に、キー値が同一となり、かつバージョンが2より大きいコンテンツが存在するか否か調べる(ステップS1102)。図12の例では、アプリケーションサーバ100bからの登録要求によって既にコンテンツデータベース120に登録済みのコンテンツ1202(バージョン=3)が存在する。このため、登録対象のコンテンツ1201と登録済みのコンテンツ1202のうち日時が新しい登録済みのコンテンツ1202を削除する(ステップS1103)。この例では、登録対象のコンテンツ1201が削除されたわけではないので(ステップS1104:No)、登録対象のコンテンツ1201のバージョンを1だけインクリメントして、バージョン=3とし、登録対象のコンテンツ1201を登録部303に渡す(ステップS1106)。登録部303は、渡されたコンテンツをコンテンツデータベース120に登録する。図13のコンテンツデータベース120は、コンテンツ1201が登録された状態を示している。
このように本実施の形態にかかるデータベース管理システムでは、複数のアプリケーションサーバ100のそれぞれは、クライアント端末130からの要求によってコンテンツデータベース120に既に登録済みのコンテンツを編集した登録対象のコンテンツに日時を示す時刻情報を付与し、時刻情報が付与された登録対象のコンテンツを、データベースサーバ110に送信し、データベースサーバ110は、アプリケーションサーバ100のそれぞれから日時が付与された登録対象のコンテンツを受信して、データベースに既に登録済みのコンテンツの中で、受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ登録対象のコンテンツ情報よりバージョンが新しい登録済みのコンテンツ情報が存在する場合、登録対象のコンテンツのバージョンと登録済みのコンテンツ情報のバージョンの中で、日時が最も古いコンテンツ情報を最新のバージョンに更新するので、比較的緩い運用においてはバージョンの矛盾をさほど問題になることはなく、コンテンツデータベース120の一貫性保持を実現しつつ、コンテンツデータベース120のコンテンツのバージョン管理を適切かつ効率的に行うことができる。
(実施の形態3)
実施の形態1および2のデータベース管理システムでは、コンテンツデータベースとして階層型データベースまたはリレーショナルデータベース等の一般的なデータベースを使用して、登録要求を受理した日時でバージョン管理を行っていたが、実施の形態3のデータベース管理システムでは、コンテンツデータベースとして階層型データベースを用い、日時の情報を使用せずにバージョン管理を行うものである。
本実施の形態のデータベース管理システムは、複数のアプリケーションサーバ1400と、データベースサーバ1410とを有し、実施の形態1と同様のネットワークとなっている。
データベースサーバ1410は、そのハードディスクドライブ装置(HDD)にコンテンツデーターべース1420を記憶しており、アプリケーションサーバ1400からの要求によってコンテンツデータベース1420を構成するコンテンツをコンテンツデータベース1420に登録すると共に、コンテンツのバージョン管理を行うものである。
アプリケーションサーバ1400は、クライアント端末130からの要求によってコンテンツをコンテンツデータベース1420からの読み出し、読み出したコンテンツの編集を行うとともに、編集したコンテンツのコンテンツデータベース1420への登録要求をデータベースサーバ1410に対して行うものである。このアプリケーションサーバ1400は、本発明における登録処理サーバを構成する。
アプリケーションサーバ1400には、インターネットを介してクライアント端末130が接続されている。アプリケーションサーバ1400は、データベースサーバ1410のコンテンツデータベースへの各種処理のサービスをクライアント端末130に搭載されたWebブラウザ131を介して提供するようになっている。
図14は、アプリケーションサーバ1400の機能的構成を示すブロック図である。図14に示すように、アプリケーションサーバ1400は、編集部201と登録受理部1403とディスパッチ部1402とチェックアウト部204と転送部205と受理キュー206と処理サーバテーブル1401を主に備えている。
チェックアウト部204、編集部201、転送部205については実施の形態1のアプリケーションサーバ1400と同様の機能を有するので説明を省略する。
処理サーバテーブル1401は、登録対象のコンテンツのデータベースサーバ1410に対する登録要求を一括して行うアプリケーションサーバ1400のサーバ名を分類項目(ClassBSU)ごとに定義したデータファイルである。この処理サーバテーブル1401は、コンテンツデータベース1420の分類項目の属性とデータベースサーバ1410に対して登録対象のコンテンツの登録要求を一括して行うアプリケーションサーバ1400のサーバ名とを対応付けたものとなっている。図16は、処理サーバテーブル1401の一例を示す説明図である。図16に示すように、本実施の形態では、分類項目にサーバ名を対応付けてているが、他にIPアドレス等アプリケーションサーバ1400を識別できる情報を使用することができる。
ディスパッチ部1402は、コンテンツデータベース1420に既に登録済みのコンテンツを編集した登録対象のコンテンツを、処理サーバテーブルを参照して、登録対象のコンテンツのClassBSUコードに対応した分類項目に対するアプリケーションサーバ1400に登録対象のコンテンツを送信するものである。
登録受理部1403は、処理サーバテーブル1401によって自サーバが登録要求を行うように指定されている分類項目の登録対象のコンテンツを受理キュー206に格納する処理を行う。この登録対象のコンテンツは他のアプリケーションサーバ1400でクライアント端末130から受信して当該他のアプリケーションサーバから受信する場合と、自サーバ内がクライアント端末130から受信する場合がある。
図15は、データベースサーバ1410の機能的構成を示すブロック図である。図15に示すように、データベースサーバ1410は、受信部301,バージョン更新部1412,登録部303,HDDにコンテンツデータベース1420を備えている。
受信部301は、アプリケーションサーバ100からコンテンツデータベース120への登録対象のコンテンツを受信するものである。
バージョン更新部1412は、受信部301によって受信した登録対象のコンテンツのバージョンまたはコンテンツデータベース1420に既に登録済みのコンテンツのバージ
ョンを更新するものである。具体的なバージョンの更新処理については後述する。
登録受理部202は、バージョン更新部302によってバージョンが更新された登録対象のコンテンツをコンテンツデータベース1420に登録する処理を行う。
本実施の形態におけるコンテンツデータベース1420は、階層型データベースのみを用いることができ、リレーショナルデータベースを使用することはできない。このコンテンツデータベース1420のデータ構造については、電子部品カタログに関する階層型データベースである。
次に、以上のように構成された本実施の形態にかかるデータベース管理システムにおけるコンテンツの受理からコンテンツデータベース1420への登録までの処理について説明する。
ユーザは、クライアント端末130のWebブラウザ131から、コンテンツデータベース1420から所望の分類項目のコンテンツの読み出し要求をアプリケーションサーバ1400に対して行う。アプリケーションサーバ1400は、チェックアウト部204によってクライアント端末130によって指定された分類項目のコンテンツを検索するようデータベースサーバ1410に対して要求する。データベースサーバ1410は、かかるアプリケーションサーバ1400からの検索要求を受けて、指定された分類項目のコンテンツを検索し、この検索されたコンテンツをアプリケーションサーバ1400に送信する。
アプリケーションサーバ1400は、データベースサーバ1410から検索されたコンテンツを受信すると、チェックアウト部204によって、受信したコンテンツをクライアント端末130に送信してWebブラウザ131に表示させる。
ユーザがクライアント端末130でWebブラウザ131に表示されたコンテンツを編集し、アプリケーションサーバ1400に対して編集要求および登録要求を送信する。アプリケーションサーバ1400では、クライアント端末130から編集要求および登録要求を受信すると、編集部201がクライアント端末130で行われた編集内容をチェックアウト部204によって取得したコンテンツに対して行なう。そして、編集部201は、編集されたコンテンツとともに、編集されたコンテンツのデータベース1420への登録要求を登録受理部1403に送信する。登録受理部1403は、編集部201から登録要求と編集されたコンテンツを登録対象のコンテンツとして受理する。
図17は、編集部201によって編集された登録対象のコンテンツのデータベースサーバ110に対して登録要求する処理の手順を示すフローチャートである。
登録受理部1403が登録対象のコンテンツを受理すると、ディスパッチ部1402によって、処理サーバテーブル1401を参照し、登録対象のコンテンツの分類項目に対応したアプリケーションサーバ1400の名称を取得する(ステップS1701)。そして、ディスパッチ部1402によって、取得した名称のアプリケーションサーバ1400が自サーバであるか否かを判断する(ステップS1702)。そして、このステップS1702で自サーバであると判断された場合には(ステップS1702:Yes)、登録受理部1403によって登録対象のコンテンツを受理キュー206に登録する(ステップS1704)。
一方、ステップS1702によって、ステップS1701で処理サーバテーブル1401から取得した名称のアプリケーションサーバ1400が自サーバでないと判断した場合
には、登録対象のコンテンツを、取得した名称のアプリケーションサーバ1400に送信する。そして、ディスパッチ部1402によって、登録受理部1403が受理した登録対象のコンテンツがまだ存在するか否かを調べ(ステップS1705)、受理した全ての登録対象のコンテンツに対して上記ステップS1701からS1704までの処理を繰り返し実行する。
図18は、アプリケーションサーバ1400による登録対象のコンテンツのデータベースサーバ1410に対する登録要求の手順を示すフローチャートである。この処理を行うアプリケーションサーバ1400は、処理サーバテーブル1401で登録要求処理を一括して行うサーバとして分類項目毎に指定されたアプリケーションサーバ1400である。
アプリケーションサーバ1400では、他のアプリケーションサーバ1400から登録対象のコンテンツを登録受理部1403によって受信し、受信した登録対象のコンテンツを受理キュー206に格納する。
また、自サーバがクライアント端末130から受信した登録対象のコンテンツの登録要求の処理を一括して行うサーバである場合には、図17のステップS1704において、登録受理部1403によって登録対象のコンテンツが受理キュー206に登録されている。
このため、まず、転送部205によって、登録対象のコンテンツを受理キュー206の先頭から取得して(ステップS1801)、この取得した登録対象のコンテンツをデータベースサーバ1410に送信する(ステップS1802)。このステップS1801,S1802の受理キューからの登録対象のコンテンツの取得,登録対象のコンテンツのデータベースサーバ1410への送信処理は、受理キュー206に格納されている全ての登録対象のコンテンツに対して行われる(ステップS1803)。このような処理によってデータベースサーバ1410に対するコンテンツの登録要求が行われる。
次に、データベースサーバ1410によるコンテンツデータベース1420に対する登録対象のコンテンツの登録処理について説明する。データベースサーバ110では、受信部301によってアプリケーションサーバ1400から登録対象のコンテンツを受信し、受信した登録対象のコンテンツをバージョン更新部1412に渡す。
図19は、データベースサーバ1410のバージョン更新部1412によるバージョン更新処理の手順を示すフローチャートである。本実施の形態のデータベースサーバ1410は、時間的に先にデータベースサーバ1410に到着した登録対象のコンテンツのバージョンを優先し、後に到着した登録対象のコンテンツのバージョンが新しくなるようにバージョンの更新を行っている。
バージョン更新部302では、受信部301から登録対象のコンテンツを受け取ると、この受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する(ステップS1901)。
そして、登録対象のコンテンツと同一の検索キーを有するコンテンツであって、登録対象のよりバージョンが大きい(新しい)コンテンツをコンテンツデータベース120から検索し、このようなコンテンツに存在するか否か調べる(ステップS1902)。そして、登録対象のコンテンツと同一の検索キーの値を有し、バージョンが大きいコンテンツがコンテンツデータベース120に存在しないと判断した場合には(ステップS1902:No)、登録対象のコンテンツのバージョンを1だけインクリメントして(ステップS1904)、登録部303に渡す(ステップS1905)。そして、登録部303によって
、バージョンが更新されたコンテンツがコンテンツデータベース120に登録される。
一方、ステップS1902において、登録対象のコンテンツと同一の検索キーの値を有し、かつ登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース120に存在すると判断した場合には(ステップS1902:Yes)、登録対象のコンテンツのバージョンを、既に登録済みのコンテンツの最大バージョンより1だけ増加して更新する(ステップS1903)。そして、更新した登録対象のコンテンツを登録部303に渡し(ステップS1904)、登録部303によって、バージョンが更新された登録対象のコンテンツがコンテンツデータベース1420に登録される。以上のような処理で、コンテンツのバージョン更新処理およびコンテンツデータベース1420に対するコンテンツの登録処理が行われる。これによって、コンテンツデータベースには、アプリケーションサーバ1400に対する編集要求およびアプリケーションサーバ1400による受理が後に行われたコンテンツがバージョンが先に編集要求および受理がなされたコンテンツのバージョンより大きい値で更新されて登録されることになる。
次に、このようなアプリケーションサーバ1400およびデータベースサーバ1410によるコンテンツの登録要求からコンテンツデータベース1420への登録処理までを具体例をあげて説明する。以下、図17〜19の各ステップに対応付けて説明する。
図20は、コンテンツデータベース1420からコンテンツを読み出してからアプリケーションサーバ1400aの受理キュー206に格納されるまでの状態を示す説明図である。図20の例では、コンテンツデータベース1420のClassBSUコード「AAA001」のコンテンツに対して一括してデータベースサーバ1410に登録要求するサーバはアプリケーションサーバA1400aであることが処理サーバテーブル1401に定められているものとする(図16参照)。
クライアント端末130a,130bのユーザは、「属性“P1”=“E001”」という検索条件でコンテンツデータベース1420から検索要求を行い、コンテンツデータベース1420からデータベースサーバ1410、アプリケーションサーバ1400a,1400bを介して読み出す。
この時、キー(この例では属性P1)の値が同一であるコンテンツに関しては、システム属性「バージョン」が最新のコンテンツが読み出される。次に、クライアント端末130aのユーザが、P2(キー以外の属性に限る)の値を、“T”から“T’”に修正し、日時「8/8 9:00」の時刻にアプリケーションサーバA1400aに登録要求を送信して、登録対象のコンテンツ2000aのサブミットを行う。このとき、アプリケーションサーバA1400aでは、同時刻に編集部201から登録受理部1403に登録要求が送信されることになる。
一方、クライアント端末130bのユーザは、P2(キー以外の属性に限る)の値を、“T”から“T’’”に修正し、日時「8/8 9:01」にアプリケーションサーバB100bに登録要求を送信して登録対象のコンテンツ2000bのサブミットを行う。このとき、アプリケーションサーバB1400bでは、同時刻に編集部201から登録受理部202に登録要求が送信されることになる。
アプリケーションサーバA1400a、アプリケーションサーバB1400bのそれぞれでは、処理サーバテーブル1401を参照して、ClassBSUが「AAA001」のコンテンツの登録要求を一括して行うサーバを判断する(ステップS1701)。この例では、アプリケーションサーバA1400aであるため、アプリケーションサーバAでは、登録対象のコンテンツ2000aを受理キュー206に登録する(ステップS170
4)。
一方、アプリケーションサーバB1400bは、登録対象のコンテンツ2000bをアプリケーションサーバ1400aに送信する(ステップS1703)。アプリケーションサーバA1400aでは、アプリケーションサーバ1400bから登録対象のコンテンツ2000bを受信して、受信した登録対象のコンテンツ2000bを受理キュー206に登録する。
ここで、アプリケーションサーバA1400aでは、受理キュー206に、登録対象のコンテンツ2000a、登録対象のコンテンツ2000bの順番に登録されたものとする。図20における受理キュー206は、かかる状態を示している。
図21は、登録対象のコンテンツ2000aがデータベースサーバ110に送信され、コンテンツデータベース1420に登録される処理の流れを示す説明図である。
アプリケーションサーバ1400aでは、転送部205によって、任意のタイミングで受理キュー206の先頭から登録対象のコンテンツが読み出されてデータベースサーバ110に送信され、データベースサーバ1410に対してコンテンツデータベース1420への登録要求が行われる。
図21の例では、登録対象のコンテンツ2000aが受理キュー206に先に登録されているため、登録対象のコンテンツ2000aから取得されて(ステップS1801)、データベースサーバ1410に送信されて登録要求が行われることになる(ステップS1802)。
データベースサーバ1410では、登録対象のコンテンツ802を受信部301で受信すると、バージョン更新部1412によって登録対象のコンテンツ2000aのバージョンを取得する(ステップS1901)。図21の例ではバージョン=2である。そして、コンテンツデータベース1420の中に、登録対象のコンテンツ2000aと同一の検索キーの値を有し、かつバージョンが2より大きいコンテンツが存在するか否か調べる(ステップS1902)。図21の例では、このようなコンテンツが無いため(ステップS1902:No)、登録対象のコンテンツ2000aのバージョンを1だけインクリメントし3とする(ステップS1904)。そして、登録対象のコンテンツ2000aを登録部303に渡し、登録部303は、渡されたコンテンツをコンテンツデータベース1420に登録する。図21のコンテンツデータベース1420は、コンテンツ2000aが登録された状態を示している。
図22は、登録対象のコンテンツ2000bをコンテンツデータベース1420に登録する処理の流れを示す説明図である。
アプリケーションサーバ1400aでは、転送部205によって、受理キュー206にまだ格納されている登録対象のコンテンツ2000bを取得して(ステップS1801)、データベースサーバ1410に送信する(ステップS1802)。
データベースサーバ1410では、登録対象のコンテンツ2000bを受信部301で受信すると、バージョン更新部302によって登録対象のコンテンツ2000bのバージョンを取得する(ステップS1901)。図21の例ではバージョン=2である。そして、コンテンツデータベース1420の中に、登録対象のコンテンツ2000bと同一の検索キーの値を有し、かつバージョンが2より大きいコンテンツが存在するか否か調べる(ステップS1902)。図22の例では、アプリケーションサーバ1400aからの登録
要求によって既にコンテンツデータベース1420に登録済みのコンテンツ2000a(バージョン=3)が存在し、このコンテンツのキーの最大バージョンはコンテンツ2000aのバージョンである3である。このため、登録対象のコンテンツ2000bのバージョンを最大バージョン3より1だけ大きい4に更新する(ステップS1903)。そして、登録対象のコンテンツ2000bを登録部303に渡し、登録部303は、渡されたコンテンツ2000bをコンテンツデータベース1420に登録する。図22に示すコンテンツデータベース1420は、バージョンが更新されたコンテンツ2000a,2000bが登録された状態を示している。
このように本実施の形態にかかるデータベース管理システムでは、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンを含むコンテンツ情報が登録された階層型データベースを管理する際に、複数のアプリケーションサーバ1400のそれぞれは、クライアント端末130からの要求によってデータベースに既に登録済みのコンテンツを編集した登録対象のコンテンツを、分類項目とデータベースサーバ1410に対して登録対象のコンテンツ情報の登録要求を一括して行うアプリケーションサーバ1400のサーバ名称とを対応付けた処理サーバテーブル1401とに基づいて、登録対象のコンテンツ情報に含まれる分類項目に対応したアプリケーションサーバ1400に送信し、他のアプリケーションサーバ1400から登録対象のコンテンツを受信した場合に、受信したコンテンツをデータベースサーバ1410に一括して送信し、データベースサーバ1410は、アプリケーションサーバ1400から登録対象のコンテンツを受信し、データベースに既に登録済みのコンテンツの中で、受信した登録対象のコンテンツと分類項目の検索キーが同一であって、かつ登録対象のコンテンツよりバージョンが新しい登録済みのコンテンツが存在するか否かを判断して、このようなコンテンツが存在する場合には、登録対象のコンテンツのバージョンを、登録済みのコンテンツの最新バージョンより1だけ増加して更新しているので、アプリケーションサーバ1400がネットワーク上に分散している場合においても分類項目ごとに一括してデータベースサーバ1410に登録要求することによって登録要求のタイミングにずれが生じすることがなく、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができるという効果を奏する。
(実施の形態4)
実施の形態3にかかるデータベース管理システムでは、時間的に先にデータベースサーバ1410に到着した登録対象のコンテンツを優先し、後に到着したコンテンツのバージョンを新しくするようにバージョンの更新を行うものであったが、この実施の形態4にかかるデータベース管理システムでは、先に到着した登録対象のコンテンツがコンテンツデータベース1420に登録されると、その後の修正を許可せずにコンテンツデータベース1420への登録を行わないものである。
実施の形態4にかかるデータベース管理システムの構成、アプリケーションサーバ1400、データベースサーバ1410およびコンテンツデータベース1420の構成は、実施の形態3と同様であるので説明を省略する。
また、実施の形態4のアプリケーションサーバ1400によるデータベースサーバ1410に対するコンテンツの登録要求の処理については実施の形態3と同様であるので説明を省略する。
次に、本実施の形態にかかるデータベースサーバ1410によるコンテンツの登録処理およびバージョン更新処理について説明する。図23は、データベースサーバ1410のバージョン更新部1412によるバージョン更新処理の手順を示すフローチャートである
。本実施の形態のデータベースサーバ1410は、時間的に先に編集要求がアプリケーションサーバ1400に行われた登録対象のコンテンツのみを登録するバージョンポリシーによって、コンテンツのバージョンを更新する。
まず、データベースサーバ1410は、実施の形態3と同様に、受信部301によってアプリケーションサーバ1400から登録対象のコンテンツを受信する。バージョン更新部1412では、受信部301から登録対象のコンテンツを受け取ると、受け取った登録対象のコンテンツのバージョンを、当該コンテンツ中のバージョンフィールドから取得する(ステップS2301)。
そして、登録対象のコンテンツよりバージョンが大きい(新しい)コンテンツをコンテンツデータベース1420から検索し、このようなコンテンツに存在するか否か調べる(ステップS2302)。そして、登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース120に存在しないと判断した場合には(ステップS2302:No)、登録対象のコンテンツのバージョンを1だけインクリメントして(ステップS2304)、登録部303に渡す(ステップS2305)。そして、登録部303によって、バージョンが更新されたコンテンツがコンテンツデータベース1420に登録される。
一方、ステップS2302において、登録対象のコンテンツよりバージョンが大きいコンテンツがコンテンツデータベース1420に存在すると判断した場合には(ステップS2302:Yes)、登録対象のコンテンツを削除する(ステップS2303)。これによって、登録対象のコンテンツはコンテンツデータベース1420に登録されず、時間的に先に編集要求がアプリケーションサーバ1400に行われた登録対象のコンテンツのみが登録されることになる。
次に、このようなアプリケーションサーバ1400およびデータベースサーバ1410によるコンテンツの登録要求からコンテンツデータベース1420への登録処理までを具体例をあげて説明する。
図24は、アプリケーションサーバ1400a,1400bで受理した登録対象のコンテンツがデータベースサーバ110に送信され、コンテンツデータベース120に登録される処理の流れを示す説明図である。ここで、コンテンツデータベース1420からコンテンツを読み出してからアプリケーションサーバ1400aの受理キュー206に格納されるまでの処理および状態は、図20を参照して説明した実施の形態3と同様である。
すなわち、実施の形態3と同様に、アプリケーションサーバ1400aの受理キューには自サーバで受理した登録対象のコンテンツ2000aとアプリケーションサーバ1400bから受信した登録対象のコンテンツ2000bが順に登録され、登録対象のコンテンツ2000aのデータベースサーバ1410対する登録要求が先に行われて、コンテンツデータベース1420にバージョン3として先に登録されているものとする。図24のコンテンツデータベース1420ではかかる状態を示している。
次に、転送部205による登録対象のコンテンツ2000bのデータベースサーバ1410への送信が行われる。
データベースサーバ1410では、登録対象のコンテンツ2000bを受信部301で受信すると、バージョン更新部1412によって登録対象のコンテンツ2000bのバージョンを取得する(ステップS2301)。図24の例ではバージョン=2である。そして、コンテンツデータベース120の中に、バージョンが2より大きいコンテンツが存在
するか否か調べる(ステップS2302)。図24の例では、既にコンテンツデータベース1420に登録済みのコンテンツ2000a(バージョン=3)が存在する。このため、登録対象のコンテンツ2000bを削除して(ステップS2303)、コンテンツデータベース1420への登録を行わないこととする。図25は、最終的なコンテンツデータベース1420の内容を示す説明図である。図25に示すように、コンテンツデータベース1420には、先にデータベースサーバ1410に登録要求がなされたコンテンツ2000aのみがバージョン3として登録されており、後に登録要求がなされたコンテンツ2000bは登録されていない。
このように本実施の形態にかかるデータベース管理システムでは、コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンを含むコンテンツ情報が登録された階層型データベースを管理する際に、複数のアプリケーションサーバ1400のそれぞれは、クライアント端末130からの要求によってデータベースに既に登録済みのコンテンツを編集した登録対象のコンテンツを、分類項目とデータベースサーバ1410に対して登録対象のコンテンツ情報の登録要求を一括して行うアプリケーションサーバ1400のサーバ名称とを対応付けた処理サーバテーブル1401とに基づいて、登録対象のコンテンツ情報に含まれる分類項目に対応したアプリケーションサーバ1400に送信し、他のアプリケーションサーバ1400から登録対象のコンテンツを受信した場合に、受信したコンテンツをデータベースサーバ1410に一括して送信し、データベースサーバ1410は、アプリケーションサーバ1400から登録対象のコンテンツを受信し、データベースに既に登録済みのコンテンツの中で、受信した登録対象のコンテンツと分類項目の検索キーが同一であって、かつ登録対象のコンテンツよりバージョンが新しい登録済みのコンテンツが存在するか否かを判断して、このようなコンテンツが存在する場合には、登録対象のコンテンツ情報を削除して、後から登録要求されたコンテンツを登録しないこととしているので、アプリケーションサーバ1400がネットワーク上に分散している場合においても分類項目ごとに一括してデータベースサーバ1410に登録要求することによって登録要求のタイミングにずれが生じすることがなく、比較的緩い運用においてデータベースの一貫性保持を実現しつつ、データベースのコンテンツ情報のバージョン管理を適切かつ効率的に行うことができる。
なお、実施の形態3および4のデータベース管理システムにおいては、階層型のコンテンツデータベース1420としてPLIBを使用したが、これに限定されるものではなく、分類項目が階層的に定義されている階層型データベースであればいずれのデータベースを使用することができる。
本発明のデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムは、データベースサーバに対してコンテンツ情報の登録要求を行う登録処理サーバがネットワーク上に複数分散している形態のデータベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラムに適している。
実施の形態1にかかるデータベース管理システムのネットワーク構成を示す説明図である。 アプリケーションサーバ100の機能的構成を示すブロック図である。 データベースサーバ110の機能的構成を示すブロック図である。 コンテンツデータベース120の辞書の構造の一例を示す説明図である。 編集部201によって編集された登録対象のコンテンツのデータベースサーバ110に対して登録要求を行う処理の手順を示すフローチャートである。 データベースサーバ110のバージョン更新部302によるバージョン更新処理の手順を示すフローチャートである。 コンテンツデータベース120からコンテンツを読み出してから編集し、コンテンツデータベース120に登録するまでの流れの中で、クライアント端末130のWebブラウザ131でコンテンツが編集されている状態を示す説明図である。 アプリケーションサーバ100a,100bで受理した登録対象のコンテンツがデータベースサーバ110に送信され、コンテンツデータベース120に登録される処理の流れを示す説明図である。 登録対象のコンテンツ801をコンテンツデータベース120に登録する処理の流れを示す説明図である。 バージョンが更新されたコンテンツ801,802が登録された状態のコンテンツデータベース120を示す説明図である。 データベースサーバ110のバージョン更新部302によるバージョン更新処理の手順を示すフローチャートである。 アプリケーションサーバ100a,100bで受理した登録対象のコンテンツがデータベースサーバ110に送信され、コンテンツデータベース120に登録される処理の流れを示す説明図である。 コンテンツデータベース120にコンテンツ1201が登録された状態を示す説明図である。 実施の形態2にかかるアプリケーションサーバ1400の機能的構成を示すブロック図である。 実施の形態2にかかるデータベースサーバ1410の機能的構成を示すブロック図である。 処理サーバテーブル1401の一例を示す説明図である。 編集部201によって編集された登録対象のコンテンツのデータベースサーバ110に対して登録要求する処理の手順を示すフローチャートである。 アプリケーションサーバ1400による登録対象のコンテンツのデータベースサーバ1410に対する登録要求の手順を示すフローチャートである。 データベースサーバ1410のバージョン更新部1412によるバージョン更新処理の手順を示すフローチャートである。 コンテンツデータベース1420からコンテンツを読み出してからアプリケーションサーバ1400aの受理キュー206に格納されるまでの状態を示す説明図である。 登録対象のコンテンツ2000aがデータベースサーバ110に送信され、コンテンツデータベース1420に登録される処理の流れを示す説明図である。 登録対象のコンテンツ2000bをコンテンツデータベース1420に登録する処理の流れを示す説明図である。 データベースサーバ1410のバージョン更新部1412によるバージョン更新処理の手順を示すフローチャートである。 アプリケーションサーバ1400a,1400bで受理した登録対象のコンテンツがデータベースサーバ110に送信され、コンテンツデータベース120に登録される処理の流れを示す説明図である。 最終的なコンテンツデータベース1420の内容を示す説明図である。
符号の説明
100,100a,100b アプリケーションサーバ
110 データベースサーバ
120 コンテンツデータベース
126 受理キュー
130,130a,130b クライアント端末
131 Webブラウザ
140 インターネット
150 ネットワーク
201 編集部
202 登録受理部
203 時刻情報付加部
204 チェックアウト部
205 転送部
206 受理キュー
301 受信部
302 バージョン更新部
303 登録部
801,802 コンテンツ
1201、1202 コンテンツ
1400,1400a,1400b アプリケーションサーバ
1401 処理サーバテーブル
1402 ディスパッチ部
1403 登録受理部
1410 データベースサーバ
1412 バージョン更新部
1420 コンテンツデータベース
2000a,2000b コンテンツ

Claims (15)

  1. コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、
    前記複数の登録処理サーバのそれぞれは、
    前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手段と、
    前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、
    前記編集手段により編集した前記登録対象のコンテンツ情報に前記編集情報を受信した時点の時刻を示す時刻情報を付与する時刻情報付与手段と、
    前記時刻情報付与手段によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手段と、
    前記データベースサーバは、
    前記コンテンツ情報を登録したデータベースを記憶する記憶手段と、
    前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手段と、
    前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを、前記時刻情報が示す時刻順にバージョンの値が増加するように更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合に、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手段と、
    前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、
    を備えたことを特徴とするデータベース管理システム。
  2. コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、
    前記複数の登録処理サーバのそれぞれは、
    前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手段と、
    前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を、前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、
    前記編集手段により編集した前記登録対象のコンテンツ情報に、前記編集情報を受信した時点の時刻を示す時刻情報を付与する時刻情報付与手段と、
    前記時刻情報付与手段によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手段と、
    前記データベースサーバは、
    前記コンテンツ情報を登録したデータベースを記憶する記憶手段と、
    前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手段と、
    前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合に、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンの中で、前記時刻情報が最も古いコンテンツ情報のバージョンを最新のバージョンに更新するバージョン更新手段と、
    前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、
    を備えたことを特徴とするデータベース管理システム。
  3. 前記バージョン更新手段は、さらに、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンの中で、前記時刻情報が最も古いコンテンツ情報以外のコンテンツ情報を前記データベースから削除することを特徴とする請求項に記載のデータベース管理システム。
  4. 前記バージョン更新手段は、さらに、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新することを特徴とする請求項またはに記載のデータベース管理システム。
  5. 前記複数の登録処理サーバのそれぞれは、
    データの格納順にデータを取得可能な先入れ先出し方式の受理キューと、
    前記時刻情報付与手段によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記受理キューに格納する登録受理手段と、を更に備え、
    前記転送手段は、前記登録対象のコンテンツ情報を前記受理キューの先頭から取得して、取得した前記登録対象のコンテンツ情報を前記データベースサーバに送信することを特徴とする請求項1〜のいずれか一つに記載のデータベース管理システム。
  6. コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報が登録された階層型データベースを管理するデータベースサーバと、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記データベースサーバにネットワークで接続され前記データベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求する複数の登録処理サーバとを有するデータベース管理システムであって、
    前記複数の登録処理サーバのそれぞれは、
    前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報を記憶する処理サーバ情報記憶手段と、
    前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手段と、
    前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手段と、
    前記編集手段によって編集した前記登録対象のコンテンツ情報を、前記処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手段と、
    他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手段と、を備え、
    前記データベースサーバは、
    前記コンテンツ情報を登録した階層型データベースを記憶するデータベース記憶手段と、
    前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信手段と、
    前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報のバージョンを、前記登録済みのコンテンツ情報の最新バージョンより新しいバージョンに更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手段と、
    前記バージョン更新手段によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手段と、
    を備えたことを特徴とするデータベース管理システム。
  7. 前記バージョン更新手段は、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報を削除することを特徴とする請求項に記載のデータベース管理システム。
  8. 前記バージョン更新手段は、さらに、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新することを特徴とする請求項に記載のデータベース管理システム。
  9. 前記複数の登録処理サーバのそれぞれは、
    データの格納順にデータを取得可能な先入れ先出し方式の受理キューと、
    自サーバから前記データベースサーバに送信すべき前記登録対象のコンテンツ情報を、前記受理キューに格納する登録受理手段と、を更に備え、
    前記転送手段は、前記登録対象のコンテンツ情報を前記受理キューの先頭から取得して、取得した前記登録対象のコンテンツ情報を前記データベースサーバに送信することを特徴とする請求項6〜8のいずれか一つに記載のデータベース管理システム。
  10. コンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベースサーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、
    前記複数の登録処理サーバのそれぞれにおいて、
    前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウトステップと、
    前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、
    前記編集ステップにより編集した前記登録対象のコンテンツ情報に前記編集情報を受信した時点の時刻を示す時刻情報を付与する時刻情報付与ステップと、
    前記時刻情報付与ステップによって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送ステップと、
    前記データベースサーバにおいて、
    前記複数の登録処理サーバのそれぞれから前記時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信ステップと、
    前記データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを、前記時刻情報が示す時刻順にバージョンの値が増加するように更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合に、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新ステップと、
    前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、
    を含むことを特徴とするデータベース管理方法。
  11. コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を行う登録処理サーバにおいて、ネットワークで接続されたクライアント端末装置から前記コンテンツ情報の登録要求を受理し、前記登録処理サーバにネットワークで接続され、前記コンテンツ情報を登録した階層型データベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求し、前記データベースサーバにおいて、この登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理方法であって、
    前記複数の登録処理サーバのそれぞれにおいて、
    前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウトステップと、
    前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集ステップと、
    前記編集ステップによって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチステップと、
    他の前記登録処理サーバから前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送ステップと、
    前記データベースサーバにおいて、前記登録処理サーバのそれぞれから前記登録対象のコンテンツ情報を受信する受信ステップと、
    前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信ステップによって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報のバージョンを、前記登録済みのコンテンツ情報の最新バージョンより新しいバージョンに更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新ステップと、
    前記バージョン更新ステップによってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録ステップと、
    を含むことを特徴とするデータベース管理方法。
  12. ネットワークで接続されたクライアント端末装置からコンテンツと該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、
    前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手順と、
    前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、
    前記編集手順により編集した前記登録対象のコンテンツ情報に前記編集情報を受信した時点の時刻を示す時刻情報を付与する時刻情報付与手順と、
    前記時刻情報付与手順によって時刻情報が付与された前記登録対象のコンテンツ情報を、前記データベースサーバに送信する転送手順と、
    をコンピュータに実行させるためのデータベース登録要求プログラム。
  13. コンテンツと該コンテンツのバージョンとを含むコンテンツ情報を登録したデータベースへの前記コンテンツ情報の登録要求を行う登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記データベースに登録するデータベース管理プログラムであって、
    前記登録処理サーバから時刻情報が付与された前記登録対象のコンテンツ情報を受信する受信手順と、
    前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合、前記登録対象のコンテンツ情報のバージョンと前記登録済みのコンテンツ情報のバージョンを、前記時刻情報が示す時刻順にバージョンの値が増加するように更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合に、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手順と、
    前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、
    をコンピュータに実行させるためのデータベース管理プログラム。
  14. ネットワークで接続されたクライアント端末装置からコンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報の登録要求を受理し、ネットワークで接続され、前記コンテンツ情報を登録したデータベースを管理するデータベースサーバに対して受理した前記コンテンツ情報の前記データベースへの登録を要求するデータベース登録要求プログラムであって、
    前記データベースサーバに登録済みのコンテンツ情報の中から最新のバージョンを持つコンテンツを前記データベースサーバから受信し、このコンテンツを用いて前記データベースに既に登録済みのコンテンツ情報を編集するための画面を生成して前記クライアント端末装置へ送信するチェックアウト手順と、
    前記画面から入力された、前記登録済みのコンテンツ情報に対する編集内容を示す編集情報を前記クライアント端末装置から受信し、この受信した編集情報に基づいて前記登録済みのコンテンツ情報を編集して登録対象のコンテンツ情報を生成する編集手順と、
    前記編集手順によって編集した前記登録対象のコンテンツ情報を、前記分類項目と前記データベースサーバに対して前記登録対象のコンテンツ情報の登録要求を一括して行う登録処理サーバの識別情報とを対応付けた処理サーバ情報に基づいて、前記登録対象のコンテンツ情報に含まれる分類項目に対応した前記登録処理サーバに送信するディスパッチ手順と、
    前記登録対象のコンテンツ情報を受信した場合に、受信した前記コンテンツ情報を前記データベースサーバに送信する転送手順と、
    とをコンピュータに実行させるためのデータベース登録要求プログラム。
  15. コンテンツの分類を示す階層構造の分類項目と該分類項目に対応する属性と該属性に対応する属性値と該コンテンツのバージョンとを含むコンテンツ情報を登録した階層型データベースに対する前記コンテンツ情報の登録を要求する登録処理サーバから前記コンテンツ情報の登録の要求を受けて前記コンテンツ情報を前記階層型データベースに登録するデータベース管理プログラムであって、
    前記登録処理サーバから前記登録対象のコンテンツ情報を受信する受信手順と、
    前記階層型データベースに既に登録済みのコンテンツ情報の中で、前記受信手順によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在する場合には、前記登録対象のコンテンツ情報のバージョンを、前記登録済みのコンテンツ情報の最新バージョンより新しいバージョンに更新し、前記データベースに既に登録済みのコンテンツ情報の中で、前記受信手段によって受信した前記登録対象のコンテンツ情報と前記分類項目の検索キーが同一であって、かつ前記登録対象のコンテンツ情報よりバージョンが新しい前記登録済みのコンテンツ情報が存在しない場合には、前記登録対象のコンテンツ情報のバージョンをより新しいバージョンに更新するバージョン更新手順と、
    前記バージョン更新手順によってバージョンが更新された前記登録対象のコンテンツ情報を前記データベースに登録する登録手順と、
    をコンピュータに実行させるためのデータベース管理プログラム。
JP2004024439A 2004-01-30 2004-01-30 データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム Expired - Fee Related JP4189332B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004024439A JP4189332B2 (ja) 2004-01-30 2004-01-30 データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004024439A JP4189332B2 (ja) 2004-01-30 2004-01-30 データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム

Publications (2)

Publication Number Publication Date
JP2005216167A JP2005216167A (ja) 2005-08-11
JP4189332B2 true JP4189332B2 (ja) 2008-12-03

Family

ID=34907122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004024439A Expired - Fee Related JP4189332B2 (ja) 2004-01-30 2004-01-30 データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム

Country Status (1)

Country Link
JP (1) JP4189332B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743026B2 (en) * 2006-01-31 2010-06-22 Microsoft Corporation Redirection to local copies of server-based files
WO2008149552A1 (ja) 2007-06-06 2008-12-11 Athena Telecom Lab, Inc. データベース矛盾解消方式
JP5598089B2 (ja) * 2010-05-28 2014-10-01 富士通株式会社 プログラム、情報処理装置及び情報処理方法
CN105339906B (zh) * 2013-06-12 2018-07-20 日本电气株式会社 控制对永久存储设备的数据写入的方法
US9390154B1 (en) 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US10747753B2 (en) 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
LT3539026T (lt) 2016-11-10 2022-03-25 Swirlds, Inc. Būdai ir aparatas paskirstytajai duomenų bazei, apimančiai anonimines įvestis
AU2017382161B2 (en) 2016-12-19 2022-07-07 Hedera Hashgraph, Llc Methods and apparatus for a distributed database that enables deletion of events
KR102348418B1 (ko) 2017-07-11 2022-01-07 스월즈, 인크. 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
JP6798065B2 (ja) 2017-11-01 2021-02-03 スワールズ,インコーポレイテッド 高速コピー可能データベースを効率的に実装するための方法及び機器
AU2020279389A1 (en) 2019-05-22 2021-10-14 Hedera Hashgraph, Llc Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database

Also Published As

Publication number Publication date
JP2005216167A (ja) 2005-08-11

Similar Documents

Publication Publication Date Title
US8386646B2 (en) Simplified application object data synchronization for optimized data storage
US7606881B2 (en) System and method for synchronization of version annotated objects
US8090693B2 (en) System, method, and article of manufacture for maintaining and accessing a whois database
US7383289B2 (en) Updating and maintaining data in a multi-system network using asynchronous message transfer
US7685152B2 (en) Method and apparatus for loading data from a spreadsheet to a relational database table
US20080059469A1 (en) Replication Token Based Synchronization
US8280917B1 (en) Batching content management operations to facilitate efficient database interactions
JP2009020901A (ja) データベースシステム、データベース検索方法及び記録媒体
JP2011013923A (ja) 属性付きキー・バリュー・ストアによるデータベース・システム
JP4189332B2 (ja) データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム
US7464099B2 (en) Method and system for transferring content from a database to a file
WO2009122527A1 (ja) 装置構成情報管理装置へ情報の更新系処理を行なう仮想統合管理装置
US20060271384A1 (en) Reference data aggregate service population
US7979470B2 (en) Data manipulation process method and system
CN108139927A (zh) 联机事务处理系统中事务的基于动作的路由
US8549007B1 (en) System and method for indexing meta-data in a computer storage system
US9766949B2 (en) System and method for locking exclusive access to a divided resource
US6980998B2 (en) Method and apparatus for merging data graphs using data identity control
US7991741B2 (en) System and method for synchronizing data record with web document in a content management system
US7313603B2 (en) System and method for synchronizing unstructured documents
US20170316045A1 (en) Read-after-write consistency for derived non-relational data
CN111355777A (zh) 一种分布式文件系统的管理方法装置及服务器
CN113032518A (zh) 信息处理装置、存储介质及信息处理方法
US20050160101A1 (en) Method and apparatus using dynamic SQL for item create, retrieve, update delete operations in a content management application
JP2007279839A (ja) リレーショナルデータベースのデータベース管理システムおよびテーブルの関連付け方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080811

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080912

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees