CN110008197A - 一种数据处理方法、系统及电子设备和存储介质 - Google Patents

一种数据处理方法、系统及电子设备和存储介质 Download PDF

Info

Publication number
CN110008197A
CN110008197A CN201910295201.1A CN201910295201A CN110008197A CN 110008197 A CN110008197 A CN 110008197A CN 201910295201 A CN201910295201 A CN 201910295201A CN 110008197 A CN110008197 A CN 110008197A
Authority
CN
China
Prior art keywords
modification
target
file
operation information
duplication
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
CN201910295201.1A
Other languages
English (en)
Other versions
CN110008197B (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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910295201.1A priority Critical patent/CN110008197B/zh
Publication of CN110008197A publication Critical patent/CN110008197A/zh
Application granted granted Critical
Publication of CN110008197B publication Critical patent/CN110008197B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请公开了一种数据处理方法、系统及一种电子设备和计算机可读存储介质,该方法包括:接收到文件的复制请求后,将当前复制操作信息发送至元数据服务器,以使元数据服务器记录复制操作信息;当获取到文件的修改请求后,利用修改请求获取元数据服务器中对应的复制操作信息;将修改请求和复制操作信息下发至服务器,以使服务器根据修改请求和复制操作信息确定目标修改对象,复制目标修改对象,并对复制后目标修改对象执行修改操作。本申请在文件复制时,仅仅记录当前复制操作的信息,而不实际执行复制操作,在数据真正被修改时,对相应的数据执行复制操作并修改,解决了现有技术中存储空间浪费的问题,进一步提高了数据处理效率。

Description

一种数据处理方法、系统及电子设备和存储介质
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种数据处理方法、系统及一种电子设备和计算机可读存储介质。
背景技术
常见的分布式文件系统架构由位于底层的DOS(分布式对象存储系统)、MDS(元数据服务)和CA(客户端代理)三部分组成,其中,DOS由多台服务器设备组成,负责将数据可靠分布到这些设备上,它对外提供基于对象的数据访问接口;MDS提供元数据服务,其中元数据可以存储到DOS,也可以独立存储;CA同时与MDS和DOS交互,对外实现文件访问接口;文件的数据被切分成一定大小的数据块,每一块作为一个对象存储到DOS中。
用户一般通过POSIX(portable operating system interface of unix,可移植操作系统接口)访问文件系统。在这种方式下,文件复制操作的具体实现是:同时打开复制的源文件和目的文件,读取源文件中的数据,写入目的文件。由此导致同样的数据在系统中保存两份,造成空间浪费,并且复制过程需要读取、写入数据,操作过程缓慢,在存储大文件时表现更为突出。
发明内容
本申请的目的在于提供一种数据处理方法、系统及一种电子设备和一种计算机可读存储介质,节省存储空间的同时提高数据处理效率。
为实现上述目的,本申请提供了一种数据处理方法,应用于客户端,包括:
接收到文件的复制请求后,将当前复制操作信息发送至元数据服务器,以使所述元数据服务器记录所述复制操作信息;
当获取到文件的修改请求后,利用所述修改请求获取所述元数据服务器中对应的所述复制操作信息;
将所述修改请求和所述复制操作信息下发至服务器,以使所述服务器根据所述修改请求和所述复制操作信息确定目标修改对象,复制所述目标修改对象,并对复制后目标修改对象执行修改操作。
可选的,所述当获取到文件的修改请求后,利用所述修改请求获取所述元数据服务器中对应的所述复制操作信息,包括:
当获取到所述修改请求后,解析所述修改请求,得到目标文件信息;
将所述目标文件信息下发至所述元数据服务器,以获取所述元数据服务器发送的与所述目标文件信息对应的所述复制操作信息。
可选的,所述解析所述修改请求,得到目标文件信息,包括:
解析所述修改请求,获取所述修改请求中的目标偏移量,并利用所述目标偏移量得到目标文件路径。
可选的,还包括:
当获取到文件的读取请求后,解析所述读取请求,得到对应的目标读取文件信息;
根据所述目标读取文件信息,获取所述元数据服务器中对应的所述复制操作信息;
将所述目标读取文件信息和所述复制操作信息下发至服务器,以使所述服务器根据所述读取目标信息和所述复制操作信息确定目标读取对象,并对所述目标读取对象执行读取操作。
为实现上述目的,本申请提供了一种数据处理方法,应用于服务器,包括:
获取客户端发送的文件的修改请求和复制操作信息,并根据所述修改请求和所述复制操作信息确定目标修改对象;其中,所述复制操作信息为所述客户端获取的元数据服务器中与所述修改请求对应的信息;
复制所述目标修改对象,并根据所述修改请求对复制后目标修改对象执行修改操作。
可选的,所述根据所述修改请求和所述复制操作信息确定目标修改对象,包括:
获取所述修改请求对应的目标文件信息;
根据所述目标文件信息查询所述目标文件对象及其关联对象;
判断所述目标文件对象和所述关联对象中是否存在实对象;其中,所述实对象为占用存储空间实际存在的对象;
如果是,则根据所述复制操作信息获取所有所述实对象中最后一次修改的最新对象,并将其确定为所述目标修改对象;
如果否,则根据所述复制操作信息遍历所述目标文件对象的上级节点对象,直至查找到目标实对象,并将其确定为所述目标修改对象。
可选的,所述根据所述复制操作信息遍历所述目标文件对象的上级节点对象,直至查找到目标实对象,包括:
根据所述复制操作信息遍历所述目标文件对象的上级节点对象;
判断所述上级节点对象是否存在关联对象;
如果否,则判断所述上级节点对象的类型;
若所述上级节点对象为所述实对象,则将所述上级节点对象确定为所述目标实对象并结束;
若所述上级节点对象为虚对象,则将所述上级节点对象作为所述目标文件对象,并返回遍历所述目标文件对象的上级节点对象的步骤;其中,所述虚对象为未占用存储空间的虚拟对象;
如果是,则获取所述关联对象的直接下级节点对象;
根据所述目标文件对象和所述直接下级节点对象,确定目标上级对象;
判断所述目标上级对象是否为所述实对象;
如果是,则将所述目标上级对象确定为所述目标实对象;
如果否,则将所述目标上级对象作为所述目标文件对象,并返回遍历所述目标文件对象的上级节点对象的步骤,直至查找到所述目标实对象。
为实现上述目的,本申请提供了一种数据处理系统,包括:前述公开的客户端、前述公开的服务器和元数据服务器。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的数据处理方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的数据处理方法的步骤。
通过以上方案可知,本申请提供的一种数据处理方法,包括:接收到文件的复制请求后,将当前复制操作信息发送至元数据服务器,以使所述元数据服务器记录所述复制操作信息;当获取到文件的修改请求后,利用所述修改请求获取所述元数据服务器中对应的所述复制操作信息;将所述修改请求和所述复制操作信息下发至服务器,以使所述服务器根据所述修改请求和所述复制操作信息确定目标修改对象,复制所述目标修改对象,并对复制后目标修改对象执行修改操作。本申请在文件复制时,仅仅记录当前复制操作的信息,而不实际执行复制操作,在数据真正被修改时,对相应的数据执行复制操作并修改,解决了现有技术中存储空间浪费的问题,进一步提高了数据处理效率。
本申请还公开了一种数据处理系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种数据处理方法的流程图;
图2为本申请实施例公开的另一种数据处理方法的流程图;
图3为本申请实施例公开的另一种数据处理方法的流程图;
图4为本申请实施例公开的另一种数据处理方法的流程图;
图5为本申请实施例公开的另一种数据处理方法具体实施方式中确定目标实对象的流程图;
图6-图11为本申请实施例公开的一种具体实施例中数据处理方法的示意图;
图12为本申请实施例公开的一种具体实施例中数据处理方法的流程图;
图13为本申请实施例公开的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,文件复制操作的具体实现是:同时打开复制的源文件和目的文件,读取源文件中的数据,写入目的文件。由此导致同样的数据在系统中保存两份,造成空间浪费,并且复制过程需要读取、写入数据,操作过程缓慢,在存储大文件时表现更为突出。
本申请实施例公开了一种数据处理方法,应用于客户端,能够节省存储空间,并提高数据处理的效率。
参见图1,本申请实施例公开的一种数据处理方法的流程图,如图1所示,包括:
S101:接收到文件的复制请求后,将当前复制操作信息发送至元数据服务器,以使所述元数据服务器记录所述复制操作信息;
本实施例中,当获取到用户对文件的复制请求后,获取所述复制请求的信息,如源文件信息、目的文件名及路径。进一步将复制操作的信息发送至用于提供元数据服务的元数据服务器中,以使元数据服务器记录下当前复制操作信息。具体地,元数据服务器可以根据复制操作信息生成树形结构,方便检索,可以更加直观的表示各个文件间的复制关系。
S102:当获取到文件的修改请求后,利用所述修改请求获取所述元数据服务器中对应的所述复制操作信息;
具体地,在获取到用户对文件的修改请求后,获取修改请求中的信息,从而根据请求信息获取元数据服务器中保存的对应文件的复制操作信息。
S103:将所述修改请求和所述复制操作信息下发至服务器,以使所述服务器根据所述修改请求和所述复制操作信息确定目标修改对象,复制所述目标修改对象,并对复制后目标修改对象执行修改操作。
进一步地,获取到复制操作信息后,将其与当前的修改请求信息一同下发至服务器,从而使服务器确定修改请求对应的目标修改对象,对目标修改对象执行修改操作,并修改复制后的目标修改对象。
通过以上方案可知,本申请提供的一种数据处理方法,包括:接收到文件的复制请求后,将当前复制操作信息发送至元数据服务器,以使所述元数据服务器记录所述复制操作信息;当获取到文件的修改请求后,利用所述修改请求获取所述元数据服务器中对应的所述复制操作信息;将所述修改请求和所述复制操作信息下发至服务器,以使所述服务器根据所述修改请求和所述复制操作信息确定目标修改对象,复制所述目标修改对象,并对复制后目标修改对象执行修改操作。本申请在文件复制时,仅仅记录当前复制操作的信息,而不实际执行复制操作,在数据真正被修改时,对相应的数据执行复制操作并修改,解决了现有技术中存储空间浪费的问题,进一步提高了数据处理效率。
本申请实施例公开了一种数据处理方法,应用于客户端。
参见图2,本申请实施例公开的另一种数据处理方法的流程图,如图2所示,包括:
S201:接收到文件的复制请求后,将当前复制操作信息发送至元数据服务器,以使所述元数据服务器记录所述复制操作信息;
S202:当获取到所述修改请求后,解析所述修改请求,得到目标文件信息;
具体地,本实施例获取到修改请求后,解析修改请求,获取修改请求中的目标偏移量,并利用所述目标偏移量得到目标文件路径。进一步地,可以利用目标文件路径获取目标文件名称,以利用目标文件路径和文件名称查找对应的复杂操作信息。
S203:将所述目标文件信息下发至所述元数据服务器,以获取所述元数据服务器发送的与所述目标文件信息对应的所述复制操作信息;
可以理解的是,本实施例利用目标文件路径和目标文件名称获取元数据服务器中保存的对应的复制操作信息。
S204:将所述修改请求和所述复制操作信息下发至服务器,以使所述服务器根据所述修改请求和所述复制操作信息确定目标修改对象,复制所述目标修改对象,并对复制后目标修改对象执行修改操作。
本申请实施例还公开了一种数据处理方法,应用于服务器。
参见图3,本申请实施例公开的另一种数据处理方法的流程图,如图3所示,包括:
S301:获取客户端发送的文件的修改请求和复制操作信息,并根据所述修改请求和所述复制操作信息确定目标修改对象;其中,所述复制操作信息为所述客户端获取的元数据服务器中与所述修改请求对应的信息;
本实施例中,服务器获取客户端发送的用户对文件的修改请求,以及复制操作信息。具体地,复制操作信息为客户端利用修改请求的信息获取的元数据服务器中存储的对应的信息。
进一步地,服务器利用修改请求和复制操作信息确定修改请求对应的目标修改对象。
S302:复制所述目标修改对象,并根据所述修改请求对复制后目标修改对象执行修改操作。
可以理解的是,在确定目标修改对象之后,对目标修改对象执行复制操作后再根据修改请求对复制后目标修改对象执行修改操作。
本申请实施例还公开了一种数据处理方法,应用于服务器。
参见图4,本申请实施例公开的另一种数据处理方法的流程图,如图4所示,包括:
S401:获取客户端发送的文件的修改请求和复制操作信息,获取所述修改请求对应的目标文件信息;
具体地,修改请求对应的目标文件信息可由客户端进行解析后得到,例如,利用客户端解析并获取修改请求中的目标偏移量,并利用目标偏移量得到目标文件路径。进一步地,利用目标文件路径获取目标文件名称。
S402:根据所述目标文件信息查询所述目标文件对象及其关联对象;
本实施例中,服务器根据目标文件信息获取目标文件对象,以及与目标文件对象关联的对象。具体地,修改当前对象或对当前对象执行复制操作后生成的对象与当前对象称为一组关联对象。
S403:判断所述目标文件对象和所述关联对象中是否存在实对象;其中,所述实对象为占用存储空间实际存在的对象;
进一步地,获取到目标文件对象和关联对象之后,判断其中是否存储实对象。可以理解的是,实对象为实际存在的,占用存储磁盘空间的对象。
S404:如果是,则根据所述复制操作信息获取所有所述实对象中最后一次修改的最新对象,并将其确定为所述目标修改对象;
若目标文件对象和关联对象中存在实对象,则可以根据复制操作信息获取所有实对象中最后一次修改的最新对象,例如,可以通过查看复制操作信息中对象的写入或修改时间获取最新对象;或通过记录操作信息时添加标识,相应的,通过判断标识获取最新对象。进一步将最新对象确定为目标修改对象。
S405:如果否,则根据所述复制操作信息遍历所述目标文件对象的上级节点对象,直至查找到目标实对象,并将其确定为所述目标修改对象;
若目标文件对象和关联对象中不存在实对象,则利用复制操作信息,通过遍历目标文件对象的上级节点对象,查找到目标实对象。相应的,在元数据服务器记录复制操作信息时,可以利用复制操作信息生成树形结构,便于后续遍历查找。
S406:复制所述目标修改对象,并根据所述修改请求对复制后目标修改对象执行修改操作。
在本发明所提供的一种数据处理方法的一种具体实施方式中,针对根据复制操作信息遍历目标文件对象的上级节点对象,直至查找到目标实对象的过程进行进一步阐述,如图5,该过程包括:
S501:根据所述复制操作信息遍历所述目标文件对象的上级节点对象;
本实施例中,通过复制操作信息生成的树形结构,遍历目标文件对象的上级节点对象。
S502:判断所述上级节点对象是否存在关联对象;
S503:如果否,则判断所述上级节点对象的类型;
具体地,本实施例判断上级节点对象是否存在关联对象。若不存在,则进一步判断上级节点对象的类型。
S504:若所述上级节点对象为所述实对象,则将所述上级节点对象确定为所述目标实对象并结束;
S505:若所述上级节点对象为虚对象,则将所述上级节点对象作为所述目标文件对象,并返回遍历所述目标文件对象的上级节点对象的步骤;其中,所述虚对象为未占用存储空间的虚拟对象;
具体地,若上级节点对象为实对象,则将当前上级节点对象确定为目标实对象;若上级节点对象为虚对象,则继续遍历当前上级节点对象的上级节点对象。可以理解的是,虚对象为不占用存储磁盘空间,虚拟存在的对象,虚对象仅在元数据服务器中记录了相应的信息。
S506:如果是,则获取所述关联对象的直接下级节点对象;
本实施例中,若上级节点对象不存在关联对象,则获取当前对象的直接下级节点对象的信息。
S507:根据所述目标文件对象和所述直接下级节点对象,确定目标上级对象;
具体地,查看当前目标文件对象是否属于直接下级节点对象中任一个,如果是,则继续向上遍历,直至查找到目标实对象;如果否,则直接确定当前关联对象为目标实对象。
S508:判断所述目标上级对象是否为所述实对象;
S509:如果是,则将所述目标上级对象确定为所述目标实对象;
S510:如果否,则将所述目标上级对象作为所述目标文件对象,并返回遍历所述目标文件对象的上级节点对象的步骤,直至查找到所述目标实对象。
进一步地,判断目标上级对象是否为实对象;若是,则将目标上级对象确定为目标实对象;若否,则继续遍历所述目标上级对象的上级对象,直至查找到目标实对象。
进一步地,利用具体示例对本发明提供的数据处理方法进行进一步阐述。具体地,本发明引入一个全局唯一且递增的cpid,用于标识用户的每次文件复制操作(用户执行复制操作的源文件和目的文件的cpid不同,cpid实际上标识了这些不同的文件),另外,引入一个全局唯一且递增的cowid,用于标识系统内部对每个对象的cow(写时复制)操作。cpid在系统内部使用,对用户不可见;cowid只在系统的DOS(distributed object storage,分布式对象存储)子系统内部使用。
如图6所示,组成文件A的对象当前只有一个版本,即#cpid0,此时用户执行了多次复制操作,首先将文件A复制生成文件B,对应cpid1;然后复制文件B生成文件C,对应cpid3;之后复制文件A生成文件D,对应cpid4;复制文件C生成文件E,对应cpid7。由于上述过程没有数据操作,因此只在MDS(meta data server,元数据服务)中记录这些cpid之间的关系,DOS中没有生成真正的对象,因此图中使用虚线框椭圆表示,即虚对象。图6中实线框椭圆为真正存在的实对象。
如图7所示,用户修改文件A的#cpid0对象,DOS通过CA(client agent,客户端代理)传入的cpid列表,发现#cpid0对象有直接下级虚对象,于是执行一次cow操作,并生成一个全局唯一的cowid(此处假定为cowid0),将A#cpid0复制生成A#cpid0#cowid0对象,并记录A#cpid0对象的直接下级虚对象的cpid范围(此处为[cpid1,cpid4]),记录A#cpid0#cowid0对象的直接下级虚对象的cpid范围(此处为空),记录A#cpid0与A#cpid0#cowid0两个对象的关联关系——A#cpid0与A#cpid0#cowid0称为关联对象。该过程属于DOS内部处理,MDS和CA都不感知。
本实施例中,继续执行两次文件复制操作,如图8所示,复制文件C生成文件F,复制文件A生成文件G。该过程没有数据操作,只在MDS中记录了操作,因为元数据不感知之前A#cpid0#cowid0对象的生成过程,因此从MDS看G#cpid9将于A#cpid0有关联关系;但从逻辑上看,复制操作都是复制当前最新的数据,因此G#cpid9逻辑上属于A#cpid0#cowid0的下级对象,A#cpid0对象的直接下级对象保持不变。后续上层用户业务触发CA访问文件G内容时,CA将G文件的cpid9及完整cpid列表下发给DOS,DOS根据cpid9向上查找到第一个实对象(或第一个关联有实对象的虚对象)为A#cpid0,通过之前建立的关联关系,发现其存在关联对象A#cpid0#cowid0,并且cpid9不在A#cpid0的直接下级虚对象的cpid范围(即[cpid1,cpid4])内,于是查找关联对象A#cpid0#cowid0,发现其下级虚对象cpid范围为空,于是访问该对象。类似地,访问文件F时,通过遍历发现其通过B#cpid1找到了实对象A#cpid0,同时cpid1在A#cpid0的直接下级虚对象的cpid范围内,于是访问A#cpid0对象。
如图9所示,上层用户业务再次修改文件A,此时文件A的当前对象已经变成A#cpid0#cowid0;CA下发将A文件的cpid0及完整cpid列表下发给DOS,此时DOS分析cpid列表和自己存储的A#cpid0对象的直接下级虚对象的cpid范围(即[cpid1,cpid4]),发现cpid9逻辑上属于A#cpid0#cowid0对象,于是更新A#cpid0#cowid0的直接下级虚对象范围为[cpid9,cpid9],将A#cpid0#cowid0复制生成A#cpid0#cowid5,并建立对象间关系。
进一步地,修改树干上对象的过程进行详细阐述,如图10所示,修改文件C时,DOS发现C#cpid3是虚对象,于是继续遍历找到实对象A#cpid0,将其复制成实对象C#cpid3#cowid9,记录两个对象间的关系,以及C#cpid3的直接下级虚对象的cpid范围(即[cpid7,cpid7]),C#cpid3#cowid9的直接下级虚对象cpid范围为空。
用户再次执行两次复制操作,生成文件G和F,如图11,该过程DOS不感知;后续访问文件F内容时,DOS遍历找到虚对象C#cpid3,发现其存在关联对象C#cpid3#cowid9,由于是通过E#cpid7找到的C#cpid3,且cpid7在其直接下级虚对象范围内,于是继续向上遍历,直到找到实对象A#cpid0;类似地,访问文件G时,发现cpid8不在C#cpid3的直接下级虚对象范围内,于是访问C#cpid3#cowid9对象。
参见图12所示,图12为文件数据处理过程的流程图,用户执行文件复制操作时,CA将源文件信息、目的文件名及路径,下发给MDS;MDS为每个cp操作分配一个全局唯一且单调递增的cpid,作为文件复制信息,记录到源文件的元数据中;MDS向CA返回操作结果,cp操作完成;上层业务在访问文件内容时,首先打开文件,此时CA将上层业务下发的文件路径、文件名参数传给MDS;MDS根据文件信息,获取文件元数据及其中的复制信息;MDS向CA返回元数据信息,包括业务要操作的当前文件的cpid,以及该文件相关的所有cpid列表信息;上层业务访问文件数据,下发偏移量;CA根据偏移量计算要访问的文件对象;
对于修改操作,CA将要操作的对象的对象名、本次要操作的cpid、从MDS获取的文件cpid列表,下发给DOS,以使DOS执行修改操作。
对于读取操作,CA将要操作的对象的对象名、本次要操作的cpid、从MDS获取的文件cpid列表,下发给DOS,以使DOS执行读取操作。
进一步地,本申请还提供了一种数据处理系统,包括:
前述公开的客户端、前述公开的服务器和元数据服务器。
进一步地,本申请还提供了一种电子设备,参见图13,本申请实施例提供的一种电子设备的结构图,如图13所示,包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力。
进一步地,本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的数据处理方法的步骤。
本申请在文件复制时,仅仅记录当前复制操作的信息,而不实际执行复制操作,在数据真正被修改时,对相应的数据执行复制操作并修改,解决了现有技术中存储空间浪费的问题,进一步提高了数据处理效率。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种数据处理方法,其特征在于,应用于客户端,包括:
接收到文件的复制请求后,将当前复制操作信息发送至元数据服务器,以使所述元数据服务器记录所述复制操作信息;
当获取到文件的修改请求后,利用所述修改请求获取所述元数据服务器中对应的所述复制操作信息;
将所述修改请求和所述复制操作信息下发至服务器,以使所述服务器根据所述修改请求和所述复制操作信息确定目标修改对象,复制所述目标修改对象,并对复制后目标修改对象执行修改操作。
2.根据权利要求1所述的数据处理方法,其特征在于,所述当获取到文件的修改请求后,利用所述修改请求获取所述元数据服务器中对应的所述复制操作信息,包括:
当获取到所述修改请求后,解析所述修改请求,得到目标文件信息;
将所述目标文件信息下发至所述元数据服务器,以获取所述元数据服务器发送的与所述目标文件信息对应的所述复制操作信息。
3.根据权利要求2所述的数据处理方法,其特征在于,所述解析所述修改请求,得到目标文件信息,包括:
解析所述修改请求,获取所述修改请求中的目标偏移量,并利用所述目标偏移量得到目标文件路径。
4.根据权利要求1至3任一项所述的数据处理方法,其特征在于,还包括:
当获取到文件的读取请求后,解析所述读取请求,得到对应的目标读取文件信息;
根据所述目标读取文件信息,获取所述元数据服务器中对应的所述复制操作信息;
将所述目标读取文件信息和所述复制操作信息下发至服务器,以使所述服务器根据所述读取目标信息和所述复制操作信息确定目标读取对象,并对所述目标读取对象执行读取操作。
5.一种数据处理方法,其特征在于,应用于服务器,包括:
获取客户端发送的文件的修改请求和复制操作信息,并根据所述修改请求和所述复制操作信息确定目标修改对象;其中,所述复制操作信息为所述客户端获取的元数据服务器中与所述修改请求对应的信息;
复制所述目标修改对象,并根据所述修改请求对复制后目标修改对象执行修改操作。
6.根据权利要求5所述的数据处理方法,其特征在于,所述根据所述修改请求和所述复制操作信息确定目标修改对象,包括:
获取所述修改请求对应的目标文件信息;
根据所述目标文件信息查询所述目标文件对象及其关联对象;
判断所述目标文件对象和所述关联对象中是否存在实对象;其中,所述实对象为占用存储空间实际存在的对象;
如果是,则根据所述复制操作信息获取所有所述实对象中最后一次修改的最新对象,并将其确定为所述目标修改对象;
如果否,则根据所述复制操作信息遍历所述目标文件对象的上级节点对象,直至查找到目标实对象,并将其确定为所述目标修改对象。
7.根据权利要求6所述的数据处理方法,其特征在于,所述根据所述复制操作信息遍历所述目标文件对象的上级节点对象,直至查找到目标实对象,包括:
根据所述复制操作信息遍历所述目标文件对象的上级节点对象;
判断所述上级节点对象是否存在关联对象;
如果否,则判断所述上级节点对象的类型;
若所述上级节点对象为所述实对象,则将所述上级节点对象确定为所述目标实对象并结束;
若所述上级节点对象为虚对象,则将所述上级节点对象作为所述目标文件对象,并返回遍历所述目标文件对象的上级节点对象的步骤;其中,所述虚对象为未占用存储空间的虚拟对象;
如果是,则获取所述关联对象的直接下级节点对象;
根据所述目标文件对象和所述直接下级节点对象,确定目标上级对象;
判断所述目标上级对象是否为所述实对象;
如果是,则将所述目标上级对象确定为所述目标实对象;
如果否,则将所述目标上级对象作为所述目标文件对象,并返回遍历所述目标文件对象的上级节点对象的步骤,直至查找到所述目标实对象。
8.一种数据处理系统,其特征在于,包括:如权利要求1至4任一项所述的客户端、如权利要求5至7任一项所述的服务器和元数据服务器。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据处理方法的步骤。
CN201910295201.1A 2019-04-12 2019-04-12 一种数据处理方法、系统及电子设备和存储介质 Active CN110008197B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910295201.1A CN110008197B (zh) 2019-04-12 2019-04-12 一种数据处理方法、系统及电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910295201.1A CN110008197B (zh) 2019-04-12 2019-04-12 一种数据处理方法、系统及电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN110008197A true CN110008197A (zh) 2019-07-12
CN110008197B CN110008197B (zh) 2020-07-07

Family

ID=67171569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910295201.1A Active CN110008197B (zh) 2019-04-12 2019-04-12 一种数据处理方法、系统及电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN110008197B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143126A (zh) * 2019-12-20 2020-05-12 浪潮电子信息产业股份有限公司 一种分布式文件系统的数据拷贝方法、系统及相关组件
CN111382011A (zh) * 2020-02-28 2020-07-07 苏州浪潮智能科技有限公司 一种文件数据存取方法、装置和计算机可读存储介质
CN111752915A (zh) * 2020-06-21 2020-10-09 苏州浪潮智能科技有限公司 基于混合存储介质的文件按需复制方法和系统
CN115037794A (zh) * 2022-06-07 2022-09-09 抖音视界(北京)有限公司 一种数据采集方法、装置、计算机设备及可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542626A (zh) * 2003-04-29 2004-11-03 国际商业机器公司 用于实现文件的写入时复制的方法和系统
CN1755672A (zh) * 2004-09-30 2006-04-05 腾讯科技(深圳)有限公司 网络存储系统文件虚拟复制方法及系统
CN101201774A (zh) * 2006-12-15 2008-06-18 英业达股份有限公司 磁盘快照的方法
CN101206595A (zh) * 2006-12-19 2008-06-25 英业达股份有限公司 以快照指针进行磁盘快照的方法
CN103294786A (zh) * 2013-05-17 2013-09-11 华中科技大学 一种分布式文件系统的元数据组织管理方法和系统
CN104407936A (zh) * 2014-11-18 2015-03-11 华为数字技术(成都)有限公司 一种数据快照方法及装置
US20160006829A1 (en) * 2013-10-02 2016-01-07 Hitachi, Ltd. Data management system and data management method
CN105721527A (zh) * 2014-12-04 2016-06-29 金蝶软件(中国)有限公司 一种数据处理方法以及服务器
CN108563743A (zh) * 2018-04-12 2018-09-21 郑州云海信息技术有限公司 一种文件读写方法、系统及设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542626A (zh) * 2003-04-29 2004-11-03 国际商业机器公司 用于实现文件的写入时复制的方法和系统
CN1755672A (zh) * 2004-09-30 2006-04-05 腾讯科技(深圳)有限公司 网络存储系统文件虚拟复制方法及系统
CN101201774A (zh) * 2006-12-15 2008-06-18 英业达股份有限公司 磁盘快照的方法
CN101206595A (zh) * 2006-12-19 2008-06-25 英业达股份有限公司 以快照指针进行磁盘快照的方法
CN103294786A (zh) * 2013-05-17 2013-09-11 华中科技大学 一种分布式文件系统的元数据组织管理方法和系统
US20160006829A1 (en) * 2013-10-02 2016-01-07 Hitachi, Ltd. Data management system and data management method
CN104407936A (zh) * 2014-11-18 2015-03-11 华为数字技术(成都)有限公司 一种数据快照方法及装置
CN105721527A (zh) * 2014-12-04 2016-06-29 金蝶软件(中国)有限公司 一种数据处理方法以及服务器
CN108563743A (zh) * 2018-04-12 2018-09-21 郑州云海信息技术有限公司 一种文件读写方法、系统及设备和存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143126A (zh) * 2019-12-20 2020-05-12 浪潮电子信息产业股份有限公司 一种分布式文件系统的数据拷贝方法、系统及相关组件
CN111382011A (zh) * 2020-02-28 2020-07-07 苏州浪潮智能科技有限公司 一种文件数据存取方法、装置和计算机可读存储介质
WO2021169163A1 (zh) * 2020-02-28 2021-09-02 苏州浪潮智能科技有限公司 一种文件数据存取方法、装置和计算机可读存储介质
CN111382011B (zh) * 2020-02-28 2022-11-29 苏州浪潮智能科技有限公司 一种文件数据存取方法、装置和计算机可读存储介质
US11899542B2 (en) 2020-02-28 2024-02-13 Inspur Suzhou Intelligent Technology Co., Ltd. File data access method, apparatus, and computer-readable storage medium
CN111752915A (zh) * 2020-06-21 2020-10-09 苏州浪潮智能科技有限公司 基于混合存储介质的文件按需复制方法和系统
CN111752915B (zh) * 2020-06-21 2023-01-06 苏州浪潮智能科技有限公司 基于混合存储介质的文件按需复制方法和系统
CN115037794A (zh) * 2022-06-07 2022-09-09 抖音视界(北京)有限公司 一种数据采集方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN110008197B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
US11647097B2 (en) Providing access to managed content
US11537482B2 (en) Method and apparatus for reading and writing committed data
CN104618482B (zh) 访问云数据的方法、服务器、传统存储设备、系统
CN101576918B (zh) 具备负载均衡功能的数据缓存系统
CN110008197A (zh) 一种数据处理方法、系统及电子设备和存储介质
CN110046133B (zh) 一种存储文件系统的元数据管理方法、装置及系统
US20090012932A1 (en) Method and System For Data Storage And Management
US20070073831A1 (en) Providing direct access to distributed managed content
RU2638726C1 (ru) Оптимизированный процесс воспроизведения браузера
US20160364407A1 (en) Method and Device for Responding to Request, and Distributed File System
CN111901294A (zh) 一种构建在线机器学习项目的方法及机器学习系统
CA2836151C (en) Local networked storage linked to remote networked storage system
CN104301360A (zh) 一种日志数据记录的方法、日志服务器及系统
JP2012089094A5 (zh)
CN109710185A (zh) 数据处理方法及装置
CN105138275B (zh) 一种Lustre存储系统数据共享方法
CN102023816A (zh) 一种对象存储系统的对象存放策略和访问方法
CN110032541A (zh) 一种可写快照实现方法及系统
CN106817388A (zh) 虚拟机、宿主机获取数据的方法、装置及访问数据的系统
CN106021566A (zh) 一种提高单台数据库并发处理能力的方法、装置及系统
US11853284B2 (en) In-place updates with concurrent reads in a decomposed state
CN109254958B (zh) 分布式数据读写方法、设备及系统
US8135760B1 (en) Determining the lineage of a content unit on an object addressable storage system
CN104281486B (zh) 一种虚拟机处理方法和装置
JP2007287180A (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