ДонНТУ > Портал магистров ДонНТУ                                                                                                                                        RUS | UKR | ENG

Магистр ДонНТУ Чернобай Юрий Александрович

Чернобай Юрий Александрович

Факультет компьютерных наук и технологий

Специальность: Компьютерные системы и сети


Тема выпускной работы: Исследование и разработка методов сбора и обработки информации в глобальной сети

Научный руководитель: Теплинский Сергей Васильевич


     Материалы по теме выпускной работы: Автобиография | Библиотека | Ссылки | Отчет о поиске | Индивидуальный раздел

Исследование и разработка методов сбора и обработки информации в глобальной сети

Введение

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

Актуальность

Использование Internet технологий при создании систем сбора и обработки информации и построении информационных систем различного назначения в ближайшее время станет доминирующим в мировом информационном пространстве по следующим причинам. Эти технологии:

- Позволяют организовать с достаточной простотой для пользователя системы поиска нужной информации;
- Предъявляют минимальные требования, как с технической стороны, так и со стороны программного обеспечения к рабочему месту клиента;
- Поддерживают распределенные системы хранения информации и множественные методы ее хранения;
- Поддерживают работу с практически неограниченным объемом разноплановых данных;
- Предоставляют технологически простой способ администрирования информационных систем с одного рабочего места;
- Поддерживают удаленные методы редактирования и пополнения информации.[7].

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

Методы сбора и обработки информации в глобальной сети

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

Распределенные информационные системы по архитектуре можно разделить на два основных типа:

1. Файл-серверные ИС (ИС с архитектурой «файл-сервер»);

Файл-серверные приложения — приложения, схожие по своей структуре с локальными приложениями и использующие сетевой ресурс для хранения программы и данных. Функции сервера: хранения данных и кода программы. Функции клиента: обработка данных происходит исключительно на стороне клиента. Количество клиентов ограничено десятками.

Плюсы: низкая стоимость разработки; высокая скорость разработки; невысокая стоимость обновления и изменения ПО.

Минусы: низкая производительность (зависит от производительности сети, сервера, клиента); плохая возможность подключения новых клиентов; ненадежная система; ограниченность языка; негибкость среды разработки.[5]

2. Клиент-серверные ИС (ИС с архитектурой «клиент-сервер»).

Обычно под термином «клиент-сервер» понимают архитектуру многопользовательских систем, которая предусматривает наличие клиентских и серверных программных компонент. Клиентские модули используются на удаленных рабочих местах пользователей, а централизованные серверные программы обеспечивают обслуживание клиентов, то есть прием удаленных запросов пользователей, их обработку и возврат им же результатов этой обработки.[8]

Преимущества:

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

Недостатки:

- Неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;
- Поддержка работы данной системы, требует отдельного специалиста - системного администратора;
- Высокая стоимость оборудования.[6]

В свою очередь клиент-серверная архитектура разделяется на несколько типов:

- Двухуровневая архитектура «клиент-сервер»;
- Трехуровневая архитектура «клиент-сервер»;
- Многоуровневая архитектура или N-уровневая архитектура.

Двухуровневая архитектура «клиент-сервер».

В случае с двухуровневой архитектурой «клиент-сервер» база данных помещается на сетевом сервере, однако программа клиента лишена возможности прямого доступа к БД. Доступ к БД регулируется специальной программой – сервером БД.

Взаимодействие сервера БД и клиента реализуется с помощью SQL-запросов, которые формирует и отсылает серверу клиент. Сервер, приняв запрос, выполняет его и возвращает результат клиенту. В клиентском приложении в основном осуществляются интерпретация полученных от сервера данных, реализация пользовательского интерфейса, а также реализация части бизнес-правил.[9]

Но двухуровневая архитектура не лишена недостатков, таких как:

- Ухудшение производительности прямопропорциональна количеству пользователей;
- Независимо от того, какой тип клиента используется, большая часть обработки данных должна находиться в базе данных, это означает, что она полностью зависит от возможностей предусмотренных в базе данных производителем.
- Двухуровневая архитектура настолько зависит от конкретной реализации базы данных, что перенос существующих приложений для различных СУБД, становится серьезной проблемой.[10]

Двухуровневая архитектура «клиент-сервер» изображена на рисунке 1.

Двухуровневая архитектура «клиент-сервер»

Рис. 1. Двухуровневая архитектура «клиент-сервер».[1]

Трехуровневая архитектура «клиент-сервер».

Второй способ взаимодействия – трехуровневая архитектура «клиент-сервер». В этой модели процесс, выполняющийся на клиенте, отвечает, за интерфейс с пользователем. Обращаясь за выполнением услуг к прикладному компоненту. Прикладной компонент реализован как группа процессов, выполняющих прикладные функции, и называется сервером приложения. Все операции над информационными ресурсами баз данных выполняются компонентами доступа к ресурсам. Таким образом, в отличие от предыдущей архитектуры, обмен между клиентом и сервером осуществляется посредством специально разработанного набора команд (API), а не SQL запросам. Набор этих команд определяется разработчиком, что позволяет ему ограничить набор допустимых действий с данными доступным клиенту. Трехуровневая архитектура клиент сервер представлена на рисунке 2.[9]

Введение дополнительного уровня позволяет преодолеть некоторые ограничения двухуровневой архитектуры, описанных в общих чертах выше. Как и с двухуровневой моделью, уровни могут располагаться или на различных компьютерах (рисунок 2), или на одном компьютере в тестовом режиме.[10]

Рисунок. 2. Трехуровневая архитектура «клиент-сервер».[1]

Многоуровневая архитектура «клиент-сервер».

Многоуровневая архитектура клиент-сервер — разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов.[6]

Трехуровневая архитектура является частным случаем многоуровневой, но если рассматривать их отдельно то можно выделить несколько преимуществ многоуровневой архитектуры перед трехуровневой, такие как:

- Масштабируемость. Нагрузка распределяется на несколько web-серверов, которые взаимодействуют с базой данных или с сервером следующего уровня.
- Защищенность. Использование нескольких физических уровней повышает защищенность информационной системы от сетевых атак, а также функцию защиту могут выполнять все уровни сервера, распределяя нагрузку.
- Стабильность. При выводе из строя одного из промежуточных уровней его функцию могут распределять между собой остальные уровни идентичной функциональности. Хотя и производительность в такой ситуации и потеряется, но система не будет выведена из строя как в случае с трехуровневой системой.

Многоуровневые архитектуры обычно состоят из четырех уровней (рисунок 3), где в сети сервер отвечает за обработку соединение между клиентом браузером и сервером приложений.[10]

Многоуровневая архитектура «клиент-сервер»

Рисунок 3. Многоуровневая архитектура «клиент-сервер».[10]

Цели и задачи магистерской работы

Рассмотрев существующие методы сбора и обработки информации, в магистерской работе ставятся следующие задачи:

- Проанализировать и сравнить разные методы организации N-уровневой архитектуры «клиент-сервер»;
- Изучить существующие методы распределения нагрузки на сервера, и разработать собственный метод равномерного распределения подключений к серверам;
- Разработать систему онлайн оплаты коммунальных услуг на основе многоуровневой архитектуры «клиент-сервер» используя полученные результаты исследования;
- Разработать собственный протокол обмена информацией между клиентом и сервером, используя для передачи формат данный XML (текстовый формат, предназначенный для хранения структурированных данных);
- На базе разработанной системы проанализировать масштабируемость и производительность системы в зависимости от увеличения количества промежуточный серверов.

Практическая ценность и научная новизна

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

Научная новизна работы состоит в том, что будет создана система сбора и обработки данных на основе многоуровневой архитектуры «клиент-сервер». Основная особенность системы состоит в том, что будет создана распределенная серверная часть, которая в зависимости от нагрузки на сервер может быть расширена на физическом уровне. А также будет исследовано увеличение производительности при расширении.

Практические результаты

Были рассмотрены методы сбора и обработки информации в глобальной сети, проанализированы недостатки и преимущества каждого из методов. Также была разработана программа онлайн оплаты коммунальных услуг на базе трехуровневой архитектуры «клиент-сервер».

В разработанной системе клиентская программа, написанная на actionscript 3, загружается на компьютер пользователя как обычный флеш файл с сервера. Запускаясь, эта программа подключается к серверу, написанному на C#, использующую базу данных MS SQL. Запросы клиента передаются в формате XML, который на стороне сервера расшифровывается и на основе полученных данных формируется SQl запрос к базе. При этом сервер перед формированием запроса проверяет все приходящие команды. Набор команд обмена между сервером и клиентом очень ограничен и позволяет выполнять только определенный набор действий с базой данных. Однако такой подход для создания узко специализированных СУБД оправдывает малую функциональность большой защищенностью базы данных. Формат XML очень удобен для передачи данных, но он является открытым и понятным даже для обычного человека. Так что для защиты данных пользователей при передаче по сети используются стандартные методы шифрования передаваемых данных. Реализуемая программа-клиент будет располагаться на компьютере с установленным http сервером, и будет доступна любому пользователю, имеющему доступ в Интернет. Загружаться на компьютер пользователя и запускаться она будет как обычный флеш-ролик через браузер, и не будет требовать дополнительной установки. Для работы программы-клиента на компьютере пользователя должен будет установлен любой браузер и Flash Player версии не ниже 10.0. Программа сервер для большей безопасности может располагаться на любой другой серверной машине без установленных http и ftp серверов и защищенной firewall-ом. Такая локализация частей программ значительно повышает безопасность сервера с базами данных и исключает возможность удаленного доступа к файлам программы и базы данных.[9]

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

Заключение

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

Проанализированные в работе методы сбора и обработки информации позволяют создать стабильную и гибкую в масштабировании систему.

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

Литература

  1. Маркин А.В. Построение запросов и програмирование на SQL / А.В. Маркин // Рязань 2008. 312с.
  2. Вийера Р. Програмирование баз данных Microsoft SQL Server 2005 для профессионалов / Р. Вийера // 2008. 256с.
  3. Шаньгин В. Компьютерная безопасность информационных систем. / В. Шаньгин // 2008 416c.
  4. Информационная система. Википедия свободная энциклопедия [Электронный ресурс] Режим доступа: http://ru.wikipedia.org/wiki/Информационная_система.
  5. Файл-сервер. Википедия свободная энциклопедия [Электронный ресурс] Режим доступа: http://ru.wikipedia.org/wiki/Файл-сервер.
  6. Клиент-сервер. Википедия свободная энциклопедия [Электронный ресурс] Режим доступа: http://ru.wikipedia.org/wiki/Клиент-сервер.
  7. Шокин Ю.И., Федотов А.М. Распределенные информационные системы [Электронный ресурс] Режим доступа: http://old.ict.nsc.ru/win/gis/lib/publ/inf_sys.html.
  8. Вышинский Л.Л., Гринев И.Л., Флеров Ю.А., Широков А.Н., Широков Н.И. Генератор проектов инструментальный комплекс для разработки «клиент-серверных» систем [Электронный ресурс] Режим доступа: http://ict.informika.ru/ft/002154/journ1-2_page6_25.pdf.
  9. Чернобай Ю.А., Романченко П.К. Теплинский С. В. Безопасность организации системы онлайн оплаты коммунальных услуг [Электронный ресурс] Режим доступа: ../library/tez1.htm.
  10. Крамек Э. Перевод: Чернобай Ю. А.. Введение в архитектуру клиент-серверных систем [Электронный ресурс] Режим доступа: ../library/translate.htm.