Мастер-Тур:Дополнительный модуль Прайс-Экспресс
Статья находится на стадии разработки.
Версия статьи от 6-11-2014.
Поддерживаемые версии ПК «Мастер-Тур»: |
Содержание
Введение
Дополнительный модуль «Прайс-Экспресс» предназначен для расчета туров по заданным правилам. Его использование позволяет разгрузить сервер баз данных путем переноса самой ресурсоемкой операции — расчета тура — на отдельный расчетный сервер.
Системные требования
Релиз 9.2.20 ПК «Мастер-Тур»/«Мастер-Web»
- Панель расчета
IIS 8.0 (.Net Framework 4.5) для панели расчета
Google Chrome на клиентских компьютерах. Панель расчета наилучшим образом отображается в браузере Google Chrome.Минимальные Рекомендуемые Процессор Pentium 4 Core 2 Duo Оперативная память 2 Гб 2 Гб Свободное место на жестком диске от 30 Гб от 60 Гб Операционная система Windows Vista или выше Windows 7 или выше Разрешение монитора 1024 × 768 1920 × 1080 - Служба балансировщика
Минимальные Рекомендуемые Процессор Pentium 4 Core 2 Duo Оперативная память 2 Гб 2 Гб Свободное место на жестком диске от 30 Гб от 60 Гб Операционная система Windows Vista или выше Windows 7 или выше Разрешение монитора 1024 × 768 1920 × 1080 - Служба расчетчика
Минимальные Рекомендуемые Процессор 8-ядерный 16-ядерный Оперативная память 16 Гб 32 Гб Свободное место на жестком диске от 50 Гб от 120 Гб Операционная система Windows Vista или выше Windows Server 2008 или выше Разрешение монитора 1024 × 768 1920 × 1080
Сервиса расчета и службы балансировщика могут быть установлены как на одном компьютере, так и на разных, но они должны находится в одной сети с сервером с базой данных ПК «Мастер-Тур».
Признак «Тур скрыт» не обрабатывается в текущей версии модуля «Прайс-Экспресс».
Защита панели расчета от несанкционированного доступа должна осуществляться административными методами.
Установка
Установка дополнительного модуля «Прайс-Экспресс» производится в несколько этапов, которые описаны ниже.
Обновление базы данных
Необходимо выполнить скрипт обновления ReleaseScript.sql на базе данных ПК «Мастер-Тур».
Установка службы расчетчика
- Скопировать папку CalculateTourService из дистрибутива на сервер расчета.
- Перед установкой расчетчика необходимо настроить конфигурационный файл Megatec.MasterTour.CalculateTourService.exe.config.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Строка подключения | Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings. | <add key="connectionString" value="Data Source=Server; Initial Catalog=MasterTourDatabase; User Id=User; Password=123; Application Name=CalculateTourBalanser" />
|
2 | Логирование | Пути к лог-файлам задаются в секциях логирования. | <param name="File" value="D:\CalculateTourService\Logs\ServiceLog.txt" />
|
3 | Порт | По умолчанию расчетчик использует порт 52527. Рекомендуется использование порта по умолчанию. Внимание! |
<add baseAddress="http://*:52527/CalculateTourService" />
|
- При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта расчетчика.
- В Службах Windows добавляется служба MegatecCalculateTourService.
- Для удаления службы расчетчика необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.
Установка службы балансировщика
- Копирование каталога CalculateTourBalanser из дистрибутива на сервер приложений.
- Настройка конфигурационного файла Megatec.MasterTour.CalculateTourBalanser.exe.config.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Строка подключения | Строка подключения к базе данных ПК «Мастер-Тур» указывается в секции appSettings. | <add key="connectionString" value="Data Source=Server; Initial Catalog=MasterTourDatabase; User Id=User; Password=123; Application Name=CalculateTourBalanser" />
|
2 | Логирование | Пути к лог-файлам задаются в секциях логирования. | <param name="File" value="D:\CalculateTourBalanser\Logs\BalancerLog.txt" />
|
3 | Порт | По умолчанию балансировщик использует порт 52528. Рекомендуется использование порта по умолчанию. Внимание! |
<add baseAddress="http://localhost:52528/CalculateTourBalanser/BasicHttp" />
<add baseAddress="http://localhost:52528/CalculateTourBalanser/Dictionary" />
|
- При установке в Брандмауэре Windows создаются правила для входящих подключений для открытия порта балансировщика.
- В Службах Windows добавляется служба MegatecCalculateTourBalanser.
- Для удаления службы балансировщика необходимо запустить скрипт _UnInstall.bat от имени администратора. При этом будут удалены правила для входящих подключений.
Установка панели расчета
- Копирование каталога CalculateTourPanel из дистрибутива на сервер приложений.
Рекомендуется установка службы балансировщика и панели расчета на одном компьютере. В таком случае достаточно добавить приложение на IIS, не меняя параметры конфигурационного файла.
- Настройка конфигурационного файла Web.config.
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Максимальная продолжительность | Максимальное значение фильтра «Продолжительность тура». | <add key="maxTourDur" value="40" />
|
2 | Адрес балансировщика | В тегах endpoint указывается сервер и порт балансировщика. (По умолчанию указан локальный компьютер и стандартный порт.) | <client>
<endpoint address="http://localhost:52528/CalculateTourBalanser/BasicHttp"
… >
</endpoint>
<endpoint address="http://localhost:52528/CalculateTourBalanser/Dictionary"
… >
</endpoint>
</client>
|
- Ошибка установки.
В случае возникновения данной ошибки необходимо убедиться, что в конфигурационном файле Web.config присутствует настройка:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
Если эта настройка отсутствует, то её нужно добавить. При этом перезапуск пула/приложения/сервера не требуется.
Интеграция в конструктор туров
- Копирование в рабочую папку МТ на клиентских машинах плагина «Новый расчет прайс-листа» — Megatec.MasterTour.Plugins.CalculateTourPlugin.dll.
- После добавления плагина в дополнительных настройках появится вкладка Расчет прайс-листа. В поле Адрес панели расчета необходимо указать ссылку на панель.
Настройки → Доп. настройки → Расчет прайс-листа
- В конструкторе туров в надстройках появится пункт Новый расчет туров, по клику на котором открывается панель расчета.
Панель расчета
Расчет простого тура
Расчет тура с исключением услуг
Расчет с использованием связывания
Настройка расчета по датам
Механизм связывания
Дерево услуг
Очередь расчета
Расчетный сервер состоит из 3 блоков:
Сейчас рассчитываются туры
В блоке "Сейчас рассчитываются туры" находится информация о турах (страна, для которой рассчитывается тур, название тура, начало расчета тура, статус, прогресс и сервер, на котором рассчитывается тур), которые рассчитываются в данный момент. Если в данный момент времени никакой тур не рассчитывается, то в блоке выводится запись "Ура! В данный момент расчетов не производится!"
Очередь на расчет
В блоке "Очередь на расчет" с помощью фильтров Страна и Название тура можно выбрать тур для его выставления в очередь на расчет. Для расчета тура можно выбрать сервер, указать приоритет расчета, выставить дату и время для запланированного расчета. Если очередь на расчет пуста, то в данном блоке появится запись "Ура! Очередь расчетов пуста!".
Рассчитанные туры
В блоке "Рассчитанные туры" находится информация о уже рассчитанных турах (Страна, Название тура, Статус, Время Начала расчета, время окончания расчета). С помощью фильтров Город вылета, Страна, Статус и Название тура можно быстро отыскать рассчитанный тур. Если тур рассчитается успешно, то на кнопке соответствующего тура будет написано "Успех". Если кнопка подсветилась зеленым цветом, то тур рассчитался с ценами, если желтым, то цены не рассчитались. Если тур рассчитался с ошибками, то на кнопке соответствующего тура будет написано "Ошибка" и кнопка подсветится красным цветом. О каждом рассчитанном туре можно просмотреть информацию, пересчитать тур и удалить. Если тур рассчитался с ошибками, то можно просмотреть информацию об ошибке.
Расчетный сервер можно поставить на автообновление через 5, 10, 30 секунд или 1 минуту, выбрав соответствующее время из списка "Автообновление" в верхнем левом углу.
Выставление туров онлайн
Правила расчета
Расчет дня предоставления услуги
- День предоставления услуги привязан к ближайшему дню завершения проживания в отеле, который меньше или равен дню предоставления услуги. Если такового отеля нет, день предоставления услуги привязан к началу тура.
- Если день завершения проживания в связанном отеле смещается, пропорционально ему смещается и день предоставления услуги. (Частный случай — доп. услуги в отеле, привязанные к конкретному отелю. Их день предоставления равен дню предоставления услуги проживания в их отеле.)
- При сжатии тура все услуги, оставшиеся за его пределами, должны быть перенесены на последний день тура с продолжительностью 1 (если они имеют продолжительность).
Расчет продолжительности услуги
Расчет продолжительности услуги происходит по разным правилам для разных классов услуг:
- Перелет, Трансфер
- Услуги типа Перелет и Трансфер не имеют понятия продолжительность.
- Проживание
- Продолжительность на услугу типа Проживание рассчитывается заранее на основе параметров расчета, введенных пользователем.
- Доп. услуга в отеле
- Доп. услуга в отеле, привязанная к конкретному отелю, имеет продолжительность своего отеля.
- Другие услуги
- Все остальные услуги рассчитываются по следующему алгоритму:
- Если продолжительность нерассчитанной услуги равна продолжительности нерассчитанного тура, то ее продолжительность в рассчитанном варианте тура также будет равна продолжительности рассчитанного варианта тура, т.е. изменится.
- Если продолжительность нерассчитанной услуги не равна продолжительности нерассчитанного тура, то ее продолжительность остается без изменений (как в конструкторе туров).
- Если продолжительность услуги превышает продолжительность тура и услуга начинает «торчать» из рассчитанного тура, то она должна обрезаться.
- Если услуга имеет продолжительность и заканчивается в последний день тура, то при растягивании тура продолжительность услуги должна увеличиться.