Google добавя Brotli Compression, за да доставя по-бързи OTA Android актуализации

Google добавя поддръжка за алгоритъма за компресия Brotli, за да достави по-бързи OTA актуализации на Android. Google вече използва Brotli за изтегляне на приложения от Play Store

Размерът на OTA актуализацията не е нещо, за което повечето хора наистина мислят, тъй като актуализациите като цяло автоматично изтегляне във фонов режим през WiFi, но всъщност е голяма работа на сървъра край. Спестяването дори на няколко мегабайта данни може да направи огромна разлика, тъй като печалбите се умножават по потенциално стотици хиляди потребители. За тази цел Google беше работещ да се донеси неговото Бротли алгоритъм за компресиране към Android за по-бързи OTA актуализации.

Какво представлява алгоритъмът за компресия Brotli?

Brotli е алгоритъм за компресиране, разработен от a няколко служители на Google което значително подобрява съотношението на компресия в сравнение с други алгоритми като GZIP, като същевременно демонстрира впечатляваща скорост на декомпресия. Недостатъкът е, че компресирането на файлове с алгоритъма Brotli е доста бавно, така че обикновено се избягва при компресиране на динамично съдържание.

Бенчмаркове за компресия. източник: Йерун Оомс

От друга страна, всяко статично съдържание като напр уеб страници са подходящи за компресиране чрез алгоритъма Brotli. Това включва файлове с приложения, изтеглени от Google Play Store. Тъй като има доста повече 2 милиарда устройства с Android там, премахването дори на малки количества данни при обслужване на файл с корекция от Play Store може да доведе до огромни печалби за Google. Алгоритъмът Brotli, когато се използва за Изтегляния на приложения от Play Store, спестява потребителите 1,5 петабайта (1,5 милиона гигабайта) данни всеки ден.

Алгоритъм за компресиране на Brotli срещу GZIP за изтегляния от Play Store. Кредити: Студентски блог на Google

Как Brotli ще подобри OTA актуализациите?

Сега OTA актуализациите не се предоставят на потребителите толкова често, колкото актуализацията на приложението Play Store, но са склонни да бъдат много по-големи в сравнение с тях. Например, пълен OTA пакет преди компресиране може да бъде с размер 2 GB. Колко точно данни могат да бъдат запазени от един OTA пакет?

Разработчик на LineageOS за Motorola Moto G4 съобщава, че са успели спестете 50 мегабайта върху неофициална конструкция. Имайки предвид факта, че средната компилация на Moto G4 LineageOS е около 350 мегабайта, това е доста драматично подобрение. Ако дори 10 MB данни се записват на всеки OTA, тогава общото намаляване на честотната лента може да бъде значително, тъй като Google трябва да обслужва пакета за актуализация на стотици хиляди потребители.

Освен това, тъй като Brotli предлага и подобрени скорости на декомпресия, това също означава, че OTA актуализациите могат да се прилагат по-бързо. OTA актуализациите се изпращат до всяко устройство като архив, така че преди корекциите да могат да бъдат направени чрез bsdiff, архивът трябва да бъде декомпресиран. Тъй като декомпресията на Brotli е доста бърза, това означава, че декомпресирането на архива също ще бъде бързо, което води до по-бързо коригиране на системни файлове.

Въпреки това потребителите на устройства с A/B схеми за разделяне, като Google Pixel/Pixel 2, Essential Phone, Razer Phone, Moto Z2 Force, и Xiaomi Mi A1 вероятно няма да забележи това конкретно подобрение, тъй като актуализациите се прилагат безпроблемно върху неактивния дял във фонов режим. И все пак, дори за тези устройства, по-малкият OTA пакет за актуализация поради компресията на Brotli ще доведе до намалена честотна лента за потребителя.


Благодарение на XDA Retired Forum Moderator/Recognized Developer cybojenix за върха!