BiioSync для низкоуровневой универсальной синхронизации файлов через сервер

инкрементно в фоновом режиме в офлайн передает все новые пакеты всем заинтересованным получателям в BiointaIo

BiioSync для низкоуровневой универсальной синхронизации файлов через сервер

инкрементно в фоновом режиме в офлайн передает все новые пакеты всем заинтересованным получателям в BiointaIo

Данный интерфейс промежуточного уровня предназначен для обеспечения фоновой синхронизации данных через HTTP сервер или по локальной сети для таких задач как обеспечение передачи нативных сигналов для сервера функциональной диагностики в офлайн, прием данных от пациента в бытовых условиях и отложенной синхронизация обновлений реляционных БД между рабочими станциями не находящимися в постоянном онлайн-соединении.

Два класса обеспечивают распространение появляющихся на исходящем конце файлов и последовательный прием на получающих концах всего вновь появившегося когда оно достигает сервера.

BiioSync использует BiioPump для перекачки файлов по сети в режиме оптимизированном для надежной (без выбрасывания "не успевающих" и "старых" данных) офлайновой, фоновой и постепенной передачи файлов не ограниченного размера ограниченными фрагментами. С возможностью продолжения перекачивания при прерывании процесса.

Отсылка

Для инициации посылки файла любого размера приложению достаточно вызвать CBiioSyncOutIfaceGp::StartFileSync(pathOriginal, sSecurityId) для появившегося у него файла.

BiioSync использует FileMultipart для разрезания больших файлов на мелкие кускипрозрачным для приложения образом.

Для фоновой отсылки фрагментов используются внутренние средства полинга BiioPump и приложению об этом заботится не нужно.

Прием

На получающем конце CBiioSyncInIfaceGp::PollBiioSyncIn(pathRestoreInto) размещает в указанной директории успешно полученные файлы после их восстановления из фрагментов скаченных с сервера.

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

Для постепенного скачивания фрагментов и хранения их во приватной директории используются внутренние средства полинга BiioPump и приложению об этом заботится не нужно.

Инициализация

При инициализации как и в других сервисах BiointaIo приложение указывает класс сетевого драйвера и BiioLocator идентифицирующий канал передачи, параметры кеширования, тайминга и т.п.

Разделение доступа

Механизм отсылки предусматривает дескриптор доступа к отсылаемым в файле данных а приемный конец и/или сервер фильтрацию входящих данных на основании дескрипторов текущего логина. Сервер может ассоциировать имя пользователя и пароль с правами доступа к определенным дескрипторам (что находится за пределами функциональности BiioSync).

UI

Приложению передается число файлов в исходящей и входящей очереди. Предполагается добавить счетчики файлов на сервере и переданных пакетов для более продвинутой прогресс индикации.

Ограничения
  • Разрезание исходящих файлов и слепление их обратно происходит синхронно. Распараллеливание этого может потребоваться для ситуаций с очень большими файлами.

Данный интерфейс промежуточного уровня предназначен для обеспечения фоновой синхронизации данных через HTTP сервер или по локальной сети для таких задач как обеспечение передачи нативных сигналов для сервера функциональной диагностики в офлайн, прием данных от пациента в бытовых условиях и отложенной синхронизация обновлений реляционных БД между рабочими станциями не находящимися в постоянном онлайн-соединении.

Два класса обеспечивают распространение появляющихся на исходящем конце файлов и последовательный прием на получающих концах всего вновь появившегося когда оно достигает сервера.

BiioSync использует BiioPump для перекачки файлов по сети в режиме оптимизированном для надежной (без выбрасывания "не успевающих" и "старых" данных) офлайновой, фоновой и постепенной передачи файлов не ограниченного размера ограниченными фрагментами. С возможностью продолжения перекачивания при прерывании процесса.

Отсылка

Для инициации посылки файла любого размера приложению достаточно вызвать CBiioSyncOutIfaceGp::StartFileSync(pathOriginal, sSecurityId) для появившегося у него файла.

BiioSync использует FileMultipart для разрезания больших файлов на мелкие кускипрозрачным для приложения образом.

Для фоновой отсылки фрагментов используются внутренние средства полинга BiioPump и приложению об этом заботится не нужно.

Прием

На получающем конце CBiioSyncInIfaceGp::PollBiioSyncIn(pathRestoreInto) размещает в указанной директории успешно полученные файлы после их восстановления из фрагментов скаченных с сервера.

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

Для постепенного скачивания фрагментов и хранения их во приватной директории используются внутренние средства полинга BiioPump и приложению об этом заботится не нужно.

Инициализация

При инициализации как и в других сервисах BiointaIo приложение указывает класс сетевого драйвера и BiioLocator идентифицирующий канал передачи, параметры кеширования, тайминга и т.п.

Разделение доступа

Механизм отсылки предусматривает дескриптор доступа к отсылаемым в файле данных а приемный конец и/или сервер фильтрацию входящих данных на основании дескрипторов текущего логина. Сервер может ассоциировать имя пользователя и пароль с правами доступа к определенным дескрипторам (что находится за пределами функциональности BiioSync).

UI

Приложению передается число файлов в исходящей и входящей очереди. Предполагается добавить счетчики файлов на сервере и переданных пакетов для более продвинутой прогресс индикации.

Ограничения
  • Разрезание исходящих файлов и слепление их обратно происходит синхронно. Распараллеливание этого может потребоваться для ситуаций с очень большими файлами.