Перенос данных

Материал из ISPWiki

Перейти к: навигация, поиск


Содержание

Общие сведения о переносе данных

Начиная с версии 4.0.54.1 в составе дистрибутива BILLmanager присутствует утилита переноса данных из сторонних биллинговых систем. Перенос осуществляется из базы данных сторонней системы в базу данных BILLmanager напрямую, для этого используется исполняемый файл программы переноса и файл правил, который представляет собой XML файл составленные по определенной схеме.

Из-за возможной несовместимости функционала BILLmanager и системы, из которой производится перенос данных, некоторые данные невозможно перенести, либо при переносе данные корректируются для обеспечения совместимости

Рекомендуется производить перенос в чистую базу BILLmanager.

Системы биллинга, для которых поддерживается перенос данных

  • Root Panel
  • Joonte
  • WHMCS

Порядок действий при переносе

При выполнении переноса данных желательно придерживаться определенных этапов:

  • Подготовка к переносу.
  • Осуществление переноса данных.
  • Проверка перенесенных данных.

Подготовка

Для подготовки BILLmanager и сторонней системы к переносу данных необходимо выполнить следующие шаги:

  • Ограничить доступ клиентов к сторонней системе биллинга и BILLmanager. Этот шаг необходим для того, чтобы были перенесены все данные, содержащиеся в сторонней системе и не произошло сбоев при переносе из-за совпадения ID записей в базе данных.
  • Установка и первый запуск BILLmanager, если этот шаг еще не был выполнен.
  • Создание резервной копии базы BILLmanager. Необходимо для восстановления состояния BILLmanager до переноса.
  • Создание резервной копии базы сторонней системы. Необходимо во избежание несанкционированных изменений данных в базе сторонней системы. В процессе переноса данные сторонней системы не должны быть изменены, но создание резервной копии не будет лишним. Также можно использовать полученную резервную копию вместо оригинальной базы данных сторонней системы и производить перенос из нее, предварительно создав новую базу данных и загрузив туда данные.
  • Проверить доступность базы данных, из которой будет производится перенос информации, с сервера, на котором установлен BILLmanager.

Осуществление переноса

Исполняемый файл программы переноса можно найти по пути (path)/sbin/billimport, где (path) - путь к папке установки BILLmanager.

Файлы правил переноса данных можно найти по пути (path)/var/billimport/, где (path) - путь к папке установки BILLmanager. Имена файлов правил переноса данных имеют *.importmap.

  • Запуск программы переноса

Возможны два варианта запуска программы переноса:

  1. Без использования графического интерфейса путем передачи всех необходимых параметров в строке запуска командной строки. Варианты параметров:
    • H - Показать помощь и выйти из программы.
    • V - Показывает версию программы.
    • s - Включает не графический режим.
    • v - Включает вывод дополнительной информации, имеет смысл только с опцией '-s'.
    • S - Выводит список доступных файлов правил переноса.
    • h <hostname> - задает <hostname> в качестве имени сервера баз данных стороннего биллинга.
    • u <username> - задает <username> в качестве имени пользователя для подключения к серверу баз данных стороннего биллинга.
    • p <password> - задает <password> в качестве пароля пользователя для подключения к серверу баз данных стороннего биллинга.
    • n <dbname> - задает <dbname> в качестве имени базы данных стороннего биллинга.
    • f <filename> - задает <filename> в качестве файла правил переноса.
    • Пример строки запуска: ./billimport -h 127.0.0.1 -sv -u username -p password -n dbname -f filename.importmap
  2. С использованием графического интерфейса (этот способ подробнее описан ниже).

Запуск программы переноса производится в консоли, после запуска Вы увидите следующее окно приветствия:

Окно приветствия
  • Выбор правила переноса по имени системы из которой производится перенос
Выбор конфигурации
  • Ввод имени сервера на котором располагается база данных сторонней системы
Ввод имени сервере
  • Ввод имени пользователя для подключения к базе данных
Ввод имени пользователя базы данных
  • Ввод пароля пользователя для подключения к базе данных
Ввод пароля пользователя базы данных
  • Ввод имени базы данных из которой будет производится перенос данных
Ввод имени базы данных

Если возникнет ошибка подключения программа попросит перепроверить данные

Окно ошибки подключения
  • Окно процесса переноса
Процесс переноса
  • Окно завершения процесса переноса
Окно завершения
  • Лог файл переноса данных можно найти по (path)/var/billimport.log, где (path) - путь к папке установки BILLmanager.

Проверка

После выполнения переноса данных необходимо проверить следующие данные:

  1. Проверить лог файл переноса на наличие ошибок
  2. Проверить информацию о компании и проектах
  3. Проверить группы тарифных планов
  4. Проверить сервера
  5. Проверить настройку регистраторов доменов
  6. Проверить тарифные планы:
    • Наименование
    • Внутреннее имя (имя на сервере)
    • Стоимость установки
    • Активные для тарифа сервера (регистратора)
    • Активные для тарифа дополнительные услуги и стоимость их заказа
    • Сроки заказа тарифов, их стоимость
  7. Проверить остальные настройки биллинга
  8. Проверить наличие и количество клиентов, их текущий баланс
  9. Проверить количество и срок действия услуг
  10. Проверить настроенные платежные системы
  11. Проверить права сотрудников
  12. Выборочно проверить данные клиентов

Если перенос данных завершается с ошибкой, необходимо вернуть базу данных в предшествующее переносу состояние и сообщить о возникающих ошибках через центр поддержки или на форуме. После исправления ошибок в программе переноса и/или файле правил можно будет повторить процесс переноса данных.

Техническая информация

Формат файла конфигурации переноса

Файл правил переноса данных представляет собой XML файл, состоящий из следующих разделов:

  • Имя системы, для которой описываются правила и описание

Пример:

<name>Root Panel</name>
<desc>Import data from Root Panel</desc>
  • Параметры, которые используются при переносе данных

Пример:

<localparams>
 <param>
  <name>grpinc</name>
  <sql>select ifnull(max(id), 0)+1 from user</sql>
 </param>
</localparams>

где:

localparams - начало раздела параметров
param - начало описания параметра
name - имя параметра
sql - SQL запрос инициализации параметра, запрос выполняется в базе данных BILLmanager
  • Правила переноса для каждой таблицы в отдельности

Пример:

<table> - начало описания правила
 <name>admin_groups</name> - имя таблицы в базе сторонней системы
 <billname>user</billname> - имя таблицы в базе BILLmanager
 <desc>Importing admin groups</desc> - описание правила
 <type>sql</type> - тип правила
 <sql>select id as id, name as name, 'en' as lang, '1' as isgroup, '1' as account from admin_groups</sql> - SQL запрос выборки данных из таблицы сторонней системы.
 <init>grpinc</init> - параметр, инициализируемый пере началом обработки правила.
 <fields> - описание сопоставления полей таблицы, полученной в результате выполнения запроса в сторонней системе и таблицы в BILLmanager
  <field> - начало описания сопоставления
   <name>id</name> - имя поля таблице-выборке
   <billname>id</billname> - имя поля в таблице BILLmanager
   <func>%id%+%grpinc%</func> - функция применяемая к значению, полученному в результате запроса перед записью в базу BILLmanager. Здесь %id% - имя поля (описанное в name), %grpinc% - параметр инициализированный ранее. Все значения подставляются перед внесением в базу данных.
  </field>
  <field>
   <name>name</name>
   <billname>name</billname>
  </field>
  <field>
   <name>lang</name>
   <billname>lang</billname>
  </field>
  <field>
   <name>isgroup</name>
   <billname>isgroup</billname>
  </field>
  <field>
   <name>account</name>
   <billname>account</billname>
  </field>
 </fields>
</table>

Особенности переноса данных из различных систем

Обратите внимание, при импорте данных не переносятся расходы (а соответственно и акты выполненных работ).

Платеж для каждого клиента создается один, по величине равный балансу клиента.

Root Panel

При переносе данных из Root Panel переносятся следующая информация:

  1. Группы пользователей администратора
  2. Пользователи администратора (сотрудники), к имена пользователей добавляется приставка new_
  3. Аккаунты клиентов
  4. Пользователи клиентов
  5. Профили клиентов
  6. Счета пользователей
  7. Привязка пользователей к проекту
  8. Привязка профилей к компании
  9. Тикеты и сообщения к ним
  10. Сервера
  11. Регистраторы
  12. Группы тарифов
  13. Группы зон
  14. Тарифы для доменных зон
  15. Тарифы
  16. Заказы доменов
  17. Заказы
Была ли эта информация полезной? Да | Нет
Личные инструменты