Vấn đề đồng bộ hoá dữ liệu giữa android và server

Chào mọi người, mình đang làm luận văn tốt nghiệp, project của mình có tính năng đồng bộ dữ liệu giữa thiết bị android (dùng sqlite) và server. Mình search thì chỉ toàn những hướng dẫn về sync data giữa sqlite trên android và mysql trên server, mà khổ nỗi server mình đã code rồi và lại dùng mongo db. Search cách làm mà ko ra. Mọi người có ai làm qua trường hợp này chưa, chỉ giáo mình với ngoại trừ cách đổi db trên server thành mysql nhé

1 Like

Tại sao client lại phải quan tâm server lưu dữ liệu như thế nào nhỉ, cái mà client cần quan tâm chính là api mà server mở ra cho client sử dụng, chứ không phải là implement cụ thể của server, nếu bạn đang cố biến client thành server thứ hai thì bạn đang đi sai hướng rồi đấy.

1 Like

Ý mình ở đây là mình chưa bik bắt đầu từ đâu để làm cái này? mình tìm trên mạng thì thấy câu trả lời trong trường hợp sqlite ở client và mysql ở server. MÌNH chưa bik cách apply vào trường hợp của mình như thế nào cả

1 Like

đây là 1 mô hình sync dữ liệu giữa mysql và sqlite giữa server và client nhưng có thể dùng cho bất kì loại client - server nào.

key ở đây không phải là server lưu dữ liệu như thế nào, hay client lưu dữ liệu như thế nào, mà là cách chúng nó giao tiếp và cấu trúc dữ liệu gửi đi là gì. Thứ bạn cần quan tâm chính là đưa ra được 1 bộ api thích hợp để:

  1. thông báo client khi có thay đổi data.
  2. cấu trúc của data gửi xuống client là gì để client có thể hiểu được, thường là dạng Json với các key-value, sử dụng kết hợp json object và json array sẽ cho phép bạn biểu diễn các bảng trong mysql và ngược lại.
  3. lưu thay đổi từ client lên server.
  4. Giao tiếp giữa client và server dùng Json.

Điều này cho phép bạn implement bất kì loại database nào trên server cũng được miễn là server exact data ra và gửi đi theo cùng 1 cấu trúc json. client sẽ phải phân tích json đó ra và insert vào db local của nó theo cách của nó.

DB server -> json -> DB client

Thử tưởng tượng vui như thế này. Bạn cần chép 1 quyển sách tiếng Lào sang tiếng Việt, nhưng bạn không biết tiếng Lào nên bạn nhờ 1 thằng Lào dịch sang tiếng Anh (vì thằng này không biết tiếng Việt) cho bạn để bạn chép lại bằng tiếng Việt, bạn có cần quan tâm chữ Lào viết thế nào không, thứ bạn cần quan tâm là nội dung của nó là gì bằng tiếng Anh rồi bạn tự ghi lại bằng tiếng Việt :joy:

1 Like

OK thanks bạn, mình đã mường tượng ra chút chút rồi, để ngâm cứu tiếp rồi tiến hành thực hiện

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?