Tối ưu hóa hiệu suất

Bản dịch SOME/IP cơ bản được thiết kế để cung cấp một giải pháp có thể cập nhật nhằm tích hợp với các dịch vụ AUTOSAR. Thử thách chính đối với trình môi giới là dịch các thông báo và lệnh gọi RPC không xác định được tại thời điểm biên dịch. Để giải quyết vấn đề này, các bản cập nhật thời gian chạy giả định các bản bổ sung hoặc bản cập nhật động của các dịch vụ SDV, tương tự như cách các loại đơn vị mới được giới thiệu.

Giải pháp cho bản dịch động này dựa trên thông tin về loại thời gian chạy (RTTI). Trình môi giới sử dụng cấu hình từ tất cả các gói dịch vụ đã cài đặt và thực hiện bản dịch dựa trên phản ánh bằng cách sử dụng các lược đồ dữ liệu từ cấu hình đó.

Mặc dù bản dịch dựa trên RTTI mang lại sự linh hoạt, nhưng bản chất là chậm hơn các phương thức được biên dịch trước. Để tối ưu hoá các đường dẫn dữ liệu được tải nhiều, hãy sử dụng kỹ thuật bỏ qua bản dịch.

Để hỗ trợ việc sử dụng các thông báo lớn và thường xuyên, SDV cho phép bạn bỏ qua bản dịch và chuyển tiếp các byte được định dạng SOME/IP đến các gói dịch vụ của người tiêu dùng.

Gói dịch vụ xử lý tải trọng được định dạng SOME/IP, có thể sử dụng tải trọng hoặc dịch tải trọng sang protobuf.

Chỉ định message_translation_mode: INTERPRET_AS_BYTES cho sự kiện trong tệp ánh xạ SOME/IP để bỏ qua bản dịch. Xem ví dụ trong samples/some_ip/catalog/integration_test/byte_forward_someip.vsidl.

Lựa chọn đánh đổi phương thức dịch

Khi chọn phương thức dịch, hãy cân nhắc những lựa chọn đánh đổi sau:

  • Tương tác hệ thống: Các dịch vụ SDV khác không thể diễn giải các byte được chuyển tiếp ở định dạng SOME/IP nếu không biết thông tin chi tiết về định dạng thô. Ví dụ: SDV Telemetry không thể xử lý các trường riêng lẻ của những thông báo như vậy.

  • Nỗ lực bổ sung: Việc dịch tải trọng thô ở định dạng SOME/IP đòi hỏi nhà phát triển gói dịch vụ phải nỗ lực thêm.

Trình tạo thư viện

SDV cung cấp trình tạo tự động để dịch định dạng SOME/IP. Trình tạo này tạo thư viện dựa trên các định nghĩa và ánh xạ thông báo hiện có để dịch trực tiếp mà không cần phản ánh. Các gói dịch vụ sử dụng các byte SOME/IP được chuyển tiếp có thể sử dụng các thư viện được tạo.

Đề xuất: Chỉ sử dụng trình tạo nếu OEM của bạn xác định các sự kiện quan trọng về hiệu suất không thể dịch trong các yêu cầu về hiệu suất của dự án. Trong những trường hợp như vậy, OEM của bạn phải có cả định nghĩa protobuf và ánh xạ SOME/IP được dùng cho bản dịch dựa trên RTTI. Cấu hình tương tự này có thể đóng vai trò là dữ liệu đầu vào cho trình tạo. Để biết thêm thông tin chi tiết, hãy xem tệp README.md trong thư mục core_services/tools/someip_translation_generator/.