Служба распространения файлов

Служба распространения файлов Pitram (PFDS) позволяет сопоставлять файлы из различных источников и распространять их среди нескольких клиентов (обычно мобильных устройств) через службу сервера.

Чаще всего PFDS используется для распространения файлов с настольного ПК (например, где редактируются файлы Carlson) на мобильные устройства Pitram (например, с программным обеспечением Carlson). При этом, служба PFDS также должна иметь возможность обработать событие, если исходные файлы были загружены на мобильное устройство с помощью других средств, например, с запоминающего устройства USB. В связи с этим решение смоделировано по типу двухстороннего стиля синхронизации "выпадающего списка".

Компоненты программного обеспечения

Программное обеспечение состоит из двух компонентов:

  • Служба центрального сервера
  • Приложение запуска коннектора клиента

Служба сервера

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

Коннектор клиента

Коннектор клиента можно установить на любом клиентском компьютере, которому требуется доступ к «раскрывающемуся списку» распространения файлов Pitram (т.е. синхронизированной папке). Как правило, производится множество установок клиентских коннекторов на мобильных устройствах и на офисных компьютерах, которые будут распространять файлы на другие устройства. Коннектор клиента использует одно TCP-соединение для подключения к серверу PFDS. Он не подключается ни к каким другим службам Pitram.

Основные понятия / Терминология

Удаленная коробка (Remote Box) Удаленную коробку можно представить в виде почтового ящика, центрального «участка», в котором синхронизируются файлы между разными компьютерами. Удаленная коробка идентифицируется через RemoteBoxId (см. ниже).
RemoteBoxId «Адрес» для определения «местоположения папки» (Удаленная коробка), которая будет синхронизироваться между несколькими компьютерами. Это может быть любая строка.
Папка Просмотренное Корневая папка службы распространения файлов.
PFDS Служба распространения файлов Pitram (эта система).

Управление версиями файлов

Управление версиями файла запишет дату и время, когда файл в папке «Просмотренное» будет:

  • перенесён в папку,
  • отредактирован,
  • переименован, либо
  • удален

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

Санкции и ограничения

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

Максимальный размер файла 100 МБ (104857600 байт, где 1 МБ - 1048576 байт)
Разрешение конфликтов Приоритет имеет файл с наиболее поздней датой и временем.
Синхронизация часов компьютера Для правильной работы двусторонней синхронизации необходимо выполнить синхронизацию со временем системы.
Внимание: Следует соблюдать осторожность при редактировании файлов в папках "просмотрено" с помощью программного обеспечения, которое может использовать много промежуточных и временных файлов, например, продукты MS Office, в частности Excel. В большинстве случаев эти файлы в удаленной системе «должны» в конечном итоге быть корректными, однако, если сеанс редактирования прерывается, мы все равно можем получить несовместимые состояния.
Поддержка папок Пустые папки не поддерживаются.

Учетная запись службы авторизации и допусков

Предпочтительно, чтобы служба входила в «Локальную систему». Службе сервера должно быть разрешено:

  • Чтение / запись в базу данных распространения файлов
  • Чтение / запись в файловую систему
  • Связь через WCF / TCP
  • Запись в журнал событий Windows

Клиентская служба должна иметь следующие возможности:

  • Чтение / запись в файловую систему
  • Связь через WCF / TCP
  • Возможность открыть порт HTTP (см. информацию о времени выполнения ниже)
  • Запись в журнал событий Windows

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

Информация о времени выполнения

Коннектор клиента запускает конечную точку REST с собственным размещением для запросов времени выполнения, которая используется системой Pitram Mobile, и для любых внешних приложений (включая собственную страницу диагностики). Эти параметры конфигурируются полями RuntimeInfoEndpointServer и RuntimeInfoEndpointServerPort в файле PFDCConfiguration.xml. Эти значения по умолчанию никогда не должны изменяться. При установке будут добавлены необходимые разрешения, чтобы служба могла использовать этот http-порт (831). Если этот порт когда-либо изменяется, то резервирование http необходимо будет обновить вручную с помощью команды netsh.

Если информация о времени выполнения не работает, в командной строке администрирования можно запустить следующую команду:

netsh http show urlacl > x.txt

Это должно привести к чему-то вроде:

Зарезервированный URL: http: // +: 831 /

Пользователь: PERTH \ timmy

Прослушивание: да

Делегирование: нет

SDDL: D:(A;;GX;;;S-1-5-21-1547161642-764733703-854245398-2674)

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

netsh http add urlacl url=http://+:831/ user="NT AUTHORITY\Authenticated Users"

Чтобы вручную удалить:

netsh http delete urlacl url=http://+:831/

Символ "/" важен.

Страница администрирования

PFD-коннектор клиента предоставляет простую страницу администратора, которую можно использовать для диагностики, особенно на устройстве Mobile, если трудно получить доступ к компьютеру. Это функция, которая помогает с внутренней поддержкой и диагностикой, в частности, позволяет легко просматривать информацию об отслеживании, которой очень много.

Для перехода к имени компьютера можно использовать веб-браузер. Чтобы открыть страницу администратора, необходимо указать информационный порт времени выполнения:

e.g. http://mm000851:831

Эта страница обеспечивает легкий удаленный доступ к некоторым распространенным диагностическим операциям, как описано ниже.

Агенты Debug View

При установке PFDS установится экземпляр Debugview (основной инструмент, используемый для просмотра информации по диагностическим сообщениям). Запустив Debugview в режиме «агент» на удаленном компьютере, можно подключиться к другому экземпляру Debugview на локальном компьютере, чтобы перехватить удаленное отслеживание.

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

Уровень отслеживания

Здесь можно настроить уровень удаленной трассировки, который динамически определяется разъемом.

Журнал сообщений

Позволяет просматривать последние 50 или около того сообщений, зарегистрированных в коннекторе. Это быстрый просмотр сообщений, замещающий опцию Debugview (т.е. его можно использовать на устройстве, отличном от ПК, на котором не установлено Debug View, например, на планшете или мобильном телефоне, или на ПК, на котором не установлено стоит Debugview).

Удаленные файлы (дистанционные)

Предоставляется список файлов (и меток времени), которые просматриваются коннектором.

Служба сервера (Server Service)

Клиентский коннектор