一种消息的处理方法、装置、终端及存储介质制造方法及图纸

技术编号:32482429 阅读:13 留言:0更新日期:2022-03-02 09:46
本发明专利技术涉及一种消息的处理方法、装置、终端及存储介质,应用于IOT设备,该方法包括:获取发送给队列中间件的消息;为所述消息添加预设的中间件参数;当从所述队列中间件获取消息时,若基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,则丢弃当前接收到的消息。本方案通过将需要发送给队列中间件的消息添加中间件参数的方式,对消息进行标识,以此后续当队列中间件接收到该消息时,可以基于中间件参数判断该消息是否为重复接收到的消息,由此,可以丢弃重复接收到的消息,从而达到解决控制堵塞的问题。从而达到解决控制堵塞的问题。从而达到解决控制堵塞的问题。

【技术实现步骤摘要】
一种消息的处理方法、装置、终端及存储介质


[0001]本专利技术涉及消息控制
,具体涉及一种消息的处理方法、装置、终端及存储介质。

技术介绍

[0002]目前大部分IOT(Internet of Things,物联网)设备本身硬件能力有限,只支持单指令串行执行,对于短时间出现大量并发控制指令的情况会出现控制指令丢失的现象,因此IOT平台一般都会针对这种情况先将控制指令放入平台的一个队列中间件中做下缓冲,然后再从队列中间件中获取控制指令发给IOT设备。
[0003]引入了队列中间件,虽说可以解决IOT设备终端本身的阻塞问题,但是通常由于网络以及IOT设备自身处理能力的问题,还是会发生控制指令堆积在队列中间件中的风险,而由于大部分队列中间件又自带有消息重试机制,最终会导致IOT设备被重复控制和收到延迟时间较长的控制指令,给用户造成很差的体验。
[0004]由此,目前需要有一种更好的方案来解决现有技术中的问题。

技术实现思路

[0005]有鉴于此,本专利技术提供一种消息的处理方法、装置、终端及存储介质,能够解决现有技术中消息被重复接收导致用户体验很差的技术问题。
[0006]本专利技术解决上述技术问题的技术方案如下:
[0007]本专利技术实施例提出了一种消息的处理方法,应用于IOT设备,该方法包括:
[0008]获取发送给队列中间件的消息;
[0009]为所述消息添加预设的中间件参数;
[0010]当从所述队列中间件获取消息时,若基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,则丢弃当前接收到的消息。
[0011]在一个具体的实施例中,添加预设的中间件参数的消息为控制指令。
[0012]在一个具体的实施例中,所述中间件参数包括:为所述消息进行所述添加操作时的时间戳;
[0013]基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,包括:
[0014]判断当前从所述队列中间件获取到的消息中是否包含所述时间戳;
[0015]若判断结果为是,则确定所述时间戳与当前时间的时间差;
[0016]若所述时间差大于预设的时间阈值,则确定当前获取到的消息为重复接收到的消息。
[0017]在一个具体的实施例中,所述中间件参数包括ID;其中,不同的所述消息对应不同的所述指令;
[0018]基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的
消息,包括:
[0019]判断当前从所述队列中间件获取到的消息中是否包含ID;
[0020]若判断结果为是,则判断所包含的ID是否存在于缓存中的消息;
[0021]若缓存中的消息已存在所包含的ID,则确定当前获取到的消息为重复接收到的消息。
[0022]在一个具体的实施例中,还包括:
[0023]若所包含的ID不存在于缓存中的消息,则将当前获取到的消息放置在缓存中。
[0024]本专利技术实施例提出了一种消息的处理装置,应用于IOT设备,该装置包括:
[0025]获取模块,用于获取发送给队列中间件的消息;
[0026]添加模块,用于为所述消息添加预设的中间件参数;
[0027]丢弃模块,用于当从所述队列中间件获取消息时,若基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,则丢弃当前接收到的消息。
[0028]在一个具体的实施例中,所述中间件参数包括:为所述消息进行所述添加操作时的时间戳;
[0029]所述丢弃模块基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,包括:
[0030]判断当前从所述队列中间件获取到的消息中是否包含所述时间戳;
[0031]若判断结果为是,则确定所述时间戳与当前时间的时间差;
[0032]若所述时间差大于预设的时间阈值,则确定当前获取到的消息为重复接收到的消息。
[0033]在一个具体的实施例中,所述中间件参数包括ID;其中,不同的所述消息对应不同的所述指令;
[0034]所述丢弃模块基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,包括:
[0035]判断当前从所述队列中间件获取到的消息中是否包含ID;
[0036]若判断结果为是,则判断所包含的ID是否存在于缓存中的消息;
[0037]若缓存中的消息已存在所包含的ID,则确定当前获取到的消息为重复接收到的消息。
[0038]本专利技术实施例还提出了一种终端,包括处理器与存储器,所述存储器中存储有消息处理的应用程序,所述处理器在执行所述消息处理的应用程序时执行上述的消息处理的方法。
[0039]本专利技术实施例还提出了一种存储介质,其中,所述存储介质中存储有消息处理的应用程序,所述消息处理的应用程序被执行时实现上述的消息处理的方法。
[0040]本专利技术的有益效果是:
[0041]本专利技术实施例提出了一种消息的处理方法、装置、终端及存储介质,应用于IOT设备,该方法包括:获取发送给队列中间件的消息;为所述消息添加预设的中间件参数;当从所述队列中间件获取消息时,若基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,则丢弃当前接收到的消息。本方案通过将需要发送给队列中间件的消息添加中间件参数的方式,对消息进行标识,以此后续当队列中间件接收到该消息
时,可以基于中间件参数判断该消息是否为重复接收到的消息,由此,可以丢弃重复接收到的消息,从而达到解决控制堵塞的问题。
附图说明
[0042]图1为本专利技术实施例提供的一种消息的处理方法的流程示意图;
[0043]图2为本专利技术实施例提供的一种消息的处理装置的结构示意图;
[0044]图3为本专利技术实施例提供的一种终端的结构示意图;
[0045]图4为本专利技术实施例提供的一种存储介质的结构示意图。
具体实施方式
[0046]以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。
[0047]本专利技术实施例提供的一种消息的处理方法,应用于IOT设备,如图1所示,该方法包括以下步骤:
[0048]步骤101、获取发送给队列中间件的消息;
[0049]具体的,在消息发送给队列中间件之前,先获取该消息。
[0050]步骤102、为所述消息添加预设的中间件参数;
[0051]具体的,在获取到消息后,给消息添加预设的中间件参数,具体的中间件参数可以包括:时间戳、ID(Identity document,身份标识号)等,具体的,若是选择时间戳作为中间件参数,则时间戳的时间为对消息进行首次标记的时间。
[0052]步骤103、当从所述队列中间件获取消息时,若基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,则丢弃当前接收本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息的处理方法,其特征在于,应用于IOT设备,该方法包括:获取发送给队列中间件的消息;为所述消息添加预设的中间件参数;当从所述队列中间件获取消息时,若基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,则丢弃当前接收到的消息。2.根据权利要求1所述的方法,其特征在于,添加预设的中间件参数的消息为控制指令。3.如权利要求1所述的方法,其特征在于,所述中间件参数包括:为所述消息进行所述添加操作时的时间戳;基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,包括:判断当前从所述队列中间件获取到的消息中是否包含所述时间戳;若判断结果为是,则确定所述时间戳与当前时间的时间差;若所述时间差大于预设的时间阈值,则确定当前获取到的消息为重复接收到的消息。4.如权利要求1所述的方法,其特征在于,所述中间件参数包括ID;其中,不同的所述消息对应不同的所述指令;基于所述中间件参数确定当前从所述队列中间件获取到的消息为重复接收到的消息,包括:判断当前从所述队列中间件获取到的消息中是否包含ID;若判断结果为是,则判断所包含的ID是否存在于缓存中的消息;若缓存中的消息已存在所包含的ID,则确定当前获取到的消息为重复接收到的消息。5.如权利要求4所述的方法,其特征在于,还包括:若所包含的ID不存在于缓存中的消息,则将当前获取到的消息放置在缓存中。6.一种消息的处理装置,其特征在于,应用于IOT设备,该装置包括:获取模块,用于获取发送给队列中间件的消息;添加模块,用于为所述消息添...

【专利技术属性】
技术研发人员:李旭滨耿朝刚陈吉胜
申请(专利权)人:云知声智能科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1