CN111580995B - 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统 - Google Patents

基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统 Download PDF

Info

Publication number
CN111580995B
CN111580995B CN202010399455.0A CN202010399455A CN111580995B CN 111580995 B CN111580995 B CN 111580995B CN 202010399455 A CN202010399455 A CN 202010399455A CN 111580995 B CN111580995 B CN 111580995B
Authority
CN
China
Prior art keywords
request
service
cloud platform
intelligent terminal
data
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
Application number
CN202010399455.0A
Other languages
English (en)
Other versions
CN111580995A (zh
Inventor
杨帆
张玉柱
渠双双
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaoshi Technology Jiangsu Co ltd
Original Assignee
Nanjing Zhenshi Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Zhenshi Intelligent Technology Co Ltd filed Critical Nanjing Zhenshi Intelligent Technology Co Ltd
Priority to CN202010399455.0A priority Critical patent/CN111580995B/zh
Publication of CN111580995A publication Critical patent/CN111580995A/zh
Application granted granted Critical
Publication of CN111580995B publication Critical patent/CN111580995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • G16Y40/35Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Abstract

本发明提供一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统,包括:Web端用户发起请求,调用业务云平台的API接口;同步控制模块获取服务节点的唯一标识requestId,保存到服务节点的本地缓存和系统共享缓存中;将请求透传到IOT平台,挂起当前执行线程,进入等待状态;IOT平台通过MQTT协议发送数据请求和接收响应数据,IOT平台将响应数据异步返回给业务云平台;各客户端的订阅接收消息总线中的数据;响应于响应数据是本业务域发出的请求,则做出相应处理,否则不做处理。本发明使用线程等待/唤醒机制,实现智能终端与业务云平台之间的异步通信转化为同步通信,解决智能终端的异步响应数据无法同步响应给云平台客户端的问题。

Description

基于MQTT异步通信场景下的分布式云平台与物联网智能终端 的同步通信方法与系统
技术领域
本发明涉及物联网平台技术领域,具体而言涉及一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法。
背景技术
物联网平台是一种将各种设备连接到统一的管理平台,实现智能终端和IOT平台之间数据采集和命令下发的双向通信。分布式云平台是指按照业务功能将业务系统划分成不同的业务域,为保证系统的高可用性,每个业务域部署多个节点。
在复杂、受限的网络环境及考虑网络安全的情况下,智能终端和IOT平台在MQTT协议下进行通信,结合图1a-1b所示的现有通信和业务处理过程示意图,用户Web端调用业务云平台的客户端,向智能终端发起数据采集或下发命令的请求, 业务云平台通过HTTP协议调用IOT服务平台,将请求数据发送给智能终端,IOT平台和智能终端之间使用MQTT协议进行通信。业务云平台客户端下发请求数据到智能终端的流程结束。
当智能终端接收到业务云平台客户端下发的请求后,完成处理,将响应的数据包通过MQTT协议响应给IOT平台。IOT平台通过消息队列将数据返回给业务平台,业务云平台的各个客户端均订阅接收消息队列中的响应数据,判断是否是本业务域发送的请求,若不是本业务域发送的请求,不处理该响应数据,若是本业务域发送的请求,则将该响应数据保存至数据库。用户Web端循环调用查询接口从数据库中查询数据,直至查询到响应数据,流程结束。
为保证系统的隔离性,IOT平台通过消息队列将数据返回给业务平台,导致很难确定具体的接收节点,只能通过数据库暂存数据,以供客户端异步查询获取数据,从而导致了业务云平台很难解决与物联网智能终端直连通信的问题。
发明内容
本发明目的在于提供一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,解决现有技术中分布式云平台与终端之间难以实现同步通信控制的问题。
为达成上述目的,本发明提出一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,包括:
步骤1、Web端用户发起请求,调用业务云平台指定的业务域的一服务节点的服务,经过业务处理后,调用业务云平台中的客户端的同步控制模块的API接口,每个服务节点对应为一个云平台的客户端;
步骤2、同步控制模块获取前述服务节点的唯一标识requestId,所述requestId由该节点所属的业务域的唯一标识、该服务节点的进程号和一组随机数拼接组成,将所述requestId保存到该服务节点的本地缓存和系统共享缓存中;
步骤3、将所述requestId添加到本次请求的请求参数中;
步骤4、同步控制模块通过HTTP调用IOT平台的服务,将请求透传到IOT平台,同时挂起当前执行线程,进入等待状态,并为该线程设置等待超时时间;
步骤5、IOT平台通过MQTT协议向智能终端发送数据请求,智能终端处理请求;
步骤6、IOT平台通过MQTT协议接收智能终端返回响应数据,响应数据中包含请求参数中的requestId;
步骤7、IOT平台通过业务消息总线的RabbitMQ消息队列将智能终端的响应数据异步返回给业务云平台;
步骤8、业务云平台的各客户端的同步控制模块订阅接收消息总线中的数据;
步骤9、根据requestId判断是否是本业务域发出的请求的响应数据,如果是本业务域对应的响应数据,则做出相应处理,否则不做处理。
进一步地,对于做出响应的业务域,接收到消息的云平台的客户端根据requestId从本地缓存中查询该requestId对应的请求。
进一步地,响应于查询结果,判断是否是本客户端节点发出的请求,若是本客户端节点发出的请求的响应数据,则唤醒发出请求的线程,执行后续的处理流程,并将响应数据返回给Web端用户。
进一步地,响应于查询结果,若非本客户端发出的请求的响应数据,则从系统共享缓存中根据requestId查询发送请求的客户端所属的数据接收消息队列,并将该响应数据发送到该数据接收消息队列中。
进一步地,根据查询到的数据接收消息队列,发出请求的客户端订阅接收响应数据。
进一步地,在前述步骤9进一步判断线程等待超时情况,如果等待超出等待超时时间,则返回超时响应给客户端,如果未超时则继续等待响应数据。
进一步地,所述随机数为4-6位的随机数。
根据本发明,提出一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信系统,包括IOT平台、业务云平台、云平台客户端以及智能终端;
IOT平台被设置用于和智能设备直接进行MQTT通信;
业务云平台通过IOT平台和智能终端进行数据通信,所述业务云平台中设置有同步控制模块,用于收到智能终端通过IOT平台响应的数据后,在业务云平台的各业务域的服务节点中,准确的找到发出请求数据的服务节点,即对应的云平台的客户端;在所述业务云平台的各个业务域的各个服务节点之间设置一系统共享缓存,用于缓存共享数据;
其中,当Web端用户发起请求时,调用业务云平台指定的业务域的一服务节点的服务,经过业务处理后,调用业务云平台中的同步控制模块的API接口;
同步控制模块获取前述服务节点的唯一标识requestId,所述requestId由该节点所属的业务域的唯一标识、该服务节点的进程号和一组随机数拼接组成,将所述requestId保存到该服务节点的本地缓存和系统共享缓存中;所述requestId被添加到本次请求的请求参数中;
同步控制模块通过HTTP调用IOT平台的服务,将请求透传到IOT平台,同时挂起当前执行线程,进入等待状态,并为该线程设置等待超时时间;
IOT平台通过MQTT协议向智能终端发送数据请求,在智能终端处理请求后,再通过MQTT协议接收智能终端返回响应数据,响应数据中包含请求参数中的requestId;
IOT平台通过业务消息总线的RabbitMQ消息队列将智能终端的响应数据异步返回给业务云平台;
业务云平台的各客户端的同步控制模块订阅接收消息总线中的数据,并根据requestId判断是否是本业务域发出的请求的响应数据,如果是本业务域对应的响应数据,则做出相应处理,否则不做处理。
进一步地,对于做出响应的业务域,接收到消息的云平台的客户端根据requestId从本地缓存中查询该requestId对应的请求。
进一步地,响应于查询结果,判断是否是本客户端发出的请求,若是本客户端发出的请求的响应数据,则唤醒发出请求的线程,执行后续的处理流程,并将响应数据返回给Web端用户;若非本客户端发出的请求的响应数据,则从系统共享缓存中根据requestId查询发送请求的客户端所属的数据接收消息队列,并将该响应数据发送到该数据接收消息队列中,同时,发出请求的客户端订阅接收响应数据。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1a-1b是现有技术中云平台向智能终端发送请求数据处理以及云平台接收智能终端响应数据处理的流程图。
图2是本发明的云平台向智能终端发送请求数据处理的流程图。
图3是本发明的云平台接收智能终端响应数据处理的流程图。
图4是本发明的分布式云平台与物联网智能终端的同步通信系统的配置框图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是应为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
结合图2、3、4所示,根据本发明优选的实施例的一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,由线程等待机制实现的同步控制模块,引入线程等待/唤醒机制,实现智能终端与业务云平台之间的异步通信转化为同步通信,从而达到实现智能终端对业务云平台请求的同步响应的效果。
步骤1、Web端用户发起请求,业务云平台的业务域中指定的服务节点接收到请求后,经过业务处理,调用业务云平台中的同步控制模块的API接口;每个服务节点对应为一个云平台的客户端;
步骤2、同步控制模块获取前述服务节点的唯一标识requestId,requestId由该节点所属的业务域的唯一标识、该服务节点的进程号和一组随机数拼接组成,将requestId保存到该服务节点的本地缓存和系统共享缓存中;
步骤3、将requestId添加到本次请求的请求参数中;
步骤4、同步控制模块通过HTTP调用IOT平台的服务,将请求透传到IOT平台,同时挂起当前执行线程,进入等待状态,并为该线程设置等待超时时间;
步骤5、IOT平台通过MQTT协议向智能终端发送数据请求,智能终端处理请求;
步骤6、IOT平台通过MQTT协议接收智能终端返回响应数据,响应数据中包含请求参数中的requestId;
步骤7、IOT平台通过业务消息总线的RabbitMQ消息队列将智能终端的响应数据异步返回给业务云平台;
步骤8、业务云平台的各客户端的同步控制模块订阅接收消息总线中的数据;
步骤9、根据requestId判断是否是本业务域发出的请求的响应数据,如果是本业务域对应的响应数据,则做出相应处理,否则不做处理。
对于做出响应的业务域,接收到消息的云平台的客户端根据requestId从本地缓存中查询该requestId对应的请求。
结合图2、3所示,响应于查询结果,判断是否是本客户端节发出的请求,若是本客户端发出的请求的响应数据,则唤醒发出请求的线程,执行后续的处理流程,并将响应数据返回给Web端用户。
根据查询结果,若非本客户端发出的请求的响应数据,则从系统共享缓存中根据requestId查询发送请求的客户端所属的数据接收消息队列,并将该响应数据发送到该数据接收消息队列中。
本发明的各个实施例中,前述智能终端可以是智能盒子、便携式电脑、平板电脑以及其他的智能型电子终端,通常具有这样的数据接收、分析、处理、存储以及传输的性能。
进一步地,根据查询到的数据接收消息队列,发出请求的客户端订阅接收响应数据。
优选地,前述步骤2中的随机数为4-6位的随机数,可有java等工具生成。
结合图2所示,在前述步骤中还判断线程等待超时情况,如果等待超出等待超时时间,则返回超时响应给客户端,如果未超时则继续等待响应数据。
结合图3、4所示,根据本发明公开的实施例还提出一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信系统,包括IOT平台、业务云平台、云平台客户端以及智能终端。
IOT平台被设置用于和智能设备直接进行MQTT通信。
业务云平台通过IOT平台和智能终端进行数据通信,业务云平台中设置有同步控制模块,同步控制模块用于收到智能终端通过IOT平台响应的数据后,在业务云平台的各业务域的服务节点中,准确的找到发出请求数据的服务节点,即对应的云平台的客户端;在业务云平台的各个业务域的各个服务节点之间设置一系统共享缓存,用于缓存共享数据。
其中,当Web端用户发起请求时,调用业务云平台指定的业务域的一服务节点的服务,经过业务处理后,调用业务云平台中的同步控制模块的API接口。
同步控制模块获取前述服务节点的唯一标识requestId,requestId由该节点所属的业务域的唯一标识、该服务节点的进程号和一组随机数拼接组成,将requestId保存到该服务节点的本地缓存和系统共享缓存中;requestId被添加到本次请求的请求参数中。
同步控制模块通过HTTP调用IOT平台的服务,将请求透传到IOT平台,同时挂起当前执行线程,进入等待状态,并为该线程设置等待超时时间。
IOT平台通过MQTT协议向智能终端发送数据请求,在智能终端处理请求后,再通过MQTT协议接收智能终端返回响应数据,响应数据中包含请求参数中的requestId。
IOT平台通过业务消息总线的RabbitMQ消息队列将智能终端的响应数据异步返回给业务云平台。
业务云平台的各客户端的同步控制模块订阅接收消息总线中的数据,并根据requestId判断是否是本业务域发出的请求的响应数据,如果是本业务域对应的响应数据,则做出相应处理,否则不做处理。而对于做出响应的业务域,接收到消息的云平台的客户端根据requestId从本地缓存中查询该requestId对应的请求。
根据查询结果,则继续判断是否是本客户端发出的请求,若是本客户端发出的请求的响应数据,则唤醒发出请求的线程,执行后续的处理流程,并将响应数据返回给Web端用户;若非本客户端发出的请求的响应数据,则从系统共享缓存中根据requestId查询发送请求的客户端所属的数据接收消息队列,并将该响应数据发送到该数据接收消息队列中,同时,发出请求的客户端订阅接收响应数据。
由此,本发明使用线程等待/唤醒机制,实现智能终端与业务云平台之间的异步通信转化为同步通信,同时使用优化格式的requestId,实现智能终端的响应数据准确的发送给特定的客户端服务节点,解决了智能终端的异步响应数据无法同步响应给云平台客户端的问题。
下面结合业务云平台与智能终端之间在不同业务场景进行数据通信测试。其中表1是异步通信结果的测试数据,表2是根据表1的测试结果的总消耗结果。
表1
Figure DEST_PATH_IMAGE001
表2
Figure 820980DEST_PATH_IMAGE002
表3是采用本发明的同步通信结果的测试数据和总消耗结果。
Figure DEST_PATH_IMAGE003
由此可见,异步通信的情况下,业务云平台向智能终端发出请求后,线程就结束,无法直接获得智能终端的响应数据。智能终端响应的数据是存放到数据库中的,业务云平台必须通过另外的线程循环去查询响应数据,这就导致了云平台会发出多次请求,浪费了网络带宽,耗时也比较久。
而本发明的同步通信方式,其通信过程中,业务云平台向智能终端发出请求后,线程会阻塞,直到获取到了智能终端响应的数据,线程才会继续往下走,将响应数据直接返回给发出业务指令的操作方,这样整个同步调用的过程就只有一次请求调用,不需要重复多次请求。而且网络带宽和耗时都会降低,节省了性能。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

Claims (10)

1.一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,其特征在于,包括:
步骤1、Web端用户发起请求,业务云平台的业务域中指定的服务节点接收到请求后,经过业务处理,调用业务云平台中的每个客户端的同步控制模块的API接口;每个服务节点对应为一个云平台的客户端;
步骤2、同步控制模块获取前述服务节点的唯一标识requestId,所述requestId由该节点所属的业务域的唯一标识、该服务节点的进程号和一组随机数拼接组成,将所述requestId保存到该服务节点的本地缓存和系统共享缓存中;
步骤3、将所述requestId添加到本次请求的请求参数中;
步骤4、同步控制模块通过HTTP调用IOT平台的服务,将请求透传到IOT平台,同时挂起当前执行线程,进入等待状态,并为该线程设置等待超时时间;
步骤5、IOT平台通过MQTT协议向智能终端发送数据请求,智能终端处理请求;
步骤6、IOT平台通过MQTT协议接收智能终端返回响应数据,响应数据中包含请求参数中的requestId;
步骤7、IOT平台通过业务消息总线的RabbitMQ消息队列将智能终端的响应数据异步返回给业务云平台;
步骤8、业务云平台的各客户端的同步控制模块订阅接收消息总线中的数据;
步骤9、根据requestId判断是否是本业务域发出的请求的响应数据,如果是本业务域对应的响应数据,则做出相应处理,否则不做处理。
2.根据权利要求1所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,其特征在于,对于做出响应的业务域,接收到消息的云平台的客户端根据requestId从本地缓存中查询该requestId对应的请求。
3.根据权利要求2所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,其特征在于,响应于查询结果,判断是否是本客户端节点发出的请求,若是本客户端节点发出的请求的响应数据,则唤醒发出请求的线程,执行后续的处理流程,并将响应数据返回给Web端用户。
4.根据权利要求3所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,其特征在于,响应于查询结果,若非本客户端发出的请求的响应数据,则从系统共享缓存中根据requestId查询发送请求的客户端所属的数据接收消息队列,并将该响应数据发送到该数据接收消息队列中。
5.根据权利要求4所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,其特征在于,根据查询到的数据接收消息队列,发出请求的客户端订阅接收响应数据。
6.根据权利要求1-5中任意一项所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,其特征在于,在前述步骤9进一步判断线程等待超时情况,如果等待超出等待超时时间,则返回超时响应给客户端,如果未超时则继续等待响应数据。
7.根据权利要求1所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信方法,其特征在于,所述随机数为4-6位的随机数。
8.一种基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信系统,其特征在于,包括IOT平台、业务云平台、云平台客户端以及智能终端;
IOT平台被设置用于和智能设备直接进行MQTT通信;
业务云平台通过IOT平台和智能终端进行数据通信,所述业务云平台中每个客户端均设置有同步控制模块,所述同步控制模块用于收到智能终端通过IOT平台响应的数据后,在业务云平台的各业务域的服务节点中,找到发出请求数据的服务节点,即对应的云平台的客户端;在所述业务云平台的各个业务域的各个服务节点之间设置一系统共享缓存,用于缓存共享数据;
其中,当Web端用户发起请求时,调用业务云平台指定的业务域的一服务节点的服务,经过业务处理后,调用业务云平台中的同步控制模块的API接口;
同步控制模块获取前述服务节点的唯一标识requestId,所述requestId由该节点所属的业务域的唯一标识、该服务节点的进程号和一组随机数拼接组成,将所述requestId保存到该服务节点的本地缓存和系统共享缓存中;所述requestId被添加到本次请求的请求参数中;
同步控制模块通过HTTP调用IOT平台的服务,将请求透传到IOT平台,同时挂起当前执行线程,进入等待状态,并为该线程设置等待超时时间;
IOT平台通过MQTT协议向智能终端发送数据请求,在智能终端处理请求后,再通过MQTT协议接收智能终端返回响应数据,响应数据中包含请求参数中的requestId;
IOT平台通过业务消息总线的RabbitMQ消息队列将智能终端的响应数据异步返回给业务云平台;
业务云平台的各客户端的同步控制模块订阅接收消息总线中的数据,并根据requestId判断是否是本业务域发出的请求的响应数据,如果是本业务域对应的响应数据,则做出相应处理,否则不做处理。
9.根据权利要求8所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信系统,其特征在于,对于做出响应的业务域,接收到消息的云平台的客户端根据requestId从本地缓存中查询该requestId对应的请求。
10.根据权利要求9所述的基于MQTT异步通信场景下的分布式云平台与物联网智能终端的同步通信系统,其特征在于,响应于查询结果,判断是否是本客户端发出的请求,若是本客户端发出的请求的响应数据,则唤醒发出请求的线程,执行后续的处理流程,并将响应数据返回给Web端用户;若非本客户端发出的请求的响应数据,则从系统共享缓存中根据requestId查询发送请求的客户端所属的数据接收消息队列,并将该响应数据发送到该数据接收消息队列中,同时,发出请求的客户端订阅接收响应数据。
CN202010399455.0A 2020-05-12 2020-05-12 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统 Active CN111580995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010399455.0A CN111580995B (zh) 2020-05-12 2020-05-12 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010399455.0A CN111580995B (zh) 2020-05-12 2020-05-12 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统

Publications (2)

Publication Number Publication Date
CN111580995A CN111580995A (zh) 2020-08-25
CN111580995B true CN111580995B (zh) 2022-08-16

Family

ID=72126568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010399455.0A Active CN111580995B (zh) 2020-05-12 2020-05-12 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统

Country Status (1)

Country Link
CN (1) CN111580995B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214514A (zh) * 2020-09-07 2021-01-12 广东省安心加科技有限公司 物联设备实时状态查询方法、装置及存储介质
CN112261146B (zh) * 2020-10-23 2022-05-24 杭州卷积云科技有限公司 一种基于消息通信和文件传输的边云协同通信系统及方法
CN112350914A (zh) * 2020-11-12 2021-02-09 广州河东科技有限公司 基于MQTT云平台的Modbus通信方法及系统
CN112511636B (zh) * 2020-12-04 2022-04-08 中国建设银行股份有限公司 数据传输系统、方法、装置、计算机设备及存储介质
CN114301962A (zh) * 2021-11-26 2022-04-08 杭州中恒电气股份有限公司 一种基于物联网云平台的充电桩通信方法和系统
CN114050896A (zh) * 2021-11-26 2022-02-15 浩云科技股份有限公司 一种内、外对接服务方法、系统、设备和介质
CN114172918B (zh) * 2021-12-08 2023-08-01 天翼物联科技有限公司 数据同步方法、装置、计算机设备及存储介质
CN114356825B (zh) * 2021-12-17 2024-02-13 郑州信大捷安信息技术股份有限公司 一种基于芯片的spi双路通信方法和系统
CN114553891B (zh) * 2022-01-27 2024-03-15 深圳金融电子结算中心有限公司 同步请求转异步处理的方法、系统、终端设备及存储介质
CN115065712B (zh) * 2022-08-16 2022-11-04 飞天诚信科技股份有限公司 一种对共享设备感知和控制的方法和系统
CN115514610B (zh) * 2022-09-20 2024-02-23 四川虹美智能科技有限公司 一种基于mqtt的物联网构建多联机的方法
CN117560415B (zh) * 2024-01-11 2024-03-22 德阳城市智慧之心信息技术有限公司 智慧社区微服务架构mqtt异步和同步通信方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713018B (zh) * 2016-12-08 2020-01-03 天翼物联科技有限公司 消息队列业务数据调度及消息队列的实现方法
CN109889551B (zh) * 2019-04-16 2021-08-27 陆伟 一种智能硬件接入的物联网云平台的方法

Also Published As

Publication number Publication date
CN111580995A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN111580995B (zh) 基于mqtt异步通信场景下的分布式云平台与物联网智能终端的同步通信方法与系统
CN103197968B (zh) 一种融合同步异步特点的线程池处理方法及系统
CN110958281B (zh) 基于物联网的数据传输方法及通信装置
CN110413418B (zh) 缓存同步装置及方法,缓存同步系统、电子设备
CN112261094B (zh) 一种报文处理方法及代理服务器
WO2014082562A1 (en) Method, device, and system for information processing based on distributed buses
CN111212085A (zh) 物联网平台同步调用的方法、物联网系统和网络设备
US7257615B2 (en) Server side execution of application modules in a client and server system
CN113259415B (zh) 一种网络报文处理方法、装置及网络服务器
CN112104679B (zh) 处理超文本传输协议请求的方法、装置、设备和介质
CN109889406A (zh) 用于管理网络连接的方法、装置、设备和存储介质
CN108259605B (zh) 一种基于多数据中心的数据调用系统及方法
CN116881040A (zh) 一种业务操作处理方法、装置、电子装置和存储介质
CN109040304B (zh) 一种CloudROS云机器人架构
CN112817539A (zh) 一种工业数据存储方法、系统、电子设备及存储介质
CN113965628A (zh) 消息调度方法、服务器和存储介质
CN105099645A (zh) 一种基于半双工通信设备的多用户并发通信的方法和装置
CN114679436B (zh) 一种会话管理方法、服务器及计算机可读存储介质
CN108075989B (zh) 一种基于可扩展协议的负载均衡网络中间件实现方法
CN102693434B (zh) 射频识别设备接口层的通信装置及方法
CN112286668A (zh) 一种高效处理请求数据的方法及系统
CN109669793B (zh) 中间件进程内对象调用方法
CN109639795B (zh) 一种基于AcitveMQ消息队列的服务管理方法与装置
CN111240867A (zh) 一种信息通讯系统及方法
CN109981725A (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
CP01 Change in the name or title of a patent holder

Address after: No.568 longmian Avenue, gaoxinyuan, Jiangning District, Nanjing City, Jiangsu Province, 211000

Patentee after: Xiaoshi Technology (Jiangsu) Co.,Ltd.

Address before: No.568 longmian Avenue, gaoxinyuan, Jiangning District, Nanjing City, Jiangsu Province, 211000

Patentee before: NANJING ZHENSHI INTELLIGENT TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder