معالجة الدفعات

المعالجة الدفعية المحوسبة هي طريقة لتشغيل برامج برمجية تسمى الوظائف في دفعات تلقائيًا. وبينما يُطلب من المستخدمين إرسال الوظائف، لا يلزم أي تفاعل آخر من جانب المستخدم لمعالجة الدفعة. يمكن تشغيل الدفعات تلقائيًا في أوقات مجدولة بالإضافة إلى تشغيلها وفقًا لتوافر موارد الكمبيوتر.

تاريخ

نشأ مصطلح "المعالجة على دفعات" في التصنيف التقليدي لطرق الإنتاج كإنتاج الوظيفة (إنتاج لمرة واحدة)، والإنتاج على دفعات (إنتاج "دفعة" من عناصر متعددة في وقت واحد، مرحلة واحدة في كل مرة)، والإنتاج التدفقي (الإنتاج الضخم، جميع المراحل في العملية في وقت واحد).

التاريخ المبكر

كانت أجهزة الكمبيوتر المبكرة قادرة على تشغيل برنامج واحد فقط في كل مرة. وكان كل مستخدم يتمتع بالتحكم الكامل في الجهاز لفترة زمنية محددة. وكانوا يصلون إلى الكمبيوتر ومعهم البرنامج والبيانات، غالبًا على بطاقات ورقية مثقبة وشريط مغناطيسي أو ورقي، وكانوا يقومون بتحميل البرنامج وتشغيله وتصحيح أخطائه، ثم يقومون بإخراج النتائج عند الانتهاء.

مع تزايد سرعة أجهزة الكمبيوتر، أصبح وقت الإعداد والتفكيك يمثل نسبة أكبر من وقت الكمبيوتر المتاح. تم تطوير برامج تسمى الشاشات ، وهي أسلاف أنظمة التشغيل ، والتي يمكنها معالجة سلسلة أو "دفعة" من البرامج، غالبًا من شريط مغناطيسي تم إعداده دون اتصال بالإنترنت. يتم تحميل الشاشة في الكمبيوتر وتشغيل أول مهمة من الدفعة. في نهاية المهمة، تستعيد السيطرة وتحمل وتشغل المهمة التالية حتى تكتمل الدفعة. غالبًا ما يتم كتابة ناتج الدفعة على شريط مغناطيسي وطباعته أو ثقبه دون اتصال بالإنترنت. كانت أمثلة الشاشات هي نظام مراقبة فورتران من IBM ، ونظام التشغيل التشاركي SOS، وأخيرًا IBSYS لأنظمة IBM 709x في عام 1960. [1] [2]

أنظمة الجيل الثالث

بدأت أجهزة الكمبيوتر من الجيل الثالث [ بحاجة لتوضيح ] [3] القادرة على البرمجة المتعددة في الظهور في ستينيات القرن العشرين. فبدلاً من تشغيل مهمة دفعة واحدة في كل مرة، يمكن لهذه الأنظمة تشغيل برامج دفعات متعددة في نفس الوقت من أجل إبقاء النظام مشغولاً قدر الإمكان. قد يكون هناك برنامج واحد أو أكثر ينتظر الإدخال، وبرنامج يعمل بنشاط على وحدة المعالجة المركزية، وبرنامج آخر يولد الإخراج. وبدلاً من الإدخال والإخراج دون اتصال بالإنترنت، تقوم البرامج التي تسمى برامج التجميع بقراءة المهام من البطاقات أو القرص أو المحطات الطرفية البعيدة ووضعها في قائمة انتظار المهام لتشغيلها. ولمنع الجمود ، يحتاج مجدول المهام إلى معرفة متطلبات موارد كل مهمة - الذاكرة والأشرطة المغناطيسية والأقراص القابلة للتركيب ، وما إلى ذلك، لذلك تم تطوير لغات برمجة نصية مختلفة لتزويد هذه المعلومات بطريقة منظمة. ربما الأكثر شهرة هي لغة التحكم في الوظائف (JCL) من IBM. يقوم مجدولو الوظائف باختيار الوظائف التي سيتم تشغيلها وفقًا لمجموعة متنوعة من المعايير، بما في ذلك الأولوية وحجم الذاكرة وما إلى ذلك. الدفعة البعيدة هي إجراء لإرسال وظائف الدفعة من محطات بعيدة، غالبًا ما تكون مجهزة بقارئ بطاقات مثقبة وطابعة خطية . [4] في بعض الأحيان، يتم استخدام المعالجة المتعددة غير المتماثلة لتدوير إدخال وإخراج الدفعة لجهاز كمبيوتر واحد أو أكثر كبير الحجم باستخدام نظام أصغر وأقل تكلفة متصل، كما هو الحال في معالج الدعم المرفق IBM System/360. [أ]

التاريخ اللاحق

ملف دفعة CDC NOS للحصول على الملف STARTRK وإخراجه إلى آلة ثقب البطاقة

كان أول نظام تقاسم الوقت للأغراض العامة، وهو نظام تقاسم الوقت المتوافق (CTSS)، متوافقًا مع المعالجة الدفعية. وقد سهّل هذا الانتقال من المعالجة الدفعية إلى الحوسبة التفاعلية . [5]

منذ أواخر ستينيات القرن العشرين فصاعدًا، أصبحت الحوسبة التفاعلية مثل عبر واجهات المحطات الطرفية للحاسوب القائمة على النصوص (كما في غلافات يونكس أو حلقات القراءة والتقييم والطباعةوواجهات المستخدم الرسومية لاحقًا شائعة. أصبح الحوسبة غير التفاعلية، سواء الوظائف لمرة واحدة مثل التجميع، ومعالجة عناصر متعددة في دفعات، يشار إليها بأثر رجعي باسم المعالجة الدفعية ، وأصبح مصطلح وظيفة الدفعة (غالبًا ما يكون في الاستخدام المبكر "دفعة من الوظائف") شائعًا. تم العثور على الاستخدام المبكر بشكل خاص في جامعة ميشيغان ، حول نظام محطة ميشيغان (MTS). [6]

على الرغم من وجود نظام تقاسم الوقت، إلا أن استخدامه لم يكن قوياً بما يكفي لمعالجة البيانات في الشركات؛ ولم يكن أي من هذا مرتبطاً بمعدات تسجيل الوحدة السابقة ، والتي كان يتم تشغيلها بواسطة الإنسان.

جاري

لا تزال الحوسبة غير التفاعلية منتشرة في الحوسبة، سواء لمعالجة البيانات العامة أو لمهام "التدبير المنزلي" للنظام (باستخدام برامج النظام ). غالبًا ما يُطلق على البرنامج عالي المستوى (الذي ينفذ برامج متعددة، مع بعض منطق "الغراء" الإضافي) اليوم اسم البرنامج النصي ، ويُكتب بلغات البرمجة النصية ، وخاصة نصوص shell لمهام النظام؛ في IBM PC DOS و MS-DOS يُعرف هذا بدلاً من ذلك باسم ملف الدفعات . يتضمن ذلك أجهزة الكمبيوتر المستندة إلى UNIX و Microsoft Windows و macOS (الذي يعتمد على نواة BSD Unix) وحتى الهواتف الذكية . غالبًا ما يُعرف البرنامج النصي قيد التشغيل، وخاصةً الذي يتم تنفيذه من جلسة تسجيل دخول تفاعلية ، باسم الوظيفة ، ولكن هذا المصطلح يستخدم بشكل غامض للغاية.

"لا يوجد نظير مباشر لمعالجة الدفعات في نظام z/OS في أنظمة الكمبيوتر الشخصي أو UNIX. يتم تنفيذ المهام الدفعية عادةً في وقت مجدول أو حسب الحاجة. ربما تكون المقارنة الأقرب هي العمليات التي يتم تشغيلها بواسطة أمر at أو cron في UNIX، على الرغم من أن الاختلافات كبيرة." [7]

الأنظمة الحديثة

لا تزال تطبيقات الدفعات تشكل أهمية بالغة في أغلب المؤسسات، ويرجع ذلك إلى حد كبير إلى أن العديد من العمليات التجارية الشائعة قابلة للمعالجة بالدفعات. وفي حين يمكن للأنظمة عبر الإنترنت أن تعمل أيضًا عندما لا يكون التدخل اليدوي مرغوبًا، إلا أنها لا تكون مُحسَّنة عادةً لأداء مهام متكررة عالية الحجم. لذلك، تحتوي حتى الأنظمة الجديدة عادةً على تطبيق دفعات واحد أو أكثر لتحديث المعلومات في نهاية اليوم، وإنشاء التقارير، وطباعة المستندات، وغير ذلك من المهام غير التفاعلية التي يجب إكمالها بشكل موثوق به في غضون مواعيد نهائية معينة للأعمال.

بعض التطبيقات قابلة للمعالجة التدفقية، وهي تلك التي تحتاج فقط إلى بيانات من إدخال واحد في المرة الواحدة (وليس الإجماليات، على سبيل المثال): ابدأ الخطوة التالية لكل إدخال عند إكماله للخطوة السابقة. في هذه الحالة، تعمل المعالجة التدفقية على تقليل زمن الوصول للمدخلات الفردية، مما يسمح بإكمالها دون انتظار انتهاء الدفعة بالكامل. ومع ذلك، تتطلب العديد من التطبيقات بيانات من جميع السجلات، ولا سيما الحسابات مثل الإجماليات. في هذه الحالة، يجب إكمال الدفعة بالكامل قبل الحصول على نتيجة قابلة للاستخدام: النتائج الجزئية غير قابلة للاستخدام.

تستفيد تطبيقات الدفعات الحديثة من أطر الدفعات الحديثة مثل Jem The Bee و Spring Batch [8] أو تنفيذات JSR 352 [9] المكتوبة لـ Java وأطر أخرى للغات برمجة أخرى، لتوفير التسامح مع الأخطاء وقابلية التوسع المطلوبة للمعالجة عالية الحجم. من أجل ضمان المعالجة عالية السرعة، غالبًا ما يتم دمج تطبيقات الدفعات مع حلول الحوسبة الشبكية لتقسيم مهمة الدفعة على عدد كبير من المعالجات، على الرغم من وجود تحديات برمجة كبيرة في القيام بذلك. تفرض معالجة الدفعات عالية الحجم متطلبات ثقيلة بشكل خاص على هياكل النظام والتطبيق أيضًا. تميل الهياكل التي تتميز بأداء قوي للإدخال / الإخراج وقابلية التوسع الرأسي ، بما في ذلك أجهزة الكمبيوتر المركزية الحديثة ، إلى توفير أداء دفعات أفضل من البدائل.

أصبحت لغات البرمجة النصية شائعة مع تطورها جنبًا إلى جنب مع المعالجة الدفعية. [10]

نافذة الدفعة

نافذة الدفعة هي "فترة نشاط أقل كثافة عبر الإنترنت"، [11] عندما يكون نظام الكمبيوتر قادرًا على تشغيل وظائف الدفعة دون تدخل من، أو مع، الأنظمة التفاعلية عبر الإنترنت.

تتطلب وظائف نهاية اليوم في البنك مفهوم التحويل ، حيث يتم قطع المعاملات والبيانات لنشاط الدفعة في يوم معين ("سيتم معالجة الودائع بعد الساعة 3 مساءً في اليوم التالي").

مع توسع متطلبات تشغيل الأنظمة عبر الإنترنت لدعم العولمة والإنترنت واحتياجات الأعمال الأخرى، تقلصت نافذة الدفعة [12] [13] وتم التركيز بشكل متزايد على التقنيات التي تتطلب توفر البيانات عبر الإنترنت لأقصى قدر من الوقت.

حجم الدفعة

يشير حجم الدفعة إلى عدد وحدات العمل التي سيتم معالجتها ضمن عملية دفعة واحدة. ومن الأمثلة على ذلك:

  • عدد الأسطر من الملف الذي يجب تحميله إلى قاعدة البيانات قبل تنفيذ المعاملة.
  • عدد الرسائل التي سيتم إزالتها من قائمة الانتظار.
  • عدد الطلبات المراد إرسالها ضمن حمولة واحدة.

الاستخدام الشائع لمعالجة الدفعات

بيئات الجدولة والتنفيذ المميزة للدفعات

ربما يكون نظام التشغيل أو منصة IBM mainframe z/OS هو الأكثر تطورًا وتطورًا في مجموعة مرافق المعالجة الدفعية نظرًا لأصوله وتاريخه الطويل وتطوره المستمر. تدعم هذه الأنظمة اليوم بشكل شائع مئات أو حتى آلاف المهام المتزامنة عبر الإنترنت والدفعية داخل صورة نظام تشغيل واحد . تشمل التقنيات التي تساعد في المعالجة الدفعية والدفعية المتزامنة عبر الإنترنت لغة التحكم في الوظائف (JCL) ولغات البرمجة النصية مثل REXX ونظام إدخال الوظائف ( JES2 و JES3 ) ومدير عبء العمل (WLM) ومدير إعادة التشغيل التلقائي (ARM) وخدمات استرداد الموارد (RRS) ومشاركة بيانات IBM Db2 و Parallel Sysplex وتحسينات الأداء الفريدة مثل HiperDispatch وهندسة قناة الإدخال/الإخراج والعديد من التقنيات الأخرى.

تسمح برامج يونكس cronو atو batch(واليوم batchهي نسخة من at) بجدولة معقدة للمهام. يحتوي نظام التشغيل ويندوز على مجدول مهام . تستخدم معظم مجموعات الحوسبة عالية الأداء المعالجة الدفعية لتعظيم استخدام المجموعة. [15]

انظر أيضا

ملحوظات

  1. ^ بدأ استخدام أجهزة الكمبيوتر عبر الأقمار الصناعية لهذا الغرض في وقت سابق، على سبيل المثال، في نظام IBM 7094/7044 Direct Coupled System .

مراجع

  1. ^ "الزوج المباشر لجهاز IBM 7090". SoftwarePreservationGroup.org . كان IBSYS نظام تشغيل لجهاز 7090 والذي تطور من نظام التشغيل SOS (نظام تشغيل SHARE)
  2. ^ "تاريخ أنظمة التشغيل" (PDF) . جامعة واشنطن . مؤرشف من الأصل (PDF) في 2022-10-09 . تم الاسترجاع في 10 أكتوبر 2019 .
  3. ^ "لماذا لن تموت؟ نظام S/360 من IBM وإرثه في الخمسينيات". The Register . 7 أبريل 2014.
  4. ^ "دليل مرجعي لأجهزة المستخدم الطرفية لـ CDC" (PDF) . BitSavers . مؤرشف من الأصل (PDF) في 2022-10-09.
  5. ^ Walden, David; Van Vleck, Tom , eds. (2011). "Compatible Time-Sharing System (1961-1973): Fiftieth Anniversary Commemorative Overview" (PDF) . IEEE Computer Society. مؤرشف (PDF) من الأصل في 2022-10-09 . تم الاسترجاع في 20 فبراير 2022 . تم تسمية CTSS "متوافقًا" بمعنى أنه يمكن تشغيل FMS في B-core كمستخدم "خلفية"، بكفاءة تكاد تكون مماثلة لتلك الموجودة على جهاز عادي، وأيضًا لأن البرامج المترجمة لدفعة FMS يمكن تحميلها وتنفيذها في بيئة تقاسم الوقت "الأمامية" (مع بعض القيود). ... سمحت هذه الميزة لمركز الحوسبة بالانتقال من الدفعة إلى تقاسم الوقت تدريجيًا
  6. ^ "مركز الحوسبة: التعامل مع نموذج IBM System/360 67". أخبار الأبحاث . 20 (نوفمبر/ديسمبر). جامعة ميشيغان: 10. 1969.
  7. ^ IBM Corporation. "ما هي المعالجة الدفعية؟". zOS Concepts . تم الاسترجاع في 10 أكتوبر 2019 .
  8. ^ مينيلا ، مايكل (2011/10/13). دفعة الربيع الموالية. Apress. رقم ISBN 978-1-4302-3453-1.
  9. ^ "تطبيقات الدفعات لمنصة Java". عملية مجتمع Java . تم الاسترجاع في 2015-08-03 .
  10. ^ "JSR352 null". IBM.com. مؤرشف من الأصل في 2018-10-20 . تم الاسترجاع في 2018-10-19 . JSR 352، المواصفات القياسية المفتوحة لمعالجة الدفعات في Java. ... تطورت لغات البرمجة المستخدمة بمرور الوقت بناءً على ما كان متاحًا
  11. ^ "الحواسيب المركزية تعمل بعد ساعات العمل: المعالجة الدفعية". مفاهيم الحواسيب المركزية . شركة آي بي إم . تم الاسترجاع في 20 يونيو 2013 .
  12. ^ المعالجة الدفعية: التصميم – البناء – التشغيل: الممارسات والمبادئ التطبيقية. أوريلي. 2009-02-24. ISBN 9780470257630.
  13. ^ "تقليديًا، كان العمل بالدفعات يتم بين عشية وضحاها، حيث كانت الوظائف تعالج ملايين ... واليوم أصبحت نافذة الدفعات تتناقص باستمرار مع متطلبات التوفر على مدار الساعة طوال أيام الأسبوع."
  14. ^ Gutkovich, Ben (10 فبراير 2023). "لماذا سيكون التعلم الآلي في الوقت الفعلي هو الكلمة الطنانة لعام 2023". Superlinked . تم الاسترجاع في 11 أبريل 2023 .
  15. ^ "دليل الحوسبة عالية الأداء، مع قائمة مراجعة ونصائح لتحسين الأداء". 25 يناير 2018. نظام معالجة دفعات ذكي ومتعدد المستخدمين ومشترك يحسن من المقياس ..... معظم مجموعات الحوسبة عالية الأداء موجودة في Linux
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=معالجة_الدفعات&oldid=1247347782"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate