المعالجة بالدفعات
تعرف المعالجة بالدفعات على أنها تنفيذ سلسلة من البرامج ("الوظائف") على كمبيوتر بدون تدخل يدوي.
ويتم تنصيب وظائف الدفعات بحيث يمكن تشغيلها حتى النهاية بدون التدخل اليدوي، وهكذا فإن جميع بيانات المدخلات يتم اختيارها مسبقا من خلال مخطوطات أو معاملات سطر الأوامر. وهذا على العكس من البرامج التفاعلية أو التي تتم "عبر الإنترنت" والتي تدعم المستخدم في مثل حالات المدخلات هذه. ويأخذ البرنامج مجموعة من ملفات البيانات مثل المدخلات، ويقوم بمعالجة البيانات. وتعرف بيئة التشغيل هذه بمصطلح "المعالجة بالدفعات" لأن بيانات المدخلات يتم جمعها في دفعات من الملفات وتتم معالجتها في دفعات من خلال البرنامج.
للمعالجة بالدفعات الفوائد التالية:
كانت المعالجة بالدفعات مرتبطة بكمبيوترات الحواسيب الرئيسية mainframe منذ البدايات المبكرة للحوسبة الإلكترونية في خمسينيات القرن العشرين. وكانت هناك مجموعة متنوعة من الأسباب وراء سيطرة المعالجة بالدفعات على الفترة المبكرة من الحوسبة. وأحد الأسباب هو أن أكثر مشكلات الأعمال إلحاحا بسبب الربحية والتنافسية كانت أساسا تلك المشكلات المتعلقة بالقضايا المحاسبية، مثل دفع الفواتير. وتعتبر عملية دفع الفواتير معالجة عملية قائمة على الدفعات في الأساس، ومن الناحية العملية فإنه يجب على كل شركة أن تكون لديها فواتير، يعتمد عليها وفي وقتها تماما. كما أنه كان كل مورد حوسبي مكلفا، لذلك فإن كل تسليم متوالي لوظائف الدفعات يقوم بربط محددات المورد والتطور التكنولوجي في الوقت ذاته. ولاحقا، فإن الجلسات التفاعلية مع الواجهات الطرفية للكمبيوتر القائمة على النصوص أو مع واجهات مستخدم الرسومات قد أصبحت أكثر شيوعا. بأي حال فإن الكمبيوترات لم تكن في البداية قادرة حتى على تحميل العديد من البرامج على ذاكرتها الرئيسية.
ولا تزال المعالجة بالدفعات مسيطرة في مجال الحوسبة بالحواسيب الرئيسية، لكن من الناحية العملية فإن جميع الكمبيوترات الآن قادرة على الأقل على القيام ببعض عمليات المعالجة بالدفعات، وحتى إن كانت من أجل مهام "العناية بالمنزل" فحسب. وتتضمن تلك الكمبيوترات بصورة متزايدة تلك القائمة على نظم اليونيكس UNIX وويندوز مايكروسوفت وماك أو أس إكس Mac OS X، وحتى الهواتف الذكية. إن مسح الفيروسات هو شكل من أشكال المعالجة بالدفعات، وكذلك الحال بالنسبة للوظائف المجدولة التي تقوم دوريا بإلغاء الملفات المؤقتة التي لم تعد مطلوبة. وتكون لنظم البريد الإلكتروني دائما وظائف دفعات يتم تخزينها دوريا وكذلك ضغط الرسائل القديمة. ومع تحول الحوسبة بشكل عام لأن تكون أكثر انتشارا في المجتمع وفي العالم فإن الحال نفسه ينطبق على المعالجة بالدفعات.
بالرغم من تاريخها الطويل فإن تطبيقات الدفعات لا تزال هامة للغاية في غالبية الشركات ويرجع ذلك في جزء كبير منه إلى أن العديد من معالجات الأعمال الرئيسية تقوم أساساا على الدفعات وربما ستظل كذلك دائما. (إن نظام الفواتير هو نموذج ملحوظ لما يتطلبه كل عمل تقريبا للتشغيل). وبينما يمكن تشغيل النظم التي تتم عبر الإنترنت عندما لا تكون هناك رغبة في التدخل اليدوي، فإن هذه النظم ليست مناسبة نمطيا لأداء مهام ذات حجم كبير ومتكررة. ومن ثم فإنه حتى النظم الجديدة تحتوي عادة واحد أو أكثر من تطبيقات الدفعات من أجل تحديث المعلومات في نهاية اليوم، وعمل التقارير، وطباعة الوثائق، والمهام غير التفاعلية الأخرى التي يجب أن تكتمل بمصداقية في إطار مواعيد تنفيذ أعمال محددة.
وتستخدم تطبيقات الدفعات الحديثة هياكل الدفعات الحديثة مثل سبرنج باتش Spring Batch، والمكتوب للغة جافا Java، والهياكل الأخرى للغات البرمجة الأخرى، من أجل توفير الاستجابة للخطأ والقابلية للتوسع المطلوبتين لمعالجة أحجام كبيرة. ومن أجل ضمان معالجة عالية السرعة، فإن تطبيقات الدفعات تكون غالبا متكاملة مع شبيكة حلول الحوسبة لتقسيم وظيفة الدفعات على عدد كبير من المعالجات، بالرغم من أنه هناك تحديات برمجياتية في القيام بهذه المهمة. وتفرض معالجة حجم عالي بالدفعات مطالب ثقيلة ذات خصوصية على النظام وبنيات التطبيق أيضا. إن البنيات التي تميز أداء قويا في المدخلات/ المخرجات والقابلية الأفقية للتوسع، بما في ذلك كمبيوترات الحواسيب الرئيسية، تعمل على توفير أداء دفعات أفضل من البدائل.
وقد أصبحت لغات النصوص منتشرة لأنها تطورت جنبا إلى جنب مع المعالجة بالدفعات.
ويتضمن الجدول النمطي للمعالجة بالدفعات تقرير نهاية اليوم. وتاريخيا فإن العديد من النظم كانت بها نافذة للدفعات حيث يتم غلق النظم الفرعية عبر الإنترنت ويتم استخدام سعة النظام لتشغيل الوظائف المألوفة لجميع البيانات (الحسابات، أو المستخدمون، أو العملاء) على النظام. وفي البنك، على سبيل المثال، فإن وظائف تقرير نهاية اليوم تضمن حساب الفائدة، وعمل التقارير ومجموعة البيانات للنظم الأخرى، والطباعة (الميزانيات مثلا)، ومعالجة المدفوعات. وقد انتقلت العديد من الشركات إلى التزامن باستخدام الإنترنت وبنيات الدفعات من أجل دعم العولمة، والإنترنت، ومطالب الأعمال الأخرى الأكثر حداثة. وتفرض مثل هذه البنيات ضغوطا فريدة على تصميم النظام، وفنيات البرمجة، وهندسة الإتاحة، وتقديم خدمات تكنولوجيا المعلومات.
ومن الإجراءات الحوسبية الشائعة للمعالجة بالدفعات عملية الطباعة. وترتبط هذه العملية طبيعيا باختيار المشغل للنصوص التي تحتاج إلى طباعة والإشارة إلى برامج طباعة الدفعات متى وأين يجب أن تخرج وتكون لها الأولوية في مهام الطباعة. ثم يتم إرسال المهمة إلى طابور الطباعة حيث يقوم خادم الطباعة بإرسالها إلى الطابعة.
كما يتم استخدام المعالجة بالدفعات أيضا من أجل التحديث الكفء لقواعد البيانات وعملية التبادل الآلي، كنقيض لتطبيقات معالجة التبادل عبر الإنترنت (OLTP). إن خطوة الاستخراج والتحويل والتحميل (ETL) في أوعية البيانات الشعبية تعتبر بالأساس عملية دفعات في غالبية تطبيقاتها.
يتم غالبا استخدام معالجة الدفعات لأداء عمليات عديدة بالصور الرقمية. وتوجد هناك برامج كمبيوتر تمكن المرء من التحكم في الحجم وتحويل والقيام بعمليات التعديل الأخرى في ملفات الصور.
كما يتم استخدام المعالجة بالدفعات في تحويل عدد من ملفات الكمبيوتر من تنسيق ما إلى آخر. وذلك من أجل جعل الملفات قابلة للنقل وبارعة (رقميا)، وخاصة فيما يتعلق بملفات الملكية والتراث التي لا يمكن للمشاهدين تفهمها بسهولة.
تقوم نظم يونيكس بأداء الدورية وتعمل على تسهيل السماح بجدولة نصوص الوظائف المعقدة. ولدى ويندوز مجدول للوظائف. وتستخدم غالبية عناقيد الحوسبة عالية الأداء المعالجة بالدفعات من أجل تعظيم الاستفادة باستخدام هذه العناقيد الحاسوبية.
وتحوز برمجية زد/أو إس z/OS التابعة لآي بي إم IBM أدق مجموعة لقواعد المعالجة بالدفعات وأكثرها تطورا بفضل أصولها، وتاريخها الطويل، وتطورها المستمر، وتقوم هذه النظم الشائعة اليوم بدعم مئات أو آلاف المهام من الدفعات والمتزامنة عبر الإنترنت داخل صورة نظام تشغيلي واحد. إن تكنولوجيات الحواسيب الرئيسية المميزة التي تساعد في الدفعات المتزامنة والمعالجة عبر الإنترنت تتضمن لغة مراقبة المهام Job Control Language (JCL)، واللغات النصية مثل REXX، ونظام مهام الإدخال الفرعي Job Entry Subsystem (JES2 وJES3)، وWorkload Manager ومدير إعادة البدء الآلي (ARM)، وخدمات استعادة الموارد (RRS)، وDB2 للمشاركة في البيانات، وParallel Sysplex، وبرامج للأداء المميز مثل HiperDispatch، وبنية قناة I/O والعديد من البرامج والتطبيقات الأخرى.