Удаление дублирующихся файлов в томах на диске

0. 508 05.10.22 21:30 Сейчас в теме
Типовой механизм хранения файлов позволяет один и тот же файл прикреплять несколько раз. Это бесит наших админов, и по их просьбе был реализован следующий алгоритм.

Перейти к публикации

Вознаграждение за ответ
Показать полностью
Лучшие комментарии
2. PLAstic 289 06.10.22 09:24 Сейчас в теме +1 $m
Я вот всё думаю, когда мне хоть какие бонусы начнут капать с плюсов на твоих разработках.
chigsrOck; +1 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. arsentevpva 06.10.22 09:00 Сейчас в теме
хм.. а ведь работает. Спасибо автору.
2. PLAstic 289 06.10.22 09:24 Сейчас в теме +1 $m
Я вот всё думаю, когда мне хоть какие бонусы начнут капать с плюсов на твоих разработках.
chigsrOck; +1 Ответить
3. human_new 508 06.10.22 09:38 Сейчас в теме
4. SerVer1C 538 06.10.22 09:39 Сейчас в теме
Лучше для хранения файлов использовать файловую систему с возможностью дедупликации.
И почему у вас под хэш тип строка(50) переменная? Думаете, что найдется MD5 длиннее 32 символов?
5. human_new 508 06.10.22 09:41 Сейчас в теме
(4) Хеш всегда 47 символов, не зависит от объема файла. А вот про файловую систему с возможностью дедупликации, пожалуйста, поподробнее, что бы админам переслать
6. MSK_Step 22 06.10.22 10:11 Сейчас в теме
Например, если в одной документы можно изменить файл по правам, а такой же файл в другом месте нельзя, то файлы надо дублировать. В вашем случае экономия пары ГБ, но получиться может хуже.
Может админам выделить 1 Тб? Цены сейчас не такие большие+дедупликация на нем
7. human_new 508 06.10.22 10:16 Сейчас в теме
(6) Справочник присоединенных файлов и так задублированным остается, у него всегда только один владелец, а ссылки на путь до файла подмениваются. Разделение по правам редактирования файлов я в 1с вообще не встречал. Согласен, что с версиями файлов надо ещё обдумывать, если изменяемые файлы хранить но у нас грузят в основном только PDF.
10. MSK_Step 22 06.10.22 11:13 Сейчас в теме
(7)Если в поступление А загрузили 1 скан, затем в поступление Б загрузили этот же скан. После обработки - они будет указывать на 1 файл, все верно? Что делать тогда, если в поступление Б пользователь поймет что совершил ошибку и заменит файл на правильный, в поступление А - тоже будет указывать на этот файл?
11. human_new 508 06.10.22 11:18 Сейчас в теме
(10) Да, Совсем забыл, у нас прикрепление файлов к документам тоже доработано на дату запрета изменения сразу после проведения... А так надо ещё над отборами подумать по срокам давности
13. human_new 508 06.10.22 11:22 Сейчас в теме
(10) Хотя всё тоже решается определенными отборами по сроку давности документов. механизм при этом никак не меняется. А отбор в обработке можете у себя поставить
14. human_new 508 06.10.22 12:01 Сейчас в теме
(10) Кстати, начал думать, А что значит заменит файл, у нас доступ к файлам только у службы 1с. Он может только удалить старый и прикрепить новый и тут всё отработает четко, никакой подмены не будет.
8. brolin 06.10.22 10:34 Сейчас в теме
Как только разработчики 1С сделают хоть один шаг в сторону S3 или любой другой сторонней хранилки - появится и дедупликация на уровне ФС.
9. brolin 06.10.22 10:41 Сейчас в теме
Ну это всё в рамках юмора.
Юрий с обработкой - просто монстр, спасибо большое.

Дедупликация файлов на уровне ФС с точки зрения админов - ну такое. Есть 1С которая по каким-то своим алгоритмам складывает файлы в хранилище. Да, видим, что файлы одинаковые, но мало ли как и по какой причине они были сохранены?
Если же ставится задача о том, что на хранилке с файлами не должно быть одинаковых файлов, то как решить который из 2 файлов верный, а который должен быть удален?
Для меня логически кажется верным, что удалением дублей занимается та же система, что их плодит.
12. MSK_Step 22 06.10.22 11:19 Сейчас в теме
(9)
Для меня логически кажется верным, что удалением дублей занимается та же система, что их плодит.

Система Windows или 1с ? Если привести аналогию, что файлы плодит сервер exchange, тогда дедупликация отлично справляется с файлами, при этом сам exchange не занимается, тем, что надо следить за дублями.
15. brolin 06.10.22 12:09 Сейчас в теме
Да, всё так. exchange использует файловое хранилище на сервере с ролью "файловый сервер" с включенной дедупликацией (типа того: https://learn.microsoft.com/ru-ru/windows-server/storage/data-deduplication/understand).
Поймет ли 1С (на уровне приложения) такое отношение у ней файловой системы - не готов ответить, ни разу не пробовал.
16. MSK_Step 22 06.10.22 13:59 Сейчас в теме
(15)
ни разу не пробовал.

мы используем, при частой перезаписи файлов это спасает от дублирования новых версий на самом диске
17. brolin 06.10.22 14:06 Сейчас в теме
(16)
Огромное спасибо за наводку :)
18. starik-2005 2797 06.10.22 20:09 Сейчас в теме
В детстве, помню, пилил на паскале софтинку, которая удаляла одинаковые файлы (размер + простой XOR CRC 32 бита на асме). Коллегам с универа это позволило сильно уменьшить количество мусора на дисках, которые были совсем не такими большими, аки щаз.
19. starik-2005 2797 06.10.22 23:14 Сейчас в теме
Кстати, аффтор, имей ввиду, что файлы с одной и той же контрольной суммой могут быть разными. Это называется коллизией хеша. Фактически на сообщение из Х бит с хешем в У бит количество коллизий для каждого хеша будет равно 2^(Х-У). Т.е. если сообщение длиннее хеша всего на байт, то на каждый вариант хеша будет 2^8 сообщений. Но это так, математика. Ее все вроде бы знают, так что не принимайте близко к сердцу, если очевидные вещи говорю. Просто в интернетах иногда шутки ходят о том, что самый крутой архиватор - это md5.
Rafaraf; GorkyGorod; asupsam; +3 Ответить
Оставьте свое сообщение
Вакансии
Специалист (аналитик-программист) 1С Документооборот КОРП
Москва
зарплата от 60 000 руб. до 70 000 руб.
По совместительству

1С разработчик
Москва
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Руководитель группы разработки
Краснознаменск (Московская обл.)
зарплата от 180 000 руб. до 300 000 руб.
Полный день

Инженер 1С
Ессентуки
зарплата от 120 000 руб. до 144 000 руб.
Полный день

Программист 1С
Краснознаменск (Московская обл.)
зарплата от 150 000 руб. до 250 000 руб.
Полный день