Es macht mich verrückt, geschäftliche Befürworter den Begriff Echtzeit für webbasierte Systeme zu hören. Ich werde zum Verrückten im Raum und skandiere: "Es gibt im Internet keine solche Sache! Wir sind im Banking, nicht im Raketenstart / Schiffsnavigation / Autopilot-Geschäft!"
Jeder hat etwas Besseres für die Leistungsspezifikationen als Echtzeit oder seine schreckliche Hybrid, fast-Echtzeit?
In der Bankenbranche bedeutet "Echtzeit" meistens das Gegenteil von "Ende des Tages".
Da es in früheren Zeiten noch kein Internet / Intranet / LAN / WAN gab, wird der gesamte Abgleich am "Ende des Tages" durchgeführt. Transaktionen, die in einer Filiale mit einem bestimmten Bankkonto getätigt werden, sind sich der Transaktionen in einer anderen Bank nicht bewusst; Die gesamte Saldoauflösung wird am Ende des Tages ausgeführt. Bei Mainframes kam die gleiche Regel zur Anwendung: Die Auflösungen werden vom Computer über einen lang andauernden Prozess erledigt, der normalerweise zwischen 21:00 und 24:00 Uhr läuft.
Dies ist der Grund für Begriffe wie "aktueller Kontostand" und "verfügbares Kontostand", z. B. verfügbares Kontostand, was durch den Tagesendvorgang als Kontostand für den vorherigen Tag bestimmt wurde; das aktuelle Gleichgewicht ist das, was es sein soll, aber Sie können es noch nicht berühren, da die Bank nicht sicher ist, ob Sie irgendwo eine Transaktion getätigt haben.
Mit dem Aufkommen von Geldautomaten, dem Internet und anderen Technologien für die Interkonnektivität ist jetzt eine "Echtzeit" -Ausgleichslösung möglich: Eine Auszahlung, eine Online-Transaktion, eine Kauflastschrift usw. werden sofort auf den Bankkonten der Kunden wiedergegeben die Notwendigkeit, auf die Verarbeitung am Ende des Tages zu warten.
Sofort? Sofortig? Live (nein, warte, Microsoft besitzt dieses Wort heutzutage, nicht wahr?)?
Ernsthafterweise ist "Echtzeit" wahrscheinlich für niemanden verwirrend, der keinen Prozesssteuerungs- / eingebetteten Systemhintergrund hat. Trinken Sie ein Getränk und sorgen Sie sich um andere Dinge.
Echtzeit bedeutet für einen eingebetteten Programmierer eine Sache. Es bedeutet etwas anderes für einen normalen Menschen. Wenn mein Online-Guthaben immer dem Konto meines Geldautomaten / Bankangestellten entspricht, würde ich das in Echtzeit nennen. Wenn ich Geld zwischen Konten überweisen, den Bildschirm aktualisieren und sofort die vollständige Übertragung sehen kann, würde ich das in Echtzeit aufrufen.
Wenn Ihr Web-Backend nur Befehle für menschliche Eingriffe ausgibt oder Benutzerbefehle in einer Datei für die Offline-Stapelverarbeitung ablegt, wäre das nicht Echtzeit.
Echtzeit bedeutet, dass bei einer Reihe von Aufgaben, die ausgeführt werden, um eine Aufgabe auszuführen, wenn eine Aufgabe mehr als die definierte Zeit dauert, der gesamte Prozess fehlschlägt und das System möglicherweise abstürzt. Zum Beispiel wird die Anwendung, die verwendet wird, um das Mars-Erkundungsfahrzeug zu steuern, als eine Echtzeitanwendung betrachtet, selbst wenn ein auf der Erde ausgelöstes Kommando 8 Minuten benötigt, um das Fahrzeug zu erreichen, und die Bilder der Fahrzeugkameras mehr als 8 Minuten benötigen Erde. Selbst mit einer Latenz von 16 Minuten zwischen dem Ausführen der Aktion und dem Sehen des Ergebnisses kann es als Echtzeit definiert werden, denn wenn es länger als die 16 Minuten dauernde Verzögerung dauert, besteht ein großes Risiko, dass das Fahrzeug mit einem Felsen kollidieren könnte in eine Depression fallen.
Zurück zu Ihrem Beispiel, ich sehe keinen Geldautomaten oder die oben genannten Salden als Echtzeit, sie könnten online oder aktualisiert sein, aber nicht Echtzeit, da das System nicht abstürzt, wenn es mehr Zeit benötigt als erwartet einen Ausstieg an einem Geldautomaten abschließen.
Wie definieren Sie "Echtzeit" für eingebettete Systeme? Ich würde sagen, dass eine anständige Definition "ein System ist, das in der Lage ist, Inputs schneller als die durchschnittliche Zeit zwischen Eingaben zu verarbeiten und darauf zu reagieren". Mit anderen Worten, ein System, das im Vergleich zu den Systemen, die ihm Daten zuführen, nie in der Verarbeitung zurückfällt. Mit dieser Definition ist alles im Web ein Echtzeitsystem, da Webserver, die zurückfallen, in der Regel nicht erreichbar sind (z. B. der Slashdot-Effekt).
Es ist ein Marketingbegriff, der "wirklich schnell" bedeutet, wie vielleicht & lt; 1 Sekunde.
Offensichtlich kann es nicht dasselbe bedeuten wie wenn über eingebettete Echtzeitsysteme, Echtzeitbetriebssysteme usw. gesprochen wird. Das Internet ist dafür zu groß und heterogen.
Eine Definition eines Echtzeitsystems (aus der Welt der sicherheitskritischen Systeme) ist ein System, dessen Korrektheit von der Aktualität seiner Antworten abhängt.
Das würde genauso gut für ein Echtzeit-Web-Handelssystem gelten - die Aktienwerte gehen in Sekundenschnelle verloren wie bei einem eingebetteten Avionik-Fly-by-Wire-System mit Genauigkeitsanforderungen für Millisekunden.
Tags und Links architecture