CN114244855B - 指纹文件的存储方法、装置、设备及可读存储介质 - Google Patents

指纹文件的存储方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN114244855B
CN114244855B CN202010937378.XA CN202010937378A CN114244855B CN 114244855 B CN114244855 B CN 114244855B CN 202010937378 A CN202010937378 A CN 202010937378A CN 114244855 B CN114244855 B CN 114244855B
Authority
CN
China
Prior art keywords
load
main storage
data
file
storage node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010937378.XA
Other languages
English (en)
Other versions
CN114244855A (zh
Inventor
张啸宇
朱子荣
刘琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010937378.XA priority Critical patent/CN114244855B/zh
Publication of CN114244855A publication Critical patent/CN114244855A/zh
Application granted granted Critical
Publication of CN114244855B publication Critical patent/CN114244855B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

指纹文件的存储方法、装置、设备及可读存储介质
技术领域
本申请实施例涉及数据存储领域,特别涉及一种指纹文件的存储方法、装置、设备及可读存储介质。
背景技术
分布式存储系统是指将数据分散存储在多台独立的设备上的存储系统,由多个存储节点构成,从而通过多个存储节点分担数据存储以及读取的压力,其中,上述存储节点实现为物理服务器或云服务器,也即,分布式存储系统为多台服务器构成的存储系统,或云存储系统。
相关技术中,采用一致性哈希算法和变种算法来实现数据的分片存储和查找,对存储节点的身份标识计算哈希值,设置存储节点分布在哈希环上;在存储的时候,计算数据标识的哈希值,在哈希环上确定与这个哈希值最接近的哈希值所对应的节点,然后把数据存储到这个节点上。
然而,通过上述方式进行数据存储时,哈希环是静态分配的环状存储系统,存储过程中会发生数据倾斜,导致部分存储节点存储的数据量较大,而其他存储节点存储的数据量较小,从而导致数据读写速率较慢的问题。
发明内容
本申请实施例提供了一种指纹文件的存储方法、装置、设备及可读存储介质,能够提高存储节点的负载均衡程度。所述技术方案如下:
一方面,提供了一种指纹文件的存储方法,应用于管理节点,所述方法包括:
确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;
根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;
根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。
另一方面,提供了一种指纹文件的存储装置,所述装置包括:
确定模块,用于确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
接收模块,用于接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;
排序模块,用于根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;
所述确定模块,还用于根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中任一所述的指纹文件的存储方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述本申请实施例中任一所述的指纹文件的存储方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的指纹文件的存储方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过确定主存储节点的负载数据,并根据指纹文件和负载数据确定预估负载排序,从而从n个主存储节点中确定最适合存储指纹文件的主存储节点进行指纹文件的存储,避免n个主存储节点之间出现数据倾斜的问题,提高了n个主存储节点之间的负载均衡,从而提高了在n个主存储节点中进行数据读写的速率和效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的分布式存储系统的实施环境示意图;
图2是本申请一个示例性实施例提供的指纹文件的存储方法的流程图;
图3是本申请一个示例性实施例提供的指纹文件存储方式的结构示意图;
图4是本申请另一个示例性实施例提供的指纹文件的存储方法的流程图;
图5是基于图4示出的实施例提供的命令同步过程的示意图;
图6是本申请另一个示例性实施例提供的指纹文件的存储方法的流程图;
图7是本申请一个示例性实施例提供的指纹文件的存储装置的结构框图;
图8是本申请另一个示例性实施例提供的指纹文件的存储装置的结构框图;
图9是本申请一个示例性实施例提供的服务器的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,针对本申请实施例中涉及的名词进行简单介绍:
云技术(Cloud technology):是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。技术网络系统的后台服务需要大量的计算、存储资源,示意性的,双录视频的质检过程中,需要对双录视频进行存储、对双录视频中的不同关键视频片段进行人工智能(Artificial Intelligence,AI)计算。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
分布式存储系统:是指将数据分散存储在多台独立的设备上的存储系统。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。其中,多台存储服务器可以实现为物理服务器,也可以实现为云服务器。
示意性的,图1是本申请一个示例性实施例提供的分布式存储系统的实施环境示意图,如图1所示,该实施环境中包括管理节点110、存储节点120以及终端130,其中,管理节点110、存储节点120和终端130之间通过通信网络连接。
管理节点110连接有至少两个存储节点120,且至少两个存储节点120之间并行进行数据读写,管理节点110用于对至少两个存储节点120的数据存储进行管理,其中,管理节点110每隔预设时长从存储节点120接收负载数据,负载数据用于表示存储节点120的负载率,根据负载率对存储节点120的互联网协议(Internet Protocol Address,IP)地址和其对应的负载数据进行对应存储。
当终端130需要存储多媒体文件(如:视频文件)时,向管理节点110发送存储请求,其中,存储请求中包括多媒体文件对应的指纹文件,该指纹文件为对多媒体文件进行特征提取后得到的文件,用于唯一指示该多媒体文件。管理节点110根据存储节点120的负载数据对存储节点120进行预估负载排序,并根据预估负载排序确定负载率最小的存储节点120,将负载率最小的存储节点120确定为用于存储指纹文件的存储节点。
可选地,当终端130将指纹文件发送至管理节点110时,由管理节点110将指纹文件发送至负载率最小的存储节点120进行存储;当终端130将指纹文件的文件信息发送中管理节点110时,由管理节点110将负载率最小的存储节点120的IP地址反馈至终端130,并由终端130根据IP地址将指纹文件存储至负载率最小的存储节点120。
其中,管理节点110在确定需要存储指纹文件的存储节点120时,首先对指纹文件进行查重,也即在连接的所有存储节点120中,检索与指纹文件相同的文件,当存在与指纹文件相同的文件时,则表示该多媒体文件已进行过存储,无需重复存储,当不存在与指纹文件相同的文件时,则表示该多媒体文件未进行过存储,为待存储的多媒体文件。
可选地,存储节点120还分为主存储节点和从存储节点,主存储节点与管理节点110直接连接,并直接接收指纹文件进行存储,从存储节点与主存储节点连接,在主存储节点对指纹文件进行存储后,对主存储节点存储的指纹文件进行同步。
值得注意的是,上述管理节点110和存储节点120实现为服务器,上述服务器是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端130可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
示意性的,以本申请实施例中提供的指纹文件的存储方法应用于云服务器中为例,云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(IDentity,ID)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(Redundant Array of Independent Disk,RAID)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
结合上述名词简介和实施环境,对本申请实施例涉及的应用场景进行举例说明。
在视频应用程序中,用户能够通过终端观看视频,以及通过终端上传视频,其中,用户上传的视频能够作为推荐内容推荐至别的用户的推荐页上进行展示。为了避免向用户推荐的视频中存在重复内容,需要对用户上传的视频进行重复性检测。通常,通过对视频进行特征提取的方式,得到视频的指纹文件,在指纹库中对指纹文件进行查重检索,当不存在重复情况时,对指纹文件进行存储。
由于在分布式系统中,多个存储节点为并行进行数据的检索,而检索耗时与存储节点所存储的数据量呈正相关关系,一次检索任务的耗时是由检索最慢的存储节点所决定。当某个存储节点中存储的数据较多时,则会导致检索耗时较长。示意性的,存储的全量数据是集合S={a,b,c,d,e,f|a-f各代表一个数据块},分布式存储系统由VM1、VM2、VM3三台服务器组成,如果数据a、b、c、d全部存储到VM1,e存储到VM2,f存储到VM3。假设VM1、VM2、VM3三台服务器的内存、CPU、磁盘IO性能等基本一致;假设检索a-f任意一个数据块需要耗时1秒,则在执行一次全文检索任务时,VM1数据量最多,四个数据块完成检索需消耗4秒,而VM2和VM的检索需要耗时1秒,因此整体检索需要消耗4秒;如果数据能平均存储到这3个节点,每台服务器存储2个数据块,则整体检索耗只需要2秒,每台服务器皆耗时2秒。
故本申请实施例中,以存储节点的负载数据为存储关键参数,以负载数据决定指纹文件的存储节点,从而平衡各个节点之间的负载均衡,提高了存储以及检索的效率,减少了检索过程的耗时。
值得注意的是,上述应用场景是以多媒体文件的存储为例进行说明,本申请实施例还可以应用于其他文件的分布式存储场景中,本申请实施例对具体的应用场景不加以限定。
结合上述说明,对本申请实施例提供的方法进行介绍,图2是本申请一个示例性实施例提供的指纹文件的存储方法的流程图,以该方法应用于管理节点中为例进行说明,如图2所示,该方法包括:
步骤201,确定目标多媒体文件对应的指纹文件。
指纹文件用于唯一指示目标多媒体文件。
指纹文件为对目标多媒体文件进行特征提取后得到的文件,在一些实施例中,基于关键帧对目标多媒体文件进行特征提取。可选地,特征提取中包括:静态特征提取和运动特征提取中的至少一种,其中,静态特征提取包括颜色特征提取、纹理特征提取、形状特征提取中的至少一种;运动特征提取包括对象运动特征提取、摄像机运动特征提取中的至少一种。
在确定指纹文件时,包括如下情况中的至少一种:
第一,管理节点接收终端发送的存储请求,该存储请求中包括该指纹文件,而管理节点需要在确定目标存储节点后,将指纹文件直接存储至该目标存储节点;
第二,管理节点接收终端发送的存储请求,该存储请求中包括指纹文件的文件信息,如:文件数据量、文件标识等;
而管理节点需要在确定目标存储节点后,向终端反馈目标存储节点的IP地址,从而终端将指纹文件存储至该目标存储节点。
第三,管理节点接收终端发送的存储请求,该存储请求中包括多媒体文件本身,管理节点对多媒体文件进行特征提取后,得到该多媒体文件所对应的指纹文件,从而在确定目标存储节点后,将指纹文件直接存储至该目标存储节点。
步骤202,接收主存储节点上传的负载数据,负载数据用于指示主存储节点的负载情况。
管理节点连接有n个主存储节点,n为大于1的正整数。其中,n个主存储节点的存储容量相等;或,n个主存储节点的存储容量相近;或,n个主存储节点的存储容量不同。
可选地,n个主存储节点的存储类型相同,如:n个主存储节点皆用于对多媒体文件的指纹文件进行存储;或,n个主存储节点的存储类型部分相同,如:n个主存储节点中,A类型的主存储节点用于对多媒体文件的指纹文件和代码文件的指纹文件进行存储,B类型的主存储节点用于对多媒体文件的指纹文件和文档文件的指纹文件进行存储。
其中,指纹文件在主存储节点中完整存储,也即,无需对指纹文件进行划分,得到多个子文件,并将多个子文件分布式存储在不同的主存储节点中,而是将单个指纹文件完整存储在指定的目标主存储节点中。
负载数据在指示主存储节点的负载情况时,通过如下方式中的至少一种进行指示:
第一,负载数据中包括主存储节点的负载率;其中,负载率为根据主存储节点的负载容量和负载量确定的已负载概率,如:存储节点A的负载率为0.1,则表示当前存储节点A的负载达到10%,剩余负载率为90%,以存储节点A的负载容量为10TB为例,则当前存储节点A的负载量为1TB。
针对多个主存储节点的存储容量不同,或多个主存储节点所存储的数据类型存在区别的情况,由于无法直接根据负载量确定剩余负载量或负载率,从而直接向管理节点发送负载率,已确定负载情况。
第二,负载数据中包括主存储节点的负载量;其中,负载量即表示主存储节点中当前指纹文件的已存储量。可选地,针对多个主存储节点的存储容量相等或相近的情况,直接根据主存储节点的负载量,即可确定每个主存储节点的当前负载率对比情况。
第三,负载数据中包括主存储节点的剩余负载量;其中,剩余负载量即表示主存储节点中当前还能够存储的数据量。
针对多个主存储节点的存储容量不同,或多个主存储节点所存储的数据类型存在区别的情况,由于无法直接根据负载量确定剩余负载量或负载率,从而直接向管理节点发送剩余负载量,已确定剩余的负载能力。
第四,负载数据中包括主存储节点的负载量和负载率。
根据负载量和负载率,能够确定主存储节点的总负载容量,已负载量,负载率以及剩余负载率,从而综合上述参数确定主存储节点的负载能力。
可选地,管理节点每隔预设时长接收主存储节点上传的负载数据;或,管理节点响应于获取指纹文件,向主存储节点发送存储指令,该存储指令用于指示存在指纹文件需要存储,从而接收主存储节点根据存储指令反馈的负载数据;或,管理节点接收主存储节点在完成数据存储后反馈的更新后的负载数据,管理节点用于在接收到负载数据后,对负载数据进行存储。
也即,上述步骤201和步骤202中,可以先执行步骤201,再执行步骤202;也可以先执行步骤202,再执行步骤201;还可以同时执行步骤201和步骤202。
步骤203,根据负载数据所指示的负载情况以及指纹文件的文件数据量,对主存储节点进行预估负载排序,得到主存储节点的预估负载顺序。
在对主存储节点进行预估负载排序时,首先对主存储节点进行过滤。示意性的,响应于负载数据中包括主存储节点的负载率,则过滤去除负载率高于负载限制的主存储节点,如:过滤去除负载率高于70%的主存储节点。响应于负载数据中包括主存储节点的负载量,则过滤去除负载量高于负载限制的主存储节点,如:过滤去除负载量高于7TB的主存储节点。响应于负载数据中包括剩余负载量,则过滤去除剩余负载量小于负载要求的主存储节点,如:过滤去除剩余负载量小于3TB的主存储节点;或,过滤去除剩余负载量小于指纹文件数据量的主存储节点。响应于负载数据中包括剩余负载率,则过滤区域剩余负载率小于负载要求的主存储节点,如:过滤去除剩余负载率小于30%的主存储节点。
可选地,指纹文件的数据量对主存储节点的过滤和/或排序产生影响。
当指纹文件的数据量对主存储节点的排序产生影响时,确定指纹文件的文件数据量,将文件数据量与主存储节点的负载数据结合,得到主存储节点的预估负载数据,该预估负载数据用于指示主存储节点的预估负载情况。根据预估负载数据对主存储节点进行预估负载排序。
可选地,在将文件数据量与主存储节点的负载数据结合,得到主存储节点的预估负载数据时,包括如下情况中的任意一种:
第一,负载数据中包括主存储节点的负载量,则将负载量与文件数据量相加后,得到预估数据量作为预估负载数据。
也即,根据负载量与文件数据量相加后的预估负载数据对主存储节点进行预估负载排序,得到预估负载量最小的主存储节点,作为目标主存储节点。
第二,负载数据中包括主存储节的负载量和负载比例,则根据负载量和负载比例,确定主存储节点的负载容量,将负载量和文件数据量相加,得到预估数据量,根据预估数据量和负载容量,确定预估负载比例作为预估负载数据。
也即,根据预估数据量和负载容量确定的预估负载比例作为预估负载数据对主存储节点进行预估负载排序,得到预估负载比例最小的主存储节点,作为目标主存储节点。
第三,负载数据中包括主存储节点的负载量和负载比例,根据负载量和负载比例,确定主存储节点的负载容量,将负载量与文件数据量相加,得到预估数据量,根据预估数据量和负载容量,确定预估负载比例和剩余负载量,对预估数据量、预估负载比例进行加权求和,得到主存储节点的负载能力参数,作为预估负载数据。
步骤204,根据预估负载顺序从主存储节点中确定目标主存储节点,目标主存储节点用于存储指纹文件。
根据预估负载顺序,从主存储节点中确定剩余负载能力最强的主存储节点作为目标主存储节点。
示意性的,以上述预估负载数据的确定方式为例,针对第一种方式,确定预估数据量最小的主存储节点作为目标主存储节点;针对第二种方式,确定预估负载比例最小的主存储节点作为目标主存储节点;针对第三种方式,确定负载能力参数最小的主存储节点作为目标主存储节点。
综上所述,本实施例提供的方法,通过确定主存储节点的负载数据,并根据指纹文件和负载数据确定预估负载排序,从而从n个主存储节点中确定最适合存储指纹文件的主存储节点进行指纹文件的存储,避免n个主存储节点之间出现数据倾斜的问题,提高了n个主存储节点之间的负载均衡,从而提高了在n个主存储节点中进行数据读写的速率和效率。
示意性的,针对图2示出的实施例,请参考图3,其示出了本申请一个示例性实施例提供的指纹文件存储方式的结构示意图,如图3所示,该指纹文件的存储方式中,由存储节点310向管理节点320发送负载数据,从而管理节点320根据各个存储节点310发送的负载数据对各个存储节点310进行预估负载排序,得到排序序列321,从而在确定指纹文件对应的存储节点310时,根据排序序列321确定负载能力最强的存储节点310作为目标存储节点,对指纹文件进行存储。其中,排序序列321中以存储节点310的IP地址和负载率之间的对应关系为存储内容。
在一个可选的实施例中,在确定指纹文件后,还需要针对指纹文件进行检索后,确定不存在重复存储的情况,才能够对指纹文件进行存储,图4是本申请另一个示例性实施例提供的指纹文件的存储方法的流程图,以该方法应用于管理节点中为例进行说明,如图4所示,该方法包括:
步骤401,确定目标多媒体文件对应的指纹文件。
指纹文件用于唯一指示目标多媒体文件。
在确定指纹文件时,包括如下情况中的至少一种:
第一,管理节点接收终端发送的存储请求,该存储请求中包括该指纹文件;
第二,管理节点接收终端发送的存储请求,该存储请求中包括指纹文件的文件信息;
第三,管理节点接收终端发送的存储请求,该存储请求中包括多媒体文件本身,管理节点对多媒体文件进行特征提取后,得到该多媒体文件所对应的指纹文件。
步骤402,在n个主存储节点中进行与指纹文件对应的检索。
可选地,每个主存储节点通过中央处理器(Central Processing Unit,CPU)进行文件的检索计算,也即,对主存储节点本身已存储的文件进行遍历检索,确定是否存在与指纹文件相同的文件。
步骤403,响应于n个主存储节点中不存在指纹文件,确定指纹文件为待存储至主存储节点的指纹文件。
响应于n个主存储节点中不存在存储请求中需要被存储的指纹文件时,则确定该指纹文件为带存储至主存储节点的指纹文件。
响应于n个主存储节点中存在存储请求中需要被存储的指纹文件,则表示该指纹文件对应的多媒体文件为已存储的文件,无需对该指纹文件进行重复存储。
步骤404,接收主存储节点上传的负载数据,负载数据用于指示主存储节点的负载情况。
管理节点连接有n个主存储节点,n为大于1的正整数。其中,n个主存储节点的存储容量相等;或,n个主存储节点的存储容量相近;或,n个主存储节点的存储容量不同。
其中,指纹文件在主存储节点中完整存储,也即,无需对指纹文件进行划分,得到多个子文件,并将多个子文件分布式存储在不同的主存储节点中,而是将单个指纹文件完整存储在指定的目标主存储节点中。
负载数据在指示主存储节点的负载情况时,通过如下方式中的至少一种进行指示:
第一,负载数据中包括主存储节点的负载率;
第二,负载数据中包括主存储节点的负载量;
第三,负载数据中包括主存储节点的剩余负载量;
第四,负载数据中包括主存储节点的负载量和负载率。
步骤405,根据负载数据所指示的负载情况以及指纹文件的文件数据量,对主存储节点进行预估负载排序,得到主存储节点的预估负载顺序。
在对主存储节点进行预估负载排序时,首先对主存储节点进行过滤。
当指纹文件的数据量对主存储节点的排序产生影响时,确定指纹文件的文件数据量,将文件数据量与主存储节点的负载数据结合,得到主存储节点的预估负载数据,该预估负载数据用于指示主存储节点的预估负载情况。根据预估负载数据对主存储节点进行预估负载排序。
步骤406,根据预估负载顺序从主存储节点中确定目标主存储节点,目标主存储节点用于存储指纹文件。
根据预估负载顺序,从主存储节点中确定剩余负载能力最强的主存储节点作为目标主存储节点。
可选地,n个主存储节点还对应连接有m个从存储节点,m为正整数,n个主存储节点还用于并发将已存储的指纹文件同步至m个从存储节点。
可选地,n个主存储节点与m个从存储节点为一对一关系;或,n个主存储节点与m个从存储节点为一对多关系。
管理节点将数据写入主存储节点后,主存储节点将数据同步到从存储节点中。主存储节点将管理节点发送的同步请求命令字按照先后顺序追加到磁盘文件。磁盘文件映射到内存中的数据结构是一个数组,在数组的最前面有一个整数,记录了已经执行了的命令操作的长度,当主存储节点向从存储节点执行同步操作的时候,根据主从存储节点命令操作长度的差值,从数组里面取出未执行同步的命令字区间,以关键标识对数据进行分组,如果关键标识对应的数组列表长度大于1,直接丢掉前面的命令字,只执行最后一个命令字,并把区间长度同步到从存储节点上,多个关键标识之前的同步操作是并发执行的,示意性的,如图5所示,关键标识vid1和关键标识vid2中,关键标识vid1对应的操作包括增加、删除和增加,vid2对应的操作包括删除和增加,则合并后,得到的命令字分别为增加和增加,从而将命令字由主存储节点510同步至从存储节点520。
综上所述,本实施例提供的方法,通过确定主存储节点的负载数据,并根据指纹文件和负载数据确定预估负载排序,从而从n个主存储节点中确定最适合存储指纹文件的主存储节点进行指纹文件的存储,避免n个主存储节点之间出现数据倾斜的问题,提高了n个主存储节点之间的负载均衡,从而提高了在n个主存储节点中进行数据读写的速率和效率。
本实施例提供的方法,在需要存储指纹文件时,首先在n个主存储节点中进行指纹文件的查重,当指纹文件在n个主存储节点中不存在重复情况时,对指纹文件进行存储,避免重复存储导致的重复推荐展示的情况,降低了多媒体文件推荐的错误率。
本实施例提供的方法,在主存储节点和从存储节点之间进行并发同步,提高同步效率,以及提高主存储节点和从存储节点之间的一致性,减少漏检等事件的发生概率。
在一个可选的实施例中,由终端向管理节点发送存储请求,并在确定目标主存储节点后,由管理节点向终端反馈目标主存储节点的存储地址,图6是本申请另一个示例性实施例提供的指纹文件的存储方法的流程图,以该方法应用于管理节点中为例,如图6所示,该方法包括:
步骤601,接收终端发送的存储请求,存储请求中包括指纹文件的文件信息。
终端向管理节点发送存储请求的情况包括如下情况中的任意一种:
第一,终端拍摄或者下载视频后,将视频上传至草稿箱中待发布,也即,终端首先将视频上传至草稿箱中进行存储,该存储是在分布式存储系统中进行存储,当用户需要对视频进行发布时,在草稿箱中对该视频进行发布选择,从而将该视频发布至共享平台中;
第二,终端拍摄或者下载视频后,对视频进行发布,将视频发布至共享平台中,而发布过程即为将视频存储至分布式存储系统中的过程。
终端在确定需要存储的多媒体文件时,首先对多媒体文件进行特征提取,得到指纹文件,从而首先将指纹文件发送至管理节点进行查重和存储。
可选地,指纹文件的文件信息中包括指纹文件本身、指纹文件的文件数据量、指纹文件的标识等信息中的至少一种。
步骤602,在n个主存储节点中进行与指纹文件对应的检索。
可选地,每个主存储节点通过中央处理器(Central Processing Unit,CPU)进行文件的检索计算,也即,对主存储节点本身已存储的文件进行遍历检索,确定是否存在与指纹文件相同的文件。
步骤603,响应于n个主存储节点中不存在指纹文件,确定指纹文件为待存储至主存储节点的指纹文件。
响应于n个主存储节点中不存在存储请求中需要被存储的指纹文件时,则确定该指纹文件为带存储至主存储节点的指纹文件。
响应于n个主存储节点中存在存储请求中需要被存储的指纹文件,则表示该指纹文件对应的多媒体文件为已存储的文件,无需对该指纹文件进行重复存储。
步骤604,接收主存储节点上传的负载数据,负载数据用于指示主存储节点的负载情况。
管理节点连接有n个主存储节点,n为大于1的正整数。其中,n个主存储节点的存储容量相等;或,n个主存储节点的存储容量相近;或,n个主存储节点的存储容量不同。
其中,指纹文件在主存储节点中完整存储,也即,无需对指纹文件进行划分,得到多个子文件,并将多个子文件分布式存储在不同的主存储节点中,而是将单个指纹文件完整存储在指定的目标主存储节点中。
负载数据在指示主存储节点的负载情况时,通过如下方式中的至少一种进行指示:
第一,负载数据中包括主存储节点的负载率;
第二,负载数据中包括主存储节点的负载量;
第三,负载数据中包括主存储节点的剩余负载量;
第四,负载数据中包括主存储节点的负载量和负载率。
步骤605,根据负载数据所指示的负载情况以及指纹文件的文件数据量,对主存储节点进行预估负载排序,得到主存储节点的预估负载顺序。
在对主存储节点进行预估负载排序时,首先对主存储节点进行过滤。
当指纹文件的数据量对主存储节点的排序产生影响时,确定指纹文件的文件数据量,将文件数据量与主存储节点的负载数据结合,得到主存储节点的预估负载数据,该预估负载数据用于指示主存储节点的预估负载情况。根据预估负载数据对主存储节点进行预估负载排序。
可选地,在负载数据的上报过程中,还存在未上报负载数据的节点,如:由于网络连接出现问题而上报负载数据失败等,则响应于存在第一主存储节点未上报负载数据,将第一主存储节点设置为离线状态;将除第一主存储节点以外的第二主存储节点设置为在线状态;根据负载数据所指示的负载情况以及指纹文件,对处于在线状态的第二主存储节点进行预估负载排序。
步骤606,根据预估负载顺序从主存储节点中确定目标主存储节点,目标主存储节点用于存储指纹文件。
根据预估负载顺序,从主存储节点中确定剩余负载能力最强的主存储节点作为目标主存储节点。
可选地,n个主存储节点还对应连接有m个从存储节点,m为正整数,n个主存储节点还用于并发将已存储的指纹文件同步至m个从存储节点。
步骤607,向终端反馈目标主存储节点的节点信息。
终端用于根据节点信息向目标主存储节点发送指纹文件进行存储。
可选地,节点信息中包括目标主存储节点的IP地址、剩余负载量、负载率、剩余负载率等信息中的至少一种,其中,IP地址为必选项,也即,管理节点将目标主存储节点的IP地址发送至终端后,终端根据IP地址将指纹文件存储至目标主存储节点中。
综上所述,本实施例提供的方法,通过确定主存储节点的负载数据,并根据指纹文件和负载数据确定预估负载排序,从而从n个主存储节点中确定最适合存储指纹文件的主存储节点进行指纹文件的存储,避免n个主存储节点之间出现数据倾斜的问题,提高了n个主存储节点之间的负载均衡,从而提高了在n个主存储节点中进行数据读写的速率和效率。
本实施例提供的方法,通过接收终端发送的文件信息,以及在确定目标主存储节点后,将目标主存储节点的节点信息反馈至终端,从而终端根据节点信息将指纹文件存储至目标主存储节点,而无需通过管理节点对指纹文件进行转发,减小了管理节点和终端之间的数据传输压力。
图7是本申请一个示例性实施例提供的指纹文件的存储装置的结构框图,如图7所示,该装置包括:
确定模块710,用于确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
接收模块720,用于接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;
排序模块730,用于根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;
所述确定模块710,还用于根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。
在一个可选的实施例中,如图8所示,所述排序模块730,包括:
确定单元731,用于将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,所述预估负载数据用于指示所述主存储节点的预估负载情况;
排序单元732,用于根据所述预估负载数据对所述主存储节点进行预估负载排序。
在一个可选的实施例中,所述负载数据中包括所述主存储节点的负载量;
所述确定单元731,具体用于将所述负载量与所述文件数据量相加,得到预估数据量作为所述预估负载数据。
在一个可选的实施例中,所述负载数据中包括所述主存储节点的负载量和负载比例;
所述确定单元731,具体用于根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;将所述负载量与所述文件数据量相加,得到预估数据量;根据所述预估数据量和所述负载容量,确定预估负载比例作为所述预估负载数据。
在一个可选的实施例中,所述负载数据中包括所述主存储节点的负载量和负载比例;
所述确定单元731,具体用于根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;将所述负载量与所述文件数据量相加,得到预估数据量;根据所述预估数据量和所述负载容量,确定预估负载比例;对所述预估数据量和所述预估负载比例进行加权求和,得到所述主存储节点的负载能力参数,作为所述预估负载数据。
在一个可选的实施例中,所述接收模块720,具体用于每隔预设时长接收所述主存储节点上传的所述负载数据;
或,
所述接收模块720,具体用于响应于获取所述指纹文件,向所述主存储节点发送存储指令,所述存储指令用于指示存在所述指纹文件需要存储;接收所述主存储节点根据所述存储指令反馈的所述负载数据;
或,
所述接收模块720,具体用于接收所述主存储节点在完成数据存储后反馈的更新后的所述负载数据,所述管理节点用于在接收到所述负载数据后,对所述负载数据进行存储。
在一个可选的实施例中,所述排序模块730,具体用于响应于存在第一主存储节点未上报所述负载数据,将所述第一主存储节点设置为离线状态;将除所述第一主存储节点以外的第二主存储节点设置为在线状态;根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对处于所述在线状态的所述第二主存储节点进行预估负载排序。
在一个可选的实施例中,所述接收模块720,还用于接收终端发送的存储请求,所述存储请求中包括所述指纹文件的文件信息;
所述装置,还包括:
发送模块740,用于向所述终端反馈所述目标主存储节点的节点信息,所述终端用于根据所述节点信息向所述目标主存储节点发送所述指纹文件进行存储。
在一个可选的实施例中,所述确定模块710,还用于在n个所述主存储节点中进行与所述指纹文件对应的检索;响应于n个所述主存储节点中不存在所述指纹文件,确定所述指纹文件为待存储至所述主存储节点的指纹文件。
在一个可选的实施例中,n个所述主存储节点连接有m个从存储节点,m为正整数;
n个所述主存储节点还用于并发将已存储的所述指纹文件同步至m个所述从存储节点。
综上所述,本实施例提供的装置,通过确定主存储节点的负载数据,并根据指纹文件和负载数据确定负载排序,从而从n个主存储节点中确定最适合存储指纹文件的主存储节点进行指纹文件的存储,避免n个主存储节点之间出现数据倾斜的问题,提高了n个主存储节点之间的负载均衡,从而提高了在n个主存储节点中进行数据读写的速率和效率。
需要说明的是:上述实施例提供的指纹文件的存储装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的指纹文件的存储装置与指纹文件的存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲:
服务器900包括中央处理单元(Central Processing Unit,CPU)901、包括随机存取存储器(Random Access Memory,RAM)902和只读存储器(Read Only Memory,ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。服务器900还包括用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备906。
大容量存储设备906通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。大容量存储设备906及其相关联的计算机可读介质为服务器900提供非易失性存储。也就是说,大容量存储设备906可以包括诸如硬盘或者紧凑型光盘只读存储器(Compact Disc Read Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、带电可擦可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备906可以统称为存储器。
根据本申请的各种实施例,服务器900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器900可以通过连接在系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
本申请的实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的指纹文件的存储方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的指纹文件的存储方法。
本申请的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中任一所述的指纹文件的存储方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种指纹文件的存储方法,其特征在于,应用于管理节点,所述方法包括:
确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,所述管理节点连接有n个所述主存储节点,n为大于1的正整数;
根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;
根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,包括:
将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,所述预估负载数据用于指示所述主存储节点的预估负载情况;
根据所述预估负载数据对所述主存储节点进行预估负载排序。
3.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量;
所述将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:
将所述负载量与所述文件数据量相加,得到预估数据量作为所述预估负载数据。
4.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量和负载比例;
所述将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:
根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;
将所述负载量与所述文件数据量相加,得到预估数据量;
根据所述预估数据量和所述负载容量,确定预估负载比例作为所述预估负载数据。
5.根据权利要求2所述的方法,其特征在于,所述负载数据中包括所述主存储节点的负载量和负载比例;
将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,包括:
根据所述负载量和所述负载比例,确定所述主存储节点的负载容量;
将所述负载量与所述文件数据量相加,得到预估数据量;
根据所述预估数据量和所述负载容量,确定预估负载比例;
对所述预估数据量和所述预估负载比例进行加权求和,得到所述主存储节点的负载能力参数,作为所述预估负载数据。
6.根据权利要求1至5任一所述的方法,其特征在于,所述接收主存储节点上传的负载数据,包括:
每隔预设时长接收所述主存储节点上传的所述负载数据;
或,
响应于获取所述指纹文件,向所述主存储节点发送存储指令,所述存储指令用于指示存在所述指纹文件需要存储;接收所述主存储节点根据所述存储指令反馈的所述负载数据;
或,
接收所述主存储节点在完成数据存储后反馈的更新后的所述负载数据,所述管理节点用于在接收到所述负载数据后,对所述负载数据进行存储。
7.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,包括:
响应于存在第一主存储节点未上报所述负载数据,将所述第一主存储节点设置为离线状态;
将除所述第一主存储节点以外的第二主存储节点设置为在线状态;
根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对处于所述在线状态的所述第二主存储节点进行预估负载排序。
8.根据权利要求1至5任一所述的方法,其特征在于,所述确定目标多媒体文件对应的指纹文件,包括:
接收终端发送的存储请求,所述存储请求中包括所述指纹文件的文件信息;
所述根据所述预估负载顺序从所述主存储节点中确定目标主存储节点之后,还包括:
向所述终端反馈所述目标主存储节点的节点信息,所述终端用于根据所述节点信息向所述目标主存储节点发送所述指纹文件进行存储。
9.根据权利要求1至5任一所述的方法,其特征在于,所述确定目标多媒体文件对应的指纹文件之后,还包括:
在n个所述主存储节点中进行与所述指纹文件对应的检索;
响应于n个所述主存储节点中不存在所述指纹文件,确定所述指纹文件为待存储至所述主存储节点的指纹文件。
10.根据权利要求1至5任一所述的方法,其特征在于,n个所述主存储节点连接有m个从存储节点,m为正整数;
n个所述主存储节点还用于并发将已存储的所述指纹文件同步至m个所述从存储节点。
11.一种指纹文件的存储装置,其特征在于,所述装置包括:
确定模块,用于确定目标多媒体文件对应的指纹文件,所述指纹文件用于唯一指示所述目标多媒体文件;
接收模块,用于接收主存储节点上传的负载数据,所述负载数据用于指示所述主存储节点的负载情况,管理节点连接有n个所述主存储节点,n为大于1的正整数;
排序模块,用于根据所述负载数据所指示的所述负载情况以及所述指纹文件的文件数据量,对所述主存储节点进行预估负载排序,得到所述主存储节点的预估负载顺序;
所述确定模块,还用于根据所述预估负载顺序从所述主存储节点中确定目标主存储节点,所述目标主存储节点用于存储所述指纹文件。
12.根据权利要求11所述的装置,其特征在于,所述排序模块,包括:
确定单元,用于将所述文件数据量与所述主存储节点的所述负载数据结合后,得到所述主存储节点的预估负载数据,所述预估负载数据用于指示所述主存储节点的预估负载情况;
排序单元,用于根据所述预估负载数据对所述主存储节点进行预估负载排序。
13.根据权利要求12所述的装置,其特征在于,所述负载数据中包括所述主存储节点的负载量;
所述确定单元,具体用于将所述负载量与所述文件数据量相加,得到预估数据量作为所述预估负载数据。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至10任一所述的指纹文件的存储方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至10任一所述的指纹文件的存储方法。
CN202010937378.XA 2020-09-08 2020-09-08 指纹文件的存储方法、装置、设备及可读存储介质 Active CN114244855B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010937378.XA CN114244855B (zh) 2020-09-08 2020-09-08 指纹文件的存储方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010937378.XA CN114244855B (zh) 2020-09-08 2020-09-08 指纹文件的存储方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114244855A CN114244855A (zh) 2022-03-25
CN114244855B true CN114244855B (zh) 2024-01-02

Family

ID=80742488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010937378.XA Active CN114244855B (zh) 2020-09-08 2020-09-08 指纹文件的存储方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114244855B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008136075A1 (ja) * 2007-04-20 2008-11-13 Fujitsu Limited ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US8554918B1 (en) * 2011-06-08 2013-10-08 Emc Corporation Data migration with load balancing and optimization
CN107295002A (zh) * 2017-07-12 2017-10-24 联动优势科技有限公司 一种云端存储数据的方法及服务器
CN108965381A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 基于Nginx的负载均衡实现方法、装置、计算机设备和介质
CN109309706A (zh) * 2017-07-27 2019-02-05 Emc知识产权控股有限公司 在云局域网上的存储系统之间共享预先计算的指纹和数据块的方法和系统
CN109324998A (zh) * 2018-09-18 2019-02-12 郑州云海信息技术有限公司 一种文件处理方法、装置及系统
CN110321225A (zh) * 2019-07-08 2019-10-11 腾讯科技(深圳)有限公司 负载均衡方法、元数据服务器及计算机可读存储介质
CN110347651A (zh) * 2019-06-11 2019-10-18 平安科技(深圳)有限公司 基于云存储的数据同步方法、装置、设备及存储介质
CN110781132A (zh) * 2019-10-24 2020-02-11 深圳前海环融联易信息科技服务有限公司 文件存储的实现方法、装置、及计算机设备
CN111324293A (zh) * 2018-12-14 2020-06-23 杭州海康威视系统技术有限公司 一种存储系统、存储数据的方法、读取数据的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245750B2 (en) * 2019-02-16 2022-02-08 International Business Machines Corporation File server load balancing

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008136075A1 (ja) * 2007-04-20 2008-11-13 Fujitsu Limited ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
US8554918B1 (en) * 2011-06-08 2013-10-08 Emc Corporation Data migration with load balancing and optimization
CN107295002A (zh) * 2017-07-12 2017-10-24 联动优势科技有限公司 一种云端存储数据的方法及服务器
CN109309706A (zh) * 2017-07-27 2019-02-05 Emc知识产权控股有限公司 在云局域网上的存储系统之间共享预先计算的指纹和数据块的方法和系统
CN108965381A (zh) * 2018-05-31 2018-12-07 康键信息技术(深圳)有限公司 基于Nginx的负载均衡实现方法、装置、计算机设备和介质
CN109324998A (zh) * 2018-09-18 2019-02-12 郑州云海信息技术有限公司 一种文件处理方法、装置及系统
CN111324293A (zh) * 2018-12-14 2020-06-23 杭州海康威视系统技术有限公司 一种存储系统、存储数据的方法、读取数据的方法及装置
CN110347651A (zh) * 2019-06-11 2019-10-18 平安科技(深圳)有限公司 基于云存储的数据同步方法、装置、设备及存储介质
CN110321225A (zh) * 2019-07-08 2019-10-11 腾讯科技(深圳)有限公司 负载均衡方法、元数据服务器及计算机可读存储介质
CN110781132A (zh) * 2019-10-24 2020-02-11 深圳前海环融联易信息科技服务有限公司 文件存储的实现方法、装置、及计算机设备

Also Published As

Publication number Publication date
CN114244855A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
US10291696B2 (en) Peer-to-peer architecture for processing big data
CN111182067B (zh) 一种基于星际文件系统ipfs的数据写入方法及设备
CN113672175A (zh) 分布式对象存储方法、装置和设备及计算机存储介质
CN103647797A (zh) 一种分布式文件系统及其数据访问方法
CN105138571B (zh) 分布式文件系统及其存储海量小文件的方法
US10310904B2 (en) Distributed technique for allocating long-lived jobs among worker processes
CN109542861B (zh) 一种文件管理方法、装置和系统
CN107220271B (zh) 一种分布式数字资源存储处理与管理的方法及系统
CN113806300B (zh) 数据存储方法、系统、装置、设备及存储介质
CN113282564B (zh) 数据存储方法、系统、节点和存储介质
CN111212111A (zh) 对象存储服务管理方法及电子设备
CN110784498A (zh) 一种个性化数据容灾方法及装置
CN107948229B (zh) 分布式存储的方法、装置及系统
US10931750B1 (en) Selection from dedicated source volume pool for accelerated creation of block data volumes
JP5758449B2 (ja) データ再配置装置、方法およびプログラム
CN116595015B (zh) 数据处理方法、装置、设备及存储介质
US10853892B2 (en) Social networking relationships processing method, system, and storage medium
CN111274004B (zh) 进程实例管理方法、装置及计算机存储介质
US11625192B2 (en) Peer storage compute sharing using memory buffer
CN114244855B (zh) 指纹文件的存储方法、装置、设备及可读存储介质
US10956442B1 (en) Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots
US10083121B2 (en) Storage system and storage method
US9256648B2 (en) Data handling in a cloud computing environment
CN111147226A (zh) 数据存储方法、装置及存储介质
CN112347036B (zh) 一种云存储系统的云间迁移方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant