CN112559448A - 数据状态迁移方法、装置、计算机设备和存储介质 - Google Patents
数据状态迁移方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112559448A CN112559448A CN202110188347.3A CN202110188347A CN112559448A CN 112559448 A CN112559448 A CN 112559448A CN 202110188347 A CN202110188347 A CN 202110188347A CN 112559448 A CN112559448 A CN 112559448A
- Authority
- CN
- China
- Prior art keywords
- file
- state
- target
- data
- processing
- 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
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/13—File access structures, e.g. distributed indices
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据状态迁移方法、装置、计算机设备和存储介质。所述方法包括:基于待处理文件路径查找满足状态迁移条件的目标文件;将所述目标文件标记为与所述状态迁移条件匹配的中间状态;当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;对所述数据对象清单中的数据对象进行数据处理;当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。采用本方法能够确保数据状态迁移后的目标文件的正确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据状态迁移方法、装置、计算机设备和存储介质。
背景技术
数据生命周期管理(data life cycle management,DLM)用于管理数据在整个生命周期内的数据状态的迁移,比如,将新的数据初始存储在高速且昂贵的存储媒介上,随着时间的推移,存储在高速且昂贵的存储媒介上的数据使用频率变低后,则将其迁移存储在速度较低且便宜的存储媒介上,直至数据过时被删除。因此,数据生命周期管理可以通过对数据状态进行迁移,从而实现降低数据的存储成本。
传统的数据状态迁移方法中,通常是对基于对象存储的单个数据对象所进行的数据状态迁移,单个文件通常包含有多个数据对象,采用传统方法进行迁移时,可能因无法确保同一文件中各个数据对象的状态迁移保持同步进行,从而导致数据状态迁移后的文件产生错误。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高文件的数据状态迁移的正确性的数据状态迁移方法、装置、计算机设备和存储介质。
一种数据状态迁移方法,所述方法包括:
基于待处理文件路径查找满足状态迁移条件的目标文件;
将所述目标文件标记为与所述状态迁移条件匹配的中间状态;
当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;
对所述数据对象清单中的数据对象进行数据处理;
当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。
在一个实施例中,所述方法还包括:
基于回热任务对应的回热模式确定问询周期;
根据所述问询周期确定问询时刻,以使达到所述问询时刻时,执行向所述存储服务器发送进度问询请求的步骤。
在一个实施例中,所述数据处理包括归档处理、删除处理和回热处理中的至少一种;所述将所述目标文件标记为与所述状态迁移条件匹配的中间状态,包括:
在所述目标文件的索引节点中标记与所述状态迁移条件匹配的中间状态;
所述当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态,包括:
当完成所述归档处理、所述删除处理和所述回热处理中的至少一种后,在所述目标文件的索引节点中将所述中间更新为目标状态;
其中,所述目标状态包括以下至少之一:与所述归档处理对应的归档状态、与所述删除处理对应的删除状态,以及与所述回热处理对应的回热状态。
一种数据状态迁移装置,所述装置包括:
目标文件查找模块,用于基于待处理文件路径查找满足状态迁移条件的目标文件;
状态标记模块,用于将所述目标文件标记为与所述状态迁移条件匹配的中间状态;
清单获取模块,用于当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;
处理模块,用于对所述数据对象清单中的数据对象进行数据处理;
状态迁移模块,用于当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。
在一个实施例中,所述目标文件查找模块,还用于:
响应于状态定时迁移任务,基于待处理文件路径扫描对应的文件目录树,以获得候选文件;
在所述候选文件中,确定满足状态迁移条件的目标文件。
在一个实施例中,所述文件目录树为目录字典树,所述目标文件查找模块,还用于:
基于所述待处理文件路径,从所述目录字典树的根节点开始逐层扫描所述目录字典树的各个节点,直至获得所述待处理文件路径上的全部候选文件。
在一个实施例中,所述状态迁移条件包括第一时间条件和第一读写条件;所述目标文件查找模块,还用于:
获取所述候选文件的处理时间戳;
在所述候选文件中,确定所述处理时间戳满足所述第一时间条件所对应的待归档文件;
获取所述待归档文件的读写状态;
在所述待归档文件中,确定所述读写状态满足所述第一读写条件所对应的目标文件;
所述处理模块,还用于:
对所述数据对象清单中的数据对象进行归档处理。
在一个实施例中,所述第一时间条件包括预设归档时长;所述目标文件查找模块,还用于:
基于当前时间和所述处理时间戳,确定所述候选文件的存在时长;
在所述候选文件中,获取所述存在时长大于预设归档时长的待归档文件。
在一个实施例中,所述第一时间条件为预设时长内的预设处理频次;所述目标文件查找模块,还用于:
基于所述处理时间戳确定所述候选文件的处理频次;
在所述候选文件中获取所述处理频次不大于预设处理频次的文件;
将获取的所述文件确定为所述待归档文件。
在一个实施例中,所述状态迁移条件包括第二时间条件和第二读写条件;所述目标文件查找模块,还用于:
获取所述候选文件的处理时间戳;
在所述候选文件中,确定所述处理时间戳满足所述第二时间条件所对应的待删除文件;
获取所述待删除文件的读写状态;
在所述待删除文件中,确定所述读写状态满足所述第二读写条件所对应的目标文件;
所述处理模块,还用于:
对所述数据对象清单中的数据对象进行删除。
在一个实施例中,所述待删除文件包括第一待删除文件和第二待删除文件;所述目标文件查找模块,还用于:
基于所述第一待删除文件的读写状态,确定所述第一待删除文件中满足所述第二读写条件的目标待删除文件;
将所述目标待删除文件和所述第二待删除文件,作为所述目标文件。
在一个实施例中,所述状态迁移条件包括回热迁移条件,所述目标文件查找模块,还用于:
在所述候选文件的索引节点中确定处于绑定状态的目标节点;
通过所述目标节点获取满足所述回热迁移条件的目标文件;
所述处理模块,还用于:
对所述数据对象清单中的数据对象进行回热处理。
在一个实施例中,所述目标文件查找模块,还用于:
获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号;
建立所述待回热文件路径和所述索引节点号之间的绑定关系;
所述在所述候选文件的索引节点中确定处于绑定状态的目标节点包括:
根据所述绑定关系,确定所述候选文件的索引节点中处于绑定状态的目标节点,以执行所述通过所述目标节点获取满足所述回热迁移条件的目标文件的步骤;所述目标文件属于所述待回热文件。
在一个实施例中,所述处理模块,还用于:
从所述数据对象清单中获取各数据对象的对象标识;
根据所述对象标识生成与所述中间状态匹配的数据处理请求;
将所述数据处理请求发送至存储服务器,以使所述存储服务器基于所述数据处理请求对存储的、且与所述对象标识对应的数据对象进行数据处理。
在一个实施例中,所述数据处理包括回热处理,所述处理模块,还用于:
在所述存储服务器对存储的、且所述对象标识对应的所述数据对象进行回热处理的过程中,当达到问询时刻时,向所述存储服务器发送进度问询请求;
接收所述存储服务器基于所述进度问询请求所返回的应答消息;
基于所述应答消息确定回热处理的完成进度。
在一个实施例中,所述处理模块,还用于:
基于回热任务对应的回热模式确定问询周期;
根据所述问询周期确定问询时刻,以使达到所述问询时刻时,执行向所述存储服务器发送进度问询请求的步骤。
在一个实施例中,所述数据处理包括归档处理、删除处理和回热处理中的至少一种;所述状态标记模块,还用于:
在所述目标文件的索引节点中标记与所述状态迁移条件匹配的中间状态;
所述状态迁移模块,还用于:
当完成所述归档处理、所述删除处理和所述回热处理中的至少一种后,在所述目标文件的索引节点中将所述中间更新为目标状态;
其中,所述目标状态包括以下至少之一:与所述归档处理对应的归档状态、与所述删除处理对应的删除状态,以及与所述回热处理对应的回热状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
基于待处理文件路径查找满足状态迁移条件的目标文件;
将所述目标文件标记为与所述状态迁移条件匹配的中间状态;
当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;
对所述数据对象清单中的数据对象进行数据处理;
当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
基于待处理文件路径查找满足状态迁移条件的目标文件;
将所述目标文件标记为与所述状态迁移条件匹配的中间状态;
当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;
对所述数据对象清单中的数据对象进行数据处理;
当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。
一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行以下步骤:
基于待处理文件路径查找满足状态迁移条件的目标文件;
将所述目标文件标记为与所述状态迁移条件匹配的中间状态;
当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;
对所述数据对象清单中的数据对象进行数据处理;
当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。
上述数据状态迁移方法、装置、计算机设备和存储介质,基于待处理文件路径查找满足状态迁移条件的目标文件,将目标文件标记为与状态迁移条件匹配的中间状态,当完成标记后,通过获取针对目标文件中各数据对象的数据对象清单,并对数据对象清单中的数据对象进行数据处理,从而可以确保对目标文件所包含的数据对象进行同步处理,并在对全部数据对象均完成数据处理后,将目标文件从中间状态迁移至目标状态,从而实现了对目标文件的数据对象的数据状态迁移的同步进行,确保了数据状态迁移后的目标文件的正确性。
附图说明
图1为一个实施例中数据状态迁移方法的应用环境图;
图2为一个实施例中文件的数据状态示意图;
图3为一个实施例中数据状态迁移方法的流程示意图;
图4为一个实施例中文件的目录字典树结构示意图;
图5为一个实施例中数据处理步骤的流程示意图;
图6为一个实施例中回热任务的任务状态示意图;
图7为另一个实施例中数据状态迁移方法的流程示意图;
图8为一个实施例中数据状态迁移装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据获取方法能够基于云技术来实现。其中,云技术(Cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
本申请提供的数据状态迁移方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,服务器104可以是独立的服务器,也可以包括生命周期管理服务器104a、元数据服务器104b和存储服务器104c,其中生命周期管理服务器104 a进行通信,生命周期管理服务器104 a与通过网分别与元数据服务器104b和存储服务器104c进行通信,元数据服务器104b通过网络与存储服务器104c进行通信,生命周期管理服务器104a与元数据服务器104b可以为同一服务器,也可以为不同的服务器。以上述数据状态迁移方法执行于服务器104为例,对上述数据状态迁移方法进行说明,用户通过终端102预先配置文件的生命周期管理流程,其中,文件可以是分布式文件,终端基于用于所配置的生命周期管理流程生成配置文件,并将配置文件发送给服务器104,服务器104运行该配置文件后,基于配置文件中所配置的待处理文件路径查找满足状态迁移条件的目标文件;将目标文件标记为与状态迁移条件匹配的中间状态;当完成标记后,获取针对目标文件中各数据对象的数据对象清单;对数据对象清单中的数据对象进行数据处理;当完成数据处理后,将目标文件从中间状态迁移至目标状态。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请提供的数据状态迁移方法,用于实现不同的生命周期管理任务的数据状态迁移目标,生命周期管理任务的数据状态迁移目标是指,通过执行生命周期管理任务实现将文件由当前所处的状态迁移至目标状态,文件当前所处的状态也可称为文件的初始状态,生命周期管理任务是基于预先设定的执行周期而定期执行的,因此生命周期管理任务也可以称为状态定时迁移任务。状态定时迁移任务包括归档任务、删除任务和回热任务中的一种,不同的状态定时迁移任务所对应的数据状态迁移目标是不相同的。图2示出了一个实施例中文件的多种数据状态,本申请提供的数据状态迁移方法可以实现文件在图2中的多种数据状态之间的进行迁移,从状态定时迁移任务的维度进行说明,图2所涉及到的文件的数据状态包括文件的初始状态和目标状态,以及从初始状态迁移至目标状态所要经过的中间状态,其中,归档任务所对应的初始状态为标准状态,中间状态为归档中状态,目标状态为归档状态;回热任务所对应的初始状态为归档状态,中间状态为回热中状态,目标状态为回热状态;删除任务所对应的初始状态可以是标准状态、归档中状态、归档状态、回热中状态和回热状态中的任一状态,中间状态为删除中状态,目标状态为删除状态。其中,只有处于标准状态的文件可以被执行读写操作,处于回热状态的文件可以被执行读操作。
在一个实施例中,如图3所示,提供了一种数据状态迁移方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S302,基于待处理文件路径查找满足状态迁移条件的目标文件。
其中,待处理文件路径是与状态定时迁移任务匹配的文件存储路径,目标文件是状态定时迁移任务所要进行管理操作的文件。状态定时迁移任务用于对目标文件进行数据状态迁移,状态定时迁移任务定期执行,每次执行时将目标文件由当前所处的状态迁移至目标状态。状态定时迁移任务包括归档任务、删除任务和回热任务中的一种,归档任务用于将目标文件由初始状态迁移至归档状态,比如由标准状态迁移至归档状态,删除任务用于将目标文件由初始状态迁移至删除状态,比如由归档状态迁移至删除状态,回热状态用于将数据由初始状态迁移至回热状态,比如由归档状态迁移至回热状态。
不同的状态定时迁移任务对应不同的状态迁移条件,状态迁移条件包括与归档任务对应的第一时间条件和第一读写条件,与删除任务对应的第二时间条件和第二读写条件,以及与回热任务对应的绑定条件,其中,第一时间条件和第一读写条件也可以称为归档迁移条件,第二时间条件和第二读写条件也可以称为删除迁移条件,绑定条件也可以称为回热迁移条件。可以理解的是,满足不同的状态迁移条件的目标文件也不相同,比如满足归档迁移条件的目标文件为可以进行归档处理的文件,满足删除迁移条件的目标文件为可以进行删除处理的文件,满足回热迁移条件的目标文件为可以进行回热处理的文件。
在一个实施例中,响应于状态定时迁移任务,基于待处理文件路径扫描对应的文件目录树,以获得候选文件;在候选文件中,确定满足状态迁移条件的目标文件。
其中,文件目录树是指目录树结构的文件,所谓的目录树结构(directory tree)就是以根目录为主,然后向下呈现分支状的目录结构的一种文件结构。
具体地,在达到状态定时迁移任务的运行时刻时,服务器获取与该状态定义迁移任务所对应的待处理文件路径,并基于该待处理文件路径扫描对应的文件目录树,查找状态定时迁移任务可管理的处于该待处理文件路径上的候选文件,并从所查找到的候选文件中筛选出满足状态迁移条件的目标文件。
也就是说,当状态定时迁移任务为归档任务时,服务器基于归档任务所对应的归档文件路径,扫描归档任务所对应的文件目录树,查找归档任务可管理的处于归档路径上的候选文件,并从所查找的候选文件中筛选出满足归档迁移条件的目标文件;当状态定时迁移任务为删除任务时,服务器基于删除任务所对应的删除文件路径,扫描删除任务所对应的文件目录树,查找删除任务可管理的处于删除路径上的候选文件,并从所查找到的候选文件中筛选出满足删除迁移条件的目标文件;当状态定时迁移任务为回热任务时,服务器基于回热任务所对应的回热文件路径,扫描回热任务所对应的文件目录树,查找回热任务可管理的处于回热路径上的候选文件,并从所查找的候选文件中筛选出满足回热迁移条件的目标文件。
例如,归档任务是对处于标准状态下满足归档迁移条件的目标文件进行数据状态迁移,而处于标准状态的文件均存储在文件路径集合A上,则服务器扫描路径集合A对应的文件目录树,获取文件路径集合A上所存储的候选文件,并从所扫描到的候选文件中筛选出满足归档迁移条件的目标文件;回热任务是对处于归档状态下满足回热迁移条件的目标文件进行数据状态迁移,而处于归档状态的文件均存储在文件路径集合B上,则服务器扫描路径集合B对应的文件目录树,获取文件路径集合B上所存储的候选文件,并从所扫描到的候选文件中筛选出满足回热迁移条件的目标文件;删除任务是对处于标准状态、归档中状态、归档状态、回热中状态或回热状态下满足归档迁移条件的目标文件进行数据状态迁移,而处于标准状态、归档中状态或回热状态的文件均存储在文件路径集合A上,处于归档状态、回热中状态的文件存储在文件路径集合B上,则服务器扫描文件路径集合A和文件路径集合B分别对应的文件目录树,获取文件路径集合A和文件路径集合B所存储的候选文件,并从所扫描到的候选文件中筛选出满足删除迁移条件的目标文件。
S304,将目标文件标记为与状态迁移条件匹配的中间状态。
其中,中间状态是目标文件由初始状态要迁移到的目标状态的中间状态,目标状态包括以下至少之一:与归档处理对应的归档状态、与删除处理对应的删除状态,以及与回热处理对应的回热状态。比如,若状态迁移条件为归档迁移条件,则与归档迁移条件匹配的目标状态为归档状态,相应的与归档迁移条件匹配的中间状态则为归档中状态;若状态迁移条件为删除迁移条件,则与删除迁移条件匹配的目标状态为删除状态,相应的与删除迁移条件匹配的中间状态则为删除中状态;若状态迁移条件为回热迁移条件,则与回热迁移条件匹配的目标状态为回热状态,相应的与回热迁移条件匹配的中间状态则为回热中状态。
具体地,服务器在查找到满足状态迁移条件的目标文件之后,确定与状态迁移条件匹配的中间状态,并将目标文件的状态标记为所确定的中间状态。其中,将目标文件的状态标记为所确定的中间状态的过程可以是,获取目标文件的初始状态,将所获取的初始状态修改为所确定的中间状态。
在一个实施例中,S304具体包括以下步骤:在目标文件的索引节点中标记与状态迁移条件匹配的中间状态。
其中,索引节点(inode)存储有文件的元数据信息,目标文件的索引节点存储有目标文件的元数据信息。所存储的文件的元数据信息包括文件的字节数、文件的所有者、文件的读写与执行权限、文件的处理时间戳,文件的处理时间戳包括文件的修改时间戳(mtime)和文件的读取时间戳(atime),mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间,文件的当前状态即为文件的初始状态。
具体地,服务器在查找到目标文件之后,获取各个目标文件所对应的索引节点号,并基于索引节点号查找目标文件所对应的索引节点,并在基于状态迁移条件确定出目标文件的中间状态之后,在目标文件的索引节点中,将目标文件标记为所确定的中间状态。具体可以是在目标文件的索引节点中添加所确定的中间状态的信息。
在一个实施例中,服务器包括图1所示的生命周期管理服务器104a、元数据服务器104b和存储服务器104c,生命周期管理服务器在查找到目标文件之后,获取各个目标文件所对应的索引节点号,并基于索引节点号从元数据服务器中查找目标文件所对应的索引节点,并在基于状态迁移条件确定出目标文件的中间状态之后,在目标文件的索引节点中,将目标文件标记为所确定的中间状态。
在一个实施例中,索引节点所存储的文件的元数据信息还包括文件的当前状态,服务器在查找到目标文件之后,获取各个目标文件所对应的索引节点号,并基于索引节点号查找目标文件所对应的索引节点,从目标文件的索引节点中获取目标文件的当前状态,并在基于状态迁移条件确定出目标文件的中间状态之后,将目标文件的当前状态修改为所确定出的中间状态。
其中,当目标文件被标记为中间状态之后,该被标记为中间状态的目标文件不可被执行读写操作,以免影响后续对目标文件所要进行的数据处理。
具体地,当目标文件为可以进行归档处理的文件时,服务器基于归档迁移条件确定中间状态为归档中状态,则将目标文件由当前状态修改为归档中状态;当目标文件为可以进行回热处理的文件时,服务器基于回热迁移条件确定中间状态为回热中状态,则将目标文件由当前状态修改为回热中状态;当目标文件为可以进行删除处理的文件时,服务器基于删除迁移条件确定中间状态为删除中状态,则将目标文件由当前状态修改为删除中状态。
S306,当完成标记后,获取针对目标文件中各数据对象的数据对象清单。
其中,文件包含至少一个数据对象,数据对象清单为目标文件中所包含的数据对象的清单,具体可以是目标文件所包含的数据对象的对象标识的清单,
可以理解的是,在基于对象存储的分布式文件系统中,一个文件由多个块(block)组成,block作为逻辑概念,每个block对应多个数据段(range),每个range也就是一个数据对象(object),也就是说,一个文件包含有至少一个数据对象。
具体地,服务器在完成将目标文件标记为与状态迁移条件匹配的中间状态之后,分别获取每个目标文件中数据对象的数据对象清单,即获取每个目标文件所对应的object清单。
例如,当目标文件为可以进行归档处理的文件时,则获取每个可以进行归档处理的文件所对应的数据对象清单;当目标文件为可以进行删除处理的文件时,则获取每个可以进行删除处理的文件所对应的数据对象清单;当目标文件为可以进行回热处理的文件时,则获取每个可以进行回热处理的文件的数据对象清单。
S308,对数据对象清单中的数据对象进行数据处理。
其中,数据处理具体是对各个数据对象进行存储位置迁移处理,具体包括归档处理、删除处理和回热处理中的至少一种,归档处理是指将数据对象由初始存储位置迁移至目标存储位置进行存储;回热处理是指创建数据对象的数据对象副本,并将该数据对象副本存储至目标存储位置,且该数据对象副本的保存时间与回热任务所指定的保存时间一致;删除处理是指将数据对象从初始存储位置中清除。
在一个实施例中,服务器在获取到针对目标文件的数据对象清单后,根据数据对象清单中各个数据对象的数据对象标识生成数据处理指令,基于数据处理指令对所存储的各个数据对象进行相应的数据处理。
例如,当目标文件为可以进行归档处理的文件时,服务器在获取到目标文件的数据对象清单后,根据数据对象清单中的各个数据对象标识,分别生成针对每个数据对象的数据归档指令,并基于该数据归档指令将数据对象由标准存储空间迁移至归档存储空间;当目标文件为可以进行回热处理的文件时,服务器在获取目标文件的数据对象清单后,根据数据对象清单中的各个数据对象标识,分别生成针对每个数据对象的数据回热指令,并基于该数据回热指令创建数据对象的数据对象副本,并将所创建的数据对象的数据对象副本存储至标准存储空间;当目标文件为可以进行删除处理的文件时,服务器在获取目标文件的数据对象清单后,根据数据对象清单中的各个数据对象标识,分别生成针对每个数据对象的数据删除指令,并基于该数据删除指令删除对应的数据对象。
S310,当完成数据处理后,将目标文件从中间状态迁移至目标状态。
其中,目标状态是状态定时迁移任务的数据状态迁移目标所要达到的状态,目标状态包括以下至少之一:与归档处理对应的归档状态、与删除处理对应的删除状态,以及与回热处理对应的回热状态。
具体地,服务器在完成对目标文件的数据对象清单中的各个数据对象的数据处理之后,确定与所完成的数据处理对应的目标状态,并将目标文件的状态由中间状态修改为目标状态。
在一个实施例中,S310具体包括以下步骤:当完成所述归档处理、所述删除处理和所述回热处理中的至少一种后,在所述目标文件的索引节点中将所述中间更新为目标状态。
具体地,服务器在完成对目标文件的数据对象清单中的各个数据对象的数据处理之后,再次获取目标文件所对应的索引节点,并将索引节点中所存储的目标文件的状态由中间状态修改为目标状态。
在一个实施例中,服务器在完成对目标文件的数据对象清单中的各个数据对象的数据处理之后,再次获取目标文件所对应的索引节点,并将索引节点中对目标文件所标记的中间状态进行删除,从而实现将目标文件从中间状态迁移至目标状态。
上述数据状态迁移方法,服务器基于待处理文件路径查找满足状态迁移条件的目标文件,并在目标文件的索引节点中,将目标文件标记为与状态迁移条件匹配的中间状态,当完成标记后,通过获取针对目标文件中各数据对象的数据对象清单,并对数据对象清单中的数据对象进行数据处理,从而可以确保对目标文件所包含的数据对象进行同步处理,并在对全部数据对象均完成数据处理后,在目标文件的索引节点中,将目标文件从中间状态迁移至目标状态,从而实现了对目标文件的数据对象的数据状态迁移的同步进行,确保了数据状态迁移后的目标文件的正确性。
在一个实施例中,服务器基于待处理文件路径所扫描的文件目录树为目录字典树,服务器基于待处理文件路径扫描对应的文件目录树,以获得候选文件,的步骤具体包括:基于待处理文件路径,从目录字典树的根节点开始逐层扫描目录字典树的各个节点,直至获得待处理文件路径上的全部候选文件。
其中,目录字典树为是字典树结构的目录树,字典树又称单词查找树,Trie树,是一种哈希树的变种。
具体地,服务器在获取到待处理文件路径之后,基于所获取的待处理文件路径构建对应的目录字典树,并从目录字典树的根节点开始逐层扫描目录字典树的各个节点,直至获得待处理文件路径上的全部候选文件。
结合图4所示的一个实施例中目录字典树的结构示意图进行举例说明,待处理路径为“/a/b”、“/a/b/c”、“/d/e”和“/f”,该待处理路径所对应的目录字典树为图4所对应的结构,由于“/a/b”是“/a/b/c”的前缀,则可以如图4所示将“/a/b/c”、“/d/e”和“/f”作为主路径逐层并发扫描的目录字典树的各个节点,直至获得待处理路径为“/a/b”、“/a/b/c”、“/d/e”和“/f”上的全部候选文件。
上述实施例中,服务器基于待处理文件路径,从目录字典树的根节点开始逐层扫描目录字典树的各个节点,直至获得待处理文件路径上的全部候选文件,从而可避免重复扫描同一节点,加快节点扫描的速度,提高候选文件的获取速度,进而提高了对目标文件进行数据状态迁移的效率。
在一个实施例中,状态迁移条件为归档迁移条件,也就是说状态迁移条件包括第一时间条件和第一读写条件;服务器在候选文件中,确定满足状态迁移条件的目标文件具体包括以下步骤:获取候选文件的处理时间戳;在候选文件中,确定处理时间戳满足第一时间条件所对应的待归档文件;获取待归档文件的读写状态;在待归档文件中,确定读写状态满足第一读写条件所对应的目标文件。
其中,第一时间条件可以是预设归档时长,比如预设归档时长为6个月,第一时间条件也可以是预设时长内的预设处理频次,比如近一个月内的预设处理频次为3次。第一读写条件可以是预设的读写状态,比如预设的读写状态为非写打开状态,非写打开状态包括非打开状态和读打开状态。处理时间戳可以是修改时间戳或读取时间戳。
具体地,服务器在基于归档迁移路径获取到候选文件之后,获取各个候选文件所对应的索引节点号,并基于索引节点号查找候选文件所对应的索引节点,并从候选文件的索引节点中获取候选文件的处理时间戳,并基于各个候选文件的处理时间戳确定满足的第一时间条件的待归档文件,然后获取每个待归档文件当前的读写状态,并将读写状态满足第一读写条件的待归档文件确定为可以进行归档处理的文件。
例如,预设的读写状态为非写打开状态,服务器在确定出某一候选文件为待归档文件之后,获取该待归档文件当前的读写状态,若该待归档文件当前的读写状态为未打开状态,则确定该待归档文件满足第一读写条件,即确定该待归档文件为可以进行归档处理的文件。
上述实施例中,针对归档任务,服务器通过获取候选文件的处理时间戳,在候选文件中,确定处理时间戳满足第一时间条件所对应的待归档文件,获取待归档文件的读写状态,在待归档文件中,确定读写状态满足第一读写条件所对应的目标文件,从而可以查找到可以进行归档处理的目标文件,进而提高了归档任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,第一时间条件包括预设归档时长;服务器在候选文件中,确定处理时间戳满足第一时间条件所对应的待归档文件,包括:基于当前时间和处理时间戳,确定候选文件的存在时长;在候选文件中,获取存在时长大于预设归档时长的待归档文件。
其中,存在时长可以是距离最近一次修改操作的时长,或者距离最近一次读取操作的时长。
具体地,当处理时间戳为修改时间戳时,服务器基于当前时间和该修改时间戳确定候选文件距离最近一次修改操作的时长,并将距离最近一次修改操作的时长大于预设归档时长的目标候选文件确定为待归档文件;当处理时间戳为读取时间戳时,服务器基于当前时间和该读取时间戳确定候选文件距离最近一次读取操作的时长,并将距离最近一次读取操作的时长大于预设归档时长的目标候选文件确定为待归档文件。
例如,预设归档时长为6个月,某一候选文件的距离当前时间最近的处理时间戳为2020年5月18日,当前时间为2020年12月18日,则基于当前时间和处理时间戳确定出该候选文件的存在时长为7个月,即该候选文件的存在时长大于预设归档时长,则确定该候选文件为待归档文件。
上述实施例中,针对归档任务,服务器基于当前时间和处理时间戳,确定候选文件的存在时长,在候选文件中,获取存在时长大于预设归档时长的待归档文件,从而可以基于文件的存在时长,确定出可以进行归档处理的目标文件,进而提高了归档任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,第一时间条件为预设时长内的预设处理频次,服务器在候选文件中确定处理时间戳满足第一时间条件的待归档文件具体包括以下步骤:基于处理时间戳确定候选文件的处理频次;在候选文件中获取处理频次不大于预设处理频次的文件;将获取的文件确定待归档文件。
其中,处理频次是在预设时长内对候选文件执行处理操作的频次,处理操作包括读取操作和修改操作,读取操作对应于读取时间戳,修改操作对应于修改时间戳。
具体地,服务器在获取候选文件的读取时间戳和修改时间戳之后,分别基于所获取的读取时间戳和修改时间戳确定在预设时长内对候选文件的处理词,当所确定的处理频率不大于预设时长内的预设处理频率时,则确定该候选文件为满足第一时间条件的待归档文件。
例如,第一时间条件最近一个月内的预设处理频次为5次,服务器获取某一候选文件在最近一个月内的读取时间戳和修改时间戳有3个,即该候选文件的处理频次为3次,在预设时长内,该候选文件的处理频次小于预设处理频次,则确定该候选文件为满足第一时间条件的待归档文件。
在一个实施例中,处理时间戳为读取时间戳;第一时间条件为预设时长内的预设读取频次,服务器在候选文件中确定处理时间戳满足第一时间条件的待归档文件具体包括以下步骤:基于读取时间戳确定候选文件的读取频次;在候选文件中获取读取频次不大于预设读取频次的文件,将获取的文件确定为满足第一时间条件的待归档文件。
在一个实施例中,处理时间戳为修改时间戳;第一时间条件为预设时长内的预设修改频次,服务器在候选文件中确定处理时间戳满足第一时间条件的待归档文件具体包括以下步骤:基于修改时间戳确定候选文件的修改频次;在候选文件中获取修改频次不大于预设修改频次的文件,将获取的文件确定为满足第一时间条件的待归档文件。
上述实施例中,针对归档任务,服务器基于处理时间戳确定候选文件的处理频次;在候选文件中获取处理频次不大于预设处理频次的文件;将获取的文件确定为待归档文件,从而可以基于对文件的操作频次,确定出可以进行归档处理的目标文件,进而提高了归档任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,状态迁移条件为删除迁移条件,也就是说状态迁移条件为包括第二时间条件和第二读写条件;服务器在候选文件中,确定满足状态迁移条件的目标文件具体包括以下步骤:获取候选文件的处理时间戳;在候选文件中,确定处理时间戳满足第二时间条件所对应的待删除文件;获取待删除文件的读写状态;在待删除文件中,确定读写状态满足第二读写条件所对应的目标文件。
其中,第二时间条件可以是预设删除时长,比如预设删除时长为3个月,第二时间条件也可以是预设时长内的预设处理频次,比如近一个月内的预设处理频次为1次。第二读写条件可以是预设的读写状态,比如预设的读写状态为非写打开状态,非写打开状态包括非打开状态和读打开状态。处理时间戳可以是修改时间戳或读取时间戳。
具体地,服务器在基于删除迁移路径获取到候选文件之后,获取各个候选文件所对应的索引节点号,并基于索引节点号查找候选文件所对应的索引节点,并从候选文件的索引节点中获取候选文件的处理时间戳,并基于各个候选文件的处理时间戳确定满足的第二时间条件的待删除文件,然后获取每个待删除文件当前的读写状态,并将读写状态满足第二读写条件的待删除文件确定为可以进行删除处理的文件。
例如,预设的读写状态为非写打开状态,服务器在确定出某一候选文件为待删除文件之后,获取该待删除文件当前的读写状态,若该待删除文件当前的读写状态为未打开状态,则确定该待删除文件满足第二读写条件,即确定该待删除文件为可以进行删除处理的文件。
上述实施例中,针对删除任务,服务器获取候选文件的处理时间戳;在候选文件中,确定处理时间戳满足第二时间条件所对应的待删除文件;获取待删除文件的读写状态;在待删除文件中,确定读写状态满足第二读写条件所对应的目标文件,从而可以查找到可以进行删除处理的目标文件,进而提高了删除任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,第二时间条件包括预设删除时长;服务器在候选文件中,确定处理时间戳满足第二时间条件所对应的待删除文件,包括:基于当前时间和处理时间戳,确定候选文件的存在时长;在候选文件中,获取存在时长大于预设删除时长的待删除文件。
其中,存在时长可以是距离最近一次修改操作的时长,或者距离最近一次读取操作的时长。
具体地,当处理时间戳为修改时间戳时,服务器基于当前时间和该修改时间戳确定候选文件距离最近一次修改操作的时长,并将距离最近一次修改操作的时长大于预设删除时长的目标候选文件确定为待删除文件;当处理时间戳为读取时间戳时,服务器基于当前时间和该读取时间戳确定候选文件距离最近一次读取操作的时长,并将距离最近一次读取操作的时长大于预设删除时长的目标候选文件确定为待删除文件。
例如,预设删除时长为8个月,某一候选文件的距离当前时间最近的处理时间戳为2020年3月18日,当前时间为2020年12月18日,则基于当前时间和处理时间戳确定出该候选文件的存在时长为9个月,即该候选文件的存在时长大于预设删除时长,则确定该候选文件为待删除文件。
上述实施例中,服务器通过基于当前时间和处理时间戳,确定候选文件的存在时长;在候选文件中,获取存在时长大于预设删除时长的待删除文件,从而可以基于文件的存在时长,确定出可以进行删除处理的目标文件,进而提高了删除任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,第二时间条件为预设时长内的预设处理频次,服务器在候选文件中确定处理时间戳满足第二时间条件的待删除文件具体包括以下步骤:基于处理时间戳确定候选文件的处理频次;在候选文件中获取处理频次不大于预设处理频次的文件;将获取的文件确定待删除文件。
其中,处理频次是在预设时长内对候选文件执行处理操作的频次,处理操作包括读取操作和修改操作,读取操作对应于读取时间戳,修改操作对应于修改时间戳。
具体地,服务器在获取候选文件的读取时间戳和修改时间戳之后,分别基于所获取的读取时间戳和修改时间戳确定在预设时长内对候选文件的处理词,当所确定的处理频率不大于预设时长内的预设处理频率时,则确定该候选文件为满足第二时间条件的待删除文件。
例如,第二时间条件最近一个月内的预设处理频次为5次,服务器获取某一候选文件在最近一个月内的读取时间戳和修改时间戳有3个,即该候选文件的处理频次为3次,在预设时长内,该候选文件的处理频次小于预设处理频次,则确定该候选文件为满足第二时间条件的待删除文件。
在一个实施例中,处理时间戳为读取时间戳;第二时间条件为预设时长内的预设读取频次,服务器在候选文件中确定处理时间戳满足第二时间条件的待删除文件具体包括以下步骤:基于读取时间戳确定候选文件的读取频次;在候选文件中获取读取频次不大于预设读取频次的文件,将获取的文件确定为满足第二时间条件的待删除文件。
在一个实施例中,处理时间戳为修改时间戳;第二时间条件为预设时长内的预设修改频次,服务器在候选文件中确定处理时间戳满足第二时间条件的待删除文件具体包括以下步骤:基于修改时间戳确定候选文件的修改频次;在候选文件中获取修改频次不大于预设修改频次的文件,将获取的文件确定为满足第二时间条件的待删除文件。
上述实施例中,针对删除任务,服务器通过基于处理时间戳确定候选文件的处理频次;在候选文件中获取处理频次不大于预设处理频次的文件;将获取的文件确定待删除文件,从而可以基于对文件的操作频次,确定出可以进行删除处理的目标文件,进而提高了删除任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,服务器所确定的满足第二时间条件的待删除文件包括第一待删除文件和第二待删除文件;服务器在待删除文件中,确定读写状态满足第二读写条件所对应的目标文件具体包括以下步骤:基于第一待删除文件的读写状态,确定第一待删除文件中满足第二读写条件的目标待删除文件;将目标待删除文件和第二待删除文件,作为目标文件。
其中,第一待删除文件为处于第一状态的文件,第二待删除文件为处于第二状态的文件,第一状态可以是标准状态,第二状态可以是归档中状态、归档状态、回热中状态和回热状态中的至少一种状态。
具体地,服务器在确定出待删除文件之后,基于各个待删除文件所对应的状态,将待删除文件划分为第一待删除文件和第二待删除文件,并确定第一待删除文件中,读写状态满足第二读写条件的目标待删除文件,然后所确定的目标待删除文件和属于第二状态的第二待删除文件确定为可进行删除处理的文件。
例如,第二读写条件为非写打开状态,服务器所确定的待删除文件包括待删除文件1、待删除文件2和待删除文件3,其中待删除文件1和待删除文件2的状态为标准状态,待删除文件3的状态为归档状态,则确定待删除文件1和待删除文件2为第一待删除文件,待删除文件3为第二待删除文件,其中待删除文件1的读写状态为写打开状态,待删除文件2的读写状态为未打开状态,则确定待删除文件1为目标待删除文件,并将待删除文件1和待删除文件3确定为目标文件。
上述实施例中,服务器基于第一待删除文件的读写状态,确定第一待删除文件中满足第二读写条件的目标待删除文件;将目标待删除文件和第二待删除文件作为目标文件,从而可以针对待删除文件的不同数据状态,分别确定可以进行删除处理的目标文件,进而提高了删除任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,状态迁移条件为回热迁移条件,状态迁移条件包括绑定条件,服务器在候选文件中,确定满足状态迁移条件的目标文件包括以下步骤:在候选文件的索引节点中确定处于绑定状态的目标节点;通过目标节点获取满足回热迁移条件的目标文件。
其中,处于绑定状态的目标节点即为满足绑定条件的目标节点,候选文件中目标节点所对应的文件即为满足绑定条件的目标文件。
具体的,服务器在查找到候选文件之后,获取各个候选文件所对应的索引节点,并从预先建立的绑定关系中,查找是否与候选文件的索引节点匹配的绑定关系,当存在时,则确定该索引节点为处于绑定状态的目标节点,并将该目标节点所对应的目标候选文件确定为满足回热迁移条件的目标文件。其中,绑定关系是待回热文件路径与索引节点之间的关联关系。
例如,服务器所获取的候选文件包括候选文件1和候选文件2,其中候选文件1的索引节点号为“0578”,候选文件2的索引节点号为“4532”,服务器基于预先构建待回热文件路径与待回热文件的索引节点号之间的绑定关系,确定出索引节点号“0578”和“4532”中的处于绑定状态的目标节点号为“0578”,则确定目标节点号为“0578”所对应的候选文件1为满足回热迁移条件的目标文件。
上述实施例中,针对回热任务,服务器通过在候选文件的索引节点中确定处于绑定状态的目标节点;通过目标节点获取满足回热迁移条件的目标文件,从而可以查找到可以进行回热处理的目标文件,进而提高了回热任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,服务器在候选文件中,确定满足状态迁移条件的目标文件之前,还可以预先建立绑定关系,其中预先建立绑定关系的过程包括以下步骤:获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号;建立待回热文件路径和索引节点号之间的绑定关系。
其中,用户在创建回热任务时会设置回热任务所要进行回热操作的文件的存储路径,以及回热任务所要进行回热操作的文件的索引节点号,即设置回热任务对应的待回热文件路径和待回热文件的索引节点号。
具体地,当回热任务创建完成后,服务器获取回热任务所对应的待回热文件路径和待回热文件的索引节点号,并建立待回热文件路径和索引节点号之间的绑定关系,以便在回热任务执行时,基于所预先建立的绑定关系执行在候选文件的索引节点中确定处于绑定状态的目标节点的步骤。
在一个实施例中,服务器在候选文件的索引节点中确定处于绑定状态的目标节点包括:根据绑定关系,确定候选文件的索引节点中处于绑定状态的目标节点,以执行通过目标节点获取满足回热迁移条件的目标文件的步骤。其中,目标文件属于待回热文件。
上述实施例中,服务器通过获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号;建立待回热文件路径和索引节点号之间的绑定关系,从而可以根据绑定关系,确定候选文件的索引节点中处于绑定状态的目标节点,实现基于目标节点查找满足回热迁移条件的目标文件,避免针对目标文件的同一数据对象重复进行回热处理,进而提高了回热任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,服务器在将目标文件从回热中状态迁移至回热状态之后,即完成回热任务之后,若目标文件的副本文件被清除,则在回热完成的目标文件的索引节点中,将目标文件的状态由回热状态修改为归档状态。
具体地,服务器在将目标文件从回热中状态迁移至回热状态之后,获取迁移至回热状态的时刻和目标文件所对应的副本文件的保留时长,基于迁移至回热状态的时刻和保留时长确定目标文件所对应的副本文件的副本清除时刻,并在达到副本清除时刻时,将目标文件的所对应的副本文件进行清除,并在目标文件的索引节点中。
上述实施例中,服务器在回热的目标文件的副本文件被清除后,在回热完成的目标文件的索引节点中,将目标文件的状态由回热状态修改为归档状态,从而结束目标文件的全部回热流程,使得该目标文件可进入其他的生命周期管理任务中。
在一个实施例中,服务器包括图1所示的生命周期管理服务器104a、元数据服务器104b和存储服务器104c,如图5所示,S308具体包括以下步骤:
S502,从数据对象清单中获取各数据对象的对象标识。
其中,对象标识用于唯一的标识目标文件中的各个数据对象,对象标识可以是字母、数字和符号中的至少一种。
S504,根据对象标识生成与中间状态匹配的数据处理请求。
其中,数据处理请求用于请求对对象标识所对应的数据对象进行处理,具体包括归档处理请求、删除处理请求和回热处理请求中的至少一种。
具体地,当中间状态为归档中状态时,针对目标文件所包含的不同的数据对象,生命周期管理服务器分别基于其数据对象标识生成归档处理请求;当中间状态为删除中状态时,针对目标文件所包含的不同的数据对象,生命周期管理服务器分别基于其数据对象标识生成删除处理请求;当中间状态为回热中状态时,生命周期管理服务器分别基于其数据对象标识生成回热处理请求。
S506,将数据处理请求发送至存储服务器,以使存储服务器基于数据处理请求对存储的、且与对象标识对应的数据对象进行数据处理。
其中,数据处理包括归档处理、删除处理和回热处理中的至少一种。归档处理是指将数据对象由初始存储位置迁移至目标存储位置进行存储,回热处理是指创建数据对象的数据对象副本,并将该数据对象存储至目标存储位置,删除处理是指将数据对象从初始存储位置中清除。
具体地,生命周期管理服务器在生成针对目标文件的各个数据对象的数据处理请求之后,以并发的形式将所生成的各个数据处理请求发送至存储服务器,存储服务器在接收到数据处理请求时,基于所接收的数据处理请求对所存储的目标文件的各个数据对象进行数据处理,并在对目标文件的各个数据对象均完成数据处理之后,向生命周期管理服务器返回请求成功的消息,生命周期管理服务器在接收请求成功的消息之后,执行将目标文件从中间状态迁移至目标状态的步骤。
例如,当存储服务器所接收到的数据处理请求为归档处理请求时,存储服务器对目标文件的各个数据对象进行归档处理,并在对目标文件的各个数据对象均完成归档处理之后,向生命周期管理服务器返回归档请求成功的消息,生命周期管理服务器在接收到归档请求成功的消息之后,将目标文件从归档中状态迁移至归档状态。
当存储服务器所接收到的数据处理请求为删除处理请求时,存储服务器对目标文件的各个数据对象进行删除处理,并在对目标文件的各个数据对象均完成删除处理之后,向生命周期管理服务器返回删除请求成功的消息,生命周期管理服务器在接收到删除请求成功的消息之后,将目标文件从删除中状态迁移至删除状态。
当存储服务器所接收到的数据处理请求为回热处理请求时,存储服务器对目标文件的各个数据对象进行回热处理,并在对目标文件的各个数据对象均完成回热处理之后,向生命周期管理服务器返回回热请求成功的消息,生命周期管理服务器在接收到回热请求成功的消息之后,将目标文件从回热中状态迁移至回热状态。
上述实施例中,生命周期管理服务器通过从数据对象清单中获取各数据对象的对象标识;根据对象标识生成与中间状态匹配的数据处理请求;将数据处理请求发送至存储服务器,以使存储服务器基于数据处理请求对存储的、且与同期处理,进而在对全部数据对象均完成数据处理后,将目标文件从中间状态迁移至目标状态,从而实现了对目标文件的数据对象的数据状态迁移的同步进行,确保了数据状态迁移后的目标文件的正确性。
在一个实施例中,状态定时迁移任务为回热任务,对所述数据对象清单中的数据对象进行数据处理的步骤还包括以下步骤:在存储服务器对存储的、且对象标识对应的数据对象进行回热处理的过程中,当达到问询时刻时,向存储服务器发送进度问询请求;接收存储服务器基于进度问询请求所返回的应答消息;基于应答消息确定回热处理的完成进度。
其中,问询时刻是问询回热处理的进度的时刻,可以是基于回热任务所对应的问询周期而确定的时刻。进度问询请求用于问询对目标文件中的各个数据对象的回热处理的进度。
具体地,存储服务器在接收到回热处理请求之后,基于所接收的回热处理请求,启动对目标文件的各个数据对象的回热处理,并向生命周期管理服务器返回回热启动成功的消息,生命周期管理服务器在接收到回热启动成功的消息之后,生成目标文件中的各个数据对象的进度问询请求,比如object head请求,当达到问询时刻时,向存储服务器发送所生成的进度问询请求,存储服务器在接收到进度问询请求之后,基于进度问询请求查询针对各个数据对象的回热处理进度,当存在回热处理未完成的数据对象时,向生命周期管理服务器返回回热处理未完成的应答消息;当不存在回热处理未完成的数据对象时,向生命周期管理服务器返回回热处理已完成的应答消息,生命周期服务器基于所接收到的应答消息确定回热处理的完成进度。
在一个实施例中,若生命周期服务器接收到的是回热处理未完成的应答消息,则在达到下一个进去问询时刻时,再次向存储服务器发送进度问询请求;若生命周期服务器接收到的是回热处理已完成的应答消息,则将目标文件从回热中状态迁移至回热状态。
上述实施例中,针对回热任务,生命周期管理服务器通过在存储服务器对存储的、且对象标识对应的数据对象进行回热处理的过程中,当达到问询时刻时,向存储服务器发送进度问询请求;接收存储服务器基于进度问询请求所返回的应答消息;基于应答消息确定回热处理的完成进度,从而可以追踪回热处理的完成进度,进而在回热处理完成时,及时将目标文件从回热中状态迁移至回热状态,从而提高了针对目标文件的数据状态迁移的效率。
在一个实施例中,状态定时迁移任务为回热任务,上述数据状态迁移方法还包括确定问询时刻的过程,其中,确定问询时刻的过程包括以下步骤:基于回热任务对应的回热模式确定问询周期;根据问询周期确定问询时刻,以使达到问询时刻时,执行向存储服务器发送进度问询请求的步骤。
其中,回热模式包括急速模式、标准模式、批量模式。其中,不同的回热模式所需要的回热时间不同,针对同一个目标文件进行回热处理,上述三种回热模式所需要的回热处理时间由小到大的排序为“急速模式、标准模式、批量模式”,比如急速模式的回热处理时间为1至5分钟,标准模式的回热处理时间为3至5小时,批量模式的回热处理时间为5至12小时。
具体地,在创建回热任务是可预先设置回热任务所采用的回热模式,在回热任务启动后,生命周期管理服务器获取回热任务所对应的回热模式,并基于所获取的回热模式确定对应的问询周期,根据问询周期确定问询时刻,以便在达到问询时刻时,执行向存储服务器发送进度问询请求的步骤。
在一个实施例中,生命周期管理服务器根据问询周期确定问询时刻的步骤包括:当接收到存储服务器返回的回热启动成功的消息、或回热处理未完成的应答消息时,基于消息的接收时刻和问询周期确定问询时刻;或,获取回热中状态的标记时间,基于标记时间和问询周期确定问询时刻。
上述实施例中,生命周期管理服务器基于回热任务对应的回热模式确定问询周期;根据问询周期确定问询时刻,从而可以在回热处理的过程中,当达到问询时刻时,向存储服务器发送进度问询请求,从而可以追踪回热处理的完成进度,进而在回热处理完成时,及时将目标文件从回热中状态迁移至回热状态,从而提高了针对目标文件的数据状态迁移的效率。
在一个实施例中,状态定时迁移任务为回热任务,在回热任务执行至执行完成的过程中,回热任务的任务状态在图6所示各个任务状态中进行迁移,图6所示的任务状态包括绑定中状态、绑定状态、回热中状态和回热状态,其中,回热中状态和回热状态是与回热任务所对应的目标文件的回热中状态和回热状态是一致的。具体地,回热任务在启动后,进入绑定中状态,在回热任务的任务状态为绑定中状态时,服务器执行获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号,建立待回热文件路径和索引节点号之间的绑定关系的步骤,在完成绑定关系的建立之后,回热任务的任务状态由绑定中状态迁移为绑定状态;在回热任务处于绑定状态下,服务器执行在候选文件的索引节点中确定处于绑定状态的目标节点,通过目标节点获取满足回热迁移条件的目标文件,以及将目标文件标记为与状态迁移条件匹配的中间状态的步骤,同时向存储服务器发送回热处理请求,在接收到存储服务器返回的回热启动成功的消息时,将回热任务的任务状态由绑定状态迁移至回热中状态;在回热任务处于回热中状态、且达到问询时刻时,向存储服务器发送进度问询请求,当接收到存储服务器基于进度问询请求所返回的回热处理已完成的应答消息时,执行将目标文件从中间状态迁移至目标状态的步骤,同时将回热任务的任务状态由回热中迁移至回热状态;在回热任务处于回热状态时,服务器获取回热任务迁移至回热状态的时刻和目标文件所对应的副本文件的保留时长,基于迁移至回热状态的时刻和保留时长确定目标文件所对应的副本文件的副本清除时刻,并在达到副本清除时刻时,将目标文件的所对应的副本文件进行清除,并在目标文件的索引节点中,将目标文件的状态由回热状态迁移至归档状态,同时将目标文件所对应的处于回热状态的回热任务进行删除,以免重复执行针对该目标文件的同一回热任务。
上述实施例中,针对回热任务,服务器通过维护回热任务的多个任务状态,从而确保对回热任务所对应的目标文件的正确回热,避免对目标文件中的同一数据对象重复回热,或者对同一目标文件的同一回热任务的重复执行,从而提高了针对目标文件的数据状态迁移的效率。
在一个实施例中,如图7所示,提供了一种数据状态迁移方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S702,响应于状态定时迁移任务,基于待处理文件路径,从目录字典树的根节点开始逐层扫描目录字典树的各个节点,直至获得待处理文件路径上的全部候选文件。
S704,在候选文件中,确定满足状态迁移条件的目标文件。
S706,在目标文件的索引节点中标记与状态迁移条件匹配的中间状态。
S708,当完成标记后,获取针对目标文件中各数据对象的数据对象清单。
S710,从数据对象清单中获取各数据对象的对象标识。
S712,根据对象标识生成与中间状态匹配的数据处理请求。
S714,将数据处理请求发送至存储服务器,以使存储服务器基于数据处理请求对存储的、且与对象标识对应的数据对象进行数据处理。
S716,当完成数据处理后,目标文件的索引节点中将中间更新为目标状态。
本申请还提供一种应用场景,该应用场景应用上述的数据状态迁移方法。具体地,该数据状态迁移方法在该应用场景的应用如下:
在基于对象存储的分布式文件系统中,同一文件通常包含的多个数据对象分布存在存储服务器上,生命周期管理服务器上定期执行生命周期管理任务:
参考图2,当执行归档任务时,生命周期管理服务器基于待归档文件路径查找满足归档迁移条件的目标文件,并在将目标文件的索引节点中将目标文件标记为归档中状态之后,获取目标文件的数据对象清单,并根据数据对象清单中的数据对象标识生成归档处理请求,并将所生成的归档处理请求发送至存储服务器,在接收到存储服务器返回的归档完成的应答消息时,在目标文件的索引节点中将目标文件从归档中状态迁移为归档状态。
参考图2,当执行删除任务时,生命周期管理服务器基于待删除文件路径查找满足删除迁移条件的目标文件,并在将目标文件的索引节点中将目标文件标记为删除中状态之后,获取目标文件的数据对象清单,并根据数据对象清单中的数据对象标识生成删除处理请求,并将所生成的删除处理请求发送至存储服务器,在接收到存储服务器返回的删除完成的应答消息时,在目标文件的索引节点中将目标文件从删除中状态迁移为删除状态。
参考图2和图6,当执行回热任务时,回热任务的任务状态在图6所示各个任务状态中进行迁移,回热任务在启动后,进入绑定中状态,在回热任务的任务状态为绑定中状态时,生命周期管理服务器执行获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号,建立待回热文件路径和索引节点号之间的绑定关系的步骤,在完成绑定关系的建立之后,回热任务的任务状态由绑定中状态迁移为绑定状态;在回热任务处于绑定状态下,生命周期管理服务器执行基于待回热文件路径查找候选文件,在候选文件的索引节点中确定处于绑定状态的目标节点,通过目标节点获取满足回热迁移条件的目标文件,并在目标文件的索引节点中将目标文件标记为与回热中状态,同时向存储服务器发送回热处理请求,在接收到存储服务器返回的回热启动成功的消息时,将回热任务的任务状态由绑定状态迁移至回热中状态;在回热任务处于回热中状态、且达到问询时刻时,向存储服务器发送进度问询请求,当接收到存储服务器基于进度问询请求所返回的回热处理已完成的应答消息时,在目标文件的索引节点中将目标文件从回热中状态迁移至回热状态,同时将回热任务的任务状态由回热中迁移至回热状态;在回热任务处于回热状态时,生命周期管理服务器获取回热任务迁移至回热状态的时刻和目标文件所对应的副本文件的保留时长,基于迁移至回热状态的时刻和保留时长确定目标文件所对应的副本文件的副本清除时刻,并在达到副本清除时刻时,将目标文件的所对应的副本文件进行清除,并在目标文件的索引节点中,将目标文件的状态由回热状态迁移至归档状态,同时将目标文件所对应的处于回热状态的回热任务进行删除,以免重复执行针对该目标文件的同一回热任务。
应该理解的是,虽然图3、5和7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3、5和7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种数据状态迁移装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:目标文件查找模块802、状态标记模块804、清单获取模块806、处理模块808和状态迁移模块810,其中:
目标文件查找模块802,用于基于待处理文件路径查找满足状态迁移条件的目标文件。
状态标记模块804,用于将目标文件标记为与状态迁移条件匹配的中间状态。
清单获取模块806,用于当完成标记后,获取针对目标文件中各数据对象的数据对象清单。
处理模块808,用于对数据对象清单中的数据对象进行数据处理。
状态迁移模块810,用于当完成数据处理后,将目标文件从中间状态迁移至目标状态。
在一个实施例中,数据处理包括归档处理、删除处理和回热处理中的至少一种;状态标记模块804,还用于:在目标文件的索引节点中标记与状态迁移条件匹配的中间状态;状态迁移模块810,还用于:当完成归档处理、删除处理和回热处理中的至少一种后,在目标文件的索引节点中将中间更新为目标状态;其中,目标状态包括以下至少之一:与归档处理对应的归档状态、与删除处理对应的删除状态,以及与回热处理对应的回热状态。
在一个实施例中,目标文件查找模块802,还用于:响应于状态定时迁移任务,基于待处理文件路径扫描对应的文件目录树,以获得候选文件;在候选文件中,确定满足状态迁移条件的目标文件。
上述实施例中,基于待处理文件路径查找满足状态迁移条件的目标文件,并在目标文件的索引节点中,将目标文件标记为与状态迁移条件匹配的中间状态,当完成标记后,通过获取针对目标文件中各数据对象的数据对象清单,并对数据对象清单中的数据对象进行数据处理,从而可以确保对目标文件所包含的数据对象进行同步处理,并在对全部数据对象均完成数据处理后,在目标文件的索引节点中,将目标文件从中间状态迁移至目标状态,从而实现了对目标文件的数据对象的数据状态迁移的同步进行,确保了数据状态迁移后的目标文件的正确性。
在一个实施例中,文件目录树为目录字典树,目标文件查找模块802,还用于:基于待处理文件路径,从目录字典树的根节点开始逐层扫描目录字典树的各个节点,直至获得待处理文件路径上的全部候选文件。
上述实施例中,基于待处理文件路径,从目录字典树的根节点开始逐层扫描目录字典树的各个节点,直至获得待处理文件路径上的全部候选文件,从而可避免重复扫描同一节点,加快节点扫描的速度,提高候选文件的获取速度,进而提高了对目标文件进行数据状态迁移的效率。
在一个实施例中,状态迁移条件包括第一时间条件和第一读写条件;目标文件查找模块802,还用于:获取候选文件的处理时间戳;在候选文件中,确定处理时间戳满足第一时间条件所对应的待归档文件;获取待归档文件的读写状态;在待归档文件中,确定读写状态满足第一读写条件所对应的目标文件;处理模块808,还用于:对数据对象清单中的数据对象进行归档处理。
上述实施例中,针对归档任务,通过获取候选文件的处理时间戳,在候选文件中,确定处理时间戳满足第一时间条件所对应的待归档文件,获取待归档文件的读写状态,在待归档文件中,确定读写状态满足第一读写条件所对应的目标文件,从而可以查找到可以进行归档处理的目标文件,进而提高了归档任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,第一时间条件包括预设归档时长;目标文件查找模块802,还用于:基于当前时间和处理时间戳,确定候选文件的存在时长;在候选文件中,获取存在时长大于预设归档时长的待归档文件。
上述实施例中,针对归档任务,基于当前时间和处理时间戳,确定候选文件的存在时长,在候选文件中,获取存在时长大于预设归档时长的待归档文件,从而可以基于文件的存在时长,确定出可以进行归档处理的目标文件,进而提高了归档任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,第一时间条件为预设时长内的预设处理频次;目标文件查找模块802,还用于:基于处理时间戳确定候选文件的处理频次;在候选文件中获取处理频次不大于预设处理频次的文件;将获取的文件确定为待归档文件。
上述实施例中,针对归档任务,基于处理时间戳确定候选文件的处理频次;在候选文件中获取处理频次不大于预设处理频次的文件;将获取的文件确定为待归档文件,从而可以基于对文件的操作频次,确定出可以进行归档处理的目标文件,进而提高了归档任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,状态迁移条件包括第二时间条件和第二读写条件;目标文件查找模块802,还用于:获取候选文件的处理时间戳;在候选文件中,确定处理时间戳满足第二时间条件所对应的待删除文件;获取待删除文件的读写状态;在待删除文件中,确定读写状态满足第二读写条件所对应的目标文件;处理模块808,还用于:对数据对象清单中的数据对象进行删除。
上述实施例中,针对删除任务,获取候选文件的处理时间戳;在候选文件中,确定处理时间戳满足第二时间条件所对应的待删除文件;获取待删除文件的读写状态;在待删除文件中,确定读写状态满足第二读写条件所对应的目标文件,从而可以查找到可以进行删除处理的目标文件,进而提高了删除任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,待删除文件包括第一待删除文件和第二待删除文件;目标文件查找模块802,还用于:基于第一待删除文件的读写状态,确定第一待删除文件中满足第二读写条件的目标待删除文件;将目标待删除文件和第二待删除文件,作为目标文件。
上述实施例中,基于第一待删除文件的读写状态,确定第一待删除文件中满足第二读写条件的目标待删除文件;将目标待删除文件和第二待删除文件作为目标文件,从而可以针对待删除文件的不同数据状态,分别确定可以进行删除处理的目标文件,进而提高了删除任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,状态迁移条件包括回热迁移条件,目标文件查找模块802,还用于:在候选文件的索引节点中确定处于绑定状态的目标节点;通过目标节点获取满足回热迁移条件的目标文件;处理模块808,还用于:对数据对象清单中的数据对象进行回热处理。
上述实施例中,针对回热任务,通过在候选文件的索引节点中确定处于绑定状态的目标节点;通过目标节点获取满足回热迁移条件的目标文件,从而可以查找到可以进行回热处理的目标文件,进而提高了回热任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,目标文件查找模块802,还用于:获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号;建立待回热文件路径和索引节点号之间的绑定关系;在候选文件的索引节点中确定处于绑定状态的目标节点包括:根据绑定关系,确定候选文件的索引节点中处于绑定状态的目标节点,以执行通过目标节点获取满足回热迁移条件的目标文件的步骤;目标文件属于待回热文件。
上述实施例中,通过获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号;建立待回热文件路径和索引节点号之间的绑定关系,从而可以根据绑定关系,确定候选文件的索引节点中处于绑定状态的目标节点,实现基于目标节点查找满足回热迁移条件的目标文件,避免针对目标文件的同一数据对象重复进行回热处理,进而提高了回热任务中对目标文件进行数据状态迁移的准确率。
在一个实施例中,处理模块808,还用于:从数据对象清单中获取各数据对象的对象标识;根据对象标识生成与中间状态匹配的数据处理请求;将数据处理请求发送至存储服务器,以使存储服务器基于数据处理请求对存储的、且与对象标识对应的数据对象进行数据处理。
上述实施例中,通过从数据对象清单中获取各数据对象的对象标识;根据对象标识生成与中间状态匹配的数据处理请求;将数据处理请求发送至存储服务器,以使存储服务器基于数据处理请求对存储的、且与同期处理,进而在对全部数据对象均完成数据处理后,将目标文件从中间状态迁移至目标状态,从而实现了对目标文件的数据对象的数据状态迁移的同步进行,确保了数据状态迁移后的目标文件的正确性。
在一个实施例中,数据处理包括回热处理,处理模块808,还用于:在存储服务器对存储的、且对象标识对应的数据对象进行回热处理的过程中,当达到问询时刻时,向存储服务器发送进度问询请求;接收存储服务器基于进度问询请求所返回的应答消息;基于应答消息确定回热处理的完成进度。
上述实施例中,针对回热任务,通过在存储服务器对存储的、且对象标识对应的数据对象进行回热处理的过程中,当达到问询时刻时,向存储服务器发送进度问询请求;接收存储服务器基于进度问询请求所返回的应答消息;基于应答消息确定回热处理的完成进度,从而可以追踪回热处理的完成进度,进而在回热处理完成时,及时将目标文件从回热中状态迁移至回热状态,从而提高了针对目标文件的数据状态迁移的效率。
在一个实施例中,处理模块808,还用于:基于回热任务对应的回热模式确定问询周期;根据问询周期确定问询时刻,以使达到问询时刻时,执行向存储服务器发送进度问询请求的步骤。
上述实施例中,基于回热任务对应的回热模式确定问询周期;根据问询周期确定问询时刻,从而可以在回热处理的过程中,当达到问询时刻时,向存储服务器发送进度问询请求,从而可以追踪回热处理的完成进度,进而在回热处理完成时,及时将目标文件从回热中状态迁移至回热状态,从而提高了针对目标文件的数据状态迁移的效率。
关于数据状态迁移装置的具体限定可以参见上文中对于数据状态迁移方法的限定,在此不再赘述。上述数据状态迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储文件的数据对象。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据状态迁移方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种数据状态迁移方法,其特征在于,所述方法包括:
基于待处理文件路径查找满足状态迁移条件的目标文件;
将所述目标文件标记为与所述状态迁移条件匹配的中间状态;
当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;
对所述数据对象清单中的数据对象进行数据处理;
当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。
2.根据权利要求1所述的方法,其特征在于,所述基于待处理文件路径查找满足状态迁移条件的目标文件,包括:
响应于状态定时迁移任务,基于待处理文件路径扫描对应的文件目录树,以获得候选文件;
在所述候选文件中,确定满足状态迁移条件的目标文件。
3.根据权利要求2所述的方法,其特征在于,所述文件目录树为目录字典树,所述基于待处理文件路径扫描对应的文件目录树,以获得候选文件,包括:
基于所述待处理文件路径,从所述目录字典树的根节点开始逐层扫描所述目录字典树的各个节点,直至获得所述待处理文件路径上的全部候选文件。
4.根据权利要求2所述的方法,其特征在于,所述状态迁移条件包括第一时间条件和第一读写条件;所述在所述候选文件中,确定满足状态迁移条件的目标文件,包括:
获取所述候选文件的处理时间戳;
在所述候选文件中,确定所述处理时间戳满足所述第一时间条件所对应的待归档文件;
获取所述待归档文件的读写状态;
在所述待归档文件中,确定所述读写状态满足所述第一读写条件所对应的目标文件;
所述对所述数据对象清单中的数据对象进行数据处理,包括:
对所述数据对象清单中的数据对象进行归档处理。
5.根据权利要求4所述的方法,其特征在于,所述第一时间条件包括预设归档时长;所述在所述候选文件中,确定所述处理时间戳满足所述第一时间条件所对应的待归档文件,包括:
基于当前时间和所述处理时间戳,确定所述候选文件的存在时长;
在所述候选文件中,获取所述存在时长大于预设归档时长的待归档文件。
6.根据权利要求4所述的方法,其特征在于,所述第一时间条件为预设时长内的预设处理频次;所述在所述候选文件中确定所述处理时间戳满足第一时间条件的待归档文件,包括:
基于所述处理时间戳确定所述候选文件的处理频次;
在所述候选文件中获取所述处理频次不大于预设处理频次的文件;
将获取的所述文件确定为所述待归档文件。
7.根据权利要求2所述的方法,其特征在于,所述状态迁移条件包括第二时间条件和第二读写条件;所述在所述候选文件中,确定满足状态迁移条件的目标文件,包括:
获取所述候选文件的处理时间戳;
在所述候选文件中,确定所述处理时间戳满足所述第二时间条件所对应的待删除文件;
获取所述待删除文件的读写状态;
在所述待删除文件中,确定所述读写状态满足所述第二读写条件所对应的目标文件;
所述对所述数据对象清单中的数据对象进行数据处理,包括:
对所述数据对象清单中的数据对象进行删除。
8.根据权利要求7所述的方法,其特征在于,所述待删除文件包括第一待删除文件和第二待删除文件;所述在所述待删除文件中,确定所述读写状态满足所述第二读写条件所对应的目标文件,包括:
基于所述第一待删除文件的读写状态,确定所述第一待删除文件中满足所述第二读写条件的目标待删除文件;
将所述目标待删除文件和所述第二待删除文件,作为所述目标文件。
9.根据权利要求2所述的方法,其特征在于,所述状态迁移条件包括回热迁移条件,所述在所述候选文件中,确定满足状态迁移条件的目标文件,包括:
在所述候选文件的索引节点中确定处于绑定状态的目标节点;
通过所述目标节点获取满足所述回热迁移条件的目标文件;
所述对所述数据对象清单中的数据对象进行数据处理,包括:
对所述数据对象清单中的数据对象进行回热处理。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
获取回热任务所对应的待回热文件路径和各待回热文件的索引节点号;
建立所述待回热文件路径和所述索引节点号之间的绑定关系;
所述在所述候选文件的索引节点中确定处于绑定状态的目标节点包括:
根据所述绑定关系,确定所述候选文件的索引节点中处于绑定状态的目标节点,以执行所述通过所述目标节点获取满足所述回热迁移条件的目标文件的步骤;所述目标文件属于所述待回热文件。
11.根据权利要求1所述的方法,其特征在于,所述对所述数据对象清单中的数据对象进行数据处理,包括:
从所述数据对象清单中获取各数据对象的对象标识;
根据所述对象标识生成与所述中间状态匹配的数据处理请求;
将所述数据处理请求发送至存储服务器,以使所述存储服务器基于所述数据处理请求对存储的、且与所述对象标识对应的数据对象进行数据处理。
12.根据权利要求11所述的方法,其特征在于,所述数据处理包括回热处理,所述方法还包括:
在所述存储服务器对存储的、且所述对象标识对应的所述数据对象进行回热处理的过程中,当达到问询时刻时,向所述存储服务器发送进度问询请求;
接收所述存储服务器基于所述进度问询请求所返回的应答消息;
基于所述应答消息确定回热处理的完成进度。
13.一种数据状态迁移装置,其特征在于,所述装置包括:
目标文件查找模块,用于基于待处理文件路径查找满足状态迁移条件的目标文件;
状态标记模块,用于将所述目标文件标记为与所述状态迁移条件匹配的中间状态;
清单获取模块,用于当完成标记后,获取针对所述目标文件中各数据对象的数据对象清单;
处理模块,用于对所述数据对象清单中的数据对象进行数据处理;
状态迁移模块,用于当完成数据处理后,将所述目标文件从所述中间状态迁移至目标状态。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110188347.3A CN112559448B (zh) | 2021-02-19 | 2021-02-19 | 数据状态迁移方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110188347.3A CN112559448B (zh) | 2021-02-19 | 2021-02-19 | 数据状态迁移方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559448A true CN112559448A (zh) | 2021-03-26 |
CN112559448B CN112559448B (zh) | 2021-05-18 |
Family
ID=75035947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110188347.3A Active CN112559448B (zh) | 2021-02-19 | 2021-02-19 | 数据状态迁移方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559448B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419689A (zh) * | 2021-08-25 | 2021-09-21 | 苏州浪潮智能科技有限公司 | 基于状态分析的对象管理的方法、系统、设备和存储介质 |
CN114328134A (zh) * | 2022-03-16 | 2022-04-12 | 深圳超盈智能科技有限公司 | 计算机内存动态测试系统 |
CN115454932A (zh) * | 2022-09-16 | 2022-12-09 | 北京火山引擎科技有限公司 | 一种数据处理方法及装置 |
CN115509990A (zh) * | 2022-09-21 | 2022-12-23 | 中合数字科技(广东)有限公司 | 电子文件归档方法、装置、系统与计算机可读存储介质 |
CN116088938A (zh) * | 2023-04-12 | 2023-05-09 | 摩尔线程智能科技(北京)有限责任公司 | 一种连续指令处理方法及系统、电子设备和存储介质 |
CN117591495A (zh) * | 2024-01-18 | 2024-02-23 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN117971839A (zh) * | 2024-03-29 | 2024-05-03 | 平凯星辰(北京)科技有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106045A (zh) * | 2012-12-20 | 2013-05-15 | 华为技术有限公司 | 数据迁移方法和系统、主机端设备 |
CN105843809A (zh) * | 2015-01-13 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN106970920A (zh) * | 2016-01-14 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种用于数据库数据迁移的方法与设备 |
CN109388347A (zh) * | 2018-10-15 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种数据迁移方法及装置 |
CN109558456A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种文件迁移方法、装置、设备及可读存储介质 |
US20190339896A1 (en) * | 2018-05-04 | 2019-11-07 | EMC IP Holding Company LLC | System for migrating virtual tape volumes between filesystems |
CN111625498A (zh) * | 2020-05-28 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、系统、电子设备及存储介质 |
CN112269759A (zh) * | 2020-10-23 | 2021-01-26 | 北京浪潮数据技术有限公司 | 一种共享文件存储的迁移方法及相关装置 |
-
2021
- 2021-02-19 CN CN202110188347.3A patent/CN112559448B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106045A (zh) * | 2012-12-20 | 2013-05-15 | 华为技术有限公司 | 数据迁移方法和系统、主机端设备 |
CN105843809A (zh) * | 2015-01-13 | 2016-08-10 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置 |
CN106970920A (zh) * | 2016-01-14 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种用于数据库数据迁移的方法与设备 |
US20190339896A1 (en) * | 2018-05-04 | 2019-11-07 | EMC IP Holding Company LLC | System for migrating virtual tape volumes between filesystems |
CN109388347A (zh) * | 2018-10-15 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种数据迁移方法及装置 |
CN109558456A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种文件迁移方法、装置、设备及可读存储介质 |
CN111625498A (zh) * | 2020-05-28 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 一种数据迁移方法、系统、电子设备及存储介质 |
CN112269759A (zh) * | 2020-10-23 | 2021-01-26 | 北京浪潮数据技术有限公司 | 一种共享文件存储的迁移方法及相关装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419689A (zh) * | 2021-08-25 | 2021-09-21 | 苏州浪潮智能科技有限公司 | 基于状态分析的对象管理的方法、系统、设备和存储介质 |
CN114328134A (zh) * | 2022-03-16 | 2022-04-12 | 深圳超盈智能科技有限公司 | 计算机内存动态测试系统 |
CN115454932A (zh) * | 2022-09-16 | 2022-12-09 | 北京火山引擎科技有限公司 | 一种数据处理方法及装置 |
CN115509990A (zh) * | 2022-09-21 | 2022-12-23 | 中合数字科技(广东)有限公司 | 电子文件归档方法、装置、系统与计算机可读存储介质 |
CN116088938A (zh) * | 2023-04-12 | 2023-05-09 | 摩尔线程智能科技(北京)有限责任公司 | 一种连续指令处理方法及系统、电子设备和存储介质 |
CN117591495A (zh) * | 2024-01-18 | 2024-02-23 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN117591495B (zh) * | 2024-01-18 | 2024-05-03 | 中核武汉核电运行技术股份有限公司 | 一种用于核电历史数据迁移的数据存储方法及系统 |
CN117971839A (zh) * | 2024-03-29 | 2024-05-03 | 平凯星辰(北京)科技有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN112559448B (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112559448B (zh) | 数据状态迁移方法、装置、计算机设备和存储介质 | |
US10958752B2 (en) | Providing access to managed content | |
CN107391758B (zh) | 数据库切换方法、装置及设备 | |
CN103595730B (zh) | 一种密文云存储方法和系统 | |
CN101217571B (zh) | 用于多副本数据网格系统中的写/读文件操作的方法 | |
EP3917115A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111198848A (zh) | 一种分布式文件访问方法、系统、服务器和存储介质 | |
CN106649676B (zh) | 一种基于hdfs存储文件的去重方法及装置 | |
US10862672B2 (en) | Witness blocks in blockchain applications | |
US20220215002A1 (en) | Image File Management Method, Apparatus, and System, Computer Device, and Storage Medium | |
WO2023011022A1 (zh) | 基于区块链的数据处理方法、设备及计算机可读存储介质 | |
CN107580032B (zh) | 数据处理方法、装置及设备 | |
Wang et al. | Data Security Storage Model of the Internet of Things Based on Blockchain. | |
CN115098519A (zh) | 一种数据存储方法及装置 | |
CN112507010B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
US11934386B2 (en) | Migration of a data blockchain | |
CN111143130B (zh) | 数据恢复方法、装置、计算机可读存储介质和计算机设备 | |
CN111158606B (zh) | 存储方法、装置、计算机设备和存储介质 | |
CN111858467A (zh) | 基于人工智能的文件数据处理方法、装置、设备和介质 | |
WO2019214071A1 (zh) | 区块链上用户通信方法、装置、终端设备及存储介质 | |
WO2021196957A1 (zh) | 一种存储管理方法、装置及存储系统 | |
CN111143366B (zh) | 一种针对海量大对象数据的高效能存储方法 | |
CN116414801A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN116107801A (zh) | 交易处理方法及相关产品 | |
US10691369B2 (en) | Pool partner based replication |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40040999 Country of ref document: HK |