Руководство администратора
Архитектура системы
Система является распределенной и состоит из серверов БД, клиентских приложений, репликационных утилит и сервера FTP. Схему системы можно представить следующим образом:

Часть данных (справочники) вводятся в центральном офисе и затем реплицируются посредством FTP-сервера на базы. На базах вводятся данные о взвешиваниях, транспортных средствах и точках погрузки/разгрузки. Затем они реплицируются в БД центрального офиса.
И на базах, и в центральном офисе установлено одно и тоже клиентское приложение, которое обладает функциями, необходимыми для ввода всех данных и проведения репликации. Различаются только настройки доступа к функциям в БД центрального офиса и баз. В экземплярах приложения, установленных в центральном офисе, разрешен ввод данных в справочники (кроме справочников транспортных средств и пунктов погрузки/разгрузки) и журнал договоров. В экземплярах приложения, установленных на базах, разрешен ввод данных о взвешиваниях, транспортных средствах и пунктах погрузки/разгрузки.
Таким образом, данные четко разделены по направлению репликации на уровне отдельных таблиц.
Установка приложения
Приложение устанавливается путем простого копирования файлов из установочного пакета.
Конфигурирование приложения
Конфигурирование приложения сводится к заданию параметров в ini-файле.
[Connection] Protocol=mysql-5 ServerName=localhost DatabaseName=szer SaveAuth=1 UserName=operator UserPassword=123 [Reports] Отчет по складам=store_report. frf Отчет по взвешиваниям=scale_report. frf Отчет контрагента по завезенному товару=ca_report. frf Общий отчет по услугам отгрузки=common_ship_report. frf Общий отчет по услугам перевозки=common_transfer_report. frf Реестр оказания услуг по отгрузке=ship_roll_report. frf Реестр оказания услуг по перевозке=transfer_roll_report. frf Отчет по договорам=agrmnt_report. frf Реестр перевозки=roll_in_report. frf Реестр отгрузки=roll_out_report. frf |
Основной секцией ini-файла является секция Connection. В ней задаются параметры подключения к БД MySQL:
- Protocol – всегда равен “mysql-5”
- ServerName - сетевое имя или IP-адрес сервера, на котором установлен сервер MySQL
- DatabaseName – имя базы данных на сервере
- UserName – имя последнего подключавшегося пользователя (может быть пустым и вводится из интерфейса при авторизации)
- UserPassword – пароль последнего подключавшегося пользователя (может быть пустым и вводится из интерфейса при авторизации)
- SaveAuth – флаг, определяет, будет ли сохраняться пароль последнего подключавшегося пользователя в параметре UserPassword
Секция Report определяет список отчетов, которые будут доступны через пункт «Отчеты» приложения. Слева от знака равенства пишется имя отчета, которое будет отображаться для пользователя в меню. Справа – имя файла отчета. Файлы с отчетами должны быть расположены в фолдере reports, который расположен в одном фолдере с исполняемым файлом приложения tovaroved. exe
Остальные секции ini-файла создаются и заполняются автоматически приложением по мере необходимости.
Настройка репликатора
Файл утилиты репликации называется replicator. exe и должен располагаться в одном фолдере с исполняемым файлом приложения tovaroved. exe. Утилита репликации может вызываться из интерфейса основного приложения и запускаться в режимах обычной и полной репликации. Фактически эти режимы отличаются только используемыми файлами схем репликации. Схема обычной исходящей репликации производит условную выгрузку новых и измененных данных, а схема полной исходящей репликации производит безусловную выгрузку всех данных. Режимы входящей обычной и полной репликации ничем друг от друга не отличаются, хотя имеется возможность их индивидуальной настройки.
Настройки утилиты репликации расположены в файле replicator. ini:
[Database] host=localhost database=szer user=root password=komandor protocol=mysql-5 [FTP] host=localhost port=21 user=anonymous password=none root=test timeout=30 [Schema] normal=.\schema\schema_central_normal. xml full=.\schema\schema_central_full. xml [Misc] expiredays=30 |
Секция Database по составу и назначению параметров соответствует аналогичной секции в файле tovaroved. ini основного приложения.
Секция FTP определяет параметры подключения к ftp-серверу, на который помещаются и с которого забираются пакеты репликации:
- Host – сетевое имя или IP-адрес сервера ftp;
- Port – порт, на котором работает ftp-сервер;
- User – пользователь, под которым утилита производит подключение к ftp;
- Password – пароль пользователя;
- Root – имя фолдера на ftp, в котором размещены пакеты репликации
- Timeout – таймаут в секундах операции подключения к ftp
Секция Schema содержит пути доступа к файлам схем репликации для нормального и полного режимов репликации.
Секция Misc содержит параметр ExpireDays, который определяет время в днях, по истечению которого репликационные пакеты считаются устаревшими и могут быть удалены утилитой, запущенной в режиме очистки.
Помимо режимов обычной и полной репликации есть сервисные режимы очистки и синхронизации. В режиме очистки утилита ищет на ftp-сервере устаревшие пакеты (созданные более, чем ExpireDays дней назад) и удаляет их. В режиме синхронизации утилита проверяет таблицу replication. Записи в этой таблице, адресующиеся к физически отсутствующим на ftp пакетам удаляются.
Задание режимов работы утилиты осуществляется через командную строку. Формат командной строки:
replicator. exe [/[i][o][c][s]] [/normal|/full]
Первый параметр представляет собой набор флагов, которые определяют режимы, в которых последовательно будет работать утилита:
i – режим приема и применения пакетов
o – режим отправки пакетов
с – режим очистки
s – режим синхронизации
Может быть не указано ни одного или указаны сразу все режимы. Если ни одного режима не задано – то утилита сразу завершит свою работу.
Второй параметр может принимать значение normal или full и определяет, какая схема репликации будет использована. Путь к файлу со схемой при значении параметра normal определяется параметром normal секции Schema ini-файла утилиты. Путь к файлу со схемой при значении параметра full определяется параметром full секции Schema ini-файла.
Примеры командных строк:
replicator /io /normal
replicator /cs
replicator /s
Представляется целесообразным на центральном сервере настроить утилиту на запуск в автоматическом режиме (прием и применение входящих пакетов) с определенным периодом – чтобы данные в центральную БД реплицировались автоматически без вмешательства операторов. Автоматический запуск утилиты можно организовать с помощью стандартного средства Windows – “Scheduled tasks” (Назначенные задания)
Настройка автоматического резервного копирования базы данных
Для организации процесса автоматического резервного копирования базы данных можно воспользоваться средством MySQL Administrator или стандартным средством, поставляемым с MySQL Server - mysqldump. На выходе оба средства дают sql-скрипт, который содержит код для создания объектов БД и вставки данных.
Использование MySQL Administrator
Запускаем MySQL Administrator, авторизируемся в появившемся окне. Создаем новый backup-проект. Для этого в меню слева выбираем пункт «Backup»:

Затем нажимаем кнопку «New project»:

Вводим название проекта:

Выбираем БД, для которой нужно настроить резервное копирование и нажимаем кнопку
:

Затем нажимаем кнопку «Save project». Переключаемся на закладку «Schedule»:

Здесь:
- устанавливаем флаг «Schedule this backup project»;
- задаем фолдер, в котором буду создаваться резервные копии в поле «Target folder»;
- задаем шаблон имени файлов резервных копий. К заданному имени автоматически будет добавляться штамп текущего системного времени;
- В группе «Execution time» задаем требуемую частоту создания резервных копий. Рекомендуется создавать копию не реже 1 раза в день.
При установке флага «Schedule this backup project» может появиться сообщение:

Если это сообщение появилось - то нужно нажать кнопку “Open Options” в этом же диалоговом окне или закрыв его, выбрать пункт главного меню Tools->Options. В появившемся диалоговом окне нужно выбрать категорию «General options».

Затем нужно установить флаг «Store passwords» и выбрать «Password storage method» = «Obscure» и нажать кнопку «Apply».
Кроме этого, может потребоваться создание хранимого соединения, если оно не было создано ранее. Если при попытке установки флага «Schedule this backup project» появляется сообщение:

То нужно нажать кнопку “Open Options” в этом же диалоговом окне или закрыв его, выбрать пункт главного меню Tools->Options. В появившемся диалоговом окне нужно выбрать категорию «Connections»:

Здесь нужно создать новое подключение, нажав на кнопку «New Connection» и задать его параметры:
- название подключения (connection);
- имя пользователя (username);
- пароль (password);
- сетевое имя или IP-адрес сервера (hostname)
- имя БД (schema)
После задания всех параметров нужно нажать кнопку «Apply».
После задания вышеописанных настроек в стандартным «Назначенных заданиях» Windows появится задание с именем, соответствующим имени backup-проекта.
Использование mysqldump
Использование этой утилиты также основано на создании и настройке стандартного «Назначенного задания» Windows. Параметры командной строки для исполняемого файла задания следующие:
mysqldump.exe -u [пользователь] –p[пароль] -r [имя_выходного_файла] имя_бд
Например:
mysqldump. exe - u root - pkomandor - r szer_backup. sql szer
Настройка весового оборудования
Доступное для исследования весовое оборудование имеет в своем составе набор тензометрических датчиков и контроллер, который считывает показания с датчиков, преобразует их и выдает человекочитаемую цифровую индикацию на табло, которое смонтировано в одном блоке с контроллером. Все контроллеры имеют последовательный интрефейс RS-232, по которому данные о полученном весе могут быть переданы в компьютер.
Для организации передачи данных от контроллера весов требует настройки только контроллер «Метра» (настройка скорости обмена и характера данных, отправляемых в com-порт). Контроллер «НАИС» поддерживает специальный протокол обмена данными типа «запрос-ответ». Дополнительной настройки не требуется.
Руководство по настройке контроллера «метра» и протокол для контроллера «НАИС» описаны в отдельных файлах.


