So sánh Optimize Tours và BatchOptimize Tours

API Tối ưu hoá tuyến đường hiển thị 2 phương thức:

  • OptimizeTours là một phương thức đồng bộ trả về một tuyến được tối ưu hoá trong phản hồi cho OptimizeToursRequest. Khách hàng phải duy trì kết nối với API Tối ưu hoá tuyến đường cho đến khi yêu cầu được xử lý và sẽ trả về OptimizeToursResponse hoặc lỗi.
  • BatchOptimizeTours là một phương thức không đồng bộ chấp nhận URI cho một OptimizeToursRequest trở lên và OptimizeToursResponse tương ứng thông báo, trả về tên tài nguyên của một Hoạt động chạy dài (LRO) (REST, gRPC) dùng để kiểm tra việc hoàn thành hàng loạt. OptimizeToursRequest được xử lý ở chế độ nền nên ứng dụng khách duy trì kết nối mở đến API Tối ưu hoá tuyến đường chỉ đủ thời gian để gửi BatchOptimizeToursRequest hoặc gọi GetOperation để kiểm tra LRO trạng thái. BatchOptimizeTours đọc các yêu cầu từ và ghi phản hồi vào Google Cloud Storage.

Trường hợp sử dụng

OptimizeTours thuận tiện cho việc giải quyết các yêu cầu nhỏ và đơn giản, hoặc các yêu cầu có thời gian giải quyết chỉ vài phút trở xuống. Duy trì sự tồn tại lâu dài các kết nối với Route Optimization API (API Tối ưu hoá tuyến đường) làm tăng nguy cơ bị gián đoạn trước khi có thể trả về một giải pháp.

BatchOptimizeTours có thể xử lý các yêu cầu lớn hơn và yêu cầu có thời gian giải quyết lâu hơn vì nó không đòi hỏi một kết nối lâu dài với Tuyến đường API Tối ưu hoá.

Hoạt động chạy trong thời gian dài

LRO được đọc từ API Tối ưu hoá tuyến đường bằng phương thức GetOperation để hãy kiểm tra trạng thái hoàn thành của lô. LRO bao gồm một thuộc tính done cho biết liệu quá trình xử lý toàn bộ lô đã hoàn tất hay chưa và một error để báo cáo các lỗi gặp phải trong quá trình xử lý. Nếu done là đúng và không có error, lô đã hoàn tất thành công. Sự hiện diện của error cho biết rằng một số hoặc toàn bộ lô không được xử lý thành công.

Sau đây là vòng đời điển hình của một yêu cầu BatchOptimizeTours:

  1. Gửi BatchOptimizeToursRequest đến API Tối ưu hoá tuyến đường. trả về tên tài nguyên của LRO.
  2. Cuộc thăm dò ý kiến GetOperation với tên tài nguyên LRO được trả về cho đến done hoặc Các thuộc tính error xuất hiện trong phản hồi LRO.
  3. Nếu giá trị done là true và không có lỗi, hãy đọc OptimizeToursResponses từ các URI Google Cloud Storage được chỉ định trong BatchOptimizeTours của bạn. Nếu có error, hãy kiểm tra lỗi rồi cập nhật OptimizeToursRequest tương ứng trong Google Cloud Storage và thử lại như phù hợp, tuỳ thuộc vào lỗi quan sát được.

Bạn có thể gửi nhiều yêu cầu OptimizeToursBatchOptimizeTours theo nhiều cách qua dòng lệnh hoặc sử dụng thư viện ứng dụng.

Tiếp theo: Tạo yêu cầu API