银行业务系统日终结息批处理多进程处理设计方案.docVIP

银行业务系统日终结息批处理多进程处理设计方案.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

版本号

修改人

修改日期

修改说明

1.0

hwx

2013-01-09

初稿

1.1

hwx

2013-01-10

简化了设计。明确了数据优先级的概念。

名词介绍

监理进程:

用来启动、停止工作进程,给工作进程分配任务,监控工作进程的状态,监控系统资源。

工作进程:

用来完成具体的业务功能,详细的业务逻辑要在这个进程里执行。

报文格式

“指令”是监理进程发送给工作进程的。

“状态”是工作进程发送给监理进程的。

指令/状态

Char(1)

指令

A开始数据处理

B暂停执行

C退出程序

状态

1程序处理成功完成

2程序处理失败

数据长度

Char(4)

不够四位,左补零

数据内容

Char(n)

数据结构

交易并发定义表(tx_concur_def)

tx_code

Char(4)

交易码

tx_prog

Char(20)

交易函数

对应的so是tx_prog.so

tx_data

Char(1024)

数据来源

是一个sql语句,返回一个结果集。首先取到的数据被优先处理。

结果集格式:

第一列数据

例子:

selectopn_br_nofromtd_mstgroupbyopn_br_noorderbycount(*)desc

对于需要多列的数据的,可以把列合并。

例如

selectprdt_no||opn_br_no,count(*)fromdd_mstgroupby1orderbycount(*)desc;

proc_upper_lmt

Decimal(3,0)

进程数上限

Load_upper_lmt

Decimal(3,0)

负载上限

最大值为100,最小值为0

data_code

Char(4)

数据编码

放结果集里的数据

tx_status

Char(1)

交易状态

初始状态

正在执行

执行失败

clear_result

Char(1)

在成功做完后删除

tx_concur_result里的数据。

Y是

N否

result_id

Decimal(10,0)

结果标识

初始值为零,以后这个值会自动增加。每次运行一下任务,这个域的数据会加一。

此列数据一般不用修改。

交易并发结果表(tx_concur_result)

tx_code

Char(4)

交易代码

result_id

Decimal(10,0)

结果标识

data_id

Decimal(10,0)

数据标识

从1开始递增

data_value

Char(100)

数据内容

data_status

Char(1)

任务状态

Y成功

N没有成功

Createunidexindextx_concur_resut_idx1ontx_concur_result(tx_code,result_id,data_id)

监理进程流程

根据tx_code,读取tx_concur_def里数据

创建proc_upper_limit和当前负载情况,创建适当数量的工作进程

查看tx_status的状态。如果tx_status为零,表示这个交易需要初始化

把result_id加1

执行tx_data里sql语句,

把结果放到tx_concur_result里的data_value列里。

把data_status设置为N

对并发数据(tx_concur_result)进行循环处理

读取tx_concur_result里的数据,条件为tx_concur_result.tx_code

=tx_concur_def.tx_codeandtx_concur_result.result_idand

=tx_concur_def.result_idanddata_status=’N’

调用系统监控接口,决定是否可以处理用户数据

查看工作进程队列,如果有可用进程,把数据发送到可用进程

检查是否有死进程,有则记录错误状态,重新启动该工作进程

据工作进程的结果,更新tx_concur_result里的data_status

根据tx_concur_result里的data_status,更新tx_concur_def里的tx_status

工作进程流程

初始化环境

循环处理“监管进程”发布的指令

解析传入的数据,把值放到相应的数据编码里

调用tx_prog程序

把tx_prog的执行结果返回到“监管进程”

“工作进程”内部如果有循环的数据要处理,那么也可以调用系统资源监控API,来决定是否处暂停处理下一条。

储蓄活期结息的说明

方法1:按机构结息

字段

说明

tx_data

Selectopn_br_nofromdd_mstgroupbyon_br_no

文档评论(0)

152****4270 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档