用于设备操作的方法及虚拟服务系统
技术领域
本发明涉及设备控制技术领域,具体地说,涉及一种用于设备操作的方法及虚拟服务系统。
背景技术
面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型。它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。
面向服务架构倡导通过服务的组合来架构灵活的系统,即将不太复杂的服务组合成更复杂的服务、应用程序。在架构中,一个服务可能与其他服务组合形成上一层的较大粒度的服务,同时被组合的服务又可能是其下层的一系列服务经组合而得到的,这就是服务的层次结构。
以家电设备领域为例,随着家电设备越来越智能化,越来越多的家庭将各种家电设备互联互通,形成家庭网络。在家庭网络中,通常采用面向服务的网络架构来实现对家电的操作控制,如AllJoyn、DLNA(Digital Living Network Alliance,数字生活网联盟)等。
在基于SOA的或其他分布式家庭网络中,对家电设备组操作的设定皆是用户通过智能终端完成的。首先,智能终端获得连接的所有家电设备信息,在SOA架构中,通常是获得家电设备提供的服务接口信息;然后,用户根据需要在智能终端上设定对多个家电设备的操作,智能终端上安装的应用程序将相应的家电设备服务接口绑定。从而完成了对于家电设备组操作的设定。在用户进行组操作时,智能终端分别调用绑定的接口完成对于相应家电的控制。
随着家庭中联网的智能家电越来越多,家电功能越来越复杂,设定家电的组操作来实现某一特定场景变得越来越困难,尤其是对于智能家庭系统不太熟悉的用户,更是难以完成家电组操作的设定。较高的复杂性影响了用户体验,甚至会令一部分用户对智能家电望而却步。
发明内容
有鉴于此,本发明的一个目的是提出一种用于设备操作的方法,以简化家电操作的设定,提升用户体验。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
在一些说明性实施例中,一种用于设备操作的方法,包括:接收第一终端发送的针对于一个或多个设备的操作描述信息;获得对应于所述操作描述信息的所述一个或多个设备的服务接口;将所述一个或多个设备的服务接口和第一组操作接口关联;发布所述第一组操作接口的信息到网络中供其他终端调用。
本发明的另一个目的是提出一种虚拟服务系统。
在一些说明性实施例中,一种虚拟服务系统,包括:通信模块,用于接收第一终端发送的针对于一个或多个设备的操作描述信息;指令处理模块,用于获得对应于所述操作描述信息的所述一个或多个设备的服务接口;接口映射模块,用于将所述一个或多个设备的服务接口和第一组操作接口关联;服务发布模块,用于发布所述第一组操作接口的信息到网络中供其他终端调用。
为了上述以及相关的目的,一个或多个实施例包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明某些示例性方面,并且其指示的仅仅是各个实施例的原则可以利用的各种方式中的一些方式。其它的益处和新颖性特征将随着下面的详细说明结合附图考虑而变得明显,所公开的实施例是要包括所有这些方面以及它们的等同。
本发明的技术效果如下:
通过用于设备操作的方法和虚拟服务系统创建组操作接口并关联设备的服务接口后,将组操作接口发布到网络中,其他终端可以方便地调用该接口,简化了设备操作的设定,提升了用户体验。
附图说明
图1为根据一些说明性实施例的用于设备操作的方法的流程图;
图2为根据一些说明性实施例的创建第一组操作接口的流程图;
图3为根据一些说明性实施例的认证过程的流程图;
图4为根据一些说明性实施例的管理组操作接口的流程图;
图5为根据一些说明性实施例的虚拟服务系统的结构示意图;
图6为根据一些说明性实施例的家庭网络的结构示意图;
图7为根据一些说明性实施例的用户终端调用组操作接口后家电操作的执行流程图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
一些实施例中会用到的术语的说明如下:
服务接口(Service Interface):服务接口用于提供入口点,使用者可以使用此入口点访问应用程序所提供的功能,客户端指令是通过设备开启的服务接口传递到设备上的。
如图1所示,为根据一些说明性实施例的用于设备操作的方法的流程图。
在一些说明性实施例中,该用于设备操作的方法包括:
步骤S101:接收第一终端发送的针对于一个或多个设备的操作描述信息;
步骤S102:获得对应于操作描述信息的一个或多个设备的服务接口;
步骤S103:将一个或多个设备的服务接口和第一组操作接口关联;
步骤S104:发布第一组操作接口的信息到网络中供其他终端调用。
在一些说明性实施例中,第一组操作接口使第一终端所设定的设备操作模式能够成为系统中的一个新的接口,分享给网络中的其他终端,其他终端可以根据第一组操作接口的信息调用该组操作接口,将该组操作接口设定为自身的操作模式,直接使用该组操作接口完成与第一终端相同的设备操作。第一组操作接口的信息可以包括上述一个或多个设备的操作描述信息以及第一组操作接口的名称、地址和参数。
如图2所示,为根据一些说明性实施例的创建第一组操作接口的流程图。
在一些说明性实施例中,该用于设备操作的方法在步骤S103之前还包括:
步骤S201:根据第一终端发送的第一指令创建第一组操作接口。
在一些说明性实施例中,第一组操作接口可以通过预设的方式存在,也可以通过接收指令的被动方式创建。通过接收指令的被动方式创建可以节省服务器资源或者网络空间,避免大量的闲置的组操作接口存在于服务器资源或者网络空间中。
在一些说明性实施例中,第一指令包括用于创建第一组操作接口的名称、地址和参数中的任意一种或者任意组合。
在一些说明性实施例中,第一指令包括的第一组操作接口的参数可以包括第一组操作接口的类型等。
第一指令可以包括名称、地址和参数,也可以只包括其中的一部分。其他部分可以通过后续的指令赋予该第一组操作接口;或者,当第一组操作接口通过预设的方式存在时,可仅设置该第一组操作接口的名称、地址和参数中的至少一种。比如,虚拟服务系统自带已经创建好的组操作接口,并将该接口命名为system1。
在一些说明性实施例中,一个或多个设备的操作描述信息包括用于与第一组操作接口关联的一个或多个设备的接口参数。该操作描述信息的主要目的是指明终端对设备进行的操作。因此,必要的条件是接口参数。在一些说明性实施例中,接口参数可以是打开或者关闭、增大或者减小等表示控制的动作参数。如果网络中只有一个设备的一个服务接口,则操作描述信息只能对应于该设备的该服务接口。
在一些说明性实施例中,一个或多个设备的操作描述信息除了包括接口参数之外,还可以包括用于与第一组操作接口关联的一个或多个设备的设备标识、接口标识和操作顺序中的任意一种或者任意组合。设备标识主要是用来表明操作的对象设备,在设备之间的接口存在重名的情况下,设备标识是必要的;如果接口标识在网络内是唯一的,也可以不包含设备标识。如果网络中有多个设备和/或者多个接口,则操作描述信息通过设备标识和/或者接口标识对应一个或者多个设备的服务接口。操作顺序主要是用来设定一种用户定义的场景,其不是一个必要的条件,也可以不包含操作顺序这一信息,通过本方法随机或并发执行设备操作。该操作顺序应该是由用户终端设定的。用户终端设定某一操作的顺序后,该操作对应的上述操作顺序可以通过定义序列(sequence)项来指定该顺序值。通过本方法接收到操作描述信息后,解析出该顺序值,调用设备接口时便按照该顺序调用。如果一个或多个设备的操作描述信息只包括接口参数和操作顺序,比如接口参数是定时开启、定时关闭,则操作顺序是定时开启和定时关闭的顺序。如果此时设备处于关闭状态,则可以是先定时开启后再定时关闭的操作顺序;如果此时设备处于开启的状态,则可以使先定时关闭后再定时开启的操作顺序。如果如果一个或多个设备的操作描述信息除包括接口参数、操作顺序外,还包括设备标识和/或者多个接口,则操作顺序还可以用来表示多个设备的先后操作顺序和/或者多个接口的先后操作顺序。
通过设备标识、接口标识、接口参数和操作顺序可以确定待控制的设备及其顺序以及待执行的控制的动作参数。
在一些说明性实施例中,当所关联的设备的接口参数可变时,组操作接口的参数还可以包括所关联的设备的接口参数。例如,将组操作接口关联到空调和门窗,关联后的组操作只是空调与门窗联动,但允许其他终端每次发出组操作请求时可以设定不同的空调温度。此时,组操作接口参数包含所关联空调的相应的接口参数。
在一些说明性实施例中,该用于设备操作的方法还包括:
步骤S105:在获知其他终端发来的调用第一组操作接口的指令后,将所述第一组操作接口映射为所述一个或多个设备的服务接口,并调用该一个或多个设备的服务接口,使其他终端完成对该一个或多个设备的操作。
在一些说明性实施例中,在收到其他终端发来的指令后,通过调用第一组操作接口并自动将该指令映射为调用相关设备的服务接口,根据与第一组操作接口关联的各相关设备的操作描述信息完成对各相关设备的操作,不需要其他用户重新设定具有相同功能的设备操作。
在一些说明性实施例中,该用于设备操作的方法还包括:
步骤S202:在第一组操作接口创建成功后向第一终端返回响应消息。
在一些说明性实施例中,通过步骤S202可以将组操作接口创建成功的消息告知第一终端,以便第一终端进行后续的步骤。
在一些说明性实施例中,步骤S102具体包括:通过主动搜索或被动接收的方式获得并保存各设备的服务接口的集合。
在一些说明性实施例中,设备的服务接口可以通过在网络空间中搜索的方式获得,也可以通过接收设备、第一终端或者其他终端发送的指令获得。
如图3所示,为根据一些说明性实施例的认证过程的流程图。
在一些说明性实施例中,在步骤S101前,该用于设备操作的方法还包括:
步骤S301:与第一终端建立连接;
步骤S302:向第一终端发送认证请求;
步骤S303:接收第一终端反馈的认证响应;
步骤S304:当认证响应合法时,通过对第一终端的认证,执行步骤S101。
在一些说明性实施例中,步骤S301~步骤S304也可以在步骤S101之后进行。即当接收到一个或多个设备的操作描述信息后,采用步骤S301~步骤S304进行鉴权认证,如果认证成功,则继续后续的步骤;如果认证不成功,则流程终止。
在一些说明性实施例中,通过认证的过程来判断第一终端的合法性,以便增加该方法的安全性。
在一些说明性实施例中,通过认证响应中携带的认证凭证来判断认证响应的合法性。认证凭证为具有密码、口令和证书中的任意一种或者多种形式的令牌。
在一些说明性实施例中,采用令牌的形式使实现认证凭证的过程更简便、快捷。
如图4所示,为根据一些说明性实施例的管理组操作接口的流程图。
在一些说明性实施例中,步骤S102还包括:
步骤S401:判断是否存在已经与一个或多个设备的服务接口相关联的第二组操作接口;
步骤S402:如果不存在,则执行步骤S103;
步骤S403:如果存在,则放弃将一个或多个设备的服务接口和第一组操作接口关联,并将第二组操作接口发送给第一终端。
在一些说明性实施例中,如果组操作接口通过第一终端发送指令创建完毕,则在判断出存在已经与一个或多个设备的服务接口相关联的第二组操作接口后,将该已创建好的第一组操作接口撤销;如果在创建第一组操作接口之前先根据接收到的第一终端发送的针对于一个或多个设备的操作描述信息,判断出该一个或多个设备的操作描述信息与已存在的与第二组操作接口关联的设备的操作描述信息一致时,则不再创建第一组操作接口。该判断步骤可以节省网络空间。如果组操作接口已经预先存在(可以是系统预设的闲置接口便于直接使用),则可以避免通过关联设备的服务接口从而获得具有相同功能的组操作接口,造成组操作接口的浪费。
如图5所示,为根据一些说明性实施例的虚拟服务系统的结构示意图。
在一些说明性实施例中,一种虚拟服务系统包括:
通信模块501,用于接收第一终端发送的针对于一个或多个设备的操作描述信息;
指令处理模块502,用于获得对应于操作描述信息的一个或多个设备的服务接口;
接口映射模块503,用于将一个或多个设备的服务接口和第一组操作接口关联;
服务发布模块504,用于发布第一组操作接口的信息到网络中供其他终端调用。
在一些说明性实施例中,通过该系统发布的第一组操作接口的信息使第一终端所设定的操作模式能够成为系统中的一个新的接口,分享给网络中的其他终端,其他终端可以根据第一组操作接口的信息调用组操作接口,将组操作接口设定为自身的操作模式,直接使用该组操作接口完成相同的设备操作。第一组操作接口的信息可以包括一个或多个设备的操作描述信息以及第一组操作接口的名称、地址和参数。
在一些说明性实施例中,该虚拟服务系统还包括:
接口生成模块505,用于在将一个或多个设备的服务接口和第一组操作接口关联之前,根据第一终端发送的第一指令创建第一组操作接口。
在一些说明性实施例中,第一组操作接口可以已经通过预设的方式存在,也可以通过接口生成模块505在接收指令处理模块502解析的第一指令后创建。通过接收指令的被动方式创建第一组操作接口可以节省服务器资源或者网络空间,避免大量闲置的组操作接口存在于服务器资源或者网络空间中。
在一些说明性实施例中,第一指令包括用于创建第一组操作接口的名称、地址和参数中的任意一种或者任意组合。
在一些说明性实施例中,第一指令包括的参数可以是组操作接口的类型等。第一指令可以包括名称、地址和参数,也可以只包括其中的一部分。其他部分可以通过后续的指令赋予该第一组操作接口或者,当第一组操作接口通过预设的方式存在时,可仅设置爱该第一组操作接口的名称、地址和参数中的至少一种。比如,虚拟服务系统自带已经创建好的组操作接口,并将该接口命名为system1
在一些说明性实施例中,一个或多个设备的操作描述信息包括用于与操作接口关联的一个或多个设备的接口参数。该操作描述信息的主要目的是指明终端所要进行的操作。因此,必要的条件是接口参数。在一些说明性实施例中,接口参数可以是接口打开或者关闭、增大或者减小等表示控制的动作参数。如果网络中只有一个设备的一个服务接口,则操作描述信息只能对应于该设备的该服务接口。
在一些说明性实施例中,一个或多个设备的操作描述信息除了包括接口参数之外,还可以包括用于与操作接口关联的一个或多个设备的设备标识、接口标识和操作顺序。设备标识主要是用来表明操作的对象设备,在设备之间的接口存在重名的情况下,设备标识是必要的;如果接口标识在网络内是唯一的,也可以不包含设备标识。如果网络中有多个设备和/或者多个接口,则操作描述信息通过设备标识和/或者接口标识对应一个或者多个设备的服务接口。操作顺序主要是用来设定一种用户定义的场景,其不是一个必要的条件,也可以不包含操作顺序这一信息,通过本方法随机或并发执行设备操作。该操作顺序应该是由用户终端设定的。用户终端设定某一操作的顺序后,该操作对应的上述操作顺序可以通过定义序列(sequence)项来指定该顺序值。通过本方法接收到操作描述信息后,解析出该顺序值,调用设备接口时便按照该顺序调用。如果一个或多个设备的操作描述信息只包括接口参数和操作顺序,比如接口参数是定时开启、定时关闭,则操作顺序是定时开启和定时关闭的顺序。如果此时设备处于关闭状态,则可以是先定时开启后再定时关闭的操作顺序;如果此时设备处于开启的状态,则可以使先定时关闭后再定时开启的操作顺序。如果如果一个或多个设备的操作描述信息除包括接口参数、操作顺序外,还包括设备标识和/或者多个接口,则操作顺序还可以用来表示多个设备的先后操作顺序和/或者多个接口的先后操作顺序。
通过设备的设备标识、接口标识、接口参数和操作顺序可以确定待控制的设备及其顺序以及待执行的控制的动作参数。
在一些说明性实施例中,当所关联的设备的接口参数可变时,组操作接口的参数还可以包括所关联的设备的接口参数。例如,将组操作接口关联到空调和门窗,关联后的组操作只是空调与门窗联动,但允许其他终端每次发出组操作请求时可以设定不同的空调温度。此时,组操作接口参数包含所关联空调的相应的接口参数。
在一些说明性实施例中,通信模块501用于在第一组操作接口创建成功后向第一终端返回响应消息。
在一些说明性实施例中,通过通信模块501可以将组操作接口创建成功的消息告知第一终端,以便第一终端进行后续的步骤。
在一些说明性实施例中,该虚拟服务系统还包括:
服务获取模块506,用于通过主动搜索或被动接收的方式获得并保存各设备的服务接口的集合。
在一些说明性实施例中,设备的服务接口可以通过服务获取模块506在网络空间中搜索的方式,也可以通过服务获取模块506接收设备、第一终端以及其他终端发送的指令获得。
在一些说明性实施例中,该虚拟服务系统还包括:
用户认证模块507,用于在通信模块接收第一终端发送操作描述信息之前或者之后,与第一终端建立连接;向第一终端发送认证请求;接收第一终端反馈的认证响应;当认证响应合法时,通过对第一终端的认证。
在一些说明性实施例中,通过用户认证模块507判断第一终端的合法性以便增加该方法的安全性。
在一些说明性实施例中,用户认证模块用于通过认证响应中的认证凭证判断认证响应的合法性。认证凭证为具有密码、口令和证书中的一种或者多种形式的令牌。
在一些说明性实施例中,采用令牌的形式使实现认证凭证的过程更简便、快捷。
在一些说明性实施例中,在其他终端根据指令调用第一组操作接口后,接口映射模块503将第一组操作接口映射为一个或多个设备的服务接口,并调用一个或多个设备的服务接口,使其他终端完成对该一个或多个设备的操作。
在一些说明性实施例中,其他终端调用第一组操作接口的过程中,接口映射模块503自动将该指令映射为相关设备服务接口,根据与第一组操作接口关联的各相关设备的操作描述信息完成对各设备的操作,不需要重新设定具有相同功能的设备组操作。
在一些说明性实施例中,该虚拟服务系统还包括:
接口管理模块508,用于在指令处理模块获得对应于操作描述信息的一个或多个设备的服务接口之后,判断是否存在已经与一个或多个设备的服务接口相关联的第二组操作接口;如果不存在,则将一个或多个设备的服务接口和第一组操作接口关联;如果存在,则放弃将一个或多个设备的服务接口和第一组操作接口关联,并将第二组操作接口发送给第一终端。
在一些说明性实施例中,通过接口管理模块508管理组操作接口,如果组操作接口通过第一终端发送指令创建完毕,则在判断出存在已经与一个或多个设备的服务接口相关联的第二组操作接口后,将该已创建好的第一组操作接口撤销;如果在创建第一组操作接口之前先根据接收到的第一终端发送的针对于一个或多个设备的操作描述信息,判断出该一个或多个设备的操作描述信息与已存在的与第二组操作接口关联的设备的操作描述信息一致时,则不再创建第一组操作接口。该判断步骤可以节省网络空间。如果组操作接口已经预先存在(可以是系统预设的闲置接口便于直接使用),则可以避免通过关联设备的服务接口从而获得具有相同功能的组操作接口,造成组操作接口的浪费。
应用实施例
该实施例中,用于设备操作的方法搭载在虚拟服务系统上,应用于家电设备领域。
如图6所示的家庭网络中,智能家电设备灯光606、电视607和音响608都通过网关605接入网络。用户终端601、用户终端602可直接连接网关605或者用户终端603经过远程网络609连接网关605接入家庭网络。
家电设备上运行着服务程序,可接收用户终端上运行的客户端程序通过虚拟服务系统转发的指令,并将该指令转化为对家电设备的操作,实现家电设备运行状态的改变。在面向服务的网络中(优选为家电设备接入的网络),用户终端的指令是通过服务端(优选为家电设备)开启的服务接口传递到家电设备上的。例如,电视607通过开关接口接收打开或关闭操作的指令,控制电视607的打开或关闭。又例如,音响608通过播放接口接收播放音乐的指令,控制音响608播放一首乐曲。
家电设备的服务程序向网络中广播自己的服务接口。广播信息包括接口的名称、地址、操作方法、属性等信息。虚拟服务系统的服务获取模块506接收到该广播信息后,可保存该接口信息,待需要时根据接口信息调用该接口完成相应的操作。虚拟服务系统的服务获取模块506也可发送网络指令主动查询家电设备所提供的家电的服务接口,以获得相应的接口信息。
本实施例中,用户终端601发送的家电的操作描述信息为:电灯606关闭、电视607关闭、音响608打开并播放一首舒缓的乐曲。
通过步骤S101~S104虚拟服务系统604将组操作接口和家电的操作描述信息关联后,将组操作接口发布到网络中。通过步骤S105,其他用户也可调用该组操作服务接口实现相应的家电操作。
通过本发明的用于家电操作的方法设定好家电组操作后,用户终端调用组操作接口进行家电操作的一个可能的执行流程如图7所示。当用户准备休息时,用户终端601调用组操作接口进行家电操作的步骤如下:
步骤S701:用户终端601调用组操作接口执行家电设备操作;
然后虚拟服务系统604根据组操作接口所做的映射,分别调用相应的灯光606、电视607和音响608的接口完成对家电设备的操作,并得到各家电设备的响应,具体如下:
步骤S702:虚拟服务系统604调用灯光606的接口执行关闭灯光的操作;
步骤S703:灯光606向虚拟服务系统604返回灯光已关闭的响应;
步骤S704:虚拟服务系统604调用电视607的接口执行关闭电视的操作;
步骤S705:电视607向虚拟服务系统604返回电视已关闭的响应;
步骤S706:虚拟服务系统604调用音响608的接口执行打开音响的操作;
步骤S707:音响608向虚拟服务系统604返回音响已打开的响应;
步骤S708:虚拟服务系统604调用音响608的接口执行播放音乐的操作;
步骤S709:音响608向虚拟服务系统604返回音乐已播放的响应;
步骤S710:得到所有家电设备的响应后,虚拟服务系统604向该用户终端601发送执行结果的响应。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。