خطوة التطبيق

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

ملاحظة: ارجع إلى تشغيل مهام مجموعة المعالجة، لمزيد من المعلومات حول رفع كفاءة خطوات العملية المتعددة.

قبل شرح خطوات التطبيق بالتفصيل، توضح النقاط التالية نوع البيانات التي يمكن تضمينها في مجموعة محددة من البيانات.

  1. السجلات التي ليس لها مفاتيح خارجية وبالتالي ليس لها تبعيات في السجلات الأخرى. على سبيل المثال: الرسالة وملف بيانات العرض.

  2. السجلات التي لها مفاتيح خارجية ويمكن أن تكون فعليًا في الهدف. والأمثلة على ذلك: خوارزميات لأنواع الخوارزميات الموجودة، أدوار المهمة لأنواع المهام الموجودة.

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

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

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

لمعالجة البيانات كبيرة الحجم، تكون الخطوة الأولى في عملية التطبيق هي إجراء منطق التطبيق على مستوى كائن الترحيل من خلال مهمة مجموعة معالجة ذات تسلسلات عمليات متعددة. ويجب أن يؤدي هذا إلى تطبيق جميع السجلات في الفئتين 1 و2 المذكورتين أعلاه بنجاح.

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

  • التبعية بين كيانات التكوين أكثر تعقيدًا ومتشابكة وبالتالي لا يتم ترتيب كائنات الترحيل، بمعنى أن عملية مجموعة المعالجة ذات سلاسل العمليات المتعددة قد لا تقوم بمعالجة السجلات بالترتيب المطلوب.

  • وللتغلب على المشكلة المحتملة للأخطاء المرتبطة بترتيب المعالجة، يكون لخطوة التطبيق وظيفة خاصة، كما هو موضح في التفاصيل أدناه.

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

تطبيق الكائنات

بمجرد أن تكون مجموعة البيانات بحالة تطبيق الكائنات، يتم تشغيل عملية مراقبة كائن الترحيل - تطبيق (F1-MGOAP) لمحاولة تطبيق الكائنات.

ملاحظة:

عند استخدام عمليات مجموعة معالجة منفصلة لبيانات الأعمال تعمل عملية مراقبة كائن الترحيل (عمل)- تطبيق (F1-MGOAB) بنفس الطريقة لتطبيق كائنات ترحيل الأعمال.

وتكون لعمليات المعالجة الخلفية المرتبطة بخوارزمية "التطبيق" وظيفة خاصة لضمان تطبيق السجلات بالفئتين 3 و4 (أعلاه) بنجاح أثناء هذه الخطوة.

  • عملية مراقبة كائن الترحيل - تطبيق هي عملية خاصة تقوم بإعادة تحديد السجلات باستمرار بالحالة معتمد حتى تتم معالجة كل السجلات المؤهلة.

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

ملاحظة: عند تنفيذ مجموعة معالجة التطبيق هذه، تأكد من تعيين عدد تسلسلات العمليات على عدد لا يتجاوز عدد تسلسلات العمليات المدعومة بواسطة عامل تجمع تسلسلات العمليات. سيؤدي ذلك إلى انتظار تسلسلات عمليات "التجاوز" انتهاء العدد المدعوم لتسلسلات العمليات.

يمثل المخطط التالي جزءًا من مرحلة كائن الترحيل المقترنة بخطوة "التطبيق".

مرحلة تطبيق كائن الترحيل

عند إتمام عملية مراقبة "التطبيق"، ستكون الكائنات عادةً بالحالة مطبَق أو بالحالة حدث خطأ أثناء التطبيق. وتكون السجلات بالحالة "حدث خطأ أثناء التطبيق" بهذه الحالة لسبب من سببين.

  • وجود السجلات بالفئة 5 المذكورة أعلاه حيث تكون للسجلات مرجع دوري مع سجل آخر. وبالنسبة لهذا السيناريو، يجب أن يتم من خلال خطوة "تطبيق المعاملات" الواردة أدناه تطبيق السجلات بنجاح.

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

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

تطبيق المعاملات

بطريقة مثالية، بعد خطوة "تطبيق الكائنات"، تكون كل الكائنات بالحالة مطبَق أو بالحالة حدث خطأ أثناء التطبيق نتيجة لموقف "المرجع الدوري". وتكون الخطوة التالية النموذجية هي تحويل المسئولية إلى المعاملات. ويمكن لمعاملات الترحيل بعد ذلك محاولة تطبيق كائناتها بشكلٍ تجميعي.

لضمان أن عمليات المعالجة الخلفية المتعددة لا تحاول تحديد كائنات الترحيل لتشغيل خطوة "التطبيق"، تكون المعاملات مؤهلة فقط لمحاولة "تطبيق الكائنات الخاصة بي" إذا كانت مجموعة البيانات بالحالة تطبيق المعاملات.

مراحل تطبيق مجموعة بيانات الترحيل

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

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

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

  • يتم من خلال خوارزمية التطبيق تحديد كل كائنات الترحيل التي بها خطأ وتنفيذ جميع جمل SQL الخاصة بها، ثم التحقق من جميع السجلات. وفي حالة وجود كائنات في المعاملة بمراجع دورية، يجب أن يجتازوا التحقق في هذه المرحلة.

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

  • عملية مراقبة معاملة الترحيل - تطبيق هي عملية خاصة تقوم بإعادة تحديد السجلات باستمرار بالحالة جاهز للتطبيق حتى تتم معالجة كل السجلات المؤهلة.

ملاحظة: عند تنفيذ مجموعة معالجة التطبيق هذه، تأكد من تعيين عدد تسلسلات العمليات على عدد لا يتجاوز عدد تسلسلات العمليات المدعومة بواسطة عامل تجمع تسلسلات العمليات. سيؤدي ذلك إلى انتظار تسلسلات عمليات "التجاوز" انتهاء العدد المدعوم لتسلسلات العمليات. مما يؤدي إلى إزالة فائدة معالجة التكرار.

يمثل المخطط التالي جزءًا من مرحلة معاملة الترحيل المقترنة بخطوة "التطبيق" موضحةً الخطوات أعلاه.

مرحلة تطبيق معاملة الترحيل

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

حل الأخطاء

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

  • إذا اتضح أن الأخطاء مرتبطة بالتبعية، فيمكن أن يقرر المستخدم السماح "للمعاملات بتطبيق كائناتها" وتحويل حالة مجموعة البيانات إلى تطبيق المعاملات، المذكورة أعلاه.

  • أما إذا اتضح أن الأخطاء مرتبطة بمشكلة خارجية يمكن حلها يدويًا، فمن الممكن أن يختار المستخدم تصحيح هذه المشكلة وإعادة خطوة "تطبيق الكائنات".

  • من الممكن أيضًا أن يقرر المستخدم رفض كائن أو أكثر لإزالته من الترحيل.

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

  • من الممكن أن يقرر المستخدم رفض كائن أو أكثر لإزالته من الترحيل.

  • من الممكن أن يحل المستخدم مشكلة خارج الترحيل يدويًا ثم يقرر القيام بأحد ما يلي:

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

    • إعادة خطوة تطبيق المعاملات.

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

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

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

  • الخطوة التالية هي تحويل حالة مجموعة البيانات من حالة إعادة محاولة تطبيق الكائنات إلى حالة تطبيق الكائنات. يمكن إجراء هذا الأمر يدويًا أو عن طريق تشغيل عملية مراقبة "استيراد مجموعة بيانات الترحيل".

  • والآن الكائنات مؤهلة لاختيارها من خلال عملية تطبيق مستوى الكائن.

يوجد منطق مشابه لمعاملات الترحيل.

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

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

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

  • والآن المعاملات مؤهلة لاختيارها من خلال عملية تطبيق مستوى المعاملة.

‏‏يمكن إجراء إعادة محاولة تطبيق المنطق عند تحويل الحالة بين حالة "تطبيق الكائنات" وحالة "تطبيق المعاملات" على أساس ما إذا كانت هناك أخطاء أم لا. يوضح السيناريو التالي هذه النقطة.

  • بعد تنفيذ خطوة تطبيق الكائنات، توجد كائنات بالحالة حدث خطأ أثناء التطبيق. يتم تحويل حالة مجموعة البيانات إلى تطبيق المعاملات وبذلك يتم الانتهاء من خطوة "التطبيق" على مستوى المعاملة.

  • بعد تنفيذ خطوة تطبيق المعاملات، توجد معاملات بالحالة حدث خطأ أثناء التطبيق.

  • يختار المستخدم محاولة تطبيق الكائنات مرة أخرى (عن طريق نقر إعادة محاولة تطبيق الكائنات). يتم إتباع الخطوات الموضحة أعلاه فيما يتعلق بإعادة محاولة تطبيق الكائنات عند هذه النقطة.

  • بعد انتهاء حالة تطبيق الكائنات، يمكن للمستخدم إعادة محاولة تطبيق الكائنات مرة أخرى (بعد إصلاح الأخطاء إذا كان ذلك قابلاً للتطبيق).

  • وعند نقطة ما، سيتحول المستخدم إلى حالة تطبيق المعاملات مرة أخرى. في حالة وجود معاملات بالحالة حدث خطأ أثناء التطبيق، سيقوم النظام آليًا بتحويل حالة مجموعة البيانات إلى إعادة محاولة تطبيق المعاملات ويتم اتباع الخطوات الموضحة أعلاه لإعادة محاولة تطبيق المعاملات.

إنهاء خطوة التطبيق

بمجرد وجود جميع كائنات الترحيل لمعاملة الترحيل بالحالة النهائية (مطبَق أو مرفوض أو لا يمكن التطبيق)، تتحول معاملة الترحيل إلى الحالة مطبَق. وبمجرد وجود معاملات الترحيل بالحالة مطبَق، يتم تحويل سجل مجموعة بيانات الترحيل إلى الحالة تام ويكون الاستيراد تامًا.

ملاحظة: لمراجعة المرحلة الكاملة لكل سجل، ارجع إلى علامة التبويب "كائن العمل - الملخص" في بيانات تعريف التطبيق لكائنات العمل الأساسية استيراد مجموعة بيانات الترحيل (F1-MigrObjectImport) ومعاملة الترحيل (F1-MigrTransactionImport) وكائن الترحيل (F1-MigrObjectImport).