【技术实现步骤摘要】
数据重刷方法、装置和系统
本公开涉及数据处理领域,尤其涉及一种数据重刷方法、装置和系统。
技术介绍
针对原始数据经过多级离线处理生成业务数据的复杂数据流,在历史某段时间上游数据源进行变动后,需要重刷整个或者部分数据流。在重刷数据过程中,各个数据负责人根据上游通知进行人工处理,再逐级通知下游更新。在逐级处理的过程中,各级负责人都需要投入时间参与,分别保证数据更新的正确性。例如,数据提供方因业务需求或者bug(漏洞)需要修改某段时间的历史数据,通知直接负责该数据的数据负责人。数据负责人跟上游确认影响数据的更新范围,并安排数据重刷时间。数据负责人通知下游和其他数据使用者停止使用需要更新的数据,开始重刷数据。重刷完成后,数据负责人通知下游更新修改的数据,通知其他数据使用者新数据可用。下游数据负责人也执行上述重复流程,直至最下游一批数据负责人完成更新,并通知用户最新数据可用。
技术实现思路
专利技术人发现,针对大范围数据更新,由于是人工处理各级数据更新,消耗的人力成本巨大。例如,在上游数据频繁更新的情况下, ...
【技术保护点】
1.一种数据重刷方法,包括:/n根据重刷配置文件生成重刷批次和数据作业,其中,将一次数据重刷流程作为一个重刷批次,将一个数据计算过程作为一次数据任务,将执行一次数据任务作为一次数据作业;/n基于数据任务之间的上下游依赖关系执行所述数据作业;/n基于所述数据作业的作业结果替换原始数据。/n
【技术特征摘要】
1.一种数据重刷方法,包括:
根据重刷配置文件生成重刷批次和数据作业,其中,将一次数据重刷流程作为一个重刷批次,将一个数据计算过程作为一次数据任务,将执行一次数据任务作为一次数据作业;
基于数据任务之间的上下游依赖关系执行所述数据作业;
基于所述数据作业的作业结果替换原始数据。
2.根据权利要求1所述的数据重刷方法,还包括:
基于所述数据任务之间的上下游依赖关系构建有向无环图;
基于所述有向无环图执行所述数据作业。
3.根据权利要求2所述的数据重刷方法,还包括:
在所有数据任务对应的数据作业中选择需要执行数据重刷的作业集合;
执行所述作业集合中的数据作业。
4.根据权利要求3所述的数据重刷方法,其中,在所有数据任务对应的数据作业中选择需要执行数据重刷的作业集合包括:
确定活跃状态的作业集合;
若等待执行数据作业的重刷批次中的所有数据作业与所述活跃状态的作业集合没有交集,则将所述等待执行数据作业的重刷批次的状态修改为正在执行数据作业;
在所有正在执行数据作业的重刷批次中,选择优先级最高的重刷批次;
将优先级最高的重刷批次中的数据作业作为需要执行数据重刷的作业集合。
5.根据权利要求4所述的数据重刷方法,其中,
所述活跃状态的作业集合包括正在执行数据作业的重刷批次中的数据作业和已完成所有数据作业的重刷批次中的数据作业。
6.根据权利要求3所述的数据重刷方法,其中,执行所述作业集合中的数据作业包括:
若所述作业集合中所有可执行数据任务的数据作业对应的数据任务处于可执行时间范围,且没有超过任务并行度,则执行所述数据作业。
7.根据权利要求1-6任一所述的数据重刷方法,其中,基于所述数据作业的作业结果替换原始数据包括:
将已执行完成数据任务的数据作业的作业结果存储在缓存表中;
将所述缓存表中的数据替换线上表中的数据。
8.根据权利要求7所述的数据重刷方法,其中,
判断已执行完成数据任务的重刷批次是否在可替换时间范围内;
若是,则将存储在所述缓存表中的该重刷批次的作业结果替换线上表中的数据。
9.根据权利要求7所述的数据重刷方法,其中,
判断正在执行数据作业的重刷批次是否存在需要提前执行数据替换任务;
若存在,则将存储在所述缓存表中该重刷批次的作业结果替换线上表中的数据。
10.根据权利要求7所述的数据重刷方法,将所述缓存表中的数据替换线上表中的数据之后,还包括:
判断缓存表中数据文件大小是否与线上表中的数据文件大小一致,若一致,则数据替换成功,否则,数据替换失败。
11.根据权利要求10所述的数据重刷方法,其中,
在同一时间将所述线上表中的数据删除,并将所述缓存表中的数据移动到线上表对应的数据地址中。
12.根据权利要求1-6任一所述的数据重刷方法,其中,所述重刷配置文件包括包含源头任务名、重刷任务时间范围和重刷任务参数的重刷任务数据信息。
13.根据权利要求1-6任一所述的数据重刷方法,还包括:
若当前时间处于错误汇总报告时间段,则对记录的错误信息进行统一处理。
14.根据权利要求13所述的数据重刷方法,其中,
所述记录的错误信息包括根据重刷配置文件不能生成重刷批次和数据作业、所述缓存表中的数据不能替换线上表中的数据以及数据作业执行失败中的至少一项。
15.一种数据重刷装置,包括:
解析重刷配置文件模块,被配置为根据重刷配置文件生成重刷批次和数据作业,其中,将一次数据重刷流程作为一个重刷批次,将一个数据计算过程作为一个数据任务,将执行一次数据任务作为一次数据作业;
执行任务作业模块,被配置为基于数据任务之间的上下游依赖关系执行所述数据作业;
数据替换模块,被配置为基于所述数据作业的作业结果替换原始数据。
16.根据权利要求15所述的数据重刷装置,其中,
所述解析重刷配置文件模块被配置为基于所述数据任务之间的上...
【专利技术属性】
技术研发人员:庞廓,李升,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。