极限存储方法、装置及设备制造方法及图纸

技术编号:15188414 阅读:122 留言:0更新日期:2017-04-19 13:50
本申请公开了一种极限存储方法、装置及设备,所述方法包括:接收用于触发对源数据表执行极限存储任务的极限存储命令;根据所述极限存储命令生成极限存储计划;按照所述极限存储计划对所述源数据表执行极限存储任务,得到目标数据;将所述目标数据写入目标数据表。应用本申请实施例执行极限存储时,无需将极限存储过程分为多个步骤,而是根据一条存储命令生成存储计划,并基于该存储计划执行完整的极限存储任务,由于极限存储过程无需依赖步骤之间的关联,因此简化了极限存储流程,提高了极限存储的成功率。

【技术实现步骤摘要】

本申请涉及大数据存储
,尤其涉及极限存储方法、装置及设备。
技术介绍
在大数据处理领域,为了提高数据存储容量,提出了极限存储方案。极限存储是数据仓库中的数据压缩方式,极限存储就是通过给数据表中记录的表项设定生命周期,从而减少重复存储的表项,因此数据表中包含的表项越多,则极限存储带来的效果越明显。现有技术中,在对数据表执行极限存储任务时,将该极限存储任务分为由多个指令触发的步骤,每个步骤的输入数据为前一个步骤的执行结果数据,且每个步骤的执行结果数据均会存入中间结果集中,最后对中间结果集中的数据进行处理后写入数据表中,从而覆盖数据表中的原有数据,完成一次极限存储任务。但是,由于每个步骤的执行均依赖前一个步骤的结果,因此步骤之间的依赖性较强,当其中任一步骤出现错误时,将导致整个极限存储任务失败;另外在任务出错时,需要人为进行数据比对,从而找出发生错误的步骤,并重新执行极限存储任务,因此极限存储效率较低。
技术实现思路
本申请提供极限存储方法、装置及设备,以解决现有极限存储方式中步骤之间的依赖性较强,容易导致极限存储失败的问题。根据本申请实施例的第一方面,提供一种极限存储方法,所述方法包括:接收用于触发对源数据表执行极限存储任务的极限存储命令;根据所述极限存储命令生成极限存储计划;按照所述极限存储计划对所述源数据表执行极限存储任务,得到目标数据;将所述目标数据写入目标数据表。根据本申请实施例的第二方面,提供一种极限存储装置,所述装置包括:接收单元,用于接收用于触发对源数据表执行极限存储任务的极限存储命令;生成单元,用于根据所述极限存储命令生成极限存储计划;执行单元,用于按照所述极限存储计划对所述源数据表执行极限存储任务,得到目标数据;写入单元,用于将所述目标数据写入目标数据表。根据本申请实施例的第三方面,提供一种存储设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为:接收用于触发对源数据表执行极限存储任务的极限存储命令;根据所述极限存储命令生成极限存储计划;按照所述极限存储计划对所述源数据表执行极限存储任务,得到目标数据;将所述目标数据写入目标数据表。应用本申请实施例执行极限存储时,无需将极限存储过程分为多个步骤,而是根据一条存储命令生成存储计划,并基于该存储计划执行完整的极限存储任务,由于极限存储过程无需依赖步骤之间的关联,因此简化了极限存储流程,提高了极限存储的成功率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1为应用本申请实施例进行极限存储的系统架构示意图;图2为本申请极限存储方法的一个实施例流程图;图3为本申请极限存储方法的另一个实施例流程图;图4为本申请极限存储装置所在设备的一种硬件结构图;图5为本申请极限存储装置的一个实施例框图。具体实施方式在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。参见图1,为应用本申请实施例进行极限存储的系统架构示意图:图1中示出的系统架构可以为对基于业务的大数据进行处理的系统,例如ODPS(OpenDataProcessingService,开放数据处理服务)系统,该系统中可以包括:由用于存储各种业务数据表的若干存储服务器组成的服务器集群,以及可以对数据表执行极限存储任务的执行设备。极限存储通过给数据表中记录的表项设定生命周期,从而减少重复存储的表项,能够进行极限存储的数据表通常来说数据变化量较小,数据相对稳定,例如,用户表、商品表、成交表、订单表等。基于图1示出的系统架构,本申请实施例中,当执行设备接收到极限存储命令后,可以根据极限存储命令生成极限存储计划,按照该极限存储计划对服务器集群中存储的源数据表执行极限存储任务,得到目标数据,然后再将目标数据写入服务器集群中的目标数据表,从而完成极限存储。本申请实施例的极限存储任务由一个极限存储命令触发,极限存储过程无需依赖步骤之间的关联,因此简化了极限存储流程,提高了极限存储的成功率。下面将结合具体的实施例对申请进行详细描述。参见图2,为本申请极限存储方法的一个实施例流程图,该实施例可以应用在业务服务器侧,包括如下步骤:步骤201:接收用于触发对源数据表执行极限存储任务的极限存储命令。结合图1示出的系统架构,本实施例中的源数据表主要指还未执行过极限存储的原始数据表,源数据表可以保存在服务器集群中,以源数据表为用户数据表(src)为例,其表项字段通常可以包括用户名字段,用户标识字段,用户信息字段,以及表项分区字段等,通常用户数据表在服务器集群中以分区为单位对用户数据进行保存。其中,可以将每一天作为一个分区,则每个分区的用户数据表中,表项分区字段的字段信息即为对应分区的日期表示,比如,在分区20140803(表示2014年8月3日)的用户数据表中,每个表项的分区字段的字段信息即为“20140803”。当系统管理员需要对用户数据表中某个分区的源数据表进行极限存储时,可以向执行设备发送极限存储命令,该极限存储命令中携带的用以执行极限存储任务的任务参数可以包括:源数据表的表名、分区名、以及指定主键。仍然以对用户数据表中分区20140803进行极限存储为例,则源数据表的表名即为用户数据表的表名“src”,分区名即为“20140803”,指定主键可以为用户标识。通常在某个数据表中,可以将一个字段或多个字段的组合作为数据表的主键(PRIMARYKEY),主键可以唯一标识一个表项。步骤202:根据极限存储命令生成极限存储计划。执行设备在接收到极限存储命令后,可以获取该极限存储命令中携带的任务参数,包括源数据表的表名和分区名,以及指定主键;通常服务器集群中还保存了数据表的元数据,元数据中记录了包括数据结构在内的数据表的属性信息,因此执行设备可以根据源数据表的表名查找到源数据表的元数据,从而获得源数据表的数据结构。在获得了任务参数和数据结构后,执行设备根据上述任务参数和数据结构为源数据表生成极限存储任务,该极限存储任务包括检查任务和处理任务。其中,处理任务定义了执行极限存储过程中的执行内容,检查任务定义了在执行极限存储过程中需要检查的异常情况,在步骤203中将结合处理任务和检查任务的具体执行过程对上述两种任务进行详细描述。步骤203:按照极限存储计划对源数据表执行极限存储任务,得到目标数据。本步骤中,在按照极限存储任务的处理任务对源数据表进行本文档来自技高网...
极限存储方法、装置及设备

【技术保护点】
一种极限存储方法,其特征在于,所述方法包括:接收用于触发对源数据表执行极限存储任务的极限存储命令;根据所述极限存储命令生成极限存储计划;按照所述极限存储计划对所述源数据表执行极限存储任务,得到目标数据;将所述目标数据写入目标数据表。

【技术特征摘要】
1.一种极限存储方法,其特征在于,所述方法包括:接收用于触发对源数据表执行极限存储任务的极限存储命令;根据所述极限存储命令生成极限存储计划;按照所述极限存储计划对所述源数据表执行极限存储任务,得到目标数据;将所述目标数据写入目标数据表。2.根据权利要求1所述的方法,其特征在于,所述根据所述极限存储命令生成极限存储计划,包括:获取所述极限存储命令中携带的任务参数,所述任务参数包括所述源数据表的表名和分区名,以及指定主键;获取所述源数据表的数据结构;根据所述任务参数和所述数据结构生成所述极限存储任务的检查任务和处理任务。3.根据权利要求2所述的方法,其特征在于,所述按照所述极限存储计划对所述源数据表执行极限存储任务,包括:按照所述处理任务对所述源数据表进行极限存储;以及按照所述检查任务对所述极限存储过程中的异常情况进行检查。4.根据权利要求3所述的方法,其特征在于,所述按照所述处理任务对所述源数据表进行极限存储,包括:根据所述源数据表的表名和分区名从所述源数据表中获取源数据分区;根据所述源数据表的数据结构生成中间过程表,所述中间过程表中还包含用于表示表项数据存活周期的开始字段和结束字段;按照所述指定主键遍历所述源数据分区,获得所述指定主键的每个主键信息所对应的表项数据的存活周期;将遍历得到的表项数据和对应的存活周期写入所述中间过程表,将所述
\t中间过程表作为目标数据。5.根据权利要求4所述的方法,其特征在于,所述按照所述检查任务对所述极限存储过程中的异常情况进行检查,包括至少下述一项:判断是否对所述源数据分区执行过极限存储任务,若执行过,则确定发生异常;根据所述指定主键检查所述源数据分区中的主键信息是否重复,若重复,则确定发生异常;判断所述中间过程表与所述源数据表的数据结构是否一致,若不一致,则确定发生异常。6.根据权利要求4所述的方法,其特征在于,所述将所述目标数据写入目标数据表,包括:为所述中间过程表中的每一个存活周期划分对应的目标数据分区;从所述中间过程表中识别出属于同一存活周期的表项数据,其中,属于同一存活周期的表项数据的开始字段和结束字段的字段信息相同;将识别出的表项数据写入为其所属存活周期划分的目标数据分区,所有目标数据分区组成目标数据表。7.根据权利要求3所述的方法,其特征在于,所述方法还包括:当检查到所述极限存储过程中出现异常时,返回执行接收用于触发对源数据表执行极限存储任务的极限存储命令。8.一种极限存储装置,其特征在于,所述装置包括:接收单元,用于接收用于触发对源数据表执行极限存储任务的极限存储命令;生成单元,用于根据所述极限存储命令生成极限存储计划;执行单元,用于按照所述极限存储计划对所述源数据表执行极限存储任务,得到目标数据;写入单元,用于将所述...

【专利技术属性】
技术研发人员:郑晓文李炉阳连杰红
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1