Введение
1.1. Глоссарий
Главный сервер (Main Server) — приложение, выполняющее управление и координацию других элементов системы.
Данные распределённой системы — данные, которыми оперирует распределённая система. В их перечень входят: личные данные пользователя, состояние участка игрового мира в определённый момент времени, описание карты игрового мира.
Игрок (Player) — пользователь распределённой системы.
Игровой мир — имитационная модель обработка, которой является основной целью распределённой системы.
Карта игрового мира (Map) — определенная часть игрового мира.
Сервер карты (MapServer) — приложение, способное обрабатывать отдельный участок игрового мира, предоставлять игроку функции взаимодействия с игровым миром. Сервер карты способен взаимодействовать с другими компонентами системы.
Сервер резервного копирования (BackUp Server) — предназначен для хранения и выдачи по требованию данных, обрабатываемых в распределённой системе.
Подсистема ОПРОД — подсистема обеспечения процесса распределённой обработки данных.
Подсистема ОИМ — подсистема обработки игрового мира.
Координатор — класс, публикуемый сервером, для взаимодействия с клиентом.
1.2. Описание предметной области
В последнее время большую популярность приобретают сетевые приложения, предоставляющие большому количеству пользователей работать с некоторой достаточно сложной имитационной или математической моделью (см. [7]). Ярким примером данного приложения являются сетевые игры.
К подобным приложениям предъявляются достаточно высокие требования к надежности оборудования и скорости обработки информации. Однако использование дорогостоящих серверов и RAID массивов не всегда доступно. К тому же к подобным сетевым приложениям предъявляются высокие требования совместимости с различными операционными системами.
1.2.1. Проект «Библиотека для распределённых пошаговых игр»
В рамках проекта «Библиотека для распределённых пошаговых игр» должен быть разработан программный продукт, предоставляющую игроку возможность взаимодействовать с объектами игрового мира и другим игроками. Компоненты системы должны взаимодействовать по сети, использующей протокол TCP/IP (см. [2]). Также должна быть обеспечена высокая степень отказоустойчивости и скорость обработки данных, на сравнительно дешёвом оборудовании.
1.2.2. Описание совместной деятельности
Разработка библиотеки для распределенных пошаговых игр была разделена на два максимально независимые блока подзадач:
1. Создание подсистемы обеспечения процесса распределённой обработки данных.
2. Создание подсистемы обслуживания игрового мира.
Во второй блок входит проектирование и реализация имитационной модели игрового мира и подготовка обзора существующих методов создания распределённых пошаговых игр.
Первый блок задач был решён студентом группы 236 Ряжских Алексеем, второй Тришиным Павлом (см. [12]).
Оба блока достаточно независимы, благодаря этому возможна их независимая реализация и защита. Благодаря особенностям архитектуры подсистема обеспечения процесса распределённой обработки данных, при некоторой доработке, способна работать с другой имитационной либо математической моделью.
1.3. Неформальная постановка задачи
Подсистема ОПРОД должна стать частью библиотеки для распределённых пошаговых игр. Данная подсистема должна обеспечить подсистему обработки игрового мира следующими возможностями:
• Взаимодействие с игроком:
o Приём команд от игрока.
o Передача информации о состоянии игрового мира.
o Регистрация и авторизация игрока в игре.
o Возможность «переброски» игрока с одного
|