一种智能家居系统联动回路的处理方法和装置与流程

文档序号:17738420发布日期:2019-05-22 03:28阅读:187来源:国知局
一种智能家居系统联动回路的处理方法和装置与流程

本发明涉及智能家居系统技术领域,特别是涉及一种智能家居系统联动回路的处理方法和装置。



背景技术:

智能家居系统是当前智能化研究中的一个热点,因在环境中具有方便快捷、节省人力、可智能控制、可远程控制、提供定制化服务等诸多优点,其在家庭、别墅、学校、酒店、楼宇等诸多环境中的使用日益频繁。

智能家居系统通常具有情景模式和设备联动的功能。情景模式允许用户在特定的时间或地点下,用户进行特定的操作,智能家居系统按照用户的习惯自动执行。例如用户早晨起床后按下“起床场景”,此时窗帘自动打开,卧室灯光自动关闭,面包机、豆浆机自动开始工作。设备联动功能为当达到指定的条件时,设备可以执行某种动作,例如当家中室内pm2.5大于阈值时,空气净化器自动打开,又如当开关a打开时,开关b也一同打开。

在实际使用过程中,用户可以通过控制端自定义若干个情景模式以及设备联动,使智能家居系统按照用户自己的期望运行。但是,用户自行设定的情景模式以及设备联动,有可能会出现联动回路的情况。例如,用户设定以下三种设备联动:(1)当开关a打开时,开关b打开;(2)当开关b打开时,开关c打开;(3)当开关c打开时,开关a打开。此时,前述三种设备联动形成联动回路,开关a、开关b、开关c会一直相互开启,导致智能家居系统内部资源空转,软硬件资源大量浪费甚至耗尽等问题,影响用户使用体验。且由于用户可能只能看到表面上开关a、开关b、开关c一直保持开启状态,导致用户自身较难发现智能家居系统内部发生了资源空转的问题。需要有有效的方式对智能家居系统中的联动回路进行处理。



技术实现要素:

鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的智能家居系统联动回路的处理方法和装置。

一种智能家居系统联动回路的处理方法,包括:

获取智能家居系统中至少一个联动节点以及所述至少一个联动节点两两之间的联动关系;

根据所述至少一个联动节点两两之间的联动关系建立联动矩阵;

根据所述联动矩阵确定形成联动回路的联动节点;

采用所述形成联动回路的联动节点,对所述智能家居系统进行处理。

优选地,所述采用所述形成联动回路的联动节点,对所述智能家居系统进行处理,包括:

采用所述形成联动回路的联动节点,生成智能家居系统提醒信息;

或,

采用所述形成联动回路的联动节点,删除至少一个所述形成联动回路的联动节点两两之间的联动关系,并生成智能家居系统处理信息。

优选地,所述根据所述至少一个联动节点两两之间的联动关系建立联动矩阵,包括:

建立联动矩阵;所述联动矩阵的行号与所述至少一个联动节点对应,所述联动矩阵的列号与所述至少一个联动节点对应;

根据所述至少一个联动节点两两之间的联动关系,为所述联动矩阵的每一元素配置第一数值或第二数值。

优选地,所述根据所述联动矩阵确定形成联动回路的联动节点,包括:

在所述联动矩阵中,确定所述主对角线上是否存在数值为第二数值的第一目标元素;

当存在所述第一目标元素,将所述第一目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

优选地,所述根据所述联动矩阵确定形成联动回路的联动节点,包括:

在所述联动矩阵中,确定是否存在基于主对角线相互对称,且数值为第二数值的第二目标元素;

当存在所述第二目标元素,将所述第二目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

优选地,所述根据所述联动矩阵确定形成联动回路的联动节点,还包括:

确定当前联动矩阵;

在所述当前联动矩阵中,确定是否存在至少一个空置列;所述空置列为列元素都为第一数值的列;

若存在至少一个空置列,则选取其中一个空置列,并确定该空置列的列序号;

确定行序号与所述列序号相同的目标行;

将所述当前联动矩阵的目标行中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

再次执行所述确定是否存在至少一个空置列的步骤,直至不存在未被选取的空置列;

当所述联动矩阵中存在至少一个元素的数值为第二数值的列,确定所述联动矩阵中,数值为第二数值的第三目标元素;

将所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

优选地,所述根据所述联动矩阵确定形成联动回路的联动节点,还包括:

当所述联动矩阵中只存在空置列时,确定所述联动节点之间不存在形成联动回路的联动节点。

优选地,根据所述联动矩阵确定形成联动回路的联动节点,还包括:

确定当前联动矩阵;

在所述当前联动矩阵中,确定是否存在至少一个空置行;所述空置行为行元素都为第一数值的行;

若存在至少一个空置行,则选取其中一个空置行,并确定该空置行的行序号;

确定列序号与所述行序号相同的目标列;

将所述当前联动矩阵的目标列中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

再次执行所述确定是否存在至少一个空置行的步骤,直至不存在未被选取的空置行;

当所述联动矩阵中存在至少一个元素的数值为第二数值的行,确定所述联动矩阵中,数值为第二数值的第四目标元素;

将所述第四目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

一种智能家居系统联动回路的处理装置,包括:

联动节点与联动关系获取模块,用于获取智能家居系统中至少一个联动节点以及所述至少一个联动节点两两之间的联动关系;

联动矩阵建立模块,用于根据所述至少一个联动节点两两之间的联动关系建立联动矩阵;

联动回路确定模块,用于根据所述联动矩阵确定形成联动回路的联动节点;

智能家居系统处理模块,用于采用所述形成联动回路的联动节点,对所述智能家居系统进行处理。

优选地,所述智能家居系统处理模块包括:

提醒信息生成子模块,用于采用所述形成联动回路的联动节点,生成智能家居系统提醒信息;

或,

处理信息生成子模块,用于采用所述形成联动回路的联动节点,删除至少一个所述形成联动回路的联动节点两两之间的联动关系,并生成智能家居系统处理信息。

优选地,所述联动矩阵建立模块包括:

联动矩阵建立子模块,用于建立联动矩阵;所述联动矩阵的行号与所述至少一个联动节点对应,所述联动矩阵的列号与所述至少一个联动节点对应;

元素数值配置子模块,用于根据所述至少一个联动节点两两之间的联动关系,为所述联动矩阵的每一元素配置第一数值或第二数值。

优选地,所述联动回路确定模块包括:

第一目标元素确定子模块,用于在所述联动矩阵中,确定所述主对角线上是否存在数值为第二数值的第一目标元素;

第一联动回路确定子模块,当存在所述第一目标元素,将所述第一目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

优选地,所述联动回路确定模块包括:

第二目标元素确定子模块,用于在所述联动矩阵中,确定是否存在基于主对角线相互对称,且数值为第二数值的第二目标元素;

第二联动回路确定模块,用于当存在所述第二目标元素,将所述第二目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

优选地,所述联动回路确定模块还包括:

第一当前联动矩阵确定模块,用于确定当前联动矩阵;

空置列确定子模块,用于在所述当前联动矩阵中,确定是否存在至少一个空置列;所述空置列为列元素都为第一数值的列;

列序号确定子模块,用于若存在至少一个空置列,则选取其中一个空置列的列序号,并确定该空置列的列序号;

目标行确定子模块,用于确定行序号与所述列序号相同的目标行;

目标行第一数值配置子模块,用于将所述当前联动巨神的目标行中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

空置列确定返回子模块,用于再次执行所述确定是否存在至少一个空置列的步骤,直至不存在未被选取的空置列;

第三目标元素确定子模块,用于当所述联动矩阵中存在至少一个元素的数值为第二数值的列,确定所述联动矩阵中,数值为第二数值的第三目标元素;

第三联动回路确定子模块,用于将所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

优选地,所述联动回路确定模块包括:

第四联动回路确定子模块,用于当所述联动矩阵中只存在空置列时,确定所述联动节点之间不存在形成联动回路的联动节点。

优选地,所述联动回路确定模块还包括:

第二当前联动矩阵确定模块,用于确定当前联动矩阵;

空置行确定子模块,用于在所述当前联动矩阵中,确定是否存在至少一个空置行;所述空置行为行元素都为第一数值的行;

行序号确定子模块,用于若存在至少一个空置行,则选取其中一个空置行,并确定该空置行的行序号;

目标列确定子模块,用于确定列序号与所述行序号相同的目标列;

目标列第一数值配置子模块,用于将所述当前联动矩阵的目标列中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

空置行确定返回子模块,用于再次执行所述确定是否存在至少一个空置行的步骤,直至不存在未被选取的空置行;

第四目标元素确定子模块,用于当所述联动矩阵中存在至少一个元素的数值为第二数值的行,确定所述联动矩阵中,数值为第二数值的第四目标元素;

第五联动回路确定子模块,用于将所述第四目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

与现有技术相比,本发明包括以下优点:

通过本发明实施例的智能家居系统联动回路的处理方法,通过联动矩阵确定形成联动回路的联动节点,可以避免反复遍历联动节点,快速确定形成联动回路的联动节点,提高联动节点的查找效率。实现避免智能家居系统中内部资源空转,软硬件资源大量浪费甚至耗尽等问题。同时可以对所述智能家居系统进行处理,以消除智能家居系统中的联动回路,并向用户进行提醒,避免用户难以发现智能家居系统内部发生了资源空转的问题。

附图说明

图1是本发明实施例的一种智能家居系统联动回路的处理方法的步骤流程图;

图2是本发明实施例的一种联动节点与联动关系的结构示意图;

图3是本发明实施例的联动矩阵a的示意图;

图4是本发明实施例的联动矩阵b的示意图;

图5是本发明实施例的联动矩阵c的示意图;

图6是本发明实施例的联动矩阵d的示意图;

图7是本发明实施例的另一种联动节点与联动关系的结构示意图;

图8是本发明实施例的联动矩阵e的示意图;

图9是本发明实施例的联动矩阵f的示意图;

图10是本发明实施例的联动矩阵g的示意图;

图11是本发明实施例的联动矩阵h的示意图;

图12是本发明实施例的联动矩阵i的示意图;

图13是本发明实施例的联动矩阵j的示意图;

图14是本发明实施例的一种智能家居系统联动回路的处理装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明一种智能家居系统联动回路的处理方法的步骤流程图,所述方法包括:

步骤101,获取智能家居系统中至少一个联动节点以及所述至少一个联动节点两两之间的联动关系;

在本发明实施例中,所述联动节点可以包括联动条件,和/或,联动动作,所述联动条件可以指启动智能家居系统中某一设备的条件。例如,当家中室内pm2.5大于阈值时,空气净化器自动打开,其中“当家中室内pm2.5大于阈值时”即为启动空气净化器的联动条件。所述联动动作可以指智能家居系统中某一设备的动作。例如,当开关a打开时,开关b打开,其中“当开关a打开时”即为联动动作,同时也是启动开关b的联动条件,“开关b打开”也为联动动作。

在本发明实施例中,所述联动关系可以指联动节点之间的联动关系,即联动条件,和/或,联动动作两两之间关系。例如,当开关a打开时,开关b打开,此时可以说“开关a打开”与“开关b打开”两个联动动作之间存在联动关系。同时,所述联动关系是单向的有向路径,联动节点两两之间的联动关系可以以一个联动节点作为起点,指向另一作为终点的联动节点。

步骤102,根据所述至少一个联动节点两两之间的联动关系建立联动矩阵;

在本发明实施例中,可以根据所述至少一个联动节点两两之间的联动关系,建立可以表示联动节点两两之间的联动关系的联动矩阵。

在本发明的一种优选实施例中,所述根据所述至少一个联动节点两两之间的联动关系建立联动矩阵,包括:

s11,建立联动矩阵;所述联动矩阵的行号与所述至少一个联动节点对应,所述联动矩阵的列号与所述至少一个联动节点对应;

在本发明实施例中,可以基于联动节点的数量,建立联动矩阵。例如,联动节点为10个,则建立10×10的联动矩阵。在该10×10的联动矩阵中,所述联动矩阵的行号可以与所述至少一个联动节点对应,所述联动矩阵的列号可以与所述至少一个联动节点对应。例如,在联动矩阵中的行号4与联动节点4对应,联动节点中的列号6与联动节点6对应。

s12,根据所述至少一个联动节点两两之间的联动关系,为所述联动矩阵的每一元素配置第一数值或第二数值。

在本发明实施例中,所述第一数值可以为当联动节点两两之间不存在联动关系时所配置的数值。所述第二可知可以为当联动节点两两之间存在联动关系时所配置的数值。

在本发明实施例中,所述第一数值与第二数值不相同。例如,所述第一数值可以为0,第二数值可以为1;或,所述第一数值可以为1,第二数值可以为2;或,所述第一数值可以为2,第二数值可以为5;或,第一数值为0,第二数值为不为0的其他数值,等等。本发明对此不做限制。

在本发明实施例中,可以根据所述至少一个联动节点两两之间的联动关系,为所述联动矩阵的每一元素配置第一数值或第二数值。由于所述联动关系可以以一个联动节点作为起点,指向另一作为终点的联动节点,可以采用以矩阵中的行代表联动关系的起点,以矩阵中的列代表联动关系的终点,或,以矩阵中的列皆代表联动关系的起点,以矩阵中的行皆代表联动关系的终点的方式,确定应为联动矩阵中的元素配置何种数值。

作为本发明的一种示例,当以矩阵中的行皆代表联动关系的起点,以矩阵中的列皆代表联动关系的终点时,联动关系r1以联动节点1为起点,指向联动节点2,则将联动矩阵中1行2列的元素作为代表该联动关系的元素,为该元素配置第二数值。

作为本发明实施例的一种示例,如图2所示,图2为联动节点与联动关系的结构示意图,其中1~10指联动节点,r1~r12指联动关系。

当以矩阵中的行皆代表联动关系的起点,以矩阵中的列皆代表联动关系的终点时,可以参考图2中联动节点与联动关系之间的关系,可以得到如下所示的联动矩阵。具体地,联动关系r1由联动节点1指向联动节点2,则为联动矩阵中的1行2列的元素配置第二数值1,联动关系r2有联动节点2指向联动节点3,则为联动矩阵中2行3列的元素配置第二数值1,以此类推,由图2的联动节点与联动关系的结构示意图得到如图3所示的联动矩阵a。

当以矩阵中的列皆代表联动关系的起点,以矩阵中的行皆代表联动关系的终点时,可以参考图2中联动节点与联动关系之间的关系,可以得到如图4所示的联动矩阵。具体地,联动关系r1由联动节点1指向联动节点2,则为联动矩阵中的2行1列的元素配置第二数值1,联动关系r2有联动节点2指向联动节点3,则为联动矩阵中3行2列的元素配置第二数值1,以此类推,由图2的联动节点与联动关系的结构示意图得到如图10所示的联动矩阵f。

步骤103,根据所述联动矩阵确定形成联动回路的联动节点;

在本发明实施例中,可以在所述联动矩阵中,查找所述联动节点是否形成联动回路,从而确定形成联动回路的联动节点。

在本发明的优选实施例中,所述根据所述联动矩阵确定形成联动回路的联动节点,包括:

s21,在所述联动矩阵中,确定所述主对角线上是否存在数值为第二数值的第一目标元素;

在本发明实施例中,所述主对角线上的元素,其行号与列号相同,即联动条件为联动节点自身可以启动联动节点自身。则此时联动节点自身即形成联动回路。

s22,当存在所述第一目标元素,将所述第一目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明实施例中,当存在所述第一目标元素时,即所述智能家居系统中存在联动节点自身可以启动联动节点自身的情况,由此可以将所述第一目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为自身形成联动回路的联动节点。例如,在联动矩阵的主对角线上的3行3列上,存在第一目标元素,则3行3列所对应的联动节点3自身形成联动回路。

在本发明的一种优选实施例中,所述根据所述联动矩阵确定形成联动回路的联动节点,包括:

s31,在所述联动矩阵中,确定是否存在基于主对角线相互对称,且数值为第二数值的第二目标元素;

在本发明实施例中,如有基于主对角线相互对称,且数值为第二数值的第二目标元素,则说明在一组相互对称的第二目标元素中,一个第二目标元素的行号与另一个第二目标元素的列号相同。此时该组相互对称的第二目标元素对应的联动节点存在相互指向的联动关系,使两个联动节点之间形成联动回路。

s32,当存在所述第二目标元素,将所述第二目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明实施例中,当存在所述第二目标元素时,即所述智能家居系统中存在至少一组可以相互启动对方的联动节点的情况,由此可以将所述第二目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。例如,在联动矩阵的2行4列以及4行2列上存在数值为第二数值的元素,则基于主对角线相互对称的2行4列以及4行2列的元素为第二目标元素,所对应的联动节点2以及联动节点4可以相互启动对方,形成联动回路。

在本发明的一种优选实施例中,所述根据所述联动矩阵确定形成联动回路的联动节点,包括:

s41,确定当前联动矩阵;

在本发明实施例中,可以先根据所述至少一个联动节点两两之间的联动关系建立联动矩阵,并将该矩阵确定为当前联动矩阵。

作为本发明的一种示例,可以将基于图2所示的联动节点与联动关系的结构示意图得到的图3所示的联动矩阵a,确定为当前联动矩阵。

s42,在所述联动矩阵中,确定是否存在至少一个空置列;所述空置列为列元素都为第一数值的列;

在本发明实施例中,当所述联动矩阵中,行代表联动关系的起点,列代表联动关系的终点时,可以遍历所述联动矩阵,确定所述联动矩阵中是否存在列元素都为第一数值的列,即空置列。当矩阵中一列上的数值都为第一数值,说明该列上不存在联动节点两两之间的联动关系,且说明在该列的列序号对应的联动节点不作为联动关系的终点,即只作为联动关系的起点。

在本发明实施例中,当所述联动矩阵中不存在空置列时,则说明所述智能家居系统中所有联动节点形成联动回路,可以直接跳至s47步骤,确定形成联动回路的联动节点为所有联动节点。

作为本发明的一种示例,当所述联动矩阵中,行代表联动关系的起点,列代表联动关系的终点时,如图3所示的联动矩阵a中,存在空置列。

s43,若存在至少一个空置列,则选取其中一个空置列,并确定该空置列的列序号;

在本发明实施例中,在一次遍历所述联动矩阵的过程中,可能可以同时发现至少一个空置列,则此时可以任意选取一个空置列进行处理,并可以确定该空置列的列序号。

作为本发明的一种示例,确定联动矩阵a中空置列,即第1列,其列序号为1。

s44,确定行序号与所述列序号相同的目标行;

作为本发明的一种示例,确定联动矩阵a中行序号与所述列序号相同的目标行为第1行。

s45,将所述当前联动矩阵的目标行中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

在本发明实施例中,将所述当前联动矩阵的目标行中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵,即将与目标行的行序号对应的联动节点相关的,且该联动节点作为起点的联动关系删除,则此时不再联动矩阵中不再存在与该联动节点相关的联动关系。

作为本发明的一种示例,将图3所示联动矩阵a中第1行中各个元素的数值配置为第一数值,得到如图4所示的联动矩阵b。

s46,返回所述确定是否存在至少一个空置列的步骤,直至不存在未被选取的空置列;

在本发明实施例中,可以重复子步骤s42~s46,直至不存在未被选取的空置列。此时矩阵中可能存在至少一个元素的数值为第二数值的列,或者只存在空置列。当存在至少一个元素的数值为第二数值的列时,说明联动矩阵中存在无法转换为第一数值的元素,此时智能家居系统中存在无法被删除的联动关系,且不存在只作为联动关系的起点的联动节点,而存在只作为联动关系的终点的联动节点,和/或,同时作为联动关系的起点和联动关系的终点的联动节点。

在本发明实施例中,当只存在空置列时,说明联动矩阵中的所有数值为第二数值的元素都被转换为第一数值,说明联动矩阵中不存在无法转换为第一数值的元素。

作为本发明的一种示例,对联动矩阵b重复子步骤s42~s46,继续查找是否存在空置列,发现此时联动矩阵b中第1列、第2列、第5列皆为空置列,由于第1列已经被选取过,可以选取第2列以及第5列中任意一列,确定该列的列序号。确定第2列的列序号2,并确定与行序号与列序号相同的第2行为目标行。将第2行中各个元素的数值配置为第一数值,得到如图5所示的联动矩阵c。

对联动矩阵c重复子步骤s42~s46,继续查找是否存在空置列,发现此时联动矩阵c中第1列、第2列、第5列、第10列皆为空置列,由于第1列和第2列已经被选取过,可以在第5列以及第10列中,选取任意一列,并确定列序号。确定第5列的列序号5,并确定与行序号与列序号相同的第5行为目标行。将第5行中各个元素的数值配置为第一数值,得到如图6所示的联动矩阵d。

对联动矩阵d重复子步骤s42~s46,继续查找是否存在空置列,发现此时联动矩阵d中第1列、第2列、第5列、第10列皆为空置列,由于第1列、第2列、第5列已经被选取过,可以确定第10列的列序号10,并确定与行序号与列序号相同的第10行为目标行。将第10行中各个元素的数值配置为第一数值,由于第10行中各个元素的数值本来已经为第一数值,联动矩阵d没有变化。

对联动矩阵d再次重复子步骤s42~s46,继续查找是否存在空置列,发现此时联动矩阵d中第1列、第2列、第5列、第10列皆为空置列,由于第1列、第2列、第5列、第10列都已经被选取过,联动矩阵d中不存在未被选取的空置列,重复子步骤s42~s46的步骤结束。

s47,当所述联动矩阵中存在至少一个元素的数值为第二数值的列,确定所述联动矩阵中,数值为第二数值的第三目标元素;

s48,将所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明实施例中,所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,可以为只作为联动关系的终点的联动节点,和/或,同时作为联动关系的起点和联动关系的终点的联动节点。当所述联动节点同时作为联动关系的起点和联动关系的终点时,该联动节点之间可以形成环路,是造成联动回路产生的原因;当所述联动节点只为连联动关系的终点时,该联动节点然不是造成联动回路产生的原因,但是同样是联动回路中的一节,受到联动回路的影响。由此可以确定形成联动回路的节点。

作为本发明的一种示例,在联动矩阵d中,存在至少一个元素的数值为第二数值的列,包括第3列、第4列、第6列、第7列、第8列、第9列,确定联动矩阵e中,数值为第二数值的第三目标元素,包括d73、d34、d36、d47、d48、d79。将所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点,则联动节点3、联动节点4、联动节点6、联动节点7、联动节点8、联动节点9为形成联动回路的节点。

其中,联动节点3、联动节点6、联动节点7之间形成环路,联动节点3、联动节点4、联动节点7之间形成环路,是造成联动回路产生的原因。联动节点8只作为联动关系r10的终点,联动节点9只作为联动关系r11的终点,虽然联动节点8和联动节点9不是直接造成联动回路产生的原因,但是同样属于联动回路中的一节,受到联动回路的影响。例如,当联动节点4受到联动回路的影响,反复被联动节点3启动时,联动节点4同时也会启动联动节点8,导致联动节点8同样反复被启动。

在本发明的另一种优选实施例中,所述根据所述联动矩阵确定形成联动回路的联动节点,还包括:

s51,当所述联动矩阵中只存在空置列时,确定所述联动节点之间不存在形成联动回路的联动节点。

在本发明实施例中,当联动矩阵经过子步骤s42~s46的处理后,所述联动矩阵中只存在空置列,说明联动矩阵中不存在形成联动回路的联动节点,智能家居系统中不存在联动回路,运行正常。

作为本发明的一种示例,如图7所示,图7为联动节点与联动关系的结构示意图,其中1~10指联动节点,r1~r6,r8~r12指联动关系。以矩阵中的行皆代表联动关系的起点,以矩阵中的列皆代表联动关系的终点,生成如图8所示的联动矩阵e。

对该联动矩阵e采用子步骤s42~s46进行处理,首先联动矩阵e中存在第1列为空置列,对应将目标行第1行的各个元素的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1列、第2列、第5列为空置列,选取目标行为第2行,将第2行各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1列、第2列、第5列、第10列为空置列,选取目标行为第5行,将第5行各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1列、第2列、第3列、第5列、第10列为空置列,选取目标行为第3行,将第3行各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1~6列、第10列为空置列,选取目标行为第4行,将第4行各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1~6列、第8列、第10列为空置列,选取目标行为第6行,将第6行各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1~8列、第10列为空置列,选取目标行为第7行,将第7行各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1~10列皆为空置列,所述联动矩阵中只存在空置列,说明联动矩阵中不存在形成联动回路的联动节点,智能家居系统中不存在联动回路,运行正常。

在本发明的另一种优选实施例中,所述根据所述联动矩阵确定形成联动回路的联动节点,包括:

s61,确定当前联动矩阵;

在本发明实施例中,可以先根据所述至少一个联动节点两两之间的联动关系建立联动矩阵,并将该矩阵确定为当前联动矩阵。

作为本发明的一种示例,可以将基于图2所示的联动节点与联动关系的结构示意图得到的图9所示的联动矩阵f,确定为当前联动矩阵。

s62,在所述联动矩阵中,确定是否存在至少一个空置行;所述空置行为行元素都为第一数值的行;

在本发明实施例中,当所述联动矩阵中,列代表联动关系的起点,行代表联动关系的终点时,可以遍历所述联动矩阵,确定所述联动矩阵中是否存在行元素都为第一数值的行,即空置行。当矩阵中一行上的数值都为第一数值,说明该行上不存在联动节点两两之间的联动关系,且说明在该行的行序号对应的联动节点不作为联动关系的终点,即只作为联动关系的起点。

在本发明实施例中,当所述联动矩阵中不存在空置行时,则说明所述智能家居系统中所有联动节点形成联动回路,可以直接跳至s67步骤,确定形成联动回路的联动节点为所有联动节点。

作为本发明的一种示例,当所述联动矩阵中,行代表联动关系的起点,列代表联动关系的终点时,如下所示,由图9所示的联动矩阵f中,存在空置行。

s63,若存在至少一个空置行,则选取其中一个空置行,确定该空置行的行序号;

在本发明实施例中,在一次遍历所述联动矩阵的过程中,可能可以同时发现至少一个空置行,则此时可以任意选取一个空置行进行处理,并可以确定该空置行的行序号。

作为本发明的一种示例,确定联动矩阵f中空置行,即第1行,其行序号为1。

s64,确定列序号与所述行序号相同的目标列;

作为本发明的一种示例,确定联动矩阵f中列序号与所述行序号相同的目标列为第1列。

s65,将所述当前联动矩阵的目标列中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

在本发明实施例中,将所述当前联动矩阵的目标列中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵。即将与目标列的列序号对应的联动节点相关的,且该联动节点作为起点的联动关系删除,则此时不再联动矩阵中不再存在与该联动节点相关的联动关系。

作为本发明的一种示例,将如图9所示的联动矩阵f中第1列中各个元素的数值配置为第一数值,得到如图10所示的联动矩阵g。

s66,返回所述确定是否存在至少一个空置行的步骤,直至不存在未被选取的空置行;

在本发明实施例中,可以重复子步骤s62~s66,直至不存在未被选取的空置行。此时矩阵中可能存在至少一个元素的数值为第二数值的行,或者只存在空置行。当存在至少一个元素的数值为第二数值的行时,说明联动矩阵中存在无法转换为第一数值的元素,此时智能家居系统中存在无法被删除的联动关系,且不存在只作为联动关系的起点的联动节点,而存在只作为联动关系的终点的联动节点,和/或,同时作为联动关系的起点和联动关系的终点的联动节点。

在本发明实施例中,当只存在空置行时,说明联动矩阵中的所有数值为第二数值的元素都被转换为第一数值,说明联动矩阵中不存在无法转换为第一数值的元素。

作为本发明的一种示例,对联动矩阵g重复子步骤s62~s66,继续查找是否存在空置行,发现此时联动矩阵g中第1行、第2行、第5行皆为空置行,由于第1行已经被选取过,可以选取第2行以及第5行中任意一列,确定该列的行序号。确定第2行的行序号2,并确定与列序号与行序号相同的第2列为目标列。将第2列中各个元素的数值配置为第一数值,得到如图11所示的联动矩阵h。

对联动矩阵h重复子步骤s62~s66,继续查找是否存在空置行,发现此时联动矩阵h中第1行、第2行、第5行、第10行皆为空置列,由于第1行和第2行已经被选取过,可以在第5行以及第10行中,选取任意一行,并确定行序号。确定第5行的行序号5,并确定与列序号与行序号相同的第5列为目标列。将第5列中各个元素的数值配置为第一数值,得到如图12所示的联动矩阵i。

对联动矩阵i重复子步骤s62~s66,继续查找是否存在空置行,发现此时联动矩阵i中第1行、第2行、第5行、第10行皆为空置列,由于第1行、第2行、第5行已经被选取过,可以确定第10行的行序号10,并确定与列序号与行序号相同的第10列为目标行。将第10列中各个元素的数值配置为第一数值,由于第10列中各个元素的数值本来已经为第一数值,联动矩阵i没有变化。

对联动矩阵i再次重复子步骤s62~s66,继续查找是否存在空置行,发现此时联动矩阵i中第1行、第2行、第5行、第10行皆为空置行,由于第1行、第2行、第5行、第10行都已经被选取过,联动矩阵i中不存在未被选取的空置行,重复子步骤s62~s66的步骤结束。

s67,当所述联动矩阵中存在至少一个元素的数值为第二数值的行,确定所述联动矩阵中,数值为第二数值的第三目标元素;

s68,将所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明实施例中,所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,可以为只作为联动关系的终点的联动节点,和/或,同时作为联动关系的起点和联动关系的终点的联动节点。当所述联动节点同时作为联动关系的起点和联动关系的终点时,该联动节点之间可以形成环路,是造成联动回路产生的原因;当所述联动节点只为连联动关系的终点时,该联动节点然不是造成联动回路产生的原因,但是同样是联动回路中的一节,受到联动回路的影响。由此可以确定形成联动回路的节点。

作为本发明的一种示例,在联动矩阵i中,存在至少一个元素的数值为第二数值的行,包括第3行、第4行、第6行、第7行、第8行、第9行,确定联动矩阵i中,数值为第二数值的第三目标元素,包括i37、i43、i63、i74、i84、i97。将所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点,则联动节点3、联动节点4、联动节点6、联动节点7、联动节点8、联动节点9为形成联动回路的节点。

其中,联动节点3、联动节点6、联动节点7之间形成环路,联动节点3、联动节点4、联动节点7之间形成环路,是造成联动回路产生的原因。联动节点8只作为联动关系r10的终点,联动节点9只作为联动关系r11的终点,虽然联动节点8和联动节点9不是直接造成联动回路产生的原因,但是同样属于联动回路中的一节,受到联动回路的影响。例如,当联动节点4受到联动回路的影响,反复被联动节点3启动时,联动节点4同时也会启动联动节点8,导致联动节点8同样反复被启动。

在本发明的另一种优选实施例中,所述根据所述联动矩阵确定形成联动回路的联动节点,还包括:

s71,当所述联动矩阵中只存在空置列时,确定所述联动节点之间不存在形成联动回路的联动节点。

在本发明实施例中,当联动矩阵经过子步骤s62~s66的处理后,所述联动矩阵中只存在空置列,说明联动矩阵中不存在形成联动回路的联动节点,智能家居系统中不存在联动回路,运行正常。

作为本发明的一种示例,如图3所示,图3为联动节点与联动关系的结构示意图,其中1~10指联动节点,r1~r6,r8~r12指联动关系。以矩阵中的列皆代表联动关系的起点,以矩阵中的行皆代表联动关系的终点,生成如图13所示的联动矩阵j。

对该联动矩阵j采用子步骤s62~s66进行处理,首先联动矩阵j中存在第1行为空置行,对应将目标行第1列的各个元素的数值配置为第一数值;继续确定是否存在至少一个空置行,发现存在第1行、第2行、第5行为空置行,选取目标行为第2列,将第2列各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置行,发现存在第1行、第2行、第5行、第10行为空置行,选取目标行为第5列,将第5列各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置列,发现存在第1行、第2行、第3行、第5行、第10行为空置行,选取目标行为第3列,将第3列各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置行,发现存在第1~6行、第10列为空置行,选取目标行为第4列,将第4列各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置行,发现存在第1~6行、第8行、第10行为空置行,选取目标行为第6列,将第6列各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置行,发现存在第1~8行、第10行为空置行,选取目标行为第7列,将第7列各个元素的的数值配置为第一数值;继续确定是否存在至少一个空置行,发现存在第1~10行皆为空置行,所述联动矩阵中只存在空置行,说明联动矩阵中不存在形成联动回路的联动节点,智能家居系统中不存在联动回路,运行正常。

步骤104,采用所述形成联动回路的联动节点,对所述智能家居系统进行处理。

在本发明实施例中,当确定所述形成联动回路的联动节点,可以采用所述形成联动回路的联动节点,对所述智能家居系统进行处理,以消除智能家居系统中的联动回路。

作为本发明的一种优选实施例,所述采用所述形成联动回路的联动节点,对所述智能家居系统进行处理,包括:

s81,采用所述形成联动回路的联动节点,生成智能家居系统提醒信息;

在本发明实施例中,可以所述形成联动回路的联动节点,生成智能家居系统提醒信息,提醒用户在智能家居系统中存在联动回路,需要及时对智能家居系统中的联动关系进行调整,以消除消除智能家居系统中的联动回路。同时,在所述智能家居系统提醒信息中,可以包括所述联动关系的使用频率,帮助用户更好第确定需要删除或修改的联动回路。

或,

s82,采用所述形成联动回路的联动节点,删除至少一个所述形成联动回路的联动节点两两之间的联动关系,并生成智能家居系统处理信息。

在本发明实施例中,所述智能家居系统可以以所述形成联动回路的联动节点中的任一联动节点作为起点,确定从该联动节点出发,根据联动关系的指向,最终是否可以回到该联动节点,从而进一步确定所述形成联动回路的联动节点中形成环路的联动关系,并将形成环路的联动关系中,利用频率最低的联动关系删除,并生成智能家居系统处理信息,提示用户智能家居系统中的联动关系被删除。

在本发明实施例中,所述智能家居系统可以采用应用程序、网页、短信等方式,向用户发送智能家居系统提醒信息或智能家居系统处理信息。

通过本发明实施例的智能家居系统联动回路的处理方法,通过联动矩阵确定形成联动回路的联动节点,可以避免反复遍历联动节点,快速确定形成联动回路的联动节点,提高联动节点的查找效率。实现避免智能家居系统中内部资源空转,软硬件资源大量浪费甚至耗尽等问题。同时可以对所述智能家居系统进行处理,以消除智能家居系统中的联动回路,并向用户进行提醒,避免用户难以发现智能家居系统内部发生了资源空转的问题。

参照图14,示出了本发明一种智能家居系统联动回路的处理装置的结构框图,所述装置包括:

联动节点与联动关系获取模块1501,用于获取智能家居系统中至少一个联动节点以及所述至少一个联动节点两两之间的联动关系;

联动矩阵建立模块1402,用于根据所述至少一个联动节点两两之间的联动关系建立联动矩阵;

联动回路确定模块1403,用于根据所述联动矩阵确定形成联动回路的联动节点;

智能家居系统处理模块1404,用于采用所述形成联动回路的联动节点,对所述智能家居系统进行处理。

在本发明的一种实施例中,所述采用所述形成联动回路的联动节点,对所述智能家居系统进行处理,包括:

采用所述形成联动回路的联动节点,生成智能家居系统提醒信息;

或,

采用所述形成联动回路的联动节点,删除至少一个所述形成联动回路的联动节点两两之间的联动关系,并生成智能家居系统处理信息。

在本发明的一种实施例中,所述联动矩阵建立模块包括:

联动矩阵建立子模块,用于建立联动矩阵;所述联动矩阵的行号与所述至少一个联动节点对应,所述联动矩阵的列号与所述至少一个联动节点对应;

元素数值配置子模块,用于根据所述至少一个联动节点两两之间的联动关系,为所述联动矩阵的每一元素配置第一数值或第二数值。

在本发明的一种实施例中,所述联动回路确定模块包括:

第一目标元素确定子模块,用于在所述联动矩阵中,确定所述主对角线上是否存在数值为第二数值的第一目标元素;

第一联动回路确定子模块,当存在所述第一目标元素,将所述第一目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明的一种实施例中,所述联动回路确定模块包括:

第二目标元素确定子模块,用于在所述联动矩阵中,确定是否存在基于主对角线相互对称,且数值为第二数值的第二目标元素;

第二联动回路确定模块,用于当存在所述第二目标元素,将所述第二目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明的一种实施例中,所述联动回路确定模块包括:

第一当前联动矩阵确定模块,用于确定当前联动矩阵;

空置列确定子模块,用于在所述当前联动矩阵中,确定是否存在至少一个空置列;所述空置列为列元素都为第一数值的列;

列序号确定子模块,用于若存在至少一个空置列,则选取其中一个空置列的列序号,并确定该空置列的列序号;

目标行确定子模块,用于确定行序号与所述列序号相同的目标行;

目标行第一数值配置子模块,用于将所述当前联动巨神的目标行中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

空置列确定返回子模块,用于再次执行所述确定是否存在至少一个空置列的步骤,直至不存在未被选取的空置列;

第三目标元素确定子模块,用于当所述联动矩阵中存在至少一个元素的数值为第二数值的列,确定所述联动矩阵中,数值为第二数值的第三目标元素;

第三联动回路确定子模块,用于将所述第三目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明的一种实施例中,所述联动回路确定模块包括:

第四联动回路确定子模块,用于当所述联动矩阵中只存在空置列时,确定所述联动节点之间不存在形成联动回路的联动节点。

在本发明的一种实施例中,所述联动回路确定模块包括:

第二当前联动矩阵确定模块,用于确定当前联动矩阵;

空置行确定子模块,用于在所述当前联动矩阵中,确定是否存在至少一个空置行;所述空置行为行元素都为第一数值的行;

行序号确定子模块,用于若存在至少一个空置行,则选取其中一个空置行,并确定该空置行的行序号;

目标列确定子模块,用于确定列序号与所述行序号相同的目标列;

目标列第一数值配置子模块,用于将所述当前联动矩阵的目标列中各个元素的数值配置为第一数值,并将修改后的当前联动矩阵确定为新的当前联动矩阵;

空置行确定返回子模块,用于再次执行所述确定是否存在至少一个空置行的步骤,直至不存在未被选取的空置行;

第四目标元素确定子模块,用于当所述联动矩阵中存在至少一个元素的数值为第二数值的行,确定所述联动矩阵中,数值为第二数值的第四目标元素;

第五联动回路确定子模块,用于将所述第四目标元素的行号所对应的联动节点以及列号所对应联动节点,确定为形成联动回路的联动节点。

在本发明的一种实施例中,所述所述联动回路确定模块包括:

第六联动回路确定子模块,用于当所述联动矩阵中只存在空置列时,确定所述联动节点之间不存在形成联动回路的联动节点。

对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

以上对本发明所提供的一种智能家居系统联动回路的处理方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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