يوضِّح هذا المستند خدمة المهام المُجدوَلة في Fleet Engine. يفترض الدليل أنّك اطّلعت على مقالة ما هو Fleet Engine؟ وأنّك على دراية بإمكانيات خدمة Fleet Engine المحدّدة التي تحتاجها.
أثناء قراءة هذه المستندات، يُرجى مراعاة ما يلي:
- يمكنك إنشاء مهام وربطها بنقطة توقف للمركبة كطريقة لمحاولة تمثيل الارتباط في العالم الواقعي بين المهمة والموقع الجغرافي الذي يُتوقّع فيه توقف المركبة كي يتمكّن السائق من إكمال المهمة. اطّلِع على مقدّمة عن المركبات لفهم طريقة عمل المركبات في Fleet Engine بشكلٍ أفضل.
- يستخدم Fleet Engine للمهام المجدوَلة الموارد التالية:
Task
وDeliveryVehicle
. يوفّر Fleet Engine خدمة gRPC وواجهات REST:
ما هي المهمة المُجدوَلة؟
تمثّل المهمة المُجدوَلة في Fleet Engine إجراءً فرديًا على السائق إكماله باستخدام مركبة في سياق أوسع لإحدى عمليات النقل. ويحدّد الهدف المحدّد للسائق. على سبيل المثال:
- لتسليم سلعة إلى مسكن
- لاستلام طرد لإرجاعه إلى مستودع الشحن
- للتوقف في موقع جغرافي لتقديم خدمة على الموقع لعميل
- إجراء توقف مجدوَل لتزوّد المركبة بالوقود
عناصر المهام
توضِّح الصورة التالية عناصر المهمة هذه في رحلة منتظمة ومُجدوَلة لمركبة.
حقول المهام الأساسية
الحقل | الوصف |
---|---|
النوع | تحدِّد هذه السمة نوع الإجراء المرتبط بالمهمة. |
معرّف المهمة | سلسلة تحدِّد المهمة بشكل فريد داخل النظام |
الموقع الجغرافي المخطَّط | تُحدِّد الموقع الجغرافي المقصود الذي يجب تنفيذ المهمة فيه. لا يتطابق هذا الموقع الجغرافي دائمًا مع الموقع الجغرافي المخطَّط لنقطة وقوف المركبة. |
الحالة | يشير إلى ما إذا كانت المهمة مفتوحة أو مغلقة. |
نتيجة المهمة | تشير إلى ما إذا كانت المهمة ناجحة أو تعذّر إكمالها. |
نموذج البيانات للمهام
توضِّح الرسومات البيانية التالية نموذج بيانات مورد Task
إلى جانب الرسم البياني لمورد DeliveryVehicle
المرتبط به. يمكنك
مراجعة كلا المخطّطَين البيانيَّين لاستكشاف العلاقات بين المَراجعَين،
مع مراعاة ما يلي:
- الموقع الجغرافي المخطَّط: لكلّ من محطات المركبات والمهام مواقع جغرافية مخطَّطة،
مميّزة عن بعضها.
- بالنسبة إلى المهام، يشير الموقع الجغرافي المخطَّط إلى المكان الذي يجب أن يقع فيه إجراء السائق. على سبيل المثال، تتطلّب عمليات تسليم 15 طردًا إلى مجمع سكني كبير التسليم إلى مواقع مختلفة لغرف البريد ضمن المجمع نفسه.
- بالنسبة إلى محطات المركبات، يشير الموقع الجغرافي المخطَّط إلى محطة المركبة أثناء إكمال السائق للمهام. على سبيل المثال، تتوقف المركبة عند مدخل مجمع سكني، ويسلّم السائق الطرود يدويًا لفصل غرف البريد داخل المجمع.
- الحالة: يحتوي كلّ من المهام ومحطات المركبات على حقل الحالة، وهو حقل مختلف عن
حقل الحالة في كلّ منهما.
- تعكس حالة محطة المركبة مستوى تقدّم المركبة مقارنةً بالمحطة، ويتم استخدامها لأغراض تتبُّع الأسطول.
- تشير حالة المهمة إلى ما إذا كانت المهمة نشطة أم لا. ويؤثّر ذلك في العمليات الأخرى التي يجب إجراؤها على المهام، مثل ضبط النتيجة أو إسنادها إلى مركبة.
نتيجة المهمة: نتيجة المهمة هي حقل مهم في نموذج البيانات، لأنّه يُستخدَم للإشارة إلى نجاح مهمة أو فشلها، بغض النظر عن حالة المهمة.
أرقام التعريف:
- عند تعيين مهمة لمركبة، يعبّئ محرّك Fleet حقل
deliveryVehicleId
. يشير هذا الحقل للقراءة فقط إلى المركبة التي تم تعيين المهمة لها. - معرّفات المهام هي معرّفات فريدة لجميع المهام في نظامك.
- تحدِّد معرّفات التتبّع مهمة بغرض تتبُّع الشحنة.
- عند تعيين مهمة لمركبة، يعبّئ محرّك Fleet حقل
نموذج بيانات "مهام Google"
نموذج بيانات المركبة
أرقام تعريف المهام
على غرار أرقام تعريف المركبات في Fleet Engine، يجب أن تحتوي كل مهمة على معرّف لتمييزها عن المهام الأخرى في النظام. يمكنك الإشارة إلى كل المهام في سير العمل وإدارتها باستخدام معرّفها. يمكنك إنشاء هذه المعرّفات باستخدام خدمة
CreateTaskRequest
وتقديم سلسلة معرّف تتوافق مع
المتطلبات الموضّحة في هذا القسم.
تتألف هذه السلسلة بعد ذلك من جزء من اسم مورد المهمة نفسه، وهو حقل
للإخراج فقط في عنصر Task
. يشبه ذلك الطريقة التي ينشئ بها Fleet Engine موارد أسماء المركبات. اطّلِع على قسم تسمية الموارد في مقدّمة عن Fleet Engine.
الموقع | الوصف |
---|---|
التفرّد | يجب أن يكون كل معرّف مهمة فريدًا ضمن عملية تنفيذ Fleet Engine لتجنّب الالتباس وضمان التحديد الصحيح. |
التنسيق |
|
أمثلة على معرّفات المهام الجيدة |
|
---|---|
أرقام تعريف المهام غير المسموح بها |
|
أنواع المهام
يتيح Fleet Engine أنواع مهام مختلفة لتمثيل إجراءات مختلفة ضمن عملية النقل. وسيتم وصفها هنا مع مستوى إذن الوصول وتفاصيل الفوترة.
نوع المهمة | الوصف | إذن الوصول إلى ميزة تتبُّع الشحنة | تمّت الفوترة |
---|---|---|---|
مهمة التسليم | استخدِم هذا الخيار لإيصال سلع أو إكمال مهمة لعميل. | ويمكن للمستهلكين الاطّلاع على هذه المعلومات وتتبُّعها. | نعم |
مهمة الاستلام | استخدِم هذا الإجراء للإشارة إلى استلام السلع من عميل. يجب أن يكون لديك مهام تسليم مقابلة لأي مهمة استلام. | ويمكن للمستهلكين الاطّلاع على هذه المعلومات وتتبُّعها. | لا |
مهمة عدم التوفّر | يُستخدَم لتحديد أنّ المركبة غير متاحة للخدمة، مثل عندما يأخذ السائق استراحة أو يُعيد تعبئة المركبة بالوقود. | لا تظهر للمستهلكين. | لا |
مهمة الإيقاف المُجدوَلة | مهمة غير تسليم تتطلّب التوقف في موقع معيّن استخدِم مهام التوقفات المُجدوَلة لمواضع التوقف اليومية المُجدوَلة لجمع الطلبات في موقع جغرافي محدّد، بغض النظر عن عمليات التسليم أو الاستلام الأخرى في الموقع الجغرافي نفسه. يمكنك أيضًا إنشاء مهام وقوف مجدوَلة لعمليات جمع الحزم من صناديق التسليم أو لمحاكاة عمليات نقل المركبات الفرعية أو عمليات التوقف في مراكز الصيانة ونقاط الصيانة. | لا يمكن للمستهلكين تتبُّع هذه المهمة المحدّدة، ولكن يمكنهم الاطّلاع عليها كجزء من تتبُّع المهام الأخرى. | لا |
دورة حياة المهام والرحلات
يوفّر هذا القسم تفاصيل حول دورة حياة مهمة التسليم ضمن Fleet Engine. ترتبط دورة حياة المهمة برحلة المركبة لأنّه يجب أن تنتقل المركبة إلى محطة توقف ليتمكّن السائق من إكمال مهمة في موقعها المخطّط.
1. إنشاء المهام
عند إنشاء مهمة لأول مرة في Fleet Engine، يمكنك ضبط مجموعة متنوعة من الحقول للمهمة بشكل مستقل عن ربطها بنقطة توقف.
الموقع | الوصف |
---|---|
الحالة | ضبط القيمة على OPEN |
أرقام التعريف | اضبط رقم تعريف المهمة ورقم تعريف التتبّع إذا كنت تستخدِم ميزة تتبُّع الشحنة للمستهلكين. |
التوقيت | المدة الزمنية المخطّط لها للمهمة وفترة الوقت المستهدَفة يمكنك الاطّلاع على توقيت المهام لمعرفة التفاصيل. |
الموقع الجغرافي المخطَّط | حدِّد الإحداثيات الجغرافية الدقيقة التي يجب أن تتم فيها المهمة. |
2. تعيين مهمة
عند تعيين مهمة لمركبة، عليك إجراء ذلك مع مركبة محطة. المحطات هي إحداثيات خط العرض/خط الطول التي تشير إلى الموقع الجغرافي الذي يتم فيه ركن المركبة بينما يُكمل السائق المهام المرتبطة بالمحطة. تكون المحطات عادةً نقطة وصول، مثل رصيف تحميل أو موقع تم التقاطه على الطريق.
3. قيد التقدم
تكون حالة المهمة إما "مفتوحة" أو "مغلقة". ومع ذلك، بعد تعيين مهمة لمركبة، يمكنك تتبُّع مستوى تقدّمها من خلال ربطها بالمركبة ومكان المركبة بالنسبة إلى المحطة التي سيتم فيها إكمال المهمة.
بعد مغادرة المركبة محطة أو بدء التنقّل، من المفترض أن تتغيّر حالة
المحطة إلى ENROUTE
. بهذه الطريقة، يمكن تتبُّع شحنة المستهلك
إعلام المستلِم بمهمة مع عدد المحطات المتبقية ومقدَّر
وقت الوصول. يتيح ذلك أيضًا أيّ عرض مرئي في الوقت الفعلي لتتبُّع شحنات المستهلكين أو تتبُّع الأسطول.
4. وقت الوصول ونتيجة المهمة
عند وصول المركبة إلى محطة، يجب ضبط حالة المحطة على
ARRIVED
. كما هو الحال مع حالة الإيقاف ENROUTE
، لا يؤثّر ذلك في حالة
المهمة نفسها، ولكنه يتيح إرسال إشعارات إلى المستهلكين وأي تقارير في الوقت الفعلي
لتتبّع الأسطول التي يستخدمها مشغّلو الأسطول. ويُتيح أيضًا في وقت لاحق استخدام ميزة
الإحصاءات وإعداد التقارير عن عمليتك التي ستستخدمها لتحسين
عمليات الإرسال.
بعد وصول المركبة إلى محطة، يمكن للنظام معالجة بقية المهمة الرحلة باستخدام إحدى الطرق التالية:
إغلاق المهام عند اكتمالها
عندما يضع السائق علامة على المهمة على أنّها مكتملة، يمكن للنظام إزالتها من محطة التوقف، ولكن يترك المحطة مع المهام الأخرى المخصّصة لها.
إزالة المحطة بأكملها من المركبة
بعد أن يضع السائق علامة على جميع المهام المكتملة وتكون المركبة في طريقها إلى المحطة التالية، يمكنك إزالة المحطة بأكملها من المركبة. يُغلق Fleet Engine تلقائيًا جميع المهام المرتبطة بنقطة توقف تمت إزالتها.
لا يشير إغلاق مهمة إلى نجاحها أو تعذّرها.
يشير إغلاق مهمة إلى أنّها لم تعُد قيد التنفيذ.
بالنسبة إلى المهام في الحالة CLOSED
، يمكنك ضبط النتيجة على SUCCEEDED
أو
FAILED
. هذا الإجراء ضروري للإشارة إلى النتيجة الفعلية لتتبُّعshipment
والفوترة الصحيحة. لا يحصّل Fleet Engine رسومًا إلا من مهام التسليم التي تبلغ
حالتها "تمّ بنجاح".
بعد ضبط نتيجة مهمة، لا يمكنك تغييرها.
عند وضع علامة على نتيجة مهمة، يملؤ تطبيق Fleet Engine تلقائيًا حقل "الموقع الجغرافي لنتيجة المهمة" بآخر موقع جغرافي معروف للمركبة. ومع ذلك، يمكنك تعديل وقت نتيجة المهمة وموقع نتيجة المهمة بعد ضبطهما، وسيكون Fleet Engine متوافقًا مع هذين الحقلين.
5- سيناريوهات المهام الأخرى
لا تتوافق بعض المهام التي تنشئ نماذج لها في Fleet Engine مع مسار الرحلة المعتاد. على سبيل المثال:
- مهام الاستلام عندما يكون لديك مهمة استلام لحزمة ستتم إعادتها إلى المستودع لمعالجتها لاحقًا، عليك إنشاء مهمة تسليم مقابلة لهذه الحزمة، مع ضبط الموقع الجغرافي المخطَّط على المستودع. بخلاف ذلك، تتّبع مهام الاستلام بشكل عام الخطوات نفسها المتّبعة في مهام التسليم.
- إعادة تعيين المهام: لا يمكنك إعادة تعيين مهمة مباشرةً إلى مركبة مختلفة. بدلاً من ذلك، لنقل مهمة من مركبة إلى أخرى، عليك إغلاق المهمة الأصلية ثم إعادة إنشائها قبل إسنادها إلى المركبة الجديدة. إذا عدّلت ترتيب مهمة سبق أن تم إسنادها إلى مركبة مختلفة، يُرسِل Fleet Engine خطأ.
- حذف المهام كما هو الحال مع المركبات، يحذف Fleet Engine المهام التي لم يتم تعديلها بعد سبعة أيام. إذا حاولت إعادة استخدام معرّف مهمة تم إغلاقها سابقًا، يعرض Fleet Engine رسالة خطأ إذا تم استخدام هذا المعرّف في المدّة التي تبلغ سبعة أيام. في المقابل، إذا كنت تريد الاحتفاظ ببيانات المهام لفترة أطول من سبعة أيام، عليك تنفيذ هذه الميزة بنفسك، مثلاً من خلال مهام مجدوَلة لإعادة ضبط ساعة الساعات السبعة.
مشاركة مستوى تقدّم المهمة
في Fleet Engine، يمكنك تتبُّع مستوى تقدّم المهام في الوقت الفعلي ومشاركة رحلة السائق بطريقتَين رئيسيتين:
- تجربة المستهلك لمعرفة حالة طلبات الشحن أو طلب الصيانة
- تتبُّع الأسطول لمشغّلي الأسطول من أجل تتبُّع حالة المركبات في الأسطول وتحليلها
تجربة المستهلك
لمشاركة مستوى تقدّم المهمة، عليك إعداد تجربة المستهلك باستخدام حزمة تطوير البرامج (SDK) للمستهلك المستندة إلى JavaScript. باستخدام حزمة SDK، يمكنك تحسين تجربتَي الويب المرئي أو التطبيق المتوافق مع الأجهزة الجوّالة ليتمكّن المستهلكون من تتبُّع حالة شحنتهم، بالإضافة إلى الأوقات المقدَّرة للوصول وتعديلات الموقع الجغرافي في الوقت الفعلي لمركبة التسليم. اطّلِع على نظرة عامة على المهام المُجدوَلة لحِزم تطوير البرامج (SDK) المخصّصة للمستهلكين.
تحتوي حزمة Consumer SDK على خريطة JavaScript ومكونات بيانات
مكونات للربط بـ Fleet Engine. وتعدّ الخريطة بديلاً سهل الاستخدام لعنصر
google.maps.Map
العادي. على العميل مصادقة
المستخدمين النهائيين واستخدام دور مستهلك التسليم من مشروعك على Google Cloud لمحاولة عرض معلومات خاصة بالعملاء فقط. لفلترة كل الرسائل
المعلومات الأخرى في الردود ومحوها، على سبيل المثال، أثناء مهمة عدم التوفّر،
لا تتم مشاركة أي معلومات عن الموقع الجغرافي مع المستخدم النهائي.
في Fleet Engine، يمكنك تفعيل الإعدادات التالية لمشاركة مستوى تقدّم المهمة مع المستهلك:
- تستخدِم المهام السمة
TaskTrackingViewConfig
. اختياريّ. - تستخدِم المهام معرّف تتبُّع تحتاجه المكتبة لتحديد المهام المناسبة للمستهلك.
تتبُّع الأسطول
تتيح لك مكتبة تتبُّع الأسطول في JavaScript عرض المواقع الجغرافية
للمركبات في أسطولها في الوقت الفعلي تقريبًا. تستخدِم المكتبة Fleet Engine API لعرض مركبات التسليم واطلاعك على المهام المُسنَدة إليها. مثل حزمة تطوير البرامج (SDK) للمستهلك المستندة إلى JavaScript، تحتوي هذه الحزمة على عنصر google.maps.Map
خريطة JavaScript الذي يمكن استخدامه كبديل لعنصر google.maps.Map
عادي مع عناصر البيانات التي تستخدمها للربط بخدمة Fleet Engine.
تعرض هذه المكتبة مستوى رؤية مركبات التسليم فور إنشائها في Fleet Engine. لتنفيذ هذا الإجراء، يمكنك استخدام دور المستخدِم المتميّز في خدمة Fleet Engine Cloud IAM وتقديم مطالبة Java Web Token ل الوصول إلى مركبات التسليم والمهام المرتبطة بها.
سيناريوهات المهام المُجدوَلة
يعرض هذا القسم مجموعة متنوّعة من سيناريوهات المهام التي تلخّص المعلومات التي يتم تقديمها في هذه المرحلة من الدليل. يهدف هذا الدليل إلى مساعدتك في فهم الطرق المتنوعة التي يمكنك من خلالها وضع نماذج لعمليات النقل في Fleet Engine، استنادًا إلى نشاطك التجاري.
التوصيل مع التتبّع
يعرض سيناريو التسليم هذا مهمة محطّة مجدوَلة
تم تعيينها للمستودع عند المغادرة من المستودع في بداية
الرحلة والوصول إلى المستودع في نهاية الرحلة. ويعرِض أيضًا
مهمتَي تسليم لمحطة، تعذّر إكمال إحداهما. استخدِم هذه الرسالة
المخصّصة لتفعيل التتبّع من وإلى المستودع وطريقة لتصميم
وقتَي البدء والانتهاء لليوم. لا يتم تحصيل أي رسوم
عند تنفيذ مهام الإيقاف المُجدوَلة.
استلام الطلب من مستودع
يوضّح هذا السيناريو كيفية وضع نموذج لعملية استلام مع مهمة التسليم المقابلة المطلوبة لها. يمكنك ضبط عملية الإرجاع إلى المستودع على أنّها تسليم لأغراض الفوترة.

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

توقيت المهمة
يساعد وضع نماذج لأوقات المهام في التخطيط الفعّال للمسارات ومُدد الوصول المقدَّرة وإدارة توقّعات التسليم. يوفّر Fleet Engine وظيفتَين رئيسيتين لإنشاء نماذج و توقّع توقيت المهام، كما هو موضّح في هذا القسم.
مدة المهمة
يتم ضبط مدة المهمة باستخدام الحقل task_duration
، وهو حقل مطلوب يمثّل
الوقت المتوقّع الذي يقضيه السائق في إكمال المهام عند التوقف
أو لأخذ استراحة. بالنسبة إلى المحطات، يشمل ذلك جميع الأنشطة اللازمة
بعد الوصول إلى المحطة، مثل تفريغ الطرود والتفاعل مع العميل
المستلِم. وكلما كانت هذه المعلومات أكثر تحديدًا، كان بإمكان "محرك الأسطول"
تقديم أوقات وصول ووقت مقدَّر للوصول واقعيين للمحطات التالية في الرحلة.
لمعرفة تفاصيل الحقل، يُرجى الاطّلاع على المدة في مستندات Protocol Buffers.
الفترة الزمنية المستهدَفة
يحدِّد الوقت المستهدَف نطاقًا زمنيًا مقترَحًا لمهمة معيّنة، ويُستخدَم عادةً للقيام بمناقشات مع العملاء أو لأغراض التخطيط الداخلي. يمكنك ضبط ذلك باستخدام الحقل
target_time_window
الذي يتكوّن من وقت بدء ووقت انتهاء.
لا يؤثّر ذلك مباشرةً في أيّ عمليات حسابية للمسار، ولكن يمكن استخدامه في حالات مثل تنبيه المستهلك بشأن فترة زمنية لتسليم الطرد، أو متى يمكن توقّع وصول عامل الخدمة المُجدوَل.
سمات المهام
توفّر سمات المهام في Fleet Engine طريقة ملائمة لفلترة المهام استنادًا
إلى خصائص معيّنة عند استخدام طلب ListTasks
. يمكنك أيضًا استخدام
سمات المهام المخصّصة للإحصاءات باستخدام "تسجيلات Cloud"، بالإضافة إلى
إرسال المعلومات إلى المستهلكين أو لتتبُّع الأسطول. ويشبه
الغرض من سمات المركبات: استخدِم هذه السمة لإنشاء وجهة نظر
أكثر تركيزًا على عمليات التسليم.
القيود
- إنشاء سمات مخصّصة: يحدّ Fleet Engine من عدد السمات المخصّصة التي يمكنك تحديدها لكل مهمة. يُرجى التواصل مع ممثل المبيعات لطلب زيادة هذه الحدود.
- إمكانات الفلترة: على الرغم من أنّ سمات المهام توفّر مرونة في الفلترة، إلا أنّها لا تحلّ محلّ حقول بيانات المهام الأساسية. استخدِم هذه العوامل لإجراء تصفية إضافية استنادًا إلى احتياجاتك المحدّدة.
- يجب أن تحتوي كل سمة على مفتاح فريد.
- لا تُدرِج معلومات تحدّد الهوية الشخصية أو معلومات حساسة أخرى في قيمة السمة، لأنّها قد تكون مرئية للمستخدم.
- التحقّق من صحة البيانات: تأكَّد من توافق أنواع البيانات وتنسيقاتها في سماتك المخصّصة مع متطلبات Fleet Engine.