【技术实现步骤摘要】
指纹文件的存储方法、装置、设备及可读存储介质
[0001]本申请实施例涉及数据存储领域,特别涉及一种指纹文件的存储方法、装置、设备及可读存储介质。
技术介绍
[0002]分布式存储系统是指将数据分散存储在多台独立的设备上的存储系统,由多个存储节点构成,从而通过多个存储节点分担数据存储以及读取的压力,其中,上述存储节点实现为物理服务器或云服务器,也即,分布式存储系统为多台服务器构成的存储系统,或云存储系统。
[0003]相关技术中,采用一致性哈希算法和变种算法来实现数据的分片存储和查找,对存储节点的身份标识计算哈希值,设置存储节点分布在哈希环上;在存储的时候,计算数据标识的哈希值,在哈希环上确定与这个哈希值最接近的哈希值所对应的节点,然后把数据存储到这个节点上。
[0004]然而,通过上述方式进行数据存储时,哈希环是静态分配的环状存储系统,存储过程中会发生数据倾斜,导致部分存储节点存储的数据量较大,而其他存储节点存储的数据量较小,从而导致数据读写速率较慢的问题。
技术实现思路
[0005]本申请实施例提供了一种指纹文件的存储方法、装置、设备及可读存储介质,能够提高存储节点的负载均衡程度。所述技术方案如下:
[0006]一方面,提供了一种指纹文件的存储方法,应用于管理节点,所述方法包括:
[0007]确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
[0008]接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况, ...
【技术保护点】
【技术特征摘要】
1.一种指纹文件的存储方法,其特征在于,应用于管理节点,所述方法包括:确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。2.根据权利要求1所述的方法,其特征在于,所述根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,包括:将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,所述预估负载数据用于指示所述主存储节点的预估负载情况;根据所述预估负载数据对所述主存储节点进行预估负载排序。3.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量;所述将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:将所述负载量与所述文件数据量相加,得到预估数据量作为所述预估负载数据。4.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量和负载比例;所述将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;将所述负载量与所述文件数据量相加,得到预估数据量;根据所述预估数据量和所述负载容量,确定预估负载比例作为所述预估负载数据。5.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量和负载比例;将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;将所述负载量与所述文件数据量相加,得到预估数据量;根据所述预估数据量和所述负载容量,确定预估负载比例;对所述预估数据量和所述预估负载比例进行加权求和,得到所述主存储节点的负载能力参数,作为所述预估负载数据。6.根据权利要求1至5任一所述的方法,其特征在于,所述接收主存储节点上传的负载数据,包括:每隔预设时长接收所述主存储节点上传的所述负载数据;或,
响应于获取所述指纹文件,向所述主存储节点发送存储指令,所述存储指令用于指示存在所述指纹文件需要存储;接收所述主存储节点根据所述存储指令反馈的所述负载数据;或,接收所述主存储节点在完成数据存储后反馈的更新后的所述负载数据,所述管理节点用于在接收到所述负载数据后,对所述负载数据进行存储。7.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,包括:响应于存在第一主存储节点...
【专利技术属性】
技术研发人员:张啸宇,朱子荣,刘琦,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。