Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Компьютеризированная пакетная обработка - это выполнение «заданий, которые могут выполняться без взаимодействия с конечным пользователем или запускаться по расписанию, если позволяют ресурсы». [1]

История [ править ]

Термин «пакетная обработка» происходит от традиционной классификации методов производства на производство по заданию (разовое производство), серийное производство (производство «партии» нескольких изделий одновременно, по одной стадии за раз) и поточное производство. (серийное производство, все этапы сразу).

Ранняя история [ править ]

Ранние компьютеры могли одновременно запускать только одну программу. Каждый пользователь имел единоличное управление машиной в течение определенного периода времени. Они приходили к компьютеру с программой и данными, часто на перфокартах и ​​магнитной или бумажной ленте, и загружали свою программу, запускали и отлаживали ее, а по завершении уносили свой вывод.

По мере того, как компьютеры становились все быстрее, время настройки и демонтажа становилось все больше и больше доступного компьютерного времени. Были разработаны программы, называемые мониторами , предшественники операционных систем , которые могли обрабатывать серию или «пакет» программ, часто с магнитной ленты, подготовленной в автономном режиме. Монитор загружается в компьютер и запускает первое задание пакета. В конце задания он восстанавливает контроль, загружается и запускается до тех пор, пока пакет не будет завершен. Часто выход партии записывался на магнитную ленту и распечатывался или перфорировался в автономном режиме. Примерами мониторов были IBM Fortran Monitor System , SOS (Share Operating System) и, наконец, IBSYS для IBM 709x.систем в 1960 году. [2] [3]

Системы третьего поколения [ править ]

Компьютеры третьего поколения [4], способные к мультипрограммированию, начали появляться в 1960-х годах. Вместо того, чтобы запускать по одному пакетному заданию за раз, в этих системах может одновременно выполняться несколько пакетных программ, чтобы обеспечить максимальную загрузку системы. Одна или несколько программ могут ожидать ввода, одна активно работает на ЦП, а другие генерируют вывод. Вместо автономного ввода и вывода программы, называемые спулерами, считывают задания с карт, дисков или удаленных терминалов и помещают их в очередь заданий для выполнения. Для того , чтобы предотвратить ТУПИКИ на работу планировщика должен знать требования-памяти ресурсов каждого задания, в магнитные ленты, монтируемые дискии т. д., поэтому были разработаны различные языки сценариев для структурированного предоставления этой информации. Вероятно, наиболее известным является язык управления заданиями IBM (JCL). Планировщики заданий выбирают задания для выполнения по множеству критериев, включая приоритет, размер памяти и т. Д. Удаленная пакетная обработка - это процедура отправки пакетных заданий с удаленных терминалов, часто оснащенных устройством чтения перфокарт и линейным принтером . [5] Иногда асимметричная многопроцессорная обработка используется для буферизации пакетного ввода и вывода для одного или нескольких больших компьютеров с помощью подключенной меньшей и менее дорогой системы, как в IBM System / 360 Attached Support Processor .

Более поздняя история [ править ]

Пакетный файл CDC NOS, чтобы получить файл STARTRK и вывести его на перфоратор

С конца 1960-х годов стали распространены интерактивные вычисления, например, через текстовые компьютерные терминальные интерфейсы (как в оболочках Unix или циклы чтения-оценки-печати ), а позже и графические пользовательские интерфейсы . Неинтерактивное вычисление, как единовременный рабочие мест , такие как составление и обработка нескольких элементов в партии, стали задним числом называется пакетной обработкой , и срок пакетного задания (в начале использования часто «партия из рабочих мест») стала обычным явлением. Раннее использование особенно широко используется в Мичиганском университете , в районе Терминальной системы Мичигана (MTS).[6]

Хотя разделение времени действительно существовало, его использование было недостаточно надежным для корпоративной обработки данных; Ничто из этого не имело отношения к более раннему оборудованию для записи единиц , которое приводилось в действие человеком.

Выполняется [ править ]

Неинтерактивные вычисления по-прежнему широко используются в вычислениях, как для общей обработки данных, так и для «служебных» задач системы (с использованием системного программного обеспечения ). Программа высокого уровня (выполняющая несколько программ с некоторой дополнительной «связующей» логикой) сегодня чаще всего называется сценарием и написана на языках сценариев , в частности сценариях оболочки для системных задач; в IBM PC DOS и MS-DOS это называется пакетным файлом . Сюда входят компьютеры на базе UNIX , Microsoft Windows , macOS (основой которой является ядро BSD Unix) и даже смартфоны.. Запущенный сценарий, особенно тот, который выполняется из интерактивного сеанса входа в систему , часто называют заданием , но этот термин используется очень неоднозначно.

«Нет прямого аналога пакетной обработки z / OS в системах ПК или UNIX. Пакетные задания обычно выполняются в запланированное время или по мере необходимости. Возможно, самое близкое сравнение проводится с процессами, выполняемыми командой AT или CRON в UNIX, хотя различия значительны ». [1]

Современные системы [ править ]

Пакетные приложения по-прежнему критически важны для большинства организаций в значительной степени потому, что многие обычные бизнес-процессы поддаются пакетной обработке. Хотя онлайн-системы также могут работать, когда ручное вмешательство нежелательно, они обычно не оптимизированы для выполнения повторяющихся задач большого объема. Поэтому даже новые системы обычно содержат одно или несколько пакетных приложений для обновления информации в конце дня, создания отчетов, печати документов и других неинтерактивных задач, которые должны надежно выполняться в определенные бизнес-сроки.

Некоторые приложения подходят для потоковой обработки, а именно те, которым нужны данные только из одного входа сразу (например, не итоги): начинайте следующий шаг для каждого входа, когда он завершает предыдущий шаг. В этом случае обработка потока снижает задержку для отдельных входных данных, позволяя завершить их, не дожидаясь завершения всего пакета. Однако многим приложениям требуются данные из всех записей, особенно такие вычисления, как итоги. В этом случае вся партия должна быть завершена, прежде чем будет получен пригодный для использования результат: частичные результаты не могут быть использованы.

Современные пакетные приложения используют современные пакетные среды, такие как Jem The Bee , Spring Batch или реализации JSR 352 [7], написанные для Java , и другие структуры для других языков программирования, чтобы обеспечить отказоустойчивость и масштабируемость, необходимые для обработки больших объемов данных. . Чтобы обеспечить высокую скорость обработки, пакетные приложения часто интегрируются с решениями для распределенных вычислений для разделенияпакетное задание на большом количестве процессоров, хотя при этом возникают серьезные проблемы программирования. Пакетная обработка больших объемов данных предъявляет особенно высокие требования к архитектуре системы и приложений. Архитектуры с высокой производительностью ввода / вывода и вертикальной масштабируемостью , включая современные мэйнфреймы , обычно обеспечивают лучшую производительность пакетной обработки, чем альтернативы.

Языки сценариев стали популярными по мере их развития вместе с пакетной обработкой. [8]

Пакетное окно [ править ]

Партия окно является «периодом менее интенсивной деятельности в Интернете», [9] , когда компьютерная система находится в состоянии запуска пакетных заданий без вмешательства со стороны , или с интерактивными онлайновыми системами.

Работа банка в конце дня (EOD) требует концепции переключения , при которой транзакция и данные отключаются для пакетной активности определенного дня («депозиты после 15:00 будут обработаны на следующий день»).

Поскольку требования к времени безотказной работы онлайн-систем расширились для поддержки глобализации , Интернета и других потребностей бизнеса, окно пакетной обработки сократилось [10] [11], и все больший упор был сделан на методы, которые потребовали бы, чтобы онлайн-данные были доступны в течение максимального количества времени. .

Размер партии [ править ]

Размер пакета относится к количеству единиц работы, которые должны быть обработаны в рамках одной пакетной операции. Вот несколько примеров:

  • Количество строк из файла для загрузки в базу данных перед фиксацией транзакции.
  • Количество сообщений, которые нужно исключить из очереди.
  • Количество запросов для отправки в одной полезной нагрузке.

Обычное использование пакетной обработки [ править ]

  • Эффективное массовое обновление базы данных и автоматическая обработка транзакций в отличие от приложений интерактивной онлайн-обработки транзакций (OLTP). Этап извлечения, преобразования, загрузки (ETL) при заполнении хранилищ данных по сути является пакетным процессом в большинстве реализаций.
  • Выполнение массовых операций с цифровыми изображениями, таких как изменение размера, преобразование, добавление водяных знаков или иное редактирование группы файлов изображений.
  • Преобразование компьютерных файлов из одного формата в другой. Например, пакетное задание может преобразовывать проприетарные и устаревшие файлы в общие стандартные форматы для запросов и отображения конечных пользователей.

Известные среды пакетного планирования и выполнения [ править ]

IBM мэйнфреймов г / OS операционной системы или платформы имеет , пожалуй, наиболее изысканный и эволюционировали набор пакетной обработки объектов благодаря своему происхождению, долгой истории и продолжающейся эволюции. Сегодня такие системы обычно поддерживают сотни или даже тысячи одновременных интерактивных и пакетных задач в одном образе операционной системы . Технологии, которые помогают одновременной пакетной и онлайн-обработке, включают язык управления заданиями (JCL), языки сценариев, такие как REXX , подсистему ввода заданий ( JES2 и JES3 ), диспетчер рабочей нагрузки (WLM), диспетчер автоматического перезапуска (ARM), службы восстановления ресурсов (RRS). , Обмен данными DB2 ,Parallel Sysplex , уникальные оптимизации производительности, такие как HiperDispatch , архитектура каналов ввода-вывода и некоторые другие.

Программы для Unix cron, atи batch(сегодня batchпредставляет собой вариант at) позволяют для комплексного планирования рабочих мест. В Windows есть планировщик заданий . Большинство высокопроизводительных вычислительных кластеров используют пакетную обработку для максимального использования кластера. [12]

См. Также [ править ]

  • Фоновый процесс
  • Пакетный файл
  • Пакетное переименование - автоматическое переименование большого количества файлов без вмешательства человека для экономии времени и усилий.
  • BatchPipes - для служебной программы, которая увеличивает производительность пакетной обработки.
  • Режимы обработки
  • Поддержка производства - для поддержки пакетных заданий / расписания / потоковой передачи

Ссылки [ править ]

  1. ^ a b Корпорация IBM. "Что такое пакетная обработка?" . Концепции zOS . Проверено 10 октября 2019 года .
  2. ^ "Прямая пара для IBM 7090" . SoftwarePreservationGroup.org . IBSYS была операционной системой для 7090, которая произошла от SOS (SHARE Operating System).
  3. ^ «История операционных систем» (PDF) . Вашингтонский университет . Проверено 10 октября 2019 года .
  4. ^ «Почему ты не умрешь? IBM S / 360 и его наследие в 50» . Реестр . 7 апреля 2014 г.
  5. ^ "Справочное руководство по аппаратному обеспечению пользовательского терминала CDC" (PDF) . BitSavers .
  6. ^ «Вычислительный центр: достижение соглашения с IBM System / 360 Model 67». Новости исследований . Университет Мичигана. 20 (ноя / дек): 10 . 1969 г.
  7. ^ «Пакетные приложения для платформы Java» . Процесс сообщества Java . Проверено 3 августа 2015 .
  8. ^ "JSR352 null" . IBM.com. JSR 352, открытая стандартная спецификация для пакетной обработки Java. ... Используемые языки программирования со временем развивались в зависимости от того, что было доступно
  9. ^ «Мэйнфреймы, работающие в нерабочее время: пакетная обработка» . Концепции мэйнфреймов . Корпорация IBM . Проверено 20 июня 2013 года .
  10. ^ Пакетная обработка: дизайн - сборка - запуск: прикладные практики и принципы . Орейли. 2009-02-24. ISBN 9780470257630.
  11. ^ «Традиционно пакетная обработка выполнялась в одночасье, с заданиями, обрабатывающими миллионы ... Сегодня пакетное окно постоянно сокращается из-за требований доступности 24/7».
  12. ^ «Учебник по высокопроизводительным вычислениям с контрольным списком и советами по оптимизации» . 25 января 2018 г. многопользовательская, общая и интеллектуальная система пакетной обработки улучшает масштаб ..... Большинство кластеров HPC находятся в Linux