《智能家居产品 从设计到运营》——2.4 智能设备的数据同步

简介:

本节书摘来异步社区《智能家居产品 从设计到运营》一书中的第2章,第2.4节,作者:邢袖迪,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.4 智能设备的数据同步

在信息时代,人们不再受空间的限制,可以自由地进行信息的交换和共享,这便造成了数据同步的问题。对于基于网络的服务来说,数据同步始终是一项重要的工作,而且在物联网时代,数据同步将面临更大的挑战。

在人们熟悉的互联网服务和移动互联网服务中,离不开数据同步的问题。例如,在线购票时,如何确保剩余票数的实时展示,如何应对交易流程中出现的异常。再如,和好友聊天时,“对方正在输入”这种实时的提示是如何实现的。当然,随着网络技术的发展,这些问题都有了很好的解决方案。

01aa8204e5b3b287490c5dc21cb63676d8ae8be6

但在物联网时代,随着连网能力的普及,设备之间的数据同步面临着更加复杂的环境。不像智能手机有着一套较为完整的体系,智能产品从形态到技术都有较大的差异,更有可能使用着不同的网络通信协议。此外,还需要考虑到某些设备的低功耗特性。下面对数据同步的实例和协议的介绍,将有助于理解同步问题的难点。

a.经典实例:两军问题
提到数据同步的问题,两军问题(Two Generals' Problem)是计算机网络中一个经典的例子。如图2-9所示,红方A1和A2两个军团分别驻扎在两个山头上,而山谷之间是蓝方的B军团。如果A1或者A2单独进攻B军团,将会失败,但如果同时进攻,就会胜利。所以红方两个军团对进攻时间的掌控,就变得至关
重要。

80be4e6fd26e31fa059de974aca29de18a807714

为了达成协议,A1派出了通信兵,且在通过山谷的时候没有被B军抓获,成功地把消息送给了A2:明早9点向B军发起进攻。虽然此时A2知道了进攻的消息,但此时A1不确定这个消息已经顺利地通知到了A2,所以通信兵需要再赶回A1。于是,他又一次成功地通过了山谷,把通知到A2的消息告诉了A1。但此时,A2并不确定通信兵已经顺利地回到了A1。于是,A1和A2两军陷入了不断确认的死循环中,无法做到百分之百的确定。这个故事主要说明了在一个不可靠的网络中进行通信的缺点,也证明了世界上并不存在绝对可靠的通信
协议。

b.三次握手协议
就像上面例子中的A1和A2的通信,设备间在传输数据前,需要通信双方先达成一个协议,也就是握手技术。其中,最为著名的是三次握手协议(Three times handshake),如图2-10所示,设备A和设备B通过三次握手,达成了传输数据的协议。

第一次握手
建立连接时,设备A向设备B发送SYN包(Synchronize Sequence Numbers,即同步序列编号),其中seq=x,并进入SYN_SENT状态,等待设备B确认。

第二次握手
设备B收到SYN包,给出确认ACK=x+1;并发送自己的SYN包(seq=y),同时进入SYN_RECV状态。

4a880b6c693221618c0675640e5b8b3510613267

第三次握手
设备A收到SYN包,给出确认ACK=y+1;然后两个设备都进入ESTABLISHED状态,表示连接成功。

完成三次握手后,设备A和设备B便成功建立了连接,并开始传输数据。当然这也不能做到理论上的绝对可靠,但却是一种普遍使用的协议。

对于智能家居来讲,数据同步问题体现在很多方面,如设备状态的查看、产品之间的联动、手机对设备的控制等。而同时需要考虑的因素有:产品的功耗问题、网络通信协议的传输速率、数据的准确率等。通常,需要在多种因素中做出取舍,以保证产品整体体验上的最优。例如,如果想更准确地知道某设备的状态,则需要与其进行更频繁的通信,但这也将影响到该设备的功耗,特别是不通电的无线设备。这时,便需要在准确度和功耗之间做出权衡。

相关文章
|
4月前
|
安全 网络安全 数据安全/隐私保护
智能家居安全:如何保护你的智能设备免受黑客攻击
随着科技的发展,智能家居设备已经走进了千家万户。然而,这些设备的安全性问题也日益凸显。本文将介绍智能家居设备的安全隐患,并提供一些实用的防护措施,帮助你保护自己的智能设备免受黑客攻击。让我们一起来学习如何打造一个安全的智能家居环境吧!
|
5月前
|
安全 网络安全 数据安全/隐私保护
智能家居安全:如何保护你的智能设备免受黑客攻击
在这个数字时代,智能家居设备正变得越来越受欢迎。然而,随着技术的发展,黑客攻击的风险也在增加。本文将探讨如何保护你的智能家居设备免受黑客攻击,包括密码管理、网络设置、软件更新等方面的建议。让我们一起学习如何在这个智能世界中保持安全。
|
4月前
|
安全 物联网 网络安全
智能家居安全:保护您的智能设备免受网络威胁##
在现代科技迅速发展的时代,智能家居设备已经深入人们的生活。然而,随着便利性增加的同时,这些设备也面临着越来越多的网络安全威胁。本文将探讨如何保护您的智能家居设备免受黑客攻击,并介绍几种常见的安全措施和最佳实践。通过采取适当的预防措施,您可以确保家庭网络的安全性,保护个人隐私和数据不受侵害。 ##
|
5月前
|
安全 网络安全 数据安全/隐私保护
智能家居安全:如何保护你的智能设备免受黑客攻击
随着科技的飞速发展,智能家居系统已经成为现代生活的一部分。然而,这些便捷的设备也带来了安全隐患。本文将探讨智能家居系统中存在的安全风险,并提出有效的防护措施,帮助用户确保其智能设备的网络安全。
|
5月前
|
监控 安全 网络安全
智能家居安全:如何保护你的智能设备免受黑客攻击
在这个数字化飞速发展的时代,智能家居系统为我们的生活带来了便利与舒适。然而,随着技术的进步,网络安全威胁也日益增加。本文将探讨智能家居系统中存在的安全风险,并提供实用的防护措施,帮助你的智能设备抵御黑客攻击,确保个人隐私和数据安全。
60 4
|
5月前
|
物联网 C# 智能硬件
智能家居新篇章:WPF与物联网的智慧碰撞——通过MQTT协议连接与控制智能设备,打造现代科技生活的完美体验
【8月更文挑战第31天】物联网(IoT)技术的发展使智能家居设备成为现代家庭的一部分。通过物联网,家用电器和传感器可以互联互通,实现远程控制和状态监测等功能。本文将探讨如何在Windows Presentation Foundation(WPF)应用中集成物联网技术,通过具体示例代码展示其实现过程。文章首先介绍了MQTT协议及其在智能家居中的应用,并详细描述了使用Wi-Fi连接方式的原因。随后,通过安装Paho MQTT客户端库并创建MQTT客户端实例,演示了如何编写一个简单的WPF应用程序来控制智能灯泡。
166 0
|
5月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之两个数据表是否可以同时进行双向的数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之Oracle数据库是集群部署的,怎么进行数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
Oracle 关系型数据库 分布式数据库
实时计算 Flink版产品使用问题之怎么实现跨多个DRDS的数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
监控 安全 网络安全
智能家居安全:如何保护你的智能设备免受黑客攻击
【7月更文挑战第30天】随着物联网技术的飞速发展,智能家居已经走进了千家万户。然而,智能化带来的便利性同时也伴随着安全隐患。本文将深入探讨智能家居系统的潜在安全风险,并提供一系列实用的防护措施,帮助用户确保其智能设备的网络安全,享受科技带来的便捷同时守护个人隐私与数据安全。
65 3