Stapelverarbeitung


Stapelverarbeitung

Stapelverarbeitung, auch Batchverarbeitung genannt, ist ein Begriff aus der Datenverarbeitung und bezeichnet die sequentielle Verarbeitung einer festgelegten Menge an Aufgaben oder Daten.

Die komplementäre Bearbeitungsform wird „Dialogverarbeitung“ genannt; dabei arbeitet das Programm interaktiv (im Dialog, jeweils einen konkreten Arbeitsschritt/Vorgang betreffend), meist mit Bildschirmen als Ein-/Ausgabemedium, mit Benutzern zusammen.

Inhaltsverzeichnis

Herkunft

Die Bezeichnung „Stapelverarbeitung“ stammt aus der Anfangszeit der Datenverarbeitung, als interaktive Verarbeitung noch nicht möglich war. Programme und Datensätze wurden damals auf Lochkarten gestanzt, die Lochkarten wurden als Kartenstapel (batch) nacheinander abgearbeitet. Als später die Lochkarte von anderen Speichermedien, z. B. Magnetbändern und Plattenlaufwerken abgelöst wurde und (durch direkte Eingaben über ein Terminal) auch interaktives Arbeiten mit dem Dialogcomputer möglich wurde, blieb der Begriff erhalten und wird bis heute für nicht-interaktive Datenverarbeitung verwendet: Man gibt einen Auftrag vor; dieser wird vom Computer mit allen dazu gehörenden Daten verarbeitet – ohne dass der Benutzer dabei eingreifen muss. Auch die Arbeitsergebnisse liegen in der Regel als 'Menge' vor, zum Beispiel in Form von Belegen, Listen (Berichte), neuen/geänderten Datenbeständen etc.

Varianten der Stapel- / Batchverarbeitung

Der Begriff 'Stapelverarbeitung' hat zwei voneinander abweichende Bedeutungen:

Verarbeiten von Systemkommandos

Der Begriff 'Stapelverarbeitung' wird häufig für das Abarbeiten betriebssystemnaher Dienste und Aufgaben verwendet. In diesem Zusammenhang ist v. a. durch MS-DOS der Begriff Batch-Datei oder Batch-File bekannt geworden. Batch-Dateien enthalten eine Reihe von Befehlen, die die Betriebssystem-Funktionen nutzen; diese werden durch das Ausführen der Batchdatei Schritt für Schritt abgearbeitet. Bei DOS/Windows werden die Batch-Dateien üblicherweise mit der Dateinamenserweiterung <name>.bat oder <name>.cmd versehen. Unter Windows können sie durch einen Doppelklick gestartet werden. Bei Unix bezeichnet man Batchdateien als Shellskript. Diese sind wesentlich leistungsfähiger als die ersten DOS-Batch-Programme (bis Windows 9x, siehe auch Command.com), da unter Unix mehr Betriebssystem-Befehle oder -Werkzeuge zur Verfügung stehen. Bei Apple Macintosh werden diese Programme AppleScript genannt. Das aktuelle System Mac OS X ist ebenfalls eine Unix-Variante und kennt auch Batch-Dateien im üblichen Sinn. GNUstep verwendet StepTalk, ein Smalltalk-Framework. Insgesamt findet der Begriff Skript, auch für Batch-Programme, immer mehr Verwendung.

Verarbeitung von Daten im Stapelbetrieb

In der kommerziellen Datenverarbeitung bezeichnet 'Stapelverarbeitung' das automatische, sequentielle und vollständige Abarbeiten der in der (den) Eingabedatei(en) enthaltenen Daten. Das Programm läuft dabei nach dem Start vollkommen selbstständig und i. d. R. ohne jegliche Benutzerinteraktion ab; Ausnahmen könnten Fehlersituationen mit der Notwendigkeit von Operator-Eingriffen sein. Es stellt seine Ergebnisse in Form von Dateien oder (über Insert / Update / Delete) in Datenbanken oder über andere Ausgabegeräte (z. B. Drucker) zur Verfügung.

Die Struktur von Stapelprogrammen folgt häufig standardisierten Konzepten, zum Beispiel der normierten Programmierung, weil der Ablauf in der internen Verarbeitung – bis auf aufgabenspezifische Details – identisch oder ähnlich sein kann.

Beispiele für Stapel-Datenverarbeitung:

  • Rechnungswesen: Einbuchen der Zahlungseingänge eines Arbeitstages; führt zu neuen Kontoständen
  • Versandhandel: Erstellen von Rechnungen für ausgelieferte Artikel; zum Versand an die Kunden
  • Mahnwesen: Erstellen von Mahnungen für Kunden, deren Rechnungen nach x Tagen noch unbezahlt sind
  • Einzelhandel: Erstellen einer Verkaufsstatistik aus allen Verkäufen des lfd. Monats, mit Anzahl und Umsatzsumme je Artikelgruppe und Filiale
  • Fotobearbeitung: Drehen aller Fotos (in einem bestimmten Ordner) um 90 Grad nach links

Steuern und Starten von Batch-Jobs

Das Starten von Anwenderprogrammen zur Stapelverarbeitung geschieht über sog. Jobs, die von Systemdiensten zur Job-Steuerung verwaltet werden. Je nach Betriebssystem werden diese Dienste unterschiedlich genannt.

Zur Steuerung sind Steuerinformationen nötig, die (z. B. auf IBM-Betriebssystemen) mittels JCL hinterlegt werden. Inhalt dieser Vorgaben sind in erster Linie die jeweiligen Programmaufrufe, ggf. erforderliche Parameter, die Namen (mit Pfad- und Laufwerksangabe) für zu verarbeitende und zu erzeugende Dateien etc. Das Job-Steuerungssystem verwaltet die Jobs und startet sie zu einem definierten Zeitpunkt und / oder nach einem (vorher eingetretenen) Ereignis, z. B. dem erfolgreichen Ende eines vorher ausgeführten Programms. Batch-Jobs werden daher oft lastoptimierend eingesetzt, d. h. dann bearbeitet, wenn wenig interaktive Arbeit anfällt (nachts, am Wochenende). Dies kann gleichermaßen für Anwendungsprogramme und für Systemprogramme (z. B. zur Datensicherung) zutreffen.

Die Verarbeitung von Batch-Jobs war lange eine Domäne von Mainframes. Auf Systemen, die unter dem IBM-Betriebssystem z/OS (vormals MVS) laufen, werden sie normalerweise durch eine Steuerungssoftware (z. B. OPC) gesteuert, können aber auch durch einen TSO-Benutzer oder einen bereits laufenden Job oder eine so genannte Started-Task ausgelöst werden.

Bei z/OS sind Batch-Jobs in JCL geschrieben und normalerweise in einem Partitioned Data Set (JCL-Library) mit Recordformat FB und Recordlänge 80 abgelegt. Eine Art von 'Schachtelung' ist durch die Verwendung katalogisierter Prozeduren möglich. Administrative Arbeiten, welche bei Unix mittels Shellskripten durchgeführt werden, werden bei z/OS heutzutage sehr oft mit REXX-Skripten unter TSO durchgeführt. Die Batch-Jobs werden in erster Linie für automatisierte Verarbeitungen (oft Massenverarbeitungen) eingesetzt. Das Betriebssystem enthält zur Jobsteuerung ein Job Entry Subsystem JES2 oder JES3.

Batch-Jobs analog zu denen der z/OS-Mainframes sind inzwischen auch auf Unix-basierten Servern möglich und insbesondere im Hochleistungsrechnen auch üblich. Hierzu werden spezielle Batchjob-Scheduler verwendet, die insbesondere die Herausforderungen von programminterner Parallelität handhaben können. Einfache Stapelverarbeitung ist mittels Cronjobs auf Unix/Linux denkbar.

Unter dem Betriebssystem OpenVMS werden Batch-Jobs, die z. B. mittels der Kommandosprache DCL programmiert werden können, durch sogenannte Batch-Queues unterstützt. Diese Queues können auf vielseitige Weise eingerichtet werden und sorgen für eine automatisierte Abarbeitung der Batch-Jobs.

Batch-Skripte unter Windows

Hauptartikel: Microsoft Batch

Die Batch-Skripte, auch Batch-Programme oder Stapelverarbeitungsprogramme genannt, stammen aus der Zeit von DOS und sind bis heute unter allen Windows-Versionen ausführbar. Immer wenn häufig die gleichen Befehle ausgeführt werden sollen, bieten sich Stapelverarbeitungsprogramme an, so etwa für automatisierte Anmeldevorgänge. Es ist auch möglich, die Ausführung einzelner Befehlszeilen von einer Bedingung abhängig zu machen. Dafür gibt es Konstrukte wie IF oder IF NOT. Neben diesen Bedingungsoperatoren können auch Variablen genutzt, Sprünge ausgeführt und Kommentare geschrieben werden.

Unter Windows-NT-basierten Systemen gibt es außerdem so genannte Befehlserweiterungen, die insbesondere die IF- und FOR-Befehle stark aufwerten, indem sie z. B. auch Vergleiche von Werten anbieten.

Mittlerweile wurde auch ein möglicher Nachfolger der Cmd.exe-Shell unter dem Namen Windows PowerShell von Microsoft veröffentlicht, welcher wesentlich komplexere Stapelverarbeitungsprogramme zulässt.

Siehe auch

Weblinks


Wikimedia Foundation.

Synonyme:

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Stapelverarbeitung — Batchbetrieb * * * Sta|pel|ver|ar|bei|tung 〈f. 20; unz.; EDV〉 = Batchprocessing * * * Sta|pel|ver|ar|bei|tung, die (EDV): Batchprocessing. * * * Stapelverarbeitung   [engl. batch processing], eine Methode der Datenverarbeitung, bei der… …   Universal-Lexikon

  • Stapelverarbeitung — paketinis apdorojimas statusas T sritis automatika atitikmenys: angl. batch computing; batch processing vok. Stapelverarbeitung, f rus. пакетная обработка, f pranc. traitement du train de travaux, m; traitement par lots, m …   Automatikos terminų žodynas

  • Stapelverarbeitung — ⇡ Stapelbetrieb …   Lexikon der Economics

  • Batchbetrieb — Stapelverarbeitung …   Universal-Lexikon

  • BAT-Datei — Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht interaktive Bearbeitung von Aufgaben. Inhaltsverzeichnis 1 Herkunft 2 Verarbeitung von Batch Dateien 3 Verarbeitung von Batch Jobs 4 …   Deutsch Wikipedia

  • Batch-Datei — Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht interaktive Bearbeitung von Aufgaben. Inhaltsverzeichnis 1 Herkunft 2 Verarbeitung von Batch Dateien 3 Verarbeitung von Batch Jobs 4 …   Deutsch Wikipedia

  • Batch-Programm — Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht interaktive Bearbeitung von Aufgaben. Inhaltsverzeichnis 1 Herkunft 2 Verarbeitung von Batch Dateien 3 Verarbeitung von Batch Jobs 4 …   Deutsch Wikipedia

  • Batch-Skript — Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht interaktive Bearbeitung von Aufgaben. Inhaltsverzeichnis 1 Herkunft 2 Verarbeitung von Batch Dateien 3 Verarbeitung von Batch Jobs 4 …   Deutsch Wikipedia

  • Batch-Verarbeitung — Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht interaktive Bearbeitung von Aufgaben. Inhaltsverzeichnis 1 Herkunft 2 Verarbeitung von Batch Dateien 3 Verarbeitung von Batch Jobs 4 …   Deutsch Wikipedia

  • Batchdatei — Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht interaktive Bearbeitung von Aufgaben. Inhaltsverzeichnis 1 Herkunft 2 Verarbeitung von Batch Dateien 3 Verarbeitung von Batch Jobs 4 …   Deutsch Wikipedia