(57)【要約】      （修正有）【課題】業務システムの二重起動を抑止する。【解決手段】起動対象の呼び出し前に、実行履歴を参照して、実行中である場合に、起動を抑止する。起動履歴を、その処理の種別ごとに起動開始時間順に記録しておき、実行履歴の参照においては、その起動開始時間が最新のものからその状況を確認する。その状況の確認は、最新のものが起動（処理中）であれば起動不可と判断し、処理が終わっており起動可能な場合、その次のものを比較し、最初に起動（処理中）であった場合、その際に処理不可と判断する。【選択図】図２
2016212651.tif 000002
【特許請求の範囲】
【請求項１】
業務システムの二重起動制御方法において、
前記業務システムの受付装置が、
前記業務システムにおける任意の機能について、起動要求を受信し、
前記起動要求先の機能について、その実行の状況が記録された実行履歴情報を参照して、受信した起動要求に対応できるかを判断し、
当該判断の結果、起動要求に対応できない場合、起動を抑止することを特徴とする業務システムの二重起動制御方法。
【請求項２】
請求項１に記載の業務システムの二重起動制御方法において、
前記実行履歴情報を、その機能ごとに起動開始時間順に記録しておき、
前記起動要求に対応できるかの判断は、記録された起動開始時間が最新のものからその起動要求に対応できるかを確認することを特徴とする業務システムの二重起動制御方法。
【請求項３】
請求項２に記載の業務システムの二重起動制御方法において、
前記起動要求に対応できるかの判断は、最新の起動時間の情報から順に起動中であるかを判断し、最初に起動中であれば起動不可と判断し、以降の情報の判断を抑止することを特徴とする記載の業務システムの二重起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システムにおいて、その利用者が当該システムを起動（利用）しているにも関わらず、再度起動した場合の起動制御に関するものである。すなわち、いわゆる二重起動を防止するための技術に関する。
【背景技術】
【０００２】
現在、企業等組織での業務を遂行するために、業務システムが利用されている。業務システムが、組織内の様々な人間が利用するため、また、業務を問題無く遂行できるように、その起動の制御を行う必要がある。例えば、特開平7-13649(特許文献１)においては、排他制御関係にある他の業務の起動状態を考慮した上で業務の実行の可否を自動的に判断している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平7-13649号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
業務システムの起動に関しては、起動（利用）開始済にも関わらず、再度起動してしまうとの課題も存在する。本課題については、特許文献１等では考慮されておらず、システムでのエラー発生の課題が生じる。特に、データベースを連携するプログラムにおいて、既にデータベースが起動（書込み等実施）することで二重起動(二重呼出)されることがあり、INSERT文で主キー重複によるエラーが発生することがある。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明では起動対象の呼び出し前に、実行履歴を参照して、実行中である場合に、起動を抑止するものである。さらなる本発明の態様としては、起動履歴を、その処理の種別ごとに起動開始時間順に記録しておき、実行履歴の参照においては、その起動開始時間が最新のものからその状況を確認するものである。その状況の確認は、最新のものが起動（処理中）であれば起動不可と判断し、処理が終わっており起動可能な場合、その次のものを比較し、最初に起動（処理中）であった場合、その際に処理不可と判断するものである。
【発明の効果】
【０００６】
上述した特徴により、本発明では、二重起動を抑止することが可能になる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態におけるシステム構成図である。
【図２】本発明の一実施形態におけるフローチャートである。
【図３】本発明の一実施形態で用いられる実行履歴テーブルの例である。
【図４】本発明の一実施形態で用いられる処理ステータス一覧である。
【発明を実施するための形態】
【０００８】
以下、本発明の一実施形態を、図面を用いて説明する。
全体概要を（図１）に示す。クライアントが処理を呼び出す際、処理の実行履歴を参照することにより、同一の処理が二重で起動されるのを防ぐシステムである。
【０００９】
図１に示したシステム構成において、本システムの動作を図２のフローチャート、図３、図４の表示図面を用いて説明する。
【００１０】
図１のクライアント10-1、10-2が、図２のS010で、処理IDを指定し処理の呼び出しを行う。その後、図１の20-1、30-1に示すネットワークを経由し、図１の処理受付サーバ30-1へ、処理を遷移させる。
【００１１】
続いて、S020では、処理受付サーバ30-1は、S010の呼び出しに含まれる処理IDを含むデータを、実行履歴管理DB40より、特定する。この際、処理ID毎に更新日時が最新のデータを、特定できる仕組みを作成し、データの特定を容易にしておく。
【００１２】
次にS030では、S020にて取得したデータのステータス情報にて、処理の遷移先を判定する。ステータスが‘正常終了’または‘異常終了’の場合は、同一の処理が実行中ではないと判断し、図２のS040〜ENDまでの処理を行う。
【００１３】
ステータスが‘処理中’または‘二重起動エラー’の場合は、同一の処理が実行中と判断し、図２のS090〜ENDまでの処理を行う。
【００１４】
次にS040〜ENDまでの処理を説明する。S040〜ENDまでの処理は、S010で要求された処理を起動する処理である。
S040では図１の40実行履歴管理DBへ、実行履歴データを登録する。（登録するデータはステータスが‘処理中’で更新日時が処理時点の最新時刻を登録する。）
S050〜S070では、図１の処理受付サーバ30-1より、図１の20-2、30-2へ経由し処理サーバ上で、クライアントの要求した処理を起動、実行、終了をする。S070が終了後、図１の20-2、30-1へ経由し、処理受付サーバ上にてS080の処理を行う。
【００１５】
S080ではS040にて登録されたデータの更新を行う。（D070の処理結果により、ステータスを‘処理中’から‘正常終了’または‘異常終了’に更新する。また、その際に更新日時を更新することで、最新のデータが判別できるようにする。）
次にS090〜ENDまでの処理を説明する。S090〜ENDまでの処理は、S010で要求された処理を二重起動されたと判定し、二重起動エラーを返す処理である。
【００１６】
S090では図１の40実行履歴管理DBへ、実行履歴データを登録する。（登録するデータはステータスが‘二重起動エラー’で更新日時が処理時点の最新時刻を登録する。）
S100では現在処理中の要求があり二重起動エラーとなったことを通知、また、処理中のものが処理終了した場合に処理可能となることをクライアントに通知する。
【符号の説明】
【００１７】
１０…クライアント、２０−１…イントラネット、３０−１…処理受付サーバ、３０−２…処理サーバ
【図１】
2016212651.tif 000003
【図２】
2016212651.tif 000004
【図３】
2016212651.tif 000005
【図４】
2016212651.tif 000006