![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Народ, помогите пожалуйста. Мне надо написать модуль учёта пользователей в корпоративной компьютерной сети в Delphi, только вот неполучается. Есть лог прокси, в нём около 10 000 строчек, у меня получается вывести на экран ник, айпи пользователя, какие сайты он посещал, а общее время проведённое в сети, не получается. Проблема в том, что пользователь посидел в инете около 5 минут и вышел, а потом опять зашёл и вышел, и по несколько раз за день. Нужно посчитать скока пользователь всего насидел минут в сети за весь день. Помогите плииииииииииииииииииз
![]() |
#2
|
||||
|
||||
![]() может быть я не так понял, но можно попробовать искать последовательную пару времен захода/выхода из инета, относящихся к одному пользователю (определить начало и конец одной сессии), искать время проведенное за одну сессию (конец сессии минус начало сессии), когда продолжительности всех сессий найдены, тупо суммировать - итого общее время проведенное пользователем.
загвоздка -то в чем? , если в типе TDateTime, глянь вот тут: Процедуры и функции работы с датой и временем и для обмозгования можно несколько строк лога? Последний раз редактировалось cotseec, 04.08.2008 в 16:40. |
#3
|
||||
|
||||
![]() 192.168.0.40 - pro_fin [22/Sep/2003:08:00:55 +0300] "GET http://www.finam.ru/nmain.css HTTP/1.0" 304 0 Cache
192.168.0.40 - pro_fin [22/Sep/2003:08:00:55 +0300] "GET http://www.finam.ru/ HTTP/1.0" 200 55413 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:56 +0300] "GET http://www.finam.ru/i/0.gif HTTP/1.0" 304 0 Cache 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://dclk.imho.ru/image.ng/impt=im...8x60&id=180903 HTTP/1.0" 200 0 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://counter.rambler.ru/top100.cnt?35046 HTTP/1.0" 200 796 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://top.list.ru/counter?id=14092;...87701004108362 HTTP/1.0" 200 43 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://counter.yadro.ru/hit?r;s1024*...36692376902097 HTTP/1.0" 200 43 New 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://www.finam.ru/i/site-search.gif HTTP/1.0" 304 0 Cache 192.168.0.40 - pro_fin [22/Sep/2003:08:00:57 +0300] "GET http://www.finam.ru/i/site-map.gif HTTP/1.0" 304 0 Cache 192.168.0.22 - cit [22/Sep/2003:08:03:18 +0300] "GET http://www.drweb.ru/index/ HTTP/1.0" 200 421 Cache 192.168.0.22 - cit [22/Sep/2003:08:03:22 +0300] "GET http://www.drweb.ru/ HTTP/1.0" 200 12694 New 192.168.0.22 - cit [22/Sep/2003:08:03:22 +0300] "GET http://www.drweb.ru/drweb.css HTTP/1.0" 200 4982 Cache 192.168.0.22 - cit [22/Sep/2003:08:03:34 +0300] "GET http://www.drweb.ru/ftp/web_pub/drw43007.zip HTTP/1.0" 200 7546 New 192.168.0.22 - cit [22/Sep/2003:08:03:35 +0300] "GET http://update.reget.com/reget_free_ru.info HTTP/1.0" 200 58 New 192.168.0.22 - cit [22/Sep/2003:08:03:41 +0300] "GET http://img.gismeteo.ru/weather/wp.css HTTP/1.0" 200 557 New 192.168.0.22 - cit [22/Sep/2003:08:03:42 +0300] "GET http://www.gismeteo.ru/weather/towns/27581.htm HTTP/1.0" 200 35743 New 192.168.0.40 - pro_fin [22/Sep/2003:08:03:49 +0300] "GET http://engine.awaps.net/3/424/240400.?0-0-32991 HTTP/1.0" 200 43 New 192.168.0.40 - pro_fin [22/Sep/2003:08:03:51 +0300] "GET http://www.mail.ru/ HTTP/1.0" 200 59278 New 192.168.0.40 - pro_fin [22/Sep/2003:08:03:51 +0300] "GET http://r.mail.ru/b1070.gif?150802224 HTTP/1.0" 200 12456 New смари, я могу написать массив, чтобы к примеру вычитал из последнего в списке pro_fin самого первого в списке, но мне надо чтобы выводилось скока просидел он в день минут, и если посмотреть на лог то там видно, что он посидит в инете и выйдет. Вот... |
#4
|
||||
|
||||
![]() Что-то сотворил, посмотри, может поможет, кидаю в аттач
|
#5
|
||||
|
||||
![]() о, огромное спасибо, программа просто отличная, но мне правда надо, чтобы все данные брались из файла, а в файле почти 10 000 строчек, что делать в этом случае?
Последний раз редактировалось Cnapkc, 06.08.2008 в 21:24. |
#6
|
||||
|
||||
![]() На форму кидаешь OpenDialog, а в меме (mem_Log кажется, мемо, где отображаются строки лога) LoadFromFile из файла, что выберешь в OpenDialog'e, а потом можно извращатся
![]() или тупо (если делать ничего не хочешь) открываешь в каком-нибудь текстовике типа блокнота (AkelPad, Aditor, Notepad++ и пр.) или в ворде файл лога, Ctrl+A, Ctrl+C и при запущенной программе вставляешь в мемо, где отображаются строки лога (удалив предварительно старое в этом меме) ![]() по поводу 10 000 строк, тестил при максимум 1 000 строк, но алгоритм-то работает Последний раз редактировалось cotseec, 06.08.2008 в 21:58. |