2011-08-15 8 views
4

나는 드롭 박스 교체하거나 다시 업로드 드롭 박스 서버에 다시보관 용 계정 동기화는 어떻게 작동합니까?

예 파일을하지 않고 대용량 데이터 파일을 동기화 할 수있는 방법을 알고 싶어요 : 암호화 된 ZIP 아카이브를

가정하자 나는 1GB의 암호화했습니다 우편 아카이브 파일 완전

보관은 할 수있다, 나는 5메가바이트 다음 내 컴퓨터에 파일을 저장에 대한 크기의 파일을 파일이 압축 아카이브에 추가 내 컴퓨터, 내 컴퓨터 및 보관 용 서버에

동기화 다시하지 않고 zip 아카이브 파일을 동기화 - 전체 파일을 다시 업로드하는 대신 약간의 변경만으로 파일을 업데이트합니다.

또한

TrueCrypt를 용기는 방식으로

모든 키워드, 아이디어, 주제, 리뷰, 링크, 코드가 대단히 감사에서 작동합니다.

+0

이것은 프로그래머가 생각하는 방식에 대해 완전히 상반된 생각을하는 가장 단순한 트릭입니다. 진행률 표시 줄을 표시하지 마십시오. 그냥 사용자가 관찰 할 수 없도록 만듭니다. 이것은 셸 확장이므로 실제 업데이트가 필요할 때 Windows에서 복사를 수행하는 것처럼 보이기 쉽습니다. 물론 윈도우가 느리기 때문에 속도가 느려지면됩니다. 탐색기 진행률 막대가 나타납니다. 진행 상황을 볼 수 없으므로 WireShark와 같은 도구가 필요합니다. –

+1

좋은 환상 트릭이지만 마이클이 묻는 것만 큼 확실하지 않습니다. 파일의 어느 부분이 변경되었는지 확인하는 방법에 대해 이야기하고 있으므로 1GB의 데이터를 다시 업로드 할 필요가 없습니다. 그것의 5MB를 바꿨습니다. –

+0

@Russ c 당신이 정확히 말하고있다 –

답변

1

내 첫 번째 생각 (늦게 미안 해요!)은 블록 수준에서 해시를 수행하는 것일 수 있습니다.

예를 들어, 각 64k 세그먼트에 대해 해시를 생성 한 다음 다른 해시가있는 각 부분에 대해 전체 세그먼트를 업로드 할 수 있습니다.

+0

1Gb 파일이 있고 해당 파일의 암호화 된 압축 파일 (예 : 500MB)을 DB 폴더에 넣으면 해당 소스 파일의 1 바이트를 변경하면 내용이 완전히 변경 될 것이라고 생각했을 것입니다 그것의 모든 부분의 압축 버전과 DB를 다시 올리십시오 업로드해야합니다. 나는. 해시 된 세그먼트 기술이 압축 파일 내에서 작동한다고 생각하지 않습니다. ZIP 압축 파일의 각 파일이 다른 파일을 참조하지 않고 압축/암호화되므로 파일 수준에서 작동해야합니다. 견고한 압축 파일 (http://en.wikipedia.org/wiki/Solid_compression)을 사용할 수 없다고 생각합니다. 이것의 이점. – rossmcm

7

Dropbox는 rsync 알고리즘을 사용하여 파일 A1에서 파일 A2까지 차이가있는 델타 파일을 생성합니다. dropbox에는 이미 파일 A1이 있으므로 델타 (대개 A2보다 훨씬 작음) 만 드롭 보관함 서버에 업로드됩니다. 그런 다음 델타 파일을 파일 A1에 적용하여 파일 A2로 변환 할 수 있습니다.

알고리즘에 대한 자세한 내용은 여기를 참조하십시오. http://en.wikipedia.org/wiki/Rdiff-backup#Variations

델타 생성 뒤에있는 라이브러리의 소스 코드는 여기에서 찾을 수 있습니다. http://librsync.sourceforge.net/

+0

업로드하기 전에 Dropbox가 파일을 로컬에서 암호화하지 않습니까? – Kar

관련 문제