Công nghệ
Hệ thống được xây trên hai lớp trừu tượng tách biệt hoàn toàn khỏi lõi xử lý: một cho nguồn ảnh (thiết bị), một cho năng lực phân tích (mô hình AI/CV). Cách chia này cho phép hệ thống mở rộng sang phần cứng mới hoặc bài toán kiểm tra mới bằng cách viết thêm plugin, để yên lõi đã kiểm thử.
Kiến trúc pipeline
Một sự kiện đi từ thiết bị vật lý đến màn hình vận hành qua sáu chặng. Hai chặng ở giữa, DeviceProvider và AnalysisEngine, là điểm mở duy nhất của hệ thống.
Vì sao có hai lớp trừu tượng
DeviceProvider
Tách hoàn toàn logic lấy hình ảnh/video khỏi phần còn lại của hệ thống. Thêm một dòng camera mới, một đầu đọc mã, hay một máy POS nghĩa là viết một provider mới tuân theo interface có sẵn, không đụng đến worker, API hay giao diện đang chạy production.
AnalysisEngine
Tách logic suy luận (mô hình đếm vật thể, phân loại đúng/sai, mô hình ngôn ngữ-thị giác) khỏi phần điều phối tác vụ. Một nghiệp vụ kiểm tra mới là một engine mới cắm vào cùng interface; pipeline giữ nguyên.
Chiến lược suy luận: biên vs. máy chủ
Đây là một đánh đổi kỹ thuật thật, không có lựa chọn đúng tuyệt đối. Chúng tôi triển khai suy luận tại máy chủ trước vì nó cho vòng lặp cập nhật mô hình nhanh nhất, và để ngỏ đường sang suy luận tại biên cho các trường hợp mà chính sách dữ liệu hoặc băng thông không cho phép.
Suy luận tại máy chủ
Cập nhật mô hình tức thời cho toàn bộ hệ thống, không cần đẩy firmware xuống từng thiết bị. Dễ giám sát, dễ rollback.
Cần băng thông ổn định để đẩy hình ảnh/video lên, và có độ trễ mạng cộng thêm vào SLA xử lý.
Suy luận tại biên (ví dụ: Axis ACAP)
Chưa triển khai. Nếu làm, độ trễ sẽ thấp hơn và hình ảnh không cần rời khỏi thiết bị, phù hợp khi chính sách dữ liệu khách hàng cấm đưa hình sản xuất ra ngoài mạng nội bộ.
Cập nhật mô hình sẽ phức tạp hơn (đóng gói và nạp lại theo từng thiết bị/hãng), và bị giới hạn bởi tài nguyên tính toán trên chip biên.
Ma trận tích hợp thiết bị & giao thức
Giao thức tích hợp theo từng dòng thiết bị. Mức độ triển khai cụ thể của từng dòng được ghi trong cột ghi chú.
| Dòng thiết bị | Giao diện tích hợp | Ghi chú |
|---|---|---|
| Camera IP chuẩn mở | ONVIF Profile S · RTSP | Live view, snapshot định kỳ, ghi và trích xuất clip theo mốc thời gian. |
| Axis | VAPIX · ONVIF | Điều khiển thiết bị và lấy luồng hình đã kiểm thử trong POC nội bộ. Chưa có quan hệ đối tác chính thức với Axis. |
| Axis - AI tại biên | ACAP | Đưa AnalysisEngine chạy trực tiếp trên camera qua nền tảng ACAP. Định hướng kỹ thuật, chưa triển khai. |
| Hikvision | ISAPI · SDK | Tích hợp luồng hình và quản lý thiết bị đã kiểm thử trong POC nội bộ. |
| Hộp xử lý biên | x86 · NVIDIA Jetson | Suy luận tại chỗ khi băng thông hoặc chính sách dữ liệu không cho phép đẩy hình lên máy chủ. |
| Thiết bị bán hàng | POS · máy quét mã · in QR | Thuộc giai đoạn kế tiếp của nền tảng, hướng tới kiểm soát hàng hoá tại điểm bán. |
126/126 kịch bản test tự động
Kiểm định độc lập trên 8 test suite, bao phủ từ unit test của từng module đến toàn bộ luồng dữ liệu và các kịch bản đầu vào lỗi.
10
Suite unit/integration backend: Models, Engines, Workers, APIs
99
Kịch bản E2E: toàn bộ luồng Upload → Process → Storage → Query
27
Test áp lực & dữ liệu bất thường: file hỏng, mã QR mờ, mất kết nối mạng
Xử lý lỗi minh bạch
Hệ thống không có đường fallback âm thầm và không nuốt exception ở bất kỳ tầng nào. Toàn bộ lỗi nghiệp vụ và lỗi hệ thống đi qua một hệ phân cấp ngoại lệ dùng riêng gọi là SOAIException, để đảm bảo mọi sự cố (DB lỗi, file hỏng, mã QR mờ, FFmpeg thất bại, mất kết nối camera) đều quăng ra lỗi minh bạch, không bị bắt và bỏ qua.
Mỗi lỗi trả về một HTTP response tuân theo chuẩn RFC kèm mã lỗi rõ nghĩa, đồng thời ghi log chi tiết ở phía server. Trong giám sát sản xuất, một con số sai mà không ai biết là sai luôn tệ hơn một lỗi hiện ra ngay lập tức.
Muốn xem sâu hơn?
Chúng tôi có thể trao đổi trực tiếp với đội kỹ thuật của bạn về kiến trúc, kết quả kiểm thử, hoặc khả năng tích hợp với thiết bị cụ thể.