(57)【要約】      （修正有）【課題】ＩｏＴの発展に伴い、現場データを多様な業種のアプリケーションへ活用するために、多様なデータの収集及び整形処理の迅速な開発を行う。【解決手段】データを収集し変換するデータ収集サーバであって、収集データを整形する整形処理を実行するデータ処理部と、整形処理に基づいて、データの処理フローを設定するフロー設定部、整形処理の実行環境の情報を設定する実行情報設定部及び実行環境の情報に基づいて、処理フローを変換するフロー変換部を備えるフローコンパイラと、を有する。フロー設定部は、整形処理の前後で第１及び第２のフラグの設定入力を受付け、データ処理部は、複数の整形処理の前後に第１及び第２のフラグがある場合、第１及び第２のフラグ間にある整形処理をまとめて実行する統合整形処理を行い、実行情報設定部は、統合整形処理の実行内容に基づいて、実行環境の情報を更新することを特徴とするデータ収集サーバを用いる。【選択図】図１
2020166480.tif 000002
【特許請求の範囲】
【請求項１】
データを収集し変換するデータ収集サーバであって、
収集データを整形する一つまたは複数の整形処理を実行するデータ処理部と、
前記データ処理部での前記整形処理に基づいて、データの処理フローを設定するフロー設定部と、
前記整形処理の実行環境の情報を設定する実行情報設定部と、
前記実行情報設定部で設定された前記実行環境の情報に基づいて、前記フロー設定部で作成された前記処理フローを変換するフロー変換部と、を有し、
前記フロー設定部は、複数の整形処理の前後で第１及び第２のフラグの設定入力を受付け、
前記データ処理部は、複数の整形処理の前後に第１及び第２のフラグがある場合、第１及び第２のフラグ間にある複数の整形処理をまとめて実行する統合整形処理を行い、
前記実行情報設定部は、前記統合整形処理の実行内容に基づいて、実行環境の情報を更新することを特徴とするデータ収集サーバ。
【請求項２】
請求項１に記載のデータ収集サーバであって、
前記第１のフラグは前記統合整形処理の始点を示し、前記第２のフラグは前記統合整形処理の終点を示すことを特徴とするデータ収集サーバ。
【請求項３】
請求項２に記載のデータ収集サーバであって、
前記フロー設定部は、実行情報設定部が設定する実行環境における整形処理の順序性を担保するための順序性担保フラグの設定入力を受付け、
前記データ処理部は、複数の整形処理の前後に前記順序性担保フラグがある場合、所定の統合整形処理を優先的に実行することを特徴とするデータ収集サーバ。
【請求項４】
データを収集し変換するデータ収集方法であって、
収集データを整形する一つまたは複数の整形処理を実行し、
前記整形処理に基づいて、データの処理フローを設定し、
前記整形処理の実行環境の情報を設定し、
設定された前記実行環境の情報に基づいて、前記処理フローを変換し、
複数の整形処理の前後で第１及び第２のフラグの設定入力を受付け、
複数の整形処理の前後に第１及び第２のフラグがある場合、第１及び第２のフラグ間にある複数の整形処理をまとめて実行する統合整形処理を行い、
前記統合整形処理の実行内容に基づいて、実行環境の情報を更新することを特徴とするデータ収集方法。
【請求項５】
請求項４に記載のデータ収集方法であって、
前記第１のフラグは前記統合整形処理の始点を示し、前記第２のフラグは前記統合整形処理の終点を示すことを特徴とするデータ収集方法。
【請求項６】
請求項５に記載のデータ収集方法であって、
整形処理の順序性を担保するための順序性担保フラグの設定入力を受付け、
複数の整形処理の前後に前記順序性担保フラグがある場合、所定の統合整形処理を優先的に実行することを特徴とするデータ収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ収集サーバ及びデータ収集方法に関する。
【背景技術】
【０００２】
特許文献１には、フロー変換システムにおいて、「工場等の現場に配置された複数のデバイスと、フロー変換用サーバと、データ処理用サーバとがネットワークに接続され、前記データ処理用サーバは、前記複数のデバイスから収集された現場データを整形する整形処理を行うデータ処理部を有し、前記フロー変換用サーバは、前記データ処理部での前記整形処理に基づいて、現場データの処理フローを作成するフロー設計部と、実行環境の情報を記憶する実行環境情報記憶部と、前記実行環境情報記憶部に記憶されている前記実行環境の情報に基づいて、前記フロー設計部で作成された前記処理フローを変換するフロー変換部と、前記フロー変換部で変換された処理フローに基づいて実行プログラムを作成して配布するシステム定義部とを有すること」ことが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１８１２６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ）の発展に伴い、現場データを多様な業種のアプリケーションへ活用するために、多様なデータの収集及び整形処理の迅速な開発が必要となっている。ところが、サーバ構成等の実行環境、データや出力するデータの定義により処理内容の要件は異なる。以上のような実行環境や要件を踏まえて、現場SEがデータの収集及び整形処理の迅速な設計をすることは容易ではない。現場データの処理フローを実行環境や要件に応じて変換して表示することにより、実行環境に応じた簡単かつ迅速な設計手段をユーザに提供する技術として、例えば、特許文献１がある。
【０００５】
しかしながら、特許文献1ではユーザが整形処理の実行単位を設定する手段については言及されていない。
【課題を解決するための手段】
【０００６】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データを収集し変換するデータ収集サーバであって、収集データを整形する一つまたは複数の整形処理を実行するデータ処理部と、前記データ処理部での前記整形処理に基づいて、データの処理フローを設定するフロー設定部と、前記整形処理の実行環境の情報を設定する実行情報設定部と、前記実行情報設定部で設定された前記実行環境の情報に基づいて、前記フロー設定部で作成された前記処理フローを変換するフロー変換部と、を有し、前記フロー設定部は、複数の整形処理の前後で第１及び第２のフラグの設定入力を受付け、前記データ処理部は、複数の整形処理の前後に第１及び第２のフラグがある場合、第１及び第２のフラグ間にある複数の整形処理をまとめて実行する統合整形処理を行い、前記実行情報設定部は、前記統合整形処理の実行内容に基づいて、実行環境の情報を更新することを特徴とするデータ収集サーバを用いる。
【発明の効果】
【０００７】
本発明によれば、ユーザが、サーバ構成等の実行環境に応じたデータ整形処理単位の設定と実行を、簡単かつ迅速に行なうことができる。
【図面の簡単な説明】
【０００８】
【図１】システムの全体構成を示すブロック図である。
【図２】フローコンパイラの構成を示すブロック図である。
【図３】クラスタシステムにおけるフロー変換処理を示すフローチャートである。
【図４】データ整形処理の処理フローを示す図である。
【図５】データ整形処理フローを変換した後の処理フローを示す図である。
【図６】データの順序性を考慮しない場合のゲートウェイからのデータ処理フローを示す図である。
【図７】データの順序性を考慮した場合のゲートウェイからのデータ処理フローを示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を用いて、本発明の実施の形態を詳細に説明する。
【００１０】
図１を参照して、データ収集サーバ１００を含むシステム全体構成について説明する。図１に示すように、本システムでは、デバイス１０１−１、１０１−２がゲートウェイ１０２−１に接続されており、デバイス１０１−３、１０１−４がゲートウェイ１０２−２に接続されている。ゲートウェイ１０２−１、１０２−２はネットワーク１０３に接続されている。ネットワーク１０３には、データ収集サーバ１００に接続されており、フローコンパイラ１１０、ブローカ１０４、データ蓄積部１０６、可視化部１０７がそれぞれ接続されている。
【００１１】
複数のブローカ１０４には複数のデータ処理部１０５が接続されている。ブローカ１０４は、現場に配置された複数のデバイス１０１−１〜１０１−４から出力されたデータを収集して保存する。データ処理部１０５は、現場に配置された複数のデバイス１０１−１〜１０１−４から出力されてブローカ１０４に収集されたデータを整形する処理を行う。
【００１２】
ここで、フローコンパイラ１１０、ブローカ１０４及びデータ処理部１０５は、例えば、データ収集サーバ１００で構成される。データ収集サーバ１００は、主制御部、主記憶部、入力部、出力部及び通信部を備える。また、データ収集サーバ１００はクラウド上の仮想サーバでもよいし、１つの物理サーバには限らず、複数の物理サーバで構成されていてもよい。
【００１３】
また、ブローカ１０４は、現場に配置された複数のデバイス１０１−１〜１０１−４から出力されたデータを一時的に保存するバッファ機能を有する。また、フローコンパイラ１１０は、処理フローの変換だけでなく、情報を表示する機能も有する。例えば、デバイス１０１は、現場の工場の生産ラインの組み立てロボット等に設置されたセンサーであり、このセンサーで検出されたデータ（生データ）がゲートウェイ１０２を介してネットワーク１０３に接続されているブローカ１０４に一時的に保存される。
【００１４】
ブローカ１０４に保存されたデータは、データ処理部１０５に入力されて所定の整形処理が行われた後に、再度ブローカ１０４に保存される。ここで、整形処理とは、例えば、センサー等で検出されたデータに付加情報を与えてユーザが理解可能な表現に変換し、あるいは、データから必要な情報だけ取り出して残りの情報を削除する処理のことである。
ブローカ１０４に保存されたデータは可視化部１０６にグラフ等で表示される。このように、データ処理部１０５で整形処理されたデータをブローカ１０４に保存しながら処理を進めることができるため、データの信頼性が確保される。特に、工場等の現場に大量に配置されたデバイス１０１から出力される膨大かつ変動するデータをロストしないで処理するという要件を満足するために、データ処理部１０５で整形処理されたデータをブローカ１０４でバッファしながら処理を行うことが必要である。このようにして、整形処理された大量のデータ処理の信頼性を確保することができる。
【００１５】
現場のデータの整形処理の流れ（フロー）は、フローコンパイラ１１０に表示される。この場合、ユーザはフローコンパイラ１１０により、実行環境や要件に応じたフローの変換処理の設定をＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）環境で行うことができる。
【００１６】
次に、図２を参照して、フローコンパイラ１１０の構成について説明する。図２Ａに示すように、フローコンパイラ１１０は、フロー設定部１１１、フロー変換部１１２、システム定義部１１３、および実行情報設定部１１４を有する。フロー設定部１１１、フロー変換部１１２及びシステム定義部１１３の機能は、データ収集サーバ１００の主制御部でプログラムが実行されることで実現される。
【００１７】
図２Ｂに、実行情報設定部１１４の詳細を示す。実行情報設定部１１４は、ブローカ管理情報テーブル１２１、サーバ構成情報テーブル１２２及びテンプレート情報テーブル１２３を有する。
【００１８】
フロー設定部１１１は、現場データの処理フローを作成する。システム定義部１１３は、プログラムを実行する環境であるサーバの主制御部等と直接接続し、実行プログラムを配布する。フロー変換部１１２は、実行情報設定部１１４の実行情報に基づいて、フロー設定部１１１が作成した処理フローを変換する。
【００１９】
さらに、フロー変換部１１２は、フロー設定部１１１によって変換された処理フローをシステム定義部１１３へ送る。システム定義部１１３は、処理フローを実行プログラムと設定情報とに分離して、実行環境にそれぞれ配布する。実行情報設定部１１４は、実行環境の情報として、ブローカ１０４及びデータ処理部１０５のサーバの構成情報を格納するサーバ構成情報テーブル１２２を有する。
【００２０】
ここで、サーバ構成情報テーブル１２２は、サーバの構成情報として、サーバの台数情報を格納する。テンプレート情報テーブル１２３は、図４、図５の表示画面に表示する整形処理テンプレート群を格納する。テンプレート情報テーブル１２３を参照して、例えば、整形処理として整形１、整形２、整形３等を揃えて画面に表示する。実行情報設定部１１４は、ブローカ処理を挿入すべき処理フロー内の位置を特定するためのブローカ管理情報を格納するブローカ管理情報テーブル１２１を有する。
【００２１】
フロー変換部１１２は、ブローカ管理情報テーブル１２１に格納されたブローカ管理情報に基づいて、各整形処理の間にブローカ処理を挿入してフロー情報を変換する。フロー変換部１１２が変換した処理フローは、フローコンパイラ１１０に表示される。
このように、フロー変換部１１２は、各整形処理の間に状態を保持するブローカ処理を挿入し、最後に各整形処理のノードを再構成して、変更した処理フローを生成してシステム定義部１１３へ送る。システム定義部１１３は、変更した処理フローを実行プログラムと設定情報に分離し、対応する実行環境にデプロイ（配布）する。このようにして、多様なデータの収集及び整形処理の迅速開発を実現する。
【００２２】
次に、図３〜７を参照して、現場データをラウンドロビン等で各データ処理用サーバへ振り分けるシステムにおけるフロー変換処理について説明する。
【００２３】
まず、図３のフローチャートに基づいて、図４のようにＧＵＩ環境でユーザが設定したＳｔａｒｔ、Ｅｎｄフラグによりグループ化を必要とするノードがあるかチェックを行う(Ｓ３１０)。このＳｔａｒｔ、Ｅｎｄフラグを基に、ノードはグループ化される(Ｓ３２０)。ノードをグループ化することで、ブローカ処理の回数を減らすことが可能になり、効率の良い整形処理を行うことができる。
【００２４】
図４上部のフロー例では、整形１と整形２をグループ化し統合整形処理を行い、整形３はデータ整形処理部が単独で整形処理を行う例を示している。ここで、統合整形処理とは、例えば、Ｓｔａｒｔ、Ｅｎｄフラグを基にグループ化した複数の整形処理につき、まとめて処理を行うことである。この場合、図６のようにゲートウェイから送信されたデータは順次複数のブローカにラウンドロビン等で振り分けられ、1から5の流れに従って、複数のデータ整形処理部が各々で整形処理を行うことができる。
【００２５】
また、複数のデータ整形処理部が同時に整形処理を行う場合、整形処理後にデータ格納部に格納されるデータはゲートウェイから送信された順序と異なる可能性がある。そのため、次のステップで、順序性を担保するための順序フラグをチェックする(Ｓ３３０)。
【００２６】
順序フラグが付与されている場合、図４下部のフロー例のように、順序性を考慮し特定のデータ処理部にのみ整形ノードを配備する(Ｓ３４０)。この場合、図７に示すように、1から5の流れに従って、複数のデータ整形処理部が各々で整形処理を行った後、1’から2’の流れに従って整形処理が行われる。この時、整形ノードの配備をユーザは意識せずともＧＵＩで順序フラグを付与するだけで、整形処理の順序性を担保できる。
【００２７】
データの順序性に重きを置かない場合、順序フラグは付与されないため、全てのデータ処理部にノードは配備される(Ｓ３５０)。
【００２８】
次に、図５に示すように、ブローカ管理情報１２１を参照して、ブローカブロックとノードを接続する(Ｓ３６０)。最後に、システム定義部１１３に送るフロー情報（ファイル）を生成する（Ｓ３７０）。このファイルには、例えば整形１、整形２、整形３等からなる整形処理についてのプログラム、例えば整形１と整形２からなる整形処理のグループ情報（処理の順番）、及びブローカの設定情報が含まれる。
【００２９】
このようにして、実施例では、整形処理の実行単位をサーバ構成等の実行環境を考慮せずともＧＵＩで簡単かつ迅速に設定する手段をユーザに提供することができる。
【００３０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【００３１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００３２】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｐｙｔｈｏｎ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【００３３】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【００３４】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【００３５】
１００  データ収集サーバ
１０１  デバイス
１０２  ゲートウェイ
１０３  ネットワーク
１０４  ブローカ
１０５  データ処理部
１０６  データ蓄積部
１０７  可視化部
１１０  フローコンパイラ
１１１  フロー設定部
１１２  フロー変換部
１１３  システム定義部
１１４  実行情報設定部
【図１】
2020166480.tif 000003
【図２】
2020166480.tif 000004
【図３】
2020166480.tif 000005
【図４】
2020166480.tif 000006
【図５】
2020166480.tif 000007
【図６】
2020166480.tif 000008
【図７】
2020166480.tif 000009