Was ist die definition von Echtzeit, in der Nähe von Echtzeit-und batch? Geben Sie jeweils Beispiele?
Ich versuche zu bekommen eine gute definition von Echtzeit, in der Nähe von Echtzeit-und batch? Ich spreche nicht über sync und async-obwohl für mich sind das unterschiedliche Abmessungen. Hier ist, was ich denke
- Der Echtzeit sync-web-Dienste oder asynchrone web services.
- Echtzeit werden könnte, JMS oder messaging-Systeme oder die meisten event-driven systems.
- Batch ist für mich mehr von einem zeitgesteuerten system, das die Bearbeitung, wenn er aufwacht.
Geben Sie jeweils Beispiele und fühlen Sie sich frei, um Korrektur meiner Annahmen.
Hmm. Ich dachte immer, batch war, als Sie feuerte, bis das ol' O29 durchgeführt und die deck über dem Fenster.
Lesen Sie die "über real-time" - tag für den Anfang.
Und nach der 029 es wurde über den 083, und dann die 407. Mein Lehrer würde kleine Gummibänder zwischen die Karten in der mülltrennung.
Lesen Sie die "über real-time" - tag für den Anfang.
Und nach der 029 es wurde über den 083, und dann die 407. Mein Lehrer würde kleine Gummibänder zwischen die Karten in der mülltrennung.
InformationsquelleAutor Albert T. Wong | 2011-03-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
https://stackoverflow.com/tags/real-time/info
Real-Time
Real-time bedeutet, dass die Zeit einer Tätigkeit, die Fertigstellung ist Teil der funktionalen Korrektheit. Zum Beispiel, die
sqrt()
Funktion der Korrektheit ist so etwas wieIn dieser Einstellung die Zeit, die es braucht, um führen Sie die
sqrt()
Verfahren ist nicht Teil der funktionalen Korrektheit. Ein schneller Algorithmus kann besser sein, in einigen qualitativen Sinn, aber nicht mehr oder weniger korrekt.Nehmen wir an, wir haben eine mythische Funktion, die aufgerufen wird
sqrtrt()
eine Echtzeit-version des square root. Vorstellen, zum Beispiel, müssen wir zur Berechnung der Quadratwurzel der Geschwindigkeit um richtig ausführen die nächste Bremsung in einer anti-Blockier-system. In dieser Einstellung könnten wir sagen stattdessen:In diesem Fall, die Zeit-Einschränkung ist nicht nur ein performance-parameter. Wenn
sqrtrt()
nicht vollständig in 275 Mikrosekunden, Sie kann zu spät Bremsen, die Auslösung entweder schleudern oder reduziert die Bremswirkung, die womöglich einen Unfall. Die zeitliche Beschränkung ist Teil der funktionalen Korrektheit der routine. Heben Sie diese bis ein paar Schichten, und Sie bekommen eine Echtzeit-system als ein (zumindest teilweise) aus Tätigkeiten, die Aktualität als Teil Ihrer funktionellen Korrektheit Bedingungen.In Der Nähe Von Echtzeit -
Einen near real-time system ist ein system, in dem Aktivitäten zur Bauzeit, Reaktionsfähigkeit, oder die wahrgenommene Latenz gemessen an der wall-clock-Zeit sind wichtige Aspekte der Qualität des Systems. Das kanonische Beispiel ist eine Aktienticker-system-Sie wollen zu get Zitate relativ schnell, nachdem sich der Preis ändert. Für die meisten von uns nicht-high-speed-Händler, was bedeutet, dass die wahrgenommene Verzögerung zwischen Daten zur Verfügung stehen und unserem sehen ist es vernachlässigbar.
Den Unterschied zwischen "real-time" und "near real-time" ist sowohl ein Unterschied in Präzision und Umfang. Echtzeit-Systeme haben zeitliche Einschränkungen, die im Bereich von Mikrosekunden bis Stunden, aber diese Zeit Einschränkungen sind in der Regel Recht präzise. Near-real-time-Regel impliziert eine engere Palette von Größen -- die in der menschlichen Wahrnehmung Toleranzen-aber in der Regel nicht artikuliert präzise.
Ich würde behaupten, dass near-real-time systems könnte man als real-time systems, sondern dass die Zeit, die Einschränkungen sind lediglich probabilistisch:
Batch
Batch-Operationen sind diejenigen, die wahrgenommen werden, werden große Blöcke von computing-Aufgaben mit nur makroskopische, human - oder Prozess-induzierte Fristen. Der spezifische Kontext der Berechnung ist in der Regel nicht wichtig, und eine batch-Berechnung ist in der Regel eine eigenständige rechnerische Aufgabe. Real-time und near-real-time-Aufgaben sind oft eng gekoppelt an die physische Welt und Ihre zeitlichen Einschränkungen ergeben sich aus Anforderungen aus der physischen/realen Interaktionen. Batch-Operationen, hingegen, konnte berechnet werden, zu jeder Zeit und an jedem Ort; Ihre Ausgänge sind ausschließlich definiert durch die Eingänge zur Verfügung gestellt, wenn der Stapel definiert.
Original-Beitrag
Ich würde sagen, dass real-time bedeutet, dass die Zeit (und nicht lediglich die richtige Ausgabe) eine operation ist ein Teil der Richtigkeit.
In der Nähe von real-time ist Wiesel-Wörter, die dasselbe wie real-Zeit, aber nicht wollen, gehen Sie zu der Disziplin/Aufwand/Kosten zu garantieren.
Batch ist "near real-time", wo Sie auch mehr Toleranz für lange Antwortzeiten.
Oft werden diese Begriffe verwendet werden (schlecht, IMHO) zu unterscheiden zwischen der menschlichen Wahrnehmung der Latenz/performance. Die Leute denken, real-time-real-schnell, z.B., Millisekunden oder so. In der Nähe von real-time-oft in Sekunden oder Millisekunden. Batch ist eine Latenz von Sekunden, Minuten, Stunden oder sogar Tage. Aber ich denke, die sind nicht besonders sinnvoll, Unterscheidungen zu treffen. Wenn Sie sich sorgen über die Zuverlässigkeit gibt es Disziplinen, die Ihnen helfen, dass.
hier ist eine umfassendere Versuch einer Antwort. Wenn Sie möchten, dass gezielte zusätzliche Antworten, aktualisieren Sie Ihre Frage und ich werde versuchen zu verfeinern.
Dies ist eine große Antwort, verdient mehr upvotes.
Ich mag die Idee, dass "near-real-time" ist ein probabilistischer Zeit-Einschränkung. Das passt gut mit meiner Vorstellung, dass ein near-real-time-system werden in der Regel in der Lage, "halten mit" real-world-Eingänge, man kann aber einige Latenz und könnte hinter ein bisschen, wenn es ein platzen der schnelle Eingabe zu behandeln (sollte es aber irgendwann nachholen, wenn die input-rate verlangsamt sich wieder). Ihre definition hat auch ein cooles ähnlichkeit zu "Wahrscheinlich Ungefähr Richtig" aus dem maschinellen lernen. (Jeder sollte schauen, bis das Konzept, wenn Sie nicht vertraut sind, ist es sehr mächtig.)
InformationsquelleAutor andersoj
Ich bin neugierig auf feedback, um mich auf diese. Echtzeit-und batch-sind gut definiert und von anderen gecovert (aber seien Sie gewarnt, dass Sie terms-of-art mit sehr spezifischen technischen Bedeutungen in bestimmten Kontexten). Jedoch, "near real-time" scheint ein viel unschärfer zu mir.
Bin ich für (und mit) "near real-time" zu beschreiben, eine signal-processing-system, das 'halten' im Durchschnitt, aber manchmal lags. Denken Sie sich ein system Verarbeitung von Ereignissen, die passieren nur sporadisch... Vorausgesetzt, es hat genügend Pufferkapazität und die Zeit, die es braucht um einen event weniger als der durchschnittlichen Zeit zwischen Ereignissen, die es mithalten kann.
In ein signal processing Kontext:
- Echtzeit-hinauszulaufen scheint, ein system, wo die Verarbeitung ist garantiert abgeschlossen, die mit einer bestimmten (kurzen) Verzögerung, nachdem das signal empfangen wurde. Ein minimaler Puffer ist nötig.
- Nähe real-time (ich verwende es) bedeutet ein system, in dem die Verzögerung zwischen dem Empfang und dem Abschluss der Verarbeitung können relativ große gelegentlich, aber das system wird nicht (außer unter krankhaften Bedingungen) fallen hinter so weit, dass der Puffer gefüllt wird.
- Batch bedeutet post-processing zu mir. Das eingehende signal wird nur gespeichert (vielleicht mit ein wenig Echtzeit-pre-processing) und dann später analysiert.
Dieser gibt den schönen Rahmen von real-time und near-real-Zeit-Systeme, wo Sie können (in der Theorie) immer nur Rennen, während neue Daten erworben werden... Verarbeitung erfolgt parallel mit acquisition. Batch-Verarbeitung erfolgt, nachdem alle Daten gesammelt wurden.
Sowieso, ich könnte das in Konflikt mit einigen technischen Definitionen, die ich bewusst bin... und ich gehe davon aus, dass jemand hier wird genüsslich korrigieren Sie mich, wenn nötig.
InformationsquelleAutor travc
Gibt es Probleme mit all diesen Antworten, dass die Definitionen sind fehlerhaft. Zum Beispiel, "batch" bedeutet einfach, dass die Transaktionen zusammengefasst und zusammen versendet. Echtzeit bedeutet Transaktions -, aber auch andere Auswirkungen. Also, wenn Sie kombinieren batch im gleichen Attribut als real-time und near-real time, Klarheit im Zweck für dieses Attribut ist verloren. Die definition wird weniger zusammenhalt, weniger klar. Dies würde jede Anwendung erstellt, mit der Daten mehr zerbrechlich. Ich würde vermuten, dass Praktiker besser wäre, w/a deutlich modelliert Taxonomie wie z.B.:
Attribute4 ist im Zusammenhang mit etwas, was ich bin jetzt tun, so dass Sie werfen könnte, die heraus-oder erweitern Sie die Liste für das, was Sie versuchen zu erreichen. Für jeden dieser Attribut-Werte, es würde wahrscheinlich zusätzliche, spezifische Attribute. Aber um die Informationen zusammen, wir müssen uns überlegen, was notwendig ist, um die erhobenen Daten sinnvoll. Zum Beispiel, was müssen wir tun, um zu wissen, zwischen Batch & transactional fließt, um Sie sinnvoll zusammen. Zum Beispiel, können Sie erwägen, Attribute für jeden die Möglichkeit bieten zu verstehen, Gesamt-Durchsatz für einen bestimmten Zeitraum. Scheint lustig, wie wir erstellen konzeptionelle, logische und physische Datenmodelle (hoffentlich) für unsere business Kunden, aber wir können nicht immer gelten, dass die Art des Denkens, wie wir Sie definieren die Terminologie in unseren Diskussionen.
InformationsquelleAutor Bill Coomer
Jedes system in dem Zeitpunkt, in dem die Ausgabe erzeugt wird, ist von Bedeutung. Dies ist in der Regel, weil der input entsprechend einige Bewegung in der physischen Umgebung oder der Welt und hat die Ausgabe zu beziehen, um die gleiche Bewegung. Die Verzögerung von der Eingabe bis zur Zeit der Ausgabe muss ausreichend klein für eine akzeptable Fristen.
InformationsquelleAutor mohammed.haris