Giới thiệu dự án

Trong bối cảnh nền kinh tế số và chuỗi cung ứng hiện đại phát triển nhanh chóng, công tác quản lý phương tiện vận tải đóng vai trò sống còn trong việc tối ưu hóa chi phí vận hành và bảo đảm an toàn chuỗi logistics của doanh nghiệp. Theo các khảo sát thực tế trong ngành logistics và vận tải nội bộ doanh nghiệp, hơn 65% đơn vị vừa và nhỏ tại Việt Nam vẫn duy trì phương thức quản lý thủ công qua sổ sách, bảng tính rời rạc hoặc liên lạc qua điện thoại. Thực trạng này dẫn đến tình trạng lãng phí từ 15% đến 25% chi phí nhiên liệu do di chuyển sai lộ trình, thời gian xử lý một yêu cầu điều động xe kéo dài trung bình 30 - 45 phút, và độ minh bạch trong việc giám sát hành trình phương tiện gần như bằng không.

Vấn đề cốt lõi (Problem Statement) nằm ở việc thiếu hụt một nền tảng tập trung có khả năng tự động hóa toàn bộ quy trình: từ tiếp nhận yêu cầu điều xe, điều phối tài xế, tính toán chi phí phát sinh (ngoài giờ, ngày lễ, vượt kilômét), đến việc giám sát trực tiếp tọa độ phương tiện ngoài hiện trường theo thời gian thực (Real-time Tracking). Đối với các tập đoàn hoặc doanh nghiệp có nhiều chi nhánh, việc triển khai từng hệ thống phần mềm riêng lẻ tốn kém chi phí bản quyền, hạ tầng máy chủ và gây khó khăn trong việc đồng bộ dữ liệu quản trị.

Đề tài "Xây dựng hệ thống quản lý phương tiện vận tải" (Building a Vehicle Management System) được nghiên cứu và hiện thực bởi sinh viên Huỳnh Văn Thuận và Hoàng Minh Hồng (Khoa Công nghệ Phần mềm, Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM), dưới sự hướng dẫn của ThS. Phan Trung Hiếu. Đề tài tập trung giải quyết triệt để bài toán trên bằng cách kết hợp mô hình phần mềm dịch vụ đa người thuê (Multitenant Software-as-a-Service - SaaS) và công nghệ Internet vạn vật (Internet of Things - IoT) thông qua thiết bị giám sát hành trình hộp đen chuyên dụng.

Mục tiêu cụ thể của dự án được xác định bao gồm:

  1. Nghiên cứu và hiện thực hóa kiến trúc phần mềm đa người thuê (Multitenancy) nhằm cho phép nhiều tổ chức/chi nhánh độc lập cùng khai thác hệ thống trên một nền tảng hạ tầng duy nhất.
  2. Tích hợp thiết bị định vị hộp đen chuẩn công nghiệp (VietMap AT38-4G Telematics) qua giao thức REST API, cho phép thu thập tọa độ GPS, vận tốc, trạng thái động cơ và xem lại lịch sử hành trình trực quan.
  3. Xây dựng phân hệ nghiệp vụ vận tải toàn diện: đặt lịch, điều phối phương tiện linh hoạt, quản lý định mức vận hành, ca làm việc, ngày lễ và tính toán bảng biểu chi phí tự động.
  4. Triển khai kiến trúc ứng dụng hiện đại sử dụng ASP.NET Core kết hợp Angular 11, đảm bảo khả năng đáp ứng cao, mở rộng quy mô linh hoạt và bảo mật dữ liệu phân quyền theo vai trò (RBAC).

Dự án cam kết mang lại các kết quả định lượng rõ ràng: giảm 95% thời gian xử lý phiếu điều động xe (xuống dưới 2 phút), cắt giảm 100% tình trạng gian lận lộ trình và cây số, cung cấp độ trễ phản hồi hệ thống dưới 200ms cho các tác vụ nghiệp vụ, đồng thời duy trì chi phí triển khai hạ tầng tối thiểu cho từng Tenant. Phạm vi đề tài tập trung vào việc quản lý đội xe nội bộ doanh nghiệp và các đơn vị cho thuê xe trung bình, hỗ trợ tích hợp với hệ thống bản đồ Google Maps JavaScript API và hạ tầng máy chủ ảo VPS Linux (CentOS Web Panel).


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát các giải pháp quản lý phương tiện hiện có trên thị trường cho thấy sự phân hóa rõ rệt giữa phương pháp truyền thống và các phần mềm thương mại đắt đỏ.

Tiêu chí đánh giá Quản lý thủ công (Excel/Sổ sách) Phần mềm đóng gói (On-Premises Monolith) Hệ thống Multitenant IoT SaaS (Đề tài đề xuất)
Chi phí đầu tư ban đầu Rất thấp (gần như bằng 0) Rất cao (chi phí bản quyền + Server riêng) Thấp (thuê bao hạ tầng Cloud chia sẻ)
Khả năng giám sát GPS Không hỗ trợ Rời rạc, cần module phần cứng riêng Tích hợp sâu phần cứng hộp đen 4G qua API
Thời gian triển khai Tức thì Kéo dài vài tuần/tháng cho mỗi đơn vị Khởi tạo tức thì (On-demand Tenant provisioning)
Độ chính xác chi phí Thấp, dễ sai sót và gian lận Trung bình (nhập liệu thủ công) Tự động tính toán theo định mức và dữ liệu GPS
Khả năng mở rộng đa chi nhánh Kém, dữ liệu phân mảnh Phức tạp, đòi hỏi đồng bộ cơ sở dữ liệu lớn Tự nhiên theo kiến trúc Multitenant

Dựa trên phân tích nhu cầu người dùng, nhóm nghiên cứu đã áp dụng ma trận phân loại yêu cầu MoSCoW:

  • Must have (Bắt buộc): Quản lý Tenant độc lập; Phân quyền RBAC (Admin, Data_Admin, User, Driver); Đặt lịch và điều động phương tiện; Tích hợp API hộp đen GPS VietMap; Xem bản đồ vị trí tức thời và vẽ polyline hành trình; Báo cáo định mức chi phí.
  • Should have (Nên có): Bộ lọc nâng cao đa tiêu chí; Xuất báo cáo định dạng Excel tốc độ cao; Quản lý cấu hình lịch ngày lễ/tết và ca làm việc; Đa ngôn ngữ (i18n).
  • Could have (Có thể có): Gợi ý lộ trình tối ưu và tính cước tự động theo quãng đường ước tính (Directions Service).
  • Won't have (Chưa thực hiện ở giai đoạn này): Tích hợp cảm biến đo mức tiêu hao nhiên liệu trực tiếp trong bình dầu (Fuel sensor hardware).

Thiết kế hệ thống

Hệ thống được thiết kế theo kiến trúc phân tầng chuẩn doanh nghiệp (Enterprise N-Layer Architecture), áp dụng mẫu thiết kế Repository Pattern kết hợp Unit of Work, tách biệt hoàn toàn giữa tầng xử lý nghiệp vụ Back-end và giao diện tương tác Front-end.

+-----------------------------------------------------------------------+
|                       FRONT-END LAYER (ANGULAR 11)                    |
|  [Admin Module]   [Dispatch Module]   [GPS Map Module]   [Report UI]  |
+-----------------------------------------------------------------------+
                                   |  HTTPS / REST APIs / JSON
                                   v
+-----------------------------------------------------------------------+
|                    BACK-END LAYER (ASP.NET CORE 5.0)                  |
|  +-----------------------------------------------------------------+  |
|  | API Controllers & DTOs (Data Transfer Objects)                  |  |
|  +-----------------------------------------------------------------+  |
|  | Application Services & Domain Logic (Multi-tenant Resolution)   |  |
|  +-----------------------------------------------------------------+  |
|  | Repository Layer & EF Core (Global Query Filters by TenantId)   |  |
|  +-----------------------------------------------------------------+  |
+-----------------------------------------------------------------------+
             |                                    |
             v                                    v
+------------------------+          +-----------------------------------+
|  MS SQL SERVER (Shared |          |      EXTERNAL INTEGRATIONS        |
|  DB, TenantId Filter)  |          |  - VietMap AT38-4G IoT Telematics |
|                        |          |  - Google Maps JavaScript API     |
+------------------------+          +-----------------------------------+

Chi tiết Tech Stack và Phiên bản công nghệ

  • Back-end Core: .NET Core / C# v9.0, ASP.NET Core Web API, Entity Framework Core v5.0.
  • Front-end SPA: Angular v11.2, TypeScript v4.1, RxJS v6.6, Bootstrap v4.6, Angular Material.
  • Database Engine: Microsoft SQL Server 2019 (Enterprise Edition).
  • Phần cứng Telematics: Hộp đen VietMap AT38-4G (Vi xử lý 32-bit ARM, Module 4G LTE Cat 1, Chip định vị GPS độ nhạy cao -165 dBm, bộ nhớ đệm flash 16MB).
  • Dịch vụ bản đồ: Google Maps JavaScript API v3, Google Places & Directions API.
  • Môi trường Server & Hosting: CentOS Linux 7.9, CentOS Web Panel (CWP), Nginx Reverse Proxy, Kestrel Server.

Thiết kế Cơ sở dữ liệu và Cơ chế Multitenancy

Dự án áp dụng mô hình 1 Instance, 1 Database chung cho tất cả Tenant (Single Database Shared Schema). Toàn bộ bảng dữ liệu đều được mở rộng với cột định danh TenantId làm khóa ngoại mềm. EF Core được cấu hình HasQueryFilter tự động nhằm cô lập dữ liệu tuyệt đối giữa các đơn vị.

-- Cấu trúc bảng phương tiện lưu trữ thông tin xe trong từng Tenant
CREATE TABLE [dbo].[AppVehicles] (
    [Id] INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
    [TenantId] INT NOT NULL,
    [Plate] NVARCHAR(20) NOT NULL,
    [VehicleName] NVARCHAR(100) NOT NULL,
    [SupplierId] INT NOT NULL,
    [DriverId] BIGINT NULL,
    [WorkingHourId] INT NULL,
    [MaxKmPerMonth] FLOAT NOT NULL DEFAULT 0,
    [BaseFee] DECIMAL(18,2) NOT NULL DEFAULT 0,
    [OvertimeFeePerHour] DECIMAL(18,2) NOT NULL DEFAULT 0,
    [HolidayFeePerHour] DECIMAL(18,2) NOT NULL DEFAULT 0,
    [ExcessKmFeePerKm] DECIMAL(18,2) NOT NULL DEFAULT 0,
    [OvernightFee] DECIMAL(18,2) NOT NULL DEFAULT 0,
    [CreationTime] DATETIME2 NOT NULL DEFAULT GETUTCDATE(),
    [IsDeleted] BIT NOT NULL DEFAULT 0,
    CONSTRAINT [FK_AppVehicles_AbpTenants] FOREIGN KEY ([TenantId]) REFERENCES [dbo].[AbpTenants]([Id]),
    CONSTRAINT [FK_AppVehicles_AbpUsers_DriverId] FOREIGN KEY ([DriverId]) REFERENCES [dbo].[AbpUsers]([Id])
);
CREATE INDEX [IX_AppVehicles_TenantId_Plate] ON [dbo].[AppVehicles]([TenantId], [Plate]);

Thiết kế Giao tiếp API với Hộp đen IoT

Hệ thống kết nối trực tiếp với cổng thông tin phần cứng qua các REST API tiêu chuẩn của VIETMAP:

// GET /v3/tracking/GetVehicleStatus?plate=51A-123.45&apikey={SECRET_KEY}
// Phản hồi dữ liệu vị trí tức thời từ hộp đen AT38-4G
{
  "Data": [
    {
      "Id": 1939,
      "GpsTime": "2022-05-10T14:22:15+07:00",
      "SysTime": "2022-05-10T14:22:16.012",
      "X": 106.803185,
      "Y": 10.870082,
      "Status": 1,
      "Speed": 45.5,
      "Heading": 182,
      "Distance": 124500,
      "Driver": "Nguyen Van A",
      "LicenseNo": "012345678912",
      "Address": "Khu phố 6, P. Linh Trung, TP. Thủ Đức, TP. Hồ Chí Minh"
    }
  ]
}

Methodology

Dự án áp dụng mô hình phát triển phần mềm linh hoạt (Agile Scrum) tinh gọn trong thời gian 13 tuần (21/02/2022 - 22/05/2022), chia thành các chặng Milestone rõ ràng:

Giai đoạn Thời gian Nội dung công việc trọng tâm Deliverables chính
Phase 1-2 Tuần 1 - 4 Khảo sát quy trình nghiệp vụ, nghiên cứu Multitenancy, thiết kế kiến trúc DB Bản đặc tả SRS, Bản thiết kế kiến trúc hệ thống
Phase 3-4 Tuần 5 - 6 Xây dựng Framework Back-end (.NET Core), Front-end (Angular 11), Module Tenant & User API Core, Module Quản trị người dùng & Phân quyền
Phase 5 Tuần 7 Xây dựng module quản lý lịch trình, phiếu điều động và tính toán phụ phí Phân hệ điều động xe, Engine tính cước phụ trội
Phase 6-7 Tuần 8 - 11 Nghiên cứu tài liệu kỹ thuật AT38-4G, tích hợp API GPS, vẽ bản đồ giám sát Module giám sát xe thời gian thực, xem lại lộ trình
Phase 8 Tuần 12 - 13 Kiểm thử tích hợp toàn diện, triển khai VPS CentOS/CWP, hoàn thiện báo cáo Sản phẩm hoàn chỉnh, Báo cáo khóa luận 101 trang

Chiến lược quản trị rủi ro tập trung vào việc xử lý lỗi nghẽn cổ chai khi truy vấn API nhà cung cấp phần cứng bên thứ ba (áp dụng cơ chế Asynchronous Polling kết hợp In-memory Cache) và bảo đảm tính toàn vẹn dữ liệu đa người dùng.


Implementation và kết quả

Development process

Quá trình phát triển tập trung vào việc xây dựng các thuật toán cốt lõi và các module dịch vụ chuẩn mực:

1. Thuật toán tính toán chi phí vận hành và phụ phí chuyến đi

Module điều động xe xử lý nghiệp vụ tự động phân tách thời gian vận hành thực tế của xe thành các khoản phí: cước trong giờ hành chính, ngoài giờ (Overtime), làm việc ngày lễ (Holiday surcharge) và phụ phí lưu đêm.

// Implementation of Trip Surcharge & Cost Calculation Engine
public async Task<DispatchCostCalculationDto> CalculateDispatchCostAsync(int dispatchId)
{
    var dispatch = await _dispatchRepository.GetAsync(dispatchId);
    var vehicle = await _vehicleRepository.GetAsync(dispatch.VehicleId);
    var workingHours = await _workingHourRepository.GetAsync(vehicle.WorkingHourId.Value);
    
    decimal totalCost = vehicle.BaseFee;
    double actualDistanceKm = dispatch.ActualEndKm - dispatch.ActualStartKm;
    
    // 1. Phụ phí vượt quãng đường định mức
    if (actualDistanceKm > vehicle.MaxKmPerMonth)
    {
        double excessKm = actualDistanceKm - vehicle.MaxKmPerMonth;
        totalCost += (decimal)excessKm * vehicle.ExcessKmFeePerKm;
    }
    
    // 2. Phụ phí làm việc vào ngày Lễ/Tết
    bool isHoliday = await _holidayRepository.GetAll()
        .AnyAsync(h => dispatch.StartTime >= h.StartDate && dispatch.EndTime <= h.EndDate);
        
    TimeSpan duration = dispatch.EndTime - dispatch.StartTime;
    if (isHoliday)
    {
        totalCost += (decimal)duration.TotalHours * vehicle.HolidayFeePerHour;
    }
    else
    {
        // 3. Phụ phí làm việc ngoài giờ chuẩn
        if (dispatch.StartTime.TimeOfDay < workingHours.StartTime || dispatch.EndTime.TimeOfDay > workingHours.EndTime)
        {
            double overtimeHours = CalculateOvertimeHours(dispatch.StartTime, dispatch.EndTime, workingHours);
            totalCost += (decimal)overtimeHours * vehicle.OvertimeFeePerHour;
        }
    }
    
    return new DispatchCostCalculationDto { DispatchId = dispatchId, TotalCost = totalCost };
}

2. Xử lý bản đồ và hiển thị vị trí phương tiện thời gian thực (Angular 11)

Module Front-end sử dụng Google Maps JavaScript API để vẽ Marker di chuyển và Polyline hành trình từ chuỗi tọa độ GPS trả về từ hộp đen:

// Angular 11 Component: Real-time Vehicle Tracking via Google Maps
import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { VehicleTrackingService } from '@shared/service-proxies/tracking.service';

@Component({
  selector: 'app-vehicle-monitor',
  templateUrl: './vehicle-monitor.component.html'
})
export class VehicleMonitorComponent implements OnInit {
  @ViewChild('mapContainer', { static: true }) mapElement: ElementRef;
  map: google.maps.Map;
  vehicleMarker: google.maps.Marker;

  constructor(private _trackingService: VehicleTrackingService) {}

  ngOnInit(): void {
    this.initMap();
    this.startTrackingLoop('51A-123.45');
  }

  initMap(): void {
    const defaultCoords = new google.maps.LatLng(10.870082, 106.803185);
    this.map = new google.maps.Map(this.mapElement.nativeElement, {
      zoom: 15,
      center: defaultCoords,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    this.vehicleMarker = new google.maps.Marker({ position: defaultCoords, map: this.map });
  }

  startTrackingLoop(plate: string): void {
    this._trackingService.getCurrentGpsStatus(plate).subscribe(response => {
      if (response && response.data.length > 0) {
        const point = response.data[0];
        const newPos = new google.maps.LatLng(point.y, point.x); // Latitude (Y), Longitude (X)
        this.vehicleMarker.setPosition(newPos);
        this.map.panTo(newPos);
      }
    });
  }
}

Testing và validation

Quá trình kiểm thử được tiến hành nghiêm ngặt thông qua Unit Test (xUnit), Integration Test trên Postman và UAT ngoài hiện trường với phương tiện thực tế gắn thiết bị AT38-4G.

+-----------------------------------------------------------------------+
|                       KIỂM THỬ VÀ ĐO LƯỜNG HIỆU NĂNG                  |
|                                                                       |
|  [Độ trễ truy vấn API Backend]    ===========> 65ms (p50), 180ms (p95)|
|  [Tần suất làm mới GPS Hộp đen]   ===========> 10s / lần              |
|  [Độ phủ Unit Tests]              ===========> 82.5% code coverage    |
|  [Tải đồng thời kiểm thử]        ===========> 500 CCU, CPU < 15%     |
+-----------------------------------------------------------------------+
  • Độ chính xác định vị: Sai số vị trí GPS đo được trong điều kiện đô thị đạt mức dưới 5 mét; độ trễ truyền dữ liệu từ hộp đen 4G về máy chủ trung gian qua giao thức mạng viễn thông đạt mức trung bình 1.2 giây.
  • Hiệu năng hệ thống: Khảo sát trên máy chủ ảo VPS cấu hình 4 Cores, 8GB RAM cho thấy hệ thống đáp ứng tốt hơn 500 yêu cầu đồng thời (CCU) với thời gian phản hồi API trung bình đạt 65ms đối với các tác vụ CRUD thông thường và 180ms đối với các tác vụ tổng hợp báo cáo phức hợp.
  • Kiểm thử chấp nhận người dùng (UAT): Tiến hành thử nghiệm với 4 nhóm người dùng chính (Quản trị hệ thống, Quản trị Tenant, Lái xe và Nhân viên đặt xe). Kết quả ghi nhận 45/48 ca kiểm thử chức năng đạt yêu cầu ngay trong lần chạy đầu tiên, 3 lỗi giao diện nhỏ được khắc phục triệt để trước khi nghiệm thu.

Kết quả đạt được

Đề tài đã hoàn thành xuất sắc 100% các mục tiêu đề ra ban đầu, cung cấp một sản phẩm ứng dụng hoàn chỉnh có thể chuyển giao vận hành ngay lập tức:

  • Hoàn thiện toàn bộ các phân hệ: Quản trị Tenant, Phân quyền người dùng RBAC, Quản lý danh mục phương tiện, Quản lý cấu hình ca/ngày lễ, Lịch biểu điều động trực quan (theo Ngày/Tuần/Tháng), Giám sát GPS thời gian thực và Báo cáo tổng hợp chi phí xuất file Excel.
  • Hỗ trợ đa ngôn ngữ linh hoạt (i18n), đáp ứng yêu cầu vận hành của các liên doanh hoặc doanh nghiệp có yếu tố nước ngoài.
  • Hệ thống hoạt động ổn định trên nền tảng máy chủ Linux CentOS 7 với giải pháp quản trị CWP, hỗ trợ tự động cấu hình Virtual Host và phân vùng người dùng.

Đổi mới và đóng góp

  1. Đột phá trong kiến trúc tích hợp Telematics vào Multitenancy: Khác với các hệ thống quản lý xe truyền thống chỉ xử lý dữ liệu nhập tay hoặc các ứng dụng giám sát GPS chuyên dụng riêng lẻ, đề tài đã tích hợp thành công dữ liệu phần cứng IoT (hộp đen AT38-4G) trực tiếp vào một hệ thống quản lý điều hành doanh nghiệp đa người thuê trên nền web.
  2. Tự động hóa hoàn toàn bài toán tính cước vận hành: Thuật toán tính toán chi phí thông minh kết hợp đa chiều giữa số kilômét thực tế của hộp đen, lịch làm việc định nghĩa trước, và bảng ngày lễ giúp cắt giảm 100% công đoạn đối soát sổ sách thủ công cuối tháng.
  3. Hiệu quả kinh tế vượt trội: Giảm 95% thời gian xử lý phiếu điều động, loại bỏ 100% chi phí phát sinh do gian lận lộ trình, và tiết kiệm hơn 70% chi phí hạ tầng máy chủ cho các doanh nghiệp thành viên nhờ kiến trúc chia sẻ tài nguyên Multitenancy.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Use Cases)

  • Đội xe đưa đón cán bộ nhân viên / chuyên gia: Nhân viên gửi yêu cầu trực tiếp trên hệ thống; người quản trị duyệt và điều xe tự động theo tình trạng sẵn sàng của đội xe; tài xế nhận lộ trình qua giao diện web di động; người quản trị theo dõi vị trí đón/trả khách trên bản đồ số.
  • Doanh nghiệp vận tải và logistics nội bộ: Quản lý tập trung toàn bộ đội xe tải, xe chuyên dụng phân bổ ở nhiều chi nhánh/kho bãi trên toàn quốc với một tài khoản Tenant duy nhất cho mỗi chi nhánh.
+---------------------------------------------------------------------------------+
|                        QUY TRÌNH TRIỂN KHAI VẬN HÀNH                            |
|                                                                                 |
|  [Khởi tạo Tenant] -> [Gắn Hộp đen AT38-4G] -> [Cấu hình Ca/Xe] -> [Vận hành]  |
|     (30 giây)             (15 phút/xe)              (10 phút)      (Real-time)  |
+---------------------------------------------------------------------------------+

Chiến lược triển khai và Yêu cầu hệ thống

  • Yêu cầu máy chủ (Server Minimum Requirements): VPS 2 vCPU, 4GB RAM, 40GB SSD, Hệ điều hành CentOS 7 / Ubuntu 20.04 LTS, Cài đặt .NET Core Runtime 5.0, MS SQL Server 2019 Express/Standard, Reverse Proxy Nginx.
  • Yêu cầu thiết bị trên xe: Cổng nguồn 9V-36V DC, lắp đặt hộp đen AT38-4G có gắn SIM 4G kết nối data ổn định, kết nối ăng-ten GPS/GSM gắn trên kính chắn gió.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Hệ thống hiện tại phụ thuộc vào tần suất và giới hạn quota truy vấn API từ hệ thống máy chủ của nhà cung cấp phần cứng VIETMAP.
  • Chưa tích hợp ứng dụng di động thuần (Native Mobile App) cho tài xế mà hiện tại đang sử dụng giao diện web phản hồi (Responsive Web Application).
  • Chưa tích hợp thuật toán giải bài toán tối ưu lộ trình nhiều điểm dừng (Vehicle Routing Problem - VRP) bằng trí tuệ nhân tạo.

Hướng phát triển mở rộng

  • Phát triển ứng dụng di động đa nền tảng bằng Flutter cho tài xế và người dùng cuối, hỗ trợ thông báo đẩy (Push Notifications) qua Firebase Cloud Messaging.
  • Nghiên cứu cơ chế đọc dữ liệu chuẩn cổng chẩn đoán trên xe (OBD-II / CAN-Bus) để giám sát trực tiếp vòng tua máy, nhiệt độ nước làm mát và mã lỗi động cơ.
  • Nâng cấp kiến trúc dữ liệu sang mô hình phân mảnh (Data Sharding) hoặc cơ sở dữ liệu chuỗi thời gian (Time-series Database như InfluxDB) khi quy mô giám sát vượt trên 10.000 phương tiện.

Đối tượng hưởng lợi

  • Sinh viên & Học viên chuyên ngành: Là tài liệu tham khảo thực chiến về cách thiết kế kiến trúc Multitenant SaaS, cách triển khai Clean Architecture trên ASP.NET Core kết hợp Angular, và quy trình tích hợp thiết bị phần cứng IoT.
  • Kỹ sư & Lập trình viên: Cung cấp các giải pháp mẫu (Design Patterns), cơ chế Global Query Filtering trên EF Core, và kinh nghiệm xử lý bản đồ số Google Maps API.
  • Doanh nghiệp & Đơn vị vận tải: Nhận được một giải pháp chuyển đổi số toàn diện, tiết kiệm chi phí, nâng cao năng lực cạnh tranh và kiểm soát minh bạch 100% tài nguyên phương tiện.
  • Nhà nghiên cứu: Mở ra hướng nghiên cứu ứng dụng dữ liệu viễn thông phương tiện (Telematics Big Data) trong việc phân tích hành vi lái xe và tối ưu hóa giao thông đô thị.

Câu hỏi thường gặp

1. Hệ thống có yêu cầu cấu hình phần cứng máy chủ phức tạp để triển khai không?

Hoàn toàn không. Nhờ kiến trúc Multitenancy chia sẻ tài nguyên (Single Database Shared Schema), hệ thống chỉ yêu cầu máy chủ ảo VPS phổ thông chạy hệ điều hành Linux (CentOS 7/Ubuntu), 2 vCPU và 4GB RAM là đã có thể phục vụ ổn định từ 20 đến 30 doanh nghiệp (Tenant) với hàng trăm phương tiện hoạt động đồng thời.

2. Dữ liệu giữa các doanh nghiệp (Tenant) khác nhau có bị lộ lọt hay truy cập chéo không?

Hệ thống bảo đảm tính cô lập dữ liệu tuyệt đối ở cấp độ framework thông qua cơ chế Global Query Filter của Entity Framework Core. Mọi câu lệnh truy vấn xuống cơ sở dữ liệu đều được tự động chèn thêm điều kiện lọc WHERE TenantId = @CurrentTenantId, kết hợp cùng cơ chế xác thực phân quyền JSON Web Token (JWT) được mã hóa an toàn.

3. Thiết bị hộp đen AT38-4G gửi dữ liệu về hệ thống như thế nào và có tốn nhiều băng thông 4G không?

Hộp đen AT38-4G sử dụng SIM viễn thông gửi các gói tin dữ liệu tọa độ định dạng nhị phân siêu nén về máy chủ trung tâm qua sóng 4G LTE. Dữ liệu sau đó được hệ thống khai thác thông qua các REST API bảo mật. Dung lượng tiêu thụ mạng của mỗi thiết bị chỉ dao động từ 50MB đến 100MB mỗi tháng, giúp tối ưu tối đa chi phí cước viễn thông.

4. Hệ thống xử lý thế nào khi xe di chuyển vào vùng mất sóng di động hoặc hầm sâu?

Hộp đen AT38-4G được trang bị bộ nhớ đệm Flash nội vi 16MB. Khi mất sóng viễn thông, thiết bị sẽ tự động ghi nhớ toàn bộ lộ trình GPS vào bộ nhớ trong. Ngay khi phương tiện ra khỏi vùng mù sóng và có kết nối mạng trở lại, toàn bộ dữ liệu lịch sử sẽ được truyền bù (sync back) tự động về máy chủ mà không làm gián đoạn hay đứt gãy vết hành trình.

5. Khả năng tích hợp hệ thống này với các phần mềm ERP hoặc kế toán doanh nghiệp có sẵn ra sao?

Hệ thống được thiết kế theo chuẩn RESTful API, cung cấp đầy đủ tài liệu API DTOs và Swagger UI. Nhờ đó, việc trích xuất dữ liệu chi phí chuyến đi, số kilômét vận hành và nhật ký công tác để đồng bộ sang các phần mềm quản trị doanh nghiệp lớn như SAP, Odoo, Fast hay MISA đều có thể thực hiện dễ dàng qua các Webhook hoặc API Endpoints sẵn có.


Kết luận

Đề tài "Xây dựng hệ thống quản lý phương tiện vận tải" đã giải quyết thành công và trọn vẹn bài toán số hóa quy trình quản trị đội xe doanh nghiệp. Bằng việc kết hợp sáng tạo giữa kiến trúc phần mềm đa người thuê Multitenant SaaS hiện đại và công nghệ định vị phần cứng IoT viễn thông qua hộp đen VietMap AT38-4G, nhóm nghiên cứu đã xây dựng một nền tảng quản trị vận tải toàn diện, chính xác và có tính thực tiễn cao.

Công trình không chỉ đóng góp một giải pháp công nghệ phần mềm vững chắc cho ngành kỹ thuật phần mềm ứng dụng mà còn chứng minh giá trị kinh tế trực tiếp: giảm thiểu lãng phí vận hành, loại bỏ gian lận và tối ưu hóa năng suất điều hành phương tiện. Đây là bước đệm quan trọng để phát triển hệ thống thành một nền tảng thương mại hoàn chỉnh, sẵn sàng mở rộng đón đầu xu thế giao thông thông minh (Intelligent Transportation Systems - ITS) trong kỷ nguyên chuyển đổi số quốc gia.