Типовой механизм хранения файлов позволяет один и тот же файл прикреплять несколько раз. Это бесит наших админов, и по их просьбе был реализован следующий алгоритм.
Лучше для хранения файлов использовать файловую систему с возможностью дедупликации.
И почему у вас под хэш тип строка(50) переменная? Думаете, что найдется MD5 длиннее 32 символов?
(4) Хеш всегда 47 символов, не зависит от объема файла. А вот про файловую систему с возможностью дедупликации, пожалуйста, поподробнее, что бы админам переслать
Например, если в одной документы можно изменить файл по правам, а такой же файл в другом месте нельзя, то файлы надо дублировать. В вашем случае экономия пары ГБ, но получиться может хуже.
Может админам выделить 1 Тб? Цены сейчас не такие большие+дедупликация на нем
(6) Справочник присоединенных файлов и так задублированным остается, у него всегда только один владелец, а ссылки на путь до файла подмениваются. Разделение по правам редактирования файлов я в 1с вообще не встречал. Согласен, что с версиями файлов надо ещё обдумывать, если изменяемые файлы хранить но у нас грузят в основном только PDF.
(7)Если в поступление А загрузили 1 скан, затем в поступление Б загрузили этот же скан. После обработки - они будет указывать на 1 файл, все верно? Что делать тогда, если в поступление Б пользователь поймет что совершил ошибку и заменит файл на правильный, в поступление А - тоже будет указывать на этот файл?
(10) Да, Совсем забыл, у нас прикрепление файлов к документам тоже доработано на дату запрета изменения сразу после проведения... А так надо ещё над отборами подумать по срокам давности
(10) Хотя всё тоже решается определенными отборами по сроку давности документов. механизм при этом никак не меняется. А отбор в обработке можете у себя поставить
(10) Кстати, начал думать, А что значит заменит файл, у нас доступ к файлам только у службы 1с. Он может только удалить старый и прикрепить новый и тут всё отработает четко, никакой подмены не будет.
Ну это всё в рамках юмора.
Юрий с обработкой - просто монстр, спасибо большое.
Дедупликация файлов на уровне ФС с точки зрения админов - ну такое. Есть 1С которая по каким-то своим алгоритмам складывает файлы в хранилище. Да, видим, что файлы одинаковые, но мало ли как и по какой причине они были сохранены?
Если же ставится задача о том, что на хранилке с файлами не должно быть одинаковых файлов, то как решить который из 2 файлов верный, а который должен быть удален?
Для меня логически кажется верным, что удалением дублей занимается та же система, что их плодит.
Для меня логически кажется верным, что удалением дублей занимается та же система, что их плодит.
Система Windows или 1с ? Если привести аналогию, что файлы плодит сервер exchange, тогда дедупликация отлично справляется с файлами, при этом сам exchange не занимается, тем, что надо следить за дублями.
В детстве, помню, пилил на паскале софтинку, которая удаляла одинаковые файлы (размер + простой XOR CRC 32 бита на асме). Коллегам с универа это позволило сильно уменьшить количество мусора на дисках, которые были совсем не такими большими, аки щаз.
Кстати, аффтор, имей ввиду, что файлы с одной и той же контрольной суммой могут быть разными. Это называется коллизией хеша. Фактически на сообщение из Х бит с хешем в У бит количество коллизий для каждого хеша будет равно 2^(Х-У). Т.е. если сообщение длиннее хеша всего на байт, то на каждый вариант хеша будет 2^8 сообщений. Но это так, математика. Ее все вроде бы знают, так что не принимайте близко к сердцу, если очевидные вещи говорю. Просто в интернетах иногда шутки ходят о том, что самый крутой архиватор - это md5.