扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作为一个国际银行同业间非赢利的合作组织,SWIFT (Society for Worldwide Interbank Financial Telecommunication)以其低廉的价格为会员提供安全、快捷、标准化和自动化的通讯服务,银行间信息传递和处理通常在几秒内完成,
为银行的国际清算提供了非常好的平台,是否采用SWIFT网络及其标准已成为银行能否顺利对外交往的标志。目前SWIFT已被全世界180多个国家6800多家银行和金融机构采用。
被世界各地银行所广泛采用的SWIFT产品主要有SWIFTAlliance, SWIFTEntry和PC-Connect等,本文根据作者实际工作经验主要对基于 SWIFTAlliance的SWIFT系统,尤其是Alliance服务器的维护及疑难问题的解决进行一些探讨(本文以运行在RS6000上的 SWIFTAlliance系统为例)。
首先,由于SWIFTAlliance运行时要占用较大的工作空间,所以要经常查看 SWIFTAlliance系统中各个文件系统和可用paging space的大小,当“/alliance"文件系统,尤其是 paging space的空间使用率超过80%时,须做电文归档、日志文件归档并压缩Alliance的database。压缩之前须停止 Alliance系统的运行,然后通过Alliance 系统的窗口进入Xterm方式运行如下命令:
alliance_empty_log_trail -c "/var"文件系统主要是存储一些系统运转时生成的临时日志文件,Alliance系统运行时也需要有足够的空间。使用命令“df -v"检查文件系统空间使用情况时,若发现“/var"文件系统的可用空间不足,则必须对其进行手工清理。使用命令“>文件名”将日志文件等临时文件清空(不是删除)。一些增长较快的文件有:/var/adm/wtmp,/var/dce/svc,/var/spool/mail, /var/tmp/snmpd.log等。“/var"文件系统中其他一些临时日志文件,若增长的尺寸较大也应进行清理。
若执行backup时出现故障,backup的动作未完成,则会在/tmp目录下生成“Alliance.nnn"及“Alliance.tar.nnn" (其中nnn为数字)的子目录,该目录占用空间极大,属垃圾文件,应予以删除。
需要注意的是,“/alliance/rls/BBS/work"目录存放系统运行时产生的一些临时文件,当Alliance系统退出时,该目录下的文件会被自动删除,若Alliance系统掉电或不正常关机,则会形成垃圾文件。这时,可能无法通过Alliance系统中的“Message File"模块正常查询电文(查询时好时坏)。解决问题的步骤如下:
1.终止SWIFTAlliance与外界的通讯,并stop Alliance;
2.cd /alliance/rls/BBS/work(该目录可能有几百个文件);
3.使用tar命令将该目录下的文件进行备份(以防万一);
4.使用“rm *”删除该目录下的所有文件;
5.重新启动Alliance,查询恢复正常。
进行系统维护时,一般情况下应停止SWIFTAlliance的运行,或重新启动SWIFTAlliance,使其在Housekeeping模式下进行。在shutdown Alliance系统之前必须保证所有Message Partner的Session都已经完毕(此时所有Modem的指示灯处于待命状态),然后将所有Message Partner均disable或将所有Modem的电源关闭,最后才能停止Alliance的运行。若 Alliance shutdown的时候,还有Message Partner的通讯尚未中断,则在重新启动Alliance时,系统会出现错误(如提示MZJX的通讯连接出现一致性错误,其中ZJX表示浙江分行),系统无法启动。在这种情况下,只能与SWIFT支持中心的工程师一起,在线排除故障。支持中心的工程师会协助你进入“Bank Query"中将处于OPENING状态的Session关闭,使问题得以解决。
若下属结点的报文未及时收走,则该报文仍处于live状态,通过选择保留天数可以定位哪一天还有live报文,在“Message File"模块中执行 search命令可以查出具体是哪一个下属结点的报文,催促其将报文收走。有时明知该日有live报文,但search不出来,这有可能是下属结点以测试结点的身份(如PCBCCNB0)向正常营业结点(如PCBCCNBJ)发送报文,或反之。这时,可以先search该日所有报文,将搜索结果写入一个文件(如文件a),再search该日“completed"类报文,写入另一个文件(如文件b),通过执行“diff b a"命令可以查出隐藏的 live报文,将其删除。
另一类经常出现的故障与DCE(Distrbution Computing Environment) 有关,系统显示的错误信息中会出现DCE字样。例如,有一次将Alliance系统shutdown,重新启动时,Alliance系统提示如下错误(摘录其中一部分):
**** A L A R M ****
operating system error for system call Cannot perform endpoint map
operation (dce / rpc)
Error message number: 1040
Program: BS_csys, file: AIX/BS_csys_reg.c, line: 311, function:
BS_csys_reg
Context: rpc_ep_register
******************
**** A L A R M ****
server BS_csys has not been registered with the DCE
Error message number: 1039
Program: BS_csys, file: BS_csys.c, line: 493, function: main
******************
SWIFTAlliance failed to start (problem with BS_csys)
Completed:
Status = 1
对于与DCE有关的错误,一般情况下可以按如下步骤进行处理:
1.以超级用户登录系统;
2.执行命令“rmdce -o local rpc",成功后进行第3步;
3.以all_adm登录图形界面,在“SWIFTAlliance System Administrator"窗口中执行“OS Configuretion"菜单下的“DCE RPC"命令,对DCE进行重新配置;
4.启动Alliance,问题解决。
若下属结点采用PSTN与SWIFTAlliance服务器通讯,则正常情况下SWIFTAlliance运行时,连接在服务器上与下属结点通讯的 Modem其RS及CS灯亮。若RS灯不亮,则说明Modem不正常,进一步发现tty1设备被disable,在这种情况下,应先删去tty1再重建之。步骤如下:
1.以root登录;
2.执行“smitty tty"命令,进入“remove tty"菜单,将tty1删除(对于“keep definition in database"选项,选NO;
3.执行“smitty tty"命令,进入“add a tty"菜单,增加一个RS232异步类型的tty(“band rate"选4800);
4.退出root,启动Alliance;
5.在“Application Interface"模块中将tty1激活。
当下属结点PCC系统与SWIFTAlliance服务器建立通讯时,若PCC使用的session number与SWIFT服务器中的 session number对应不上,系统会提示 "corresponding in this Comm_id not found"通常情况下, SWIFT服务器在发现PCC的session number与自己的不一致时,会自动进行调整;若故障依旧,则需要手工调整。
方法一:
1.在SWIFTAlliance系统“Application Interface"模块中删除该下属结点的Message Partner;
2.对属于该Message Partner的所有报文进行归档;
3.在“Application Interface"模块中重新增加同名的Message Partner。
方法二:
在SWIFT支持中心工程师的联机协助下,使用SWIFTAlliance主控菜单中的“Bank Query"命令,对相关的session number进行调整。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者