CN106326207A - 一种m2m环境下的语义流处理方法及装置 - Google Patents
一种m2m环境下的语义流处理方法及装置 Download PDFInfo
- Publication number
- CN106326207A CN106326207A CN201510368714.2A CN201510368714A CN106326207A CN 106326207 A CN106326207 A CN 106326207A CN 201510368714 A CN201510368714 A CN 201510368714A CN 106326207 A CN106326207 A CN 106326207A
- Authority
- CN
- China
- Prior art keywords
- data
- semantic stream
- semantic
- stream data
- discrete
- 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.)
- Pending
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种M2M环境下的语义流处理方法,用于解决物联网中资源和数据无法共享的技术问题。所述方法包括:接收至少一个普通语义流数据,以及,接收语义流查询语句;所述至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,所述语义流查询语句中携带查询请求,所述查询请求用于查询所述至少一个普通语义流数据所携带的信息;对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口;在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询。本发明还公开了相应的装置。
Description
技术领域
本发明涉及大数据处理领域,特别涉及一种M2M环境下的语义流处理方法及装置。
背景技术
物联网,即M2M(Machine-To-Machine,机器对机器)环境下,包括多种不同的设备,例如各式各样的感知设备,如RFID(Radio FrequencyIdentification,射频识别)设备、各种传感器设备、智能手机、智能家居、穿戴式设备,等等。
不同的设备功能各异,所对应的数据格式和数据标准等都不尽相同,并且,不同设备所提供的数据的相关接口、格式、协议等大部分是自定义的,缺乏统一的标准,这使得在物联网中,大量的资源和数据无法共享,从而无法得到充分的利用,这将重蹈以往“信息孤岛”的覆辙,是实现真正的“物物相连”的物联网的巨大障碍。因此,如何较为有效地处理物联网设备在数据方面的异构性,也成为一个亟需解决的问题。
发明内容
本发明实施例提供一种M2M环境下的语义流处理方法及装置,用于解决物联网中资源和数据无法共享的技术问题。
第一方面,提供一种M2M环境下的语义流处理方法,包括:
接收至少一个普通语义流数据,以及,接收语义流查询语句;所述至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,所述语义流查询语句中携带查询请求,所述查询请求用于查询所述至少一个普通语义流数据所携带的信息;
对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口;
在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询。
结合第一方面,在第一方面的第一种可能的实现方式中,接收至少一个普通语义流数据,包括:
接收一个或多个终端设备发送的所述至少一个普通语义流数据;或
接收一个或多个终端设备发送的至少一个普通数据;按照所述预设语义对所述至少一个普通数据进行语义标注,得到所述至少一个普通语义流数据。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口,包括:
对所述语义流查询语句进行解析,并根据解析得到的窗口参数生成所述查询窗口。
结合第一方面或第一方面的第一种可能的实现方式或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,
在接收至少一个普通语义流数据,以及,接收语义流查询语句之后,还包括:
将所述至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询,包括:
在所述查询窗口中,根据所述查询请求,针对所述至少一个离散语义流数据进行查询。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,在得到至少一个离散语义流数据之后,还包括:
将所述语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;所述M个离散语义流数据为所述至少一个离散语义流数据的子集。
结合第一方面或第一方面的第一种可能的实现方式至第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,在针对所述至少一个普通语义流数据进行查询之后,还包括:
输出查询结果语义流数据,所述查询结果语义流数据承载查询结果。
结合第一方面或第一方面的第一种可能的实现方式至第五种可能的实现方式中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:
确定第一节点设备传输的第一数据有误;所述第一节点设备为Spark集群中的任一设备;
向所述第一节点设备发送第一故障通知消息,所述第一故障通知消息用于通知所述第一节点设备,所述第一数据有误。
结合第一方面或第一方面的第一种可能的实现方式至第六种可能的实现方式中的任一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述方法还包括:
在基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据所述第二故障通知消息确定传输给所述至少一个节点设备的至少一个第二数据有误;
根据RDD对应的世系图,重新获取至少一个第二数据;
将所述重新获取的至少一个第二数据分别发送给所述至少一个节点设备。
第二方面,提供一种M2M环境下的语义流处理装置,所述装置位于Spark集群中的基础设施节点中;所述装置包括:
接收模块,用于接收至少一个普通语义流数据,以及,接收语义流查询语句;所述至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,所述语义流查询语句中携带查询请求,所述查询请求用于查询所述至少一个普通语义流数据所携带的信息;
生成模块,用于对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口;
查询模块,用于在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询。
结合第二方面,在第二方面的第一种可能的实现方式中,所述接收模块用于:
接收一个或多个终端设备发送的所述至少一个普通语义流数据;或
接收一个或多个终端设备发送的至少一个普通数据;按照所述预设语义对所述至少一个普通数据进行语义标注,得到所述至少一个普通语义流数据。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述生成模块用于:
对所述语义流查询语句进行解析,并根据解析得到的窗口参数生成所述查询窗口。
结合第二方面或第二方面的第一种可能的实现方式或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述装置还包括离散化模块;
所述离散化模块用于:在所述接收模块接收至少一个普通语义流数据,以及,接收语义流查询语句之后,将所述至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
所述查询模块用于:在所述查询窗口中,根据所述查询请求,针对所述至少一个离散语义流数据进行查询。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括合并模块,用于:
在所述离散化模块得到至少一个离散语义流数据之后,将所述语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;所述M个离散语义流数据为所述至少一个离散语义流数据的子集。
结合第二方面的第一种可能的实现方式至第四种可能的实现方式中的任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述装置还包括输出模块,用于:
在所述查询模块针对所述至少一个普通语义流数据进行查询之后,输出查询结果语义流数据,所述查询结果语义流数据承载查询结果。
结合第二方面的第一种可能的实现方式至第五种可能的实现方式中的任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述装置还包括确定模块和发送模块;
所述确定模块,用于确定第一节点设备传输的第一数据有误;所述第一节点设备为所述Spark集群中的任一设备;
所述发送模块,用于向所述第一节点设备发送第一故障通知消息,所述第一故障通知消息用于通知所述第一节点设备,所述第一数据有误。
结合第二方面的第一种可能的实现方式至第六种可能的实现方式中的任一种可能的实现方式,在第二方面的第七种可能的实现方式中,所述装置还包括获取模块和发送模块;
所述接收模块还用于:在所述基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据所述第二故障通知消息确定传输给所述至少一个节点设备的至少一个第二数据有误;
所述获取模块用于:根据RDD对应的世系图,重新获取至少一个第二数据;
所述发送模块用于:将所述重新获取的至少一个第二数据分别发送给所述至少一个节点设备。
第三方面,提供一种M2M环境下的语义流处理装置,所述装置位于Spark集群中的基础设施节点中;所述装置包括:
存储器,用于存储指令;
接收器,用于接收至少一个普通语义流数据,以及,接收语义流查询语句;所述至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,所述语义流查询语句中携带查询请求,所述查询请求用于查询所述至少一个普通语义流数据所携带的信息;
处理器,用于执行所述指令,对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口;在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询。
结合第三方面,在第三方面的第一种可能的实现方式中,
所述接收器用于:接收一个或多个终端设备发送的所述至少一个普通语义流数据;或
所述接收器用于:接收一个或多个终端设备发送的至少一个普通数据;所述处理器用于:按照所述预设语义对所述至少一个普通数据进行语义标注,得到所述至少一个普通语义流数据。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器用于:
对所述语义流查询语句进行解析,并根据解析得到的窗口参数生成所述查询窗口。
结合第三方面或第三方面的第一种可能的实现方式或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器还用于:
在所述接收器接收至少一个普通语义流数据,以及,接收语义流查询语句之后,将所述至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
在所述查询窗口中,根据所述查询请求,针对所述至少一个离散语义流数据进行查询。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述处理器还用于:
在得到至少一个离散语义流数据之后,将所述语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;所述M个离散语义流数据为所述至少一个离散语义流数据的子集。
结合第三方面的第一种可能的实现方式至第四种可能的实现方式中的任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述装置还包括发送器;
所述发送器用于:在所述处理器针对所述至少一个普通语义流数据进行查询之后,输出查询结果语义流数据,所述查询结果语义流数据承载查询结果。
结合第三方面的第一种可能的实现方式至第五种可能的实现方式中的任一种可能的实现方式,在第三方面的第六种可能的实现方式中,
所述处理器还用于:确定第一节点设备传输的第一数据有误;所述第一节点设备为Spark集群中的任一设备;
所述发送器还用于:向所述第一节点设备发送第一故障通知消息,所述第一故障通知消息用于通知所述第一节点设备,所述第一数据有误。
结合第三方面的第一种可能的实现方式至第六种可能的实现方式中的任一种可能的实现方式,在第三方面的第七种可能的实现方式中,
所述接收器还用于:在所述基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据所述第二故障通知消息确定传输给所述至少一个节点设备的至少一个第二数据有误;
所述处理器还用于:根据RDD对应的世系图,重新获取至少一个第二数据;
所述发送器还用于:将所述重新获取的至少一个第二数据分别发送给所述至少一个节点设备。
第四方面,提供一种基础设施节点,包括如前任一方面所述的M2M环境下的语义流处理装置。
本发明实施例提供了一种预设语义,从而可以将各设备的数据按照该预设语义进行转换,例如接收的至少一个普通语义流数据来自于多个设备,不同的设备对应的数据结构、格式等不同,但是按照本发明中的方式,可以将来自不同终端设备的不同格式的数据先按照预设语义,标注为具有同一语义结构的语义流数据,从而可以对不同设备的数据进行处理,使得大量的资源和数据能够有效实现共享,从而得到充分的利用,提高了资源利用率,也给物联网的真正实现提供了解决方案。
另外,实时性是物联网领域应用的一个重要需求,包括交通导航、打车应用、智能停车、灾难检测等都需要严格的实时性保证,对于这类实时性较强的数据,其价值会随着时间的流逝而减少,如果无法对其进行及时分析和响应,那么便很可能会错过一个机会,或者遗漏一个潜在的威胁。本发明实施例中,将各设备的数据标注为流数据进行处理(例如标注为普通语义流数据),并且会通过窗口进行处理,从而提高了数据处理过程的实时性,尽量使每个实时性数据的价值都能够得到体现,避免资源浪费。
附图说明
图1为oneM2M定义的M2M功能架构;
图2为本发明实施例中M2M环境下的语义流处理方法的流程图;
图3为本发明实施例中一个家庭场景下的M2M架构示意图;
图4为本发明实施例中基础设施节点中包括的M2M环境下的语义流处理装置的示意图;
图5为本发明实施例中基于RDD对应的世系图的Dstream容错机制示意图;
图6为本发明实施例中M2M环境下的语义流处理装置的结构框图;
图7为本发明实施例中M2M环境下的语义流处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的技术方案,基于oneM2M标准。oneM2M,旨在建立统一的业务层的M2M技术标准,其中包含M2M设备服务和数据的语义增强相关的技术标准。oneM2M标准组织的总体目标是创造M2M通信的业务层的开放标准,以促进建立一个集成各种设备和服务的未来网络,使M2M业务可互操作,也使得M2M应用可以共享基础业务并独立于网络实现。
M2M可应用在不同的行业中,例如医疗保健、运输、能源、安全和监控、家庭自动化与控制等。例如,在能源行业中,一个智能计量系统的设备部署方案,一些智能计量设备(如电表,燃气表,水表)可以通过网关连接到数据中心,就构成一个M2M。
例如请参见图1,为oneM2M定义的M2M功能架构。本发明实施例中,将M2M中的设备称为M2M设备。
在图1中,M2M包括两个域,分别为Field Domain(场域)和InfrastructureDomain(基础设施域)。
Field Domain,由M2M终端设备、M2M网关、传感与激励(S&A)设备、M2M局域网络等部分组成。
Infrastructure Domain,由Application Infrastructure(应用基础设施)与M2MService Infrastructure(服务基础设施)组成。
例如,局域网络中可以包含NSE;网关可以包含NSE,也可能会包含AE和CSE;M2M终端设备、传感与激励设备可能包含AE和CSE,等等。
M2M AE(Application Entity,应用实体)与M2M CSE(Common ServicesEntity,普通服务实体)通过Mca参考点进行通信。在Filed Domain中的CSE与Infrastructure Domain的CSE通过Mcc参考点通信,对于所属不同ServiceProvider(服务提供商)的Infrastructure node(基础设施节点)上的CSE,可通过Mcc’参考点通信(图1中未示出具体与哪些设备进行通信)。CSE与NSE(Underlying Network Service Entity,基础网络服务实体)通过Mcn参考点进行通信。
图1架构中,定义如下:
AE:提供端到端的M2M解决方案的应用逻辑。例如可以提供远端血压血糖监控、远端抄表等应用逻辑。
CSE:包含一组oneM2M规定的服务功能,该服务功能通过Mca参考点和Mcc参考点开放给其他实体。CSE提供的服务功能包括:Data Management(数据管理)、Device Management(设备管理)、M2M Subscription Management(物联网订阅管理)、Location Services(定位服务)等。CSE提供的每个服务功能,在逻辑上可以理解为一个CSF(Common Service Function,普通服务功能)。在一个CSE中,有些CSF是必选的,有些CSF是可选的。在一个CSF内又可以包括一个或多个子功能,同样的,在一个CSF中,有些子功能是可选的,有些子功能是必选的。
NSE:给CSE提供服务。其提供的服务可以包括:Device Management、location Services、Device Triggering(设备触发)等。
Mca参考点:AE和CSE之间的接口,也称为参考点。该参考点使AE能够使用CSE提供的业务(即具有CSE提供的能力),并使CSE能够反向与AE通信。CSE具体通过Mca参考点向AE提供哪些业务(即如前所述的服务功能),取决于CSE所支持的服务功能。另外,AE和CSE并不一定位于同一个实体设备上。
Mcc参考点:CSE之间的通信接口,也称为参考点。Mcc参考点使得一个CSE能使用另一个CSE所提供的服务功能,而这个服务功能可能是另一个CSE具有而该一个CSE不具有的,当然也可能是该一个CSE本身所具有的。两个CSE之间的Mcc参考点需要被不同的M2M物理实体所支持。
Mcn参考点:CSE与NSE之间的接口,也称为参考点。使CSE能使用承载网络提供给上层的业务。这里所述的业务不同于承载网络的基础的网络业务(任何两个M2M物理节点之间交换的信息都默认会使用传输和连接性的业务,这些业务被看作是基础的网络业务)。Mcn参考点的实例化取决于底层网络提供的能力。
目前M2M通信可以基于有线方式,无线方式包括蜂窝网和短距,其中3GPP蜂窝网是广泛使用的一种方式。
本发明实施例中的装置可以构建于具有高可扩展性的Spark(一种大数据分布式处理框架)集群计算平台之上,利用其高效的实时流式处理框架SparkStreaming,将输入的语义流建模为DStream(Discretized Stream,离散流),进而通过其滑动窗口原理来连续的计算单个时间间隔内的结果,并对重复利用的中间结果或者背景知识库进行缓存以支持高效的查询和推理。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
下面结合说明书附图对本发明实施例作进一步详细描述。
请参见图2,本发明实施例提供一种M2M环境下的语义流处理方法,所述方法的流程描述如下。
步骤201:接收至少一个普通语义流数据,以及,接收语义流查询语句;至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,语义流查询语句中携带查询请求,查询请求用于查询至少一个普通语义流数据所携带的信息。
例如请参考图3,为一个家庭场景下的M2M架构,本发明实施例中的方法以该架构为例,图2流程的执行主体可以是图3中的基础设施节点(Infrastructure Node,IN),即,图2的各个步骤可以是由图3中的基础设施节点完成。
图3中以6个终端设备为例,分别为图3中的终端设备1、终端设备2、终端设备3、终端设备4、终端设备5和终端设备6,这些终端设备,例如可以是手机、PAD(平板电脑)、传感器、空气净化器、空调、智能电视、智能冰箱等等不同的设备。这些终端设备均通过Mcc参考点连接到基础设施节点,另外,各终端设备也可以通过Mcc参考点连接,当然,各终端设备可视情况确定具体与哪些终端设备连接。其中,基础设施节点属于Infrastructure Domain,各终端设备属于Field Domain。
包括AE、物理实体在内的所有节点,首先需要向本地的CSE注册为抽象实体。在图3架构中,就是各个终端设备需要首先向基础设施节点进行注册。同时,通过语义引擎,所有节点向包含了设备和服务信息的基础设施节点中的语义信息仓库注册抽象实体。
例如,每个传感器所对应生成的数据通过相关的接口输入oneM2M系统的基础设施节点,在基础设施节点内部会被注册为一个抽象实体,以供语义混聚之用。在本发明实施例的架构中,各终端设备的数据实际输入到了Spark集群,在Spark中,使用DStream来表示对数据流的高级抽象,因此本发明实施例中,将流入Spark集群的语义流数据也可称为“Semantic-Dstream(离散语义流)”。在概念上,一个抽象实体与一个Semantic-DStream相对应。
基础设施节点的CSE,即IN-CSE,由两个主要的功能模块构成,一个功能模块是语义信息仓库,另一个功能模块是语义引擎。其中,语义信息仓库的功能是通过Spark集群实现的,利用Spark集群提供的面向DStream的多种操作接口,如map(映射)、filter(过滤)、union(联合)、join(连接)、transform(变换)、及reduce(还原)等接口,可以方便地对语义流数据进行映射、过滤、取并、连接、聚集等操作,满足语义混聚的需求。语义引擎负责解析来自IN-CSE外部的AE对某个资源的语义查询请求,协调语义信息仓库实施语义混聚,将语义混聚后的结果返回给相应的AE。
各个终端设备在注册到基础设施节点后(向基础设施节点进行注册),可以实时将数据发送给基础设施节点。例如,温度传感器在注册到基础设施节点后,可以实时将采集到的温度值发送给基础设施节点。
可选的,本发明实施例中,接收至少一个普通语义流数据,包括:
接收一个或多个至少一个终端设备发送的至少一个普通语义流数据;或
接收一个或多个至少一个终端设备发送的至少一个普通数据;按照预设语义对至少一个普通数据进行语义标注,得到至少一个普通语义流数据。
本发明实施例中,各个终端设备所采用的数据结构、语义等可能不同,因此涉及到要将各个不同语义的数据标注为具有同一语义的数据的问题。这个语义标注过程可以由基础设施节点完成,或者也可以由各终端设备自己完成。
例如,语义标注过程可以通过Proxies(一种代理程序)完成,那么该代理程序可以安装在基础设施节点中,或者也可以安装在各个终端设备中。如果安装在基础设施节点中,那么各终端设备发送给基础设施节点的数据(本发明实施例中将来自终端设备的、进行标注之前的数据称为普通数据)就可能具有不同的语义、数据结构等,基础设施节点接收到之后再分别通过代理程序进行语义标注,得到相应的普通语义流数据。而如果该代理程序安装在各个终端设备中,那么终端设备在要向基础设施节点发送普通数据时,先通过代理程序对普通数据进行标注,之后再将标注后得到的普通语义流数据发送给基础设施节点,这样,基础设施节点接收到的就都是遵循同一语义的语义流数据,无需再进行标注,直接可以进行处理。
本发明实施例中,预设语义可以是指Spark集群所支持的语义,普通语义流数据可以是指RDF(Resource Description Framework,资源描述框架)。其中,Spark集群本身是不支持语义的,本发明实施例中在Spark集群上进行了二次开发,令开发后的Spark集群支持语义。本领域技术人员知晓,本发明如果也可以构建在其他平台上,那么预设语义自然就是与相应的新平台所对应的语义。例如,若将本发明构建在JENA(一种框架)平台上,则预设语义例如可以是OWL(Web Ontology Language,网络本体语言),等等。
本发明实施例中,若普通语义流数据是RDF,则语义流查询语句可以是C-SPARQL(Simple Protocol and RDF Query Language,查询语言和数据获取协议)。C-SPARQL支持在RDF流上对查询语句的注册和连续执行。
C-SPARQL使用了不同类型的窗口。以窗口中所包含的三元组数目定义的是物理窗口,以窗口的时间间隔定义的是逻辑窗口为例。多次相同的查询可以被注册为一个query(查询),C-SPARQL引擎会周期性的执行这条查询,每当这条查询被执行时,查询结果就会被更新。查询也可以被注册为流的形式,这样的输出结果也是一个流,可作为其他查询语句的输入,或者也可以输入到其他设备中。
本发明实施例中,至少一个普通语义流数据,可以来自一个或多个终端设备,其中,一个终端设备可以对应一个普通语义流数据,或者也可以对应多个普通语义流数据。语义流查询语句,可以来自一个AE,而AE可以位于不同的终端设备上。其中,一个终端设备可以包括一个AE,或者也可以包括多个AE,那么,一个终端设备可以只通过一个AE向基础设施节点发送一个语义流查询语句,或者可以通过一个AE向基础设施节点发送多个语义流查询语句,或者也可以通过多个AE向基础设施节点分别发送多个语义流查询语句。具有AE的终端设备,可以是向基础设施节点发送普通语义流数据的其中一个终端设备,或者也可以是没有向基础设施节点发送普通语义流数据的终端设备,只要该终端设备是之前注册到基础设施节点的终端设备即可。
本发明实施例中,普通语义流数据和语义流查询语句所遵循的语义不同,所承载的信息也不同,例如,普通语义流数据承载的可能是描述信息,例如是传感器所检测到的某个参数的参数值,而语义流查询语句承载的是查询信息,或者也可以称为查询请求,查询请求用于查询相应的信息,例如需要查询当前室内温度。
可选的,本发明实施例中,基础设施节点接收至少一个普通语义流数据,以及接收语义流查询语句,这两个接收过程可以按照任意顺序完成,当然,间隔的时间不能过长,因为本发明实施例中的架构是实时性较强的架构,暂不支持查询历史数据。因此,如果在接收至少一个普通语义流数据之后再接收语义流查询语句,而两次接收过程的间隔较长,可能至少一个普通语义流数据已经因为过时而被丢弃,这样就无法完成查询了。
步骤202:对语义流查询语句进行解析,并根据解析的结果生成查询窗口。
可选的,本发明实施例中,对语义流查询语句进行解析,并根据解析的结果生成查询窗口,包括:
对语义流查询语句进行解析,并根据解析得到的窗口参数生成查询窗口。
本发明实施例中,语义流查询语句中不仅携带有查询请求,还可以携带有窗口参数,例如,窗口参数可以包括windowLength(窗口长度)、slidingInterval(窗口滑动间距)等参数,基础设施节点可以按照解析得到的窗口参数对应的参数值在Spark集群中初始化窗口长度和窗口滑动间距,即生成相应的窗口,本发明实施例中将该窗口称为查询窗口。
步骤203:在查询窗口中,根据查询请求,针对至少一个普通语义流数据进行查询。
本发明实施例中,解析好的查询请求被转换成DStream上的一系列查询操作,根据查询窗口的特性,周期性地执行这一系列查询操作,并产生相应的查询结果。
可选的,本发明实施例中,在接收至少一个普通语义流数据,以及,接收语义流查询语句之后,还包括:
将至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
在查询窗口中,根据查询请求,针对至少一个普通语义流数据进行查询,包括:
在查询窗口中,根据查询请求,针对至少一个离散语义流数据进行查询。
因为Spark集群的底层是以批处理的形式来处理所有类型的数据的,包括流式数据也是如此,因此,为了使待处理的流数据满足Spark集群的底层的处理要求,需要将连续的语义流数据离散化,那么后面,查询请求所针对的也就是离散后的语义流数据,即离散语义流数据,也即Semantic-Dstream。一个离散语义流数据的内容是一串按一定时间跨度划分的时间片批次,每个批次中包含在该时间段内流入的RDF三元组。
可选的,本发明实施例中,在得到至少一个离散语义流数据之后,还包括:
将语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;M个离散语义流数据为至少一个离散语义流数据的子集。
依照语义流混聚需求,通过DStream上的union操作,将所需的若干条含有关联语义信息的离散语义流数据并成一条关联离散语义流数据,本发明实施例中将其称为第一离散语义流数据。没有关联需求(即不存在关联语义信息)的离散语义流数据无需合并。
普通语义流数据中可以携带语义标注信息,比如,不同的传感器在某一时刻的采样值对应的语义流数据可能会附加上位置、采样的时间等等语义标注信息。
具体两个普通语义流数据是否相互关联,即是否具有关联语义信息,是按需求而定的,具体可以是根据语义流查询语句中携带的查询请求而定。
例如,在图3架构中,终端设备1向基础设施节点发送了语义流查询语句,该语义流查询语句携带的查询请求用于查询当前时刻家中所有卧室的温度,那么假设家中有两个卧室,则根据该查询请求可以确定,设置在这两个卧室中的温度传感器输入到基础设施节点中的当前采样值对应的普通语义流数据就是相互关联的,而设置在客厅、厨房的温度传感器或其他终端设备输入到基础设施节点中的采样值对应的普通语义流数据就不具有关联语义信息。也就是说,普通语义流数据之间相互关联,具体可以认为是普通语义流数据与查询请求相互关联,即普通语义流数据与查询请求具有关联语义信息。
可选的,本发明实施例中,在针对至少一个普通语义流数据进行查询之后,还包括:
输出查询结果语义流数据,查询结果语义流数据承载查询结果。
在针对至少一个普通语义流数据进行查询之后,可以得到查询结果,那么同样可以将查询结果承载在一个语义流数据中进行输出,本发明实施例中将该语义流数据称为查询结果语义流数据。具体的可以是将查询结果语义流数据发送给向基础设施节点发送该语义流查询语句的设备,或者也可以是将查询结果语义流数据发送给特定的设备,本发明对于查询结果语义流数据的用途及去向不作限制。
例如,请参见图4,基础设施节点中可以包括一个M2M环境下的语义流处理装置,该M2M环境下的语义流处理装置可以包括以下模块:接收器(Receiver)、合并器、解析器、执行器、及语义流窗口化模块。接收器的作用是将连续的语义流数据转换成离散语义流数据。合并器主要用于合并具有关联语义信息的离散语义流数据,以得到所需要的关联离散语义流数据,可以看到,图4中有三路离散语义流数据具有关联语义信息(图4是以三路为例,在实际应用中,接收器转换得到的离散语义流数据可能有一路或多路,那么,如果接收器转换得到的离散语义流数据有多路,则具有关联语义信息的离散语义流数据就可能有两路或多路),有一路普通语义流数据与其他三路离散语义流数据不具有关联语义信息(这里的一路也是举例,在实际应用中,不具有关联语义信息的离散语义流数据的数量可能的取值范围为:是大于等于0的整数),因此合并器只对三路离散语义流数据进行合并,而另外一路离散语义流数据直接进入语义流窗口化模块。解析器用于解析语义流查询语句,并且将解析得到的查询请求对应的一系列查询操作注册到执行器中,执行器周期性的执行查询请求对应的一系列查询操作,得到并输出查询结果语义流数据。
在分布式环境下,由于Infrastructure Domain中包括的节点设备的数目较多,每个节点设备都比较容易遭遇故障(这里的故障主要是指软件故障),那么,如果节点设备的可靠性不能满足需求,就意味着一旦系统中某个节点设备发生错误,将会影响到这个时间片内整个系统的处理流程,造成结果的缺失甚至是错误,因此,节点设备的恢复和容错能力对于流式处理过程显得异常重要。
为了提高流数据处理的可靠性,本发明实施例采用基于RDD(ResilientDistributed Dataset,弹性分布式数据集)的世系图容错机制,通过跟踪和记录RDD中的RDF三元组的各种transformation(变换)操作,根据世系图关系快速重建丢失的语义流数据,这使得系统能够在很短的时间内恢复正常,从而提高语义流数据处理的可靠性。其中,RDD是Spark集群的基本数据抽象模型。
可选的,本发明实施例中,所述方法还包括:
确定第一节点设备传输的第一数据有误;所述第一节点设备为Spark集群中的任一设备;
向第一节点设备发送第一故障通知消息,第一故障通知消息用于通知第一节点设备,第一数据有误。
这里的第一节点设备可以是Spark集群中的任一设备,并且,第一节点设备可以是位于Infrastructure Domain中。即,当Spark集群中的一个节点设备(本发明实施例中将其称为第一节点设备)发生故障时,Spark集群中的全部或部分正常运行的节点设备(例如其中包括基础设施节点)可以参与第一节点设备的故障恢复工作。举例来说,如果第一节点设备发生故障,例如第一节点设备向Spark集群中的其他节点设备发送了数据(这里的数据可能是普通数据,也可能是语义流数据,本发明不作限制,本发明实施例中将第一节点设备发送给基础节点设备的数据称为第一数据),那么其他节点设备可能会发现第一节点设备发送的数据有误,那么其他节点设备可以通知第一节点设备(本发明实施例中将基础设施节点通知第一节点设备关于第一数据有误的消息称为第一故障通知消息),从而第一节点设备可以重新获取这些数据,这也就相当于第一节点设备恢复出错前的状态,只要能恢复第一节点设备出错前的状态,然后可以根据运行日志重新计算相关partition中的内容,就可以使第一节点设备重新跟上其他节点设备的计算步伐,使整个Spark集群的运行状态恢复正常。
例如请参见图5,为基于RDD对应的世系图的DStream容错机制示意图。图中的一个矩形框代表一个RDD,每个矩形框中的一个圆圈代表一个partition(部分),每个partition中包含若干RDF三元组。某一时刻,一个RDD下所有partition中的所有RDF三元组在概念上作为一个整体进行处理,但实际上,每个partition会分布到不同的节点设备上进行处理。其中,图5中的横向箭头表示时间轴,例如,第一列矩形框对应的时刻为t1,第二列矩形框对应的时刻为t2,表示离散语义流数据是按照时间流动的。
图5中,partition之间的向下的一个箭头表示一个操作,世系图以partition为粒度,记录前后的一系列操作。
可选的,本发明实施例中,所述方法还包括:
在基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据第二故障通知消息确定传输给至少一个节点设备的至少一个第二数据有误;
根据RDD对应的世系图,重新获取至少一个第二数据;
将重新获取的至少一个第二数据分别发送给至少一个节点设备。
即,如果是Spark集群中的基础设施节点发生故障,那么如果基础设施节点传输给Spark集群中的其他节点设备的数据有误,其他节点设备也同样,会向基础设施节点通知,接收的数据有误(本发明实施例中将其他节点设备通知基础设施节点关于接收的数据有误的消息称为第二故障通知消息。本发明实施例中将其他节点设备接收到的基础设施节点发送的数据均称为第二数据,需要说明的是,不同节点设备接收到的第二数据可能相同也可能不同),基础设施节点在接收到第二故障通知消息后,可以根据世系图,以及基础设施节点最近的一系列操作,恢复基础设施节点最近的正常状态信息,从而重新获取其他节点设备所对应的第二数据,也就相当于基础设施节点排除故障。
DStream通过世系图来跟踪一系列操作的步骤,以重建丢失的RDD中的RDF三元组,而无需另外备份。当Spark集群中的一个节点设备遭遇错误需要恢复时,Spark集群中的其他正常运行的节点设备可以根据世系图来重计算该发生错误的节点设备最近的状态(即正常工作状态),例如可以包括恢复最近时刻RDD中每个partition下的三元组内容。并且,本发明实施例中的容错机制还可以进行并行恢复,即,Spark集群中的所有正常节点设备都可参与故障节点设备恢复的重计算工作,在恢复一个故障节点设备的状态的同时,参与恢复的节点设备仍然可以接收并处理新流入的RDF三元组,这有效的保证了本发明实施例中的系统具有高的容错能力和可靠性。
请参见图6,基于同一发明构思,本发明实施例提供一种M2M环境下的语义流处理装置,该装置可以位于Spark集群中,较佳的,该装置可以位于Spark集群中的基础设施节点中,另外,该装置与图3所示的装置可以是同一装置。在一种可能的情况下,该装置可以是基础设施节点本身,在另一种可能的情况下,该装置可以是基础设施节点中所包括的功能模块。该装置可以包括接收模块601、生成模块602和查询模块603。
接收模块601,用于接收至少一个普通语义流数据,以及,接收语义流查询语句;至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,语义流查询语句中携带查询请求,查询请求用于查询至少一个普通语义流数据所携带的信息;
生成模块602,用于对语义流查询语句进行解析,并根据解析的结果生成查询窗口;
查询模块603,用于在查询窗口中,根据查询请求,针对至少一个普通语义流数据进行查询。
可选的,本发明实施例中,接收模块601用于:
接收一个或多个终端设备发送的至少一个普通语义流数据;或
接收一个或多个终端设备发送的至少一个普通数据;按照预设语义对至少一个普通数据进行语义标注,得到至少一个普通语义流数据。
可选的,本发明实施例中,生成模块602用于:
对语义流查询语句进行解析,并根据解析得到的窗口参数生成查询窗口。
可选的,本发明实施例中,所述装置还包括离散化模块;
离散化模块用于:在接收模块601接收至少一个普通语义流数据,以及,接收语义流查询语句之后,将至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
查询模块603用于:在查询窗口中,根据查询请求,针对至少一个离散语义流数据进行查询。
可选的,本发明实施例中,所述装置还包括合并模块,用于:
在离散化模块得到至少一个离散语义流数据之后,将语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;M个离散语义流数据为至少一个离散语义流数据的子集。
可选的,本发明实施例中,所述装置还包括输出模块,用于:
在查询模块603针对至少一个普通语义流数据进行查询之后,输出查询结果语义流数据,查询结果语义流数据承载查询结果。
可选的,本发明实施例中,所述装置还包括确定模块和发送模块;
确定模块,用于确定第一节点设备传输的第一数据有误;第一节点设备为Spark集群中的任一设备;
发送模块,用于向第一节点设备发送第一故障通知消息,第一故障通知消息用于通知第一节点设备,第一数据有误。
可选的,本发明实施例中,所述装置还包括获取模块和发送模块;
接收模块601还用于:在基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据第二故障通知消息确定传输给至少一个节点设备的至少一个第二数据有误;
获取模块用于:根据RDD对应的世系图,重新获取至少一个第二数据;
发送模块用于:将重新获取的至少一个第二数据分别发送给至少一个节点设备。
请参见图7,基于同一发明构思,本发明实施例提供另一种M2M环境下的语义流处理装置,该装置可以位于Spark集群中,较佳的,该装置可以位于Spark集群中的基础设施节点中,另外,该装置与图3、图6所示的装置可以是同一装置。在一种可能的情况下,该装置可以是基础设施节点本身,在另一种可能的情况下,该装置可以是基础设施节点中所包括的功能模块。该装置可以包括存储器701、处理器702和接收器703。存储器701和接收器703可以分别与处理器702连接,具体的,存储器701和接收器703可以通过同一总线与处理器702连接,或者也可以分别通过相应的连接线与处理器702连接。
存储器701,用于存储处理器702执行任务所需的指令;
接收器703,用于接收至少一个普通语义流数据,以及,接收语义流查询语句;至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,语义流查询语句中携带查询请求,查询请求用于查询至少一个普通语义流数据所携带的信息;
处理器702,用于执行存储器701存储的指令,对语义流查询语句进行解析,并根据解析的结果生成查询窗口;在查询窗口中,根据查询请求,针对至少一个普通语义流数据进行查询。
可选的,本发明实施例中,
接收器703用于:接收一个或多个终端设备发送的至少一个普通语义流数据;或
接收器703用于:接收一个或多个终端设备发送的至少一个普通数据;处理器702用于:按照预设语义对至少一个普通数据进行语义标注,得到至少一个普通语义流数据。
可选的,本发明实施例中,处理器702用于:
对语义流查询语句进行解析,并根据解析得到的窗口参数生成查询窗口。
可选的,本发明实施例中,处理器702还用于:
在接收器703接收至少一个普通语义流数据,以及,接收语义流查询语句之后,将至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
在查询窗口中,根据查询请求,针对至少一个离散语义流数据进行查询。
可选的,本发明实施例中,处理器702还用于:
在得到至少一个离散语义流数据之后,将语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;M个离散语义流数据为至少一个离散语义流数据的子集。
可选的,本发明实施例中,所述装置还包括与处理器702连接的发送器;发送器与接收器703可以是同一功能模块,该功能模块具有信息收发功能,或者,发送器与接收器703可以是不同的功能模块;
发送器用于:在处理器702针对至少一个普通语义流数据进行查询之后,输出查询结果语义流数据,查询结果语义流数据承载查询结果。
可选的,本发明实施例中,
处理器702还用于:确定第一节点设备传输的第一数据有误;第一节点设备为Spark集群中的任一设备;
发送器还用于:向第一节点设备发送第一故障通知消息,第一故障通知消息用于通知第一节点设备,第一数据有误。
可选的,本发明实施例中,
接收器703还用于:在基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据第二故障通知消息确定传输给至少一个节点设备的至少一个第二数据有误;
处理器702还用于:根据RDD对应的世系图,重新获取至少一个第二数据;
发送器还用于:将重新获取的至少一个第二数据分别发送给至少一个节点设备。
可选的,本发明实施例还提供一种基础设施节点,该基础设施节点可以包括如前所述的M2M环境下的语义流处理装置。前面介绍过,在一种可能的情况下,M2M环境下的语义流处理装置可以是基础设施节点本身,在另一种可能的情况下,M2M环境下的语义流处理装置可以是基础设施节点中所包括的功能模块。
本发明实施例提供了一种预设语义,从而可以将各设备的数据按照该预设语义进行转换,例如接收的至少一个普通语义流数据来自于多个设备,不同的设备对应的数据结构、格式等不同,但是按照本发明中的方式,可以将来自不同终端设备的不同格式的数据先按照预设语义,标注为具有同一语义结构的语义流数据,从而可以对不同设备的数据进行处理,使得大量的资源和数据能够有效实现共享,从而得到充分的利用,提高了资源利用率,也给物联网的真正实现提供了解决方案。
另外,实时性是物联网领域应用的一个重要需求,包括交通导航、打车应用、智能停车、灾难检测等都需要严格的实时性保证,对于这类实时性较强的数据,其价值会随着时间的流逝而减少,如果无法对其进行及时分析和响应,那么便很可能会错过一个机会,或者遗漏一个潜在的威胁。本发明实施例中,将各设备的数据标注为流数据进行处理(例如标注为普通语义流数据),并且会通过窗口进行处理,从而提高了数据处理过程的实时性,尽量使每个实时性数据的价值都能够得到体现,避免资源浪费。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM(Read-OnlyMemory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (17)
1.一种物联网M2M环境下的语义流处理方法,其特征在于,包括:
接收至少一个普通语义流数据,以及,接收语义流查询语句;所述至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,所述语义流查询语句中携带查询请求,所述查询请求用于查询所述至少一个普通语义流数据所携带的信息;
对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口;
在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询。
2.如权利要求1所述的方法,其特征在于,接收至少一个普通语义流数据,包括:
接收一个或多个终端设备发送的所述至少一个普通语义流数据;或
接收一个或多个终端设备发送的至少一个普通数据;按照所述预设语义对所述至少一个普通数据进行语义标注,得到所述至少一个普通语义流数据。
3.如权利要求1或2所述的方法,其特征在于,对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口,包括:
对所述语义流查询语句进行解析,并根据解析得到的窗口参数生成所述查询窗口。
4.如权利要求1-3任一所述的方法,其特征在于,
在接收至少一个普通语义流数据,以及,接收语义流查询语句之后,还包括:
将所述至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询,包括:
在所述查询窗口中,根据所述查询请求,针对所述至少一个离散语义流数据进行查询。
5.如权利要求4所述的方法,其特征在于,在得到至少一个离散语义流数据之后,还包括:
将所述语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;所述M个离散语义流数据为所述至少一个离散语义流数据的子集。
6.如权利要求1-5任一所述的方法,其特征在于,在针对所述至少一个普通语义流数据进行查询之后,还包括:
输出查询结果语义流数据,所述查询结果语义流数据承载查询结果。
7.如权利要求1-6任一所述的方法,其特征在于,所述方法还包括:
确定第一节点设备传输的第一数据有误;所述第一节点设备为一种大数据分布式处理框架Spark集群中的任一设备;
向所述第一节点设备发送第一故障通知消息,所述第一故障通知消息用于通知所述第一节点设备,所述第一数据有误。
8.如权利要求1-7任一所述的方法,其特征在于,所述方法还包括:
在基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据所述第二故障通知消息确定传输给所述至少一个节点设备的至少一个第二数据有误;
根据弹性分布式数据集RDD对应的世系图,重新获取至少一个第二数据;
将所述重新获取的至少一个第二数据分别发送给所述至少一个节点设备。
9.一种物联网M2M环境下的语义流处理装置,其特征在于,所述装置位于一种大数据分布式处理框架Spark集群中的基础设施节点中;所述装置包括:
接收模块,用于接收至少一个普通语义流数据,以及,接收语义流查询语句;所述至少一个普通语义流数据中的每个普通语义流数据均对应于预设语义,所述语义流查询语句中携带查询请求,所述查询请求用于查询所述至少一个普通语义流数据所携带的信息;
生成模块,用于对所述语义流查询语句进行解析,并根据解析的结果生成查询窗口;
查询模块,用于在所述查询窗口中,根据所述查询请求,针对所述至少一个普通语义流数据进行查询。
10.如权利要求9所述的装置,其特征在于,所述接收模块用于:
接收一个或多个终端设备发送的所述至少一个普通语义流数据;或
接收一个或多个终端设备发送的至少一个普通数据;按照所述预设语义对所述至少一个普通数据进行语义标注,得到所述至少一个普通语义流数据。
11.如权利要求9或10所述的装置,其特征在于,所述生成模块用于:
对所述语义流查询语句进行解析,并根据解析得到的窗口参数生成所述查询窗口。
12.如权利要求9-11任一所述的装置,其特征在于,所述装置还包括离散化模块;
所述离散化模块用于:在所述接收模块接收至少一个普通语义流数据,以及,接收语义流查询语句之后,将所述至少一个普通语义流数据分别进行离散化,得到至少一个离散语义流数据;
所述查询模块用于:在所述查询窗口中,根据所述查询请求,针对所述至少一个离散语义流数据进行查询。
13.如权利要求12所述的装置,其特征在于,所述装置还包括合并模块,用于:
在所述离散化模块得到至少一个离散语义流数据之后,将所述语义流查询语句所对应的M个离散语义流数据合并为第一离散语义流数据;所述M个离散语义流数据为所述至少一个离散语义流数据的子集。
14.如权利要求9-13任一所述的装置,其特征在于,所述装置还包括输出模块,用于:
在所述查询模块针对所述至少一个普通语义流数据进行查询之后,输出查询结果语义流数据,所述查询结果语义流数据承载查询结果。
15.如权利要求9-14任一所述的装置,其特征在于,所述装置还包括确定模块和发送模块;
所述确定模块,用于确定第一节点设备传输的第一数据有误;所述第一节点设备为所述Spark集群中的任一设备;
所述发送模块,用于向所述第一节点设备发送第一故障通知消息,所述第一故障通知消息用于通知所述第一节点设备,所述第一数据有误。
16.如权利要求9-15任一所述的装置,其特征在于,所述装置还包括获取模块和发送模块;
所述接收模块还用于:在所述基础设施节点发生故障时,接收至少一个节点设备发送的第二故障通知消息,并根据所述第二故障通知消息确定传输给所述至少一个节点设备的至少一个第二数据有误;
所述获取模块用于:根据弹性分布式数据集RDD对应的世系图,重新获取至少一个第二数据;
所述发送模块用于:将所述重新获取的至少一个第二数据分别发送给所述至少一个节点设备。
17.一种基础设施节点,其特征在于,包括如权利要求9-16任一所述的M2M环境下的语义流处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510368714.2A CN106326207A (zh) | 2015-06-29 | 2015-06-29 | 一种m2m环境下的语义流处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510368714.2A CN106326207A (zh) | 2015-06-29 | 2015-06-29 | 一种m2m环境下的语义流处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106326207A true CN106326207A (zh) | 2017-01-11 |
Family
ID=57722689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510368714.2A Pending CN106326207A (zh) | 2015-06-29 | 2015-06-29 | 一种m2m环境下的语义流处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326207A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388027A (zh) * | 2008-10-09 | 2009-03-18 | 浙江大学 | 一种基于语义的数据服务糅合方法 |
CN103336813A (zh) * | 2013-06-27 | 2013-10-02 | 南京邮电大学 | 一种基于中间件架构的物联网数据集成管理方案 |
CN103577198A (zh) * | 2013-11-22 | 2014-02-12 | 中国联合网络通信集团有限公司 | 一种面向用户的物联网服务平台及远程控制方法 |
WO2014125120A1 (en) * | 2013-02-18 | 2014-08-21 | Nec Europe Ltd. | Method and system for semanctially querying a database by a machine-to-machine application |
-
2015
- 2015-06-29 CN CN201510368714.2A patent/CN106326207A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388027A (zh) * | 2008-10-09 | 2009-03-18 | 浙江大学 | 一种基于语义的数据服务糅合方法 |
WO2014125120A1 (en) * | 2013-02-18 | 2014-08-21 | Nec Europe Ltd. | Method and system for semanctially querying a database by a machine-to-machine application |
CN103336813A (zh) * | 2013-06-27 | 2013-10-02 | 南京邮电大学 | 一种基于中间件架构的物联网数据集成管理方案 |
CN103577198A (zh) * | 2013-11-22 | 2014-02-12 | 中国联合网络通信集团有限公司 | 一种面向用户的物联网服务平台及远程控制方法 |
Non-Patent Citations (2)
Title |
---|
周明: "物联网应用若干关键问题的研究", 《中国博士学位论文全文数据库》 * |
胡俊等: "基于Spark的大数据混合计算模型", 《计算机系统应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vermesan et al. | Internet of things strategic research and innovation agenda | |
Thibaud et al. | Internet of Things (IoT) in high-risk Environment, Health and Safety (EHS) industries: A comprehensive review | |
Ahmed et al. | The role of big data analytics in Internet of Things | |
Ta-Shma et al. | An ingestion and analytics architecture for iot applied to smart city use cases | |
Ahmed et al. | Cyber Physical System: Architecture, applications and research challenges | |
Alabadi et al. | Industrial internet of things: Requirements, architecture, challenges, and future research directions | |
Rathore et al. | Efficient graph-oriented smart transportation using internet of things generated big data | |
Vongsingthong et al. | A review of data management in internet of things | |
CN109376532A (zh) | 基于elk日志采集分析的电力网络安全监测方法及系统 | |
Xhafa et al. | Processing and analytics of big data streams with yahoo! s4 | |
Cheng et al. | Geelytics: Enabling on-demand edge analytics over scoped data sources | |
Cao et al. | The design of an IoT-GIS platform for performing automated analytical tasks | |
CN104980525A (zh) | 一种基于状态中间件的普适性移动计算框架 | |
Gomes et al. | A survey from real-time to near real-time applications in fog computing environments | |
CN102158551B (zh) | 物联网信息源统一描述和访问方法 | |
Peng et al. | High concurrency massive data collection algorithm for IoMT applications | |
Rejeb et al. | Knowledge diffusion of the Internet of Things (IoT): a main path analysis | |
CN102970278B (zh) | 用于在工业信息系统间处理和推送报警信息的系统 | |
Al-Dulaimy et al. | Introduction to edge computing | |
Abid et al. | Data analysis and outlier detection in smart city | |
Vangimalla et al. | Interoperability enhancement in health care at remote locations using thread protocol in uavs | |
WO2018083710A2 (en) | An improved management and internetworking of devices to collect and exchange data without requiring interaction | |
CN106326207A (zh) | 一种m2m环境下的语义流处理方法及装置 | |
CN102801580A (zh) | 一种智能变电站通信网络信息流计算评估系统及方法 | |
CN103944777B (zh) | 分布式监控系统信息处理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170111 |
|
RJ01 | Rejection of invention patent application after publication |