Fabric di servizio di Azure - Progettazione di un motore di calcolo

1

Supponiamo che abbia i seguenti dispositivi: Dispositivo A Dispositivo B Dispositivo C (...)

Inoltre, per ogni dispositivo, ho le seguenti misurazioni: Misura 1 Misura 2 (...)

Ogni evento di misurazione include un ID di misurazione (int), una data (DateTime) e un valore (double).

Quello che sto cercando di ottenere è, in uno scenario event driven, come progetteresti un motore di calcolo dove, per ogni dispositivo, vuoi calcolare nuove misurazioni basate su eventi attivati che riceviamo dalle misurazioni del dispositivo?

Problemi chiave che sto cercando di risolvere qui

  • Quali componenti di Service Fabric dovrebbero essere utilizzati? Supponiamo di avere circa 10.000 dispositivi per 200 misurazioni. Possiamo usare servizi esterni come Rdis Cache o qualche archivio basato sulla memoria (cercando di evitare le scritture su disco ..)

  • Alcuni calcoli richiedono che un calcolo precedente sia completato prima della sua conclusione. Esempio:

    DeviceA.CalculatedMeasurement1 = DeviceA.Measurement1 + DeviceA.Measurement2 DeviceA.CalculatedMeasurement2 = DeviceA.CalculatedMeasurement1 x DeviceA.Measurement3

  • Alcuni calcoli si limitano ad aggregare i dati. Come aggregazioni orarie o aggregazioni giornaliere. Come attiveresti questo tipo di calcoli poiché possono essere attivati solo se tutti gli eventi vengono ricevuti per quella particolare ora o giorno?

Sto solo cercando qualcosa con cui iniziare. In questo momento sono un po 'perso con tutte le opzioni che abbiamo. Se qualcuno può indicarmi la direzione giusta per affrontare questo problema, sarà molto apprezzato. Grazie per il tuo tempo!

    
posta deeproute 12.09.2017 - 15:02
fonte

1 risposta

0

How would you design a calculation engine where, for each device, you want to calculate new measurements based on triggered events which we receive from the device's measurements?

Guarda come sono progettate le griglie di calcolo Penso che questa sarebbe la migliore tecnologia per soddisfare i requisiti di elaborazione. I sistemi middleware della griglia sono validi per un numero elevato di calcoli e la gestione delle dipendenze delle attività. Per specifiche soluzioni di progettazione e idee sulla risoluzione di questo tipo di problemi, consultare i documenti online su IBM Spectrum Symphony, MS HPC Server, Techlia Grid, Apache Ignite, Tibco GridServer.

How would you trigger this kind of calculations since they can only be triggered if all the events are received for that particular hour or day?

Cron e lavoro batch alla fine dell'ora o del giorno. Naturalmente, se è necessario assicurarsi che tutti gli eventi siano stati ricevuti prima dell'avvio del lavoro, sarà necessario presentare alcuni tipi di controlli di convalida specifici per la propria applicazione.

    
risposta data 25.09.2017 - 12:13
fonte

Leggi altre domande sui tag