Google dodaja podporo za algoritem stiskanja Brotli za zagotavljanje hitrejših posodobitev Android OTA. Google že uporablja Brotli za prenose aplikacij Trgovine Play
Velikost posodobitve OTA ni nekaj, o čemer večina ljudi res razmišlja, saj so posodobitve na splošno samodejno prenese v ozadju prek WiFi, vendar je to dejansko velik zalogaj na strežniku konec. Če prihranite celo nekaj megabajtov podatkov, lahko naredite veliko razliko, saj se dobiček pomnoži s potencialno stotisoči uporabnikov. V ta namen je bil Google delajo do prinesi njegov Brotli algoritem stiskanja v Android za hitrejše posodobitve OTA.
Kaj je algoritem stiskanja Brotli?
Brotli je algoritem stiskanja, ki ga je razvil a nekaj Googlovih zaposlenih ki bistveno izboljša kompresijsko razmerje v primerjavi z drugimi algoritmi, kot je GZIP, hkrati pa prikazuje impresivno hitrost dekompresije. Slaba stran je, da je stiskanje datotek z algoritmom Brotli precej počasno, zato se ga pri stiskanju dinamične vsebine na splošno izogibamo.
Primerjalna merila stiskanja. Vir: Jeroen Ooms
Po drugi strani pa vsaka statična vsebina, kot je npr spletne strani so primerni za stiskanje preko algoritma Brotli. To vključuje datoteke aplikacij, prenesene iz trgovine Google Play. Ker jih je precej čez 2 milijardi naprav Android tam zunaj, lahko zmanjšanje celo majhnih količin podatkov pri streženju datoteke s popravki iz Trgovine Play povzroči ogromne dobičke za Google. Algoritem Brotli, če se uporablja za Prenosi aplikacij Trgovina Play, prihrani uporabnike 1,5 petabajta (1,5 milijona gigabajtov) podatkov vsak dan.
Kako bo Brotli izboljšal posodobitve OTA?
Zdaj posodobitve OTA uporabnikom niso na voljo tako pogosto kot posodobitve aplikacije Trgovina Play, vendar so v primerjavi s tem veliko večje. Na primer, celoten paket OTA pred stiskanjem je lahko velik 2 GB. Koliko podatkov lahko prihranite iz paketa OTA?
Razvijalec LineageOS za Motorola Moto G4 poroča, da jim je uspelo prihranite 50 megabajtov na neuradni zgradbi. Glede na dejstvo, da je povprečna zgradba Moto G4 LineageOS približno 350 megabajtov, to je precej dramatično izboljšanje. Če je na vsakem OTA shranjenih celo 10 MB podatkov, je lahko splošno zmanjšanje pasovne širine občutno, saj mora Google posodobitveni paket ponuditi na stotine tisoč uporabnikom.
Nadalje, ker Brotli prinaša tudi izboljšane hitrosti dekompresije, to tudi pomeni, da je mogoče posodobitve OTA uporabiti hitreje. Posodobitve OTA so poslane vsaki napravi kot arhiv, tako da je pred popravki mogoče narediti prek bsdiff, je treba arhiv razpakirati. Ker je dekompresija Brotli precej hitra, to pomeni, da bo tudi dekompresija arhiva hitra, kar bo povzročilo hitrejše popravilo sistemskih datotek.
Vendar pa uporabniki na napravah s particijskimi shemami A/B, kot so Google Pixel/Pixel 2, Essential Phone, Razer Phone, Moto Z2 Force, in Xiaomi Mi A1 verjetno ne bo opazil te posebne izboljšave, saj se posodobitve neopazno uporabljajo na neaktivni particiji v ozadju. Kljub temu bo celo pri teh napravah manjši paket posodobitev OTA zaradi kompresije Brotli zmanjšal pasovno širino za uporabnika.
Hvala upokojenemu moderatorju/priznanemu razvijalcu foruma XDA cybojenix za napitnino!