一种传感器数据解析方法及系统与流程

文档序号:21000746发布日期:2020-06-05 22:39阅读:244来源:国知局
一种传感器数据解析方法及系统与流程

本发明涉及软件领域,特别是涉及一种传感器数据解析方法及系统。



背景技术:

传感器节点需要采集并存储生产过程中的传感器数据,为工艺监控及优化、效益评估以及管理决策等上层应用提供高效的数据服务,面对各行各业不同环境下的物联网应用,物联网的汇聚节点会接入各种不同厂商所提供的应用服务器,应用服务器解析汇聚节点封装的传感器数据后,才能应用传感器数据。

然而,现有的应用服务器在解析传感器数据的过程中,存在以下问题,详述如下:

问题1:应用服务器不兼容汇聚节点封装传感器数据时采用的物联网应用层协议。因为物联网应用层协议较多,以物联网应用层协议1举例,汇聚节点采用物联网应用层协议1封装传感器数据时,由于厂商或设备型号不同,因此应用服务器不兼容物联网应用层协议1,此时,即使汇聚节点继续采用物联网应用层协议1,应用服务器也无法解析采用物联网应用层协议1封装的传感器数据,这样就会浪费汇聚节点和应用服务器之间的网络资源。

问题2:应用服务器兼容汇聚节点封装传感器数据时采用的物联网应用层协议,但解析传感器数据的效率低。因为目前的物联网应用层协议都是面向全部的应用服务器,不会考虑应用服务器的实际处理能力,因此无法在多种物联网应用层协议中,找出适合该应用服务器的物联网应用层协议,因此,不利于提高应用服务器解析传感器数据的效率。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种传感器数据解析方法及系统,用于解决现有技术不利于提高应用服务器解析传感器数据的效率的问题。

为实现上述目的及其他相关目的,本发明提供一种传感器数据解析方法,

应用于物联网的汇聚节点和应用服务器,所述汇聚节点中配置有多个协议接口,每个所述协议接口对应一种物联网应用层协议,所述汇聚节点分别连接簇头节点和所述应用服务器,所述汇聚节点、所述簇头节点以及所述应用服务器组成传感器数据解析系统,所述方法包括:

所述汇聚节点接收所述簇头节点通过无线传感器网络发送的第一传感器数据;

所述汇聚节点向所述应用服务器发送指示信息;

所述应用服务器根据所述指示信息向所述汇聚节点发送设备信息,所述设备信息携带有所述应用服务器的设备标识以及所述应用服务器的设备类型、设备型号、厂商id、厂商名称;

所述汇聚节点接收所述应用服务器根据所述指示信息发送的设备信息,通过每种所述物联网应用层协议分别封装所述第一传感器数据,分别生成每种所述物联网应用层协议对应的封装包,将每种所述物联网应用层协议对应的封装包发送给所述应用服务器;

所述应用服务器将所述每种所述物联网应用层协议对应的封装包的解析任务添加到与每种所述物联网应用层协议对应业务队列中;

所述应用服务器配置每种所述物联网应用层协议对应的数据解析线程,通过所述每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务;

所述应用服务器获取每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存,根据预设的解析效率指数生成模型、每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存以及预设的权值,生成每种所述物联网应用层协议在所述应用服务器下的解析效率指数;

所述应用服务器调用消息发送接口,通过所述消息发送接口向所述汇聚节点发送解析消息,所述解析信息携带有每种所述物联网应用层协议的解析结果标识以及解析效率指数;所述汇聚节点接收并存储所述应用服务器发送的所述解析信息,识别所述解析消息中的所述解析结果标识;

所述汇聚节点如果识别到所述解析结果标识为成功标识,就将每种所述物联网应用层协议的解析效率指数按从大到小的顺序依次存储在解析效率指数表中,将解析效率指数最大的所述物联网应用层协议确定为适合所述应用服务器的物联网应用层协议,将所述设备信息以及适合所述应用服务器的物联网应用层协议存储在协议表中;

所述汇聚节点采用适合所述应用服务器的物联网应用层协议封装所述簇头节点发送的第二传感器数据,将封装后的所述第二传感器数据发送给所述应用服务器,其中,所述第二传感器数据的生成时间在所述第一传感器的生成时间之后。

优选地,所述应用服务器将所述每种所述物联网应用层协议对应的封装包的解析任务添加到与每种所述物联网应用层协议对应业务队列中,具体为:

所述应用服务器获取可用的内存空间,判断所述可用的内存空间的容量是否大于预设阈值,当确定所述可用的内存空间的容量大于预设阈值时,在所述内存空间中创建每种所述物联网应用层协议对应的业务队列,创建所述每种所述物联网应用层协议对应的封装包的解析任务,将所述每种所述物联网应用层协议对应的封装包的解析任务添加到与每种所述物联网应用层协议对应业务队列中,所述每种所述物联网应用层协议均对应一个业务队列。

优选地,所述应用服务器配置每种所述物联网应用层协议对应的数据解析线程,通过所述每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务,具体为:

所述应用服务器读取处理器的工作状态,在所述处理器的工作状态为空闲状态时,通过所述处理器配置每种所述物联网应用层协议对应的数据解析线程,通过所述每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务。

优选地,在所述汇聚节点接收并存储所述应用服务器发送的所述解析信息,识别所述解析消息中的所述解析结果标识之后,所述方法,还包括:

所述汇聚节点如果识别到所述解析结果标识为失败标识,就将每种所述物联网应用层协议对应的封装包重新发送给所述应用服务器,记录重新发送的次数,直至重新发送的次数达预设次数才停止发送。

优选地,在所述汇聚节点采用适合所述应用服务器的物联网应用层协议封装所述簇头节点发送的第二传感器数据,将封装后的所述第二传感器数据发送给所述应用服务器之后,所述方法,还包括:

所述汇聚节点向其他汇聚节点传输所述协议表,以实现所述协议表的共享。

本发明提供一种传感器数据解析系统,包括汇聚节点、簇头节点以及应用服务器,所述汇聚节点中配置有多个协议接口,每个所述协议接口对应一种物联网应用层协议,所述汇聚节点分别连接簇头节点和所述应用服务器;所述汇聚节点包括:接收模块、第一发送模块、接收模块、识别模块、存储模块、第三发送模块;所述应用服务器包括:第二发送模块、添加模块、解析模块、获取模块、调用模块;

所述接收模块,用于所述汇聚节点接收所述簇头节点通过无线传感器网络发送的第一传感器数据;

所述第一发送模块,用于所述汇聚节点向所述应用服务器发送指示信息;

所述第二发送模块,用于所述应用服务器根据所述指示信息向所述汇聚节点发送设备信息,所述设备信息携带有所述应用服务器的设备标识以及所述应用服务器的设备类型、设备型号、厂商id、厂商名称;

所述接收模块,用于所述汇聚节点接收所述应用服务器根据所述指示信息发送的设备信息,通过每种所述物联网应用层协议分别封装所述第一传感器数据,分别生成每种所述物联网应用层协议对应的封装包,将每种所述物联网应用层协议对应的封装包发送给所述应用服务器;

所述添加模块,用于所述应用服务器将所述每种所述物联网应用层协议对应的封装包的解析任务添加到与每种所述物联网应用层协议对应业务队列中;

所述解析模块,用于所述应用服务器配置每种所述物联网应用层协议对应的数据解析线程,通过所述每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务;

所述获取模块,用于所述应用服务器获取每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存,根据预设的解析效率指数生成模型、每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存以及预设的权值,生成每种所述物联网应用层协议在所述应用服务器下的解析效率指数;

调用模块,用于所述应用服务器调用消息发送接口,通过所述消息发送接口向所述汇聚节点发送解析消息,所述解析信息携带有每种所述物联网应用层协议的解析结果标识以及解析效率指数;

所述识别模块,用于所述汇聚节点接收并存储所述应用服务器发送的所述解析信息,识别所述解析消息中的所述解析结果标识;

所述存储模块,用于所述汇聚节点如果识别到所述解析结果标识为成功标识,就将每种所述物联网应用层协议的解析效率指数按从大到小的顺序依次存储在解析效率指数表中,将解析效率指数最大的所述物联网应用层协议确定为适合所述应用服务器的物联网应用层协议,将所述设备信息以及适合所述应用服务器的物联网应用层协议存储在协议表中;

所述第三发送模块,用于所述汇聚节点采用适合所述应用服务器的物联网应用层协议封装所述簇头节点发送的第二传感器数据,将封装后的所述第二传感器数据发送给所述应用服务器,其中,所述第二传感器数据的生成时间在所述第一传感器的生成时间之后。

优选地,在所述的系统中,所述添加模块,具体用于:

所述应用服务器获取可用的内存空间,判断所述可用的内存空间的容量是否大于预设阈值,当确定所述可用的内存空间的容量大于预设阈值时,在所述内存空间中创建每种所述物联网应用层协议对应的业务队列,创建所述每种所述物联网应用层协议对应的封装包的解析任务,将所述每种所述物联网应用层协议对应的封装包的解析任务添加到与每种所述物联网应用层协议对应业务队列中,所述每种所述物联网应用层协议均对应一个业务队列。

优选地,在所述的系统中,所述解析模块,具体用于:

所述应用服务器读取处理器的工作状态,在所述处理器的工作状态为空闲状态时,通过所述处理器配置每种所述物联网应用层协议对应的数据解析线程,通过所述每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务。

优选地,所述系统,还包括:

记录模块,用于所述汇聚节点如果识别到所述解析结果标识为失败标识,就将每种所述物联网应用层协议对应的封装包重新发送给所述应用服务器,记录重新发送的次数,直至重新发送的次数达预设次数才停止发送。

优选地,所述系统,还包括:

传输模块,用于所述汇聚节点向其他汇聚节点传输所述协议表,以实现所述协议表的共享。

如上所述,本发明的一种传感器数据解析方法及系统,具有以下两方面的有益效果,详述如下:

一方面,汇聚节点将解析效率指数最大的所述物联网应用层协议确定为所述应用服务器对应的物联网应用层协议,找出了适用于应用服务器的物联网应用层协议;

另一方面,汇聚节点采用适用于应用服务器的物联网应用层协议封装所述簇头节点发送的第二传感器数据,由于具有针对性,因此能有效地降低应用服务器解析第二传感器数据时的运行负荷,减少第二传感器数据的解析时间,进而提高应用服务器解析第二传感器数据的效率。

附图说明

图1显示为本发明传感器数据解析方法的示意图。

图2显示为本发明传感器数据解析系统的示意图。

具体实施方式

本申请提供一种传感器数据解析方法及系统,应用于物联网的汇聚节点、应用服务器,所述汇聚节点中配置有多个协议接口,每个所述协议接口对应一种物联网应用层协议,所述汇聚节点分别连接簇头节点和所述应用服务器,所述汇聚节点、所述簇头节点以及所述应用服务器组成传感器数据解析系统。

其中,物联网应用层协议包括mqtt、coap、xmpp、soap。所述汇聚节点配置有四个协议接口,四个协议接口分别对应mqtt、coap、xmpp、soap。

其中,mqtt(messagequeuingtelemetrytransport,消息队列遥测传输)。

其中,coap(constrainedapplicationprotocol,限制的应用协议)。

其中,xmpp(extensiblemessagingandpresenceprotocol,可扩展消息与存在协议)。

其中,soap(simpleobjectaccessprotocol,简单对象访问协议)。

参阅图1,本发明提供一种传感器数据解析方法,详述如下:

s1,所述簇头节点下联多个传感器节点,接收多个传感器节点上传的传感器数据,将多个传感器节点上传的传感器数据融合后,得到第一传感器数据,再通过通过无线传感器网络向所述汇聚节点发送的第一传感器数据;

s2,所述汇聚节点接收所述簇头节点通过无线传感器网络发送的第一传感器数据;

s3,所述汇聚节点向所述应用服务器发送指示信息;

s4,所述应用服务器根据所述指示信息向所述汇聚节点发送设备信息,所述设备信息携带有所述应用服务器的设备标识以及所述应用服务器的设备类型、设备型号、厂商id、厂商名称;

s5,所述汇聚节点接收所述应用服务器根据所述指示信息发送的设备信息,通过每种所述物联网应用层协议分别封装所述第一传感器数据,分别生成每种所述物联网应用层协议对应的封装包,将每种所述物联网应用层协议对应的封装包发送给所述应用服务器;

需说明的是,所述汇聚节点接收所述应用服务器根据所述指示信息发送的设备信息,将历史记录中的设备标识与所述应用服务器的设备标识进行匹配,如果匹配不成功,就识别其与所述应用服务器之间的连接为初次连接,通过每种所述物联网应用层协议分别封装所述第一传感器数据,生成每种所述物联网应用层协议对应的封装包,将每种所述物联网应用层协议对应的封装包发给所述应用服务器。

其中,历史记录中的设备标识就是已接入的应用服务器的设备标识。

其中,由于汇聚节点只针对初次连接的应用服务器,不用针对全部的应用服务器,因此汇聚节点不用每连接一个应用服务器,都执行步骤s5,因此既能减少封装次数,也能节省网络流量。

s6,所述应用服务器获取可用的内存空间,判断所述可用的内存空间的容量是否大于预设阈值,当确定所述可用的内存空间的容量大于预设阈值时,在所述内存空间中创建每种所述物联网应用层协议对应的业务队列,创建所述每种所述物联网应用层协议对应的封装包的解析任务,将所述每种所述物联网应用层协议对应的封装包的解析任务添加到与每种所述物联网应用层协议对应业务队列中,所述每种所述物联网应用层协议均对应一个业务队列;

其中,每种所述物联网应用层协议和业务队列的对应关系是一一对应的。

为便于说明,以3种物联网应用层协议举例,详述如下:

3种物联网应用层协议为分别为物联网应用层协议1、物联网应用层协议2、物联网应用层协议3;

物联网应用层协议1、物联网应用层协议2、物联网应用层协议3对应的业务队列分别为业务队列1、业务队列2、业务队列3;

物联网应用层协议1对应的封装包的解析任务就添加到业务队列1,物联网应用层协议2对应的封装包的解析任务就添加到业务队列2,物联网应用层协议3对应的封装包的解析任务就添加到业务队列3。

s7,所述应用服务器读取处理器的工作状态,在所述处理器的工作状态为空闲状态时,通过所述处理器配置每种所述物联网应用层协议对应的数据解析线程,通过所述每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务;

这样的有益效果是,避免了每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务,避免了不同的物联网应用层协议对应的数据解析线程,同时解析所述业务队列中的一种所述物联网应用层协议对应的封装包的解析任务,产生解析冲突的情况。

s8,所述应用服务器获取每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存,根据预设的解析效率指数生成模型、每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存以及预设的权值,生成每种所述物联网应用层协议在所述应用服务器下的解析效率指数;

需说明的是,所述解析效率指数生成模型为:

每种所述物联网应用层协议的解析效率指数=预设时间与每种所述物联网应用层协议对应的封装包在解析时的解析时间的比值*0.25+预设数据量与每种所述物联网应用层协议对应的封装包在解析时的解析数据量的比值*0.5+预设内存与每种所述物联网应用层协议对应的封装包在解析时的占用内存的比值*0.25。

其中,解析效率指数为描述解析效率高低的指数。解析效率指数越高就表示解析效率越高,解析效率指数越低就表示解析效率越低。

其中,预设时间、预设数据量、预设内存为用户自设,或系统默认,在此不做限制。

s9,所述应用服务器调用消息发送接口,通过所述消息发送接口向所述汇聚节点发送解析消息,所述解析信息携带有每种所述物联网应用层协议的解析结果标识以及解析效率指数;

需说明的是,所述解析消息的格式为{mac,protocol,id、index},其中,mac为所述应用服务器的设备标识,protocol为所述物联网应用层协议,id为解析结果标识,index为解析效率指数。

其中,通过设定解析消息的格式,这样,后续所述汇聚节点能通过解析消息的格式快速识别出解析消息中的解析结果标识。

s10,所述汇聚节点接收并存储所述应用服务器发送的所述解析信息,识别所述解析消息中的所述解析结果标识;

s11,所述汇聚节点如果识别到所述解析结果标识为成功标识,就将每种所述物联网应用层协议的解析效率指数按从大到小的顺序依次存储在解析效率指数表中,将解析效率指数最大的所述物联网应用层协议确定为适合所述应用服务器的物联网应用层协议,将所述设备信息以及适合所述应用服务器的物联网应用层协议存储在协议表中;

其中,解析效率指数表为存储解析效率指数的列表。

其中,协议表为存储适合所述应用服务器的物联网应用层协议的列表。

其中,将所述设备信息以及适合所述应用服务器的物联网应用层协议建立对应关系后存储在协议表中。

其中,协议表分为两栏,一栏存储设备信息,另一栏存储设备信息对应的适合所述应用服务器的物联网应用层协议。

s12,所述汇聚节点采用适合所述应用服务器的物联网应用层协议封装所述簇头节点发送的第二传感器数据,将封装后的所述第二传感器数据发送给所述应用服务器,其中,所述第二传感器数据的生成时间在所述第一传感器的生成时间之后。

所述应用服务器也能采用适合其的物联网应用层协议解析封装后的所述第二传感器数据。

为便于说明,以3种物联网应用层协议举例,详述如下:

3种物联网应用层协议分别为物联网应用层协议1、物联网应用层协议2、物联网应用层协议3;

物联网应用层协议1、物联网应用层协议2、物联网应用层协议3对应的解析效率指数分别为解析效率指数1、解析效率指数2、解析效率指数3;

以在解析效率指数1、解析效率指数2、解析效率指数3中解析效率指数3最大为例,由于,物联网应用层协议3对应的解析效率指数是解析效率指数3,因此,物联网应用层协议3确定为适合所述应用服务器的物联网应用层协议。

所述汇聚节点采用物联网应用层协议3封装所述簇头节点发送的第二传感器数据。相应地,所述应用服务器采用物联网应用层协议3解析封装后的所述第二传感器数据。

其中,所述第二传感器数据的生成时间在所述第一传感器的生成时间之后。在所述第一传感器的生成时间之后的传感器数据均为第二传感器数据。

比如,所述第一传感器的生成时间为下午三点,在下午三点之后,所述簇头节点发送的传感器数据均为第二传感器数据。

在本发明实施例中,本发明能有效地降低应用服务器解析第二传感器数据时的运行负荷,减少第二传感器数据的解析时间,进而提高应用服务器解析第二传感器数据的效率。

所述汇聚节点如果识别到所述解析结果标识为失败标识,就将每种所述物联网应用层协议对应的封装包重新发送给所述应用服务器,记录重新发送的次数,直至重新发送的次数达预设次数才停止发送。

其中,这样的有益效果是:实现了物联网应用层协议对应的封装包的重传。

所述汇聚节点向其他汇聚节点传输所述协议表,以实现所述协议表的共享。

请参阅图2,本发明提供一种传感器数据解析系统,包括汇聚节点、簇头节点以及应用服务器,所述簇头节点下联多个传感器节点,所述汇聚节点中配置有多个协议接口,每个所述协议接口对应一种物联网应用层协议,所述汇聚节点分别连接簇头节点和所述应用服务器;所述汇聚节点包括:接收模块、第一发送模块、接收模块、识别模块、存储模块、第三发送模块;所述应用服务器包括:第二发送模块、添加模块、解析模块、获取模块、调用模块;

所述接收模块,用于所述汇聚节点接收所述簇头节点通过无线传感器网络发送的第一传感器数据;

所述第一发送模块,用于所述汇聚节点向所述应用服务器发送指示信息;

所述第二发送模块,用于所述应用服务器根据所述指示信息向所述汇聚节点发送设备信息,所述设备信息携带有所述应用服务器的设备标识以及所述应用服务器的设备类型、设备型号、厂商id、厂商名称;

所述接收模块,用于所述汇聚节点接收所述应用服务器根据所述指示信息发送的设备信息,通过每种所述物联网应用层协议分别封装所述第一传感器数据,分别生成每种所述物联网应用层协议对应的封装包,将每种所述物联网应用层协议对应的封装包发送给所述应用服务器;

所述添加模块,用于所述应用服务器将所述每种所述物联网应用层协议对应的封装包的解析任务添加到与每种所述物联网应用层协议对应业务队列中;

所述解析模块,用于所述应用服务器配置每种所述物联网应用层协议对应的数据解析线程,通过所述每种所述物联网应用层协议对应的数据解析线程解析所述业务队列中的每种所述物联网应用层协议对应的封装包的解析任务;

所述获取模块,用于所述应用服务器获取每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存,根据预设的解析效率指数生成模型、每种所述物联网应用层协议对应的封装包在解析时的解析时间、解析数据量、占用内存以及预设的权值,生成每种所述物联网应用层协议在所述应用服务器下的解析效率指数;

调用模块,用于所述应用服务器调用消息发送接口,通过所述消息发送接口向所述汇聚节点发送解析消息,所述解析信息携带有每种所述物联网应用层协议的解析结果标识以及解析效率指数;

所述识别模块,用于所述汇聚节点接收并存储所述应用服务器发送的所述解析信息,识别所述解析消息中的所述解析结果标识;

所述存储模块,用于所述汇聚节点如果识别到所述解析结果标识为成功标识,就将每种所述物联网应用层协议的解析效率指数按从大到小的顺序依次存储在解析效率指数表中,将解析效率指数最大的所述物联网应用层协议确定为适合所述应用服务器的物联网应用层协议,将所述设备信息以及适合所述应用服务器的物联网应用层协议存储在协议表中;

所述第三发送模块,用于所述汇聚节点采用适合所述应用服务器的物联网应用层协议封装所述簇头节点发送的第二传感器数据,将封装后的所述第二传感器数据发送给所述应用服务器,其中,所述第二传感器数据的生成时间在所述第一传感器的生成时间之后。

皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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