Incomplete files service: различия между версиями
Sergey (обсуждение | вклад) |
Sergey (обсуждение | вклад) |
||
| Строка 52: | Строка 52: | ||
Также как файлы могут быть представлены структурированные сущности - проекты, задания, процессы, в которых пользователь участвует как сотрудник, каталогизированные материальные ресурсы. | Также как файлы могут быть представлены структурированные сущности - проекты, задания, процессы, в которых пользователь участвует как сотрудник, каталогизированные материальные ресурсы. | ||
| + | |||
| + | Каталог может существовать как просто список, а может быть привязан к двух или трёхмерному каркасу на основе определяемых взаимоотношений объектов. | ||
[[Category:solutions]] | [[Category:solutions]] | ||
Текущая версия от 20:28, 10 апреля 2026
Стандартный сервис для получаемых файлов
Файлы скачиваются не одномоментно, поэтому в течение какого-то времени в системе хранится неполная версия файла. Будь то crdownload, .part и т.п.
Исходный домен - откуда файл - веб/торрент/ftn и т.д. Исходный адрес - адрес скачивания
- идентифицирую источник, по этим данным можно найти файл, если скачивание уже началось
Целевое имя - имя файла Размер - если известен Хэши
Доступные регионы - уже скачанные участки файла База+размер (список) либо постраничный битмап (второе требует дописываний кратными выровненными блоками)
Успешность скачивания - весь указанный размер заполнен. Запись за его пределами - ошибка. - хэши соответствуют
После завершения скачивания файл передаётся сконфигурированному для домена получателю (место на файловой системе, какая-то программа для обработки).
Функции
- инициализация пустого файла, с указанием размера (или неизвестного размера), способов верификации. - добавление скачанного участка - получение списка недостающих участков, или факта неизвестности длины - фиксация длины, когда она стала известна - завершение файла, с проверкой, что всё скачано.
Проверки
- контрольные суммы по всему файлу, по отдельным участкам, по блокам (если клиентское ПО их предоставляет) - блокирование записи, если сама запись может быть проверена ко контрольным суммам и они неверны - сигнал об ошибке, если контрольная сумма может быть проверена только после нескольких записей и результат неверен (невозможно выяснить, какая запись содержала ошибку). В том числе результат записи всего файла, если контрольная сумма на весь файл. - блокирование повторных записей на один и тот же участок - частный случай предыдущего - блокирование записи в момент, когда весь файл собран
Срок жизни неполного файла
Неполные файлы могут быть как временными (например, скачивание файла), так и постоянными (торрент, ожидающий загрузки). Исходя из этого может устанавливаться срок ожидания наполнения, а также неймспейс, в котором доступен файл:
- сессия: неполный файл существует в контексте сессии, удаляется при отключении клиента - по сроку: даём фиксированное время на наполнение файла, при отсутствии активности в течение этого срока удаляем - по активности: если источник при успешной сессии не дополняет файл, считаем, что он стал не нужен и удаляем - постоянный: надеемся на наполнение пока не удалён вручную. Неймспейс - внутренний для наполняющего клиента.
Каталог файлов
Основа для выбора каталога файлов - подключившийся пользователь. После аутентификации для выбранного пользователя открывается каталог, формируемый индивидуально: локация основного каталога и подключенные вложенные.
Также помимо самого списка файлов выбираются доступные для пользователя операции, определяемые правилами документооборота.
Также как файлы могут быть представлены структурированные сущности - проекты, задания, процессы, в которых пользователь участвует как сотрудник, каталогизированные материальные ресурсы.
Каталог может существовать как просто список, а может быть привязан к двух или трёхмерному каркасу на основе определяемых взаимоотношений объектов.