Project

General

Profile

Сервис интеграции с RAS

Назначение сервиса

Сервис интеграции с RAS (далее "сервис") предназначен для синхронизации рекламного расписания, обмена данными между сервером RAS (далее "RAS") и медиа базой данных/расписанием DIGISPOT и предоставления сведений о вышедших в эфир элементов RAS.

С помощью сервиса осуществляется получение рекламного расписания от RAS, формирование по нему расписания DIGISPOT с последующим получением и обработкой нотификации об изменениях в расписании, предоставление RAS’у сведений о вышедших элементах.

Администрирование доступа к сервису

Администратор системы DIGISPOT имеет возможность ограничить доступ к конфигурированию сервиса.
Для ограничения доступа к изменению настроек сервиса используется право Настройка параметров системы администрирования DIGISPOT.

Инсталляция и настройка сервиса

Перед настройкой сервиса на комплексе необходимо

  • установить ПО DIGISPOT II
  • установить DIGISPOT 3 WEB
  • подключить ПО DIGISPOT II и DIGISPOT 3 WEB к одной и той же БД
  • выполнить на БД скрипт mdb_ras_update.sql для создания в БД пользовательского атрибута RAS
  • с помощью параметра Интеграция\RAS\Категория хранения по умолчанию в Общих настройках системы DIGISPOT II настроить категорию для хранения RAS элементов
  • установить cервис_sch_to_db
  • подключить сервис sch_to_db к БД и корневому каталогу комплекса
  • в Общих настройках системы DIGISPOT II на закладке Пользовательские свойства создать пользовательское свойство с параметрами:
    • Название = RASGuid
    • Описание = RASGuid
    • Тип = String
    • Применение = Элементы: Реклама

ПРИМЕЧАНИЕ: Создание пользовательского свойства не обязатено. Оно необходимо для возможности отображать значение RASGuid в виде отдельного столбца в модуле расписания и БД.

Настройка сервиса выполняется через web-интерфейс DIGISPOT 3 на странице настроек Radio Ad-Server.
Для настройки необходимо указать расписания, которые подлежат синхронизации. Для каждого расписания нужно задать

  • Логин
  • Пароль
  • Тип запуска сервиса (Автоматический/Ручной):
    • Автоматический - при запуске сервиса подключение к RAS выполняется автоматически
    • Ручной - управление подключением к RAS осуществляется вручную

Логин и пароль для каждого расписания являются уникальными, их необходимо получить от RAS.

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

Управление сервисом и отслеживание его состояния выполняется на странице настроек Radio Ad-Server.

Для каждого расписания отслеживание состояния и управление сервисом осуществляется раздельно.

Состояние работы сервиса определяется положением кнопок:

  • – сервис запущен
  • – сервис остановлен

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

  • ОК - последняя операция отправки данных\запроса данных от сервера RAS выполнена успешно
  • Ошибка - в ходе отправки данных\запроса данных от сервера RAS произошла ошибка
  • Неизвестно - сведения о состоянии связи с сервером RAS неизвестны

При появлении ошибок в ходе работы сервиса информация о последней ошибке отображается в столбце Последняя ошибка.

Сбросить сведения о последней ошибке можно с помощью кнопки , выделив строку с необходимым расписанием.
При этом состояние связи с сервером "Ошибка" сбрасывается в состояние "Неизвестно".

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

Технология работы сервиса интеграции с RAS

Идентификация и отображение данных

Сервис может получать от RAS следующие данные:

  • Ролик. Каждый ролик RAS имеет свой GUID и привязанный к нему звуковой файл
  • Элемент расписания. Элемент расписания RAS идентифицируется по BookingId (позиция ролика в расписании) и GUID’у ролика

При получении ролика от RAS GUID ролика сохраняется в значении пользовательского свойства RASGuid элемента БД.
Значение пользовательского свойства RASGuid элемента может отображается в модуле расписания и БД в виде отдельного столбца.

Элементу БД, полученного от RAS, устанавливается пользовательский атрибут RAS.

Значение BookingId отображается в модуле расписания в виде отдельного столбца, а также в окне свойств элемента расписания на закладке Доп.

Редактирование значения BookingId элемента, полученного от RAS, невозможно.

Взаимодействие сервиса и RAS

После установления соединения между сервисом и RAS сервис находится в состоянии ожидания данных от RAS.
Взаимодействие между сервисом и RAS’ом осуществляется только по событиям от RAS.
От RAS могут приходить следующие события:

  • Создать новый ролик. По команде от RAS ролик скачивается и добавляется в БД. Если ролик в БД уже существует, то он обновляется.
  • Создать элемент(ы) расписания. По запросу от RAS по BookingId и GUID выполняется создание элемента в расписании.
    Если при добавлении ролика в расписание оказывается, что он отсутсвует в БД, то выполняется создание ролика в БД и связывание нового элемента БД с уже созданным элементов в расписании.
  • Изменить элемент расписания. По запросу от RAS выполняется изменение элемента расписания с указанным значением BookingId и привязанным к нему GUID.
  • Удалить элемент расписания. По запросу от RAS по BookingId сервис удаляет из расписания элементы с соответствующими значениями BookingId.
  • Запрос на лог воспроизведения. По запросу от RAS по BookingId сервис передает RAS’у сведения о вышедших элементах.

Таким образом сервис обрабатывает нотификацию от RAS о получении новых роликов и о добавлении, изменении и удалении роликов в расписании.
После обработки нотификации о получении новых роликов, сервис скачивает файлы с сервера RAS и добавляет их в БД, в категорию хранения RAS по умолчанию.
При получении очередного файла от RAS он конвертируется в стандартный формат и все элементы расписания, которые с ним связаны, обновляются на предмет реальной длительности.

ПРИМЕЧАНИЕ: Ролики от RAS должны приходить раньше элементов расписания. Обратное поведение считается нештатным, но сервис его может обрабатывать.
Для того, чтобы ситуация обрабатывалась корректно должна быть включена и настроена система автоматического обновления элементов расписания из БД.

Получение расписания от сервера RAS осуществляется двумя способами:

  • Получение расписания от RAS
  • Импорт сгенерированного трафик-менеджером txt-файла в расписание DIGISPOT

Получение расписания от RAS

Рекламное расписание DIGISPOT II формируется по командам от RAS на создание\изменение\удаление элементов расписаний.

Импорт расписания из txt-файла

Для получения расписания посредством импорта из текстового файла в системе DIGISPOT должен быть настроен формат импорта.
При этом в списке полей, указанных в настройках формата импорта должны быть поля RAS Booking Id, RASGuid (GUID элемента) и ID Number.

ПРИМЕЧАНИЕ: В качестве ID Number’a может использоваться значение RASGuid, если у элемента нет своего собственного ID Number’a.

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

  • идентификатор элемента (GUID)
  • идентификатор элемента расписания, который добавлен из RAS (BookingId)
  • ID Number

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

File BookingId RASGuid ID Number Time
test_0.mp3 DIGV.TST._12_0_0 ff4edada-9b77-4b01-94cd-63f18775d3aa ID1 12:00
test_1.mp3 DIGV.TST._12_0_1 cc1a784c-91c6-4b87-963b-74795d57fd7b ID2 12:05

При импорте расписания из текстового файла в элемент расписания сохраняются сведения о принадлежности элемента к RAS.
Перед добавлением элемента из RAS в БД выполняется поиск элемента в БД по ID_Number.

  • Если элемент найден в БД, он вставляется в расписание.
  • Если элемент в БД не обнаружен, то в БД создается пустой элемент (без файла) и вставляется в расписание.
    Для пустого элемента файл может быть скачан позже, непосредственно по запросу от RAS.
    Для того, чтобы элемент, после привязки к нему файла, обновился в расписании, должна быть включена система автоматического обновления расписания из БД.

В случае обрыва соединения между сервисом и RAS’ом из-за ошибки, выполняется автоматическое восстановление соединения.
В случае неудачи при восстановлении соединения выполняется повторная попытка до тех пор пока соединение не будет установлено.

Формирование списка вышедших в эфир элементов RAS

Сведения о проигранных элементах БД DIGISPOT, полученных от RAS, автоматически заносятся в соответствующую таблицу БД с указанием BookingId.
По запросу от RAS по BookingId сервис передает RAS’у сведения о том, какие из этих элементов вышли в эфир.

Add picture from clipboard (Maximum size: 742 MB)