Category: компьютеры

JSON зло

Потоковый парсинг нескольких десятков килобайт JSON на мини компьютере отработал за несколько десятков секунд в режиме процессора OnDemand.

Недавно я задавался вопросом, почему на старом смартфоне(с андроидом 4.4) происходят постоянные сетевые сбои - дело просто в таймауте, который у меня выставлен на 5 секунд.
Просто один только парсинг json'а сжирает гораздо больше времени...

У меня были варианты, много, среди них - оставить как есть, или использовать что-то другое.

Я имею возможность, в небольшой степени, менять функционал проекта, пока проект не запущен в производство, чем и пользуюсь.

В итоге я создал свой протокол, который в текстовом виде выглядит как JSON, но передача информации осуществляется чисто в бинарном виде, что значительно упрощает его парсинг.

Новый функционал, сценарии.

Сегодня я ввел возможность запускать по сценарию исполняемые файлы или просто выполнять команды операционной системы внутри процесса контроллера.
Фича достаточно просто реализуется, но тем не менее очень полезна.

К примеру:
Я могу создать несколько сценариев, причиной запуска которых будет недоступность контроллера(со стороны сервера).
первый, срабатывает через 3 минуты, его задача проинформировать
второй, срабатывает через 15 минут, его задача перезапустить сеть(как раз на базе нового функционала)
третий, срабатывает через 20 минут, он полностью перезагрузит компьютер с контроллером.

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