مرور کلی ماژول‌های پایه

در پلتفرم IIoT، داده‌ها به‌صورت جدول سازمان‌دهی می‌شوند که می‌توان آن‌ها را بر اساس ماژول‌های اصلی نمایش داده دسته‌بندی کرد.

این ماژول‌ها توصیف می‌کنند که چگونه اندازه‌گیری‌های خام، دستگاه‌هایی که آن‌ها را تولید می‌کنند، نشست‌های ارتباطی که در طول آن‌ها این داده‌ها گردآوری می‌شوند و داده‌های مرجعی که آن‌ها را دسته‌بندی می‌کنند، همگی در کنار هم قرار می‌گیرند. جدول‌های زیر فیلدهای کلیدی هر ماژول و کلیدهای خارجی‌ای را که آن‌ها را به هم پیوند می‌دهند، به‌تفصیل شرح می‌دهند.

آرشیو داده‌ها

آرشیو داده‌ها اطلاعات تاریخی مانند سنجه‌های دستگاه‌های IoT، داده‌های تجهیزات و سایر اندازه‌گیری‌ها را ذخیره می‌کند. جدول اصلی برای ذخیره داده‌های آرشیو، channel_data است.

فیلدنوعتوضیحات
idbigintشناسه یکتای رکورد (کلید اصلی).
equipment_idbigintارجاع به تجهیزات (equipment.id).
seance_idbigintارجاع به نشست (seances.id).
channel_idbigintارجاع به کانال (channels.id).
unit_idbigintارجاع به واحد اندازه‌گیری (units.id).
archive_type_idintegerارجاع به نوع آرشیو (referenceparameters.id).
event_timeintegerزمان رخداد (مثلاً برچسب زمانی).
valuecharacter varying(100)مقدار دریافت‌شده از کانال.
created_attimestamp(6) without time zoneزمان ایجاد رکورد.
updated_attimestamp(6) without time zoneزمان آخرین به‌روزرسانی رکورد.

این جدول داده‌های دریافت‌شده از کانال‌های تجهیزات را ذخیره می‌کند و هر رکورد را از طریق کلیدهای خارجی با تجهیزات، نشست‌ها، کانال‌ها و واحدها مرتبط می‌سازد. این کار امکان دسته‌بندی داده‌ها بر اساس ویژگی‌های مشخص‌شده را برای تحلیل و پردازش بیشتر فراهم می‌کند.

  • equipment_id به جدول equipment ارجاع می‌دهد.
  • seance_id به جدول seances ارجاع می‌دهد.
  • channel_id به جدول channels ارجاع می‌دهد.
  • unit_id به جدول units ارجاع می‌دهد.
  • archive_type_id به جدول referenceparameters ارجاع می‌دهد.

واحدهای اندازه‌گیری

جدول equipment اطلاعات مربوط به تجهیزات به‌کاررفته در سامانه را ذخیره می‌کند. این ماژول برای مدیریت داده‌های مرتبط با دستگاه‌های فیزیکی مانند کنتورها، حسگرها، کنترلرها و سایر انواع تجهیزات، نقش کلیدی دارد.

فیلدنوعتوضیحات
idbigintشناسه یکتای رکورد (کلید اصلی).
equipment_type_idbigintارجاع به نوع تجهیزات.
serial_numbercharacter varying(25)شماره سریال تجهیزات.
manufacture_datetimestamp(6) without time zoneتاریخ تولید تجهیزات.
installation_datetimestamp(6) without time zoneتاریخ نصب تجهیزات.
program_versioncharacter varying(100)نسخه نرم‌افزار تجهیزات.
created_attimestamp(6) without time zoneزمان ایجاد رکورد.
updated_attimestamp(6) without time zoneزمان آخرین به‌روزرسانی رکورد.

جدول equipment:

  • داده‌های پایه‌ای تجهیزات مانند شماره سریال و تاریخ‌های تولید و نصب را ذخیره می‌کند؛
  • از فیلد program_version برای پیگیری نسخه نرم‌افزار نصب‌شده روی تجهیزات استفاده می‌کند؛
  • از فیلدهای created_at و updated_at برای پیگیری تغییرات در داده‌های تجهیزات استفاده می‌کند؛
  • از طریق کلیدهای خارجی به جدول‌های دیگری مانند equipment_types، channel_data و channels پیوند خورده است؛
  • امکان افزودن، به‌روزرسانی و بازیابی اطلاعات تجهیزات در سامانه را فراهم می‌کند.

ماژول نمایش داده مبتنی بر جدول equipment، مدیریت کارآمد اطلاعات تجهیزات در سامانه را ممکن می‌سازد.

این ماژول موارد زیر را فراهم می‌کند:

  • ذخیره داده‌های پایه‌ای تجهیزات؛
  • مدیریت نسخه نرم‌افزار؛
  • ارتباط با سایر موجودیت‌های سامانه.

نشست‌های ارتباطی

جدول seances اطلاعات مربوط به نشست‌های ارتباطی و فعالیت تجهیزات را ذخیره می‌کند. نشست‌ها بازه‌های فعالیتی را نشان می‌دهند که طی آن‌ها داده‌ها میان تجهیزات و سامانه تبادل می‌شوند. این ماژول برای مدیریت و تحلیل داده‌های مرتبط با نشست‌های ارتباطی نقشی کلیدی دارد.

بیایید این ماژول را با دقت بیشتری بررسی کنیم.

فیلدنوعتوضیحات
idbigintشناسه یکتای رکورد (کلید اصلی).
telemetry_idbigintارجاع به تله‌متری (telemetry.id).
event_timeintegerزمان رخداد.
evtidsmallintشناسه رخداد.
trycntsmallintتعداد تلاش‌ها.
tryflcharacter varying(12)پرچم تلاش.
statesmallintوضعیت نشست.
btmintegerشارژ باتری.
rssiintegerقدرت سیگنال (در صورت استفاده).
created_attimestamp(6) without time zoneزمان ایجاد رکورد.
updated_attimestamp(6) without time zoneزمان آخرین به‌روزرسانی رکورد.

ماژول seances برای موارد زیر به کار می‌رود:

  • ذخیره اطلاعات مربوط به نشست‌های ارتباطی و عملکرد تجهیزات؛
  • مدیریت داده‌های مرتبط با نشست (برای مثال، زمان رخداد، وضعیت نشست، قدرت سیگنال و شارژ باتری)؛
  • تحلیل نشست‌ها برای شناسایی مشکلات یا بهینه‌سازی عملکرد سامانه؛
  • مدیریت وضعیت نشست: فیلد state به شما امکان می‌دهد وضعیت نشست را پایش کنید (برای مثال، موفق، خطا و غیره)؛
  • تحلیل نشست: فیلدهای duration_session و session_traffic به شما امکان می‌دهند مدت‌زمان و حجم ترافیک نشست را تحلیل کنید؛
  • پیگیری تغییرات: فیلدهای created_at و updated_at به شما امکان می‌دهند تغییرات در داده‌های نشست را پیگیری کنید.

انواع آرشیو

ویژگی archive_type_id داده‌های جدول channel_data را بر اساس نوع آرشیو دسته‌بندی می‌کند. این کار امکان سازمان‌دهی داده‌ها در دسته‌های مختلف مانند ساعتی، روزانه، ماهانه، وضعیت‌های غیرعادی و سایر انواع آرشیو را فراهم می‌کند. جدول referenceparameters اطلاعات مرجع مربوط به انواع آرشیو را ذخیره می‌کند.

این ماژول بر پایه رابطه میان جدول‌های channel_data و referenceparameters ساخته شده است.

فیلدنوعتوضیحات
idbigintشناسه یکتای رکورد (کلید اصلی).
namecharacter varying(30)نام نوع آرشیو.
varnamecharacter varying(30)نام متغیر کوتاه برای نوع آرشیو.
descriptioncharacter varying(100)توضیح نوع آرشیو.
parent_idintegerارجاع به پارامتر والد (سلسله‌مراتب).
referencemodel_idintegerارجاع به مدل فهرست مرجع.
created_attimestamp(6) without time zoneزمان ایجاد رکورد.
updated_attimestamp(6) without time zoneزمان آخرین به‌روزرسانی رکورد.
deleted_attimestamp(6) without time zoneزمان حذف رکورد (حذف نرم).

فیلد archive_type_id در جدول channel_data به شما امکان می‌دهد داده‌ها را بر اساس نوع آرشیو دسته‌بندی کنید.

برای مثال:

ruby
[ 'Archive types', 'archive_types', 'Archive types (hourly, daily, monthly)',
  [
    ['Hourly readings archive', 'hourly'],
    ['Daily readings archive', 'daily'],
    ['Monthly readings archive', 'monthly'],
    ['Emergency situations archive', 'nesht'],
    ['Events archive', 'event'],
    ['Valve status', 'valve'],
    ['Current state', 'current_state'],
    ['Updated firmware', 'update_app'],
    ['Send SMS', 'send_sms'],
    ['Send JSON', 'send_json'],
    ...
  ]
]

در صورت نیاز، می‌توان این آرشیوها را در گروه‌هایی سازمان‌دهی کرد:

  • داده‌های جاری (current_state) — قرائت‌ها در لحظه نشست ارتباطی؛
  • داده‌های تجمیعی (hourly، daily، monthly) — قرائت‌های خلاصه‌شده برای یک بازه زمانی معین؛
  • رخدادها و وضعیت‌های غیرعادی (nesht، event) — ثبت تغییرات یا رویدادهای مهم در سامانه. این موارد ممکن است به تجهیزات، کاربران یا عوامل بیرونی مربوط باشند؛
  • وضعیت شیر (valve) — حالت و کنترل شیر کنتور، در صورت وجود؛
  • اقدامات کنترلی (update_app، send_sms، send_json) — ثبت دستورها یا اقدامات انجام‌شده برای کنترل سامانه یا تجهیزات؛
  • و غیره.

ماژول نمایش داده archive_type_id به شما امکان می‌دهد داده‌ها را به‌طور کارآمد در انواع آرشیو دسته‌بندی کرده و اطلاعات مرجع را مدیریت کنید. این ماژول موارد زیر را فراهم می‌کند:

  • دسته‌بندی داده‌ها در جدول channel_data؛
  • مدیریت اطلاعات مرجع درباره انواع آرشیو؛
  • تحلیل داده‌ها بر اساس نوع آرشیو.

موضوعات مرتبط

آخرین به‌روزرسانی در

آیا این صفحه مفید بود؟