Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3228227B2 - New and old shared library parallel operation system, method, and storage medium storing the program - Google Patents
[go: Go Back, main page]

JP3228227B2 - New and old shared library parallel operation system, method, and storage medium storing the program - Google Patents

New and old shared library parallel operation system, method, and storage medium storing the program

Info

Publication number
JP3228227B2
JP3228227B2 JP16389998A JP16389998A JP3228227B2 JP 3228227 B2 JP3228227 B2 JP 3228227B2 JP 16389998 A JP16389998 A JP 16389998A JP 16389998 A JP16389998 A JP 16389998A JP 3228227 B2 JP3228227 B2 JP 3228227B2
Authority
JP
Japan
Prior art keywords
operation information
parallel operation
function
storage unit
shared library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP16389998A
Other languages
Japanese (ja)
Other versions
JP2000003272A (en
Inventor
功一 平田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP16389998A priority Critical patent/JP3228227B2/en
Publication of JP2000003272A publication Critical patent/JP2000003272A/en
Application granted granted Critical
Publication of JP3228227B2 publication Critical patent/JP3228227B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、システムが大規
模なためにアプリケーションの版数を順次に変更してい
く必要があり、かつ、共有ライブラリを動的に置換でき
るクライアントサーバシステムにおいて、サーバアプリ
ケーションが実装された新旧の共有ライブラリを並行稼
動できるシステム、方法およびそのプログラムを記録し
た記録媒体に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a server application in a client-server system in which the version of an application must be changed sequentially because the system is large-scale and a shared library can be dynamically replaced. The present invention relates to a system, a method, and a recording medium on which a program thereof is recorded, in which old and new shared libraries on which the program is implemented can be operated in parallel.

【0002】[0002]

【従来の技術】従来のクライアントサーバシステムにお
いては、一つ以上の関数のオブジェクトをまとめたオブ
ジェクトファイルを共有ライブラリとして稼動させてい
る。そして、このシステムにおいては、各共有ライブラ
リとその共有ライブラリにそれぞれ含まれている関数と
の対応関係を、対応情報として予めオブジェクトファイ
ルに定義している。その結果、このシステムでは、次に
説明するように、共有ライブラリを動的に置換すること
ができる。
2. Description of the Related Art In a conventional client server system, an object file in which objects of one or more functions are put together is operated as a shared library. In this system, the correspondence between each shared library and the function included in each shared library is defined in advance in the object file as correspondence information. As a result, this system can dynamically replace a shared library, as described below.

【0003】すなわち、従来のシステムでは、アプリケ
ーションから、特定の関数の呼び出し要求があった場
合、ファイルに定義された対応情報を検索する。そし
て、検索の結果得られた対応情報に基づいて共有ライブ
ラリからその特定の関数を呼び出す。そして、従来のシ
ステムでは、新しい関数を呼び出すために利用者が任意
のタイミングで、対応情報を動的に変更することができ
る。その結果、動的に変更した新しい関数を共有ライブ
ラリから呼び出すことができる。
That is, in a conventional system, when a request for calling a specific function is issued from an application, the corresponding information defined in a file is searched. Then, the specific function is called from the shared library based on the correspondence information obtained as a result of the search. In the conventional system, the user can dynamically change the correspondence information at an arbitrary timing to call a new function. As a result, dynamically changed new functions can be called from the shared library.

【0004】[0004]

【発明が解決しようとする課題】大規模なクライアント
サーバシステムにおいては、一に全てのクライアント
側のアプリケーションを更新することが困難である。そ
のため、一部分のクライアントずつ順次にアプリケーシ
ョンを更新させることが望ましい。
In the [invention is a problem to be solved] large-scale client-server system, it is difficult to update all of the client side of the application at a time. Therefore, it is desirable to sequentially update the application for each of a part of the clients.

【0005】ところで、クライアントアプリケーション
を更新する際には、サーバ側のアプリケーションも更新
する必要がある場合がある。その場合、クライアント側
でアプリケーションを順次に更新させている間、サーバ
では、新旧両方のサーバアプリケーションを併存させて
おく必要がある。そのためには、新旧両方のサーバアプ
リケーションにそれぞれ対応する新旧両方の共有ライブ
ラリを並行稼動させなければならない。
[0005] By the way, when updating a client application, it is sometimes necessary to update a server-side application. In this case, both the new and old server applications need to coexist in the server while the client sequentially updates the applications. For that purpose, both the new and old shared libraries corresponding to both the new and old server applications must be operated in parallel.

【0006】しかしながら、上述した従来のシステムに
おいては、共有ライブラリおよび関数のリビジョン(版
数)が管理されていない。このため、新旧の共有ライブ
ラリおよび関数を併存させて並行稼動させることができ
ないという問題があった。
However, in the above-mentioned conventional system, revisions (version numbers) of shared libraries and functions are not managed. For this reason, there has been a problem that the old and new shared libraries and functions cannot coexist and operate in parallel.

【0007】また、上述した従来のシステムにおいて
は、共有ライブラリおよび関数は、対応情報のみで管理
されている。すなわち、対応情報は、サーバプロセスご
とに定義されていない。このため、従来のシステムで
は、各サーバプロセス(実行型ファイル)にそれぞれ異
なる共有ライブラリを個別にリンクさせることができな
い。すなわち、サーバアプリケーションの作成の際に
は、共通ライブラリが、全てのサーバプロセスにリンク
されてしまう。その結果、従来のシステムにおいては、
アプリケーション作成の自由度が低いという問題があっ
た。
Further, in the above-mentioned conventional system, the shared library and the function are managed only by the correspondence information. That is, the correspondence information is not defined for each server process. For this reason, in the conventional system, different shared libraries cannot be individually linked to each server process (executable file). That is, when a server application is created, the common library is linked to all server processes. As a result, in conventional systems,
There was a problem that the degree of freedom in creating an application was low.

【0008】本発明は、上記の問題を解決すべくなされ
たものであり、新旧の共通ライブラリの並行稼動を可能
とし、アプリケーション作成の自由度の高いシステム、
方法およびそのプログラムを記録した記憶媒体の提供を
目的とする。
The present invention has been made in order to solve the above-mentioned problem, and has a system which enables concurrent operation of new and old common libraries and has a high degree of freedom in creating an application.
It is an object of the present invention to provide a method and a storage medium storing the program.

【0009】[0009]

【課題を解決するための手段】[Means for Solving the Problems]

(新旧共有ライブラリ並行稼動システム) この目的の達成を図るため、この発明の新旧ライブラリ
並行稼動システムによれば、関数のオブジェクトと当該
関数の版数と当該関数の属する共有ライブラリとの対応
関係を示す定義情報を関数ごとに格納しておく定義情報
記憶部と、定義情報および関数のポインタを含む並行稼
動情報を格納するための並行稼動情報記憶部と、システ
ムの起動時に、定義情報記憶部から定義情報を読み出し
て、当該定義情報を並行稼動情報記憶部に格納する並行
稼動情報展開手段と、システムに対して、前記関数の版
数を更新するコマンドが投入されると、並行稼動情報記
憶部に格納されている並行稼動情報を更新して、更新前
の旧共有ライブラリと更新後の新共有ライブラリとを併
存させる並行稼動情報更新手段と、サーバプロセスと、
並行稼動情報をサーバプロセス別にプロセス別並行稼動
情報として格納するためのプロセス別記憶部とを備え、
各サーバプロセスは、それぞれ、サーバプロセスの起動
時に、並行稼動情報記憶部から並行稼動情報を読み出し
て、当該並行稼動情報をサーバプロセス別にプロセス別
並行稼動情報としてプロセス別記憶部に格納するプロセ
ス別展開手段と、関数の呼び出しが要求されると、並行
稼動情報記憶部から並行稼動情報を読み出すとともに、
プロセス別記憶部から当該サーバプロセスのプロセス別
並行稼動情報を読み出して、並行稼動情報とプロセス別
並行稼動情報とを比較し、比較結果が非同期の場合に、
当該プロセス別並行稼動情報を更新するプロセス別更新
手段と、並行稼動情報と同期したプロセス別並行稼動情
報から、呼び出された関数のポインタを検索し、当該ポ
インタに基づいて、指定版数の当該関数を呼び出す関数
呼び出し手段と、を含む構成としてある。
(New and Old Shared Library Parallel Operation System) In order to achieve this object, according to the new and old library parallel operation system of the present invention, the correspondence between the function object, the version number of the function, and the shared library to which the function belongs is indicated. A definition information storage unit for storing definition information for each function, a parallel operation information storage unit for storing parallel operation information including definition information and function pointers, and a definition from the definition information storage unit at system startup A parallel operation information expanding unit for reading the information and storing the definition information in the parallel operation information storage unit; and when a command for updating the version number of the function is input to the system, the parallel operation information storage unit Concurrent operation information updating means for updating the stored concurrent operation information so that the old shared library before the update and the new shared library after the update coexist And the server process,
Process by parallel running parallel operation information for each server process
A storage unit for each process for storing as information ,
Each server process, respectively, when starting the server process, reads out the parallel operation information from the parallel operation information storage unit, the process by the parallel operation information for each server process
When a function call is requested, the parallel operation information is read from the parallel operation information storage unit, and the parallel operation information is read out from the parallel operation information storage unit.
The parallel operation information for each process of the server process is read from the storage unit for each process, and the parallel operation information is compared with the parallel operation information for each process.
A process-specific updating means for updating the process-specific parallel operation information, and a pointer of a called function from a process-specific parallel operation information synchronized with the parallel operation information, and based on the pointer, a function of a designated version number of the function is searched. And a function calling means for calling

【0010】このように、この発明の新旧共有ライブラ
リ並行稼動システムによれば、関数のオブジェクトと当
該関数の版数と当該関数の属する共有ライブラリとの対
応関係を示す定義情報を用いる。すなわち、関数の版数
を管理している。
As described above, according to the new / old shared library parallel operation system of the present invention, the definition information indicating the correspondence between the object of the function, the version number of the function, and the shared library to which the function belongs is used. That is, the version number of the function is managed.

【0011】そして、並行稼動情報更新手段は、関数の
版数を更新するにあたり、並行稼動記憶部に、更新前の
版数の関数が属する旧共有ライブラリと、更新後の版数
の関数の属する新共有ライブラリとを併存させる。さら
に、プロセス別更新部によって、並行稼動情報と、プロ
セス別並行稼動情報とを同期させる結果、同期後のプロ
セス別記憶部においても、旧共有ライブラリと新共有ラ
イブラリとが併存する。その結果、この発明の新旧共有
ライブラリ並行稼動システムによれば、新旧の共有ライ
ブラリおよび関数を併存させて並行稼動させることがで
きる。
When updating the version of the function, the concurrent operation information updating means stores the old shared library to which the function of the version number before the update belongs and the function of the version number after the update to the parallel operation storage unit. Coexist with the new shared library. Furthermore, as a result of synchronizing the parallel operation information with the process-specific parallel operation information by the process-specific updating unit, the old shared library and the new shared library coexist in the synchronized process-specific storage unit. As a result, according to the new and old shared library parallel operation system of the present invention, the old and new shared libraries and functions can coexist and operate in parallel.

【0012】さらに、新旧両方の共有ライブラリを並行
稼動させることができるので、新旧両方の共有ライブラ
リにそれぞれ対応する新旧両方のサーバアプリケーショ
ンを並行稼動させることができる。その結果、新しいク
ライアントアプリケーションに更新された部分について
は、新サーバアプリケーションを稼動させ、一方、古い
クライアントアプリケーションのままの部分について
は、旧サーバアプリケーションを稼動させるとができ
る。このため、一に全てのクライアント側のアプリケ
ーションを更新することが困難な大規模クライアントサ
ーバシステムにおいても、一部分のクライアントずつ順
次にアプリケーションを更新させることができる。
Further, since both the old and new shared libraries can be operated in parallel, both the old and new server applications corresponding to both the old and new shared libraries can be operated in parallel. As a result, the part updated by the new client application can operate the new server application, while the part that remains the old client application can operate the old server application. Therefore, even in difficult large client-server system to update all client-side applications at once, it is possible to sequentially update the application by a portion of the client.

【0013】さらに、この発明の新旧共有ライブラリ並
行稼動システムにおいては、サーバプロセスごとに、定
義情報を含む並行稼動情報を定義している。このため、
各サーバプロセス(実行型ファイル)ごとにそれぞれ異
なる共有ライブラリを個別にリンクさせることができ
る。その結果、アプリケーション作成の自由度の向上を
図ることができる。
Furthermore, in the old and new shared library concurrently operating system of the present invention, each server process, a parallel operation information including definition information are defined. For this reason,
Different shared libraries can be individually linked for each server process (executable file). As a result, the degree of freedom in creating an application can be improved.

【0014】また、この発明の新旧共有ライブラリ並行
稼動システムにおいて、好ましくは、並行稼動情報更新
手段は、並行稼動情報の更新にあたり、情報更新コマン
ドが、関数のうちの特定の関数の版数の更新を指示する
ものである場合、版数の更新後の特定関数が属する新共
有ライブラリを生成し、版数の更新前の特定関数が属し
ていた旧共有ライブラリと該新共有ライブラリとを一つ
のライブラリと見立てた論理ライブラリを生成し、版数
の更新後の特定関数と旧共有ライブラリとの対応関係を
示す定義情報を含む並行稼動情報と、版数の更新前の特
定関数と新共有ライブラリとの対応関係を示す定義情報
を含む並行稼動情報とを併存させ、非特定関数の属して
いた旧共有ライブラリを新共有ライブラリに変更すると
良い。
[0014] In the new and old shared library parallel operation system of the present invention, preferably, the parallel operation information updating means, when updating the parallel operation information, transmits an information update command to a specific function among the functions. If the instruction is to update the version number, a new shared library to which the specific function after updating the version number belongs is generated, and the old shared library and the new shared library to which the specific function before the version number updating belonged are generated. Is generated as a single library, parallel operation information including definition information indicating the correspondence between the specific function after version update and the old shared library, and the specific function and new function before version update. It is preferable to change the old shared library to which the non-specific function belongs to the new shared library by coexisting with parallel operation information including definition information indicating the correspondence relationship with the shared library.

【0015】このような構成とすれば、版数の更新され
た特定の関数についてのみ、新旧の共有ライブラリを並
行稼動させることができる。
With such a configuration, the new and old shared libraries can be operated in parallel only for a specific function whose version number has been updated.

【0016】また、この発明の新旧共有ライブラリ並行
稼動システムにおいて、好ましくは、並行稼動情報およ
びプロセス別並行稼動情報に、更新のたびに値が入れ替
わる置換番号をそれぞれ付与しておき、プロセス別更新
手段は、並行稼動情報とプロセス別並行稼動情報との比
較にあたり、並行稼動情報に含まれる置換番号と、サー
バプロセスのプロセス別並行稼動情報に含まれる置換番
号とを比較して、置換番号どうしが一致した場合に同期
とし、置換番号どうしが不一致の場合に非同期とすると
良い。
Further, in the new and old shared library parallel operation system of the present invention, preferably, a replacement number whose value is replaced each time is updated is added to the parallel operation information and the parallel operation information for each process, respectively. When comparing the parallel operation information with the process-specific parallel operation information, the process-specific updating means compares the replacement number included in the parallel operation information with the replacement number included in the process-specific parallel operation information of the server process , and performs replacement. It is preferable to synchronize when the numbers match each other, and to asynchronous when the replacement numbers do not match.

【0017】このように、置換番号を付与しておけば、
並行稼動情報とサーバプロセスのプロセス別並行同稼動
情報との同期、非同期を容易に判断することができる。
As described above, if a replacement number is given,
Synchronous and asynchronous between the parallel operation information and the process-specific parallel operation information of the server process can be easily determined.

【0018】また、この発明の実施にあたり、関数呼び
出し手段は、関数の呼び出しにあたり、当該関数の版数
が非指定の場合に、最新の版数の当該関数を呼び出すと
良い。このような構成とすれば、指定の版数の関数また
は最新の版数の関数を呼び出すことができる。
In practicing the present invention, when calling a function, the function calling means may call the latest version of the function when the version of the function is not specified. With such a configuration, a function of a specified version number or a function of the latest version number can be called.

【0019】 (新旧共有ライブラリ並行稼動方法) また、新旧共有ライブラリ並行稼動方法によれば、この
発明の定義情報記憶部に、関数のオブジェクトと当該関
数の版数と当該関数の属する共有ライブラリとの対応関
係を示す定義情報を関数ごとに格納しておき、システム
の起動時に、定義情報記憶部から定義情報を読み出し
て、当該定義情報を関数のポインタとともに並行稼動情
報記憶部に格納しシステムに対して、前記関数の版数を
更新するコマンドが投入されると、並行稼動情報記憶部
に格納されている並行稼動情報を更新して、更新前の旧
共有ライブラリと更新後の新共有ライブラリとを併存さ
せ、サーバプロセスの起動時に、並行稼動情報記憶部か
並行稼動情報を読み出して、当該並行稼動情報をサー
バプロセス別にプロセス別並行稼動情報としてプロセス
別記憶部に格納し、関数の呼び出しが要求されると、並
行稼動情報記憶部から並行稼動情報を読み出すととも
に、プロセス別記憶部から当該サーバプロセスのプロセ
ス別並行稼動情報を読み出して、並行稼動情報とプロセ
ス別並行稼動情報とを比較し、比較結果が非同期の場合
に、当該プロセス別並行稼動情報を更新し、並行稼動情
報と同期したプロセス別並行稼動情報から、呼び出され
た関数のポインタを検索し、当該ポインタに基づいて、
指定版数の当該関数を呼び出す方法としてある。
(New and Old Shared Library Parallel Operation Method) According to the new and old shared library parallel operation method, the definition information storage unit of the present invention stores the function object, the version number of the function, and the shared library to which the function belongs. The definition information indicating the correspondence is stored for each function, and at the time of system startup, the definition information is read from the definition information storage unit, and the definition information is stored in the parallel operation information storage unit together with the function pointer, and the When a command for updating the version of the function is input, the parallel operation information stored in the parallel operation information storage unit is updated, and the old shared library before update and the new shared library after update are updated. is comorbid, when starting the server process, reads out the parallel operation information from the parallel operation information storage unit, processes the parallel operation information for each server process Stored in-process storage unit as a separate concurrent operation information, the function call is requested, reads the concurrent operation information from the parallel operation information storage unit, from the process by the storage unit of the server process process <br/> scan The parallel operation information is read out, the parallel operation information is compared with the parallel operation information by the process, and when the comparison result is asynchronous, the parallel operation information by the process is updated, and the parallel operation by the process is synchronized with the parallel operation information. The information is searched for a pointer to the called function, and based on the pointer,
There is a method to call the specified version of the function.

【0020】このように、この発明の新旧共有ライブラ
リ並行稼動方法によれば、前述の新旧共有ライブラリ稼
動システムと同様に、関数のオブジェクトと当該関数の
版数と当該関数の属する共有ライブラリとの対応関係を
示す定義情報を用いる。すなわち、関数の版数を管理し
ている。
As described above, according to the new / old shared library parallel operation method of the present invention, the correspondence between the function object, the version number of the function, and the shared library to which the function belongs is similar to the new / old shared library operation system described above. The definition information indicating the relationship is used. That is, the version number of the function is managed.

【0021】そして、関数の版数を更新するにあたり、
並行稼動記憶部に、更新前の版数の関数が属する旧共有
ライブラリと、更新後の版数の関数の属する新共有ライ
ブラリとを併存させる。さらに、並行稼動情報と、プロ
セス別並行稼動情報とを同期させる結果、同期後のプロ
セス別記憶部においても、旧共有ライブラリと新共有ラ
イブラリとが併存する。その結果、この発明の新旧共有
ライブラリ並行稼動方法によれば、新旧の共有ライブラ
リおよび関数を併存させて並行稼動させることができ
る。
Then, in updating the version of the function,
An old shared library to which the function of the version number before the update belongs and a new shared library to which the function of the version number after the update belongs to the parallel operation storage unit. Furthermore, as a result of synchronizing the parallel operation information with the process-specific parallel operation information, the old shared library and the new shared library coexist in the synchronized process-specific storage unit. As a result, according to the new and old shared library parallel operation method of the present invention, the new and old shared libraries and functions can coexist and operate in parallel.

【0022】さらに、新旧両方の共有ライブラリを並行
稼動させることができるので、新旧両方の共有ライブラ
リにそれぞれ対応する新旧両方のサーバアプリケーショ
ンを並行稼動させることができる。その結果、新しいク
ライアントアプリケーションに更新された部分について
は、新サーバアプリケーションを稼動させ、一方、古い
クライアントアプリケーションのままの部分について
は、旧サーバアプリケーションを稼動させるとができ
る。このため、一たびに全てのクライアント側のアプリ
ケーションを更新することが困難な大規模なクライアン
トサーバシステムにおいても、一部分のクライアントず
つ順次にアプリケーションを更新させることができる。
Further, since both the new and old shared libraries can be operated in parallel, both the new and old server applications corresponding to both the new and old shared libraries can be operated in parallel. As a result, the part updated by the new client application can operate the new server application, while the part that remains the old client application can operate the old server application. Therefore, even in a large-scale client-server system in which it is difficult to update all the client-side applications at one time, it is possible to sequentially update the applications for a part of the clients.

【0023】また、この発明の新旧共有ライブラリ並行
稼動方法においては、サーバプロセスごとに、定義情報
を含む並行稼動情報を、サーバプロセスごとに定義して
いる。このため、各サーバプロセス(実行型ファイル)
ごとにそれぞれ異なる共有ライブラリを個別にリンクさ
せることができる。その結果、アプリケーション作成の
自由度の向上を図ることができる。
In the new and old shared library parallel operation method of the present invention, parallel operation information including definition information is defined for each server process for each server process. Therefore, each server process (executable file)
Different shared libraries can be linked individually for each. As a result, the degree of freedom in creating an application can be improved.

【0024】(記録媒体) また、この発明の記録媒体によれば、定義情報記憶部
に、関数のオブジェクトと当該関数の版数と当該関数の
属する共有ライブラリとの対応関係を示す定義情報を関
数ごとに格納しておき、システムの起動時に、関数のオ
ブジェクトと当該関数の版数と当該関数の属する共有ラ
イブラリとの対応関係を示す定義情報が格納された定義
情報記憶部から該定義情報を読み出して、当該定義情報
を関数のポインタとともに並行稼動情報記憶部に格納す
る処理と、システムに対して、前記関数の版数を更新す
るコマンドが投入されると、並行稼動情報記憶部に格納
されている並行稼動情報を更新して、更新前の旧共有ラ
イブラリと更新後の新共有ライブラリとを併存させる処
理と、サーバプロセスの起動時に、並行稼動情報記憶部
から並行稼動情報を読み出て、当該並行稼動情報をサー
バプロセス別にプロセス別並行稼動情報としてプロセス
別記憶部に格納する処理と、関数の呼び出しが要求され
ると、並行稼動情報記憶部から並行稼動情報を読み出す
とともに、プロセス別記憶部から当該サーバプロセスの
プロセス別並行稼動情報を読み出して、並行稼動情報と
プロセス別並行稼動情報とを比較し、比較結果が非同期
の場合に、当該プロセス別並行稼動情報を更新する処理
と、並行稼動情報と同期したプロセス別並行稼動情報か
ら、呼び出された関数のポインタを検索し、当該ポイン
タに基づいて、指定版数の当該関数を呼び出す処理とを
コンピュータに実行させるプログラムを記録してある。
(Recording Medium) According to the recording medium of the present invention, the definition information storage section stores the definition information indicating the correspondence between the object of the function, the version number of the function, and the shared library to which the function belongs. When the system is started, the definition information is read from the definition information storage unit in which the definition information indicating the correspondence between the object of the function, the version number of the function, and the shared library to which the function belongs is stored. Then, when the definition information is stored in the parallel operation information storage unit together with the pointer of the function, and when a command for updating the version number of the function is input to the system, the definition information is stored in the parallel operation information storage unit. to update the concurrent operation information are, and processing coexist and new shared libraries and an updated front of the old shared library, at the time of start-up of the server process, parallel operation information And read out parallel operation information from the storage unit, and a process of storing in-process storage unit as a process by parallel operation information the concurrent operation information by the server process, the function call is requested, the concurrent operation information storage unit In addition to reading the parallel operation information, it also reads the process-specific parallel operation information of the server process from the process-specific storage unit and compares the parallel operation information with the process-specific parallel operation information. If the comparison result is asynchronous, A process of updating the process-specific parallel operation information, and searching for a pointer of the called function from the process-specific parallel operation information synchronized with the parallel operation information, and calling the function of the designated version number based on the pointer. A program for causing a computer to execute the processing is recorded.

【0025】この発明の記録媒体に記録された、新旧共
有ライブラリ並行稼動プログラムは、コンピュータで読
み取ることが可能である。そして、コンピュータは、こ
のプログラムによって制御される。すなわち、コンピュ
ータが、このプログラムの処理を実行することにより、
新旧共有ライブラリを並行稼動させることができる。
The old and new shared library parallel operation program recorded on the recording medium of the present invention can be read by a computer. The computer is controlled by this program. In other words, the computer executes the processing of this program,
New and old shared libraries can be operated in parallel.

【0026】[0026]

【発明の実施の形態】以下、図面を参照して、この発明
の実施の形態について説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0027】(1.構成について) 先ず、図1を参照して、この実施の形態の新旧共有ライ
ブラリ並行稼動システムの構成について説明する。図1
に示すように、この実施の形態の新旧共有ライブラリ並
行稼動システムは、定義情報記憶部(SG定義情報記憶
部)10、並行稼動情報展開手段12、並行稼動情報記
憶部14、並行稼動コマンド16、並行稼動情報更新手
段18、サーバプロセス20およびプロセス別記憶部
(プロセス別並行稼動記憶部)22を備えている。
(1. Configuration) First, the configuration of the new and old shared library parallel operation system of this embodiment will be described with reference to FIG. FIG.
As shown in FIG. 1, the new and old shared library parallel operation system of this embodiment includes a definition information storage unit (SG definition information storage unit) 10, a parallel operation information development unit 12, a parallel operation information storage unit 14, a parallel operation command 16, A parallel operation information updating unit 18, a server process 20, and a storage unit for each process (parallel operation storage unit for each process) 22 are provided.

【0028】そして、各サーバプロセス20は、それぞ
れプロセス別展開手段(プロセス別並行稼動情報展開手
段)202、プロセス別更新手段(プロセス別並行稼動
情報更新手段)204および関数呼び出し手段206を
備えている。なお、図1においては、代表して一つの
ーバプロセス20を示す。
Each server process 20 includes a process-specific expanding means (process-specific parallel operation information expanding means) 202, a process-specific updating means (process-specific parallel operating information updating means) 204, and a function calling means 206. . In FIG. 1, one support on behalf
2 shows a server process 20.

【0029】また、この定義情報記憶10には、関数
のオブジェクトと当該関数の版数と当該関数の属する共
有ライブラリとの対応関係を示す定義情報を関数ごとに
格納しておく。このように、この新旧共有ライブラリ並
行稼動システムによれば、関数のオブジェクトと当該関
数の版数と当該関数の属する共有ライブラリとの対応関
係を示す定義情報を用いる。すなわち、関数の版数を管
理している。
The definition information storage unit 10 stores, for each function, definition information indicating the correspondence between the object of the function, the version number of the function, and the shared library to which the function belongs. As described above, according to the new and old shared library parallel operation system, the definition information indicating the correspondence between the object of the function, the version number of the function, and the shared library to which the function belongs is used. That is, the version number of the function is managed.

【0030】また、並行稼動情報展開手段12は、シス
テムの起動時に、定義情報記憶部10から定義情報を読
み出して、当該定義情報を並行稼動情報記憶部14に展
開して格納する。
The parallel operation information expanding means 12 reads the definition information from the definition information storage unit 10 when the system is started, and expands and stores the definition information in the parallel operation information storage unit 14.

【0031】また、並行稼動情報記憶部14には、定義
情報および関数のポインタを含む並行稼動情報が格納さ
れる。
The parallel operation information storage unit 14 stores parallel operation information including definition information and function pointers.

【0032】また、並行稼動情報更新手段18は、シス
テムに対して、前記関数の版数を更新するコマンド(並
行稼動コマンド)16が投入されると、並行稼動情報記
憶部に格納されている並行稼動情報を更新する。この並
行移動情報更新手段18は、更新にあたり、定義情報記
憶部10から新しい対応関係情報を読み込んで、この対
応関係情報を、並行稼動情報記憶部14へ格納する。こ
の際、更新前の旧共有ライブラリと更新後の新共有ライ
ブラリとを併存させる。その結果、新旧の共有ライブラ
リおよび関数を併存させて並行稼動させることができ
る。
When a command (parallel operation command) 16 for updating the version of the function is input to the system, the parallel operation information updating means 18 stores the parallel operation information stored in the parallel operation information storage unit. Update operation information. Upon updating, the parallel movement information updating unit 18 reads new correspondence information from the definition information storage unit 10 and stores this correspondence information in the parallel operation information storage unit 14. At this time, the old shared library before the update and the new shared library after the update coexist. As a result, the new and old shared libraries and functions can coexist and operate in parallel.

【0033】また、プロセス別記憶部22は、並行稼動
情報をサーバプロセス別にプロセス別並行稼動情報とし
格納する。
[0033] In addition, per-process storage unit 22, and the process by parallel operation information parallel operation information for each server process
And store.

【0034】そして、各サーバプロセスのプロセス展開
手段202は、サーバプロセスの起動時に、並行稼動情
報記憶部14から並行稼動情報を読み出して、当該並行
稼動情報をサーバプロセス別にプロセス別並行稼動情報
としてプロセス別記憶部22に格納する。
[0034] Then, the process developing means for each server process 202, when starting the server process, reads out the parallel operation information from the parallel operation information storage unit 14, the process by concurrently the parallel <br/> operation information for each server process Operation information
And stores in the process-specific storage unit 22 as.

【0035】このように、サーバプロセスごとに、定義
情報を含む並行稼動情報を、サーバプロセスごとに定義
している。このため、各サーバプロセス(実行型ファイ
ル)ごとにそれぞれ異なる共有ライブラリを個別にリン
クさせることができる。その結果、アプリケーション作
成の自由度の向上を図ることができる。
As described above, the parallel operation information including the definition information is defined for each server process. Therefore, different shared libraries can be individually linked for each server process (executable file). As a result, the degree of freedom in creating an application can be improved.

【0036】また、プロセス別更新新手段204は、関
数の呼び出しが要求されると、並行稼動情報記憶部14
から並行稼動情報を読み出すとともに、プロセス別記憶
部22から当該サーバプロセスのプロセス別並行稼動情
報を読み出す。そして、並行稼動情報とプロセス別並行
稼動情報とを比較する。この比較結果が非同期の場合
に、当該プロセス別並行稼動情報を更新する。
Further, when a function call is requested, the process-specific updating new means 204 executes the concurrent operation information storage unit 14.
, And the process-specific parallel operation information of the server process is read from the process-specific storage unit 22. Then, the parallel operation information is compared with the parallel operation information for each process. When the comparison result is asynchronous, the process-specific parallel operation information is updated.

【0037】また、関数呼び出し手段206は、プロセ
ス別記憶部22において、並行稼動情報と同期したプロ
セス別並行稼動情報の中から、呼び出された関数のポイ
ンタを検索する。そして、当該ポインタに基づいて、指
定版数の当該関数を呼び出す。
The function calling means 206 searches the process-specific storage unit 22 for a pointer of the called function from the process-specific parallel operation information synchronized with the parallel operation information. Then, the function of the designated version number is called based on the pointer.

【0038】このように、新旧両方の共有ライブラリを
並行稼動させて、指定版数の関数を呼び出すことができ
るので、新旧両方の共有ライブラリにそれぞれ対応する
新旧両方のサーバアプリケーションを並行稼動させるこ
とができる。その結果、新しいクライアントアプリケー
ションに更新された部分については、新サーバアプリケ
ーションを稼動させ、一方、古いクライアントアプリケ
ーションのままの部分については、旧サーバアプリケー
ションを稼動させるとができる。このため、一たびに全
てのクライアント側のアプリケーションを更新すること
が困難な大規模なクライアントサーバシステムにおいて
も、一部分のクライアントずつ順次にアプリケーション
を更新させることができる。
As described above, both the old and new shared libraries can be operated in parallel to call the function of the designated version, so that both the old and new server applications respectively corresponding to the old and new shared libraries can be operated in parallel. it can. As a result, the part updated by the new client application can operate the new server application, while the part that remains the old client application can operate the old server application. Therefore, even in a large-scale client-server system in which it is difficult to update all the client-side applications at one time, it is possible to sequentially update the applications for a part of the clients.

【0039】(2.動作について) 次に、この実施の形態の新旧共有ライブラリ並行稼動シ
ステムの動作例、すなわち、新旧共有ライブラリ並行稼
動方法の一例について説明する。
(2. Operation) Next, an operation example of the new and old shared library parallel operation system of this embodiment, that is, an example of a new and old shared library parallel operation method will be described.

【0040】(2.1システム立上げ時) まず、図2を参照して、システム立上げ時の動作につい
て説明する。システムの立上げにあたっては、並行稼動
展開手段12が、定義情報記憶部10から定義情報を読
み出す(図2のS1)。そして、並行稼動展開手段12
は、この定義情報を、関数のポインタとともに並行稼動
情報記憶部14に格納する(図2のS2)。
(2.1 At System Start-Up) First, an operation at the time of system start-up will be described with reference to FIG. When the system is started, the parallel operation deployment unit 12 reads out the definition information from the definition information storage unit 10 (S1 in FIG. 2). Then, the parallel operation deployment means 12
Stores the definition information together with the function pointer in the parallel operation information storage unit 14 (S2 in FIG. 2).

【0041】ここで、図6に、並行稼動情報記憶部14
に格納されている、定義情報およびポインタを含む並行
稼動情報の例を示す。図6の(A)に示すテーブルに
は、共有ライブラリ「APLIB1」、その世代「1」
および置換番号「0」が示されている。この置換番号
は、その共有ライブラリが更新されるたびに「0」と
「1」との値が入れ替わる。
Here, FIG. 6 shows the parallel operation information storage unit 14.
2 shows an example of parallel operation information including definition information and a pointer stored in the. The table shown in FIG. 6A includes the shared library “APLIB1” and its generation “1”.
And the substitution number “0” are shown. This replacement number is replaced with a value of “0” and “1” each time the shared library is updated.

【0042】また、ここでは、共有ライブラリが複数存
在する場合にも共有ライブラリを一つとして扱うため
に、論理ライブラリ「APLIB」を導入する。更新前
の段階では、共有ライブラリが一つであるので、共有ラ
イブラリと論理ライブラリとは一対一に対応している。
Here, a logical library "APLIB" is introduced in order to treat a single shared library even when there are a plurality of shared libraries. At the stage before updating, since there is one shared library, the shared library and the logical library correspond one-to-one.

【0043】また、図6の(B)に示すように、この共
有ライブラリ「APLIB1」には、三つの関数、「F
UNC1」、「FUNC2」および「FUNC3」が含
まれている。更新前の段階では、各関数の版数(関数世
代)は、全て「1」である。
As shown in FIG. 6B, this shared library “APLIB1” includes three functions, “F
"UNC1", "FUNC2", and "FUNC3". At the stage before the update, the version number (function generation) of each function is all “1”.

【0044】(2.2サーバプロセス起動時) 次に、図3を参照して、サーバプロセス起動時の動作に
ついて説明する。サーバプロセスの起動にあたっては、
先ず、起動したサーバプロセス20のプロセス別展開手
段202が、並行稼動情報記憶部14から並行稼動情報
を読み出す(図3のS3)。次に、プロセス展開手段2
02は、当該並行稼動情報をサーバプロセス別にプロセ
ス別並行稼動情報としてプロセス別記憶部22に格納す
る(図3のS4)。
(2.2 When Starting Server Process) Next, referring to FIG. 3, the operation when starting the server process will be described. When starting the server process,
First, the process by developing means 202 of the server process 20 that started reads the concurrent operation information from the parallel operation information storage unit 14 (S3 in FIG. 3). Next, process development means 2
02 indicates that the parallel operation information is processed by server process.
The process- specific parallel operation information is stored in the process-specific storage unit 22 (S4 in FIG. 3).

【0045】ここで、図7に、プロセス別記憶部14に
格納されている、定義情報およびポインタを含むプロセ
ス別並行稼動情報の例を示す。図7の(A)に示すテー
ブルには、図6の(A)のテーブルに示す情報のほか
に、置換状態を示す情報が追加されている。図7の
(A)では、置換状態として、便宜的に「置換済み」と
表示している。
[0045] Here, in FIG. 7, stored in the process stated憶部14 shows an example of a process by parallel operation information including definition information and pointers. In the table shown in FIG. 7A, information indicating the replacement state is added in addition to the information shown in the table of FIG. In FIG. 7A, “replaced” is displayed as a replacement state for convenience.

【0046】また、図7の(B)に示すように、プロセ
ス別並行稼動情報には、関数ポインタが追加されてい
る。図7の(B)では、関数ポインタとして、便宜的に
「設定済み」と表示している。
As shown in FIG. 7B, a function pointer is added to the process-specific parallel operation information. In FIG. 7B, “set” is displayed as a function pointer for convenience.

【0047】(2.3コマンド投入時) 次に、図4を参照して、コマンド投入時の動作について
説明する。システムに対して、利用者から関数の版数を
更新するコマンド16が投入されると、並行稼動情報更
新手段18は、並行稼動情報記憶部12に格納されてい
る並行稼動情報を更新して、更新前の旧共有ライブラリ
と更新後の新共有ライブラリとを併存させる。
(2.3 Command Input) Next, the operation at the time of command input will be described with reference to FIG. When a command 16 for updating the version of a function is input from the user to the system, the parallel operation information updating unit 18 updates the parallel operation information stored in the parallel operation information storage unit 12, The old shared library before the update and the new shared library after the update coexist.

【0048】具体的には、コマンド16が投入される
と、並行稼動情報更新手段18は、まず、定義情報記憶
部10から新しい定義情報(SG定義ファイル)を読み
込む(図4のS5)。次に、並行稼動情報更新手段18
は、この定義情報を、並行稼動情報記憶部14に格納す
ることにより、並行稼動情報を更新する。
Specifically, when the command 16 is input, the concurrent operation information updating means 18 first reads new definition information (SG definition file) from the definition information storage unit 10 (S5 in FIG. 4). Next, the parallel operation information updating means 18
Updates the parallel operation information by storing the definition information in the parallel operation information storage unit 14.

【0049】この実施の形態では、並行稼動情報更新手
段は、並行稼動情報およびプロセス別並行稼動情報の更
新にあたり、コマンドが、関数のうちの特定の関数の版
数の更新を指示するものとする。具体的には、この実施
の形態では、コマンドにより、「FUNC2」の版数
が、「1」から「2」へ更新されたものとする。
In this embodiment, when updating the parallel operation information and the process-specific parallel operation information, the parallel operation information updating means uses a command to update the version number of a specific function among the functions. . More specifically, in this embodiment, it is assumed that the version number of “FUNC2” has been updated from “1” to “2” by a command.

【0050】ここで、図8に、並行稼動情報記憶部14
に格納されている更新後の段階での並行稼動情報を示
す。ここでは、図8の(A)および(B)に示すよう
に、版数の更新後の特定関数「FUNC2」が属する新
共有ライブラリ「APLIB2」を追加する。「APL
IB2」の世代は「2」である。この場合、論理ライブ
ラリ「APLIB」は、「APLIB1」および「AP
LIB2」と対応する、また、「APLIB2」の置換
番号は、更新があったので「1」となる。
Here, FIG. 8 shows the parallel operation information storage unit 14.
Shows the parallel operation information at the stage after the update stored in. Here, as shown in FIGS. 8A and 8B, a new shared library “APLIB2” to which the updated version-specific function “FUNC2” belongs is added. "APL
The generation of “IB2” is “2”. In this case, the logic library “APLIB” is composed of “APLIB1” and “APLIB”.
The replacement number of “APLIB2” corresponding to “LIB2” is “1” because there is an update.

【0051】また、この並行稼動情報では、図8の
(B)に示すように、版数の更新後の特定関数「RUN
C2」と旧共有ライブラリ「APLIB1」との対応関
係を示す定義情報を含む並行稼動情報と、版数の更新前
の特定関数「FUNC2」と新共有ライブラリ「APL
IB2」との対応関係を示す定義情報を含む並行稼動情
報とを併存させる。また、非特定関数「FUNC1」お
よび「FUNC3」の属していた旧共有ライブラリ「A
PLIB1」を新共有ライブラリ「APLIB2」に変
更する。
In the parallel operation information, as shown in FIG. 8B, the specific function “RUN” after the version number is updated
C2 ”and parallel operation information including definition information indicating the correspondence between the old shared library“ APLIB1 ”, the specific function“ FUNC2 ”before the version number update, and the new shared library“ APL1 ”.
IB2 "and concurrent operation information including definition information indicating a correspondence relationship with" IB2 ". In addition, the old shared library “A” to which the non-specific functions “FUNC1” and “FUNC3” belonged.
PLIB1 "is changed to a new shared library" APLIB2 ".

【0052】(2.4関数呼び出し時) 次に、図5を参照して、関数呼び出し時の動作について
説明する。利用者から関数の呼び出しが要求されると、
プロセス別更新手段204は、並行稼動情報記憶部14
から並行稼動情報を読み出す。さらに、プロセス別更新
手段204は、プロセス別記憶部22からプロセス別並
行稼動情報を読み出す。そして、プロセス別変更手段2
04は、並行稼動情報とプロセス別並行稼動情報とを比
較する。具体的には、プロセス別更新手段204は、
稼動情報に含まれる置換番号と、サーバプロセスのプ
ロセス別並行稼動情報に含まれる置換番号とを比較する
(図5のS7)。そして、置換番号どうしが一致した場
合に同期とする。また、置換番号どうしが不一致の場合
に非同期とする。
(2.4 At Function Call) Next, the operation at the time of function call will be described with reference to FIG. When a user requests a function call,
The process-by-process updating unit 204 stores the parallel operation information storage unit 14
Read the parallel operation information from. Further, the process-specific updating unit 204 reads the process-specific parallel operation information from the process-specific storage unit 22. And the process-specific changing means 2
Step 04 compares the parallel operation information with the parallel operation information for each process. Specifically, by updating means 204 processes, parallel
And replacement number that is included in the line operation information, flop in the server process
The replacement number included in the process-specific parallel operation information is compared (S7 in FIG. 5). Then, when the replacement numbers match, synchronization is established. When the replacement numbers do not match each other, it is determined that the numbers are not synchronized.

【0053】この場合、上述したコマンド16の投入に
より、並行稼動情報記憶部14の並行稼動情報が更新さ
れているので、置換番号どうしは一致しない。このた
め、比較結果は、非同期(N)と判定される。その場
合、プロセス別更新手段204は、プロセス別記憶部2
2のプロセス別並行稼動情報を更新する(図5のS
8)。なお、同期(Y)と判定された場合には、プロセ
ス別記憶部22は更新されない。
In this case, the replacement numbers do not match because the parallel operation information in the parallel operation information storage unit 14 has been updated by the input of the command 16 described above. For this reason, the comparison result is determined to be asynchronous (N). In this case, the process-specific updating unit 204 stores the process-specific storage unit 2
2 is updated (S in FIG. 5).
8). If it is determined to be synchronous (Y), the process-specific storage unit 22 is not updated.

【0054】ここで、図9に、更新後のプロセス別並行
稼動情報を示す。図9の(A)では、図8の(A)に示
した並行稼動情報に、「置換状態」を追加している。こ
こでは、置換状態として、便宜的に「置換済み」と表記
している。また、図9の(B)では、図8の(B)に示
した並行稼動情報に、「関数ポインタ」を追加してい
る。ここでは、関数ポインタとして、便宜的に「設定済
み」と表記している。
FIG. 9 shows the parallel operation information for each process after the update. In FIG. 9A, “replaced state” is added to the parallel operation information shown in FIG. 8A. Here, for the sake of convenience, the replacement state is described as “replaced”. In FIG. 9B, a “function pointer” is added to the concurrent operation information shown in FIG. 8B. Here, for convenience, the function pointer is described as “set”.

【0055】さらに、関数呼び出し手段206は、呼び
出す関数の版数の指定の有無を確認する(図5のS
9)。例えば、ここでは、版数「2」の関数「FUNC
2」の呼び出しが要求されているとする。このように版
数が指定されている場合には、その指定版数の関数を呼
び出す。すなわち、版数「2」の関数「FUNC2」が
呼び出される(図5のS10)。
Further, the function calling means 206 confirms whether or not the version number of the function to be called is specified (S in FIG. 5).
9). For example, here, the function “FUNC” of the version number “2” is used.
It is assumed that the call of "2" is requested. When the version number is specified in this way, the function of the specified version number is called. That is, the function “FUNC2” of the version number “2” is called (S10 in FIG. 5).

【0056】また、版数の指定がなく、関数名「FUN
C2」が呼び出された場合には、最新の版数「2」の関
数「FUNC2」が呼び出される(図5のS11)。
Further, since the version number is not specified, the function name "FUN
When "C2" is called, the function "FUNC2" of the latest version number "2" is called (S11 in FIG. 5).

【0057】なお、関数の呼び出しにあたっては、並行
稼動情報と同期したプロセス別並行稼動情報、すなわ
ち、更新後のプロセス別並行情報から、呼び出された関
数のポインタを検索し、当該ポインタに基づいて、指定
版数の当該関数を呼び出す。
When calling the function, the pointer of the called function is searched from the parallel operation information for each process synchronized with the parallel operation information, that is, the updated parallel information for each process, and based on the pointer, Call the specified version of the function.

【0058】上述した実施の形態においては、この発明
を特定の条件で構成した例について説明したが、この発
明は、種々の変更を行うことができる。例えば、上述し
た実施の形態においては、共有ライブラリを構成する一
つの関数「FUNC2」の版数を変更した場合の例につ
いて説明したが、この発明では、共有ライブラリを構成
する、他の関数の版数を変更しても良いし、さらに、複
数の関数の版数を変更しても良い。
In the above-described embodiment, an example has been described in which the present invention is configured under specific conditions. However, the present invention can be variously modified. For example, in the above-described embodiment, an example has been described in which the version number of one function “FUNC2” configuring the shared library is changed. However, in the present invention, the version of another function configuring the shared library is changed. The number may be changed, or the versions of a plurality of functions may be changed.

【0059】また、上述した実施の形態では、新旧二つ
の共有ライブラリを並行稼動させた例について説明した
が、この発明では、三つ以上の供給ライブラリを並行稼
動させても良い。
Further, in the above-described embodiment, an example was described in which two new and old shared libraries were operated in parallel. However, in the present invention, three or more supply libraries may be operated in parallel.

【0060】なお、この実施の形態における新旧共有ラ
イブラリを並行稼動させるプログラムは、例えば、コン
ピュータで読み取り可能な記録媒体として提供される。
記録媒体としては、例えば、磁気記録媒体、光磁気記録
媒体、光記録媒体、半導体メモリを挙げることができ
る。さらに、磁気記録媒体としては,例えば、FD(フ
ロッピー・ディスク)を挙げることができる。また、光
記録媒体としては、例えば、CD−ROM(シー・ディ
ー・ロム)を挙げることができる。
The program for operating the new and old shared libraries in parallel in this embodiment is provided, for example, as a computer-readable recording medium.
Examples of the recording medium include a magnetic recording medium, a magneto-optical recording medium, an optical recording medium, and a semiconductor memory. Further, as the magnetic recording medium, for example, an FD (floppy disk) can be cited. Further, as the optical recording medium, for example, a CD-ROM (CD ROM) can be mentioned.

【0061】そして、これらの記録媒体を例えばコンピ
ュータに装填して、この記録媒体に記録されたプログラ
ムをコンピュータに読み取らせる。コンピュータは読み
取ったこのプログラムに従って、この実施の形態で説明
した処理を実行する。その結果、新旧共有ライブラリを
並行稼動させることができる。
Then, these recording media are loaded into, for example, a computer, and the program recorded on the recording medium is read by the computer. The computer executes the processing described in this embodiment according to the read program. As a result, the old and new shared libraries can be operated in parallel.

【0062】[0062]

【発明の効果】以上、詳細に説明した様に、この発明に
よれば、関数のオブジェクトと当該関数の版数と当該関
数の属する共有ライブラリとの対応関係を示す定義情報
を用いる。すなわち、関数の版数を管理する。そして、
関数の版数を更新するにあたり、並行稼動記憶部および
プロセス別記憶部に、新旧両方の共有ライブラリとを併
存させる。その結果、新旧の共有ライブラリおよび関数
を併存させて並行稼動させることができる。
As described above, according to the present invention, the definition information indicating the correspondence between the function object, the version number of the function, and the shared library to which the function belongs is used. That is, the version number of the function is managed. And
In updating the version number of the function, both the new and old shared libraries are made to coexist in the parallel operation storage unit and the process-specific storage unit. As a result, the new and old shared libraries and functions can coexist and operate in parallel.

【0063】さらに、新旧両方の共有ライブラリを並行
稼動させることができるので、新旧両方の共有ライブラ
リにそれぞれ対応する新旧両方のサーバアプリケーショ
ンを並行稼動させることができる。その結果、一部分の
クライアントずつ順次にアプリケーションを更新させる
ことができる。
Further, since both the old and new shared libraries can be operated in parallel, both the new and old server applications corresponding to both the old and new shared libraries can be operated in parallel. As a result, the application can be sequentially updated for each of a part of the clients.

【0064】また、この発明の新旧共有ライブラリ並行
稼動方法においては、サーバプロセスごとに、定義情報
を含む並行稼動情報を、サーバプロセスごとに定義して
いる。このため、各サーバプロセスごとにそれぞれ異な
る共有ライブラリを個別にリンクさせることができる。
その結果、アプリケーション作成の自由度の向上を図る
ことができる。
In the new and old shared library parallel operation method of the present invention, parallel operation information including definition information is defined for each server process. Therefore, different shared libraries can be individually linked for each server process.
As a result, the degree of freedom in creating an application can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】実施の形態の新旧共有ライブラリ並行稼動シス
テムの構成を説明するための機能ブロック図である。
FIG. 1 is a functional block diagram illustrating a configuration of a new and old shared library parallel operation system according to an embodiment;

【図2】実施の形態の新旧共有ライブラリ並行稼動方法
において、システム立上げ時の動作を説明するためのフ
ローチャートである。
FIG. 2 is a flowchart for explaining an operation at system startup in the new and old shared library parallel operation method of the embodiment;

【図3】実施の形態の新旧共有ライブラリ並行稼動方法
において、サーバプロセス起動時の動作を説明するため
のフローチャートである。
FIG. 3 is a flowchart illustrating an operation at the time of starting a server process in the new and old shared library parallel operation method according to the embodiment;

【図4】実施の形態の新旧共有ライブラリ並行稼動方法
において、並行稼動コマンド投入時の動作を説明するた
めのフローチャートである。
FIG. 4 is a flowchart illustrating an operation when a concurrent operation command is input in the new and old shared library parallel operation method according to the embodiment;

【図5】実施の形態の新旧共有ライブラリ並行稼動方法
において、関数呼び出し時の動作を説明するためのフロ
ーチャートである。
FIG. 5 is a flowchart illustrating an operation when a function is called in the new and old shared library parallel operation method according to the embodiment;

【図6】(A)および(B)は、並行稼動情報記憶部に
格納されている、更新前の並行稼動情報について説明す
るための図である。
FIGS. 6A and 6B are diagrams for explaining pre-update parallel operation information stored in a parallel operation information storage unit;

【図7】(A)および(B)は、プロセス別並行稼動情
報記憶部に格納されている、更新前のプロセス別並行稼
動情報について説明するための図である。
FIGS. 7A and 7B are diagrams for explaining process-specific parallel operation information before update stored in a process-specific parallel operation information storage unit;

【図8】(A)および(B)は、並行稼動情報記憶部に
格納されている、更新後の並行稼動情報について説明す
るための図である。
FIGS. 8A and 8B are diagrams for explaining updated parallel operation information stored in a parallel operation information storage unit.

【図9】(A)および(B)は、プロセス別並行稼動情
報記憶部に格納されている、更新後のプロセス別並行稼
動情報について説明するための図である。
FIGS. 9A and 9B are diagrams for explaining updated process-specific parallel operation information stored in the process-specific parallel operation information storage unit;

【符号の説明】[Explanation of symbols]

10 SG定義情報記憶部 12 並行稼動情報展開手段 14 並行稼動情報記憶部 16 並行稼動コマンド 18 並行稼動情報更新手段 20 サーバプロセス 22 プロセス別並行稼動情報記憶部 202 プロセス別並行稼動情報展開手段 204 プロセス別並行稼動情報更新手段 206 関数呼び出し手段 DESCRIPTION OF SYMBOLS 10 SG definition information storage part 12 Parallel operation information development means 14 Parallel operation information storage part 16 Parallel operation command 18 Parallel operation information update means 20 Server process 22 Parallel operation information storage part for every process 202 Parallel operation information development means for each process 204 Process Concurrent operation information updating means 206 Function calling means

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 関数のオブジェクトと当該関数の版数と
当該関数の属する共有ライブラリとの対応関係を示す定
義情報を関数ごとに格納しておく定義情報記憶部と、 前記定義情報および前記関数のポインタを含む並行稼動
情報を格納するための並行稼動情報記憶部と、 システムの起動時に、前記定義情報記憶部から前記定義
情報を読み出して、当該定義情報を前記並行稼動情報記
憶部に格納する並行稼動情報展開手段と、 前記システムに対して、前記関数の版数を更新するコマ
ンドが投入されると、前記並行稼動情報記憶部に格納さ
れている前記並行稼動情報を更新して、更新前の旧共有
ライブラリと更新後の新共有ライブラリとを併存させる
並行稼動情報更新手段と、 サーバプロセスと、 前記並行稼動情報をサーバプロセス別にプロセス別並行
稼動情報として格納するためのプロセス別記憶部とを備
え、 各サーバプロセスは、それぞれ、 前記サーバプロセスの起動時に、前記並行稼動情報記憶
部から前記並行稼動情報を読み出して、当該並行稼動情
報をサーバプロセス別にプロセス別並行稼動情報として
前記プロセス別記憶部に格納するプロセス別展開手段
と、 関数の呼び出しが要求されると、前記並行稼動情報記憶
部から前記並行稼動情報を読み出すとともに、前記プロ
セス別記憶部から当該サーバプロセスのプロセス別並行
稼動情報を読み出して、該並行稼動情報と該プロセス別
並行稼動情報とを比較し、比較結果が非同期の場合に、
当該プロセス別並行稼動情報を更新するプロセス別更新
手段と、 前記並行稼動情報と同期した前記プロセス別並行稼動情
報から、呼び出された関数のポインタを検索し、当該ポ
インタに基づいて、指定版数の当該関数を呼び出す関数
呼び出し手段と、 を含むことを特徴とする新旧共有ライブラリ並行稼動シ
ステム。
A definition information storage unit for storing, for each function, definition information indicating a correspondence between a function object, a version number of the function, and a shared library to which the function belongs; A parallel operation information storage unit for storing parallel operation information including a pointer; and a parallel operation for reading out the definition information from the definition information storage unit when the system is started, and storing the definition information in the parallel operation information storage unit. When a command for updating the version number of the function is input to the operation information expanding means and the system, the parallel operation information stored in the parallel operation information storage unit is updated. a parallel operating information updating means coexist with the new shared library after updating the old shared libraries, and server processes, the parallel operation information by the server process Concurrent
A process-specific storage unit for storing as the operation information , wherein each server process reads the parallel operation information from the parallel operation information storage unit when the server process starts, and stores the parallel operation information in the server. A process-specific expansion unit that stores in the process-specific storage unit as process-specific parallel operation information in the process-specific storage unit, and when a function call is requested, the parallel operation information is read from the parallel operation information storage unit, Reading the parallel operation information by process of the server process from the storage unit by process, comparing the parallel operation information with the parallel operation information by process, and when the comparison result is asynchronous,
A process-specific updating means for updating the process-specific parallel operation information; and a process-specific parallel operation information synchronized with the parallel operation information, searching for a pointer of a called function, and, based on the pointer, A new and old shared library parallel operation system, comprising: function calling means for calling the function.
【請求項2】 請求項1に記載の新旧共有ライブラリ
稼動システムにおいて、 前記並行稼動情報更新手段は、並行稼動情報の更新にあ
たり、 情報更新コマンドが、関数のうちの特定の関数の版数の
更新を指示するものである場合、 版数の更新後の特定関数が属する新共有ライブラリを生
成し、 版数の更新前の特定関数が属していた旧共有ライブラリ
と該新共有ライブラリとを一つのライブラリと見立てた
論理ライブラリを生成し、 版数の更新後の特定関数と前記旧共有ライブラリとの対
応関係を示す定義情報を含む並行稼動情報と、版数の更
新前の特定関数と前記新共有ライブラリとの対応関係を
示す定義情報を含む並行稼動情報とを併存させ、 非特定関数の属していた前記旧共有ライブラリを前記新
共有ライブラリに変更することを特徴とする新旧共有ラ
イブラリ並行稼動システム。
Wherein old and new shared library parallel according to claim 1
In the line operation system, the parallel operation information updating means is configured to update the parallel operation information when the information update command instructs to update the version number of a specific function among the functions. Generates a new shared library to which the specified function belongs and generates a logical library that regards the old shared library and the new shared library to which the specific function before the version update belongs as one library, and updates the version number parallel operation information including definition information indicating a correspondence relationship between the parallel operation information including definition information indicating a correspondence relationship between a specific function and the old shared library, a specific function of the pre-update version number the the new shared library after old and new shared library concurrently operating system characterized by preparative is coexist, changing the old shared libraries that belonged non specific function to the new shared library.
【請求項3】 請求項1または請求項2に記載の新旧共
有ライブラリ並行稼動システムにおいて、 前記並行稼動情報および前記プロセス別並行稼動情報
に、更新のたびに値が入れ替わる置換番号をそれぞれ付
与しておき、 前記プロセス別更新手段は、前記並行稼動情報と前記プ
ロセス別並行稼動情報との比較にあたり、該並行稼動情
報に含まれる置換番号と、該サーバプロセスのプロセス
別並行稼動情報に含まれる置換番号とを比較して、置換
番号どうしが一致した場合に同期とし、置換番号どうし
が不一致の場合に非同期とすることを特徴とする新旧共
有ライブラリ並行稼動システム。
3. The new and old shared library parallel operation system according to claim 1, wherein the parallel operation information and the process-specific parallel operation information are respectively provided with replacement numbers whose values are replaced each time an update is performed. Place the per-process update unit, when compared with the parallel operation information and the process by parallel operation information, the replacement number included in the parallel operation information, the process of the server process
A new and old shared library parallel operation system characterized by comparing replacement numbers included in separate parallel operation information and synchronizing when the replacement numbers match, and asynchronous when the replacement numbers do not match.
【請求項4】 請求項1に記載の新旧共有ライブラリ
稼動システムにおいて、 前記関数呼び出し手段は、前記関数の呼び出しにあた
り、当該関数の版数が非指定の場合に、最新の版数の当
該関数を呼び出すことを特徴とする新旧共有ライブラリ
並行稼動システム。
Wherein old and new shared library parallel according to claim 1
In the line operation system, the function calling means calls the function of the latest version when the version of the function is not specified when calling the function.
Parallel operating system.
【請求項5】 定義情報記憶部に、関数のオブジェクト
と当該関数の版数と当該関数の属する共有ライブラリと
の対応関係を示す定義情報を関数ごとに格納しておき、 システムの起動時に、前記定義情報記憶部から前記定義
情報を読み出して、当該定義情報を前記関数のポインタ
とともに並行稼動情報記憶部に格納し前記システムに対
して、前記関数の版数を更新するコマンドが投入される
と、前記並行稼動情報記憶部に格納されている前記並行
稼動情報を更新して、更新前の旧共有ライブラリと更新
後の新共有ライブラリとを併存させ、 サーバプロセスの起動時に、前記並行稼動情報記憶部か
ら前記並行稼動情報を読み出して、当該並行稼動情報を
サーバプロセス別にプロセス別並行稼動情報としてプロ
セス別記憶部に格納し、 関数の呼び出しが要求されると、前記並行稼動情報記憶
部から前記並行稼動情報を読み出すとともに、前記プロ
セス別記憶部から当該サーバプロセスのプロセス別並行
稼動情報を読み出して、前記並行稼動情報と前記プロセ
ス別並行稼動情報とを比較し、比較結果が非同期の場合
に、当該プロセス別並行稼動情報を更新し、 前記並行稼動情報と同期したプロセス別並行稼動情報か
ら、呼び出された関数のポインタを検索し、当該ポイン
タに基づいて、指定版数の当該関数を呼び出すことを特
徴とする新旧共有ライブラリ並行稼動方法。
5. A definition information storage unit stores, for each function, definition information indicating a correspondence relationship between a function object, a version number of the function, and a shared library to which the function belongs. When a command to read the definition information from the definition information storage unit, store the definition information in the concurrent operation information storage unit together with the pointer of the function in the parallel operation information storage unit, and update the version of the function is input to the system, Updating the parallel operation information stored in the parallel operation information storage unit so that the old shared library before the update and the new shared library after the update coexist, and when the server process starts, the parallel operation information storage unit after reading the parallel operation information, the parallel operation information as a process-specific parallel operation information by the server process and stored in the pro <br/> processes specific storage unit, a function of When beauty out is requested, the reads the concurrent operation information from the parallel operation information storage unit, from the per-process storage unit reads the process-specific concurrent operation information of the server process, said process by said parallel operation information Compare the parallel operation information, if the comparison result is asynchronous, update the parallel operation information for each process, and search the pointer of the called function from the parallel operation information for each process synchronized with the parallel operation information, A new and old shared library parallel operation method, wherein a specified version of the function is called based on the pointer.
【請求項6】 システムの起動時に、関数のオブジェク
トと当該関数の版数と当該関数の属する共有ライブラリ
との対応関係を示す定義情報が格納された定義情報記憶
部から該定義情報を読み出して、当該定義情報を関数の
ポインタとともに並行稼動情報記憶部に格納する処理
と、 前記システムに対して、前記関数の版数を更新するコマ
ンドが投入されると、前記並行稼動情報記憶部に格納さ
れている前記並行稼動情報を更新して、更新前の旧共有
ライブラリと更新後の新共有ライブラリとを併存させる
処理と、 サーバプロセスの起動時に、前記並行稼動情報記憶部か
ら前記並行稼動情報を読み出して、当該並行稼動情報を
サーバプロセス別にプロセス別並行稼動情報と してプロ
セス別記憶部に格納する処理と、 関数の呼び出しが要求されると、前記並行稼動情報記憶
部から前記並行稼動情報を読み出すとともに、前記プロ
セス別記憶部から当該サーバプロセスのプロセス別並行
稼動情報を読み出して、該並行稼動情報と該プロセス別
並行稼動情報とを比較し、比較結果が非同期の場合に、
当該プロセス別並行稼動情報を更新する処理と、 前記並行稼動情報と同期したプロセス別並行稼動情報か
ら、呼び出された関数のポインタを検索し、当該ポイン
タに基づいて、指定版数の当該関数を呼び出す処理とを
コンピュータに実行させるプログラムを記録した記録媒
体。
6. When the system is started, the definition information is read from a definition information storage unit storing definition information indicating a correspondence relationship between a function object, a version number of the function, and a shared library to which the function belongs, and A process of storing the definition information in the parallel operation information storage unit together with the pointer of the function, and when a command for updating the version number of the function is input to the system, the definition information is stored in the parallel operation information storage unit. Updating the parallel operation information, and causing the old shared library before the update and the new shared library after the update to coexist; and reading out the parallel operation information from the parallel operation information storage unit when the server process is started. , and processing for storing in the pro <br/> processes by the storage unit as a process by parallel operation information the concurrent operation information by the server process, the function call request When that reads out the parallel operation information from said parallel operation information storage unit, reads the process-specific concurrent operation information of the server process from said process-specific storage unit, and said parallel rows operation information and the process by concurrently operating information Compare and if the comparison result is asynchronous,
A process for updating the process-specific parallel operation information; and searching for a pointer of the called function from the process-specific parallel operation information synchronized with the parallel operation information, and calling the function of the designated version number based on the pointer. A recording medium on which a program for causing a computer to execute the processing is recorded.
JP16389998A 1998-06-11 1998-06-11 New and old shared library parallel operation system, method, and storage medium storing the program Expired - Fee Related JP3228227B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16389998A JP3228227B2 (en) 1998-06-11 1998-06-11 New and old shared library parallel operation system, method, and storage medium storing the program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16389998A JP3228227B2 (en) 1998-06-11 1998-06-11 New and old shared library parallel operation system, method, and storage medium storing the program

Publications (2)

Publication Number Publication Date
JP2000003272A JP2000003272A (en) 2000-01-07
JP3228227B2 true JP3228227B2 (en) 2001-11-12

Family

ID=15782942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16389998A Expired - Fee Related JP3228227B2 (en) 1998-06-11 1998-06-11 New and old shared library parallel operation system, method, and storage medium storing the program

Country Status (1)

Country Link
JP (1) JP3228227B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6699557B2 (en) 2001-03-30 2004-03-02 Tdk Corporation Optical recording medium and optical recording method
US6754166B2 (en) 2001-03-30 2004-06-22 Tdk Corporation Optical recording medium and optical recording method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6481437B2 (en) * 2015-03-17 2019-03-13 日本電気株式会社 Transaction processing apparatus, transaction processing method, and control program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6699557B2 (en) 2001-03-30 2004-03-02 Tdk Corporation Optical recording medium and optical recording method
US6754166B2 (en) 2001-03-30 2004-06-22 Tdk Corporation Optical recording medium and optical recording method

Also Published As

Publication number Publication date
JP2000003272A (en) 2000-01-07

Similar Documents

Publication Publication Date Title
JP7090657B2 (en) Methods, devices, devices and storage media for upgrading applications
US5909689A (en) Automatic update of file versions for files shared by several computers which record in respective file directories temporal information for indicating when the files have been created
JP3270216B2 (en) File name detection method
JP3108807B2 (en) Locking mechanism to prevent race conditions
CN116303346B (en) Database migration method and system
JP4951141B2 (en) How to manage the database
JP3228227B2 (en) New and old shared library parallel operation system, method, and storage medium storing the program
CN114942965A (en) Method and system for accelerating synchronous operation of main database and standby database
CN119311664A (en) Database management method, system, device and medium
US6715148B1 (en) Efficient method router that supports multiple simultaneous object versions
JP3930255B2 (en) System specification information processing apparatus, system specification information processing method, and program
JP2000293377A (en) Coexistence environment structuring method and recording medium where coexistence environment structuring program is recorded
CN120144599A (en) A method for changing the association between CAD and CAE data and a transaction management system
JPS6019240A (en) Loading system
JP2025123021A (en) Data update management device, data update management method, and data update management program
WO2026044617A1 (en) Method and apparatus for switching code data, and device and medium
JP2025165749A (en) File management system and file management method
CN120144162A (en) Upgrading method, device, electronic device and storage medium
CN117472391A (en) Application program deployment method and device
JPH11175376A (en) Updating method and updating device for data base and recording medium in which updating method is written
JPH0327437A (en) Dynamic alteration system for system parameter relating to job management
JPH04260143A (en) Electronic filing system
CN119105776A (en) Database upgrade method, device, equipment and medium under physical master-slave architecture
CN117971981A (en) Hot standby method and device under distributed database system and electronic equipment
CN121935048A (en) Method and system for realizing data sharing and storage by multi-process command line interface command interface

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080907

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees