云南邮政水费代收系统的研究与设计

摘 要:本文以云南邮政中间业务发展角度讨论了银行建立中间业务系统的必要性,并对云南邮政水费代收中间业务平台系统进行了详细设计,包括系统的需求分析、架构设计、关键技术介绍,数据安全设计。系统运行结果表明,本系统性能优良、可靠性高、安全性好、实时性强,达到了银行与自来水公司双赢的目的,促进了企业的信息化建设。

关键词:中间业务;水费代收;安全性;实时性

中图分类号:TP399-C2

随着社会的发展,银行的信息化建设成为银行业竞争的主要焦点,为了更好的服务银行客户,各家银行都投入了大量的人力、物力、财力在信息化建设上。在这些信息化产品上,银行中间业务发展最为迅速。中间业务是银行拓展业务渠道,实现多元化经营的一种有效方式,不仅如此,中间业务系统是银行系统与客户系统联接的桥梁。

银行中间业务的发展也经历了多个过程,比如中间业务系统新起时,其交易都是非实时性的,因此所有交易都是批量进行代扣的。而目前银行中间业务系统交易有已经发展到实时性交易,代扣方式也专变为批量与单笔交易相结合的方式。在银行中间业务发展初期,主要是因为技术的不成熟以及其他客观条件的限制,主要使用的是软盘进行数据交换,比如代扣代理单位需要将所有的代扣信息存放至软盘中,银行根据软盘信息在规定时间内完成所有的代扣处理,这种方式不仅出错率高,而且随着代扣业务量的增大,已经无法满足当前代扣业务发展的需求。而随着计算机技术、通信技术、数据库技术的快速发展,具有及时交易的中间业务模式应运而生。

本文以云南邮政水费代收系统为例,详细对银行中间业务系统进行了分析和设计,该代收系统通过MSTP专线与银行后台系统进行连接从而完成自来水公司的水费代收业务。

1 相关技术

1.1 中间业务

所谓中间业务是指不构成商业银行表内资产、表内负债、形成银行非利息收入的业务,实际上在中间业务中,银行的性质属于中介,即第三方。中间业务是银行参与其他社会经济活动的必要组成部分,目前在我国中间业务渗透到各行各业,比如代收业务、网上银行、电话银行等等,这些业务的发展都离不开中间业务。

一般情况下,一笔中间业务从交易发起至交易完成,需要经过至少6次的数据传输。

(1)银行中间业务系统向目标企业发起欠费查询;(2)银行中间业务系统向用户确认是否交费;(3)银行中间业务系统向银行核心系统进行扣款;(4)银行中间业务系统向目标企业发起缴费,如果出错,需要返销第3步的扣款;(5)银行中间业务系统记账处理,如果出错,需要返销第3、4步的扣款和缴费;(6)银行中间业务系统打印收据给用户。

1.2 Socket通信

Socket是一种通信机制,它可以完成网络上应用程序间的跨平台通信。实际上,Socket是应用程序进程间通信的端点,当端点与端点进行成功连接后便可以相互传输数据。

Socket由IP地址、通信端口、类型组成:(1)IP地址:确定目标计算机的通信地址;(2)通信端口:确定目标计算机的应用程序进程;(3)类型:确定Socket的通信方式,有流Socket、数据包Socket和基础三种类型,而应用程序与应用程序间的通信只能在同类型中进行通讯。

Socket通信流程如下:

服务端:首先建立一个Socket,然后将建立的Socket与本地端口进行绑定,并对端口进行实时监听,当收到连接请求时,便建立连接。

客户端:首先建立一个Socket,当与服务端成功连接口,便可进行数据的发送和接收,当数据传输结束后,关闭连接。

主要函数包含以下8种:(1)Socket():建立Socket;(2)Bind();将本地端口与Socket绑定;(3)Listen();设置Socket为监听状态;(4)Accept():接收socket连接请求;(5)Connect();连接socket;(6)Read():接收信息;(7)Write():发送信息;(8)Close():关闭Socket连接。

2 系统需求分析

2.1 功能需求

本系统邮政储蓄银行可发起柜面和ATM缴费交易,网银可发起欠费、缴费记录查询交易,代扣签约和解约的查询交易。

自来水公司可发起扣款交易,然后通过邮政储蓄银行的中间业务平台向已经签约的用户扣款收水费。

根据中间业务的交流程序,本系统的具体功能需求如下:(1)查询功能:邮政储蓄银行中间业务系统可以处理自来水公司发出的查询请求,自来水公司可根据用户编号查询签约客户的缴费情况等;(2)交费功能:银行工作人员录入签约客户的用水交费编号进行按月交费,完成交费交易,其中每笔交易都对应着一个唯一的流水号;(3)冲正功能:对已经完成的交易进行冲正。如果签约客户交费水费,中间业务系统向自来水公司业务系统发起冲正请求,并提供交易流水号,自来水公司根据流水号完成冲正;(4)对账功能:邮政储蓄银行每天进行日终对账,主要是与自来水公司完成总账核对和明细核对,其方式是通过将交易明细传给自来水公司完成对账;(5)签约功能:与客户建立代收水费关系;(6)解约功能:与客户撤销代收水费关系;(7)报表管理:打印各种业务流水表;(8)收据打印:打印银行代收水费的收据;(9)系统管理:包括用户管理、签约客户管理、日志管理等。

2.2 性能需求分析

根据中间业务的交易特点,本系统性能需求如下:(1)实时性:对于任何交易,系统实时性要求较高;(2)可靠性:由于涉及到账户处理,因此需要充分考虑网络的可靠性和安全性;(3)易操作性:减少人为错误的发生;(4)完整性:银行主机、中间业务系统服务器、自来水公司主机保持数据同步更新。

3 系统总体设计

3.1 系统架构设计

根据需求分析,需要水费代扣的客户向邮政储蓄银行申请办理代扣水费业务,银行网点业务人员将申请开户的交易请求发送至网点服务器,然后网点服务器将交易请求传输给邮政储蓄银行的中间业务系统服务器,中间业务系统再把交易请求消息转发给自来水公司,自来水公司处理请求后把处理结果转发到邮政储蓄银行的中间业务系统服务器,中间业务系统再将处理结果发送给网点,网点再将交易处理结果信息反馈给签约客户。

根据以上的业务流程分析,系统架构设计如图1所示。

图1 系统架构图

3.2 功能设计

根据需求分析,系统的功能结构图如图2所示。

图2 系统功能结构图

3.3 通信程序设计

本银行中间业务平台采用TCP/IP协议的Socket流方式与自来水公司系统进行通信,由于每次通讯时数据包长度不固定,因此本数据包设计采用变长分隔符字符串标准,数据包由单一内容和循环内容组成。通过编写报文位图实现变量与报文的映射,可以完成常规通讯数据报文的快速打包和解包。但是水费业务的数据结构较为复杂,我们做了一些特殊处理。

数据解包流程:首先对接收到的数据包进行解密操作,如果数据包传输无误,就调用系统解包程序根据报文位图进行初次解析,将数据包的单一内容解析到报文位图对应的变量池中,把循环内容解析到特殊的变量池中,再利用专门的循环内容解析函数对其进行解析。当数据包解析完成后,计算数据包的MAC值,完成校验工作。

数据打包流程:首先计算数据包的MAC值,然后再将从变量池中组合数据包的单一内容和循环内容,再调用系统打包程序按照打包报文位图生成数据包,最后进行数据包加密。

4 关键技术

4.1 共享内存

共享内存是进程间共享数据最快的途径,它是物理存储区域中的一块。在系统启动的时候,将数据库和配置文件里的控制信息,读入共享内存中,新交易发起的时候,直接从共享内存里取数据生成交易流程和通讯报文结构。当进程间需要协作的时候,通过设置共享内存信息,实现同步与数据共享,这样做减轻了系统I/O压力,可以有效提供系统的工作效率。

4.2 变量池

变量池进程内的全局变量空间,系统通过变量池实现了数据在交易各个处理环节之间的共享。我们系统的每一步处理都是相对独立的子交易程序,各个子程序之间存在大量的数据交互,通过参数的调用无法完成信息传递工作。因此,我们采用了变量池技术,在交易启动的时候会根据共享内存初始变量池,之后每一步处理都通过变量池获取数据信息,再把处理结果存入变量池,到交易结束时,释放变量池。

4.3 消息队列

消息队列实际上是一个链表,系统通讯的多个进程可以共享一个消息队列来进行消息的交换。中间业务系统的进程发送消息时,其消息类型号都是临时产生的唯一编号,在消息返回时,每个进程只接收消息类型号与自己编号相同的消息。进程都是通过消息队列接收信息的,因此,使用消息队列可以起到一个缓冲作用,增加了系统的负载能力。

本系统可以根据业务发展情况动态调整消息队列数量,由于中间业务系统同时运行了十多个业务,因此只为代收水费分配了5个消息队列,并且为核心系统分配了30个消息队列。交易发起的时候,会被分配到负载最小的消息队列里,在业务繁忙时,交易消息队列可以实现简单的负载均衡,并保证每个交易都能被处理,不会因为系统繁忙而丢弃交易。

5 安全设计

5.1 秘钥管理机制

针对中间业务系统不同的加密解密操作,比如重要数据字段加密、数据报文MAC运算等提供不同的秘钥。而且,在系统拓扑结构中,提供专业的秘钥服务器对系统的加密秘钥进行管理,这样就保证了系统所有的秘钥操作都在秘钥服务器中进行,有效防止秘钥的泄露。与核心系统通讯的主秘钥分别由两个人管理,任何一个人都不知道完整的秘钥。数据库中的秘钥都是加密存储的。

5.2 数据安全设计

由于本系统采用的是Oracle 10g数据库,安全级别较高,而且从Linux操作系统的文件权限规范数据库文件的存取权限,并且利用Oracle 10g数据库的事件跟踪机制对数据库的事件运行进行监控。建立灾备中心,实现系统数据和业务的异地备份。

对数据表关键字段设计摘要计算方法,当对数据库进行操作时,需要计算该摘要并与数据库中登记的DAC字段对比,在核对不一致的情况下,认为该数据字段被篡改。

6 结束语

本文以云南邮政代收水费中间业务系统为研究为例,详细设计并实现了一个架构良好的水费代收中间业务平台。该平台于2007年上线投产,从系统运行情况来看,系统运行良好,月平均交易量在30000笔以上,金额在400万以上,推动了云南邮政水费代收业务的稳定发展,带来了良好的社会和经济效益。

参考文献:

[1]赵思瑶.论商业银行中间业务的现状、问题和对策研究[J].科技创新导报,2012(02).

[2]欧军,吴清秀,裴云.基于socket的网络通信技术研究[J].网络安全技术与应用,2011(07).

[3]王远洋,周渊平,郭焕丽.Linux下基于socket多线程并发通信的实现[J].微计算机信息,2009(15).

[4]张宇鸿,彭宏.基于CICS中间件的中间业务平台系统[J].现代计算机,2004(08).

作者简介:王平嵩,男,云南石屏人,本科,软件研发人员,工程师,研究方向:计算机软件开发。

作者单位:云南省邮政公司,昆明 650011

推荐访问:水费 代收 云南 邮政 研究