前置机系统详细设计方案
1.系统概述
前置机系统的主要功能是预处理、存储和转发来自金融端末设备 ( POS. ),或者服务网点的交易请求,从而完成整个电子支付交易。
整个电子交易系统是一个三级的客户/服务器(CLIENT/SERVER)模式。前置机处于整个系统的第二级,起到了承上启下的重要作用,它既是终端设备的SERVER,又是后台主机的CLIENT。
前置机具有复杂多变的接口,要求有较好的通用性、可靠性和高效率。 2.系统结构
整个前置机系统可以分为交易接口、交易处理核心、系统管理、监控系统四大部分。结构框图如下:
3.处理模式和交易类型
后 台 主 机 数 据 库 系 统 管 理 交易处理核心 监 控 交 易 接 口 系 统 商户, 银行网点 ,POS,医院,药店 处理模式
前置机及客户端之间,通过两次通讯完成一次交易 ,以减少通讯量 。首先由客户端发起请求,将相关数据 ( 交易码 , 交易数据,MAC 等 ) 送往前置机 , 前置机预处理完毕 , 将结果返回客户 。
客 交易信息 前 户 置 机 端 处理结果
交易类型
前置机处理的交易类型按终端设备可以分为:
银行网点的终端设备:签到、签退、圈存、圈提、查询、转帐、下传黑名单和改密。
指定医疗机构的前端:签到、签退、查询、转帐、批上送、下传黑名单和改密。
商户终端设备:签到、签退、下传黑名单、查询、转帐、批上送和改密。
圈存机:签到、签退、圈存、圈提、下传黑名单和查询。 业务流程
脱机业务流程
bigin客 户 交 易请 求上 送 至 前 置 机写流水处理存储交易显示处理结果批上送交易 联机业务流程
bigin客 户 交 易请 求上 送 至 前 置 机写流水处理存储交易显示处理结果转发交易
4.交易接口
目前系统及客户端的交易接口支持 TCP/IP (包括中间件模式)和串口两种模式。 TCP/IP 方式
通过对套接字 socket 进行操作,或中间件模式完成数据的传输。 适用于客户端各种主机及前置机之间不同操作系统的通讯 。 TCP/IP 方式如下图所示:
Service_1 Service_2 .... Service_N
Tcp_Server
TCP/IP 中间件通讯方式
守护进程 Tcp_Server 通过 fork( )调用 ,复制自己来处理不同的请求,以达到并行处理的目的。考虑到fork()的调用在交易高峰期过多子进程的生成会导致系统在进程的切换和系统调用上占用过多资源, 在监控模块中采取一定的措施控制其子进程的个数,这将在监控模块中详细讨论。
中间件模式采用固定的通讯格式完成数据的传递. 串口方式
主要针对销售终端、指定医疗机构 ( POS ) 上送的交易请求, 对通讯端口进行读/写操作,完成交易。销售终端一般是通过网控器(NAC)及主机的端口进行联结 ,它们之间的数据格式遵循 ISO 8583 的标准。这对磁卡和IC卡同样适用。
这种方式用于处理销售终端、指定医疗机构 ( POS ) 经网控器 ( NAC ) 上送的交易。
串口方式如下图所示:
服 务 点
接收进程负责从端口读取上送的信息,发送进程将处理结果写到通讯端口,它们及守护进程之间通过消息队列进行数据交换。 网控器可以有多个上行及下行板,为达到并行处理的目的,对应于每个通信端口,各启动一对相互独立的读/写进程对其操作,提高了系统效率。
交易接口模块 串口守护进程 读进程 写进程 TCP 接口守护进程
Serial server 接收进程 发送进程 服务网点和商户 PC 销售终端 医疗机构POS 这对串口读/写守护进程和交易处理进程之间通过消息队列进
5.交易处理核心
IC 卡的交易是一种脱机交易。营业点、指定医疗机构将这些脱机交易批量地上送到前置机,经交易处理核心的预处理后,转发给后台主机;由主机修改相应的帐户资料,并进行汇总,统计和清算。所以,交易处理子系统是整个IC 卡系统的关键,它包含交易处理守护进程,安全认证,交易日志的管理和交易转发模块,及其它的相关子系统的关系如下:
交易处理守护进程及接口守护进程一般是通过消息队列进行通讯,或者两者融为一体。
前置机系统的主要任务是预处理和转发批量的脱机交易数据,在设计交易处理子系统时,必须具有较高的处理速度和能力。以下的系统设计过程中,都以实现这个目标为前提。
交易处理子系统 基于Tcp/Ip交易转发模块 监 安全认证 日志文件 交 易 处 理 守 护 模 块 控 系 统 接 口 守 护 进 程
交易处理模块
由于存在两种不同的通信接口方式,相应地,在前置机系统的交易处理模块分别采取了消息驱动及 Fork ( )子进程的形式处理来自这两种接口的交易。 消息驱动
这种方式将传统意义上的应用( 服务进程 )根据不同的功能,相互独立起来,各个子服务进程( Services )之间读取消息队列中某一特定类型的交易消息,及不同的请求 ( 客户端的消息源 ) 建立有机的联结,处理交易后并将结果返回。
消息驱动的方式适用于不同操作系统之间的 TCP / IP 通信。 交易监控系统 交易监控 信息 55 5 下传黑名单服务进程 批上送接收服务进程 交易消息 队列 3 TCP 接 口 守 护 进 程 4 2 请求 1 请求 N
交易处理流程
(1) 客户端发起请求。
(2) 接口守护进程收到请求后,送往交易消息队列。 (3) 应用进程从交易队列中读取交易信息,进行处理。 (4) 应用进程将结果返回客户端。
(5) 应用进程将结果送往监控消息队列。
(A) 注释
(1) TCP 接口守护进程接收到客户的请求后, 将其交易请求,通讯端口标识及相应的交易数据送往交易消息队列 。 然后继续新的监听。
(2) 各相应的服务进程( 如 批上送接收Batch_Recieve , 下传黑 名单Download_Blacklist, …等,以下称为服务 Services ) 从交 易消息队列 中读取请求进行处理,将结果返回客户。同时,将交易 内容及其处理结果送往监控消息队列 E 。
(3) 交易服务进程处理完交易,将结果送往实时交易监控消息队列。 实时交易监控进程从监控消息队列中读取信息, 转换后写到实时交 易监控窗口 。
(B) 实现
BEA 系统有限公司在企业中间件方面的产品在金融领域倍受青睐。该公司的中间件产品Tuxedo具有联机交易能力,强大的消息处理功能以及面向对象的特点,能最大限度地利用系统资源,可以使用户快速地开发新的应用,同时保护原有的投资。
另外,Tuxedo 自带的冲正功能,为客户/服务的交易模式提供了交易完整性的保证。用户只需要编写相应的客户和服务端的应用,无需考虑通信过程。
Tuxedo 可以支持现流行的各种不同的操作系统,为以后的业务扩展打下基础。 Fork 子进程
交易处理守护进程接收到请求后, 通过 fork( )调用 ,复制自己调用不同的服务来处理不同的请求,以达到并行处理的目的。子进程处理完毕,将结果回送相应的通讯端口,并写监控消息队列 。
这种方式用于处理销售终端 ( POS ) 经网控器 ( NAC ) 上送的交易。
交易监控 信息 5 子进程 1 子进程 N 交易处理守护进程 4 3 交易请求 交易结果 队列 队列 2 交易处理守护进程 读进程 写进程 1 6 及网控器 ( NAC )联结的通信端口
(A) 交易处理流程
(1) 销售终端 ( POS )经网控器发起请求。