一种音乐版权数据高效入库的方法及系统与流程

文档序号:24123812发布日期:2021-03-02 12:34阅读:155来源:国知局
一种音乐版权数据高效入库的方法及系统与流程

[0001]
本发明涉及数据入库技术领域,尤其是涉及一种音乐版权数据高效入库的方法及系统。


背景技术:

[0002]
音乐版权数据一般包括:产品数据、编目数据、标签数据、歌曲数据、歌手数据、专辑数据、mv数据,咪咕音乐的统一曲库将不同类型的数据,通过不同的接口分发给合作支撑平台,供合作支撑平台使用;在合作支撑平台内部,为提高各子系统的数据查询效率,平台设计了一套自用的数据表,当合作支撑平台接收到来自统一曲库的新版权数据后,该表的数据需要第一时间完成更新入库;且数据入库的方案必须严格遵循了咪咕音乐的业务规范,各个接口视作一个整体,通过串行方式接收并入库数据,以确保业务数据与统一曲库完全一致,进而保障平台所有业务准确、正常开展。
[0003]
但随着近几年咪咕音乐版权爆发式增长,统一曲库每日向合作支撑平台分发数据量已从17年的平均1w/天暴涨至平均8w/天,多的时候甚至出现过30w/天的情况;分发数据过多时常造成待入库数据严重积压,入库程序僵死,原有的数据入库方案已无法很好地消化如此量级的数据。


技术实现要素:

[0004]
针对上述问题,本发明提供了一种音乐版权数据高效入库的方法及系统,在遵循咪咕音乐业务规范、确保音乐版权数据数据与统一曲库完全一致的原则下,对入库流程进行优化,进而提升数据入库效率。
[0005]
为实现上述目的,本发明提供了一种音乐版权数据高效入库的方法,包括:
[0006]
合作支撑平台接收统一曲库分发的版权数据,对不同种类的版权数据进行多线程并发处理;
[0007]
所述合作支撑平台各线程均根据所述版权数据中的唯一性id,判断本平台中是否存在该所述版权数据;
[0008]
若不存在,则将所述版权数据的操作状态标识设为新增;若存在,则将所述版权数据的操作状态标识设为修改;
[0009]
对操作状态标识为新增的版权数据进行入库操作;
[0010]
判断操作状态标识为修改的版权数据是否为新版本,若为新版本,则替换合作支撑平台中已存在的与所述唯一性id相同的版权数据。
[0011]
作为本发明的进一步改进,所述对操作状态标识为新增的版权数据进行入库时,若出现主键冲突,则重新判定本平台是否存在所述版权数据。
[0012]
作为本发明的进一步改进,所述判断操作状态标识为修改的版权数据是否为新版本,包括:
[0013]
比较状态标识为修改的版权数据和合作支撑平台中存在的相同唯一性id的版权
数据的版本号;
[0014]
若状态标识为修改的版权数据的版本号较大,则是新版本;
[0015]
若状态标识为修改的版权数据的版本号较小,则不是新版本。
[0016]
作为本发明的进一步改进,若状态标识为修改的版权数据不是新版本,则不需要做修改,处理终止。
[0017]
作为本发明的进一步改进,还包括:记录操作日志,采用多线程将不同种类的版权数据操作日志更新到平台数据表。
[0018]
本发明还提供了一种音乐版权数据高效入库的系统,包括:统一曲库和合作支撑平台,所述合作支撑平台包括数据接收模块、存在性判断模块、数据入库模块、新版本判断模块和数据修改模块;
[0019]
所述统一曲库,用于:
[0020]
向合作支撑平台分发的版权数据;
[0021]
所述数据接收模块,用于:
[0022]
接收统一曲库分发的版权数据,对不同种类的版权数据进行多线程并发处理;
[0023]
所述存在性判断模块,用于:
[0024]
各线程根据所述版权数据中的唯一性id,判断本平台中是否存在该所述版权数据;
[0025]
若不存在,则将所述版权数据的操作状态标识设为新增;若存在,则将所述版权数据的操作状态标识设为修改;
[0026]
所述数据入库模块,用于:
[0027]
对操作状态标识为新增的版权数据进行入库;
[0028]
所述新版本判断模块,用于:
[0029]
判断操作状态标识为修改的版权数据是否为新版本;
[0030]
所述数据修改模块,用于:
[0031]
当版权数据为新版本时,替换合作支撑平台中已存在的与所述唯一性id相同的版权数据。
[0032]
作为本发明的进一步改进,所述数据入库模块对操作状态标识为新增的版权数据进行入库时,若出现主键冲突,则重新判定本平台是否存在所述版权数据。
[0033]
作为本发明的进一步改进,所述新版本判断模块判断操作状态标识为修改的版权数据是否为新版本,具体用于:
[0034]
比较状态标识为修改的版权数据和合作支撑平台中存在的相同唯一性id的版权数据的版本号;
[0035]
若状态标识为修改的版权数据的版本号较大,则是新版本;
[0036]
若状态标识为修改的版权数据的版本号较小,则不是新版本。
[0037]
作为本发明的进一步改进,若状态标识为修改的版权数据不是新版本,则不需要做修改,处理终止。
[0038]
作为本发明的进一步改进,还包括:记录与合并模块;
[0039]
所述记录与合并模块,用于:
[0040]
记录操作日志,采用多线程将不同种类的版权数据操作日志更新到平台数据表。
[0041]
与现有技术相比,本发明的有益效果为:
[0042]
本发明在遵循咪咕音乐业务规范、确保音乐版权数据与统一曲库完全一致的原则下,合作支撑平台通过对统一曲库分发的不同种类的版权数据采用多线程并发处理,并且对数据的状态类型只进行新增和修改的区别,有利于对数据的快速处理,相较于原来版权数据串行处理,大大提升了数据入库效率,同时也避免了因入库数据严重积压导致的入库程序僵死的情况;
[0043]
本发明数据表更新同样采用多线程并发处理,大大提高了数据表更显效率。
附图说明
[0044]
图1为本发明一种实施例公开的音乐版权数据高效入库的方法的流程示意图;
[0045]
图2为本发明一种实施例公开的多线程中各线程对版权数据处理的流程示意图;
[0046]
图3为本发明一种实施例公开的音乐版权数据高效入库的系统示意图。
具体实施方式
[0047]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]
下面结合附图对本发明做进一步的详细描述:
[0049]
如图1所示,根据本发明提供的一种音乐版权数据高效入库的方法,包括步骤:
[0050]
s1、合作支撑平台接收统一曲库分发的版权数据,对不同种类的版权数据进行多线程并发处理;
[0051]
其中,
[0052]
版权数据的种类包括产品数据、编目数据、标签数据、歌曲数据、歌手数据、专辑数据、mv数据等。
[0053]
s2、如图2所示,合作支撑平台各线程均根据版权数据中的唯一性id,判断本平台中是否存在该版权数据;
[0054]
s3、若不存在,则将版权数据的操作状态标识设为新增;若存在,则将版权数据的操作状态标识设为修改;
[0055]
s4、对操作状态标识为新增的版权数据进行入库操作;
[0056]
其中,
[0057]
若出现主键冲突,则重新判定本平台是否存在版权数据。
[0058]
s5、判断操作状态标识为修改的版权数据是否为新版本,若为新版本,则替换合作支撑平台中已存在的与唯一性id相同的版权数据。
[0059]
其中,
[0060]
比较状态标识为修改的版权数据和合作支撑平台中存在的相同唯一性id的版权数据的版本号;
[0061]
若状态标识为修改的版权数据的版本号较大,则是新版本;
[0062]
若状态标识为修改的版权数据的版本号较小,则不是新版本,不需要做修改,处理
终止。
[0063]
s6、记录操作日志,包括入库记录、主键冲突异常记录、替换记录及非新版本为替换记录;采用多线程将不同种类的版权数据操作日志更新到平台数据表。
[0064]
如图3所示,本发明还提供了一种音乐版权数据高效入库的系统,包括:统一曲库和合作支撑平台,合作支撑平台包括数据接收模块、存在性判断模块、数据入库模块、新版本判断模块、数据修改模块和记录与合并模块;
[0065]
统一曲库,用于:
[0066]
向合作支撑平台分发的版权数据;
[0067]
数据接收模块,用于:
[0068]
接收统一曲库分发的版权数据,对不同种类的版权数据进行多线程并发处理;
[0069]
存在性判断模块,用于:
[0070]
各线程根据版权数据中的唯一性id,判断本平台中是否存在该版权数据;
[0071]
若不存在,则将版权数据的操作状态标识设为新增;若存在,则将版权数据的操作状态标识设为修改;
[0072]
数据入库模块,用于:
[0073]
对操作状态标识为新增的版权数据进行入库;
[0074]
其中,
[0075]
若出现主键冲突,则重新判定本平台是否存在版权数据。
[0076]
新版本判断模块,用于:
[0077]
判断操作状态标识为修改的版权数据是否为新版本;
[0078]
其中,
[0079]
比较状态标识为修改的版权数据和合作支撑平台中存在的相同唯一性id的版权数据的版本号;
[0080]
若状态标识为修改的版权数据的版本号较大,则是新版本;
[0081]
若状态标识为修改的版权数据的版本号较小,则不是新版本,不需要做修改,处理终止。
[0082]
数据修改模块,用于:
[0083]
当版权数据为新版本时,替换合作支撑平台中已存在的与唯一性id相同的版权数据;
[0084]
记录与合并模块,用于:
[0085]
记录操作日志,包括入库记录、主键冲突异常记录、替换记录及非新版本为替换记录;
[0086]
采用多线程将不同种类的版权数据操作日志更新到平台数据表。
[0087]
实施例:下面以统一曲库向某合作支撑平台发送歌曲数据为例:
[0088]
步骤1、合作支撑平台接收统一曲库分发的版权数据,识别到版权数据种类为歌曲数据,启动歌曲数据处理线程;
[0089]
步骤2、合作支撑平台歌曲数据处理线程根据版权数据中的唯一性id,判断本平台中是否存在该歌曲数据;
[0090]
步骤3、若不存在,则将版权数据的操作状态标识设为新增;若存在,则将版权数据
的操作状态标识设为修改。
[0091]
具体执行包括:
[0092][0093][0094]
步骤4、对操作状态标识为新增的版权数据进行入库操作;
[0095]
其中,
[0096]
若出现主键冲突,则重新判定本平台是否存在版权数据。
[0097]
具体执行包括:
[0098][0099]
步骤5、判断操作状态标识为修改的歌曲数据是否为新版本,若为新版本,则替换合作支撑平台中已存在的与唯一性id相同的歌曲数据。
[0100]
其中,
[0101]
比较状态标识为修改的歌曲数据和合作支撑平台中存在的相同唯一性id的歌曲数据的版本号;
[0102]
若状态标识为修改的歌曲数据的版本号较大,则是新版本;
[0103]
若状态标识为修改的歌曲数据的版本号较小,则不是新版本,不需要做修改,处理终止。
[0104]
具体执行包括:
[0105][0106]
步骤6、记录操作日志,采用多线程将歌曲数据与其他不同种类的版权数据操作日志更新到平台数据表。
[0107]
另外,数据处理使用数据库乐观锁,保证多线程并发情况下数据的准确性。
[0108]
乐观锁运行程序如下:
[0109][0110]
本发明的优点:
[0111]
(1)在遵循咪咕音乐业务规范、确保音乐版权数据与统一曲库完全一致的原则下,不再遵循曲库分发数据的的4种操作类型status(新增/变更/隐藏/下线),而与本地音乐资源进行比较,判断操作为“新增”还是“修改”合作支撑平台通过对统一曲库分发的不同种类的版权数据采用多线程并发处理,并且对数据的状态类型只进行新增和修改的区别,增强对数据的快速处理,相较于原来版权数据串行处理,大大提升了数据入库效率,同时也避免了因入库数据严重积压导致的入库程序僵死的情况;
[0112]
(2)新增操作捕获主键冲突,修改操作通过校验版本号的方式,去判断是否能操作,采用“多线程+乐观锁”方式,在高并发未遵循操作顺序的情况下,确保我方平台的数据
与统一曲库的数据一致。
[0113]
(3)数据表更新同样采用多线程并发处理,大大提高了数据表更显效率。
[0114]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1