HandyCache форум

Главная категория => Новые предложения => Тема начата: Илья от 06 марта 2007, 11:22:29



Название: Кэширование GoogleEarth
Отправлено: Илья от 06 марта 2007, 11:22:29
Здравствуйте, я хотел бы узнать как можно настроить реестр чтобы Google Earth (далее GE) загружал файлы через HC?
А то он загрузил файл, а потом грузит его опять.


Название: Re: Google Earth
Отправлено: cepera_ang от 06 марта 2007, 12:42:29
По-моему гугл earth автоматически берет настройки из IE. Но его бесполезно пускать через НС - у меня ни одного попадания в кеш небыло, хотя лазил по одним и тем же местам. Такая вот фигня.


Название: Re: Google Earth
Отправлено: Death_Master от 18 марта 2007, 18:52:27
Настроить-то можно, но толку от этого нет и не будет, у GoogleEarth свой кэш есть (до 2 гиг)


Название: Re: Google Earth
Отправлено: Илья от 23 марта 2007, 18:38:26
Настроить-то можно, но толку от этого нет и не будет, у GoogleEarth свой кэш есть (до 2 гиг)
В смысле свой кеш? Чё еще за свой кеш?
сepera_ang
Настрой IE так: в подклюючениях выбери твоё подключение к инету там в настройках впиши ипи и порт НС. И будет Google Earth работать через кеш.


Название: Re: Google Earth
Отправлено: Илья от 23 марта 2007, 18:43:50
Свой кеш он то записывает, но когда залазиш в него через месяц после посл. обследования то он начинает всё заново грузить вот по этому и решил его через Нс пропустить


Название: Re: Google Earth
Отправлено: Death_Master от 23 марта 2007, 19:03:48
"kh\.google\.com/" - добавить в "Запись в кэш" и в "Не обновлять"


Название: Re: Google Earth
Отправлено: cepera_ang от 24 марта 2007, 20:23:15
сepera_ang
Настрой IE так: в подклюючениях выбери твоё подключение к инету там в настройках впиши ипи и порт НС. И будет Google Earth работать через кеш.
"kh\.google\.com/" - добавить в "Запись в кэш" и в "Не обновлять"
Да я в курсе как настраивается. И под такое правило URL попадали. Я говорю о том, что за все время использования Google Earth и НС повторной загрузки каких либо данных - небыло. Всегда грузилось из инета, даже если лазить по тем же местам, причем грузилось не потому что правила "не обновлять" не срабатывали. А потому что запрашивались другие данные, с новым URL. Хотя папка kh.google.com разрослась до пары гигов. В общем я отказался от попыток его закешировать, да и вообще побаловался и хватит, вряд ли есть какое-либо предназначение для GE кроме развлечения.


Название: Кэширование GoogleEarth
Отправлено: zed от 15 августа 2008, 23:27:41
Собственно, такая ситуация - кэширование само по себе работает отлично, всё что нужно сохраняется в кэше, НО кэш оказывается бесполезным... Всё дело в запросах, что формирует гугл: \kh.google.com\flatfile^\f1-02031200113210100-i.35+f1-02031200113210101-i.35&v=1 - здесь в одном запросе загружается сразу 2 файла (f1-02031200113210100-i.35 и f1-02031200113210101-i.35). Такие склееные запросы могут содержать до 4-х файлов в одном и поскольку комбинаций файлов - множество, то из кэша берутся файлы лишь изредка.
Ситуацию можно кардинально исправить, если закачивать в кэш одиночные файлы, т.е. на основе запроса гугла формировать 2 запроса (столько запросов, сколько склеено файлов в один запрос), выкачивать (если нет в кэше) и кэшировать файлы по-одному, потом склеить все необходимые файлы и отдать их гуглу.
Предлагается реализовать это либо в самом HC, либо через плагин, который бы обрабатывал только запросы от гугла. Могу заняться плагином, если что...


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 18 августа 2008, 17:53:11
ну так что, реально это сделать или нет? трафик-то гугл жрёт - дай боже, не то что, странички http... а так бы экономия была нехилая.


Название: Re: Кэширование GoogleEarth
Отправлено: mai62 от 18 августа 2008, 18:08:10
Цитировать
Могу заняться плагином, если что...
О каком плагине идет речь? В НС нет поддержки плагинов.


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 19 августа 2008, 09:04:54
В качестве плагина, имеется в виду dll-модуль, который будет всё делать (определение числа склееных файлов, поиск в кэше, склейка файлов для передачи гуглу) докачку недостающих файлов и передачу готового файла гуглу, должен выполнять HC (какие файлы нужно докачать и где будет лежать готовый файл скажет dll-ка). Или можно сделать дополнительный модуль на Delphi (типа GE.pas) где будут реализованы все эти функции. Но лучше, конечно через dll, т.к. можно будет сделать свой кэш для гугловских файлов. На самом деле, это всё довольно просто, только что, конечно, требует времени, как и всякая работа.
А функция эта (кэширование гугла), будет очень востребована, среди пользователей GoogleEarth, поскольку кэш самого гугла ограничен в размерах (2 ГБ)


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 31 августа 2008, 21:07:51
Ситуацию можно кардинально исправить, если закачивать в кэш одиночные файлы, т.е. на основе запроса гугла формировать 2 запроса (столько запросов, сколько склеено файлов в один запрос), выкачивать (если нет в кэше) и кэшировать файлы по-одному, потом склеить все необходимые файлы и отдать их гуглу.
В плагине, немного изменил логику - выкачивать нужно не несколько одиночных файлов, а один склеенный, но уже новый, сформированный плагином URL (предварительно выполняется "умный" поиск в кэше). Так, быстрее будет. (Готовый плагин отправил в ЛС).


Название: Re: Кэширование GoogleEarth
Отправлено: Byfuglien от 01 сентября 2008, 01:13:01
Я двумя руками за решение вопроса о кэшировании GoogleEarth. Но в НС нет плагинной архитектуры, куда dll привязывать? А собственными средствами НС задачу наверно не решить. Какой выход?


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 01 сентября 2008, 01:20:07
..куда dll привязывать?
Пока что единственный выход - встроить в проект HC обработчик плагина (функцию) заточенный чисто под этот плагин. Я автору HC отправил инструкцию как и что сделать, чтоб подключить мою dll. Теперь ждём, что он скажет.


Название: Re: Кэширование GoogleEarth
Отправлено: Byfuglien от 01 сентября 2008, 01:31:04
Другой возможный выход-дождаться новую версию НС. Там обещано добавление скриптов запросов. Тогда может быть можно будет написать этот плагин на языке скриптов. Но это зависит от того как будет сделано-как эти скрипты запросов и ответов будут между собой взаимодействовать. Правда когда эта обещаная версия выйдет неизвестно. Может через полгода-год... сроки не объявляются.


Название: Re: Кэширование GoogleEarth
Отправлено: Михаил от 02 сентября 2008, 15:59:24
Цитировать
может быть можно будет написать этот плагин на языке скриптов.
Со следующей бетой такого точно сделать не получится.
Для реализации такого кэширования GoogleEarth скриптам нужно уметь:
- проверять, есть ли в кэше произвольный файл;
- тянуть произвольный файл из сети и писать его в кэш;
- выполняться после скачки файла.


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 02 сентября 2008, 16:04:56
Для реализации такого кэширования GoogleEarth скриптам нужно уметь:
- проверять, есть ли в кэше произвольный файл;
- тянуть произвольный файл из сети и писать его в кэш;
- выполняться после скачки файла.
А также:
- клеить и резать склеенные файлы гугла

Кстати, тему кэширования гугла поднимали ещё ~1,5 года назад: http://handycache.ru/component/option,com_smf/Itemid,10/topic,297.0/  но высказывание о том, что данные не повторяются (а они повторяются!) т.к. запросы URL всегда разные, остановил обсуждение. Теперь, думаю, ясно почему URL разные, даже если повторно лазить по тем же местам...


Название: Re: Кэширование GoogleEarth
Отправлено: Михаил от 02 сентября 2008, 17:35:26
Цитировать
клеить и резать склеенные файлы гугла
Это можно делать скриптами уже сейчас. Лишь бы имена файлов были.


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 02 сентября 2008, 18:29:52
Цитировать
клеить и резать склеенные файлы гугла
Это можно делать скриптами уже сейчас. Лишь бы имена файлов были.
т.е. в Lua возможна работа с отдельными байтами файлов?


Название: Re: Кэширование GoogleEarth
Отправлено: Михаил от 02 сентября 2008, 19:38:16
Да.


Название: Re: Кэширование GoogleEarth
Отправлено: Михаил от 03 сентября 2008, 10:00:42
Кроме того, из скрипта очень просто использовать готовые функции любой dll (в LUA подключает dll функция require). В этом случае, однако, надо учитывать, что не все пользователи решатся использовать незнакомую dll из соображений безопасности.
Добавлено: 03 Сентября 2008, 09:38:44

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


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 03 сентября 2008, 16:00:10
Да, я думаю пока будет проще встроить функцию в HC, чем адаптировать работу скриптов под плагин...


Название: Re: Кэширование GoogleEarth
Отправлено: 4rum от 07 сентября 2008, 22:59:01
+1, спс за тему, тоже жду решение для GoogleEarth.

Кстати, может кому пригодится, GoogleEarth может работать только со своим внутренним кэшем, но только если отсутствует доступ к интернету (т.е. в оффлайне, что определяется при запуске программы).


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 07 сентября 2008, 23:05:57
Любителям GE будет интересно: Хитрости Google Earth (http://starmen.at.tut.by/)


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 17 сентября 2008, 00:54:56
Да, чувствую, долго нам придётся ждать, пока подключат плагин...


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 07 февраля 2009, 19:42:44
Да, ждать пришлось долго, и, так и не дождавшись подвижек, пришлось (и оказалось быстрее) написать свой прокси-сервер с нужным функционалом. Скачать и попробовать что получилось можно здесь: GeoCacher (http://starmen.at.tut.by/geocacher.html)


Название: Re: Кэширование GoogleEarth
Отправлено: 4water от 08 февраля 2009, 11:49:03
Хорошая штука, спасибо, zed.
А к Хэнди это приспособить можно? А то лишний прокси добавлять для всего трафика не хочется.


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 08 февраля 2009, 12:18:03
Конечно! В настройках GeoCacher-а ничего не меняем, а в HC в условных прокси добавляем правило: #7#~#True#~#GeoCacher#~#127.0.0.1#~#8081#~##~##~#http://kh\.google\.com/|http://khmdb\.google\.com/ и отмечаем 3 галочки Разрешить. Кроме того, в HC лучше эти 2 url исключить из всяких списков и отключить кэширование.


Название: Re: Кэширование GoogleEarth
Отправлено: 4water от 08 февраля 2009, 13:21:39
Ух ты! Работает!
Только окошки Access Violation вылезают постоянно :(


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 08 февраля 2009, 13:23:01
а подробней про окошки?


Название: Re: Кэширование GoogleEarth
Отправлено: 4water от 08 февраля 2009, 18:05:49
 Вот


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 08 февраля 2009, 18:10:13
странно, у меня ниразу такого не было... так что даже без понятия.


Название: Re: Кэширование GoogleEarth
Отправлено: Fernand от 08 февраля 2009, 18:50:55
Все это симпатично.. и даже работает - респект.
Можно поподробней о принципе работы?
При запросе НС GC отдает кэш или делает новый запрос/закачку?
я создал следующий конфиг - поставил прокси-посредником (первым, т.к. в некоторых проксях-посредниках содержатся обобщающие правила google), добавил в белое правило (kh\.google\.com/|khmdb\.google\.com/) с выставлением всех галочек (т.е исключил из всех остальных правил)..
Т.о. GoogleEarth делает запрос HC, тот перенправляет его GC, а тот в свою очередь на toonel - все работает, но вопрос о перезакачке (т.к. отключено кэширование в HC-невозможно это определить) остается открытым.

upd. Вопрос снимаю - мегареспект :)


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 08 февраля 2009, 19:13:56
Перезакачки нет - гарантирую на 100%.
Принцип: приходит запрос http://kh.google.com/flatfile?f1c-0201333-t.188+f1c-0203001-t.188+f1c-0200320-t.188&v=1 GC ищет в своём кэше файлы f1c-0201333-t.188, f1c-0203001-t.188 и f1c-0200320-t.188. Скажем, в кэше был второй файл (f1c-0203001-t.188), тогда GC формирует новый URL http://kh.google.com/flatfile?f1c-0201333-t.188+f1c-0200320-t.188&v=1  и загружает из инета (т.е. загружаются 2 недостающих файла одним модифицированным запросом). Затем, загруженный запрос разделяется на 2 файла, которые сохраняются в свой кэш. Затем, из кэша считываются все 3 файла и объединяются в один, соответствующий первоначальному запросу гугла. И только потом, уже объединённый файл отдаётся гуглу.
Счас доделываю в GC статусную строку, где будет подробно расписано откуда сколько байт взято:

 


Название: Re: Кэширование GoogleEarth
Отправлено: Fernand от 08 февраля 2009, 19:49:37
И все-таки непонятно.. Кэш наполняется, а кроме *.png ничего из кэша не отдается. Прходил несколько раз один и тот же путь - интернет-канал реально занят.
зы. думал toonel косячит - отключил - картина та же. :(

Может "родной" кэш GE удалить?
(http://www.10pix.ru/img1/1927/31175.th.jpg) (http://www.10pix.ru/view/1927/31175/)


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 08 февраля 2009, 20:13:09
Для эксперемента, и чтоб убедиться наверняка:
1. Удаляем кэш GE
2. Запускаем GE, дожидаемся пока Земля прорисуется, закрываем GE.
3. Удаляем кэш GE
4. Опять запускаем GE, и смотрим в монитор GC - будет отдача из кэша.

А то, что вы проходили один и тот же путь, ещё не значит что все данные на этом пути были загружены, и потому при повторном проходе GE может подгружать то, что сперва загрузить не успел. Кэширование при помощи GC эффективно когда у него в кэше есть то, чего нет в кэше у GE.


Название: Re: Кэширование GoogleEarth
Отправлено: Fernand от 09 февраля 2009, 13:14:50
Есть еще попутный вопрос - имеет смысл в GE выставлять минимальный кэш (или вообще отключить)?


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 09 февраля 2009, 14:05:44
Ну, вообще отключить не получится: минимальный размер дискового кэша 16 Мб, кэша в памяти - 32 Мб  -  это из-за особенностей технологии GE. А вопрос стОит/не стОит - попробуйте, поставьте на минимум кэш и гляньте на быстродействие GE, если оно вас устроит и интернет у вас всегда под рукой, а в офф-лайне GE с его кэшем вам не нужен, то можете смело отключать.
Но лично я всё выставляю по максимуму: пары гиг под GE кэш не жалко, быстродействие связки GE <-> кэш <-> инет будет по-любому выше, чем просто GE <-> инет (даже если как таковой, загрузки из инета нет, а идёт передача файлов из кэша GC), да и в офф-лайне гугл бывает нужен.
А если вопрос стоял: будет ли GE работать лучше/быстрее без своего кэша, то ответ - нет.   


Название: Re: Кэширование GoogleEarth
Отправлено: Михаил от 09 февраля 2009, 15:34:38
У меня, к сожалению, тоже много Access Violation.


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 09 февраля 2009, 16:08:31
Какая винда, сколько процев, прога продолжает работать дальше, в мониторе зависает какая-нибудь строка? В мониторе HC (если GC как условный прокси работает) нет url-ов с ошибками? В кэше появляются файлы с размером 0 Кб?
Похоже, нужно какой-нить BagReport встраивать...


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 19 февраля 2009, 19:14:12
Обновил GeoCacher (http://starmen.at.tut.by/geocacher.html) и специально для тех, кому надоедали Access Violation отключил вывод всех ошибок (саму причину ошибки я так и не обнаружил, тем более что возникает она только у некоторых, а у меня как назло - тишь да гладь). 


Название: Re: Кэширование GoogleEarth
Отправлено: 4water от 19 февраля 2009, 20:27:46
здОрово!
спасибо zed такими темпами функциональность HandyCache можешь перекрыть скоро не только для GoogleEarth а и для всего остального
несколько вопросов:
что значат расцветки строчек в Мониторе?
что такое "Готово*" в столбике "Состояние"?
в этом же столбике почему-то много строк оставшихся навсегда с надписью "Загрузка..."
что означает строка с надписью в этом же столбике "Ошибка"?


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 19 февраля 2009, 20:41:13
что значат расцветки строчек в Мониторе?
то же, что и в HC - для лучшего визуального восприятия URL на разных этапах загрузки файлов.
Готово* - загружен не GE URL - без кэширования и обработки, и нет никакой гарантии что этот URL действительно нормально загрузился.
Ошибка - ошибка при загрузке url из инета, т.е. файл не загружен.
Загрузка... - файл в процессе загрузки, если это "вечная" загрузка, значит возникла ошибка при загрузке, а в монитор просто не дописалась строка - Ошибка, и это наверняка не GE url, раз такое произошло. (С этим мы активно сражаемся)

GeoCacher - ни в коем случае не замена HC (что касается "обычных" url), я к этому не стремлюсь, и с гуглом ещё много идей есть.


Название: Re: Кэширование GoogleEarth
Отправлено: 4water от 19 февраля 2009, 20:55:13
Готово* - загружен не GE URL - без кэширования и обработки, и нет никакой гарантии что этот URL действительно нормально загрузился.
Ошибка - ошибка при загрузке url из инета, т.е. файл не загружен.
Загрузка... - файл в процессе загрузки, если это "вечная" загрузка, значит возникла ошибка при загрузке, а в монитор просто не дописалась строка - Ошибка, и это наверняка не GE url, раз такое произошло. (С этим мы активно сражаемся)
у меня только GE включено и все урлы которые идут через GeoCacher - это урлы GE.


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 19 февраля 2009, 21:15:28
Не все. GE url это 2 сервера: kh.google.com и khmdb.google.com, остальное - левак: метки, значки и проч. Этот "левак" со временем тоже подключу в обработку/кэширование, но пока всё остальное кроме указанных url - забота HC (если вы хотите это закэшировать).

Заметил неуниверсальность правила в RegExpr.ini при загрузке url вида http://kh.google.com/dbRoot.v5?hl=ru-RU&gl=ru На данный момент правило такое: http://kh\.google\.com/dbRoot\.v5\?hl=..-..\&gl=.., если у кого-то возникают проблемы с загрузкой подобных url исправьте правило, например, на: http://kh\.google\.com/dbRoot\.v5\?hl=* (и для остальных серверов соответственно). 
В новой версии GC появился тренажёр регулярных выражений, где можно проверить правильно ли написано правило и будет ли оно работать для вашего конкретного url. 


Название: Re: Кэширование GoogleEarth
Отправлено: zed от 05 марта 2009, 14:02:14
Тестовая версия GC с поддержкой чтения кэша GE налету: http://narod.ru/disk/6343143000/GeoCacher_20090305.rar.html


Название: Re: Кэширование GoogleEarth
Отправлено: njavij от 12 июля 2009, 18:10:22
ух. пасиб, всё чуки пуки, работает, правда было такое, захожу в GE видно что начинает загружать и останавливается, и сеть пропадает, ася, скайп вылетает...
щас прошло, на пока не знаю почему, я поудалял кеш, не сразу но пошло...
я поставил эту проксю на свой манюсенький сервер, там 700mhz проц на полную грузит, у меня там стоит хэнди кеш и юзер гейт(если бы HC поддерживала бы сокс то в последнем нужда отпалабы)


Название: Re: Кэширование GoogleEarth
Отправлено: Boroda от 22 июня 2015, 09:42:34
Как ни прискорбно сайт с ГеоКешером _starmen....geocacher.htm_ приказал долго жить.
Но у него есть зеркало хттп_greverse.bitbucket.org/sitemap.htm, там все ссылки