CN117370295A - 一种文件拷贝方法、装置、服务器及存储介质 - Google Patents
一种文件拷贝方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN117370295A CN117370295A CN202311560130.6A CN202311560130A CN117370295A CN 117370295 A CN117370295 A CN 117370295A CN 202311560130 A CN202311560130 A CN 202311560130A CN 117370295 A CN117370295 A CN 117370295A
- Authority
- CN
- China
- Prior art keywords
- file
- copied
- metadata
- target
- copy
- 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 62
- 238000013507 mapping Methods 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 41
- 230000008569 process Effects 0.000 claims description 20
- 230000001360 synchronised effect Effects 0.000 claims description 18
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010801 machine learning 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
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- 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/18—File system types
- G06F16/182—Distributed 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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种文件拷贝方法、装置、服务器及存储介质,涉及网络技术领域,解决了相关技术中,文件拷贝速度较慢、效率较低的技术问题。该方法包括:获取终端发送的文件拷贝请求,该文件拷贝请求中包括待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间;基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定第一位置和第二位置,该第一位置为该待拷贝文件的文件数据的存储位置,该第二位置为该待拷贝文件的元数据的存储位置;基于该第一位置,获取该待拷贝文件的文件数据以及基于该第二位置,获取该待拷贝文件的元数据;基于该待拷贝文件的文件数据和该待拷贝文件的元数据,生成该目标拷贝文件。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种文件拷贝方法、装置、服务器及存储介质。
背景技术
目前,在分布式存储***中,进行文件拷贝时,先将原文件的元数据复制到新文件中,在基于复制的元数据获取原文件的文件数据,并将原文件的文件数据复制到新文件中,已完成对原文件的拷贝,得到的新文件即为拷贝后的文件。
但是,上述方法中,由于一些文件的元数据较多,先复制完原文件的元数据后,再复制原文件的文件数据,存在文件拷贝速度较慢、效率较低的问题。
发明内容
本申请提供一种文件拷贝方法、装置、服务器及存储介质,解决了相关技术中,一些文件的元数据较多,先复制完原文件的元数据后,再复制原文件的文件数据,文件拷贝速度较慢、效率较低的技术问题。
第一方面,本申请提供一种文件拷贝方法,包括:获取终端发送的文件拷贝请求,该文件拷贝请求中包括待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间;基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定第一位置和第二位置,该第一位置为该待拷贝文件的文件数据的存储位置,该第二位置为该待拷贝文件的元数据的存储位置,该待拷贝文件的元数据用于表征该待拷贝文件的属性信息,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理;基于该第一位置,获取该待拷贝文件的文件数据,以及基于该第二位置,获取该待拷贝文件的元数据;基于该待拷贝文件的文件数据和该待拷贝文件的元数据,生成目标拷贝文件。
可选地,基于该待拷贝文件的文件数据和该待拷贝文件的元数据,生成该目标拷贝文件,包括:将该待拷贝文件的文件数据写入该目标拷贝文件的文件数据中,并且将该待拷贝文件的目标元数据写入该目标拷贝文件的元数据中,该目标元数据包括该待拷贝文件的元数据的属性信息中除该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间以外的属性信息。
本申请中,服务器将待拷贝文件的文件数据写入目标拷贝文件的文件数据中,可以使得该目标拷贝文件和该待拷贝文件之间的文件数据相同数据,服务器将待拷贝文件的目标元数据写入目标拷贝文件的元数据中,而该目标元数据包括该待拷贝文件的元数据的属性信息中除该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间以外的属性信息,可以使得该目标拷贝文件的元数据中除文件名称、位置以及创建时间外的其他属性信息和待拷贝文件一致,如此,即可完成对该待拷贝文件的拷贝。
可选地,上述方法还包括:将第一操作添加至目标映射队列中,该第一操作为该将该待拷贝文件的目标元数据写入该目标拷贝文件的元数据,该目标映射队列用于指示一个或者多个操作各自对应的文件;接收该终端发送的服务请求,该服务请求用于请求对该目标拷贝文件的元数据进行处理;在第一操作未完成的情况下,将该服务请求添加至请求等待队列中,该请求等待队列用于在一个文件的当前操作未执行完毕时存储下一个已经到来的服务请求;在该第一操作完成的情况下,将该服务请求从该请求等待队列中删除并且将该第一操作从该目标映射队列中删除并且将第二操作添加至该目标映射队列,该第二操作为基于该服务请求对该目标拷贝文件进行处理;基于该目标映射队列,执行该第二操作。
本申请中,服务器将第一操作添加至目标映射队列中,终端向服务器发送服务请求,服务器接收终端发送的服务请求,在第一操作未完成的情况下,若同时执行该服务请求,由于该第一操作和该服务请求同时对该目标拷贝文件的元数据进行处理,可能存在冲突,此时,服务器将该服务请求添加至请求等待队列中,即暂时不执行该服务请求,在第一操作完成的情况下,不会发生同时执行该第一操作和该服务请求的情况,即不会存在操作冲突,此时,服务器基于服务请求,对目标拷贝文件进行处理,同时,由于该请求等待队列用于在上一个操作未执行完毕时存储下一个已经到来的服务请求,在该服务请求被执行时,服务器将服务请求从请求等待队列中删除以避免服务器重复在请求等待队列中获取该服务请求,由于第二操作位于目标映射队列中,而该目标映射队列用于指示一个或者多个操作各自对应的文件,因此,服务器可以基于目标映射队列,确定出该服务请求是请求对该目标拷贝文件进行处理,进而服务器该第二操作,即服务器对该目标拷贝文件执行该第二操作,如此,能够保证在同时获取待拷贝文件的文件数据和元数据,以及生成目标拷贝文件的时候不会因为同时操作的而导致操作冲突,保证快速拷贝文件的同时可靠地保证了对于目标拷贝文件的访问和管理的有效性。
可选地,上述文件拷贝请求中还包括该待拷贝文件所属的文件***,该待拷贝文件所属的文件***为异步文件***或者同步文件***,该方法还包括:在该待拷贝文件所属的文件***为同步文件***的情况下,基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定该第二位置;基于该第二位置获取该待拷贝文件的元数据;基于该待拷贝文件的元数据获取该待拷贝文件的文件数据。
本申请中,在待拷贝文件所属的文件***为同步文件***的情况下,说明用户选择不对该待拷贝文件进行异步拷贝操作,此时,服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定该第二位置,即该待拷贝元数据的存储位置,服务器基于第二位置获取待拷贝文件的元数据,由于该待拷贝文件的元数据用于表征该待拷贝文件的属性信息,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理,说明该待拷贝文件的属性信息中(即该待拷贝文件的元数据中)包括该待拷贝文件的文件数据的存储位置,因此服务器可以基于该待拷贝元数据获取到该待拷贝文件数据,进而能够基于该待拷贝元数据和该待拷贝文件数据生成该目标拷贝文件,进而保证了文件拷贝的灵活性和自选择性。
第二方面,本申请提供一种文件拷贝装置,包括:获取模块、确定模块以及处理模块;该获取模块,用于获取终端发送的文件拷贝请求,该文件拷贝请求中包括待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间;该确定模块,用于基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定第一位置和第二位置,该第一位置为该待拷贝文件的文件数据的存储位置,该第二位置为该待拷贝文件的元数据的存储位置,该待拷贝文件的元数据用于表征该待拷贝文件的属性信息,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理;该获取模块,还用于基于该第一位置,获取该待拷贝文件的文件数据,以及基于该第二位置,获取该待拷贝文件的元数据;该处理模块,用于基于该待拷贝文件的文件数据和该待拷贝文件的元数据,生成目标拷贝文件。
可选地,该处理模块,具体用于将该待拷贝文件的文件数据写入该目标拷贝文件的文件数据中,并且将该待拷贝文件的目标元数据写入该目标拷贝文件的元数据中,该目标元数据包括该待拷贝文件的元数据的属性信息中除该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间以外的属性信息。
可选地,该装置还包括接收模块;该处理模块,还用于将该第一操作添加至目标映射队列中,该第一操作为该将该待拷贝文件的目标元数据写入该目标拷贝文件的元数据,该第一操作对应该目标拷贝文件,该目标映射队列用于指示一个或者多个操作各自对应的文件;该接收模块,用于接收该终端发送的服务请求,该服务请求用于请求对该目标拷贝文件的元数据进行处理;该处理模块,还用于在该第一操作未完成的情况下,将该服务请求添加至请求等待队列中,该请求等待队列用于在一个文件的当前操作未执行完毕时存储下一个已经到来的服务请求;该处理模块,还用于在该第一操作完成的情况下,将该服务请求从该请求等待队列中删除并且将该第一操作从该目标映射队列中删除并且将第二操作添加至该目标映射队列,该第二操作为基于该服务请求对该目标拷贝文件进行处理;该处理模块,还用于基于该目标映射队列,执行该第二操作。
可选地,上述文件拷贝请求中还包括该待拷贝文件所属的文件***,该待拷贝文件所属的文件***为异步文件***或者同步文件***;该确定模块,还用于在该待拷贝文件所属的文件***为同步文件***的情况下,基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定该第二位置;所述获取模块,还用于基于该第二位置获取该待拷贝文件的元数据;该获取模块,还用于基于该待拷贝文件的元数据获取该待拷贝文件的文件数据。
第三方面,本申请提供一种服务器,包括:处理器和被配置为存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地文件拷贝方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当该计算机可读存储介质中的指令由服务器执行时,使得该服务器能够执行上述第一方面中任一种可选地文件拷贝方法。
本申请提供的文件拷贝方法、装置、服务器及存储介质,终端向服务器发送文件拷贝请求,服务器获取终端发送的文件拷贝请求,服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定第一位置和第二位置,服务器基于第一位置,获取待拷贝文件的文件数据;服务器基于第二位置,获取待拷贝文件的元数据,服务器基于待拷贝文件的文件数据和待拷贝文件的元数据,生成目标拷贝文件,如此,不需要先获取待拷贝文件的元数据再获取待拷贝文件的文件数据,能够同时获取到待拷贝文件的文件数据和元数据,进而快速、准确地生成待拷贝文件对应的目标拷贝文件,保证了文件拷贝的速度和效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的文件拷贝***的网络架构示意图;
图2为本申请实施例提供的一种文件拷贝方法的流程示意图;
图3为本申请实施例提供的另一种文件拷贝方法的流程示意图;
图4为本申请实施例提供的另一种文件拷贝方法的流程示意图;
图5为本申请实施例提供的另一种文件拷贝方法的流程示意图;
图6为本申请实施例提供的一种服务器的内部结构示意图;
图7为本申请实施例提供的上述目标映射队列以及上述请求等待队列的结构示意图;
图8为本申请实施例提供的一种文件拷贝装置的结构示意图;
图9为本申请实施例提供的另一种文件拷贝装置的结构示意图。
具体实施方式
下面将结合附图对本申请实施例提供的文件拷贝方法、装置、服务器及存储介质进行详细的描述。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,例如,第一操作和第二操作等是用于区别不同的操作,而不是用于描述操作的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
基于背景技术中所描述,由于相关技术中,通常都会对应用程序的数据进行定期的备份,对数据集目录进行拷贝来完成。拷贝命令流程会先创建新文件,然后再通过读写复制文件数据。对于拷贝包含大量数据的目录集往往需要比较多的时间,尤其在像AI、机器学习的业务中,应用数据集往往都是含有大量小文件的目录,对于小文件,文件数据拷贝占用时间比较少,大量小文件的创建时间占比较高。基于此,本申请实施例提供一种文件拷贝方法、装置、服务器及存储介质,不需要先获取待拷贝文件的元数据再获取待拷贝文件的文件数据,能够同时获取到待拷贝文件的文件数据和元数据,进而快速、准确地生成待拷贝文件对应的目标拷贝文件,保证了文件拷贝的速度和效率。
本申请实施例提供的一种文件拷贝方法、装置、服务器及存储介质可以应用于文件拷贝***,如图1所示,该文件拷贝***包括终端101、服务器102以及存储设备103。通常,在实际应用中上述各个设备之间的连接可以为无线连接,为了方便直观地表示各个设备之间的连接关系,图1中采用实线示意。
其中终端101,用于向服务器102发送文件处理请求,以访问或者管理存储在存储设备103中的文件,该文件处理请求为文件拷贝请求、文件删除请求或者文件修改请求等。
服务器102,用于接收终端101发送的文件处理请求,并且基于该文件处理请求对存储在存储设备103中的文件进行处理。
存储设备103,用于存储一个或者多个文件,其中,一个文件中包括该文件的元数据和该文件的文件数据,该文件的元数据用于表征该文件的属性信息,该文件的属性信息用于指示对该文件的文件数据进行访问和管理。
示例性的,执行本申请实施例提供的文件拷贝方法的终端可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备,本申请实施例对终端的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
示例性的,执行本申请实施例提供的文件拷贝方法的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例提供的文件拷贝方法、装置、服务器及存储介质,应用于在分布式存储***中进行快速文件拷贝的场景。具体的,服务器可以同时对待拷贝文件的元数据和该待拷贝文件的文件数据同时进行拷贝,以快速、准确地得到待拷贝文件对应的拷贝文件,完成对待拷贝文件的拷贝。
如图2所示,本申请实施例提供的文件拷贝方法可以包括S101-S105。
S101、终端向服务器发送文件拷贝请求。
其中,该文件拷贝请求中包括待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间。
可选地,终端通过cephFS(分布式文件***,ceph file storage,为ceph(分布式存储***)的一个子***,用于进行文件的存储、访问以及管理)向服务器发送文件拷贝请求。
S102、服务器获取终端发送的文件拷贝请求。
在本申请实施例的一种实现方式中,服务器接收到终端发送的文件拷贝请求后,先创建新文件,从存储设备中读取待拷贝文件的文件数据和该待拷贝文件的元数据(具体的,该待拷贝文件的文件数据和该待拷贝文件的元数据均存储在rados中,rados为分布式对象存储***,由多个OSD(object storage cluster,对象存储集群,用于管理一个磁盘空间存储的数据)组成。),并将该待拷贝文件的文件数据和该待拷贝文件的元数据写入到新文件中,完成待拷贝文件的拷贝。
可选地,上述数据按照顾一块4M字节的存储块,存储在rados中。
可选地,服务器中包括MDS(metadata server cluster,元数据服务器,用于缓存和同步分布式元数据),上述待拷贝文件的元数据的读取和写入由MDS完成。
在本申请实施例的一种实现方式中,创建新文件由服务器中的异步化操作模块完成。
S103、服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定第一位置和第二位置。
其中,该第一位置为该待拷贝文件的文件数据的存储位置,该第二位置为该待拷贝文件的元数据的存储位置,该待拷贝文件的元数据用于表征该待拷贝文件的属性信息,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理。
在本申请实施例的一种实现方式中,服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,生成该待拷贝文件的文件句柄,该文件句柄用于指示该待拷贝文件的文件数据的存储位置,服务器基于待拷贝文件的文件名称获取该待拷贝文件的元数据的存储位置。
可选地,上述MDS包括元数据处理模块和缓存模块,服务器将该文件句柄缓存在服务器的内存中,同时向该MDS发送文件创建请求,该MDS中的元数据处理模块基于该文件创建请求和该待拷贝文件的元数据,生成新文件的元数据。
在本申请实施例的一种实现方式中,上述缓存模块还将缓存在MDS内存中的该新文件的元数据存储在rados中,即完成新文件的元数据的持久化。
在本申请实施例的一种实现方式中,上述缓存模块将新文件的元数据缓存在该MDS内存中时,服务器生成与该新文件对应的journal日志,以保证元数据操作的事务性。
S104、服务器基于第一位置,获取待拷贝文件的文件数据,以及服务器基于第二位置,获取待拷贝文件的元数据。
在本申请实施例的一种实现方式中,服务器中的MDS基于待拷贝元数据的存储位置,从上述rados中获取待拷贝文件的元数据,服务器基于该待拷贝文件数据的存储位置,从上述rados中获取待拷贝文件的文件数据。
S105、服务器基于待拷贝文件的文件数据和待拷贝文件的元数据,生成目标拷贝文件。
应理解,该目标拷贝文件中包括该目标拷贝文件的文件数据和该目标拷贝文件的元数据。
结合图2,如图3所示,在一种实现方式中,上述服务器基于待拷贝文件的文件数据和待拷贝文件的元数据,生成目标拷贝文件,包括S1051。
S1051、服务器将待拷贝文件的文件数据写入目标拷贝文件的文件数据中,并且将待拷贝文件的目标元数据写入目标拷贝文件的元数据中。
其中,该目标元数据包括该待拷贝文件的元数据的属性信息中除该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间以外的属性信息。
应理解,服务器将待拷贝文件的文件数据写入目标拷贝文件的文件数据中,可以使得该目标拷贝文件和该待拷贝文件之间的文件数据相同数据,服务器将待拷贝文件的目标元数据写入目标拷贝文件的元数据中,而该目标元数据包括该待拷贝文件的元数据的属性信息中除该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间以外的属性信息,可以使得该目标拷贝文件的元数据中除文件名称、位置以及创建时间外的其他属性信息和待拷贝文件一致,如此,即可完成对该待拷贝文件的拷贝。
可以理解的是,该由于该目标拷贝文件的文件名称、该目标拷贝文件的位置以及该目标拷贝文件的文件创建时间均和该待拷贝文件不同,因此,服务器将该目标元数据写入该目标拷贝文件的元数据中,而不是将该待拷贝文件的全部元数据写入该目标拷贝文件的元数据中。
上述实施例提供的技术方案至少能够带来以下有益效果:由S101-S105可知:终端向服务器发送文件拷贝请求,服务器获取终端发送的文件拷贝请求,服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定第一位置和第二位置,服务器基于第一位置,获取待拷贝文件的文件数据;服务器基于第二位置,获取待拷贝文件的元数据,服务器基于待拷贝文件的文件数据和待拷贝文件的元数据,生成目标拷贝文件,如此,不需要先获取待拷贝文件的元数据再获取待拷贝文件的文件数据,能够同时获取到待拷贝文件的文件数据和元数据,进而快速、准确地生成待拷贝文件对应的目标拷贝文件,保证了文件拷贝的速度和效率。
结合图3,如图4所示,在一种实现方式中,上述文件拷贝方法还包括S106-S111。
S106、服务器将第一操作添加至目标映射队列中。
其中,该第一操作为该将该待拷贝文件的目标元数据写入该目标拷贝文件的元数据,该目标映射队列用于指示一个或者多个操作各自对应的文件。
示例性的,该目标映射队列基于键值对的形式存储该目标拷贝文件对应的操作。
可选地,该目标映射队列中包括至少一个服务请求和每个服务请求各自对应的哈希值,一个服务请求对应的哈希值用于表征一个文件的路径名称,一个文件的路径名称用于表征该文件的存储位置。
可以理解的是,服务器将该第一操作添加至操作映射队列中,该操作映射队列用于指示一个或者多个操作各自对应的文件,如此,服务器可以基于该操作映射队列确定出多个操作各自对应的文件。
S107、终端向服务器发送服务请求。
其中,该服务请求用于请求对该目标拷贝文件的元数据进行处理。
可选地,该服务请求用于请求对该目标拷贝文件的元数据进行处理的方式可以为访问、删除以及修改等。
S108、服务器接收终端发送的服务请求。
S109、在第一操作未完成的情况下,服务器将服务请求添加至请求等待队列中。
其中,该请求等待队列用于在一个文件的当前操作未执行完毕时存储下一个已经到来的服务请求对应的操作。
应理解,在该第一操作未完成的情况下,若同时执行该服务请求,由于该第一操作和该服务请求同时对该目标拷贝文件的元数据进行处理,可能存在冲突,此时,服务器将该服务请求添加至请求等待队列中,即暂时不执行该服务请求。
示例性的,假设该第一操作用于删除该目标拷贝文件的元数据,该第一操作未完成即尚未将该待拷贝文件的元数据写入该目标拷贝文件的元数据,此时,不存在该目标拷贝文件的元数据,则无法执行该第一操作,即为同时执行该第一操作和该服务请求,会导致冲突。
S110、在第一操作完成的情况下,将服务请求从请求等待队列中删除并且将第一操作从目标映射队列中删除并且将第二操作添加至目标映射队列。
其中,该第二操作为基于该服务请求对该目标拷贝文件进行处理。
结合上述S109,应理解,在该第一操作完成的情况下,不会发生同时执行该第一操作和该服务请求的情况,即不会存在操作冲突,此时,服务器基于服务请求,对目标拷贝文件进行处理,同时,由于该请求等待队列用于在一个文件的当前操作未执行完毕时存储下一个已经到来的服务请求对应的操作,在该服务请求被执行时,服务器将服务请求从请求等待队列中删除以避免服务器重复在请求等待队列中获取该服务请求。
S111、服务器基于目标映射队列,执行第二操作。
可以理解的是,由于第二操作位于目标映射队列中,而该目标映射队列用于指示一个或者多个操作各自对应的文件,因此,服务器可以基于目标映射队列,确定出该服务请求是请求对该目标拷贝文件进行处理,进而服务器该第二操作,即服务器对该目标拷贝文件执行该第二操作。
在本申请实施例的一种实现方式中,第一操作由上述服务器中的MDS完成,在该第一操作完成时,该MDS向服务器发送第一操作完成响应,服务器唤醒该请求等待队列中的服务请求,以进行后续步骤。
本申请实施例中,服务器将第一操作添加至目标映射队列中,终端向服务器发送服务请求,服务器接收终端发送的服务请求,在第一操作未完成的情况下,若同时执行该服务请求,由于该第一操作和该服务请求同时对该目标拷贝文件的元数据进行处理,可能存在冲突,此时,服务器将该服务请求添加至请求等待队列中,即暂时不执行该服务请求,在第一操作完成的情况下,不会发生同时执行该第一操作和该服务请求的情况,即不会存在操作冲突,此时,服务器基于服务请求,对目标拷贝文件进行处理,同时,由于该请求等待队列用于在上一个操作未执行完毕时存储下一个已经到来的服务请求,在该服务请求被执行时,服务器将服务请求从请求等待队列中删除以避免服务器重复在请求等待队列中获取该服务请求,由于第二操作位于目标映射队列中,而该目标映射队列用于指示一个或者多个操作各自对应的文件,因此,服务器可以基于目标映射队列,确定出该服务请求是请求对该目标拷贝文件进行处理,进而服务器该第二操作,即服务器对该目标拷贝文件执行该第二操作,如此,能够保证在同时获取待拷贝文件的文件数据和元数据,以及生成目标拷贝文件的时候不会因为同时操作的而导致操作冲突,保证快速拷贝文件的同时可靠地保证了对于目标拷贝文件的访问和管理的有效性。
在本申请实施例的一种实现方式中,上述文件拷贝请求中还包括上述待拷贝文件所属的文件***,该待拷贝文件所属的文件***为异步文件***或者同步文件***。结合图1,如图5所示,在一种实现方式中,上述文件拷贝方法还包括S112-S114。
S112、在待拷贝文件所属的文件***为同步文件***的情况下,基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定第二位置。
应理解,在待拷贝文件所属的文件***为异步文件***的情况下,说明用户选择对该待拷贝文件进行异步拷贝操作,即用户选择使用同时获取待拷贝文件的文件数据和待拷贝文件的元数据,并生成目标拷贝文件的方式,此时,服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定上述第一位置和该第二位置;在待拷贝文件所属的文件***为同步文件***的情况下,说明用户选择不对该待拷贝文件进行异步拷贝操作,此时,服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定该第二位置,即该待拷贝元数据的存储位置。
在本申请实施例的一种实现方式中,服务器基于ceph fs set<filesystem>async命令设置文件***创建操作异步化;具体的,服务器修改fsmap(包含多个文件***属性的映射拓扑图),并且由monitor(用于存储集群的拓扑图)通过paxos协议将该fsmap同步到每个集群;服务器基于该fsmap,判断用户请求中请求的文件所属的文件***,如果属于异步化的文件***,则创建文件请求进行异步化处理,否则进行同步化处理(即在待拷贝文件所属的文件***为同步文件***的情况下,服务器基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定该待拷贝元数据的存储位置,服务器基于该待拷贝元数据的存储位置获取该待拷贝元数据,并基于该待拷贝元数据获取到该待拷贝文件数据,进而基于该待拷贝元数据和该待拷贝文件数据生成该目标拷贝文件)。
S113、服务器基于第二位置获取待拷贝文件的元数据。
S114、服务器基于待拷贝文件的元数据,获取待拷贝文件的文件数据。
结合上述S112,应理解,在待拷贝文件所属的文件***为同步文件***的情况下,服务器基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定该待拷贝元数据的存储位置,服务器基于该待拷贝元数据的存储位置获取该待拷贝元数据,由于该待拷贝文件的元数据用于表征该待拷贝文件的属性信息,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理,因此服务器可以基于该待拷贝元数据获取到该待拷贝文件数据,进而能够基于该待拷贝元数据和该待拷贝文件数据生成该目标拷贝文件,进而保证了文件拷贝的灵活性和自选择性。
可以理解的是,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理,说明该待拷贝文件的属性信息中(即该待拷贝文件的元数据中)包括该待拷贝文件的文件数据的存储位置,如此,服务器可以基于该待拷贝文件的文件数据的存储位置对该待拷贝文件的文件数据进行访问。
具体的,服务器从该待拷贝文件的元数据中,获取该待拷贝文件的文件数据的存储位置,并基于该待拷贝文件的文件数据的存储位置,获取该待拷贝文件的文件数据。
本申请实施例中,在待拷贝文件所属的文件***为同步文件***的情况下,说明用户选择不对该待拷贝文件进行异步拷贝操作,此时,服务器基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定该第二位置,即该待拷贝元数据的存储位置,服务器基于第二位置获取待拷贝文件的元数据,由于该待拷贝文件的元数据用于表征该待拷贝文件的属性信息,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理,说明该待拷贝文件的属性信息中(即该待拷贝文件的元数据中)包括该待拷贝文件的文件数据的存储位置,因此服务器可以基于该待拷贝元数据获取到该待拷贝文件数据,进而能够基于该待拷贝元数据和该待拷贝文件数据生成该目标拷贝文件,进而保证了文件拷贝的灵活性和自选择性。
如图6所示,为本申请实施例提供的一种服务器的内部结构示意图,包括主服务器模块、MDS模块以及rados模块。
其中,主服务器模块包括异步请求模块和主服务器缓存模块,该异步请求模块用于基于待拷贝文件的文件名称、待拷贝文件的位置以及待拷贝文件的创建时间,确定待拷贝文件数据的存储位置,并且该异步请求模块用于向MDS模块发送元数据构建请求,以构建上述目标拷贝文件的元数据,该主服务器缓存模块用于缓存该待拷贝文件数据的存储位置,并且主服务器缓存模块还用于缓存该目标拷贝文件的元数据以及将该待拷贝文件数据的存储位置,该主服务器模块同时还用于基于该待拷贝文件数据的存储位置,获取该待拷贝文件数据,如此,服务器可以生成该目标拷贝文件的元数据和该目标拷贝文件的文件数据。
MDS模块包括元数据处理模块和MDS缓存模块,该元数据处理模块用于构建该目标拷贝文件的元数据,该MDS缓存模块用于将该目标拷贝文件的元数据存储在该MDS的内存中,并且该MDS缓存模块用于向主服务器缓存模块发送该目标拷贝文件的元数据,该MDS缓存模块还用于将该目标拷贝文件的元数据存储在rados模块中,以实现该目标拷贝文件的持久化。
rados模块,用于存储上述目标拷贝文件的文件数据、该目标拷贝文件的元数据、该待拷贝文件数据以及该待拷贝元数据,并且提供文件数据或者元数据的读取、写入或者删除服务。
如图7所示,为本申请实施例提供的上述目标映射队列、上述请求等待队列的结构示意图。
其中目标映射队列中包括多个文件以及每个文件各自对应的操作。
该请求等待队列中包括多个服务请求,其中,一个服务请求中包括该服务请求的操作、该服务请求的处理文件以及该服务请求的请求时间,该请求等待队列中该多个服务请求按照时间顺序排列。
应理解,在目标映射队列中的一个文件的操作完成时,服务器从该请求等待队列中获取该文件对应的服务请求,在该文件对应的多个服务请求时,服务器从该文件对应的多个服务请求中,获取最早的一个服务请求,并且服务器基于该服务请求,确定该服务请求对应的操作并将该操作添加到该目标映射队列中,该操作在该目标映射队列中位于与该文件对应的位置上。
本申请实施例可以根据上述方法示例对服务器等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的文件拷贝装置的一种可能的结构示意图,如图8所示,文件拷贝装置20可以包括:获取模块201、确定模块202以及处理模块203。
获取模块201,用于获取终端发送的文件拷贝请求,该文件拷贝请求中包括待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间。
确定模块202,用于基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定第一位置和第二位置,该第一位置为该待拷贝文件的文件数据的存储位置,该第二位置为该待拷贝文件的元数据的存储位置,该待拷贝文件的元数据用于表征该待拷贝文件的属性信息,该待拷贝文件的属性信息用于指示对该待拷贝文件的文件数据进行访问和管理。
获取模块201,还用于基于该待拷贝文件数据的存储位置,获取该待拷贝文件的文件数据,以及基于该待拷贝元数据的存储位置,获取该待拷贝文件的元数据。
处理模块203,用于基于该待拷贝文件的文件数据和该待拷贝文件的元数据,生成目标拷贝文件。
可选地,处理模块203,具体用于将该待拷贝文件的文件数据写入该目标拷贝文件的文件数据中,并且将该待拷贝文件的目标元数据写入该目标拷贝文件的元数据中,该目标元数据包括该待拷贝文件的元数据的属性信息中除该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间以外的属性信息。
可选地,上述装置还包括接收模块204。
处理模块203,还用于将该第一操作添加至目标映射队列中,该第一操作为该将该待拷贝文件的目标元数据写入该目标拷贝文件的元数据,该第一操作对应该目标拷贝文件,该目标映射队列用于指示一个或者多个操作各自对应的文件。
接收模块204,用于接收该终端发送的服务请求,该服务请求用于请求对该目标拷贝文件的元数据进行处理。
处理模块203,还用于在该第一操作未完成的情况下,将该服务请求添加至请求等待队列中,该请求等待队列用于在一个文件的当前操作未执行完毕时存储下一个已经到来的服务请求。
处理模块203,还用于在该第一操作完成的情况下,将该服务请求从该请求等待队列中删除并且将该第一操作从该目标映射队列中删除并且将第二操作添加至该目标映射队列,该第二操作为基于该服务请求对该目标拷贝文件进行处理,该第二操作对应该目标拷贝文件。
处理模块203,还用于基于该目标映射队列,执行该第二操作。
可选地,上述文件拷贝请求中还包括该待拷贝文件所属的文件***,该待拷贝文件所属的文件***为异步文件***或者同步文件***。
确定模块202,还用于在该待拷贝文件所属的文件***为同步文件***的情况下,基于该待拷贝文件的文件名称、该待拷贝文件的位置以及该待拷贝文件的创建时间,确定该第二位置。
获取模块201,还用于基于该第二位置获取该待拷贝文件的元数据。
获取模块201,还用于基于该待拷贝文件的元数据获取该待拷贝文件的文件数据。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的文件拷贝装置的一种可能的结构示意图。如图9所示,文件拷贝装置30可以包括:处理模块301和通信模块302。处理模块301可以用于对文件拷贝装置30的动作进行控制管理。通信模块302可以用于支持文件拷贝装置30与其他实体的通信。可选地,如图9所示,该文件拷贝装置30还可以包括存储模块303,用于存储文件拷贝装置30的程序代码和数据。
其中,处理模块301可以是处理器或控制器。通信模块302可以是收发器、收发电路或通信接口等。存储模块303可以是存储器。
其中,当处理模块301为处理器,通信模块302为收发器,存储模块303为存储器时,处理器、收发器和存储器可以通过总线连接。总线可以是外设部件互连标准(peripheralcomponent interconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户终端线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种文件拷贝方法,其特征在于,所述方法包括:
获取终端发送的文件拷贝请求,所述文件拷贝请求中包括待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间;
基于所述待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间,确定第一位置和第二位置,所述第一位置为所述待拷贝文件的文件数据的存储位置,所述第二位置为所述待拷贝文件的元数据的存储位置,所述待拷贝文件的元数据用于表征所述待拷贝文件的属性信息,所述待拷贝文件的属性信息用于指示对所述待拷贝文件的文件数据进行访问和管理;
基于所述第一位置,获取所述待拷贝文件的文件数据,以及基于所述第二位置,获取所述待拷贝文件的元数据;
基于所述待拷贝文件的文件数据和所述待拷贝文件的元数据,生成目标拷贝文件。
2.根据权利要求1所述的文件拷贝方法,其特征在于,基于所述待拷贝文件的文件数据和所述待拷贝文件的元数据,生成所述目标拷贝文件,包括:
将所述待拷贝文件的文件数据写入所述目标拷贝文件的文件数据中,并且将所述待拷贝文件的目标元数据写入所述目标拷贝文件的元数据中,所述目标元数据包括所述待拷贝文件的元数据的属性信息中除所述待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间以外的属性信息。
3.根据权利要求2所述的文件拷贝方法,其特征在于,所述方法还包括:
将第一操作添加至目标映射队列中,所述第一操作为所述将所述待拷贝文件的目标元数据写入所述目标拷贝文件的元数据,所述目标映射队列用于指示一个或者多个操作各自对应的文件;
接收所述终端发送的服务请求,所述服务请求用于请求对所述目标拷贝文件的元数据进行处理;
在第一操作未完成的情况下,将所述服务请求添加至请求等待队列中,所述请求等待队列用于在一个文件的当前操作未执行完毕时存储下一个已经到来的服务请求;
在所述第一操作完成的情况下,将所述服务请求从所述请求等待队列中删除并且将所述第一操作从所述目标映射队列中删除并且将第二操作添加至所述目标映射队列,所述第二操作为基于所述服务请求对所述目标拷贝文件进行处理;
基于所述目标映射队列,执行所述第二操作。
4.根据权利要求1-3中任一项所述的文件拷贝方法,其特征在于,所述文件拷贝请求中还包括所述待拷贝文件所属的文件***,所述待拷贝文件所属的文件***为异步文件***或者同步文件***,所述方法还包括:
在所述待拷贝文件所属的文件***为同步文件***的情况下,基于所述待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间,确定所述第二位置;
基于所述第二位置获取所述待拷贝文件的元数据;
基于所述待拷贝文件的元数据获取所述待拷贝文件的文件数据。
5.一种文件拷贝装置,其特征在于,包括:获取模块、确定模块以及处理模块;
所述获取模块,用于获取终端发送的文件拷贝请求,所述文件拷贝请求中包括待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间;
所述确定模块,用于基于所述待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间,确定第一位置和第二位置,所述第一位置为所述待拷贝文件的文件数据的存储位置,所述第二位置为所述待拷贝文件的元数据的存储位置,所述待拷贝文件的元数据用于表征所述待拷贝文件的属性信息,所述待拷贝文件的属性信息用于指示对所述待拷贝文件的文件数据进行访问和管理;
所述获取模块,还用于基于所述第一位置,获取所述待拷贝文件的文件数据,以及基于所述第二位置,获取所述待拷贝文件的元数据;
所述处理模块,用于基于所述待拷贝文件的文件数据和所述待拷贝文件的元数据,生成目标拷贝文件。
6.根据权利要求5所述的文件拷贝装置,其特征在于,
所述处理模块,具体用于将所述待拷贝文件的文件数据写入所述目标拷贝文件的文件数据中,并且将所述待拷贝文件的目标元数据写入所述目标拷贝文件的元数据中,所述目标元数据包括所述待拷贝文件的元数据的属性信息中除所述待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间以外的属性信息。
7.根据权利要求6所述的文件拷贝装置,其特征在于,所述装置还包括接收模块;
所述处理模块,还用于将第一操作添加至目标映射队列中,所述第一操作为所述将所述待拷贝文件的目标元数据写入所述目标拷贝文件的元数据,所述第一操作对应所述目标拷贝文件,所述目标映射队列用于指示一个或者多个操作各自对应的文件;
所述接收模块,用于接收所述终端发送的服务请求,所述服务请求用于请求对所述目标拷贝文件的元数据进行处理;
所述处理模块,还用于在所述第一操作未完成的情况下,将所述服务请求添加至请求等待队列中,所述请求等待队列用于在一个文件的当前操作未执行完毕时存储下一个已经到来的服务请求;
所述处理模块,还用于在所述第一操作完成的情况下,将所述服务请求从所述请求等待队列中删除并且将所述第一操作从所述目标映射队列中删除并且将第二操作添加至所述目标映射队列,所述第二操作为基于所述服务请求对所述目标拷贝文件进行处理;
所述处理模块,还用于基于所述目标映射队列,执行所述第二操作。
8.根据权利要求5-7中任一项所述的文件拷贝装置,其特征在于,所述文件拷贝请求中还包括所述待拷贝文件所属的文件***,所述待拷贝文件所属的文件***为异步文件***或者同步文件***;
所述确定模块,还用于在所述待拷贝文件所属的文件***为同步文件***的情况下,基于所述待拷贝文件的文件名称、所述待拷贝文件的位置以及所述待拷贝文件的创建时间,确定所述第二位置;
所述获取模块,还用于基于所述第二位置获取所述待拷贝文件的元数据;
所述获取模块,还用于基于所述待拷贝文件的元数据获取所述待拷贝文件的文件数据。
9.一种服务器,其特征在于,所述服务器包括:
处理器;
被配置为存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-4中任一项所述的文件拷贝方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由服务器执行时,使得所述服务器能够执行如权利要求1-4中任一项所述的文件拷贝方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560130.6A CN117370295A (zh) | 2023-11-21 | 2023-11-21 | 一种文件拷贝方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311560130.6A CN117370295A (zh) | 2023-11-21 | 2023-11-21 | 一种文件拷贝方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370295A true CN117370295A (zh) | 2024-01-09 |
Family
ID=89402455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311560130.6A Pending CN117370295A (zh) | 2023-11-21 | 2023-11-21 | 一种文件拷贝方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370295A (zh) |
-
2023
- 2023-11-21 CN CN202311560130.6A patent/CN117370295A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8510499B1 (en) | Solid state drive caching using memory structures to determine a storage space replacement candidate | |
JP6186015B2 (ja) | コンテンツアイテムの共有 | |
CN111309732B (zh) | 数据处理方法、装置、介质和计算设备 | |
CN103180842A (zh) | 云计算***和用于该云计算***的数据同步方法 | |
US9075722B2 (en) | Clustered and highly-available wide-area write-through file system cache | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN111158851B (zh) | 一种虚拟机快速部署方法 | |
CN113032099B (zh) | 云计算节点、文件管理方法及装置 | |
CN112866406B (zh) | 一种数据存储方法、***、装置、设备及存储介质 | |
KR20210040864A (ko) | 파일 디렉터리 순회 방법, 장치, 기기, 매체 및 컴퓨터 프로그램 | |
CN112256676A (zh) | 一种数据库迁移的方法、装置、设备和介质 | |
CN114637703B (zh) | 数据访问装置、方法、可读介质和电子设备 | |
CN113806300A (zh) | 数据存储方法、***、装置、设备及存储介质 | |
CN114610680A (zh) | 分布式文件***元数据管理方法、装置、设备及存储介质 | |
KR101419275B1 (ko) | 클라우드 스토리지 기반의 데이터 동기화 및 서비스 제공 장치와 방법 | |
CN115827778A (zh) | 一种数据获取方法、装置、电子设备及存储介质 | |
CN116049144A (zh) | 一种数据存储方法、数据读取方法、装置及电子设备 | |
CN117370295A (zh) | 一种文件拷贝方法、装置、服务器及存储介质 | |
CN107526530B (zh) | 数据处理方法和设备 | |
CN115525618A (zh) | 存储集群、数据存储方法、***及存储介质 | |
CN109857719B (zh) | 分布式文件处理方法、装置、计算机设备以及存储介质 | |
CN111488324A (zh) | 一种基于消息中间件的分布式网络文件***及其工作方法 | |
CN114676093B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN114422538B (zh) | 多云存储***、多云数据读写方法及电子设备 | |
CN117492644A (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 |