Следует ли перемещать большие двоичные объекты данных в формате JSON или в отдельном двоичном соединении? - PullRequest
2 голосов
/ 08 апреля 2010

ВОПРОС:

Лучше ли для простоты отправлять большие двоичные объекты данных в JSON или отправлять их в виде двоичных данных через отдельное соединение?

Если первое, можете ли вы дать советы о том, как оптимизировать JSON для минимизации размера?

Если последнее, стоит ли логически соединять данные JSON с двоичными данными, используя идентификатор, который отображается в обоих, например, как «данные»: «<уникальный идентификатор>» в JSON и с первыми байтами большого двоичного объекта данных <уникальный идентификатор>?

КОНТЕКСТ:

Моему приложению для iPhone необходимо получать данные JSON по сети 3G. Это означает, что мне нужно серьезно задуматься об эффективности передачи данных, а также о загрузке процессора.

Большинство передач данных будут относительно небольшими пакетами текстовых данных, для которых JSON является естественным форматом и для которых нет смысла сильно беспокоиться об эффективности.

Тем не менее, некоторые из наиболее важных переносов будут большие двоичные данные - определенно, по крайней мере, 100 килобайт данных, и, возможно, ближе к 1 мегабайту, поскольку клиенты накапливают более длинную историю с продуктом. (Примечание. Я буду кэшировать все, что могу, на самом iPhone, но данные по-прежнему необходимо передавать хотя бы один раз.) Это НЕ потоковая передача данных.

Я, вероятно, буду использовать сторонний JSON SDK - тот, который я использую во время разработки, здесь.

Спасибо

1 Ответ

1 голос
/ 08 апреля 2010

Вы можете попробовать сжать JSON (возможно, gz) перед отправкой, а затем распаковать его на стороне клиента.

Но я не уверен, как это влияет на производительность iPhone.

...