(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-04
(54)【発明の名称】工業プラントのプロセスデータベースシステムから時系列データセットを検索する方法
(51)【国際特許分類】
G06F 16/907 20190101AFI20231222BHJP
【FI】
G06F16/907
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023538106
(86)(22)【出願日】2021-12-21
(85)【翻訳文提出日】2023-08-18
(86)【国際出願番号】 EP2021087067
(87)【国際公開番号】W WO2022136418
(87)【国際公開日】2022-06-30
(32)【優先日】2020-12-22
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】508020155
【氏名又は名称】ビーエーエスエフ ソシエタス・ヨーロピア
【氏名又は名称原語表記】BASF SE
【住所又は居所原語表記】Carl-Bosch-Strasse 38, 67056 Ludwigshafen am Rhein, Germany
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ガウ,セバスチャン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175FB03
(57)【要約】
本発明は、工業プラントのデータベースシステムから時系列データセットを検索する方法に関する。方法200は、タグ並びにそれぞれの時系列データセットの開始時間及び終了時間を示すことによって時間依存データ値を示すリクエストクエリを提供すること210と、提供されたリクエストクエリについての応答性スコアを提供すること220であって、それぞれの応答性スコアが、タグに関連するプロセスデータベースシステムの予期した応答性を示す、提供すること220と、を含む。さらに、バルククエリは、時間依存データ値の少なくとも一部をリクエストするためのクエリを含んで応答性スコアに基づいて生成230され、提供されたリクエストクエリ全ての時間依存データ値全てが、バルククエリによってリクエストされる。バルククエリが送信240され、時間依存データ値がプロセスデータベースシステムから検索250される。これによって、データの有効で計算コストのかからないデータ検索が可能となる。
【特許請求の範囲】
【請求項1】
工業プラント(130)のプロセスデータベースシステム(131)から時系列データセットを検索するためのコンピュータ実施方法であって、それぞれの時系列データセットが、それぞれのタグに関連付けられ、それぞれの一連の時間依存データ値を含み、前記方法(200)が、
- 前記時系列データセットの時間依存データ値をリクエストするためのリクエストクエリを提供すること(210)であって、それぞれのリクエストクエリが、a)それぞれの時系列データセットに関連付けられたそれぞれのリクエストタグ、並びにb)前記それぞれのリクエストタグに関連付けられた前記それぞれの時系列データセットの前記時間依存データ値のそれぞれの開始時間及びそれぞれの終了時間を示すことによって、それぞれのリクエストされた時間依存データ値を示す、提供すること(210)と、
- 提供された前記リクエストクエリについての前記プロセスデータベースシステム(131)の応答性スコアを提供すること(220)であって、それぞれの応答性スコアが、それぞれの前記提供されたリクエストクエリによって示されるそれぞれのリクエストタグに関する前記プロセスデータベースシステム(131)の予期した応答性を示す、提供すること(220)と、
- a)それぞれのバルククエリ(321、322、323)が、前記提供されたリクエストクエリのうちの1つ又は複数の前記リクエストされた時間依存データ値の少なくとも一部をリクエストするためのクエリを含み、b)提供されたリクエストクエリ全てのリクエストされた時間依存データ値全てが前記バルククエリ(321、322、323)によってリクエストされるように、前記応答性スコアに基づいてバルククエリ(321、322、323)を生成すること(230)と、
- 前記バルククエリ(321、322、323)を前記プロセスデータベースシステム(131)に送信すること(240)と、
- 前記バルククエリ(321、322、323)に応答して前記プロセスデータベースシステム(131)から時間依存データ値を検索すること(250)と、
を含む、方法。
【請求項2】
それぞれの応答性スコアが、それぞれのリクエストタグの同期状態及び/又は前記それぞれのリクエストタグに関連付けられた時系列データセットのデータ密度に基づいて決定される、請求項1に記載の方法。
【請求項3】
前記バルククエリ(321、322、323)の前記時間依存データ値の前記検索中に、事前設定可能な最大データポイントカウントを超えないように、前記バルククエリ(321、322、323)を前記生成することが、バルククエリ(321、322、323)毎に、前記リクエストクエリによって示される前記時間依存データ値の少なくとも一部を含むクエリを決定することを含む、請求項1又は2に記載の方法。
【請求項4】
バルククエリ(321、322、323)を前記生成することが、前記バルククエリ(321、322、323)の決定済みクエリ全てが同一の開始時間を含むように、前記バルククエリ(321、322、323)のクエリを決定することを含む、先行する請求項のいずれか1項に記載の方法。
【請求項5】
前記バルククエリ(321、322、323)に応答して前記時間依存データ値を検索するときに、少なくとも1つのリクエストクエリに対して重複した時間依存データ値(324)が検索されるように、前記バルククエリ(321、322、323)の決定済みクエリの前記開始時間が決定される、請求項4に記載の方法。
【請求項6】
少なくとも1つのリクエストクエリに対して重複した時間依存データ値(324)を含む前記バルククエリ(321、322、323)に応答して前記時間依存データ値を検索した後で、前記リクエストクエリの検索された前記時間依存データ値を重複排除することをさらに含む、請求項5に記載の方法。
【請求項7】
前記バルククエリ(321、322、323)を前記生成することが、各バルククエリ(321、322、323)の全般設定を決定する設定可能なパーティショニングパラメータにさらに基づく、先行する請求項のいずれか1項に記載の方法。
【請求項8】
前記設定可能なパーティショニングパラメータが、バルククエリ(321、322、323)によってリクエスト可能なリクエストタグの数、及びバルククエリ(321、322、323)によってリクエスト可能なリクエストタグについての最大時間フレームのうちの少なくとも1つを示す、請求項7に記載の方法。
【請求項9】
前記方法が、前記時間依存データ値を検索する間、又は検索した後で、時間依存データ値が検索されるリクエストクエリに関連付けられたリクエストタグについての前記応答性スコアを決定することと、前記リクエストタグをリクエストする将来のリクエストクエリに使用される前記応答性スコアを記憶することと、をさらに含む、先行する請求項のいずれか1項に記載の方法。
【請求項10】
前記応答性スコアが、前記リクエストタグの前記時間依存データ値の前記検索中に所定の期間検索される前記リクエストタグに関連付けられた時間依存データ値の量を測定することによって決定される、請求項9に記載の方法。
【請求項11】
前記方法が、リクエストクエリによって示される前記リクエストタグの同期状態に基づいて、前記リクエストクエリのリクエスト開始時間を決定することをさらに含む、先行する請求項のいずれか1項に記載の方法。
【請求項12】
前記方法が、前記バルククエリ(321、322、323)の前記時間依存データ値の前記検索中に、失敗が起きたかどうかを決定することであって、前記バルククエリ(321、322、323)の少なくとも1つのクエリに関連する失敗が起きたと判断されるときに、前記方法が、前記クエリによってリクエストされた前記時間依存データ値を、新たにリクエストされたクエリとしてバルククエリ(321、322、323)を決定するステップに提供することを含む、決定することをさらに含む、先行する請求項のいずれか1項に記載の方法。
【請求項13】
工業プラント(130)のプロセスデータベースシステム(131)から時系列データセットを検索するためのコンピューティングデバイスであって、それぞれの時系列データセットが、それぞれのタグに関連付けられ、それぞれの一連の時間依存データ値を含み、前記コンピューティングデバイス(120)が、
- 前記時系列データセットの時間依存データ値をリクエストするためのリクエストクエリを提供するクエリ提供ユニット(121)であって、それぞれのリクエストクエリが、a)それぞれの時系列データセットに関連付けられたそれぞれのリクエストタグ、並びにb)前記それぞれのリクエストタグに関連付けられた前記それぞれの時系列データセットの前記時間依存データ値のそれぞれの開始時間及びそれぞれの終了時間を示すことによって、それぞれのリクエストされた時間依存データ値を示す、クエリ提供ユニット(121)と、
- 提供された前記リクエストクエリについての前記プロセスデータベースシステム(131)の応答性スコアを提供する応答性スコア提供ユニット(122)であって、それぞれの応答性スコアが、それぞれの前記提供されたリクエストクエリによって示されるそれぞれのリクエストタグに関する前記プロセスデータベースシステム(131)の予期した応答性を示す、応答性スコア提供ユニット(122)と、
- a)それぞれのバルククエリ(321、322、323)が、前記提供されたリクエストクエリのうちの1つ又は複数の前記リクエストされた時間依存データ値の少なくとも一部をリクエストするためのクエリを含み、b)提供されたリクエストクエリ全てのリクエストされた時間依存データ値全てが前記バルククエリ(321、322、323)によってリクエストされるように、前記応答性スコアに基づいてバルククエリ(321、322、323)を生成するバルククエリ生成ユニット(123)と、
- 前記バルククエリ(321、322、323)を前記プロセスデータベースシステム(131)に送信する送信ユニット(124)と、
- 前記バルククエリ(321、322、323)に応答して前記プロセスデータベースシステム(131)から時間依存データ値を検索する検索ユニット(125)と、
を備える、コンピューティングデバイス。
【請求項14】
プロセスデータベースシステム(131)に接続するデータ検索システムであって、前記データ検索システム(100)が、
- 前記プロセスデータベースシステム(131)の複数の応答性スコアを記憶するように適合された永続データベース(140)であって、各応答性スコアが、タグに関連付けられる、永続データベース(140)と、
- 請求項13に記載のコンピューティングデバイス(120)であって、前記クエリ提供ユニットが、前記永続データベースから前記応答性スコアを受信し、受信した前記応答性スコアを提供するように適合される、コンピューティングデバイス(120)と、
を備える、データ検索システム。
【請求項15】
工業プラント(130)のプロセスデータベースシステム(131)から時系列データセットを検索するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品が、請求項13に記載のコンピューティングデバイス(120)に請求項1~12のいずれか1項に記載の方法(200)を実行させるプログラムコード手段を含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は、工業プラントのプロセスデータベースシステムから時系列データセットを検索するためのコンピュータ実施方法、コンピューティングデバイス、データ検索システム、及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
発明の背景
現在の工業生産プロセスでは、工業プラントにおいて製品の生産をモニタリングする複数のセンサが設けられている。複数のセンサによって生成されたデータは、概して、工業プラントの、ヒストリアンと呼ばれることもあるプロセスデータベースシステムに時系列データセットの形式で記憶される。そのような時系列データセットは、時系列データセットについての識別子とみなされ得る、且つ一連の時間依存データ値、例えば工業プラントの1つ又は複数のセンサの測定値を含むタグに、それぞれ関連付けられる。このような時系列データセットは、多くの場合、センサが工業生産プラントのパラメータを測定している何年もの間の時間依存データ値を含む。さらに、時系列データセットが記憶されるプロセスデータベースシステムが、現在の技術レベルに更新されていないが、レガシーシステムとして現在の技術レベルで動作し続けていることは、非常に一般的である。しかしながら、今日、例えば、ビッグデータマイニング、エンタープライズ制御システムのような上位計算システムでのさらなるデータ分析などの他のコンテキストにおいて、時系列データセット内で提供される複数のデータを使用することが望ましいことが多くある。この目的のために、時系列データセットは、例えば、その技術レベルなどに起因するプロセスデータベースシステムの考えられる制限を考慮に入れつつ、可能な限り効率的にプロセスデータベースシステムから検索されなければならない。特に、単にそのような膨大な量の時間依存データ値をリクエストすることは、ほとんどの場合、レガシープロセスデータベースシステムに負荷をかけ過ぎることになる。したがって、工業プラントのプロセスデータベースシステムからの、有効で計算コストのかからない時系列データセットの検索を可能にする方法が提供されると有利である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
発明の概要
本発明の目的は、工業プラントのプロセスデータベースシステムからの、有効で計算コストのかからない時系列データセットの検索を可能にする、コンピュータ実施方法、コンピューティングデバイス、検索システム、及びコンピュータプログラム製品を提供することである。さらに、本発明の目的は、検索された時系列データのビッグデータ解析が可能であるように時系列データを技術的優位性のあるシステムに提供するために、レガシーシステムからの時系列データセットの有効な1回限りの、又は連続的な抽出を可能にすることである。
【課題を解決するための手段】
【0004】
本発明の第1の態様において、工業プラントのプロセスデータベースシステムから時系列データセットを検索するためのコンピュータ実施方法であって、それぞれの時系列データセットが、それぞれのタグに関連付けられ、それぞれの一連の時間依存データ値を含み、方法が、i)時系列データセットの時間依存データ値をリクエストするためのリクエストクエリを提供することであって、それぞれのリクエストクエリが、a)それぞれの時系列データセットに関連付けられたそれぞれのリクエストタグ、並びにb)それぞれのリクエストタグに関連付けられたそれぞれの時系列データセットの時間依存データ値のそれぞれの開始時間及びそれぞれの終了時間を示すことによって、それぞれのリクエストされた時間依存データ値を示す、提供することと、ii)提供されたリクエストクエリについてのプロセスデータベースシステムの応答性スコアを提供することであって、それぞれの応答性スコアが、それぞれの提供されたリクエストクエリによって示されるそれぞれのリクエストタグに関するプロセスデータベースシステムの予期した応答性を示す、提供することと、iii)a)それぞれのバルククエリが、提供されたリクエストクエリのうちの1つ又は複数のリクエストされた時間依存データ値の少なくとも一部をリクエストするためのクエリを含み、b)提供されたリクエストクエリ全てのリクエストされた時間依存データ値全てがバルククエリによってリクエストされるように、応答性スコアに基づいてバルククエリを生成することと、iv)バルククエリをプロセスデータベースシステムに送信することと、v)バルククエリに応答してプロセスデータベースシステムから時間依存データ値を検索することと、を含む、方法が提示される。
【0005】
バルククエリが応答性スコアに基づいて生成され、時間依存データ値がバルククエリを利用して検索されるため、タグ毎のプロセスデータベースシステムの予期した応答性を考慮に入れることができ、リクエストされた時間依存データ値の非常に有効で計算コストのかからない検索に対してバルククエリが最適化され得る。さらに、方法は、プロセスデータベースシステムに対するストレスを最小化しつつ、プロセスデータベースシステムから時間依存データ値を検索するときの時間依存データ値スループットを最大化することを可能にする。
【0006】
工業プラントのプロセスデータベースシステム上に記憶された時系列データセットは、それぞれのタグに関連付けられた任意の一連の時間依存データ値を指してもよい。好ましくは、各時系列データセットは、工業プラントの生産プロセスをモニタリングするために工業プラント内に設けられたセンサの測定値を指す、時間依存データ値を含む。この好適な実施形態では、時間依存データ値に関連付けられたタグは、それぞれの時間依存データ値を提供した工業プラントのセンサの識別を示し得る。例えば、時系列データセットは、特定製品の生産中の化学反応において温度センサにより提供された時系列の温度測定値を指してもよい。温度センサは、例えば、温度センサの識別を示すタグに関連してプロセスデータベースシステム上に記憶され、よってそれぞれの時系列データセットを生成する、数秒毎の温度測定値を提供するように適合され得る。しかしながら、他の実施形態では、一連の時間依存データ値は、1つのセンサだけでなく複数のセンサで測定されたデータ値も指し得る。この場合、時間依存データ値に関連付けられたタグは、複数のセンサを示してもよく、又は時間依存データ値のソースから完全に独立していてもよい。概して、時系列データセットは、時間依存データ値に加えて、時間依存データ値が測定された時間を示すために時間依存データ値に関連付けられたタイムスタンプも含む。さらに、任意選択で、時系列データセットは、時系列データセットの各時間依存データ値に関連付けられた品質値をさらに含んでもよく、品質値は、それぞれの時間依存データ値の測定品質を示し得る。本教示の普遍性又は範囲を制限することなく、実施形態において、時系列データセットは、既に記憶された時間依存データ値に関連付けられた全ての他のタイムスタンプと比較して最近のタイムスタンプに関連付けられた時間依存データ値である時系列データセットに関連付けられた、最近挿入された、即ち記憶された時間依存データ値によって定義される、順序通りの挿入時系列データセットを指してもよい。したがって、順序通りの挿入時系列データセットは、全ての時間依存データ値が後に続いて、即ち関連するタイムスタンプの順番で記憶される、時系列データセットを指すものとみなされ得る。したがって、既に記憶された時間依存データ値の前に測定が実行されていることを示すタイムスタンプに関連付けられた時間依存データ値を遅れて挿入することなく、最新の時間依存データ値が記憶される。
【0007】
第1のステップでは、方法は、時系列データセットの時間依存データ値をリクエストするためのリクエストクエリを提供することを含む。リクエストクエリの提供は、例えば、リクエストクエリが既に記憶されたストレージからリクエストクエリを受信することと、次いでそれを提供することと、を指してもよい。しかしながら、リクエストクエリの提供は、また、ユーザ入力からリクエストクエリを受信することと、次いでユーザ入力に基づいてリクエストクエリを提供することと、を指してもよい。概して、リクエストクエリは、例えば、時間依存データ値を別のプロセスシステムに伝送するため、又は時間依存データ値のさらなる分析のために、時系列データセットの時間依存データ値をリクエストするクエリを指す。
【0008】
概して、リクエストクエリは、a)リクエストされた時間依存データ値を含むそれぞれの時系列データセットに関連付けられたそれぞれのリクエストタグ、並びにb)それぞれの時系列データセットの時間依存データ値のそれぞれの開始時間及びそれぞれの終了時間を示すことによって、所望のリクエストされた時間依存データ値を示す。例えば、それぞれのリクエストクエリは、それぞれのリクエストタグを示すためにタグ又はタグの識別子を直接含んでもよく、それぞれの開始時間及びそれぞれの終了時間を示す何らかの時間識別子をさらに含んでもよい。例えば、時間識別子は、それぞれの開始時間としての日付及び時間、並びにそれぞれの終了時間としてのそれぞれの日付及び時間を指してもよい。しかしながら、時間識別子は、また、それぞれの開始時間としての日付及び時間を指してもよく、それぞれの開始時間と共にそれぞれの終了時間を識別することを可能にする、例えば、数又は時間、日、月、年などを指す期間をさらに示してもよい。さらに、時間識別子は、また、時系列データセットについてのそれぞれの開始時間及びそれぞれの終了時間の識別を可能にする任意の他の方式で提供されてもよく、例えば、コンピュータクロック時間、特定の時間依存データ値に関連付けられた時間を符号化するために使用されるタイムスタンプなどを指してもよい。概して、それぞれのリクエスト終了時間及び開始時間は、時間依存データ値が関連付けられたタイムスタンプによって示される時間を指す。したがって、それぞれの開始時間及びそれぞれの終了時間は、リクエストタグによって示される時系列データセットのどの時間依存データ値が検索されるかを示す。したがって、各リクエストクエリが、検索される時系列データセットの時間依存データ値を示す。
【0009】
第2のステップにおいて、方法は、提供されたリクエストクエリについてのプロセスデータベースシステムの応答性スコアを提供することを含む。各応答性スコアが、概して、それぞれの提供されたリクエストクエリによって示されるそれぞれのリクエストタグに関するプロセスデータベースシステムの予期した応答性を示す。例えば、応答性スコアは、永続データベース上のそれぞれのタグに関連付けられて記憶されてもよく、次いでそれぞれのリクエストタグに基づいて提供されてもよい。概して、プロセスデータベースシステムの予期した応答性は、所定の期間内にプロセスデータベースシステムから検索され得るそれぞれのタグの時間依存データ値の予期した量を指すとみなされ得る。しかしながら、プロセスデータベースシステムの実際の応答性は、複数の因子、例えば、プロセスデータベースシステムの現在のワークロード、プロセスデータベースシステム間のインターフェースの現在のキャパシティ、時間依存データ値が伝送されるシステムなどに依存し得るため、それぞれの応答性スコアは、プロセスデータベースシステムの予期した応答性を示すだけである。
【0010】
好適な実施形態では、それぞれの応答性スコアは、それぞれのリクエストタグの同期状態及び/又はそれぞれのリクエストタグに関連付けられた時系列データセットのデータ密度に基づいて決定される。それぞれのリクエストタグの同期状態は、関連する時系列データセットのどの時間依存データ値がプロセスデータベースシステムから既に検索されているか、及びこのリクエストタグについての完全な時系列データセットを取得するためにどの時間依存データ値がプロセスデータベースシステムからまだ検索される必要があるかを示す。例えば、同期状態は、それぞれのリクエストタグを参照する最後のリクエストクエリの終了時間を指してもよい。しかしながら、同期状態は、また、それぞれのリクエストタグの最後に検索された時間依存データ値とここでみなされ得る時間からの期間を指してもよい。
【0011】
好ましくは、方法は、リクエストクエリによって示されるリクエストタグの同期状態に基づいて、リクエストクエリのリクエスト開始時間を決定することをさらに含む。特に、リクエスト開始時間が自動的に決定されることが好適である。さらに、方法が、所定の期間後にリクエストタグの同期状態を更新することを含み、時間依存データ値がまだ検索されていないリクエストタグに関連付けられると決定される場合に、また検索されていない時間依存データ値をリクエストするためのリクエストクエリが生成されることが好適である。これによって、検索された時間依存データ値が最新に保たれることが可能となる。
【0012】
時系列データセットのデータ密度は、特定のタグに関連する所定の期間中に記憶される、時間依存データ値の量を指す。それぞれがセンサを参照し得る異なるタグは、例えばセンサの異なる測定頻度によって生じる、異なるデータ密度を含み得る。例えば、温度センサは、毎分化学反応器内の温度を測定し、したがって1時間につき60個の時間依存データ値のデータ密度を有する時系列データセットを作り出してもよく、化学反応器内の圧力センサは、半時間毎にのみ圧力を測定し、したがって1時間につき2個の時間依存データ値のデータ密度を有する時系列データセットを作り出してもよい。さらに、他の例では、センサは、数秒毎にでも時間依存データ値を提供してもよく、したがってさらに高いデータ密度をもたらし得る。同期状態及び/又はそれぞれのリクエストタグのデータ密度に基づいて、プロセスデータベースシステムの予期した応答性、及びそれによるそれぞれの応答性スコアが決定され得る。例えば、同期状態及び/又はデータ密度からそれぞれの応答性スコアを決定するために、所定のルールが使用されてもよく、ルールは、プロセスデータベースシステムでのエクスペリエンスに基づいてもよく、又は理論上の考察に基づいてもよい。例えば、ルールは、応答性スコア及びそれによるプロセスデータベースシステムのそれぞれの予期した応答性は、データ密度が低いほど高くなることを定義してもよく、同期状態は、ごくわずかの時間依存データ値だけがそれぞれのリクエストタグに関連付けられた時系列データセットの欠落であることを示す。それぞれの予期した応答性スコアは、次いで、それぞれのタグに関連付けられたデータ密度が高いほど低くなってもよく、及び/又はそれぞれのリクエストタグの同期状態は、長い期間それぞれのリクエストタグに対して時間依存データ値が全く検索されていないことを示す。さらに、好適な実施形態において、それぞれの応答性スコアは、データ密度にのみ基づいて決定され、特に、それぞれのリクエストタグに関連付けられた時間依存データセットのデータ密度と等しくなるように決定される。
【0013】
同期状態及び/又はデータ密度に基づいてそれぞれの応答性スコアを決定することによって、非常に計算コストのかからない応答性スコアの決定が可能となる。さらに、同期状態及び/又はデータ密度によって、プロセスデータベースシステムの応答性の非常に良好な推定が可能となり、したがって、時間依存データ値の非常に有効な検索を可能にするバルククエリの生成が可能となる。
【0014】
しかしながら、他の実施形態では、応答性スコアは、また、それぞれのリクエストタグに関連するプロセスデータベースシステムの応答性に関連する過去のエクスペリエンスに基づいて決定されてもよい。例えば、それぞれのリクエストタグに関連付けられた時間依存データ値が、プロセスデータベースシステムから以前既に検索されている場合、この以前の検索におけるプロセスデータベースシステムの応答性が、応答性スコアを決定するための基準として測定及び使用されてもよく、例えば、プロセスデータベースシステムが、以前の検索中と同一の、それぞれのリクエストタグに関連する応答性を有することとなると予期され得る。さらに、それぞれのリクエストタグに対して以前に時間依存データ値が検索されておらず、さらに、それぞれのリクエストタグについてのデータ密度及び同期状態が全く既知でない場合、応答性スコアは、また、所定の基準応答性スコアを指してもよい。そのような所定の基準応答性スコアは、例えば他のタグの以前の時間依存データ値検索において測定されたプロセスデータベースシステムの平均応答性を指してもよく、又はユーザの入力に基づいて提供されてもよく、又はさらなる情報が提供されない全てのリクエストタグについての開始点として実施される応答性スコアの基準値を指してもよい。
【0015】
さらなるステップにおいて、方法は、応答性スコアに基づいてバルククエリを生成することを含む。概して、バルククエリは、提供されたリクエストクエリのうちの1つ又は複数のリクエストされた時間依存データ値の少なくとも一部をリクエストするためのクエリを含む。したがって、バルククエリは、概して複数のタグの時間依存データ値を標的とするクエリとしてもみなされ得る。さらに、一緒に生成されたバルククエリ全てが、提供されたリクエストされたクエリ全てのリクエストされた時間依存データ値全てをリクエストするためのクエリを含む。概して、バルククエリのクエリは、1つのリクエストタグのみを参照し、即ちバルククエリのクエリは、リクエストクエリと同じ方法で定義され、それぞれのリクエストタグ並びにそれぞれの開始時間及び終了時間を示す。しかしながら、リクエストタグを示すクエリのそれぞれの開始時間及びそれぞれの終了時間は、リクエストタグに関連付けられたリクエストクエリのリクエスト開始時間及び終了時間とは異なり得る。したがって、バルククエリの生成は、提供されたリクエストクエリ自体よりも、提供されたリクエストクエリの時間依存データ値を有効に検索するのにより適当な、バルククエリを形成するクエリにリクエストされた時間依存データ値をソートすることとみなされ得る。特に、応答性スコアは、プロセスデータベースシステムの予期した応答性を推定することを可能にし、よって、時間依存データ値の最も有効な検索を可能にするクエリを含むバルククエリを生成することを可能にする。例えば、バルククエリの生成は、バルククエリがどのように応答性スコアに基づいて生成されるかについての所定のルールを適用することを含み得る。そのようなルールは、例えば、バルククエリが類似の応答性スコアを有する各リクエストタグに関連付けられた時間依存データ値をリクエストするためのクエリを含むことを示してもよい。しかしながら、ルールは、プロセスデータベースシステムについて、バルククエリが、異なる応答性スコアを含む各リクエストタグに関連付けられた、リクエストされた時間依存データについてのクエリを含む場合に、より有利になることも示し得る。例えば、ルールは、クエリの半分が高い応答性スコアを有するそれぞれのリクエストタグの時間依存データ値を参照するものとし、クエリの他の半分が低い応答性スコアを有するそれぞれのリクエストタグの時間依存データ値を参照するものとすることを示してもよい。しかしながら、他のより複雑なルールも、応答性スコアに基づいてバルククエリを生成するために適用されてもよい。
【0016】
さらに、方法は、生成されたバルククエリをプロセスデータベースシステムに送信することと、次いで、バルククエリに応答してプロセスデータベースシステムから時間依存データ値を検索することと、を含む。例えば、検索される時間依存データ値は、プロセスデータベースシステムから、検索された時間依存データ値を記憶及び/又は処理するための他のストレージ及び/又は処理システムに送信されてもよい。
【0017】
好適な実施形態では、バルククエリの生成は、バルククエリの時間依存データ値の検索中に事前設定可能な最大データポイントカウントを超えないように、リクエストクエリによって示される時間依存データ値の少なくとも一部を含むクエリを、バルククエリ毎に決定することを含む。最大データポイントカウントは、プロセスデータベースシステムからクエリ毎に検索され得る時間依存データ値の最大数を指す。したがって、バルククエリは、バルククエリの時間依存データ値を検索するときに最大データポイントカウントを超えないように生成され得る。
【0018】
バルククエリを生成するときにこの閾値を考慮に入れるため、バルククエリに基づく時間依存データ値の検索中、時間依存データ値が失われることはなく、即ち、バルククエリが既にプロセスデータベースシステムの最大データポイントカウントに到達していることに起因して検索されない時間依存データ値はないことが保証され得る。したがって、提供されたリクエストクエリのリクエストされた時間依存データ値は、プロセスデータベースシステムから非常に有効且つ正確に検索され得る。
【0019】
実施形態において、バルククエリを生成することは、バルククエリの決定済みクエリ全てが同じ開始時間を含むように、バルククエリのクエリを決定することを含む。好ましくは、バルククエリの生成は、それぞれのリクエストクエリの開始時間に基づいてそれぞれのリクエストクエリをソートすることを含み、それは、また、その同期状態に基づいてそれぞれのリクエストクエリをソートすることとみなされ得る。このソートすることに基づいて、提供されたリクエストクエリのリクエストされた時間依存データ値の少なくとも一部を参照するバルククエリは、バルククエリの結果となるクエリが同一の開始時間を含むように生成され得る。しかしながら、バルククエリのクエリは、また、各リクエストクエリを前もってソートすることなく生成されてもよい。バルククエリの生成は、バルククエリの決定済みクエリ全てが同じ終了時間を含むように、バルククエリのクエリを決定することを含むことがさらに好適である。またこの場合、上述したように、ソートされたそれぞれのリクエストクエリに基づいてバルククエリを生成することが好適である。しかしながら、ソートしなくても、バルククエリがそれに応じて生成されてもよい。
【0020】
同一の開始時間及び任意選択で同一の終了時間も有するバルククエリのクエリを提供することは、プロセスデータベースシステムへのアクセス回数を著しく減少させる利点を有する。これは、複数のタグについてのデータが、クエリ、即ちタグ毎に個別の開始時間及び終了時間を含むバルククエリと比較して、1回のプロセスデータベースシステムアクセスで読み出し可能であるからである。したがって、バルククエリの実行速度が極めて上昇して、その結果、より良好な応答性をもたらし得る。さらに、プロセスデータベースシステムに伝送される、例えば構造化照会言語(SQL)において提供されるクエリテキストの量が、大幅に減少され得る。例えば、バルククエリが1000のクエリを含む場合、且つこれらのクエリのそれぞれが異なる開始時間及び終了時間を有する場合、バルククエリの1000の開始時間及び終了時間が指定されなければならず、大きな通信オーバヘッドにつながる。さらに、場合によっては、特定のプロセスデータベースシステムに対してクエリテキストが含むことが可能な文字数の上限が存在し得る。バルククエリテキストでのそのような問題は、したがって、同じ開始時間及び任意選択的に同じ終了時間を有するバルククエリのクエリを提供するときに、回避され得る。
【0021】
好適な実施形態では、バルククエリに応答して時間依存データ値を検索するときに少なくとも1つのリクエストクエリについて重複した時間依存データ値が検索されるように、バルククエリの決定されるクエリの開始時間が決定される。重複した時間依存データ値は、同一のリクエストタグを参照する、以前のリクエストクエリの間に既に検索されている、時間依存データ値を指す。したがって、重複した時間依存データ値は、さらなる処理及び記憶のために既に送信されている。しかしながら、重複した時間依存データ値が検索されるようにバルククエリのクエリの開始時間を決定することによって、各リクエストクエリの開始時間が全て異なる場合ですら、同じ開始時間を含むクエリを含む、バルククエリの生成が可能となる。この実施形態の場合、方法が、少なくともリクエストクエリについての重複した時間依存データ値を含むバルククエリに応答して時間依存データ値を検索した後で、リクエストクエリの検索された時間依存データ値を重複排除することをさらに含むことが好適である。リクエストクエリの検索された時間依存データ値を重複排除することは、例えば、重複した時間依存データ値を決定することと、次いで各タグに関連付けられた、以前既に検索された時間依存データ値にさらに関係する検索した時間依存データ値を記憶及び/又は処理する前に重複した時間依存データ値を除去することと、を指し得る。重複した時間依存データ値は、例えば、各リクエストタグの既知の同期状態に基づいて、及び/又は各リクエストタグの各時間依存データ値が各リクエストタグの既に検索された時間依存データ値のタイムスタンプに関連付けられる、タイムスタンプを比較することによって、決定され得る。
【0022】
本実施形態のバルククエリは重複した時間依存データ値を含み、したがって各リクエストクエリに必要よりも多くの時間依存データ値をリクエストし得るが、同一の開始時間及び任意選択的には終了時間を使用する利点は、既に上述したように、重複した時間依存データ値に対処しなければならない欠点よりも非常に大きい。
【0023】
好適な実施形態では、バルククエリの生成は、各バルククエリの全般設定を決定する設定可能なパーティショニングパラメータにさらに基づく。設定可能なパーティショニングパラメータは、事前設定され、且つ全てのバルククエリに適用され得るパラメータを指す。概して、設定可能なパーティショニングパラメータは、バルククエリの全般設定を決定する。好適な実施形態では、設定可能なパーティショニングパラメータは、リクエストタグの最大数、時間依存データ値の最大数、バルククエリによってリクエスト可能な、クエリについての最小時間フレーム及びクエリについての最大時間フレームの少なくとも1つを示す。さらに、パーティショニングパラメータは、バルククエリの処理を示すパラメータも指してもよい。例えば、パーティショニングパラメータは、また、クエリについての最大再試行回数、最大処理サイクルランタイム、クエリについての最大初期ロード時間などを示し得る。そのようなパーティショニングパラメータは、好ましくは、例えば、プロセスデータベースシステムの設定のナレッジ、ユーザのエクスペリエンスなどに基づいて事前設定される。しかしながら、パーティショニングパラメータは、また、以前のバルククエリの検索でのエクスペリエンスによって構成されてもよい。例えば、以前のバルククエリの検索の間に、リクエストされた時間依存データ値全てを検索できないエラーが発生した場合、次のバルククエリを生成する前にパーティショニングパラメータが再構成されてもよく、例えば、バルククエリにおいて可能なクエリの最大数が減少されることがある。
【0024】
これは、時間依存データ値が検索されるプロセスデータベースシステムの各設定に、バルククエリがより一層適合され得るという利点を有する。さらに、バルククエリについてのパーティショニングパラメータのような、そのような全般設定パラメータは、バルククエリが生成される度に改めて決定されなくてもよいが、概して全てのバルククエリに対して設定されるため、バルククエリの生成は、より有効に、且つ計算コストをかけずに実行され得る。
【0025】
実施形態では、方法は、時間依存データ値を検索する間、又は検索した後で、時間依存データ値が検索されるリクエストクエリに関連付けられたリクエストタグについての応答性スコアを決定することと、リクエストタグをリクエストする将来のリクエストクエリに使用される応答性スコアを記憶することと、をさらに含む。特に、時間依存データ値の検索中にプロセスデータベースシステムの実際の応答性が測定されるため、そのような測定値は、応答性スコアをより正確に決定するために利用され得る。特に、プロセスデータベースシステムの実際の応答性は、概して以前の応答性に類似であることが予期される。したがって、プロセスデータベースシステムの現実の応答性に基づいて決定される応答性スコアが、例えば永続データベース上に記憶されてもよく、その後、提供されたリクエストクエリが各リクエストタグを参照するときに、応答性スコアとして提供されてもよい。好ましくは、応答性スコアは、リクエストタグの時間依存データ値の検索中に所定の期間検索されるリクエストタグに関連付けられた時間依存データ値の量を測定することによって決定される。
【0026】
各リクエストタグに関連するプロセスデータベースシステムの実際の応答性の実際の測定値に基づいて応答性スコアを決定することによって、リクエストタグについてのプロセスデータベースシステムの将来の応答性を非常に正確に推定することが可能となる。その結果、より正確な推定、即ち応答性スコアが、時間依存データ値が既にプロセスデータベースシステムから検索されている各リクエストタグに提供され得る。ゆえに、これによって、生成されたバルククエリのさらなる最適化が可能となり、したがって時間依存データ値のより有効な検索が可能となる。
【0027】
実施形態において、方法は、バルククエリの時間依存データ値の検索中に、失敗が起きたかどうかを決定することであって、バルククエリの少なくとも1つのクエリに関連する失敗が起きたと判断されるときに、方法が、クエリによってリクエストされた時間依存データ値を、新たなリクエストクエリとしてバルククエリを決定するステップに提供することを含む、決定することをさらに含む。したがって、失敗の場合にも、リクエストされた時間依存データ値全てがプロセスデータベースシステムから最終的に検索されることが保証され得る。さらに、検索が失敗した時間依存データ値は、バルククエリの一部として再度リクエストされるため、例えば、独立プロセスにおいて、時間依存データ値検索のそのような失敗も、さらなる計算コストなしに非常に有効に処理され得る。
【0028】
本発明のさらなる態様において、工業プラントのプロセスデータベースシステムから時系列データセットを検索するためのコンピューティングデバイスであって、それぞれの時系列データセットが、それぞれのタグに関連付けられ、それぞれの一連の時間依存データ値を含み、コンピューティングデバイスが、i)時系列データセットの時間依存データ値をリクエストするためのリクエストクエリを提供するクエリ提供ユニットであって、それぞれのリクエストクエリが、a)それぞれの時系列データセットに関連付けられたそれぞれのリクエストタグ、並びにb)それぞれのリクエストタグに関連付けられたそれぞれの時系列データセットの時間依存データ値のそれぞれの開始時間及びそれぞれの終了時間を示すことによって、それぞれのリクエストされた時間依存データ値を示す、クエリ提供ユニットと、ii)提供されたリクエストクエリについてのプロセスデータベースシステムの応答性スコアを提供する応答性スコア提供ユニットであって、それぞれの応答性スコアが、それぞれの提供されたリクエストクエリによって示されるそれぞれのリクエストタグに関するプロセスデータベースシステムの予期した応答性を示す、応答性スコア提供ユニットと、iii)a)それぞれのバルククエリが、提供されたリクエストクエリのうちの1つ又は複数のリクエストされた時間依存データ値の少なくとも一部をリクエストするためのクエリを含み、b)提供されたリクエストクエリ全てのリクエストされた時間依存データ値全てがバルククエリによってリクエストされるように、応答性スコアに基づいてバルククエリを生成するバルククエリ生成ユニットと、iv)バルククエリをプロセスデータベースシステムに送信する送信ユニットと、v)バルククエリに応答してプロセスデータベースシステムから時間依存データ値を検索する検索ユニットと、を含む、コンピューティングデバイスが提示される。
【0029】
本発明のさらなる態様において、プロセスデータベースシステムに接続するデータ検索システムであって、データ検索システムが、i)プロセスデータベースシステムの複数の応答性スコアを記憶するように適合された永続データベースであって、各応答性スコアがタグに関連付けられる、永続データベースと、ii)上述したコンピューティングデバイスであって、クエリ提供ユニットが永続データベースから応答性スコアを受信し、受信した応答性スコアを提供するように適合される、コンピューティングデバイスと、を含む、データ検索システムが提示される。
【0030】
本発明のさらなる態様において、工業プラントのプロセスデータベースシステムから時系列データセットを検索するためのコンピュータプログラム製品であって、コンピュータプログラム製品が、上述したコンピューティングデバイスに上述した方法を実行させるプログラムコード手段を含む、コンピュータプログラム製品が提示される。
【0031】
上述の方法、上述のコンピューティングデバイス、上述のデータ検索システム、及び上述のコンピュータプログラム製品は、特に従属請求項に定義されるような、類似及び/又は同一の好適な実施形態を有していることを理解されたい。
【0032】
本発明の好適な実施形態は、従属請求項又は上述の実施形態と各々の独立請求項との任意の組み合わせであってもよいことを理解されたい。
【0033】
本発明のこれら及び他の態様は以下に記述する実施形態を参照することにより明らかにされ、解明されるであろう。
【図面の簡単な説明】
【0034】
【
図1】工業プラントのプロセスデータベースシステムから時系列データセットを検索するためのコンピューティングデバイスを含むデータ検索システムの実施形態を概略的且つ例示的に示す。
【
図2】工業プラントのプロセスデータベースシステムから時系列データセットを検索するための方法の実施形態を例示的に示すフローチャートを示す。
【
図3】方法の実施形態の詳細を例示的に示す概略フローチャートを示す。
【
図4】プロセスデータベースシステムから一般ワークフローに時系列データセットを検索する方法の統合を例示的且つ概略的に示す。
【発明を実施するための形態】
【0035】
実施形態の詳細な説明
図1は、工業プラント130のプロセスデータベースシステム131及び永続データベース140から時系列データセットを検索するためのコンピューティングデバイス120を含むデータ検索システム100を概略的且つ例示的に示す。
【0036】
概して、工業プラント130は、産業目的で使用される任意の技術基盤を指してもよい。産業目的は、1つ又は複数の産業製品の製造又は加工、即ち工業プラントにより実行される製造プロセス又は加工であってもよい。例えば、産業目的は、特定製品の生産を指してもよい。特定製品は、例えば化学、生物学、医薬、食品、飲料、織物、金属、プラスチック、又は半導体などの任意の物理的製品であってもよい。追加的又は代替的に、特定製品は、電気、暖房、空調、リサイクルなどの廃棄物処理、分解若しくは溶解などの化学処理、又は焼却なども含むサービス製品でさえあってもよい。それに応じて、工業プラント130は、化学プラント、プロセスプラント、製薬プラント、油井及び/又は天然ガス井などの化石燃料処理施設、製油所、石油化学プラント、分留所などのうちの1つ又は複数であってもよい。工業プラント130は、蒸留所、焼却炉、又は発電所のいずれかでさえあり得る。工業プラント130は、上記で与えられた例のいずれかの組み合わせでさえあり得る。
【0037】
生産プロセスを実行すべく、工業プラント130は、プロセス制御システムにより技術基盤に実装された制御パラメータにより制御可能な技術基盤を含んでいる。技術基盤は、熱交換器、分留塔などの塔、炉、反応室、接触分解ユニット、貯蔵タンク、沈殿器、パイプライン、スタック、フィルタ、バルブ、アクチュエータ、変換器、回路ブレーカ、機械類、例えばタービン、発電機、粉砕機、圧縮機、ファン、ポンプ、モータなどの回転重機のいずれか1つ又は複数のような機器又はプロセスユニットを含んでもよい。さらに、工業プラント130は、典型的には、技術基盤の動作パラメータを測定可能にする複数のセンサ132を含む。測定された動作パラメータは、次いで工業プラント130のプロセスデータベースシステム131上に記憶される。さらに、動作パラメータは、工業プラント130における生産プロセスを制御するためのプロセス制御システムによっても利用され得る。センサ132により測定された動作パラメータは、様々なプロセスパラメータ及び/又は機器若しくはプロセスユニットに関連するパラメータに関連し得る。例えば、センサはパイプライン内の流量、タンク内のレベル、炉の温度、ガスの化学組成などのプロセスパラメータの測定に用いられてもよく、いくつかのセンサはタービンの振動、ファンの速度、バルブの開度、パイプラインの腐食、変圧器の両端での電圧などの測定に用いられ得る。これらのセンサの差異は、検知するパラメータに基づくだけでなく、各々のセンサが用いる検知原理に基づく場合もある。検知するパラメータに基づくセンサのいくつかの例は、温度センサ、圧力センサ、光センサなどの放射センサ、流量センサ、振動センサ、変位センサ、及びガスなどの特定物質を検出する化学センサなどを含み得る。採用する検知原理が異なるセンサの例は、例えば、圧電センサ、圧電抵抗センサ、熱電対、静電容量センサ及び抵抗センサなどのインピーダンスセンサなどであってもよい。
【0038】
センサ132は、概して、時間依存データ値、即ち、それらがセンサ132によって測定されている特定の時間に関連付けられたデータ値を測定する。センサ132によって測定されたこれらの時間依存データ値を、時系列データセットの形式でプロセスデータベースシステム131上に記憶することが一般的である。プロセスデータベースシステム131は、例えば、時系列データセットを記憶するための専用ハードウェア及び/又はソフトウェアを含むストレージを指し得る。しかしながら、プロセスデータベースシステム131は、また、一般ストレージ又は、特に時系列データセットのストレージを許容する任意の他のコンピューティングシステムを指してもよい。プロセスデータベースシステム131上に記憶された各時系列データセットは、各時系列データセットの識別子だけでなく、任意選択的に各時系列データセットの時間依存データ値が測定されるセンサ132の識別子とみなされ得るタグに関連付けられる。さらに、各タグに関連付けられた各時系列データセットは、各時間依存データ値が測定された時間を示すタイムスタンプと共に記憶された時間依存データ値を含む。任意選択的に、各時系列データセットは、また、各時間依存データ値の測定の品質を示す各時間依存データ値についての品質値を含み得る。このように、プロセスデータベースシステム131は、好ましくは、工業プラント130のセンサ132毎に、新たな時間依存データ値がセンサ132によって測定される度に連続的に更新される、各時系列データセットを記憶する。それに応じて、センサ132によって提供される測定値間の各期間に基づいて、各時系列データセットは、異なるデータ密度を含む。例えば、温度センサは、1分毎に温度を測定することができ、よって1時間当たり60個のデータ値のデータ密度を含むことになり、圧力センサは、10分毎に圧力を測定してもよく、よって1時間当たり6個のデータ値のデータ密度を含むことになる。
【0039】
概して、工業プラント130は、工業プラント130によって行われる生産を管理及び制御するためのエンタープライズ制御システム110に統合され得る。工業プラント130の管理及び制御のために、検索されたデータが、エンタープライズ制御システム110のような他の専用の、且つ多くの場合より複雑な管理及び制御システムによってさらに処理され得るように、センサ132によってプロセスデータベースシステム131に提供される測定データを検索することが望ましいことが多い。プロセス制御システム131において提供された時系列データセットを検索するために、データ検索システム100が提供される。時系列データセットを検索した後、データ検索システム100は、次いで、例えば検索された時系列データセットをエンタープライズ制御システム110に提供するように適合され得る。データ検索システム100は、コンピューティングデバイス120及び永続データベース140を含む。コンピューティングデバイス120は、クエリ提供ユニット121、応答性スコア提供ユニット122、バルククエリ生成ユニット123、送信ユニット124、及び検索ユニット125を含む。
【0040】
クエリ提供ユニット121は、時系列データセットの時間依存データ値をリクエストするためのリクエストクエリを提供するように適合される。例えば、クエリ提供ユニット121は、ユーザがリクエストクエリを入力し得る入力ユニットに接続され得る。しかしながら、リクエストクエリは、また、別のコンピューティングシステムから、例えばクエリ提供ユニット121に各リクエストクエリを通信し得るエンタープライズ制御システム110から、リクエストの一部として提供されてもよく、クエリ提供ユニット121は、その後リクエストクエリを提供するように適合される。各リクエストクエリは、プロセスデータベースシステム131から検索される時系列データセットのそれぞれのリクエストされた時間依存データ値を示す。特に、検索されるリクエストされた時間依存データ値は、検索される各時間依存データ値に関連付けられた各リクエストタグを示すことにより、且つさらに時間依存データ値が検索される各期間を示すことにより、各リクエストクエリによって示され得る。各期間は、例えば、各時間依存データ値の各開始時間及び各終了時間を提供することによって示されてもよく、開始時間及び終了時間は、全ての時間依存データ値が検索される時間依存データ値に相関するタイムスタンプを示し得る。しかしながら、代替としてまた、各開始時間及び各開始時間から始まる期間が提供されてもよく、又は各終了時間及び各終了時間から遡る期間が、時間依存データ値が検索される期間を示すために提供され得る。概して、複数のリクエストクエリが、クエリ提供ユニット121によって提供される。
【0041】
応答性スコア提供ユニット122は、次いで、提供されたリクエストクエリについてのプロセスデータベースシステム131の応答性スコアを提供するように適合される。例えば、応答性スコア提供ユニット122は、永続データベース140から応答性スコアを検索すること及び応答性スコアを提供することによって応答性スコアを提供するように適合され得る。永続データベース140は、複数の応答性スコアを記憶するように適合されてもよく、各応答性スコアが各タグに関連付けられる。各応答性スコアは、それが関連付けられた各タグに関連するプロセスデータベースシステム131の予期した応答性を示す。好適な実施形態において、応答スコアは、各タグに関連付けられた時系列データセットのデータ密度を指し、データ密度が高いほど、プロセスデータベースシステムの予期した応答性は低いデータ密度よりも高く示される。プロセスデータベースシステムの応答性、即ち応答時間が、検索される時間依存データ値の量に線形的に関連することを、出願人は理解している。検索される時間依存データ値の量がデータ密度に直接的に関連するため、固定のクエリ時間フレームにおいて、データ密度が高いほど応答時間の増加をもたらし、それによってより高い応答性スコアを示す。しかしながら、別の実施形態では、追加的又は代替的に、応答性スコアは、各タグに関連付けられた時系列データセットの同期状態を指してもよい。概して、各時系列データセットの同期状態は、時系列データセットのどの時間依存データ値が既にプロセスデータベースシステム131から検索されているかを示す。例えば、同期状態は、時間依存データ値が既に検索されている以前のリクエストクエリの終了時間を指してもよい。したがって、同期状態は、まだ検索されなければならない時系列データセットの時間依存データ値の数を示す。それに応じて、タグに関連付けられた時系列データセットについてより多くの量の時間依存データを示す同期状態は、このタグに関連するプロセスデータベースシステム131の応答性がより低いことを示し、検索される時間依存データ値がより少量であると示す同期状態は、プロセスデータベースシステム131の応答性がより高いことを示す。さらに、応答性スコアは、また、特定のタグに関連するプロセスデータベースシステム131の応答性の実際の測定値から決定され得る。例えば、プロセスデータベースシステム131からの以前のデータ検索中の、各タグに関連付けられた時間依存データ値の検索中に、所定の期間、例えば、数分、数十分、数時間などの間検索された、タグに関連付けられた各時間依存データ値の量が測定され得る。所定の期間検索された時間依存データ値のこの測定された量は、次いで、各タグに関連付けられた応答性スコアとみなされ得る。この場合応答性が高いほど、各タグに関連するプロセスデータベースシステム131の応答性は高い。例えば永続データベース140からの、応答性スコア提供ユニット122によって提供される応答性スコアは、次いで、バルククエリ生成ユニット123に提供され得る。
【0042】
バルククエリ生成ユニット123は、次いで、応答性スコアに基づいてバルククエリを生成するように適合される。特に、各バルククエリが、提供されたリクエストクエリの1つ又は複数のリクエストされた時間依存データ値の少なくとも一部をリクエストするためのクエリを含むように、且つさらに全ての提供されたリクエストクエリの全てのリクエストされた時間依存データ値がバルククエリによってリクエストされるように、バルククエリが生成される。さらに、バルククエリのクエリに関連付けられた時間依存データ値の検索中に、事前設定可能な最大データポイントカウントを超えないようなクエリを、各バルククエリが含むように、バルククエリが生成されることが好ましい。事前設定可能な最大データポイントカウントは、例えば、クエリ検索においてプロセスデータベースシステム131から検索され得る時間依存データ値の最大量を指す。さらに、バルククエリの各クエリは、概して、1つのリクエストタグに関連付けられた時間依存データ値のみを指し得る。以下では、バルククエリがどのようにしてバルククエリ生成ユニット123によって生成され得るかについての例示的実施形態が、
図3に関連して提供される。
【0043】
図3は、第1の状態310において、複数のリクエストクエリの時間依存データ値を記号で示す。特に、バー311のような各バーは、タグに関連付けられた時間依存データ値を示し、バーの始まりは、リクエストクエリの開始時間を示し、バーの終わりは、リクエストクエリの終了時間を示す。この例では、全てのリクエストクエリの終了時間が同一であり、例えば、終了時間は、現在時間、即ち、時系列データセットの最近の時間依存データ値を指し得ることに留意されたい。しかしながら、他の例では、異なるリクエストクエリの終了時間が異なっていてもよく、やはり同一の原理が適用され得る。それに応じて、
図3に示される状態310は、リクエストされた時間依存データ値がプロセスデータベース131上に記憶される状態を概略的に指す。
【0044】
バルククエリを生成するために、バルククエリ生成ユニット123は、次いで、
図3に示される状態320につながる開始時間に従ってリクエストクエリをソートするように適合され得る。例えば、ソートは、直接的に開始時間に基づいてもよく、又はリクエストクエリによって示される各時系列データセットの同期状態に基づいてもよい。応答性スコアに基づいてバルククエリを生成するためにはるかに単純なルールが適用され得るため、リクエストクエリのソートは、バルククエリのはるかに容易且つ高速な生成を可能にする。バルククエリの生成は、次いで、バルククエリを生成するために所定のルールを適用することを含み得る。例えば、ルールは、例えば、クエリの最大数、及び従ってバルククエリに関連付けられ得るリクエストタグの最大数、バルククエリに関連付けられ得るクエリの最大長などの、各バルククエリの全般設定を示す設定可能なパーティショニングパラメータに基づき得る。状態320に示されるソートされたリクエストクエリに基づいて、バルククエリ生成ユニット123は、次いで、所定のルールに適用することによって、且つ任意選択的には設定可能なパーティショニングパラメータを適用することによって、各リクエストクエリのタグに関連付けられた応答性スコアに基づいて、第1のバルククエリ321を生成するように適合され得る。例えば、状態320において、バルククエリ321は、第1のリクエストクエリのタグに対応し、第1のリクエストクエリの開始時間を有するが、終了時間が第1のリクエストクエリを2つの部分に分割する、バルククエリ321のためのクエリを最初に生成することによって生成される。これは、例えば、超えてならないバルククエリのクエリ毎の最大長を示すパーティショニングパラメータに基づき得る。さらに、リクエストされた時間依存データ値の以前の検索において、例えばプロセスタイムアウトに起因して、バルククエリが失敗した場合、失敗したバルククエリは、再試行検索のために分割され、即ち、バルククエリを分割するクエリの終了時間が提供されてもよく、次いで、プロセスデータベースシステムに再び2つのバルククエリとして提供されてもよい。次いで、バルククエリ生成ユニット123は、次のリクエストクエリ、即ち次のリクエストタグなどに関連付けられたバルククエリ321のために次のクエリを生成するように適合され得る。好ましくは、この例で示されるように、バルククエリ321、322、323を生成するために生成された全てのクエリは、同一の開始時間、及び任意選択で同一の終了時間を含む。したがって、時間依存データ値がバルククエリ321、322、323においてリクエストされる少なくとも1つの他のリクエストクエリの開始時間後の開始時間を有する、リクエストクエリの時間依存データ値を検索するために、これらの時間依存データ値をリクエストするバルククエリのクエリは、各リクエストクエリとは別の開始時間を有する。このことは、重複データ324の検索につながり、重複データ324は、以前のリクエストクエリに関連して既に検索されており、したがって、例えば時間依存データ値の以前の検索の一部としてエンタープライズ制御システム110に既に提供されている時間依存データを指す。しかしながら、同一の開始時間及び任意選択で同一の終了時間を有するバルククエリ321、322、323の全てのクエリを生成することは、バルククエリの生成の計算コストがあまり高くないという利点、及びバルククエリの時間依存データ値がより有効に検索され得るという利点を有する。したがって、状態320において示されるように、リクエストクエリから、3つの異なるバルククエリ321、322、323が生成され、2つのバルククエリ321、323が、重複した時間依存データ値324を含む。
【0045】
バルククエリが生成された後、送信ユニット124は、バルククエリ321、322、323をプロセスデータベースシステム131に送信するように適合され得る。検索ユニット125は、次いで、バルククエリ321、322、323に応答してプロセスデータベースシステム131からバルククエリ321、322、323に関連付けられた時間依存データ値を検索するように適合される。例えば、
図3に示されるように、送信及び/又は検索は、プロセスデータベースシステム131の計算可能性に従ったバルククエリ321、322、323のソートを含み得る。例えば、
図3に示されるように、プロセスデータベースシステム131は、状態330に示されるように、複数のバルククエリを並列で処理するように適合され得る。バルククエリ321、322、323は、次いで、例えばプロセスデータベースシステム131の現在の処理及びキャパシティ状態にさらに基づいて、プロセスデータベースシステム131の各並列処理レーンにソートされ得る。検索された時間依存データ値が重複した時間依存データ値を含むことが分かる場合、検索された時間依存データ値を、例えばエンタープライズ制御システム110に提供する前に、既知の重複した、検索された時間依存データ値が除去され得る。例えば、各タグに関連付けられた現在検索された時間依存データ値の開始時間が、既に検索された時間依存データ値の終了時間と比較されてもよく、開始時間と終了時間との間の現在検索された時間依存データ値は、重複した時間依存データ値を指す可能性が非常に高いため、除去され得る。検索された時間依存データ値は、次いで、例えばエンタープライズ制御システム110によって、さらに処理又は記憶され得る。
【0046】
図2は、工業プラント130のプロセスデータベースシステム131から時系列データセットを検索するためにコンピュータ実施方法200を概略的且つ例示的に示す。第1のステップ210において、方法200は、時系列データセットの時間依存データ値をリクエストするためのリクエストクエリを提供することを含む。特に、リクエストクエリの提供は、リクエストクエリ提供ユニット121に関連する上記説明に従って実行され得る。次のステップ220において、方法200は、提供されたリクエストクエリについて、例えば応答性スコア提供ユニット122に関連して説明される原理及び方法にも従って、プロセスデータベースシステム131の応答性スコアを提供することを含む。第3のステップ230において、a)それぞれのバルククエリが、提供されたリクエストクエリの1つ又は複数のリクエストされた時間依存データ値の少なくとも一部をリクエストするためのクエリを含み、b)全ての提供されたリクエストクエリの全てのリクエストされた時間依存データ値がバルククエリによってリクエストされるように、応答性スコアに基づいてバルククエリが生成される。また、このステップは、例えば、バルククエリ生成ユニット123に関連して、且つ
図3に関連して上述した原理に従って、さらに実行され得る。続くステップ240において、バルククエリは、プロセスデータベースシステム131に送信され、ステップ250において、時間依存データ値がバルククエリに応答してプロセスデータベースシステム131から検索され、検索された時間依存データ値が、次いで、例えばエンタープライズ制御システム110に提供され得る。
【0047】
以下では、プロセスデータベースシステムから一般ワークフローに時系列データセットを検索するための方法の統合についてのさらなる例が、
図4に関連して説明される。
図4に示される第1のステップにおいて、タグ伝送進捗、即ち、タグに関連付けられた時系列データセットの同期状態が、学習済みヒストリアン挙動、即ちここでは「ヒストリアン」と称するプロセスデータベースシステムの応答性を示す応答性スコアと共に永続データベースから検索される。例えばタグ毎の検索された同期状態に基づいて、このタグについて既に検索されていない全ての時間依存データ値をリクエストするリクエストクエリは、自動的に生成され得る。これは、時間依存データ値が、例えばエンタープライズ制御システム110を最新に保つために可能な限り連続的に検索される場合において、特に有利である。したがって、次のステップでは、特に、生成されたリクエストクエリ、及び検索された応答性スコアに基づいてバルククエリを生成することによって、取得戦略が計算され得る。応答性スコアはここでは特定タグに関連するプロセスデータベースシステムの、測定された、即ち学習済みの応答性を指す。バルククエリは、次いでプロセスデータベースシステムに提供され、提供は、バルククエリを順番に配列することを含み得る。さらに、バルククエリの時間依存データ値の検索は、次いでこの例では、バルククエリ、即ちプロセスデータベースシステムによって提供されたワーカスレッドのバックグラウンドに関連するバルククエリのさらなるスケジューリング及び実行を含み得る。バルククエリのスケジューリング及び実行は、次いで、所定の中断基準が満たされるまで実行される。例えば、中断基準は、バルクリクエストに関連付けられた時間依存データ値の検索の完了を指してもよく、又はバルクリクエストの時間依存データ値の検索が失敗したことを示す失敗コードを指してもよい。例えば、実行中のバルクリクエストが終了したという中断基準が満たされた場合、バルククエリバックログは、学習済みヒストリアン挙動を適用するために破棄される。これは、例えば、現在のクエリサイクルの間にバルククエリを生成するために利用される応答性スコアが、より多くの現在の応答性スコア、例えば現在のクエリサイクルの間に測定されている応答性スコアで更新されることを意味する。プロセスは、その後、設定可能な時間量の間スリープするように適合されて、例えばプロセスデータベースシステム上の他のシステムからのリクエストを可能にしてもよく、その後同期状態及び応答性スコアを検索して改めて開始してもよい。バルククエリの実行中及び/又はバルククエリの実行の終了後の応答性スコアに関して、バルククエリに関連付けられたプロセスデータベースシステムのリクエストレーン、例えばワークスレッドがモニタリングされてもよく、各タグに関する所定の期間内のプロセスデータベースシステムから検索された時間依存データ値の量が、決定されてもよい。タグに関連して検索される時間依存データ値の量は、次いで、永続データベース上に応答性スコアとして記憶され得る。永続データベースから、この学習済み応答性スコアが次のバルククエリを生成するために検索され得る。
【0048】
概して、本発明では、リクエストクエリは、ある開始時間、終了時間、及びリクエストタグを有するリクエストとして定義される。この場合、データベース内のデータ同期状態を記憶するシステムがプログラムされ得る。さらに、システムは、以前記憶された同期状態をデータベースから連続的に読み出し、検索されたデータが最新でないと同期状態が示す、各タグのデータ密度を測定するようにプログラムされ得る。測定されたデータ密度は、各タグの応答性スコアを指すとみなされ得る。次のステップでは、最適クエリのシーケンス、即ちバルククエリが、最適化ヒューリスティックを用いて測定されたデータ密度、例えば応答性スコアに基づいて計算され得る。最適クエリのシーケンスが、次いで、現在のプロセスデータベースシステム負荷及び過去の不正行為/機能不全も考慮して、ある並列度で実施され得る。任意選択で、システムは、例えば失敗の理由を識別すること、及び適当な緩和戦略について決定することによって、知的なやり方で、失敗したリクエスト、即ちバルククエリに反応するようにプログラムされ得る。さらに、システムが連続的に学習し、それによってその取得戦略計算方法、即ちバルククエリを生成するために利用されるルールを更新し、それに応じて、例えばデータ密度の突然の増加を通知し、この情報を永続性のためにデータベースに記憶することが好ましい。
【0049】
上記実施形態では、検索された時間依存データ値は、エンタープライズ制御システムに提供されるが、他の実施形態では、検索された時間依存データ値は、さらなる記憶及び処理のために任意の他のコンピュータシステム又はストレージに提供され得る。例えば、検索された時間依存データ値が、工業プラントによって実行されるプロセスにわたる統計概要を取得するために、統計的に処理され得る。
【0050】
開示した複数の実施形態に対する他の変形は、図面、本開示、及び添付の請求項を研究して請求項に記載の発明を実施する当業者により理解及び実現され得る。
【0051】
請求項において、単語「含んでいる」は他の要素又はステップを排除せず、不定冠詞「a」又は「an」は複数性を排除しない。
【0052】
単一のユニット又はデバイスは、請求項に記載された複数の項目の機能を実現し得る。特定の手段が互いに異なる従属請求項で言及されているという事実だけでこれらの手段の組み合わせが有利に使用できないことを示すものではない。
【0053】
1つ又は複数のユニット又はデバイスによって実行される、リクエストクエリの提供、応答性スコアの提供、バルククエリの生成、バルククエリの送信、時間依存データ値の検索などのような手続は、任意の他の数のユニット又はデバイスによって実行され得る。これらの手順は、コンピュータプログラムのプログラムコード手段及び/又は専用ハードウェアとして実装することができる。
【0054】
コンピュータプログラム製品は、光記憶媒体及び固体媒体など、適当な媒体に保存/配布され、他のハードウェアと共に、又はその一部として供給されてよいが、他の形態、例えばインターネット又は他の有線/無線通信システムを介して配信されてよい。
【0055】
請求項におけるいかなる参照符号も本発明の範囲を限定するものと解釈するべきでない。
【0056】
本発明は、工業プラントのデータベースシステムから時系列データセットを検索する方法に関する。方法は、タグ並びにそれぞれの時系列データセットの開始時間及び終了時間を示すことによって時間依存データ値を示すリクエストクエリを提供することと、提供されたリクエストクエリについての応答性スコアを提供することであって、それぞれの応答性スコアが、タグに関連するプロセスデータベースシステムの予期した応答性を示す、提供することと、を含む。さらに、バルククエリは、時間依存データ値の少なくとも一部をリクエストするためのクエリを含んで応答性スコアに基づいて生成され、全ての提供されたリクエストクエリの全ての時間依存データ値が、バルククエリによってリクエストされる。バルククエリが送信され、時間依存データ値がプロセスデータベースシステムから検索される。これによって、データの有効で計算コストのかからないデータ検索が可能となる。
【国際調査報告】