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