SASGIS - SACS.Планета
View Issue Details
0001750SACS.ПланетаРефакторингpublic28-12-2012 21:0228-02-2014 10:52
vasketsov 
vasketsov 
normalminoralways
closedfixed 
WindowsVistaUltimate
 
130803 
0001750: Доработка интерфейса тайлохранилища (сохранение тайла)
По результатам тестирования менеджера кэша (хотя идея касается не только его) для СУБД (хотя тип кэша тут неважен) вырисовывается такая картина. Запускал много раз, но отличия все разы были только в галочке, переписывать тайлы в целевом хранилище или нет. Перед каждым разом целевое хранилище чистилось.

Тестовые результаты таковы (для удалённого сервера ASE по сетке):
если переписываем тайлы - скорость 1 МБ/с, если нет - 0.76 МБ/с.

Оно как бы понятно, что надо проверить, есть ли тайл, но собственно в этом и есть засада.

Идея заключается в модификации процедуры сохранения, чтобы можно было параметром передать, надо ли перезаписывать тайл, может быть даже при каких условиях перзаписывать (отличие по размеру, более ранняя дата, и т.п.). И чтобы вернулась информация, был ли реально тайл перезаписан в результате выполнения этой процедуры.
Ну или даже не модификации процедуры, а добавить новую фукнцию.
No tags attached.
related to 0002034confirmed  SAS.Планета Доработка интерфейса тайлохранилища (сохранение тайла) 
child of 0001997confirmed  SAS.Планета Версионный кэш: выдавать сообщение о наличии дублирующегося тайла 
Issue History
28-12-2012 21:02vasketsovNew Issue
29-12-2012 05:02vdemidovNote Added: 0010246
29-12-2012 05:03vdemidovStatusnew => confirmed
29-12-2012 05:03vdemidovCategoryХотелка => Рефакторинг
29-12-2012 05:03vdemidovProduct Version.Nightly => 121010
29-12-2012 05:03vdemidovTarget Version => 1307xx
29-12-2012 05:48vdemidovNote Edited: 0010246bug_revision_view_page.php?bugnote_id=10246#r5009
07-05-2013 14:44vdemidovTarget Version1307xx => 1310xx
30-06-2013 20:50vasketsovProjectSAS.Планета => SACS.Планета
30-06-2013 20:50vasketsovAssigned To => vasketsov
30-06-2013 20:50vasketsovStatusconfirmed => assigned
01-07-2013 07:00vasketsovNote Added: 0011941
02-07-2013 11:21zedRelationship addedparent of 0001997
02-07-2013 11:23vasketsovNote Added: 0011989
02-07-2013 11:25zedRelationship replacedchild of 0001997
02-07-2013 21:04vasketsovNote Added: 0011992
02-07-2013 21:04vasketsovStatusassigned => resolved
02-07-2013 21:04vasketsovFixed in Version => .Nightly
02-07-2013 21:04vasketsovResolutionopen => fixed
20-07-2013 08:37vdemidovIssue cloned: 0002034
20-07-2013 08:37vdemidovRelationship addedrelated to 0002034
09-08-2013 14:59vasketsovFixed in Version.Nightly => 130803
09-08-2013 15:13vasketsovStatusresolved => closed

Notes
(0010246)
vdemidov   
29-12-2012 05:02   
(edited on: 29-12-2012 05:48)
Сделай версию функции записи тайла с передачей IPredicateByTileInfo, которой будет передаваться информация о старом тайле. Плюс для простоты работы можно перегрузить версию функции с булом, который будет обозначать или безусловную замену, или безусловное оставление старого тайла.
ЗЫЖ Еще может стоит сделать IPredicateByTwoTileInfo, что бы передавался исходный и новый тайл и уже они сравнивались бы по любым возможным алгоритмам. Еще возможно в предикаты нужно добавить какие-то интерфейсы, позволяющие грубо проверить условие, но как это сделать красиво я не знаю.

(0011941)
vasketsov   
01-07-2013 07:00   
Сделаю SaveTile функцией, и заодно SaveTNE пристрелю
(0011989)
vasketsov   
02-07-2013 11:23   
Для корректной работы с СУБД потребуется обновление DLL (версия 1.0.0.6) - брать тут:
https://bitbucket.org/vasketsov/tilestorage_dbms/downloads
(0011992)
vasketsov   
02-07-2013 21:04   
Флаг переписывания или пропускания тайла в целевом хранилище для закачки (то есть, при сохранении скачанных тайлов) не используется, но это собственно тут и не планировалось. В остальном всё пропихнуто.