Перейти к содержанию

Billing...


Рекомендуемые сообщения

Столкнулся с проблемой, не приходит в голову ничего...

В старом биллинге были механизмы учета трафика:

1. входящий

2. исходящий

3. суммарный

4. больший

5. меньший

Если первые три пункта понятны, то последние два - не понимаю, как считать. Реально определить бОльший или меньший трафик можно только по окончании сессии, но проводить процедуру биллинга надо ежеминутно. Понятно, что определять больший/меньший трафик по состоянию на данную минуту бессмыслено, поскольку уже в следующую все может поменяться...

Ссылка на комментарий
Поделиться на другие сайты

Считать надо оба сразу и периодически, проверять, какой из них

больше... соответственно, так и счет выставлять.

Ссылка на комментарий
Поделиться на другие сайты

Hans R. Steiner писал(а) Tue, 05 December 2006 17:24

Считать надо оба сразу и периодически, проверять, какой из них больше... соответственно, так и счет выставлять.

Получается так:

1 минута - больше нисходящий - считаем его, деньги тут же снимаем за него

2 минута - больше восходящий - считаем уже его, снимаем деньги за него

Так делать нельзя, потому что конечная цифра получается некорректной. Например

Ставка = 1 д.е./мб

1 минута Восх = 5 Исх = 4 Снято денег = 5 (за восх)

2 минута Восх = 1 Исх = 3 Снято денег = 3 (за нисх)

Итого Восх = 6 Нисх = 7 Снято денег = 8

Т.о. снято 8 д.е., когда реально, по состоянию на конец сессии, должно быть снято 7.

А проверять по окончании сессии невозможно, поскольку услуга препэйд и надо тарифицировать ежеминутно и по достижении нулевого баланса отключать.

Ссылка на комментарий
Поделиться на другие сайты

А если складывать отдельно вх. и исх., а по достижении каким-либо из них предела обрывать сессию и снимать деньги? Зачем реально снимать деньги ежеминутно?

Ссылка на комментарий
Поделиться на другие сайты

Допустим:
$BILLNOW = счет пользователя
$BILLNEW = счет пользователя
$TRAF_IN = деньги за входящий трафик
$TRAF_OUT = деньги за исходящий трафик

каждую минуту:
if ( $TRAF_IN >= $TRAF_OUT ) { $BILLNEW = $BILLNOW - $TRAF_IN }
else { $BILLNEW = $BILLNOW - $TRAF_OUT }
$BILLLAST = $BILLNEW;

после разрыва сессии:
$BILLNOW = $BILLLAST;

Ссылка на комментарий
Поделиться на другие сайты

2vpk

То есть, вычислить в начале сессии лимит трафика как баланс/ставка за метр? Во-первых, пользователь не любит считать и предпочитает видеть, сколько у него денег на счету на данный момент, а не сколько у него было до начала сессии и сколько должно за сессию сняться. Во-вторых, само вычисление не всегда возможно. Например, если ставка различается во времени - днем одна цена, ночью другая - то невозможно определить, по какой ставке считать трафик, поскольку неизвестно, как долго будет длиться сессия и на какой период ее придется бОльшая часть трафика.

2Hans

Опять же, получается, что манипуляции со счетом производим в конце сессии, что не есть хорошо.

Ссылка на комментарий
Поделиться на другие сайты

IMHO, в таком случае вопрос нужно решать не математически, а юридически (в договоре). Нет понятия "больший/меньший трафик", есть понятие "больший/меньший трафик за какой-то период". В договоре нужно определить этот период, а потом уже включать математику.

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

Опять же, получается, что манипуляции со счетом производим в конце сессии, что не есть хорошо.

Не совсем так.

Вычисление проводится ежеминутно, но фиксируется оно после

окончания сессии.

А пользователю, можно показывать не $BILLNOW а $BILLNEW

PS^ и рвать сессию можно по $BILLNEW а не по $BILLNOW

Ссылка на комментарий
Поделиться на другие сайты

vpk писал(а) Wed, 06 December 2006 12:45

IMHO, в таком случае вопрос нужно решать не математически, а юридически (в договоре). Нет понятия "больший/меньший трафик", есть понятие "больший/меньший трафик за какой-то период". В договоре нужно определить этот период, а потом уже включать математику.

Под периодом подразумевается сессия, при любом способе учета. Нельзя же говорить пользователю, что учитывается такой-то трафик, но только в том случае, если продолжительность сессии будет больше опр. значения.

Продолжительность сессии может быть любой, от минуты до нескольких суток. Соотв. и больший/меньший трафик за сессию, но учитываться и тарифицироваться все должно в реалтайме, не обязательно даже ежеминутно, может и чаще.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...