(57)【要約】【課題】  インターネットを介した２４時間運用の受注システムにおいて、受注処理の高可用性を具備する必要があるため、システムの構成要素を多重化するクラスタリングシステムで構築する必要がある。クラスタリングシステムは、区尾せいが複雑で且つ比較的高価となる。また、受注処理量の増加に伴い、処理能力不足となった場合、稼動しているサーバをスケールアップする方法しかなく、スケールアップ作業にも多大な負担が掛かることが一般的である。【解決手段】  受注システムを、受注を受け付ける受注受付システムと実際の受注処理を行う受注管理システムに分けて構成する。受注管理システムは、ファイルを送受信するサーバと処理サーバに分割し、受注処理を複数台の処理サーバに分散することで、処理能力不足となった場合に、スケールアウト方式での増強が可能となる。【選択図】図１
2009110129.tif 000002
【特許請求の範囲】
【請求項１】
受注受付システムと受注管理システムとからなるシステムにおいて、受注管理システムが、ファイル送受信サーバ（以下、ｆｔｐサーバ）と処理サーバとからなり、該ｆｔｐサーバが、ファイル送受信制御部と、ジョブ制御部と、ファイル受信受付制御部２０３と、ファイル送信受付制御部２０４とからなり、処理サーバが、ジョブ制御部３０１と、ファイル受信中継制御部３０２と、ファイル送信中継制御部３０４と、データベース更新処理部３０３と、データベース参照処理部３０５とからなり、前記受注受付システムからファイルを受信してデータベースを更新する処理（以下、データベース更新処理）する受注管理システムにおいて、受注受付システムからのファイルを多重で受信した場合、受信したファイル毎に前記データベース更新処理部によるデータベース更新処理を複数の処理サーバ３０でファイル転送負荷分散処理することを特徴とするファイル転送負荷分散による受注管理システム。
【請求項２】
データベース更新処理部を動作させる前記処理サーバ３０を選択する際、前記ジョブ制御部を使用して負荷の低い処理サーバを動的に選択する手段を備え、前記ジョブ制御部によって、負荷の低い処理サーバに振り分けられたデータベース更新処理部が、受信したファイルを簡易な方法で取得することを可能とする請求項１記載のファイル転送負荷分散による受注管理システム。
【請求項３】
前記受注受付システムからファイルを受信する方式が、受注受付システムからファイルを送信する方式（以下、PUT型）と受注受付システム上に存在するファイルを取得する方式（以下、ＧＥＴ型）の２つの方式からなり、前記データベース更新処理部が受信したファイルを簡易な方法で動作させる処理サーバで取得することを可能とする請求項１記載のファイル転送負荷分散による受注管理システム。
【請求項４】
前記受注受付システムからファイル受信するftpサーバ及び受注受付システムにファイルを送信するｆｔｐサーバが同一サーバである請求項１記載のファイル転送負荷分散による受注管理システム。
【請求項５】
前記データベース更新処理部で処理した結果を、前記データベース参照処理部で取得し、受注受付システムへ前記ｆｔｐサーバを経由してファイルを送信する請求項１記載のファイル転送負荷分散による受注管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットを介した受注システムにおいて、依頼元の顧客から受け付けた受注オーダを一旦データベースに格納し、一定の間隔で複数の受注オーダを纏めて受注処理を実施し、受注処理結果を依頼元へ纏めて返却する処理を、複数サーバで分散して行うシステムに関するものである。
【背景技術】
【０００２】
２４時間運用を行う受注システムにおいては、一般的には受注受付システムからの受注オーダに対応するファイルを受信してデータベースを更新する受注管理システムは、システムの信頼性を向上させるため、システム障害を即座に検知し、待機系システムへの切り替えを自動的に実施する、例えばクラスタリングアプリケーションを使用し、現用と待機の２系統構成で構築されている。
【０００３】
受注受付システムから送信されるファイルは、ファイルを受信したサーバでデータベース更新を含む受注処理が行なわれる。
【０００４】
また、受注受付システムから送信されるファイルは、それぞれ別々の用途毎に同時に送信される。このため、ファイルを受信したサーバでは用途に応じたデータベース更新を含む受注処理が多重で行なわれることになる。
【０００５】
ファイルを受信して動作するデータベース更新を含む受注処理は、それぞれ別々の情報が格納されている複数のファイルを使用して、データベースの更新処理を行う場合があり、対象となる全てのファイルが受注受付システムから受信されてから実行される。
【０００６】
この従来例の関連としては、以下の特許文献がある。
【０００７】
【特許文献１】特許第３６２６６６２号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来の受注管理システムにあっては、受注受付システムから送信されるファイルの数が、システム構築時に想定した量を超えた場合、信頼性を向上させるために２台のサーバで冗長構成（以下、クラスタリング構成）としていると各サーバのスケールアップでしか対策を行うことが出来ないという課題がある。
【０００９】
スケールアップによる対策では、初期のシステム導入の段階からスケールアップ実施可能な拡張性に高い構成を選択する必要があり、比較的高価な構成を必要となる。
【００１０】
また、スケールアップによる対策では、対応不可能な状態に至る処理能力不足が発生した場合、クラスタリングを構成しているサーバをより高性能なサーバにリプレースする必要があり、コスト面及び提供しているサービス面に対して、多大な影響を及ぼすという課題がある。
【課題を解決するための手段】
【００１１】
本発明は、受注受付システムからファイルを受信し、処理管理する受注管理システムは、受注受付システムからファイルを受信するftpサーバと、データベース更新処理が動作する処理サーバとから構成し、さらに処理振り分けのためにジョブスケジュール機能を有する手段を設ける。
【発明の効果】
【００１２】
本発明の如く、受注管理システムのサーバを受注受付システムからファイルを受信するｆｔｐサーバと、データベース更新処理が動作する処理サーバとに分け、さらに処理振り分けのためにジョブスケジュール機能を採用することにより、比較的安価な構成のサーバを複数台使用して、受注受付システムから送信されるファイルの数に対応して処理能力が不足した場合、サーバ台数を増やすスケールアウトによる対策を実施することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本願発明の実施例について図面を参照して説明する。図１は、本願発明のシステムの構成を示すブロック図である。
【００１４】
この図において、１は受注受付システム、２は受注管理システムを示しており、受注受付システム１と受注管理システム２は通信網３を介して接続されている。
【００１５】
受注管理システム２は、受注受付システムからファイルを受信又は受注受付システムにファイルを送信し、ファイル受信受付、ファイル送信受信受付及びジョブ等の制御を実行するｆｔｐサーバ２００と、ファイル受信中継、ファイル送信中継やデータベース更新処理、データベース参照処理及びジョブ等の制御を実行する処理サーバ３００とから構成されている。ｆｔｐサーバ２００と処理サーバ３００は構内網（LAN）を介して接続されている。
【００１６】
ｆｔｐサーバ２００は、受注受付システム１に対して、ファイルの送受信サービスを提供するファイル送受信制御部２０１を有し、受注受付システム１からのファイルを受信し、また処理サーバ３００からのファイルを受付受注システム１へ送信する機能を有している。
【００１７】
処理サーバ３００は図示してないが並列に複数設けてあり、また複数の処理サーバを同時に又は動的に選択して使用される。この選択はジョブ制御部２０２にて実行する。
【００１８】
ｆｔｐサーバ２００でのファイル受信時は、ｆｔｐサーバのジョブ制御部２０２、ファイル受信受付制御部２０３及び処理サーバのジョブ制御部３０１、ファイル受信中継制御部３０２、処理サーバのデータベース更新処理部３０３が順次動作し、ファイル受信処理が行われる。また、処理サーバ３００からのファイル送信時は、ｆｔｐサーバのジョブ制御部２０２、データベース参照処理部３０４、ファイル送信中継制御部３０５、ｆｔｐサーバのファイル送信受付制御部２０４が順次動作し、ファイル送信処理が行われる。
【００１９】
ファイル送受信制御部２０１は、以下のような処理動作を行う。
【００２０】
まず、受注受付システム１からのファイルを受信するためのプロトコルレベル（ｆｔｐプロトコル等）の処理を行う。
【００２１】
次に、受注受付システム１からの受信時は、ＩＤ／パスワードのチェックを行い、正常であれば指定されたディレクトリ上に受信したファイルを格納する。また、ジョブ制御部２０２に対して、ファイル受信完了を通知する。
【００２２】
受注受付システム１への送信時は、指定されたＩＤ／パスワードで受注受付システム１へログインし、正常であれば指定されたファイルを受注受付システム１に送信する。
【００２３】
本制御は、Ｕｎｉｘ（登録商標）標準のｆｔｐプログラムもしくは、市販パッケージ製品（HULFT、JP1等）を用いて実現する。本願発明では、市販パッケージ製品であるＪＰ1/ＦＴＰを用いて実現する方式を採用する。
【００２４】
ジョブ制御部２０２は、以下のように処理動作を行う。
【００２５】
ファイル受信時は、ファイル送受信制御部２０１で受信完了通知を受信し、ｆｔｂサーバの例えばジョブ制御部に登録しているジョブスケジュール情報を元に実行ファイル受信受付制御部２０３に対してファイル受信受付制御部の実行依頼を行う。
【００２６】
ファイル送信時は、処理サーバ３００上に存在するジョブ制御部３０１に対して、データベース参照処理部３０４の実行依頼を行う。
【００２７】
本制御は、市販パッケージ製品（ＪＰ1等）を用いて実現する。本願発明では、市販パッケージ製品であるＪＰ1を用いて実現する方式を採用する。
【００２８】
ジョブ制御部３０１は、以下のように処理動作を行う。
【００２９】
ジョブ制御部２０２からの指示により、実行する処理を決定する。ファイル受信時は、図１に示すファイル受信中継制御部３０２とデータベース更新処理部３０３を実行し、結果をジョブ制御部２０２へ返却する。
【００３０】
ファイル送信時は、データベース参照処理部３０４とファイル送信中継制御部３０５を実行し、結果をジョブ制御部２０２へ返却する。ジョブ制御部２０２では、ファイル送信受付制御部２０４を実行する。
【００３１】
ジョブ制御部３０１は、複数の処理サーバ３００上に同一構成で存在し、ジョブ制御部２０２がサーバの負荷に応じて実行処理サーバ３００を決定し、ファイル受信中継制御部３０２に対して実行の指示を行う。
【００３２】
ファイル送信受付制御部２０４は、ｆｔｐサーバ２０上のジョブ制御部２０２から起動され、処理サーバ３０のデータベース参照処理部３０４から送信されたファイルを受注受付システム１に送信する。
【００３３】
図２は、本願発明による転送ファイル管理情報の構成例である。ｆｔｐユーザ情報１０は、ファイル名（和名）、実ファイル名、ｆｔｐユーザ情報の３つの項目から構成される。構成は、以下の通りである。受信ファイルであれば、受注受付システム１からファイルを受信する場合のｆｔｐサーバ２００上のユーザ情報と、処理サーバ３００からファイルを取得する場合のｆｔｐサーバ２００上のユーザ情報を格納する。送信ファイルであれば、処理サーバ３００からｆｔｐサーバ２００にファイルを送信する場合のｆｔｐサーバ２００上のユーザ情報と、ｆｔｐサーバ２００から受注受付システム１にファイルを送信する場合の受注受付システム１上のユーザ情報を格納する。
【００３４】
ｆｔｐサーバ情報（受信ディレクトリ情報）２０は、各受信ファイル毎にｆｔｐサーバ２００上の受信ディレクトリ、受信ディレクトリ上の実ファイル名の２つの項目から構成される。
【００３５】
ｆｔｐサーバ情報（送信ディレクトリ情報）３０は、各送信ファイル毎にftpサーバ２００上の送信ディレクトリ、送信ディレクトリ上の実ファイル名の２つの項目から構成される。
【００３６】
ｆｔｐサーバ情報（中継ディレクトリ情報）４０は、各送受信ファイル毎にｆｔｐサーバ２００上の中継ディレクトリ、中継ディレクトリ上の実ファイル名の２つの項目から構成される。
【００３７】
ｆｔｐサーバ情報（バックアップディレクトリ情報）５０は、各送受信ファイル毎にｆｔｐサーバ２００上のバックアップディレクトリ、バックアップディレクトリ上の実ファイル名の２つの項目から構成される。
【００３８】
ｆｔｐサーバ情報（一時ディレクトリ情報）６０は、各送受信ファイル毎にｆｔｐサーバ２００上の一時ディレクトリ、一時ディレクトリ上の実ファイル名の２つの項目から構成される。
【００３９】
処理サーバ情報（受信ディレクトリ情報）７０は、各受信ファイル毎に処理サーバ３００上の受信ディレクトリ、受信ディレクトリ上の実ファイル名の２つの項目から構成される。
【００４０】
処理サーバ情報（送信ディレクトリ情報）８０は、各送信ファイル毎に処理サーバ３００上の送信ディレクトリ、送信ディレクトリ上の実ファイル名の２つの項目から構成される。
【実施例１】
【００４１】
図３〜図６は、本発明の一実施例を示したものである。
【００４２】
図３は、ファイル受信制御時のｆｔｐサーバ２００側の処理動作を示したものである。ｆｔｐサーバ２００側の処理は、ファイル受信受付制御部２０３で実行される。
【００４３】
受注受付システム１からファイルを受信する場合には、図２のｆｔｐサーバ情報（受信ディレクトリ情報）２０を参照して、受信ディレクトリと受信ディレクトリ上の実ファイル名を取得し、図２のｆｔｐサーバ情報（一時ディレクトリ情報）６０を参照して、一時ディレクトリと一時ディレクトリ上の実ファイル名を取得し、受信ディレクトリから一時ディレクトリにコピーする（Ｓ２０３１）。
【００４４】
一時ディレクトリにコピーした後、受信ファイル名を格納した受信情報ファイルを一時ディレクトリに作成する（Ｓ２０３２）。受信情報ファイルの実ファイル名は、図２のｆｔｐサーバ情報（中継ディレクトリ情報）４０を参照して、中継ディレクトリと中継ディレクトリ上の実ファイル名を取得し、実ファイル名より拡張子を除いた部分とする。
【００４５】
受信情報ファイルを作成し、一時ディレクトリにコピーした（Ｓ２０３２）後、ｆｔｐサーバ情報（中継ディレクトリ情報）４０を参照して、中継ディレクトリと中継ディレクトリ上の実ファイル名を取得し、一時ディレクトリ上の全てのファイルを１ファイルに結合（tarコマンド）する。次いで、該ファイルを圧縮（gzipコマンド）した後、中継ディレクトリ上に格納する（Ｓ２０３３）。
【００４６】
中継ディレクトリ上にファイルを格納した後、図２のｆｔｐサーバ情報（バックアップディレクトリ情報）５０を参照して、バックアップディレクトリとバックアップディレクトリ上の実ファイル名を取得して、受信ディレクトリ上のファイルをバックアップディレクトリにバックアップディレクトリ上の実ファイル名にリネームして、移動する（Ｓ２０３４）。
【００４７】
図４は、ファイル受信制御時の処理サーバ３００側の処理動作を示したものである。
【００４８】
処理サーバ３００上の処理は、ファイル受信中継制御部３０２とデータベース更新処理部３０３で実行される。
【００４９】
まず、ファイル中継制御部３０２では、図２のｆｔｐユーザ情報１０とｆｔｐサーバ情報（中継ディレクトリ情報）４０を参照して、ｆｔｐサーバ上のユーザＩＤとパスワード、中継ディレクトリと中継ディレクトリ上の実ファイル名を取得して（Ｓ３０２１）、ｆｔｐサーバ２０に接続する。
【００５０】
ｆｔｐサーバ２００に接続した後、図２の処理サーバ情報（受信ディレクトリ情報）７０を参照して、受信ディレクトリを取得し、ｆｔｐサーバ２００上の中継ファイルをgetコマンド（ftp提供コマンド）にて、受信ディレクトリ上に転送する。受信ディレクトリ上に転送した後、受信ディレクトリ上のファイルを解凍（gzipコマンド）し、解凍したファイルを展開（tarコマンド）する（Ｓ３０２２）。
【００５１】
ファイル展開した後、処理サーバ３００上のジョブ制御部３０１を介して、データベース更新処理部３０３に制御を渡す。データベース更新処理部３０３では、図２の処理サーバ情報（受信ディレクトリ情報）７０を参照して、受信ディレクトリと受信ディレクトリ上の実ファイル名を取得し、受信情報ファイルより処理対象の受信ファイル名を取得する（Ｓ３０３１）。処理対象の受信ファイル名を取得した後、処理対象のファイルを読み込み、データベース更新処理３０３を行う（Ｓ３０３２）。データベース更新処理３０３が正常に終了した後、受信ディレクトリ上のファイルを全て削除する（Ｓ３０３３）。
【００５２】
図５は、ファイル送信制御時の処理サーバ３０側の処理動作を示したものである。処理サーバ３００上の処理は、データベース参照処理部３０４とファイル送信中継制御３０５で実行される。
【００５３】
まず、データベース参照処理部３０４では、図２の処理サーバ情報（送信ディレクトリ情報）８０を参照し、送信ディレクトリと送信ディレクトリ上の実ファイル名を取得し、参照対象ＤＢより送信対象のデータを読み込み、送信ファイルに書き込み、送信ファイルを作成する（Ｓ３０４１）。
【００５４】
送信ファイルの作成後、処理サーバ３００上のジョブ制御部３０１を介して、ファイル送信中継制御部３０５に制御を渡す。ファイル送信中継制御部３０５では、ｆｔｐユーザ情報１０を参照して、ｆｔｐサーバ２００上のユーザＩＤとパスワードを取得し、ｆｔｐサーバ情報（中継ディレクトリ情報）４０を参照して、中継ディレクトリと中継ディレクトリ上の実ファイル名を取得し、ｆｔｐサーバ２０に接続する。
【００５５】
ｆｔｐサーバ２０に接続した後、処理サーバ情報（送信ディレクトリ情報）８０を参照して、処理サーバ３０上の送信ディレクトリと送信ディレクトリ上の実ファイル名を取得し、putｔコマンド（ftp提供コマンド）にて、送信ディレクトリ上の実ファイルを中継ディレクトリに転送する（Ｓ３０５１）。しかる後、作業ディレクトリのファイルを削除する（Ｓ３０５２）。
【００５６】
図６は、ファイル送信制御時のｆｔｐサーバ２０側の処理動作を示したものである。
【００５７】
ｆｔｐサーバ２００側の処理は、ファイル送信受付制御２０４で実行される。受注受付システム１にファイルを送信する場合には、ｆｔｐサーバ情報（中継ディレクトリ情報）４０を参照して、中継ディレクトリと中継ディレクトリ上の実ファイル名を取得し、ｆｔｐサーバ情報（送信ディレクトリ情報）３０を参照し、送信ディレクトリと送信ディレクトリ上の実ファイル名を取得し、中継ディレクトリから送信ディレクトリにコピーする（Ｓ２０４１）。
【００５８】
送信ディレクトリにコピーした後、中継ディレクトリのファイルを削除する（Ｓ２０４２）。中継ディレクトリのファイルを削除した後、ｆｔｐユーザ情報１０を参照して、受注受付システム１のユーザＩＤとパスワードを取得し、受注受付システム１に接続する。受注受付システム１に接続した後、送信ディレクトリの送信ファイルをｐｕｔコマンド（ftp提供コマンド）にて、受注管理システム１に送信する（Ｓ２０４３）。
【００５９】
送信ファイルの転送が終了した後、ｆｔｐ接続を切断する。ｆｔｐ接続を切断した後、ｆｔｐサーバ情報（バックアップディレクトリ情報）５０を参照して、バックアップディレクトリとバックアップディレクトリ上の実ファイル名を取得し、送信ディレクトリの送信ファイルをバックアップディレクトリに移動する（Ｓ２０４４）。
【図面の簡単な説明】
【００６０】
【図１】本願発明のシステム構成を表す機能ブロック図
【図２】本願発明の各管理情報の構成例を表す図である。
【図３】ファイル受信制御時のｆｔｐサーバ側の処理フローを表す図である。
【図４】ファイル受信制御時の処理サーバ側の処理フローを表す図である。
【図５】ファイル送信制御時のｆｔｐサーバ側の処理フローを表す図である。
【図６】ファイル送信制御時の処理サーバ側の処理フローを表す図である。
【符号の説明】
【００６１】
１    ：    対向システム
２    ：    ｆｔｐサーバ
３    ：    処理サーバ
２０１：    ファイル送受信制御（ｆｔｐサーバ）
２０２：    ジョブ制御（ｆｔｐサーバ）
２０３：    ファイル受信受付制御
２０５：    ファイル送信受付制御
３０１：    ジョブ制御（処理サーバ）
３０２：    ファイル受信中継制御
３０３：    データベース更新処理
３０４：    データベース参照処理
３０５：    ファイル送信中継制御
【図１】
2009110129.tif 000003
【図２】
2009110129.tif 000004
【図３】
2009110129.tif 000005
【図４】
2009110129.tif 000006
【図５】
2009110129.tif 000007
【図６】
2009110129.tif 000008