وظایف برنامه ریزی شده، وظایف برنامه ریزی شده

این سند سرویس وظایف برنامه ریزی شده در Fleet Engine را شرح می دهد. فرض بر این است که شما Fleet Engine چیست؟ و از قابلیت خدمات Fleet Engine خاصی که نیاز دارید آگاه هستید.

هنگام مطالعه این مستند، موارد زیر را در نظر داشته باشید:

  • شما وظایفی را ایجاد می‌کنید و آنها را با توقف وسیله نقلیه به عنوان راهی برای مدل‌سازی ارتباط واقعی بین کار و مکانی که خودرو انتظار می‌رود در آن توقف کند، مرتبط می‌کنید تا راننده بتواند کار را کامل کند. برای درک بهتر نحوه عملکرد وسایل نقلیه در Fleet Engine ، مقدمه وسایل نقلیه را بخوانید.
  • Fleet Engine برای کارهای برنامه ریزی شده از منابع زیر استفاده می کند : Task و DeliveryVehicle . Fleet Engine هم سرویس gRPC و هم رابط های REST را ارائه می دهد:
    • Task : gRPC و REST
    • DeliveryVehicle : gRPC و REST
    • برای سادگی، این راهنما از نمونه‌های gRPC استفاده می‌کند.

یک کار برنامه ریزی شده چیست؟

یک کار برنامه‌ریزی‌شده در Fleet Engine نشان‌دهنده یک اقدام فردی است که باید توسط راننده با استفاده از وسیله نقلیه در چارچوب وسیع‌تر یک عملیات حمل‌ونقل تکمیل شود. هدف خاصی را برای راننده مشخص می کند. مثلا:

  • برای تحویل کالا به محل سکونت
  • برای تحویل گرفتن بسته برای بازگشت به انبار حمل و نقل
  • توقف در مکانی برای ارائه خدمات در محل به مشتری
  • توقف برنامه ریزی شده برای سوخت رسانی خودرو

عناصر وظیفه

تصویر زیر این عناصر وظیفه را در یک سفر برنامه ریزی شده استاندارد برای یک وسیله نقلیه نشان می دهد.

فیلدهای وظیفه اصلی

رشته شرح
تایپ کنید نوع عمل مرتبط با کار را مشخص می کند.
شناسه وظیفه رشته ای که تکلیف را در سیستم مشخص می کند.
مکان برنامه ریزی شده مکان مورد نظر را که در آن کار باید انجام شود را مشخص می کند. این مکان همیشه با مکان برنامه ریزی شده برای توقف خودرو یکسان نیست.
حالت باز یا بسته بودن کار را نشان می دهد.
نتیجه کار نشان می دهد که آیا کار موفق بوده یا شکست خورده است.

مدل داده برای وظایف

نمودارهای زیر مدل داده‌های منبع Task را در کنار نمودار منبع DeliveryVehicle مرتبط با آن نشان می‌دهند. می توانید هر دو نمودار را مرور کنید تا روابط بین دو منبع را بررسی کنید و موارد زیر را در نظر داشته باشید:

  • مکان برنامه‌ریزی‌شده : هم ایستگاه‌های خودرو و هم وظایف، مکان‌های برنامه‌ریزی‌شده‌ای دارند که از یکدیگر متمایز هستند.
    • برای کارها ، یک مکان برنامه ریزی شده نشان می دهد که عمل راننده باید در کجا انجام شود. برای مثال، تحویل 15 بسته به یک مجتمع مسکونی بزرگ نیازمند تحویل به مکان‌های مختلف اتاق پست در همان مجتمع است.
    • برای توقف خودرو ، مکان برنامه ریزی شده توقف خودرو را در حالی که راننده وظایف را کامل می کند، نشان می دهد. به عنوان مثال، یک وسیله نقلیه در ورودی یک مجتمع آپارتمانی توقف می کند و راننده بسته ها را با دست به اتاق های پست جداگانه در مجتمع تحویل می دهد.
  • حالت : هر دو کار و توقف وسایل نقلیه دارای یک میدان حالت متمایز از یکدیگر هستند.
    • وضعیت توقف وسیله نقلیه نشان دهنده پیشرفت وسیله نقلیه در رابطه با توقف است که برای اهداف ردیابی ناوگان استفاده می شود.
    • وضعیت وظیفه نشان می دهد که آیا کار فعال است یا خیر. این بر سایر عملیات هایی که باید روی وظایف انجام شود، مانند تنظیم نتیجه یا اختصاص آن به یک وسیله نقلیه، تأثیر می گذارد.
  • نتیجه کار : نتیجه کار یک زمینه مهم در مدل داده است، زیرا برای نشان دادن موفقیت یا شکست یک کار، مستقل از وضعیت وظیفه استفاده می شود.

  • شناسنامه ها :

    • وقتی وظیفه ای را به وسیله نقلیه اختصاص می دهید، موتور ناوگان قسمت deliveryVehicleId را پر می کند. این فیلد فقط خواندنی نشان دهنده وسیله نقلیه ای است که وظیفه به آن محول شده است.
    • Task ID شناسه‌های منحصربه‌فرد در تمام وظایف سیستم شما هستند.
    • شناسه‌های ردیابی وظیفه‌ای را برای ردیابی محموله شناسایی می‌کنند.

مدل داده وظایف

مدل داده های خودرو

شناسه های وظیفه

مشابه شناسه های خودرو در Fleet Engine، وظایف هر کدام باید دارای شناسه باشند تا آنها را از سایر وظایف درون سیستم متمایز کند. شما همه وظایف موجود در گردش کار خود را با شناسه آنها ارجاع و مدیریت می کنید. شما این شناسه ها را با استفاده از سرویس CreateTaskRequest و با ارائه یک رشته ID که با الزامات توضیح داده شده در این بخش مطابقت دارد، ایجاد می کنید.

سپس این رشته شامل بخشی از نام خود منبع وظیفه است، یک فیلد فقط خروجی در شی Task . این شبیه به نحوه ساخت Fleet Engine منابع نام وسیله نقلیه است. بخش نامگذاری منابع را در مقدمه ای بر موتور ناوگان ببینید.

الزامات شناسه وظیفه
ویژگی شرح
منحصر به فرد بودن هر شناسه وظیفه باید در اجرای Fleet Engine شما منحصر به فرد باشد تا از سردرگمی جلوگیری شود و از شناسایی مناسب اطمینان حاصل شود.
قالب
  • بدون اطلاعات شخصی قابل شناسایی (PII) یا داده متنی واضح.
  • رشته های یونیکد معتبر
  • حداکثر 64 کاراکتر.
  • کاراکترهای زیر را حذف کنید: / : \ ? #
  • طبق فرم C عادی سازی یونیکد نرمال شده است.
نمونه های شناسه وظیفه
نمونه های شناسه کار خوب
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • e4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMWFmOWY2NzNkM2Jk
شناسه وظایف غیرمجاز
  • 8/31/2019-20:48-46.70746,-130.10807,-85.17909,61.33680
  • JohnDoe-577b484da26f-Cupertino-SantaCruz
  • 4R0oXLToF"112 تابستانی دکتر ایست هارتفورد، CT06118"577b484da26f8a

انواع وظایف

Fleet Engine از انواع وظایف مختلف برای نمایش اقدامات مختلف در یک عملیات حمل و نقل پشتیبانی می کند. آنها در اینجا همراه با قابلیت مشاهده و جزئیات صورتحساب آنها توضیح داده شده اند.

نوع وظیفه شرح قابلیت مشاهده ردیابی حمل و نقل صورتحساب شد
وظیفه تحویل برای رها کردن اقلام یا تکمیل یک کار برای مشتری استفاده کنید. مصرف کنندگان می توانند این را ببینند و پیگیری کنند. آره
وظیفه وانت برای نشان دادن دریافت کالا از مشتری استفاده کنید. شما باید وظایف تحویل مربوطه را برای هر کار وانت داشته باشید. مصرف کنندگان می توانند این را ببینند و پیگیری کنند. خیر
وظیفه در دسترس نبودن وسیله نقلیه را به عنوان غیرقابل استفاده برای سرویس شناسایی می کند، مانند زمانی که راننده استراحت می کند یا خودرو را سوخت گیری می کند. برای مصرف کنندگان قابل مشاهده نیست. خیر
کار توقف برنامه ریزی شده یک کار بدون تحویل که نیاز به توقف در یک مکان خاص دارد. از وظایف توقف برنامه ریزی شده برای توقف جمع آوری برنامه ریزی شده روزانه در یک مکان خاص، مستقل از سایر تحویل ها یا تحویل گرفتن در همان مکان استفاده کنید. همچنین می‌توانید کارهای توقف برنامه‌ریزی‌شده را برای مجموعه‌ها از جعبه‌های دراپ باکس یا مدل‌سازی جابجایی‌های وسیله نقلیه فیدر یا توقف در مراکز خدمات و نقاط خدمات ایجاد کنید. مصرف کنندگان نمی توانند این وظیفه خاص را ردیابی کنند، اما می توانند آن را به عنوان بخشی از ردیابی سایر وظایف ببینند. خیر

چرخه حیات وظیفه و سفر

این بخش جزئیاتی در مورد چرخه حیات وظیفه تحویل در Fleet Engine ارائه می دهد. چرخه عمر کار به سفر وسیله نقلیه متصل است زیرا وسیله نقلیه باید به یک توقف حرکت کند تا راننده بتواند یک کار را در مکان برنامه ریزی شده خود انجام دهد.

1. ایجاد کار

هنگامی که برای اولین بار یک کار را در Fleet Engine ایجاد می کنید، انواع فیلدها را برای کار به طور مستقل از مرتبط کردن آنها با یک توقف تنظیم می کنید.

ویژگی های وظیفه
ویژگی شرح
حالت روی OPEN تنظیم کنید
شناسنامه ها اگر از ردیابی حمل و نقل برای مصرف کنندگان خود استفاده می کنید، شناسه وظیفه و ردیابی را تنظیم کنید.
زمان سنجی مدت زمان برنامه ریزی شده برای کار و پنجره زمانی هدف آن. برای جزئیات بیشتر به زمان بندی کار مراجعه کنید.
مکان برنامه ریزی شده مختصات جغرافیایی دقیق را در جایی که قرار است کار تکمیل شود، تنظیم کنید.

2. تعیین تکلیف

وقتی وظیفه ای را به وسیله نقلیه محول می کنید، این کار را همراه با توقف خودرو انجام می دهید. توقف ها مختصات طول و عرض جغرافیایی هستند که مکان پارک خودرو را در حالی که راننده وظایف مرتبط با توقف را انجام می دهد نشان می دهد. ایستگاه‌ها معمولاً یک نقطه دسترسی مانند بارانداز یا مکان‌هایی هستند که در جاده‌ها شکسته شده است.

3. در حال انجام است

وضعیت یک کار یا باز یا بسته است. با این حال، هنگامی که یک کار به یک وسیله نقلیه اختصاص داده شد، می توانید پیشرفت آن را از طریق ارتباط آن با وسیله نقلیه و مکانی که وسیله نقلیه در رابطه با توقفی که در آن کار باید تکمیل شود، ردیابی کنید.

هنگامی که وسیله نقلیه از یک توقف خارج شد یا ناوبری را شروع کرد، وضعیت توقف باید به ENROUTE تغییر کند. به این ترتیب، ردیابی محموله مصرف کننده می تواند گیرنده را برای یک کار با تعداد توقف های باقی مانده و زمان تخمینی رسیدن به روز کند. این همچنین از هرگونه تجسم در زمان واقعی برای ردیابی محموله مصرف کننده یا برای ردیابی ناوگان پشتیبانی می کند.

4. رسیدن و نتیجه کار

هنگامی که وسیله نقلیه به ایستگاه می رسد، وضعیت توقف باید روی ARRIVED تنظیم شود. مانند وضعیت توقف ENROUTE ، این وضعیت بر وضعیت خود کار تأثیری نمی‌گذارد، اما از اعلان‌های مصرف‌کننده و هرگونه گزارش بلادرنگ برای ردیابی ناوگان مورد استفاده توسط اپراتورهای ناوگان شما پشتیبانی می‌کند. همچنین تجزیه و تحلیل های بعدی و گزارش گیری در مورد عملکرد شما را که برای بهینه سازی تحویل استفاده می کنید، فعال می کند.

هنگامی که وسیله نقلیه به ایستگاه می رسد، سیستم شما می تواند بقیه سفر را با استفاده از یکی از روش های زیر انجام دهد:

  • به محض اتمام کارها را ببندید .

    وقتی درایور کار را کامل نشان می‌دهد، سیستم شما می‌تواند آن را از حالت توقف خارج کند، اما توقف را با وظایف دیگری که به آن اختصاص داده شده است ترک کند.

  • کل توقف را از وسیله نقلیه بردارید .

    هنگامی که راننده تمام وظایف را به اتمام رساند و وسیله نقلیه در مسیر حرکت به ایستگاه بعدی بود، می‌توانید کل توقف را از خودرو خارج کنید. Fleet Engine به طور خودکار تمام وظایف مرتبط با توقف حذف شده را می بندد.

بستن یک کار به معنای موفقیت یا شکست نیست

بستن یک کار فقط نشان می دهد که کار دیگر در حال انجام نیست. برای کارهایی که در حالت CLOSED هستند، نتیجه آنها را به صورت SUCCEEDED یا FAILED تنظیم می کنید. این هم برای نشان دادن نتیجه واقعی برای ردیابی حمل و نقل و هم برای صورتحساب مناسب ضروری است. Fleet Engine فقط وظایف تحویل را با وضعیت SUCCEEDED شارژ می کند.

هنگامی که یک نتیجه کار را تنظیم می کنید، نمی توانید آن را تغییر دهید

هنگام علامت گذاری نتیجه یک کار، Fleet Engine به طور خودکار مکان نتیجه کار را با آخرین مکان شناخته شده وسیله نقلیه پر می کند. با این حال، می‌توانید زمان نتیجه کار و مکان نتیجه کار را پس از تنظیم تغییر دهید و Fleet Engine این فیلدها را لغو نمی‌کند.

5. سناریوهای وظیفه دیگر

همه کارهایی که در Fleet Engine مدل می‌کنید در جریان سفر معمولی قرار نمی‌گیرند. مثلا:

  • وظایف وانت . هنگامی که یک کار تحویل بسته دارید که باید برای پردازش بعدی به انبار بازگردانده شود، باید یک وظیفه تحویل مربوطه برای آن بسته ایجاد کنید، با مکان برنامه ریزی شده در انبار تنظیم شده است. در غیر این صورت، وظایف پیکاپ معمولاً همان جریانی را دنبال می کنند که برای وظایف تحویل انجام می شود.
  • تخصیص مجدد کار شما نمی توانید مستقیماً یک کار را به یک وسیله نقلیه دیگر اختصاص دهید. در عوض، برای انتقال یک کار از یک وسیله نقلیه به وسیله نقلیه دیگر، کار اصلی را ببندید و سپس قبل از اختصاص دادن وسیله نقلیه جدید، آن را دوباره ایجاد کنید. اگر سفارش کار را برای کاری که قبلاً به وسیله نقلیه دیگری اختصاص داده شده است به روز کنید، Fleet Engine خطایی ایجاد می کند.
  • حذف وظایف مانند وسایل نقلیه، Fleet Engine کارهایی را که پس از هفت روز به روز نشده اند حذف می کند. اگر بخواهید دوباره از شناسه وظیفه برای یکی که قبلا بسته شده است استفاده کنید، اگر آن شناسه در هفت روز گذشته استفاده شده باشد، Fleet Engine خطایی را برمی‌گرداند. برعکس، اگر می‌خواهید داده‌های کار را بیش از هفت روز حفظ کنید، باید خودتان این قابلیت را اجرا کنید، مثلاً از طریق یک کار برنامه‌ریزی‌شده برای تنظیم مجدد ساعت ۷ روزه.

اشتراک گذاری سفر کاری

با اشتراک گذاری سفر در Fleet Engine، می توانید پیشرفت کار را در زمان واقعی نظارت کنید و سفر راننده را به دو روش کلیدی به اشتراک بگذارید:

  • اشتراک گذاری سفر مصرف کننده برای اطلاع مصرف کنندگان از وضعیت سفارشات حمل و نقل یا سفارش خدمات درخواستی.
  • ردیابی ناوگان برای اپراتورهای ناوگان شما برای ردیابی و تجزیه و تحلیل وضعیت وسایل نقلیه در ناوگان.

اشتراک گذاری سفر مصرف کننده

برای ادغام اشتراک‌گذاری سفر مصرف‌کننده در عملیات خود، اشتراک‌گذاری سفر را با استفاده از JavaScript Consumer SDK تنظیم کنید. با استفاده از SDK، می‌توانید یک تجربه بصری وب یا برنامه تلفن همراه را بهبود ببخشید تا مصرف‌کنندگان بتوانند وضعیت محموله خود را به همراه زمان تخمینی رسیدن و به‌روزرسانی‌های موقعیت مکانی در زمان واقعی برای وسیله نقلیه تحویل نظارت کنند. برای کارهای برنامه ریزی شده به نمای کلی به اشتراک گذاری سفر مصرف کننده مراجعه کنید.

SDK اشتراک‌گذاری سفر مصرف‌کننده شامل نقشه جاوا اسکریپت و اجزای اجزای داده برای اتصال با Fleet Engine است. نقشه جایگزینی برای یک شی استاندارد google.maps.Map است. مشتری شما باید کاربران نهایی شما را احراز هویت کند و از نقش مشتری تحویل از پروژه Google Cloud شما استفاده کند تا فقط اطلاعات خاص مشتری را برگرداند. Fleet Engine تمام اطلاعات دیگر در پاسخ ها را فیلتر و ویرایش می کند. به عنوان مثال، در طول یک کار در دسترس نبودن، هیچ اطلاعات مکانی با کاربر نهایی به اشتراک گذاشته نمی شود.

در Fleet Engine، تنظیمات زیر را برای اشتراک گذاری سفر مصرف کننده فعال می کنید:

  • Tasks از ویژگی TaskTrackingViewConfig استفاده می کند. اختیاری.
  • کارها از شناسه ردیابی استفاده می کنند که کتابخانه برای شناسایی وظایف مرتبط برای مصرف کننده به آن نیاز دارد.

ردیابی ناوگان

کتابخانه ردیابی ناوگان جاوا اسکریپت به شما امکان می دهد مکان خودروها را در ناوگان آنها در زمان واقعی تجسم کنید. این کتابخانه از Fleet Engine API برای تجسم وسایل نقلیه تحویل و همچنین وظایف محول شده آنها استفاده می کند. مانند SDK مصرف کننده جاوا اسکریپت، شامل یک جزء نقشه جاوا اسکریپت است که جایگزینی برای یک موجودیت استاندارد google.maps.Map با اجزای داده ای است که برای اتصال به Fleet Engine استفاده می کنید.

این کتابخانه نمایان بودن وسایل نقلیه تحویل را به محض ایجاد در Fleet Engine نشان می دهد. برای این پیاده سازی، شما از نقش Super User Cloud IAM Fleet Engine Service استفاده می کنید و ادعای Java Web Token را برای دسترسی به وسایل نقلیه تحویل و وظایف مرتبط با آنها ارائه می دهید.

سناریوهای کار برنامه ریزی شده

این بخش انواع سناریوهای کار را نشان می دهد که اطلاعات ارائه شده در این مرحله از راهنما را خلاصه می کند. این به شما کمک می کند تا انواع روش های مدل سازی عملیات حمل و نقل خود را در Fleet Engine، بسته به کسب و کارتان، درک کنید.

تحویل با ردیابی

این سناریوی تحویل یک کار توقف برنامه ریزی شده را نشان می دهد که هم در زمان خروج از انبار در ابتدای سفر و هم رسیدن به انبار در پایان سفر به انبار اختصاص داده شده است. همچنین دو وظیفه تحویل را برای توقف نشان می دهد که یکی از آنها ناموفق است. از این تخصیص برای فعال کردن ردیابی از و به انبار و به عنوان راهی برای مدل‌سازی زمان شروع و توقف در روز استفاده کنید. هیچ صورت حسابی با کارهای توقف برنامه ریزی شده انجام نمی شود.

وانت با تحویل دپو

این سناریو نشان می دهد که چگونه یک پیکاپ را با وظیفه تحویل متناظر مورد نیاز آن مدل کنید. شما بازگشت به انبار را به عنوان یک تحویل برای اهداف صورتحساب تنظیم می کنید.

وسیله نقلیه فیدر

این سناریو دو تحویل را با توقف برنامه ریزی شده در وسط برای یک وسیله نقلیه تغذیه کننده نشان می دهد، جایی که هدف این است که وسیله نقلیه تحویل دهنده را قادر سازد تا با تعدادی بسته به انبار بازگردد. همچنین می توانید خودروی تغذیه کننده را با توقف برنامه ریزی شده مدل کنید.

زمان بندی کار

مدل‌سازی زمان‌های کار به برنامه‌ریزی مؤثر مسیر، ETAها و مدیریت انتظارات تحویل کمک می‌کند. Fleet Engine دو عملکرد کلیدی برای مدل‌سازی و پیش‌بینی زمان‌بندی کار ارائه می‌دهد، همانطور که در این بخش توضیح داده شد.

مدت زمان کار

مدت زمان کار با فیلد task_duration تنظیم می‌شود، یک فیلد ضروری که زمان پیش‌بینی‌شده‌ای را که راننده برای تکمیل وظایف در توقف یا استراحت صرف می‌کند، مدل می‌کند. برای توقف ها، این شامل تمام فعالیت های لازم پس از رسیدن به یک توقف می شود، مانند تخلیه بسته ها و تعامل با گیرنده. هرچه این اطلاعات دقیق تر باشد، Fleet Engine بهتر می تواند زمان های رسیدن واقعی و ETA را برای توقف های بعدی در سفر ارائه دهد. برای جزئیات فیلد، به مدت زمان در مستندات بافرهای پروتکل مراجعه کنید.

پنجره زمانی هدف

زمان هدف، محدوده زمانی پیشنهادی را برای یک کار تعریف می‌کند، که معمولاً برای برقراری ارتباط با مشتریان یا برای اهداف برنامه‌ریزی داخلی استفاده می‌شود. شما این را با فیلد target_time_window تنظیم می کنید که از زمان شروع و زمان پایان تشکیل شده است. این به طور مستقیم بر هیچ‌یک از محاسبات مسیر تأثیر نمی‌گذارد، اما می‌تواند برای موقعیت‌هایی مانند هشدار دادن به مصرف‌کننده در مورد یک پنجره زمانی برای تحویل بسته، یا زمانی که انتظار می‌رود یک سرویس‌دهنده برنامه‌ریزی شده برسد، استفاده شود.

ویژگی های وظیفه

ویژگی‌های وظیفه در Fleet Engine روشی مناسب برای فیلتر کردن وظایف بر اساس ویژگی‌های خاص هنگام استفاده از درخواست ListTasks ارائه می‌دهند. همچنین می‌توانید از ویژگی‌های کار سفارشی برای تجزیه و تحلیل با Cloud Logging، همراه با اطلاعات ارتباطی در اشتراک‌گذاری سفر مصرف‌کننده یا ردیابی ناوگان استفاده کنید. هدف مشابه با ویژگی های خودرو است: از این برای ایجاد دیدگاه متمرکزتری از عملیات تحویل خود استفاده کنید.

محدودیت ها و محدودیت ها

  • ایجاد ویژگی سفارشی : Fleet Engine تعداد ویژگی‌های سفارشی را که می‌توانید در هر کار تعریف کنید، محدود می‌کند. برای درخواست افزایش این محدودیت ها با نماینده فروش خود تماس بگیرید.
  • قابلیت‌های فیلتر کردن : در حالی که انعطاف‌پذیری فیلتر را ارائه می‌دهد، ویژگی‌های وظیفه جایگزین فیلدهای داده اصلی وظایف نمی‌شوند. از آنها برای فیلترهای اضافی بر اساس نیازهای خاص خود استفاده کنید.
  • هر ویژگی باید یک کلید منحصر به فرد داشته باشد .
  • اطلاعات قابل شناسایی شخصی یا سایر اطلاعات حساس را در مقدار مشخصه وارد نکنید ، زیرا ممکن است برای کاربر قابل مشاهده باشد.
  • اعتبارسنجی داده ها : مطمئن شوید که انواع داده ها و قالب های ویژگی های سفارشی شما با الزامات Fleet Engine سازگار است.

بعدش چی