В нашей онлайн базе уже более 10821 рефератов!

Список разделов
Самое популярное
Новое
Поиск
Заказать реферат
Добавить реферат
В избранное
Контакты
Украинские рефераты
Статьи
От партнёров
Новости
Крупнейшая коллекция рефератов
Предлагаем вам крупнейшую коллекцию из 10821 рефератов!

Вы можете воспользоваться поиском готовых работ или же получить помощь по подготовке нового реферата практически по любому предмету. Также вы можете добавить свой реферат в базу.

Проект учета пользовательских счетов для интернет-провайдеров на базе OS FreeBSD

Страница 3

.refused - наличие такого файла сигнализирует о том, что баланс лицевого счета пользователя всегда отрицателен, т.е. доступ ему в систему временно приостановлен;

.type - тип пользователя (например, "свой", "халява", "бартер", "деньги"). Служит для деления пользователей на группы, по которым в дальнейшем генерируется статистическая информация;

.account - тип (или индекс) прайс-листа для данного пользователя. Этот файл очень удобно использовать для задания прайс-листа отдельным группам пользователей. Вы создаете желаемый прайс-лист и помещаете его в каталог /var/statserv/etc, а пользователям в домашних каталогах указываете лишь ссылку на него. Если Вы хотите поменять прайс-лист для некоторой группы пользователей, то, Вы редактируете прайс-лист всего в одном месте (см. ниже "Алгоритм выбора тарифной схемы для пользователя при старте демона");

.account.conf - собственный прайс-лист для данного пользователя. См. структуру файла .account.conf. Этот файл следует применять в том случае, когда Вы хотите задать для пользователя индивидуальный прайс-лист;

.pay.next - авансовый платеж, или следующее начисление на лицевой счет пользователя после обнуления текущего лицевого счета. Может быть использовано в том случае, когда пользователь не исчерпал текущий лицевой счет, однако оплатил следующую услугу по прежнему или новому прайс-листу;

.account.next - то же, что и .account (см. выше), но только для авансового платежа.

2.2. Описание выходных документов.

В результате работы биллинговой программы вся информация о работе пользователь, как было сказано выше, фиксируется в лог-файлах и базе данных. Это является основным базисом для генерации отчетов и статистики. Извлекаемые данные могут быть представлены в качестве структурированных таблиц, либо в форме отчетов по запрашиваемым данным. Данная информация, также является подтверждением того, что пользователь работал в сети на случай претензий последнего.

Список информации - данных, которые предлагаются пользователю и системному администратору (биллинг-инженеру):

1. Время регистрации пользователя в конкретный день

2. Оставшаяся сумма на счету у пользователя

3. Время, проведенное в сети

4. Статистика работы в сети по дням, неделям и месяцам

5. Почтовое уведомление пользователя и администратора об истечении денежного взноса.

6. Общая структурированная таблица статистики за определенный период времени

При генерации выше указанной информации используются дополнительные модули программы «Billing ISP» и системные программы Unix такие как, CGI- модули (для обращения к базам данных и генерации HTML кода и форм или писем), Apache web server (для вывода на экран HTML кода сгенерированного CGI программой), MTA Sendmail (для отправки электронного письма пользователю об окончании счета).

3. Описание технологии и алгоритмов решения задачи и их машинная реализация.

3.1. Описание ввода в базу данных входной информации.

Отличительная черта рассматриваемой программы от других вариантов данной курсовой работы, является полностью ароматическая генерация и занесение в базу данных информации за исключением создания самих счетов пользователей. Это определяется в основном спецификой данного программного продукта и операционной среды, в которой он работает.

Алгоритм начисления условных единиц на лицевой счет пользователя

1. Если файл .pay в домашнем каталоге пользователя отсутствует, то занести размер платежа в файл .pay, а индекс прайс-листа в файл .account. Переход к пункту 3;

2. Вычислить текущий размер лицевого счета пользователя. Если он отрицателен или равен нулю, то очередной платеж заносится в файл .pay, а выбранный индекс прайс-лист в файл .account. Если текущий размер лицевого счета пользователя положителен, то очередной платеж заносится в файл .pay.next, а выбранный индекс прайс-листа в файл .account.next;

3. Обновить файл .current с текущим размером лицевого счета;

4. Занести платеж в таблицу "ПЛАТЕЖИ" базы данных (опционально).

Алгоритм фиксации в базе статистической информации

Введение.

Рассматриваемый программный продукт напрямую зависит от системных вызовов операционной среды, в которой он работает, а также и от некоторых приложений, например PPPD (название этого демона происходит от названия протокола соединения пользователя и провайдера Point to Point Protocol), syslog (системная программа, которая фиксирует пребывание пользователя в системе, а также фиксирует в лог-файлы сообщения ядра ОС). В связи с тем, что описания данных продуктов это тема отдельной курсовой работы, данный алгоритм будет описан поверхностно.

1. При соединении пользователя к провайдеру запускается программа Mgetty, которая управляет и инициализирует работу модема. Запуск данной програмы фиксируется в системных лог-файлах системы. После ее запуска она активизирует, в нашем случаи демон PPPD, который в свою очередь принемает и регистрирует пользовательские запросы и после проверки всего необходимого впускает или нет в систему. Все действия данных сервисов после соединения отслеживает программа syslog, которая и генерирует основную базу действий пользователя в системе.

2. Billing ISP, как уже говорилось выше напрямую взаимодействует с PPPD проверяя актуальность данного подключения и в случаи удачного входа изменяет (уменьшает) за определенный квант времени счет пользователя.

3. Также демон биллинга с момента соединения пользователя начинает вести подсчет времени пребывания пользователя с соответствующим изменением в SQL базе полей.

3.2. Обобщенный алгоритм решения задачи.

Ядром предлагаемой системы является специально написанный демон "биллинга" (в дальнейшем просто демон), осуществляющий контроль за израсходованнным временем и/или условными единицами пользователя, находящегося в данный момент в режиме "он-лайн". Демон запускается в момент входа пользователя в систему, по истечении одного кванта времени (например, 5 секунд) снимает с лицевого счета пользователя стоимость одного кванта в соответствии с действующей в данный момент ценой, которая, кстати, может меняться в зависимости от времени суток, а после завершения сеанса связи демон прекращает свою работу, протоколируя информацию о продолжительности сеанса связи и отработанной стоимости в специальный лог-файл в домашнем каталоге пользователя и, при необходимости, в общую SQL-базу данных. Другими словами, отдельная копия демона постоянно присутствует в памяти сервера биллинга и "следит" за пользователем на протяжении всего сеанса связи. Информация о начислениях на лицевой счет пользователя и снятия с лицевого счета за фактически отработанное "он-лайновое" время (так называемая "биллинговая информация") хранится в домашних каталогах пользователей в обычных текстовых файлах. Т.е. для каждого пользователя создается свой набор файлов с биллинговой информацией. Соответственно, вычисление размера лицевого счета пользователя происходит на основании содержимого этих файлов. Такое распределенное хранение биллинговой информации по каждому пользователю обеспечивает простоту построения системы, а значит надежность, и предоставляет возможность организации несложной системы доступа к лицевым счетам через www-интерфейс. В тоже время, такая же информация, но немного в другом виде хранится в SQL-базе, однако она используется исключительно для генерации статистической информации предоставляемой системному администратору.

3.3. Алгоритм выполнения отдельных модулей.

Алгоритм вычисления лицевого счета при входе пользователя в систему

Данный алгоритм должна реализовывать программа, выполняющая аутентификацию пользователя (TACACS+ или pppd) на этапе подключения его к Интернету. В этот случае основную роль должен играть файл .current, который содержит уже вычисленное значение размера лицевого счета, т.к. в данный момент размер лицевого счета должен быть получен практически мгновенно.

1 2 [3] 4 5

скачать реферат скачать реферат

Новинки
Интересные новости


Заказ реферата
Заказать реферат
Счетчики

Rambler's Top100

Ссылки
Все права защищены © 2005-2019 textreferat.com