BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 май 2024, 00:39

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: FreeBSD Manad, использующий таблицы
СообщениеДобавлено: 01 дек 2010, 15:24 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
borisk писал(а):
Если хранить только номера договоров, нельзя отследить смену правил в тарифе. Ну то есть фактически на текущий момент я использовал приведенный на wiki вариант, с заточкой исключительно под свои нужды.

Свой будете опубликовывать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FreeBSD Manad, использующий таблицы
СообщениеДобавлено: 28 июн 2011, 17:01 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
Таки добавил ссылку на эту тему в вики. :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FreeBSD Manad, использующий таблицы
СообщениеДобавлено: 25 дек 2013, 13:15 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
borisk писал(а):
Вопрос актуальности я, для себя, вижу так: с периодичностью N минут таблицы сохраняются в файлы, при старте manad их подгружает. Возможна небольшая потеря актуальности. Другой вариант вообще без потерь - слегка модернизируем скрипт манада, и после каждого изменения конфигурации он сбрасывает содержимое таблиц в файлы.



В связи с проектированием аналога manad для inet, перечитал эту тему. Вопрос - а зачем вообще нужна актуальность в Маnad . Можно же сделать чтобы он при старте просто очищал все, а потом задача проверки шлюзов открывала все нужные договора. Для inet вижу похожий алгоритм, только нужно сделать аналог ru.bitel.bgbilling.modules.inet.dyn.device.snmp.SnmpDeviceManager, который определит перезагрузку manad и вызовет для каждого сервиса serviceCancel/serviceCreate


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: FreeBSD Manad, использующий таблицы
СообщениеДобавлено: 21 авг 2014, 17:35 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Проблема вот в этом коде

Код:
 ib=rule.indexOf("[CLOSE]")+8;
 ie=rule.indexOf("[/CLOSE]")-1;


Тут нужно, не 8, а 7 прибавлять. в общем случае между [CLOSE] и [/CLOSE] может ничего не быть например

Код:
[CLOSE]
<LOOP>
table 23 delete {A}
table 24 delete {A}
table 51 add {A}
</LOOP>
<LOOP_NET>
table 23 delete {IP}/{MASK_BIT}
table 24 delete {IP}/{MASK_BIT}
table 51 add {IP}/{MASK_BIT}
</LOOP_NET>
[/CLOSE]


если не добавлено ни одного ip или сети на договор, то это команды схлопнутся. А аналогично и для [OPEN].


Тут бы лучше взяли код как тут.
Что-то вроде этого
Код:
import java.util.Pattern;
import java.util.Matcher;
....
Pattern pattern = Pattern.compile( "\\[CLOSE\\](.*)\\[/CLOSE\\]", Pattern.DOTALL );
Matcher m = pattern.matcher( rule );
if (m.find())
{
rule = m.group( 1 );
}


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.050s | 26 Queries | GZIP : On ]