数据处理方法及装置制造方法及图纸

技术编号:33541251 阅读:16 留言:0更新日期:2022-05-21 09:50
本说明书实施例提供数据处理方法及装置,其中,所述数据处理方法包括响应于数据写入请求,将目标数据写入存储端的目标对象,其中,所述存储端包括主存储端和备份存储端;确定所述目标对象的初始对象元数据,并为所述初始对象元数据添加数据锁;向所述存储端发送针对所述目标数据的预提交请求;在接收到所述存储端返回的预提交元数据以及预提交成功指令的情况下,向所述存储端发送针对所述目标数据的提交请求,其中,所述预提交元数据为添加当前版本号的所述目标数据的元数据,且所述当前版本号为所述存储端获取;在接收到所述存储端返回的提交成功指令的情况下,确定所述目标数据写入成功。成功。成功。

【技术实现步骤摘要】
数据处理方法及装置


[0001]本说明书实施例涉及计算机
,特别涉及一种数据处理方法。

技术介绍

[0002]随着云计算的普及,越来越多的用户和企业选择将数据存储在云上。对于一些重要的数据,用户希望数据能够同时存储在云服务商的不同区域的数据中心,以达到容灾、提升数据可用性和安全性的目的,例如当云服务商某一个区域的数据中心由于电力、天气、机房设备等原因出现故障或者损毁时,用户能将数据访问切换到该云服务商的其他区域的数据中心,以恢复数据服务。
[0003]目前,具备跨区域复制功能的对象存储服务提供了将不同区域的数据中心或者不同机房集群间的数据异步复制的能力,它会将对象的创建、更新和删除等操作从源存储空间异步复制到不同区域的目标存储空间。当源端(源存储空间)出现故障时,用户可切换读写到对端集群(目标存储空间)恢复服务。
[0004]由于是异步复制,切换后对端可能会“丢失”少部分源端集群还未复制过来的数据。但是,很多传统企业用户(比如金融类用户),对于数据的一致性有强需求,要求在容灾切换事,不能有数据“丢失”或者不一致的情况出现。

技术实现思路

[0005]有鉴于此,本说明书施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质,一种计算机程序,以解决现有技术中存在的技术缺陷。
[0006]根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
[0007]响应于数据写入请求,将目标数据写入存储端的目标对象,其中,所述存储端包括主存储端和备份存储端;
[0008]确定所述目标对象的初始对象元数据,并为所述初始对象元数据添加数据锁;
[0009]向所述存储端发送针对所述目标数据的预提交请求;
[0010]在接收到所述存储端返回的预提交元数据以及预提交成功指令的情况下,向所述存储端发送针对所述目标数据的提交请求,其中,所述预提交元数据为添加当前版本号的所述目标数据的元数据,且所述当前版本号为所述存储端获取;
[0011]在接收到所述存储端返回的提交成功指令的情况下,确定所述目标数据写入成功。
[0012]根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
[0013]写入模块,被配置为响应于数据写入请求,将目标数据写入存储端的目标对象,其中,所述存储端包括主存储端和备份存储端;
[0014]加锁模块,被配置为确定所述目标对象的初始对象元数据,并为所述初始对象元数据添加数据锁;
[0015]第一请求发送模块,被配置为向所述存储端发送针对所述目标数据的预提交请求;
[0016]第二请求发送模块,被配置为在接收到所述存储端返回的预提交元数据以及预提交成功指令的情况下,向所述存储端发送针对所述目标数据的提交请求,其中,所述预提交元数据为添加当前版本号的所述目标数据的元数据,且所述当前版本号为所述存储端获取;
[0017]数据写入模块,被配置为在接收到所述存储端返回的提交成功指令的情况下,确定所述目标数据写入成功。
[0018]根据本说明书实施例的第三方面,提供了一种计算设备,包括:
[0019]存储器和处理器;
[0020]所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
[0021]根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
[0022]根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
[0023]本说明书一个实施例实现了一种数据处理方法及装置,其中,所述数据处理方法包括响应于数据写入请求,将目标数据写入存储端的目标对象,其中,所述存储端包括主存储端和备份存储端;确定所述目标对象的初始对象元数据,并为所述初始对象元数据添加数据锁;向所述存储端发送针对所述目标数据的预提交请求;在接收到所述存储端返回的预提交元数据以及预提交成功指令的情况下,向所述存储端发送针对所述目标数据的提交请求,其中,所述预提交元数据为添加当前版本号的所述目标数据的元数据,且所述当前版本号为所述存储端获取;在接收到所述存储端返回的提交成功指令的情况下,确定所述目标数据写入成功。
[0024]具体的,所述数据处理方法采用将待写入数据并发写入主存储端和备份存储端,确保任意时刻待写入数据可以同时写入主存储端和备份存储端,解决了异步复制带来的数据短期不一致的问题,并且通过采用预提交和提交两阶段提交的方式,确保在一端提交成功而另一端提交失败的情况下,可以利用预提交的预提交元数据作为重做日志来进行数据恢复,以保证主存储端和备份存储端的数据在读取时的一致性。
附图说明
[0025]图1是本说明书一个实施例提供的一种数据处理方法的具体应用场景示意图;
[0026]图2是本说明书一个实施例提供的一种数据处理方法的流程图;
[0027]图3是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
[0028]图4是本说明书一个实施例提供的一种数据处理装置的结构示意图;
[0029]图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0030]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能
够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0031]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0032]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0033]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0034]异步复制:将数据从源端存储空间复制到目标存储空间中,目标存储空间的数据是源端存储空间的精确副本,它们具有相同的Object名、版本信息、元数据以及内容等;数据复制到对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,包括:响应于数据写入请求,将目标数据写入存储端的目标对象,其中,所述存储端包括主存储端和备份存储端;确定所述目标对象的初始对象元数据,并为所述初始对象元数据添加数据锁;向所述存储端发送针对所述目标数据的预提交请求;在接收到所述存储端返回的预提交元数据以及预提交成功指令的情况下,向所述存储端发送针对所述目标数据的提交请求,其中,所述预提交元数据为添加当前版本号的所述目标数据的元数据,且所述当前版本号为所述主存储端获取并发送至所述备份存储端;在接收到所述存储端返回的提交成功指令的情况下,确定所述目标数据写入成功。2.根据权利要求1所述的数据处理方法,所述响应于数据写入请求,将目标数据写入存储端的目标对象,包括:接收第一用户发送的数据写入请求;根据所述数据写入请求通过预设读取方式获取所述用户写入的目标数据;将所述目标数据分别写入主存储端和备份存储端的目标对象。3.根据权利要求2所述的数据处理方法,所述根据所述数据写入请求通过预设读取方式获取所述用户写入的目标数据,包括:确定所述主存储端的目标对象和所述备份存储端的目标对象;在确定两端目标对象的初始对象元数据均不存在数据锁的情况下,根据所述数据写入请求流式获取所述用户写入的目标数据。4.根据权利要求2所述的数据处理方法,所述根据所述数据写入请求通过预设读取方式获取所述用户写入的目标数据,包括:确定所述主存储端的目标对象和所述备份存储端的目标对象;在确定两端目标对象的初始对象元数据的数据锁失效的情况下,根据所述数据写入请求流式获取所述用户写入的目标数据。5.根据权利要求1所述的数据处理方法,所述确定所述目标对象的初始对象元数据,并为所述初始对象元数据添加数据锁,包括:分别确定所述主存储端和所述备份存储端的目标对象的初始对象元数据;在确定所述目标数据写入所述主存储端和所述备份存储端的目标对象结束的情况下,分别为所述主存储端和所述备份存储端的目标对象的初始对象元数据添加数据锁。6.根据权利要求1所述的数据处理方法,所述向所述存储端发送针对所述目标数据的预提交请求,包括:分别向所述主存储端以及所述备份存储端发送针对所述目标数据的预提交请求;相应地,所述在接收到所述存储端返回的预提交元数据以及预提交成功指令的情况下,向所述存储端发送针对所述目标数据的提交请求,包括:在接收到所述主存储端响应于所述预提交请求返回的预提交元数据、以及针对所述目标数据的预提交成功指令,以及接收到所述备份存储端响应于所述预提交请求返回的预提交元数据、以及针对所述目标数据的预提交成功指令的情况下,向所述存储端发送针对所述目标数据的提交请求。7.根据权利要求1所述的数据处理方法,所述向所述存储端发送针对所述目标数据的
提交请求,包括:分别向所述主存储端以及所述备份存储端发送针对所述目标数据的提交请求;相应地,所述在接收到所述存储端响应于所述提交请求返回的、针对所述目标数据的提交成功指令的情况下,确定所述目标数据写入成功,包括:在接收到所述主存储端响应于所述提交请求返回的、针对所述目标数据的提交成功指令的情况下,确定所述目标数据写入成功;和/或在接收到所述备份存储端响应...

【专利技术属性】
技术研发人员:姜琦仓利基
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1