发明内容
本发明提供了一种终端操作的控制方法及装置,以至少解决相关技术中,针对如何将终端中的硬件设备统筹管理未提出有效的解决方案的问题。
根据本发明的一个方面,提供了一种终端操作的控制方法,包括:检测终端可利用的底层硬件上报的事件;根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作。
优选地,根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作包括:判断检测到的事件是否与触发条件匹配;如果检测到的事件与触发条件匹配,控制终端执行触发条件对应的操作;如果检测到的事件与触发条件不匹配,将检测到的事件存储到预处理信息。
优选地,在判断检测到的事件是否与触发条件匹配之前,上述方法还包括:判断检测到的事件是否在触发条件中;如果检测到的事件在触发条件中,判断检测到的事件是否与触发条件匹配;如果检测到的事件不在触发条件中,丢弃检测到的事件。
优选地,将检测到的事件存储到预处理信息之后,上述方法还包括:确定在有效时间内检测到所有底层硬件上报的其它事件;判断检测到的事件和其它事件是否与触发条件匹配;如果检测到的事件和其它事件与触发条件匹配,控制终端执行触发条件对应的操作;如果检测到的事件和其它事件与触发条件不匹配,丢弃检测到的事件和其它事件。
优选地,在根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作之前,上述方法还包括:解析检测到的事件,并进行过滤。
优选地,在检测终端的所有底层硬件上报的事件之前,上述方法还包括:设置触发条件与操作的对应关系。
优选地,在根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作之后,上述方法还包括:确定终端中存在其它底层硬件的事件需要进行检测;更新存储的需要检测的底层硬件的信息。
根据本发明的另一方面,提供了一种终端操作的控制装置,应用于终端,包括:检测模块,用于检测终端可利用的底层硬件上报的事件;控制模块,用于根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作。
优选地,控制模块包括:第一判断单元,用于判断检测到的事件是否与触发条件匹配;控制单元,用于在检测到的事件与触发条件匹配的情况下,控制终端执行触发条件对应的操作;存储单元,用于在检测到的事件与触发条件不匹配的情况下,将检测到的事件存储到预处理信息。
优选地,控制模块还包括:第二判断单元,用于判断检测到的事件是否在触发条件中;第一判断单元,用于在检测到的事件在触发条件中的情况下,判断检测到的事件是否与触发条件匹配;丢弃单元,用于在检测到的事件不在触发条件中的情况下,丢弃检测到的事件。
通过本发明,利用连接底层硬件和上层应用的装置,检测所有需要检测的底层硬件的事件,根据检测到的事件与预先存储的触发条件及其操作的对应关系,控制终端是否执行该触发条件对应的操作,从而可以实现用户自定义的操作,突破了各个模块硬件单兵作战的局面,借鉴人工智能的思想,将各个传感设备集中统筹起来,实现智能响应预定动作的功能,具有很大的扩展性,提升了用户体验。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明实施例提供了一种终端操作的控制方法,图1是根据本发明实施例的终端操作的控制方法的流程图,如图1所示,包括如下的步骤S102至步骤S104。
步骤S102,检测终端可利用的底层硬件上报的事件。
步骤S104,根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作。
相关技术中,针对如何将终端中的硬件设备统筹管理,尚未提出有效的解决方案。本发明实施例中,利用连接底层硬件和上层应用的装置,检测所有需要检测的底层硬件的事件,根据检测到的事件与预先存储的触发条件及其操作的对应关系,控制终端是否执行该触发条件对应的操作,从而可以实现用户自定义的操作,突破了各个模块硬件单兵作战的局面,借鉴人工智能的思想,将各个传感设备集中统筹起来,实现智能响应预定动作的功能,具有很大的扩展性,提升了用户体验。
优选地,步骤S104包括:判断检测到的事件是否与触发条件匹配;如果检测到的事件与触发条件匹配,控制终端执行触发条件对应的操作;如果检测到的事件与触发条件不匹配,将检测到的事件存储到预处理信息。需要说明的是,预处理信息可以队列的形式存在,更加便于后续操作。
在一个优选实施例中,先判断检测的事件是否存在于存储的触发条件中,如果存在,再进行匹配,避免了直接进行匹配的盲目性,所以,在判断检测到的事件是否与触发条件匹配之前,上述方法还包括:判断检测到的事件是否在触发条件中;如果检测到的事件在触发条件中,判断检测到的事件是否与触发条件匹配;如果检测到的事件不在触发条件中,丢弃检测到的事件。
考虑到有些操作是由多个触发条件进行触发的,而这些触发条件可能不会同时检测到,所以,在本优选实施例中,设置了有效时间,对存储于预处理信息中的事件(触发条件1),如果在有效时间内,检测到其它事件(触发条件2),则可以执行相应的操作。具体地,将检测到的事件存储到预处理信息之后,上述方法还包括:确定在有效时间内检测到所有底层硬件上报的其它事件;判断检测到的事件和其它事件是否与触发条件匹配;如果检测到的事件和其它事件与触发条件匹配,控制终端执行触发条件对应的操作;如果检测到的事件和其它事件与触发条件不匹配,丢弃检测到的事件和其它事件。本优选实施例可以实现由多个条件触发的操作的控制。
在根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作之前,上述方法还包括:解析检测到的事件,并进行过滤。本优选实施例中,过滤掉价值较低的信息,便于后续的匹配。
优选地,在检测终端的所有底层硬件上报的事件之前,上述方法还包括:设置触发条件与操作的对应关系。可以由用户自定义该对应关系,也可以按照原厂预设的对应关系进行操作。
如果终端中有新增的硬件设备,为了便于检测该底层硬件的事件,本优选实施例提供了如下方式,在根据检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作之后,上述方法还包括:确定终端中存在其它底层硬件的事件需要进行检测;更新存储的需要检测的底层硬件的信息。
本发明实施例还提供了一种终端操作的控制装置,应用于终端,该终端操作的控制装置可以用于实现上述终端操作的控制方法。图2是根据本发明实施例的终端操作的控制装置的结构框图,如图2所示,该装置包括检测模块22和控制模块24。下面对其结构进行详细描述。
检测模块22,用于检测终端可利用的底层硬件上报的事件;控制模块24,连接至检测模块22,用于根据第一检测模块22检测到的事件与预先存储的触发条件及其操作的对应关系控制终端执行的操作。
如图3所示,控制模块24包括:第一判断单元241,用于判断检测到的事件是否与触发条件匹配;第一控制单元242,连接至第一判断单元241,用于在检测到的事件与触发条件匹配的情况下,控制终端执行触发条件对应的操作;存储单元243,连接至第一判断单元241,用于在检测到的事件与触发条件不匹配的情况下,将检测到的事件存储到预处理信息。
如图4所示,控制模块24还包括:第二判断单元244,用于判断检测到的事件是否在触发条件中;第一判断单元241,连接至第二判断单元244,用于在检测到的事件在触发条件中的情况下,判断检测到的事件是否与触发条件匹配;第一丢弃单元245,连接至第二判断单元244,用于在检测到的事件不在触发条件中的情况下,丢弃检测到的事件。
优选地,控制模块24还包括:确定单元,连接至存储单元243,用于确定在有效时间内检测到所有底层硬件上报的其它事件;第三判断单元,连接至确定单元,用于判断检测到的事件和检测到的其它事件是否与触发条件匹配;第二控制单元,连接至第三判断单元,用于在检测到的事件和其它事件与触发条件匹配的情况下,控制终端执行触发条件对应的操作;第二丢弃单元,连接至第三判断单元,用于在检测到的事件和其它事件与触发条件不匹配的情况下,丢弃检测到的事件和其它事件。
优选地,上述装置还包括:解析模块,用于解析检测到的事件;过滤模块,用于对解析的事件进行过滤。
优选地,上述装置还包括:设置模块,用于设置触发条件与操作的对应关系。
如图5所示,上述装置还包括:确定模块26,用于确定终端中存在其它底层硬件的事件需要进行检测;更新模块28,连接至确定模块26,用于更新存储的需要检测的底层硬件的信息。
从以上描述可知,上述装置相当于一个中间件,连接终端的底层硬件和上层应用,向下监听底层设备的动作,控制设备做出相应的操作;向上反馈逻辑信息,接受逻辑设定。并且,在内部存储逻辑设计,对逻辑进行处理。
需要说明的是,上述终端操作的控制装置适用于大部分手机或PAD平台,利用手机或PAD平台自身的软硬件设备,进行逻辑设定,从而实现对终端中的底层硬件设备进行统一管理,增加了终端的智能性和扩展性,提高了用户体验。
下面对本发明实施例中的“逻辑”进行解释。逻辑是由“触发条件+响应事件”组成的一个命令组。其中,触发条件和响应事件都是由设备抽象出来的功能或是设备的状态事件。例如,照相就是设备抽象出来的功能,具体的照相动作可以分解为很多硬件的动作,但是本发明中不关心具体的硬件动作,只要调用相应驱动接口实现这个动作就可以了。准备照相是状态事件,例如,相机打开还是关闭。
对逻辑举例如下:(照相中+声音扑捉)-->照相。照相中(触发条件1)就是状态,声音扑捉(触发条件2)则是音频设备,如麦克捕捉到的音频,如“茄子”,照相(触发条件1和触发条件2共同触发的响应事件)就是按快门完成一次拍照。
在另外一个优选实施例中,上述终端操作的控制装置还可以通过以下模块来实现(参见图6):采集控制模块62、逻辑组织模块64、应用层66和逻辑库68。
其中,采集控制模块62(实现了上述检测模块22、第一控制单元242、第二控制单元248的功能),用于监听设备动态,反馈给逻辑组织模块64。该模块面向底层驱动,收集底层硬件上报的事件,如果操作系统有成熟的接口,也可以面向操作系统调用已有的接口。总之,监听需要的事件,如有该类事件就上报。同样如果上层有命令下发,处理后调用驱动接口进行设备控制。
逻辑组织模块64(实现了上述第一判断单元241、第二判断单元244、第一丢弃单元245、确定单元246、第三判断单元247、第二丢弃单元249的功能),具体实现为一个后台服务,用于收集设备事件,然后开始检索逻辑库66,如果收集的事件与逻辑库66中的触发条件相匹配,则触发该事件对应的响应事件。
应用层66(实现了上述设置模块的功能),主要是面向用户的UI,用户可以通过UI界面来设定自己的逻辑。
逻辑库68,用来存储预设逻辑,或者用户自定义逻辑。需要说明的是,逻辑库是个概念,具体实现可以简单的用本地数据库来存储,也可以采用云存储技术,收集不断更新的逻辑库。
综上所述,采集控制模块62过滤并上报设备事件,逻辑组织模块64接收事件并检索逻辑库68中的逻辑,如果符合触发条件,则调出该逻辑的响应事件,下发命令给采集控制模块62,采集控制模块62再调用驱动接口操作设备。应用层66用来设置用户自定义逻辑,设置逻辑组织模块64的配置。
为了使本发明的技术方案和实现方法更加清楚,下面将结合优选的实施例对其实现过程进行详细描述。
下面结合图6对各个模块进行详细描述,采集控制模块62是独立的后台进程,其主要功能如下:
1、底层事件的捕捉与上报,负责监听底层上报的事件,在实际应用中,可以按照不同的线程监听不同的设备。如handle_media负责监听照相机、摄像机的状态。
2、逻辑命令的捕捉与下发,负责接收逻辑组织模块64发来的事件,然后根据不同事件下发命令或调用接口控制硬件设备。
逻辑组织模块64的功能如下:
1、解析采集控制模块62传递的数据,比如音频数据。
2、解析完毕后,进行初步过滤,例如将过低分贝的音频数据过滤掉。
3、存贮数据到数据池(可以只关注声音分贝,如果硬件、处理器、算法允许的话,也可以比对具体音频,具体操作以效率优先),发送事件和数据地址到事件检索handle。
4、检索逻辑库。以音频为例,如果有该事件并且满足触发条件则返回触发条件对应的响应事件,没有该事件则丢弃接收的音频数据,有该事件但不满足触发条件的推入预处理队列。其中,加入预处理队列的事件,用于等待后续条件,但是每个条件都有生命周期,具体可以在传递的数据中描述,生命周期到达后清除该条件,在生命周期内等待到后续条件的,根据数据库表中的关联返回与该触发条件(事件+后续条件)对应的响应事件。
应用层66,根据不同操作系统提供的UI机制实现。
逻辑库68,包括:存储逻辑单元,如之前提到的云存储,对于采用哪种技术存储设置的逻辑,并不是本发明的重点,简要举例说明如下:
逻辑库68至少包含2张表,条件表和触发表,当然,具体应用时,可以根据具体的设备进行细化。条件表中的重要字段至少包括设备标示和触发条件。其中,触发条件可分解为类型、次数等。简单的条件表列举如表1所示。另外,逻辑库68还要包含预设资源库,比如预设的音频资源文件。
表1条件表
ID |
条件一 |
条件一类型 |
条件二 |
条件二类型 |
1 |
相机激活 |
状态 |
声音 |
动作 |
|
|
|
|
|
具体而言,通过本发明统一管理终端底层设备,用户可以自己设置逻辑,例如,用户从较安静的环境中移动到嘈杂的环境中,可能手机来电听不见。那么通过用户在应用层66的逻辑预设,可以设置成当手机来电时,检测感知模块的信息,如果环境噪音大于xx分贝(触发条件),则提升响铃并提升震动效果(响应事件),这样就可以提升用户听到响铃的概率。而相关技术中,如果检测到声音信号,可能只是在特定的应用中进行响应操作,如语音拨号,而不能进行其它操作。
用户可以根据自己的需求设计出各种应用场景,例如,翻转手机就挂掉电话,摆动几下手机就接听电话,手机下坠过程中就关机或者照相等等,这些都可以通过设置逻辑来完成。
图7是根据本发明优选实施例的终端操作的控制方法的流程示意图,如图7所示,纵向表示4个模块智能带(硬件、采集控制模块、逻辑组织模块、应用层UI),横向表示该流程的3个阶段(初始化、运行、结束),除去初始化阶段和结束挂机阶段,运行阶段表现为后台应用(用户界面UI在调用的时候可以前台运行,采集控制模块和逻辑组织模块后台运行),该流程包括如下的步骤S702至步骤S712。
A、初始化阶段
初始化各项参数,模块激活启用,参数配以及需要监听的设备的选择。
B、运行阶段
步骤1,采集控制模块22向底层注册监听器(也可以采用其它方式监听底层设备的事件),如果成功则继续;否则重试N次放弃。
步骤2,监听器注册成功后,底层设备状态变化就能通知采集控制模块62,采集控制模块62进行初步过滤后,通知逻辑组织模块64(具体过滤在代码中实现,可只关注有价值的消息,一些系统正常的反馈信息不做处理即可)。
步骤3,逻辑组织模块64接收到通知后,对动作进行初步处理,如过滤掉一些模糊动作,如手机水平轴发生轻微倾斜(当然用户在录制动作时,会提醒用户避免录制这种轻微的动作)。对于经过初步过滤后符合条件的动作,逻辑组织模块64将会检索数据库,看有没有与之匹配的动作设定。例如,触发条件中存储的是翻转手机2次,如果只有1次,且在预定时间内也没有接收到第二次翻转手机的动作,则丢弃该事件,流程结束。如果动作匹配,则根据数据库中提出的动作通知采集控制模块62。
步骤4,采集控制模块62接收到控制指令后,调用底层接口控制设备,或者调用成熟的操作系统接口来完成控制(例如,删除短信、点亮屏幕等)。
每当底层设备有信号通知,都会进行上述步骤1至4,进行循环。
另外,用户如果在UI界面设置逻辑,用户保存设置后,逻辑组织模块64会检查其合法性,将记录更新到数据库中,并且通知采集控制模块62。
对于有新设备需要监听的情况,采集控制模块62收到命令后,更新设备列表,注册新增设备的监听器,如此循环。
C、结束阶段
用户中止智能控制,采集控制模块62注销监听器,逻辑组织模块64结束流程,各模块挂起。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
综上所述,根据本发明的上述实施例,提供了一种终端操作的控制方法及装置。通过本发明,利用连接底层硬件和上层应用的装置,检测所有需要检测的底层硬件的事件,根据检测到的事件与预先存储的触发条件及其操作的对应关系,控制终端是否执行该触发条件对应的操作,从而可以实现用户自定义的操作,突破了各个模块硬件单兵作战的局面,借鉴人工智能的思想,将各个传感设备集中统筹起来,实现智能响应预定动作的功能,具有很大的扩展性,提升了用户体验。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。