SASGIS

Веб-картография и навигация

Разбивка выделения при закачке на части

Запрашиваем и выполняем хотелки к SAS.Планете вне очереди

Модераторы: vdemidov, Tolik

Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.

Re: Разбивка выделения при закачке на части

Сообщение zed » 03 мар 2016, 19:38

Тьфу ты, всё верно - сейчас закачка асинхронная и потоки плодить не надо. Давно не заглядывал в код закачки, подзабыл.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 03 мар 2016, 19:43

zed писал(а):Вспомнил - тот пул сильно завязан на режим, для которого писался. Он там и бан автоматически обрабатывает и в кэш сам пишет. В общем, слишком специфичен и сюда его не воткнуть.

Что значит не воткнуть? Оно сейчас и так все через него работает. Просто потоки закачки по региону не ставят в очередь больше одного запроса за раз и тупо ждут ответа.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 03 мар 2016, 20:10

Говорю же - обознался :)

Но из-за необходимости засыпать и повторно загружать тот же тайл (при ошибках), всё же нужно вести учёт запросов отправленных на закачку. Т.е. какую-то очередь городить придётся.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 03 мар 2016, 20:28

zed писал(а):Говорю же - обознался :)

Та я твой комент на следующей странице заметил уже после того как свой отправил.

zed писал(а):Но из-за необходимости засыпать и повторно загружать тот же тайл (при ошибках), всё же нужно вести учёт запросов отправленных на закачку. Т.е. какую-то очередь городить придётся.

Ну, если не ставить цель запускать сотни запросов, а ограничиться десятком, то и простой массив с последовательным перебором вполне справится.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 03 мар 2016, 22:47

Parasite писал(а):Озвучивайте финальную цену вопроса, и пускай народ подтягивается и голосует рублем. От себя тут пока что вкладываю 1000р, как указано ранее.

Ты только определись что тебе нужно: то что озвучено в сабже и что я предложил сделать нарезкой полигона на полосы или что бы запросы на закачку отправлялись по несколько штук паралельно (не забываем про ограничение потоков закачки на карту).
В принципе тот или другой вариант я готов реализовать. Тебе осталось выбрать что и осознать все особенности каждого из способов, что бы потом не было непонимания и конфликтов.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 03 мар 2016, 23:19

По-моему, выбор очевиден - делай многопоточность. А ограничение потоков на карту будет в любом случае, потому что это ограничение таки на карту, если я правильно помню реализацию оного.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 03 мар 2016, 23:47

Ну, у каждого варианта свои плюсы и минусы. Если будет автоматическая нарезка полигонов, то потом можно сохранить часть сессий в sls и запустить на другом компьютере. В многпоточном варианте лог закачки будет перемешан. С моей точки зрения выбор не очевиден.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Разбивка выделения при закачке на части

Сообщение Parasite » 04 мар 2016, 07:52

vdemidov писал(а):Ты только определись что тебе нужно: то что озвучено в сабже и что я предложил сделать нарезкой полигона на полосы или что бы запросы на закачку отправлялись по несколько штук паралельно (не забываем про ограничение потоков закачки на карту).
В принципе тот или другой вариант я готов реализовать. Тебе осталось выбрать что и осознать все особенности каждого из способов, что бы потом не было непонимания и конфликтов.

Я уже раньше указал, что выбор реализации - на усмотрение исполнителя.

Мне (лично мне) надо, чтобы при старте закачки можно было бы а)задать число потоков ко скачке, б) чтобы произвольно заданный полигон автоматически разбивался этим числом потоков наиболее эффективно и нагружал мне канал как указано, а не в 1 поток по умолчанию, а остальное - через ручки. Свою реализацию этого я предложил в начале темы, но я именно на ней не настаиваю - я не специалист в программировании, и понятия не имею как удастся сделать искомое наиболее кошерно. Если сделается с под-окнами (как я описал) - хорошо, если сделается мультитредовая качалка - еще лучше (только чтобы число тредов можно было задать не правя .zmp, а тупо вбив цифирку где-нибудь в гуе при старте скачки). Всё, что мне надо в пределах данного тикета - это исключение мануального пиксельхантинга по периметру огромных полигонов при старте пары-тройки десятков параллельных потоков на одном и том же выделении ручками. Я желаю, чтобы "оно само" - выбрал полигон, ввел желаемое число тредов, и оно поехало как указано. Смотри сам, что лучше к реализации - разбивка по числу тайлов, честная многопоточная закачка, или может быть еще что-то...Мне детали неважны - мне нужно, чтобы оно в данном плане просто более эффективно работало на моей стороне, чем сейчас.

Может, другие тоже еще чего-нибудь допишут. Тема-то злободневная - спрашивают "как качать в кучку потоков" довольно часто, даже статью на вики припилили вон... :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 04 мар 2016, 11:05

vdemidov писал(а):Ну, у каждого варианта свои плюсы и минусы.

С нарезкой больше минусов, чем плюсов. А ты к какому варианту склоняешься?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 04 мар 2016, 14:26

zed писал(а):
vdemidov писал(а):Ну, у каждого варианта свои плюсы и минусы.

С нарезкой больше минусов, чем плюсов. А ты к какому варианту склоняешься?

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

Но раз заказчику все равно, значит будет несколько запросов в параллель. Только нужно не забыть увеличить длину очереди запросов, а то сейчас там только 256. Пока это было 32 запроса от закачки видимой области + по 1 от каждой закачки этого было достаточно, но если будет по 10 от каждой закачки этого будет уже маловато.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Пред.След.

Вернуться в Внеочередное исполнение хотелок

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2