基于CNAPS的流水号管理方法

你的位置:首页 >> 计算机论文 >> 计算机通信论文 >> 新闻正文
基于CNAPS的流水号管理方法

四川大学计算机科学系  黄丽娟

摘 要:中国国家现代化支付交易清算系统(China National Automation Payment System),简称CNAPS,是中国人民银行在世界银行贷款支持下正在建设中的中央银行支付系统,该系统的主要功能是对各商业银行的资金进行最终的清算。文章分析了目前CNAPS系统可靠性,响应时间等方面的一些不完善之处,介绍了改善系统可靠性,缩短系统响应时间的方法,即流水号管理。

关键词:CNAPS SB分行系统 资金清算 流水号 套接口

商业银行(Special Bank)之间的资金收、付交易,必须经过政府授权的中央银行进行资金清算,以发挥中央银行的宏观调控功能,从而稳定货币、稳定市场。CNAPS系统即是由各级中央银行组成, 因此SB分行系统必须和CNAPS系统通信,通过CNAPS系统完成资金的最终清算。CNAPS系统的可靠、有效运行,将关系到企业、个人的资金是否实现有效、及时、可靠的转移,对维护和健全银行体系,完善金融市场是至关重要的。

CNAPS系统中数据的传送是全双工的。一方面是CNAPS向SB发送信息或文件;另一方面SB也向CNAPS发送信息或文件。以下着重分析CNAPS向SB发送信息或文件时的情况,SB向CNAPS发送信息或文件时的情况与此类似。

1 目前CNAPS系统的一些不完善之处

目前在CNAPS向SB发送信息或文件的路径上存在以下不足之处:接收端不能得到独立的信息或文件;文件请求响应时间过长;传输层能提供的可靠性有限。

1) 不能得到独立的信息和文件

两个应用程序通过TCP连接交换8bit字节构成的字节流。TCP不在字节流中插入记录标识符。我们将这称为字节流服务(byte stream service)。如果一方的应用程序先传10字节,又传20字节,再传50字节,连接的另一方将无法了解发方每次发送了多少字节。收方可以分4次接收这80个字节,每次接收20个字节。一端将字节流放到TCP连接上,同样的字节流将出现在TCP连接的另一端。TCP对字节流的内容不作任何解释。对字节流的解释由TCP连接双方的应用层解释。当CNAPS向SB发送信息或文件时,SB得到的只是无记录标识的字节流,而无法还原出独立的信息或文件。

2)文件请求响应时间过长

在CNAPS系统中,SB作为客户机,CNAPS作为服务器运行,客户是指主动发起通信请求的应用程序,而服务器是被动等待接收通信请求的应用程序。所以在CNAPS向SB发送信息或文件的路径上,CNAPS不会主动向SB发送信息或文件,它必须首先收到SB的请求。

在CNAPS向SB发送信息或文件的路径上,SB向CNAPS发出信息或文件请求的同时启动一个定时器,当定时器超时(仍未接收到正确的信息或文件)SB则认为这个请求丢失或损伤因而进行重传。当CNAPS与SB传送的数据单元是文件时,由于文件数据量很大,正常情况下都要经过很长的时延才能从CNAPS端全部传送到SB端, 因此定时器的时间应设置为比较大的值,SB往往要等待很长的时间才能判断是否重发请求,SB的响应时间很长。特别是当CNAPS发送的文件有一小部分出错,SB端TCP检查到效验和出错时就会抛弃整个文件,接着SB定时器超时,SB重发请求,CNAPS再次重发整个文件,SB从发出第一次请求开始,需要经历很长的时间才能接收到完全正确的文件。

3)传输层能提供的可靠性是有限的

CNAPS系统的传输层采用的是TCP传输控制协议,理论上TCP协议是可靠的,然而实际的传输服务并非毫无错误,但在不可靠的网络之上提供可靠的服务正是传输层要实现的目标。

传输层是增强网络层提供的服务质量,它必须弥补应用层用户要求与网络层所提供的服务之间的差别。用户在建立连接时对各种服务参数(如残余误码率)指定希望的、可接受的最低限度的值,传输层根据网络服务的种类或它能够获得的服务来检查这些参数,决定能否提供所要求的服务。当传输层发现服务质量参数的某些值是无法到达的,传输层甚至不去与目的机器连接,便直接通知应用层连接请求失败。因此传输层能提供的可靠性是有限的。

2 CNAPS系统性能改善方法--流水号管理

改进了的CNAPS系统在CNAPS发送信息或文件的路径上都增加了流水号管理的通信处理机制,进一步增强CNAPS系统可靠性,并缩短了文件请求/发送的响应时间。

一、 对接收方信息或文件不能独立和文件请求响应时间过长的解决

在CNAPS发送信息或文件的路径上,发送数据在CNAPS端,为保证SB端接收到独立的信息或文件,通信上采用SB请求一次,CNAPS发送一次的办法。

CNAPS给它生成的每个信息分配一个流水号,以标识该信息在CNAPS数据流中的位置。通信上SB请求一个流水号,CNAPS才发送流水号为对应值的信息。这样各个信息就能分开。

在CNAPS向SB发送信息路径上流水号的处理过程可分成三步:

1)当系统开始,链路建立后SB向CNAPS发初始化流水号请求,随后CNAPS向SB发送初始化流水号回答,把SB的流水号初始化为0。不是系统开始,如出现故障链路断开再次建立,链路建立后SB会向CNAPS发证实流水号请求,如CNAPS判断SB的流水正确,CNAPS会发出证实流水号回答。

2)接着SB开始不断地向CNAPS发送信息请求并从CNAPS接收信息,直到接收到CNAPS端无信息发送电文为止。当SB端接收到CNAPS的无信息发送电文,隔一段时间,SB又会向CNAPS发送信息请求。

3)当一天结束时,SB端会向CNAPS发送一个结束流水号请求,当SB接收到CNAPS的结束流水号回答后,SB断开链路。

证实流水号请求和证实流水号回答(或初始化流水号请求和初始化流水号回答)这两个步骤称为流水号同步,通过流水号同步,SB可以知道已经接收到CNAPS发送数据流的什么位置。(这类似于TCP的三步握手)。在TCP的三步握手协议中,因为数据传输是双向的,所以要完成客户和服务器的同步需要三个步骤。在CNAPS系统中,CNAPS发送信息路径上数据是由CNAPS向SB端单向传输,因此在该路径上CNAPS和SB的流水号同步只需两个步骤。

下面是日初系统开始时, CNAPS向SB发送信息路径上,CNAPS端有2个未发送信息时流水号的处理过程(文件接收路径上流水号的处理过程与此类似):

    CNAPS(日初流水号初始化为0)                 SB(流水号为上日终止时的

此新闻共有2页 上一页 1 2 下一页

编辑: 作者: 来源:
 
请记住中国最大的免费论文站 chinese163论文库 域名:www.chinese163.com/lunwen/
相关联接        
·Developer/2000中的Forms参数及应用Developer/2000中的Forms参数及应用Developer/2000中的Forms参数及应用
·基于Intranet的储粮测控与粮情分析推理系统的设计与实现
·PowerBuilder和MapInfo的集成开发技术
·实现桌面地理信息系统ArcView和VB5应用程序之间的通讯
·基于耦合度的分布问题研究
 
 

论文分类
经济管理类论文
经济学 财政税收
金融证券 会计论文
统计学 国际贸易
工商管理论文 市场营销
人力资源 公共管理
文秘 保险学
旅游管理 本类其它论文
工学类论文
建筑 机械
电子工程 化工
材料工程 信息化工程
交通 电力
水利 其它工学论文
社会艺术类论文
政治 军事
档案管理  
心理学  
新闻传播 法律论文
哲学 其它社会学
文学 艺术
计算机论文
网络技术 计算机通信
电子商务论文 其它计算机
电信  
理学论文
数学 物理学
化学 生物学
地理地质学 天文学
环境学 其它理学
农/林学 动物学
中医学 西医学
语言教育论文
语言学 汉语
英语 日语
德育 历史
体育 教育体制
语文教育 职业教育
素质教育 其它教学论文
实用文献资料
调查报告 个人简历
求职信 其它申请书
调查报告 工作报告
实习报告 其它报告
入党申请书 毕业论文
   
Copyright © 2002-2004 www.chinese163.com Inc. All rights reserved. chinese163论文库 版权所有