资源描述
广发关键系统项目
概要设计书
(数据清理)
V1.0
11月
目录
1 概述 3
1.1 理论背景 3
1.2 需求背景 3
1.3 功效清单 4
1.4 关键策略 4
1.5 限制/假设 5
2 术语定义 6
2.1 清理编号 6
2.2 清理类型 6
2.3 清理时间 6
2.4 保留期限 7
2.5 清理状态 8
3 数据结构 9
3.1 数据结构描述 9
3.1.1 数据清理参数表 9
4 功效描述 10
4.1 数据清理参数表维护 10
4.2 技术平台数据下载和清理 10
4.3 应用系统数据下载和清理 11
4.3.1 应用系统数据下载和清理 11
4.3.2 计算清理日组件 11
4.3.3 计算保留日组件 11
4.3.4 数据清理控制组件 12
5 附录 13
1 概述
1.1 理论背景
完整数据生命周期是:应用系统数据在生产应用系统中在线阶段,归档阶段,销毁阶段单一流向过程。
完整关键银行系统数据管理步骤包含主机和开放平台,其步骤包含:
1、 主机数据下载:定时将符合条件应用数据生成文件,下载至开放平台。
2、主机数据清理:定时将符合条件应用数据删除。
3、主机数据归档:装载下载数据文件至开放平台档案管理系统。
4、归档数据销毁: 定时销毁开放平台档案管理系统中应用数据。
本文档描述是主机数据清理总体方案。
1.2 需求背景
历史数据是指多种档案中带有日期项数据,这些日期项可能是键值之一(如交易历史表),也可能不是键值(比如账户主档中销户日期),依据这些日期和统计一些状态,就能够确定那些数据已经过期,无需在主机中继续保留而能够被清除。
历史数据清理是保护资源,提升系统性能关键方法之一,所以数据清理标准在需求分析阶段就要确定下来,但清理时间和数据保留期限却会伴随数据量增加和业务发展而不停改变。
比如票据业务需求是“对于已结清票据统计,假如结清期限超出1年,许可在年末统一作物理删除”。在这个需求中,数据清理时间(年末)和数据保留期限(1年),可能会伴随业务大幅增加而发生改变(比如改为每个月末清理,保留六个月内数据),但清理条件“已结清票据统计”却是固定不变。
为了降低需求变更所带来程序修改,我们将“数据清理时间”和“数据保留期限”单独抽取出来,变成能够定义维护参数,而清理条件和具体要清理那些数据库表统计则留给应用程序来完成。
1.3 关键策略
数据清理动作统一由应用提议。应用清理程序天天全部开启实施,依据处理对象(清理编号)调用数据清理日期查询组件检验当日是否需要进行数据清理;假如需要数据清理,清理日期查询组件则返回统计最小保留日期(详见接口说明文档),应用依据最小保留日期进行以下处理。
1、档案无需支持二十四小时。
应用程序扫描需要清理档案,将符合条件统计作删除。需要考虑全部必需条件,包含:统计最终修改日小于最小保留日期;统计属于业务无效状态;相关联表主从统计需要同时删除。
2、档案需要支持二十四小时(针对双主档)。
第一步:应用程序扫描批量档案,确定需要删除那些档案那些统计(日期小于最小保留日期统计),将这些统计KEY值登记下来生成BSP档案(注意:这些KEY值不一定带有日期数据,比如已销户超出一定时限活期存款KEY值其实是存款账号)。
第二步:依据BSP档案发动BSP处理,经过KEY值真正删除联机档案中相关统计。这时应用BSP程序可能还需要再次检验统计状态和日期,以免发生意外错误(比如已销户活期存款被销户重开了)。
1.4 性能原因
1、采取程序方法删除统计,系统会登记DB2 LOG,对于一次清理大量数据会引发系统性能下降。所以在需求分析时,对于包含大数据量清理,尽可能经过增加清理次数方法来分散每次清理数据量。
2、数据清理后通常要对数据库表进行REORG,也能够参考日常系统运行REORG实施日期,来安排数据清理运行实施。
2 术语定义
数据清理模块关键数据结构是数据清理参数表,其包含以下要素。
2.1 清理编号
清理编号是8位字符串,它代表了一类数据清理规则,由应用技术人员维护。为了方便记忆,能够定义为数据库表名称。
2.2 清理类型
对同一个清理编号之下清理规则再次划分,是20位字符串自由格式,由应用自己定义和使用。比如对交易历史清理,在同一清理编号下,不一样模块账号,或不一样产品可能有不一样清理规则。
2.3 清理时间
表示数据清理时间要求,即在什么时间点来做数据清理,在IBS CORE中,数据清理时间由清理频率和清理周期组成:
清理频率
清理周期
摘要
日
NN
N=1~99,表示相对于年初每 NN 天就开启数据清理。
比如 NN =01 表示天天全部清理,NN =05 表示每5天清理一次。
周
N
N=1~7,表示每七天 N 开启数据清理。
比如 N=1 表示周一清理,N=7 表示每七天日清理。
旬
NN
NN=01~10,表示每旬 NN 日开启清理。
比如 NN =01 表示每旬第1日清理,当 NN=10表示每旬末清理。
月
NN
NN=01~31,表示每个月 NN 日开启清理。
比如 NN =01 表示每个月1日清理,NN =15 表示每个月15日清理, 尤其地当 NN=31表示每个月月末清理。
季
NN
NN=01~31,表示每三个月 NN 日开启清理。
比如 NN =01 表示3、6、9、12月1日清理,NN =15 表示3、6、9、12月15日清理,尤其地当 NN=31表示季末清理。
六个月
NN
NN=01~31,表示每六个月 NN 日开启清理。
比如 NN =01 表示6、12月1日清理,NN =15 表示6、12月15日清理,尤其地当 NN=31表示6月30日、12月31日清理。
年
MMDD
MMDD表示指定月、日,尤其地,假如设置为0229则只会每4年清理一次。
指定
CCYYMMDD
于指定日期清理。
清理开启需要按批量假期表进行计算,当出现假期跨一个清理周期时候,仍然以当日批量处理时间为准。比如定义天天清理一次,每次保留5天以内数据,且假设国庆节7天全部为假期不跑批量,那么在9月30日实施清理时候,只是清理9月26日前数据,10月8日上班第一天仍然能够查询到9月26~30日数据,而不仅仅是10月3~7日数据。但在10月8日实施数据清理时,会删除10月4日前全部数据。
假如碰到清理日是假期而没有运行批量时,系统需要在下一个批量日实施数据清理。
2.4 保留期限
代表数据保留时间长短要求,在IBS CORE中,数据保留时间由保留频率和保留周期组成:
保留频率
保留周期
摘要
日
NNN
NN=000~999,表示保留NN天数据,尤其地,当 NN=000时,表示一天全部不保留。
月
NN
NN=01~99,表示保留NN个月数据。
年
NN
NN=01~50,表示保留NN年数据。
数据保留期限是相对于清理时间而言,为了不要在月末等特殊日期实施数据清理,清理时间可能会改在其它日期实施,为避免所以而造成将一个业务周期数据拆分成两段情况,系统提供一个“是否许可按月拆分”选项,当该选项为“不许可”时,表示数据必需按月为周期进行保留。
比如每个月3日开启数据清理,要求保留30天数据,那么在5月3日清理时,假如是“不许可”按月拆分,系统会保留4月1日~5月3日数据,假如是“许可”按月拆分,系统就只保留4月4日~5月3日数据。
系统控制按日保留时,“是否许可按月拆分”选项是不可选,且必需为“许可”。
清理时间和保留期限之间参数配置可能会出现不作清理情况,需要在具体设计时考虑。比如选择按日清理,又要保留一个完整月数据,那么每个月2日以后清理动作将会是多出。
2.5 清理状态
为了简化和方便参数维护,为每条统计建立清理状态:Y或N。Y-表示清理统计有效;N-表示清理统计无效。
系统不提供参数删除交易,而是由参数维护人员经过修改删除状态为“N”来实现,这么当期望临时不作数据清理时,只需要修改清理状态即可。
3 数据结构
3.1 数据结构描述
3.1.1 数据清理参数表
l 描述:用于定义数据清理时间、保留期限及其它相关要素。
l 表COLUMN描述:
ID
名称
类型/长度
备注
BNK
银行号
9(03)
CLN_NO
清理编号
X(08)
清理数据编号,能够使用数据库表名。
CLN_TYP
清理类型
X(20)
自由格式,由应用负责解释和使用
DES
说明
X(60)
STS
状态
X(01)
Y-有效,N-无效
CLN_FRY
清理频率
X(01)
D-日,W-周,T-旬,M-月,Q-季,H-六个月,Y-年,S-指定
CLN_CYC
清理周期
9(08)
依据清理频率不一样取值不一样
RES_FRY
保留频率
X(01)
D-日, M-月,Y-年
RES-CYC
保留周期
9(03)
依据保留频率不一样取值含义不一样
RES-FLG
是否许可按月拆分
X(01)
Y-许可,N-不许可
CLN_FLG
自动处理标志
X(1)
Y-自动,由平台集中调应用组件下载和清理;
N-应用程序自行下载和清理
COM_NAM2
清理组件名
X(20)
当自动处理标志为Y时,必选
REMARK
备注
X(60)
UPT_DT
最终更新日期
9(08)
UPT_TLR
最终修改柜员
X(10)
UPT_BRH
最终修改机构号
X(10)
l KEY,INDEX描述:
ID
TYPE
COLUMN
备注
SEQ
ID
A/D
PK
PK
1
BNK
A
2
CLN_NO
A
3
CLN_TYP
A
U1
CI
1
BNK
A
2
CLN_NO
A
3
CLN_TYP
A
4 功效描述
4.1 参数表维护
l 功效:对数据清理参数表统计做增加、修改、查询、浏览。系统限定增加、修改交易只能由总行柜员实施,查询和浏览交易则不作限定。
l 输入:参数表中定义各数据项。
l 输出:交易成功画面
l 处理:
Ø 只许可总行级柜员使用;
Ø 增加、修改时更新参数档案(使用统一参数表);
Ø 增加、修改时登记历史档案,并作改前改后明细登记;
4.2 模块组件
4.2.1 清理操作查询组件
l 功效:依据会计日期、清理编号等输入,计算当日是否清理日,和清理保留日期;和输入数据相匹配,参数表中指示当日需要进行清理参数统计可能有多笔,对应输出描述中数组;绝大多数应用程序调用此组件即可。
l 输入:
输入数据英文名
输入数据汉字名
数 据 类 型
输入属性
备注
QDDT-BK
银行号
9(3)
Optional
QDDT-NO
代码种类
X(8)
Mandatory
QDDT-TYPE
清理类型
X(20)
Optional
QDDT-AC-DATE
会计日期
9(8)
Mandatory
l 输出:
输出数据英文名
输出数据汉字名
数 据 类 型
备注
QDDT-RC-MMO
返回应用符
X(2)
QDDT-RC-CODE
返回码
X(4)
QDDT-RN-BK
银行号
9(3)
OCCURS 100 TIMES
QDDT-RN-TYPE
清理类型
X(8)
OCCURS 100 TIMES
QDDT-RN-DATE
最小保留日期
9(8)
OCCURS 100 TIMES
4.2.2 计算清理日期组件
l 功效:判定当日是否需要进行数据清理。
l 输入:
输入数据英文名
输入数据汉字名
数 据 类 型
输入属性
备注
CDDT-DELE-FRY
清理频率
X(1)
Mandatory
CDDT-DELE-CYC
清理周期
9(8)
Mandatory
CDDT-AC-DATE
会计日期
9(8)
Mandatory
CDDT-LAST-DATE
上一会计日期
9(8)
Mandatory
l 输出:
输出数据英文名
输出数据汉字名
数 据 类 型
备注
CDDT-RC-MMO
返回应用符
X(2)
CDDT-RC-CODE
返回码
X(4)
CDDT-DELE-FLAG
清理标志
X(1)
'Y', 'N'.
4.2.3 计算保留日期组件
l 功效:返回最小保留日期。
l 输入:
输入数据英文名
输入数据汉字名
数 据 类 型
输入属性
备注
CSDT-STOR-FRY
保留频率
X(1)
Mandatory
CSDT-STOR-CYC
保留周期
9(3)
Mandatory
CSDT-SPLIT-FLAG
按月拆分标志
X(1)
Mandatory
CSDT-AC-DATE
会计日期
9(8)
Mandatory
l 输出:
输出数据英文名
输出数据汉字名
数 据 类 型
备注
CSDT-RC-MMO
返回应用符
X(2)
CSDT-RC-CODE
返回码
X(4)
CSDT-STOR-DATE
最小保留日期
X(8)
5 应用规则
1、并发规则:依据被清理应用表分PART情况和数据量,确定清理作业是并发方法或非并发方法。假如是对分PART数据量较大表,宜采取分PART方法。
2、关联规则:相关联应用表数据清理,在性能许可情况下,可考虑在相同批量程序作清理,以确保应用数据一致性,如在同个程序,能够对账户表待清理统计和账户在协议表关联统计穿行进行删除动作。
3、分步规则:判定逻辑简单(如只需判定清理参数相关字段)表,用单个程序实施删除动作即可。对判定逻辑复杂,或出于性能原因等原因,能够采取多步骤多程序方法作清理。如分成以下两步:依据检验逻辑将符合条件清理统计键值生成文件,依据文件作清理动作。
4、参数规则:依据预估数据量,结合业务需求,计划应用表保留期限和清理周期。
5、运行规则:清理作业安排在日终批量完成后运行,清理作业完成后对数据库表进行重组。
6 附录
展开阅读全文