网关服务实现方法、装置、设备及存储介质与流程

文档序号:24033323发布日期:2021-02-23 14:00阅读:62来源:国知局
网关服务实现方法、装置、设备及存储介质与流程

[0001]
本发明涉及云技术领域,尤其涉及一种网关服务实现方法、装置、设备及存储介质。


背景技术:

[0002]
iot(internet of things,物联网)设备网关是物联网领域重要的应用场景,提供了终端子设备统一接入云端的能力,不同的子设备通过驱动接入层接入网关,可以实现子设备监控、子设备联动、边缘计算等功能。鉴于子设备的复杂多样,网关设备不仅要兼容子设备不同种类的通信类型,例如串口、can、io、aio、tcp/ip等,还要考虑不同子设备的通信协议,例如modbus、http等,还要兼容不同云端协议,例如mqtt、http、coap等。
[0003]
传统的iot设备网关挂载的子设备接收到云端控制指令进行新增、删除或者配置更新时,会影响自身或者其他子设备通信,甚至需要网关设备重启进行配置重新加载,例如更新某个子设备的通信端口号或者更新其依赖的驱动包,导致同一网关下的其他子设备与云端断开通信,导致系统的使用及运维成本加大,增加系统故障率。故现有网关服务技术无法隔离不同子设备之间的通信与管控。


技术实现要素:

[0004]
本发明的主要目的在于解决现有网关服务技术无法隔离不同子设备之间的通信与管控的问题。
[0005]
本发明第一方面提供了一种网关服务实现方法,包括:
[0006]
从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心;
[0007]
根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0008]
注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0009]
通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务。
[0010]
可选的,在本发明第一方面的第一种实现方式中,所述网关服务指令包括新增子设备的部署指令,所述通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务包括:
[0011]
通过所述网关client模块,接收云端下发的所述部署指令,并将所述部署指令通过所述网关driver模块的消息路由通道交换至所述网关driver模块;
[0012]
基于所述部署指令,通过所述目标网关driver模块,从预置存储中心中加载所述新增子设备的的配置信息和驱动库;
[0013]
基于所述新增子设备的配置信息和驱动库,将所述新增子设备划分为新增子设备dirver模块及新增子设备client模块,并注册所述新增子设备dirver模块及所述新增子设备client模块的消息路由通道。
[0014]
可选的,在本发明第一方面的第二种实现方式中,所述网关服务指令包括子设备的更新指令,所述通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务还包括:
[0015]
通过所述网关client模块,接收云端下发的更新指令,并通过所述网关driver模块的消息路由通道,将所述更新指令交换至所述网关driver模块;
[0016]
根据所述更新指令,确定待更新子设备的身份标识信息,并基于所述身份标识信息,通过所述网关driver模块从预置存储中心中重新加载待更新子设备的新的配置信息和驱动信息。
[0017]
可选的,在本发明第一方面的第三种实现方式中,所述网关服务指令包括子设备的注销指令,所述通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务还包括:
[0018]
通过所述网关client模块,接收云端下发的注销指令,并通过所述网关driver模块的消息路由通道,将所述注销指令交换至所述网关driver模块;
[0019]
基于所述注销指令,通过所述网关driver模块注销待注销子设备client模块、待注销子设备driver模块及待注销子设备对应的消息路由通道、配置信息和驱动信息。
[0020]
可选的,在本发明第一方面的第四种实现方式中,所述网关服务实现方法还包括:
[0021]
通过子设备driver模块接收子设备上传的设备管控请求,并将所述设备管控请求通过管控子设备的消息路由通道交换至管控子设备client模块;
[0022]
通过所述管控子设备client模块将所述设备管控请求上传至云端,以生成对应的网关服务指令。
[0023]
可选的,在本发明第一方面的第五种实现方式中,在所述注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信之后,还包括:
[0024]
通过所述子设备driver模块获取所述各子设备的健康监测状态,并通过所述消息路由通道,分别将所述各子设备的健康监测状态交换至对应的子设备client模块;
[0025]
通过所述各子设备client模块,分别将所述各健康监测状态上传至预置的设备管控中心;
[0026]
基于所述健康监测状态,通过所述设备管控中心筛选出健康监测状态为正常的子设备以及筛选出健康监测状态为异常的子设备。
[0027]
可选的,在本发明第一方面的第六种实现方式中,在所述从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心之前,还包括:
[0028]
获取网关设备和各子设备的初始配置信息和初始驱动库;
[0029]
将所述各初始配置信息和所述初始驱动库信息进行抽象成对应的配置物模型和驱动物模型;
[0030]
将所述各配置物模型作为配置信息存储于所述存储中心,以及将所述各驱动物模型作为驱动库存储于所述存储中心。
[0031]
本发明第二方面提供了一种网关服务实现装置,包括:
[0032]
加载模块,用于从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心;
[0033]
划分模块,用于根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0034]
注册模块,用于注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0035]
网关服务模块,用于通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务。
[0036]
可选的,在本发明第二方面的第一种实现方式中,所述网关服务模块包括部署单元,所述部署单元用于:
[0037]
通过所述网关client模块,接收云端下发的所述部署指令,并将所述部署指令通过所述网关driver模块的消息路由通道交换至所述网关driver模块;
[0038]
基于所述部署指令,通过所述目标网关driver模块,从预置存储中心中加载所述新增子设备的的配置信息和驱动库;
[0039]
基于所述新增子设备的配置信息和驱动库,将所述新增子设备划分为新增子设备dirver模块及新增子设备client模块,并注册所述新增子设备dirver模块及所述新增子设备client模块的消息路由通道。
[0040]
可选的,在本发明第二方面的第二种实现方式中,所述网关服务模块还包括更新单元,所述更新单元用于:
[0041]
通过所述网关client模块,接收云端下发的更新指令,并通过所述网关driver模块的消息路由通道,将所述更新指令交换至所述网关driver模块;
[0042]
根据所述更新指令,确定待更新子设备的身份标识信息,并基于所述身份标识信息,通过所述网关driver模块从预置存储中心中重新加载待更新子设备的新的配置信息和驱动信息。
[0043]
可选的,在本发明第二方面的第三种实现方式中,所述网关服务模块还包括注销单元,所述注销单元用于:
[0044]
通过所述网关client模块,接收云端下发的注销指令,并通过所述网关driver模块的消息路由通道,将所述注销指令交换至所述网关driver模块;
[0045]
基于所述注销指令,通过所述网关driver模块注销待注销子设备client模块、待注销子设备driver模块及待注销子设备对应的消息路由通道、配置信息和驱动信息。
[0046]
可选的,在本发明第二方面的第四种实现方式中,所述网关服务实现装置还包括指令生成模块,所述指令生成模块用于:
[0047]
通过子设备driver模块接收子设备上传的设备管控请求,并将所述设备管控请求通过管控子设备的消息路由通道交换至管控子设备client模块;
[0048]
通过所述管控子设备client模块将所述设备管控请求上传至云端,以生成对应的网关服务指令。
[0049]
可选的,在本发明第二方面的第五种实现方式中,所述网关服务实现装置还包括健康监测模块,所述健康监测模块用于:
[0050]
通过所述子设备driver模块获取所述各子设备的健康监测状态,并通过所述消息路由通道,分别将所述各子设备的健康监测状态交换至对应的子设备client模块;
[0051]
通过所述各子设备client模块,分别将所述各健康监测状态上传至预置的设备管控中心;
[0052]
基于所述健康监测状态,通过所述设备管控中心筛选出健康监测状态为正常的子设备以及筛选出健康监测状态为异常的子设备。
[0053]
可选的,在本发明第二方面的第六种实现方式中,所述网关服务实现装置还包括设备接入模块,所述设备接入模块用于:
[0054]
获取网关设备和各子设备的初始配置信息和初始驱动库;
[0055]
将所述各初始配置信息和所述初始驱动库信息进行抽象成对应的配置物模型和驱动物模型;
[0056]
将所述各配置物模型作为配置信息存储于所述存储中心,以及将所述各驱动物模型作为驱动库存储于所述存储中心。
[0057]
本发明第三方面提供了一种网关服务实现设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述网关服务实现设备执行上述的网关服务实现方法。
[0058]
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的网关服务实现方法。
[0059]
本发明提供的技术方案中,通过网关设备及各子设备的配置信息和驱动库,分别将网关设备和各子设备划分为网关client模块、子设备client模块、网关driver模块和子设备driver模块,client模块用于实现与云端的通信,driver模块用于实现与终端设备通信;然后注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;最后对于云端下发的网关服务指令,在网关设备中根据注册的消息路由通道进行交换,实现网关服务,使得不同子设备之间的通信互不干扰,保证对各子设备进行管控时不影响网关设备的正常运作。
附图说明
[0060]
图1为本发明实施例中网关服务实现方法的第一个实施例示意图;
[0061]
图2为本发明实施例中网关服务实现方法的第二个实施例示意图;
[0062]
图3为本发明实施例中网关服务实现方法的第三个实施例示意图;
[0063]
图4为本发明实施例中网关服务实现方法的第四个实施例示意图;
[0064]
图5为本发明实施例中网关服务实现装置的一个实施例示意图;
[0065]
图6为本发明实施例中网关服务实现装置的另一个实施例示意图;
[0066]
图7为本发明实施例中网关服务实现设备的一个实施例示意图。
具体实施方式
[0067]
本发明实施例提供了一种网关服务实现方法、装置、设备及存储介质,通过加载网关设备及各子设备的配置信息和驱动库后,将网关设备、各子设备划分网关client模块和子设备client模块,用于实现与云端通信,以及网关driver模块与子设备driver模块,用于实现与终端设备通信;并注册相应的消息路由通道,用于网关设备或同一子设备的client模块和driver模块之间的通信;通过client模块接收云端下发的网关服务指令,并通过消息路由通道,将网关服务指令交换至目标driver模块,并通过目标driver模块,实现网关服务。实现网关内多个子设备的独立通信,降低各子设备在配置过程中的相互影响程度。
[0068]
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0069]
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中网关服务实现方法的第一个实施例包括:
[0070]
101、从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心;
[0071]
可以理解的是,本发明的执行主体可以为网关服务实现装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。下面网关即为本服务器。需要强调的是,为进一步保证上述所述配置信息和驱动库的私密和安全性,上述所述配置信息和驱动库还可以存储于一区块链的节点中。
[0072]
本实施例中,先对网关进行系统初始化,将预置存储中心中存储的配置信息与驱动库分别加载到配置中心和驱动中心,其中,一个子设备对应一个驱动库和配置信息,且配置信息与驱动库均以物模型的形式进行存储,将网关设备和各子设备(两者共称为设备)数字化,描述两者的属性、服务、事件,具体以json(javascript object notation,js对象简谱)文件格式进行存储。
[0073]
102、根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client
模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0074]
本实施例中,通过网关设备的驱动库,将网关设备映射至消息路由中,并以网关driver模块的形式进行呈现;根据网关设备的配置信息,注册网关client模块;通过各子设备的驱动库,分别将各子设备映射为对应的子设备driver模块;根据各子设备配置信息,注册各子设备client模块。
[0075]
driver模块与网关内部的统一设备接入层相连接,网关设备和各子设备被抽象成物模型,具备服务、事件、属性三大特性,可以描述设备的所有功能,统一设备接入层规定不同设备驱动的接口实现都要符合标准物模型接口,driver模块通过统一设备接入层可以与不同的设备进行通信。需注意的是,用户在提供设备驱动时需要按照标准物模型定义的接口进行开发,网关设备也按照标准物模型接口进行解析,物模型接口就是双方的通信协议。
[0076]
client模块与网关内部的统一服务接入层相连接,不同设备对应的云端通信协议(例如http、coap、mqtt)也需要遵守物模型定义,统一服务接入层依据物模型进行解析并通过client模块接入网关中,进行信息传递。
[0077]
103、注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0078]
本实施中,对于同一设备之间的driver模块和client模块,通过消息路由进行通信,并实现数据交换,其中消息路由中的交换数据,比如指令、通信协议、功能配置,均通过路由中的统一设备接入层和统一服务接入层进行接入,数据格式一致。
[0079]
配置信息包括设备的client身份信息、设备通信地址、端口号、驱动编号等,基于网关设备的client身份信息,注册网关client模块的消息路由通道;基于各子设备的client身份信息,分别注册各子设备client模块的消息路由通道;基于网关设备的驱动编号,注册网关driver模块的消息路由通道;基于各子设备的驱动编号,分别注册各子设备driver模块的消息路由通道;其中,各子设备的消息路由通道独立存在。
[0080]
具体的,比如在云端下发指令时,指令通过统一服务接入层,映射到网关client模块的消息路由通道中,然后消息路由通道再根据指令指向设备目标,将指令进一步通过消息路由中的其他消息路由通道交换至其他driver模块中。
[0081]
104、通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务。
[0082]
本实施例中,当云端下发网关服务指令时,通过统一服务接入模块映射到网关client模块的消息路由通道中,网关服务指令描述网关服务的类型、网关服务的目标子设备,其中,网关服务的类型包括子设备的新增、子设备的配置或驱动更新、子设备的注销等;通过消息路由通道,将网关服务指令从网关client模块交换至网关driver模块,通过网关设备对对应的子设备进行新增、更新或注销。
[0083]
本发明实施例中,通过加载网关设备及各子设备的配置信息和驱动库后,将网关设备、各子设备划分网关client模块和子设备client模块,用于实现与云端通信,以及网关driver模块与子设备driver模块,用于实现与终端设备通信;并注册相应的消息路由通道,
用于网关设备或同一子设备的client模块和driver模块之间的通信;通过client模块接收云端下发的网关服务指令,并通过消息路由通道,将网关服务指令交换至目标driver模块,并通过目标driver模块,实现网关服务。实现网关内多个子设备的独立通信,降低各子设备在配置过程中的相互影响程度。
[0084]
请参阅图2,本发明实施例中网关服务实现方法的第二个实施例包括:
[0085]
201、从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心;
[0086]
202、根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0087]
203、注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0088]
204、通过所述网关client模块,接收云端下发的所述部署指令,并将所述部署指令通过所述网关driver模块的消息路由通道交换至所述网关driver模块;
[0089]
本实施例中,当云端下发部署指令时,通过统一服务接入层映射至网关client模块中,通过消息路由通道将部署指令下发至网关driver模块,在此之前,已经通过网关client模块从云端下载新增子设备的配置信息并保存至预置存储中心中,包括子设备client身份信息用于云端接入、设备通信地址及端口号、驱动编号等;以及通过网关client模块从云端下载新增子设备的驱动库并保存至预置存储中心中,其中,新增子设备的配置信息和驱动信息已实现物模型相关接口。
[0090]
205、基于所述部署指令,通过所述目标网关driver模块,从预置存储中心中加载所述新增子设备的的配置信息和驱动库;
[0091]
206、基于所述新增子设备的配置信息和驱动库,将所述新增子设备划分为新增子设备dirver模块及新增子设备client模块,并注册所述新增子设备dirver模块及所述新增子设备client模块的消息路由通道;
[0092]
本实施例中,根据预先下载到预置存储中心的新增自设别的配置信息和驱动库,按照网关系统初始化时的规则,将新增子设备划分为新增设备driver模块和新增子设备client模块,并注册对应的消息路由通道。
[0093]
207、通过所述网关client模块,接收云端下发的更新指令,并通过所述网关driver模块的消息路由通道,将所述更新指令交换至所述网关driver模块;
[0094]
208、根据所述更新指令,确定待更新子设备的身份标识信息,并基于所述身份标识信息,通过所述网关driver模块从预置存储中心中重新加载待更新子设备的新的配置信息和驱动信息;
[0095]
本实施例中,当云端下发更新指令时,仍通过统一服务接入层,将更新指令映射至网关client模块对应的消息路由通道中,然后通过网关driver模块的消息路由通道交换至网关driver模块中;其中,更新指令中带有待更新子设备的身份标识信息如驱动编号、通信端口号等,在网关driver模块中,控制网关设备对对应的子设备进行更新。
[0096]
209、通过所述网关client模块,接收云端下发的注销指令,并通过所述网关driver模块的消息路由通道,将所述注销指令交换至所述网关driver模块;
[0097]
210、基于所述注销指令,通过所述网关driver模块注销待注销子设备client模块、待注销子设备driver模块及待注销子设备对应的消息路由通道、配置信息和驱动信息。
[0098]
本实施例中,当云端下发子设备的注销指令时,通过统一服务接入层,将注销指令映射至网关client模块对应短消息路由通道中,再交换至网关driver模块中,根据注销指令中记录的待注销子设备的身份标识信息,采用driver模块注销网关设备中,待注销子设备的client模块、driver模块、消息路由通道、配置信息和驱动信息。
[0099]
本发明实施例中,详细介绍了在接收到云端的部署指令、更新指令时或注销指令时,通过网关client模块进行接收,并通过消息路由通道在网关中进行指令交换,由于各设备之间的消息路由通道独立存在,只对目标子设备进行配置而不影响路由设备与其他子设备的通信。
[0100]
请参阅图3,本发明实施例中网关服务实现方法的第三个实施例包括:
[0101]
301、通过子设备driver模块接收子设备上传的设备管控请求,并将所述设备管控请求通过管控子设备的消息路由通道交换至管控子设备client模块;
[0102]
本实施例中,当用户对子设备进行管控时,以设备管控请求的形式进行上传,并通过统一设备接入层,将设备管控请求映射到子设备driver模块的消息路由通道中,并交换至该子设备的client模块中(管控子设备client模块)。其中,设备管控请求中带有子设备本身的身份标识信息,可用于确定对应的管控子设备driver模块和管控子设备client模块。
[0103]
302、通过所述管控子设备client模块将所述设备管控请求上传至云端,以生成对应的网关服务指令;
[0104]
本实施例中,管控子设备client模块通过统一服务接入层,将设备管控请求上传至云端,通过云端验证,以生成对应的网关服务指令,再下发至网关,控制网关设备对管控子设备进行相应的配置。
[0105]
303、从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心;
[0106]
304、根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0107]
305、注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0108]
306、通过所述子设备driver模块获取所述各子设备的健康监测状态,并通过所述消息路由通道,分别将所述各子设备的健康监测状态交换至对应的子设备client模块;
[0109]
本实施例中,为了保证路由设备与其他子设备搭建的整个路由系统的网络安全,在各子设备接入路由设备后,通过子设备driver模块,与子设备进行通信,触发子设备自行进行健康检查,并在子设备健康检查完成后,通过统一设备接入层获取其健康监测状态,再
通过子设备的身份标识信息,将健康监测状态交换至该子设备的client模块中。
[0110]
307、通过所述各子设备client模块,分别将所述各健康监测状态上传至预置的设备管控中心;
[0111]
本实施例中,设备管控中心统一管控网关设备和各个子设备的运行状态,包括各子设备的健康监测状态,当子设备接入云端后,包括系统初始化阶段和新增子设备后、更新子设备后,均需进行子设备的健康检查,并上传至设备管控中心中进行备份。
[0112]
308、基于所述健康监测状态,通过所述设备管控中心筛选出健康监测状态为正常的子设备以及筛选出健康监测状态为异常的子设备;
[0113]
本实施例中,设备管控中心对于健康状态为异常的子设备,可以下发重新健康检查指令至子设备,或者直接下发该子设备的注销指令,保证整个网关系统的通信安全。而对于健康监测状态为正常的子设备,则无需执行后续操作,系统初始化后、新增子设备后或更新子设备后,若网关设备未接收到设备管控中心下发的任何指令,则不对对应子设备作任何操作。
[0114]
309、通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务。
[0115]
本发明实施例中,详细介绍了对子设备的管控,一方面在用户对子设备进行管控时,通过独立的消息路由通道,对管控子设备进行相关的配置,保证不对其他子设备产生影响;另一方面新接入的子设备需进行安全检查,并上传安全监测状态至设备管控中心,以筛除安全隐患较高的子设备,保证整个网关系统的安全。
[0116]
请参阅图4,本发明实施例中网关服务实现方法的第四个实施例包括:
[0117]
401、获取网关设备和各子设备的初始配置信息和初始驱动库;
[0118]
402、将所述各初始配置信息和所述初始驱动库信息进行抽象成对应的配置物模型和驱动物模型;
[0119]
本实施例中,初始配置信息的文件格式为常见的配置文件格式,如properties、json、yaml、hocon9等;初始驱动库的文件格式亦为常见的配置文件格式,如drv、inf、enu、acm、sys、ime等;
[0120]
对于不同类型的初始配置信息及初始驱动库,都可通过物模型的形式进行描述,从属性、服务、事件三个维度进行表述,其中,属性用于描述设备运行时的状态,如子设备所读取的当前环境温度等,可发起对属性的读取和设置请求;服务指设备可被外部调用的能力或方法,可设置输入参数和输出参数,可通过指令实现更复杂的业务逻辑,如执行某项特定的任务;事件一般包含需要被外部感知和处理的通知信息,可包含多个输出参数。如,某项任务完成的信息,或者设备发生故障或告警时的温度等,事件可以被订阅和推送。
[0121]
403、将所述各配置物模型作为配置信息存储于预置存储中心,以及将所述各驱动物模型作为驱动库存储于所述存储中心;
[0122]
本实施例中,配置信息以配置物模型的形式存储于预置存储中心,驱动库以驱动物模型的形式存储于驱动中心,以供后续系统初始化和设备更新、新增设备时,网关可直接从预置存储中心中直接加载即可,增加网关服务效率。
[0123]
404、从所述存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加
载网关设备及各子设备的驱动库到驱动中心;
[0124]
405、根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0125]
406、注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0126]
407、通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务。
[0127]
本发明实施例中,介绍了预先对设备的初始配置信息及初始驱动库进行抽象处理,得到统一物模型格式的配置物模型和驱动物模型,并将配置物模型和驱动物模型存储与预置存储中心中,以供后续加载,增加网关服务效率。
[0128]
上面对本发明实施例中网关服务实现方法进行了描述,下面对本发明实施例中网关服务实现装置进行描述,请参阅图5,本发明实施例中网关服务实现装置一个实施例包括:
[0129]
加载模块501,用于从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心;
[0130]
划分模块502,用于根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0131]
注册模块503,用于注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0132]
网关服务模块504,用于通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务。
[0133]
本发明实施例中,通过加载网关设备及各子设备的配置信息和驱动库后,将网关设备、各子设备划分网关client模块和子设备client模块,用于实现与云端通信,以及网关driver模块与子设备driver模块,用于实现与终端设备通信;并注册相应的消息路由通道,用于网关设备或同一子设备的client模块和driver模块之间的通信;通过client模块接收云端下发的网关服务指令,并通过消息路由通道,将网关服务指令交换至目标driver模块,并通过目标driver模块,实现网关服务。实现网关内多个子设备的独立通信,降低各子设备在配置过程中的相互影响程度。
[0134]
请参阅图6,本发明实施例中网关服务实现装置的另一个实施例包括:
[0135]
加载模块501,用于从预置存储中心,加载网关设备及各子设备的配置信息到配置中心,以及加载网关设备及各子设备的驱动库到驱动中心;
[0136]
划分模块502,用于根据所述配置信息与所述驱动库,分别将所述网关设备、所述各子设备划分为client模块和driver模块,其中,所述client模块包括网关client模块和子设备client模块,用于实现与云端通信,所述driver模块包括网关driver模块与子设备driver模块,用于实现与终端设备通信;
[0137]
注册模块503,用于注册所述网关client模块、所述网关driver模块、所述各子设备client模块、所述各子设备driver模块的消息路由通道,其中,所述消息路由通道用于网关设备或同一子设备的client模块和driver模块之间的通信;
[0138]
网关服务模块504,用于通过所述client模块接收云端下发的网关服务指令,通过所述消息路由通道将所述网关服务指令交换至目标driver模块,以及通过所述目标driver模块执行所述网关服务指令以实现网关服务。
[0139]
具体的,所述网关服务模块包括部署单元5041,所述部署单元5041用于:
[0140]
通过所述网关client模块,接收云端下发的所述部署指令,并将所述部署指令通过所述网关driver模块的消息路由通道交换至所述网关driver模块;
[0141]
基于所述部署指令,通过所述目标网关driver模块,从预置存储中心中加载所述新增子设备的的配置信息和驱动库;
[0142]
基于所述新增子设备的配置信息和驱动库,将所述新增子设备划分为新增子设备dirver模块及新增子设备client模块,并注册所述新增子设备dirver模块及所述新增子设备client模块的消息路由通道。
[0143]
具体的,所述网关服务模块还包括更新单元5042,所述更新单元5042用于:
[0144]
通过所述网关client模块,接收云端下发的更新指令,并通过所述网关driver模块的消息路由通道,将所述更新指令交换至所述网关driver模块;
[0145]
根据所述更新指令,确定待更新子设备的身份标识信息,并基于所述身份标识信息,通过所述网关driver模块从预置存储中心中重新加载待更新子设备的新的配置信息和驱动信息。
[0146]
具体的,所述网关服务模块还包括注销单元5043,所述注销单元5043用于:
[0147]
通过所述网关client模块,接收云端下发的注销指令,并通过所述网关driver模块的消息路由通道,将所述注销指令交换至所述网关driver模块;
[0148]
基于所述注销指令,通过所述网关driver模块注销待注销子设备client模块、待注销子设备driver模块及待注销子设备对应的消息路由通道、配置信息和驱动信息。
[0149]
具体的,所述网关服务实现装置还包括指令生成模块505,所述指令生成模块505用于:
[0150]
通过子设备driver模块接收子设备上传的设备管控请求,并将所述设备管控请求通过管控子设备的消息路由通道交换至管控子设备client模块;
[0151]
通过所述管控子设备client模块将所述设备管控请求上传至云端,以生成对应的网关服务指令。
[0152]
具体的,所述网关服务实现装置还包括健康监测模块506,所述健康监测模块506用于:
[0153]
通过所述子设备driver模块获取所述各子设备的健康监测状态,并通过所述消息路由通道,分别将所述各子设备的健康监测状态交换至对应的子设备client模块;
[0154]
通过所述各子设备client模块,分别将所述各健康监测状态上传至预置的设备管控中心;
[0155]
基于所述健康监测状态,通过所述设备管控中心筛选出健康监测状态为正常的子设备以及筛选出健康监测状态为异常的子设备。
[0156]
具体的,所述网关服务实现装置还包括设备接入模块507,所述设备接入模块507用于:
[0157]
获取网关设备和各子设备的初始配置信息和初始驱动库;
[0158]
将所述各初始配置信息和所述初始驱动库信息进行抽象成对应的配置物模型和驱动物模型;
[0159]
将所述各配置物模型作为配置信息存储于所述存储中心,以及将所述各驱动物模型作为驱动库存储于所述存储中心。
[0160]
本发明实施例中,详细介绍了在接收到云端的部署指令、更新指令时或注销指令时,通过各设备之间独立存在的消息路由通道,只对目标子设备进行配置而不影响路由设备与其他子设备的通信;然后一方面介绍了在用户对子设备进行管控时,通过独立的消息路由通道,对管控子设备进行相关的配置,保证不对其他子设备产生影响;另一方面介绍了新接入的子设备需进行安全检查,并上传安全监测状态至设备管控中心,以筛除安全隐患较高的子设备,保证整个网关系统的安全;接着介绍了预先对设备的初始配置信息及初始驱动库进行抽象处理,得到统一物模型格式的配置物模型和驱动物模型,并将配置物模型和驱动物模型存储与预置存储中心中,以供后续加载,增加网关服务效率。
[0161]
上面图5和图6从模块化功能实体的角度对本发明实施例中的网关服务实现装置进行详细描述,下面从硬件处理的角度对本发明实施例中网关服务实现设备进行详细描述。
[0162]
图7是本发明实施例提供的一种网关服务实现设备的结构示意图,该网关服务实现设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对网关服务实现设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在网关服务实现设备700上执行存储介质730中的一系列指令操作。
[0163]
网关服务实现设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和/或,一个或一个以上操作系统731,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图7示出的网关服务实现设备结构并不构成对网关服务实现设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0164]
本发明还提供一种网关服务实现设备,所述网关服务实现设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述网关服务实现方法的步骤。
[0165]
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性
计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述网关服务实现方法的步骤。
[0166]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0167]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0168]
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0169]
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1