Planlanmış görevler

Bu belgede, Fleet Engine'deki planlanmış görevler hizmeti açıklanmaktadır. Varsayımda Fleet Engine nedir? başlıklı makaleyi okudunuz ve belirli bir Filo hakkında İhtiyacınız olan motor hizmeti.

Bu dokümanları okurken aşağıdakileri göz önünde bulundurun:

  • Görevler oluşturup bir araç durağıyla ilişkilendirirsiniz. konum arasındaki gerçek ilişki hakkında bir model oluşturabilirsiniz. Sürücünün görevi tamamlayabilmesi için aracın durması beklenir. Daha iyi bilgi edinmek için Taşıtlara giriş konusunu okuyun araçların Fleet Engine'deki işleyişini kavrayabilir.
  • Planlanmış görevler için Fleet Engine şu kaynakları kullanır: Task ve DeliveryVehicle. Fleet Engine, hem gRPC hizmeti hem de REST sunar arayüzler:
    • Task: gRPC ve REST
    • DeliveryVehicle: gRPC ve REST
    • Basitlik sağlaması için bu kılavuzda gRPC örnekleri kullanılmıştır.

Planlanmış görev nedir?

Fleet Engine'de planlanmış bir görev, yapılması gereken bağımsız bir işlemi daha geniş bir bağlamda araç kullanan bir sürücünün Ulaşım operasyonu. Sürücü için özel hedefi tanımlar. Örneğin:

  • bir eve mal teslim etmek
  • kargo deposuna geri dönmek üzere bir paket almak
  • Müşteriye tesis içinde hizmet sağlamak üzere bir konumda durmak
  • aracı çalıştırmak için planlı bir duraklama ayarlamak

Görev öğeleri

Aşağıdaki resimde, bu görev öğeleri standart bir zaman çizelgesinde bir araç yolculuğu.

Temel görev alanları

Alan Açıklama
Tür Görevle ilişkili eylem türünü tanımlar.
Görev Kimliği Sistem içindeki görevi benzersiz şekilde tanımlayan bir dize.
Planlanan konum Görevin gerçekleştirilmesi gereken konumu belirtir. Bu konum, söz konusu işletmenin planlanan yeriyle her zaman aynı değildir aracı durdurmasına izin verir.
Eyalet Görevin açık mı yoksa kapalı mı olduğunu belirtir.
Görevin Sonucu Görevin başarılı mı yoksa başarısız mı olduğunu gösterir.

Görevler için veri modeli

Aşağıdaki diyagramlarda Task kaynağının veri modeli gösterilmektedir yanında, ilişkilendirilmiş DeliveryVehicle kaynağında bulunan şemayla birlikte gösterilir. Şunları yapabilirsiniz: iki kaynak arasındaki ilişkileri keşfetmek için her iki diyagramı da inceleyin. şunları unutmayın:

  • Planlanan konum: Hem araç durakları hem de görevler için planlanmış konumlar vardır. benzersiz bir deneyim sunar.
    • Görevler için planlanan konum, sürücünün eyleminin nerede olduğunu gösterir meydana gelecektir. Örneğin, büyük bir konuta 15 paket teslimat karmaşık bir yapı içindeki farklı posta odası konumlarına teslim edilmesini karmaşık bir yapıya sahip.
    • Araç durakları için, planlanan konum bu durakların durağını gösterir. araç, sürücü görevleri tamamlarken Örneğin, Araç bir apartman kompleksinin girişinde duruyor ve sürücü paketleri, kompleks içindeki ayrı posta odalarına el ile teslim eder.
  • Durum: Hem görevler hem de araç durakları, bir iletişim kurmaktır.
    • Araç durma durumu, aracın filo izleme amacıyla kullanılır.
    • Görevin durumu, görevin etkin olup olmadığını gösterir. Bu görevler üzerinde yapılacak diğer operasyonları etkiler. Örneğin, bir araca atamaktır.
  • Görev sonucu: Görevin sonucu veri modelinde önemli bir alandır. Çünkü bir görevin başarısını veya başarısızlığını göstermek için kullanılır, görevi görebilir.

  • Kimlikler:

    • Bir araca görev atadığınızda, Filo motoru, deliveryVehicleId alanı boş bırakılamaz. Bu salt okunur alan, aracın bu özelliği kullanabilirsiniz.
    • Görev kimlikleri, sisteminizdeki tüm görevler için benzersiz tanımlayıcılardır.
    • İzleme kimlikleri, kargo takibi amacıyla bir görev tanımlar.

Görevler veri modeli

Araç veri modeli

Görev Kimlikleri

Fleet Engine'deki araç kimliklerine benzer şekilde, görevlerin her biri için ve onları sistemdeki diğer görevlerden ayırmanıza yardımcı olur. Siz referans verir ve yönetirsiniz kimliklerine göre kontrol edebilirsiniz. Bu kimlikleri CreateTaskRequest hizmetini kullanarak ve bu bölümde açıklanan koşullara tabidir.

Bu dize daha sonra görev kaynağının adının bir kısmını oluşturur. Task nesnesindeki salt çıkış alanıdır. Bu, Fleet Engine'in benzer bir grup araç adı kaynakları oluşturur. Kaynak adlandırma bölümüne bakın: Fleet Engine'e Giriş.

Görev Kimliği Gereksinimleri
Özellik Açıklama
Benzersizlik Karışıklığı önlemek ve tanımlamanın doğru şekilde yapılmasını sağlamak için, Fleet Engine uygulamanızda her görev kimliğinin benzersiz olması gerekir.
Biçim
  • Kimliği tanımlayabilecek bilgiler (PII) veya açık metin verileri olmamalıdır.
  • Geçerli Unicode dizeleri.
  • Maksimum 64 karakter.
  • Aşağıdaki karakterleri hariç tutun: / : \ ? #
  • Şuna göre normalleştirilmiş: Unicode Normalleştirme Formu C.
Görev Kimliği Örnekleri
Doğru görev kimliği örnekleri
  • 566c33d9-2a31-4b6a-9cd4-80ba1a0c643b
  • e4708eabcfa39bf2767c9546c9273f747b4626e8cc44e9630d50f6d129013d38
  • NTA1YTliYWNkYmViMTI0ZmMzMWFmOWY2NzNkM2Jk
İzin verilmeyen görev kimlikleri
  • 8/31/2019-20:48-46.70746,-130.10807,-85.17909,61.33680
  • JohnDoe-577b484da26f-Cupertino-SantaCruz
  • 4R0oXLToF"112 Yaz Dr. East Hartford, CT06118"577b484da26f8a

Görev türleri

Fleet Engine, bir projede farklı eylemleri temsil etmek için Ulaşım operasyonu. Görünürlüğüyle birlikte burada açıklanmıştır. ve fatura bilgileridir.

Görev Türü Açıklama Gönderim Takibi Görünürlüğü Faturalandırıldı
Teslim Görevi Öğeleri bırakmak veya müşteri adına bir görevi tamamlamak için kullanabilirsiniz. Tüketiciler bunu görebilir ve takip edebilir. Evet
Teslim Alma Görevi Müşterilerden ürün teslim almayı belirtmek için kullanın. Şunu yapmalısınız: herhangi bir teslim görevi için ilgili teslimat görevleri oluşturmanız gerekir. Tüketiciler bunu görebilir ve takip edebilir. Hayır
Kullanılamama Görevi Sürücünün mola vermesi veya araca yakıt doldurması gibi durumlarda aracın servis için kullanılamadığını tanımlar. Tüketicilere gösterilmez. Hayır
Planlanmış Durdurma Görevi Belirli bir konumda durmayı gerektiren teslim edilmeyen görev. Belirli bir konumdaki günlük programlanmış teslim noktaları için (aynı konumdaki diğer teslimat veya teslim alma işlemlerinden bağımsız olarak) planlanmış durak görevlerini kullanın. Ayrıca, açılır kutulardan yapılan koleksiyonlar için veya servis merkezlerinde ve hizmet noktalarında bulunan besleyici-araç aktarımları ya da duraklarını modellemek üzere planlanmış durdurma görevleri oluşturabilirsiniz. Tüketiciler bu belirli görevi takip edemez, ancak diğer görevlerin takibinin bir parçası olarak görebilirler. Hayır

Görev ve yolculuk yaşam döngüsü

Bu bölümde, Filo'daki teslim görevi yaşam döngüsüyle ilgili ayrıntılar sunulmaktadır Motor. Görev yaşam döngüsü, araç yolculuğuyla bağlantılıdır çünkü Sürücünün bir görevi yerine getirebilmesi için aracın durağa gidebilmesi gerekir. planlandığı gibi gitmez.

1. Görev oluşturma

Fleet Engine'de ilk kez bir görev oluşturduğunuzda çeşitli alanları ayarlarsınız. bir durakla ilişkilendirmek yerine görev için ayrıntı gözden geçirmeniz gerekir.

Görev özellikleri
Özellik Açıklama
Eyalet AÇIK olarak ayarla
Kimlikler Kargo takibini kullanıyorsanız görevi ve izleme kimliğini ayarlayın sahip olmalısınız.
Zamanlama Görev için planlanan süre ve hedef zaman aralığı. Görüntüleyin Ayrıntılar için görev zamanlaması bölümüne bakın.
Planlanan konum Görevin gerçekleştirileceği yerin kesin coğrafi koordinatını belirleyin tamamlandı.

2. Görev ataması

Bir araca görev atadığınızda, bunu bir araçla birlikte yaparsınız dur. Duraklar, Google Ads'de konumun Google tarafından nasıl kesileceğine ve Sürücü durakla ilgili görevleri tamamlarken araç parkları. Duraklar genellikle bir yükleme iskelesi veya kilitlenmiş bir yol gibi bir erişim noktasıdır. konum.

3. Devam ediyor

Görevlerin durumu AÇIK veya KAPALI'dır. Ancak ekip üyelerine bir görev atandığında, o aracın araçla ilişkilendirmesi yoluyla ilerlemesini Aracın, görevin yapılacağı durağa göre nerede olduğu tamamlandı.

Araç duraktan ayrıldığında veya navigasyona başladığında durak ENROUTE olarak değişmelidir. Bu şekilde, tüketicinin gönderi takibi Bir görev için alıcıyı kalan durak sayısı ve tahmini duraklarla güncelleyin. varış saati var. Bu yöntem, tüketiciler için her türlü gerçek zamanlı görselleştirmeyi de veya filo takibi için de kullanılabilir.

4. Varış ve görevin sonucu

Araç bir durağa geldiğinde, durak durumu ARRIVED ENROUTE durdurma durumunda olduğu gibi, bu durum aynı zamanda hem tüketici bildirimlerini hem de gerçek zamanlı filo operatörleriniz tarafından kullanılan filo izleme için raporlama. Ayrıca daha sonra teslim için kullanacağınız operasyonunuza ilişkin analiz ve raporlar optimize edebilirsiniz.

Araç durağa geldiğinde sisteminiz görevin geri kalanını gerçekleştirebilir en iyi uygulamaları paylaşacağım:

  • Tamamlanan görevleri tamamlama.

    Sürücü görevi tamamlandı olarak işaretlediğinde sisteminiz, görevi durabilir, ancak başka görevler atanmış bir şekilde durun.

  • Durağı tamamen araçtan kaldırın.

    Sürücü tüm görevleri tamamlandı olarak işaretlediğinde ve araç yola çıktığında bir sonraki duraksa, durağın tamamını araçtan kaldırabilirsiniz. Filo Motoru kaldırılan bir durakla ilişkili tüm görevleri otomatik olarak kapatır.

Görevin kapatılması başarılı veya başarısız olduğu anlamına gelmez

Bir görevin kapatılması yalnızca görevin artık devam ediyor olarak kabul edilmediği anlamına gelir. CLOSED durumundaki görevlerin sonucunu SUCCEEDED veya FAILED. Bu bilgi, hem gönderimin asıl sonucunu belirtmek için gereklidir doğru faturalandırma için çok önemlidir. Fleet Engine, yalnızca durumu: SUCCEEDED.

Bir görev sonucu belirledikten sonra bunu değiştiremezsiniz

Fleet Engine bir görevin sonucunu işaretlerken görevi otomatik olarak doldurur bilinen son araç konumuyla birlikte sonuç konumu Bununla birlikte, görevler belirlendikten sonra belirlenen görevlerle ilgili süre ve görev Fleet Engine bu alanları geçersiz kılmaz.

5. Diğer görev senaryoları

Fleet Engine'de modellediğiniz bazı görevler, tipik bir yolculuk akışına uymaz. Örneğin:

  • Teslim alma görevleri. Bir paketin iade edilmesi için teslim alma göreviniz olduğunda daha sonra işlenmek üzere depoya koyduğunuzda, teslimat görevi görebilir. Aksi takdirde, teslim alma görevleri genellikle teslimat görevleriyle aynı akışı izler.
  • Görevi yeniden atama. Bir görevi başka bir kullanıcıya doğrudan yeniden atayamazsınız kullanabilirsiniz. Bunun yerine, bir görevi bir araçtan diğerine taşımak için yeni araca atamadan önce görevi yeniden oluşturmak ile çalışmak. Eğer atanmış bir göreve atanan bir görevin görev sıralamasını güncellerseniz kullandığında, Fleet Engine hata veriyor.
  • Görevleri silme. Araçlarda olduğu gibi, Fleet Engine, yedi gün sonra güncellenir. Aynı görev kimliği bulunan bir görev için veya daha önce kapatılmışsa, söz konusu kimlik kullanılmışsa Fleet Engine bir hata döndürür. yüzde 10' olabilir. Öte yandan görev verilerinizi daha uzun süre saklamak istiyorsanız veya yedi günden daha uzun sürede bu yeteneği planlanmış bir işi yeniden belirleyebilirsiniz.

Görev yolculuğu paylaşımı

Fleet Engine'deki görev yolculuğu paylaşımı ile görevlerdeki ilerlemeyi gerçek zamanlı sağlayın ve sürücünün yolculuğunu iki temel şekilde paylaşın:

  • Tüketici yolculuğu paylaşımı sayesinde tüketiciler, veya talep edilen hizmet siparişini belirlemelisiniz.
  • Filo operatörlerinizin durumu izleyip analiz etmeleri için filo izleme filodaki araçların sayısı.

Tüketici yolculuğu paylaşımı

Tüketici yolculuğu paylaşımını operasyonunuza entegre etmek için yolculuğu ayarlayın JavaScript Tüketici SDK'sını kullanarak paylaşabilirsiniz. SDK ile, uygulamanızın görsel web veya mobil uygulama deneyiminden bahsetmek istiyorum. Böylece tüketiciler tahmini varış saatleri ve gerçek zamanlı konum güncellemeleriyle birlikte gönderim teslimat aracı. Aşağıdaki hesap için tüketici yolculuğu paylaşımına genel bakış: planlanmış görevler hakkında bilgi edinin.

Tüketici yolculuğu paylaşımı SDK'sı bir JavaScript haritası ve veri bileşenleri içerir başka bileşenler de vardır. Harita, yeni bir standart google.maps.Map nesnesidir. İstemciniz, sizin tarafınızda kimlik doğrulamalıdır ve Google Cloud projenizde Yayınlama tüketici rolünü kullanarak yalnızca müşteriye özel bilgileri döndürebilmelidir. Fleet Engine, tümünü filtreleyip çıkarır geri bildirim vermelisiniz. Örneğin, "kullanılamayan" görevi sırasında Son kullanıcıyla konum bilgisi paylaşılmaz.

Fleet Engine'de, tüketici yolculuğu için aşağıdaki ayarları etkinleştirirsiniz paylaşma:

  • Görevler, TaskTrackingViewConfig özelliğini kullanır. İsteğe bağlı.
  • Görevler, kitaplığın ilgili alanı tanımlaması gereken bir izleme kimliği kullanır. hem de son derece önemli.

Filo İzleme

JavaScript Filo İzleme Kitaplığı, büyük ölçekli araçların yer aldığı filolarındaki araçları neredeyse gerçek zamanlı olarak kontrol edebilir. Kitaplıkta Teslimat araçlarının yanı sıra teslimat araçlarının görselleştirmesini sağlayan Fleet Engine API görevlerden sorumlu tutmalısınız. JavaScript tüketici SDK'sı gibi, JavaScript'in standart bir google.maps.Map için yerleşik olarak bulunan bir harita bileşeni kullandığınız veri bileşenlerinin yer aldığı bir varlık görürsünüz.

Bu kitaplık, teslimat araçlarının görünürlüğünü hemen gösterir Fleet Engine'de oluşturuldu. Bu uygulama için Fleet Engine'i kullanırsınız. Hizmetin Süper Kullanıcı Cloud IAM rolü ve sizin için Java Web Jetonu talebi sağlamanız teslimat araçlarına ve ilişkili görevlerine erişim sağlar.

Planlanmış görev senaryoları

Bu bölümde bilgileri özetleyen çeşitli görev senaryoları ele alacağız. Bu özellik, markanızın ve Fleet Engine'deki ulaşım operasyonlarınızı modellemenin Bu da işinize göre değişir.

Takipli teslimat

Bu teslim senaryosunda bir planlanmış durdurma görevi gösterilir. başlangıcında, depodan kalkışta depoya atanır. yolculuğa ve yolculuğun sonunda depoya varışı. Aynı zamanda durmak için iki teslim görevi gösteriyor ve bunlardan biri başarısız oluyor. Bunu kullan atamanın yolunu bulmanın ve bir modellemenin bir yolu olarak, ve bitiş zamanlarını görebilirsiniz. Faturalandırma yok zamanlanmış durma görevleriyle karşılaşabilirsiniz.

Depo teslimatıyla teslim alma

Bu senaryoda, bir teslim alma işleminin teslimat görevini yerine getirmeniz gerekir. Depoya dönüşü teslimat.

Besleme araç

Bu senaryoda, ortasında planlanmış bir durak olan iki teslimat gösterilmektedir Burada amaç, teslimat aracının bir dizi kargoyla depoya geri dönecek. Siz besleyici aracını planlanmış bir durakla modelleyebilir.

Görev Zamanlaması

Görev zamanlarının modellenmesi etkili rota planlamasına, tahmini varış sürelerine ve teslim beklentileri olabilir. Fleet Engine, modelleme ve analiz için iki temel işlev sunar. bu bölümde açıklandığı gibi görev zamanlamasını öngörmelisiniz.

Görev süresi

Görev süresi, task_duration alanı kullanılarak ayarlanır. sürücünün duraktaki görevleri tamamlamak için harcayacağı öngörülen süreyi modeller ara vermek isteyebilir. Duraklar için bu, gerekli tüm aktiviteleri kapsar toplu taşımayı kaldırarak ve araçla etkileşime geçerek (örneğin, dokunun. Bu bilgi ne kadar spesifik olursa Fleet Engine bunu Yolculuğun sonraki durakları için gerçekçi varış saatleri ve TVS'ler sağlama. Alan ayrıntıları için Protokol Arabellekleri Belgeleri'ndeki Süre bölümüne bakın.

Hedef zaman aralığı

Hedef süre, bir görev için önerilen bir zaman aralığını tanımlar ve genellikle yalnızca müşterilerle iletişim kurmak veya şirket içi planlama yapmak için kullanılmış olabilir. Bu ayarı şununla yapabilirsiniz: target_time_window alanı, başlangıç zamanı ve bitiş zamanından oluşur. Bu, rota hesaplamalarını doğrudan etkilemez, ancak gerektiğinde örneğin tüketiciyi bir paketin zaman aralığı konusunda uyarmak ya da planlanmış bir hizmet çalışanına ne zaman ulaşacağını belirleyebilir.

Görev Özellikleri

Fleet Engine'deki görev özellikleri, görevleri duruma göre filtrelemek için kullanışlı bir yöntem sunar. ListTasks isteğini kullanırken belirli özelliklere göre ayarlamanız gerekir. Ayrıca şunu da kullanabilirsiniz: Cloud Logging ile analizler için özel görev özellikleri ve tüketici yolculuğu paylaşımı veya filo izlemede bilgileri iletme. İlgili içeriği oluşturmak için kullanılan Amaç, araç özelliklerine benzer: Aracın amacını daha yüksek ve daha iyi bir bakış açısına sahip olmanızı sağlar.

Sınırlamalar ve Kısıtlamalar

  • Özel özellik oluşturma: Fleet Engine, özelleştirilebilen tanımlayabileceğiniz çeşitli özellikler içerir. Satış temsilcinizle iletişime geçerek bu sınırların artırılmasını isteyebilirsiniz.
  • Filtreleme özellikleri: Filtreleme esnekliği sunarken görev özellikleri temel görev veri alanlarının yerine geçmez. Şunlar için kullanın: Özel ihtiyaçlarınıza göre ek filtreleme yapabilirsiniz.
  • Her özelliğin benzersiz bir anahtarı olmalıdır.
  • Kimliği tanımlayabilecek bilgiler veya diğer hassas bilgiler eklemeyin bilgi eklememeniz gerekir, çünkü bunlar kullanıcı tarafından görülebilir.
  • Veri doğrulama: Özel reklam öğenizin veri türlerini ve biçimlerini özellikleri, Fleet Engine'in gereksinimleriyle uyumludur.

Sırada ne var?