本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】JavaScript——下一代物联网全栈开发(2)

时间:2017-04-30 15:31来源:118论坛 作者:j2开奖直播 点击:
Esprunio(https://github.com/espruino/Espruino)是为微控制开发的嵌入式Java解释引擎,提供了最小化的配置,可以在内存低至8KB的微控制器上执行Java语言。 Cyclon(

  Esprunio(https://github.com/espruino/Espruino)是为微控制开发的嵌入式Java解释引擎,提供了最小化的配置,可以在内存低至8KB的微控制器上执行Java语言。

  Cyclon(https://github.com/hybridgroup/cylon)是使用Java来做机器人控制的项目,支持市面上主要的开发板,通过提供各种外设的驱动,实现了不需要写一句C语言就能开发和组装一个机器人。

  物联网Java大数据处理

  现在大数据技术方兴未艾,在这些技术中,最基本的思想是MapReduce,这一思想将不同运算拆解为Map与Reduce,然后将这些Map与Reduce任务在集群当中最大限度地并行执行。实现MapReduce模式编程最重要的一点就是支持函数式编程或者又称为Lambda编程,所有的Map与Reduce操作都接受函数式编程作为参数。大数据的成功推动了函数式编程的复兴,由此多数现代编程语言包括C++与Java的新版本均支持函数式编程。Java在它出生的那一天就支持函数式编程,其回调函数就是一种函数式编程模式。自然而然,支持Map与Reduce也不是什么困难的事情,因此使用Java做物联网大数据分析与处理非常容易而高效。JSON数据格式因为格式简单、处理方便的特点而受到不少青睐,被大量应用于HTTP网络传输,现有互联网上的基础设施与云服务也都采用JSON格式。以这些设施作为数据源,就要使用Java来处理大数据,这是因为JSON作为Java代码片段,本质上来说一切基于RESTful API设计的接口几乎都是对Java友好的,当然为了效率,有时会使用JSON的二进制形式BSON。

  由于物联网的对称性,物理网的节点不仅可以是数据的收集者,同样可以是数据的发起者,使用Java来处理物联网大数据,那么每个物联网数据节点也能够发起大数据的处理,并利用后台大数据环境做出决策并响应环境的变化。这样利用Java将物联网前端和后端数据处理直接无缝链接起来,实现了大数据的实时处理与响应的Lambda构架,并同时完成了批处理与实时处理构架的统一。在未来,可以用Java设计基于Node.js的处理框架,把物理网节点当作大数据节点来统一物联网中数据的处理与传输。

  机器学习作为现在最热门的大数据处理手段不得不提。由于Java在浏览器端的支配地位,使用Java做机器学习的尝试也非常多,有了Java的机器学习库,就可以非常简单地在浏览器上运行一些机器学习的小程序,同样也可以将这些机器学习库运行在Node.js上,使得物联网节点也具有一定的机器学习能力及数据处理能力。当然使用Java直接控制深度机器学习集群也是一个不错的选择,Java在数据可视化方面的成功,帮助了它能够很方便地可视化机器学习的过程与结果,方便以远程方式来控制机器学习集群。

  Java物联网大数据开源项目

  Eclairjs(https://github.com/EclairJS/eclairjs-node)是基于Node.js的Spark大数据处理平台前端,通过Eclairjs,可以使用Java来操作基于内存处理的大数据分析平台Spark,通过Spark内置的调度器,实现了在整个集群上调度资源,以最大化并行度来执行Java的算法。目前,Spark是最主流和发展最快的大数据处理平台。

  skale(https://github.com/skale-me/skale-engine)是一个完全使用Java开发,采用Node.js作为执行环境的分布式数据处理系统,具有比Spark更快的性能。

  MQTT是为物联网设计的轻量级通讯协议,协议基于TCP/IP,适用于低带宽不可靠环境。协议的开销非常小,支持发布订阅模式,是种非常高效的通信协议。MQTT.js(https://github.com/mqttjs/MQTT.js)是Node.js的MQTT通信模块,实现了Node.js收发MQTT数据。

  Kafka是大数据分布式消息总线,提供了对海量消息的持久化能力,通过将接收到的数据直接持久化到硬盘,提供了稳定的数据吞吐量以及高可用性。Kafka Rest(https://github.com/confluentinc/kafka-rest)模块为Kafka消息总线提供了Restful API 的支持,无论是使用浏览器还是Node.js都可以方便使用Java来收发消息。

  convnetjs(https://github.com/karpathy/convnetjs)是完全用Java写成的神经网络机器学习库,可以运行在浏览器中或Node.js中。convnetjs提供了许多有趣的例子,在浏览器上实现了对神经网络学习过程的可视动画呈现与交互模式,对理解神经网络机器学习有非常好的帮助。

  作为深度神经网络学习方向最重要也是最热门的项目,Google的TensorFlow是深度学习开源的里程碑。TensorFlow的开源使得使用深度学习来做数据处理已经不再是一件高难度的事情。Node-tensorflow(https://github.com/node-tensorflow/node-tensorflow)是一个NodeJS API,使用了Google的开源机器学习库TensorFlow。

  物联网Java数据展示

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容