CN111371854A - 物联网中的离线消息发送方法、装置、存储介质及服务器 - Google Patents
物联网中的离线消息发送方法、装置、存储介质及服务器 Download PDFInfo
- Publication number
- CN111371854A CN111371854A CN202010113874.3A CN202010113874A CN111371854A CN 111371854 A CN111371854 A CN 111371854A CN 202010113874 A CN202010113874 A CN 202010113874A CN 111371854 A CN111371854 A CN 111371854A
- Authority
- CN
- China
- Prior art keywords
- message
- offline
- internet
- sending
- 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.)
- Granted
Links
Images
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/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- 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/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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
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)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种物联网中的离线消息发送方法、装置、存储介质及服务器,属于物联网技术领域。所述方法包括:接收业务平台发送的消息,所述消息包括消息内容和设备编号,所述设备编号用于指示接收所述消息的目标设备;若当前所述目标设备处于离线状态,则将所述消息缓存为离线消息,并设置所述离线消息的有效期;在所述目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息;将所述未超期的离线消息发送给所述目标设备。本申请实施例可以通过避免发送超期的离线消息来减少物联网平台所发送的离线消息的数量,以提高目标设备的性能,避免目标设备接收大量的离线消息时崩溃。
Description
技术领域
本申请实施例涉及物联网技术领域,特别涉及一种物联网中的离线消息发送方法、装置、存储介质及服务器。
背景技术
物联网中包括业务平台、物联网平台和设备,物联网平台作为业务平台和设备之间的消息中间件,可以实现设备管理和消息转发的功能。
在物联网平台接收到业务平台下发的消息后,可以通过MQTT(Message QueuingTelemetry Transport,消息队列遥测传输)协议将该消息发送给设备。若设备当前处于离线状态,那么,物联网平台可以将消息暂存起来,待设备上线时再向设备发送该消息,这种消息可以称为离线消息。
如果设备长时间离线后再上线,物联网平台中将会堆积有该设备的大量离线消息,若将这些离线消息同时发送给设备,可能会阻塞设备中正常的消息的处理,导致设备的性能下降,甚至会导致设备崩溃。
发明内容
本申请实施例提供了一种物联网中的离线消息发送方法、装置、存储介质及服务器,用于解决设备同时接收大量离线消息,阻塞设备中正常的消息的处理,导致设备的性能下降,甚至会导致设备崩溃的问题。所述技术方案如下:
一方面,提供了一种物联网中的离线消息发送方法,所述方法包括:
接收业务平台发送的消息,所述消息包括消息内容和设备编号,所述设备编号用于指示接收所述消息的目标设备;
若当前所述目标设备处于离线状态,则将所述消息缓存为离线消息,并设置所述离线消息的有效期;
在所述目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息;
将所述未超期的离线消息发送给所述目标设备。
一方面,提供了一种物联网中的离线消息发送装置,所述装置包括:
接收模块,用于接收业务平台发送的消息,所述消息包括消息内容和设备编号,所述设备编号用于指示接收所述消息的目标设备;
设置模块,用于若当前所述目标设备处于离线状态,则将所述消息缓存为离线消息,并设置所述离线消息的有效期;
筛选模块,用于在所述目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息;
发送模块,用于将所述未超期的离线消息发送给所述目标设备。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的物联网中的离线消息发送方法。
一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的物联网中的离线消息发送方法。
本申请实施例提供的技术方案的有益效果至少包括:
在物联网平台接收到业务平台发送的消息时,若当前目标设备处于离线状态,则可以将消息缓存为离线消息,并设置离线消息的有效期,然后,待目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息,再将未超期的离线消息发送给目标设备。这样,物联网平台可以将未超期的离线消息发送给目标设备,而不向该目标设备发送超期的离线消息,可以减少发送给目标设备的离线消息的数量,从而可以提高目标设备的性能,避免目标设备接收大量的离线消息时崩溃。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的物联网中的离线消息发送方法的方法流程图;
图2是本申请另一实施例提供的物联网中的离线消息发送方法的方法流程图;
图3是本申请另一实施例提供的=物联网平台中三个服务的交互示意图;
图4是本申请再一实施例提供的物联网中的离线消息发送装置的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的物联网中的离线消息发送方法的方法流程图,该物联网中的离线消息发送方法可以应用于物联网平台中。该物联网中的离线消息发送方法,可以包括:
步骤101,接收业务平台发送的消息,该消息包括消息内容和设备编号,该设备编号用于指示接收消息的目标设备。
物联网中,当业务平台需要向目标设备发送消息时,可以先将该消息发送给物联网平台,由物联网平台将该消息转发给该目标设备。其中,消息可以是指令,也可以是数据,本实施例不作限定。
本实施例中的消息包括消息内容和设备编号。其中,设备编号是目标设备接入物联网设备时分配的,用于唯一地标识目标设备。
可选的,消息还可以包括消息类型、时间戳等其他内容,本实施例不对消息所包含的内容作限定。
需要说明的是,物联网平台在接收到消息后,可以向业务平台反馈响应,再异步发送消息。
步骤102,若当前目标设备处于离线状态,则将消息缓存为离线消息,并设置该离线消息的有效期。
物联网平台可以在接收到消息时,获取目标设备当前所处的状态,若该目标设备处于离线状态,相关技术中的物联网平台会直接丢弃该消息。对于必达的消息,业务平台在将消息发送给物联网平台时开始计时,当计时超时后,会再次向物联网平台发送该消息,这样,一条消息需要重复发送,从而浪费网络资源。
本实施例中,物联网平台可以在确定目标设备处于离线状态时,将该消息缓存为离线消息,该离线消息是在目标设备处于离线状态时不丢弃,待该目标设备再次上线时发送给该目标设备的消息。这样,一条消息只需发送一次即可,可以节省网络资源。
需要说明的是,物联网平台接收到的所有消息都可以缓存为离线消息,或者,物联网平台接收到的所有消息中只有部分消息可以缓存为离线消息,则物联网平台还需要判断当前接收到的消息是否可以缓存为离线消息,判断流程详见下文中的描述。若物联网平台当前接收到的消息可以缓存为离线消息,则将该消息缓存为离线消息;若物联网平台当前接收到的消息不可以缓存为离线消息,则丢弃该消息。
在将消息缓存为离线消息时,物联网平台还需要设置该离线消息的有效期,该有效期用于指示离线消息的有效时长。比如,离线消息的有效期为10分钟,则离线消息在10分钟内有效,在10分钟之后无效。
其中,不同离线消息的有效期可以相同,也可以不同,本实施不作限定。
步骤103,在目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息。
物联网平台可以等待目标设备上线,在等待过程中,物联网平台可能还会接收到发送给该目标设备的消息,则可以将这些消息缓存为离线消息,并设置这些离线消息的有效期。
在某一个时刻确定目标设备上线后,物联网平台可以从为该目标设备缓存的所有离线消息中筛选未超期的离线消息。
步骤104,将未超期的离线消息发送给目标设备。
物联网平台可以将筛选出的未超期的离线消息发送给目标设备。由于目标设备上线时会向物联网平台订阅一个主题,所以,物联网平台可以将离线消息发送给该主题,目标设备可以通过MQTT协议从该主题中获取该离线消息。
综上所述,本申请实施例提供的物联网中的离线消息发送方法,在物联网平台接收到业务平台发送的消息时,若当前目标设备处于离线状态,则可以将消息缓存为离线消息,并设置离线消息的有效期,然后,待目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息,再将未超期的离线消息发送给目标设备。这样,物联网平台可以将未超期的离线消息发送给目标设备,而不向该目标设备发送超期的离线消息,可以减少发送给目标设备的离线消息的数量,从而可以提高目标设备的性能,避免目标设备接收大量的离线消息时崩溃。
请参考图2,其示出了本申请另一实施例提供的物联网中的离线消息发送方法的方法流程图,该物联网中的离线消息发送方法可以应用于物联网平台中。该物联网中的离线消息发送方法,可以包括:
步骤201, 接收业务平台发送的消息,该消息包括消息内容和设备编号,该设备编号用于指示接收消息的目标设备。
物联网中,当业务平台需要向目标设备发送消息时,可以先将该消息发送给物联网平台,由物联网平台将该消息转发给该目标设备。其中,消息可以是指令,也可以是数据。
步骤202,若当前目标设备处于离线状态,则获取与消息对应的控制字段,该控制字段包括离线消息设置信息和有效期信息,该有效期信息用于指示离线消息的有效期。
物联网平台可以在接收到消息时,获取目标设备当前所处的状态,若该目标设备处于离线状态,则将该消息缓存为离线消息,该离线消息是在目标设备处于离线状态时不丢弃,待该目标设备再次上线时发送给该目标设备的消息。
需要说明的是,物联网平台接收到的所有消息都可以缓存为离线消息,或者,物联网平台接收到的所有消息中只有部分消息可以缓存为离线消息,则物联网平台还需要判断当前接收到的消息是否可以缓存为离线消息。若物联网平台当前接收到的消息可以缓存为离线消息,则将该消息缓存为离线消息;若物联网平台当前接收到的消息不可以缓存为离线消息,则丢弃该消息。
在判断当前接收到的消息是否可以缓存为离线消息时,物联网平台可以获取与该消息对应的控制字段,该控制字段可以包括离线消息设置信息、有效期信息和优先级信息。
其中,离线消息设置信息用于指示是否将消息缓存为离线消息。比如,离线消息设置信息可以是“是否发送离线消息”的选项,若该选项设置为是,则指示将消息缓存为离线消息,执行步骤203;若该选项设置为否,则指示不将消息缓存为离线消息,丢弃该消息。
步骤203,若离线消息设置信息用于指示在目标设备处于离线状态,则获取控制字段中的优先级信息,该优先级信息用于指示离线消息相对于实时消息的处理优先级,该实时消息是目标设备实时接收到的非离线消息。
本实施例中,目标设备当前处于在线状态,若此时物联网平台接收到发送给该目标设备的消息,则可以直接将该消息转发给该目标设备,本实施例中将这种实时发送的消息称为实时消息。
可见,目标设备在上线后可以接收到离线消息和实时消息,为了指示离线消息和实时消息的处理优先级,本实施例中还可以对离线消息设置优先级信息。
在一种可能的实现方式中,优先级信息为第一数值、第二数值和第三数值中的一种;当优先级信息为第一数值时,优先级信息用于指示目标设备优先处理离线消息,并暂停处理实时消息;当优先级信息为第二数值时,优先级信息用于指示目标设备同步处理离线消息和实时消息;当优先级信息为第三数值时,优先级信息用于指示目标设备优先处理实时消息,并暂停处理离线消息。
比如,第一数值为0,第二数值为1,第三数值为2,则目标设备可以在确定离线消息的优先级信息为0时,确定该离线消息具有高优先级,需要立即处理,暂停对实时消息的处理;目标设备可以在确定离线消息的优先级信息为1时,确定该离线消息具有中优先级,需要立即处理,并且可以与当前的实时消息进行同步处理,以表示该离线消息与实时消息非强关性消息;目标设备可以在确定离线消息的优先级信息为2时,确定该离线消息具有低优先级,可以在处理完实时消息后再处理,从而不占用实时消息的处理资源。
步骤204,将优先级信息和消息封装为离线消息。
本实施例中,物联网平台可以将离线消息和实时消息封装为不同的格式,这样,目标设备可以根据格式判断接收到的消息是离线消息还是实时消息,若是离线消息,再根据该离线消息的优先级信息进行处理。
其中,将优先级信息和消息封装为离线消息,可以包括以下几个子步骤:
步骤2041,获取第一类型信息,该第一类型信息用于指示消息为离线消息,且该第一类型信息与用于指示消息为实时消息的第二类型信息不同。
其中,第一类型信息和第二类型信息可以是任意不同的数值。比如,第一类型信息可以为2000,第二类型信息可以为999。
步骤2042,将第一类型信息封装到消息类型字段中,将优先级信息封装到优先权字段中,将消息的消息内容封装到消息内容字段中,得到离线消息。
下面以MQTT协议为例,对实时消息和离线消息的格式进行举例说明。
一种实时消息可以是:
"head": {
"version": 1,
"id": 123,
"code": 999,
"type": 1
},
"body": {
"data":
其中,head部分为MQTT消息的消息头,body部分为MQTT消息的消息体。head部分中的“code”字段为“消息类型”字段,body部分中的“data”字段为“消息内容”字段。
一种离线消息可以是:
{
"head": {
"version": 1,
"id": 123,
"code": 2000,
"type": 0
},
"body": {
"message":
{
"head": {
"version": 1,
"id": 123,
"code": 999,
"type": 1
},
"body": {
"data":
}
}
"priority": 1
}
}
其中,head部分中的“code”字段为“消息类型”字段,body部分中的“data”字段为“消息内容”字段,“priority”字段为“优先权”字段。
当目标设备解析出消息中code的值为2000时,确定该消息为离线消息,再解析消息中的priority,根据priority的值进行下一步处理。
步骤205,对离线消息进行缓存,并根据有效期信息设置离线消息的有效期。
本实施例中,物联网平台可以将离线消息缓存至MongoDB数据库中。
在将消息缓存为离线消息时,物联网平台还需要设置该离线消息的有效期,该有效期用于指示离线消息的有效时长。比如,离线消息的有效期为10分钟,则离线消息在10分钟内有效,在10分钟之后无效。
其中,不同离线消息的有效期可以相同,也可以不同,本实施不作限定。
步骤206,在目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息。
物联网平台可以等待目标设备上线,在等待过程中,物联网平台可能还会接收到发送给该目标设备的消息,则可以将这些消息缓存为离线消息,并设置这些离线消息的有效期。
在某一个时刻确定目标设备上线后,物联网平台可以从为该目标设备缓存的所有离线消息中筛选未超期的离线消息。
步骤207,将未超期的离线消息发送给目标设备。
本实施例中,若未超期的离线消息的数量较多,为了避免将大量的离线消息通过发送给目标设备,会阻塞目标设备中正常的消息的处理,导致设备的性能下降,甚至会导致设备崩溃的问题,物联网平台可以根据目标设备的性能确定离线消息的发送频率,从而在不影响目标设备的性能的前提下发送离线消息。
其中,将未超期的离线消息发送给目标设备,可以包括以下几个子步骤:
步骤2071,获取目标设备的性能。
物联网平台可以获取目标设备的性能信息,根据该性能信息确定目标设备的性能。
步骤2072,根据性能确定离线消息的发送频率,性能的高低与发送频率的快慢呈正相关关系。
物联网平台中可以预先设置有性能和发送频率之间的对应关系,在得到目标设备的性能后,物联网平台可以在对应关系中查找与该性能对应的发送频率。
比如,物联网平台每秒向性能高的目标设备发送10条离线消息,每秒向性能低的目标设备发送5条离线消息。
步骤2073,根据发送频率将未超期的离线消息发送给目标设备。
物联网平台可以根据发送频率将筛选出的未超期的离线消息发送给目标设备。由于目标设备上线时会向物联网平台订阅一个主题,所以,物联网平台可以将离线消息发送给该主题,目标设备可以通过MQTT协议从该主题中获取该离线消息。
可选的,消息转发服务可以在每发送一点数量的离线消息后,查询一次目标设备所处的状态,在确定目标设备处于在线状态时继续推送离线消息。
步骤208,若当前目标设备处于在线状态,则将消息发送给目标设备。
物联网平台可以在接收到消息时,获取目标设备当前所处的状态,若该目标设备处于在线状态,则物联网平台直接将该消息发送给目标设备。由于目标设备上线时会向物联网平台订阅一个主题,所以,物联网平台可以将该消息发送给该主题,目标设备可以通过MQTT协议从该主题中获取该消息。
综上所述,本申请实施例提供的物联网中的离线消息发送方法,在物联网平台接收到业务平台发送的消息时,若当前目标设备处于离线状态,则可以将消息缓存为离线消息,并设置离线消息的有效期,然后,待目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息,再将未超期的离线消息发送给目标设备。这样,物联网平台可以将未超期的离线消息发送给目标设备,而不向该目标设备发送超期的离线消息,可以减少发送给目标设备的离线消息的数量,从而可以提高目标设备的性能,避免目标设备接收大量的离线消息时崩溃。
由于离线消息与实时消息的格式不同,且离线消息中还设置有优先级信息,所以,目标设备可以先根据格式确定接收到的消息是离线消息还是实时消息,若是离线消息,则根据优先级信息对离线消息进行处理,使得目标设备可以合理处理离线消息和实时消息。
本实施例中的物联网平台可以包括消息转发服务、设备管理服务和消息中间件broker。其中,消息转发服务用于转发业务平台的消息至目标设备;设备管理服务用于存储目标设备的设备信息,即存储目标设备的状态信息;消息中间件broker与目标设备保持长连接,用于感知设备的上线或掉线,并可以直接向目标设备发送消息。下面对这三个服务的交互流程进行介绍,请参考图3。
步骤1、业务平台调用IOT(Internet of Things,物联网)的下发消息接口下发消息。
其中,该消息包括消息内容、设备编号、消息类型、时间戳等,与该消息对应的控制字段包括是否发送离线消息、消息有效期和消息优先级。
步骤2、消息转发服务进行异步处理,向业务平台反馈响应。
步骤3、目标设备在连接消息中间件broker后,进行消息订阅;
步骤4、消息转发服务向设备管理服务查询目标设备的设备状态(设备是否在线);
步骤5、若设备状态为在线状态,则消息转发服务向消息中间件broker推送消息,执行步骤6;
步骤6、目标设备从消息中间件broker消费消息,流程结束;
步骤7、若设备状态为离线状态,则消息转发服务将消息缓存至mango中,并存储设备编号和有效期等;
步骤8、目标设备掉线之后与消息中间件broker重新建立连接;
步骤9、消息中间件broker更改设备管理服务中的设备状态;
步骤10、目标设备上线(online),即消息中间件broker感知到目标设备上线;
步骤11、消息转发服务接收消息中间件broker发送的上线消息;
步骤12、消息转发服务向消息中间件broker发送离线消息,发送频率由消息转发服务配置;
步骤13、目标设备从消息中间件broker消费离线消息;
步骤14、目标设备处理离线消息;
步骤15、消息转发服务每发送5条离线消息后,查询一次设备状态,在确定目标设备在线时继续推送离线消息。
请参考图4,其示出了本申请一个实施例提供的物联网中的离线消息发送装置的结构框图,该物联网中的离线消息发送装置可以应用于物联网平台中。该物联网中的离线消息发送装置,可以包括:
接收模块410,用于接收业务平台发送的消息,消息包括消息内容和设备编号,设备编号用于指示接收消息的目标设备;
设置模块420,用于若当前目标设备处于离线状态,则将消息缓存为离线消息,并设置离线消息的有效期;
筛选模块430,用于在目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息;
发送模块440,用于将未超期的离线消息发送给目标设备。
在一个可选的实施例中,该设置模块420,还用于:
获取与消息对应的控制字段,控制字段包括离线消息设置信息和有效期信息,有效期信息用于指示离线消息的有效期;
若离线消息设置信息用于指示在目标设备处于离线状态,则将消息缓存为离线消息,并根据有效期信息设置离线消息的有效期。
在一个可选的实施例中,该设置模块420,还用于:
获取控制字段中的优先级信息,优先级信息用于指示离线消息相对于实时消息的处理优先级,实时消息是目标设备实时接收到的非离线消息;
将优先级信息和消息封装为离线消息;
对离线消息进行缓存。
在一个可选的实施例中,优先级信息为第一数值、第二数值和第三数值中的一种;
当优先级信息为第一数值时,优先级信息用于指示目标设备优先处理离线消息,并暂停处理实时消息;
当优先级信息为第二数值时,优先级信息用于指示目标设备同步处理离线消息和实时消息;
当优先级信息为第三数值时,优先级信息用于指示目标设备优先处理实时消息,并暂停处理离线消息。
在一个可选的实施例中,该设置模块420,还用于:
获取第一类型信息,第一类型信息用于指示消息为离线消息,且第一类型信息与用于指示消息为实时消息的第二类型信息不同;
将第一类型信息封装到消息类型字段中,将优先级信息封装到优先权字段中,将消息的消息内容封装到消息内容字段中,得到离线消息。
在一个可选的实施例中,该发送模块440,还用于:
获取目标设备的性能;
根据性能确定离线消息的发送频率,性能的高低与发送频率的快慢呈正相关关系;
根据发送频率将未超期的离线消息发送给目标设备。
在一个可选的实施例中,该发送模块440,还用于:
在接收模块410接收业务平台发送的消息之后,若当前目标设备处于在线状态,则将消息发送给目标设备。
综上所述,本申请实施例提供的物联网中的离线消息发送装置,在物联网平台接收到业务平台发送的消息时,若当前目标设备处于离线状态,则可以将消息缓存为离线消息,并设置离线消息的有效期,然后,待目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息,再将未超期的离线消息发送给目标设备。这样,物联网平台可以将未超期的离线消息发送给目标设备,而不向该目标设备发送超期的离线消息,可以减少发送给目标设备的离线消息的数量,从而可以提高目标设备的性能,避免目标设备接收大量的离线消息时崩溃。
由于离线消息与实时消息的格式不同,且离线消息中还设置有优先级信息,所以,目标设备可以先根据格式确定接收到的消息是离线消息还是实时消息,若是离线消息,则根据优先级信息对离线消息进行处理,使得目标设备可以合理处理离线消息和实时消息。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的物联网中的离线消息发送方法。
本申请一个实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的物联网中的离线消息发送方法。
需要说明的是:上述实施例提供的物联网中的离线消息发送装置在进行物联网中的离线消息发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将物联网中的离线消息发送装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的物联网中的离线消息发送装置与物联网中的离线消息发送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (10)
1.一种物联网中的离线消息发送方法,其特征在于,所述方法包括:
接收业务平台发送的消息,所述消息包括消息内容和设备编号,所述设备编号用于指示接收所述消息的目标设备;
若当前所述目标设备处于离线状态,则将所述消息缓存为离线消息,并设置所述离线消息的有效期;
在所述目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息;
将所述未超期的离线消息发送给所述目标设备。
2.根据权利要求1所述的方法,其特征在于,所述将所述消息缓存为离线消息,并设置所述离线消息的有效期,包括:
获取与所述消息对应的控制字段,所述控制字段包括离线消息设置信息和有效期信息,所述有效期信息用于指示所述离线消息的有效期;
若所述离线消息设置信息用于指示在所述目标设备处于离线状态,则将所述消息缓存为离线消息,并根据所述有效期信息设置所述离线消息的有效期。
3.根据权利要求2所述的方法,其特征在于,所述将所述消息缓存为离线消息,包括:
获取所述控制字段中的优先级信息,所述优先级信息用于指示所述离线消息相对于实时消息的处理优先级,所述实时消息是所述目标设备实时接收到的非离线消息;
将所述优先级信息和所述消息封装为离线消息;
对所述离线消息进行缓存。
4.根据权利要求3所述的方法,其特征在于,所述优先级信息为第一数值、第二数值和第三数值中的一种;
当所述优先级信息为所述第一数值时,所述优先级信息用于指示所述目标设备优先处理所述离线消息,并暂停处理所述实时消息;
当所述优先级信息为所述第二数值时,所述优先级信息用于指示所述目标设备同步处理所述离线消息和所述实时消息;
当所述优先级信息为所述第三数值时,所述优先级信息用于指示所述目标设备优先处理所述实时消息,并暂停处理所述离线消息。
5.根据权利要求3所述的方法,其特征在于,所述将所述优先级信息和所述消息封装为离线消息,包括:
获取第一类型信息,所述第一类型信息用于指示所述消息为离线消息,且所述第一类型信息与用于指示所述消息为实时消息的第二类型信息不同;
将所述第一类型信息封装到消息类型字段中,将所述优先级信息封装到优先权字段中,将所述消息的消息内容封装到消息内容字段中,得到所述离线消息。
6.根据权利要求1所述的方法,其特征在于,所述将所述未超期的离线消息发送给所述目标设备,包括:
获取所述目标设备的性能;
根据所述性能确定离线消息的发送频率,所述性能的高低与所述发送频率的快慢呈正相关关系;
根据所述发送频率将所述未超期的离线消息发送给所述目标设备。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述接收业务平台发送的消息之后,所述方法还包括:
若当前所述目标设备处于在线状态,则将所述消息发送给所述目标设备。
8.一种物联网中的离线消息发送装置,其特征在于,所述装置包括:
接收模块,用于接收业务平台发送的消息,所述消息包括消息内容和设备编号,所述设备编号用于指示接收所述消息的目标设备;
设置模块,用于若当前所述目标设备处于离线状态,则将所述消息缓存为离线消息,并设置所述离线消息的有效期;
筛选模块,用于在所述目标设备上线后,根据缓存的各条离线消息的有效期筛选未超期的离线消息;
发送模块,用于将所述未超期的离线消息发送给所述目标设备。
9.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一所述的物联网中的离线消息发送方法。
10.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至7任一所述的物联网中的离线消息发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010113874.3A CN111371854B (zh) | 2020-02-24 | 2020-02-24 | 物联网中的离线消息发送方法、装置、存储介质及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010113874.3A CN111371854B (zh) | 2020-02-24 | 2020-02-24 | 物联网中的离线消息发送方法、装置、存储介质及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111371854A true CN111371854A (zh) | 2020-07-03 |
CN111371854B CN111371854B (zh) | 2021-06-22 |
Family
ID=71210151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010113874.3A Active CN111371854B (zh) | 2020-02-24 | 2020-02-24 | 物联网中的离线消息发送方法、装置、存储介质及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371854B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112051816A (zh) * | 2020-09-03 | 2020-12-08 | 珠海格力智能装备有限公司 | 数据采集系统和方法 |
CN112559220A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息发送方法、装置、设备及存储介质 |
CN112559219A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息管理方法、装置、设备及存储介质 |
CN112788154A (zh) * | 2021-01-29 | 2021-05-11 | 北京奇艺世纪科技有限公司 | 一种数据传输系统及方法 |
CN113709257A (zh) * | 2021-10-09 | 2021-11-26 | 天翼物联科技有限公司 | 消息缓存超期监控方法、装置、设备及介质 |
CN113904953A (zh) * | 2021-12-09 | 2022-01-07 | 云丁网络技术(北京)有限公司 | 通信设备的离线检测方法、装置和设备 |
CN113973097A (zh) * | 2020-07-24 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 一种消息显示方法、装置和存储介质 |
CN114338805A (zh) * | 2021-12-29 | 2022-04-12 | 金卡智能集团股份有限公司 | 数据处理方法、装置和服务器 |
CN115002137A (zh) * | 2022-08-03 | 2022-09-02 | 广州此声网络科技有限公司 | 离线消息处理方法、装置、计算机设备和存储介质 |
WO2023116701A1 (zh) * | 2021-12-23 | 2023-06-29 | 天翼物联科技有限公司 | 基于物联网平台的数据信息推送方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068222A (zh) * | 2007-01-15 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种处理消息的方法及装置 |
US20150215264A1 (en) * | 2012-10-11 | 2015-07-30 | Tencent Technology (Shenzhen) Company Limited | Common message sending method, electronic device, and storage medium |
CN105162807A (zh) * | 2015-10-12 | 2015-12-16 | 中国银行股份有限公司 | 一种大规模消息推送方法及系统 |
CN105897550A (zh) * | 2015-12-23 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种推送离线消息的方法及设备 |
CN110198351A (zh) * | 2019-05-29 | 2019-09-03 | 深圳前海微众银行股份有限公司 | 离线消息的存储方法、装置、服务端及可读存储介质 |
-
2020
- 2020-02-24 CN CN202010113874.3A patent/CN111371854B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068222A (zh) * | 2007-01-15 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种处理消息的方法及装置 |
US20150215264A1 (en) * | 2012-10-11 | 2015-07-30 | Tencent Technology (Shenzhen) Company Limited | Common message sending method, electronic device, and storage medium |
US10541963B2 (en) * | 2012-10-11 | 2020-01-21 | Tencent Technology (Shenzhen) Company Limited | Common message sending method, electronic device, and storage medium |
CN105162807A (zh) * | 2015-10-12 | 2015-12-16 | 中国银行股份有限公司 | 一种大规模消息推送方法及系统 |
CN105897550A (zh) * | 2015-12-23 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 一种推送离线消息的方法及设备 |
CN110198351A (zh) * | 2019-05-29 | 2019-09-03 | 深圳前海微众银行股份有限公司 | 离线消息的存储方法、装置、服务端及可读存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973097A (zh) * | 2020-07-24 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 一种消息显示方法、装置和存储介质 |
CN112051816A (zh) * | 2020-09-03 | 2020-12-08 | 珠海格力智能装备有限公司 | 数据采集系统和方法 |
CN112559220A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息发送方法、装置、设备及存储介质 |
CN112559219A (zh) * | 2020-12-22 | 2021-03-26 | 广州技象科技有限公司 | 一种物联网离线消息管理方法、装置、设备及存储介质 |
CN112788154A (zh) * | 2021-01-29 | 2021-05-11 | 北京奇艺世纪科技有限公司 | 一种数据传输系统及方法 |
CN113709257A (zh) * | 2021-10-09 | 2021-11-26 | 天翼物联科技有限公司 | 消息缓存超期监控方法、装置、设备及介质 |
CN113709257B (zh) * | 2021-10-09 | 2024-04-23 | 天翼物联科技有限公司 | 消息缓存超期监控方法、装置、设备及介质 |
CN113904953A (zh) * | 2021-12-09 | 2022-01-07 | 云丁网络技术(北京)有限公司 | 通信设备的离线检测方法、装置和设备 |
WO2023116701A1 (zh) * | 2021-12-23 | 2023-06-29 | 天翼物联科技有限公司 | 基于物联网平台的数据信息推送方法、装置、设备及介质 |
CN114338805A (zh) * | 2021-12-29 | 2022-04-12 | 金卡智能集团股份有限公司 | 数据处理方法、装置和服务器 |
CN115002137A (zh) * | 2022-08-03 | 2022-09-02 | 广州此声网络科技有限公司 | 离线消息处理方法、装置、计算机设备和存储介质 |
CN115002137B (zh) * | 2022-08-03 | 2022-10-21 | 广州此声网络科技有限公司 | 离线消息处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111371854B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111371854B (zh) | 物联网中的离线消息发送方法、装置、存储介质及服务器 | |
US8195757B2 (en) | Method, apparatus and computer program for controlling retention of publications | |
CN111212085B (zh) | 物联网平台同步调用的方法、物联网系统和网络设备 | |
CN111277848B (zh) | 直播间互动消息的处理方法、装置、电子设备及存储介质 | |
CN111949568A (zh) | 一种报文处理方法、装置及网络芯片 | |
CN107026879B (zh) | 一种数据缓存方法及后台应用系统 | |
CN111083168A (zh) | 可配置的物联网平台网关的数据传输方法、装置和网关 | |
CN110704212B (zh) | 一种消息处理方法及装置 | |
CN113315846A (zh) | 一种数据传输方法及装置 | |
CN111770054A (zh) | 一种针对smb协议读请求的交互加速方法与系统 | |
CN116303173B (zh) | 减少rdma引擎片上缓存的方法、装置、系统及芯片 | |
CN111935782A (zh) | 客户端重试机制的优化方法、存储介质 | |
CN116436966A (zh) | 一种基于emq实现设备激活的方法及系统 | |
CN114598944B (zh) | 一种周期性信号处理系统、方法、计算机设备及存储介质 | |
CN110765392A (zh) | 数据的加载方法及装置、存储介质、终端 | |
CN110865845B (zh) | 提高接口访问效率的方法、存储介质 | |
CN113364830B (zh) | 一种长链接的缓存优化方法及系统 | |
CN112202781B (zh) | 一种电商大数据量回执报文处理方法、装置和系统 | |
CN113133027B (zh) | 一种通信方法、服务器、终端及通信系统 | |
CN108881991B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN112181671A (zh) | 一种延时消息处理的方法及装置 | |
CN111459819A (zh) | 软件测试方法及装置、电子设备、计算机可读介质 | |
CN117668027A (zh) | 基于Redis的接口数据缓存方法、系统、设备及介质 | |
CN118193254B (zh) | 一种进程通信方法、装置、介质及设备 | |
CN112351072B (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 210000 Longmian Avenue 568, High-tech Park, Jiangning District, Nanjing City, Jiangsu Province Patentee after: Xiaoshi Technology (Jiangsu) Co.,Ltd. Address before: 210000 Longmian Avenue 568, High-tech Park, Jiangning District, Nanjing City, Jiangsu Province Patentee before: NANJING ZHENSHI INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |