存储过程调度框架

   很早开发的一个调度程序,,在此做个介绍,希望有些用处

概述:由于存储过程执行,需要统一管理及调度,为实现调试策略及日志处理等情况,特制定一简单有效的调试程序。

1.1 调度元数据

ETL_META_LOG

主要记录各原子的日志信息

序号 

字段名称 

字段描述 

类型 

长度 

允许空 

缺省值 

STEP_ID 

步骤id  

NUMBER 

16,2 

Y  

 

STEP_NAME 

步骤名称  

VARCHAR2 

64 

Y  

 

PERFORM_TIME 

执行时间点  

VARCHAR2 

60 

Y  

 

OUT_ROW 

返回条数  

NUMBER 

16 

Y  

 

START_TIME 

执行开始时间  

DATE 

Y  

 

END_TIME 

执行结束时间  

DATE 

Y  

 

STATE 

结果状态  

CHAR 

Y  

 

OUT_MSG 

结果信息  

VARCHAR2 

4000 

Y  

 

ORG_CODE 

省机构代码  

NUMBER 

11 

Y  

 

ETL_META_ORG 

定义各省市执行版本

序号 

字段名称 

字段描述 

类型 

长度 

允许空 

缺省值 

ORG_CODE 

省机构代码  

NUMBER 

11 

Y  

 

ORG_NAME 

省机构名称  

VARCHAR2 

50 

Y  

 

VERSION 

执行版本  

VARCHAR2 

20 

Y  

 

ORG_FLAG 

选用标志大于1:选用0:不选用  

NUMBER 

Y  

 

ORG_DM 

原系统代码  

VARCHAR2 

11 

Y  

 

ETL_META_PRC

定义各存储过程信息、版本

序号 

字段名称 

字段描述 

类型 

长度 

允许空 

缺省值 

STEP_ID 

步骤id  

NUMBER 

16,2 

Y  

 

STEP_NAME 

步骤名称  

VARCHAR2 

64 

Y  

 

PRC_NAME 

存储过程名称  

VARCHAR2 

100 

Y  

 

PRC_FLAG 

选用标志 大于1:选用 0,作废  

NUMBER 

Y  

 

PARENTSTEP_ID 

父执行结点集  

VARCHAR2 

200 

Y  

 

VERSION 

版本  

VARCHAR2 

20 

Y  

 

7

EXECUTE_SQL

判断是否可执行,结果必须要为数字,大于零则表示可执行

VARCHAR2 

4000

Y

 

ETL_META_CHECKPOINT

定义各省市执行成功的时间点

序号 

字段名称 

字段描述 

类型 

长度 

允许空 

缺省值 

STEP_ID 

步骤id  

NUMBER 

16,2 

Y  

 

PERFORM_TIME 

执行时间点  

VARCHAR2 

60 

Y  

 

ORG_CODE 

省机构代码  

NUMBER 

11 

Y  

 

 

1.2 调度功能说明

1,统一处理日志,成功标注成功日志,失败标注具体失败原因(oracle内部错误)且能统计出程序的执行时间。

2,存储过程执行依赖策略,当此程序依赖与某其它程序时,其它程序执行失败则此程序不执行。

3,重复调度合理性。所谓合理性为,当一次调度失败后,进行第二次重复设计时,以存储过程为最小粒子,上次执行成功的粒子则不会再执行。

4,支持并发调度操作,在此说的并发,前提为所有存储过程编写时符合并发操作。

5,支持存储过程不同参数。调度中可支持不同参数存储过程调用,建议:用同种参数操作,程序的简单实用性高。

6,元数据管理理愿。 一般可通过配制表管理调度策略。

1.3 调度制定说明

当编写完一存储过程后, 先定义此过程的中文说明,确定此过程的版本,(所谓版本,为‘TAX_CTAIS11’,’TAX_CTAIS20’,TAX_SHANGHAI’等等,可自行定义,再者确定此过程依赖的其它过程,

因此在etl_META_prc中可增加一条,step_id为执行的顺序ID,不同版本相同功能定义为同一ID,例如:征收项目分很多版本,且step_id为同一个数字。不同项目不能定义为同一IDID为数字型精度为2,不能小于1

若此过程不基本任何版本,例如汇总数据。则version定义为空。

PRC_FLAG字段定义规则:0:表示不启用,

参数为              (IN_SWJG in   number,  --省机关代理键

IN_TJSJ_Q in  number,    --统计时间

IN_TJSJ_Z in  number,    --统计时间

 OUT_ROWNUM OUT NUMBER)

PARENTSTEP_ID字段定义规则:若此程序依赖于step_id 12两存储过程,则此字段定义为 “1.00,2.00”, 因为精度为2,所以00必须加上。

EXECUTE_SQL  定义是否可执行sql  制定sql,可确定当前时间是否达到制定的时间间隔规则

 

1.4 配置说明

(ETL_meta_prc表中定义数据)

STEP_ID

STEP_NAME

PRC_NAME

PRC_FLAG

PARENTSTEP_ID

VERSION

EXECUTE_SQL

1.00

统一视图_增量_登记_纳税人信息

PCK_TYST_DJ_CTAIS20_ADD.SP_DJ_NSRXX

0

 

TAX_CTAIS20

 

1.00

统一视图_初始化_登记_纳税人资格信息

PCK_TYST_DJ_CTAIS20_INIT.SP_DJ_NSRXX

1

 

TAX_CTAIS20

 

2.00

统一视图_增量_登记_纳税人资格信息

PCK_TYST_DJ_CTAIS20_ADD.SP_DJ_NSRZGXX

0

 

TAX_CTAIS20

 

2.00

统一视图_初始化_登记_纳税人资格信息

PCK_TYST_DJ_CTAIS20_INIT.SP_DJ_NSRZGXX

1

 

TAX_CTAIS20

 

3.00

统一视图_增量_登记_核定征收项目

PCK_TYST_DJ_CTAIS20_ADD.SP_DJ_HDZSXM

0

 

TAX_CTAIS20

 

3.00

统一视图_初始化_登记_核定征收项目

PCK_TYST_DJ_CTAIS20_INIT.SP_DJ_HDZSXM

1

 

TAX_CTAIS20

 

200.00

数据仓库_登记_纳税人信息

PCK_SJCK_DJ.SP_DJ_NSRXX

1

1.00,2.00,3.00

TAX

 

201.00

数据仓库_登记_纳税人信息汇总

PCK_SJCK_DJ.SP_DJ_HZ_NSRXX

1

200.00

TAX

 

 

1.5 调度方式

调度方式如下:

etl_common_define. Auto_Run(           In_endDate date,

In_prc_flag number,

In_org_flag number);

输入参数为三个,

In_endDate    一般为当天的一个固定时间,精确时分秒 不能为空

In_prc_flag 表示运行ETL_PRC_DEFINE表中prc_flag等于此输入参数的所有存储过程。可输入为空,代表运行所有此字段大于0的存储过程。

In_org_flag 表示运行ETL_org_DEFINE表中org_flag等于此输入参数的所有存储过程。可输入为空,代表运行所有此字段大于0的存储过程。(此参数可灵活实现机构并行调度)。

 

 

 

 

 

 

 

----问题:针对按地市分区并行统计汇总,如有跨分区数据(如纳税人跨地区变更等)单分区统计数据可能有误

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/134308/viewspace-761289/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/134308/viewspace-761289/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值