一种物联网消息处理方法

文档序号:7993216阅读:453来源:国知局

专利名称::一种物联网消息处理方法一种物联网消息处理方法
技术领域
本发明属于物联网
技术领域
,特别涉及一种物联网消息处理方法。技术背景物联网I0T(TheInternetofThings)是指通过感知技术把物品与互联网相连接,并进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。物联网被看作是继计算机、互联网与移动通信网络之后的又一次信息产业浪潮,已经引起国内学术界、工业界和新闻媒体的高度重视。物联网是嵌入式系统、联网和控制系统等的集成。目前,物联网系统已经在仓储物流、智能电表、环境检测、医疗护理等领域得以应用。其基本的应用系统有设备管理系统、身份真伪验证系统、物联网系统管理等,提供不同类型的服务联网服务、信息服务、操作服务、安全服务和管理服务等。物联网应用系统及服务的多样性,要求对物联网中数据的应用进行集成,使得物联网所提供的服务能够互操作。且大部分物联网联网设备的计算和存储资源能力较为有限,因此,物联网系统的开发和部署是一个关键的技术。随着处理器、存储器、网络带宽等成本的下降,许多具备感知、联网和控制能力的嵌入式系统广泛应用于各类物理设备中,例如飞机、汽车、家电、工业装置、医疗器械、监控装置和日用物品等。无线射频技术(RadioFrequencyldentification,RFID)在物联网系统中也得到普遍运用。具备联网和控制能力的计算系统,采用互联网的联网技术相互连接,提供物联网系统中特有的时间和空间的控制能力。由于物联网的联网对象涉及嵌入式系统、RFID传感器和互联网CPS点等,种类较为繁多,不同联网对象间可能会采用不同的系统平台,有不同的通信协议。因此,如何对来自不同对象的数据进行可靠传输和处理,解决物联网异构平台之间的信息交换,进而完成物联网系统的快速开发和部署任务成为急待解决的问题。
发明内容本发明的目的是提供一种面向物联网应用的消息处理方法,以解决现有技术中,物联网异构平台间不同消息源消息的处理加工和可靠传输,以及物联网不同应用间的集成问题。本发明的技术方案是一种物联网消息处理方法,包括对被处理的物联网消息进行描述,该描述的结构包括声明、语句和表达式;根据对所述消息的描述,利用ECA规则,获得对所述消息的关系模型的描述以及包括有条件的描述和有动作决策的描述的对所述消息的处理过程的描述,其中ECA(Event-Condition-Action,事件-条件-动作)规则由事件、条件和动作三部分组成,采用事件触发的机制,当定义的事件发生时,如果条件得到满足,则执行预定义的行为。所述声明,用于定义消息处理过程中所需的接口设置、消息描述以及若干局部变量,接口设置指明各种不同类型的消息源,消息描述为每种类型的消息提供通用的描述格式,局部变量为消息处理过程中为满足消息交换所需的变量,所述语句,用于描述消息在各种不同数据源之间的传输及转换,当事件发生时,利用ECA规则,可触发相应的规则,语句用来描述消息处理的流程,所述表达式,是对限制条件的描述,即判断消息的一些属性是否满足条件定义,若满足指定的条件,若满足指定的条件,则触发规则中描述的操作行为。还包括使用一描述解释器,对所述物联网消息描述的自动解释和执行,对物联网系统中不同数据源的消息进行加工和处理。所述的描述解释器对所述物联网消息描述的的处理步骤包括初始化和解释执行,其中初始化,由初始化模式执行,是对消息描述进行词法、语法和语义分析,解释执行,由解释执行模块执行,是根据初始化的解析结果,执行赋值语句、表达式计算和操作语句。所述解释执行模块分为执行部件模块、适配器接口模块和目标数据源模块,所述执行部件模块作为代理,调用消息工厂生成数据,通过适配器接口模块匹配到目标数据源,调用目标数据源模块提供的相应方法执行指定的操作,执行部件模块主要包括JDBC(JavaDataBaseConnectivity,Java数据库连接)执行部件、消息队列(MQ,MessageQueue)执行部件、Web服务W^ebservice执行部件和TCP/IP执行部件,所述适配器接口模块位于数据适配层上,通过统一数据接口,提供执行部件模块操作语句到目标数据源模块可执行方法的适配,适配器接口模块包括数据库适配器、消息队列适配器、Web服务Wfebservice适配器和TCP/IP通信模块适配器,所述目标数据源模块位于数据执行层,执行各执行部件指定的操作,目标数据源主要包括数据库、消息队列、Web服务Webservice以及TCP/IP通信数据源。所述描述解释器对于物联网消息描述的的处理步骤包括Al,客户端消息代理发送来自物联网终端设备的消息,启动描述解释器,进行接收;A2,描述解释器接收后,调用初始化模块,以及调用表达式模块的初始化功能,对语言的声明部分和表达式进行预处理,即进行词法分析,语法分析、语义检查,并构建关键字变量等符号信息;A3,描述解释器调用语句构建子模块,采用递归下降法构建语句树;A4,初始化完毕,启动描述解释器的解释执行模块,首先调用表达式模块,进行表达式判定;根据判定结果,将消息进行过滤,并触发相应的操作语句;A5,操作语句会启动描述解释器的执行部件,执行部件根据操作语句的参数类型,通过统一数据适配器接口,适配到相应目标数据源执行模块。A6,通过数据适配器,将参数传递给目标数据源执行相应的操作,实现消息的过滤、分发和存储。所述描述解释器对于物联网消息描述的的处理步骤包括Bi,执行部件根据操作语句的参数类型和参数值,调用底层消息工厂,进行参数所指定的消息数据的预处理及生成;B2,执行部件根据操作语句参数值所指定的消息接口设置信息,通过统一数据适配接口模块,适配到相应的目标数据源对象;B3,执行部件根据消息接口设置的连接字段以及用户名和密码,连接目标数据源执行模块;B4,执行部件根据操作语句描述的操作类型,调用目标数据源执行模块中的相应方法,实现消息控制流和数据流的交换、集成。消息工厂是用于读取消息描述文件和消息数据信息,存放于工厂内部结构,并提供消息形态的五种转换方法。其使用是根据ECA规则触发的活动,选择消息工厂所提供的转换服务,整体来说,是处理消息应用的中间环节。为消息应用调用适配器提供前期的形态转换服务。本发明的面向物联网应用的消息处理方法立足于物联网系统中联网对象和消息种类,以及物联网服务应用类型较多,数据交换及传输频繁。为准确描述物联网消息及消息间的关系,方便物联网系统的开发和部署,提供了一种物联网消息处理描述方法及形式化描述。图1为本发明实施例中T语言的语法结构图图2为本发明实施例中T语言处理器的架构图图3为本发明实施例中T语言处理器执行模块的数据适配图具体实施方式为实现本发明的技术方案,在具体实施本发明时,基本思路是,通过定义一种面向物联网应用的体现本发明技术方案的消息处理描述语言-T语言,利用ECA规则,描述物联网消息间的关系模型;基于T语言,提出一种面向物联网应用的T语言解释器或者叫T语言处理器,通过对描述语言的自动解释和执行,实现物联网系统中不同消息源消息间的传输和处理,以及物联网不同应用间的集成问题。本发明通过提供一种松耦合策略,按照所需业务进行逻辑配置,使得物联网系统中底层数据与上层应用可以在有差异的各类应用场景中具有一定的适用性,极大方便物联网系统的开发和部署。为了使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。图1为本发明消息处理描述语言的语法结构图,具体包括声明部分,语句部分和表达式部分。声明部分,用于定义消息处理过程中所需的接口设置、消息描述以及一些局部变量。接口设置(即INTERFACE声明)指明各种不同类型的消息源,包括消息源的连接地址、用户名和密码等;消息描述为每种类型的消息提供通用的描述格式,包括消息头和消息体的组成字段,以及每一字段的描述等;局部变量为消息处理过程中以满足消息交换所需的变量。语句部分,用于描述消息在各种不同数据源之间的传输及转换,是该消息处理描6述语言的核心。利用ECA规则,当某事件发生时,可触发一条规则,并执行规则中指定的操作。语句部分的流程控制结构采用与编程语言类似的流程控制,包括IF结构、IF-ELSE结构、WHILE结构。语句有两类操作类语句和赋值语句,操作类语句提供的操作有数据库操作、消息队列操作、Webservice操作、时序操作等;赋值语句使用表达式部分提供的计算功能,对变量进行赋值。表达式部分,用于描述限制条件,并通过计算来判断消息的一些属性是否满足条件定义。若满足指定的条件,则触发规则中描述的操作行为。表达式部分包括常用的表达式(如算术表达式、关系表达式、位操作表达式、逻辑表达式等)、常用数学函数(如三角函数sinO、cosO;二次函数、椭圆计算等)。图2为本发明T语言处理器的架构图,本实施例子中,T语言处理器对语言处理的主要过程为τ语言处理器接收消息,并根据T语言文件来过滤、分发、存储消息。具体步骤如下步骤201客户端消息代理发送来自物联网终端设备的消息,启动T语言处理器,进行接收;步骤202=T语言处理器接收后,调用初始化模块,以及调用表达式模块的初始化功能,首先对语言的声明部分和表达式进行预处理,即进行词法分析,语法分析、语义检查,并构建关键字变量等符号信息;步骤203=T语言处理器调用语句构建子模块,采用递归下降法构建语句树;步骤204初始化完毕,启动T语言处理器的解释执行模块,首先调用表达式模块,进行表达式判定;根据判定结果,将消息进行过滤,并触发相应的操作语句;步骤205操作语句会启动T语言的执行部件,执行部件根据操作语句的参数类型,通过统一数据适配器接口,适配到相应目标数据源执行模块。步骤206通过数据适配器,将参数传递给目标数据源执行相应的操作,实现消息的过滤、分发和存储。图3为本发明T语言处理器执行模块的数据适配图,T语言处理器的执行部件启动后,首先调用消息工厂进行数据预处理,然后通过数据适配器,连接到目标数据源执行模块,具体步骤如下步骤401执行部件根据操作语句的参数类型和参数值,调用底层消息工厂,进行参数所指定的消息数据的预处理及生成;步骤402执行部件根据操作语句参数值所指定的消息接口设置信息,通过统一数据适配接口模块,适配到相应的目标数据源对象;步骤403执行部件根据消息接口设置的连接字段以及用户名和密码,连接目标数据源执行模块;步骤404执行部件根据操作语句描述的操作类型,调用目标数据源执行模块中的相应方法,实现消息控制流和数据流的交换、集成。本发明实施例中的T语言的语法规范有如下表示。INTERFACE声明规范接口标识符接口类型[接口属性1,接口属性2,.......];可供定义的接口类型有MQUEUE类型,TABLE类型,WEBSERVICE类型。如下所示INTERFACE,interface声明部分*/Ql:MQUEUE[<mqueue_name>,<source>,<username>,〈password〉];Tl:TABLE[<table_name>,<source>,<username>,〈password〉];WSl:WEBSERVICE[<url_string>,<username>,〈password〉];MESSAGE声明规范消息标识符消息文件名称;如下所示MESSAGE/*message声明部分*/MSGO:<msg_file_name>;广消息msgO,及其对应的消息格式描述文件7MSGl:<msg_file_name>;MSG2:<msg_file_name>;VAR声明规范变量有两种简单类型变量和复合类型变量。对于简单类型变量的声明如下变量名变量类型[=变量初值];可供定义的变量类型有B00L、INTEGER、FLOAT、DOUBLE、STRING、DATE等一般编程语言所具有的类型。如下所示empty:B00L=true;/*B00L类型变量empty,初值为true*/keyINTEGER;对于复合类型的变量,声明规范如下变量名消息标识符;可供定义的复合类型有MESSAGE和MAP类型。如下所示mapl:MAPofMSGl;/*MSG1消息的映射7m0=MSGO;/*变量m0对应消息MSGO*/ml:MSG1;语句部分定义语句部分的流程控制结构有IF语句,IF_ELSE语句和WHILE语句;操作语句有load、reload、store、update、get、put、sle印、yield等,以及赋值语句。如下所示分别为以上操作的定义方式load复合变量fromTABLE类型变量;reload复合变量from复合变量;store复合变量toTABLE类型变量;update复合变量toTABLE类型变量;get复合变量fromMQUEUE类型变量;put复合变量toMQUEUE类型变量;sleep时间变量;8yield();赋值语句的定义如下变量名=表达式求值可供定义的表达式有一般编程语言中的算术运算表达式、关系运算表达式、位操作表达式、逻辑运算表达式等),以及常用数学函数(如三角函数Sin()、c0S();二次函数、椭圆计算等)。根据本发明实施例中的T语言,可以给出以下一个实际的代码表达例子。基于T语言的描述规范,下述实施例描述的是消息从数据库中加载,并进行消息属性的判断,如果满足指定条件,则触发新事件生成,并将新事件数据写入数据库这一消息处理过程。声明三个数据库表及其相应连接信息,其中table_name属性为数据库表名,source属性为连接数据源,username属性为用户名,password属性为密码。INTERFACE/*INTERFACE声明*/TlTABLE[<table_name>,<source>,<username>,<password>]其连接信息设置7:数据库表Tl及T2TABLE[<tab1e_name>,〈source〉,〈username〉,〈password〉];T3:TABLE[〈table—name>,〈source〉,〈username〉,〈password〉];声明三个消息描述文件MESSAGE/message声明部分7MSGO:gpsSourceData.xml;/*消息msgO,及其对应的消息格式描述文件MSGl:conditionData.xml;MSG2:alarmData.xml;声明局部变量,其中mapl为MAP类型变量,映射到消息MSGl;m0至m2为三个消息类型变量。VAR/Var声明部分7empty:B00L=true;/*B00L类型变量empty,初值为true*keyINTEGER;valueINTEGER;mapl:MAPofMSGl;,MSGl消息的映射7m0=MSGO;/*变量m0对应消息MSGO*/ml=MSGlm2:MSG2描述消息处理过程,具体过程为从数据库表T2中取出条件限制数据,加载到mapl中;从数据库表T2中,取出消息m0;并判断m0的属性是否满足mapl中限制,若不满足,则将生成新消息m2;最后将m2数据存入数据库表T3。PROCESS/*处理部分定义*/loadmaplfromT2;/*从数据库表Τ2中取出,加载到mapl*/WHILE(empty){getmOfromTl;/*数据库表Tl中读出一个messagem0*/IF(m0==NULL){/*判断m0是否为空*/sleep(lOO);/*若m0为空,则休眠IOOms*/}key=mO.parameterid;value=map1[key];IF(m0.parameter_value!=value){reloadm2frommO;m2.alarming_type=l;storem2fromT3;/*将消息m2存入数据库表T3*/}}上述T语言程序会通过客户端消息代理发送,启动描述解释器进行接收。描述解释器接收后的处理过程,具体为首先构建声明部分的符号信息,包括声明部分的各种标识符名称、类型和初始值,以及构建处理部分的语义树;然后启动执行部件,根据操作语句的操作类型如loacUgetdeload等,启动相应的JDBC、MQ等子执行部件;根据参数类型,通过数据适配器,根据接口声明设置的连接字段以及用户名和密码,适配到指定的目标数据源,如Tl、T2等;调用目标数据源,如数据库操作等执行模块进行数据的处理。最后可以总结,本发明面向物联网应用的消息处理描述语言-T语言以及T语言处理器具有以下功能·实现物联网异构平台间不同消息源的消息交换及处理本发明T语言及其处理器,集成了数据库消息、消息队列消息、Webservice消息和TCP/IP通信消息,实现物联网消息在异构平台间的加工和传输。实现物联网不同应用之间的集成数据库管理提供物联网信息的数据存储功能;消息队列管理提供一个具有工业标准、安全、可靠的消息传输系统,且具有保证数据完整性及安全认证的功能;Web服务接口、TCP/IP传输管理及可扩展功能等多种不同应用之间,通过本发明T语言可以集成,完成不同应用间无缝地共享和交换数据的需要。极大地方便了物联网系统开发和部署本发明T语言,提供物联网消息处理的可配置管理。配置物联网消息的消息格式,实现通用消息格式的转换;配置消息源的接口参数,实现不同消息源的集成;提供对消息流向的集中管理等,能方便地被部署和应用到现有系统中。提供物联网复杂消息的形式化描述方法
技术领域
:本发明使物联网系统中,消息处理的描述及流程控制变得简易,且具有良好的可扩展性,从而解决了物联网消息作为复杂事件,难以描述问题权利要求1.一种物联网消息处理方法,其特征在于,包括对被处理的物联网消息进行描述,该描述的结构包括声明、语句和表达式;根据对所述消息的描述,利用ECA规则,获得对所述消息的关系模型的描述以及包括有条件的描述和有动作决策的描述的对所述消息的处理过程的描述,其中ECA规则由事件、条件和动作三部分组成,采用事件触发的机制,当定义的事件发生时,如果条件得到满足,则执行预定义的行为。2.如权利要求1所述的物联网消息处理方法,其特征在于,所述的描述包括声明、语句禾口表达式,所述声明,用于定义消息处理过程中所需的接口设置、消息描述以及若干局部变量,接口设置指明各种不同类型的消息源,消息描述为每种类型的消息提供通用的描述格式,局部变量为消息处理过程中为满足消息交换所需的变量,所述语句,用于描述消息在各种不同数据源之间的传输及转换,当事件发生时,利用ECA规则,可触发相应的规则,语句用来描述消息处理的流程,所述表达式,是对限制条件的描述,即判断消息的一些属性是否满足条件定义,若满足指定的条件,若满足指定的条件,则触发规则中描述的操作行为。3.如权利要求1所述的物联网消息处理方法,其特征在于,还包括使用一描述解释器,对所述物联网消息描述的自动解释和执行,对物联网系统中不同数据源的消息进行加工和处理。4.如权利要求3所述的物联网消息处理方法,其特征在于,所述的描述解释器对所述物联网消息描述的的处理步骤包括初始化和解释执行,其中初始化,由初始化模式执行,是对消息描述进行词法、语法和语义分析,解释执行,由解释执行模块执行,是根据初始化的解析结果,执行赋值语句、表达式计算和操作语句。5.如权利要求4所述的物联网消息处理方法,其特征在于,所述解释执行模块分为执行部件模块、适配器接口模块和目标数据源模块,所述执行部件模块作为代理,调用消息工厂生成数据,通过适配器接口模块匹配到目标数据源,调用目标数据源模块提供的相应方法执行指定的操作,执行部件模块主要包括Java数据库连接执行部件、消息队列执行部件、Web服务执行部件和TCP/IP执行部件,所述适配器接口模块位于数据适配层上,通过统一数据接口,提供执行部件模块操作语句到目标数据源模块可执行方法的适配,适配器接口模块包括数据库适配器、消息队列适配器、Web服务适配器和TCP/IP通信模块适配器,所述目标数据源模块位于数据执行层,执行各执行部件指定的操作,目标数据源主要包括数据库、消息队列、Web服务以及TCP/IP通信数据源。6.如权利要求5所述的物联网消息处理方法,其特征在于,所述描述解释器对于物联网消息描述的的处理步骤包括Al,客户端消息代理发送来自物联网终端设备的消息,启动描述解释器,进行接收;A2,描述解释器接收后,调用初始化模块,以及调用表达式模块的初始化功能,对语言的声明部分和表达式进行预处理,即进行词法分析,语法分析、语义检查,并构建关键字变量等符号信息;A3,描述解释器调用语句构建子模块,采用递归下降法构建语句树;A4,初始化完毕,启动描述解释器的解释执行模块,首先调用表达式模块,进行表达式判定;根据判定结果,将消息进行过滤,并触发相应的操作语句;A5,操作语句会启动描述解释器的执行部件,执行部件根据操作语句的参数类型,通过统一数据适配器接口,适配到相应目标数据源执行模块。A6,通过数据适配器,将参数传递给目标数据源执行相应的操作,实现消息的过滤、分发和存储。7.如权利要求5所述的物联网消息处理方法,其特征在于,所述描述解释器对于物联网消息描述的的处理步骤包括Bi,执行部件根据操作语句的参数类型和参数值,调用底层消息工厂,进行参数所指定的消息数据的预处理及生成;B2,执行部件根据操作语句参数值所指定的消息接口设置信息,通过统一数据适配接口模块,适配到相应的目标数据源对象;B3,执行部件根据消息接口设置的连接字段以及用户名和密码,连接目标数据源执行模块;B4,执行部件根据操作语句描述的操作类型,调用目标数据源执行模块中的相应方法,实现消息控制流和数据流的交换和集成。全文摘要本发明公开了一种物联网消息处理方法,包括对被处理的物联网消息进行描述,该描述的结构包括声明、语句和表达式;根据对所述消息的描述,利用ECA规则,获得对所述消息的关系模型的描述以及包括有条件的描述和有动作决策的描述的对所述消息的处理过程的描述,所述声明,用于定义消息处理过程中所需的接口设置、消息描述以及若干局部变量,接口设置指明各种不同类型的消息源,消息描述为每种类型的消息提供通用的描述格式,局部变量为消息处理过程中为满足消息交换所需的变量,所述语句,用于描述消息在各种不同数据源之间的传输及转换,所述表达式,是对限制条件的描述,即判断消息的一些属性是否满足条件定义。文档编号H04L29/06GK102523200SQ20111038847公开日2012年6月27日申请日期2011年11月29日优先权日2011年11月29日发明者丁志刚,杨慧,郑树泉申请人:上海计算机软件技术开发中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1