一种联动规则生成方法和装置的制造方法_2

文档序号:8361723阅读:来源:国知局
中存在所述目标已设定有向图时,基于所述同一节点表征同一对象具有同一属性的同一属性值的原则,将所述待增设有向图与所述目标已设定有向图中相同节点进行合并,以将所述待增设有向图与所述目标已构建有向图整合为一个有向图,得到待检测有向图;
[0058]则所述模型检测单元,包括:
[0059]第三检测子单元,用于当所述有向图集合中不存在所述目标已设定有向图时,则确定所述待增设联动规则与所述联动规则清单中的已设定联动规则不存在逻辑问题;
[0060]第四检测子单元,用于当所述有向图集合中存在所述目标已设定有向图时,检测所述待检测有向图中是否存在如下一个或多个逻辑问题:所述待检测有向图中存在不同节点构建的循环路径;由所述待检测有向图中同一节点出发的多条路径上的节点所组成的节点集合内存在具有相同对象标识、相同属性值的多个节点。
[0061]优选的,所述装置还包括:
[0062]规则添加单元,用于当所述检测结果表明所述待增设联动规则与所述联动规则清单中所述已设定联动规则的逻辑关系之间不存在逻辑问题时,则将所述待增设联动规则添加到所述联动规则清单内;
[0063]提醒输出单元,用于当所述检测结果表明所述待增设联动规则与所述联动规则清单中所述已设定联动规则的逻辑关系之间存在逻辑问题时,输出针对所述逻辑问题的提醒信息。
[0064]优选的,所述装置还包括:逻辑关系存储单元,用于当检测到所述待检测逻辑关系集合中不存在逻辑问题时,存储所述待检测逻辑关系集合。
[0065]经由上述的技术方案可知,在获取到待增设联动规则后,并不会直接将该待增设联动规则添加到应用的联动规则清单中,而是先检测该待增设联动规则与该联动规则清单的已设定联动规则之间是否存在问题,然后在根据检测结果确定是否添加该待增设联动规贝1J,从而减少了由于新增设的联动规则与已设定的联动规则之间存在问题,而导致应用执行过程不稳定或者出现死循环的情况。
【附图说明】
[0066]为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0067]图1示出了本申请一种联动规则生成方法一个实施例的流程示意图;
[0068]图2示出了本申请一种联动规则生成方法另一个实施例的流程示意图;
[0069]图3示出了本申请一种联动规则生成方法另一个实施例的流程示意图;
[0070]图4a、4b和图4c分别示出了本申请一种已设定有向图、待设定有向图和待检测有向图的不意图;
[0071 ] 图5a、5b和图5c分别示出了本申请另一种已设定有向图、待设定有向图和待检测有向图的不意图;
[0072]图6示出了本申请一种联动规则生成装置一个实施例的结构示意图;
[0073]图7示出了本申请一种联动规则生成装置另一个实施例的结构示意图。
【具体实施方式】
[0074]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0075]参见图1,其示出了本申请一种联动规则生成方法一个实施例的流程示意图,本实施例的方法可以包括:
[0076]101,获得待增设联动规则。
[0077]其中,该待增设联动规则是用户设定的,需要添加到应用中的联动规则。
[0078]联动规则一般有特定的触发条件以及执行动作,当应用中设定了联动规则后,如果达到该联动规则中触发条件,该应用便可以触发该执行动作对应的执行对象执行该联动规则中的执行动作。
[0079]102,基于该待增设联动规则与联动规则清单进行问题检测,产生检测结果。
[0080]其中,该联动规则清单中包括已设定联动规则。
[0081]在将该待增设联动规则增设到应用中之前,本申请实施例还需要对该待增设联动规则与该联动规则清单中的已设定联动规则之间进行问题检测,以便分析出该待增设联动规则添加到该联动规则清单后是否会导致应用出现执行问题。
[0082]103,基于该检测结果确定是否将该待增设联动规则添加到该联动规则清单。
[0083]如果该检测结果表明该待增设联动清单与该联动规则清单中的已设定联动规则之间不存在影响问题,则将该待增设联动规则添加到该联动规则清单中,完成在应用中设定该待增设联动规则;如果检测结果表明检测出该待增设联动规则与该联动规则清单中的已设定联动规则存在问题,则不执行在该应用中添加该待增设联动规则的操作。
[0084]在本申请实施例中,在获取到待增设联动规则后,并不会直接将该待增设联动规则添加到应用的联动规则清单中,而是先检测该待增设联动规则与该联动规则清单的已设定联动规则之间是否存在问题,然后在根据检测结果确定是否添加该待增设联动规则,从而减少了由于新增设的联动规则与已设定的联动规则之间存在问题,而导致应用执行过程不稳定或者出现死循环的情况。
[0085]同时,本申请实施例在添加待增设联动规则之前,会检测该待增设联动规则与联动规则清单之间的问题,避免了联动规则清单中出现不同联动规则可能出现的问题,这样,当应用执行联动规则,导致执行动作出现问题后,用户也可以确定联动规则之间不存在问题,从而可以准确当前执行动作出现问题的原因为设备故障。
[0086]可选的,本申请实施例中联动规则之间的问题可以包括:联动规则之间存在冲突,或者,两个或多个联动规则导致对象之间的循环依赖。例如,当应用存在联动规则:天黑则开灯,以及天黑则放音乐两条联动规则,如果用户再设定放音乐则关灯,则会出现冲突。又如,当应用中存在当条件为A时,则执行动作B规则的情况下,用户再设定当条件为B则执行动作A,则由于规则依赖导致A与B的循环依赖,导致该应用出现死循环。
[0087]其中,对该待增设联动规则与联动规则清单进行问题检测可以是模拟待增设联动规则和该联动规则清单中的已设定联动规则的执行过程,以检测执行过程是否出现问题。
[0088]可以理解的是,如果联动规则清单中已设定联动规则较多时,如果分别模拟该待增设联动规则和该已设定联动规则的运行,则会由于运行时间较长而导致检测过程耗时较长。
[0089]可选的,为了降低问题检测的耗时,提高问题检测的灵活度,可以采用构建逻辑关系模型的方式来进行问题检测。如参见图2,其示出了本申请一种联动规则生成方法另一个实施例的流程示意图,本申请实施例的方法可以包括:
[0090]201,获得待增设联动规则。
[0091]202,基于该待增设联动规则的触发对象、触发条件、执行对象和执行动作,构建该待增设联动规则对应的待增设逻辑关系模型。
[0092]可以理解的是,任意一条联动规则均包含以下几个参数:触发对象、该触发对象的触发条件、执行对象以及该执行对象的执行动作,基于这几个参数便可以确定出该条联动规则的逻辑执行关系,从而确定出触发对象与该执行动作之间的逻辑关系模型。
[0093]例如,对于“天亮则开灯”的联动规则中,则涉及到的触发对象为光线传感器;触发条件为:该光线传感器检测到当前光线条件满足天亮条件;执行对象为灯控制器;执行动作为开灯。也就是说,该条联动规则的逻辑关系为当光传感器检测到该当前光线为天亮时,则应用触发该灯控制器执行开灯动作,因此,根据该逻辑关系可以构建出该触发对象与该执行对象之间的逻辑关系模型。
[0094]203,获取该联动规则清单对应的逻辑关系模型集合。
[0095]其中,该逻辑模型集合中包括与该已设定联动规则对应的已设定逻辑关系模型。联动规则清单中的每条已设定联动规则均可以在该逻辑关系集合中找到对应的已设定逻辑关系模型。
[0096]可以理解的是,该逻辑关系模型中的已设定逻辑关系模型可以是当前实时构建出的逻辑关系模型,也可以是预先构建并存储的逻辑关系模型。
[0097]204,将该待增设逻辑关系模型并入到该逻辑关系模型集合中,得到待检测逻辑关系集合。
[0098]为了便于区分,将该待增设联动规则对应的待增设逻辑关系模型并入到该逻辑关系模型集合后得到的逻辑关系模型称为待检测逻辑关系模型集合。
[0099]205,检测所述待检测逻辑关系集合中是否存在有逻辑问题的逻辑关系模型。
[0100]由于该待检测逻辑关系模型集合并入了该待增设逻辑关系模型,因此通过对该待检测逻辑关系模型集合进行检测,以检测其中是否有逻辑问题的逻辑关系模型,以确定该待增设逻辑关系模型是否与已设定逻辑关系模型之间存在逻辑冲突或者导致出现逻辑循环。
[0101]如果该待检测逻辑关系集合中存在有逻辑问题的逻辑关系模型则说明该待增设逻辑关系模型与已设定逻辑关系模型之间存在问题,即该待增设联动规则与已设定联动规则之间存在问题。
[0102]在本实施例中为了便于分析该待增设联动规则与已增设联动规则之间时是否存在问题,采用构建待增设联动规则的待增设逻辑关系模型,对并入该待增设逻辑关系模型以及包含已设定逻辑关系模型的待检测逻辑关系模型集合进行检测,由于分析逻辑关系模型是
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1