Ru-Board.club
← Вернуться в раздел «Программы»

» HandyCache ( Часть III )

Автор: V0lt
Дата сообщения: 23.05.2006 18:17
DenZzz

Цитата:
если с одного сайта открыть несколько окон IE (или вкладок в Макстоне), то одна и та же новая картинка будет параллельно качаться в несколько потоков

Дык, это браузер виноват

Цитата:
Есть ли возможность реализовать в HC опцию "Придерживать дублирующие активные закачки одного и того же файла"?

Теоретически это возможно, но сложно, а практически еще сложнее...


Добавлено:
хотя есть два варианта решения: простой и сложный
Автор: DenZzz
Дата сообщения: 23.05.2006 18:33
V0lt

Цитата:
Дык, это браузер виноват

Дык, не спорю. Но IE (MyIE2 / Maxthon) пользуются многие (в т.ч. и mai62 ) и не хотелось бы просто открещиваться от данной проблемы и менять браузер...

К тому же, если использовать HC в сети для раздачи Инета, то и Опера не спасет, т.к. разные пользователи могут ходить по одним сайтам и качать один контент параллельно...
Автор: mozy18
Дата сообщения: 23.05.2006 20:34

Цитата:

Цитата: Качаем http://vdfcrypt.narod.ru создаем виртуальный диск, форматируем, делаем его сжатым и складываем кэш туда, так прикольнее, все это добро хранится в файле образе в сжатом виде.
Это я видел, такой способ мне не понравился, поэтому и спросил о возможности встроенной фичи с архивированием.
Автор: V0lt
Дата сообщения: 23.05.2006 20:48
DenZzz
расмотрим наиболее простой вариант решения - Остановка дублирующих закачек

- каждый новый поток должен проверить у активных потоков URL и "Посылаемые данные" и если они совпадают то уйти в пассивный режим
- каждый завершившийся поток должен проверить все пассивные потоки и если есть аналогичные, то сообщить им, чтобы те выдали данные из кеша или завершились с ошибкой

С виду все просто, но
- Как быть если урл не попадает в список "Запись в кеш" или кеширование отключено?
- Если первая закачка длиться долго, то столько же времени дубли не получают данные и браузер может отменить закачку

PS: под "Посылаемые данные" я понимаю, данные которые брузер посылает при заполнении форм, выборе пунктов и т.п.

Добавлено:

the7guest
При современных размерах винтов вы всерьез задумываетесь о дефрагментации.
ИМХО если свободного места дофига, то дефрагментация вообще не нужна, фрагментации просто нету
если свободного места мало, то она малоэффективна (через пару дней опять все будет так же, зато пару часов неприрывного насилования винта вам гарантировано)
предположим у вас гиг кеша, дык выделите для него 3 гига и забудьте о этой проблеме

если нужно уменьшить размер - NTFS+встроенные средства сжатия
Автор: mai62
Дата сообщения: 23.05.2006 21:28
V0lt

Цитата:
расмотрим наиболее простой вариант решения

Согласен с тобой. Думаю, что если НС не должен писать в кэш файл, то ответственность за параллельную загрузку с него снимается. Остается одна проблема, что если закачка будет длительной, то браузер может не дождаться ее конца. Нужно чтобы качающий поток делился данными со страждущими собратьями, а эта тема требует дополнительных исследований.

Добавлено:
Контролировать "Посылаемые данные" мне вообще кажется нереальным.
Автор: dbs
Дата сообщения: 24.05.2006 00:16
Как сделать чтоб сайт не кэшировался, но нормально пропускался через HandyCache?

У провайдера свой форум, трафик с него бесплатный... смысла его кэшировать нет, а на диске он занимает ~250мб из 400мб вообще накопленого кэша =)
Автор: mramor
Дата сообщения: 24.05.2006 00:52
dbs
прописать его адрес в исключения для списка "Запись в кэш" (например, если записать туда forum\.ru-board\.com , то страницы данного форума кешироваться не будут).
Автор: DenZzz
Дата сообщения: 24.05.2006 05:20
mai62
22:28 23-05-2006
Цитата:
Контролировать "Посылаемые данные" мне вообще кажется нереальным.

Можно сделать проще: если URL входит в список "Не обновлять" или в "свежие файлы", то тормозить его параллельную закачку. Если URL не входит или указанные списки (опции) выключены, то качать параллельно.

Т.е. тем самым мы даем HC понять, что свежесть указанных файлов нас не волнует и мы будем рады побыстрее получить их копии.
Автор: cancel4
Дата сообщения: 24.05.2006 08:51
mai62

Возможно эта тема уже поднималась, не нашел:

А нельзя ли для "свежих файлов" также сделать список с исключениями, т.е. файлы одного в типа обновлять раз в час, другого - раз в месяц?
Автор: the7guest
Дата сообщения: 24.05.2006 09:18
mozy18, V0lt
Я еще раз говорю, зачем сторонние программы, если есть возможность сделать "встроенное". Но на "нет" и суда нет.
Автор: Dr Eam
Дата сообщения: 24.05.2006 09:24
mozy18
Если я правильно понял, можно сделать, чтобы этот виртуальный диск не показывался в файл-менеджерах и в других программах?

Мне бы хотелось хранить кеш на виртуальном диске, который бы не был виден ниоткуда и не путался бы под руками.

Не люблю много букв дисков.
Автор: mai62
Дата сообщения: 24.05.2006 09:53
cancel4

Цитата:
А нельзя ли для "свежих файлов" также сделать список с исключениями, т.е. файлы одного в типа обновлять раз в час, другого - раз в месяц?

Это будет в след. версии.
DenZzz

Цитата:
тормозить его параллельную закачку

Дело в том, что время, на которое придется тормозить от нас не зависит (размер файла и скорость доступа). Поэтому возможны случаи, когда браузер просто не дождется ответа.
Автор: C0USIN
Дата сообщения: 24.05.2006 11:12
Dr Eam

Цитата:
Не люблю много букв дисков.

Согласен. Да и создавать виртуальный диск не вижу смысла.
Я поступил проще. Создал для кэша отдельный раздел с кластерами по 512кб. Включил для него сжатие и подключил как папку с коротким именем "D:\C"
Дополнительно еще поставил для этой папки атрибут "скрытый", чтобы глаза не мозолила. Такой вариант намного удобнее. Я могу справлять сжатием. Некоторые сайты будут сжиматься а некоторые нет. Дефрагментировать нормальный раздел проще чем виртуальный диск.

Добавлено:

Цитата:
если с одного сайта открыть несколько окон IE (или вкладок в Макстоне), то одна и та же новая картинка будет параллельно качаться в несколько потоков (видно в Мониторе HC).

Видимо, каждое новое окно там запускается как отдельный процесс и они не могут контролировать соседа. Вот и качают одновременно.

mai62
Проблема есть и дело даже не в кривых браузерах.
Я понимаю, что это трудно, но делать надо.

Суть в том, что HC ни при каких обстоятельствах не должен пытаться тянуть один и тот же файл из сети одновременно. Как это реализовать - решать тебе.
Мне представляется это так:
Есть блок, который принимает запросы от клиентов и ставит их в очередь.
И есть другой блок, который занимается непосредственно загрузкой.
Автор: mai62
Дата сообщения: 24.05.2006 12:32
C0USIN

Цитата:
Проблема есть и дело даже не в кривых браузерах.
Я понимаю, что это трудно, но делать надо.

Соглсен.

Цитата:
Есть блок, который принимает запросы от клиентов и ставит их в очередь.
И есть другой блок, который занимается непосредственно загрузкой.

Немного не так. Есть блок, который принимает запросы от клиентов и для каждого из них создает поток, который загружает для клиента файл. Другими словами есть один приемщик и много (по числу активных соединений) исполнителей.

Цитата:
HC ни при каких обстоятельствах не должен пытаться тянуть один и тот же файл из сети

Если файл не попал в правила записи в кэш, то его (файла) целиком у НС в распоряжении просто нет. По мере получения частей этого файла они отдаются клиетну.
Автор: Dr Eam
Дата сообщения: 24.05.2006 13:31
C0USIN

Цитата:
Я поступил проще. Создал для кэша отдельный раздел с кластерами по 512кб. Включил для него сжатие и подключил как папку с коротким именем "D:\C"

Подожди... Я правильно понял: можно раздел сделать невидимым на уровне дисков (буква чтоб не появилась) и подключить как папку? А как?
Автор: C0USIN
Дата сообщения: 24.05.2006 15:33
Dr Eam
В администраторе дисков, там где мы назначаем буквы дискам, можно вместо буквы подключить как пустую NTFS папку. Если у тебя FAT, то ничего не выйдет.

Добавлено:

Цитата:
Есть блок, который принимает запросы от клиентов и для каждого из них создает поток, который загружает для клиента файл.

А мне кажется он должен только отдать задание второму блоку, а тот уже создает потоки если нужно. А если такой файл уже качается то пусть полученные данные передаются параллельно нескольким клиентам.
Автор: mai62
Дата сообщения: 24.05.2006 15:53
C0USIN

Цитата:
А мне кажется он должен только отдать задание второму блоку, а тот уже создает потоки если нужно.

Это что-то меняет?

Цитата:
А если такой файл уже качается то пусть полученные данные передаются параллельно нескольким клиентам.

Но если файл уже качается и он не пишется в кэш, то его начало уже отдано клиенту и его у НС уже нет.
Автор: C0USIN
Дата сообщения: 24.05.2006 16:51
mai62
Тогда надо хранить где-то недокачаный файл.
Автор: V0lt
Дата сообщения: 24.05.2006 18:53
HandyCashe Simple Viewer v0.1 alpha
http://rapidshare.de/files/21273464/HC_Viewer.zip.html (8 KB)
в принципе программа ничего не делает , тут заложена идея. Может кто-нибудь реализует в виде плагина к Total Commander


Добавлено:
PS: Совсем забыл! Прога написана на C#, поэтому нужны библиотеки .NET хотя бы версии 1.1 (ищите на установочном диске Windows XP)

Добавлено:
C0USIN

Цитата:
то пусть полученные данные передаются параллельно нескольким клиентам.

это довольно сложно, нужен проработанный алгоритм
Автор: aleks2133
Дата сообщения: 24.05.2006 20:17

Цитата:
Установил НС, а в мониторе нет записей! В чем проблема?

Значит не настроен браузер для работы с НС. Для работы через НС необходимо прописать адрес proxy-сервера в настройках браузера: 127.0.0.1:port, где port - цифра в настройках НС на вкладке "Общие".

В настройках браузера IE так и прописано, а монитор не отображает, идет в обход НС.. в чем тут проблем может быть ?
В инет через выделенку..
Автор: mai62
Дата сообщения: 24.05.2006 22:54
C0USIN

Цитата:
Тогда надо хранить где-то недокачаный файл.

Их может быть много и они могут быть большими. Тебе нравится эта идея?
aleks2133

Цитата:
В настройках браузера IE так и прописано, а монитор не отображает, идет в обход НС.. в чем тут проблем может быть ?
В инет через выделенку..

Выделенку система, видимо, видит как сетевую карту. Попробуй прописать работу через прокси там, где настройка ЛАН.
А вообще IE иногда занимается самодурством и считает возможным сасмой выбирать как ей ходить в инет. Лучше использовать какую-нибудь надстройку над IE и прописывать работу через прокси в ней.
Автор: aleks2133
Дата сообщения: 24.05.2006 23:11

Цитата:
Выделенку система, видимо, видит как сетевую карту. Попробуй прописать работу через прокси там, где настройка ЛАН.

Свойства обозревателя/подключения/настройка лан
ставлю галочку "использовать прокси сервер для подключений" 127.0.0.1 8080
На одном компе работает нормально (АДСЛ), на другом(выделенка) нет

Или вы другие настройки имели ввиду ?

Добавлено:
вдогонку, скоро выходит новая версия.. может успеешь внести пожелания ?
к примеру идет подсчет сколько раз сработало правило, но подсчитывается только активные, там где галочка стоит. Надо бы сделать подсчет и неактивных, т.е. если бы правило было активным, сколько оно раз сработало бы ?
Но это так, мелочи. А вот почасовой подсчет трафика, с простейшей биллинговой схемой не помешал бы.
Автор: pop2ROOT
Дата сообщения: 25.05.2006 00:11
aleks2133

Цитата:
А вот почасовой подсчет трафика, с простейшей биллинговой схемой не помешал бы.
уже столько раз этот вопрос поднимался... посчитай чем-нибудь другим! тем более, что не весь трафик через сабж идет, а только браузерный! а почта, аська и вся остальная борода идут мимо него - так какой смысл считать?
Автор: mai62
Дата сообщения: 25.05.2006 00:41
aleks2133

Цитата:
на другом(выделенка) нет

Выделенка должна быть как-то представлена на вкладке Подключения настроек IE, там и настраивай работу через прокси.
Автор: aleks2133
Дата сообщения: 25.05.2006 05:03

Цитата:
посчитай чем-нибудь другим

Чем ?
Автор: DenZzz
Дата сообщения: 25.05.2006 05:21
aleks2133
00:11 25-05-2006
Цитата:
Надо бы сделать подсчет и неактивных, т.е. если бы правило было активным, сколько оно раз сработало бы ?

Это зачем? Только лишние траты ресурсов на проверку отключенных правил. У некоторых в отключенные правила записаны комментарии к списку. Если тебе нужен подсчет срабатываний, зачем отключать правила?

Добавлено:

Цитата:
Чем ?

http://forum.ru-board.com/topic.cgi?forum=8&topic=0434#1
http://forum.ru-board.com/topic.cgi?forum=5&topic=0559#1
Автор: V0lt
Дата сообщения: 25.05.2006 05:50
aleks2133

Цитата:
Или вы другие настройки имели ввиду ?

уже писали об этом

Автор: sp000
Дата сообщения: 25.05.2006 08:16
mai62

Цитата:

Цитата: Тогда надо хранить где-то недокачаный файл.

Их может быть много и они могут быть большими. Тебе нравится эта идея?
Автор: mai62
Дата сообщения: 25.05.2006 12:40
sp000

Цитата:
Раз он не должен попадать в кеш, то хранить временно, до конца закачки, точнее до конца передачи его всем клиентам.

Обдумаю.

Цитата:
Да, еще бы кнопочку на закладке с монитором для включения/отключения автоскролинга и кнопочку для прерывания всех активных закачек.

Такая функция в новой версии будет вызываться нажатием Alt+Del. На счет кнопки мысль хорошая, если успею - сделаю.
Автор: Dem anywhere
Дата сообщения: 25.05.2006 12:52

Цитата:
HC ни при каких обстоятельствах не должен пытаться тянуть один и тот же файл из сети

Это неправильно... Например два пользователя тянут index.php c одного форума...

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Internet Download Accelerator


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.