一种创建抽象设备的方法和装置
技术领域
本发明涉及通信技术领域,特别是涉及一种创建抽象设备的方法和装置。
背景技术
国际物联网标准组织OneM2M在标准文件中提出了物理设备和抽象设备的概念。物理设备是真实存在的实体设备,抽象设备是对物理设备的抽象,抽象设备具有物理设备的一般属性,屏蔽了物理设备的底层网络技术和物理形态。
虽然在标准文件中给出了抽象设备的概念,但是,抽象设备的概念较为笼统,关于抽象设备如何创建、如何描述、如何应用,都未给出明确定义,对于本领域技术人员而言,在抽象设备的实现上比较困难。
发明内容
本发明要解决的技术问题是提供一种创建抽象设备的方法和装置,用以解决现有技术在抽象设备的实现上比较困难的问题。
基于上述技术问题,本发明是通过以下技术方案来解决的。
本发明提供了一种创建抽象设备的方法,包括:接收物理设备的设备信息;根据所述设备信息,获取所述物理设备对应的设备模型和设备抽象规则;基于所述设备信息、所述设备模型和所述设备抽象规则,创建所述物理设备对应的抽象设备。
其中,在获取所述物理设备对应的设备模型和设备抽象规则之前,还包括:预先构建环境模型、以及所述物理设备对应的设备模型;在所述设备模型和所述环境模型之间建立关联关系;根据所述关联关系,创建所述设备模型对应设备抽象规则。
其中,在所述设备模型和所述环境模型之间建立关联关系,包括:所述设备模型包括操作项;所述环境模型包括环境属性;在所述操作项和所述环境属性之间建立关联关系。
其中,所述设备抽象规则包括:抽象设备的描述框架;所述抽象设备的描述框架记录有所述操作项和所述环境属性之间的关联关系信息。
其中,基于所述设备信息、所述设备模型和所述设备抽象规则,创建所述物理设备对应的抽象设备,包括:基于所述设备信息和所述设备模型,实例化所述物理设备,以得到所述物理设备对应的设备实例;在所述设备抽象规则中,获取抽象设备的描述框架;通过在所述抽象设备的描述框架和所述设备实例之间建立映射关系,创建所述物理设备对应的抽象设备。
其中,在创建所述物理设备对应的抽象设备之后,还包括:接收应用请求;所述应用请求携带抽象设备匹配信息;获取与所述抽象设备匹配信息相匹配的抽象设备;根据与所述抽象设备存在映射关系的设备实例,获取设备操作指令;将所述设备操作指令,向所述设备实例对应的物理设备发送,以使所述物理设备执行所述设备操作指令。
本发明还公开了一种创建抽象设备的装置,包括:接收模块,用于接收物理设备的设备信息;获取模块,用于根据所述设备信息,获取所述物理设备对应的设备模型和设备抽象规则;创建模块,用于基于所述设备信息、所述设备模型和所述设备抽象规则,创建所述物理设备对应的抽象设备。
其中,在获取所述物理设备对应的设备模型和设备抽象规则之前,所述创建模块还包括:预先构建环境模型、以及所述物理设备对应的设备模型;在所述设备模型和所述环境模型之间建立关联关系;根据所述关联关系,创建所述设备模型对应设备抽象规则。
其中,所述设备模型包括操作项;所述环境模型包括环境属性;所述创建模块用于:在所述操作项和所述环境属性之间建立关联关系。
其中,所述设备抽象规则包括:抽象设备的描述框架;所述抽象设备的描述框架记录有所述操作项和所述环境属性之间的关联关系信息。
其中,所述创建模块具体用于:基于所述设备信息和所述设备模型,实例化所述物理设备,以得到所述物理设备对应的设备实例;在所述设备抽象规则中,获取抽象设备的描述框架;通过在所述抽象设备的描述框架和所述设备实例之间建立映射关系,创建所述物理设备对应的抽象设备。
其中,所述接收模块,还用于创建所述物理设备对应的抽象设备之后,接收应用请求;所述应用请求携带抽象设备匹配信息;所述获取模块,还用于获取与所述抽象设备匹配信息相匹配的抽象设备;根据与所述抽象设备存在映射关系的设备实例,获取设备操作指令;所述装置还包括发送模块,用于将所述设备操作指令,向所述设备实例对应的物理设备发送,以使所述物理设备执行所述设备操作指令。
本发明有益效果如下:
本发明预先为物理设备设置对应的设备抽象规则,设备抽象规则明确了抽象设备的定义,抽象设备的描述方式。本发明基于物理设备对应的设备抽象规则,以及物理设备的本体模型和具体设备信息,就可以将物理设备抽象为一个或多个抽象设备,进而实现了抽象设备的创建。
附图说明
图1是根据本发明第一实施例的模型构建和规则创建的步骤流程图;
图2是根据本发明第一实施例的环境模型的示意图;
图3是根据本发明第一实施例的设备模型的示意图;
图4是根据本发明第一实施例的关联关系的示意图;
图5是根据本发明第一实施例的设备抽象规则的示意图;
图6是根据本发明第二实施例的创建抽象设备的方法的流程图;
图7是根据本发明第二实施例的映射关系的示意图;
图8是根据本发明第三实施例的物理设备调用的步骤的流程图;
图9是根据本发明第四实施例的创建抽象设备的方法的时序图;
图10是根据本发明第五实施例的创建抽象设备的装置的结构图。
具体实施方式
本发明的主要思想在于,第一阶段,根据预先构建的环境模型和设备模型,创建同类型物理设备都可以使用的设备抽象规则;第二阶段,根据物理设备对应的设备抽象规则、设备模型、以及物理设备的设备信息,将物理设备抽象为一个或多个抽象设备,进而实现抽象设备的创建;第三阶段,利用抽象设备,调用物理设备。
为了便于理解,首先对本发明涉及的名词进行解释:
物理设备:为真实存在的实体设备,如:空调、冰箱、电视机等。
环境模型:为环境系统的模型。
设备模型:为物理设备的本体模型。相同类型的物理设备,本体模型相同。例如:空调类设备对应同一个本体模型、冰箱类设备对应同一个本体模型。
抽象设备:为物理设备的抽象。本发明鉴于物理设备与其周围环境存在联系,如:物理设备能够降低环境温度、测量环境噪声、检测空气质量等等,将每种联系抽象为一个抽象设备,因此,物理设备可以被抽象为多个抽象设备。
设备抽象规则:规定了抽象设备的定义、抽象设备的描述方式。在设备抽象规则的基础上,结合具体的物理设备信息,创建物理设备对应的抽象设备。
本发明的设备抽象规则明确了抽象设备的定义,抽象设备的描述方式,根据该设备抽象规则就可以明了创建抽象设备的方法。在类型相同的物理设备接入网络后,利用该类型物理设备对应的设备抽象规则,能够创建出具有逻辑统一、类型统一、描述统一等特点的抽象设备。基于本发明抽象设备的特点,网络侧可以对抽象设备进行统一管理。
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
实施例一
在创建物理设备对应的抽象设备之前,先构建环境模型和设备模型,以便创建物理设备对应的设备抽象规则。
图1为根据本发明第一实施例的模型构建和规则创建的步骤流程图。
步骤S110,预先构建环境模型、以及物理设备对应的设备模型。
环境模型包括:环境属性、以及每个环境属性包含的参数。如图2所示的环境模型的示意图,环境属性包括:环境中的温度、湿度、亮度、空气质量、噪声等,环境属性的参数可以是环境属性的值。因为真实环境系统的属性基本相同,所以本实施例仅构建一个具有普适性的环境模型,但是,如果存在特殊的环境需求,也可以构建多个环境模型,如家庭环境模型和办公环境模型,这时,就需要构建物理设备对应的环境模型。
设备模型包括:物理设备的设备信息、操作项、以及每个操作项包含的参数。设备信息包括物理设备类型。操作项例如是:调节温度、测量湿度、检测噪声等操作。操作项的参数可以是操作对象。不同类型的物理设备,对应不同的设备模型,因此需要构建与物理设备对应设备模型。
如图3所示,图3是在OneM2M的标准基础上所构建的设备模型示意图。该设备模型Device主要针对设备的多项操作(Operation1~n,n≥1)以及每项操作所包含的多个参数(Parameter1~m,m≥1)进行建模;此外,设备模型中还可以包含设备制造商、产品标识等物理设备的基本信息。
步骤S120,在设备模型和环境模型之间建立关联关系。
OneM2M提出了关联(Association)的概念,将设备模型和其所作用的环境模型进行关联,来体现物理设备与其周围环境存在的联系。进一步地,在操作项和该操作项影响/作用的环境属性之间建立关联关系。一个或多个操作项可以同时对一个环境属性产生影响/作用,因此,在一个关联关系中可以包括一个环境属性、以及一个或多个操作项。
如图4所示,环境模型Thing的属性Aspect 1,是设备模型Device的操作项Operation 1的作用对象;环境模型Thing的属性Aspect k,是设备模型Device的操作项Operation k的作用对象,k≥1。例如,Thing对应房间模型,Aspect 1对应房间模型的温度属性,Aspect k对应房间模型的湿度属性;Device对应空调模型,Operation 1对应于空调模型的设置室温操作,设置室温操作可以对温度属性产生影响,Operation n对应于空调模型的设置除湿操作,设置除湿操作可以对湿度属性产生影响;因此,将温度属性和设置室温操作关联起来,得到关联关系1,将湿度属性和设置湿度操作关联起来,得到关联关系k。
步骤S130,根据所述关联关系,创建设备模型对应设备抽象规则。
设备模型对应的设备抽象规则,即同类型物理设备对应的设备抽象规则。
根据OneM2M提出的关联概念而得到的关联关系,本实施例的设备抽象规则包括抽象设备的定义、抽象设备的描述方法。
在抽象设备的定义上,设备抽象规则规定:将物理设备和其周围环境之间的每个关联关系抽象为一个抽象设备。如图4中的温度和室温设置之间的关联关系1可以被抽象为一个抽象设备,湿度和湿度设置之间的关联关系k可以被抽象成另一个抽象设备。
在抽象设备的描述方式上,设备抽象规则包括:物理设备的设备信息、以及物理设备能够创建出的每个抽象设备的描述框架。设备信息可以是物理设备类型。抽象设备的描述框架用于记录操作项和环境属性之间的关联关系信息。
抽象设备的描述框架具体包括:A、抽象设备所属的物理设备;B、抽象设备所处的位置;C、抽象设备所作用的环境属性;D、抽象设备对该环境属性的作用方式;E、抽象设备支持的操作项集合,即对环境属性有影响/作用的操作项。
因为在创建设备抽象规则之前,物理设备的设备模型、环境模型已经构建完成,那么,设备模型对应的设备信息、设备模型和环境模型直接的关联关系已经可以确定,因此,抽象设备描述框架中的A和B为空值,设备信息、抽象设备描述框架中的C、D和E可以是确定值。
如图5所示,为设备抽象规则的示意图。图5中设备类型srcDeviceType为物理设备类型。环境模型Thing和设备模型Device包括k个关联关系,在创建设备抽象规则时,每个关联关系可以抽象出一个抽象设备的描述框架,进而可以得到k个抽象设备的描述框架,即:抽象设备absDevice[1]~抽象设备absDevice[k];以抽象设备absDevice[k]为例,源设备srcDevice为抽象设备所属的物理设备;位置Location为抽象设备所处的位置,该位置与物理设备的位置相同;环境属性targetAspect为抽象设备所作用的环境属性;功能Function为抽象设备对该环境属性的作用方式,如:设置、获取;操作项operations为抽象设备支持的操作项,在关联关系k中操作项Operation n-1和操作项Operation n都作用于属性Aspect k,则在抽象设备absDevice[k]的操作项operation中同时包括操作项Operation n-1和操作项Operation n;在每个抽象设备的描述框架中,源设备srcDevice、位置Location为空值;设备类型srcDeviceType、环境属性targetAspect、功能Function、操作项operations为确定值。
实施例二
基于上述实施例提供的设备模型和设备抽象规则,本实施例提供一种创建抽象设备的方法,如图6所示,图6是根据本发明第二实施例的创建抽象设备的方法的流程图。
步骤S610,接收物理设备的设备信息。
设备信息包括:物理设备类型、物理设备所处位置、物理设备所属用户、物理设备名称/ID等。该设备信息由物理设备发送,设备信息可以携带在物理设备的注册信息、或上线信息中。
例如:设备生产厂家在网络侧为其生产的家电设备构建设备模型、并创建设备抽象规则;用户购买家电设备之后,家电设备需要在网络侧进行注册,家电设备在注册时,将自身的设备信息发送到网络侧,以便在网络侧创建该家电设备对应的抽象设备。
步骤S620,根据所述设备信息,获取该物理设备对应的设备模型和设备抽象规则。
构建的设备模型和创建的设备抽象规则,在构建和创建完成之后被存储在数据库中;根据接收到的设备信息,在数据库中可以查找该设备信息对应的设备模型和设备抽象规则。进一步地,设备信息为物理设备类型,则在数据库中查找物理设备类型对应的设备模型和设备抽象规则。
步骤S630,基于所述设备信息、所述设备模型和所述设备抽象规则,创建所述物理设备对应的抽象设备。
因为设备模型和环境模型之间的关联关系可以为一个或多个,所以,物理设备对应的抽象设备数量可以为一个或多个。
基于该物理设备的设备信息和设备模型,实例化该物理设备,以得到该设备对应的设备实例;在设备抽象规则中,获取抽象设备的描述框架;通过在抽象设备的描述框架和设备实例之间建立映射关系,创建该物理设备对应的抽象设备。其中,从设备抽象规则中,可以获取一个或多个抽象设备的描述框架。
设备实例包括物理设备的真实数据。设备实例包括:物理设备名称/ID、物理设备类型、物理设备所处的位置、物理设备对应的操作项、操作项参数、操作项对应的设备操作指令信息、物理设备的运行数据等等。设备实例以实例化文件的形式存在。设备实例可以在网络侧表示真实的物理设备。
具体的,从设备抽象规则中获取到独立的抽象设备描述框架之后,抽象设备的描述框架中的A(抽象设备所属的物理设备)映射设备实例中的物理设备名称/ID;B(抽象设备所处的位置)映射设备实例中的物理设备所处位置;E(抽象设备支持的操作项)集合中的每个操作项分别映射设备实例中的相应操作项。因为,抽象设备描述框架中的C、D和E为已经确定的信息,所以,在抽象设备的描述框架和设备实例之间建立映射关系之后,抽象设备的描述框架中的信息都具有与物理设备(设备实例)对应的实际意义,将具有实际意义的抽象设备描述框架创建为抽象设备,具有实际意义的A、B、C、D和E作为抽象设备的信息。将创建完成的抽象设备存储在数据库中,待需要使用时进行调用。
如图7所示,为根据本发明实施例的映射关系示意图。图7中,在设备抽象规则中获取抽象设备temperatureSetDevice;在抽象设备temperatureSetDevice与设备实例AC-1之间建立映射关系,抽象设备temperatureSetDevice的源设备srcDevice字段指向设备实例AC-1,抽象设备temperatureSetDevice的位置location字段、操作项setOperationMode、setTargetTemperature字段分别指向设备实例AC-1的location、操作项setOperationMode、setTargetTemperature。在映射关系建立之后,抽象设备temperatureSetDevice就可以作为一个独立的抽象设备被调用。
实施例三
在抽象设备创建完毕之后,还可以基于抽象设备,实现对物理设备的调用。
如图8所示,为根据本发明第三实施例的物理设备调用的步骤的流程图。
步骤S810,接收应用请求,应用请求携带抽象设备匹配信息。
应用请求用于请求匹配出符合匹配条件的抽象设备。抽象设备匹配信息即作为匹配条件。应用请求可以由用户设备发出。该用户设备例如是:智能手机。
抽象设备匹配信息包括:设备类型、位置、操作项、操作项参数、环境属性、环境属性参数等。
步骤S820,获取与所述抽象设备匹配信息相匹配的抽象设备。
在数据库中进行检索,以便获得满足所述抽象设备匹配信息的抽象设备。
步骤S830,根据与抽象设备存在映射关系的设备实例,获取设备操作指令。
与抽象设备存在映射关系的设备实例也即是:与用于创建该抽象设备的抽象设备描述框架存在映射关系的设备实例。
在抽象设备支持的操作项集合中,可以获得一个或多个操作项。在抽象设备对应的设备实例中,可以获得每个操作项对应的设备操作指令信息,如设备操作指令本身或者存储地址,进而可以根据每个操作项对应的设备操作指令信息,获得每个操作项对应的设备操作指令。
在一个实施例中,在数据库中,预先存储每个操作项的设备操作指令集合;根据抽象设备支持的操作项,可以从数据库中获取到相应的设备操作指令。
步骤S840,将所述设备操作指令,向设备实例对应的物理设备发送,以使物理设备执行所述设备操作指令。
设备实例对应的物理设备,也即是抽象设备对应的物理设备。物理设备在执行所述设备操作指令之后,可以反馈执行情况。
例如:接收到来自用户的应用请求内容为“调整客厅温度”;对该内容进行解析,得到“set”、“temperature”、“living room”;在已有的抽象设备中搜索location=“living room”、targetAspect=“temperature”、function=“set”的抽象设备,获得目标抽象设备temperatureSetDevice;根据抽象设备temperatureSetDevice和设备实例之间的映射关系,获取需要调用的空调AC-1的设备实例,以及具体操作项setOperationMode和setTargetTemperature;通过设备实例,分别获取操作项setOperationMode和setTargetTemperature的设备操作指令;将设备操作指令向空调AC-1的物理设备发送;空调AC-1收到设备操作指令后,执行相应操作,并反馈执行结果,以便告知用户。
实施例四
如图9所示,为根据本发明第四实施例的创建抽象设备的方法的时序图。本实施例以家居环境中的空调为例。
步骤1,构建家居环境Room模型,并与智能家电设备模型建立关联。进一步地,在家居环境Room模型和空调设备模型之间建立关联。
步骤2,基于上述关联关系,创建与设备模型对应的设备抽象规则。进一步地,创建与空调设备模型对应的设备抽象规则。
步骤3,空调设备上线通告。将空调设备的设备信息发送到云平台。
步骤4,查询空调对应的空调设备模型,创建设备实例。
步骤5,根据空调设备模型对应的设备抽象规则,创建空调设备对应的抽象设备。
步骤6,用户发送应用请求,如:调整客厅温度。
步骤7,解析应用请求,获取目标抽象设备。
步骤8,根据抽象设备与设备实例之间的映射,获取空调设备实例,获取设备操作指令。
步骤9,向物理设备发送设备操作指令。
步骤10,物理设备向云平台反馈操作执行的结果。
步骤11,云平台向用户设备反馈物理设备的执行结果。
实施例五
本实施例提供了一种创建抽象设备的装置。如图10所示,为根据本发明第五实施例的创建抽象设备的装置的结构图。
该装置包括:
接收模块1010,用于接收物理设备的设备信息。
获取模块1020,用于根据设备信息,获取物理设备对应的设备模型和设备抽象规则。
创建模块1030,用于基于设备信息、设备模型和设备抽象规则,创建物理设备对应的抽象设备。
在一个实施例中,在获取物理设备对应的设备模型和设备抽象规则之前,创建模块1030还包括:预先构建环境模型、以及物理设备对应的设备模型;在设备模型和环境模型之间建立关联关系;根据关联关系,创建设备模型对应设备抽象规则。进一步地,设备模型包括操作项;环境模型包括环境属性;创建模块930用于:在操作项和环境属性之间建立关联关系。
设备抽象规则包括:抽象设备的描述框架;抽象设备的描述框架记录有操作项和环境属性之间的关联关系信息。
创建模块1030具体用于:基于设备信息和设备模型,实例化物理设备,以得到物理设备对应的设备实例;在设备抽象规则中,获取抽象设备的描述框架;通过在抽象设备的描述框架和设备实例之间建立映射关系,创建物理设备对应的抽象设备。
在另一实施例中,接收模块1010,还用于创建物理设备对应的抽象设备之后,接收应用请求;应用请求携带抽象设备匹配信息。获取模块1020,还用于获取与抽象设备匹配信息相匹配的抽象设备;根据与抽象设备存在映射关系的设备实例,获取设备操作指令。装置还包括发送模块(未示出),用于将设备操作指令,向设备实例对应的物理设备发送,以使物理设备执行设备操作指令。
本实例所述的装置的功能已经在图1-9所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
上述抽象设备的创建装置可以应用在云平台,物理设备可以接入云平台,在云平台侧进行统一管理。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。