SASGIS

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


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001716SAS.Планета[All Projects] Багpublic28-11-2012 07:4805-12-2012 13:20
ReporterPapazol 
Assigned To 
PrioritynormalSeveritytweakReproducibilityhave not tried
StatusconfirmedResolutionopen 
PlatformWindowsOSXPOS VersionProfessional SP3
Product Version110418 
Target Version40xxxxFixed in Version 
Summary0001716: Неточно считается оставшееся время при закачке
DescriptionЕсли качать большой полигон, и прервать закачку на 70-90%, либо изменить форму полигона, добавив к нему дополнительный участок, то при следующей закачке этого полигона оставшееся время считается неправильно. Это происходит из-за того, что программа довольно быстро определяет, что бОльшая часть полигона уже имеется в кэше. Оставшееся время считается исходя из общего количества тайлов, следовательно, на закачку оставшейся части, по мнению программы, остаётся совсем немного времени. По идее, время, потраченное на имеющиеся в кэше тайлы, учитывать не нужно, тогда оставшееся время будет более реальным.
Steps To ReproduceВзять большой полигон, начать его скачивание. Когда останется скачать 20...10%, выйти из скачивания. Начать скачивание снова.
Или
Скачать полигон, затем изменить его форму, добавив дополнительный участок. Скачать этот полигон снова.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0010078)
Dima2000 (developer)
28-11-2012 12:23

Тоже долго удивлялся странностям в подсчёте оставшегося времени и объёма для скачки. Думал как надо считать чтобы было точнее и лучше. Потом с калькулятором в руках понял КАК именно оно считается - и дошло, что лучше просто не сделать потому что нет данных для такого расчёта.
Программа не имеет понятия сколько тайлов из списка уже выкачаны в кэш, она знает лишь сколько всего тайлов нужно, сколько осталось проверить и сколько тайлов удалось скачать (и за какое время), вот по этим данным и расчитывает, что если качать все оставшиеся тайлы с той же средней скоростью, то ... А есть они в кэше или нет - сиё никому неведомо и быстро проверить это нереально.
Потому расчёт верен, просто другой (видимо не совсем очевидный). И предлагаю закрыть тикет как нерешаемый.
(0010096)
Papazol (reporter)
30-11-2012 21:06

А вот если просто не учитывать файлы, которые уже есть в кэше, при подсчёте скорости скачивания?
Я понимаю алгоритм подсчёта так (если ошибаюсь, поправьте):
Tост = Nост / Vскач,
где Tост - оставшееся время, Nост - оставшееся количество файлов, подлежащее обработке, Vскач - скорость скачивания.
В свою очередь,
Vскач = Nзад / Tскач,
где Nзад - некоторое заданное количество файлов, Tскач - время, за которое скачалось это количество файлов,
Nост = Nобщ - Nобр,
где Тобщ - общее количество файлов в полигоне, Nобр - количество уже обработанных (и скачанных, и проверенных) файлов.
Тогда формула получается
Tост = ((Nобщ - Nобр) * Tскач) / Nзад.
Если считать оставшееся время только после того, как будут именно СКАЧАНЫ очередные Nзад файлов, ошибка за счёт уже имеющихся в кэше файлов устремится к нулю. Пусть первые данные по оставшемуся времени придут лишь после проверки большого количества уже имеющихся файлов, на это нужно некоторое время, но на скачивание его нужно на несколько порядков больше.
(0010097)
vasketsov (manager)
30-11-2012 21:43

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

>Vскач = Nзад / Tскач
Да. В такой оценке тоже есть смысл. Более того, чаще всего именно она будет точнее существующей (не только из-за дыр, но и из-за неравномерности скорости скачки, разной скорости отдачи http 200 и http 404 по областям где нет покрытия, и т.п. локальным эффектам).

>Пусть первые данные по оставшемуся времени придут лишь после проверки
Надо просто не точное время скачки показывать, а диапазон из этих двух значений, старого и по этому алгоритму. Или просто максимальное )))
(0010098)
Papazol (reporter)
01-12-2012 07:40

Максимальное время как раз и важно, ибо для чего оно (оставшееся время) вообще нужно? При существующем алгоритме указывается, напротив, минимальное время. В общем, есть над чем поразмыслить.
(0010105)
Garl (manager)
01-12-2012 11:55

тут примерна та же ситуация как с подсчётом оставшегося времени копирования файлов в windows один в один!
побороть её не получается даже у micrsoft.
(0010111)
Papazol (reporter)
01-12-2012 15:08

А если сохранить закачку в файл и потом запустить его, как будет подсчитываться оставшееся время? Учитывается ли при этом то, что уже скачано?
(0010113)
Garl (manager)
01-12-2012 19:21

>А если сохранить закачку в файл и потом запустить его, как будет подсчитываться
>оставшееся время? Учитывается ли при этом то, что уже скачано?
будет показано невероятно быстрое время до окончания скачивания и при каждом скачанном тайле время будет расти и приближаться к реальному.
(0010114)
Papazol (reporter)
02-12-2012 08:27

Значит, так же работает, как и при обычном запуске.

- Users who viewed this issue
User List Anonymous (2744x)
Total Views 2744
Last View 21-11-2024 10:07

- Issue History
Date Modified Username Field Change
28-11-2012 07:48 Papazol New Issue
28-11-2012 12:23 Dima2000 Note Added: 0010078
30-11-2012 21:06 Papazol Note Added: 0010096
30-11-2012 21:43 vasketsov Note Added: 0010097
01-12-2012 07:40 Papazol Note Added: 0010098
01-12-2012 11:55 Garl Note Added: 0010105
01-12-2012 15:08 Papazol Note Added: 0010111
01-12-2012 19:21 Garl Note Added: 0010113
02-12-2012 08:27 Papazol Note Added: 0010114
05-12-2012 13:05 vdemidov Product Version .Nightly => 110418
05-12-2012 13:05 vdemidov Target Version => 40xxxx
05-12-2012 13:05 vdemidov Summary Неверно считается оставшееся время при закачке => Неточно считается оставшееся время при закачке
05-12-2012 13:20 vdemidov Status new => confirmed



Copyright © 2007 - 2024 SAS.Planet Team