3.2. Реализация модуля расшифровки картографической базы данных
PostgreSQL предоставляет возможность шифрования на разных уровнях, что позволяет защитить данные от кражи с сервера, недобросовестного администратора и небезопасной сети. Шифрование так же может использоваться для защиты конфиденциальных данных, таких как медицинская информация или финансовые транзакции. В работе были использованы лишь некоторые из имеющихся механизмов шифрования объектно-реляционной СУБД PostgreSQL.
Основу проекта составляет шифрование определённых колонок. Модуль pgcrypto позволяет шифровать определённые поля. Это полезно в случае, когда лишь некоторые данные не должны попасть в чужие руки. В нашем случае зашифрованными являются лишь столбцы типа geometry, которые представляют наибольшую ценность, так как содержат все географические данные. Клиенту предоставляется ключ для расшифровки, которым данные дешифруются и становятся «понятными» для ГИС. [4]
Таким образом, на сервере хранится таблица с преобразованным в текст и зашифрованным полем geom, которое хранит в себе все геометрические данные (см. Рис.17).
Первым делом предстоит расшифровать интересующий нас столбец. Для этого используется функция модуля pgcrypto — pgp_sym_decrypt. Для успешной расшифровки, необходимо указать тот же ключ, что использовался при зашифровке данных, поэтому для обеспечения надежной защиты данных, необходимо предотвращение попадания данного ключа посторонним лицам. В случае верного ввода ключа, произойдет расшифровка интересующего нас поля. Однако оно по-прежнему будет типа text (см. Рис.18).
Следующим шагом требуется преобразовать получившееся уже незашифрованное текстовое поле в геометрический тип данных. Это можно сделать используя геометрический конструктор PostgreSQL, а конкретно функцию ST_GeomfromEWKT.
Стоит отметить, что не следует все преобразования производить в одном столбце, так как если производить преобразование textàgeometry в столбце типа данных text, то преобразование не произойдет, поскольку для геометрического типа данных поле должно иметь тип geometry. Поэтому, используя стандартный SQL оператор ALTER TABLE ADD COLUMN, создается новое пустое поле нужного типа, в которое и записываются данные полученные при преобразовании (см. Рис.19).
Текстовое поле, после успешного проделывания всех операций можно удалить. Для этого используется стандартный SQL оператор ALTER TABLE DROP (см. Рис.20).
Блок-схема программы приведена в приложении 1. Листинг программы представлен в приложении 2.
3.3. Применение библиотеки TPL к разработанному программному проекту
Библиотека распараллеливания задач (TPL) усовершенствует многопоточное программирование двумя основными способами. Во-первых, она упрощает создание и применение многих потоков. И во-вторых, она позволяет автоматически использовать несколько процессоров. Иными словами, TPL открывает возможности для автоматического масштабирования приложений с целью эффективного использования ряда доступных процессоров.
Библиотека TPL определена в пространстве имен System.Threading.Tasks. Но для работы с ней, обычно, требуется также включать в программу класс System.Threading, поскольку он поддерживает синхронизацию и другие средства многопоточной обработки, в том числе и те, что входят в класс Interlocked.
Применяя TPL, параллелизм в программу можно ввести двумя основными способами. Первый из них называется параллелизмом данных. При таком подходе одна операция над совокупностью данных разбивается на два параллельно выполняемых потока или больше, в каждом из которых обрабатывается часть данных.
Второй способ ввода параллелизма называется параллелизмом задач. При таком подходе две операции или больше выполняются параллельно. [17]
Для удобства, предлагается возможность расшифровать сразу четыре таблицы (см. Рис.21). Ввиду того, что поля с геоданными могут быть очень громоздкими, в целях повышения производительности, а соответственно и уменьшения времени ожидания, в нашей работе было принято решение применить библиотеку TPL.
Так как при расшифровке таблицы применяются однотипные процедуры, используемый способ можно назвать своеобразным частным случаем параллелизма данных, при котором операции искусственно разделяются на четыре потока. Таким образом, при наличии у клиента четырехъядерного процессора, каждое ядро будет расшифровывать по одной таблице (при наличии иного числа ядер TPL автоматически распределит нагрузку между доступными ядрами в динамическом режиме), что должно привести к уменьшению времени работы программы.
Серия тестов программы на двухъядерном процессоре показало, что применение библиотеки TPL повышает производительность примерно в 2 раза (см. Рис.22,23).
Стоит учесть, что в результате применения библиотеки TPL, нагрузка на центральный процессор значительно возрастает (см. Рис.24,25).
Полный листинг программы с применением библиотеки TPL приведен в приложении 3.
3.4 Импорт картографической базы данных
Существует два способа импорта картографической базы данных из ГИС QGIS в объектно-реляционный СУБД PostgreSQL.
В первом случае таблицы картографической базы данных сначала сохраняются на жесткий диск пользователя, а лишь потом открываются в СУБД. Во втором же случае, требуемые данные открываются непосредственно в рабочей области QGIS.
3.4.1 Импорт с использованием менеджера БД
Для начала создается (см. Рис.26) и настраивается подключение QGIS с объектно-реляционной СУБД PostgreSQL.
В появившемся окне выбирается «Создать» для создания нового подключения (см. Рис.27).
Далее происходит настройка подключения (см. Рис.28). Необходимо указать следующие параметры:
- Имя: имя для данного соединения. Может совпадать с именем базы данных;
- Служба: Этот параметр может использоваться в качестве альтернативы для узла и порта (и, теоретически, базы данных). Настройка выполняется в файле pg_service.conf;
- Сервер: имя узла, на котором хранится база данных. Имя узла должно быть допустимым — таким, какие используют для сетевого доступа или для пинга узла. Если база данных находится на том же компьютере, что и QGIS, просто вводится localhost;
- Порт: номер порта, который «слушает» сервер базы данных PostgreSQL. По умолчанию используется порт 5432;
- База данных: имя базы данных;
- Режим SSL: настройка SSL-режима работы с сервером. Следует отметить, что значительного прироста скорости рендеринга слоя PostGIS можно достигнуть путём отключения SSL в менеджере соединений. Можно выбрать:
- запретить: использовать только не зашифрованное SSL-соединение,
- разрешить: будет произведена попытка установки не SSL-соединения, если она не удастся, будет использовано SSL-соединение,
- предпочитать (по умолчанию): будет произведена попытка установки SSL-соединения, если она не удастся, будет использовано не SSL-соединение,
- требовать: использовать только SSL-соединение;
- Пользователь: имя пользователя, которое используется для доступа к базе данных;
- Пароль: пароль, используемый вместе с именем пользователя для подключения к базе данных. [18]
После сохранения настроек следует подключиться к СУБД, при правильной настройке, QGIS подключится к заданной БД и станут доступны все содержащиеся в ней таблицы (см. Рис.29).
После подключения, закрывается окно подключений и открывается инструмент «Менеджер БД» (см. Рис.30).
С помощью инструмента «Менеджер БД» возможно экспортировать/импортировать данные между БД и QGIS. Под «Импортом» подразумевается импорт данных из QGIS в PostgreSQL, именно эта операция необходима в данной работе (см. Рис.31).
Далее предлагается назначить каталог сохранения выбранной таблицы (см. Рис.32).
После успешного сохранения данных на жестком диске появляется соответствующее сообщение (см. Рис.33).
После этого возможно открыть сохраненную таблицу в PostgreSQL.
3.4.2 Импорт данных без предварительного сохранения на жестком диске
В ГИС QGIS так же предусмотрена возможность добавления требуемых слоев, с помощью расширения PostGIS, без предварительного сохранения на жестком диске (см. Рис.34).
Для этого требуется так же, как и в первом случае, подключиться к PostgreSQL, после чего в появившемся окне выбрать требуемую таблицу и нажать «Добавить» (см. Рис.35).
После этого, выбранный слой отобразится в рабочей области ГИС приложения (см. Рис.36).
ЗАКЛЮЧЕНИЕ
В ходе работы поставленные цели были выполнены и решены следующие задачи:
- Раскрыта актуальность модуля импорта данных системы защиты картографических баз данных.
- Разработан алгоритм расшифровки данных.
- Организовано сетевое хранилище на базе объектно-реляционной СУБД PostgreSQL.
- Произведена установка и конфигурирование объектно-реляционной СУБД PostgreSQL для удаленного доступа к хранилищу.
- Импортирована картографическая база данных из ГИС QGIS.
- Разработан программный модуль доступа к серверу и дешифрования файлов.
- Применена библиотека TPL к разработанному программному проекту.
Для тестирования использовалась картографическая база данных Российской Федерации. Тестирование проводилось на одном узле с двумя ядрами на одном физическом процессоре.
По результатам работы я могу утверждать, что использование параллельного модуля запросов дает нам прирост в производительности. Используемая конфигурация предположительно не будет являться порогом масштабируемости для рассматриваемой системы. Следовательно, с увеличением количества процессоров и числа ядер на них предполагается дальнейшее повышение производительности.
СПИСОК ЛИТЕРАТУРЫ
- ArcGIS [Электронный ресурс] // ESRI. 2016. URL: https://www.arcgis.com/features.
- Mapinfo [Электронный ресурс] // Pitney Bowes. © 2016. URL: http://www.mapinfo.com.
- MySQL [Электронный ресурс] // Oracle Corporation. © 2016. URL: http://www.mysql.com.
- Pgcrypto [Электронный ресурс] // The PostgreSQL Global Development Group. © 1996-2016 URL: http://www.postgresql.org/docs/9.5/static/pgcrypto.
- PostgreSQL [Электронный ресурс] // The PostgreSQL Global Development Group. © 1996-2016 URL: http://www.postgresql.org.
- QGIS [Электронный ресурс] // Creative Commons Attribution-ShareAlike. © 2016. URL: http://www.qgis.org/ru/site.
- SQLite [Электронный ресурс] // SQLITE.ORG. © 2002-2014 URL: http://www.sqlite.org/docs.html.
- SQLite vs MySQL vs PostgreSQL: сравнение систем управления базами данных [Электронный ресурс] // DEVACADEMY. © 2016. URL: http://devacademy.ru/posts/sqlite-vs-mysql-vs-postgresql.
- Бабенко Л.К., Басан А.С., Журкин И.Г., Макаревич О.Б. Защита данных геоинформационных систем: учеб. Пособие для студентов вузов / Под ред. И.Г. Журкина. – М.: Гелиос АРВ, 2010. – 336 c.
- Бугаевский Л.М. Цветков В.Я. Геоинформационные системы: учебное пособие для ВУЗов. — М.: Златоуст, 2000. — 222с.
- Вершинин И.С., Гибадуллин Р.Ф., Пыстогов С.В. Использование кластерных технологий при решении задач защиты картографических данных // Высокопроизводительные параллельные вычисления на кластерных системах (НРС–2009): материалы IX Междунар. конф.; Владимир. гос. ун-т. – Владимир, 2009. – С. 68–72.
- Все о ГИС и их применении [Электронный ресурс] // GIStechnik. © 2012. URL: http://gistechnik.ru/publik.
- Географическая информационная система [Электронный ресурс] // Википедия. Дата обновления 22.04.2016. URL: http://ru.wikipedia.org/wiki/Географическая_информационная_система.
- Голубев И., Серов А. Защита цифровых карт с использованием электронных ключей HardLock [Электронный ресурс] //UcozServices. © 2016. URL: http://www.alex-serov.narod.ru/geo/articles/common/hardlock.htm.
- Дубин М. Geosample: Открытый набор геоданных для различного ПО ГИС [Электронный ресурс] // © GIS-Lab. 2002 – 2015. Дата обновления 15.05.2014. URL: http://gis-lab.info/qa/geosample.html.
- Основные сведения о типах пространственных данных [Электронный ресурс] // Microsoft Developer Network. © 2016. URL: http://msdn.microsoft.com/ru-ru/library/bb964711.aspx.
- Параллельное программирование [Электронный ресурс] // Alexandr Erohin. © 2011-2016 URL: http://professorweb.ru/my/csharp/thread_and_files/level2/2_1.php.
- Руководство пользователя QGIS [Электронный ресурс] // Creative Commons Attribution-ShareAlike. Дата обновления 04.12.2014. URL: http://docs.qgis.org/2.2/ru/docs/user_manual/index.
- Скляров Д. В. С43 Искусство защиты и взлома информации. — СПб.: БХВ-Петербург, 2004. — 288 с.
- Установка PostgreSQL [Электронный ресурс] // Виктор Вислобоков. © 2008-2010. URL: http://www.postgresql.org/docs/9.5/static/index.html.
- Цветков В.Я. Геоинформационные системы и технологии. — М.: Финансы и статистика, 1998. —288с.
- Ципилева Т.А. Геоинформационные системы: учебное пособие для студентов специальности «Государственное и муниципальное управление». — Томск.: Томский межвузовский центр дистанционного образования, 2010 — 121 с.
- Шаши Шекхар, Санжей Чаула Основы Пространственных баз данных (перевод с английского). — М.: КУДИЦ – Образ. 2004 — 330 с.
Комментарии
Оставить комментарий
Валера 14 минут назад
добрый день. Необходимо закрыть долги за 2 и 3 курсы. Заранее спасибо.
Иван, помощь с обучением 21 минут назад
Валерий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Fedor 2 часа назад
Здравствуйте, сколько будет стоить данная работа и как заказать?
Иван, помощь с обучением 2 часа назад
Fedor, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алина 4 часа назад
Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения
Иван, помощь с обучением 4 часа назад
Алина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Алена 7 часов назад
Добрый день! Учусь в синергии, факультет экономики, нужно закрыт 2 семестр, общ получается 7 предметов! 1.Иностранный язык 2.Цифровая экономика 3.Управление проектами 4.Микроэкономика 5.Экономика и финансы организации 6.Статистика 7.Информационно-комуникационные технологии для профессиональной деятельности.
Иван, помощь с обучением 8 часов назад
Алена, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Игорь Петрович 10 часов назад
К утру необходимы материалы для защиты диплома - речь и презентация (слайды). Сам диплом готов, пришлю его Вам по запросу!
Иван, помощь с обучением 10 часов назад
Игорь Петрович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 1 день назад
У меня есть скорректированный и согласованный руководителем, план ВКР. Напишите, пожалуйста, порядок оплаты и реквизиты.
Иван, помощь с обучением 1 день назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Илья 1 день назад
Здравствуйте) нужен отчет по практике. Практику прохожу в доме-интернате для престарелых и инвалидов. Все четыре задания объединены одним отчетом о проведенных исследованиях. Каждое задание направлено на выполнение одной из его частей. Помогите!
Иван, помощь с обучением 1 день назад
Илья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Alina 2 дня назад
Педагогическая практика, 4 семестр, Направление: ППО Во время прохождения практики Вы: получите представления об основных видах профессиональной психолого-педагогической деятельности; разовьёте навыки использования современных методов и технологий организации образовательной работы с детьми младшего школьного возраста; научитесь выстраивать взаимодействие со всеми участниками образовательного процесса.
Иван, помощь с обучением 2 дня назад
Alina, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Влад 3 дня назад
Здравствуйте. Только поступил! Операционная деятельность в логистике. Так же получается 10 - 11 класс заканчивать. То-есть 2 года 11 месяцев. Сколько будет стоить семестр закончить?
Иван, помощь с обучением 3 дня назад
Влад, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Полина 3 дня назад
Требуется выполнить 3 работы по предмету "Психология ФКиС" за 3 курс
Иван, помощь с обучением 3 дня назад
Полина, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Инкогнито 4 дня назад
Здравствуйте. Нужно написать диплом в короткие сроки. На тему Анализ финансового состояния предприятия. С материалами для защиты. Сколько будет стоить?
Иван, помощь с обучением 4 дня назад
Инкогнито, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Студент 4 дня назад
Нужно сделать отчёт по практике преддипломной, дальше по ней уже нудно будет сделать вкр. Все данные и все по производству имеется
Иван, помощь с обучением 4 дня назад
Студент, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Олег 5 дня назад
Преддипломная практика и ВКР. Проходила практика на заводе, который занимается производством электроизоляционных материалов и изделий из них. В должности менеджера отдела сбыта, а также занимался продвижением продукции в интернете. Также , эту работу надо связать с темой ВКР "РАЗРАБОТКА СТРАТЕГИИ ПРОЕКТА В СФЕРЕ ИТ".
Иван, помощь с обучением 5 дня назад
Олег, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Анна 5 дня назад
сколько стоит вступительные экзамены русский , математика, информатика и какие условия?
Иван, помощь с обучением 5 дня назад
Анна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Владимир Иванович 5 дня назад
Хочу закрыть все долги до 1 числа также вкр + диплом. Факультет информационных технологий.
Иван, помощь с обучением 5 дня назад
Владимир Иванович, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Василий 6 дней назад
сколько будет стоить полностью закрыть сессию .туда входят Информационные технологий (Контрольная работа, 3 лабораторных работ, Экзаменационный тест ), Русский язык и культура речи (практические задания) , Начертательная геометрия ( 3 задачи и атестационный тест ), Тайм менеджмент ( 4 практических задания , итоговый тест)
Иван, помощь с обучением 6 дней назад
Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф
Марк неделю назад
Нужно сделать 2 задания и 1 итоговый тест по Иностранный язык 2, 4 практических задания и 1 итоговый тест Исследования рынка, 4 практических задания и 1 итоговый тест Менеджмент, 1 практическое задание Проектная деятельность (практикум) 1, 3 практических задания Проектная деятельность (практикум) 2, 1 итоговый тест Проектная деятельность (практикум) 3, 1 практическое задание и 1 итоговый тест Проектная деятельность 1, 3 практических задания и 1 итоговый тест Проектная деятельность 2, 2 практических заданий и 1 итоговый тест Проектная деятельность 3, 2 практических задания Экономико-правовое сопровождение бизнеса какое время займет и стоимость?
Иван, помощь с обучением неделю назад
Марк, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@дцо.рф