Dropbox xác định thời điểm ghi đè tệp cục bộ so với ghi đè tệp đám mây?


10

Khi Dropbox bắt gặp một tệp trên máy tính của một người khác với phiên bản đám mây của tệp mà nó biết, làm thế nào để quyết định xem có nên đồng bộ hóa chúng bằng cách ghi đè tệp cục bộ với tệp đám mây hay đồng bộ hóa chúng bằng cách ghi đè tệp đám mây với các tập tin địa phương?

Để viết lại:

  • Nếu máy chủ sao chép và bản sao cục bộ của tệp khác nhau,

  • và nếu chương trình dropbox được khởi chạy và kết thúc đồng bộ hóa,

  • sau đó hai tập tin sẽ giống nhau.

Hai tệp này cũng sẽ giống hệt với một trong các tệp cũ. Câu hỏi của tôi là --- bản sao máy chủ cũ hoặc bản sao cũ? Nó quyết định như thế nào?


Mmmm, không chắc chắn nếu cụm từ của bạn làm cho nó rõ ràng hơn. Nhưng tôi nghĩ Dropbox sử dụng (phiên bản) kiểm tra tệp (và có thể thay đổi ngày) để xem liệu tệp có cần được tải lên không. (Nó có những cái cũ trong cơ sở dữ liệu địa phương của nó). Nếu tổng kiểm tra là khác nhau, nó sẽ được tải lên. Nếu trực tuyến có một phiên bản có ngày mới hơn và tổng kiểm tra khác với phiên bản cũ trong cơ sở dữ liệu cục bộ của nó, người khác phải thay đổi tệp và tệp sẽ được đổi tên thành "bản sao bị xung đột". (tất nhiên đây chỉ là suy đoán và tôi chưa tìm thấy xác nhận nào trên mạng này)
Rik

Câu trả lời:


5

Tôi không biết các kỹ thuật của việc này, nhưng tôi có tình huống tôi và trợ lý của mình vận hành một hộp thả chung với hai máy tính khác nhau diễn ra vào các thời điểm khác nhau.

Câu trả lời cho câu hỏi của bạn là khi bạn kết nối với Cloud, Dropbox biết (bằng cách nào đó) rằng phiên bản hiện tại trên Cloud ban đầu được đồng bộ hóa từ máy tính của bạn. Vì vậy, nếu phiên bản máy tính của bạn khác, đó là phiên bản sẽ được đồng bộ hóa với Đám mây.

Nếu hai máy tính (giả sử A và B) đang sử dụng cùng một dropbox và mỗi máy tính thực hiện thay đổi ngoại tuyến, thì máy tính đầu tiên sẽ khởi động (giả sử đó là máy tính A) sẽ tạo ra đồng bộ hóa bản cập nhật của nó lên đám mây. Vì vậy, bây giờ sẽ có cùng một phiên bản (chứa bản cập nhật A) trên A và Cloud.

Khi máy tính B được cấp nguồn, Dropbox sẽ nhận ra rằng phiên bản tệp của máy tính B không chỉ khác với phiên bản đám mây hiện tại (là bình thường) mà khác với lần trước Dropbox được đồng bộ hóa với nó. Vì vậy, nếu nó được đồng bộ hóa tệp B với phiên bản A, các thay đổi của B sẽ bị mất. Vì vậy, những gì Dropbox làm là tạo một bản sao của phiên bản B và thêm "tệp bị xung đột của B" vào tên tệp. Tập tin gốc của B sau đó được đồng bộ hóa với các bản cập nhật A. Tệp bị xung đột, chứa các bản cập nhật B, sau đó được đồng bộ hóa với đám mây và quay lại A.

Việc xóa và xung đột phát sinh từ đồng bộ hóa có chọn lọc, được xử lý theo cách tương tự

Xung đột cũng phát sinh nếu một trong các máy tính không đóng tệp trước khi tắt nguồn. Đồng bộ hóa không xảy ra trên một tệp đang mở, vì vậy trong trường hợp này, các cập nhật của B sẽ là các bản cập nhật được đồng bộ hóa và tệp mở của A sẽ kết thúc như một xung đột. Đây có thể là một nỗi đau rất lớn để hòa hợp, nhưng đây là lỗi của chúng tôi, không phải của Dropbox.

Hi vọng điêu nay co ich.


1

Tôi có một phần thông tin bắt đầu trả lời câu hỏi này. Tôi không chắc điều này hữu ích như thế nào đối với người dùng có kinh nghiệm, nhưng tôi biết những người dùng mới hơn như tôi sẽ thấy báo cáo này hữu ích.

Bên cạnh đó, làm việc này khiến tôi càng hoang mang hơn khi một câu hỏi cực kỳ cơ bản không có câu trả lời chính thức hay có thẩm quyền nào. Việc thiếu tài liệu hoặc thảo luận có sẵn cho tôi biết rằng người dùng Dropbox vẫn ổn khi lấy bất cứ thứ gì Dropbox thực sự làm như những gì họ mong đợi nó sẽ làm trong những trường hợp đó. (nghĩa là tôi thậm chí sẽ không nói rằng người dùng có một kỳ vọng cụ thể rằng họ giữ dropbox để)

Ví dụ về cách Dropbox sẽ hành xử:

Trong ví dụ của tôi, máy tính A và máy tính B không bao giờ được bật cùng lúc. Hãy tưởng tượng một người dùng làm việc không cộng tác ở nhà và nơi làm việc, với mỗi máy tính bị tắt trước khi quay lại với người khác.

Điều gì xảy ra khi thư mục dropbox của một máy tính không giống với thư mục dropbox của đám mây? Để rõ ràng tối đa, tôi thích tưởng tượng cách dropbox.exephản ứng khi một máy tính có thư mục dropbox trống . Sẽ dropbox.execoi những tệp bị thiếu đó là "xóa" (có nghĩa là nó sẽ xóa chúng khỏi thư mục hộp thư đám mây) hoặc "hết hạn" (có nghĩa là nó sẽ tạo bản sao mới của chúng trong thư mục hộp thư cục bộ).

  1. Bắt đầu với tình huống hành vi rõ ràng rõ ràng: Máy tính A đang bật và máy tính B tắt. Nếu dropbox.exeđang chạy và các thay đổi được thực hiện cho A, thì chúng sẽ được truyền vào thư mục đám mây chứ không phải ngược lại. Vì vậy, tại thời điểm này, nếu thư mục của A bị xóa, thì các tệp / thư mục bị thiếu này được coi là "xóa" và thư mục đám mây bị xóa.

  2. Giả sử B có một thư mục dropbox trống và A tạo các tệp và đồng bộ hóa chúng với thư mục dropbox trên đám mây. Nếu chúng tôi chuyển sang máy tính B, tình huống dropbox.exesẽ diễn giải thư mục hộp trống của B là "hết hạn" và các bản sao mới từ thư mục đám mây được tạo trên B.

  3. Bây giờ cho ít rõ ràng hơn: Giả sử chúng tôi thực hiện một số thay đổi trong B và đồng bộ hóa các thay đổi này với thư mục hộp thư đám mây. Nếu chúng ta chuyển sang máy tính A và --- mà không chạy lần đầu tiên dropbox.exe--- chúng ta sẽ xóa những thứ trong thư mục dropbox của A, dropbox.exesau đó những gì sẽ chạy ? Trong tình huống dropbox.exenày sẽ diễn giải các tệp / thư mục bị thiếu dưới dạng xóa mới sẽ được truyền đến thư mục hộp thư đám mây.

Tôi thấy khó hiểu rằng trong tình huống 2 và 3, bạn đã dropbox.exeđược bật và gặp trạng thái "tươi" tương tự trên một máy tính mới khác với thư mục đám mây, nhưng nó sẽ hoạt động khác.

Nếu bạn muốn phát minh ra một quy tắc giải thích cách dropbox.exevận hành, rõ ràng bạn không thể cho rằng đó là chức năng của ba biến: (1) những gì nó thấy trên máy tính ngay bây giờ, (2) những gì nó thấy trên thư mục đám mây và (3) ) máy tính nào cuối cùng được đồng bộ hóa với thư mục đám mây. (!!!)

Có lẽ biến phụ là Dropbox ghi nhớ những gì mỗi máy tính được đồng bộ hóa lần cuối vào thư mục đám mây. Trong tình huống 2, chúng tôi có thể giả sử lần cuối cùng máy tính B được đồng bộ hóa, nó đã đồng bộ hóa một thư mục trống. Trong tình huống 3, Dropbox nhớ rằng lần trước máy tính được đồng bộ hóa, nó đã đồng bộ hóa một thư mục khác với những gì nó hiện tìm thấy trong thư mục.


1
Không dropbox.exechỉ là kiểm tra thư mục ngoại tuyến và trực tuyến. Giống như bạn nêu trong đoạn cuối của mình, dropbox giữ một bản ghi của mọi tệp được lưu trữ cục bộ và trực tuyến để nó biết chính xác khi nào / cái gì (và khi nào / cái gì không) đồng bộ hóa. Hãy nhìn vào dropbox-dir của tôi trong C:\Users\<name>\AppData\Roaming\Dropbox. Bạn thấy rất nhiều .dbx-files trong đó dropbox sẽ giữ thông tin đó (không chỉ ngày mà còn cả tổng kiểm tra, v.v.). (Xóa các tệp và dropbox sẽ gây rối nghiêm trọng cho bạn thư mục dropbox trực tuyến và ngoại tuyến;)
Rik

Tôi không biết bạn mong đợi Dropbox theo dõi các thay đổi như thế nào khi nó không chạy. Trong Kịch bản 2, bạn đang thêm tệp vào Dropbox, S3 đang xóa tệp khỏi Dropbox. Chúng là hai kịch bản khác nhau và nên được cư xử khác nhau. Không chắc chắn sự nhầm lẫn của bạn bắt nguồn từ đâu. Dropbox sẽ nỗ lực hết sức dựa trên những gì có trên đám mây và trên ổ cứng của bạn tại thời điểm bạn bật Dropbox. Cách tốt nhất để sử dụng Dropbox là luôn luôn giữ nó. Nếu bạn phải tắt máy tính, hãy cẩn thận với việc xóa. Ít nhất DropBox cung cấp cho bạn khôi phục 30 ngày. Bạn nghĩ Dropbox là xấu, hãy thử OneDrive.
CN

"Tôi không biết bạn mong đợi Dropbox sẽ theo dõi như thế nào khi nó tắt" <- có thể nói là bạn mong đợi nó, nếu bạn mong đợi S3 hành động khác với S2. "Nếu bạn tắt máy tính, hãy cẩn thận với việc xóa" <- Là người dùng dropbox, đây là một cảnh báo tôi muốn thấy trong tài liệu. Thật dễ dàng để bạn nói "nó nên cư xử khác đi" bởi vì bạn không nói chính xác những gì nó nên làm. Điều làm phiền tôi là tôi không thể tìm thấy tài liệu thực sự NÓI những gì nó nên làm. Đây chính xác là lý do tại sao tôi đã nhầm lẫn: buộc phải đoán các biến là gì và nhận sai!
Ein

Đây thực sự là một câu hỏi rất phù hợp và tôi đã đến đây từ việc googling câu hỏi. Máy tính xách tay của tôi đã không được đồng bộ hóa hoàn toàn với Dropbox trong ít nhất một năm vì tôi hết dung lượng. Vì vậy, tôi đã sử dụng đồng bộ hóa chọn lọc. Bây giờ tôi đã nâng cấp HD của mình lên ổ SSD lớn hơn và tôi muốn đồng bộ lại mọi thứ. Có rất nhiều tệp bị thiếu trong một số thư mục trên máy tính xách tay của tôi và tôi sợ rằng Dropbox sẽ hiểu sai những gì cần làm khi tôi đồng bộ hóa. Nó sẽ thêm các tệp từ đám mây vào các thư mục cục bộ - hay thay vào đó nó sẽ xóa các tệp bị thiếu khỏi đám mây? Tôi không thực sự chắc chắn!
tuyên bố

-2

Từ Câu hỏi thường gặp về Dropbox :

Không giống như ứng dụng máy tính để bàn Dropbox, thường xuyên kiểm tra các tệp của bạn để thay đổi, ứng dụng di động thường chỉ đồng bộ theo yêu cầu. Điều này ngăn Dropbox tiêu thụ tất cả băng thông và dung lượng của bạn.

Làm thế nào nó làm điều này?

Điều đó cũng được đề cập trên trang web của họ :

Trước khi chuyển một tệp, chúng tôi so sánh tệp mới với phiên bản trước đó và chỉ gửi phần của tệp đã thay đổi. Đây được gọi là "diff diff" và hoạt động trên mọi loại tệp. Dropbox nén các tệp (mà không làm mất dữ liệu hoặc chất lượng) trước khi chuyển chúng. Bằng cách này, bạn cũng không bao giờ phải lo lắng về việc Dropbox tải lên lại tệp hoặc lãng phí băng thông.


1
Tôi đang hỏi về một câu hỏi cơ bản hơn không liên quan đến nén / diffs ... làm thế nào để biết khi nào tệp cục bộ sẽ trở thành "phiên bản mới nhất" mới so với việc tệp cục bộ có "lỗi thời" hay không.
Ein

Nó không liên quan đến khác biệt. API Dropbox biết so sánh các khác biệt này khi một tệp cụ thể trở nên "lỗi thời" và quyết định đồng bộ hóa tệp cụ thể. Khác với điều này tôi không thể tìm thấy thêm thông tin. Bản thân Dropbox là nguồn đóng không công khai thêm thông tin nào.
Karan Raj Baruah

Tôi đã chỉnh sửa câu hỏi để viết lại những gì tôi đang hỏi, bởi vì có lẽ có một số nhầm lẫn đang diễn ra. Ngoài ra, tôi không thể phân tích câu thứ hai của bạn.
Ein
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.