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

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

Info

Publication number
CN114138737A
CN114138737A CN202210117491.2A CN202210117491A CN114138737A CN 114138737 A CN114138737 A CN 114138737A CN 202210117491 A CN202210117491 A CN 202210117491A CN 114138737 A CN114138737 A CN 114138737A
Authority
CN
China
Prior art keywords
file
storage
node
storage node
nodes
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.)
Granted
Application number
CN202210117491.2A
Other languages
English (en)
Other versions
CN114138737B (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.)
Yici Netlink Hangzhou Technology Co ltd
Original Assignee
Yici Netlink Hangzhou 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 Yici Netlink Hangzhou Technology Co ltd filed Critical Yici Netlink Hangzhou Technology Co ltd
Priority to CN202210117491.2A priority Critical patent/CN114138737B/zh
Publication of CN114138737A publication Critical patent/CN114138737A/zh
Application granted granted Critical
Publication of CN114138737B publication Critical patent/CN114138737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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
    • G06F16/184Distributed file systems implemented as replicated file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种文件存储方法、装置、设备及存储介质,方法包括:接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,多个存储节点包括目标存储节点;将至少部分文件内容拆分为多个文件切片组,每个文件切片组包括至少一个文件切片;将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中,多个文件切片组的数量和不同存储节点的数量对应。由此,通过对文件内容进行备份,可提高文件的可靠性和可用性,同时在文件备份过程中,通过将文件内容以文件切片组的形式分别复制到不同的存储节点,可避免所有存储节点均从目标存储节点复制文件内容导致目标存储节点压力过大的问题。

Description

文件存储方法、装置、设备及存储介质
技术领域
本发明涉及数据存储技术领域,尤其涉及一种文件存储方法、装置、设备及存储介质。
背景技术
在个人存储领域,一般会使用NAS(Network Attached Storage,网络附属存储)技术来提供文件存储服务。NAS设备一般包括4个、6个或8个磁盘,NAS对文件提供可靠性的一种方案是先将这些磁盘组成RAID(Redundant Arrays of Independent Disks,磁盘阵列),再基于RAID设备安装文件系统,这样存储在文件系统里的文件就有了可靠性保护,另一种方案是直接在这些磁盘中安装包含卷管理功能的文件系统,例如ZFS,通过文件系统提供可靠性保证。
目前,适用于个人存储的NAS设备均是单机设备,当NAS设备里的其他组件失效时,存储在该设备中的文件将不能被访问,导致文件可靠性和可用性较低。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本发明提供一种文件存储方法、装置、设备及存储介质,其解决了目前NAS设备单机故障导致文件不可访问而导致的文件可靠性和可用性较低的技术问题。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
第一方面,本发明实施例提供一种文件存储方法,应用于分布式存储集群中的目标存储节点,方法包括:接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,其中,多个存储节点包括目标存储节点;将至少部分文件内容拆分为多个文件切片组,其中,每个文件切片组包括至少一个文件切片;将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中,其中,多个文件切片组的数量和不同存储节点的数量对应。
本发明实施例提出的文件存储方法,接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,并将至少部分文件内容拆分为多个文件切片组,以及将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中。由此,通过对文件内容进行多存储节点备份,可有效提高文件内容的可靠性和可用性,同时,在文件内容备份过程中,通过将文件内容以文件切片组的形式分别复制到不同的存储节点,可以使得不同的存储节点能够从目标存储节点或除自身之外的存储节点中复制其他文件切片组,避免了不同的存储节点均从目标存储节点复制文件内容导致目标存储节点压力过大的问题,并且可以提高文件内容备份的速度。
可选的,将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中,包括:将第一文件切片组复制至第一存储节点中,其中,第一文件切片组为多个文件切片组中的任意一个文件切片组,第一存储节点为不同存储节点中的任意一个存储节点;将其他文件切片组分别复制至相应的其他存储节点中,其中,其他文件切片组为多个文件切片组中除第一文件切片组之外的文件切片组,其他存储节点为不同存储节点中除第一存储节点之外的存储节点。
可选的,在将第一文件切片组复制至第一存储节点中之后,方法还包括:接收第一存储节点发送的文件复制请求;基于文件复制请求将其他文件切片组中的至少部分文件切片组发送至第一存储节点,以供第一存储节点根据第一文件切片组和其他文件切片组生成第一副本文件,并存储第一副本文件。
可选的,在基于文件复制请求将其他文件切片组中的至少部分文件切片组发送至第一存储节点之后,方法还包括:对第一副本文件进行副本文件完整性检查。
可选的,方法还包括:将文件内容作为第二副本文件进行存储。
可选的,在将文件内容作为第二副本文件进行存储之后,方法还包括:向分布式存储集群中其他存储节点广播第二副本文件的存储位置。
可选的,在接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息之前,方法还包括:接收终端设备发送的副本分配策略请求,副本分配策略请求包括文件副本数量;根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,其中,文件副本数量与至少一个存储节点包含的存储介质的数量适配;若至少一个存储节点包括目标存储节点,则向终端设备返回副本分配成功的结果。
可选的,方法还包括:若至少一个存储节点不包括目标存储节点,则从至少一个存储节点选择满足预设条件的第二存储节点;将第二存储节点的信息发送至终端设备,以供终端设备向第二存储节点发送至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息。
可选的,从至少一个存储节点选择满足预设条件的第二存储节点,包括:获取至少一个存储节点的存储资源信息和节点状态;根据至少一个存储节点的存储资源信息和节点状态,从至少一个存储节点选择满足预设条件的第二存储节点。
可选的,根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:获取分布式存储集群中的存储节点的存储资源信息和节点状态;根据文件副本数量、分布式存储集群中的存储节点的存储资源信息和节点状态,从分布式存储集群中的存储节点选择出至少一个存储节点,其中,存储节点存储的文件副本的数量与其包含的存储介质的数量对应。
可选的,副本分配策略请求还包括节点黑名单,根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:从分布式存储集群中的存储节点中排除节点黑名单对应的存储节点,得到候选存储节点;从候选存储节点中确定出至少一个存储节点。
可选的,副本分配策略请求还包括节点白名单,根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:根据文件副本数量和节点白名单,从分布式存储集群中的存储节点中选择出至少一个存储节点,其中,分布式存储集群中节点白名单对应的存储节点的选择优先级高于分布式存储集群中除节点白名单对应的存储节点之外的其他存储节点的优先级。
可选的,方法还包括:若至少一个存储节点为一个,则向一个存储节点存储文件内容对应的副本文件。
可选的,方法还包括:若未从分布式存储集群中的存储节点中确定出存储节点,则向终端设备返回存储节点确定失败信息。
第二方面,本发明实施例提供一种文件存储装置,包括:第一接收模块,用于接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,其中,多个存储节点包括目标存储节点;拆分模块,用于将至少部分文件内容拆分为多个文件切片组,其中,每个文件切片组包括至少一个文件切片;复制模块,将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中,其中,多个文件切片组的数量和不同存储节点的数量对应。
本发明实施例提出的文件存储装置,通过第一接收模块接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,并通过拆分模块将至少部分文件内容拆分为多个文件切片组,以及通过复制模块将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中。由此,通过对文件内容进行多存储节点备份,可有效提高文件内容的可靠性和可用性,同时,在文件内容备份过程中,通过将文件内容以文件切片组的形式分别复制到不同的存储节点,可以使得不同的存储节点能够从目标存储节点或除自身之外的存储节点中复制其他文件切片组,避免了不同的存储节点均从目标存储节点复制文件内容导致目标存储节点压力过大的问题,并且可以提高文件内容备份的速度。
第三方面,本发明实施例提供一种文件存储设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现前述的方法。
本发明实施例提出的文件存储设备,基于前述的方法,通过对文件内容进行多存储节点备份,可有效提高文件内容的可靠性和可用性,同时,在文件内容备份过程中,通过将文件内容以文件切片组的形式分别复制到不同的存储节点,可以使得不同的存储节点能够从目标存储节点或除自身之外的存储节点中复制其他文件切片组,避免了不同的存储节点均从目标存储节点复制文件内容导致目标存储节点压力过大的问题,并且可以提高文件内容备份的速度。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述的方法。
本发明实施例提出的计算机可读存储介质,基于前述的方法,通过对文件内容进行多存储节点备份,可有效提高文件内容的可靠性和可用性,同时,在文件内容备份过程中,通过将文件内容以文件切片组的形式分别复制到不同的存储节点,可以使得不同的存储节点能够从目标存储节点或除自身之外的存储节点中复制其他文件切片组,避免了不同的存储节点均从目标存储节点复制文件内容导致目标存储节点压力过大的问题,并且可以提高文件内容备份的速度。
(三)有益效果
本发明的有益效果是:
(1)通过对文件内容进行多存储节点备份,可有效提高文件内容的可靠性和可用性,解决了目前NAS设备单机故障导致文件不可访问的技术问题;
(2)在对文件内容进行多存储节点备份时,通过将文件内容以文件切片组的形式分别复制到不同的存储节点,这样可以使得不同的存储节点能够从目标存储节点或除自身之外的存储节点中复制其他文件切片组,避免了不同的存储节点均从目标存储节点复制文件内容导致目标存储节点压力过大的问题,并且保证了文件内容以最快的速度分布到分布式存储集群中,有效提高了文件内容备份的速度;
(3)单个存储节点可以向多个存储节点中的所有存储节点发送文件复制请求,以使单个存储节点能够从其他存储节点获取剩余的其他文件切片组,得到副本文件,从而保证了文件内容完整的分布在不同的存储节点,进一步保证了文件的可靠性和可用性;
(4)目标存储节点还对其他存储节点进行副本文件完整性检查,保证了副本文件的可靠性;
(5)用户可指定存储节点,从而满足客制化需求。
附图说明
图1为根据本发明一个实施例的分布式存储集群的结构示意图;
图2为根据本发明一个实施例的文件存储方法的流程示意图;
图3为根据本发明另一个实施例的文件存储方法的流程示意图;
图4为根据本发明一个具体示例的文件存储方法的流程示意图;
图5为根据本发明一个实施例的文件存储装置的结构示意图;
图6为根据本发明另一个实施例的文件存储装置的结构示意图;
图7为根据本发明又一个实施例的文件存储装置的结构示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
需要说明的是,本发明实施例提出的文件存储方法,可应用于分布式存储集群中的目标存储节点。参考图1所示,分布式存储集群可包括一台或多台存储设备(SD),每台存储设备至少包括一台存储介质,如SSD(Solid State Disk,固态硬盘)或硬盘等,每台存储设备均通过网络与终端设备(TA)以及分布式存储集群中的其他存储设备进行通信,其中,终端设备是用于访问分布式存储集群的设备,例如包括但不限于是手机、个人计算机等设备,网络是用于链接终端设备与存储设备以及存储设备与存储设备的网络,可以是局域网,也可以是Internet(因特网),若是后者,则基于IP(Internet Protocol,网际互连协议)地址、VPN(Virtual Private Network,虚拟专用网络)或者P2P(Peer-to-peer,网络用户之间直接传递数据)技术进行网络链接。
在分布式存储集群中,每台存储设备构成一个存储节点或者多台存储设备构成一个存储节点,且任意一个存储节点均可作为目标存储节点,当为目标存储节点时,接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,其中,多个存储节点包括目标存储节点,并将至少部分文件内容拆分为多个文件切片组,以及将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中。由此,通过对文件内容进行多存储节点备份,可有效提高文件内容的可靠性和可用性,同时在文件备份过程中,通过将文件内容以文件切片组的形式分别复制到不同的存储节点,可以使得不同的存储节点能够从目标存储节点或除自身之外的存储节点中复制其他文件切片组,避免了不同的存储节点均从目标存储节点复制文件内容导致目标存储节点压力过大的问题,并且可以提高文件内容备份的速度。
需要说明的是,本发明不对存储节点所处区域进行限制,可以在同一区域也可以在不同区域,即并非在同一局域网内,从而可进一步保证文件的可用性。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图2为根据本发明一个实施例的文件存储方法的流程示意图,以该方法应用于图1中的分布式存储集群中的目标存储节点为例,参考图2所示,该文件存储方法可包括以下步骤:
步骤S102,接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,其中,多个存储节点包括目标存储节点。
需要说明的是,多个存储节点的信息可包括节点数量和节点名称,且节点数量小于或等于分布式存储集群中存储节点的总数量。
当终端设备需要将某一文件存储至分布式存储集群时,可将文件内容以及存储该文件内容对应的副本文件的多个存储节点的信息(包括节点数量、节点名称等)发送至目标存储节点,目标存储节点接收终端设备发送的文件内容以及多个存储节点的信息,其中,多个存储节点包括目标存储节点,即多个存储节点的信息包括目标存储节点的信息。
举例来说,如图1所示,假设需要将文件内容存储在存储设备SD_A、SD_B和SD_C中,那么终端设备可先生成多个存储节点的信息,该信息可包括节点数量和节点名称,其中节点数量为3,节点名称为存储设备SD_A、SD_B和SD_C,且存储设备SD_A作为目标存储节点,而后将文件内容以及多个存储节点的信息发送至目标存储节点即存储设备SD_A,目标存储节点接收终端设备发送的文件内容以及多个存储节点的信息。
步骤S104,将至少部分文件内容拆分为多个文件切片组,其中,每个文件切片组包括至少一个文件切片。
具体来说,目标存储节点在接收到终端设备发送的文件内容以及多个存储节点的信息后,可将文件内容拆分为多个文件切片组,每个文件切片组包括至少一个文件切片。
举例来说,可先将一个文件拆分为多个子文件进行发送,目标存储节点在接收到一个子文件后,对该子文件进行拆分得到文件切片,并对文件切片进行分组得到多个文件切片组,每个文件切片组包括至少一个文件切片,可选的,不同的文件切片组的文件切片的数量相同。
作为一个具体示例,假设多个存储节点为存储设备SD_A、SD_B和SD_C,且存储设备SD_A作为目标存储节点,那么终端设备在进行文件备份时,可将文件内容拆分为5个子文件(文件内容的拆分可以根据文件大小进行拆分,本申请对文件内容的拆分方式不作限定,可以根据实际情况做出调整),终端设备每次发送一个子文件至目标存储节点SD_A,目标存储节点SD_A在接收到该子文件后,可将该子文件拆分为10个文件切片(具体可根据实际情况进行拆分),且将其中的文件切片1-5作为一个文件切片组,将文件切片6-10作为另一个文件切片组,即文件切片组的数量与存储设备SD_A、SD_B的数量相同。
步骤S106,将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中,其中,多个文件切片组的数量和不同存储节点的数量对应。
具体来说,目标存储节点在将文件内容拆分为多个文件切片组后,将多个文件切片组分别复制到除自身之外的不同存储节点中,例如,在前述示例中,目标存储节点SD_A将多个文件切片组分别复制到存储设备SD_B和SD_C中,如将文件切片1-5构成的文件切片组复制到存储设备SD_B,并将文件切片6-10构成的文件切片组复制到存储设备SD_C,从而实现多存储节点的文件备份,避免了将文件存储至单一设备时因单一设备损坏导致文件不可用的问题,有效提高了文件的可靠性和可用性。
需要说明的是,在复制时,目标存储节点无需等待接收完整个文件内容后再进行文件内容拆分,并将拆分后的多个文件切片组分别复制到除自身之外的不同存储节点,而是可以在接收的过程中,将多个文件切片组存储至不同存储节点,即在每接收到一个子文件后进行拆分,并将拆分后的多个文件切片组分别复制到除自身之外的不同存储节点,从而不仅能够实现文件内容存储的可靠性,还可以有效提高文件存储的速度。
可选的,将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中,包括:将第一文件切片组复制至第一存储节点中,其中,第一文件切片组为多个文件切片组中的任意一个文件切片组,第一存储节点为不同存储节点中的任意一个存储节点;将其他文件切片组分别复制至相应的其他存储节点中,其中,其他文件切片组为多个文件切片组中除第一文件切片组之外的文件切片组,其他存储节点为不同存储节点中除第一存储节点之外的存储节点。
具体来说,目标存储节点在接收到终端设备发送的文件内容以及多个存储节点的信息后,根据多个存储节点的信息中的节点数量生成副本文件复制策略,并将该副本文件复制策略发送至除自身之外的不同存储节点,以便不同存储节点在同一时间点复制不同的文件切片组,从而保证文件内容以最快的速度分布在分布式存储集群中,保证文件的可靠性。
例如,在前述示例中,目标存储节点将副本文件复制策略发送至存储设备SD_B和SD_C,以便在同一时间点存储设备SD_B和SD_C复制不同的文件切片组,从而保证文件内容以最快的速度分布在分布式存储集群中,保证文件的可靠性。
进一步的,在将第一文件切片组复制至第一存储节点中之后,方法还包括:接收第一存储节点发送的文件复制请求;基于文件复制请求将其他文件切片组中的至少部分文件切片组发送至第一存储节点,以供第一存储节点根据第一文件切片组和其他文件切片组生成第一副本文件,并存储第一副本文件。
也就是说,在将多个文件切片组分别复制到不同存储节点后,不同存储节点还将存储的文件切片组发送给其他存储节点,以便每个存储节点都能够存储一个完整的副本文件。例如,在前述示例中,存储设备SD_B和SD_C在复制完相应的文件切片组后,目标存储节点和存储设备SD_C还接收存储设备SD_B发送的文件复制请求,并在接收到文件复制请求时,将自身存储的文件切片组发送至存储设备SD_B,以使存储设备SD_B根据接收的文件切片组生成第一副本文件并存储;同时,目标存储节点和存储设备SD_B还接收存储设备SD_C发送的文件复制请求,并在接收到文件复制请求时,将自身存储的文件切片组发送至存储设备SD_C,以使存储设备SD_C根据接收的文件切片组生成第一副本文件并存储,从而使得存储设备SD_B和SD_C均能获得一个完整的副本文件。
作为一个具体示例,假设多个存储节点为存储设备SD_A、SD_B和SD_C,且存储设备SD_A作为目标存储节点,那么终端设备在进行文件备份时,可将文件内容拆分为5个子文件,终端设备先发送第一个子文件至目标存储节点SD_A,目标存储节点SD_A在接收到第一个子文件后,可将第一个子文件拆分为10个文件切片,且将其中的文件切片1-5作为一个文件切片组,将文件切片6-10作为另一个文件切片组。而后,将文件切片1-5构成的文件切片组复制到存储设备SD_B,并将文件切片6-10构成的文件切片组复制到存储设备SD_C。在文件切片组复制完成后,存储设备SD_B发送文件复制请求至目标存储节点SD_A,以复制文件切片6-10,目标存储节点SD_A在接收到存储设备SD_B发送的文件复制请求后,将文件切片6-10复制到存储设备SD_B,同时,存储设备SD_C发送文件复制请求至存储设备SD_B,以复制文件切片1-5,存储设备SD_B在接收到存储设备SD_C发送的文件复制请求后,将文件切片1-5复制到存储设备SD_C;或者,存储设备SD_B发送文件复制请求至存储设备SD_C,以复制文件切片6-10,存储设备SD_C在接收到存储设备SD_B发送的文件复制请求后,将文件切片6-10复制到存储设备SD_B,同时,存储设备SD_C发送文件复制请求至目标存储节点SD_A,以复制文件切片1-5,目标存储节点SD_A在接收到存储设备SD_C发送的文件复制请求后,将文件切片1-5复制到存储设备SD_C。接着,终端设备发送第二个子文件至目标存储节点SD_A,按照前述步骤循环,直至完成整个文件内容的多存储节点的完整备份。由此,保证了文件内容完整的分布在不同的存储节点,进一步保证了文件的可靠性和可用性。
可以理解的是,对于目标存储节点即存储设备SD_A,由于其是直接接收终端设备发送的文件内容,因此直接将接收到的文件内容作为第二副本文件进行存储即可。进一步的,在将文件内容作为第二副本文件进行存储之后,方法还包括:向分布式存储集群中其他存储节点广播第二副本文件的存储位置,以便其他存储节点基于存储位置复制自身的文件切片组。需要说明的是,其他存储节点在复制完相应的文件切片组后,也会广播存储的文件切片组的存储位置,以便不同存储节点中的各个存储节点均能够复制其他存储节点的文件切片组,从而在每个存储节点形成完整的副本文件。
进一步的,在基于文件复制请求将其他文件切片组中的至少部分文件切片组发送至第一存储节点之后,方法还包括:对第一副本文件进行副本文件完整性检查。
也就是说,在不同存储节点通过文件切片组的相互复制获得第一副本文件时,目标存储节点还对第一副本文件进行副本文件完整性检查。例如,在前述示例中,目标存储节点即存储节点SD_A分别对存储设备SD_B和SD_C中的第一副本文件进行副本文件完整性检查,其中,若检查到存储节点离线,目标存储节点则重新选择副本文件的存储位置,从而保证文件存储的可靠性。
上述实施例中,通过将文件内容拆分为多个文件切片组分别存储至不同存储节点中,可有效提高文件内容的可靠性和可用性,进一步的,单个存储节点还从其他存储节点获取剩余的其他文件切片组,得到副本文件,保证了文件内容完整的分布在不同的存储节点,从而进一步保证了文件的可靠性和可用性,解决了目前NAS设备单机故障导致文件不可访问的技术问题;同时,在将多个文件切片组复制到每个存储节点中时,各个存储节点可以向多个存储节点中的所有存储节点发送文件复制请求,从而保证了文件内容以最快的速度、完整地分布到分布式存储集群中,保证了文件的可靠性,且能够分散各个存储节点的压力。而且,目标存储节点还对其他存储节点进行副本文件完整性检查,保证了副本文件的可靠性。
在一些实施例中,参考图3所示,在接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息之前,方法还包括:
步骤S202,接收终端设备发送的副本分配策略请求,副本分配策略请求包括文件副本数量。
具体来说,当终端设备需要将某一文件存储至分布式存储集群时,可先发送副本分配策略请求至目标存储节点,目标存储节点接收副本分配策略请求,其中,副本分配策略请求包括文件副本数量。例如,终端设备发送副本分配策略请求至存储设备SD_A,其中文件副本数量为3。
步骤S204,根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,其中,文件副本数量与至少一个存储节点包含的存储介质的数量适配。
具体来说,目标存储节点在接收到副本分配策略请求后,从分布式存储集群中确定出存储文件副本对应的至少一个存储节点,其中,文件副本数量与至少一个存储节点包含的存储介质的数量适配。例如,假设文件副本数量为3,那么将确定3个存储介质,其中,当前述的存储设备SD_A、SD_B和SD_C均包括一个存储介质时,相应的存储节点的个数为3,而当前述的存储设备SD_A、SD_B和SD_C均包括至少两个存储介质时,相应的存储节点的个数将小于3。
可选的,在一些实施例中,根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:获取分布式存储集群中的存储节点的存储资源信息和节点状态;根据文件副本数量、分布式存储集群中的存储节点的存储资源信息和节点状态,从分布式存储集群中的存储节点选择出至少一个存储节点,其中,存储节点存储的文件副本的数量与其包含的存储介质的数量对应。
需要说明的是,存储资源是指图1所示的存储节点中的存储介质,如SSD、硬盘或磁盘等。
具体来说,目标存储节点在根据文件副本数量从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点时,需要考虑的因素包括:节点状态和存储资源信息,其中存储资源信息可包括存储资源的状态和存储资源的空间容量。其中,当节点状态为离线状态时,即存储设备处于离线状态时,则排除该存储节点;若存储资源如磁盘有故障、有故障预警或者寿命预警,则排除相应的存储节点;若存储资源如磁盘的空间容量已经超过平均水平(如所有存储资源的平均水平),则排除相应的存储节点;依次类推,以从分布式存储集群中的存储节点选择出至少一个存储节点。需要说明的是,当存储节点包含至少两个存储介质时,每个存储介质均可备份一个副本,最多备份两个副本,具体基于存储节点的存储资源信息和节点状态确定。而当存储节点包括一个存储介质时,每个存储节点最多备份一个副本,具体基于存储节点的存储资源信息和节点状态确定。
步骤S206,若至少一个存储节点包括目标存储节点,则向终端设备返回副本分配成功的结果。
具体来说,若目标存储节点获得的至少一个存储节点包括自身,则向终端设备返回副本分配成功的结果,以便终端设备在接收到副本分配成功的结果后,根据该结果生成多个存储节点的信息,并将文件内容以及多个存储节点的信息发送至目标存储节点,以进行文件存储。
在一些实施例中,方法还包括:若至少一个存储节点不包括目标存储节点,则从至少一个存储节点选择满足预设条件的第二存储节点;将第二存储节点的信息发送至终端设备,以供终端设备向第二存储节点发送至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息。
也就是说,当目标存储节点获得的至少一个存储节点不包括自身时,则从获得的至少一个存储节点中筛选出一个存储节点作为第二存储节点,并将该第二存储节点的信息发送至终端设备,以便终端设备将文件内容和多个存储节点的信息发送至该第二存储节点,以进行文件存储。
进一步的,从至少一个存储节点选择满足预设条件的第二存储节点,包括:获取至少一个存储节点的存储资源信息和节点状态;根据至少一个存储节点的存储资源信息和节点状态,从至少一个存储节点选择满足预设条件的第二存储节点。
具体来说,当目标存储节点获得的至少一个存储节点不包括自身时,则从获得的至少一个存储节点中筛选出一个存储节点作为第二存储节点,例如,根据节点状态和存储资源信息从至少一个存储节点中选择一个最好的存储节点作为第二存储节点。更为具体的,可根据存储资源如磁盘的剩余空间容量、总空间容量和状态、以及相应存储节点的状态计算出一个得分或状态等级,然后选择得分最高或者状态等级最高的存储节点作为第二存储节点,进而,将该第二存储节点的信息以及至少一个存储节点的信息发送至终端设备,以便终端设备根据至少一个存储节点的信息生成多个存储节点的信息,并将文件内容以及多个存储节点的信息发送至第二存储节点,以通过第二存储节点进行文件存储。
在一些实施例中,副本分配策略请求还包括节点黑名单,根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:从分布式存储集群中的存储节点中排除节点黑名单对应的存储节点,得到候选存储节点;从候选存储节点中确定出至少一个存储节点。
也就是说,用户可以指定节点列表,例如指定的节点列表为节点黑名单,终端设备将携带有节点黑名单和文件副本数量的副本分配策略请求发送至目标存储节点,目标存储节点在接收到该请求后,在从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点时,首先排除节点黑名单中的存储节点,然后从剩下的存储节点中确定出至少一个存储节点,从而提供客制化能力,提供文件副本分布的灵活性。
可以理解的是,当目标存储节点获得的至少一个存储节点不包括自身时,在从获得的至少一个存储节点中筛选出一个存储节点作为第二存储节点,并将该第二存储节点的信息发送至终端设备后,终端设备还可将目标存储节点的信息加入节点黑名单,以便在通过第二存储节点进行文件存储时,直接将该存储节点排除。
在另一些实施例中,副本分配策略请求还包括节点白名单,根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:根据文件副本数量和节点白名单,从分布式存储集群中的存储节点中选择出至少一个存储节点,其中,分布式存储集群中节点白名单对应的存储节点的选择优先级高于分布式存储集群中除节点白名单对应的存储节点之外的其他存储节点的优先级。
也就是说,用户可以指定节点列表,例如指定的节点列表为节点白名单,终端设备将携带有节点白名单和文件副本数量的副本分配策略请求发送至目标存储节点,目标存储节点在接收到该请求后,在从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点时,优先从节点白名单中选择存储节点,即节点白名单对应的存储节点的选择优先级高于除节点白名单对应的存储节点之外的其他存储节点的优先级,从而提供客制化能力,提供文件副本分布的灵活性。
在一些实施例中,方法还包括:若至少一个存储节点为一个,则向一个存储节点存储文件内容对应的副本文件。
也就是说,当至少一个存储节点只有一个时,终端设备直接向该存储节点发送文件内容,以存储文件内容对应的副本文件。可选的,当该存储节点包括至少两台存储介质时,可根据文件副本数量最大限度地在至少两个存储介质中存储文件内容对应的副本文件,例如,当文件副本数量为3时,该存储节点包括4台存储介质,则在其中的3台存储介质中存储文件内容对应的副本文件,而当该存储节点包括2台存储介质,则在这2台存储介质中存储文件内容对应的副本文件。
在一些实施例中,方法还包括:若未从分布式存储集群中的存储节点中确定出存储节点,则向终端设备返回存储节点确定失败信息。
也就是说,当整个分布式存储集群中的存储节点均不可用时,直接向终端设备返回存储节点确定失败信息。
上述实施例中,通过目标存储节点基于节点状态和存储资源信息,进行副本分配,保证了文件存储的可靠性,同时保证了分布式存储集群中存储节点的均衡性,同时可由用户确定节点列表,满足了定制化需求。
图4为根据本发明一个具体示例的文件存储方法的流程示意图,参考图4所示,该文件存储方法可包括以下步骤:
步骤S302,将所有的存储设备组成松耦合分布式存储集群,该集群中的每个存储设备作为存储节点定时向其他存储节点报告自身节点状态和存储资源信息(即存储介质如磁盘的状态和空间容量等)。
步骤S304,终端设备选择向目标存储节点如存储设备SD_A发送副本分配策略请求,该副本分配策略请求包括文件副本数量。
需要说明的是,文件副本数量不超过集群中存储节点包含的存储介质的总数量。
可选的,在该步骤中,用户可以指定节点列表,如节点黑名单或节点白名单,相应的副本分配策略请求还可包括节点黑名单或节点白名单,以实现定制化需求,提高文件存储的灵活性。
步骤S306,目标存储节点即存储设备SD_A在接收到请求后,分配副本策略,并将副本分配成功的结果反馈至终端设备。
需要说明的是,目标存储节点即存储设备SD_A在分配副本策略时,需要考虑的因素包括各个存储节点的节点状态以及各个存储节点对应的存储资源信息,其中,存储资源信息包括存储资源如磁盘的状态和空间容量。例如,若此时存储节点处于离线状态,则将该存储节点排除;若存储资源如磁盘出现故障、或有故障预警、或有寿命预警,则将该存储资源对应的存储节点排除;若存储资源如磁盘的空间容量已超过平均水平,则将该存储资源对应的存储节点排除。
另外,若副本分配成功的结果包括目标存储节点即存储设备SD_A,则将副本分配成功的结果反馈至终端设备,而若副本分配成功的结果不包括目标存储节点即存储设备SD_A,则从副本分配成功的结果中选择一个状态最好的节点作为第二存储节点,并将该第二存储节点的信息反馈至终端设备,终端设备向第二存储节点发送副本分配策略请求,该副本分配策略请求中携带有包括存储设备SD_A的信息的节点黑名单。若副本分配未成功,则向终端设备返回失败信息。
此外,若副本分配策略请求中包括节点黑名单,则在副本分配时,排除该列表中的存储节点,若副本分配策略请求中包括节点白名单,则在副本分配时,优先选用该列表中的存储节点,而若副本分配策略请求中未包括节点黑名单和节点白名单,且没有满足条件的存储资源,则在副本分配时,尝试所有容量可用的存储资源。
特别的,若仅能选择一个存储节点,且文件副本数量大于1,则终端设备直接向该存储节点发送文件内容进行副本保存。
步骤S308,终端设备向目标存储节点即存储设备SD_A发送文件内容以及多个存储节点的信息。
步骤S310,目标存储节点即存储设备SD_A向多个存储节点中除自身之外的不同存储节点如存储设备SD_B和SD_C发送文件同步任务。
需要说明的是,在该步骤中,目标存储节点即存储设备SD_A无需等待终端设备向其发送完整的文件内容后再向多个存储节点中除自身之外的不同存储节点如存储设备SD_B和SD_C发送文件同步任务,而是可以将文件内容拆分为多个文件切片组,并在同一时间点使得多个存储节点中的每个存储节点复制其中一个文件切片组,即使得每个存储节点复制不同的文件切片组。
步骤S312,目标存储节点即存储设备SD_A存储文件内容到相应磁盘。
步骤S314,多个存储节点中除自身之外的不同存储节点如存储设备SD_B和SD_C从目标存储节点即存储设备SD_A以及不同存储节点中除自身之外的存储节点中获取相应的文件切片组,保存到分配的磁盘。
需要说明的是,在该步骤中,多个存储节点中除自身之外的不同存储节点中的每个存储节点可向多个存储节点中的所有存储节点发送文件复制请求,而非仅一个存储节点,从而不仅能够保证副本文件以最快的速度分布到整个集群内,保证文件的可靠性,而且可以分散各个存储节点的压力。
步骤S316,多个存储节点中除自身之外的不同存储节点如存储设备SD_B和SD_C向多个存储节点中的所有存储节点广播文件副本位置信息。
步骤S318,目标存储节点即存储设备SD_A对多个存储节点中除自身之外的不同存储节点进行副本文件完整性检查。
综上所述,本发明实施例提供的文件存储方法,通过将文件内容优先存储至多个存储节点中,其次才是单一存储节点内部,从而优先保证了文件内容分布在不同的存储节点,保证文件的可靠性和可用性,解决了目前NAS设备单机故障导致文件不可访问的技术问题;在将多个文件切片组复制到每个存储节点中时,各个存储节点可以向多个存储节点中的所有存储节点发送文件复制请求,从而保证了文件内容以最快的速度、完整地分布到分布式存储集群中,保证了文件的可靠性,且能够分散各个存储节点的压力;目标存储节点还对其他存储节点进行副本文件完整性检查,保证了副本文件的可靠性;用户可指定存储节点,从而满足客制化需求。
图5为根据本发明一个实施例的文件存储装置的结构示意图,参考图5所示,该文件存储装置可包括:第一接收模块10、拆分模块20和复制模块30。
其中,第一接收模块10用于接收终端设备发送的至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息,其中,多个存储节点包括目标存储节点;拆分模块20用于将至少部分文件内容拆分为多个文件切片组,其中,每个文件切片组包括至少一个文件切片;复制模块30用于将多个文件切片组分别复制至多个存储节点中除目标存储节点之外的不同存储节点中,其中,多个文件切片组的数量和不同存储节点的数量对应。
在一些实施例中,参考图6所示,复制模块30包括第一复制子模块31和第二复制子模块32,其中,第一复制子模块31用于将第一文件切片组复制至第一存储节点中,其中,第一文件切片组为多个文件切片组中的任意一个文件切片组,第一存储节点为不同存储节点中的任意一个存储节点;第二复制子模块32用于将其他文件切片组分别复制至相应的其他存储节点中,其中,其他文件切片组为多个文件切片组中除第一文件切片组之外的文件切片组,其他存储节点为不同存储节点中除第一存储节点之外的存储节点。
在一些实施例中,参考图6所示,复制模块30还包括接收子模块33和发送子模块34,其中,接收子模块33用于接收第一存储节点发送的文件复制请求;发送子模块34用于基于文件复制请求将其他文件切片组中的至少部分文件切片组发送至第一存储节点,以供第一存储节点根据第一文件切片组和其他文件切片组生成第一副本文件,并存储第一副本文件。
在一些实施例中,发送子模块34还用于对第一副本文件进行副本文件完整性检查。
在一些实施例中,第二复制子模块32还用于将文件内容作为第二副本文件进行存储。
在一些实施例中,发送子模块34还用于向分布式存储集群中其他存储节点广播第二副本文件的存储位置。
在一些实施例中,参考图7所示,装置还包括:第二接收模块40、确定模块50和返回模块60,第二接收模块40用于接收终端设备发送的副本分配策略请求,副本分配策略请求包括文件副本数量;确定模块50用于根据文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,其中,文件副本数量与至少一个存储节点包含的存储介质的数量适配;返回模块60用于若至少一个存储节点包括目标存储节点,则向终端设备返回副本分配成功的结果。
在一些实施例中,若至少一个存储节点不包括目标存储节点,确定模块50还用于则从至少一个存储节点选择满足预设条件的第二存储节点;将第二存储节点的信息发送至终端设备,以供终端设备向第二存储节点发送至少部分文件内容和存储至少部分文件内容对应的副本文件的多个存储节点的信息。
在一些实施例中,参考图7所示,确定模块50包括第一获取子模块51和第一选择子模块52,其中,第一获取子模块51用于获取至少一个存储节点的存储资源信息和节点状态;第一选择子模块52用于根据至少一个存储节点的存储资源信息和节点状态,从至少一个存储节点选择满足预设条件的第二存储节点。
在一些实施例中,参考图7所示,确定模块50还包括第二获取子模块53和第二选择子模块54,其中,第二获取子模块53用于获取分布式存储集群中的存储节点的存储资源信息和节点状态;第二选择子模块54用于根据文件副本数量、分布式存储集群中的存储节点的存储资源信息和节点状态,从分布式存储集群中的存储节点选择出至少一个存储节点,其中,存储节点存储的文件副本的数量与其包含的存储介质的数量对应。
在一些实施例中,副本分配策略请求还包括节点黑名单,确定模块50还用于:从分布式存储集群中的存储节点中排除节点黑名单对应的存储节点,得到候选存储节点;从候选存储节点中确定出至少一个存储节点。
在一些实施例中,副本分配策略请求还包括节点白名单,确定模块50还用于,根据文件副本数量和节点白名单,从分布式存储集群中的存储节点中选择出至少一个存储节点,其中,分布式存储集群中节点白名单对应的存储节点的选择优先级高于分布式存储集群中除节点白名单对应的存储节点之外的其他存储节点的优先级。
在一些实施例中,若至少一个存储节点为一个,确定模块50还用于向一个存储节点存储文件内容对应的副本文件。
在一些实施例中,若未从分布式存储集群中的存储节点中确定出存储节点,确定模块50还用于向终端设备返回存储节点确定失败信息。
需要说明的是,关于本发明的文件存储装置的描述,请参考关于本发明的文件存储方法描述,具体这里不再赘述。
本发明实施例提供的文件存储装置,通过将文件内容优先存储至多个存储节点中,其次才是单一存储节点内部(即仅有一个存储节点的情况),从而优先保证了文件内容分布在不同的存储节点,保证文件的可靠性和可用性,解决了目前NAS设备单机故障导致文件不可访问的技术问题;在将多个文件切片复制到每个存储节点中时,各个存储节点可以向多个存储节点中的所有存储节点发送文件复制请求,从而保证了文件内容以最快的速度分布到分布式存储集群中,保证了文件的可靠性,且能够分散各个存储节点的压力;目标存储节点还对其他存储节点进行副本文件完整性检查,保证了副本文件的可靠性;用户可指定存储节点,从而满足客制化需求。
在一些实施例中,还提供了一种文件存储设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现前述的方法。
本发明实施例提出的文件存储设备,基于前述的方法,通过将文件内容存储至多个存储节点,可有效提高文件内容的可靠性和可用性。
在一些实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现前述的方法。
本发明实施例提出的计算机可读存储介质,基于前述的方法,通过将文件内容存储至多个存储节点,可有效提高文件内容的可靠性和可用性。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征 “上”或“下”,可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”,可以是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”,可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度低于第二特征。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行改动、修改、替换和变型。

Claims (17)

1.一种文件存储方法,其特征在于,应用于分布式存储集群中的目标存储节点,所述方法包括:
接收终端设备发送的至少部分文件内容和存储所述至少部分文件内容对应的副本文件的多个存储节点的信息,其中,所述多个存储节点包括所述目标存储节点;
将所述至少部分文件内容拆分为多个文件切片组,其中,每个文件切片组包括至少一个文件切片;
将所述多个文件切片组分别复制至所述多个存储节点中除所述目标存储节点之外的不同存储节点中,其中,所述多个文件切片组的数量和所述不同存储节点的数量对应。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个文件切片组分别复制至所述多个存储节点中除所述目标存储节点之外的不同存储节点中,包括:
将第一文件切片组复制至第一存储节点中,其中,所述第一文件切片组为所述多个文件切片组中的任意一个文件切片组,所述第一存储节点为所述不同存储节点中的任意一个存储节点;
将其他文件切片组分别复制至相应的其他存储节点中,其中,所述其他文件切片组为所述多个文件切片组中除所述第一文件切片组之外的文件切片组,所述其他存储节点为所述不同存储节点中除所述第一存储节点之外的存储节点。
3.根据权利要求2所述的方法,其特征在于,在所述将第一文件切片组复制至第一存储节点中之后,所述方法还包括:
接收所述第一存储节点发送的文件复制请求;
基于所述文件复制请求将所述其他文件切片组中的至少部分文件切片组发送至所述第一存储节点,以供所述第一存储节点根据所述第一文件切片组和所述其他文件切片组生成第一副本文件,并存储所述第一副本文件。
4.根据权利要求3所述的方法,其特征在于,在所述基于所述文件复制请求将所述其他文件切片组中的至少部分文件切片组发送至所述第一存储节点之后,所述方法还包括:
对所述第一副本文件进行副本文件完整性检查。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述文件内容作为第二副本文件进行存储。
6.根据权利要求5所述的方法,其特征在于,在所述将所述文件内容作为第二副本文件进行存储之后,所述方法还包括:
向分布式存储集群中其他存储节点广播所述第二副本文件的存储位置。
7.根据权利要求1所述的方法,其特征在于,在所述接收终端设备发送的至少部分文件内容和存储所述至少部分文件内容对应的副本文件的多个存储节点的信息之前,所述方法还包括:
接收所述终端设备发送的副本分配策略请求,所述副本分配策略请求包括文件副本数量;
根据所述文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,其中,所述文件副本数量与所述至少一个存储节点包含的存储介质的数量适配;
若所述至少一个存储节点包括所述目标存储节点,则向所述终端设备返回副本分配成功的结果。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述至少一个存储节点不包括所述目标存储节点,则从所述至少一个存储节点选择满足预设条件的第二存储节点;
将所述第二存储节点的信息发送至所述终端设备,以供所述终端设备向所述第二存储节点发送所述至少部分文件内容和存储所述至少部分文件内容对应的副本文件的多个存储节点的信息。
9.根据权利要求8所述的方法,其特征在于,所述从所述至少一个存储节点选择满足预设条件的第二存储节点,包括:
获取所述至少一个存储节点的存储资源信息和节点状态;
根据所述至少一个存储节点的存储资源信息和节点状态,从所述至少一个存储节点选择满足预设条件的第二存储节点。
10.根据权利要求7所述的方法,其特征在于,所述根据所述文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:
获取所述分布式存储集群中的存储节点的存储资源信息和节点状态;
根据所述文件副本数量、所述分布式存储集群中的存储节点的存储资源信息和节点状态,从所述分布式存储集群中的存储节点选择出所述至少一个存储节点,其中,所述存储节点存储的文件副本的数量与其包含的存储介质的数量对应。
11.根据权利要求7所述的方法,其特征在于,所述副本分配策略请求还包括节点黑名单,根据所述文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:
从所述分布式存储集群中的存储节点中排除所述节点黑名单对应的存储节点,得到候选存储节点;
从所述候选存储节点中确定出所述至少一个存储节点。
12.根据权利要求7所述的方法,其特征在于,所述副本分配策略请求还包括节点白名单,根据所述文件副本数量,从分布式存储集群中的存储节点中确定出存储文件副本对应的至少一个存储节点,包括:
根据所述文件副本数量和节点白名单,从所述分布式存储集群中的存储节点中选择出所述至少一个存储节点,其中,所述分布式存储集群中节点白名单对应的存储节点的选择优先级高于所述分布式存储集群中除节点白名单对应的存储节点之外的其他存储节点的优先级。
13.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述至少一个存储节点为一个,则向所述一个存储节点存储所述文件内容对应的副本文件。
14.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若未从所述分布式存储集群中的存储节点中确定出存储节点,则向所述终端设备返回存储节点确定失败信息。
15.一种文件存储装置,其特征在于,包括:
第一接收模块,用于接收终端设备发送的至少部分文件内容和存储所述至少部分文件内容对应的副本文件的多个存储节点的信息,其中,所述多个存储节点包括目标存储节点;
拆分模块,用于将所述至少部分文件内容拆分为多个文件切片组,其中,每个文件切片组包括至少一个文件切片;
复制模块,将所述多个文件切片组分别复制至所述多个存储节点中除所述目标存储节点之外的不同存储节点中,其中,所述多个文件切片组的数量和所述不同存储节点的数量对应。
16.一种文件存储设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-14中任一项所述的方法。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-14中任一项所述的方法。
CN202210117491.2A 2022-02-08 2022-02-08 文件存储方法、装置、设备及存储介质 Active CN114138737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210117491.2A CN114138737B (zh) 2022-02-08 2022-02-08 文件存储方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210117491.2A CN114138737B (zh) 2022-02-08 2022-02-08 文件存储方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114138737A true CN114138737A (zh) 2022-03-04
CN114138737B CN114138737B (zh) 2022-07-12

Family

ID=80382117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210117491.2A Active CN114138737B (zh) 2022-02-08 2022-02-08 文件存储方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114138737B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866570A (zh) * 2022-04-18 2022-08-05 北京快乐茄信息技术有限公司 一种信息处理方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126357A1 (en) * 2006-05-04 2008-05-29 Wambo, Inc. Distributed file storage and transmission system
US20120159102A1 (en) * 2009-09-01 2012-06-21 Nec Corporation Distributed storage system, distributed storage method, and program and storage node for distributed storage
US20140081911A1 (en) * 2011-01-10 2014-03-20 Netapp, Inc. Optimizing automatic deletion of backup files
CN105930498A (zh) * 2016-05-06 2016-09-07 中国银联股份有限公司 一种分布式数据库的管理方法及系统
CN106446159A (zh) * 2016-09-23 2017-02-22 华为技术有限公司 一种存储文件的方法、第一虚拟机及名称节点
CN109376122A (zh) * 2018-09-25 2019-02-22 深圳市元征科技股份有限公司 一种文件管理方法、系统及区块链节点设备和存储介质
CN111447265A (zh) * 2020-03-24 2020-07-24 深圳市网心科技有限公司 文件存储方法、文件下载方法和文件处理方法及相关组件
CN111988419A (zh) * 2020-08-28 2020-11-24 深圳壹账通智能科技有限公司 文件上传方法、下载方法、装置、计算机设备和存储介质
WO2021189670A1 (zh) * 2020-03-26 2021-09-30 上海依图网络科技有限公司 数据同步方法、数据同步系统及其装置、介质和系统
CN113568585A (zh) * 2021-08-03 2021-10-29 上海提喀科技有限公司 文件存取方法、设备、节点及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080126357A1 (en) * 2006-05-04 2008-05-29 Wambo, Inc. Distributed file storage and transmission system
US20120159102A1 (en) * 2009-09-01 2012-06-21 Nec Corporation Distributed storage system, distributed storage method, and program and storage node for distributed storage
US20140081911A1 (en) * 2011-01-10 2014-03-20 Netapp, Inc. Optimizing automatic deletion of backup files
CN105930498A (zh) * 2016-05-06 2016-09-07 中国银联股份有限公司 一种分布式数据库的管理方法及系统
CN106446159A (zh) * 2016-09-23 2017-02-22 华为技术有限公司 一种存储文件的方法、第一虚拟机及名称节点
CN109376122A (zh) * 2018-09-25 2019-02-22 深圳市元征科技股份有限公司 一种文件管理方法、系统及区块链节点设备和存储介质
CN111447265A (zh) * 2020-03-24 2020-07-24 深圳市网心科技有限公司 文件存储方法、文件下载方法和文件处理方法及相关组件
WO2021189670A1 (zh) * 2020-03-26 2021-09-30 上海依图网络科技有限公司 数据同步方法、数据同步系统及其装置、介质和系统
CN111988419A (zh) * 2020-08-28 2020-11-24 深圳壹账通智能科技有限公司 文件上传方法、下载方法、装置、计算机设备和存储介质
CN113568585A (zh) * 2021-08-03 2021-10-29 上海提喀科技有限公司 文件存取方法、设备、节点及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAN H: "Achieving Load Balance for Parallel Data Access on Distributed File System", 《IEEE TRANSACTIONS ON COMPUTERS》 *
魏秀然: "基于协调器与遗传算法的云存储数据复制策略", 《计算机工程》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866570A (zh) * 2022-04-18 2022-08-05 北京快乐茄信息技术有限公司 一种信息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114138737B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN111182067B (zh) 一种基于星际文件系统ipfs的数据写入方法及设备
EP3531288B1 (en) Data storage method, device, and system
US7689764B1 (en) Network routing of data based on content thereof
CN107105050B (zh) 一种业务对象的存储、下载方法及系统
US11262916B2 (en) Distributed storage system, data processing method, and storage node
CN114138737B (zh) 文件存储方法、装置、设备及存储介质
CN108810055B (zh) 一种大文件传输方法及装置
CN114844912B (zh) 数据链路分配方法、装置及分布式块存储系统
CN113282564A (zh) 数据存储方法、系统、节点和存储介质
CN112269772A (zh) 一种文件部署方法、系统、设备及计算机可读存储介质
CN112130758A (zh) 一种数据读请求的处理方法、系统、电子设备及存储介质
Wang Ying
CN107948229B (zh) 分布式存储的方法、装置及系统
US20220129346A1 (en) Data processing method and apparatus in storage system, and storage system
CN111225003B (zh) 一种nfs节点配置方法和装置
CN111736754A (zh) 数据迁移方法和装置
EP2743821A1 (en) User data duplication
US11422737B2 (en) Data storage system for data distribution and data restoration based on compressibility ratio of data and operating method of controller for controlling the data distribution and data restoration
US11216204B2 (en) Degraded redundant metadata, DRuM, technique
US11194501B2 (en) Standby copies withstand cascading fails
CN110581873B (zh) 一种跨集群重定向方法及监控服务器
WO2023070935A1 (zh) 一种数据存储方法、装置及相关设备
CN115378962A (zh) 一种基于iSCSI协议的存储集群的高可用性连通方法和系统
US10241878B2 (en) System and method of data allocation providing increased reliability of storage
CN111939562B (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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: File storage method, device, device and storage medium

Effective date of registration: 20221030

Granted publication date: 20220712

Pledgee: Hangzhou High-tech Financing Guarantee Co.,Ltd.

Pledgor: Yici netlink (Hangzhou) Technology Co.,Ltd.

Registration number: Y2022330002821

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230823

Granted publication date: 20220712

Pledgee: Hangzhou High-tech Financing Guarantee Co.,Ltd.

Pledgor: Yici netlink (Hangzhou) Technology Co.,Ltd.

Registration number: Y2022330002821

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: File storage method, device, device, and storage medium

Effective date of registration: 20230902

Granted publication date: 20220712

Pledgee: Hangzhou High-tech Financing Guarantee Co.,Ltd.

Pledgor: Yici netlink (Hangzhou) Technology Co.,Ltd.

Registration number: Y2023330001903