具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
图1示出了本发明实施例的一种虚拟设备主动创建及推送的方法的流程示意图。
如图1所示,在一些说明性的实施例中,所述方法,包括以下几个步骤:
步骤S101,获取第一设备的设备信息;所述第一设备的设备信息包括对应于至少一个功能类型的至少一个功能;
步骤S102,根据至少部分所述功能,分别创建与各所述功能相对应的所述第一设备的抽象设备;
步骤S103,按照功能类型和/或功能,相应地将功能类型和/或功能相同的所述第一设备的抽象设备和已创建的除该第一设备外的其它设备的抽象设备进行组合,创建虚拟设备;
步骤S104,将已创建的所有所述虚拟设备的标识和设备信息推送给用户设备,指示所述用户设备根据所述虚拟设备的标识和设备信息调用所述虚拟设备;所述虚拟设备的设备信息包括其功能信息,所述功能信息包括对应于该虚拟设备的各抽象设备的功能;
进一步的,在上述过程中根据功能类型创建的虚拟设备的设备信息中除了包括功能信息,还可以包括该虚拟设备的各抽象设备组合后所能完成的功能类型;
在上述实例中所述的方法可以应用于具有云平台的装置或设备;所述第一设备是物理设备,即现实中真实存在设备形态的设备;所述第一设备的抽象设备是根据第一设备接入云平台时,云平台将其抽象成对应于各独立功能的抽象设备;所述除该第一设备外的其它设备的抽象设备是在先根据其它设备的功能创建的抽象设备;所述虚拟设备将具有相同功能类型和/或功能的第一设备的抽象设备和除该第一设备外的其它设备的抽象设备进行语义组合后,以提供新的服务而产生的设备,虚拟设备不是实际存在的,而是以软件形式存在于云平台;
一个功能类型对应于至少一个功能,例如某功能类型为“空气污染指数API监测”,在该功能类型下对应于两个功能,分别是:CO2探测、VOC(挥发性有机化合物)监测;下面举例对上述过程进行说明:
在某家庭环境中,用户在购置空气净化器前,已经购置了空调、加湿器,并且空调和加湿器已经接入家庭网络中与云平台相连接的智能网关;上述的3台家电是真实存在的设备,是物理设备;
在云平台上已经将接入的空调、加湿器,根据其提供的功能,分别抽象成以下几个抽象设备,如表1所示:
表1抽象设备列表
空气净化器接入云平台后,云平台根据其独立功能,将其抽象成以下几个抽象设备,如表2所示:
表2抽象设备列表
例1:
由表1和表2可知,用户单独使用空调、加湿器或空气净化器都不能达到“一级空气净化”的目的,在该功能类型下对应于以下五个功能,分别是:杀菌消毒、静电集尘、机械过滤、祛除甲醛、祛除苯;如果组合使用上述家电,则可以达到对室内空气的“一级空气净化”的目的;
在该例子中,“一级空气净化”相当于上述实施例的功能类型,空气净化器(设备C)为第一设备,当空气净化器连入家庭网络时,会向智能网关(连接云平台)发送上线通知,该上线通知包括其设备信息(5个功能,即各功能对应的功能类型);云平台在通过智能网关获取到空气净化器的设备信息后,将其5个功能分别抽象成五个抽象设备(设备C1~C5,如表1);然后在已创建的抽象设备中寻找功能类型为“一级空气净化”的抽象设备(设备A1和设备B2),并将找到的上述抽象设备与根据第一设备创建的对应于功能类型“一级空气净化”的抽象设备(设备C1、C2和C3)进行语义组合,创建虚拟设备;然后将该虚拟设备的标识和设备信息(包括设备C1、C2和C3的标识和功能等)推送给用户设备,以使用户及时了解智能家电设备所能提供的组合业务功能;
例2:
云平台分析空气净化器的功能,将具有相同功能的抽象设备进行语义组合,生成虚拟设备,如参照表1和表2,将功能为“杀菌消毒”的设备C1和设备A1进行组合,得到虚拟设备,然后将该虚拟设备的标识和设备信息(包括设备C1和A1的标识和功能等)推送给用户设备,告知用户调用该虚拟设备可以同时调用以上抽象设备完成“杀菌消毒”功能;
与例2相似的,如两个抽象设备分别基于空调和电暖气产生,这两个抽象设备都具有制热功能,那么云平台可以将这两个抽象设备进行语义组合并创建一个专门用于制热功能的虚拟设备,用户通过调用该虚拟设备,实现同时启动空调和电暖气的制热功能,达到快速提升室温的效果;
在上述例子中,分别阐述了云平台根据功能类型和功能创建虚拟设备的过程,相似的,当接入新的物理设备后,云平台也可以同时根据功能类型和功能创建相应的虚拟设备,然后将已创建的所有虚拟设备的设备信息推送给用户设备;
在一些说明性的实施例中,步骤S101,具体包括:
接收第一设备发送的上线通知,所述上线通知包括所述第一设备的标识;
根据所述第一设备的标识,从预置的设备数据库中调取所述第一设备的设备信息;所述设备数据库包括至少一个设备的标识和该设备的设备信息;
其中,所述设备数据库可以是预先输入到云平台的,在该数据库中,存储了网络中各设备(如家庭网络中的家电)的设备的标识和相应的设备信息;其中,各设备的设备信息可以是人工通过云平台设置的,也可以是云平台根据各设备的出厂信息(如商品名、代码、厂家)从网络侧下载的,在此处不进行限定;设备信息包括设备的功能、对应于各功能的功能类型;可选的还包括对应于各功能的创建标识,该创建标识(如autoMashupFlg)用于表示该功能是否自动支持mash-up(语义组合),例如:若支持则可以设置autoMashupFlg=True,反之则autoMashupFlg=False;
在一些说明性的实施例中,所述第一设备的设备信息中的所述功能包括创建标识,在步骤S102之前,还包括:
根据所述功能的创建标识的值,判断本功能是否支持创建所述第一设备的抽象设备;
若否,则终止流程;若是,则执行创建对应于该功能的所述第一设备的抽象设备的操作;
在创建与第一功能相对应的第一抽象设备前,如果第一设备的设备信息中的所述功能还包括相对应的创建标识,则需要通过该创建标识的值判断所述第一功能是否支持创建相应的第一抽象设备,若支持则继续执行步骤S102,若不支持,则说明该功能不支持自动创建抽象设备,因此则不执行创建抽象设备的操作;
在一些说明性的实施例中,所述第一设备的设备信息还包括位置信息;若待创建的所述虚拟设备需要由位置相同的设备来创建,则在步骤S103前,还包括:
从抽象设备列表中找到与所述第一设备的抽象设备的功能类型和/或功能相同的,并且与该所述第一设备的抽象设备的位置信息相同的,已创建的,所述除该第一设备外的其它设备的抽象设备;所述抽象设备列表包括已创建的所有抽象设备,以及各抽象设备所对应的功能、功能类型和位置信息;
则,创建的所述虚拟设备的设备信息还包括所述位置信息,告知所述用户设备该虚拟设备所控制的设备的位置。
举例对该实施例进行说明,第一设备的设备信息还包括位置信息,如room1;云平台将已创建的抽象设备的设备信息存储于抽象设备列表中;若待创建的虚拟设备中具体控制的设备需要具备相同的位置,如均在room1,则在寻找除该第一设备外其它设备的抽象设备时,需要在搜索时增加位置信息这一搜索条件,并在创建了相应的虚拟设备后,将该位置信息添加到该虚拟设备的设备信息中,发送至用户设备,告知用户其所控制的设备的具体位置(如room1);
在一些说明性的实施例中,在步骤S103之后,还包括:
将所述虚拟设备的标识和设备信息添加到虚拟设备列表中,所述虚拟设备列表用于存储已创建的虚拟设备的标识以及其设备信息;
从所述虚拟设备列表中调取所述虚拟设备的设备信息,并执行将所述虚拟设备的设备信息推送给所述用户设备的操作;
在创建虚拟设备后,需要记录该虚拟设备的设备信息,在云平台中有一个专门用于存储各虚拟设备的设备信息的虚拟设备列表,因此在创建虚拟设备后,云平台会自动将虚拟设备的标识和设备信息添加到该列表中,然后再从该列表中调取其设备信息,并触发步骤S104;
在一些说明性的实施例中,所述虚拟设备列表还包括调用所述虚拟设备时所需的调用信息,所述调用信息包括创建该虚拟设备的所有抽象设备的标识;在步骤S104之后,还包括:
接收所述用户设备发送的调用某所述虚拟设备的所述功能信息中功能的调用请求;
通过该列表中记录的所述调用信息调用相应的功能;
接收该虚拟设备中各抽象设备的反馈,生成对应于所述功能信息中功能的调用结果,并将所述调用结果发送给所述用户设备;
在上述实施例中,所述虚拟设备列表除了存储虚拟设备的标识和设备信息外,还存储了调用虚拟设备时所需的调用信息;因此在步骤S104后,若收到用户设备调用虚拟设备的调用请求,则可以直接通过该列表中记录的调用信息对该虚拟设备对应的各抽象设备进行调用,并在接收到上述抽象设备的反馈后,生成相应的调用结果,并发送给用户设备,告知用户调用虚拟设备的结果是什么;所述调用结果可以是调用是否成功,也可以是云平台根据上述抽象设备的反馈做出的综合结果评定,如根据上述抽象设备反馈的数据和预置的模板进行计算获得的数值等;
在一些说明性的实施例中,所述虚拟设备列表还包括所述虚拟设备的状态,所述虚拟设备的默认状态为睡眠,在接收到所述调用请求后,还包括:
将所述虚拟设备列表中记录的该虚拟设备的状态设为工作;
若该虚拟设备在预设的时间内未执行任何操作,则将所述虚拟设备的状态设为睡眠;
在该实施例中,虚拟设备列表中还包括虚拟设备的状态,为了节省能耗,降低云平台的负载,通常在创建虚拟设备后,将该虚拟设备的状态设为睡眠,当接收到调用该虚拟设备的请求后,云平台会自动将其状态调整为工作,并且,若所述虚拟设备在预设的时间内未执行任何操作,例如虚拟设备在调用抽象设备时,15min中内未收到抽象设备的反馈时,或,虚拟设备在将调用结果发送给用户设备后的15min中内未收到其它信令(请求or应答)时,则云平台自动将虚拟设备的状态设为睡眠。
下面以一个具体的实施例来说明本方案,在该实施例中涉及云平台、移动终端和设备A(记为Device_A);其中,所述移动终端安装了提供专门用于推送云平台上创建的虚拟设备的组合业务功能的应用APP的客户端;所述移动终端具有显示和播放的功能,例如手机、平板电脑等;
如图2所示,具体过程如下:
步骤S201,云平台获取Device_A的本体模型;
人工预先对Device_A进行本体建模,对于设备的每项功能,需要标识所属的功能类型(如开关、空气质量监测、温度调节、空气净化等),并在其属性中增加一项是否支持自动mash-up的标识autoMashupFlg;对于支持自动mash-up的功能,设置autoMashupFlg=True;在建模后,人工将上述设备A的标识以及设备模型输入到云平台,该设备模型包括设备A的设备信息(功能、功能类型和标识autoMashupFlg);
步骤S202,Device_A发送上线通知;
当Device_A上线时,需要在发送给云平台的上线通知中包含设备的标识以及自身的位置信息,如部署在房间Room_1内;
步骤S203,云平台调取相应的本体模型,生成对应于各功能的抽象设备;
云平台根据Device_A上线通知中包含的设备的标识,获取对应的本体模型,创建与Device_A一一对应的设备实例;然后,对于Device_A实例中autoMashupFlg=True的所有功能func_Ai,逐一生成抽象设备absDevice_Ai;absDevice_Ai的func_Ai功能属性指向Device_A设备实例中相对应的功能;如图3所示;
步骤S204,云平台通过mash-up创建虚拟设备vtDevice_M;
对基于Device_A实例生成的每一个抽象设备,以功能为func_A0(功能类型为Func_0)的absDevice_A0为例,遍历已有抽象设备,若存在具有同样属于Func_0类型的功能func_B0、且基于与Device_A位置相同(Room_1)的Device_B设备实例生成的抽象设备absDevice_B0,则自动对absDevice_A0和absDevice_B0进行mash-up,生成标识为IDM、设备功能为func_M、部署于Room_1的虚拟设备vtDevice_M,其中,func_M是func_A0和func_B0的综合,并分别指向func_A0和func_B0(如图3所示);
步骤S205,云平台将vtDevice_M加入虚拟设备列表;
如表3所示,将虚拟设备列表中vtDevice_M的状态设为睡眠(sleep);
处于sleep状态的虚拟设备不需要创建设备对象,只维护在虚拟设备列表中的记录;
表3虚拟设备列表
步骤S206,云平台将vtDevice_M推送给移动终端上的客户端;
云平台将虚拟设备vtDevice_M的标识IDM、设备功能func_M、涉及的物理设备(Device_A、Device_B)、位置Room_1主动推送给客户端;
步骤S207,客户端更新APP的用户界面;
收到云平台推送的vtDevice_M信息后,动态更新用户界面,以使用户根据该界面获知上述虚拟设备的信息;
步骤S208,客户端通过云平台调用vtDevice_M的func_M功能;
即用户通过客户端向云平台发送调用请求;
步骤S209,云平台获取vtDevice_M并修改状态;
云平台的语义引擎从虚拟设备列表中获取vtDevice_M,将其状态改为active;然后,创建vtDevice_M设备对象;
步骤S210,云平台根据虚拟设备列表对vtDevice_M进行调用;
云平台语义引擎通过解析vtDevice_M设备对象,将func_M功能转换为func_A0和func_B0功能,执行相应操作;
步骤S211,云平台对操作结果进行收集和汇总;
步骤S212,云平台将func_M功能的最终执行结果反馈给应用端;
步骤S213,云平台将vtDevice_M的状态由active转为sleep;
vtDevice_M在active状态下持续一段时间未被调用后,云平台删除vtDevice_M设备对象,将虚拟设备列表中的vtDevice_M的状态由active转为sleep。
图4示出了本发明实施例的一种虚拟设备主动创建及推送的装置400的结构示意图,
在一些说明性的实施例中,所述装置400,包括:
获取单元401,用于获取所述第一设备的设备信息;所述第一设备的设备信息包括对应于至少一个功能类型的至少一个功能;
第一创建单元402,用于根据至少部分所述功能,分别创建与各所述功能相对应的所述第一设备的抽象设备;
第二创建单元403,用于按照功能类型和/或功能,相应地将功能类型和/或功能相同的所述第一设备的抽象设备和已创建的除该第一设备外的其它设备的抽象设备进行组合,创建虚拟设备;
推送单元404,用于将已创建的所有所述虚拟设备的标识和设备信息推送给用户设备,指示所述用户设备根据所述虚拟设备的标识和设备信息调用所述虚拟设备;所述虚拟设备的设备信息包括其功能信息,所述功能信息包括对应于创建该虚拟设备的各抽象设备的功能;
在一些说明性的实施例中,所述获取单元401包括:
接收单元4011,用于接收第一设备发送的上线通知,所述上线通知包括所述第一设备的标识;
第一调取单元4012,用于根据所述第一设备的标识,从预置的设备数据库中调取所述第一设备的设备信息;所述设备数据库包括至少一个设备的标识和该设备的设备信息;
在一些说明性的实施例中,所述装置400,所述第一设备的设备信息中的所述功能包括创建标识,还包括:
判断单元405,用于所述第一创建单元402创建所述第一设备的抽象设备前,根据所述功能的创建标识的值,判断该功能是否支持创建所述第一设备的抽象设备;
若否,则终止流程;若是,则触发所述第一创建单元402执行创建所述第一设备的抽象设备的操作;
在一些说明性的实施例中,所述装置400,所述第一设备的设备信息还包括位置信息;若待创建的所述虚拟设备需要由位置相同的设备来创建,则还包括:
查找单元406,用于所述第二创建单元403创建该虚拟设备前,从抽象设备列表中找到与所述第一设备的抽象设备的功能类型和/或功能相同的,并且与该所述第一设备的抽象设备的位置信息相同的,已创建的所述除该第一设备外的其它设备的抽象设备;所述抽象设备列表包括已创建的所有抽象设备,以及各抽象设备所对应的功能、功能类型和位置信息;
则,创建的所述虚拟设备的设备信息还包括所述位置信息,告知所述用户设备该虚拟设备所控制的设备的位置;
在一些说明性的实施例中,所述装置400,还包括:
添加单元407,用于所述第二创建单元403创建所述虚拟设备后,将所述虚拟设备的标识和设备信息添加到虚拟设备列表中,所述虚拟设备用于存储已创建的虚拟设备的标识以及其设备信息;
第二调取单元408,用于从所述虚拟设备列表中调取所述虚拟设备的设备信息,并触发所述推送单元404执行将所述虚拟设备的设备信息推送给所述用户设备的操作;
在一些说明性的实施例中,所述虚拟设备列表还包括调用所述虚拟设备时所需的调用信息,所述调用信息包括创建该虚拟设备的所有抽象设备的标识;所述装置400,还包括:
第一调用单元409,用于所述推送单元404将已创建的所有所述虚拟设备的设备信息推送给用户设备后,接收所述用户设备发送的调用某所述虚拟设备的所述功能信息中功能的调用请求;
第二调用单元410,用于通过该虚拟设备列表中记录的该虚拟设备的调用信息调用相应的功能;
第三调用单元411,用于接收该虚拟设备中各抽象设备的反馈,生成对应于所述功能信息中功能的调用结果,并将所述调用结果发送给所述用户设备;
在一些说明性的实施例中,所述装置400,所述虚拟设备列表还包括所述虚拟设备的状态,所述虚拟设备的默认状态为睡眠,还包括:
第一设置单元412,用于所述第一调用单元409接收到所述调用请求后,将所述虚拟设备列表中记录的所述虚拟设备的状态的设为工作;
第二设置单元413,用于若所述虚拟设备在预设的时间内未执行任何操作,则将其状态设为睡眠。
采用上述实施例,可达到以下效果:
当智能家电设备接入网络时,云平台能够根据设备功能,按照预定规则,主动采用mash-up技术创建虚拟设备,并将设备功能等信息主动推送给用户,从而有效解决用户无法及时了解智能家电设备所能提供的组合业务功能的问题,进一步改善用户体验,提升用户满意度。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。