Здесь показаны различия между двумя версиями данной страницы.
версионный_кэш [27/06/2013 12:42] 91.203.67.165 |
версионный_кэш [04/03/2014 05:15] (текущий) |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
Сочетает в себе преимущества хранения относительно небольшого количества файлов и возможности работы с версиями снимков. | Сочетает в себе преимущества хранения относительно небольшого количества файлов и возможности работы с версиями снимков. | ||
====Создание версионного кэша "с нуля"==== | ====Создание версионного кэша "с нуля"==== | ||
+ | Если мы хотим создать новый версионный кэш, который будем наполнять путём скачивания, нужно всего лишь указать в zmp параметры **CacheType=61** и **Version=//Название версии по умолчанию//**. Для хранения версионного кэша Беркли в программе предусмотрена папка cache_dbv, поэтому по умолчанию новый кэш будет создан в этой папке. Однако нет проблем поместить этот кэш и в основную папку cache, нужно лишь указать соответствующий путь в настройках программы. | ||
+ | Перед скачиванием снимков нужно указать название версии, в которую будут помещаться тайлы. Это можно сделать в окне "Параметры карты". Обычно название версии представляет собой её номер в соответствии с нумерацией картсервиса. Скачав снимки указанной версии, мы будем иметь возможность в дальнейшем проверять идентичность скачиваемых тайлов тайлам, уже имеющимся в кэше, и в случае их совпадения не сохранять дублирующиеся тайлы. | ||
+ | ====Работа с версионным кэшем Беркли==== | ||
+ | При выборе из списка карты с версионным кэшем Беркли будет автоматически установлена версия по умолчанию, указанная в zmp. В дальнейшем можно будет изменить "рабочую" версию, введя её название в поле **Версия** окна **Параметры карты**. В "рабочую" версию сохраняются скачиваемые тайлы, поэтому будьте внимательны и проверяйте URL перед тем, как начать скачивание. Для "рабочей" версии строится карта заполнения. | ||
- | Если мы хотим создать новый версионный кэш, который будем наполнять путём скачивания, нужно всего лишь указать в zmp параметр **CacheType=61**. Для хранения версионного кэша Беркли в программе предусмотрена папка cache_dbv, поэтому по умолчанию новый кэш будет создан в этой папке. Однако нет проблем поместить этот кэш и в основную папку cache, нужно лишь указать соответствующий путь в настройках программы. | + | При наличии в кэше нескольких версий снимков можно выбирать, тайлы какой из версий будут отображаться на экране. Для этого вызываем контекстное меню и выбираем пункт **Версия**. Если для данного места экрана существует несколько версий тайлов, их список будет виден в меню. Установив галку на нужной версии, мы будем видеть только тайлы этой версии. Чтобы видеть тайлы всех возможных версий для данного места, следует установить галку на опции **Отображать предыдущие версии**. Однако следует учитывать, что в данном случае карта заполнения будет строиться для всех доступных версий кэша. Если кликнуть на опции **Сбросить**, то ни одна из версий не будет "рабочей". |
- | + | ||
- | Перед скачиванием снимков нужно указать название версии, в которую будут помещаться тайлы. Это можно сделать в окне "Параметры карты". Обычно название версии представляет собой её номер в соответствии с нумерацией картсервиса. Скачав снимки указанной версии, мы будем иметь возможность в дальнейшем проверять идентичность скачанных тайлов и тайлов, уже имеющихся в кэше, и в случае их совпадения не сохранять дублирующиеся тайлы. | + | |
+ | При скачивании каждый тайл проверяется на идентичность существующему, причём проверяются все доступные версии. Если тайла, идентичного скачанному, не существует, то скачанный тайл сохраняется, в противном случае - пропускается. Поэтому версия, скачанная первой, будет иметь наибольшее количество тайлов, а последующие версии - гораздо меньше (для одной и той же выделенной области, конечно). | ||
====Создание версионного кэша из ранее скачанного==== | ====Создание версионного кэша из ранее скачанного==== | ||
- | Целью данной операции является возможность дополнять имеющийся кэш новыми версиями. Для этого необходимо воспользоваться функцией **Управления кэшем**. Возможны следующие варианты: | + | Целью данной операции является возможность дополнять имеющийся кэш новыми версиями. Для этого необходимо воспользоваться функцией **Управления кэшем**. Напомню, что данная функция обрабатывает весь кэш (или всю версию) целиком, в отличие от **Копирования**, при котором обрабатывается содержимое выделенной области. Возможны следующие варианты: |
==== Исходный кэш неверсионный (Беркли или любой другой) ==== | ==== Исходный кэш неверсионный (Беркли или любой другой) ==== | ||
- | Заполняем опции **Управления кэшем**, указывая в верхней части окна параметры исходного кэша, опцию **Process only tiles with version:** (Обрабатывать только тайлы версии:) и поле с названием версии оставляем пустыми, так как наш исходный кэш неверсионный. В нижней части окна указываем параметры целевого кэша, формат указываем **BerkeleyDB (версионный)**, ставим галку на опции **Set same version for all processed tiles:** (Установить единую версию для всех обрабатываемых тайлов:) и записываем в соответствующее поле название версии. Папка целевого кэша должна быть создана заранее. Нажимаем "Начать" и ждём окончания процесса. Для нового кэша необходимо создать zmp, в котором должна быть запись **CacheType=61**. | + | Заполняем опции **Управления кэшем**, указывая в верхней части окна параметры исходного кэша, опцию **Process only tiles with version:** (Обрабатывать только тайлы версии:) и поле с названием версии оставляем пустыми, так как наш исходный кэш неверсионный. В нижней части окна указываем параметры целевого кэша, формат выбираем **BerkeleyDB (версионный)**, ставим галку на опции **Set same version for all processed tiles:** (Установить единую версию для всех обрабатываемых тайлов:) и записываем в соответствующее поле название версии. Папка целевого кэша должна быть создана заранее. Нажимаем "Начать" и ждём окончания процесса. Для нового кэша необходимо создать zmp, в котором должна быть запись **CacheType=61**. |
==== Исходный кэш версионный Беркли "старого образца" ==== | ==== Исходный кэш версионный Беркли "старого образца" ==== | ||
Строка 32: | Строка 35: | ||
===== Выделение неверсионной части кэша в отдельный кэш ===== | ===== Выделение неверсионной части кэша в отдельный кэш ===== | ||
- | Нам нужно извлечь неверсионную часть кэша и сохранить её на время. Удобнее воспользоваться целевым форматом SAS.Планета. Важно, чтобы тайлы **перемещались**, а не копировались, иначе не избежать дублирования. | + | Нам нужно извлечь неверсионную часть кэша и сохранить её на время. Удобнее воспользоваться целевым форматом SAS.Планета. Важно, чтобы тайлы **перемещались**, а не копировались, иначе невозможно будет вставить ранее неверсионную часть обратно. |
===== Обработка оставшегося версионного кэша ===== | ===== Обработка оставшегося версионного кэша ===== | ||
Далее нам понадобятся утилиты для работы с Беркли. Запускаем **sdb_util.exe**, указываем наш исходный кэш и проводим над ним две операции: **Recover environment** и **Prepare cache for backup (reset LSN)**. Затем перемещаем кэш в папку cache_dbv (если необходимо) и меняем расширения всех файлов *.sdb на *.sdbv, а всех файлов *.tne - на *.tnev. | Далее нам понадобятся утилиты для работы с Беркли. Запускаем **sdb_util.exe**, указываем наш исходный кэш и проводим над ним две операции: **Recover environment** и **Prepare cache for backup (reset LSN)**. Затем перемещаем кэш в папку cache_dbv (если необходимо) и меняем расширения всех файлов *.sdb на *.sdbv, а всех файлов *.tne - на *.tnev. | ||
Строка 38: | Строка 41: | ||
Это сделать просто, см. **Исходный кэш неверсионный (Беркли или любой другой)**. | Это сделать просто, см. **Исходный кэш неверсионный (Беркли или любой другой)**. | ||
- | ====Копирование в версионный кэш==== | + | ====Копирование в версионный кэш Беркли==== |
- | Усовершенствованная операция копирования позволяет указывать название версии, в которую будут скопированы или перемещены тайлы. Кроме того, опция **Make subfolder with map path name** (Создать вложенную папку с названием карты) может быть отключена, что позволяет копировать в один и тот же кэш отдельные снимки. | + | Усовершенствованная операция копирования позволяет указывать название версии, в которую будут скопированы или перемещены тайлы. Кроме того, опция **Make subfolder with map path name** (Создать вложенную папку с названием карты) может быть отключена, что позволяет копировать в один и тот же кэш отдельные снимки под одной (если они не накладываются друг на друга) или под разными версиями. |
+ | ===Внимание!=== | ||
+ | Нельзя применять операцию **перемещения** данных из одной версии кэша в другую версию **этого же** кэша. Это ведёт к невозвратимой потере данных, так как каждый перемещаемый тайл проверяется на идентичность существующему, то есть самому себе. Так как идентичность налицо, "вновь прибывший" тайл не сохраняется, а старый удаляется, потому что задано перемещение. В случае, когда задано копирование, кэш никак не изменится, но будет впустую потеряно время. | ||
+ | Чтобы переместить часть информации в другую версию того же кэша, следует сначала переместить её в отдельный кэш, а уже из него вернуть в первоначальный под другой версией. |