一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种设备控制方法、装置、服务器以及介质与流程

2021-10-29 20:52:00 来源:中国专利 TAG:介质 装置 控制 服务器 计算机


1.本技术涉及计算机技术领域,特别是涉及一种设备控制方法、装置、服务器以及介质。


背景技术:

2.目前,由于物联网技术越来越发达,智慧人居也越来越普及于各个领域。现有技术中的智慧人居是设备之间简单的触发关系。例如,当某办公室门口处的摄像头拍摄到有人进入该办公室时,该摄像头连接的服务器会开启该办公室内该服务器连接的所有灯。
3.然而,由于现有技术中的智慧人居缺乏对空间的描述能力,导致服务器对各个设备的控制过于简单,进而导致目前智慧人居的智能程度较低。


技术实现要素:

4.本技术实施例的目的在于提供一种设备控制方法、装置、服务器以及介质,以提高智慧人居的智能程度。具体技术方案如下:
5.第一方面,本技术提供一种设备控制方法,所述方法应用于服务器,所述方法包括:
6.接收触发设备发送的事件数据,所述事件数据用于表示所述触发设备检测到的指定数据的变化情况;
7.获取目标场景列表,所述目标场景列表中每个场景均包括所述触发设备,所述目标场景列表中每个场景分别对应一个场景任务,所述场景任务用于指示场景中的响应设备按照预设顺序执行自身对应的预设动作;
8.针对所述目标场景列表中每个场景,基于所述场景的场景类型,向所述场景中的响应设备按照所述预设顺序发送动作指令,以使得所述场景中每个响应设备执行接收到的动作指令。
9.在一种可能的实现方式中,所述场景类型包括:手动场景和自动场景;所述针对所述目标场景列表中每个场景,基于所述场景的场景类型,向所述场景中的响应设备按照所述预设顺序发送动作指令,包括:
10.针对所述目标场景列表中每个场景,若所述场景为手动场景,则基于所述场景对应的场景任务的任务类型,按照所述预设顺序向所述场景中的响应设备发送动作指令;
11.若所述场景为自动场景,且所述事件数据符合自动触发规则,则按照所述预设顺序向所述场景中的响应设备发送动作指令。
12.在一种可能的实现方式中,所述任务类型包括:延时任务和非延时任务;所述基于所述场景对应的场景任务的任务类型,按照所述预设顺序向所述场景中的响应设备发送动作指令,包括:
13.若所述场景对应的场景任务为非延时任务,且所述事件数据符合手动触发规则,则按照所述预设顺序向所述场景中的响应设备发送动作指令;
14.若所述场景对应的场景任务为延时任务,则在指定时长后,按照所述预设顺序向所述场景中的响应设备发送动作指令。
15.在一种可能的实现方式中,,在针对所述目标场景列表中每个场景,若所述场景为手动场景,则基于所述场景对应的场景任务的任务类型,按照所述预设顺序向所述场景中的响应设备发送动作指令之前,所述方法还包括:
16.针对所述场景中每个响应设备,确定所述响应设备对应的预设执行次数,并生成包括所述预设执行次数的动作指令,所述预设执行次数为所述响应设备执行所述动作指令所指示的动作的次数。
17.在一种可能的实现方式中,所述手动触发规则包括多个手动触发条件;所述若所述场景对应的场景任务为非延时任务,且所述事件数据符合手动触发规则,则按照所述预设顺序向所述场景中的响应设备发送动作指令,包括:
18.若所述场景对应的场景任务为非延时任务,且所述事件数据满足所述手动触发规则包括的至少一个手动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令;或者,
19.若所述场景对应的场景任务为非延时任务,且所述事件数据满足所述手动触发规则包括的所有手动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令。
20.在一种可能的实现方式中,所述自动触发规则包括多个自动触发条件;所述若所述场景为自动场景,且所述事件数据符合自动触发规则,则按照所述预设顺序向所述场景中的响应设备发送动作指令,包括:
21.若所述场景为自动场景,且所述事件数据满足所述自动触发规则包括的至少一个自动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令;或者,
22.若所述场景为自动场景,且所述事件数据满足所述自动触发规则包括的所有自动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令。
23.在一种可能的实现方式中,所述获取目标场景列表,包括:
24.确定包括所述触发设备的场景;
25.遍历包括所述触发设备的每个场景,将除在预设时长内触发过场景任务的场景以及处于触发状态的场景之外的,包括所述触发设备的场景加入所述目标场景列表。
26.在一种可能的实现方式中,在所述针对所述目标场景列表中每个场景,基于所述场景的场景类型,向所述场景中的响应设备按照所述预设顺序发送动作指令之后,所述方法还包括:
27.向预存的通信地址发送通知消息,所述通知消息包括所述服务器向每个响应设备发送的动作指令所指示的动作。
28.第二方面,本技术提供一种设备控制装置,所述装置应用于服务器,所述装置包括:
29.接收模块,用于接收触发设备发送的事件数据,所述事件数据用于表示所述触发设备检测到的指定数据的变化情况;
30.获取模块,用于获取目标场景列表,所述目标场景列表中每个场景均包括所述触发设备,所述目标场景列表中每个场景分别对应一个场景任务,所述场景任务用于指示场
景中的响应设备按照预设顺序执行自身对应的预设动作;
31.发送模块,用于针对所述目标场景列表中每个场景,基于所述场景的场景类型,向所述场景中的响应设备按照所述预设顺序发送动作指令,以使得所述场景中每个响应设备执行接收到的动作指令。
32.在一种可能的实现方式中,所述场景类型包括:手动场景和自动场景;所述发送模块,具体用于:
33.针对所述目标场景列表中每个场景,若所述场景为手动场景,则基于所述场景对应的场景任务的任务类型,按照所述预设顺序向所述场景中的响应设备发送动作指令;
34.若所述场景为自动场景,且所述事件数据符合自动触发规则,则按照所述预设顺序向所述场景中的响应设备发送动作指令。
35.在一种可能的实现方式中,所述任务类型包括:延时任务和非延时任务;所述发送模块,具体用于:
36.若所述场景对应的场景任务为非延时任务,且所述事件数据符合手动触发规则,则按照所述预设顺序向所述场景中的响应设备发送动作指令;
37.若所述场景对应的场景任务为延时任务,则在指定时长后,按照所述预设顺序向所述场景中的响应设备发送动作指令。
38.在一种可能的实现方式中,所述装置还包括:
39.生成模块,用于针对所述场景中每个响应设备,确定所述响应设备对应的预设执行次数,并生成包括所述预设执行次数的动作指令,所述预设执行次数为所述响应设备执行所述动作指令所指示的动作的次数。
40.在一种可能的实现方式中,所述手动触发规则包括多个手动触发条件;所述发送模块,具体用于:
41.若所述场景对应的场景任务为非延时任务,且所述事件数据满足所述手动触发规则包括的至少一个手动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令;或者,
42.若所述场景对应的场景任务为非延时任务,且所述事件数据满足所述手动触发规则包括的所有手动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令。
43.在一种可能的实现方式中,所述自动触发规则包括多个自动触发条件;所述发送模块,具体用于:
44.若所述场景为自动场景,且所述事件数据满足所述自动触发规则包括的至少一个自动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令;或者,
45.若所述场景为自动场景,且所述事件数据满足所述自动触发规则包括的所有自动触发条件,则按照所述预设顺序向所述场景中的响应设备发送动作指令。
46.在一种可能的实现方式中,所述获取模块,具体用于:
47.确定包括所述触发设备的场景;
48.遍历包括所述触发设备的每个场景,将除在预设时长内触发过场景任务的场景以及处于触发状态的场景之外的,包括所述触发设备的场景加入所述目标场景列表。
49.在一种可能的实现方式中,所述发送模块,还用于向预存的通信地址发送通知消
息,所述通知消息包括所述服务器向每个响应设备发送的动作指令所指示的动作。
50.第三方面,本发明实施例还提供一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
51.存储器,用于存放计算机程序;
52.处理器,用于执行存储器上所存放的程序时,实现上述任一所述的设备控制方法步骤。
53.第四方面,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的设备控制方法。
54.第五方面,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中所述的设备控制方法。
55.采用上述技术方案,服务器可以通过触发设备上报事件数据,确定触发设备对应的场景列表,进而执行场景列表中的场景对应的场景任务,在本技术实施例中,由于触发设备处于多个场景中,每个场景分别对应一个场景任务,因此,触发设备通过上报事件数据,可以触发多个场景执行场景任务,服务器可以将设备与设备之间的简单联动转化为事件与场景之间的联动,使得智慧人居具有较强的空间描述能力,且智能程度更高。
56.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
57.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1为本技术实施例提供的一种设备控制系统示意图;
59.图2为本技术实施例提供的一种场景引擎功能组件的示意图;
60.图3为本技术实施例提供的一种设备控制方法流程图;
61.图4为本技术实施例提供的另一种设备控制方法流程图;
62.图5为本技术实施例提供的另一种设备控制方法流程图;
63.图6为本技术实施例提供的另一种设备控制方法流程图;
64.图7为本技术实施例提供的一种设备控制方法的示例性流程图;
65.图8为本技术实施例提供的一种paas平台的示意图;
66.图9为本技术实施例提供的一种技术支撑平台的示意图;
67.图10为本技术实施例提供的一种设备控制装置的结构示意图;
68.图11为本技术实施例提供的一种服务器的结构示意图。
具体实施方式
69.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于
本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
70.本技术实施例提供一种设备控制方法,该方法应用于服务器。如图1所示,图1为本技术实施例提供的一种设备控制系统示意图,其中,该设备控制系统包括服务器和多个终端设备,终端设备可以为:台灯、摄像头、加湿器、空调等能够与服务器通信的设备。
71.其中,设备控制系统为可以用于智慧人居的人工智能物联网(artificialintelligence&internet of things,aiot)系统,终端设备不仅局限于上述四种终端设备,本技术实施例对终端设备的种类不做限定。
72.在实际应用中,不同的终端设备可以组成不同的场景,例如,摄像头与台灯可以组成一个场景,摄像头和加湿器可以组成一个场景,摄像头、加湿器和空调可以组成一个场景,台灯、摄像头、加湿器、空调可以组成一个场景。
73.需要说明的,为方便描述,在本技术实施例中,将接收事件数据并向服务器上报的终端设备称为触发设备,将接收服务器发送的动作指令并执行该动作指令的终端设备称为响应设备。由于触发设备和响应设备均需要与服务器进行信息交互,因此,触发设备与响应设备均处于线上状态。
74.如图2所示,图2为本技术实施例提供的一种场景引擎功能组件的示意图,场景引擎功能组件可以部署于服务器,该场景引擎功能组件包括:事件处理器、规则引擎、定时任务注册器、定时任务执行器、第三方设备执行命令转换器、消息通道、场景执行线程池和场景日志收集器。
75.具体的,事件处理器,用于统一处理终端设备的上报的事件数据,并将接收到的事件数据转换为场景引擎功能组件服务中的标准事件类型。
76.其中,终端设备包括第三方设备,第三方设备为与场景引擎处理标准不同的终端设备。例如,若该场景引擎主要处理a品牌的终端设备上报的事件数据,a品牌的终端设备上报的事件数据均为场景引擎功能组件能够处理的标准事件类型。第三方设备为除a品牌之外的其他品牌的终端设备,第三方设备上报的事件数据的类型不符合上述标准事件类型,所以需通过事件处理器将第三方设备上报的事件数据转换为标准事件类型,以便于场景引擎功能组件的处理。
77.规则引擎,用于判断事件数据是否符合触发规则。
78.其中,事件数据用于表示触发设备检测到的指定数据的变化情况。
79.定时任务处理器,用于设置指定时长。
80.其中,指定时长用于延时任务,延时任务为在指定时长后执行动作指令的任务,设置指定时长可以通过设置定时器或者注册定时任务实现。
81.定时任务执行器,用于通过分布式定时任务,执行场景任务。结合定时任务处理器,当达到定时任务处理器指定的指定时长时,定时任务执行器可以执行场景任务。
82.第三方设备执行转换器,用于定义标准设备执行命令,并将标准设备执行命令转换为终端设备执行命令。
83.其中,由于场景中各个终端设备可读取的命令类型(例如命令的格式)不同,因此,需要第三方设备执行转换器将标准设备执行命令转换为各个终端设备可以读取的第三方设备执行命令,实现了对不同的终端设备的统一控制。
84.消息通道,用于向各个终端设备下发消息。例如,消息通道可以用于向移动设备(例如,手机)下发短信。
85.场景执行线程池,用于存储多个线程。
86.其中,所有的场景的执行命令会通过多线程执行的方式执行,即场景执行线程池可以支持多场景同时执行。
87.场景日志收集器,用于收集场景日志。
88.其中,在本技术实施例中,场景日志中包括事件数据。
89.下面将结合具体实施方式,对本技术实施例提供的一种设备控制方法进行详细的说明,如图3所示,具体步骤如下:
90.步骤301、接收触发设备发送的事件数据。
91.其中,事件数据用于表示触发设备检测到的指定数据的变化情况。
92.步骤302、获取目标场景列表。
93.其中,目标场景列表中每个场景均包括触发设备,目标场景列表中每个场景分别对应一个场景任务,场景任务用于指示场景中的响应设备按照预设顺序执行自身对应的预设动作。
94.步骤303、针对目标场景列表中每个场景,基于场景的场景类型,向场景中的响应设备按照预设顺序发送动作指令,以使得场景中每个响应设备执行接收到的动作指令。
95.本技术实施例提供的一种设备控制方法,服务器可以接收触发设备发送的事件数据,事件数据用于表示触发设备检测到的指定数据发生的变化,获取目标场景列表,目标场景列表中每个场景均包括触发设备,目标场景列表中每个场景分别对应一个场景任务,场景任务用于指示场景中的响应设备按照预设顺序执行自身对应的预设动作,针对目标场景列表中每个场景,基于场景的场景类型,向场景中的响应设备按照预设顺序发送动作指令,以使得场景中每个响应设备执行各自对应的预设动作。本技术实施例中,服务器可以通过触发设备上报事件数据,确定触发设备对应的场景列表,进而执行场景列表中的场景对应的场景任务,在本技术实施例中,由于触发设备处于多个场景中,每个场景分别对应一个场景任务,因此,触发设备通过上报事件数据,可以触发多个场景执行场景任务,服务器可以将设备与设备之间的简单联动转化为事件与场景之间的联动,使得智慧人居具有较强的空间描述能力,且智能程度更高。
96.进一步的,针对上述步骤301、接收触发设备发送的事件数据。触发设备可以是用于检测的设备,例如,触发设备可以是温度监测器、湿度检测器、空气质量检测器或者摄像头等。
97.事件数据可以是由设备的动作触发的事件数据,也可以是由环境变化触发的事件数据。例如,触发设备a可以检测门a是开启状态还是关闭状态,当门a由关闭状态变为开启状态时,触发设备a可以检测到门a由关闭状态变为开启状态,并将门a由关闭状态变为开启状态作为事件数据向服务器上报。
98.触发设备b可以检测场景b中的温度值,当场景b中的温度值从20度降低至15度时,触发设备b可以将场景b中的温度值从20度降低至15度作为事件数据向服务器上报。
99.针对步骤302、获取目标场景列表。场景中包括触发设备和响应设备,因此,场景可以用于空间的描述,例如,一个家庭a中可能存在20个场景,这20个场景对应了20个场景任
务,这20个场景任务可以涵盖家庭a中可能发生的20种生活场景(例如,一个人进入家庭a的家门,则服务器会打开家庭a门厅的灯光,其中,打开家庭a门厅的灯光为一个场景任务)。
100.需要说明的,一个终端设备既可以作为触发设备也可以作为响应设备,进而,若一个终端设备在一个场景中,可以存在以下三种情况:
101.情况一、在一个场景中,一个终端设备既作为触发设备,同时也作为响应设备,此时,该场景中只包括一个终端设备。
102.情况二、在一个场景中,一个终端设备可以只作为响应设备,此时,该终端设备可以与触发设备组成一个场景。
103.情况三、在一个场景中,一个终端设备可以只作为触发设备,此时,该终端设备可以与响应设备组成一个场景。
104.例如,若当前上报事件数据的触发设备为终端设备a,服务器针对该终端设备a获取目标场景列表时,可以将包括该终端设备a,且终端设备a作为触发设备的场景加入目标场景列表。而若一个场景中包括终端设备a,但终端设备a在该场景中只作为响应设备,则不将该场景加入目标场景列表。
105.服务器可以基于上述三种情况,实现对场景的细粒度划分,同时,由于每个场景可以单独触发,因此每个场景可以视为一个微小的服务,进而本技术实施例可以基于细小的场景粒度划分,实现了微服务架构。
106.还需要说明的,若一个场景中的响应设备可以作为另一个场景的触发设备,则本技术实施例可以实现场景与场景之间的联动。例如,如表1所示,场景a中包括触发设备:摄像头和响应设备:温度检测器,场景b中包括触发设备:温度检测器和响应设备:空调。
107.表1
[0108] 触发设备响应设备场景a摄像头温度监测器场景b温度监测器空调
[0109]
当场景a中的摄像头触发了场景a的场景任务时,温度检测器启动,当温度检测器检测到温度变化并上传事件数据时,若上报的事件数据满足触发规则,则可以触发场景b的场景任务,例如开启空调或者关闭空调,即实现了场景a和场景b的联动。
[0110]
本技术实施基于对空间的描述能力,通过场景之间的联动以及微服务架构,使得智慧人居的智能程度更高。
[0111]
可选的,如图4所示,上述步骤303中,针对目标场景列表中每个场景,基于场景的场景类型,向场景中的响应设备按照预设顺序发送动作指令步骤,具体包括以下步骤:
[0112]
步骤401、针对目标场景列表中每个场景,若该场景为手动场景,则基于该场景对应的场景任务的任务类型,按照预设顺序向该场景中的响应设备发送动作指令。
[0113]
其中,手动场景通常为人为发生的事件所触发的场景,例如,场景x中存在一个训练好的智能音箱和一个空调,当用户对该智能音箱说“我冷了”时,该智能音箱可以识别接收到的语音的语义,并将识别到的结果作为事件数据上报至服务器,服务器接收到该事件数据后,可以向空调发送开启暖风的动作指令,进而使得空调开启暖风。
[0114]
步骤402、若该场景为自动场景,且事件数据符合自动触发规则,则按照预设顺序向该场景中的响应设备发送动作指令。
[0115]
其中,自动场景通常为客观事实触发的场景,例如,场景y中存在一个空气质量检测器、窗户和空气净化器,当场景y中的细颗粒物(fine particulatematter,pm2.5)值由20升高至100时,场景y中的空气质量监测器会检测到pm2.5值由20升高至100,并将pm2.5值由20升高至100作为事件数据上报至服务器,服务器接收到该事件数据后,可以依次向窗户和空气净化器发送动作指令,进而使得窗户和空气净化器依次打开。
[0116]
通过本技术实施例,将场景分为了手动场景和自动场景,使得场景的划分粒度更细,进而使得智慧人居的空间描述能力更强。
[0117]
可选的,上述步骤401、针对目标场景列表中每个场景,若该场景为手动场景,则基于该场景对应的场景任务的任务类型,按照预设顺序向该场景中的响应设备发送动作指令,具体包括以下两种实现方式:
[0118]
方式一、若该场景对应的场景任务为非延时任务,且事件数据符合手动触发规则,则按照预设顺序向该场景中的响应设备发送动作指令。
[0119]
例如,场景a中的触发设备为一个摄像头,响应设备包括一盏灯、一台温度监测器和一台湿度检测器,当摄像头检测到有人进入时,会将有人进入这个事件的事件数据上报至服务器,服务器接收到该事件数据后,若该场景对应的场景任务为非延时任务,且事件数据满足手动触发条件(即有人进入),则服务器会依次向场景a中的灯、温度监测器和湿度检测器发送动作指令,当场景a中的灯、温度监测器和湿度检测器依次接收到动作指令时,灯、温度监测器和湿度检测器会依次开启。
[0120]
方式二、若该场景对应的场景任务为延时任务,则在指定时长后,按照预设顺序向该场景中的响应设备发送动作指令。
[0121]
其中,服务器可以通过定时器功能或者通过注册定时任务,实现设置指定时长的功能。
[0122]
例如,场景a中的触发设备为一个摄像头,响应设备包括一盏灯、一台温度监测器和一台湿度检测器,当摄像头检测到有人进入时,会将有人进入这个事件的事件数据上报至服务器,服务器接收到该事件数据后,若该场景对应的场景任务为延时任务,则120秒(指定时长)之后,服务器会依次向场景a中的灯、温度监测器和湿度检测器发送动作指令。
[0123]
其中,120秒可以为服务器设置的120秒的定时器,也可以为服务器注册的120秒的定时任务,本技术实施例不做限定。
[0124]
由于本技术实施例将任务类型划分为延时任务和非延时任务,将适合延时触发的场景任务设置为延时任务,将适合实时触发的任务设置为非延时任务,因此,场景任务在执行时,可以更加智能更加人性化。
[0125]
可选的,上述方式一、若场景对应的场景任务为非延时任务,且事件数据符合手动触发规则,则按照预设顺序向场景中的响应设备发送动作指令步骤,具体可以实现为:
[0126]
若该场景对应的场景任务为非延时任务,且事件数据满足手动触发规则包括的至少一个手动触发条件,则按照预设顺序向该场景中的响应设备发送动作指令;或者,若该场景对应的场景任务为非延时任务,且事件数据满足手动触发规则包括的所有手动触发条件,则按照预设顺序向该场景中的响应设备发送动作指令。
[0127]
其中,手动触发规则包括多个手动触发条件。
[0128]
在本技术实施例中,触发场景任务的手动触发条件为:事件数据从不满足一个标
准到满足该标准。
[0129]
例如,标准x可以为办公室内的温度高于25度,场景任务为开启该办公室内的空调,若事件数据a为办公室内的温度从23度升高至26度,则服务器会向该办公室内的空调发送开启指令。此时,事件数据a为从不满足标准x到满足标准x,即此时事件数据a满足该场景的手动触发条件。
[0130]
若事件数据b为办公室内的温度从26度升高至28度,则服务器不会向该办公室内的空调发送开启指令。此时,事件数据a为从满足标准x到满足标准x(即该办公室内的空调可能已经被打开),即此时事件数据a不满足该场景的手动触发条件。
[0131]
若存在多个触发条件,可以根据预设的触发规则,触发场景任务,例如,若存在触发条件a、触发条件b和触发条件c,则预设的触发规则可以为:同时满足触发条件a、触发条件b和触发条件c时,触发场景任务,或者,满足触发条件a、触发条件b和触发条件c任一项时,触发场景任务。
[0132]
需要说明的,在设置场景任务的触发规则时,若某场景任务需要触发多个触发条件才能执行,则不能为该场景任务再添加定时类的条件。
[0133]
当为某场景任务添加第一条触发条件,并继续为该场景任务添加第二条触发条件时,可以设置多条触发条件之间的关系。而且,针对同一响应设备的同一属性,在设置触发条件时只能选择同一响应设备的同一属性一次(即不能为同一响应设备的同一属性设置重复的触发条件)。
[0134]
在本技术实施例中,可以通过多个手动触发条件,使得场景需要满足的条件更多,使得场景针对的事件更细致,进而使得智慧人居的智慧程度更高。
[0135]
可选的,上述步骤402、若该场景为自动场景,且事件数据符合自动触发规则,则按照预设顺序向该场景中的响应设备发送动作指令,具体可以实现为:
[0136]
若该场景为自动场景,且事件数据满足自动触发规则包括的至少一个自动触发条件,则按照预设顺序向该场景中的响应设备发送动作指令;或者,若该场景为自动场景,且事件数据满足自动触发规则包括的所有自动触发条件,则按照预设顺序向该场景中的响应设备发送动作指令。
[0137]
其中,自动触发规则包括多个自动触发条件。
[0138]
在本技术实施例中,触发场景任务的自动触发条件为:事件数据从不满足一个标准到满足该标准。其原因与手动触发条件相同,本技术实施例不做赘述。
[0139]
在本技术实施例中,可以通过多个自动触发条件,使得场景需要满足的条件更多,使得场景针对的事件更细致,进而使得智慧人居的智慧程度更高。
[0140]
可选的,如图5所示,上述步骤302、获取目标场景列表,具体可以实现为:
[0141]
步骤3021、确定包括触发设备的场景。
[0142]
步骤3022、遍历包括触发设备的每个场景,将除在预设时长内触发过场景任务的场景以及处于触发状态的场景之外的,包括触发设备的场景加入目标场景列表。
[0143]
在一种情况中,可能存在短时间内连续被触发场景任务的场景,例如,商场a的入口处经常会连续进入行人,若商场a的入口处的场景对应一个播放“欢迎光临”语音的场景任务,则在短时间内(例如十秒内)仅需触发一次该场景任务即可,因此,若十秒内触发过该场景任务,为避免该场景任务在短时间内多次被触发,则该场景无需被加入至目标场景列
表中。
[0144]
在另一种情况中,可能会存在已处于触发状态的场景,例如,会议室a内的灯光已经处于打开状态,无需再次触发打开会议室内灯光的场景任务,因此,该场景无需被加入至目标场景列表中。
[0145]
通过本技术实施例,可以通过避免连续触发场景任务以及避免重复触发场景任务,提高智慧人居的智能程度的同时,还节省了资源。
[0146]
可选的,如图6所示,在上述步骤303、针对目标场景列表中每个场景,基于该场景的场景类型,向该场景中的响应设备按照预设顺序发送动作指令,以使得场景中每个响应设备执行接收到的动作指令之前,该方法还可以包括:
[0147]
步骤601、针对该场景中每个响应设备,确定该响应设备对应的预设执行次数,并生成包括预设执行次数的动作指令。
[0148]
其中,预设执行次数为响应设备执行动作指令所指示的动作的次数。结合上述步骤303所述的内容,在本技术实施例中,服务器向响应设备发送的动作指令中包括步骤601中确定的预设执行次数。
[0149]
在实际应用中,可能存在需要响应设备多次执行的预设动作,例如,在商场入口处的场景中,设置了一个用于欢迎的彩灯,场景任务为彩灯闪烁3次,当检测到有行人通过该商场入口时,服务器可以确定该彩灯的预设执行次数,并向该彩灯发送包括该预设执行次数的动作指令,使得该商场入口处的彩灯闪烁3次。
[0150]
在本技术实施例中,可以通过设置预设执行次数,使得预设动作可以用于需要多次执行的场景,进而使得场景任务可以应用的场景更多,智慧人居的智慧程度更高。
[0151]
可选的,在上述步骤303、针对目标场景列表中每个场景,基于场景的场景类型,向场景中的的响应设备按照预设顺序发送动作指令,以使得场景中每个响应设备执行各自对应的预设动作之后,还可以执行:
[0152]
向预存的通信地址发送通知消息。
[0153]
其中,通知消息包括服务器向每个响应设备发送的动作指令所指示的动作。
[0154]
在本技术实施例中,预存的通信地址可以为用户的手机号码,服务器可以通过向用户的手机号码发送通知,使得智慧人居的人性化程度更高。
[0155]
如图7所示,图7为本技术实施例提供的一种设备控制方法的示例性流程图,结合图1所示的场景引擎功能组件,具体内容如下:
[0156]
场景日志收集器接收触发设备上报的事件数据,并将该事件数据发布。
[0157]
事件处理器订阅该事件数据,并将该事件数据转换为标准事件类型。
[0158]
事件处理器记录设备属性。
[0159]
在实际应用中,设备属性的变化也可以作为事件数据,例如,会议室中的投影仪a的设备属性包括运行时的功率,若投影仪a运行时的功率升高,则表示该投影仪a开始运行,此时,投影仪a运行时的功率升高这个事件可以触发会议室中的灯光关闭。
[0160]
事件处理器确定包括触发设备的场景,并遍历包括触发设备的每个场景,将除在预设时长内触发过场景任务的场景以及处于触发状态的场景之外的,包括触发设备的场景加入目标场景列表。
[0161]
针对目标场景列表中的每个场景,若该场景为手动场景,且该场景的场景任务为
延时任务,则定时任务注册器可以注册定时任务,当达到定时任务中包括的指定时长时,定时任务执行器确定执行次数,并按照预设顺序向该场景中的响应设备发送动作指令。
[0162]
若该场景为手动场景,且该场景的场景任务为非延时任务,则规则引擎可以判断事件数据是否满足手动触发规则,若满足,则服务器可以确定执行次数,并按照预设顺序向该场景中的响应设备发送动作指令。
[0163]
若该场景为自动场景,则规则引擎可以判断事件数据是否满足自动触发规则,若满足,则服务器可以确定执行次数,并按照预设顺序向该场景中的响应设备发送动作指令。
[0164]
通过本技术实施例,可以通过微服务架构以及各个场景之间的联动,实现较强的空间描述能力,进而通过较强的空间描述能力,提供优质的服务,满足各垂直行业的业务需求(例如智慧家居、智慧酒店、智慧社区、智慧医疗等)。
[0165]
如图8所示,图8为本技术实施例提供的一种平台即服务(platform as aservice,paas)平台的示意图,paas平台可以支持:设备触发条件管理、设备执行动作设置和设备参数标准化。
[0166]
其中,paas平台可以用于支持物联网(例如智慧人居),使得物联网可以正常运行。
[0167]
paas平台可以管理设备的触发条件,即保证了智慧人居的智能程度。
[0168]
paas平台还可以设置设备的执行动作,即paas平台还可以设置场景对应的场景任务。
[0169]
paas平台还可以将设备参数标准化,即便于统一的设备管理。
[0170]
如图9所示,图9为本技术实施例提供的一种技术支撑平台的示意图,图7中所示的技术用于实现本技术实施例所提供的方法。
[0171]
其中,关系型数据库管理系统(my structured query language,mysql)用于管理关系数据,其具有速度快、灵活性高等特点。
[0172]
基于分布式文件存储的数据库(mongodatabase,mongodb)可以提供可扩展的高性能数据存储解决方案。
[0173]
远程字典服务(remote dictionary server,redis)是一个存储系统,其支持存储多种类型的数据。
[0174]
日志分析(elasticsearch logstash kibana,elk)用于分析日志数据,在本技术实施例中,elk可以用于分析事件数据。
[0175]
spring boot是一种开源应用框架,提供具有控制反转特性的容器。
[0176]
spring cloud是一系列框架的有序集合,可以给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
[0177]
消息队列(rabbit message queue,rabbit mq)是一套开源的消息队列服务软件。
[0178]
规则引擎(drools)是一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高。
[0179]
连锁反应(if this then that,ifttt)服务可以将各种信息串联起来,然后再集中把信息呈现,解决了信息的冗杂等问题,实现了微服务。
[0180]
grafana主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具。
[0181]
nginx是一种高性能的超文本传输协议(hypertext transfer protocol,http)和
反向代理web服务器。
[0182]
在实现本技术实施例提供的方法的过程中,所使用的技术不限于图9中示出的技术。
[0183]
基于相同的技术构思,本技术实施例还提供一种设备控制装置,该装置应用于服务器,如图10所示,该装置包括:
[0184]
接收模块1001,用于接收触发设备发送的事件数据,事件数据用于表示触发设备检测到的指定数据的变化情况。
[0185]
获取模块1002,用于获取目标场景列表,目标场景列表中每个场景均包括触发设备,目标场景列表中每个场景分别对应一个场景任务,场景任务用于指示场景中的响应设备按照预设顺序执行自身对应的预设动作。
[0186]
发送模块1003,用于针对目标场景列表中每个场景,基于该场景的场景类型,向该场景中的响应设备按照预设顺序发送动作指令,以使得该场景中每个响应设备执行接收到的动作指令。
[0187]
在一种实施方式中,场景类型包括:手动场景和自动场景;发送模块1003,具体用于:
[0188]
针对目标场景列表中每个场景,若场景为手动场景,则基于场景对应的场景任务的任务类型,按照预设顺序向场景中的响应设备发送动作指令;
[0189]
若场景为自动场景,且事件数据符合自动触发规则,则按照预设顺序向场景中的响应设备发送动作指令。
[0190]
在一种实施方式中,任务类型包括:延时任务和非延时任务;发送模块1003,具体用于:
[0191]
若场景对应的场景任务为非延时任务,且事件数据符合手动触发规则,则按照预设顺序向场景中的响应设备发送动作指令;
[0192]
若场景对应的场景任务为延时任务,则在指定时长后,按照预设顺序向场景中的响应设备发送动作指令。
[0193]
在一种实施方式中,该装置还包括:
[0194]
生成模块,用于针对场景中每个响应设备,确定响应设备对应的预设执行次数,并生成包括预设执行次数的动作指令,预设执行次数为响应设备执行动作指令所指示的动作的次数。
[0195]
在一种实施方式中,手动触发规则包括多个手动触发条件;发送模块1003,具体用于:
[0196]
若场景对应的场景任务为非延时任务,且事件数据满足手动触发规则包括的至少一个手动触发条件,则按照预设顺序向场景中的响应设备发送动作指令;或者,
[0197]
若场景对应的场景任务为非延时任务,且事件数据满足手动触发规则包括的所有手动触发条件,则按照预设顺序向场景中的响应设备发送动作指令。
[0198]
在一种实施方式中,自动触发规则包括多个自动触发条件;发送模块1003,具体用于:
[0199]
若场景为自动场景,且事件数据满足自动触发规则包括的至少一个自动触发条件,则按照预设顺序向场景中的响应设备发送动作指令;或者,
[0200]
若场景为自动场景,且事件数据满足自动触发规则包括的所有自动触发条件,则按照预设顺序向场景中的响应设备发送动作指令。
[0201]
在一种实施方式中,获取模块1002,具体用于:
[0202]
确定包括触发设备的场景;
[0203]
遍历包括触发设备的每个场景,将除在预设时长内触发过场景任务的场景以及处于触发状态的场景之外的,包括触发设备的场景加入目标场景列表。
[0204]
在一种实施方式中,发送模块1003,还用于向预存的通信地址发送通知消息,通知消息包括服务器向每个响应设备发送的动作指令所指示的动作。
[0205]
本发明实施例还提供了一种服务器,如图11所示,包括处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101,通信接口1102,存储器1103通过通信总线1104完成相互间的通信,
[0206]
存储器1103,用于存放计算机程序;
[0207]
处理器1101,用于执行存储器1103上所存放的程序时,实现上述设备控制方法的步骤。
[0208]
上述服务器提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0209]
通信接口用于上述服务器与其他设备之间的通信。
[0210]
存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0211]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0212]
基于相同的技术构思,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述设备控制方法步骤。
[0213]
基于相同的技术构思,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述设备控制方法步骤。
[0214]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字
用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0215]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0216]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0217]
以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜