(57)【要約】【課題】システム間のデータ連携に関連するデータ配信をおこなう際のメンテナンス性に優れる配信スケジュール制御をおこなう。【解決手段】データ連携サーバは、データ配信元システムからファイルを受信し、そのファイルをそのまま、あるいは加工したファイルを配信ファイルとして、配信スケジュール制御マスタテーブルに基づいて、データ配信先システムに送信する。カレンダマスタテーブルは、そのデータ配信先システムにおける稼働日・非稼動日の情報を保持し、配信先システムが、データ配信の予定日がカレンダマスタテーブルによると、非稼働日であり、データ配信が、配信スケジュール制御マスタテーブルによると稼働日のみ配信するとしたときに、カレンダマスタテーブルに基づき、データ配信をしようとする配信先システムの直近の稼働日を求め、データ配信の予定日をその直近の稼働日とする。【選択図】  図１
2018116341.tif 000002
【特許請求の範囲】
【請求項１】
データ配信元システムと、データ配信先システムと、データ連携サーバがネットワークにより接続されたデータ連携システムであって、
前記データ連携サーバは、
データ配信のスケジュール情報を保持する配信スケジュール制御マスタテーブルを備え、
前記データ配信元システムから配信元ファイルを受信し、前記配信元ファイルをそのまま、あるいは加工したファイルを配信ファイルとして、
前記配信スケジュール制御マスタテーブルに基づいて、前記データ配信先システムに前記配信ファイルを送信することを特徴とするデータ連携システム。
【請求項２】
さらに、前記データ連携サーバは、
データ配信先システムごとに、日付と、そのデータ配信先システムにおける稼働日・非稼動日の情報を保持するカレンダマスタテーブルを備え、
前記配信スケジュール制御マスタテーブルは、データ配信ごとに、稼働日のみ配信するのか、稼働日・非稼働日ともに配信するかの情報を保持し、
データ配信をしようとする配信先システムが、データ配信の予定日が前記カレンダマスタテーブルによると、非稼働日であり、データ配信が、前記配信スケジュール制御マスタテーブルによると、稼働日のみ配信するとしたときに、
前記カレンダマスタテーブルに基づき、データ配信をしようとする配信先システムの直近の稼働日を求め、データ配信の予定日をその直近の稼働日とすることを特徴とする請求項１記載のデータ連携システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ連携システムに係り、システム間のデータ連携をおこなう場合のデータ配信の配信スケジュール調整に用いて好適なデータ連携システムに関する。
【背景技術】
【０００２】
従来、システム間でデータ連携をおこなう場合には、各業務要件や処理データの構造に対応してシステム個別にプログラムを実装し、運用されてきた。その結果、同一企業内やグループ企業内のシステムに類似プログラムが分散して存在することになり、類似プログラムに対してシステム個別にメンテナンスをおこなう必要があった。
【０００３】
そのため、近年多数のシステムを有する大規模企業では、システム間データ連携機能を担うシステムを独立して構築するなど、類似プログラムを共通化し、企業内システム全体のメンテナンス性の向上を図る傾向にある。
【０００４】
データ連携システムでのメンテナンス性向上を図るシステムについては、例えば、特許文献１が知られている。特許文献１に記載されたデータ連携システムにおいては、処理スケジュール部がプログラムの処理順序を制御し、異なるインタフェースでも同一プログラムを利用するようにしている。
【０００５】
また、システム間でデータ連携を図る場合には、データの配信元のシステムからデータの配信先にデータを配信するためのスケジュールを調整する必要がある。配信スケジュールの最も一般的な制御手法では、配信アプリケーションのプログラム毎に配信日、時刻等の情報を定義し、アプリケーションのスケジュール制御機能により制御するようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３２２１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
海外拠点を持つグローバル企業では、拠点システムとのデータ連携において、日本側システムの充実した機能や運用・保守サービスレベルとのギャップに起因した課題を持つケースが多い。配信スケジュールについては、システムトラブル等の拠点システムの都合により、日本側システムで配信日、配信時刻等を適宜変更する必要がある。
【０００８】
しかしながら、上述のように、配信スケジュールの最も一般的な制御手法では、配信アプリケーションのプログラム毎に配信日、時刻等の情報を定義するため、同一システムへの配信時刻一斉変更時等、複数プログラム変更が生じた場合のメンテナンス性が高いものではないという問題点があった。
【０００９】
本発明の目的は、システム間のデータ連携に関連するデータ配信をおこなう際のメンテナンス性に優れる配信スケジュール制御をおこなうことのできるデータ連携システムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明のデータ連携システムの構成は、データ配信元システムと、データ配信先システムと、データ連携サーバがネットワークにより接続されたデータ連携システムであって、データ連携サーバは、データ配信のスケジュール情報を保持する配信スケジュール制御マスタテーブルを備え、データ配信元システムから配信元ファイルを受信し、配信元ファイルをそのまま、あるいは加工したファイルを配信ファイルとして、配信スケジュール制御マスタテーブルに基づいて、データ配信先に配信ファイルを送信するようにしたものである。
【００１１】
さらに、好ましくは、データ連携サーバは、さらに、データ配信先システムごとに、日付と、そのデータ配信先システムにおける稼働日・非稼動日の情報を保持するカレンダマスタテーブルを備え、配信スケジュール制御マスタテーブルは、データ配信ごとに、稼働日のみ配信するのか、稼働日・非稼働日ともに配信するかの情報を保持し、データ配信をしようとする配信先システムが、データ配信の予定日がカレンダマスタテーブルによると、非稼働日であり、データ配信が、配信スケジュール制御マスタテーブル稼働日のみ配信するとしたときに、カレンダマスタテーブルに基づき、データ配信をしようとする配信先システムの直近の稼働日を求め、データ配信の予定日をその直近の稼働日とするようにしたものである。
【発明の効果】
【００１２】
本発明によれば、システム間のデータ連携に関連するデータ配信をおこなう際のメンテナンス性に優れる配信スケジュール制御をおこなうことのできるデータ連携システムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】データ連携システムの全体構成図である。
【図２】データ連携サーバのハードウェア・ソフトウェア構成図である。
【図３】配信スケジュール制御マスタテーブルの一例を示す図である。
【図４】カレンダマスタテーブルの一例を示す図である。
【図５】配信元システムからデータ連携サーバにデータを送信するときのフローチャートである。
【図６Ａ】データ連携サーバが配信スケジュール設定をおこなうときのフローチャートである（その一）。
【図６Ｂ】データ連携サーバが配信スケジュール設定をおこなうときのフローチャートである（その二）。
【図７】データ連携サーバから配信先システムにデータを送信するときのフローチャートである。
【図８】配信スケジュール制御マスタテーブルを更新するときの処理を示すフローチャートである。
【図９】カレンダマスタテーブルを更新するときの処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明に係る一実施形態について、図１ないし図９を用いて説明する。
【００１５】
先ず、図１ないし図２を用いてデータ連携システムの構成と動作の概要について説明する。
【００１６】
データ連携システムは、図１に示されるように、配信元システム１０１、配信先システム１０３、データ連携サーバ１００がネットワーク５０により接続された形態である。また、データ連携サーバ１００には、ユーザ端末１０５が接続されている。
【００１７】
配信元システム１０１は、データを配信しようとするシステムであり、配信先システム１０３は、配信元システムからデータの配信を受けるシステムである。そして、データ連携サーバ１００は、データ配信の仲立ちをし、配信のスケジュールを調整するサーバである。ユーザ端末１０５は、データ連携サーバ１００の各種設定をするための端末である。
【００１８】
配信元システム１０１は、通常、複数存在し、システム間データ連携システムに配信する配信元ファイル１０２が配置されている。この配信元ファイル１０２のファイル名には、データ配信の識別子である配信ＩＤ、および配信元システム情報を付与する（後述）。
【００１９】
データ連携サーバ１００は、データ受信部２００、配信情報記憶部２０２、データ変換部２０３、配信スケジュール管理部３０２、配信スケジュール制御部２０６、データ配信部２０７を具備する。
【００２０】
データ連携サーバ１００では、配信元システム１０１からのデータ配信要求により、データ受信部２００がデータ配信システム１０１における配信元ファイル１０２を、受信ファイル２０１として受信する。その後、受信ファイル２０１のファイル名から配信ＩＤ、および配信元システム情報を読み取り、配信情報記憶部２０２に格納する。
【００２１】
次に、データ変換部２０３で受信ファイル２０１に対し各種変換処理をおこない、配信ファイル２０８を生成する。その後、配信スケジュール制御部２０６が配信情報記憶部２０２から配信ＩＤ、および配信元システム情報を読み取り、配信スケジュール管理ＤＢ（DataBase）２０５から配信スケジュール情報を読み取る。そして、配信スケジュール制御部２０６は、取得した配信スケジュール情報に基づき、データ配信部２０７の実行タイミングを制御する。
【００２２】
次に、データ配信部２０７は、配信スケジュール制御部２０６よりデータ配信要求を受け、配信ファイル２０８を配信先システム１０３に配信する。配信先システム１０３は、受信した配信ファイル２０８を配信先ファイル１０４として格納する。
【００２３】
次に、図２を用いてデータ連携サーバのハードウェア構成・ソフトウェア構成について説明する。  
データ連携サーバ１００のハードウェア構成としては、例えば、図２に示されるような、一般的なサーバコンピュータで実現される。  
データ連携サーバ１００は、ＣＰＵ（Central Processing Unit）３０１、主記憶装置３０２、ネットワークＩ／Ｆ３０３、表示Ｉ／Ｆ３０、入出力Ｉ／Ｆ３０５、補助記憶Ｉ／Ｆ３０６が、バスにより結合された形態になっている。
【００２４】
ＣＰＵ３０１は、データ連携サーバ１００の各部を制御し、主記憶装置３０２に必要なプログラムをロードして実行する。主記憶装置３０２は、通常、ＲＡＭなどの揮発メモリで構成され、ＣＰＵ３０１が実行するプログラム、参照するデータが記憶される。ネットワークＩ／Ｆ３０３は、ネットワーク５０と接続するためのインタフェースである。表示Ｉ／Ｆ３０は、ＬＣＤ（Liquid Crystal Display）などの表示装置を接続するためのインタフェースであり、本実施形態では、ユーザ端末１０５のディスプレイに接続されている。入出力Ｉ／Ｆ３０５は、入出力装置を接続するためのインタフェースである。図２の例では、キーボード３３０とポインティングデバイスのマウス３３２が接続されている。補助記憶Ｉ／Ｆ３０６は、ＨＤＤ（Hard Disk Drive）２６０やＳＳＤ（Solid State Drive）２４０などの補助記憶装置を接続するためのインタフェースである。
【００２５】
ＨＤＤ３６０は、大容量の記憶容量を有しており、本実施形態を実行するためのプログラムが格納されている。データ連携サーバ１００には、データ連携サーバミドルフェア３７０がインストールされている。データ連携サーバミドルウェア３７０は、配信スケジュール制御プログラム３７１、データ送受信プログラム３７２、データ変換プログラム３７３から構成されている。データ連携サーバミドルウェア３７０は、配信スケジュール制御プログラム３７１、データ送受信プログラム３７２、データ変換プログラム３７３は、それぞれ、図１に示した配信管理スケジュール部２０４、データ受信部２０３およびデータ送信部２０７、データ変換部２０３の機能を実行するプログラムである。
【００２６】
また、ＨＤＤ３６０は、配信スケジュール管理ＤＢ２０５が記憶されている。配信スケジュール管理ＤＢ２０５には、配信スケジュール制御マスタテーブル３００、カレンダマスタテーブル３０１が格納されている。なお、各テーブルの詳細についは、後述する。
【００２７】
次に、図３および図４を用いてデータ連携システムで用いられるデータ構造について説明する。
【００２８】
配信スケジュール制御マスタテーブル３００は、配信スケジュールを制御するための必要な情報を記憶するためのテーブルであり、図３に示されるように、配信ＩＤ４００、データＩＤ４０１、配信元システム４０２、配信先システム４０３、配信時刻４０４、配信時刻４０４、配信日区分４０５の各フィールドからなる。配信ＩＤ４００には、配信制御の主キーとなり、各配信処理を一意に識別するための配信識別子が格納される。配信識別子の値は、データＩＤ４０１、配信元システム４０２、配信先システム４０３のいずかが異なるときには、別にとられこのテーブル内で重複することはない。データＩＤ４０１には、配信元システムから配信される配信元ファイル１０２のデータを識別するための識別子が格納される。配信元システム４０２には、配信元システム１０１を識別するためのコードが格納される。配信先システム４０３には、配信先システム１０３を識別するためのコードが格納される。配信時刻４０４には、データ連携サーバ１００が配信先システム４０３に記載された配信先システム１０３に対して、データＩＤ４０１に記載されたデータＩＤが付与されたデータを配信する時刻が格納される。ここで、配信時刻４０４に「リアルタイム」の値が格納された場合、データ連携サーバ１００は、配信先システム１０３に対して、データを即時配信することを意味する。配信日区分４０５は、配信先システム４０３が非稼働日の場合でもデータＩＤ４０１に記載されたデータＩＤが付与されたデータを配信するか否かを定義するフィールドであり、「稼働日」、「非稼働日を含む」のような値が格納される。すなわち、配信先システム４０３が非稼働日の場合、配信日区分４０５が「稼働日」のときには、配信をおこなわず、配信先システム４０３が非稼働日の場合であっても、配信日区分４０５が「非稼働日を含む」のときには、配信をおこなうことを意味する。
【００２９】
カレンダマスタテーブル３０１は、配信先システム１０３のシステムにおける稼動・非稼動の情報を管理するためのテーブルであり、図４に示されるように、配信先システム４０６、月４０７、日４０８、稼働日区分４０９の各フィールドからなる。
【００３０】
配信先システム４０６には、対象となる配信先システム１０３が識別可能なコードが格納される。月４０９、カレンダの月を表す１〜１２までの数字が格納される。日４０８には、月４０９に定義された月の日付が格納される。稼働日区分４０９は、配信先システム４０６に記載された配信先システム１０３で、月４０９、日４０８で表現される日が、稼働日か非稼働日のいずれかを定義するためのフィールドである。カレンダマスタテーブル３０１は、配信先システム４０６、月４０７、日４０８のいずれかが異なるときには、別のレコードが作られる。
【００３１】
次に、図５ないし図９を用いてデータ連携システムの処理について説明する。
【００３２】
先ず、図５を用いて配信元システムからデータ連携サーバにデータを送信するときの処理について説明する。  
先ず、配信元システム１０１からデータ連携サーバ１００に対してデータ配信要求がなされる（Ｓ１００）。このとき、配信元システム１０１は、配信元システム１０１が具備するデータ連携ミドルウェアにより、配信用ファイル１０２をデータ連携サーバ１００に配信する（Ｓ１０１）。配信元システム１０１は、配信用ファイル１０２のファイル名に、配信ＩＤ、および配信元システム情報を付与する。また、配信元システム１０１でファイルを加工し、ヘッダ情報として配信ＩＤ、および配信元システム情報を付け加えるようにしてもよい。
【００３３】
データ連携サーバ１００は、データ連携ミドルウェア３７０のデータ送受信プログラム３７２を実行することより、配信元ファイル１０２を受信ファイル２０１として受信する（Ｓ１０２）。次に、データ受信部２００が受信ファイル２０１のファイル名から配信ＩＤおよび配信元システムの情報を読込み（Ｓ１０３）、配信情報記憶部２０２に格納する（Ｓ１０４）。そして、受信ファイル２０１に対し、データ変換部２０３が各種変換処理をおこない、配信ファイル２０８を生成する（Ｓ１０５）。ただし、変換処理をおこなう必要のないときには、Ｓ１０５の変換処理はおこなわれない。
【００３４】
次に、図６Ａおよび図６Ｂを用いてデータ連携サーバが配信スケジュール設定をおこなうときの処理について説明する。  
データ連携サーバ１００におけるデータの配信スケジュール設定は、データ変換部２０３からの配信スケジュール制御要求により開始される（Ｓ１１０）。このとき、配信スケジュール制御部２０６が配信情報記憶部２０２から配信ＩＤ、配信元システム情報を読込む（Ｓ１１１）。
【００３５】
次に、配信ＩＤ、配信元システム情報を選択条件として、図３に示した配信スケジュール制御マスタテーブル３００から配信先システム４０３、配信時刻４０４、配信日区分４０５の値を読込む（Ｓ１１２）。そして、読込んだ情報に基づいて、配信予定日、配信予定時刻を算出する処理を、配信先システム４０３の数分、当該処理を繰り返す（Ｓ１１３のループ）。
【００３６】
配信予定日、配信予定時刻を算出する処理では、配信時刻４０４の値が「リアルタイム」の場合（Ｄ００１：リアルタイム）、データ連携サーバ１００のシステム日時を参照し、データ連携サーバ１００の配信スケジュールの配信予定日、配信予定時刻（データ構造としては、図示せず）にセットする。
【００３７】
配信時刻４０４が「リアルタイム」以外の場合（Ｄ００１：それ以外）、データ連携サーバ１００のシステム日付を参照し、配信予定日にセットし、また、配信予定時刻４０４を配信予定時刻にセットする（Ｓ１１５）。さらに、配信先システム４０３、上でセットした配信予定日を選択条件に、図４に示したカレンダマスタテーブル３０１から稼働日区分４０９を取得する（Ｓ１１６）。配信日区分４０５の値が「稼働日」（Ｄ００２：稼働日）かつ稼働日区分４０９の値が「非稼働日」の場合（Ｄ００３：非稼働日）、配信先システム４０３、配信予定日を選択条件にして、カレンダマスタテーブル３０１を参照し、配信予定日の直近の稼働日日付を取得し、それにより配信予定日を更新する（Ｓ１１７）。すなわち、一番近い配信先システム１０３の稼働日を求めるわけである。配信日区分４０５の値が「非稼働日」の場合（Ｄ００２：非稼働日）、または、配信日区分４０５の値が「稼働日」（Ｄ００２：稼働日）かつ稼働日区分４０９の値が「稼働日」の場合（Ｄ００３：稼働日）には、次の配信先システムのデータ配信の処理に移る。
【００３８】
そして、配信スケジュール制御部２０６は、配信先システム４０３毎に配信予定日、配信予定時刻を算出した後、システム日付を定期的に参照し、配信予定日、配信予定時刻を超過した時点でデータ配信部２０７に対してデータ配信要求をおこなう。
【００３９】
次に、図７を用いてデータ連携サーバから配信先システムにデータを送信するときの処理について説明する。  
配信スケジュール制御部２０６からのデータ配信部２０７によりデータ配信要求がなされると（Ｓ１２０）、データ連携ミドルウェア２７０のデータ送受信プログラム３７２より、データ連携サーバ１００は、配信用ファイル３０を配信先システム１０３に配信する（Ｓ１２１）。そして、配信先システム１０３は、具備するデータ連携ミドルウェアにより、配信ファイル３０を配信先ファイル１０４として受信する（Ｓ１２２）。
【００４０】
次に、図８を用いて配信スケジュール制御マスタテーブルを更新するときの処理について説明する。
【００４１】
ユーザ端末１０５から更新要求があったとき（Ｓ１３０）、配信ＩＤ、データＩＤ、配信先システム、配信時刻、配信日区分の値を受信し、それぞれ配信スケジュール制御マスタテーブル３００の配信ＩＤ４００、データＩＤ４０１、配信先システム４０２、配信時刻４０３、配信日区分４０４の各フィールドに格納する（Ｓ１３１）。ただし、配信ＩＤが既にあるときには、その他の値のみ更新する。
【００４２】
次に、図９を用いてカレンダマスタテーブルを更新するときの処理を示すフローチャートである。  
ユーザ端末１０５から更新要求があったとき（Ｓ１４０）、配信先システム、月、日、稼働日区分の値を受信し、カレンダマスタテーブル３０１の配信先システム４０６、月４０７、日４０８、稼働日区分４０９の各フィールドに格納する（Ｓ１３１）。ただし、配信先システム４０６、月４０７、日４０８が一致するレコードが既に定義されているときには、稼働日４０９のみ更新する。
【００４３】
以上のように本実施形態に係るデータ連携システムによれば、配信スケジュール情報をマスタ管理し、当該情報に応じて配信スケジュール制御機能を提供することにより、配信スケジュール変更時のメンテナンス性を確保することができる。
【図１】
2018116341.tif 000003
【図２】
2018116341.tif 000004
【図３】
2018116341.tif 000005
【図４】
2018116341.tif 000006
【図５】
2018116341.tif 000007
【図６Ａ】
2018116341.tif 000008
【図６Ｂ】
2018116341.tif 000009
【図７】
2018116341.tif 000010
【図８】
2018116341.tif 000011
【図９】
2018116341.tif 000012