CN113709257B - 消息缓存超期监控方法、装置、设备及介质 - Google Patents
消息缓存超期监控方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113709257B CN113709257B CN202111175597.XA CN202111175597A CN113709257B CN 113709257 B CN113709257 B CN 113709257B CN 202111175597 A CN202111175597 A CN 202111175597A CN 113709257 B CN113709257 B CN 113709257B
- Authority
- CN
- China
- Prior art keywords
- instruction
- state
- internet
- message
- things
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012544 monitoring process Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims description 95
- 238000004590 computer program Methods 0.000 claims description 15
- 230000003139 buffering effect Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 244000144972 livestock Species 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- 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/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及物联网技术,提供了消息缓存超期监控方法、装置、设备及介质,包括:若检测物联网应用设备下发的指令消息和指令内容,获取指令消息包括的设备ID和指令内容包括的缓存时间;若确定缓存时间不为0,将指令消息存入消息缓存队列,在缓存时间到期后根据物联网设备的是否在线状态,将指令消息的指令状态设置为超期状态或是获取指令消息对应的处理结果;若确定缓存时间为0且物联网设备在线,将指令消息发送至物联网终端;若确定缓存时间为0且物联网设备离线,将指令状态设置为超期状态。实现了基于缓存时长、设备在线离线状态、指令下发状态等多维度判断,提高了指令消息缓存超期判断的准确性,增强了整个指令周期的实时性、顺序时效性。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种消息缓存超期监控方法、装置、计算机设备及存储介质。
背景技术
物联网应用需要经使能平台向终端设备下发指令消息,为每条消息设定了对应的有效期TTL值(其中,TTL的全称是Time To Live,表示生存时间),并希望通过使能平台获取设备指令的状态信息。
其中,目前常用的指令消息超期判断方法,大多采用消息存储数据库、定时扫描数据库的方式实现。扫描周期短即会增加数据库读写压力,且速率相对较低;扫描周期长则会导致实时性变差,增加不必要的存储资源消耗。
而且目前常用的指令消息超期判断方法,大多无法根据设备在线、离线情况区分处理指令信息,存在以下不足:
1)部分方法是采用设备上线后统一判断离线指令消息是否超期,再将未超期的消息下发至设备,已超期的指令丢弃。此方法依赖于设备的上线时间,增加了指令消息存储资源消耗、且无法及时更新指令消息状态;
2)部分方法则不关心设备是否在线,平台收到消息后直接下发至设备,这种方案会造成不必要的消息下发网络资源消耗,也可能会造成因下发失败导致指令丢失的情况。
发明内容
本发明实施例提供了一种消息缓存超期监控方法、装置、计算机设备及存储介质,旨在解决现有技术中无法根据设备在线、离线情况区分处理指令信息,存在指令消息缓存超期判断准确性低的问题。
第一方面,本发明实施例提供了一种消息缓存超期监控方法,其包括:
若检测物联网应用设备下发的指令消息和指令内容,获取所述指令消息和指令内容相应的物联网通讯协议类型,及所述指令消息包括的设备ID和所述指令内容包括的缓存时间;
若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果;
若确定所述缓存时间为0且物联网设备在线,将所述指令消息发送至物联网终端;以及
若确定所述缓存时间为0且物联网设备离线,将所述指令消息的指令状态设置为超期状态。
第二方面,本发明实施例提供了一种消息缓存超期监控装置,其包括:
指令参数获取单元,用于若检测物联网应用设备下发的指令消息和指令内容,获取所述指令消息和指令内容相应的物联网通讯协议类型,及所述指令消息包括的设备ID和所述指令内容包括的缓存时间;
第一执行单元,用于若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果;
第二执行单元,用于若确定所述缓存时间为0且物联网设备在线,将所述指令消息发送至物联网终端;以及
第三执行单元,用于若确定所述缓存时间为0且物联网设备离线,将所述指令消息的指令状态设置为超期状态。
第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的消息缓存超期监控方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的消息缓存超期监控方法。
本发明实施例提供了一种消息缓存超期监控方法、装置、计算机设备及存储介质,若检测物联网应用设备下发的指令消息和指令内容,获取相应的物联网通讯协议类型,及指令消息包括的设备ID和指令内容包括的缓存时间;若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将指令消息的指令状态设置为超期状态或是获取指令消息对应的处理结果;若确定缓存时间为0且物联网设备在线,将指令消息发送至物联网终端;若确定缓存时间为0且物联网设备离线,将指令状态设置为超期状态。实现了基于缓存时长、设备在线离线状态、指令下发状态等多维度进行参考判断,增加了指令消息缓存超期判断的准确性,增强了整个指令周期的实时性、顺序时效性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的消息缓存超期监控方法的应用场景示意图;
图2为本发明实施例提供的消息缓存超期监控方法的流程示意图;
图3为本发明实施例提供的消息缓存超期监控装置的示意性框图;
图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的消息缓存超期监控方法的应用场景示意图;图2为本发明实施例提供的消息缓存超期监控方法的流程示意图,该消息缓存超期监控方法应用于物联网服务器中,该方法通过安装于物联网服务器中的应用软件进行执行。
如图2所示,该方法包括步骤S101~S104。
S101、若检测物联网应用设备下发的指令消息和指令内容,获取所述指令消息和指令内容相应的物联网通讯协议类型,及所述指令消息包括的设备ID和所述指令内容包括的缓存时间。
在本实施例中,是以物联网服务器为执行主体来描述技术方案。物联网应用设备可以将指令先发送至物联网服务器,再由物联网服务器将指令发送至物联网设置(也可以理解为物联网终端)。
其中,当物联网服务器检测到物联网应用设备下发的指令消息和指令内容,接收并存储所述指令消息和指令内容。在接收并存储所述指令消息和指令内容时,可以获取到所述指令消息和指令内容相应的物联网通讯协议类型(如LWM2M协议、MQTT协议、TCP协议等),及所述指令消息包括的设备ID和所述指令内容包括的缓存时间。之后物联网服务器会对该指令消息进行缓存时间、设备在线离线状态、指令下发状态等多维度判断指令超期结果。
为了更清楚了理解本申请的技术方案,可以预先定义指令消息的如下五种状态,分别是:A1)指令已保存状态,表示物联网应用设备下发至物联网服务器成功;A2)指令已发送状态,表示物联网服务器下发至物联网终端成功;A3)指令已送达/指令已完成状态,表示物联网服务器收到物联网终端回复;A4)指令发送超时状态,表示物联网服务器超过重传时间未收到物联网终端回复;A5)指令超期状态,表示超过设定TTL时间指令未下发。
本申请是采用资源池+消息队列的模式,在尽量节省资源消耗、提高性能的基础上,实现物联网指令消息需具备的顺序性、时效性、流程完整性、实时性等特点。
S102、若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果。
在本实施例中,物联网服务器接收到物联网应用设备下发的指令消息和指令内容时,需要先确定缓存时间是否为0,也即判断TTL超期时间是否为0(0表示指令无需缓存)。若确定缓存时间不为0,表示需要进行消息缓存超期的判断。
其中,物联网设备与物联网平台建立通讯时并不局限于采用LWM2M协议、MQTT协议、TCP协议等协议中的一种进行通讯,只要是支持物联网领域各种协议类型均可。但本申请中为了具体的了解技术方案,是以采用LWM2M协议或MQTT协议来进行说明。
LWM2M协议中LWM2M的全称是LightWeight Machine to Machine(轻量级设备对设备协议),是OMA(openMobileAlliance,即开放移动联盟)定义的物联网协议,主要可以使用在资源受限(包括存储、功耗等)的嵌入式设备上;MQTT协议中MQTT的全称是MessageQueuing Telemetry Transport(即表示消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM公司在1999年发布。
LWM2M协议为资源受限性协议,多用于NB网络,设备及网络缓存处理能力有限,每次只能处理一条报文,因此为了防止指令丢失或超过设备处理极限,需确认一条指令处理完成后,再下发下一条。
MQTT协议设备,多用于2/3/4G,设备资源相对充足,且基于TCP协议实现,网络及设备的处理能力相对较高,无需排队下发。
其中,若确定缓存时间不为0,无论采用何种通讯协议,均是将所述指令消息存入消息缓存队列,在缓存时间到期后(其中缓存时间到期是指在等待缓存时间对应的时间后此时缓存时间更新为0),只用根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果。
在一实施例中,步骤S102包括:
若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态。
在本实施例中,若确定所述物联网通讯协议类型为预设的第一类型通讯协议(如第一类型通讯协议为LWM2M协议)且物联网设备是离线状态时,直接判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
在一实施例中,步骤S102还包括:
若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态且所述指令消息在消息缓存队列中,将所述指令消息从所述消息下发队列中删除,且将所述指令消息的指令状态设置为超期状态。
在本实施例中,若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0时,进一步确定了在缓存时间到期后,若物联网设备是在线状态且所述指令消息在消息下发队列中,则将所述指令消息从所述消息下发队列中删除,且将所述指令消息的指令状态设置为超期状态,也即先将指令消息从所述消息下发队列中删除后再判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
在一实施例中,步骤S102还包括:
若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态且所述指令消息未在消息缓存队列中,获取所述指令消息对应的处理结果。
在本实施例中,若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0时,进一步确定了在缓存时间到期后,若物联网设备是在线状态且所述指令消息未在消息下发队列中,则说明这条指令正在下发过程中(对应上述列举的A2的指令状态)的指令状态),则忽略此条指令的超期判断结果,等待指令的正常处理结果(对应上述列举的A3)的指令状态或A4)的指令状态)。
其中,在采用第一类型通讯协议且物联网设备是在线状态时,则将指令消息同步写入物联网设备进程的指令消息下发队列(指令消息下发队列是指设备在线情况时顺序下发的队列,区别于消息缓存队列)。指令消息进入指令消息下发队列后,按照先后顺序依次排队下发至物联网设备。下发指令消息时,在下发队列中取出第一条指令并在下发队列中删除该指令;确认指令下发状态完成后在指令消息缓存队列中清除该指令;
在缓存时间不为0时,无论设备在线与否,均将指令消息存入消息缓存队列。消息缓存队列为资源池模式,采用多个资源池(例如:8个)供指令消息随机写入、处理。每个资源池,按设定时长(例如:1s)查询一次本资源池进程队列。对于TTL未超期的指令,指令未超期或下发,则继续保存在消息缓存队列中。
在一实施例中,步骤S102还包括:
若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态。
在本实施例中,若确定所述物联网通讯协议类型为预设的第二类型通讯协议(如第二类型通讯协议为MQTT协议)且物联网设备是离线状态时,也是直接判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
在一实施例中,步骤S102还包括:
若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态,获取所述指令消息对应的处理结果。
在本实施例中,若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0时,在缓存时间到期后,进一步确定了物联网设备是在线状态,无论所述指令消息是否在消息缓存队列中,都说明这条指令正在下发过程中(对应上述列举的A2的指令状态)的指令状态),则忽略此条指令的超期判断结果,等待指令的正常处理结果(对应上述列举的A3)的指令状态或A4)的指令状态)。
其中,在采用第二类型通讯协议且物联网设备是在线状态时,指令消息直接下发至物联网设备;确认指令下发状态完成后在指令消息缓存队列中清除该指令;
在采用第二类型通讯协议时,也是若缓存时间不为0,无论设备在线与否,均将指令消息存入消息缓存队列。消息缓存队列为资源池模式,采用多个资源池(例如:8个)供指令消息随机写入、处理。每个资源池,按设定时长(例如:1s)查询一次本资源池进程队列。对于TTL未超期的指令,指令未超期或下发,则继续保存在消息缓存队列中。
S103、若确定所述缓存时间为0且物联网设备在线,将所述指令消息发送至物联网终端。
在本实施例中,无论采用的是第一类型通讯协议还是第二类型通讯协议,只要确定所述缓存时间为0且物联网设备在线,则立即将指令消息下发到物联网设备(对应上述列举的A2)的指令状态)。
S104、若确定所述缓存时间为0且物联网设备离线,将所述指令消息的指令状态设置为超期状态。
在本实施例中,无论采用的是第一类型通讯协议还是第二类型通讯协议,只要确定所述缓存时间为0且物联网设备离线,直接判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
可见,本申请通过资源池进程队列的方式进行消息缓存判断,可实现横向伸缩,可扩展性强;而且通过进程队列的方式,查询指令状态信息,并异步处理超期的指令信息,处理速率相对较高。
鉴于方案中对消息缓存超期的精准监控,可将方案推广至更通用的物联网行业场景。如:
智慧城市:智能停车、消防栓、水/气表、智能垃圾箱、路灯、烟雾报警等;
个人生活:可穿戴设备、物品追踪等;
工业&农业:气体探测、灌溉控制、牲畜管控等;
智能家居:智能门锁、家电监控等。
该方法实现了基于缓存时长、设备在线离线状态、指令下发状态等多维度进行参考判断,增加了指令消息缓存超期判断的准确性,增强了整个指令周期的实时性、顺序时效性、完整性。
本发明实施例还提供一种消息缓存超期监控装置,该消息缓存超期监控装置用于执行前述消息缓存超期监控方法的任一实施例。具体地,请参阅图3,图3是本发明实施例提供的消息缓存超期监控装置100的示意性框图。
其中,如图3所示,消息缓存超期监控装置100包括待指令参数获取单元101、第一执行单元102、第二执行单元103、第三执行单元104。
指令参数获取单元101,用于若检测物联网应用设备下发的指令消息和指令内容,获取所述指令消息和指令内容相应的物联网通讯协议类型,及所述指令消息包括的设备ID和所述指令内容包括的缓存时间。
在本实施例中,是以物联网服务器为执行主体来描述技术方案。物联网应用设备可以将指令先发送至物联网服务器,再由物联网服务器将指令发送至物联网设备(也可以理解为物联网终端)。
其中,当物联网服务器检测到物联网应用设备下发的指令消息和指令内容,接收并存储所述指令消息和指令内容。在接收并存储所述指令消息和指令内容时,可以获取到所述指令消息和指令内容相应的物联网通讯协议类型(如LWM2M协议、MQTT协议、TCP协议等),及所述指令消息包括的设备ID和所述指令内容包括的缓存时间。之后物联网服务器会对该指令消息进行缓存时间、设备在线离线状态、指令下发状态等多维度判断指令超期结果。
为了更清楚了理解本申请的技术方案,可以预先定义指令消息的如下五种状态,分别是:A1)指令已保存状态,表示物联网应用设备下发至物联网服务器成功;A2)指令已发送状态,表示物联网服务器下发至物联网终端成功;A3)指令已送达/指令已完成状态,表示物联网服务器收到物联网终端回复;A4)指令发送超时状态,表示物联网服务器超过重传时间未收到物联网终端回复;A5)指令超期状态,表示超过设定TTL时间指令未下发。
本申请是采用资源池+消息队列的模式,在尽量节省资源消耗、提高性能的基础上,实现物联网指令消息需具备的顺序性、时效性、流程完整性、实时性等特点。
第一执行单元102,用于若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果。
在本实施例中,物联网服务器接收到物联网应用设备下发的指令消息和指令内容时,需要先确定缓存时间是否为0,也即判断TTL超期时间是否为0(0表示指令无需缓存)。若确定缓存时间不为0,表示需要进行消息缓存超期的判断。
其中,物联网设备与物联网平台建立通讯时并不局限于采用LWM2M协议、MQTT协议、TCP协议等协议中的一种进行通讯,只要是支持物联网领域各种协议类型均可。但本申请中为了具体的了解技术方案,是以采用LWM2M协议或MQTT协议来进行说明。
LWM2M协议中LWM2M的全称是LightWeight Machine to Machine(轻量级设备对设备协议),是OMA(openMobileAlliance,即开放移动联盟)定义的物联网协议,主要可以使用在资源受限(包括存储、功耗等)的嵌入式设备上;MQTT协议中MQTT的全称是MessageQueuing Telemetry Transport(即表示消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM公司在1999年发布。
LWM2M协议为资源受限性协议,多用于NB网络,设备及网络缓存处理能力有限,每次只能处理一条报文,因此为了防止指令丢失或超过设备处理极限,需确认一条指令处理完成后,再下发下一条。
MQTT协议设备,多用于2/3/4G,设备资源相对充足,且基于TCP协议实现,网络及设备的处理能力相对较高,无需排队下发。
其中,若确定缓存时间不为0,无论采用何种通讯协议,均是在缓存时间到期后,只用根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果。
在一实施例中,第一执行单元102包括:
第一子执行单元,用于若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态。
在本实施例中,若确定所述物联网通讯协议类型为预设的第一类型通讯协议(如第一类型通讯协议为LWM2M协议)且物联网设备是离线状态时,直接判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
在一实施例中,第一执行单元102还包括:
第二子执行单元,用于若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态且所述指令消息在消息下发队列中,将所述指令消息从所述消息下发队列中删除,且将所述指令消息的指令状态设置为超期状态。
在本实施例中,若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0时,进一步确定了在缓存时间到期后,物联网设备是在线状态且所述指令消息在消息下发队列中,则将所述指令消息从所述消息下发队列中删除,且将所述指令消息的指令状态设置为超期状态,也即先指令消息从所述消息缓存队列中删除后再判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
在一实施例中,第一执行单元102还包括:
第三子执行单元,用于若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态且所述指令消息未在消息下发队列中,获取所述指令消息对应的处理结果。
在本实施例中,若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0时,进一步确定了在缓存时间到期后,物联网设备是在线状态且所述指令消息未在消息下发队列中,则说明这条指令正在下发过程中(对应上述列举的A2的指令状态)的指令状态),则忽略此条指令的超期判断结果,等待指令的正常处理结果(对应上述列举的A3)的指令状态或A4)的指令状态)。
其中,在采用第一类型通讯协议且物联网设备是在线状态时,则将指令消息同步写入物联网设备进程的指令消息下发队列(指令消息下发队列是指设备在线情况时顺序下发的队列,区别于消息缓存队列)。指令消息进入指令消息下发队列后,按照先后顺序依次排队下发至物联网设备。下发指令消息时,在下发队列中取出第一条指令并在下发队列中删除该指令;确认指令下发状态完成后在指令消息缓存队列中清除该指令;
在缓存时间不为0时,无论设备在线与否,均将指令消息存入消息缓存队列。消息缓存队列为资源池模式,采用多个资源池(例如:8个)供指令消息随机写入、处理。每个资源池,按设定时长(例如:1s)查询一次本资源池进程队列。对于TTL未超期的指令,指令未超期或下发,则继续保存在消息缓存队列中。
在一实施例中,第一执行单元102还包括:
第四子执行单元,用于若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态。
在本实施例中,若确定所述物联网通讯协议类型为预设的第二类型通讯协议(如第二类型通讯协议为MQTT协议)且物联网设备是离线状态时,也是直接判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
在一实施例中,第一执行单元102还包括:
第五子执行单元,用于若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态,获取所述指令消息对应的处理结果。
在本实施例中,若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0时,进一步确定了在缓存时间到期后,物联网设备是在线状态,无论所述指令消息是否在消息缓存队列中,都说明这条指令正在下发过程中(对应上述列举的A2的指令状态)的指令状态),则忽略此条指令的超期判断结果,等待指令的正常处理结果(对应上述列举的A3)的指令状态或A4)的指令状态)。
其中,在采用第二类型通讯协议且物联网设备是在线状态时,指令消息直接下发至物联网设备;确认指令下发状态完成后在指令消息缓存队列中清除该指令;
在采用第二类型通讯协议时,也是若缓存时间不为0,无论设备在线与否,均将指令消息存入消息缓存队列。消息缓存队列为资源池模式,采用多个资源池(例如:8个)供指令消息随机写入、处理。每个资源池,按设定时长(例如:1s)查询一次本资源池进程队列。对于TTL未超期的指令,指令未超期或下发,则继续保存在消息缓存队列中。
第二执行单元103,用于若确定所述缓存时间为0且物联网设备在线,将所述指令消息发送至物联网终端。
在本实施例中,无论采用的是第一类型通讯协议还是第二类型通讯协议,只要确定所述缓存时间为0且物联网设备在线,则立即将指令消息下发到物联网设备(对应上述列举的A2)的指令状态)。
第三执行单元104,用于若确定所述缓存时间为0且物联网设备离线,将所述指令消息的指令状态设置为超期状态。
在本实施例中,无论采用的是第一类型通讯协议还是第二类型通讯协议,只要确定所述缓存时间为0且物联网设备离线,直接判定指令状态为超期(对应上述列举的A5)的指令状态),这样可以准确的对指令超期进行判断。
可见,本申请通过资源池进程队列的方式进行消息缓存判断,可实现横向伸缩,可扩展性强;而且通过进程队列的方式,查询指令状态信息,并异步处理超期的指令信息,处理速率相对较高。
该装置实现了基于缓存时长、设备在线离线状态、指令下发状态等多维度进行参考判断,增加了指令消息缓存超期判断的准确性,增强了整个指令周期的实时性、顺序时效性、完整性。
上述消息缓存超期监控装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是物联网服务器。
参阅图4,该计算机设备500包括通过装置总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作装置5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行消息缓存超期监控方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行消息缓存超期监控方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的消息缓存超期监控方法。
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的消息缓存超期监控方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,后台服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种消息缓存超期监控方法,其特征在于,包括:
若检测物联网应用设备下发的指令消息和指令内容,获取所述指令消息和指令内容相应的物联网通讯协议类型,及所述指令消息包括的设备ID和所述指令内容包括的缓存时间;
若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果;
若确定所述缓存时间为0且物联网设备在线,将所述指令消息发送至物联网终端;以及
若确定所述缓存时间为0且物联网设备离线,将所述指令消息的指令状态设置为超期状态;
其中,对所述指令消息进行缓存时间、设备在线离线状态、指令下发状态多维度判断指令超期结果;
所述若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果,包括:
若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态;
若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态;
其中,当确定所述缓存时间为0且物联网设备离线时,则判定指令状态为超期。
2.根据权利要求1所述的消息缓存超期监控方法,其特征在于,所述若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果,还包括:
若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态且所述指令消息在消息下发队列中,将所述指令消息从所述消息下发队列中删除,且将所述指令消息的指令状态设置为超期状态。
3.根据权利要求2所述的消息缓存超期监控方法,其特征在于,所述若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果,还包括:
若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态且所述指令消息未在消息下发队列中,获取所述指令消息对应的处理结果。
4.根据权利要求1所述的消息缓存超期监控方法,其特征在于,所述若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果,还包括:
若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是在线状态,获取所述指令消息对应的处理结果。
5.根据权利要求1所述的消息缓存超期监控方法,其特征在于,所述物联网通讯协议类型LWM2M协议、MQTT协议、TCP协议中的一种。
6.一种消息缓存超期监控装置,其特征在于,包括:
指令参数获取单元,用于若检测物联网应用设备下发的指令消息和指令内容,获取所述指令消息和指令内容相应的物联网通讯协议类型,及所述指令消息包括的设备ID和所述指令内容包括的缓存时间;
第一执行单元,用于若确定缓存时间不为0,将所述指令消息存入消息缓存队列,在缓存时间到期后,根据物联网设备的是否在线状态,确定将所述指令消息的指令状态设置为超期状态或是获取所述指令消息对应的处理结果;
第二执行单元,用于若确定所述缓存时间为0且物联网设备在线,将所述指令消息发送至物联网终端;以及
第三执行单元,用于若确定所述缓存时间为0且物联网设备离线,将所述指令消息的指令状态设置为超期状态;
其中,对所述指令消息进行缓存时间、设备在线离线状态、指令下发状态多维度判断指令超期结果;
第一执行单元包括:
第一子执行单元,用于若确定所述物联网通讯协议类型为预设的第一类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态;
第四子执行单元,用于若确定所述物联网通讯协议类型为预设的第二类型通讯协议且缓存时间不为0,在缓存时间到期后,若物联网设备是离线状态,将所述指令消息的指令状态设置为超期状态;
其中,当确定所述缓存时间为0且物联网设备离线时,则判定指令状态为超期。
7.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的消息缓存超期监控方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的消息缓存超期监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111175597.XA CN113709257B (zh) | 2021-10-09 | 2021-10-09 | 消息缓存超期监控方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111175597.XA CN113709257B (zh) | 2021-10-09 | 2021-10-09 | 消息缓存超期监控方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113709257A CN113709257A (zh) | 2021-11-26 |
CN113709257B true CN113709257B (zh) | 2024-04-23 |
Family
ID=78662634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111175597.XA Active CN113709257B (zh) | 2021-10-09 | 2021-10-09 | 消息缓存超期监控方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113709257B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105684387A (zh) * | 2013-10-04 | 2016-06-15 | 阿卡麦科技公司 | 用于利用基于通知的无效缓存内容的***和方法 |
CN106209812A (zh) * | 2016-07-04 | 2016-12-07 | 深圳市得润车联科技有限公司 | 一种物联网终端平台数据封装的方法 |
CN106850397A (zh) * | 2016-12-13 | 2017-06-13 | 深圳市智物联网络有限公司 | 物联网中消息传递方法和装置 |
CN107181674A (zh) * | 2017-06-16 | 2017-09-19 | 深圳市盛路物联通讯技术有限公司 | 物联网中消息传递方法和装置 |
CN108388479A (zh) * | 2018-02-10 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 延迟消息推送方法、装置、计算机设备及存储介质 |
CN109194729A (zh) * | 2018-08-24 | 2019-01-11 | 国广东方网络(北京)有限公司 | 一种信息通讯***以及方法 |
CN109379386A (zh) * | 2018-12-13 | 2019-02-22 | 广州市百果园信息技术有限公司 | 一种消息传输方法、装置、设备及介质 |
CN109960548A (zh) * | 2017-12-22 | 2019-07-02 | 杭州海康威视***技术有限公司 | 提醒消息处理方法、装置和终端 |
CN111371854A (zh) * | 2020-02-24 | 2020-07-03 | 南京甄视智能科技有限公司 | 物联网中的离线消息发送方法、装置、存储介质及服务器 |
CN112559219A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息管理方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050108331A1 (en) * | 2003-10-31 | 2005-05-19 | Osterman Lawrence W. | Presence tracking for datagram based protocols with search |
US9996404B2 (en) * | 2016-09-01 | 2018-06-12 | Oracle International Corporation | Message cache management for message queues |
-
2021
- 2021-10-09 CN CN202111175597.XA patent/CN113709257B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105684387A (zh) * | 2013-10-04 | 2016-06-15 | 阿卡麦科技公司 | 用于利用基于通知的无效缓存内容的***和方法 |
CN106209812A (zh) * | 2016-07-04 | 2016-12-07 | 深圳市得润车联科技有限公司 | 一种物联网终端平台数据封装的方法 |
CN106850397A (zh) * | 2016-12-13 | 2017-06-13 | 深圳市智物联网络有限公司 | 物联网中消息传递方法和装置 |
CN107181674A (zh) * | 2017-06-16 | 2017-09-19 | 深圳市盛路物联通讯技术有限公司 | 物联网中消息传递方法和装置 |
CN109960548A (zh) * | 2017-12-22 | 2019-07-02 | 杭州海康威视***技术有限公司 | 提醒消息处理方法、装置和终端 |
CN108388479A (zh) * | 2018-02-10 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 延迟消息推送方法、装置、计算机设备及存储介质 |
CN109194729A (zh) * | 2018-08-24 | 2019-01-11 | 国广东方网络(北京)有限公司 | 一种信息通讯***以及方法 |
CN109379386A (zh) * | 2018-12-13 | 2019-02-22 | 广州市百果园信息技术有限公司 | 一种消息传输方法、装置、设备及介质 |
CN111371854A (zh) * | 2020-02-24 | 2020-07-03 | 南京甄视智能科技有限公司 | 物联网中的离线消息发送方法、装置、存储介质及服务器 |
CN112559219A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息管理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113709257A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10650026B2 (en) | Automatic mode switching in a synchronous replication environment | |
US8452842B2 (en) | Controlling retention of publications | |
US8195757B2 (en) | Method, apparatus and computer program for controlling retention of publications | |
KR101804198B1 (ko) | 편의적 네트워크 업데이트 | |
CN102571850B (zh) | 事务提交***、方法及设备 | |
CN102724112B (zh) | 一种基于tcp协议的传输方法、接收端设备及*** | |
CN111625503B (zh) | 一种分布式文件***文件局部随机预读的方法和设备 | |
CN113079083B (zh) | 消息处理方法、客户端、服务器和即时通信*** | |
WO2019041670A1 (zh) | 一种降低功能页面请求次数的方法、存储介质、设备及*** | |
CN110502510B (zh) | 一种wifi终端设备轨迹数据的实时分析和去重方法及*** | |
WO2019227473A1 (en) | Method and apparatus for performing communication in internet of things | |
CN102065017A (zh) | 一种报文处理方法及装置 | |
CN113709257B (zh) | 消息缓存超期监控方法、装置、设备及介质 | |
CN112838980B (zh) | 一种消息处理方法、***、装置、电子设备及存储介质 | |
US9767023B2 (en) | Method of controlling data writing to persistent storage device | |
US20080288572A1 (en) | Scalable presence server architecture | |
CN115858582A (zh) | 一种缓存实时更新方法、装置、设备及存储介质 | |
CN111224811A (zh) | 一种snmp请求监听***、方法、装置及计算机可读存储介质 | |
CN108769244B (zh) | 一种存储任务信息获取方法及相关装置 | |
CN101610289A (zh) | 下载数据的方法、装置和***及节点 | |
CN111314147B (zh) | 智能设备配置方法、云平台及存储介质 | |
CN109995855B (zh) | 一种数据获取方法、装置及终端 | |
CN111669431B (zh) | 消息传输方法、装置、计算机设备和存储介质 | |
CN111327511B (zh) | 即时通讯方法、***、终端设备与存储介质 | |
CN108293065B (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 |