Тип работы:
Предмет:
Язык работы:


ИССЛЕДОВАНИЕ И РЕАЛИЗАЦИЯ ЭФФЕКТИВНЫХ СРЕДСТВ УПРАВЛЕНИЯ ВЕБ-КОНТЕНТОМ

Работа №185709

Тип работы

Дипломные работы, ВКР

Предмет

математика

Объем работы32
Год сдачи2018
Стоимость4600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
12
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 5
1 Исследование поведения интерпретатора РНР 6
1.1 Исследование поведения РНР при работе с базами данных 6
Е2 Исследование эффективности современных трансляторов кода РНР 8 ЕЗ Исследование современных методов шаблонизированная сайтов и Web-приложений 9
2 Решение поставленных задач 10
2.1 Описание метода оптимизации работы с базой данных 10
2.2 Описание реализованного метода кэширования 11
2.3 Шаблонизатор 12
2.4 Интегрирование шаблонизатора Mustache 12
3 Реализация предложенных методов 15
3.1 Реализация эффективных методов для работы с базами данных 15
3.1.1 Интерфейс класса DatabaseMgr 17
3.1.2 Интерфейс драйверов баз данных 19
3.2 Реализация эффективных методов кэширования 19
3.2.1 Интерфейс ICache, CacheMgr 20
3.3 Интерфейс шаблонизатора. 20
4 Тестирование 22
4.1 Тестирование предложенной реализации метода эффективной
работы с базами данных 22
4.2 Тестирование предложенной реализации эффективной системы
кэширования 23
5 Коммерческое использование 25
ЗАКЛЮЧЕНИЕ 26
ЛИТЕРАТУРА 27
ПРИЛОЖЕНИЕ А Ресурс распространения системы 28
ПРИЛОЖЕНИЕ Б Начальная стоимость системы и её редакции 29
ПРИЛОЖЕНИЕ В Главная страница панели администратора системы 30 ПРИЛОЖЕНИЕ Г Встроенное средство редактирования шаблонов 31


В современном мире IT индустрии сетевые технологии стали неотъемлемой частью жизни. На базе сетевых взаимодействий работает бесконечное число различных сервисов, программ, игр, в том числе и многопользовательских.
Сети позволяют миллионам людей оставаться на связи 24 часа в сутки, 7 дней в неделю за счет множества серверов расположенных по всему миру и самые распространенные из них - WEB-серверы. По статистике предоставленной Netcraft, только в 2014 году насчитывалось более 1 миллиарда открытых для пользователей сайтов (прим. Речь идет об узлах сети).
Когда язык HTML приобрел свой знакомый нам вид, встал вопрос об управлении контентом сайтов и таким образом появилось понятие CMS (Content Management System — Система управления контентом). Под эти цели можно использовать практически любой язык программирования, но большую популярность получили такие языки, как PERL и РНР ввиду того, что они не требуют предварительной компиляции и являются интерпретируемыми языками. О последнем языке программирования я и буду говорить.
РНР [4] — Препроцессор гипертекстовой разметки, изначально разработанный в 1995 году для создания простых персональных сайтов. Сейчас РНР поддерживается на подавляющем количестве хостингов и является одним из лидеров рынка.
Самой большой проблемой интерпретируемых языков является время обработки запросов пользователя, так как сначала происходит полная выгрузка сценариев, в том числе и подключаемых по ходу действия программы из сторонних файлов в память сервиса РНР, далее разбирается на лексемы, транслируются во внутренние команды РНР изначально реализованные на C/C++.
Для решения данной проблемы существует множество различных реализаций, основанных на ускорении одного из этапов работы программ написанных на РНР. Самыми распространенными являются:
Phar — сокращает время обработки за счет исключения из процесса трансляции время ожидания открытия всех включаемых файлов изначально компилируя из них цельный проект-документ одним файлом.
Phalcon — Фреймворк для разработки конечного приложения в рамках паттерна MVC (Model - View - Controller), и так же при запуске сервера производящий компиляцию проекта в более приятный для сервера как программы байт-код.
Из платных аналогов стоит выделить Zend server.
Zend — Отдельный плагин для РНР написанный на C/C++ командой разработчиков Zend, аналогично Phalcon производит компиляцию в байт-код и оптимизирует его исключая некоторые типичные ошибки программиста, так же имеет свой встроенный фреймворк Zend Framework.
Данные решения ускоряют скорость трансляции проекта, но что если этого не достаточно?
И если программные оптимизаторы решают проблемы включения файлов скриптов, то самыми узкими местами любого WEB-приложения являются моменты работы с базой данных, выбор использования того или иного блока управления бизнес- логики и работа с файлами шаблонов, для формирования ответа пользователю.
По результатом анализа работы РНР интерпретатора перед нами были поставлены задачи:
1. Ускорение работы с базами данных
2. Сокращение транслируемого РНР кода
3. Ускорение работы с шаблонами
Уже существуют программные решения данных проблем, например кРНР (kittenPHP) созданный командой разработчиков социальной сети Вконтакте, примечательно, что за счет внесения строгого типизирования переменных и строгих ограничений функционала ООП они добились двукратного ускорения обработки запросов сервером.
Так как далеко не все хостинги поддерживают Phalcon, Zend и прочие оптимизаторы, в ходе решения данных проблем, нами была разработана полноценная CMS (Content Management System — система управления контентом), на базе чистого РНР версии 5.2, и в дальнейшем планируется её адаптация под РНР версии 7.1.
Данная CMS реализует нетипичные подходы для решения определенных ранее задач.
Сама система своей структурой реализует паттерн MVC и позволяет разработчику создать приложение наиболее точно подходящее под поставленные перед ним задачи.
1 Исследование поведения интерпретатора РНР
РНР — интерпретируемый язык программирования, инструмент для создания сайтов и веб-приложений. В первую очередь используется для оживления сайтов и наделения их определенной логикой. Как и в любом другом языке программирования предел возможностей определяется ресурсами. Основными ресурсами в Web- приложениях считаются: базы данных, файловая система, оперативная память. Следовательно, отложив особенности языка в сторону, стоит подробнее разобраться в проблемах связанных с ресурсами.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Была поставлена задача оптимизировать работу веб-серверов без использования дополнительных надстроек и библиотек. В ходе решения данной задачи разработана полноценная система управления контентом, которая содержит в себе реализации методов оптимизации работы с базой данных. Таким образом, поставленные задачи в ходе выполнения данной работы были полностью выполнены. Разработанная система продается на рынке ПО и эксплуатируется в нескольких компаниях:
— ООО «Бизнес и Право»;
— EvaBox;
— Tivolyo Home.


1. Speeding up your website’s database [Электронный ресурс]: - Электрон, журн. - Paul
Tero: 2011- . - режим доступа к журн.: — URL:
https://www.smashingmagazine.com/2011/03/speeding-up-your-websites-database/
2. 11 видов кэширования для современного сайта [Электронный ресурс]: - Электрон, журн. - Олеся Корсак: 2016- . - режим доступа к журн.: —URL: https://habrahabr.rU/company/zerotech/blog/316316/
3. MariaDB [Электронный ресурс] — URL: https://mariadb.com/
4. РНР [Электронный ресурс] — URL: http://php.net/
5. PROFILING РНР PART 3: PRACTICAL PERFORMANCE TUNING [Электронный ресурс]: - Электрон, журн. - Davey Shafik: 2014 - . - режим доступа к журн.: — URL: https://www.engineyard.com/blog/profiling-with-xhprof-xhgui-part-3
6. Logic-less templates [Электронный ресурс] — URL: https://mustache.github.io/
7. Неткэт для высоконагруженных проектов [Электронный ресурс] — URL: https://netcat.ru/products/performance/


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ