Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тексты СКС.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
56 Кб
Скачать
☆

Вариант 7

Для отображения сложного графического контента (видео, трехмерных моделей), размещенного на веб-ресурсах, необходимы специальные плагины к браузерам, кроме того со стороны сервера воспроизведение подобного контента затратно по времени и трафику. Появившаяся не так давно библиотека WebGL позволяет решать задачи, связанные с визуализацией графических данных более эффективно. Это программная библиотека для языка программирования JavaScript позволяющая создавать интерактивную 3D-графику отображаемую средствами совместимых с ней веб-браузеров. За счёт использования низкоуровневых средств поддержки OpenGL часть кода на WebGL может выполняться непосредственно на видеокартах.

Основное преимущество данной технологии заключается в использовании ресурсов ПК клиента, что определяет зависимость скорости рендеринга сложных полгинов от мощности клиентской видеокарты и процессора и оставляет в прошлом зависимость от качества интернет-соединения. Для разработки на WebGL используется несколько библиотек. Первой общедоступной стала библиотека WebGLU. Среди других библиотек для WebGL: GLGE, C3DL, Copperlicht, SpiderGL, gwt-g3d (обёртка для GWT), SceneJS, X3DOM, Processing.js, Three.js, Turbulenz, OSGJS, XB PointStream и CubicVR.js.

В рамках разрабатываемого проекта была выбрана вышеописанная библиотека WebGL и на ее базе разработано программное обеспечение для создания и визуализации интерактивного трехмерного контента. Пользователь может легко вмонтировать разработанный программный модуль в свой веб-ресурс с помощью специального тега с параметрами, которыми можно конфигурировать режим работы и особенности отображения 3D сцены. Встраиваемый модуль может работать в режиме редактора и в режиме визуализации созданного ранее контента. В первом случае пользователь веб-ресурса может создавать трехмерные диаграммы, схемы различных иерархий, деревья объектов различной степени сложности. Во втором случае пользователь веб-ресурса не может изменять представленное ему трехмерное дерево, он способен лишь взаимодействовать с ним в заданных создателем отображенного трехмерного дерева рамках. Если же атрибуты тега не заданы, модуль будет функционировать с набором параметров по умолчанию.

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

Вариант 8

Современная индустрия телекоммуникаций предъявляет жесточайшие требования к отказоустойчивости программного обеспечения: стандартным требованием является «99.999% доступности», что означает, что разрабатываемое ПО не может простаивать в результате отказов более 5.25 минуты в год. В то же время, стремительный рост числа пользователей приводит к многократному увеличению объёмов обрабатываемого трафика: например, количество отправленных пользователями мобильных сетей SMS-сообщений увеличилось с 7.8 трлн. в 2011 г. до 8.6 трлн. в 2012 г. [1]

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

В качестве примера рассмотрим широко распространённую в индустрии задачу маршрутизации СМС-трафика корпоративных клиентов для среднестатистического оператора сотовой связи с несколькими миллионами абонентов. Как показывает практика, для достаточного покрытия потребностей такой абонентской базы в часы пиковой нагрузки, система маршрутизации должна обрабатывать не менее тысячи сообщений в секунду. Обработка каждого сообщения включает в себя следующую последовательность действий:

 получение сообщения от клиента;

 проведение биллинговой транзакции по счёту клиента;

 запись в БД полной информации о сообщении для статистических отчётов;

 проверка ограничений («чёрные списки», ограничения трафика клиента);

 расчёт маршрута к получателю с учётом MNP (переносимости абонентского номера);

 обновление окончательного статуса доставки в БД.

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

Разработка архитектуры ПО для реализации такой системы требует решения нескольких непростых задач. Мы оставим задачи организации, хранения данных в БД и доступа к ним за рамками данного доклада и сосредоточимся на решении задач организации параллельной обработки и отказоустойчивости.