يوضِّح هذا المستند خدمة المهام المُجدوَلة في Fleet Engine. من المفترض أنّك قرأت مقالة ما المقصود بـ Fleet Engine؟ وأنك على دراية بإمكانات خدمة Fleet Engine المحدّدة التي تحتاج إليها.
أثناء قراءة هذه المستندات، يُرجى مراعاة ما يلي:
- يمكنك إنشاء المهام وربطها بمحطة مركبة كطريقة لتحديد العلاقة الحقيقية بين المهمة والمكان الذي من المتوقع أن تتوقف فيه المركبة، حتى يتمكن السائق من إنجاز المهمة. يمكنك الاطّلاع على مقدّمة حول المركبات للتعرّف بشكل أفضل على آلية عمل المركبات في Fleet Engine.
- يستخدم Fleet Engine للمهام المُجدوَلة الموارد التالية:
Task
وDeliveryVehicle
. يوفر Fleet Engine خدمة gRPC وواجهات REST على النحو التالي:
ما هي المهمة المُجدوَلة؟
تمثّل المهمة المُجدوَلة في Fleet Engine إجراءً فرديًا على السائق إكماله باستخدام مركبة في سياق أوسع لإحدى عمليات النقل. ويحدّد الهدف المحدّد للسائق. على سبيل المثال:
- لتوصيل سلعة إلى مكان الإقامة
- لاستلام طرد لإرجاعه إلى مستودع الشحن
- للتوقف في موقع جغرافي لتقديم خدمة على الموقع لعميل
- إجراء توقف مجدوَل لتزوّد المركبة بالوقود
عناصر المهام
توضح الصورة التالية عناصر المهام هذه في رحلة مجدولة قياسية لمركبة.
حقول المهام الأساسية
الحقل | الوصف |
---|---|
النوع | يحدد نوع الإجراء المرتبط بالمهمة. |
معرّف المهمة | يشير ذلك المصطلح إلى سلسلة تعرِّف المهمة بشكلٍ فريد داخل النظام. |
الموقع الجغرافي المخطّط | تُحدِّد الموقع الجغرافي المقصود الذي يجب تنفيذ المهمة فيه. لا يتطابق هذا الموقع الجغرافي دائمًا مع الموقع الجغرافي المُخطَّط له لمحطة المركبة. |
الحالة | يشير إلى ما إذا كانت المهمة مفتوحة أو مغلقة. |
نتيجة المهمة | تشير إلى ما إذا كانت المهمة ناجحة أو تعذّر إكمالها. |
نموذج بيانات للمهام
توضِّح الرسومات البيانية التالية نموذج البيانات لمورد Task
إلى جانب الرسم البياني لمورد DeliveryVehicle
المرتبط به. يمكنك
مراجعة كلا المخطّطَين البيانيَّين لاستكشاف العلاقات بين المرجعَين،
مع مراعاة ما يلي:
- الموقع الجغرافي المخطَّط: لكلّ من محطات المركبات والمهام مواقع جغرافية مخطَّطة،
مميّزة عن بعضها.
- بالنسبة إلى المهام، يشير الموقع الجغرافي المُخطَّط له إلى المكان الذي يجب أن يحدث فيه إجراء السائق. على سبيل المثال، يتطلب تسليم 15 طرودًا إلى مجمع سكني كبير التسليم إلى مواقع مختلفة لغرف البريد داخل هذا المجمّع نفسه.
- بالنسبة إلى محطات المركبات، يشير الموقع الجغرافي المخطَّط إلى محطة المركبة أثناء إكمال السائق للمهام. على سبيل المثال، تتوقف المركبة عند مدخل مجمع سكني، ويسلّم السائق الطرود يدويًا لفصل غرف البريد داخل المجمع.
- الولاية: تحتوي كل من المهام ومحطات التوقف في المركبات على حقل حالة يختلف عن
بعضها البعض.
- تعكس حالة محطة المركبة التقدم المحرز في المركبة في ما يتعلق بالمحطة، وتستخدم لأغراض تتبع الأساطيل.
- تشير حالة المهمة إلى ما إذا كانت المهمة نشطة أم لا. ويؤثّر ذلك في العمليات الأخرى التي يجب إجراؤها على المهام، مثل ضبط النتيجة أو إسنادها إلى مركبة.
نتيجة المهمة: نتيجة المهمة هي حقل مهم في نموذج البيانات، لأنّه يُستخدَم للإشارة إلى نجاح مهمة أو فشلها، بغض النظر عن حالة المهمة.
أرقام التعريف:
- عند تعيين مهمة لمركبة، يعبّئ محرّك "أسطول المركبات" حقل
deliveryVehicleId
. يشير حقل القراءة فقط هذا إلى المركبة التي تم تعيين المهمة لها. - معرّفات المهام هي معرّفات فريدة في جميع المهام في نظامك.
- تحدِّد معرّفات التتبّع مهمة بغرض تتبُّع الشحنة.
- عند تعيين مهمة لمركبة، يعبّئ محرّك "أسطول المركبات" حقل
نموذج بيانات "مهام Google"
نموذج بيانات المركبة
معرّفات المهام
على غرار أرقام تعريف المركبات في Fleet Engine، يجب أن تحتوي كل مهمة على معرّف لتمييزها عن المهام الأخرى في النظام. يمكنك الرجوع إلى جميع المهام في
سير عملك وإدارتها من خلال رقم التعريف الخاص بها. يمكنك إنشاء هذه المعرّفات باستخدام خدمة
CreateTaskRequest
وتقديم سلسلة معرّف تتوافق مع
المتطلبات الموضّحة في هذا القسم.
تتألف هذه السلسلة بعد ذلك من جزء من اسم مورد المهمة نفسه، وهو حقل
للإخراج فقط في عنصر Task
. يشبه ذلك الطريقة التي ينشئ بها Fleet Engine موارد أسماء المركبات. يُرجى الاطّلاع على قسم تسمية الموارد في مقالة مقدّمة عن Fleet Engine.
الموقع | الوصف |
---|---|
التميّز | يجب أن يكون كل معرّف مهمة فريدًا في تنفيذ Fleet Engine لتجنُّب حدوث أي التباس وضمان تحديد الهوية بشكل مناسب. |
التنسيق |
|
أمثلة على معرّفات المهام الجيدة |
|
---|---|
معرّفات المهام غير المسموح بها |
|
أنواع المهام
يتيح Fleet Engine أنواعًا مختلفة من المهام لتمثيل إجراءات مختلفة ضمن عملية نقل. يتم توضيحها هنا مع معلومات الظهور وتفاصيل الفوترة.
نوع المهمة | الوصف | إذن الوصول إلى ميزة تتبُّع الشحنة | تمّت الفوترة |
---|---|---|---|
مهمة التسليم | تُستخدم لتسليم العناصر أو إكمال مهمة لأحد العملاء. | ويمكن للمستهلكين الاطّلاع على ذلك وتتبُّعه. | نعم |
مهمة الاستلام | استخدِم هذه السمة للإشارة إلى استلام البضائع من العميل. يجب أن يكون لديك مهام تسليم مقابلة لأي مهمة استلام. | يمكن للمستهلكين الاطّلاع على هذه البيانات وتتبُّعها. | لا |
مهمة عدم التوفّر | يُستخدَم للإشارة إلى أنّ المركبة غير متاحة للخدمة، مثل عندما يأخذ السائق استراحة أو يُعيد تعبئة المركبة بالوقود. | لا تظهر للمستهلكين. | لا |
مَهمّة إيقاف مجدوَلة | مهمة غير تسليم تتطلّب التوقف في موقع محدّد استخدِم مهام التوقّف المُجدوَلة لجمع محطات التوقّف المُجدوَلة يوميًا في موقع جغرافي محدّد، بغض النظر عن عمليات التسليم أو الاستلام الأخرى في الموقع الجغرافي نفسه. ويمكنك أيضًا إنشاء مهام مجدولة للتوقّف عن المجموعات من صناديق التحميل أو نماذج لعمليات نقل مركبات التغذية أو التوقّف في مراكز الصيانة ونقاط الخدمة. | لا يمكن للمستهلكين تتبُّع هذه المهمة المحدّدة، ولكن يمكنهم الاطّلاع عليها كجزء من تتبُّع المهام الأخرى. | لا |
دورة حياة المهام والرحلات
يوفر هذا القسم تفاصيل حول دورة حياة مهمة التسليم داخل FleetEngine. ترتبط دورة حياة المهمة برحلة المركبة لأنّه يجب أن تنتقل المركبة إلى محطة توقف لكي يتمكن السائق من إكمال مهمة في موقعها المخطَّط.
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 رسالة خطأ إذا تم استخدام هذا المعرف خلال الأيام السبعة الماضية. وبالعكس، إذا كنت تريد الاحتفاظ ببيانات المهمة لفترة أطول من سبعة أيام، يجب عليك تنفيذ هذه الإمكانية بنفسك، مثل من خلال مهمة مجدولة لإعادة تعيين ساعة الـ 7 أيام.
مشاركة مستوى تقدّم المهمة
في Fleet Engine، يمكنك تتبُّع مستوى تقدّم المهام في الوقت الفعلي ومشاركة رحلة السائق بطريقتَين رئيسيتَين:
- تجربة المستهلك لمعرفة حالة طلبات الشحن أو طلب الخدمة المطلوب.
- تتبُّع الأسطول لمشغّلي الأسطول من أجل تتبُّع حالة المركبات في الأسطول وتحليلها
تجربة المستهلك
لمشاركة مستوى تقدّم المهمة، عليك إعداد تجربة المستهلك باستخدام حزمة تطوير البرامج (SDK) للمستهلك المستندة إلى JavaScript. ويمكنك من خلال حزمة SDK تحسين تجربة مرئية على الويب أو تطبيق للأجهزة الجوّالة حتى يتمكّن المستهلكون من مراقبة حالة شحنتهم إلى جانب الأوقات المقدّرة للوصول وتحديثات الموقع الجغرافي في الوقت الفعلي لمركبة التسليم. يُرجى الاطّلاع على نظرة عامة على المهام المجدوَلة لحزمة تطوير البرامج (SDK) للمستهلكين.
تحتوي حزمة تطوير البرامج (SDK) الخاصة بالمستهلك على خريطة JavaScript ومكونات
بيانات للاتصال بـ Fleet Engine. الخريطة هي بديل لعنصر google.maps.Map
عادي. على العميل مصادقة
المستخدمين النهائيين واستخدام دور مستهلك التسليم من مشروعك على Google Cloud لمحاولة
عرض المعلومات المتعلّقة بالعملاء فقط. يقوم Fleet Engine بتصفية جميع
المعلومات الأخرى في الردود وإخفاءها. على سبيل المثال، أثناء مهمة عدم التوفّر،
لا تتم مشاركة أي معلومات عن الموقع الجغرافي مع المستخدم النهائي.
في Fleet Engine، يمكنك تمكين الإعدادات التالية لمشاركة تقدم المهمة مع المستهلك:
- تستخدم المهام السمة
TaskTrackingViewConfig
. اختياريّ. - تستخدِم المهام معرّف تتبُّع تحتاجه المكتبة لتحديد المهام المناسبة للمستهلك.
تتبُّع الأسطول
تتيح لك مكتبة JavaScript Fleet Tracking Library عرض مواقع المركبات في أساطيلها في الوقت الفعلي تقريبًا. تستخدِم المكتبة Fleet Engine API لتوفير عروض مرئية لمركبات التسليم بالإضافة إلى المهام المُسنَدة إليها. وكما هي الحال في حزمة تطوير البرامج (SDK) لمستهلك JavaScript، تحتوي الحزمة على مكوّن خريطة JavaScript
يمثّل بديلاً للكيان google.maps.Map
العادي الذي يتضمّن مكوّنات البيانات التي تستخدمها للربط مع Fleet Engine.
تعرض هذه المكتبة مستوى رؤية مركبات التسليم فور إنشائها في Fleet Engine. لتنفيذ هذا الإجراء، يمكنك استخدام دور المستخدِم المتميّز في خدمة Fleet Engine Cloud IAM وتقديم مطالبة Java Web Token ل الوصول إلى مركبات التسليم والمهام المرتبطة بها.
سيناريوهات المهام المُجدوَلة
يوضح هذا القسم مجموعة متنوعة من سيناريوهات المهام التي تلخص المعلومات المقدمة في هذه المرحلة من الدليل. يهدف هذا الدليل إلى مساعدتك في فهم الطرق المتنوعة التي يمكنك من خلالها وضع نماذج لعمليات النقل في Fleet Engine، استنادًا إلى نشاطك التجاري.
التوصيل مع التتبّع
يعرض سيناريو التسليم هذا مهمة محطّة مجدوَلة تم تعيينها للمستودع عند المغادرة من المستودع في بداية الرحلة والوصول إلى المستودع في نهاية الرحلة. ويعرِض أيضًا مهمتَي تسليم لمحطة، تعذّر إكمال إحداهما. استخدِم هذه الرسالة المخصّصة لتفعيل التتبّع من وإلى المستودع وطريقة لتصميم وقتَي البدء والانتهاء لليوم. لا يتم تحصيل أي رسوم عند تنفيذ مهام الإيقاف المُجدوَلة.
استلام الطلب من مستودع
يعرض هذا السيناريو كيفية تصميم سمة استلام الطلب مع مهمة التسليم المطلوبة المرتبطة بها. يمكنك ضبط الإرجاع إلى المستودع على أنّه تسليم لأغراض الفوترة.
مركبة نقل
يعرض هذا السيناريو عمليتي تسليم مع تحديد موعد في منتصف إحدى المركبات لمركبة توفّر تغذية، والهدف من ذلك هو السماح لمركبة التسليم بالعودة إلى المستودع مع عدد من الطرود التي سيتم شحنها للخارج. ويمكنك أيضًا تصميم نموذج لمركبة تقديم التغذية باستخدام محطة توقّف مجدولة.
توقيت المهمة
يساعد وضع نماذج لأوقات المهام في التخطيط الفعال للمسارات والوقت المقدر للوصول وإدارة توقعات التوصيل. يوفّر Fleet Engine وظيفتَين رئيسيتين لإنشاء نماذج و توقّع توقيت المهام، كما هو موضّح في هذا القسم.
مدة المهمة
يتم ضبط مدة المهمة باستخدام الحقل task_duration
، وهو حقل مطلوب يمثّل
الوقت المتوقّع الذي يقضيه السائق في إكمال المهام أثناء التوقف
أو لأخذ استراحة. وبالنسبة إلى محطات التوقّف، يشمل ذلك جميع الأنشطة اللازمة بعد الوصول إلى المحطة، مثل تفريغ الطرود والتفاعل مع المستلِم. وكلما كانت هذه المعلومات أكثر تحديدًا، كان بإمكان "محرك الأسطول"
تقديم أوقات وصول ووقت مقدَّر للوصول واقعيَين للمحطات اللاحقة في الرحلة.
لمعرفة تفاصيل الحقل، يُرجى الاطّلاع على المدة في مستندات Protocol Buffers.
الفترة الزمنية المستهدفة
يحدد الوقت المستهدف نطاقًا زمنيًا مقترحًا لمهمة ما، ويستخدم عادةً
للتواصل مع العملاء أو لأغراض التخطيط الداخلي. ويمكنك تحديده باستخدام الحقل target_time_window
، الذي يتكون من وقت البدء ووقت الانتهاء.
لا يؤثّر ذلك بشكل مباشر في عمليات احتساب المسارات، ولكن يمكن استخدامه لحالات مثل تنبيه المستهلك بشأن فترة زمنية لتسليم الحزمة أو الوقت المتوقّع وصول عامل خدمة مجدول فيه.
سمات المهام
توفر سمات المهام في Fleet Engine طريقة ملائمة لفلترة المهام بناءً على خصائص معيّنة عند استخدام طلب ListTasks
. يمكنك أيضًا استخدام
سمات المهام المخصّصة للإحصاءات باستخدام "تسجيلات Cloud"، بالإضافة إلى
إرسال المعلومات إلى المستهلكين أو لتتبُّع الأسطول. الغرض
مشابه لسمات المركبات: استخدم هذا لصياغة
منظور أكثر تركيزًا لعمليات التسليم لديك.
القيود
- إنشاء سمات مخصّصة: يحدّ Fleet Engine من عدد السمات المخصّصة التي يمكنك تحديدها لكل مهمة. يُرجى التواصل مع ممثل المبيعات لطلب زيادة هذه الحدود.
- إمكانات الفلترة: على الرغم من أنّ سمات المهام توفّر مرونة في الفلترة، إلا أنّها لا تستبدل حقول بيانات المهام الأساسية. استخدِم هذه العوامل لإجراء تصفية إضافية استنادًا إلى احتياجاتك المحدّدة.
- يجب أن تحتوي كل سمة على مفتاح فريد.
- لا تُدرِج معلومات تحدّد الهوية الشخصية أو معلومات حساسة أخرى في قيمة السمة، لأنّها قد تكون مرئية للمستخدم.
- التحقّق من صحة البيانات: تأكَّد من توافق أنواع البيانات وتنسيقاتها الخاصة بالسمات المخصّصة مع متطلبات Fleet Engine.