提供物联网服务的方法、设备、服务器及存储介质技术

技术编号:27944168 阅读:33 留言:0更新日期:2021-04-02 14:26
本申请提供一种提供物联网服务的方法、设备、服务器及计算机可读存储介质。所述方法包括:生成与IOT设备对应的设备影子,将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子;当从业务服务和/或接入的IOT设备接收到对所述通讯数据的使用请求时,从所述IOT设备对应的所述设备影子中获取所述通讯数据,以供所述业务服务和/或接入的IOT设备使用。通过本申请的方案,使得将通讯业务从系统业务中分离出来,系统业务不再直接参与与IOT终端的通讯,转而由设备影子提供数据,影子服务专门负责与IOT终端的通讯,降低了多种业务通过系统获取IOT终端相关数据的耗时,进而有效改善交互体验和响应速度。

【技术实现步骤摘要】
提供物联网服务的方法、设备、服务器及存储介质
本申请涉及物联网
,尤其涉及一种提供物联网服务的方法、设备、服务器及计算机可读存储介质。
技术介绍
在2G(第二代移动通信技术)、3G(第三代移动通信技术)、4G(第四代移动通信技术)、5G(第五代移动通信技术)、6G(第六代移动通信技术)或更下一代移动通信技术以及蓝牙、ZigBee、Wifi等短距离无线通信技术共同组成的网络环境下,无法保证网络通讯的持续连通和稳定通讯,必然会因位置移动、信号质量、自然环境等不可抗因素导致物联网(TheInternetofThings,简称IOT)终端出现高延迟、频繁断线上线、长期失联(离线)等情况。在共享经济相关产品以及商用电器如空调的监控等应用场景中通常需要面临多种网络通讯条件。目前在物联网行业中处理通讯的链接机制还比较简单,大多为定时的上报数据或心跳,服务器下发配置或指令也多为直接下发,对于离线的设备大多是加入消息队列等待设备上线后消费或超时处理。随着物联网相关技术的发展和应用场景的增加,我们面临的业务场景也变得愈发复杂,服务端与IOT终端之间的通讯数据因种类繁多而变得越来越复杂,这导致因网络问题使得大量的功能变得难以控制或保持稳定,如果处理不及时则会导致相关业务整体的发展停摆,严重拖累企业的开发和运营。尤其是,IOT终端在与服务器通讯时存在如下技术问题:通讯业务与系统业务存在严重的耦合,层次划分不清,通讯业务混在在其他系统业务中,导致存在侵入关系的业务面对需求时难以开发维护。通讯业务是与IOT设备通讯的相关业务,需要直接与IOT设备进行数据交互,例如从IOT设备读取数据或向IOT设备发送数据;系统业务为除去直接与IOT设备交互的业务外的业务,即在服务端系统内部执行的全部业务,它们同样可以涉及IOT设备数据的传递,只是不参与与IOT设备的直接交互。由于通讯业务与系统业务的严重耦合,业务逻辑需要同时对系统业务和通讯业务进行管理和维护,所有IOT设备的状态和配置的维护和获取需要大量的额外逻辑处理,分散且不易管理,容易出现逻辑漏洞和设计缺陷。此外,导致长期失联设备的状态难维护、难管理,最终出现设备数据的碎片化(如同一组批次的设备配置不一致的问题),这种设备在后续的管理中很容易被遗漏,最终导致出现生产事故。针对上述问题,目前尚未提出有效的解决方式。
技术实现思路
有鉴于此,本申请提出一种提供物联网服务的方法、设备、服务器及计算机可读存储介质,通过为IOT设备生成对应的设备影子,将与所述IOT设备关联的至少部分通讯数据同步到对应的设备影子,当从业务服务和/或接入的IOT设备接收到对通讯数据的使用请求时,从设备影子中获取通讯数据,以供业务服务和/或接入的IOT设备使用。可见,通过提供设备影子使得将通讯业务从系统业务中分离出来,系统业务不再直接参与与IOT设备终端的通讯,转而由设备影子维护IOT设备的数据,从而系统业务中对IOT设备数据的请求通过读取设备影子即可获得,与IOT设备的直接通讯则交由影子服务和接入服务等专门负责,降低了多种业务通过系统获取IOT终端相关数据的耗时,进而有效改善交互体验和响应速度。据本申请的一个方面,提供一种提供物联网(IOT)服务的方法,包括:生成与IOT设备对应的设备影子,将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子;当从业务服务和/或接入的IOT设备接收到对所述通讯数据的使用请求时,从所述IOT设备对应的所述设备影子中获取所述通讯数据,以供所述业务服务和/或接入的IOT设备使用。进一步地,所述至少部分通讯数据包括上行数据;响应于从所述接入的IOT设备接收到所述上行数据,将所述上行数据发布到消息队列对应的主题(topic)中;通过对所述消息队列中主题进行订阅,从所述消息队列获取所述上行数据;将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子,包括:将所述获取的上行数据同步到与所述IOT设备对应的设备影子中。进一步地,所述至少部分通讯数据包括下行数据;将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子,包括:响应于从业务服务接收到所述下行数据,将所述下行数据同步到对应的设备影子;从所述IOT设备对应的所述设备影子中获取所述通讯数据,包括:从所述IOT设备对应的所述设备影子中获取所述下行数据;响应于从所述设备影子中获取到所述下行数据,将所述下行数据发布到消息队列对应的主题中;通过对所述消息队列中主题进行订阅,从所述消息队列获取所述下行数据,将所述下行数据发送给对应的IOT设备。进一步地,将所述上行数据发布到消息队列对应的主题,包括:将所述上行数据携带标记信息发布到消息队列对应的主题中,和/或,采用“前缀/协议”的方式定义发布到消息队列中的所述上行数据对应的主题;和/或,对所述消息队列中主题进行订阅,包括:对所述消息队列中自身支持的协议的主题进行订阅;和/或,从所述消息队列获取所述上行数据,包括:当单一解析服务实例适配多个协议时,根据协议类型及channelID获取目标IOT设备的所述上行数据;和/或,将所述上行数据发送给影子服务单元,包括:将所述上行数据解析后发送给所述影子服务单元;和/或,当所述上行数据同步到与所述IOT设备对应的设备影子中,使用消息队列异步通知所述业务服务单元所述设备影子被更新;和/或,从所述IOT设备对应的所述设备影子中获取所述通讯数据,包括:从所述IOT设备对应的所述设备影子中获取所述上行数据,接收从设备影子获取的上行数据以执行业务服务操作,当接收到的所述上行数据未解析,则进行解析。进一步地,所述标记信息包括接入服务类型、channelID、接入服务实例ID至少之一。进一步地,将所述下行数据发布到消息队列对应的主题中,包括:采用“前缀/接入服务实例ID”的方式定义发布到消息队列中的下行数据对应的主题;和/或,当将下行数据更新到设备影子后,业务服务通知所述下行数据的变更时间。进一步地,不同的接入服务实例实现对不同协议设备的接入支持;和/或,当所述IOT设备的数量为多个时,所述设备影子与所述多个IOT设备中的每个相对应;和/或,将处于冷设备状态的IOT设备的设备影子存放在冷数据区域,将处于热设备状态的IOT设备的设备影子存放在热数据区域或同时存放在热数据区域或冷数据区域;和/或,所述设备影子中的数据包括IOT设备ID,从所述IOT设备对应的所述设备影子中获取所述通讯数据,包括:通过所述IOT设备ID获取对应设备的设备影子,并从所述设备影子中获取所述通讯数据;和/或,所述至少部分通讯数据包括:基本数据。进一步地,所述基本数据包括:状态数据、配置数据;和/或,所述至少部分通讯数据本文档来自技高网
...

【技术保护点】
1.一种提供物联网(IOT)服务的方法,其特征在于,包括:/n生成与IOT设备对应的设备影子,将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子;/n当从业务服务和/或接入的IOT设备接收到对所述通讯数据的使用请求时,从所述IOT设备对应的所述设备影子中获取所述通讯数据,以供所述业务服务和/或接入的IOT设备使用。/n

【技术特征摘要】
1.一种提供物联网(IOT)服务的方法,其特征在于,包括:
生成与IOT设备对应的设备影子,将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子;
当从业务服务和/或接入的IOT设备接收到对所述通讯数据的使用请求时,从所述IOT设备对应的所述设备影子中获取所述通讯数据,以供所述业务服务和/或接入的IOT设备使用。


2.如权利要求1所述的方法,其特征在于:
所述至少部分通讯数据包括上行数据;
响应于从所述接入的IOT设备接收到所述上行数据,将所述上行数据发布到消息队列对应的主题(topic)中;
通过对所述消息队列中主题进行订阅,从所述消息队列获取所述上行数据;
将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子,包括:将所述获取的上行数据同步到与所述IOT设备对应的设备影子中。


3.如权利要求1所述的方法,其特征在于:
所述至少部分通讯数据包括下行数据;
将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子,包括:响应于从业务服务接收到所述下行数据,将所述下行数据同步到对应的设备影子;
从所述IOT设备对应的所述设备影子中获取所述通讯数据,包括:
从所述IOT设备对应的所述设备影子中获取所述下行数据;
响应于从所述设备影子中获取到所述下行数据,将所述下行数据发布到消息队列对应的主题中;
通过对所述消息队列中主题进行订阅,从所述消息队列获取所述下行数据,将所述下行数据发送给对应的IOT设备。


4.如权利要求2所述的方法,其特征在于,
将所述上行数据发布到消息队列对应的主题,包括:
将所述上行数据携带标记信息发布到消息队列对应的主题中,和/或,
采用“前缀/协议”的方式定义发布到消息队列中的所述上行数据对应的主题;
和/或,
对所述消息队列中主题进行订阅,包括:对所述消息队列中自身支持的协议的主题进行订阅;
和/或,
从所述消息队列获取所述上行数据,包括:当单一解析服务实例适配多个协议时,根据协议类型及channelID获取目标IOT设备的所述上行数据;和/或,
将所述上行数据发送给影子服务单元,包括:将所述上行数据解析后发送给所述影子服务单元;
和/或,
当所述上行数据同步到与所述IOT设备对应的设备影子中,使用消息队列异步通知所述业务服务单元所述设备影子被更新;
和/或,
从所述IOT设备对应的所述设备影子中获取所述通讯数据,包括:从所述IOT设备对应的所述设备影子中获取所述上行数据,
接收从设备影子获取的上行数据以执行业务服务操作,当接收到的所述上行数据未解析,则进行解析。


5.如权利要求4所述的方法,其特征在于,
所述标记信息包括接入服务类型、channelID、接入服务实例ID至少之一。


6.如权利要求3所述的方法,其特征在于,
将所述下行数据发布到消息队列对应的主题中,包括:采用“前缀/接入服务实例ID”的方式定义发布到消息队列中的下行数据对应的主题;
和/或,
当将下行数据更新到设备影子后,业务服务通知所述下行数据的变更时间。


7.如权利要求1至3中任一项所述的方法,其特征在于:
不同的接入服务实例实现对不同协议设备的接入支持;
和/或,
当所述IOT设备的数量为多个时,所述设备影子与所述多个IOT设备中的每个相对应;
和/或,
将处于冷设备状态的IOT设备的设备影子存放在冷数据区域,将处于热设备状态的IOT设备的设备影子存放在热数据区域或同时存放在热数据区域或冷数据区域;
和/或,
所述设备影子中的数据包括IOT设备ID,
从所述IOT设备对应的所述设备影子中获取所述通讯数据,包括:通过所述IOT设备ID获取对应设备的设备影子,并从所述设备影子中获取所述通讯数据;
和/或,
所述至少部分通讯数据包括:基本数据。


8.如权利要求7所述的方法,其特征在于:
所述基本数据包括:状态数据、配置数据;
和/或,
所述至少部分通讯数据还包括部分扩展数据,所述扩展数据包括:事件数据和业务数据。


9.如权利要求8所述的方法,其特征在于:
设备影子对不同的数据采用不同的方式保存。


10.一种提供物联网(IOT)服务的设备,其特征在于,包括:
业务服务单元、接入服务单元和影子服务单元;
所述业务服务单元,提供业务服务;
所述接入服务单元,用于接入IOT设备;
所述影子服务单元,生成与IOT设备对应的设备影子,将与所述IOT设备关联的至少部分通讯数据同步到对应的所述设备影子;
当从业务服务和/或接入的IOT设备接收到对所述通讯数据的使用请求时,所述影子服务单元从所述IOT设备对应的...

【专利技术属性】
技术研发人员:尹相宇祁红波
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东;44

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

1