Saya memiliki perangkat lunak (Windows Server - sedikit berbeda dengan 'sesuatu' tetapi prinsipnya sama) yang memanggil setiap 24 jam - ia mengirimkan kembali berbagai data meta tentang dirinya:
- nama pelanggan (atau ID unik)
- versi perangkat lunak
- cap waktu panggilan / permintaan
- jenis produk / id
Layanan web mem-parsing data dan menyisipkan (atau memperbarui jika pelanggan memiliki baris yang ada) baris dalam database.
Dengan cara ini pelanggan baru secara otomatis ditambahkan ke DB, pelanggan yang ada mendapatkan cap waktu 'terakhir terlihat' mereka diperbarui dan kami selalu memiliki versi perangkat lunak terbaru. Saya bisa menjalankan permintaan DB yang memberi tahu saya pelanggan mana yang ada di versi yang lebih lama, dan / atau pelanggan yang belum menelepon untuk sementara waktu.
Kami juga menerapkan pembaruan otomatis (pikirkan pembaruan OTA) baru-baru ini dan karena ini adalah proses kritis, kami menerapkan telemetri khusus untuk ini - yang mencatat:
- Versi sekarang.
- Versi yang akan diperbarui.
- Siapa / kapan mengizinkannya (jika diperlukan penerimaan pelanggan).
- Stempel waktu dan kode status untuk setiap langkah utama.
Ini memungkinkan kami untuk menentukan apakah aspek-aspek tertentu dari pembaruan otomatis gagal dan dalam banyak kasus memungkinkan kami menghubungi pelanggan sesering sebelum mereka bahkan melihat ada sesuatu yang salah.
Perbedaan besar dengan 'hal-hal' adalah bahwa Anda biasanya dibatasi oleh memori, jadi untuk melakukan pembaruan xxx Kb
firmware OTA Anda membutuhkan xxx Kb * 2
memori yang tersedia (firmware yang ada + memori yang cukup untuk menyimpan firmware baru sebelum memulai pembaruan firmware yang sebenarnya)