(57)【要約】【課題】アップデート作業中に異常が発生した場合に、自動的に異常が発生したアップデート作業の開始直前の状態に戻すことができるとともに、異常が発生したアップデート作業を再開できるプログラムのアップデート処理支援法方法およびこのアップデート処理支援方法をコンピュータに実行させるプログラムを提供する。【解決手段】クライアントから、アップデート処理の実行要求を受け付け、前記受け付けたアップデート処理の実行要求に基づき、該アップデート処理を実行し、前記実行状態を前記記憶部に記録し、前記実行したアップデート処理に異常があったことを検知すると、該アップデート処理の再開に必要な処理を行い、前記異常が発生した情報を含む前記記憶部の実行状態情報を前記クライアントへ送信し、前記異常を検出したアップデート処理の再実行要求を受け付け、該アップデート処理を再実行する。【選択図】  図３
2012073694.tif 000002
【特許請求の範囲】
【請求項１】
クライアントと接続されたサーバにおける、プログラムのアップデート処理支援方法であって、
前記サーバは、演算制御装置と、記憶装置を具備しており、
前記演算制御装置により、
前記クライアントから、アップデート処理の実行要求を受け付け、
前記受け付けたアップデート処理の実行要求に基づき、該アップデート処理を実行し、
前記実行状態を前記記憶部に記録し、
前記実行したアップデート処理に異常があったことを検知すると、該アップデート処理の再開に必要な処理を行い、前記異常が発生した情報を含む前記記憶部の実行状態情報を前記クライアントへ送信し、
前記異常を検出したアップデート処理の再実行要求を受け付け、該アップデート処理を再実行する、
ことを特徴とするプログラムのアップデート処理支援方法。
【請求項２】
前記アップデート処理は、
データ／モジュールバックアップ取得処理、モジュールアップデート処理、データベース構築処理、データ追加／処理を含む
ことを特徴とする請求項１に記載のプログラムのアップデート処理支援方法。
【請求項３】
コンピュータに、請求項１または請求項２に記載のアップデート処理支援方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのアップデート処理支援方法およびプログラムに関する。
【背景技術】
【０００２】
従来、システムの改変に合わせてプログラム（ソフトウェア）のアップデート等の作業を行なうことが可能なインストーラを用いることで、一つ一つの作業をそれぞれ行なうことなく自動でアップデートを行い、その変更内容を履歴として自動的に記録する技術が知られている（特許文献１参照）。また、アップデートを行っている際に、何らかの要因で障害等の異常が発生した場合、その異常発生の原因をアップデート作業者に対し通知する技術が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−３２７８８８号公報
【特許文献２】特開２００１−３５６９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の技術は、アップデート作業時の変更内容の履歴について記録を行っているが、作業の状況について記録を行っていない。そのため、複数のアップデート作業のうち何れかのアップデート作業に異常が発生した場合に、作業者はどのアップデート作業を再開すればよいか分からないために、再度全てのアップデート作業を最初から実施しなければならず、作業に手戻りが発生するという問題点があった。また、上記特許文献２に記載の技術では、アップデート作業を行っている際に異常が発生した場合、異常が発生したアップデート作業の開始直前の状態に、手作業で戻さなければならないため、作業が煩雑になり、また、作業の開始直前の状態に正しく戻っているかどうかを確認する時間が必要になる、という問題点があった。
【０００５】
本発明は、アップデート作業中に、何れかのアップデート作業に異常が発生した場合に、自動的に異常が発生したアップデート作業の開始直前の状態に戻すことができるとともに、その異常が発生したアップデート作業を再開できるプログラムのアップデート処理支援方法およびこのアップデート処理支援方法をコンピュータに実行させるプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するための一手段について説明する。本発明に係るプログラムのアップデート処理支援方法は、クライアントと接続されたサーバにおける、プログラムのアップデート処理支援方法である。前記サーバは、演算制御装置と記憶装置を具備しており、前記演算制御装置により、前記クライアントから、アップデート処理の実行要求を受け付け、前記受け付けたアップデート処理の実行要求に基づき、該アップデート処理を実行し、前記実行状態を前記記憶部に記録し、前記実行したアップデート処理に異常があったことを検知すると、該アップデート処理の再開に必要な処理を行い、前記異常が発生した情報を含む前記記憶部の実行状態情報を前記クライアントへ送信し、前記異常を検出したアップデート処理の再実行要求を受け付け、該アップデート処理を再実行する、ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、アップデート作業中に異常が発生した場合に、自動的に異常が発生したアップデート作業の開始直前の状態に戻すことができるとともに、異常が発生したアップデート作業を再開できる。これにより、手戻り作業を最小限に抑え、作業者の手間を軽減することが可能になる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る自治体事務処理支援システム１の全体構成例を示す図である。
【図２】サーバ１０、サーバ１１のハードウェア構成例を示す図である。
【図３】製品アップデート半自動化ツール２１１の処理を示すフローチャートである。
【図４（ａ）】アップデート戻し処理の詳細を示すフローチャートである。
【図４（ｂ）】同じく、アップデート戻し処理の詳細を示すフローチャートである。
【図４（ｃ）】同じく、アップデート戻し処理の詳細を示すフローチャートである。
【図５】削除モジュール定義ファイル３０のレイアウトを示す図である。
【図６】モジュール削除ファイル３１のレイアウトを示す図である。
【図７】データベース再構築ファイル４０のレイアウトを示す図である。
【図８】データベース編集定義ファイル５０のレイアウトを示す図である。
【図９】データ削除ファイル５１のレイアウトを示す図である。
【図１０】更新情報ファイル２３２のレイアウトを示す図である。
【図１１（ａ）】更新情報ファイル２３２の更新例を示す図である。
【図１１（ｂ）】同じく、更新情報ファイル２３２の更新例を示す図である。
【図１１（ｃ）】同じく、更新情報ファイル２３２の更新例を示す図である。
【図１２（ａ）】製品アップデート半自動化ツール２１１の処理結果の画面表示例を示す図である。
【図１２（ｂ）】同じく、製品アップデート半自動化ツール２１１の処理結果の画面表示例を示す図である。
【図１２（ｃ）】同じく、製品アップデート半自動化ツール２１１の処理結果の画面表示例を示す図である。
【発明を実施するための形態】
【０００９】
図１は、本発明の実施形態に係る自治体事務処理支援システム１の全体構成例を示す図である。図１に示すように、自治体事務処理支援システム１は、１つ以上のサーバ（サーバ１０、サーバ１１）とクライアント１２が、ＷＡＮ（Wide Area Network）等のネットワーク１３に接続されて構成される。尚、サーバ１０、サーバ１１のそれぞれにプログラムのアップデートを実施するが、アップデートの方法については同様であるため、以下では、サーバ１０に対してのアップデートの方法を例にとり説明する。また、本実施形態では、アップデート作業として、「デ−タ/モジュールバックアップ取得」、「モジュールアップデート」、「データベース構築」、「データ追加/削除」を例にとり説明する。
【００１０】
図２は、サーバ１０のハードウェア構成例を示す図である。図２に示すように、サーバ１０は、一般的なコンピュータにより実現でき、記憶装置２０１と、ディスプレイ等の表示装置２０２と、キーボード・マウス等の入力装置２０３と、ＣＰＵ等の演算制御装置２０４と、ネットワーク１３を介して、他のコンピュータとデータの送受信を行う通信装置２０５とを具備する。記憶装置２０１には、プログラム２１０と、バックアップファイル２２０と、アップデートファイル２３０と、ＬＯＧファイル２４０と、データベース２５０が格納される。プログラム２１０には、自治体事務処理支援システム１のプログラムのアップデートやデータベース構築情報の変更、追加データの登録などの作業を支援する、プログラムのアップデート処理支援機能プログラム（以下、製品アップデート半自動化ツールという）２１１、自治体事務処理支援システム１を起動及び実行するモジュール２１２を含む。演算制御装置２０４は、記憶装置２０１からプログラム２１０を読み出して実行する。上記プログラムは、予め記憶装置２０１に格納されていても良いし、上記コンピュータが利用可能な記憶媒体に格納されており、図示していない読み取り装置を介して、必要に応じて読み出され、あるいは、上記コンピュータが利用可能な通信媒体であるネットワーク１３と接続された他のコンピュータから、必要に応じてダウンロードされて、記憶装置２０１に導入されるようにしても良い。
【００１１】
バックアップファイル２２０には、モジュール２１２のバックップであるモジュールバックアップファイル２２１、データベース２５０のデータについてのバックアップである、データベースバックアップファイル２２２を含む。
【００１２】
アップデートファイル２３０には、アップデートするサーバの情報と、アップデートを行うバージョン名を記載したアップデート情報ファイル２３１と、アップデート情報ファイル２３１に記載されている情報と、製品アップデート半自動化ツール２１１のアップデート作業状況を記録する更新情報ファイル２３２と、自治体事務処理支援システム１のアップデートの対象となる、新規モジュール及び、修正モジュールを格納した対象モジュール２３３を格納している。なお、対象モジュール２３３は、モジュール２１２と同一のものが格納される。また、アップデートファイル２３０には、自治体事務処理支援システム１のアップデートの対象であり、データベース２５０に追加されるテーブルを構築するための実行コマンドが記載されている。データベース構築情報２３４、データベース２５０に格納されている各テーブルが有する業務データの、追加／削除（文中の「／」は、「及び／または」の意味を含む）を行うための実行コマンドが記載されている追加データ／削除データ情報２３５を含む。ＬＯＧファイル２４０は、アップデート作業ごとに一つのファイルが作成され、各アップデート作業の作業開始日、作業開始時刻、作業終了日、作業終了時刻、処理結果を有する。データベース２５０は、複数のテーブルを含み、各テーブルには業務データが格納されている。
【００１３】
図５は、削除モジュール定義ファイル３０のファイルレイアウトを示す図である。対象モジュール２３３に格納されている、モジュール名が記載される。
【００１４】
図６は、モジュール削除ファイル３１のファイルレイアウトを示す図である。削除モジュール定義ファイル３０に記載されているモジュール名に対応し、モジュール名の前にモジュールの削除コマンドが記載される。
【００１５】
図７は、データベース再構築ファイル４０のファイルレイアウトを示す図である。データベース構築情報２３４に記載されている、テーブル名／インデックス名の前にテーブル／インデックスの削除コマンドが記載される。
【００１６】
図８は、データベース編集定義ファイル５０のファイルレイアウトを示す図である。追加データ／削除データ情報２３５に記載されているテーブル名の一覧が記載される。
【００１７】
図９は、データ削除ファイル５１のファイルレイアウトを示す図である。追加データ／削除データ情報２３５に記載されているテーブル名の前にデータの削除コマンドが記載される。
【００１８】
図１０は、更新情報ファイル２３２のファイルレイアウトを示す図である。更新情報ファイル２３２は、アップデート情報６０１とアップデート作業状況６０４から構成される。アップデート情報６０１には、アップデートするサーバのパス情報６０２と、更新を行なっているバージョン名６０３の情報を含む。アップデート作業状況６０４は、アップデート作業の全項目の作業数６０５と、各作業の作業状況６０６を含む。各作業の作業状況６０６は、各作業の作業名６０７と、作業の実施状況６０８（”未実行”＝該当する作業を実施していない状態、”正常終了”＝該当する作業が問題なく作業が終了している状態、”異常終了”＝該当する作業の実施中に異常があり、作業が完了していない状態）と、アップデート作業者の作業結果確認有無６０９（空欄＝作業者が作業の実施状況を確認していない状態、”確認済み”＝ 作業者が作業の実施状況を確認した状態）、作業開始日６１０、作業開始時間６１１、作業終了日６１２、作業終了時間６１３を含む。
【００１９】
図３は、製品アップデート半自動化ツール２１１の処理を示すフローチャートである。
【００２０】
演算制御装置２０４は、はじめに、更新情報ファイル２３２（図１０）を読み込み、アップデート作業状況６０４を取得する（ステップＳ１０１）。次に、演算制御装置２０４は、更新情報ファイル２３２に記録されているアップデート作業状況６０４を表示装置２０２に表示する制御を行う（ステップＳ１０２）。なお、図１２（ａ）〜（ｃ）は、作業状態の画面表示例の図であり、アップデート作業者の作業結果確認有無、作業名、作業開始日時、作業終了日時、作業結果、作業結果のログファイル名の項目を有する。図１２（ａ）は、図１１（ａ）に示した更新情報ファイル２３２を読み込んだ際の画面表示例である。図１１（ａ）は、図３、ステップＳ１０５１〜Ｓ１０５４の処理が未実施の場合の更新情報ファイル２３２の更新例である。図１２（ｂ）は、図１１（ｂ）に示した更新情報ファイル２３２を読み込んだ際の画面表示例である。図１１（ｂ）は、データ／モジュールバックアップ取得（図３、ステップＳ１０５１）と、モジュールアップデート（図３、ステップＳ１０５２）の処理が正常終了し、データベース構築（図３、ステップＳ１０５３）の処理が異常終了し、データ追加／削除（図３、ステップＳ１０５４）の処理が未実施の場合の更新情報ファイル２３２の更新例である。図１２（ｃ）は、図１１（ｃ）は、に示した更新情報ファイル２３２を読み込んだ際の画面表示例である。図１１（ｃ）は、図３、ステップＳ１０５１〜Ｓ１０５４の全ての処理が正常終了した場合の画面表示例である。
【００２１】
次に、作業者が表示装置２０２に表示された、何れかのアップデート作業を選択すると、入力装置２０３から選択したいずれかのアップデート作業の実行要求を、演算制御装置２０４が受ける（ステップＳ１０３）。なお、アップデート作業者が、製品アップデート半自動化ツール２１１を再起動した際に、更新情報ファイル２３２の作業の実施状況６０８が“正常終了”で、かつ、アップデート作業者の作業確認有無６０９が “確認済み”のアップデート作業について、アップデート作業者は該当するアップデート作業を選択し、実行することができない。
【００２２】
その後、システム日付と、時刻を取得し、ＬＯＧファイル２４０に作業開始日付と、作業開始時刻を記録し、作業者により選択されたアップデート作業名と同じ名前のＬＯＧファイルを作成する（ステップＳ１０４）。
【００２３】
次に、演算制御装置２０４は、選択された作業を実施する（ステップＳ１０５）。選択された作業が「データ／モジュールバックアップ取得」の場合、演算制御装置２０４は、モジュール２１２をモジュールバックアップファイル２２１へコピーし、データベース２５０に格納されているデータのバックアップを取得し、データベースバックアップファイル２２２へ格納する（ステップＳ１０５１）。なお、この時、全テーブルの業務データのバックアップを取得する。
【００２４】
選択された作業が「モジュールアップデート」の場合、演算制御装置２０４は、対象モジュール２３３に格納されているモジュールの全てをモジュール２１２へコピーする。選択された作業が「データベース構築」の場合、演算制御装置２０４は、データベース構築情報２３４を取得し、コマンドの実行を行い、データベース２５０にテーブル／インデックスの構築を行なう。なお、本作業は新しい機能を追加した場合に行なう。選択された作業が「データ追加／データ削除」の場合、演算制御装置２０４は、対象のテーブルに対して、データ追加／データ削除を行なう。
【００２５】
次に、演算制御装置２０４は、ＬＯＧファイル２４０に、ステップＳ１０５の作業の実行結果と、取得したシステム日付と、時刻を作業終了日付、作業終了時刻として、ステップＳ１０５にて実施されたアップデート作業名と同じ名前のＬＯＧファイルに記録する（ステップＳ１０６）。なお、ＬＯＧファイル２４０は、ステップＳ１０５を実施する毎に作成される。
【００２６】
次に、演算制御装置２０４は、ＬＯＧファイル２４０に記録された実行結果から、実行した処理が異常終了しているかどうか判定する（ステップＳ１０７）。前記判定結果が“Ｙｅｓ”の場合は、演算制御装置２０４は、アップデート戻し処理（ステップＳ１０８）を行なう。アップデート戻し処理の詳細は後述する。
【００２７】
アップデート戻し処理（ステップＳ１０８）が完了後、演算制御装置２０４は、ステップＳ１０５での実行処理が異常終了したことを表示装置２０２に表示する制御を行う（ステップＳ１０９）。アップデート戻し処理（ステップＳ１０８）の詳細は後述する。
【００２８】
また、ステップＳ１０７において、判定結果が“Ｎｏ”の場合は、演算制御装置２０４は、ステップＳ１０５での実行処理が正常終了したことを表示装置２０２に表示する制御を行う（ステップＳ１０９）。
【００２９】
次に、その他の作業を続行するかについて、アップデート作業者が入力装置２０３から選択する。なお、画面表示例は、図１２（ａ）〜（ｃ）に示す通りである。演算制御装置２０４は、作業の続行有無の要求を受信し、受信した要求からその他の作業続行有無を判定する（ステップＳ１１０）。
【００３０】
判定の結果が“Ｙｅｓ”の場合は、演算制御装置２０４は、ステップＳ１０２に戻り、ステップＳ１０２〜Ｓ１０９の処理を行なう。ステップＳ１１０において、判定結果が“Ｎｏ”の場合は、演算制御装置２０４は、アップデート情報ファイル２３１からアップデートするサーバの情報と、バージョン名を取得し、更新情報ファイル２３２に、アップデートするサーバ情報６０２と、更新を行っているバージョン名６０３へ書き込む。また、演算制御装置２０４は、ＬＯＧファイル２４０から、作業の処理結果、アップデート作業者の作業結果確認有無、作業開始日、作業開始時間、作業終了日、作業終了時刻を取得し、更新情報ファイル２３２の作業名６０７、作業の実施状況６０８、アップデート作業者の作業結果確認有無６０９、作業開始日６１０、作業開始時間６１１、作業終了日６１２、作業終了時刻６１３へ書き込み、更新する（ステップＳ１１１）。
【００３１】
図４（ａ）、図４（ｂ）、図４（ｃ）はアップデート戻し処理（図３、ステップＳ１０８）の詳細を示すフローチャートである。
【００３２】
図４（ａ）は、図３において、ステップＳ１０５２の処理を行い、ステップＳ１０７の判定が”Ｙｅｓ”の場合に実施する処理を示す。まず、演算制御装置２０４は、対象モジュール２３３に格納されている対象モジュールの一覧からモジュール名を取得し、取得したモジュール名を記載した対象モジュール定義ファイル３０（図５）を作成し、記憶装置２０１に格納する。
【００３３】
次に、演算制御装置２０４は、記憶装置２０１に格納された対象モジュール定義ファイル３０から、各モジュール名に対してファイル削除コマンドを付与し、モジュール削除ファイル３１（図６）を作成する（ステップＳ２０１）。次に、演算制御装置２０４は、作成したモジュール削除ファイル３１実行し、モジュール２１２から、該当するモジュールを削除する（ステップＳ２０２）。対象モジュール定義ファイル３０で定義されており、モジュールバックアップファイル２２１に格納されているモジュールバックアップファイルをモジュール２１２にコピーする（ステップＳ２０４）。
【００３４】
図４（ｂ）は、図３において、ステップＳ１０５３の処理を行い、ステップＳ１０７の判定が”Ｙｅｓ”の場合に実施する。まず、演算制御装置２０４は、データベース構築情報２３４をコピーを取得し、コピーしたデータベース構築情報２３４のテーブル／インデックス名の前にテーブル／インデックス名の削除コマンドを付与したデータベース構築情報ファイル４０（図７）を作成し、記憶装置２０１に格納する（ステップＳ２０５）。次に、演算制御装置２０４は、データベース再構築ファイル４０を読み込み、コマンドを実行し、該当するデータベース２５０のテーブル／インデックスを削除する（ステップＳ２０６）。
【００３５】
図４（ｃ）は、図３において、ステップＳ１０５４の処理を行い、ステップＳ１０７の判定が”Ｙｅｓ”の場合に実施する。まず、演算制御装置２０４は、追加データ／削除データ情報２３５からデータ追加／削除を行ったテーブルの一覧から、テーブル名を取得し、データベース編集定義ファイル５０（図８）を作成し、記憶装置２０１に格納する（ステップＳ２０７）。次に、演算制御装置２０４は、データベース編集定義ファイル５０から、データの削除コマンドを付与した、データ削除ファイル５１（図９）を作成、記憶装置２０１に格納する（ステップＳ２０８）。次に、演算制御装置２０４は、データ削除ファイル５１のコマンドを実行し、データを削除する（ステップＳ２０９）。データベース編集定義ファイル５１で定義されており、データベースバックアップファイル２２２に格納されているデータをロードする（ステップＳ２１０）。
【００３６】
なお、本ツールの処理ステップＳ１０５１の処理を行い、ステップＳ１０７の判定が”Ｙｅｓ”の場合は、アップデート戻し処理は実施しない。
【００３７】
以上、本発明の一実施形態について説明したが、上記実施形態によれば、アップデート作業中に異常が発生した場合に、自動的に異常が発生したアップデート作業の開始直前の状態に戻すことができるとともに、異常が発生したアップデート作業を再開できる。これにより、手戻り作業を最小限に抑え、作業者の手間を軽減することが可能になる。
【００３８】
また、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００３９】
１・・・自治体業務支援システム、１０・・・サーバ、１１・・・サーバ、１２・・・クライアント、１３・・・ネットワーク、２０１・・・記憶装置、２０２・・・表示装置、２０３・・・入力装置、２０４・・・演算制御装置、２０５・・・通信装置。
【図１】
2012073694.tif 000003
【図２】
2012073694.tif 000004
【図３】
2012073694.tif 000005
【図４（ａ）】
2012073694.tif 000006
【図４（ｂ）】
2012073694.tif 000007
【図４（ｃ）】
2012073694.tif 000008
【図５】
2012073694.tif 000009
【図６】
2012073694.tif 000010
【図７】
2012073694.tif 000011
【図８】
2012073694.tif 000012
【図９】
2012073694.tif 000013
【図１０】
2012073694.tif 000014
【図１１（ａ）】
2012073694.tif 000015
【図１１（ｂ）】
2012073694.tif 000016
【図１１（ｃ）】
2012073694.tif 000017
【図１２（ａ）】
2012073694.tif 000018
【図１２（ｂ）】
2012073694.tif 000019
【図１２（ｃ）】
2012073694.tif 000020