Система обновлений сайта krasprofi.ru

advertisement
Система обновлений сайта krasprofi.ru
Система представляет собой сервер и некоторое количество терминалов. На терминалах стоит
собственный WebServer (Apache+PHP+Perl+MySQL). Доступ на терминал из вне запрещен.
Через определенное количество времени терминал посылает «нулевой» запрос на сервер, дабы тот
знал о том, что он функционирует (в состоянии «доступен»). Если серверу в срочном порядке
необходимо изменить настройки обновления терминала (это не обновление терминала), то на нулевой
запрос сервер посылает обратно настройки, которые необходимо изменить (в ином случае сервер
ничего не отправляет). К этим настройкам относится: Время следующего обновления, пароль
терминала, минимальное время откликатерминала.
В определенное время, выданное сервером (для каждого терминала отведено отдельное время
обновления, смещенное от выставленного. Тем самым мы распределяем нагрузку на сервере по
времени), терминал посылает запрос на обновление. Далее все происходит по смехе, приведенной на
рисунке 1.
Терминал
GetUpdate()
Передаем параметры серверу:
Время последнего обновления
Время сдующего обновления
Удачное последнее обновление БД и файлов
Аунтификационный пароль терминала
Server, XML
SendXML()
Отправляем терминалу в виде XML:
SQL запросы обновлений
Список файлов, необходимые обновить/удалить/добавить
Login&Password FTP Server
ServerTime
Терминал
UpdateTerminal()
Обновляем БД терминала
Server
FTP
ConnectToFTP()
Коннектимся к FTP сервера и забираем оттуда необходимые файлы
SendSuccess()
Сообщаем серверу «Я обновился», время обновления и статистические
данные о посещении.
Сервер
Обновление завершено.
Рисунок 1. Структурная схема обновления терминала
Структура таблиц для системы обновления
Таблица глобальных настроек на сервере, относящиеся к обновлениям.
Наименование
переменной
TimeUpdate
Тип
переменной
datetime
TimeForNextUpdate Int
FTPLogin
FTPPassword
FTPAddress
EnableUpdate
StatusTime0
varchar(32)
varchar(32)
varchar(255)
int(1)
int
StatusTime1
int
Описание
Время дня, когда начинаются запросы обновлений от терминалов.
Например можно выставить, чтобы все обновления проходили
ночью, когда нет нагрузки.
Время, через которое начинается обновление следующего
терминала.
Логин FTP сервера
Пароль FTP сервера
Адрес (IP) до сервера
Включить/отключить обновление. 0 – откл, 1 – вкл.
Время в минутах, по истечении которого терминалу присваивается
статус «упал», если он не ответил
Время в минутах, по истечении которого терминалу присваивается
статус «задержка» (долгий ответ). Если ответ пришел меньше этого
времени, то терминалу присваивается статус «доступен».
Таблица логов статусов терминалов TerminalStatusLog.
Чтобы посмотреть в какое время терминал не работал
Наименование
переменной
TerminalID
Status
Time
Тип
переменной
int
int(1)
int(20)
Описание
ID Терминала – связан с таблицей TerminalList.
Статус терминала: 0 – «Упал». 1 – «задержка». 2 – «доступен».
Время, когда изменился статус
Таблица списка терминалов TerminalList.
Наименование
переменной
Name
Password
Тип
переменной
varchar(255)
varchar(32)
Description
Location
StartUpdateTime
EndUpdateTime
UpdateBD
UpdateFiles
StatAllHits
StatMonthHits
StatDayHits
StatusTerminalTime
text
text
int(20)
int(20)
int(1)
int(1)
int
int
int
int
Описание
Имя терминала (латинскими буквами)
MD5 chache пароля терминала. Используется для его
аунтификации.
Описание терминала (опционально)
Адрес (месторасположение) терминала
Время начала последнего обновления
Время окончания последнего обновления
Успешное обновление БД
Успешное обновление файлов
Количество хитов (обновлений страниц) за все время
Количество хитов (обновлений страниц) за месяц
Количество хитов (обновлений страниц) за день
Время последнего отклика терминала, позволяет видеть работает
ли терминал.
Приблизительная стоимость: 10000 - 12000 руб.
.. черновой вариант структуры от 20.02.2009
Онлайн-конференция
Онлайн-конференция представляет собой страницу, на которой размещено:
Тема конференции, обсуждаемые вопросы.
Лица (их ФИО и фото), которые будут отвечать на вопросы.
Стена с вопросами и ответами (ответы появляются сразу при нажатии на вопрос). Вопрос может
задавать только зарегистрированный пользователь. Рядом с вопросом выводится дата и имя
пользователя с ссылкой на его профиль. В конце страницы (для зарегистрированных пользователей)
находится форма отправки вопроса.
Автоматическое подгрузка новых данных. Данные подгружаются без перезагрузки страницы
посредством AJAX только тогда, когда новые данные появились (ответили на вопрос или появились
новые вопросы).
Страницы модерирования.
1. Страница, где модерируется название/описание темы конференции, лица,
отвечающие на вопросы и статус конференции (включена/отключена).
Для редактирования описания темы предусмотрена универсальная форма с
форматированием текста (жирность, курсив, спикок, ссылки и т.п.)
Лица, которые будут отвечать на вопросы должны быть зарегистрированы в
«Портфолио».
2. Страница, где подтверждаются вопросы от участников (проходят проверку через
модераторов). Модератору предоставляется список вопросов, которые он может
подправить. Пройденные проверку вопросы отмечаются галочкой и отправляются на
стену вопросов онлайн конференции.
Смета онлайн-конференции
Описание
Стена онлайн-конференции (тема, лица, вопросы-ответы, форма отправки вопроса)
Автоматическая подгрузка новых данных
Страница модерирования «Стены онлайн-конференции»
«Универсальная форма форматирования текста»
Страница модерирования вопросов, отправленные пользователями
Итого:
Цена
1100
800
600
600
800
3900
Новостная лента
Главная страница новостей в себя включает:
Заголовок новости
Текст новости
Дата новости
Автор новости (модератор или админ)
Теги новостей (слова-категории, к которым относится новость)
Разделение новости на короткую и полную части. На главной странице отображается короткая часть с
ссылкой на отдельную страницу с полную новостью.
Разделение новостей по страницам. На одной странице по 10 новостей, например.
Добавление новостей
Новость может добавлять только модератор (с доступными на это правами) и администратор.
При добавлении новости указывается тема новости и текст новости.
Для набора текста новости предусмотрена «Универсальная форма форматирования текста»
(описание см. выше).
Изменение/удаление новостей. Кнопки изменения/удаления находятся прям на главной странице новостей для
каждой новости и отображаются только для администраторов или модераторов (с соответствующими правами)
Страница сортировки новостей по тегам. При нажатии на главной странице новостей на тег новости, переходим
на страницу, где отображаются новости, у которых тоже есть этот тэг. Таким образом мы можем рассортировать
новости по определенным тематикам.
Список тегов. На главной странице (на верху или слева в колонке) располагается список тегов, при нажатии на
которые переходим на страницу с новостями, принадлежащие этому тегу.
Синхронизация с форумом. При нажатии на ссылку «комментарии»/«обсуждение» в новости, переходим в
форум, где первое сообщение – это сама новость, а последующие – комментарии пользователей.
Описание
Главная страница новостей
Разделение новости на короткую и полную части
Разделение новостей по страницам
Добавление новостей
Изменение/удаление новостей
«Универсальная форма форматирования текста» (уже посчитана выше)
Теги новостей + Страница сортировки новостей по тегам
Список тегов
Синхронизация с форумом
Итого:
Цена
1100
400
300
200
300
0
800
200
700
4000
Двухуровневый форум
Главная страница форума в себя включает:
Категории
Список разделов
Статистика для каждого раздела:
Количество тем, количество сообщений, последнее обновление (дата последнего сообщения)
В каждом разделе существует список обсуждаемых тем. Пользователь может создавать в этом разделе свои
темы, если это разрешено. Темы разбиваются на страницы. Сами разделы могут добавлять только модераторы и
администраторы через соответствующую страницу.
В каждой теме есть сообщения. Пользователь может размещать свои сообщения, если он не забанен.
Сообщения разбиваются на страницы. Например, по 10 тем на каждую страницу. Внизу, после сообщений,
имеется форма отправки сообщения (без форматирования текста, либо только с выделением жирности и курсив)
Добавление/изменение/удаление разделов/тем аналогично с новостями.
Быстрое редактирование/удаление сообщений. Нажав на кнопку «редактировать» возле сообщения, на месте
сообщения появляется форма, где можно отредактировать его и ниже соответственно кнопки «отметить» и
«применить». Тем самым не нужно переходить на новую страницу и тем самым мы видим все рядом
отображающиеся сообщения. Подгрузка формы осуществляется посредством AJAX.
Настройка доступа разделов. Для каждого раздела можно настроить:
Могут ли просматривать темы и сообщения гости сайта
Можно ли пользователям создавать темы в этом разделе
Для каждого пользователя можно настроить:
Бан пользователя (при включении на определенном пользователе, пользователь не может создавать
сообщения и темы)
Бан пользователя на определенное время (аналогично первому + по истечении заданного времени или
даты бан с пользователя снимается)
Описание
Главная страница форума, разделы, темы. Основная часть.
Статистика для каждого раздела
Добавление/изменение/удаление разделов/тем
Быстрое редактирование/удаление сообщений
Настройка доступа разделов
Настройка для каждого пользователя (бан или бан по времени)
Итого:
Цена
2200
400
600
800
700
600
5300
Свой браузер
Создание собственного браузера для терминала, работающего в полноэкранном (fullscreen) режиме на
базе браузера Internet Explorer.
Стоимость: 1500 руб.
Инсталлятор
В комплект инсталлятора входит: WebServer(Apache+PHP+Perl+MySQL), свой браузер, превью страница
для автозапуска, Flash Player, конфигурационный фаил настроек, главный фаил установщик.
Фаил-установщик автоматически устанавливает и запускает все необходимое и перезагружает
компьютер.
В конфигурационный фаил входит:
Увеличение полосы прокрутки браузера (через реестр)
Отключение запуска приложения Explorer
Отключение курсора мышки
Настройка безопасности компьютера
Стоимость: 1000 руб.
Модерирование анкет
Создание модераторской панели со списком измененных пользователями данных. Модератор
просматривает их и подтверждает их правильность, после этого данные обновляются на странице
пользователя.
Для такой системы необходимо несколько изменить структуру БД, добавив соответствующие колонки, а
так же добить еще один тип пользователя – «модератор», у которого будут только права для
модерирования анкет.
Стоимость:
Модерирование анкет: 2500 руб.
Модераторы, Создание системы прав для модераторов: 3000 руб.
Download