CN113992735B - 一种mqtt连接系统及其连接方法、服务器和存储介质 - Google Patents
一种mqtt连接系统及其连接方法、服务器和存储介质 Download PDFInfo
- Publication number
- CN113992735B CN113992735B CN202111394530.5A CN202111394530A CN113992735B CN 113992735 B CN113992735 B CN 113992735B CN 202111394530 A CN202111394530 A CN 202111394530A CN 113992735 B CN113992735 B CN 113992735B
- Authority
- CN
- China
- Prior art keywords
- mqtt
- information
- server
- registration
- equipment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 31
- 238000012423 maintenance Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种MQTT连接系统及其连接方法、服务器和存储介质,系统包括:注册服务器,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;MQTT服务器,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息。本发明通过注册服务器对设备进行地址注册和MQTT地址分配,从而实现MQTT服务器与所述设备动态连接,避免了MQTT服务器升级维护导致设备无法正常使用,使用前一步返回的设备密钥对设备进行连接请求校验,保证了连接的准确性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及的是一种MQTT连接系统及其连接方法、服务器和存储介质。
背景技术
客户端通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)与服务器端建立连接,再按消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)的要求进行发布/订阅,可以从云端远程控制设备,实现设备的智能化,这种方式已广泛地应用在互联网、小型设备和移动应用领域。
但现有的客户端通常使用预先在客户端程序中写定的服务器地址注册和连接MQTT服务器,客户端无法随便切换服务器,当设备数量增加或服务器需要升级维护时,客户端将无法正常工作。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种MQTT连接系统及其连接方法、服务器和存储介质,旨在解决现有客户端使用固定的服务器地址注册和连接MQTT服务器,当设备数量增加或服务器需要升级维护时,客户端将无法正常工作的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种MQTT连接系统,其中,所述系统包括注册服务器和MQTT服务器,其中:
注册服务器,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;
MQTT服务器,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息。
第二方面,本发明实施例提供一种基于MQTT连接系统的连接方法,所述方法包括:
基于HTTP协议,通过注册服务器接收设备发送的注册信息;
根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址;
基于MQTT协议,将目标MQTT地址对应的MQTT服务器与所述设备进行连接。
在一种实现方式中,所述根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址包括:
根据所述注册信息向所述设备返回基于HTTP协议的设备密钥;
获取所述设备根据所述设备密钥发送的请求信息,根据所述请求信息对所述设备进行连接请求校验;
当所述连接请求校验成功后,向所述设备返回目标MQTT服务器对应的目标MQTT地址。
在一种实现方式中,所述根据所述注册信息向所述设备返回基于HTTP协议的设备密钥的步骤具体包括:
根据所述注册信息和HTTP协议,对设备进行注册请求校验;
当所述注册请求校验成功后,向所述设备返回设备密钥。
在一种实现方式中,所述注册信息包括设备信息和与所述设备信息对应的第一加密信息。
在一种实现方式中,所述根据所述注册信息和HTTP协议,对设备进行注册请求校验的步骤具体包括:
获取预先存储的第一私钥,根据所述第一私钥对所述设备信息进行加密,得到所述设备信息对应的第二加密信息;
基于HTTP协议,将所述第一加密信息与所述第二加密信息进行比较,当所述第一加密信息与所述第二加密信息一致时,所述注册请求校验成功。
在一种实现方式中,所述请求信息包括连接信息和与所述连接信息对应的第三加密信息。
在一种实现方式中,所述根据所述请求信息对所述设备进行连接请求校验的步骤包括:
获取预先存储的第二私钥,根据所述第二私钥对所述连接信息进行加密,得到所述连接信息对应的第四加密信息;
将所述第三加密信息与所述第四加密信息进行比较,当所述第三加密信息与所述第四加密信息一致时,所述连接请求校验成功。
第三方面,本发明实施例提供一种服务器,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如上述任意一项所述的MQTT连接方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述中任意一项所述的MQTT连接方法的步骤。
本发明的有益效果:本发明实施例系统包括:注册服务器,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;MQTT服务器,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息。本发明通过注册服务器对设备进行地址注册和MQTT地址分配,从而实现MQTT服务器与所述设备动态连接,避免了MQTT服务器升级维护导致设备无法正常使用,使用前一步返回的设备密钥对设备进行连接请求校验,保证了连接的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的MQTT连接系统的原理框图;
图2是本发明实施例提供的MQTT连接方法的流程示意图;
图3是本发明实施例提供的服务器的内部结构原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
现有客户端注册和连接MQTT服务器时,往往使用同样的服务器地址,当设备数量增多,或服务器需要升级维护时,客户端无法正常工作。同时,由于服务器地址在客户端程序中已写定,客户端无法随便切换服务器,需要耗费较多的资源维护现有服务器。
为了解决现有技术的问题,本实施例提供了一种MQTT连接系统,通过所述系统通过注册服务器对设备进行地址注册和MQTT地址分配,从而实现MQTT服务器与所述设备动态连接,避免了MQTT服务器升级维护导致设备无法正常使用,使用前一步返回的设备密钥对设备进行连接请求校验,保证了连接的准确性。系统包括:注册服务器,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;MQTT服务器,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息。
示例性设备
如图1中所示,本发明实施例提供一种MQTT连接系统,该装置包括所述系统包括注册服务器101和MQTT服务器102,其中:注册服务器101,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;MQTT服务器102,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息。本发明通过注册服务器对设备进行地址注册和MQTT地址分配,从而实现MQTT服务器与所述设备动态连接,避免了MQTT服务器升级维护导致设备无法正常使用,使用前一步返回的设备密钥对设备进行连接请求校验,保证了连接的准确性。
示例性方法
本实施例提供一种MQTT连接方法,该方法可以应用于注册服务器。
具体如图2中所示,所述方法包括:
步骤S100、基于HTTP协议,通过注册服务器接收设备发送的注册信息;
注册服务器中预先存储有地址,故可以通过注册服务器分配地址给设备,以便设备得到与设备连接的MQTT服务器。在此之前,设备需要发送注册信息给注册服务器,以便注册服务器进行MQTT地址分配。
得到注册信息后,就可以执行如图2中所述的如下步骤:S200、根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址;相应的,所述根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址包括如下步骤:
根据所述注册信息向所述设备返回基于HTTP协议的设备密钥。
具体地,注册服务器中预先存储有与设备一一对应的设备密钥,当设备需要进行MQTT连接时,通过HTTP协议连接预先存储的服务器注册地址,并向注册服务器发送注册信息,注册服务器获取到注册信息后,根据所述注册信息向所述设备返回设备密钥。
在一具体实施方式中,所述根据所述注册信息向所述设备返回基于HTTP协议的设备密钥具体包括如下步骤:根据所述注册信息和HTTP协议,对设备进行注册请求校验;当所述注册请求校验成功后,向所述设备返回设备密钥。
具体地,服务器获取到设备发送的注册信息后,根据所述注册信息,对设备进行注册请求校验,当注册请求校验成功后,向所述设备返回设备密钥;当注册请求校验失败后,设备需要再次连接预先存储的服务器注册地址,并向服务器发送注册信息,以便服务器再次根据注册信息对设备进行注册请求校验,当注册请求校验预设次数仍然失败后,表明存在网络问题。在一具体实施例中,所述预设次数为3次,即当注册请求校验3次仍然失败,表明存在网络问题。
在一具体实施方式中,所述注册信息包括设备信息和与所述设备信息对应的第一加密信息,所述根据所述注册信息和HTTP协议,对设备进行注册请求校验的步骤具体包括如下步骤:获取预先存储的第一私钥,根据所述第一私钥对所述设备信息进行加密,得到所述设备信息对应的第二加密信息;基于HTTP协议,将所述第一加密信息与所述第二加密信息进行比较,当所述第一加密信息与所述第二加密信息一致时,所述注册请求校验成功。
在一具体实施方式中,为了避免设备向注册服务器发送的信息被非法篡改,所述注册信息包括设备信息和与所设备信息对应的第一加密信息,所述第一加密信息为设备利用与注册服务器预先约定好的第一私钥对设备信息组成的字符串进行MD5加密得到。注册服务器对设备的注册请求进行校验时,首先获取预先存储的第一私钥,根据所述第一私钥对所述设备信息组成的字符串进行MD5加密得到第二加密信息,然后将第一加密信息和第二加密信息进行比较,当第一加密信息与第二加密信息一致时,则注册请求校验成功,否则,注册请求校验失败。
在一具体实施方式中,所述设备信息包括产品ID、设备ID以及设备名称,所述设备名称指预先定义的设备的名称,所述设备ID指所述设备的芯片出厂时烧录的唯一的MAC地址,所述产品ID指所述设备所属的产品对应的产品ID,例如,设备为某一型号的洗衣机时,该设备的产品ID即指洗衣机对应的产品ID。也就是说,所述第一加密信息为设备利用与服务器预先约定好的第一私钥对“产品ID+设备ID+设备名称”组成的字符串进行MD5加密得到。注册服务器对设备进行注册请求校验时,是利用第一私钥对“产品ID+设备ID+设备名称”组成的字符串进行MD5加密得到第二加密信息,然后根据第一加密信息和第二加密信息对设备进行注册请求校验。
得到设备密钥后,就可以获取所述设备根据所述设备密钥发送的请求信息,根据所述请求信息对所述设备进行连接请求校验。
具体地,设备接收到注册服务器返回的设备密钥后,再次通过HTTP协议连接预先存储的服务器注册地址,并根据所述设备密钥向注册服务器发送请求信息,注册服务器获取到设备发送的请求信息后,根据所述请求信息对所述设备进行连接请求校验,并根据连接请求校验结果向设备返回第一目标MQTT服务器对应的第一目标MQTT地址。本实施例中对设备进行连接请求校验后向设备返回的设备密钥,保证了连接的准确性。
在一具体实施方式中,所述请求信息包括连接信息和与所述连接信息对应的第三加密信息,所述根据所述请求信息对所述设备进行连接请求校验具体包括如下步骤:获取预先存储的第二私钥,根据所述第二私钥对所述连接信息进行加密,得到所述连接信息对应的第四加密信息;基于HTTP协议,将所述第三加密信息与所述第四加密信息进行比较,当所述第三加密信息与所述第四加密信息一致时,所述连接请求校验成功。
在一具体实施方式中,为了避免设备向注册服务器发送的信息被非法篡改,所述请求信息包括连接信息和与所述连接信息对应的第三加密信息,所述第三加密信息为设备利用与注册服务器预先约定好的第二私钥对连接信息组成的字符串进行MD5加密得到。注册服务器对设备的连接请求进行校验时,首先获取预先存储的第二私钥,根据所述第二私钥对所述连接信息组成的字符串进行MD5加密得到第四加密信息,然后将第三加密信息和第四加密信息进行比较,当第三加密信息与第四加密信息一致时,则所述连接请求校验成功,否则,所述连接请求校验失败。
在一具体实施方式中,当连接请求校验失败后,设备需要再次通过HTTP协议连接预先存储的服务器注册地址,并根据所述设备密钥向服务器发送请求信息,以便注册服务器根据所述请求信息再次对设备进行连接请求校验。当所述连接请求校验预设次数仍然失败,则视为设备密钥错误,设备需要从注册服务器重新获取设备密钥。在一具体实施例中,所述预设次数为3次,即当所述连接请求校验3次仍然失败,则视为设备密钥错误,设备需要从注册服务器重新获取设备密钥。
在一具体实施方式中,所述连接信息包括连接类型和设备密钥,所述第三加密信息为设备利用与注册服务器预先约定好的第二私钥对“连接类型+设备密钥”组成的字符串进行MD5加密得到。注册服务器对设备进行连接请求校验时,是利用第二私钥对“连接类型+设备密钥”组成的字符串进行MD5加密得到第四加密信息,然后根据第三加密信息和第四加密信息对设备进行连接请求校验。
当所述连接请求校验成功后,向所述设备返回目标MQTT服务器对应的目标MQTT地址,以实现所述设备与所述目标MQTT服务器的MQTT连接。
在一具体实施方式中,当所述连接请求校验成功后,注册服务器向所述设备返回目标MQTT服务器对应的目标MQTT地址,设备接收到目标MQTT地址后,使用MQTT协议连接目标MQTT地址,并向目标MQTT服务器发送订阅信息,目标MQTT服务器接收到设备发送的订阅信息后,根据所述订阅信息对设备进行订阅请求校验,订阅请求校验成功后,设备在目标MQTT服务器上订阅成功,否则,设备在目标MQTT服务器上订阅失败。
在一具体实施方式中,当设备在目标MQTT服务器上订阅失败后,设备需要再次通过MQTT协议连接目标MQTT地址,并向目标MQTT服务器发送订阅信息,以便目标MQTT服务器根据所述订阅信息再次对设备进行订阅请求校验。当所述订阅请求校验预设次数仍然失败,则视为密钥错误,设备需要从注册服务器重新获取设备密钥。在一具体实施例中,所述预设次数为3次,即当所述订阅请求校验3次仍然失败,则视为设备密钥错误,设备需要从注册服务器重新获取设备密钥。
在一具体实施方式中,设备在目标MQTT服务器上订阅成功后,可向目标MQTT服务器推送消息,如上线通知,自身状态信息等,目标MQTT服务器可向设备发送用于控制设备的控制指令,实现设备的智能控制。本实施例中将注册服务器和MQTT服务器分开,能够有效减缓服务器压力,后台只需保证注册服务器的稳定,注册服务器由于只处理注册问题和分派MQTT地址,数据量相对较小,维护较为简单,注册服务器可根据MQTT服务器状态给设备分配最合适的MQTT服务器地址,避免了MQTT服务器升级影响设备的使用。
在一具体实施方式中,所述订阅信息包括产品ID、设备ID、设备密钥以及第五加密信息,所述第五加密信息由设备利用预先存储的第三私钥对产品ID、设备ID以及设备密钥组成的字符串进行MD5加密得到。目标MQTT服务器根据订阅信息对设备的订阅请求进行校验时,是利用预先存储的第三私钥对设备发送的订阅信息中的产品ID、设备ID以及设备密钥组成的字符串进行MD5加密得到第六加密信息,然后将设备发送的订阅信息中的第五加密信息与第六加密信息进行比较,当第五加密信息与第六加密信息一致时,订阅请求校验成功。
在一具体实施方式中,向所述设备返回目标MQTT服务器对应的目标MQTT地址的步骤之前包括:获取若干候选MQTT服务器对应的若干候选MQTT地址和若干运行状态;根据所述若干运行状态从所述若干候选MQTT地址中确定目标MQTT服务器,以及从所述若干候选MQTT地址中确定目标MQTT服务器对应的目标MQTT地址。
得到注册信息后,就可以执行如图2中所述的如下步骤:S300、当所述连接请求校验成功后,向所述设备返回目标MQTT服务器对应的目标MQTT地址。
具体地,当所述连接请求校验成功后,注册服务器向所述设备返回目标MQTT地址,目标MQTT地址与目标MQTT服务器对应。为了避免由于MQTT服务器上连接的设备数量多或MQTT服务器升级维护,造成设备无法使用,本实施例中注册服务器在向设备返回返回目标MQTT服务器对应的目标MQTT地址之前,获取后台的若干候选MQTT服务器对应的若干候选MQTT地址和若干运行状态,然后根据所述若干运行状态从所述若干候选MQTT地址中确定目标MQTT服务器,以及从所述若干候选MQTT地址中确定目标MQTT服务器对应的目标MQTT地址。其中,所述运行状态包括连接的设备数量以及工作状态,所述工作状态包括正常工作和升级维护。
在一具体实施方式中,所述方法还包括:获取所述目标MQTT服务器对应的工作状态;当所述所述目标MQTT服务器对应的工作状态为升级维护时,向所述设备返回更新的目标MQTT服务器对应的更新的目标MQTT地址,以将所述设备的MQTT连接由所述目标MQTT服务器迁移至所述更新的目标MQTT服务器。
设备成功连接目标MQTT服务器后,注册服务器还实时获取所述目标MQTT服务器对应的工作状态,当所述目标MQTT服务器对应的工作状态为升级维护时,向所述设备返回更新的目标MQTT服务器对应的更新的目标MQTT地址,以将所述设备的MQTT连接由所述目标MQTT服务器迁移至所述更新的目标MQTT服务器,避免目标MQTT服务器升级维护对设备的使用造成影响。其中,与所述目标MQTT服务器和所述目标MQTT地址的确定方法类似,所述更新的目标MQTT服务器及所述更新的目标MQTT地址也是根据后台的若干候选MQTT服务器对应的若干候选MQTT地址和若干运行状态确定。
由此可见,本发明实施例系统包括:注册服务器,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;MQTT服务器,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息。本发明通过注册服务器对设备进行地址注册和MQTT地址分配,从而实现MQTT服务器与所述设备动态连接,避免了MQTT服务器升级维护导致设备无法正常使用,使用前一步返回的设备密钥对设备进行连接请求校验,保证了连接的准确性。
基于上述实施例,本发明还提供了一种服务器,其原理框图可以如图3所示。该服务器包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该服务器的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种MQTT连接方法。该服务器的显示屏可以是液晶显示屏或者电子墨水显示屏,该服务器的温度传感器是预先在服务器内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图3中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种服务器,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
基于HTTP协议,通过注册服务器接收设备发送的注册信息;
根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址;
基于MQTT协议,将目标MQTT地址对应的MQTT服务器与所述设备进行连接。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种MQTT连接系统及其连接方法、服务器和存储介质,系统包括:注册服务器,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;MQTT服务器,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息。本发明通过注册服务器对设备进行地址注册和MQTT地址分配,从而实现MQTT服务器与所述设备动态连接,避免了MQTT服务器升级维护导致设备无法正常使用,使用前一步返回的设备密钥对设备进行连接请求校验,保证了连接的准确性。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种MQTT连接系统,其特征在于,所述系统包括:
注册服务器,用于通过HTTP协议对设备进行地址注册和MQTT地址分配;
基于HTTP协议,通过注册服务器接收设备发送的注册信息;
根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址;
所述根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址包括:
根据所述注册信息向所述设备返回基于HTTP协议的设备密钥;
获取所述设备根据所述设备密钥发送的请求信息,根据所述请求信息对所述设备进行连接请求校验;
当所述连接请求校验成功后,向所述设备返回目标MQTT服务器对应的目标MQTT地址;
所述根据所述注册信息向所述设备返回基于HTTP协议的设备密钥的步骤具体包括:
根据所述注册信息和HTTP协议,对设备进行注册请求校验;
当所述注册请求校验成功后,向所述设备返回设备密钥;
当注册请求校验失败后,所述设备需要再次连接预先存储的服务器注册地址,并向服务器发送注册信息,以便服务器再次根据注册信息对设备进行注册请求校验,当注册请求校验达到预设次数仍然失败后,表明存在网络问题;
所述注册服务器中预先存储有与设备对应的设备密钥;
MQTT服务器,通过MQTT协议与所述设备动态连接,并用于接收设备发送的订阅信息以及向设备发送推送消息;基于MQTT协议,将目标MQTT地址对应的MQTT服务器与所述设备进行连接。
2.一种基于权利要求1所述的MQTT连接系统的连接方法,其特征在于,所述方法包括:
基于HTTP协议,通过注册服务器接收设备发送的注册信息;
根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址;
基于MQTT协议,将目标MQTT地址对应的MQTT服务器与所述设备进行连接;
所述根据HTTP协议和所述注册信息,对所述设备进行MQTT地址分配,得到目标MQTT服务器对应的目标MQTT地址包括:
根据所述注册信息向所述设备返回基于HTTP协议的设备密钥;
获取所述设备根据所述设备密钥发送的请求信息,根据所述请求信息对所述设备进行连接请求校验;
当所述连接请求校验成功后,向所述设备返回目标MQTT服务器对应的目标MQTT地址;
所述根据所述注册信息向所述设备返回基于HTTP协议的设备密钥的步骤具体包括:
根据所述注册信息和HTTP协议,对设备进行注册请求校验;
当所述注册请求校验成功后,向所述设备返回设备密钥;
当注册请求校验失败后,所述设备需要再次连接预先存储的服务器注册地址,并向服务器发送注册信息,以便服务器再次根据注册信息对设备进行注册请求校验,当注册请求校验达到预设次数仍然失败后,表明存在网络问题;
所述注册服务器中预先存储有与设备对应的设备密钥。
3.根据权利要求2所述的基于MQTT连接系统的连接方法,其特征在于,所述注册信息包括设备信息和与所述设备信息对应的第一加密信息。
4.根据权利要求3所述的基于MQTT连接系统的连接方法,其特征在于,所述根据所述注册信息和HTTP协议,对设备进行注册请求校验的步骤具体包括:
获取预先存储的第一私钥,根据所述第一私钥对所述设备信息进行加密,得到所述设备信息对应的第二加密信息;
基于HTTP协议,将所述第一加密信息与所述第二加密信息进行比较,当所述第一加密信息与所述第二加密信息一致时,所述注册请求校验成功。
5.根据权利要求2所述的基于MQTT连接系统的连接方法,其特征在于,所述请求信息包括连接信息和与所述连接信息对应的第三加密信息。
6.根据权利要求5所述的基于MQTT连接系统的连接方法,其特征在于,所述根据所述请求信息对所述设备进行连接请求校验的步骤包括:
获取预先存储的第二私钥,根据所述第二私钥对所述连接信息进行加密,得到所述连接信息对应的第四加密信息;
将所述第三加密信息与所述第四加密信息进行比较,当所述第三加密信息与所述第四加密信息一致时,所述连接请求校验成功。
7.一种服务器,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求2-6中任意一项所述的MQTT连接方法的步骤。
8.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求2-6中任意一项所述的MQTT连接方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111394530.5A CN113992735B (zh) | 2021-11-23 | 2021-11-23 | 一种mqtt连接系统及其连接方法、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111394530.5A CN113992735B (zh) | 2021-11-23 | 2021-11-23 | 一种mqtt连接系统及其连接方法、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992735A CN113992735A (zh) | 2022-01-28 |
CN113992735B true CN113992735B (zh) | 2024-05-24 |
Family
ID=79750049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111394530.5A Active CN113992735B (zh) | 2021-11-23 | 2021-11-23 | 一种mqtt连接系统及其连接方法、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992735B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914197A (zh) * | 2022-11-29 | 2023-04-04 | 重庆长安汽车股份有限公司 | 基于mqtt协议的远程车控系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3043535A1 (en) * | 2015-01-09 | 2016-07-13 | Verisign, Inc. | Systems and methods for registering, managing, and communicating with iot devices using domain name system processes |
CN111049901A (zh) * | 2019-12-11 | 2020-04-21 | 深圳市优必选科技股份有限公司 | 一种负载均衡方法、负载均衡系统及注册服务器 |
CN111314366A (zh) * | 2020-02-25 | 2020-06-19 | 广州致远电子有限公司 | 一种基于mqtt协议的安全登录系统及方法 |
WO2021004054A1 (zh) * | 2019-07-05 | 2021-01-14 | 创新先进技术有限公司 | 证书申请方法、装置、终端设备、网关设备和服务器 |
WO2021083083A1 (zh) * | 2019-10-29 | 2021-05-06 | 京东方科技集团股份有限公司 | 一种升级方法、系统、服务器及终端设备 |
-
2021
- 2021-11-23 CN CN202111394530.5A patent/CN113992735B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3043535A1 (en) * | 2015-01-09 | 2016-07-13 | Verisign, Inc. | Systems and methods for registering, managing, and communicating with iot devices using domain name system processes |
WO2021004054A1 (zh) * | 2019-07-05 | 2021-01-14 | 创新先进技术有限公司 | 证书申请方法、装置、终端设备、网关设备和服务器 |
WO2021083083A1 (zh) * | 2019-10-29 | 2021-05-06 | 京东方科技集团股份有限公司 | 一种升级方法、系统、服务器及终端设备 |
CN111049901A (zh) * | 2019-12-11 | 2020-04-21 | 深圳市优必选科技股份有限公司 | 一种负载均衡方法、负载均衡系统及注册服务器 |
CN111314366A (zh) * | 2020-02-25 | 2020-06-19 | 广州致远电子有限公司 | 一种基于mqtt协议的安全登录系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113992735A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108376079B (zh) | 自动应用更新 | |
CN112073405B (zh) | 网页数据加载方法、装置、计算机设备及存储介质 | |
US11055085B2 (en) | Method, apparatus, and system for hot-deploying application | |
CN108563958B (zh) | 角色权限更新方法、装置、计算机设备和存储介质 | |
CN110535971B (zh) | 基于区块链的接口配置处理方法、装置、设备及存储介质 | |
CN109542366B (zh) | 基于浏览器的打印方法、装置、设备和存储介质 | |
CN112068818B (zh) | 业务交互方法、装置、计算机设备及存储介质 | |
CN112468540B (zh) | 基于云平台的数据分发方法、设备及介质 | |
CN112437000A (zh) | 消息队列推送方法、装置、计算机设备及存储介质 | |
CN109040263B (zh) | 基于分布式系统的业务处理方法及装置 | |
CN113992735B (zh) | 一种mqtt连接系统及其连接方法、服务器和存储介质 | |
CN110839014A (zh) | 一种认证方法、装置、计算机系统及可读存储介质 | |
US10771462B2 (en) | User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal | |
CN113469736A (zh) | 资源分发控制方法、装置、系统、电子设备及存储介质 | |
CN109194742B (zh) | 一种虚拟机控制台的连接方法、装置及存储介质 | |
CN112446723A (zh) | 确定用户邀请关系的方法、计算机可读存储介质和设备 | |
CN113472823B (zh) | 一种服务器访问方法、装置、智能终端及存储介质 | |
CN102629932A (zh) | 通过web应用程序控制嵌入式设备的方法 | |
CN110278248B (zh) | 遗嘱消息分发方法、装置及计算机可读存储介质 | |
CN109697131B (zh) | 进程间参数管理、同步方法及装置 | |
CN109657178B (zh) | 页面表单处理方法、装置、计算机设备及存储介质 | |
CN113469735B (zh) | 资源处理方法、装置、电子设备及存储介质 | |
CN113133027A (zh) | 一种通信方法、服务器、终端及通信系统 | |
AU2018373682A1 (en) | Method for remote management of a device connected to a residential gateway | |
CN113204477B (zh) | 应用测试方法、装置、电子设备及存储介质 |
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 |