CN115113534A - 场景执行方法和装置、存储介质及电子装置 - Google Patents
场景执行方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN115113534A CN115113534A CN202210612566.4A CN202210612566A CN115113534A CN 115113534 A CN115113534 A CN 115113534A CN 202210612566 A CN202210612566 A CN 202210612566A CN 115113534 A CN115113534 A CN 115113534A
- Authority
- CN
- China
- Prior art keywords
- scene
- execution
- target
- target scene
- local area
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 230000001960 triggered effect Effects 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims description 51
- 238000004891 communication Methods 0.000 claims description 27
- 238000013475 authorization Methods 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 22
- 238000007726 management method Methods 0.000 description 18
- 238000012544 monitoring process Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004080 punching Methods 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000004887 air purification Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 235000019504 cigarettes Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2642—Domotique, domestic, home control, automation, smart house
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种场景执行方法和装置、存储介质及电子装置,涉及智能家居技术领域,该方法包括:确定第一设备的使用对象触发执行目标场景,其中,所述第一设备为所述目标场景的场景触发设备;在所述第一设备与用于执行所述目标场景的第二设备之间建立有动态连接的情况下,通过所述动态连接向所述第二设备发送场景执行指令,其中,所述场景执行指令用于指示所述第二设备执行所述目标场景,通过本申请,解决了相关技术中的场景执行方法存在由于场景执行的链路长导致的场景从触发到执行的时延长的问题。
Description
技术领域
本申请涉及自然语言处理领域,具体而言,涉及一种场景执行方法和装置、存储介质及电子装置。
背景技术
目前,对于手动触发类的边缘场景,用户可以手动触发边缘场景的执行,在场景触发设备和场景所在设备(即,边缘场景所在的设备)为同一设备时,可以直接在设备本地执行触发的边缘场景,而在场景触发设备和场景所在设备为不同设备时,需要通过云端将场景执行指令中转给场景所在设备,以便场景所在设备执行触发的边缘场景。
然而,通过云端中转场景执行指令的方式,边缘场景执行的链路长,导致边缘场景从触发到执行需要较长的时延,进而降低了用户的使用体验。由此可见,相关技术中的场景执行方法,存在由于场景执行的链路长导致的场景从触发到执行的时延长的问题。
发明内容
本申请实施例提供了一种场景执行方法和装置、存储介质及电子装置,以至少解决相关技术中的场景执行方法存在由于场景执行的链路长导致的场景从触发到执行的时延长的问题。
根据本申请实施例的一个方面,提供了一种场景执行方法,包括:确定第一设备的使用对象触发执行目标场景,其中,所述第一设备为所述目标场景的场景触发设备;在所述第一设备与用于执行所述目标场景的第二设备之间建立有动态连接的情况下,通过所述动态连接向所述第二设备发送场景执行指令,其中,所述场景执行指令用于指示所述第二设备执行所述目标场景。
根据本申请实施例的另一个方面,还提供了一种场景执行装置,包括:第一确定单元,用于确定第一设备的使用对象触发执行目标场景,其中,所述第一设备为所述目标场景的场景触发设备;第一发送单元,用于在所述第一设备与用于执行所述目标场景的第二设备之间建立有动态连接的情况下,通过所述动态连接向所述第二设备发送场景执行指令,其中,所述场景执行指令用于指示所述第二设备执行所述目标场景。
在一个示例性实施例,所述装置还包括以下至少之一:第一建立单元,用于在所述第一设备和所述第二设备在本地局域网内处于可连通状态的情况下,根据所述第二设备的设备信息,建立所述第一设备与所述第二设备之间的本地局域网连接,其中,所述动态连接包括所述本地局域网连接;第二建立单元,用于根据所述第一设备的公网连接出口信息,建立所述第一设备与所述第二设备之间的对等网络连接,其中,所述动态连接包括所述对等网络连接。
在一个示例性实施例,所述装置还包括以下至少之一:第二发送单元,用于在所述第一设备所在的本地局域网内发送第一广播包,其中,所述第一广播包中携带有所述第二设备的设备标识以及所述目标场景的场景标识;第二确定单元,用于在接收到所述第二设备响应与所述第一广播包返回的目标应答消息的情况下,确定所述第一设备和所述第二设备在本地局域网内处于可连通状态,并提取出所述目标应答消息中携带的所述第二设备的设备信息;第三确定单元,用于在接收到所述第二设备在本地局域网内发送的第二广播包的情况下,确定所述第一设备和所述第二设备在所述本地局域网内处于可连通状态,并提取出所述第二广播包中携带的所述第二设备的设备信息。
在一个示例性实施例,所述第二建立单元包括:建立模块,用于在所述第一设备和所述第二设备在本地局域网内处于不连通状态、或者所述第一设备和所述第二设备建立本地局域网连接失败的情况下,根据所述第一设备的公网连接出口信息,建立所述第一设备与所述第二设备之间的所述对等网络连接。
在一个示例性实施例,所述装置还包括以下至少之一:第四确定单元,用于在所述确定第一设备的使用对象触发执行目标场景之后,根据所述第一设备保存的本地局域网连接信息,确定所述第一设备与所述第二设备之间建立有本地局域网连接,其中,所述动态连接包括所述本地局域网连接;第五确定单元,用于根据所述第一设备保存的对等网络连接信息,确定所述第一设备与所述第二设备之间建立有对等网络连接,其中,所述动态连接包括所述对等网络连接。
在一个示例性实施例中,场景执行指令中携带有所述使用对象的对象授权信息以及所述目标场景的场景标识;所述装置还包括:校验单元,用于在所述通过所述动态连接向所述第二设备发送场景执行指令之后,在根据所述目标场景的场景标识确定所述第二设备上运行有所述目标场景的情况下,根据所述使用对象的对象授权信息对所述使用对象执行所述目标场景的执行权限进行校验,得到所述使用对象的权限校验结果;执行单元,用于在所述使用对象的权限校验结果指示所述使用对象具有所述目标场景的执行权限的情况下,在所述第二设备上执行所述目标场景,得到所述目标场景的场景执行结果。
在一个示例性实施例,该装置还包括:第三发送单元,用于在所述第一设备与所述目标场景的第二设备之间未建立动态连接、或者建立的所述动态连接处于异常状态的情况下,向云端服务器发送场景执行请求,其中,所述场景执行请求用于请求所述云端服务器控制用于执行所述目标场景的设备执行所述目标场景。
在一个示例性实施例,所述装置还包括:接收单元,用于在所述确定第一设备的使用对象触发执行目标场景之前,接收云端服务器发送的场景通知消息,其中,所述场景通知消息中携带有所述第一设备允许触发的所述目标场景的场景标识以及用于指示所述目标场景的所述第二设备的设备标识;保存单元,用于保存所述目标场景的场景标识以及所述第二设备的设备标识之间的场景执行关系。
在一个示例性实施例,所述第一确定单元包括:第一确定模块,用于在通过所述第一设备的触控面板检测到对所述触控面板上显示的目标交互页面执行的场景触发操作的情况下,确定所述使用对象触发执行所述目标场景;第二确定模块,用于在接收终端设备上的目标应用发送的场景触发指令的情况下,确定所述使用对象触发执行所述目标场景;第三确定模块,用于在通过所述第一设备上的语音采集部件采集到所述使用对象的场景触发数据的情况下,确定所述使用对象触发执行所述目标场景;第四确定模块,用于在通过所述第一设备上的第一近场通信模块接收到第二近场通信模块发送的场景触发指令的情况下,确定所述使用对象触发执行所述目标场景。
根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述场景执行方法。
根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的场景执行方法。
在本申请实施例中,采用通过场景触发设备和场景所在设备之间建立的动态连接传输场景执行指令的方式,通过确定第一设备的使用对象触发执行目标场景,其中,第一设备为目标场景的场景触发设备;在第一设备与用于执行目标场景的第二设备之间建立有动态连接的情况下,通过动态连接向第二设备发送场景执行指令,其中,场景执行指令用于指示第二设备执行目标场景,由于在场景触发设备和场景之间设备之间建立有动态连接时,由场景触发设备通过建立的动态连接将场景执行指令发送给场景所在设备,无需再经由云端将场景执行指令发送给场景所在设备,可以实现减少边缘场景执行链路的目的,达到了缩短场景从触发到执行的时延、提高场景执行效率的技术效果,进而解决了相关技术中的场景执行方法存在由于场景执行的链路长导致的场景从触发到执行的时延长的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的一种可选的场景执行方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的场景执行方法的流程示意图;
图3是根据本申请实施例的另一种可选的场景执行方法的流程示意图;
图4是根据本申请实施例的又一种可选的场景执行方法的流程示意图;
图5是根据本申请实施例的又一种可选的场景执行方法的流程示意图;
图6是根据本申请实施例的又一种可选的场景执行方法的流程示意图;
图7是根据本申请实施例的一种可选的场景执行装置的结构框图;
图8是根据本申请实施例的一种可选的电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一个方面,提供了一种场景执行方法。该场景执行方法广泛应用于智慧家庭(SmartHome)、智能家居、智能家用设备生态、智慧住宅(IntelligenceHouse)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述场景执行方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(WirelessFidelity,无线保真),蓝牙。终端设备102可以并不限定于为PC、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
本申请实施例的场景执行方法可以由终端设备102来执行,也可以由终端设备102和服务器104共同执行。其中,终端设备102执行本申请实施例的场景执行方法也可以是由安装在其上的客户端来执行。
以由终端设备102来执行本实施例中的场景执行方法为例,图2是根据本申请实施例的一种可选的场景执行方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤S202,确定第一设备的使用对象触发执行目标场景,其中,第一设备为目标场景的场景触发设备。
本实施例中的场景执行方法可以应用到通过场景触发设备触发边缘场景并在场景所在设备中执行边缘场景的过程中,场景可以是包含设备操作序列,该设备操作序列中可以包含多个联动的设备操作,边缘场景可以是不依赖云端或者互联网数据的、并且可以在边缘设备上执行的场景,边缘设备可以是物联网中非云端的设备,例如,触控面板(也称智慧屏)、智能家具设备、网关等。边缘场景可以分为自动执行类场景和手动触发类场景。自动执行类在创建之初就可以调度到边缘执行,执行过程中在本地局域网络中即可完成。手动触发类场景的触发端和执行端可以为相同的设备,也可以为不同的设备。在触发端和执行端为不同的设备时,需要根据触发端和执行端的情况自适应的选择触发执行路径。这里,触发端即场景触发设备,可以是场景执行的发起设备,执行端即场景所在设备,可以是场景规则所在的设备,此设备上可以运行边缘计算引擎,在边缘计算引擎中可以加载场景规则,并按照场景规则运行边缘场景。场景触发设备和场景所在设备均可以属于边缘设备,本实施例中对于场景触发设备和场景所在设备的类型不做限定。
这里,为了触发或者执行边缘场景,边缘设备需要具备的能力可以包括但不限于以下至少之一:触发场景执行的能力、运行边缘计算引擎,具备足够能力的计算引擎的版本,支持场景规则的能力,支持场景执行能力。
在本实施例中,对于目标场景,该目标场景可以是一种边缘场景,目标场景的场景触发设备可以为第一设备,即,第一设备可以是有权触发目标场景的边缘设备,其可以为一个家庭的使用对象触发目标场景的设备,也可以是其他设备。使用对象可以是用于表示第一设备的使用者,该使用者可以是与第一设备具有绑定关系的用户,也可以是有执行目标场景需求的其他使用者。
在本实施例中,第一设备可以确定其使用对象触发执行目标场景。其中,第一设备可以通过检测到目标场景的场景触发操作,直接确定其使用对象触发执行目标场景。目标场景的场景触发操作可以是由使用对象在第一设备上直接执行的操作,通过第一设备的面板或其他检测部件(例如,语音采集部件)所检测到的场景触发操作,第一设备确定触发执行目标场景。
此外,第一设备也可以通过接收到目标场景的场景触发指令,间接确定其使用对象触发执行目标场景。目标场景的场景触发指令可以是终端设备发送到第一设备的。响应于使用对象在终端设备上选择的待触发的目标场景,终端设备可以生成目标场景的场景触发指令,确定该目标场景的场景触发设备为第一设备,并向第一设备发送目标场景的场景触发指令。响应于接收到目标场景的触发指令,第一设备可以确定触发执行目标场景。
例如,针对一个手动触发类场景X,用户可以通过场景触发设备A的面板上的交互界面、手机APP(Application,应用)、语音、近场通信等方式,在场景触发设备A上触发场景X的执行。
步骤S204,在第一设备与用于执行目标场景的第二设备之间建立有动态连接的情况下,通过动态连接向第二设备发送场景执行指令,其中,场景执行指令用于指示第二设备执行目标场景。
相关技术中,一些智能设备(例如,智慧屏)、网关类设备等已具备边缘场景的运行能力,这些设备可以成为边缘设备。边缘场景主要分为自动执行类场景和手动触发类场景,其中,自动执行类场景在创建时可以调度到边缘设备执行,执行过程中在本地局域网络中即可完成。对于手动触发类场景,此类场景可以通过用户手动触发场景执行。
针对手动触发类场景的执行,在手动触发执行时,通常只在边缘场景所在的边缘设备上触发本机上运行的边缘场景时在本地执行。如果涉及到跨设备(场景触发设备和场景所在设备为不同边缘设备,例如,跨面板或网关)执行,场景触发设备需要通过云端场景执行服务中转给场景所在设备,以由场景所在设备执行边缘场景。然而,通过云端中转存在链路长所导致的时延长的问题。
此外,当前在边缘设备上执行边缘场景的好处体现在边缘场景在本地执行时不受公网异常波动的影响,场景执行时延小、体验好,隐私和敏感数据在本地存储不上传到云端。然而,对于跨设备执行的边缘场景,由于需要通过云端中转给场景所在设备来执行场景,在出现公网异常波动、外网断开或云端场景执行服务不可用时,会出现场景执行中断或出现场景执行异常的情况,无法保证场景的正常执行。
这里,云端服务器上可以提供云端场景执行服务和云端场景管理服务,其中,云端场景执行服务用于控制边缘场景的执行,可以负责执行云端场景规则或接收执行请求并调用边缘计算引擎执行场景规则,云端场景管理服务可以用于调度边缘场景、管理边缘场景的场景相关信息,例如,记录边缘场景的场景触发设备、边缘场景的场景所在设备等,可以负责对场景规则进行管理、调度和监控。
在本实施例中,通过动态连接实现场景触发设备和场景所在设备为不同设备时的场景执行,即,在边缘场景跨设备执行时,场景触发设备可将场景执行指令通过与场景所在设备之间的动态连接发送给场景所在设备,而不需要经过云端,可以保证在公网异常波动或外网断开或云端场景执行服务不可用的情况下,正常地执行场景,同时解决场景执行时延路长、执行时延长的问题。
这里,动态连接可以是不经过云端服务器的连接方式,比如,可以是不经过云端场景执行服务的连接方式,可以是本地局域网连接、P2P(Peerto Peer,点对点)连接或其他连接方式。
在本实施例中,对于目标场景,第一设备可以确定目标场景的场景所在设备为第二设备,第二设备可以为满足目标场景运行条件的边缘设备,与第一设备可以是不同的设备,也可以是同一个设备。在第一设备和第二设备为不同设备时,第一设备可以确定与第二设备之间是否建立有动态连接,这里的动态连接可以是在确定触发目标场景之前已经建立的,也可以是确定触发目标场景之后建立的,本实施例中对此不做限定。
可选地,第一设备与第二设备是否建立动态连接,可以根据保存的动态连接信息确定。第一设备可以查询本机内部存储的动态连接信息,根据是否查找到与第二设备对应的动态连接信息,确定与第二设备之间是否建立有动态连接。
在确定第一设备与第二设备之间建立有动态连接的情况下,第一设备可以通过动态连接向第二设备发送场景执行指令。场景执行指令可以用于指示第二设备执行目标场景,可以包括第一设备的设备标识,即,第一设备标识,不同的设备标识可以用于区分不同的设备。
可选地,第二设备可以接收到场景执行指令,响应于场景执行指令,可以在执行一些校验操作(例如,检验目标场景是否运行在本设备、校验执行目标场景的权限等)且校验成功之后,通过其上的边缘计算引擎启动并执行目标场景,得到目标场景的场景执行结果。第二设备还可以从场景执行指令中提取第一设备标识,并根据第一设备标识向第一设备发送场景执行指令的第一应答消息,第一应答消息中可以携带目标场景的场景执行结果(可以是执行失败、执行成功,还可以包括其他信息)。在接收到目标场景的场景执行结果之后,第一设备可以在本设备上展示目标场景的场景执行结果。
例如,场景X的场景触发设备为设备A,场景所在设备为设备B。用户通过设备A触发场景X后,设备A根据存储在本机的动态连接信息确定存在动态连接。则,设备A可以通过已经建立的动态连接,向场景X所在的设备B发送执行场景X的指令,执行场景时可以提交用设备A的设备标识。设备B收到设备A执行场景X的指令之后,经过一些校验操作且校验成功之后,设备B启动场景X的执行,执行完成后,上报执行结果和执行日志给设备A。设备A接收到场景X的执行结果后,给用户展示执行结果。
通过上述步骤S202至S204,确定第一设备的使用对象触发执行目标场景,其中,第一设备为目标场景的场景触发设备;在第一设备与用于执行目标场景的第二设备之间建立有动态连接的情况下,通过动态连接向第二设备发送场景执行指令,其中,场景执行指令用于指示第二设备执行目标场景,解决了相关技术中的场景执行方法存在由于场景执行的链路长导致的场景从触发到执行的时延长的问题,缩短了边缘场景从触发到执行的时延。
在一个示例性实施例中,上述方法还包括以下至少之一:
S11,在第一设备和第二设备在本地局域网内处于可连通状态的情况下,根据第二设备的设备信息,建立第一设备与第二设备之间的本地局域网连接,其中,动态连接包括本地局域网连接;
S12,根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接,其中,动态连接包括对等网络连接。
在本实施例中,在将目标场景调度到第二设备、以及第一设备确定其可以触发目标场景之后,可以根据第一设备是否对目标场景本地局域网可控,即,目标场景的本地局域网可控情况,建立第一设备和第二设备之间的动态连接。可选地,目标场景的场景所在设备的数量可以为多个,即,第二设备的数量可以为多个(在此情况下,目标场景包含由不同设备执行的设备操作),第一设备可以依次与相应的第二设备建立动态连接。这里,第一设备对目标场景本地局域网可控,也称为第一设备与目标设备所在的第二设备本地局域网可控,是指第一设备对目标场景所在的第二设备在本地局域网可发现或者可连通。
可选地,场景调度可以是将场景调度到场景所在设备中进行场景的执行。目标场景的场景调度的过程可以是:计算新创建或变更的目标场景到合适的边缘计算引擎所在的设备(即,第二设备),并将边缘场景规则调度到第二设备的边缘计算引擎中启动运行。调度结束后,可以通知有权触发目标场景执行的第一设备,第一设备对目标场景以及第二设备的设备标识(即,第二设备标识)进行保存。
例如,云端的场景管理服务可以调度场景X到边缘设备B,设备B收到场景X的规则之后,在边缘计算引擎中加载并运行场景X,并给场景管理服务上报场景X的加载运行情况(包括成功/失败、失败原因)。同时,开启对本地局域网广播发现场景X的监听。云端的场景管理服务还可以计算有权触发(通常为同一个家庭的用户触发场景设备,也可以是基于其他的权限规则)场景X执行的触发场景设备,并给所有触发场景设备(即,设备A)下发场景变动通知,通知内容包括“场景标识、场景所在的设备B的标识”。设备A对场景X的基本信息(包括场景X的标识、场景X所在的设备B的标识)进行保存。
第一设备还可以进行本地发现场景,即,在本地局域网内发现场景第二设备以及第二设备上的目标场景,并保存第二设备的局域网通信方式,第二设备的局域网通信方式可以包括但不限于以下至少之一:第二设备的IP(Internet Protocol,网际互连协议)和端口(例如,执行监听端口)。
例如,设备A可以在本地发现场景,实现设备A在局域网内发现场景X所在的设备B以及设备B上的场景X,并保存设备B的局域网通信方式。
第一设备和第二设备之间的动态连接可以包括但不限于以下至少之一:本地局域网连接,对等网络连接,这里,对等网络连接可以是公网P2P(Peerto Peer,点对点)连接。动态连接的选择可以按照动态连接策略来确定。动态连接策略可以是优先建立本地局域网连接,无法建立本地局域网连接时,则建立对等网络连接,也可以是分别建立本地局域网连接和对等网络连接,还可以是优先建立对等网络连接,无法建立对等网络连接时,则建立本地局域网连接。
作为一种可选的实施方式,第一设备可以确定与第二设备在本地局域网内的可连通状态(即,目标场景的本地局域网可控情况),如果两者在本地局域网内处于可连通状态(即,第一设备对目标场景本地局域网可控),可以根据第二设备的设备信息,建立第一设备与第二设备之间的本地局域网连接。其中,第二设备的设备信息可以包括但不限于以下至少之一:第二设备的IP,第二设备的端口和第二设备标识。
可选地,第一设备可以通过在本地发现场景的过程中保存的第二设备的IP和端口建立本地局域网连接,建立连接时可以提供鉴权需要的信息,通常为用户token(令牌)。第二设备收到第一设备的连接请求后,对第一设备进行鉴权,鉴权通过后建立与场景触发设备的局域网连接,否则,拒绝连接。建立连接之后,第一设备具有可以通过本地局域网连接控制目标场景的能力,以及目标场景上报执行日志给第一设备的能力。
例如,设备A与场景X所在的设备B局域网可控的情况下,设备A通过保存的场景X所在的设备B的IP和端口建立与设备B本地局域网连接,建立连接时可以提供鉴权需要的信息,通常为用户的token。建立连接后,设备A具备通过本地局域网连接控制场景X的能力以及场景X上报执行日志给设备A的能力。
作为另一种可选的实施方式,第一设备可以根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接。第一设备可以通过云端服务器(或者,云端的场景管理服务)作为中转获取第一设备的公网连接出口信息,从而具备打洞能力,从而建立第一设备和第二设备之间的P2P连接。
考虑到受限于运营商的网络策略,P2P连接可能会受限,动态连接策略可以是:优先建立本地局域网连接,在无法建立本地局域网连接时,则建立对等网络连接。例如,按照动态连接策略,可以优先建立局域网连接,局域网不可控,再建立对等网络连接。
例如,设备A可根据场景X是否为局域网可控,判断是否需要建立局域网连接。若场景X本地局域网可控,设备A通过保存的设备B的IP和端口建立本地局域网连接,建立连接时需提供鉴权需要的信息,通常为用户token。设备B收到设备A的连接请求后,对设备A进行鉴权,鉴权通过后建立与场景触发设备的局域网连接。若场景X本地局域网不可控,则按照动态连接策略,建立对等网络连接。设备A通过场景管理服务作为中转可以获得场景触发设备的公网连接出口信息,从而具备打洞的能力,建立设备A与设备B的P2P连接。
可选地,在第一设备和第二设备之间同时建立有本地局域网连接和对等网络连接时,可以选择其中的一个来发送场景执行指令,即,通过两种连接中的其中之一执行场景,也可以通过两种连接同时发送场景执行指令,即,同时通过本地局域网连接和P2P连接执行场景。为了避免场景重复执行,可以通过去重策略执行场景,例如,在场景执行指令中携带指令标识,在确定已接收到具有该指令标识的场景执行指令时,丢弃当前接收到的场景执行指令。
可选地,对于触发场景设备和场景所在设备的资源均受限的情况,可以在建立动态连接时仅考虑本地局域网通信,即,仅考虑建立本地局域网连接,而不建立对等网络连接。此外,场景触发设备可以保存建立的本地局域网连接信息,也可以保存建立的对等网络连接信息。
通过本实施例,通过建立本地局域网连接和对等网络连接中的至少之一来建立场景触发设备和场景所在设备之间的动态连接,可以实现通过本地局域网和对等公网执行场景,缩短场景执行时延和时延。
在一个示例性实施例中,上述方法还包括以下至少之一:
S21,在第一设备所在的本地局域网内发送第一广播包,其中,第一广播包中携带有第二设备的设备标识以及目标场景的场景标识;
S22,在接收到第二设备响应与第一广播包返回的目标应答消息的情况下,确定第一设备和第二设备在本地局域网内处于可连通状态,并提取出目标应答消息中携带的第二设备的设备信息;
S23,在接收到第二设备在本地局域网内发送的第二广播包的情况下,确定第一设备和第二设备在本地局域网内处于可连通状态,并提取出第二广播包中携带的第二设备的设备信息。
在本实施例中,在本地发现场景时,可以由场景触发设备主动广播发现边缘场景的场景所在设备、并基于是否接收到场景所在设备的应答确定边缘场景本地局域网可控情况,也可以由场景所在设备主动在局域网广播,场景触发设备监听接收到场景所在设备的广播并进行保存,从而确定边缘场景本地局域网可控情况。本地发现场景的上述两种方式可以单独存在,也可以同时存在。
作为一种可选的实施方式,场景触发设备可以在局域网主动广播并监控是否收到场景所在设备的应答。此过程一般设计为周期性进行,以便及时发现局域网场景所在设备。例如,设备A已知其有权控制的场景X的标识和场景X所在的设备B的标识,在局域网主动广播并监控是否收到场景X所在的设备B的应答,从而确定场景X本地局域网可控情况。
对于第一设备,确定第一设备和第二设备在本地局域网内是否处于可连通状态可以通过第二设备是否可以收到第一设备的广播来判断。第一设备可以在第一设备所在的本地局域网内广播第一广播包。第一广播包可以是第一设备主动发出的广播包,第一广播包可以携带有第二设备的设备标识(即,第二设备标识)以及目标场景的场景标识。
基于第一设备与第二设备之间网络拓扑结构的差异,发送第一广播包将会产生不同的结果。当第一设备与第二设备在同一个局域网时,第二设备通过监听可以收到第一设备发出的第一广播包,并响应于接收到的第一广播包,向第一设备发送目标应答消息。当第一设备与第二设备不在同一个局域网时,第二设备通过监听无法收到第一设备发出的广播包,从而不会对第一设备的广播包进行应答。因此,可以基于是否接收到第二设备的应答消息,确定第一设备和第二设备是否在同一局域网络中。
在第一设备和第二设备处于同一局域网中时,第二设备可以收到第一设备的第一广播包,解析第一广播包中携带的第二设备标识,若第二设备标识与当前设备标识相同,则进一步根据目标场景的场景标识检查目标场景是否运行在当前设备的边缘计算引擎,若运行在当前设备的边缘计算引擎,则对第一设备对目标场景的执行权限(或者说触发权限)进行校验,若具备执行权限,则向第一设备发送目标应答消息。目标应答消息中可以携带有第二设备的设备信息,可以包括但不限于以下至少之一:第二设备的设备IP,执行监听端口,第二设备标识,目标场景的场景标识。
第一设备在接收到目标应答消息之后,可以确定第一设备和第二设备在本地局域网内处于可连通状态,还可以提取出目标应答消息中携带的第二设备的设备信息,提取的第二设备的设备信息可以补充保存目标场景的本地局域网所在的场景所在设备(即,第二设备)的设备信息,可以包括设备IP、执行监听端口等。
例如,设备A根据有权控制的场景X的标识和场景X所在的设备B的标识,周期性地在局域网主动广播并监控是否收到场景X所在的设备B的应答。当设备A与设备B在同一个局域网时,设备B通过监听可以收到设备A发出的广播包。设备B收到设备A的本地局域网广播后,解析广播消息获取设备标识,若设备标识与当前设备标识相同,则进一步进行相关的判断处理,判断合格后,可以向设备A应答场景所在设备的信息,包括设备IP、执行监听端口、设备B标识、场景X标识。场景X所在的设备B未收到场景触发设备A的广播时,进行持续监听,对不在当前设备上运行的边缘场景的广播包不做应答。
设备A收到应答结果后,可以确定设备A和设备B在同一局域网络中,补充保存场景X的本地局域网所在设备信息,包括设备IP、执行监听端口;如果未收到设备B的应答消息,可以确定设备A和设备B不在同一局域网中。设备A可以在局域网收到场景所在设备B发送的应答时,可以称之为设备A对场景X本地局域网可控。若场景所在设备B未收到设备A的广播时,进行持续的监听,对不再当前设备上运行的边缘场景不做应答。
作为另一种可选的实施方式,场景所在设备可以主动在局域网广播,场景触发设备监听接收到场景所在设备的广播并进行保存,从而确定边缘场景本地局域网可控情况。
对于第二设备,第二设备可以主动在本地局域网内发送第二广播包,第二广播包中可以携带有第二设备的设备信息,可以包括但不限于以下至少之一:第二设备的设备IP,第二设备的执行监听端口,第二设备标识、目标场景的场景标识。如果第一设备和第二设备处于同一局域网内,则第一设备可以接收到第二设备广播的第二广播包,如果第一设备和第二设备未处于同一局域网内,则第一设备无法接收到第二设备广播的广播包,因此,第一设备可以基于是否接收到第二设备的广播包确定目标场景本地局域网可控情况。
对于第一设备,第一设备如果接收到第二设备在本地局域网内发送的第二广播包,可以确定第一设备和第二设备在本地局域网内处于可连通状态,并可以提取并保存第二广播包中携带的第二设备的设备信息。
例如,场景X所在的设备B可以主动在本地局域网内广播,设备A监听接收到设备B的广播,表示设备A与设备B处于同一个局域网,设备A可以通过解析广播消息,获取并保存场景X的本地局域网所在设备信息,包括设备IP、执行监听端口。
通过本实施例,通过场景触发设备在局域网广播消息并基于是否接收到场景所在设备的应答的方式和是否接收到场景所在设备在局域网内的广播消息的方式中的至少一种确定边缘场景本地局域网可控情况,可以提高本地发现场景的准确性。
在一个示例性实施例中,根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接,包括:
S31,在第一设备和第二设备在本地局域网内处于不连通状态、或者第一设备和第二设备建立本地局域网连接失败的情况下,根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接。
在本实施例中,为了提高场景执行的成功率,可以首先判断第一设备和第二设备在本地局域网内是否处于连通状态,如果是,则尝试建立第一设备与第二设备的本地局域网连接,如果否,则可以根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接。如果第一设备和第二设备建立本地局域网连接失败,也可以根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接。根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接与前述实施例中类似,在此不做赘述。
可选地,判断第一设备和第二设备在本地局域网内是否处于连通状态的方式可以是:在第一设备发出第一广播包后的一段时间(可以是第一预定时长)内,未收到第二设备的应答消息,可以认为第一设备和第二设备在本地局域网内处于不连通状态(目标场景在本地局域网不可控);在确定其对目标场景可控之后的一定时间(可以是第二预定时长)内未收到第二设备的广播包,可以认为第一设备和第二设备在本地局域网内处于不连通状态。
需要说明的是,在P2P网络连接中,由于不存在客户端与服务器这样严格的区分,每个节点可以同时充当着客户端和服务器,各个节点之间是平等的。因此,在建立P2P连接后,第一设备和第二设备之间可以实现消息互传。在场景触发设备和场景所在设备不在同一网络(本地局域网)、且云端场景服务不可用时,通过建立对等网络连接,可以保证边缘场景触发执行的准确性。
通过本实施例,在场景触发设备和场景所在设备无法建立本地局域网连接时,通过建立两者之间的对等网络连接,可以保证边缘场景触发执行的准确性。
在一个示例性实施例中,在确定第一设备的使用对象触发执行目标场景之后,上述方法还包括以下至少之一:
S41,根据第一设备保存的本地局域网连接信息,确定第一设备与第二设备之间建立有本地局域网连接,其中,动态连接包括本地局域网连接;
S42,根据第一设备保存的对等网络连接信息,确定第一设备与第二设备之间建立有对等网络连接,其中,动态连接包括对等网络连接。
在本实施例中,可以预先建立第一设备和第二设备之间的动态连接,第一设备可以保存建立的动态连接信息。建立的动态连接可以包括但不限于以下至少之一:本地局域网连接,对等网络连接,建立本地局域网连接或者对等网络连接的方式与前述实施例中类似,在此不做赘述。对应地,保存的动态连接信息可以包括但不限于以下至少之一:本地局域网连接信息,对等网络连接信息。
作为一种可选的实施方式,第一设备可以查找本地保存的本地局域网连接信息,如果查找到与第二设备对应的本地局域网连接信息,确定第一设备与第二设备之间建立有本地局域网连接。
作为另一种可选的实施方式,第一设备可以查找本地保存的对等网络连接信息,如果查找到与第二设备对应的对等网络连接信息,确定第一设备与第二设备之间建立有对等网络连接。
通过本实施例,通过预先建立动态连接并保存建立的动态连接信息,从而可以通过查找建立的动态连接信息确定与场景所在设备之间是否建立有动态连接,可以缩短场景执行时延。
在一个示例性实施例中,场景执行指令中携带有使用对象的对象授权信息以及目标场景的场景标识;在通过动态连接向第二设备发送场景执行指令之后,上述方法还包括:
S51,在根据目标场景的场景标识确定第二设备上运行有目标场景的情况下,根据使用对象的对象授权信息对使用对象执行目标场景的执行权限进行校验,得到使用对象的权限校验结果;
S52,在使用对象的权限校验结果指示使用对象具有目标场景的执行权限的情况下,在第二设备上执行目标场景,得到目标场景的场景执行结果。
在本实施例中,第一设备向第二设备发送的场景执行指令中可以携带有目标场景的场景标识,以便第二设备确定待执行的场景。为了提高场景执行的安全性,场景执行指令中还可以携带有使用对象的对象授权信息,以便第二设备校验使用对象是否有权限执行目标场景。此外,场景执行指令中还可以携带上述第一设备标识。
在本实施例中,在第一设备通过已经建立的动态连接向第二设备发送场景执行指令之后,第二设备可以接收到场景执行指令,并对收到的场景执行指令进行响应,可以校检并执行场景执行指令所指示的目标场景。可选地,第二设备可以从场景执行指令中提取目标场景的场景标识,并根据目标场景的场景标识确定待执行的目标场景运行在本设备上。比如,可以检查目标场景是否运行在当前设备的边缘计算引擎上。若运行在当前设备的边缘计算引擎上,确定当前设备能够执行目标场景,则继续执行后续过程,否则,确定当前设备不能执行目标场景,给第一设备应答,告知目标场景执行失败,例如,第二设备不存在目标场景的错误。
例如,设备A向场景X所在的设备B发送执行场景X的指令,执行场景时可以提交用户授权信息、场景标识、设备A标识。设备B收到设备A执行场景X的指令之后,检查场景X是否运行在当前设备的边缘计算引擎。若运行在当前边缘计算引擎,则继续执行后续过程,否则,给设备A应答,设备B上不存在场景X的错误。
如果确定第二设备上运行有目标场景,第二设备可以根据使用对象的对象授权信息对使用对象对目标场景的执行权限进行校验,比如,检查使用对象是否有权限执行目标场景,如果有权限执行目标场景,则继续后续过程,如果没有权限执行目标场景(即,使用对象没有目标场景的执行权限),给第一设备应答,告知目标场景执行失败,例如,使用对象无权执行目标场景的错误。
例如,若运行在当前边缘计算引擎,设备B可以继续检查用户是否有权限执行场景X,若有权限执行,则继续后续过程,否则,给设备A应答用户无权执行场景X。
本实施例中,在使用对象的权限校验结果指示使用对象具有目标场景的执行权限的情况下,可以在第二设备上执行目标场景,得到目标场景的场景执行结果。例如,若使用对象有权限执行目标场景,第二设备可以启动目标场景的执行,执行完成后,第二设备可以上报目标场景的场景执行结果给第一设备,还可以上报目标场景的执行日志给第一设备,目标场景的场景执行结果和执行日志可以是通过第一应答消息发送的。
第一设备接收到第一应答消息之后,可以向使用对象展示目标场景的执行结果,此外,如果收到告知目标场景执行失败的应答之后,也可以向使用对象展示目标场景执行失败的指示信息。这里,第二设备向第一设备上报目标场景的场景执行结果、告知目标场景执行失败等可以是根据场景执行指令中携带的第一设备标识发送的。
例如,设备B启动场景X的执行,执行完成后,上报执行结果和执行日志给设备A。设备A接收到场景X的执行结果后,给用户展示执行结果(例如,设备B上不存在场景X的错误、用户无权执行场景X、执行结果和执行日志)。
通过本实施例,通过检查本设备是否运行有待执行场景、以及使用对象是否有场景的执行权限,可以提高场景执行的安全性,还可以保证场景执行的准确性。
在一个示例性实施例中,上述方法还包括:
S61,在第一设备与目标场景的第二设备之间未建立动态连接、或者建立的动态连接处于异常状态的情况下,向云端服务器发送场景执行请求,其中,场景执行请求用于请求云端服务器控制用于执行目标场景的设备执行目标场景。
在本实施例中,对于第一设备与目标场景的第二设备之间未建立动态连接、或者建立的动态连接处于异常状态的情况,可以向云端服务器发送场景执行请求,通过云端中转实现目标场景的执行。场景执行请求用于请求云端服务器控制用于执行目标场景的设备执行目标场景。场景执行请求中可以携带有第一设备标识,还可以携带有目标场景的场景标识、使用对象的对象授权信息,第二设备标识中的至少之一。
可选地,当确定与第二设备之间不存在动态连接或者连接状态异常时,第一设备可以通过提交使用对象的对象授权信息、目标场景的场景标识和第一设备标识,请求云端服务器(例如,云端场景执行服务)执行目标场景。
云端服务器可以接收第一设备发送的场景执行请求,响应于接收到的场景执行请求,根据场景执行请求中携带的场景标识,确定第一设备请求执行的场景为目标场景,还可以确定目标场景的场景所在设备为第二设备。确定目标场景的场景所在设备为第二设备可以是根据预先保存的边缘场景与边缘场景的场景所在设备之间的对应关系确定的,也可以是根据场景执行请求中携带的第二设备标识确定的。
为了保证场景执行的安全性,云端服务器可以根据使用对象的对象授权信息对使用对象是否有执行目标场景的权限进行验证(即,鉴权)。若确定使用对象有执行目标场景的权限(即,鉴权通过),云端服务器可以向第二设备下发执行目标场景的指令,比如,第二执行指令,对应地,前述场景执行指令可以为第一执行指令,第二执行指令中可以携带有目标场景的场景标识。若确定使用对象没有执行目标场景的权限(即,鉴权失败),可以向第一设备应答使用对象无权执行目标场景的错误。
可选地,目标场景的场景执行可以是由云端场景执行服务控制的。在接收到第一设备发送的场景执行请求后,云端场景执行服务可以通过调用云端场景管理服务查询到目标场景的场景所在设备为第二设备和有权执行目标场景的预设对象的相关信息。使用预设对象的相关信息对使用对象的对象授权信息进行鉴权,检查使用对象是否有权执行目标场景。若鉴权通过,确认使用对象有权执行目标场景,云端场景执行服务可以给第二设备下发执行目标场景的指令(指令中可以携带有目标场景的场景标识),否则,给第一设备应答使用对象无权执行目标场景的错误。
例如,设备A根据存储在本机的动态连接信息,判断是否存在动态连接并对动态连接的状态进行诊断。若不存在动态连接或者连接的状态是异常的,设备A请求云端场景执行服务执行场景X,执行场景时需提交用户授权信息、场景标识、场景触发设备A标识。云端场景执行服务接收到设备A发送的执行场景X的请求后,通过场景管理服务查询到场景X所在的设备B、以及有权执行场景的用户,对请求中的用户授权信息进行鉴权,检查用户是否有权执行场景X。若有权执行场景X,则给设备B下发执行场景X的指令(指令包括场景X的标识),否则,给设备A应答无权执行的错误。
可选地,收到第二执行指令之后,第二设备可以检查目标场景是否运行在当前设备的边缘计算引擎,通过检查结果确认是否执行目标场景。若运行在当前边缘计算引擎,则启动目标场景的执行。否则,给云端服务器(例如,云端场景执行服务)应答,以指示第二设备上不存在目标场景的错误。目标场景执行完成之后,第二设备可以上报执行结果给云端服务器。云端服务器接收到目标场景的执行结果之后,可以保存目标场景的执行结果,比如,保存在云端场景执行服务,并给第一设备应答执行结果。此外,第二设备可以上报执行日志,执行日志的处理方式与执行结果类似,在此不做赘述。
例如,设备B收到云端执行场景X的指令之后,检查场景X是否运行在当前设备的边缘计算引擎。若运行在当前设备的边缘计算引擎,则启动场景X的执行,执行完成后,上报执行结果和执行日志给云端场景执行服务,否则,给云端场景执行服务应答设备B上不存在场景X的错误。云端场景执行服务接收到场景X的执行结果和执行日志后,在场景执行服务中保存场景X的执行结果和执行日志,并给场景触发设备A应答执行结果,还可以应答执行日志。
通过本实施例,通过在动态连接未建立或处于异常时,通过云端中转执行场景,可以提高场景执行的成功率,确保场景的正常执行。
在一个示例性实施例中,在确定第一设备的使用对象触发执行目标场景之前,上述方法还包括:
S71,接收云端服务器发送的场景通知消息,其中,场景通知消息中携带有第一设备允许触发的目标场景的场景标识以及用于指示目标场景所在的第二设备的设备标识;
S72,保存目标场景的场景标识以及第二设备的设备标识之间的场景执行关系。
在本实施例中,在确定第一设备的使用对象触发执行目标场景之前,在目标场景被创建或变更(例如,用户通过应用创建或变更场景X)之后,云端服务器可以从所有满足场景运行条件的边缘设备中选取一个边缘设备作为目标场景的场景所在设备,并调度目标场景到第二设备上,调度目标场景到第二设备上可以是:调度目标场景的边缘场景规则到第二设备的边缘计算引擎。
例如,当用户通过应用创建或变更场景X时,云端场景管理服务从所有满足场景运行条件的边缘设备中选择拥有边缘计算引擎并具备运行场景规则能力的设备作为边缘场景所在的设备B,并将场景X调度到设备B上。
第二设备获取到目标场景的边缘场景规则之后,可以在其边缘计算引擎中加载并运行目标场景,并将目标场景的加载合运行情况(包括成功/失败、失败原因)上报给云端服务器。
例如,设备B收到场景X的场景规则之后,在边缘计算引擎中加载并运行场景X,并给场景管理服务上报场景X的加载和运行情况(包括成功/失败、失败原因)。
在确定将目标场景调度到第二设备之后、或者确定目标场景成功调度到第二设备之后,云端服务器可以向第一设备发送场景通知消息,场景通知消息可以携带有第一设备允许触发的目标场景的场景标识以及用于指示目标场景所在的第二设备的设备标识。接收到场景通知消息之后,第一设备可以对目标场景的基本信息进行保存。这里的基本信息可以包括目标场景的场景标识以及用于指示目标场景所在的第二设备的设备标识(即,第二设备标识)。
例如,云端场景管理服务可以计算有权触发(通常为同一个家庭的用户触发场景设备,也可以是基于其他的权限规则)场景执行的设备A,并给所有设备A下发场景变动通知,通知内容包括“场景标识、场景所在的设备B标识”。设备A对场景X的基本信息(包括场景X的标识、场景X所在的设备B的标识)进行保存。
通过本实施例,通过场景通知消息通知设备有权触发的边缘场景以及边缘场景的场景所在设备,可以提高场景调度的效率。
在一个示例性实施例中,确定第一设备的使用对象触发执行目标场景,包括:
S81,在通过第一设备的触控面板检测到对触控面板上显示的目标交互页面执行的场景触发操作的情况下,确定使用对象触发执行目标场景;
S82,在接收终端设备上的目标应用发送的场景触发指令的情况下,确定使用对象触发执行目标场景;
S83,在通过第一设备上的语音采集部件采集到使用对象的场景触发数据的情况下,确定使用对象触发执行目标场景;
S84,在通过第一设备上的第一近场通信模块接收到第二近场通信模块发送的场景触发指令的情况下,确定使用对象触发执行目标场景。
在本实施例中,确定第一设备的使用对象触发执行目标场景的方式可以有多种,可以包括但不限于以下至少之一:
方式一:在第一设备的触控面板检测到对触控面板上显示的目标交互页面执行的场景触发操作的情况下,确定使用对象触发执行目标场景。
第一设备的触控面板可以是智慧屏或者智慧面板,在第一设备的触控面板可以显示有目标交互页面,该目标交互页面可以是使用对象和第一设备进行信息交换的通道,其可以是允许第一设备触发的边缘场景的场景显示页面,还可以是允许第一设备执行的边缘场景的场景显示界面,本实施例中对于目标交互页面不做限定。
在目标交互页面中可以显示有与目标场景匹配的场景信息,例如,场景图标。使用对象可以通过对目标交互页面中与目标场景匹配的场景信息执行第一触发操作,触发执行目标场景。响应于检测到的第一触发操作,第一设备可以确定触发执行的场景为目标场景。
方式二:在接收终端设备上的目标应用发送的场景触发指令的情况下,确定使用对象触发执行目标场景。
第一设备可以通过网络与终端设备进行连接。终端设备上可以与运行有目标应用,终端设备可以是手机、平板、笔记本电脑等,目标应用可以是与边缘设备对应的应用,即,App,例如,手机App。目标应用的应用界面上可以显示有交互页面,可以是上述目标交互界面,也可以是其他交互界面,其可以是使用对象有权执行的边缘场景的场景显示页面,还可以是其他显示界面,本实施例中对此不做限定。
在目标应用显示的交互页面中可以显示有与目标场景匹配的场景信息,例如,场景图标。在需要执行目标场景时,使用对象可以对目标应用显示的交互页面中与目标场景匹配的场景信息执行第二触发操作,触发执行目标场景。响应于检测到的第二触发操作,目标应用可以确定待执行目标场景,确定目标场景的场景触发设备为第一设备,并向第一设备发送场景触发指令,以指示第一设备触发目标场景。第一设备接收到场景触发指令之后,可以确定使用对象触发目标场景。
方式三:在通过第一设备上的语音采集部件采集到使用对象的场景触发数据的情况下,确定使用对象触发执行目标场景。
第一设备内部可以设置有语音采集部件,语音采集部件可以实现电和声的转换,可以进行信号的接收、采集和整理等,可以把采集到的、接收到的语音进行转换,转换成信号数据,其可以是麦克风、麦克风阵列等。在需要执行目标场景时,使用对象可以发出场景触发语音,该语音中可以包含用于指示待触发的目标场景的场景信息,例如,目标场景的场景标识等。
当语音采集部件采集到使用对象所发出的场景触发语音之后,即,检测到的使用对象的语音输入操作,可以对输入的场景触发语音进行解析,确定使用对象触发目标场景。可选地,对场景触发语音进行解析可以是在第一设备本地执行的,也可以是第一设备将场景触发语音发送给云端之后,由云端执行的,本实施例中对此不做限定。
方式四:在通过第一设备上的第一近场通信模块接收到第二近场通信模块发送的场景触发指令的情况下,确定使用对象触发执行目标场景。
第一设备上还可以设置有第一NFC(NearField Communication,近场通信)模块,该第一NFC模块可以是与目标场景匹配的NFC模块(专门用于触发目标场景的NFC模块),也可以是与使用对象对应的NFC模块(用于触发与使用对象对应的边缘场景的NFC模块)。通过第一NFC模块或者第一NFC模块结合其他模块(例如,触控面板、语音采集部件等),可以触发目标场景。
可选地,在需要执行目标场景时,使用对象可以使用与第一NFC模块匹配的第二NFC模块(例如,NFC卡片)靠近第一NFC模块,在通过第一NFC模块检测到第二NFC模块时,响应于检测到的第二NFC模块(或者说,第二NFC模块的靠近操作),或者,响应于检测到的第二NFC模块、结合其他信息(例如,通过触控面板选择的待执行场景),确定使用对象触发执行目标场景。
通过本实施例,通过多种方式触发场景触发设备触发执行边缘场景,可以提高场景边缘场景触发的便捷性和灵活性。
下面结合可选示例对本申请实施例中的场景执行方法进行解释说明。在本实施例中,第一设备为设备A,第二设备为设备B,目标场景为场景X,云端服务器包括云端场景管理服务和云端场景执行服务。
相关技术中,手动触发类边缘场景在执行时,如果触发场景的设备和执行场景的设备不是同一设备,需要通过云端场景执行服务进行中转,向场景所在设备下发场景执行指令。上述通过云端中转场景执行指令的方式,在公网异常波动或外网断开的情况下,边缘场景无法稳定可靠的执行,边缘场景执行时链路长,执行时延长,并且,在在触发场景的设备和执行场景的设备不在同一网络云端、切场景服务不可用时,边缘场景无法触发执行。
本可选示例中提供了一种边缘场景执行方法,针对手动触发类场景,在需要跨设备执行时,根据触发端和执行端的拓扑结构、网络连通状况自适应选择触发执行路径,优先通过本地完成:在本地局域网络可联通时自动通过本地网络执行,在本地局域网络不可联通时自动通过云端p2p通道网络执行,在p2p通道网络也不可用的情况下,通过云端中转给边缘场景所在的边缘设备执行场景。
在本可选实例中,边缘场景的执行方法可分为四个阶段:场景调度,本地发现场景,建立动态连接,执行场景,其中,场景调度为将场景X调度到设备B的过程,本地发现场景为设备A在本地局域网中发现场景X的场景所在设备的过程,建立动态连接是建立设备A和设备B的动态连接的过程,而执行场景是通过设备A触发场景X,并由设备B执行场景X的过程。
如图3所示,在场景调度阶段,本可选示例中的边缘场景的执行方法的流程可以包括以下步骤:
步骤S302,用户配置场景X,***调度场景X运行在设备B。
当用户通过应用创建或变更场景X时,云端场景管理服务从所有满足场景运行条件的边缘设备选择具备边缘计算引擎并且具备运行场景规则能力的设备B作为边缘场景所在设备。
步骤S304,调度场景X到设备B,设备B的边缘计算引擎运行场景X。
云端将场景X的场景规则下发给设备B,以将场景X调度到设备B上。设备B将场景X的场景规则在设备B的边缘计算引擎启动运行,以运行场景X,并给场景管理服务上报场景X的加载运行情况(包括成功/失败、失败原因)。
同时,设备B可以开启对本地局域网广播发现场景X的监听,和/或,在本地局域网广播本设备的设备信息。
步骤S306,调度场景完成后,通知家庭下所有的设备A“场景X变动”。
云端场景管理服务可以计算有权触发场景执行的触发场景设备,即,设备A,并给所有的设备A下发场景变动通知,通知内容可以包括“场景标识、场景所在的设备B的标识”。
步骤S308,设备A接收通知并进行处理。
设备A对场景X的基本信息(可以包括场景X的标识、场景X所在的设备B的标识)进行保存。
如图4所示,在本地发现场景阶段,本可选示例中的边缘场景的执行方法的流程可以包括以下步骤:
步骤S402,设备A主动广播发现场景X。
设备A已知其有权控制的场景X的标识和场景X所在的设备B的标识,在局域网主动广播并监控是否收到场景X所在的设备B的应答。此过程一般为周期性进行,以便及时在本地局域网内发现场景X所在的设备。
步骤S404,判断设备A与场景所在的设备B是否在同一局域网络,如果是,执行步骤S406,否则,执行步骤S408。
基于设备A与设备B之间网络拓扑结构的差异,将会产生不同的结果。当设备A与设备B在同一个局域网时,设备B通过监听可以收到设备A发出的广播包,则设备A和设备B在同一局域网络中,否则,设备A和设备B不在同一局域网中。
步骤S406,设备B收到设备A的广播后发送应答。
设备B收到设备A的本地局域网广播后,解析广播消息获取设备标识,若设备标识与当前设备标识相同,则进一步判断处理,否则,丢弃消息。检查场景X是否运行在当前设备的边缘计算引擎,若运行在当前引擎则进一步处理,否则,丢弃消息。对设备A对场景X的执行权限进行校验,若具备执行权限,则进一步处理,否则,丢弃消息。向设备A应答场景所在设备的信息,可以包括设备IP、执行监听端口、设备B的标识、场景X的标识。
步骤S408,设备B未收到设备A的广播则不做应答。
设备B未收到设备A的广播时,进行持续监听,对不在当前设备上运行的边缘场景不做应答。
步骤S410,设备A保存应答结果。
设备A收到应答结果后,补充保存场景X的本地局域网所在设备信息,包括设备IP、执行监听端口。设备A可以在局域网收到设备B发送的应答时,可以称为设备A对场景X本地局域网可控。
如图5所示,在建立动态连接阶段,本可选示例中的边缘场景的执行方法的流程可以包括以下步骤:
步骤S502,设备A根据场景X本地局域网可控情况开始建立动态连接。
设备A根据在场景调度阶段确定的其有权控制的场景X和在本地发现场景阶段确定的场景X局域网可控情况,依次与相应的场景X所在的设备B建立动态连接。
步骤S504,判断场景X是否在局域网可控,如果是,执行步骤S506,否则,执行步骤S510。
设备A根据场景X是否局域网可控,判定是否需要建立局域网连接。若是本地局域网可控,则进入步骤S506所述流程,否则,进入步骤S510所述流程。
步骤S506,设备A与设备B建立本地局域网连接。
在设备A对场景X本地局域网可控的情况下,设备A通过在本地发现场景阶段所保存的设备B的IP和端口建立本地局域网连接,建立连接时可以提供鉴权需要的信息。建立连接后,设备A具备通过本地局域网连接控制场景X的能力以及设备B具备上报场景X的执行日志给设备A的能力。
步骤S508,设备B与设备A建立本地局域网连接。
设备B收到设备A的连接请求后,对设备A进行鉴权,鉴权通过后建立与设备A之间的本地局域网连接,否则,拒绝连接。
步骤S510,设备A尝试与设备B建立公网P2P连接。
设备A通过场景管理服务作为中转可以获得设备A的公网连接出口信息,从而具备打洞的能力,建立设备A与设备B的P2P连接。
步骤S512,保存动态连接情况。
设备A保存建立的动态连接情况,可以包括以下至少之一:设备A和设备B的本地局域网连接信息和P2P连接信息。
如图6所示,在执行场景阶段,本可选示例中的边缘场景的执行方法的流程可以包括以下步骤:
步骤S602,用户在设备A上触发场景X执行。
用户可以通过场景触发设备的交互界面、NFC或语音等方式触发场景X的执行。
步骤S604,设备A判断动态连接是否存在,如果是,执行步骤S616,否则,执行步骤S606。
设备A根据存储在本机的动态连接信息,判断是否存在动态连接并对动态连接的状态进行诊断。若存在动态连接而且连接的状态是正常的,则执行步骤S616,否则,执行步骤S606。
步骤S606,设备A通过云端执行场景X。
设备A请求云端场景执行服务执行场景X,执行场景时可以提交用户授权信息、场景标识、设备A的标识。
步骤S608,云端场景执行服务给设备B下发执行场景指令。
云端场景服务接收到设备A发送的执行场景X的请求后,通过场景管理服务查询到场景X所在的设备B、有权执行场景的用户,对用户授权信息进行鉴权并检查用户是否有权执行场景X。若有权执行场景X,则给设备B下发执行场景X的指令(指令包括场景X的标识),否则,给设备A应答无权执行的错误。
步骤S610,设备B执行场景X并应答执行结果给云端。
设备B收到云端执行场景X的指令的后,检查场景X是否运行在当前设备的边缘计算引擎。若运行在当前边缘计算引擎,则启动场景X的执行,执行完成后,上报执行结果和执行日志给云端场景执行服务,否则,给云端场景执行服务应答,设备B上不存在场景X的错误。
步骤S612,云端场景执行服务接收场景X的执行结果和日志。
云端场景执行服务接收到场景X的执行结果后,在场景执行服务中保存场景X的执行结果和执行日志,并给设备A应答执行结果。
步骤S614,设备A接收场景X的执行结果。
设备A接收到场景X的执行结果后,给用户展示执行结果。
步骤S616,设备A通过动态连接执行场景X。
设备A通过已经建立的动态连接,向场景X所在的设备B发送执行场景X的指令,执行场景时可以提交用户授权信息、场景标识、设备A的标识。
步骤S618,设备B执行场景X并应答执行结果给设备A。
设备B收到设备A执行场景X的指令的后,检查场景X是否运行在当前设备的边缘计算引擎。若运行在当前边缘计算引擎,则继续执行后续过程,否则,给设备A应答,设备B上不存在场景X的错误。检查用户是否有权限执行场景X,若有权限执行,则继续后续过程,否则,给设备A应答用户无权执行场景X。设备B启动场景X的执行,执行完成后,上报执行结果和执行日志给设备A,
步骤S620,设备A接收场景X的执行结果和日志。
设备A接收到场景X的执行结果后,给用户展示执行结果。
通过本可选实例,通过对场景触发设备和场景所在设备建立动态连接,在场景触发设备和场景所在设备为不同设备时,可支持边缘场景在本地局域网络可联通时自动通过本地网络执行,在本地局域网络不可联通时自动通过公网执行,缩短了边缘场景执行链路,减小了场景从触发到执行的时延。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(RandomAccess Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述场景执行方法的场景执行装置。图7是根据本申请实施例的一种可选的场景执行装置的结构框图,如图7所示,该装置可以包括:
第一确定单元702,用于确定第一设备的使用对象触发执行目标场景,其中,第一设备为目标场景的场景触发设备;
第一发送单元704,与第一确定单元702相连,用于在第一设备与用于执行目标场景的第二设备之间建立有动态连接的情况下,通过动态连接向第二设备发送场景执行指令,其中,场景执行指令用于指示第二设备执行目标场景。
需要说明的是,该实施例中的第一确定单元702可以用于执行上述步骤S202,该实施例中的第一发送单元704可以用于执行上述步骤S204。
通过上述模块,确定第一设备的使用对象触发执行目标场景,其中,第一设备为目标场景的场景触发设备;在第一设备与用于执行目标场景的第二设备之间建立有动态连接的情况下,通过动态连接向第二设备发送场景执行指令,其中,场景执行指令用于指示第二设备执行目标场景,解决了相关技术中的场景执行方法存在由于场景执行的链路长导致的场景从触发到执行的时延长的问题,缩短了场景执行时延,提高了场景执行效率。
在一个示例性实施例,上述装置还包括以下至少之一:
第一建立单元,用于在第一设备和第二设备在本地局域网内处于可连通状态的情况下,根据第二设备的设备信息,建立第一设备与第二设备之间的本地局域网连接,其中,动态连接包括本地局域网连接;
第二建立单元,用于根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接,其中,动态连接包括对等网络连接。
在一个示例性实施例,上述装置还包括以下至少之一:
第二发送单元,用于在第一设备所在的本地局域网内发送第一广播包,其中,第一广播包中携带有第二设备的设备标识以及目标场景的场景标识;
第二确定单元,用于在接收到第二设备响应与第一广播包返回的目标应答消息的情况下,确定第一设备和第二设备在本地局域网内处于可连通状态,并提取出目标应答消息中携带的第二设备的设备信息;
第三确定单元,用于在接收到第二设备在本地局域网内发送的第二广播包的情况下,确定第一设备和第二设备在本地局域网内处于可连通状态,并提取出第二广播包中携带的第二设备的设备信息。
在一个示例性实施例,第二建立单元包括:
建立模块,用于在第一设备和第二设备在本地局域网内处于不连通状态、或者第一设备和第二设备建立本地局域网连接失败的情况下,根据第一设备的公网连接出口信息,建立第一设备与第二设备之间的对等网络连接。
在一个示例性实施例,上述装置还包括以下至少之一:
第四确定单元,用于在确定第一设备的使用对象触发执行目标场景之后,根据第一设备保存的本地局域网连接信息,确定第一设备与第二设备之间建立有本地局域网连接,其中,动态连接包括本地局域网连接;
第五确定单元,用于根据第一设备保存的对等网络连接信息,确定第一设备与第二设备之间建立有对等网络连接,其中,动态连接包括对等网络连接。
在一个示例性实施例,场景执行指令中携带有使用对象的对象授权信息以及目标场景的场景标识;上述装置还包括:
校验单元,用于在通过动态连接向第二设备发送场景执行指令之后,在根据目标场景的场景标识确定第二设备上运行有目标场景的情况下,根据使用对象的对象授权信息对使用对象执行目标场景的执行权限进行校验,得到使用对象的权限校验结果;
执行单元,用于在使用对象的权限校验结果指示使用对象具有目标场景的执行权限的情况下,在第二设备上执行目标场景,得到目标场景的场景执行结果。
在一个示例性实施例,上述装置还包括:
第三发送单元,用于在第一设备与目标场景的第二设备之间未建立动态连接、或者建立的动态连接处于异常状态的情况下,向云端服务器发送场景执行请求,其中,场景执行请求用于请求云端服务器控制用于执行目标场景的设备执行目标场景。
在一个示例性实施例,上述装置还包括:
接收单元,用于在确定第一设备的使用对象触发执行目标场景之前,接收云端服务器发送的场景通知消息,其中,场景通知消息中携带有第一设备允许触发的目标场景的场景标识以及用于指示目标场景的第二设备的设备标识;
保存单元,用于保存目标场景的场景标识以及第二设备的设备标识之间的场景执行关系。
在一个示例性实施例,第一确定单元包括:
第一确定模块,用于在通过第一设备的触控面板检测到对触控面板上显示的目标交互页面执行的场景触发操作的情况下,确定使用对象触发执行目标场景;
第二确定模块,用于在接收终端设备上的目标应用发送的场景触发指令的情况下,确定使用对象触发执行目标场景;
第三确定模块,用于在通过第一设备上的语音采集部件采集到使用对象的场景触发数据的情况下,确定使用对象触发执行目标场景;
第四确定模块,用于在通过第一设备上的第一近场通信模块接收到第二近场通信模块发送的场景触发指令的情况下,确定使用对象触发执行目标场景。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本申请实施例中上述任一项场景执行方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,确定第一设备的使用对象触发执行目标场景,其中,第一设备为目标场景的场景触发设备;
S2,在第一设备与用于执行目标场景的第二设备之间建立有动态连接的情况下,通过动态连接向第二设备发送场景执行指令,其中,场景执行指令用于指示第二设备执行目标场景。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请实施例的又一个方面,还提供了一种用于实施上述场景执行方法的电子装置,该电子装置可以是服务器、终端、或者其组合。
图8是根据本申请实施例的一种可选的电子装置的结构框图,如图8所示,包括处理器802、通信接口804、存储器806和通信总线808,其中,处理器802、通信接口804和存储器806通过通信总线808完成相互间的通信,其中,
存储器806,用于存储计算机程序;
处理器802,用于执行存储器806上所存放的计算机程序时,实现如下步骤:
S1,确定第一设备的使用对象触发执行目标场景,其中,第一设备为目标场景的场景触发设备;
S2,在第一设备与用于执行目标场景的第二设备之间建立有动态连接的情况下,通过动态连接向第二设备发送场景执行指令,其中,场景执行指令用于指示第二设备执行目标场景。
可选地,在本实施例中,通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子装置与其他设备之间的通信。
存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
作为一种示例,上述存储器806中可以但不限于包括上述场景执行装置中的第一确定单元702、第一发送单元704。此外,还可以包括但不限于上述场景执行装置中的其他模块单元,本示例中不再赘述。
上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图8所示的结构仅为示意,实施上述场景执行方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示的不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中所提供的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (12)
1.一种场景执行方法,其特征在于,包括:
确定第一设备的使用对象触发执行目标场景,其中,所述第一设备为所述目标场景的场景触发设备;
在所述第一设备与用于执行所述目标场景的第二设备之间建立有动态连接的情况下,通过所述动态连接向所述第二设备发送场景执行指令,其中,所述场景执行指令用于指示所述第二设备执行所述目标场景。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下至少之一:
在所述第一设备和所述第二设备在本地局域网内处于可连通状态的情况下,根据所述第二设备的设备信息,建立所述第一设备与所述第二设备之间的本地局域网连接,其中,所述动态连接包括所述本地局域网连接;
根据所述第一设备的公网连接出口信息,建立所述第一设备与所述第二设备之间的对等网络连接,其中,所述动态连接包括所述对等网络连接。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括以下至少之一:
在所述第一设备所在的本地局域网内发送第一广播包,其中,所述第一广播包中携带有所述第二设备的设备标识以及所述目标场景的场景标识;在接收到所述第二设备响应与所述第一广播包返回的目标应答消息的情况下,确定所述第一设备和所述第二设备在本地局域网内处于可连通状态,并提取出所述目标应答消息中携带的所述第二设备的设备信息;
在接收到所述第二设备在本地局域网内发送的第二广播包的情况下,确定所述第一设备和所述第二设备在所述本地局域网内处于可连通状态,并提取出所述第二广播包中携带的所述第二设备的设备信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一设备的公网连接出口信息,建立所述第一设备与所述第二设备之间的对等网络连接,包括:
在所述第一设备和所述第二设备在本地局域网内处于不连通状态、或者所述第一设备和所述第二设备建立本地局域网连接失败的情况下,根据所述第一设备的公网连接出口信息,建立所述第一设备与所述第二设备之间的所述对等网络连接。
5.根据权利要求1所述的方法,其特征在于,在所述确定第一设备的使用对象触发执行目标场景之后,所述方法还包括以下至少之一:
根据所述第一设备保存的本地局域网连接信息,确定所述第一设备与所述第二设备之间建立有本地局域网连接,其中,所述动态连接包括所述本地局域网连接;
根据所述第一设备保存的对等网络连接信息,确定所述第一设备与所述第二设备之间建立有对等网络连接,其中,所述动态连接包括所述对等网络连接。
6.根据权利要求1所述的方法,其特征在于,场景执行指令中携带有所述使用对象的对象授权信息以及所述目标场景的场景标识;在所述通过所述动态连接向所述第二设备发送场景执行指令之后,所述方法还包括:
在根据所述目标场景的场景标识确定所述第二设备上运行有所述目标场景的情况下,根据所述使用对象的对象授权信息对所述使用对象执行所述目标场景的执行权限进行校验,得到所述使用对象的权限校验结果;
在所述使用对象的权限校验结果指示所述使用对象具有所述目标场景的执行权限的情况下,在所述第二设备上执行所述目标场景,得到所述目标场景的场景执行结果。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一设备与所述目标场景的第二设备之间未建立动态连接、或者建立的所述动态连接处于异常状态的情况下,向云端服务器发送场景执行请求,其中,所述场景执行请求用于请求所述云端服务器控制用于执行所述目标场景的设备执行所述目标场景。
8.根据权利要求1所述的方法,其特征在于,在所述确定第一设备的使用对象触发执行目标场景之前,所述方法还包括:
接收云端服务器发送的场景通知消息,其中,所述场景通知消息中携带有所述第一设备允许触发的所述目标场景的场景标识以及用于指示所述目标场景的所述第二设备的设备标识;
保存所述目标场景的场景标识以及所述第二设备的设备标识之间的场景执行关系。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述确定第一设备的使用对象触发执行目标场景,包括:
在通过所述第一设备的触控面板检测到对所述触控面板上显示的目标交互页面执行的场景触发操作的情况下,确定所述使用对象触发执行所述目标场景;
在接收终端设备上的目标应用发送的场景触发指令的情况下,确定所述使用对象触发执行所述目标场景;
在通过所述第一设备上的语音采集部件采集到所述使用对象的场景触发数据的情况下,确定所述使用对象触发执行所述目标场景;
在通过所述第一设备上的第一近场通信模块接收到第二近场通信模块发送的场景触发指令的情况下,确定所述使用对象触发执行所述目标场景。
10.一种场景执行装置,其特征在于,包括:
第一确定单元,用于确定第一设备的使用对象触发执行目标场景,其中,所述第一设备为所述目标场景的场景触发设备;
第一发送单元,用于在所述第一设备与用于执行所述目标场景的第二设备之间建立有动态连接的情况下,通过所述动态连接向所述第二设备发送场景执行指令,其中,所述场景执行指令用于指示所述第二设备执行所述目标场景。
11.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至9中任一项所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210612566.4A CN115113534A (zh) | 2022-05-31 | 2022-05-31 | 场景执行方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210612566.4A CN115113534A (zh) | 2022-05-31 | 2022-05-31 | 场景执行方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115113534A true CN115113534A (zh) | 2022-09-27 |
Family
ID=83325824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210612566.4A Pending CN115113534A (zh) | 2022-05-31 | 2022-05-31 | 场景执行方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115113534A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341468A (zh) * | 2016-08-29 | 2017-01-18 | 镇江惠通电子有限公司 | 一种智能设备的远程唤醒方法、装置及*** |
CN108810866A (zh) * | 2018-05-28 | 2018-11-13 | 北京小米移动软件有限公司 | 连接智能设备的方法、装置及存储介质 |
CN110519131A (zh) * | 2019-07-26 | 2019-11-29 | 华为技术有限公司 | 一种控制设备的方法及终端 |
CN111522251A (zh) * | 2020-06-28 | 2020-08-11 | 海尔优家智能科技(北京)有限公司 | 联动控制方法和装置及计算机可读存储介质 |
CN113516980A (zh) * | 2021-03-29 | 2021-10-19 | 杭州涂鸦信息技术有限公司 | 场景联动方法、场景联动***的构建方法及装置 |
EP3929722A1 (en) * | 2020-06-28 | 2021-12-29 | Beijing Xiaomi Pinecone Electronics Co., Ltd. | Device control method and apparatus |
-
2022
- 2022-05-31 CN CN202210612566.4A patent/CN115113534A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341468A (zh) * | 2016-08-29 | 2017-01-18 | 镇江惠通电子有限公司 | 一种智能设备的远程唤醒方法、装置及*** |
CN108810866A (zh) * | 2018-05-28 | 2018-11-13 | 北京小米移动软件有限公司 | 连接智能设备的方法、装置及存储介质 |
CN110519131A (zh) * | 2019-07-26 | 2019-11-29 | 华为技术有限公司 | 一种控制设备的方法及终端 |
CN111522251A (zh) * | 2020-06-28 | 2020-08-11 | 海尔优家智能科技(北京)有限公司 | 联动控制方法和装置及计算机可读存储介质 |
EP3929722A1 (en) * | 2020-06-28 | 2021-12-29 | Beijing Xiaomi Pinecone Electronics Co., Ltd. | Device control method and apparatus |
CN113516980A (zh) * | 2021-03-29 | 2021-10-19 | 杭州涂鸦信息技术有限公司 | 场景联动方法、场景联动***的构建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3896916B1 (en) | Network distribution method for household appliance, household appliance, mobile terminal and storage medium | |
WO2019168032A1 (ja) | 機器管理システム、及び、機器管理方法 | |
CN109150568B (zh) | 一种网络管理方法、装置、***、设备和存储介质 | |
CN112751699B (zh) | Ota升级与升级管理方法、设备、网络及存储介质 | |
US20120331156A1 (en) | Wireless control system, methods and apparatus | |
CN115051884A (zh) | 用于iot协议标识和管理的方法和装置 | |
WO2017040534A1 (en) | Management of gateway device using virtual gateway device | |
JP2019537322A (ja) | 家電機器のネットワーク接続方法、家電機器および家電システムのネットワーク接続方法 | |
CN112584364A (zh) | 蓝牙网络及其通信方法、设备和存储介质 | |
CN110365704B (zh) | 设备绑定方法、装置和电子设备 | |
CN104113458A (zh) | 一种移动终端与智能家电设备互联的方法及装置 | |
US9425982B2 (en) | Server and method for providing device management service and device receiving the device management service | |
WO2019172046A1 (ja) | 機器管理方法、及び、機器管理システム | |
CN111741509A (zh) | 配网方法及装置、存储介质、处理器 | |
CN103634657A (zh) | 电视同步移动终端wifi连接设置的方法和装置 | |
CN113596089B (zh) | 设备的配网绑定方法和装置、存储介质及电子装置 | |
CN112752324A (zh) | 智能设备的配网方法、装置、***、电子设备及存储介质 | |
CN105791454A (zh) | 一种智能终端的绑定方法及装置 | |
CN115175152A (zh) | 智能设备绑定方法和装置、存储介质及电子装置 | |
CN116016002A (zh) | 智能家电配网方法、装置及电子装置 | |
CN113985743A (zh) | 设备控制方法、装置及***、存储介质、电子装置 | |
CN111478816B (zh) | 紫蜂ZigBee子设备的配置方法、***、装置及介质 | |
CN112817248A (zh) | 一种共享设备管理方法、装置、存储介质及电子装置 | |
CN115113534A (zh) | 场景执行方法和装置、存储介质及电子装置 | |
CN113709142B (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 |