Проект учета пользовательских счетов для интернет-провайдеров на базе OS FreeBSD с применением программы «Billing ISP»
Страница 5

.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, которая и генерирует основную базу действий пользователя в системе.

Страницы: 1 2 3 4 5 6 7 8