الجيش الوطني الرواندي. اختبارات سرعة روبوت البرمجيات

مقدمة


قبل أيام قليلة في حدث داخلي ، ناقشت أنا وزملائي موضوع روبوت العمليات في مشاريع لتنفيذ نظام إدارة الوثائق الإلكترونية. تقول أخبار RPA ومراجعات الموردين أنه يمكننا استبدال موصل API بروبوت برنامج. بمعنى ، استخدم RPA لنقل كميات كبيرة من البيانات.

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

السمة المميزة للهجرة هي الحجم الكبير وفترة قصيرة جدًا. الشركة مستعدة للتخصيص لهذا 2-3 أيام فقط. يعد متخصصو التنفيذ بعناية فائقة ، ويخططون حرفيًا لعملهم في دقائق. المطورين إعداد المرافق.

تم طرح سؤال منطقي: في أي وقت سيتمكن الروبوت من سحب عدة آلاف من السجلات على الأقل من قاعدة بيانات إلى أخرى؟

في مقال سابق ( رابط ) ، نظرنا إلى RPAs من التنفيذ في أي مكان. هذه المرة سنختبر الروبوت من استوديو آخر مشهور - UiPath RPA. سنختبر سرعة العمل: نقل 64 ألف سجل من قاعدة بيانات إلى أخرى.

للمقارنة ، سنفعل ذلك بعدة طرق:
  • المستوى المنخفض API- الموصل على YP ؛
  • الروبوت من خلال API المدمج في.
  • روبوت من خلال ملف Excel وسيط في شكل بطاقة القاعدة النهائية ؛
  • روبوت من نموذج البطاقة المصدر إلى بطاقة النموذج الأساسي النهائية ؛
  • يد من بطاقة إلى بطاقة.


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

بالإضافة إلى ذلك ، نحن نصف بعض ميزات UiPath RPA التي قابلناها في دراستنا المصغرة.

في هذه المقالة سوف نخفض الاقتصاد - هذا الموضوع يستحق دراسة منفصلة ومفصلة. سنشير فقط إلى ظروف خاصة بكل سيناريو.

لذلك ، المهمة: لنقل قائمة جهات الاتصال من قاعدة البيانات المصدر إلى قاعدة البيانات الوجهة.
عدد السجلات - 64000 جهاز كمبيوتر شخصى. كل إدخال يحتوي على الاسم ، اللقب ، البريد الإلكتروني ، المنظمة.
قواعد البيانات المصدر والوجهة هي قواعد بيانات MS Access بسيطة مع جدول لتخزين جهات الاتصال ونموذج نموذج لعرض جهة اتصال فردية.

وصف موجز لكل سيناريو


موصل API


من المتوقع أن يكون لدى المطور كفاءات API لكلا النظامين ولديه حق الوصول إلى قاعدة البيانات. في مثالنا ، سنكتب رابطًا بلغة VBA المضمنة لـ MS Access.
قد لا تتزامن أسماء الحقول في المصدر والمستقبل - في الشفرة نقوم بتهيئة البيانات التي يأخذها الموصل من المصدر وأين يكتبها إلى المتلقي.
قام البرنامج بنقل كامل كمية البيانات في 26 ثانية.

API روبوت


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

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

روبوت من خلال اكسل


لدينا ذلك من معظم نظم إدارة قواعد البيانات ، يمكنك تصدير البيانات إلى بعض التنسيقات الوسيطة - xls ، xlsx ، xml ، html ، csv. يمكن أن يعمل روبوت UiPath مباشرة مع هذه الملفات من خلال الأنشطة المدمجة.

من المتوقع أن يكون مطور RPA على دراية بواجهة البرنامج المصدر من أجل تحميل البيانات إلى ملف وسيط. تحتاج أيضًا إلى معرفة واجهة المستخدم الرسومية لبرنامج استقبال البيانات. وهذا يعني أن المسؤول المدرب سيتعامل مع المهمة.

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

على جانب النظام النهائي ، يفتح الروبوت بطاقة نموذجية لسجل جديد ويملأها ببيانات من Excel.
في 10 دقائق و 24 ثانية ، قام الروبوت بترحيل 64 سجلًا. هذا هو ، ~ 173 ساعة سيستغرق نقل كامل. سبب هذا التباطؤ هو وقت تشغيل واجهة المستخدم الرسومية في كل عملية.

بطاقة لبطاقة الروبوت


من المتوقع أن يتمكن المستخدم المخصص من تكوين مثل هذا النقل. تحتاج فقط إلى التعرف على مسار مبسط لتطوير RPA (1-2 أيام من الدراسة). من بين كل الطرق الآلية ، هذا هو الأسهل لتطويره.
هنا ، يعمل الروبوت كـ "فرس" متقدم: ابحث عن الحقل في البطاقة المصدر => خذ قيمته => ابحث عن الحقل في بطاقة المستلم => أدخل القيمة => انقر فوق "حفظ".

أخذنا البطاقات القياسية. يقوم Access بإنشاء بطاقات النماذج هذه دون أي برمجة على الإطلاق.
وقت التشغيل 9 دقائق 02 ثانية لمدة 64 السجلات. هذا هو ، ~ 151 ساعة لنقل كامل.

حمل اليدوي


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

نستخدم الماوس و Ctrl + A و Ctrl + C و Ctrl + V و Alt + Tab ونفس البطاقات.
استغرق نقل 10 سجلات 5 دقائق. هذا هو: ~ 533 ساعة لكامل حجم. وهذا هو الوقت اليدوية فقط نقية. وعلى الشخص أن يستريح وأن يصرف انتباهه عن مهام أخرى وأن يصحح أخطاء إهماله. إذا استبدل الروبوت شخصًا في العمليات بـ GUI ، فستفوز العملية بسرعة عدة مرات.
تم تلخيص النتائج الإجمالية في الجداول أدناه.

ملخص النتائج


صورة

ميزات RPA


العديد من الميزات التي قابلتنا في هذا الاختبار:
  • عند العمل مع Access ضمن نظام 64 بت ، يجب تثبيت AccessDatabaseEngine.exe 32 بت ؛
  • في سيناريو "Robot to Excel" ، تعثرت العملية في حقل "Organization" في بطاقة المستلم. يكون الحقل الموجود في البطاقة والحقل في الجدول نفسه من نوع "الحقل مع الإحلال". عندما تم تأطير عملية الكتابة لهذا الحقل بسرعات مصراع مدتها ثانية ، استقرت العملية ؛
  • إدراج معالج UiPath Studio للاتصال بقواعد البيانات علامات اقتباس إضافية في سطر الإعدادات - يجب التحقق من ذلك ؛
  • في الحقل الذي يحتوي على استعلام SQL ، يجب ألا يحتوي النص على حرف إرجاع ، وإلا فإن UiPath Studio يُرجع خطأً. يجب أن يكون نص الطلب سطرًا واحدًا ؛
  • يكون الأمر مريحًا جدًا عند وجود أزرار التنقل في النموذج على بطاقة النموذج: البطاقة التالية / السابقة / الأولى / الأخيرة. مع مثل هذه الأزرار ، من السهل تجميع الروبوت ، وسيكون أكثر استقرارًا في التشغيل. يمكن اعتبار ذلك كتوصية عامة لتطوير واجهة المستخدم الرسومية. على سبيل المثال ، يوفر Access بأشكال بطاقاته هذه التسهيلات افتراضيًا ؛
  • عند إعداد الروبوتات ، لم يكن علينا البرمجة بالمعنى المعتاد. يتم تجميع الخوارزمية من كتل ، مثل المخطط. يتم تكوين الكتل في نافذة الخصائص. مفهوم الكود المنخفض / لا يوجد كود يعمل حقًا في مهمتنا ؛
  • يتوفر سيناريو ترحيل آخر مع RPA - من خلال واجهة المستخدم الرسومية لسطح المكتب البعيد. يتم إطلاق الروبوت نفسه محليًا ، وبمساعدة CV و OCR ، يقوم بتنفيذ عمليات في الجهاز الطرفي. يمكن نقل البيانات مباشرة من خلال الحافظة.


يبقى السؤال عن الجدوى الاقتصادية. لكن الاسترداد يعتمد بشكل كبير على مشروع التنفيذ المحدد وتوافر الموارد. على الجانب الفني ، حصلنا على انطباعات جيدة من أداء الروبوت وراحة أدوات التطوير من RPA.

Source: https://habr.com/ru/post/ar479930/


All Articles