Tôi đang thiết kế một hệ thống mà từ đó tôi sẽ đồng bộ hóa dữ liệu kinh doanh từ thiết bị di động (có ứng dụng nhúng) để tạo dữ liệu và gửi lại cho máy chủ. Mỗi dòng được đồng bộ hóa tạo ra một nhật ký kinh doanh cụ thể trong cơ sở dữ liệu.
Nếu những gì tôi đồng bộ hóa tạo dữ liệu với một ngày (trong dữ liệu đồng bộ hóa) thấp hơn ngày sửa đổi cuối cùng của dữ liệu doanh nghiệp của tôi, tôi phải bỏ qua nó và chỉ cần thêm cơ sở dữ liệu đăng nhập. Khi dữ liệu đã tải lên được xử lý, dữ liệu sẽ được tìm nạp từ cơ sở dữ liệu và được tải xuống thiết bị.
Do tải xuống này ngay sau khi viết, đồng bộ hóa phải được đồng bộ. Vẫn có thể có mẫu người đọc / người viết nếu một cái gì đó như thế này đủ giá trị để thay thế giải pháp hiện tại của tôi. Điều quan trọng hơn là có thể tải xuống dữ liệu cập nhật. Dữ liệu đó được tìm nạp toàn bộ, hiện tại không có khác biệt nào được thực hiện (nó có thể đến sau nhưng điều đó sẽ không thành vấn đề).
Tôi có thể có nhiều đồng bộ hóa trên cùng một đối tượng kinh doanh đang chạy, điều đó không thể xảy ra nhưng có thể xảy ra và tôi thích có thể xử lý nó. Việc đồng bộ hóa dự kiến sẽ kéo dài trong vài giây nhưng không phải vài phút, trừ khi sử dụng ứng dụng di động nhúng mà không đồng bộ lại trong một số ngày.
Khối lượng dữ liệu được đồng bộ hóa dự kiến sẽ không lớn, cả quá trình đồng bộ hóa.
Vì vậy, cuối cùng tôi sử dụng loại trừ lẫn nhau trên phương thức đồng bộ hóa của mình, chính xác hơn là tôi đang sử dụng Java và tôi đã đặt đồng bộ hóa vào phương thức viết chứ không phải toàn bộ quá trình đồng bộ hóa để không chặn đồng bộ hóa chỉ đọc.
Tôi muốn biết :
- Nếu cách này có ý nghĩa? Miễn là khối lượng và thời gian của quá trình đồng bộ hóa vẫn được chấp nhận.
- Nói một cách tổng quát, tôi nên xem xét những khái niệm nào. Phần thưởng: nếu có bất kỳ triển khai các khái niệm này trong mô-đun Spring.