JP2014194818A - Server and program - Google Patents

Server and program Download PDF

Info

Publication number
JP2014194818A
JP2014194818A JP2014119951A JP2014119951A JP2014194818A JP 2014194818 A JP2014194818 A JP 2014194818A JP 2014119951 A JP2014119951 A JP 2014119951A JP 2014119951 A JP2014119951 A JP 2014119951A JP 2014194818 A JP2014194818 A JP 2014194818A
Authority
JP
Japan
Prior art keywords
database
data
database server
server process
change operation
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
JP2014119951A
Other languages
Japanese (ja)
Other versions
JP5913440B2 (en
Inventor
Toru Hashimoto
亨 橋本
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.)
MUFG Bank Ltd
Original Assignee
Bank of Tokyo Mitsubishi UFJ Trust Co
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 Bank of Tokyo Mitsubishi UFJ Trust Co filed Critical Bank of Tokyo Mitsubishi UFJ Trust Co
Priority to JP2014119951A priority Critical patent/JP5913440B2/en
Publication of JP2014194818A publication Critical patent/JP2014194818A/en
Application granted granted Critical
Publication of JP5913440B2 publication Critical patent/JP5913440B2/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

PROBLEM TO BE SOLVED: To provide a server and a program which reduces a time lag of a distribution of data while accumulating information by using a database.SOLUTION: A database driver transmits a database command representing an operation of a database to a database server process for managing the database. The database driver includes: means for determining whether or not the database server process executes a change operation of data stored in a specific area of the database when the database command is analyzed and the database command is transmitted to the database server process; and means for transferring the data based on the change operation to a process different from the database server process when determining the change operation is executed.

Description

本発明は、データベース管理システムと他のシステムとを連携させる技術に関する。   The present invention relates to a technology for linking a database management system and another system.

様々なデータがコンピュータシステムにより扱われるようになってきた。多くの場合、コンピュータシステムに入力されるデータは、データベース管理システムが管理するデータベースに一旦格納され、その後に、データを必要とする機器や他のシステムに送信される。データがこのようにデータベースに一旦格納される理由の一つとしては、データベースには強力なリカバリ機能が備わっていることである。これにより、障害が発生してもデータが喪失などしないようにできる。リカバリ機能が備わっているために、データベースを介してデータの配信などを確実に行うことができる。   Various data have been handled by computer systems. In many cases, data input to a computer system is temporarily stored in a database managed by a database management system, and then transmitted to a device or other system that requires the data. One reason why data is once stored in the database in this way is that the database has a powerful recovery function. Thereby, even if a failure occurs, data can be prevented from being lost. Since the recovery function is provided, data can be reliably delivered via the database.

また、リカバリ機能に加えて、データベースには、アクセスコントロール機能も備わっており、権限の無い者に対するデータアクセスの制限の設定を柔軟に行うことが可能である。これにより、データベースを介することにより、特定の種類のデータを特定の者にだけ提供することが可能となる。また、不正なアクセスがあったかどうかの監査業務も比較的容易に遂行できる(例えば、特許文献1参照)。   In addition to the recovery function, the database also has an access control function, and it is possible to flexibly set data access restrictions for unauthorized persons. Thus, it is possible to provide a specific type of data only to a specific person via the database. In addition, it is possible to perform an auditing operation as to whether there has been an unauthorized access relatively easily (see, for example, Patent Document 1).

米国特許第7,426,512号明細書US Pat. No. 7,426,512

一方、証券取引業務や外国為替業務において、株価や外国為替レートなどの情報の蓄積が行われる一方、アルゴリズム取引に代表されるように、株価や外国為替レートなどの変化に応じて速やかに売買注文を行う必要も生じてきている。この場合、データベースを介して株価や外国為替レートなどの情報を配信すると、情報の配信にタイムラグが発生することがある。   On the other hand, information such as stock price and foreign exchange rate is accumulated in securities trading business and foreign exchange business. On the other hand, as represented by algorithm trading, buying and selling orders promptly according to changes in stock price and foreign exchange rate, etc. There is also a need to do. In this case, if information such as a stock price or a foreign exchange rate is distributed via a database, there may be a time lag in information distribution.

そこで、本発明の一実施形態においては、データベースを用いて情報の蓄積を行いつつ、データの配信のタイムラグをより低減することを目的とする。   Therefore, an object of one embodiment of the present invention is to further reduce the time lag of data distribution while accumulating information using a database.

本発明の一実施形態によると、データベースへの操作を表すデータベースコマンドを、前記データベースの管理を行うデータベースサーバプロセスに送信するデータベースドライバであって、前記データベースサーバプロセスに送信する前記データベースコマンドを解析して、前記データベースコマンドが前記データベースサーバプロセスに送信された場合に、前記データベースサーバプロセスにより前記データベースの特定エリアに格納されるデータの変更操作が実行されるかどうかを判定する手段と、前記変更操作が実行されると判定した場合には、前記変更操作に基づくデータを前記データベースサーバプロセスとは異なるプロセスに転送する手段とを備えるデータベースドライバが提供される。   According to an embodiment of the present invention, a database driver that transmits a database command representing an operation to a database to a database server process that manages the database, the database command transmitted to the database server process is analyzed. Means for determining whether or not a change operation of data stored in a specific area of the database is executed by the database server process when the database command is transmitted to the database server process; When it is determined that is executed, a database driver is provided that includes means for transferring data based on the change operation to a process different from the database server process.

本発明の一実施形態によると、データベースへの操作を表すデータベースコマンドを、前記データベースの管理を行うデータベースサーバプロセスに送信するコンピュータを、前記データベースサーバプロセスに送信する前記データベースコマンドを解析して、前記データベースコマンドが前記データベースサーバプロセスに送信された場合に、前記データベースサーバプロセスにより前記データベースの特定エリアに格納されるデータの変更操作が実行されるかどうかを判定する手段と、前記変更操作が実行されると判定した場合には、前記変更操作に基づくデータを前記データベースサーバプロセスとは異なるプロセスに転送する手段として機能させるためのプログラムが提供される。   According to an embodiment of the present invention, a computer that transmits a database command representing an operation to a database to a database server process that manages the database, the database command that is transmitted to the database server process is analyzed, and the database command Means for determining whether or not a change operation of data stored in a specific area of the database is executed by the database server process when a database command is transmitted to the database server process; If it is determined, a program is provided for causing data based on the change operation to function as means for transferring the data to a process different from the database server process.

本発明によれば、データベースを用いて情報の蓄積を行いつつ、データの配信のタイムラグを低減することが可能となる。また、特定の形式またはモデルを有するデータベースから他の形式またはモデルのデータベースなどとのデータ更新の同期を確保することができる。   According to the present invention, it is possible to reduce the time lag of data distribution while accumulating information using a database. Further, synchronization of data update from a database having a specific format or model to a database of another format or model can be ensured.

本発明の一実施形態に係るデータベースサーバ100の機能ブロック図である。It is a functional block diagram of database server 100 concerning one embodiment of the present invention. 本発明の一実施形態に係るデータベースコマンドを送信するときのデータベースドライバ107の処理のフローチャートである。It is a flowchart of the process of the database driver 107 when transmitting the database command which concerns on one Embodiment of this invention. 本発明の一実施形態に係るデータベースサーバプロセス104から実行の結果を受信するときのデータベースドライバ107の処理のフローチャートである。It is a flowchart of the process of the database driver 107 when receiving the result of execution from the database server process 104 concerning one Embodiment of this invention. 本発明の変形例1に係るシステムの機能ブロック図である。It is a functional block diagram of a system concerning modification 1 of the present invention.

以下、本発明の一実施形態に係るデータベースサーバについて、図面を参照しながら詳細に説明する。なお、以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。   Hereinafter, a database server according to an embodiment of the present invention will be described in detail with reference to the drawings. In addition, embodiment shown below is an example of embodiment of this invention, and this invention is not limited to these embodiment.

<実施形態>
[全体構成]
図1は、本発明の一実施形態に係るデータベースサーバ100の機能ブロック図を示す。本実施形態に係るデータベースサーバ100は、コンピュータを動作させて提供することができる。コンピュータは、ハードウェア101とカーネル空間102とユーザ空間103とを有する。
<Embodiment>
[overall structure]
FIG. 1 shows a functional block diagram of a database server 100 according to an embodiment of the present invention. The database server 100 according to the present embodiment can be provided by operating a computer. The computer has hardware 101, kernel space 102, and user space 103.

ハードウェア101は、コンピュータの物理的実体である。ハードウェア101は、例えば、CPU、ROM、RAM、二次記憶装置、入出力インターフェースなどを備える。CPUは、プログラムを構成する命令を実行する。ROMは、読出し専用のメモリであり、コンピュータの起動時に最初に実行されるプログラムなどを格納する。コンピュータが起動すると、最初に実行されるプログラムがROMより読み出され、そのプログラムを構成する命令がCPUにより実行されることにより、コンピュータがブートする作業が開始する。RAMは、読み書きが可能なメモリであり、CPUにより実行される命令により構成されるプログラムを一時的に格納したり、プログラムの実行に必要な一時的なデータを格納したりする。二次記憶装置は、プログラムやデータを永続的に記憶するための装置である。入出力インターフェースは、プログラムなどの入出力を行ったり、プログラムの実行に伴う表示やデータの入力を行ったりするための、コンピュータ外部とのインターフェースである。   The hardware 101 is a physical entity of a computer. The hardware 101 includes, for example, a CPU, a ROM, a RAM, a secondary storage device, an input / output interface, and the like. The CPU executes instructions constituting the program. The ROM is a read-only memory and stores a program that is executed first when the computer is started. When the computer is activated, a program to be executed first is read from the ROM, and instructions constituting the program are executed by the CPU, so that an operation for booting the computer is started. The RAM is a readable / writable memory, and temporarily stores a program constituted by instructions executed by the CPU, or temporarily stores data necessary for executing the program. The secondary storage device is a device for permanently storing programs and data. The input / output interface is an interface with the outside of the computer for performing input / output of a program, etc., and for performing display and data input accompanying execution of the program.

カーネル空間102は、オペレーティングシステムが動作する記憶空間である。オペレーティングシステムは、プログラムの一種であり、ユーザ空間103に存在するプロセスにハードウェア101を抽象化して提供する機能を有する。また、オペレーティングシステムは、プロセスの管理やコンピュータの有する資源の管理も行う。   The kernel space 102 is a storage space where the operating system operates. The operating system is a kind of program and has a function of abstracting and providing the hardware 101 to processes existing in the user space 103. The operating system also manages processes and resources of the computer.

カーネル空間102にて動作するオペレーティングシステムの提供する機能の一つとして、プロセス間通信の機能がある。プロセス間通信は、複数のプロセスが通信を行い、情報の送受信を行うための機能である。例えば、パイプ、ソケット、共有メモリ、メッセージキューなどがプロセス間通信を実装するために用いられる。   One of the functions provided by the operating system operating in the kernel space 102 is an interprocess communication function. The inter-process communication is a function for a plurality of processes to communicate and transmit / receive information. For example, pipes, sockets, shared memory, message queues, etc. are used to implement interprocess communication.

ユーザ空間103は、カーネル空間102にて動作するオペレーティングシステムのプロセス管理の機能を用いて生成されるプロセスが存在するアドレス空間である。プロセスは、CPUモードをユーザモードにしてプログラムを実行するための単位である。これに対して、カーネル空間102は、CPUのモードをカーネルモードなどにしてプログラムを実行するためのアドレス空間である。   The user space 103 is an address space in which a process generated using a process management function of an operating system operating in the kernel space 102 exists. The process is a unit for executing the program by setting the CPU mode to the user mode. On the other hand, the kernel space 102 is an address space for executing a program with the CPU mode set to the kernel mode or the like.

プロセスは、ハードウェア101を使用する処理が生じたり、カーネル空間102の機能を使用する処理の必要が生じたりした場合には、システムコールを発行し、カーネル空間102にて動作するオペレーティングシステムに処理を依頼する。   When a process using the hardware 101 occurs or a process using a function of the kernel space 102 needs to be performed, the process issues a system call to the operating system operating in the kernel space 102. Request.

図1においては、ユーザ空間103に、データベースサーバプロセス104、クライアントプロセス105および受信プロセス109が示されている。クライアントプロセス105には、データベースドライバ107が組み込まれている。なお、ユーザ空間103には、これ以外のプロセスが存在していてもよい。受信プロセス109は複数存在していてもよい。   In FIG. 1, a database server process 104, a client process 105, and a reception process 109 are shown in the user space 103. A database driver 107 is incorporated in the client process 105. Note that processes other than this may exist in the user space 103. A plurality of reception processes 109 may exist.

[データベースサーバプロセス104]
データベースサーバプロセス104は、データベース管理システムを実現するためのプログラムを実行するプロセスである。すなわち、データベースに対する操作を行うプログラムを実行し、具体的には、データを所定のスキーマに従ってRAMや二次記憶装置に格納し、読出し、変更または削除を行うプログラムを実行するプロセスである。スキーマとはデータベースの構造である。例えば、リレーショナルデータベース管理システムにおいては、スキーマは、テーブルの構造を表わす情報を含む。例えば、このような情報にはテーブルの名前、テーブルを構成するフィールドの名前、データ型、索引の有無などの情報がある。また、このような情報には、テーブルなどに対するアクセス権限の状態などを表わす情報が含まれていてもよい。
[Database server process 104]
The database server process 104 is a process for executing a program for realizing a database management system. In other words, it is a process of executing a program for performing operations on the database, specifically storing data in a RAM or a secondary storage device according to a predetermined schema, and executing a program for reading, changing or deleting. A schema is a database structure. For example, in a relational database management system, a schema includes information representing the structure of a table. For example, such information includes information such as the name of the table, the names of the fields constituting the table, the data type, and the presence / absence of an index. Further, such information may include information indicating the status of access authority for a table or the like.

なお、本発明の実施形態においては、データベースとしては、リレーショナルデータベースに限らず、XMLデータベース、オブジェクト指向データベース、ネットワーク型データモデルを用いるデータベース、階層型データモデルを用いるデータベースなど種々のデータベースを使用することができる。   In the embodiment of the present invention, the database is not limited to a relational database, and various databases such as an XML database, an object-oriented database, a database using a network data model, and a database using a hierarchical data model are used. Can do.

データベースサーバプロセス104は、クライアントプロセス105から、カーネル空間102にて動作するオペレーティングシステムの提供するプロセス間通信の機能を用いて、データベースに対する操作の要求を受信し、その操作を実行した結果を返信する。例えば、クライアントプロセス105からテーブルの作成の要求を受信すると、データベースサーバプロセス104は、テーブルの作成の処理を実行しその実行の結果を返信する。その他にも、データベースサーバプロセス104は、データの追加の要求を受信するとデータをテーブルに格納する処理を実行し、検索の要求を受信するとテーブルに格納されたデータから検索の条件を満たすデータを検索する処理を実行し、データの変更の要求を受信するとテーブルに格納されたデータの変更の処理を実行し、データの削除の要求を受信するとデータの削除の処理を実行する。そして、データベースサーバプロセス104は、それぞれの処理の実行の結果を返信する。   The database server process 104 receives an operation request for the database from the client process 105 using the inter-process communication function provided by the operating system operating in the kernel space 102, and returns a result of executing the operation. . For example, when a table creation request is received from the client process 105, the database server process 104 executes a table creation process and returns a result of the execution. In addition, when the database server process 104 receives a request for adding data, the database server process 104 executes processing for storing the data in a table, and when a search request is received, searches the data stored in the table for data that satisfies the search condition. When the data change request is received, the data change process stored in the table is executed. When the data deletion request is received, the data deletion process is executed. Then, the database server process 104 returns a result of execution of each process.

「実行の結果」とは、処理の実行が成功したかどうかを示す情報を含む。例えば、データの削除の要求が受信された場合、「データの削除の処理の実行の結果」は、データの削除の処理の実行が成功したかどうか、また、成功した場合には何個のデータが削除されたかを示す情報が含まれる。   The “execution result” includes information indicating whether or not the process has been successfully executed. For example, when a data deletion request is received, the “result of execution of the data deletion process” indicates whether or not the data deletion process has been successfully executed and, if successful, how many data Contains information indicating whether has been deleted.

データベースサーバプロセス104は、上述したようにデータベース管理システムを実現するためのプログラムを実行するプロセスであるため、データベースに対する操作に先だって起動される。データベースサーバプロセス104は、起動の後、必要な初期化を行う。必要な初期化には、カーネル空間102にて動作するオペレーティングシステムに対して、必要なプロセス間通信を実現する要求が含まれる。また、初期化の後、データベースサーバプロセス104は、プロセス間通信によって他のプロセスからのデータベースに対する操作の要求を受信するシステムコールを発行し、待ち状態に入る。   Since the database server process 104 is a process for executing a program for realizing the database management system as described above, the database server process 104 is activated prior to an operation on the database. The database server process 104 performs necessary initialization after startup. The necessary initialization includes a request for realizing necessary inter-process communication for the operating system operating in the kernel space 102. Further, after initialization, the database server process 104 issues a system call for receiving a request for an operation on the database from another process through inter-process communication, and enters a wait state.

データベースサーバプロセス104が、クライアントプロセス105からデータベースコマンドを受信し、受信したデータベースコマンドを実行するときには、データベースコマンドの内容を二次記憶装置などのハードウェアに記録するためにシステムコールを発行する。この目的の一つは、ログを取るためである。例えば、トランザクション中においてデータベースサーバプロセス104がデータベースに対する操作を行うときに、トランザクションをロールバック可能とするためである。また、別の目的としては、障害が発生した時点以降に行われたデータベースに対する操作をデータベースに反映するために用いられる。   When the database server process 104 receives a database command from the client process 105 and executes the received database command, it issues a system call to record the contents of the database command in hardware such as a secondary storage device. One of the purposes is for logging. For example, the transaction can be rolled back when the database server process 104 performs an operation on the database during the transaction. Another purpose is to reflect in the database operations on the database performed after the point of failure.

[受信プロセス109]
受信プロセス109は、システムコールを発行することによりクライアントプロセス105が送信するデータを受信する。このデータは、クライアントプロセス105の一部であり、後述する転送モジュール108から送信される。受信プロセス109の一般的な例としては、データベースサーバプロセス104が管理するデータベースとはデータの格納の形式やデータモデルが異なるシステムに受信したデータを送信するプロセスを挙げることができる。
[Reception process 109]
The reception process 109 receives data transmitted by the client process 105 by issuing a system call. This data is a part of the client process 105 and is transmitted from the transfer module 108 described later. As a general example of the reception process 109, a process of transmitting received data to a system having a different data storage format or data model from the database managed by the database server process 104 can be cited.

このようなデータの格納の形式やデータモデルが異なるシステムとしては、例えば、Hadoop、Key Value Storeなどを挙げることができる。また、このようなデータの格納の形式やデータモデルが異なるシステムは、データベースサーバ100にて動作していてもよいし、データベースサーバ100と異なるサーバにて動作していてもよい。このとき、受信プロセス109は、クライアントプロセス105より送信されたデータを、Hadoop、KeyValue Storeなどの送信先のシステムのデータの形式に適合するように変換を行ってから、送信先に送信してもよい。変換のルールが、データベースサーバ100の記憶装置などに記憶されている場合には、受信プロセス109は、そのルールを読み取り、読み取られたルールに従って変換を行ってデータを送信してもよい。   Examples of such systems with different data storage formats and data models include Hadoop and Key Value Store. Further, such systems with different data storage formats and data models may be operated on the database server 100 or may be operated on a server different from the database server 100. At this time, the reception process 109 may convert the data transmitted from the client process 105 so that the data conforms to the data format of the transmission destination system such as Hadoop or KeyValue Store, and then transmit the data to the transmission destination. Good. When the conversion rule is stored in the storage device of the database server 100 or the like, the reception process 109 may read the rule, perform conversion according to the read rule, and transmit data.

なお、具体的な一例としては、クライアントプロセス105が外国為替のレート情報を受信したり、株価の情報を受信したりし、この受信した情報をデータベースサーバプロセス104へ送信する場合において、受信プロセス109がレート情報や株価の情報を用いて取引を行うプロセスにレート情報や株価の情報を配信する。また、受信プロセス109が、レート情報や株価の情報を用いて取引を行うプロセスそのものであってもよい。   As a specific example, when the client process 105 receives foreign exchange rate information or stock price information and transmits the received information to the database server process 104, the receiving process 109 Distributes rate information and stock price information to the process of performing transactions using rate information and stock price information. Further, the reception process 109 may be a process itself for performing a transaction using rate information or stock price information.

[クライアントプロセス105]
クライアントプロセス105は、クライアントモジュール106とデータベースドライバ107とを有する。クライアントモジュール106は、クライアントプロセス105のうち、データベースに対する操作を実行するためのモジュールである。クライアントモジュール106に、データベースに対する操作を行う必要が生じると、クライアントモジュール106からデータベースドライバ107の関数が呼び出されたり、メソッドが呼び出されたりする。クライアントプロセス105はデータベース操作の要求を送信する。このデータベース操作の要求は、プロセス間通信を介して、データベースドライバ107からデータベースサーバプロセス104に送信される。また、データベース操作の要求に対する処理の実行の結果がデータベースサーバプロセス104からプロセス間通信を介して送信されると、クライアントプロセス105はデータベースドライバ107を用いて受信する。
[Client process 105]
The client process 105 includes a client module 106 and a database driver 107. The client module 106 is a module for executing an operation on the database in the client process 105. When the client module 106 needs to perform an operation on the database, the client module 106 calls a function of the database driver 107 or calls a method. The client process 105 sends a database operation request. This database operation request is transmitted from the database driver 107 to the database server process 104 via interprocess communication. Further, when a result of execution of processing for a database operation request is transmitted from the database server process 104 via inter-process communication, the client process 105 receives it using the database driver 107.

なお、データベースドライバ107は、通常、ライブラリとして提供される。すなわち、クライアントプロセス105のプログラムがコンパイルやビルドがされるときに、組み込まれる。また、データベースドライバ107は、動的ライブラリとして提供されてもよい。この場合、クライアントプロセス105のプログラムがコンパイルやビルドがされるときに、データベースドライバ107の関数やメソッドなどの情報が組み込まれ、関数やメソッドの実体はクライアントプロセス105の実行時にユーザ空間などに展開されるようになっていてもよい。   The database driver 107 is usually provided as a library. That is, the client process 105 program is incorporated when it is compiled or built. The database driver 107 may be provided as a dynamic library. In this case, when the program of the client process 105 is compiled or built, information such as the function and method of the database driver 107 is incorporated, and the substance of the function and method is expanded in the user space or the like when the client process 105 is executed. It may come to be.

また、データベースドライバ107には転送モジュール108が含まれる。転送モジュール108は、データベース操作の要求に基づくデータを受信プロセス109に送信する。   The database driver 107 includes a transfer module 108. The transfer module 108 transmits data based on the database operation request to the reception process 109.

データベースサーバプロセス104がリレーショナルデータベースを管理する構成であれば、クライアントプロセス105は、SQLなどのデータベース言語を用いたデータベース操作の要求、または、データベース言語に対応する関数呼び出しなどを行うためのシステムコールを発行する。これにより、クライアントプロセス105は、プロセス間通信を介して、データベースサーバプロセス104との間で定められた通信プロトコルに基づきデータベース操作の要求を送信し、その要求に対する処理の実行の結果を受信する。   If the database server process 104 is configured to manage a relational database, the client process 105 makes a system call for performing a database operation request using a database language such as SQL or a function call corresponding to the database language. Issue. As a result, the client process 105 transmits a database operation request based on a communication protocol defined with the database server process 104 via inter-process communication, and receives a result of execution of processing for the request.

より具体的には、クライアントプロセス105が、データベースドライバ107において、データベースに対する操作の要求を表すデータベースコマンドをデータベースサーバプロセス104に送信するためのシステムコールを発行する。これにより、カーネル空間102のプロセス間通信のモジュールが処理を開始し、データベースサーバプロセス104がデータベースコマンドを受信可能な状態となって待ち状態から走行可能な状態となる。また、クライアントプロセス105は、データベースサーバプロセス104からの返信を受信するために待ち状態に入る。   More specifically, the client process 105 issues a system call in the database driver 107 for transmitting a database command representing a request for an operation to the database to the database server process 104. As a result, the inter-process communication module in the kernel space 102 starts processing, and the database server process 104 becomes ready to receive a database command, so that it can run from the wait state. In addition, the client process 105 enters a waiting state in order to receive a reply from the database server process 104.

データベースサーバプロセス104が、データベースコマンドが表わす要求を実行する処理を行うと、その処理の実行の結果を送信するためのシステムコールを発行する。これにより、カーネル空間102のプロセス間通信のモジュールが処理を開始し、クライアントプロセス105が処理の実行の結果を受信可能な状態となって待ち状態から走行可能な状態となる。   When the database server process 104 performs a process of executing a request represented by the database command, it issues a system call for transmitting the result of the execution of the process. As a result, the inter-process communication module in the kernel space 102 starts processing, and the client process 105 becomes ready to receive the result of execution of the processing, so that it can run from the waiting state.

本実施形態においては、データベースドライバ107は、上述の動作に加え、データベース操作の要求であるデータベースコマンドを解析する。この解析は、データベースサーバプロセス104によるデータベースコマンドの実行により、データベースの特定のエリアに格納されるデータの変更操作が行われるかどうかをデータベースドライバ107が予測して判定する処理である。なお、データベースドライバ107が、データベースコマンドの実行により、データベースの特定のエリアに格納されるデータの変更操作が行われるかどうかをデータベースサーバプロセス104に問い合わせ、その結果に基づいて、この判定を行ってもよい。例えば、動的SQLのPREPARE文のように、データベースサーバプロセス104によってデータ操作が行われないようなSQL文などを実行して、このような問い合わせが行われてもよい。   In the present embodiment, the database driver 107 analyzes a database command which is a request for database operation in addition to the above-described operation. This analysis is a process in which the database driver 107 predicts and determines whether or not an operation for changing data stored in a specific area of the database is performed by executing a database command by the database server process 104. The database driver 107 inquires of the database server process 104 whether or not an operation for changing data stored in a specific area of the database is performed by executing the database command, and performs this determination based on the result. Also good. For example, such a query may be performed by executing a SQL statement that does not perform data manipulation by the database server process 104, such as a dynamic SQL PREPARE statement.

データベースドライバ107は、データベースの特定のエリアに格納されるデータの変更操作が行われたと判定した場合には、データベースコマンドに基づいて変更後のデータを求め、変更後のデータを転送モジュール108に渡す。転送モジュール108は、データベースドライバ107から渡された変更後のデータを受信プロセス109に転送する。   If the database driver 107 determines that an operation for changing data stored in a specific area of the database has been performed, the database driver 107 obtains the changed data based on the database command and passes the changed data to the transfer module 108. . The transfer module 108 transfers the changed data passed from the database driver 107 to the reception process 109.

なお、データベースドライバ107によってデータベースの特定のエリアに格納されるデータの変更操作が行われたと判定される場合として、予め定められた条件を満たす場合としてもよい。例えば、データベースがリレーショナルデータベースであれば、この「予め定められた条件」を満たす場合として、特定のテーブルに対して変更の操作が行われること、また、特定の行データの特定のカラムに対して変更の操作が行われることなどとすればよい。具体的には、前者としては特定のテーブルに行データが追加されることや特定のテーブルの行データが削除されることなどが挙げられ、後者としては特定のテーブルに格納されている行データの一部が変更されることなどが挙げられる。   Note that the database driver 107 may determine that an operation for changing data stored in a specific area of the database has been performed, or may satisfy a predetermined condition. For example, if the database is a relational database, a change operation is performed on a specific table and a specific column of specific row data is set as a case where this “predetermined condition” is satisfied. For example, a change operation may be performed. Specifically, the former includes the addition of row data to a specific table and the deletion of row data in a specific table, and the latter includes the row data stored in a specific table. For example, some changes.

また、この「予め定められた条件」は、受信プロセス109またはデータベースサーバプロセス104により設定されてもよい。   Further, this “predetermined condition” may be set by the reception process 109 or the database server process 104.

[データの送信例]
以下では、INSERT文とUPDATE文とがデータベースサーバ100において実行される場合について説明する。例えば、列としてC1、C2およびC3を有するテーブルRにデータ(V1,V2,V3)が追加される場合に、クライアントプロセス105は、
INSERT INTO R(C1,C2,C3) VALUES (V1,V2,V3);
というSQL文あるいはそれに相当する関数を実行することになる。この場合、このSQL文を表わすデータベースコマンドが、クライアントモジュール106から送信され、データベースドライバ107およびプロセス間通信を介して、データベースサーバプロセス104へ送信される。
[Data transmission example]
Hereinafter, a case where the INSERT statement and the UPDATE statement are executed in the database server 100 will be described. For example, when data (V1, V2, V3) is added to a table R having C1, C2, and C3 as columns, the client process 105
INSERT INTOR (C1, C2, C3) VALUES (V1, V2, V3);
The SQL statement or the function corresponding to it is executed. In this case, a database command representing this SQL statement is transmitted from the client module 106 and transmitted to the database server process 104 via the database driver 107 and interprocess communication.

データベースサーバプロセス104は、上記のINSERT文を表わすデータベースコマンドを受信すると、テーブルRにデータ(V1,V2,V3)を追加するとともに、テーブルRにデータ(V1,V2,V3)が追加されるという変更の内容を書き込むためのシステムコールを発行する。   When the database server process 104 receives the database command representing the INSERT statement, it adds data (V1, V2, V3) to the table R and adds data (V1, V2, V3) to the table R. Issue a system call to write the changes.

一方、「データベースの特定エリアに格納されるデータ」が、テーブルRに追加されたデータとして設定されている場合には、データベースドライバ107は、クライアントモジュール106から送信されたデータベースコマンドが、テーブルRに対するデータの追加を表していると判定し、(V1,V2,V3)というデータを転送モジュール108に渡す。転送モジュール108は、渡された(V1,V2,V3)というデータを受信プロセス109に転送する。このとき、INSERT文により追加されたデータを特定できるようにするために、主キーの値が含まれていてもよい。   On the other hand, when “data stored in a specific area of the database” is set as data added to the table R, the database driver 107 indicates that the database command transmitted from the client module 106 is in response to the table R. It is determined that the data addition is indicated, and data (V1, V2, V3) is transferred to the transfer module 108. The transfer module 108 transfers the received data (V1, V2, V3) to the reception process 109. At this time, the value of the primary key may be included so that the data added by the INSERT statement can be specified.

なお、データベースドライバ107は、(V1,V2,V3)というデータを転送モジュール108に渡す代わりに、V1、V2およびV3の一部を転送モジュール108に渡してもよい。この場合には、V1、V2およびV3の一部が受信プロセス109に転送される。また、データベースドライバ107は、判定を行った時刻などの時刻データなどの付加データを、上記のようにして送信するデータに付加してもよい。   Note that the database driver 107 may pass a part of V1, V2, and V3 to the transfer module 108 instead of passing the data (V1, V2, V3) to the transfer module 108. In this case, a part of V1, V2 and V3 is transferred to the reception process 109. Further, the database driver 107 may add additional data such as time data such as the time of determination to the data to be transmitted as described above.

また、テーブルRの列C1が主キーの列であれば、データベースドライバ107は、主キーの列の値であるV1を記憶することもできる。このようにすることにより、テーブルRのもっとも最近にテーブルに追加されたデータは、C1の値がV1であることにより特定される。このとき、クライアントプロセス105が、
UPDATE R SET C2=V4,C3=V5 WHERE C1=V1;
というSQL文あるいはそれに相当する関数を実行したとすると、データベースサーバプロセス104は、これに対応するSQLコマンドを実行するとともに、データの変更後のデータを表わす(V1,V4,V5)の値を書き込むためのシステムコールを発行する。
Further, if the column C1 of the table R is a primary key column, the database driver 107 can also store V1, which is the value of the primary key column. By doing so, the most recently added data of the table R is specified by the value of C1 being V1. At this time, the client process 105
UPDATE R SET C2 = V4, C3 = V5 WHERE C1 = V1;
Is executed, the database server process 104 executes the corresponding SQL command and writes the values (V1, V4, V5) representing the data after the data change. Issue a system call for

一方、データベースドライバ107は、テーブルRのデータのうち列の値がV1である行に対する変更を表わしていると判定し、変更後のデータである(V1、V4、V5)を求め、(V1、V4、V5)というデータを転送モジュール108に渡す。転送モジュール108は、渡された(V1,V4,V5)というデータを受信プロセス109に転送する。このとき、INSERT文により追加されたデータを特定できるようにするために、主キーの値が含まれていてもよい。   On the other hand, the database driver 107 determines that it represents a change to the row whose column value is V1 in the data of the table R, and obtains the changed data (V1, V4, V5) and (V1, V4, V5) is transferred to the transfer module 108. The transfer module 108 transfers the received data (V1, V4, V5) to the reception process 109. At this time, the value of the primary key may be included so that the data added by the INSERT statement can be specified.

なお、データベースドライバ107は、(V1,V4,V5)というデータを転送モジュール108に渡す代わりに、V4およびV5の一部またはすべてを転送モジュール108に渡してもよい。この場合には、V4およびV5の一部またはすべてが受信プロセス109に転送される。また、データベースドライバ107は、判断を行った時刻などの時刻データなどの付加データを、上記のようにして送信するデータに付加してもよい。   The database driver 107 may pass part or all of V4 and V5 to the transfer module 108 instead of passing the data (V1, V4, V5) to the transfer module 108. In this case, part or all of V4 and V5 is transferred to the reception process 109. Further, the database driver 107 may add additional data such as time data such as the time of determination to the data to be transmitted as described above.

[データベースドライバ107の動作]
続いて、データベースドライバ107の処理について、データベースサーバプロセス104へデータベースコマンドを送信する場合と、データベースサーバプロセス104から実行の結果を受信する場合とに分けて説明する。まず、データベースサーバプロセス104へデータベースコマンドを送信する場合のデータベースドライバ107の処理について説明する。
[Operation of Database Driver 107]
Next, the processing of the database driver 107 will be described separately for a case where a database command is transmitted to the database server process 104 and a case where an execution result is received from the database server process 104. First, processing of the database driver 107 when a database command is transmitted to the database server process 104 will be described.

図2は、本発明の一実施形態に係るデータベースコマンドを送信するときのデータベースドライバ107の処理のフローチャートである。まず、データベースドライバ107は、クライアントモジュール106からデータベースコマンドが送信されるのを待つ(ステップS110;No)。クライアントモジュール106からデータベースコマンドが送信されると(ステップS110;Yes)、データベースドライバ107は、データベースコマンドを解析し、特定のテーブルに対するデータ操作を表わしているかどうかを判定する(ステップS120)。なお、ここでは、「データベースの特定エリアに格納されるデータ」であるかどうかの判定をする例として「特定のテーブルに対するデータ操作が行われる」かの判定として説明している。   FIG. 2 is a flowchart of processing of the database driver 107 when transmitting a database command according to an embodiment of the present invention. First, the database driver 107 waits for a database command to be transmitted from the client module 106 (step S110; No). When a database command is transmitted from the client module 106 (step S110; Yes), the database driver 107 analyzes the database command and determines whether it represents a data operation on a specific table (step S120). Here, as an example of determining whether or not “data stored in a specific area of the database” is described as determining whether or not “a data operation is performed on a specific table”.

解析したデータベースコマンドが特定のテーブルに対するデータ操作を表している場合(ステップS120;Yes)には、データベースドライバ107は、データ操作後のデータを求める(ステップS130)。転送モジュール108は、データベースドライバ107が求めたデータが渡され、渡されたデータを受信プロセス109に転送する(ステップS140)。   If the analyzed database command represents a data operation on a specific table (step S120; Yes), the database driver 107 obtains data after the data operation (step S130). The transfer module 108 receives the data obtained by the database driver 107 and transfers the received data to the reception process 109 (step S140).

続いて、ステップS140の処理の後、または、ステップS120において解析したデータベースコマンドが特定のテーブルに対するデータ操作を表していない場合(ステップS120;No)には、データベースドライバ107は、データベースサーバプロセス105へデータベースコマンドを送信する(ステップS150)。データベースドライバ107は、図2に示す処理を終了する指示がない場合(ステップS160;No)には、ステップS110に戻って処理を続け、図2に示す処理を終了する指示があった場合(ステップS160;Yes)には、処理を終了する。   Subsequently, after the process of step S140 or when the database command analyzed in step S120 does not represent a data operation for a specific table (step S120; No), the database driver 107 proceeds to the database server process 105. A database command is transmitted (step S150). If there is no instruction to end the process shown in FIG. 2 (step S160; No), the database driver 107 returns to step S110 to continue the process, and if there is an instruction to end the process shown in FIG. In S160; Yes, the process is terminated.

続いて、データベースサーバプロセス104から実行の結果を受信する場合のデータベースドライバ107の処理について説明する。   Next, processing of the database driver 107 when receiving an execution result from the database server process 104 will be described.

図3は、本発明の一実施形態に係るデータベースサーバプロセス104から実行の結果を受信するときのデータベースドライバ107の処理のフローチャートである。まず、データベースドライバ107は、データベースサーバプロセス104からデータベースコマンドの処理の実行の結果が送信されるのを待つ(ステップS210;No)。実行の結果が送信されると(ステップS210;Yes)、データベースドライバ107は、データベースコマンドの処理の実行の結果をクライアントモジュール106へ送信する(ステップS220)。データベースドライバ107は、図3に示す処理を終了する指示がない場合(ステップS230;No)には、ステップS210に戻って処理を続け、図3に示す処理を終了する指示があった場合(ステップS230;Yes)には、処理を終了する。   FIG. 3 is a flowchart of the processing of the database driver 107 when receiving the execution result from the database server process 104 according to an embodiment of the present invention. First, the database driver 107 waits for a database command process execution result to be transmitted from the database server process 104 (step S210; No). When the execution result is transmitted (step S210; Yes), the database driver 107 transmits the execution result of the database command processing to the client module 106 (step S220). If there is no instruction to end the process shown in FIG. 3 (step S230; No), the database driver 107 returns to step S210 and continues the process, and if there is an instruction to end the process shown in FIG. In S230; Yes, the process is terminated.

このように、本実施形態に係るデータベースサーバ100においては、クライアントプロセス105におけるデータベースドライバ107がクライアントモジュール106から送信されたデータベースコマンドを解析し、データベースの特定のエリアに格納されるデータが変更されると判定した場合には、変更後のデータを求め、変更後のデータを転送モジュール109に渡し、受信プロセス109において受信できるように構成している。これにより、受信プロセス109は、データベースサーバプロセス104がデータをデータベースに格納するのを待たなくてもデータを得ることができ、データ配信のタイムラグを低減することができる。また、配信されるデータを受信プロセス109またはデータベースドライバ107により変換することも可能である。   As described above, in the database server 100 according to the present embodiment, the database driver 107 in the client process 105 analyzes the database command transmitted from the client module 106, and the data stored in a specific area of the database is changed. Is determined, the changed data is obtained, the changed data is transferred to the transfer module 109, and can be received by the reception process 109. As a result, the reception process 109 can obtain data without waiting for the database server process 104 to store the data in the database, and can reduce the time lag of data distribution. It is also possible to convert the distributed data by the reception process 109 or the database driver 107.

<変形例>
以上、本発明の実施形態およびその実施例について説明したが、本発明は以下のように、様々な態様で実施可能である。
<Modification>
As mentioned above, although embodiment and the Example of this invention were described, this invention can be implemented in various aspects as follows.

[変形例1]
上述した実施形態においては、データベースサーバ100は、1台のコンピュータにより実現されていたが、複数台のコンピュータにより実現されてもよい。例えば、図4に示すように2台のコンピュータにより実現されてもよい。
[Modification 1]
In the embodiment described above, the database server 100 is realized by one computer, but may be realized by a plurality of computers. For example, it may be realized by two computers as shown in FIG.

図4は、本発明の変形例1に係るシステムの機能ブロック図である。図4に示す例では、ハードウェア701とカーネル空間702とユーザ空間703とを有する第1のコンピュータ700Aと、ハードウェア711とカーネル空間712とユーザ空間713とを有する第2のコンピュータ700Bとを用いて本発明を実施することができる。この場合、第1のコンピュータ700Aのユーザ空間703においてデータベースサーバプロセス704が動作し、第2のコンピュータ700Bのユーザ空間713においてクライアントプロセス705および受信プロセス709が動作してもよい。変形例1における各プロセスの機能は、実施形態における各プロセスの機能と同様である。   FIG. 4 is a functional block diagram of a system according to the first modification of the present invention. In the example shown in FIG. 4, a first computer 700A having hardware 701, kernel space 702, and user space 703, and a second computer 700B having hardware 711, kernel space 712, and user space 713 are used. The present invention can be implemented. In this case, the database server process 704 may operate in the user space 703 of the first computer 700A, and the client process 705 and the reception process 709 may operate in the user space 713 of the second computer 700B. The function of each process in the modification 1 is the same as the function of each process in the embodiment.

クライアントプロセス705からデータベースサーバプロセス704に送信されるデータベースコマンドは、第2のコンピュータ700Bのカーネル空間712、ハードウェア711、通信網800、第1のコンピュータ700Aのハードウェア701、カーネル空間702を介してクライアントプロセス705からデータベースサーバプロセス704に送信される。   The database command transmitted from the client process 705 to the database server process 704 is transmitted via the kernel space 712, hardware 711, communication network 800, hardware 701 of the first computer 700A, and kernel space 702 of the second computer 700B. Sent from the client process 705 to the database server process 704.

データベースサーバプロセス704からクライアントプロセス705に送信されるデータベースコマンドの処理の実行の結果は、データベースコマンドとは逆に、第1のコンピュータ700Aのカーネル空間702、ハードウェア701、通信網800、第2のコンピュータ700Bのハードウェア711、カーネル空間712を介してデータベースサーバプロセス704からクライアントプロセス705に送信される。   As a result of executing the processing of the database command transmitted from the database server process 704 to the client process 705, the result of executing the processing of the database command is the kernel space 702, hardware 701, communication network 800, second network of the first computer 700A. The data is transmitted from the database server process 704 to the client process 705 via the hardware 711 and the kernel space 712 of the computer 700B.

100…データベースサーバ、101,701,711…ハードウェア、102,702,712…カーネル空間、103,703,713…ユーザ空間、104,704…データベースサーバ、105,705…クライアントプロセス、106,706…クライアントモジュール、107,707…データベースドライバ、108,708…転送モジュール、109,709…受信プロセス、700A…第1のコンピュータ、700B…第2のコンピュータ、800…通信網 DESCRIPTION OF SYMBOLS 100 ... Database server, 101, 701, 711 ... Hardware, 102, 702, 712 ... Kernel space, 103, 703, 713 ... User space, 104, 704 ... Database server, 105, 705 ... Client process, 106, 706 ... Client module, 107, 707 ... Database driver, 108, 708 ... Transfer module, 109, 709 ... Reception process, 700A ... First computer, 700B ... Second computer, 800 ... Communication network

Claims (2)

データベースへの操作を表すデータベースコマンドを、前記データベースの管理を行うデータベースサーバプロセスに送信するサーバであって、
前記データベースサーバプロセスに送信する前記データベースコマンドを解析して、前記データベースコマンドが前記データベースサーバプロセスに送信された場合に、前記データベースサーバプロセスにより前記データベースの特定エリアに格納されるデータの変更操作が実行されるかどうかを判定する手段と、
前記変更操作が実行されると判定した場合には、前記変更操作に基づくデータを前記データベースサーバプロセスとは異なるプロセスに転送する手段と
を備え、
前記変更操作が実行されるかどうかを判定するときには、前記データベースコマンドが前記データベースの特定のテーブルに対するデータの追加によるものであるかどうかを判定し、
前記変更操作に基づくデータは、前記特定のテーブルに対して追加される前記データの全てまたは一部であり、
前記特定のテーブルに対して追加された主キーの値を記憶し、
前記変更操作が実行されるかどうかを判定するときには、記憶された前記主キーにより特定される前記特定のテーブルのデータの変更操作が実行されるかどうかを判定し、
前記変更操作に基づくデータは、前記変更操作が実行された後の値であるサーバ。
A server that sends a database command representing an operation to a database to a database server process that manages the database,
When the database command to be transmitted to the database server process is analyzed, and the database command is transmitted to the database server process, an operation for changing data stored in a specific area of the database is executed by the database server process Means for determining whether or not
Means for transferring data based on the change operation to a process different from the database server process when it is determined that the change operation is executed;
When determining whether the change operation is performed, determine whether the database command is due to the addition of data to a particular table of the database;
The data based on the change operation is all or part of the data added to the specific table,
Storing the value of the primary key added to the specific table;
When determining whether or not the change operation is executed, it is determined whether or not a change operation of data of the specific table specified by the stored primary key is executed,
The data based on the change operation is a server that is a value after the change operation is executed.
データベースへの操作を表すデータベースコマンドを、前記データベースの管理を行うデータベースサーバプロセスに送信するコンピュータを、
前記データベースサーバプロセスに送信する前記データベースコマンドを解析して、前記データベースコマンドが前記データベースサーバプロセスに送信された場合に、前記データベースサーバプロセスにより前記データベースの特定エリアに格納されるデータの変更操作が実行されるかどうかを判定する手段と、
前記変更操作が実行されると判定した場合には、前記変更操作に基づくデータを前記データベースサーバプロセスとは異なるプロセスに転送する手段として機能させ、
前記変更操作が実行されるかどうかを判定させるときには、前記データベースコマンドが前記データベースの特定のテーブルに対するデータの追加によるものであるかどうかを判定させるためのプログラムであり、
前記変更操作に基づくデータは、前記特定のテーブルに対して追加される前記データの全てまたは一部であり、
さらに前記コンピュータに、
前記特定のテーブルに対して追加された主キーの値を記憶させ、
前記変更操作が実行されるかどうかを判定させるときには、記憶された前記主キーにより特定される前記特定のテーブルのデータの変更操作が実行されるかどうかを判定させるためのプログラムであり、
前記変更操作に基づくデータは、前記変更操作が実行された後の値であるプログラム。
A computer for sending a database command representing an operation to a database to a database server process for managing the database;
When the database command to be transmitted to the database server process is analyzed, and the database command is transmitted to the database server process, an operation for changing data stored in a specific area of the database is executed by the database server process Means for determining whether or not
When it is determined that the change operation is executed, the data based on the change operation is functioned as means for transferring to a process different from the database server process,
A program for determining whether or not the database command is due to the addition of data to a specific table of the database when determining whether or not the change operation is executed;
The data based on the change operation is all or part of the data added to the specific table,
Further to the computer,
Storing the value of the primary key added to the specific table;
When determining whether or not the change operation is executed, a program for determining whether or not the change operation of the data of the specific table specified by the stored primary key is executed,
The data based on the change operation is a program that is a value after the change operation is executed.
JP2014119951A 2014-06-10 2014-06-10 Server and program Expired - Fee Related JP5913440B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014119951A JP5913440B2 (en) 2014-06-10 2014-06-10 Server and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014119951A JP5913440B2 (en) 2014-06-10 2014-06-10 Server and program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012165080A Division JP5748711B2 (en) 2012-07-25 2012-07-25 Database drivers and programs

Publications (2)

Publication Number Publication Date
JP2014194818A true JP2014194818A (en) 2014-10-09
JP5913440B2 JP5913440B2 (en) 2016-04-27

Family

ID=51839938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014119951A Expired - Fee Related JP5913440B2 (en) 2014-06-10 2014-06-10 Server and program

Country Status (1)

Country Link
JP (1) JP5913440B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312112A (en) * 1998-04-30 1999-11-09 Pfu Ltd Computer system having data base duplicating function
JP2003015926A (en) * 2001-06-28 2003-01-17 Nec Corp Update difference extraction system, method and program
US20040167936A1 (en) * 2000-09-27 2004-08-26 Hitachi, Ltd. Replication system and program
JP2006202113A (en) * 2005-01-21 2006-08-03 Tokyo Electric Power Co Inc:The Electronic information backup system
JP2007272648A (en) * 2006-03-31 2007-10-18 Fujitsu Ltd Database system operating method, database system, database device and backup program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312112A (en) * 1998-04-30 1999-11-09 Pfu Ltd Computer system having data base duplicating function
US20040167936A1 (en) * 2000-09-27 2004-08-26 Hitachi, Ltd. Replication system and program
JP2003015926A (en) * 2001-06-28 2003-01-17 Nec Corp Update difference extraction system, method and program
JP2006202113A (en) * 2005-01-21 2006-08-03 Tokyo Electric Power Co Inc:The Electronic information backup system
JP2007272648A (en) * 2006-03-31 2007-10-18 Fujitsu Ltd Database system operating method, database system, database device and backup program

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CSND199800098014; 森山 徹: 'オープンフロント' 日経オープンシステム 第59号, 19980215, pp. 234-239, 日経BP社 *
JPN6015008645; 森山 徹: 'オープンフロント' 日経オープンシステム 第59号, 19980215, pp. 234-239, 日経BP社 *
JPN6015046694; 矢吹 洋一: 'バックアップ/リカバリからレプリケーション、クラスタまで オープンソースDB障害対策マニュアル' DB Magazine 第19巻第11号(通巻260号), 20100301, pp. 42-48, 株式会社翔泳社 *
JPN6015046696; 森山 徹: 'オープンフロント' 日経オープンシステム 第59号, 19980215, pp. 234-239, 日経BP社 *
JPN6015046697; ティワリ シャシャンク: NoSQLプログラミング実践活用技法 初版 Professional NoSQL 第1版, 20120517, pp. 326-329, 株式会社翔泳社 *

Also Published As

Publication number Publication date
JP5913440B2 (en) 2016-04-27

Similar Documents

Publication Publication Date Title
US11509729B2 (en) Field service management mobile offline synchronization
US7673029B2 (en) Grid automation bus to integrate management frameworks for dynamic grid management
ES2765415T3 (en) Microservices-based data processing apparatus, method and program
US9020949B2 (en) Method and system for centralized issue tracking
US8250102B2 (en) Remote storage and management of binary object data
US9898517B2 (en) Declarative synchronization of shared data
US9104483B2 (en) System and method for automating and scheduling remote data transfer and computation for high performance computing
CN111176761A (en) Micro-service calling method and device
US8527995B2 (en) Synchronization system for entities maintained by multiple applications
US20210026714A1 (en) Method and system for implementing a multi-platform framework for shared services
DE102022129468A1 (en) IMPLEMENTATION OF OBJECT VERSIONING AND CONSISTENCY AT SCALING
US10558502B2 (en) Software application runtime having dynamic evaluation functions and parameters
US20060106895A1 (en) Method and subsystem for performing metadata cleanup for replication topologies
US10621163B2 (en) Tracking and reusing function results
JP5748711B2 (en) Database drivers and programs
US20140297736A1 (en) Data interchange system
US20060095480A1 (en) Method and subsystem for performing subset computation for replication topologies
US20110191549A1 (en) Data Array Manipulation
JP5913440B2 (en) Server and program
US20140172955A1 (en) Distributed mobile enterprise application platform
JP5820902B2 (en) Database server
JP5567069B2 (en) Database server
US10133758B2 (en) Cell-based database management system
CN111373365A (en) Pattern syntax
KR102663420B1 (en) Appartus for providing application services, method thereof, and computationally-implementable storage medium for storing a program for providing application services

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20140718

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160401

R150 Certificate of patent or registration of utility model

Ref document number: 5913440

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees