一种物联网云平台终端通知推送方法与流程

文档序号:15394938发布日期:2018-09-08 01:57阅读:1922来源:国知局

本发明涉及计算机物联网技术,尤其涉及一种物联网云平台终端通知推送方法。



背景技术:

在现在的物联网服务解决方案中,智能终端会接入到物联网控制平台中,智能终端与物联网控制平台之间是双向通信,终端不仅需要采集信息,而且需要监听平台发送的通知消息,当收到通知后执行相应的动作。终端的类型多种多样,接收通知消息的格式又不尽相同。例如在智慧路灯场景中,智慧路灯作为物联网终端,接入物联网云平台,智慧路灯上集成了led显示屏,用于对外显示通知内容,需要能够在任意时刻通过平台向显示屏远程发送要显示的内容,内容不仅局限于文字,可以包含图片或语音资源。当出现某些终端因网络问题没有接收到通知内容,需要能够在网络恢复后与平台再次建立连接,并接收到上次的通知内容。这就要求有一种通用的远程消息发送机制,能够支持多种协议终端接入,同时能够支持多种格式的通知内容,并且通知消息具有可靠性和有效性,确保通知内容已被终端接收。



技术实现要素:

为了解决以上技术问题,本发明提出了一种物联网云平台终端通知推送方法。用于终端与物联网云平台建立长连接,通过配置通知模型,订阅多种主题,使不同终端监听特定的通知主题,平台向特定的主题推送通知,已建立连接并且已订阅主题的终端实时接收通知内容。

本发明所采用的技术方案为:

一种物联网云平台终端通知推送方法,基于物联网云平台,物联网云平台是跨行业通用的云架构部署平台,提供web页面供开发者或使用者进行终端接入、通知建模和通知发送等操作。

进一步地,物联网云平台提供通知数据模型,是通知发送的内容模板,模型中定义的内容包括通知模型的名称、通知模型的字段定义。其中通知模型的字段类型包含整形、长整型、浮点型、布尔值、字节、数组、字符串、集合、枚举、引用参数等类型,指定各个字段是否允许为空值。字节类型可用于二进制内容封装;引用类型可引用已建立好的其他通知数据模型,可定义多层模型嵌套。在应用场景中,可根据需要建立多种通知数据模型,在发送通知时选用不同的模型。

在完成上述通知数据模型创建后,所述物联网云平台将通知数据模型保存在服务器端,为了使终端在接收通知内容时保持数据结构一致性,平台同时将通知数据模型封装在终端sdk中,终端应用程序直接按照封装好的数据模型解析通知内容。

进一步地,物联网云平台使用发布订阅机制管理通知,发布订阅模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题对象,即多个订阅终端同时监听某一个主题。当这个主题对象有新的内容时,会通知所有订阅者终端,终端sdk自动触发通知内容的接收。

所述物联网云平台开发者页面提供主题创建功能,定义通知主题的名称,并指定此主题是否被终端默认订阅。如果选择主题默认订阅,则终端在启动后,集成在终端的sdk会自动订阅此主题,无需在终端应用程序再次订阅。通知主题创建后,支持添加到终端组,则此终端组下的终端都可以订阅此主题,平台可依据业务数据的订阅关系实现数据的快速分发。

物联网终端sdk基于tcp协议与物联网云平台建立连接,并通过定时心跳保持长连接。终端启动后,终端应用程序获取此终端可被订阅的主题列表,包括默认订阅主题和可选订阅主题,对于可选订阅主题可在应用程序中再次订阅。

所述物联网云平台向终端发送通知分为单播和广播两种方式,单播方式需要指定发送主题以及发送的终端编号,表示此通知只发送到某一个终端,其他终端无法接收到通知;广播方式指定发送主题,不指定终端编号,表示订阅此主题的终端都可以接收到通知。

进一步地,所述物联网云平台发送通知支持指定通知有效期,具有消息缓存机制,保证在通知有效期内终端可以接收到。平台发送通知内容时,生成通知序号,将通知内容缓存,并记录此通知被终端接收情况。当有新的终端与平台建立连接时,订阅主题有效期内的通知,平台将通知内容发送到此设备。超出有效期的通知将被丢弃,清除通知缓存。

所述物联网云平台通知模型实例基于avro技术使用二进制编码进行序列化,适合于远程大规模数据的存储和交换,有利于提高数据处理的效率,并且支持多种编程语言的sdk反序列化,解析通知内容。

本发明的有益效果为:

本发明提供一种物联网云平台终端通知推送方法,使用发布订阅机制建立可靠的通知推送方式,通知内容支持文字、图片在内的多种形式,并且具有有效期缓存,实现通知批量推送和确保通知已被接收。

附图说明

图1是物联网云平台通知推送流程图。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

本发明基于物联网云平台建立通知模型、与终端建立长连接、进行通知推送。物联网云平台根据用户建立的发布订阅关系进行通知推送,实现终端统一接收通知内容。

本发明实现过程如下:

1)、在物联网云平台建立通知模型,定义通知包含的各字段名称以及数据类型,根据需要建立多个通知数据模型,应用于不同的订阅主题。

2)、物联网云平台提供主题订阅方式,设定多个订阅主题,主题分为默认订阅主题和可选订阅主题,指定主题的名称、默认订阅标志。例如创建可选订阅主题,支持开发者调用sdk主题查询接口,查询此终端已创建的通知主题列表,并可调用sdk主题订阅接口,订阅相关主题。

3)、所述方法每个通知主题可以与一个或多个终端组关联。通过终端组对终端进行分类,每个终端组可以关联多个主题,每个主题可以被多个终端组关联。终端设备接收通知的前提是,终端必须属于与相应通知主题相关联的一个或多个组。在终端分组功能页面,列出系统中所有的终端组。选择一个终端组,显示出此终端组的信息,其中包括此组已订阅的主题。

4)、所述物联网云平台基于已配置通知模型和订阅关系生成sdk,供集成在终端运行,与平台建立持久连接,监听平台通知消息推送。

5)、所述方法通知推送功能用于平台向终端发送消息,已订阅终端在通知有效期内可以接收到消息通知。发送通知消息动作可通过物联网云平台接口完成,通知内容是json文件流,文件的数据结构必须与相应的通知数据模型相匹配。接口提供通知类型,发送单播通知,增加要接收通知的终端编号参数,平台只向此终端推送该通知;发送广播通知,平台向所有已订阅终端推送该通知。接口提供通知有效期参数,参数值是通知过期的时间点。平台通知推送完成后,如果终端与平台失去连接,平台在有效期内保留通知内容,终端与平台恢复连接后,平台根据通知缓存及推送记录重新向该终端推送通知。当通知超出有效期后,平台丢弃此通知缓存。

6).终端sdk使用通知消息监听接口获取通知,当有新的通知到达后,触发监听接口,进行通知对象反序列化,通知内容与通知数据模型一致,终端应用程序根据模型解析通知内容。

7).终端sdk使用通知主题监听接口获取主题的变化,当平台建立新的通知主题后,终端应用程序可以获得最新的主题,并订阅此主题。



技术特征:

技术总结
本发明提供一种物联网云平台终端通知推送方法,属于计算机物联网领域,物联网云平台采用发布订阅机制管理通知,通知内容基于通知数据模型,通知数据模型封装在终端SDK中。通知主题可关联到终端组,通知推送支持单播和广播方式,具有可靠性缓存并可指定有效期,后续连接的终端可以补收到有效通知内容。终端SDK提供接口获取此终端可被订阅的主题列表、订阅或取消某个主题。通知推送过程中,通知模型实例基于AVRO技术使用二进制编码进行序列化,适合于远程大规模数据的存储和交换,终端SDK支持多种编程语言的SDK反序列化。

技术研发人员:徐驰;孙善宝;于治楼
受保护的技术使用者:济南浪潮高新科技投资发展有限公司
技术研发日:2018.04.20
技术公布日:2018.09.07
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1