指纹文件的存储方法、装置、设备及可读存储介质制造方法及图纸

技术编号:32803714 阅读:12 留言:0更新日期:2022-03-26 19:55
本申请公开了一种指纹文件的存储方法、装置、设备及可读存储介质,涉及数据存储领域。该方法包括:确定目标多媒体文件对应的指纹文件;接收主存储节点上传的负载数据;根据负载数据所指示的负载情况以及指纹文件对主存储节点进行预估负载排序;根据预估负载顺序从主存储节点中确定目标主存储节点,目标主存储节点用于存储指纹文件。通过确定主存储节点的负载数据,并根据指纹文件和负载数据确定负载排序,从而从n个主存储节点中确定主存储节点进行指纹文件的存储,避免主存储节点之间出现数据倾斜的问题,提高了主存储节点之间的负载均衡,从而提高了在主存储节点中进行数据读写的速率和效率,上述存储节点可以实现为云存储系统中的云服务器。统中的云服务器。统中的云服务器。

【技术实现步骤摘要】
指纹文件的存储方法、装置、设备及可读存储介质


[0001]本申请实施例涉及数据存储领域,特别涉及一种指纹文件的存储方法、装置、设备及可读存储介质。

技术介绍

[0002]分布式存储系统是指将数据分散存储在多台独立的设备上的存储系统,由多个存储节点构成,从而通过多个存储节点分担数据存储以及读取的压力,其中,上述存储节点实现为物理服务器或云服务器,也即,分布式存储系统为多台服务器构成的存储系统,或云存储系统。
[0003]相关技术中,采用一致性哈希算法和变种算法来实现数据的分片存储和查找,对存储节点的身份标识计算哈希值,设置存储节点分布在哈希环上;在存储的时候,计算数据标识的哈希值,在哈希环上确定与这个哈希值最接近的哈希值所对应的节点,然后把数据存储到这个节点上。
[0004]然而,通过上述方式进行数据存储时,哈希环是静态分配的环状存储系统,存储过程中会发生数据倾斜,导致部分存储节点存储的数据量较大,而其他存储节点存储的数据量较小,从而导致数据读写速率较慢的问题。

技术实现思路

[0005]本申请实施例提供了一种指纹文件的存储方法、装置、设备及可读存储介质,能够提高存储节点的负载均衡程度。所述技术方案如下:
[0006]一方面,提供了一种指纹文件的存储方法,应用于管理节点,所述方法包括:
[0007]确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
[0008]接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;
[0009]根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;
[0010]根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。
[0011]另一方面,提供了一种指纹文件的存储装置,所述装置包括:
[0012]确定模块,用于确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
[0013]接收模块,用于接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;
[0014]排序模块,用于根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;
[0015]所述确定模块,还用于根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。
[0016]另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的指纹文件的存储方法。
[0017]另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的指纹文件的存储方法。
[0018]另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的指纹文件的存储方法。
[0019]本申请实施例提供的技术方案带来的有益效果至少包括:
[0020]通过确定主存储节点的负载数据,并根据指纹文件和负载数据确定预估负载排序,从而从n个主存储节点中确定最适合存储指纹文件的主存储节点进行指纹文件的存储,避免n个主存储节点之间出现数据倾斜的问题,提高了n个主存储节点之间的负载均衡,从而提高了在n个主存储节点中进行数据读写的速率和效率。
附图说明
[0021]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本申请一个示例性实施例提供的分布式存储系统的实施环境示意图;
[0023]图2是本申请一个示例性实施例提供的指纹文件的存储方法的流程图;
[0024]图3是本申请一个示例性实施例提供的指纹文件存储方式的结构示意图;
[0025]图4是本申请另一个示例性实施例提供的指纹文件的存储方法的流程图;
[0026]图5是基于图4示出的实施例提供的命令同步过程的示意图;
[0027]图6是本申请另一个示例性实施例提供的指纹文件的存储方法的流程图;
[0028]图7是本申请一个示例性实施例提供的指纹文件的存储装置的结构框图;
[0029]图8是本申请另一个示例性实施例提供的指纹文件的存储装置的结构框图;
[0030]图9是本申请一个示例性实施例提供的服务器的结构框图。
具体实施方式
[0031]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0032]首先,针对本申请实施例中涉及的名词进行简单介绍:
[0033]云技术(Cloud technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。技术网络系统的后台服务需要大量的计算、存储资源,示意性的,双录视频的质检过程中,需要对双录视频进行存储、对双录视频中的不同关键视频片段进行人工智能(Artificial Intelligence,AI)计算。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
[0034]分布式存储系统:是指将数据分散存储在多台独立的设备上的存储系统。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。其中,多台存储服务器可以实现为物理服务器,也可以实现为云服务器。
[0035]示意性的,图1是本申请一个示例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种指纹文件的存储方法,其特征在于,应用于管理节点,所述方法包括:确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。2.根据权利要求1所述的方法,其特征在于,所述根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,包括:将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,所述预估负载数据用于指示所述主存储节点的预估负载情况;根据所述预估负载数据对所述主存储节点进行预估负载排序。3.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量;所述将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:将所述负载量与所述文件数据量相加,得到预估数据量作为所述预估负载数据。4.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量和负载比例;所述将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;将所述负载量与所述文件数据量相加,得到预估数据量;根据所述预估数据量和所述负载容量,确定预估负载比例作为所述预估负载数据。5.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量和负载比例;将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;将所述负载量与所述文件数据量相加,得到预估数据量;根据所述预估数据量和所述负载容量,确定预估负载比例;对所述预估数据量和所述预估负载比例进行加权求和,得到所述主存储节点的负载能力参数,作为所述预估负载数据。6.根据权利要求1至5任一所述的方法,其特征在于,所述接收主存储节点上传的负载数据,包括:每隔预设时长接收所述主存储节点上传的所述负载数据;或,
响应于获取所述指纹文件,向所述主存储节点发送存储指令,所述存储指令用于指示存在所述指纹文件需要存储;接收所述主存储节点根据所述存储指令反馈的所述负载数据;或,接收所述主存储节点在完成数据存储后反馈的更新后的所述负载数据,所述管理节点用于在接收到所述负载数据后,对所述负载数据进行存储。7.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,包括:响应于存在第一主存储节点...

【专利技术属性】
技术研发人员:张啸宇朱子荣刘琦
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1