一种智能家电预约控制方法、装置和存储介质与流程

文档序号:31662812发布日期:2022-09-27 23:23阅读:32来源:国知局
一种智能家电预约控制方法、装置和存储介质与流程

1.本发明涉及智能家居技术,具体涉及智能家电预约控制方法、装置和存储介质。


背景技术:

2.传统的智能家电控制,在针对智能家电进行预约使用时,通常需要对设备进行操作,很多设备仅支持单次预约。有部分智能家电支持多次预约,但是用户需要分别查看设备来回顾预约记录,不利于用户操作,还容易引起用户的记忆混淆。


技术实现要素:

3.鉴于以上技术问题,本发明的目的在于提供一种智能家电预约控制方法、装置和存储介质,以便于用户浏览当前预约的任务,便于用户对预约任务进行了解和操作。
4.一方面,本发明采用以下技术方案:一种智能家电预约控制方法,包括:
5.响应预约管理界面的显示请求,从第一数据库表中获取对应所有设备可执行的预约数据;
6.按预定分类维度对所述预约数据进行排序,得到预约数据排序结果;
7.将所述预约数据排序结果以列表形式显示在所述预约管理界面中。
8.在部分实施例中,在所述响应预约管理界面的显示请求之前,还包括以下步骤:
9.在软件客户端显示第一预约添加界面,所述第一预约添加界面用于添加多个设备的预约数据;
10.获取针对第一预约添加界面的第一输入指令;
11.根据所述第一输入指令确定预约数据,所述预约数据包括目标设备、预约时间和任务信息;
12.将所述预约数据写入所述第一数据库表;
13.和/或包括以下步骤:
14.在设备上显示第二预约添加界面,所述第二预约添加界面用于添加该设备的预约数据;
15.获取针对第二预约添加界面的第二输入指令;
16.根据所述第二输入指令确定预约数据,所述预约数据包括目标设备,预约时间和任务信息;
17.将所述预约数据写入所述第一数据库表。
18.在部分实施例中,所述按预定分类维度对所述预约数据进行排序,得到预约数据排序结果,具体包括:
19.在接收到查询请求时,根据所述查询请求在redis中查找预约数据排序结果;
20.当redis中不存在对应的预约数据排序结果时,根据所述查询请求指定的分类维度对所述预约数据进行排序,并将预约数据排序结果存放在redis中;
21.当预约数据更新时,删除redis中的预约数据排序结果。
22.在部分实施例中,还包括以下步骤:在设备首页显示该设备对应的预约数据以及最近一次的预约执行时间,其中,设备对应的预约数据按照执行时间的先后进行排序。
23.在部分实施例中,所述最近一次的预约执行时间,通过以下方式确定:
24.获取该设备下所有可执行的预约数据;
25.将当前时间和预约数据对应的时间进行格式转换,并加入到treeset中进行升序排序,得到时间排序结果;
26.根据时间排序结果确定与当前时间最接近的任务执行时间作为最近一次的预约执行时间。
27.在部分实施例中,所述将当前时间和预约数据对应的时间进行格式转换,并加入到treeset中进行排序,具体包括:
28.将当前时间和预约数据对应的时间按照预设规则处理,得到当前时间对应的第一数值和预约数据对应的第二数值;其中,所述预设规则以星期数作为数值中的前n位,以小时和分钟作为数值中后m位,n和m均为正整数;
29.将第一数值和第二数值加入到treeset中进行升序排序,得到从左到右升序排列的时间排序结果;
30.所述根据时间排序结果确定与当前时间最接近的任务执行时间作为最近一次的预约执行时间,具体包括:
31.判断是否存在与第一数值右相邻的第二数值,若是,则根据与第一数值右相邻的第二数值解析的时间作为最近一次的预约执行时间;若否,则解析treeset中最小的第二数值作为最近一次的预约执行时间。
32.在部分实施例中,还包括以下步骤:
33.从第一数据库表抽取需要触发的预约数据;
34.根据预约数据的触发时间,在触发时间到来时向对应设备发送执行指令;
35.接收设备上传的执行信息,并将所述执行信息存储到第二数据库表中;
36.从所述第二数据库表中抽取需要推送的信息,按照预定的推送规则推送执行信息。
37.在一些实施例中,还包括以下步骤:
38.在所述预约管理界面,接收第三输入指令;
39.根据所述第三输入指令添加预约或删除预约。
40.另一方面,本技术实施例提供了一种智能家电预约控制装置,包括:
41.存储器,用于存储程序;
42.处理器,用于加载所述程序以执行所述的智能家电预约控制方法。
43.另一方面,本技术实施例提供了一种计算机可读存储介质,其存储有程序,所述程序被处理器执行时,实现所述的智能家电预约控制方法。
44.本发明通过响应预约管理界面的显示请求,从第一数据库表中获取对应所有设备可执行的预约数据;然后按预定分类维度对所述预约数据进行排序,得到预约数据排序结果;并且将所述预约数据排序结果以列表形式显示在所述预约管理界面中,通过实施本方式,可以将预约数据先存储在第一数据库表之中,并从中选择可执行的预约数据进行排序,基于一个预约管理界面的显示请求,显示按照一定分类维度进行排序的结果,通过这一方
式,可以将不同设备的预约数据集成到一个页面进行排序显示,用户可以根据排序的结果浏览之前的预约的记录,以便于理清预约的情况,从而方便对预约数据进行管理。
附图说明
45.图1为本发明一实施例提供的一种智能家电预约控制方法流程示意图;
46.图2为本发明一实施例提供的一种实际场景下的系统功能示意图;
47.图3为本发明一实施例提供的一种实际场景下的系统功能执行时序图;
48.图4为本发明一实施例提供的一种实际场景下的预约流程图;
49.图5为本发明一实施例提供的一种智能家电预约控制装置的结构示意图。
具体实施方式
50.为使本技术的目的、技术方案和优点更加清楚,以下将参照本技术实施例中的附图,通过实施方式清楚、完整地描述本技术的技术方案,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
52.本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
53.本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
54.参照图1、图2和图3,本实施例公开了一种智能家电预约控制方法,包括:
55.s0、添加预约步骤,添加预约的方式有两种。
56.方式1包括步骤s011~s013:
57.s011、在软件客户端显示第一预约添加界面。参照图3,在预约是,可以通过智能家居app进行预约,智能家居app可以控制若干个智能家电。当然,可以理解的是,在本步骤中,亦可以在设备专用的软件app上进行预约。在本步骤中,加载对应的ui页面,ui页面中有添加预约的按钮和表单。利用智能家居app进行预约,可以针对绑定的多个设备进行预约操作。
58.s012、获取针对第一预约添加界面的第一输入指令。
59.用户可以通过输入指令的方式对第一预约添加界面进行操作,从而将目标设备,预约时间和任务信息输入到页面的栏目之中。
60.s013、根据所述第一输入指令确定预约数据,所述预约数据包括目标设备,预约时间和任务信息。
61.随后,软件客户端通过第一输入指令可以确定预约数据的内容。例如,电饭锅,周一13:30,做饭。
62.s014、将所述预约数据写入所述第一数据库表。
63.这些内容经过合法性校验之后会被存储在第一数据库表之中。
64.方式2包括步骤s021~s023:
65.s021、在设备上显示第二预约添加界面。
66.在本步骤中,用户可以直接对设备进行操作,在设备上进行预约设备通过联网功能可以上传这些预约信息。可以理解的是,在设备对应的预约添加界面上进行预约,仅能针对该设备进行预约。
67.s022、获取针对第二预约添加界面的第二输入指令。
68.用户可以通过输入指令的方式对第二预约添加界面进行操作,从而将目标设备,预约时间和任务信息输入到页面的栏目之中。
69.s023、根据所述第二输入指令确定预约数据,所述预约数据包括目标设备,预约时间和任务信息。
70.随后,设备过第二输入指令可以确定预约数据的内容。
71.s024、将所述预约数据写入所述第一数据库表。
72.然后设备通过联网功能将预约数据写入第一数据库表之中。
73.在完成若干个预约任务的设置后,用户通过app打开预约管理界面,如图2所示,预约管理界面包括app预约界面,也包括设备首页。用户可以直接在预约管理界面对预约任务进行处理。
74.s1、响应预约管理界面的显示请求,从第一数据库表中获取对应所有设备可执行的预约数据。
75.具体地,用户打开智能家居app,智能家居app在进入预约管理界面时,向服务器发起显示请求,服务器从第一数据库表中获取所有设备可以执行的预约数据。这些预约数据可能是来自于多个不同的设备,这些设备可以是诸如电饭锅、洗衣机、电动窗帘、扫地机器人、智能灯具等。
76.s2、按预定分类维度对所述预约数据进行排序,得到预约数据排序结果。
77.所述分类的维度包括时间、任务类型、设备类型等。用户可以根据需要选择排序的维度。
78.具体地,在接收到查询请求时,根据所述查询请求在redis中查找预约数据排序结果;
79.当redis中不存在对应的预约数据排序结果时,根据所述查询请求指定的分类维度对所述预约数据进行排序,并将预约数据排序结果存放在redis中;数据以键值对的形式(key:value)缓存在redis中,可通过key查询到对应的value,其中,value是排序好的数据,即预约数据排序结果。获取数据查询请求之后,都先根据预定分类维度对应的key查询redis;如有,则从redis中获取对应值;如没有,则从mysql即第一数据库表中获取。
80.当预约数据更新时,删除redis中的预约数据排序结果。当数据更新时,在redis中相应的缓存数据会自动删除,查询时同样执行上述查询过程,因redis没有则只能去mysql获取。
81.从上面实施例可知,服务器在第一次接收到查询时,可以按照各预定分类维度对所述预约数据进行排序,将得到的预约数据排序结果缓存在redis中。可以仅按查询的分类维度进行排序,然后存储与redis中。也可以将各维度都进行一次排序,然后都将排序的结构存储在redis之中,通过这样的方式可以加快用户得到排序结果的速度。
82.在预约数据更新后,排序结果是不正确的,因此,可以在预约数据更新后删除redis中的数据。也可以当预约数据更新时,重新按照各预定分类维度对所述预约数据进行排序,并更新redis中的预约数据排序结果。但是为了保证数据的准确性,每次预约数据被更新后,都要从新进行排序然后缓存在redis中,对redis的旧数据进行删除或者覆盖。而更新的节点可以是用户在更新预约数据之后的再次查询时进行redis的更新,也可以是用户更新预约数据之后马上对redis进行更新。
83.而软件客户端显示的预约数据排序结果从直接redis中获取。
84.通过这一实施例,软件客户端可以在保证数据正确的前提下快速获得排序结果,优化用户体验。
85.s3、将所述预约数据排序结果以列表形式显示在所述预约管理界面中。
86.如图2所示,如app预约页面所示,图中包括预约1、预约2和预约3,可以按照三个预约执行时间的先后确定三个预约的显示顺序。同样,可以通过app预约页面进入到设备a和设备b中的首页界面,设备a名下有预约1,设备b名下有预约2和3,其中预约2和预约3在设备b的首页界面中也是按照时间先后顺序排列的。
87.所述app首页用于显示若干个设备的预约数据,若干个设备的预约数据按照执行时间的先后进行排序。当然也可以按照其他维度进行排序,但是由于用户较为关心即将执行的任务,因此,默认可以按照时间的维度进行排序,即先执行的会排序在前面,后执行的排序在后面。
88.所述设备首页用于显示该设备对应的预约数据以及最近一次的预约执行时间,其中,设备对应的预约数据按照执行时间的先后进行升序排序。对于设备首页而言,任务数量相对较少,因此可以有空余的空间显示其他用户关心的内容。例如,可以显示最近一次的预约执行时间,这样用户可以不需要点进预约选项就可以看到下一个任务所执行的时间。
89.参照图4,在部分实施例中,所述最近一次的预约执行时间,通过以下方式确定:
90.s41、获取该设备下所有可执行的预约数据;
91.s42、将当前时间和预约数据对应的时间进行格式转换,并加入到treeset中进行升序排序,得到时间排序结果。
92.具体地,s42包括:
93.s421、将当前时间和预约数据对应的时间按照预设规则处理,得到当前时间对应的第一数值和预约数据对应的第二数值;其中,所述预设规则以星期数作为数值中的前n位,以小时和分钟作为数值中后m位,n和m均为正整数。例如,可以将数值设置成5位,即n=1,m=4,例如,星期五13:40,转换成51340。在处理过程中循环获取每一条预约数据的星期数、时间拼接成5位的数值。
94.s422、将第一数值和第二数值加入到treeset中进行排序,得到从左到右升序排列的时间排序结果。
95.一般会设定只能预约未来一周内的时间时,假定出现星期三13:40,星期五13:40
两个预约,如果在周一12:00进行查询,排序的结果是11200(第一数值)、31340、51340,显然,下一个任务执行的时间是周三13:40。如果在周四12:00进行查询,这时候星期三的任务实质上是下周的。排序结果会是:31340、41200(第一数值)、51340。从这可以看出,下一个任务执行的时间是周五13:40。如果在周六12:00进行查询,这时候周三和周五的任务实际上都是下周的。排序结果是31340、51340、61200(第一数值),那么这时候,最左侧的数据就是下一个执行的任务。
96.s43、根据时间排序结果确定与当前时间最接近的任务执行时间作为最近一次的预约执行时间。
97.具体地,s43包括:
98.s431、判断是否存在与第一数值右相邻的第二数值,若是,则根据与第一数值右相邻的第二数值解析的时间作为最近一次的预约执行时间;若否,则解析treeset中最小的第二数值作为最近一次的预约执行时间。
99.从前面的例子可知,首先需要判断第一数值s是否存在与其右相邻的第二数值y,如果y存在,则将y进行解析,得到y对应的执行时间。如果没有,则直接查找最小的数值作为最近一次的预约执行时间。
100.上述实施例利用treeset在排序中的优势,利用预约的时间特点(一般时间不会过长),将星期几和时间组成数值,并基于这些数值排序,从而快速选出最近一次将要执行任务的时间,本实施例利用了工具特点和数据特点来完成任务,相对于其他方式,速度更快。
101.参照图3,在部分实施例中,还包括以下步骤:
102.s51、从第一数据库表抽取需要触发的预约数据。可以理解的是,在任务执行前需要从数据库表中抽取这些预约数据,然后发送给设备。可以按照时间执行任务,例如每天抽取当天需要执行的预约数据。
103.s52、根据预约数据的触发时间,在触发时间到来时向对应设备发送执行指令。然后根据具体的预约执行时间在时间来临时向对应的设备发送执行指令,使得设备执行该任务。
104.s53、接收设备上传的执行信息,并将所述执行信息存储到第二数据库表中。在执行完毕后,设备会上传执行的结果,那么服务器需要将这些信息记录下来,存储到第二数据库表中,形成执行记录。
105.s54、从所述第二数据库表中抽取需要推送的信息,按照预定的推送规则推送执行信息。可以理解的是,用户可以根据自己的需要设定需要推送的内容,例如可以设定只接收电饭锅的执行结果,不接收扫地机器人的执行结果。用户也可以设定执行的推送规则,在执行时推送,执行后推送,集中时间推送等。
106.在部分实施例中,还包括以下步骤:
107.s61、在所述预约管理界面,接收第三输入指令;
108.s62、根据所述第三输入指令添加预约或删除预约。
109.在本实施例中,用户可以在预约管理界面中,基于用户的执行,进行单独或者批量的预约添加和预约删除。
110.如图4所示的一种实际场景下的系统功能执行时序图,具体如下:
111.1)用户可以在各个设备的首页预约入口添加该设备的预约任务,用户添加预约任
务时,在数据库表a中添加设备、执行时间、执行任务三个必需字段。
112.在设备首页预约入口可以进行该设备预约的管理,包括添加预约、编辑预约、删除预约,该设备下所有预约以列表形式呈现,根据执行时间先后排序。
113.可以在设备首页查看该设备的预约记录,从数据库表a中筛选出该设备的预约记录。
114.2)在app首页有预约管理的入口,可以对具有预约功能的设备添加预约,预约记录保存在数据库表a中。
115.3)app首页预约管理入口提供增加预约多选设备的功能,可直接对多个设备添加相同的预约任务,预约记录保存在数据库表a中。
116.4)在app首页预约管理入口,从数据库表a中获取所有设备的预约记录,用户制定的所有预约任务都会在这里以列表的形式显示(包括在设备首页添加的预约与app首页添加的预约),用户可以根据预约执行时间点、执行周期、执行设备、执行功能对列表进行分类查看,也可以在列表处直接对该预约任务进行管理。
117.5)在对列表进行分类查看时,利用redis缓存,将每种分类的结果存储在缓存中,当用户频繁查询时,可从缓存中快速得到结果,提高系统反应速度。
118.6)为了提高系统的友好交互性,在设备首页下方添加消息模块,显示该设备最近一条等待执行的预约,例如a设备:下次预约将于今天12:00开始;b设备:下次预约将于明天15:30开始;c设备:下次预约将于下周一08:00开始。告知用户设备近期的动态。
119.7)预约定时任务定期检测数据库表a中执行时间字段,抽取当前需要执行的预约记录;然后抽取记录中预约设备、预约任务字段,向设备发出触发指令。
120.设备接收到触发指令后将执行结果上报至app端,保存到数据库表b中,消息推送定时任务从数据库表b中获取需要推送的消息记录,向用户推送预约执行结果,帮助用户掌握设备运行状态。
121.本发明会针对多个设备预约的管理及提升用户便利度提出解决方案,使得设备预约功能更加完善。
122.参照图5,本技术实施例提供了一种智能家电预约控制装置100,包括:
123.存储装置104,用于存储程序;
124.处理器102,用于加载所述程序以执行所述的智能家电预约控制方法。
125.本发明还提供一种计算机存储介质,其上存储有计算机程序,本发明的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在该计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计
算机存储介质不包括电载波信号和电信信号。
126.对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1