CN111163181B - 一种轻量级智慧农业异构物联网管理系统 - Google Patents

一种轻量级智慧农业异构物联网管理系统 Download PDF

Info

Publication number
CN111163181B
CN111163181B CN202010249853.4A CN202010249853A CN111163181B CN 111163181 B CN111163181 B CN 111163181B CN 202010249853 A CN202010249853 A CN 202010249853A CN 111163181 B CN111163181 B CN 111163181B
Authority
CN
China
Prior art keywords
sensor
terminal
user
control
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010249853.4A
Other languages
English (en)
Other versions
CN111163181A (zh
Inventor
徐尚瑜
张燕
陈文君
严冬
苗丽娟
王洪欣
胡国兵
闵建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinling Institute of Technology
Original Assignee
Jinling Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinling Institute of Technology filed Critical Jinling Institute of Technology
Priority to CN202010249853.4A priority Critical patent/CN111163181B/zh
Publication of CN111163181A publication Critical patent/CN111163181A/zh
Application granted granted Critical
Publication of CN111163181B publication Critical patent/CN111163181B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本发明提供了一种轻量级智慧农业异构物联网管理系统,包括访问控制层、业务处理层、消息解析层和通信传输层;访问控制层用于实现配置管理、应用访问控制,提供访问安全控制策略;业务处理层完成终端接入管理、动态配置管理、环境数据存储与获取,以及设备远程控制;消息解析层用于完成终端鉴权与消息加解密处理;通信传输层用于适配各类异构物联网终端,完成消息的统一收发。所述系统实现各种智慧农业应用场景下的各类终端和传感网络的广泛接入,支持各类终端灵活配置与传感器的即插即用,支持环境数据的压缩存储与插值解压还原、支持设备远程安全控制;本发明可应用于大田种植、设施园艺、水产养殖、畜禽养殖等不同的应用场景。

Description

一种轻量级智慧农业异构物联网管理系统
技术领域
本发明涉及一种轻量级智慧农业异构物联网管理系统。
背景技术
目前智慧农业物联网系统都可实现环境数据采集和现场设备控制功能,但各自实现方式有较大差异,且多数系统都是定制化开发的,例如:系统仅能支持已选型好固定的几类终端和传感器,终端和传感器与用户的关联是固定的,不能动态修改,这样导致系统泛化能力不强,系统难以有效扩展,无法满足多变的农业生产场景的需求,例如:系统想增加新类型的终端和传感器,用户产能升级需要部署一批新的传感器,不同用户间的权限隔离与相互授权访问等。
另外,如何将这些离散的物联网系统整合成一个综合性的物联网管理系统,在尽量利用已有终端传感器等硬件基础上,重构物联网管理系统软件架构,实施统一数据采集、设备控制、用户权限管理,并考虑到系统后续扩展升级的便利性,是一个有待解决的问题。
发明内容
发明目的:本发明的目的在于提出一种可以满足异构物联网场景下,各类传感器与终端的灵活配置与接入管理,以经济高效的方式完成数据采集和设备控制,提升物联网管理系统灵活性、安全性的同时,降低其复杂性,并克服上述的背景中的不足。本发明提出一种轻量级智慧农业异构物联网管理系统,可用于智慧农业包含种植、养殖和大田生产过程中的物联网环境监测和设施控制,包括访问控制层、业务处理层、消息解析层和通信传输层;
所述访问控制层包括北向接口(即应用访问接口),用于实现系统配置管理、应用访问控制,提供访问安全控制策略;
所述业务处理层完成终端接入管理、动态配置管理、环境数据存储与获取,以及设备远程控制;
所述消息解析层用于完成终端鉴权与消息加解密处理;
所述通信传输层包括南向接口(即终端接口),用于适配各类异构物联网终端,完成消息的统一收发。
所述系统根据传感器是否可动态扩展,将异构物联网终端定义为两种类型:可动态扩展的自定义传感器终端和不可动态扩展的固定传感器终端;
所述自定义传感器终端能够集成各类485接口的传感器,通过TCP/IP网络接入系统,并通过心跳机制保持与系统的双向长连接,所述系统通过所述通信传输层提供的TCP协议接口完成与所述自定义传感器终端的对接;
所述固定传感器终端由终端厂家根据场景在终端上固定传感器,不具扩展性,所述固定传感器终端使用WSN无线传感器网络和LPWAN低功耗广域网无线协议接入互联网,所述系统通过所述通信传输层提供的TCP、HTTP和MQTT这三类协议网络侧接口完成与所述固定传感器终端对应的网关系统的上下行消息通信,从而完成消息的统一收发。
所述业务处理层完成终端接入管理和动态配置管理,实现所述自定义传感器终端的传感器动态集成和即插即用;
其中,所述自定义传感器终端的传感器动态集成,通过如下方法实现:所述系统根据所述自定义传感器终端的传感器配置,整体下发其所有传感器的485查询指令和响应解析内容,终端接收后生效执行,从而使所述自定义传感器终端能够集成各类485接口的传感器;
所述自定义传感器终端能够在使用过程中动态扩展传感器,避免将485查询指令写入终端代码编译好烧录到终端这种方式,无需编译烧录固件即能够支持在一个终端下完成各类传感器的动态集成和灵活定制,实现所述自定义传感器终端的传感器的即插即用,通过如下方法实现:
步骤a1,确定新增传感器是否是所述系统已有的485传感器类型,如果是,执行步骤a2,如果不是,配置所述新增传感器的485请求命令和响应解析各个字段说明,485请求命令需配置字段包括:操作码、寄存器起始位置和寄存器长度,响应解析需配置字段包括:响应内容长度和响应内容起始位置,所述系统将所述新增传感器类型加入已知传感器类型;
步骤a2,确定所述新增传感器对应的终端设备,新增一条对应所述新增传感器的配置,填写所述新增传感器的485地址,配置所述新增传感器对应的生产单元,将所述新增传感器的485地址和对应的生产单元信息保存到传感器配置表中;
步骤a3,新增控制设备通过继电控制器配置完成,配置设备接入继电控制器的控制单元(第几路),8路继电器可接入8个被控设备独立控制各路设备的开关状态。首先确定所述新增控制设备接入的继电控制器是否已配置过;如果已配置,则说明所述继电控制器的485地址和485命令参数(操作码、寄存器起始位置和寄存器长度)已存在系统配置中;否则需要配置所述继电控制器的地址和485命令参数。然后配置所述新增控制设备对应的继电控制器控制单元(第几路),配置所述新增控制设备对应的生产单元;将所述新增控制设备的485地址和对应的生产单元信息保存到控制设备配置表中;
步骤a4,所述系统触发一条配置生效消息下发给所述新增传感器对应的自定义传感器终端,生效消息携带步骤a1和步骤a2中的配置参数;所述自定义传感器终端收到配置生效消息后生效,将所述新增传感器查询命令加入轮询队列,在下一轮请求查询所述新增传感器的数值并解析响应;
步骤a5,当所述自定义传感器终端上电时,所述自定义传感器终端开始初始化,初始化阶段会发送登录请求消息,登录请求消息携带终端ID,所述系统会根据终端ID解析传感器配置表和控制设备配置表,响应的登录成功消息中包含所述自定义传感器终端下所有传感器和控制设备的485查询指令与解析方法;
步骤a6,所述自定义传感器终端周期发送485传感器查询指令采集环境数据,达到上报周期时,会将所述自定义传感器终端下接入的所有传感器采集到的环境数据封装成一条上报消息发送给所述系统,上报消息中包含所述新增传感器采集到的环境数据。
对于所述固定传感器终端,分为两类终端:接入传感器的是采集类终端,接入继电控制器的是控制类终端;固定传感器终端接入所述系统后需要完成环境采集参数(传感器)、控制参数(继电控制器)、和生产单元配置,具体方式为:
步骤a7,确定需要新增固定传感器的生产单元,后续固定传感器终端采集的环境参数将关联到所述生产单元;
步骤a8,在所述系统中选择固定传感器终端产品,如果所述系统不存在所述固定传感器终端产品,需要配置终端产品参数,包括:终端厂家、终端产品名称、采集或控制的参数,以及数据上报格式;对于接入传感器的固定传感器终端,配置采集的具体环境参数,对于接入继电控制器的固定传感器终端,配置继电控制器的控制单元数(共有几路设备可控制)和每个控制单元对应的具体的控制设备;
步骤a9,将所述固定传感器终端部署在配置好的生产单元,启动后,所述固定传感器终端周期上报数据,上报数据包括传感器采集到的环境数据和控制继电器的各个控制单元的开关状态;所述系统根据步骤a8中配置的终端产品参数及数据上报格式,对上报的数据进行解析。
所述业务处理层完成环境数据存储,包括:所述业务处理层对于步骤a6中所述自定义传感器终端和所述固定传感器终端上报的环境数据进行压缩存储,使用一种直线拟合压缩时间旋转门算法完成海量传感数据的压缩汇聚,旋转门算法(SDT)参考FengXiaodong,Cheng Changling,Liu Changling,&Shao Huihe.(n.d.).An improved processdata compression algorithm.,所述时间旋转门算法在SDT数值压缩的基础上,计算每轮的汇聚时长,通过限定最大允许汇聚周期达到提高压缩精度的目的,避免一次压缩的数值过多,保证下采样(压缩)的精度,具体方法如下:
步骤a6-1,初始化参数:确定每种将被传感器采集的环境因素的正常取值范围[m,n]和正常环境因素单位时间变化率k,其中正常环境因素单位时间变化率k通过传感器的量程和历史数据进行判断;例如:水产养殖溶解氧传感器的量程[0,20],单位mg/L,则m,n,k在极限情况下按照下面的方式进行计算:
m=0,取水体溶解氧为0的极限情况
n=20,取水体为饱和氧的极限情况
k=(m-n)/(A/P),考虑极限情况,养殖水体的溶解氧在晴天白天上升至最高值,夜晚逐步下降到最低值;这里的A为正常农业生产场景下溶解氧一次上升或下降的持续时间,取值12小时;P终端采集环境数据的上报时间间隔,取值15分钟。故极限情况下水体溶解氧的单位间隔平均变化率k为:
k=(20-0)/(12*60/15)=0.42
即在极限场景下溶解氧在相邻两次上报时间内采集的数据差值平均为0.42,但在实际情况下,养殖水体通常不会达到零氧和饱和氧的情况,再加上单位变化率围绕在平均变化率周围,故k的取值应该低于0.42。
考虑到极限平均变化率无法完全反应实际生产下的溶解氧变化率,故对夏季养殖水体的历史溶解氧数据进行分析,发现单位上报间隔平均变化率符合正态分布:
k~N(μ,σ2),其中u=0.13,σ=0.08
取单位间隔平均变化率在2倍标准差范围内,即μ+2σ=0.29,统计数值中约95%的单位间隔平均变化率在0.29以下;
取单位间隔平均变化率在3倍标准差范围内,即μ+3σ=0.37,即约99.7%的变化率的单位间隔平均变化率在0.37以下;
确定每一类环境因子(对应的传感器数值)的线性趋势差异度,即确定旋转门门限值E(压缩精度)的取值;这里取E=2σ,以养殖水质溶解氧为例,压缩精度E=0.16;
创建传感器数值压缩缓存结构:在内存中为每个传感器初始化一个固定长度的缓存队列,数值队列长度计算方式为:L=T/P,其中L为数值队列长度,T为汇聚周期,即汇集环境数据的最大时间间隔,当上报的环境数据一直处在两扇门中间(可压缩的情况)时,超过汇聚周期T后,按照步骤a6-3-2处理,农业场景下可取值为1个小时;P为采样上报间隔,取值15分钟;
步骤a6-2,过滤数值异常点:收到所述自定义传感器终端与所述固定传感器终端上报的环境数据后,解析出所有的传感器数值后,加入每个传感器的缓存队列前,判断过滤两种异常值:第一种,过滤各传感器超过合理范围[m,n]的孤立点;第二种,过滤环境因素单位时间变化率超过正常环境因素单位时间变化率k的突变点;所述孤立点和突变点均为异常值,当发现异常值后,使用处理值替代异常值,处理值的计算方法为:
Vnext=Vnow±|k|,
如果是第一种异常值,对于上述公式中的±,则当前异常值Vabnorm>n时,取正号,当前异常值Vabnorm<m时,取负号;
如果是第二种异常值,对于上述公式中的±,则Vabnorm-Vnow>k时,取正号,Vnow-Vabnorm>k时,取负号;
其中,Vabnorm为当前异常值,Vnext为判断能否加入缓存队列进行压缩的当前处理值,Vnow为缓存队列的当前取值(终端前一次上报的数值);
步骤a6-3,使用时间旋转门算法对传感器的缓存队列进行压缩汇聚。
步骤a6-3包括:
步骤a6-3-1,所述自定义传感器终端与所述固定传感器终端上报的环境数据经过步骤a6-2的处理后,对每个传感器的采集值判断当前传感器的缓存队列中是否有数据,如果没有数据,所述采集值作为旋转门的起始点加入队列,当前时刻记为t0,此时以所述采集值的上下两个单位E作为支点形成两扇门,此时这两扇门是关闭的,进入步骤a6-3-2;如果有数据,说明当前的门起点已存在,直接进入步骤a6-3-2;
步骤a6-3-2,ta时刻,从所述自定义传感器终端与所述固定传感器终端上报的环境数据中取得传感器的新值,判断ta时刻至t0时刻的间隔是否超过汇聚周期T,如果没有超过,进入步骤a6-3-3,否则进入步骤a6-3-4;
步骤a6-3-3,旋转门在ta时刻取得一个新值,更新门的打开角度,两扇门只能顺着打开的方向越开越大,如果新值将引起一扇门内角变小则当前这扇门的角度保持不变,判断两扇门的内角和是否大约180度,如果否,则将所述新值追加到队列末尾,更新表头中的队列位置为加1,继续等待下一条记录;如果两扇门的内角和超过180度则表示当前数值的变化率超过门限值E,进入步骤a6-3-4;
步骤a6-3-4,将当前传感器缓存队列中的所有数值汇聚成一条统计记录插入到压缩汇聚表,统计记录包括:当前传感器数值和当前时间ta、缓存队列中的最大值、最小值、平均值、中位数和总个数,清空当前传感器缓存数据后将当前采集值作为缓存队列的第一条记录,当前时刻记为t0,进入到步骤a6-3-1,开启一个新的旋转门,完成下一个分段直线的压缩;
时间旋转门算法的最终压缩结果是将从初始点的数值分别向上和向下单位E(压缩精度)作为旋转门上下支点,确定后续数值点与上下支点的内角和,对内角和小于180度的数值点进行压缩,直到出现内角和不小于180度的数值点,取该点为终点。取首尾两个点的直线来替代这一系列连续的数值点,将所述一系列连续的数值点的统计值加入压缩汇聚表。因此压缩汇聚表中存储的是一系列t0和ta首尾相连组成的直线段和直线段上的统计值。
当历史查询时间跨度较大的情况下,直接查询未压缩的原始表会加剧数据库和网络的性能瓶颈,使用基于缓存实现的时间窗口旋转门算法可以在保证数据曲线趋势准确的前提下,有效压缩数据量。当数据曲线局部变化较剧烈的情况下可以相应缩短汇聚窗口T和压缩精度E,提高采样分辨率,实现基于时间汇聚窗口和压缩精度的动态压缩方式。
所述业务处理层完成环境数据获取,即所述业务处理层支持环境数据查询,环境数据查询分为实时查询和历史查询两类,其中,所述实时查询通过如下步骤实现:
步骤b1,根据用户查询请求中的生产单元ID查找步骤a2中的传感器配置表,获得生产单元下所有的传感器ID集合,生成响应对象name和value的集合,其中name是新增传感器时配置的传感器名字,value是传感器最近一次采集的数值;
步骤b2,遍历传感器ID集合,将传感器ID作为索引查找步骤a6-1所述的内存中的压缩缓存结构,获得当前传感器的缓存队列,根据表头中的队列位置指针取得队列末尾的数据,即将当前传感器最新的一条上报记录作为实时数据;
步骤b3,遍历完成后将步骤b1中的value填上步骤b2得到的实时数据,将name和value的集合返回请求端。
所述历史查询是根据步骤a6-3-4生成的压缩汇聚表,将压缩后的数据按照原来的采集周期进行直线插值,将插值后的结果返回,通过如下步骤实现:
步骤c1,第一次查询请求携带生产单元ID和查询起止时间,根据查询请求的生产单元ID查找步骤a2中的传感器配置表,获得生产单元下所有的传感器ID集合;
步骤c2,使用传感器ID和起止时间作为查询参数,所述业务处理层遍历每个传感器ID查询每个传感器ID命中的结果个数,生成传感器ID和命中结果条数的摘要集合返回;
步骤c3,查询请求端(用户)根据返回的摘要信息能够选择不同的传感器ID,查询其详细记录,发出第二次查询请求,第二次查询请求参数中携带具体的传感器ID,所述业务处理层查询步骤a6-3-4中生成的压缩汇聚表,并根据时间间隔使用线性插值法生成每个周期上报时间点的传感器取值,得到新的数值集合S'。
步骤c4,将新的数值集合S'返回给请求端。
步骤c3中,所述线性插值法的步骤如下:
步骤c3-1初始化传感器ID对应的返回的环境数值集合S为步骤c3中从压缩汇聚表中查询到压缩数值集合。
步骤c3-2,遍历步骤c3,如果压缩数值集合中前一个时间节点为tm,当前时间节点为tn,比较tm与tn的间隔与终端采集数据上报间隔P之间的关系。如果tn-tm>P,说明tm与tn这段时间内存在被压缩掉的环境数据,需要使用线性插值法插入中间点(被压缩的)数据,进入步骤c3-3;如果tn-tm=P说明这两个相邻的时间点采集的数据中间没有被压缩数据,无需插入中间点数据,更新当前时间点为tm,继续步骤c3-2的遍历,取下一个时间节点进行判断。
步骤c3-3按照终端上报间隔P依次插入被压缩的环境数值到S集合中,记录tm和tn两个时刻的环境数值分别为Vm和Vn
tm和tn两个时刻的的数值斜率kmn=(Vn-Vm)/(tn-tm),则tm和tn两个时刻间被压缩掉的环境数值按照上报间隔P进行线性插值,tm和tn之间的第x个间隔时刻tx的插值结果为Vx=Vm+kmn*(xP),且x=1,2,3..,(tn-tm)/P-1,此时tx=tm+xP;
将被压缩上报时间和插值计算的数值集合{tx,Vx},当x=1,2,3..,(tn-tm)/P-1,按照顺序依次插入到集合S中tm和tn两个时刻之间,形成新的数值集合S'。
历史查询分为所有传感器的摘要查询、单个传感器的详细查询的目的是通过多次交互降低每次查询的数据量,减轻数据库和网络压力,同时请求端可以更好的处理每次返回的响应。
所述系统支持基于生产单元的实时和历史数据查看,以查询请求携带生产单元ID作为参数,查询响应包含所述生产单元下的所有传感器的数据。农业生产单元是生产区域划分的一个基本单位,在不同智慧农业生产场景下可视为大棚、塘口、田块等,完成传感器与生产单元的动态配置后,用户可指定查询生产单元的环境数据,从而获取生产单元下所有传感器采集到的数据。
将生产单元作为查询参数用户可直观查看该生产单元上各类传感器采集到的环境指标数据,实际上这正是用户所关心的,而底层的终端等物联网设备及相关配置对用户来说是透明的。
步骤a6-1所述的传感器数值缓存队列,可用于实时数据的查询,对高频查询使用缓存机制,提高查询性能,降低系统尤其是数据库的负载。在数据监控中心场景,对需要监控的生产单元进行长时间的监控管理,可通过WebSocket协议将终端上报的最新数据推送至前端来展示,实现高效实时查询,可大幅提升性能。
所述业务处理层完成设备远程控制,采用基于HTTP协议的延迟响应异步控制机制,基于HTTP协议的延迟响应异步控制机制主要是利用了异步生成返回值的特性。由于被控设备存在于远端使用TCP或MQTT协议连接物联网系统,系统充当控制命令的消息转发服务器,HTTP请求无法直接透传给TCP协议的终端,需要进行协议转换,基于HTTP协议的延迟响应异步控制机制的内容在于:控制端只需要发送一个HTTP请求即可完成设备控制并得到控制结果。系统在接收HTTP控制请求时并没有立即返回成功响应,而是使用异步生成返回值的机制,等待TCP协议控制终端并返回时,将控制结果作为HTTP响应返回,由于这涉及两个线程的协作,故使用异步处理+消息回调机制完成上述操作。同时配合超时异常检测线程,完成控制超时未响应的HTTP控制失败响应。
延迟响应异步控制机制避免了控制端需要将一个控制指令分成控制+查询两个HTTP请求,发送一个HTTP控制请求后,过一段时间再发送一个设备状态查询命令,查看控制是否生效。延迟响应只使用一个HTTP请求完成设备控制操作可以缩短客户端控制响应的时延,简化控制流程,同时降低服务器负载提高性能。
所述基于HTTP协议的延迟响应异步控制机制由所述访问控制层、所述业务处理层、所述消息解析层和所述通信传输层的相关功能协作完成,其中所述访问控制层完成与控制请求端的HTTP协议交互与延迟响应;所述业务处理层的设备远程控制功能完成控制命令的协议转换,使用队列和回调函数完成响应消息的异步处理;所述消息解析层和所述业务处理层负责与所述自定义传感器终端和所述固定传感器终端两类终端对接和消息解析,具体包括如下步骤:
步骤d1,所述访问控制层接收到针对一个设备ID的HTTP控制命令,设置当前设备ID的超时响应和等待超时两个回调函数,并将这两个回调函数注册给所述业务处理层的控制功能用于响应和超时事件的调用,进入所述业务处理层的控制逻辑,传入设备ID和控制参数(例如:开或关);
步骤d2,所述业务处理层收到设备ID与控制参数后,将所述访问控制层的两个回调函数绑定到以设备ID为主键、回调函数为值的哈希表中;
步骤d3,所述业务处理层根据设备ID查找步骤a3中的控制设备配置表,获取被控设备接入的终端ID(自定义传感器终端或固定传感器终端),按照对应的终端的消息格式生成控制请求命令发送给消息解析层完成协议编码,并转发所述通信传输层,所述通信传输层根据终端ID选择对应的通信链路,将控制请求发送给所述自定义传感器终端和所述固定传感器终端;
步骤d4,所述自定义传感器终端和所述固定传感器终端执行控制命令成功后,向所述通信传输层发送成功响应,所述消息解析层解码后,将终端ID及其控制结果上传给所述业务处理层;
步骤d5,所述业务处理层根据控制设备配置表由终端ID获得被控设备ID,使用设备ID查找步骤d2中所述的哈希表,执行超时响应的回调操作,并将所述设备ID对应的哈希记录删掉;
步骤d6,所述业务处理层周期性扫描步骤d2中所述的哈希表,当发现有控制设备的请求超时但没有收到响应后,执行所述设备ID存在哈希表中的超时响应的回调操作,并将当前设备ID记录删掉。
所述设备异步控制响应机制是指用户使用简单的HTTP命令通过一次交互即可完成设备控制并获得控制的结果,管理系统对触发控制命令的HTTP响应加入延迟响应队列,并及时将下行控制发送给终端,终端执行命令完成设备控制,根据控制反馈查找延迟队列中的响应,向HTTP请求返回响应,该过程消息驱动的异步处理流程。设备实时控制通常需要建立双向长链接通信链路,自定义传感器终端使用TCP心跳机制实现与管理系统的长链接。固定传感器终端的下行消息需要分情况讨论:对于LoRa和NB-IoT终端,为了实现被控设备的近实时控制效果,避免控制终端进入休眠模式,LoRa终端选择Class C模式进行连续监听,NB-IoT缩短eDRX寻呼周期,但持续监听的功耗较高,但由于这两类终端要控制设备,其靠近外部电源,可使用外接电源供电。当需要控制设备时将控制命令加入下行消息队列,队列进行下行消息的发送。对ZigBee网络来说,网关与节点进行双向实时通信,网关可以随时向控制终端发送下行控制命令,终端接收后执行相关控制操作。
上述设备异步控制响应机制与传统的基于HTTP协议控制的不同之处在于:发送HTTP控制请求时并没有立即返回成功响应,而是使用异步生成返回值的机制,等待TCP协议控制终端并返回时,将控制结果作为HTTP响应返回,由于这涉及两个线程的协作,故使用异步处理+消息回调机制完成上述操作。同时配合超时异常检测线程,完成控制超时未响应的HTTP控制失败响应。控制端只需要发送一个HTTP请求即可完成设备控制并得到控制结果。主要好处是可以缩短客户端控制响应的时延,简化控制流程;对服务器端来说,可降低负载提高性能。
所述访问控制层包括北向接口,用于实现系统配置管理、应用访问控制,提供访问安全控制策略,包括:所述北向接口使用HTTP消息携带口令Token方式进行用户身份认证,由于系统内的硬件(传感器、被控设备)和数据等资源都是关联到具体用户,利用用户与系统资源的对应关系实现访问权限的控制,根据生产单元、终端、传感器、继电器、被控设备的配置关系,将用户与生产单元关联,生产单元与物联网硬件设备关联,由此实现基于生产单元的访问安全控制策略,用户只能访问管理自身的农业生产单元下的环境数据和设备。
所述访问安全控制策略支持动态授权管理,即用户A能够授权系统内的其他用户B访问自己生产单元下的环境数据,并能够单独配置被控设备的权限是否开放;可应用于远程咨询、病害诊断等场景,农业生产户可将访问权限开放给咨询专家;
所述消息解析层用于完成终端鉴权与消息加解密处理,即对于所述固定传感器终端,由其接入协议定义的安全鉴权方式完成终端的安全性管理,所述系统不做额外安全处理;
对于所述自定义传感器终端,由所述系统完成终端鉴权与收发消息的加解密,终端鉴权是由所述系统校验终端串号的合法性,消息加解密是使用对称加密算法和消息密钥完成收发双方的消息加解密,使用非对称算法完成终端登录阶段消息密钥的保密分发,具体包括如下内容:
步骤e1,用户绑定新的自定义传感器终端:用户端APP使用HTTPS安全协议登录所述系统后,用户绑定新终端,填写终端串号发送绑定请求携带用户ID、串号;
所述系统为每个自定义传感器终端生成并维护一对公钥和私钥,并将对应的公钥在绑定响应中发送给用户端APP,通过离线配置的方式将所述公钥配置到终端上;
步骤e2,所述自定义传感器终端使用步骤e1中离线配置好的公钥加密登录请求消息,系统私钥解密后确认用户携带正确的串号,生成128位的消息密钥作为登录成功的响应参数,使用私钥加密后发给自定义传感器终端,所述自定义传感器终端用公钥解密后保存消息密钥,并在后续收发消息使用该密钥;
对于所述自定义传感器终端,非对称加密算法仅用在终端登录请求和响应这两条消息加密传输上;
步骤e3,所述自定义传感器终端与所述系统的消息交互使用消息密钥进行加密,所有的通信消息采用密文传输的方式进行传输;
步骤e4,所述系统周期性更新对称加密密钥,通过密钥更新命令通知所述自定义传感器终端使用新的密钥,所述自定义传感器终端成功应答后,启用新的加密密钥;
步骤e5,当用户A将所述自定义传感器终端绑定到其他用户B名下时,用户A登录所述系统执行解绑操作,所述系统将通知所述自定义传感器终端解除绑定,所述自定义传感器终端将停止业务流程后进入初始化状态,等待重新启动,完成新用户的绑定操作。
本发明所述系统可应用于智慧农业生产的环境数据采集和现场设备控制场景,包括:大棚温室种植、水产养殖、大田种植等场景。方案可实现终端设备的快速接入,并对上层应用提供了安全便捷的访问和控制方式,系统功能按照扁平化功能实现,包括:传输层、消息解析层、业务处理层和控制层可单机部署,也可基于功能模块拆分按照微服务的方式进行分布式部署。
本发明提出了一种智慧农业异构物联网环境下的数据压缩存储、设备安全控制、数据查询的轻量级解决方案,本发明所述系统支持两类终端的动态接入,支持传感器的即插即用。支持环境采集数据的压缩存储,支持基于生产单元的实时和历史数据查看。支持远程设备控制反馈机制和操作日志归档。实现农户权限管理功能,农户间可以生产单元为单位相互授权。
有益效果:所述系统实现各种智慧农业棚温室种植、水产养殖、大田种植等场景下的各类终端和传感网络的广泛接入,对自定义传感器终端可实现485传感器的即插即用功能,避免编译烧录和繁杂的终端版本,提高系统的可移植性。压缩存储与插值还原的方式在减少存储空间、降低网络开销的前提下,较好地保持了历史数据曲线细节的变化情况。设备控制只需要发送一个HTTP请求即可完成设备控制并得到控制结果。缩短客户端控制响应的时延,简化控制流程;对服务器端来说,可降低负载提高性能。将对称和非对称加密算法用在了终端与系统的消息通信和通信密钥的分发上,确保了双向消息的安全完整可靠。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明系统示意图。
图2a是自定义传感器终端连接关系的示意图。
图2b是固定传感器终端连接关系的示意图。
图3是自定义传感器终端和固定传感器终端的连接示意图。
图4是自定义传感器终端动态扩展传感器和被控设备的流程图。
图5是时间旋转门压缩算法示意图。
图6是基于生产单元的实时查询的具体算法流程图。
图7是基于生产单元的历史查询的具体算法流程图。
图8是设备异步控制流程示意图。
图9是物联网管理系统完成终端安全管理的流程示意图。
图10是自定义传感器终端下传感器与继电控制器命令请求和响应解析内容的配置示意图。
图11是自定义传感器终端下所有接入的传感器的配置示意图。
图12是自定义传感器终端下接入被控设备的配置示意图。
图13是固定传感器终端下传感器与继电控制器的响应解析配置示意图。
图14是固定传感器终端下接入被控设备的配置示意图。
图15是消息适配规则表的示意图。
具体实施方式
本发明提供的智慧农业异构物联网管理系统功能的实现需要:各类物联网终端及农业传感器、控制继电器、被控设备及各类物联网网络设施的配合。本发明所述内容是主要是物联网管理系统端的功能实现,提出了一种轻量级智慧农业异构物联网管理系统。
轻量级智慧农业异构物联网管理系统支持数据压缩存储、设备安全控制、数据查询的轻量级解决方案,本发明所述系统支持两类终端的动态接入,支持传感器的即插即用。基于生产单元的环境数据访问,支持实时和历史数据查看。远程设备控制反馈机制,并记录归档设备操作日志。系统实现农户权限管理功能,农户间可以生产单元为单位相互授权。
通过构建统一的异构物联网管理系统,实现各种智慧农业应用场景下的各类终端和传感网络的广泛接入和配置管理,包括:以太网及WiFi的TCP/IP协议,多跳组网的ZigBee协议、窄带扩频技术的LoRa、NB-IoT协议,实现不同协议的终端设备统一接入、统一管理、统一控制。
图1是所述的一种轻量级智慧农业异构物联网管理系统架构图,异构物联网管理系统由通信传输层、消息解析层、业务处理层、访问控制层四层结构组成;通信传输层完成各类异构网络终端的消息收发;消息解析层完成消息加解密、编解码处理;业务处理层是系统的核心功能模块,完成终端接入管理、动态配置管理、环境数据存储与获取,设备远程控制等功能;访问控制层提供上层应用的交互访问接口,并提供必要的安全访问机制。
上述两类终端为自定义传感器终端和固定传感器终端,如图3所示,是自定义传感器终端和固定传感器终端的连接示意图。
图2a是一个自定义传感器终端的例子,终端硬件使用深圳恒天智信嵌入式Linux工控机,终端的485接口连接北京华控兴业的各类农业传感器,对控制有要求的场景485接口可连接北京聚英电子DAM0808TA八路继电控制器(可控制8个农业设备)。系统配置上述传感器和继电控制器的485请求命令需配置字段包括:操作码、寄存器起始位置和寄存器长度,响应解析需配置字段包括:参数类型、响应内容长度和响应内容起始位置,具体命令配置表项如图10所示;系统为具体的生产单元下添加传感器,需要配置传感器的485地址、传感器类型,该传感器对应的自定义终端(终端ID)以及生产单元ID,传感器定义表如图11所示。自定义传感器终端可以自定义添加任意数量(小于255)的各类485传感器和继电控制器,这类终端通常带有操作系统支持,具备完整TCP/IP协议栈,由外接电源供电。自定义传感器终端可动态扩展传感器和被控设备,按照图4所示流程完成图10、图11、图12的配置并下发给终端生效,具体流程如下:
步骤(1)确定新增485传感器(继电控制器)是否是系统已有的传感器类型,如果是,执行步骤(3),如果不是,进入步骤(2);步骤(2)配置该新增传感器(继电控制器)的485请求命令和响应解析各个字段说明,如图10中的内容,系统将所述新增传感器类型加入已知传感器类型。步骤(3)新增传感器,在如图11所示的表中新增一条配置填写传感器的485地址;新增继电控制器,如图12所示,填写继电控制器的485地址;步骤(4)新增传感器,如图11所示,配置新增传感器对应的生产单元和终端;新增被控设备,如图12所示,配置新增控制设备对应的生产单元和终端;步骤(5)系统触发一条配置生效消息下发给新增传感器对应的自定义传感器终端,生效消息携带步骤(2)(3)(4)中的配置参数;步骤(6)自定义传感器终端收到配置生效消息后生效,将所述新增传感器查询命令加入轮询队列,在下一轮请求查询所述新增传感器的数值并解析响应;步骤(7)自定义传感器终端周期发送485传感器查询指令采集并上报环境数据。
进一步地,这类终端通过TCP Socket连接到物联网系统,物联网系统通过MinaServer和心跳保持机制完成与大量终端的高并发通信。终端上电后发送登录请求消息,系统鉴权成功后返回的成功响应中包含该终端下所有接入的传感器(图11定义)和继电控制器(图12定义)的485命令配置项(即图10定义的传感器命令请求和相应解析内容)。
如图2b所示,固定传感器终端的传感器和继电控制器不支持动态扩展。固定传感器终端的配置流程为:
步骤(1)确定需要新增固定传感器的生产单元,后续固定传感器终端采集的环境参数将关联到所述生产单元。步骤(2)在所述系统中选择固定传感器终端产品,如果所述系统不存在所述固定传感器终端产品,需要配置终端产品参数,包括:终端厂家、终端产品名称、采集或控制的参数及数据上报格式,如图13的固定传感器终端的配置示例。所述接入固定传感器的终端,配置采集的具体环境参数;对于接入固定继电控制器的终端,配置每个控制单元对应的具体的控制设备,如图14为控制设备配置示例。步骤(3)将所述固定传感器终端部署在配置好的生产单元,启动后,所述固定传感器终端周期上报传感器采集到的环境数据;所述系统根据步骤2中配置的终端产品参数,对上报的环境数据进行解析。
通常固定传感器终端的传感器或继电控制器高度集成,只提供基本的环境采集、设备控制和数据传输功能,终端使用电池或者太阳能电池供电,这类终端可选择低功耗广覆盖的窄带物联网LoRa或者NB-IoT作为无线通信协议。根据图3的网络拓扑图,其中,LoRa(LoRa是LPWAN通信技术中的一种,是美国Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输方案)和NB-IoT(窄带物联网,Narrow Band Internet of Things,NB-IoT)终端通过基站、核心网连接各自的管理系统,管理系统除了完成终端网络管理功能外,还要完成物联网应用所关心的传感器数据的转发,即使用HTTP(超文本传输协议,HyperText Transfer Protocol)或MQTT协议将传感器数据发送给应用服务器;还有一种ZigBee(ZigBee,也称紫蜂,是一种低速短距离传输的无线网上协议)终端将采集到的环境数据汇总到ZigBee网关协调器上,网关根据一定的规则将各个传感器节点采集到的数据打包并使用TCP(传输控制协议,TCP,Transmission Control Protocol)或MQTT(消息队列遥测传输,Message Queuing Telemetry Transport)协议将数据发送到物联网管理系统端进行处理和保存。所述系统将接入的固定传感器终端无线协议视为通信管道,实现TCP、HTTP和MQTT这三类协议的网络侧接口,完成与固定传感器终端的上下行消息通信。由此,物联网系统接入不同类型的终端与传感器形成了异构物联网管理系统。
进一步地,物联网管理系统通过在图1所示的通信传输层、消息解析层实现不同的通信协议的解析接口,完成与不同终端的消息通信,屏蔽了终端的类型和通信协议的差异,在业务处理层处理各类终端消息,包括:登录请求、配置通知、上报采集、下行控制和下线通知。具体方法为:
实现TCP服务器,HTTP服务器分别监听两个端口,实现MQTT客户端连接消息代理订阅相关主题。
按照约定各类异构物联网终端的消息的第一个字节用来标识终端类型,监听服务按照终端类型将消息分发给消息适配层相应的终端处理类。
各类终端处理类收到终端消息后,消息解码后根据终端消息类型,查找消息适配规则表,完成原始消息到通用消息的适配,将通用消息传递至业务处理层。消息适配规则表说明如图15所示;
消息处理层接收到来自南北向接口的通用消息后,根据消息类型进入具体的业务处理流程,具体分为:
(1)登录请求,验证终端身份成功后,将对应的终端密钥发送给终端,用于后续的消息加解密。
(2)配置通知,自定义传感器终端传感器即插即用功能,来自北向接口的下行消息,通知终端新增的传感器的采集和解析485命令。
(3)上报采集,完成终端采集到的环境数据的上报。
(4)下行控制,来自北向接口的用户或其他应用触发的控制指令,命令终端完成被控设备的继电管理器操作。
(5)下线通知,终端下线通知管理系统。
所述数据缓存与压缩存储,针对终端周期上报的环境采集数据,在保存原始数据的基础上,如图5所示,使用时间旋转门算法对上报的采集数据进行压缩汇聚。当收到周期上报消息后,解析消息内容获取该终端下所有传感器的数值组合,然后使用时间旋转门算法即对每个传感器原始数据进行下采样,统计一定时间间隔(汇聚间隔)内统计值包括:最大值、最小值、平均值、中位数和总个数,输出保存到下采样压缩表中。其总体实现思路为:以单个传感器数据为例,在内存中保存其一段时间内连续上报的采集数值,每次上报数据时应用旋转门压缩算法判断当前数值是否超过门限值(内角和180°)或者判断累积的时间是否超过规定的汇聚间隔,当二者其一发生时,统计相关数据输出保存并清空当前传感器的缓存,从下一个值开启新一轮的汇聚。
基于内存缓存的时间旋转门算法对系统下的传感器创建缓存哈希表,主键Key为传感器ID,内容Value为对应传感器的缓存队列指针和当前队列中的数值位置。
进一步地,业务处理层解析终端周期上报传感器采集到的数据集合,将每个传感器当前的数值进行时间旋转门算法判断,决定是否放入传感器的缓存队列,当前数值变化不超过压缩率E,或者队列中缓存数值的时间跨度小于间隔时间T,当前数值进入缓存队列进行压缩,如传感器S1的V4数值。如否,意味着当前数值超过压缩率E或时间跨度超过间隔T,如传感器S1的V5数值,需要将缓存队列中的所有数值进行统计计算,获得最大值、最小值、平均值、中位数和总个数作为一条数据填入下采集表中,由此完成数据压缩。
所述基于生产单元的实时查询的具体算法流程如图6所示,(1)根据用户查询请求中的生产单元ID查找传感器配置表,获得该生产单元下所有的传感器ID集合,生成响应对象name和value的集合,其中name是新增传感器时配置的传感器名字,默认使用传感器类型+序号来命名。(2)遍历传感器集合,将传感器ID作为索引查找缓存表,获得当前传感器队列,根据表头中的队列位置指针取得队列末尾的数据,即当前传感器最新的一条上报记录作为实时数据。(3)查询响应集合中的value填上(2)的实时数据,遍历完成返回。
所述基于生产单元的历史查询的具体算法流程如图7所示,
(1)根据查询请求的生产单元ID查找传感器配置表,获得所述生产单元下所有的传感器ID集合;(2)使用传感器ID集合和时间跨度作为查询参数,系统遍历每个传感器ID查询每个传感器ID命中的结果个数,生成传感器ID和命中结果条数的摘要集合返回;(3)查询请求端(用户)根据返回的摘要信息可选择不同的传感器ID,查询其详细记录,第二次的请求参数中携带具体的传感器ID,所述系统查询步骤a6-3-4中的压缩汇聚表,并根据时间间隔使用线性插值法生成每个被压缩掉的周期上报时间点的传感器取值。(4)将插值完成后的新的集合S返回给请求端。(5)为了节约网络带宽提高传输效率,请求端获取到原始的压缩集合后,按照上述步骤的线性插值方法处理。
所述设备异步控制流程如图8所示,(1)HTTP请求处理层使用DeferredResult机制延迟回复控制响应,并在setRspResult()和setTimeoutResult()函数中分别设置成功响应和等待超时的结果DeferredResult。当接收到HTTP请求后,在哈希表DeferResultMap中新增一条以被控设备ID作为主键,响应结果作为Value的记录,将控制消息转发到控制管理层。(2)控制管理层收到equipId的控制命令后,通过接口CtrlHandler将setRspResult()和setTimeoutResult()两个函数注册到接口实现handleRsp()和handleTimeout()中,并将equipId作为主键、接口CtrlHandler实现作为value添加到哈希表HandlerMap中。(3)控制管理层按照终端格式生成控制请求消息携带终端ID,发送给消息通信层,消息通信层根据终端ID选择对应的通信链路,将控制请求编码后发送给终端。(4)终端执行控制命令成功后,向系统的消息通信层的通信模块发送成功响应,消息通信层解码后,将终端ID及其上报的消息上传给控制管理层。(5)控制管理层解析返回的响应并根据终端ID获得被控设备ID,使用equipId查找哈希表HandlerMap找到对应的Hander,执行处理响应函数handleRsp(equipId)完成setRspResult(equipId)的回调操作,将equipId对应的Hander记录删掉。(6)控制管理层的请求超时检测线程周期性扫描哈希表HandlerMap中的所有记录,当发现有控制设备的请求超时但没有收到响应后,执行Hander中的handleTimeout(equipId)完成setTimeoutResult(equipId)的回调操作,并将当前超时的equipId对应的Hander记录删掉。(7)请求处理层的结果处理函数setRspResult(equipId)和setTimeoutResult(equipId)根据equipId查找哈希表DeferResultMap获得对应的延迟响应DeferredResult,并响应结果为控制成功或超时失败,并删除哈希表中的记录,将延迟的HTTP响应返回给请求端。
所述终端安全管理即南向接口的终端接入认证与上下行消息加密,自定义传感器终端是直接连接到物联网管理系统的,由物联网管理系统完成终端的安全管理。如图9所示。具体流程为:
(1)用户绑定新终端。用户端(Web或APP)使用https安全协议登录管理系统后,用户绑定新终端,填写终端串号、选择自定义传感器终端的安全类型(普通终端或安全终端)发送绑定请求携带用户ID、串号、安全类型三个参数。对于普通终端系统返回不带参数的绑定成功响应;由于普通终端登录使用明文传送消息密钥有安全隐患,对于安全终端系统使用非对称加密算法加密终端登录阶段(2)下发的消息密钥,确保消息密钥的安全性,为此系统为每个终端生成并维护一对公钥和私钥,并将对应的公钥在绑定响应中发送给用户端APP,通过离线配置的方式将该公钥配置到终端上,等待终端上电登录进入流程(2)。
(2)自定义传感器终端使用(1)中离线配好的公钥加密登录请求消息,系统私钥解密后确认用户携带正确的串号,生成128位的通信密钥作为登录成功的响应参数,使用私钥加密后发给终端,终端用公钥解密后保存该密钥,并在后续收发消息使用该密钥。
对于安全终端上述非对称加密算法仅用在终端登录请求和响应这两条消息加密传输上,后续的交互消息与普通终端一样都使用对称加密算法,主要是由于对称加密算法的效率性能更高。
(3)系统端可周期性更新对称加密密钥,通过密钥更新命令通知终端使用新的密钥,终端成功应答后,启用新的加密密钥,进一步保证通信的安全性。
(4)当某用户A将终端绑定到其他用户B名下时,用户A登录系统执行解绑操作,系统将通知终端解除绑定,终端将停止业务流程后进入初始化状态,等待重新启动,完成新用户的绑定操作。
一种轻量级智慧农业异构物联网管理系统可实现终端设备的快速接入,并对上层应用提供了安全便捷的访问和控制方式,系统功能按照扁平化功能实现,包括:传输层、消息解析层、业务处理层和控制层,具体实施方案可单机部署,也可基于功能模块拆分按照微服务的方式进行分布式部署。
本发明提供了一种轻量级智慧农业异构物联网管理系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (8)

1.一种轻量级智慧农业异构物联网管理系统,其特征在于,包括访问控制层、业务处理层、消息解析层和通信传输层;
所述访问控制层包括北向接口,用于实现配置管理、应用访问控制,提供访问安全控制策略;所述北向接口即应用访问接口;
所述业务处理层完成终端接入管理、动态配置管理、环境数据存储与获取,以及设备远程控制;
所述消息解析层用于完成终端鉴权与消息加解密处理;
所述通信传输层包括南向接口,用于适配各类异构物联网终端,完成消息的统一收发;所述南向接口即终端接口;
所述系统根据传感器是否可动态扩展,将异构物联网终端定义为两种类型:可动态扩展的自定义传感器终端和不可动态扩展的固定传感器终端;
所述自定义传感器终端能够集成各类485接口的传感器,通过TCP/IP网络接入系统,并通过心跳机制保持与系统的双向长连接,所述系统通过所述通信传输层提供的TCP协议接口完成与所述自定义传感器终端的对接;
所述固定传感器终端由终端厂家根据场景在终端上固定传感器,不具扩展性,所述固定传感器终端使用WSN无线传感器网络和LPWAN低功耗广域网无线协议接入互联网,所述系统通过所述通信传输层提供的TCP、HTTP和MQTT这三类协议网络侧接口完成与所述固定传感器终端对应的网关系统的上下行消息通信,从而完成消息的统一收发;
所述业务处理层完成终端接入管理和动态配置管理,实现所述自定义传感器终端的传感器动态集成和即插即用;
其中,所述自定义传感器终端的传感器动态集成,通过如下方法实现:所述系统根据所述自定义传感器终端的传感器配置,整体下发其所有传感器的485查询指令和响应解析内容,终端接收后生效执行,从而使所述自定义传感器终端能够集成各类485接口的传感器;
所述自定义传感器终端的传感器的即插即用,通过如下方法实现:
步骤a1,确定新增传感器是否是所述系统已有的485传感器类型,如果是,执行步骤a2,如果不是,配置所述新增传感器的485请求命令和响应解析各个字段说明,485请求命令需配置字段包括:操作码、寄存器起始位置和寄存器长度,响应解析需配置字段包括:响应内容长度和响应内容起始位置,所述系统将所述新增传感器类型加入已知传感器类型;
步骤a2,确定所述新增传感器对应的终端设备,新增一条对应所述新增传感器的配置,填写所述新增传感器的485地址,配置所述新增传感器对应的生产单元,将所述新增传感器的485地址和对应的生产单元信息保存到传感器配置表中;
步骤a3,新增控制设备通过继电控制器配置完成,首先确定所述新增控制设备接入的继电控制器是否已配置过,如果已配置,则说明所述继电控制器的485地址和485命令参数已存在系统配置中;否则需要配置所述继电控制器的地址和485命令参数;然后配置所述新增控制设备对应的继电控制器控制单元,配置所述新增控制设备对应的生产单元;将所述新增控制设备的485地址和对应的生产单元信息保存到控制设备配置表中;
步骤a4,所述系统触发一条配置生效消息下发给所述新增传感器对应的自定义传感器终端,生效消息携带步骤a1和步骤a2中的配置参数;所述自定义传感器终端收到配置生效消息后生效,将所述新增传感器查询命令加入轮询队列,在下一轮请求查询所述新增传感器的数值并解析响应;
步骤a5,当所述自定义传感器终端上电时,所述自定义传感器终端开始初始化,初始化阶段会发送登录请求消息,登录请求消息携带终端ID,所述系统会根据终端ID解析传感器配置表和控制设备配置表,响应的登录成功消息中包含所述自定义传感器终端下所有传感器和控制设备的485查询指令与解析方法;
步骤a6,所述自定义传感器终端周期发送485传感器查询指令采集环境数据,达到上报周期时,会将所述自定义传感器终端下接入的所有传感器采集到的环境数据封装成一条上报消息发送给所述系统,上报消息中包含所述新增传感器采集到的环境数据;
对于所述固定传感器终端,分为两类终端:接入传感器的是采集类终端,接入继电控制器的是控制类终端;固定传感器终端接入所述系统后需要完成环境采集参数、控制参数、生产单元配置,具体方式为:
步骤a7,确定需要新增固定传感器的生产单元,后续固定传感器终端采集的环境参数将关联到所述生产单元;
步骤a8,在所述系统中选择固定传感器终端产品,如果所述系统不存在所述固定传感器终端产品,需要配置终端产品参数,包括:终端厂家、终端产品名称、采集或控制的参数,以及数据上报格式;对于接入传感器的固定传感器终端,配置采集的具体环境参数,对于接入继电控制器的固定传感器终端,配置继电控制器的控制单元数和每个控制单元对应的具体的控制设备;
步骤a9,将所述固定传感器终端部署在配置好的生产单元,启动后,所述固定传感器终端周期上报数据,上报数据包括传感器采集到的环境数据和控制继电器的各个控制单元的开关状态;所述系统根据步骤a8中配置的终端产品参数及数据上报格式,对上报的数据进行解析。
2.根据权利要求1所述的一种轻量级智慧农业异构物联网管理系统,其特征在于,所述业务处理层完成环境数据存储,包括:所述业务处理层对所述自定义传感器终端和所述固定传感器终端上报的环境数据进行压缩存储,在时间旋转门算法SDT数值压缩的基础上,计算每轮的汇聚时长,通过限定最大允许汇聚周期达到提高压缩精度的目的,具体方法为:
步骤a6-1,初始化参数:确定每种将被传感器采集的环境因素的正常取值范围[m,n]和正常环境因素单位时间变化率k,其中正常环境因素单位间隔变化率k通过传感器的量程和历史数据进行判断;
确定每一类环境因子的线性趋势差异度,即确定旋转门门限值E的取值;
创建传感器数值压缩缓存结构:在内存中为每个传感器初始化一个固定长度的缓存队列,数值队列长度计算方式为:L=T/P,其中L为数值队列长度,T为汇聚周期,P为采样上报间隔;
步骤a6-2,过滤数值异常点:收到所述自定义传感器终端与所述固定传感器终端上报的环境数据后,解析出所有的传感器数值后,加入每个传感器的缓存队列前,判断过滤两种异常值:第一种,过滤各传感器超过合理范围[m,n]的孤立点;第二种,过滤环境因素单位时间变化率超过正常环境因素单位时间变化率k的突变点;所述孤立点和突变点均为异常值,当发现异常值后,使用处理值替代异常值,处理值的计算方法为:
Vnext=Vnow±|k|,
如果是第一种异常值,对于上述公式中的±,则当前异常值Vabnorm>n时,取正号,当前异常值Vabnorm<m时,取负号;
如果是第二种异常值,对于上述公式中的±,则Vabnorm-Vnow>k时,取正号,Vnow-Vabnorm>k时,取负号;
其中,Vabnorm为当前异常值,Vnext为判断能否加入缓存队列进行压缩的当前处理值,Vnow为缓存队列的当前取值;
步骤a6-3,使用时间旋转门算法对传感器的缓存队列进行压缩汇聚。
3.根据权利要求2所述的一种轻量级智慧农业异构物联网管理系统,其特征在于,步骤a6-3包括:
步骤a6-3-1,所述自定义传感器终端与所述固定传感器终端上报的环境数据经过步骤a6-2的处理后,对每个传感器的采集值判断当前传感器的缓存队列中是否有数据,如果没有数据,所述采集值作为旋转门的起始点加入队列,当前时刻记为t0,此时以所述采集值的上下两个单位E作为支点形成两扇门,此时这两扇门是关闭的,进入步骤a6-3-2;如果有数据,说明当前的门起点已存在,直接进入步骤a6-3-2;
步骤a6-3-2,ta时刻,从所述自定义传感器终端与所述固定传感器终端上报的环境数据中取得传感器的新值,判断ta时刻至t0时刻的间隔是否超过汇聚周期T,如果没有超过,进入步骤a6-3-3,否则进入步骤a6-3-4;
步骤a6-3-3,旋转门在ta时刻取得一个新值,更新门的打开角度,两扇门只能顺着打开的方向越开越大,如果新值将引起一扇门内角变小则当前这扇门的角度保持不变,判断两扇门的内角和是否大于180度,如果否,则将所述新值追加到队列末尾,更新表头中的队列位置为加1,继续等待下一条记录;如果两扇门的内角和超过180度则表示当前数值的变化率超过门限值E,进入步骤a6-3-4;
步骤a6-3-4,将当前传感器缓存队列中的所有数值汇聚成一条统计记录插入到压缩汇聚表,统计记录包括:当前传感器数值和当前时间ta、缓存队列中的最大值、最小值、平均值、中位数和总个数,清空当前传感器缓存数据后将当前采集值作为缓存队列的第一条记录,当前时刻记为t0,进入到步骤a6-3-1,开启一个新的旋转门,完成下一个分段直线的压缩;
时间旋转门算法的最终压缩结果是将从初始点的数值分别向上和向下单位E作为旋转门上下支点,确定后续数值点与上下支点的内角和,对内角和小于180度的数值点进行压缩,直到出现内角和不小于180度的数值点,取该点为终点;取首尾两个点的直线来替代这一系列连续的数值点,将所述一系列连续的数值点的统计值加入压缩汇聚表,因此压缩汇聚表中存储的是一系列t0和ta首尾相连组成的直线段和直线段上的统计值。
4.根据权利要求3所述的一种轻量级智慧农业异构物联网管理系统,其特征在于,所述业务处理层完成环境数据获取,即所述业务处理层支持环境数据查询,环境数据查询分为实时查询和历史查询两类,其中,所述实时查询通过如下步骤实现:
步骤b1,根据用户查询请求中的生产单元ID查找步骤a2中的传感器配置表,获得生产单元下所有的传感器ID集合,生成响应对象name和value的集合,其中name是新增传感器时配置的传感器名字,value是传感器最近一次采集的数值;
步骤b2,遍历传感器ID集合,将传感器ID作为索引查找步骤a6-1所述的内存中的压缩缓存结构,获得当前传感器的缓存队列,根据表头中的队列位置指针取得队列末尾的数据,即将当前传感器最新的一条上报记录作为实时数据;
步骤b3,遍历完成后将步骤b1中的value填上步骤b2得到的实时数据,将name和value的集合返回请求端。
5.根据权利要求4所述的一种轻量级智慧农业异构物联网管理系统,其特征在于,所述历史查询是根据步骤a6-3-4生成的压缩汇聚表,将压缩后的数据按照原来的采集周期进行直线插值,将插值后的结果返回,通过如下步骤实现:
步骤c1,第一次查询请求携带生产单元ID和查询起止时间,根据查询请求的生产单元ID查找步骤a2中的传感器配置表,获得生产单元下所有的传感器ID集合;
步骤c2,使用传感器ID和起止时间作为查询参数,所述业务处理层遍历每个传感器ID查询每个传感器ID命中的结果个数,生成传感器ID和命中结果条数的摘要集合返回;
步骤c3,查询请求端根据返回的摘要信息能够选择不同的传感器ID,查询其详细记录,发出第二次查询请求,第二次查询请求参数中携带具体的传感器ID,所述业务处理层查询步骤a6-3-4中生成的压缩汇聚表,并根据时间间隔使用线性插值法生成每个周期上报时间点的传感器取值,得到新的数值集合S';
步骤c4,将新的数值集合S'返回给请求端。
6.根据权利要求5所述的一种轻量级智慧农业异构物联网管理系统,其特征在于,步骤c3中,所述线性插值法的步骤如下:
步骤c3-1初始化传感器ID对应的返回的环境数值集合S为步骤c3中从压缩汇聚表中查询到的压缩数值集合;
步骤c3-2,遍历步骤c3,如果压缩数值集合中前一个时间节点为tm,当前时间节点为tn,比较tm与tn的间隔与终端采集数据上报间隔P之间的关系,如果tn-tm>P,说明tm与tn这段时间内存在被压缩掉的环境数据,需要使用线性插值法插入中间点数据,进入步骤c3-3;如果tn-tm=P,说明这两个相邻的时间点采集的数据中间没有被压缩数据,无需插入中间点数据,更新当前时间点为tm,继续步骤c3-2的遍历,取下一个时间节点进行判断;
步骤c3-3按照终端上报间隔P依次插入被压缩的环境数值到S集合中,记录tm和tn两个时刻的环境数值分别为Vm和Vn
tm和tn两个时刻的数值斜率kmn=(Vn-Vm)/(tn-tm),则tm和tn两个时刻间被压缩掉的环境数值按照上报间隔P进行线性插值,tm和tn之间的第x个间隔时刻tx的插值结果为Vx=Vm+kmn*(xP),且x=1,2,3..,(tn-tm)/P-1,此时tx=tm+xP;
将被压缩上报时间和插值计算的数值集合{tx,Vx},当x=1,2,3..,(tn-tm)/P-1,按照顺序依次插入到集合S中tm和tn两个时刻之间,形成新的数值集合S'。
7.根据权利要求6所述的一种轻量级智慧农业异构物联网管理系统,其特征在于,所述业务处理层完成设备远程控制,采用基于HTTP协议的延迟响应异步控制机制,所述基于HTTP协议的延迟响应异步控制机制由所述访问控制层、所述业务处理层、所述消息解析层和所述通信传输层的相关功能协作完成,其中所述访问控制层完成与控制请求端的HTTP协议交互与延迟响应;所述业务处理层的设备远程控制功能完成控制命令的协议转换,使用队列和回调函数完成响应消息的异步处理;所述消息解析层和所述业务处理层负责与所述自定义传感器终端和所述固定传感器终端两类终端对接和消息解析,具体包括如下步骤:
步骤d1,所述访问控制层接收到针对一个设备ID的HTTP控制命令,设置当前设备ID的超时响应和等待超时两个回调函数,并将这两个回调函数注册给所述业务处理层的控制功能用于响应和超时事件的调用,进入所述业务处理层的控制逻辑,传入设备ID和控制参数;
步骤d2,所述业务处理层收到设备ID与控制参数后,将所述访问控制层的两个回调函数绑定到以设备ID为主键、回调函数为值的哈希表中;
步骤d3,所述业务处理层根据设备ID查找步骤a3中的控制设备配置表,获取被控设备接入的终端ID,按照对应的终端的消息格式生成控制请求命令发送给消息解析层完成协议编码,并转发所述通信传输层,所述通信传输层根据终端ID选择对应的通信链路,将控制请求发送给所述自定义传感器终端和所述固定传感器终端;
步骤d4,所述自定义传感器终端和所述固定传感器终端执行控制命令成功后,向所述通信传输层发送成功响应,所述消息解析层解码后,将终端ID及其控制结果上传给所述业务处理层;
步骤d5,所述业务处理层根据控制设备配置表由终端ID获得被控设备ID,使用设备ID查找步骤d2中所述的哈希表,执行超时响应的回调操作,并将所述设备ID对应的哈希记录删掉;
步骤d6,所述业务处理层周期性扫描步骤d2中所述的哈希表,当发现有控制设备的请求超时但没有收到响应后,执行所述设备ID存在哈希表中的超时响应的回调操作,并将当前设备ID记录删掉。
8.根据权利要求7所述的一种轻量级智慧农业异构物联网管理系统,其特征在于,所述访问控制层包括北向接口,用于实现配置管理、应用访问控制,提供访问安全控制策略,包括:所述北向接口使用HTTP消息携带口令Token方式进行用户身份认证,利用用户与系统资源的对应关系实现访问权限的控制,根据生产单元、终端、传感器、继电器、被控设备的配置关系,将用户与生产单元关联,生产单元与物联网硬件设备关联,由此实现基于生产单元的访问安全控制策略,用户只能访问管理自身的农业生产单元下的环境数据和设备;
所述访问安全控制策略支持动态授权管理,即用户A能够授权系统内的其他用户B访问自己生产单元下的环境数据,并能够单独配置被控设备的权限是否开放;
所述消息解析层用于完成终端鉴权与消息加解密处理,即对于所述固定传感器终端,由其接入协议定义的安全鉴权方式完成终端的安全性管理,所述系统不做额外安全处理;
对于所述自定义传感器终端,由所述系统完成终端鉴权与收发消息的加解密,终端鉴权是由所述系统校验终端串号的合法性,消息加解密是使用对称加密算法和消息密钥完成收发双方的消息加解密,使用非对称算法完成终端登录阶段消息密钥的保密分发,具体包括如下内容:
步骤e1,用户绑定新的自定义传感器终端:用户端使用HTTPS安全协议登录所述系统后,用户绑定新终端,填写终端串号发送绑定请求携带用户ID、串号;
所述系统为每个自定义传感器终端生成并维护一对公钥和私钥,并将对应的公钥在绑定响应中发送给用户端,通过离线配置的方式将所述公钥配置到终端上;
步骤e2,所述自定义传感器终端使用步骤e1中离线配置好的公钥加密登录请求消息,系统私钥解密后确认用户携带正确的串号,生成128位的消息密钥作为登录成功的响应参数,使用私钥加密后发给自定义传感器终端,所述自定义传感器终端用公钥解密后保存消息密钥,并在后续收发消息使用该密钥;
对于所述自定义传感器终端,非对称加密算法仅用在终端登录请求和响应这两条消息加密传输上;
步骤e3,所述自定义传感器终端与所述系统的消息交互使用消息密钥进行加密,所有的通信消息采用密文传输的方式进行传输;
步骤e4,所述系统周期性更新对称加密密钥,通过密钥更新命令通知所述自定义传感器终端使用新的密钥,所述自定义传感器终端成功应答后,启用新的加密密钥;
步骤e5,当用户A将所述自定义传感器终端绑定到其他用户B名下时,用户A登录所述系统执行解绑操作,所述系统将通知所述自定义传感器终端解除绑定,所述自定义传感器终端将停止业务流程后进入初始化状态,等待重新启动,完成新用户的绑定操作。
CN202010249853.4A 2020-04-01 2020-04-01 一种轻量级智慧农业异构物联网管理系统 Active CN111163181B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010249853.4A CN111163181B (zh) 2020-04-01 2020-04-01 一种轻量级智慧农业异构物联网管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010249853.4A CN111163181B (zh) 2020-04-01 2020-04-01 一种轻量级智慧农业异构物联网管理系统

Publications (2)

Publication Number Publication Date
CN111163181A CN111163181A (zh) 2020-05-15
CN111163181B true CN111163181B (zh) 2022-10-04

Family

ID=70567851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010249853.4A Active CN111163181B (zh) 2020-04-01 2020-04-01 一种轻量级智慧农业异构物联网管理系统

Country Status (1)

Country Link
CN (1) CN111163181B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910651B (zh) * 2021-01-15 2022-07-01 烽火通信科技股份有限公司 一种智慧灯杆与接入设备id自动绑定方法及系统
CN112666877B (zh) * 2021-02-01 2022-11-29 亚特智物联技术(广东)有限公司 一种物联网的控制系统
CN113595969A (zh) * 2021-04-13 2021-11-02 彭松英 一种基于多次核验的物联网信息保护系统
CN113141308B (zh) * 2021-06-21 2021-09-14 之江实验室 一种轻量化的有线Mesh组网设计方法
CN113848791B (zh) * 2021-09-29 2023-06-06 金陵科技学院 一种低功耗通用农业环境监测终端
CN114760285B (zh) * 2022-04-12 2023-06-30 福建新大陆软件工程有限公司 一种物联网传感器配置和控制方法及系统
CN115150204B (zh) * 2022-09-05 2023-01-10 广州中浩控制技术有限公司 一种数据传输系统
CN115277790B (zh) * 2022-09-19 2022-12-09 国网湖北省电力有限公司电力科学研究院 一种分布式电源即插即用的自注册通信方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468609A (zh) * 2014-12-23 2015-03-25 天津市初志科技有限公司 一种物联网数据采集网关及数据加密方法
CN106713018A (zh) * 2016-12-08 2017-05-24 中国电信股份有限公司物联网分公司 消息队列业务数据调度及消息队列的实现方法
CN108512909A (zh) * 2018-03-14 2018-09-07 日照职业技术学院 一种基于物联网的计算机远程控制系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122422B (zh) * 2017-04-06 2019-09-24 山东建筑大学 面向服务的智慧住区实时数据库系统及其工作方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468609A (zh) * 2014-12-23 2015-03-25 天津市初志科技有限公司 一种物联网数据采集网关及数据加密方法
CN106713018A (zh) * 2016-12-08 2017-05-24 中国电信股份有限公司物联网分公司 消息队列业务数据调度及消息队列的实现方法
CN108512909A (zh) * 2018-03-14 2018-09-07 日照职业技术学院 一种基于物联网的计算机远程控制系统

Also Published As

Publication number Publication date
CN111163181A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111163181B (zh) 一种轻量级智慧农业异构物联网管理系统
CN109412937B (zh) 网关、LoRa网络系统、网关运行方法及存储介质
CN111163147A (zh) 网关设备、多协议数据传输方法和计算机设备
CN112995348B (zh) 物联网设备的控制方法、装置、系统
Priyantha et al. Tiny web services: design and implementation of interoperable and evolvable sensor networks
CN109040261A (zh) 一种智能冰箱的物联网管理平台和管理方法
WO2015106702A1 (zh) 一种基于sdmp协议的智能设备的云平台控制方法
US10904340B2 (en) Method for operating an automation network
WO2022001674A1 (zh) 用于微型智能传感器的通信系统、方法和装置
KR102369160B1 (ko) 신호 통신 시스템
EP2945340B1 (en) Operation trigger method and device for machine-to-machine communications
CN104936312B (zh) 具有数据预处理及设备管理功能的物联网智能节点的工作方法
CN103873540B (zh) 一种低能耗的远程存储系统及其设计方法
CN113765713A (zh) 一种基于物联网设备采集的数据交互方法
CN102724325A (zh) 一种基于VxWorks的能耗监测数据采集设计方法
Di Francesco et al. A storage infrastructure for heterogeneous and multimedia data in the internet of things
JP6416585B2 (ja) 安全なリモートアクセスのためのシステムおよび方法
JP6496522B2 (ja) 安全なファイル転送のためのシステムおよび方法
KR100978141B1 (ko) 유선 및 무선 통합 게이트웨이 및 그 동작 방법
CN104270432B (zh) 基于钻井行业实时数据服务系统及数据交互方法
US20220103634A1 (en) Device registration mechanism
Spinsante et al. Data management in ambient assisted living platforms approaching IoT: A case study
CN100536459C (zh) 数据采集方法及数据采集系统
CN102821398B (zh) 一种面向用户多需求的传感器网络数据存取方法及系统
US20160282139A1 (en) Data Collection Device and Method to Support Multiple Profiles in a Utility Meter System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant