具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为了更好的理解本发明中的说明性实施例,下面对本发明说明性实施例中的一些术语进行简单说明。
“本体”,一种知识建模、知识共享、知识重用的工具,本体作为一种知识共享模式,为特定领域的人和应用系统的交流提供了极大的便利,也正因为如此,本体的研究和应用迅速延伸到知识工程、自然语言处理、信息检索系统、智能信息集成和知识管理、信息交换和软件工程等领域。本体在智能家电中发挥着重要作用,它以形式化方式对智能家电领域中的属性、过程、概念等知识进行描述。形式化的描述方法不但实现了知识的共享与重用,而且对知识获取也很有帮助。本体构建的实质是从知识源中提取语义,实现知识源向知识库的跨越。知识源可能以多种形式存在,如存在于专家头脑中的隐性知识、记录在书籍或其他载体上的数据信息、关系数据库记录、半结构化的HTML文档或者XML文档等。本体库构建的主要任务是将隐性知识或蕴藏在数据、信息中的知识显式地用本体描述语言表达出来,以实现语义的重用。
“语义标注”,是指利用一组语义明确的词汇标注文件中的每个数据,使得文件不但使人容易理解,而且是机器可理解的。对文件进行标注的过程如下:设一个词汇集合L-{l1,l2,...,ln},一个待标注文本的属性值集合V={v1,v2,...,vm}语义标注就是要对每个v1∈V找出一个合适的li,li可以较为准确地描述vi的语义,即建立集合{(vi,li)|vi∈V,li∈L,li是vi的说明}。当信息用本体来标记后,机器就能理解其含义,也就可以自动完成信息的收集、采集和集成。
“控件”,是用户可与之交互,用来供用户输入或操作的对象,它有属性、事件及方法。这里以半开源操作系统Android系统中界面控件为例进行介绍。Android系统中的界面控件,按照控件的属性,主要分为通用控件和特殊控件。通用控件也叫做系统控件,是Android系统提供给用户的、已经封装好的界面控件,其一般都封装在系统的界面控件库中,可以为应用程序的开发提供常用的功能控件,帮助用户进行快速开发,提高界面设计和开发的效率,与此同时,采用系统控件开发Android系统应用程序,可以保证应用程序界面的一致性;特殊控件,主要指的是根据用户对应用程序的需求,开发者独立开发的控件,或者是通过对系统控件的继承和修改所产生的新控件,特殊控件可以满足用户对应用程序界面多样性和美观性的需求。在Android系统设备中常用的系统控件主要包括:TextView,显示字符串的控件;EditText,具有编辑功能的TextView,可以用来输入和编辑字符串;Button,按钮控件,用户可以通过对控件的点击引发相应的事件处理函数;ImageButton,图片按钮,能够实现显示图像功能的控件按钮;CheckBox,一个可以同时选择多个选项的控件;RadioButton,仅仅只能选择一个选项的控件;Spinner,其类似于桌面组合框,但没有组合框的下拉菜单,采用浮动的菜单为用户提供选择,也是一种能够从多个选项中选择一项的控件。
现在参照图1,图1示出了根据一些说明性实施例中的传输控制指令的流程图。
如图1所示,在一些说明性实施例中,公开了一种界面文件的处理方法,用于网关设备,包括:
S11、对每个机器设备的功能本体描述文件中的每个设备功能与控件本体实例文件的每个控件进行语义匹配;
机器设备的功能本体描述文件阐述了该机器设备所具有的设备功能,并通过标注出设备功能的功能语义,使机器设备可以识别出该机器设备的设备功能;功能本体描述文件中具有该机器设备的每个设备功能,以及每个设备功能的功能语义,该功能语义的语义信息指示出了该设备功能的功能类型;例如空调设备的升温功能,其功能语义包括:“升温”,功能属性“最大值”、“最小值”“步进值”和“单位”,该功能语义指示出了升温功能的数据类型为“连续数值”,其属性包括“最大值”、“最小值”、“步进值”和“单位”。
控件本体实例文件阐述了存储在网关设备上的控件库中的每个控件的控件语义,使机器设备可以识别出该控件;控件本体实例文件中具有每个控件的控件语义,该控件语义的语义信息指示出了该控件的控件类型;例如图形为向上箭头的控件,其控件语义包括该控件的用于控制数值连续递增,该控件语义指示出该控件用于控制连续递增数值。
在一些说明性实施例中,所述语义匹配的过程,具体包括:
识别出设备功能的功能语义指示的数据类型;
识别出控件的控件语义指示的控制类型;
判断该控件的控制类型是否支持控制该设备功能的数据类型,即判断该控制是否具有执行该设备功能的能力;
当判断出该控件具有执行该设备功能的能力时,则该控件和该设备功能之间的匹配判定成功;
当判断出该控件不具有执行该设备功能的能力时,则该控件与该设备功能之间的匹配判定失败。
例如,设备功能为空调的升温功能,控件的图形为向上箭头,升温功能的功能语义指示的数据类型为连续数值,控件的控件语义指示的控制类型为控制连续数值,则该控件具有执行该设备功能的能力,判定两者匹配成功。
S12、建立匹配成功的所述设备功能与控件之间的映射关系;
在一些说明性实施例中,多个机器设备的设备功能可以同时与一个控件建立有映射关系。
S13、对于每个机器设备,根据所述映射关系,生成作为控制该机器设备的每个所述设备功能的人机交互界面的基础文件,并将所述基础文件发送给用户终端。
通过对机器设备的设备功能和控件之间进行语义匹配,实现设备功能与控件之间的动态映射,无需界面设计者设计交互界面,由机器设备自行完成,降低了界面设计者的工作量,提高了界面的开发效率。
在一些说明性实施例中,在步骤S11中进行所述语义匹配之前,所述方法还包括:
标注出控件库中的每个控件的控件语义;
其中,控件库存储在网关设备内,网关设备可以通过网络下载或出厂时携带获取控件库,并且网关设备具有学习更新控件库的能力,例如通过网络查找目前最新的控件数据包对控件库进行学习更新。网关设备自身的控件库里的控件具有控件描述文件,该控件描述文件包含对控件相关属性的描述,包括基本属性和高级属性,基本属性包括控件大小、颜色、形状等,它是控件的默认属性,高级属性是为美化控件而设置的属性,包括控件名称、字体、图片等。
其中,标注出控件库中的每个控件的控件语义,具体包括:当检测出每个所述控件的控件描述文件中出现控件属性的描述时,在控件本体模型中找到该描述对应的本体术语,作为该控件的控件语义。控件本体模型例如图2所示,在控件本体模型上找到该描述对应的节点后,将该节点,以及该节点的父子关系作为该设备功能的功能语义。
以标注出的每个控件的控件语义,建立所述控件本体实例文件。
在一些说明性实施例中,在网关设备已建立控件本体实例文件的情况下,则无需再次生成控件本体实例文件,只需要学习更新时,将新控件的控件语义加入到该控件本体实例文件中。
在一些说明性实施例中,在步骤S11中进行所述语义匹配之前,所述方法还包括:标注出每个所述机器设备的每个设备功能的功能语义;以每个所述机器设备的每个设备功能的功能语义,建立该机器设备的功能本体描述文件。
在一些说明性实施例中,在标注出每个所述机器设备的每个设备功能的功能语义之前,所述方法还包括:
识别出每个机器设备的每个设备功能,具体包括:描述每个机器设备的设备描述文件,当检测出每个机器设备的设备描述文件中出现功能性质的描述时,则判断该机器设备具有与该描述对应的设备功能;其中,设备描述文件中具有大量描述机器设备的设备功能的文本数据,其中还可以包含有该机器设备的类型、名称、型号、版本号等相关描述信息中的任意一个或任意组合,例如机器设备的使用说明书。其识别过程,例如对空调的设备描述文件进行扫描,当扫描该设备描述文件中出现“升温”描述时,判定空调具有升温功能。
每个机器设备出厂时,厂商会将该机器设备的设备描述文件存入该机器设备。机器设备发送自身的设备描述文件给网关设备的过程,可以是当机器设备注册在网关设备上时,自动将自身的设备描述文件上报给网关设备;或者,机器设备注册到网关设备上之后,网关设备向机器设备发送获取请求,机器设备在接收到该获取请求之后,调取自身的设备描述文件发送给网关设备。
在一些说明性实施例中,所述标注出每个所述机器设备的每个设备功能的功能语义的过程,可以通过在功能本体模型上找到与所述描述对应的本体术语;将所述本体术语赋予该设备功能,作为该设备功能的功能语义。
功能本体模型例如图3所示,在功能本体模型上找到该描述对应的节点后,将该节点,以及该节点的父子关系作为该设备功能的功能语义。
在一些说明性实施例中,将所述基础文件发送给用户终端之后,还包括:
将具有所述基础文件中的所述映射关系的每个控件的控件生成源码发送给所述用户终端。其中,控件生成源码是控件的建立文件。
通过网关设备将控件的控件生成源码发送给用户终端,用户终端的控件开发者无需了解目前使用的所有控件,由网关设备发送,再由用户终端直接生成相应的控件,生成人机交互界面。实现了机器设备的设备功能与控件之间的动态映射,无需在对机器设备定制人机交互界面,通过动态映射,机器设备的升级带来的设备功能的变化后,用户终端生成的人机交互界面进行更新处理,根据设备功能的变化而发生相应的改变,以适应变化后的设备功能。
在一些说明性实施例中,所述设备功能与控件之间的映射关系为所述设备功能与所述控件的控件生成源码在本设备上的网络地址URI之间的映射关系。
在一些说明性实施例中,将控件的控件生成源码发送给用户终端之后,还包括:接收用户终端发送的控制消息,并将控制消息转发至目标设备。其中,该控制消息中包含有目标设备的标识信息和目标功能的功能语义。
在一些说明性实施例中,在所述将所述基础文件发送给用户终端之前,还包括:向所述用户终端发送包含有每个所述机器设备的标识信息的信息表,例如表1所示;其中,标识信息可以是起到标识作为用的文本数据或图像数据。
接收所述用户终端发送的包含有用户选择的机器设备的标识信息的选择指令,根据选择指令中的标识信息找到相应的基础文件发送至用户终端。
表1信息表
家电名称 |
家电身份识别码 |
家电实物图片 |
电视机 |
1 |
1.jpg |
冰箱 |
4 |
4.jpg |
电视机 |
2 |
2.jpg |
... |
... |
... |
在一些说明性实施例中,将用户终端所需要的机器设备的基础文件发送给用户终端和该机器设备的过程,可以通过接收用户终端拍摄所要控制的机器设备的照片;通过机器设备的图像数据对比该照片,确定用户终端所要控制的机器设备,将该机器设备的基础文件发送给用户终端和该机器设备。
现在参照图4,图4示出了在一些说明性实施例中的界面文件的处理流程图。
如图4所示,在一些说明性实施例中,公开了一种界面文件的处理方法,用于用户终端,包括:
S21、接收网关设备发送的基础文件;
S22、根据所述基础文件中具有的映射关系,生成控制该机器设备的人机交互界面;
其中,所述映射关系是指机器设备的设备功能与控件之间的映射关系。
通过以网关设备生产的基础文件生成人机交互界面,使人机交互界面设计者工作量小,设计者不需要判断机器设备有哪些功能,网关设备通过对设备描述文件进行语义标注,来提取机器设备的设备功能,充分利用了设备描述文件及本体知识。设备功能跟控件的匹配灵活,控件开发者不需要使用统一固定的名称或编号对控件进行标示,因为二者匹配时采用语义匹配,实现了设备功能跟控件的动态映射。界面自动生成后,更新方便。当设备功能升级或更新时,只需厂商把设备描述文件进行修改,重新发送给网关设备,网关设备刷新功能本体描述文件,重新跟控件本体实例文件匹配即可。
在一些说明性实施例中,在步骤S22之前,还包括:
接收网关设备发送的具有所述基础文件中的映射关系的每个控件的控件生成源码。
在一些说明性实施例中,根据所述基础文件中具有的映射关系,生成控制该机器设备的人机交互界面的过程,包括:根据所述控件生成源码,生成与所述控件生成源码对应的所述控件;根据生成的所述控件,生成所述人机交互界面。
在一些说明性实施例中,所述设备功能与控件之间的映射关系为所述设备功能与所述控件的控件生成源码在所述网关设备上的网络地址URI之间的映射关系。用户终端通过所述URI从所述网关设备处获取所述控件生成源码。
在一些说明性实施例中,在所述接收网关设备发送的基础文件之前,还包括:接收所述网关设备发送的包含有至少一个所述机器设备的标识信息的信息表;将包含有用户选择的机器设备的标识信息的选择指令发送给所述网关设备;其中,所述选择指令用于指示所述网关设备将与所述用户选择的机器设备的标识信息对应的机器设备的基础文件发送给本设备。
在一些说明性实施例中,用户终端可以通过对用户所需要控制的机器设备进行拍照,将照片发送给网关设备,接收网关设备通过识别确定的基础文件和相应的控件生成源码。
在一些说明性实施例中,在所述生成人机交互界面之后,还包括;将用户操作所述人机交互界面中的控件产生的控制消息发送至所述网关设备;其中,所述控制消息中包含有所述用户操作的控件对应的功能语义,以及目标设备的标识信息。
在一些说明性实施例中,标识信息存储在人机交互界面中,触发该人机交互界面,生成的控制指令中均含有该机器设备的标识信息。
现在参照图5,图5示出了根据一些说明性实施例的控制消息的处理流程图。
如图5所示,在一些说明性实施例中,公开了一种控制消息的处理方法,用于机器设备,包括:
S31、接收网关设备发送的控制消息;
S32、解析出所述控制消息中的功能语义,通过自身的功能本体模型,找到并执行所述功能语义对应的操作指令。
其中,所述功能本体模型中的每个设备功能的本体术语与执行该设备功能的操作指令具有映射关系。
在一些说明性实施例中,所述通过自身的功能本体模型,找到并执行所述功能语义对应的操作指令,具体包括:在所述功能本体模型上找到与所述功能语义对应的本体术语,根据该本体术语的映射关系,找到并执行所述操作指令。
现在参照图6,图6示出了根据一些说明性实施例的界面文件的处理装置的框图。
如图6所示,在一些说明性实施例中,公开了一种界面文件的处理装置100,包括:对每个机器设备的功能本体描述文件中的每个设备功能与控件本体实例文件的每个控件进行语义匹配的匹配模块101;建立匹配成功的所述设备功能与控件之间的映射关系的语义映射模块102;对于每个机器设备,根据所述映射关系,生成作为控制该机器设备的每个所述设备功能的人机交互界面的基础文件的文件生成模块103;将所述基础文件发送给用户终端的第一发送模块104。
在一些说明性实施例中,所述处理装置还包括:在进行所述语义匹配之前,标注出每个所述机器设备的每个设备功能的功能语义的第一语义标注模块105;对于每个机器设备,以该机器设备的每个设备功能的功能语义,建立该机器设备的功能本体描述文件的第一建立模块106。
在一些说明性实施例中,所述处理装置还包括:在进行所述语义匹配之前,标注出控件库中的每个控件的控件语义的第二语义标注模块107;以标注出的每个控件的控件语义,建立所述控件本体实例文件的第二建立模块108。
在一些说明性实施例中,所述匹配模块用于对于每一个控件和每一个设备功能,通过该控件的控件语义中包含的语义信息和该设备功能的功能语义中包含的语义信息,判断该控件是否具有执行该设备功能的能力;若是,则判定匹配成功。
在一些说明性实施例中,所述控件库中的每个所述控件具有一个控件描述文件。
在一些说明性实施例中,所述第二语义标注模块用于通过当检测出每个所述控件的控件描述文件中出现控件属性的描述时,在控件本体模型中找到该描述对应的本体术语,作为该控件的控件语义。
在一些说明性实施例中,所述第一语义标注模块用于通过当检测出每个所述机器设备的设备描述文件中出现功能性质的描述时,判定该机器设备具有与所述描述对应的设备功能,并在功能本体模型上找到与所述描述对应的本体术语;将所述本体术语赋予该设备功能,作为该设备功能的功能语义。
在一些说明性实施例中,所述处理装置,还包括:在将所述基础文件发送给用户终端之后,将具有所述基础文件中的所述映射关系的每个控件的控件生成源码发送给所述用户终端的第二发送模块109。
在一些说明性实施例中,所述设备功能与控件之间的映射关系为所述设备功能与所述控件的控件生成源码在本设备上的网络地址URI之间的映射关系。
在一些说明性实施例中,所述处理装置还包括:在将具有所述基础文件中的所述映射关系的每个控件的控件生成源码发送给所述用户终端之后,接收用户终端发送的包含有目标功能的功能语义和目标设备的标识信息的控制消息的第一接收模块110;将所述控制指令转发至所述目标设备的第三发送模块111。
在一些说明性实施例中,所述处理装置还包括:在所述将所述基础文件发送给用户终端之前,向所述用户终端发送包含有每个所述机器设备的标识信息的信息表的第四发送模块112;接收所述用户终端发送的包含有用户选择的机器设备的标识信息的选择指令的第二接收模块113。
在一些说明性实施例中,所述第一发送模块用于将所述选择指令中的标识信息指示的机器设备的基础文件发送给所述用户终端。
现在参照图7,图7示出了根据一些说明性实施例的界面文件的处理装置的框图。
如图7所示,在一些说明性实施例中,公开了一种界面文件的处理装置200,包括:接收网关设备发送的机器设备的基础文件的第三接收模块201;根据所述机器设备的基础文件中具有的映射关系,生成控制所述机器设备的人机交互界面的界面生成模块202;其中,所述映射关系是指机器设备的设备功能与控件之间的映射关系。
在一些说明性实施例中,所述处理装置还包括:将用户操作所述人机交互界面中的控件产生的控制消息发送至所述网关设备的第五发送模块203;其中,所述控制消息中包含有所述用户操作的控件对应的功能语义,以及目标设备的标识信息。
在一些说明性实施例中,所述处理装置还包括:在所述生成控制该机器设备的人机交互界面之前,接收网关设备发送的具有所述基础文件中的映射关系的每个控件的控件生成源码的第四接收模块204。
在一些说明性实施例中,所述界面生成模块包括:根据所述控件生成源码,生成与所述控件生成源码对应的所述控件的控件生成模块205;根据生成的所述控件,生成所述人机交互界面的界面生成子模块206。
在一些说明性实施例中,所述设备功能与控件之间的映射关系为所述设备功能与所述控件的控件生成源码在所述网关设备上的网络地址URI之间的映射关系。
在一些说明性实施例中,所述第四接收模块通过所述URI从所述网关设备处获取所述控件生成源码。
在一些说明性实施例中,所述处理装置还包括:在所述接收网关设备发送的基础文件之前,接收所述网关设备发送的包含有至少一个所述机器设备的标识信息的信息表的第五接收模块207;将包含有用户选择的机器设备的标识信息的选择指令发送给所述网关设备的第六发送模块208;其中,所述选择指令用于指示所述网关设备将与所述用户选择的机器设备的标识信息对应的机器设备的基础文件发送给本设备。
现在参照图8,图8示出了根据一些说明性实施例的控制消息的处理装置的框图。
如图8所示,在一些说明性实施例中,公开了一种控制消息的处理装置300,包括:接收网关设备发送的控制消息的第六接收模块301;解析出所述控制消息中的功能语义,通过自身的功能本体模型,找到并执行所述功能语义对应的操作指令的解析模块302。
在一些说明性实施例中,所述功能本体模型中的每个设备功能的本体术语与执行该设备功能的操作指令具有映射关系。
在一些说明性实施例中,所述解析模块通过在所述功能本体模型上找到与所述功能语义对应的本体术语,根据该本体术语的映射关系,找到并执行所述操作指令。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。