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

» SatMap (2)

Автор: rex
Дата сообщения: 09.07.2009 19:48
При экспорте одного кэша в другой вылетает

SatMap Navigation

SQLite Error 1 - cannot rollback - no transaction is active.

Ошибка возникает только при экспорте двух уровней 17 и 19. Пробовал экспортировать в чистый кэш, но та же проблема- по достижении примерно 1,6 gb программа с пол часа тарахтит диском на котором кэш приемник, после чего вылетает с той же ошибкой.
Означает ли это что часть кэша не экспортировалась? Можно ли это как-то побороть без экспорта-реэкспорта в SAS? Не хотелось бы терять инфу о отсутствующих тайлах.
Автор: relictus
Дата сообщения: 10.07.2009 07:56
Imperator

Цитата:
22880x28768

И что, так и не склеилась картинка?
Попробовал, 33728*26592 в PNG 256 color compression=9 склеилась за 8 минут на Koмпьютep:
AMD Athlon(tm) 64 X2 Dual
Core Processor 5600+
2.91 ГГц, 3,25 ГБ OЗУ

Добавлено:
rex

Цитата:
Означает ли это что часть кэша не экспортировалась?

Конечно означает.

Цитата:
Можно ли это как-то побороть без экспорта-реэкспорта

А фиг его знает
Похоже глючит(?) движок SQLite. Я-то в своей текущей версии его обновил, но т.к. все еще ведутся работы над, выложить новую версию пока не могу...
Автор: rex
Дата сообщения: 10.07.2009 09:19
relictus
Так если не месяц ждать можно и подождать.

И не забудь пожалуйста о возможности отключения проверки списка на дубликаты и сортировку при отключении, а можно ее и вообще убрать. Мы то просили совсем о другом - о предварительной проверке списка на наличие в нем тайлов имеющихся в кэше. Причем разовой. Список и его остатки могут десять раз после создания использоваться. Зачем все это проверять.

Автор: relictus
Дата сообщения: 10.07.2009 09:25
rex

Цитата:
Так если не месяц ждать можно и подождать.

Сам не знаю, когда это будет...
Автор: Imperator
Дата сообщения: 10.07.2009 11:22
relictus
Не склеилась.
В jpg нормально.
Автор: relictus
Дата сообщения: 10.07.2009 12:06
Imperator
Что ж, тогда jpg - единственное, что тебе остается...
Автор: Imperator
Дата сообщения: 10.07.2009 16:20
relictus
А надежды есть?
Автор: egor23
Дата сообщения: 10.07.2009 17:06
Imperator

Цитата:
Уже час висит на пост-обработке и сохранении. Винда говорит, что не отвечает. Процеессор core2duo 3ГГц. Памяти 8 гиг.

висит или медленно работает?
Вам в помощь:
Process Explorer
File Monitor
и т.п.
Автор: Imperator
Дата сообщения: 10.07.2009 20:12
egor23
Целый день и ничего не получилось. Прибил процесс.
Автор: AntonVA1
Дата сообщения: 11.07.2009 08:39
Меня тут, похоже, на гугле забанили. Что делать?
Автор: rex
Дата сообщения: 11.07.2009 10:54
AntonVA1
Сменить IP нельзя?
Автор: AntonVA1
Дата сообщения: 11.07.2009 12:22
Нужно попытаться. Вроде модем наночь выключается, при включении, по идее, должен выдаваться другой IP. Но не проверял пока. А забанили с самого утра. Как модем заставить сменить IP?
Автор: z3139720
Дата сообщения: 11.07.2009 13:29
Relictus


Цитата:
Добавлено:
z3139720

Цитата:
Можно ли сделать так, чтобы если тайла нет на предыдущем слое то его на следующем слое и не запрашивать совсем?

Теоретически, можно. Только это создаст дополнительную нагрузку на кэш, т.к. придется проверять не только наличие тайла на текущем уровне закачки, но и наличие тайлов под ним на меньших уровнях.


Я живу в Хабаровске, хочу сделать карту Хабаровска и окресностей для ози эксплорер для кпк-шки с гпс. Заполнение 17 слоя в Хабаровске мягко говоря клочково-выборочное. То есть реально существует и скачивается где то четверть от всего возможного количества тайлов. Других просто нет. И время обращения к кэшу всяко будет меньше чем время обращения к серверу гугла.

Вообщем очень очень прошу реализовать такую опцию чтобы можно было скачивать с учетом карты заполнения предыдущего слоя - если на предыдущем слое такого тейла нет - то на следующем просто пропускать и не скачивать. Это будет очень экономить время.

Еще одна просьба, если это возможно, разумеется. Вот я опять же скачиваю карту Хабаровска и окресностей на 17 уровне. Она с пробелами ибо каких то частей просто нет. Очень бы хотелось иметь возможность заполнять эти пробелы последним имеющимся слоем.

Я экспортирую карту для ози эксплорер а она получается с черными дырами, и получается надо иметь две карты - одну обзорную, например 15 уровня, без дыр, а вторую для разглядывания уровня 17того но с дырами, и между ними потом переключаться. Что не всегда удобно.

Заранее спасибо
Автор: rex
Дата сообщения: 11.07.2009 16:36
AntonVA1

Цитата:
Как модем заставить сменить IP?

Отключиться и снова подключиться через 5 сек -5 минут, в зависимости от количества IP у провайдера, если конечно у тебя не постоянная линия, что вряд ли.
Ну и проверь свой IP до и после этого - правый клик на значке интернет соединения.
(иконка двух мониторов).
Автор: Semen_Semenovych
Дата сообщения: 11.07.2009 22:55
To relictus

rex

Цитата:
При экспорте одного кэша в другой вылетает  
 
SatMap Navigation
 
SQLite Error 1 - cannot rollback - no transaction is active.


К стати, у меня то-же самое, но только весь процесс потухает значительно раньше, кеш приемник выше 400 МБ не получается.
Может сделаешь, хотя-бы для эксперимента поддержку MySQL???

Добавлено:
Еще раз повторюсь, с используемым сейчас алгоритмом скачивания при закачке больших областей, Гугл банит примерно раз в 16-25 часов непрерывного кача (проверено на собственной шкуре).
Автор: rex
Дата сообщения: 12.07.2009 15:19
Semen_Semenovych

Цитата:
кеш приемник выше 400 МБ не получается.

В данном случае проблемы в кэше "передатчике". Кэш "приемник" может быть любого размера. Попробуй экспортировать кэш в отдельный кэш SAS, он на NTFS базируется - работает медленно, но надежно, а уже оттуда импортировать в SatMap. Я так позавчера спас 8 GB нового кэша, хотя и потерял информацию об отсутствующих на сервере Гугла тайлах. Кэш SAS лучше сделать на чистой партиции, чтобы потом не удалять миллионы файлов, а быстро форматировать и с малым сектором 1-2 кб, чтобы место сэкономить.

Кстати сбой обычно идет не на всех уровнях. У меня был только на двух. Можно экспортировать по уровням SatMap в SatMap, а в SAS сливать только те уровни, где был сбой, но проще конечно все сразу.

Добавлено:
Semen_Semenovych

Цитата:
Еще раз повторюсь, с используемым сейчас алгоритмом скачивания при закачке больших областей, Гугл банит примерно раз в 16-25 часов непрерывного кача (проверено на собственной шкуре).

У меня комп работает 48 часов в 7 потоков и пока даже каптч не было, но это из-за выходных, а последний бан был три месяца назад, но большие участки у меня порезаны на части в списки по 60-120 тысяч тайлов, так что возможно из-за этого Гугл их как единый непрерывный поток не воспринимает.

Попробуй разрезать список на части по 40 тыс записей, а затем объединить части не по порядку.
Автор: AntonVA1
Дата сообщения: 13.07.2009 11:25

Цитата:
Отключиться и снова подключиться через 5 сек -5 минут,

Дык ведь утром включил модем- сразу бан.
НО! через некоторое время стартанул- закачка пошла. Странно. Может ли программа неправильно определить факт бана?

Цитата:
примерно раз в 16-25 часов непрерывного кача

Я качал непрерывно не более 3 часов

Цитата:
У меня комп работает 48 часов в 7 потоков и пока даже каптч не было

При вышепреведенном режиме работы была капча один раз. Кроме того и что самое интересное, капча выводилась и при использовании стандартного поиска на гугле.
P.S. По проге: это только у меня регулярно лезут Access violation-ы в разных местах программы. Например:
при сдвигании карты- с регулярностью, иногда, после каждого сдвигании.
при закачке- иногда, также при закачке по списку.
при склеивании в один файл- вообще не получается.
Автор: relictus
Дата сообщения: 13.07.2009 12:13
AntonVA1

Цитата:
Может ли программа неправильно определить факт бана?

Не может.


Цитата:
это только у меня регулярно лезут Access violation-ы в разных местах программы.

Уже писалось об этом: вызываются быстрым скроллом в режиме с включенным интернетом. Для склейки перейди в режим "только кэш"...
Автор: rex
Дата сообщения: 13.07.2009 21:57
relictus
Искал адрес SRTM и решил фак глянуть. Нашел забавный совет - "Очень рекомендуется разбивать данные (как для организации закачки, так и при разбивке по файлам кэша) по ТЕРРИТОРИЯМ."

Если рекомендуешь резать по территориям ,зачем тогда возможность произвольного выделения при экспорте отключил? Или у вас все территории исключительно прямоугольные, а другие не интересны?
Автор: relictus
Дата сообщения: 14.07.2009 07:13
rex
Ничего забавного в совете не нахожу.

Цитата:
зачем тогда возможность произвольного выделения при экспорте отключил?

Как можно отключить то, чего нет и не было?
Автор: netrebos
Дата сообщения: 14.07.2009 16:45
relictus

Цитата:
Ничего забавного в совете не нахожу.

Многие интересующие территории располагаются так: "\" или так "/" к квадрату. Приходится экспортировать много пустой информации.

Цитата:
Как можно отключить то, чего нет и не было?

А я еще весной просил включить полигонное выделение для экспорта и импорта, и не только для кешей формата Satmap, но и в другие форматы. Когда речь идет об островах, островных государствах, съемке рек или автомобильных трасс, т.е когда относительно квадрата требуется только узкая полоска информации, такая функция была бы удобна.
Автор: parasss
Дата сообщения: 14.07.2009 17:51

Цитата:
кэш в отдельный кэш SAS, он на NTFS базируется

Кто на NTFS базируется?? Кэш SAS? Не раньше, чем его туда ручками специально "забазировать". У меня вот он "базируется" на Reiser например.


Цитата:
Я так позавчера спас 8 GB нового кэша, хотя и потерял информацию об отсутствующих на сервере Гугла тайлах.

САС уже давно научился отмечать отсутствующие на сервере тайлы. Кстати, автору СатМапа просьба обратить внимание и внести корректировки в процедуры импорт\экспорта САСа. Подробности могу дать мылом, как обычно.
Автор: rex
Дата сообщения: 14.07.2009 18:19
relictus

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

Формирование кэша по территориям теоретически возможно до, во время и после закачки.

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

2. Формирование кэша во время закачки - после того как вы ввели полигон и списки это стало более менее реально, хотя и требует постоянного внимания и практически реализуемо только если закачивается сравнительно небольшая область, причем с нуля и сразу.

3. Экспорт в кэш нужного полигона после закачки. Это по-моему пока самое надежное и это работает, но как-то очень неаккуратно.
Во-первых, пока выделение только прямоугольное, так что экспортируется от 20 до 80 % лишней информации, а это лишние гигабайты, а иногда и десятки.
Во-вторых, невозможно сохранить координаты даже прямоугольника. Например в SAS есть возможность сохранить координаты выделенного полигона в файл. Для закачки это намного менее удобно чем в вашей SatMap, где списки легко объединять, резать и сохранять, а вот для экспорта очень удобно - один раз обвел границы Урюпинской губернии и подключаешь их каждый раз, когда надо туда что-то добавить. Кстати такие файлы полигонов границ государств и областей можно было бы выкладывать в форуме - уж больно эти границы иногда извилисты.
В-третьих, алгоритм экспорта пока очень далек от совершенства, последовательный перебор всех возможных тайлов на 18-21-х уровнях это нечто бесконечное.
В-четвертых - кэш SatMap при импорте-экспорте довольно часто глючит. Чтобы спасти тайлы из сбойных кэшей, а речь идет о гигабайтах, их приходится экспортировать в кэш формата SAS и уже оттуда реэкспортировать в кэш SatMap - значит нужно полигональное выделение в SatMap при импорте из SAS.




Добавлено:
parasss

Цитата:
Кто на NTFS базируется?

Windows
Я не был уверен, что SAS и SatMap работают под Linux'ом


Цитата:
САС уже давно научился отмечать отсутствующие на сервере тайлы.

Тайлом болванкой? Так это давно обсуждали. Метод довольно убог и ресурсозатратен - 1 файл - один кластер, но сделать возможность экспорта из SatMap все равно стоит, хотя бы как промежуточный вариант при реэкспорте.

Автор: parasss
Дата сообщения: 14.07.2009 22:16

Цитата:
Windows

Тьху.


Цитата:
Я не был уверен, что SAS и SatMap работают под Linux'ом

Для того чтобы хранить кэш на Рейзере - оным необязательно работать на Линухе. Можно просто хранить кэш на другом (сетевом или, как в моем случае - кластерном) ресурсе.



Цитата:
Тайлом болванкой? Так это давно обсуждали. Метод довольно убог и ресурсозатратен - 1 файл - один кластер

Угу. А по другому-то никак - это ж тайловый кэш, и даже без индекса (если не считать встроенный в ФС)... Впрочем, нужное таки выполняется, отсутствие тайлов - регистрируется, и при завершении скачки нужной территории болванки можно просто грохнуть по маске, и дело с концом.
Зато не приходится ждать и тянуть миллионы уже ранее скачанных 404х при возобновлении закачки (для чего оно собственно и было сделано-то).
Автор: relictus
Дата сообщения: 15.07.2009 09:27
netrebos

Цитата:
А я еще весной просил включить полигонное выделение для экспорта и импорта

Все-таки надо правильно давать формулировки. "Включить" - это значит активировать что-то ранее отключенное. В данном же случае, эту фичу надо просто РЕАЛИЗОВАТЬ. Я об этом помню, но занят сейчас другим (тоже нужным )...

parasss

Цитата:
внести корректировки в процедуры импорт\экспорта САСа. Подробности могу дать мылом

Давай.

rex
Чего это ты "выкать" стал?

Цитата:
В-третьих, алгоритм экспорта пока очень далек от совершенства, последовательный перебор всех возможных тайлов на 18-21-х уровнях это нечто бесконечное.

Как можно экспортировать не перебирая все тайлы в выделенной области? С большим вниманием посмотрю на твой алгоритм!

Цитата:
В-четвертых - кэш SatMap при импорте-экспорте довольно часто глючит.

Подробности, плиз! Кроме разового "SQLite Error 1 - cannot rollback - no transaction is active. " что еще было?
Автор: rex
Дата сообщения: 15.07.2009 14:30
relictus


Цитата:
Чего это ты "выкать" стал?

Злой был.


Цитата:
Как можно экспортировать не перебирая все тайлы в выделенной области? С большим вниманием посмотрю на твой алгоритм!

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


Цитата:
Подробности, плиз! Кроме разового "SQLite Error 1 - cannot rollback - no transaction is active. " что еще было?

А оно было уже трижды за две недели, в сумме на 8 с мелочью GB, и это после сброса несбойных уровней нормальным путем по одному. Аналогичная проблема была и уSemen_Semenovych.
Да и отключение электричества во время экспорта-импорта не исключено, у моего соседа вчера квартируремонтировали, так идиоты ремонтники перепутали мой тумблер вырубили - что тогда от кэша SQLite останется?

Даже на самых надежных котлах есть предохранительные клапаны, а SQL lite это вообще черный яшик, где от тебя зависит только своевременная замена версии (кстати!).
Так что отвергать в качестве обходного, аварийного варианта экспорт тайлов на прямую в файловую систему неразумно. Не хочешь использовать кэш формата конкурирующей SAS, предусмотри свою структуру папок для аварийного сброса, но только с возможностью экспорта информации о недоступных тайлах, тем более что не исключено, что из-за них проблемы и возникают.

Автор: relictus
Дата сообщения: 15.07.2009 15:11
rex
ну не понимаю я тебя! На разных языках говорим...
Как вообще можно экспортировать тайлы не перебирая их? И уж тем более без индекса? Ты знаком с действием оператора SELECT языка SQL? Что такое выборка данных знаешь? Вообще хоть чуть в программировании шаришь?


Цитата:
А оно было уже трижды за две недели, в сумме на 8 с мелочью GB, и это после сброса несбойных уровней нормальным путем по одному. Аналогичная проблема была и уSemen_Semenovych.

А почему о других случаях молчал? Чем больше тревожных сигналов поступает, тем больше я буду на них обращать внимания. Хотя и я - не Юлий Цезарь, не могу делать сразу кучу дел. Вот закончу текущую задачу, займусь следующими.....


Цитата:
Да и отключение электричества во время экспорта-импорта не исключено, у моего соседа вчера квартируремонтировали, так идиоты ремонтники перепутали мой тумблер вырубили - что тогда от кэша SQLite останется?

А если на твой район грохнется комета-дамоклоид из облака Оорта или страпелька из БАК'а вылетит - что тогда? От всего не застрахуешься..... /насчет тумблера - купи себе ИБП/


Цитата:
Так что отвергать в качестве обходного, аварийного варианта экспорт тайлов на прямую в файловую систему неразумно. Не хочешь использовать кэш формата конкурирующей SAS, предусмотри свою структуру папок для аварийного сброса

Да кто отвергает-то? Бери и экспортирый хоть в файловый кэш GMV, хоть SAS. Можешь вообще взять какой-нибудь менеджер баз SQLite и извращайся над кэшем SatMap как хочешь....
Автор: netrebos
Дата сообщения: 15.07.2009 15:30
relictus
rex
Эй ребята -- брейк. Дело-то всего в расширении функциональности экспорта импорта в САС, через РЕАЛИЗАЦИЮ ПОЛИГОННОГО выделения. А вы закипели. Я так давно перегоняю выкаченные куски через кеш САС и тем самым избегаю заморочек с базой. Да заодно пользуюсь другим функционалом САС. Только вот полигонного выделения при импорте экспорте не хватает. Не хватает его и для GPSproga -- она по умолчанию находится на SD карте 32 гб. А архив SQlite иной раз доходит до 200 гб. Значит, что бы упаковать требуемую информацию на SD приходится делать много лишних движений.
Автор: parasss
Дата сообщения: 15.07.2009 16:49

Цитата:
Вообще хоть чуть в программировании шаришь?

Ну вы еще подеритесь, горячие финские парни....


Цитата:
мой тумблер вырубили - что тогда от кэша SQLite останется?

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

А от всего сразу в программе все равно не застрахуешься. Но фичу восстановления битых баз действительно бы не помешало - коль скоро эти базы юзаются и бьются. Либо предусмотреть "отводок" от СатМапа в нормальную базу, в которой уже есть всё нужное - что уже обсуждалось ранее.
Автор: rex
Дата сообщения: 15.07.2009 19:45
relictus

Цитата:
Ты знаком с действием оператора SELECT языка SQL?
Неа


Цитата:
Как вообще можно экспортировать тайлы не перебирая их? И уж тем более без индекса?


У тебя кажется получилось

Без индекса можно, как это делает SAS используя файловую систему и правильно организованную структуру папок, что кстати получается довольно бысто, хотя при полной заполненности участка и медленнее чем в SatMap.
А медленнее, причем на порядки медленнее, в SatMap получается тогда, когда в выборку попадают пустые места, потому, что в отличие от SAS, которая действительно перебирает тайлы, только тайлы и ничего кроме тайлов, SatMap перебирает не тайлы, а дырки, т.е. все возможные места выделенного участка, на которых могли бы быть тайлы, даже если их там нет, а на 21 уровне это нечто. Как и зачем ты к этому перебору гипотетических тайлов присобачил индекс я не знаю.



Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: BitTorrent/BitComet/Azureus/BitTornado и др. / сеть и клиент


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