CN113946542A - 数据处理方法以及装置 - Google Patents
数据处理方法以及装置 Download PDFInfo
- Publication number
- CN113946542A CN113946542A CN202111050978.5A CN202111050978A CN113946542A CN 113946542 A CN113946542 A CN 113946542A CN 202111050978 A CN202111050978 A CN 202111050978A CN 113946542 A CN113946542 A CN 113946542A
- Authority
- CN
- China
- Prior art keywords
- data
- migrated
- capacity reduction
- storage
- migration
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 44
- 230000009467 reduction Effects 0.000 claims abstract description 212
- 230000005012 migration Effects 0.000 claims abstract description 147
- 238000013508 migration Methods 0.000 claims abstract description 147
- 238000013507 mapping Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of 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/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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供数据处理方法以及装置,其中所述数据处理方法包括:接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息,根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。
背景技术
大数据领域通常使用分布式计算来进行大规模并行处理,大数据不仅体现在输入数据量巨大,往往中间数据量也非常庞大。目前,大数据集群***通常采用普通的商用服务器,每台服务器拥有多块物理磁盘。
为了充分使用文件***内核特性或者受限于所使用的第三方本地库,分布式计算框架的线程或者进程往往直接使用本地磁盘存放中间数据,而为了节约磁盘的存储资源,需要对其进行缩容处理。目前,通常采用离线缩容的方式,而离线缩容需要比较长时间中断项目,影响项目的运行速度及运行效率,因此,亟需一种有效的方法以解决此类问题。
发明内容
有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息;
根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
可选地,所述根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,包括:
根据所述缩容指令中携带的缩容配置信息确定所述共享存储空间的目标空间大小;
根据所述目标空间大小及所述共享存储空间对应的预设存储区块大小,确定所述共享存储空间中待缩容的存储区块数量;
根据所述待缩容的存储区块数量确定所述共享存储空间中的待缩容存储区块及目标存储区块。
可选地,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,包括:
调用所述分布式数据库中的数据读写节点,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块。
可选地,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,包括:
将所述待缩容存储区块中待迁移文件对应的元数据迁移至所述目标存储区块;
相应的,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
基于所述元数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
可选地,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
基于所述待迁移数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
可选地,所述数据处理方法,还包括:
调用所述分布式数据库中的数据只读节点,获取并对所述日志文件中的所述待处理事务进行解析,获得所述待迁移数据的迁移结果;
根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系。
可选地,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,包括:
基于所述缩容指令创建数据迁移线程,并调用所述数据迁移线程,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
相应的,所述根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,包括:
获取地址存储线程中所述待迁移数据的历史引用地址,并根据迁移结果建立所述历史引用地址与所述待迁移数据的迁移存储地址间的映射关系。
可选地,所述数据处理方法,还包括:
接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据的数据迁移状态;
若为迁移完成,则确定所述待迁移数据关联的数据引用类型是否为目标数据引用类型;
若是,则获取所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并基于所述映射关系中的所述迁移存储地址获取所述待迁移数据并返回。
可选地,所述数据处理方法,还包括:
接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据对应的索引节点的节点标识,并根据所述节点标识确定所述待迁移数据的迁移状态;
若为正在迁移,则返回访问失败的结果。
可选地,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
检测目标数据引用类型的数据引用结果;
在确定所述数据引用结果为结束引用的情况下,删除所述映射关系,并对所述待缩容存储区块及所述待缩容存储区块中待迁移文件对应的元数据进行释放处理。
根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
接收模块,被配置为接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息;
迁移模块,被配置为根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
建立模块,被配置为根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息;
根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述数据处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
本说明书一个实施例通过接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息,根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
本说明书实施例在进行数据迁移以实现缩容的情况下,通过建立待迁移数据迁移前后的存储地址之间映射关系的方式,一方面能够保证在不中断项目执行过程的条件下,即可进行数据迁移以进行缩容,另一方面,能够实现在数据迁移后,通过映射关系即可进行数据的正确访问,从而有利于保证项目的运行速度,提高项目运行效率,并有利于节约共享存储空间的存储资源。
附图说明
图1是本说明书一个实施例提供的一种数据处理方法的流程图;
图2是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
图3是本说明书一个实施例提供的一种数据处理装置的结构示意图;
图4是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
PBD:共享存储虚拟设备,类似磁盘设备,允许同一个虚拟设备在不同物理机上挂载,从而实现不同物理机共享访问同一个PBD的功能。
POLARSTORE:PBD底层的实现,为保存在PBD上的数据提供了备份和容灾的能力。
chunk:把一个PBD涉及的线性地址空间划分为多个相同大小的区域,每个区域称为一个chunk,每个chunk包含的线性地址空间所存储的数据集合,是POLARSTORE容灾和迁移的最小单位,目前chunk的划分是按照10G的粒度。
PFS(POLAR file system):基于PBD实现的一个通用文件***,为分布式数据库服务。可以运行在POLARSTORE提供的PBD上,称为PFS on POLARSTORE,也可以运行在普通物理机的磁盘上,称为PFS on DISK,还可以运行在普通厂商提供的云盘上,称为PFS on ESSD。
在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
PFS目前只支持在线扩容,不支持在线缩容。对于PFS on POLARSTORE来说,一旦PBD扩容后,包含的chunk数就不能减少,浪费chunk相关的管理资源。对于PFS on DISK或者PFS on ESSD来说,不管chunk有没有写入数据都会实际占用10G的磁盘设备空间,这样用户需要使用的磁盘设备空间必须一直按照最大需求进行配置,对于存储空间波动较大或者持续减少的用户,浪费了很多不需要使用的磁盘设备空间。
绝大多数文件***在缩容方面只支持离线缩容,不支持在线缩容,离线缩容需要比较长时间的对项目执行过程进行中断,而在线缩容无需对项目执行过程进行中断,对项目的影响非常小。另外,在线缩容过程中的数据/元数据迁移通常会遇到内存中的长生命周期引用和短生命周期引用的修改问题,其中短生命周期引用可能无法修改。
基于此,本说明书实施例提供了一种在线缩容的数据处理方法,通过接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息,根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
本说明书实施例在进行数据迁移以实现缩容的情况下,通过建立待迁移数据迁移前后的存储地址之间映射关系的方式,一方面能够保证在不中断项目执行过程的条件下,即可进行数据迁移以进行缩容,另一方面,能够实现在数据迁移后,通过映射关系即可进行数据的正确访问,从而有利于保证项目的运行速度,提高项目运行效率,并有利于节约共享存储空间的存储资源。
图1示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,具体包括以下步骤。
步骤102,接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息。
具体的,本说明书实施例提供的数据处理方法用于实现对分布式数据库的共享存储空间进行在线缩容,即在不中断相关项目的执行过程即可实现存储空间的缩容。
由于分布式数据库中的数据通常需存储在具备数据存储能力的存储空间,而本说明书实施例的分布式数据库为基于共享存储实现的一个关系型数据库,因此,其存储空间即为共享存储空间。
实际应用中,所述共享存储空间包括但不限于磁盘及云盘等,本说明书实施例以所述共享存储空间为磁盘为例,文件***就是在硬盘上存储信息的格式,磁盘可以分成一个或多个分区,每个分区包含一个文件***。
本说明书实施例中,磁盘按照10G的粒度分成多个存储区块(chunk),每个chunk包含10G大小的线性空间,并且每个chunk都按照某种规则存放了元数据和数据。
由于文件***目前只支持在线扩容或离线缩容,而不支持在线缩容。对于PFS onPOLARSTORE来说,一旦磁盘扩容后,磁盘所包含的chunk数就不能减少,浪费chunk相关的管理资源。对于PFS on DISK或者PFS on ESSD来说,不管chunk有没有写入数据都会实际占用10G的磁盘设备空间,这样用户需要使用的磁盘设备空间必须一直按照最大需求进行配置,对于存储空间波动较大或者持续减少的用户,浪费了很多不需要使用的磁盘设备空间,因此,为克服此类问题,则在有缩容需求的情况下,即可对磁盘进行缩容处理。
缩容的过程是把共享存储空间的容量减少的过程,目前绝大多数磁盘在缩容方面只支持离线缩容,不支持在线缩容,离线缩容需要比较长时间中断项目,影响项目的运行速度及运行效率。
因此,本说明书实施例采用将共享存储空间中排序靠后的部分存储区块中的数据迁移至排序靠前的存在空闲空间的存储区块的方式,来达到对共享存储空间进行缩容的目的。
进一步的,所述缩容配置信息即可以是共享存储空间需要缩容到的目标大小。
本说明书实施例的分布式数据库中包含管控模块,该管控模块在确定分布式数据库中某个实例使用的共享存储空间可以进行缩容的情况下,即可通知分布式数据库开始缩容,并传递一个共享存储空间需要缩容到的目标大小给分布式数据库中,即由分布式数据库接收针对该分布式数据库中共享存储空间的缩容指令,该指令中携带有前述的缩容配置信息。
步骤104,根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块。
具体的,在接收到缩容指令之后,即可基于该缩容指令中携带的缩容配置信息对该共享存储空间进行缩容处理,具体可先根据缩容配置信息确定共享存储空间中的待缩容存储区块和目标存储区块,然后将待缩容存储区块中的待迁移数据迁移至目标存储区块。
其中,所述待缩容存储区块,即需要对其进行缩容处理的存储区块,而目标存储区块即为共享存储空间中除待缩容存储区块之外的其他存在空闲存储空间的存储区块。对待缩容存储区块进行缩容处理,即将待缩容存储区块中的数据迁移至目标存储区块。
具体实施时,根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,具体可通过以下方式实现:
根据所述缩容指令中携带的缩容配置信息确定所述共享存储空间的目标空间大小;
根据所述目标空间大小及所述共享存储空间对应的预设存储区块大小,确定所述共享存储空间中待缩容的存储区块数量;
根据所述待缩容的存储区块数量确定所述共享存储空间中的待缩容存储区块及目标存储区块。
具体的,在接收到缩容指令后,由于该缩容指令中携带缩容配置信息,而所述缩容配置信息即可以是共享存储空间需要缩容到的目标大小,因此,可直接根据所述缩容配置信息确定共享存储空间的目标空间大小,即缩容后的共享存储空间的大小,然后根据共享存储空间中存储区块的划分粒度,以及缩容后共享存储空间的大小,确定共享存储空间中需要进行缩容的存储区块的数量,以根据该数量确定共享存储空间中哪部分存储区块为待缩容存储区块,哪部分为目标存储区块。
实际应用中,可按照共享存储空间中存储区块的先后顺序确定待缩容存储区块和目标存储区块,例如,本说明书实施例中,磁盘按照10G的粒度划分存储区块,而磁盘在未进行缩容之前包含10个存储区块,接收到缩容指令后,根据缩容配置信息确定共享存储空间的目标大小为70G,因此,确定需将共享存储空间中的存储区块缩容至7个,因此,可按照共享存储空间中10个存储区块的先后顺序,将排序靠前的7个存储区块确定为目标存储区块,并将排序靠后的3个存储区块确定为待缩容存储区块,以将待缩容存储区块中的数据迁移至目标存储区块。
进一步的,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,具体即调用所述分布式数据库中的数据读写节点,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块。
具体的,如前所述,本说明书实施例中的分布式数据库为基于共享存储实现的一个关系型数据库,而这类型的数据库中通常包含数据读写节点和数据只读节点,并且通常只有一个数据读写节点,可以用于读数据也可以用于写数据,数据只读节点可以有多个,只能读数据,但是数据读写节点和数据只读节点访问的存储数据是同一份,这就是共享存储的含义。
因此,在需要对共享存储空间进行缩容处理时,可调用数据读写节点将对待缩容存储区块中的待迁移数据进行迁移处理,即将共享存储空间排序靠后的几个待缩容存储区块中的数据迁移至共享存储空间中排序靠前的目标存储区块。具体可使用分布式数据库的数据读写实例调用PFS的接口PFS_mount_shrinkfs_start触发实例内部的PFS组件开始缩容并迁移数据,并向管控模块返回已经开始进行数据迁移的提示信息。
另外,在确定共享存储空间中待缩容的存储区块数量后,即可确定缩容后共享存储空间中的存储区块的数量,然后可将缩容后共享存储空间的存储区块的数量,持久化保存到共享存储空间的第一个存储区块的某个位置,持久化共享存储空间缩容的状态,然后禁止共享存储空间末尾准备缩容的存储区块新的元数据分配,也即不再从共享存储空间末尾的待缩容存储区块分配元数据给文件。
除此之外,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,具体可将所述待缩容存储区块中待迁移文件对应的元数据迁移至所述目标存储区块;
相应的,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
基于所述元数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
具体的,由于每个存储区块都按照某种规则存放了元数据和数据,而元数据主要是描述数据属性(property)的信息,用来支持如指示文件或数据的存储位置、历史数据、资源查找、文件纪录等功能。因此,对待迁移数据进行迁移,实际包含两部分,一部分是对元数据的迁移,另一部分是对数据的迁移;对元数据进行迁移,即将待缩容存储区块中待迁移文件对应的元数据迁移至目标存储区块。
另外,在数据读写节点迁移元数据的事务产生一个映射关系之后,这个映射关系会持久化到journal文件,具体即数据读写节点中的PFS模块在根据某个操作修改存储区块中的一个文件时,即会构建一个待处理事务,包括这个操作所有相关的元数据的迁移和修改,然后将待处理事务的内容持久化到共享存储区块的日志文件(journal文件)中,因此,在将待缩容存储区块中的待迁移数据迁移至目标存储区块之后,数据读写节点会基于元数据的迁移结果构建待处理事务,并将该待处理事务持久化存储到共享存储空间的日志文件。
由于待处理事务中包含元数据迁移前后的映射关系,即迁移前的存储地址与迁移后的存储地址间的映射关系,因此,数据读写节点的PFS模块和数据只读节点的PFS模块之间会通过日志文件来同步元数据的修改,使得在数据读写节点上针对某个文件进行修改后,在数据只读节点上能访问到这个文件的最新元数据。
或者,如果是对数据的迁移,同样的,将待缩容存储区块中的待迁移数据迁移至目标存储区块之后,还包括:
基于所述待迁移数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
具体的,数据读写节点的PFS模块在迁移数据时也会构建一个待处理事务,然后把待处理事务相关的修改数据持久化到journal文件。
其中,该待处理事务中包括数据迁移前后存储地址的映射关系,将待处理事务的内容持久化到共享存储区块的日志文件后,数据读写节点的PFS模块和数据只读节点的PFS模块之间会通过日志文件来同步数据的修改,使得在数据读写节点上针对某个数据进行迁移后,在数据只读节点上能够根据这一映射关系访问到这个数据。
步骤106,根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
具体的,对每个待迁移数据的迁移过程均涉及将历史存储地址的数据或元数据迁移到新的存储地址,而在对待迁移数据进行迁移之前,可能已经存在对该待迁移数据的引用。由于迁移之后待迁移数据的存储地址(引用地址)发生变化,因此,需同步修改这部分待迁移数据的引用,并且为确保数据迁移之后,分布式数据库的普通数据访问请求能够访问到正确的数据或者元数据,本说明书实施例可确定待迁移数据在迁移之前的历史存储地址,以及迁移后的新的迁移存储地址,并建立该待迁移数据的历史存储地址与迁移存储地址间的映射关系,以实现共享存储空间的在线缩容。
另外,本说明书实施例中的索引节点即可以是i节点,即inode,索引节点号即为inode对应的节点号。
加锁是为了保护待迁移数据的正常访问,因此,在进行数据迁移过程中,可对待迁移数据对应的索引节点号进行加锁处理。实际应用中,加锁的类型分三类:rdlock(读)、wrlock(写)、xlock(互斥),而本说明书实施例采用的加锁类型为xlock(互斥),加锁后迁移元数据或迁移数据的事务与分布式数据库中的相关的I/O请求的事务互斥,即在对待迁移数据进行迁移,并在迁移未完成的情况下,无法实现对该待迁移数据的访问,以防止访问到错误的数据。因此,本说明书实施例中,每次在迁移一个元数据/数据时,使用inode级别的细粒度锁让迁移事务和普通数据访问事务互斥。
进一步的,将待处理事务持久化到日志文件后,分布式数据库中的数据只读节点可从该日志文件中获取待处理事务,并基于待处理事务中包含的信息实现与数据读写节点的数据的同步,具体可通过以下方式实现:
调用所述分布式数据库中的数据只读节点,获取并对所述日志文件中的所述待处理事务进行解析,获得所述待迁移数据的迁移结果;
根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系。
具体的,数据读写节点将待迁移数据迁移至目标存储区块,并基于待迁移数据的迁移结果产生该待迁移数据迁移前后的存储地址间的映射关系,然后基于该映射关系构建待处理事务,并将待处理事务持久化至日志文件后,分布式数据库可调用数据只读节点对该待处理事务进行解析,获得待迁移数据的迁移结果,该迁移结果中即包含待迁移数据迁移前后的存储地址,数据只读节点获取这一解析结果后,即可建立该待迁移数据的历史存储地址与迁移后的迁移存储地址间的映射关系,以实现数据只读节点的信息与数据读写节点同步,从而实现共享存储空间的在线缩容。
此外,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,包括:
基于所述缩容指令创建数据迁移线程,并调用所述数据迁移线程,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
相应的,所述根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,包括:
获取地址存储线程中所述待迁移数据的历史引用地址,并根据迁移结果建立所述历史引用地址与所述待迁移数据的迁移存储地址间的映射关系。
具体的,数据读写节点在接收到缩容指令后,会创建一个数据迁移线程用于处理缩容的任务,包括迁移元数据和数据,即调用数据迁移线程将待缩容存储区块中的待迁移数据迁移至目标存储区块,数据迁移后,即可建立待迁移数据的历史引用地址与迁移后的新的迁移存储地址间的映射关系,以实现数据只读节点的信息与数据读写节点同步,从而实现共享存储空间的在线缩容。
进一步的,进行数据迁移之后,可接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据的数据迁移状态;
若为迁移完成,则确定所述待迁移数据关联的数据引用类型是否为目标数据引用类型;
若是,则获取所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并基于所述映射关系中的所述迁移存储地址获取所述待迁移数据并返回。
具体的,对待迁移数据的数据引用类型包括但不限于强引用、软引用、弱引用或幻象引用等,而强引用为正常的引用,生命周期最长,软引用生命周期比强引用短,弱引用的生命周期比软引用还要短。若根据生命周期对上述四种数据引用类型进行进一步划分,则可将强引用划分为长生命周期引用,将软引用、弱引用、幻象引用划分为短生命周期引用,而所述目标数据引用类型即为短生命周期引用。
在对待迁移数据进行迁移时,由于迁移后的待迁移数据的存储地址发生变化,因此,需同步修改这部分数据的引用,但由于短生命周期引用通常是某个线程堆栈上的临时变量,数据迁移的过程中无法被缩容线程修改,面对这一问题时,目前的离线缩容方案中若存在对待迁移数据的短生命周期引用,为保证缩容过程能够正常执行,并保证数据迁移之后,分布式数据库的普通数据访问请求能够访问到正确的数据或者元数据,通常会先回收短生命周期引用指向的对象,这种处理方式则会导致项目运行的中断。
本说明书实施例中,则考虑通过引入数据迁移前后的存储地址间的映射关系的方式,在需要使用短生命周期引用这一数据引用类型引用待迁移数据时,可根据映射关系确定待迁移数据的新的存储地址,以实现在数据迁移后仍能基于该映射关系实现对存在短生命周期引用的待迁移数据的正确访问,而无需对短生命周期引用进行回收,也无需中断项目的运行过程。
另外,对于待迁移数据的长生命周期引用这一数据引用类型,则可在数据迁移过程中同步将其引用的历史引用地址修改为新的迁移存储地址,迁移完成后,可直接根据历史引用地址的修改结果实现数据的正确访问。但实际应用中,仍可建立存在长生命周期引用的待迁移数据迁移前后的存储地址间的映射关系,以确保数据迁移之后,分布式数据库的普通数据访问请求能够访问到正确的数据或者元数据。
进一步的,在进行数据迁移的过程中,若接收到针对该待迁移数据的访问请求,则可确定所述待迁移数据的数据迁移状态,若为迁移完成,并在确定待迁移数据关联的数据引用类型为短生命周期引用的情况下,则获取所述待迁移数据的历史引用地址与所述迁移存储地址间的映射关系,并基于所述映射关系中的所述迁移存储地址获取所述待迁移数据并返回。
或者,在进行数据迁移之后,可接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据对应的索引节点的节点标识,并根据所述节点标识确定所述待迁移数据的迁移状态;
若为正在迁移,则返回访问失败的结果。
具体的,所述索引节点即可以是i节点,即inode。
由于进行数据迁移过程中,使用inode级别的细粒度锁让迁移事务和普通数据访问事务互斥,因此,本说明书实施例中,在接收针对待迁移数据的数据访问请求后,可确定该待迁移数据对应的i节点的节点标识(节点号),并根据该节点标识确定待迁移数据的迁移状态,若为正在迁移,则返回访问失败的结果。
实际应用中,当用户输入inode的节点标识后,只有在inode表中找到该节点标识后,才允许用户打开该inode,以进行数据访问,若用户访问的待迁移数据的数据迁移状态为正在迁移,则无法在inode表中找到该节点标识,因此,无法进行正常的数据访问,可返回访问失败的结果。
除此之外,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
检测目标数据引用类型的数据引用结果;
在确定所述数据引用结果为结束引用的情况下,删除所述映射关系,并对所述待缩容存储区块及所述待缩容存储区块中待迁移文件对应的元数据进行释放处理。
具体的,管控模块可使用PFS工具轮询共享存储空间的缩容状态,若确定缩容完成,则可等待包含短生命周期引用的数据引用过程完成,以避免后续读写数据到错误的位置,然后删除映射关系,将共享存储空间的存储区块的数量改成缩容后的存储区块的数量,然后将共享存储空间的状态改为非缩容状态,并释放待迁移存储区块对应内存中的元数据。
进一步的,管控模块在确定缩容完成后,可通知分布式数据库中的数据只读节点缩容完成或者取消,数据只读节点调用PFS的接口PFS_mount_shrinkfs触发实例内部的缩容收尾工作,包括等待短生命周期引用的数据引用过程全部完成,销毁映射关系,并释放待缩容存储区块对应内存中的元数据。
接着,管控模块可通知底层的POLARSTORE释放待迁移存储区块的存储空间,达到对共享存储空间进行缩容的目的。
本说明书一个实施例通过接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息,根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
本说明书实施例在进行数据迁移以实现缩容的情况下,通过建立待迁移数据迁移前后的存储地址之间映射关系的方式,一方面能够保证在不中断项目执行过程的条件下,即可进行数据迁移以进行缩容,另一方面,能够实现在数据迁移后,通过映射关系即可进行数据的正确访问,从而有利于保证项目的运行速度,提高项目运行效率,并有利于节约共享存储空间的存储资源。
下述结合附图2,以本说明书提供的数据处理方法在硬盘缩容的应用为例,对所述数据处理方法进行进一步说明。其中,图2示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体包括以下步骤。
步骤202,管控模块针对硬盘1向信息处理模块发送缩容指令。
步骤204,信息处理模块调用数据读写节点进行缩容处理。
步骤206,数据读写节点根据缩容指令中携带的缩容配置信息,确定硬盘1中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块。
步骤208,数据读写节点向管控模块发送已经开始进行数据迁移的提示信息。
步骤210,数据读写节点根据迁移结果,建立待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系。
步骤212,管控模块轮询迁移是否完成。
步骤214,数据读写节点在确定短生命周期引用的数据引用结果为结束引用的情况下,删除所述映射关系,并对待缩容存储区块及待缩容存储区块中待迁移文件对应的元数据进行释放处理。
步骤216,管控模块轮询迁移是否完成。
迁移完成后,执行步骤218。
步骤218,管控模块向信息处理节点发送迁移完成的提示信息。
步骤220,信息处理模块调用数据只读节点建立待迁移数据的历史引用地址与迁移后的待迁移数据的迁移存储地址间的映射关系。
步骤222,数据只读节点在确定短生命周期引用的数据引用结果为结束引用的情况下,删除所述映射关系,并对待缩容存储区块及待缩容存储区块中待迁移文件对应的元数据进行释放处理。
步骤224,数据只读节点向管控模块发送释放存储区块的提示信息。
步骤226,管控模块释放存储区块。
本说明书实施例在进行数据迁移以实现缩容的情况下,通过建立待迁移数据迁移前后的存储地址之间映射关系的方式,一方面能够保证在不中断项目执行过程的条件下,即可进行数据迁移以进行缩容,另一方面,能够实现在数据迁移后,通过映射关系即可进行数据的正确访问,从而有利于保证项目的运行速度,提高项目运行效率,并有利于节约共享存储空间的存储资源。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图3示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图3所示,该装置包括:
接收模块302,被配置为接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息;
迁移模块304,被配置为根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
建立模块306,被配置为根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
可选地,所述迁移模块304,进一步被配置为:
根据所述缩容指令中携带的缩容配置信息确定所述共享存储空间的目标空间大小;
根据所述目标空间大小及所述共享存储空间对应的预设存储区块大小,确定所述共享存储空间中待缩容的存储区块数量;
根据所述待缩容的存储区块数量确定所述共享存储空间中的待缩容存储区块及目标存储区块。
可选地,所述迁移模块304,进一步被配置为:
调用所述分布式数据库中的数据读写节点,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块。
可选地,所述迁移模块304,进一步被配置为:
将所述待缩容存储区块中待迁移文件对应的元数据迁移至所述目标存储区块;
相应的,所述数据处理装置,还包括第一构建模块,被配置为:
基于所述元数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
可选地,所述数据处理装置,还包括第二构建模块,被配置为:
基于所述待迁移数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
可选地,所述数据处理装置,还包括调用模块,被配置为:
调用所述分布式数据库中的数据只读节点,获取并对所述日志文件中的所述待处理事务进行解析,获得所述待迁移数据的迁移结果;
根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系。
可选地,所述迁移模块304,进一步被配置为:
基于所述缩容指令创建数据迁移线程,并调用所述数据迁移线程,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
相应的,所述建立模块306,进一步被配置为:
获取地址存储线程中所述待迁移数据的历史引用地址,并根据迁移结果建立所述历史引用地址与所述待迁移数据的迁移存储地址间的映射关系。
可选地,所述数据处理装置,还包括第一接收模块,被配置为:
接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据的数据迁移状态;
若为迁移完成,则确定所述待迁移数据关联的数据引用类型是否为目标数据引用类型;
若是,则获取所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并基于所述映射关系中的所述迁移存储地址获取所述待迁移数据并返回。
可选地,所述数据处理装置,还包括第二接收模块,被配置为:
接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据对应的索引节点的节点标识,并根据所述节点标识确定所述待迁移数据的迁移状态;
若为正在迁移,则返回访问失败的结果。
可选地,所述数据处理装置,还包括释放模块,被配置为:
检测目标数据引用类型的数据引用结果;
在确定所述数据引用结果为结束引用的情况下,删除所述映射关系,并对所述待缩容存储区块及所述待缩容存储区块中待迁移文件对应的元数据进行释放处理。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图4示出了根据本说明书一个实施例提供的一种计算设备400的结构框图。该计算设备400的部件包括但不限于存储器410和处理器420。处理器420与存储器410通过总线430相连接,数据库450用于保存数据。
计算设备400还包括接入设备440,接入设备440使得计算设备400能够经由一个或多个网络460通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备440可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备400的上述部件以及图4中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图4所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备400可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
其中,处理器420用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种数据处理方法,包括:
接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息;
根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
2.根据权利要求1所述的数据处理方法,所述根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,包括:
根据所述缩容指令中携带的缩容配置信息确定所述共享存储空间的目标空间大小;
根据所述目标空间大小及所述共享存储空间对应的预设存储区块大小,确定所述共享存储空间中待缩容的存储区块数量;
根据所述待缩容的存储区块数量确定所述共享存储空间中的待缩容存储区块及目标存储区块。
3.根据权利要求1或2所述的数据处理方法,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,包括:
调用所述分布式数据库中的数据读写节点,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块。
4.根据权利要求1所述的数据处理方法,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,包括:
将所述待缩容存储区块中待迁移文件对应的元数据迁移至所述目标存储区块;
相应的,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
基于所述元数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
5.根据权利要求1所述的数据处理方法,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
基于所述待迁移数据的迁移结果构建待处理事务,并将所述待处理事务持久化存储至所述共享存储空间的日志文件。
6.根据权利要求4或5所述的数据处理方法,还包括:
调用所述分布式数据库中的数据只读节点,获取并对所述日志文件中的所述待处理事务进行解析,获得所述待迁移数据的迁移结果;
根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系。
7.根据权利要求1或2所述的数据处理方法,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块,包括:
基于所述缩容指令创建数据迁移线程,并调用所述数据迁移线程,将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
相应的,所述根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,包括:
获取地址存储线程中所述待迁移数据的历史引用地址,并根据迁移结果建立所述历史引用地址与所述待迁移数据的迁移存储地址间的映射关系。
8.根据权利要求1至5任意一项所述的数据处理方法,还包括:
接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据的数据迁移状态;
若为迁移完成,则确定所述待迁移数据关联的数据引用类型是否为目标数据引用类型;
若是,则获取所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并基于所述映射关系中的所述迁移存储地址获取所述待迁移数据并返回。
9.根据权利要求1至5任意一项所述的数据处理方法,还包括:
接收针对所述待迁移数据的数据访问请求;
确定所述待迁移数据对应的索引节点的节点标识,并根据所述节点标识确定所述待迁移数据的迁移状态;
若为正在迁移,则返回访问失败的结果。
10.根据权利要求1至5任意一项所述的数据处理方法,所述将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块之后,还包括:
检测目标数据引用类型的数据引用结果;
在确定所述数据引用结果为结束引用的情况下,删除所述映射关系,并对所述待缩容存储区块及所述待缩容存储区块中待迁移文件对应的元数据进行释放处理。
11.一种数据处理装置,包括:
接收模块,被配置为接收针对分布式数据库中共享存储空间的缩容指令,其中,所述缩容指令中携带有缩容配置信息;
迁移模块,被配置为根据所述缩容配置信息,确定所述共享存储空间中的待缩容存储区块以及目标存储区块,并将所述待缩容存储区块中的待迁移数据迁移至所述目标存储区块;
建立模块,被配置为根据迁移结果,建立所述待迁移数据的历史引用地址与迁移后的迁移存储地址间的映射关系,并对所述待迁移数据对应的索引节点号进行加锁处理,以响应所述缩容指令。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述数据处理方法的步骤。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述数据处理方法的步骤。
14.一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1至10任意一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111050978.5A CN113946542A (zh) | 2021-09-08 | 2021-09-08 | 数据处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111050978.5A CN113946542A (zh) | 2021-09-08 | 2021-09-08 | 数据处理方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946542A true CN113946542A (zh) | 2022-01-18 |
Family
ID=79327949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111050978.5A Pending CN113946542A (zh) | 2021-09-08 | 2021-09-08 | 数据处理方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946542A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098035A (zh) * | 2022-07-08 | 2022-09-23 | 天津华呈鼎丰科技有限公司 | 基于多端云计算集群的大数据存储方法及*** |
-
2021
- 2021-09-08 CN CN202111050978.5A patent/CN113946542A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098035A (zh) * | 2022-07-08 | 2022-09-23 | 天津华呈鼎丰科技有限公司 | 基于多端云计算集群的大数据存储方法及*** |
CN115098035B (zh) * | 2022-07-08 | 2022-12-13 | 四川银亿科技有限公司 | 基于多端云计算集群的大数据存储方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11243922B2 (en) | Method, apparatus, and storage medium for migrating data node in database cluster | |
CN113297166B (zh) | 数据处理***、方法以及装置 | |
CN107885758B (zh) | 一种虚拟节点的数据迁移方法和虚拟节点 | |
US20230087447A1 (en) | Data migration method and device | |
US20190138405A1 (en) | Data Loading Method and Apparatus | |
CN111078667B (zh) | 一种数据迁移的方法以及相关装置 | |
EP3786802B1 (en) | Method and device for failover in hbase system | |
US20200293412A1 (en) | Log Management Method, Server, and Database System | |
CN111666266A (zh) | 一种数据迁移方法及相关设备 | |
TW201804346A (zh) | 針對資料庫的資料修改請求處理方法和裝置 | |
CN114416425A (zh) | 进程拷贝方法以及装置 | |
US11157456B2 (en) | Replication of data in a distributed file system using an arbiter | |
CN113946542A (zh) | 数据处理方法以及装置 | |
WO2023241528A1 (zh) | 数据处理方法以及装置 | |
CN113297159B (zh) | 数据存储方法以及装置 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
CN110119389B (zh) | 虚拟机块设备的写操作方法、快照创建方法及装置 | |
US10146791B2 (en) | Open file rebalance | |
CN115586872A (zh) | 一种容器镜像管理方法、装置、设备及存储介质 | |
CN114116681A (zh) | 数据迁移方法及装置 | |
CN114490540A (zh) | 数据存储方法、介质、装置和计算设备 | |
CN112685130A (zh) | 分布式存储环境下的虚拟机备份方法、装置和存储介质 | |
US20200371849A1 (en) | Systems and methods for efficient management of advanced functions in software defined storage systems | |
US20230195579A1 (en) | Peer Recovery From Remote Storage | |
CN111241068B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40065676 Country of ref document: HK |