Node interpolasi timeout dirancang untuk menjaga kontinuitas data dengan mengisi celah menggunakan nilai-nilai yang telah ditentukan selama gangguan pelaporan data, sehingga ideal untuk aplikasi yang memerlukan urutan data tanpa gangguan.
Skenario
Pertimbangkan sensor suhu termostat yang melaporkan data secara sporadis, hanya memberi sinyal ketika terjadi perubahan suhu. Jika tidak ada data yang dilaporkan, suhu diasumsikan konstan. Node interpolasi timeout dapat digunakan untuk memastikan pemantauan data pada tingkat menit untuk sensor semacam itu.
Prasyarat
Pastikan bahwa ekspresi perhitungan data atau filter penyaringan data telah diatur. Untuk informasi lebih lanjut, lihat Konfigurasikan Perhitungan Data dan Penyaringan Data.
Informasi latar belakang
Untuk gambaran umum fitur penguraian data, lihat Catatan Penggunaan.
Untuk panduan tentang menavigasi ruang kerja penguraian data, lihat Instruksi Ruang Kerja Penguraian Data.
Prosedur
Di kanvas tengah, klik ikon tambah
setelah node saat ini.Dalam daftar node pop-up, klik sekali pada node Timeout Interpolation.
Di kanvas, klik sekali pada node Timeout Interpolation. Di panel konfigurasi di sebelah kanan, atur interpolasi timeout sesuai dengan tabel berikut:
Item Konfigurasi
Parameter
Deskripsi
Contoh
Konfigurasi Dasar
Tipe Waktu Interpolasi
Pilih dari:
Relative Time: Melakukan interpolasi pada interval tetap berdasarkan waktu mulai tugas penguraian data. Atur Relative Time Compensation Period dengan opsi seperti 10s, 15s, 30s, 1min, 5min, 15min, 30min.
Absolute Time: Menggunakan ekspresi Crontab standar Java (Quartz) untuk menentukan waktu interpolasi absolut. Atur Absolute Time Compensation Period. Untuk informasi lebih lanjut, lihat Lampiran: Ekspresi Crontab.
Mengacu pada bagian "Skenario": Untuk pemantauan tingkat menit, pilih dari dua tipe waktu interpolasi.
Relative Time: Pilih Relative Time Compensation Period sebagai 1min.
Absolute Time: Atur ekspresi Crontab menjadi
0 */1 * * * ?.
Tipe Data Interpolasi
Opsi termasuk:
Previous Real Data: Menggunakan data nyata terakhir yang dilaporkan untuk interpolasi.
Preset Data: Menggunakan data yang telah ditentukan sebelumnya untuk interpolasi. Isi pesan harus dalam format JSON.
Mengikuti bagian "Skenario": Pilih Previous Real Data.
Konfigurasi Lanjutan
Kunci Partisi Pesan
Opsional, menentukan dimensi untuk interpolasi timeout, sering digunakan untuk membedakan pesan dari perangkat yang berbeda.
Jika tidak diatur, sistem IoT Platform akan menggunakan ProductKey dan DeviceName sebagai kunci partisi secara default.
Dalam contoh bagian "Skenario": Gunakan ID identitas termostat, bidang boxId, sebagai kunci partisi.
Toleransi Latensi
Menentukan penundaan dalam detik sebelum melakukan interpolasi pesan untuk mencegah interpolasi yang tidak perlu akibat keterlambatan transmisi pesan nyata.
Gunakan pengaturan default.
Time-to-Live
Menentukan durasi maksimum dalam detik untuk melanjutkan interpolasi jika topik belum melaporkan pesan dalam jangka waktu panjang. Waktu purge minimum adalah 1 menit, dan maksimum adalah 7 hari, dengan default 1 hari. Timer direset dengan setiap pesan yang diterima.
Pertahankan pengaturan default.
Berikut adalah contoh konfigurasi rinci berdasarkan bagian "Skenario":
Untuk menyelesaikan konfigurasi node interpolasi timeout, klik sekali tombol Save di pojok kanan atas ruang kerja penguraian data.
PentingCatatan: Bidang keluaran dari node ini identik dengan node sebelumnya.
Apa yang harus dilakukan selanjutnya
Setelah mengonfigurasi node interpolasi timeout, lanjutkan untuk menyiapkan node pemrosesan tambahan atau mengonfigurasi node target untuk menyelesaikan tugas penguraian data.
Lampiran: Ekspresi Crontab
Ekspresi Crontab standar Java (Quartz) dijelaskan di bawah ini:
Contoh:
# Hari terakhir setiap bulan
@Scheduled(cron = "0 0 18 * * ?")
public void doAtLastDayOfMonth() {
// lakukan sesuatu di sini...
}
Penjelasan:
Java(Quartz)
* * * * * * *
- - - - - - -
| | | | | | |
| | | | | | + tahun [opsional]
| | | | | +----- hari dalam minggu (1 - 7) SUN,MON,TUE,WED,THU,FRI,SAT
| | | | +---------- bulan (1 - 12) ATAU JAN,FEB,MAR,APR ...
| | | +--------------- hari dalam bulan (1 - 31)
| | +-------------------- jam (0 - 23)
| +------------------------- menit (0 - 59)
+------------------------------ detik (0 - 59)Bidang | Wajib | Rentang Nilai (Integer) | Karakter Spesial yang Diizinkan |
detik | Ya | 0~59 |
|
menit | Ya | 0~59 | |
jam | Ya | 0~23 | |
hari dalam bulan | Ya | 1~31 |
|
bulan | Ya | 1~12 atau JAN~DES Korespondensi: 1 untuk Januari (JAN), 2 untuk Februari (FEB), 3 untuk Maret (MAR), 4 untuk April (APR), 5 untuk Mei (MEI), 6 untuk Juni (JUN), 7 untuk Juli (JUL), 8 untuk Agustus (AGS), 9 untuk September (SEP), 10 untuk Oktober (OKT), 11 untuk November (NOV), 12 untuk Desember (DES). | Asterisk (*): Mewakili semua nilai yang mungkin di bidang tersebut. |
hari dalam minggu | Ya | 0~7 atau MIN,SNS,SEL,RAB,KAM,JUM,SAB Korespondensi: 0 (MIN), 1 (SNS), 2 (SEL), 3 (RAB), 4 (KAM), 5 (JUM), 6 (SAB). Catatan bahwa baik 0 maupun 7 merepresentasikan Minggu (MIN). | Asterisk (*), tanda tanya (?): Digunakan untuk menentukan 'tidak ada nilai spesifik' atau 'nilai apa saja' di bidang tersebut. |
tahun | Tidak | 1970~2099 | Asterisk (*): Mewakili semua nilai yang mungkin di bidang tersebut. |