CN118042006A - 一种通用mqtt协议实现方法 - Google Patents
一种通用mqtt协议实现方法 Download PDFInfo
- Publication number
- CN118042006A CN118042006A CN202311524259.1A CN202311524259A CN118042006A CN 118042006 A CN118042006 A CN 118042006A CN 202311524259 A CN202311524259 A CN 202311524259A CN 118042006 A CN118042006 A CN 118042006A
- Authority
- CN
- China
- Prior art keywords
- data
- uploading
- mqtt
- json
- mutation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000035772 mutation Effects 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000004458 analytical method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 6
- 230000001960 triggered effect Effects 0.000 claims 2
- 238000004891 communication Methods 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 9
- 238000011160 research Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 6
- 239000012141 concentrate Substances 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 238000012827 research and development Methods 0.000 description 4
- 230000008023 solidification Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000007711 solidification Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种通用MQTT协议实现方法,包括数据周期上送模块、数据突变上送模块以及请求控制响应模块,数据周期上送模块、数据突变上送模块以及请求控制响应模块均由用户配置文件和固化程序配合完成,用户配置文件中由用户根据自行需要来配置具体的MQTT业务,并通过固化程序实现对用户配置文件的加载,由于解析处理并执行配置文件中预定义的接口,采用固化程序结合配置文件的方式,使得固化程序开发完成后,不同的MQTT规约只需要调整配置文件,达到工程师无需编译环境、不依赖于研发人员即可完成与MQTT主站通讯的目的,有效的降低了开发门槛,有效的降低开发成本。
Description
技术领域
本发明属于MQTT协议实现技术领域,具体涉及一种通用MQTT协议实现方法。
背景技术
MQTT协议是一种消息发布/订阅协议,用于在物联网和机器通信领域进行通信。它被设计成简单且轻量级的协议,适用于低带宽和不稳定网络环境;
在对物联网与机器进行实时数据传输、异步通信时,需要MQTT协议的配合实现,MQTT协议实现方法可以提供一种简单、轻量级、可靠、高效的消息传输机制,适用于物联网、机器通信和其他需要进行实时数据传输和异步通信的场景,具有较低的网络带宽和资源消耗,并且支持可扩展性和灵活性;
传统MQTT协议在配合物联网与机器进行数据传输、异步通信时,需要根据机器鱼物联网的连接需要编译环境,且代码开发中开发者需要编写源码来实现MQTT帧格式改变,增加工程师对MQTT配合连接的物联网运行时的开发成本,以及对于物联网配合连接的机器无法达到对周期数据上送,突变数据上送的效果,给MQTT适用的业务场景带来一定的限制,降低了MQTT的市场应用范围;
因此,本发明提供了一种降低开发成本、并支持周期数据上送,突变数据上送的通用MQTT协议实现方法。
发明内容
本发明的目的在于提供一种通用MQTT协议实现方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种通用MQTT协议实现方法,包括由数据周期上送模块、数据突变上送模块以及请求控制响应模块组成的规约模块,数据周期上送模块、数据突变上送模块以及请求控制响应模块均由用户配置文件和固化程序配合完成,用户配置文件中由用户根据自行需要来配置具体的MQTT业务,并通过固化程序实现对用户配置文件的加载,由于解析处理并执行配置文件中预定义的接口:
数据周期上送模块上的用户配置文件包括数据周期上送规则单元、数据周期上送json原型单元,由数据周期上送json原型单元定义了数据周期上送数据帧的格式,数据帧中的数据引用关键字是由固化程序预定义的系统业务数据的引用标识;
数据突变上送模块上的用户配置文件包括数据突变上送规则单元、数据突变上送json原型单元,数据突变上送json原型单元定义了数据突变上送数据帧的格式,数据帧中数据的数据引用关键字是由固化程序预定义的系统业务数据的引用标识;
请求控制响应模块上的用户配置文件包括主站请求控制命令解析配置单元、请求控制返回规则单元以及请求控制返回json文件单元,主站请求控制命令解析配置定义了从主站请求控制命令中提取出本地可执行策略之间的方法;
进一步的,所述数据周期上送模块上的用户配置文件由用户来配置具体的MQTT业务,并通过固化程序实现对用户配置文件的加载,以解析处理并执行配置文件中预定义的接口。
进一步的,所述数据周期上送规则单元包括数据上送的MQTT主题、和数据上送周期,固化程序启动后,会将数据周期上送json原型加载到内存中,每当数据周期上送规则中上送周期到达时,即会将内存中数据周期上送json原型单元中的各个数据引用关键字更新为最新的业务数据,并将更新后的json发送给MQTT主站。
进一步的,所述数据周期上送json原型加载到内存中,以通过数据周期上送规则单元中的上送周期到达时,将内存中数据周期上送json原型中定义的各个数据帧中数据更新为最新的业务数据,更新后的json发送给MQTT主站。
进一步的,所述数据突变上送规则单元包含数据上送的MQTT主题、触发突变上送的数据项以及各数据项对应的触发条件,以通过数据突变上送模块实时监测配置中触发突变上送的各数据项的数值,当数值满足触发条件时,触发突变上送,即会将内存中数据突变上送json原型中各个数据帧中数据更新为最新的业务数据,并将更新后的json发送给MQTT主站。
进一步的,主站请求控制命令解析配置提取出本地可执行策略,以通过请求控制返回规则定义接收到的命令需要返回报文,并加载对应的请求控制返回json原型到内存,将内存中请求控制返回json原型中各个数据帧中数据更新为最新的业务数据将更新后的json发送给MQTT主站。
本发明具有以下技术效果和优点:
该通用MQTT协议实现方法,数据周期上送模块、数据突变上送模块以及请求控制响应模块均分别采用固化程序结合配置文件的方式,使得固化程序开发完成后,不同的MQTT规约只需要调整配置文件,达到工程师无需编译环境、不依赖于研发人员即可完成与MQTT主站通讯的目的,有效的降低了开发门槛,有效的降低开发成本;
该通用MQTT协议实现方法,通过数据周期上送模块、数据突变上送模块配合请求控制响应模块,使得MQTT协议实现方法的使用支持周期数据上送,突变数据上送,并通过请求控制响应模块可以涵盖大部分的业务场景,数据周期上送模块、数据突变上送模块以及请求控制响应模块上各个数据帧形成的数据引用关键字机制可以引用系统内的所有业务数据,从而提高MQTT协议实现方法适用性,研发人员只需专注于固化程序的实现,工程人员专注于配置部分,降低研发过程的繁琐工序,在管理上带来了很大的便利。
附图说明
图1为本发明的实现流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1所示的一种通用MQTT协议实现方法,包括由数据周期上送模块、数据突变上送模块以及请求控制响应模块组成的规约模块,规约模块的流程控制操作如发送、接收、切换发送、切换终端等由固化的程序完成,不需要开发者完成;
数据周期上送模块、数据突变上送模块以及请求控制响应模块均由用户配置文件和固化程序配合完成,用户配置文件中由用户根据自行需要来配置具体的MQTT业务,并通过固化程序实现对用户配置文件的加载,由于解析处理并执行配置文件中预定义的接口:
数据周期上送模块上的用户配置文件包括数据周期上送规则单元、数据周期上送json原型单元,由数据周期上送json原型单元定义了数据周期上送数据帧的格式,数据帧中的数据引用关键字是由固化程序预定义的系统业务数据的引用标识;
数据突变上送模块上的用户配置文件包括数据突变上送规则单元、数据突变上送json原型单元,数据突变上送json原型单元定义了数据突变上送数据帧的格式,数据帧中数据的数据用数据引用关键字标识,数据帧中数据的数据引用关键字是由固化程序预定义的系统业务数据的引用标识;
请求控制响应模块上的用户配置文件包括主站请求控制命令解析配置单元、请求控制返回规则单元以及请求控制返回json文件单元,主站请求控制命令解析配置定义了从主站请求控制命令中提取出本地可执行策略之间的方法;
数据周期上送模块上的用户配置文件由用户来配置具体的MQTT业务,并通过固化程序实现对用户配置文件的加载,以解析处理并执行配置文件中预定义的接口。
数据周期上送规则单元包括数据上送的MQTT主题、和数据上送周期,固化程序启动后,会将数据周期上送json原型加载到内存中,每当数据周期上送规则中上送周期到达时,即会将内存中数据周期上送json原型中的各个数据引用关键字更新为最新的业务数据,并将更新后的json发送给MQTT主站。
数据周期上送json原型加载到内存中,以通过数据周期上送规则单元中的上送周期到达时,将内存中数据周期上送json原型中定义的各个数据帧中数据更新为最新的业务数据,更新后的json发送给MQTT主站。
数据突变上送规则单元包含数据上送的MQTT主题、触发突变上送的数据项以及各数据项对应的触发条件,以通过数据突变上送模块实时监测配置中触发突变上送的各数据项的数值,当数值满足触发条件时,触发突变上送,即会将内存中数据突变上送json原型中各个数据帧中数据更新为最新的业务数据,并将更新后的json发送给MQTT主站。
主站请求控制命令解析配置提取出本地可执行策略,以通过请求控制返回规则定义接收到的命令需要返回报文,并加载对应的请求控制返回json原型到内存,将内存中“请求控制返回json原型”中各个数据帧中数据更新为最新的业务数据将更新后的json发送给MQTT主站。
该通用MQTT协议实现方法,数据周期上送模块、数据突变上送模块以及请求控制响应模块均分别采用固化程序结合配置文件的方式,使得固化程序开发完成后,不同的MQTT规约只需要调整配置文件,达到工程师无需编译环境、不依赖于研发人员即可完成与MQTT主站通讯的目的,有效的降低了开发门槛,有效的降低开发成本;
该通用MQTT协议实现方法,通过数据周期上送模块、数据突变上送模块配合请求控制响应模块,使得MQTT协议实现方法的使用支持周期数据上送,突变数据上送,并通过请求控制响应模块可以涵盖大部分的业务场景,数据周期上送模块、数据突变上送模块以及请求控制响应模块上各个数据帧形成的数据引用关键字机制可以引用系统内的所有业务数据,从而提高MQTT协议实现方法适用性,研发人员只需专注于固化程序的实现,工程人员专注于配置部分,降低研发过程的繁琐工序,在管理上带来了很大的便利;
在实际应用过程中,流程控制操作对于跳转式的报文发送是由固化的程序根据用户配置的预设报文优先级生成实时优先级实现的;
规约模块发送的报文是由固化的程序根据用户配置的报文原型和处理运算式组织出来的;
规约模块的接收数据正确性判断是由固化程序根据用户配置的判定表达式进行判断的;
规约模块的数据解析是由固化程序根据用户配置的解析运算式完成的规约模块的固化程序中完成了对配置文件各处理运算式、判定运算式、解析运算式中数学运算符,逻辑运算符,位运算符的支持;
根据上述通用MQTT协议实现方法,现提供(典型的MQTT协议)实施举例说明一,以下为MQTT规约:
以下为本发明对上述MQTT规约的实现:
用户配置文件中定义了数据周期上送规则,在此规则中MQTT主题为“/v1/FORE1/###TerminalOpt(devId)###/alldatayc”,这个主题中###TerminalOpt(devId)###是“数据引用关键字”,它代表着终端的devId属性;数据上送周期int选项配置为1800秒,即每1800秒上送一次数据;
“数据周期上送json原型”以文件路径的方法体现在配置文件中,即以下程序:
“数据周期上送json原型”文件中引用了LocalTimeYearYYYY,LocalTimeMonMM,LocalTimeDayDD,LocalTimeHourHH###,LocalTimeMinMM,LocalTimeSecSS来获取系统时间,从而组成规约所需的MQTT时标,引用了###TerminalOpt(devId)###来获取设备的终端编号,引用###yc(mindex,0,val)###,###yc(mindex,1,val)###,###yc(mindex,2,val)###来获取系统的测量值信息,即以下程序:
用户配置文件中定义了触发突变的数据项及对应的触发条件(变化范围超过0.9触发);
用户配置文件中定义了突变上送的主题,和数据突变送json原型文件的路径,即:<mqttChangeDataPubs>
突变上送的json原型状态为:
最后,用户配置文件中定义了订阅的数据,主站与本地写参数接口的关系,其中subs中订阅了主站的MQTT主题,judgeStr用于匹配本组策略是否与下发命令相匹配,在匹配的情况下,setDz是本地写参数的接口,addrfom中定义了写参数的目标地址,通过valform中的表达式在下发命令中获取参数值,MQTTCODE中定义了写参数的本地数据名称,resJSonpath中定义了需要返回的json数据的原型,ResTopic定义了返回数据的主题,即:
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种通用MQTT协议实现方法,其特征在于,包括由数据周期上送模块、数据突变上送模块以及请求控制响应模块组成的规约模块,数据周期上送模块、数据突变上送模块以及请求控制响应模块均由用户配置文件和固化程序配合完成:
数据周期上送模块上的用户配置文件包括数据周期上送规则单元、数据周期上送json原型单元,由数据周期上送json原型单元定义了数据周期上送数据帧的格式;
数据突变上送模块上的用户配置文件包括数据突变上送规则单元、数据突变上送json原型单元,数据突变上送json原型单元定义了数据突变上送数据帧的格式;
请求控制响应模块上的用户配置文件包括主站请求控制命令解析配置单元、请求控制返回规则单元以及请求控制返回json文件单元,主站请求控制命令解析配置定义了从主站请求控制命令中提取出本地可执行策略之间的方法。
2.根据权利要求1所述的一种通用MQTT协议实现方法,其特征在于:所述数据周期上送模块上的用户配置文件由用户来配置具体的MQTT业务,并通过固化程序实现对用户配置文件的加载,以解析处理并执行配置文件中预定义的接口。
3.根据权利要求1所述的一种通用MQTT协议实现方法,其特征在于:所述数据周期上送规则单元包括数据上送的MQTT主题、和数据上送周期。
4.根据权利要求3所述的一种通用MQTT协议实现方法,其特征在于:所述数据周期上送json原型加载到内存中,以通过数据周期上送规则单元中的上送周期到达时,将内存中数据周期上送json原型中定义的各个数据帧中数据更新为最新的业务数据,更新后的json发送给MQTT主站。
5.根据权利要求1所述的一种通用MQTT协议实现方法,其特征在于:所述数据突变上送规则单元包含数据上送的MQTT主题,以通过数据突变上送模块实时监测配置中触发突变上送的各数据项的数值,当数值满足触发条件时,触发突变上送,即会将内存中数据突变上送json原型中各个数据帧中数据更新为最新的业务数据,并将更新后的json发送给MQTT主站。
6.根据权利要求5所述的一种通用MQTT协议实现方法,其特征在于:主站请求控制命令解析配置提取出本地可执行策略,以通过请求控制返回规则定义接收到的命令需要返回报文,并加载对应的请求控制返回json原型到内存,将内存请求控制返回json原型中的各个数据帧中数据更新为最新的业务数据将更新后的json发送给MQTT主站。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524259.1A CN118042006A (zh) | 2023-11-16 | 2023-11-16 | 一种通用mqtt协议实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524259.1A CN118042006A (zh) | 2023-11-16 | 2023-11-16 | 一种通用mqtt协议实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118042006A true CN118042006A (zh) | 2024-05-14 |
Family
ID=90999374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311524259.1A Pending CN118042006A (zh) | 2023-11-16 | 2023-11-16 | 一种通用mqtt协议实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118042006A (zh) |
-
2023
- 2023-11-16 CN CN202311524259.1A patent/CN118042006A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430219B (zh) | 多种协议物联网设备自适配的方法及系统 | |
CN100527690C (zh) | 用于控制信息处理设备的系统和方法 | |
CN101193078A (zh) | 用于管理订阅匹配的方法和系统 | |
US20210042578A1 (en) | Feature engineering orchestration method and apparatus | |
CN103534988A (zh) | 消息发布与订阅的方法及装置 | |
CN113852785B (zh) | 一种基于5g的智能监控调度方法、装置及系统 | |
CN111897300A (zh) | 一种基于opc-ua的软/硬件联合仿真系统及其自适应协同方法 | |
CN115412602A (zh) | 一种数字孪生的数据解析流转方法、装置、设备及介质 | |
CN101087262A (zh) | 一种即时通讯处理方法及系统 | |
CN115473947A (zh) | 基于云边协同的数据采集方法、装置及服务器 | |
Hästbacka et al. | Data-driven and event-driven integration architecture for plant-wide industrial process monitoring and control | |
CN116582582B (zh) | 组件式物联网数据采集方法、系统、设备及介质 | |
CN107368523B (zh) | 一种数据处理方法及系统 | |
CN118042006A (zh) | 一种通用mqtt协议实现方法 | |
CN109756503B (zh) | 一种消防机器人的通讯协议设计方法 | |
CN111953752A (zh) | 物联网平台设备交互控制方法 | |
CN105916184B (zh) | 一种符合ISA100.11a标准的工业无线传感网终端实现方法 | |
CN118250324A (zh) | 物联网设备交互管理方法及装置、系统 | |
CN113625586A (zh) | 一种基于网关控制智能家居的方法及系统 | |
WO2019114972A1 (en) | Communications with constrained devices | |
CN113328891A (zh) | 数据通信方法、装置、设备及存储介质 | |
CN114095367A (zh) | 一种状态反馈方式的配置方法、状态反馈方法及装置 | |
Nurgaliyev et al. | AN ANALYSIS OF THE HETEROGENEOUS IOT DEVICE NETWORK INTERACTION IN A CYBER-PHYSICAL SYSTEM | |
EP4329383A1 (en) | Method and system for optimizing energy consumption of a wireless device with limited energy resources | |
CN113746611B (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 |