2008-10-05 2 views
7

У меня есть простая, реальная проблема, которую я хочу решить, используя подход OO. Мой жесткий диск - это беспорядок. У меня есть 1.500.000 файлов, дубликатов, полных дубликатов папок и т. Д.Лучшая общая стратегия для группировки элементов с использованием нескольких критериев

Первый шаг, разумеется, разбор всех файлов в моей базе данных. Никаких проблем до сих пор, теперь у меня появилось много приятных записей, которые являются «естественными группировками». Примеры этой простой группировки могут быть получены с помощью простых запросов, как:

  1. Дайте мне все файлы больше чем 100Мб
  2. Показать все файлы старше 3-х дней
  3. Получить мне все файлы, оканчивающиеся DOCX

Но теперь предположим, что я хочу найти группы с немного более естественным смыслом. Для этого существуют разные стратегии, в зависимости от «варианта использования».

Предположим, у меня есть плохая привычка сначала загружать все загруженные файлы на рабочий стол. Затем я извлекаю их в соответствующую папку, не удаляя файл ZIP всегда. Я перемещаю их в «чердачную» папку. Для системы, чтобы найти эту группу файлов ориентированный на время подход к поиску, возможно, в сочетании с «проверьте, является ли ZIP такой же, как и папка X».

Пусть другую плохую привычка дублировать файлы, имеющие определенную папку, в которой «чистые файлы» расположены в хорошей структуре, и еще грязные папок. Теперь моя чистая папка имеет 20 картинных галерей, у моей грязной папки 5 дубликатов и 1 новая галерея. Человеческий пользователь может легко идентифицировать эту логику, увидев «О, это все просто дубликаты, это новая, поэтому я помещаю новую в чистую папку и мусор всех дубликатов».

Итак, теперь, чтобы добраться до точки:

Какой комбинацию стратегий или моделей вы бы использовать для решения такой ситуации. Если бы я цепи фильтров «самый трудный» выиграл бы, и я не знаю, как дать системе «тест» для подходящей комбинации. И мне кажется, что это просто фильтрация. Его динамическая группировка путем объединения нескольких критериев для поиска «лучших» групп.

Один очень грубый подход будет таким:

  1. В начале, все файлы равны
  2. Во-первых, не так «хорошо» группа каталог
  3. Если вы большой, (равномерно распределенные имена)
  4. Если все файлы имеют одинаковую дату создания, вы можете быть «автоактивны»
  5. Если вы являетесь ребенком программных файлов, я не забочусь о вас на все
  6. Если я перееду тебя, группа А, в группе С, что это улучшит «энтропии»

Каковы лучшие образцы облегающие эту ситуацию. Стратегия, фильтры и трубы, «Группировка» .. Любые комментарии приветствуются!

Редактировать в reacation ответам:

Маркирование подход: Конечно, мечение приходила мне в голову. Но где я рисую линию. Я мог бы создавать разные типы тегов, такие как InDirTag, CreatedOnDayXTag, TopicZTag, AuthorPTag. Эти теги могут быть структурированы в гирархии, но вопрос о том, как группироваться, останется. Но я дам эту некоторую мысль и добавить свои идеи здесь ..

Промедление комментарий: Да, это звучит так. Но файлы - это только самый простой пример, который я мог бы придумать (и наиболее актуальный на данный момент). Фактически это часть большей картины группировки связанных данных динамическими способами. Возможно, мне следовало бы сохранить его более абстрактным, чтобы подчеркнуть это: я НЕ ищет файл с тегами инструмент или поисковая система, , но алгоритм или шаблон для решения этой проблемы ... (или лучше, идеи , как мечения)

Chris

ответ

2

не имеет решения (и хотел бы видеть один), но я мог бы предложить извлечение метаданных из файлов, кроме очевидного имени, размера и временных метки.

  • в полосе метаданные, такие как ID3 тегов MP3, информация о версии для Exes/библиотек DLL, HTML заголовка и ключевых слов, резюме информации для офисных документов и т.д. Даже изображения файлы могут иметь интересные метаданные. Хэш всего содержимого помогает при поиске дубликатов.
  • метаданные вне диапазона, такие как могут храниться в альтернативных потоках NTFS - например. что вы можете редактировать на вкладке «Сводка» для файлов, отличных от Office.
  • ваши браузеры сохраняют информацию о том, где вы загружаете файлы (хотя Opera не хранит ее надолго), если вы можете ее прочитать.
5

Вы - procrastinating. Прекрати это, и убирай свой беспорядок. Если это действительно большой, я рекомендую следующую тактику:

  1. Сделайте копию всего материала на вашем диске на внешнем диске (USB или любой другой)
  2. ли чистой установки вашей системы
  3. Как в скором времени, когда вы обнаружите, что вам что-то нужно, извлеките его из своей копии и поместите в хорошо определенном месте.
  4. Через 6 месяцев выбросьте свой внешний накопитель. Все, что здесь, не может быть так важно.

Вы также можете установить Google Desktop, который не очищает ваш беспорядок, но, по крайней мере, позволяет эффективно его искать.

Если вы хотите, чтобы это не происходило в будущем, вам необходимо изменить способ организации на вашем компьютере.

Надеюсь, это поможет.

+0

Спасибо мама;) Просто шучу - жесткая любовь тоже хорошая вещь! – 2008-10-05 13:46:43

1

У вас есть лихорадка, и единственным рецептом является облако тегов! Вам все равно придется чистить вещи, но с помощью таких инструментов, как TaggCloud или Tag2Find, вы можете организовать свои файлы по метаданным, а не по местоположению на диске.Tag2Find будет наблюдать за долей, и когда что-либо будет сохранено в общем доступе, появится всплывающее окно и попросит вас пометить файл.

Вы также должны получить Google Desktop.

Смежные вопросы