语音唤醒数据的处理方法、装置、电子设备及存储介质与流程

文档序号:30100992发布日期:2022-05-18 12:38阅读:205来源:国知局

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.图1是根据一示例性实施例示出的方法的流程图。
56.图2是根据一示例性实施例示出的方法的流程图。
57.图3是根据一示例性实施例示出的流程示意图。
58.图4是根据另一示例性实施例示出的流程示意图。
59.图5是根据一示例性实施例示出的装置的框图。
60.图6是根据一示例性实施例示出的电子设备的框图。
具体实施方式
61.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
62.在一次语音唤醒事件中,各智能设备在接收其他设备的唤醒数据后,会在唤醒周期(比如为1.5秒)内将本次唤醒的唤醒数据上传至服务器处保存,此过程即为数据打点。协同唤醒中,需将各设备的打点数据进行汇总统计,以便于获得本次唤醒过程中协同唤醒功能的质量指标(如同时唤醒率、有效决策数据等)。
63.相关技术中,当协同唤醒时,组网一致的各智能设备之间唤醒数据可以相互传递,使得每个智能设备处的唤醒数据全包含,即包含全部智能设备的唤醒数据。由此通过唯一唤醒标识(一般设置为拼接标识:最大设备标识_最大唤醒时间戳)能够实现各智能设备一次唤醒中唤醒数据的汇总或归纳。相关技术中打点数据的汇总方式仅适用于如下智能设备:相同账号(uid)、相同网络(wifi)以及所在组网一致或者位于对称组网的各智能设备。其中,当不同设备所在组网内设备相同,认为此不同设备组网一致或位于对称组网中。例如,设备a和设备b的账号和wifi相同,设备a所在的组网中包含设备a和设备b,设备b所在的组网中同样包含设备a和设备b,则设备a与设备b的组网一致或位于对称组网。
64.但是,相关技术中的方法无法适用于非对称组网中一次唤醒中唤醒数据的归纳。对于非对称组网而言,智能设备之间的唤醒数据无法实现全包含。例如,结合表1所示,设备a、设备b以及设备c均支持不同账号同wifi组网、同账号不同wifi组网,且均被引擎唤醒。表1中,设备a所在的组网中包含设备a、设备b和设备c,设备b所在的组网中包含设备a和设备b,设备c所在的组网包括设备a和设备c,三个设备账号或网络存在差异,并且所在组网不一致、位于非对称组网中。其中,三个设备标识满足:sn_a<sn_b<sn_c,三个设备唤醒时间戳满足:engine_a<engine_b<engine_c。而设备b和设备c不同账号且不同局域网无法组网,因此按相关技术方式的汇总方式时,设备b和设备c的唯一唤醒标识不一致,在一次唤醒时打点数据无法汇总。
65.因此,在设备组网不一致、非对称组网的场景中,还缺少对一次唤醒中各智能设备的打点数据汇总的方式。
66.表1
67.设备a(uid_1,wifi_1)b(uid_2,wifi_1)c(uid_1,wifi_2)组网(组内设备)a,b,ca,ba,c唤醒设备a,b,ca,ba,c
唯一唤醒标识sn_c+engine_csn_b+engine_bsn_c+engine_c
68.为解决相关技术中的问题,本公开一实施例提出了一种语音唤醒数据的处理方法,包括:在当次语音唤醒事件中,获取多个设备分别对应的多个唤醒数据集合;其中,每个设备的唤醒数据集合包括:设备所在组网中全部设备的唤醒数据;根据多个唤醒数据集合,查询包含第一唤醒数据的唤醒数据集合,得到至少一个唤醒数据集合;其中,第一唤醒数据是:多个唤醒数据集合中预设唤醒数据集合中包含的唤醒数据;将至少一个唤醒数据集合进行合并,得到目标唤醒数据集合;响应于预设唤醒数据集合中包括的唤醒数据全部查询完毕或者预设唤醒数据集合所指示的设备所在组网中全部设备的唤醒数据全部汇集,将目标唤醒数据集合作为当次语音唤醒的目标唤醒数据集合。本公开的方法中,能够对所获得的各唤醒数据集合进行汇总归类,从而获得当次语音唤醒事件中的目标唤醒数据集合,更好的适用于非对称组网场景中唤醒数据的汇总,有利于基于汇总的数据进行质量分析
69.本公开实施例的使用场景可以是:组网一致或不一致的多个智能设备(简称设备)语音协同唤醒的场景,尤其适用于组网不一致时各设备的语音协同唤醒场景。在一次语音唤醒事件中,各智能设备在接收到同组网内其他设备的唤醒数据后,会在唤醒周期(比如为1.5秒)内将本次唤醒的唤醒数据上传至服务器或决策设备,即数据打点过程。在一次唤醒中,服务器或决策设备需对打点数据进行汇总统计,以便于得到一次唤醒过程中协同唤醒功能的质量指标(如同时唤醒率、有效决策数据等),利于作唤醒相关质量指标分析或后续决策。
70.在一个示例性的实施例中,本实施例中的语音唤醒数据的处理方法,可应用于服务器,或者应用于语音唤醒中的决策设备,决策设备可以是智能设备中性能较好的设备,或者是智能手机、平板电脑等终端设备。
71.如图1所示,本实施例中的方法可以包括如下步骤:
72.s110、在当次语音唤醒事件中,获取多个设备分别对应的多个唤醒数据集合。
73.s120、根据多个唤醒数据集合,查询包含第一唤醒数据的唤醒数据集合,得到至少一个唤醒数据集合。
74.s130、将至少一个唤醒数据集合进行合并,得到目标唤醒数据集合。
75.s140、响应于预设唤醒数据集合中包括的唤醒数据全部查询完毕或者预设唤醒数据集合所指示的设备所在组网中全部设备的唤醒数据全部汇集,将目标唤醒数据集合作为当次语音唤醒的目标唤醒数据集合。
76.其中,在步骤s110中,每个设备的唤醒数据集合包括:该设备所在组网中全部设备的唤醒数据。在当次语音唤醒事件中,账号网络信息相同、位于相同组网的多个智能设备可以互相发送唤醒数据,由此在此组网的单个智能设备处形成包含组网内各设备唤醒数据的集合,即唤醒数据集合。
77.例如,设备a发送的唤醒数据集合为{设备a的唤醒数据,设备b的唤醒数据,设备c的唤醒数据},设备b发送的唤醒数据集合为{设备a的唤醒数据,设备b的唤醒数据},设备c发送的唤醒数据集合为{设备a的唤醒数据,设备c的唤醒数据}。根据三个设备的唤醒数据集合可知,三个设备所在组网不一致,部分设备所发送的唤醒数据集合未实现全包含。本步骤中,对于当次语音唤醒中涉及的全部设备,服务器可接收每个设备所发送的对应的唤醒数据集合。
78.在步骤s120中,第一唤醒数据是:多个唤醒数据集合中预设唤醒数据集合中包含的唤醒数据。预设唤醒数据集合可以是指:多个唤醒数据集合中的任一个,或者是按照一定的检索顺序(比如是在预设存储空间中的存储顺序)中第一个的唤醒数据集合。而第一唤醒数据可以是指预设唤醒数据集合中的至少一个唤醒数据。本步骤中,服务器在接收到各设备所分别发送的唤醒数据集合后,可通过遍历查询的方式,在所收到的多个唤醒数据集合中,确定包含第一唤醒数据的唤醒数据集合。包含第一唤醒数据的至少一个唤醒数据集合可以是多个唤醒数据集合中的部分或全部。
79.例如,结合步骤s110中的示例,预设唤醒数据集合是设备b发送的唤醒数据集合,第一唤醒数据为预设唤醒数据集合中设备a的唤醒数据。在全部设备的唤醒数据集合中,包含设备a的唤醒数据的唤醒数据集合包括:设备a所发送的唤醒数据集合{设备a的唤醒数据,设备b的唤醒数据,设备c的唤醒数据},设备b所发送的唤醒数据集合为{设备a的唤醒数据,设备b的唤醒数据},以及设备c所发送的唤醒数据集合{设备a的唤醒数据,设备c的唤醒数据}。
80.在步骤s130中,将包含第一唤醒数据的至少一个唤醒数据集合汇总,获得当次语音唤醒的目标唤醒数据集合。
81.在步骤s140中,当预设唤醒数据集合中包括的唤醒数据全部查询完毕,或者预设唤醒数据集合所指示的设备,也即预设唤醒数据集合中所涉及的设备的唤醒数据全部归类完毕,查询汇总结束,服务器可根据汇总的目标唤醒数据集合进行分析。
82.本公开实施例中,可通过查询第一唤醒数据的方式,将包含第一唤醒数据的唤醒数据集合进行汇总归类,有利于服务器端或决策设备根据汇总后的唤醒数据作唤醒相关质量指标分析或后续决策。
83.在一个示例性的实施例中,本实施例中的方法包括如图1所示的步骤s110至步骤s140,其中,每个设备的唤醒数据包括:设备标识以及唤醒时间戳。
84.本实施例中,每个设备的唤醒数据都包括:该设备的设备标识以及当次语音唤醒事件对应的唤醒时间戳。可以理解的,每次语音唤醒事件所对应的唤醒时间戳不同。本步骤中,在当次语音唤醒事件中所涉及的各个设备中,每个设备处可形成相同或不同的唤醒数据集合。结合如前所述的步骤s110,服务器可获取多个设备中每个设备在当次语音唤醒事件中的唤醒数据集合,以获得多个唤醒数据集合。
85.例如,前述示例中设备b所发送的唤醒数据集合为{设备a的唤醒数据,设备b的唤醒数据}。在该唤醒数据集合中,设备a的唤醒数据包括:设备a的设备标识sn_a以及当次语音唤醒对应的唤醒时间戳engine_a,设备b的唤醒数据包括:设备b的设备标识sn_b以及当次语音唤醒对应的唤醒时间戳engine_b,因此设备b所发送的唤醒数据集合还可记为{sn_a:engine_a,sn_b:engine_b}。同样的,设备a所发送的唤醒数据集合{设备a的唤醒数据,设备b的唤醒数据,设备c的唤醒数据},还可以记为{sn_a:engine_a,sn_b:engine_b,sn_c:engine_c};设备c所发送的唤醒数据集合{设备a的唤醒数据,设备c的唤醒数据};还可以记为{sn_a:engine_a,sn_c:engine_c}。
86.在一个示例性的实施例中,本实施例中的方法包括如图1所示的步骤s110至步骤s140。其中,在步骤s110之后,如在步骤s110与步骤s120之间,如图2所示,本实施例的方法还可以包括如下步骤:
87.s112、确定各设备唤醒数据中的最小唤醒时间戳。
88.s114、以最小唤醒时间戳为起点,将唤醒时间戳位于预设时长范围内的多个唤醒数据集合存储至预设存储空间。
89.其中,在步骤s112中,服务器在获取当次语音唤醒事件涉及的多个唤醒数据集合后,服务器可确定各设备唤醒数据中的最小唤醒时间戳。
90.在步骤s114中,预设时长范围比如设置为以小时为单位的时长,如1小时。以所确定的最小唤醒时间戳为起点,在该起点1小时范围内的唤醒数据集合均存储在相同的存储空间,由此当次语音唤醒事件中涉及的唤醒数据集合均可存储至同一个存储空间,即预设存储空间。在存储过程中,服务器可根据所接收的各唤醒数据集合的先后顺序,依次将唤醒数据集合存储。可以理解的,服务器先接收的唤醒数据集合中的最大时间戳,可能小于后接收的唤醒数据集合中的最大时间戳。
91.例如,在当次语音唤醒事件中,设备a所发送的唤醒数据集合为{sn_a:engine_a,sn_b:engine_b,sn_c:engine_c},最小唤醒时间戳为engine_a。设备b所发送的唤醒数据集合为{sn_a:engine_a,sn_b:engine_b},最小唤醒时间戳engine_b。设备c所发送的唤醒数据集合为{sn_a:engine_a,sn_c:engine_c},最小唤醒时间戳engine_a。预设时长范围可设置为1小时,结合一次唤醒事件中唤醒周期(各设备间传递唤醒数据后上传服务器的时间)一般为1.5秒,设备a、设备b和设备c的唤醒数据集合基本可全部划分至同一个存储空间中,即预设存储空间。
92.本公开实施例中,设备的打点数据量巨大,服务器在收到若干唤醒数据集合后,可对不同次语音唤醒事件所涉及的唤醒数据集合分区存储,即预先划分各唤醒数据集合的存储空间,有效拆解大量打点数据。本实施例中,当次语音唤醒事件中的打点数据均可在预设存储空间中存储,从而服务器在预设存储空间中遍历查询第一唤醒数据。在此基础上,本公开实施例中对于不同语音唤醒事件的打点数据,可实现多个存储空间的多线程并行查询,提升查询效率,从而提高数据分析效率。
93.在一个示例性的实施例中,本实施例中的方法包括如图1所示的步骤s110至步骤s140,还可以包括步骤s112及步骤s114。其中,本实施例的步骤s120可以包括如下步骤s1201或者步骤s1202:
94.s1201、在预设唤醒数据集合中包括一个预定设备的唤醒数据的情况下,根据多个唤醒数据集合,查询包括预定设备的唤醒数据的唤醒数据集合,得到至少一个唤醒数据集合。其中,预定设备的唤醒数据为第一唤醒数据。
95.s1202、在预设唤醒数据集合中包括多个预定设备的唤醒数据的情况下,根据多个唤醒数据集合,依次遍历查询包括多个预定设备的唤醒数据的唤醒数据集合,得到至少一个唤醒数据集合。
96.其中,在步骤s1201中,在预设唤醒数据集合中可能包括多个设备的唤醒数据,在此集合中所涉及的多个设备中设定一个预定设备。比如,预设唤醒数据集合是设备b发送的唤醒数据集合{设备a的唤醒数据,设备b的唤醒数据}或记为{sn_a:engine_a,sn_b:engine_b},预定设备为设备a,第一唤醒数据为设备a的唤醒数据。本步骤中,在多个唤醒数据集合中查询包含设备a的唤醒数据的至少一个数据集合。
97.在步骤s1202中,在预设唤醒数据集合中可能包括多个设备的唤醒数据,在此集合
中所涉及的多个设备中设定一个或多个预定设备。比如,预设唤醒数据集合是设备b发送的唤醒数据集合{设备a的唤醒数据,设备b的唤醒数据}或记为{sn_a:engine_a,sn_b:engine_b},预定设备为设备b和设备a。在多个唤醒数据集合中,依次查询包含设备b的唤醒数据的至少一个数据集合,以及包含设备a的唤醒数据的至少一个数据集合。
98.在一个示例性的实施例中,本实施例中步骤s1201可以是包括如下步骤:
99.s1201-1、按预设存储空间中多个唤醒数据集合的存储顺序,依次遍历查询多个唤醒数据集合,得到包含第一唤醒数据的至少一个唤醒数据集合。
100.本步骤s1201-1中,结合前述实施例,多个唤醒数据集合存储在预设存储空间,因此可在预设存储空间中进行遍历查询。本步骤中,进行遍历查询时可具有一定的检索顺序,例如,结合唤醒数据集合在预设存储空间中的存储顺序,依次遍历查询各唤醒数据集合是否包含第一唤醒数据,确定包含第一唤醒数据的至少一个唤醒数据,汇总在一起。或者在其他示例中,也可采用其他查询方法在预设存储空间中进行查询,比如以二分查找法查询包含第一唤醒数据的至少一个唤醒数据集合。
101.可以理解的,在预设存储空间查询之前,服务器可以根据各设备唤醒数据中的唤醒时间戳所在的时间范围,或者根据各设备唤醒数据中的最小唤醒时间戳,确定当次语音唤醒事件对应的各唤醒数据集合所存储的预设存储空间,然后再在预设存储空间中遍历查询。
102.本步骤中,以按照存储顺序遍历查询的方式为例进行说明。
103.在一个示例中,如图3或图4所示,预设存储空间中按序存储如下设备(device)的唤醒数据集合:设备b、设备a和设备c,即在预设存储空间中包含如下三个唤醒数据集合:设备b的{sn_a:engine_a,sn_b:engine_b},设备a的{sn_a:engine_a,sn_b:engine_b,sn_c:engine_c},以及设备c的{sn_a:engine_a,sn_c:engine_c}。其中,设备b向服务器上报的数据记为b_value(包括设备b的唤醒数据集合),设备a向服务器上报的数据记为a_value(包括设备a的唤醒数据集合),设备c向服务器上报的数据记为c_value(包括设备c的唤醒数据集合)。
104.本示例中,结合图3所示,预设唤醒数据集合比如是设备b的唤醒数据集合,预定设备为设备a,第一唤醒数据比如是:设备b的唤醒数据集合中的设备a的唤醒数据sn_a:engine_a。在预设存储空间中遍历查询含第一唤醒数据sn_a:engine_a的唤醒数据集合。结合图3所示,服务器在预设存储空间中查询匹配过程中,可按照预设存储空间的存储顺序进行遍历,即按序依次遍历查询设备b、设备a和设备c唤醒数据集合中的第一唤醒数据。比如,在设备b的唤醒数据集合{sn_a:engine_a,sn_b:engine_b}中查询第一唤醒数据,可匹配到同样包含第一唤醒数据的设备a。在设备a的唤醒数据集合中查询第一唤醒数据,可匹配到设备c。包含预定设备的唤醒数据已全部查询完毕,确定匹配的设备集合或新的组网设备集合为:{设备a,设备b,设备c},记为第一设备集合{a/b/c}。至少一个唤醒数据集合,也即三个设备的打点数据集合包括:设备a的{sn_a:engine_a,sn_b:engine_b,sn_c:engine_c},设备b的{sn_a:engine_a,sn_b:engine_b},以及设备c的{sn_a:engine_a,sn_c:engine_c},此三个设备的唤醒数据集合记为{a_value,b_value,c_value}。
105.本示例中,在全部唤醒数据集合中查询第一唤醒数据完毕,且查询汇总的至少一个唤醒数据集合{a_value,b_value,c_value}与第一设备集合{a/b/c}完全匹配,结束查
询。此时,步骤s130中将至少一个唤醒数据集合合并所得的目标数据集合为{a_value,b_value,c_value},即为步骤s140当次语音唤醒的目标唤醒数据集合。
106.本实施例中,在步骤s1201-1之后,本实施例中还可以包括如下步骤:
107.s122、在预设存储空间中删除至少一个唤醒数据集合。其中,预设存储空间用于存储多个唤醒数据集合。
108.此步骤中,将步骤s1201-1中已经归类的至少一个唤醒数据集合从总数据中丢弃,从而能够减少内存的占用,并为减少后续查询的工作量,提高查询效率。例如,结合图3的示例,将{a/b/c}的唤醒数据集合从预设存储空间中删除丢弃,减少服务器的工作量以及占用的内存,提升查询效率。
109.在一个示例性的实施例中,本实施例中步骤s1202可以是包括如下步骤:在预设唤醒数据集合中包括多个预定设备的唤醒数据的情况下,循环执行以下步骤,直到多个预定设备的唤醒数据全部查询完成:
110.s1202-1、根据多个唤醒数据集合查询包括第一预定设备的唤醒数据,得到至少一个第一唤醒数据集合;其中,第一预定设备的唤醒数据为第一唤醒数据。
111.s1202-2、在预设存储空间中删除至少一个第一唤醒数据集合,得到修改后的唤醒数据集合;预设存储空间存储有多个唤醒数据集合。
112.s1202-3、将修改后的唤醒数据集合作为多个唤醒数据集合,将多个预定设备中不同于原第一预定设备的第二预定设备作为新的第一预定设备。
113.其中,本实施例中的预设唤醒数据集合中包括多个预定设备的唤醒数据,即在此集合中所涉及的多个设备中设定有一个或多个预定设备。比如,预设唤醒数据集合是设备b发送的唤醒数据集合{设备a的唤醒数据,设备b的唤醒数据},预定设备为设备b和设备a。此时可结合预定设备的调整,循环执行步骤s1202-1至s1202-3。
114.在步骤s1202-1中,结合前述示例,本步骤的遍历中第一预定设备比如是指设备b,第一预定设备的唤醒数据即为设备b的唤醒数据。在多个唤醒数据集合中,将经过查询确定包含设备b的唤醒数据的集合记为第一唤醒数据集合。
115.在一个示例中,如图4所示,预设唤醒数据集合如设备b的唤醒数据集合为{sn_a:engine_a,sn_b:engine_b},第一预定设备的唤醒数据即第一唤醒数据比如是:此集合中设备b的唤醒数据sn_b:engine_b。以第一唤醒数据sn_b:engine_b进行第一次遍历查询:在预设存储空间中遍历查询含第一唤醒数据sn_b:engine_b的唤醒数据集合。结合图4所示,在查询匹配过程中,可按照预设存储空间的存储顺序进行遍历。比如,首先在设备b的唤醒数据集合{sn_a:engine_a,sn_b:engine_b}中查询第一唤醒数据sn_b:engine_b,可匹配到同样包含第一唤醒数据sn_b:engine_b的设备a。获得如下打点数据或唤醒数据集合:设备a的{sn_a:engine_a,sn_b:engine_b,sn_c:engine_c},设备b的{sn_a:engine_a,sn_b:engine_b},此两个设备的唤醒数据集合记为第一唤醒数据集合:{a_value,b_value}。此时sn_b:engine_b已查询完毕,但匹配的设备集合或新的组网设备集合仍为第一设备集合:{设备a,设备b,设备c}或记为{a/b/c}。唤醒数据集合{a_value,b_value}与对应的第一设备集合{a/b/c}不匹配,缺少设备c的c_value。
116.在步骤s1202-2中,结合步骤s1202-1的实施方式及示例,在获得第一唤醒数据集合之后,在预设空间中删除第一唤醒数据集合。比如,在预设存储空间中删除{a_value,b_
value},即删除设备a和设备b的唤醒数据集合,此时预设存储空间中还剩余设备c的唤醒数据集合{sn_a:engine_a,sn_c:engine_c}。将此剩余的唤醒数据集合作为修改后的唤醒数据集合。
117.在步骤s1202-3中,对步骤s1202-1中多个唤醒数据集合进行重新赋值,即令步骤s1202-2中修改后的唤醒数据集合作为二次遍历的多个唤醒数据集合。并对原第一预定设备进行重新赋值,比如多个预定设备分别为设备b和设备a,第一预定设备为设备b,此步骤中将第二预定设备即设备a赋值作为新的第一预定设备。
118.在本步骤的重新赋值之后,可再次以设备a作为第一预定设备执行步骤s1202-1至s1202-3,进行第二次遍历查询。
119.仍结合图4所对应的示例中,在以sn_b:engine_b进行第一次遍历查询时,预设唤醒数据集合所指示的设备所在组网中全部设备的唤醒数据并未全部汇集,即在第一唤醒数据集合中包括设备c的唤醒数据sn_c:engine_c,但是却未包含设备c的唤醒数据集合c_value,此设备的唤醒数据集合仍在预设存储空间中未完成归类。因此再次执行步骤s1202-1至s1202-3,以设备a的唤醒数据作为第一预定设备的唤醒数据进行二次遍历查询。
120.比如,在预设存储空间中进行第二次遍历查询设备a的唤醒数据sn_a:engine_a,可以获得设备c的唤醒数据集合{sn_a:engine_a,sn_c:engine_c},至全部集合查询完毕。
121.由此步骤s130中可获得至少一个唤醒数据集合合并后的目标唤醒数据集合:{a_value,b_value,c_value}。
122.此时在步骤s140中,预设唤醒数据集合中的唤醒数据如sn_b:engine_b和sn_a:engine_a均已查询完毕;组网设备集合{a/b/c}与打点数据集合{a_value,b_value,c_value}是完全匹配的,即预设唤醒数据集合所指示的设备所在组网中全部设备的唤醒数据全部汇集,遍历查询汇总结束,当次语音唤醒的目标唤醒数据集合即为{a_value,b_value,c_value}。
123.本实施例中,对于汇集完毕的唤醒数据仍可以在预设存储空间中删除。将遗漏数据归类后,在存储空间中删除归类后的数据集合以减少内存占用。比如,在将设备c的唤醒数据集合并集处理后,在预设存储空间中删除设备c的唤醒数据集合。
124.本公开实施例中,可经过多次循环遍历对预设存储空间中未完成归类的数据进行补充查询,从而获得设备集合与设备的唤醒数据集合相匹配的目标唤醒数据集合,提升遍历查询过程中的可靠性。
125.可以理解的,当预设存储空间中预设唤醒数据集合中包括的唤醒数据全部查询完毕,或者预设唤醒数据集合所涉及的设备所在组网中全部设备的唤醒数据全部归类完毕,查询汇总结束。
126.在一个示例性的实施例中,本公开实施例还提出了一种语音唤醒数据的处理装置。如图5所示,本实施例的装置包括:获取模块110、确定模块120以及处理模块130,本实施例的装置用于实现上述实施例的方法。其中,获取模块110用于在当次语音唤醒事件中,获取多个设备分别对应的多个唤醒数据集合;其中,每个设备的唤醒数据集合包括:该设备所在组网中全部设备的唤醒数据;确定模块120用于根据多个唤醒数据集合,查询包含第一唤醒数据的唤醒数据集合,得到至少一个唤醒数据集合;其中,第一唤醒数据是:多个唤醒数据集合中预设唤醒数据集合中包含的唤醒数据;处理模块130用于将至少一个唤醒数据集
合进行合并,得到目标唤醒数据集合;处理模块130还用于,响应于预设唤醒数据集合中包括的唤醒数据全部查询完毕或者预设唤醒数据集合所指示的设备所在组网中全部设备的唤醒数据全部汇集,将目标唤醒数据集合作为当次语音唤醒的目标唤醒数据集合。
127.本实施例中,唤醒数据包括:设备标识以及当次语音唤醒事件对应的唤醒时间戳。
128.在一个示例性的实施例中,依旧参照图5,在获取多个设备分别发送的多个唤醒数据集合之后,确定模块120用于:确定各设备唤醒数据中的最小唤醒时间戳;以最小唤醒时间戳为起点,将唤醒时间戳位于预设时长范围内的多个唤醒数据集合存储至预设存储空间。
129.在一个示例性的实施例中,依旧参照图5,确定模块120还用于执行以下至少之一:在预设唤醒数据集合中包括一个预定设备的唤醒数据的情况下,根据多个唤醒数据集合,查询包括预定设备的唤醒数据的唤醒数据集合,得到至少一个唤醒数据集合;其中,预定设备的唤醒数据为所述第一唤醒数据;在预设唤醒数据集合中包括多个预定设备的唤醒数据的情况下,根据多个唤醒数据集合,依次遍历查询包括多个预定设备的唤醒数据的唤醒数据集合,得到至少一个唤醒数据集合。
130.在一个示例性的实施例中,依旧参照图5,确定模块120用于:在预设唤醒数据集合中包括多个预定设备的唤醒数据的情况下,循环执行以下步骤,直到多个预定设备的唤醒数据全部查询完成:根据多个唤醒数据集合查询包括第一预定设备的唤醒数据,得到至少一个第一唤醒数据集合;其中,第一预定设备的唤醒数据为第一唤醒数据;在预设存储空间中删除至少一个第一唤醒数据集合,得到修改后的唤醒数据集合;预设存储空间存储有多个唤醒数据集合;将修改后的唤醒数据集合作为多个唤醒数据集合,将多个预定设备中不同于原第一预定设备的第二预定设备作为新的第一预定设备。
131.在一个示例性的实施例中,依旧参照图5,确定模块120用于:按预设存储空间中多个唤醒数据集合的存储顺序,依次遍历查询多个唤醒数据集合,得到包含所述第一唤醒数据的至少一个唤醒数据集合。
132.在一个示例性的实施例中,依旧参照图5,确定模块120还用于:在预设存储空间中删除至少一个唤醒数据集合,其中,预设存储空间用于存储多个唤醒数据集合。
133.如图6所示是一种电子设备的框图。本公开还提供了一种电子设备,设备500可以包括:处理组件502和存储器504。
134.处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。
135.存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在设备500上操作的任何应用程序或方法的指令。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
136.在示例性实施例中,设备500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的方法。
137.本公开另一个示例性实施例中提供的一种非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由设备500的处理器520执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的方法。
138.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本技术旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
139.应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
当前第1页1 2 
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1