Khung đồng bộ hóa đồng bộ hóa dữ liệu trên cơ sở từng bảng, nhưng các thực thể của tôi được chuẩn hóa trên các tập hợp các bảng cha-con có liên quan. Điều này tạo ra các vấn đề cho ứng dụng của tôi, nơi một hàng cha mẹ có thể xuất hiện trên máy chủ được xử lý, nhưng các hàng con có thể không xuất hiện trong vài giây. Nếu có sự cố kết nối giữa ứng dụng khách và máy chủ của tôi, các hàng con có thể không xuất hiện trong một thời gian.Với MS Sync Framework 2.0, làm thế nào tôi có thể xử lý tốt nhất các bảng liên quan?
Tôi làm cách nào để thiết kế ứng dụng của mình để xử lý các bảng con được đồng bộ hóa riêng biệt với bảng cha?
Kịch bản cụ thể mà tôi đang xem đang nhận đơn đặt hàng công việc trên máy chủ từ hệ thống phụ trợ để phân phối cho các kỹ sư trong trường sử dụng máy tính bảng hoặc PDA. Các lệnh làm việc này là các thực thể phức tạp, lớn có thể bao gồm nửa tá bảng. Các kỹ sư hoàn thành công việc của họ, đồng bộ các kết quả và máy chủ trả về thứ tự công việc đã hoàn thành cho hệ thống phụ trợ.
Một vài ý tưởng của riêng tôi cho đến thời điểm này được đăng bên dưới.
Âm thanh như vậy có thể hoạt động, nhưng nó sẽ mở rộng như thế nào? Khung Sync sẽ vẫn đồng bộ tất cả các đơn đặt hàng, sau đó tất cả các chi tiết đặt hàng? Điều gì sẽ xảy ra nếu tôi có 100 Đơn đặt hàng mới với 100 mặt hàng? Nếu có một lỗi trên 99, nó sẽ quay trở lại tất cả mọi thứ? –
Câu trả lời này không giải quyết các vấn đề cố hữu trong đồng bộ hóa từng bảng: Điều gì sẽ xảy ra nếu tôi phải đồng bộ 20 bảng có liên quan? Tôi có đồng bộ toàn bộ cơ sở dữ liệu trong một giao dịch không? Nếu tôi đặt nhiều bảng trong một giao dịch, tôi sẽ thực hiện giao dịch lâu hơn nữa. Nếu nó hết thời gian, tôi sẽ không thể đồng bộ hóa bất cứ điều gì. -1. –
Khi xây dựng các ứng dụng mà bạn dự định có một số đồng bộ hóa, bạn phải tính đến điều đó khi thiết kế dữ liệu ứng dụng. Bởi chính bản chất của lý do bạn muốn làm đồng bộ. tức là, bạn bị ngắt kết nối tại một thời điểm hoặc liên kết không thành công (nói một liên kết 3g) tại một thời điểm nào đó. Nếu bạn thiết kế ứng dụng cần phải có 20 bảng tất cả trong bước, thì có bạn phải thiết kế có một giao dịch chạy dài, và, như bạn nói nó không thành công thì bạn cần phải cuộn tất cả trở lại .. một cách ra là xây dựng một hệ thống loại tệp nhật ký nơi bạn viết thay đổi, giả sử bằng trình kích hoạt cho một bảng, sau đó đồng bộ hóa .. – JohnnyJP