事件中动作的处理方法及装置与流程

文档序号:12752450阅读:483来源:国知局
事件中动作的处理方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种事件中动作的处理方法及装置。



背景技术:

AllJoyn是一个开源软件项目,它为不同的电子设备提供了一种通用的通信框架;AllJoyn是一个基于客户端/服务器模型的点对点框架,主要用来实现跨操作系统、跨语言和跨通讯技术的信息交流,是目前国际上影响力很大的一个开源框架。

AllJoyn网络中提供事件-动作机制。事件是AllJoyn中带有描述信息的信号,该段描述信息在AllJoyn中构成对话中的前半句,主要向用户描述该信号对应的某一现象或是结果。在AllJoyn中,事件主要用来作为动作的触发源。一个事件可以对应一个或多个动作,也就是说,当相应的事件发生后,与之相对应的动作便会被触发。动作是AllJoyn中带有描述信息的方法,该段描述信息在AllJoyn中构成对话中的后半句,主要向用户描述该方法对应的操作和行为。在AllJoyn中,动作主要用来作为对某一信号的响应,即在系统中出现某一信号时,触发相应的操作行为对其处理。

目前事件支持在时间序列上异步触发多个动作。举例说明,如果用户回到家把门打开,我们将门打开作为一个事件,那么用户就可以根据自己的需求为门开这个事件绑定相应的动作,现在假设用户为门绑定如下动作,即在门打开的时候就触发开启卧室的灯、空调,并且在半个小时后空调自动关闭,热水器的加热功能自动开启。但可能用户回到家后,立即进行了洗浴或者将空调定时开启了一个小时,那么半个小时后空调仍将自动关闭,热水器的加热功能仍将自动开启,因为目前AllJoyn中的事件-动作机制用户只能手动取消半个小时后空调自动关闭、热水器的加热功能自动开启这两个动作,或者在半个小时空调自动关闭后手动重新定时开启空调半个小时、热水器自动开启后手动进行关闭。这种纷繁琐碎的操作对于用户来说不是很好的体验。

针对相关技术中AllJoyn网络的事件-动作机制仅支持时间序列上的串行操作的问题,目前还没有有效的解决方案。



技术实现要素:

本发明提供了一种事件中动作的处理方法及装置,以至少解决相关技术中AllJoyn网络的事件-动作机制仅支持时间序列上的串行操作的问题。

根据本发明的一个方面,提供了一种事件中动作的处理方法,包括:接收用于触发执行事件的信息,其中,所述事件包括一个或多个操作对象,每个所述操作对象绑定一 个动作组,所述动作组中的每一个动作具有对应的优先级等级和对应的用于触发执行所述动作的触发时间;在到达用于触发执行所述动作组中第一动作的触发时间时,判断所述第一动作的优先级等级是否高于或等于所述动作组中除所述第一动作之外的其他动作的优先级等级;在判断结果为是时,执行所述第一动作;在比较结果为否时,禁止执行所述第一动作。

进一步地,在接收用于触发执行事件的信息之前,所述方法还包括:根据家庭网关提供的所述事件创建所述动作组的接口与所述动作组中的动作;设置所述动作组中动作的优先级等级以及用于触发执行所述动作的触发时间,其中,所述优先级等级为同一优先级等级或不同的优先级等级。

进一步地,判断所述第一动作的优先级等级是否高于或等于所述动作组中除所述第一动作之外的其他动作的优先级等级包括:在到达所述动作组中第一动作的第一触发时间时,判断在所述第一触发时间的时刻正在执行的动作是否与所述第一动作是否相同。

进一步地,在所述第一触发时间的时刻正在执行的动作与所述第一动作不相同时,所述方法还包括:根据所述动作中的触发时间顺序对所述动作组中的动作进行排序。

进一步地,判断所述第一动作的优先级等级是否高于或等于所述动作组中除所述第一动作之外的其他动作的优先级等级包括:在排序后的所述动作中查询在所述第一动作后续未触发执行的动作中是否存在与所述第一动作相同的第二动作;在存在与所述第一动作相同的第二动作时,判断所述第一动作的优先级等级是否高于或等于所述第二动作的优先级等级。

进一步地,所述第二动作包括一个或多个动作。

根据本发明的再一个方面,提供了一种事件中动作的处理装置,包括:接收模块,用于接收用于触发执行事件的信息,其中,所述事件包括一个或多个操作对象,每个所述操作对象绑定一个动作组,所述动作组中的每一个动作具有对应的优先级等级和对应的用于触发执行所述动作的触发时间;判断模块,用于在到达所述动作组中第一动作的触发时间时,判断所述第一动作的优先级等级是否高于或等于所述动作组中除所述第一动作之外的其他动作的优先级等级;执行模块,用于在判断结果为是时,执行所述第一动作;在比较结果为否时,禁止执行所述第一动作。

进一步地,在接收用于触发执行事件的信息之前,所述装置还包括:创建模块,用于根据家庭网关提供的所述事件创建所述动作组的接口与所述动作组中的动作;设置模块,用于设置所述动作组中动作的优先级等级以及用于执行所述动作的触发时间,其中,所述优先级等级为同一优先级等级或不同的优先级等级。

进一步地,所述判断模块包括:第一判断单元,用于在到达所述动作组中第一动作的第一触发时间时,判断在所述第一触发时间的时刻正在执行的动作是否与所述第一动 作是否相同。

进一步地,在所述第一触发时间的时刻正在执行的动作与所述第一动作不相同时,所述装置还包括:排序模块,用于根据所述动作中的触发时间顺序对所述动作组中的动作进行排序。

进一步地,所述判断模块包括:查询单元,用于在排序后的所述动作中查询在所述第一动作后续未触发执行的动作中是否存在与所述第一动作相同的第二动作;第二判断单元,用于在存在与所述第一动作相同的第二动作时,判断所述第一动作的优先级等级是否高于或等于所述第二动作的优先级等级。

在本发明中,采用在接收到用于触发执行事件的信息后,对于事件中操作对象的动作组,在到达动作组中第一动作的触发时间时,判断第一动作的优先级等级是否高于动作组中除该第一动作之外的其他动作的优先级等级,在判断结果为是时;在判断结果为否时,禁止执行第一动作。也就是说,对于同一个操作对象中的多个动作会根据该多个动作的优先级等级确定执行该多个动作的中的哪一个,而不会重复执行多个动作,从而解决了相关技术中AllJoyn网络的事件-动作机制仅支持时间序列上的串行操作的问题,提高了用户的体验效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的事件中动作的处理方法的流程图;

图2是根据本发明实施例的事件中动作的处理装置的结构框图;

图3是根据本发明实施例的事件中动作的处理装置的可选结构框图一;

图4是根据本发明实施例的事件中动作的处理装置的可选结构框图二;

图5是根据本发明实施例的事件中动作的处理装置的可选结构框图三;

图6是根据本发明可选实施例的AllJoyn网络事件-动作优先级处理方法的流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种事件中动作的处理方法,图1是根据本发明实施例的事件中动作的处理方法的流程图,如图1所示,该方法的步骤的包括:

步骤S102:接收用于触发执行事件的信息,其中,事件包括一个或多个操作对象,每个操作对象绑定一个动作组,动作组中的每一个动作具有相对应的优先级等级和相对应的用于触发执行动作的触发时间;

步骤S104:在到达用于触发执行动作组中第一动作的触发时间时,判断第一动作的优先级等级是否高于动作组中除该第一动作之外的其他动作的优先级等级;

步骤S106:在判断结果为是时,执行第一动作;在判断结果为否时,禁止执行第一动作。

通过上述步骤S102至步骤S106,在接收到用于触发执行事件的信息后,对于事件中操作对象的动作组,在到达动作组中第一动作的触发时间时,判断第一动作的优先级等级是否高于动作组中除该第一动作之外的其他动作的优先级等级,在判断结果为是时;在判断结果为否时,禁止执行第一动作。也就是说,对于同一个操作对象中的多个动作会根据该多个动作的优先级等级确定执行该多个动作的中的哪一个,而不会重复执行多个动作,从而解决了相关技术中AllJoyn网络的事件-动作机制仅支持时间序列上的串行操作的问题,提高了用户的体验效果。

需要说明的是,本实施例中涉及到的事件可选的为AllJoyn网络中的事件。

在本实施例步骤S102接收用于触发执行事件的信息之前,本实施例的方法还可以包括:

步骤S11:根据家庭网关提供的事件创建动作组的接口与动作组中的动作;

步骤S12:设置动作组中动作的优先级等级以及用于触发执行动作的触发时间,其中,优先级等级为同一优先级等级或不同的优先级等级。

通过步骤S11和步骤S12可知,本实施例中涉及到的动作创建是基于家庭网关提供的接口进行创建的。

在本实施例中的一个可选实施方式中,对于本实施例中步骤S104中涉及到的:判断第一动作的优先级等级是否高于或等于动作组中除第一动作之外的其他动作的优先级等级的方式可以通过如下方式来实现:在到达动作组中第一动作的第一触发时间时,判断在第一触发时间的时刻正在执行的动作是否与第一动作是否相同。

也就是说,在本实施例中首先得判断在到达动作组中其中一个动作的触发时间时,需要判断当前正在执行的动作是否与当前触发时间已经到了需要执行却未的动作(第一动作)是否相同,如果相同则该需要执行却还未执行的动作被禁止执行,因为已经有一个相同的动作正在执行,再执行该动作就是多余了。

通过该方式能够有效的确定是否要执行当前需要执行却未执行的动作,即有效解决在该需要执行却未执行的动作之前,有与之相同的动作已经执行完毕之后,还需要再次执行该动作,其中,执行完毕通过一个应用场景解释,例如卧室空调的开和关都已执行了,则是该动作执行完毕,即在系统设置的卧室空调的开是开门后立即开启,半小时之后关闭,而用户再次设置开门之后两小时后再次开启空调,开门之后三小时后再关闭空调。可见,通过上述只需判断当前正在执行的动作与触发时间到而未执行的动作进行比较,能够更加智能的控制卧室空调。

而在本实施例的一个可选实施方式中,在上述方式中确定第一触发时间的时刻正在执行的动作与第一动作不相同时,本实施例的方法还可以包括:根据动作中的触发时间顺序对动作组中的动作进行排序。

基于根据触发时间进行排序后的动作组,本实施例步骤S104涉及到的判断第一动作的优先级等级是否高于动作组中与除该第一动作之外的其他动作的优先级等级的方式,在本实施例的可选实施方式中,可以通关过如下方式来实现:

步骤S21:在排序后的动作中查询在第一动作后续未触发执行的动作中是否存在与第一动作相同的第二动作;

步骤S22:在存在与第一动作相同的第二动作时,判断第一动作的优先级等级是否高于或等于第二动作的优先级等级。

通过该步骤S22和步骤S21可知,对于判断相同动作优先级等级高低时,可以是预先对动作组中的动作进行按照触发时间排序后,每到达一个动作的触发时间时,获取排序中该动作中后续与该动作相同的动作的优先级等级,根据优先级等级的比较结果确定是否要执行当前动作。

对于本实施例中上述涉及到的应用场景可以是,在家居环境中,该事件的操作对象可以包括:卧室灯、卧室空调、卫生间热水器;而对于卧室空调的动作组包括:开启、1200s后关闭,相应的这两个动作具有优先级等级,触发事件的信息为开门。而在用户开门后,用户还立即设置了一个600s后关闭卧室空调的动作,并且设置该动作优先级等级高于1200s后关闭动作的优先级等级;因此,在过了600s后,系统判断当前关闭卧室空调的动作的优先级等级是否高于后续关闭卧室空调的动作的优先级等级,在判断结果为是时,执行当前动作,并禁止后续相对应的动作,即不会再执行后续同样的该动作了,而在判断结果为否时,则禁止执行当前关闭卧室空调的动作,而在等待一定时间后执行后续同样的该动作。即在本实施例中用户可以实现对一个操作对象的多个动作的优先级处理,这样用户就可以利用简洁的操作享受定制生活的服务,省去纷繁琐碎的设备操作步骤。

需要说明的是,本实施例中涉及到的第二动作可以是一个或多个动作,也就是说,一个动作组相同的动作可以是两个也可以是两个以上。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

在本实施例中还提供了一种事件中动作的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的事件中动作的处理装置的结构框图,如图2所示,该装置包括:接收模块22,用于接收用于触发执行事件的信息,其中,事件包括一个或多个操作对象,每个操作对象绑定一个动作组,动作组中的每一个动作具有相对应的优先级等级和相对应的用于触发执行动作的触发时间;判断模块24,与接收模块22耦合连接,用于在到达动作组中第一动作的触发时间时,判断第一动作的优先级等级是否高于动作组中除该第一动作之外的其他动作的优先级等级;执行模块26,与判断模块24耦合连接,用于在判断结果为是时,执行第一动作;在判断结果为否时,禁止执行第一动作。

图3是根据本发明实施例的事件中动作的处理装置的可选结构框图一,如图3所示,在接收用于触发执行事件的信息之前,该装置还包括:创建模块32,与设置模块34耦合连接,用于根据家庭网关提供的事件创建动作组的接口与动作组中的动作;设置模块34,与接收模块22耦合连接,用于设置动作组中动作的优先级等级以及用于触发执行动作的触发时间,其中,该优先级等级为同一优先级等级或不同的优先级等级。

图4是根据本发明实施例的事件中动作的处理装置的可选结构框图二,如图4所示,该判断模块包括:第一判断单元42,用于在到达动作组中第一动作的第一触发时间时,判断在第一触发时间的时刻正在执行的动作是否与第一动作是否相同。

图5是根据本发明实施例的事件中动作的处理装置的可选结构框图三,如图5所示,在第一触发时间的时刻正在执行的动作与第一动作不相同时,装置还包括:排序模块52,判断模块24耦合连接,用于根据动作中的触发时间顺序对动作组中的动作进行排序;该判断模块24还包括:查询单元54,用于在排序后的动作中查询在第一动作后续未触发执行的动作中是否存在与第一动作相同的第二动作;第二判断单元56,与排序单元54耦合连接,用于在存在与第一动作相同的第二动作时,判断第一动作的优先级等级是否高于或等于第二动作的优先级等级。

需要说明的是,本实施例中涉及到的第二动作包括一个或多个动作。

下面通过本实施例的可选实施例对本发明进行举例说明;

本发明要解决的技术问题是提供一种AllJoyn网络事件-动作优先级处理方法,该方法可以包括以下步骤:

步骤S202:接收事件发生的信息;

步骤S204:查询与事件绑定的动作及与动作对应的优先级;

步骤S206:比较动作与操作对象时间序列上的动作的优先级;

步骤S208:当动作的优先级高于或等于操作对象时间序列上的动作时,执行动作;当动作的优先级低于操作对象时间序列上的动作时,取消动作。

其中,一个事件绑定一个或多个动作,每个动作对应一个优先级等级,且优先级等级为预定义的等级值。

而在本可选实施例中的接收时间发送的信息之前,本可选实施例的方法还包括:绑定事件与动作组,并对动作组中的每个动作设置对应的优先级等级;

其中,对动作设置对应的优先级等级具体包括:

步骤S31:根据家庭网关提供的基于事件创建相应动作组的动作组创建接口,创建动作组中的每个动作;

步骤S32:对每个动作设置优先级等级;

步骤S33:对每个操作对象的动作进行记录。

通过本可选实施例可以解决相关技术中AllJoyn网络的事件-动作机制仅支持时间序列上的串行操作的问题。

下面通过本可选实施例的具体实施例对本可选实施例进行详细的说明;

实施例1

本可选实施例1提供了一种AllJoyn网络事件-动作优先级处理方法,图6是根据本发明可选实施例的AllJoyn网络事件-动作优先级处理方法的流程图,如图6所示,该方法的步骤包括:

步骤S601:绑定事件与动作组,对动作组中的每个动作设置对应的优先级等级,优先级等级为预定义的等级值。本实施例中,对动作设置对应的优先级等级具体包括:根据家庭网关提供的基于事件创建相应动作组的动作组创建接口,创建动作组中的每个动作;对每个动作设置触发时间,并对每个动作设置优先级等级。其中,一个事件绑定一个或多个动作,每个动作对应一个触发时间和一个优先级等级。

由于本可选实施例是基于家庭网关实现的,为了实现本实施例所提及的功能,需要网关提供基于事件创建相应动作组的创建接口,动作组创建接口的参数如表1所示,其 中,动作[]和触发时间[]、优先级等级[]具有对应关系,同一下标位置的动作和触发时间、优先级等级是对应的。即在相应下标的触发时间,根据相应下标的优先级等级触发对应下标的动作。

表1

一种创建后的结构如表2所示:

表2

步骤S602:接收事件发生的信息。

步骤S603:查询与事件绑定的动作及与动作对应的触发时间。

步骤S604,定时器开始计时,同时,对每个操作对象的动作按照时间顺序进行编号。

由于本实施例是基于家庭网关实现的,为了实现本实施例所提及的功能,需要网关提供按照时间顺序记录每个操作对象的动作的功能,包括存储最近完成和未完成的动作、移除较早完成和已取消的动作,动作记录功能的参数如表3所示,其中,序列号和动作、优先级等级具有对应关系,同一下标位置的序列号和动作、优先级等级是对应的。即相应下标的动作将被触发时,根据相应下标的优先级等级处理对应下标的动作。

表3

一种记录后的结构如表4所示:

表4

步骤S605,当到达触发时间后,按照序列号顺序查询与操作对象后续动作对应的优先级等级,并与动作对应的优先级等级进行比较:

当动作对应的优先级等级高于或等于后续动作对应的优先级等级时,执行动作,并更新动作记录;当动作对应的优先级等级低于后续动作对应的优先级等级时,取消动作,并更新动作记录。

一种更新后的结构如表5所示:

表5

本可选实施例为每一个事件创建一个带有优先级等级的动作组合,用户可以根据自己的需求为该事件绑定的每个动作设定相应的优先级等级,然后网关会根据每个动作的 相应优先级去依等级处理这些动作。这样就可以实现用户根据优先级处理操作对象的多个动作。

实施例2

本可选实施例2提供了一种AllJoyn网络事件-动作优先级处理方法,该方法包括以下步骤:

(1)智能设备连入网关;

(2)网关暴露事件和动作接口给用户;

(3)用户调用网关基于事件创建动作组的接口,创建相应的动作组,并为每个动作设定相应优先级等级;

(4)将该规则添加到规则引擎;

(5)定时器进行计时,网关记录相应的动作;

(6)到达触发时间,网关根据相应的优先级等级处理相应的动作。

由上本可选实施例2的实现方法可知,针对相关技术中AllJoyn的事件-动作机制,能够实现用户利用优先级处理在时间序列上选择性执行操作动作的功能。即具有如下有益效果:

(1)提高用户体验;用户可以实现对一个操作对象的多个动作的优先级处理,这样用户就可以利用简洁的操作享受定制生活的服务,省去纷繁琐碎的设备操作步骤。

(2)操作更灵活;本可选实施例提供的对操作对象的动作进行优先级处理,使得用户在多变的生活场景下有更加灵活的变动方式,从而更好地满足用户的多样性需求。

(3)经济节能;优先级处理机制其实是为用户为每一项服务提供了执行依据,这样对用户而言无用的设备操作被取消,能够减少能源损耗。

(4)可实现性高;本可选实施例基于家庭网关系统的,具有切实可行性。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件 和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1