r47 - 20 Nov 2013 - 11:53:19 - Sergej ZnamenskijYou are here: TWiki >  IS4UGP Web > EduBotik

Формирование системы Edu Botik

Ключевые проблемы

Основным недостатком старой системы, является её замедленная реакция, вызванная просчётами в начале разработки, во-время исправить которые не хватило времени и организованности. Таких общих просчётов несколько:
  1. Включение в работу огромных объёмов неиспользуемой информации.
    • Отсутствует разделения кода на авторизующий пользователя (auth handler) и обрабатывающий запрос веб-сервера (main handler), приводит к запуску параллельно многих процессов на сервере для дублируемых запросов нетерпеливого пользователя. Разделение кода включит механизмы самого apache, предотвращающие коллапсы по этой причине.
    • В оперативной памяти сервера разворачивается гигантское количество неиспользуемых данных.
  2. Убогая основа пользовательских интерфейсов:
    • Недоделанная основа ToDo.
    • На клиентской машине скрыто визуализируется гигантское количество неиспользуемой информации, что тормозит работу и вызывает ошибки в google chrome.
    • Невозможно открыть несколько окон в одном браузере.
  3. Плохие серверные логи - ненадёжные и неинформативные.
Отсюда первоочередные задачи, требующие срочного решения:
  1. Реорганизация БД и логов сервера и доступа к изменениям в ToDo с одновременным разделением работающего кода по фазам обработки в Apache
  2. Реорганизация пользовательского интерфейса

А. Оптимизация СУБД и реорганизация логов.

  1. Разделить большие файлы на автономные части без изменения идентификаторов узлов (локализовать изменения в коде модуля обращения к базе - чтения и записи) и выделить серии снимков и историй промежуточных изменений. Всегда имеются снимки начала дня, начала предыдущего или текущего месяца и начала предыдущего или текущего года и истории изменений между ними. Подробности на странице оптимизации СУБД.
  2. Перевести все серверные логи на СУБД
  3. Изменить алгоритм обслуживания запросов - см. конец страницы Alternating Keys .

B. Реорганизация пользовательского интерфейса

Краткое описание желаемого интерфейса см. в начале страницы ToDo . По умолчанию открытых узлов нет и все детские узлы видны из текущей родительской папки и только из неё.

Желательна также кнопка создания копии текущего окна в новом окне без дополнительной авторизации.

Нынешнее состояние

Сейчас (февраль 2012) система состоит из двух по-разному построенных частей:

Подсистема проведения конференций и учебно-производственных практик с деревом дел, разработанная до 2009/2010 учебного года

Основана на Storable и разворачивании всех персонально доступных данных в памяти при каждом запросе.

Ход развития идей: 30 Nov 2006, 10 Dec 2006, 23 Apr 2008, 13 мая 2008, 24 июня 2008, (первый вариант описания данных узла и наследования 1 Jul 2008), (второй вариант 14 Jul 2008), и не реализованное развитие идеи (09 Oct 2008), 22 Mar 2009.

Окончательная документация по подсистеме находится в приложенных дипломных проектах

Основы построения

Пользовательские интерфейсы совместных дел

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

Подсистема учебной части, разработанная в 2009/2010 учебном году на идеях Summer2009Plan

Состоит из CGI-скриптов, работающих с Tokio Cabinet и описана на страницах

Чтение и запись данных

Лоция

Пользовательские интерфейсы совместных дел

Пока не реализованные задумки

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

Разработчик как пользователь:

Организация обработки данных

Необходимость совмещения тестирования и отладки базы на лету при обеспечении производительности привела к поиску возможности совместить прозрачность хранения данных с быстрым доступом к ним. Здесь возникла необходимость перекодировки ключей при записи в базу либо перехода на новую систему идентификации данных

Обеспечение качественного администрирования:

Скрипт выделения похожей информации в помощь администратору системы, чистящему данные (data cleansing): Для поддержания чистоты данных требуется

Для удобства пользователя:

Как выдать пользователю наиболее точную информацию о его текущих делах в сиcтеме? Кардинально новый подход к комфортному информированию пользователя об изменениях и гибкой персонализации интерфейсов Этот подход предполагает Алгоритм работы сервера для поддержки этой функциональности вчерне закодированный Андреем Котоминым, но не вполне отлаженный, описан здесь:

Сохранённую историю направить на службу пользователю:

Здесь теперь уже несколько устаревшие представления об использовании времени, более новые - в последних публикациях в Main Concept.

Организация отображений математических формул и схем

Создание будущей общей базы на основе Tokio Cabinet.

Такая база должна быстро работать на основе правильного понимания Open Close Locking и будущего интерфейса базы BotikDb.pm

Предоставление пользователю возможности редактирования дерева дел

Перенос подсистемы, базирующейся на Tokio Cabinet, в общую базу

Поочерёдно будут переноситься временно неактивные пользовательские интерфейсы с минимальной коррекцией по адаптации к общей базе, связанной с Open Close Locking.

Улучшение и развитие интерфейсов на новой основе

Миграция в систему Web Service будет происходить поинтерфейсно
Show attachmentsHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
pdfpdf Titova-diplom.pdf manage 611.9 K 28 Feb 2013 - 09:51 Sergej Znamenskij Дипломная работа Елены Викторовны Титовой
pdfpdf Zhivchikova_v3.pdf manage 1001.3 K 28 Feb 2013 - 09:49 Sergej Znamenskij Дипломна работа Надежды Сергеевны Живчиковой
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r47 < r46 < r45 < r44 < r43 | More topic actions
IS4UGP.EduBotik moved from IS4UGP.SystemRefactoring on 20 Nov 2013 - 07:52 by Sergej Znamenskij - put it back
 
Powered by TWiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback