数据历史归档的方法和装置制造方法及图纸

技术编号:19320303 阅读:18 留言:0更新日期:2018-11-03 10:52
本发明专利技术提供一种数据历史归档的方法和装置,其中,该方法包括如下步骤:由配置文件提供需历史归档的数据的条件参数;查询到符合条件参数的业务主表数据并放入基于调度任务的任务队列;遍历处理任务队列中的每一条业务主表数据;处理失败表,其中,关联查询失败表和业务主表数据,将失败表中对应的业务主表数据放入到基于调度任务的任务队列并对其进行遍历处理。

Data history archiving method and device

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)对任务队列中的每一条业务主表数据按如下措施进行处理,其中,所述措施具有如下步骤:i)通过业务主表主键查询业务主表数据的业务子表数据并且每一个业务子表封装一个集合;ii)经由数据源切换机制并通过spring控制事务来将所述业务子表数据及其对应的业务主表数据插入历史数据库,如果插入并不成功,则将业务主表主键、记录类型为数据插入历史库失败记录到失败表中并回滚所述措施;iii)经由数据源切换机制并通过spring控制事务来删除业务子表生产库的数据以及业务主表生产库的数据,如果删除不成功,则将业务主表主键、记录类型为删除生产库数据失败记录到失败表中并回滚所述措施,所述回滚是指终止措施且不会对接下来要处理的业务主表数据产生影响;d)处理失败表,其中,将所述失败表中对应的业务主表数据放入到所述调度任务的任务队列并依次对其中每一条业务主表数据进行处理,直至失败表中对应于业务主表数据的记录为空;其中,调度任务是指自动调度、依次处理任务队列中所有业务主表数据的过程。在此,数据源切换机制包括如下步骤:配置生产库数据源和历史库数据源;继承spring框架中的数据源抽象类、自定义数据源切换类并重写数据源选择数据库逻辑;自定义拦截器工具类以便加注解标识。可选地,当所述数据源切换机制用于数据插入历史库时,所述注解标识为history;而当所述数据源切换机制用于删除生产库数据时,所述注解标识为write。当在处理失败表的情况下对放入到基于调度任务的任务队列中的每一条业务主表数据进行处理时,如果记录类型为数据插入历史库失败,则依次执行所述措施的步骤i)至iii),在成功执行步骤i)至iii)之后删除失败表中对应于业务主表数据的记录;而如果记录类型为删除生产库数据失败,则仅执行所述措施的步骤iii),在成功执行步骤iii)之后删除失败表中对应于业务主表数据的记录。本专利技术实施例的一种用于数据历史归档的装置包括:配置文件模块、查询业务主表数据模块、遍历执行任务队列模块以及失败表处理模块,其中,配置文件模块用于提供需历史归档的数据的条件参数;查询业务主表数据模块用于查询到符合条件参数的业务主表数据并放入基于调度任务的任务队列;遍历执行任务队列模块用于对任务队列中的每一条业务主表数据按如下措施进行处理,其中,所述措施具有如下步骤:i)通过业务主表主键查询业务子表数据并且每一个业务子表封装一个集合;ii)经由数据源切换机制并通过spring控制事务来将所述业务子表数据及其对应的业务主表数据插入历史数据库,如果插入不成功,则将业务主表主键、记录类型为数据插入历史库失败记录到失败表中并回滚所述措施;iii)经由数据源切换机制并通过spring控制事务来删除业务子表生产库的数据以及业务主表生产库的数据,如果删除不成功,则将业务主表主键、记录类型为删除生产库数据失败记录到失败表中并回滚所述措施,所述回滚是指终止措施且不会对接下来要处理的业务主表数据产生影响;失败表处理模块用于:将所述失败表中对应的业务主表数据放入到所述调度任务的任务队列并依次对其中每一条业务主表数据进行处理,直至失败表中对应于业务主表数据的记录为空;其中,调度任务是指自动调度、依次处理任务队列中所有业务主表数据的过程。同样地,在该装置中所执行的数据源切换机制包括如下步骤:配置生产库数据源和历史库数据源;继承spring框架中的数据源抽象类、自定义数据源切换类并重写数据源选择数据库逻辑;自定义拦截器工具类以便加注解标识。可选地,当所述数据源切换机制用于数据插入历史库时,所述注解标识为history;而当所述数据源切换机制用于删除生产库数据时,所述注解标识为write。当在处理失败表的情况下对放入到基于调度任务的任务队列中的每一条业务主表数据进行处理时,如果记录类型为数据插入历史库失败,则依次执行所述措施的步骤i)至iii),在成功执行步骤i)至iii)之后删除失败表中对应于业务主表数据的记录;而如果记录类型为删除生产库数据失败,则仅执行所述措施的步骤iii),在成功执行步骤iii)之后删除失败表中对应于业务主表数据的记录。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备。本专利技术实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现数据历史归档的方法。为实现上述目的,根据本专利技术实施例的又一方面,提供了一种计算机可读介质。本专利技术实施例的一种计算机可读介质存储计算机程序,所述程序被处理器执行时实现数据历史归档的方法。上述专利技术中的实施例具有如下优点或有益效果:保证了数据的安全性并提高了归档效率且同时保证了数据的完整性。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的数据历史归档方法的以概略的方式示出的流程图;图2较详细地执行根据本专利技术实施例的数据历史归档方法的流程图;图3是根据本专利技术实施例的数据历史归档装置的示意图,其中,该装置包括配置文件模块、查询业务主表数据模块、遍历执行任务队列模块以及失败表处理模块;图4是适用于来实现本申请实施例的电子设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。为本文档来自技高网...

【技术保护点】
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

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

1