论文部分内容阅读
中国银联联合营销系统目的是将所有的银联卡的积分实现统一流通。它由联机交易、批量、服务和管理四个子系统组成,本论文实现的是联机子系统的部分功能。联机子系统用于处理CUPS系统转发过来的与积分账务相关的8583交易,以及由Web模块以WTC调用的形式发送过来的联机交易。为了实现这种典型的OLTP应用,采用Tuxedo作为整个机构的基础。根据业务的需要创建了多个SERVERS和SERVICES。本论文实现的服务有:通讯服务、CUPS金融交易处理服务以及联机监控服务。本系统为了提高运行速度,采用了多进程并发处理方式。而为了实现进程间的快速通讯,采用了共享内存。共享内存中的变量按照应用的不同可以分为:动态参数、静态参数、账务参数、报文域参数以及交易属性参数。共享内存的操作有:初始化、连接、断开、切换以及删除等。为了实现多个系统方便的调用账务模块,实现持卡人/机构的积分加减,本模块单独实现,并被封装为了动态库。这是在积分管理系统中首次引入独立完善的账务模块。按照会计学理念,设计了数据库表结构,包括持卡人/机构账户表、持卡人/机构账户操作明细表、会计分录表、交易清算流水表等。一笔账务操作的过程为:首先加载账务相关参数,其次检查账务操作的合法性,再次增减账户表中的积分,最后对每个操作记录日志。交易日志抛弃了金融联机交易一贯采用A/B的方式,引入了31张表。其中加载账务相关参数是指将会计分录以结构体的形式调入内存,采用Hash树的存储方式,为解决Hash结构体地址冲突问题采用开放定址——线性探测法。联合营销系统处理经CUPS转接的POS交易,这些数据在网络上是以8583报文格式传输的,为了转化为本系统容易处理的数据,设计实现了以下几个函数:8583报文转化为8583结构体、8583结构体转化为内部金融交易结构体、内部金融交易结构体转化为8583结构体以及8583结构体转化为8583报文。