[发明专利]一种分布式音频指纹引擎系统在审
申请号: | 202010097455.5 | 申请日: | 2020-02-17 |
公开(公告)号: | CN111324767A | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 刘翔鹏;肖龙源;李稀敏;蔡振华;刘晓葳;谭玉坤 | 申请(专利权)人: | 厦门快商通科技股份有限公司 |
主分类号: | G06F16/61 | 分类号: | G06F16/61;G06F16/63 |
代理公司: | 厦门原创专利事务所(普通合伙) 35101 | 代理人: | 高巍 |
地址: | 361000 福建省厦门市*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 音频 指纹 引擎 系统 | ||
本发明公开了一种分布式音频指纹引擎系统,所述的系统包括数据节点模块和计算节点模块;所述计算节点模块包括master节点,所述计算节点模块用于将搜索请求进行计算,并分摊到多个master节点并发执行音频指纹搜索,再将每个master节点返回的结果输出;所述数据节点模块用于添加音频指纹模板至系统中。
技术领域
本发明涉及音频指纹技术领域,尤其涉及一种分布式音频指纹引擎系统。
背景技术
音频指纹在众多移动端音乐播放器中使用,是哼歌、哼曲识别的主要算法。为了能在服务中搜索到相关的音频数据,需要提前录入大量音频,对音频提取音频指纹特征,存入数据库,作为模板数据。在之后音频搜索中,则需要跟库所有的音频指纹模板一一比对,计算出相似度最高的模板。为了提高搜索速度,会将指纹模板数据缓存在内存数据库redis中。但是如果服务器配置有限,将限制整个音频指纹模板库的规模,必须扩展现有redis缓存机器的内存。该方案的不足是单机内存是有上限。此外音频指纹引擎使用多实例部署,以分摊请求压力和满足高可用。另一不足点是当引擎实例A中添加了一个新的音频指纹模板,会将其发送到内存或redis,并广播其他引擎实例到redis中读取,多个实例之间数据的一致性无法得到保证。而且每台引擎实例每次进行音频指纹搜索,都是在单引擎实例上对全量模板库进行搜索,效率低。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足提供一种分布式音频指纹引擎系统,所述系统包括数据节点模块和计算节点模块;
所述计算节点模块包括master节点,所述计算节点模块用于将搜索请求进行计算,并分摊到多个master节点并发执行音频指纹搜索,再将每个master节点返回的结果输出;
所述数据节点模块用于添加音频指纹模板至系统中。
优选的,所述添加音频指纹模板至系统中进一步为:通过一致性哈希算法计算所要添加的音频指纹模板映射到对应槽位的master节点上,录入到系统中。
优选的,所述计算节点模块还包括挂载在master节点上的slave节点,所述slave节点用于与对应的maser节点实时同步;所述master节点至少挂载一个slave节点。
优选的,所述数据节点模块包括多个槽位,所述槽位均匀分布每个master节点上。
优选的,所述master节点被检测到宕机不工作时,通过raft选举算法对多个slave节点进行选举,并选举一个slave节点设置为新的master节点继续执行工作。
本发明的优点:
1、高可用、可横向扩展;
2、音频指纹引擎集群可以提供海量音频模板数据的多副本存储功能,数据安全并且通过raft保证一致性。
附图说明
图1为本发明一实施例提供的分布式音频指纹引擎系统结构示意图;
图2为本发明一实施例提供的分布式音频指纹引擎系统分布结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1所示为本发明一实施例提供的分布式音频指纹引擎系统结构示意图,所述系统包括数据节点模块和计算节点模块;
所述计算节点模块包括master节点,所述计算节点模块用于将搜索请求进行计算,并分摊到多个master节点并发执行音频指纹搜索,再将每个master节点返回的结果输出;
所述数据节点模块用于添加音频指纹模板至系统中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门快商通科技股份有限公司,未经厦门快商通科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010097455.5/2.html,转载请声明来源钻瓜专利网。