数据处理方法、物联网系统、电子设备及计算机存储介质与流程

文档序号:31636494发布日期:2022-09-24 04:22阅读:74来源:国知局
数据处理方法、物联网系统、电子设备及计算机存储介质与流程

1.本技术实施例涉及计算机技术领域,尤其涉及一种数据处理方法、物联网系统、电子设备及计算机存储介质。


背景技术:

2.通常,物联网云平台都有各自定义的物模型(物模型是产品数字化的描述,定义了产品的功能,一般物模型采用json格式定义)。当设备的数据传输到物联网平台时,需要将设备使用的协议(如ble、zigbee等)在设备端使用物联网平台提供的sdk转换到物联网云平台对应的物模型。反之,当通过物联网云平台下发数据给设备时,需要在设备端通过sdk将物模型转换为设备使用的协议后处理。
3.其只能对预先设定好的物模型进行转换,因而使得灵活性不足,难以适应不同的物联网平台定义的不同的物模型和接入标准,导致设备需要维护多套不同的sku(stock keeping unit,最小销售单元),因而成本和维护复杂度较高。


技术实现要素:

4.有鉴于此,本技术实施例提供一种数据处理方案,以至少部分解决上述问题。
5.根据本技术实施例的第一方面,提供了一种数据处理方法,所述方法应用于物联网系统的网关中,所述物联网系统包括网关、物联网平台和物联网子设备,所述物联网子设备通过所述网关与所述物联网平台通信,所述网关与云端通信连接,所述方法包括:获取所述物联网子设备和所述物联网平台交互的交互消息,所述交互消息中携带有设备标识,所述交互消息的接收方为所述物联网平台或所述物联网子设备;若确定本地未存在与所述设备标识匹配的物模型转换脚本,则从所述云端动态获取与所述设备标识对应的物模型转换脚本;使用所述对应的物模型转换脚本,将所述交互消息转换为符合所述接收方使用协议的通信消息,并将所述通信消息发送给所述接收方。
6.根据本技术实施例的第二方面,提供了一种物联网系统,包括物联网平台、网关和物联网子设备,所述物联网平台通过所述网关与所述物联网子设备通信连接,所述网关用于执行前述的方法,以将所述物联网平台和所述物联网子设备之间的交互信息转换为符合交互信息的接收方的协议的通信消息,并将所述通信消息发送给所述交互信息的接收方。
7.根据本技术实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述的方法对应的操作。
8.根据本技术实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述的方法。
9.根据本技术实施例的第五方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如上述的方法对应的操作。
10.根据本技术实施例提供方式,通过在网关中动态加载云端的物模型转换脚本,使用物模型转换脚本完成物模型与物联网子设备协议之间的转换,这样在保证能够适配不同的物联网子设备和物联网平台之间的通信的情况下,可以避免频繁地升级网关的固件,提升适应性,减少维护和开发成本。
附图说明
11.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
12.图1为根据本技术实施例一的一种物联网系统的结构示意图;
13.图2为根据本技术实施例一的一种数据处理方法的步骤流程示意图;
14.图3为根据本技术实施例一的一种数据处理方法的步骤204的子步骤的流程示意图;
15.图4为根据本技术实施例一的另一种数据处理方法的流程示意图;
16.图5为根据本技术实施例一的再一种数据处理方法的流程示意图;
17.图6为根据本技术实施例一的物模型转换脚本加载的示意图;
18.图7为根据本技术实施例二的一种物联网系统的结构示意图;
19.图8为根据本技术实施例三的一种数据处理装置的结构框图;
20.图9为根据本技术实施例五的一种电子设备的结构示意图。
具体实施方式
21.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
22.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
23.实施例一
24.为了便于理解,在对本技术的方法的实现过程进行详细说明之前,示例性地对该方法的一个使用场景进行说明,但本技术的方法并不限于该使用场景中,其还可以应用到其他适当的场景中。
25.图1示出了一种物联网系统的示意图。物联网系统包括网关、物联网平台和物联网子设备,所述物联网子设备通过所述网关与所述物联网平台通信。
26.物联网平台可以提供物联网子设备管理、物模型定义及接入和控制的sdk等服务。物模型可以是为物联网子设备(如传感器、车载装置、楼宇、工厂、智能灯、智能门铃等)定义的数据模型,用于描述物联网子设备的功能。物模型(通常是json格式定义)从属性、服务和事件三个维度定义了物联网子设备。对于同一设备类型的物联网子设备可以定义一个物模型。除此之外,物联网平台还可以与用户的终端设备(如智能手机、智能平板等)通信连接,使用户可以通过终端设备控制物联网子设备进行控制。
27.网关可以是蓝牙网关、wifi网关等等。以蓝牙网关为例,蓝牙网关可以作为物联网子设备与物联网平台连接的中介,运行在网关侧。其可以实现物联网子设备在物联网平台上的注册、认证、连接等。除此之外还可以实现物联网子设备的探测、组网、连接,物联网子设备与虚拟设备的映射、管理等,以及物模型转换脚本的执行等。虚拟设备是物联网平台与物联网子设备之间的桥梁,作为真实的物联网子设备的影子,屏蔽物联网子设备底层实现的差异,向上提供统一的访问接口。
28.蓝牙网关包括主控和mesh控制器组成。主控可以用于物联网平台的sdk的集成、执行引擎、网络连接、云端接入等功能。mesh控制器负责mesh子设备(即终端设备)与主控之间的配网连接、节点控制、升级等功能。
29.除了前述的网关、物联网平台和物联网子设备外,物联网平台还可以包括云端(例如为occ,即芯片开发社区)。云端可以提供设备鉴权、物模型转换脚本编写及存储、fota升级等服务。
30.现有的物联网子设备可以通过网关与物联网平台实现数据交互。例如,在物联网平台与连接的物联网子设备通信时,物联网平台向物联网子设备下发的数据以物模型格式表示,而并非物联网子设备使用的协议,导致下发的数据需要使用物联网平台的sdk将物模型格式的数据转化为物联网子设备所使用的协议再进行处理。
31.类似地,当物联网子设备将数据传输到物联网平台时,需要将以物联网子设备使用的协议(如ble、zigbee等)表示的数据通过物联网平台提供的sdk转化为物联网云平台对应的物模型格式的数据,再传输给物联网平台。这种方式导致只能对预先设定好的物模型进行转换,若需要增加新的物模型就要更新sdk,而更新sdk需要通过固件升级的方式,在网关进行固件升级时会中断服务,导致与之连接的所有物联网子设备都不可用,极大地影响了使用。
32.为了解决该问题,本技术实施例提供了一种数据处理方法,如图2所示,其包括以下步骤:
33.步骤s202:获取所述物联网子设备和所述物联网平台交互的交互消息。
34.该交互消息可以是物联网平台下发给物联网子设备的控制指令(如开灯、关灯等),也可以是物联网子设备向物联网平台发送的状态信息(如开关状态、颜色、亮度等等),因此针对某一个所述交互消息,其接收方可以为所述物联网平台或所述物联网子设备。
35.所述交互消息中携带有设备标识,设备标识可以是物联网平台为各物联网子设备颁发的该设备类型(如灯、传感器或者门铃)内唯一的证书(dev icename)。物联网平台可以接入同一设备类型下的多个物联网子设备,为了对其进行区分每个物联网子设备有独立的设备标识,同一设备类型可以对应一个物模型。
36.若交互消息为物联网平台下发的控制指令,则除了设备标识外,交互消息还包括内容数据,内容数据可以是物模型格式标识的指令,例如,若指示开灯,则内容数据可以是'{'powerstate':1}'。
37.若交互消息为物联网子设备发送的状态信息,则除了设备标识外,交互消息的内容数据可以是二进制表示的物联网子设备的状态。
38.在本实施例中,网关中集成了多个物联网云平台的sdk和执行引擎,执行引擎用于执行物模型转换脚本,物模型转换脚本用于自动转换交互消息,如将物模型格式的交互消
息转换为物联网子设备所使用协议的格式,或者是将物联网子设备所使用协议格式的交互消息转换为物模型格式。物模型转换脚本可以在云端存储和配置,以方便增加或者修改物模型转换脚本而不需要干扰网关的运行。
39.当网关接收到交互消息后可以执行步骤s204以对交互消息进行处理。
40.步骤s204:若确定所述网关本地未存在与所述设备标识匹配的物模型转换脚本,则从所述云端动态获取与所述设备标识对应的物模型转换脚本。
41.在一示例中,如图3所示,步骤s204包括以下子步骤:
42.子步骤s2041:确定所述设备标识对应的物联网子设备所属的设备类型。
43.在本示例中,云端用于维护物联网子设备和设备类型之间的对应关系,因此,网关可以将设备标识发送至云端,以从云端获取物联网子设备所属的设备类型(如灯、传感器等),这种方式可以减少网关负载。
44.当然,在其他示例中,也可以在网关本地维护维护物联网子设备和设备类型之间的对应关系,对此不作限制。
45.子步骤s2042:确定本地是否存在与所述设备类型对应的物模型转换脚本。
46.同一设备类型的物联网子设备通常对应一个物模型,但因为物模型转换脚本可能会进行更新(如修改、增加或者删除等),所以网关本地可能存在不存在物联网子设备对应的物模型转换脚本的情况,为了解决这一问题,网关可以基于设备类型检测本地是否存在对应的物模型转换脚本,若不存在,则执行子步骤s2043。若存在,则可以使用本地的物模型转换脚本对交互信息进行转换,其转换过程与步骤s206类似,故将会在针对步骤s206的说明中进行详细说明,不再单独赘述。
47.子步骤s2043:若未存在,则从云端获取与所述设备类型对应的物模型转换脚本。
48.在本地没有需要的物模型转换脚本的情况下,网关可以动态地从云端获取需要的物模型转换脚本,后续使用物模型转换脚本对交互消息进行转换,而不需要使用物联网平台的sdk对交互消息进行转换,也就不需要对固件进行频繁的升级。此外,这种方式能够很好地适应物模型转换脚本的增加、修改和删除,即使是增加新的物模型的情况下也不需要升级网关的固件,因而不会影响网关的正常运行。
49.步骤s206:使用所述对应的物模型转换脚本,将所述交互消息转换为符合所述接收方使用协议的通信消息,并将所述通信消息发送给所述接收方。
50.在本实施例中,网关中配置有用于指示物模型转换脚本的执行引擎,该执行引擎可以是解释型语言引擎,解释型语言引擎用于在运行时将程序翻译成机器语言。解释型语言的程序不需要在运行前编译,在运行程序的时候才翻译,专门的解释器负责在每个语句执行的时候解释程序代码。该解释型语言引擎可以是javascript的引擎,也可以是python的引擎或者其他的解释型语言的引擎,对此不作限制。
51.在一可行方式中,步骤s206中的使用所述对应的物模型转换脚本,将所述交互消息转换为符合所述接收方使用协议的通信消息实现为:以所述交互消息中的内容数据和设备标识作为参数,并将所述参数和对应的物模型转换脚本发给所述执行引擎,使执行引擎回调所述物模型转换脚本,将所述参数转换为符合接收方使用协议的通信消息。
52.内容数据可以包括如字符串、控制物联网子设备的指令等。
53.将相关参数和物模型转换脚本发送给执行引擎,由执行引擎执行物模型转换脚
本,使用其中设定的转换函数就可以将参数转化为符合接收方使用协议的通信消息,从而实现物联网平台和物联网子设备之间的通信。例如,在物联网平台下发数据时,接收方为物联网子设备,反之,物联网子设备上传数据时,接收方为物联网平台。
54.在网关中,为了屏蔽物联网子设备的底层实现,为每个物联网子设备创建了对应的虚拟设备,因此在将通信消息发送给物联网子设备时可以实现为:通过作为所述接收方的物联网子设备对应的虚拟设备使用的控制器,将所述通知消息发送至作为所述接收方的设备物联网子设备。这样增加了适应性。
55.下面结合一具体的执行引擎的示例,对转换过程进行说明如下:
56.本示例为基于javascript的执行引擎,其代码如下:
[0057][0058][0059]
通过在网关中集成执行引擎,使得可以根据设备类型等信息动态从云端下载物模型转换脚本,就可以方便地兼容不同设备类型的物联网子设备与物联网平台的通信,且因为可以动态加载云端的物模型转换脚本,网关通过执行引擎可以自动执行物模型转换脚
本,因此不需要对网关的固件进行频繁升级,在增加新的物模型时,只需要在云端配置新的物模型转换脚本即可。
[0060]
可选地,为了增加适应性,在一示例中,如图4所示,该方法还可以包括步骤s208和步骤s210。
[0061]
步骤s208:确定本地存在的物模型转换脚本是否需要更新。
[0062]
网关可以每隔一段时间向云端请求物模型转换脚本的版本信息,通过将版本信息与本地的物模型转换脚本的版本进行比对的方式确定是否需要更新。若存在新的版本,则确定需要更新,执行步骤s210;反之,则可以不动作。
[0063]
步骤s210:若需要,则从所述云端获取新的物模型转换脚本。
[0064]
通过从云端获取新的物模型转换脚本,保证了转换的可靠性,且方便对物模型进行更新,提升了适应性。
[0065]
可选地,参见图5和图6,为了使网关能够接入新的物联网子设备,所述方法还包括步骤s212到步骤s216。
[0066]
步骤s212:若探测到新物联网子设备,则为所述新物联网子设备创建对应的通信用的虚拟设备。
[0067]
以蓝牙网关为例,当蓝牙网关通过mesh控制器探测到mesh物联网子设备时,网关会创建虚拟设备与实际物联网子设备建立一一映射关系。
[0068]
步骤s214:从云端获取所述新物联网子设备的设备类型对应的物模型转换脚本。
[0069]
网关可以根据物联网子设备中提供的key等信息连接到云端进行鉴权。若鉴权通过后,网关通过网络从云端获取对应物联网子设备所属设备类型的物模型转换脚本并下载到本地。
[0070]
步骤s216:使用所述新物联网子设备对应的物模型转换脚本将所述新物联网子设备接入所述物联网平台。
[0071]
上述步骤s212到步骤s216可以通过网关中的yoc(yun on chip)单元实现。yoc以极简开发为理念,以cpu架构、芯片平台、操作系统、云服务和开发套件为基础,实现从芯片到云的全链路高效设计。
[0072]
基于物模型转换脚本通过接入的物联网平台的sdk接入指定的物联网平台。物联网平台接入后,若收到物联网平台端发来的控制指令(根据物模型定义的指令)作为交互消息,则执行步骤s202~步骤s206,以将对应的物模型转换脚本送入到执行引擎中进行解析。当解析出对应物联网子设备(按照物联网子设备的协议,如mesh、zigbee等)的具体指令(也即通信消息)后通过虚拟设备使用的实际控制器(如mesh控制器)发送给物联网子设备从而达到控制的目的。
[0073]
或者,物联网子设备上报的数据作为交互消息时,可以通过执行引擎使用物模型转换脚本将其转换为物联网平台对应的物模型指令通过集成的sdk发送到物联网平台。
[0074]
通过该方法,当网关需要接入其他设备类型的物联网子设备时,仅需要在物联网平台、云端和物联网子设备做简单修改,使得物联网子设备与网关之间解耦,达到非必要无需升级网关的效果,最终使得开发和维护工作量大大降低。
[0075]
实施例二
[0076]
如图7所示,提供一种物联网系统,包括物联网平台702、网关704和物联网子设备
706,所述物联网平台702通过所述网关704与所述物联网子设备706通信连接,所述网关704用于执行前述方法,以将所述物联网平台702和所述物联网子设备706之间的交互信息转换为符合交互信息的接收方的协议的通信消息,并将所述通信消息发送给所述交互信息的接收方。
[0077]
此种物联网系统能够适配多种不同物联网平台和物联网子设备之间的互联互通,增加适应性,很好地适应定义了不同的物模型及接入标准的情况下,降低开发成本和维护工作量。
[0078]
可选地,所述物联网系统还包括云端708,所述云端708用于编辑和存储物模型转换脚本,所述网关704与所述云端708连接,并从所述云端708动态获取所述物模型转换脚本。云端708能够为不同的物联网子设备使用的协议实现物模型转换脚本,以方便使用,通过动态加载云端的物模型转换脚本,并基于网关集成的解释型语言引擎执行物模型转换脚本完成物模型与设备协议的转换。
[0079]
本实施例的方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如手机、pad等)和pc机等。
[0080]
实施例三
[0081]
参照图8,示出了本技术实施例三的数据处理装置的结构框图。
[0082]
本实施例中,该装置可以配置于物联网系统的网关中,所述物联网系统包括网关、物联网平台和物联网子设备,所述物联网子设备通过所述网关与所述物联网平台通信,所述网关与云端通信连接,所述装置包括:
[0083]
第一获取模块802,用于获取所述物联网子设备和所述物联网平台交互的交互消息,所述交互消息中携带有设备标识,所述交互消息的接收方为所述物联网平台或所述物联网子设备;
[0084]
加载模块804,用于若确定所述网关本地未存在与所述设备标识匹配的物模型转换脚本,则从所述云端动态获取与所述设备标识对应的物模型转换脚本;
[0085]
转换模块806,用于使用所述对应的物模型转换脚本,将所述交互消息转换为符合所述接收方使用协议的通信消息,并将所述通信消息发送给所述接收方。
[0086]
可选地,加载模块804用于确定所述设备标识对应的物联网子设备所属的设备类型;确定本地是否存在与所述设备类型对应的物模型转换脚本;若未存在,则从云端获取与所述设备类型对应的物模型转换脚本。
[0087]
可选地,所述网关内配置有用于执行所述物模型转换脚本的执行引擎,转换模块806用于以所述交互消息中的内容数据和设备标识作为参数,并将所述参数和对应的物模型转换脚本发给所述执行引擎,使执行引擎回调所述物模型转换脚本,将所述参数转换为符合接收方使用协议的通信消息。
[0088]
可选地,所述网关中配置有连接的各物联网子设备对应的虚拟设备,若所述接收方为所述物联网子设备,则转换模块806用于通过作为所述接收方的物联网子设备对应的虚拟设备使用的控制器,将所述通知消息发送至作为所述接收方的设备物联网子设备。
[0089]
可选地,所述装置还包括:
[0090]
探测模块808,用于若探测到新物联网子设备,则为所述新物联网子设备创建对应的通信用的虚拟设备;
[0091]
第二获取模块810,用于从云端获取所述新物联网子设备的设备类型对应的物模型转换脚本;
[0092]
接入模块812,用于使用所述新物联网子设备对应的物模型转换脚本将所述新物联网子设备接入所述物联网平台。
[0093]
可选地,所述装置还包括:
[0094]
确定模块814,用于确定本地存在的物模型转换脚本是否需要更新;
[0095]
更新模块816,用于若需要,则从所述云端获取新的物模型转换脚本。
[0096]
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
[0097]
实施例四
[0098]
参照图9,示出了根据本技术实施例四的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。
[0099]
如图9所示,该电子设备可以包括:处理器(processor)902、通信接口(communications interface)904、存储器(memory)906、以及通信总线908。
[0100]
其中:
[0101]
处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。
[0102]
通信接口904,用于与其它电子设备或服务器进行通信。
[0103]
处理器902,用于执行程序910,具体可以执行上述方法实施例中的相关步骤。
[0104]
具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。
[0105]
处理器902可能是处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0106]
存储器906,用于存放程序910。存储器906可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0107]
程序910具体可以用于使得处理器902执行前述的方法对应的操作。
[0108]
程序910中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0109]
本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一方法对应的操作。
[0110]
本技术实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述任一项的方法。
[0111]
需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
[0112]
上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记
录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
[0113]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0114]
以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1