Invio messaggio garantito per messaggi con priorità diversa per moduli diversi

1

Abbiamo creato un sistema di messaggi utilizzando messaggi prioritari. L'idea alla base di questo è la seguente:

  • Abbiamo un elenco di clienti.
  • Tutti i client sanno se (e quale tipo di priorità) hanno i messaggi disponibili per l'invio.
  • Un client deve inviare prima il suo messaggio con priorità più alta.
  • Tutti i client devono continuare a inviare, se ci sono client con messaggi con priorità più bassa, questi client hanno anche bisogno di tempo per inviare, ma una priorità più alta è ancora più importante.

Abbiamo il seguente meccanismo:

  1. Cerchiamo il cliente che è il prossimo in linea con un messaggio prioritario. Inviamo inviare questo messaggio ad alta priorità.
  2. Guardiamo (contatore diverso) per il prossimo in linea con qualsiasi priorità messaggio non importa. Inviamo questo messaggio.

Ad esempio nel passaggio 1 troviamo che il client b è il primo ad avere un messaggio con priorità alta e lo spediamo.

Quindi il passaggio 2 rileva che il client A ha un messaggio con priorità bassa e inviamo questo messaggio.

Quindi torna al passaggio 1. Il cliente B ha ancora un altro messaggio di priorità, ma stiamo andando a quello successivo in modo che tutti i client abbiano l'opportunità di inviare in modo che il messaggio ad alta priorità del cliente C sia ora inviato.

Quindi ripeti il passaggio 2, Abbiamo inviato un messaggio per il cliente A, quindi ora stiamo andando per il prossimo cliente che è B, come abbiamo detto che il cliente B ha ancora un messaggio con priorità alta in modo da inviare questo messaggio.

Questo continua ad andare avanti e avanti.

Quindi la mia domanda: è questo il modo migliore per farlo? Ci sono schemi o modi per farlo in un modo migliore? (forse più efficiente)

    
posta Vincent 11.03.2016 - 16:30
fonte

0 risposte

Leggi altre domande sui tag