CN112769741B - 一种消息通信方法及电子设备 - Google Patents
一种消息通信方法及电子设备 Download PDFInfo
- Publication number
- CN112769741B CN112769741B CN201911075949.7A CN201911075949A CN112769741B CN 112769741 B CN112769741 B CN 112769741B CN 201911075949 A CN201911075949 A CN 201911075949A CN 112769741 B CN112769741 B CN 112769741B
- Authority
- CN
- China
- Prior art keywords
- message
- electronic device
- metadata information
- protocol
- information
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种消息通信方法及电子设备,涉及物联网技术领域,所述方法应用于电子设备,所述电子设备为第一电子设备,所述方法包括:接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。本发明实施例能够降低适配MQTT协议变更导致的工作量。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种消息通信方法及电子设备。
背景技术
随着物联网技术的发展,MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议也得到了极大的利用,MQTT以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务,可以高效快速的实现万物之间的通讯。MQTT作为一种低开销、低带宽占用的即时通讯协议,在物联网、小型设备及移动应用等方面有较广泛的应用。
MQTT是一种基于消息发布/订阅模式的协议,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)及订阅者(Subscribe),其中,消息代理是代理服务器,消息发布者可以同时是订阅者。
目前,当MQTT协议规定的消息结构发生变更后,发布者和订阅者均需要修改消息编码程序和消息解析程序,从而需要大量修改通信代码进行适配,会导致较大的工作量。
发明内容
本发明实施例提供一种消息通信方法及电子设备,以解决现有技术中当MQTT协议规定的消息结构发生变更后,需要大量修改通信代码进行适配,会导致较大的工作量的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种消息通信方法,应用于电子设备,所述电子设备为第一电子设备,所述方法包括:
接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。
可选的,所述方法还包括:
接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
第二方面,本发明实施例提供了一种电子设备,所述电子设备为第二电子设备,所述方法包括:
接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
向第一电子设备发送所述第一消息。
可选的,所述方法还包括:
向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
第三方面,本发明实施例提供了一种电子设备,所述电子设备为第一电子设备,所述电子设备包括:
第一接收模块,用于接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
解析模块,用于基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。
可选的,所述电子设备还包括:
第二接收模块,用于接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
修改模块,用于基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
第四方面,本发明实施例提供了一种电子设备,所述电子设备为第二电子设备,所述电子设备包括:
接收模块,用于接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
第一发送模块,用于向第一电子设备发送所述第一消息。
可选的,所述电子设备还包括:
第二发送模块,用于向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
第五方面,本发明实施例提供了一种电子设备,所述电子设备为第一电子设备,包括收发机和处理器,
所述收发机,用于接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
所述处理器,用于基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。
可选的,所述收发机,还用于接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
所述处理器,还用于基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
第六方面,本发明实施例提供了一种电子设备,所述电子设备为第二电子设备,包括收发机和处理器,
所述收发机,用于接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
所述收发机,还用于向第一电子设备发送所述第一消息。
可选的,所述收发机,还用于向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
第七方面,本发明实施例提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如第一方面所述的消息通信方法的步骤;或者,所述程序被所述处理器执行时实现如第二方面所述的消息通信方法的步骤。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的消息通信方法的步骤;或者,所述计算机程序被处理器执行时实现如第二方面所述的消息通信方法的步骤。
在本发明实施例中,接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。这样,通过元数据信息对第一信息进行封装和解析,当MQTT协议规定的消息结构发生变更后,只需要修改元数据信息,而不必修改消息编码程序和消息解析程序,能够降低适配MQTT协议变更导致的工作量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种消息通信方法的流程图;
图2是本发明实施例提供的一种元数据信息的结构示意图;
图3是本发明实施例提供的一种基于MQTT的通信系统结构示意图;
图4是本发明实施例提供的另一种消息通信方法的流程图;
图5是本发明实施例提供的一种电子设备的结构示意图;
图6是本发明实施例提供的另一种电子设备的结构示意图;
图7是本发明实施例提供的另一种电子设备的结构示意图;
图8是本发明实施例提供的另一种电子设备的结构示意图;
图9是本发明实施例提供的另一种电子设备的结构示意图;
图10是本发明实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1是本发明实施例提供的一种消息通信方法的流程图之一,所述方法应用于电子设备,所述电子设备为第一电子设备,如图1所示,包括以下步骤:
步骤101、接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本。
其中,所述元数据信息可以用于对MQTT协议规定的消息结构进行描述。所述元数据信息可以是对各种业务消息协议格式进行抽象得到的一种通用消息协议描述工具。可以在元数据信息中对消息结构进行描述,包括字段属性类型、占用字节数、顺序等。信息发布者和订阅者对业务消息的解析可以基于元数据信息。元数据信息可以认为是元数据字典,通过查找元数据字典,可以对接收到的消息进行解析。所述元数据信息可以存储在所述第一电子设备上,或者,还可以存储在其他设备上,当需要进行信息解析时再读取元数据信息,本发明实施例对此不进行限定。
进一步的,元数据信息可以包括协议、消息、消息头及消息体等信息,其中,协议可以包含协议名称及版本控制信息,版本控制信息用于对MQTT协议发生的更改做记录,后续协议有改动便新增一个新版本的协议。所述第一电子设备上可以包括一个版本的元数据信息,或者可以包括多个版本的元数据信息,当MQTT协议发生更改时,可以新增一个版本的元数据信息与该更改的MQTT协议进行适配。一个版本的元数据信息可以包括一个协议,一个版本的元数据信息还可以包括多个消息,以及所述多个消息中每个消息对应的一个消息头和一个消息体。消息头和消息体中的字段均是对消息的结构描述。
另外,如图2所示,以元数据信息包括一个协议201、一个消息202、以及该消息对应的消息头203和消息体204为例进行说明,协议201可以包括协议名称、协议版本以及说明字段;消息202可以包括消息名称以及说明字段;消息头203可以包括类型、步骤、时间戳、唯一标识、错误信息以及消息长度字段;消息体204可以包括序号、配置名、配置值、配置值类型、占用字节数以及说明字段。在该元数据信息中还可以对各个字段的字段类型进行限定。其中,元数据信息中的消息名称可以用于表征不同的业务,元数据信息中的消息头中的字段可以用于标识通信的消息中消息头中的字段,元数据信息中的消息体中的字段可以用于标识通信的消息中消息体中的字段。
步骤102、基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。
其中,可以采用编解码工具对所述第一消息进行解析,所述编解码工具可以读取元数据信息并依据元数据信息解析所述第一信息。所述元数据信息具有通用性,对元数据信息进行解读的编解码工具也同样具有普遍通用性,即使元数据信息发生变更也不会影响到客户端和服务端之间的通信。
另外,第二电子设备可以接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;第二电子设备向第一电子设备发送所述第一消息;第一电子设备可以接收第二电子设备发送的第一消息;第一电子设备可以基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。第一电子设备可以为客户端,即消息的订阅者,第二电子设备可以为代理服务器,即消息的代理,第三电子设备可以为服务端,即消息的发布者;或者,第三电子设备可以为客户端,即消息的订阅者,第二电子设备可以为代理服务器,即消息的代理,第一电子设备可以为服务端,即消息的发布者。
在实际应用中,以第一电子设备为客户端,第二电子设备为代理服务器,第三电子设备为服务端为例进行说明,如图3所示,代理服务器302可以下挂多个客户端301,服务器303可以通过代理服务器302与多个客户端301进行通信,客户端301和服务端303上均设置有编解码工具。客户端301和服务端303通信时依据元数据信息中描述的内容对通信消息进行解析。服务端303将消息发送至代理服务器302,代理服务器302将该消息转发至客户端301,或者,客户端301将消息发送至代理服务器302,代理服务器302将该消息转发至客户端301,从而实现客户端301与服务端303之间的通信。在客户端301和服务端303进行消息通信时可以携带消息协议的版本信息作为校验依据。
进一步的,当MQTT协议规定的消息结构发生变更后,元数据信息会发生变更。第一电子设备可以接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息,基于所述修改信息对所述第二目标版本对应的元数据信息进行修改;或者,第一电子设备还可以接收人在所述第一电子设备上修改元数据信息的输入,从而实现对元数据信息的修改。通过对元数据信息的修改,可以实现MQTT协议规定的消息结构的变更的适配。
需要说明的是,目前消息协议的编码和解码都是完全固化在发布者和订阅者中,是一种静态固化的方式,而不同的业务系统因为需要表达的业务含义不同,对不同的业务系统均需要单独重新定义一套协议,采用该种方式非常耗时且影响开发效率。另外由于业务含义变动会导致业务协议跟着变动,所以原有开发的程序也无法适应协议发生的各种变化。本发明实施例中通过对不同业务协议进行抽象,采用元数据信息进行描述,并且将业务协议的通用抽象描述作为统一服务进行提供,能够在前期的开发中极大提高工作效率,而且还能很好的适应后期的协议变动。
在本发明实施例中,接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。这样,通过元数据信息对第一信息进行封装和解析,当MQTT协议规定的消息结构发生变更后,只需要修改元数据信息,而不必修改消息编码程序和消息解析程序,能够降低适配MQTT协议变更导致的工作量。
可选的,所述方法还包括:
接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
其中,所述第二目标版本可以与所述第一目标版本相同,也可以与所述第一目标版本不同。所述元数据信息的修改信息可以仅包括所述元数据信息中变更的部分,或者,可以包括所述元数据信息中变更的部分以及未发生变更的部分,本发明实施例对此不进行限定。
另外,在实际应用中,以第一电子设备为客户端,第二电子设备为代理服务器,第三电子设备为服务端为例进行说明,客户端和服务端通信时依据元数据信息中描述的内容对通信消息进行解析。代理服务器作为代理者可以不关心消息的具体内容,负责转发字节流顺序的消息。服务端和客户端通过元数据信息中消息协议的具体格式描述来解读消息内容。
需要说明的是,作为一种具体的实现方式,元数据信息也可以通过服务的方式发布在代理服务器中,需要对消息进行解读的服务端和客户端可以订阅元数据信息的消息,针对元数据信息的变更可以通过主题消息方式发送给要消费的其它订阅者。元数据信息可以存储在代理服务器上,或者还可以存储在与代理服务器通信的其他服务器上。当MQTT协议规定的消息结构发生变更后,可以在代理服务器或者存储有该元数据信息的其他服务器上对元数据信息进行修改。如图3所示,代理服务器302接收到元数据信息的变更消息后可以及时通知到订阅变更消息的服务端303和客户端301,这样服务端和客户端便能够依据其通用的编解码工具进行正确通信。
该实施方式中,接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息,基于所述修改信息对所述第二目标版本对应的元数据信息进行修改,这样,当MQTT协议规定的消息结构发生变更后,能够自动对元数据信息进行修改,实现MQTT协议规定的消息结构的变更的自动适配。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
其中,所述目标字段可以为配置名字段,所述配置名字段用于标识所述第一消息中的字段信息。当MQTT协议规定的消息结构中的字段信息发生变更后,可以对配置名字段进行修改,以匹配协议规定的消息结构中的字段信息的修改,例如,当消息结构中的字段发生修改时,可以直接对配置名字段进行适配的修改;或者当消息结构中的字段发送增加时,可以直接增加对应的配置名字段。
该实施方式中,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息,这样,当MQTT协议规定的消息结构发生变更后,能够通过修改目标字段,从而匹配通信消息中的变更的字段信息,能够适配MQTT协议规定的消息结构的变更。
参见图4,图4是本发明实施例提供的另一种消息通信方法的流程图,所述方法应用于电子设备,所述电子设备为第二电子设备,如图4所示,包括以下步骤:
步骤401、接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
步骤402、向第一电子设备发送所述第一消息。
需要说明的是,本实施例作为与图1所示的实施例中对应的第二电子设备的实施方式,其具体的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
可选的,所述方法还包括:
向所述第一电子设备发送更新的元数据信息以及所述更新的元数据信息对应的第一版本。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
上述可选的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
在本发明实施例中,接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;向第一电子设备发送所述第一消息。这样,通过元数据信息对第一信息进行封装和解析,当MQTT协议规定的消息结构发生变更后,只需要修改元数据信息,而不必修改消息编码程序和消息解析程序,能够降低适配MQTT协议变更导致的工作量。
参见图5,图5是本发明实施例提供的一种电子设备的结构示意图,所述电子设备为第一电子设备,如图5所示,电子设备500包括:
第一接收模块501,用于接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
解析模块502,用于基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。
可选的,如图6所示,所述电子设备500还包括:
第二接收模块503,用于接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
修改模块504,用于基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
电子设备500能够实现图1所示的方法实施例中电子设备实现的各个过程,为避免重复,这里不再赘述。电子设备500接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。这样,通过元数据信息对第一信息进行封装和解析,当MQTT协议规定的消息结构发生变更后,只需要修改元数据信息,而不必修改消息编码程序和消息解析程序,能够降低适配MQTT协议变更导致的工作量。
参见图7,图7是本发明实施例提供的另一种电子设备的结构示意图,所述电子设备为第二电子设备,如图7所示,电子设备600包括:
接收模块601,用于接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
第一发送模块602,用于向第一电子设备发送所述第一消息。
可选的,如图8所示,所述电子设备600还包括:
第二发送模块603,用于向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
可选的,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
电子设备600能够实现图4所示的方法实施例中电子设备实现的各个过程,为避免重复,这里不再赘述。电子设备600接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;向第一电子设备发送所述第一消息。这样,通过元数据信息对第一信息进行封装和解析,当MQTT协议规定的消息结构发生变更后,只需要修改元数据信息,而不必修改消息编码程序和消息解析程序,能够降低适配MQTT协议变更导致的工作量。
本发明实施例还提供了一种电子设备,所述电子设备为第一电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述应用于第一电子设备上的消息通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图7所示,本发明实施例还提供了一种电子设备,所述电子设备为第一电子设备,包括总线701、收发机702、天线703、总线接口704、处理器705和存储器706。
所述收发机702,用于接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
所述处理器705,用于基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。
进一步地,所述收发机702,还用于接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
所述处理器705,还用于基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
进一步地,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
所述电子设备还包括:存储在存储器706上并可在处理器705上运行的计算机程序。其中,所述计算机程序被处理器705执行时可实现如下步骤:
接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
基于所述第一目标版本对应的元数据信息对所述第一消息进行解析。
在图7中,总线架构(用总线701来代表),总线701可以包括任意数量的互联的总线和桥,总线701将包括由处理器705代表的一个或多个处理器和存储器706代表的存储器的各种电路链接在一起。总线701还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口704在总线701和收发机702之间提供接口。收发机702可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器705处理的数据通过天线703在无线介质上进行传输,进一步,天线703还接收数据并将数据传送给处理器705。
处理器705负责管理总线701和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器706可以被用于存储处理器705在执行操作时所使用的数据。
可选的,处理器705可以是CPU、ASIC、FPGA或CPLD。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述应用于第一电子设备上的消息通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。
本发明实施例还提供了一种电子设备,所述电子设备为第二电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述应用于第二电子设备上的消息通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
具体的,参见图8所示,本发明实施例还提供了一种电子设备,所述电子设备为第二电子设备,包括总线801、收发机802、天线803、总线接口804、处理器805和存储器806。
所述收发机802,用于接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
所述收发机802,还用于向第一电子设备发送所述第一消息。
进一步地,所述收发机802,还用于向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
进一步地,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
所述电子设备还包括:存储在存储器806上并可在处理器805上运行的计算机程序。其中,所述计算机程序被处理器805执行时可实现如下步骤:
接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
向第一电子设备发送所述第一消息。
在图8中,总线架构(用总线801来代表),总线801可以包括任意数量的互联的总线和桥,总线801将包括由处理器805代表的一个或多个处理器和存储器806代表的存储器的各种电路链接在一起。总线801还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口804在总线801和收发机802之间提供接口。收发机802可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器805处理的数据通过天线803在无线介质上进行传输,进一步,天线803还接收数据并将数据传送给处理器805。
处理器805负责管理总线801和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器806可以被用于存储处理器805在执行操作时所使用的数据。
可选的,处理器805可以是CPU、ASIC、FPGA或CPLD。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述应用于第二电子设备上的消息通信方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如ROM、RAM、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (10)
1.一种消息通信方法,应用于电子设备,所述电子设备为第一电子设备,其特征在于,所述方法包括:
接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
基于所述第一目标版本对应的元数据信息对所述第一消息进行解析;
其中,所述元数据信息用于对MQTT协议规定的消息结构进行描述,所述元数据信息包括协议、消息、消息头及消息体,所述协议包含协议名称及版本控制信息,所述版本控制信息用于对MQTT协议发生的更改做记录;
所述方法还包括:
接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
2.根据权利要求1所述的方法,其特征在于,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
3.一种消息通信方法,应用于电子设备,所述电子设备为第二电子设备,其特征在于,所述方法包括:
接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
向第一电子设备发送所述第一消息;
其中,所述元数据信息用于对MQTT协议规定的消息结构进行描述,所述元数据信息包括协议、消息、消息头及消息体,所述协议包含协议名称及版本控制信息,所述版本控制信息用于对MQTT协议发生的更改做记录;
所述方法还包括:
向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
4.根据权利要求3所述的方法,其特征在于,所述元数据信息包括目标字段,所述目标字段用于标识所述第一消息中的字段信息。
5.一种电子设备,所述电子设备为第一电子设备,其特征在于,所述电子设备包括:
第一接收模块,用于接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
解析模块,用于基于所述第一目标版本对应的元数据信息对所述第一消息进行解析;
其中,所述元数据信息用于对MQTT协议规定的消息结构进行描述,所述元数据信息包括协议、消息、消息头及消息体,所述协议包含协议名称及版本控制信息,所述版本控制信息用于对MQTT协议发生的更改做记录;
所述电子设备还包括:
第二接收模块,用于接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
修改模块,用于基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
6.一种电子设备,所述电子设备为第二电子设备,其特征在于,所述电子设备包括:
接收模块,用于接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
第一发送模块,用于向第一电子设备发送所述第一消息;
其中,所述元数据信息用于对MQTT协议规定的消息结构进行描述,所述元数据信息包括协议、消息、消息头及消息体,所述协议包含协议名称及版本控制信息,所述版本控制信息用于对MQTT协议发生的更改做记录;
所述电子设备还包括:
第二发送模块,用于向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
7.一种电子设备,所述电子设备为第一电子设备,其特征在于,包括收发机和处理器,
所述收发机,用于接收第二电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
所述处理器,用于基于所述第一目标版本对应的元数据信息对所述第一消息进行解析;
其中,所述元数据信息用于对MQTT协议规定的消息结构进行描述,所述元数据信息包括协议、消息、消息头及消息体,所述协议包含协议名称及版本控制信息,所述版本控制信息用于对MQTT协议发生的更改做记录;
所述收发机,还用于接收所述第二电子设备发送的对第二目标版本对应的元数据信息的修改信息;
所述处理器,还用于基于所述修改信息对所述第二目标版本对应的元数据信息进行修改。
8.一种电子设备,所述电子设备为第二电子设备,其特征在于,包括收发机和处理器,
所述收发机,用于接收第三电子设备发送的第一消息,所述第一消息中包括封装所述第一消息所使用的元数据信息对应的第一目标版本;
所述收发机,还用于向第一电子设备发送所述第一消息;
其中,所述元数据信息用于对MQTT协议规定的消息结构进行描述,所述元数据信息包括协议、消息、消息头及消息体,所述协议包含协议名称及版本控制信息,所述版本控制信息用于对MQTT协议发生的更改做记录;
所述收发机,还用于向第一电子设备发送对第二目标版本对应的元数据信息的修改信息。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至2中任一项所述的消息通信方法的步骤;或者,所述程序被所述处理器执行时实现如权利要求3至4中任一项所述的消息通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至2中任一项所述的消息通信方法的步骤;或者,所述计算机程序被处理器执行时实现如权利要求3至4中任一项所述的消息通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911075949.7A CN112769741B (zh) | 2019-11-06 | 2019-11-06 | 一种消息通信方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911075949.7A CN112769741B (zh) | 2019-11-06 | 2019-11-06 | 一种消息通信方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769741A CN112769741A (zh) | 2021-05-07 |
CN112769741B true CN112769741B (zh) | 2023-04-07 |
Family
ID=75692701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911075949.7A Active CN112769741B (zh) | 2019-11-06 | 2019-11-06 | 一种消息通信方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112769741B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115776587B (zh) * | 2021-09-06 | 2024-05-24 | 中移物联网有限公司 | 一种信息同步方法、装置及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915577A (zh) * | 2015-12-18 | 2016-08-31 | 美的集团股份有限公司 | 一种物联网控制系统、终端、网关、远程控制终端和方法 |
CN109981668A (zh) * | 2019-04-02 | 2019-07-05 | 四川尊古科技有限公司 | 基于mqtt泛化协议的通用设备物联网通信方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391725B (zh) * | 2014-12-08 | 2017-11-14 | 畅捷通信息技术股份有限公司 | 页面展示方法和页面展示装置 |
US10447626B2 (en) * | 2015-07-07 | 2019-10-15 | International Business Machines Corporation | Control of messages in publish/subscribe system |
CN106708693A (zh) * | 2015-11-16 | 2017-05-24 | 亿阳信通股份有限公司 | 一种告警数据处理方法及装置 |
US10560407B2 (en) * | 2016-10-06 | 2020-02-11 | Sap Se | Payload description for computer messaging |
US10853347B2 (en) * | 2017-03-31 | 2020-12-01 | Microsoft Technology Licensing, Llc | Dependency-based metadata retrieval and update |
CN109981435B (zh) * | 2019-04-02 | 2021-09-28 | 中安智联未来有限公司 | 基于CAN-ModBus转MQTT网关及通讯系统 |
-
2019
- 2019-11-06 CN CN201911075949.7A patent/CN112769741B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915577A (zh) * | 2015-12-18 | 2016-08-31 | 美的集团股份有限公司 | 一种物联网控制系统、终端、网关、远程控制终端和方法 |
CN109981668A (zh) * | 2019-04-02 | 2019-07-05 | 四川尊古科技有限公司 | 基于mqtt泛化协议的通用设备物联网通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112769741A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8375094B2 (en) | Creating a message readable by a plurality of heterogeneous recipients | |
CN110022289B (zh) | 数据传输方法、装置及系统 | |
CN112527528A (zh) | 基于消息队列的数据传输方法、装置及存储介质 | |
CN109756559B (zh) | 面向嵌入式机载系统分布式数据分发服务的构建及使用方法 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
CN110297944B (zh) | 分布式xml数据处理方法及系统 | |
CN112600926A (zh) | 一种消息推送方法、装置及计算机可读存储介质 | |
US20030163539A1 (en) | Apparatus and method for data transfer | |
US10303529B2 (en) | Protocol for communication of data structures | |
CN109861998B (zh) | 一种基于北斗短报文协议的插件式动态解析系统及方法 | |
CN111294235A (zh) | 数据处理方法、装置、网关及可读存储介质 | |
CN112689020A (zh) | 一种消息传输方法、消息中间件、电子设备及存储介质 | |
CN114567650A (zh) | 一种数据处理方法及物联网平台系统 | |
CN112769741B (zh) | 一种消息通信方法及电子设备 | |
CN113347195B (zh) | 一种物联网设备通信协议包动态挂载系统及方法 | |
CN117478765A (zh) | 一种基于物联网多协议适配的信息交互方法 | |
CN111131219B (zh) | 基于FlatBuffers的物联网高效数据传输方法 | |
CN102438048B (zh) | 一种互联网中远程服务调用的方法和系统 | |
CN112866294B (zh) | 一种多协议适配方法、装置及可读存储介质 | |
CN113051202A (zh) | 接口适配方法、装置、电子设备和计算机可读存储介质 | |
CN116483479A (zh) | 多维度调用接口的方法和装置、设备、介质 | |
US20140215011A1 (en) | Message exchange via generic tlv generator and parser | |
US7818431B2 (en) | Efficient exchange of service requests and responses | |
CN113918245A (zh) | 一种数据调用方法、装置、设备及计算机可读存储介质 | |
CN113992644A (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 |