[发明专利]一种存款系统历史数据清理方法和系统有效
申请号: | 202110210386.9 | 申请日: | 2021-02-25 |
公开(公告)号: | CN112559511B | 公开(公告)日: | 2021-06-01 |
发明(设计)人: | 马光豪;张吉锐;张克宏;张鲁杰 | 申请(专利权)人: | 江苏苏宁银行股份有限公司 |
主分类号: | G06F16/215 | 分类号: | G06F16/215;G06F16/22 |
代理公司: | 南京瑞华腾知识产权代理事务所(普通合伙) 32368 | 代理人: | 邱欢欢 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存款 系统 历史数据 清理 方法 | ||
1.一种存款系统历史数据的清理方法,运行在存储过程侧,其特征在于,包括如下步骤:
对源表进行改造,生成与所述源表对应的临时表和历史表,所述临时表为用于存款数据清理系统在执行清理作业时用户数据交换的表,所述历史表为用于存放数据清理系统清理出的历史数据的表;
接收应用程序侧传入的源表参数;
根据所述源表参数,检查与源表对应的临时表是否存在,并检查源表的交换分区是否存在,以及检查历史表的交换分区是否存在,若三者均存在,则进行下一步;
将源表的交换分区数据交换至临时表,再将临时表交换至历史表的指定交换分区;
检查源表和历史表的新分区是否存在,若不存在,则构建新分区,并对所述新分区重建索引,若源表的新分区存在,则异常报错,标志置成ERR201并退出,若历史表的新分区存在,则异常报错,标志置成ERR202并退出;
检查源表交换后的交换分区是否为空,若为空,则删除源表的交换分区,若不为空,则异常报错,标志置成ERR301并退出;
确认源表和历史表的新分区是否存在,若存在,则返回全部清理标志和开关状态,若源表的新分区不存在,则异常报错,标志置成ERR401并退出;若历史表的新分区不存在,则异常报错,标志置成ERR402并退出;
其中,所述对源表进行改造,包括如下步骤:
确定源表的数据范围,所述源表具有唯一索引;
确认所述唯一索引的字段是否存在非空约束,如果不存在,则增加非空约束;
验证所述源表是否符合重定义条件,若符合,则进行下一步,反之,返回上一步进行约束的修改;
建立所述源表的中间表,所述中间表的数据结构与源表相同;
对所述源表进行重定义操作;
拷贝所述源表的索引及约束至对应的中间表,并将所述源表的数据同步至中间表,同时收集中间表在数据同步过程中的统计信息;
再次将所述源表的数据同步至中间表;
完成重定义,所述源表由普通表改造成分区表,中间表由分区表改造成普通表;
检查源表的约束是否正常;
删除所述源表的所有索引,重建本地索引;
建立与所述源表数据结构相同的历史表,并按需建立索引;
建立与所述源表对应的临时表;
处理完所述源表后,进行下一张源表的处理。
2.根据权利要求1所述的存款系统历史数据的清理方法,其特征在于,所述构建新分区,包括:判断新分区的日期是否小于交换分区的日期,若小于,则分割上限分区生成新分区和分割后的上限分区,反之,则直接构建新分区。
3.根据权利要求1所述的存款系统历史数据的清理方法,其特征在于,在建立与所述源表数据结构相同的历史表之前,还包括:检查源表当前日期的分区是否有正常的数据插入。
4.一种存款系统历史数据的清理系统,其特征在于,包括:
源表改造模块,用于对源表进行改造,生成与所述源表对应的临时表和历史表,所述临时表为用于存款数据清理系统在执行清理作业时用户数据交换的表,所述历史表为用于存放数据清理系统清理出的历史数据的表;
源表参数接收模块,用于接收应用程序侧传入的源表参数;
第一检查模块,用于根据所述源表参数,检查与源表对应的临时表是否存在,并检查源表的交换分区是否存在,以及检查历史表的交换分区是否存在;
分区交换模块,用于将源表的交换分区数据交换至临时表,再将临时表交换至历史表的指定交换分区;
新分区及索引构建模块,用于检查源表和历史表的新分区是否存在,若不存在,则构建新分区,并对所述新分区重建索引,若源表的新分区存在,则异常报错,标志置成ERR201并退出,若历史表的新分区存在,则异常报错,标志置成ERR202并退出;
第二检查模块,用于检查源表交换后的交换分区是否为空,若为空,则删除源表的交换分区,若不为空,则异常报错,标志置成ERR301并退出;
确认及返回模块,用于确认源表和历史表的新分区是否存在,若存在,则返回全部清理标志和开关状态,若源表的新分区不存在,则异常报错,标志置成ERR401并退出;若历史表的新分区不存在,则异常报错,标志置成ERR402并退出;
其中,所述源表改造模块,包括:
数据范围确定单元,用于确定源表的数据范围,所述源表具有唯一索引;
约束增加单元,用于确认所述唯一索引的字段是否存在非空约束,如果不存在,则增加非空约束;
重定义验证单元,用于验证所述源表是否符合重定义条件;
中间表建立单元,用于建立所述源表的中间表,所述中间表的数据结构与源表相同;
重定义操作单元,用于对所述源表进行重定义操作;
拷贝及同步单元,用于拷贝所述源表的索引及约束至对应的中间表,并将所述源表的数据同步至中间表,同时收集中间表在数据同步过程中的统计信息;
再次同步单元,用于再次将所述源表的数据同步至中间表;
重定义完成单元,用于完成重定义,所述源表由普通表改造成分区表,中间表由分区表改造成普通表;
约束检查单元,用于检查源表的约束是否正常;
索引重建单元,用于删除所述源表的所有索引,重建本地索引;
历史表建立单元,用于建立与所述源表数据结构相同的历史表,并按需建立索引;
临时表建立单元,用于建立与所述源表对应的临时表;
重复单元,用于在处理完所述源表后,进行下一张源表的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏苏宁银行股份有限公司,未经江苏苏宁银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110210386.9/1.html,转载请声明来源钻瓜专利网。