JP5737696B2 - センサデータ収集システム - Google Patents

センサデータ収集システム Download PDF

Info

Publication number
JP5737696B2
JP5737696B2 JP2013158495A JP2013158495A JP5737696B2 JP 5737696 B2 JP5737696 B2 JP 5737696B2 JP 2013158495 A JP2013158495 A JP 2013158495A JP 2013158495 A JP2013158495 A JP 2013158495A JP 5737696 B2 JP5737696 B2 JP 5737696B2
Authority
JP
Japan
Prior art keywords
data
processing
rule
binary
acquired
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013158495A
Other languages
English (en)
Other versions
JP2015028742A (ja
Inventor
昭 森口
昭 森口
典子 高田
典子 高田
堅治 大倉
堅治 大倉
中村 雄一
雄一 中村
智揮 矢田
智揮 矢田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2013158495A priority Critical patent/JP5737696B2/ja
Priority to PCT/JP2014/062843 priority patent/WO2015015864A1/ja
Priority to US14/898,151 priority patent/US20160142493A1/en
Publication of JP2015028742A publication Critical patent/JP2015028742A/ja
Application granted granted Critical
Publication of JP5737696B2 publication Critical patent/JP5737696B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0116Measuring and analyzing of parameters relative to traffic conditions based on the source of data from roadside infrastructure, e.g. beacons
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0133Traffic data processing for classifying traffic situation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Traffic Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、センサ、ゲートウェイデバイス、データ収集サーバからなるセンサデータ収集システムに関するものである。
近年、様々な産業分野において、機器の自動制御・故障予兆検知を実現するため、機器やインフラに取り付けられたセンサからデータを収集・分析したいとするニーズが増大している。
例えば、車両エンジンに取り付けられた温度センサや荷重センサからデータを収集し、車両内の部品負荷を分析することで部品の交換時期を予測するといったニーズが存在する。
センサデータを分析し、故障予兆検知のようなデータ活用の方法を確立するためには、大量のセンサからデータを収集するサーバの負荷とデータ通信料を軽減するために、センサとサーバの中間の位置し、データのフィルタリングや加工、圧縮を行うゲートウェイ装置が必要となる。
また、データ分析の精度向上のために、収集するデータとその活用方法について仮説を立て、データを収集し、統計分析と検証を行い、検証結果に基づいて、仮説を組み直して再度データを収集するといった仮説検証のサイクルが必要であり、ゲートウェイ装置上のデータのフィルタリングや加工方法については、動的に更新できる必要がある。
下記の特許文献1には、多種多様な形式で送信されるセンサデータを、サーバから配信された変換ルールに基づき、ゲートウェイ上で統一されたフォーマットに変換することにより、センサデータを活用するアプリケーションの新規追加や拡張コストを抑制する方式が開示されている。
また、下記の特許文献2には、車両内のセンサから収集した交通情報を、車車間通信によって、複数車両間で集計し、サーバに送信することにより、サーバ負荷と通信量の軽減する方式が開示されている。
特開2012−164369号公報 特開2007−310733号公報
しかしながら、センサデータの効率的な収集を実現するためには、ゲートウェイの機能は、特許文献1記載のような収集したセンサデータの変換・加工だけでは不十分であり、異常値を検出した場合に即時にサーバにアラートを送信する異常検知機能、複数センサデータを圧縮することによる通信量削減機能、定時や位置等の送信時機を定義する機能が必要である。
異常検知機能が無ければ、緊急性の高いセンサデータをリアルタイムに収集することはできない。
また、データを圧縮する機能が無ければ、通信量の削減効果は弱く、さらに、送信時機を定義できなければ、大量にあるゲートウェイからサーバへの通信負荷を分散できない。よって、ゲートウェイはセンサデータの変換・加工・異常値検知・圧縮・送信時機を併せて設定可能でなければならない。
さらに、ゲートウェイは省リソースなデバイスである場合もあり、設定するルールが多くなれば、設定情報がメモリやストレージ容量を超過してしまうことも考えられる。
また、特許文献2に記載の方式では、各車両が共通のプロトコルで車車間通信が可能な車載通信デバイスを搭載している必要があり、利用シーンの限定される方式になっている。
本発明の目的は、データ収集サーバの負荷と通信量の軽減と、通信量を削減しながらも緊急性の高いデータに関してはリアルタイムにデータを収集可能とし、さらに緊急性の高いデータの収集のリアルタイム性確保のためにセンサデータの変換・加工・閾値判定・圧縮・送信時機の方法を記載するルール定義については、データ収集サーバから動的に更新可能とし、各ルール定義は、ゲートウェイデバイスが省リソースなデバイスであっても実行可能とするセンサデータ収集システムを提供することである。
上記目的を達成するために、本発明は、1ないし複数のセンサと、これらのセンサからデータを収集・変換・加工・閾値判定・圧縮し、任意の設定時機にデータ収集サーバへの送信が可能なゲートウェイデバイスと、ゲートウェイデバイスからセンサデータを収集するデータ収集サーバから構成され、当該データ収集サーバはセンサデータの変換・加工・閾値判定・圧縮・送信時機の設定をバイナリに圧縮し、ゲートウェイデバイスに送信する手段を備え、前記ゲートウェイデバイスは、バイナリに圧縮されたセンサデータの変換・加工・閾値判定・圧縮・送信時機の設定に従い、前記センサから収集したデータに対し、変換・加工・閾値判定・圧縮を実行し、設定された送信時機にデータ収集サーバにセンサデータを送信する手段を備えることを特徴とする。
本発明によれば、センサデータの変換・加工・閾値判定・圧縮・送信時機のルール定義を省リソースなゲートウェイデバイスにも広域ネットワークを介して設定可能となり、センサデータを収集するデータ収集サーバの負荷と通信量を軽減しつつ、緊急性の高いデータのリアルタイムな収集を実現できる。
本発明の実施形態におけるルール定義更新型のセンサデータ収集システムの構成図である 変換ルール定義の一例を示す図である。 加工ルール定義の一例を示す図である。 加工前閾値ルール定義の一例を示す図である。 加工後閾値ルール定義の一例を示す図である。 送信時機定義の一例を示す図である。 送信内容定義の一例を示す図である。 バイナリ定義テーブル群の構成を説明する図である。 変換ルールバイナリ構成テーブルの一例を示す図である。 データ種別ビット列テーブルの一例を示す図である。 バイトオーダービット列テーブルの一例を示す図である。 データ型ビット列テーブルの一例を示す図である。 変換方法ビット列テーブルの一例を示す図である。 最新値キャッシュの一例を示す図である。 加工データキャッシュの一例を示す図である。 データ格納部の一例を示す図である。 ルール定義の生成・配信処理を示すシーケンス図である。 ルールバイナリ生成処理を示すフローチャートである。 変換ルールバイナリの一例を示す図である。 センサデータの加工・送信処理を示すシーケンスである。 データ変換処理を示すフローチャートである。 データ加工処理を示すフローチャートである。 加工前閾値判定処理を示すフローチャートである。 加工後閾値判定処理を示すフローチャートである。 データ送信処理を示すフローチャートである。 送信データの一例を示す図である。 データ受信処理を示すフローチャートである。 加工ルール更新時のセンサデータ加工・送信処理を示すフローチャートである。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明に係るセンサデータ収集システムの実施形態を示すシステム構成図である。
本実施形態のセンサデータ収集システムは、大別すると、データ収集サーバ101とゲートウェイデバイス121と複数のセンサ141からなる。
収集サーバ101とゲートウェイデバイス121はインターネット等の広域ネットワーク151で接続され、ゲートウェイデバイス121とセンサ141はCAN(Controller Area Network)やZigbee(Zigbee Allianceの登録商標)、Wi−Fi(Wi−Fi Allianceの登録商標)のようなローカルネットワークで接続される。
例えば、車載センサの場合は、ゲートウェイデバイス121とセンサ141はCANによって接続され、ゲートウェイデバイス121からエンジン負荷やブレーキ状態のようなデータをデータ収集サーバ101に収集することによって、車の故障予兆診断などが可能になる。
データ収集サーバ101はセンサデータを収集・管理するサーバであり、ルール定義生成部109とルールバイナリ生成部110とルール定義配信部112とルール定義格納部108とバイナリ定義テーブル群111とデータ受信部113とデータ格納部114からなる。
ルール定義生成部109はデータ収集サーバ101の管理者によるUI(User Interface)を介した入力を受け、ゲートウェイデバイス121のセンサデータの変換方法、加工方法、加工済データの送信方法と送信時機、即時のデータ送信可否を判断するための閾値を変換ルール定義102、加工ルール定義103、送信内容ルール定義107、送信時機ルール定義106、加工前閾値ルール定義104、加工後閾値ルール定義105として、ルール定義格納部108に格納する。
加工前閾値ルール定義104と加工後閾値ルール定義105をそれぞれ用意しているのは、収集したデータに対する閾値判定とヒストグラム生成等の統計処理を行った後のデータに対する閾値判定を共に行うためである。例えば、エンジン冷却水温度では、90℃以上であれば即座に異常値と判定する場合と、1日間収集したデータの中で70℃以上の値を検知した回数が一定数以上であれば異常値と判定する場合がありうる。なお、サーバ側ルール定義格納部108には、XML(Extensible Markup Language)やテーブルのようなフォーマットにて、各種ルール定義が格納されている。
ルールバイナリ生成部110は、省リソースのゲートウェイデバイス121でもルール定義の格納可能とするために、サーバ側ルール定義格納部108から各種ルール定義を読み込み、バイナリ定義テーブル群111で設定されているバイナリ変換ルールに従い、ルール定義をルールバイナリに変換する。
ルール定義配信部112は、ルールバイナリ生成部110から受け取ったルールバイナリをゲートウェイデバイス121に配信する。
データ受信部113は、ゲートウェイデバイス121から受信したデータを、送信内容ルール定義107に従い、分解して、データ格納部114に格納する。
変換ルール定義102の一例を図2に示す。CAN ID201(Identifier)はCAN内に流れるセンサデータを一意に表すためのID(識別情報)である。CAN以外のネットワークの場合も、同様にセンサデータを一意に表すIDが入る。例えば、Zigbeeの場合では、センサに付与されているIDが入る。データ種別202は、エンジン冷却水温度やエンジン回転数等のセンサデータのセマンティクスを表す。ここで例示するCAN ID201「AAA」には、エンジン冷却水温度とエンジン回転数の二つのデータが紐付いているが、これは、CANでは、単一のCAN ID201を付与されている1パケットデータに複数データが含まれる場合があるためである。その他、センサデータのバイトオーダービット列1101、受信したパケット内の、目的とするデータの開始位置204とデータ長205、ゲートウェイデバイス121上のプログラミング言語におけるデータ型206、変換回数207、変換方法208、変換処理の引数209が格納される。CANのようなセンサネットワークでは、データサイズ削減のため、送信するデータの値を除算してから送信する場合や、異なる単位系であらわされた値を送信する場合もありうる。
図2の場合であれば、エンジン冷却水温度を、絶対温度で表現し、かつ、桁数削減のため「5」で除算してから送信しているため、「5」を乗算し、「273」を減算する必要がある。
加工ルール定義103の一例を図3に示す。加工ルール定義103には、データ種別202、加工済データを一意に識別するための加工データID301、加工データのデータ長302、加工回数303、加工方法304、加工処理の引数305が格納される。
図3のエンジン冷却水温度のように、単一のデータ種別202のセンサデータに対し、複数の加工処理を行う場合もありうる。加工データ「D01」の加工処理では、取得したエンジン冷却水温度に対し、別のセンサ141から取得した外気温を減じたのち、ヒストグラムを生成する。
また、加工データ「D02」の加工処理では、600秒間でのエンジン冷却水温度の最大値を求める。また、加工データ「D04」の場合では、取得したOn/Offのデータに、取得時刻を付与し、さらに、これまで取得した加工済データに対し、時刻付与後のデータを連結する。
また、加工データ「D05」の場合では、取得した走行時間と、これまでに取得した走行時間との合計値を求める。また、可変データが可変長の場合は、データ長302に「可変長:2」のようにヘッダに可変長を示す文字列とデータ長を表すためのバイト数が付与される。
加工前閾値ルール定義104の一例を図4に示す。
加工前閾値ルール定義104には、閾値判定の条件数401、閾値超過した場合の送信方法を一意に表す送信定義ID402、データ種別202、閾値判定の条件403、閾値404が格納される。この例の場合、取得したエンジン冷却水温度が閾値「80」より大きく(条件)、かつエンジン回転数が閾値「4000」より小さければ(条件)、データ送信処理により、データを送信するという定義になっている。
加工後閾値ルール定義105の一例を図5に示す。加工後閾値ルール定義105には、閾値判定の条件数501、閾値超過した場合の送信方法を表す送信定義ID402、加工データID301、閾値判定の条件502、標準値503、閾値504が格納される。標準値503は、条件502に記載された閾値判定方法において、加工データとの比較に用いられる。例えば、条件502がヒストグラム相関の場合、標準値503には正常なヒストグラムが格納され、加工データとの比較に利用される。
送信時機ルール定義106の一例を図6に示す。
送信時機ルール定義106には、送信時機601、送信時機の引数602、送信時機601記載の時機になった場合に送信するデータを定義する送信定義ID402が格納される。例えば、送信時機601が定時の場合は、引数602記載の時刻(この例では10時)にデータ送信が行われる。また、送信時機601が周期の場合は、引数602記載の時刻が経過(この例では86400秒経過)するたびにデータ送信が行われ、送信時機601が位置変化の場合、引数602記載の距離(この例では100Km)移動するたびにデータ送信が行われる。
送信内容ルール定義107の一例を図7に示す。
送信内容ルール定義107には、送信定義ID402、送信データ数701、送信する加工データ1501を指定する送信内容702、及び送信時に加工データ1501を削除するか否かを表すキャッシュ削除フラグ703が格納される。
例えば、送信定義ID402が「P00」の場合、ゲートウェイデバイス121は、加工データID301が「D01」「D02」「D03」「D04」の加工データ1501を連結し、データ収集サーバ101に送信した後、送信した加工データをストレージから削除する。
バイナリ定義テーブル群111の構成を図8に示す。
バイナリ定義テーブル群111は、各ルール定義をルールバイナリに変換するためのビット列構成を定義するテーブルであり、変換ルール用バイナリ定義テーブル群801、加工ルール用バイナリ定義テーブル群811、加工前閾値判定ルール用バイナリ定義テーブル群821、加工後閾値判定ルール用バイナリ定義テーブル群831、送信内容ルール用バイナリ定義テーブル群841、送信時機ルール用バイナリ定義テーブル群851からなる。
変換ルール用バイナリ定義テーブル群801は、変換ルールバイナリ123のビット列配置を定義する変換ルールバイナリ構成テーブル802、変換ルール定義102の項目をビット列に変換するためのデータ種別ビット列テーブル803、バイトオーダービット列テーブル804、変換方法ビット列テーブル805から構成される。
CAN ID201や開始位置204のように変換ルール定義102中の値をそのままビット列に変換すればよい場合は、ビット列テーブルは作成不要である。また、図8中には記載していないが、他のバイナリ定義テーブル群111も変換ルール用バイナリ定義テーブル群801と同様にルールバイナリのビット列配置を定義するテーブルと、ルール定義中の項目をビット列に変換するためのテーブルを持つ。
変換ルールバイナリ構成テーブル802の一例を図9に示す。
変換ルールバイナリ構成テーブル802は、バイナリ中に項目を配置する順番を表すインデックス901と、変換方法208と引数209のように項目が複数存在する場合にその順番を表すサブインデックス902と、変換ルール定義102中の項目名903、データ長904、ビット列変換方法208が指定されているビット列テーブル名905を持つ。
変換ルール定義102の各項目は、それぞれデータ長904のビット列に変換され、インデックス901とサブインデックス902で指定された順番に連結される。
データ種別ビット列テーブル803を図10に示す。
データ種別ビット列テーブル803は、データ種別202とデータ種別ビット列1001からなる。ルールバイナリ生成部110は、本テーブルに従い、データ種別202をビット列に変換する。
その他、バイトオーダービット列テーブル804、データ型ビット列1201テーブル、変換方法ビット列テーブル805の例をそれぞれ、図11、図12、図13に示す。
データ種別ビット列テーブル803と同様に、ルールバイナリ生成部110は、変換ルール定義102の各項目をビット列に変換する。
ゲートウェイデバイス121は、センサ141から収集したデータを変換、加工し、データ収集サーバ101に送信するデバイスであり、ルール定義受信部122、ルールバイナリ格納部129、データ収集部130、データ変換部131、データ加工部132、閾値判定部133、データ送信部139、データキャッシュ136から構成される。
ルール定義受信部122は、データ収集サーバ101から受信した各種ルールバイナリをルールバイナリ格納部129に格納する。
ルールバイナリ格納部129には、変換ルールバイナリ123、加工ルールバイナリ124、加工前閾値ルールバイナリ125、加工後閾値ルールバイナリ126、送信時機ルールバイナリ127、送信内容ルールバイナリ128が格納され、それぞれ、変換ルール定義102、加工ルール定義103、加工前閾値ルール定義104、加工後閾値ルール定義105、送信時機ルール定義106、送信内容ルール定義107が、ルールバイナリ生成部110によって、バイナリ変換されたものである。
データ収集部130は、センサ141から収集したデータをデータ変換部131に渡す。
データ変換部131は、データ収集部130から受け取ったセンサデータに含まれる値を、変換ルールバイナリ123に従い、汎用的な値に変換して、データキャッシュ136に格納し、データ加工部132と閾値判定部133に通知する。対応する変換ルールバイナリ123が存在しない場合、センサデータは不要データとして、破棄される。
データ加工部132は、データ変換部131から通知を受け取った後、データキャッシュ136からデータを取得する。取得したデータを加工ルールバイナリ124に従い、データキャッシュ136に格納されている既存の加工データ1501と併せて、ヒストグラム生成や最大値判定等の加工処理を行った後、再度、データキャッシュ136に値を格納する。
閾値判定部133は、加工前閾値判定部134と加工後閾値判定部135からなり、加工前閾値判定部134は、加工前閾値ルールバイナリ125に従い、データ変換部131から通知を受け取った後、データキャッシュ136から取得したデータの閾値超過を判定する。
加工前閾値ルールバイナリ125が、図4に示した加工前閾値ルール定義104から生成されており、閾値判定に必要なデータ種別202が複数存在する場合は、データキャッシュ136から対応する最新値1401を取得して、閾値判定を行う。
加工後閾値判定部135は、加工後閾値ルールバイナリ126に従い、データ加工部132から取得した加工データ1501の閾値超過を判定する。加工後閾値判定も加工前閾値判定と同様に、閾値判定に必要な加工データ1501が複数存在する場合は、データキャッシュ136から対応する加工データ1501を取得して、閾値判定を行う。
閾値判定部133は、いずれも閾値超過があった場合、データ送信部139にデータ送信を依頼する。
データ送信部139は、送信時機ルールバイナリ127に従い、送信時機601を監視し、送信時機601に達した時、データ収集サーバ101に対し、加工データ1501を送信する。
データキャッシュ136は、最新値1401を格納する最新値キャッシュ137と、加工データ1501を格納する加工データキャッシュ138からなる。
最新値キャッシュ137の一例を図14に示す。
最新値キャッシュ137には、データ種別202とその最新値1401が格納されており、データ加工部132がデータを受け取る度に対応するデータ種別202の最新値1401が更新される。
加工データキャッシュ138の一例を図15に示す。
加工データキャッシュ138には、加工データID301と加工データ1501、データ長302が格納されており、データ加工部132がデータを受け取る度に読込みと更新が行われる。
例えば、加工データID301「D01」は、データ加工ルール定義103で、加工方法304として外気温による減算とヒストグラムが設定されており、ヒストグラムの引数305として、間隔20、基準値0を表す「20/0」が設定されているため、値0から20℃間隔でエンジン冷却水温度から外気温を引いた値を集計したヒストグラムが格納される。
データ格納部114の一例を図16に示す。
データ格納部114には、ゲートウェイデバイス121から収集した加工データID301、データ種別202、加工データ1501、データを収集した時刻を表すタイムスタンプ1602が格納されており、デバイスの状態可視化や統計分析に活用される。
ルール定義の生成・配信処理を説明するシーケンスを図17に示す。
ルール定義生成部109が、UIからの入力を受けて、ルール定義を生成する。既にルール定義が存在する場合は更新する(ステップ1701)。
ルール定義生成部109が、ステップ1701で生成したルール定義をルール定義格納部108に格納し、ルールバイナリ生成部110に対し、ルールバイナリ生成要求を出す(ステップ1702)。
ルールバイナリ生成部110が、ステップ1702で格納されたルール定義を取得し、バイナリ定義テーブル群111に記載されたバイナリ変換方法208を元に、ルール定義をルールバイナリに変換し、ルール定義配信部112にルール定義配信要求を出す(ステップ1703)。ルール定義のルールバイナリへの変換処理は図18にて詳細に説明する
ルール定義配信部112が、ルール定義受信部122にルール定義生成・更新通知を出す(ステップ1704)。通知は、SMSやLongPollingによって行われる。本ステップは、生成したルール定義を即時にゲートウェイデバイス121に反映するためのものであり、即時性を必要としない場合では、本ステップは不要である。
ルール定義受信部122が、ルールバイナリ配信要求をルール定義配信部112に出す(ステップ1705)。
ルール定義配信部112は、ステップ1703で生成したルールバイナリをルール定義受信部122に送信する(ステップ1706)。
ルール定義受信部122は、ステップ1706で受信したルールバイナリをルールバイナリ格納部129に格納する(ステップ1707)。
図18に、ステップ1703における変換ルールバイナリ123の生成処理のフローチャートを示す。他のルールバイナリについても本フローチャートと同様の処理が行われる。
まず、変数nに0を格納する。nはバイナリ生成処理中の変換ルール定義102の行を表す。後述するステップ1805でインクリメントされ、変換ルール定義102の最終行までルールバイナリ生成処理を繰り返す(ステップ1801)。
次に、変数mに0を格納する。mは変換ルールバイナリ構成テーブル802のインデックス901に対応し、変換処理中の変換ルール定義102の項目を表す。後述するステップ1821でインクリメントされ、変換ルール定義102の全項目に対して、ルールバイナリ生成処理を行う(ステップ1802)。
この後、変換ルールバイナリ構成テーブル802からインデックス901がmのレコードを読み込む。図9の場合、mが0の時は、項目名903「CAN ID201」のレコードが読み込まれる(ステップ1803)。
ステップ1803において、レコードが存在する場合、ステップ1806に進み、存在しない場合、ステップ1805に進む。図9の例の場合は、mが0〜7の時、レコードが存在するため、ステップ1806に進み、mが8の時、変換ルール定義102の次の行のルールバイナリ生成に移る(ステップ1804)。
次に、nをインクリメントして、ステップ1802に戻る(ステップ1805)。
ステップ1803で取得したレコードのサブインデックス902がnullの場合は、ステップ1807に進み、サブインデックス901に値が格納されている場合は、1レコードに複数存在する項目として、ステップ1808以降の処理を行う。
図9の例の場合、mが0〜6の時はサブインデックス902がnullであり、項目名903で指定される項目が変換ルール定義102に1回しか登場しないことを表す。また、mが7のときは、サブインデックス902に値が格納されており、項目「変換方法208」と「引数209」が変換ルール定義102に複数回登場することを表す(ステップ1806)。
次に、変換ルール定義102のn行目のレコードからステップ1803で取得した変換ルールバイナリ構成テーブル802の項目名903と同一のカラム名の値を取得する。例えば、n=0、m=0の場合、図2の変換ルール定義102の0行目のレコードから、図9の変換ルールバイナリ構成テーブル802のインデックス9010の項目名903「CAN ID201」のカラムの値である「AAA」が取得される(ステップ1807)。
次に、変数lに0を格納する。lは変換ルール定義102に複数回登場する項目の順番を表す値であり、ステップ1812でインクリメントされ、項目の登場回数分、ステップ1809からステップ1820の処理を繰り返す(ステップ1808)。
次に、変数iに0を格納する。iは変換ルールバイナリ123生成処理の対象となっている変換ルールバイナリ構成テーブル802のサブインデックス902の値を表す値であり、ステップ1820でインクリメントされ、複数回登場する項目の数だけ、ステップ1810からステップ1819の処理を繰り返す(ステップ1809)。
次に、変換ルールバイナリ構成テーブル802から、インデックス901m、サブインデックス902iのレコードを取得する(ステップ1810)。
次にステップ1810で、レコードが存在した場合は、ステップ1813に進み、存在しなかった場合は、ステップ1814に進む。例えば、m=7、i=0の場合は、ステップ1809で、変換ルールバイナリ構成テーブル802にインデックス901「7」とサブインデックス902「0」のレコードが存在するため、ステップ1813に進み、m=6、i=0の場合は、変換ルールバイナリ構成テーブル802に対象となるレコードが存在しないため、ステップ1812に進む。
次に、変数lをインクリメントして、ステップ1809に戻る(ステップ1812)。
次に、変換ルール定義102のn行目のレコードから、ステップ1810で取得したレコードの項目名903とlの連結文字をもつカラムの値を取得する。n=0、m=7、l=0の場合は、図2の変換ルール定義102の0行目のレコードの、「変換方法0 208−1」のカラムから「乗算」を取得する(ステップ1813)。
ステップ1813で、カラムが存在し、値が取得できた場合は、ステップ1815に進み、対象となるカラムが存在しなかった場合は、ステップ1821に進む。例えば、m=7、i=0、l=0の場合は、変換ルール定義102に「変換方法0 208−1」のカラムが存在し、ステップ1813で値を取得できるため、ステップ1815に進む。
また、m=7、i=0、l=2の場合、変換ルール定義102に「変換方法2083」のカラムは存在しないため、ステップ1821に進む(ステップ1814)。
ステップ1803、もしくはステップ1810で取得した変換ルールバイナリ構成テーブル802のバイナリテーブル名の値がnullであれば、ステップ1816に進み、バイナリテーブル名にnull以外の値が格納されていれば、バイナリテーブルによる変換を行うため、ステップ1817に進む(ステップ1815)。
ステップ1807、もしくはステップ1813で取得した、変換ルール定義102に格納されている値を変換ルールバイナリ123に後置連結する(ステップ1816)。
変換ルールバイナリ123の一例を図19に示す。
変換ルール定義102に記載された「CAN ID201」、「データ種別202」、「バイトオーダービット列1101」、「開始位置204」、「データ長205」、「データ型206」、「変換回数207」、「変換方法0 208−1」、「引数0 209−1」、「変換方法1 208−2」、「引数1 209−2」がビット列に変換され、連結されている。
図19の例は、変換ルール定義102の1行目を変換したものであり、変換ルール定義102の1行目記載のCAN ID201「AAA(16進数)」はビット列「1010101010101010」として、変換ルールバイナリ123に連結されている。また、データ種別202「エンジン冷却水温度」は図10のデータ種別ビット列テーブル803でビット列「0x00」に変換され、変換ルールバイナリ構成テーブル802記載のデータ長904に直されて、ビット列「00000000」として連結されている。
次に、ステップ1807、もしくはステップ1813で取得した、変換ルール定義102に格納されている値を、ステップ1803、もしくはステップ1810で取得した変換ルールバイナリ構成テーブル802のバイナリテーブル名記載のテーブルで変換する。例えば、変換ルール定義102からデータ種別202「エンジン冷却水温度」を取得した場合、図10のデータ種別ビット列テーブル803803で「エンジン冷却水温度」に対応するデータ種別ビット列1001「0x00」に変換する(ステップ1817)。
次に、ステップ1817で変換した値を、変換ルールバイナリ123に後置連結する。このとき、データ長は、変換ルールバイナリ構成テーブル802のデータ長904の値に従う。例えば、項目名903がデータ種別202の場合、ビット列「0x00」を8ビット「00000000」として、変換ルールバイナリ123に後置連結する(ステップ1818)。
次に、ステップ1804で取得したレコードのサブインデックス902の値が、nullではない場合は、次のサブインデックス902の項目を変換するため、ステップ1820に進む。また、ステップ1804で取得したレコードのサブインデックス902の値が、nullである場合は、次のインデックス901の項目を変換するため、ステップ1821に進む(ステップ1819)。
次に、変数iをインクリメントして、ステップ1810に戻る(ステップ1820)。
次に、変数mをインクリメントして、ステップ1802に戻る(ステップ1821)。
センサデータの加工・送信処理を説明するシーケンス図を図20に示す。
まず、データ収集部130が、センサ141からデータを受信し、データ変換部131に渡す(ステップ2001)。
次に、データ変換部131が、データ収集部130から受け取ったデータを、データ変換ルールバイナリ123記載の変換ルールに従って変換し、最新値キャッシュ137に格納し、加工前閾値判定部134とデータ加工部132にデータの項目名903を通知する(ステップ2002)。データ変換処理の詳細は、図21にて説明する。
次に、加工前閾値判定部134が、データ変換部131から受け取った通知に含まれる項目名903のデータを最新値キャッシュ137から取得し、加工前閾値バイナリ記載の閾値ルールに従って閾値判定を行う(ステップ2003)。加工前閾値判定処理の詳細は、図22にて説明する
次に、ステップ2003で、閾値超過した場合は、データ送信部139に送信定義ID402を通知して、ステップ2008に進み、閾値超過しなかった場合は、処理を終了する(ステップ2004)。
次に、データ加工部132が、データ変換部131から受け取った通知に含まれる項目名903のデータを最新値キャッシュ137から取得し、加工ルールバイナリ124記載の加工ルールに従って加工処理を行い、加工データキャッシュ138に格納し、加工後閾値判定部135にデータの加工データID301を通知する(ステップ2005。データ加工処理の詳細は、図23にて説明する)
次に、加工後閾値判定部135が、データ加工部132から受け取った通知に含まれる加工データID301のデータを加工データキャッシュ138から取得し、加工後閾値ルールバイナリ126記載の閾値ルールに従って閾値判定を行う(ステップ2006)。加工後閾値判定処理の詳細は、図24にて説明する。
ステップ2006で、閾値超過した場合は、データ送信部139に送信定義ID402を通知して、ステップ2008に進み、閾値超過しなかった場合は、処理を終了する(ステップ2007)。
次に、データ送信部139が、加工前閾値判定部134、もしくは加工後閾値判定部135から受け取った送信定義ID402に対応する送信内容ルールバイナリ128記載の送信ルールに従い、データをデータ受信部113に送信する。また、送信時機ルールバイナリ127記載の送信時機601になった時、同様に送信内容ルールバイナリ128定義の送信ルールに従い、データをデータ受信部113に送信する(ステップ2008)。データ送信処理の詳細は、図25にて説明する。
次に、データ受信部113が、データ送信部139から受信したデータを、各種ルール定義記載のルールに従って分解し、データ格納部114に格納する(ステップ2009)。データ格納処理の詳細は図26にて説明する。
図21に、ステップ2002のデータ変換処理のフローチャートを示す。
まず、データ収集部130から取得したCANデータを、CAN ID201とデータバイナリに分解する(ステップ2101)。
次に、ルールバイナリ格納部129からステップ2101で取得したCAN ID201と一致する変換ルールバイナリ123を全て取得する。例えば、CAN ID201が「AAA」の場合、変換ルール定義102の1、2行目に記載のルール定義から生成された変換ルールバイナリ123が取得される(ステップ2102)。
次に、ステップ2102で取得したデータ変換バイナリの、バイトオーダービット列1101ビット列で指定されているバイトオーダービット列1101でデータバイナリを読み込む。CAN ID201が「AAA」の場合、バイトオーダービット列1101ビット列は全てリトルエンディアンを表す「1」であり、リトルエンディアンとして、データバイナリを読み込む(ステップ2103)。
次に、変数nに1を代入する。nは変換ルールバイナリ123の順番を表す(ステップ2104)。
次に、n番目の変換ルールバイナリ123から開始位置204とデータ長205を取得する。図2の変換ルール定義1021行目のルール定義から生成された変換ルールバイナリ123の場合、開始位置204として「0」、データ長205として「8」が取得される(ステップ2105)。
次に、ステップ2103で読み込んだデータバイナリの、ステップ2105で取得した開始位置204からデータ長205分のビット列を取得する(ステップ2106)。
次に、ステップ2106で取得したビット列を、n番目の変換データバイナリのデータ型ビット列1201で指定されているデータ型206に変換する。図2の変換ルール定義1021行目のルール定義から生成された変換ルールバイナリ123の場合に、取得したビット列が「00111100」とすると、データ型206「int16」として「60」に変換される(ステップ2107)。
次に、n番目の変換ルールバイナリ123から変換回数207を取得する。図2の変換ルール定義1021行目のルール定義から生成された変換ルールバイナリ123の場合、変換回数207「2」が取得される(ステップ2108)。
次に、変数mに1を代入する。mは変換の順番を表し、ステップ2108で取得した変換回数207になるまでインクリメントされる(ステップ2109)。
次に、ステップ2107でデータ型206を変換したデータ、もしくは本ステップで変換したデータに対し、n番目の変換ルールバイナリ123のm番目の変換方法ビット列1301で指定されている変換処理を行う。ステップ2107の例の場合、mが0の時に、データ「60」に対し、「5」を乗算、mが1の時に、「273」を減算し、データ「27」を得る(ステップ2110)。
次に、mがステップ2108で取得した変換回数207未満の場合、ステップ2112に進み、変換回数207以上の場合、ステップ2113に進む(ステップ2111)。
次に、変数mをインクリメントして、ステップ2110に戻る(ステップ2112)。
次に、ステップ2110で変換したデータを、データ種別202と共に最新値キャッシュ137に格納する(ステップ2113)。
次に、ステップ2110で変換したデータのデータ種別202を、加工前閾値判定部134とデータ加工部132に通知する(ステップ2114)。
次に、nがステップ2102で取得した変換ルールバイナリ123数未満の場合、ステップ2116に進み、変換ルールバイナリ123数以上の場合、データ変換処理を終了する(ステップ2115)。
次に、変数nをインクリメントして、ステップ2105に戻る(ステップ2116)。
図22に、ステップ2005のデータ加工処理のフローチャートを示す。
まず、図21のデータ変換処理から通知されたデータ種別202を持つデータを最新値キャッシュ137から取得する。通知されたデータ種別202が「エンジン冷却水温度」の場合、最新値キャッシュ137から「60」が取得される(ステップ2201)。
次に、データ変換処理から通知されたデータ種別202を持つ加工ルールバイナリ124を全て取得する。データ種別202が、「エンジン冷却水温度」の場合、図3の加工ルール定義103の1、2行目から生成された加工ルールバイナリ124が取得される(ステップ2202)。
次に、変数nに1を代入する。nはステップ2202で取得した加工ルールバイナリ124の数だけインクリメントされる(ステップ2203)。
次に、n番目の加工ルールバイナリ124から加工回数303を取得する。例えば、図3の加工ルール定義103の1行目から生成された加工ルールバイナリ124の場合、加工回数303「2」が取得される(ステップ2204)。
次に、変数mに1を代入する。mはステップ2204で取得した加工回数303だけインクリメントされる(ステップ2205)。
次に、n番目の加工ルールバイナリ124からm番目の引数ビット列を取得し、引数値に変換する。例えば、図3の加工ルール定義103の1行目から生成された加工ルールバイナリ124の場合、mが0の時、「データ種別202:外気温」を取得・変換し、mが1の時、「200/0」を取得・変換する(ステップ2206)。
ステップ2206で取得した引数305がデータ種別202である場合は、ステップ2208に進み、データ種別202以外である場合は、ステップ2209に進む(ステップ2207)。
次に、引数305記載のデータ種別202の値を最新値キャッシュ137から取得する。例えば、ステップ2206で「データ種別202:外気温」が取得された場合、図14の最新値キャッシュ137から「17」が取得される(ステップ2208)。
次に、ステップ2201で取得したデータ、もしくは本ステップで加工したデータに対し、ステップ2206、もしくはステップ2207で取得した引数値を用いて、n番目の加工ルールバイナリ124のm番目の加工方法ビット列で指定された加工処理を行う。n=0、m=0の時、加工方法304は「減算」であり、ステップ2207で取得した外気温「17」をエンジン冷却水温度の最新値1401「60」から減算し、「43」を得る。さらに、m=1の時、「43」を「ヒストグラム」に加える(ステップ2209)。
mがステップ2204で取得した加工回数303未満の場合、ステップ2211に進み、加工回数303以上の場合、ステップ2212に進む(ステップ2210)。
次に、mをインクリメントして、ステップ2206に戻る(ステップ2211)。
次に、ステップ2209で加工したデータを加工データキャッシュ138に格納し、加工後閾値判定部135に通知する。加工データキャッシュ138のデータ長302に何も格納されていない場合は、n番目の加工ルールバイナリ124のデータ長302を共に格納する(ステップ2212)。
nがステップ2202で取得した加工ルールバイナリ124数未満の場合、ステップ2214に進み、加工ルールバイナリ124数以上の場合、データ加工処理を終了する(ステップ2213)。
最後に、nをインクリメントしてステップ2204に戻る(ステップ2214)。
図23に、ステップ2003の加工前閾値判定処理のフローチャートを示す。
まず、データ変換部131から通知されたデータ種別202を持つ加工前閾値ルールバイナリ125を全て取得する。通知されたデータ種別202が「エンジン冷却水温度」の場合、図4の加工前閾値ルール定義104の1行目のレコードから生成された加工前閾値ルールバイナリ125が取得される(ステップ2301)。
次に、変数nに1を代入する。nは加工前閾値ルールバイナリ125の数だけインクリメントされる(ステップ2302)。
次に、ステップ2301で取得したn番目の加工前閾値ルールバイナリ125から条件数401を取得する(ステップ2303)。
次に、変数mに1を代入する。mは閾値判定の条件403の数だけインクリメントされる。図4の加工前閾値ルール定義104の1行目から生成された加工前閾値ルールバイナリ125からは、「2」が取得される(ステップ2304)。
次に、n番目の加工前閾値ルールバイナリ125からm番目のデータ種別202を取得する。m=0の時、「エンジン冷却水温度」が取得され、m=1の時、「エンジン回転数」が取得される(ステップ2305)。
次に、ステップ2305で取得したデータ種別202の値を最新値キャッシュ137から取得する。データ種別202が「エンジン冷却水温度」の場合、図14の最新値キャッシュ137から「60」が取得される(ステップ2306)。
次に、n番目の加工前閾値ルールバイナリ125から、m番目の条件403と閾値404を取得し、閾値判定を行う(ステップ2307)
ステップ2307の閾値判定で閾値超過だった場合、ステップ2310に進み、閾値超過でない場合は、ステップ2311に進む。図4の加工前閾値ルール定義104から生成された加工前閾値ルールバイナリ125の場合、「エンジン冷却水温度」が「80」よりも大きい場合、ステップ2310に進む(ステップ2308)。
次に、mがステップ2303で取得した条件数401未満の場合はステップ230に進み、条件数401以上の場合はステップ2309に進む(ステップ2309)。
次に、mをインクリメントして、ステップ2305に戻る(ステップ2310)。
n番目の加工前閾値ルールバイナリ125から送信定義ID402を取得し、データ送信部139に渡す(ステップ2311)。
nがステップ2301で取得した加工前閾値ルールバイナリ125の数未満の場合、ステップ2313に進み、加工前閾値ルールバイナリ125の数以上の場合、加工前閾値判定処理を終了する(ステップ2312)。
最後に、nをインクリメントして、ステップ2303に戻る(ステップ2313)。
図24に、ステップ2006の加工後閾値判定処理のフローチャートを示す。
まず、データ加工部132から通知された加工データID301を持つ加工後閾値ルールバイナリ126を全て取得する。通知された加工データID301が「D01」の場合、図5の加工後閾値ルール定義105の1行目のレコードから生成された加工後閾値ルールバイナリ126が取得される(ステップ2401)。
次に、変数nに1を代入する。nは加工後閾値ルールバイナリ126の数だけインクリメントされる(ステップ2402)。
ステップ2401で取得したn番目の加工後閾値ルールバイナリ126から条件数501を取得する(ステップ2403)。
次に、変数mに1を代入する。mは閾値判定の条件502の数だけインクリメントされる。図5の加工後閾値ルール定義105の1行目から生成された加工後閾値ルールバイナリ126からは、「1」が取得される(ステップ2404)。
次に、n番目の加工後閾値ルールバイナリ126からm番目の加工データID301を取得する。m=0の時、「D01」が取得される(ステップ2405)。
次に、ステップ2405で取得した加工データID301の値を加工データキャッシュ138から取得する(ステップ2406)。
次に、n番目の加工後閾値ルールバイナリ126から、m番目の条件502と標準値503、閾値504を取得し、閾値判定を行う。条件502が「ヒストグラム相関」の場合、加工データキャッシュ138内のヒストグラムと標準値503に格納されているヒストグラムの相関係数を求め、閾値超過を判定する(ステップ2407)。
ステップ2405の閾値判定で閾値超過だった場合、ステップ2409に進み、閾値超過ではなかった場合は、ステップ2410に進む(ステップ2408)。
mがステップ2403で取得した条件数501未満の場合はステップ2410に進み、条件数501以上の場合はステップ2411に進む(ステップ2409)。
次に、mをインクリメントして、ステップ2405に戻る(ステップ2410)。
次に、n番目の加工後閾値ルールバイナリ126から送信定義ID402を取得し、データ送信部139に渡す(ステップ2411)。
次に、nがステップ2401で取得した加工後閾値ルールバイナリ126の数未満の場合、ステップ2413に進み、加工後閾値ルールバイナリ126の数以上の場合、加工後閾値判定処理を終了する(ステップ2412)。
最後に、nをインクリメントして、ステップ2403に戻る(ステップ2413)。
図25に、ステップ2007のデータ送信処理のフローチャートを示す。
まず、データ送信処理の開始トリガーは、閾値判定部133による閾値超過検知時に送信定義ID402を受け取った場合(ステップ2501)と、送信時機ルールバイナリ127で指定された送信時機601に達した時に送信ルールバイナリから送信定義ID402を取得した場合(ステップ2502とステップ2503)のいずれかである。いずれもステップ2504以降の処理は同じである。
そこで、ステップ2501、もしくはステップ2503で取得した送信定義ID402を持つ送信内容バイナリを取得する(ステップ2504)。
次に、ステップ2504で取得した送信内容バイナリから送信データ数701と送信内容702、キャッシュ削除フラグ703を取得する(ステップ2505)。
次に、ゲートウェイデバイス121のIDと送信データを連結し、送信データを生成する。以降のステップでデバイスID1601に加工データ1501を連結する(ステップ2506)。
次に、変数nに1を代入する。nは送信データ数701だけインクリメントされ、繰り返し処理に利用される(ステップ2507)。
ステップ2505で取得した送信内容702からn番目の加工データID301を取得する。送信定義ID402が「P00」で、n=1の場合は、加工データID301「D01」を取得する(ステップ2508)。
次に、ステップ2508で取得した加工データID301の加工データ1501とデータ長302を加工データキャッシュ138から取得する。ステップ2508で取得した加工データID301が「D04」の場合、加工データ1501「8:30/On,9:30/Off」とデータ長302「可変長:2」が取得できる(ステップ2509)。
ステップ2509で取得したデータ長302が可変長である場合は、ステップ2511に進み、固定長の場合は、ステップ2512に進む(ステップ2510)。
ステップ2509で取得した加工データ1501のデータ長302を算出し、ステップ2509で取得したデータ長302で指定されたバイト数分、送信データに加工データ1501のデータ長を後置連結する。ステップ2508で取得した加工データID301が「D04」であった場合は、加工データ1501のデータ長は2バイトで表現される。加工データ1501のデータ長を17バイトとすると、バイナリ「0x0011」が送信データに加工データ1501のデータ長として後置連結される(ステップ2511)。
ステップ2509で取得した加工データ1501を送信データに後置連結する(ステップ2512)。
次に、nがステップ2505で取得した送信データ数701未満の場合、ステップ2514に進み、送信データ数701以上の場合、ステップ2514に進む(ステップ2513)。
次に、nをインクリメントして、ステップ2508に戻る(ステップ2514)。
次に、送信データをデータ収集サーバ101に送信する。送信定義ID402「P01」の送信データは図26のようになる。ステップ2506で付与されたデバイスID1601と送信定義ID402、送信定義ID402「P01」で送信内容702として指定されている加工データID301「D01」「D02」「D03」「D04」の加工データ1501が連結されている。加工データID301「D04」の加工データ1501は可変長であるため、加工データ1501の前にデータ長を表す「00 11」が付与されている(ステップ2515)。
次に、ステップ2505で取得したキャッシュ削除フラグ703がTRUEの場合は、ステップ2517に進み、FALSEの場合は、データ送信処理を終了する(ステップ2516)。
次に、加工データキャッシュ138から、ステップ2505で取得した送信内容702に記載されている加工データID301の加工データ1501を全て削除する(ステップ2517)。
図27に、ステップ2008のデータ格納処理のフローチャートを示す。
まず、ゲートウェイデバイス121からデータを受信する(ステップ2701)。
次に、ステップ2701で受信したデータからデバイスID1601と送信定義ID402を取得する。図26で示したデータを受信した場合は、デバイスID1601「Dev1」と送信定義ID402「P01」が取得される(ステップ2702)。
次に、送信内容ルール定義107からステップ2702で取得した送信定義ID402と一致するレコードの送信データ数701と送信内容702を取得する。送信定義ID402が「P01」であれば、送信データ数701「4」と送信内容702「D01 D02 D03 D04」が取得される(ステップ2703)。
次に、変数nに1を代入する。nはステップ2703で取得した送信データ数701分インクリメントされ、送信データからの加工データ1501取得とデータ格納部114への格納の繰り返し処理に利用される(ステップ2704)。
次に、ステップ2703で取得した送信内容702からn番目の加工データID301を取得する。n=1であれば、加工データID301「D01」が取得される(ステップ2705)。
次に、加工ルール定義103からステップ2705で取得した加工データID301と一致するレコードのデータ長302を取得する(ステップ2706)。
ステップ2706で取得したデータ長が可変長の場合は、ステップ2708に進み、固定長の場合は、ステップ2709に進む。例えば、ステップ2705で取得した加工データID301が「D04」の場合、データ長は「可変長:2」であるため、ステップ2708に進み、ステップ2705で取得した加工データID301が「D01」の場合、データ長は「26」であり、固定長であるため、ステップ2709に進む(ステップ2707)。
次に、受信データからステップ2706で取得したデータ長分の加工データ1501のデータ長を表すバイト列を取得し、加工データ1501のデータ長を求める。例えば、ステップ2705で取得した加工データID301が「D04」の場合、データ長が「可変長:2」であるため、2バイトのバイト列「00 11」を加工データ1501のデータ長を表すデータとして取得し、加工データ1501のデータ長「17」を得る。(ステップ2708)
受信データからステップ2706、もしくはステップ2708で取得したデータ長分の加工データ1501を取得する(ステップ2709)。
ステップ2702で取得したデバイスID1601と、ステップ2705で取得した加工データID301、ステップ2709で取得した加工データ1501、本ステップ実行時のタイムスタンプ1602をデータ格納部114に格納する(ステップ2710)。
次に、nがステップ2703で取得した送信データ数701未満であれば、ステップ2712に進み、送信データ以上であれば、データ格納処理を終了する(ステップ2711)。
最後に、nをインクリメントし、ステップ2705に戻る(ステップ2712)。
101 データ収集サーバ
102 変換ルール定義
103 加工ルール定義
104 加工前閾値ルール定義
105 加工後閾値ルール定義
106 送信時機ルール定義
107 送信内容ルール定義
108 ルール定義格納部
109 ルール定義生成部
110 ルールバイナリ生成部
111 バイナリ定義テーブル群
112 ルール定義配信部
113 データ受信部
114 データ格納部
121 ゲートウェイデバイス
122 ルール定義受信部
123 変換ルールバイナリ
124 加工ルールバイナリ
125 加工前閾値ルールバイナリ
126 加工後閾値ルールバイナリ
127 送信時機ルールバイナリ
128 送信内容ルールバイナリ
129 ルールバイナリ格納部
130 データ収集部
131 データ変換部
132 データ加工部
133 閾値判定部
134 加工前閾値判定部
135 加工後閾値判定部
136 データキャッシュ
137 最新値1401キャッシュ
138 加工データキャッシュ
139 データ送信部
141 センサ
151 広域ネットワーク
801 変換ルール用バイナリ定義テーブル群
802 変換ルールバイナリ構成テーブル
803 データ種別ビット列テーブル
804 バイトオーダービット列テーブル
805 変換方法ビット列テーブル
811 加工ルール用バイナリ定義テーブル群
821 加工前閾値判定ルール用バイナリ定義テーブル群
831 加工後閾値判定ルール用バイナリ定義テーブル群
841 送信内容ルール用バイナリ定義テーブル群
851 送信時機ルール用バイナリ定義テーブル群

Claims (3)

  1. 1ないし複数のセンサと、これらのセンサからデータを収集・変換・加工・閾値判定・圧縮し、任意の設定時機にデータ収集サーバへの送信が可能なゲートウェイデバイスと、ゲートウェイデバイスからセンサデータを収集するデータ収集サーバから構成され、当該データ収集サーバはセンサデータの変換・加工・閾値判定・圧縮・送信時機の設定をバイナリに圧縮し、ゲートウェイデバイスに送信する手段を備え、前記ゲートウェイデバイスは、バイナリに圧縮されたセンサデータの変換・加工・閾値判定・圧縮・送信時機の設定に従い、前記センサから収集したデータに対し、変換・加工・閾値判定・圧縮を実行し、設定された送信時機にデータ収集サーバにセンサデータを送信する手段を備えることを特徴とするセンサデータ収集システム。
  2. 前記データ収集サーバは、センサデータの変換・加工・閾値判定・圧縮・送信時機を設定するルール定義を生成する手段を備え、生成したルール定義を広域ネットワークを介して前記ゲートウェイデバイスに送信することを特徴とする請求項1に記載のセンサデータ収集システム。
  3. 前記データ収集サーバは、前記ルール定義をデータサイズの小さい定義ルールバイナリに変換する手段と、広域ネットワークを介して、前記定義ルールバイナリを前記ゲートウェイデバイスに送信する手段を備えることを特徴とする請求項2に記載のセンサデータ収集システム。
JP2013158495A 2013-07-31 2013-07-31 センサデータ収集システム Active JP5737696B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013158495A JP5737696B2 (ja) 2013-07-31 2013-07-31 センサデータ収集システム
PCT/JP2014/062843 WO2015015864A1 (ja) 2013-07-31 2014-05-14 センサデータ収集システム
US14/898,151 US20160142493A1 (en) 2013-07-31 2014-05-14 Sensor data collection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013158495A JP5737696B2 (ja) 2013-07-31 2013-07-31 センサデータ収集システム

Publications (2)

Publication Number Publication Date
JP2015028742A JP2015028742A (ja) 2015-02-12
JP5737696B2 true JP5737696B2 (ja) 2015-06-17

Family

ID=52431410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013158495A Active JP5737696B2 (ja) 2013-07-31 2013-07-31 センサデータ収集システム

Country Status (3)

Country Link
US (1) US20160142493A1 (ja)
JP (1) JP5737696B2 (ja)
WO (1) WO2015015864A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462688B2 (en) * 2015-06-29 2019-10-29 Cisco Technology, Inc. Association rule analysis and data visualization for mobile networks
JP6546832B2 (ja) * 2015-10-28 2019-07-17 富士通株式会社 動作環境再構築プログラム、動作環境再構築システム、動作環境再構築方法
JP6819888B2 (ja) 2015-12-10 2021-01-27 日本電気株式会社 データ収集システム、データ収集方法、ゲートウェイ装置、サーバ装置、およびプログラム
JP6819614B2 (ja) 2016-01-18 2021-01-27 日本電気株式会社 情報処理システム、デバイス登録方法、情報処理装置、通信端末およびそれらの制御方法と制御プログラム
EP3461075B1 (en) * 2016-06-08 2020-09-16 Mitsubishi Electric Corporation Gateway apparatus and transfer method
JP6805580B2 (ja) * 2016-06-30 2020-12-23 住友電気工業株式会社 通信機、通信システムおよび通信プログラム
JP6815767B2 (ja) * 2016-07-08 2021-01-20 トヨタ自動車株式会社 車載通信装置
DE102016009195B3 (de) * 2016-07-27 2017-12-07 Audi Ag Verfahren zum Extrahieren von Fahrzeugdaten aus einem Kraftfahrzeug, Steuervorrichtung und Kraftfahrzeug
EP3287990B1 (en) 2016-08-25 2020-09-30 Airbus Operations GmbH Data acquisition system and methods for data acquisition
JP6610517B2 (ja) * 2016-11-30 2019-11-27 横河電機株式会社 オンデマンドサービス提供システム及びオンデマンドサービス提供方法
EP3457638A1 (en) * 2017-09-19 2019-03-20 Siemens Aktiengesellschaft Message handler and method for converting a data stream
JP6656221B2 (ja) * 2017-12-25 2020-03-04 矢崎エナジーシステム株式会社 通信システム
US11895518B2 (en) * 2018-04-18 2024-02-06 Hdwb, Llc Dynamic analysis and reconfiguration of concurrent data transfer means
WO2020004033A1 (ja) * 2018-06-28 2020-01-02 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP7184088B2 (ja) * 2018-09-21 2022-12-06 株式会社島津製作所 ゲートウエイデバイス、監視システム、データ変換方法、およびデータ変換方法をコンピュータに実行させるプログラム
WO2020194716A1 (ja) 2019-03-28 2020-10-01 三菱電機株式会社 信号選択装置、学習装置、信号選択方法及びプログラム
WO2022113157A1 (ja) * 2020-11-24 2022-06-02 日本たばこ産業株式会社 データ変換コンピュータ及びこれを含むシステム、並びに、これに係る方法及びプログラム
JP2021057908A (ja) * 2020-12-17 2021-04-08 パナソニックIpマネジメント株式会社 記録装置および車両

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6764446B2 (en) * 2000-10-16 2004-07-20 Remon Medical Technologies Ltd Implantable pressure sensors and methods for making and using them
JP4168946B2 (ja) * 2004-01-29 2008-10-22 Kddi株式会社 文書データの符号化又は復号化方法及びそのプログラム
JP2007156779A (ja) * 2005-12-05 2007-06-21 Hitachi Ltd センサネットシステム、基地局及びセンシングデータの中継方法
US20070150565A1 (en) * 2005-12-22 2007-06-28 Arun Ayyagari Surveillance network system
JP2007310733A (ja) * 2006-05-19 2007-11-29 Toyota Motor Corp 交通情報管理システム、及び、車載装置
US8176167B2 (en) * 2006-12-05 2012-05-08 Qualcomm Incorporated Methods and apparaus for requesting wireless communication device performance data and providing the data in optimal file size
JP5379372B2 (ja) * 2007-11-15 2013-12-25 キヤノン株式会社 データ圧縮装置、データ伸長装置およびデータ圧縮方法
JP5238829B2 (ja) * 2011-01-13 2013-07-17 株式会社東芝 データ収集装置、データ収集プログラム、およびデータ収集システム
JP5505464B2 (ja) * 2012-06-08 2014-05-28 沖電気工業株式会社 センサデータ提供システム、ゲートウェイ及び抽象化センサデータ生成方法

Also Published As

Publication number Publication date
US20160142493A1 (en) 2016-05-19
JP2015028742A (ja) 2015-02-12
WO2015015864A1 (ja) 2015-02-05

Similar Documents

Publication Publication Date Title
JP5737696B2 (ja) センサデータ収集システム
RU2677970C2 (ru) Система удаленного сбора данных
US20100223283A1 (en) Apparatus and method for processing query
US20060195613A1 (en) Protocol conversion apparatus, communication apparatus, method and program
CN111314339B (zh) 数据传输方法及装置
CN107016056B (zh) 一种物联网中海量异构传感数据的分布式存储系统和方法
CN203416351U (zh) 电站厂房视频监控系统
JP2016006922A (ja) ゲートウェイ装置およびセンサデータ収集システム
CN113364624B (zh) 基于边缘计算的混合云流量采集方法和系统
JP6207451B2 (ja) センサデータ収集システム
CN112947646A (zh) 一种环境监测预警系统及方法
CN114489477A (zh) 一种基于区块链的去中心化分布式存储方法
WO2021147319A1 (zh) 一种数据处理方法、装置、设备及介质
CN114003896A (zh) 一种物联大数据分析处理装置和方法
CN113114968A (zh) 一种视频处理方法、装置、设备及存储介质
JP2015026299A (ja) センサデータ収集システム
CN108717438B (zh) 一种链式数据状态采集系统及方法
CN106161339B (zh) 获取ip访问关系的方法及装置
CN105446707B (zh) 一种数据转换方法
CN114430413A (zh) 一种基于区块链的IIoT智慧运维管理方法
WO2018157336A1 (zh) 数据处理装置和方法
US20150249726A1 (en) Communication device, communication method, and program
CN116418865A (zh) 网络数据的控制方法、装置和存储介质及电子设备
KR101494178B1 (ko) 차량 정보 처리 시스템 및 방법
CN106936762A (zh) 一种用于防火实验中多数据接入整合的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141209

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20141209

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20141219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150414

R150 Certificate of patent or registration of utility model

Ref document number: 5737696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250