Quale termine viene utilizzato per descrivere l'esecuzione di lavori batch frequenti da emulare quasi in tempo reale

5

Supponiamo che gli utenti dell'applicazione A desiderino vedere i dati aggiornati dall'applicazione B il più frequentemente possibile. Sfortunatamente l'app A o l'app B non possono usare le code dei messaggi e non possono condividere un database. Quindi l'app B scrive un file e un lavoro batch controlla periodicamente per vedere se il file è presente e se il carico lo carica nell'app A.

Esiste un nome per questo concetto? Una descrizione molto esplicita e geniale: "Esecuzione di lavori batch molto frequenti in un circuito chiuso da emulare quasi in tempo reale".

Questo concetto è simile a "polling". Tuttavia, il sondaggio ha la connotazione di essere molto frequente, più volte al secondo, mentre il più spesso si esegue un lavoro batch sarebbe ogni pochi minuti.

Una domanda correlata: qual è il ciclo più stretto che sia ragionevole. È 1 minuto di 5 minuti o ...? Ricorda che i lavori batch vengono avviati da un pianificatore di lavori batch (ad esempio, Autosys, Control M, CA ESP, Spring Batch, ecc.) E quindi eseguire un lavoro troppo spesso causerebbe sovraccarico e ingombro.

    
posta Steven Tolkin 15.06.2012 - 13:35
fonte

2 risposte

11

La prima volta eri corretto, polling è il termine corretto da utilizzare in questa situazione. Se si sta eseguendo il polling a 1 mHz oa 1 MHz, sta ancora eseguendo il polling.

Nota milli Hertz non è un'unità che ho mai visto usato, un tasso di polling di una volta ogni milione di secondi (11,6 giorni) che ha un uso limitato. * 8' )

Dalla pagina wikipedia polling :

Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity.

In questo caso, il job batch è il client, mentre il file è il meccanismo che consente al client di sincronizzarsi con il dispositivo esterno ( applicazione B ).

Determinare un tasso di polling adeguato può essere un affare complicato.

  • Se il client esegue il polling frequentemente allora potrebbe finire per affamare il dispositivo (possibilmente un altro processo sullo stesso sistema multitasking) delle risorse necessarie fonte i dati necessari al cliente abbastanza rapidamente, rallentando l'intero sistema.

  • Esamina anche di rado e il tuo cliente potrebbe stare seduto in attesa del prossimo sondaggio mentre ci sono dati in attesa di essere elaborati.

Entrambi i casi possono provocare il funzionamento del sistema in modo sub-ottimale.

Come esempio del primo, ho visto che il sistema che ha speso così a lungo il servizio "ci sono nuovi dati" richiede di non avere più tempo per preparare i dati richiesti (una forma di livelock ).

Per quest'ultimo, ho un dispositivo con un periodo di sondaggio di 60 secondi. Poiché potrei aver bisogno di 3 comunicazioni di andata e ritorno per completare una singola transazione, ogni transazione può richiedere da 3 a 6 minuti (ogni richiesta avviene prima che un sondaggio per ogni richiesta si verifichi subito dopo un sondaggio).

    
risposta data 15.06.2012 - 13:52
fonte
0

Quando lavoravo in una banca, i ragazzi in architettura hanno affermato " abbiamo l'unico sistema bancario in tempo reale in Australia, tutti gli altri usano fast-batch " *.

Che era esattamente come descrivi, avrebbero eseguito un'elaborazione batch di tutte le transazioni in sospeso diverse migliaia di volte al secondo.

Quindi fast-batch è un termine che è in uso per fare ciò che descrivi.

* La verità delle loro affermazioni non è pertinente a questa domanda

    
risposta data 24.07.2014 - 03:50
fonte

Leggi altre domande sui tag