Разработка картографических интернет-сервисов на базе OpenShift
|
Введение 6
1 Обзор технических средств для реализации задач 9
1.1 Подходы к применению облачных вычислений 12
1.2 Модели развертывания облачных вычислений 15
1.3 Возможности для реализации подхода PaaS 17
2 Создание и настройка виртуального облачного сервера на платформе Red Hat
Open Shift 22
2.1 Регистрация, создание приложения и установка картриджей 19
2.2 Настройка удаленного соединения с серверами OpenShift 22
2.2.1 Установка PgAdmin III, Ruby и GIT 22
2.2.2 Установка клиентских инструментов OpenShift 24
2.2.3 Установка SSH-клиента Putty 27
3 Разработка методики использования облачного хранилища пространственных
данных с ГИС Quantum GIS 32
3.1 Настройка переадресации портов 32
3.2 Загрузка данных в PostGIS 36
3.3 Разработка запросов к пространственной базе данных в OpenShift 40
3.3.1 Запрос, определяющий всех «родителей» реки 40
3.3.2 Запрос, определяющий всех соседей страны 42
3.3.3 Запрос, определяющий у какой страны больше соседей 43
3.3.4 Запрос, определяющий какая река пересекает наибольшее число
стран 45
Заключение 48
Список использованных источников 49
1 Обзор технических средств для реализации задач 9
1.1 Подходы к применению облачных вычислений 12
1.2 Модели развертывания облачных вычислений 15
1.3 Возможности для реализации подхода PaaS 17
2 Создание и настройка виртуального облачного сервера на платформе Red Hat
Open Shift 22
2.1 Регистрация, создание приложения и установка картриджей 19
2.2 Настройка удаленного соединения с серверами OpenShift 22
2.2.1 Установка PgAdmin III, Ruby и GIT 22
2.2.2 Установка клиентских инструментов OpenShift 24
2.2.3 Установка SSH-клиента Putty 27
3 Разработка методики использования облачного хранилища пространственных
данных с ГИС Quantum GIS 32
3.1 Настройка переадресации портов 32
3.2 Загрузка данных в PostGIS 36
3.3 Разработка запросов к пространственной базе данных в OpenShift 40
3.3.1 Запрос, определяющий всех «родителей» реки 40
3.3.2 Запрос, определяющий всех соседей страны 42
3.3.3 Запрос, определяющий у какой страны больше соседей 43
3.3.4 Запрос, определяющий какая река пересекает наибольшее число
стран 45
Заключение 48
Список использованных источников 49
В последние годы в отрасли информационных технологий, а в частности, в организации распределенных вычислительных систем произошли сильные изменения, связанные с появлением концепции «облачных вычислений» [1]. На данный момент она является одним из ключевых направлений развития информационных технологий. Хотя облачные вычисления - это всего лишь особый способ предоставления вычислительных ресурсов, а не новая технология, и до середины 2000 - х годов сфера применения этих технологий оставалась ограниченной, они вызвали революцию в методах предоставления информации и услуг [2].
Массовому распространению и использованию сетевых сервисов в повседневной жизни общества в немалой степени способствовало появление публичных картографических веб-сервисов, начало которым положено в 2005 г. проектами компании Google, включая Google Earth («Планета Земля») и Google Maps («Карты Google»), аналогами которых являются «виртуальные глобусы» World Wind (НАСА, США), Bing Maps (Microsoft Corp., США) и др. Особое место среди них занимает сервис OpenStreetMap, некоммерческие картографические ресурсы которого создаются усилиями сообщества пользователей и волонтеров и являются альтернативой аналогичным государственным и коммерческим ресурсам [3]. Другим примером использования геоинформационных технологий широким кругом пользователей в бытовых целях могут служить сервисы передачи координатно-привязанной информации через HyperText Transfer Protocol (HTTP) протокол. В настоящее время наиболее популярен Web Map Service (WMS) протокол, с его помощью можно передать растровую информацию. Кроме того, широко используется Web Feature Service (WFS) протокол, который отвечает за передачу векторной информации. Для хранения векторов и растров консорциумомOpen GeospatialConsortium (OGC) предложен формат Geography Markup Language (GML), но он удобен только в роли обменного формата, слабо применим в хранении (из-за избыточного объема) и обладает низкой скоростью чтения и записи [4].
Использование облачных хранилищ для хранения пространственных данных имеет ряд достоинств и недостатков по сравнению с развертыванием серверов на обычных локальных машинах. Обработка данных в облачном хранилище может быть более медленной, так как вычислительные мощности виртуальной машины могут уступать возможностям локальной машины. Но при этом облачные хранилища обладают гораздо большей мобильностью, так как при наличии Интернета обратиться к данным на сервере можно с любого устройства.
Компании, предоставляющие вычислительные ресурсы, в основном являются коммерческими и предлагают почасовую оплату за использование виртуальных серверов. Компания Red Hat, выпускающая решения на основе открытого исходного кода, запустила проект OpenShift, который предоставляет возможность бесплатного использования с некоторыми ограничениями: на одну учетную запись можно создать три приложения, под которые выделяются три виртуальные машины, каждая из которых имеет один гигабайт дискового пространства.
Хранение географических данных (геометрии объектов) может осуществляться в базах данных. Доступ к базам данных осуществляется с помощью запросов SQL. Система управления базами данных (СУБД) PostgreSQL, как и другие СУБД, работает в качестве сервера в системе клиент- сервер. Клиент отправляет серверу запрос и получает отклик (откликами обычно являются таблицы данных из базы данных). По такому же принципу работает сеть Интернет: ваш браузер является клиентом, посылающим запрос, а веб¬сервер возвращает обратно веб-страницу. PostGIS - это расширение объектно-реляционной СУБД PostgreSQL, предназначенное для хранения в базе географических данных. PostGIS добавляет дополнительную функциональность к СУБД PostgreSQL, расширяет ее возможности с точки зрения хранения пространственных данных, запросов к ним и управления ими [5]. Использование связки PostgreSQL/PostGIS предоставляет довольно широкие возможности по работе с пространственными данными.
Целью данной работы является создание опытного сервера на базе PAAS- платформы OpenShift для хранения и обработки пространственных данных. Для разработки сервера ставятся следующие задачи:
- создание виртуального облачного сервера на платформе Red Hat Open Shift;
- настройка прикладного обеспечения на платформе OpenShift;
- загрузка данных карт в пространственную базу данных PostGIS с помощью ГИС Quantum GIS;
- разработка запросов к пространственной базе данных в Open Shift (PostGIS).
Массовому распространению и использованию сетевых сервисов в повседневной жизни общества в немалой степени способствовало появление публичных картографических веб-сервисов, начало которым положено в 2005 г. проектами компании Google, включая Google Earth («Планета Земля») и Google Maps («Карты Google»), аналогами которых являются «виртуальные глобусы» World Wind (НАСА, США), Bing Maps (Microsoft Corp., США) и др. Особое место среди них занимает сервис OpenStreetMap, некоммерческие картографические ресурсы которого создаются усилиями сообщества пользователей и волонтеров и являются альтернативой аналогичным государственным и коммерческим ресурсам [3]. Другим примером использования геоинформационных технологий широким кругом пользователей в бытовых целях могут служить сервисы передачи координатно-привязанной информации через HyperText Transfer Protocol (HTTP) протокол. В настоящее время наиболее популярен Web Map Service (WMS) протокол, с его помощью можно передать растровую информацию. Кроме того, широко используется Web Feature Service (WFS) протокол, который отвечает за передачу векторной информации. Для хранения векторов и растров консорциумомOpen GeospatialConsortium (OGC) предложен формат Geography Markup Language (GML), но он удобен только в роли обменного формата, слабо применим в хранении (из-за избыточного объема) и обладает низкой скоростью чтения и записи [4].
Использование облачных хранилищ для хранения пространственных данных имеет ряд достоинств и недостатков по сравнению с развертыванием серверов на обычных локальных машинах. Обработка данных в облачном хранилище может быть более медленной, так как вычислительные мощности виртуальной машины могут уступать возможностям локальной машины. Но при этом облачные хранилища обладают гораздо большей мобильностью, так как при наличии Интернета обратиться к данным на сервере можно с любого устройства.
Компании, предоставляющие вычислительные ресурсы, в основном являются коммерческими и предлагают почасовую оплату за использование виртуальных серверов. Компания Red Hat, выпускающая решения на основе открытого исходного кода, запустила проект OpenShift, который предоставляет возможность бесплатного использования с некоторыми ограничениями: на одну учетную запись можно создать три приложения, под которые выделяются три виртуальные машины, каждая из которых имеет один гигабайт дискового пространства.
Хранение географических данных (геометрии объектов) может осуществляться в базах данных. Доступ к базам данных осуществляется с помощью запросов SQL. Система управления базами данных (СУБД) PostgreSQL, как и другие СУБД, работает в качестве сервера в системе клиент- сервер. Клиент отправляет серверу запрос и получает отклик (откликами обычно являются таблицы данных из базы данных). По такому же принципу работает сеть Интернет: ваш браузер является клиентом, посылающим запрос, а веб¬сервер возвращает обратно веб-страницу. PostGIS - это расширение объектно-реляционной СУБД PostgreSQL, предназначенное для хранения в базе географических данных. PostGIS добавляет дополнительную функциональность к СУБД PostgreSQL, расширяет ее возможности с точки зрения хранения пространственных данных, запросов к ним и управления ими [5]. Использование связки PostgreSQL/PostGIS предоставляет довольно широкие возможности по работе с пространственными данными.
Целью данной работы является создание опытного сервера на базе PAAS- платформы OpenShift для хранения и обработки пространственных данных. Для разработки сервера ставятся следующие задачи:
- создание виртуального облачного сервера на платформе Red Hat Open Shift;
- настройка прикладного обеспечения на платформе OpenShift;
- загрузка данных карт в пространственную базу данных PostGIS с помощью ГИС Quantum GIS;
- разработка запросов к пространственной базе данных в Open Shift (PostGIS).
В последнее время наметилась тенденция переноса ресурсоемких приложений, связанных с оперативной обработкой пространственных данных или с их экстремально большими объемами, в среду облачных вычислений. Облачные хранилища предоставляет широкие возможности по хранению и обработке пространственных данных - загрузке карт в базы данных, выполнению пространственных запросов. Анализ литературы показал, что облачное хранилище является более мобильным и позволяет удаленно обращаться к данным с локальной машины и редактировать их.
В результате решения поставленных задач был создан виртуальный облачный сервер на платформе Red Hat OpenShift, и разработана методика его использования для хранения и обработки пространственных данных. Методика включает в себя алгоритм загрузки данных карт в пространственную базу данных PostGIS и разработку пространственных запросов на языке SQL с использованием пространственных функций.
В результате решения поставленных задач был создан виртуальный облачный сервер на платформе Red Hat OpenShift, и разработана методика его использования для хранения и обработки пространственных данных. Методика включает в себя алгоритм загрузки данных карт в пространственную базу данных PostGIS и разработку пространственных запросов на языке SQL с использованием пространственных функций.



