免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3739 | 回复: 6
打印 上一主题 下一主题

[金融] ATMP设计 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-08 09:23 |只看该作者 |倒序浏览
/*******************************************************************************
* 主控进程流程 AtmpMain:
*******************************************************************************/
1、守护进程 DaemonInit();
2、设置信号处理函数 SIGCHLD、SIGCLD、SIGTERM( Exit--释放资源 )
3、加载配置信息 LoadConfig
   (1) IPC KEY信息
   (2) 服务进程列表 AtmpServer, AmtpJob, AtmpMonitor
4、创建消息队列和共享内存
5、启动所有服务进程 fork-execl
   将进程ID号保存下来存放到临时文件中中
6、循环检查子进程运行情况
   每隔20秒钟检查消息队列、共享内存、信号灯使用情况;
   检查子进程运行情况;
   根据统计情况,按照重启机制重新启动进程。
重启机制:
    (1) IPC出现问题(如消息队列堵塞等),重启所有进程 (RestartAll)
      (2) 单个子进程出现问题, 重启单个进程(Restart)
         kill(pid, 0)   kill(SIGTERM)

/*******************************************************************************
* 监听进程 AtmpServer (用于接收ATMC的连接 常连接)
*******************************************************************************/
1、获取配置信息
方案:
  (1) 消息队列方式
  (2) 命令行传入方式
  (3) 硬盘文件方式
2、创建守护进程 DaemonInit()
3、设置信号处理程序 SIGCHLD, SIGCLD, SIGTERM, SIGHUP, SIGINT, SIGSYS, SIGPIPE
4、创建socket,设置socket属性
5、绑定套接字 bind
6、监听 listen
7、循环处理ATMC连接
  (1) 使用select监听是否有连接
  (2) accept接收连接
  (3) 交易分流
       行内交易  -> MsgId1  ->   AtmpJob
                 <- MsgId2  <-   AtmpJob
       银联交易  -> MsgId3  ->   AtmpJob2
                 <- MsgId4  ->   AtmpJob2

/*******************************************************************************
* AtmpJob 调度进程
*******************************************************************************/
1、获取配置信息
2、创建守护进程 DaemonInit()
3、设置信号处理程序
4、循环从消息队列 MsgId1 获取交易请求
  消息格式:socket(2字节) + Atmc端信息( AtmcInfo )
  (1) 获取消息
  (2) 从客户端套接字获取请求报文
  (3) 报文解析
  (4) 交易预处理 PreProcess
  (5) 交易处理 WrkProcess
  (6) 交易延迟处理 AftProcess
  
  (7) 组包发送到消息队列 MsgId2
  ( 登记监控信息 WriteMonitor (MonMsgId 监控消息队列)
  (9) 返回(1)
/*******************************************************************************
* AtmpMon 监控进程
*******************************************************************************/
1、获取监控消息队列 MonMsgId
2、创建守护进程
3、创建子进程用于定时刷新监控界面
4、父进程循环处理监控信息
  (1) 从监控消息队列获取监控信息
  (2) 监控信息处理

/*******************************************************************************
* AtmpStrike 自动冲正进程
*******************************************************************************/
1、创建守护进程
2、循环处理待冲正记录
  (1) 从数据库获取待冲正记录
  (2) 调用冲正函数处理
  (3) 更新冲正结果(冲正成功,冲正次数)
  (4) 等待间隔时间 sleep(delay);


注:本人刚接触ATMP端开发不久,需望各位牛人多多指点。

论坛徽章:
0
2 [报告]
发表于 2009-09-12 21:32 |只看该作者
坐沙发

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2009-10-19 15:25 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
24
金牛座
日期:2013-10-18 21:35:56综合交流区版块每日发帖之星
日期:2015-08-15 06:20:00综合交流区版块每日发帖之星
日期:2015-09-30 06:20:00综合交流区版块每日发帖之星
日期:2015-10-16 06:20:03每日论坛发贴之星
日期:2015-10-16 06:20:03综合交流区版块每日发帖之星
日期:2015-10-24 06:20:00IT运维版块每日发帖之星
日期:2016-01-06 06:20:0015-16赛季CBA联赛之天津
日期:2016-02-25 16:28:04综合交流区版块每日发帖之星
日期:2016-06-12 06:20:00每日论坛发贴之星
日期:2016-06-12 06:20:00综合交流区版块每日发帖之星
日期:2016-06-13 06:20:00综合交流区版块每日发帖之星
日期:2015-06-22 22:20:00
4 [报告]
发表于 2009-10-25 11:33 |只看该作者
功能还不如我十年前做的全,钞箱管理、设备管理、部件管理……啥啥都没有。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2009-10-26 11:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
射手座
日期:2013-09-30 15:24:05
6 [报告]
发表于 2009-10-26 14:13 |只看该作者
原帖由 一介村夫 于 2009-10-25 11:33 发表
功能还不如我十年前做的全,钞箱管理、设备管理、部件管理……啥啥都没有。

看标题是P 不是C

论坛徽章:
0
7 [报告]
发表于 2009-11-07 18:45 |只看该作者
NICE JOB
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP