CN113900990A - 文件分片存储方法、装置、设备及存储介质 - Google Patents

文件分片存储方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113900990A
CN113900990A CN202111181263.3A CN202111181263A CN113900990A CN 113900990 A CN113900990 A CN 113900990A CN 202111181263 A CN202111181263 A CN 202111181263A CN 113900990 A CN113900990 A CN 113900990A
Authority
CN
China
Prior art keywords
file
storage
fragment
information
fragmented
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.)
Pending
Application number
CN202111181263.3A
Other languages
English (en)
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.)
Beijing Qingyun Science And Technology Co ltd
Original Assignee
Beijing Qingyun Science And Technology 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 Beijing Qingyun Science And Technology Co ltd filed Critical Beijing Qingyun Science And Technology Co ltd
Priority to CN202111181263.3A priority Critical patent/CN113900990A/zh
Publication of CN113900990A publication Critical patent/CN113900990A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/13File access structures, e.g. distributed indices
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件分片存储方法、装置、设备及存储介质。该方法包括:通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;通过网关存储服务器将所述链表关系和所述文件存储信息发送到数据库中进行存储;通过网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。通过本发明的技术方案,能够将文件分片存储到网盘中,使得分片文件需要修改时无需下载整个文件,节约文件传输资源。

Description

文件分片存储方法、装置、设备及存储介质
技术领域
本发明实施例涉及信息交互技术领域,尤其涉及一种文件分片存储方法、装置、设备及存储介质。
背景技术
网盘是一种面向对象的存储方法,网盘用户可以在任何时间、任意地点通过互联网访问文件,网盘的单个文件上传大小无限制,具有开放性、空间便宜等特点。
现有技术中采用网盘存储文件存在以下问题:用户若想要读取网盘的数据,必须将整个文件下载,无法灵活依据用户需求读取部分数据;用户若想要修改网盘的数据,也只能将修改好的完整文件重新上传覆盖旧数据,造成文件上传和下载资源的浪费,尤其是对于大文件,问题尤为突出。
发明内容
本发明实施例提供一种文件分片存储方法、装置、设备及存储介质,以实现能够将文件分片存储到网盘中,使得分片文件需要修改时,无需下载整个文件,节约文件传输资源。
第一方面,本发明实施例提供了一种文件分片存储方法,包括:
通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;
通过所述网关存储服务器存储所述链表关系和所述文件存储信息;通过所述网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
第二方面,本发明实施例还提供了一种文件分片存储装置,该装置包括:
分片模块,通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
处理模块,用于通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;
信息存储模块,用于通过所述网关存储服务器存储所述链表关系和所述文件存储信息;
文件存储模块,用于通过所述网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
第三方面,本发明实施例还提供了一种终端设备,包括一个或多个处理器;
存储器,用于存储一个或多个程序;
客户端,用于对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
网关存储服务器,用于基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;存储所述链表关系和所述文件存储信息将处理后的各分片文件发送到网络硬盘进行存储;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例中任一所述的文件分片存储方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的文件分片存储方法。
本发明实施例通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将分片文件和文件存储信息发送到网关存储服务器;通过网关存储服务器基于文件存储信息对接收到的各分片文件进行处理,确定各分片文件之间的链表关系;通过网关存储服务器存储链表关系和文件存储信息;通过网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储,解决用户若想要修改网盘的数据,也只能将修改好的完整文件重新上传覆盖旧数据,造成文件上传和下载资源浪费的问题,实现对分片文件修改时无需下载整个文件,节约文件传输资源的效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一中的一种文件分片存储方法的流程图;
图2A是一种客户端与网关存储服务器的部署方式的示意图;
图2B是另一种客户端与网关存储服务器的部署方式的示意图;
图2C是本发明实施例二中的一种文件分片存储方法的流程图;
图2D是本发明实施例二中的一种文件分片存储方式的示意图;
图2E是本发明实施例二中的一种链表关系的示意图;
图3是本发明实施例三中的一种文件分片存储装置的结构示意图;
图4是本发明实施例四中的一种终端设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例一
图1为本发明实施例一提供的一种文件分片存储方法的流程图,本实施例可适用于将用户创建的文件分片存储在网络硬盘中的情况,该方法可以由本发明实施例中的文件分片存储装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S110,通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器。
其中,客户端和网关存储服务器安装在终端设备中,客户端为用户提供将文件存储在网络硬盘中的服务,网关存储服务器基于文件存储信息对分片文件进行处理。客户端可以通过网页或软件的形式获取用户创建的创建文件,本发明实施例对此不设限制。
需要说明的是,客户端与网关存储服务器的部署方式有两种:一种是对于单个客户端,如图2A所示,客户端与网关存储服务器可以部署在同一终端设备中;另一种是对于多个不同终端的客户端,如图2B所示,网关存储服务可以部署单节点服务器成分布式集群服务器,向不同客户端提供服务;其中,单节点网关存储服务器或分布式集群网关存储服务器可以提供应用程序API接口供客户端调用网关存储服务还可以通过网络硬盘提供的API与网络硬盘进行交互来存储文件,例如可以利用Flask组件提供标准的RESETful API。
具体的,通过客户端获取用户创建的创建文件和文件存储信息,文件存储信息可以包括创建文件的存储信息,例如是否需要压缩和加密;也可以包括文件自身的信息,例如文件名称、文件创建路径和文件属性等。客户端对用户创建的创建文件进行分片得到分片文件,通过网关存储服务器的API接口将分片文件和文件存储信息发送到网关存储服务器中。
可选的,客户端还可以计算各分片文件的哈希值,并将分片文件哈希值添加到文件存储信息,发送到网关存储服务器中,以使网关存储服务器基于分片文件哈希值对分片文件进行去重。
示例性的,对用户创建的创建文件进行分片得到分片文件的方法可以为:
通过客户端获取用户创建的创建文件和文件存储信息之前还包括:用户在终端设备中输入网络硬盘的账户认证信息,客户端将发起头文件包括账户认证信息的文件存储请求,通过API接口将文件存储请求发送至网关存储服务。由于用户的账户认证信息由客户端管理,网关存储服务不需要记录和管理用户的认证信息,进一步保证了账户安全。
S120,通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系。
其中,链表关系用于表示各分片文件之间的存储关系,以及各分片文件与所属创建文件的存储关系,例如,各分片文件的标识码之间的链接关系,以及各分片文件的标识码与所属创建文件的标识码之间的链接关系。文件标识码可以作为创建文件的唯一标识码,用于区分各创建文件,创建文件的标识码不会改变;分片标识码可以作为分片文件的唯一标识码,用于区别各分片文件,只有在分片文件的内容发生变化时,文件标识码才会发生改变。
其中,网关存储服务器包括元数据功能和数据存储功能,元数据功能用于确定文件标识信息或存储文件存储信息;数据存储功能用于基于文件储信息对分片文件进行处理。
具体的,网关存储服务器接收到客户端发送的分片文件和文件存储信息后,基于文件存储信息对分片文件进行处理,确定各分片文件的分片标识信息。
示例性的,基于所述文件存储信息对接收到的各所述分片文件进行处理的方式可以为:基于所述分片文件哈希值对接收到的各所述分片文件进行去重;基于文件处理信息对去重后的分片文件进行处理。
S130,通过所述网关存储服务器存储所述链表关系和所述文件存储信息。
具体的,链表关系和文件存储信息均保存在网关存储服务器中,用户访问网络硬盘中存储的分片文件时,可以基于网关存储服务器中存储的链表关系和文件存储信息确定分片文件,并从网络硬盘中获取分片文件。
S140,通过网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
其中,网络硬盘是一种可以用户基于互联网登录网站的进行信息数据上传、下载、共享等操作的信息数据存储空间,例如可以是云盘或网盘。
具体的,网关存储服务器将处理后的分片文件发送到网络硬盘,以使网络硬盘根据预设存储规则对处理后的各分片文件进行存储。其中,预设存储规则可以是用户根据需求设定,例如可以是按操作时间、文件大小、文件类型或文件名称进行存储,本发明实施例对此不设限制。
本实施例的技术方案,通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将分片文件和文件存储信息发送到网关存储服务器;通过网关存储服务器基于文件存储信息对接收到的各分片文件进行处理,确定各分片文件之间的链表关系;通过网关存储服务器存储链表关系和文件存储信息;通过网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储,能够将文件分片存储到网盘中,使得分片文件需要修改时无需下载整个文件,节约文件传输资源。
可选的,还包括:
在所述客户端中设置用户空间文件***,通过所述用户空间文件***访问所述网关存储服务器。
具体的,客户端可以通过用户空间文件***(Filesystem in Userspace,FUSE)实现在操作***用户空间里使用存储目录,此方法跨***平台,例如可以在linux/mac等***平台使用,Fuse使用http协议等网络连接方式与“网关存储服务器”进行数据交互,从而使网关存储服务可以根据文件存储信息与网盘中的分片文件的数据交互。
实施例二
图2C为本发明实施例二中的一种文件分片存储方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,对用户创建的创建文件进行分片得到分片文件,包括:获取创建文件字节数;计算所述创建文件字节数和分片字节数的第一比值,将所述第一比值向上取整的结果确定为所述创建文件的分片数量;基于所述分片字节数对所述创建文件进行分片,得到所述分片数量的分片文件。
如图2C所示,本实施例的方法具体包括如下步骤:
S210,通过客户端获取用户创建的创建文件和创建文件字节数。
具体的,通过客户端获取用户创建的创建文件,通过客户端中预设程序识别创建文件的大小,即创建文件字节数。
需要说明的是,客户端分片后的分片文件会以API形式将信息传递给网关存储服务处理,实际的文件传输以字节为单位,但是为了方便表示,创建文件的大小也可以用MiB单位,1MiB=1024KiB=1024×1024Byte。
S220,基于预设分片字节数对所述创建文件进行分片,得到所述分片数量的分片文件;分片数量为对所述创建文件字节数和所述预设分片字节数的第一比值向上取整的结果。
其中,预设分片字节数可以由客户端基于用户需求设定,也可以由用户自定义。
具体的,创建文件的分片数量的计算方式如下:
Figure BDA0003297292610000091
其中,N为分片数量,Bf为创建文件字节数,Bs为分片文件字节数,
Figure BDA0003297292610000092
为向上取整运算符。
可以理解的是,客户端基于预设分片字节数对所述创建文件进行分片,得到所述分片数量的分片文件,若创建文件字节数与分片文件字节数可以整除,则每个分片文件存储数据的字节数均为预设分片字节数;示例性的,若创建文件字节数为10240KiB(10MiB),预设分片字节数为2048KiB(2MiB),则文件可以分片为5个分片文件,每个分片文件的2048KiB。
若创建文件字节数与分片文件字节数不能整除,则前分片数量减一的分片文件中可以存储数据的字节数为预设分片字节数,最后一个分片文件的字节数仍预设分片字节数,但是其中存储数据的字节数为创建文件字节数与分片文件字节数的余数,其余字节数由空字节填充。示例性的,若创建文件字节数为10300KiB,预设分片字节数为2048KiB,则文件可以分片为6个分片文件,每个分片文件的2048KiB,最后一个分片文件的前60KiB为文件数据,后1988KiB为空字节。
S230,获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器。
可选的,所述文件存储信息包括:创建文件信息和文件处理信息;所述创建文件信息包括:创建文件的文件名称、创建路径、创建文件属性和分片文件哈希值;所述文件处理信息包括:分片文件压缩信息和/或分片文件加密信息。
其中,创建文件的文件名称、创建路径、创建文件属性以及文件处理信息的获取方式可以是由用户从客户端中输入;分片文件哈希值的获取方式可以是基于客户端中预设的哈希算法对各分片文件计算得到,分片文件哈希值是一个分片文件唯一且极其紧凑的数值表示形式。分片文件的哈希值计算方法,例如可以是MD5消息摘要算法,本发明实施例对此不设限制。
S240,通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理。
在一个优选的实施例中,S240可以包括:S241~S242,具体如下:
S241,基于所述分片文件哈希值对接收到的各所述分片文件进行去重。
示例性的,由于网络连接中断或网络连接状态不佳等原因,会中断文件存储到网络硬盘的过程,使得文件上传失败但部分分片文件上传成功的情况;当前用户再次上传文件时,就会存在重复上传分片文件情况。为了减少分片文件的重复上传,需要对接收到的各分片文件进行去重。具体步骤是:将接收到的当前分片文件对应的分片文件哈希值与网络硬盘中存储的各分片文件对应的分片文件哈希值进行对比,若存在相同的两个分片文件哈希值,则基于分片文件哈希值的唯一性,说明网络硬盘中已存储与当前分片文件相同的分片文件,当前分片文件为重复存储的文件,因此,对当前分片文件进行放弃,实现对接收到的各分片文件进行去重。
S242,基于文件处理信息对去重后的分片文件进行处理。
具体的,基于文件处理信息对去重后的分片文件进行处理的方式可以为:若文件存储信息表示需要对分片文件进行压缩,则网关存储服务器度对分片文件进行压缩,若文件存储信息表示需要对分片文件进行加密,则网关存储服务器对分片文件进行加密。
示例性的,可以基于Huffman哈夫曼算法对去重后的分片文件进行数据压缩处理,同时压缩后的Huffman还有加密作用,压缩后的分片文件存储在网络硬盘中,Huffman树保存到网关存储服务器的数据库中。
S250,确定各所述分片文件之间的链表关系。
可选的,确定各所述分片文件之间的链表关系,包括:
为各分片文件分配分片标识码,为所述创建文件分配文件标识码;
将各所述分片文件在所述创建文件中的次序,确定为各所述分片文件的分片序号;
根据各所述分片文件的分片序号,确定各所述分片文件之间的链表关系,所述链表关系包括:各所述分片文件的当前分片标识码、前一分片标识码和后一分片标识码,以及各所述分片文件所属创建文件的文件标识。
其中,分片文件的标识码仅与分片文件哈希值相关,当分片文件的数据发生改变,分片文件哈希值也随着改变,则需要向改变数据的分片文件分配新的标识码。分片文件的标识码可以由网关存储服务随机分配或按顺序依次分配,为了方便,通常根据各分片文件的产生顺序从1开始依次分配分片标识码。其中,链表关系可以是各分片文件的链表元素所构成的链表。
具体的,将分片时分片文件在创建文件中的分片次序确定为分片文件的分片序号,基于分片序号可以确定各分片文件之间的联系,即各分片文件的前一分片和后一分片,从而确定各分片文件的链表元素构成的链表关系。各分片文件的链表元素可以包括:当前分片标识码、前一分片标识码、后一分片标识码和所属创建文件的文件标识码。可以理解的是,第一分片文件为首个分片文件,链表关系中第一分片文件的链表元素不包含前一分片标识码;最后一个分片文件的链表元素不包含后一分片标识码。
示例性的,若创建文件字节数为10240KiB,预设分片字节数为2048KiB,则创建文件可以分片为5个分片文件,每个分片文件的2048KiB。依据各分片文件的分片序号所确定的各所述分片文件之间的链表关系,如图2D所示。其中,各分片文件的分片标识码依次为P1、P2、P3、P4和P5,各分片文件所属的创建文件的标识码为D1,其中,P表示分片标识吗,D表示文件标识码。
示例性的,如图2E所示,链表关系中第二分片文件对应的链表元素包括:当前分片标识码P2、前一分片标识码P1、后一分片标识码P3和第二分片文件所属的创建文件的文件标识码D1。
S260,通过所述网关存储服务器存储所述链表关系和所述文件存储信息;
S270,通过所述网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
本实施例的技术方案,通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将分片文件和文件存储信息发送到网关存储服务器;通过网关存储服务器基于文件存储信息对接收到的各分片文件进行处理,确定各分片文件之间的链表关系;通过网关存储服务器存储链表关系和文件存储信息;通过网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储,能够将文件分片存储到网盘中,使得分片文件需要修改时无需下载整个文件,节约文件传输资源。
可选的,通过所述网关存储服务器存储所述链表关系和所述文件存储信息,包括:
通过所述网关存储服务器将所述链表关系和所述文件存储信息存储在数据库集群中,所述数据库集群部署于所述网关存储服务器中。
具体的,在网关存储服务器中可以部署数据库集群,用于存储链表关系和所述文件存储信息。基于链表关系和文件存储信息可以确定分片文件在网络硬盘中的存储位置,从而获取分片文件。
可选的,还包括:
通过客户端获取文件删除信息,将所述文件删除信息发送到网关存储服务器;
通过网关存储服务器基于所述文件删除信息确定待删除文件,删除所述待删除文件对应的链表关系;对所述待删除文件中的各分片文件对应的分片标识码进行异步回收;
对于所述待删除文件中包含的待删除分片文件,判断所述待删除分片文件的当前标识码是否仅存在于待删除文件对应的链表关系中;
若是,则基于所述文件删除信息,删除所述待删除分片文件;
若否,则保留所述待删除分片文件。
其中,文件删除信息用于表示删除创建文件的信息,所述创建文件信息可以包括:待删除文件的存储路径、待删除文件的名称和待删除文件的文件标识码。
具体的,通过客户端获取用户输入的文件删除信息,将文件删除信息发送至网关存储服务器,网关存储服务器基于所述文件删除信息中包含的待删除文件的存储路径和名称确定待删除文件,并从网关存储服务器中删除待删除文件对应的链表关系。由于删除文件的链表关系中存储的各分片文件的分片标识码被丢弃,因此,对所述待删除文件中的各分片文件对应的分片标识码进行异步回收,在对新的分片文件分配分片标识码时进行再次使用。优选的,可优先使用回收的分片标识码。
对于待删除文件中的分片文件可能同时存在其他创建文件中,因此,需要判断判断所述待删除分片文件的当前标识码是否仅存在于待删除文件对应的链表关系中,若是,则基于文件删除信息的存储路径和标识码,删除所述待删除分片文件。若否,则说明待删除分片文件同时存在于其他创建文件中,需要保留待删除分片文件。
可选的,还包括:
通过客户端获取用户输入的文件查询信息,将所述文件查询信息发送到网关存储服务器;
通过网关存储服务器基于所述文件查询信息所述网络硬盘中获取文件存储信息,将所述文件存储信息返回到客户端。
其中,文件查询信息用于表示需要查询的文件存储信息,所述文件查询信息可以包括:待查询文件的存储路径和待查询文件的名称。
具体的,通过客户端获取用户输入的文件查询信息,将文件查询信息发送至网关存储服务器,网关存储服务器基于所述文件查询信息中包含的待查询文件的存储路径和名称确定待查询文件,并从网络硬盘中获取待查询文件对应的文件存储信息,将所述文件存储信息返回到客户端。
实施例三
图3为本发明实施例三提供的一种文件分片存储装置的结构示意图。本实施例可适用于将用户创建的文件分片存储在网络硬盘中的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供文件分片存储的功能的设备中,如图3所示,所述文件分片存储的装置具体包括:分片模块310、处理模块320和存储模块330。
其中,分片模块310,通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
处理模块320,用于通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;
信息存储模块330,用于通过所述网关存储服务器存储所述链表关系和所述文件存储信息;
文件存储模块340,用于通过所述网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
可选的,所述分片模块310,具体用于:
获取用户创建的创建文件和创建文件字节数;
基于预设分片字节数对所述创建文件进行分片,得到所述分片数量的分片文件;分片数量为对所述创建文件字节数和所述预设分片字节数的第一比值向上取整的结果。
可选的,所述文件存储信息包括:创建文件信息和文件处理信息;所述创建文件信息包括:创建文件的文件名称、创建路径、创建文件属性和分片文件哈希值;所述文件处理信息包括:分片文件压缩信息和/或分片文件加密信息。
可选的,处理模块320,具体用于:
基于所述分片文件哈希值对接收到的各所述分片文件进行去重;
基于文件处理信息对去重后的分片文件进行处理。
可选的,处理模块320,还用于:
为各分片文件分配分片标识码,为所述创建文件分配文件标识码;
将各所述分片文件在所述创建文件中的次序,确定为各所述分片文件的分片序号;
根据各所述分片文件的分片序号,确定各所述分片文件之间的链表关系,所述链表关系包括:各所述分片文件的当前分片标识码、前一分片标识码和后一分片标识码,以及各所述分片文件所属的创建文件的文件标识码。
可选的,所述信息存储模块330,具体用于:
通过所述网关存储服务器将所述链表关系和所述文件存储信息存储在数据库集群中,所述数据库集群部署于所述网关存储服务器中。
可选的,还包括:
设置模块,用于在所述客户端中设置用户空间文件***,通过所述用户空间文件***访问所述网关存储服务器。
可选的,还包括:
第一获取模块,用于通过客户端获取文件删除信息,将所述文件删除信息发送到网关存储服务器;
第一删除模块,用于通过网关存储服务器基于所述文件删除信息确定待删除文件,删除所述待删除文件对应的链表关系;对所述待删除文件中的各分片文件对应的分片标识码进行异步回收;
判断模块,用于对于所述待删除文件中包含的待删除分片文件,判断所述待删除分片文件的当前标识码是否仅存在于待删除文件对应的链表关系中;
第二删除模块,用于若所述待删除分片文件的当前标识码仅存在于待删除文件对应的链表关系中,则基于所述文件删除信息,删除所述待删除分片文件;
保留模块,用于若所述待删除分片文件的当前标识码不是仅存在于待删除文件对应的链表关系中,则保留所述待删除分片文件。
可选的,还包括:
第二获取模块,用于通过客户端获取用户输入的文件查询信息,将所述文件查询信息发送到网关存储服务器;
查询模块,用于通过网关存储服务器基于所述文件查询信息所述网络硬盘中获取文件存储信息,将所述文件存储信息返回到客户端。
上述产品可执行本发明实施例一或二所提供的文件分片存储方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种终端设备的结构框图,如图4所示,该终端设备包括处理器410、存储器420、客户端430和网关存储服务器440;终端设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;终端设备中的处理器410、存储器420、客户端430和网关存储服务器440可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的文件分片存储方法对应的程序指令/模块(例如,文件分片存储装置中的分片模块310、处理模块320和存储模块330)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行终端设备的各种功能应用以及数据处理,即实现上述的文件分片存储方法。
存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
客户端430,用于对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
网关存储服务器440,用于基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;存储所述链表关系和所述文件存储信息;将处理后的各分片文件发送到网络硬盘进行存储。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请发明实施例一或二提供的文件分片存储方法:通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;通过网关存储服务器将所述链表关系和所述文件存储信息发送到数据库中进行存储;通过网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种文件分片存储方法,其特征在于,包括:
通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;
通过所述网关存储服务器存储所述链表关系和所述文件存储信息;
通过所述网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
2.根据权利要求1所述方法,其特征在于,对用户创建的创建文件进行分片得到分片文件,包括:
获取用户创建的创建文件和创建文件字节数;
基于预设分片字节数对所述创建文件进行分片,得到所述分片数量的分片文件;分片数量为对所述创建文件字节数和所述预设分片字节数的第一比值向上取整的结果。
3.根据权利要求1所述方法,其特征在于,所述文件存储信息包括:创建文件信息和文件处理信息;所述创建文件信息包括:创建文件的文件名称、创建路径、创建文件属性和分片文件哈希值;所述文件处理信息包括:分片文件压缩信息和/或分片文件加密信息。
4.根据权利要求3所述方法,其特征在于,基于所述文件存储信息对接收到的各所述分片文件进行处理,包括:
基于所述分片文件哈希值对接收到的各所述分片文件进行去重;
基于文件处理信息对去重后的分片文件进行处理。
5.根据权利要求1所述方法,其特征在于,确定各所述分片文件之间的链表关系,包括:
为各分片文件分配分片标识码,为所述创建文件分配文件标识码;
将各所述分片文件在所述创建文件中的分片次序,确定为各所述分片文件的分片序号;
根据各所述分片文件的分片序号,确定各所述分片文件之间的链表关系,所述链表关系包括:各所述分片文件的当前分片标识码、前一分片标识码和后一分片标识码,以及各所述分片文件所属创建文件的文件标识。
6.根据权利要求1所述的方法,其特征在于,通过所述网关存储服务器存储所述链表关系和所述文件存储信息,包括:
通过所述网关存储服务器将所述链表关系和所述文件存储信息存储在数据库集群中,所述数据库集群部署于所述网关存储服务器中。
7.根据权利要求1所述的方法,其特征在于,还包括:
在所述客户端中设置用户空间文件***,通过所述用户空间文件***访问所述网关存储服务器。
8.根据权利要求1所述的方法,其特征在于,还包括:
通过客户端获取文件删除信息,将所述文件删除信息发送到网关存储服务器;
通过网关存储服务器基于所述文件删除信息确定待删除文件,删除所述待删除文件对应的链表关系;对所述待删除文件中的各分片文件对应的分片标识码进行异步回收;
对于所述待删除文件中包含的待删除分片文件,判断所述待删除分片文件的当前标识码是否仅存在于待删除文件对应的链表关系中;
若是,则基于所述文件删除信息,删除所述待删除分片文件;
若否,则保留所述待删除分片文件。
9.根据权利要求1所述的方法,其特征在于,还包括:
通过客户端获取用户输入的文件查询信息,将所述文件查询信息发送到网关存储服务器;
通过网关存储服务器基于所述文件查询信息所述网络硬盘中获取文件存储信息,将所述文件存储信息返回到客户端。
10.一种文件分片存储装置,其特征在于,包括:
分片模块,通过客户端对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
处理模块,用于通过网关存储服务器基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;
信息存储模块,用于通过所述网关存储服务器存储所述链表关系和所述文件存储信息;
文件存储模块,用于通过所述网关存储服务器将处理后的各分片文件发送到网络硬盘进行存储。
11.一种终端设备,其特征在于,所述终端设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
客户端,用于对用户创建的创建文件进行分片得到分片文件,并获取文件存储信息,将所述分片文件和所述文件存储信息发送到网关存储服务器;
网关存储服务器,用于基于所述文件存储信息对接收到的各所述分片文件进行处理,确定各所述分片文件之间的链表关系;存储所述链表关系和所述文件存储信息;将处理后的各分片文件发送到网络硬盘进行存储;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的文件分片存储方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的文件分片存储方法。
CN202111181263.3A 2021-10-11 2021-10-11 文件分片存储方法、装置、设备及存储介质 Pending CN113900990A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111181263.3A CN113900990A (zh) 2021-10-11 2021-10-11 文件分片存储方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111181263.3A CN113900990A (zh) 2021-10-11 2021-10-11 文件分片存储方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113900990A true CN113900990A (zh) 2022-01-07

Family

ID=79191393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111181263.3A Pending CN113900990A (zh) 2021-10-11 2021-10-11 文件分片存储方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113900990A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383896A (zh) * 2023-06-07 2023-07-04 中航金网(北京)电子商务有限公司 文件完整性校验方法、云平台启动方法、装置及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383896A (zh) * 2023-06-07 2023-07-04 中航金网(北京)电子商务有限公司 文件完整性校验方法、云平台启动方法、装置及设备
CN116383896B (zh) * 2023-06-07 2023-11-03 中航金网(北京)电子商务有限公司 文件完整性校验方法、云平台启动方法、装置及设备

Similar Documents

Publication Publication Date Title
US9984093B2 (en) Technique selection in a deduplication aware client environment
US9514209B2 (en) Data processing method and data processing device
US20180357217A1 (en) Chunk compression in a deduplication aware client environment
US10459886B2 (en) Client-side deduplication with local chunk caching
US9917894B2 (en) Accelerating transfer protocols
CN106161633B (zh) 一种基于云计算环境下打包文件的传输方法及***
US10862672B2 (en) Witness blocks in blockchain applications
WO2017215646A1 (zh) 数据传输方法和装置
CN109391673B (zh) 一种管理更新文件的方法、***及终端设备
CN110572422B (zh) 数据下载方法、装置、设备和介质
CN111708743A (zh) 文件存储管理方法、文件管理客户端及文件存储管理***
US10339124B2 (en) Data fingerprint strengthening
CN111262822B (zh) 文件存储方法、装置、区块链节点和***
WO2021237467A1 (zh) 文件上传方法、文件下载方法和文件管理装置
US20200065306A1 (en) Bloom filter partitioning
US20190377711A1 (en) Reducing database fragmentation
WO2013097812A1 (zh) 一种下载字库文件的方法和***
CN112866406A (zh) 一种数据存储方法、***、装置、设备及存储介质
CN113900990A (zh) 文件分片存储方法、装置、设备及存储介质
US20160044077A1 (en) Policy use in a data mover employing different channel protocols
CN112969198A (zh) 数据传输方法、终端及存储介质
CN111355793A (zh) 一种基于HTML5和Python的大文件上传方法
CN111245949A (zh) 文件归档传输方法、装置及设备
CN108897497B (zh) 一种无中心的数据管理方法及装置
CN109144991B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing

Applicant after: Beijing Qingyun Science and Technology Co.,Ltd.

Address before: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing.

Applicant before: Beijing Qingyun Science and Technology Co.,Ltd.