مشاركة عبر


مرجع خادم بروتوكول سياق نموذج استخراج العمليات (MCP) (معاينة)

[هذا المقال عبارة عن وثائق الإصدار التجريبي ويكون خاضع للتغيير.]

يعد خادم Process Mining MCP تنفيذا متخصصا لبروتوكول سياق النموذج الذي يعرض قدرات تحليلات استخراج العمليات لوكلاء الذكاء الاصطناعي وتطبيقات المحادثة. يوفر وصولا برمجيا إلى بيانات التعدين العملية، ما يتيح تفاعلات اللغة الطبيعية مع تحليلات العمليات من خلال عملاء متوافقين مع MCP مثل Microsoft Copilot Studio.

مهم

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

القدرات الرئيسية:

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

الهندسه المعماريه:

  • المكون من جانب الخادم: يتكامل مع Power Platform وDataverse
  • المصادقة: مستند إلى Azure AD مع سياق البيئة
  • الموصل: متوفر كموصل استخراج عملية تم إنشاؤه مسبقا في كتالوج موصلات Power Platform
  • البروتوكول: معيار بروتوكول سياق النموذج (MCP)

المتطلبات المسبقه

تحتوي القائمة التالية على المتطلبات الأساسية لاستخدام خادم Process Mining MCP.

  • ترخيص Active Process Mining
  • بيئة التنقيب عن العمليات التي تم تكوينها في Power Platform مع عملية واحدة على الأقل تم استيعابها
  • مصادقة Azure AD
  • عميل متوافق مع MCP (على سبيل المثال، Copilot Studio) مع تكوين موصل Process Mining

أدوات MCP المتاحة

يعرض الخادم تسع (9) أدوات منظمة حسب الغرض. تقبل كل أداة معلمات محددة وتعيد بيانات التحليلات المنظمة.

أدوات اكتشاف العملية

استخدم هذه الأدوات لاكتشاف العمليات المتوفرة وتكوينها.

اسم الأداة الغرض المعايير الرئيسية
get_processes يسرد جميع العمليات ذات المعرف والأسماء بلا (يستخدم سياق البيئة)
get_process_details استرداد السمات والمقاييس المخصصة وقواعد العمل معرف العملية (Guid)
get_attribute_values الحصول على قيم لسمة معينة مع ترقيم الصفحات processId, attributeName, itemsPerPage, itemsToSkip

get_processes

يسرد جميع العمليات التي يمكن للمستخدم المصادق عليها الوصول إليها في البيئة الحالية.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
‏‫لا شيء‬ - - - يستخدم سياق المصادقة لتحديد البيئة

ارجاع:

  • صفيف EntityListItem مع processId و processName

مثال على الاستخدام:

User: "What processes are available?"
Tool: get_processes
Response: List of processes with IDs

توقيت الاستخدَام:

  • الأداة الأولى لاستدعاء عند اكتشاف العمليات المتوفرة
  • الحصول على معرفات عملية صالحة لمكالمات الأدوات اللاحقة
  • التحقق من أن المستخدم لديه حق الوصول إلى عمليات معينة

get_process_details

استرداد بيانات تعريف شاملة لعملية معينة بما في ذلك السمات والمقاييس المخصصة وقواعد العمل.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية

ارجاع:

  • يحتوي GetAnalyticsMetadataResult على:
    • السمات: سمات على مستوى الحالة ومستوى الحدث
    • المقاييس المخصصة: المقاييس المعرفة من قبل المستخدم
    • قواعد العمل: القواعد المكونة للعملية

مثال على الاستخدام:

User: "Tell me about the Order-to-Cash process attributes"
Tool: get_process_details with processId
Response: Attributes (Department, Customer, Activity), custom metrics, business rules

توقيت الاستخدَام:

  • قبل إنشاء عوامل التصفية (لاكتشاف أسماء السمات الصالحة)
  • فهم مخطط العملية والمقاييس المتوفرة
  • تحديد سمات مستوى الحالة مقابل سمات مستوى الحدث (مهم لتحليل الارتباط)

نصيحة

استدعاء get_process_details دائما قبل استخدام get_correlation للتحقق من أن السمة على مستوى حالة الأحرف.

get_attribute_values

استرداد كافة القيم لسمة معينة مع دعم ترقيم الصفحات.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية
اسم السمة string - ‏‏نعم‬ اسم السمة لاسترداد قيم
itemsPerPage int 20 لا. عدد العناصر في الصفحة (يختلف الحد الأقصى حسب النشر)
itemsToSkip int 0 لا. إزاحة لفصل الصفحات

ارجاع:

  • McpAnalyticsListResult مع:
    • العناصر: صفيف القواميس التي تحتوي على قيم السمات والمقاييس المقترنة
    • الإزاحة: إزاحة ترقيم الصفحات الحالية
    • الحد: حجم الصفحة
    • totalCount: إجمالي السجلات المتوفرة

مثال على الاستخدام:

User: "What departments are in the Order-to-Cash process?"
Tool: get_attribute_values with processId, attributeName="Department"
Response: List of department values (Sales, Finance, Warehouse)

توقيت الاستخدَام:

  • اكتشاف قيم صالحة للتصفية
  • استكشاف توزيعات السمات
  • إنشاء واجهات مستخدم عامل تصفية ديناميكي

أدوات التحليلات والمقاييس

استخدم هذه الأدوات لتحليل أداء العملية، وتحديد الاختناقات، واسترداد المقاييس.

اسم الأداة الغرض المعايير الرئيسية
get_process_overall_metrics مقاييس مجمعة على مستوى العملية processId، filterOptions
get_bottleneck_analysis الأنشطة ذات المدة الأعلى processId، filterOptions
get_variants_with_metrics معالجة المتغيرات باستخدام المقاييس processId، filterOptions، metricToSortBy
get_edges_with_metrics معالجة حواف التدفق باستخدام المقاييس processId، filterOptions
get_cases_with_metrics حالات فردية مع مقاييس processId، filterOptions، metricToSortBy

get_process_overall_metrics

إرجاع مقاييس مجمعة على مستوى العملية للعملية المحددة وعوامل التصفية.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية
عوامل التصفية McpFilterOptions قيمة فارغة لا. عوامل التصفية الاختيارية التي يجب تطبيقها
itemsPerPage int 20 لا. عدد العناصر لكل صفحة
itemsToSkip int 0 لا. إزاحة لفصل الصفحات

ارجاع:

  • قاموس أزواج قيم المفاتيح القياسية بما في ذلك:
    • إجمَالي الحَالات
    • متوسط/متوسط/دقيقة/أقصى مدة لحالة الأحرف
    • مقاييس الإنتاجية
    • مقاييس توافق اتفاقية مستوى الخدمة

مثال على الاستخدام:

User: "What are the overall metrics for Order-to-Cash?"
Tool: get_process_overall_metrics with processId
Response: 1,245 cases, avg duration 4.2 days, median 3.8 days

توقيت الاستخدَام:

  • ملخصات العمليات عالية المستوى
  • مقارنة الأداء العام مقابل المصفاة
  • إنشاء مقاييس أساسية

get_bottleneck_analysis

تحليل الأنشطة وإرجاعها التي تم فرزها حسب المدة (تنازليا) لتحديد الاختناقات.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية
itemsPerPage int 20 لا. عدد العناصر لكل صفحة
itemsToSkip int 0 لا. إزاحة لفصل الصفحات
mcpFilterOptions McpFilterOptions قيمة فارغة لا. عوامل التصفية الاختيارية التي يجب تطبيقها

ارجاع:

  • McpAnalyticsListResult مع الأنشطة التي تم فرزها حسب المدة (تنازلي)
  • يحتوي كل عنصر على:
    • القيمة: اسم النشاط
    • المدة: متوسط مدة النشاط
    • مقاييس إضافية كما هو مطلوب

سلوك خاص:

  • تم تكوينه مسبقا لتحليل سمة "النشاط"
  • يتضمن تلقائيا مقاييس المدة والقيمة
  • تم الفرز حسب المدة بترتيب تنازلي

مثال على الاستخدام:

User: "What are the top 3 bottlenecks in Order-to-Cash?"
Tool: get_bottleneck_analysis with processId, itemsPerPage=3
Response:
1. Approve Order - Avg duration: 3.2 days
1. Credit Check - Avg duration: 2.8 days
1. Prepare Shipment - Avg duration: 2.1 days

توقيت الاستخدَام:

  • تحديد اختناقات العملية
  • تحديد أولويات جهود التحسين
  • تحليل الازدحامات الخاصة بالقسم أو الخاصة بالقسم (باستخدام عوامل التصفية)

نصيحة

لتحليل الازدحام الذي يركز على أقسام معينة، ادمج مع AttributeValueFilter لتحديد الازدحامات الخاصة بالقطعة.

get_variants_with_metrics

استرداد متغيرات العملية (تسلسلات النشاط الفريدة) مع المقاييس المقترنة.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية
عوامل التصفية McpFilterOptions قيمة فارغة لا. عوامل التصفية الاختيارية التي يجب تطبيقها
itemsPerPage int 20 لا. عدد العناصر لكل صفحة
itemsToSkip int 0 لا. إزاحة لفصل الصفحات
metricToSortBy VariantMetric مدة الأحرف لا. مقياس لفرز النتائج حسب
Sortorder الفرز تنازلي لا. اتجاه الفرز (تصاعدي/تنازلي)

ارجاع:

  • McpAnalyticsListResult مع متغيرات بما في ذلك:
    • مسار المتغير (تسلسل الأنشطة)
    • التردد وعدد الحالات
    • مقاييس المدة
    • مؤشرات الانحراف السلوكي

مثال على الاستخدام:

User: "What are the most common process variants?"
Tool: get_variants_with_metrics with processId, metricToSortBy=CaseCount, sortOrder=Descending
Response: Top 3 variants with frequencies and durations

توقيت الاستخدَام:

  • تحديد مسار سعيد مقابل المتغيرات الإشكالية
  • تحليل توافق العملية
  • العثور على حلقات وانحرافات إعادة العمل
  • مقارنة أداء المتغير

get_edges_with_metrics

استرداد الانتقالات (الحواف) بين الأنشطة مع مقاييس التردد والمدة.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية
عوامل التصفية McpFilterOptions قيمة فارغة لا. عوامل التصفية الاختيارية التي يجب تطبيقها
itemsPerPage int 20 لا. عدد العناصر لكل صفحة
itemsToSkip int 0 لا. إزاحة لفصل الصفحات

ارجاع:

  • McpAnalyticsListResult مع حواف بما في ذلك:
    • من النشاط إلى النشاط
    • تكرار الانتقال
    • مدة الانتقال
    • مؤشرات الانحراف

مثال على الاستخدام:

User: "Show me the process flow transitions"
Tool: get_edges_with_metrics with processId
Response: Activity transitions with frequencies (e.g., Create Order → Approve Order: 1,100 cases)

توقيت الاستخدَام:

  • فهم بنية تدفق العملية
  • تحديد تعقيد التوجيه
  • العثور على انتقالات الازدحام
  • تحليل تأخيرات التسليم

get_cases_with_metrics

استرداد الحالات الفردية مع المقاييس والسمات المقترنة.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية
عوامل التصفية McpFilterOptions قيمة فارغة لا. عوامل التصفية الاختيارية التي يجب تطبيقها
itemsPerPage int 20 لا. عدد العناصر لكل صفحة
itemsToSkip int 0 لا. إزاحة لفصل الصفحات
metricToSortBy حالة الأحرف المدة لا. مقياس لفرز النتائج حسب
Sortorder الفرز تنازلي لا. اتجاه الفرز (تصاعدي/تنازلي)

ارجاع:

  • McpAnalyticsListResult مع الحالات بما في ذلك:
    • معرف الحالة
    • المدة والوقت النشط ووقت الانتظار
    • عدد الأحداث
    • قيم السمات

مثال على الاستخدام:

User: "Show me cases that took longer than 5 days"
Tool: get_cases_with_metrics with processId, filterOptions (MetricConditionFilter for Duration>5 days)
Response: List of cases exceeding 5 days with details

توقيت الاستخدَام:

  • التحقيق التفصيلي في الحالة
  • تحديد الحالات الخارجية
  • تحليل السبب الجذري لحالات معينة
  • تصدير بيانات الحالة لمزيد من التحليل

أدوات تحليل الارتباط

استخدم هذه الأداة لتحديد كيفية تأثير السمات على مقاييس العملية.

اسم الأداة الغرض المعايير الرئيسية
get_correlation تأثير السمة على مقاييس العملية processId, attributeName, influenceFormula

get_correlation

حساب الارتباط بين قيم السمات ومقاييس العملية لتحديد التأثيرات.

البارامترات:

المعلمة النوع افتراضي مطلوب الوصف
معرف العملية المعرف الفريد العمومي - ‏‏نعم‬ معرف فريد للعملية
اسم السمة string - ‏‏نعم‬ اسم السمة (يجب أن يكون على مستوى الحالة)
influenceFormula شكل التأثير - ‏‏نعم‬ مقياس لتحليل التأثير على
Sortorder الفرز تنازلي لا. اتجاه الفرز لقيم التأثير
عوامل التصفية McpFilterOptions قيمة فارغة لا. عوامل التصفية الاختيارية التي يجب تطبيقها

ارجاع:

  • McpAnalyticsListResult مع قيم التأثير لكل قيمة سمة
  • تشير القيم الأعلى إلى تأثير أقوى على المقياس المحدد

صيغ التأثير المتوفرة:

  • ActiveTimeInfluence
  • CaseUtilizationInfluence
  • DurationInfluence
  • EventCountInfluence
  • LoopCountInfluence
  • ReworkCountInfluence
  • SelfloopCountInfluence
  • WaitingTimeInfluence

مثال على الاستخدام:

User: "Does department influence process duration?"
Tool: get_correlation with processId, attributeName="Department", influenceFormula=DurationInfluence
Response: Sales: 0.75 (high), Finance: 0.42 (moderate), Warehouse: 0.18 (low)

توقيت الاستخدَام:

  • تحليل السبب الجذر
  • تحديد الشرائح التي تساهم في ضعف الأداء
  • تحديد أولويات جهود التحسين حسب التأثير
  • فهم تأثيرات السمة على المقاييس

مهم

تعمل أداة get_correlation فقط مع السمات على مستوى الحالة. سيؤدي استخدام السمات على مستوى الحدث (مثل النشاط) إلى حدوث خطأ: "لا يمكن حساب الارتباط للسمات غير على مستوى الحالة."

هياكل الطلب والاستجابة

تصف الأقسام التالية معلمات الطلب الشائعة وهياكل الاستجابة.

معلمات الطلب الشائعة

تقبل معظم الأدوات هذه المعلمات القياسية لفصل الصفحات والفرز.

المعلمة النوع افتراضي الوصف
معرف العملية المعرف الفريد العمومي مطلوب معرف فريد للعملية (باستثناء get_processes)
itemsPerPage int 50 عدد العناصر التي سيتم إرجاعها لكل صفحة
itemsToSkip int 0 عدد العناصر التي يجب تخطيها (إزاحة ترقيم الصفحات)
metricToSortBy string يختلف حسب الأداة اسم القياس لفرز النتائج
Sortorder الفرز تنازلي اتجاه الفرز (تصاعدي أو تنازلي)
عوامل التصفية McpFilterOptions قيمة فارغة خيارات التصفية المعقدة (راجع قسم خيارات التصفية)

هيكل الاستجابة

توفر الأقسام التالية تفاصيل لهياكل الاستجابة.

McpAnalyticsListResult

تنسيق الاستجابة القياسي للاستعلامات المستندة إلى القائمة.

{
  "items": [
    {
      "metric1": "value1",
      "metric2": 123.45,
      "metric3": 456
    },
    {
      "metric1": "value2",
      "metric2": 98.76,
      "metric3": 321
    }
  ],
  "offset": 0,
  "limit": 50,
  "totalCount": 500
}

الحقول:

  • العناصر: صفيف القواميس التي تحتوي على أزواج قيم المفاتيح القياسية
    • المفاتيح هي أسماء المقاييس (على سبيل المثال، "المدة"، "القيمة"، "CaseCount")
    • القيم هي قيم قياسية (سلاسل، أرقام، تواريخ)
  • الإزاحة: إزاحة ترقيم الصفحات الحالية (تساوي معلمة itemsToSkip)
  • الحد: حجم الصفحة (يساوي معلمة itemsPerPage)
  • totalCount: إجمالي عدد السجلات المتوفرة (استخدام لفصل الصفحات)

مثال على ترقيم الصفحات:

Request 1: itemsPerPage=50, itemsToSkip=0 → Returns items 1-50
Request 2: itemsPerPage=50, itemsToSkip=50 → Returns items 51-100
Request 3: itemsPerPage=50, itemsToSkip=100 → Returns items 101-150
Continue while offset + limit < totalCount

العمليات الطويلة الأمد

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

تدفق العملية:

  1. الطلب الأولي: يرسل العميل طلب استدعاء الأداة إلى خادم MCP
  2. المعالجة من جانب الخادم: تعالج واجهة برمجة التطبيقات الاستقصاء داخليا - ينتظر الخادم حتى يكمل محرك التحليلات الاستعلام. لا يلزم إجراء استقصاء من جانب العميل.
  3. إعلامات التقدم: يقوم الخادم ببث تحديثات التقدم للعميل تلقائيا عبر أحداث Server-Sent (SSE). يتم إرسال إعلامات التقدم كل 5 ثوان تقريبا أثناء المعالجة.
  4. الإكمال: يقوم الخادم بإرجاع النتيجة النهائية بالحالة Succeeded أو FailedClientError أو FailedAnalyticsError

الحالات النهائية:

  • Succeeded: النتائج المتوفرة استجابة
  • FailedClientError: خطأ التحقق من الصحة (معلمات غير صالحة، عوامل تصفية)
  • FailedAnalyticsError: خطأ في معالجة محرك التحليلات

السيناريوهات النموذجية للعمليات طويلة الأمد:

  • استعلامات مجموعة البيانات الكبيرة (>10000 حالة)
  • عوامل تصفية معقدة بشروط متعددة
  • تحليل الارتباط عبر العديد من قيم السمات
  • تحليل متغير مع تعقيد عملية عميق

ملحوظة

يعالج الخادم جميع عمليات التحقق داخليا. يتلقى العملاء إعلامات التقدم تلقائيا من خلال نقل SSE دون الحاجة إلى تنفيذ منطق الاستقصاء. يتوافق هذا الأسلوب مع نقل HTTP القابل للبث من MCP.

مرجع خيارات التصفية

تتيح بنية McpFilterOptions التحكم الدقيق في استرداد البيانات من خلال خمسة أنواع من عوامل التصفية. يمكن دمج عوامل التصفية لإنشاء استعلامات معقدة.

منطق تركيبة التصفية

  • يتم دمج جميع أنواع عوامل التصفية داخل McpFilterOptions مع منطق AND
  • يتم دمج عوامل تصفية متعددة من نفس النوع مع منطق OR
  • يحتوي كل عامل تصفية على isInclusive خاصية (افتراضي: صحيح)
    • isInclusive=true: تضمين سجلات مطابقة
    • isInclusive=false: استبعاد السجلات المطابقة

مثال:

AttributeValueFilters: [Department=Sales OR Department=Marketing]
AND
MetricConditionFilters: [Duration > 5 days]
= Cases from Sales OR Marketing with duration > 5 days

AttributeValueFilter

عوامل التصفية استنادا إلى قيم سمة معينة (على سبيل المثال، القسم، المستخدم، اسم النشاط).

خصائص:

الخاصية النوع مطلوب الوصف
اسم السمة string ‏‏نعم‬ اسم السمة المراد تصفيتها على
قيم السمات سلسلة[] ‏‏نعم‬ قائمة القيم المراد تضمينها أو استبعادها
غير حاسم منطقي لا (الافتراضي: صحيح) تضمين (صحيح) أو استبعاد قيم مطابقة (خطأ)

مثال JSON:

{
  "attributeValueFilters": [
    {
      "attributeName": "Department",
      "attributeValues": ["Sales", "Marketing"],
      "isInclusive": true
    }
  ]
}

حالات الاستخدام:

  • التصفية لأقسام أو مستخدمين أو مقاطع عملاء محددة
  • استبعاد بيانات الاختبار أو أنشطة محددة
  • تحليل المجموعات الفرعية للعملية

قواعد التحقق من الصحة:

  • يجب ألا يكون اسم السمة فارغا
  • يجب أن يحتوي صفيف attributeValues على قيمة واحدة على الأقل
  • يجب أن يكون اسم السمة موجودا في مخطط العملية (استدعاء get_process_details للتحقق)

تصفية الإطار الزمني

عوامل التصفية استنادا إلى نطاقات التاريخ/الوقت للطوابع الزمنية للحالة أو الحدث.

خصائص:

الخاصية النوع مطلوب الوصف
startDate Datetime ‏‏نعم‬ بداية الإطار الزمني (شامل)
تاريخ الانتهاء Datetime ‏‏نعم‬ نهاية الإطار الزمني (شامل)
غير حاسم منطقي لا (الافتراضي: صحيح) تضمين (صحيح) أو استبعاد (خطأ) الإطار الزمني

مثال JSON:

{
  "timeframeFilters": [
    {
      "startDate": "2025-01-01T00:00:00Z",
      "endDate": "2025-12-31T23:59:59Z",
      "isInclusive": true
    }
  ]
}

حالات الاستخدام:

  • تحليل فترات زمنية محددة (أرباع السنة، الأشهر، السنوات)
  • استبعاد البيانات التاريخية
  • مقارنة أداء الفترة الزمنية

قواعد التحقق من الصحة:

  • يجب أن يكون تاريخ البدء قبل تاريخ الانتهاء
  • يجب أن يكون تنسيق التاريخ ISO 8601 صالحا

مهم

يحدث خطأ التحقق من الصحة إذا كان startDate بعد endDate. تحقق دائما من نطاق التاريخ قبل الإرسال.

MetricConditionFilter

عوامل التصفية استنادا إلى حدود قيمة القياس (على سبيل المثال، المدة > 5 أيام، عدد < الأحداث 10).

خصائص:

الخاصية النوع مطلوب الوصف
قياس McpFilterMetricType ‏‏نعم‬ المقياس المراد التصفية عليه
customMetricId المعرف الفريد العمومي Conditional مطلوب إذا كان المقياس مخصصا
مقارناتOperator ValueFilterExpressionOperator ‏‏نعم‬ عامل المقارنة
dataType نوع بيانات تصفية القيمة ‏‏نعم‬ نوع البيانات للقيمة
القيمة كائن ‏‏نعم‬ القيمة المراد مقارنتها مقابل
غير حاسم منطقي لا (الافتراضي: صحيح) تضمين (صواب) أو استبعاد (خطأ) التطابقات

المقاييس المتوفرة (McpFilterMetricType):

نوع المقياس الوصف
EventDuration مدة الأحداث الفردية
مدة الأحرف إجمالي مدة الحالة من البداية إلى النهاية
CaseActiveTime الوقت المستغرق في المعالجة بنشاط (باستثناء وقت الانتظار)
CaseWaitingTime الوقت المستغرق في الانتظار بين الأنشطة
تحويل حالة الأحرف إلى حالة النسبة المئوية لاستخدام الحالة
استخدام CaseCumulativeUtilization الاستخدام التراكمي عبر دورة حياة الحالة
CaseEventCount عدد الأحداث لكل حالة
CaseSelfLoopCount عدد التكرارات الحلقية الذاتية (تكرار نفس النشاط على الفور)
CaseLoopCount عدد الحلقات (تسلسلات النشاط التي تتكرر)
عدد حالات العمل عدد مثيلات إعادة العمل
مقياس مخصص مقياس معرف من قبل المستخدم (يتطلب customMetricId)

عوامل المقارنة:

  • يساوي إلى
  • NotEqualTo
  • GreaterThan
  • GreaterThanOrEqualTo
  • أقل ثان
  • LessThanOrEqualTo

أنواع البيانات:

  • السلسلة
  • رقم
  • الوقت (المدة)
  • Datetime

مثال JSON:

{
  "metricConditionFilters": [
    {
      "metric": "CaseDuration",
      "comparisonOperator": "GreaterThan",
      "dataType": "Time",
      "value": "5.00:00:00",
      "isInclusive": true
    }
  ]
}

حالات الاستخدام:

  • تحديد الحالات التي تتجاوز حدود اتفاقية مستوى الخدمة
  • التصفية إلى حالات عالية القيمة أو منخفضة القيمة
  • تحليل الحالات ذات الخصائص المحددة (على سبيل المثال، عدد إعادة العمل العالي)

قواعد التحقق من الصحة:

  • CustomMetricId مطلوب عندما يكون المقياس مخصصا
  • يجب أن تتطابق القيمة مع نوع البيانات المحدد
  • يجب أن يكون المقياس صالحا لسياق الاستعلام

SubProcessFilter

عوامل التصفية حسب أنماط المعالجة الفرعية حيث تتبع الأنشطة المرجعية أنشطة نسبية.

خصائص:

الخاصية النوع مطلوب الوصف
اسم السمة string ‏‏نعم‬ اسم السمة (عادة "النشاط")
قيم الإسناد المرجعي سلسلة[] ‏‏نعم‬ بدء الأنشطة في العملية الفرعية
قيم relativeAttribute سلسلة[] ‏‏نعم‬ إنهاء الأنشطة في العملية الفرعية
غير حاسم منطقي لا (الافتراضي: صحيح) تضمين (صواب) أو استبعاد (خطأ) عملية فرعية

مثال JSON:

{
  "subProcessFilters": [
    {
      "attributeName": "Activity",
      "referenceAttributeValues": ["Create Order"],
      "relativeAttributeValues": ["Ship Goods"],
      "isInclusive": true
    }
  ]
}

حالات الاستخدام:

  • تحليل تدفقات معالجة فرعية محددة
  • تحديد الحالات التي تتبع مسارات معينة
  • استبعاد أنماط معالجة فرعية محددة

قواعد التحقق من الصحة:

  • يجب ألا يكون اسم السمة فارغا
  • يجب أن يحتوي كل من referenceAttributeValues و relativeAttributeValues على قيمة واحدة على الأقل

AttributeSequenceFilter

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

خصائص:

الخاصية النوع مطلوب الوصف
اسم السمة string ‏‏نعم‬ اسم السمة (عادة "النشاط")
نوع الارتباط نوع تصفية التسلسل ‏‏نعم‬ نوع العلاقة بين الأنشطة
قيم الإسناد المرجعي سلسلة[] ‏‏نعم‬ الأنشطة الأولى بالتسلسل
قيم relativeAttribute سلسلة[] ‏‏نعم‬ الأنشطة الثانية بالتسلسل
غير حاسم منطقي لا (الافتراضي: صحيح) تضمين (صحيح) أو استبعاد تسلسل (خطأ)

أنواع الارتباطات:

  • DirectlyFollowed: النشاط المرجعي متبوعا مباشرة بنشاط نسبي (لا توجد أنشطة بينهما)
  • في النهاية: النشاط المرجعي متبوعا بنشاط نسبي (قد تكون الأنشطة الأخرى بينهما)

مثال JSON:

{
  "attributeSequenceFilters": [
    {
      "attributeName": "Activity",
      "relationType": "DirectlyFollowed",
      "referenceAttributeValues": ["Approve Order"],
      "relativeAttributeValues": ["Credit Check"],
      "isInclusive": true
    }
  ]
}

حالات الاستخدام:

  • فرض تسلسلات نشاط محددة
  • تحديد انتهاكات التوافق
  • تحليل الحالات بترتيب معين

قواعد التحقق من الصحة:

  • يجب ألا يكون اسم السمة فارغا
  • يجب أن يحتوي كل من referenceAttributeValues و relativeAttributeValues على قيمة واحدة على الأقل

معالجة الأخطاء

تصف الأقسام التالية رموز الخطأ الشائعة وأخطاء التحقق من الصحة وتنسيق الاستجابة التي يمكن أن تساعدك في حل المشكلات.

رموز الخطأ

يستخدم خادم MCP ثلاثة رموز خطأ أساسية:

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

أخطاء التحقق الشائعة

معرف العملية الفارغ

خطأ: "processId (Guid) يجب أن يكون معرف العملية." السبب: معلمة معرف العملية فارغة أو غير صالحة الدقة: استخدم get_processes للحصول على معرفات عملية صالحة

إطار زمني غير صحيح

خطأ: "يجب أن يكون تاريخ البدء قبل EndDate." السبب: تم بدء تشغيل TimeframeFilter بعد endDate Resolution: التحقق من نطاق التاريخ قبل إرسال الطلب

اسم السمة مفقود

خطأ: "يجب توفير اسم السمة." السبب: اسم السمة فارغ أو فارغ في تحليل عامل التصفية: توفير اسم سمة صالح من مخطط العملية

قيم السمات الفارغة

خطأ: "يجب أن تحتوي قيم السمات على قيمة واحدة على الأقل." السبب: صفيف attributeValues فارغ في AttributeValueFilter Resolution: إضافة قيمة واحدة على الأقل إلى الصفيف

معرف القياس المخصص المفقود

خطأ: "CustomMetricId مطلوب عندما يكون المقياس مخصصا." السبب: المقياس مخصص ولكن لم يتم توفير customMetricId الدقة: توفير GUID للمقياس المخصص

سمة على مستوى غير حالة في الارتباط

خطأ: "لا يمكن حساب الارتباط للسمات غير على مستوى الحالة." السبب: محاولة get_correlation باستخدام سمة على مستوى الحدث (على سبيل المثال، "النشاط "): استخدام السمات على مستوى الحالة فقط (على سبيل المثال، "القسم"، "العميل")؛ استدعاء get_process_details لتحديد السمات على مستوى الحالة

تنسيق استجابة الخطأ

{
  "error": {
    "code": "InvalidParams",
    "message": "Attribute name must be provided."
  }
}

أفضل الممارسات

يمكن أن تساعدك أفضل الممارسات التالية على استخدام خادم Process Mining MCP بشكل فعال.

استرداد تفاصيل العملية دائما أولا

استخدم get_process_details لاكتشاف السمات والمقاييس وقواعد العمل المتوفرة قبل إنشاء الاستعلامات.

السبب: يضمن تطابق أسماء السمات مع مخطط العملية، ويمنع أخطاء التحقق من الصحة، ويحدد سمات مستوى الحالة مقابل سمات مستوى الحدث.

Step 1: get_processes → Obtain processId
Step 2: get_process_details with processId → Discover attributes
Step 3: Use discovered attributes in filters and queries

تنفيذ تقسيم الصفحات لمجموعات البيانات الكبيرة

استخدم itemsPerPage و itemsToSkip لكافة عمليات القائمة. مراقبة totalCount لتحديد ما إذا كان هناك المزيد من الصفحات.

أحجام الصفحات الموصى بها:

  • الافتراضي: 50 عنصرا لكل صفحة
  • مجموعات البيانات الكبيرة: 20 عنصرا في الصفحة (أوقات استجابة أسرع)
  • مجموعات البيانات الصغيرة: 100 عنصر لكل صفحة (عدد أقل من الرحلات ذهابا وجولة)
let allItems = [];
let offset = 0;
const pageSize = 50;

do {
  const response = await getTool(processId, pageSize, offset);
  allItems.push(...response.items);
  offset += pageSize;
} while (offset < response.totalCount);

استخدام التصفية لتقليل حجم البيانات

لتقليل وقت المعالجة وحجم حمولة الاستجابة، قم بتطبيق AttributeValueFilter و TimeframeFilter في وقت مبكر من سلسلة الاستعلام.

أولوية التصفية:

  1. TimeframeFilter (يقلل من مجموعة البيانات بسرعة)
  2. AttributeValueFilter (يضيق إلى مقاطع معينة)
  3. MetricConditionFilter (المزيد من تحسين النتائج)

معالجة العمليات طويلة الأمد

تتم معالجة العمليات طويلة الأمد تلقائيا بواسطة الخادم. تستخدم واجهة برمجة التطبيقات الاستقصاء من جانب الخادم داخليا وتبث تحديثات التقدم إلى العميل عبر أحداث Server-Sent (SSE). لا يلزم تنفيذ الاستقصاء من جانب العميل.

ما يمكن توقعه:

  1. يعالج الخادم الاستعلامات المعقدة بشكل غير متزامن نيابة عنك
  2. يتم تسليم إعلامات التقدم تلقائيا من خلال نقل SSE
  3. يتم إرجاع النتيجة النهائية عند اكتمال المعالجة
  4. عرض النتائج النهائية للمستخدم عند تلقيها

بيانات تعريف معالجة ذاكرة التخزين المؤقت

تتغير تفاصيل العملية (السمات والمقاييس وقواعد العمل) بشكل غير متكرر. استجابة get_process_details ذاكرة التخزين المؤقت لتقليل استدعاءات واجهة برمجة التطبيقات.

مشغلات إبطال ذاكرة التخزين المؤقت:

  • عملية إعادة المعالجة
  • ‏‏تغييرات التكوين
  • التحديث الذي بدأه المستخدم

التحقق من صحة عوامل التصفية من جانب العميل

تحقق من نطاقات التاريخ وأسماء السمات والحقول المطلوبة قبل إرسال الطلبات لتقليل أخطاء الرحلة ذهابا وإيابا.

قائمة التحقق من الصحة من جانب العميل:

  • [ ] معرف العملية هو GUID غير فارغ
  • [ ] TimeframeFilter: startDate < endDate
  • [ ] AttributeValueFilter: attributeName غير فارغ، تحتوي attributeValues على عنصر واحد على الأقل
  • [ ] MetricConditionFilter: customMetricId المقدم إذا كان المقياس مخصصا
  • [ ] أسماء السمات تطابق مخطط العملية

استخدام الارتباط استراتيجيا

تحليل الارتباط مكثف حسابيا. تطبيق عوامل التصفية أولا لتقليل مجموعة البيانات قبل تشغيل الارتباط.

أفضل الممارسات:

  • تحقق من أن السمة على مستوى الحالة (استدعاء get_process_details)
  • تطبيق TimeframeFilter و AttributeValueFilter أولا
  • يستخدم لاختبار الفرضية، وليس الاستكشاف
  • نتائج ذاكرة التخزين المؤقت لأجزاء معينة