一种物联网网关系统及其实现方法与流程

文档序号:12494740阅读:489来源:国知局
一种物联网网关系统及其实现方法与流程

本发明涉及物联网技术领域,尤其涉及一种物联网网关系统及其实现方法。



背景技术:

物联网网关主要作用是解决感知层与网络层的通信问题。首先整合多种接入方式,统一接入目标网络的关键设备,实现局域及广域互联。其次起到感知网络与通信网络之间数据传输的枢纽作用,实现感知网络与通信网络之间以及不同类型感知网络之间的协议转换。再次具备设备管理功能,用户通过网络平台对网关设备进行配置与管理。最后用户可以获取感知层各节点的实时状态信息,并实现远程控制。

随着传感器技术、网络技术、移动互联技术以及云计算技术的发展,物联网在智能建筑、智慧小区、建筑节能、公共安全、智慧城市等各领域都得到了广泛的应用。目前市场上的物联网网关设备存在如下缺点:(1)协议扩展性差:主要表现在设备与应用领域相关性、专用性太强,对行业主流通讯协议和新协议快速接入支持不足;(2)数据可用性差:对接入物联网设备或子系统的原始数据缺少进一步的计算分析和存储处理,不能获取实际需要的整理后数据。(3)适用性差:设备大多仅作为上位机的数据采集单一目的使用,不能适应于小型内网应用、大型分布式应用的多用途组合目的使用;(4)系统安全性差:普遍对数据通讯缺少加密处理和远程控制的授权管理,存在数据泄露和非法控制隐患,降低了整个系统的安全性。



技术实现要素:

本发明的目的是提供一种物联网网关系统及其实现方法,以解决设备接入快速、支持多客户端使用以及提高系统安全性的技术问题。

为了解决上述技术问题,本发明提供了一种物联网网关系统,包括网关设备,该网关设备包括通信协议插件单元、主控单元,以及与主控单元相连的网关服务器;其中所述通信协议插件单元与物联网设备物理连接,用于对外提供各种物联网设备、第三方系统通讯接口的协议处理插件;所述网关服务器包括数据采集服务模块、数据计算服务模块、数据存储服务模块、数据加密服务模块和数据上传服务模块;所述主控单元控制数据采集服务模块根据连接的物联网设备的配置文件,按通信协议进行通信交互和数据解析采集;所述主控单元控制数据计算服务模块、数据存储服务模块对数据采集服务模块获取的数据进行计算和存储处理;所述控制单元控制数据加密服务模块和数据上传服务模块对经计算和存储后的数据进行加密处理后对外进行传输。

进一步,所述的物联网网关系统还包括一服务总线,以及通过所述的服务总线与所述网关服务器相连的管理工具单元;所述服务总线采用多种跨平台的服务接口,用于对外提供物联网网关系统的功能服务;所述的管理工工具单元包括配置管理工具模块、Web管理工具模块和开发管理工具模块;其中所述配置管理工具模块,用于用户通过本地或远程方式对物联网网关系统进行参数配置、项目下载的管理;所述Web管理工具模块,用于用户通过HTTPS协议对物联网网关系统进行整体的运行监控;所述开发管理工具模块,用于用户对物联网网关系统进行通信协议插件的模板式开发、组装管理和协议库管理。

进一步,所述通信协议插件单元与物联网设备物理连接包括提供RS232/RS485串行接口的各类物联网设备进行连接,以及与提供RJ45以太网接口的各类物联网设备进行连接。

进一步,所述的网关服务器还包括一项目配置服务模块,用于提供物联网网关系统的各项参数配置;包括:协议库配置、数据采集配置、数据计算配置、数据存储配置、数据加密配置、数据上传配置和数据库配置。

进一步,所述的网关服务器还包括一设备监控模块,用于提供物联网网关系统设备的运行数据参数监视和控制,包括CPU、内存、网络和硬盘使用参数。

进一步,所述主控单元包括主控制芯片、嵌入在主控制芯片中的嵌入式系统,以及运行于嵌入式系统的安全无线短程通信模块、应用通信模块以及安全接入客户端模块;其中主控制芯片,用于数据安全处理和存储;嵌入式系统,用于对物联网网关实现系统管理;安全无线短程通信模块,用于实现网关与无线短程通信终端的信息交互;以及应用通信模块,用于实现物联网网关与总线式终端的信息交互;安全接入客户端模块,用于实现物联网网关与接入应用网络的以太网络可信通信功能。应用网络连接部分包括以太网模块、WiFi模块以及移动互联网通信模块。

进一步,所述数据加密服务模块采用的加密方法为将KLEIN算法中的移位操作设计为移动随机位r,16≤r≤63。

进一步,所述加密方法中,第一个加解密随机数在密钥协商阶段产生,以后加解密的随机数是上次加密产生的密文的第8个字节映射为一个16至63之间的数。

又一方面,本发明还提供了一种物联网网关系统的实现方法,采用所述的物联网网关系统,包括如下步骤:步骤S1,物联网网关设备通过以太网接口连接到网络交换机;步骤S2,通信协议插件单元与物联网设备物理连接;步骤S3,采集服务模块根据连接的物联网设备的配置文件,按通信协议进行通信交互和数据解析采集;步骤S4,数据计算服务模块、数据存储服务模块对数据采集服务模块获取的数据进行计算和存储处理;步骤S5,数据加密服务模块和数据上传服务模块对经计算和存储后的数据进行加密处理后对外进行传输。

本发明的一种物联网网关及其实现方法的有益效果是,通过设置的通信协议插件单元,实现内置行业主流通讯协议插件,提供开发管理工具和插件模块化开发包,实现以支持新设备的快速接入。又通过设置的开放的服务总线,服务总线采用多种跨平台的服务接口,支持多客户端使用。再通过设置的数据加密模块,对数据信息进行加密处理,提高了网关系统在局域及广域互联环境的安全性和可靠性。

附图说明

下面结合附图和实施例对本发明进一步说明。

图1是本发明的物联网网关系统的结构示意图;

图2是本发明的数据加密服务模块的加密算法中的轮加密改进示意图;

图3是本发明的数据加密服务模块的加密算法中的轮密钥扩展改进示意图。

具体实施方式

现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。

实施例1

如图1所示,本发明提供了一种物联网网关系统,包括网关设备,该网关设备包括通信协议插件单元、主控单元,以及与主控单元相连的网关服务器;其中所述通信协议插件单元与物联网设备物理连接,用于对外提供各种物联网设备、第三方系统通讯接口的协议处理插件;所述网关服务器包括数据采集服务模块、数据计算服务模块、数据存储服务模块、数据加密服务模块和数据上传服务模块;所述主控单元控制数据采集服务模块根据连接的物联网设备的配置文件,按通信协议进行通信交互和数据解析采集;所述主控单元控制数据计算服务模块、数据存储服务模块对数据采集服务模块获取的数据进行计算和存储处理;所述控制单元控制数据加密服务模块和数据上传服务模块对经计算和存储后的数据进行加密处理后对外进行传输。

所述的网关服务器选择C++方式设计一种C/C++跨平台的插件架构,以动态库(例如win32DLL)的形式部署。新的通信协议插件,需要按照网关通信插件标准接口定义的方式,完成功能性API的定制开发,包括初始化(Init)、打开(Open)、关闭(Close)、设置活动状态(SetActive)、检测活动状态(IsAlive)、读取数据(Read)、接收下发数据(Write)、接收主动上报数据(OnReceive)等。其中在插件初始化(Init)方法中,需要加载相应的“通道-设备-点”采集参数配置。一条通道代表一条通信链路,对于串口,一个串口就是一条通道,对于TCP/UDP,一个端口就是一条通道。网关服务器可以同时有多条通道。通道设置如下表所示:

一条通道下连接的一个数据体集合即为一个设备。一条通道下可以有多个设备,每个设备都有自己独立的数据体集合。设备配置下表所示:

设备是数据体集合,集合中的每一个数据项就是一个点。点是最终需要的数据。点配置下表所示:

配置完成后,先下载配置到网关数据库中,再重新启动网关系统的网关服务器程序,首先进行配置的加载,加载完成后,网关进入正常的运行状态。

所述数据采集服务模块利用配置数据对接入的各个物联网设备按通讯协议进行插件接口调用、插件调度处理。数据采集配置的基本步骤就是:新建通道->新建设备->新建点,并根据通道、设备、点的数量重复上述过程。数据采集配置与实施项目是否支持当前接入的物联网设备的通讯协议有关。如物联网设备的通讯协议不支持,则需要开发新的插件协议。

所述物联网网关设备设有VGA接口、USB接口、RJ45以太网接口和RS232/RS485串行接口。其中VGA接口和USB接口用于用户通过本地对物联网网关系统进行参数配置、项目下载的管理;RJ45以太网接口用于通信协议插件单元与提供RJ45以太网接口的各类物联网设备进行连接;所述RS485串行接口用于通信协议插件单元与提供RS485串行接口的各类物联网设备进行连接,以及RS485串行接口还用于与外部测试装置相连,以定期对物联网网关系统进行测试。例如,当物联网网关系统需要进行测试的时候,将网关系统通过RS485串口与工程师站相连接,工程师站上运行专用软件与网关进行通讯。测试人员可以通过软件选择监视网关系统正常运行过程中的指定信号数据,还可以向网关系统发送强制修改信号指令来改变指定的信号数据,借此查看运行结果是否符合,从而实现测试的功能。

具体的,所述的通信协议插件单元采用插件模块化开发包,包括包括OPC、BACNet、Modbus、SNMP、ODBC等通讯协议。插件模块化开发包实现内置行业主流通讯协议插件的模块化开发,便于支持新设备的快速接入,支持串口、TCP/IP、WebAPI、ODBC等接口形式快速开发,提高了网关系统的协议扩展性,丰富了设备的选择范围,解决了传统的互联网网关的协议扩展性差,设备与应用领域相关性、专用性太强,对行业主流通讯协议和新协议快速接入支持不足的问题。OPC:是开放组织OPC基金会发布的自动化领域软件接口标准。OPC技术提供了多种系统间通信的标准接口,实现了异构环境中控制网络数据的统一集成。OPC访问方式有三种:同步访问、异步访问和订阅访问。BACnet:是用于智能建筑的通信协议,是国际标准化组织(ISO)、美国国家标准协会(ANSI)及美国采暖、制冷与空调工程师学会(ASHRAE)定义的通信协议。BACnet针对智能建筑及控制系统的应用所设计的通信,可用在暖通空调系统(HVAC,包括暖气、通风、空气调节)也可以用在照明控制、门禁系统、火警侦测系统及其相关的设备。优点在于降低维护系统所需成本,提供有五种业界常用的标准协议,增加系统扩充性与兼容性。Modbus:是开放组织分布式自动化接口组织的开放接口,是全球第一个真正用于工业现场的总线协议。标准Modbus是使用RS232/RS485串行接口进行传输,也可以使用TCP/UDP传输。ODBC:是数据库访问接口的统称,目前市场上有多种数据库提供访问接口存在差异,ODBC标准约定以通用接口访问各种数据库获得数据。

具体的,所述的数据计算服务模块对数据采集服务模块获取的数据进行二次计算,包括常规、累加、时间类型。数据存储服务模块,包括对系统数据进行实时和数据存储,系统数据包括配置数据、实时数据、历史数据、统计分析数据、日志数据,存储方式包括内存实时存储和介质永久存储两类。通过数据计算服务模块,对接入物联网设备的原始数据按需进行整理加工和存储访问,提高数据整体的可用性,减少用户的使用成本。

所述的物联网网关系统还包括一服务总线,以及通过所述的服务总线与所述网关服务器相连的管理工具单元;所述服务总线采用多种跨平台的服务接口,用于对外提供物联网网关系统的功能服务,包括:REST、WebSocket、XMPP和数据库服务,支持桌面端、Web端和移动端的使用,可灵活运用于小型内网应用、大型分布式应用的多用途组合场景,提高网关系统的适应范围,减少用户的使用成本。所述的管理工工具单元包括配置管理工具模块、Web管理工具模块和开发管理工具模块;其中所述配置管理工具模块,用于用户通过本地或远程方式对物联网网关系统进行参数配置、项目下载的管理,其中参数配置包括:(1)项目名称和数据库连接串;(2)协议库配置:协议插件的配置项:ID、协议名称、插件名称、插件描述、版本号、引擎版本号;(3)数据采集配置:用于配置获得项目的原始数据,外部与数据收集有关的“通道-设备-点”配置信息;(4)数据计算配置:标准的采集数据项很有可能在项目中是无法直接采集到的,需要通过多个数据项计算得到。内部与数据计算有关的“通道-设备-点”配置信息;(5)数据存储配置:数据存储的配置策略以“任务--点”方式组织,存储记录方式和时间间隔或变化灵敏度;(6)数据加密配置:包括是否加密和加密方法选择;(7)数据上传配置:包括上传方式、数据更新时间、是否启用下发控制。所述Web管理工具模块,用于用户通过HTTPS协议对物联网网关系统进行整体的运行监控;所述开发管理工具模块,用于用户对物联网网关系统进行通信协议插件的模板式开发、组装管理和协议库管理。

所述通信协议插件单元与物联网设备物理连接包括提供RS232/RS485串行接口的各类物联网设备(例如实际应用中的能耗采集仪表、变配电监控系统等)进行连接,以及与提供RJ45以太网接口的各类物联网(例如实际应用中的暖通空调控制系统、给排水控制系统、照明控制系统等)设备进行连接。

所述的网关服务器还包括一项目配置服务模块,用于提供物联网网关系统的各项参数配置;包括:协议库配置、数据采集配置、数据计算配置、数据存储配置、数据加密配置、数据上传配置和数据库配置。

所述的网关服务器还包括一设备监控模块,用于提供物联网网关系统设备的运行数据参数监视和控制,包括CPU、内存、网络和硬盘使用参数。

所述主控单元包括主控制芯片、嵌入在主控制芯片中的嵌入式系统,以及运行于嵌入式系统的安全无线短程通信模块、应用通信模块以及安全接入客户端模块;其中主控制芯片,用于数据安全处理和存储;嵌入式系统,用于对物联网网关实现系统管理;安全无线短程通信模块,用于实现网关与无线短程通信终端的信息交互;以及应用通信模块,用于实现物联网网关与总线式终端的信息交互;安全接入客户端模块,用于实现物联网网关与接入应用网络的以太网络可信通信功能。应用网络连接部分包括以太网模块、WiFi模块以及移动互联网通信模块。具体的,所述的主控制芯片可采用X86或ARM主控制芯片。可选的,所述应用通信模块采用例如但不限于RS-485/RS-232应用通信模块。

可选的,所述数据加密服务模块采用的加密方法例如但不限于为将KLEIN算法中的移位操作设计为移动随机位r,16≤r≤63。所述加密方法中,第一个加解密随机数在密钥协商阶段产生,以后加解密的随机数是上次加密产生的密文的第8个字节映射为一个16至63之间的数。

具体的,KLEIN算法的结构是典型的替代置换网络,分组长度为64位,支持64/80/90位3种密钥长度,分别对应12/16/20轮加密,每轮由轮密钥加、Nibble代换、Nibble移位、Nibble混淆顺序组成,末轮进行白化操作。以分组长度为64位,迭代轮数为12的KLEIN-64为例,说明KLEIN轮函数设计细节:(1)轮密钥加(AddRoundKey):将64位输入状态同扩展密钥进行逐位异或;(2)Nibble代换(SubNibbles):将AK输出执行16次查找4*4的S盒操作,S盒具有可逆特性;(3)Nibble移位(RotateNibbles):将SN的64位输出左移2个字节;(4)Nibble混淆(MixNibbles):将8个字节输入组成的4*2矩阵乘以AES的列混淆矩阵M[45],得到64位输出。同AES不同,KLEIN的最后一轮没有删除列混淆操作。

KLEIN密钥扩展由移位、异或、查找S盒部件组成。64位初始密钥按左右分为32比特两部分,分别执行左移1个字节操作;左移操作右半部分输出第3个字节异或密钥扩展轮常量,得到轮密钥输出左32位;左移操作左右两部分输出相异或的结果第2、3字节查找4次4*4的S盒,得到轮密钥输出右32位。

在KLEIN算法的轮加密和密钥扩展中,都涉及到移位操作,其中轮加密循环左移2字节,轮密钥扩展循环左移1字节,是一种面向字节型的移位操作。这样的移位操作,软件实现是非常高效的。针对现有的代数旁路攻击和选择明文差分攻击,本发明提出一种对KLEIN算法的保护措施,称作R-KLEIN算法,加强KLEIN算法的安全性,如图2和图3所示。

对原始KLEIN算法中的移位操作,不再是固定的2字节,而是移动随机位r(16≤r≤63)。但这样的操作带来一个通信双方随机数同步的问题,有以下3种解决方案:(a)通信一方预先产生随机数序列,通过安全信道发送给通信另一方,每加解密一次就删去一个随机数,但这个方案在实际应用中不够现实;(b)第一个加解密随机数在密钥协商阶段产生,每次加解密实际上只有7个字节是有效数据,第8个字节是插入的加密方预先生成一个的随机数,用于下一次加解密,但这样导致有效数据传输率只有87.5%;(c)第一个加解密随机数在密钥协商阶段产生,以后加解密的随机数就是上次加密产生的密文的第8个字节映射为一个16——63的数,其映射方法可以由用户自己定义。

上述方案中第三个方案是最好的,移位操作就位而言,仍然是置换操作;但就字节而言,当移位操作是整数字节时,相当于是置换操作;当移位操作不是整数字节时,相当于替换操作。在这个操作过程中,既有可能存在置换操作,也有可能存在替换操作,是一种不确定的状态。同理,在密钥扩展操作中,密钥移位操作不是一个字节而是加密移位操作位数r的一半,即r/2。

移位操作用软件实现,是比较耗时的。原始的KLEIN算法,移位操作是整数字节的原因,就是为了保障软件运行的效率。目前针对KLEIN-64算法的攻击,最多出现对8轮加密有效,因此,在安全性要求较低,实时性要求较高的场合,可以减少加密迭代次数来达到实时性的要求。

对分组密码的分析,主要是分析非线性操作S盒变换,要求线性操作部分的是明确具体的,对KLEIN算法的改进,在线性操作的移位操作中使用了随机数的方法,使得目前对分组密码进行分析的方法失去了效力。该方法不但是对KLEIN算法可以使用,对于一般的分组密码同样有效。

实施例2

在实施例1的基础上,本发明还提供了一种物联网网关系统的实现方法,采用所述的物联网网关系统,包括如下步骤:步骤S1,物联网网关设备通过以太网接口连接到网络交换机;步骤S2,通信协议插件单元与物联网设备物理连接;步骤S3,采集服务模块根据连接的物联网设备的配置文件,按通信协议进行通信交互和数据解析采集;步骤S4,数据计算服务模块、数据存储服务模块对数据采集服务模块获取的数据进行计算和存储处理;步骤S5,数据加密服务模块和数据上传服务模块对经计算和存储后的数据进行加密处理后对外进行传输。

本发明的物联网网关及其实现方法,在具体的内网应用中,本发明可作为本地监控管理上位机的通信服务器使用,将系统内各类物联网设备的数据自动采集到网关,提供到监控管理上位机使用。当网络异常时,可按上位机的要求重新上传系统数据,提高系统数据传输的安全性和稳定性。

在具体的小型内网应用中,本发明可作为本地的监控管理主机使用,将系统内各类物联网设备的数据自动采集到网关内部进行计算和存储,接受监控系统的控制指令发送到物联网设备上来实际执行。

在具体的大型分布式应用中,本发明可作为多网段网关路由器使用,即作为本地网关、上传网关使用,对网关的网络地址进行不同设置,对网关的采集数据可以做不同筛选、加密和上传。

以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1