龙之梦工作室
LOGO

技术文章


(SCI) Parallel Algorithm for Wireless Data Compression and Encryption   (SCI) Fast Algorithm of Truncated BWT for Data Compression of Sensors   Dr. Qin Jiancheng   龙之梦助力肇庆教育网云计算   Dr. Zhou Yousheng   Dr. Bai Yuan   龙之梦工作室加盟华南理工学术团队   [软件下载] ComZip超级压缩机免费版下载   继续潜行,龙之梦工作室技术研发又一年   [软件交易] “雅典娜”网页密码锁在线购买   [软件交易] Super Prime超级质数机在线购买   [软件交易] ComZip超级压缩机在线购买   [信息安全] “风语者”高强度加密技术   [信息安全] 多层纵深防御体系结构   [合著] 专利:安全事件检测方法及装置  

[原创] 银行代缴话费接口的改造

[ 2007-04-10 01:44:10 ]

  引言/提要:银行代缴话费接口软件,是以广东电信科学研究院设计的软件为蓝本、以广州某软件公司开发的软件为原型,由计费帐务中心及计算机中心人员重新开发而成。重写过的接口软件采用了多种技术手段,使其性能及稳定性都优于那两个旧版本,可适应电信业务发展的要求。

  关键词:电信话费,银行接口,技术改造

  (注释:此项目获2002年度企业内部技术革新三等奖。由于情况变化,目前该系统已改用全省统一的版本,但获得的开发经验仍有参考价值。)

  目前使用中的银行代缴话费接口软件,是以广东电信科学研究院设计的软件为蓝本、以广州某软件公司开发的软件为原型,由计费帐务中心及计算机中心人员重新开发而成。重写过的接口软件采用了多种技术手段,使其性能及稳定性都优于那两个旧版本,可适应电信业务发展的要求。

一、银行代缴话费接口系统简介

  银行代缴话费接口的作用是,响应银行方查询话费的业务请求,完成在线缴纳话费,从而实现银行通过存折或现金帮电信用户缴纳话费的B2B功能。
  接口的构成如图1所示。

银行代缴话费接口构造示意图

  电信方与银行方各用一台接口服务器,通过专门的2M通信线路连接。接口服务器分别连接各自的内部网,能访问己方数据库。接口服务器上装有IBM的MQ通信软件及接口应用软件,前者用于相互之间的信息传递、数据交换,后者则完成代缴话费中各自的业务功能。
  在电信方,接口服务器由PC服务器担当,其操作系统采用Windows NT,MQ通信软件是IBM的产品,接口程序则用C++语言及连接数据库用的EC开发而成。电信方接口程序主要功能就是接收银行方业务请求,对计费数据库执行相应的自动操作,将结果反馈给银行。

  接口所处理的业务有3种:查询、缴费、对帐。每种业务又可分出不同的操作:
  基本查询——对单个电话号码的话费进行查询;
  批量查询——对大批量号码的话费进行查询;
  基本缴费——对单个电话号码进行缴费;
  批量缴费——对大批量号码进行缴费;
  查询兼缴费——将查询和缴费合在一起,通讯量减少一半,在大批量电话代缴业务中可大大提高效率;
  作废缴费——将当天误缴费的业务记录作废;
  自动对帐——每天双方自动核对上一天的帐;
  主动对帐——由电信方发起对帐请求,专门核对某一天的帐。

  利用这些自动业务操作,可以使用户即时用现金缴纳话费,或者存钱在银行存折中,自动扣话费。对于实时查询欠费和多处同时缴费的问题,接口也能较好地解决。目前电信缴费接口与多家银行相连接。

二、银行代缴话费系统改造过程

  电信方接口程序最初是由广州某软件公司和电信公司共同开发的。软件公司的作用就在于编写出一个可用的原型,并使电信公司人员在参与开发过程中领会了接口程序的内核。程序开发出来后,软件公司即完成了任务。
  该接口程序在使用之初,存在很多不足,在使用过程中逐步暴露出来。同时由于业务的发展,接口也必须不断改进以适应其变化。为此,先后对接口程序进行过多次自行改造。

  1、第一次改造:修补错误及增强对帐能力。
  在系统投入使用之后不久,发现程序存在内存泄漏的错误,多次业务操作以后会导致内存空间不足的问题,在程序中查出了六七处错误并修正。
  针对原本程序中只有自动对帐功能的不足,与银行方合作,给程序增加了主动对帐功能,方便电信人员随时与银行进行程序上的对帐。

  2、第二次改造:提高速度。
  在与邮政储蓄合作开通缴费接口连接的时候,调整了时间性能,使响应速度从0.5秒提高到0.02秒,大批量电话缴费成为可能。

  3、第三次改造:话费分开并重写程序。
  电信资费政策调整,要求将信息费与话费分开,因此要银行和电信双方更改接口程序的相应处理部分,以适应这种要求。
  在分话费与信息费的同时,也重写了整个电信方接口程序,将原来的轮询响应程序结构改为服务器程序结构,更符合服务器应用的特点,使响应性能进一步提高。

  4、第四次改造:提高程序性能及可靠性。
  从程序开发之日起,一直存在不稳定的情况,隔一段时间程序就会突然吊死,需要人工重启。第一次改造解决了内存泄漏问题后,吊死的情况大大减少,不过仍时有发生。第三次改造适应了业务发展的需要,但也提高了程序的复杂性,吊死又有所增加。
  为了彻底解决程序吊死的问题,在第三次改造之后不久,又再次进行改造。首先将程序中所有涉及指针、字符串等敏感操作的地方都改写成安全编码,确保不会在敏感操作中出现非法内存访问;其次在程序中加入异常捕获及处理的代码,尽量防止程序异常导致的中止。
  这两项针对性措施有效改善了程序吊死的情况,但无法预防其他未知错误引起的吊死,因此还需要更强有力的可靠措施。于是,借鉴高端服务器中双机热备份的做法,将每个接口程序扩充成两个,作为双备份同时工作;再借鉴UNIX系统中服务器守护进程的做法,在接口服务器的Windows NT系统上开发接口程序的守护进程。

运行中的守护进程窗口

  通过改造,让接口程序在正常运行的情况下,有规律地发出脉搏跳动。守护进程通过这些脉搏,监视接口程序是否活动,若发现有一个程序失去了脉搏,就会在5分钟内自动重新启动一个接口程序,继续工作。而由于接口程序是双备份的,一个程序吊死不会影响业务的正常运作,5分钟后又恢复到双备份的状态。
  守护进程的功能单一,设计时尽量使它简单,这样可降低程序的复杂度,开发出来的程序可靠性相当高,从来没有出现过接口程序那样的吊死,因此可以担负起时刻守护的重任。
  经过这次改造,接口程序的可靠性已经与Windows NT操作系统接近,除非出现系统崩溃、数据库故障、通信中断等严重问题,而接口程序本身已不再影响话费代缴业务的正常运作。

双备份的接口程序

  5、第五次改造:扩充MQ通信的消息通道。
  随着业务发展,一对MQ通道的速度已经不能满足邮政储蓄的大批量代缴业务需要,而邮储更准备将业务扩展到地方各县市,开通各县市的MQ通道。经过试验,电信方成功实现了不增加硬件设备,而在同一台接口服务器上增加多对MQ通道及相应接口程序。考虑到一台服务器的负荷能力有限,又将部分邮储的通道分散到其他银行的接口服务器上。增加的通道和接口程序不会互相影响,可以正常地执行各自的任务。

  6、第六次改造:提高业务处理的成功率。
  由于数据库太忙或者数据共享冲突等原因,并不是每一个代缴业务的处理都能够成功,偶然会出现操作失败的情况。以往接口程序采用即时连接数据库的方式,操作失败率(出错率)平常情况下在千分之五左右,到了数据库忙的时候,例如计费出帐、统计报表时,出错率会提高十倍,达到百分之几。虽然这种出错有相应的反馈信息,双方帐目不会因此而出错,但这样出错会影响效率和缴费的及时性。随着业务量的增长,出错概率已经显得太高。
  为此又一次改写了接口程序,将连接数据库的方式改为持久连接,减少了连接数据库失败的机会,同时也提高了操作的速度。又在程序中加入数据库操作失败时重试的机制,挽救了部分出错的情况,大大提高了成功率。经过这次改造,出错率降低到平常情况下万分之三左右,数据库忙时千分之几。换言之,如果全市60万用户有一半人在同一天内通过银行接口缴纳话费,缴费失败不足10人,受数据库制约,若数据库忙时会达到100人,而改造之前会高达1000人。

  7、第七次改造:增强业务功能。
  业务开展过程中,不同银行对缴费接口提出了不同的要求。于是,根据邮政储蓄的要求,增加了对帐反回应功能,自动将对帐结果反馈给银行方;根据工商银行的要求,增加了缴费作废的功能,当天之内可以将误缴费记录作废;根据中国银行的要求,增加了超时自动忽略的功能,以防止银行方消息通道堵塞,诸如此类。

  8、第八次改造:系统软硬件升级。
  业务量发展可能会超过原有系统的承受能力。最初的接口服务器采用128M内存,应付各银行的代缴业务仍绰绰有余。随着业务量的增长,服务器逐渐满载,甚至超负荷了。虽然针对邮储的业务量,把对邮储的接口服务器内存增至256M,仍然很快就短缺。各台服务器变得反应缓慢,硬盘频繁读写,系统性能显示虚拟内存使用量大大超出物理内存容量。最紧缺的时候,曾经不得不从计费用的PC工作站中拆出内存,临时加到接口服务器上去应急。
  在等待升级内存的申请得到落实的过程中,先对软件系统进行了升级,将Windows NT 4.0升级成Windows 2000,性能有了一定的提高,但仍未解决问题。等来了内存以后,当即添加到各台接口服务器中,使邮储接口服务器达到512M,其他接口服务器256M。升级后马上恢复了瞬间响应速度,使每一笔业务的完成时间只取决于数据库的速度,而接口程序的执行时间可忽略不计。
  目前接口成批缴费的速度达到每小时7200次,其中每次的数据库操作约0.5秒,接口程序本身耗时不足0.01秒。

  9、第九次改造:增强对帐功能。
  银行代缴业务扩展到地方各县市之后,使各地能够方便地与银行对帐就成了重要的任务。为此,再次对接口系统进行改造,利用计费内部信息网服务器,开发出浏览器以Web方式控制银行自动对帐的CGI程序,并在接口程序中增加与信息网服务器通信的功能。这样,各地帐务人员可以用浏览器向信息网服务器发对帐请求,信息网服务器将请求转发给接口服务器,再由接口服务器发对帐请求到银行方(只有接口服务器与银行方连通)。对帐的结果又通过浏览器向信息网服务器查询。
  随后,又在信息网服务器上增加了绕过银行直接对帐的功能。该功能针对某些银行方接口程序无法自动取得银行方数据,或者无法取得正确数据的问题而设置,允许各地帐务人员将银行方通过其他途径获取的正确数据文件上传至信息网服务器,再转送到接口服务器进行对帐。

三、总结

  通过一次次的改造,银行代缴话费接口不断地完善,从原来功能单一、速度缓慢、频繁吊死的有缺陷模型,发展为功能较为完善、性能优良、稳定可靠、适应业务发展的实用系统,目前已承担了大部分缴费的任务。
  而另一方面,缴费接口横跨电信、银行的多个业务系统,又采用了复杂的中间件连接,使整个体系的复杂度相当高,任何一处的问题都会给业务造成影响。接口系统也就不可避免地受到电信、银行系统的制约,单纯的接口方面稳定和快捷是不够的,必须各方面的系统、中间件都能够紧密配合,才能体现出接口的稳定性和可靠性。目前在各个不同系统之间的磨合上仍然存在不少问题,MQ通信的中间件也不是很稳定,因此接口系统的改造仍需要与银行方、电信方的业务系统改造配合进行。

  银行代缴话费接口对于及时回收话费、提高缴费灵活性和方便性、减轻电信营业前台压力、提高业务自动化程度都发挥了重要作用。但有利也有弊,由于接口承担了大量业务处理,只要其中存在任何一个薄弱环节,转嫁过来的重担将对相关的业务人员构成很大的压力。一旦发生通信中断等故障,等于整个业务链断开,影响重大。
  为此,只要接口系统一天在运行,对它的维护和改造都不会停息。为了系统的稳定可靠,支撑起业务的正常运作,类似程序双备份、守护进程、灾难恢复之类的技术,将不断从试验转到实际应用中来。

龙之梦
2002.9.30

发表意见   相关搜索   返回主页   关闭窗口
相关文章:
  [合著] 虚拟社区——率性空间 [2007-04-10]
  [原创] 统计报表程序的算法优化 [2007-04-09]
  [原创] 绩效考核后台支撑系统 [2007-04-09]
  [原创] 利用计算机算法优化提高效益 [2007-04-08]
  [原创] 资源开发:电信计费内部信息网 [2007-04-08]
  [原创] 电信后台支撑系统自动监控报警装置 [2007-04-07]

最新留言:
  用雅典娜加密的网页可以解密吗 [2014-10-16]
  求教 [2014-10-16]
  评论:[原创] 更快、更高、更强——Super Prime超级质数机 [2014-06-04]
  评论:[软件下载] Super Prime超级质数机免费版下载 [2014-06-04]
  评论:留言阅读 [2013-12-08]
  开始尝试分析key文件 [2013-11-29]


从2005年3月18日起
访问本站页面计数器人次
版权所有 © 2005 龙之梦工作室,保留一切权利。
电子邮箱:master@28x28.com , co2288@126.com
相关链接 |