机器到机器系统中混搭数据的方法及设备与流程

文档序号:12379611阅读:228来源:国知局
机器到机器系统中混搭数据的方法及设备与流程

本发明实施例涉及物联网通信领域,并且更具体地,涉及机器到机器(Machine to Machine,M2M)系统中混搭(mashup)数据的方法及设备。



背景技术:

随着物联网技术的发展,全球化标准组织M2M随之成立,它旨在建立统一的业务层的机器到机器的技术标准,推动M2M全球标准与行业应用融合。其中,技术标准包括M2M设备的服务和数据的语义增强相关的技术标准。现有M2M体系采用分层构架,整个构架分为应用层(Application Layer)、公共服务层(Common Service Layer)和底层网络服务层(Network Service Layer)。应用层中的应用实体(Application Entity,AE)包含实例化的端到端的M2M解决方案的应用逻辑。公共服务层中的公共服务实体(Common Service Entity,CSE)包含实例化的公共服务功能,CSE是M2M中的核心层,管理负责汇聚应用层信息形成资源池,同时协调底层网络传输,起到平台的作用。底层网络服务层中的底层网络实体(Network Service Entity,NSE)管理负责底层网络传输,向公共服务层提供底层网络支持。

传统的语义mashup系统包括由本体库、mashup库和mashup引擎构成的集中的mashup服务器。传统的语义mashup采用中心化的架构,中心的mashup库存储了运行中产生的所有mashup,对数据进行统一设计及管理。

现有的对等(peer to peer,P2P)mashup框架可以采用中心化的设计,但P2P mashup缺少对语义的支持,不能很好地满足按需动态组合查询的请求。

按需动态的设备服务组合是许多M2M应用或系统需要实现的重要功能。由于M2M系统通常具备下列基本特点:无统一数据模式、去中心化和设备资源受限。如果要在M2M系统中实现mashup数据,则必须考虑M2M系统的上述特点,不能简单地将上述mashup框架直接移植到M2M应用场景中。在现行的M2M标准和规范中,语义增强部分仍然处于设计和讨论阶 段,并未见对语义mashup数据实现的具体表述。如何在M2M系统中实现mashup数据是需要解决的一个技术难题。



技术实现要素:

本发明实施例提供一种M2M系统中mashup数据的方法及设备,能够在M2M系统中实现数据的mashup。

第一方面,提供了一种机器到机器M2M系统中混搭mashup数据的方法,所述M2M系统包括第一虚拟设备、第二虚拟设备和第三虚拟设备,所述第二虚拟设备包括第二语义引擎和第二mashup引擎,所述第二语义引擎仅存储所述第二虚拟设备与所述第三虚拟设备之间的语义关系,其中,所述方法包括:所述第二虚拟设备接收所述第一虚拟设备发送的第一消息,所述第一消息用于对所述第二虚拟设备获取的数据进行查询或控制;所述第二虚拟设备的所述第二语义引擎对所述第一消息进行语义分析;根据所述语义关系和所述语义分析的结果,确定所述第三虚拟设备;所述第二虚拟设备向所述第三虚拟设备发送第二消息,其中,所述第二消息用于对所述第三虚拟设备获取的数据进行查询或控制;所述第二虚拟设备接收所述第三虚拟设备发送的反馈消息,所述反馈消息包括所述第三虚拟设备根据所述第二消息得到的数据;所述第二虚拟设备的所述第二mashup引擎对所述反馈消息中的数据进行mashup;所述第二虚拟设备向所述第一虚拟设备发送所述mashup得到的结果。

结合第一方面,在第一方面的一种实现方式中,所述第一虚拟设备与所述第二虚拟设备之间的连接为对等P2P连接、所述第二虚拟设备与所述第三虚拟设备之间的连接为P2P连接。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述第一虚拟设备包括第一语义引擎和第一mashup引擎,所述第三虚拟设备包括第三语义引擎和第三mashup引擎。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,当所述第一虚拟设备和所述第二虚拟设备处于同一物理设备中时,所述第一mashup引擎和所述第二mashup引擎相同;或者,当所述第二虚拟设备和所述第三虚拟设备处于同一物理设备中时,所述第二mashup引擎和所述第三mashup引擎相同。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述语义关系为:定义、关联或控制。

结合第一方面及其上述实现方式,在第一方面的另一种实现方式中,所述语义关系采用资源描述框架RDF三元组的记录方式。

第二方面,提供了一种机器到机器M2M系统中混搭mashup数据的方法,所述M2M系统包括第一虚拟设备、第二虚拟设备和第三虚拟设备,所述第二虚拟设备包括第二语义引擎和第二mashup引擎,所述第二语义引擎仅存储所述第二虚拟设备与所述第三虚拟设备之间的语义关系,其中,所述第二虚拟设备包括:第一接收单元,用于接收所述第一虚拟设备发送的第一消息,所述第一消息用于对所述第二虚拟设备获取的数据进行查询或控制;第二语义引擎单元,用于对所述第一接收单元接收的所述第一消息进行语义分析;确定单元,用于根据所述语义关系和所述第二语义引擎单元得到的所述语义分析的结果,确定所述第三虚拟设备;第一发送单元,用于向所述确定单元得到的所述第三虚拟设备发送第二消息,其中,所述第二消息用于对所述第三虚拟设备获取的数据进行查询或控制;第二接收单元,用于接收所述第三虚拟设备根据所述第二消息发送的反馈消息,所述反馈消息包括所述第三虚拟设备根据所述第二消息得到的数据;mashup引擎单元,用于对所述第二接收单元接收的所述反馈消息中的数据进行mashup;第二发送单元,用于向所述第一虚拟设备发送所述mashup得到的结果。

结合第二方面,在第二方面的一种实现方式中,所述第一虚拟设备与所述第二虚拟设备之间的连接为对等P2P连接、所述第二虚拟设备与所述第三虚拟设备之间的连接为P2P连接。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述第一虚拟设备包括第一语义引擎和第一mashup引擎,所述第三虚拟设备包括第三语义引擎和第三mashup引擎。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,当所述第一虚拟设备和所述第二虚拟设备处于同一物理设备中时,所述第一mashup引擎和所述第二mashup引擎相同;或者,当所述第二虚拟设备和所述第三虚拟设备处于同一物理设备中时,所述第二mashup引擎和所述第三mashup引擎相同。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所 述语义关系为:定义、关联或控制。

结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述语义关系采用资源描述框架RDF三元组的记录方式。

本发明实施例的M2M系统通过去中心化的结构设计,在每个虚拟设备中部署语义引擎和mashup引擎,在接收上层虚拟设备发送的查询或控制消息之后,通过语义引擎查找与自身相关联的下层虚拟设备,然后搜集下层虚拟设备的数据,再通过mashup引擎对搜集到的数据进行mashup,这样可以在M2M系统中实现mashup数据。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的M2M系统中mashup数据的方法的示意性流程图。

图2是本发明一个实施例的M2M系统中mashup数据的方法的示意性交互图。

图3是本发明另一实施例的M2M系统中mashup数据的方法的示意性交互图。

图4是本发明再一实施例的M2M系统中mashup数据的方法的示意性交互图。

图5是本发明一个实施例的M2M系统中mashup数据的语义图的基本组成单元的示意图。

图6是本发明另一实施例的M2M系统中mashup数据的语义图的基本组成单元的示意图。

图7是本发明一个实施例的M2M系统中mashup数据的语义网络的示意图。

图8是本发明一个实施例的家居环境的M2M系统中mashup数据的的语义总图。

图9是本发明一个实施例的家居环境的M2M系统中mashup数据的空 调上存储的语义子图。

图10是本发明一个实施例的家居环境的M2M系统中mashup数据的路径示意图。

图11是本发明一个实施例的M2M系统中mashup数据的设备的框图。

图12是本发明一个实施例的M2M系统中mashup数据的设备的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

图1是本发明一个实施例的M2M系统中mashup数据的方法的示意性流程图。图1的方法可以由虚拟设备执行。M2M系统包括第一虚拟设备、第二虚拟设备和第三虚拟设备,第二虚拟设备包括第二语义引擎和第二mashup引擎,第二语义引擎仅存储第二虚拟设备与第三虚拟设备之间的第二语义关系。

101,第二虚拟设备接收第一虚拟设备发送的第一消息,第一消息用于对第二虚拟设备获取的数据进行查询或控制。

102,第二虚拟设备的第二语义引擎对第一消息进行语义分析。

103,根据语义关系和语义分析的结果确定第三虚拟设备。

104,第二虚拟设备向第三虚拟设备发送第二消息,其中,第二消息用于对第三虚拟设备获取的数据进行查询或控制。

105,第二虚拟设备接收第三虚拟设备发送的反馈消息,反馈消息包括第三虚拟设备根据第二消息得到的数据。

106,第二虚拟设备根据第二mashup引擎对反馈消息中的数据进行mashup。

107,第二虚拟设备向所述第一虚拟设备发送mashup得到的结果。

本发明实施例的M2M系统通过去中心化的结构设计,在每个虚拟设备中部署语义引擎和mashup引擎,在接收上层虚拟设备发送的查询或控制消息之后,通过语义引擎查找与自身相关联的下层虚拟设备,然后搜集下层虚拟设备的数据,再通过mashup引擎对搜集到的数据进行mashup,这样可以 在M2M系统中实现mashup数据。

本发明实施例中,通过在设备内容设计虚拟设备,即在设备内部嵌入无线或有线通信模块以及应用处理逻辑,这样可以实现无需人工干预的数据通信,这样可以满足用户对监控、选择调度、数据采集和测量等方面的信息化需求。例如,可以通过手机连接家居环境的各个物理设备,来满足用户对家居环境中的空气质量、睡眠环境、温度或湿度等的查询或控制。

在本发明的一个实施例中,虚拟设备之间的连接为对等P2P连接,各个虚拟设备之间的地位和功能相同。例如,第一虚拟设备与第二虚拟设备之间的连接为对等P2P连接、第二虚拟设备与第三虚拟设备之间的连接为P2P连接。通过各个虚拟设备之间建立P2P连接,整个网络系统构成逻辑上统一的P2P语义网络,从而能够实现更加动态自适应的M2M设备智能组合与集成。

虚拟设备之间可以通过获取对方的统一资源标识符(Uniform Resource Identifier,URI)和空口信息来实现信息的交互。

第一消息可以用来对第二虚拟设备获取的数据进行查询或控制,第二消息可以用来对第三虚拟设备获取的数据进行查询或控制。即第一消息或第二消息可以为查询消息,也可以为控制消息。

第二虚拟设备接收第三虚拟设备发送的反馈消息,反馈消息包括第三虚拟设备根据第二消息得到的数据。当第二消息为查询消息时,第二虚拟设备可以根据第二消息获取得到第三虚拟设备的数据;当第二消息为控制消息时,第三虚拟设备可以根据第二消息获取得到第三虚拟设备的状态信息,例如,是否成功执行上述控制消息。这里,将虚拟设备获取得到的数据或状态消息都统称为数据。

在本发明的一个实施例中,每个虚拟设备可以有不同的语义引擎和mashup引擎,这样,每个虚拟设备都具有mahsup数据的功能,而且都具有对信息进行语义分析的功能。例如,第一虚拟设备包括第一语义引擎和第一mashup引擎,第三虚拟设备包括第三语义引擎和第三mashup引擎。各个虚拟设备之间是对等的,这样就不会因为中心的设备存储一个庞大的mashup库而使得开发和管理成本提高,可以实现M2M系统的去中心化的设计,满足M2M系统中去中心化的特点,同时降低开发和管理成本。

在本发明的一个实施例中,不同的物理设备可以具有相同的mashup库, 用mashup库存储物理设备对应的所有虚拟设备的语义子图,这样,在运行时,可以采用语义子图匹配方式寻找可能的mashup执行路径。

在本发明的另一个实施例中,每一个物理设备都可以有与之对应的mashup库,用于存储与该设备相关的mashup语义图。不同的物理设备可以具有不同的mashup库,这样可以降低对M2M设备的资源消耗。当第一虚拟设备、第二虚拟设备和第三虚拟设备处于同一物理设备中时,第一mashup引擎、第二mashup引擎和第三mashup引擎相同。这样,将mashup库精简分散在各个物理设备的mashup库中,每个mashup库中只包括与自身有关的语义关系,即,每个mashup库只包括该设备抽象得到的虚拟设备的语义子图,以及由虚拟设备递归产生的其他虚拟设备的语义子图,这样可以降低对M2M设备的资源消耗,能够满足M2M系统中设备资源受限的特点。

每个虚拟设备的语义引擎可以仅存储该虚拟设备与下层虚拟设备之间的语义关系。例如,第二虚拟设备可以仅存储第二虚拟设备与第三虚拟设备之间的语义关系。虚拟设备可以对上层虚拟设备发送的消息进行语义分析,并根据语义关系确定下层虚拟设备。M2M系统中的物理设备可以存储该物理设备对应的所有虚拟设备存储的语义关系。这样,能够满足M2M系统中设备资源受限的特点。

在本发明的一个实施例中,每个虚拟设备的语义子图包括该虚拟设备的数据信息,该虚拟设备和与该虚拟设备直接连接的其他虚拟设备之间的语义关系,以及该虚拟设备递归产生的其他语义关系结构。语义子图代表可能的mashup路径。虚拟设备之间具体一定的语义关系,可以根据语义关系处理复杂的动态组合资源需求。可选地,语义关系可以为:定义、关联或控制。

在本发明的一个实施例中,语义关系采用资源描述框架RDF三元组的记录方式。语义关系可以用资源、定义和值三个元素来表示。

在本发明的一个实施例中,第一虚拟设备、第二虚拟设备或第三虚拟设备具有查询或控制功能,例如,可以为设备中的一个应用程序。每个虚拟设备之间的地位等价。每个虚拟设备(例如,第二虚拟设备)都可以接收上层虚拟设备(例如,第一虚拟设备)发送的请求对该虚拟设备获取的数据进行查询或控制的消息。该虚拟设备的语义引擎可以分析语义,查找满足上述消息的下层虚拟设备(例如,第三虚拟设备)。接着,该虚拟设备可以向下层虚拟设备发送请求对下层虚拟设备的数据进行查询或控制的消息。下层虚拟 设备可以向该虚拟设备发送反馈消息,该反馈消息包括下层虚拟设备获取的数据。该虚拟设备得到反馈消息之后,可以对反馈消息中的数据进行mashup,并向上层虚拟设备发送该mashup得到的结果。每个虚拟设备的mashup引擎和语义引擎配套结合使用,这可以满足M2M系统中去中心化和设备资源受限的特点。

本发明实施例中,每个虚拟设备都可以作为第二虚拟设备,都可以接收上层虚拟设备的请求消息,并向下层虚拟设备发送请求消息。

虚拟设备在向另一虚拟设备发送消息或控制命令之前,需要获得另一虚拟设备的统一资源标识符和空口信息。以通过统一资源标识符和空口信息建立两个虚拟设备之间的连接。可选地,可以通过向下层虚拟设备发送请求消息,以请求下层虚拟设备的URI和空口信息。在接收下层虚拟设备发送的URI和空口信息之后,根据URI和空口信息建立连接。

在本发明的一个实施例中,每一个虚拟设备都有与之对应的语义子图。物理设备的语义子图包括从物理设备抽象出来的抽象设备、抽象设备上层的设备以及设备之间的语义关系。所有虚拟设备的语义子图可以构成语义总图。例如,第一虚拟设备、第二虚拟设备和第三虚拟设备以及设备之间的语义关系构成语义总图。

上文中图1是从虚拟设备的角度详细描述了根据本发明实施例的M2M系统中mashup数据的方法,下面将结合具体例子更加详细地描述本发明的实施例。应注意,这些例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。

图2是本发明一个实施例的M2M系统中mashup数据的方法的示意性交互图。图2的M2M系统包括应用实体、公共服务实体、第一虚拟设备、第二虚拟设备和第三虚拟设备。

201,应用实体向公共服务实体发送语义查询请求消息。

例如,移动终端的应用实体可以向移动终端的公共服务实体发送语义查询请求消息。可以假设这里的语义查询请求消息为查询指定房间一中的室内空气质量。这里的移动终端可以为手机,用户可以通过手机操控设备。

202,公共服务实体根据语义查询请求消息确定第一虚拟设备。

例如,移动终端的公共服务实体接收应用实体发送的语义查询请求消息之后,可以找出与房间一中的室内空气质量相关的虚拟设备。

可选地,移动终端可以根据自身语义引擎所包括的语义关系中查找并确定与语义查询请求消息相关的第一虚拟设备。例如,当移动终端想要对室内睡眠环境进行控制时,根据语义引擎中的语义子图匹配算法,可以查找得到虚拟设备,并将睡眠环境控制这一虚拟设备确定为第一虚拟设备。

203,公共服务实体向第一虚拟设备请求统一资源标识符(Uniform Resource Location,URI)和空口信息。

公共服务实体在确定与查询请求密切相关的第一虚拟设备之后,可以向第一虚拟设备发送请求统一资源标识符和空口信息的消息,以通过资源标识符和空口信息建立公共服务实体和第一虚拟设备之间的P2P连接。

204,第一虚拟设备向公共服务实体发送统一资源标识符URI和空口信息。

第一虚拟设备接收公共服务实体发送的请求消息之后,向公共服务实体发送自身的统一资源标识符和空口信息。

205,公共服务实体向第一虚拟设备发送数据请求消息。

公共服务实体接收第一虚拟设备发送的URI和空口信息之后,根据URI和空口信息向第一虚拟设备发送数据请求消息。例如,移动终端想要得到室内环境的睡眠环境控制,公共服务实体可以向第一虚拟设备发送数据请求消息,请求对睡眠环境控制这一虚拟设备的数据进行查询或对虚拟设备进行控制。

206,第一虚拟设备向第二虚拟设备发送第一消息。

第一虚拟设备接收公共服务实体发送的数据请求消息之后,根据自己的语义引擎存储的语义关系查找语义总图上与第一虚拟设备相连的第二虚拟设备,并向第二虚拟设备发送第一消。第一虚拟设备的数据可以由至少一个第二虚拟设备的数据通过mashup得到。

第二虚拟设备与第一虚拟设备之间的语义关系为第一语义关系。第一虚拟设备可以根据第一语义关系确定查找并确定第二虚拟设备。应理解,第二虚拟设备为与第一虚拟设备相连接,第二虚拟设备可以是一个,也可以为多个。第一虚拟设备可以根据第一语义关系找到的一系列虚拟设备都可以认为是第二虚拟设备。然后将这一系列虚拟设备按照一定的优先级排列,将优先级最高的虚拟设备确定为第二虚拟设备。

例如,第一虚拟设备(例如,睡眠环境控制)根据语义子图匹配算法, 查找得到一系列与睡眠环境控制相关的虚拟设备,例如,室温控制、空气质量控制和睡眠舒适度,并通过语义关系将空气质量控制确定为第二虚拟设备。

207,第二虚拟设备确定第三虚拟设备。

第二虚拟设备与第三虚拟设备之间的语义关系为第二语义关系。第二虚拟设备可以对第一消息进行语义分析。并根据语义分析结果和第二语义关系确定第三虚拟设备。换句话说,第二虚拟设备可以根据语义子图匹配算法确定第三虚拟设备。

应理解,第二虚拟设备可以根据第一消息和第二语义关系可以确定一系列的与之相关联的虚拟设备。语义子图上与第二虚拟设备直接关联的虚拟设备都可以作为第三虚拟设备。这里的第三虚拟设备可以为一个或多个。优选地,在本发明的一个实施例中,可以将语义关系上与第二虚拟设备最为紧密联系的虚拟设备确定为第三虚拟设备,即可以将语义子图上与第二虚拟设备直接关联的一系列虚拟设备按照一定的优先级进行排序,并将优先级最高的下层虚拟设备确定为第三虚拟设备。

208,第二虚拟设备向第三虚拟设备发送第二消息。

第二虚拟设备确定第三虚拟设备之后,可以向第三虚拟设备发送第二消息,以请求对第三虚拟设备的数据进行查询或控制。具体地,第二消息可以为查询消息,用于对第三虚拟设备获取的数据进行查询;第二消息也可以为控制消息,用于对第三虚拟设备进行控制。

209,第三虚拟设备向第二虚拟设备发送反馈消息。

第三虚拟设备接收第二虚拟设备发送的第二消息,可以向第二虚拟设备发送反馈消息。反馈消息包括第三虚拟设备获取的数据,其中,获取的数据可以为查询得到的查询数据,也可以为用于指示是否成功执行控制消息的状态数据。控制消息可以为打开或关闭虚拟设备、或调高或调低虚拟设备的参数。状态数据可以为已成功执行打开或关系、或调高或调低。当第三虚拟设备为一个虚拟设备时,第三虚拟设备可以只向第二虚拟设备发送自身获取的查询数据或状态数据。当第三虚拟设备为多个虚拟设备时,多个虚拟设备都可以向第二虚拟设发送自身获取的查询数据或状态数据。

210,第二虚拟设备的第二mashup引擎对接收的数据进行mashup。

第二虚拟设备在接收第三虚拟设备发送的反馈消息之后,对接收的数据 进行mashup。

211,第二虚拟设备向第一虚拟设备发送mashup得到的结果。

第二虚拟设备向第一虚拟设备发送mashup得到的结果。

212,第一虚拟设备的第一mashup引擎对接收的数据进行mashup。

第一虚拟设备可以根据第一语义关系可以找到至少一个与第一虚拟设备连接的第二虚拟设备。当第二虚拟设备不止一个时,这里第一虚拟设备可以接收到多个第二虚拟设备发送的mashup结果。此时,第一虚拟设备需要对接收的多个结果继续进行mashup,得到mshup结果。

213,第一虚拟设备向公共服务实体发送mashup结果。

第一虚拟设备可以向公共服务实体发送自身进行mashup之后得到的mashup结果。

214,公共服务实体向应用实体发送mashup结果。

公共服务实体接收第一虚拟设备发送的mashup结果之后,可以向应用实体发送该mashup结果。

当请求的消息的语义关系比较复杂时,可以利用上述实施例的方法,应用实体发送语义查询请求或接收mashup结果。公共服务实体的语义能力相对应用实体的语义能力更为强大,所以公共服务实体可以根据更为复杂的语义关系确定第一虚拟设备。

图3是本发明一个实施例的M2M系统中mashup数据的方法的示意性交互图。图3的M2M系统包括抽象设备、第一虚拟设备、第二虚拟设备和第三虚拟设备。

301,抽象设备确定第一虚拟设备。

抽象设备可以为移动终端中的一个应用程序。当想要查询房间一中的室内空气质量时,移动终端可以根据自身语义引擎所包括的语义关系中查找并确定与语义查询请求消息相关的第一虚拟设备。例如,用户想要获取得到房间一中的睡眠舒适度,且当虚拟设备的语义描述满足查询请求时,可以根据语义查询请求找出与房间一中的睡眠舒适度相关的第一虚拟设备,即睡眠舒适度。

302,抽象设备向第一虚拟实设备请求统一资源标识符URI和空口信息。

抽象设备在确定与查询请求密切相关的第一虚拟设备之后,可以向第一虚拟设备发送请求统一资源标识符和空口信息的消息,以通过资源标识符和 空口信息建立公共服务实体和第一虚拟设备之间的P2P连接。

303,第一虚拟设备向抽象设备发送统一资源标识符URI和空口信息。

第一虚拟设备接收抽象设备发送的请求消息之后,向抽象设备发送自身的统一资源标识符和空口信息。

304,抽象设备向第一虚拟设备发送数据请求消息。

抽象设备接收第一虚拟设备发送的URI和空口信息之后,根据URI和空口信息向第一虚拟设备发送数据请求消息。例如,移动终端想要得到室内环境的睡眠环境控制,抽象设备可以向第一虚拟设备发送数据请求消息,请求对睡眠环境控制这一虚拟设备的数据进行查询或对虚拟设备进行控制。

305,第一虚拟设备向第二虚拟设备发送第一消息。

第一虚拟设备接收公共服务实体发送的数据请求消息之后,根据自己的语义引擎存储的语义关系查找语义总图上与第一虚拟设备相连的第二虚拟设备,并向第二虚拟设备发送第一消息。第一虚拟设备的数据可以由至少一个第二虚拟设备的数据通过mashup得到。

第二虚拟设备与第一虚拟设备之间的语义关系为第一语义关系。第一虚拟设备可以根据第一语义关系确定查找并确定第二虚拟设备。应理解,第二虚拟设备为与第一虚拟设备相连接,第二虚拟设备可以是一个,也可以为多个。第一虚拟设备可以根据第一语义关系找到的一系列虚拟设备都可以认为是第二虚拟设备。然后将这一系列虚拟设备按照一定的优先级排列,将优先级最高的虚拟设备确定为第二虚拟设备。

例如,第一虚拟设备(例如,睡眠环境控制)根据语义子图匹配算法,查找得到一系列与睡眠环境控制相关的虚拟设备,例如,室温控制、空气质量控制和睡眠舒适度,并通过语义关系将空气质量控制确定为第二虚拟设备。

306,第二虚拟设备确定第三虚拟设备。

第二虚拟设备与第三虚拟设备之间的语义关系为第二语义关系。第二虚拟设备可以对第一消息进行语义分析。并根据语义分析结果和第二语义关系确定第三虚拟设备。换句话说,第二虚拟设备可以根据语义子图匹配算法确定第三虚拟设备。

应理解,第二虚拟设备可以根据第一消息和第二语义关系可以确定一系列的与之相关联的虚拟设备。语义子图上与第二虚拟设备直接关联的虚拟设 备都可以作为第三虚拟设备。这里的第三虚拟设备可以为一个或多个。优选地,在本发明的一个实施例中,可以将语义关系上与第二虚拟设备最为紧密联系的虚拟设备确定为第三虚拟设备,即可以将语义子图上与第二虚拟设备直接关联的一系列虚拟设备按照一定的优先级进行排序,并将优先级最高的下层虚拟设备确定为第三虚拟设备。

307,第二虚拟设备向第三虚拟设备发送第二消息。

第二虚拟设备确定第三虚拟设备之后,可以向第三虚拟设备发送第二消息,以请求对第三虚拟设备的数据进行查询或控制。具体地,第二消息可以为查询消息,用于对第三虚拟设备获取的数据进行查询;第二消息也可以为控制消息,用于对第三虚拟设备进行控制。

308,第三虚拟设备向第二虚拟设备发送反馈消息。

第三虚拟设备接收第二虚拟设备发送的第二消息,可以向第二虚拟设备发送反馈消息。反馈消息包括第三虚拟设备获取的数据,其中,获取的数据可以为查询得到的查询数据,也可以为用于指示是否成功执行控制消息的状态数据。控制消息可以为打开或关闭虚拟设备、或调高或调低虚拟设备的参数。状态数据可以为已成功执行打开或关系、或调高或调低。当第三虚拟设备为一个虚拟设备时,第三虚拟设备可以只向第二虚拟设备发送自身获取的查询数据或状态数据。当第三虚拟设备为多个虚拟设备时,多个虚拟设备都可以向第二虚拟设发送自身获取的查询数据或状态数据。

309,第二虚拟设备的第二mashup引擎对接收的数据进行mashup。

第二虚拟设备在接收第三虚拟设备发送的反馈消息之后,对接收的数据进行mashup。

310,第二虚拟设备向第一虚拟设备发送mashup得到的结果。

第二虚拟设备向第一虚拟设备发送mashup得到的结果。

311,第一虚拟设备的第一mashup引擎对接收的数据进行mashup。

第一虚拟设备可以根据第一语义关系可以找到至少一个与第一虚拟设备连接的第二虚拟设备。当第二虚拟设备不止一个时,这里第一虚拟设备可以接收到多个第二虚拟设备发送的mashup结果。此时,第一虚拟设备需要对接收的多个结果继续进行mashup,得到mshup结果。

312,第一虚拟设备向抽象设备发送mashup结果。

第一虚拟设备可以向公共服务实体发送自身进行mashup之后得到的 mashup结果。

当请求的消息的语义关系比较简单时,可以利用上述实施例的方法,这里的抽象设备可以为应用实体AE。

图4是本发明另一实施例的M2M系统中mashup数据的方法的示意性交互图。图4中的M2M系统应用实体、公共服务实体和虚拟设备。

401,应用实体向公共服务实体发送语义查询请求消息。

例如,移动终端的应用实体可以向移动终端的公共服务实体发送语义查询请求消息。例如,可以假设这里的语义查询请求消息为查询指定房间一中的室内空气质量。这里的移动终端可以为手机,用户可以通过手机操控设备。

402,公共服务实体对语义查询请求消息进行语义分析。

例如,移动终端的公共服务实体接收应用实体发送的语义查询请求消息之后,对语义查询请求消息进行语义分析,查找与房间一中的室内空气质量相关的虚拟设备。

403,虚拟设备进行语义匹配,但语义匹配失败。

虚拟设备中保存有自身的语义子图。虚拟设备将自身的语义子图与公共服务实体的语义描述进行匹配,但语义匹配失败。

405,虚拟设备向公共服务实体发送匹配失败的信号。

当虚拟设备进行语义匹配失败之后,虚拟设备虚拟实体向公共服务实体发送匹配失败的信号。

406,公共服务实体向应用实体发送失败结果。

公共服务实体接收虚拟设备发送的失败信号之后,向应用实体发送失败结果。

图5是本发明一个实施例的M2M系统中mashup数据的语义图的基本组成单元的示意图。

图5的基本组成单元为汇聚mashup结构。图5的语义图的基本组成单元包括虚拟设备一、虚拟设备二、虚拟设备三、虚拟设备四和虚拟设备五。M2M系统中底层的虚拟设备可以汇聚形成上层的虚拟设备。例如,虚拟设备一、虚拟设备二、虚拟设备三和虚拟设备四可以汇聚形成虚拟设备五。虚拟设备一、虚拟设备二、虚拟设备三、虚拟设备四都与虚拟设备五之间存在一定的语义关系,图5中用到的语义关系包括定义,用D来表示。即图5中由虚拟设备一、虚拟设备二、虚拟设备三、虚拟设备四通过定义汇聚形成 虚拟设备五。这里的虚拟设备可以为数据,也可以为控制逻辑。例如,虚拟设备可以为空气质量、光照强度、空气质量指数等。再如,当虚拟设备一、虚拟设备二、虚拟设备三、虚拟设备四分别为甲醛、笨、氨和二氧化碳时,汇聚的虚拟设备可以为室内空气质量。可以通过对甲醛、笨、氨和二氧化碳的数据进行汇聚形成室内空气质量。

图6是本发明另一实施例的M2M系统中mashup数据的语义图的基本组成单元的示意图。

图6的基本组成单元为控制mashup结构。图6的语义图的基本组成单元包括虚拟设备一、虚拟设备二、虚拟设备三和虚拟设备四。M2M系统中底层的设备可以形成上层的设备。例如,虚拟设备一、虚拟设备二、虚拟设备三可以形成虚拟设备四。虚拟设备一、虚拟设备二、虚拟设备三都与虚拟控制设备之间存在一定的语义关系。图6中用到的语义关系包括相关性和被控制,分别用R和C来表示。即图6中由虚拟设备一、虚拟设备二、虚拟设备三通过语义关系R和C控制形成虚拟设备四。这里的设备可以为数据,也可以为控制逻辑。例如,设备可以为空气质量、光照强度、空气质量指数等。再如,当虚拟设备一、虚拟设备二、虚拟设备三分别为睡眠舒适度、空气质量控制和室温控制时,虚拟设备四可以为睡眠环境控制。可以通过与睡眠舒适度的相关性,以及对空气质量控制和室温控制的数据进行控制进而控制睡眠环境。

图7是本发明一个实施例的M2M系统中mashup数据的语义网络的示意图。

图7为一个家庭中的M2M系统,系统包括第一虚拟设备、第二虚拟设备、第三虚拟设备、第四虚拟设备和第五虚拟设备,且每个虚拟设备对应的语义子图分别为:语义子图1、语义子图2、语义子图3、语义子图4和语义子图5。第一虚拟设备和第二虚拟设备之间建立P2P连接,第一虚拟设备和第三虚拟设备之间建立P2P连接,第三虚拟设备和第四虚拟设备之间建立P2P连接,第四虚拟设备和第五虚拟设备之间建立P2P连接。每个虚拟设备都有对应的语义子图,各个虚拟设备之间的语义子图共同构成语义网络。

图8是本发明一个实施例的家居环境的M2M系统中mashup数据的语义总图。

图8的家居环境中包括六个物理实体设备:空气净化器、空调、空气质 量检测器1、空气质量检测器2、光强传感器和声音传感器。图8中的ME表示mashup引擎。每个物理实体设备单独设置独立的mashup引擎。每个物理实体设备可以包括至少一个应用实体,而且,统一物理实体设备的多个应用实体可公用一个mashup引擎。例如,空气净化器包括空气净化器开关。空调包括电源、温度控制器、风力控制器、温度传感器、湿度传感器,并且,电源、温度控制器、风力控制器、温度传感器和湿度传感器可以公用空调的mashup引擎。空气质量检测器1包括PM2.5、PM10、臭氧、二氧化氮、二氧化硫和一氧化碳。空气质量检测器2包括甲醛、氨、苯、二氧化碳、总挥发性有机物。光强传感器包括光照强度。声音传感器包括音量。

物理实体设备的应用实体加上与其它设备之间的语义关系,构成抽象设备。例如,空气净化器的净化器应用实体层的开关加上语义关系形成抽象设备层的空气质量控制。空调应用实体层的温度控制器加上语义关系形成抽象设备层的温度控制,空调应用实体层的风力控制器加上语义关系形成抽象设备层的风力控制,空调应用实体层的温度传感器加上语义关系形成抽象设备层的温度,空调应用实体层的湿度传感器加上语义关系形成抽象设备层的湿度。空气质量检测器应用实体层的PM2.5、PM10、臭氧、二氧化氮、二氧化硫和一氧化碳加上语义关系形成抽象设备层的PM2.5、PM10、臭氧、二氧化氮、二氧化硫和一氧化碳。空气质量检测器应用实体层的甲醛、氨、苯、二氧化碳、总挥发性有机物加上语义关系形成抽象设备层的甲醛、氨、苯、二氧化碳、总挥发性有机物。光强传感器应用实体层的光照强度加上语义关系形成抽象实体层的光照强度。声音传感器应用实体层的音量加上语义关系形成抽象设备层的环境音量。

本发明实施例中的语义关系可以包括数据语义信息semanticInfo、资源关联信息Relations、命名空间信息namespaceURIs和拓扑结构信息mashupRepo。数据语义信息可以用来描述数据的含义,例如,空调的温度。资源关联信息可以用来记录资源之间的关联关系,例如,资源关联信息可以用来记录和空调有关联的资源,包括温度控制、风力控制、温度、湿度、人体舒适度、睡眠舒适度、室温控制、睡眠环境控制。命名空间信息可以用来命名空间前缀与命名空间的URI,例如,在M2M下,统一资源标识符(Uniform Resource Identifier,URI)http://www.etsi-m2m.org/sensor可以用命名空间信息m2m=http://www.etsi-m2m.org/sensor#表示。拓扑结构信息可以用 来描述设备之间的拓扑结构、关联关系,例如,拓扑关系为温度、湿度汇聚可以形成人体舒适度。

抽象设备层的设备通过语义凝聚形成虚拟设备层的设备。mashup数据的语义图的基本组成单元可以为图8的汇聚结构,也可以为图6的控制结构。例如,抽象设备产能的温度控制、风力控制和温度通过语义凝聚形成室温控制。抽象设备层的温度和湿度通过语义凝聚形成人体舒适度。抽象设备层的PM2.5、PM10、臭氧、二氧化氮、二氧化硫和一氧化碳通过语义凝聚形成空气质量指数。抽象设备层的甲醛、氨、苯、二氧化碳、总挥发性有机物通过凝聚形成室内空气质量。抽象设备层的光照强度通过凝聚形成光照强度。抽象设备层的环境音量通过凝聚形成噪音音量。

进一步地,人体舒适度、空气质量指数、室内空气质量、光照强度和噪音音量通过语义凝聚形成睡眠舒适度。人体舒适度、空气质量指数和抽象设备层的空气质量控制通过语义凝聚形成控制质量控制。室温控制、控制质量控制和睡眠舒适度通过语义凝聚形成睡眠环境控制。每一个虚拟设备都具有mashup功能,都可以将接收的数据或状态信息进行mashup,进而得到自身所需的数据。

从抽象设备以上的上层设备的语义子图共同构成M2M系统的语义总图。

本发明实施例中的虚拟设备可以包括图8中抽象设备层的设备和虚拟设备层的设备。

图9是本发明一个实施例的家居环境的M2M系统中mashup数据的空调上存储的语义子图。

每个物理实体设备的多个应用实体之间可以公用一个mashup引擎。每个物理实体设备都对应一个语义子图。语义子图包括物理实体设备抽象得到的设备和与之相关联的其他虚拟设备,递归产生的其他虚拟设备,以及设备之间的语义关系。如图9所示的为在图8的M2M系统中空调上存储的语义子图。空调的语义子图主要包括与空调对应的抽象物理设备相关的虚拟设备,以及设备之间的相互关系。空调的抽象物理设备层包括温度控制、风力控制、温度和湿度。图9的空调的语义子图给出了包括温度控制、风力控制、温度或湿度进行语义凝聚后得到的虚拟设备。各设备直接按的语义凝聚在图8中已有描述,在此不再一一赘述。

图10是本发明一个实施例的家居环境的M2M系统中mashup数据的路径示意图。

图10的M2M系统包括移动终端以及虚拟设备温度控制、风力控制和温度。温度控制、风力控制和温度进行语义凝聚形成室温控制。移动终端和室温控制之间通过P2P连接。当移动终端需要对室温进行控制时,与虚拟设备室温控制进行P2P连接,并向虚拟设备室温控制发送室温控制消息。虚拟设备收到室温控制消息之后,对与之有语义关系的温度控制、风力控制和温度发送一定的控制消息或数据,以使得温度控制可以通过控制消息对温度进行控制,使得风力控制可以通过控制消息对风力进行控制,使得温度实体可以通过温度的具体数据来调节温度。

上文中结合图1到图10,分别从第一设备和第二设备的角度详细描述了根据本发明实施例的M2M系统中mashup数据的方法及具体流程,下面将结合图11到图12从公共服务实体和虚拟设备的角度描述根据本发明实施例的M2M系统中mashup数据的设备。

图11是本发明一个实施例的M2M系统中mashup数据的设备的框图。图11的M2M系统包括第一虚拟设备、第二虚拟设备和第三虚拟设备,第二虚拟设备包括第二语义引擎和第二mashup引擎,第二语义引擎仅存储第二虚拟设备与第三虚拟设备之间的第二语义关系。第二虚拟设备包括第一接收单元11、第二语义引擎单元12、确定单元13、第一发送单元14、第二接收单元15、mashup引擎单元16和第二发送单元17。

第一接收单元11用于接收第一虚拟设备发送的第一消息,第一消息用于对第二虚拟设备获取的数据进行查询或控制。

第二语义引擎单元12用于对第一接收单元接收的第一消息进行语义分析。

确定单元13用于根据语义关系和第二语义引擎单元得到的语义分析的结果确定第三虚拟设备。

第一发送单元14用于向确定单元得到的第三虚拟设备发送第二消息,其中,第二消息用于对第三虚拟设备获取的数据进行查询或控制。

第二接收单元15用于接收第三虚拟设备根据第二消息发送的反馈消息,反馈消息包括第三虚拟设备根据第二消息得到的数据。

mashup单元16用于对第二接收单元接收的反馈消息中的数据进行 mashup。

第二发送单元17用于向第一虚拟设备发送mashup得到的结果。

本发明实施例的M2M系统通过去中心化的结构设计,在每个虚拟设备中部署语义引擎和mashup引擎,在接收上层虚拟设备发送的查询或控制消息之后,通过语义引擎查找与自身相关联的下层虚拟设备,然后搜集下层虚拟设备的数据,再通过mashup引擎对搜集到的数据进行mashup,这样可以在M2M系统中实现mashup数据。

可选地,作为一个实施例,第一虚拟设备与第二虚拟设备之间的连接为对等P2P连接、第二虚拟设备与第三虚拟设备之间的连接为P2P连接。

可选地,作为一个实施例,第一虚拟设备包括第一语义引擎和第一mashup引擎,第三虚拟设备包括第三语义引擎和第三mashup引擎。

可选地,作为一个实施例,当第一虚拟设备和第二虚拟设备处于同一物理设备中时,第一mashup引擎和第二mashup引擎相同;或者,当第二虚拟设备和第三虚拟设备处于同一物理设备中时,第二mashup引擎和第三mashup引擎相同。

可选地,作为一个实施例,语义关系为:定义、关联或控制。

可选地,作为一个实施例,语义关系采用资源描述框架RDF三元组的记录方式。

根据本发明实施例的M2M系统中mashup数据的设备可对应于本发明实施例图1的方法,并且,该设备中的各个单元/模块和上述其他操作和/或功能分别为了实现图1,图2至图10中各虚拟设备的相应流程,为了简洁,在此不再赘述。

图12是本发明一个实施例的M2M系统中mashup数据的设备的框图。图12的设备20包括发射机21、接收机22、处理器23和存储器24。处理器23控制设备20的操作,并可用于处理信号。存储器24可以包括只读存储器和随机存取存储器,并向处理器23提供指令和数据。发射机21和接收机22可以耦合到天线21。设备20的各个组件通过总线系统25耦合在一起,其中总线系统25除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统25。

上述本发明实施例揭示的方法可以应用于处理器23中,或者由处理器23实现。在实现过程中,上述方法的各步骤可以通过处理器23中的硬件的 集成逻辑电路或者软件形式的指令完成。处理器23可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器24,处理器23读取存储器24中的信息,结合其硬件完成上述方法的步骤。

具体地,接收机22可以接收第一虚拟设备发送的第一消息,第一消息用于对第二虚拟设备获取的数据进行查询或控制。

处理器23可以对第一接收单元接收的第一消息进行语义分析,并根据语义关系和语义分析的结果确定第三虚拟设备。

发射机21可以向第三虚拟设备发送第二消息,其中,第二消息用于对第三虚拟设备获取的数据进行查询或控制。

接收机22可以接收第三虚拟设发送的反馈消息,反馈消息包括第三虚拟设备根据第二消息得到的数据。

处理器23可以对反馈消息中的数据进行mashup。

发射机21可以向第一虚拟设备发送mashup得到的结果。

本发明实施例的M2M系统通过去中心化的结构设计,在每个虚拟设备中部署语义引擎和mashup引擎,在接收上层虚拟设备发送的查询或控制消息之后,通过语义引擎查找与自身相关联的下层虚拟设备,然后搜集下层虚拟设备的数据,再通过mashup引擎对搜集到的数据进行mashup,这样可以在M2M系统中实现mashup数据。

可选地,作为一个实施例,第一虚拟设备与第二虚拟设备之间的连接为对等P2P连接、第二虚拟设备与第三虚拟设备之间的连接为P2P连接。

可选地,作为一个实施例,第一虚拟设备包括第一语义引擎和第一mashup引擎,第三虚拟设备包括第三语义引擎和第三mashup引擎。

可选地,作为一个实施例,当第一虚拟设备和第二虚拟设备处于同一物理设备中时,第一mashup引擎和第二mashup引擎相同;或者,当第二虚拟 设备和第三虚拟设备处于同一物理设备中时,第二mashup引擎和第三mashup引擎相同。

可选地,作为一个实施例,语义关系可以为:定义、关联或控制。

可选地,作为一个实施例,语义关系采用资源描述框架RDF三元组的记录方式。

根据本发明实施例的M2M系统中mashup数据的设备可对应于本发明实施例图1的方法,并且,该设备中的各个单元/模块和上述其他操作和/或功能分别为了实现图1至图10中各虚拟设备的相应流程,为了简洁,在此不再赘述。

应理解,流程中各步骤的序号并不构成对各步骤执行的时间先后顺序的约束或限定。

M2M可以应用在不同行业不同场景中,例如医疗保健、运输、能源、安全与监控、家庭自动化与控制等。本发明实施例仅以将M2M应用在家居环境中为例进行示例性说明。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

应理解,在本发明实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。

另外,本文中术语“系统”和“网络”在本文中常可互换使用。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各 示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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