משימות מתוזמנות

במסמך הזה מתואר שירות המשימות המתוזמנות ב-Fleet Engine. ההנחה היא קראת את What is Fleet Engine? ומודעים ל-Fleet הספציפי. יכולת שירות המנוע הדרושה.

כשקוראים את התיעוד הזה, חשוב לזכור את הנקודות הבאות:

  • אתם יוצרים משימות ומשייכים אותן לעצירת רכב כדי את הקשר בעולם האמיתי בין המשימה לבין המיקום שבו הרכב צפוי לעצור כדי שהנהג יוכל להשלים את המשימה. כדאי לקרוא את המאמר מבוא לכלי רכב כדי לקבל מידע נוסף להבין איך כלי רכב פועלים ב-Fleet Engine.
  • Fleet Engine למשימות מתוזמנות משתמש במשאבים הבאים: Task ו-DeliveryVehicle. Fleet Engine מספק גם שירות gRPC וגם REST ממשקים:
    • Task: gRPC ו-REST
    • DeliveryVehicle: gRPC ו-REST
    • כדי לשמור על פשטות, במדריך הזה נשתמש בדוגמאות של gRPC.

מהי משימה מתוזמנת?

משימה מתוזמנת ב-Fleet Engine מייצגת פעולה בודדת שצריך מבוצעת על ידי נהג שמשתמש ברכב בהקשר רחב יותר של תחבורה. היא מגדירה את היעד הספציפי של הנהג. לדוגמה:

  • כדי למסור מוצר לבית
  • כדי לאסוף חבילה להחזרה לתחנת המשלוח
  • לעצור במיקום מסוים כדי לספק ללקוח שירות במקום.
  • כדי לעצור עצירה מתוזמנת לתדלוק של הרכב.

רכיבי המשימה

בתמונה הבאה אפשר לראות את רכיבי המשימה האלה בלוח זמנים רגיל לנסיעה ברכב.

שדות בסיסיים של משימות

שדה תיאור
סוג סוג הפעולה שמשויך למשימה.
מזהה המשימה מחרוזת שמשמשת לזיהוי ייחודי של המשימה במערכת.
מיקום מתוכנן מציין את המיקום המיועד שבו צריך לבצע את המשימה. המיקום הזה לא תמיד זהה למיקום המתוכנן תחנת רכב.
מדינה מציין אם המשימה פתוחה או סגורה.
תוצאת המשימה בעמודה הזו מציינים אם המשימה הצליחה או נכשלה.

מודל נתונים למשימות

בדיאגרמות הבאות אפשר לראות את מודל הנתונים של המשאב Task לצד התרשים של המשאב DeliveryVehicle שמשויך אליו. אפשר לצפות בשני הדיאגרמות כדי לחקור את הקשרים בין שני המשאבים, חשוב לזכור:

  • מיקום מתוכנן: גם עצירות הרכב וגם המשימות כוללות מיקומים מתוכננים, נפרדים זה מזה.
    • במשימות, מיקום מתוכנן מציין את הפעולה של הנהג יתרחשו. לדוגמה, 15 משלוחי חבילות לבית מגורים גדול לדרוש משלוח למיקומים שונים של חדרי דואר בתוך אותו מורכב.
    • בתחנות של כלי רכב, המיקום המתוכנן מציין את העצירה הרכב בזמן שהנהג משלים את המשימות. לדוגמה, רכב עוצר בכניסה למתחם דירות, והנהג/ת מסירת החבילות ביד לחדרי דואר נפרדים בתוך המתחם.
  • מצב: גם במשימות וגם בתחנות של כלי הרכב יש שדה מצב, בנפרד מהשדה שתי רשתות נוירונים זו מול זו.
    • מצב עצירת הרכב משקף את התקדמות הרכב קשר לעצירה, המשמש למטרות מעקב אחר הצי.
    • מצב המשימה מציין אם היא פעילה או לא. הזה משפיעה על פעולות אחרות שצריך לבצע במסגרת משימות, כמו הגדרת או להקצות אותו לרכב.
  • תוצאת המשימה: תוצאת המשימה היא שדה חשוב במודל הנתונים. כי הוא משמש לציון הצלחה או כישלון של משימה, במצב המשימה.

  • מזהים:

    • כשמקצים משימה לרכב, מנוע בכלל מאכלס את שדה deliveryVehicleId. שדה לקריאה בלבד הזה מציין שהרכב צריך שהמשימה הוקצתה לו.
    • מזהי משימות הם מזהים ייחודיים לכל המשימות במערכת.
    • מזהים לצורכי מעקב מזהים משימה לצורך מעקב אחרי המשלוח.

מודל נתונים של Tasks

מודל הנתונים של הרכב

מזהי המשימות

בדומה למזהי רכבים ב-Fleet Engine, כל משימה צריכה להכיל מזהה ל- להבדיל אותם ממשימות אחרות בתוך המערכת. אתם מפנים ומנהלים את כל המשימות בתהליך העבודה שלכם לפי המזהה שלהן. כדי ליצור את המזהים האלה משתמשים CreateTaskRequest ועל ידי מתן מחרוזת מזהה שתואמת בדרישות שמתוארות בקטע הזה.

המחרוזת הזו מורכבת אז חלק מהשם של משאב המשימה עצמו, שדה פלט בלבד באובייקט Task. ההשוואה הזו מקבילה לאופן שבו Fleet Engine יוצר משאבים של שמות רכבים. אפשר לעיין בקטע מתן שם למשאבים ב- מבוא ל-Fleet Engine.

הדרישות לגבי מזהה המשימה
נכס תיאור
ייחודיות כל מזהה משימה חייב להיות ייחודי בהטמעה של Fleet Engine כדי למנוע בלבול ולהבטיח זיהוי תקין.
פורמט
  • ללא פרטים אישיים מזהים (PII) או נתוני טקסט ברורים.
  • מחרוזות Unicode חוקיות.
  • יש לכלול 64 תווים לכל היותר.
  • החרגת התווים הבאים: / : \ ? #
  • מנורמל לפי טופס נירמול Unicode 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 Summer Dr. East Hartford, CT06118"577b484da26f8a

סוגי המשימות

ב-Fleet Engine יש תמיכה בסוגים שונים של משימות כדי לייצג פעולות שונות תחבורה. הן מתוארות כאן יחד עם החשיפה שלהן ופרטי החיוב.

סוג המשימה תיאור הנראות של מעקב אחר המשלוח החיוב בוצע
משימת העברה משמש למסירת פריטים או להשלמת משימה עבור לקוח. הצרכנים יכולים לראות את המידע הזה ולעקוב אחריו. כן
משימת איסוף משמש לציון איסוף מוצרים מהלקוח. צריך משימות משלוח תואמות לכל משימת איסוף. הצרכנים יכולים לראות את המידע הזה ולעקוב אחריו. לא
משימת חוסר זמינות מציין שהרכב לא זמין בשירות, למשל כשהנהג יוצא להפסקה או מתמלא ברכב. לא גלוי לצרכנים. לא
עצירה מתוזמנת משימה שלא נמסרה שמחייבת עצירה במיקום ספציפי. אם יש לכם משימות עם עצירות מתוזמנות באיסוף עצמי, אתם יכולים להשתמש במשימות מתוזמנות לאיסוף במיקום ספציפי, בלי קשר למסירה או לאיסוף אחר באותו מיקום. אתם יכולים גם ליצור משימות מתוזמנות לגבי עצירה בקולקציות מתיבות בענן או כדי לבנות מודלים של העברות או עצירות של כלי הזנה של כלי ההזנה במרכזי השירות ובנקודות השירות. הצרכנים לא יכולים לעקוב אחרי המשימה הספציפית הזו, אבל הם יכולים לראות אותה כחלק מהמעקב אחרי משימות אחרות. לא

מחזור החיים של משימה ומסע

בקטע הזה מופיעים פרטים על מחזור החיים של משימת ההעברה ב-Fleet מנוע. מחזור החיים של המשימה מקושר למסלול ברכב כי הרכב חייב לנסוע לעצירה כדי שהנהג או הנהגת ישלימו משימה המיקום המתוכנן.

1. יצירת משימה

כשיוצרים משימה ב-Fleet Engine, מגדירים מגוון שדות לביצוע המשימה בנפרד משיוך שלהן עם עצירה.

מאפייני משימות
נכס תיאור
מדינה הגדרה כ'פתוח'
מזהים אם משתמשים במעקב משלוח, צריך להגדיר את המשימה ואת המזהה לצורכי מעקב. לצרכנים.
תזמון משך הזמן המתוכנן למשימה וחלון הזמן שלה. צפייה פרטים נוספים על תזמון המשימות.
מיקום מתוכנן מגדירים את הקואורדינטה הגיאוגרפית המדויקת שבה תתבצע המשימה הושלמו.

2. הקצאת משימה

כשמקצים משימה לרכב, צריך לעשות זאת בשילוב עם רכב עצירת ביניים. עצירות הן קואורדינטות של קו רוחב/אורך שמציינות את המיקום שבו הרכב חונה בזמן שהנהג משלים את המשימות שקשורות לעצירה. עצירות הן בדרך כלל נקודת גישה (כמו אביזר עגינה) או תחנת עגינה מלמטה המיקום.

3. בתהליך

סטטוס המשימה הוא 'פתוח' או 'סגור'. אבל ברגע שהמשימה הוקצתה רכב, אפשר לעקוב אחרי ההתקדמות שלו דרך השיוך שלו לרכב והמיקום שבו הרכב נמצא ביחס לעצירה שבה המשימה צריכה להיות. הושלמו.

לאחר שהרכב יוצא מעצירה או מתחיל בניווט, הסטטוס של העצירה צריכה להשתנות ל-ENROUTE. כך, המעקב אחר משלוחים לצרכנים עדכון הנמען של המשימה, כולל מספר העצירות שנותרו ואומדן של מספר העצירות שעת ההגעה. זה תומך גם בכל תצוגה חזותית בזמן אמת לצרכנים למעקב אחרי משלוחים או למעקב אחרי הצי.

4. שעת ההגעה והתוצאה של המשימה

כשהרכב מגיע לעצירה, סטטוס העצירה צריך להיות מוגדר כ- ARRIVED בדומה לסטטוס עצירה ENROUTE, זה לא משפיע על המצב של את המשימה עצמה, אבל היא תומכת גם בהתראות לצרכנים וגם בכל זמן אמת דיווח על מעקב אחר כלל המכשירים בארגון של כלל המכשירים בארגון. היא גם מאפשרת בשלב מאוחר יותר ניתוח נתונים ודיווח על הפעולה שבה תשתמשו לצורך העברה ואופטימיזציות.

אחרי שהרכב מגיע לעצירה, המערכת תוכל לטפל בשאר המשימה באחת מהשיטות הבאות:

  • סגירת משימות לאחר השלמתן.

    כשהנהג מסמן שהמשימה בוצעה, המערכת יכולה להסיר אותה עוצרים, ומשאירים את העצירה במשימות אחרות שהוקצו לה.

  • להסיר את כל העצירה מהרכב.

    אחרי שהנהג מסמן את כל המשימות שהושלמו והרכב בדרך העצירה הבאה, תוכלו להסיר את כל העצירה מהרכב. מנוע ימי כל המשימות שמשויכות לעצירה שהוסרה נסגרת אוטומטית.

סגירת משימה לא מצביעה על הצלחה או כישלון

כשסוגרים משימה, רק המשמעות שלה היא שכבר לא נחשבת כמשימה שבוצעה. במשימות במצב CLOSED, צריך להגדיר את התוצאה של המשימות האלה: SUCCEEDED או FAILED. צריך לעשות את זה גם כדי לציין את התוצאה בפועל של המשלוח למעקב ולחיוב תקין. Fleet Engine גובה רק משימות מסירה עם במצב OnHub.

אחרי שמגדירים תוצאה של משימה, אי אפשר לשנות אותה

כשמסמנים את התוצאה של משימה, Fleet Engine ממלא אותה באופן אוטומטי התוצאה של מיקום הרכב האחרון הידוע. עם זאת, ניתן לשנות זמן התוצאה של המשימה ומיקום המשימה אחרי שהוגדרו Fleet Engine לא יבטל את השדות האלה.

5. תרחישים אחרים שקשורים למשימות

לא כל המשימות שאתם יוצרים במודלים ב-Fleet Engine מתאימות לתהליך טיפוסי של מסלול. לדוגמה:

  • משימות איסוף כשיש לכם משימת איסוף להחזרת חבילה של התחנה לעיבוד מאוחר יותר, צריך ליצור מסירה של החבילה הזו, כאשר המיקום המתוכנן מוגדר לתחנה. אחרת, משימות איסוף בדרך כלל זהות לתהליך של משימות מסירה.
  • הקצאת משימות מחדש. אי אפשר להקצות מחדש משימה ישירות לתפקיד אחר לרכב. במקום זאת, כדי להעביר משימה מרכב אחד לאחר, צריך לסגור את את המשימה המקורית, ואז ליצור אותה מחדש לפני שמקצים לה את הרכב החדש. אם המיקום מעדכנים את סדר המשימות במשימה שכבר הוקצתה רכב אחר, Fleet Engine מייצר שגיאה.
  • למחוק משימות. בדומה לכלי רכב, ב-Fleet Engine מוחקים משימות שלא עודכן אחרי שבעה ימים. אם תנסו להשתמש שוב במזהה משימה נסגר בעבר, Fleet Engine מחזיר שגיאה אם נעשה שימוש במזהה הזה במהלך שבעת הימים האחרונים. לעומת זאת, אם רוצים לשמור את נתוני המשימה למשך זמן רב יותר משבעה ימים, עליכם ליישם את היכולת הזו בעצמכם, למשל משימה מתוזמנת לאיפוס שעון של 7 ימים.

שיתוף של מסע המשימה

באמצעות שיתוף של תהליך המשימה ב-Fleet Engine, אפשר לעקוב אחרי ההתקדמות של המשימה בזמן אמת ולשתף את הנסיעה של הנהג בשתי דרכים עיקריות:

  • שיתוף התהליך שעובר הצרכן כדי שהצרכנים ידעו מה הסטטוס של הזמנות משלוח או הזמנת שירות מבוקשת.
  • מעקב אחר הצי שבאמצעותו מפעילי הצי שלך יכולים לעקוב אחר הסטטוס ולנתח אותו של כלי הרכב שבצי.

שיתוף המסלול להמרת הצרכן

כדי לשלב את התהליך של שיתוף המסלול להמרת הצרכן, צריך להגדיר את התהליך באמצעות JavaScript Consumer SDK. בעזרת ה-SDK אפשר לשפר באינטרנט או באפליקציה לנייד, כדי שהצרכנים יוכלו לעקוב אחרי הסטטוס של מידע על זמני משלוח משוערים ועדכונים על המיקום בזמן אמת לרכב המשלוח. ראו סקירה כללית בנושא שיתוף המסלול להמרת הצרכן: משימות מתוזמנות.

ערכת ה-SDK לשיתוף המסלול להמרת הצרכן מכילה מפת JavaScript ורכיבי נתונים כדי להתחבר ל-Fleet Engine. המפה היא תחליף לבמקום באובייקט google.maps.Map רגיל. הלקוח שלך צריך לאמת את הצד שלך משתמשים בתפקיד צרכן Delivery מהפרויקט ב-Google Cloud כדי להחזיר מידע ספציפי על הלקוח בלבד. מסננים ב-Fleet Engine ומצנזרים את כל הפריטים מידע נוסף בתשובות. לדוגמה, במהלך משימה של חוסר זמינות, לא מתבצע שיתוף של פרטי מיקום עם משתמש קצה.

ב-Fleet Engine, מפעילים את ההגדרות הבאות למסלול להמרת הצרכן שיתוף:

  • Tasks משתמש במאפיין TaskTrackingViewConfig. זה שינוי אופציונלי.
  • למשימות נעשה שימוש במזהה לצורכי מעקב, והספרייה צריכה לזהות אותו. כמה משימות ללקוח.

מעקב אחר כלל המכשירים בארגון

הספרייה למעקב אחר צי JavaScript מאפשרת להציג באופן חזותי את המיקומים של כלי רכב בצים שלהם כמעט בזמן אמת. הספרייה משתמשת Fleet Engine API כדי להציג תצוגה חזותית של כלי רכב למשלוחים וגם את המשימות שהוקצו להם. בדומה ל-SDK של צרכן JavaScript, הוא מכיל JavaScript רכיב מפה שמחליף את 'תקין' ברכיב google.maps.Map רגיל עם רכיבי נתונים שמשמשים אותך כדי להתחבר ל-Fleet Engine.

בספרייה הזו מוצגת החשיפה של רכבי משלוח ברגע שהם נוצר ב-Fleet Engine. כדי לבצע את ההטמעה הזו צריך להשתמש ב-Fleet Engine שירות Super User ב-Cloud IAM, שליחת הצהרה על אסימון Java Web Token עבור גישה לרכבי ההובלה ולמשימות שמשויכות אליהם.

תרחישים של משימות מתוזמנות

בקטע הזה מוצגים מגוון תרחישי משימות שמסכמים את המידע שמצוינים בנקודה זו במדריך. המטרה היא לעזור לכם להבין מגוון דרכים שבהן אפשר לבנות מודל של פעולות ההובלה ב-Fleet Engine, בהתאם לעסק שלכם.

משלוח עם מעקב

בתרחיש ההעברה הזה מוצגת משימה של עצירה מתוזמנת שהוקצתה לתחנה גם בזמן היציאה מהתחנה בתחילת את המסע ומגיעים לתחנת הרכבת בסוף המסע. כמו כן מציגה שתי משימות מסירה של עצירה, שאחת מהן נכשלה. שימוש בטיוטה הזו כדי לאפשר מעקב מהתחנה ואלה כדרך ליצור מודלים שעות ההתחלה והסיום של היום. אין חיוב קורה כשיש משימות מתוזמנות שיפסיקו לפעול.

איסוף עם משלוח מהחנות

התרחיש הזה מראה איך ליצור מודל של איסוף באמצעות נדרשת משימת העברה תואמת. אתם מגדירים את ההחזרה למחסן בתור משלוח למטרות חיוב.

רכב עם מתקני האכלה

בתרחיש הזה מוצגות שתי מסירות עם עצירה מתוזמנת באמצע למשך רכב מתקן האכלה, שהמטרה שלו היא לאפשר למסירה ברכב לחזור לתחנת הטעינה עם מספר חבילות למשלוח. שלך הוא יכול גם ליצור מודל של מנגנון ההזנה של הרכב עם עצירה מתוזמנת.

תזמון המשימה

יצירת מודלים של זמני המשימות עוזרת לתכנן מסלולים ביעילות, זמן הגעה משוער ולנהל ניהול לציפיות שלכם לגבי המשלוח. ב-Fleet Engine יש שתי פונקציות מרכזיות שאפשר להגדיר לצפות מראש את תזמון המשימה, כפי שמתואר בקטע הזה.

משך המשימה

משך המשימה מוגדר לשדה task_duration, שדה חובה מודלים של הזמן הצפוי שהנהג מקדיש להשלמת משימות בעצירה או כדי לצאת להפסקה. במקרה של עצירות, נכללות כל הפעילויות הנדרשות אחרי שמגיעים לעצירה, למשל פריקה של חבילות ואינטראקציה עם נמען. ככל שהמידע הזה יהיה ספציפי יותר, כך Fleet Engine יכול לשפר את לספק זמני הגעה וזמני הגעה משוערים ריאליים לעצירות הבאות בנסיעה. פרטים על השדות מופיעים בקטע משך זמן במסמכי התיעוד בנושא מאגרי הנתונים של הפרוטוקול.

חלון זמן ליעד

'זמן היעד' מגדיר את טווח הזמן המוצע למשימה, שבדרך כלל משמש ללקוחות או למטרות תכנון פנימי. הגדרת הערך הזה היא השדה target_time_window, שכולל שעת התחלה ושעת סיום. אין לכך השפעה ישירה על חישובי מסלול, אבל אפשר להשתמש בהם מצב כמו שליחת התראה ללקוח לגבי חלון זמן לחבילה או מתי צפוי להגיע עובד שירות מתוזמן.

מאפייני המשימה

מאפייני המשימות ב-Fleet Engine מאפשרים לסנן משימות בקלות במאפיינים ספציפיים כשמשתמשים בבקשת ListTasks. אפשר גם להשתמש מאפיינים מותאמים אישית של משימות לניתוח נתונים באמצעות Cloud Logging, יחד עם להעברת מידע על ידי שיתוף התהליך שעובר הצרכן או מעקב אחר צי. דומה למטרה של מאפייני רכב: השתמשו בה כדי ליצור שמתמקדות בתפעול המשלוחים.

הגבלות והגבלות

  • יצירת מאפיינים מותאמים אישית: Fleet Engine מגביל את מספר המאפיינים המותאמים אישית מאפיינים שניתן להגדיר לכל משימה. עליך לפנות לנציג המכירות שלך כדי לבקש הגדלה של המגבלות האלה.
  • יכולות סינון: למרות הגמישות בסינון, אפשר המאפיינים לא מחליפים את השדות של נתוני הליבה של המשימה. השתמשו בהן עבור סינון נוסף בהתאם לצרכים הספציפיים שלכם.
  • לכל מאפיין צריך להיות מפתח ייחודי.
  • לא לכלול פרטים אישיים מזהים או פרטים רגישים אחרים מידע בערך המאפיין, כי הם עשויים להיות גלויים למשתמש.
  • אימות נתונים: מוודאים שהסוגים והפורמטים של הנתונים בנתונים תואמים לדרישות של Fleet Engine.

המאמרים הבאים