基于发布-订阅消息处理机制的家居设备联动方法及系统与流程

文档序号:18226562发布日期:2019-07-19 23:30阅读:196来源:国知局
基于发布-订阅消息处理机制的家居设备联动方法及系统与流程

本发明涉及智能家居技术领域,尤其涉及基于发布-订阅消息处理机制的家居设备联动方法及系统。



背景技术:

智能家居是在互联网影响之下物联化的体现。智能家居通过物联网技术将家中的各种联网设备进行智能控制,而最新的智能家居是可以根据预先设定的场景使得多个相关的联网设备按特点流程执行对应的动作,即实现联网设备间的联动控制。

而现有的联动控制采用请求/回应消息处理机制,所有的数据和控制逻辑集中在云服务器处理,某一个联网设备发出请求后,就一定得等到云服务器执行并回应后,该联网设备才能执行其它动作,网络延时厉害;同理,云服务器发出请求后,对应的联网设备得尽快执行完成请求指令,并回应结果给云服务器,连接了数万亿联网设备的云服务器负荷非常重。而且,家中所有的联网设备均连接到路由器,网络信道拥挤,一些数据量小的联网设备也联网到路由器,占用了无线信道,导致一些数据量大的联网设备反而得不到无线信道。集中于云服务器处理数据,强依赖于家庭网络与云服务器通信的流畅性,一旦与云服务器的网络中断,家庭联网设备无法实现联动。而有些家庭联网设备处理能力强,比如支持语音识别、图像处理、摄像头的设备,只在极少的时间内处理专有的功能,大部分时候设备处于空闲状态,造成资源浪费。



技术实现要素:

本发明的一个目的在于提出一种基于发布-订阅消息处理机制的家居设备联动方法,降低联网设备之间的耦合度,家庭无外网或断网时,也能保证设备间的联动。

本发明的另一个目的在于提出一种基于发布-订阅消息处理机制的家居设备联动系统,降低联网设备之间的耦合度,家庭无外网或断网时,也能保证设备间的联动。

为达此目的,本发明采用以下技术方案:

一种基于发布-订阅消息处理机制的家居设备联动方法,应用于对智能家居的联网设备进行控制,包括用户终端、多个联网设备、家庭路由器和云服务器,所述用户终端和多个联网设备之间采用发布-订阅消息处理机制进行通信,所述用户终端和云服务器之间采用发布-订阅消息处理机制进行通信,所述家庭路由器和云服务器通过互联网进行通信;包括以下步骤:

网状网通信建立步骤,多个联网设备划分为高性能设备和低性能设备两类,并进行分组:一个所述高性能设备和多个低性能设备绑定成一组,所有的高性能设备之间建立信道,所有的高性能设备均与家庭路由器采用发布-订阅消息处理机制进行通信,在同一个高性能设备下的所有低性能设备之间建立信道,从而联网设备间构成网状网通信;

联动步骤,用户终端发布联动消息,相关的所述高性能设备根据接收的联动消息产生并下发相关的联动控制命令至相关的低性能设备,相关的所述低性能设备执行对应的联动动作,若联动相关的联网设备包含高性能设备,则待联动的高性能设备根据联动控制命令执行对应的联动动作;

当家庭路由器和云服务器通信异常或断网时,用户终端直接向家庭路由器发布联动消息,由家庭路由器下发联动消息至相关的所述高性能设备。

优选地,还包括数据预保存步骤:

当家庭路由器和云服务器通信正常时,联网设备间联动产生的数据直接同步至云服务器;

当家庭路由器和云服务器通信异常或断网时,联网设备间联动产生的数据保存至与其绑定的高性能设备的数据库中,并且高性能设备之间相互备份彼此的数据库数据;

当家庭路由器和云服务器通信恢复正常时,家庭路由器将所有的高性能设备的数据库数据同步至云服务器。

优选地,还包括故障转移步骤:

对所有的高性能设备建立优先级;

当某个高性能设备出现故障时,家庭路由器根据优先级,将故障的高性能设备绑定的所有低性能设备转移至正常运行且优先级最高的高性能设备上进行绑定。

优选地,在所述高性能设备上部署分布式的mqtt服务器,所述分布式的mqtt服务器为emq服务器或vernemq服务器。

优选地,所述用户终端和云服务器之间、所述家庭路由器和高性能设备之间和所述用户终端和高性能设备之间均采用mqtt通信协议;

所述联网设备间的网状网通信采用blemesh网状通信拓扑或zigbee网状通信拓扑。

优选地,一种基于发布-订阅消息处理机制的家居设备联动系统,应用于对智能家居的联网设备进行控制,包括用户终端、多个联网设备、家庭路由器和云服务器,所述用户终端和多个联网设备之间采用发布-订阅消息处理机制进行通信,所述用户终端和云服务器之间采用发布-订阅消息处理机制进行通信,所述家庭路由器和云服务器通过互联网进行通信;

多个联网设备划分为高性能设备和低性能设备两类,并进行分组:一个所述高性能设备和多个低性能设备绑定成一组,所有的高性能设备之间建立信道,所有的高性能设备均与家庭路由器采用发布-订阅消息处理机制进行通信,在同一个高性能设备下的所有低性能设备之间建立信道,从而联网设备间构成网状网通信;

所述用户终端用于发布联动消息;所述高性能设备用于根据接收的联动消息产生并下发相关的联动控制命令至相关的低性能设备,和若联动相关的联网设备包含高性能设备则根据联动控制命令执行对应的联动动作;所述低性能设备用于执行对应的联动动作;

当家庭路由器和云服务器通信异常或断网时,用户终端直接向家庭路由器发布联动消息,由家庭路由器下发联动消息至相关的所述高性能设备。

优选地,所述高性能设备设有数据预保存模块,所述数据预保存模块用于:

当家庭路由器和云服务器通信正常时,将联网设备间联动产生的数据直接同步至云服务器;

和当家庭路由器和云服务器通信异常或断网时,将联网设备间联动产生的数据保存至自身的数据库中,并且备份其他高性能设备的数据库数据;

家庭路由器用于当家庭路由器和云服务器通信恢复正常时,将所有的高性能设备的数据库数据同步至云服务器。

优选地,所述家庭路由器设有故障转移模块,所述故障转移模块用于:

对所有的高性能设备建立优先级;

和当某个高性能设备出现故障时,根据优先级,将故障的高性能设备绑定的所有低性能设备转移至正常运行且优先级最高的高性能设备上进行绑定。

优选地,所述高性能设备部署有分布式的mqtt服务器,所述分布式的mqtt服务器为emq服务器或vernemq服务器。

优选地,所述用户终端和云服务器之间、所述家庭路由器和高性能设备之间和所述用户终端和高性能设备之间均采用mqtt通信协议;

所述联网设备间的网状网通信采用blemesh网状通信拓扑或zigbee网状通信拓扑。

所述基于发布-订阅消息处理机制的家居设备联动方法,用户终端和多个联网设备之间采用发布-订阅消息处理机制进行通信,发布者只管发布消息,订阅者只管相应订阅信息的到来,将发布者和订阅者在时间及空间上隔离,让发布者和订阅者有更多时间处理其它信息,双方负荷大大减少;例如当用户终端发布了联动消息后,用户终端无需等待联动情况的反馈,而是去处理其它信息;家庭路由器将联动消息下发时,高性能设备也只是接收自身订阅的联动消息,若该联动消息不是自身订阅的是不会接收,从而降低联网设备之间的耦合度。

附图说明

附图对本发明做进一步说明,但附图中的内容不构成对本发明的任何限制。

图1是本发明其中一个实施例的基于发布-订阅消息处理机制的家居设备联动拓扑结构示意图。

其中:用户终端1;家庭路由器2;云服务器3;高性能设备4;低性能设备5。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

实施例一

本实施例的基于发布-订阅消息处理机制的家居设备联动方法,应用于对智能家居的联网设备进行控制,如图1所示,包括用户终端1、多个联网设备、家庭路由器2和云服务器3,所述用户终端1和多个联网设备之间采用发布-订阅消息处理机制进行通信,所述用户终端1和云服务器3之间采用发布-订阅消息处理机制进行通信,所述家庭路由器2和云服务器3通过互联网进行通信;包括以下步骤:

网状网通信建立步骤,多个联网设备划分为高性能设备4和低性能设备5两类,并进行分组:一个所述高性能设备4和多个低性能设备5绑定成一组,所有的高性能设备4之间建立信道,所有的高性能设备4均与家庭路由器2采用发布-订阅消息处理机制进行通信,在同一个高性能设备4下的所有低性能设备5之间建立信道,从而联网设备间构成网状网通信;

联动步骤,用户终端1发布联动消息,相关的所述高性能设备4根据接收的联动消息产生并下发相关的联动控制命令至相关的低性能设备5,相关的所述低性能设备5执行对应的联动动作,若联动相关的联网设备包含高性能设备4,则待联动的高性能设备4根据联动控制命令执行对应的联动动作;

当家庭路由器2和云服务器3通信异常或断网时,用户终端1直接向家庭路由器2发布联动消息,由家庭路由器2下发联动消息至相关的所述高性能设备4。

所述基于发布-订阅消息处理机制的家居设备联动方法,用户终端1和多个联网设备之间采用发布-订阅消息处理机制进行通信,发布者只管发布消息,订阅者只管相应订阅信息的到来,将发布者和订阅者在时间及空间上隔离,让发布者和订阅者有更多时间处理其它信息,双方负荷大大减少;例如当用户终端1发布了联动消息后,用户终端1无需等待联动情况的反馈,而是去处理其它信息;家庭路由器2将联动消息下发时,高性能设备4也只是接收自身订阅的联动消息,若该联动消息不是自身订阅的是不会接收,从而降低联网设备之间的耦合度。

联网设备间构成网状网通信,只有高性能设备4和家庭路由器2通信连接,减少了直接连接路由器的设备数量,减轻了网络信道的拥挤;并且采用分布式处理,由相关的所述高性能设备4根据接收的联动消息产生并下发相关的联动控制命令至相关的低性能设备5,而非集中于云服务器3或家庭路由器2来分析处理数据和控制联网设备。这样的分布式处理,当家庭路由器2和云服务器3通信异常或断网时,仍可通过家庭内部的网状网通信来实现联网设备间的联动。例如,用户终端1发布需要低性能设备a联动低性能设备b的联动消息时,与低性能设备a绑定的高性能设备a接收该联动消息并下发对应的联动控制命令至低性能设备a,与低性能设备b绑定的高性能设备b也接收该联动消息并下发对应的联动控制命令至低性能设备b,低性能设备a和低性能设备b无需经过云服务器3即可实现对应的联动动作。所述基于发布-订阅消息处理机制的家居设备联动方法充分利用了高性能设备4的强大的处理性能,减轻网络臃肿,同时能够很好地解决设备间的互联互通及联动功能;家庭无外网或断网时,也能保证设备间的联动。

所述用户终端1为手机、应用app、平板电脑、智能手表等。所述高性能设备4为除了完成其自身专用的语音、图像处理、摄像头、音频输出等功能外,设备本身性能较高,还有大量冗余性能未发挥的设备,如电视、冰箱、空调等大型家用电器。所述低性能设备5为功能较单一或冗余性能少的设备,如电灯、电水壶、智能门锁等小型家用电器。

优选地,还包括数据预保存步骤:

当家庭路由器2和云服务器3通信正常时,联网设备间联动产生的数据直接同步至云服务器3;

当家庭路由器2和云服务器3通信异常或断网时,联网设备间联动产生的数据保存至与其绑定的高性能设备4的数据库中,并且高性能设备4之间相互备份彼此的数据库数据;

当家庭路由器2和云服务器3通信恢复正常时,家庭路由器2将所有的高性能设备4的数据库数据同步至云服务器3。

当家庭路由器2和云服务器3通信正常时,联网设备间联动产生的数据依次经过高性能设备4和家庭路由器2同步至云服务器3,云服务器3将联动产生的数据发布至对应的用户终端1,用户终端1接收自身订阅的联动产生的数据。

高性能设备4的数据库还用于存储与其绑定的联网设备间联动产生的数据,从而避免断网时联网设备间联动产生的数据无法保存的问题。并且,高性能设备4之间相互备份彼此的数据库数据,有效避免数据丢失或缺失的情况;当网络恢复正常时,高性能设备4的数据库数据同步至云服务器3,云服务器3从中查找出联网设备间联动产生的数据,从而大大地提高联动可靠性和稳定性。

优选地,还包括故障转移步骤:

对所有的高性能设备4建立优先级;当某个高性能设备4出现故障时,家庭路由器2根据优先级,将故障的高性能设备4绑定的所有低性能设备5转移至正常运行且优先级最高的高性能设备4上进行绑定。

当某个高性能设备4出现故障时,会影响到联动的实现,因此需要将其隔离,并为与其绑定的低性能设备5寻找新的高性能设备4。所以对所有的高性能设备4建立优先级,通过优先级让家庭路由器2寻找到最优的高性能设备4进行绑定,优先级可以高性能设备4的处理能力强弱来决定,以避免因绑定的低性能设备5大大增多而影响联动的实现或高性能设备4自身的功能实现。

优选地,在所述高性能设备4上部署分布式的mqtt服务器,所述分布式的mqtt服务器为emq服务器或vernemq服务器。从而使所述高性能设备4拥有与云服务器等同的数据、设备处理逻辑,使所述高性能设备4可根据接收的联动消息产生相关的联动控制命令。

优选地,所述用户终端1和云服务器3之间、所述家庭路由器2和高性能设备4之间和所述用户终端1和高性能设备4之间均采用mqtt通信协议;所述联网设备间的网状网通信采用blemesh网状通信拓扑或zigbee网状通信拓扑。

所述用户终端1和云服务器3之间、所述家庭路由器2和高性能设备4之间和所述用户终端1和高性能设备4之间均采用mqtt通信协议,而非基于请求/回应的消息处理机制,减轻网络臃肿,让发布者和订阅者有更多时间处理其它信息,双方负荷大大减少。所述联网设备间的网状网通信采用blemesh网状通信拓扑或zigbee网状通信拓扑,从而各联网设备间能够直接或者间接通信,即使在没有外网的家庭,联网设备间的联动依然正常。

所述非基于请求/回应的消息处理机制应用之间具有强耦合性,比如:应用a请求的指令,需要得到另一个应用b处理完成后回应,耦合度极高,增加了应用a的延时等待时间,同时也意味着应用b要放下当前执行的其它任务,尽快响应请求指令,完成后回应结果给请求方,加重了应用b的负担。

实施例二

本实施例的基于发布-订阅消息处理机制的家居设备联动系统,如图1所示,应用于对智能家居的联网设备进行控制,包括用户终端1、多个联网设备、家庭路由器2和云服务器3,所述用户终端1和多个联网设备之间采用发布-订阅消息处理机制进行通信,所述用户终端1和云服务器3之间采用发布-订阅消息处理机制进行通信,所述家庭路由器2和云服务器3通过互联网进行通信;

多个联网设备划分为高性能设备4和低性能设备5两类,并进行分组:一个所述高性能设备4和多个低性能设备5绑定成一组,所有的高性能设备4之间建立信道,所有的高性能设备4均与家庭路由器2采用发布-订阅消息处理机制进行通信,在同一个高性能设备4下的所有低性能设备5之间建立信道,从而联网设备间构成网状网通信;

所述用户终端1用于发布联动消息;所述高性能设备4用于根据接收的联动消息产生并下发相关的联动控制命令至相关的低性能设备5,和若联动相关的联网设备包含高性能设备4则根据联动控制命令执行对应的联动动作;所述低性能设备5用于执行对应的联动动作;

当家庭路由器2和云服务器3通信异常或断网时,用户终端1直接向家庭路由器2发布联动消息,由家庭路由器2下发联动消息至相关的所述高性能设备4。

所述基于发布-订阅消息处理机制的家居设备联动系统,用户终端1和多个联网设备之间采用发布-订阅消息处理机制进行通信,发布者只管发布消息,订阅者只管相应订阅信息的到来,将发布者和订阅者在时间及空间上隔离,让发布者和订阅者有更多时间处理其它信息,双方负荷大大减少;例如当用户终端1发布了联动消息后,用户终端1无需等待联动情况的反馈,而是去处理其它信息;家庭路由器2将联动消息下发时,高性能设备4也只是接收自身订阅的联动消息,若该联动消息不是自身订阅的是不会接收,从而降低联网设备之间的耦合度。

联网设备间构成网状网通信,只有高性能设备4和家庭路由器2通信连接,减少了直接连接路由器的设备数量,减轻了网络信道的拥挤;并且采用分布式处理,由相关的所述高性能设备4根据接收的联动消息产生并下发相关的联动控制命令至相关的低性能设备5,而非集中于云服务器3或家庭路由器2来分析处理数据和控制联网设备。这样的分布式处理,当家庭路由器2和云服务器3通信异常或断网时,仍可通过家庭内部的网状网通信来实现联网设备间的联动。例如,用户终端1发布需要低性能设备a联动低性能设备b的联动消息时,与低性能设备a绑定的高性能设备a接收该联动消息并下发对应的联动控制命令至低性能设备a,与低性能设备b绑定的高性能设备b也接收该联动消息并下发对应的联动控制命令至低性能设备b,低性能设备a和低性能设备b无需经过云服务器3即可实现对应的联动动作。所述基于发布-订阅消息处理机制的家居设备联动系统充分利用了高性能设备4的强大的处理性能,减轻网络臃肿,同时能够很好地解决设备间的互联互通及联动功能;家庭无外网或断网时,也能保证设备间的联动。

所述用户终端1为手机、应用app、平板电脑、智能手表等。所述高性能设备4为除了完成其自身专用的语音、图像处理、摄像头、音频输出等功能外,设备本身性能较高,还有大量冗余性能未发挥的设备,如电视、冰箱、空调等大型家用电器。所述低性能设备5为功能较单一或冗余性能少的设备,如电灯、电水壶、智能门锁等小型家用电器。

优选地,所述高性能设备4设有数据预保存模块,所述数据预保存模块用于:当家庭路由器2和云服务器3通信正常时,将联网设备间联动产生的数据直接同步至云服务器3;

和当家庭路由器2和云服务器3通信异常或断网时,将联网设备间联动产生的数据保存至自身的数据库中,并且备份其他高性能设备4的数据库数据;

家庭路由器2用于当家庭路由器2和云服务器3通信恢复正常时,将所有的高性能设备4的数据库数据同步至云服务器3。

当家庭路由器2和云服务器3通信正常时,联网设备间联动产生的数据依次经过高性能设备4和家庭路由器2同步至云服务器3,云服务器3将联动产生的数据发布至对应的用户终端1,用户终端1接收自身订阅的联动产生的数据。

高性能设备4的数据库还用于存储与其绑定的联网设备间联动产生的数据,从而避免断网时联网设备间联动产生的数据无法保存的问题。并且,高性能设备4之间相互备份彼此的数据库数据,有效避免数据丢失或缺失的情况;当网络恢复正常时,高性能设备4的数据库数据同步至云服务器3,云服务器3从中查找出联网设备间联动产生的数据,从而大大地提高联动可靠性和稳定性。

优选地,所述家庭路由器2设有故障转移模块,所述故障转移模块用于:

对所有的高性能设备4建立优先级;和当某个高性能设备4出现故障时,根据优先级,将故障的高性能设备4绑定的所有低性能设备5转移至正常运行且优先级最高的高性能设备4上进行绑定。

当某个高性能设备4出现故障时,会影响到联动的实现,因此需要将其隔离,并为与其绑定的低性能设备5寻找新的高性能设备4。所以对所有的高性能设备4建立优先级,通过优先级让家庭路由器2寻找到最优的高性能设备4进行绑定,优先级可以高性能设备4的处理能力强弱来决定,以避免因绑定的低性能设备5大大增多而影响联动的实现或高性能设备4自身的功能实现。

优选地,所述高性能设备4部署有分布式的mqtt服务器,所述分布式的mqtt服务器为emq服务器或vernemq服务器。从而使所述高性能设备4拥有与后台服务器等同的数据、设备处理逻辑,使所述高性能设备4可根据接收的联动消息产生相关的联动控制命令。

优选地,所述用户终端1和云服务器3之间、所述家庭路由器2和高性能设备4之间和所述用户终端1和高性能设备4之间均采用mqtt通信协议;所述联网设备间的网状网通信采用blemesh网状通信拓扑或zigbee网状通信拓扑。

所述用户终端1和云服务器3之间、所述家庭路由器2和高性能设备4之间和所述用户终端1和高性能设备4之间均采用mqtt通信协议,而非基于请求/回应的消息处理机制,减轻网络臃肿,让发布者和订阅者有更多时间处理其它信息,双方负荷大大减少。所述联网设备间的网状网通信采用blemesh网状通信拓扑或zigbee网状通信拓扑,从而各联网设备间能够直接或者间接通信,即使在没有外网的家庭,联网设备间的联动依然正常。

所述非基于请求/回应的消息处理机制应用之间具有强耦合性,比如:应用a请求的指令,需要得到另一个应用b处理完成后回应,耦合度极高,增加了应用a的延时等待时间,同时也意味着应用b要放下当前执行的其它任务,尽快响应请求指令,完成后回应结果给请求方,加重了应用b的负担。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1