JP2011118522A - Server device and method of controlling the same - Google Patents

Server device and method of controlling the same Download PDF

Info

Publication number
JP2011118522A
JP2011118522A JP2009273515A JP2009273515A JP2011118522A JP 2011118522 A JP2011118522 A JP 2011118522A JP 2009273515 A JP2009273515 A JP 2009273515A JP 2009273515 A JP2009273515 A JP 2009273515A JP 2011118522 A JP2011118522 A JP 2011118522A
Authority
JP
Japan
Prior art keywords
library
storage area
application
call
load
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
JP2009273515A
Other languages
Japanese (ja)
Inventor
Hideki Sumioka
英樹 住岡
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 JP2009273515A priority Critical patent/JP2011118522A/en
Publication of JP2011118522A publication Critical patent/JP2011118522A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To propose a server system with which the processing efficiency can be dramatically improved. <P>SOLUTION: The server device includes: a first control part which calls a loaded library from a called library storage area for storing the loaded libraries and processes a request from a client device; and a second control part which loads a new library to a storage area different from the called library storage area asynchronously with the first control part. The first control part sets the storage area for the new library to the called library storage area when the new library is loaded in the second control part. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、長時間の稼働が求められるサーバ装置及びその制御方法に関する。   The present invention relates to a server device that is required to operate for a long time and a control method thereof.

従来、24時間稼働することが求められるシステムでは、クライアント装置からの処理要求の受付停止時間を短縮すべく、アプリケーションプログラム(Application Program :AP)が呼び出すアプリケーションライブラリを動的に置換する方式が必要となる。   Conventionally, in a system that is required to operate for 24 hours, a method of dynamically replacing an application library called by an application program (Application Program: AP) is required in order to shorten a processing request reception stop time from a client device. Become.

とりわけ、大規模なシステムにおいては、アプリケーションプログラムの数も多くなり、置換が必要となるアプリケーションライブラリの数も多くなるため、置換処理時間を極力短くしてトランザクションの遅延時間を短くすることが望まれる。   In particular, in a large-scale system, the number of application programs increases and the number of application libraries that need to be replaced also increases. Therefore, it is desirable to shorten the replacement processing time as much as possible to shorten the transaction delay time. .

例えば、動的にアプリケーションライブラリを置換するシステムとして、以下の特許文献1に記載のデータ処理装置が開示されている。すなわち、特許文献1に記載のデータ処理装置は、マルチスレッドシステム構成の処理スレッドのうち、現在用意されたアプリケーションライブラリを使用して電文の処理が可能な処理スレッド(置換不要処理スレッド)についてはそのまま処理を行わせる。一方、データ処理装置は、アプリケーションライブラリの置換が必要な処理スレッドについては、置換用アプリケーションライブラリの読み込みの処理を、置換不要処理スレッドが電文の処理を行っているときに時間的に並列して行わせる。   For example, as a system for dynamically replacing an application library, a data processing apparatus described in Patent Document 1 below is disclosed. In other words, the data processing apparatus described in Patent Document 1 does not process a processing thread (replacement unnecessary processing thread) that can process a message using a currently prepared application library among processing threads of a multi-thread system configuration. Let the process do. On the other hand, for a processing thread that requires replacement of the application library, the data processing apparatus performs processing for reading the replacement application library in parallel in time when the replacement-unnecessary processing thread is processing a message. Make it.

特開2006−277047号公報JP 2006-277047 A

従来では、図6に示すように、置換処理実行前の最後のトランザクションが完了してから、それまでに使用していたアプリケーションライブラリのアンロード、新たなアプリケーションライブラリのロードを行い、新たなアプリケーションライブラリを呼び出すための情報作成が完了してから、新たなアプリケーションライブラリを使用してトランザクションを再開していた。   Conventionally, as shown in FIG. 6, after the last transaction before execution of the replacement process is completed, the application library used until then is unloaded and a new application library is loaded. After the creation of the information to call was completed, the transaction was resumed using a new application library.

このため、大量のアプリケーションライブラリが使用される大規模システムにおいて、大量のアプリケーションライブラリを置換するような場合、アプリケーションライブラリの置換処理が長くなり、その結果、トランザクションの遅延時間が長くなるという問題がある。   For this reason, in a large-scale system in which a large number of application libraries are used, when replacing a large number of application libraries, there is a problem that the replacement process of the application library becomes long, resulting in a long transaction delay time. .

また、特許文献1に記載のデータ処理装置でも、置換が必要な処理スレッドについては、置換処理の間は処理要求の受付を停止することとなるため、上述の場合と同様の問題がある。   The data processing device described in Patent Document 1 also has a problem similar to that described above because the processing thread that needs to be replaced stops receiving processing requests during the replacement process.

本発明は以上の点を考慮してなされたものであり、処理効率を格段に向上させ得るサーバ装置及びその制御方法を提案するものである。   The present invention has been made in consideration of the above points, and proposes a server apparatus and a control method thereof that can significantly improve the processing efficiency.

かかる課題を解決するために本発明は、サーバ装置であって、ロードが完了したライブラリを格納する呼出ライブラリ格納領域から前記ライブラリを呼び出して、クライアント装置からの要求を処理する第1の制御部と、前記第1の制御部と非同期に、前記呼出ライブラリ格納領域と異なる格納領域に新たなライブラリをロードする第2の制御部とを備え、前記第1の制御部は、前記第2の制御部において前記新たなライブラリのロードが完了した場合、前記新たなライブラリの格納領域を前記呼出ライブラリ格納領域に設定することを特徴とする。   In order to solve such a problem, the present invention provides a first control unit that is a server device, calls a library from a call library storage area that stores a library that has been loaded, and processes a request from a client device. A second control unit that loads a new library into a storage area different from the call library storage area asynchronously with the first control unit, wherein the first control unit includes the second control unit When the loading of the new library is completed, the storage area of the new library is set as the calling library storage area.

また、本発明は、サーバ装置の制御方法であって、第1の制御部が、ロードが完了したライブラリを格納する呼出ライブラリ格納領域から前記ライブラリを呼び出して、クライアント装置からの要求を処理する第1のステップと、第2の制御部が、前記第1の制御部と非同期に、前記呼出ライブラリ格納領域と異なる格納領域に新たなライブラリをロードする第2のステップとを備え、前記第1のステップでは、前記第2のステップによる前記新たなライブラリのロードが完了した場合、前記新たなライブラリの格納領域を前記呼出ライブラリ格納領域に設定することを特徴とする。   The present invention is also a control method for a server device, wherein a first control unit calls a library from a call library storage area that stores a library that has been loaded, and processes a request from a client device. And a second step of loading a new library into a storage area different from the call library storage area asynchronously with the first control section. In the step, when loading of the new library in the second step is completed, the storage area of the new library is set as the call library storage area.

従って、ライブラリのロードを行うための専用の第2の制御部を用意し、ライブラリを呼び出す第1の制御部と非同期にライブラリのロードを行うため、クライアント装置からの処理要求の受付を止めることなくライブラリを動的に置換することが可能となる。   Accordingly, a dedicated second control unit for loading the library is prepared, and the library is loaded asynchronously with the first control unit that calls the library, so that the reception of the processing request from the client device is not stopped. It is possible to replace the library dynamically.

本発明によれば、処理効率を格段に向上させ得るサーバ装置及びその制御方法を実現することができる。   ADVANTAGE OF THE INVENTION According to this invention, the server apparatus which can improve processing efficiency markedly, and its control method are realizable.

アプリケーションサーバのハードウェア構成を示すブロック図の一例である。It is an example of the block diagram which shows the hardware constitutions of an application server. アプリケーションサーバの機能的構成を示すブロック図の一例である。It is an example of the block diagram which shows the functional structure of an application server. アプリケーションサーバの制御手順を示すフローチャートの一例である。It is an example of the flowchart which shows the control procedure of an application server. 自プロセス用ライブラリ情報の構成を示す概念図の一例である。It is an example of the conceptual diagram which shows the structure of the library information for own processes. 世代情報の構成を示す概念図の一例である。It is an example of the conceptual diagram which shows the structure of generation information. 従来のアプリケーションサーバの制御手順を示すフローチャートの一例である。It is an example of the flowchart which shows the control procedure of the conventional application server.

以下、本発明の一実施の形態を、図面を参照して詳細に説明する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

図1は、アプリケーションサーバ1のハードウェア構成を例示する図である。アプリケーションサーバ1(サーバ装置)は、例えば、CPU(Central Processing Unit)2、CPU2にバス結合されたROM(Read Only Memory)3、RAM(Random Access Memory)4、記憶部5、入力部6、表示部7、および入出力インタフェース8など、通常のコンピュータ装置と同様のハードウェアを備えている。ここで、例えば、記憶部5は、HDD(Hard Disk Drive)などの外部記憶装置である。   FIG. 1 is a diagram illustrating a hardware configuration of the application server 1. The application server 1 (server device) includes, for example, a CPU (Central Processing Unit) 2, a ROM (Read Only Memory) 3 coupled to the CPU 2, a RAM (Random Access Memory) 4, a storage unit 5, an input unit 6, a display The same hardware as that of a normal computer device such as the unit 7 and the input / output interface 8 is provided. Here, for example, the storage unit 5 is an external storage device such as an HDD (Hard Disk Drive).

アプリケーションサーバ1は、物理的には、専用化したシステム、あるいは汎用の情報処理装置のいずれであっても良い。例えば、一般的な構成の情報処理装置において、本発明のアプリケーションサーバ1における各処理は、規定した処理を行うアプリケーションプログラムを呼び出すことによって実現することもできる。   The application server 1 may physically be either a dedicated system or a general-purpose information processing apparatus. For example, in an information processing apparatus having a general configuration, each process in the application server 1 of the present invention can be realized by calling an application program that performs a specified process.

図2は、アプリケーションサーバ1の機能的構成を例示する図である。アプリケーションサーバ1は、機能的には、少なくとも処理要求実行スレッド11(第1の制御部)、ロード処理実行スレッド12(第2の制御部)及びアプリケーション動的置換手段13を備えている。処理要求実行スレッド11、ロード処理実行スレッド12及びアプリケーション動的置換手段13は、主にCPU2がROM3やRAM4に格納されるプログラムを呼び出して、各ハードウェアを制御することによって実現することができる。   FIG. 2 is a diagram illustrating a functional configuration of the application server 1. Functionally, the application server 1 includes at least a processing request execution thread 11 (first control unit), a load processing execution thread 12 (second control unit), and an application dynamic replacement unit 13. The processing request execution thread 11, the load processing execution thread 12, and the application dynamic replacement unit 13 can be realized mainly by the CPU 2 calling a program stored in the ROM 3 or the RAM 4 and controlling each hardware.

さらに、アプリケーションサーバ1は、アプリケーション動的置換対象ライブラリDB(Database)14、自プロセス用ライブラリ情報15、全ライブラリ情報管理テーブル16及び世代情報17を有する。さらに、アプリケーションサーバ1は、アプリケーションライブラリを格納するための格納領域18を有しており、格納領域18は、少なくとも2つのライブラリ格納領域18A、18Bを含んでいる。   Further, the application server 1 includes an application dynamic replacement target library DB (Database) 14, own process library information 15, an entire library information management table 16, and generation information 17. Furthermore, the application server 1 has a storage area 18 for storing an application library, and the storage area 18 includes at least two library storage areas 18A and 18B.

アプリケーション動的置換対象ライブラリDB14は、例えば、記憶部5を用いて構成される。自プロセス用ライブラリ情報15、全ライブラリ情報管理テーブル16及び世代情報17は、例えば、RAM4に格納される。格納領域18は、RAM4を用いて構成される。   The application dynamic replacement target library DB 14 is configured using, for example, the storage unit 5. The own process library information 15, the entire library information management table 16 and the generation information 17 are stored in the RAM 4, for example. The storage area 18 is configured using the RAM 4.

処理要求実行スレッド11は、クライアント装置19からの処理要求を受信すると、格納領域18の呼出ライブラリ格納領域から、対応するアプリケーションライブラリの関数を呼び出して処理要求を処理し、処理後にクライアント装置19に応答する。呼出ライブラリ格納領域は、処理要求実行スレッド11が呼び出すアプリケーションライブラリ(ライブラリ)を格納する領域であり、ライブラリ格納領域18A、18Bのいずれかが呼出ライブラリ格納領域に設定される。   When the processing request execution thread 11 receives the processing request from the client device 19, it calls the function of the corresponding application library from the calling library storage area of the storage area 18, processes the processing request, and responds to the client device 19 after processing. To do. The call library storage area is an area for storing an application library (library) that is called by the processing request execution thread 11, and one of the library storage areas 18A and 18B is set as the call library storage area.

ロード処理実行スレッド12は、初期設定として、アプリケーションライブラリの関数の呼出に必要なアプリケーションライブラリをアプリケーション動的置換対象ライブラリDB14からライブラリ格納領域18A、18Bのいずれかにロードして、呼出ライブラリ格納領域に設定する。また、ロード処理実行スレッド12は、動的置換処理として、処理要求実行スレッド11と非同期に、ライブラリ格納領域18A、18Bのうち格納領域18内の呼出ライブラリ格納領域と異なる領域に、新たなアプリケーションライブラリをロードする。処理要求実行スレッド11は、ロード処理実行スレッド12において新たなアプリケーションライブラリのロードが完了した場合、新たなアプリケーションライブラリの格納領域を、呼出ライブラリ格納領域に設定する。一方、ロード処理実行スレッド12は、新たなライブラリの格納領域が呼出ライブラリ格納領域に設定された後に、古いアプリケーションライブラリ(処理要求実行スレッド11が前記設定前に呼び出していたアプリケーションライブラリ)をアンロードする。   As an initial setting, the load processing execution thread 12 loads an application library necessary for calling a function of the application library from the application dynamic replacement target library DB 14 to one of the library storage areas 18A and 18B, and stores it in the call library storage area. Set. In addition, as a dynamic replacement process, the load process execution thread 12 is asynchronous with the process request execution thread 11 and creates a new application library in an area different from the call library storage area in the storage area 18 in the library storage areas 18A and 18B. To load. When the loading of the new application library is completed in the load processing execution thread 12, the processing request execution thread 11 sets the new application library storage area as the call library storage area. On the other hand, the load processing execution thread 12 unloads the old application library (the application library that the processing request execution thread 11 has called before the setting) after the storage area of the new library is set as the calling library storage area. .

なお、アプリケーションプログラムとは、特定の目的のために設計され、特定の処理を行うためのプログラムをいう。アプリケーションライブラリとは、ある特定の機能を有するプログラム(関数)を、他のプログラム(アプリケーションプログラム)から利用できるように部品化し、複数のプログラムを1つのファイルにまとめたものをいう。アプリケーションライブラリ自体は、単独で呼び出すことはできず、例えば、アプリケーションプログラムに呼び出されることによりその一部として動作する。ロードとは、外部記憶装置に記憶されているデータ、プログラム、アプリケーションライブラリなどをRAM4などのメインメモリに読み込むことをいう。アンロードとは、メインメモリに展開されたデータ、プログラム、アプリケーションライブラリなどを削除し、その領域を解放することをいう。   The application program is a program designed for a specific purpose and performing a specific process. An application library is a program (function) having a specific function that is divided into parts that can be used by other programs (application programs), and a plurality of programs are collected into one file. The application library itself cannot be called alone, and, for example, operates as a part thereof when called by an application program. Loading means reading data, programs, application libraries, and the like stored in the external storage device into a main memory such as the RAM 4. Unloading means deleting data, a program, an application library, etc. expanded in the main memory and releasing the area.

アプリケーション動的置換手段13は、アプリケーション動的置換対象ライブラリDB14を参照し、ライブラリ情報を全ライブラリ情報管理テーブル16に展開する。自プロセス用ライブラリ情報15は、全ライブラリ情報管理テーブル16から、処理要求実行スレッド11にとって必要なライブラリ情報を抽出して構成される。自プロセス用ライブラリ情報15は、ロード処理実行スレッド12によって作成される。   The application dynamic replacement unit 13 refers to the application dynamic replacement target library DB 14 and expands the library information in the entire library information management table 16. The self-process library information 15 is configured by extracting library information necessary for the processing request execution thread 11 from the all library information management table 16. The own process library information 15 is created by the load process execution thread 12.

世代情報17は、呼出ライブラリ格納領域の設定を切り替えるための情報である。世代情報17は、処理要求実行スレッド11が呼び出すアプリケーションライブラリが、ロード処理実行スレッド12の起動から何回目のロード処理によって取得したアプリケーションライブラリであるかを示す呼出世代情報と、ロード処理実行スレッド12がロード完了したアプリケーションライブラリが、ロード処理実行スレッド12の起動から何回目のロード処理によって取得したライブラリであるかを示すロード世代情報とを含んで構成される。   The generation information 17 is information for switching the setting of the calling library storage area. The generation information 17 includes call generation information indicating how many times the application library that the processing request execution thread 11 calls is the application library acquired from the activation of the load processing execution thread 12, and the load processing execution thread 12. The loaded application library is configured to include load generation information indicating how many times the load processing execution thread 12 has started the load processing execution thread 12 to obtain the library.

後述するように、ロード処理実行スレッド12は、新たなアプリケーションライブラリのロードが完了した場合、ロード世代情報を更新し、一方、処理要求実行スレッド11は、呼出世代情報とロード世代情報とが異なる場合、呼出世代情報をロード世代情報と同一となるように更新し、新たなアプリケーションライブラリの格納領域を呼出ライブラリ格納領域に設定する。   As will be described later, the load processing execution thread 12 updates the load generation information when loading of a new application library is completed, while the processing request execution thread 11 has different call generation information and load generation information. The call generation information is updated to be the same as the load generation information, and a new application library storage area is set as the call library storage area.

次に、アプリケーションサーバ1の動作を、図2及び図3を参照して説明する。   Next, the operation of the application server 1 will be described with reference to FIGS.

段階(a)及び(b)は、要求処理実行前の段階である。   Stages (a) and (b) are stages before execution of request processing.

(a)ロード処理実行スレッド12は、起動時に全ライブラリ情報管理テーブル16を参照し、全ライブラリ情報管理テーブル16のアプリケーションライブラリの一覧から、処理要求実行スレッド11に関連するアプリケーションライブラリをロード世代番号「1」のアプリケーションライブラリとして、例えば、ライブラリ格納領域18Aにロードし、当該ライブラリ格納領域18Aを呼出ライブラリ格納領域に設定して、ロード世代番号「1」の自プロセス用ライブラリ情報15を作成する。   (A) The load process execution thread 12 refers to the all library information management table 16 at the time of activation, and loads the application library related to the process request execution thread 11 from the list of application libraries in the all library information management table 16 with the load generation number “ As an application library of “1”, for example, it is loaded into the library storage area 18A, the library storage area 18A is set as the calling library storage area, and the library information 15 for the own process with the load generation number “1” is created.

ここで、図4は、自プロセス用ライブラリ情報15の構成を例示する図である。自プロセス用ライブラリ情報15は、アプリケーションライブラリのロード世代番号、関数名、関数アドレス及びライブラリファイル(格納先、ライブラリ名)を管理する。   Here, FIG. 4 is a diagram illustrating the configuration of the library information 15 for the own process. The own process library information 15 manages the load generation number, function name, function address, and library file (storage destination, library name) of the application library.

図5は、世代情報17の構成を例示する図である。世代情報17は、処理要求実行スレッド11がアプリケーションライブラリの関数を呼び出すアプリケーションライブラリの世代の番号を表す呼出世代(呼出世代情報)とロード処理実行スレッド12がアプリケーションライブラリのロードを完了しているアプリケーションライブラリの世代の番号を表すロード世代(ロード世代情報)とを管理する。   FIG. 5 is a diagram illustrating a configuration of the generation information 17. The generation information 17 includes a call generation (call generation information) indicating a generation number of an application library for which the processing request execution thread 11 calls a function of the application library, and an application library in which the load processing execution thread 12 has completed loading of the application library. To manage the load generation (load generation information) that represents the generation number.

(b)ロード処理実行スレッド12は、起動時に世代情報17を作成し、世代情報17の呼出世代を呼出世代番号「1」として、及びロード世代をロード世代番号「1」として初期化する。   (B) The load processing execution thread 12 creates the generation information 17 at the time of activation, and initializes the call generation of the generation information 17 as the call generation number “1” and the load generation as the load generation number “1”.

段階(c)は、動的置換処理実行前の段階である。   Step (c) is a step before execution of the dynamic replacement process.

(c)処理要求実行スレッド11は、クライアント装置19からの処理要求を受信すると、世代情報17のロード世代番号と呼出世代番号とを比較する。処理要求実行スレッド11は、呼出世代番号とロード世代番号とが同一であるため、世代情報17の呼出世代のアプリケーションライブラリにおける、対応する関数を呼出ライブラリ格納領域から呼び出して、クライアント装置19から処理要求を処理する。   (C) When receiving the processing request from the client device 19, the processing request execution thread 11 compares the load generation number of the generation information 17 with the call generation number. Since the call generation number and the load generation number are the same, the processing request execution thread 11 calls the corresponding function in the application library of the call generation of the generation information 17 from the call library storage area, and receives a processing request from the client device 19. Process.

段階(d)〜(h)は、動的置換処理実行中の段階である。   Stages (d) to (h) are stages during execution of the dynamic replacement process.

(d)アプリケーション動的置換手段13は、アプリケーション動的置換対象ライブラリDB14を参照し、全ライブラリ情報管理テーブル16の内容を更新し、ロード処理実行スレッド12に置換処理要求を行う。本処理については、例えば特開2005-157536号公報等で記述されているためここでは詳細に記述しない。   (D) The application dynamic replacement unit 13 refers to the application dynamic replacement target library DB 14, updates the contents of the entire library information management table 16, and issues a replacement processing request to the load processing execution thread 12. Since this process is described in, for example, Japanese Patent Laid-Open No. 2005-157536, it will not be described in detail here.

(e)ロード処理実行スレッド12は、全ライブラリ情報管理テーブル16を参照し、アプリケーションライブラリの一覧から、処理要求実行スレッド11に関連するアプリケーションライブラリの情報を取得し、例えば、自プロセス用ライブラリ情報15にロード世代番号「2」のアプリケーションライブラリの情報を追加する。   (E) The load process execution thread 12 refers to the entire library information management table 16 and acquires information on the application library related to the process request execution thread 11 from the list of application libraries. To the information of the application library with the load generation number “2”.

(f)ロード処理実行スレッド12は、ロード世代番号「2」のアプリケーションライブラリについて、例えば、既にロードされているロード世代番号「1」のアプリケーションライブラリが格納されている呼出ライブラリ格納領域(ここでは、ライブラリ格納領域18A)と異なるライブラリ格納領域18Bにロードする。   (F) For the application library with the load generation number “2”, for example, the load processing execution thread 12 stores, for example, a call library storage area in which the already loaded application library with the load generation number “1” is stored (here, The data is loaded into a library storage area 18B different from the library storage area 18A).

(g)処理要求実行スレッド11は、(d)〜(f)を実行中にクライアント装置19から処理要求を受けた場合、世代情報17のロード世代番号と呼出世代番号とを比較する。段階(d)〜(f)では、世代情報17のロード世代番号と呼出世代番号とが一致するので、置換処理実行前と同様に、呼出ライブラリ格納領域(ここでは、ライブラリ格納領域18A)のアプリケーションライブラリの対応する関数を呼び出してクライアント装置19から処理要求を処理する。   (G) When the processing request execution thread 11 receives a processing request from the client device 19 while executing (d) to (f), the processing request execution thread 11 compares the load generation number of the generation information 17 with the call generation number. In steps (d) to (f), since the load generation number and the call generation number of the generation information 17 match, the application in the call library storage area (here, the library storage area 18A) is the same as before the replacement process. A corresponding function of the library is called to process a processing request from the client device 19.

(h)一方、ロード処理実行スレッド12は、ロード世代番号「2」のアプリケーションライブラリのロードが完了した場合、世代情報17のロード世代をロード世代番号「2」に更新する。これにより、動的置換処理が完了する。   (H) On the other hand, when the loading of the application library with the load generation number “2” is completed, the load processing execution thread 12 updates the load generation of the generation information 17 to the load generation number “2”. Thereby, the dynamic replacement process is completed.

段階(i)及び(j)は、動的置換処理実行後の段階である。   Stages (i) and (j) are stages after execution of the dynamic replacement process.

(i)処理要求実行スレッド11は、(h)が完了した後でクライアント装置19から処理要求を受信した場合、世代情報17のロード世代番号と呼出世代番号とを比較する。段階(h)では、世代情報17のロード世代番号と呼出世代番号とが異なる、すなわち、世代情報17のロード世代番号が呼出世代番号よりも大きくなっているので、ロード世代番号「2」のアプリケーションライブラリのライブラリ格納領域18Bを呼出ライブラリ格納領域に設定し、世代情報17の呼出世代番号をロード世代番号と同じ「2」に更新する。これにより、以降はロード世代番号「2」のアプリケーションライブラリの対応する関数を呼び出してクライアント装置19からの処理要求を処理することになる。   (I) When the processing request execution thread 11 receives a processing request from the client device 19 after completing (h), the processing request execution thread 11 compares the load generation number of the generation information 17 with the call generation number. In stage (h), the load generation number of the generation information 17 is different from the call generation number, that is, the load generation number of the generation information 17 is larger than the call generation number. The library storage area 18B of the library is set as the call library storage area, and the call generation number of the generation information 17 is updated to “2”, which is the same as the load generation number. As a result, the function corresponding to the application library with the load generation number “2” is subsequently called to process the processing request from the client device 19.

(j)ロード処理実行スレッド12は、世代情報17の呼出世代番号が「2」になったことを検知した後、置換後に不要となったアプリケーションライブラリ、すなわち、処理要求実行スレッド11が呼び出しライブラリ格納領域の設定を行う前に呼び出していたライブラリ(ライブラリ格納領域18Aに格納されているアプリケーションライブラリ)のアンロードを行う。以下、同様にして、アプリケーションサーバ1は、状況に応じて、段階(c)〜(j)の処理を繰り返す。   (J) After detecting that the call generation number of the generation information 17 is “2”, the load process execution thread 12 stores the application library that is no longer necessary after replacement, that is, the process request execution thread 11 stores the call library. Unload the library (application library stored in the library storage area 18A) that was called before setting the area. Hereinafter, similarly, the application server 1 repeats the processes of steps (c) to (j) depending on the situation.

このようにして、アプリケーションサーバ1は、処理要求実行スレッド11と、ロード処理実行スレッド12とを非同期に動作させ、新たなアプリケーションライブラリをロードしている場合、既にロードされているアプリケーションライブラリの対応する関数を呼び出してクライアント装置19からの処理要求を処理する。   In this way, when the application server 1 operates the process request execution thread 11 and the load process execution thread 12 asynchronously and loads a new application library, the application server 1 corresponds to the already loaded application library. A function is called to process a processing request from the client device 19.

また、アプリケーションサーバ1は、新たなアプリケーションライブラリのロードが完了した場合、新たなアプリケーションライブラリの格納領域を呼出ライブラリ格納領域に設定して、新たなアプリケーションライブラリの対応する関数を呼び出してクライアント装置19からの処理要求を処理する。   In addition, when the loading of the new application library is completed, the application server 1 sets the new application library storage area as the call library storage area, calls the function corresponding to the new application library, and calls from the client device 19. Process the processing request.

そして、アプリケーションサーバ1は、既にロードされているアプリケーションライブラリのアンロードを、新たなアプリケーションライブラリのロードが完了し、新たなアプリケーションライブラリの格納領域が呼出ライブラリ格納領域に設定された後に行う。   Then, the application server 1 unloads the already loaded application library after the loading of the new application library is completed and the storage area of the new application library is set as the calling library storage area.

以上の処理によって、アプリケーションサーバ1は、クライアント装置19からの処理要求を止めることなくアプリケーションライブラリを動的に置換することが可能となる。   With the above processing, the application server 1 can dynamically replace the application library without stopping the processing request from the client device 19.

そして、本発明の効果として、アプリケーションサーバ1は、大量のアプリケーションライブラリを置換する必要がある場合であっても、クライアント装置からの受付処理の停止時間を短くすることが可能となる。   As an effect of the present invention, the application server 1 can shorten the stop time of the reception process from the client device even when it is necessary to replace a large amount of application libraries.

本発明は、24時間稼動を行う大規模システムにおいて、大量のアプリケーションライブラリの機能追加やバグ修正を、クライアント装置からの受付処理を停止することなく行う場合に有効である。   The present invention is effective in a case where a large-scale system that operates for 24 hours performs a function addition or bug correction of a large number of application libraries without stopping a reception process from a client device.

1……アプリケーションサーバ、2……CPU、3……ROM、4……RAM、5……記憶部、6……入力部、7……表示部、8……入出力インタフェース、11……処理要求実行スレッド、12……ロード処理実行スレッド、13……アプリケーション動的置換手段、14……アプリケーション動的置換ライブラリ、15……自プロセス用ライブラリ情報、16……全ライブラリ情報管理テーブル、17……世代情報、18……格納領域、19……クライアント装置 DESCRIPTION OF SYMBOLS 1 ... Application server, 2 ... CPU, 3 ... ROM, 4 ... RAM, 5 ... Memory | storage part, 6 ... Input part, 7 ... Display part, 8 ... I / O interface, 11 ... Processing Request execution thread, 12... Load processing execution thread, 13... Dynamic application replacement means, 14... Application dynamic replacement library, 15... Library information for own process, 16. ... Generation information, 18 ... Storage area, 19 ... Client device

Claims (4)

ロードが完了したライブラリを格納する呼出ライブラリ格納領域から前記ライブラリを呼び出して、クライアント装置からの要求を処理する第1の制御部と、
前記第1の制御部と非同期に、前記呼出ライブラリ格納領域と異なる格納領域に新たなライブラリをロードする第2の制御部と
を備え、
前記第1の制御部は、
前記第2の制御部において前記新たなライブラリのロードが完了した場合、前記新たなライブラリの格納領域を前記呼出ライブラリ格納領域に設定する
ことを特徴とするサーバ装置。
A first controller that calls a library from a call library storage area that stores a library that has been loaded, and processes a request from a client device;
A second controller that loads a new library into a storage area different from the call library storage area asynchronously with the first controller;
The first controller is
When the loading of the new library is completed in the second control unit, the storage area of the new library is set as the calling library storage area.
前記第2の制御部は、
前記第1の制御部による前記設定が完了した後に、前記第1の制御部が前記設定前に呼び出していたライブラリをアンロードする
ことを特徴とする請求項1に記載のサーバ装置。
The second controller is
The server apparatus according to claim 1, wherein after the setting by the first control unit is completed, the library that the first control unit has called up before the setting is unloaded.
前記第2の制御部は、
前記第1の制御部が呼び出すライブラリが、前記第2の制御部の起動から何回目のロード処理によって取得したライブラリであるかを示す呼出世代情報と、前記第2の制御部がロード完了したライブラリが、前記第2の制御部の起動から何回目のロード処理によって取得したライブラリであるかを示すロード世代情報とを含んで構成される世代情報を作成し、
前記新たなライブラリのロードが完了した場合、前記ロード世代情報を更新し、
前記第1の制御部は、
前記呼出世代情報と前記ロード世代情報とが異なる場合、前記呼出世代情報を前記ロード世代情報と同一となるように更新し、前記新たなライブラリの格納領域を前記呼出ライブラリ格納領域に設定する
ことを特徴とする請求項1に記載のサーバ装置。
The second controller is
Call generation information indicating how many times the first control unit calls the library acquired by starting the second control unit, and the library that has been loaded by the second control unit Is generated generation information including load generation information indicating the library acquired by the load processing of the second time from the start of the second control unit,
When loading of the new library is completed, the load generation information is updated,
The first controller is
If the call generation information is different from the load generation information, the call generation information is updated to be the same as the load generation information, and the storage area of the new library is set as the call library storage area. The server device according to claim 1, wherein:
サーバ装置の制御方法であって、
第1の制御部が、ロードが完了したライブラリを格納する呼出ライブラリ格納領域から前記ライブラリを呼び出して、クライアント装置からの要求を処理する第1のステップと、
第2の制御部が、前記第1の制御部と非同期に、前記呼出ライブラリ格納領域と異なる格納領域に新たなライブラリをロードする第2のステップと
を備え、
前記第1のステップでは、
前記第2のステップによる前記新たなライブラリのロードが完了した場合、前記新たなライブラリの格納領域を前記呼出ライブラリ格納領域に設定する
ことを特徴とするサーバ装置の制御方法。
A server device control method comprising:
A first step in which a first control unit calls a library from a call library storage area that stores a library that has been loaded, and processes a request from a client device;
A second step of loading a new library into a storage area different from the calling library storage area asynchronously with the first control section;
In the first step,
When the loading of the new library in the second step is completed, the storage area of the new library is set as the calling library storage area.
JP2009273515A 2009-12-01 2009-12-01 Server device and method of controlling the same Pending JP2011118522A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009273515A JP2011118522A (en) 2009-12-01 2009-12-01 Server device and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009273515A JP2011118522A (en) 2009-12-01 2009-12-01 Server device and method of controlling the same

Publications (1)

Publication Number Publication Date
JP2011118522A true JP2011118522A (en) 2011-06-16

Family

ID=44283797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009273515A Pending JP2011118522A (en) 2009-12-01 2009-12-01 Server device and method of controlling the same

Country Status (1)

Country Link
JP (1) JP2011118522A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095602A (en) * 2014-11-13 2016-05-26 京セラドキュメントソリューションズ株式会社 Electronic apparatus and program
JP2016173707A (en) * 2015-03-17 2016-09-29 日本電気株式会社 Transaction processing device, transaction processing method, and control program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095602A (en) * 2014-11-13 2016-05-26 京セラドキュメントソリューションズ株式会社 Electronic apparatus and program
US9652304B2 (en) 2014-11-13 2017-05-16 Kyocera Document Solutions Inc. Electronic apparatus that uses program from another program working on different platforms, and method
JP2016173707A (en) * 2015-03-17 2016-09-29 日本電気株式会社 Transaction processing device, transaction processing method, and control program

Similar Documents

Publication Publication Date Title
JP5911892B2 (en) Multistage resume from hibernate
JP5026494B2 (en) Computer that starts at high speed
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
JP2013520744A (en) Method and apparatus for generating minimum boot image
US9043806B2 (en) Information processing device and task switching method
JP2008217530A (en) Information processor and setting method
JP2010055184A (en) Information processor and memory management method
US20130138934A1 (en) Loading configuration information
TWI450090B (en) Method and system of changing a startup list of programs to determine whether computer system performance increases
JP2011118522A (en) Server device and method of controlling the same
JP2015035007A (en) Computer, control program, and dump control method
JP2007065753A (en) Starting method and navigation device
JP6079777B2 (en) Management device, data acquisition method, and data acquisition program
JP6379599B2 (en) Application determination program, application determination method, and application determination apparatus
US10417041B2 (en) Moving a software application in a system cluster
JP2013222372A (en) Electronic apparatus
JP2017162311A (en) Smart device, priority processing method and priority processing program
JP2006139696A (en) Data restoration method and data restoration program
JP2006277047A (en) Data processing device and dynamic substitution method of application program in multithread system
CN112783557A (en) Method for parallel execution of loading and decompression in Linux kernel
JP2013246646A (en) Information processor and data reading method
CN109800013B (en) Method and system for hot expansion of server application function and readable storage medium
JP7197131B2 (en) Information processing device, information processing method, program
JP2012174031A (en) Information processor, method for starting information processor and program
JP2005228272A (en) Compression program, compression method, decompression program and decompression method