關於如何提高銀行核心系統的業務連續性的幾點思路

fengzhanhai發表於2015-07-26

近年來隨著金融行業的改革和發展,城商行等股份制銀行的崛起,對這些區域性銀行的業務模式及業務的連續性提出了重大的挑戰。特別是隨著網際網路金融類公司的快速崛起、利率市場化及網商銀行的出現,對傳統的區域性銀行的業務模式、服務手段都提出了更高的要求。這就要求作為支援傳統金融行業的核心繫統,能夠快速變化、不斷完善,以應對頻繁變化的業務需求,與此同時還需要核心系統具備業務的連續執行能力。

而業務需求的快速變化又對核心系統提出瞭如下挑戰:

1) 業務型別及新的需求的不斷增加,加劇了對核心系統的頻繁更改,對核心系統的穩定性和連續性產生巨大的壓力;

2) 業務形態的多樣性導致核心系統必須具備7*24線上服務的能力,如網上銀行、手機銀行、微信銀行及直銷銀行等新應用系統的投產及融合;
    3)
業務型別的增加及業務的快速發展導致核心資料量的快速增長,資料量的增加加大核心批次視窗時間、發版難度及業務影響面。

以上這些挑戰都要求銀行核心資訊系統在不斷變化中,還要保持業務的連續性。根據監管政策的要求並隨著IT系統災難備份和業務可持續性設施的逐步建設、完善。因非計劃當機影響業務可持續性的機率正在逐漸降低而計劃內停機成為影響業務可持續性的關鍵因素。

透過調查研究發現目前核心應用系統的變更已經成為影響業務連續性的重要的因素。這也正是本文將要著重探討的一個話題:即如何減少因計劃內停機的時間來提高銀行業務系統的連續性。

透過對核心應用系統變更的過程進一步分析發現,大量的應用變更涉及到資料型別的更改,尤其是涉及表結構的更改、與資料庫聯機程式的重新繫結等工作,而資料庫表結構的變更在整個變更時間中佔據了最多的部分。所以如何透過最佳化減少資料庫操作中的時間,減少關鍵路徑上作業的執行時間,增加併發,減少衝突成為降低應用變更時間,提高業務可連續性的關鍵因素。

下面是我能想到的關於如何提高金融行業的IT系統業務連續性的幾點思路,以供參考,若有更好的建議和意見歡迎互動:

.表結構變更操作

DDL操作大多是應用變更的第一步,相關的資料遷移,程式繫結等等操作都基於 DDL 變更的完成,因此它是關鍵路徑上的關鍵一步。所以首先我們要設法提高DDL操作效率來切實保證業務系統的連續性,具體最佳化建議包括如下幾點:

1) 新建表提前發版,對於新加表在應用變更開始之前就提前建立。新建表與現有應用系統一般沒有關聯,因此不必佔用寶貴的變更視窗時間,可以提前建立完成;

2)24小時表先發程式後發表結構,對於24小時表結構變更可以嘗試先發程式後發表結構的方法而非按照既定模式先發表結構再發程式的方式以減少業務中斷時間;

3) 並行發版,將所有需要進行同步發版的各個線條的系統按照一定的原則,在不影響資料的完整性和一致性的前提下實施並行操作以提高並行度,減少因發版導致業務中斷的時間;

4) 索引延遲重建,在CREATE INDEX 時使用DEFER YES 的引數,建立完成後利用 REBUID INDEX utility 來實現INDEX的最終建立;

5) 使用alter table方式發版,因業務邏輯的問題銀行核心資料庫的表結構變更多采用重建表的方式變更表結構,這樣導致在資料庫發版過程中資料的備份與恢復資料佔用了大部分時間,所以可以探討不使用重建表的方式發版的可能性;

5)使用import方式恢復資料,當前核心使用insert into tabname select column from tabname_bak操作恢復變更後表的資料,基於現實情況可以嘗試核心資料庫變更時用import恢復資料的方式,來縮小因資料的恢復導致業務中斷的時間視窗。

. 資料遷移

資料備份和遷移是應用變更中另一比較耗時的步驟。加快其效能的建議主要有2點:

1) 透過開啟分割槽內的並行性執行BACKUP/UNLOAD/LOAD等作業,儘量提高它的並行度以減少資料備份和遷移的時間;

2) 透過使用DB2V10的新的資料遷移利器ingest加速資料的備份、遷移過程並保證遷移過程中系統的可用性、併發效能。

. 統計資訊更新、同步
資料遷移完成後,傳統的做法是執行runstats utility,收集資料分佈的相關資訊,然後bind packages。但當資料量比較大的時候,runstats執行的時間會變得非常漫長。
解決方法:事先將發版驗證系統中的統計資訊利用db2look工具備份後手工同步到生產系統中,以此節省掉runstats的時間,從而大大降低了因統計資訊更新而導致的業務中斷的時間,從而大約可以節省三分之一的發版時間。

. 靜態程式包的繫結

bind/rebind packages是新程式或變更程式投產前的最後一個步驟,bind/rebind的過程涉及到對catalogdirectoryplan table等多個系統表的讀取或更新,因此主要最佳化建議有如下2條:

1) 應用變更提前reorg plan_table, sysibm.syspackage等表以提高其讀取或更改時的效能;

2) 先bind/rebind聯機程式再bind/rebind批次程式。客戶業務開門營業往往指的是執行基於cics的聯機程式,因此可先bind/rebind聯機程式保證業務開門,來減少對正常業務的影響,提升使用者的體驗。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25723371/viewspace-1752018/,如需轉載,請註明出處,否則將追究法律責任。

相關文章