Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: gonhik от 12 Января 2013, 21:41:41



Название: Статистика
Отправлено: gonhik от 12 Января 2013, 21:41:41
Здравствуйте, подскажите как можно извлечь статистику по клиенту за а предельное время если включена детализация трафика ?


Название: Re: Статистика
Отправлено: stix от 12 Января 2013, 23:24:18
через sql запрос как пример


Название: Re: Статистика
Отправлено: gonhik от 13 Января 2013, 15:25:13
а можно пример запроса ? пожалуйста


Название: Re: Статистика
Отправлено: stix от 14 Января 2013, 15:41:43
- z-таблицы содержат максимально детализированную статистику по ip, портам и протоколам для трафика каждого абонента для которого включена такая функция. Эти таблицы наиболее требовательны к ресурсам памяти т.к. хранят очень большое количество информации. Последнее является причиной почему таблицы с трафиком создаются персонально для каждого дня.

Структура:

 mid      - id клиента (см. таблицу users);
 time      - время среза статистики в формате:
        timestamp минус timestamp начала суток;
 bytes      - трафик, байт;
 direction   - направление, 0 - от клиента, 1 - к клиенту;
 ip      - ip удаленной стороны, упакованный в 4 байта;
 port      - порт удаленной стороны;
 proto      - номер протокола.

Время среза статистики для уменьшения объема таблицы предоставлено в сокращенном виде. Как известно, timestamp сообщает о количестве секунд, прошедших с начала 1970 года. В нашем случае за начало принимается 0 часов 0 минут тех суток, на которые предоставлена информация. Таким образом, если значение time = 10 в таблице z2008x3x8, то оно будет указывать на срез 10 секунд 8 марта 2008 года.

ip получаешь так
SELECT INET_NTOA(1048601639)


Название: Re: Статистика
Отправлено: stix от 14 Января 2013, 17:11:13
Код:
select FROM_UNIXTIME((UNIX_TIMESTAMP("2013-01-14")+ time)),bytes,INET_NTOA(ip) from z2013x1x14  where mid=1404;
ну как пример, z2013x1x14  таблица за сегодняшний день.
1404 -id юзера.

как то так