JP2005078503A - マスタデータ反映手段を備えるクライアント/サーバシステムならびにマスタデータ反映方法およびプログラム - Google Patents
マスタデータ反映手段を備えるクライアント/サーバシステムならびにマスタデータ反映方法およびプログラム Download PDFInfo
- Publication number
- JP2005078503A JP2005078503A JP2003310232A JP2003310232A JP2005078503A JP 2005078503 A JP2005078503 A JP 2005078503A JP 2003310232 A JP2003310232 A JP 2003310232A JP 2003310232 A JP2003310232 A JP 2003310232A JP 2005078503 A JP2005078503 A JP 2005078503A
- Authority
- JP
- Japan
- Prior art keywords
- master
- client
- server
- storage unit
- update
- 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 Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】クライアント/サーバ間の通信量を低く保ちながら、サーバコンピュータのマスタファイルとクライアントコンピュータのマスタファイルのコピーファイル内容を、必要な時点で一致させる。
【解決手段】サーバコンピュータに、サーバマスタ記憶部と取引データ記憶部とを、クライアントコンピュータに、サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部とを備える。サーバコンピュータは、クライアントコンピュータから取引データを受信したときに、サーバマスタ記憶部とクライアントマスタ記憶部の内容を比較し、一致していれば取引データを取引データ記憶部に登録し、一致していなければ、サーバマスタ記憶部とクライアントマスタ記憶部との内容の差分を抽出し、抽出された差分をクライアントコンピュータに送信し、クライアントコンピュータは、受信した差分に基づきクライアントマスタ記憶部を更新する。
【選択図】 図1
【解決手段】サーバコンピュータに、サーバマスタ記憶部と取引データ記憶部とを、クライアントコンピュータに、サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部とを備える。サーバコンピュータは、クライアントコンピュータから取引データを受信したときに、サーバマスタ記憶部とクライアントマスタ記憶部の内容を比較し、一致していれば取引データを取引データ記憶部に登録し、一致していなければ、サーバマスタ記憶部とクライアントマスタ記憶部との内容の差分を抽出し、抽出された差分をクライアントコンピュータに送信し、クライアントコンピュータは、受信した差分に基づきクライアントマスタ記憶部を更新する。
【選択図】 図1
Description
本発明は、サーバコンピュータにマスタファイルを備え、全てのクライアントコンピュータにそのコピーであるコピーファイルを備え、サーバコンピュータ上のマスタファイルが更新された後、クライアントコンピュータ上のコピーファイルをサーバコンピュータ上のマスタファイルに一致させる機能を有するクライアント/サーバシステム並びにクライアント/サーバシステムにおけるマスタデータ反映方法およびマスタデータ反映用プログラムに関するものである。
全てのクライアントコンピュータ上のコピーファイルをサーバコンピュータのマスタファイルと一致させる機能を有するクライアント/サーバシステムでは、マスタファイルの更新が行われた場合、これと同じ更新をコピーファイルに対して行う必要がある。このようなとき従来は、サーバコンピュータにおいて取得されたマスタファイル更新履歴情報に基づいて定期的に更新の有無を確認し、更新されていれば、コピーファイルの更新を行う方法(例えば、特許文献1)がとられていた。具体的には、日次処理と呼ばれる、毎日定期的に実行される処理の一部として行われていた等である。この特許文献1のような方法では、マスタファイルの更新が行われて以降、定期的な更新処理がなされるまでの一定期間は、クライアント/サーバコンピュータ間ではファイルの内容が一致していないという問題点があった。したがって、この方法は、ある処理過程のある時点において、両ファイルが一致していることが必須とされるシステムには採用できないことになる。この問題点を回避する為、クライアントコンピュータでコピーファイルの参照の必要が発生したとき、参照の直前に、マスタファイルの更新の有無を確認し、更新が有れば、コピーファイルを更新する方法(例えば、特許文献2)がとられていた。
しかしながら、特許文献2の方法は、クライアント/サーバコンピュータ間で参照データの一致が保証される反面、クライアントコンピュータがコピーファイルの参照更新のつど、常にサーバコンピュータに更新状況を問い合わせるため、恒常的にクライアント/サーバコンピュータ間で通信が多発し、システムの処理効率を下げるという問題があった。
一方、ファイルの内容に基づいてある種のデータを作成し登録するような業務システムでは、i)クライアントコンピュータにおけるデータの作成過程でコピーファイルを何度も参照するが、サーバコンピュータのマスタファイルとの一致は、当該データが完成してサーバコンピュータに登録するときに保証されていれば良い、ii)ファイルの更新頻度は低く、データの登録時に前記両ファイルの不一致が検出される確率は低い、という二つの特性を持つ場合がある。例えば、商品マスタファイルの内容に基づいて、クライアントコンピュータにて販売データを作成し、サーバコンピュータに登録するシステムのような場合である。このようなシステムの場合、当該データ作成過程においては、ファイル内容は一致しているものと仮定してコピーファイルを何回か参照しながら処理を行い、当該データ完成後の登録時点で事後的に一致確認を行うようにすれば、両ファイル一致確認の為の通信量を大幅に削減できる。
本発明は、かかる考え方を取り入れることにより、上記i)、ii)の特性を持つシステムにおいて、クライアント/サーバコンピュータ間の通信量を低く保ちながら、サーバコンピュータのマスタファイルとクライアントコンピュータのコピーファイルの内容の一致が必要な時点で、その一致保証するクライアント/サーバシステム並びにクライアント/サーバシステムにおけるマスタデータ反映方法およびマスタデータ反映用プログラムを提供しようとするものである。
一方、ファイルの内容に基づいてある種のデータを作成し登録するような業務システムでは、i)クライアントコンピュータにおけるデータの作成過程でコピーファイルを何度も参照するが、サーバコンピュータのマスタファイルとの一致は、当該データが完成してサーバコンピュータに登録するときに保証されていれば良い、ii)ファイルの更新頻度は低く、データの登録時に前記両ファイルの不一致が検出される確率は低い、という二つの特性を持つ場合がある。例えば、商品マスタファイルの内容に基づいて、クライアントコンピュータにて販売データを作成し、サーバコンピュータに登録するシステムのような場合である。このようなシステムの場合、当該データ作成過程においては、ファイル内容は一致しているものと仮定してコピーファイルを何回か参照しながら処理を行い、当該データ完成後の登録時点で事後的に一致確認を行うようにすれば、両ファイル一致確認の為の通信量を大幅に削減できる。
本発明は、かかる考え方を取り入れることにより、上記i)、ii)の特性を持つシステムにおいて、クライアント/サーバコンピュータ間の通信量を低く保ちながら、サーバコンピュータのマスタファイルとクライアントコンピュータのコピーファイルの内容の一致が必要な時点で、その一致保証するクライアント/サーバシステム並びにクライアント/サーバシステムにおけるマスタデータ反映方法およびマスタデータ反映用プログラムを提供しようとするものである。
本発明の第一のクライアント/サーバシステムは、少なくとも一台のクライアントコンピュータと一台のサーバコンピュータとからなるクライアント/サーバシステムであって、前記サーバコンピュータは、サーバマスタ記憶部と、取引データを格納する取引データ記憶部とを備え、前記少なくとも一台のクライアントコンピュータのそれぞれは、前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部と、利用者から入力された取引データを、前記サーバコンピュータに送信するクライアントサイド・取引データ登録部とを備え、前記サーバコンピュータは、前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録部と、前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新部とを備え、前記クライアントコンピュータは、前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するクライアントサイド・クライアントマスタ更新部を備えている。
本発明の第2のクライアント/サーバシステムは、上記第1のクライアント/サーバシステムにおいて、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台は、利用者から入力された前記サーバマスタ記憶部に対する更新情報を前記サーバコンピュータに送信するクライアントサイド・サーバマスタ更新部を備え、前記サーバコンピュータは、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新するサーバサイド・サーバマスタ更新部を備えている。
本発明の第3のクライアント/サーバシステムは、上記第1のクライアント/サーバシステムにおいて、前記サーバコンピュータは、前記サーバマスタ記憶部の情報が変更されるたびに更新履歴として、一件の更新履歴レコードを格納するマスタ更新履歴記憶部を備え、前記少なくとも一台のクライアントコンピュータのそれぞれは、前記クライアントマスタ記憶部の更新が完了した前記更新履歴レコードの数を格納するクライアントマスタ更新件数記憶部を備え、前記サーバサイド・取引データ登録部は、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の比較により前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、前記サーバサイド・クライアントマスタ更新部は、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の差分に基づき前記マスタ更新履歴記憶部から更新履歴レコードを抽出することにより前記クライアントマスタ更新用差分を抽出し、前記クライアントサイド・サーバマスタ更新部は前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するとともに、前記マスタ更新履歴記憶部の前記更新履歴レコードの数を前記クライアントマスタ更新件数記憶部に記憶することを特徴とする。
本発明の第4のクライアント/サーバシステムは、上記第3のクライアント/サーバシステムにおいて、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台には、利用者から入力された前記サーバマスタ記憶部にたいする前記更新情報を前記サーバコンピュータに送信する前記クライアントサイド・サーバマスタ更新部を備え、前記サーバコンピュータには、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新し、該更新の更新履歴を前記更新履歴レコードとして前記マスタ更新履歴記憶部に格納する前記サーバサイド・サーバマスタ更新部を備えている。
本発明の第5のクライアント/サーバシステムは、上記第3または大4のクライアント/サーバシステムにおいて、前記サーバマスタ記憶部には、識別子と該識別子に関連するデータからなるマスタレコードを格納し、前記マスタ更新履歴記憶部には、更新された前記マスタレコード対応に該マスタレコードの前記識別子を含む前記更新履歴レコードを格納し、前記取引データには少なくとも一つの前記マスタレコードの前記識別子を含み、前記サーバサイド・クライアントマスタ更新部は、前記クライアントマスタ更新用差分の各更新履歴レコードに含まれる前記識別子と前記取引データに含まれる前記識別子とで一致するものがない場合には、前記取引データを前記取引データ記憶部に格納することを特徴とする。
本発明の第1のクライアント/サーバシステムにおけるマスタデータ反映方法は、サーバマスタ記憶部と、取引データを格納する取引データ記憶部とを備える一台のサーバコンピュータと、前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部を備える、少なくとも一台のクライアントコンピュータとからなるクライアント/サーバシステムにおいて、前記クライアントコンピュータが、利用者から入力された取引データを前記サーバコンピュータに送信するクライアントサイド・取引データ登録ステップと、前記サーバコンピュータが、前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録ステップと、前記サーバコンピュータが、前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新ステップと、前記クライアントコンピュータが、前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するクライアントサイド・クライアントマスタ更新ステップとを含んでいる。
本発明の第2のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第1のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台が、利用者から入力された前記サーバマスタ記憶部に対する更新情報を前記サーバコンピュータに送信するクライアントサイド・サーバマスタ更新ステップと、前記サーバコンピュータが、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新するサーバサイド・サーバマスタ更新ステップとを含んでいる。
本発明の第3のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第1のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記サーバコンピュータには、前記サーバマスタ記憶部の情報が変更されるたびに更新履歴として、一件の更新履歴レコードを格納するマスタ更新履歴記憶部を備え、前記少なくとも一台のクライアントコンピュータのそれぞれは、前記クライアントマスタ記憶部の更新が完了した前記更新履歴レコードの数を格納するクライアントマスタ更新件数記憶部を備える前記クライアント/サーバシステムにおいて、前記サーバサイド・取引データ登録ステップでは、前記サーバコンピュータが、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の比較により前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、前記サーバサイド・クライアントマスタ更新ステップでは、前記クライアントコンピュータが、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の差分に基づき前記マスタ更新履歴記憶部から更新履歴レコードを抽出することにより前記クライアントマスタ更新用差分を抽出し、前記クライアントサイド・サーバマスタ更新ステップでは、前記クライアントコンピュータが、前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するとともに、前記マスタ更新履歴記憶部の前記更新履歴レコードの数を前記クライアントマスタ更新件数記憶部に記憶することを特徴とする。
本発明の第4のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第3のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台が、利用者から入力された前記サーバマスタ記憶部にたいする前記更新情報を前記サーバコンピュータに送信する前記クライアントサイド・サーバマスタ更新ステップと、前記サーバコンピュータが、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新し、該更新の更新履歴を前記更新履歴レコードとして前記マスタ更新履歴記憶部に格納する前記サーバサイド・サーバマスタ更新ステップとを含んでいる。
本発明の第5のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第3または第4のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記サーバマスタ記憶部には、識別子と該識別子に関連するデータからなるマスタレコードを格納し、前記マスタ更新履歴記憶部には、更新された前記マスタレコード対応に該マスタレコードの前記識別子を含む前記更新履歴レコードを格納し、前記取引データには少なくとも一つの前記マスタレコードの前記識別子を含む前記クライアント/サーバシステムにおいて、前記サーバサイド・クライアントマスタ更新ステップでは、前記サーバコンピュータが、前記クライアントマスタ更新用差分の各更新履歴レコードに含まれる前記識別子と前記取引データに含まれる前記識別子とで一致するものがない場合には、前記取引データを前記取引データ記憶部に格納することを特徴とする。
本発明の第1のプログラムは、サーバマスタ記憶部と取引データを格納する取引データ記憶部とを備え、前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部を備える少なくとも一台のクライアントコンピュータと通信可能な一台のサーバコンピュータに、前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録手順と、前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新手順とを実行させる。
本発明の第2のクライアント/サーバシステムは、上記第1のクライアント/サーバシステムにおいて、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台は、利用者から入力された前記サーバマスタ記憶部に対する更新情報を前記サーバコンピュータに送信するクライアントサイド・サーバマスタ更新部を備え、前記サーバコンピュータは、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新するサーバサイド・サーバマスタ更新部を備えている。
本発明の第3のクライアント/サーバシステムは、上記第1のクライアント/サーバシステムにおいて、前記サーバコンピュータは、前記サーバマスタ記憶部の情報が変更されるたびに更新履歴として、一件の更新履歴レコードを格納するマスタ更新履歴記憶部を備え、前記少なくとも一台のクライアントコンピュータのそれぞれは、前記クライアントマスタ記憶部の更新が完了した前記更新履歴レコードの数を格納するクライアントマスタ更新件数記憶部を備え、前記サーバサイド・取引データ登録部は、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の比較により前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、前記サーバサイド・クライアントマスタ更新部は、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の差分に基づき前記マスタ更新履歴記憶部から更新履歴レコードを抽出することにより前記クライアントマスタ更新用差分を抽出し、前記クライアントサイド・サーバマスタ更新部は前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するとともに、前記マスタ更新履歴記憶部の前記更新履歴レコードの数を前記クライアントマスタ更新件数記憶部に記憶することを特徴とする。
本発明の第4のクライアント/サーバシステムは、上記第3のクライアント/サーバシステムにおいて、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台には、利用者から入力された前記サーバマスタ記憶部にたいする前記更新情報を前記サーバコンピュータに送信する前記クライアントサイド・サーバマスタ更新部を備え、前記サーバコンピュータには、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新し、該更新の更新履歴を前記更新履歴レコードとして前記マスタ更新履歴記憶部に格納する前記サーバサイド・サーバマスタ更新部を備えている。
本発明の第5のクライアント/サーバシステムは、上記第3または大4のクライアント/サーバシステムにおいて、前記サーバマスタ記憶部には、識別子と該識別子に関連するデータからなるマスタレコードを格納し、前記マスタ更新履歴記憶部には、更新された前記マスタレコード対応に該マスタレコードの前記識別子を含む前記更新履歴レコードを格納し、前記取引データには少なくとも一つの前記マスタレコードの前記識別子を含み、前記サーバサイド・クライアントマスタ更新部は、前記クライアントマスタ更新用差分の各更新履歴レコードに含まれる前記識別子と前記取引データに含まれる前記識別子とで一致するものがない場合には、前記取引データを前記取引データ記憶部に格納することを特徴とする。
本発明の第1のクライアント/サーバシステムにおけるマスタデータ反映方法は、サーバマスタ記憶部と、取引データを格納する取引データ記憶部とを備える一台のサーバコンピュータと、前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部を備える、少なくとも一台のクライアントコンピュータとからなるクライアント/サーバシステムにおいて、前記クライアントコンピュータが、利用者から入力された取引データを前記サーバコンピュータに送信するクライアントサイド・取引データ登録ステップと、前記サーバコンピュータが、前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録ステップと、前記サーバコンピュータが、前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新ステップと、前記クライアントコンピュータが、前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するクライアントサイド・クライアントマスタ更新ステップとを含んでいる。
本発明の第2のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第1のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台が、利用者から入力された前記サーバマスタ記憶部に対する更新情報を前記サーバコンピュータに送信するクライアントサイド・サーバマスタ更新ステップと、前記サーバコンピュータが、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新するサーバサイド・サーバマスタ更新ステップとを含んでいる。
本発明の第3のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第1のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記サーバコンピュータには、前記サーバマスタ記憶部の情報が変更されるたびに更新履歴として、一件の更新履歴レコードを格納するマスタ更新履歴記憶部を備え、前記少なくとも一台のクライアントコンピュータのそれぞれは、前記クライアントマスタ記憶部の更新が完了した前記更新履歴レコードの数を格納するクライアントマスタ更新件数記憶部を備える前記クライアント/サーバシステムにおいて、前記サーバサイド・取引データ登録ステップでは、前記サーバコンピュータが、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の比較により前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、前記サーバサイド・クライアントマスタ更新ステップでは、前記クライアントコンピュータが、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の差分に基づき前記マスタ更新履歴記憶部から更新履歴レコードを抽出することにより前記クライアントマスタ更新用差分を抽出し、前記クライアントサイド・サーバマスタ更新ステップでは、前記クライアントコンピュータが、前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するとともに、前記マスタ更新履歴記憶部の前記更新履歴レコードの数を前記クライアントマスタ更新件数記憶部に記憶することを特徴とする。
本発明の第4のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第3のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記少なくとも一台のクライアントコンピュータのうち少なくとも一台が、利用者から入力された前記サーバマスタ記憶部にたいする前記更新情報を前記サーバコンピュータに送信する前記クライアントサイド・サーバマスタ更新ステップと、前記サーバコンピュータが、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新し、該更新の更新履歴を前記更新履歴レコードとして前記マスタ更新履歴記憶部に格納する前記サーバサイド・サーバマスタ更新ステップとを含んでいる。
本発明の第5のクライアント/サーバシステムにおけるマスタデータ反映方法は、前記第3または第4のクライアント/サーバシステムにおけるマスタデータ反映方法において、前記サーバマスタ記憶部には、識別子と該識別子に関連するデータからなるマスタレコードを格納し、前記マスタ更新履歴記憶部には、更新された前記マスタレコード対応に該マスタレコードの前記識別子を含む前記更新履歴レコードを格納し、前記取引データには少なくとも一つの前記マスタレコードの前記識別子を含む前記クライアント/サーバシステムにおいて、前記サーバサイド・クライアントマスタ更新ステップでは、前記サーバコンピュータが、前記クライアントマスタ更新用差分の各更新履歴レコードに含まれる前記識別子と前記取引データに含まれる前記識別子とで一致するものがない場合には、前記取引データを前記取引データ記憶部に格納することを特徴とする。
本発明の第1のプログラムは、サーバマスタ記憶部と取引データを格納する取引データ記憶部とを備え、前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部を備える少なくとも一台のクライアントコンピュータと通信可能な一台のサーバコンピュータに、前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録手順と、前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新手順とを実行させる。
以上説明したように、本発明には、i)クライアントコンピュータにおけるデータの作成過程でクライアントマスタ記憶部を何度も参照するが、クライアントマスタ記憶部との一致は、当該データが完成してサーバコンピュータに登録するときに保証されていれば良く、かつ、ii)ファイルの更新頻度は低く、データの登録時に前記両ファイルの不一致が検出される確率は低い、という二つの特性を持つシステムにおいて、クライアント/サーバコンピュータ間の通信量を低く保ちながら、サーバコンピュータのマスタファイルとクライアントコンピュータのコピーファイルの内容の一致が必要な時点で、その一致保証することができるという効果がある。
図1を参照すると、本発明の最良の実施の形態は、少なくとも一台のクライアントコンピュータ200と1台のサーバコンピュータ100とが通信回線を解して接続されたクライアント/サーバシステムである。
図2を参照すると、本発明のクライアント/サーバシステムの実施形態では、図1のサーバコンピュータ100は、そのハードディスク等の記憶媒体(図示せず)内に、商品コードや商品名等、各クライアントコンピュータ200が参照する情報(マスタデータ)を格納したサーバマスタ記憶部101、サーバマスタ記憶部101の情報の更新履歴を格納したマスタ更新履歴記憶部102、サーバマスタ記憶部101の更新件数を記録するサーバマスタ更新件数記憶部103、サーバマスタ記憶部101に格納された商品についての受注情報等の取引データを格納する取引データ記憶部104を備えている。
図2のクライアントコンピュータ200は、図1の各クライアントコンピュータ200の一台を示すが、そのハードディスク等の記憶装置(図示せず)内に、サーバマスタ記憶部101のコピーであるクライアントマスタ記憶部201および、クライアントマスタ記憶部201の更新件数を記録するクライアントマスタ更新件数記憶部202を備える。さらにクライアントコンピュータ200は、その利用者にマンマシンインターフェースを与えるディスプレイ/キーボード/マウス等からなる入出力装置も備えている。
なお、サーバマスタ更新件数記憶部103とクライアントマスタ更新件数記憶部202には、初期値としてゼロが設定されている。
サーバコンピュータ100には、クライアントコンピュータ200からの依頼に基づいてサーバマスタ記憶部101の更新等を行うサーバサイド・サーバマスタ更新部111、クライアントコンピュータ200からの依頼に従い取引データ記憶部104に取引データの登録等をするサーバサイド・取引データ登録部113およびサーバサイド・取引データ登録部113がサーバマスタ記憶部101とクライアントマスタ記憶部201の不一致を後述の方法で検出したときにクライアントコンピュータ200にクライアントマスタ記憶部201の更新を依頼等するサーバサイド・クライアントマスタ更新部112を備える。
クライアントコンピュータ200には、利用者が入力した入出力装置からの情報に基づきサーバコンピュータ100にサーバマスタ記憶部101の更新を依頼等するクライアントサイド・サーバマスタ更新部211、サーバコンピュータ100の依頼に基づきクライアントマスタ記憶部201の更新等を行うクライアントサイド・クライアントマスタ更新部212、および利用者が入出力装置から入力した取引データを取引データ記憶部104に登録することを、サーバコンピュータ100に依頼等するクライアントサイド・取引データ登録部213クライアントサイド・取引データ登録部213を備える。
以上の各処理部の動作の詳細は後述する。なお、これらの各処理部は、各々が属するサーバコンピュータ100またはクライアントコンピュータ200の図示しないCPUが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより実現される。また、そのプログラムは、図示しない記録媒体から読み出してもよいし、図示しないインターネット等のコンピュータネットワークを介してダウンロードしてもよい。
なお、クライアントサイド・サーバマスタ更新部211は図1の特定のクライアントコンピュータ200だけに備え、その他のクライアントコンピュータ200には存在しない構成としても良い。
図3は、サーバマスタ記憶部101に格納されるデータの一例である。これは商品マスタファイルの例であり、商品コード、商品名および単価等の商品情報が格納される。本図の情報は、サーバマスタ記憶部101のコピーであるクライアントマスタ記憶部201にも格納されている。両記憶部の内容は当初一致しているが、サーバマスタ記憶部101が、クライアントサイド・サーバマスタ更新部211からの通知によりサーバサイド・サーバマスタ更新部111により更新されると、一時的に不一致となる。かかる更新は新商品の追加または商品の削除等のために行われる。この不一致は、後述のごとく、取引データ記憶部104に対する取引データの登録時に解消される。
図4は、マスタ更新履歴記憶部102に格納されるデータ(以降、更新履歴レコードという)の一例である。本図は図3のデータ例に対応した例となっている。図にあるごとく、サーバマスタ記憶部101が商品の追加、削除、価格変更等に伴って更新されると、更新のたびに更新された商品ごとに一レコードとして通番401、商品コード、追加/削除/更新の別を示す更新区分および更新後のデータ(更新区分が削除の場合は当該データは無い)が記憶される。ここに通番401は、1から始まる、各更新履歴レコードにふられる連続番号である。
図5は、取引データ記憶部104に格納される取引データの一例である。本図は図3のデータ例に対応した受注情報の例となっている。ここでは、取引データとして受注情報を例示している。本図のごとく、取引データは取引日付、取引先の識別子、受注した全ての商品コードおよびその個数等からなる。
以上の構成において、まず、利用者がクライアントコンピュータ200からサーバマスタ記憶部101の更新を行う場合の動作について図6を参照して説明する。ここで使用されるクライアントコンピュータ200は、クライアントサイド・サーバマスタ更新部211を備えたクライアントコンピュータ200である。
利用者により起動されると、クライアントコンピュータ200のクライアントサイド・サーバマスタ更新部211は、図8に例示するサーバマスタ記憶部更新画面を入出力装置に表示(ステップ601)した後、利用者が入出力装置で指定した更新に必要なデータである商品コード、商品名称、単価、更新区分等(以降、更新情報という)を読み取る(ステップ602)。その後、サーバコンピュータ100のサーバサイド・サーバマスタ更新部111に更新情報を送信する(ステップ603)。
サーバサイド・サーバマスタ更新部111はクライアントサイド・サーバマスタ更新部211から更新情報を受信し(ステップ604)、サーバマスタ記憶部101を更新する(ステップ605)と共に、マスタ更新履歴記憶部102に図4に示すごとき更新履歴を追加する(ステップ606)。最後に、サーバマスタ更新件数記憶部103に最後の(最大の通番を持つ)マスタ更新履歴記憶部102のレコードの通番401の値を格納する。
次に、利用者がクライアントコンピュータ200から取引データ記憶部104に取引データを登録する場合についての動作を、図7を参照して説明する。なお、かかる場合に使用するクライアントコンピュータ200は、図6のサーバマスタ記憶部101更新で使用したクライアントコンピュータ200と同一でも良いし、別でも良い。
利用者により起動されると、クライアントコンピュータ200のクライアントサイド・取引データ登録部213は図9に例示する販売取引データ登録画面を入出力装置に表示する(ステップ701)。クライアントサイド・取引データ登録部213は、利用者により画面の商品コード欄901から入力された商品コードおよび取引日付等を読み取る(ステップ702)と、当該商品コードをキーとしてクライアントマスタ記憶部201を検索して、指定された商品コードに対応した商品名称、単価を読み出し、販売取引データ登録画面に表示する(ステップ703)。表示された商品名称および単価を確認した利用者が商品の受注個数を画面の個数欄902に入力すると、クライアントサイド・取引データ登録部213はその値を読み取り(ステップ704)、上述で入力した取引データ(商品コード、その個数および取引日付等)及びクライアントマスタ更新件数記憶部202の値をサーバコンピュータ100のサーバサイド・クライアントマスタ更新部112に送信する(ステップ705)。ここで、ステップ702、703、704はステップ701で表示した画面によっては、複数回繰り返されることがある。例えば、図9の画面例であれば、利用者が複数の商品コード欄901に、順次商品コードを入力するたびにクライアントサイド・取引データ登録部213は上述のステップ702から704までを繰り返し、利用者により販売取引データ登録画面上の登録ボタン903が押下され、入力が終了したことを検出したときにステップ705に進む。
サーバサイド・取引データ登録部113は、かかる送信情報を受信(ステップ720)し、受信したクライアントマスタ更新件数記憶部202の値とサーバマスタ更新件数記憶部103の値を比較(ステップ721)し、同値であれば、取引データ記憶部104に取引データを登録して(ステップ722)、動作を終了する。
上述の比較(ステップ721)において同値で無い場合は、サーバサイド・クライアントマスタ更新部112が、マスタ更新履歴記憶部102を検索し、通番401の値が、サーバサイド・取引データ登録部113が受信したクライアントマスタ更新件数記憶部202の値より大きな値の更新履歴レコードを、クライアントマスタ記憶部201の更新に必要な更新履歴レコードとして抽出する(ステップ730)。次に、抽出した更新履歴レコード内の商品コードと取引データ内の商品コードが比較され(ステップ731)、一致した商品コードが存在しない場合は、取引データを取引データ記憶部104に登録する(ステップ732)。その後、抽出された更新履歴レコードおよびサーバマスタ更新件数記憶部103の値をクライアントサイド・クライアントマスタ更新部212に送信する(ステップ733)。
ステップ731の比較において抽出した更新履歴レコード内の商品コードと取引データ内の商品コードに一致するものが存在する場合は、取引データを取引データ記憶部104に登録することなく、抽出された更新履歴レコードとサーバマスタ更新件数記憶部103の値をクライアントコンピュータ200のクライアントサイド・クライアントマスタ更新部212に送信する(ステップ734)。このとき、同時に取引データの登録に失敗した旨の通知も行う(ステップ734)。抽出した更新履歴レコード内の商品コードと取引データ内の商品コードに一致するものが存在する場合に、取引データを取引データ記憶部104に登録しないのは、取引データ内で参照している商品の情報がサーバマスタ記憶部101において更新、削除(例えば、商品の削除、価格変更等)されている為、利用者が取引データの見直しを行う必要があるためである。
クライアントサイド・クライアントマスタ更新部212は、上述の送信情報を受信する(ステップ710)と、受信した更新履歴レコードに基づきクライアントマスタ記憶部201を更新(ステップ711)し、クライアントマスタ更新件数記憶部202の値を受信したサーバマスタ更新件数記憶部103の値に更新し(ステップ712)、動作を終了する。但し、サーバサイド・クライアントマスタ更新部112から取引データの登録に失敗した旨の通知を受けている場合(ステップ713)は、取引データで指定された商品の情報についてクライアントマスタ記憶部201の更新があった旨を、入出力装置の販売取引データ登録画面のエラーメッセージ表示欄904に表示する(ステップ733)。かかるエラーメッセージには、更新履歴レコードに基づき、更新のあった商品コードの一覧及びその更新内容を通知する。これを受け、クライアントサイド・サーバマスタ更新部211は商品コード入力をステップ702から再開する。再開後のステップ703で読み出されるクライアントマスタ記憶部201のデータは更新後の、価格変更等が反映されたものである。
上述の説明においてはサーバマスタ記憶部101およびクライアントマスタ記憶部201は、商品マスタファイルであることを例としたが、本発明の適用はそれに限らず、取引先の情報を格納した取引先マスタファイル、あるいはその他のマスタファイルでも良い。
なお、ステップ731の比較を省略し、ステップ730の後、常にステップ734に進むようにするようにしてもよい。また、本実施例においては、サーバマスタ更新件数記憶部103を設けたが、必ずしも設ける必要は無い。かかる場合は、サーバマスタ更新件数はマスタ更新履歴記憶部102内の更新履歴レコード中の通番の最大値を参照することで得られる。さらに、マスタ更新履歴記憶部102を備えないことも可能である。例えば、サーバマスタ記憶部101およびクライアントマスタ記憶部201の容量が小さく、サーバ/クライアント間の通信容量が大きなとき等は、マスタ更新履歴記憶部102を備えないこととして、取引データをクライアントコンピュータ200からサーバコンピュータ100に送信する際、同時にクライアントマスタ記憶部201の内容をサーバコンピュータ100に送信し、ステップ721およびステップ730にて、両マスタ記憶部を比較して差分の検出・抽出をしてもよい。
以上説明したように、本実施形態では、一つの取引データの登録に際し、クライアントコンピュータ200がクライアントマスタ記憶部201を何度参照している場合であっても、サーバマスタ記憶部101とクライアントマスタ記憶部201の一致確認の為のクライアント/サーバコンピュータ間の通信は発生せず、一致していない場合にのみ更新の為に一回(一往復)の通信が発生するのみである。したがって、取引データ登録が定常的に多量になされ、かつサーバマスタ記憶部101の更新頻度が高くないシステムにおいては、取引データ登録一回当たりのかかる通信回数は、極めて低い値となる。このように、本発明は、クライアント/サーバコンピュータ間の通信量を低く保ちながら、サーバコンピュータ100のサーバマスタ記憶部101とクライアントコンピュータ200のクライアントマスタ記憶部201の内容の一致が必要な時点で、その一致を保証することができるという効果がある。
さらに、本発明では、サーバマスタ記憶部101に更新があった場合においても、取引データ作成において参照したレコードが更新されていない限り、取引データを作成しなおす必要が無いという効果もある。
次に、本発明の実施の形態の変形例について説明する。
この変形例は、サーバコンピュータ100に複数個のサーバマスタ記憶部101を設けた構成とすることである。最初の実施形態では、サーバマスタ記憶部101は商品情報を格納した商品マスタファイルだけであったが、本変形例では、その他に取引先の情報を格納した取引先マスタ記憶部等その他のマスタ記憶部を設ける。設定するサーバマスタ記憶部101の数は2に限定されない。かかる構成では、サーバコンピュータ100のサーバマスタ記憶部101が複数個存在するのに対応して、クライアントコンピュータ200のクライアントマスタ記憶部201も同数設けられることになる。同時に、マスタ更新履歴記憶部102に格納される更新履歴レコードには、更新対象となったマスタ記憶部名が追加されることになる。その構成例は、図4ではなく、図11に示すごとくなる。当該図にあるごとく、サーバマスタ記憶部101の一つである商品マスタファイルが商品の追加、削除、価格などの変更に伴って更新されると、更新のたびに更新された商品ごとに一レコードとして商品コード、追加/削除/更新の別を示す更新区分、商品マスタの記憶部名および更新後のデータ(更新区分が削除の場合、当該データは無い)が記憶される。また、別のサーバマスタ記憶部101である取引マスタ記憶部が取引先の追加、削除、与信限度額等の変更に伴って更新されると、更新のたびに更新された取引先ごとに一レコードとして取引先コード、追加/削除/更新の別を示す更新区分、取引先マスタの記憶部名および更新後のデータ(更新区分が削除の場合、当該データは無い)が記憶される。その他のマスタファイルが設けられているときも同様である。その他の構成は最初の実施例と同様である。
以上の変形例での構成における、サーバマスタ記憶部101更新の動作を、図6を使用して説明する。本変形例による構成では、クライアントサイド・サーバマスタ更新部211はステップ601にて、最初に図10に例示する更新すべきマスタ記憶部の選択メニューを表示装置に表示し、利用者が記憶部選択ボタンの押下等により商品マスタファイルを選択した場合、図8に例示するような商品マスタ更新画面を表示する。商品マスタが選択されたときの動作は、最初の実施例で説明した通りである。取引先マスタが選択されたときは、取引先マスタ用の更新画面(図示せず)が表示され、次いで、利用者が当該画面より入出力装置で指定した更新情報(例えば、取引先名称、住所、与信限度額等)を読み取る(ステップ602)。その他のサーバマスタ記憶部101の場合でも同様の動作が実行される。その後、サーバコンピュータ100のサーバサイド・サーバマスタ更新部111に更新情報を送信する(ステップ603)のであるが、本実施例では送信される更新情報には、更新対象となるサーバマスタ記憶部101の名称も含まれる。
サーバサイド・サーバマスタ更新部111はクライアントサイド・サーバマスタ更新部211から更新情報を受信し(ステップ604)、更新情報にその名称が含まれるサーバマスタ記憶部101を更新する(ステップ605)と共に、マスタ更新履歴記憶部102に更新履歴を追加する(ステップ606)。かかる更新履歴には、図11に示すごとく、サーバマスタ記憶部101の名称が含まれている。最後に、サーバマスタ更新件数記憶部103に最後の(最大の通番を持つ)マスタ更新履歴記憶部102のレコードの通番401の値を格納する。
なお、クライアントサイド・サーバマスタ更新部211は、一つのメニューで、利用者に複数のサーバマスタ記憶部101の更新情報を入力させ、その更新情報を一括してサーバサイド・サーバマスタ更新部111に送信するように実現しても良い。この場合、サーバサイド・サーバマスタ更新部111は、ステップ605にて、更新情報にその名称が含まれるすべてのサーバマスタ記憶部101を更新することになる。
次に、利用者がクライアントコンピュータ200から取引データ記憶部104に取引データを登録する場合についての動作を、図7を参照して説明する。なお、本実施例においても、かかる場合に使用するクライアントコンピュータ200は、図6のサーバマスタ記憶部101更新で使用したクライアントコンピュータ200と同一でも良いし、別でも良い。
利用者により起動されると、クライアントコンピュータ200のクライアントサイド・取引データ登録部213は図9に例示する販売取引データ登録画面を入出力装置に表示する(ステップ701)。クライアントサイド・取引データ登録部213は、利用者により画面の商品コード欄901から入力された取引先コード、商品コード、その他のサーバマスタ記憶部101の検索コードおよび取引日付等を読み取る(ステップ702)と、当該商品コード、取引先コード、その他のサーバマスタ記憶部101の検索コードをキーとして、各々商品マスタ、取引先マスタ、その他のクライアントマスタ記憶部201を検索して、指定された取引先コード、商品コード等に対応した取引先名称、商品名称、単価等を読み出し、販売取引データ登録画面に表示する(ステップ703)。表示された取引先名称、商品名称および単価を確認した利用者が商品の受注個数を画面の個数欄902に入力すると、クライアントサイド・取引データ登録部213はその値を読み取り(ステップ704)、上述で入力した取引データ(取引先コード、商品コード、その他のサーバマスタ記憶部101検索コード、取引商品の個数および取引日付等)及びクライアントマスタ更新件数記憶部202の値をサーバコンピュータ100のサーバサイド・クライアントマスタ更新部112に送信する(ステップ705)。ここで、ステップ702、703、704はステップ701で表示した画面によっては、複数回繰り返されることがある。例えば、図9の画面例であれば、利用者が複数の商品コード欄901に、順次商品コードを入力するたびにクライアントサイド・取引データ登録部213は上述のステップ702から704までを繰り返し、利用者により販売取引データ登録画面上の登録ボタン903が押下され、入力が終了したことを検出したときにステップ705に進む。
サーバサイド・取引データ登録部113は、かかる送信情報を受信(ステップ720)し、受信したクライアントマスタ更新件数記憶部202の値とサーバマスタ更新件数記憶部103の値を比較(ステップ721)し、同値であれば、取引データ記憶部104に取引データを登録して(ステップ722)、動作を終了する。
上述の比較(ステップ721)において同値で無い場合は、サーバサイド・クライアントマスタ更新部112が、マスタ更新履歴記憶部102を検索し、通番1101の値が、サーバサイド・取引データ登録部113が受信したクライアントマスタ更新件数記憶部202の値より大きな値の更新履歴レコードを、クライアントマスタ記憶部201の更新に必要な更新履歴レコードとして抽出する(ステップ730)。抽出した更新履歴レコードには、複数のサーバマスタ記憶部101に対する更新レコードが含まれる。次に、抽出した各更新履歴レコード内の取引先コード、商品コードまたはその他のサーバマスタ記憶部101の検索コードが、取引データ内の同種のコードと比較され(ステップ731)、一致した取引先コード、商品コード、その他のサーバマスタ記憶部101検索コードが存在しない場合は、取引データを取引データ記憶部104に登録する(ステップ732)。その後、抽出された更新履歴レコードおよびサーバマスタ更新件数記憶部103の値をクライアントサイド・クライアントマスタ更新部212に送信する(ステップ733)。
ステップ731の比較において抽出した更新履歴レコード内の商品コードと取引データ内の商品コードに一致するものが存在する場合は、取引データを取引データ記憶部104に登録することなく、抽出された更新履歴レコードとサーバマスタ更新件数記憶部103の値をクライアントコンピュータ200のクライアントサイド・クライアントマスタ更新部212に送信する(ステップ734)。このとき、同時に取引データの登録に失敗した旨の通知も行う(ステップ734)。
クライアントサイド・クライアントマスタ更新部212は、上述の送信情報を受信する(ステップ710)と、受信した更新履歴レコードに基づきクライアントマスタ記憶部201を更新(ステップ711)する。更新履歴レコードが複数のサーバマスタ記憶部101名称を含んでいるときは、対応する全てのクライアントマスタ記憶部201を更新する。ついで、クライアントマスタ更新件数記憶部202の値を受信したサーバマスタ更新件数記憶部103の値に更新し(ステップ712)、動作を終了する。但し、サーバサイド・クライアントマスタ更新部112から取引データの登録に失敗した旨の通知を受けている場合(ステップ713)は、取引データで指定された取引先、商品等の情報についてクライアントマスタ記憶部201の更新があった旨を、入出力装置の販売取引データ登録画面のエラーメッセージ表示欄904に表示する(ステップ733)。かかるエラーメッセージには、更新履歴レコードに基づき、更新のあった取引先コード、商品コード、その他のサーバマスタ記憶部101検索コードの一覧及びその更新内容を通知する。これを受け、クライアントサイド・サーバマスタ更新部211は商品コード入力をステップ702から再開する。再開後のステップ703で読み出されるクライアントマスタ記憶部201のデータは更新後の、価格変更等が反映されたものである。
なお、ステップ731の比較を省略し、ステップ730の後、常にステップ734に進むようにするようにしてもよい。また、本実施例においては、サーバマスタ更新件数記憶部103を設けたが、必ずしも設ける必要は無い。かかる場合は、サーバマスタ更新件数はマスタ更新履歴記憶部102内の更新履歴レコード中の通番の最大値を参照することで得られる。さらに、マスタ更新履歴記憶部102を備えないことも可能である。例えば、サーバマスタ記憶部101およびクライアントマスタ記憶部201の容量が小さく、サーバ/クライアント間の通信容量が大きなとき等は、マスタ更新履歴記憶部102を備えないこととして、取引データをクライアントコンピュータ200からサーバコンピュータ100に送信する際、同時にクライアントマスタ記憶部201の内容をサーバコンピュータ100に送信し、ステップ721およびステップ730にて、両マスタ記憶部を比較して差分の検出・抽出をしてもよい。
以上説明したように、本変形例は、サーバマスタ記憶部101およびクライアントマスタ記憶部201を複数個設置した場合においても、最初の実施の形態と同様に、取引データ登録一回当たりのかかる通信回数を、極めて低い値とし、クライアント/サーバコンピュータ間の通信量を低く保ちながら、サーバコンピュータ100のサーバマスタ記憶部101とクライアントコンピュータ200のクライアントマスタ記憶部201の内容の一致が必要な時点で、その一致保証することが出来る効果がある。
図2を参照すると、本発明のクライアント/サーバシステムの実施形態では、図1のサーバコンピュータ100は、そのハードディスク等の記憶媒体(図示せず)内に、商品コードや商品名等、各クライアントコンピュータ200が参照する情報(マスタデータ)を格納したサーバマスタ記憶部101、サーバマスタ記憶部101の情報の更新履歴を格納したマスタ更新履歴記憶部102、サーバマスタ記憶部101の更新件数を記録するサーバマスタ更新件数記憶部103、サーバマスタ記憶部101に格納された商品についての受注情報等の取引データを格納する取引データ記憶部104を備えている。
図2のクライアントコンピュータ200は、図1の各クライアントコンピュータ200の一台を示すが、そのハードディスク等の記憶装置(図示せず)内に、サーバマスタ記憶部101のコピーであるクライアントマスタ記憶部201および、クライアントマスタ記憶部201の更新件数を記録するクライアントマスタ更新件数記憶部202を備える。さらにクライアントコンピュータ200は、その利用者にマンマシンインターフェースを与えるディスプレイ/キーボード/マウス等からなる入出力装置も備えている。
なお、サーバマスタ更新件数記憶部103とクライアントマスタ更新件数記憶部202には、初期値としてゼロが設定されている。
サーバコンピュータ100には、クライアントコンピュータ200からの依頼に基づいてサーバマスタ記憶部101の更新等を行うサーバサイド・サーバマスタ更新部111、クライアントコンピュータ200からの依頼に従い取引データ記憶部104に取引データの登録等をするサーバサイド・取引データ登録部113およびサーバサイド・取引データ登録部113がサーバマスタ記憶部101とクライアントマスタ記憶部201の不一致を後述の方法で検出したときにクライアントコンピュータ200にクライアントマスタ記憶部201の更新を依頼等するサーバサイド・クライアントマスタ更新部112を備える。
クライアントコンピュータ200には、利用者が入力した入出力装置からの情報に基づきサーバコンピュータ100にサーバマスタ記憶部101の更新を依頼等するクライアントサイド・サーバマスタ更新部211、サーバコンピュータ100の依頼に基づきクライアントマスタ記憶部201の更新等を行うクライアントサイド・クライアントマスタ更新部212、および利用者が入出力装置から入力した取引データを取引データ記憶部104に登録することを、サーバコンピュータ100に依頼等するクライアントサイド・取引データ登録部213クライアントサイド・取引データ登録部213を備える。
以上の各処理部の動作の詳細は後述する。なお、これらの各処理部は、各々が属するサーバコンピュータ100またはクライアントコンピュータ200の図示しないCPUが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより実現される。また、そのプログラムは、図示しない記録媒体から読み出してもよいし、図示しないインターネット等のコンピュータネットワークを介してダウンロードしてもよい。
なお、クライアントサイド・サーバマスタ更新部211は図1の特定のクライアントコンピュータ200だけに備え、その他のクライアントコンピュータ200には存在しない構成としても良い。
図3は、サーバマスタ記憶部101に格納されるデータの一例である。これは商品マスタファイルの例であり、商品コード、商品名および単価等の商品情報が格納される。本図の情報は、サーバマスタ記憶部101のコピーであるクライアントマスタ記憶部201にも格納されている。両記憶部の内容は当初一致しているが、サーバマスタ記憶部101が、クライアントサイド・サーバマスタ更新部211からの通知によりサーバサイド・サーバマスタ更新部111により更新されると、一時的に不一致となる。かかる更新は新商品の追加または商品の削除等のために行われる。この不一致は、後述のごとく、取引データ記憶部104に対する取引データの登録時に解消される。
図4は、マスタ更新履歴記憶部102に格納されるデータ(以降、更新履歴レコードという)の一例である。本図は図3のデータ例に対応した例となっている。図にあるごとく、サーバマスタ記憶部101が商品の追加、削除、価格変更等に伴って更新されると、更新のたびに更新された商品ごとに一レコードとして通番401、商品コード、追加/削除/更新の別を示す更新区分および更新後のデータ(更新区分が削除の場合は当該データは無い)が記憶される。ここに通番401は、1から始まる、各更新履歴レコードにふられる連続番号である。
図5は、取引データ記憶部104に格納される取引データの一例である。本図は図3のデータ例に対応した受注情報の例となっている。ここでは、取引データとして受注情報を例示している。本図のごとく、取引データは取引日付、取引先の識別子、受注した全ての商品コードおよびその個数等からなる。
以上の構成において、まず、利用者がクライアントコンピュータ200からサーバマスタ記憶部101の更新を行う場合の動作について図6を参照して説明する。ここで使用されるクライアントコンピュータ200は、クライアントサイド・サーバマスタ更新部211を備えたクライアントコンピュータ200である。
利用者により起動されると、クライアントコンピュータ200のクライアントサイド・サーバマスタ更新部211は、図8に例示するサーバマスタ記憶部更新画面を入出力装置に表示(ステップ601)した後、利用者が入出力装置で指定した更新に必要なデータである商品コード、商品名称、単価、更新区分等(以降、更新情報という)を読み取る(ステップ602)。その後、サーバコンピュータ100のサーバサイド・サーバマスタ更新部111に更新情報を送信する(ステップ603)。
サーバサイド・サーバマスタ更新部111はクライアントサイド・サーバマスタ更新部211から更新情報を受信し(ステップ604)、サーバマスタ記憶部101を更新する(ステップ605)と共に、マスタ更新履歴記憶部102に図4に示すごとき更新履歴を追加する(ステップ606)。最後に、サーバマスタ更新件数記憶部103に最後の(最大の通番を持つ)マスタ更新履歴記憶部102のレコードの通番401の値を格納する。
次に、利用者がクライアントコンピュータ200から取引データ記憶部104に取引データを登録する場合についての動作を、図7を参照して説明する。なお、かかる場合に使用するクライアントコンピュータ200は、図6のサーバマスタ記憶部101更新で使用したクライアントコンピュータ200と同一でも良いし、別でも良い。
利用者により起動されると、クライアントコンピュータ200のクライアントサイド・取引データ登録部213は図9に例示する販売取引データ登録画面を入出力装置に表示する(ステップ701)。クライアントサイド・取引データ登録部213は、利用者により画面の商品コード欄901から入力された商品コードおよび取引日付等を読み取る(ステップ702)と、当該商品コードをキーとしてクライアントマスタ記憶部201を検索して、指定された商品コードに対応した商品名称、単価を読み出し、販売取引データ登録画面に表示する(ステップ703)。表示された商品名称および単価を確認した利用者が商品の受注個数を画面の個数欄902に入力すると、クライアントサイド・取引データ登録部213はその値を読み取り(ステップ704)、上述で入力した取引データ(商品コード、その個数および取引日付等)及びクライアントマスタ更新件数記憶部202の値をサーバコンピュータ100のサーバサイド・クライアントマスタ更新部112に送信する(ステップ705)。ここで、ステップ702、703、704はステップ701で表示した画面によっては、複数回繰り返されることがある。例えば、図9の画面例であれば、利用者が複数の商品コード欄901に、順次商品コードを入力するたびにクライアントサイド・取引データ登録部213は上述のステップ702から704までを繰り返し、利用者により販売取引データ登録画面上の登録ボタン903が押下され、入力が終了したことを検出したときにステップ705に進む。
サーバサイド・取引データ登録部113は、かかる送信情報を受信(ステップ720)し、受信したクライアントマスタ更新件数記憶部202の値とサーバマスタ更新件数記憶部103の値を比較(ステップ721)し、同値であれば、取引データ記憶部104に取引データを登録して(ステップ722)、動作を終了する。
上述の比較(ステップ721)において同値で無い場合は、サーバサイド・クライアントマスタ更新部112が、マスタ更新履歴記憶部102を検索し、通番401の値が、サーバサイド・取引データ登録部113が受信したクライアントマスタ更新件数記憶部202の値より大きな値の更新履歴レコードを、クライアントマスタ記憶部201の更新に必要な更新履歴レコードとして抽出する(ステップ730)。次に、抽出した更新履歴レコード内の商品コードと取引データ内の商品コードが比較され(ステップ731)、一致した商品コードが存在しない場合は、取引データを取引データ記憶部104に登録する(ステップ732)。その後、抽出された更新履歴レコードおよびサーバマスタ更新件数記憶部103の値をクライアントサイド・クライアントマスタ更新部212に送信する(ステップ733)。
ステップ731の比較において抽出した更新履歴レコード内の商品コードと取引データ内の商品コードに一致するものが存在する場合は、取引データを取引データ記憶部104に登録することなく、抽出された更新履歴レコードとサーバマスタ更新件数記憶部103の値をクライアントコンピュータ200のクライアントサイド・クライアントマスタ更新部212に送信する(ステップ734)。このとき、同時に取引データの登録に失敗した旨の通知も行う(ステップ734)。抽出した更新履歴レコード内の商品コードと取引データ内の商品コードに一致するものが存在する場合に、取引データを取引データ記憶部104に登録しないのは、取引データ内で参照している商品の情報がサーバマスタ記憶部101において更新、削除(例えば、商品の削除、価格変更等)されている為、利用者が取引データの見直しを行う必要があるためである。
クライアントサイド・クライアントマスタ更新部212は、上述の送信情報を受信する(ステップ710)と、受信した更新履歴レコードに基づきクライアントマスタ記憶部201を更新(ステップ711)し、クライアントマスタ更新件数記憶部202の値を受信したサーバマスタ更新件数記憶部103の値に更新し(ステップ712)、動作を終了する。但し、サーバサイド・クライアントマスタ更新部112から取引データの登録に失敗した旨の通知を受けている場合(ステップ713)は、取引データで指定された商品の情報についてクライアントマスタ記憶部201の更新があった旨を、入出力装置の販売取引データ登録画面のエラーメッセージ表示欄904に表示する(ステップ733)。かかるエラーメッセージには、更新履歴レコードに基づき、更新のあった商品コードの一覧及びその更新内容を通知する。これを受け、クライアントサイド・サーバマスタ更新部211は商品コード入力をステップ702から再開する。再開後のステップ703で読み出されるクライアントマスタ記憶部201のデータは更新後の、価格変更等が反映されたものである。
上述の説明においてはサーバマスタ記憶部101およびクライアントマスタ記憶部201は、商品マスタファイルであることを例としたが、本発明の適用はそれに限らず、取引先の情報を格納した取引先マスタファイル、あるいはその他のマスタファイルでも良い。
なお、ステップ731の比較を省略し、ステップ730の後、常にステップ734に進むようにするようにしてもよい。また、本実施例においては、サーバマスタ更新件数記憶部103を設けたが、必ずしも設ける必要は無い。かかる場合は、サーバマスタ更新件数はマスタ更新履歴記憶部102内の更新履歴レコード中の通番の最大値を参照することで得られる。さらに、マスタ更新履歴記憶部102を備えないことも可能である。例えば、サーバマスタ記憶部101およびクライアントマスタ記憶部201の容量が小さく、サーバ/クライアント間の通信容量が大きなとき等は、マスタ更新履歴記憶部102を備えないこととして、取引データをクライアントコンピュータ200からサーバコンピュータ100に送信する際、同時にクライアントマスタ記憶部201の内容をサーバコンピュータ100に送信し、ステップ721およびステップ730にて、両マスタ記憶部を比較して差分の検出・抽出をしてもよい。
以上説明したように、本実施形態では、一つの取引データの登録に際し、クライアントコンピュータ200がクライアントマスタ記憶部201を何度参照している場合であっても、サーバマスタ記憶部101とクライアントマスタ記憶部201の一致確認の為のクライアント/サーバコンピュータ間の通信は発生せず、一致していない場合にのみ更新の為に一回(一往復)の通信が発生するのみである。したがって、取引データ登録が定常的に多量になされ、かつサーバマスタ記憶部101の更新頻度が高くないシステムにおいては、取引データ登録一回当たりのかかる通信回数は、極めて低い値となる。このように、本発明は、クライアント/サーバコンピュータ間の通信量を低く保ちながら、サーバコンピュータ100のサーバマスタ記憶部101とクライアントコンピュータ200のクライアントマスタ記憶部201の内容の一致が必要な時点で、その一致を保証することができるという効果がある。
さらに、本発明では、サーバマスタ記憶部101に更新があった場合においても、取引データ作成において参照したレコードが更新されていない限り、取引データを作成しなおす必要が無いという効果もある。
次に、本発明の実施の形態の変形例について説明する。
この変形例は、サーバコンピュータ100に複数個のサーバマスタ記憶部101を設けた構成とすることである。最初の実施形態では、サーバマスタ記憶部101は商品情報を格納した商品マスタファイルだけであったが、本変形例では、その他に取引先の情報を格納した取引先マスタ記憶部等その他のマスタ記憶部を設ける。設定するサーバマスタ記憶部101の数は2に限定されない。かかる構成では、サーバコンピュータ100のサーバマスタ記憶部101が複数個存在するのに対応して、クライアントコンピュータ200のクライアントマスタ記憶部201も同数設けられることになる。同時に、マスタ更新履歴記憶部102に格納される更新履歴レコードには、更新対象となったマスタ記憶部名が追加されることになる。その構成例は、図4ではなく、図11に示すごとくなる。当該図にあるごとく、サーバマスタ記憶部101の一つである商品マスタファイルが商品の追加、削除、価格などの変更に伴って更新されると、更新のたびに更新された商品ごとに一レコードとして商品コード、追加/削除/更新の別を示す更新区分、商品マスタの記憶部名および更新後のデータ(更新区分が削除の場合、当該データは無い)が記憶される。また、別のサーバマスタ記憶部101である取引マスタ記憶部が取引先の追加、削除、与信限度額等の変更に伴って更新されると、更新のたびに更新された取引先ごとに一レコードとして取引先コード、追加/削除/更新の別を示す更新区分、取引先マスタの記憶部名および更新後のデータ(更新区分が削除の場合、当該データは無い)が記憶される。その他のマスタファイルが設けられているときも同様である。その他の構成は最初の実施例と同様である。
以上の変形例での構成における、サーバマスタ記憶部101更新の動作を、図6を使用して説明する。本変形例による構成では、クライアントサイド・サーバマスタ更新部211はステップ601にて、最初に図10に例示する更新すべきマスタ記憶部の選択メニューを表示装置に表示し、利用者が記憶部選択ボタンの押下等により商品マスタファイルを選択した場合、図8に例示するような商品マスタ更新画面を表示する。商品マスタが選択されたときの動作は、最初の実施例で説明した通りである。取引先マスタが選択されたときは、取引先マスタ用の更新画面(図示せず)が表示され、次いで、利用者が当該画面より入出力装置で指定した更新情報(例えば、取引先名称、住所、与信限度額等)を読み取る(ステップ602)。その他のサーバマスタ記憶部101の場合でも同様の動作が実行される。その後、サーバコンピュータ100のサーバサイド・サーバマスタ更新部111に更新情報を送信する(ステップ603)のであるが、本実施例では送信される更新情報には、更新対象となるサーバマスタ記憶部101の名称も含まれる。
サーバサイド・サーバマスタ更新部111はクライアントサイド・サーバマスタ更新部211から更新情報を受信し(ステップ604)、更新情報にその名称が含まれるサーバマスタ記憶部101を更新する(ステップ605)と共に、マスタ更新履歴記憶部102に更新履歴を追加する(ステップ606)。かかる更新履歴には、図11に示すごとく、サーバマスタ記憶部101の名称が含まれている。最後に、サーバマスタ更新件数記憶部103に最後の(最大の通番を持つ)マスタ更新履歴記憶部102のレコードの通番401の値を格納する。
なお、クライアントサイド・サーバマスタ更新部211は、一つのメニューで、利用者に複数のサーバマスタ記憶部101の更新情報を入力させ、その更新情報を一括してサーバサイド・サーバマスタ更新部111に送信するように実現しても良い。この場合、サーバサイド・サーバマスタ更新部111は、ステップ605にて、更新情報にその名称が含まれるすべてのサーバマスタ記憶部101を更新することになる。
次に、利用者がクライアントコンピュータ200から取引データ記憶部104に取引データを登録する場合についての動作を、図7を参照して説明する。なお、本実施例においても、かかる場合に使用するクライアントコンピュータ200は、図6のサーバマスタ記憶部101更新で使用したクライアントコンピュータ200と同一でも良いし、別でも良い。
利用者により起動されると、クライアントコンピュータ200のクライアントサイド・取引データ登録部213は図9に例示する販売取引データ登録画面を入出力装置に表示する(ステップ701)。クライアントサイド・取引データ登録部213は、利用者により画面の商品コード欄901から入力された取引先コード、商品コード、その他のサーバマスタ記憶部101の検索コードおよび取引日付等を読み取る(ステップ702)と、当該商品コード、取引先コード、その他のサーバマスタ記憶部101の検索コードをキーとして、各々商品マスタ、取引先マスタ、その他のクライアントマスタ記憶部201を検索して、指定された取引先コード、商品コード等に対応した取引先名称、商品名称、単価等を読み出し、販売取引データ登録画面に表示する(ステップ703)。表示された取引先名称、商品名称および単価を確認した利用者が商品の受注個数を画面の個数欄902に入力すると、クライアントサイド・取引データ登録部213はその値を読み取り(ステップ704)、上述で入力した取引データ(取引先コード、商品コード、その他のサーバマスタ記憶部101検索コード、取引商品の個数および取引日付等)及びクライアントマスタ更新件数記憶部202の値をサーバコンピュータ100のサーバサイド・クライアントマスタ更新部112に送信する(ステップ705)。ここで、ステップ702、703、704はステップ701で表示した画面によっては、複数回繰り返されることがある。例えば、図9の画面例であれば、利用者が複数の商品コード欄901に、順次商品コードを入力するたびにクライアントサイド・取引データ登録部213は上述のステップ702から704までを繰り返し、利用者により販売取引データ登録画面上の登録ボタン903が押下され、入力が終了したことを検出したときにステップ705に進む。
サーバサイド・取引データ登録部113は、かかる送信情報を受信(ステップ720)し、受信したクライアントマスタ更新件数記憶部202の値とサーバマスタ更新件数記憶部103の値を比較(ステップ721)し、同値であれば、取引データ記憶部104に取引データを登録して(ステップ722)、動作を終了する。
上述の比較(ステップ721)において同値で無い場合は、サーバサイド・クライアントマスタ更新部112が、マスタ更新履歴記憶部102を検索し、通番1101の値が、サーバサイド・取引データ登録部113が受信したクライアントマスタ更新件数記憶部202の値より大きな値の更新履歴レコードを、クライアントマスタ記憶部201の更新に必要な更新履歴レコードとして抽出する(ステップ730)。抽出した更新履歴レコードには、複数のサーバマスタ記憶部101に対する更新レコードが含まれる。次に、抽出した各更新履歴レコード内の取引先コード、商品コードまたはその他のサーバマスタ記憶部101の検索コードが、取引データ内の同種のコードと比較され(ステップ731)、一致した取引先コード、商品コード、その他のサーバマスタ記憶部101検索コードが存在しない場合は、取引データを取引データ記憶部104に登録する(ステップ732)。その後、抽出された更新履歴レコードおよびサーバマスタ更新件数記憶部103の値をクライアントサイド・クライアントマスタ更新部212に送信する(ステップ733)。
ステップ731の比較において抽出した更新履歴レコード内の商品コードと取引データ内の商品コードに一致するものが存在する場合は、取引データを取引データ記憶部104に登録することなく、抽出された更新履歴レコードとサーバマスタ更新件数記憶部103の値をクライアントコンピュータ200のクライアントサイド・クライアントマスタ更新部212に送信する(ステップ734)。このとき、同時に取引データの登録に失敗した旨の通知も行う(ステップ734)。
クライアントサイド・クライアントマスタ更新部212は、上述の送信情報を受信する(ステップ710)と、受信した更新履歴レコードに基づきクライアントマスタ記憶部201を更新(ステップ711)する。更新履歴レコードが複数のサーバマスタ記憶部101名称を含んでいるときは、対応する全てのクライアントマスタ記憶部201を更新する。ついで、クライアントマスタ更新件数記憶部202の値を受信したサーバマスタ更新件数記憶部103の値に更新し(ステップ712)、動作を終了する。但し、サーバサイド・クライアントマスタ更新部112から取引データの登録に失敗した旨の通知を受けている場合(ステップ713)は、取引データで指定された取引先、商品等の情報についてクライアントマスタ記憶部201の更新があった旨を、入出力装置の販売取引データ登録画面のエラーメッセージ表示欄904に表示する(ステップ733)。かかるエラーメッセージには、更新履歴レコードに基づき、更新のあった取引先コード、商品コード、その他のサーバマスタ記憶部101検索コードの一覧及びその更新内容を通知する。これを受け、クライアントサイド・サーバマスタ更新部211は商品コード入力をステップ702から再開する。再開後のステップ703で読み出されるクライアントマスタ記憶部201のデータは更新後の、価格変更等が反映されたものである。
なお、ステップ731の比較を省略し、ステップ730の後、常にステップ734に進むようにするようにしてもよい。また、本実施例においては、サーバマスタ更新件数記憶部103を設けたが、必ずしも設ける必要は無い。かかる場合は、サーバマスタ更新件数はマスタ更新履歴記憶部102内の更新履歴レコード中の通番の最大値を参照することで得られる。さらに、マスタ更新履歴記憶部102を備えないことも可能である。例えば、サーバマスタ記憶部101およびクライアントマスタ記憶部201の容量が小さく、サーバ/クライアント間の通信容量が大きなとき等は、マスタ更新履歴記憶部102を備えないこととして、取引データをクライアントコンピュータ200からサーバコンピュータ100に送信する際、同時にクライアントマスタ記憶部201の内容をサーバコンピュータ100に送信し、ステップ721およびステップ730にて、両マスタ記憶部を比較して差分の検出・抽出をしてもよい。
以上説明したように、本変形例は、サーバマスタ記憶部101およびクライアントマスタ記憶部201を複数個設置した場合においても、最初の実施の形態と同様に、取引データ登録一回当たりのかかる通信回数を、極めて低い値とし、クライアント/サーバコンピュータ間の通信量を低く保ちながら、サーバコンピュータ100のサーバマスタ記憶部101とクライアントコンピュータ200のクライアントマスタ記憶部201の内容の一致が必要な時点で、その一致保証することが出来る効果がある。
100 サーバコンピュータ
101 サーバマスタ記憶部
102 マスタ更新履歴記憶部
103 サーバマスタ更新件数記憶部
104 取引データ記憶部
111 サーバサイド・サーバマスタ更新部
112 サーバサイド・クライアントマスタ更新部
113 サーバサイド・取引データ更新部
200 クライアントコンピュータ
201 クライアントマスタ記憶部
202 クライアントマスタ更新件数記憶部
211 クライアントサイド・サーバマスタ更新部
212 クライアントサイド・クライアントマスタ更新部
213 クライアントサイド・取引データ更新部
101 サーバマスタ記憶部
102 マスタ更新履歴記憶部
103 サーバマスタ更新件数記憶部
104 取引データ記憶部
111 サーバサイド・サーバマスタ更新部
112 サーバサイド・クライアントマスタ更新部
113 サーバサイド・取引データ更新部
200 クライアントコンピュータ
201 クライアントマスタ記憶部
202 クライアントマスタ更新件数記憶部
211 クライアントサイド・サーバマスタ更新部
212 クライアントサイド・クライアントマスタ更新部
213 クライアントサイド・取引データ更新部
Claims (11)
- 少なくとも一台のクライアントコンピュータと一台のサーバコンピュータとからなるクライアント/サーバシステムであって、
前記サーバコンピュータは、
サーバマスタ記憶部と、取引データを格納する取引データ記憶部とを備え、
前記少なくとも一台のクライアントコンピュータのそれぞれは、
前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部と、
利用者から入力された取引データを、前記サーバコンピュータに送信するクライアントサイド・取引データ登録部とを備え、
前記サーバコンピュータは、
前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録部と、
前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新部とを備え、
前記クライアントコンピュータは、
前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するクライアントサイド・クライアントマスタ更新部を備えることを特徴とするクライアント/サーバシステム。 - 前記少なくとも一台のクライアントコンピュータのうち少なくとも一台は、
利用者から入力された前記サーバマスタ記憶部に対する更新情報を前記サーバコンピュータに送信するクライアントサイド・サーバマスタ更新部を備え、
前記サーバコンピュータは、
前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新するサーバサイド・サーバマスタ更新部を備えることを特徴とする請求項1記載のクライアント/サーバシステム。 - 前記サーバコンピュータは、
前記サーバマスタ記憶部の情報が変更されるたびに更新履歴として、一件の更新履歴レコードを格納するマスタ更新履歴記憶部を備え、
前記少なくとも一台のクライアントコンピュータのそれぞれは、
前記クライアントマスタ記憶部の更新が完了した前記更新履歴レコードの数を格納するクライアントマスタ更新件数記憶部を備え、
前記サーバサイド・取引データ登録部は、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の比較により前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、
前記サーバサイド・クライアントマスタ更新部は、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の差分に基づき前記マスタ更新履歴記憶部から更新履歴レコードを抽出することにより前記クライアントマスタ更新用差分を抽出し、
前記クライアントサイド・サーバマスタ更新部は前記サーバコンピュータから受信した前記 クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するとともに、前記マスタ更新履歴記憶部の前記更新履歴レコードの数を前記クライアントマスタ更新件数記憶部に記憶することを特徴とする請求項1記載のクライアント/サーバシステム。 - 前記少なくとも一台のクライアントコンピュータのうち少なくとも一台には、利用者から入力された前記サーバマスタ記憶部にたいする前記更新情報を前記サーバコンピュータに送信する前記クライアントサイド・サーバマスタ更新部を備え、
前記サーバコンピュータには、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新し、該更新の更新履歴を前記更新履歴レコードとして前記マスタ更新履歴記憶部に格納する前記サーバサイド・サーバマスタ更新部を備えることを特徴とする請求項3記載のクライアント/サーバシステム。 - 前記サーバマスタ記憶部には、識別子と該識別子に関連するデータからなるマスタレコードを格納し、
前記マスタ更新履歴記憶部には、更新された前記マスタレコード対応に該マスタレコードの前記識別子を含む前記更新履歴レコードを格納し、
前記取引データには少なくとも一つの前記マスタレコードの前記識別子を含み、
前記サーバサイド・クライアントマスタ更新部は、前記クライアントマスタ更新用差分の各更新履歴レコードに含まれる前記識別子と前記取引データに含まれる前記識別子とで一致するものがない場合には、前記取引データを前記取引データ記憶部に格納することを特徴とする請求項3または請求項4記載のクライアント/サーバシステム。 - サーバマスタ記憶部と、取引データを格納する取引データ記憶部とを備える一台のサーバコンピュータと、前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部を備える、少なくとも一台のクライアントコンピュータとからなるクライアント/サーバシステムにおいて、
前記クライアントコンピュータが、利用者から入力された取引データを前記サーバコンピュータに送信するクライアントサイド・取引データ登録ステップと、
前記サーバコンピュータが、前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録ステップと、
前記サーバコンピュータが、前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新ステップと、
前記クライアントコンピュータが、前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するクライアントサイド・クライアントマスタ更新ステップとを含むことを特徴とするクライアント/サーバシステムにおけるマスタデータ反映方法。 - 前記少なくとも一台のクライアントコンピュータのうち少なくとも一台が、利用者から入力された前記サーバマスタ記憶部に対する更新情報を前記サーバコンピュータに送信するクライアントサイド・サーバマスタ更新ステップと、
前記サーバコンピュータが、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新するサーバサイド・サーバマスタ更新ステップとを含むことを特徴とする請求項6記載のクライアント/サーバシステムにおけるマスタデータ反映方法。 - 前記サーバコンピュータには、
前記サーバマスタ記憶部の情報が変更されるたびに更新履歴として、一件の更新履歴レコードを格納するマスタ更新履歴記憶部を備え、
前記少なくとも一台のクライアントコンピュータのそれぞれは、
前記クライアントマスタ記憶部の更新が完了した前記更新履歴レコードの数を格納するクライアントマスタ更新件数記憶部を備える前記クライアント/サーバシステムにおいて、
前記サーバサイド・取引データ登録ステップでは、前記サーバコンピュータが、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の比較により前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、
前記サーバサイド・クライアントマスタ更新ステップでは、前記クライアントコンピュータが、前記マスタ更新履歴記憶部の前記更新履歴レコードの数と前記クライアントマスタ更新件数記憶部の値の差分に基づき前記マスタ更新履歴記憶部から更新履歴レコードを抽出することにより前記クライアントマスタ更新用差分を抽出し、
前記クライアントサイド・サーバマスタ更新ステップでは、前記クライアントコンピュータが、前記サーバコンピュータから受信した前記クライアントマスタ更新用差分に基づき前記クライアントマスタ記憶部を更新するとともに、前記マスタ更新履歴記憶部の前記更新履歴レコードの数を前記クライアントマスタ更新件数記憶部に記憶することを特徴とする請求項6記載のするクライアント/サーバシステムにおけるマスタデータ反映方法。 - 前記少なくとも一台のクライアントコンピュータのうち少なくとも一台が、利用者から入力された前記サーバマスタ記憶部にたいする前記更新情報を前記サーバコンピュータに送信する前記クライアントサイド・サーバマスタ更新ステップと、
前記サーバコンピュータが、前記更新情報を受信して、該更新情報に基づき前記サーバマスタ記憶部を更新し、該更新の更新履歴を前記更新履歴レコードとして前記マスタ更新履歴記憶部に格納する前記サーバサイド・サーバマスタ更新ステップとを含むことを特徴とする請求項8記載のクライアント/サーバシステムにおけるマスタデータ反映方法。 - 前記サーバマスタ記憶部には、識別子と該識別子に関連するデータからなるマスタレコードを格納し、
前記マスタ更新履歴記憶部には、更新された前記マスタレコード対応に該マスタレコードの前記識別子を含む前記更新履歴レコードを格納し、
前記取引データには少なくとも一つの前記マスタレコードの前記識別子を含む前記クライアント/サーバシステムにおいて、
前記サーバサイド・クライアントマスタ更新ステップでは、前記サーバコンピュータが、前記クライアントマスタ更新用差分の各更新履歴レコードに含まれる前記識別子と前記取引データに含まれる前記識別子とで一致するものがない場合には、前記取引データを前記取引データ記憶部に格納することを特徴とする請求項8または請求項9記載のクライアント/サーバシステムにおけるマスタデータ反映方法。 - サーバマスタ記憶部と取引データを格納する取引データ記憶部とを備え、前記サーバマスタ記憶部内の情報を複写した情報を有するクライアントマスタ記憶部を備える少なくとも一台のクライアントコンピュータと通信可能な一台のサーバコンピュータに、
前記クライアントコンピュータから前記取引データを受信したときに、前記サーバマスタ記憶部と前記クライアントマスタ記憶部の内容の一致確認を行い、一致しているときには前記取引データを前記取引データ記憶部に登録するサーバサイド・取引データ登録手順と、
前記一致確認で一致していないことを確認したときには、前記サーバマスタ記憶部と前記クライアントマスタ記憶部との内容の差分抽出を行い、抽出されたクライアントマスタ更新用差分を前記クライアントコンピュータに送信するサーバサイド・クライアントマスタ更新手順とを実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003310232A JP2005078503A (ja) | 2003-09-02 | 2003-09-02 | マスタデータ反映手段を備えるクライアント/サーバシステムならびにマスタデータ反映方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003310232A JP2005078503A (ja) | 2003-09-02 | 2003-09-02 | マスタデータ反映手段を備えるクライアント/サーバシステムならびにマスタデータ反映方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005078503A true JP2005078503A (ja) | 2005-03-24 |
Family
ID=34412163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003310232A Withdrawn JP2005078503A (ja) | 2003-09-02 | 2003-09-02 | マスタデータ反映手段を備えるクライアント/サーバシステムならびにマスタデータ反映方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005078503A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309968A (ja) * | 2004-04-23 | 2005-11-04 | Kyosan Electric Mfg Co Ltd | 最新情報表示システム及びそれを使用した列車運行状況表示システム |
JP2017215722A (ja) * | 2016-05-31 | 2017-12-07 | Juki株式会社 | 情報管理システム、処理装置及びプログラム |
-
2003
- 2003-09-02 JP JP2003310232A patent/JP2005078503A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309968A (ja) * | 2004-04-23 | 2005-11-04 | Kyosan Electric Mfg Co Ltd | 最新情報表示システム及びそれを使用した列車運行状況表示システム |
JP2017215722A (ja) * | 2016-05-31 | 2017-12-07 | Juki株式会社 | 情報管理システム、処理装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7383289B2 (en) | Updating and maintaining data in a multi-system network using asynchronous message transfer | |
US20190278805A1 (en) | Visual blockchain browser | |
US7853722B2 (en) | Simplified application object data synchronization for optimized data storage | |
EP1629403B1 (en) | Data importation and exportation for computing devices | |
EP2047382B1 (en) | Two-way and multi-master synchronization over web syndications | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
US20190166216A1 (en) | Information pushing method and device | |
US20040083426A1 (en) | System and method for generating pre-populated forms | |
US20090234880A1 (en) | Remote storage and management of binary object data | |
CN112380227B (zh) | 基于消息队列的数据同步方法、装置、设备及存储介质 | |
JP2009301577A (ja) | 符号化されたリンクを使用するデータリンクシステムおよび方法 | |
US20050192949A1 (en) | Document group analyzing apparatus, a document group analyzing method, a document group analyzing system, a program, and a recording medium | |
CN111654522B (zh) | 文件同步方法、文件同步服务器及存储介质 | |
CN112988770B (zh) | 序列号更新的方法、装置、电子设备和存储介质 | |
US20170039202A1 (en) | Automated data intake system | |
US20080133543A1 (en) | System and Method for Dynamic and On-Demand Data Transfer and Synchronization Between Isolated Networks | |
US20210103560A1 (en) | Reconciliation of data in a distributed system | |
CN111858486A (zh) | 一种文件分类方法和装置 | |
US7536398B2 (en) | On-line organization of data sets | |
CN106886589B (zh) | 一种图片存储方法、服务端以及客户端 | |
JP2005078503A (ja) | マスタデータ反映手段を備えるクライアント/サーバシステムならびにマスタデータ反映方法およびプログラム | |
JP2002251348A (ja) | コンテンツデータの閲覧システム及びプログラム | |
WO2016060551A1 (en) | A method for mining electronic documents and system thereof | |
US7243158B1 (en) | Method, system and computer program for identification of data and translation of data between storage locations | |
JP2001125959A (ja) | 電子取引システムおよび電子取引方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050314 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061107 |