《前置机详细设计报告.doc》由会员分享,可在线阅读,更多相关《前置机详细设计报告.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、,前置机系统详细设计方案1. 系统概述前置机系统的主要功能是预处理、存储和转发来自金融端末设备 ( POS. ),或者服务网点的交易请求,从而完成整个电子支付交易。整个电子交易系统是一个三级的客户/服务器(CLIENT/SERVER)模式。前置机处于整个系统的第二级,起到了承上启下的重要作用,它既是终端设备的SERVER,又是后台主机的CLIENT。前置机具有复杂多变的接口,要求有较好的通用性、可靠性和高效率。2. 系统结构整个前置机系统可以分为交易接口、交易处理核心、系统管理、监控系统四大部分。结构框图如下:后 台 主 机 数 据 库 系 统 管 理 监 控 系 统交易处理核心交 易 接 口
2、商户, 银行网点 ,POS,医院,药店3. 处理模式和交易类型处理模式 前置机与客户端之间,通过两次通讯完成一次交易 ,以减少通讯量 。首先由客户端发起请求,将相关数据 ( 交易码 , 交易数据,MAC 等 ) 送往前置机 , 前置机预处理完毕 , 将结果返回客户 。 交易信息 处理结果 前 置 机 客 户 端 交易类型前置机处理的交易类型按终端设备可以分为:银行网点的终端设备:签到、签退、圈存、圈提、查询、转帐、下传黑名单和改密。指定医疗机构的前端:签到、签退、查询、转帐、批上送、下传黑名单和改密。商户终端设备:签到、签退、下传黑名单、查询、转帐、批上送和改密。圈存机:签到、签退、圈存、圈提
3、、下传黑名单和查询。业务流程脱机业务流程联机业务流程4. 交易接口 目前系统与客户端的交易接口支持 TCP/IP (包括中间件模式)和串口两种模式。 TCP/IP 方式通过对套接字 socket 进行操作,或中间件模式完成数据的传输。 适用于客户端各种主机与前置机之间不同操作系统的通讯 。TCP/IP 方式如下图所示: Service_1 Service_2 . Service_NTcp_Server TCP/IP 中间件通讯方式服 务 点 守护进程 Tcp_Server 通过 fork( )调用 ,复制自己来处理不同的请求,以达到并行处理的目的。考虑到fork()的调用在交易高峰期过多子进程
4、的生成会导致系统在进程的切换和系统调用上占用过多资源, 在监控模块中采取一定的措施控制其子进程的个数,这将在监控模块中详细讨论。中间件模式采用固定的通讯格式完成数据的传递.串口方式 主要针对销售终端、指定医疗机构 ( POS ) 上送的交易请求, 对通讯端口进行读/写操作,完成交易。销售终端一般是通过网控器(NAC)与主机的端口进行联结 ,它们之间的数据格式遵循 ISO 8583 的标准。这对磁卡和IC卡同样适用。 这种方式用于处理销售终端、指定医疗机构 ( POS ) 经网控器 ( NAC )上送的交易。串口方式如下图所示:Serial server发送进程接收进程 接收进程负责从端口读取上
5、送的信息,发送进程将处理结果写到通讯端口,它们与守护进程之间通过消息队列进行数据交换。网控器可以有多个上行与下行板,为达到并行处理的目的,对应于每个通信端口,各启动一对相互独立的读写进程对其操作,提高了系统效率。交易接口模块串口守护进程读进程写进程TCP 接口守护进程销售终端 医疗机构POS服务网点和商户 PC 这对串口读写守护进程和交易处理进程之间通过消息队列进5. 交易处理核心IC 卡的交易是一种脱机交易。营业点、指定医疗机构将这些脱机交易批量地上送到前置机,经交易处理核心的预处理后,转发给后台主机;由主机修改相应的帐户资料,并进行汇总,统计和清算。所以,交易处理子系统是整个IC 卡系统的
6、关键,它包含交易处理守护进程,安全认证,交易日志的管理和交易转发模块,与其它的相关子系统的关系如下:交易处理子系统基于Tcp/Ip交易转发模块监控系统安全认证 日志文件交 易 处 理 守 护 模 块接 口 守 护 进 程 交易处理守护进程与接口守护进程一般是通过消息队列进行通讯,或者两者融为一体。 前置机系统的主要任务是预处理和转发批量的脱机交易数据,在设计交易处理子系统时,必须具有较高的处理速度和能力。以下的系统设计过程中,都以实现这个目标为前提。交易处理模块由于存在两种不同的通信接口方式,相应地,在前置机系统的交易处理模块分别采取了消息驱动与 Fork ( )子进程的形式处理来自这两种接口
7、的交易。消息驱动这种方式将传统意义上的应用( 服务进程 )根据不同的功能,相互独立起来,各个子服务进程( Services )之间读取消息队列中某一特定类型的交易消息,与不同的请求 ( 客户端的消息源 ) 建立有机的联结,处理交易后并将结果返回。消息驱动的方式适用于不同操作系统之间的 TCP / IP 通信。 5 3 4 2 1交易监控系统交易监控信息5批上送接收服务进程下传黑名单服务进程交易消息队列TCP 接口守护进程请求N请求交易处理流程(1) 客户端发起请求。 (2) 接口守护进程收到请求后,送往交易消息队列。 (3) 应用进程从交易队列中读取交易信息,进行处理。 (4) 应用进程将结果
8、返回客户端。 (5) 应用进程将结果送往监控消息队列。(A) 注释(1) TCP 接口守护进程接收到客户的请求后, 将其交易请求,通讯端口标识与相应的交易数据送往交易消息队列 。 然后继续新的监听。 (2) 各相应的服务进程( 如 批上送接收Batch_Recieve , 下传黑名单Download_Blacklist, 等,以下称为服务 Services ) 从交 易消息队列 中读取请求进行处理,将结果返回客户。同时,将交易 内容及其处理结果送往监控消息队列 E 。 (3) 交易服务进程处理完交易,将结果送往实时交易监控消息队列。 实时交易监控进程从监控消息队列中读取信息, 转换后写到实时交
9、易监控窗口 。 (B) 实现BEA 系统有限公司在企业中间件方面的产品在金融领域倍受青睐。该公司的中间件产品Tuxedo具有联机交易能力,强大的消息处理功能以及面向对象的特点,能最大限度地利用系统资源,可以使用户快速地开发新的应用,同时保护原有的投资。另外,Tuxedo 自带的冲正功能,为客户服务的交易模式提供了交易完整性的保证。用户只需要编写相应的客户和服务端的应用,无需考虑通信过程。 Tuxedo 可以支持现流行的各种不同的操作系统,为以后的业务扩展打下基础。Fork 子进程交易处理守护进程接收到请求后, 通过 fork( )调用 ,复制自己调用不同的服务来处理不同的请求,以达到并行处理的
10、目的。子进程处理完毕,将结果回送相应的通讯端口,并写监控消息队列 。 这种方式用于处理销售终端 ( POS ) 经网控器 ( NAC )上送的交易。交易监控信息 子进程 N子进程 1 5 交易处理守护进程 4 3交易请求队列交易结果队列 2 交易处理守护进程读进程写进程 1 6与网控器 ( NAC )联结的通信端口 (A) 交易处理流程(1) 销售终端 ( POS )经网控器发起请求。 (2) 接口读守护进程通过通信端口从网控器收到请求后,解包后送往 交易消息队列。然后继续新的监听 (3) 交易处理守护进程从交易队列中读取交易信息, 调用Fork ( ) 复制自己,进行处理。父进程继续新的监听
11、。 (4) 子进程处理后将结果写交易结果消息队列。 (5) 子进程将处理结果写监控消息队列。 (6) 接口写进程从结果消息队列中读取处理的结果,打包并写通信端口。由网控器将信息返回销售终端。 (B) 销售终端( POS )与接口读/写守护进程之间的交易数据格式遵循 ISO 8583 标准。 (C) Fork( ) 方式不易控制服务进程的数量 , 且每次复制自己时需占用较多的系统资源 。在实现时,应对此作了一些安全性( 保护性 )的控制。批次号的管理接收客户端批量上送的脱机交易,是前置机提供的主要服务 。前置机通过对批次号的管理来保证接收到的数据的正确性 。批次号是此批上送数据的唯一标识 , 批
12、上送接收服务进程接收到客户端的数据后 , 将先检查此批次号的数据是否已被处理过 。如果曾被处理,则直接将成功的结果返回。在前置机上建立一记录批上送信息的流水帐表 ,如有新的批上送业务,处理成功后保留其批次号和此批交易的总笔数与总金额等信息。用流程图的方式表示此处理逻辑:此批数据已被 处理过 ?处理这批数据,将有关信息插入批上送信息表返回处理结果返回“已被处理” 与此相对应,客户端进行批上送时,要保证以下几点:(1) 此批数据是未被上送或上送失败的;(2) 此批数据的批次号是唯一的 ;(3) 每批数据的内容是固定的。也就是说,如果某批数据上送不成功,又有新的业务发生,此时新交易只能作为下一批。安
13、全认证模块安全认证是交易的必不可少的部分,也是业务发展的要求。每笔交易都需经安全认证系统的校验。校验信息 ( MAC )的生成主要采取基于DES 的X9.9 标准算法。如果在交易过程中出现“信息校验错”,前置机将产生一新的 MAC_KEY 和 PIN_KEY , 经黑盒子的加密后下传,同时更新数据库中的数据。客户端( 销售终端或商户 PC )用保存的主密钥对其解密,作为计算下次通信MAC的 MAC_KEY 。有关“黑盒子”和密钥管理系统,在这里不作进一步的讨论。交易转发模块交易转发有实时转发(联机交易)和临界值转发(脱机交易)两种方式。通过修改参数文件的配置或根据交易信息来实现两者之间的转换,
14、兼容以前的磁卡交易。可以流程图的方式表示如下 :联机交易 ? 是 否记录交易流水帐,标志=”未处理”将交易发往后台将此批交易信息发给批处理进程 返回处理结果从区域(全国)联网的角度出发, 前置机应提供动态的路由寻址,可将不同区域的不同卡种的交易转发到目的地,由不同的台主机进行处理 。(区域标识,卡种)这一二元组决定交易的目的地址,作为系统的动态参数,可随时更改适应不同的需求。对于脱机交易的批上送,需启动一批处理守护进程 ( Batch_Server )接收批上送接收服务进程发来的消息,判断已处理的交易笔数是否已达到临界值(每批上传到后台处理的交易笔数),以便搜索数据库,将未上送的脱机交易打包,
15、送往后台中心。交易处理子系统返回给客户端的结果并不是真正的实时记帐的处理结果。考虑到批上送的并发性对数据库的影响, 批处理守护进程 ( Batch_Server ) 只是将数据库中未处理或上送失败的脱机交易分段,找出这些记录的起止序号等信息送往批处理消息队列。它只是一个分派任务的进程, 对数据库不做任何修改。上送服务进程 ( Batch_Send ) 从批处理消息队列中读到消息后,按起止顺序号查找流水帐并锁住这一批记录,按照约定的格式打包发送,并根据中心返回的结果修改流水帐或记录异常流水。 Batch_Server 和 Batch_Send之间的关系如下 :上送进程1上送进程 N批处理消息队列
16、正 常流水帐批处理守护进程 批处理守护进程( Batch_Server )每次启动时先查找流水帐 ,统计库中未处理的交易,防止由于上次(异常)退出时批处理消息队列中未处理的消息长时间未得到处理 。上送进程 ( Batch_Send ) 利用通信平台 Tuxedo 提供的函数,与 IC卡后台主机的服务进程建立联结,完成批上送的任务。交易日志凡涉及更改数据库的交易,须写日志文件或者记录到交易流水帐中,以备以后的核对和查询统计。如果在交易过程中出现错误,在日志文件有详细的记载。交易冲正由于系统的模式为客户 / 服务型,不可避免地遇到交易冲正的问题: (1) 客户方由于超时无法将交易发往服务方; (2
17、) 服务方无法将结果回送给客户方。对于前置机上述情况的交易冲正,由中间件 Tuxedo 内部机制完成,保证交易的完整性。但对于串口的通信方式,只能由客户端( 主要是 POS )的超时控制来实现,重做此次交易。6. 监控子系统 作为一个完整的监控系统,应包括实时交易监控,系统资源和守护进程的监控三大部分,它们是相对独立的。实时交易监控 实时交易监控从监控消息队列中读取信息, 经过格式转换后,将其写到实时交易监控窗口上。通过实时交易监控,可以查看当天的最后一批交易处理的时间及结果,相应的统计信息( 如总笔数,总金额等 )。 对交易进行时间段统计,管理人员根据高峰期和相对空闲期,调整日终处理,其它与
18、实时交易关系小的服务(如下传黑名单)的时间,合理利用系统资源,提高系统的运行效率。处理描述 : 初始化监控屏和监控消息队列;fork() 子进程去获得系统的状态;然后接收监控消息,将其转化为一定的格式写到监控屏。系统资源监控系统资源指运行整个 IC 卡前置机系统必需的相关硬件和软件运行环境。系统资源监控是系统管理人员有力的维护工具。1. CPU 的忙闲2. 数据库的状态3. 文件系统的可用空间4. 后台进程运行状态处理描述 :过一定时间间隔循环调用Check_Deamon(), Check_Filesys_Usage(), Check_Online(), Sum_CPU() 查看当前系统各项状
19、态,并按一定格式显示到系统资源监控屏上.守护进程监控对系统的守护进程进行监管,除了获得进程的运行状态(最后的活动时间,暂停,异常,死亡),还可以自动地重启死亡或僵死(zombie)的进程,以达到交易的连续性。同样,可以让系统管理人员手工地关闭某些进程 。在系统的守护进程启动或退出时 , 需修改活动进程表的状态标志及时间 , 为进程监管提供依据 。进程监控还可以定期或在收到其它进程发来的消息后,对交易消息队列进行清理,比如,删除等待时间已超过某一上限的消息。对交易进行时间段统计,管理人员根据高峰期和相对空闲期,调整日终处理,其它与实时交易关系小的服务(如下传黑名单)的时间,合理利用系统资源,提高
20、系统的运行效率。另外, Tuxedo 提供了强有力的管理平台,可以配置Tuxedo 的运行参数,修改各个服务 ( Services )的运行数目,最大限度地利用系统资源。处理描述 :1.控制子进程的启动.启动之前,先申请,如果成功,则注册并允许启动,子进程运行结束,释放资源并注销. 2.删除超时的子进程.通过父进程找到子进程,查看运行时间是否达到某一上限,并关掉超时的子进程,释放系统资源.7. 系统管理标准数据的管理前置机对以下的标准数据进行管理:1. 操作员( 含商户、指定医疗机构和前置机的操作员 )2. 收费单位( 特约单位 )编码表3. POS 类型与 IC 卡关系对照表上述信息均存储于
21、后台主机,前置机通过手工申请的方法,一次性下载这些标准数据,作为检查交易合法性的依据。除了操作员信息外,前置机不能修改上述标准数据,只能向主机申请。主机的标准数据如有更新,自动下传。系统参数配置将系统运行参数化,是系统生命力强的表现之一。在此为管理人员提供菜单式的易于使用的界面,对系统参数的进行配置:1. 批上送控制笔数2. 自动申请黑名单的时间间隔3. 可用的 IC卡卡号段4. 系统清理历史数据的时间5. 系统守护进程的启动数目查询统计在前置机系统为管理员提供界面,可对帐户明细,交易,各类登记簿和其它信息进行查询统计。每一项的查询都包含基本信息,详细信息,统计信息和信息打印等功能。数据维护
22、数据维护是系统安全运行的保障之一。根据数据的冗余性,能及时地恢复损坏的数据。这就要求有多种手段(硬盘,流带,磁盘等 )对系统关键数据进行备份和恢复。黑名单的管理对于 IC 卡系统而言,黑名单的管理是交易可靠性和安全性的保证。黑名单存放于(1) 后台主机 (2) 前置机 。后者是前者的备份。在前置机上另设立一黑名单动态库表,保存距现在一段时间内的最新的黑名单。 主机的黑名单如有更新,其版本号以当天的日期( 或其它)作为最新版本号。主机以广播的形式下传黑名单到前置机。或者,前置机每隔一段时间,自动地向主机申请。前置机获得黑名单后,同时更新全部的黑名单和动态黑名单两个库表。为减少数据传递量, 客户端
23、每次签到申请时,只传输最新的动态黑名单 。 客户端申请时须将本地的黑名单版本号上传 。 而前置机比较收到的版本号与数据库中的最新版本号,决定下传与否 。8. 帐务处理子系统日终处理根据不同的区域和卡种,生成的日终报表可为行内往来,异行往来提供较完善的清算报表,更进一步,基于通用的或协商的格式为清算中心提供清算数据,是 IC 卡联网发展的必然要求。 现有的系统只对本省内建行的 IC 卡交易进行清算。前置机的清算日期设置由后台主机以广播的方式来完成,日终处理完毕,需备份清理当天的交易流水等相关数据库表。报表处理帐务处理子系统根据数据处理子系统所记录的交易( 历史 )流水帐或者后台主机( 清算主机
24、)下传的数据,生成并打印该市地行的各类表单和记帐凭证。向本行下辖的机构和有关的商户提供相关数据,供其生成各类凭证。可提供的报表数据有: (1) 交易统计日报,月报和年报(2) 资金往来报表 (3) 商户/POS/营业网点的对帐单 (4) 其它报表前置机在日终处理时向后台 IC 卡主机申请本地区的清分数据和有关的报表数据,然后将清算数据发送到各地市行的综合网主机,利用已有的综合网的清算功能,参与综合网结帐。它们之间的关系如下图所示:1. 前置机向 IC 卡主机申请清分数据和报表数据2. 前置机将清算数据发往综合网主机,参与综合网的结帐3. 前置机向客户端下传其所需的报表数据银行与医保中心的数据传
25、送前置机与医保中心联网,每日定期将有关医保的交易数据组织后以文件的形式传送到医保中心,以便进行对帐和统计工作。附A.前置机网络结构实意图附B 前置机数据库表结构1、 黑名单(ichmd)(1)卡号(kh)char(20)(2)录入原因(lryy)char(1)2、 黑名单动态表(ichmddt)(1)序号(xh)int(2)卡号(kh)char(20)(3)日期(rq)date(4)录入原因(lryy)char(1)(5)卡种(kzl)char(1)(6)增删标志(zsbz)char(1)1:增加;2:删除*该表应保存最近一版前N天的信息3、 POS交易类型对照表(icposjylxdz)(1
26、)交易类型(jylx)char(6)(2)处理码(clm)char(6)(3)交易名称(jymc)char(16)(4)交易码(jym)char(6)4、 操作员管理表(icczygl)(1)机构编码(jgbm)char(9)(2)操作员编号(czyh)char(6)(3)姓名(xm)char(8)(4)密码(mm)char(6)(5)权限(jb) char(1)(1:业务主管;2:记帐员; 3:系统管理员;)(6)启用日期(qyrq) date(7)终止日期(zzrq) date(8)标志(bz) char(1)(9)上次改密日期(icscgmrq)date(10)DAC char(16)5
27、、 POS 操作员表(icposczy)(1)收费代码(sfdm) char(9)(2)操作员号(czyh)char(6)(3)密码(mm) char(6)(4)状态标志 char(1)0:签到;1:异常(5)DAC char(16)6、 POS编码表(icposbm)(1)POS号(posbh)char(6)(2)收费代码(sfdm)char(9)(3)黑名单下传标记(xcbz)char(1)(0:全部下传; 1:下传本地)(4)POS类型(poslx)smallint(5)优先级(yxj)char(1)7、 POS类型和卡类型对照表(icposlxdz)(1)POS类型(poslx)cha
28、r(1)(2)卡种(kzl)smallint(3)下传标志(xcbz)char(1)(0;不下传;1;下传)8、 响应码表(icxym)(1)响应代号(xydh)smallint(2)代号名称(dhmc)char(16)9、 网点机构编码表(icwdjgbm)(1)机构编码(jgbm)char(9)(2)机构名称(jgmc)char(16)(3)当前状态状态(dqzt)char(1)10、 代收费管理表(icdsfglb)(1) 收费代码(sfdm)char(9)(2)收费单位名称(fsdwmc)char(20)(3)状态标志(ztbz)char(1)(0:正常; 1:异常)(4)IP地址(i
29、pdz)char(12)(5)发送标志(fsbz)char(1)(0:已发; 1:未发)(6)对帐方式(dzfs)char(1)(0:磁盘; 1:主动下传; 2:被动申请; 3:不发送)(7)上次申请日期(scsqrq)date11、 批上送表(icpssb)(1)POS批上送标志(posbssbz) char(1)(0:成功; 1:正在接收; 2:手工补单;)(2)前置机批上送标志(qzjpssbz)char(1)(0:成功; 1:正在发送; 2:待发; 3:通信失败; 4:文件发送成功)(3)POS号(posh)char(6)(4)POS批次号(pospch)int(5)POS包号(pos
30、bh)smallint(6)POS票据号(pospjh)smallint(7)前置机批次号(qzjpch)int(8)POS批上送笔数(posbssbs)smallint(9)POS批上送金额(pospssje)dec(12,2)(10)接收日期(jsrq)date(11)接收时间(jssj)int(12)清算日期(qsrq)date(13)优先级(yxj)char(1)(14)POS所属机构(posrsjg)char(10)12、 系统参数表(icxtcs)(1) 清算日期(qsrq)date(2) 机构编码(jgbm)char(9)(3) 系统状态(xtzt)char(1) (0:运行;
31、1;后台轧帐; 2:接收数据成功;)(4) IP地址(ipdz)char(12)(5) 前置机批次号(qzjbch)int(6) 批上送控制笔数(pssczbs)smallint(7) 主机轧帐时间(zjzzsj)date(8) 轧帐前控制时间(zzqkzsj)smallint(9) 清理控制天数(qlczts)smallint13、 查询字典表:(iccxzd)(1) 编号(bh) smallint;(2) 序号(xh) smallint;(3) 字典(zd) char(6);(4) 字典名称(zdmc) char(16);(5) 数据类型(sjlx) smallint;(6) 数据长度(s
32、jcd) smallint;(7) 表名(bm) char(9);14、 查询条件表:(iccxtj)(1) 代号(dh) char(5)(2) 编号(mh) smallint; (3) 序号(xh) smalllint;(4) 字典(zd) char(6);(5) 名称(mc) char(16); (6) 输入值(srz) char(50);(7) 数据类型(sjlx) smallint;(8) 数据长度(sjcd) smallint;(9) 表名(bm) char(9)(10)标志(bz) smallint;15、 查询显示表:(iccxxs)(1)表名(bm) char(10);(2)字
33、段名(zdm) char(10);(3)中文名(zwm) char(10);(4)字段值(zdm) char(2);(5)代表意义(dbyy) char(10);表1 IC卡前置机交易清单序号交易名称交易发起地交易目的地1.商户或医疗机构终端签到商户或医疗机构前置机2.商户或医疗机构终端圈提商户或医疗机构前置机3.商户或医疗机构终端圈存商户或医疗机构前置机4.商户或医疗机构终端操作员改密商户或医疗机构前置机5.商户或收医疗机构终端批上送商户或医疗机构前置机6.医疗机构终端信息上送商户或医疗机构前置机7. 医疗机构申请下传文件医疗机构前置机8.网点操作员签到网点前置机9.网点操作员改密网点前置机
34、10.网点批上送网点前置机11.前置机批上送前置机主机12.前置机申请下传黑名单前置机主机13.前置机申请下传表更新数据前置机主机14.前置机申请下传清算数据前置机主机15.前置机申请下传清算日期前置机主机16.前置机申请下传密钥前置机主机17.前置机申请下传报表数据前置机主机18.前置机发送清算数据前置机综合网主机19.前置机向收费单位对帐前置机收费单位20.前置机申请打卡结果前置机IC卡主机21.前置机上传打卡文件前置机IC卡主机22.主机轧帐主机前置机23.主机切换清算日期主机前置机24.主机下传黑名单主机前置机25.主机下传表更新数据主机前置机26.主机下传清算数据主机前置机27.主机下传密钥主机前置机28.主机下传报表数据主机前置机