Gleichzeitiges Modell

Im Concurrent-Modell werden die Listener- und Server-Teile des TP durch verschiedene Aufgaben gesteuert. Der einzige Zweck des Listeners besteht darin, die Verbindung zu akzeptieren und die Serveraufgabe zu spawnen. Der Serverteil der Anwendung sendet und empfängt Daten und führt TP-abhängige Verarbeitung durch. Dieses Modell ermöglicht einen höheren Grad an Parallelität, da der Listen-Socket nicht länger gehalten wird.

Der Listener muss ein TRM als erste Daten aus der TI-Laufzeitumgebung empfangen. Das TRM meldet dem Listener, welcher TP aufgerufen werden soll und welche Eigenschaften dieses Programm hat. Nach dem Senden des TRM muss die TI-Laufzeitumgebung vor dem Senden von Daten auf eine Antwort warten. Der Listener des gleichzeitigen Modells folgt dieser Sequenz:

  1. Erstellen eines Zuhörsockets

  2. Binden an eine lokale Adresse

  3. Zuhören (TCP/IP darüber informieren, dass der Socket verfügbar ist)

  4. Auswählen (auf eine Verbindungsanforderung warten)

  5. Akzeptieren der Verbindung

  6. TRM lesen

  7. Überprüfen der Gültigkeit der angeforderten Transaktions-ID (TRANID)

  8. Bereitstellen eines Sockets (Vorbereiten von TCP/IP für die Übertragung des Sockets)

  9. Starten der Aufgabe

  10. Synchronisierung der Arbeitstask-Annahme über das Socket

  11. Auswählen (Auf Verbindungsanforderung warten)

    Die Workeraufgabe des parallelen Modells folgt diesem Verfahren:

  12. Nehmen Sie einen Socket an (akzeptieren Sie die Socketanforderung vom Listener).

  13. Schreiben Sie eine Antwort auf das TRM.

  14. Lese- oder Schreibzugriff auf Anwendungsdaten.

  15. Schließen.

    Die Vorteile des parallelen Modells sind:

  • Einfache Implementierung des gleichzeitigen Zugriffs auf TPs, die für eine lange Dauer laufen.

  • Ein Listener wird von vielen TPs geteilt.

  • Die Server-TCP/IP-Logik ist einfach.

    Die Nachteile des parallelen Modells sind:

  • Erhöhter Netzwerkaufwand und Verzögerungen aufgrund der Anforderung des TRM-Austauschs.

  • Mehr CPU- und Ressourcenintensiver als das iterative Modell.

Siehe auch

Iterative vs. Gleichzeitige TCP/IP-Modelle