(57)【要約】【課題】稼動システムへの影響を抑制した自動リリース方法を提供する。【解決手段】複数システムからそれぞれのソースファイルやシステム設定情報らをセンタコンピュータに送信し、また定期的にＣＰＵの使用率とメモリの使用量とプロセスの稼動情報とディスクの容量情報とをセンタコンピュータに送信する。センタコンピュータは複数システムのシステム設定情報や統計情報に基づいて、該当する環境向けにソースファイルのコンパイルを実施する。また、前記リリースの自動スケジュール装置により、複数システムの統計情報に基づいてシステムの負荷を抑制したリリース時期を算出し、このリリース時期に基づきリリース設定情報とリリースファイルを該当するシステムに送信する。システム側ではリリース設定情報に基づき自動リリース組込処理装置によりリリースの自動実行を行う。【選択図】　図１
2004062261.tif 000002
【特許請求の範囲】
【請求項１】
複数のシステムに接続するセンタコンピュータにより複数システムのコンパイル処理を実行する自動コンパイル方法において、複数システムからそれぞれのＣＰＵ稼動情報、メモリ稼動情報、プロセス稼動情報、ディスク容量情報、ＯＳ情報、導入済プログラム設定情報を含む該システムの設定情報とコンパイルを行うソースファイルとをセンタコンピュータに送信し、複数システムの統計情報に基づいて該当する環境向けにソースファイルのコンパイルを実施することを特徴とするコンパイルの自動化方法。
【請求項２】
複数のシステムに接続するセンタコンピュータにより複数システムへのプログラムリリース処理を実行する自動リリース方法において、複数システムからそれぞれのＣＰＵ稼動情報、メモリ稼動情報、プロセス稼動情報、ディスク容量情報、ＯＳ情報、導入済プログラム設定情報を含む該システムの設定情報をセンタコンピュータに送信し、複数システムの統計情報とセンタコンピュータに備える自動スケジュール装置に基づいてシステムの負荷への影響を軽減したリリース時期を自動で判断することと、前記判断に基づき算出したリリース時期とリリース先を指示したリリース組込設定情報に基づいてリリースの自動実行を行うこととを特徴とするリリースの自動化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、開発や修正を行ったプログラムソースのコンパイルを自動で実施する方法に関し、特にセンタコンピュータが代理で一括してコンパイルを行うコンパイルの自動化方法に関する。また、データ類を含むプログラムファイルのリリースを自動で実施する方法に関し、特にセンタコンピュータからシステムへ事前にファイルを転送して、適切な時期に組み込みを行うリリースの自動化方法に関する。
【０００２】
【従来の技術】
開発や修正を行ったプログラムのソースのコンパイルは、従来は担当者が個別にシステムの環境を構築し、人手で環境ごとにコンピュータの資源の利用状況を確認し、手書きで作成したバッチ等を用いてコンパイルを実行していた。また、プログラムやファイルのリリースにおいては、担当者が人手で環境ごとにプログラムやファイルの利用状況を確認し、手書きで作成したバッチ等を用いてリリースを実行していた。こうした作業は、通年を無休で稼動するシステムなどでも同様の方式を行っているケースがある。これらの作業を自動化する方法として、特開２００１−５６７２号公報に示すような、分散サーバへ送付されたモジュールを自動コンパイルする方法や、特開平１０−１７１６６３号公報に示すような、使用するプログラムやデータ類を含むモジュールを複数の端末装置へリリースする方法について、センタコンピュータが端末側のプログラム実行状況により組み込みのタイミングを自動で判断する方法などが提案されている。
【０００３】
【発明が解決しようとする課題】
上述した従来の技術では、下記に記す問題点を有している。
【０００４】
コンパイルの自動化については、コンパイルを稼動中のサーバで行うことによって、業務とは関係のない負荷をかけてしまうという問題点があった。また、リリースに関しても上記従来技術ではシステム負荷についての考慮がなされておらず、同様の問題が発生していた。加えて、コンパイルを行うための環境の構築、保守作業を、システムごとに担当者が行わなければならず、人手による労力が払われていた。
【０００５】
本発明は、上記問題点に鑑みて提案されたものであって、稼動中のシステムから環境や設定の情報およびプログラムのソースをセンタコンピュータに送信し、センタコンピュータの資源を利用してコンパイルを実行することにより、システムへの負荷を回避する自動コンパイルを行い、稼動システムへの影響を抑制した自動リリース方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために本発明のコンパイル及びリリースの自動化方法では、複数の稼動システムと接続するセンタコンピュータに、自動コンパイル装置と、ソースファイルやシステム資源統計情報、システム設定情報、リリースシステム設定情報、リリースファイルの送受信装置、リリースの自動スケジュール装置を備える。
【０００７】
また、センタコンピュータと通信手段で結ばれた複数のシステムには、ＣＰＵの使用率とメモリの使用量とプロセスの稼動情報とディスクの容量情報を定期的に監視・取得する装置と、ソースファイルやシステム資源統計情報、システム設定情報、リリースシステム情報、リリースファイルの送受信装置と、リリース設定情報とリリースファイルに基づいてリリースを自動実行する自動リリース組込処理装置を備える。なお、ここで表記するプロセスとは、ＯＳがプログラムの実行手順を管理するための単位を指す。
【０００８】
複数システムからそれぞれのソースファイルやシステム設定情報らをセンタコンピュータに送信し、また定期的にＣＰＵの使用率とメモリの使用量とプロセスの稼動情報とディスクの容量情報とをセンタコンピュータに送信する。センタコンピュータは複数システムのシステム設定情報や統計情報に基づいて、該当する環境向けにソースファイルのコンパイルを実施する。また、前記リリースの自動スケジュール装置により、複数システムの統計情報に基づいてシステムの負荷を抑制したリリース時期を算出し、このリリース時期に基づきリリース設定情報とリリースファイルを該当するシステムに送信する。システム側ではリリース設定情報に基づき自動リリース組込処理装置によりリリースの自動実行を行う。
【０００９】
【発明の実施の形態】
図１は、本発明の実施形態のシステム構成図を示す図である。センタコンピュータ１３には稼動システム１０が、通信手段１２により複数接続している。ここでは稼動システムは１つのみ示しているが、同様のシステムが複数接続していることとする。
【００１０】
稼動システム１０には、ＣＰＵの使用率を定期的に取得するＣＰＵ監視処理装置２０と、メモリの使用率を定期的に取得するメモリ監視処理装置２２と、プロセスの状況を定期的に取得するプロセス監視処理装置２４と、ディスクの状況を定期的に取得するディスク監視処理装置２６を備えると共に、（ａ）取得したＣＰＵの使用率、メモリの使用率、プロセスの状況、ディスク容量をそれぞれＣＰＵ稼動テーブル２１、メモリ稼動テーブル２３、プロセス稼動テーブル２５、ディスク稼動テーブル２７に保存し、場合によってはＣＰＵ稼動テーブル２１、メモリ稼動テーブル２３、プロセス稼動テーブル２５、ディスク状況テーブル２７を統計的に集計して、稼動システム資源統計情報２８とする機能を有する。ここで稼動システム資源統計情報２８は、ＣＰＵ稼動テーブル２１、メモリ稼動テーブル２３、プロセス稼動テーブル２５、ディスク稼動テーブル２７の内容が記録されたもので、その形式は問わず、ファイルの集まりやデータベースなどでもよい。稼動システム１０には上記に加え、ＯＳに関する情報を保持するＯＳ設定テーブル３０と、導入されているソフトウェアに関する情報を保持するソフトウェア設定テーブル３１を備えると共に、場合によってはＯＳ設定テーブル３０、ソフトウェア設定テーブル３１の情報を記録して稼動システム設定情報３２上に保存する手段をそなえている。ここで稼動システム設定情報３２は、ＯＳ設定テーブル３０、ソフトウェア設定テーブル３１の内容が記録されたもので、例えば情報が記録されたファイルの集まりや分散データベース上に記録された情報等でもよい。さらに稼動システム１０は、ソースファイル２９、稼動システム資源統計情報２８、稼動システム設定情報３２をセンタコンピュータ１３に送信し、リリース組込設定情報４５とリリースファイル４３をセンタコンピュータ１３から受信する、送受信処理装置１１と、リリース組込設定情報３３の指定に従って新リリースファイル３４を稼動システムに取り込むリリース組込処理装置３５も有する。ここでリリース組込設定情報３３は、リリースを開始する時期やリリースするファイルを指定したもので、例えば情報が記録されたファイルの集まりや分散データベース上に記録された情報等である。
【００１１】
センタコンピュータ１３には、稼動システム１０から送信されてくる稼動システム設定情報３２と稼動システム資源統計情報２８、ソースファイル２９を受信し、リリースファイル４３とリリース組込設定情報４５を送信する送受信装置１４と、稼動システム資源統計情報４０と稼動システム設定情報４１をもとに、あらかじめ構築された環境でソースファイル４２のコンパイルを実行し、リリースファイル４４を作成する自動コンパイラ装置４３と、稼動システム資源統計情報４０をもとに、リリースファイル３４を稼動システムに組み込む時期を自動で判定し、（ｂ）その指示をリリース組込設定情報３３に出力する自動スケジューラ装置４５を備えて構成されている。なお、リリースファイル３４（４４）はリリースに関するファイルの集まりで、その数は１個と限らず、複数でもよい。
【００１２】
稼動システム１０は、例えばファイル転送などを用いて、定期的に取得したＣＰＵ、メモリ、プロセス、ディスクに関する情報が保存された稼動システム資源統計情報２８を転送する。センタコンピュータ１３は、稼動システム１０から受信した稼動システム設定情報４１をもとに、同じ設定条件の環境で動作するように、稼動システム１０から受信したソースファイル４２を、コンパイラ４２を動作させてコンパイルする。次にスケジューラ装置４５は、稼動システム１０から受信した稼動システム資源統計情報４０の内容を読み込み、ディスク稼動テーブルからリリース組込処理に要するディスク容量が確保できるか確認ならびに予測を行い、プログラムをリリースする場合は、プロセス稼動テーブルからリリースプログラムのプロセスが使用されていない、あるいは分散オブジェクト環境下で使用率が低い時期の候補を、リリースするプログラムのプロセスの使用率が低い時期の中から選定し、ＣＰＵ稼動テーブルとメモリ稼動テーブルから、ＣＰＵの使用率およびメモリの使用率が低い時期、つまり稼動システムの負荷への影響が軽微な時期の確認ならびに予測を行い、リリースするファイル、リリースする時期、リリース先、などをリリース組込設定情報４６に出力する。また、稼動システム資源統計情報２８を受信したのと同じ手段などを用いて、該当する各稼動システム１０へリリースファイル４４とリリース組込設定情報４６を転送する。稼動システム１０は、リリースファイル４４とリリース組込設定情報４６を送受信装置１１で受信すると、リリースファイル３４とリリース組込設定情報３３を一時的に退避し、リリース組込設定情報３３が指定する期間、指定するファイルを、指定するリリース先に自動リリース組込処理装置３５によって、リリースを実行する。
【００１３】
図２は、上記（ａ）で使用するＣＰＵ稼動テーブルの一実施例で、テーブル内の各履歴情報を一意に区別するための履歴ＩＤ１００、情報を取得した年月日１０１と時刻１０２、取得したＣＰＵを一意に区別するためのＣＰＵＩＤ１０３、取得時点での各ＣＰＵの使用率１０４を保持している。図３は、上記（ａ）で使用するメモリ稼動テーブルの一実施例で、テーブル内の各履歴情報を一意に区別するための履歴ＩＤ１１０、情報を取得した年月日１１１と時刻１１２、最大メモリ容量１１３、取得時点でのメモリの使用率１１４を保持している。なお図３では、１１４を使用率としたが、メモリの使用量や空き容量でもかまわない。図４は、上記（ａ）で使用するプロセス稼動テーブルの一実施例で、テーブル内の各履歴情報を一意に区別するための履歴ＩＤ１２０、情報を取得した年月日１２１と時刻１２２、プロセスのイメージ名１２３、取得時点での各プロセスのＣＰＵ使用率１２４を保持している。図５は、上記（ａ）で使用するディスク稼動テーブルの一実施例で、テーブル内の各履歴情報を一意に区別するための履歴ＩＤ１３０、情報を取得した年月日１３１と時刻１３２、最大ディスク容量１３３、取得時点でのディスク容量の使用率１３４を保持している。なお図５では、１３４を使用率としたが、ディスク使用容量や空き容量でもかまわない。図６は、上記（ｂ）で使用するリリース組込設定情報の一実施例で、テーブル内の各設定情報を一意に区別するための指定ＩＤ１４０、リリースを実行する年月日１４１と時刻１４２、リリース対象ファイルを指定したリリースファイル１４３、リリース先を指定したリリース先１４４を保持している。なお図６では、１４４はリリース先をシステム名として例にしているが、稼動システムが１つの場合などは、ファイルパスなどでもかまわない。
【００１４】
次に、図７のフローチャートに基づいて、自動コンパイルの実施方法を説明する。自動コンパイル装置４３は、コンパイルを実行する指示を受けると、新規にコンパイルする対象ファイルが揃っているか確認する（ステップ２００）。次に稼動システム設定情報４１に基づいて、稼動システム１０と同じコンパイル実行環境に対象ファイルを用意する（ステップ２０１）。コンパイルの準備が整ったら、自動コンパイル装置４３はコンパイルを自動で実行する（ステップ２０２）。なおこの際、コンパイルの実行結果は、担当者にその旨が通知される。
【００１５】
次に、図８のフローチャートに基づいて、リリースの自動スケジューリングの実施方法を説明する。コンパイルが終了したら、リリースに関係するファイルが全て準備されたか確認する（ステップ３００）。自動スケジューリング装置４５は、稼動システム資源統計情報４０を読み込み、リリースを実行するだけのディスク容量があるか確認する（ステップ３０１）。もしディスク容量が不足していると判断された場合は、その旨を担当者に通知する（ステップ３０３）。ディスク容量に問題がなく、リリース対象がプログラムの場合は、稼動システム１０で該当プログラムの使用率が比較的低い時期、あるいは使用されていない時期を、稼動システム資源統計情報４０から判断、候補を選び出す（ステップ３０４）。ステップ３０４で選び出されたリリース実行時期の候補の内、もっともＣＰＵおよびメモリの使用率が低い時期を、稼動システム資源統計情報４０から判断、選択し、それをリリース実行時期として決定する（ステップ３０５）。ステップ３０５で決定したリリース実行時期と、リリースを行うファイルらの指定を、リリース組込設定情報４６に保持する（ステップ３０６）。
【００１６】
次に図９のフローチャートに基づいて、自動リリース組込処理の実施方法を説明する。センタコンピュータ１３からリリースファイル３４とリリース組込設定情報３３を受信すると（ステップ４００、ステップ４０１）、自動リリース組込装置３５は、リリース組込設定情報３３を読み込み、指示されたリリース時期まで待機を行う（ステップ４０２、ステップ４０３）。リリース組込設定情報３３で指示されたリリース時期が来たら、自動リリース組込装置３５は、現行のリリースファイルの動作を停止し、新しいリリースファイルをリリース組込設定情報３３で指示された位置に配置し、再度リリースファイルを動作させる（ステップ４０４）。
【００１７】
【発明の効果】
以上説明したように、本発明によれば稼動システムではなくセンタコンピュータでコンパイル作業を行うことにより、コンパイル作業がある場合でも、稼動システムのコンピュータ資源を本来の業務に専有できる。またセンタコンピュータにシステム環境を構築しておくことにより、各システム担当者によるシステム環境の構築、保守作業の手間が軽減できる。また同様に、リリース時期を業務の状態に合わせて予測することにより、２４時間３６５日稼動システムの場合でも、業務への影響を軽減することができる。
【図面の簡単な説明】
【図１】本発明のコンパイルおよびリリースの自動化の一実施例を示す、全体構成図である。
【図２】図１の実施例に掲載したＣＰＵ稼動テーブルに保持された内容を示す図である。
【図３】図１の実施例に掲載したメモリ稼動テーブルに保持された内容を示す図である。
【図４】図１の実施例に掲載したプロセス稼動テーブルに保持された内容を示す図である。
【図５】図１の実施例に掲載したディスク稼動テーブルに保持された内容を示す図である。
【図６】図１の実施例に掲載したリリース組込設定情報に保持された内容を示す図である。
【図７】本発明の実施例でコンパイルの自動処理方法を示すフローチャートである。
【図８】本発明の実施例でスケジューリングの自動処理方法を示すフローチャートである。
【図９】本発明の実施例でリリースの自動処理方法を示すフローチャートである。
【符号の説明】
１０…稼動システム、１１…送受信処理装置（稼動システム側）、１２…通信手段、１３…センタコンピュータ、１４…送受信処理装置（センタコンピュータ側）、２０…ＣＰＵ監視処理装置、２１…ＣＰＵ稼動テーブル、２２…メモリ監視処理装置、２３…メモリ稼動テーブル、２４…プロセス監視処理装置、２５…プロセス稼動テーブル、２６…ディスク監視処理装置、２７…ディスク稼動テーブル、２８…稼動システム資源統計情報（稼動システム側）、２９…ソースファイル（稼動システム側）、３０…ＯＳ設定テーブル、３１…ソフトウェア設定テーブル、３２…稼動システム設定情報（稼動システム側）、３３…リリース組込設定情報（稼動システム側）、３４…リリースファイル（稼動システム側）、３５…リリース組込処理装置、３６…現行リリースファイル、４０…稼動システム資源統計情報（センタコンピュータ側）、４１…稼動システム設定情報（センタコンピュータ側）、４２…ソースファイル（センタコンピュータ側）、４３…自動コンパイラ装置、４４…リリースファイル（センタコンピュータ側）、４５…自動スケジューラ装置、４６…リリース組込設定情報（センタコンピュータ側）、１００…履歴ＩＤ、１０１…年月日、１０２…時刻、１０３…ＣＰＵＩＤ、１０４…使用率、１１０…履歴ＩＤ、１１１…年月日、１１２…時刻、１１３…最大メモリ、１１４…使用率、１２０…履歴ＩＤ、１２１…年月日、１２２…時刻、１２３…イメージ名、１２４…ＣＰＵ使用率、１３０…履歴ＩＤ、１３１…年月日、１３２…時刻、１３３…最大ディスク容量、１３４…ディスク使用量、１４０…指定ＩＤ、１４１…リリース年月日、１４２…リリース時刻、１４３…リリースファイル、１４４…リリース先。
【図１】
2004062261.tif 000003
【図２】
2004062261.tif 000004
【図３】
2004062261.tif 000005
【図４】
2004062261.tif 000006
【図５】
2004062261.tif 000007
【図６】
2004062261.tif 000008
【図７】
2004062261.tif 000009
【図８】
2004062261.tif 000010
【図９】
2004062261.tif 000011