Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Dmitriy Kyrhlarov                    2:5020/400     24 Oct 2001  20:01:40
 To : All
 Subject : подскажите алгоритм для биллинга
 -------------------------------------------------------------------------------- 
 
 Hi!
 
 Оч надеюсь, что поможете...
 Пытаюсь родить биллинг для своей сетки. В чистом виде вывод проги,
 которая пакеты считает, в базу класть нельзя -- база очень большая
 будет.
 Hадо уменьшить количество строк, но я что-то напрочь запутался...
 
 В общем, у меня есть файл вида:
 <src-ip> <src_port> <dst_ip> <dst_port> <proto> <packet_count>
 <size_count>
 
 Выглядит так:
 192.168.0.34    1789    192.168.0.52    3128    6       5       844
 192.168.0.34    1790    192.168.0.52    3128    6       5       844
 0.0.0.0 68      255.255.255.255 67      17      1       328
 192.168.0.34    1777    192.168.0.52    3128    6       5       836
 192.168.0.34    1778    192.168.0.52    3128    6       5       831
 ...
 
 Хочу, чтобы на выходе у меня было только две строки:
 192.168.0.34    1778    192.168.0.52    3128    6       20       3355
 0.0.0.0 68      255.255.255.255 67      17      1       328
 
 У меня есть список портов, которые меня интересуют. Они могут
 встречаться в полях <src_port> и <dst_port>. Если порты в записи не
 входят в мой список, то ее надо оставить без изменения...
 В данном случае, у меня совпадают <src_ip>, <dst_ip> и <dst_port>,
 поэтому я суммирую последние два столбца. <src_port>, в данном случае,
 не интересует. Можно вообще менять на "in" или "0".
 
 Алгоритм должен работать на потоке, т.е.
 "взять первую строку, найти все остальные, которые отвечают условиям,
 сложить;
 взять вторую, ..."
 не проходит.
 
 Каждую строку на вход я могу получить только 1 раз. Оперировать всеми
 записями файла я не могу -- только теми, которые уже получил. Потом мне
 надо это сверять с элементами массива и, если есть подходящая запись --
 суммировать, если нет -- добавлять новую в этот же массив. Вот тут я и
 запутался, т.к. адреса и порты размножаются как тараканы, как это все
 упорядочить -- теряюсь.
 Помогите, плз.
 
 By.
 Dmitriy
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 подскажите алгоритм для биллинга   Dmitriy Kyrhlarov   24 Oct 2001 20:01:40 
Архивное /ru.algorithms/80546aaf249c.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional