5277 (5277) wrote,
5277
5277

Category:

Java Json + Deflater/Inflater

Не совсем новый функционал, но теперь это рабочий функционал.

Здесь стоит рассказать о вещах лежащих в основе.
Если рассмотреть тот-же радиус протокол(ну понятно такого протокола нет, есть куча rfc), то мы увидим, что раньше передаваемые данные старались сделать максимально компактными, особенно в вопросах заголовков, посмотрите в тот-же ipv4 протокол(не забываем про флаг security rfc3514, шутка про голубей, лично по мне, меркнет по сравнению с этим rfc).

Так вот, почти каждый, вчера сильнейше обкурившись и начавший программировать профессионально под веб, знает что такое JSON.

Ну а старым пердунам куда деваться? Пока опишешь, перепишешь все поля и их содержимое в статическую структуру - так и кони двинуть можно, не молоды ведь. Остается пользоваться более простыми вещами, пусть и расточительными.
Вот и я, вырвав несколько седых волос, решил не заморачиваться и использовать текстовый формат передачи данных - JSON. Но! первое что я сделал для оптимизации - вместо названий полей стал использовать численные идентификаторы в шестнадцатеричном формате, затем обернул все зиппом используя Dedlater и Inflater. В итоге получил существенную оптимизацию, для больших данных экономия достигает 80%.
Стоит ли говорить о том, что передача показаний(а это основное) сжимается плохо, где-то на 30%, однако передаваемые сжатые данные чаще всего весят меньше чем обычный http заголовок(который сейчас очень популярен).

Так что я не знаю, взяв любое современное решение вы непременно столкнетесь с протоколом основанным на веб(потому что для многих это предел) у которого только заголовочная часть весит больше чем все полезные данные в моей передаче.

А теперь напомню, что у мобильных провайдеров почти ни у кого не осталось безлимитного интернета.
Я думаю, что данное решение позволит мне сэкономить траффик и растраты на него существенно.
Чего и вам желаю.
Tags: Новый функционал
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments