Главная
Форум
Контакты
Купить
Поддержи проект
Поиск
Искать:
Расширенный поиск
[Закрыть]
Правила форума
Войти
Регистрация
Russian
English
HandyCache форум
Главная категория
»
Новые предложения
»
Придерживать параллельные закачки
Имя пользователя:
1 час
1 день
1 неделя
1 месяц
Навсегда
Пароль:
Страниц: [
1
]
2
Все
Вниз
« предыдущая тема
следующая тема »
Отправить эту тему
Печать
Автор
Тема: Придерживать параллельные закачки (Прочитано 28285 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Qua
Новичок
Репутация: +1/-0
Offline
Сообщений: 22
Придерживать параллельные закачки
«
:
22 января 2007, 15:07:46 »
Часто сталкиваюсь с такой проблемой. Она меня очччень раздррражает
Заключается в том, что если браузер или прога, работающие через HandyCache запрашивает одно и то же несколько раз, то HandyCache усердно начинает качать такие страницы, изображения и т.д. снова и снова.
Почему бы не проверять адрес URL хотя бы.
Недопустимо закачивать один и тот же URL параллельно в пяти потоках!!!
Где экономия?
Сообщить модератору
Записан
И др., и пр., и т.д., и т.п.
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #1 :
22 января 2007, 16:12:07 »
Браузер не может запрашивать одно и то же параллельно. Скорее всего, он качает разные страницы, которые имеют одинаковый URL. Я встречал такое.
Вот пример
http://www.skylink.ru/info/tarifs.aspx?p=1&id=1&r=77
Там есть ссылки на группы тарифов. Каждая ссылка открывает один и тот-же URL.
А вот в ситуации, когда несколько клиентов одновременно начинают качать одно и то-же, надо бы качать один раз. Эта тема уже поднималась на Руборде.
«
Последнее редактирование: 22 января 2007, 16:21:13 от Сергей
»
Сообщить модератору
Записан
Дем
Постоялец
Репутация: +6/-3
Offline
Сообщений: 167
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #2 :
22 января 2007, 18:11:28 »
Цитировать
А вот в ситуации, когда несколько клиентов одновременно начинают качать одно и то-же, надо бы качать один раз. Эта тема уже поднималась на Руборде.
Многооконный браузер (а сейчас все такие) - он и есть "несколько клиентов"
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #3 :
22 января 2007, 20:22:18 »
Qua
Подтверждаю, если с одного сайта открыть несколько окон IE (или вкладок в Макстоне), то одна и та же новая картинка будет параллельно качаться в несколько потоков (это видно в Мониторе HC).
Аналогичная картина, если в сети сразу несколько пользователей одновременно ходят по одним и тем же сайтам!
Таким образом, если картинка на 500 кб и открывается 10 окон, то получим 4.5 Мб лишнего трафика!
Поэтому придерживать дублирующие активные закачки одного и того же файла не помешало бы...
В
ToDo
это уже внесено, как: "Реализовать опцию "
Придерживать параллельные закачки
"...
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #4 :
23 января 2007, 08:45:21 »
Это еще один гвоздь в гроб IE
А почему придерживать? Клиент не должен ждать пока другой докачает.
Сообщить модератору
Записан
Oneri
Новичок
Репутация: +2/-0
Offline
Сообщений: 34
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #5 :
23 января 2007, 09:25:28 »
Суть наверно в том чтобы при появлении нового URL программа проверяла не качается ли он уже если да то отдавать первый кусок файла из кеша а оставшийся поток отдавать от сервера. но думаю этот вариант сложно реализуем т.к. возникают проблемы с синхронизацией потоков.
Второй вариант: при появлении выше показанной ситуации отдаем файл из кеша и по таймеру (ну нарпример раз в секунду проверяем новые (поступившие) байты и отдаем их клиенту и так до окончания загрузки файла, т.е. в данном случае весь файл берется из кеша.
Вариант с придержкой закачки тоже реален т.к. при плохом канале новый экземпляр файла никак не закачается быстрее того что уже качается
так что для конечного пользователя все равно будет ускорение ПОЛНОЙ загрузки файла (да да порно будет появлятся сразу а не постепенно
)
Тут не учтены трудности при многопоточной закачки, но думаю для качалки перезапросить файл труда не составит
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #6 :
23 января 2007, 09:58:48 »
Oneri
Цитировать
проверяла не качается ли он уже
еще надо проверять ситуации, когда по одному URL качаются разные данные.
Цитировать
отдавать первый кусок файла из кеша
не из кэща а из некоторого буфера. Т.к. в кэш может и не сохраняться.
Сообщить модератору
Записан
Oneri
Новичок
Репутация: +2/-0
Offline
Сообщений: 34
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #7 :
23 января 2007, 11:14:49 »
Цитата: Сергей от 23 января 2007, 09:58:48
еще надо проверять ситуации, когда по одному URL качаются разные данные.
Тогда как минимум надо обрабатывать заголовки
Как решение данной проблемы мне кажется надо добавить в белый список новую колонку с исключением опции оптимизации одновременной закачки
Цитировать
отдавать первый кусок файла из кеша
не из кэща а из некоторого буфера. Т.к. в кэш может и не сохраняться.
В данном случае буфер не имеет смысла:
1. Перерасход памяти (а если качается большой файл) как пример файл качается из браузера и качалки через НС
2. Насколько я понимаю что в данном случае пользователя интересует получение актуальных данных и смысла в буфере здесь нет.
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #8 :
23 января 2007, 12:29:43 »
Буфер на диске, разумеется.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #9 :
23 января 2007, 16:14:22 »
Цитата: Oneri от 23 января 2007, 11:14:49
Цитата: Сергей от 23 января 2007, 09:58:48
еще надо проверять ситуации, когда по одному URL качаются разные данные.
Тогда как минимум надо обрабатывать заголовки
Как решение данной проблемы мне кажется надо добавить в белый список новую колонку с исключением опции оптимизации одновременной закачки
Еще один вариант - не качать параллельно только те URL, на которые может сработать список "Не обновлять".
Логика проста: если бы закачки были не параллельные, а последовательные одна за другой, то второй, третий и т.д. раз файл взялся бы из кэша! Тогда зачем его качать параллельно!
Если же мы знаем, что по одному URL могут быть разные данные (динамический контент), то ему не место в списке "Не обновлять" - просто исключаем его из списка (или в "Белом списке" пишем соответствующее правило).
«
Последнее редактирование: 23 января 2007, 16:19:11 от DenZzz
»
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #10 :
23 января 2007, 16:32:38 »
Цитировать
Если же мы знаем, что по одному URL могут быть разные данные (динамический контент)
Проблема в том, что контент статический.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #11 :
23 января 2007, 16:39:26 »
Сергей
Цитировать
Это еще один гвоздь в гроб IE
Это проблема касается не только IE !
Представь в локальной сети 10 пользователей в Опере ходят через HC одновременно по одному фотоальбому в Инете! Вероятность, что все 10 одновременно наткнуться на одну и туже 3х-мегабайтную фотку велика! И Опера им ничем не поможет - все десять пользователей начнут параллельно качать эту фотку, забив под завязку и без того медленный канал на длительное время!
Цитировать
Проблема в том, что контент статический.
Контент статический, а данные каждый раз разные? Так бывает?
Сообщить модератору
Записан
Rick
Администратор
Репутация: +15/-1
Offline
Сообщений: 868
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #12 :
23 января 2007, 17:39:07 »
Цитата: DenZzz от 23 января 2007, 16:39:26
Это проблема касается не только IE !
Представь в локальной сети 10 пользователей...
В локальной сети кроме общего кэша никто не поможет
А вот как говорил Дем:
Цитата: Дем от 22 января 2007, 18:11:28
Многооконный браузер (а сейчас все такие) - он и есть "несколько клиентов"
У Оперы в этом случае все в порядке: один файл, запрошенный из нескольких окон, качается единожды - для всех "клиентов".
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #13 :
23 января 2007, 17:51:34 »
DenZzz
Цитировать
Контент статический, а данные каждый раз разные? Так бывает?
Да. Я привел пример выше.
Цитировать
Представь в локальной сети 10 пользователей в Опере ходят через HC одновременно по одному фотоальбому в Инете!
Я в курсе. Тут виноват будет HC.
Просто не ожидал такого странного поведения от IE.
Проблема есть. Хотелось бы ее решить.
Сообщить модератору
Записан
Сергей
Beta tester
Репутация: +9/-2
Offline
Сообщений: 621
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #14 :
23 января 2007, 17:55:46 »
Цитировать
У Оперы в этом случае все в порядке: один файл, запрошенный из нескольких окон, качается единожды - для всех "клиентов".
Почему бы в HC не реализовать подобное? Понимаю что сложно. Но ведь сделали норвежцы? Чем мы хуже?
Сообщить модератору
Записан
Oneri
Новичок
Репутация: +2/-0
Offline
Сообщений: 34
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #15 :
23 января 2007, 18:07:47 »
Цитата: Сергей от 23 января 2007, 17:55:46
Цитировать
У Оперы в этом случае все в порядке: один файл, запрошенный из нескольких окон, качается единожды - для всех "клиентов".
Почему бы в HC не реализовать подобное? Понимаю что сложно. Но ведь сделали норвежцы? Чем мы хуже?
В опере данную фичу реализовать достаточно легко т.к. сам браузер полностью контролирует поцесс загрузки используя очередь, а НС не знает что у него запросят дальше и в какое время.
Сообщить модератору
Записан
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #16 :
23 января 2007, 20:29:58 »
Цитата: Oneri от 23 января 2007, 18:07:47
В опере данную фичу реализовать достаточно легко т.к. сам браузер полностью контролирует поцесс загрузки используя очередь, а НС не знает что у него запросят дальше и в какое время.
Не вижу принципиальной разницы! Как будто Опера сама знает, по какой ссылке дальше кликнет пользователь или какую закладку откроет!
У HC тоже есть очередь активных закачек, которой он может управлять по своему усмотрению!
Сообщить модератору
Записан
Qua
Новичок
Репутация: +1/-0
Offline
Сообщений: 22
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #17 :
24 января 2007, 01:23:43 »
Тот мой пост, что вы видите самым первым - просто наболело, далее трезво.
Объясню шире - может прояснит чего...
Преамбула:
Я часто пользуюсь различными картографическими сервисами NASA, MS Local.Live, GoogleMaps, поделками вроде Яndex.Карты и другими. Причем, к одному и тому же сервису обращаюсь разными прогами (мне действительно так удобнее - разные по возможностям компы, да и цели). Пользуюсь всем этим непременно в связке с Ханжой Кешкой (HandyCache служит чем-то вроде универсального и понятно устроенного единого кеша), с которым худо-бедно наплевать на несовместимость всех этих софтин.
Проблема:
Единственное что меня сильно огорчает (см. выше) при работе HC - многочисленные повторения закачки одних и тех же ресурсов. Это хорошо видно в нижней части "Монитора" - одновременно в несколько потоков качается один и тот же URL. Хроническая "болезнь" практически всех картографических прог.
Собственно, на одном компе (домашнем) эта проблема не очень-то заметна, на других (привет из прошлого) - дюже достаёт. Паразитный трафик! В такой нужный момент, на таком хилом канале.
Просьба:
Я понимаю, что виноват не столько HC, сколько проги - запрашивают один и тот же ресурс по нескольку раз... Но, ведь можно наверное реализовать проверку -
загружается ли запрашиваемая страница в данный момент (если URL закачивается, то не повторять загрузки, а игнорировать запрос или взять из кэша)
.
То, что
подчеркнуто
и есть новое предложение.
Вопрос со статическим контентом и разными данными принципиально не настраиваемый?
P.S. Трезво тоже не то, надеюсь основную мысль донёс.
А, в целом, Кешка - мой лучший друг для связи с миром!
Сообщить модератору
Записан
И др., и пр., и т.д., и т.п.
NothingAnother
Beta tester
Репутация: +7/-2
Offline
Сообщений: 434
Spoiler
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #18 :
24 января 2007, 07:50:06 »
Цитата: Qua от 24 января 2007, 01:23:43
Вопрос со статическим контентом и разными данными принципиально не настраиваемый?
Прежде всего надо определиться с терминами. Если контент (иначе - содержимое) статичен, то о каких различных данных можно говорить?! Это просто два различных представления (человеческое и машинное) одного и того же понятия. Уточни свой вопрос так, чтобы это можно было понять не на уровне "наверное, он имел в виду..."
Сообщить модератору
Записан
Мы тоже не всего читали Шнитке!..
© В. Вишневский
DenZzz
Модератор
Репутация: +179/-11
Offline
Сообщений: 5589
Re: Как не допустить дублирования загрузки файлов в кеш?
«
Ответ #19 :
24 января 2007, 08:10:46 »
Qua
Цитировать
Вопрос со статическим контентом и разными данными принципиально не настраиваемый?
Собственно, выше уже предложили, как можно вручную исключить динамический контент из сферы действия предлагаемой опции, - через список "Не обновлять" или "Белый список".
Сообщить модератору
Записан
Страниц: [
1
]
2
Все
Вверх
Отправить эту тему
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Главная категория
-----------------------------
=> Общие вопросы
=> Новые предложения
=> Дополнения, плагины
=> Сжатие трафика
=> English forum
=> Indonesian forum
-----------------------------
Гостевая
-----------------------------
=> Гостевая
-----------------------------
Дела домашние
-----------------------------
=> Сайт и форум HandyCache
=> Курилка
© 2006-2014 HandyCache Team. Все права защищены.
Загружается...