多元数据感知计算引擎及其中间件数据处理方法与流程

文档序号:12364523阅读:438来源:国知局
多元数据感知计算引擎及其中间件数据处理方法与流程

本发明涉及物联网领域,具体地,涉及一种多元数据感知计算引擎及其中间件数据处理方法。



背景技术:

目前,在物联网应用中,采集的传感信息主要是以流的形式输入到智能分析系统中,对于此类数据的处理、存储与查询相对于传统数据库中的静态数据操作具有很大的区别。数据流是连续、实时、快速、大量、不可预测的一段数据项的序列。在物联网应用中,部署在应用环境中的传感器种类是多种多样的,所采集的数据也具有很强的异构性。多元数据感知计算是进行智能分析控制和专家诊断的首要条件。通过传感器对整个园区的生态环境进行检测,从而及时掌握影响园区环境的一些参数,并根据参数变化适时调控如灌溉系统、保温系统等,确保农作物有最好的生长环境,以提高产量、保证质量。例如在保温系统中,通过采集、分析和控制土壤湿度、土壤成分、pH值、降水量、温度、空气湿度和气压、光照强度、CO2浓度等来获得作物生长的最佳条件,将生物信息获取方法应用于无线传感器节点,为温室精准调控提供科学依据。而数据流的特性使的数据流处理中存在以下问题,一方面,传感数据流海量性的特征对数据存储提出了很大挑战,如果将所有数据放入数据库中进行静态存储,不仅造成了存储空间的浪费,同时也降低了查询效率。另一方面,数据流快速、连续、实时的特点使得对传感数据的分析不能只停留在对静态采样值数据的查询上。



技术实现要素:

本发明的目的在于,针对上述问题,提出一种多元数据感知计算引擎及其中间件数据处理方法,以实现对采样值进行筛选并在有限空间内进行实时、连续、快速响应查询的优点。

为实现上述目的,本发明采用的技术方案是:

一种多元数据感知计算引擎的中间件数据处理方法,包括,通过适配器将接收的不同的数据流分流管理;

对适配器进行分流管理后的数据流进行预处理并按照预先设定的查询声明对数据流进行连续查询;

将连续查询所得的结果按照不同的主题发布到数据总线。

优选的,所述对适配器进行分流管理后的数据流进行预处理,具体包括标准化处理和错误值处理,

所述标准化处理,即将接收的数据,转换为统一的标准格式;

所述错误值处理:即接收的数据包在解包后,首先对数据有效性进行判定,如果数据不在正常值范围之内,则判断该数据包为错误数据包,错误数据包被抛弃,正常值范围由用户根据不同的检测值类型而设置。

优选的,所述按照预先设定的查询声明对数据流进行连续查询,具体包括为:异常数据处理和数据统计,

所述异常数据处理,即经过标准化和错误值处理后,得到的正确数据包实时到达形成数据流,中间件内的异常值监测声明对数据流进行查询,异常值监测声明根据设置的安全范围将异常数据提取出来;

所述数据统计,即通过在数据流中建立数据快照,对快照内的数据进行统计分析,并将分析的数据输出。

优选的,所述异常数据处理具体数据流程为:

中间件接收的数据包内存储了传感器ID、发送时间与感应数值,数据包实时到达形成数据流进入数据流中间件中,中间件利用异常值监测声明对数据流进行查询,异常值监测声明建立了两个层次的窗口,首先为每一个独立传感器节点建立了一个单独的数据流,在此基础之上,异常值监测声明建立一个长度为3分钟的基于时间的跳跃窗口,既每3分钟更新窗口内数据进行重新匹配,在此数据窗口基础上,异常值监测声明对每个传感器的感应数据的安全范围进行设置,将所有异常数据提取出来,为了与错误数据相区别,异常值监测声明中明确只有3分钟内出现三次以上的异常数值,该传感器节点才会被记录,所有记录下的传感器节点信息被按照ID分组,并将3分钟内传感器感应数据中的最大值与最小值提取并进行重新打包。

优选的,将连续查询所得的结果按照不同的主题发布到数据总线,具体为通过事件流输出适配器发布到数据总线。

同时本发明技术方案还公开一种多元数据感知计算引擎,包括,传感器数据流中间件、传感器数据服务器和采样值数据库集群;

所述传感器数据流中间件接收的来自传感器网络的数据按照本发明技术方案公开的方法处理后,发布到数据总线,传感器数据服务器对发布到数据总线的不同主题的结果进行订阅,传感器数据服务器将不同主题的数据分开存储与处理,所述采样值数据库集群与传感器数据服务器通信连接。

优选的,所述传感器数据服务器将不同主题的数据分开存储与处理,具体为对于数据统计得到的采样值统计数据,传感器数据服务器将其保存在采样值数据库集群当中或直接用于实时数据展示;

对于异常数据处理得到的异常值预警数据,传感器数据服务器调用相关的预警模块对事件进行处理。

本发明的技术方案具有以下有益效果:

本发明技术方案,通过中间件对采样值进行筛选,剔除错误与冗余采样值数据。而传感器数据以动态的方式传入中间件,通过建立动态查询条件,实现在有限空间内进行实时、连续、快速响应查询的功能,从而达到对采样值进行筛选并在有限空间内进行实时、连续、快速响应查询的目的。完成对传感器动态数据进行错误处理,数据去冗余,数据概况分析与异常数据预警等功能。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明实施例中的多元数据感知计算引擎数据处理过程流程图;

图2为本发明实施例中的数据流异常值检测流程示意图;

图3为本发明实施例中的数据统计声明返回数据示意图;

图4为本发明实施例中的多元数据感知计算引擎的用户界面设计示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

一种多元数据感知计算引擎的中间件数据处理方法,包括,通过适配器将接收的不同的数据流分流管理;

对适配器进行分流管理后的数据流进行预处理并按照预先设定的查询声明对数据流进行连续查询;

将连续查询所得的结果按照不同的主题发布到数据总线。

优选的,对适配器进行分流管理后的数据流进行预处理,具体包括标准化处理和错误值处理,

标准化处理,即将接收的数据,转换为统一的标准格式;

错误值处理:即接收的数据包在解包后,首先对数据有效性进行判定,如果数据不在正常值范围之内,则判断该数据包为错误数据包,错误数据包被抛弃,正常值范围由用户根据不同的检测值类型而设置。

优选的,按照预先设定的查询声明对数据流进行连续查询,具体包括为:异常数据处理和数据统计,

异常数据处理,即经过标准化和错误值处理后,得到的正确数据包实时到达形成数据流,中间件内的异常值监测声明对数据流进行查询,异常值监测声明根据设置的安全范围将异常数据提取出来;

数据统计,即通过在数据流中建立数据快照,对快照内的数据进行统计分析,并将分析的数据输出。

优选的,异常数据处理具体数据流程为:

中间件接收的数据包内存储了传感器ID、发送时间与感应数值,数据包实时到达形成数据流进入数据流中间件中,中间件利用异常值监测声明对数据流进行查询,异常值监测声明建立了两个层次的窗口,首先为每一个独立传感器节点建立了一个单独的数据流,在此基础之上,异常值监测声明建立一个长度为3分钟的基于时间的跳跃窗口,既每3分钟更新窗口内数据进行重新匹配,在此数据窗口基础上,异常值监测声明对每个传感器的感应数据的安全范围进行设置,将所有异常数据提取出来,为了与错误数据相区别,异常值监测声明中明确只有3分钟内出现三次以上的异常数值,该传感器节点才会被记录,所有记录下的传感器节点信息被按照ID分组,并将3分钟内传感器感应数据中的最大值与最小值提取并进行重新打包。

优选的,将连续查询所得的结果按照不同的主题发布到数据总线,具体为通过事件流输出适配器发布到数据总线。

同时本发明技术方案还公开一种多元数据感知计算引擎,包括,传感器数据流中间件、传感器数据服务器和采样值数据库集群;

传感器数据流中间件接收的来自传感器网络的数据按照本发明技术方案公开的方法处理后,发布到数据总线,传感器数据服务器对发布到数据总线的不同主题的结果进行订阅,传感器数据服务器将不同主题的数据分开存储与处理,所述采样值数据库集群与传感器数据服务器通信连接。

优选的,传感器数据服务器将不同主题的数据分开存储与处理,具体为对于数据统计得到的采样值统计数据,传感器数据服务器将其保存在采样值数据库集群当中或直接用于实时数据展示;

对于异常数据处理得到的异常值预警数据,传感器数据服务器调用相关的预警模块对事件进行处理。

具体的以开发工具:Eclipse Java EE IDE for Web Developers;Esper 4.6.0对本发明技术方案进行以下具体说明:应该理解,本领域技术人员采用本发明技术方案的原理而使用别的开发工具从而达到本发明技术效果的具体实施例应该视为下列具体实施例的等同。

传感器数据的采集与预处理主要发生在系统的接入层。在实现上,数据流中间件采用了开源的Esper复杂事件处理引擎(CEP:Complex Event Processing)作为核心的数据流引擎。Esper提供了强大的事件流过滤、分析与处理能力,并支持通过可定制声明(Statements)对事件流进行动态的连续查询。

如图1所示,首先,部署在业务场景中的传感器子节点会按照一定频率通过无线传感器网络提交数据给主节点。主节点再按照预先设定的发送频率和格式通过GPRS、3G、Internet等多种形式递交数据给数据流中间件。数据流中间件通过适配器将不同的数据流分流管理,对数据进行预处理并按照预先设定的查询声明对数据流进行连续查询。连续查询所得的结果会按照不同的主题(Topic)发布到数据总线,而传感器数据服务器同样在数据总线对主题进行订阅。传感器数据服务器会将不同的数据分开存储与处理。对于采样值统计数据,传感器数据服务器会将其保存在采样值数据库集群当中或直接用于实时数据展示。对于异常值预警数据,传感器数据服务器会调用相关的预警模块对事件进行处理。

错误值处理:

传入传感器数据流中间件的数据包在解包后,会首先对数据有效性进行判定。如果数据不在正常值范围之内,则判断该数据包为错误数据包,这样的包将被系统抛弃而不作为事件传入数据流引擎。正常值范围由用户根据不同的检测值类型而设置。

异常数据处理:

异常值预警是传感器数据管理系统中一项非常重要的功能。由于传感器数据海量实时的特性,对静态数据进行异常值查询不仅效率偏低也会影响到预警的效果。而对数据流的连续查询使得实时的预警成为可能。通过设定检测值得相应正常值范围声明,中间件可以在异常值数据流经过的瞬间抛出警报给服务层以进行相应的处理。传感器数据的异常值需要与采集传输中造成的错误值相区分。所以在编写连续查询语句时,会忽略偶尔出现的波动值,而是针对一段时间内多次出现的异常值进行匹配。

例如,下面假设通过温湿度传感器对温室内的温度以及湿度进行异常值监测。监测过程如图2所示。

传感器数据包内存储了传感器ID、发送时间与温湿度数值。数据包实时到达形成数据流进入数据流中间件中,中间件利用如图所示异常值监测声明对数据流进行查询。该声明建立了两个层次的窗口,首先利用std:groupwin()声明为每一个独立传感器节点建立了一个单独的数据流view。在此基础之上,声明通过win:time_batch()方法建立了一个长度为3分钟的基于时间的跳跃窗口,既每三分钟更新窗口内数据进行重新匹配。在此数据窗口基础上,声明对每个传感器的温度安全范围进行了设置。通过not in语句,所有异常数据被提取出来。为了与错误数据相区别,声明中明确了只有三分钟内出现三次以上的异常数值,该传感器节点才会被记录。所有记录下的传感器节点信息被按照ID分组,并将3分钟内的温湿度最大值与最小值提取进行重新打包,生成MapData。数据通过消息总线传递给异常值预警模块。模块则针对不同的情况采取措施。在声明中,温湿度正常范围、时间窗口长度、以及异常判别次数均可以由用户设置并且可以通过statement update进行实时更改。这增加了异常值监控的灵活性,也使其用途更加广泛。

数据统计:

传感器数据往往具有很强的稳定性,如果不是发生异常,数据往往维持在某一点不变。所以在上层应用的实时数据查询中,如果返回数据流中的每一个文件包的数据,应用需要处理大量的数据更新。这样做大量消耗了系统的性能,但是数据却并没有明显的波动,得不偿失。所以,传感器数据的统计对数据的实时展示具有很重要的意义。数据流引擎通过在数据流中建立数据快照(Data SnapShot),对快照内的数据进行统计分析,并将真正对上层应用有意义的内容返回。例如,在检测温室内温湿度时,中间件可以每五分钟返回一组当前温室内温湿度的平均值、最大值与最小值,给服务层一个全面的数据概览。

假设如下传感器的数据包结构与上述一致,下面的数据统计声明返回了温室内每个传感器在过去五分钟内温湿度的最大值、最小值与平均值。如图3所示。在得到统计数据后,中间件将数据同样包装成为MapData发布到消息总线上。传感器数据服务器从消息总线获取统计数据包,将数据存储或应用于进一步的实时数据展示。

用户界面设计:

如图4所示,界面主要提供了便捷的方式供用户对中间件进行设置和操作。同时也提供日志展示中间件的系统与业务运行状态。用户界面主要包括了如下几个部分。

1、业务日志:展示经过中间件连续查询后输出的业务事件。例如:传感器数据统计结果,异常数据预警信息等。

2、系统日志:展示中间件系统信息。例如:中间件启动、暂停、接受数据包、抛弃错误数据包等。

3、系统参数设置区:设置中间件连续查询条件参数。例如,参数正常值范围,统计时间间隔等。

4、中间件启动按钮:控制中间件的启动与停止。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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