Direkt konuya gireyim NodeJs ile API kodlanacak. Öncelikle datamıza benzer şablonu koyayım.
{
"root": [
{
"mac": "scanner1",
"rssi" : random.randint(1,100),
"battery":100
},{
"mac": "AC235316B",
"rssi" : random.randint(1,100),
"battery":100
},{
"mac": "AC235316F",
"rssi" : random.randint(1,100),
"battery":100
},{
"mac": "AC235316C",
"rssi" : random.randint(1,100),
"battery":100
},{
"mac": "AC235316D",
"rssi" : random.randint(1,100),
"battery":100
}
]
}
Size 10 saniyede bir çok sayıda cihazdan bu şekil data post edilecek. Hepsi aynı anda çalışmaya başlamadığı için aralarında zamansal farklar olacak o yüzden kaçıncı datayı yolladığını API veya database kısmında tutmanız gerekmekte daha sonra eş sıralı istekler arasında işlem yapılacak.
Yapılacak işleme geliyorum.
Misalen data akışı başladı 1. saniyede A dan post geldi 3. saniyede diğer yerden B'den post geldi ama her ikiside sonuçta ilk post olduğu için eşleşecek ve ona göre her 1 mac için karşılaştırma yapılacak diyecekki misalen mac 16D 2 yerdende geldi sıralar eşleştiği için ikisinin rssi değeri büyük olan ilk gelen veya sonraki diye verecek gelen yer bilgisi ilk sıradaki mac adresidir o yüzden o karşılaştırma işlemine dahil edilmeyecek.
Eğer 1 mac için 3 farklı yerden değilde tek yerden gelmişse bize tek geleni verecek(databaseye işleyecek).
Not: Veritabanı mysql ek olarak gelen postta time bilgisi bulunmakta.
Yapmaya aday kişinin anlamadığı yer olursa pm atarsa anlatabilirim.
selam hocam .net6 ile kodlayabilirim daha hızlı olur hem