The invention provides a method and device for data history archiving, in which the method comprises the following steps: providing condition parameters of data needed for historical archiving by configuration file; querying business master table data with qualified parameters and putting them into task queue based on scheduling task; traversing every industry in processing task queue; Business master table data; Processing failure table, which associates query failure table and business master table data, puts the corresponding business master table data in the failure table into task queue based on scheduling task and traverses it.
【技术实现步骤摘要】
数据历史归档的方法和装置
本专利技术涉及计算机
,尤其涉及一种数据历史归档的方法和装置。
技术介绍
随着业务的发展,数据库数据的单量会越来越大,而一般设计的业务表都会设计一个业务主表和与其相关联的多个业务子表,随着单量越来越大,数据需要做历史归档。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下问题:手动迁移数据库数据,从而导致数据的安全性得不到保证;每个业务子表都需要关联查询,随后再一个表接着一个表地做历史归档,从而导致归档效率很低;历史库一般与生产库不是同一个库,这是因为连接了不同的数据源,因而不能保证数据完整性,例如有可能部分业务子表的数据已迁移到历史库中,但仍有相关表的数据没有正确迁移。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据历史归档的方法、装置、电子设备和计算机可读介质,能够在基于调度任务对多表关联的数据进行历史归档时不需手动操作数据库,从而保证数据的安全性;能够根据可装备的配置文件,系统地查询主表的需要归档的历史数据,系统仅根据外键来查询各相关联的子表的需要归档的历史数据,而不需要每个子表归档都根据表关联来查询,从而提高归档效率;能够借助数据源切换机制以及封装统一经由spring控制事务,从而通过事务及容错来保证数据完整性。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据历史归档的方法。本专利技术实施例的一种数据历史归档的方法包括如下步骤:a)由配置文件提供需历史归档的数据的条件参数;b)查询到符合条件参数的业务主表数据并放入基于调度任务的任务队列;c)对任务队列中的每一条业务主表数据按如下措施进行处 ...
【技术保护点】
1.一种数据历史归档方法,其特征在于,包括如下步骤:a)由配置文件提供需历史归档的数据的条件参数;b)查询到符合条件参数的业务主表数据并放入基于调度任务的任务队列;c)对任务队列中的每一条业务主表数据按如下措施进行处理,其中,所述措施具有如下步骤:i)通过业务主表主键查询业务子表数据并且每一个业务子表封装一个集合;ii)经由数据源切换机制并通过spring控制事务来将所述业务子表数据及其对应的业务主表数据插入历史数据库,如果所述插入不成功,则将业务主表主键、记录类型为数据插入历史库失败记录到失败表中并回滚所述措施;iii)经由数据源切换机制并通过spring控制事务来删除业务子表生产库的数据以及业务主表生产库的数据,如果所述删除不成功,则将业务主表主键、记录类型为删除生产库数据失败记录到失败表中并回滚所述措施;d)处理失败表,其中,将所述失败表中对应的业务主表数据放入到基于调度任务的任务队列并依次对其中每一条业务主表数据进行处理,直至失败表中对应于业务主表数据的记录为空;其中,调度任务是指自动调度、依次处理任务队列中所有业务主表数据的过程。
【技术特征摘要】
1.一种数据历史归档方法,其特征在于,包括如下步骤:a)由配置文件提供需历史归档的数据的条件参数;b)查询到符合条件参数的业务主表数据并放入基于调度任务的任务队列;c)对任务队列中的每一条业务主表数据按如下措施进行处理,其中,所述措施具有如下步骤:i)通过业务主表主键查询业务子表数据并且每一个业务子表封装一个集合;ii)经由数据源切换机制并通过spring控制事务来将所述业务子表数据及其对应的业务主表数据插入历史数据库,如果所述插入不成功,则将业务主表主键、记录类型为数据插入历史库失败记录到失败表中并回滚所述措施;iii)经由数据源切换机制并通过spring控制事务来删除业务子表生产库的数据以及业务主表生产库的数据,如果所述删除不成功,则将业务主表主键、记录类型为删除生产库数据失败记录到失败表中并回滚所述措施;d)处理失败表,其中,将所述失败表中对应的业务主表数据放入到基于调度任务的任务队列并依次对其中每一条业务主表数据进行处理,直至失败表中对应于业务主表数据的记录为空;其中,调度任务是指自动调度、依次处理任务队列中所有业务主表数据的过程。2.根据权利要求1所述的方法,其特征在于,所述数据源切换机制包括如下步骤:配置生产库数据源和历史库数据源;继承spring框架中的数据源抽象类、自定义数据源切换类并重写数据源选择数据库逻辑;自定义拦截器工具类以便加注解标识。3.根据权利要求2所述的方法,其特征在于,所述数据源切换机制用于数据插入历史库时,所述注解标识为history。4.根据权利要求2所述的方法,其特征在于,所述数据源切换机制用于删除生产库数据时,所述注解标识为write。5.根据权利要求1所述的方法,其特征在于,当在处理失败表的情况下对放入到基于调度任务的任务队列中的每一条业务主表数据进行处理时,如果记录类型为数据插入历史库失败,则依次执行所述措施的步骤i)至iii),在成功执行步骤i)至iii)之后删除失败表中对应于业务主表数据的记录;而如果记录类型为删除生产库数据失败,则仅执行所述措施的步骤iii),在成功执行步骤iii)之后删除失败表中对应于业务主表数据的记录。6.一种用于数据历史归档的装置,其特征在于,所述装置包括:配置文件模块、查询业务主表数据模块、遍历执行任务队列模块以及失败表处理模块,其中,所述配置文件模块用于提供需历史归档的数据的条件参数;所述查询业务主表数据模块用于查询到符合条...
【专利技术属性】
技术研发人员:郭玉杰,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。