PC의 파일 및 폴더를 자동 또는 수동으로 온라인 백업하는 응용 프로그램의 개발 작업을하고 있습니다. 현재 서버에서 최신 버전의 파일 만 보관하고있었습니다. 이제 버전 관리를 구현하여 변경 사항 만 온라인 서버로 전송할 수 있고 사용자는 사용 가능한 버전을 다운로드 할 수 있어야합니다. 파일을 Backup Server에 저장하십시오.은 온라인 백업 도구에서 버전 관리를 구현해야합니다.
중복 제거를 수행해야합니다. 얘들 아, 고정 블록 크기를 사용하여 수행 할 수 있지만 각 버전 백업과 함께 CRC 정보가있는 파일을 전송하는 오버 헤드에 직면 할 수는있다.
저는 그러한 기술에 대해 한 번도 다뤄 본 경험이 없습니다. 많은 고통없이이 기능을 응용 프로그램에 포함시킬 수있는 방법이 있는지 알고 싶습니다. 타사 도구가 동일한 작업을 수행하는 데 도움이됩니까? 알려주시겠습니까?
참고 : FTP 프로토콜을 사용하여 데이터를 전송하고 있습니다.
그래, 나는 지난주부터 연구를하고있다. 내가 해결책을 생각해 냈다. 나는 파일을 고려해 현명하게 차단했다. 그리고 모든 버전에서 Structure_string (이전 버전에서 접근 할 수 있도록 블록의 가용성을 추적하기 위해) + CRCs의 컴파일 된 목록 이 목록을 다운로드하여 현재 버전 목록과 비교하여 차이점을 찾아 낼 수 있습니다. 내 접근법이 맞는지, 이것이 실제 세계에서 어떻게 구현되는지 확인해야합니까? – Sumeet
나는 그것이 일할 수 있다고 확신하지만, 이상적이지는 않습니다. 특정 유형의 변경으로 인해 전체 파일 (GB 일 수 있음)을 1 바이트 변경으로 전송하게됩니다. 블록 크기에 따라 서버에 수천 또는 수백만 개의 중복 블록 (각 파일?)이있을 수 있으므로 디렉토리 목록이 쓸데없이 느려질 수 있습니다. rsync 페이지의 "델타 인코딩"링크를 살펴 보겠습니다. 이렇게하면 실제로 변경된 파일 부분 만 보낼 수 있습니다. 이 작업을 효율적으로 진행하기위한 많은 작업이 이루어졌습니다. 덤프와 rsync 코드도 살펴볼 수 있습니다. –
Rsync 코드 작업을 시작했습니다. 어떻게 생각해? 도움이 될까요? – Sumeet