CN111694808A - 一种数据处理方法、装置及计算设备 - Google Patents
一种数据处理方法、装置及计算设备 Download PDFInfo
- Publication number
- CN111694808A CN111694808A CN201910197350.4A CN201910197350A CN111694808A CN 111694808 A CN111694808 A CN 111694808A CN 201910197350 A CN201910197350 A CN 201910197350A CN 111694808 A CN111694808 A CN 111694808A
- Authority
- CN
- China
- Prior art keywords
- directory
- node
- identification information
- generating
- thread
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000006243 chemical reaction Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 40
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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/18—File system types
- G06F16/182—Distributed 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
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示出了根据本发明一个实施例的分布式文件***100的架构图;
图2示出了根据本发明一个实施例的目录结构的示意图;
图3示出了根据本发明一个实施例的计算设备300的示意图;
图4示出了根据本发明一个实施例的数据处理方法400的流程图;
图5示出了根据本发明一个实施例的数据处理方法500的流程图;
图6示出了根据本发明一个实施例的数据处理方法600的流程图;
图7示出了根据本发明一个实施例的数据处理装置700的结构框图;以及
图8示出了根据本发明一个实施例的数据处理装置800的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的分布式文件***100的示意图。如图1所示,分布式文件***100包括多个数据节点120和元数据节点140。其中,分布式文件***100在多个数据节点120之中存储有文件及其副本,然后它们作为单一的文件***被访问。这样,该单一文件***可以快速稳定地响应对存储在该分布式文件***100中的文件的多个访问请求。
元数据节点140则存储有元数据,并负责处理与元数据相关的请求和权限管理。元数据节点140一般为主从模式(Master-Slave)或者复制集模式(Replica Sets),即包括主节点142(Primary Master)和至少一个备用节点144(Secondary Master)。备用节点144存储有主节点142所存储的数据的副本。也就是说,备用节点144和主节点142存储有相同的数据。一般来说,主节点142和备用节点144之间可以通过操作日志(oplog,operation log)来实现数据同步,保持数据一致。
分布式文件***100还可以包括客户端110。客户端110可以对主节点142发送操作请求,以请求进行例如写入数据或者读取数据之类的操作。当主节点142执行相应操作时,主节点142会将操作记录在主节点的操作日志中。而后备用节点144可以从主节点142获取主节点的操作日志(例如通过定期轮询来获取),对所存储的相应数据副本执行操作日志所记录的操作,从而实现复制主节点上数据的功能,保证备用节点上的数据与主节点上的数据一致。当然,备用节点144还可以从已获取到主节点142的操作日志的其他备用节点处获取主节点142的操作日志。
典型的元数据为目录结构。可以理解地,文件***可能会包括上千上万个目录(即文件夹)。多个文件通过存储在一个目录中,可以达到有组织地存储文件的目的。在一个目录中的另一个目录被称作该目录的子目录(即子文件夹)。这样,这些目录和文件就构成了具有层级关系的、呈现为树状结构的目录结构(即目录树)。如图2所示,目录结构包括多个目录节点。这多个目录节点包括对应于目录的目录节点(例如图2所示的目录节点“a/”)和对应于文件的目录节点(例如图2所示的目录节点“f”)。
根据本发明的实施方式,主节点142存储有第一目录结构,备用节点144存储有第二目录结构,此第二目录结构为第一目录结构的副本。为便于描述,将第一目录结构的目录节点称为第一目录节点,将第二目录结构的目录节点称为第二目录节点。
如图1所示,主节点142中驻留有数据处理装置700,备用节点144中驻留有数据处理装置800。
数据处理装置700接收来自用户经由客户端110的目录结构转换请求。目录结构转换请求可以请求转换第一目录结构,使得第一目录节点具有标识信息。第一目录节点的标识信息用于在第一目录结构中唯一标识第一目录节点对应的目录或者文件。而后数据处理装置700可以响应于该目录结构转换请求,转换第一目录结构,并生成指示对第一目录结构进行转换的第一操作日志。
数据处理装置800获取第一操作日志,并重复第一操作日志所记录的操作,也就是转换第二目录结构,使得第二目录节点具有标识信息。这样,就保持了备用节点144与主节点142的数据一致。在下文结合图2-图8的描述中,将对数据处理装置700/800的结构和数据处理装置700/800执行的数据处理方法进行详细说明。
根据本发明的实施方式,分布式文件***100中的部件(例如各节点和客户端)可以通过诸如局域网(LAN)或者如因特网的广域网(WAN)的一个或多个网络进行通信,并均可以通过如下所述的计算设备300来实现。
图3示出了根据本发明一个实施例的计算设备300的示意图。如图3所示,在基本的配置302中,计算设备300典型地包括***存储器306和一个或者多个处理器304。存储器总线308可以用于在处理器304和***存储器306之间的通信。
取决于期望的配置,处理器304可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器304可以包括诸如一级高速缓存310和二级高速缓存312之类的一个或者多个级别的高速缓存、处理器核心314和寄存器316。示例的处理器核心314可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器318可以与处理器304一起使用,或者在一些实现中,存储器控制器318可以是处理器304的一个内部部分。
取决于期望的配置,***存储器306可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。***存储器306可以包括操作***320、一个或者多个应用322以及程序数据324。在一些实施方式中,应用322可以布置为在操作***上由一个或多个处理器304利用程序数据324执行指令。
计算设备300还可以包括有助于从各种接口设备(例如,输出设备342、外设接口344和通信设备346)到基本配置302经由总线/接口控制器330的通信的接口总线340。示例的输出设备342包括图形处理单元348和音频处理单元350。它们可以被配置为有助于经由一个或者多个A/V端口352与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口344可以包括串行接口控制器354和并行接口控制器356,它们可以被配置为有助于经由一个或者多个I/O端口358和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备346可以包括网络控制器360,其可以被布置为便于经由一个或者多个通信端口364与一个或者多个其他计算设备362通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备300可以实现为服务器,例如数据库服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备300也可以实现为小尺寸便携(或者移动)电子设备的一部分。
在根据本发明的实施例中,计算设备300被实现为数据处理装置700和/或800,并被配置为执行根据本发明实施例的数据处理方法400和/或500。其中,计算设备300的应用322中包含执行根据本发明实施例的数据处理方法400和/或500的多条程序指令,而程序数据324还可以存储分布式文件***100的配置信息等。
图4示出了根据本发明一个实施例的数据处理方法400的流程图。方法400在上述数据处理装置700中执行。如图4所示,数据处理方法400始于步骤S420。
在步骤S420中,为主节点142所存储的第一目录结构的第一目录节点生成标识信息,以将第一目录节点转换为具有标识信息的目录节点。如前文所描述地,该标识信息用于在第一目录结构中唯一标识第一目录节点对应的目录或者文件。
在一些实施例中,可以采用单个线程为第一目录结构的第一目录节点生成标识信息。也就是,利用单个线程逐个地对第一目录结构的各目录节点进行转换。该线程可以在前台运行,也可以在后台运行以便不影响前台操作。
在一些实施例中,可以采用多个线程并行地为第一目录结构的第一目录节点生成标识信息,提高转换效率。
具体地,采用主线程遍历第一目录结构。其中,可以预先为主线程分配起始标识信息,并将主线程的起始标识信息作为第一目录结构的根目录节点的标识信息。
而后,对于遍历到的根目录节点下的目录节点,先为该目录节点生成标识信息,再判断遍历到的该目录节点是对应于目录还是对应于文件。如果该目录节点对应于目录,则接着判断位于该目录节点对应目录下的文件数量和/或子目录数量是否超过预定阈值,即判断位于该目录节点下的目录节点数量是否超过预定阈值。该预定阈值可以自定义配置,例如配置为2000。本发明对预定阈值的具体取值不做限制。如果该目录节点对应于文件,则继续遍历。
如果目录节点下仅存在子目录,则判断子目录数量是否超过预定阈值。如果目录节点下仅存在文件,则判断文件数量是否超过预定阈值。如果目录节点下存在子目录和文件,则判断子目录数量与文件数量之和是否超过预定阈值。
根据本发明的一个实施例,可以从对应于目录的目录节点的目录节点信息获取位于对应目录下的文件数量和/或子目录数量。通常地,目录结构中对应于目录的目录节点均具有目录节点信息,目录节点信息记录有以下中的至少一项:位于该目录节点对应目录下的子目录数量、位于该目录节点对应目录下的文件数量、各文件的长度等等。
如果位于所遍历到的目录节点对应目录下的文件数量和/或子目录数量超过预定阈值(即位于该目录节点下的目录节点数量超过预定阈值),则不再采用当前线程遍历该目录节点下的目录节点,而是采用新的线程遍历该目录节点下的目录节点,并在该新的线程中对所遍历到的目录节点重复上述为目录节点生成标识信息和判断位于对应目录下的文件数量和/或子目录数量是否超过预定数值的步骤。其中,新的线程是从上述目录节点下的目录节点开始遍历,因此该新的线程以上述目录节点的标识信息为起始标识信息。
如果位于所遍历到的目录节点对应目录下的文件数量和/或子目录数量不超过预定阈值(即位于该目录节点下的目录节点数量不超过预定阈值),则继续采用当前线程遍历该目录节点下的目录节点,并在当前线程中对所遍历到的目录节点重复上述为目录节点生成标识信息和判断位于对应目录下的文件数量和/或子目录数量是否超过预定数值的步骤。
下面详细描述每个线程中为所遍历到的目录节点生成标识信息的过程。
根据本发明的一个实施例,至少基于线程所遍历的上一个目录节点的标识信息,生成线程目前所遍历到的目录节点的标识信息。具体地,如果未采用新的线程来遍历上一个目录节点下的目录节点(例如上一个目录节点对应于目录且其下的目录节点数量未超过预定阈值,又例如上一个目录节点对应于文件或者是根目录节点),则根据该上一个目录节点的标识信息生成线程目前遍历到的目录节点的标识信息。如果采用新的线程来遍历该上一个目录节点下的目录节点(例如上一个目录节点对应于目录且其下的目录节点数量超过预定数值),那么根据该上一个目录节点的标识信息、以及位于该上一个目录节点对应目录下的文件数量和/或子目录数量(即位于该上一个目录节点下的目录节点数量),生成线程目前所遍历到的目录节点的标识信息。
在一些实施方式中,标识信息可以是数值(例如64位的整数),并可以单调递增。那么,如果采用新的线程来遍历该上一个目录节点下的目录节点,则可以将上一个目录节点的标识信息加上位于该上一个目录节点下的目录节点数量,再加1后得到线程目前所遍历到的目录节点的标识信息。如果未采用新的线程来遍历上一个目录节点下的目录节点,可以将上一个目录节点的标识信息加1后得到线程目前所遍历到的目录节点的标识信息。
其中,如果线程目前所遍历到的目录节点为线程所遍历的首个目录节点,即不存在上一个目录节点,则根据该线程的起始标识信息来生成该目录节点的标识信息。具体地,如果是除主线程之外的其他线程,则将该线程的起始标识信息加1即可得到该线程目前所遍历到的目录节点的标识信息。如果是主线程,如前文所描述地,主线程所遍历的首个目录节点为根目录节点,根目录节点的标识信息为主线程的起始标识信息。
下面以图2所示的目录结构为例来描述采用多个线程并行地生成标识信息的过程。假设预定阈值为2000,主线程的起始标识信息为0001(数值仅为示例)。首先,采用主线程Thread1对该目录结构进行遍历。主线程Thread1遍历到根目录节点“/”,将主线程的起始标识信息作为根目录节点“/”的标识信息。而后遍历到根目录节点“/”下对应于目录的目录节点“a/”,为目录节点“a/”生成标识信息。由于主线程Thread1所遍历的上一个目录节点为根目录节点“/”,则根据根目录节点“/”的标识信息生成目录节点“a/”的标识信息,也就是0001+1=0002。主线程Thread1再判断目录节点“a/”下的目录节点数量是否超过2000。目录节点“a/”下的目录节点数量为3000,已超过2000,则采用新的线程Thread2来遍历目录节点“a/”下的目录节点。主线程Thread1继续遍历到对应于目录的目录节点“b/”,为目录节点“b/”生成标识信息。由于主线程Thread1所遍历的上一个目录节点为目录节点“a/”,已采用新的线程Thread2来遍历目录节点“a/”下的目录节点,则根据目录节点“a/”的标识信息和目录节点“a/”下的目录节点数量来生成目录节点“b/”的标识信息,也就是0002+3000+1=3003。主线程Thread1再判断目录节点“b/”下的目录节点数量是否超过2000。目录节点“b/”下的目录节点数量未超过2000,则主线程Thread1继续遍历目录节点“b/”下的目录节点(例如目录节点“g/”)。依此类推。
与主线程Thread1并行地,新的线程Thread2对目录节点“a/”下的目录节点进行遍历,并以目录节点“a/”的标识信息0002为起始标识信息。线程Thread2遍历到对应于目录的目录节点“c/”,为目录节点“c/”生成标识信息。目录节点“c/”为线程Thread2所遍历的首个目录节点,则根据线程Thread2的起始标识信息来生成目录节点“c/”的标识信息,也就是0002+1=0003。目录节点“c/”下的目录节点数量未超过2000,线程Thread2继续遍历到对应于目录的目录节点“d/”,为目录节点“d/”生成标识信息。由于未采用新的线程来遍历目录节点“c/”下的目录节点,因此可以根据目录节点“c/”的标识信息生成目录节点“d/”的标识信息,也就是0003+1=0004。由于目录节点“d/”下的目录节点数量超过2000,则又采用新的线程Thread3来遍历目录节点“d/”下的目录节点,新的线程Thread3以目录节点“d/”的标识信息0004为起始标识信息。同时,线程Thread2继续遍历到对应于目录的目录节点“e/”。依次类推。在本发明的实施方式中,在为目录节点生成标识信息时,可以采用原子操作(atomic操作)来生成标识信息,以避免数值冲突。
在本发明的实施方式中,主节点142和备用节点144均采用内存池来分配内存。也就是说,第一目录结构的第一目录节点存储于主节点142的内存池所分配的内存中,第二目录结构的第二目录节点存储于备用节点144的内存池所分配的内存中。内存池记录有目录节点在内存池中的存储地址以及对应的地址标识。存储地址可以是逻辑地址、或者物理地址、或者逻辑地址和物理地址的对应关系。地址标识则用于指示目录节点在内存池中的存储地址。这样,目录结构可以通过记录目录节点的地址标识来记录该目录节点的存储地址。
在为第一目录结构的第一目录节点生成标识信息之后,还可以先向新的内存池申请内存来存储具有标识信息的第一目录节点。应当指出,目录节点在新的内存池中的地址标识与该目录节点在先前的内存池中的地址标识相同,这样可以避免修改原先所记录的地址标识。之后,释放先前的内存池所分配的用于存储该目录节点的内存。
在一些实施例中,可以每为一个目录节点生成标识信息、向新的内存池申请内存来存储该目录节点之后,就释放先前的内存池所分配的用于存储该目录节点的内存。也可以在为所有目录节点生成标识信息、向新的内存池申请内存来存储所有目录节点之后,再释放先前的内存池所分配的用于存储所有目录节点的内存。
随后,在步骤S440中,生成指示对第一目录结构进行转换的第一操作日志。这样,备用节点144可以基于该第一操作日志,为第二目录结构的第二目录节点生成标识信息,以将第二目录节点转换为具有标识信息的目录节点。此处的第一操作日志仅记录进行了转换操作,不记录为每个目录节点生成的标识信息。但由于备用节点144转换第二目录结构的具体步骤与主节点142转换第一目录结构的具体步骤相同,因此,第二目录节点的标识信息与对应第一目录节点的标识信息相同。
根据本发明的实施方式,在步骤S420之前,可以先对第一目录结构进行写操作的锁定,以拒绝除生成标识信息的线程之外的任何线程对第一目录结构的写操作,这样可以避免在生成标识信息时产生冲突。相应地,在步骤S420之后,可以解除对第一目录结构进行写操作的锁定。
在解除写操作的锁定之后,在本发明的一个实施方式中,可以接收请求在第一目录结构中创建新的文件或者目录的目录操作请求。目录操作请求可以由客户端110发送,并可以包括请求创建新文件的文件创建请求、请求创建新目录的目录创建请求、请求修改文件路径或目录路径从而导致创建新目录的路径修改请求等等。对此目录操作请求,可以响应于目录操作请求,在第一目录结构中创建相应目录节点,并为该相应目录节点生成标识信息。随后,生成指示创建相应目录节点,并包括相应标注信息的第二操作日志。这样,备用节点144可以基于第二操作日志,在第二目录结构中创建相应目录节点,并为相应目录节点生成第二操作日志所记录的相应标注信息。
根据本发明的实施例,由于标识信息是单调递增的整数,因此可以每生成标识信息,均记录当前标识信息。在为新创建的目录节点生成标识信息时,可以根据当前标识信息来生成。例如,在第一目录结构转换完成后,标识信息已经递增到8000,那么将8000加1来得到新生成的目录节点的标识信息,同时记录当前的标识信息。
图5示出了根据本发明一个实施例的数据处理方法500的流程图。方法500在上述数据处理装置800中执行。如图5所示,数据处理方法500始于步骤S520。
在步骤S520中,获取主节点142的第一操作日志。如前文所描述地,第一操作日志指示对主节点142所存储的第一目录结构进行转换,以将第一目录节点转换为具有标识信息的目录节点。
而后,在步骤S540中,可以基于该第一操作日志,为备用节点144所存储的第二目录结构的第二目录节点生成标识信息,以将第二目录节点转换为具有标识信息的目录节点。其中,第二目录节点的标识信息与对应第一目录节点的标识信息相同。
应当指出,数据处理装置800采用与数据处理装置700转换第一目录结构相同或者类似的方式对第二目录结构进行转换(例如锁定写操作、生成标识信息、向新内存池申请内存、释放先前内存池的内存、解除写操作锁定等等),此处不再赘述。并且,正因为第二目录结构为第一目录结构的副本,数据处理装置800采用与数据处理装置700生成标识信息的方式相同,则可以使得第二目录结构中第二目录节点的标识信息与第一目录结构中对应的第一目录节点的标识信息相同,从而保持了主节点142和备用节点144二者的数据一致性。
最后,在步骤S560中,可以生成指示第二目录结构转换完成的消息并将该消息发送至主节点142。
根据本发明的一个实施方式,数据处理装置800还可以获取主节点142的第二操作日志,第二操作日志指示主节点142在第一目录结构中创建相应目录节点,并包括相应标识信息。数据处理装置800基于该第二操作日志,在第二目录结构中创建相应目录节点,并为相应目录节点生成第二操作日志所记录的相应标注信息,从而保持与主节点142的数据一致。
数据处理方法400/500的执行涉及到分布式文件***100中的各个部件。为此,在图6中示出了根据本发明另一个实施例的数据处理方法600的流程示意图。其中,为了便于理解,以分布式文件***100中的各种部件的交互方式进行了描述。
在图6中,与图4和图5所示的方法步骤相同的步骤用相同的标号进行指示,并且不再进行赘述。如图6所示,数据处理方法600还包括步骤S610。即,数据处理装置700接收来自客户端110的目录结构转换请求,目录结构转换请求可以请求转换第一目录结构,使得第一目录节点具有标识信息。而后数据处理装置700响应于该目录结构转换请求,执行步骤S420,也就是为主节点142所存储的第一目录结构的第一目录节点生成标识信息,以将第一目录节点转换为具有标识信息的目录节点。
在数据处理装置700生成第一操作日志之后,多个备用节点142可以并行地执行步骤S520~S560。其中,数据处理方法600还包括步骤S450。即,数据处理装置700可以响应于数据处理装置800对第一操作日志的获取,向数据处理装置800返回第一操作日志。
在多个数据处理装置800向数据处理装置700发送指示第二目录结构转换完成的消息之后,数据处理方法600还包括步骤S460。即,数据处理装置700判断发送指示第二目录结构转换完成的消息的备用节点144的数量是否超过预定数量(例如所有备用节点数量的一半)。如果超过,则在步骤S470中向客户端110返回第一目录结构转换完成的消息。
综上所述,本发明实施例的目录结构转换方案可以将目录结构中的目录节点转换为具有标识信息的目录节点,从而实现了唯一标识文件或者目录的功能,且操作快捷简便,极大提高了用户体验。其中,通过采用多个线程来并行地为目录节点生成标识信息,可以高效地对目录结构进行转换,节省时间。例如,5亿文件可以在40秒内完成转换。
进一步地,备用节点与主节点为相应目录节点所生成的标识信息相同,保持了数据一致性。
进一步地,目录节点在新的内存池中的地址标识与该目录节点在先前的内存池中的地址标识相同,避免了修改原先所记录的目录节点的地址标识,转换更加简便。
图7示出了根据本发明一个实施例的数据处理装置700的结构框图。应当注意的是,图7是以功能模块划分的方式对数据处理装置700进行了描述。
如图7所示,数据处理装置700包括标识生成模块710、日志记录模块720。标识生成模块710适于响应于目录结构转换请求,为主节点142所存储的第一目录结构的第一目录节点生成标识信息,以将第一目录节点转换为具有标识信息的目录节点,该标识信息用于在第一目录结构中唯一标识第一目录节点对应的目录或者文件。
日志记录模块720适于生成指示对第一目录结构进行转换的第一操作日志,以便备用节点144基于第一操作日志,为备用节点144所存储的第二目录结构的第二目录节点生成标识信息,以将第二目录节点转换为具有标识信息的目录节点。第二目录结构为第一目录结构的副本,第二目录节点的标识信息与对应第一目录节点的标识信息相同。
图8示出了根据本发明一个实施例的数据处理装置800的结构框图。应当注意的是,图8是以功能模块划分的方式对数据处理装置800进行了描述。
如图8所示,数据处理装置800包括日志获取模块810、标识生成模块820和消息反馈模块830。日志获取模块810适于获取主节点142的第一操作日志,第一操作日志指示对主节点142所存储的第一目录结构进行转换,以将第一目录节点转换为具有标识信息的目录节点。该标识信息用于在第一目录结构中唯一标识第一目录节点对应的目录或者文件。
标识生成模块820适于基于第一操作日志,为备用节点144所存储的第二目录结构的第一目录节点生成标识信息,以将第二目录节点转换为具有标识信息的目录节点。第二目录结构为第一目录结构的副本,第二目录节点的标识信息与对应第一目录节点的标识信息相同。
消息反馈模块830适于生成指示第二目录结构转换完成的消息并发送至主节点144。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (14)
1.一种数据处理方法,应用于分布式文件***,所述方法包括:
为所述分布式文件***的主节点所存储的第一目录结构的第一目录节点生成标识信息,所述标识信息用于在所述第一目录结构中唯一标识所述第一目录节点对应的目录或者文件;
生成指示对所述第一目录结构进行转换的第一操作日志,所述分布式文件***的备用节点基于所述第一操作日志,为所述备用节点所存储的第二目录结构的第二目录节点生成标识信息,所述第二目录结构为所述第一目录结构的副本,所述第二目录节点的标识信息与对应第一目录节点的标识信息相同。
2.如权利要求1所述的方法,其中,为目录结构的目录节点生成标识信息,包括:
采用单个线程为目录结构的目录节点生成标识信息;或者采用多个线程并行地为目录结构的目录节点生成标识信息。
3.如权利要求2所述的方法,其中,采用多个线程并行地为目录结构的目录节点生成标识信息,包括:
采用主线程遍历所述目录结构;
对于遍历到的根目录节点下的目录节点,为所述目录节点生成标识信息;
如果所述目录节点对应于目录,则判断位于对应目录下的文件数量和/或子目录数量是否超过预定阈值;
如果超过,采用新的线程遍历所述目录节点下的目录节点,并在新的线程中重复上述为目录节点生成标识信息和判断位于对应目录下的文件数量和/或子目录数量是否超过预定数值的步骤,所述新的线程以所述目录节点的标识信息为起始标识信息。
4.如权利要求3所述的方法,其中,采用多个线程并行地为目录结构的目录节点生成标识信息,还包括:
如果不超过,继续采用当前线程遍历所述目录节点下的目录节点,并重复上述为目录节点生成标识信息和判断位于对应目录下的文件数量和/或子目录数量是否超过预定数值的步骤。
5.如权利要求3或4所述的方法,其中,对于各线程,为该线程遍历到的目录节点生成标识信息,包括:
至少基于所述线程所遍历的上一个目录节点的标识信息,生成所述线程遍历到的目录节点的标识信息。
6.如权利要求5所述的方法,其中,至少基于所述线程所遍历的上一个目录节点的标识信息,生成所述线程遍历到的目录节点的标识信息,包括:
如果未采用新的线程来遍历所述上一个目录节点下的目录节点,则根据所述上一个目录节点的标识信息生成所述线程遍历到的目录节点的标识信息;
如果采用新的线程来遍历所述上一个目录节点下的目录节点,则根据所述上一个目录节点的标识信息、以及位于所述上一个目录节点对应目录下的文件数量和/或子目录数量,生成所述线程遍历到的目录节点的标识信息。
7.如权利要求5所述的方法,其中,对于各线程,为该线程遍历到的目录节点生成标识信息,包括:
如果所述目录节点为所述线程所遍历的首个目录节点,则根据所述线程的起始标识信息来生成所述目录节点的标识信息。
8.如权利要求1所述的方法,其中,所述目录结构的目录节点存储于内存池所分配的内存中,在为目录节点生成标识信息之后,所述方法还包括:
向新的内存池申请内存来存储具有标识信息的目录节点,所述目录节点在新的内存池中的地址标识与所述目录节点在先前的内存池中的地址标识相同,所述地址标识用于指示所述目录节点在内存池中的存储地址;
释放先前的内存池所分配的用于存储所述目录节点的内存。
9.如权利要求1所述的方法,其中,在为目录结构的目录节点生成标识信息之前,所述方法还包括:
对所述目录结构进行写操作的锁定,以拒绝除生成标识信息的线程之外的任何线程对所述目录结构的写操作;以及
在为目录结构的目录节点生成标识信息之后,所述方法还包括:
解除对所述目录结构进行写操作的锁定。
10.如权利要求1所述的方法,其中,在为第一目录节点生成标识信息的步骤之前,所述方法还包括:
接收来自客户端的目录结构转换请求,所述目录结构转换请求请求转换第一目录结构,使得第一目录节点具有标识信息;以及
在生成第一操作日志之后,所述方法还包括:
接收所述备用节点发送的、指示所述第二目录结构转换完成的消息;
在发送所述消息的备用节点的数量超过预定数量的情况下,向客户端返回所述第一目录结构转换完成的消息。
11.如权利要求1所述的方法,其中,所述方法还包括:
接收请求在第一目录结构中创建新的文件或者目录的目录操作请求;
响应于所述目录操作请求,在第一目录结构中创建相应目录节点,并为所述相应目录节点生成标识信息;
生成指示创建相应目录节点,并包括相应标注信息的第二操作日志,以便所述备用节点基于所述第二操作日志,在第二目录结构中创建相应目录节点,并为相应目录节点生成所述第二操作日志所记录的相应标注信息。
12.一种数据处理装置,驻留在分布式文件***中,所述装置包括:
标识生成模块,适于为所述分布式文件***的主节点所存储的第一目录结构的第一目录节点生成标识信息,所述标识信息用于在所述第一目录结构中唯一标识所述第一目录节点对应的目录或者文件;
日志记录模块,适于生成指示对所述第一目录结构进行转换的第一操作日志,所述分布式文件***的备用节点基于所述第一操作日志,为所述备用节点所存储的第二目录结构的第二目录节点生成标识信息,所述第二目录结构为所述第一目录结构的副本,所述第二目录节点的标识信息与对应第一目录节点的标识信息相同。
13.一种计算设备,包括:
存储器,适于存储程序;
耦合至所述存储器的处理器,适于运行所述程序,以执行如权利要求1-11中任一项所述的方法。
14.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1-11所述方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910197350.4A CN111694808B (zh) | 2019-03-15 | 2019-03-15 | 一种数据处理方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910197350.4A CN111694808B (zh) | 2019-03-15 | 2019-03-15 | 一种数据处理方法、装置及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111694808A true CN111694808A (zh) | 2020-09-22 |
CN111694808B CN111694808B (zh) | 2023-12-29 |
Family
ID=72475877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910197350.4A Active CN111694808B (zh) | 2019-03-15 | 2019-03-15 | 一种数据处理方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111694808B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641530A (zh) * | 2021-06-23 | 2021-11-12 | 地平线(上海)人工智能技术有限公司 | 一种数据处理方法及装置 |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
CN1910579A (zh) * | 2004-02-12 | 2007-02-07 | 国际商业机器公司 | 在文件***保持活动状态的同时转换文件***的方法 |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件***元数据管理方法 |
US20130002565A1 (en) * | 2011-06-28 | 2013-01-03 | Microsoft Corporation | Detecting portable device orientation and user posture via touch sensors |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件***元数据管理方法 |
CN103176860A (zh) * | 2011-12-21 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 数据备份方法和*** |
CN103279568A (zh) * | 2013-06-18 | 2013-09-04 | 无锡紫光存储***有限公司 | 一种元数据管理***及方法 |
US20140006994A1 (en) * | 2012-06-29 | 2014-01-02 | Apple Inc. | Device, Method, and Graphical User Interface for Displaying a Virtual Keyboard |
US20140019495A1 (en) * | 2012-07-13 | 2014-01-16 | Facebook Inc. | Processing a file system operation in a distributed file system |
CN103577329A (zh) * | 2013-10-18 | 2014-02-12 | 华为技术有限公司 | 一种快照管理方法和装置 |
US20140337786A1 (en) * | 2010-04-23 | 2014-11-13 | Handscape Inc. | Method for controlling a virtual keyboard from a touchpad of a computerized device |
WO2015013662A1 (en) * | 2013-07-25 | 2015-01-29 | Handscape Inc. | Method for controlling a virtual keyboard from a touchpad of a computerized device |
CN104572357A (zh) * | 2014-12-30 | 2015-04-29 | 清华大学 | 一种用于hdfs***的备份和恢复方法 |
CN105183581A (zh) * | 2015-07-23 | 2015-12-23 | 深圳市沃信科技有限公司 | 一种数据库容灾*** |
CN105824744A (zh) * | 2016-03-21 | 2016-08-03 | 焦点科技股份有限公司 | 一种基于b2b平台的实时日志采集分析方法 |
CN106372221A (zh) * | 2016-09-07 | 2017-02-01 | 华为技术有限公司 | 一种文件同步的方法、设备及*** |
CN106844005A (zh) * | 2016-12-29 | 2017-06-13 | 北京瑞星信息技术股份有限公司 | 基于虚拟化环境下的数据恢复方法及*** |
US20180213035A1 (en) * | 2014-03-19 | 2018-07-26 | Red Hat, Inc. | File replication using file content location identifiers |
CN109344118A (zh) * | 2018-09-26 | 2019-02-15 | 郑州云海信息技术有限公司 | 快照回滚恢复方法、***、装置及计算机可读存储介质 |
CN109766325A (zh) * | 2019-01-09 | 2019-05-17 | 吴思齐 | 一种面向流数据的分布式文件***及流数据写入方法 |
-
2019
- 2019-03-15 CN CN201910197350.4A patent/CN111694808B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138559A1 (en) * | 2001-01-29 | 2002-09-26 | Ulrich Thomas R. | Dynamically distributed file system |
CN1910579A (zh) * | 2004-02-12 | 2007-02-07 | 国际商业机器公司 | 在文件***保持活动状态的同时转换文件***的方法 |
US20140337786A1 (en) * | 2010-04-23 | 2014-11-13 | Handscape Inc. | Method for controlling a virtual keyboard from a touchpad of a computerized device |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件***元数据管理方法 |
US20130002565A1 (en) * | 2011-06-28 | 2013-01-03 | Microsoft Corporation | Detecting portable device orientation and user posture via touch sensors |
CN103176860A (zh) * | 2011-12-21 | 2013-06-26 | 腾讯科技(深圳)有限公司 | 数据备份方法和*** |
US20140006994A1 (en) * | 2012-06-29 | 2014-01-02 | Apple Inc. | Device, Method, and Graphical User Interface for Displaying a Virtual Keyboard |
US20140019495A1 (en) * | 2012-07-13 | 2014-01-16 | Facebook Inc. | Processing a file system operation in a distributed file system |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件***元数据管理方法 |
CN103279568A (zh) * | 2013-06-18 | 2013-09-04 | 无锡紫光存储***有限公司 | 一种元数据管理***及方法 |
WO2015013662A1 (en) * | 2013-07-25 | 2015-01-29 | Handscape Inc. | Method for controlling a virtual keyboard from a touchpad of a computerized device |
CN103577329A (zh) * | 2013-10-18 | 2014-02-12 | 华为技术有限公司 | 一种快照管理方法和装置 |
US20180213035A1 (en) * | 2014-03-19 | 2018-07-26 | Red Hat, Inc. | File replication using file content location identifiers |
CN104572357A (zh) * | 2014-12-30 | 2015-04-29 | 清华大学 | 一种用于hdfs***的备份和恢复方法 |
CN105183581A (zh) * | 2015-07-23 | 2015-12-23 | 深圳市沃信科技有限公司 | 一种数据库容灾*** |
CN105824744A (zh) * | 2016-03-21 | 2016-08-03 | 焦点科技股份有限公司 | 一种基于b2b平台的实时日志采集分析方法 |
CN106372221A (zh) * | 2016-09-07 | 2017-02-01 | 华为技术有限公司 | 一种文件同步的方法、设备及*** |
CN106844005A (zh) * | 2016-12-29 | 2017-06-13 | 北京瑞星信息技术股份有限公司 | 基于虚拟化环境下的数据恢复方法及*** |
CN109344118A (zh) * | 2018-09-26 | 2019-02-15 | 郑州云海信息技术有限公司 | 快照回滚恢复方法、***、装置及计算机可读存储介质 |
CN109766325A (zh) * | 2019-01-09 | 2019-05-17 | 吴思齐 | 一种面向流数据的分布式文件***及流数据写入方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641530A (zh) * | 2021-06-23 | 2021-11-12 | 地平线(上海)人工智能技术有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111694808B (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11500897B2 (en) | Allocation and reassignment of unique identifiers for synchronization of content items | |
CN109254733B (zh) | 用于存储数据的方法、装置和*** | |
CN102317939B (zh) | 用于复制的存储集群的异步分布式垃圾收集 | |
CN110502507B (zh) | 一种分布式数据库的管理***、方法、设备和存储介质 | |
US8255430B2 (en) | Shared namespace for storage clusters | |
WO2017167171A1 (zh) | 一种数据操作方法,服务器及存储*** | |
US7925609B2 (en) | Information processing apparatus, information processing system, information processing method, and computer readable storage medium | |
US7509577B2 (en) | Method and system for implementing a clipboard | |
US20080243847A1 (en) | Separating central locking services from distributed data fulfillment services in a storage system | |
KR102187127B1 (ko) | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 | |
CA2893304C (en) | Data storage method, data storage apparatus, and storage device | |
US8321487B1 (en) | Recovery of directory information | |
JP2006252085A (ja) | ユーザ識別情報を変換するファイルサーバ | |
WO2014180232A1 (zh) | 请求响应方法、装置及分布式文件*** | |
EP3844937B1 (en) | Synchronizing in-use source data and an unmodified migrated copy thereof | |
US20080162944A1 (en) | Information processing apparatus, information processing system, and computer readable storage medium | |
CN108243207B (zh) | 一种网络云盘的数据存储方法 | |
CN111694808B (zh) | 一种数据处理方法、装置及计算设备 | |
US20160149991A1 (en) | Bulk upload of collaborative documents to an online document management system | |
Lee et al. | Implementation and performance of distributed text processing system using hadoop for e-discovery cloud service | |
CN110049133B (zh) | 一种dns区文件全量下发的方法和装置 | |
US11354059B2 (en) | Data migration between storage systems using different protocols | |
JP2015197810A (ja) | サーバー装置、情報処理方法及びプログラム | |
US20120005162A1 (en) | Managing Copies of Data Structures in File Systems | |
JP2009193502A (ja) | 計算機システム、ストレージ装置、及び、処理代替方法 |
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 |