РАЗРАБОТКА ВЫСОКОНАГРУЖЕННОЙ ПРОГРАММНО-ИНФОРМАЦИОННОЙ СИСТЕМЫ ОКАЗАНИЯ УСЛУГ С УЧЕТОМ ГЕОЛОКАЦИОННЫХ ДАННЫХ ПОЛЬЗОВАТЕЛЯ - Студенческий научный форум

VII Международная студенческая научная конференция Студенческий научный форум - 2015

РАЗРАБОТКА ВЫСОКОНАГРУЖЕННОЙ ПРОГРАММНО-ИНФОРМАЦИОННОЙ СИСТЕМЫ ОКАЗАНИЯ УСЛУГ С УЧЕТОМ ГЕОЛОКАЦИОННЫХ ДАННЫХ ПОЛЬЗОВАТЕЛЯ

Калмыков Д.Ю. 1, Калмыков Д.Ю. 2, Панцакова Ю.П. 1
1Волжский Политехнический Институт
2IMEC.PRO
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

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

Стоит отметить, что не только производительность, но и безопасность, является основным аспектом создания Web 2.0 приложения. Одним из критериев безопасности, является идентификация пользователя на ресурсе, но связка логин/пароль в современной концепции SSO (Single sign-on, одна авторизация на множестве ресурсов) не позволяет гарантировать подлинность пользователя , сходную с локальными приложениями.

В результате исследования было выделено 4 механизма идентификации пользователя, суммарный результат которых близок к 90% деанонимизации пользователя ресурса.

1. Технология evercookie

2. Индивидуальный геолокационый след

3. HTTP-заголовки

4. Данные с источников в открытом доступе

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

Помимо идентификации пользователя, в высоконагруженной системе существует проблема ускоренного анализа ближайших геолокационных точек. Очевидный подход в данном случае завести в таблице два поля — широта/долгота. Можно использовать double precision(float8), который занимает 8 байт. В итоге нам потребуется 16 байт для хранения координат одного пользователя. Но есть и другой подход, который называется geohashing. Идея простая. Широта и долгота кодируется в число, которое затем кодируется в base-32. Карта разбивается на матрицу размера 4x8 и каждой ячейке присваивается некоторый символ(alphanumeric). Чтобы повысить точность, каждая ячейка разбивается на более мелкие, при этом к коду добавляются символы(если быть точным цифры, а после происходит кодирование в base-32).

Разбиение можно производить до необходимой точности. Такой код уникален для каждой точки.

Данный код обратим. Многие технологии уже имеют встроенные методы для работы с гео-хешами, например, MongoDB.

Пример: координаты 57.64911,10.40744 будут закодированы в u4pruydqqvj (11 символов). Если требуется меньшая точность, то и код будет меньше.

Список литературы:

  1. Apostolos N. Nearest neighbor search. London, 2005, 170 p.

  2. Verleysen M., Blondel V. Unique in the Crowd: The privacy bounds of human mobility. Scientific Reports. 2012

  3. Сборник. Разработка высоконагруженных систем. HighLoad++. -Москва. 2012, 230 c.

Просмотров работы: 691