Провели большую работу над ошибками в системе Pilot – получился новый релиз 21.36
15 декабря 2021Модернизирован процесс хранения и очистки кэша
1.1 Добавлен механизм удаления разреженных файлов при очистке кэша
Что за разреженные файлы?
В системе Pilot используется технология разреженных файлов. Она позволяет хранить файл не как цельную неделимую сущность, а как оболочку, или нулевой файл, постепенно наполняемый содержимым. При этом содержимое поддаётся дроблению, чтобы можно было держать на диске не все данные, которые были записаны в файл изначально, а только часть – ту, которая нужна пользователю для работы с файлом.
Как это выглядит на практике?
В базе данных на сервере хранится проект размером 10 ГБ. Пользователю для работы нужен только раздел КР. Он переходит от проекта в обозревателе к проекту на диске Storage. На его локальный компьютер монтируется структура проекта и все файлы, но пока они с нулевым содержанием. Когда пользователь обращается к нужным файлам «Конструктивный план 1 этажа» и «ПЗ Конструктивные решения», они наполняются данными с сервера, а все остальные файлы так и остаются нулевыми – в результате проект занимает 1 ГБ на диске пользователя.
Не будь этой технологии, проект было бы невозможно разбить части, и на клиентский компьютер он смонтировался бы полностью. В результате на локальном диске проектом были бы заняты все 10 ГБ, 9 из которых не нужны пользователю.
Таким образом, технология разреженных файлов помогает оптимально использовать место на локальном диске, уменьшает сетевой трафик, снижает нагрузку на сервер, ускоряет доступ к содержимому проектов и облегчает масштабирование проектов.
Зачем что-то менять, если всё так хорошо?
В системе Pilot эта технология использовалась ещё при очищении кэша – удалялось только содержимое файла, а его оболочка оставалась на диске. Очистка происходила быстрее, чем если бы система тратила свои ресурсы ещё и на удаление оболочки.
Но пользователям приходилось мириться с побочными последствиями:
- при последующих подсчётах количества файлов в кэше разреженные файлы тоже учитывались – это увеличивало время расчёта кэша;
- при переносе кэша с одного диска на другой оболочки тоже переносились – это замедляло процесс переноса.
Как решили эту проблему?
Разработчики приняли решение пожертвовать скоростью очистки кэша в пользу того, чтобы избавиться от накопления пустых разреженных файлов. Поэтому теперь при очистке кэша файлы удаляются полностью – и содержимое, и оболочки.
1.2 Исправлена ошибка удаления из локального кэша файлов с отмененными локальными изменениями
Раньше при отмене отправки изменений на сервер в локальном кэше сохранялась версия файла с внесёнными, но отменёнными изменениями. Сейчас эта версия удаляется, что предотвращает накопление лишних данных на диске.
Отключено масштабирование свернутых стикеров у замечаний к тексту
Раньше, если увеличивать документ, стикеры замечаний к нему тоже в какой-то момент начинали увеличиваться. Иногда они перекрывали текст или геометрию – работать с ним становилось неудобно.
В новом релизе стикеры замечаний при масштабировании документа остаются стандартного размера.
Исправлены ошибки, теперь:
- На документе в Компоновщике XPS текстовая метка со значением справочника элементов отображается корректно;
- Удалили команду «Отправить в Компоновщик XPS» из контекстного меню документов в редакциях Pilot-ECM и Pilot-ICE;
- Статусы замечаний выводятся в отчёт «Замечания по проекту» исправно;
- Ошибка «Изменяемый элемент не найден на сервере» исправлена;
- Исключили ошибочную выдачу задания исполнителю до завершения предыдущего этапа;
- Переключатель «Скрытый/Общедоступный» активен и работает корректно при выборе нескольких элементов;
- Если в системе настроено автоматическое присвоение номера опубликованному документу, автоматизация исправно срабатывает и при публикации документа через папку автоимпорта;
- При создании задания из шаблона атрибут справочник элементов заполняется автоматически;
- Оптимизировали механизм обмена данными между клиентом и сервером.
Полный перечень реализованных запросов смотрите на странице «Что нового».