hyj 发表于 2015-5-6 21:11:22

在Azure平台上开发物联网方案介绍


导读

来自微软的Kevin Miller为使用者启动物联网方案的开发提供了这些基本指导方针和模式。
1.你认为什么是物联网?
2.物联网该如何下手开发?开发需要注意哪些问题?
3.开发中应该注意哪些问题?

static/image/hrline/4.gif


如果你问物联网是什么,那么不同的人会给你不同的答案。有人说它是一种全新的、革命性的技术,也有人说它只是我们这几十年来努力成果的自然发展。实际上它处于这两种答案之间。从很早之前,我们就已经拥有物联网风格的设备了,但这些设备或者极为简单,例如恒温器;或者非常复杂,例如飞行器上的遥控自动驾驶装置。不同的地方在于,我们不需要投入像航天学工程那么大的成本,就能够交付复杂的设备了。考虑到这一点,来自微软的Kevin Miller为使用者启动物联网方案的开发提供了这些基本指导方针。

模式:大处着眼,小处着手开发物联网设备比起纯软件开发要困难得多。因此在开始一个新的项目时要紧记这个咒语,“大处着眼,小处着手”。原型的设计变得极为重要,因为你不能等到已经卖出了100万台设备之后再来决定如何发布固件更新。反之,如果你创建的架构只能够支持100台设备,那么当你准备开始配送之前必须将它完全重写。因此虽然设备的功能要从小处着手,但必须保证它的可伸缩性。对于不同的物联网设备来说,保修期的变化非常之大。虽然多数面向消费者的硬件是设计为支持今后数年,乃至十年的期限,但它们很容易被替换。而一旦你开始考虑从物理上就构建到整个结构中的设备,那么保修期可能会延长到几十年。

模式:遥感优先要预先预测哪些数据有价值是一件非常困难的事,因此要首先处理这一点。尽可能获取商业数据与诊断数据,并将它们保存在大容量的系统中。如果你使用Azure,那么就要使用到Event Hub,它能够每秒钟处理几百万条消息。当你从遥感方面入手时,安全性方面的问题会相对容易处理。虽然你仍然要考虑违背隐私与安全条例方面的问题,但相比起你将命令与控制方面的特性暴露给使用者可能招致的损害,这种方式可能面临的破坏性是非常有限的。举例来说,一个制造业公司宁可让它每小时能够生产的配件数量泄露出去,也不愿意将生产线上的机器人的控制权交给他人。当你的遥感与安全方案证实了其可行性之后,你就能够满怀信心地添加命令与控制方式的特性了。

产品专注:流分析流分析(Stream Analytics)是微软所推荐的一种工具,可用于大量基于消息的数据。它结合使用了JavaScript和一种类似于SQL的查询语法来处理来自于Event Hub的数据。流分析中的SQL功能提供了在一般的数据库中不具备的功能,其中之一是能够根据某个滑动窗口对数据进行分组。滑动窗口之间可以是非重叠的,这与你使用SQL Server所创建的功能非常类似。作为一种替代方案,你可以使用一个持续的滑动窗口。比方说,如果你有一个15秒的滑动窗口,那么你就可以看到任意15秒期间的内容,而不是只能看到第0、15、30和第45秒的数据。流分析工具包含了一个REST风格的接口,允许你与任何应用或数据源进行整合。在这个示例中,他们演示了如何使用遥感数据与滑动窗口找到那些在15秒的窗口期间内出现多次故障的设备。如果对此进一步扩展的话,可以让某种监控工具使用该REST端点定期地向流分析工具进行轮询,以找到故障设备,并向相关人士发出警告。

模式:不要干扰快速通道要千万注意避免在高容量组件之间进行放入任何东西。举例来说,不要尝试改动Event Hub与Stream Insight之间的数据。如果需要对数据进行清理,就在它进入“粗管道”之间完成,或是在数据从另一端返回之后再进行。

模式:深度防御安全是一种共同承担的责任。系统中的每个部分,从设备到云端服务器都需要保证其安全性。实现这一点需要每一方的参与:你不可能像购买其它服务那样购买安全性。如果无法做到涵盖每一方面的安全性就会造成极大的麻烦,新闻中将出现被攻破的汽车与医学设备的相关报道。一种经常被忽略的场景是设备的回收。如果你的电话配备了某种智能无钥匙启动系统,然后你又卖掉了这个电话,那么它还能够解开你家里或汽车的锁吗?也许这个电话甚至能够解开你的银行帐户呢?因此使用多个安全层是非常重要的。除了常见的实践之外,你还要注意违反模式的地方,例如某个设备出现在错误的地方,或是发送的数据与平时的情况不一致。
页: [1]
查看完整版本: 在Azure平台上开发物联网方案介绍