JP2006164075A - Application system and synchronizing method of distributed data - Google Patents

Application system and synchronizing method of distributed data Download PDF

Info

Publication number
JP2006164075A
JP2006164075A JP2004357294A JP2004357294A JP2006164075A JP 2006164075 A JP2006164075 A JP 2006164075A JP 2004357294 A JP2004357294 A JP 2004357294A JP 2004357294 A JP2004357294 A JP 2004357294A JP 2006164075 A JP2006164075 A JP 2006164075A
Authority
JP
Japan
Prior art keywords
data
user interface
server
master data
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.)
Granted
Application number
JP2004357294A
Other languages
Japanese (ja)
Other versions
JP4326464B2 (en
Inventor
Hirotaka Nakano
裕隆 中野
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2004357294A priority Critical patent/JP4326464B2/en
Publication of JP2006164075A publication Critical patent/JP2006164075A/en
Application granted granted Critical
Publication of JP4326464B2 publication Critical patent/JP4326464B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To improve execution speed by reducing a load on a database server in a hierarchical web system. <P>SOLUTION: An application system comprises the database server 1 for managing database which memorizes master data, one or numerous EJB server 3 which is connected with the database server 1 and performs transaction of business, and a plurality of web servers 5 which is connected with the business transaction server 3 and performs processing of a user interface. Each web server 5 provides a cache memory 55 which memorizes copy data of the master data. The EJB server 3 comprises a DB updating section 33 for updating the master data in response to a data updating request to the database server 1 when one of the web servers 5 receives the data updating request from a user terminal 9, and a synchronous processing section 32 for updating the copy data memorized in the cache memory 55 of the web server 5 so as to coincide with the updated master data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、階層化されたWebシステムの処理速度を向上させるための技術に関する。   The present invention relates to a technique for improving the processing speed of a hierarchical Web system.

インターネットを介して多くのユーザにサービスを提供するWebシステムでは、ユーザインタフェースを受け持つWebサーバと、種々のアプリケーション処理を実行する業務サーバと、マスタデータを管理するデータベースサーバとの3階層からなるシステムが利用されている。   In a Web system that provides services to many users via the Internet, there is a system consisting of three layers: a Web server that handles a user interface, a business server that executes various application processes, and a database server that manages master data. It's being used.

ここで、データベースサーバは、比較的高価で信頼性の高いハードウェアが用いられることが多いが、業務サーバは1台〜十数台、Webサーバは数台から数十台の通常のパソコンなどで構成されることが多い。このように比較的安価なハードウェアを複数台用いることにより負荷分散を行って、コストを抑制しつつWebサーバ全体の処理性能を向上させている。   Here, the database server often uses relatively expensive and highly reliable hardware, but the business server is usually one to a dozen or so, and the web server is a few to dozens of ordinary personal computers. Often composed. In this manner, load distribution is performed by using a plurality of relatively inexpensive hardware, and the processing performance of the entire Web server is improved while suppressing costs.

上記のような構成を採用すると、業務サーバ及びWebサーバについては負荷分散をすることができる一方で、データベースサーバに処理が集中してしまう。そこで、データベースサーバが管理するマスタデータをWebサーバあるいは業務サーバにキャッシュして処理速度を向上させることが行われている(例えば、特許文献1)。
特開2004−240575号公報
When the configuration as described above is adopted, load can be distributed to the business server and the Web server, but the processing is concentrated on the database server. Thus, master data managed by a database server is cached in a Web server or business server to improve processing speed (for example, Patent Document 1).
JP 2004-240575 A

Webサーバあるいは業務サーバにキャッシュして使用されるデータは、ほとんど更新されないデータ、つまり参照されるデータがほとんどであった。なぜならば、複数のWebサーバ及び業務サーバにキャッシュされたデータをすべて同期させるためには、管理者による作業が必要になるからである。   The data that is cached and used in the Web server or business server is mostly data that is not updated, that is, data that is referred to. This is because, in order to synchronize all the data cached in a plurality of Web servers and business servers, work by an administrator is required.

そこで、本発明の目的は、階層化されたWebシステムにおいて、データベースサーバの負荷を軽減して、処理速度を向上させることである。   Therefore, an object of the present invention is to reduce the load on the database server and improve the processing speed in a hierarchical Web system.

本発明の別の目的は、階層化されたWebシステムにおいて、ユーザインタフェースあるいは業務処理を行うサーバにキャッシュされたデータを更新しても整合性を失わずに、そのまま処理を継続するための技術を提供することである。   Another object of the present invention is a technique for continuing processing in a hierarchical Web system without losing consistency even if data cached in a user interface or a server that performs business processing is updated. Is to provide.

本発明の一実施態様に従うアプリケーションシステムは、マスタデータを記憶したデータベースを管理するデータベースサーバと、前記データベースサーバに接続され、業務処理を行う一又は複数の業務処理サーバと、前記一又は複数の業務処理サーバと接続され、ユーザインタフェースに関する処理を行う複数のユーザインタフェース装置とを備える。そして、前記複数のユーザインタフェース装置は、それぞれ、前記マスタデータのコピーデータを記憶する記憶装置と、前記記憶装置に記憶されているコピーデータに基づいてユーザインタフェース画面をユーザ端末装置へ提供するインタフェース手段と、を備える。さらに、前記一又は複数の業務処理サーバは、それぞれ、前記複数のユーザインタフェース装置の一つが前記ユーザ端末装置からデータ更新要求を受け付けると、前記データベースサーバに前記受け付けたデータ更新要求に応じて前記マスタデータを更新させるマスタ更新手段と、前記複数のユーザインタフェース装置の記憶装置に記憶されているコピーデータを、更新後のマスタデータと一致するように更新させる同期手段と、を備える。   An application system according to an embodiment of the present invention includes a database server that manages a database that stores master data, one or more business processing servers that are connected to the database server and perform business processing, and the one or more business operations A plurality of user interface devices connected to the processing server and performing processing related to the user interface; Each of the plurality of user interface devices includes a storage device that stores copy data of the master data, and an interface unit that provides a user interface screen to the user terminal device based on the copy data stored in the storage device. And comprising. In addition, when one of the plurality of user interface devices receives a data update request from the user terminal device, the one or more business processing servers each receive the master in response to the received data update request from the database server. Master updating means for updating data, and synchronization means for updating copy data stored in the storage devices of the plurality of user interface devices so as to match the updated master data.

好適な実施形態では、前記複数のユーザインタフェース装置のそれぞれは、前記業務処理サーバの同期手段により更新されたコピーデータを、前記同期手段により定められた時刻から有効とするようにしてもよい。   In a preferred embodiment, each of the plurality of user interface devices may validate the copy data updated by the synchronization unit of the business processing server from the time determined by the synchronization unit.

好適な実施形態では、前記同期手段が、いずれか一以上のユーザインタフェース装置の記憶装置に記憶されているコピーデータを更新後のマスタデータと一致させることができなかったときは、前記マスタ更新手段は、前記マスタデータの更新をロールバックするようにしてもよい。   In a preferred embodiment, when the synchronization means cannot match the copy data stored in the storage device of any one or more user interface devices with the updated master data, the master update means May roll back the update of the master data.

好適な実施形態では、前記一又は複数の業務処理サーバは、それぞれ、前記マスタ更新手段による処理と前記同期手段による処理を一トランザクションとして実行させるようにしてもよい。   In a preferred embodiment, each of the one or more business processing servers may cause the processing by the master update unit and the processing by the synchronization unit to be executed as one transaction.

以下、本発明の一実施形態について、図面を用いて説明する。図1は、本実施形態に係るWebシステムの構成を示す図である。本システムは、インターネット7を介してユーザ端末装置9へ所定のサービスを提供するためのいわゆるWeb3階層システムであって、マスタデータを管理するデータベースサーバ(以下、DBサーバという)1と、業務サーバである一又は複数のEJB(Enterprise JavaBeans;Javaは登録商標)サーバ3と、ユーザインタフェースを受け持つ、Javaサーブレットが動作する複数のWebサーバ5とを備える。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a configuration of a Web system according to the present embodiment. This system is a so-called Web three-tier system for providing a predetermined service to a user terminal device 9 via the Internet 7, and includes a database server (hereinafter referred to as a DB server) 1 that manages master data and a business server. One or a plurality of EJB (Enterprise JavaBeans; Java is a registered trademark) server 3 and a plurality of Web servers 5 that operate a Java servlet and handle a user interface.

DBサーバ1,EJBサーバ3、Webサーバ5及びユーザ端末装置9は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する各サーバ等1,3,5,9内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。   Each of the DB server 1, the EJB server 3, the Web server 5, and the user terminal device 9 is constituted by, for example, a general-purpose computer system. Individual components in the servers 1, 3, 5, and 9 described below Alternatively, the function is realized, for example, by executing a computer program.

DBサーバ1は、本システムが利用するマスタデータを記憶したデータベースを管理する。   The DB server 1 manages a database that stores master data used by the system.

Webサーバ5は、ユーザインタフェース装置として、ユーザ端末装置9からのリクエストを受け付けて、それに対する応答を返す。さらに、Webサーバ5は、EJBサーバ3に対して、ユーザ端末装置9からのリクエストに応じたリクエストを行う。   The Web server 5 accepts a request from the user terminal device 9 as a user interface device and returns a response thereto. Further, the Web server 5 makes a request corresponding to the request from the user terminal device 9 to the EJB server 3.

本システムは、Webサーバ5を複数台備え、ロードバランサ6がユーザ端末装置9からのリクエストをいずれからのWebサーバ5へ割り当てる。各Webサーバ5の構成は、すべて共通である。従って、図1ではWebサーバ5の内部構成は1台のみ示す。   This system includes a plurality of web servers 5, and the load balancer 6 assigns requests from the user terminal device 9 to any web server 5. The configuration of each Web server 5 is common. Accordingly, FIG. 1 shows only one internal configuration of the Web server 5.

Webサーバ5は、HTTP(Hyper Text Transfer Protocol)リクエスト処理部51と、キャッシュメモリ55を有するキャッシュシステム53とを備える。   The Web server 5 includes an HTTP (Hyper Text Transfer Protocol) request processing unit 51 and a cache system 53 having a cache memory 55.

キャッシュシステム53は、キャッシュメモリ55に格納されているデータを管理する。例えば、キャッシュシステム53がキャッシュメモリ55内のデータの読み出し要求を受けてデータを読み出す。さらに、キャッシュメモリ55内に新たなデータを格納するよう要求を受けたり、またはキャッシュメモリ内のデータの更新要求を受けたりすると、キャッシュシステム53がそれぞれの要求に応じた処理を行う。キャッシュメモリ55には、DBサーバ1が管理するマスタデータのコピーがオブジェクト単位に格納され、ユーザ端末装置9からのリクエストに応答する際に参照される。ここで、各Webサーバ5のキャッシュメモリ55に格納されるコピーデータは共通である。従って、ロードバランサ6がユーザ端末装置9からのリクエストをいずれかのWebサーバ5に割り振るが、すべてのWebサーバ5が同じデータをキャッシュメモリ55に記憶しているので、どのWebサーバ5がリクエストを受け付けてもまったく同様の処理が実行される。さらに、いずれかのWebサーバ5がユーザ端末装置9からデータ更新のリクエストを受け付けると、マスタデータ及びすべてのWebサーバ5上のキャッシュされたデータが同時に更新されて、同期がとられる。このデータを同期させるための処理は後述する。   The cache system 53 manages data stored in the cache memory 55. For example, the cache system 53 receives a data read request in the cache memory 55 and reads the data. Further, when a request to store new data in the cache memory 55 is received or a request to update data in the cache memory is received, the cache system 53 performs processing according to each request. The cache memory 55 stores a copy of master data managed by the DB server 1 in units of objects, and is referred to when responding to a request from the user terminal device 9. Here, the copy data stored in the cache memory 55 of each Web server 5 is common. Accordingly, the load balancer 6 allocates the request from the user terminal device 9 to any one of the Web servers 5, but since all the Web servers 5 store the same data in the cache memory 55, which Web server 5 sends the request. Even if accepted, the same processing is executed. Further, when any of the Web servers 5 receives a data update request from the user terminal device 9, the master data and the cached data on all the Web servers 5 are simultaneously updated and synchronized. Processing for synchronizing this data will be described later.

ユーザ端末装置9からのリクエストは、例えばHTTPリクエスト形式で行われる。HTTPリクエスト処理部51は、ユーザ端末装置9からのHTTPリクエストに応じて、所定の処理を実行する。例えば、ユーザ端末装置9からのリクエストがキャッシュメモリ55に格納されているデータの参照であれば、HTTPリクエスト処理部51は、キャッシュメモリ55からそのデータを取得して、所定のインタフェース画面を生成してユーザ端末装置9へ送る。また、キャッシュメモリ55に存在しないデータの参照、あるいはデータの更新であれば、HTTPリクエスト処理部51は、所定の関数を呼び出すなどして、EJBサーバ3に処理を依頼する。   The request from the user terminal device 9 is made in, for example, an HTTP request format. The HTTP request processing unit 51 executes a predetermined process in response to the HTTP request from the user terminal device 9. For example, if the request from the user terminal device 9 is a reference to data stored in the cache memory 55, the HTTP request processing unit 51 acquires the data from the cache memory 55 and generates a predetermined interface screen. To the user terminal device 9. In addition, when referring to data that does not exist in the cache memory 55 or updating data, the HTTP request processing unit 51 requests processing to the EJB server 3 by calling a predetermined function.

EJBサーバ3は、Webサーバ5を介してユーザからの要求を受け付けて、所定の業務処理を実行する。図1の例では、本システムは2台のEJBサーバ3で構成されているが、1台でもよいし、あるいは3台以上でもよい。   The EJB server 3 receives a request from the user via the Web server 5 and executes a predetermined business process. In the example of FIG. 1, the present system is configured by two EJB servers 3, but may be one, or three or more.

EJBサーバ3は、それぞれ、トランザクション管理部31と、同期処理部32と、DB更新処理部33と、オブジェクトの定義情報を記憶したオブジェクト定義記憶部34とを備える。   The EJB server 3 includes a transaction management unit 31, a synchronization processing unit 32, a DB update processing unit 33, and an object definition storage unit 34 that stores object definition information.

トランザクション管理部31は、データベースの参照、更新などの所定の処理をトランザクションとして実行する。例えば、トランザクション管理部31は、トランザクションを実行するための複数の関数を予め保持している。関数としては、例えば、DBサーバ1が管理するマスタデータの更新を行う関数や、マスタデータの参照を行う関数などがある。そして、Webサーバ5のHTTPリクエスト処理部51から呼び出された関数を実行する。   The transaction management unit 31 executes predetermined processing such as database reference and update as a transaction. For example, the transaction management unit 31 holds a plurality of functions for executing a transaction in advance. Examples of the function include a function for updating master data managed by the DB server 1 and a function for referring to master data. Then, a function called from the HTTP request processing unit 51 of the Web server 5 is executed.

同期処理部32は、トランザクション管理部31からデータベースの更新要求を受けると、データベース更新処理部33に対してマスタデータの更新を指示し、更新後のマスタデータの内容をキャッシュメモリ55の更新要求として全Webサーバ5へ配布し、キャッシュメモリ55のコピーデータの同期をとる。   When the synchronization processing unit 32 receives a database update request from the transaction management unit 31, the synchronization processing unit 32 instructs the database update processing unit 33 to update the master data, and the updated master data contents are used as the cache memory 55 update request. The data is distributed to all the Web servers 5 and the copy data in the cache memory 55 is synchronized.

例えば、同期処理部32は、トランザクション管理部31からマスタデータの更新要求を受けると、オブジェクト定義記憶部34を参照し、オブジェクトを再作成し、更新対象となるオブジェクトを特定する。そして、更新対象のオブジェクトの更新をDB更新処理部33に指示をして、マスタデータを更新させる。マスタデータの更新が完了すると、同期処理部32は、更新後のオブジェクトのデータをDBサーバ1から取得して、全Webサーバ5へ通知する。このとき、ここで通知するデータを有効にする適用時刻も併せて通知する。この適用時刻になると、各キャッシュシステム53は、通知されたデータを有効にする。そして、HTTPリクエスト処理部51は、これ以降更新後のデータを参照することができるようになる。この適用時刻により、転送あるいは処理の遅延などの影響ですら受けることなく、全Webサーバ5のキャッシュメモリ55の内容が常に同一であることが保証される。   For example, when receiving a master data update request from the transaction management unit 31, the synchronization processing unit 32 refers to the object definition storage unit 34, recreates the object, and specifies the object to be updated. Then, the DB update processing unit 33 is instructed to update the object to be updated, and the master data is updated. When the update of the master data is completed, the synchronization processing unit 32 acquires the updated object data from the DB server 1 and notifies all the Web servers 5. At this time, the application time for validating the data to be notified here is also notified. When this application time comes, each cache system 53 validates the notified data. Then, the HTTP request processing unit 51 can refer to the updated data thereafter. This application time ensures that the contents of the cache memory 55 of all the Web servers 5 are always the same without being affected by transfer or processing delay.

各Webサーバ5は、この更新後のデータが通知されると、これに基づいてキャッシュメモリ55を更新し、マスタデータとキャッシュメモリ55の内容を一致させる。各Webサーバ5は、キャッシュメモリ55の更新が完了すると、更新完了を同期処理部32へ送る。なお、上述の通り、適用時刻が来るまでここで更新した内容は有効とはされず、適用時刻になるとその時点で上記の更新が全Webサーバ5で同時に有効となる。なお、適用時刻になった場合でも、それ以前に受け付けたリクエストの処理が完了していない場合は、リクエスト受け付け時点でのキャッシュを依然有効とし、このリクエストの処理が完了した時点でキャッシュデータを更新する。これにより、このリクエストに関して、処理が完了するまでキャッシュデータの一貫性が保証される。   When the updated data is notified, each Web server 5 updates the cache memory 55 based on this data, and matches the contents of the master data and the cache memory 55. When the update of the cache memory 55 is completed, each Web server 5 sends the update completion to the synchronization processing unit 32. Note that, as described above, the contents updated here are not valid until the application time arrives, and at the application time, the above update is simultaneously valid for all Web servers 5 at that time. If the request received before that time has not been processed, the cache at the time the request is received is still valid, and the cache data is updated when the request is completed. To do. As a result, the consistency of the cache data is guaranteed for the request until the processing is completed.

このとき、同期処理部32では、すべてのWebサーバ5から更新完了の通知を受信しないときは、全キャッシュメモリ55上のデータが一致していないと判断する。そして、トランザクション管理部31は、マスタデータの更新をロールバックし、トランザクションを異常終了する。これにより、本システムでは、常に、全キャッシュメモリ55上に分散されているデータがマスタデータと同期がとられるようになっている。   At this time, the synchronization processing unit 32 determines that the data in all the cache memories 55 do not match when the update completion notification is not received from all the Web servers 5. Then, the transaction management unit 31 rolls back the update of the master data and abnormally ends the transaction. Thereby, in this system, the data distributed on all the cache memories 55 is always synchronized with the master data.

DB更新処理部33は、同期処理部32からの指示に基づいて、DBサーバ1に対して更新対象となるオブジェクト及び更新内容を指示して、マスタデータを更新させる。なお、マスタデータについても適用時刻別にデータを記憶していてもよい。マスタデータを適用時刻別に保持していれば、Webサーバを新たに追加する場合などに、他のWebサーバと同じ構成にセットアップすることができる。   Based on the instruction from the synchronization processing unit 32, the DB update processing unit 33 instructs the DB server 1 of the object to be updated and the update content, and updates the master data. Note that master data may be stored for each application time. If the master data is held for each application time, when a new Web server is added, it can be set up with the same configuration as other Web servers.

次に、マスタデータ更新時の処理手順について、図2のフローチャートを用いて説明する。   Next, a processing procedure when updating the master data will be described with reference to the flowchart of FIG.

まず、Webサーバ5がユーザ端末装置9からマスタデータの更新要求を、HTTPリクエスト形式で受信する(S11)。このHTTPリクエストには、更新する項目名、及び更新内容が含まれている。   First, the Web server 5 receives a master data update request from the user terminal device 9 in the HTTP request format (S11). This HTTP request includes the item name to be updated and the update content.

Webサーバ5は、このHTTPリクエストに基づいて、EJBサーバ3へマスタデータの更新を通知する(S12)。本実施形態では、HTTPリクエスト処理部51がトランザクション管理部31のマスタデータ更新のための関数を呼び出す。このとき、更新する項目名及び更新内容が、関数の引数としてセットされる。   Based on this HTTP request, the Web server 5 notifies the EJB server 3 of an update of the master data (S12). In the present embodiment, the HTTP request processing unit 51 calls a function for updating master data in the transaction management unit 31. At this time, the item name to be updated and the update content are set as arguments of the function.

EJBサーバ3では、トランザクション管理部31が呼び出された関数を実行する。このとき、同期処理部32がオブジェクトを再作成して、トランザクション管理部31から通知を受けた更新する項目名を含むオブジェクトを更新対象オブジェクトとして特定する(S13)。そして、DB更新処理部33が、DBサーバ1に指示をして更新対象オブジェクトのマスタデータを更新させる(S14)。   In the EJB server 3, the transaction manager 31 executes the called function. At this time, the synchronization processing unit 32 recreates the object, and identifies the object including the item name to be updated, which is notified from the transaction management unit 31, as the update target object (S13). Then, the DB update processing unit 33 instructs the DB server 1 to update the master data of the update target object (S14).

マスタデータの更新が完了すると、同期処理部32が更新後のマスタデータをすべてのWebサーバ5へ同報通知し、各Webサーバ5のキャッシュシステム53は、この通知を受け付けてキャッシュメモリ55を更新する(S15)。各キャッシュシステム53は、同報通知に対するデータの更新が完了すると、更新完了通知を同期処理部32へ返す。   When the update of the master data is completed, the synchronization processing unit 32 notifies the updated master data to all the Web servers 5, and the cache system 53 of each Web server 5 accepts this notification and updates the cache memory 55. (S15). Each cache system 53 returns an update completion notification to the synchronization processing unit 32 when the data update for the broadcast notification is completed.

同期処理部32は、各Webサーバ5のキャッシュシステム53からの更新完了通知を受信する。ここで、すべてのWebサーバ5から上記の更新完了通知を受信したかどうかを判定する(S16)。そして、すべてのWebサーバ5から上記の更新完了通知を受信した場合は(S16:Yes)、トランザクション管理部31がトランザクションを正常終了し、マスタデータの更新成功をリクエストの送信元へ返信する(S17)。一方、いずれか一つのWebサーバ5からでも上記の更新完了通知を受信しない場合は(S16:No)、トランザクション管理部31がマスタデータの更新をロールバックする(S18)。そして、このトランザクションを異常終了し、マスタデータの更新失敗をリクエストの送信元へ返信する(S19)。   The synchronization processing unit 32 receives an update completion notification from the cache system 53 of each Web server 5. Here, it is determined whether or not the update completion notification has been received from all the Web servers 5 (S16). When the above update completion notifications are received from all the Web servers 5 (S16: Yes), the transaction management unit 31 ends the transaction normally and returns a master data update success to the request transmission source (S17). ). On the other hand, when the update completion notification is not received from any one of the Web servers 5 (S16: No), the transaction management unit 31 rolls back the update of the master data (S18). Then, the transaction is terminated abnormally, and a master data update failure is returned to the request transmission source (S19).

これにより、キャッシュメモリ55に分散して格納されているコピーデータは、常にDBサーバ1のマスタデータと一致する。本システムは、Webサーバ5に分散させつつ、常にマスタデータとの整合をはかることにより、Web3階層システム全体の処理速度を向上させることができる。   Thereby, the copy data distributed and stored in the cache memory 55 always matches the master data of the DB server 1. This system can improve the processing speed of the entire Web three-tier system by always matching with the master data while being distributed to the Web server 5.

上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。   The above-described embodiments of the present invention are examples for explaining the present invention, and are not intended to limit the scope of the present invention only to those embodiments. Those skilled in the art can implement the present invention in various other modes without departing from the gist of the present invention.

例えば、上述した実施形態ではWebサーバがキャッシュメモリを有している場合について説明したが、EJBサーバがキャッシュメモリを有している場合も同様にして、マスタデータとキャッシュメモリ上のデータとの同期をとることができる。   For example, in the above-described embodiment, the case where the Web server has the cache memory has been described. However, in the same manner when the EJB server has the cache memory, the master data and the data on the cache memory are synchronized. Can be taken.

本発明の一実施形態に係るWebシステムの構成図である。1 is a configuration diagram of a Web system according to an embodiment of the present invention. 本実施形態の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of this embodiment.

符号の説明Explanation of symbols

1…DBサーバ、3…EJBサーバ、5…Webサーバ、6…ロードバランサ、9…ユーザ端末装置、31…トランザクション管理部、32…同期処理部、55…キャッシュメモリ。 DESCRIPTION OF SYMBOLS 1 ... DB server, 3 ... EJB server, 5 ... Web server, 6 ... Load balancer, 9 ... User terminal device, 31 ... Transaction management part, 32 ... Synchronization processing part, 55 ... Cache memory.

Claims (6)

マスタデータを記憶したデータベースを管理するデータベースサーバと、前記データベースサーバに接続され、業務処理を行う一又は複数の業務処理サーバと、前記一又は複数の業務処理サーバと接続され、ユーザインタフェースに関する処理を行う複数のユーザインタフェース装置とを備え、
前記複数のユーザインタフェース装置は、それぞれ、
前記マスタデータのコピーデータを記憶する記憶装置と、
前記記憶装置に記憶されているコピーデータに基づいてユーザインタフェース画面をユーザ端末装置へ提供するインタフェース手段と、を備え、
前記一又は複数の業務処理サーバは、それぞれ、
前記複数のユーザインタフェース装置の一つが前記ユーザ端末装置からデータ更新要求を受け付けると、前記データベースサーバに前記受け付けたデータ更新要求に応じて前記マスタデータを更新させるマスタ更新手段と、
前記複数のユーザインタフェース装置の記憶装置に記憶されているコピーデータを、更新後のマスタデータと一致するように更新させる同期手段と、を備えるアプリケーションシステム。
A database server that manages a database that stores master data, one or more business processing servers that are connected to the database server and perform business processing, and are connected to the one or more business processing servers and perform processing related to a user interface A plurality of user interface devices to perform,
Each of the plurality of user interface devices is
A storage device for storing copy data of the master data;
Interface means for providing a user interface screen to a user terminal device based on copy data stored in the storage device,
Each of the one or more business processing servers is
When one of the plurality of user interface devices receives a data update request from the user terminal device, a master update unit that causes the database server to update the master data according to the received data update request;
An application system comprising: synchronization means for updating copy data stored in storage devices of the plurality of user interface devices so as to match the updated master data.
前記複数のユーザインタフェース装置のそれぞれは、
前記業務処理サーバの同期手段により更新されたコピーデータを、前記同期手段により定められた時刻から有効とすることを特徴とする請求項1に記載のアプリケーションシステム。
Each of the plurality of user interface devices includes:
2. The application system according to claim 1, wherein the copy data updated by the synchronization unit of the business processing server is validated from a time determined by the synchronization unit.
前記同期手段が、いずれか一以上のユーザインタフェース装置の記憶装置に記憶されているコピーデータを更新後のマスタデータと一致させることができなかったときは、前記マスタ更新手段は、前記マスタデータの更新をロールバックすることを特徴とする請求項1に記載のアプリケーションシステム。   When the synchronization means cannot match the copy data stored in the storage device of any one or more user interface devices with the updated master data, the master update means The application system according to claim 1, wherein the update is rolled back. 前記一又は複数の業務処理サーバは、それぞれ、前記マスタ更新手段による処理と前記同期手段による処理を一トランザクションとして実行させることを特徴とする請求項1または3に記載のアプリケーションシステム。   4. The application system according to claim 1, wherein each of the one or more business processing servers causes the processing by the master update unit and the processing by the synchronization unit to be executed as one transaction. 5. マスタデータを記憶したデータベースを管理するデータベースサーバと、前記データベースサーバに接続され、業務処理を行う一又は複数の業務処理サーバと、前記一又は複数の業務処理サーバと接続され、ユーザインタフェースに関する処理を行う複数のユーザインタフェース装置とを備えたアプリケーションシステムにおいて、
前記複数のユーザインタフェース装置のそれぞれが有する記憶装置に、前記マスタデータのコピーデータを記憶するステップと、
前記複数のユーザインタフェース装置の一つが前記ユーザ端末装置からデータ更新要求を受け付けると、前記受け付けたデータ更新要求に応じて、前記データベースサーバが前記マスタデータを更新するステップと、
前記一又は複数の業務処理サーバが、前記複数のユーザインタフェース装置の記憶装置に記憶されているコピーデータを、更新後のマスタデータと一致するように更新させるステップと、を有する分散データを同期させる方法。
A database server that manages a database that stores master data, one or more business processing servers that are connected to the database server and perform business processing, and are connected to the one or more business processing servers and perform processing related to a user interface In an application system comprising a plurality of user interface devices to perform,
Storing copy data of the master data in a storage device included in each of the plurality of user interface devices;
When one of the plurality of user interface devices receives a data update request from the user terminal device, the database server updates the master data in response to the received data update request;
The one or more business processing servers update the copy data stored in the storage devices of the plurality of user interface devices so as to coincide with the updated master data, and synchronize the distributed data Method.
マスタデータを記憶したデータベースを管理するデータベースサーバと、前記データベースサーバに接続され、業務処理を行う一又は複数の業務処理サーバと、前記一又は複数の業務処理サーバと接続され、ユーザインタフェースに関する処理を行う複数のユーザインタフェース装置とを備えたアプリケーションシステムに実行されると、
前記複数のユーザインタフェース装置のそれぞれが有する記憶装置に、前記マスタデータのコピーデータを記憶するステップと、
前記複数のユーザインタフェース装置の一つが前記ユーザ端末装置からデータ更新要求を受け付けると、前記受け付けたデータ更新要求に応じて、前記データベースサーバが前記マスタデータを更新するステップと、
前記一又は複数の業務処理サーバが、前記複数のユーザインタフェース装置の記憶装置に記憶されているコピーデータを、更新後のマスタデータと一致するように更新させるステップと、を行う分散データを同期させるためのコンピュータプログラム。
A database server that manages a database that stores master data, one or more business processing servers that are connected to the database server and perform business processing, and are connected to the one or more business processing servers and perform processing related to a user interface When executed on an application system with a plurality of user interface devices to perform,
Storing copy data of the master data in a storage device included in each of the plurality of user interface devices;
When one of the plurality of user interface devices receives a data update request from the user terminal device, the database server updates the master data in response to the received data update request;
The one or more business processing servers update the copy data stored in the storage devices of the plurality of user interface devices so as to match the updated master data. Computer program for.
JP2004357294A 2004-12-09 2004-12-09 Application system and method for synchronizing distributed data Expired - Fee Related JP4326464B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004357294A JP4326464B2 (en) 2004-12-09 2004-12-09 Application system and method for synchronizing distributed data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004357294A JP4326464B2 (en) 2004-12-09 2004-12-09 Application system and method for synchronizing distributed data

Publications (2)

Publication Number Publication Date
JP2006164075A true JP2006164075A (en) 2006-06-22
JP4326464B2 JP4326464B2 (en) 2009-09-09

Family

ID=36666005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004357294A Expired - Fee Related JP4326464B2 (en) 2004-12-09 2004-12-09 Application system and method for synchronizing distributed data

Country Status (1)

Country Link
JP (1) JP4326464B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230675A (en) * 2008-03-25 2009-10-08 Nomura Research Institute Ltd Information provision device, information provision method and information provision system
JP2010003050A (en) * 2008-06-19 2010-01-07 Nec Biglobe Ltd Voting system, server unit, information processing method, and program
JP2011070560A (en) * 2009-09-28 2011-04-07 Yahoo Japan Corp Relay server and method for sharing information
JP2014154059A (en) * 2013-02-13 2014-08-25 Mitsubishi Electric Corp Time-space management device and time-space management program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102741843B (en) * 2011-03-22 2014-03-26 青岛海信传媒网络技术有限公司 Method and apparatus for reading data from database

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230675A (en) * 2008-03-25 2009-10-08 Nomura Research Institute Ltd Information provision device, information provision method and information provision system
JP2010003050A (en) * 2008-06-19 2010-01-07 Nec Biglobe Ltd Voting system, server unit, information processing method, and program
JP2011070560A (en) * 2009-09-28 2011-04-07 Yahoo Japan Corp Relay server and method for sharing information
JP2014154059A (en) * 2013-02-13 2014-08-25 Mitsubishi Electric Corp Time-space management device and time-space management program

Also Published As

Publication number Publication date
JP4326464B2 (en) 2009-09-09

Similar Documents

Publication Publication Date Title
US10242023B2 (en) Programming model for synchronizing browser caches across devices and web services
JP6159338B2 (en) Real-time document presentation data synchronization through general-purpose services
US7752166B2 (en) System and methods for asynchronous synchronization
US20040143836A1 (en) System and method for sharing objects among two or more electronic devices
US10015226B2 (en) Methods for making AJAX web applications bookmarkable and crawlable and devices thereof
US20080243847A1 (en) Separating central locking services from distributed data fulfillment services in a storage system
KR101996624B1 (en) Binding crud-type protocols in distributed agreement protocols
US20060123121A1 (en) System and method for service session management
JP2010508581A (en) Offline execution of web-based applications
US6934761B1 (en) User level web server cache control of in-kernel http cache
WO2017097181A1 (en) Data pushing method and apparatus
JP4326464B2 (en) Application system and method for synchronizing distributed data
JP4215710B2 (en) Data transmission method to client and update data execution control method
US8359277B2 (en) Directory infrastructure for social networking web application services
US8089987B2 (en) Synchronizing in-memory caches while being updated by a high rate data stream
TW201500933A (en) Method for sharing and synchronizing data in local area network
CN108418857B (en) Zookeeper cluster system and connection method and device thereof
JP4829368B1 (en) File processing program, apparatus and method
CN113296968A (en) Address list updating method, device, medium and electronic equipment
JP2014149667A (en) Numbered ticket issuing system for web access
US11856048B2 (en) System and method for deferring data retrieval
JP2011108093A (en) Highly available server system, fault recovery method of highly available server system, and highly available server
JP5178734B2 (en) Peer management server and peer management method in P2P system
JPH11232294A (en) Www system and session managing method in www system
US11431826B2 (en) Secure demand-driven file distribution

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090501

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090512

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: 20090602

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: 20090609

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

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140619

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees