CN112083888A - 文件存储方法、装置和电子设备 - Google Patents
文件存储方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112083888A CN112083888A CN202010950598.6A CN202010950598A CN112083888A CN 112083888 A CN112083888 A CN 112083888A CN 202010950598 A CN202010950598 A CN 202010950598A CN 112083888 A CN112083888 A CN 112083888A
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- target
- storage nodes
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000009826 distribution Methods 0.000 claims abstract description 34
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 abstract description 9
- 238000011084 recovery Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种文件存储方法、装置和电子设备,接收来自客户端的文件存储请求;该文件存储请求用于请求将目标文件存储至分布式文件存储系统;根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。该方式中,根据存储系统中各个存储节点的区域分布信息,可以将目标文件的副本存储在至少两个区域中的存储节点,避免了某个区域发生掉电、设备损坏或发生火灾等状况时文件彻底丢失的问题,提高了文件数据存储的安全性。
Description
技术领域
本发明涉及文件存储技术领域,尤其是涉及一种文件存储方法、装置和电子设备。
背景技术
HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)是目前比较典型的、使用比较广泛的开源分布式文件存储系统。HDFS系统采用多副本的形式存储文件,但是HDFS系统仅支持将一个文件的多个副本均存储在同一个物理区域中,如同一个机房或同一个交换机连接的设备中,如果该区域发生掉电、设备损坏或发生火灾等,会导致文件彻底丢失,导致文件数据存储的安全性较差。
发明内容
有鉴于此,本发明的目的在于提供一种文件存储方法、装置和电子设备,以提高文件数据存储的安全性。
第一方面,本发明实施例提供了一种文件存储方法,方法包括:接收来自客户端的文件存储请求;文件存储请求用于:请求将目标文件存储至分布式文件存储系统;根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。
进一步的,区域分布信息包括:存储节点所在的机房;多个目标存储节点分布在至少两个机房。
进一步的,多个目标存储节点中,任意两个目标存储节点所在的机房不同。
进一步的,区域分布信息包括:存储节点所连接的交换机;多个目标存储节点所连接的交换机的总数量为至少两台。
进一步的,多个目标存储节点中,任意两个目标存储节点所连接的交换机不同。
进一步的,根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点的步骤之后,方法还包括:将多个目标存储节点的节点信息返回至客户端,以通过客户端基于节点信息,将目标文件的副本文件分别存储至每个目标存储节点。
进一步的,将多个目标存储节点的节点信息返回至客户端,以通过客户端基于节点信息,将目标文件的副本文件分别存储至每个目标存储节点的步骤之后,方法还包括:监测目标文件的副本文件的数量是否满足指定数量;如果不满足指定数量,确定目标文件的副本文件所在的当前存储节点;从除当前存储节点以外的存储节点中,确定备选存储节点;其中,备选存储节点与至少一个当前存储节点所在的区域不同;将目标文件的副本文件存储至备选存储节点。
第二方面,本发明实施例提供了一种文件存储装置,装置包括:接收模块,用于接收来自客户端的文件存储请求;文件存储请求用于:请求将目标文件存储至分布式文件存储系统;确定模块,用于根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一项的文件存储方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一项的文件存储方法。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种文件存储方法、装置和电子设备,接收来自客户端的文件存储请求;该文件存储请求用于请求将目标文件存储至分布式文件存储系统;根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。该方式中,根据存储系统中各个存储节点的区域分布信息,可以将目标文件的副本存储在至少两个区域中的存储节点,避免了某个区域发生掉电、设备损坏或发生火灾等状况时文件彻底丢失的问题,提高了文件数据存储的安全性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件存储方法的流程图;
图2为本发明实施例提供的另一种文件存储方法的流程图;
图3为本发明实施例提供的一种文件存储装置的结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前比较典型的、使用比较广泛的开源分布式文件系统是HDFS,它也是一个带目录树的分布式文件系统。HDFS系统采用的是多副本的形式存储文件,但是文件的多副本均存储在同一个机房,不支持副本跨机房存储。如果发生全机房掉电、机房火灾等情况,会丢失数据导致文件彻底丢失,导致文件数据存储的安全性较差;基于此,本发明实施例提供的一种文件存储方法、装置和电子设备,该技术应用于电脑、笔记本等各种硬件设备中,尤其可以应用与具有文件存储功能的设备中。该技术可以通过相关硬件和软件实现。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种文件存储方法进行详细介绍,如图1所示,该方法包括如下步骤:
步骤S102,接收来自客户端的文件存储请求;文件存储请求用于:请求将目标文件存储至分布式文件存储系统;
本实施例中的分布式文件存储系统是一个带目录树的文件系统,用户可以存储用户上传的文件,可以对用户提供典型的文件系统操作,比如:卷操作、目录操作、文件操作等。卷是一个命名空间,用来存放用户创建的目录、文件,用户在使用分布式文件存储系统前,首先需要创建卷。另外,分布式文件存储系统包含有多个服务节点,该服务节点从功能上可以区分成两大类:控制节点和存储节点;其中,控制节点主要管理用户的目录树、文件数据的分布以及其他的副本文件的恢复、存储节点的加入与摘除等管理功能;存储节点主要是存储用户上传的文件数据。
上述文件存储请求通常包括需要存储的文件;还可以包括文件的类型、大小、数据信息等;具体的,用户可以利用手机、电脑等设备,向分布式文件存储系统的服务端发送文件存储请求,然后接收来自客户端的文件存储请求。
步骤S104,根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。
上述存储节点的区域分布信息可以存储在分布式文件存储系统的控制节点中;具体可以是分布式文件存储系统的每个控制节点启动时,会加载一个配置文件,该配置文件记录了每个存储节点的区域分布信息。上述存储节点的区域分布信息可以包括存储节点所在的机房,还可以包括存储节点所在连接的交换机,该交换机可以分布在不同的区域,或者该交换机连接有各种不同区域的设备。
上述存储节点也可以理解为存储服务器,可以分布在多个区域,主要是存储用户上传的文件数据,且上传的文件均是多副本存储,并存储于多个目标存储节点,每个目标存储节点用于存储目标文件的一个副本文件。为了保证目标文件的多个副本文件分别保存在不同的区域,上述多个目标存储节点分布在至少两个区域。可以是其中两个目标存储节点分布在一个区域,另一个目标存储节点分布在另一个区域;也可以是一个目标存储节点分布在一个区域,另一个目标存储节点分布在另一个区域;
具体的,分布式文件存储系统的控制节点,首先根据自身记录的存储节点的区域分布信息,可以通过随机选取的方式,或指定区域的方式等,从存储节点中确定多个目标存储节点,以使确定的多个目标存储节点分布在至少两个区域。其中,目标存储节点的数量可以根据实际需要进行设置,本申请不做限制,可以是两个、三个或者更多。比如,存储任务为将目标文件的副本文件分别存储至三个不同的区域,此时,可以根据存储任务确定三个区域分布各不相同的目标存储节点,还可以根据存储任务确定四个目标存储节点,其中两个目标存储节点所在的区域可以是相同的。
本发明实施例提供了一种文件存储方法,接收来自客户端的文件存储请求;该文件存储请求用于请求将目标文件存储至分布式文件存储系统;根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。该方式中,该方式中,根据存储系统中各个存储节点的区域分布信息,可以将目标文件的副本存储在至少两个区域中的存储节点,避免了某个区域发生掉电、设备损坏或发生火灾等状况时文件彻底丢失的问题,提高了文件数据存储的安全性。
本实施例提供了另一种文件存储方法,主要描述了根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点步骤可能的实施方式,以及该步骤之后的步骤的具体实施方式。如图2所示,该方法包括如下步骤:
步骤S202,接收来自客户端的文件存储请求;文件存储请求用于:请求将目标文件存储至分布式文件存储系统;
步骤S204,根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;
一种可能的实施方式中,上述区域分布信息包括:存储节点所在的机房;其中,多个目标存储节点分布在至少两个机房。
一个存储节点可以分布在一个机房,也可以是两个存储节点可以分布同在一个机房,还可以是不同的存储节点分别分布在不同的机房;具体的,分布式文件存储系统的控制节点,首先根据自身记录的存储节点所在的机房信息,从存储节点中确定出多个分布在至少两个机房的目标存储节点。
进一步的,多个目标存储节点中,任意两个目标存储节点所在的机房不同。为了保证目标文件的多副本文件分布在不同的机房,在确定出的多个目标存储节点中,任意两个目标存储节点所在的机房不同,可以理解为,多个目标存储节点分别在不同的机房,且没有重复,以保证单机房整体掉电、或机房火灾情况下,也不丢失任何数据。比如,三个目标存储节点分别在三个不同的机房。
另一种可能的实施方式中,上述区域分布信息包括:存储节点所连接的交换机;多个目标存储节点所连接的交换机的总数量为至少两台。
上述多个目标存储节点所连接的交换机分别连接有不同的设备,该设备可以是服务器等,以使目标存储节点保存的数据分布在不同的区域;一个存储节点可以连接一个交换机,也可以是两个存储节点可以连接同一个交换机,还可以是不同的存储节点分别连接不同的交换机;具体的,分布式文件存储系统的控制节点,首先根据自身记录的存储节点所连接的交换机信息,从存储节点中确定出多个连接在至少两个交换机的目标存储节点。
进一步的,多个目标存储节点中,任意两个目标存储节点所连接的交换机不同。为了保证目标文件的多副本文件分布在不同的区域,在确定出的多个目标存储节点中,任意两个目标存储节点所连接的交换机不同,可以理解为,多个目标存储节点分别连接不同的交换机,且没有重复,以保证单交换机或与交换机连接的设备整体掉电、或火灾情况下,也不丢失任何数据。比如,三个目标存储节点分别连接有三个不同的交换机。
另外,每个存储节点中还包括有TOR(Top Of Rack,是一种数据中心的布线方式),该信息是存储节点所在机房的一种容错信。
步骤S206,将多个目标存储节点的节点信息返回至客户端,以通过客户端基于节点信息,将目标文件的副本文件分别存储至每个目标存储节点;
上述节点信息可以包括目标存储节点的地址信息,或目标存储节点的服务器信息,或目标存储节点的区域分布信息等;具体的,客户端接收到多个目标存储节点的节点信息后,用户可以通过客户端直接向每个目标存储节点写入目标文件的副本文件数据;将目标文件的副本文件分别存储至每个目标存储节点后,客户端将存储成功的信息发送至分布式文件存储系统,分布式文件存储系统接收到存储成功的信息后,通过控制节点将该目标文件的副本文件的分布信息持久化至该控制节点。
步骤S208,监测目标文件的副本文件的数量是否满足指定数量;
考虑到系统或设备的磁盘损坏、存储机器损坏等,保存的副本文件的数量可能会减少的问题,为了保证目标文件的副本文件的个数为多个,始终保持在指定数量,控制节点通常会定时或者实时监控各个文件的副本文件数量。
步骤S210,如果不满足指定数量,确定目标文件的副本文件所在的当前存储节点;
当检测到某个文件的副本文件的数量少于指定数量时,控制节点可以启动恢复副本文件的操作,首先,控制节点会根据记录的存储节点的区域分布信息以及各个文件的副本文件所在的存储节点的信息,确定不满足指定数量的目标文件的副本文件所在的当前存储节点,该当前存储节点可以是一个、或多个,且数量小于指定数量。比如,目标文件的副本文件的指定数量为3个,当控制节点检测到目标文件的副本文件为1个或2个时,控制节点会启动恢复副本文件的操作,即首先确定目标文件的副本文件所在的当前存储节点。
步骤S212,从除当前存储节点以外的存储节点中,确定备选存储节点;其中,备选存储节点与至少一个当前存储节点所在的区域不同;
步骤S214,将目标文件的副本文件存储至备选存储节点。
由于当前存储节点已经存储有副本文件,为了恢复副本文件的数量满足指定数量,首先可以从除当前存储节点以外的存储节点中,确定备选存储节点,为了保证恢复的副本文件能够保存至不同的区域,确定出的备选存储节点与至少一个当前存储节点所在的区域不同,如果当前存储节点为两个,且所在的区域不同,则确定出的备选存储节点可以是与其中一个当前存储节点所在的区域不同,与另一个相同,也可以是与其中的两个当前存储节点所在的区域都不相同。最后控制节点会选择一个与已存在副本文件的不同区域的存储节点进行数据恢复,将目标文件的副本文件存储至备选存储节点,完成恢复副本文件的操作。
另外,上述恢复副本文件的操作,可以是实时恢复,即控制节点会实时监控各个文件的副本文件的数量,只要检测到副本文件的数量不满足指定数量,则控制节点启动恢复副本文件的操作;还可以是定时恢复,即控制节点会定时监控各个文件的副本文件的数量,比如,每隔10分钟、20分钟等,定时检测到副本文件的数量不满足指定数量,则控制节点启动恢复副本文件的操作。
该方式中,分布式文件存储系统中设置有多个存储节点,且多个目标存储节点分布在至少两个区域,通过存储节点的区域分布信息,包括:存储节点所在的机房或存储节点所连接的交换机,确保将目标文件的副本文件存储在至少两个区域中;文件数据的多副本,分布在多个机房,这样单机房整体掉电、或机房火灾情况下,不丢失任何数据;避免了单区域存储文件时,区域被破坏导致文件彻底丢失的问题,提高了文件数据存储的安全性。
另外,为了保证目标文件的副本文件的数量一直满足指定数量,监测目标文件的副本文件的数量是否满足指定数量;如果不满足指定数量,确定目标文件的副本文件所在的当前存储节点;从除当前存储节点以外的存储节点中,确定备选存储节点;其中,备选存储节点与至少一个当前存储节点所在的区域不同;将目标文件的副本文件存储至备选存储节点。避免了由于磁盘损坏、存储机器损坏等情况,导致的目标文件的副本文件的数量减少,从而是文件数据的多副本,不能分布在多个机房的情况,进而提高了文件数据存储的安全性。
对应上述的方法实施例,本实施例提供了一种文件存储装置,如图3所示,该装置包括:
接收模块31,用于接收来自客户端的文件存储请求;文件存储请求用于:请求将目标文件存储至分布式文件存储系统;
确定模块32,用于根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。
本发明实施例提供了一种文件存储装置,接收来自客户端的文件存储请求;该文件存储请求用于请求将目标文件存储至分布式文件存储系统;根据分布式文件存储系统中存储节点的区域分布信息,从存储节点中确定多个目标存储节点;其中,每个目标存储节点用于存储目标文件的一个副本文件;多个目标存储节点分布在至少两个区域。该方式中,根据存储系统中各个存储节点的区域分布信息,可以将目标文件的副本存储在至少两个区域中的存储节点,避免了某个区域发生掉电、设备损坏或发生火灾等状况时文件彻底丢失的问题,提高了文件数据存储的安全性。
进一步的,上述区域分布信息包括:存储节点所在的机房;多个目标存储节点分布在至少两个机房。
进一步的,上述多个目标存储节点中,任意两个目标存储节点所在的机房不同。
进一步的,上述区域分布信息包括:存储节点所连接的交换机;多个目标存储节点所连接的交换机的总数量为至少两台。
进一步的,上述多个目标存储节点中,任意两个目标存储节点所连接的交换机不同。
进一步的,上述装置还包括返回模块,用于将多个目标存储节点的节点信息返回至客户端,以通过客户端基于节点信息,将目标文件的副本文件分别存储至每个目标存储节点。
进一步的,上述装置还包括恢复模块,用于监测目标文件的副本文件的数量是否满足指定数量;如果不满足指定数量,确定目标文件的副本文件所在的当前存储节点;从除当前存储节点以外的存储节点中,确定备选存储节点;其中,备选存储节点与至少一个当前存储节点所在的区域不同;将目标文件的副本文件存储至备选存储节点。
本发明实施例提供的文件存储装置,与上述实施例提供的文件存储方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述文件存储方法。
参见图4所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述文件存储方法。
进一步地,图4所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述文件存储方法。
本发明实施例所提供的文件存储方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种文件存储方法,其特征在于,所述方法包括:
接收来自客户端的文件存储请求;所述文件存储请求用于:请求将目标文件存储至分布式文件存储系统;
根据所述分布式文件存储系统中存储节点的区域分布信息,从所述存储节点中确定多个目标存储节点;
其中,每个所述目标存储节点用于存储所述目标文件的一个副本文件;所述多个目标存储节点分布在至少两个区域。
2.根据权利要求1所述的方法,其特征在于,所述区域分布信息包括:存储节点所在的机房;所述多个目标存储节点分布在至少两个机房。
3.根据权利要求2所述的方法,其特征在于,所述多个目标存储节点中,任意两个目标存储节点所在的机房不同。
4.根据权利要求1所述的方法,其特征在于,所述区域分布信息包括:存储节点所连接的交换机;所述多个目标存储节点所连接的交换机的总数量为至少两台。
5.根据权利要求4所述的方法,其特征在于,所述多个目标存储节点中,任意两个目标存储节点所连接的交换机不同。
6.根据权利要求1所述的方法,其特征在于,根据所述分布式文件存储系统中存储节点的区域分布信息,从所述存储节点中确定多个目标存储节点的步骤之后,所述方法还包括:
将所述多个目标存储节点的节点信息返回至所述客户端,以通过所述客户端基于所述节点信息,将所述目标文件的副本文件分别存储至每个所述目标存储节点。
7.根据权利要求6所述的方法,其特征在于,将所述多个目标存储节点的节点信息返回至所述客户端,以通过所述客户端基于所述节点信息,将所述目标文件的副本文件分别存储至每个所述目标存储节点的步骤之后,所述方法还包括:
监测所述目标文件的副本文件的数量是否满足指定数量;
如果不满足所述指定数量,确定所述目标文件的副本文件所在的当前存储节点;
从除所述当前存储节点以外的存储节点中,确定备选存储节点;其中,所述备选存储节点与至少一个所述当前存储节点所在的区域不同;
将目标文件的副本文件存储至所述备选存储节点。
8.一种文件存储装置,其特征在于,所述装置包括:
接收模块,用于接收来自客户端的文件存储请求;所述文件存储请求用于:请求将目标文件存储至分布式文件存储系统;
确定模块,用于根据所述分布式文件存储系统中存储节点的区域分布信息,从所述存储节点中确定多个目标存储节点;
其中,每个所述目标存储节点用于存储所述目标文件的一个副本文件;所述多个目标存储节点分布在至少两个区域。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至7任一项所述的文件存储方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1至7任一项所述的文件存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950598.6A CN112083888A (zh) | 2020-09-10 | 2020-09-10 | 文件存储方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010950598.6A CN112083888A (zh) | 2020-09-10 | 2020-09-10 | 文件存储方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112083888A true CN112083888A (zh) | 2020-12-15 |
Family
ID=73737462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010950598.6A Pending CN112083888A (zh) | 2020-09-10 | 2020-09-10 | 文件存储方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112083888A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377728A (zh) * | 2021-06-11 | 2021-09-10 | 重庆农村商业银行股份有限公司 | 一种文件共享方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152395A (zh) * | 2013-02-05 | 2013-06-12 | 北京奇虎科技有限公司 | 一种分布式文件系统的存储方法及装置 |
CN104615606A (zh) * | 2013-11-05 | 2015-05-13 | 阿里巴巴集团控股有限公司 | 一种Hadoop分布式文件系统及其管理方法 |
US20150324371A1 (en) * | 2013-12-31 | 2015-11-12 | Huawei Technologies Co., Ltd. | Data Processing Method and Device in Distributed File Storage System |
CN109933289A (zh) * | 2019-03-15 | 2019-06-25 | 深圳市网心科技有限公司 | 一种存储副本部署方法、系统及电子设备和存储介质 |
CN110489279A (zh) * | 2019-08-27 | 2019-11-22 | 深圳市网心科技有限公司 | 一种文件副本维护方法及相关装置 |
CN110532271A (zh) * | 2019-08-30 | 2019-12-03 | 北京浪潮数据技术有限公司 | 基于dht算法实现的分布式存储方法、控制系统及装置 |
CN110674099A (zh) * | 2019-09-25 | 2020-01-10 | 新华三大数据技术有限公司 | 副本平衡方法、装置、存储介质及电子设备 |
-
2020
- 2020-09-10 CN CN202010950598.6A patent/CN112083888A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152395A (zh) * | 2013-02-05 | 2013-06-12 | 北京奇虎科技有限公司 | 一种分布式文件系统的存储方法及装置 |
CN104615606A (zh) * | 2013-11-05 | 2015-05-13 | 阿里巴巴集团控股有限公司 | 一种Hadoop分布式文件系统及其管理方法 |
US20150324371A1 (en) * | 2013-12-31 | 2015-11-12 | Huawei Technologies Co., Ltd. | Data Processing Method and Device in Distributed File Storage System |
CN109933289A (zh) * | 2019-03-15 | 2019-06-25 | 深圳市网心科技有限公司 | 一种存储副本部署方法、系统及电子设备和存储介质 |
CN110489279A (zh) * | 2019-08-27 | 2019-11-22 | 深圳市网心科技有限公司 | 一种文件副本维护方法及相关装置 |
CN110532271A (zh) * | 2019-08-30 | 2019-12-03 | 北京浪潮数据技术有限公司 | 基于dht算法实现的分布式存储方法、控制系统及装置 |
CN110674099A (zh) * | 2019-09-25 | 2020-01-10 | 新华三大数据技术有限公司 | 副本平衡方法、装置、存储介质及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377728A (zh) * | 2021-06-11 | 2021-09-10 | 重庆农村商业银行股份有限公司 | 一种文件共享方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018001110A1 (zh) | 一种基于纠删码的存储数据重构方法和装置、存储节点 | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
CN112422320B (zh) | 服务器的主从切换方法、装置和服务器 | |
CN107463342B (zh) | 一种cdn边缘节点文件的存储方法及装置 | |
CN110830283B (zh) | 故障检测方法、装置、设备和系统 | |
WO2018121456A1 (zh) | 一种数据存储方法、服务器以及存储系统 | |
CN111176888B (zh) | 云存储的容灾方法、装置及系统 | |
CN109165112B (zh) | 一种元数据集群的故障恢复方法、系统及相关组件 | |
CN112398692A (zh) | 共识流程处理方法、装置和电子设备 | |
CN112612769A (zh) | 文件处理方法、装置及存储介质 | |
CN109117292B (zh) | 一种集群存储的方法和装置及集群存储系统 | |
CN113821168A (zh) | 一种共享存储迁移系统、方法及电子设备和存储介质 | |
CN114328029B (zh) | 一种应用资源的备份方法、装置、电子设备及存储介质 | |
CN112083888A (zh) | 文件存储方法、装置和电子设备 | |
CN113849352A (zh) | 业务数据存储异常处理方法、装置及服务器 | |
CN109510730B (zh) | 分布式系统及其监控方法、装置、电子设备及存储介质 | |
CN112650629A (zh) | 区块链索引数据恢复方法、装置、设备和计算机存储介质 | |
CN113824755A (zh) | 区块链数据处理的方法、系统及相关装置 | |
CN111857603A (zh) | 数据处理方法及相关装置 | |
CN115470041A (zh) | 一种数据灾备管理方法及装置 | |
CN113535482B (zh) | 云备份链数据备份方法及装置、设备、可读介质 | |
CN116737764A (zh) | 数据同步的方法和装置、电子设备和存储介质 | |
CN113419901A (zh) | 数据灾备方法、装置及服务器 | |
CN114490516A (zh) | 文件系统的处理方法、回收站管理方法、装置及设备 | |
CN112084058A (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 |