일부 OS 이벤트를 사용하여 앱이 실행 중일 때 File System의 변경 사항을 확인할 수 있음을 이해합니다. 응용 프로그램이 실행되고 있지 않을 때 궁금한 점이 있습니다. 파일 시스템에 많은 변경을 가하면 추가/수정/삭제/이름 바꾸기가 거의 없습니다. Dropbox가 이러한 변경 사항을 식별하는 데 사용하는 알고리즘은 무엇입니까? 내가 생각할 수있는 한 가지는 파일 시스템의 파일의 마지막 수정 시간을 LMT가 저장된 값과 비교하여 앱이 실행될 때를 비교하는 것입니다. 이 경우 모든 파일을 반복해야했습니다. 그러나 이름을 변경하면 LMT가 변경되지 않습니다. LMT에 대한 의존도가 그만큼 높기 때문에 더 나은 접근 방법이 있는지 알고 싶습니까?앱이 실행되지 않을 때 dropbox가 로컬로 변경된 파일/폴더 목록을 식별하는 데 사용하는 알고리즘은 무엇입니까?
의견이 있으십니까?
당신은 보관 처리 루트 디렉토리가 :
감사합니다. 파일의 해시 인 두 번째 인덱스를 자세히 설명 할 수 있습니까? 해시는 무엇을 나타내는가? 나는 그 예를 생각하는 것이 더 좋다고 생각한다. 이처럼 클라우드와 로컬 모두에서 계층 구조를 동기화했다고 가정 해 보겠습니다. /file1.txt, /file2.txt, /folder1/file3.txt. 이제는 앱을 종료하고 로컬 파일 시스템을 변경했다고 가정 해 봅니다. a) 파일 1을 삭제했습니다. b) 새 folder2를 /folder2/file4.txt와 추가하여 클라우드에서 변경했습니다. a) file2.txt가 제거되었습니다. b) 이름이 바뀌 었습니다. folder1 to folder4 c) folder5를 추가했습니다. 이 접근 방식은 어떻게 작동하며 앱이 시작될 때 로컬 및 클라우드 변경 사항을 한 번 발견합니까? – Engineer