CN109274730B - 物联网系统、mqtt消息传输的优化方法及装置 - Google Patents
物联网系统、mqtt消息传输的优化方法及装置 Download PDFInfo
- Publication number
- CN109274730B CN109274730B CN201811024738.6A CN201811024738A CN109274730B CN 109274730 B CN109274730 B CN 109274730B CN 201811024738 A CN201811024738 A CN 201811024738A CN 109274730 B CN109274730 B CN 109274730B
- Authority
- CN
- China
- Prior art keywords
- message
- internet
- things
- subscription
- cache
- 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
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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
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)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了物联网系统、MQTT消息传输的优化方法及装置,该方法包括:如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位;提取处于所述第一消息缓存环中首位的第一缓存消息;如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中。上述方案解决了现有技术当业务量达到百万级别以上或请求频率过高时不能达到增量业务要求的问题,提高了消息处理的能力,突破了百万连接的瓶颈,达到了增量业务的持续扩展要求。
Description
技术领域
本发明实施例涉及物联网通信技术领域,尤其涉及一种物联网系统、MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)消息传输的优化方法及装置。
背景技术
随着物联网(Internet of Things,IOT)的普及和商业化,物联网复杂通信环境的消息协议至关重要。MQTT协议是国际商业机器公司(International Business MachinesCorporation,IBM)开发的一个即时通讯协议,是目前物联网消息传输推荐的协议。MQTT协议拥有很小的传输消耗和协议数据交换,可以最大限度的减少网络流量,为物联网客户端保持更低的电量消耗和更高效的通讯效果。
基于MQTT协议的方案支持百万级物联网客户端,但也仅仅止于此。对于业务量更高,瞬间网络请求峰值波动等情况,都没有很好的解决方案,这样就导致当业务量达到百万级别以上,或请求频率过高时,会触及到MQTT协议性能的瓶颈,不能达到增量业务的要求。
发明内容
本发明提供一种物联网系统、MQTT消息传输的优化方法及装置,以实现在千万级物联网设备、高并发的网络请求中能持续提供有效的增量业务服务的要求。
第一方面,本发明实施例提供了一种物联网系统,包括:至少两个物联网客户端、至少一个消息队列遥测传输协议MQTT代理服务器以及服务注册中心,
其中,所述服务注册中心,分别与各所述至少两个物联网客户端以及各所述MQTT代理服务器建立连接,用于对各所述MQTT代理服务器运行状态进行监控,并将处于在线状态的在线MQTT代理服务器指定给至少两个待通信的物联网客户端,以使所述至少两个待通信的物联网客户端通过所述在线MQTT代理服务器进行消息传输。
第二方面,本发明实施例还提供了一种MQTT消息传输的优化方法,应用于MQTT代理服务器,该优化方法包括:
如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位;
提取处于所述第一消息缓存环中首位的第一缓存消息;
如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中。
第三方面,本发明实施例还提供了一种MQTT消息传输的优化装置,包括:
覆盖缓存模块,用于如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位;
提取模块,用于提取处于所述第一消息缓存环中首位的第一缓存消息;
存储模块,用于如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中。
第四方面,本发明实施例还提供了一种MQTT代理服务器,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第二方面所述的MQTT消息传输的优化方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第二方面所述的MQTT消息传输的优化方法。
本发明实施例提供一种物联网系统、MQTT消息传输的优化方法及装置,包括:至少两个物联网客户端、至少一个消息队列遥测传输协议MQTT代理服务器以及服务注册中心,其中,所述服务注册中心,分别与各所述至少两个物联网客户端以及各所述MQTT代理服务器建立连接,用于对各所述MQTT代理服务器运行状态进行监控,并将处于在线状态的在线MQTT代理服务器指定给至少两个待通信的物联网客户端,以使所述至少两个待通信的物联网客户端通过所述在线MQTT代理服务器进行消息传输,解决了现有技术中当业务量达到百万级别以上或请求频率过高时不能达到增量业务要求的问题,提高了消息处理的能力,突破了百万连接的瓶颈,达到了增量业务的持续扩展要求。
附图说明
图1为本发明实施例一提供的一种物联网系统的结构图;
图2为物联网客户端通过MQTT代理服务器进行信息传输的示意图;
图3为本发明实施例二提供的一种MQTT消息传输的优化方法的流程图;
图4为本发明实施例二提供的哈希存储订阅消息的实现流程图;
图5为本发明实施例三提供的一种MQTT消息传输的优化方法;
图6为本发明实施例四提供的一种MQTT消息传输的优化装置的结构图;
图7为本发明实施例五提供的一种MQTT代理服务器。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种物联网系统的结构图。参考图1,该物联网系统包括:至少两个物联网客户端、至少一个消息队列遥测传输协议MQTT代理服务器130以及服务注册中心140。
其中,所述服务注册中心140,分别与各所述至少两个物联网客户端以及各所述MQTT代理服务器130建立连接,用于对各所述MQTT代理服务器运行状态进行监控,并将处于在线状态的在线MQTT代理服务器130指定给至少两个待通信的物联网客户端,以使所述至少两个待通信的物联网客户端通过所述在线MQTT代理服务器130进行消息传输。
本实施例提供的物联网系统为一个适用于千万级物联网客户端通信的系统,其主要通过服务注册中心140实现对物联网客户端及MQTT代理服务器130的分配管理,实现物联网客户端的集群化。具体的,该物联网系统中包括了至少一个MQTT代理服务器130。每个MQTT代理服务器130都可以在服务注册中心140上进行注册,从而使服务注册中心140能够监测MQTT代理服务器130的在线状态,并根据在线状态为待通信的物联网客户端进行MQTT代理服务器130的分配。当多个MQTT代理服务器130同时并行工作时,就保证了对千万级物联网客户端的高效服务。
为了便于表述物联网系统中各组件的功能及工作过程,图1以两个物联网客户端和一个MQTT代理服务器130为例。同时为了便于对两个物联网客户端的工作过程进行描述,将两个物联网客户端分别记为第一物联网客户端110和第二物联网客户端120。其中,第一物联网客户端110和第二物联网客户端120可以具有相同的功能,也可以具有不同功能,具体可以根据实际需要选择。
物联网客户端作为客户端,可以是物联网设备,也可以是大数据/业务处理。其中,物联网设备可以上报指令信息,也可以发送订阅信息,上报指令信息也可以理解为是发布消息。大数据/业务处理可以接收上报数据,也可以发送下发指令。本实施例以第一物联网客户端110为物联网设备,第二物联网客户端120为大数据/业务处理为例。
示例性的,第二物联网客户端120需要第一物联网客户端110执行某个操作时,第二物联网客户端120下发指令信息给MQTT代理服务器130。MQTT代理服务器130接收该下发指令信息后,对该下发指令信息处理,并将处理后的下发指令消息发送给第一物联网客户端110。第一物联网客户端110根据该下发指令信息执行相应的操作。第一物联网客户端110执行完相应的操作后将执行结果上报给MQTT代理服务器130。MQTT代理服务器130对上报结果进行处理,当第二物联网客户端120给MQTT代理服务器130发送订阅消息以获取第一物联网客户端110的执行结果时,MQTT代理服务器130将该上报结果发送给第二物联网客户端120。当然,也可以设置第一物联网客户端110为大数据/业务处理,第二物联网客户端120为物联网设备。
MQTT代理服务器130作为服务端,具体可看作第一物联网客户端110与第二物联网客户端120之间的通信中介,以实现第一物联网客户端110与第二物联网客户端120之间的消息传输。进一步的,MQTT代理服务器130注册在服务注册中心140,以使服务注册中心140监控MQTT代理服务器130的工作状态。例如,监控MQTT代理服务器130是否处于在线的工作状态,若是,则服务注册中心140可将在线的MQTT代理服务器130指定给待通信的物联网客户端。
具体的,当第一物联网客户端110与第二物联网客户端120需要进行消息传输时,服务注册中心140分别与第一物联网客户端110、第二物联网客户端120和MQTT代理服务器130建立连接。若服务注册中心140监控到MQTT代理服务器130在线,则将在线的MQTT代理服务器130指定给第一物联网客户端110与第二物联网客户端120,以使第一物联网客户端110与第二物联网客户端120通过在线的MQTT代理服务器130进行消息传输。其中,服务注册中心140与第一物联网客户端110和第二物联网客户端120之间的连接指的是服务注册中心140获取第一物联网客户端110和第二物联网客户端120的地址。
图1中服务注册中心140与第一物联网客户端110和第二物联网客户端120之间的虚线则表示服务注册中心140获取第一物联网客户端110和第二物联网客户端120的地址。服务注册中心140与MQTT代理服务器130的连接指的是MQTT代理服务器130注册在服务注册中心140。图1中的实线则表示MQTT代理服务器130注册在服务注册中心140。第一物联网客户端110和第二物联网客户端120分别与MQTT代理服务器130进行虚线连接,表示第一物联网客户端110和第二物联网客户端120通过MQTT代理服务器130进行信息传输。
示例性的,参考图2,图2为物联网客户端通过MQTT代理服务器进行信息传输的示意图。图2中双向箭头表示第一物联网客户端110和第二物联网客户端120之间的通信是双向的。第一物联网客户端110发送消息,通信框架接收消息后发送给第一消息缓存环,然后由第一消息缓存环发送给协议处理器进行处理,并由第二消息缓存环通过通信框架发送给第二物联网客户端120,以实现第一物联网客户端110和第二物联网客户端120之间的消息传输。当有订阅消息时,协议处理器对订阅消息进行处理,获取订阅消息的订阅主题,并存入预设的订阅关系数据库,以便有发布消息时,可以和预设的订阅关系数据库中的订阅主题进行匹配,发送给有订阅需求的物联网客户端。其中,通信框架用于实现各个物联网客户端的通信,获取各个物联网客户端的消息,第一消息缓存环和第二消息缓存环用于缓存消息,协议处理器用于处理缓存消息。
需要说明的是,所述第一消息缓存环和第二消息缓存环中的缓存消息可以是指令消息,也可以是发布消息或订阅消息,所述协议处理器可以包括多种子协议处理器,每种子协议处理器可以对应处理一种消息类型的缓存消息,如订阅子协议处理器,可用于处理订阅类型的缓存消息。进一步的,MQTT代理服务器130注册在服务注册中心140,可以实现设备的集群化监控管理,解决了大量分散的物联网设备的集中管理问题。同时可以监控MQTT代理服务器130的状态,根据MQTT代理服务器130的状态实现物联网客户端之间的信息传输,避免了因多个物联网设备同时连接同一个MQTT代理服务器130,造成MQTT代理服务器130的性能降低的情况,突破了百万连接的瓶颈,满足千万级的物联网客户端的业务需求。
本发明实施例一提供一种物联网系统,包括至少两个物联网客户端、至少一个消息队列遥测传输协议MQTT代理服务器以及服务注册中心,其中,所述服务注册中心,分别与各所述至少两个物联网客户端以及各所述MQTT代理服务器建立连接,用于对各所述MQTT代理服务器运行状态进行监控,并将处于在线状态的在线MQTT代理服务器指定给至少两个待通信的物联网客户端,以使所述至少两个待通信的物联网客户端通过所述在线MQTT代理服务器进行消息传输,解决了现有技术中当业务量达到百万级别以上或请求频率过高时不能达到增量业务要求的问题,提高了消息处理的能力,突破了百万连接的瓶颈,达到了增量业务的持续扩展要求。
在上述实施例的基础上,所述至少两个物联网客户端,用于向所述服务注册中心指定的MQTT代理服务器发送发布消息或订阅消息;
所述MQTT代理服务器,用于接收第一物联网客户端发送的订阅消息,并对所述订阅消息进行分析处理,确定所述订阅消息的订阅主题;
所述MQTT代理服务器,还用于接收第二物联网客户端发送的发布消息,确定所述发布消息对应的目标订阅主题,并将所述发布消息传输给对应所述目标订阅主题的物联网客户端。
具体的,第一物联网客户端110和第二物联网客户端120之间通过向服务注册中心140指定的MQTT代理服务器130发送发布消息或订阅消息以实现第一物联网客户端110和第二物联网客户端120之间的信息传输。其中,第一物联网客户端110和第二物联网客户端120既可以发送发布消息,也可以发送订阅消息。例如,第一物联网客户端110可以发送发布消息以供第二物联网客户端120订阅,也可以发送订阅消息,以订阅第二物联网客户端120发送的发布消息。当第一物联网客户端110发送订阅消息时,MQTT代理服务器130对接收的订阅消息进行拆分处理,以确定订阅主题,以便当有对应的发布消息时,可以发送给对应的第二物联网客户端120。
实施例二
图3为本发明实施例二提供的一种MQTT消息传输的优化方法的流程图。该方法应用于上述实施例所述的MQTT代理服务器,具体包括:
S210、如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位。
第一消息缓存环的首位是指第一消息缓存环中消息最先被处理的位置。当第一消息缓存环缓存消息的速度大于协议处理器处理消息的速度时,会导致第一消息缓存环的空间均被占用。若第一消息缓存环的空间均被占用,再有消息到来时不能得到及时处理,出现延迟。示例性的,物联网客户端需执行电梯开门操作,发送开门指令信息,由于第一消息缓存环的空间均被占用,开门指令信息不能及时被处理,需要延迟一段时间,导致在允许电梯开门的时候没有开门,而在不允许电梯开门的时候门却打开了。这对于乘客来说是非常危险的,也是不允许的。为了避免这种情况,需要对第一缓存环的缓存空间进行监测,以提高消息处理的能力。
如果监测到第一消息缓存环的缓存空间均被占用,为了保证最新消息得到及时处理,需要将接收的待缓存消息覆盖缓存至第一消息缓存环的首位,以最新接收的待缓存的消息代替第一消息缓存环的首位的消息。示例性的,第一消息缓存环允许缓存的消息是23个,并对其按照接收顺序进行1、2、…、23编号,当第24个消息到来时,为了避免延迟,需要以第24个消息覆盖编号为1的消息,即丢掉编号为1的消息,使编号为24的消息得到及时的处理。
S220、提取处于所述第一消息缓存环中首位的第一缓存消息。
第一缓存消息是第一消息缓存环中优先被处理的消息。若第一消息缓存环的缓存空间未被全部占用,则第一缓存消息即第一消息缓存环中编号为1的消息。若第一消息缓存环的缓存空间均被占用,则第一缓存消息为第24个消息。
S230、如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中。
其中,所述物联网客户端由上述实施例物联网系统中的服务注册中心分配给所述MQTT代理服务器。设定存储策略具体可指有订阅消息时,对订阅消息进行存储所依据的策略。例如基于该策略可以对订阅消息按照层级结构划分,并分别存储。也可以具体按照某一层级存储,如第一层级。本实施例不对存储策略进行具体限定,可以根据实际需要设定。根据该存储策略即可将接收的订阅消息存储到预设的订阅关系数据库中。
哈希存储具体可理解为对订阅消息的订阅主题进行拆分并根据拆分项将订阅消息存储到哈希链表中。具体的,根据上述实施例所提供物联网系统的描述,本步骤的实现具体可依据MQTT代理服务器上的协议处理器进行。首先协议处理器分析订阅消息,获取订阅主题,并对订阅主题进行层级划分,然后根据设定存储策略选取某一层级,并将该层级作为哈希的关键字,进行哈希,将该层级存储到指定的数据桶中。该数据桶存储于预设的订阅关系数据库。预设的订阅关系数据库中还包括发送该订阅消息的物联网客户端的地址、设备编号等相关信息,以便当找到与该订阅消息相匹配的发布消息时,可以准确的将该发布消息发送给对应的物联网客户端。
本发明实施例提供一种MQTT消息传输的优化方法,如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位;提取处于所述第一消息缓存环中首位的第一缓存消息;如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中,解决了现有技术中消息处理过程不持久的问题,减少了冗余,提高了消息处理的能力,保证了消息处理过程的持久化。
进一步的,本实施例还可以将S230的“根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中”进行优化,具体参考图4,图4为本发明实施例二提供的哈希存储订阅消息的实现流程图,其具体包括如下操作:
S231、分析提取所述订阅消息的订阅主题,获取所述订阅主题的第一层级信息。
协议处理器接收订阅消息后,对该订阅消息进行分析,获取其订阅主题,并对订阅主题进行拆分,以将其存储到对应的数据桶中,便于后续的匹配。订阅主题的不同,拆分的层级也不同。例如,订阅主题AA-BB,可以被拆分成AA和AA-BB两层。再如,订阅主题AA-BB-CC,可以被拆分成AA、AA-BB和AA-BB-CC三层。此时可以根据实际需要获取订阅主题的某一层级信息。可以看出,每层信息中都包含AA。为了便于存储,将AA作为第一层级信息。其中,第一层级信息可以是设备编号、指令类型或指令数据等,具体是什么信息也可以根据情况设定。优选的,本实施例设定第一层级信息为设备编号。如此,虽然订阅主题分为不同的层级,但由于每个层级都包含设备编号这一信息,因此,根据某种策略即可将同一设备编号的不同层级信息会存入同一数据桶中。例如哈希策略。
S232、将所述第一层级信息作为所述订阅消息的关键信息。
为了将相同设备编号的不同层级信息存储到同一数据桶中,减少冗余,需要将第一层级信息设备编号作为订阅消息的关键信息,即将设备编号作为哈希的关键字执行哈希,得到哈希值,根据该值即可将相同设备编号的不同层级信息存入同一数据桶中,便于后续的匹配,缩短时间,提高匹配效率。
示例性的,某物联网客户端希望订阅的主题是AA-BB-CC。协议处理器对该订阅主题进行拆分处理,分别得到第一层级信息AA,第二层级信息AA-BB,第三层级信息AA-BB-CC。其中,第一层级信息是设备编号,第二层级信息是指令类型,第三层级信息是指令数据。将第一层级信息设备编号作为哈希的关键字,即可将设备编号、指令类型和指令数据存入同一数据桶中。
S233、在所述订阅关系数据库中查找与所述关键信息匹配的物联网客户端地址。
查找物联网客户端地址的目的是便于将与订阅主题相匹配的发布消息根据地址发送给对应的物联网客户端。具体的,不同的设备编号对应不同的数据桶,而设备编号通常与物联网客户端的地址相关联,因此,可以在订阅关系数据库中查找与关键信息匹配的数据桶,根据数据桶确定物联网客户端的地址。
S234、将所述订阅消息哈希存储到所述物联网客户端地址关联的数据桶中。
将订阅消息哈希存储到物联网客户端地址关联的数据桶中,当有对应的发布消息到来时,可以根据发布消息的主题查找对应的数据桶,进而根据查找到的数据桶获取物联网客户端的地址。
实施例三
图5为本发明实施例三提供的一种MQTT消息传输的优化方法。本实施例在上述实施例的基础上进行优化,具体的,该方法包括:
S310、如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位。
S320、提取处于所述第一消息缓存环中首位的第一缓存消息。
S330、判断所述第一缓存消息是否为物联网客户端发送的发布消息,若是,则执行S350,否则,执行S340。
S340、根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中。
S350、根据所述订阅关系数据库,确定订阅所述发布消息的目标物联网客户端。
在本实施例中,当确定第一缓存消息为发布消息时,可以执行本步骤的操作,一般地,发布消息的物联网客户端和订阅消息的物联网客户端可以是同一个物联网客户端,也可以是不同的物联网客户端,实施例对此不作限定。协议处理器获取发布消息时,对发布消息进行分析,获取发布消息的主题,并根据订阅关系数据库,查找与发布消息匹配的数据桶,进而获取与发布消息匹配的物联网客户端地址,即目标物联网客户端。
进一步的,本实施例将确定订阅所述发布消息的目标物联网客户端具体优化为:分析所述发布消息,确定所述发布消息对应的订阅主题;在所述订阅关系数据库中查找对应于所述订阅主题的目标物联网客户端地址;获取所述目标物联网客户端地址对应的目标物联网客户端。
可以理解的是,无论是订阅消息还是发布消息,协议处理器接收后都会对其进行分析处理,获取消息的主题。当协议处理器接收的是发布消息时,分析发布消息的主题,在订阅关系数据库中查找与对应于所述订阅主题的目标物联网客户端地址,并根据该地址发送给对应的目标物联网客户端。
S360、将所述发布消息及所述目标物联网客户端作为第二缓存消息。
在本实施例中,第二缓存消息相当于经协议处理器处理后的缓存消息。协议处理器在查找到与订阅主题相匹配的发布消息,发送给目标物联网客户端之前,需要先将第二缓存消息缓存至第二消息缓存环,由第二消息缓存环通过通信框架发送给目标物联网客户端,以完成订阅消息的发布。
S370、根据第二消息缓存环的缓存状态缓存所述第二缓存消息。
第二消息缓存环的工作过程与第一消息缓存环类似,也需要根据第二消息缓存环的缓存状态缓存第二缓存消息。当第二消息缓存环的缓存空间均被占用时,将协议处理器最新处理完的消息缓存至第二消息缓存环的首位,优先发给目标物联网客户端。
进一步的,为了将匹配好的发布消息及时的发送给目标物联网客户端,本实施例将根据第二消息缓存环的缓存状态缓存所述第二缓存消息具体化为:如果所述缓存状态为缓存空间均被占用,则将所述第二缓存消息覆盖至所述第二消息缓存环的首位。
可以理解的是,第二消息缓存环的优化过程与第一消息缓存环的优化过程类似,此处不再赘述。这样设置的好处是:可以将匹配好的发布消息及时的发送给目标物联网客户端,避免延迟,提高消息处理性能。
S380、将所述发布消息发送至所述目标物联网客户端。
本步骤中的发布消息相当于处于第二缓存消息环首位的第二缓存消息,本步骤可以从第二缓存消息环的首位提取该发布消息,然后通过通信框架发送给目标物联网客户端。
本发明实施例三提供的一种MQTT消息传输的优化方法,根据物联网客户端发送的是发布消息还是订阅消息分别处理,并针对发布消息进行分析处理,查找与其对应的订阅消息,发送给目标物联网客户端,提高了匹配的效率,加快了消息处理的速度。
进一步的,为了避免消费线程的状态频繁的改变,实施例中还优化包括了:设定第一消息缓存环和第二消息缓存环处于循环检查的状态,以实时接收待缓存消息。
具体的,通信框架中的消息通过消费线程发送给第一消息缓存环或者是由第二消息缓存环通过消费线程发送给通信框架。当通信框架中没有消息时,消费线程处于阻塞状态,即等待唤醒,当通信框架有消息发送给第一消息缓存环时,通信线程被唤醒,这样导致消费线程的状态频繁的改变,导致性能低下。循环检查状态是指第一消息缓存环和/或第二消息缓存环循环检查通信框架中是否有发布消息或订阅消息到来。设定第一消息缓存环和第二消息缓存环处于循环检查状态的好处是:无需频繁的唤醒消费线程,使得消费线程的状态保持不变,提高了消息处理的性能。
进一步的,为了提高物联网系统的安全性,本实施例还优化增加了:确定发送所述待缓存消息的物联网客户端是否为已标记的白名单客户端;若是,则接收所述待缓存消息。
具体地,本实施例对待缓存消息的物联网客户端进行检测,确定其是否为已标记的白名单客户端,若是,则表明该物联网客户端的安全性较高,对该物联网系统没有威胁,可以接收待缓存消息,否则,可认为该物联网客户端存在一定的危险性,由此可拒绝接收其发送的待缓存消息。
进一步的,为了将匹配好的发布消息发送给有需求的目标物联网客户端,本实施例还具体包括了:如果接收的待缓存消息为任一物联网客户端发送的订阅消息,则确定所述订阅消息相对所述物联网客户端的处理优先级;如果所述处理优先级属于当前不处理范围,则接收到所述订阅消息对应的目标发布消息时,不再向所述物联网客户端发送所述目标发布消息。
需要说明的是,处理优先级具体可用于物联网客户端对订阅消息所匹配发布消息的接收时机的限定,该接收时机可以是立即接收也可以是不接收或延时接收。示例性的,若设定物联网客户端的处理优先级为立即处理,则当找到与订阅消息相匹配的发布消息时,就立即向该物联网客户端发送发布消息,又若,设定物联网客户端的处理优先级为非立即处理时,相当于所设定的处理优先级属于当前不处理范围,此时可不再向物联网客户端发送确定的发布消息,可只将该发布消息发送给其他有同样需求的物联网客户端,例如发给当前订阅消息较少的物联网客户端。其中,当前不处理范围可以理解为可不处理或非立即处理。这样设置的好处是:可以根据当前物联网客户端的实际需求发送对应的发布消息,满足不同物联网客户端的需求,使消息处理更具多样化。
实施例四
图6为本发明实施例四提供的一种MQTT消息传输的优化装置的结构图。该优化装置可以执行上述实施例MQTT消息传输的优化方法。具体的,该优化装置包括:
覆盖缓存模块610,用于如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位;
提取模块620,用于提取处于所述第一消息缓存环中首位的第一缓存消息;
存储模块630,用于如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中;
其中,所述物联网客户端由上述实施例所述物联网系统中的服务注册中心分配给所述MQTT代理服务器。
本发明实施例四提供一种MQTT消息传输的优化装置,通过监测第一消息缓存环的缓存空间是否均被占用,当第一消息缓存环的缓存空间均被占用时,将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位,解决了现有技术中消息处理过程不持久的问题,提高了消息处理的能力,保证了消息处理过程的持久化。
在上述实施例的基础上,所述存储模块630包括:
分析提取单元,用于分析提取所述订阅消息的订阅主题,获取所述订阅主题的第一层级信息;
关键信息获取单元,用于将所述第一层级信息作为所述订阅消息的关键信息;
查找单元,用于在所述订阅关系数据库中查找与所述关键信息匹配的物联网客户端地址;
存储单元,用于将所述订阅消息哈希存储到所述物联网客户端地址关联的数据桶中。
在上述实施例的基础上,该优化装置还包括:
确定模块,用于如果所述第一缓存消息为物联网客户端发送的发布消息,则根据所述订阅关系数据库,确定订阅所述发布消息的目标物联网客户端;
发送模块,用于将所述发布消息发送至所述目标物联网客户端。
在上述实施例的基础上,所述确定模块包括:
分析单元,用于分析所述发布消息,确定所述发布消息对应的订阅主题;
地址查找单元,用于在所述订阅关系数据库中查找对应于所述订阅主题的目标物联网客户端地址;
获取单元,用于获取所述目标物联网客户端地址对应的目标物联网客户端。
在上述实施例的基础上,所述发送模块包括:
第二缓存消息获取单元,用于在将所述发布消息发送至所述目标物联网客户端之前,将所述发布消息及所述目标物联网客户端作为第二缓存消息;
缓存单元,用于根据第二消息缓存环的缓存状态缓存所述第二缓存消息。
在上述实施例的基础上,所述缓存单元包括:
覆盖子单元,用于如果所述缓存状态为缓存空间均被占用,则将所述第二缓存消息覆盖至所述第二消息缓存环的首位。
在上述实施例的基础上,该优化装置还包括:
实时接收模块,用于设定所述第一消息缓存环及所述第二消息缓存环处于循环检查状态,以实时接收待缓存的消息。
在上述实施例的基础上,该优化装置还包括:
判断模块,用于确定发送所述待缓存消息的物联网客户端是否为已标记的白名单客户端;
接收模块,用于若是,则接收所述待缓存消息。
在上述实施例的基础上,该优化装置还包括:
处理优先级确定模块,用于如果接收的待缓存消息为任一物联网客户端发送的订阅消息,则确定所述订阅消息相对所述物联网客户端的处理优先级;
处理优先级判断模块,用于如果所述处理优先级属于当前不处理范围,则接收到所述订阅消息对应的目标发布消息时,不再向所述物联网客户端发送所述目标发布消息。
本发明实施例四提供的MQTT消息传输的优化装置可执行本发明任意实施例提供的MQTT消息传输的优化方法,具备执行方法相应的功能模块和有益效果。
实施例五
图7为本发明实施例五提供的一种MQTT代理服务器。参考图7,该MQTT代理服务器包括:处理器710、存储器720、输入装置730和输出装置740。MQTT代理服务器中处理器710的数量可以是一个或多个,图7以一个处理器710为例。MQTT代理服务器中的处理器710、存储器720、输入装置730和输出装置740可以通过总线或其他方式连接,图7中以通过总线连接为例。
存储器720作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中MQTT消息传输的优化方法对应的程序指令/模块。处理器710通过运行存储在存储器中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的MQTT消息传输的优化方法。
存储器720主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备、扬声器以及蜂鸣器等音频设备。
本发明实施例五提供的MQTT代理服务器与上述实施例提供的MQTT消息传输的优化方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例具备执行MQTT消息传输的优化方法相同的有益效果。
实施例六
本发明实施例六还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的MQTT消息传输的优化方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的MQTT消息传输的优化方法操作,还可以执行本发明任意实施例所提供的MQTT消息传输的优化方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的MQTT消息传输的优化方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (14)
1.一种MQTT消息传输的优化方法,应用于MQTT代理服务器,其特征在于,包括:
如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位;
提取处于所述第一消息缓存环中首位的第一缓存消息;
如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中。
2.根据权利要求1所述的方法,其特征在于,所述根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中,包括:
分析提取所述订阅消息的订阅主题,获取所述订阅主题的第一层级信息;
将所述第一层级信息作为所述订阅消息的关键信息;
在所述订阅关系数据库中查找与所述关键信息匹配的物联网客户端地址;
将所述订阅消息哈希存储到所述物联网客户端地址关联的数据桶中。
3.根据权利要求1所述的方法,其特征在于,还包括:
如果所述第一缓存消息为物联网客户端发送的发布消息,则根据所述订阅关系数据库,确定订阅所述发布消息的目标物联网客户端;
将所述发布消息发送至所述目标物联网客户端。
4.根据权利要求3所述的方法,其特征在于,所述根据所述订阅关系数据库,确定订阅所述发布消息的目标物联网客户端,包括:
分析所述发布消息,确定所述发布消息对应的订阅主题;
在所述订阅关系数据库中查找对应于所述订阅主题的目标物联网客户端地址;
获取所述目标物联网客户端地址对应的目标物联网客户端。
5.根据权利要求3所述的方法,其特征在于,在将所述发布消息发送至所述目标物联网客户端之前,还包括:
将所述发布消息及所述目标物联网客户端作为第二缓存消息;
根据第二消息缓存环的缓存状态缓存所述第二缓存消息。
6.根据权利要求5所述的方法,其特征在于,所述根据第二消息缓存环的缓存状态缓存所述第二缓存消息,包括:
如果所述缓存状态为缓存空间均被占用,则将所述第二缓存消息覆盖至所述第二消息缓存环的首位。
7.根据权利要求6所述的方法,其特征在于,还包括:
设定所述第一消息缓存环及所述第二消息缓存环处于循环检查状态,以实时接收待缓存的消息。
8.根据权利要求1所述的方法,其特征在于,还包括:
确定发送所述待缓存消息的物联网客户端是否为已标记的白名单客户端;
若是,则接收所述待缓存消息。
9.根据权利要求1所述的方法,其特征在于,还包括:
如果接收的待缓存消息为任一物联网客户端发送的订阅消息,则确定所述订阅消息相对所述物联网客户端的处理优先级;
如果所述处理优先级属于当前不处理范围,则接收到所述订阅消息对应的目标发布消息时,不再向所述物联网客户端发送所述目标发布消息。
10.一种MQTT消息传输的优化装置,其特征在于,包括:
覆盖缓存模块,用于如果监测到第一消息缓存环的缓存空间均被占用,则将接收的待缓存消息覆盖缓存至所述第一消息缓存环的首位;
提取模块,用于提取处于所述第一消息缓存环中首位的第一缓存消息;
存储模块,用于如果所述第一缓存消息为物联网客户端发送的订阅消息,则根据设定存储策略将所述订阅消息哈希存储到预设的订阅关系数据库中。
11.一种物联网系统,其特征在于,包括:至少两个物联网客户端、至少一个消息队列遥测传输协议MQTT代理服务器以及服务注册中心,
其中,所述服务注册中心,分别与各所述至少两个物联网客户端以及各所述MQTT代理服务器建立连接,用于对各所述MQTT代理服务器运行状态进行监控,并将处于在线状态的在线MQTT代理服务器指定给至少两个待通信的物联网客户端,以使所述至少两个待通信的物联网客户端通过所述在线MQTT代理服务器进行消息传输;
其中,所述物联网客户端由所述物联网系统中的服务注册中心分配给所述MQTT代理服务器,来实现如权利要求1-9任一项所述的MQTT消息传输的优化方法。
12.根据权利要求11所述的系统,其特征在于,
所述至少两个物联网客户端,用于向所述服务注册中心指定的MQTT代理服务器发送发布消息或订阅消息;
所述MQTT代理服务器,用于接收第一物联网客户端发送的订阅消息,并对所述订阅消息进行分析处理,确定所述订阅消息的订阅主题;
所述MQTT代理服务器,还用于接收第二物联网客户端发送的发布消息,确定所述发布消息对应的目标订阅主题,并将所述发布消息传输给对应所述目标订阅主题的物联网客户端。
13.一种MQTT代理服务器,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9任一项所述的MQTT消息传输的优化方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9任一项所述的MQTT消息传输的优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811024738.6A CN109274730B (zh) | 2018-09-04 | 2018-09-04 | 物联网系统、mqtt消息传输的优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811024738.6A CN109274730B (zh) | 2018-09-04 | 2018-09-04 | 物联网系统、mqtt消息传输的优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109274730A CN109274730A (zh) | 2019-01-25 |
CN109274730B true CN109274730B (zh) | 2021-07-23 |
Family
ID=65188184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811024738.6A Active CN109274730B (zh) | 2018-09-04 | 2018-09-04 | 物联网系统、mqtt消息传输的优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109274730B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245028B (zh) * | 2019-05-13 | 2023-08-25 | 平安科技(深圳)有限公司 | IoT-MQ的消息存储方法、装置、计算机设备和存储介质 |
CN110213675A (zh) * | 2019-06-03 | 2019-09-06 | 重庆蓝岸通讯技术有限公司 | 一种基于物联网的双模对讲机及系统 |
CN111182065A (zh) * | 2019-12-30 | 2020-05-19 | 深圳奇迹智慧网络有限公司 | 基于mqtt协议的消息处理方法、装置和计算机设备 |
CN111200662A (zh) * | 2020-01-17 | 2020-05-26 | 南京甄视智能科技有限公司 | 物联网中的消息转发方法、装置、存储介质及服务器 |
CN111651281A (zh) * | 2020-04-27 | 2020-09-11 | 北京中交兴路信息科技有限公司 | 一种消息发布和订阅方法和系统 |
CN111756873A (zh) * | 2020-06-22 | 2020-10-09 | 重庆环投生态环境监测网络与工程治理有限公司 | 用于环保监测的内网穿透方法、装置、设备及存储介质 |
CN112565439B (zh) * | 2020-12-11 | 2023-04-25 | 深圳杰睿联科技有限公司 | 物联网通信方法与系统 |
CN113114775A (zh) * | 2021-04-17 | 2021-07-13 | 深圳前海云充科技有限公司 | 一种有限资源联网方法、系统、计算机装置及存储介质 |
CN114938388B (zh) * | 2022-07-22 | 2022-11-11 | 浙江中控技术股份有限公司 | 分布式数据的传输方法、装置、系统及存储介质 |
CN115643276A (zh) * | 2022-09-20 | 2023-01-24 | 中合数字科技(广东)有限公司 | 数据传输方法、装置、系统与计算机可读存储介质 |
CN116668493B (zh) * | 2023-07-25 | 2023-10-24 | 森智明信息科技南京有限公司 | 一种分布式场景下mqtt物联网设备的消息处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN105099882A (zh) * | 2015-07-09 | 2015-11-25 | 杭州电子科技大学 | 一种基于mqtt的云推送方法和系统 |
CN105656847A (zh) * | 2014-11-13 | 2016-06-08 | 中国科学院沈阳计算技术研究所有限公司 | 面向移动设备的sip/mqtt协议转换网关系统及其控制方法 |
CN106657394A (zh) * | 2017-02-10 | 2017-05-10 | 山东浪潮商用系统有限公司 | 一种基于物联网大数据的设备信息采集系统及方法 |
CN108270855A (zh) * | 2018-01-15 | 2018-07-10 | 司中明 | 一种物联网平台接入设备的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848236A (zh) * | 2010-05-06 | 2010-09-29 | 北京邮电大学 | 具有分布式网络架构的实时数据分发系统及其工作方法 |
-
2018
- 2018-09-04 CN CN201811024738.6A patent/CN109274730B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656847A (zh) * | 2014-11-13 | 2016-06-08 | 中国科学院沈阳计算技术研究所有限公司 | 面向移动设备的sip/mqtt协议转换网关系统及其控制方法 |
CN104836723A (zh) * | 2015-03-31 | 2015-08-12 | 青岛海尔智能家电科技有限公司 | 基于mqtt主题订阅机制的通信方法以及接入网关 |
CN105099882A (zh) * | 2015-07-09 | 2015-11-25 | 杭州电子科技大学 | 一种基于mqtt的云推送方法和系统 |
CN106657394A (zh) * | 2017-02-10 | 2017-05-10 | 山东浪潮商用系统有限公司 | 一种基于物联网大数据的设备信息采集系统及方法 |
CN108270855A (zh) * | 2018-01-15 | 2018-07-10 | 司中明 | 一种物联网平台接入设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109274730A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274730B (zh) | 物联网系统、mqtt消息传输的优化方法及装置 | |
CN109327509B (zh) | 一种主/从架构的低耦合的分布式流式计算系统 | |
CN111580995B (zh) | 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统 | |
EP3668055B1 (en) | Subscription publication method, and server | |
US9379997B1 (en) | Service request management | |
EP3296870A1 (en) | Cdn-based content management system | |
CN105681462B (zh) | 一种基于消息路由的集群系统及数据通信中转方法 | |
CN109960634B (zh) | 一种应用程序监控方法、装置及系统 | |
CN111131401B (zh) | 一种服务请求的响应方法及系统 | |
CN109756474B (zh) | 一种电力调度自动化系统的服务跨区域调用方法及装置 | |
WO2021120633A1 (zh) | 一种负载均衡方法及相关设备 | |
CN103544324A (zh) | 一种内核态的数据访问方法、装置及系统 | |
WO2023103419A1 (zh) | 基于消息队列的5g消息批量发送方法、装置及电子设备 | |
CN114024972A (zh) | 一种长连接通信方法、系统、装置、设备及存储介质 | |
CN112398845B (zh) | 数据传输方法、数据传输装置、系统及电子设备 | |
CN114281524A (zh) | 一种智能电缆业务处理系统管理方法及装置 | |
US11368410B2 (en) | System and method for scaling analytics collection | |
CN108810645B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
WO2020082839A1 (zh) | 报文处理方法、相关设备及计算机存储介质 | |
WO2023005809A1 (zh) | 消息队列遥测传输网络接入方法、控制器及网关 | |
CA3061451A1 (en) | Task based service management platform | |
CN113596105B (zh) | 内容的获取方法、边缘节点及计算机可读存储介质 | |
CN111405046B (zh) | 一种批量设备的授权方法 | |
CN110865845B (zh) | 提高接口访问效率的方法、存储介质 | |
CN114697619A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211215 Address after: 311200 room 3001-68, Tianren building, No. 188, Liyi Road, ningwei street, Xiaoshan District, Hangzhou City, Zhejiang Province Patentee after: Haishilian (Hangzhou) Intelligent Technology Co.,Ltd. Address before: Room 519-532, 333 Wenhai Road, Baoshan District, Shanghai 200444 Patentee before: SHANGHAI LIANYU INTELLIGENT TECHNOLOGY CO.,LTD. |