CN111708743A - 文件存储管理方法、文件管理客户端及文件存储管理系统 - Google Patents
文件存储管理方法、文件管理客户端及文件存储管理系统 Download PDFInfo
- Publication number
- CN111708743A CN111708743A CN202010470807.7A CN202010470807A CN111708743A CN 111708743 A CN111708743 A CN 111708743A CN 202010470807 A CN202010470807 A CN 202010470807A CN 111708743 A CN111708743 A CN 111708743A
- Authority
- CN
- China
- Prior art keywords
- file
- fragment
- target
- management server
- uploading
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种文件存储管理方法,所述方法包括接收文件上传指令,并根据所述文件上传指令确定目标上传文件;向文件管理服务端发送所述目标上传文件的文件分片列表;其中,所述目标上传文件的文件分片列表包括所述目标上传文件的所有文件分片的分片标识;接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;将所述目标上传文件分片上传至所述文件管理服务端。本申请能够相同数据的重复性存储,提高数据管理效率。本申请还公开了一种文件管理客户端及一种文件存储管理系统,具有以上有益效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种文件存储管理方法、一种文件管理客户端及一种文件存储管理系统。
背景技术
分布式存储系统可以将数据分散存储在多台独立的设备上,分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息。分布式存储系统不但提高了系统的可靠性、可用性和存取效率,还易于扩展。根据存储元数据的不同,分布式存储系统可以包括分布式文件系统、分布式块存储、分布式对象存储、分布式数据库和分布式缓存等,为了分散存储在多台设备上,必然会有分片的概念,文件分片、数据块分片、数据库分片(按表、按时间等)。
分布式文件系统把文件分片存储在多台独立设备上,实际使用中有可能分属于不同文件的分片内容相同的情况,特别是大文件,文件越大这种现象越明显。例如,某一文件修改极小部分,形成了一个新的文件,和原文件具有极大相似度,此时分布式文件系统需要重复存储大量的数据,导致数据管理效率较低。
因此,如何避免相同数据的重复性存储,提高数据管理效率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种文件存储管理方法、一种文件管理客户端及一种文件存储管理系统,能够避免相同数据的重复性存储,提高数据管理效率。
为解决上述技术问题,本申请提供一种文件存储管理方法,该文件存储管理方法包括:
接收文件上传指令,并根据所述文件上传指令确定目标上传文件;
向文件管理服务端发送所述目标上传文件的文件分片列表;其中,所述目标上传文件的文件分片列表包括所述目标上传文件的所有文件分片的分片标识;
接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;
将所述目标上传文件分片上传至所述文件管理服务端。
可选的,在所述向文件管理服务端发送所述目标上传文件的文件分片列表之前,还包括:
判断本地文件分片列表库中是否包括所述目标上传文件的文件分片列表;
若是,则获取所述目标上传文件的文件分片列表;
若否,则对所述目标上传文件执行文件分片操作得到多个文件分片,根据所述文件分片对应的文件内容计算每一所述文件分片的分片标识,并构建包括所有所述分片标识的文件分片列表。
可选的,所述根据文件分片对应的文件内容计算每一所述文件分片的分片标识,包括:
根据所述文件分片对应的文件内容分别计算MD5值和SHA1值,将每一所述文件分片的MD5值和SHA1值作为所述分片标识。
可选的,所述文件管理服务端生成所述分片存在性检测结果的过程包括:
将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比;
若所述服务端分片标识库包括所述分片标识,则生成第一比对结果;
若所述服务端分片标识库不包括所述分片标识,则生成第二比对结果;
根据所述第一比对结果和/或所述第二比对结果生成所述分片存在性检测结果。
可选的,在向文件管理服务端发送所述目标上传文件的文件分片列表之后,还包括:
将所述目标上传文件包括的所有文件分片的引用次数加一;
相应的,还包括:
当接收到文件修改指令时,判断待修改文件的文件分片的引用次数是否为初始值;若是,则对文件分片执行修改操作;若否,则将文件分片引用次数减一,并创建新的分片以便保存对所述待修改文件执行修改操作后的文件;
当接收到文件删除指令时,判断待删除文件的文件分片的引用次数是否为所述默认值;若是,则执行文件分片删除操作;若否,则将文件分片的引用次数减一。可选的,还包括:
若接收到文件下载指令,根据目标下载文件的文件标识生成下载请求;
将所述下载请求发送至所述文件管理服务端,以便所述文件管理服务端根据所述文件标识查询所述目标下载文件对应的文件分片列表;
若接收到所述文件管理服务端返回的所述目标下载文件对应的文件分片列表,则将所述目标下载文件的文件分片列表中的分片标识与本地分片标识库进行对比;
将本地分片标识库中不包括的分片标识对应的文件分片设置为目标下载文件分片;
从所述文件管理服务端将所述目标下载文件分片下载至本地缓存文件夹。
本申请还提供了一种文件管理客户端,包括:
文件确定模块,用于接收文件上传指令,并根据所述文件上传指令确定目标上传文件;
分片列表上传模块,用于向文件管理服务端发送所述目标上传文件的文件分片列表;
分片设置模块,用于接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;
分片上传模块,用于将所述目标上传文件分片上传至所述文件管理服务端。
本申请还提供了一种文件存储管理方法,包括:
若接收到文件管理客户端发送目标上传文件的文件分片列表,则将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比得到分片存在性检测结果,并将所述分片存在性检测结果发送至所述文件管理客户端,以便所述文件管理客户端根据所述分片存在性检测结果上传所述目标上传文件中未上传至所述文件管理服务端的文件分片;
若接收到所述文件管理客户端发送的下载请求,则根据所述文件标识从所述服务端文件分片列表库查询所述目标下载文件的文件分片列表,并将所述目标下载文件的文件分片列表发送至所述文件管理客户端,以便所述文件管理客户端将本地分片标识库中不包括的分片标识对应的文件分片设下载至本地缓存文件夹。
本申请还提供了一种文件存储管理系统,包括文件管理客户端和文件管理服务端,所述文件管理客户端向所述文件管理服务端上传目标上传文件的过程包括:
所述文件管理客户端,向文件管理服务端发送所述目标上传文件的文件分片列表;
所述文件管理服务端,将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比得到分片存在性检测结果,并将所述分片存在性检测结果发送至所述文件管理客户端;其中,生成所述分片存在性检测结果的过程包括:若所述服务端分片标识库包括所述分片标识,则生成第一比对结果;若所述服务端分片标识库不包括所述分片标识,则生成第二比对结果;根据所述第一比对结果和所述第二比对结果生成所述分片存在性检测结果;
所述文件管理客户端,根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片,并将所述目标上传文件分片上传至所述文件管理服务端。
可选的,所述文件管理客户端从所述文件管理服务端下载目标下载文件的过程包括:
所述文件管理客户端,向所述文件管理服务端发送下载请求;其中,所述下载请求包括所述目标下载文件的文件标识;
所述文件管理服务端,根据所述文件标识从服务端文件分片列表库查询所述目标下载文件的文件分片列表,并将所述目标下载文件的文件分片列表发送至所述文件管理客户端;
所述文件管理客户端,将所述目标下载文件的文件分片列表中的分片标识与本地分片标识库进行对比,将本地分片标识库中不包括的分片标识对应的文件分片设置为目标下载文件分片,从所述文件管理服务端将所述目标下载文件分片下载至本地缓存文件夹。
本申请提供了一种文件存储管理方法,包括:接收文件上传指令,并根据所述文件上传指令确定目标上传文件;向文件管理服务端发送所述目标上传文件的文件分片列表;其中,所述目标上传文件的文件分片列表包括所述目标上传文件的所有文件分片的分片标识;接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;将所述目标上传文件分片上传至所述文件管理服务端。
本申请在接收到文件上传指令之后,将包括目标上传文件的分片标识的文件分片列表发送至文件管理服务端,以便文件管理服务端返回文件分片的存在性检测结果。根据存在性监测结果可以确定文件管理服务端中不存在的目标上传文件的文件分片,即目标上传文件分片。通过将目标上传文件分片上传至文件管理服务端,可以实现仅将文件管理服务端中不存在的文件分片进行上传,避免了相同数据的重复上传,提高数据管理效率。本申请同时还提供了一种文件管理客户端及一种文件存储管理系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种文件存储管理方法的流程图;
图2为本申请实施例所提供的一种文件管理客户端向文件管理服务端上传文件的原理示意图;
图3为本申请实施例所提供的一种文件管理客户端向文件管理服务端下载文件的原理示意图;
图4为本申请实施例所提供的一种文件存储管理系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种文件存储管理方法的流程图。
具体步骤可以包括:
S101:接收文件上传指令,并根据所述文件上传指令确定目标上传文件;
其中,本实施例可以应用于与文件管理服务端连接的电子设备,如手机、平板电脑、个人计算机等文件管理客户端。在接收到文件上传指令后,可以对文件上传指令执行解析操作,并根据解析结果确定目标上传文件。
S102:向文件管理服务端发送所述目标上传文件的文件分片列表;
其中,在得到了目标上传文件之后可以获取目标上传文件的文件分片列表,具体的,目标上传文件的文件分片列表可以包括所述目标上传文件的所有文件分片的分片标识。在本步骤之前可以存在对目标上传文件执行分片划分操作得到多个文件分片。分片划分操作指把文件大小超过拆分为小于固定阈值的文件,按分片步长拆分成多个分片,每个分片各自保存成一个文件。文件分片的分片标识即分片ID,可以通过预设的映射算法计算每一文件分片的分片标识;例如可以通过MD5和SHA1计算得到的[MD5值]+[-]+[SHA1值],通过该上述映射方法可以保证不同文件内容的分片ID不会相同,得到文件分片的唯一标识符。
本实施例可以在数据库中预先存储多个文件的文件分片列表,在确定了目标上传文件后,判断数据库中是否存在目标上传文件的文件分片列表,若存在则可以从数据库中读取相应的文件分片列表,若不存在则可以对目标上传文件执行分片操作并计算每一文件分片的分片标识,进而得到文件分片列表。
当然,本实施例可以构建包括文件分片列表的文件上传请求,并将文件上传请求发送至文件管理服务端。文件管理服务端为对文件进行集中管理的设备,文件管理服务端可以存储其他设备上传的文件,还可以为其他设备提供文件下载服务。为了保证数据的安全性,文件管理服务端可以在存储文件时,可以记录用户标识与文件的对应关系,以便记录各个用户的下载权限;在文件管理服务端提供文件下载服务时,仅为具有下载权限的用户提供下载服务。
S103:接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;
其中,在文件管理服务端中可以存储有多个文件分片,以及文件分片的文件标识。在文件管理服务端接收到目标上传文件的文件分片列表之后,根据文件分片列表对目标上传文件中各个文件分片进行分片存在性检测。分片存在性检测指判断目标上传文件中的某一文件分片是否已经存储于文件管理服务端中,进一步的本实施例可以将文件分片列表中的文件分片的分片标识与文件管理服务端中已存储的文件分片的分片标识进行比对,进而得到分片存在性检测结果。作为一种可行的实施方式,文件管理服务端生成分片存在性检测结果的过程可以包括:将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比;若所述服务端分片标识库包括所述分片标识,则生成第一比对结果;若所述服务端分片标识库不包括所述分片标识,则生成第二比对结果;根据所述第一比对结果和/或所述第二比对结果生成所述分片存在性检测结果。根据分片存在性检测结果可以将目标上传文件的文件分片划分为已上传至文件管理服务端的文件分片,以及未上传至文件管理服务端的文件分片。本实施例将目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片。
S104:将所述目标上传文件分片上传至所述文件管理服务端。
其中,本步骤建立在已经确定了目标上传文件中未上传至所述文件管理服务端的目标上传文件分片的基础上,将目标上传文件分片上传至文件管理服务端。通过上述操作能够将未上传至文件管理服务端的文件分片进行上传,不上传已经上传至文件管理服务端的文件分片,避免了重复数据的上传。
本实施例在接收到文件上传指令之后,将包括目标上传文件的分片标识的文件分片列表发送至文件管理服务端,以便文件管理服务端返回文件分片的存在性检测结果。根据存在性监测结果可以确定文件管理服务端中不存在的目标上传文件的文件分片,即目标上传文件分片。通过将目标上传文件分片上传至文件管理服务端,可以实现仅将文件管理服务端中不存在的文件分片进行上传,避免了相同数据的重复上传,提高数据管理效率。
作为对于图1对应实施例的进一步介绍,在S102向文件管理服务端发送文件分片列表之前,还可以先判断本地文件分片列表库中是否包括所述目标上传文件的文件分片列表;若是,则获取所述目标上传文件的文件分片列表;若否,则对所述目标上传文件执行文件分片操作得到多个文件分片,根据所述文件分片对应的文件内容计算每一所述文件分片的分片标识,并构建包括所有所述分片标识的文件分片列表。
具体的,本实施例可以通过以下方式计算文件分片的分片标识:根据所述文件分片对应的文件内容分别计算MD5值和SHA1值,将每一所述文件分片的MD5值和SHA1值作为所述分片标识。上述方式将MD5值和SHA1值的组合作为文件分片的分片标识,能够避免出现MD5碰撞和SHA1碰撞。其中,MD5碰撞指不同的文件内容通过MD5算法计算的结果相同的情况,SHA1碰撞指不同的文件内容通过SHA1算法计算的结果相同的情况。
作为对于图1对应实施例的进一步介绍,在向文件管理服务端发送所述目标上传文件的文件分片列表之后,还可以将所述目标上传文件包括的所有文件分片的引用次数加一;文件分片的引用次数为用于描述文件被上传的次数,引用次数的初始值可以为1。相应的,当接收到文件修改指令时,判断待修改文件的文件分片的引用次数是否为初始值;若是,则对文件分片执行修改操作;若否,则将文件分片引用次数减一,并创建新的分片以便保存对所述待修改文件执行修改操作后的文件;当接收到文件删除指令时,判断待删除文件的文件分片的引用次数是否为所述默认值;若是,则执行文件分片删除操作;若否,则将文件分片的引用次数减一。上述关于文件分片的引用次数指文件管理客户端内记录的引用次数。
当然,本实施例还可以在数据管理服务端中设置各个以存储的文件分片的引用次数,当数据管理服务端中某个文件分片的引用次数用于描述存储至文件管理服务端内接收其他设备上传文件分片的次数。在文件管理服务端接收到目标上传文件的文件分片列表后,可以将文件管理服务端中已存储的文件分片的引用次数加一;在文件管理服务端接收到目标上传文件分片后,可以将文件管理服务端中已存储目标上传文件分片的引用次数设置为初始值1。
下面通过实际应用中文件管理客户端上传和下载文件例子说明上述实施例:
请参见图2,图2为本申请实施例所提供的一种文件管理客户端向文件管理服务端上传文件的原理示意图,可以包括以下步骤:
步骤1:如果待上传文件未存储至文件管理客户端,则对待上传文件进行文件分片,并计算获取分片ID(即分片标识),继续步骤2;如果待上传文件已存储至文件管理客户端则进入步骤4;
其中,文件管理客户端可以具有用户认证登陆功能,只有认证成功才具备连接查看文件管理服务端保存的文件的权限,还可以限定文件管理客户端只能查看具备权限的文件。本实施例可以根据文件分片的MD5值和SHA1值作为分片ID。为了保证文件变化后分片步长不变、分片内容匹配,计算分片步长时按文件大小的两倍计算,只要文件变动不超过一倍,分片步长就不会变化。作为另一种可行的实施方式,本实施例还可以按照以下分片步长计算文件分片:
文件小于10M,不分片;
文件大于10M,小于100M,按分片步长为10M进行分片;
文件大于100M,小于1G,按分片步长为100M分片;
文件大于1G,分片步长为500M。
通过上述方式,分片数量需要用总大小除以分片步长计算得出。
步骤2:上传默认前置操作将待上传文件导入文件管理客户端;
其中,待上传文件导入文件管理客户端的过程可以为:创建目标文件对象,把分片纳入文件管理客户端管理。将目标文件移入文件管理客户端的缓存文件夹,并进行分片存储,如果文件分片已存在,则仅把分片ID加入文件对象的分片列表;如果文件分片未存在,则把创建新的分片,然后加入文件对象的分片列表。其中,文件对象不包括具体数据,仅包含文件信息,文件对象可以包括:文件名、后缀、创建事件、最后修改事件、权属人、引用路径、文件大小、分片步长、分片列表、文件状态、引用计数等信息;其中文件状态有:未上传、已上传、已修改;其中已修改指本地进行了修改,修改后的文件和文件管理服务端存储的文件不同需要提交或更新的状态。
步骤3:对待上传文件进行文件识别操作;如果文件管理客户端已持有待上传文件的文件分片,则把引用计数加一并把分片ID加入文件对象的添加分片列表;如果客户端代理未持有,则把分片存入本地缓存,设置引用计数为1,然后添加到分片列表;
步骤4:连接文件管理服务端,发起上传请求;
步骤5:向文件管理服务端发送待上传文件的分片列表信息;
其中,文件管理客户端需要上传某个文件时,会首先发送所有的分片ID,文件管理服务端会进行分片识别,查看存在性并反馈给文件管理客户端。文件管理服务端还可以为需要实际上传的分片分配实际的存储节点,并通知文件管理客户端进行上传。
步骤6:文件管理服务端反馈文件分片的存在性;若已存在文件分片,把引用计数加一并把分片ID加入服务端文件对象的分片列表;若未存在文件分片,则分配存储节点,与客户端建立连接进行分片上传,上传后把文件管理服务端内的分片引用计数设置为1并把分片ID加入服务端文件对象的分片列表。
其中,文件管理服务端可以通过比较分片ID唯一识别分片,来判定分片的存在性;在文件上传过程中,可以先创建多个线程、多个连接和服务端进行通信,以进行并发上传,提升速率。文件管理客户端可以首先发送分片ID给服务端,如果服务端识别到目标分片已存在,则会通知客户端,不进行实际上传。
作为一种可行的实施方式,在文件管理客户端从文件管理服务端下载文件后,可以进行文件导出,具体过程为:根据文件对象的分片列表信息,用本地缓冲区中相应的分片在目标路径组合、创建成一个文件。在文件下载过程中,文件管理客户端可以创建多个线程、多个连接和服务端进行通信,以进行并发下载,提升速率;服务端会可以发送分片ID给客户端,如果客户端识别到目标分片已存在,则不进行实际下载。
作为对于图1对应实施例的进一步介绍,若接收到文件下载指令,根据目标下载文件的文件标识生成下载请求;将所述下载请求发送至所述文件管理服务端,以便所述文件管理服务端根据所述文件标识查询所述目标下载文件对应的文件分片列表;若接收到所述文件管理服务端返回的所述目标下载文件对应的文件分片列表,则将所述目标下载文件的文件分片列表中的分片标识与本地分片标识库进行对比;将本地分片标识库中不包括的分片标识对应的文件分片设置为目标下载文件分片;从所述文件管理服务端将所述目标下载文件分片下载至本地缓存文件夹。
上述实施方式描述了文件下载的过程,根据文件管理服务端返回的目标下载文件的文件分片列表可以确定,本地中已下载的目标下载文件的文件分片,以及未下载的目标下载文件的文件分片,仅将未下载的文件分片(即目标下载文件分片)从文件管理服务端进行下载,避免了重复数据的下载,提高了文件下载的效率。
请参见图3,图3为本申请实施例所提供的一种文件管理客户端向文件管理服务端下载文件的原理示意图,可以包括以下步骤:
步骤1:文件管理客户端发起下载,首先发送下载请求;
步骤2:文件管理服务端进行文件识别,读取并发送给文件管理客户端分片列表信息;
步骤3:文件管理客户端确认分片存在性,如果不存在,发送信息给服务端,确认要下载,继续步骤4;如果已存在,把引用计数加一并接添加到本地文件的文件列表种,完成分片下载;
步骤4:文件管理服务端分配相应的存储节点与客户端建立连接,进行分片下载;
其中,文件管理客户端请求下载某个文件时,根据分片列表中的分片ID通知相应的存储节点设备与客户端建立连接,进行文件分片下载;
步骤5:下载到本地缓存文件夹,引用计数为1,并添加到本地文件的文件列表中。
作为一种可行的实施方式,文件管理服务端可以保存所有文件对象信息,不同的文件对象可能持有同一个分片;文件管理服务端可以根据所有存储节点的状态信息和性能参数,分配分片,让文件的不同分片位于不同的存储节点,有利于提升上传、下载速率。文件管理服务端可以包括多个文件存储节点,具体的请参见图4,图4为本申请实施例所提供的一种文件存储管理系统的结构示意图,一个文件存储节点包含可以1~2台实际存储文件分片的存储设备,如果是2台可以实现主从备份;如果只有一台服务端设备,那么可以使文件存储节点与文件管理服务端位于同一设备中。
在图2和图3对应的实施例中,如果出现文件分片需要修改的情况,对于上传时的文件管理服务端或下载时的文件管理客户端而言,若文件分片的引用计数大于1,则需把计数减1,并创建新的分片保存新数据;如果引用计数为1,则直接修改该分片。如果是删除文件,引用计数大于1的,只把文件分片的引用计数减1;如果计数等于1,则删除文件分片。
本申请实施例还提供了一种文件管理客户端,包括:
文件确定模块,用于接收文件上传指令,并根据所述文件上传指令确定目标上传文件;
分片列表上传模块,用于向文件管理服务端发送所述目标上传文件的文件分片列表;
分片设置模块,用于接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;
分片上传模块,用于将所述目标上传文件分片上传至所述文件管理服务端。
本实施例在接收到文件上传指令之后,将包括目标上传文件的分片标识的文件分片列表发送至文件管理服务端,以便文件管理服务端返回文件分片的存在性检测结果。根据存在性监测结果可以确定文件管理服务端中不存在的目标上传文件的文件分片,即目标上传文件分片。通过将目标上传文件分片上传至文件管理服务端,可以实现仅将文件管理服务端中不存在的文件分片进行上传,避免了相同数据的重复上传,提高数据管理效率。
进一步的,还包括:
判断模块,用于在所述向文件管理服务端发送所述目标上传文件的文件分片列表之前,判断本地文件分片列表库中是否包括所述目标上传文件的文件分片列表;
列表获取模块,用于若本地文件分片列表库中包括所述目标上传文件的文件分片列表,则获取所述目标上传文件的文件分片列表;
列表构建模块,用于若本地文件分片列表库中不包括所述目标上传文件的文件分片列表,则对所述目标上传文件执行文件分片操作得到多个文件分片,根据所述文件分片对应的文件内容计算每一所述文件分片的分片标识,并构建包括所有所述分片标识的文件分片列表。
进一步的,列表构建模块包括:
标识计算单元,用于根据所述文件分片对应的文件内容分别计算MD5值和SHA1值,将每一所述文件分片的MD5值和SHA1值作为所述分片标识。
进一步的,所述文件管理服务端生成所述分片存在性检测结果的过程包括:将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比;若所述服务端分片标识库包括所述分片标识,则生成第一比对结果;若所述服务端分片标识库不包括所述分片标识,则生成第二比对结果;
根据所述第一比对结果和/或所述第二比对结果生成所述分片存在性检测结果。
进一步的,还包括:
引用次数设置模块,用于在向文件管理服务端发送所述目标上传文件的文件分片列表之后,将所述目标上传文件包括的所有文件分片的引用次数加一;
相应的,还包括:
文件修改模块,用于当接收到文件修改指令时,判断待修改文件的文件分片的引用次数是否为初始值;若是,则对文件分片执行修改操作;若否,则将文件分片引用次数减一,并创建新的分片以便保存对所述待修改文件执行修改操作后的文件;
文件删除模块,用于当接收到文件删除指令时,判断待删除文件的文件分片的引用次数是否为所述默认值;若是,则执行文件分片删除操作;若否,则将文件分片的引用次数减一。
进一步的,还包括:
文件下载模块,用于若接收到文件下载指令,根据目标下载文件的文件标识生成下载请求;还用于将所述下载请求发送至所述文件管理服务端,以便所述文件管理服务端根据所述文件标识查询所述目标下载文件对应的文件分片列表;还用于若接收到所述文件管理服务端返回的所述目标下载文件对应的文件分片列表,则将所述目标下载文件的文件分片列表中的分片标识与本地分片标识库进行对比;还用于将本地分片标识库中不包括的分片标识对应的文件分片设置为目标下载文件分片;还用于从所述文件管理服务端将所述目标下载文件分片下载至本地缓存文件夹。
本申请实施例还提供了一种文件存储管理方法,包括:
若接收到文件管理客户端发送目标上传文件的文件分片列表,则将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比得到分片存在性检测结果,并将所述分片存在性检测结果发送至所述文件管理客户端,以便所述文件管理客户端根据所述分片存在性检测结果上传所述目标上传文件中未上传至所述文件管理服务端的文件分片;
若接收到所述文件管理客户端发送的下载请求,则根据所述文件标识从所述服务端文件分片列表库查询所述目标下载文件的文件分片列表,并将所述目标下载文件的文件分片列表发送至所述文件管理客户端,以便所述文件管理客户端将本地分片标识库中不包括的分片标识对应的文件分片设下载至本地缓存文件夹。
本实施例在接收到文件上传指令之后,将包括目标上传文件的分片标识的文件分片列表发送至文件管理服务端,以便文件管理服务端返回文件分片的存在性检测结果。根据存在性监测结果可以确定文件管理服务端中不存在的目标上传文件的文件分片,即目标上传文件分片。通过将目标上传文件分片上传至文件管理服务端,可以实现仅将文件管理服务端中不存在的文件分片进行上传,避免了相同数据的重复上传,提高数据管理效率。上述实施方式根据文件管理服务端返回的目标下载文件的文件分片列表可以确定,本地中已下载的目标下载文件的文件分片,以及未下载的目标下载文件的文件分片,仅将未下载的文件分片(即目标下载文件分片)从文件管理服务端进行下载,避免了重复数据的下载,提高了文件下载的效率。
本申请实施例还提供了一种文件存储管理系统,包括文件管理客户端和文件管理服务端,所述文件管理客户端向所述文件管理服务端上传目标上传文件的过程包括:
所述文件管理客户端,向文件管理服务端发送所述目标上传文件的文件分片列表;
所述文件管理服务端,将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比得到分片存在性检测结果,并将所述分片存在性检测结果发送至所述文件管理客户端;其中,生成所述分片存在性检测结果的过程包括:若所述服务端分片标识库包括所述分片标识,则生成第一比对结果;若所述服务端分片标识库不包括所述分片标识,则生成第二比对结果;根据所述第一比对结果和所述第二比对结果生成所述分片存在性检测结果;
所述文件管理客户端,根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片,并将所述目标上传文件分片上传至所述文件管理服务端。
本实施例在接收到文件上传指令之后,将包括目标上传文件的分片标识的文件分片列表发送至文件管理服务端,以便文件管理服务端返回文件分片的存在性检测结果。根据存在性监测结果可以确定文件管理服务端中不存在的目标上传文件的文件分片,即目标上传文件分片。通过将目标上传文件分片上传至文件管理服务端,可以实现仅将文件管理服务端中不存在的文件分片进行上传,避免了相同数据的重复上传,提高数据管理效率。上述实施方式根据文件管理服务端返回的目标下载文件的文件分片列表可以确定,本地中已下载的目标下载文件的文件分片,以及未下载的目标下载文件的文件分片,仅将未下载的文件分片(即目标下载文件分片)从文件管理服务端进行下载,避免了重复数据的下载,提高了文件下载的效率。
进一步的,所述文件管理客户端从所述文件管理服务端下载目标下载文件的过程包括:
所述文件管理客户端,向所述文件管理服务端发送下载请求;其中,所述下载请求包括所述目标下载文件的文件标识;
所述文件管理服务端,根据所述文件标识从服务端文件分片列表库查询所述目标下载文件的文件分片列表,并将所述目标下载文件的文件分片列表发送至所述文件管理客户端;
所述文件管理客户端,将所述目标下载文件的文件分片列表中的分片标识与本地分片标识库进行对比,将本地分片标识库中不包括的分片标识对应的文件分片设置为目标下载文件分片,从所述文件管理服务端将所述目标下载文件分片下载至本地缓存文件夹。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种文件存储管理方法,其特征在于,包括:
接收文件上传指令,并根据所述文件上传指令确定目标上传文件;
向文件管理服务端发送所述目标上传文件的文件分片列表;其中,所述目标上传文件的文件分片列表包括所述目标上传文件的所有文件分片的分片标识;
接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;
将所述目标上传文件分片上传至所述文件管理服务端。
2.根据权利要求1所述文件存储管理方法,其特征在于,在所述向文件管理服务端发送所述目标上传文件的文件分片列表之前,还包括:
判断本地文件分片列表库中是否包括所述目标上传文件的文件分片列表;
若是,则获取所述目标上传文件的文件分片列表;
若否,则对所述目标上传文件执行文件分片操作得到多个文件分片,根据所述文件分片对应的文件内容计算每一所述文件分片的分片标识,并构建包括所有所述分片标识的文件分片列表。
3.根据权利要求2所述文件存储管理方法,其特征在于,所述根据文件分片对应的文件内容计算每一所述文件分片的分片标识,包括:
根据所述文件分片对应的文件内容分别计算MD5值和SHA1值,将每一所述文件分片的MD5值和SHA1值作为所述分片标识。
4.根据权利要求2所述文件存储管理方法,其特征在于,所述文件管理服务端生成所述分片存在性检测结果的过程包括:
将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比;
若所述服务端分片标识库包括所述分片标识,则生成第一比对结果;
若所述服务端分片标识库不包括所述分片标识,则生成第二比对结果;
根据所述第一比对结果和/或所述第二比对结果生成所述分片存在性检测结果。
5.根据权利要求1所述文件存储管理方法,其特征在于,在向文件管理服务端发送所述目标上传文件的文件分片列表之后,还包括:
将所述目标上传文件包括的所有文件分片的引用次数加一;
相应的,还包括:
当接收到文件修改指令时,判断待修改文件的文件分片的引用次数是否为初始值;若是,则对文件分片执行修改操作;若否,则将文件分片引用次数减一,并创建新的分片以便保存对所述待修改文件执行修改操作后的文件;
当接收到文件删除指令时,判断待删除文件的文件分片的引用次数是否为所述默认值;若是,则执行文件分片删除操作;若否,则将文件分片的引用次数减一。
6.根据权利要求1所述文件存储管理方法,其特征在于,还包括:
若接收到文件下载指令,根据目标下载文件的文件标识生成下载请求;
将所述下载请求发送至所述文件管理服务端,以便所述文件管理服务端根据所述文件标识查询所述目标下载文件对应的文件分片列表;
若接收到所述文件管理服务端返回的所述目标下载文件对应的文件分片列表,则将所述目标下载文件的文件分片列表中的分片标识与本地分片标识库进行对比;
将本地分片标识库中不包括的分片标识对应的文件分片设置为目标下载文件分片;
从所述文件管理服务端将所述目标下载文件分片下载至本地缓存文件夹。
7.一种文件管理客户端,其特征在于,包括:
文件确定模块,用于接收文件上传指令,并根据所述文件上传指令确定目标上传文件;
分片列表上传模块,用于向文件管理服务端发送所述目标上传文件的文件分片列表;
分片设置模块,用于接收所述文件管理服务端返回的分片存在性检测结果,并根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片;
分片上传模块,用于将所述目标上传文件分片上传至所述文件管理服务端。
8.一种文件存储管理方法,其特征在于,包括:
若接收到文件管理客户端发送目标上传文件的文件分片列表,则将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比得到分片存在性检测结果,并将所述分片存在性检测结果发送至所述文件管理客户端,以便所述文件管理客户端根据所述分片存在性检测结果上传所述目标上传文件中未上传至所述文件管理服务端的文件分片;
若接收到所述文件管理客户端发送的下载请求,则根据所述文件标识从服务端文件分片列表库查询所述目标下载文件的文件分片列表,并将所述目标下载文件的文件分片列表发送至所述文件管理客户端,以便所述文件管理客户端将本地分片标识库中不包括的分片标识对应的文件分片设下载至本地缓存文件夹。
9.一种文件存储管理系统,其特征在于,包括文件管理客户端和文件管理服务端,所述文件管理客户端向所述文件管理服务端上传目标上传文件的过程包括:
所述文件管理客户端,向文件管理服务端发送所述目标上传文件的文件分片列表;
所述文件管理服务端,将所述目标上传文件的文件分片列表中的分片标识与服务端分片标识库进行对比得到分片存在性检测结果,并将所述分片存在性检测结果发送至所述文件管理客户端;其中,生成所述分片存在性检测结果的过程包括:若所述服务端分片标识库包括所述分片标识,则生成第一比对结果;若所述服务端分片标识库不包括所述分片标识,则生成第二比对结果;根据所述第一比对结果和所述第二比对结果生成所述分片存在性检测结果;
所述文件管理客户端,根据所述分片存在性检测结果将所述目标上传文件中未上传至所述文件管理服务端的文件分片设置为目标上传文件分片,并将所述目标上传文件分片上传至所述文件管理服务端。
10.根据权利要求9所述文件存储管理系统,其特征在于,所述文件管理客户端从所述文件管理服务端下载目标下载文件的过程包括:
所述文件管理客户端,向所述文件管理服务端发送下载请求;其中,所述下载请求包括所述目标下载文件的文件标识;
所述文件管理服务端,根据所述文件标识从服务端文件分片列表库查询所述目标下载文件的文件分片列表,并将所述目标下载文件的文件分片列表发送至所述文件管理客户端;
所述文件管理客户端,将所述目标下载文件的文件分片列表中的分片标识与本地分片标识库进行对比,将本地分片标识库中不包括的分片标识对应的文件分片设置为目标下载文件分片,从所述文件管理服务端将所述目标下载文件分片下载至本地缓存文件夹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470807.7A CN111708743A (zh) | 2020-05-28 | 2020-05-28 | 文件存储管理方法、文件管理客户端及文件存储管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470807.7A CN111708743A (zh) | 2020-05-28 | 2020-05-28 | 文件存储管理方法、文件管理客户端及文件存储管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111708743A true CN111708743A (zh) | 2020-09-25 |
Family
ID=72537036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470807.7A Withdrawn CN111708743A (zh) | 2020-05-28 | 2020-05-28 | 文件存储管理方法、文件管理客户端及文件存储管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708743A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559464A (zh) * | 2020-12-22 | 2021-03-26 | 鲁班(北京)电子商务科技有限公司 | 一种文件上传方法及上传装置 |
CN112995284A (zh) * | 2021-02-04 | 2021-06-18 | 卓望数码技术(深圳)有限公司 | 文件存储方法、电子设备及存储介质 |
CN113220644A (zh) * | 2021-05-28 | 2021-08-06 | 北京微纳星空科技有限公司 | 一种文件处理方法、装置、设备及存储介质 |
CN113568884A (zh) * | 2021-09-26 | 2021-10-29 | 武汉四通信息服务有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
CN114513501A (zh) * | 2022-02-15 | 2022-05-17 | 银联商务股份有限公司 | 目标分发方法和系统 |
CN114615258A (zh) * | 2022-03-28 | 2022-06-10 | 重庆长安汽车股份有限公司 | 大文件分片上传到文件服务端的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833294A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 基于云存储的文件处理方法、系统及服务器集群系统 |
CN106302715A (zh) * | 2016-08-12 | 2017-01-04 | 北京奇虎科技有限公司 | 一种文件管理方法、装置及系统 |
CN107483627A (zh) * | 2017-09-12 | 2017-12-15 | 网宿科技股份有限公司 | 一种文件分发、下载方法、分发服务器、客户端及系统 |
CN109361772A (zh) * | 2018-12-13 | 2019-02-19 | 浪潮电子信息产业股份有限公司 | 一种分布式对象存储系统中文件上传方法及装置 |
WO2019051628A1 (zh) * | 2017-09-12 | 2019-03-21 | 网宿科技股份有限公司 | 一种文件分发、下载方法、分发服务器、客户端及系统 |
US20200117637A1 (en) * | 2018-10-11 | 2020-04-16 | Box, Inc. | Systems and methods for sharding based on distributed inverted indexes |
-
2020
- 2020-05-28 CN CN202010470807.7A patent/CN111708743A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833294A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 基于云存储的文件处理方法、系统及服务器集群系统 |
US20130073691A1 (en) * | 2011-06-17 | 2013-03-21 | Alibaba Group Holding Limited | File Processing Method, System and Server-clustered System for Cloud Storage |
CN106302715A (zh) * | 2016-08-12 | 2017-01-04 | 北京奇虎科技有限公司 | 一种文件管理方法、装置及系统 |
CN107483627A (zh) * | 2017-09-12 | 2017-12-15 | 网宿科技股份有限公司 | 一种文件分发、下载方法、分发服务器、客户端及系统 |
WO2019051628A1 (zh) * | 2017-09-12 | 2019-03-21 | 网宿科技股份有限公司 | 一种文件分发、下载方法、分发服务器、客户端及系统 |
US20200117637A1 (en) * | 2018-10-11 | 2020-04-16 | Box, Inc. | Systems and methods for sharding based on distributed inverted indexes |
CN109361772A (zh) * | 2018-12-13 | 2019-02-19 | 浪潮电子信息产业股份有限公司 | 一种分布式对象存储系统中文件上传方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559464A (zh) * | 2020-12-22 | 2021-03-26 | 鲁班(北京)电子商务科技有限公司 | 一种文件上传方法及上传装置 |
CN112995284A (zh) * | 2021-02-04 | 2021-06-18 | 卓望数码技术(深圳)有限公司 | 文件存储方法、电子设备及存储介质 |
CN113220644A (zh) * | 2021-05-28 | 2021-08-06 | 北京微纳星空科技有限公司 | 一种文件处理方法、装置、设备及存储介质 |
CN113568884A (zh) * | 2021-09-26 | 2021-10-29 | 武汉四通信息服务有限公司 | 一种文件管理方法、装置、电子设备及存储介质 |
CN114513501A (zh) * | 2022-02-15 | 2022-05-17 | 银联商务股份有限公司 | 目标分发方法和系统 |
CN114513501B (zh) * | 2022-02-15 | 2024-03-22 | 银联商务股份有限公司 | 目标分发方法和系统 |
CN114615258A (zh) * | 2022-03-28 | 2022-06-10 | 重庆长安汽车股份有限公司 | 大文件分片上传到文件服务端的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708743A (zh) | 文件存储管理方法、文件管理客户端及文件存储管理系统 | |
CN107332876B (zh) | 区块链状态的同步方法及装置 | |
CN102307210B (zh) | 一种数据下载系统及其数据管理和下载方法 | |
CN109995866B (zh) | 分布式文件校验方法、装置、计算机装置及存储介质 | |
CN111970315A (zh) | 推送消息的方法、装置及系统 | |
CN110737658A (zh) | 数据分片存储方法、装置、终端及可读存储介质 | |
CN105812435B (zh) | 应用升级数据包处理方法、装置、电子设备及系统 | |
WO2017215646A1 (zh) | 数据传输方法和装置 | |
CN112422497B (zh) | 消息传递方法、装置及计算机设备 | |
CN103095824A (zh) | 文件上传控制方法及系统 | |
CN111262726A (zh) | 一种配置信息更新方法、装置及计算机可读存储介质 | |
CN110661829A (zh) | 文件下载方法及装置、客户端和计算机可读存储介质 | |
CN110287007A (zh) | 数据调用响应方法、服务器及计算机可读存储介质 | |
CN113010474B (zh) | 文件管理方法、即时通信方法及存储服务器 | |
CN112866406B (zh) | 一种数据存储方法、系统、装置、设备及存储介质 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN111147226B (zh) | 数据存储方法、装置及存储介质 | |
CN110798492B (zh) | 数据存储方法及装置、数据处理系统 | |
CN111131498B (zh) | Url信息更新方法、缓存服务器、设备及存储介质 | |
CN109144991B (zh) | 动态分表的方法、装置、电子设备和计算机可存储介质 | |
CN107483637B (zh) | 一种基于nfs的客户端链接管理方法及装置 | |
CN113900990A (zh) | 文件分片存储方法、装置、设备及存储介质 | |
CN113612811B (zh) | 一种在多通道中客户端挂载的方法、系统、设备及介质 | |
CN114466004A (zh) | 一种文件传输方法、系统、电子设备及存储介质 | |
CN109347991B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200925 |