一种指令消息队列的处理方法、系统、设备及介质技术方案

技术编号:37672607 阅读:17 留言:0更新日期:2023-05-26 04:35
本申请公开了一种指令消息队列的处理方法、系统、设备及介质,接收应用发送的指令消息,写入指令下发队列的尾部;当判断设备进程中的状态位为空,且指令可下发时,从指令下发队列的头部取出处于首位位置的目标指令消息;将目标指令消息写入状态位后发送给设备,并在上下行交互通道中留存目标指令消息的完整信息;接收设备的反馈信息,判断反馈信息是否为目标指令消息的响应消息;若是,则清空状态位,在上下行交互通道中关闭目标指令消息对应的通道,按照指令下发队列的顺序下发下一指令消息。该方法可以降低指令下发流程的处理复杂度,减少性能消耗。本申请可广泛应用于物联网技术领域内。技术领域内。技术领域内。

【技术实现步骤摘要】
一种指令消息队列的处理方法、系统、设备及介质


[0001]本申请涉及物联网
,尤其是一种指令消息队列的处理方法、系统、设备及介质。

技术介绍

[0002]窄带物联网(Narrow Band Internet of Things,NB

IoT)由于其覆盖广、功耗低的特性,广泛应用于物联网场景下。在网络传输过程中,当多条指令同时下发时,网络侧仅可缓存最后一条信息,其他指令均会被丢弃。这样可能导致设备接收到的指令内容不完整,引起不必要的损失。
[0003]综上,相关技术存在的问题亟需得到解决。

技术实现思路

[0004]本申请的目的在于至少一定程度上解决相关技术中存在的技术问题之一。
[0005]为此,本申请实施例的一个目的在于提供一种指令消息队列的处理方法、系统、设备及介质。
[0006]为了达到上述技术目的,本申请实施例所采取的技术方案包括:
[0007]一方面,本申请实施例提供了一种指令消息队列的处理方法,所述方法包括:
[0008]接收应用发送的指令消息,将所述指令消息写入指令下发队列的尾部;
[0009]当判断设备进程中的状态位为空,且指令可下发时,从所述指令下发队列的头部取出处于首位位置的目标指令消息;
[0010]将所述目标指令消息写入状态位后发送给设备,并在上下行交互通道中留存所述目标指令消息的完整信息;
[0011]接收设备的反馈信息,判断所述反馈信息是否为所述目标指令消息的响应消息;
[0012]若所述反馈消息为所述目标指令消息的响应消息,清空所述状态位,在上下行交互通道中关闭所述目标指令消息对应的通道,按照所述指令下发队列的顺序下发下一指令消息。
[0013]另外,根据本申请上述实施例的一种指令消息队列的处理方法,还可以具有以下附加的技术特征:
[0014]进一步地,在本申请的一个实施例中,所述指令消息包括设备ID、指令内容和ttl缓存时间。
[0015]进一步地,在本申请的一个实施例中,所述接收应用发送的指令消息,将所述指令消息写入指令下发队列的尾部,包括:
[0016]接收应用发送的指令消息,生成所述指令消息对应的指令ID;所述指令ID按照指令消息的接收顺序递增;
[0017]根据所述指令消息对应的指令ID和设备ID,生成所述指令消息对应的任务ID;
[0018]以所述任务ID作为key值,按照格式写入设备进程字典的指令下发队列的尾部。
[0019]进一步地,在本申请的一个实施例中,将所述目标指令消息发送给设备,包括:
[0020]对所述目标指令消息进行编解码和协议转换后,以CON报文的形式发送给所述设备。
[0021]进一步地,在本申请的一个实施例中,所述接收设备的反馈信息,判断所述反馈信息是否为所述目标指令消息的响应消息,包括:
[0022]接收设备的反馈信息;
[0023]根据协议规定的报文id和token,在设备进程中查找是否存在和所述反馈消息对应的目标通道;
[0024]如果存在和所述反馈消息对应的目标通道,则对比所述目标通道中留存的指令消息的完整信息和当前的状态位是否一致;
[0025]如果目标通道中留存的指令消息的完整信息和当前的状态位一致,则确定所述反馈信息是所述目标指令消息的响应消息。
[0026]进一步地,在本申请的一个实施例中,所述方法还包括:
[0027]若所述目标指令消息发送后预定时间阈值内未收到所述设备的反馈信息,清空所述状态位,在上下行交互通道中关闭所述目标指令消息对应的通道。
[0028]进一步地,在本申请的一个实施例中,所述方法还包括:
[0029]检测当前设备所使用的省电模式;
[0030]若所述设备所使用的省电模式属于PSM,则暂停指令消息的下发,直至接收到设备的任意一条上行报文后按照所述指令下发队列的顺序下发下一指令消息;
[0031]或者,若所述设备所使用的省电模式属于eDRX或者DRX,按照所述指令下发队列的顺序下发下一指令消息。
[0032]另一方面,本申请实施例提供一种指令消息队列的处理系统,所述系统包括:
[0033]接收模块,用于接收应用发送的指令消息,将所述指令消息写入指令下发队列的尾部;
[0034]提取模块,用于当判断设备进程中的状态位为空,且指令可下发时,从所述指令下发队列的头部取出处于首位位置的目标指令消息;
[0035]发送模块,用于将所述目标指令消息写入状态位后发送给设备,并在上下行交互通道中留存所述目标指令消息的完整信息;
[0036]判断模块,用于接收设备的反馈信息,判断所述反馈信息是否为所述目标指令消息的响应消息;
[0037]处理模块,用于若所述反馈消息为所述目标指令消息的响应消息,清空所述状态位,在上下行交互通道中关闭所述目标指令消息对应的通道,按照所述指令下发队列的顺序下发下一指令消息。
[0038]另一方面,本申请实施例提供了一种计算机设备,包括:
[0039]至少一个处理器;
[0040]至少一个存储器,用于存储至少一个程序;
[0041]当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现上述的一种指令消息队列的处理方法。
[0042]另一方面,本申请实施例还提供了一种计算机可读存储介质,其中存储有处理器
可执行的程序,上述处理器可执行的程序在由处理器执行时用于实现上述的一种指令消息队列的处理方法。
[0043]本申请的优点和有益效果将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到:
[0044]本申请实施例公开的一种指令消息队列的处理方法,所述方法包括:接收应用发送的指令消息,将所述指令消息写入指令下发队列的尾部;当判断设备进程中的状态位为空,且指令可下发时,从所述指令下发队列的头部取出处于首位位置的目标指令消息;将所述目标指令消息写入状态位后发送给设备,并在上下行交互通道中留存所述目标指令消息的完整信息;接收设备的反馈信息,判断所述反馈信息是否为所述目标指令消息的响应消息;若所述反馈消息为所述目标指令消息的响应消息,清空所述状态位,在上下行交互通道中关闭所述目标指令消息对应的通道,按照所述指令下发队列的顺序下发下一指令消息。该方法可以提高指令下发流程的完整性、指令处理的高速性以及队列的有序性,降低指令下发流程的处理复杂度,减少性能消耗。
附图说明
[0045]为了更清楚地说明本申请实施例或者现有技术中的技术方案,下面对本申请实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本专利技术的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
[0046]图1为本申请实施例中提供的一种指令消息队列本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指令消息队列的处理方法,其特征在于,所述方法包括:接收应用发送的指令消息,将所述指令消息写入指令下发队列的尾部;当判断设备进程中的状态位为空,且指令可下发时,从所述指令下发队列的头部取出处于首位位置的目标指令消息;将所述目标指令消息写入状态位后发送给设备,并在上下行交互通道中留存所述目标指令消息的完整信息;接收设备的反馈信息,判断所述反馈信息是否为所述目标指令消息的响应消息;若所述反馈消息为所述目标指令消息的响应消息,清空所述状态位,在上下行交互通道中关闭所述目标指令消息对应的通道,按照所述指令下发队列的顺序下发下一指令消息。2.根据权利要求1所述的一种指令消息队列的处理方法,其特征在于,所述指令消息包括设备ID、指令内容和ttl缓存时间。3.根据权利要求2所述的一种指令消息队列的处理方法,其特征在于,所述接收应用发送的指令消息,将所述指令消息写入指令下发队列的尾部,包括:接收应用发送的指令消息,生成所述指令消息对应的指令ID;所述指令ID按照指令消息的接收顺序递增;根据所述指令消息对应的指令ID和设备ID,生成所述指令消息对应的任务ID;以所述任务ID作为key值,按照格式写入设备进程字典的指令下发队列的尾部。4.根据权利要求1所述的一种指令消息队列的处理方法,其特征在于,将所述目标指令消息发送给设备,包括:对所述目标指令消息进行编解码和协议转换后,以CON报文的形式发送给所述设备。5.根据权利要求1所述的一种指令消息队列的处理方法,其特征在于,所述接收设备的反馈信息,判断所述反馈信息是否为所述目标指令消息的响应消息,包括:接收设备的反馈信息;根据协议规定的报文id和token,在设备进程中查找是否存在和所述反馈消息对应的目标通道;如果存在和所述反馈消息对应的目标通道,则对比所述目标通道中留存的指令消息的完整信息和当前的状态位是否一致;如果目标通道中留存的指令消息的完整信息和当前的状态位一致,则确定所述反馈信息是所述目标指令消息的响应消息。6....

【专利技术属性】
技术研发人员:柳青张煦朱明丁霞王世杰
申请(专利权)人:天翼物联科技有限公司
类型:发明
国别省市:

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

1