具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的音频指纹匹配查询的装置位于音频指纹匹配查询的系统中,如图1所示实施例,该系统可包括一个热门音频服务器100和至少一个冷门音频服务器200。一个热门音频服务器100中只包括了一个热门音频模型,每一个冷门音频服务器200中包括了至少一个冷门音频模型。用户通过安装在终端300上的音频播放器或浏览器等客户端向该系统发起查询请求,系统根据查询请求中的音频指纹,首先在热门音频服务器100中的热门音频模型中查找与音频指纹匹配的音频信息。如果系统在热门音频服务器100中能查找到与音频指纹匹配的音频信息,则将该音频信息返回给客户端所在终端300。如果系统在热门音频服务器100中没有查找到与音频指纹匹配的音频信息,则系统遍历各个冷门音频服务器200,在每一个冷门音频服务器200中遍历各个冷门音频模型,直至查找到与音频指纹匹配的音频信息,并返回匹配的音频信息给客户端所在终端300。此外,上述系统还可以包括用于建立音频模型的建模服务器和用于分发查询指令的查询服务器,建模服务器和查询服务器也可以是同一个服务器,或者是不单独设置额外的服务器,而是由热门音频服务器100代替建模服务器和查询服务器完成建模和查询功能。
参照图2,图2为本发明实施例中音频指纹匹配查询的装置所在系统中的服务器的总线图。系统中的服务器都可以包括:至少一个处理器101,例如CPU,至少一个网络接口104,用户接口103,存储器105,至少一个通信总线102。其中,通信总线102用于实现这些组件之间的连接通信。其中,用户接口103可以包括显示屏(Display)、键盘(Keyboard),还可以包括标准的有线接口、无线接口。网络接口104可以包括标准的有线接口、无线接口(如WIFI接口)。存储器105可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器105还可以是至少一个位于远离前述处理器101的存储装置。作为一种计算机存储介质的存储器105中可以包括操作系统、网络通信模块、用户接口模块以及音频指纹匹配查询程序。
在图2所示的音频指纹匹配查询的装置所在系统中,网络接口104主要用于连接其他服务器或终端,与其他服务器或终端进行数据通信;而用户接口103主要用于接收用户指令,并与用户进行交互;而处理器101可以用于调用存储器105中存储的音频指纹匹配查询程序,并执行以下操作:
统计各音频信息在设定的统计周期内的查询次数,并将各音频信息按照音频信息的查询次数从多到少的顺序依次排序;
对排序前n个音频信息建立热门音频模型,其中n为正整数,并将热门音频模型装载到热门音频服务器中;
当通过网络接口104接收到客户端发送的查询请求时,提取查询请求中的音频指纹,在热门音频服务器中的热门音频模型中查找与音频指纹匹配的音频信息;
通过网络接口104将匹配的音频信息返回给客户端。
在一个实施例中,处理器101调用存储器105中存储的音频指纹匹配查询程序还可以执行以下操作:
在下一个统计周期到达后,重新统计各音频信息在所述下一个统计周期内的查询次数,并重新将各音频信息按照所述下一个统计周期内的查询次数从多到少的顺序依次排序;
比较前一次排序前n个所述音频信息与本次排序前n个所述音频信息,获得本次排序新进入前n个的所述音频信息和本次排序未进入前n个的所述音频信息;
将本次排序新进入前n个的所述音频信息对应的模型数据添加到所述热门音频模型中,并从所述热门音频模型中剔除本次排序未进入前n个的所述音频信息对应的模型数据。
在一个实施例中,处理器101调用存储器105中存储的音频指纹匹配查询程序还可以执行以下操作:
对排序前n个之外的其余的音频信息建立多个冷门音频模型;
将多个冷门音频模型装载到至少一个冷门音频服务器中。
在一个实施例中,处理器101调用存储器105中存储的音频指纹匹配查询程序还可以执行以下操作:
当热门音频服务器中没有匹配的音频信息时,在各冷门音频服务器中的冷门音频模型中查找与音频指纹匹配的音频信息。
在一个实施例中,处理器101调用存储器105中存储的音频指纹匹配查询程序还可以执行以下操作:
获取排序前n个音频信息的音频数据;
从每一个音频数据中提取音频指纹;
根据音频指纹与对应的音频信息生成键值对;
将各键值对存储至热门音频哈希表中,获得热门音频模型。
在一个实施例中,处理器101调用存储器105中存储的音频指纹匹配查询程序还可以执行以下操作:
从查询请求中获取待查询的音频指纹;
获取热门音频服务器中的热门音频模型中的热门音频哈希表;
在热门音频哈希表中查找与音频指纹匹配的音频信息。
本实施例图1和图2所描述的音频指纹匹配查询的装置及其所在系统,在建立音频模型时,根据音频查询的热度对音频信息排序,将排序靠前的多个音频信息作为热门音频建立热门音频模型,并将热门音频模型加载到专门的热门音频服务器中,有利于减小系统的建模压力;在查询音频信息时,系统将携带音频指纹的查询请求下发给热门音频服务器,由热门音频服务器从热门音频模型中查找与音频指纹匹配的音频信息,由于热门音频服务器中只包括了一个热门音频模型,查询时热门音频服务器的查询处理速度快,且避免了对热门音频服务器带来过大的处理负担,有利于提高系统吞吐量,提高音频匹配查询的效率和成功率。
如图3所示,图3为本发明音频指纹匹配查询的方法的第一实施例的流程图。本实施例提到的音频指纹匹配查询的方法,包括:
步骤S10,统计各音频信息在设定的统计周期内的查询次数,并将各音频信息按照音频信息的查询次数从多到少的顺序依次排序;
本实施例中实现音频指纹匹配查询的方法的系统在建立热门音频模型前,预先统计各音频信息被查询的次数,还可以统计各音频信息对应的音频数据被下载或在线收听的次数。系统根据统计的次数对各音频信息排序,按照次数从多到少的顺序排序。排在前面的音频信息说明是用户经常搜索或收听的音频,将其归类为热门音频;而排在后面的其他音频信息说明是用户很少或从不搜索或收听的音频,将其归类为冷门音频。考虑到有些音频在过去一段时间内查询次数较多,而在最近一段时间查询次数较少,那么这些音频在近期就不属于热门音频,如果将这些音频信息所有时间段的查询次数全部统计出来,那么这些音频信息的查询次数总数仍然是比较多的,为了避免误将这一类音频信息归属于热门音频,在统计时,只统计设定的统计周期内的查询次数,例如最近一个月内、最近三个月内等,以获得最新的查询热度。
步骤S20,对排序前n个音频信息建立热门音频模型,其中n为正整数;
步骤S30,将热门音频模型装载到热门音频服务器中;
由于音频库中的音频数量非常庞大,可高达几百万个,通常热门音频的数量只占音频总量的一小部分,例如,音频库中的音频总量为800万,排序前1%的8万个音频作为热门音频,就可以满足广大用户的搜索需求。同时,热门音频的搜索率通常占总的音频搜索率的90%以上,系统在建模时,无须对音频库中的所有音频信息建模,可只对排序在前n个音频信息建模,即只对热门音频建模,一个热门音频模型中包括了所有的热门音频信息,大大减小了系统的建模压力,节省服务器资源。由于热门音频的搜索率占总的音频搜索率的90%以上,为了实现高的搜索服务能力,可在一个专门的服务器上加载建模获得的热门音频模型,即在热门音频服务器中只承载一个音频模型,有利于提高搜索效率。此外,在对热门音频建模的同时,还可以也对所有的音频信息建模,并分别在多个音频服务器中加载各音频模型,一个音频服务器中加载多个音频模型,即系统中包括一个热门音频服务器,还包括多个其他的音频服务器,在查询时,系统首先还是在热门音频服务器中查询,如果热门音频服务器中查询不到匹配的音频信息,再遍历其他各音频服务器,直至找到匹配的音频信息。
步骤S40,接收到客户端发送的查询请求;
步骤S50,提取查询请求中的音频指纹,在热门音频服务器中的热门音频模型中查找与音频指纹匹配的音频信息;
步骤S60,将匹配的音频信息返回给客户端。
用户在音频播放器、浏览器等客户端上播放一段音频时,如果这段音频的来源不是来自于客户端对应服务器中的音频库,客户端不会直接获得该音频对应的信息,此时客户端可以从正在播放的音频中提取音频指纹,并发送给服务器进行匹配。另外,如果用户在室内或室外听到感兴趣的音频时,通过安装在终端上的客户端录制一小段音频数据,客户端可将录制的音频数据转换为音频指纹,并将录制的音频指纹封装到查询请求中发送给本系统。此外,为了减轻客户端的工作量,还可以由客户端直接将待查询的音频数据封装到查询请求中发送给本系统,系统在接收到查询请求后,再从查询请求携带的音频数据中提取音频指纹。系统将携带音频指纹的查询请求下发给热门音频服务器,热门音频服务器在热门音频模型中查询匹配的音频信息,如果用户听到的音频属于热门音频,那么在热门音频模型中就能够查询到对应的音频信息。查询到的音频信息可包括音频的名称、歌手信息、专辑名、歌词、地址等。系统将音频信息通过网络返回给客户端所在终端,客户端可在用户界面上显示音频信息,或根据音频信息下载或在线播放对应的完整音频数据,供用户收听完整音频。
本实施例在系统中建立音频模型时,根据音频查询的热度对音频信息排序,将排序靠前的多个音频信息作为热门音频建立热门音频模型,并将热门音频模型加载到专门的热门音频服务器中,有利于减小系统的建模压力,提高了建模效率;在查询音频信息时,系统将携带音频指纹的查询请求下发给热门音频服务器,由热门音频服务器从热门音频模型中查找与音频指纹匹配的音频信息,由于热门音频服务器中只包括了一个热门音频模型,查询时热门音频服务器的查询处理速度快,且避免了对热门音频服务器带来过大的处理负担,有利于提高系统吞吐量,提高音频匹配查询的效率和成功率。
如图4所示,图4为本发明音频指纹匹配查询的方法的第二实施例的流程图。本实施例包括图3所示实施例的步骤,在步骤S30之后还包括:
步骤S31,在下一个统计周期到达后,重新统计各音频信息在下一个统计周期内的查询次数,并重新将各音频信息按照下一个统计周期内的查询次数从多到少的顺序依次排序;
步骤S32,比较前一次排序前n个音频信息与本次排序前n个音频信息,获得本次排序新进入前n个的音频信息和本次排序未进入前n个的音频信息;
步骤S33,将本次排序新进入前n个的音频信息对应的模型数据添加到热门音频模型中,并从热门音频模型中剔除本次排序未进入前n个的音频信息对应的模型数据。
本实施例的系统还可以根据查询次数统计结果,动态调整热门音频模型和其他音频模型中的音频信息。例如,音频A音频信息对应的建模数据原本并没有在热门音频模型中,但由于近段时间内音频A的查询次数增加,在排序中已经跻身于热门音频行列中,则将音频A的音频信息对应的建模数据调整到热门音频模型中。而音频B的音频信息对应的建模数据原本是在热门音频模型中,但由于近段时间内音频B的查询次数减少,在排序中已经不属于热门音频行列中,则将音频B的音频信息对应的建模数据从热门音频模型中剔除,剔除后的音频信息对应的建模数据可添加到其他音频模型中,以保证在查询时仍然能够查询到该音频信息。本实施例根据查询热度动态调整热门音频模型和其他音频模型中的音频信息,使音频指纹查询能够满足当前时间段的查询需求,同时,在调整音频模型中的数据时,并不是对所有音频信息重新建模,而是只调整排序有变化的部分音频信息,减少了建模压力,提高了建模效率。
如图5所示,图5为本发明音频指纹匹配查询的方法的第三实施例的流程图。本实施例包括图3所示实施例的步骤,在步骤S10之后还包括:
步骤S71,对排序前n个之外的其余的音频信息建立多个冷门音频模型;
步骤S72,将多个冷门音频模型装载到至少一个冷门音频服务器中。
本实施例中,为确保所有音频信息都能被查询处理,系统不单需要对热门音频建模,还需要对热门音频之外的其他音频建模。对于热门音频之外的其他音频,由于查询次数较少,可将其作为冷门音频,并建立冷门音频模型。多个冷门音频建立一个冷门音频模型,再将多个冷门音频模型分为多组,分别加载到多个冷门音频服务器中,即系统中包括一个热门音频服务器,还包括多个冷门音频服务器,一个冷门音频服务器中加载多个冷门音频模型,一个冷门音频模型中包括了多个冷门音频信息。本实施例分别对热门和冷门音频建模,满足了所有音频的查询需求;多个冷门音频模型加载到一个冷门音频服务器中,有利于节约服务器资源。
如图6所示,图6为本发明音频指纹匹配查询的方法的第四实施例的流程图。本实施例包括图5所示实施例的步骤,在步骤S50之后还包括:
步骤S80,当热门音频服务器中没有匹配的音频信息时,在各冷门音频服务器中的冷门音频模型中查找与音频指纹匹配的音频信息。
本实施例在查询音频信息时,系统首先还是在热门音频服务器中查询,如果热门音频服务器中查询不到匹配的音频信息,再遍历各冷门音频服务器,直至找到匹配的音频信息。本实施例将热门和冷门音频分别建模,首先还是在热门音频服务器中查询,有利于快速查找热门音频,提高查询吞吐量和查询效率;在热门音频模型中查询不到匹配音频信息时,再到冷门音频模型中查询,满足了所有音频的查询需求;由于冷门音频模型中不包括热门音频,避免了系统在冷门音频服务器中查询时又查询一次热门音频信息,减少了查询的工作量。
如图7所示,图7为本发明音频指纹匹配查询的方法的第五实施例的流程图。本实施例包括图3所示实施例的步骤,其中的步骤S20包括:
步骤S21,获取排序前n个音频信息的音频数据;
步骤S22,从每一个音频数据中提取音频指纹;
步骤S23,根据音频指纹与对应的音频信息生成键值对;
步骤S24,将各键值对存储至热门音频哈希表中,获得热门音频模型。
本实施例在建模时,从音频库中查找音频信息对应的音频数据,并从音频数据中提取音频指纹,将提取的音频指纹与对应的音频信息进行哈希运算,获得对应的键值对,并将键值对存储至哈希表中,所有的热门音频信息及其对应的音频指纹都存储在热门音频哈希表中,完成热门音频模型建模。对于冷门音频也可以采用同样的方式实现建模。本实施例在建模时,根据音频查询的热度对音频信息排序,将排序靠前的多个音频信息作为热门音频建立热门音频模型,有利于减小系统的建模压力。
如图8所示,图8为本发明音频指纹匹配查询的方法的第六实施例的流程图。本实施例包括图7所示实施例的步骤,其中的步骤S50包括:
步骤S51,从查询请求中获取待查询的音频指纹;
步骤S52,获取热门音频服务器中的热门音频模型中的热门音频哈希表;
步骤S53,在热门音频哈希表中查找与音频指纹匹配的音频信息。
本实施例的系统在接收到客户端所在终端发送的查询请求后,从查询请求携带的待识别的音频数据中提取待查询的音频指纹,并将音频指纹下发至系统中的热门音频服务器,热门音频服务器计算待查询的音频指纹对应的哈希值,并从热门音频模型中查找匹配的哈希值,获得对应的键值对,从该键值对中获得与待查询音频指纹匹配的音频信息。本实施例的系统在查询音频信息时,首先从热门音频服务器匹配查询,由于热门音频服务器中只包括了一个热门音频模型,有利于提高热门音频服务器的查询处理速度,且有利于提高系统吞吐量,提高了音频匹配查询的效率和成功率。
如图9所示,图9为本发明音频指纹匹配查询的装置的第一实施例的模块示意图。本实施例提出的音频指纹匹配查询的装置,包括:
排序模块110,用于统计各音频信息在设定的统计周期内的查询次数,并将各音频信息按照音频信息的查询次数从多到少的顺序依次排序;
建模模块120,用于对排序前n个音频信息建立热门音频模型,其中n为正整数,并将热门音频模型装载到热门音频服务器中;
查询模块130,用于当接收到客户端发送的查询请求时,提取查询请求中的音频指纹,在热门音频服务器中的热门音频模型中查找与音频指纹匹配的音频信息;
发送模块140,用于将匹配的音频信息返回给客户端。
本实施例中音频指纹匹配查询的装置所在的系统在建立热门音频模型前,预先统计各音频信息被查询的次数,还可以统计各音频信息对应的音频数据被下载或在线收听的次数。系统根据统计的次数对各音频信息排序,按照次数从多到少的顺序排序。排在前面的音频信息说明是用户经常搜索或收听的音频,将其归类为热门音频;而排在后面的其他音频信息说明是用户很少或从不搜索或收听的音频,将其归类为冷门音频。考虑到有些音频在过去一段时间内查询次数较多,而在最近一段时间查询次数较少,那么这些音频在近期就不属于热门音频,如果将这些音频信息所有时间段的查询次数全部统计出来,那么这些音频信息的查询次数总数仍然是比较多的,为了避免误将这一类音频信息归属于热门音频,在统计时,只统计设定的统计周期内的查询次数,例如最近一个月内、最近三个月内等,以获得最新的查询热度。
由于音频库中的音频数量非常庞大,可高达几百万个,通常热门音频的数量只占音频总量的一小部分,例如,音频库中的音频总量为800万,排序前1%的8万个音频作为热门音频,就可以满足广大用户的搜索需求。同时,热门音频的搜索率通常占总的音频搜索率的90%以上,系统在建模时,无须对音频库中的所有音频信息建模,可只对排序在前n个音频信息建模,即只对热门音频建模,一个热门音频模型中包括了所有的热门音频信息,大大减小了系统的建模压力,节省服务器资源。由于热门音频的搜索率占总的音频搜索率的90%以上,为了实现高的搜索服务能力,可在一个专门的服务器上加载建模获得的热门音频模型,即在热门音频服务器中只承载一个音频模型,有利于提高搜索效率。此外,在对热门音频建模的同时,还可以也对所有的音频信息建模,并分别在多个音频服务器中加载各音频模型,一个音频服务器中加载多个音频模型,即系统中包括一个热门音频服务器,还包括多个其他的音频服务器,在查询时,系统首先还是在热门音频服务器中查询,如果热门音频服务器中查询不到匹配的音频信息,再遍历其他各音频服务器,直至找到匹配的音频信息。
用户在音频播放器、浏览器等客户端上播放一段音频时,如果这段音频的来源不是来自于客户端对应服务器中的音频库,客户端不会直接获得该音频对应的信息,此时客户端可以从正在播放的音频中提取音频指纹,并发送给服务器进行匹配。另外,如果用户在室内或室外听到感兴趣的音频时,通过安装在终端上的客户端录制一小段音频数据,客户端可将录制的音频数据转换为音频指纹,并将录制的音频指纹封装到查询请求中发送给本系统。此外,为了减轻客户端的工作量,还可以由客户端直接将待查询的音频数据封装到查询请求中发送给本系统,系统在接收到查询请求后,再从查询请求携带的音频数据中提取音频指纹。系统将携带音频指纹的查询请求下发给热门音频服务器,热门音频服务器在热门音频模型中查询匹配的音频信息,如果用户听到的音频属于热门音频,那么在热门音频模型中就能够查询到对应的音频信息。查询到的音频信息可包括音频的名称、歌手信息、专辑名、歌词、地址等。系统将音频信息通过网络返回给客户端所在终端,客户端可在用户界面上显示音频信息,或根据音频信息下载或在线播放对应的完整音频数据,供用户收听完整音频。
本实施例在系统中建立音频模型时,根据音频查询的热度对音频信息排序,将排序靠前的多个音频信息作为热门音频建立热门音频模型,并将热门音频模型加载到专门的热门音频服务器中,有利于减小系统的建模压力;在查询音频信息时,系统将携带音频指纹的查询请求下发给热门音频服务器,由热门音频服务器从热门音频模型中查找与音频指纹匹配的音频信息,由于热门音频服务器中只包括了一个热门音频模型,查询时热门音频服务器的查询处理速度快,且避免了对热门音频服务器带来过大的处理负担,有利于提高系统吞吐量,提高音频匹配查询的效率和成功率。
如图10所示,图10为本发明音频指纹匹配查询的装置的第二实施例的模块示意图。本实施例包括图9所示实施例的模块,还增加了比较模块150,其中:
排序模块110还用于,在下一个统计周期到达后,重新统计各音频信息在下一个统计周期内的查询次数,并重新将各音频信息按照下一个统计周期内的查询次数从多到少的顺序依次排序;
比较模块150用于,比较前一次排序前n个音频信息与本次排序前n个音频信息,获得本次排序新进入前n个的音频信息和本次排序未进入前n个的音频信息;
建模模块120还用于,将本次排序新进入前n个的音频信息对应的模型数据添加到热门音频模型中,并从热门音频模型中剔除本次排序未进入前n个的音频信息对应的模型数据。
本实施例的系统还可以根据查询次数统计结果,动态调整热门音频模型和其他音频模型中的音频信息。例如,音频A音频信息对应的建模数据原本并没有在热门音频模型中,但由于近段时间内音频A的查询次数增加,在排序中已经跻身于热门音频行列中,则将音频A的音频信息对应的建模数据调整到热门音频模型中。而音频B的音频信息对应的建模数据原本是在热门音频模型中,但由于近段时间内音频B的查询次数减少,在排序中已经不属于热门音频行列中,则将音频B的音频信息对应的建模数据从热门音频模型中剔除,剔除后的音频信息对应的建模数据可添加到其他音频模型中,以保证在查询时仍然能够查询到该音频信息。本实施例根据查询热度动态调整热门音频模型和其他音频模型中的音频信息,使音频指纹查询能够满足当前时间段的查询需求,同时,在调整音频模型中的数据时,并不是对所有音频信息重新建模,而是只调整排序有变化的部分音频信息,减少了建模压力,提高了建模效率。
进一步的,建模模块120还用于:
对排序前n个之外的其余的音频信息建立多个冷门音频模型;
将多个冷门音频模型装载到至少一个冷门音频服务器中。
本实施例中,为确保所有音频信息都能被查询处理,系统不单需要对热门音频建模,还需要对热门音频之外的其他音频建模。对于热门音频之外的其他音频,由于查询次数较少,可将其作为冷门音频,并建立冷门音频模型。多个冷门音频建立一个冷门音频模型,再将多个冷门音频模型分为多组,分别加载到多个冷门音频服务器中,即系统中包括一个热门音频服务器,还包括多个冷门音频服务器,一个冷门音频服务器中加载多个冷门音频模型,一个冷门音频模型中包括了多个冷门音频信息。本实施例分别对热门和冷门音频建模,满足了所有音频的查询需求;多个冷门音频模型加载到一个冷门音频服务器中,有利于节约服务器资源。
进一步的,查询模块130还用于,当热门音频服务器中没有匹配的音频信息时,在各冷门音频服务器中的冷门音频模型中查找与音频指纹匹配的音频信息。
本实施例在查询音频信息时,系统首先还是在热门音频服务器中查询,如果热门音频服务器中查询不到匹配的音频信息,再遍历各冷门音频服务器,直至找到匹配的音频信息。本实施例将热门和冷门音频分别建模,首先还是在热门音频服务器中查询,有利于快速查找热门音频,提高查询吞吐量和查询效率;在热门音频模型中查询不到匹配音频信息时,再到冷门音频模型中查询,满足了所有音频的查询需求;由于冷门音频模型中不包括热门音频,避免了系统在冷门音频服务器中查询时又查询一次热门音频信息,减少了查询的工作量。
进一步的,建模模块120还用于:
获取排序前n个音频信息的音频数据;
从每一个音频数据中提取音频指纹;
根据音频指纹与对应的音频信息生成键值对;
将各键值对存储至热门音频哈希表中,获得热门音频模型。
本实施例在建模时,从音频库中查找音频信息对应的音频数据,并从音频数据中提取音频指纹,将提取的音频指纹与对应的音频信息进行哈希运算,获得对应的键值对,并将键值对存储至哈希表中,所有的热门音频信息及其对应的音频指纹都存储在热门音频哈希表中,完成热门音频模型建模。对于冷门音频也可以采用同样的方式实现建模。本实施例在建模时,根据音频查询的热度对音频信息排序,将排序靠前的多个音频信息作为热门音频建立热门音频模型,有利于减小系统的建模压力。
进一步的,查询模块130还用于:
从查询请求中获取待查询的音频指纹;
获取热门音频服务器中的热门音频模型中的热门音频哈希表;
在热门音频哈希表中查找与音频指纹匹配的音频信息。
本实施例的系统在接收到客户端所在终端发送的查询请求后,从查询请求携带的待识别的音频数据中提取待查询的音频指纹,并将音频指纹下发至系统中的热门音频服务器,热门音频服务器计算待查询的音频指纹对应的哈希值,并从热门音频模型中查找匹配的哈希值,获得对应的键值对,从该键值对中获得与待查询音频指纹匹配的音频信息。本实施例的系统在查询音频信息时,首先从热门音频服务器匹配查询,由于热门音频服务器中只包括了一个热门音频模型,有利于提高热门音频服务器的查询处理速度,且有利于提高系统吞吐量,提高了音频匹配查询的效率和成功率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。