Bỏ qua điều hướng
Blog

Đồng bộ tăng dần: xử lý bản ghi đã xóa trước khi chốt dữ liệu

Đồng bộ tăng dần cần nhận diện bản ghi đã xóa, lưu checkpoint đúng lúc và kiểm tra khôi phục. Đừng coi bản ghi vắng trong một trang là bằng chứng để xóa.

Chia sẻFacebookLinkedInZalo
Đồng bộ tăng dần: xử lý bản ghi đã xóa trước khi chốt dữ liệu
Nội dung bài viết

Dữ liệu mới và dữ liệu sửa đã xuất hiện ở hệ thống đích, nhưng khách hàng bị xóa ở nguồn vẫn còn hoạt động. Đây là lỗ hổng thường bị bỏ qua khi nghiệm thu đồng bộ tăng dần. Chỉ lấy các bản ghi có thời gian cập nhật mới không mặc nhiên nhận được mọi hành động xóa.

Đồng bộ tăng dần: xử lý bản ghi đã xóa trước khi chốt dữ liệu — quy trình nghiệm thu đề xuất
Sơ đồ quy trình đề xuất; không phải ảnh giao diện hoặc kết quả khách hàng.

Không thấy bản ghi chưa phải đã xóa

Bản ghi vắng có thể do bộ lọc, quyền đọc, phân trang chưa hết hoặc nguồn tạm lỗi. Không biến một danh sách thiếu thành lệnh xóa hàng loạt. Cần tín hiệu được nhà cung cấp mô tả: sự kiện xóa, trạng thái ngừng hoạt động, tombstone hoặc cơ chế đối chiếu đầy đủ đã được duyệt.

Microsoft Graph có delta query để theo dõi thay đổi, gồm tạo, sửa và xóa ở những resource được hỗ trợ. Cần đọc tài liệu riêng của resource: dấu hiệu removed/deleted, vòng đời token và cách phân trang không hoàn toàn giống nhau ở mọi endpoint. Không lấy một mẫu của driveItem để áp dụng nguyên xi cho danh sách người dùng.

Sổ xử lý xóa cần tách tín hiệu và quyết định

Dữ liệu ghi nhận Quyết định cần duyệt
ID nguồn và phạm vi đồng bộ Bản ghi nào thuộc quyền quản lý của connector?
Tín hiệu xóa và mốc thay đổi Xóa thật hay mất quyền/ra khỏi phạm vi?
Trạng thái tại đích Khóa sử dụng, đánh dấu ngừng hay xóa vật lý?
Liên kết đang tham chiếu Hóa đơn, lịch sử và hồ sơ cần giữ gì?
Kết quả áp dụng và checkpoint Đã ghi bền vững trước khi tiến mốc chưa?
Khả năng phục hồi Khôi phục cùng ID hay tạo đối tượng mới?

Ví dụ giả định: nguồn xóa một nhà cung cấp

Nhà cung cấp SUP-17 bị xóa ở nguồn nhưng hệ thống đích còn chứng từ lịch sử. Chính sách có thể là ngừng cho chọn SUP-17 ở giao dịch mới và giữ tham chiếu cũ. Đây là quyết định nghiệp vụ được duyệt, không phải mặc định nên xóa vật lý mọi bản ghi liên quan.

Nếu một batch có 20 thay đổi và ghi tới thay đổi thứ 12 thì lỗi, không nên chốt checkpoint như đã áp dụng cả batch. Thiết kế cụ thể có thể dùng transaction, sổ áp dụng hoặc cơ chế durable khác. Điều cần chứng minh là chạy lại không mất thay đổi và không tạo tác dụng kép ngoài ý muốn.

Năm ca kiểm tra giúp chặn xóa nhầm

  • Tín hiệu xóa hợp lệ: áp dụng đúng policy tại đích.
  • Mất quyền đọc: báo phạm vi thay đổi, không tự diễn giải thành xóa.
  • Trang kế tiếp lỗi: không chốt vòng đồng bộ hoàn tất.
  • Chạy lại tombstone: không phá lịch sử hoặc tạo tác dụng kép.
  • Token hết hiệu lực hoặc bản ghi được khôi phục: làm theo quy trình resource đã duyệt.

Delta không thay thế backup hoặc chính sách lưu dữ liệu. Nếu phải đọc lại toàn bộ sau khi token không còn dùng được, cần xác định phạm vi và cách đối chiếu an toàn; không tự xóa phần “không thấy” trong một lượt đọc chưa đầy đủ.

Chốt yêu cầu trước khi sửa connector

Chuẩn bị vài ID giả lập hoặc đã khử dữ liệu, policy tại đích và tài liệu resource khi trao đổi phạm vi gia công phần mềm. Nếu lỗi liên quan cập nhật đến ngược thứ tự, đọc riêng cách xử lý webhook đến sai thứ tự; checkpoint và phiên bản đối tượng cần được kiểm cùng nhau nhưng không phải một khái niệm.

Nguồn tham khảo và giới hạn

Tài liệu chính thức 1. Quy trình, bảng và ví dụ trong bài là đề xuất nghiệm thu; ví dụ giả định không phải dự án hoặc kết quả khách hàng của Onter. Phạm vi triển khai cần xác nhận theo hệ thống hiện hữu.

Tài khoản Onter

Đăng nhập rồi tiếp tục việc đang làm.

Mở trang đăng nhập riêng nếu trình duyệt chưa hiển thị biểu mẫu.

Contact Me on Zalo