加入收藏 | 设为首页 | 会员中心 | 我要投稿 平顶山站长网 (https://www.0375zz.cn/)- 分布式云、数据处理、媒体处理、图像分析、基础存储!
当前位置: 首页 > 站长资讯 > 评论 > 正文

HTTP模型可能不适合物联网技术

发布时间:2021-03-21 13:49:50 所属栏目:评论 来源:互联网
导读:成新物联网世界的分布式网络,但HTTP 1.1和JSON并不合适。 JSON存在什么问题? 当JavaScript传奇人物Douglas Crockford介绍JSON格式时,他有兴趣指定一种简化Web应用程序和基于JavaScript的客户端之间数据交互的格式。因为它是XML的轻量级替代品,所以JSON很

成新物联网世界的分布式网络,但HTTP 1.1和JSON并不合适。

JSON存在什么问题?

当JavaScript传奇人物Douglas Crockford介绍JSON格式时,他有兴趣指定一种简化Web应用程序和基于JavaScript的客户端之间数据交互的格式。因为它是XML的轻量级替代品,所以JSON很快在Web开发人员中获得了吸引力,并且后来达到了更普遍的受众。

JSON的几个特性使其成为通用数据交换的理想选择。首先,它是无模式的; 只要JSON格式正确,它就是有效的。其次,JSON支持一组最简单直接的数据类型:字符串,数字,布尔值,对象,数组和空值。第三,数据以JavaScript语法表示,这使得它既易读又易于解析。人们很难找到一种没有至少一个JSON解析器的流行编程语言。

这些功能使JSON成为一种有用的通用格式,但物联网的典型用例可能会让我们怀疑JSON是否适合构成智能设备环境的嵌入式系统。物联网设备通常需要按以下方式进行优化:

  • 保持网络流量小而快。
  • 最小化网络编码和解码的原始计算量。
  • 仅使用少量内存和存储空间。

设备可能以小于1兆字节的内存或存储运行,并且通常使用小型电池运行。出于功耗原因,它们可能一次仅在Wi-Fi网络上几秒钟,有时一天只有几次。即使是高端集线器设备也不太可能拥有超过25MB的存储空间。对于这些设备,效率是关键,特别是在网络方面。

JSON不是满足这些要求的最佳候选者。首先,尽管JSON声称具有精益,但它并不是一种节省空间的编码。所有数据都表示为ASCII字符串,通常添加了大量的空白区域。每次出现时,每个标签字段必须完整重复。必须对二进制数据进行转义,但在JSON中没有标准方法。

这导致了JSON的第二个问题。数据格式的简单性引入了实现的复杂性。JSON的简单类型很少与IoT编程中通常使用的类型相匹配。虽然像C这样的语言支持广泛的数字类型,但JSON唯一的数字类型是数字。官方JSON规范ECMA-404甚至没有定义数字字段的最大大小。这意味着JSON使用者必须进行大量检查以确定哪种基础类型与给定数字最匹配。由于两个或多个具有相同表观结构和字段名称的字段可能包含不同的“类型”数字,因此这很复杂。字段“age”在一次出现时可以是无符号正整数,而在另一种情况下可以是浮点。

JSON缺乏架构加剧了这个问题。数组可以包含任意数量的类型,并且对于如何使用对象的字段或是否一致地使用它们没有约束。开发人员仅依靠约定来确定JSON结构将包含哪些数据。最后,存在解释JSON数据结构的问题。字段基本上是无序的(除了数组)。如上所述,有效JSON可能包含违反期望的任意数据,解析器可以解决任何给定的数据结构。用于高效字段级处理的策略通常不适用于JSON。实际上,这意味着解析整个对象

(编辑:平顶山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读