(bez virsraksta) @ 09:41
| | Add to Memories | Tell A Friend
Nepabeigtā dienasgrāmata |
|
17. Decembris 2008Comments"rsync nebūtu labākais risinājums, jo ir pilns ar nevajadzīgām iespējām"
No ieviešanas triviāluma skatu punkta, tas būtu tīri labs risinājums, jo viss jau ir gatavs, gandrīz nekas nav jākodē. Liekās fīčas traucē tik daudz, ka aizņem vairāk vietas uz cietā diska. "pat ja problēma slēptos tikai veidā, kā pārsūtīt vienīgi izmainītos failus", "Firefox sūta vienu pašu failu" rsync pārsūta tikai tos faila gabalus, kas ir atšķirīgi (RTFM), līdz ar to viss smuki strādā variantā, ja man uz diska ir instalācijas fails versijai 1.01 un uz servera ir instalācijas fails versijai 1.02. Algoritms, kas nosaka atšķirības starp vienu un otru failu ir efektīvs un visdrīzāk nostrādā ātrāk, nekā prasītu pilna faila pārsūtīšana caur internetu. Vienīgā rsync problēma ir tāda, ka tas slikti nostrādā ar kompresētiem failiem, jo to saturs katru rezi var būt pilnīgi atšķirīgs. Then again, vienkārši nevajag apdeitus kompresēt - ja reāli tiks pārsūtīti tikai atsevišķi gabaliņi, kuros būs veiktas izmaiņas, tad liela jēga no kompresijas nav. (Ja grib, var likt rsync serverim kompresēt pārsūtāmos datus. Ja tas prot kompresētos blokus kešot, lai nebūtu par jaunu jākompresē priekš citiem useriem, tad tas ir ok, ja kešot nemāk, tad tā ir procesora resursu izšķērdība). atzīstu, es nezināju par rsync algoritmu, bet man, par laimi, tāpat ir taisnība, ka to uztaisīt nebūtu tik vienkārši. izmantojot rdiff (nevajag pilno rsync, algoritmam pietiek ar rdiff), es pārbaudīju, ka pēdējās un pirmspēdējās versijas (1.1.13 un 1.1.14) instalācijas .exe failu delta sanāk tikai par kādu ceturtdaļu mazāka. ar, teiksim, 1.1.5 versiju tā vispār bija praktiski tik pat liela, kā pēdējais instalācijas fails. savukārt, sapakojot programmas mapes bez kompresijas (.tar failos), es ar 1 KiB blokiem ieguvu deltu, kas bija par 99,4% mazāka (kompresētā variantā tā bija par 99,9% mazāka un tikai 79 KiB liela). tas ir ļoti labs ieguvums, taču ar esošajiem instalācijas failiem to nevarētu panākt, un būtu jāuztaisa, ka tie kopā ar ieinstalēto programmu saglabātu paši sevi, un atjaunināšanas mehānismam vajadzētu prast tos atkompresēt, lai uzliktu ielāpu no deltas, un tad atkal sakompresēt, un tās deltas katrai iespējamajai instalācijai būtu jātur uz servera. pēc apraksta jau var saprast, ka tas prasītu zināmu galvas lauzīšanu, lai to īstenotu
katrā gadījumā, es piedāvāju nelielu atvainošanos, jo tu esi mazāks apakšcilvēks, kā man likās Nu jā - tāda veida argumentus arī gribēju dzirdēt:D
Deltas var uzģenerēt pēc pirmā klienta pieprasījuma, un pēc tam paglabāt kešā uz servera, lai nākošreiz, kad klients ar tādu pašu versiju prasa apdeitus, šim izsniegtu jau gatavas deltas. Gluži triviāli nav, nāktos biki piekārtot infrastruktūru, bet nav arī nekas grandiozs, nedēļas laikā viens čalis to varētu uzbliezt, vai arī sameklēt un pielāgot jau gatavu risinājumu. (rsync pilnā versija šā vai tā nederētu, jo Windows vidē, izskatās, palaižama tikai caur cygwin - tas tomēr būtu par smagu) uz Logiem rsync ir arī portēts zem GPL iekš DeltaCopy, lai gan manam kolēģim to īsti nesanāca palaist uz Vistas, bet ir
(Reply to this)
(Parent)
|
|
Powered by Sviesta Ciba |
Nepabeigtā dienasgrāmata |
|