СОРМ

Обмен накопленными знаниями и опытом использования АСР LANBilling
Aleksandr Bugrov
Сообщения: 1
Зарегистрирован: 09 июн 2017, 11:42

СОРМ

Сообщение Aleksandr Bugrov » 09 июн 2017, 11:47

Коллеги, подскажите есть ли кто-нибудь,кто уже инициировал периодическую выгрузку из БД LanBilling для СОРМ. Интересуют непосредственно запросы на выборку и преобразование данных к необходимым значениям. Как реализовывалось: прямыми запросами или через temp таблицы?

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: СОРМ

Сообщение Andrei » 10 июн 2017, 11:56

Я делал прямыми запросами к базам.
Сложность в том, что например netflow по ТУ надо обновлять каждые 15 минут, а при больших объемах за 15 минут предыдущая выгрузка еще не успевает закончиться, а уже надо новую запускать.

Golthana
Сообщения: 13
Зарегистрирован: 07 дек 2016, 21:51

Re: СОРМ

Сообщение Golthana » 15 сен 2017, 23:28

Я тоже делал прямыми запросами к БД. Все обрабатывалось примерно за 1,5 сек. Сразу скажу, что количество учетных записей 1800.

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: СОРМ

Сообщение Andrei » 25 окт 2017, 19:29

А есть у разработчиков ЛБ скрипты, выгружающие данные для систем СОРМ-3 в формате, который требуют разработчики СОРМ (их сертифицированных всего 2: МФИ-Софт и Норси-Транс).
Понятно, что можно и самостоятельно написать скрипты таких выгрузок изучив структуру базы данных ЛБ, но ищется готовое решение от разработчика.
К тому же писать скрипты таких выгрузок с прямым обращением к базам не совсем корректно, т.к. структура баз меняется от сборки к сборке, а через API все нужные выгрузки не выполнить.

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: СОРМ

Сообщение Andrei » 22 дек 2017, 19:56

Разработчики не отвечают. Ладно :)
Может кто-то из коллег делал такие выгрузки?

Аватара пользователя
support
Сообщения: 206
Зарегистрирован: 03 фев 2016, 10:41

Re: СОРМ

Сообщение support » 20 апр 2018, 10:42

У разработчика есть скрипты выгрузки, дорабатывают их индивидуально под клиента, т.к. там есть отличия по реализации в зависимости от схемы оказания услуг.
Можете обратиться в коммерческий отдел чтобы узнать стоимость.

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: СОРМ

Сообщение Andrei » 25 апр 2018, 22:41

Предложенная цена оказалась неадекватной. Спасибо.

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: СОРМ

Сообщение Andrei » 19 июл 2018, 15:13

Надо получить список доп.услуг, оказываемых абонентам, для выгрузки в ИС СОРМ-3.
Реализованы они как тарифы агента USBox. Никак не пойму в какой таблице они хранятся.

Код: Выделить всё

select * from tarifs where descr like "Дополнительные%";
+--------+----------------------------------------------------------------+--------+------+------------+------+-----------+-------+---------+------+-------------+------------+------------+-------------+-----------------+------------+--------------+-------------+---------------+-----------------+-----------+------------------+----------+-----------+---------------------+---------+---------------+--------------------+------------+------+------------+------+
| tar_id | descr                                                          | cur_id | rent | block_rent | type | act_block | shape | archive | used | unavaliable | price_plan | traff_type | traff_limit | traff_limit_per | daily_rent | dynamic_rent | shape_prior | rent_multiply | charge_incoming | dyn_route | voip_block_local | coef_low | coef_high | block_rent_duration | min_sum | actual_tar_id | sale_dictionary_id | descr_full | uuid | additional | link |
+--------+----------------------------------------------------------------+--------+------+------------+------+-----------+-------+---------+------+-------------+------------+------------+-------------+-----------------+------------+--------------+-------------+---------------+-----------------+-----------+------------------+----------+-----------+---------------------+---------+---------------+--------------------+------------+------+------------+------+
|     37 | Дополнительные услуги для юр.лиц                               |      1 |    0 |          0 |    5 |         0 |     0 |       0 |    1 |           0 |          0 |          0 |           0 |               0 |          0 |            1 |           0 |             0 |               0 |         0 |                0 |        0 |         1 |                   0 |       0 |          NULL |               NULL |            | NULL |          0 |      |
|     42 | Дополнительные услуги для физ.лиц                              |      1 |    0 |          0 |    5 |         2 |     0 |       0 |    1 |           0 |          0 |          0 |           0 |               0 |          0 |            1 |           0 |             0 |               0 |         0 |                0 |        0 |         1 |                   0 |       0 |          NULL |               NULL |            | NULL |          0 |      |
+--------+----------------------------------------------------------------+--------+------+------------+------+-----------+-------+---------+------+-------------+------------+------------+-------------+-----------------+------------+--------------+-------------+---------------+-----------------+-----------+------------------+----------+-----------+---------------------+---------+---------------+--------------------+------------+------+------------+------+
2 rows in set (0.00 sec)

"Дополнительные услуги для юр.лиц " - это общее название тарифа, внутри него есть категории типа "фиксированный ip-адрес", "регистрация домена 2го уровня" и т.п. Вот где эти категории, в какой таблице?

UPDATE: оказывается это в categories

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: СОРМ

Сообщение Andrei » 25 сен 2018, 12:14

Для нужд БД СОРМ-3 требуется по каждой учетке получить параметр дата и время начала оказания услуги. Учетки вот в этой таблице:

Код: Выделить всё

mysql> describe vgroups;
+----------------+---------------------+------+-----+---------------------+----------------+
| Field          | Type                | Null | Key | Default             | Extra          |
+----------------+---------------------+------+-----+---------------------+----------------+
| vg_id          | int(11)             | NO   | PRI | NULL                | auto_increment |
| uid            | int(11)             | YES  | MUL | NULL                |                |
| cu_id          | int(11)             | YES  | MUL | NULL                |                |
| descr          | varchar(255)        | NO   |     |                     |                |
| login          | varchar(128)        | YES  | MUL | NULL                |                |
| pass           | varchar(128)        | YES  |     | NULL                |                |
| agrm_id        | int(11)             | YES  | MUL | NULL                |                |
| blk_req        | tinyint(4)          | NO   | MUL | 0                   |                |
| blocked        | tinyint(4)          | NO   | MUL | 0                   |                |
| changed        | tinyint(4)          | NO   | MUL | 0                   |                |
| tar_id         | int(11)             | YES  | MUL | NULL                |                |
| id             | int(11)             | NO   | MUL | 0                   |                |
| shape          | int(10) unsigned    | NO   |     | 0                   |                |
| c_date         | date                | NO   | MUL | 0000-00-00          |                |
| d_limit        | bigint(20) unsigned | NO   |     | 0                   |                |
| d_clear        | date                | YES  |     | NULL                |                |
| max_sessions   | int(11)             | NO   |     | 1                   |                |
| amount         | double              | NO   |     | 0                   |                |
| current_shape  | int(10) unsigned    | NO   |     | 0                   |                |
| ip_det         | tinyint(1)          | NO   |     | 0                   |                |
| port_det       | tinyint(1)          | NO   |     | 0                   |                |
| archive        | tinyint(1)          | NO   | MUL | 0                   |                |
| acc_ondate     | datetime            | NO   | MUL | 0000-00-00 00:00:00 |                |
| acc_offdate    | datetime            | NO   | MUL | 0000-00-00 00:00:00 |                |
| block_date     | datetime            | NO   |     | 0000-00-00 00:00:00 |                |
| creation_date  | timestamp           | NO   |     | CURRENT_TIMESTAMP   |                |
| template       | tinyint(1)          | NO   |     | 0                   |                |
| dirty          | tinyint(4)          | NO   |     | 0                   |                |
| connected_from | int(11)             | YES  |     | NULL                |                |
| parent_vg_id   | int(11)             | YES  | MUL | NULL                |                |
| port_id        | int(11)             | YES  | MUL | NULL                |                |
| user_packet_id | int(11)             | YES  | MUL | NULL                |                |
+----------------+---------------------+------+-----+---------------------+----------------+
32 rows in set (0.00 sec)

По структуре вроде как эта дата/время в acc_ondate , но в БД ЛанБиллинг куча работающих, у которых это поле нулевое. Не там смотрю?

Golthana
Сообщения: 13
Зарегистрирован: 07 дек 2016, 21:51

Re: СОРМ

Сообщение Golthana » 15 окт 2018, 22:56

Andrei писал(а):А есть у разработчиков ЛБ скрипты, выгружающие данные для систем СОРМ-3 в формате, который требуют разработчики СОРМ (их сертифицированных всего 2: МФИ-Софт и Норси-Транс).
Понятно, что можно и самостоятельно написать скрипты таких выгрузок изучив структуру базы данных ЛБ, но ищется готовое решение от разработчика.
К тому же писать скрипты таких выгрузок с прямым обращением к базам не совсем корректно, т.к. структура баз меняется от сборки к сборке, а через API все нужные выгрузки не выполнить.


В случае изменения структуры БД (что мало вероятно), можно просто внести необходимые изменения в функции и все. Во всяком случае это бесплатно.)


Вернуться в «LANBilling: обмен опытом»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость