JP2001014156A - Dynamic switching method for decentralized object - Google Patents

Dynamic switching method for decentralized object

Info

Publication number
JP2001014156A
JP2001014156A JP11182916A JP18291699A JP2001014156A JP 2001014156 A JP2001014156 A JP 2001014156A JP 11182916 A JP11182916 A JP 11182916A JP 18291699 A JP18291699 A JP 18291699A JP 2001014156 A JP2001014156 A JP 2001014156A
Authority
JP
Japan
Prior art keywords
server
version
server object
old
switching
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.)
Pending
Application number
JP11182916A
Other languages
Japanese (ja)
Inventor
Takuya Ono
卓也 小野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11182916A priority Critical patent/JP2001014156A/en
Publication of JP2001014156A publication Critical patent/JP2001014156A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To switch a server object without stopping work in decentralized object environment by managing the versions of decentralized objects by making use of the functions of the decentralized objects. SOLUTION: A server object registers its version in a version management database 102 first. Then a search for whether or not there is an old server object having the same function is made. If not, the process is ended and the process of the original function of the server is performed. When there is an old server object, one new server object is started, the old server object is instructed to end instead, and the registration information of the corresponding server object is deleted from the version management database 102. The server object instructed to end is made to accept no request from a client thereafter and then a process needed to end the server object is performed. Consequently, the switching of the server objects is completed.

Description

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

【発明の属する技術分野】本発明は、分散オブジェクト
を利用して、同じ機能をもった多数のサーバオブジェク
トのプロセスを起動している環境において、業務を中断
する事無く、不具合を取り除いた新しいサーバオブジェ
クトへの切り替えを行う分散オブジェクトの動的切り替
え方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a new server which eliminates a problem without interrupting a business in an environment in which processes of a number of server objects having the same function are activated by using distributed objects. The present invention relates to a distributed object dynamic switching method for switching to an object.

【従来の技術】従来の技術では、ソースのバージョン管
理をするために特開平10-901405号公報「ソフトウェア
の保守方法」に示されるような方法がとられている。ま
た、サーバオブジェクトとの接続の保証を行うために、
インターフェースにバージョンを明記し、インターフェ
ースのバージョン管理を行ない、同じバージョンのイン
ターフェースと接続するようにしたり、さらに分散オブ
ジェクトをもちいたメソッドの追加を行う技術について
は特開平5-6275号公報「オブジェクトの動的機能拡張」
に示されるような方法が取られている。しかし運用を考
慮したオブジェクト自体のバージョンの管理は行ってい
ない。そのために従来技術では、切り替えたいオブジェ
クトがある場合、全てのサーバを停止してから、新しい
オブジェクトを開始していた。
2. Description of the Related Art In the prior art, a method as disclosed in Japanese Patent Application Laid-Open No. 10-901405, "Software Maintenance Method" is used to manage source versions. Also, to guarantee the connection with the server object,
Japanese Patent Laid-Open No. 5-6275 discloses a technique for specifying a version in an interface, managing the version of the interface, connecting to the same version of the interface, and adding a method using a distributed object. Functional Extensions "
The method as shown in FIG. However, it does not manage the version of the object itself in consideration of operation. Therefore, in the related art, when there is an object to be switched, all servers are stopped and then a new object is started.

【発明が解決しようとする課題】従来技術において、分
散オブジェクト環境では、オブジェクト自体のバージョ
ンについて管理を行っていなかったために、不具合を修
正したバージョンに全てを正しく置き換える場合、慎重
に作業を行う必要があり、しかも業務を一時的に停止す
る必要があった。つまり不具合を修正してサーバオブジ
ェクトを新しいものに変える時には、全ての古いサーバ
を停止してサービスを一時停止してから、新しいサーバ
を立ち上げる必要があった。これでは、新しいサーバに
切り替える時に、一時的にサービスを停止しなくてはな
らない。これは、24時間運用などにおいては、大きな問
題となっていた。そこでオブジェクトのバージョン管理
を行い、この課題を解決する事が本発明の目的である。
In the prior art, in the distributed object environment, since the version of the object itself is not managed, it is necessary to perform a careful operation when correctly replacing all with the version in which the defect is corrected. Yes, and the business had to be stopped temporarily. In other words, when fixing a bug and replacing the server object with a new one, it was necessary to stop all the old servers, suspend the service, and then start the new server. In this case, when switching to a new server, the service must be temporarily stopped. This has been a major problem in 24-hour operation. Therefore, it is an object of the present invention to perform version control of an object and solve this problem.

【課題を解決するための手段】分散オブジェクトの機能
を利用した上でオブジェクトのバージョンを管理する事
により、サーバオブジェクトの動的な切り替えを行う。
まず機能としてサーバオブジェクトは、必ず「起動時に
バージョンを登録する機能」と「終了できる機能」を実
装する。その上で、サーバの起動時には、バージョンの
登録の後、自分のバージョンと既に起動されている同機
能のサーバのバージョンを比較して、古いものを見つけ
た場合には、古いサーバオブジェクトに終了を指示し替
わりの新しいバージョンのサーバを立ち上げる。なお、
終了指示をうけたサーバオブジェクトは、終了処理途中
のサーバオブジェクトがクライアントからの要求を受け
つけないようにし、サーバオブジェクトの終了に必要な
処理を行った後にプロセスを終了する。以上によりサー
バオブジェクトの切り替えが完了する。
A server object is dynamically switched by using the function of a distributed object and managing the version of the object.
First, as a function, the server object always implements a "function for registering a version at startup" and a "function that can be terminated". Then, when starting the server, after registering the version, compare your version with the version of the server with the same function that has already been started, and if you find an old one, terminate the old server object. Instruct and launch a new version of the server. In addition,
The server object that has received the termination instruction prevents the server object in the middle of termination processing from accepting a request from the client, and terminates the process after performing processing necessary for terminating the server object. Thus, the switching of the server object is completed.

【発明の実施の形態】本発明の実施例を以下に説明す
る。全てのサーバオブジェクトには以下に述べる機能を
実装して動的切り替えをする。まずバージョンを管理す
るデータベースを用意しサーバオブジェクトは、起動時
にバージョンの登録をデータベースに行う。また、サー
バオブジェクトは終了の要求をうけられるようにし、終
了処理では、起動時に登録したものを削除する。図1が
本発明を実行するシステムの構成である。サーバオブジ
ェクト(101)は、いくつかのプロセスが起動されてい
る。これらのバージョンは、バージョン管理データベー
ス(102)に記録されている。そしていま、サーバオブジ
ェクトの不良を修正したサーバオブジェクトの新しいバ
ージョンのサーバオブジェクト(103)を起動して、切り
替えを行う所である。図2にサーバオブジェクトのバー
ジョン管理を行うバージョン管理データベース(102)の
テーブル構造を示す。サーバオブジェクトの機能ごとに
付けられた機能名称(201)、バージョン(202)、サーバの
プロセスを識別するためのプロセスID(203)からなる。
サーバオブジェクトが起動するプロセスの立ち上げ時の
タイミングで行われる処理について図3を用いて説明す
る。まず始めに、サーバオブジェクトは自身のバージョ
ンをバージョン管理データベース(102)に登録する(30
1)。次に自身と同じ機能の古いサーバオブジェクトが無
いが探す(302)、もし無ければれば処理は終了(303)し
て、サーバー本来の機能の処理を行う。もし古いサーバ
オブジェクトがあれば、新しいサーバオブジェクトを1
つ開始し(304)、替わりに古いサーバオブジェクトには
終了指示をし、該当するサーバオブジェクトの登録情報
をバージョン管理データベース(102)から削除する(30
5)。全ての古いサーバオブジェクトが無くなるまで、こ
の処理を繰り返す。終了の指示を受けたサーバオブジェ
クトは、CORBAではPOA機能のdeactivateオペレーション
を行って以降クライアントからの要求を受けないように
した後に、サーバオブジェクトの終了に必要な処理をし
て、プロセスを終了する。これによりサーバオブジェク
トの切り替えが終了する。図3(302)バージョンの比較に
おいて、新旧の比較ではなく、自分と同じバージョンか
比較を行い。図3(304)新しいサーバオブジェクトの立ち
上げにおいて、新しいバージョンでなく自分と同じバー
ジョンを立ち上げるという方法を取る事により、新しく
したものが、より大きな不良を抱えてた時などに、元の
バージョンに戻したり、特定のパージョンに切り替える
ことが出来るようになる。また、サーバの切り替えを繰
り返す時に、CPU負荷が大きい場合には一つのサーバオ
ブジェクト切り替えの後にすぐに、次のサーバオブジェ
クトの切り替えを行わず、CPU負荷が高い間スリープす
るなどして、切り替えによるシステム全体の負荷上昇を
招かないようにすることも有用である。サーバオブジェ
クトの起動時に切り替えの処理を行うと、システムの負
荷が増えてサーバ起動の時間がかかることがあるので、
サーバオブジェクトの起動時には、自身のバージョンの
登録のみ行い、切り替えの処理は行わないで、その代わ
りに、別プロセスで切り替えの処理を行うことも可能で
ある。切り替え処理で行われる処理について図4により
説明する。バージョン管理データベース(102)よりサー
バオブジェクトの起動時に登録したデータをバージョン
管理データベースより起動しているサーバオブジェクト
のうち1つ取得する(401)。取り出していないものが無く
なったら終了(403)。そのサーバと同じ機能名称、つま
り同じ機能を持ったサーバのうちバージョンより古いバ
ージョンが無いか調べ無ければ次を取り出す(404)。も
し古いものがあれば、そのサーバオブジェクトにあたる
新しいサーバオブジェクトを起動し(405)、古いサーバ
に終了指示を行う(406)。この切り替え処理は、オペレ
ータが必要な時に起動する方法でも良いが、定例業務と
してとして一定期間を置いて周期的に行われる処理とし
て登録しておくとさらに良い。切り替え作業の手間を減
らすため、サーバオブジェクトのプロセスの数を増やす
場合も、切り替えも運用上同じ操作で行う事ができるよ
うに、サーバ起動時に判断を付け加える事も可能であ
る。これについて図5を用いて説明する。プロセス起動
時に図3の処理などでバージョンを登録する前に図5のフ
ローで示すような処理を行う。まず自分より古いバージ
ョンが存在するか判断する(501)。もし古いバージョン
が存在しない場合は、新規にサーバオブジェクトプロセ
スを増加させる処理と判断してそのまま処理を続ける。
また、もし古いバージョンが存在する時には、切り替え
処理として替わりとなる古いバージョンのサーバオブジ
ェクトに対して終了指示を出す(502)。その後、それぞ
れ通常の図3の(301)からはじまる処理をする。これによ
り不具合を修正したサーバオブジェクトの切り替えと新
規に立ち上げる場合の運用上の操作を同じにすることが
できる。
Embodiments of the present invention will be described below. All the server objects implement the functions described below and perform dynamic switching. First, a database for managing versions is prepared, and the server object registers the version in the database at the time of startup. In addition, the server object is enabled to receive a termination request, and in the termination processing, the server object registered at the time of activation is deleted. FIG. 1 shows the configuration of a system that executes the present invention. Several processes are running on the server object (101). These versions are recorded in the version control database (102). Now, a server object (103) of a new version of the server object in which the defect of the server object has been corrected is activated, and switching is performed. FIG. 2 shows a table structure of a version management database (102) for performing version management of server objects. It consists of a function name (201), a version (202), and a process ID (203) for identifying a server process, which are assigned to each function of the server object.
The processing performed at the time of starting the process in which the server object starts up will be described with reference to FIG. First, the server object registers its version in the version control database (102) (30).
1). Next, it searches for an old server object having the same function as itself (302). If not, the process is terminated (303), and the server performs its own function. If there is an old server object, replace the new server object with 1
Start (304), and instruct an end to the old server object instead, and delete the registration information of the corresponding server object from the version management database (102) (30).
Five). This process is repeated until all old server objects are gone. The server object that has received the termination instruction performs a deactivate operation of the POA function in CORBA so as not to receive a request from the client after that, performs processing necessary for terminating the server object, and terminates the process. This completes the switching of the server object. In FIG. 3 (302), the comparison of the version is made, not the comparison of the old and new, but the comparison of the same version as that of the user. Figure 3 (304) When launching a new server object, by taking the method of launching the same version as yourself instead of the new version, when the new one has a larger defect, the original version Or switch to a specific version. Also, when switching the server repeatedly, if the CPU load is large, immediately after switching one server object, the next server object is not switched immediately, and the system sleeps while the CPU load is high. It is also useful to prevent the overall load from increasing. If the switching process is performed when the server object starts, the load on the system increases and the server may take a long time to start.
When the server object is started, only the version of the server itself is registered, and the switching process is not performed. Instead, the switching process can be performed by another process. The processing performed in the switching processing will be described with reference to FIG. The data registered at the time of starting the server object is acquired from the version management database (102) as one of the started server objects from the version management database (401). When there are no unremoved items, the process ends (403). If it is not checked whether a server having the same function name as the server, that is, a server having the same function is older than the version, the next is taken out (404). If there is an old server, a new server object corresponding to the old server is started (405), and an end instruction is given to the old server (406). This switching process may be started by the operator when necessary, but it is more preferable that the switching process is registered as a process that is performed periodically as a regular task with a fixed period of time. When the number of processes of the server object is increased in order to reduce the work of the switching work, it is possible to add a judgment at the time of starting the server so that the switching can be performed by the same operation in operation. This will be described with reference to FIG. Before the version is registered in the process of FIG. 3 at the time of starting the process, the process shown in the flow of FIG. 5 is performed. First, it is determined whether an older version exists (501). If the old version does not exist, it is determined that the processing is to newly increase the server object process, and the processing is continued as it is.
If there is an old version, an end instruction is issued to the old version of the server object to be replaced as a switching process (502). After that, the process starts from the usual (301) in FIG. This makes it possible to make the operation of switching the server object having the defect corrected and the operation for newly starting the server object the same.

【発明の効果】分散オブジェクトで本発明による機能を
実装する事により、分散オブジェクト環境において業務
を停止する事無く、サーバオブジェクトを切り替える事
が可能となるという効果を奏する。
By implementing the function according to the present invention in the distributed object, there is an effect that the server object can be switched without stopping the business in the distributed object environment.

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

【図1】システムの構成図である。FIG. 1 is a configuration diagram of a system.

【図2】バージョン管理データベースのテーブル構造を
示す図である。
FIG. 2 is a diagram showing a table structure of a version management database.

【図3】サーバオブジェクト起動時の処理のフローチャ
ートである。
FIG. 3 is a flowchart of a process when a server object is activated.

【図4】起動時にバージョンチェックを行わない場合
の、更新プログラムのフローチャートである。
FIG. 4 is a flowchart of an update program when a version check is not performed at startup.

【図5】サーバの新規立ち上げと切り替え処理の判別の
自動化のフローチャートである。
FIG. 5 is a flowchart of automating determination of a new startup and a switching process of a server.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】分散オブジェクト環境において、サーバオ
ブジェクトのバージョンを管理し、サーバオブジェクト
の起動時に古いオブジェクトが存在する場合は終了し新
しいオブジェクトを立ち上げる機能を追加する事によ
り、サーバオブジェクトを動的に切り替えることを特徴
とする分散オブジェクトの動的切り替え方法。
In a distributed object environment, a server object version is managed by adding a function of managing a version of a server object and terminating an old object when the server object starts when an old object exists and starting a new object. A method for dynamically switching distributed objects, characterized by switching.
【請求項2】上記、サーバオブジェクトのバージョンの
比較において、バージョンの新旧ではなく、サーバオブ
ジェクト起動時に自分と異なるバージョンの場合、自分
と同じ物に切り替えるようにして、特定のバージョンに
統一するように切り替えることを特徴とする請求項1記
載の分散オブジェクトの動的切り替え方法。
2. In the above-mentioned comparison of server object versions, if the version is different from the version when the server object is activated, not the version of the server, it is switched to the same version as the version of the server object to unify the version with the specific version. The method according to claim 1, wherein the switching is performed.
JP11182916A 1999-06-29 1999-06-29 Dynamic switching method for decentralized object Pending JP2001014156A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11182916A JP2001014156A (en) 1999-06-29 1999-06-29 Dynamic switching method for decentralized object

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11182916A JP2001014156A (en) 1999-06-29 1999-06-29 Dynamic switching method for decentralized object

Publications (1)

Publication Number Publication Date
JP2001014156A true JP2001014156A (en) 2001-01-19

Family

ID=16126636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11182916A Pending JP2001014156A (en) 1999-06-29 1999-06-29 Dynamic switching method for decentralized object

Country Status (1)

Country Link
JP (1) JP2001014156A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004406A (en) * 2004-04-30 2006-01-05 Microsoft Corp Mechanism for controlling decentralized multi-party conference

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004406A (en) * 2004-04-30 2006-01-05 Microsoft Corp Mechanism for controlling decentralized multi-party conference

Similar Documents

Publication Publication Date Title
CN110895484A (en) Task scheduling method and device
JP2001147901A (en) Method and system for scheduling external job inside distributed processing system having local job control system
JPH11120012A (en) Client-server type data base management system and recording medium where program thereof is recorded
US20040205167A1 (en) Automatic configuration of performance management tools
WO2009089746A1 (en) Method, device and system for realizing task in cluster environment
CN110895483A (en) Task recovery method and device
JPH11345130A (en) Method for achieving data matching by synchronization with plural data stores
CN110677280A (en) Service node switching method, device, equipment and computer readable storage medium
CN110895486A (en) Distributed task scheduling system
JP3701816B2 (en) Method and apparatus for notifying task termination
WO2002048886A2 (en) Telecommunications platform with processor cluster and method of operation thereof
CN110895485A (en) Task scheduling system
CN108536541B (en) Process engine object processing method and device
JP2001014156A (en) Dynamic switching method for decentralized object
JP2000020443A (en) Software agent system
JP3904808B2 (en) Distributed object management method, apparatus for implementing the method, and recording medium recording the processing program
US7234142B1 (en) Task processing system
JP2002149439A (en) Method for switching server and server device in distributed processing system
JP2573875B2 (en) Program control method
JPH08190491A (en) Task switching method
US20030018683A1 (en) Method, system and program for deleting work flow item
JPH03282745A (en) File distribution system
JP2001051834A (en) Method and system for dynamic application start on workflow system
JP2000293377A (en) Coexistence environment structuring method and recording medium where coexistence environment structuring program is recorded
JP2000099340A (en) Computer system and its basic software change method