У меня есть архив около 100 миллионов двоичных файлов. Новые файлы регулярно добавляются. Размеры файлов варьируются от примерно 0,1 МБ до примерно 800 МБ.Поиск похожих файлов в большом архиве
Я могу легко определить, возможно ли, что файлы, вероятно, полностью идентичны, сравнивая их размеры и размеры совпадают, сравнивая хэши файлов.
Я хочу найти файлы с частично похожим контентом. Я имею в виду, что я считаю, что у них есть части, которые идентичны, и некоторые части, которые могут быть разными.
Какое лучшее или какой-либо реалистичный способ найти файлы, похожие на другие файлы, и, если возможно, получить какую-то информацию о том, насколько они похожи?
Редактировать: Файлы в основном исполняемые файлы. Они похожи, если, скажем, где-то между 10% и 100% их содержимого совпадают с содержимым другого файла. Нижний предел также может быть установлен на 50%. Точный нижний предел не важен. Я предполагаю, что для такого сравнения понадобится какая-то форма хэширования для такого сравнения.
Вы что-нибудь о чем-нибудь нашли в разделе Чувствительность к помещению? В специальном, MinHash? –
Можете ли вы подробно рассказать о содержании файлов и о том, как вы хотите решить, похожи ли два файла? Например, являются изображениями двоичных файлов или исполняемыми файлами и т. Д.. Не считаете ли вы файлы похожими, если они имеют общую подстроку, которая составляет не менее 50% от самого большого файла? –