BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 19 июн 2025, 19:08

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




Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
 Заголовок сообщения: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 14:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Доброго дня,

Нужно для группы пользователей сбросить сессии в мониторе модуля inet. Можно это как-то сделать? Если бы еще через sql - вообще супер было бы... Можно сброс типа "завершить (зависшиее) соединение".

Почему нужно - меняем абонентам диапазон ip и параллельно переезжаем на другой L3 брас. Сам переход прошел на ура без даун-таймов (через "переопределение" в устройствах и новый пул адресов), но проблема в том, что те абоненты для кого уже есть dhcp сессия настырно переполучают все-тот же старый адрес и сессия продлевается (я уже и стоп датой старый пул закрыл и из списка dhcp.ipCategories его удалил). Единственное что помогает - сбросить dhcp сессию и через lease time абонент получает новый ip. Если на ночь запланировать тех работы - это не проблема. Но как сбросить сотни сессий разных юзеров? Замучаюсь мышкой тыкать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 14:09 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
У меня для этих целей скрипт в дин. коде: через SQL выбираешь нужных абонентов и делаешь с ними что захочешь потом. Не только для сброса полезно.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 14:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
package ru.ellcom.bgbilling.scripts.inet;

import ru.bitel.bgbilling.kernel.container.managed.ServerContext;
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.modules.inet.api.common.service.InetServService;
import ru.bitel.bgbilling.modules.inet.api.common.service.InetSessionService;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class breakSessions
   extends GlobalScriptBase
   {
      static int INET_MID = 12; //ID модуля DialUp
      
      @Override
      public void execute( Setup setup, ConnectionSet connectionSet )
         throws Exception
      {
         Connection con  = connectionSet.getConnection();
         ServerContext context = ServerContext.get();
         InetSessionService inetServ = context.getService(InetSessionService.class, INET_MID);
         
         int count = 0;
         
         print("Start");
         long timeStart = System.currentTimeMillis();
         String query =    " SELECT id FROM inet_connection_12 WHERE INET_NTOA(CONV(HEX(ipAddress), 16, 10)) BETWEEN '77.232.165.1' AND '77.232.165.255' ";
         PreparedStatement ps = con.prepareStatement( query );
         ResultSet rs = ps.executeQuery();
         while ( rs.next() )
         {
            count++;
            long sessionId = rs.getInt( 1 );
            inetServ.connectionClose(sessionId);
         }
         rs.close();
         ps.close();
         print("Сброшено " + count + " соединений");
         long timeEnd = System.currentTimeMillis();
         print( "Process time: " + (timeEnd - timeStart)/1000 + " s." );
      }
   }

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 14:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Спасибо! Попробую


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 14:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Один такой ламерский вопрос (я в джаве вообще никак) - этот код куда подцепить? ))
Здесь нет функции main, как вызвать объект класса breakSessions?
Я вообще правильно понимаю что этот код нужно вставить в Сервис/Автоматизация/Глобальные скрипты поведения/Скрипты BGBS?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 15:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
:(
Ругается на @Override

Код:
EXCEPTIONS:
Sourced file: clear_dhcp_sessions Token Parsing Error: Lexical error at line 20, column 8.  Encountered: "O" (79), after : "@"
Sourced file: clear_dhcp_sessions Token Parsing Error: Lexical error at line 20, column 8.  Encountered: "O" (79), after : "@": <at unknown location>

   at bsh.Interpreter.eval(Interpreter.java:707)
   at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:327)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScriptImpl(GlobalScriptMachine.java:120)
   at bitel.billing.server.script.global.bean.GlobalScriptMachine.runScript(GlobalScriptMachine.java:73)
   at bitel.billing.server.script.global.bean.GlobalScriptManager.executeGlobalScript(GlobalScriptManager.java:40)
   at bitel.billing.server.script.global.action.ActionExecuteScript$1.run(ActionExecuteScript.java:48)
   at java.lang.Thread.run(Thread.java:745)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 15:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Это в динамический код надо вставлять.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 15:18 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Ааа.. вот как.. а куда? в какую ветку? там у меня огромное количество вложенностей открыватся


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 15:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Опять ругается:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 15:31 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
у вас файл называется inet а в самом коде написано public class breakSession
Либо одно либо другое переименуйте

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 15:50 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Получилось! Большое спасибо!
Один ньюанс -
inetServ.connectionClose(sessionId);
отрабатывает "Закрыть соединение (отключить)", а мне надо "Завершить (зависшее) соединение". Это можно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 15:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
http://bgbilling.ru/v6.2/javadoc/ru/bit ... rvice.html
заменить connectionClose на connectionFinish

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 25 май 2015, 16:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
то что надо! тема закрыта ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 02 июн 2015, 00:30 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Изображение

Мне тоже нужно было одному клиенту ip поменять, но что-то пошло не так. Завершить зависшее соединение теперь уже не получается. Пишет "соединение не найдено". Лишний сервис до сих пор висит на договоре и его не удалить, т.к. эта сессия считается активной. Кто-нибудь знает как её удалить?

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 02 июн 2015, 21:20 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В логах ошибок нет? Устройство к которому привязана сессия в ветке Access+Accounting?

Можно через БД в inet_connection.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 03 июн 2015, 00:22 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Ошибок нет
Amir писал(а):
Можно через БД в inet_connection.

А как?

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 03 июн 2015, 11:41 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
DELETE FROM inet_connection_<mid> WHERE id=2002


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: групповой сброс сессий
СообщениеДобавлено: 04 июн 2015, 16:33 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Помогло. Спасибо

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ] 

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


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

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


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

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