华夏银行
自助银行项目设计方案
前 言 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 硬件设备的组成
word/media/image1.gif自助银行的设备除自服务终端设备外,还包括其他设备,如控制系统、网络设备、保安监控设备、门禁系统、消防设备、电源设备、照明设备、通讯设备等,下面围绕自助银行业务的处理过程介绍系统的组成。
自助银行系统由运行综合业务系统的业务主机(简称业务主机)、自服务终端设备的管理和预处理机(简称前置机)、网络设备及自服务终端设备共同组成(如图一所示)。
前置机对下实现对自服务设备的通讯、数据交换、实时监控和管理;对上则完成数据格式的转换,向业务主机提供一致的“面向交易”的数据接口。
自动取款机(ATM)、现金存款机(PCD)是自助银行的核心部分,PCD主要用于实现现钞存款,ATM主要用于实现现钞取款,根据配置不同还可实现查询余额、修改密码、转帐、存折打印等功能。
多媒体查询机由一台微机和多媒体组件(触摸屏、语音卡、音箱或电话、刷卡器、打印机等)组成。持卡人通过刷卡或人工输入帐号查询帐户余额及近期交易清单,打印或语音输出。同时可提供银行业务咨询和其他服务。
对帐单打印机主要完成对帐单打印,兼或提供帐户查询、业务咨询等。
自助银行系统的其他构成
● 安全监控及门禁系统由若干个CCD摄像头、监视器、门卡及控制器等组成。监控系统应保证合法的持卡人顺利进入自助银行进行操作,同时对意外情况进行监控。安全监控可以通过网络进行远程集中监控。
● 金融信息系统由一组LED显示或大屏幕显示器加控制器组成,可向客户提供实时的外汇牌价、股票行情等金融信息。
● 形象及广告宣传由灯箱、广告牌、徽标、LED显示屏及控制器等组成,用于指导用户操作、宣传银行业务和形象。
● 其他服务设施主要有公用电话付费电话、简易计算器、呼叫中心服务等组成,为用户提供方便、周到的服务。
● 夜间金库可以在晚间为客户提供夜间存款服务,有信封式存款和钱袋式二种。
● 此外还有消防系统,电源配置(包括空调、UPS)、照明系统、徽记和24小时夜间标识等。
在本项目中,自助银行的具体使用设备清单如下:
● 自助银行中:
自动取款机:NCR Personas75
自动存款机:NCR Personas73
多媒体查询机:IBM 9104
对帐单打印机:Siemens PP200
路由器:Cisco 2509
安全监控及门禁系统:
LED显示屏:
夜间金库:
● 主机房中
前置机:高可靠的PC Server
2 应用系统的总体结构
word/media/image2.gif自助银行项目中开发的应用系统分为三部分:自服务终端设备上的应用系统、前置机上的自助银行管理平台和银行主机与前置机的接口函数。应用系统的总体结构如图二所示:
自服务终端设备上的应用系统完成的功能主要是:根据用户的操作组织交易请求;将交易请求发送给前置机;根据前置机返回的交易应答对交易进行相应地处理,使用户能够完成交易;根据前置机的指令对自服务设备进行各种控制操作;向前置机汇报自服务设备的当前状态。
前置机上的自助银行管理平台完成的功能主要是:对前置机和自助设备进行管理、维护和日终处理。接收来自自服务设备上的交易请求,经过处理后,或者直接组织交易应答发送给自服务设备,或者将交易请求发送给银行主机与前置机的接口函数;接收来自接口函数的返回信息,经过处理后,将返回信息发送给自服务设备。实时显示交易情况和自服务设备的运行状态。
银行主机与前置机的接口函数完成的功能主要是:接收来自前置机的交易请求,经过处理后,发送给主机;接收来自主机的交易处理结果,经过处理后,将结果返回给前置机;在日终处理时,负责完成前置机和主机对帐过程中的数据传输功能。它以动态函数库的形式存放在前置机上。
下面对不同自服务设备的应用系统结构做进一步的说明:
word/media/image3.gif在PP200和IBM9104运行的应用系统的结构
PP200采用Windows NT 4.0 Workstation操作系统,IBM9104采用Windows 95操作系统,装入IE4.0及随硬件提供的驱动程序,系统采用Web页面方式进行人机交互。
自服务设备上的应用系统包括:IE4.0控件(HTML)、读卡器和打印机控制程序。
Web应用服务器采用Windows NT 4.0 Server操作系统,装入Lotus Go Web Server、IBM DB2。
前置机采用SCO UNIX操作系统。
word/media/image4.gif在PCD上运行的应用系统的结构
PCD采用Windows NT操作系统,装入SSDS软件开发系统。PCDC是自服务设备上的应用系统。
前置机采用SCO UNIX操作系统。
word/media/image5.gif在ATM上运行的应用系统结构图
ATM采用OS/2 Warp操作系统,装入S4i软件开发系统。ATMC是自服务设备上的应用系统。
前置机采用SCO UNIX操作系统。
第三章 网络拓扑结构
1 网络拓扑结构图
word/media/image6.gif
2 有关的说明
将自助银行视为一个远地的网点,自助银行中的自服务设备通过DDN方式与主机房中相应的前置机进行通讯。
在远地网点和主机房两端各有一台路由器负责本地与远程通讯的转换。
同一自助银行的所有自服务设备均接入同一个局域网内。
主机房中负责处理综合业务系统的主机与前置机接入同一个局域网内。
两个局域网均采用TCP/IP通讯协议。
这种网络结构不必随着自助银行网点的增加而改变,为今后业务的增加提供了网络技术上的保障。
目前的设计方案中,前置机可以对不同的自服务设备进行统一管理、统一维护。
第四章
第二篇 自助银行管理平台的工作流程
第五章 术语定义
第六章
为便于描述随后的内容,本章定义了在自助银行系统中涉及的术语和名词。
● 函数调用
前置机上的自助银行管理平台调用华夏银行总行综合业务系统提供的接口函数,并等待函数的返回值。
● 加密
为了避免非法用户的侵入,保障数据的安全,采用适当的算法,对不同设备间传送的重要数据进行特殊处理。
● 解密
对加密的数据进行适当处理,得到原始的数据内容。
● 密钥
加密和解密所使用的特殊数据。
● 签到
自服务设备向前置机或者前置机向主机进行注册,确认设备的身份,以便开始正常的工作。
● 用户
使用前置机上自助银行管理平台的工作人员。
● 用户权限
允许用户进行的操作。
● 自服务设备参数
为保证自服务设备运行所配置的参数。包括:设备编号、设备类型、储蓄机构号、储蓄操作员号、对公机构号、对公操作员号、IP地址、端口号、安放地点。
● 自服务设备的运行状态
在前置机设备监控系统中显示的自服务设备状态,共有四种状态(正常、测试连接、警告和异常)。
正常表示自服务设备能够为业务提供服务。
测试连接表示由于应用系统的管理使自服务设备无法提供服务。
警告表示自服务设备能够为业务提供服务,但是处理能力已经接近极限。
异常表示自服务设备自身无法提供服务。
● 自服务设备的详细状态
自服务设备运行中所具有的状态。包括:设备编号、设备类型、流水打印机状态、凭条打印机状态、读卡器状态、存款机具状态、保险门状态、机箱门状态、通讯状态、硬件加密器状态、验钞器状态、废钞箱状态、废钞箱张数、钞箱状态、钞票币种、钞票面额、钞票张数、吞卡张数。
● 交易
为完成某个功能,自服务设备与前置机之间,前置机与主机之间进行的信息发送、接收的过程。交易既可以是存款、取款等业务处理,也可以是前置机为了进行管理或对帐,与自服务设备或主机进行信息发送、接收的过程。交易共分为三类:业务类交易、管理类交易和对帐类交易。
● 业务类交易
存款、取款、查询、打印等客户进行业务处理的交易。
● 管理类交易
设备签到、设备故障、设备维护、清钱箱、打开设备、关闭设备等用于设备管理的交易。
● 对帐类交易
前置机与设备在日终处理时进行对帐的交易。
● 交易请求
在一个交易过程中,由一方主动发送的交易信息包一般称为交易请求,该方称为发送方。
● 交易应答
另一方接收到交易请求并进行处理后,返回给发送方的交易信息包称为交易应答,该方称为接收方。
● 批次号
在前置机向主机签到时产生,用于表示该次签到后所有交易的标识。
批次号顺序增加,在增加到最大值后重新设置为初始值。
● 流水号
对指定的一台设备来说,在每次交易时产生,用于表示该次交易的标识。
流水号顺序增加,在增加到最大值后重新设置为初始值。
● 日终处理
在一个交易日结束时银行进行帐务处理的过程,主要过程是进行对帐。
● 对帐(包括与主机对帐和与设备对帐)
自服务设备与前置机或前置机与主机之间按照批次号核对帐务是否平衡。
● 分类总帐
对指定的某一批次号,在指定的一台设备上发生的某一种业务类交易的总笔数和总金额。
● 明细帐
对指定的某一批次号,在指定的一台设备上发生的每一笔业务类交易的交易种类、交易日期、交易时间、交易金额、转入帐号、转出帐号等详细信息。
第七章 工作流程
第八章
本章描述了自助银行项目中所有业务的工作流程。根据工作流程,归纳出了交易种类,描述了交易流程、交易的处理次序、交易的生命周期和交易格式。
1 概述
启动
● 主机(综合业务系统)进入正常运行状态
● 启动管理系统
● 前置机向主机签到
● 启动交易监控系统
● 启动设备监控系统
● 自服务设备向前置机签到
业务处理
● 存款(活期存款、整存、零存)
● 取款(活期取款)
● 转帐(卡→卡转帐、卡内活期转定期、卡内定期转活期、约定转存、自助缴费)
● 查询(查询帐户明细、查询历史明细、查询帐户余额、查询贷款情况及应付利息、还款、还贷)
● 打印(打印对帐单、补打满页帐、打印未满页帐、打印交易明细、打印个人理财对帐单)
● 设定交易限额
● 修改密码
管理
设备管理
● 打开某台自服务设备
● 关闭某台自服务设备
● 增加自服务设备
● 修改自服务设备参数
● 删除自服务设备
● 查询自服务设备参数
系统配置
● 修改系统参数
● 查询系统参数
数据处理
● 数据查询
● 数据汇总
● 数据备份
● 数据清除
● 数据恢复
1.1.1 用户管理
● 增加用户
● 修改用户权限
● 删除用户
设备监控系统
● 实时显示自服务设备的运行状态
● 实时显示自服务设备的详细状态
交易监控系统
日终处理
关闭
● 关闭交易监控系统
● 关闭设备监控系统
● 关闭交易处理系统
● 关闭管理系统
2 工作流程
本系统中,前置机与主机之间通过调用函数的方式(参数传递)进行数据传送,因此在以下流程中,前置机向主机发送交易请求就是指调用函数,主机应答就是指函数返回。因为函数一定有返回值,所以前置机一定能够得到主机应答。自服务设备和前置机通过规定的信息格式,以联机交易处理的方式进行数据传递。
自助银行设备功能分配表
由总行确认的自助银行系统功能见表三
表 三
说明: ATM表示NCR P75自动取款机 PCD 表示NCR P73个人存款机
9104表示IBM9104多媒体查询机 PP200表示SIEMENS对帐单打印机
启动
主机(综合业务系统)进入正常运行状态
启动管理系统
当在前置机上启动管理系统时,管理系统自动判断是否已经被启动。如果管理系统已经被启动,则提示用户,程序终止,退出。如果未被启动,则自动启动交易处理系统、交易监控系统、设备监控系统。然后显示登录界面,等待用户输入密码和口令,以便进入管理系统。
前置机向主机签到
管理系统启动后,可以选择启动交易处理系统。当交易处理系统启动时,交易处理系统自动判断是否已经被启动。如果未被启动,交易处理系统向主机发送签到请求并等待主机的签到应答。如果已经被启动,交易处理系统自动退出。
主机收到交易处理系统发来的签到请求后,向交易处理系统发送签到应答。
交易处理系统收到主机发来的签到应答后,如果主机拒绝签到,则交易处理系统退出;如果主机同意签到,则交易处理系统继续运行,签到交易结束。交易处理系统转为正常工作状态,等待来自自服务设备的请求。
启动交易监控系统
管理系统启动后,可以选择启动交易监控系统。当交易监控系统启动时,交易监控系统自动判断是否已经被启动。如果未被启动,则交易监控系统正式启动,进入正常工作状态,显示被监控设备的运行状态;如果已经被启动,则交易监控系统自动退出。
启动设备监控系统
管理系统启动后,可以选择启动设备监控系统。当设备监控系统启动时,设备监控系统自动判断是否已经被启动。如果未被启动,则设备监控系统正式启动,进入正常工作状态;如果已经被启动,则设备监控系统自动退出。
自服务设备向前置机签到
自服务设备加电后,即进入测试连接状态。当自服务设备处于测试连接状态时,自服务设备向前置机发送签到请求并等待前置机的签到应答。
前置机收到自服务设备发来的签到请求后,向自服务设备发送签到应答。在应答中除应答信息外,还包括前置机随机产生的用于交易的密钥和卡的识别方法。
自服务设备收到前置机发来的签到应答后,如果前置机拒绝该设备签到或未收到前置机发来的签到应答,则自服务设备仍处于测试连接状态;如果前置机同意签到,则自服务设备转为正常运行状态,签到交易结束。
业务处理
存款(活期存款、整存、零存)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的存款请求并等待前置机的存款应答。
前置机收到自服务设备发来的存款请求后,解密,向主机发送存款请求并等待主机的存款应答。
主机收到前置机发来的存款请求后,向前置机发送存款应答。
前置机收到主机发来的存款应答后,向自服务设备发送经过加密的存款应答。
自服务设备收到前置机发来的存款应答后,解密,判断应答种类。
如果收到的存款应答是允许交易,将存款放入正式钞箱,向前置机发送经过加密的存款完成请求并等待前置机的存款完成应答。
如果收到的存款应答是不允许交易,自服务设备提示用户存款交易不成功,退卡,退钞,存款交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的存款应答,自服务设备提示用户存款交易不成功,退卡,退钞,存款交易结束。自服务设备转为测试连接状态。
前置机收到自服务设备发来的存款完成请求后,解密,向主机发送存款完成请求并等待主机的存款完成应答。
主机收到前置机发来的存款完成请求后,向前置机发送存款完成应答。
前置机收到主机发来的存款完成应答后,记录交易流水,向自服务设备发送经过加密的存款完成应答。
自服务设备收到前置机发来的存款完成应答后,解密,判断应答种类。如果收到的存款完成应答是交易成功,提示用户存款交易成功,退卡,打印凭条,存款交易结束。
如果收到的存款完成应答是交易被拒绝,自服务设备提示用户存款交易不成功,请到柜台处理。退卡,打印凭条,存款交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的存款完成应答,提示用户到柜台处理,退卡,打印凭条,存款交易结束,自服务设备转为测试连接状态。
取款(活期取款)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的取款请求并等待前置机的取款应答。
前置机收到自服务设备发来的取款请求后,解密,向主机发送取款请求并等待主机的取款应答。
主机收到前置机发来的取款请求后,向前置机发送取款应答。
前置机收到主机发来的取款应答后,记录交易流水,向自服务设备发送经过加密的取款应答。
自服务设备收到前置机发来的取款应答后,解密,判断应答种类。如果收到的取款应答是交易成功,提示用户取款交易成功,退卡,打印凭条,取款给用户,取款交易结束。如果收到的取款应答是交易被拒绝,自服务设备提示用户取款交易不成功,退卡,打印凭条,取款交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的取款应答,提示用户到柜台处理,退卡,打印凭条,取款交易结束,自服务设备转为测试连接状态。
转帐(卡→卡转帐、卡内活期转定期、卡内定期转活期、约定转存、自助缴费)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的转帐请求并等待前置机的转帐应答。
前置机收到自服务设备发来的转帐请求后,解密,向主机发送转帐请求并等待主机的转帐应答。
主机收到前置机发来的转帐请求后,向前置机发送转帐应答。
前置机收到主机发来的转帐应答后,记录交易流水,向自服务设备发送经过加密的转帐应答。
自服务设备收到前置机发来的转帐应答后,解密,判断应答种类。如果收到的转帐应答是交易成功,提示用户转帐交易成功,退卡,打印凭条,转帐交易结束。如果收到的转帐应答是交易被拒绝,自服务设备提示用户转帐交易不成功,退卡,打印凭条,转帐交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的转帐应答,提示用户到柜台处理,退卡,打印凭条,转帐交易结束,自服务设备转为测试连接状态。
查询(查询帐户明细、查询历史明细、查询交易明细、查询帐户余额、查询贷款情况及应付利息、还款、还贷)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的查询请求并等待前置机的查询应答。
前置机收到自服务设备发来的查询请求后,解密,向主机发送查询请求并等待主机的查询应答。
主机收到前置机发来的查询请求后,向前置机发送查询应答。
前置机收到主机发来的查询应答后,记录交易流水,向自服务设备发送经过加密的查询应答。
自服务设备收到前置机发来的查询应答后,解密,判断应答种类。如果收到的查询应答是交易成功,显示查询结果,查询交易结束。如果收到的查询应答是交易被拒绝,自服务设备提示用户查询交易不成功,查询交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的查询应答,提示用户网络繁忙稍后再试,退卡,查询交易结束,自服务设备转为测试连接状态。
打印(打印对帐单、补打满页帐、打印未满页帐、打印交易明细、打印个人理财对帐单)
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的打印请求并等待前置机的打印应答。
前置机收到自服务设备发来的打印请求后,解密,向主机发送打印请求并等待主机的打印应答。
主机收到前置机发来的打印请求后,向前置机发送打印应答。
前置机收到主机发来的打印应答后,记录交易流水,向自服务设备发送经过加密的打印应答。
自服务设备收到前置机发来的打印应答后,解密,判断应答种类。如果收到的打印应答是交易成功,打印结果,打印交易结束。如果收到的打印应答是交易被拒绝,自服务设备提示用户打印交易不成功,打印交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的打印应答,提示用户网络繁忙稍后再试,退卡,打印交易结束,自服务设备转为测试连接状态。
设定交易限额
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的设定交易限额请求并等待前置机的设定交易限额应答。
前置机收到自服务设备发来的设定交易限额请求后,解密,向主机发送设定交易限额请求并等待主机的设定交易限额应答。
主机收到前置机发来的设定交易限额请求后,向前置机发送设定交易限额应答。
前置机收到主机发来的设定交易限额应答后,记录交易流水,向自服务设备发送经过加密的设定交易限额应答。
自服务设备收到前置机发来的设定交易限额应答后,解密,判断应答种类。如果收到的设定交易限额应答是交易成功,提示用户设定交易限额成功,设定交易限额结束。如果收到的设定交易限额应答是交易被拒绝,自服务设备提示用户设定交易限额不成功,退卡,打印凭条,设定交易限额结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的设定交易限额应答,提示用户到柜台处理,退卡,打印凭条,设定交易限额结束,自服务设备转为测试连接状态。
修改密码
自服务设备处于正常工作状态。
自服务设备向前置机发送经过加密的修改密码请求并等待前置机的修改密码应答。
前置机收到自服务设备发来的修改密码请求后,解密,向主机发送修改密码请求并等待主机的修改密码应答。
主机收到前置机发来的修改密码请求后,向前置机发送修改密码应答。
前置机收到主机发来的修改密码应答后,记录交易流水,向自服务设备发送经过加密的修改密码应答。
自服务设备收到前置机发来的修改密码应答后,解密,判断应答种类。如果收到的修改密码应答是交易成功,提示用户修改密码交易成功,退卡,打印凭条,修改密码交易结束。如果收到的修改密码应答是交易被拒绝,自服务设备提示用户修改密码交易不成功,退卡,打印凭条,修改密码交易结束。自服务设备仍为正常工作状态。
如果自服务设备在一定时间内未收到前置机发来的修改密码应答,提示用户持卡到柜台处理,退卡,打印凭条,修改密码交易结束,自服务设备转为测试连接状态。
管理
当启动管理系统后,可以对前置机和自服务设备进行各种管理工作。具体的管理内容如下:
打开某台自服务设备
当日终处理完毕或者选择打开某台自服务设备后,管理系统根据设备的状态判断该设备是否已经打开。
如果设备已经处于正常状态,则提示用户设备已经打开,工作完成。如果设备处于非正常工作状态,则提示用户设备目前存在故障无法打开,工作完成。如果设备处于测试连接状态,自服务设备会定时向前置机发起签到请求。管理系统收到签到请求后,向自服务设备发送表示同意的签到应答,设备状态转为正常工作状态,管理系统的工作完成。自服务设备主动向前置机发起签到请求。
关闭某台自服务设备
当日终处理开始、交易处理系统退出或者选择关闭某台自服务设备后,管理系统根据设备的状态判断该设备是否已经打开。
如果设备处于非正常工作状态,则提示用户设备目前存在故障已经关闭,工作完成。如果设备处于测试连接状态,则提示用户设备已经关闭,工作完成。
如果设备已经处于正常状态,管理系统向自服务设备发送关闭设备请求。
自服务设备收到管理系统发来的关闭设备请求后,如果正在进行业务处理并且不能取消此业务,首先处理完此业务。随即向管理系统发送关闭设备应答,转为测试连接状态。
如果管理系统未收到自服务设备发来的关闭设备应答,则记录设备的运行状态未关闭,交易结束。
增加自服务设备
选择增加自服务设备后,输入完整的自服务设备参数,管理系统增加新的自服务设备,工作完成。
修改自服务设备参数
选择修改自服务设备后,修改指定自服务设备的参数,管理系统更新自服务设备参数,工作完成。
删除自服务设备
选择删除自服务设备后,管理系统删除指定的自服务设备,工作完成。
查询自服务设备参数
选择查询自服务设备参数后,管理系统显示指定自服务设备的参数,工作完成。
修改系统参数
选择修改系统参数后,管理系统更新系统参数,提示用户退出管理系统并重新启动。
查询系统参数
选择查询系统参数后,管理系统显示系统参数,工作完成。
数据查询
选择数据查询后,管理系统显示根据条件查询出的交易记录,工作完成。显示的内容从屏幕左起依次为:自服务设备编号、机构号、卡号、交易时间、交易类型、交易金额、交易结果。
数据汇总
选择数据汇总后,管理系统显示最新的分类交易的总笔数和总金额,工作完成。显示的内容从屏幕左起依次为:自服务设备编号、机构号、交易类型、交易总笔数、交易总金额。
数据备份
选择数据备份后,管理系统将交易数据备份到指定的设备上,工作完成。
数据清除
选择数据清除后,管理系统删除符合条件的交易记录,工作完成。
数据恢复
选择数据恢复后,管理系统从指定的设备上复制交易数据到目前的数据文件中,工作完成。
用户管理
增加用户
选择增加用户权限后,管理系统增加用户和指定的权限,工作完成。
修改用户权限
选择修改用户权限后,管理系统修改指定用户的权限,工作完成。
删除用户
选择删除用户权限后,管理系统删除指定用户,工作完成。
设备监控系统
设备监控系统可以完成两部分工作能够实时显示自服务设备的状态,包括:实时显示自服务设备的运行状态和自服务设备的详细状态。
实时显示自服务设备的运行状态
自服务设备的状态信息是随交易信息一并发送到前置机的。
前置机定时测试与各个自服务设备间的通讯是否正常,如果不正常,则监控系统只能显示与该设备的通讯存在故障,而无法得到该设备的状态信息。
前置机从交易信息中提取各个自服务设备的状态信息,实时显示给用户。
实时显示自服务设备的详细状态
根据指定的设备编号,显示自服务设备的详细状态。
交易监控系统
实时显示每笔交易情况以及交易分类总笔数和总金额。显示的每笔交易内容包括:自服务设备类型、自服务设备编号、机构号、卡号、交易时间、交易类型、交易金额、交易结果。
日终处理
前置机向所有自服务设备发起关闭设备请求
前置机收到自服务设备的关闭应答
前置机与自服务设备对帐
前置机按自服务设备的不同分别整理分类总帐后,向自服务设备发送对帐请求并等待自服务设备的对帐应答。
自服务设备收到前置机发来的对帐请求后,对分类总帐,记录对帐结果,向前置机发送对帐应答。
前置机收到自服务设备发来的对帐应答后,记录对帐结果,前置机与自服务设备对帐交易结束。如果总帐不平,前置机打印分类的明细帐。
如果前置机未收到自服务设备发来的对帐应答,提示用户网络故障。用户可以选择重新对帐或者打印分类的明细帐。
前置机与主机对帐
前置机向主机发送对帐请求并等待主机的对帐应答。
主机收到前置机发来的对帐请求后,对分类总帐,向前置机发送对帐应答。如果帐不平,向前置机发送对帐应答和明细帐。
前置机收到主机发来的对帐应答后,如果总帐平,前置机与主机对帐交易结束;如果总帐不平,前置机对明细帐并打印不平的明细帐。前置机与主机对帐交易结束。
前置机等待自服务设备的签到请求
关闭
关闭交易监控系统
在交易监控系统中选择退出,交易监控系统会自动退出。
关闭设备监控系统
在设备监控系统中选择退出,设备监控系统会自动退出。
关闭交易处理系统
在管理系统中选择关闭交易处理系统后,管理系统判断交易处理系统是否已经运行。如果交易处理系统未运行,则提示用户交易处理系统已经关闭,工作完成。如果交易处理系统已经运行,则向交易处理系统发送关闭请求并等待交易处理系统的关闭应答。同时向所有的自服务设备发送关闭设备请求。
自服务设备收到管理系统发来的关闭设备请求后,如果正在进行业务处理并且不能取消此业务,则处理完此业务后转为测试连接状态,否则立即转为测试连接状态。
交易处理系统收到管理系统发来的关闭请求后,拒绝所有新的签到请求。如果在一个预定的时间内有业务交易发生,则处理完现有的业务交易。随即向管理系统发送关闭应答,自动退出。
管理系统收到交易管理系统发来的关闭应答后,提示用户交易处理系统已经停止,工作完成。
关闭管理系统
关闭管理系统时,先自动关闭交易监控系统、交易处理系统和设备监控系统,然后自动退出。
错误处理
A:提示用户交易不成功,吞卡,打印凭条,交易结束。
B:提示用户交易不成功,退卡,交易结束。
C:提示用户请与银行联系,打印凭条,交易结束
D:提示交易不成功,退钞,退卡,交易结束
超时处理
前置机超时处理
前置机在进行业务处理时,如果获得主机的应答为主机处理超时,则在该笔交易流水中记录超时标志。
在日终对帐时,将交易流水按交易种类计算总笔数和总金额,然后与主机对帐。
自服务设备超时处理
在进行取款、转帐、设定交易限额、修改密码等交易中,如果自服务设备发送业务处理请求后没有等到应答,记录流水,提示用户请与银行联系,打印凭条,退卡,交易结束。
在进行查询、打印和等交易中,如果自服务设备发送业务处理请求后没有等到应答,记录流水,提示用户交易不成功,退卡,交易结束。
在进行存款交易时,如果自服务设备发送存款请求后没有等到应答,记录流水,提示用户交易不成功,退卡,退钞,交易结束;如果自服务设备发送存款完成请求后没有等到应答,记录流水,提示用户与银行联系,打印凭条,退卡,交易结束。
安全性说明
由于前置机和主机之间是通过调用函数的方式进行数据传送,因此前置机和主机之间的数据安全性由华夏银行总行来负责。
前置机和自服务设备之间的安全性分不同的设备进行描述:
● 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 交易生命周期
6 交易格式
前置机与自服务设备之间的交易格式采用8583消息交换格式。
前置机与主机之间的交易格式采用函数调用的形式。
第三篇 自助银行管理平台的程序流程
第九章 程序的设计方案
第一十章
1 概述
根据第三篇中描述的工作流程,将自助银行管理平台划分为四个系统:管理系统、交易处理系统、交易监控系统和设备监控系统。
● 管理系统完成的功能主要是:完成对前置机和自助设备的管理、维护和日终处理;启动和关闭前置机上的其它应用系统。
● 交易处理系统完成的功能主要是:接收来自自服务设备上的交易请求,经过处理后,或者直接组织交易应答发送给自服务设备,或者将交易请求发送给银行主机与前置机的接口函数;接收来自接口函数的交易应答,经过处理后,将交易应答发送给自服务设备。
● 交易监控系统完成的功能主要是:实时显示通过自服务设备完成的交易情况。
● 设备监控系统完成的功能主要是:实时显示自服务设备当前的运行状态。
2 各系统的功能描述
管理系统的功能描述
根据工作流程的描述,管理系统具体负责完成以下功能:
● 交易管理(负责启动交易监控系统和设备监控系统)
● 设备管理(负责打开、关闭、增加和删除自服务设备、查询设备状态)
● 数据处理(对各种交易数据进行查询、恢复和清理)
● 系统配置(负责维护系统参数、设置识别卡)
● 周期业务(负责前置机的签到和签退、启动和关闭交易处理系统、数据备份和日终处理)
● 用户管理(负责增加和删除用户、修改用户权限和其它参数、修改用户密码,增加系统的安全程度)
● 报表(浏览和打印各种交易报表)。
根据管理系统负责完成的功能和需要与用户进行交互的特点,将管理系统设计为菜单驱动方式,即用户通过选择菜单来完成上述每项功能。
为此首先定义菜单的命名和功能。
其次定义管理系统中各模块的命名和功能
交易处理系统的功能描述
根据交易处理系统需要完成的功能,将它划分为五个部分:侦听进程、前处理进程、交易处理进程、后处理进程和SAF进程。
交易处理流程图
word/media/image7.gif
交易监控系统的功能描述
根据工作流程的描述,交易监控系统的全部工作就是实时显示交易情况。因此将其设计为在固定终端上实时显示最近若干笔交易情况的监控系统。该系统能够根据交易的进行情况显示主要的交易信息,实时统计涉及帐务类交易的总笔数和总金额。
该系统只有一个显示界面,根据交易情况实时更新界面,同时更新数据库的相应记录。
设备监控系统的功能描述
根据工作流程的描述,设备监控系统的全部工作就是实时显示设备的工作状态。因此将其设计为在固定终端上实时显示各设备工作状态的监控系统。
该系统在开始运行时显示各设备的运行状态;当用户输入某一个设备编号时,显示该设备的详细状态。设备的详细状态信息是设备在发送交易请求时附带发送上来的,交易处理系统将设备信息写入数据库,设备监控系统定时读取数据库的记录,根据记录更新在终端上显示的设备状态。
3 各系统之间的关系
管理系统负责启动交易处理系统、交易监控系统和设备监控系统,关闭交易处理系统,交易监控系统和设备监控系统可以自己退出。通常在新一轮交易开始前,由管理系统启动其余三个系统;在管理系统进行日终处理之前,必须先退出其余三个系统;日终处理之后,再由管理系统重新启动其余三个系统,开始下一轮交易。
第一十一章 各系统的程序流程(计算机专业介绍)
1 管理系统的程序流程
启动阶段
● 判断是否还有管理系统正在运行,如果有则退出。
● 否则提示用户输入用户名和密码。
● 用户输入用户名和密码后,选择“确认”。
● 如果输入不正确则提示用户重新输入。
● 如果输入正确则根据用户的权限显示相应的菜单。
● 建立与数据库的连接。
● 进入正常运行阶段。
正常运行阶段
交易管理
启动交易监控系统(start_tm)
● CALL交易监控系统程序。
1.1.1.1 启动设备监控(start_dm)
● CALL设备监控系统程序。
1.1.2 设备管理
1.1.2.1 打开设备(open_device)
● 用户输入设备编号和设备类型。
● 判断设备是否存在。
● 如果设备不存在或者已经打开,则提示用户并退出。
● 否则发送“打开设备”的交易请求给指定设备并等待交易应答。
● 如果在一定时间内得到设备发送的表示成功的交易应答,提示用户“打开设备成功”,更新数据库并退出。
● 否则提示用户“打开设备失败”并退出。
1.1.2.2 关闭设备(close_device)
● 用户输入设备编号和设备类型。
● 判断设备是否存在。
● 如果设备不存在或者已经关闭,则提示用户并退出。
● 否则发送“关闭设备”的交易请求给指定设备并等待交易应答。
● 如果在一定时间内得到设备发送的表示成功的交易应答,提示用户“关闭设备成功”,更新数据库并退出。
● 否则提示用户“关闭设备失败”并退出。
1.1.2.3 增加设备(add_device)
● 用户输入自服务设备的参数选择“确认”。
● 判断数据库中是否已经存在相同设备的记录。
● 如果已经存在,则提示用户并允许用户继续修改各输入参数。
● 如果不存在,则更新数据库记录并提示用户“增加设备成功”。
1.1.2.4 删除设备(delete_device)
● 用户输入设备编号和设备类型后,显示设备的参数信息。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“删除设备成功”并退出。
● 否则提示用户“删除设备失败”并退出。
1.1.2.5 修改设备参数(modify_device)
● 用户输入设备编号和设备类型后,显示设备的参数信息并允许用户进行修改。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“修改设备参数成功”并退出。
● 否则提示用户“修改设备参数失败” 并允许用户继续修改。
1.1.3 数据管理
查询当前交易(query_today_trans)
● 查询TRANS_STREAM表。
● 显示查询结果。
1.1.3.1 查询历史交易(query_history_trans)
● 确认后查询TRANS_HISTORY表。
● 显示查询结果。
1.1.3.2 数据恢复(restore_data)——目前没有实现
1.1.3.3 数据清理(clear_data)
● 清除数据库中除SYSPARA表外所有数据库表的记录。
1.1.4 系统配置
增加卡类型(add_card_type)
● 输入卡种编号后,判断该卡类型是否已经存在。
● 如果已经存在,提示用户重新输入。
● 否则允许用户输入卡类型的各种参数。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“增加卡类型成功”并退出。
● 否则提示用户“增加卡类型失败”并允许用户继续修改。
1.1.4.1 增加卡号段(add_card_segment)
● 输入卡种编号和卡号段序号后,判断该卡号段是否已经存在。
● 如果已经存在,提示用户重新输入。
● 否则允许用户输入卡号段的各种参数。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“增加卡号段成功”并退出。
● 否则提示用户“增加卡号段失败”并允许用户继续修改。
1.1.4.2 删除卡类型(delete_card_type)
● 输入卡种编号后,判断该卡类型是否已经存在。
● 如果不存在,提示用户重新输入。
● 否则显示卡类型的各种参数。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“删除卡类型成功”并退出。
● 否则提示用户“删除卡类型失败”并退出。
1.1.4.3 删除卡号段(delete_card_segment)
● 输入卡种编号和卡号段序号后,判断该卡号段是否已经存在。
● 如果不存在,提示用户重新输入。
● 否则显示卡号段的各种参数。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“删除卡号段成功”并退出。
● 否则提示用户“删除卡号段失败”并退出。
1.1.4.4 配置运行参数(config_parameter)
● 显示可以让用户修改的各种参数。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“修改成功”并退出。
● 否则提示用户“修改失败”并退出。
1.1.5 周期业务
1.1.5.1 签到(sign_on)
● 判断前置机是否已经签退并且对帐已经平衡。
● 如果条件不成立,则提示用户并退出。
● 否则向主机发送“签到”的交易请求并等待交易应答。
● 如果主机返回同意签到,提示用户签到成功,更新数据库表SYSPARA中相应记录为签到和未备份并退出。
● 否则提示用户签到不成功,并退出。
1.1.5.2 启动交易处理(start_trans)
● 判断前置机是否已经签到并且交易处理系统尚未启动。
● 如果条件不成立,则提示用户并退出。
● 否则CALL交易处理系统程序。
● 更新数据库表SYSPARA中相应记录为启动并退出。
1.1.5.3 关闭交易处理(end_trans)
● 判断交易处理系统是否已经关闭。
● 如果已经关闭,则提示用户并退出。
● 否则向交易处理系统发送指定信号。
● 更新数据库表SYSPARA中相应记录为关闭并退出。
1.1.5.4 签退(sign_off)
● 判断前置机是否已经向主机签到并且交易处理系统已经关闭。
● 如果条件不成立,则提示用户并退出。
● 否则向主机发送“签退”的交易请求并等待交易应答。
● 如果主机返回同意签退,提示用户签退成功,更新数据库表SYSPARA中相应记录为签退并退出。
● 否则提示用户签退不成功,并退出。
1.1.5.5 数据备份(backup_data)
● 判断前置机是否已经向主机签退。
● 如果尚未签退,则提示用户并退出。
● 否则对数据库的数据进行备份。
● 提示用户备份成功,更新数据库表SYSPARA中相应记录为已经备份并退出。
1.1.5.6 与主机对帐(chk_acc_host)
● 判断前置机是否已经进行数据备份。
● 如果尚未备份,则提示用户并退出。
● 否则向主机发送“对帐”交易请求并等待主机的交易应答。
● 如果主机未返回对帐结果,提示用户暂时无法对帐并退出。
● 如果主机返回对帐结果,判断主机是否认为对帐平衡。
● 如果主机认为对帐平衡,前置机生成分类帐结果文件(用户可以查看和打印该文件),提示用户对帐平衡,更新数据库表SYSPARA中相应记录为已对帐并退出。
● 否则根据主机返回的明细帐文件进行核对,前置机生成不平帐文件(用户可以查看和打印该文件),提示用户对帐不平衡,更新数据库表SYSPARA中相应记录为已对帐并退出。
1.1.5.7 与设备进行对帐(chk_acc_dev)
● 生成指定设备的分类帐。
● 向指定设备发送“对帐”交易请求并等待交易应答。
● 如果设备未返回对帐结果,提示用户暂时无法对帐并退出。
● 如果设备返回对帐结果,判断设备是否认为对帐平衡。
● 如果设备认为对帐平衡,前置机生成分类帐结果文件(用户可以查看和打印该文件),提示用户对帐平衡并退出。
● 否则根据设备返回的分类帐文件进行核对,前置机生成不平帐文件(用户可以查看和打印该文件),提示用户对帐不平衡并退出。
1.1.6 用户管理
1.1.6.1 增加用户(add_user)
● 用户输入新增用户的名称、密码和其它辅助信息后,选择“确认”。
● 判断数据库中是否已经存在相同用户的记录。
● 如果已经存在,则提示用户并允许用户继续修改各输入参数。
● 如果不存在,则更新数据库记录并提示用户“增加用户成功”。
1.1.6.2 删除用户(del_user)
● 用户输入要被删除用户的名称,显示用户的其它信息(不包括密码)。
● 用户选择“确认”后,判断数据库中是否存在被删除用户的记录。
● 如果存在,则更新数据库记录,提示用户“删除用户成功”并退出。
● 如果不存在,则提示用户“该用户不存在”并退出。
1.1.6.3 修改用户参数(modi_user)
● 用户输入要修改用户的名称,显示用户的其它信息(不包括密码)并允许用户进行修改。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“修改用户参数成功”并退出。
● 否则提示用户“修改用户参数失败” 并允许用户继续修改。
1.1.6.4 修改用户密码(modi_passwd)
● 用户输入要修改用户的名称、旧密码和新密码(两次)。
● 用户选择“确认”后,更新数据库中的相应记录。
● 如果更新成功,则提示用户“修改用户密码成功”并退出。
● 否则提示用户“修改用户密码失败” 并允许用户继续修改。
1.1.7 报表
1.1.7.1 交易流水表(report_stream)
● 查询TRANS_STREAM表。
● 显示查询结果并且可以按照固定的表格形式打印查询结果。
1.1.7.2 交易汇总表(report_sum)
● 查询TRANS_STREAM表并且进行分类汇总。
● 显示查询结果并且可以按照固定的表格形式打印查询结果。
关闭阶段
● 关闭与数据库的连接。
● 结束并退出管理系统。
2 交易处理系统的程序流程
侦听进程
2.1.1 启动阶段
● 获得系统的环境变量。
● 判断是否还有其他侦听进程在系统中正在运行,如果有则退出。
● 读取系统参数文件,获得若干重要参数。
● 创建消息队列que_1、que_2、que_3、que_4,创建键值为shm_key的共享内存,创建键值为sem_key的信号量,创建侦听socket。
● 如果创建的过程中出现错误,提示用户启动失败并退出。
● 启动前处理进程、交易处理进程(若干个)、后处理进程、SAF进程。
● 如果启动的过程中出现错误,提示用户启动失败并退出。
● 设置相应的信号处理函数。
● 初始化共享内存(表示没有使用)。
● 进入正常运行阶段。
2.1.2 正常运行阶段
● 当收到设备发来的连接时,判断当前存在的子进程数目。
● 如果数目小于参数值,则创建子进程,进入子进程处理阶段。
● 如果数目不小于参数值,则进入过量连接阶段的处理。
2.1.3 子进程处理阶段
● 接收设备发来的交易请求(8583包)。
● 在共享内存中查找合适的序列号分配给该子进程。
● 组织消息并发往que_1。
● 设置定时器。
● 从que_4中读取指定的消息。①
● 如果在指定时间内没有读到消息,则对共享内存中的指定区域上锁,再读一次que_4的消息。
● 如果仍然没有读到消息,设置共享内存中指定区域的值为超时,解锁,退出子进程。
● 如果读到消息,则解锁。
● 比较消息中的序列号和分配的序列号。
● 如果两者不同,则丢掉该消息,退出子进程。
● 如果两者相同,则跳至②。
● 如果在指定时间内读到消息,则比较消息中的序列号和分配的序列号。
● 如果两者不同,则丢掉该消息,返回①。
● 如果两者相同,则关闭定时器。
● 从消息的正文中得到交易应答,发送给设备。②
● 从消息的正文中得到是否有文件需要下传。
● 如果有,则读取文件,组织成数据包,发送给设备。
● 从消息的正文中得到是否退出的命令。
● 如果命令为退出,则退出子进程。
● 如果不退出,重新设置定时器。
● 等待接收设备发来的交易请求。③
● 如果在指定时间内没有得到交易请求,则设置共享内存中指定区域的值为初始值,退出子进程。
● 如果在指定时间内得到交易请求,则组织消息发往que_1。
● 重新设置定时器,时间值为trans_timeout,返回①。
2.1.4 过量连接阶段
● 当当前存在的子进程数目不小于参数值时,进入过量连接阶段。
● 阻塞侦听socket,等待子进程数目的减少。
● 当子进程数目不小于参数值时,恢复侦听socket,进入正常运行阶段。
2.1.5 关闭阶段
● 当捕获到管理子系统发送的指定信号时,进入相应的信号处理函数。
● 设置忽略所有信号。
● 关闭前处理进程、交易处理进程、后处理进程、SAF进程。
● 删除信号量、共享内存、消息队列。
● 关闭侦听socket。
● 释放指定文件锁。
● 结束并退出侦听进程。
前处理进程
2.1.6 启动阶段
● 获得系统的环境变量。
● 判断是否还有其他前处理进程在系统中正在运行,如果有则杀掉。
● 读取系统参数文件,获得若干重要参数。
● 创建或连接到消息队列que_1。
● 连接数据库。
● 设置捕获信号SIGHUP的函数。
● 进入正常运行阶段。
2.1.7 运行阶段
● 循环开始。①
● 读取数据库表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发送消息。
● 返回①。
2.1.8 关闭阶段
● 当捕获到侦听进程发送的信号SIGHUP时,设置条件跳出运行阶段的循环。
● 删除消息队列que_1。
● 关闭与数据库的连接。
● 结束并退出前处理进程。
交易处理进程
2.1.9 启动阶段
● 获得系统的环境变量。
● 读取系统参数文件,获得若干重要参数。
● 设置捕获信号SIGHUP的函数。
● 创建连接到消息队列que_2、que_3。
● 如果连接的过程中出现错误,则返回失败。
● 进入正常运行阶段。
2.1.10 运行阶段
● 循环开始。①
● 等待从que_2中得到消息。
● 如果得到消息,调用主机接口函数CALL_HOST,等待主机的返回信息。
● 将主机的返回信息组织成消息,向que_3发送消息。
● 返回①。
2.1.11 关闭阶段
● 当捕获到侦听进程发送的信号SIGHUP时,设置条件跳出运行阶段的循环。
● 删除消息队列que_2。
● 结束并退出交易处理进程。
后处理进程
2.1.12 启动阶段
● 获得系统的环境变量。
● 判断是否还有其他后处理进程在系统中正在运行,如果有则杀掉。
● 设置捕获信号SIGHUP的函数。
● 读取系统参数文件,获得若干重要参数。
● 连接数据库。
● 进入正常运行阶段。
2.1.13 运行阶段
● 循环开始。①
● 等待从que_3中得到消息。
● 如果得到消息,将消息的正文复制为SELFDRV格式的数据。
● 如果主机返回超时,将数据库表TRANS_STREAM中的相应记录更新为需要进行存储转发,将SELFSRV格式中的部分数据转换为SSBTRANMON格式的数据,向que_tm发送消息,返回①。
● 将SELFSRV格式中的数据转换为BITSTR格式的数据。如果转换不成功,向que_tm发送消息,返回①。
● 重新填写MAC域。如果不成功,向que_tm发送消息,返回①。
● 将BITSTR格式的数据打包成交易应答。如果打包不成功,向que_tm发送消息,返回①。
● 向que_4发送消息,向que_tm发送消息,返回①。
2.1.14 关闭阶段
● 当捕获到侦听进程发送的信号SIGHUP时,设置条件跳出运行阶段的循环。
● 删除消息队列que_1、que_3、que_4、que_tm。
● 关闭与数据库的连接。
● 结束并退出后处理进程。
SAF进程
2.1.15 启动阶段
● 判断是否还有其他SAF进程在系统中正在运行,如果有则杀掉。
● 设置捕获信号SIGHUP的函数。
● 连接数据库。
● 进入正常运行阶段。
2.1.16 运行阶段
● 循环开始。①
● 读取数据库表SYSPARA中记录当前交易状态的记录。
● 如果为停止,则休眠60秒后,返回①。
● 如果为运行,读取数据库表SYSPARA中记录存储转发间隔时间和最大次数的记录。
● 从数据库表TRANS_STREAM中查找需要进行存储转发的记录,将这些记录增加到数据库表SAF中。
● 从数据库表SAF中查找存储转发的次数小于最大次数的记录。②
● 如果不存在这样的记录,跳至③。
● 如果存在这样的记录,对TRANS_STREAM结构中的用户密码进行解密,将TRANS_STREAM结构的数据转换为SELFSRV格式的数据。
● 调用主机接口函数CALL_HOST,等待主机的返回信息。
● 如果主机的返回信息表示不成功,更新数据库表 SAF中相应记录的存储转发次数,跳至③。
● 如果主机的返回信息表示成功,删除数据库表SAF中的相应记录,更新数据库表TRANS_STREAM中的相应记录,返回②。
● 提交对数据库的操作,休眠一段时间(存储转发的间隔时间)后,返回①。③
2.1.17 关闭阶段
● 当捕获到侦听进程发送的信号SIGHUP时,设置条件跳出运行阶段的循环。
● 关闭与数据库的连接。
● 结束并退出SAF进程。
3 交易监控系统的程序流程
启动阶段
● 获得系统的环境变量。
● 判断是否还有其他交易监控系统中正在运行,如果有则退出。
● 读取系统参数文件,获得若干重要参数。
● 连接数据库。
● 创建消息队列que_tm。
● 如果创建的过程中出现错误,则返回失败。
● 进入正常运行阶段。
3.1.1 正常运行阶段
● 循环开始。①
● 等待从que_tm中得到消息。
● 如果得到消息,将交易信息显示在终端屏幕上,更新涉及帐务类交易的总笔数和总金额,返回①。
3.1.2 关闭阶段
● 用户在显示界面中按下【Esc】键,设置条件跳出运行阶段的循环。
● 关闭与数据库的连接。
● 删除消息队列que_tm。
● 结束并退出交易监控系统。
4 设备监控系统的程序流程
启动阶段
● 判断是否还有其他设备监控系统中正在运行,如果有则退出。
● 连接数据库。
● 进入正常运行阶段。
4.1.1 正常运行阶段
● 循环开始。①
● 读取数据库表SYSPARA中记录设备状态间隔时间的记录。
● 从数据库表DEV_MONITOR中读取所有记录。
● 根据记录的信息更新设备的运行状态。
● 如果用户输入某一设备的编号,则更新界面显示指定设备的详细状态。
● 休眠一段时间(设备状态间隔时间)后,返回①。
4.1.2 关闭阶段
● 用户在显示界面中按下【Esc】键,设置条件跳出运行阶段的循环。
● 关闭与数据库的连接。
● 结束并退出设备监控系统。
本文来源:https://www.2haoxitong.net/k/doc/6987261ef7335a8102d276a20029bd64793e6271.html
文档为doc格式