↑ Вернуться: Sky engine 2

SkyUD

Для нужд дистрибуции/обновления по интернету созданных приложений в состав SkyEngine2 входит специальный компонент – SkyUpdate (сокращенно SkyUD). SkyUD реализует гибридную парадигму распространения информации: в системе используются как центральный сервер (или группа серверов, для повышения надёжности), так и p2p-механизм скачивания (протокол, используемый SkyUD является полностью открытым). Такое решение позволяет обслуживать большое кол-во клиентов (с характерной пиковой нагрузкой в момент выхода обновлений) с минимальными затратами: один сервер может обслуживать от 2-х тысяч до миллиона одновременно скачивающих клиентов (о преимуществах данного решения имеется отдельная статья).

В состав SkyUD входят следующие компоненты:

  • SkyUD Image – утилита для генерации метафайлов с информацией об образах приложений
  • SkyUD Sign – утилита для создания сертификатов и подписей образов приложений
  • SkyUD Server – сервер для ОС Linux, выступающий первичным источником образов и единой точкой обмена информацией о других клиентах, скачивающих данный образ
  • SkyUD Client – библиотека для скачивания дистрибутивов/обновлений

Использование SkyUD предполагает наличие у приложения специальной запускающей программы (при её создании используется SkyUD Client), которая занимается скачиванием/обновлением приложения. Сама эта программа скачивается/обновляется отдельно с использованием простейших механизмов, т.к. имеет крайне незначительный объём: менее 600КБ в простейших случаях и до 768-1024КБ в более сложных.

При разработке SkyUD рассматривались 3 основных варианта использования запускающей программы:

  • Простейшая запускающая программа
    В задачу такого приложения входит только проверка целостности образа/наличия обновлений (при необходимости – скачивание требуемых данных) и передача управления основному приложению. В качестве источника обновлений для запускающего приложения и метафайлов с информацией об образе приложения обычно используется web-сервер.
  • Запускающая программа, отвечающая за настройку параметров основного приложения
    От предыдущего варианта отличается тем, что вместо немедленной передачи управления основной программе позволяет настраивать параметры основной программы (например разрешение экрана, качество рендеринга и т.п.). Также такая программа может иметь возможность бенчмаркинга/автоматического подбора параметров основного приложения путём запуска последнего в режиме тестирования производительности (при автоматическом подборе параметров может потребоваться несколько запусков).
  • Запускающая программа для МО/ММО игр
    Т.к. подобные игры обычно содержат процедуру авторизации пользователя, а также другие специфические вещи (вроде управления аккаунтом, оплаты, специального интерфейса обращения в службу тех. поддержи и т.д.), то предполагается что такие механизмы будут вынесены именно в запускающую программу. В таком случае запускающая программа устанавливает безопасное соединение (в том числе с подтверждением подлинности сервера) с логин-сервером игры, а значит его можно использовать вместо web-сервера, как источник обновлений для запускающего приложения и метафайлов с информацией об образе приложения.