CN114051030A - 通讯方法、通讯装置、智慧社区***和存储介质 - Google Patents
通讯方法、通讯装置、智慧社区***和存储介质 Download PDFInfo
- Publication number
- CN114051030A CN114051030A CN202111333200.5A CN202111333200A CN114051030A CN 114051030 A CN114051030 A CN 114051030A CN 202111333200 A CN202111333200 A CN 202111333200A CN 114051030 A CN114051030 A CN 114051030A
- Authority
- CN
- China
- Prior art keywords
- message
- cloud
- edge
- processing modules
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 187
- 238000004458 analytical method Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 8
- 230000015654 memory Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种通讯方法、通讯装置、智慧社区***和存储介质。其中,通讯方法用于家居***,家居***包括多个云端处理模块和多个边缘端处理模块。通讯方法包括:接收终端发送的控制请求,控制请求根据在终端上的输入操作产生;使其中一个云端处理模块根据控制请求向消息处理中心发布主题消息;使其中一个边缘端处理模块从消息处理中心订阅并解析主题消息;根据解析结果向智能设备发送控制指令。本申请中的通讯方法,多个云端处理模块和多个边缘端处理模块可以在其中一个云端处理模块和/或其中一个边缘端处理模块宕机时,使其余处理模块接任工作,以提高***性能;只让一个边缘端处理模块解析主题消息,避免重复解析导致智能设备被重复控制。
Description
技术领域
本申请涉及物联网技术领域,尤其涉及一种通讯方法、通讯装置、智慧社区***和存储介质。
背景技术
随着物联网的快速发展,智能家居作为物联网技术连接的家居设备也得到迅速发展。其中,在基于物联网技术控制智慧社区***中智能设备的状态以及收集智能设备的数据时,受限于传统的物联网通讯方案,在智能设备与云端的通信过程中,容易出现性能瓶颈问题。
发明内容
本申请实施方式提供一种通讯方法、通讯装置、智慧社区***和存储介质。
本申请实施方式的通讯方法用于智能家居,所述智能家居包括多个云端处理模块和多个边缘端处理模块,所述通讯方法包括:
接收终端发送的控制请求,所述控制请求根据在所述终端上的输入操作产生;
使其中一个所述云端处理模块根据所述控制请求向消息处理中心发布主题消息;
使其中一个所述边缘端处理模块从所述消息处理中心订阅并解析所述主题消息;
根据解析结果向智能设备发送控制指令。
本申请中的通讯方法,由于智能家居有多个云端处理模块和多个边缘端处理模块,使得在其中一个云端处理模块和/或其中一个边缘端处理模块宕机时,可以由其余的处理模块继续完成执行通讯方法,从而达到提高***性能和可用性的目的;并且,通过只让其中一个边缘端处理模块从消息处理中心订阅并解析主题消息,避免了根据控制请求发布的主题消息被重复解析而导致控制指令被重复下发,以导致智能设备被重复控制而产生不可预测的后果。
在某些实施方式中,所述使其中一个所述云端处理模块根据所述控制请求向消息处理中心发布主题消息,包括:
根据所述控制请求对多个所述云端处理模块执行负载均衡;
基于负载均衡结果,选择对应的所述云端处理模块向所述消息处理中心发布所述主题消息。
在某些实施方式中,所述云端处理模块和所述边缘端处理模块均包括MQTT客户端应用程序,多个所述边缘端处理模块间采用共享订阅机制,以使仅有一个所述边缘端处理模块从所述消息处理中心订阅所述主题消息。
在某些实施方式中,所述消息处理中心包括多个MQTT服务端应用程序,所述消息处理中心用于保存并处理所述主题消息,以使所述主题消息能够被所述边缘端处理模块订阅。
在某些实施方式中,所述根据解析结果向智能设备发送控制指令,包括:
发送所述解析结果至设备服务中心,以使所述设备服务中心向所述智能设备发送所述控制指令
本申请实施方式提供一种通讯方法,用于智能家居,所述智能家居包括多个云端处理模块和多个边缘端处理模块,所述通讯方法包括:
转发上报请求至设备服务中心;
使其中一个所述边缘端处理模块根据所述上报请求向消息处理中心发布主题消息;
使其中一个所述云端处理模块从所述消息处理中心订阅并解析所述主题消息;
根据解析结果向云端上报信息。
在某些实施方式中,所述云端处理模块和所述边缘端处理模块均包括MQTT客户端应用程序,多个所述云端处理模块间采用共享订阅机制,以使仅有一个所述云端处理模块从所述消息处理中心订阅所述主题消息。
本申请实施方式提供一种通讯装置,所述通讯装置包括:
接收模块,用于接收终端发送的控制请求,所述控制请求根据在所述终端上的输入操作产生;
第一执行模块,用于使其中一个云端处理模块根据所述控制请求向消息处理中心发布主题消息;
第二执行模块,用于使其中一个边缘端处理模块从所述消息处理中心订阅并解析所述主题消息;
发送模块,用于根据解析结果向智能设备发送控制指令,
本申请实施方式提供一种智慧社区***,所述智慧社区***包括:
云端,所述云端包括云端网关,所述云端网关部署有多个云端处理模块;
边缘端,所述边缘端包括边缘网关,所述边缘网关部署有多个边缘端处理模块;
消息处理中心,所述云端处理模块与所述边缘端处理模块通过所述消息处理中心进行信息交互;
设备服务中心,所述设备服务中心用于控制智能设备以及查询所述智能设备的状态;
智能设备,所述智能设备能够接收所述设备服务中心发送的控制指令以及向所述设备服务中心上报设备状态;和
处理器,所述处理器用于实现上述任一实施方式中的通讯方法。
本申请实施方式提供一种计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行以上任一实施方式所述的通讯方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请实施方式中的通讯方法的流程示意图;
图2是本申请实施方式中的通讯装置的模块示意图;
图3是本申请实施方式中的终端和智慧社区***交互的流程示意图;
图4是本申请实施方式中的通讯方法的流程示意图;
图5是本申请实施方式中的通讯方法的流程示意图;
图6是本申请实施方式中的通讯方法的流程示意图。
主要元件符号说明:
智慧社区***1000、云端100、云端网关11、云端处理模块110、边缘端200、边缘端网关21、边缘端处理模块210、消息处理中心300、设备服务中心400、智能设备500、通讯装置600、接收模块61、第一执行模块62、第二执行模块63、发送模块64、处理器700、终端2000。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在本申请中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本申请提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
请参阅图1,本申请实施方式提供一种通讯方法,用于智能家居。其中智能家居包括多个云端处理模块110和多个边缘端处理模块210,通讯方法包括:
步骤S10:接收终端2000发送的控制请求,控制请求根据在终端2000上的输入操作产生;
步骤S20:使其中一个云端处理模块110根据控制请求向消息处理中心300发布主题消息;
步骤S30:使其中一个边缘端处理模块210从消息处理中心300订阅并解析主题消息;
步骤S40:根据解析结果向智能设备500发送控制指令。
请参阅图2,本申请实施方式提供一种通讯装置600。通讯装置600包括接收模块61、第一执行模块62、第二执行模块63和发送模块64。其中,接收模块61用于接收终端2000发送的控制请求,控制请求根据在终端2000上的输入操作产生;第一执行模块62用于使其中一个云端处理模块110根据控制请求向消息处理中心300发布主题消息;第二执行模块63用于使其中一个边缘端处理模块210从消息处理中心300订阅并解析主题消息;发送模块64用于根据解析结果向智能设备500发送控制指令。
请参阅图3,本申请实施方式提供一种智慧社区***1000,智慧社区***1000包括云端100、边缘端200、消息处理中心300、设备服务中心400、智能设备500和处理器700。其中,云端100包括云端网关1111,云端网关1111部署有多个云端处理模块110;边缘端200包括边缘网关,边缘网关部署有多个边缘端处理模块210;云端处理模块110与边缘端处理模块210通过消息处理中心300进行信息交互;设备服务中心400用于控制智能设备500以及查询智能设备500的状态;智能设备500能够接受设备服务中心400发送的控制指令以及向设备服务中心400上报设备状态。
处理器700用于接收终端2000发送的控制请求,及用于使其中一个云端处理模块110根据控制请求向消息处理中心300发布主题消息,及用于使其中一个边缘端处理模块210从消息处理中心300订阅并解析主题消息,以及用于根据解析结果向智能设备500发送控制指令。
本申请实施方式中的通讯方法,由于家居***有多个云端处理模块110和多个边缘端处理模块210,使得在其中一个云端处理模块110和/或其中一个边缘端处理模块210宕机时,可以由其余的处理模块继续完成执行通讯方法,从而达到提高智慧社区***1000的性能和可用性的目的;并且,通过只让其中一个边缘端处理模块210从消息处理中心300订阅并解析主题消息,避免了根据控制请求发布的主题消息被重复解析而导致控制指令被重复下发,从而导致智能设备500被重复控制而产生不可预测的后果。
随着技术的发展,人们对在住宅内构建更加便利、舒适且安全的居家环境有更高的追求,因此诞生了智慧社区***1000,智慧社区***1000可以通过利用物联网、网络通信技术、自动控制技术等技术将与家居生活有关的设施集成统一起来构建得到。
在一个智慧社区***1000应用有物联网通讯技术的场景中,用户可以通过在应用程序上下达指令远程控制智能设备500的状态,同时还可以对智能设备500上报的状态进行分析,实现对智能设备500的实时监测,构建高效的住宅设施与家庭日程事务的管理***,提升家居安全性、便利性、舒适性并实现环保节能的居住环境。
需要了解的是,物联网通讯协议的首选为MQTT(Message Queuing TelemetryTransport,消息队列遥测传输协议),其是一种建于TCP/IP协议上的基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议。MQTT的优点在于可以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务,并且MQTT还是低开销、低带宽占用的即时通讯协议。然而,在智慧社区***1000中采用MQTT协议实现物联网通讯方案往往面临以下问题,由于云端100和边缘端200只部署有单个MQTT客户端应用,容易出现性能瓶颈,例如在云端100部署MQTT服务端,在边缘端200部署MQTT客户端,致使物联网通讯能力受限于MQTT服务端的处理能力并且可用性也较差,容易在MQTT客户端宕机时,导致整个***不可用。
即使考虑到提高可用性和并发处理能力,分别在云端100和边缘端200都设置多个MQTT客户端应用,然而,在用户通过手机等终端2000发起控制智能设备500的指令时,由MQTT客户端应用发布MQTT消息到MQTT服务端,例如消息的主题为device_control,此时订阅了主题为device_control的多个MQTT应用客户端将都会消费这条MQTT消息,导致重复向智能设备500执行控制指令而带来不可预测的后果。
有鉴于此,本专利技术利用MQTT5.0协议的新特性之一“共享订阅”来避免消息被重复消失的同时实现物联网高可用通讯方案。
在步骤S10-步骤S40中,终端2000可以是智能手机、平板电脑、笔记本电脑、智能手环等电子设备。无论终端2000是哪种形态的电子设备,只要保证终端2000上安装有管理智慧社区***1000的应用程序即可,这样用户可以通过应用程序远程控制智能设备500。智能设备500可以是智能灯泡、智能空开、智能空调等多种智能家居设备。
例如在一个场景中,用户通过在手机的应用程序中点击打开/关闭智能灯泡,控制智能灯泡的请求生成后可以被处理器700所接收,然后进行后续步骤的处理。
云端100可以是应用软件的免安装/便携化安全环境,例如云端100可以是租赁的云服务器,可以在云服务器上安装、部署应用软件。边缘端200可以是指靠近智能设备500或数据源头一侧的网络软、硬件环境,在本申请中,智能设备500所在的本地环境即为边缘端200。
多个云端处理模块110可以被部署在云端网关1111,多个边缘端处理模块210可以被部署在边缘端网关21。云端处理模块110和边缘端处理模块210之间可以通过消息处理中心300实现信息交互,也即是说,云端处理模块110和边缘端处理模块210均可以与消息处理中心300建立长连接,并通过消息处理中心300进行消息的发布和订阅。
由于本申请中的智慧社区***1000中应用了MQTT5.0协议来实现物联网通讯方案,可以理解,在经由步骤S10处理器700接收到终端2000发送的控制请求后,可以将控制请求发送到其中一个云端处理模块110,使其可以接收并处理控制请求,以根据控制请求向消息处理中心300发布主题消息,主题消息的主题由具体的控制请求而定。
特别地,控制请求本质可以为HTTP合法请求,MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,其中消息的发布者和订阅者都可以作为客户端,服务器作为消息代理,并且,消息的发布者同时也可以是订阅者。那么,本申请中,在智慧社区***1000应用此协议建立物联网通讯方案时,云端处理模块110本身作为MQTT中的客户端,可以与作为服务器端的消息处理中心300建立长连接,负责接收并处理处理器700转送的H5、小程序、应用软件等客户端发送的HTTP合法请求,并基于控制请求向消息处理中心300发布主题消息。
可以理解,由于在边缘网关部署有多个边缘端处理模块210,为了避免多个边缘端处理模块210均向消息处理中心300订阅主题消息,处理器700可以在步骤S30中进行处理,从而只使其中一个边缘处理模块从消息处理中心300订阅并解析主题消息,从而保证在设置有多个边缘端处理模块210确保***高性能、高可用的同时,避免主题消息的重复消费。
最后,在其中一个边缘处理模块订阅并解析了主题消息后,处理器700可以经由步骤S40,根据解析结果向对应的智能设备500发送控制指令,例如向智能灯泡发出控制指令使其按照用户的输入操作对应打开或关闭。
请参阅图4,在某些实施方式中,使其中一个云端处理模块110根据控制请求向消息处理中心300发布主题消息(步骤S20),包括:
步骤S21:根据控制请求对多个云端处理模块110执行负载均衡;
步骤S22:基于负载均衡结果,选择对应的云端处理模块110向消息处理中心300发布主题消息。
在某些实施方式中,第一执行模块62用于根据控制请求对多个云端处理模块110执行负载均衡,以及用于基于负载均衡结果,选择对应的云端处理模块110向消息处理中心300发布主题消息。
在某些实施方式中,处理器700用于根据控制请求对多个云端处理模块110执行负载均衡,以及用于基于负载均衡结果,选择对应的云端处理模块110向消息处理中心300发布主题消息。
如此,执行负载均衡可以提高通讯服务的性能和可靠性。
具体地,在步骤S21-步骤S22中,由于设置有多个云端处理模块110来提高智慧社区***1000的性能和可用性,保证在任意一个云端处理模块110宕机后,处理器700可以将控制请求转发到其余的云端处理模块110上。
那么为了保证各云端处理模块110的任务量均衡,防止出现控制请求总是被转发到同一个云端处理模块110上,以使总是由同一个云端处理模块110向消息处理中心300发布主题消息,可以在转发控制请求给云端处理模块110,以进行基于控制请求向消息处理中心300发布主题消息时,根据负载均衡结果来决定由控制请求被转发至对应的云端处理模块110,即对应的云端处理模块110来完成消息发布。
其中,在接收到控制请求,需要向消息处理中心300发布对应的主题消息的情况下,可以对多个云端处理模块110进行负载均衡。负载均衡可以由许多传统的HTTP负载均衡策略来实现,例如采用HTTP重定向负载均衡、DNS域名解析负载均衡、反向代理负载均衡策略、IP负载均衡策略和数据链路负载均衡策略等。在一个实施方式中,便可以采用spring-cloud eureka注册中心和nginx服务器作反向代理等技术手段来实现。
那么,可以基于负载均衡结果,选择对应的云端处理模块110向消息处理中心300发布主题消息,例如选择负载较少的云端处理模块110,或者选择运行性能较好的云服务器下对应安装的云端处理模块110等来完成发布主题消息的任务。
请参阅图5,在某些实施方式中,云端处理模块110和边缘端处理模块210均包括MQTT客户端应用程序。多个边缘端处理模块210间可以采用共享订阅机制,以使仅有一个边缘端处理模块210从消息处理中心300订阅主题消息。
如此,共享订阅机制可以在保证设置多个边缘端处理模块210以提高智慧社区***1000的通讯性能和保证高可用性的同时,避免主题消息被多个边缘端处理模块210重复消费而带来的不可预测的后果,使得智慧社区***1000中的通讯更稳定可靠。
具体地,可以理解,在用户通过终端2000发起控制请求时,本申请中的云端处理模块110作为MQTT中的MQTT客户端应用程序,可以向消息处理中心300发布特定主题的主题消息,即云端处理模块110可以作为发布端;对应的,边缘端处理模块210可以从消息处理中心300中订阅主题消息,那么边缘端处理模块210可以作为订阅端,由于订阅端和发布端在MQTT中均为客户端,那么作为订阅端的边缘端处理模块210也可以是MQTT客户端应用程序。
而本申请中的智慧社区***1000的通讯方案基于MQTT5.0协议,在MQTT5.0协议中,引入了新特性,即共享订阅。共享订阅相当于是MQTT中的订阅端的负载均衡功能,即可以实现多个边缘端处理模块210的负载均衡。共享订阅是在多个订阅端之间实现负载均衡的订阅方式,能确保一条消息只被消费一次。
例如,用户通过终端2000上安装的应用软件向云端100发送一条智能设备500的控制请求,经过执行负载均衡后,处理器700转发控制请求至云端网关1111的一个云端处理模块110,即MQTT客户端应用程序,然后由其基于控制请求向消息处理中心300发布一个主题消息,假如主题是device_control,由于边缘端网关21的多个边缘端处理模块210,即多个MQTT客户端应用程序都共享订阅了主题device_control,但实际上却只有一个边缘端处理模块210能够消费device_control这个主题,订阅到这个主题的边缘端处理模块210再解析订阅的主题消息的内容,然后再执行控制逻辑来控制边缘端200的智能设备500,保证了对应控制请求生成的控制指令不会被重复执行,使得智慧社区***1000中的通讯控制更稳定可靠。
另外,可以理解,云端处理模块110和边缘端处理模块210包括的所有MQTT客户端应用程序都必须支持MQTT5.0协议。
请再次参阅图3,在某些实施方式中,消息处理中心300包括多个MQTT服务端应用程序,消息处理中心300用于保存并处理主题消息,以使主题消息能够被边缘端处理模块210订阅。
如此,多个MQTT服务端应用程序的设置可以提高消息处理中心300的高可用能力和吞吐能力。
具体地,如上文所述,MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,其中消息的发布者和订阅者都可以作为客户端,服务器作为消息代理。那么,本申请中,在智慧社区***1000应用此协议建立物联网通讯方案时,消息处理中心300可以包括多个MQTT服务端应用程序,也即是说消息处理中心300可以作为消息代理,多个MQTT服务端应用程序可以被部署在多台服务器上。这样消息处理中心300便可以提供高可用的集群服务,保存并处理主题消息,以使主题消息能够被边缘端处理模块210订阅。
本申请中的消息处理中心300,也即MQTT服务端应用程序及集群,可以通过安装、部署多个MQTT服务和反向代理来实现,可以理解,消息处理中心300中的每个MQTT服务端应用程序都必须支持MQTT5.0协议。这样,消息处理中心300的设置可以提高消息处理中心300的高可用能力和吞吐能力。
请参阅图3和图5,在某些实施方式中,根据解析结果向智能设备500发送控制指令(步骤S40),包括:
步骤S41:发送解析结果至设备服务中心400,以使设备服务中心400向智能设备500发送控制指令。
在某些实施方式中,发送模块64用于发送解析结果至设备服务中心400,以使设备服务中心400向智能设备500发送控制指令。
在某些实施方式中,处理器700用于发送解析结果至设备服务中心400,以使设备服务中心400向智能设备500发送控制指令。
如此,便可以通过向智能设备500发送控制指令完成用户对智能设备500的远程控制。
具体地,在步骤S41中,处理器700可以将边缘端处理模块210的解析订阅的主题消息的解析结果发送至设备服务中心400,其中,设备服务中心400可以提供控制具体智能设备500的应用服务,其可以按智能设备500的底层协议发出正确的控制指令。这样,设备服务中心400在接收到解析出的控制请求后,便可以根据控制请求的具体内容,向对应的智能设备500发送控制指令,以使智能设备500根据控制指令完成对应操作。
请参阅图3和图6,在某些实施方式中,本申请提供的通讯方法还包括:
步骤S50:转发上报请求至设备服务中心400;
步骤S60:使其中一个边缘端处理模块210根据上报请求向消息处理中心300发布主题消息;
步骤S70:使其中一个云端处理模块110从消息处理中心300订阅并解析主题消息;
步骤S80:根据解析结果向云端100上报信息。
在某些实施方式中,通讯装置600还可以包括转发模块和上报模块。其中,转发模块用于发送上报请求至设备服务中心400;第一执行模块62用于使其中一个边缘端处理模块210根据上报请求向消息处理中心300发布主题消息;第二执行模块63用于使其中一个云端处理模块110从消息处理中心300订阅并解析主题消息;上报模块用于根据解析结果向云端100上报信息。
在某些实施方式中,处理器700用于发送上报请求至设备服务中心400;及用于使其中一个边缘端处理模块210根据上报请求向消息处理中心300发布主题消息;及用于使其中一个云端处理模块110从消息处理中心300订阅并解析主题消息;以及用于根据解析结果向云端100上报信息。
具体地,在步骤S50-步骤S80中,可以理解,在智慧社区***1000中,不仅可以实现用户通过终端2000对智能设备500进行远程操控,智能设备500也能够将自身状态等信息通过MQTT协议上报至云端100以供查询。
那么,在一个场景中,安装在边缘端200的智能设备500发出上报请求以上报自身状态,处理器700在接收到上报请求后将其转发至设备服务中心400,并且处理器700根据上报请求对多个边缘端处理模块210执行负载均衡后,使设备服务中心400向对应的其中一个边缘端处理模块210发送上报请求,从而使得对应的边缘端处理模块210根据上报请求向消息处理中心300发布主题消息。
其中,消息主题可以为device_report。当然在其他实施例中,消息主题可以为“payload”、“deviceId”以及“deviceType”等,本申请在此不做任何限制。
然后,处理器700可以仅使其中一个云端处理模块110从消息处理中心300订阅并解析主题消息,保证主题消费不会被多个云端处理模块110重复消费。最后,解析完毕后处理器700可以使云端处理模块110向云端100上报信息,至此便完成了指令的上行。
特别地,对多个边缘端处理模块210进行负载均衡的相关处理和前文中对多个云端处理模块110进行负载均衡的相关处理相同,在此不做赘述。
请参阅图3,在某些实施方式中,云端处理模块110和边缘端处理模块210均包括MQTT客户端应用程序,多个云端处理模块110间采用共享订阅机制,以使仅有一个云端处理模块110从消息处理中心300订阅主题消息。
如此,共享订阅机制可以在保证设置多个云端处理模块110以提高智慧社区***1000的通讯性能和保证高可用性的同时,避免主题消息被多个云端处理模块110重复消费而带来的不可预测的后果,使得智慧社区***1000中的智能设备500的状态上报更稳定可靠。
具体地,可以理解,处理器700将上报请求转发至设备服务中心400,以使通过设备服务中心400转送至对应的边缘端处理模块210时,边缘端处理模块210作为MQTT中的MQTT客户端应用程序,可以向消息处理中心300发布特定主题的主题消息,即边缘端处理模块210可以作为发布端;对应的,此时云端处理模块110可以从消息处理中心300中订阅主题消息,那么云端处理模块110可以作为订阅端,由于订阅端和发布端在MQTT中均为客户端,那么作为订阅端的云端处理模块110也可以是MQTT客户端应用程序。
而本申请中的智慧社区***1000的通讯方案基于MQTT5.0协议,在MQTT5.0协议中,引入了新特性,即共享订阅。共享订阅相当于是MQTT中的订阅端的负载均衡功能,即可以实现多个云端处理模块110的负载均衡。共享订阅是在多个订阅端之间实现负载均衡的订阅方式,能确保一条消息只被消费一次。
例如,经过执行负载均衡后,处理器700通过设备服务中心400转发上报请求至边缘端网关21的一个边缘端处理模块210,即MQTT客户端应用程序,然后由其基于上报请求向消息处理中心300发布一个主题消息,假如主题是device_report,由于云端网关1111的多个云端处理模块110,即多个MQTT客户端应用程序都共享订阅了主题device_report,但实际上却只有一个云端处理模块110能够消费device_report这个主题,订阅到这个主题的云端处理模块110再解析订阅的主题消息的内容,然后再将智能设备500的相关信息上报至云端100,保证了对应上报请求生成的主题消息不会被重复消费,使得智慧社区***1000中的通讯更稳定可靠。
另外,可以理解,云端处理模块110和边缘端处理模块210包括的所有MQTT客户端应用程序都必须支持MQTT5.0协议
本申请实施方式提供了一种存储有计算机程序的非易失性计算机可读存储介质,当计算机程序被一个或多个处理器700执行时,使得处理器700执行以上任一实施方式的通讯方法。
例如,当计算机程序被一个或多个处理器700执行时,使得处理器700执行以下步骤:
步骤S10:接收终端2000发送的控制请求,控制请求根据在终端2000上的输入操作产生;
步骤S20:使其中一个云端处理模块110根据控制请求向消息处理中心300发布主题消息;
步骤S30:使其中一个边缘端处理模块210从消息处理中心300订阅并解析主题消息;
步骤S40:根据解析结果向智能设备500发送控制指令。
具体地,在一个实施例中,智慧社区***1000中还可以包括处理器700,处理器700可以为中央处理器(Central Processing Unit,CPU)。处理器700还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
计算机程序可以被存储在存储器中,存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如上述方法实施例中的方法所对应的程序指令/模块。处理器700通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器700的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
在本说明书的描述中,参考术语“一个实施方式”、“某些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施方式,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
Claims (10)
1.一种通讯方法,用于智能家居,其特征在于,所述智能家居包括多个云端处理模块和多个边缘端处理模块,所述通讯方法包括:
接收终端发送的控制请求,所述控制请求根据在所述终端上的输入操作产生;
使其中一个所述云端处理模块根据所述控制请求向消息处理中心发布主题消息;
使其中一个所述边缘端处理模块从所述消息处理中心订阅并解析所述主题消息;
根据解析结果向智能设备发送控制指令。
2.根据权利要求1所述的通讯方法,其特征在于,所述使其中一个所述云端处理模块根据所述控制请求向消息处理中心发布主题消息,包括:
根据所述控制请求对多个所述云端处理模块执行负载均衡;
基于负载均衡结果,选择对应的所述云端处理模块向所述消息处理中心发布所述主题消息。
3.根据权利要求1所述的通讯方法,其特征在于,所述云端处理模块和所述边缘端处理模块均包括MQTT客户端应用程序,多个所述边缘端处理模块间采用共享订阅机制,以使仅有一个所述边缘端处理模块从所述消息处理中心订阅所述主题消息。
4.根据权利要求1所述的通讯方法,其特征在于,所述消息处理中心包括多个MQTT服务端应用程序,所述消息处理中心用于保存并处理所述主题消息,以使所述主题消息能够被所述边缘端处理模块订阅。
5.根据权利要求1所述的通讯方法,其特征在于,所述根据解析结果向智能设备发送控制指令,包括:
发送所述解析结果至设备服务中心,以使所述设备服务中心向所述智能设备发送所述控制指令。
6.一种通讯方法,用于智能家居,其特征在于,所述智能家居包括多个云端处理模块和多个边缘端处理模块,所述通讯方法包括:
转发上报请求至设备服务中心;
使其中一个所述边缘端处理模块根据所述上报请求向消息处理中心发布主题消息;
使其中一个所述云端处理模块从所述消息处理中心订阅并解析所述主题消息;
根据解析结果向云端上报信息。
7.根据权利要求6所述的通讯方法,其特征在于,所述云端处理模块和所述边缘端处理模块均包括MQTT客户端应用程序,多个所述云端处理模块间采用共享订阅机制,以使仅有一个所述云端处理模块从所述消息处理中心订阅所述主题消息。
8.一种通讯装置,其特征在于,所述通讯装置包括:
接收模块,用于接收终端发送的控制请求,所述控制请求根据在所述终端上的输入操作产生;
第一执行模块,用于使其中一个云端处理模块根据所述控制请求向消息处理中心发布主题消息;
第二执行模块,用于使其中一个边缘端处理模块从所述消息处理中心订阅并解析所述主题消息;
发送模块,用于根据解析结果向智能设备发送控制指令。
9.一种智慧社区***,其特征在于,包括:
云端,所述云端包括云端网关,所述云端网关部署有多个云端处理模块;
边缘端,所述边缘端包括边缘网关,所述边缘网关部署有多个边缘端处理模块;
消息处理中心,所述云端处理模块与所述边缘端处理模块通过所述消息处理中心进行信息交互;
设备服务中心,所述设备服务中心用于控制智能设备以及查询所述智能设备的状态;
智能设备,所述智能设备能够接收所述设备服务中心发送的控制指令以及向所述设备服务中心上报设备状态;和
处理器,所述处理器用于实现权利要求1-7任一项所述的通讯方法。
10.一种计算机可执行指令的非易失性计算机可读存储介质,其特征在于,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行权利要求1-7中任一项所述的通讯方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111333200.5A CN114051030B (zh) | 2021-11-11 | 2021-11-11 | 通讯方法、通讯装置、智慧社区***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111333200.5A CN114051030B (zh) | 2021-11-11 | 2021-11-11 | 通讯方法、通讯装置、智慧社区***和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114051030A true CN114051030A (zh) | 2022-02-15 |
CN114051030B CN114051030B (zh) | 2024-03-22 |
Family
ID=80208494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111333200.5A Active CN114051030B (zh) | 2021-11-11 | 2021-11-11 | 通讯方法、通讯装置、智慧社区***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114051030B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407007A (zh) * | 2023-12-13 | 2024-01-16 | 北京东土科技股份有限公司 | 一种化工设备控制器的应用管理***和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336736A (zh) * | 2019-05-27 | 2019-10-15 | 四川长虹电器股份有限公司 | 基于mqtt服务器集群实现共享订阅的方法 |
CN110912789A (zh) * | 2019-12-27 | 2020-03-24 | 无锡青起长升智能科技有限公司 | 一种基于阿里云IoT Hub平台的智能家居物联网通信方法 |
CN111935296A (zh) * | 2020-08-18 | 2020-11-13 | 成都长虹网络科技有限责任公司 | 一种高可用无限mqtt消息服务扩容的*** |
CN111970363A (zh) * | 2020-08-17 | 2020-11-20 | 北京金山云网络技术有限公司 | 基于物联网的数据处理方法及装置 |
CN112995348A (zh) * | 2021-05-12 | 2021-06-18 | 北京金山云网络技术有限公司 | 物联网设备的控制方法、装置、*** |
US11159634B1 (en) * | 2017-11-22 | 2021-10-26 | Amazon Technologies, Inc. | Subscription fan out |
-
2021
- 2021-11-11 CN CN202111333200.5A patent/CN114051030B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11159634B1 (en) * | 2017-11-22 | 2021-10-26 | Amazon Technologies, Inc. | Subscription fan out |
CN110336736A (zh) * | 2019-05-27 | 2019-10-15 | 四川长虹电器股份有限公司 | 基于mqtt服务器集群实现共享订阅的方法 |
CN110912789A (zh) * | 2019-12-27 | 2020-03-24 | 无锡青起长升智能科技有限公司 | 一种基于阿里云IoT Hub平台的智能家居物联网通信方法 |
CN111970363A (zh) * | 2020-08-17 | 2020-11-20 | 北京金山云网络技术有限公司 | 基于物联网的数据处理方法及装置 |
CN111935296A (zh) * | 2020-08-18 | 2020-11-13 | 成都长虹网络科技有限责任公司 | 一种高可用无限mqtt消息服务扩容的*** |
CN112995348A (zh) * | 2021-05-12 | 2021-06-18 | 北京金山云网络技术有限公司 | 物联网设备的控制方法、装置、*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117407007A (zh) * | 2023-12-13 | 2024-01-16 | 北京东土科技股份有限公司 | 一种化工设备控制器的应用管理***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114051030B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106233695B (zh) | 用于管理客户端设备的装置和方法 | |
CN102546794B (zh) | 浏览器客户端与后端服务器直通的方法、网关和通信*** | |
Tandale et al. | An empirical study of application layer protocols for IoT | |
US20140047078A1 (en) | Enhanced Push Notification Services | |
CN102224715A (zh) | 低资源设备中的优化轮询 | |
CN105610888A (zh) | 基于安卓的利用socket推送消息的方法和*** | |
CN115426391A (zh) | 一种远程过程调用协议自适应方法、相关装置及服务器 | |
US10148565B2 (en) | OPENFLOW communication method and system, controller, and service gateway | |
US10893086B2 (en) | Node type based control of assistance for data streaming | |
Chen et al. | Converging MQTT resources in ETSI standards based M2M platform | |
Klauck et al. | Chatty things-Making the Internet of Things readily usable for the masses with XMPP | |
EP3054650A1 (en) | Method, device and system for redirecting data service proxy | |
CN112104620A (zh) | 一种基于mqtt协议的远程指令发布方法 | |
US20060271662A1 (en) | System and method for enabling group subscription for asynchronous push-based applications on a wireless device | |
EP3576371B1 (en) | Method and system for transmitting streaming media resource | |
TWI740210B (zh) | 終端設備管理方法及伺服器 | |
CN114051030B (zh) | 通讯方法、通讯装置、智慧社区***和存储介质 | |
van der Westhuizen et al. | Practical Comparison between COAP and MQTT-Sensor to Server level | |
US20070130312A1 (en) | Web service provision apparatus and method and web service request apparatus and method | |
CN109547333A (zh) | 即时通信方法及装置 | |
CN111245660B (zh) | 一种基于网络的设备升级自适应传输方法 | |
Kanakaris et al. | Internet of things protocols-a survey | |
CN111049915A (zh) | 一种容器云下消息队列代理网格及方法 | |
JP2019040579A (ja) | メッセージプッシュシステム、クライアント装置およびそのメッセージプッシュ方法 | |
Klauck | Seamless integration of smart objects into the internet using XMPP and mDNS/DNS-SD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |