孫楓
摘要:隨著我國經(jīng)濟金融的快速發(fā)展,社會公眾對人民幣現(xiàn)金的服務要求越來越高,給傳統(tǒng)的人民幣現(xiàn)金管理模式帶來了新的壓力和挑戰(zhàn)。目前,現(xiàn)金機具可在清分清點處理環(huán)節(jié)記錄人民幣字號碼信息,但這些信息不能在銀行業(yè)金融機構間共享利用。設計一套基于冠字號碼信息共享的人民幣現(xiàn)金流通管理系統(tǒng),實現(xiàn)信息標準規(guī)范化、信息交換自動化、資源共享最大化,對提升人民銀行現(xiàn)金管理水平有重要意義。該系統(tǒng)設計為典型的J2EE三層架構,表現(xiàn)層采用JSP技術,方便地實現(xiàn)頁面表示;業(yè)務邏輯層采用輕量級Spring框架,充分利用Spring的開發(fā)效率高、易測試維護和應用服務可移植性等優(yōu)點;數(shù)據(jù)訪問層采用Mybatis持久層框架,程序員可靈活編輯SQL語句操作數(shù)據(jù)庫?;贘2EE的輕量型開發(fā)架構能簡化系統(tǒng)中的組件,使系統(tǒng)擴展更加簡單。
關鍵詞:現(xiàn)金流通;架構;系統(tǒng)設計
中圖分類號:TP315 文獻標識碼:A
文章編號:1009-3044(2019)09-0082-02
1 人民幣冠字號碼管理現(xiàn)狀
人民幣冠字號碼是人民幣的身份證,目前,商業(yè)銀行的點鈔機、清分機、自助機具均具備了冠字號碼記錄功能,一方面可以確認清分責任,嚴禁對外付出不宜流通人民幣;另一方面可以解決金融機構假幣糾紛舉證難題。由于信息不共享,各商業(yè)銀行記錄的冠字號碼信息成為一個個的信息孤島,商業(yè)銀行從人民銀行取出已清分現(xiàn)金需重復清分,且人民銀行無法掌握現(xiàn)金流向,大大降低了工作效率和質量。為實現(xiàn)清分信息共享的核心功能,使冠字號碼信息流與實物同步流轉,解決重復清分和手工管理現(xiàn)金無序化、效率低下等問題,亟待設計開發(fā)一套人民幣現(xiàn)金流通管理系統(tǒng)。該系統(tǒng)運用物聯(lián)網(wǎng)RFID溯源和數(shù)據(jù)分析技術,實現(xiàn)現(xiàn)金的全過程跟蹤,做到事前預防、事中控制、事后追溯,防范現(xiàn)金管理風險。
2 人民幣現(xiàn)金流通管理系統(tǒng)的架構設計
系統(tǒng)設計過程中,要始終把握查詢準確方便、存儲數(shù)據(jù)安全可靠、良好的設計界面幾個原則。金融系統(tǒng)多年來一直較重視信息技術的發(fā)展,金融城域網(wǎng)已經(jīng)實施??紤]到商業(yè)銀行網(wǎng)點眾多,軟件系統(tǒng)的改進和升級工作量較大,使用B/S架構能使維護和升級相對簡單,只需對服務器進行升級和維護即可;雖然服務器的負擔加重,但商業(yè)銀行總體成本是下降的,因此首先考慮B/S架構體系。人民銀行和商業(yè)銀行均部署相應的服務器,并通過web service進行交互。在系統(tǒng)的軟件平臺上,我們使用JAVA語言基于Eclipse進行開發(fā),JAVA語言的平臺兼容性,可以讓數(shù)據(jù)在整個系統(tǒng)安全、有效地流動。整體架構設計采用Struts+Sping+Mybitis,用以構建簡潔、靈活、可擴展性與易維護性的多層應用系統(tǒng)。
3 人民幣現(xiàn)金流通管理系統(tǒng)的實現(xiàn)設計
Struts+Sping+Mybitis基于典型的分層架構,主要分為表現(xiàn)層、業(yè)務邏輯層、數(shù)據(jù)訪問層[1]。
2)業(yè)務邏輯層,主要針對具體問題的操作,即負責處理系統(tǒng)中的各類業(yè)務邏輯,是系統(tǒng)架構的核心,具體包含業(yè)務規(guī)則的制定、業(yè)務流程的實現(xiàn)等與業(yè)務需求有關的設計。應用軟件可通過邏輯單元的封裝,使代碼更加清晰明了,從而提高軟件的可靠性和穩(wěn)定性。業(yè)務邏輯層的核心是在數(shù)據(jù)交換中起承上啟下的作用,因此業(yè)務邏輯層的有效設計有利于架構的后期擴展[3]。在后臺開發(fā)中,我們遵循面向接口設計的思想,采用分層的辦法,自頂向下依次為controller層,service接口層,service實現(xiàn)層,DAO層,數(shù)據(jù)持久層,這五層自頂向下依次調用,實現(xiàn)依賴關系的解耦。除此之外,為了保證該層對事物能夠進行很好的控制,我們充分利用了Spring容器本身的特點,通過配置文件的方式來達到這一目的,充分發(fā)揮了Spring開發(fā)效率高、易測試維護和應用服務可移植性等優(yōu)點。
3)數(shù)據(jù)訪問層,設計中我們使用Mybatis作為持久層框架,Mybitis消除了幾乎所有的JDBC代碼和參數(shù),通過手動配置和對檢索結果集的封裝,即可將POJO類映射成數(shù)據(jù)庫中的記錄??紤]到每張人民幣都要生成一條冠字號碼信息,數(shù)據(jù)量無疑很大,數(shù)據(jù)庫的負載必須進行考慮。數(shù)據(jù)連接池技術能避免頻繁創(chuàng)建和釋放連接,通過資源重用減少系統(tǒng)消耗,使響應速度更快。商業(yè)銀行每天清分現(xiàn)金的次數(shù)較多,清分機具生成的冠字號碼按時間段或業(yè)務筆數(shù)分別生成規(guī)范的FSN文件,如果頻繁創(chuàng)建和釋放連接,必然導致服務器性能的下降。因此,在系統(tǒng)初始化的時候,將數(shù)據(jù)庫連接作為對象存儲在內存中,用戶讀取數(shù)據(jù)庫時都是對連接池進行操作,可有效降低資源的消耗。另一方面,通過高速緩存技術,對某些固定的數(shù)據(jù)庫查詢結果,如日期、金融機構編碼、面額、券別、版別進行緩存,以加快數(shù)據(jù)庫的訪問速度,優(yōu)化服務器的性能。
該架構充分體現(xiàn)了"低耦合,高內聚"的特點,采用面向抽象編程。即上層對下層的調用,是通過接口實現(xiàn)的。而下層對上層的真正服務提供者,是下層接口的實現(xiàn)類。服務標準(接口)是相同的,服務提供者(實現(xiàn)類)可以更換[4],從而降低各層間的耦合度,實現(xiàn)代碼的健壯性和可擴展性??偟膩碚f,該架構充分體現(xiàn)了Spring的高開發(fā)效率、易測試維護性及應用服務的可移植性等優(yōu)點,同時也能體現(xiàn)出該系統(tǒng)的可擴展性與靈活性,達到了項目的預期目標。
4 結束語
人民幣現(xiàn)金流通管理系統(tǒng)采用更注重架構靈活性和擴展性的輕量級J2EE開發(fā),能夠靈活地整合前沿技術,有利于系統(tǒng)的開發(fā)、維護和擴展。但仍然有值得改進的地方。首先,在用戶界面定制方面,我們希望通過不斷的實踐,加強其靈活性,盡可能把可供選擇的字段擴大到整個數(shù)據(jù)庫。再次,各銀行網(wǎng)點數(shù)量的增加,將使服務器性能不斷下降,今后將通過分布式服務器架構及更多技術進行優(yōu)化。
參考文獻:
[1] 蔡淑波.三層體系結構在油田軟件開發(fā)中的應用[J].電腦編程技巧與維護,2010(22).
[2] 溫文,王燕敏,牛國富, 等.基于WPF三層架構的油氣管輸價格管理系統(tǒng)的開發(fā)與應用[J].科技和產(chǎn)業(yè),2017(10).
[3] 錢建裕.基于MVC的公交車輛信息管理系統(tǒng)的設計與實現(xiàn)[D].廈門:廈門大學,2017.
[4] 張艷華,鄭杰.論多層分布式系統(tǒng)的開發(fā)[J].成才之路,2007(31).
【通聯(lián)編輯:謝媛媛】