华夏银行
自助银行项目设计方案
目 录
前 言..........................................................................................................................................0
第一篇 自助银行总体结构....................................................................................................0
第一章 系统结构....................................................................................................................0
1 硬件设备的组成........................................................................................................0
2 应用系统的总体结构................................................................................................0
第二章 网络拓扑结构............................................................................................................0
1 网络拓扑结构图........................................................................................................0
2 有关的说明................................................................................................................0
第二篇 自助银行管理平台的工作流程................................................................................0
第三章 术语定义....................................................................................................................0
第四章 工作流程....................................................................................................................0
1 概述............................................................................................................................0
2 工作流程....................................................................................................................0
3 交易种类....................................................................................................................0
4 交易流程及各种交易的处理次序............................................................................0
5 交易生命周期............................................................................................................0
6 交易格式....................................................................................................................0
第三篇 自助银行管理平台的程序流程................................................................................0
第五章 程序的设计方案........................................................................................................0
1 概述............................................................................................................................0
2 各系统的功能描述....................................................................................................0
3 各系统之间的关系....................................................................................................0
第六章 各系统的程序流程....................................................................................................0
1 管理系统的程序流程................................................................................................0
2 交易处理系统的程序流程........................................................................................0
3 交易监控系统的程序流程........................................................................................0
4 设备监控系统的程序流程........................................................................................0
前 言
经过总行、支行和公司的共同努力,完成了《华夏银行自助银行项目需求
及分析》。总体设计以依据总行确认的需求、目前华夏卡系统的现状和满足未来
发展需要为出发点,对自助银行的结构、网络和应用系统(包括信息交换格式)
进行了设计。
第一篇 自助银行总体结构
第一章 系统结构
第二章
1 硬件设备的组成
自助银行的设备除自服务终端设备外,还包括其他设备,如控制系统、网络
设备、保安监控设备、门禁系统、消防设备、电源设备、照明设备、通讯设备等,
下面围绕自助银行业务的处理过程介绍系统的组成。
业务主机
异地处理中心
DDN/
前置机
DDN/
多媒体查询机对帐单打印机
ATM PCD
Web Server
图一 自助银行设备的组成
其它设备
DDN/
银行客户
(如银行、
电话局等)
的主机
自助银行系统由运行综合业务系统的业务主机(简称业务主机)、自服务终端
设备的管理和预处理机(简称前置机)、网络设备及自服务终端设备共同组
成(如图一所示)。
前置机对下实现对自服务设备的通讯、数据交换、实时监控和管理;对上则
完成数据格式的转换,向业务主机提供一致的“面向交易”的数据接口。
自动取款机(ATM)、现金存款机(PCD)是自助银行的核心部分,PCD 主
要用于实现现钞存款,ATM 主要用于实现现钞取款,根据配置不同还可实
现查询余额、修改密码、转帐、存折打印等功能。
多媒体查询机由一台微机和多媒体组件(触摸屏、语音卡、音箱或电话、刷
卡器、打印机等)组成。持卡人通过刷卡或人工输入帐号查询帐户余额及
近期交易清单,打印或语音输出。同时可提供银行业务咨询和其他服务。
对帐单打印机主要完成对帐单打印,兼或提供帐户查询、业务咨询等。
自助银行系统的其他构成
安全监控及门禁系统由若干个 CCD 摄像头、监视器、门卡及控制器等
组成。监控系统应保证合法的持卡人顺利进入自助银行进行操作,同时
对意外情况进行监控。安全监控可以通过网络进行远程集中监控。
金融信息系统由一组 LED 显示或大屏幕显示器加控制器组成,可向客
户提供实时的外汇牌价、股票行情等金融信息。
形象及广告宣传由灯箱、广告牌、徽标、LED 显示屏及控制器等组成,
用于指导用户操作、宣传银行业务和形象。
其他服务设施主要有公用电话付费电话、简易计算器、呼叫中心服务等
组成,为用户提供方便、周到的服务。
夜间金库可以在晚间为客户提供夜间存款服务,有信封式存款和钱袋式
二种。
此外还有消防系统,电源配置(包括空调、UPS)、照明系统、徽记和 24
小时夜间标识等。
在本项目中,自助银行的具体使用设备清单如下:
自助银行中:
自动取款机:NCR Personas75
自动存款机:NCR Personas73
多媒体查询机:IBM 9104
对帐单打印机:Siemens PP200
路由器:Cisco 2509
安全监控及门禁系统:
LED 显示屏:
夜间金库:
主机房中
前置机:高可靠的 PC Server
2 应用系统的总体结构
自助银行项目中开发的应用系统分为三部分:自服务终端设备上的应用系统、
前置机上的自助银行管理平台和银行主机与前置机的接口函数。应用系统的总体
结构如图二所示:
自服务终端设备上的应用系统完成的功能主要是:根据用户的操作组织交易
请求;将交易请求发送给前置机;根据前置机返回的交易应答对交易进行相应地
处理,使用户能够完成交易;根据前置机的指令对自服务设备进行各种控制操作;
向前置机汇报自服务设备的当前状态。
前置机上的自助银行管理平台完成的功能主要是:对前置机和自助设备进行
管理、维护和日终处理。接收来自自服务设备上的交易请求,经过处理后,或者
直接组织交易应答发送给自服务设备,或者将交易请求发送给银行主机与前置机
的接口函数;接收来自接口函数的返回信息,经过处理后,将返回信息发送给自
服务设备。实时显示交易情况和自服务设备的运行状态。
银行主机与前置机的接口函数完成的功能主要是:接收来自前置机的交易请
求,经过处理后,发送给主机;接收来自主机的交易处理结果,经过处理后,将
结果返回给前置机;在日终处理时,负责完成前置机和主机对帐过程中的数据传
输功能。它以动态函数库的形式存放在前置机上。
自服务设
备上的应
用系统
自助银行
管理平台
接口函数
综合业务
系统
自服务设备 前置机 银行主机
图二 应用系统的总体结构
下面对不同自服务设备的应用系统结构做进一步的说明:
在 PP200 和 IBM9104 运行的应用系统的结构
PP200 采用 Windows NT Workstation 操作系统,IBM9104 采用 Windows
95 操作系统,装入 及随硬件提供的驱动程序,系统采用 Web 页面方
式进行人机交互。
自服务设备上的应用系统包括: 控件(HTML)、读卡器和打印机控制
程序。
Web 应用服务器采用 Windows NT Server 操作系统,装入 Lotus Go Web
Server、IBM DB2。
前置机采用 SCO UNIX 操作系统。
在 PCD 上运行的应用系统的结构
PCD 采用 Windows NT 操作系统,装入 SSDS 软件开发系统。PCDC 是自
服务设备上的应用系统。
前置机采用 SCO UNIX 操作系统。
控件(HTML)
读卡器和打印机控制
Java Servlet
(应用程序)
Go Webserver/DB2
Windows NT
Workstation(PP200)
Windows 98(IBM9104)
PP200/IBM9104
综合业务处
理系统
Windows NT
Server
Web应用服务器 前置机
SCO UNIX
主机
接口
函数
自助银行
管理平台
UNIX
PCDC
Windows NT
SSDS
自助银行
管理平台
SCO UNIX
综合业务处
理系统
PCD 前置机
主机
接口函数
UNIX
在 ATM 上运行的应用系统结构图
ATM 采用 OS/2 Warp 操作系统,装入 S4i 软件开发系统。ATMC 是自服
务设备上的应用系统。
前置机采用 SCO UNIX 操作系统。
ATMC
OS/2 Warp
S4i
自助银行
管理平台
SCO UNIX
综合业务处
理系统
ATM 前置机 主机
接口函数
UNIX
第三章 网络拓扑结构
1 网络拓扑结构图
TPC/IP
TPC/IP
业务主机
前置机 Web Server
Router
(Cisco 2509)
DDN
Router
(Cisco 2509)
ATM
(NCR Personas75)
PCD
(NCR Personas73)
对帐单打印机
(SEIMENS PP200)
多媒体查询机
(IBM 9104)
图三 网络拓扑结构
2 有关的说明
将自助银行视为一个远地的网点,自助银行中的自服务设备通过 DDN 方式
与主机房中相应的前置机进行通讯。
在远地网点和主机房两端各有一台路由器负责本地与远程通讯的转换。
同一自助银行的所有自服务设备均接入同一个局域网内。
主机房中负责处理综合业务系统的主机与前置机接入同一个局域网内。
两个局域网均采用 TCP/IP 通讯协议。
这种网络结构不必随着自助银行网点的增加而改变,为今后业务的增加提供
了网络技术上的保障。
目前的设计方案中,前置机可以对不同的自服务设备进行统一管理、统一维
护。
第四章
第二篇 自助银行管理平台的工作流程
第五章 术语定义
第六章
为便于描述随后的内容,本章定义了在自助银行系统中涉及的术语和名词。
函数调用
前置机上的自助银行管理平台调用华夏银行总行综合业务系统提供的接口
函数,并等待函数的返回值。
加密
为了避免非法用户的侵入,保障数据的安全,采用适当的算法,对不同设备
间传送的重要数据进行特殊处理。
解密
对加密的数据进行适当处理,得到原始的数据内容。
密钥
加密和解密所使用的特殊数据。
签到
自服务设备向前置机或者前置机向主机进行注册,确认设备的身份,以便开
始正常的工作。
用户
使用前置机上自助银行管理平台的工作人员。
用户权限
允许用户进行的操作。
自服务设备参数
为保证自服务设备运行所配置的参数。包括:设备编号、设备类型、储蓄机
构号、储蓄操作员号、对公机构号、对公操作员号、IP 地址、端口号、安放
地点。
自服务设备的运行状态
在前置机设备监控系统中显示的自服务设备状态,共有四种状态(正常、测
试连接、警告和异常)。
正常表示自服务设备能够为业务提供服务。
测试连接表示由于应用系统的管理使自服务设备无法提供服务。
警告表示自服务设备能够为业务提供服务,但是处理能力已经接近极限。
异常表示自服务设备自身无法提供服务。
自服务设备的详细状态
自服务设备运行中所具有的状态。包括:设备编号、设备类型、流水打印机
状态、凭条打印机状态、读卡器状态、存款机具状态、保险门状态、机箱门
状态、通讯状态、硬件加密器状态、验钞器状态、废钞箱状态、废钞箱张数、
钞箱状态、钞票币种、钞票面额、钞票张数、吞卡张数。
交易
为完成某个功能,自服务设备与前置机之间,前置机与主机之间进行的信息
发送、接收的过程。交易既可以是存款、取款等业务处理,也可以是前置机
为了进行管理或对帐,与自服务设备或主机进行信息发送、接收的过程。交
易共分为三类:业务类交易、管理类交易和对帐类交易。
业务类交易
存款、取款、查询、打印等客户进行业务处理的交易。
管理类交易
设备签到、设备故障、设备维护、清钱箱、打开设备、关闭设备等用于设备
管理的交易。
对帐类交易
前置机与设备在日终处理时进行对帐的交易。
交易请求
在一个交易过程中,由一方主动发送的交易信息包一般称为交易请求,该方
称为发送方。
交易应答
另一方接收到交易请求并进行处理后,返回给发送方的交易信息包称为交易
应答,该方称为接收方。
批次号
在前置机向主机签到时产生,用于表示该次签到后所有交易的标识。
批次号顺序增加,在增加到最大值后重新设置为初始值。
流水号
对指定的一台设备来说,在每次交易时产生,用于表示该次交易的标识。
流水号顺序增加,在增加到最大值后重新设置为初始值。
日终处理
在一个交易日结束时银行进行帐务处理的过程,主要过程是进行对帐。
对帐(包括与主机对帐和与设备对帐)
自服务设备与前置机或前置机与主机之间按照批次号核对帐务是否平衡。
分类总帐
对指定的某一批次号,在指定的一台设备上发生的某一种业务类交易的总笔
数和总金额。
明细帐
对指定的某一批次号,在指定的一台设备上发生的每一笔业务类交易的交易
种类、交易日期、交易时间、交易金额、转入帐号、转出帐号等详细信息。
第七章 工作流程
第八章
本章描述了自助银行项目中所有业务的工作流程。根据工作流程,归纳出了
交易种类,描述了交易流程、交易的处理次序、交易的生命周期和交易格式。
1 概述
启动
主机(综合业务系统)进入正常运行状态
启动管理系统
前置机向主机签到
启动交易监控系统
启动设备监控系统
自服务设备向前置机签到
业务处理
存款(活期存款、整存、零存)
取款(活期取款)
转帐(卡→卡转帐、卡内活期转定期、卡内定期转活期、约定转存、自助缴
费)
查询(查询帐户明细、查询历史明细、查询帐户余额、查询贷款情况及应付
利息、还款、还贷)
打印(打印对帐单、补打满页帐、打印未满页帐、打印交易明细、打印个人
理财对帐单)
设定交易限额
修改密码
管理
设备管理
打开某台自服务设备
关闭某台自服务设备
增加自服务设备
修改自服务设备参数
删除自服务设备
查询自服务设备参数
系统配置
修改系统参数
查询系统参数
数据处理
数据查询
数据汇总
数据备份
数据清除
数据恢复
用户管理
增加用户
修改用户权限
删除用户
设备监控系统
实时显示自服务设备的运行状态
实时显示自服务设备的详细状态
交易监控系统
日终处理
关闭
关闭交易监控系统
关闭设备监控系统
关闭交易处理系统
关闭管理系统
2 工作流程
本系统中,前置机与主机之间通过调用函数的方式(参数传递)进行数据
传送,因此在以下流程中,前置机向主机发送交易请求就是指调用函数,主机应
答就是指函数返回。因为函数一定有返回值,所以前置机一定能够得到主机应答。
自服务设备和前置机通过规定的信息格式,以联机交易处理的方式进行数据传递。
自助银行设备功能分配表
由总行确认的自助银行系统功能见表三
自助设备
功能
ATM PCD 9104 PP200
打印对帐单 √
补打满页帐 √
打印未满页帐 √
查询历史明细 √ √
查询帐户余额 √ √
对
公
业
务
查询贷款情况及应付利息、还款、还贷 √ √
活期存款(本币) √
活期取款(本币) √
定期存款(整存整取、零存整取) √
卡→卡转帐 √ √ √
卡内活期转定期 √ √ √ √
卡内定期转活期 √ √ √
修改密码 √ √ √ √
约定转存 √ √
设定交易限额 √ √
自助缴费(代收代付) √ √
查询帐户余额 √ √ √ √
查询交易明细 √ √ √ √
查询贷款情况(贷款申请、还贷、查询) √ √
查询贷款利息 √ √
打印交易明细 √
个
人
储
蓄
业
务
打印个人理财对帐单 √
表 三
说明: ATM 表示 NCR P75 自动取款机 PCD 表示 NCR P73 个人存款机
9104 表示 IBM9104 多媒体查询机 PP200 表示 SIEMENS 对帐单打印机
启动
主机(综合业务系统)进入正常运行状态
启动管理系统
当在前置机上启动管理系统时,管理系统自动判断是否已经被启动。如果
管理系统已经被启动,则提示用户,程序终止,退出。如果未被启动,则
自动启动交易处理系统、交易监控系统、设备监控系统。然后显示登录界
面,等待用户输入密码和口令,以便进入管理系统。
前置机向主机签到
管理系统启动后,可以选择启动交易处理系统。当交易处理系统启动时,
交易处理系统自动判断是否已经被启动。如果未被启动,交易处理系统向
主机发送签到请求并等待主机的签到应答。如果已经被启动,交易处理系
统自动退出。
主机收到交易处理系统发来的签到请求后,向交易处理系统发送签到应答。
交易处理系统收到主机发来的签到应答后,如果主机拒绝签到,则交易处
理系统退出;如果主机同意签到,则交易处理系统继续运行,签到交易结
束。交易处理系统转为正常工作状态,等待来自自服务设备的请求。
启动交易监控系统
管理系统启动后,可以选择启动交易监控系统。当交易监控系统启动时,
交易监控系统自动判断是否已经被启动。如果未被启动,则交易监控系统
正式启动,进入正常工作状态,显示被监控设备的运行状态;如果已经被
启动,则交易监控系统自动退出。
启动设备监控系统
管理系统启动后,可以选择启动设备监控系统。当设备监控系统启动时,
设备监控系统自动判断是否已经被启动。如果未被启动,则设备监控系统
正式启动,进入正常工作状态;如果已经被启动,则设备监控系统自动退
出。
自服务设备向前置机签到
自服务设备加电后,即进入测试连接状态。当自服务设备处于测试连接状
态时,自服务设备向前置机发送签到请求并等待前置机的签到应答。
前置机收到自服务设备发来的签到请求后,向自服务设备发送签到应答。
在应答中除应答信息外,还包括前置机随机产生的用于交易的密钥和卡的
识别方法。
自服务设备收到前置机发来的签到应答后,如果前置机拒绝该设备签到或
未收到前置机发来的签到应答,则自服务设备仍处于测试连接状态;如果
前置机同意签到,则自服务设备转为正常运行状态,签到交易结束。
业务处理
存款(活期存款、整存、零存)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的存款请求并等待前置机的存款应答。
前置机收到自服务设备发来的存款请求后,解密,向主机发送存款请求并
等待主机的存款应答。
主机收到前置机发来的存款请求后,向前置机发送存款应答。
前置机收到主机发来的存款应答后,向自服务设备发送经过加密的存款应
答。
自服务设备收到前置机发来的存款应答后,解密,判断应答种类。
如果收到的存款应答是允许交易,将存款放入正式钞箱,向前置机发送经
过加密的存款完成请求并等待前置机的存款完成应答。
如果收到的存款应答是不允许交易,自服务设备提示用户存款交易不成功,
退卡,退钞,存款交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的存款应答,自服务设备
提示用户存款交易不成功,退卡,退钞,存款交易结束。自服务设备转为
测试连接状态。
前置机收到自服务设备发来的存款完成请求后,解密,向主机发送存款完
成请求并等待主机的存款完成应答。
主机收到前置机发来的存款完成请求后,向前置机发送存款完成应答。
前置机收到主机发来的存款完成应答后,记录交易流水,向自服务设备发
送经过加密的存款完成应答。
自服务设备收到前置机发来的存款完成应答后,解密,判断应答种类。如
果收到的存款完成应答是交易成功,提示用户存款交易成功,退卡,打印
凭条,存款交易结束。
如果收到的存款完成应答是交易被拒绝,自服务设备提示用户存款交易不
成功,请到柜台处理。退卡,打印凭条,存款交易结束。自服务设备仍为
正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的存款完成应答,提示用
户到柜台处理,退卡,打印凭条,存款交易结束,自服务设备转为测试连
接状态。
取款(活期取款)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的取款请求并等待前置机的取款应答。
前置机收到自服务设备发来的取款请求后,解密,向主机发送取款请求并
等待主机的取款应答。
主机收到前置机发来的取款请求后,向前置机发送取款应答。
前置机收到主机发来的取款应答后,记录交易流水,向自服务设备发送经
过加密的取款应答。
自服务设备收到前置机发来的取款应答后,解密,判断应答种类。如果收
到的取款应答是交易成功,提示用户取款交易成功,退卡,打印凭条,取
款给用户,取款交易结束。如果收到的取款应答是交易被拒绝,自服务设
备提示用户取款交易不成功,退卡,打印凭条,取款交易结束。自服务设
备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的取款应答,提示用户到
柜台处理,退卡,打印凭条,取款交易结束,自服务设备转为测试连接状
态。
转帐(卡→卡转帐、卡内活期转定期、卡内定期转活期、约定转存、自助
缴费)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的转帐请求并等待前置机的转帐应答。
前置机收到自服务设备发来的转帐请求后,解密,向主机发送转帐请求并
等待主机的转帐应答。
主机收到前置机发来的转帐请求后,向前置机发送转帐应答。
前置机收到主机发来的转帐应答后,记录交易流水,向自服务设备发送经
过加密的转帐应答。
自服务设备收到前置机发来的转帐应答后,解密,判断应答种类。如果收
到的转帐应答是交易成功,提示用户转帐交易成功,退卡,打印凭条,转
帐交易结束。如果收到的转帐应答是交易被拒绝,自服务设备提示用户转
帐交易不成功,退卡,打印凭条,转帐交易结束。自服务设备仍为正常工
作状态。
如果自服务设备在一定时间内未收到前置机发来的转帐应答,提示用户到
柜台处理,退卡,打印凭条,转帐交易结束,自服务设备转为测试连接状
态。
查询(查询帐户明细、查询历史明细、查询交易明细、查询帐户余额、查
询贷款情况及应付利息、还款、还贷)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的查询请求并等待前置机的查询应答。
前置机收到自服务设备发来的查询请求后,解密,向主机发送查询请求并
等待主机的查询应答。
主机收到前置机发来的查询请求后,向前置机发送查询应答。
前置机收到主机发来的查询应答后,记录交易流水,向自服务设备发送经
过加密的查询应答。
自服务设备收到前置机发来的查询应答后,解密,判断应答种类。如果收
到的查询应答是交易成功,显示查询结果,查询交易结束。如果收到的查
询应答是交易被拒绝,自服务设备提示用户查询交易不成功,查询交易结
束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的查询应答,提示用户网
络繁忙稍后再试,退卡,查询交易结束,自服务设备转为测试连接状态。
打印(打印对帐单、补打满页帐、打印未满页帐、打印交易明细、打印个
人理财对帐单)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的打印请求并等待前置机的打印应答。
前置机收到自服务设备发来的打印请求后,解密,向主机发送打印请求并
等待主机的打印应答。
主机收到前置机发来的打印请求后,向前置机发送打印应答。
前置机收到主机发来的打印应答后,记录交易流水,向自服务设备发送经
过加密的打印应答。
自服务设备收到前置机发来的打印应答后,解密,判断应答种类。如果收
到的打印应答是交易成功,打印结果,打印交易结束。如果收到的打印应
答是交易被拒绝,自服务设备提示用户打印交易不成功,打印交易结束。
自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的打印应答,提示用户网
络繁忙稍后再试,退卡,打印交易结束,自服务设备转为测试连接状态。
设定交易限额
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的设定交易限额请求并等待前置机的
设定交易限额应答。
前置机收到自服务设备发来的设定交易限额请求后,解密,向主机发送设
定交易限额请求并等待主机的设定交易限额应答。
主机收到前置机发来的设定交易限额请求后,向前置机发送设定交易限额
应答。
前置机收到主机发来的设定交易限额应答后,记录交易流水,向自服务设
备发送经过加密的设定交易限额应答。
自服务设备收到前置机发来的设定交易限额应答后,解密,判断应答种类。
如果收到的设定交易限额应答是交易成功,提示用户设定交易限额成功,
设定交易限额结束。如果收到的设定交易限额应答是交易被拒绝,自服务
设备提示用户设定交易限额不成功,退卡,打印凭条,设定交易限额结束。
自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的设定交易限额应答,提
示用户到柜台处理,退卡,打印凭条,设定交易限额结束,自服务设备转
为测试连接状态。
修改密码
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的修改密码请求并等待前置机的修改
密码应答。
前置机收到自服务设备发来的修改密码请求后,解密,向主机发送修改密
码请求并等待主机的修改密码应答。
主机收到前置机发来的修改密码请求后,向前置机发送修改密码应答。
前置机收到主机发来的修改密码应答后,记录交易流水,向自服务设备发
送经过加密的修改密码应答。
自服务设备收到前置机发来的修改密码应答后,解密,判断应答种类。如
果收到的修改密码应答是交易成功,提示用户修改密码交易成功,退卡,
打印凭条,修改密码交易结束。如果收到的修改密码应答是交易被拒绝,
自服务设备提示用户修改密码交易不成功,退卡,打印凭条,修改密码交
易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的修改密码应答,提示用
户持卡到柜台处理,退卡,打印凭条,修改密码交易结束,自服务设备转
为测试连接状态。
管理
当启动管理系统后,可以对前置机和自服务设备进行各种管理工作。具体
的管理内容如下:
打开某台自服务设备
当日终处理完毕或者选择打开某台自服务设备后,管理系统根据设备的状
态判断该设备是否已经打开。
如果设备已经处于正常状态,则提示用户设备已经打开,工作完成。如果
设备处于非正常工作状态,则提示用户设备目前存在故障无法打开,工作
完成。如果设备处于测试连接状态,自服务设备会定时向前置机发起签到
请求。管理系统收到签到请求后,向自服务设备发送表示同意的签到应答,
设备状态转为正常工作状态,管理系统的工作完成。自服务设备主动向前
置机发起签到请求。
关闭某台自服务设备
当日终处理开始、交易处理系统退出或者选择关闭某台自服务设备后,管
理系统根据设备的状态判断该设备是否已经打开。
如果设备处于非正常工作状态,则提示用户设备目前存在故障已经关闭,
工作完成。如果设备处于测试连接状态,则提示用户设备已经关闭,工作
完成。
如果设备已经处于正常状态,管理系统向自服务设备发送关闭设备请求。
自服务设备收到管理系统发来的关闭设备请求后,如果正在进行业务处理
并且不能取消此业务,首先处理完此业务。随即向管理系统发送关闭设备
应答,转为测试连接状态。
如果管理系统未收到自服务设备发来的关闭设备应答,则记录设备的运行
状态未关闭,交易结束。
增加自服务设备
选择增加自服务设备后,输入完整的自服务设备参数,管理系统增加新的
自服务设备,工作完成。
修改自服务设备参数
选择修改自服务设备后,修改指定自服务设备的参数,管理系统更新自服
务设备参数,工作完成。
删除自服务设备
选择删除自服务设备后,管理系统删除指定的自服务设备,工作完成。
查询自服务设备参数
选择查询自服务设备参数后,管理系统显示指定自服务设备的参数,工作
完成。
修改系统参数
选择修改系统参数后,管理系统更新系统参数,提示用户退出管理系统并
重新启动。
查询系统参数
选择查询系统参数后,管理系统显示系统参数,工作完成。
数据查询
选择数据查询后,管理系统显示根据条件查询出的交易记录,工作完成。
显示的内容从屏幕左起依次为:自服务设备编号、机构号、卡号、交易时
间、交易类型、交易金额、交易结果。
数据汇总
选择数据汇总后,管理系统显示最新的分类交易的总笔数和总金额,工作
完成。显示的内容从屏幕左起依次为:自服务设备编号、机构号、交易类
型、交易总笔数、交易总金额。
数据备份
选择数据备份后,管理系统将交易数据备份到指定的设备上,工作完成。
数据清除
选择数据清除后,管理系统删除符合条件的交易记录,工作完成。
数据恢复
选择数据恢复后,管理系统从指定的设备上复制交易数据到目前的数据文
件中,工作完成。
用户管理
增加用户
选择增加用户权限后,管理系统增加用户和指定的权限,工作完成。
修改用户权限
选择修改用户权限后,管理系统修改指定用户的权限,工作完成。
删除用户
选择删除用户权限后,管理系统删除指定用户,工作完成。
设备监控系统
设备监控系统可以完成两部分工作能够实时显示自服务设备的状态,包括:
实时显示自服务设备的运行状态和自服务设备的详细状态。
实时显示自服务设备的运行状态
自服务设备的状态信息是随交易信息一并发送到前置机的。
前置机定时测试与各个自服务设备间的通讯是否正常,如果不正常,则监
控系统只能显示与该设备的通讯存在故障,而无法得到该设备的状态信息。
前置机从交易信息中提取各个自服务设备的状态信息,实时显示给用户。
实时显示自服务设备的详细状态
根据指定的设备编号,显示自服务设备的详细状态。
交易监控系统
实时显示每笔交易情况以及交易分类总笔数和总金额。显示的每笔交易内
容包括:自服务设备类型、自服务设备编号、机构号、卡号、交易时间、
交易类型、交易金额、交易结果。
日终处理
前置机向所有自服务设备发起关闭设备请求
前置机收到自服务设备的关闭应答
前置机与自服务设备对帐
前置机按自服务设备的不同分别整理分类总帐后,向自服务设备发送对帐
请求并等待自服务设备的对帐应答。
自服务设备收到前置机发来的对帐请求后,对分类总帐,记录对帐结果,
向前置机发送对帐应答。
前置机收到自服务设备发来的对帐应答后,记录对帐结果,前置机与自服
务设备对帐交易结束。如果总帐不平,前置机打印分类的明细帐。
如果前置机未收到自服务设备发来的对帐应答,提示用户网络故障。用户
可以选择重新对帐或者打印分类的明细帐。
前置机与主机对帐
前置机向主机发送对帐请求并等待主机的对帐应答。
主机收到前置机发来的对帐请求后,对分类总帐,向前置机发送对帐应答。
如果帐不平,向前置机发送对帐应答和明细帐。
前置机收到主机发来的对帐应答后,如果总帐平,前置机与主机对帐交易
结束;如果总帐不平,前置机对明细帐并打印不平的明细帐。前置机与主
机对帐交易结束。
前置机等待自服务设备的签到请求
关闭
关闭交易监控系统
在交易监控系统中选择退出,交易监控系统会自动退出。
关闭设备监控系统
在设备监控系统中选择退出,设备监控系统会自动退出。
关闭交易处理系统
在管理系统中选择关闭交易处理系统后,管理系统判断交易处理系统是否
已经运行。如果交易处理系统未运行,则提示用户交易处理系统已经关闭,
工作完成。如果交易处理系统已经运行,则向交易处理系统发送关闭请求
并等待交易处理系统的关闭应答。同时向所有的自服务设备发送关闭设备
请求。
自服务设备收到管理系统发来的关闭设备请求后,如果正在进行业务处理
并且不能取消此业务,则处理完此业务后转为测试连接状态,否则立即转
为测试连接状态。
交易处理系统收到管理系统发来的关闭请求后,拒绝所有新的签到请求。
如果在一个预定的时间内有业务交易发生,则处理完现有的业务交易。随
即向管理系统发送关闭应答,自动退出。
管理系统收到交易管理系统发来的关闭应答后,提示用户交易处理系统已
经停止,工作完成。
关闭管理系统
关闭管理系统时,先自动关闭交易监控系统、交易处理系统和设备监控系
统,然后自动退出。
错误处理
A:提示用户交易不成功,吞卡,打印凭条,交易结束。
B:提示用户交易不成功,退卡,交易结束。
C:提示用户请与银行联系,打印凭条,交易结束
D:提示交易不成功,退钞,退卡,交易结束
交易
种类
交易名称 错误原因 错误处理
分类总帐不平 各自打印分类明细帐前置机与自
服务设备对
帐
前置机未收到对帐应答 提示用户网络故障。用
户可以选择重新对帐或
者打印分类的明细帐。
分类总帐不平 对明细帐
日终
处理
前置机与主
机对帐 分类明细帐不平 各自打印分类明细帐
存款 卡号不存在、卡号未被识别、
卡已失效、帐户被冻结、主机
繁忙
输入的帐号不存在、输入的帐
号不符、存款金额与要求的存
款金额不符、不能进行第二次
补存、本月已经续存、存款已
经到期、不能续存
D
业务
处理
取款 卡号不存在、卡号未被识别、
卡已失效、密码错误、帐户被
冻结、主机繁忙、帐户余额不
足
B
转帐 卡号不存在、卡号未被识别、
卡已失效、密码错误、帐户被
冻结、主机繁忙、帐户余额不
足、转入方卡号不存在、转入
方帐户被冻结、输入的帐号不
存在、输入的帐号不符、转存
金额与要求的转存金额不符、
不能进行第二次补存、本月已
经续存、存款已经到期,不能
续存、存款未到期、该帐号已
经设立约定转存、该帐号已经
取消约定转存、输入的缴费金
额与要求不符、已经超过缴费
期限
B
查询 卡号不存在、卡号未被识别、
卡已失效、密码错误、帐户被
冻结、输入的帐号不存在、输
入的帐号不符、主机繁忙
B
打印 卡号不存在、卡号未被识别、
卡已失效、密码错误、帐户被
冻结、此满页帐还未在柜台打
出、主机繁忙
B
设定交易限
额
卡号不存在、卡号未被识别、
卡已失效、密码错误、帐户被
冻结
B
修改密码 卡号不存在、卡号未被识别、
卡已失效、密码错误
B
密码输入错误累计达到三次 A
超时处理
前置机超时处理
前置机在进行业务处理时,如果获得主机的应答为主机处理超时,则在该
笔交易流水中记录超时标志。
在日终对帐时,将交易流水按交易种类计算总笔数和总金额,然后与主机
对帐。
自服务设备超时处理
在进行取款、转帐、设定交易限额、修改密码等交易中,如果自服务设备
发送业务处理请求后没有等到应答,记录流水,提示用户请与银行联系,
打印凭条,退卡,交易结束。
在进行查询、打印和等交易中,如果自服务设备发送业务处理请求后没有
等到应答,记录流水,提示用户交易不成功,退卡,交易结束。
在进行存款交易时,如果自服务设备发送存款请求后没有等到应答,记录
流水,提示用户交易不成功,退卡,退钞,交易结束;如果自服务设备发
送存款完成请求后没有等到应答,记录流水,提示用户与银行联系,打印
凭条,退卡,交易结束。
安全性说明
由于前置机和主机之间是通过调用函数的方式进行数据传送,因此前置机和
主机之间的数据安全性由华夏银行总行来负责。
前置机和自服务设备之间的安全性分不同的设备进行描述:
PCDC 和 PCDP 之间的数据传送采用传统的 56 位 DES 算法,需要加密
和解密的内容包括:用户卡号、金额、用户密码。PCDC 端采用硬件加
密的方式,PCDP 端采用软件加密的方式。
MMQP 由两部分(Web Server 和 SCO UNIX)组成。MMQC 和 Web
Server 之间的数据传送采用 SSL 方式,对整个消息包进行加密和解密。
Web Server 和 SCO UNIX 之间的数据传送采用 TEA 方式,TEA 算法与
DES 算法类似,也是一种对称密钥分块加密系统。但它与 DES 算法相比,
有如下优点:TEA 算法的密钥位数更多,达 128 位,具有很高的加密强
度,而 DES 算法的密钥长度只有 56 位;TEA 算法加密.解密速度均快
于 DES 算法,适用于软件加密,而且容易实现对整个包加密,而不仅是
对其中某几个域加密。
ATMC 和 ATMP 之间的数据传送采用 DES 算法,需要加密和解密的内
容包括:用户卡号、金额、用户密码。
数据校验。为防止交易包在途中被恶意更改,在加密之前先为整个包计
算出8个字节的校验和,再将原包与校验和一同做加密处理。这样,如
果有人对数据包进行恶意更改就很容易被识别,而不被识别的概率则只
有 1/264, 即约千亿亿分之一。
数据的一致性。自服务设备与前置机之间的数据传输基于 TCP/IP 协议,
TCP/IP 协议本身完全可以保证数据传输的一致、有序。
密鈅管理。每天做第一笔交易之前由前置机生成一个随机密钥, 传给
Web 服务器(PP200/9104)或自服务设备(PCD), 传送过程中用前一天
的密钥进行加密; 该密钥就成为当天的工作密钥。加密传送第一天工作
密钥的密钥是 Web 服务器与前置机事先约定的。每一个交易的数据都用
随机产生的密钥进行加密,该随机密钥用工作密钥加密后放在数据包的
头部。接收方收到交易包后,首先用工作密钥将随机密钥解出,然后用
该随机密钥将整个包解密。这样,由于每一个包的密钥都不同,极大地
增加了解密的困难。而且因为每天的工作密钥随机生成,也就不会有人
知道该密钥是什么。
此外可以使用防火墙将将银行内部网与外部网隔离开,这样即使非法人
员侵入广域网,亦无法绕过防火墙攻击前置机和主机,而前置机只向主
机转发合法的交易信息,这样就达到了系统安全的目的。
操作员权限管理。在前置机上设置不同权限级别的操作员:执行各种操
作时对操作员的权限有严格的检查,只有具有高级权限的操作员才能进
行诸如设定密钥,修改系统参数,设置权限等操作;普通柜员只能做日
常处理,如查询,监控,日结等。
密码对于系统的安全来说是至关重要的,因此要从规章制度上对帐号密
码进行严格的管理,确保敏感用户的密码不被泄露,以免对系统安全造
成严重的不良后果。
交易信息要素
主机和前置机交互的信息要素
交易名称 交互的信息要素
前 置 机 签
到
交易代码、交易时间、设备编号、返回代码
存款交易 交易代码、交易时间、设备编号、交易流水号、用户卡号、用户
帐号、帐号余额、交易金额、返回代码、货币代码
取款交易 交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、用户帐号、帐号余额、交易金额、返回代码、货币代码
卡卡转帐 交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、转入卡号、转入帐号、转入帐号余额
定 期 转 活
期
交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、转入帐号、定期类型、期限、转入帐号余额
活 期 转 定
期
交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、用户帐号、帐号余额、交易金额、返回代码、货币代码、
转入帐号、定期类型、期限
自助缴费 交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、留存金额、缴费类型、转入帐号、自助缴费类型
设 定 约 定
转存
交易代码、处理类型、交易时间、设备编号、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、转出帐号、转入帐号、定期类型、期限
查 询 帐 户
余额
交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、用户帐号、帐号余额、交易金额、返回代码、货币代码
查 询 交 易
明细
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、货币代码
查 询 贷 款
情况
交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码
打 印 对 帐
单
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、积数
打 印 未 满
页帐
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、积数
打 印 满 页
帐
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、积数
设 定 交 易
限额
交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、返回代码
修改密码 交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户新密码、用户卡号、返回代码
前 置 机 与
主机对帐
交易代码、交易时间
自服务设备和前置机交互的信息要素
自 服 务 设
备签到
交易代码、交易时间、设备编号、返回代码、密钥、卡种类、银
行标识、卡标识、磁道标识、卡起始位、卡号长度、有效期限、
卡类型、是否支持多币种、是否本行卡
存款交易 交易代码、交易时间、设备编号、交易流水号、用户卡号、用户
帐号、帐号余额、交易金额、返回代码、货币代码
取款交易 交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、用户帐号、帐号余额、交易金额、返回代码、货币代码
卡卡转帐 交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、转入卡号、转入帐号、转入帐号余额
定 期 转 活
期
交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、转入帐号、定期类型、期限、转入帐号余额
活 期 转 定
期
交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、用户帐号、帐号余额、交易金额、返回代码、货币代码、
转入帐号、定期类型、期限
自助缴费 交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、留存金额、缴费类型、转入帐号、自助缴费类型
设 定 约 定
转存
交易代码、处理类型、交易时间、设备编号、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码、转出帐号、转入帐号、定期类型、期限
查 询 帐 户
余额
交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、用户帐号、帐号余额、交易金额、返回代码、货币代码
查 询 交 易
明细
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、货币代码
查 询 贷 款
情况
交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户卡号、用户帐号、帐号余额、交易金额、返回代码、
货币代码
打 印 对 帐
单
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、积数
打 印 未 满
页帐
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、积数
打 印 满 页
帐
交易代码、交易时间、起始时间、终止时间、设备编号、机构代
码、交易流水号、用户密码、用户卡号、用户帐号、帐号余额、
交易金额、返回代码、积数
设 定 交 易
限额
交易代码、交易时间、设备编号、交易流水号、用户密码、用户
卡号、返回代码
修改密码 交易代码、交易时间、设备编号、机构代码、交易流水号、用户
密码、用户新密码、用户卡号、返回代码
打开设备 交易代码、交易时间
关闭设备 交易代码、交易时间
前 置 机 与
自 服 务 设
备对帐
交易代码、交易时间、返回代码
注:
设备状态信息随交易信息上传至前置机。设备状态包含以下信息:
货币面额 1-4、货币张数 1-4、设备状态、设备异常代码、流水打印机状态、
凭条打印机状态、钞箱状态 1-4
3 交易种类
交易
种类
交 易 名 称
前置机向主机签到启
动 自服务设备向前置机签到
存款(活期存款、整存、零存)
取款(活期取款)
转帐(卡→卡转帐、卡内活期转定期、卡内定期转活期、约定转存、自
助缴费)
查询(查询帐户明细、查询历史明细、查询帐户余额、查询贷款情况及
应付利息、还款、还贷)
打印(打印对帐单、补打满页帐、打印未满页帐、打印交易明细、打印
个人理财对帐单)
设定交易限额
业
务
修改密码
管理 关闭自服务设备
设备
监控
查询自服务设备状态
前置机与自服务设备对帐日终
处理 前置机与主机对帐
4 交易流程及各种交易的处理次序
交易处理系统向综合业务处理系统签到
执行前置机向主机签到交易
各自助设备向交易处理系统签到
执行自服务设备向前置机签到交易
交易处理系统处理日常业务
<活期存款,整存,零存,活期取款,卡→卡转帐,卡内活期转定期,
卡内定期转活期,约定转存,自助缴费,查询帐户明细,查询历史明
细,查询帐户余额,查询贷款情况及应付利息,还款,还贷,打印对
帐单,补打满页帐,打印未满页帐,设定交易限额,修改密码>
[管理系统的日常工作]
交易管理系统
启动交易处理系统
[启动交易监控系统]
停止交易处理系统
自服务设备管理系统
{启动设备监控系统,打开某台自服务设备,关闭某台自服务设备,
增加自服务设备,修改自服务设备参数,删除自服务设备,查询自
服务设备参数}
系统配置
{查询系统参数,修改系统参数}
数据处理系统
{数据查询,数据汇总,数据备份,数据恢复,数据清除}
用户权限管理系统
{增加用户,删除用户权限,修改用户}
日终处理
执行关闭自服务设备交易
执行前置机与自服务设备对帐交易
执行前置机与主机对帐交易
执行打开自服务设备交易
关闭交易处理系统
执行关闭交易处理系统交易
注:
[ ] 表示该交易可有可无
{ }表示多项交易必取其一
< >表示多项交易可同时进行
带有下划线的词表示交易
5 交易生命周期
交易路由交易名称 交易使用
由 经 到
备注
自服务设备
签到请求
自服务设备处于
测试连接状态时
自服务
设备
前置机
自服务设备
签到应答
对 4001 交易的应
答
前置机 自服务
设备
前置机签到
请求
前置机交易处理
系统启动时
前置机 主机
前置机签到
应答
对 4003 交易的应
答
主机 前置机
业务处理请
求
业务处理 自服务
设备
前置
机
主机 业务请求包括自
主设备的正常业
务处理,存款、取
款、转帐、查询、
打印、设定交易限
额、改密码等
业务请求应
答
对业务处理请求
的应答
主机 前置
机
自服务
设备
关闭自服务
设备
前置机退出交易
处理系统、开始日
终处理时、接到关
闭设备命令
前置机 自服务
设备
查询自服务
设备状态
接到查询状态命
令、启动设备监控
系统
前置机 自服务
设备
查询状态应
答
对 2003 交易的应
答
自服务
设备
前置机
前置机与自
服务设备对
帐
接到对帐命令、
日终处理
前置机 自服务
设备
前置机与自
服务设备对
帐应答
对 3002 交易的应
答
自服务
设备
前置机
前置机与主
机对总帐
日终处理 前置机 主机
前置机与主
机对总帐应
答
对 3003 交易的应
答
主机 前置机
6 交易格式
前置机与自服务设备之间的交易格式采用 8583 消息交换格式。
前置机与主机之间的交易格式采用函数调用的形式。
第三篇 自助银行管理平台的程序流程
第九章 程序的设计方案
第十章
1 概述
根据第三篇中描述的工作流程,将自助银行管理平台划分为四个系统:管理
系统、交易处理系统、交易监控系统和设备监控系统。
管理系统完成的功能主要是:完成对前置机和自助设备的管理、维护和日
终处理;启动和关闭前置机上的其它应用系统。
交易处理系统完成的功能主要是:接收来自自服务设备上的交易请求,经
过处理后,或者直接组织交易应答发送给自服务设备,或者将交易请求
发送给银行主机与前置机的接口函数;接收来自接口函数的交易应答,
经过处理后,将交易应答发送给自服务设备。
交易监控系统完成的功能主要是:实时显示通过自服务设备完成的交易情
况。
设备监控系统完成的功能主要是:实时显示自服务设备当前的运行状态。
2 各系统的功能描述
管理系统的功能描述
根据工作流程的描述,管理系统具体负责完成以下功能:
交易管理(负责启动交易监控系统和设备监控系统)
设备管理(负责打开、关闭、增加和删除自服务设备、查询设备状态)
数据处理(对各种交易数据进行查询、恢复和清理)
系统配置(负责维护系统参数、设置识别卡)
周期业务(负责前置机的签到和签退、启动和关闭交易处理系统、数据
备份和日终处理)
用户管理(负责增加和删除用户、修改用户权限和其它参数、修改用户
密码,增加系统的安全程度)
报表(浏览和打印各种交易报表)。
根据管理系统负责完成的功能和需要与用户进行交互的特点,将管理系统
设计为菜单驱动方式,即用户通过选择菜单来完成上述每项功能。
为此首先定义菜单的命名和功能。
其次定义管理系统中各模块的命名和功能
交易处理系统的功能描述
根据交易处理系统需要完成的功能,将它划分为五个部分:侦听进程、前
处理进程、交易处理进程、后处理进程和 SAF 进程。
交易处理流程图
交易监控系统的功能描述
根据工作流程的描述,交易监控系统的全部工作就是实时显示交易情况。因
此将其设计为在固定终端上实时显示最近若干笔交易情况的监控系统。该系统能
够根据交易的进行情况显示主要的交易信息,实时统计涉及帐务类交易的总笔数
和总金额。
DB
共享内存
交易监控
系统
前处理
进程
后处理
进程
交易处理
进程
侦听进程
自
服
务
设
备
主
机
接
口
que_1
que_4 que_3
que_2
que_tm
SAF进程
该系统只有一个显示界面,根据交易情况实时更新界面,同时更新数据库的
相应记录。
设备监控系统的功能描述
根据工作流程的描述,设备监控系统的全部工作就是实时显示设备的工作状
态。因此将其设计为在固定终端上实时显示各设备工作状态的监控系统。
该系统在开始运行时显示各设备的运行状态;当用户输入某一个设备编号时,
显示该设备的详细状态。设备的详细状态信息是设备在发送交易请求时附带发送
上来的,交易处理系统将设备信息写入数据库,设备监控系统定时读取数据库的
记录,根据记录更新在终端上显示的设备状态。
3 各系统之间的关系
管理系统负责启动交易处理系统、交易监控系统和设备监控系统,关闭交易
处理系统,交易监控系统和设备监控系统可以自己退出。通常在新一轮交易开始
前,由管理系统启动其余三个系统;在管理系统进行日终处理之前,必须先退出
其余三个系统;日终处理之后,再由管理系统重新启动其余三个系统,开始下一
轮交易。
第十一章 各系统的程序流程(计算机专业介绍)
1 管理系统的程序流程
启动阶段
判断是否还有管理系统正在运行,如果有则退出。
否则提示用户输入用户名和密码。
用户输入用户名和密码后,选择“确认”。
如果输入不正确则提示用户重新输入。
如果输入正确则根据用户的权限显示相应的菜单。
建立与数据库的连接。
进入正常运行阶段。
正常运行阶段
交易管理
启动交易监控系统(start_tm)
CALL 交易监控系统程序。
启动设备监控(start_dm)
CALL 设备监控系统程序。
设备管理
打开设备(open_device)
用户输入设备编号和设备类型。
判断设备是否存在。
如果设备不存在或者已经打开,则提示用户并退出。
否则发送“打开设备”的交易请求给指定设备并等待交易应答。
如果在一定时间内得到设备发送的表示成功的交易应答,提示用户“打开
设备成功”,更新数据库并退出。
否则提示用户“打开设备失败”并退出。
关闭设备(close_device)
用户输入设备编号和设备类型。
判断设备是否存在。
如果设备不存在或者已经关闭,则提示用户并退出。
否则发送“关闭设备”的交易请求给指定设备并等待交易应答。
如果在一定时间内得到设备发送的表示成功的交易应答,提示用户“关闭
设备成功”,更新数据库并退出。
否则提示用户“关闭设备失败”并退出。
增加设备(add_device)
用户输入自服务设备的参数选择“确认”。
判断数据库中是否已经存在相同设备的记录。
如果已经存在,则提示用户并允许用户继续修改各输入参数。
如果不存在,则更新数据库记录并提示用户“增加设备成功”。
删除设备(delete_device)
用户输入设备编号和设备类型后,显示设备的参数信息。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“删除设备成功”并退出。
否则提示用户“删除设备失败”并退出。
修改设备参数(modify_device)
用户输入设备编号和设备类型后,显示设备的参数信息并允许用户进行修
改。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“修改设备参数成功”并退出。
否则提示用户“修改设备参数失败” 并允许用户继续修改。
数据管理
查询当前交易(query_today_trans)
查询 TRANS_STREAM 表。
显示查询结果。
查询历史交易(query_history_trans)
确认后查询 TRANS_HISTORY 表。
显示查询结果。
数据恢复(restore_data)——目前没有实现
数据清理(clear_data)
清除数据库中除 SYSPARA 表外所有数据库表的记录。
系统配置
增加卡类型(add_card_type)
输入卡种编号后,判断该卡类型是否已经存在。
如果已经存在,提示用户重新输入。
否则允许用户输入卡类型的各种参数。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“增加卡类型成功”并退出。
否则提示用户“增加卡类型失败”并允许用户继续修改。
增加卡号段(add_card_segment)
输入卡种编号和卡号段序号后,判断该卡号段是否已经存在。
如果已经存在,提示用户重新输入。
否则允许用户输入卡号段的各种参数。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“增加卡号段成功”并退出。
否则提示用户“增加卡号段失败”并允许用户继续修改。
删除卡类型(delete_card_type)
输入卡种编号后,判断该卡类型是否已经存在。
如果不存在,提示用户重新输入。
否则显示卡类型的各种参数。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“删除卡类型成功”并退出。
否则提示用户“删除卡类型失败”并退出。
删除卡号段(delete_card_segment)
输入卡种编号和卡号段序号后,判断该卡号段是否已经存在。
如果不存在,提示用户重新输入。
否则显示卡号段的各种参数。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“删除卡号段成功”并退出。
否则提示用户“删除卡号段失败”并退出。
配置运行参数(config_parameter)
显示可以让用户修改的各种参数。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“修改成功”并退出。
否则提示用户“修改失败”并退出。
周期业务
签到(sign_on)
判断前置机是否已经签退并且对帐已经平衡。
如果条件不成立,则提示用户并退出。
否则向主机发送“签到”的交易请求并等待交易应答。
如果主机返回同意签到,提示用户签到成功,更新数据库表 SYSPARA 中
相应记录为签到和未备份并退出。
否则提示用户签到不成功,并退出。
启动交易处理(start_trans)
判断前置机是否已经签到并且交易处理系统尚未启动。
如果条件不成立,则提示用户并退出。
否则 CALL 交易处理系统程序。
更新数据库表 SYSPARA 中相应记录为启动并退出。
关闭交易处理(end_trans)
判断交易处理系统是否已经关闭。
如果已经关闭,则提示用户并退出。
否则向交易处理系统发送指定信号。
更新数据库表 SYSPARA 中相应记录为关闭并退出。
签退(sign_off)
判断前置机是否已经向主机签到并且交易处理系统已经关闭。
如果条件不成立,则提示用户并退出。
否则向主机发送“签退”的交易请求并等待交易应答。
如果主机返回同意签退,提示用户签退成功,更新数据库表 SYSPARA 中
相应记录为签退并退出。
否则提示用户签退不成功,并退出。
数据备份(backup_data)
判断前置机是否已经向主机签退。
如果尚未签退,则提示用户并退出。
否则对数据库的数据进行备份。
提示用户备份成功,更新数据库表 SYSPARA 中相应记录为已经备份并退
出。
与主机对帐(chk_acc_host)
判断前置机是否已经进行数据备份。
如果尚未备份,则提示用户并退出。
否则向主机发送“对帐”交易请求并等待主机的交易应答。
如果主机未返回对帐结果,提示用户暂时无法对帐并退出。
如果主机返回对帐结果,判断主机是否认为对帐平衡。
如果主机认为对帐平衡,前置机生成分类帐结果文件(用户可以查看和打
印该文件),提示用户对帐平衡,更新数据库表 SYSPARA 中相应记录为
已对帐并退出。
否则根据主机返回的明细帐文件进行核对,前置机生成不平帐文件(用户
可以查看和打印该文件),提示用户对帐不平衡,更新数据库表
SYSPARA 中相应记录为已对帐并退出。
与设备进行对帐(chk_acc_dev)
生成指定设备的分类帐。
向指定设备发送“对帐”交易请求并等待交易应答。
如果设备未返回对帐结果,提示用户暂时无法对帐并退出。
如果设备返回对帐结果,判断设备是否认为对帐平衡。
如果设备认为对帐平衡,前置机生成分类帐结果文件(用户可以查看和打
印该文件),提示用户对帐平衡并退出。
否则根据设备返回的分类帐文件进行核对,前置机生成不平帐文件(用户
可以查看和打印该文件),提示用户对帐不平衡并退出。
用户管理
增加用户(add_user)
用户输入新增用户的名称、密码和其它辅助信息后,选择“确认”。
判断数据库中是否已经存在相同用户的记录。
如果已经存在,则提示用户并允许用户继续修改各输入参数。
如果不存在,则更新数据库记录并提示用户“增加用户成功”。
删除用户(del_user)
用户输入要被删除用户的名称,显示用户的其它信息(不包括密码)。
用户选择“确认”后,判断数据库中是否存在被删除用户的记录。
如果存在,则更新数据库记录,提示用户“删除用户成功”并退出。
如果不存在,则提示用户“该用户不存在”并退出。
修改用户参数(modi_user)
用户输入要修改用户的名称,显示用户的其它信息(不包括密码)并允许
用户进行修改。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“修改用户参数成功”并退出。
否则提示用户“修改用户参数失败” 并允许用户继续修改。
修改用户密码(modi_passwd)
用户输入要修改用户的名称、旧密码和新密码(两次)。
用户选择“确认”后,更新数据库中的相应记录。
如果更新成功,则提示用户“修改用户密码成功”并退出。
否则提示用户“修改用户密码失败” 并允许用户继续修改。
报表
交易流水表(report_stream)
查询 TRANS_STREAM 表。
显示查询结果并且可以按照固定的表格形式打印查询结果。
交易汇总表(report_sum)
查询 TRANS_STREAM 表并且进行分类汇总。
显示查询结果并且可以按照固定的表格形式打印查询结果。
关闭阶段
关闭与数据库的连接。
结束并退出管理系统。
2 交易处理系统的程序流程
侦听进程
启动阶段
获得系统的环境变量。
判断是否还有其他侦听进程在系统中正在运行,如果有则退出。
读取系统参数文件,获得若干重要参数。
创建消息队列 que_1、que_2、que_3、que_4,创建键值为 shm_key 的共
享内存,创建键值为 sem_key 的信号量,创建侦听 socket。
如果创建的过程中出现错误,提示用户启动失败并退出。
启动前处理进程、交易处理进程(若干个)、后处理进程、SAF 进程。
如果启动的过程中出现错误,提示用户启动失败并退出。
设置相应的信号处理函数。
初始化共享内存(表示没有使用)。
进入正常运行阶段。
正常运行阶段
当收到设备发来的连接时,判断当前存在的子进程数目。
如果数目小于参数值,则创建子进程,进入子进程处理阶段。
如果数目不小于参数值,则进入过量连接阶段的处理。
子进程处理阶段
接收设备发来的交易请求(8583 包)。
在共享内存中查找合适的序列号分配给该子进程。
组织消息并发往 que_1。
设置定时器。
从 que_4 中读取指定的消息。①
如果在指定时间内没有读到消息,则对共享内存中的指定区域上锁,再读
一次 que_4 的消息。
如果仍然没有读到消息,设置共享内存中指定区域的值为超时,解
锁,退出子进程。
如果读到消息,则解锁。
比较消息中的序列号和分配的序列号。
如果两者不同,则丢掉该消息,退出子进程。
如果两者相同,则跳至①。
如果在指定时间内读到消息,则比较消息中的序列号和分配的序列号。
如果两者不同,则丢掉该消息,返回①。
如果两者相同,则关闭定时器。
从消息的正文中得到交易应答,发送给设备。①
从消息的正文中得到是否有文件需要下传。
如果有,则读取文件,组织成数据包,发送给设备。
从消息的正文中得到是否退出的命令。
如果命令为退出,则退出子进程。
如果不退出,重新设置定时器。
等待接收设备发来的交易请求。①
如果在指定时间内没有得到交易请求,则设置共享内存中指定区域的值为
初始值,退出子进程。
如果在指定时间内得到交易请求,则组织消息发往 que_1。
重新设置定时器,时间值为 trans_timeout,返回①。
过量连接阶段
当当前存在的子进程数目不小于参数值时,进入过量连接阶段。
阻塞侦听 socket,等待子进程数目的减少。
当子进程数目不小于参数值时,恢复侦听 socket,进入正常运行阶段。
关闭阶段
当捕获到管理子系统发送的指定信号时,进入相应的信号处理函数。
设置忽略所有信号。
关闭前处理进程、交易处理进程、后处理进程、SAF 进程。
删除信号量、共享内存、消息队列。
关闭侦听 socket。
释放指定文件锁。
结束并退出侦听进程。
前处理进程
启动阶段
获得系统的环境变量。
判断是否还有其他前处理进程在系统中正在运行,如果有则杀掉。
读取系统参数文件,获得若干重要参数。
创建或连接到消息队列 que_1。
连接数据库。
设置捕获信号 SIGHUP 的函数。
进入正常运行阶段。
运行阶段
循环开始。①
读取数据库表 SYSPARA 中记录当前交易状态的记录。
如果为停止,则休眠 10 秒后,返回①。
如果为运行,则读取数据库表 SYSPARA 中记录批次号的记录。
如果没有得到,则休眠 10 秒后,返回①。
如果得到批次号,等待从 que_1 中得到消息。
如果得到消息,调用解包函数,将消息中的交易内容(8583 格式)按位
图展开为 BITSTR 格式的 8583 包。
如果解包不成功,返回①。
将 BITSTR 格式的 8583 包中的部分数据转换为 SSBTRANMON 格式的
数据。
向 que_tm 发送消息。
从数据库表 DEV_MANAGE 中得到相应设备的 masterkey 和 workkey。
如果没有得到 masterkey 和 workkey,填写 BITSTR 格式的 8583 包的相应
域,将 BITSTR 格式的 8583 包中的部分数据转换为 SSBTRANMON 格
式的数据,向 que_tm 发送消息,返回①。
如果当前处理的不是设备签到交易,就进行 MAC 校验。如果 MAC 校验
不正确,
填写 BITSTR 格式的 8583 包的相应域,将 BITSTR 格式的 8583 包
中的部分数据转换为 SSBTRANMON 格式的数据,向 que_tm 发送
消息,重新填写 MAC 域,调用打包函数,组织消息,向 que_4 发送
消息。①
返回①。
判断设备的工作状态。如果不允许工作,执行①,返回①。
将 BITSTR 格式的 8583 包中的部分数据转换为 DEV_MONITOR 格式的
数据。
更新数据库表 DEV_MONITOR 中的相应记录。
如果是管理类交易,得到批次号、设备编号、该设备的 masterkey 和
workkey。
如 果 是 管 理 类 交 易 中 的 设 备 签 到 , 创 建 workkey 并 更 新 数 据 库 表
DEV_MANAGE 中的相应记录;
如果是管理类交易中的对钱箱,将 BITSTR 格式的 8583 包中的数据转换
为 SELFSRV 格式的数据;
如果是管理类交易中的设备故障,更新数据库表 DEV_MANAGE 中的相
应记录;
更新数据库表 MANA_STREAM 中的记录。
如果是对钱箱,向 que_2 发送消息;否则将 BITSTR 格式的 8583 包的数
据打包成交易应答,向 que_4 发送消息。返回①。
如果是业务类交易,从 BITSTR 格式的 8583 包中得到磁道信息。
根据数据库表 CARD_MARK 和 CARD_BIN 进行合法卡的判断。如果不
是合法卡,执行①,返回①。
根据交易类型进行交易金额的判断。如果不符合银行的规定,执行①,返
回①。
对用户密码进行解密。如果解密不成功,执行①,返回①。
如果是重发交易,判断前置机是否已经处理。如果已经成功处理,执行
①,返回①。
将 BITSTR 格式的 8583 包转换为 TRANS_STREAM 格式的数据。
将 TRANS_STREAM 格式的数据增加到数据库表 TRANS_STREAM 中。
将 TRANS_STREAM 格式的数据转换为 SELFSRV 格式的数据。
如果是重发交易,得到原来的交易流水号。
向 que_2 发送消息。
返回①。
关闭阶段
当捕获到侦听进程发送的信号 SIGHUP 时,设置条件跳出运行阶段的循
环。
删除消息队列 que_1。
关闭与数据库的连接。
结束并退出前处理进程。
交易处理进程
启动阶段
获得系统的环境变量。
读取系统参数文件,获得若干重要参数。
设置捕获信号 SIGHUP 的函数。
创建连接到消息队列 que_2、que_3。
如果连接的过程中出现错误,则返回失败。
进入正常运行阶段。
运行阶段
循环开始。①
等待从 que_2 中得到消息。
如果得到消息,调用主机接口函数 CALL_HOST,等待主机的返回信息。
将主机的返回信息组织成消息,向 que_3 发送消息。
返回①。
关闭阶段
当捕获到侦听进程发送的信号 SIGHUP 时,设置条件跳出运行阶段的循
环。
删除消息队列 que_2。
结束并退出交易处理进程。
后处理进程
启动阶段
获得系统的环境变量。
判断是否还有其他后处理进程在系统中正在运行,如果有则杀掉。
设置捕获信号 SIGHUP 的函数。
读取系统参数文件,获得若干重要参数。
连接数据库。
进入正常运行阶段。
运行阶段
循环开始。①
等待从 que_3 中得到消息。
如果得到消息,将消息的正文复制为 SELFDRV 格式的数据。
如果主机返回超时,将数据库表 TRANS_STREAM 中的相应记录更新为
需 要 进 行 存 储 转 发 , 将 SELFSRV 格 式 中 的 部 分 数 据 转 换 为
SSBTRANMON 格式的数据,向 que_tm 发送消息,返回①。
将 SELFSRV 格式中的数据转换为 BITSTR 格式的数据。如果转换不成功,
向 que_tm 发送消息,返回①。
重新填写 MAC 域。如果不成功,向 que_tm 发送消息,返回①。
将 BITSTR 格式的数据打包成交易应答。如果打包不成功,向 que_tm 发
送消息,返回①。
向 que_4 发送消息,向 que_tm 发送消息,返回①。
关闭阶段
当捕获到侦听进程发送的信号 SIGHUP 时,设置条件跳出运行阶段的循
环。
删除消息队列 que_1、que_3、que_4、que_tm。
关闭与数据库的连接。
结束并退出后处理进程。
进程
启动阶段
判断是否还有其他 SAF 进程在系统中正在运行,如果有则杀掉。
设置捕获信号 SIGHUP 的函数。
连接数据库。
进入正常运行阶段。
运行阶段
循环开始。①
读取数据库表 SYSPARA 中记录当前交易状态的记录。
如果为停止,则休眠 60 秒后,返回①。
如果为运行,读取数据库表 SYSPARA 中记录存储转发间隔时间和最大次
数的记录。
从数据库表 TRANS_STREAM 中查找需要进行存储转发的记录,将这些
记录增加到数据库表 SAF 中。
从数据库表 SAF 中查找存储转发的次数小于最大次数的记录。①
如果不存在这样的记录,跳至①。
如果存在这样的记录,对 TRANS_STREAM 结构中的用户密码进行解密,
将 TRANS_STREAM 结构的数据转换为 SELFSRV 格式的数据。
调用主机接口函数 CALL_HOST,等待主机的返回信息。
如果主机的返回信息表示不成功,更新数据库表 SAF 中相应记录的存储
转发次数,跳至①。
如果主机的返回信息表示成功,删除数据库表 SAF 中的相应记录,更新
数据库表 TRANS_STREAM 中的相应记录,返回①。
提交对数据库的操作,休眠一段时间(存储转发的间隔时间)后,返回
①。①
关闭阶段
当捕获到侦听进程发送的信号 SIGHUP 时,设置条件跳出运行阶段的循
环。
关闭与数据库的连接。
结束并退出 SAF 进程。
3 交易监控系统的程序流程
启动阶段
获得系统的环境变量。
判断是否还有其他交易监控系统中正在运行,如果有则退出。
读取系统参数文件,获得若干重要参数。
连接数据库。
创建消息队列 que_tm。
如果创建的过程中出现错误,则返回失败。
进入正常运行阶段。
正常运行阶段
循环开始。①
等待从 que_tm 中得到消息。
如果得到消息,将交易信息显示在终端屏幕上,更新涉及帐务类交易的总
笔数和总金额,返回①。
关闭阶段
用户在显示界面中按下【Esc】键,设置条件跳出运行阶段的循环。
关闭与数据库的连接。
删除消息队列 que_tm。
结束并退出交易监控系统。
4 设备监控系统的程序流程
启动阶段
判断是否还有其他设备监控系统中正在运行,如果有则退出。
连接数据库。
进入正常运行阶段。
正常运行阶段
循环开始。①
读取数据库表 SYSPARA 中记录设备状态间隔时间的记录。
从数据库表 DEV_MONITOR 中读取所有记录。
根据记录的信息更新设备的运行状态。
如果用户输入某一设备的编号,则更新界面显示指定设备的详细状态。
休眠一段时间(设备状态间隔时间)后,返回①。
关闭阶段
用户在显示界面中按下【Esc】键,设置条件跳出运行阶段的循环。
关闭与数据库的连接。
结束并退出设备监控系统。