Zaplanowane zadania

Ten dokument opisuje usługę zaplanowanych zadań we Fleet Engine. Zakłada się, czytałeś(-aś) artykuł Co to jest Fleet Engine? i znasz konkretną flotę, Niezbędna funkcja usługi silnika.

Czytając tę dokumentację, pamiętaj o tych kwestiach:

  • Możesz tworzyć zadania i wiązać je z przystankami, aby: model rzeczywistego powiązania między zadaniem a lokalizacją, pojazd powinien się zatrzymać, aby umożliwić kierowcy wykonanie zadania. Zapoznaj się z artykułem Wprowadzenie do pojazdów, aby dowiedzieć się więcej. jak działają pojazdy we Fleet Engine.
  • Fleet Engine do zaplanowanych zadań korzysta z tych zasobów: Task i DeliveryVehicle. Fleet Engine zapewnia zarówno usługę gRPC, jak i REST interfejsy:
    • Task: gRPC i REST
    • DeliveryVehicle: gRPC i REST
    • Dla uproszczenia w tej instrukcji używamy przykładów gRPC.

Co to jest zaplanowane zadanie?

Zaplanowane zadanie we Fleet Engine reprezentuje pojedyncze działanie, które ma zostać wykonane przez kierowcę w ramach pojazdu w szerszym kontekście i transportu publicznego. Określa konkretny cel dla kierowcy. Na przykład:

  • dostarczanie dobra do miejsca zamieszkania
  • odebrać przesyłkę i zwrócić ją do magazynu.
  • zatrzymać się w danej lokalizacji, aby świadczyć klientowi usługę na miejscu.
  • zaplanowany postój na paliwo,

Elementy zadania

Poniższy obraz przedstawia te elementy zadań w standardowym harmonogramie dla konkretnego pojazdu.

Podstawowe pola zadań

Pole Opis
Typ Określa typ działania powiązanego z zadaniem.
Identyfikator zadania Ciąg jednoznacznie identyfikujący zadanie w systemie.
Planowana lokalizacja Określa docelową lokalizację, w której należy wykonać zadanie. Ta lokalizacja nie zawsze jest taka sama jak zaplanowana lokalizacja przystanku pojazdu.
Stan Wskazuje, czy zadanie jest otwarte czy zamknięte.
Wynik zadania Wskazuje, czy zadanie zostało wykonane pomyślnie czy nie.

Model danych na potrzeby zadań

Poniższe diagramy ilustrują model danych zasobu Task obok diagramu powiązanego z nim zasób DeliveryVehicle. Dostępne opcje przyjrzymy się obu diagramom, aby zbadać zależności między nimi, pamiętając o następujących kwestiach:

  • Planowana lokalizacja: zarówno postoje pojazdów, jak i zadania mają zaplanowane lokalizacje. oddzielają się od siebie.
    • W przypadku zadań planowana lokalizacja wskazuje, gdzie działanie kierowcy powinno nastąpić. Na przykład 15 przesyłek dostarcza do dużych domów wymagają dostawy do różnych lokalizacji poczty w obrębie do tego samego kompleksu.
    • W przypadku postojów z udziałem pojazdów planowana lokalizacja wskazuje przystanek na trasie przejazdu: podczas wykonywania zadań przez kierowcę. Na przykład plik samochód zatrzymuje się przy wejściu do kompleksu mieszkalnego, a kierowca ręcznie dostarcza paczki do osobnych pomieszczeń pocztowych w obrębie kompleksu.
  • Stan: zarówno zadania, jak i przystanki pojazdów mają pole state, które jest inne niż pole i integrację społeczną.
    • Stan przystanku pojazdu odzwierciedla postęp pojazdu w i służą do śledzenia floty.
    • Stan zadania wskazuje, czy jest ono aktywne. Ten wpływa na inne działania wykonywane na zadaniach, takie jak ustawienie lub przypisanie ich do pojazdu.
  • Wynik zadania: wynik zadania to ważne pole w modelu danych. ponieważ służy do wskazywania powodzenia lub niepowodzenia zadania, niezależnie od stanu zadania.

  • Identyfikatory:

    • Gdy przypiszesz zadanie do pojazdu, Fleet Engine uzupełni w polu deliveryVehicleId. To pole tylko do odczytu wskazuje pojazd, przypisane zadanie.
    • Identyfikatory zadań to unikalne identyfikatory wszystkich zadań w systemie.
    • Identyfikatory śledzenia określają zadanie w celu śledzenia przesyłki.

Model danych Listy zadań

Model danych pojazdu

Identyfikatory zadań

Podobnie jak w przypadku identyfikatorów pojazdów we Fleet Engine, każde zadanie musi zawierać identyfikator, aby odróżniać je od innych zadań w systemie. Ty odsyłasz i zarządzasz wszystkich zadań w przepływie pracy według identyfikatora. Identyfikatory tworzy się za pomocą funkcji CreateTaskRequest i podaj ciąg identyfikatora zgodny z wymagań opisanych w tej sekcji.

Ten ciąg składa się z części nazwy zasobu zadania, tylko w polu wyjściowym w obiekcie Task. To odpowiednik funkcji Fleet Engine. tworzy zasoby nazwy pojazdu. Zapoznaj się z sekcją Nazewnictwo zasobów w Wprowadzenie do Fleet Engine.

Wymagania dotyczące identyfikatora zadania
Właściwość Opis
Unikalność Każdy identyfikator zadania musi być unikalny w ramach Twojej implementacji Fleet Engine, aby uniknąć pomyłek i zapewnić prawidłową identyfikację.
Format
  • Nie mogą zawierać informacji umożliwiających identyfikację osób ani danych w postaci zwykłego tekstu.
  • Prawidłowe ciągi Unicode.
  • Może mieć maksymalnie 64 znaki.
  • Wyklucz następujące znaki: / : \ ? #
  • Znormalizowane według Formularz normalizacji Unicode C.
Przykłady identyfikatorów zadań
Dobre przykłady identyfikatorów zadań
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • E4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMzMWFMOWY2NzNkM2Jk
Niedozwolone identyfikatory zadań
  • 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

typy zadań;

Fleet Engine obsługuje różne typy zadań, które reprezentują różne działania w obrębie i transportu publicznego. Opisujemy je tutaj wraz z informacjami o ich widoczności i szczegóły płatności.

Typ zadania Opis Widoczność śledzenia przesyłki Rozliczono
Zadanie dostarczania Służy do porzucania produktów lub wykonywania zadań za klienta. Konsumenci mogą to sprawdzić i śledzić. Tak
Zadanie odbioru Wskazuje odbiór towarów przez klienta. Musisz mają przypisane zadania dostawy dla każdego zadania odbioru. Konsumenci mogą to sprawdzić i śledzić. Nie
Zadanie dotyczące niedostępności Identyfikuje pojazd jako niedostępny w usłudze, np. gdy kierowca robi sobie przerwę lub uzupełnia paliwo. Niewidoczne dla konsumentów. Nie
Zadanie zaplanowanego zatrzymania Zadanie niedostarczenia, które wymaga przystanku w określonej lokalizacji. Skorzystaj z zadań zaplanowanych przy odbiorze w przypadku zaplanowanych codziennie zaplanowanych postojów na odbiór zamówień w określonej lokalizacji, niezależnie od innych dostaw lub odbioru w tym samym miejscu. Możesz też tworzyć zaplanowane zadania zatrzymania dla odbiór ze skrzynek referencyjnych lub modelować transfery między pojazdami dostarczanymi przez system dostarczania danych lub przystanki w centrach serwisowych i punktach serwisowych. Konsumenci nie mogą śledzić tego konkretnego zadania, ale mogą je widzieć w ramach śledzenia innych zadań. Nie

Cykl zadań i ścieżek

Ta sekcja zawiera szczegółowe informacje o cyklu życia zadania dostarczania we flocie Wyszukiwarka. Cykl życia zadania jest powiązany ze ścieżką pojazdu, ponieważ pojazd musi dojechać do przystanku, aby kierowca mógł dokończyć od planowanej lokalizacji.

1. Tworzenie zadania

Podczas tworzenia zadania we Fleet Engine po raz pierwszy ustawiasz różne pola dla danego zadania niezależnie od jego powiązania z przystankiem.

Właściwości zadania
Właściwość Opis
Stan Ustaw na OPEN
Identyfikatory Jeśli korzystasz ze śledzenia przesyłki, skonfiguruj zadanie i identyfikator śledzenia dla konsumentów.
Czas Planowany czas trwania zadania i jego docelowe okno czasowe. Zobacz Czas realizacji zadań.
Planowana lokalizacja Ustaw dokładną współrzędne geograficzne miejsca, w którym ma się znajdować zadanie .

2. Przypisanie zadania

Przypisując zadanie do pojazdu, robisz to razem z pojazdem. przystanek. Przystanki to współrzędne geograficzne, które wskazują lokalizację, parkowania pojazdu, gdy kierowca wykonuje zadania związane z przystankiem. Przystanki to zwykle punkty dostępu, takie jak pomost przeładunkowy, lub przypięte lokalizacji.

3. W toku

Stan zadania to OTWARTE lub ZAMKNIĘTE. Jednak po przypisaniu zadania do pojazdu, możesz śledzić jego postępy przez powiązanie z nim i gdzie pojazd znajduje się w odniesieniu do przystanku, na którym ma się odbyć zadanie. .

Po wyjściu z przystanku lub rozpoczęciu nawigacji przystanek powinien się zmienić na ENROUTE. Dzięki temu śledzenie przesyłki zaktualizować adresata zadania o liczbę pozostałych i szacowanej liczby postojów godzina przybycia na miejsce. Umożliwia też klientom wizualizację w czasie rzeczywistym do śledzenia przesyłek czy do śledzenia floty.

4. Przyjazd i wynik zadania

Gdy pojazd znajdzie się na przystanku, status przystanku powinien być ustawiony na ARRIVED Tak jak w przypadku stanu zatrzymania funkcji ENROUTE, nie ma to wpływu na stan w samym zadaniu, ale obsługuje zarówno powiadomienia dla klientów, jak i do śledzenia floty przez operatorów floty. Umożliwia też później Analityka i raportowanie działań, które wykorzystasz do realizacji i optymalizacji.

Gdy pojazd znajdzie się na przystanku, system może zająć się resztą. możesz skorzystać z jednej z tych metod:

  • Zamknij zadania w miarę, jak zostały ukończone.

    Gdy sterownik oznaczy zadanie jako ukończone, system może je usunąć z ale zostawić przystanek z przypisanymi innymi zadaniami.

  • Usuń z pojazdu cały przystanek.

    Gdy kierowca oznaczy wszystkie zadania jako wykonane, a pojazd znajdzie się w drodze do następny przystanek, możesz usunąć cały przystanek z pojazdu. Fleet Engine automatycznie zamyka wszystkie zadania powiązane z usuniętym przystankiem.

Zamknięcie zadania nie oznacza powodzenia ani niepowodzenia

Zamknięcie zadania wskazuje tylko, że nie jest już uznawane za trwające. W przypadku zadań o stanie CLOSED możesz ustawić ich wynik na SUCCEEDED lub FAILED Jest to konieczne do wskazania rzeczywistego wyniku wysyłki śledzenia i rozliczania. Fleet Engine nalicza opłaty tylko za zadania dostawy za pomocą stan SUCCEEDED.

Ustawionego wyniku zadania nie można zmienić

Podczas oznaczania wyniku zadania Fleet Engine automatycznie wypełnia to zadanie lokalizację wyniku z ostatnią znaną lokalizacją pojazdu. Możesz jednak zmienić czas i lokalizację wyniku zadania po ich określeniu; Fleet Engine nie zastąpi tych pól.

5. Inne scenariusze zadań

Nie wszystkie zadania, które modelujesz we Fleet Engine, pasują do typowego procesu ścieżki. Przykład:

  • Zadania związane z odbiorem. Gdy masz zadanie odbioru dotyczące zwrotu przesyłki do magazynu, aby je później przetworzyć, utwórz delivery dla tej przesyłki z planowaną lokalizacją ustawioną jako zajezdnia. W przeciwnym razie zadania związane z odbiorem będą przebiegać tak samo jak w przypadku zadań związanych z dostawą.
  • Ponowne przypisywanie zadań. Nie możesz bezpośrednio przypisać zadania do innego pojazdu. Aby przenieść zadanie z jednego pojazdu do drugiego, zamknij oryginalne zadanie, a następnie utwórz je ponownie, zanim przypiszesz mu nowy pojazd. Jeśli zmienisz kolejność zadań, które są już przypisane do inny pojazd, Fleet Engine zwraca błąd.
  • Usuwanie zadań Podobnie jak w przypadku pojazdów, Fleet Engine usuwa zadania, które nie zostały zaktualizowane po 7 dniach. Jeśli spróbujesz ponownie użyć identyfikatora zadania, które ma zostało wcześniej zamknięte, Fleet Engine zwraca błąd, jeśli ten identyfikator został użyty w ciągu ostatnich 7 dni. Jeśli chcesz przechowywać dane zadań dłużej, niż 7 dni, musisz samodzielnie wdrożyć tę funkcję, np. zaplanowane zadanie resetowania 7-dniowego zegara.

Udostępnianie ścieżek zadań

Dzięki udostępnianiu ścieżek zadań we Fleet Engine możesz sprawdzać postęp zadań w w czasie rzeczywistym i dzielić się trasą kierowcy na 2 sposoby:

  • udostępnianie informacji o ścieżce klienta, wysyłkę produktów lub zamówionych usług.
  • Śledzenie floty dla operatorów floty w celu śledzenia i analizowania stanu pojazdów we flocie.

Udostępnianie ścieżki klienta

Aby zintegrować ze swoją działalnością udostępnianie informacji o ścieżce klienta, skonfiguruj ścieżkę za pomocą pakietu JavaScript Consumer SDK. Dzięki pakietowi SDK możesz ulepszyć wizualne treści w internecie lub aplikacji mobilnej, dzięki którym konsumenci mogą przesyłki wraz z szacowanym czasem dostawy i aktualizacjami lokalizacji w czasie rzeczywistym dla pojazdu dostawczego. Zapoznaj się z artykułem Udostępnianie ścieżki klienta – omówienie zaplanowane zadania.

Pakiet SDK do udostępniania ścieżek klientów zawiera mapę JavaScript i komponenty danych komponenty do połączenia z Fleet Engine. Mapa zastępuje proszę standardowy obiekt google.maps.Map. Klient powinien uwierzytelnić Twoją stronę użytkowników i korzystają z roli konsumenta Wyświetlanie z projektu Google Cloud, aby zwracają tylko informacje dotyczące danego klienta. Fleet Engine filtruje i usuwa wszystkie inne informacje w odpowiedziach. Na przykład podczas zadania dotyczącego niedostępności Dane o lokalizacji nie są udostępniane użytkownikowi.

We Fleet Engine włączysz poniższe ustawienia ścieżki klienta udostępnianie:

  • Zadania używają właściwości TaskTrackingViewConfig. Opcjonalnie:
  • Zadania używają identyfikatora śledzenia, który biblioteka musi identyfikować dla konsumenta.

Śledzenie floty

Biblioteka śledzenia floty w języku JavaScript umożliwia wizualizację lokalizacji pojazdy w swoich flotach niemal w czasie rzeczywistym. Biblioteka korzysta z Fleet Engine API do wizualizacji pojazdów transportowych oraz przypisane im zadania. Podobnie jak pakiet SDK JavaScript dla klientów, zawiera on kod JavaScript komponent mapy, który jest zwykłym zamiennikiem standardowej wersji google.maps.Map encja z komponentami danych używanymi do łączenia się z Fleet Engine.

Ta biblioteka pokazuje widoczność pojazdów dostawczych, gdy tylko się pojawią utworzona we Fleet Engine. W tej implementacji użyjesz Fleet Engine Rola Superużytkownik usługi Cloud IAM oraz deklaracja usługi Java Web Token dla dostęp do pojazdów dostawczych i powiązanych z nimi zadań.

Scenariusze zaplanowanych zadań

W tej sekcji znajdziesz różne scenariusze zadań, które podsumowują informacje tego przewodnika. Ma ona pomóc Ci zrozumieć możesz na różne sposoby modelować operacje transportowe we Fleet Engine, w zależności od firmy.

Dostawa ze śledzeniem

Ten scenariusz wyświetlania pokazuje zadanie zaplanowanego zatrzymania został przypisany do zajezdni zarówno na początku, jak i przy odjazdu z zakładu a na koniec podróży aż do zakładu. Dodatkowo pokazuje 2 zadania dostarczania dla przystanku. Jedno z nich zakończyło się niepowodzeniem. Użyj tej umożliwia śledzenie przesyłek z i do magazynu oraz jako sposób modelowania. godziny rozpoczęcia i zatrzymania w ciągu dnia. Brak płatności odbywa się w przypadku zaplanowanych zadań zatrzymania.

Odbiór z dostawą do magazynu

Ten scenariusz pokazuje, jak modelować odbiór na podstawie wymagane jest odpowiednie zadanie dostarczania. Ustawiasz zwrot do magazynu jako dostawy na potrzeby rozliczeń.

Pojazd dozowników

Ten scenariusz pokazuje 2 dostawy z zaplanowanym zatrzymaniem w środku przez pojazdem dostawczym, którego celem jest umożliwienie pojazdu dostawczego z powrotem do magazynu z różnymi paczkami do wysłania. Ty Może też modelować pojazd dodatkowy z zaplanowanym przystankiem.

Harmonogram zadania

Modelowanie czasów zadań ułatwia skuteczne planowanie trasy, szacowany czas dotarcia na miejsce i zarządzanie i oczekiwaniach użytkowników. Fleet Engine oferuje 2 kluczowe funkcje do modelowania przewidywane czasy zadań, jak opisano w tej sekcji.

Czas trwania działania

Czas trwania zadania ustawia się w polu task_duration – polem wymaganym, modeluje przewidywany czas, który kierowca spędza na wykonywaniu zadań w przystanku lub na przerwę. W przypadku postojów obejmuje to wszystkie niezbędne działania po zatrzymaniu, np. wyładowaniu przesyłek czy interakcji z odbiorcy. Im bardziej szczegółowe będą te informacje, tym lepiej będzie realistyczne informacje o szacowanym czasie przyjazdu i szacowanym czasie dotarcia na miejsce kolejnych przystanków. Szczegółowe informacje o polach znajdziesz w sekcji Czas trwania w dokumentacji buforów protokołów.

Przedział czasu docelowego

Czas docelowy określa proponowany zakres czasu wykonywania zadania. Zwykle jest on używany komunikacji z klientami lub w celach związanych z planowaniem wewnętrznym. Ty ustawiasz w polu target_time_window, które składa się z godziny rozpoczęcia i zakończenia. Nie wpływa to bezpośrednio na obliczenia trasy, ale może być przydatne Sytuacja, na przykład powiadomienie konsumenta o przedziale czasu, w którym odbędzie się przesyłkę dostawy lub spodziewanego przyjazdu pracownika działu usługowego.

Atrybuty zadania

Atrybuty zadań we Fleet Engine zapewniają wygodny sposób filtrowania zadań na podstawie o konkretnych cechach podczas korzystania z żądania ListTasks. Możesz też użyć niestandardowych atrybutów zadań na potrzeby analiz w Cloud Logging, a także przekazywania informacji w ramach udostępniania ścieżki klienta lub śledzenia floty. przeznaczenia są podobne do atrybutów pojazdów. Wykorzystaj go, aby stworzyć spojrzenie na Twoje działania związane z dostarczaniem treści.

Ograniczenia

  • Tworzenie atrybutów niestandardowych: Fleet Engine ogranicza liczbę niestandardowych atrybutów możesz zdefiniować dla poszczególnych zadań. Skontaktuj się z przedstawicielem handlowym, aby poprosić o zwiększenie tych limitów.
  • Funkcje filtrowania: oferują elastyczność filtrowania, Atrybuty nie zastępują podstawowych pól danych zadań. Używaj ich do: dodatkowe filtrowanie według własnych potrzeb.
  • Każdy atrybut musi mieć unikalny klucz.
  • Nie podawaj informacji umożliwiających identyfikację osób ani innych poufnych informacji. w wartości atrybutu, które mogą być widoczne dla użytkownika.
  • Walidacja danych: sprawdź, czy typy i formaty danych niestandardowych atrybuty są zgodne z wymaganiami Fleet Engine.

Co dalej?