주로 데이터 중복 제거 알고리즘을 찾고 싶습니다. 주로 중복 파일을 찾습니다. 첫 번째 단계는 타임 스탬프, 크기 및 파일 이름이 동일한 파일을 식별하는 것입니다. 나는 그 파일들에 대해 MD5 체크섬을 수행하고 비교할 수 있습니다. 그 외에도 파일의 내용을 비교할 수 있습니다. 내가 뭘 더 볼까?데이터 중복 제거 알고리즘
답변
OS 메타 정보 (크기 및 타임 스탬프)가 있습니다. 다른 메타 정보에는 사용 권한이 포함됩니다. 당신은 inode와 dnode 정보를 비교할 수 있지만 그다지 의미는 없습니다.
요약 (체크섬)이 있습니다.
당신은 바이트 단위로 세부 사항을 가지고 있습니다.
그 밖의 무엇이있을 수 있습니까? 다른 요점을 묻고 있습니까? 요약은 바이트 별 세부 정보보다 덜 유익합니다. 그러나 당신은 다른 많은 요약을 쉽게 만들 수 있습니다. 요약은 어딘가에 저장하여 항상 다시 계산하지 않는 경우에만 유용합니다.
"마스터"사본에 대한 요약을 저장하려면 원하는 모든 종류의 요약을 작성할 수 있습니다. 행 수, 문자 "e"수, 평균 행 길이, 잠재적으로 흥미로운 요약입니다.
사용할 수있는 제품이 있습니다. Duplicate File Detective를 찾으십시오. 이름, 타임 스탬프, md5 및 기타 알고리즘으로 일치시킬 수 있습니다.
당신이해야합니다 동일한 내용으로 만 파일을 각 파일에 SHA-1 해시를 수행하고 해시를 비교하면 MD5는 충돌 문제 (같은 MD5를 가진 두 개의 파일이 여전히 다른 내용이있을 수 있습니다.)
있다 같은 해시. 기간.
이것은 또한 어떤 사람들은 여분의 마일을 이동 및 SHA-256을 사용하는 등, 서로 다른 이름, 수정 날짜가 있는지 여부를
을 무시하는 데 도움이,하지만 정말 필요하지 않습니다. 대부분의 상용 deduplication 어플라이언스는 SHA-1 (SHA-160이라고도 함)에 의존합니다.
SHA-1을 사용하여 파일을 비교하는 경우 다른 작업은 필요하지 않습니다.
여러 가지 중복 제거 시스템 및 공급 업체와 수년간 함께 작업했으며 샘플 중복 제거 시스템을 작성했기 때문에이 사실을 알고 있습니다.
- 1. 중복 이미지 감지 알고리즘?
- 2. 제거 중복
- 3. 중복 제거
- 4. Dojo FilteringSelect에서 중복 제거
- 5. 반환 된 데이터 (행)에서 중복 제거
- 6. 데이터 중복 제거 소프트웨어에 대한 제안 사항?
- 7. JasperReports : 데이터 집합에서 중복 값 제거
- 8. NSMutableArray 중복 항목 제거
- 9. 자바에서 중복 코드 제거
- 10. hibernate hql에서 중복 제거
- 11. 테이블에서 중복 레코드 제거
- 12. Java의 중복 제거 API
- 13. 행당 중복 제거
- 14. NSdictionary에서 중복 제거
- 15. CSS 테두리 중복 제거
- 16. JackRabbit - 중복 행 제거
- 17. "중복 객체"제거
- 18. Python - 문자열에서 중복 제거
- 19. 중복 제거 RecursiveIteratorIterator
- 20. 중복 행을 값으로 제거
- 21. MySQL을 제거 중복 행은
- 22. 중복 항목 제거
- 23. maven 종속성 중복 제거
- 24. SQL에서 중복 항목 제거
- 25. 중첩 배열에서 중복 제거
- 26. 제거 중복 2000
- 27. C++ 목록에서 중복 제거
- 28. 중복 간격 제거
- 29. xsl에서 중복 제거
- 30. 중복 행 제거 # 2
정확한 것은 아닙니다. SHA-1은 가능한 해시가 2^160에 불과하기 때문에 충돌을 일으킬 가능성은 거의 없지만 실제로 불가능하지는 않습니다. 하지만 일반적으로 해시를 비교하는 것만으로도 바이트 단위보다 빠른 결과를 얻을 수 있으므로 전체적으로 +0을 얻을 수 있습니다. –