一种数据回滚方法、装置、及终端制造方法及图纸

技术编号:19215699 阅读:25 留言:0更新日期:2018-10-20 06:43
公开了一种数据回滚方法、装置、及终端。该方法包括:在离线存储介质中配置离线存储数据表,在线上存储介质中配置线上存储数据表;离线存储数据表包括至少一个数据分区,每一数据分区存储一个时间周期内产生的数据;线上存储数据表采用Hbase表结构,其支持存储至少两个版本的数据;针对每一数据分区,将数据分区中的数据同步至线上存储数据表中,并根据数据分区对应的时间周期为所同步的数据设置版本号,其中,版本号随着时间周期的推移而逐步递增;在从线上存储数据表中读取数据的过程中,判断线上存储数据表中具有最高版本号的数据是否错误;若是,则读取具有除最高版本号以外的指定版本号的数据;否则,读取具有最高版本号的数据。

【技术实现步骤摘要】
一种数据回滚方法、装置、及终端
本说明书实施例涉及数据处理
,尤其涉及一种数据回滚方法、装置、及。
技术介绍
数据回滚是指,当数据处理错误时,将数据恢复到上一次正确状态。现有技术中,为了实现数据回滚,在线上存储介质中建立两个线上存储数据表,例如数据表A与数据表B,其中,在离线数据同步过程中,将离线存储介质中所存储的,最近一个时间周期内产生的数据同步至数据表A,将该最近一个时间周期的前一个时间周期内产生的数据同步至数据表B,后续,在从线上存储介质中读取数据的过程中,若检测到数据表A中的数据错误,则切换至数据表B进行数据读取,当数据表A中的数据修复之后,再切换回数据表A进行数据读取。由上述描述可知,为了实现上述数据回滚过程,需要预先针对两个线上存储数据表配置两套离线数据同步流程以及两套线上数据读取策略,由此可见,现有技术的预配置过程十分繁琐。
技术实现思路
针对上述技术问题,本说明书实施例提供一种数据回滚方法、装置、及。根据本说明书实施例的第一方面,提供一种数据回滚方法,所述方法包括:在离线存储介质中配置离线存储数据表,在线上存储介质中配置线上存储数据表;所述离线存储数据表包括至少一个数据分区,每一所述数据分区存储一个时间周期内产生的数据;所述线上存储数据表采用Hbase表结构,其支持存储至少两个版本的数据;针对每一所述数据分区,将所述数据分区中的数据同步至所述线上存储数据表中,并根据所述数据分区对应的时间周期为所同步的数据设置版本号,其中,所述版本号随着所述时间周期的推移而逐步递增;在从所述线上存储数据表中读取数据的过程中,判断所述线上存储数据表中具有最高版本号的数据是否错误;若是,则读取具有除所述最高版本号以外的指定版本号的数据;否则,读取具有所述最高版本号的数据。根据本申请实施例的第二方面,提供一种数据回滚装置,所述装置包括:配置模块,用于在离线存储介质中配置离线存储数据表,在线上存储介质中配置线上存储数据表;所述离线存储数据表包括至少一个数据分区,每一所述数据分区存储一个时间周期内产生的数据;所述线上存储数据表采用Hbase表结构,其支持存储至少两个版本的数据;同步模块,用于针对每一所述数据分区,将所述数据分区中的数据同步至所述线上存储数据表中,并根据所述数据分区对应的时间周期为所同步的数据设置版本号,其中,所述版本号随着所述时间周期的推移而逐步递增;判断模块,用于在从所述线上存储数据表中读取数据的过程中,判断所述线上存储数据表中具有最高版本号的数据是否错误;第一读取模块,用于若所述线上存储数据表中具有最高版本号的数据错误,则读取具有除所述最高版本号以外的指定版本号的数据;第二读取模块,用于若所述线上存储数据表中具有最高版本号的数据正确,则读取具有所述最高版本号的数据。根据本申请实施例的第三方面,提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现本说明书实施例提供的任一项数据回滚的方法。本说明书实施例所提供的技术方案,通过在离线存储介质中配置离线存储数据表,在线上存储介质中配置线上存储数据表,且该离线存储数据表包括至少一个数据分区,每一数据分区存储一个时间周期内产生的数据,该线上存储数据表采用Hbase表结构,其支持存储至少两个版本的数据,针对每一数据分区,将数据分区中的数据同步至线上存储数据表中,并根据数据分区对应的时间周期为同步的数据设置版本号,其中,版本号随着时间周期的推移而逐步递增,后续,在从线上存储数据表中读取数据的过程中,判断线上存储数据表中具有最高版本号的数据是否错误,若是,则读取具有除最高版本号以外的指定版本号的数据,否则,则读取具有最高版本号的数据。通过该技术方案,由于将不同时间周期内产生的数据存储至同一线上存储数据表中,并以版本号进行时间周期的区分,从而可以实现配置一套数据读取策略,一套离线数据同步流程,即可实现数据回滚,预配置过程较为简便,同时,通过一个线上存储数据表可为多个业务应用提供数据服务,适用性较好。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为现有技术中分布式存储架构的示意图;图2为本说明书实施例中分布式存储架构的示意图;图3为本说明书一示例性实施例提供的数据回滚方法的实施例流程图;图4为本说明书一示例性实施例中配置界面的一种示例;图5为本说明书一示例性实施例提供的数据回滚装置的实施例框图;图6示出了本说明书实施例所提供的一种更为具体的终端硬件结构示意图。具体实施方式为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。在基于大数据的人工智能、机器学习、决策服务等
中,可以采用分布式计算机架构搜集数据,这些数据可以来自社交网络、电子商务网站、顾客来访记录、顾客消费记录等诸多来源,且这些数据往往具有实时性,即每隔一个预设时间周期,参与业务系统运行的数据可以更新一次。通常情况下,在诸如此类的分布式计算机架构中,首先将搜集到的数据存储在稳定性较高的离线存储介质中,但是,离线存储介质的读取速度较低,从而为了满足业务系统对数据的访问需求,可以进一步将离线存储介质中的数据按照一定策略,例如每隔预设时间周期,即同步至线上存储介质中,以供业务系统随意访问,该线上存储介质可以为磁盘、磁盘阵列等。然而,离线存储介质中存储的数据难免出错,从而从离线存储介质同步至线上存储介质中的数据也将存在错误,业务系统读取到这些错误数据,并基于这些错误数据运行时,将出现异常情况,此时,为了保障业务系统的正常运行,可以在线上存储介质中进行数据回滚,即将业务系统所读取的数据恢复到上一次正确数据。现有技术中,为了实现数据回滚,可以在线上存储介质中建立两个线上存储数据表,在离线数据同步过程中,将离线存储介质中所存储的,最近一个时间周期内产生的数据同步至其中一个线上存储数据表,将该最近一个时间周期的前一个时间周期内产生的数据同步至另一个线上存储数据表,例如,如图1所示,为现有技术中分布式存储架构的示意图,在图1所示例的离线存储介质中包括离线存储数据表,该离线存储数据表包括多个数据分区,图1中以三个数据分区为例,每一数据分区可存储一个时间周期内产生的数据,例如,如图1所示,数据分区“Partition#1”中存储“20171212”这一时间周期内产生的数据,数据分区“Partition#2”中存储“20171213”这一时间周期内产生的数据,数据分区“Partition#3”中存储“20171214”这一时间周期内产生的数据。具体的,假本文档来自技高网
...

【技术保护点】
1.一种数据回滚方法,所述方法包括:在离线存储介质中配置离线存储数据表,在线上存储介质中配置线上存储数据表;所述离线存储数据表包括至少一个数据分区,每一所述数据分区存储一个时间周期内产生的数据;所述线上存储数据表采用Hbase表结构,其支持存储至少两个版本的数据;针对每一所述数据分区,将所述数据分区中的数据同步至所述线上存储数据表中,并根据所述数据分区对应的时间周期为所同步的数据设置版本号,其中,所述版本号随着所述时间周期的推移而逐步递增;在从所述线上存储数据表中读取数据的过程中,判断所述线上存储数据表中具有最高版本号的数据是否错误;若是,则读取具有除所述最高版本号以外的指定版本号的数据;否则,读取具有所述最高版本号的数据。

【技术特征摘要】
1.一种数据回滚方法,所述方法包括:在离线存储介质中配置离线存储数据表,在线上存储介质中配置线上存储数据表;所述离线存储数据表包括至少一个数据分区,每一所述数据分区存储一个时间周期内产生的数据;所述线上存储数据表采用Hbase表结构,其支持存储至少两个版本的数据;针对每一所述数据分区,将所述数据分区中的数据同步至所述线上存储数据表中,并根据所述数据分区对应的时间周期为所同步的数据设置版本号,其中,所述版本号随着所述时间周期的推移而逐步递增;在从所述线上存储数据表中读取数据的过程中,判断所述线上存储数据表中具有最高版本号的数据是否错误;若是,则读取具有除所述最高版本号以外的指定版本号的数据;否则,读取具有所述最高版本号的数据。2.根据权利要求1所述的方法,所述指定版本号为所述最高版本号的前一个版本号。3.根据权利要求1所述的方法,所述方法还包括:接收用于指示所述线上存储数据表中具有最高版本号的数据错误的第一指示消息;根据所述第一指示消息,将用于指示所述线上存储数据表中具有最高版本号的数据错误的配置信息设置为生效状态;所述判断所述线上存储数据表中具有最高版本号的数据是否错误,包括:判断所述配置信息是否处于生效状态;若是,则判断得出所述线上存储数据表中具有最高版本号的数据错误;否则,则判断得出所述线上存储数据表中具有最高版本号的数据正确。4.根据权利要求1所述的方法,所述读取具有除所述最高版本号以外的指定版本号的数据,包括:构造一条数据读取指令,所述数据读取指令中携带指定版本号;根据所述数据读取指令,读取具有所述指定版本号的数据。5.根据权利要求3所述的方法,所述方法还包括:接收用于指示所述线上存储数据表中具有最高版本号的数据已恢复正确的第二指示消息;根据所述第二指示消息,将所述配置信息从所述生效状态切换为失效状态。6.一种数据回滚装置,所述装置包括:配置模块,用于在离线存储介质中配置离线存储数据表,在线上存储介质中配置线上存储数据表;所述离线存储数据表包括至少一个数据分区,每一所述...

【专利技术属性】
技术研发人员:康树鹏
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1