?

Log in

No account? Create an account
dump -0f - /dev/mind
Я знаю Haskell, OCaml, GSM, эндофункторы и много других страшных слов
GSM: почему биллинг делается так долго? 
20th-Nov-2006 04:14 pm
(заказной пост для en_vision) Допустим, ваш оператор делает биллинг (готовит ежемесячные счета) в течении 5-10 дней? Почему так долго? Казалось бы, делов-то - "select sum(rated_amount) from rated_calls group by contract_id", и вперед - печатать счета. Давайте попробуем разобраться, где же порылась собака. Воспользуемся справочником Стеля ...Collapse )
Comments 
15th-Jan-2007 09:51 am (UTC) - Реализация тарифов для доп. услуг
Anonymous
Спасибо за обзор, интересно было прочитать. Появились некоторые вопросы по теме. Представим ситуацию, когда есть определенные тарифные планы по основной услуге (н-р, подсчет интернет-трафика или еще чего-то), в которых учитываются различные параметры (время получения услуги, абонплата итд). Все это хранится в одной таблице Тарифы с полями Идентификатор тарифа, Абонплата, Цена единицы потребленной услуги днем, Цена единицы потребленной услуги ночью...
Затем появляется новая услуга, н-р, IPTV или игровые сервера. Для пользования ими есть несколько тарифов со своими параметрами (н-р, первый тариф-абонплата за доступ к просмотру видео или второй тариф-без абонплаты, но n руб за час просмотра).
Вопрос, как это реализовать в БД. Дополнить существующую таблицу тарифов данными об доп. услугах или создать новую таблицу для них? В первом случае не известно, что ставить для уже подключенных клиентов в поля для доп тарифов и число их увеличится в геометрической прогрессии. Во втором случае придется немного менять логику работы программ рейтинга.
Вопрос, как это правильно реализовать и предусмотреть возможность появления новых услуг.
12th-Aug-2007 09:14 pm (UTC) - Re: Реализация тарифов для доп. услуг
Нарисовать сложную ER-модель вида "Тарифный план состоит из тарифных пакетов. Тарифный пакет - это стоимость услуги в данном тарифном плане или ссылка на тарифный пакет для услуги по умолчанию. Тарифный пакет состоит из тарифов на события и тарифов на звонки (если это применимо к услуге). Тарифы на звонки - это таблица стоимости звонков на направления. Направление - это группа номеров, описываемая так-то". Потом планируется схема базы, в которой это все может жить, и административный гуй, через который этим можно рулить. Периодически все это добро надо рефакторить, но редко кто это делает.

Вот, где-то так.
20th-Jan-2007 05:50 pm (UTC)
"тем не менее, многие все-таки решили написать мне о том, как прекрасно параллелится биллинг и, в частности, как прекрасно разделяется для этого на части база данных"

Во-первых, он таки параллелится :) (несколько BCH, multiple bill cycles)

Во-вторых, это никому не надо :) Потому как "во-первых" номальным операторам хватает за глаза. Есть пара ислючений вроде Украины и России, где это не работает :(
22nd-Jan-2007 09:07 pm (UTC)
Ну, если мы уже ударились в специфику, то насколько мне помнится, N BCH x 1 billcycle не спасают (путаются друг у друга под ногами), а N разнесенных по календарю bill cycles не позволяет сделать законодательство. А не разнесенные по календарю биллинговые циклы никому нафиг не нужны, т.к. получаются те же уши, только в профиль. Так? :)

С "во-вторых" - согласен на 100%.
27th-Feb-2007 02:33 am (UTC)
имхо с алгоритмиеской точки зрения это попытка решить на одной структуре данных две разные задачи. если б для вас действительно важно было биллинг за два часа сделать, то вы бы могли просто по окончании месяца разлить данные по десятку серверов и на каждом из них быстренько отбработать. но оно вам больно нужно?
1st-Mar-2007 07:40 am (UTC)
Вот-вот. Особенно учитывая то, что время разлития может составлять сутки (вспоминаем сложность структур и объем данных).
1st-Mar-2007 10:06 am (UTC)
репликацию базы можно делать с помощью backup+restore, так что вряд ли больше часа :)
1st-Mar-2007 09:33 pm (UTC)
Независимо от размеров? :)

Сколько будет бэкапится база размером в 1 Тб?
2nd-Mar-2007 09:16 am (UTC)
а почему ты у меня спрашиваешь? вы что, свою базу не бекапите? :))
20th-Mar-2007 09:58 pm (UTC)
Я именно потому и спрашиваю, что мы бэкапим и я знаю, сколько времени это занимает. И сколько времени оно из бэкапов поднимается. И как надо напрячься, чтобы сбекапить нужный срез.

Я уверен, что таким способом овчинка выделки не стоит.
12th-Feb-2012 11:27 am (UTC)
Хе... У больших операторов проблема не столько с биллингом, сколько с производительностью принтеров. У одного из операторов большой тройки, в МСК, аккурат на 2006 год, счета печатались в 3-4 раза дольше, чем генерились.
Page 2 of 2
<<[1] [2] >>
This page was loaded Oct 18th 2019, 6:39 pm GMT.