CN115438012A - 文件的存储方法及装置 - Google Patents
文件的存储方法及装置 Download PDFInfo
- Publication number
- CN115438012A CN115438012A CN202210895750.4A CN202210895750A CN115438012A CN 115438012 A CN115438012 A CN 115438012A CN 202210895750 A CN202210895750 A CN 202210895750A CN 115438012 A CN115438012 A CN 115438012A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- record table
- storage
- storage node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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/178—Techniques for file synchronisation in 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/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/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
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)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文件的存储方法及装置,其中方法包括:基于待存储的目标文件的消息摘要,确定目标文件的消息摘要在文件记录表中不存在;将目标文件存入第一服务器的存储节点,并将目标文件的消息摘要存入文件记录表;遍历文件记录表,确定文件记录表中文件数量为一个的待同步文件,并将待同步文件从第一服务器的存储节点同步到第二服务器的存储节点。本发明提供的文件的存储方法及装置,通过目标文件的消息摘要,实现了目标文件是否需要存储的快速确定。基于记录所有文件存储信息的文件记录表,实现了待同步文件的快速确定,避免了直接针对主备服务器的存储文件的操作,提升了文件同步效率。
Description
技术领域
本发明涉及计算机术领域,尤其涉及一种文件的存储方法及装置。
背景技术
现有的重要系统一般部署在不同物理空间的两个机房,每个机房包含对应的网络、计算机主机、机架等硬件设备,每个机房能够分别独立运行软件系统的架构。以保证极端情况下其中一个机房由于网络、电力或其他不可抗力无法提供正常服务时,文件的存取功能不受影响。
现有的两个机房中的文件的管理,均为直接针对文件的进行的存储与同步管理方式。直接针对文件的存储与同步管理方式,导致文件的存储速度与同步效率不高。
发明内容
本发明提供一种文件的存储方法及装置,用以解决现有技术针对两个机房中的文件的管理,直接针对文件的存储与同步管理方式,导致文件的存储速度与同步效率不高的技术问题。
本发明提供一种文件的存储方法,包括:
基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
根据本发明提供的一种文件的存储方法,所述将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点之后,还包括:
将所述第二服务器的存储节点中各文件的消息摘要,与所述文件记录表中的消息摘要进行比对,确定所述第二服务器的存储节点相对于所述文件记录表中缺乏的差异文件;
将所述差异文件,从所述第一服务器的存储节点同步到所述第二服务器的存储节点。
根据本发明提供的一种文件的存储方法,所述将所述目标文件存入所述第一服务器的存储节点,包括:
基于所述目标文件的消息摘要的前预设个数的第一字符内容,在所述第一服务器的存储节点中,创建文件夹名称为所述第一字符内容的一级存储文件夹;
基于所述目标文件的消息摘要的后预设个数的第二字符内容,在所述一级存储文件夹中,创建文件夹名称为所述第二字符内容的二级存储文件夹;
将所述目标文件存入所述二级存储文件夹。
根据本发明提供的一种文件的存储方法,所述基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,包括:
将所述目标文件的消息摘要,与所述文件记录表中的消息摘要进行比对,
在所述目标文件的消息摘要与所述文件记录表中的所有消息摘要均不相同的情况下,确定所述目标文件在第一服务器的文件记录表中不存在。
根据本发明提供的一种文件的存储方法,所述第一服务器的存储节点为所述第一服务器所属机房的共享存储;
所述第二服务器的存储节点为所述第二服务器所属机房的共享存储。
根据本发明提供的一种文件的存储方法,所述将所述目标文件存入所述第一服务器的存储节点之前,还包括:
根据所述文件记录表中所有文件的消息摘要,确定所述第一服务器的存储节点中的重复文件,并将所述重复文件删除。
本发明还提供一种文件的存储装置,包括:
文件检查模块,用于基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
存储模块,用于将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
标记模块,用于将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
同步模块,用于遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述文件的存储方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文件的存储方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文件的存储方法。
本发明提供的文件的存储方法及装置,通过在对目标文件进行存储时,基于目标文件的消息摘要确定目标文件是否已存在于服务器中,实现了目标文件是否需要存储的快速确定。与此同时,基于所有文件存储信息的文件记录表,对存入第一服务器的存储节点的文件数量进行记录,基于记录的文件数量,实现了待同步文件的快速确定,避免了直接针对主备服务器的存储文件的操作,提升了主备服务器之间的文件同步效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图简要地说明,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的文件的存储方法的流程示意图;
图2是本发明提供的双机房结构示意图;
图3是应用本发明提供的文件的存储方法的流程示意图;
图4是本发明提供的文件的存储装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的文件的存储方法的流程示意图。参照图1,本发明提供的文件的存储方法可以包括:
步骤110,基于待存储的目标文件的消息摘要,确定所述目标文件在第一服务器的文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
步骤120,将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
步骤130,将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
步骤140,遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
本发明提供的文件的存储方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digitalassistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(Network AttachedStorage,NAS)或个人计算机(personal computer,PC)等,本发明不作具体限定。
下面以计算机执行本发明提供的文件的存储方法为例,详细说明本发明的技术方案。
在步骤110中,获取待存储的目标文件,计算目标文件的消息摘要。基于目标文件的消息摘要,确定目标文件的消息摘要在第一服务器的文件记录表中不存在。
其中,待存储的目标文件为待存入第一服务器中的文件。待存储的目标文件的消息摘要可以通过消息摘要算法计算。文件记录表可以部署在跨第一服务器所属的第一机房以及第二服务器所属的第二机房中的高可用集群的数据库中,用于存储记录第一服务器的存储节点中的所有文件的消息摘要。第一服务器和第二服务器均可以访问文件记录表。
可以理解的是,文件记录表中存储的文件的消息摘要与第一服务器中的文件相互对应,可以根据文件记录表中存储的消息摘要获取在第一服务器中存储的对应的文件。
可选地,计算目标文件的消息摘要可以采用消息摘要算法,消息摘要算法可以为MD5算法、SHA-1算法、SHA-224算法、SHA-256算法或者SHA-384算法等。
其中,消息摘要算法是把任意长度的输入揉和而产生长度固定的伪随机输出的算法。无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出,SHA-1的变体可以产生192比特位和256比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
在确定目标文件的消息摘要以及文件记录表后,根据目标文件的消息摘要值是否在文件记录表中,可以确定目标文件是否在第一服务器中已经存在。若确定目标文件的消息摘要在第一服务器的文件记录表中不存在,则可以确定该目标文件在第一服务器的存储节点中不存在。
在步骤120中,在确定目标文件在第一服务器中的存储节点中不存在时,将目标文件存入第一服务器的存储节点,并将目标文件的消息摘要存入文件记录表中,实现文件记录表的更新。
将目标文件的消息摘要存入文件记录表后,实现了文件存入时的文件记录表的更新,使得第一服务器的存储节点中存储的文件与文件记录表中存储的文件的消息摘要对应。
可以理解的是,将第一服务器的存储节点中的所有文件计算消息摘要,存入文件记录表中。在待存储文件将要存入第一服务器的存储节点时,可以通过计算待存储文件的消息摘要,将待存储文件的消息摘要在文件记录表中遍历,可以快速确定待存储文件是否已经存在于第一服务器的存储节点中。与此同时,消息摘要的文件加密方式,提升了文件存储的安全性。
在步骤130中,在确定记录第一服务器的存储节点中记录所有文件存储信息的文件记录表后,将文件记录表中,目标文件的文件数量字段标记为一个。
可以理解的是,在将目标文件的消息摘要存入文件记录表中后,将文件记录表中的目标文件的文件数量字段标记为一个,即确定该目标文件只存储了一份。
在步骤140中,遍历文件记录表,确定文件记录中的文件数量为一个的所有文件,即确定只存储了一份的所有文件。确定的只存储了一份的所有文件为待同步文件。在确定所有待同步文件后,将所有待同步文件从第一服务器的存储节点同步到第二服务器的存储节点。
第二服务器与第一服务器互为备份,即第一服务器和第二服务器为双机热备。双机热备就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。采用双机热备,对于重要的服务,可以保障服务器的高可用性。
可以理解的是,通过文件记录表的形式,记录了第一服务器中存储的文件的消息摘要以及文件的数量信息,所以可以直接根据文件记录表进行主备服务器之间的文件同步操作。服务器中存储的文件不仅文件数量巨大,而且文件格式大,针对文件记录表的方式,避免了直接针对第一服务器的存储节点的文件与第二服务器的存储节点的文件的复杂操作,提升了同步的效率。
本发明实施例提供的文件的存储方法,通过在对目标文件进行存储时,基于目标文件的消息摘要确定目标文件是否已存在于服务器中,实现了目标文件是否需要存储的快速确定。与此同时,基于记录所有文件存储信息的文件记录表,对存入第一服务器的存储节点的文件数量进行记录,基于记录的文件数量,实现了待同步文件的快速确定,避免了直接针对主备服务器的存储文件的操作,提升了主备服务器之间的文件同步效率。
在一个实施例中,所述将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点之后,还包括:将所述第二服务器的存储节点中各文件的消息摘要,与所述文件记录表中的消息摘要进行比对,确定所述第二服务器的存储节点相对于所述文件记录表中缺乏的差异文件;将所述差异文件,从所述第一服务器的存储节点同步到所述第二服务器的存储节点。
在将目标文件存入第一服务器后,将第二服务器的存储节点中的各文件的消息摘要,与文件记录表中的消息只要进行比对,确定第二服务器的存储节点相对于文件记录表中缺乏的差异文件,即第二服务器的存储节点相对于第一服务器的存储节点所缺少的文件。
可以理解的是,文件记录表中的消息摘要反映的是第一服务器中存储的所有文件。将第二服务器的存储节点中各文件的消息摘要,与文件记录表中的消息摘要进行比对,可以确定第二服务器的存储节点相对于第一服务器的存储节点中,缺少哪些文件。确定缺少的文件为差异文件,可以用于后续同步过程,使得第一服务器的存储节点与第二服务器的存储节点中的文件相同,确保双机热备的文件存储的准确性。
在确定差异文件后,将确定的差异文件,从第一服务器的存储节点同步到第二服务器的存储节点,实现第一服务器的存储节点与第二服务器的存储节点中存储的文件相同。
本发明实施例提供的文件的存储方法,通过将第二服务器的存储节点中各文件的消息摘要,与文件记录表中的消息摘要进行比对,确定第二服务器的存储节点相对于文件记录表中缺乏的差异文件,并将确定差异文件同步,保障了主备服务器之间文件的一致性。
在一个实施例中,将所述目标文件存入所述第一服务器的存储节点,包括:基于所述目标文件的消息摘要的前预设个数的第一字符内容,在所述第一服务器的存储节点中,创建文件夹名称为所述第一字符内容的一级存储文件夹;基于所述目标文件的消息摘要的后预设个数的第二字符内容,在所述一级存储文件夹中,创建文件夹名称为所述第二字符内容的二级存储文件夹;将所述目标文件存入所述二级存储文件夹。
在对目标文件进行存储的时候,根据目标文件的消息摘要,对目标文件进行分级存储。在对目标文件的消息摘要进行确定后,目标文件的消息摘要为一串十六进制的标识符。
取消息摘要的标识符中的前预设个数的第一字符内容,在第一服务器的存储节点中,创建文件夹名称为第一字符内容的一级存储文件夹。取消息摘要的标识符中后预设个数的第二字符内容,在一级存储文件夹下,创建文件夹名称为第二字符内容的二级存储文件夹。例如,在对目标文件的消息摘要进行确定,若确定目标文件的消息摘要为“5v08567574de6934e2c9dc16290c055bdc7vva346cfe9a2fc8e04fa2a5f0b8e”,按预设个数为4取标识符,创建文件夹。创建的一级存储文件夹的名称为“5v08”,在一级存储文件夹下创建的二级存储文件夹的名称为“0b8e”。
在创建了一级存储文件夹以及一级存储文件夹下的二级存储文件夹后,将目标文件存储在二级存储文件夹中。以此类推,可以根据存储的需要,在创建的二级存储文件夹中继续向下创建多级文件夹,用于存储文件。
可以理解的是,对于一个存储节点,可能存储的文件有上千万个。若直接将所有文件存储在一个文件夹中,在文件查找和使用时,费时费力,十分耗费资源。
在根据文件的消息摘要进行存储后,根据消息摘要的字符内容,创建对应的多级文件夹,可以快速定位到需要获取的文件的位置,提升了文件查找的便利性。
本发明实施例提供的文件的存储方法,通过目标文件的消息摘要,在存储目标文件的存储节点中,创建存储目标文件的多级存储文件夹,方便了存储后的文件查找,提升了文件查找的便利性。
在一个实施例中,基于待存储的目标文件的消息摘要,确定所述目标文件在第一服务器的文件记录表中不存在,包括:将所述目标文件的消息摘要,与所述文件记录表中的消息摘要进行比对,在所述目标文件的消息摘要与所述文件记录表中的所有消息摘要均不相同的情况下,确定所述目标文件在第一服务器的文件记录表中不存在。
对于待存储的目标文件,需要确定目标文件是否已经存在于第一服务器的存储节点中。所以需要对第一服务器的存储节点中存储的内容进行判断,确定目标文件是否已经存入第一服务器的存储节点。
通过将确定目标文件的消息摘要,与第一服务器的存储节点中所有文件的消息摘要进行比对,可以确定目标文件是否已经存入第一服务器的存储节点。第一服务器的存储节点中所有文件的消息摘要值记录在文件记录表中,在目标文件的消息摘要与文件记录表中的消息摘要均不相同的情况下,可以确定目标文件不在第一服务器的存储节点中。
本发明实施例提供的文件的存储方法,通过将目标文件的消息摘要,与文件记录表中的消息摘要进行比对,在目标文件的消息摘要与文件记录表中的所有消息摘要均不相同的情况下,确定目标文件在第一服务器的文件记录表中不存在,实现了目标文件在存入前,第一服务器中是否包含目标文件的判断,避免了目标文件重复存入,节约了系统资源。
在一个实施例中,第一服务器的存储节点为所述第一服务器所属机房的共享存储;所述第二服务器的存储节点为所述第二服务器所属机房的共享存储。
第一服务器的存储节点为第一服务器所属机房的共享存储,第二服务器的存储节点为第二服务器所属机房的共享存储,实现的是双机房的存储架构。
双机房的存储架构为一种软件系统物理部署架构,是将运行着业务系统的两台以上的服务器部署到不同物理空间的两个机房,每个机房包含对应的网络、计算机主机、机架等硬件设备,每个机房能够分别独立运行软件系统的架构。如图2本发明提供的双机房结构示意图所示,机房1包含的服务器1服务器2以及服务器3,与机房2包含的服务器1服务器2以及服务器3分别对应,共同构成了双机热备的结构。其中,各机房中服务器的存储节点为所属机房的共享存储。
共享存储是指多个处理机共用一个主存储器的并行体系结构。每一个处理机都可以把信息存入主存储器,或从中取出信息。
可选地,第一服务器所属机房与第二服务器所属机房,位于不同位置,当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务,保障了系统的高可用性。
本发明实施例提供的文件的存储方法,通过确定第一服务器的存储节点为第一服务器所属机房的共享存储,第二服务器的存储节点为第二服务器所属机房的共享存储,在保障服务器的高可用性的同时,提升了存储空间的利用率。
在一个实施例中,将所述目标文件存入所述第一服务器的存储节点之前,还包括:根据所述文件记录表中所有文件的消息摘要,确定所述第一服务器的存储节点中的重复文件,并将所述重复文件删除。
在目标文件存入第一服务器的存储节点之前,对第一服务器中存储的文件进行去重复处理。
文件记录表中存储的是第一服务器的存储节点中存储的所有文件。第一服务器的存储节点中存储的文件可能有重复的文件。通过对文件记录表中所有文件的消息摘要的筛选,可以确定重复的消息摘要值,即可确定重复存储的文件。
在确定重复存储的文件后,对重复存储的文件进行删除,可以优化第一服务器的存储节点中的存储空间,节约了存储节点的存储资源。
本发明实施例提供的文件的存储方法,通过文件记录表中所有文件的消息摘要,确定第一服务器的存储节点中的重复文件,并将重复文件删除,可以优化第一服务器的存储节点中的存储空间,节约了存储节点的存储资源。
下面以一应用本发明提供的文件的存储方法的流程示意图图3为例,说明本申请提供的技术方案:
步骤310,获取待存储的目标文件,接收外部请求根据接口获取并解析的待存储的目标文件;
步骤320,计算消息摘要,根据确定的消息摘要算法,计算待存储的目标文件的消息摘要;
步骤330,消息摘要查询,确定目标文件的消息摘要在第一服务器的文件记录表是否存在;
步骤340,将文件存储到共享存储,在确定目标文件的消息摘要在第一服务器的文件记录表不存在时,将目标文件存储到第一服务器的存储节点中;
步骤350,在文件记录表中标记目标文件,将文件记录表中,目标文件的文件数量字段标记为一个;
步骤360,同步文件,遍历文件记录表,确定文件记录表中文件数量为一个的待同步文件,并将待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点;
步骤370,更新存储,若确定目标文件的消息摘要在文件记录表中存在的情况下,将文件记录表中目标文件的消息摘要存储日期更新;
步骤380,删除重复文件,根据文件记录表中所有文件的消息摘要,确定第一服务器的存储节点中的重复文件,并将重复文件删除。
图4为本发明提供的文件的存储装置的结构示意图,如图4所示,该装置包括:
文件检查模块410,用于基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
存储模块420,用于将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
标记模块430,用于将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
同步模块440,用于遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
本发明实施例提供的文件的存储装置,通过在对目标文件进行存储时,基于目标文件的消息摘要确定目标文件是否已存在于服务器中,实现了目标文件是否需要存储的快速确定。与此同时,基于记录所有文件存储信息的文件记录表,对存入第一服务器的存储节点的文件数量进行记录,基于记录的文件数量,实现了待同步文件的快速确定,避免了直接针对主备服务器的存储文件的操作,提升了主备服务器之间的文件同步效率。
在一个实施例中,同步模块440具体用于:
所述将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点之后,还包括:
将所述第二服务器的存储节点中各文件的消息摘要,与所述文件记录表中的消息摘要进行比对,确定所述第二服务器的存储节点相对于所述文件记录表中缺乏的差异文件;
将所述差异文件,从所述第一服务器的存储节点同步到所述第二服务器的存储节点。
在一个实施例中,存储模块420具体用于:
将所述目标文件存入所述第一服务器的存储节点,包括:
基于所述目标文件的消息摘要的前预设个数的第一字符内容,在所述第一服务器的存储节点中,创建文件夹名称为所述第一字符内容的一级存储文件夹;
基于所述目标文件的消息摘要的后预设个数的第二字符内容,在所述一级存储文件夹中,创建文件夹名称为所述第二字符内容的二级存储文件夹;
将所述目标文件存入所述二级存储文件夹。
在一个实施例中,文件检查模块410具体用于:
基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,包括:
将所述目标文件的消息摘要,与所述文件记录表中的消息摘要进行比对,
在所述目标文件的消息摘要与所述文件记录表中的所有消息摘要均不相同的情况下,确定所述目标文件在第一服务器的文件记录表中不存在。
在一个实施例中,同步模块440还具体用于:
第一服务器的存储节点为所述第一服务器所属机房的共享存储;
所述第二服务器的存储节点为所述第二服务器所属机房的共享存储。
在一个实施例中,存储模块420还具体用于:
将所述目标文件存入所述第一服务器的存储节点之前,还包括:
根据所述文件记录表中所有文件的消息摘要,确定所述第一服务器的存储节点中的重复文件,并将所述重复文件删除。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行文件的存储方法,该方法包括:
基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的文件的存储方法,该方法包括:
基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的文件的存储方法,该方法包括:
基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种文件的存储方法,其特征在于,包括:
基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
2.根据权利要求1所述的文件的存储方法,其特征在于,所述将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点之后,还包括:
将所述第二服务器的存储节点中各文件的消息摘要,与所述文件记录表中的消息摘要进行比对,确定所述第二服务器的存储节点相对于所述文件记录表中缺乏的差异文件;
将所述差异文件,从所述第一服务器的存储节点同步到所述第二服务器的存储节点。
3.根据权利要求1所述的文件的存储方法,其特征在于,所述将所述目标文件存入所述第一服务器的存储节点,包括:
基于所述目标文件的消息摘要的前预设个数的第一字符内容,在所述第一服务器的存储节点中,创建文件夹名称为所述第一字符内容的一级存储文件夹;
基于所述目标文件的消息摘要的后预设个数的第二字符内容,在所述一级存储文件夹中,创建文件夹名称为所述第二字符内容的二级存储文件夹;
将所述目标文件存入所述二级存储文件夹。
4.根据权利要求1所述的文件的存储方法,其特征在于,所述基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,包括:
将所述目标文件的消息摘要,与所述文件记录表中的消息摘要进行比对,
在所述目标文件的消息摘要与所述文件记录表中的所有消息摘要均不相同的情况下,确定所述目标文件在文件记录表中不存在。
5.根据权利要求1所述的文件的存储方法,其特征在于,所述第一服务器的存储节点为所述第一服务器所属机房的共享存储;
所述第二服务器的存储节点为所述第二服务器所属机房的共享存储。
6.根据权利要求1所述的文件的存储方法,其特征在于,所述将所述目标文件存入所述第一服务器的存储节点之前,还包括:
根据所述文件记录表中所有文件的消息摘要,确定所述第一服务器的存储节点中的重复文件,并将所述重复文件删除。
7.一种文件的存储装置,其特征在于,包括:
文件检查模块,用于基于待存储的目标文件的消息摘要,确定所述目标文件的消息摘要在文件记录表中不存在,所述文件记录表用于存储第一服务器的存储节点中所有文件的消息摘要;
存储模块,用于将所述目标文件存入所述第一服务器的存储节点,并将所述目标文件的消息摘要存入所述文件记录表;
标记模块,用于将所述文件记录表中,所述目标文件的文件数量字段标记为一个;
同步模块,用于遍历所述文件记录表,确定所述文件记录表中文件数量为一个的待同步文件,并将所述待同步文件从所述第一服务器的存储节点同步到第二服务器的存储节点,所述第一服务器与所述第二服务器互为备份。
8.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述文件的存储方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述文件的存储方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述文件的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210895750.4A CN115438012A (zh) | 2022-07-27 | 2022-07-27 | 文件的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210895750.4A CN115438012A (zh) | 2022-07-27 | 2022-07-27 | 文件的存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115438012A true CN115438012A (zh) | 2022-12-06 |
Family
ID=84242652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210895750.4A Pending CN115438012A (zh) | 2022-07-27 | 2022-07-27 | 文件的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115438012A (zh) |
-
2022
- 2022-07-27 CN CN202210895750.4A patent/CN115438012A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018395933C1 (en) | Content management client synchronization service | |
CN111209346B (zh) | 一种区块链数据归档方法、装置和计算机可读存储介质 | |
CN106250270B (zh) | 一种云计算平台下的数据备份方法 | |
US8260742B2 (en) | Data synchronization and consistency across distributed repositories | |
CN109831487B (zh) | 分片文件验证方法及终端设备 | |
US20080243878A1 (en) | Removal | |
EP3353657B1 (en) | Fault-tolerant methods, systems and architectures for data storage, retrieval and distribution | |
CN105376277B (zh) | 一种数据同步方法及装置 | |
CN109542330B (zh) | 数据存储方法、数据查询方法及装置 | |
US11159616B2 (en) | Email synchronization method and apparatus, and computer readable storage medium | |
CN112732702B (zh) | 数据库引擎文件处理方法及装置 | |
CN112948494A (zh) | 数据同步方法、装置、电子设备和计算机可读介质 | |
CN109815047B (zh) | 一种数据处理的方法和相关装置 | |
CN115438012A (zh) | 文件的存储方法及装置 | |
CN112988879A (zh) | 访问数据库的方法、系统、装置、存储介质及处理器 | |
CN109445988A (zh) | 异构容灾方法、装置、系统、服务器和容灾平台 | |
CN111522875B (zh) | 一种全量数据同步的分布式系统数据副本一致性监测方法 | |
CN114442947B (zh) | 跨域桶删除方法、系统、终端及存储介质 | |
CN111431984B (zh) | 应用数据的同步方法、同步装置和计算机可读存储介质 | |
CN116737835A (zh) | 数据定制化的同步方法、装置、电子设备及存储介质 | |
CN117171272A (zh) | 数据同步方法及装置 | |
CN115987785A (zh) | 防火墙数据的同步方法、装置及电子设备 | |
CN116069728A (zh) | 一种校验目录一致性的方法、系统、设备和存储介质 | |
CN117707943A (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 |