JP2005284477A - データベース共有方法及び共有システム - Google Patents
データベース共有方法及び共有システム Download PDFInfo
- Publication number
- JP2005284477A JP2005284477A JP2004094574A JP2004094574A JP2005284477A JP 2005284477 A JP2005284477 A JP 2005284477A JP 2004094574 A JP2004094574 A JP 2004094574A JP 2004094574 A JP2004094574 A JP 2004094574A JP 2005284477 A JP2005284477 A JP 2005284477A
- Authority
- JP
- Japan
- Prior art keywords
- master
- work
- reservation
- database
- client
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 複数人が同時に処理を行う場合であっても、データアクセスの競合、応答時間の遅延を生じることなく、安定した作業を行うことが可能なデータベース共有方法及び共有システムを提供する。
【解決手段】 作業範囲を指定してマスタDBを参照した際(S1,S2)、作業範囲が予約中であれば、他で使用中の表示を行い(S4)、予約中でなければ予約テーブルに予約する(S5)と共に、指定範囲を作業DBにコピーする(S6)。作業後(S7)、マスタDBの予約テーブルを参照し(S8)、マスタDBに該当範囲が存在する場合には、マスタDBに作業データをコピーする(S13)と共に予約テーブルの予約解除を行う(S14)。
【選択図】 図3
【解決手段】 作業範囲を指定してマスタDBを参照した際(S1,S2)、作業範囲が予約中であれば、他で使用中の表示を行い(S4)、予約中でなければ予約テーブルに予約する(S5)と共に、指定範囲を作業DBにコピーする(S6)。作業後(S7)、マスタDBの予約テーブルを参照し(S8)、マスタDBに該当範囲が存在する場合には、マスタDBに作業データをコピーする(S13)と共に予約テーブルの予約解除を行う(S14)。
【選択図】 図3
Description
本発明は、複数人がデータベースを利用する際の競合、応答時間の遅延等を防止するための技術に関する。
従来より、さまざまなデータベースが利用されており、複数人が利用する場合には、データの整合性が保たれるように排他制御が行われている。例えば、表形式データベースに対して複数の人が同時に作業を行う場合、データベース本体領域とは別にデータ操作領域を設ける。各作業者はデータ操作領域にデータを入力し、入力完了後、データベース本体へデータを移動させる処理が行われている(例えば、特許文献1参照)。
特開2003−228506号公報
しかしながら、上記従来の手法では、新規データの追加登録作業を行う場合には有効だと考えられるが、限られたデータ内容に対して複数の作業者が同時に更新を行う作業に対しては、データの整合性を確認するのが困難であるという問題がある。
上記のような点に鑑み、本発明は、複数人が同時に処理を行う場合であっても、データアクセスの競合、応答時間の遅延を生じることなく、安定した作業を行うことが可能なデータベース共有方法及び共有システムを提供することを課題とする。
上記課題を解決するため、本発明では、サーバコンピュータが管理するマスタデータベース内のマスタデータを複数のクライアントコンピュータで共有する方法として、クライアントコンピュータから作業範囲を指定する段階と、マスタデータベース内の予約テーブルを参照して、前記指定された作業範囲が予約テーブルに存在するかどうかを確認する段階と、前記作業範囲が前記予約テーブルに存在しない場合に、前記指定された作業範囲を前記予約テーブルに書き込む段階と、前記クライアントコンピュータが管理する作業データベースに前記指定された作業範囲をマスターテーブルから複製して書き込む段階と、前記作業データベース内において更新された作業テーブルを利用して前記マスタデータベース内のマスタテーブルの内容を更新する段階を実行するようにしたことを特徴とする。
本発明によれば、複数のクライアントで共有されるマスタデータベース内に、マスタテーブル、予約テーブル、作業テーブルを用意し、クライアントからアクセスがあった際に予約テーブルを確認して、既に予約されている場合にはアクセスを拒否し、予約されていない場合には、予約テーブルを更新して作業テーブルをクライアントにコピーするようにし、クライアントではコピーした作業テーブルを利用して作業結果を更新し、更新した作業テーブルを利用してマスタデータベース内のマスタデータを更新するようにしたので、複数人が同時に処理を行う場合であっても、データアクセスの競合、応答時間の遅延を生じることなく、安定した作業を行うことが可能となるという効果を奏する。
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
(システム構成)
まず、本発明に係るデータベース共有システムについて説明する。図1は、本発明に係るデータベース共有システムの一実施形態を示す構成図である。図1において、10はサーバPC、20はマスタDB、31〜34はクライアントPC、41〜44は作業DBである。サーバPC10は、マスタDB20を管理すると共に、クライアントPC31〜34からの要求に対して処理を行うサーバコンピュータである。サーバPC10には、本発明のデータベース共有方法をクライアントPC31〜34と協働して実行するための専用のソフトウェアが搭載されている。マスタDB20は、全体で共有するマスタデータを記録したデータベースであり、マスタテーブル、予約テーブル、作業テーブルの3つのテーブルでマスタデータを管理している。クライアントPC31〜34は、それぞれ作業DB41〜44を有して作業を行うためのクライアントコンピュータである。クライアントPC31〜34には、本発明のデータベース共有方法をサーバPC10と協働して実行するための専用のソフトウェアが搭載されている。なお、クライアントコンピュータ31〜34はいずれも同様の機能を有しており、作業DB41〜44もいずれも同様の機能を有している。本実施形態では、図1に示したPC環境において、複数人で共同してある作業を進める場合に、処理を行ったかどうかを正確に入力する場合を例にとって説明することとする。
(システム構成)
まず、本発明に係るデータベース共有システムについて説明する。図1は、本発明に係るデータベース共有システムの一実施形態を示す構成図である。図1において、10はサーバPC、20はマスタDB、31〜34はクライアントPC、41〜44は作業DBである。サーバPC10は、マスタDB20を管理すると共に、クライアントPC31〜34からの要求に対して処理を行うサーバコンピュータである。サーバPC10には、本発明のデータベース共有方法をクライアントPC31〜34と協働して実行するための専用のソフトウェアが搭載されている。マスタDB20は、全体で共有するマスタデータを記録したデータベースであり、マスタテーブル、予約テーブル、作業テーブルの3つのテーブルでマスタデータを管理している。クライアントPC31〜34は、それぞれ作業DB41〜44を有して作業を行うためのクライアントコンピュータである。クライアントPC31〜34には、本発明のデータベース共有方法をサーバPC10と協働して実行するための専用のソフトウェアが搭載されている。なお、クライアントコンピュータ31〜34はいずれも同様の機能を有しており、作業DB41〜44もいずれも同様の機能を有している。本実施形態では、図1に示したPC環境において、複数人で共同してある作業を進める場合に、処理を行ったかどうかを正確に入力する場合を例にとって説明することとする。
ここで、各DBが有するテーブルについて説明する。マスタDB20は、上述のように3つのテーブルでマスタデータを管理している。図2にマスタテーブルで管理されているマスタデータの一例を示す。マスタテーブルは、マスタDB20内の全マスタデータを管理するためのテーブルであり、図2の例では、1000レコードが管理されている。図2に示すように、マスタテーブルは、通数連番、検査状況、検査日時、検査回数の項目で各レコードを管理している。「通数連番」は、マスタデータにおける各レコードを1から連続で付与した通し番号である。「検査状況」は、各レコードが検査の検査状況を示すものであり、本実施形態では、未検査、検査済み、エラーの3つの態様で記録される。なお、現実には、例えば、未検査を「0」、検査済みを「1」、エラーを「2」と定義して、「0」「1」「2」のいずれかの値が記録されることになる。「検査日時」は、検査を行った日時を示すものであり、本実施形態では、月・日・時・分の単位まで記録している。「検査回数」は、検査済みになった回数を示すものであり、未検査の場合は0回となるが、その他の場合は、再検査の回数により異なってくる。
(処理動作)
続いて、本発明に係るデータベース共有方法について説明する。図3は、本発明に係るデータベース共有方法の処理概要を示すフローチャートである。図1に示したクライアントPCおよび作業DBは、いずれも同様の機能を有しているので、ここでは、クライアントPC31および作業DB41を利用した場合を例にとって説明する。まず、クライアントPC31からサーバPC10にアクセスして、作業範囲を指定する(ステップS1)。具体的には、作業者がこれから作業を行おうとする通数連番の先頭と最後の番号を指定する。すると、サーバPC10がマスタDB20を参照して(ステップS2)、指定された作業範囲のレコードが予約中であるかどうかを確認する(ステップS3)。具体的には、マスタDB20内の予約テーブルにステップS1において指定された作業範囲に含まれるレコードが、予約テーブルに記録された開始通数連番と終端通数連番に含まれるかどうかを確認する。
続いて、本発明に係るデータベース共有方法について説明する。図3は、本発明に係るデータベース共有方法の処理概要を示すフローチャートである。図1に示したクライアントPCおよび作業DBは、いずれも同様の機能を有しているので、ここでは、クライアントPC31および作業DB41を利用した場合を例にとって説明する。まず、クライアントPC31からサーバPC10にアクセスして、作業範囲を指定する(ステップS1)。具体的には、作業者がこれから作業を行おうとする通数連番の先頭と最後の番号を指定する。すると、サーバPC10がマスタDB20を参照して(ステップS2)、指定された作業範囲のレコードが予約中であるかどうかを確認する(ステップS3)。具体的には、マスタDB20内の予約テーブルにステップS1において指定された作業範囲に含まれるレコードが、予約テーブルに記録された開始通数連番と終端通数連番に含まれるかどうかを確認する。
ここで、予約テーブルについて説明しておく。図4に予約テーブルの一例を示す。予約テーブルは、マスタDB20内のマスタデータについての作業の予約状況を管理するためのテーブルである。図4に示すように、予約テーブルは、開始通数連番、終端通数連番、作業PC名、予約日時、予約状況の項目で各レコードの予約状況を管理している。「開始通数連番」と「終端通数連番」は、それぞれ予約されている作業範囲の先頭のレコード、最後のレコードの通数連番を示している。「作業PC名」は、上記「開始通数連番」と「終端通数連番」の範囲のレコードの作業予約をしているクライアントPCの名前を示すものである。「予約日時」は、上記予約した作業範囲のレコードに対して作業を開始する日時を示している。「予約状況」は、予約の状況を示すものである。なお、予約テーブルにおいて、「開始通数連番」と「終端通数連番」とは手入力されたものであるが、「作業PC名」、「予約日時」、「予約状況」は処理に応じて自動的に記録される。例えば、「作業PC名」については、サーバPC10がアクセス中のクライアントPCを認識しているので、そのクライアントPCの名前を記録する。また、「予約日時」については、予約処理を行う時点のサーバPC10のシステム時間を記録する。「予約状況」については、予約処理を行う時点に、デフォルトで「予約中」と記録する。
上記のような予約テーブルを確認した結果、指定された作業範囲が予約中である場合には、サーバPC10は、他のクライアントPCで処理中である旨のコメントを、クライアントPC31に表示させた(ステップS4)後、作業範囲の再指定を促す。一方、指定された作業範囲が予約中でない場合には、サーバPC10が、マスタDB20内の予約テーブルに予約を行う(ステップS5)。具体的には、ステップS1で指定された作業範囲の先頭の連数通番と、最後の連数通番を、「開始通数連番」、「終端通数連番」として記録し、クライアントPC31の名前を「作業PC名」として記録し、処理時のサーバPC10のシステム時間を「予約日時」として記録し、「予約状況」を予約中と設定する。すなわち、ステップS5において、図4に示したような予約テーブルが作成されることになる。ステップS5の処理に続いて、指定された作業範囲を作業DB41にコピーする(ステップS6)。コピーされた作業範囲のレコードは作業テーブルにより管理されることになる。作業テーブルとは、マスタテーブルから作業範囲についてのレコードを抽出したものであり、形式としてはマスタテーブルと同じである。予約テーブルへの予約が行われたら、作業DB41にコピーされた作業テーブルを利用して、作業を行うことになる(ステップS7)。作業は、検査対象物に印刷されているバーコードを読み込ませることにより行う。このバーコードには通数連番も記録されているため、読み込んだバーコードに記録されていた通数連番の「検査状況」「検査日時」「検査回数」の項目を更新する。「検査状況」については、正しく読み取れれば、検査済みと記録し、正しく読み取れなければエラーと記録する。「検査日時」については、バーコードによる読取時のクライアントPCのシステム時間を記録する。「検査回数」については、既に記録されている回数に1回分加算する処理を行う。このようにして、作業結果は、作業と並行して作業DB41内の作業テーブルに記録されていく。
作業が終了したら、マスタDB20の内容を更新するため、クライアントPC31からサーバPC10を経由してマスタDB20を参照する(ステップS8)。具体的には、マスタDB20内の予約テーブルの参照要求をサーバPC10に対して行うことになる。すると、サーバーPC10は、予約テーブルの参照要求を行っているクライアントPCが予約テーブルに記録されている作業PCであるかどうかを確認する(ステップS9)。具体的には、参照要求のあるクライアントPCの名前と、予約テーブルに記録されている作業PCの名前が同一であるかどうかを照合する。同一でない場合は、更新の受け付けを禁止する(ステップS10)。一方、ステップS9において両者が同一である場合には、マスタDB20に該当範囲が存在するかどうかを判断する(ステップS11)。具体的には、マスタテーブルを参照し、更新内容であるクライアントPCからの作業テーブルに含まれる全通数連番が、マスタテーブルに存在するかどうかを判断する。判断の結果、該当範囲が存在しない場合は、再度処理し直すべきである旨をクライアントPC31に表示させる(ステップS12)。一方、マスタDB20に該当範囲が存在した場合には、マスタDB20に作業テーブルの内容をコピーする。すなわち、作業テーブルの内容を反映させることにより、マスタテーブルの内容を更新することになる(ステップS13)。マスタテーブルが更新されたら、サーバPC10は、予約テーブルの予約解除を行う(ステップS14)。具体的には、予約テーブルの「予約状況」の項目の内容を検査済みと設定する。さらに、作業テーブルをマスタDB20から削除する処理を行う。
10・・・サーバPC(コンピュータ)
20・・・マスタDB(データベース)
31〜34・・・クライアントPC(コンピュータ)
41〜44・・・作業DB(データベース)
20・・・マスタDB(データベース)
31〜34・・・クライアントPC(コンピュータ)
41〜44・・・作業DB(データベース)
Claims (2)
- サーバコンピュータが管理するマスタデータベース内のマスタデータを複数のクライアントコンピュータで共有する方法であって、
クライアントコンピュータから作業範囲を指定する段階と、
マスタデータベース内の予約テーブルを参照して、前記指定された作業範囲が予約テーブルに存在するかどうかを確認する段階と、
前記作業範囲が前記予約テーブルに存在しない場合に、前記指定された作業範囲を前記予約テーブルに書き込む段階と、
前記クライアントコンピュータが管理する作業データベースに前記指定された作業範囲をマスターテーブルから複製して書き込む段階と、
前記作業データベース内において更新された作業テーブルを利用して前記マスタデータベース内のマスタテーブルの内容を更新する段階と、
を有することを特徴とするデータベース共有方法。 - マスタデータが記録されたマスタデータベースを管理するサーバコンピュータと、当該サーバコンピュータを経由してマスタデータベースにアクセス可能な複数のクライアントコンピュータで構成されるシステムであって、
前記マスタデータベースは前記マスタデータを、マスタデータ全体を管理するマスタテーブルと、予約状況を管理する予約テーブルを利用して管理するものであり、
前記サーバコンピュータは、前記クライアントコンピュータからの指定作業範囲に基づいて予約テーブルを参照することにより排他制御を行う機能と、前記指定作業範囲が前記予約テーブルに存在しない場合に新たな予約テーブルを作成する機能と、アクセスのあったクライアントコンピュータに前記作業テーブルを作成する機能と、前記クライアントコンピュータから送信されてきた作業テーブルに基づいてマスタテーブルの内容を更新する機能と、
を有することを特徴とするデータベース共有システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004094574A JP2005284477A (ja) | 2004-03-29 | 2004-03-29 | データベース共有方法及び共有システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004094574A JP2005284477A (ja) | 2004-03-29 | 2004-03-29 | データベース共有方法及び共有システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005284477A true JP2005284477A (ja) | 2005-10-13 |
Family
ID=35182816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004094574A Withdrawn JP2005284477A (ja) | 2004-03-29 | 2004-03-29 | データベース共有方法及び共有システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005284477A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008198153A (ja) * | 2007-02-16 | 2008-08-28 | Nomura Research Institute Ltd | オンライン処理を継続させながらバッチ処理を行う連続運用システム |
-
2004
- 2004-03-29 JP JP2004094574A patent/JP2005284477A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008198153A (ja) * | 2007-02-16 | 2008-08-28 | Nomura Research Institute Ltd | オンライン処理を継続させながらバッチ処理を行う連続運用システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3779263B2 (ja) | 共同作業システムのためのコンフリクトの解決 | |
KR101608099B1 (ko) | 문서의 동시적인 협업적 검토 | |
JP4758150B2 (ja) | 外部メタデータの処理 | |
JP4573277B2 (ja) | データベース矛盾解消方式 | |
US7756814B2 (en) | Methods and systems for controlling access to a data object | |
US10659522B2 (en) | Sharing application local environment | |
US8019813B2 (en) | Synchronizing self-referencing fields during two-way synchronization | |
US7505993B2 (en) | Database schema for content managed data | |
US7464091B2 (en) | Method and software for processing data objects in business applications | |
CN110555317A (zh) | 一种应用文件更改处理方法、装置及系统 | |
US7225302B2 (en) | Method and software application for avoiding data loss | |
US7409412B2 (en) | Data element and structure for data processing | |
JPH0468470A (ja) | Cadシステム | |
US20080046676A1 (en) | Efficient synchronised updates to a data record in a data store | |
JP5029118B2 (ja) | ソフトウェア開発支援システム、開発支援方法および開発支援プログラム | |
JP2005284477A (ja) | データベース共有方法及び共有システム | |
JP5057481B2 (ja) | ワークフローシステム、制御方法、およびプログラム | |
JP2007264814A (ja) | レプリケーションデータ作成プログラム、レプリケーションデータ反映プログラムおよびデータベース装置 | |
JP2018085042A (ja) | データベース管理装置、情報処理システム、データベース管理方法及びデータベース管理プログラム | |
JP2011044181A (ja) | データベースのデータ項目の平行編集方式 | |
JP4189374B2 (ja) | 処理システム | |
JP2009301190A (ja) | 文書処理装置及び文書処理プログラム | |
JP4855538B2 (ja) | データベースのデータ項目の平行編集方式 | |
JP4413810B2 (ja) | 製品構成管理プログラム、製品構成管理方法および製品構成管理装置 | |
JPH10269302A (ja) | ワークフロー制御システム及びワークフロー制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070605 |