◆閆明明 王亞星 馬玉潔
商業(yè)銀行核心聯(lián)機交易開發(fā)技術的應用分析
◆閆明明 王亞星 馬玉潔
(山東省農(nóng)村信用社聯(lián)合社 山東 250001)
商業(yè)銀行在上世紀80年代末已經(jīng)使用IBM公司的核心系統(tǒng)CBOD,現(xiàn)如今全國多數(shù)農(nóng)村商業(yè)銀行的核心系統(tǒng)也在沿用CBOD。其中農(nóng)村商業(yè)銀行的大部分交易依賴的是核心聯(lián)機交易的開發(fā)。如何幫助商業(yè)銀行隨時代需求的變化使得系統(tǒng)運行效率大大提高,這就需要商業(yè)銀行金融科技人員對核心聯(lián)機交易開發(fā)技術不斷探索和研究,構建更創(chuàng)新、更完整、更靈活的核心聯(lián)機交易開發(fā)技術。而且在保證滿足商業(yè)銀行業(yè)務的發(fā)展、管理及內(nèi)控需要,在承接現(xiàn)有業(yè)務功能的基礎上,對部分功能進行優(yōu)化,這也需要對聯(lián)機交易技術科學合理地應用和研究分析。
商業(yè)銀行;CBOD;聯(lián)機交易開發(fā)技術
隨著金融科技的發(fā)展,客戶群體對新興銀行服務的需求的增加,對于現(xiàn)代商業(yè)銀行來說,構建更卓越的核心系統(tǒng),提升客戶辦理業(yè)務的體驗度,降低系統(tǒng)維護的難度和工作量是至關重要的。
農(nóng)村商業(yè)銀行的CBOD核心系統(tǒng)的聯(lián)機模塊主要分為五類:交易處理的主體模塊(TX),賬務處理模塊(KB),涉及數(shù)據(jù)處理和計算的不可包含賬務處理的共用函數(shù)模塊(CF),記賬銷記憑證等的通用業(yè)務處理模塊(AP SERVER),以及進行輸入流的重組、交易前處理、交易成功后處理、交易失敗后處理的主體程序之外的出口子程序模塊(EXIT ROUTING)。聯(lián)機程序的編碼結(jié)構一般包括主段名、交易初始化設定、輸入檢查、數(shù)據(jù)庫讀取、數(shù)據(jù)檢查、數(shù)據(jù)處理、輸出準備、賬務處理、交易結(jié)束處理。
核心應用聯(lián)機程序根據(jù)系統(tǒng)架構和模塊設計定位可分為三大類,第一類為聯(lián)機交易類,第一類為核心子程序類,第三類為聯(lián)機預約報表類程序。聯(lián)機交易從業(yè)務角度可分為賬務性交易,維護類交易,查詢類交易,聯(lián)機報表請求交易,從應用程序模式可分為一般聯(lián)機交易類,二段式聯(lián)機交易類,維護類聯(lián)機交易和多頁式查詢交易(如圖1)。
圖1 聯(lián)機交易分類
核心子程序可分為業(yè)務模塊KB(Knowledge Block)和公用函數(shù)CF(ComonFunction),KB一般為某種特定的業(yè)務功能,如銀行卡扣款,存款,活期扣款,存款,貸款發(fā)放,貸款還款等。因此KB是可以處理賬務的核心子程序,可以連動記會計分錄。CF是公用功能的集成,如對特定對象的查詢,如客戶信息查詢,匯率查詢,代碼表查詢;對特定對象及其操作,如中心額度功能集成,可用的功能有查詢,使用額度保留,保留沖回,使用沖回等。CF不能處理賬務,因此KB可以調(diào)用CF,CF不可調(diào)用KB,從應用模塊設計來看可將聯(lián)機交易,KB和CF自上而下的分為三層結(jié)構。
聯(lián)機預約報表類程序可分為報表數(shù)據(jù)檢查類程序和報表數(shù)據(jù)生成類程序。從聯(lián)機報表生成整個流程可分為報表請求,報表數(shù)據(jù)檢查和報表數(shù)據(jù)生成。報表請求可通過聯(lián)機交易完成。
聯(lián)機多筆交易大事務處理(TCCD):一個TUXEDO事物中包含多筆聯(lián)機交易處理過程,其所有交易的處理結(jié)果保持一致性, 即所有交易全部成功或任何一筆失敗導致全部失敗,在同一個數(shù)據(jù)庫事物中完成提交或回滾處理。采用TCCM模式可將多個后臺聯(lián)機交易按順序組成一個交易組,一次提交完成。
從柜面及各服務請求渠道的角度來分,又分為標準聯(lián)機服務和快速聯(lián)機服務。對于標準聯(lián)機服務將順序執(zhí)行聯(lián)機主控平臺內(nèi)的全部功能組件,處理來自柜面、各渠道的查詢類、維護類、賬務類服務請求;對于快速聯(lián)機服務則是簡化版的標準聯(lián)機服務,在聯(lián)機主控平臺的功能組件時,將簡化執(zhí)行部分功能組件,處理來自柜面、各渠道的查詢服務請求。
本文主要著重介紹商業(yè)銀行核心應用程序中常用的幾種聯(lián)機交易:
一般聯(lián)機交易即柜員在前端界面直接輸入交易所需要素,前端系統(tǒng)將此交易提交CBOD核心系統(tǒng)。一般聯(lián)機交易可以是非賬務性交易也可以是賬務性交易,典型應用為單筆查詢交易和單筆入賬交易(如活期存入)。對于賬務性交易與非賬務性交易的區(qū)別:一是需要記會計賬,二是需要支持沖正處理。
記會計賬是賬務性交易重要處理,該功能是通過連動核心平臺提供的三個AP SERVER完成。賬務性交易也可以通過調(diào)用KB組合完成記會計賬務處理。
在沖正處理中,核心平臺提供TX-LOG功能。TX-LOG主要功能是程序在正交易過程中將一些重要信息寫入TX-LOG,平臺將TX-LOG數(shù)據(jù)區(qū)記錄在流水中。在發(fā)生沖正交易時,平臺會將流水中TX-LOG區(qū)傳遞給應用程序完成沖正處理。
定義輸入流時,一般聯(lián)機交易定義子交易代碼為‘00’,外圍系統(tǒng)獲得的服務碼的格式為Gaabnnnn00,其中aa為子系統(tǒng)代號,b為序號,nnnn為4位交易代號。
柜員在交易之前需要查詢CBOD核心系統(tǒng)現(xiàn)有業(yè)務數(shù)據(jù)狀態(tài),再進行業(yè)務處理。因此二段式交易分成第一個交易為查詢,第二個交易為實際業(yè)務處理。典型應用為賬戶靜態(tài)資料維護和貸款還款。靜態(tài)資料維護需先查詢賬戶現(xiàn)在的資料情況再輸入新的資料。貸款還款需要先查詢賬戶應還本金和利息,再輸入實際還款本金和利息。
對于二段式交易,因在第二個交易發(fā)送CBOD核心系統(tǒng)前,需要柜員輸入交易要素,兩個交易之間有時間間隔,在此時間間隔中如發(fā)生其他柜員修改了該賬戶的信息,則會發(fā)生柜員在實際提交交易時,屏幕上數(shù)據(jù)已非數(shù)據(jù)庫現(xiàn)有狀態(tài)。系統(tǒng)需要通過特定機制來保證數(shù)據(jù)修改的正確性。
該機制需要前端系統(tǒng),CBOD核心系統(tǒng)平臺和CBOD核心系統(tǒng)應用三方協(xié)作完成。在第一個查詢交易時,應用程序修改數(shù)據(jù)庫的TIMESTAMP,并通知CBOD核心平臺將該TIMESTAMP發(fā)送給前端,前端收到此TIMETAMP 后在第二個交易發(fā)送時同步上送該IMESTAMP應用程序則將此TMESTAMP和數(shù)據(jù)庫中TIMESTAMP比較,如相等則表明在此時間間隔數(shù)據(jù)庫沒有發(fā)生任何變化,如不相等說明在此期間數(shù)據(jù)庫發(fā)生修改,此時程序報錯退出,需要柜員重新提交查詢。
定義輸入流時,二段式交易一般定義兩個子交易代碼,‘01’子交易代碼為查詢交易,‘02’子交易代碼為實際業(yè)務處理。
維護類交易一般分為四個功能,新增,查詢,修改和刪除,每個功能號對應一個子交易代碼。柜員在執(zhí)行修改和刪除時,前端系統(tǒng)自動發(fā)起查詢交易。先查詢,再執(zhí)行修改或刪除處理,該查詢?yōu)橛小靶薷囊鈭D的查詢”,前端需將修改意圖標志發(fā)送CBOD核心系統(tǒng),TIMESTAMP處理機制等同二段式查詢交易。單獨的查詢子交易是無修改意圖的查詢。
定義輸入流時,維護類聯(lián)機交易一般每個功能號對應一個子交易代碼,‘01’子交易代碼為新增功能,‘02’子交易代碼為查詢功能,‘03’為修改功能,‘04’為刪除功能。
多頁式查詢交易是查詢時輸出信息記錄條數(shù)太多,無法一次顯示,需要多屏并通過上翻和下翻來完成查詢。翻屏的實現(xiàn)需要前端,CBOD核心系統(tǒng)平臺和CBOD核心系統(tǒng)應用三方配合完成。多頁式查詢需要特別處理的是:一個是翻屏的控制處理,另一個是統(tǒng)計查詢記錄總條數(shù)和本頁條數(shù)。
翻屏實現(xiàn)方式是CBOD核心系統(tǒng)應用把每屏輸出記錄的START-KEY和END-KEY通過CBOD核心系統(tǒng)平臺發(fā)送給前端,前端將每頁的START-KEY和END-KEY記錄下來。當柜員上翻時,前端把上頁的START-KEY上送CBOD核心系統(tǒng),CBOD核心系統(tǒng)應用查詢大于等于START-KEY的記錄。當柜員下翻時,前端把當前頁END-KEY上送CBOD核心系統(tǒng),CBOD核心系統(tǒng)應用查詢大于END-KEY的記錄。在WORKING-STORAGE SECTION定義首次查詢和上下翻常量。
記錄條數(shù)統(tǒng)計是CBOD核心系統(tǒng)應用將計數(shù)器值發(fā)送給平臺SPA數(shù)據(jù)區(qū),平臺會把此數(shù)據(jù)保存到終端數(shù)據(jù),在下次上下翻查詢時,將此數(shù)據(jù)傳給CBOD核心系統(tǒng)應用程序。在WORKING-STORAGE SECTIO定義SPA區(qū)的當前頁記錄數(shù)和總記錄數(shù)。
查詢時滿頁記錄需比每頁記錄數(shù)多一條,即查詢時多查一條,以便于判斷本頁是否是最后一頁。把START-KEY,END-KEY,未頁標志通過CBOD 核心系統(tǒng)平臺發(fā)前端,如果OPM-PAGE-NO-DATA的值為0/ NULL,均表示還有下一頁;如果值為1,表示最后一頁。
本文對農(nóng)村商業(yè)銀行核心應用程序中常用的幾種聯(lián)機交易技術進行了詳細分析,這幾種交易機制嚴格遵循模塊的獨立性和原子性、數(shù)據(jù)改變的一致性和持續(xù)性、程序的可維護性和可讀性、低耦合可復用性等原則。農(nóng)村商業(yè)銀行核心系統(tǒng)的開發(fā)依賴于這幾種交易模式,所以對聯(lián)機交易開發(fā)技術發(fā)展的研究是從事金融業(yè)的科技工作者長期奮斗的課題。
[1]向紅.打造銀行全新“心臟”提升核心競爭能力[N].中國城鄉(xiāng)金融報,2012.
[2]程彥博.銀行應該更靈活[N].中國計算機報,2014.
[3]邢帆.核心銀行系統(tǒng)面臨轉(zhuǎn)型再突破[J].中國信息化,2014.
[4]劉爽.互聯(lián)網(wǎng)金融對商業(yè)銀行的沖擊及應對措施研究[J].現(xiàn)代經(jīng)濟信息,2016.
[5]竇婷婷.互聯(lián)網(wǎng)金融對傳統(tǒng)商業(yè)銀行業(yè)務的影響研究[J].中國管理信息化,2017.