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

Страница: 7/9

1. Если файл .refused присутствует в домашнем каталоге пользователя, то текущий размер лицевого счета принимается отрицательным. Переход к пункту 5;

2. Если файл .time присутствует в домашнем каталоге пользователя, то текущий размер лицевого счета принимается положительным. Переход к пункту 5;

3. Если файл .current присутствует в домашнем каталоге пользователя, то из него берется текущий размер лицевого счета (файл .current обновляется каждый раз после завершения работы демона). Переход к пункту 5;

4. Текущий размер лицевого счета вычисляется по формуле : "общая сумма начислений из файла .pay минус общая сумма отчислений из файла .work минус общая сумма отчислений из файла .weekly";

5. Если текущий размер лицевого счета положителен, доступ в систему пользователю разрешатеся, в противном случае - запрещается.

Алгоритм выбора прайс-листа (тарифной схемы) для пользователя при старте демона

Действия, выполняемые демоном при старте

Действия, выполняемые демоном при истечении одного кванта времени

1. Обновить счетчик (в секундах) продолжительности текущего соединения, в соответствии с действующим тарифом вычислить стоимость одного кванта времени, обновить переменную в которой накапливается стоимость текущей сессии;

2. Проверить, присутствует ли пользователь все еще в системе - просмотреть файл /var/run/utmp. Если пользователя в системе нет, то вызвать процедуру, выполняемую при завершении сессии;

Реферат опубликован: 29/04/2006