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