Версия формата миграции: 2.2.
Миграция из других АСР делается через промежуточный набор таблиц в формате DBF или CSV (кодировка UTF-8, разделитель полей — точка с запятой, в первой строке указываются названия полей таблицы). Таблицы выгружаются из старой АСР с помощью специального скрипта на Python или Perl . Далее с помощью специального инструмента DBF/CSV-файлы загружаются в АСР «Гидра», где происходит сопоставление справочников и выполняется собственно миграция данных.
Упрощения и допущения
- Юрлица и физлица находятся в одной таблице и отличаются только специальным признаком.
- Из реквизитов юрлица выгружается только его название, остальное требует ручного ввода (таблицу при необходимости можно дополнить полями с реквизитами).
- Текущий объём потреблённых услуг (трафик, минуты) никак не мигрирует, но дата окончания текущего периода мигрирует.
- Подробности тарифов (периодичность, пороги, единицы измерения, стоимость и т.д.) не мигрируют, а перебиваются вручную и затем сопоставляются.
Выгрузка из старой АСР
Звёздочкой для наглядности помечены идентификаторы, являющиеся внешними ключами. Первичный ключ в каждой таблице всегда называется ID. Если необходимо, то к каждой таблице можно добавить поле для комментария (с названием REM), в которое будут выгружаться полезные текстовые данные.
Для полей с типом «Дата и время» используется следующий формат: 26.04.2009 13:04:55 (Oracle: DD.MM.YYYY HH24:MI:SS). Для полей только с датой или только с временем нужно использовать 26.04.2009 и 13:04:55 соответственно.
Справочник состояний абонента
Таблица STATUS
Поле |
Описание |
---|---|
ID |
ID состояния |
NAME |
Наименование состояния |
Если используется всего два состояния (включен, отключен), то смысла в справочнике нет. В таблицах, которые на него ссылаются, можно использовать просто отдельный столбец с признаком активности.
Справочник сетевых служб
Таблица NS_LIST
ID |
ID сетевой службы |
NAME |
Название сетевой службы |
Примечание: Этот справочник формируется вручную и состоит из перечня сетевых служб, для доступа к которым абоненту нужен логин и пароль: RADIUS, личный кабинет, телефония.
Справочник единиц измерения
Таблица UNITS_LIST
ID |
ID единицы измерения |
NAME |
Название единицы измерения |
Справочник типов оборудования
Таблица EQUIP_TYPE
ID |
ID типа |
NAME |
Название оборудования |
Справочник групп
Таблица GROUPS
ID |
ID группы |
NAME |
Название группы |
Справочник банков
Таблица BANKS
ID |
ID банка |
NAME |
Название банка |
Справочник услуг и тарифных планов
Таблица SERVICES
ID |
ID услуги (тарифного плана) |
NAME |
Наименование услуги (ТП) |
TYPE |
Признак тарифного плана (если Y, то ТП; если N, то услуга) |
UNIT_ID |
ID единицы измерения* |
Примечание: В этот справочник выгружаются все ТП, а из услуг только те, которые не входят в ТП, например, услуга "Реальный IP-адрес"
Справочник лицевых счетов
Таблица ACCOUNTS
ID |
ID лицевого счёта |
USER_ID |
ID абонента* |
ACCT_NUM |
Номер лицевого счёта |
CUR_ID |
ID валюты* (если в системе только российский рубль, можно не указывать) |
BALANCE |
Баланс счёта |
CREDIT |
Кредитный лимит |
CREDIT_END_DATE |
Дата окончания кредитного лимита |
BALANCE_DATE |
Дата, на которую рассчитан баланс |
Привязки абонента к сетевым службам
Таблица NETSERV
ID |
ID привязки |
USER_ID |
ID абонента* |
NS_ID |
ID сетевой службы* |
LOGIN |
Логин |
PASSWORD |
Пароль |
Примечание: В эту таблицу выгружаются логины и пароли на VPN, на личный кабинет, SIP-аккаунт и на другие ресурсы, которые контролирует биллинг. При этом в целях безопасности пароли при тестовых выгрузках нужно заменять на звёздочки или случайные строки. Настоящие пароли будут выгружаться всего один раз, при окончательной миграции.
Участие абонентов в группах
Таблица GROUPLINK
ID |
ID записи об участии |
USER_ID |
ID абонента* |
GROUP_ID |
ID группы* |
Подписка абонентов на услуги
Таблица SUBSCR
ID |
ID подписки |
ACCT_ID |
ID лицевого счёта* |
CONTRACT_ID |
ID договора* |
TARIFF_ID |
ID услуги (тарифного плана)* |
EQUIP_ID |
ID абонентского оборудования* |
D_END |
Дата окончания текущего учётного периода |
D_START |
Дата начала текущего учётного периода |
Операторское оборудование
Таблица OP_EQUIP
ID |
ID оборудования |
EQUIP_TYPE_ID |
ID типа оборудования* |
GROUP_ID |
ID группы* |
CODE |
Код оборудования |
IP |
IP-адрес для управления |
LOGIN |
Логин для управления |
PASSWORD |
Пароль |
Примечание: ID группы можно использовать для привязки оборудования к определённому региону или филиалу. Список атрибутов для оборудования может быть расширен по необходимости (адрес, количество портов и т. д.).
Оконечное оборудование абонентов
Таблица EQUIP
ID |
ID оборудования |
USER_ID |
ID абонента* |
OP_EQUIP_ID |
ID операторского оборудования* |
OP_EQUIP_PORT |
Порт операторского оборудования |
CODE |
Код оборудования |
MAC |
Физический адрес (MAC) |
IP |
IP-адрес |
MASK |
Маска IP-адреса |
PHONE |
Абонентский телефонный номер в формате E.164 |
Примечание: Поля OP_EQUIP_ID и OP_EQUIP_PORT необходимы для указания привязки абонентского оборудования к операторскому.
Справочник абонентских договоров
Таблица CONTRACTS
ID |
ID договора |
USER_ID |
ID абонента |
NUM |
Номер договора |
D_DOC |
Дата заключения договора |
D_BEGIN |
Дата начала действия договора |
D_END |
Дата окончания действия договора |
Справочник абонентов
Таблица USERS
ID |
ID абонента |
STATUS_ID |
ID состояния абонента* |
LOGIN |
Код абонента |
JUR |
Физическое или юридическое лицо (0 — физлицо, 1 — юрлицо) |
NAME |
ФИО (физлица) / Наименование (юрлица) |
ADDR |
Домашний адрес. Формат адреса абонента: |
PASSPORT |
Номер паспорта |
W_PHONE |
Рабочий телефон в формате E.164 |
H_PHONE |
Контактный домашний телефон в формате E.164 |
M_PHONE |
Контактный мобильный телефон в формате E.164 |
Контактный email |
Примечание: Список атрибутов для личных данных абонента может быть расширен по необходимости.
Платежи
Таблица PAYMENTS
ID |
ID операции |
ACCT_ID |
ID лицевого счёта* |
BANK_ID |
ID банка* |
D_OPER |
Дата и время операции |
PAYMENT_SUM |
Сумма платежа, умноженная на 100 (целое число) |
Списания
Таблица WRITEOFFS
ID |
ID операции |
ACCT_ID |
ID лицевого счёта* |
D_OPER |
Дата и время операции |
TARIFF_ID |
ID услуги (тарифного плана)* |
SUM |
Сумма списания, умноженная на 100 |
D_BEGIN |
Дата и время начала периода списания |
D_END |
Дата и время окончания периода списания |
USED |
Количество, умноженное на 100. (В единицах измерения UNIT_ID из SERVICES) |