Научная статья на тему 'Программный мониторинг мобильных устройств'

Программный мониторинг мобильных устройств Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
81
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Программный мониторинг мобильных устройств»

Программный

мониторинг

мобильных

устройств

Н.В. Курков,

студент 4-го курса, специальность «Информационные системы и технологии»

Введение

Для программного мониторинга мобильных устройств необходима информационная система, собирающая у мобильных устройств (далее - ИМУ, индивидуальное мобильное устройство) данные и представляющая их в удобном для пользователя формате.

В данном случае отслеживается географическое положение ИМУ, следовательно данные, присылаемые ИМУ, должны быть их координатами в текущий момент времени. На основе присылаемых координат, а также времени, когда эти координаты были получены, можно сделать выводы об активности того или иного ИМУ, а также его скорости. Для удобства наблюдения, по получаемым координатам можно строить траекторию движения ИМУ. На основе данных об активности устройств, а также об их скорости, можно сделать вывод о средней скорости всех активных ИМУ.

Кроме того, необходимо знать общую информацию о самом ИМУ, такую как модель ИМУ, информацию о владельце ИМУ, а также операционную систему.

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

Система-монитор должна выполнять три основные функции, то есть хранение данных ИМУ, прием данных от ИМУ и визуализация данных ИМУ. Самой логичной архитектурой системы-монитора в

81

этом случае представляется трехуровневая архитектура построения приложения. Для простоты доступа и изменения системы, средствами для разработки системы, выбраны web-технологии, то есть HTML+JavaScript (с использованием технологий AJAX) для уровня визуализации, PHP+Apache для уровня обработки данных. Для уровня хранения данных выбрана база MySQL с функциями обращения к базе данных на PHP.

Задача

Система-монитор должна поддерживать регистрацию ИМУ. Регистрационная информация содержит:

- имя устройства в системе;

- пароль для доступа к системе;

- общее описание устройства;

- операционная система устройства;

- модель устройства.

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

Система-монитор должна хранить как регистрационные данные ИМУ, так и геолокационную информацию.

На основе получаемой геолокационной информации система должна делать выводы о местоположении, активности и скорости движения ИМУ. На основе этих, а также регистрационных данных система должна отображать общие данные о количестве всех устройств, активных устройств, а также средней скорости устройств.

Визуализация геолокационных данных об устройствах (местоположение, скорость движения) должна быть реализована как текстом, так и в привязке к карте. Также, в привязке к карте система-монитор должна уметь строить траекторию движения каждого ИМУ.

Требования к архитектуре

Трехуровневая архитектура содержит:

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

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

82

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

Представление ИМУ на различных архитектурных уровнях

На уровне хранения данных ИМУ представлено как две сущности: постоянные данные (совпадающие с регистрационными) и постоянно обновляемые (геолокационные).

Сущность постоянных данных имеет следующие атрибуты: имя устройства в системе, пароль, общее описание устройства, операционная система, модель ИМУ.

Сущность геолокационных данных имеет атрибуты: имя устройства в системе, время добавления геолокационных данных, координаты устройства.

Учитывая, что информация на уровне хранения данных находится в базе данных MySQL, эти сущности представлены таблицами.

Сущность постоянных данных ИМУ представлена таблицей IMD, содержащей следующие поля:

- имя устройства в системе: name, поле типа varchar, ключевое;

- пароль (mdS-сумма пароля): pass, поле типа varchar;

- общее описание устройства: description, поле типа text;

- операционная система: os, поле типа varchar;

- модель устройства: model, поле типа varchar.

Сущность обновляемых данных ИМУ представлена таблицей coords, содержащей следующие поля:

- имя устройства в системе: name, поле типа varchar, ключевое;

- дата и время добавления записи: dt, поле типа datetime;

- координаты ИМУ: lat и lng, поля типа float.

На уровне визуализации данных, каждое ИМУ представлено в качестве объекта.

Этот объект содержит свойства:

- имя устройства в системе: name;

- модель устройства: model;

- описание устройства: description;

- операционная система устройства: OS;

- координаты устройства: lat и Ьд(в градусах);

- активность устройства: active (тип Date).

И методы:

- вычисление времени работы устройства (на основе свойства active): getUptime; метод не принимает аргументов и возвращает время работы или сообщение о неактивности в виде строки;

83

- вычисление скорости (на основе координат): getSpeed; метод не принимает аргументов и возвращает абсолютную скорость в метрах в секунду как целое число. Для работы этого метода объекту

добавлены дополнительные свойства «прошлые координаты»: last____lat,

last_lng. Для вычисления расстояний используется формула гаверсину-

сов [1];

- визуализация траектории (на основе координат): showPath; метод не принимает аргументов и не возвращает значений. Для работы этого метода добавлены свойства coordsArray (массив, содержащий объекты координат latLng в формате google maps API), path (объект google maps API, содержащий траекторию), а также метод hidePath, скрывающий траекторию и обнуляющий свойство path;

- создание отображения ИМУ на карте: createMarker; метод не принимает аргументов и не возвращает значений. Для работы этого метода добавлено свойство marker, содержащее объект маркера в формате google maps API.

На уровне обработки данных ИМУ не имеет четкого представления, так как этот уровень в данной конкретной системе-мониторе служит лишь «прослойкой» для передачи нужных данных от уровня хранения данных к уровню визуализации и обратно, а также передачи и обработки данных от ИМУ.

В качестве представления ИМУ на этом уровне можно привести список запросов, на которые он отвечает:

1. Регистрация нового ИМУ. От устройства принимаются следующие его постоянные параметры:

- имя устройства в системе, name;

- пароль для доступа к системе, pass;

- общее описание устройства, description;

- модель устройства, model;

- операционная система ИМУ, os.

2. Получение обновляемых данных (географических координат) от ИМУ с проверкой соответствия пары «имя пользователя -пароль». Устройство присылает следующие параметры:

- имя пользователя в системе, name;

- пароль, pass;

- координаты, lat, lng.

К уровню хранения данных также отправляется время занесения записи.

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

- имя устройства, name;

- общее описание устройства, description;

84

- модель ИМУ, model;

- операционная система, os;

- последние, присланные данным устройством, координаты в период времени до двадцати секунд с текущего момента: lat, lng.

4. Запрос на получение координат активных устройств. Устройство не присылает данные, а ответ состоит из массива, в котором каждая запись содержит имя устройства в системе (name) и последние присланные данным устройством координаты в период времени до двадцати секунд с текущего момента (lat, lng).

Общий алгоритм работы системы

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

Для каждого ИМУ создается объект, описанной в предыдущем разделе структуры. Некоторые свойства могут различаться для активных и неактивных на момент включения монитора устройств.

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

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

Стоит отметить, что прием сервером координат или регистрационных от ИМУ не зависит от активности, или неактивности уровня визуализации системы и осуществляется в любое время работы сервера.

Итоговые возможности системы

85

Интерфейс системы содержит карту с отображением ИМУ, два информационных поля и селектор ИМУ.

На карте треугольниками отображается текущее положение активных ИМУ, обновляющееся с периодичностью в десять секунд. Цвет треугольника находится в степенной зависимости от скорости движения ИМУ, от белого до красного. Белым цветом обозначается находящееся на месте ИМУ, красным - ИМУ, движущееся со скоростью 180 км/ч.

При нажатии на значок ИМУ на карте, информация о нем отображается в верхнем информационном поле.

Верхнее информационное поле содержит следующую информацию:

• Имя устройства.

• Модель устройства.

• Операционная система.

• Описание устройства.

• Активность.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• Скорость.

• Широта.

• Долгота.

• Время работы.

Нижнее информационное поле содержит следующую информацию:

• Количество активных ИМУ.

• Количество зарегистрированных ИМУ.

• Средняя скорость.

Селектор позволяет выбрать любое ИМУ (в том числе неактивное) для просмотра информации о нем в верхнем информационном поле.

Библиографический список

1. R.W. Sinnott, «Virtues of the Haversine», Sky and Telescope. -Vol. 68. - № 2, 1984. - Р. 159.

86

i Надоели баннеры? Вы всегда можете отключить рекламу.