CN113848866B - 一种智能家居系统联动回路的检测方法及装置 - Google Patents

一种智能家居系统联动回路的检测方法及装置 Download PDF

Info

Publication number
CN113848866B
CN113848866B CN202111359365.XA CN202111359365A CN113848866B CN 113848866 B CN113848866 B CN 113848866B CN 202111359365 A CN202111359365 A CN 202111359365A CN 113848866 B CN113848866 B CN 113848866B
Authority
CN
China
Prior art keywords
linkage
node
nodes
loop
adjacency list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111359365.XA
Other languages
English (en)
Other versions
CN113848866A (zh
Inventor
刘永霞
邵星阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Hisense Smart Life Technology Co Ltd
Original Assignee
Qingdao Hisense Smart Life Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Hisense Smart Life Technology Co Ltd filed Critical Qingdao Hisense Smart Life Technology Co Ltd
Priority to CN202111359365.XA priority Critical patent/CN113848866B/zh
Publication of CN113848866A publication Critical patent/CN113848866A/zh
Application granted granted Critical
Publication of CN113848866B publication Critical patent/CN113848866B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种智能家居系统联动回路的检测方法及装置,用以快速地检测出智能家居系统中的联动回路,避免资源浪费。所述方法包括:根据智能家居系统中至少两个联动节点以及至少两个联动节点之间的联动关系创建联动邻接表;遍历联动邻接表,确定一个或多个路径;其中,每个路径以至少两个联动节点中无入度的联动节点为起点,以至少两个联动节点中无出度的联动节点为终点,以每个路径中各个联动节点的联动关系为路由;若一个或多个路径中,任意一个路径中存在至少出现两次的联动节点,则确定任意一个路径中存在联动回路,以及确定形成联动回路的联动节点;形成联动回路的联动节点为任意一个路径中至少出现两次的联动节点。

Description

一种智能家居系统联动回路的检测方法及装置
技术领域
本申请涉及智能家居技术领域,尤其涉及一种智能家居系统联动回路的检测方法及装置。
背景技术
智能家居系统是当前智能化研究的一个热点,目前智能家居系统具有场景模式和设备联动的功能。场景模式指的是在特定时间或地点,用户习惯做一些设备操作,实现智能设备按照用户的习惯自动执行某些操作。例如用户晚上回家之后选择“回家场景”,此时家中的灯光依次亮起,空调开始工作,电视自动打开。设备联动指的是达到某个特设定条件时,会自动触发某个设备执行,某一项操作。例如用户可以设定卧室房门打开时,自动触发卧室灯光亮起,卧室灯光亮起自动触发卧室电脑开启。
但是在实际使用过程中,用户在设置联动条件时可能会使得多个设备之间出现联动回路。例如,用户设置“开关A打开”会触发“开关B打开”,“开关B打开”会触发“开关C打开”,“开关C打开”会触发“开关A打开”。这三个设置就会导致开关A、B和C之间形成联动回路,开关A、B和C会一直开启造成资源浪费且影响用户的使用体验。
发明内容
本申请示例性的实施方式中提供一种智能家居系统联动回路的检测方法及装置。用以快速地检测出智能家居系统中的联动回路,避免资源浪费的问题。
第一方面,本申请实施例提供了一种智能家居系统联动回路检测方法,包括:
根据智能家居系统中至少两个联动节点以及所述至少两个联动节点之间的联动关系创建联动邻接表;所述联动关系包括联动结果和联动方向,所述至少两个联动节点中存在联动关系的任意两个联动节点根据所述任意两个联动节点之间的联动方向触发联动结果;
遍历所述联动邻接表,确定一个或多个路径;其中,每个路径以所述至少两个联动节点中无入度的联动节点为起点,以所述至少两个联动节点中无出度的联动节点为终点,以所述每个路径中各个联动节点的联动关系为路由;
若所述一个或多个路径中,任意一个路径中存在至少出现两次的联动节点,则确定所述任意一个路径中存在联动回路,以及确定形成联动回路的联动节点;所述形成所述联动回路的联动节点为所述任意一个路径中至少出现两次的联动节点。
基于上述方案,本申请提出了根据智能家居系统中的联动节点以及联动节点之间的联动关系构建联动邻接表,并采用遍历联动邻接表得到的路径来检测智能家居系统中是否存在联动回路,以及确定构成联动回路的联动节点。由于在计算机的底层算法中,处理表格的速度较快,所以采用本申请的方案可以快速地确定联动回路以及构成回路的联动节点,提升了检测联动回路的效率,避免资源浪费。
在一些实施例中,根据智能家居系统中至少两个联动节点以及所述至少两个联动节点之间的联动关系创建联动邻接表,具体包括:
获取所述至少两个联动节点的标识,根据所述至少两个联动节点以及所述至少两个联动节点之间的联动关系建立有向图;所述有向图中包括所述至少两个联动节点以及所述至少两个联动节点之间的联动方向;
将所述有向图转化为所述联动邻接表。
基于上述方案,本申请提出了首先根据联动节点及联动节点之间的联动关系建立有向图,然后将有向图转化为邻接表再进行遍历,遍历表格的速度要比遍历有向图的速度快,所以采用上述方案可以提升检测联动回路的效率。
在一些实施例中,遍历所述联动邻接表,确定一个或多个路径,包括:
遍历所述邻接表中的联动节点,每遍历一个联动节点,则执行下列过程:
将所述联动节点与所述联动节点的出度相邻联动节点组成一个路径,并将所述联动节点绑定设定访问标识;其中,所述设定访问标识用于指示所述联动节点的出度相邻联动节点已被遍历;
判断所述邻接表中的联动节点是否都绑定所述设定访问标识;
若是,则遍历结束;
若不是,则继续遍历未绑定所述设定访问标识的节点。
在一些实施例中,在遍历所述联动邻接表之后,所述方法还包括:
确定所述一个或多个路径中的所有联动节点均包含所述设定访问标识。
基于上述方案,在遍历过程中,为已经没有未被遍历的出度相邻联动节点的各个联动节点配置设定访问标识,遍历完成后可以根据联动节点的标识确定是否完成对整个联动邻接表的遍历。
在一些实施例中,在确定形成所述联动回路的联动节点之后,所述方法还包括:
生成提醒信息,将所述提醒信息推送至用户设备;所述提醒信息用于提示用户所述智能家居系统中存在所述联动回路以及形成所述联动回路的联动节点;或者,
删除至少一个构成所述联动回路的联动节点之间的联动关系,并生成处理信息以向所述用户指示已删除的联动关系。
基于上述方案,确定联动回路之后可以及时进行处理,或者及时通知给用户,提示用户进行处理。
在一些实施例中,在遍历所述智能家居系统的联动邻接表之前,所述方法还包括:
接收用户下发的指示信息;所述指示信息用于指示检测所述智能家居系统中是否存在联动回路;或者,
确定所述用户设置所述智能家居系统中至少两个联动节点之间的任一联动关系。
第二方面,本申请实施例提供了一种智能家居系统联动回路的检测装置,包括:
创建模块,用于根据智能家居系统中至少两个联动节点以及至少两个联动节点之间的联动关系创建联动邻接表;所述联动关系包括联动结果和联动方向,所述至少两个联动节点中存在联动关系的任意两个联动节点根据所述任意两个联动节点之间的联动方向触发联动结果;
遍历模块,用于遍历所述联动邻接表,确定一个或多个路径;其中,每个路径以所述至少两个联动节点中无入度的联动节点为起点,以所述至少两个联动节点中无出度的联动节点为终点,以所述每个路径中各个联动节点的联动关系为路由;
确定模块,用于在所述一个或多个路径中任意一个路径中存在至少出现两次的联动节点时,确定所述任意一个路径中存在联动回路,以及确定形成联动回路的联动节点;所述形成所述联动回路的联动节点为所述任意一个路径中至少出现两次的联动节点。
在一些实施例中,所述创建模块,具体用于:
获取所述至少两个联动节点的标识,根据所述至少两个联动节点以及至少两个联动节点之间的联动关系建立有向图;所述有向图中包括所述至少两个联动节点以及所述至少两个联动节点之间的联动方向;
将所述有向图转化为所述联动邻接表。
在一些实施例中,所述遍历模块,具体用于:
遍历所述邻接表中的联动节点,每遍历一个联动节点,则执行下列过程:
将所述联动节点与所述联动节点的出度相邻联动节点组成一个路径,并将所述联动节点绑定设定访问标识;其中,所述设定访问标识用于指示所述联动节点的出度相邻联动节点已被遍历;
判断所述邻接表中的联动节点是否都绑定所述设定访问标识;
若是,则遍历结束;
若不是,则继续遍历未绑定所述设定访问标识的节点。
在一些实施例中,所述遍历模块在遍历所述联动邻接表之后,还用于:
确定所述一个或多个路径中的所有联动节点均包含所述设定访问标识。
在一些实施例中,所述确定模块在确定形成所述联动回路的联动节点之后,还用于:
生成提醒信息,将所述提醒信息推送至用户设备;所述提醒信息用于提示用户所述智能家居系统中存在所述联动回路以及形成所述联动回路的联动节点;或者,
删除至少一个构成所述联动回路的联动节点之间的联动关系,并生成处理信息以向所述用户指示已删除的联动关系。
在一些实施例中,所述遍历模块在遍历所述智能家居系统的联动邻接表之前,还用于:
接收用户下发的指示信息;所述指示信息用于指示检测所述智能家居系统中是否存在联动回路;或者,
确定所述用户设置所述智能家居系统中至少两个联动节点之间的任一联动关系。
第三方面,本申请实施例提供了一种电子设备,所述电子设备包括控制器和存储器。存储器用于存储计算机执行指令,控制器执行存储器中的计算机执行指令以利用控制器中的硬件资源执行第一方面任一种可能实现的方法的操作步骤。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
另外,第二方面至第四方面的有益效果可以参见如第一方面所述的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种智能家居系统联动回路的检测方法流程示意图;
图3为本申请实施例提供的一种基于智能家居系统构建的有向图;
图4为本申请实施例提供的一种基于智能家居系统构建的联动邻接表;
图5A为本申请实施例提供的一种用于显示提醒信息的显示界面示意图;
图5B为本申请实施例提供的一种用于显示处理信息的显示界面示意图;
图5C为本申请实施例提供的一种用于用户触发检测联动回路的显示界面示意图;
图6为本申请实施例提供的另一种智能家居系统联动回路的检测方法流程示意图;
图7为本申请实施例提供的一种用于智能家居系统联动回路检测的装置结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
在智能家居系统中存在有很多种类的家用智能电器,例如智能门锁、智能电视、智能灯具和智能冰箱等。为了实现智能家居系统中各个电器的智能控制,用户可以会设置各个电器之间的联动关系。例如设置智能电视与智能空调之间的联动关系,打开智能电视的操作可以触发打开智能空调。以设置各个电器之间的联动关系这种方式来实现电器之间的控制,从而实现“一键智控”。为了便于描述,后续将智能家居系统中包括的各类电器简称为联动节点。
为了便于理解本申请提出的方案,首先对本申请涉及的技术用语进行介绍:
(1)联动邻接表:有向图的存储结构,可看成一个二维容器,第一维描述联动节点,即场景;第二维描述联动节点对应的出边,即联动关系。
(2)出度:联动节点的出边条数称为该联动节点的出度。某一个联动节点的出度相邻联动节点指的是与该联动节点相邻且从该联动节点出发的联动节点。
(3)入度:联动节点的入边条数称为该项点的入度。某一个联动节点的入度相邻联动节点指的是与该联动节点相邻且指向该联动节点的联动节点。
(4)联动关系:也可以称为联动条件或者联动动作,即两个联动节点之间的指向关系。例如,开关A打开触发开关B打开,则开关A和开关B之间存在联动关系,且由开关A指向开关B。联动关系是单向的有向路径,可以是以一个联动节点作为起点,指向另一个联动节点的有向路径。
由于用户设置联动关系时可能存在忘记之前设置的联动关系等问题,导致用户新设置的联动关系时可能会导致联动回路的出现。例如,用户已经设置了开关A打开触发开关B打开,以及已经设置了开关B打开触发开关C打开,此时用户新设置了一个联动关系:开关C打开触发开关A打开。那么在开关A、B和C这三个联动节点之间就行成了联动回路,导致开关A、B和C一直打开,浪费资源且影响用户的使用体验。有鉴于此,本申请实施例提供了一种智能家居系统联动回路的检测方法及装置,采用构建联动邻接表、遍历联动邻接表中指示的多条路径的方式快速地检测出系统中存在联动回路并进行处理,避免资源浪费的问题,提升用户的使用体验。
为了便于理解本申请提出的智能家居系统的联动回路检测方案,首先对本申请涉及的系统架构进行简单介绍。例如可以参见图1,为本申请实施例提供的一种系统架构示意图。图1示出的系统中可以包括多个联动节点(即智能家居系统包括的多个家用电器),所述多个联动节点之间可以存在多种联动关系。需要说明的是,图1仅作为一种示例,所述多个联动节点之间的联动关系并未在图1中示出。执行本申请提出的智能家居系统中联动回路检测方案的可以是图1中示出的智能家居系统,所述智能家居系统的功能可以由一个服务器或者服务器集群来实现。所述智能家居系统可以是智能家居系统应用程序的后台服务器。图1示出的系统中还可以包括用户使用的智能终端,例如智能手机或者智能电视机等。智能终端中可以部署有智能家居系统应用程序,智能终端可以响应于用户在智能家居系统应用程序中的操作,向后台服务器(即智能家居系统)发送请求,例如可以是设置联动关系的请求。智能家居系统可以响应该请求,设置联动关系。
下面,结合附图对本申请的方案进行介绍。首先,可以参见图2,为本申请实施例提供的一种智能家居系统联动回路的检测方法流程图,该方法流程图中的各个步骤可以由智能家居系统来执行,智能家居系统的功能可以由一个服务器或者一个服务器集群来实现。智能家居系统检测联动回路的方法流程具体包括:
201,根据智能家居系统中至少两个联动节点和联动节点之间的联动关系创建联动邻接表。
其中,联动关系包括联动结果和联动方向。联动方向指的是两个存在联动关系的联动节点的触发方向,例如联动节点A的一个设定动作会触发联动节点B的一个设定动作,则联动节点A和B之间的联动方向就是由联动节点A指向联动节点B的。联动结果指的是两个存在联动关系的联动节点想要实现触发时的具体动作和触发后的结果,例如联动节点A的关闭可以触发联动节点B的开启,则联动结果可以为联动节点A关闭和联动节点B开启。为了方便理解,以一个具体的家居场景中的例子进行说明:设定家中的灯开启会触发家中的窗帘关闭,那么灯和窗帘之间就存在联动关系,联动方向是由灯指向窗帘,联动结果为灯开启和窗帘关闭。
202,遍历智能家居系统的联动邻接表,确定一个或者多个路径。
可选地,遍历联动邻接表得到的路径可以是以智能家居系统中无入度的联动节点为起点、以无出度的联动节点为终点且以路径中各个联动节点的联动关系为路由的。
可选地,可以从联动邻接表的第一列表中无入度的联动节点作为遍历的起始点,按照联动邻接表中指示的联动关系开始遍历,直至遍历到无出度的联动节点终止,得到一条路径。
203,若一个或多个路径中,任意一个路径中存在至少出现两次的联动节点,则确定该路径中存在联动回路。
其中,形成联动回路的联动节点为存在至少出现两次的联动节点的路径中至少出现两次的联动节点。
作为一种举例,遍历联动邻接表时确定的第一路径为:联动节点A→联动节点B→联动节点C→联动节点D→联动节点B→联动节点C→联动节点D→联动节点B……,可以在第二次出现联动节点B的时候确定该第一路径中存在联动回路,并且在第三次出现联动节点B时统计出现了大于或者等于两次的联动节点为联动节点B、联动节点C和联动节点D,则可以确定构成联动回路的联动节点为联动节点B、联动节点C和联动节点D。
可选地,可以按照上述方法确定遍历联动邻接表所得的所有路径中存在的重复出现的联动节点,确定联动回路以及构成联动回路的联动节点。
基于上述方案,根据智能家居系统中的联动节点以及联动节点之间的联动关系构建联动邻接表,并采用遍历联动邻接表得到的路径来检测智能家居系统中是否存在联动回路,以及确定构成联动回路的联动节点。由于在计算机的底层算法中,处理表格的速度较快,所以采用本申请的方案可以快速地确定联动回路以及构成回路的联动节点,提升了检测联动回路的效率,避免资源浪费。
在一些实施例中,在根据智能家居系统中的联动节点和联动节点之间的联动关系建立联动邻接表时,还可以给联动邻接表的每一行添加编号,不仅方便存储,还可以提升遍历联动邻接表的速度。可选地,可以直接根据智能家居系统中的联动节点和各个联动节点之间的联动关系构建联动邻接表。或者也可以先根据联动节点以及各个联动节点之间的关系构建有向图,然后将构建的有向图转化为联动邻接表。下面以一个具体的实施例介绍构建有向图,以及根据有向图转化联动邻接表的过程进行介绍。
作为一种举例,可以首先获取智能家居系统中包括的所有的联动节点。例如智能家居系统中可以包括联动节点1-联动节点8共八个联动节点。进一步地,可以获取智能家居系统中各个联动节点之间的联动关系,继续上述举例,联动节点1可以通过联动关系r1指向联动节点5,也可以通过联动关系r2指向联动节点3。联动节点2可以通过联动关系r3指向联动节点3,也可以通过联动关系r4指向联动节点4。联动节点3可以通过联动关系r5指向联动节点5,也可以通过联动关系r7指向联动节点7。联动节点4可以通过联动关系r8指向联动节点7。联动节点5可以通过联动关系r10指向联动节点6,也可以通过联动关系r11指向联动节点8。联动节点6可以通过联动关系r6指向联动节点3,也可以通过联动关系r9指向联动节点7,还可以通过联动关系r12指向联动节点8。联动节点7可以通过联动关系r13指向联动节点8。在获取上述的智能家居系统中的联动节点以及各个联动节点之间的联动关系之后,可以确定无出度的联动节点为联动节点8,无入度的联动节点为联动节点1和联动节点2。进而可以根据上述联动关系建立有向图,例如可以参见图3所示的有向图。
再进一步地,在建立有向图之后,可以将有向图转化为联动邻接表。为了方便存储和后续的遍历,在将有向图转化为联动邻接表时,可以为联动邻接表的每一行进行标号。作为一种举例,转化后的联动邻接表可以参见图4所示的联动邻接表。由此完成了联动邻接表的构建,由于在计算机程序中,对于表项的计算较快,所以本申请提出了在构建有向图之后,将有向图转化为联动邻接表再进行遍历,以提升检测联动回路的效率。当然,也可以在构建有向图之后直接进行遍历有向图,本申请对此不做限定。下面以遍历联动邻接表为例继续进行介绍。
在一些实施例中,在构建联动邻接表之后,可以以联动邻接表中无入度的联动节点为起点,按照联动关系进行遍历,例如,在图4所示的联动邻接表中,可以从联动节点1(或者联动节点2)开始遍历,直至遍历到无出度的联动节点,例如,在图4所示的联动邻接表中,遍历的路径的终点即为联动节点8。下面以一个具体的例子介绍遍历联动邻接表的过程。以遍历图4示出的联动邻接表为例:
第一次遍历确定的第一路径为:联动节点1(r2)→联动节点3(r5)→联动节点5(r10)→联动节点6(r6)→联动节点3(r5)→联动节点3(r5)→联动节点5(r10)→联动节点6(r6)→联动节点3(r5)……。可以看出,第一路径中存在出现至少两次的联动节点,所以在联动节点3第二次出现时就可以确定第一路径中存在联动回路,并可以在联动节点3第三次出现时确定构成联动回路的联动节点为联动节点1、联动节点5和联动节点6。
第二次遍历确定的第二路径为:联动节点1(r2)→联动节点3(r5)→联动节点5(r10)→联动节点6(r9)→联动节点7(r13)→联动节点8。在遍历到联动节点8时发现联动节点8无出度,则可以确定第二路径中不存在联动回路。
第三次遍历确定的第三路径为:联动节点1(r2)→联动节点3(r5)→联动节点5(r10)→联动节点6(r12)→联动节点8。同第二次遍历,确定第三路径中不存在联动回路。
第四次遍历确定的第四路径为:联动节点1(r2)→联动节点3(r5)→联动节点5(r11)→联动节点8。同第二次或者第三次遍历,确定第四路径中不存在联动回路。
以此类推,采用上述方法完成遍历联动邻接表获取多条路径,并根据每条路径中是否存在出现至少两次的联动节点确定路径中是否存在联动回路,若存在,可以根据出现至少两次的联动节点确定构成联动回路的联动节点。
在一些实施例中,在进行遍历联动邻接表确定多条路径时,可以对遍历的联动节点进行标记。例如,在上述第二次遍历时,遍历过联动节点1之后,确定联动节点1还存在出度相邻联动节点未被遍历(即联动节点5。由于联动节点3在第一次遍历时已经被遍历,所以联动节点1的出度相邻联动节点中只有联动节点5未被遍历。需要说明的是,联动节点1的出度相邻联动节点是否有被遍历是取决于该联动节点在被遍历时的上一联动节点是否是联动节点1,也就是说虽然联动节点5在第一次遍历时也有被遍历,但并不是从联动节点1指出的,所以可以确定联动节点1的出度相邻联动节点5没有被遍历),可以为联动节点1分配第一设定标识,用于指示联动节点1被遍历但是联动节点1存在没有被遍历的出度相邻联动节点。同理,同样会为联动节点3(存在出度相邻联动节点7未被遍历)、联动节点5(存在出度相邻联动节点8未被遍历)、联动节点6(存在出度相邻联动节点7和出度相邻联动节点8未被遍历)、联动节点7(存在出度相邻联动节点8未被遍历)分配第一设定标识。而由于联动节点8被遍历之后不存在出度相邻联动节点,所以可以为联动节点8分配第二设定标识,以指示联动节点8已经被遍历,且联动节点8不存在未被遍历的出度相邻联动节点。进一步地,在每一次遍历确定一条路径之后,都可以针对该条路径从后向前确认该条路径中的每一个联动节点的标识,以确定该条路径中的联动节点是否存在未被遍历的出度相邻联动节点,若任意一条路径中存在某一联动节点有未被遍历的出度相邻联动节点,则证明并未完成对联动邻接表的遍历。进而可以根据检测到的结果继续进行遍历,直至确定每一条路径中的每一个联动节点的标识均为第二设定标识,才可以确定遍历完成,以此避免漏检的问题。
在一些实施例中,在完成遍历联动邻接表确定联动回路之后,将构成联动回路以告警消息的方式推送给用户,以提示用户智能家居系统中存在联动回路,需及时处理。例如,可以在终端设备上显示如图5A所示的显示界面。在另一些实施例中,完成遍历确定联动回路之后,也可以将构成联动回路的联动节点之间的联动关系删除。可选地,可以将构成联动回路的联动节点之间所有的联动关系均删除,例如上述举例中联动节点3、联动节点5和联动节点6构成联动回路,其联动关系分别为r5、r6和r10,可以将这三个联动关系都删除。删除之后,联动节点3无法触发联动节点5启动,联动节点5也无法触发联动节点6启动,联动节点6也无法触发联动节点3启动,以此消除联动回路。作为另一种可选的方式,也可以将r5、r6和r10这三个联动关系中使用频率最低的联动关系删除,例如,若r5这个联动关系的使用频率最低,则可以将r5删除。删除之后,联动节点3将无法触发联动节点5启动,由此消除了联动节点3、联动节点5和联动节点6构成的联动回路。可选地,还可以在删除联动关系之后,将处理信息推送到用户的终端设备上,以提醒用户为解决联动回路的问题,已删除了某一个或者多个联动关系,例如,可以参见图5B所示的显示界面。
在一些实施例中,可以响应于用户设置了一个新的联动关系的操作,启动检测智能家居系统中是否存在联动回路。或者,可以在接收到用户下发的检测指令后,启动检测联动回路。例如,可以提供如图5C所示的显示界面,并响应于用户选择图5C所示的显示界面中包括的控件501的操作,确定接收到检测指令,启动检测联动回路。
下面,为了更进一步理解本申请提出的方案,参见图6,为本申请实施例提供的一种智能家居系统的联动回路检测方法,具体包括:
601,接收用户下发的检测联动回路的指令。
具体的接收指令的过程可以参见上述实施例中的介绍,在此不再进行赘述。
602,获取智能家居系统中的联动节点以及联动节点之间的联动关系,构建联动邻接表。
可选地,可以直接根据获取的智能家居系统中的联动节点以及联动节点之间的联动关系构建联动邻接表,联动邻接表中包括任一联动节点的所有联动关系。或者,也可以先根据智能家居系统中的联动节点以及联动节点之间的联动关系构建有向图,例如可以参见图3所示的有向图,然后再将有向图转化为联动邻接表。
603,遍历联动邻接表,确定多条路径。
可选地,在遍历过程中还可以为遍历的联动节点分配设定标识,例如可以参见上述实施例中介绍的为联动节点分配第一设定标识和第二设定标识的过程。在确定某一路径之后,可以从后向前检查该路径中各个联动节点的标识是否为第二设定标识,以此确定是否完成遍历联动邻接表。若每一条路径中的任一联动节点的标识均为第二设定标识,则可以确定完成遍历联动邻接表。
604,若多条路径中的第一路径中存在至少出现两次的联动节点,则确定第一路径中存在联动回路。
605,将第一路径中至少出现两次的联动节点确定为构成联动回路的联动节点。
606,根据构成联动回路的联动节点生成提醒信息推送到用户的终端设备。
可选地,还可以删除构成联动回路的联动节点之间的联动关系,然后生成处理信息发送到用户的终端设备,具体可以参见上述实施例中的介绍,在此不再进行赘述。
基于与上述方法的同一构思,参见图7,为本申请实施例提供的一种用于实现智能家居系统联动回路检测的装置700。装置700可以执行上述方法中的各个步骤,为了避免重复,在此不再进行赘述。装置700包括:创建模块701、遍历模块702和确定模块703。
创建模块701,用于根据智能家居系统中至少两个联动节点以及联动节点之间的联动关系创建联动邻接表;所述联动关系包括联动结果和联动方向,所述至少两个联动节点中存在联动关系的任意两个联动节点根据所述任意两个联动节点之间的联动方向触发联动结果;
遍历模块702,用于遍历所述联动邻接表,确定一个或多个路径;其中,每个路径以所述至少两个联动节点中无入度的联动节点为起点,以所述至少两个联动节点中无出度的联动节点为终点,以所述每个路径中各个联动节点的联动关系为路由;
确定模块703,用于在所述一个或多个路径中任意一个路径中存在至少出现两次的联动节点时,确定所述任意一个路径中存在联动回路,以及确定形成联动回路的联动节点;所述形成所述联动回路的联动节点为所述任意一个路径中至少出现两次的联动节点。
在一些实施例中,所述创建模块701,具体用于:
获取所述至少两个联动节点的标识,根据所述至少两个联动节点以及联动之间的联动关系建立有向图;所述有向图中包括所述至少两个联动节点以及所述至少两个联动节点之间的联动方向;
将所述有向图转化为所述联动邻接表。
在一些实施例中,所述遍历模块702,具体用于:
遍历所述邻接表中的联动节点,每遍历一个联动节点,则执行下列过程:
将所述联动节点与所述联动节点的出度相邻联动节点组成一个路径,并将所述联动节点绑定设定访问标识;其中,所述设定访问标识用于指示所述联动节点的出度相邻联动节点已被遍历;
判断所述邻接表中的联动节点是否都绑定所述设定访问标识;
若是,则遍历结束;
若不是,则继续遍历未绑定所述设定访问标识的节点。
在一些实施例中,所述遍历模块702在遍历所述联动邻接表之后,还用于:
确定所述一个或多个路径中的所有联动节点均包含所述设定访问标识。
在一些实施例中,所述确定模块703在确定形成所述联动回路的联动节点之后,还用于:
生成提醒信息,将所述提醒信息推送至用户设备;所述提醒信息用于提示用户所述智能家居系统中存在所述联动回路以及形成所述联动回路的联动节点;或者,
删除至少一个构成所述联动回路的联动节点之间的联动关系,并生成处理信息以向所述用户指示已删除的联动关系。
在一些实施例中,所述遍历模块702在遍历所述智能家居系统的联动邻接表之前,还用于:
接收用户下发的指示信息;所述指示信息用于指示检测所述智能家居系统中是否存在联动回路;或者,
确定所述用户设置所述智能家居系统中至少两个联动节点之间的任一联动关系。
图8示出了本申请实施例提供的电子设备800结构示意图。本申请实施例中的电子设备800还可以包括通信接口803,该通信接口803例如是网口,电子设备可以通过该通信接口803传输数据,例如通信接口803可以实现上述图7中的确定模块703的部分功能,比如将提醒信息推送至用户设备。
在本申请实施例中,存储器802存储有可被至少一个控制器801执行的指令,至少一个控制器801通过执行存储器802存储的指令,可以用于执行上述方法中的各个步骤,例如,控制器801可以实现上述图7中的创建模块701、遍历模块702以及确定模块703的功能。
其中,控制器801是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器802内的指令以及调用存储在存储器802内的数据。可选的,控制器801可包括一个或多个处理单元,控制器801可集成应用控制器和调制解调控制器,其中,应用控制器主要处理操作系统和应用程序等,调制解调控制器主要处理无线通信。可以理解的是,上述调制解调控制器也可以不集成到控制器801中。在一些实施例中,控制器801和存储器802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
控制器801可以是通用控制器,例如中央控制器(CPU)、数字信号控制器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用控制器可以是微控制器或者任何常规的控制器等。结合本申请实施例所公开的数据统计平台所执行的步骤可以直接由硬件控制器执行完成,或者用控制器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对控制器801进行设计编程,例如,可以将前述实施例中介绍的神经网络模型的训练方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的神经网络模型训练方法的步骤,如何对控制器801进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的控制器以产生一个机器,使得通过计算机或其它可编程数据处理设备的控制器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种智能家居系统联动回路的检测方法,其特征在于,包括:
根据智能家居系统中至少两个联动节点以及所述至少两个联动节点之间的联动关系创建联动邻接表;所述联动关系包括联动结果和联动方向,所述至少两个联动节点中存在联动关系的任意两个联动节点根据所述任意两个联动节点之间的联动方向触发联动结果;
遍历所述联动邻接表,确定一个或多个路径;其中,每个路径以所述至少两个联动节点中无入度的联动节点为起点,以所述至少两个联动节点中无出度的联动节点为终点,以所述每个路径中各个联动节点的联动关系为路由;
若所述一个或多个路径中,任意一个路径中存在至少出现两次的联动节点,则确定所述任意一个路径中存在联动回路,以及确定形成联动回路的联动节点;所述形成所述联动回路的联动节点为所述任意一个路径中至少出现两次的联动节点;
所述遍历所述联动邻接表,确定一个或多个路径,包括:
遍历所述联动邻接表中的联动节点,每遍历一个联动节点,则执行下列过程:
将所述联动节点与所述联动节点的出度相邻联动节点组成一个路径,并将所述联动节点绑定设定访问标识;其中,所述设定访问标识用于指示所述联动节点的出度相邻联动节点已被遍历;
判断所述联动邻接表中的联动节点是否都绑定所述设定访问标识;
若是,则遍历结束;
若不是,则继续遍历未绑定所述设定访问标识的节点。
2.如权利要求1所述的方法,其特征在于,根据智能家居系统中至少两个联动节点以及所述至少两个联动节点之间的联动关系创建联动邻接表,具体包括:
获取所述至少两个联动节点的标识,根据所述至少两个联动节点及所述至少两个联动节点之间的联动关系建立有向图;所述有向图中包括所述至少两个联动节点以及所述至少两个联动节点之间的联动方向;
将所述有向图转化为所述联动邻接表。
3.如权利要求1所述的方法,其特征在于,在遍历所述联动邻接表之后,所述方法还包括:
确定所述一个或多个路径中的所有联动节点均包含所述设定访问标识。
4.如权利要求1或2所述的方法,其特征在于,在确定形成所述联动回路的联动节点之后,所述方法还包括:
生成提醒信息,将所述提醒信息推送至用户设备;所述提醒信息用于提示用户所述智能家居系统中存在所述联动回路以及形成所述联动回路的联动节点;或者,
删除至少一个构成所述联动回路的联动节点之间的联动关系,并生成处理信息以向所述用户指示已删除的联动关系。
5.如权利要求1或2所述的方法,其特征在于,在遍历所述智能家居系统的联动邻接表之前,所述方法还包括:
接收用户下发的指示信息;所述指示信息用于指示检测所述智能家居系统中是否存在联动回路;或者,
确定所述用户设置所述智能家居系统中至少两个联动节点之间的任一联动关系。
6.一种智能家居系统联动回路的检测装置,其特征在于,包括:
创建模块,用于根据智能家居系统中至少两个联动节点以及所述至少两个联动节点之间的联动关系创建联动邻接表;所述联动关系包括联动结果和联动方向,所述至少两个联动节点中存在联动关系的任意两个联动节点根据所述任意两个联动节点之间的联动方向触发联动结果;
遍历模块,用于遍历所述联动邻接表,确定一个或多个路径;其中,每个路径以所述至少两个联动节点中无入度的联动节点为起点,以所述至少两个联动节点中无出度的联动节点为终点,以所述每个路径中各个联动节点的联动关系为路由;
确定模块,用于在所述一个或多个路径中任意一个路径中存在至少出现两次的联动节点时,确定所述任意一个路径中存在联动回路,以及确定形成联动回路的联动节点;所述形成所述联动回路的联动节点为所述任意一个路径中至少出现两次的联动节点;
所述遍历模块,具体用于:
遍历所述联动邻接表中的联动节点,每遍历一个联动节点,则执行下列过程:
将所述联动节点与所述联动节点的出度相邻联动节点组成一个路径,并将所述联动节点绑定设定访问标识;其中,所述设定访问标识用于指示所述联动节点的出度相邻联动节点已被遍历;
判断所述联动邻接表中的联动节点是否都绑定所述设定访问标识;
若是,则遍历结束;
若不是,则继续遍历未绑定所述设定访问标识的节点。
7.如权利要求6所述的装置,其特征在于,所述创建模块,具体用于:
获取所述至少两个联动节点的标识,根据所述至少两个联动节点以及所述至少两个联动节点之间的联动关系建立有向图;所述有向图中包括所述至少两个联动节点以及所述至少两个联动节点之间的联动方向;
将所述有向图转化为所述联动邻接表。
8.如权利要求6所述的装置,其特征在于,所述遍历模块在遍历所述联动邻接表之后,还用于:
确定所述一个或多个路径中的所有联动节点均包含所述设定访问标识。
CN202111359365.XA 2021-11-17 2021-11-17 一种智能家居系统联动回路的检测方法及装置 Active CN113848866B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111359365.XA CN113848866B (zh) 2021-11-17 2021-11-17 一种智能家居系统联动回路的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111359365.XA CN113848866B (zh) 2021-11-17 2021-11-17 一种智能家居系统联动回路的检测方法及装置

Publications (2)

Publication Number Publication Date
CN113848866A CN113848866A (zh) 2021-12-28
CN113848866B true CN113848866B (zh) 2023-10-24

Family

ID=78984487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111359365.XA Active CN113848866B (zh) 2021-11-17 2021-11-17 一种智能家居系统联动回路的检测方法及装置

Country Status (1)

Country Link
CN (1) CN113848866B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118540B (zh) * 2022-06-28 2024-09-27 顾晏 一种基于物联网技术的家庭安防系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104680031A (zh) * 2015-03-18 2015-06-03 联想(北京)有限公司 一种联动规则生成方法和装置
CN105407089A (zh) * 2015-10-29 2016-03-16 青岛海尔智能家电科技有限公司 一种应用场景创建的检测方法及装置
CN109782705A (zh) * 2018-12-17 2019-05-21 青岛海信智慧家居系统股份有限公司 一种智能家居系统联动回路的处理方法和装置
CN109782613A (zh) * 2018-12-17 2019-05-21 青岛海信智慧家居系统股份有限公司 一种智能家居系统联动回路的处理方法和装置
CN111381582A (zh) * 2020-03-11 2020-07-07 杭州涂鸦信息技术有限公司 一种联动规则测试方法及装置
CN112214331A (zh) * 2020-10-14 2021-01-12 成都昆朋新能科技有限公司 一种基于智能家居的联动死循环避免算法
CN113238855A (zh) * 2021-07-13 2021-08-10 浙江大华技术股份有限公司 一种路径检测方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104680031A (zh) * 2015-03-18 2015-06-03 联想(北京)有限公司 一种联动规则生成方法和装置
CN105407089A (zh) * 2015-10-29 2016-03-16 青岛海尔智能家电科技有限公司 一种应用场景创建的检测方法及装置
CN109782705A (zh) * 2018-12-17 2019-05-21 青岛海信智慧家居系统股份有限公司 一种智能家居系统联动回路的处理方法和装置
CN109782613A (zh) * 2018-12-17 2019-05-21 青岛海信智慧家居系统股份有限公司 一种智能家居系统联动回路的处理方法和装置
CN111381582A (zh) * 2020-03-11 2020-07-07 杭州涂鸦信息技术有限公司 一种联动规则测试方法及装置
CN112214331A (zh) * 2020-10-14 2021-01-12 成都昆朋新能科技有限公司 一种基于智能家居的联动死循环避免算法
CN113238855A (zh) * 2021-07-13 2021-08-10 浙江大华技术股份有限公司 一种路径检测方法及装置

Also Published As

Publication number Publication date
CN113848866A (zh) 2021-12-28

Similar Documents

Publication Publication Date Title
US11782590B2 (en) Scene-operation method, electronic device, and non-transitory computer readable medium
CN111176133A (zh) 一种智能家居场景的确定方法及装置
CN105306318B (zh) 智能场景配置方法、装置和服务器
CN109753034B (zh) 一种控制方法、装置、电子设备及存储介质
CN105334809B (zh) 一种自动控制方法及装置
CN114244644B (zh) 智能家居的控制方法和装置、存储介质、电子装置
CN113330424B (zh) 指令处理方法、装置、电子设备以及存储介质
CN105871666A (zh) ZigBee设备的添加方法及装置
CN113848866B (zh) 一种智能家居系统联动回路的检测方法及装置
CN109918273A (zh) 一种数据显示方法、装置、终端设备及存储介质
CN107346115B (zh) 一种智能设备的控制方法、控制终端和智能设备
CN113434844A (zh) 智能场景的搭建方法、装置、存储介质、电子设备
CN104898930A (zh) 智能终端工作场景的设置方法及系统
CN115167164A (zh) 设备场景的确定方法和装置、存储介质及电子装置
CN114465935A (zh) 为网络系统生成网络拓扑图的方法及相关设备
CN116027937A (zh) 待编辑组件的渲染方法和装置、存储介质及电子装置
CN112672277B (zh) 配网方法及配网系统
CN109782613B (zh) 一种智能家居系统联动回路的处理方法和装置
CN112667334A (zh) 设备控制信息的配置方法、装置、电子设备及存储介质
CN113596235A (zh) 操作指令的下发方法和装置、存储介质及电子装置
CN111162980A (zh) 用于场景控制的方法、装置及手机
CN105636089A (zh) 无线局域网络的接入控制方法和接入控制装置
CN104168497A (zh) 一种电视的智能盒子的控制方法及装置
CN104918307B (zh) 一种终端
CN114666779B (zh) 设备连接方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant