前言:尋找寫作靈感?中文期刊網用心挑選的金融扶貧統計名錄系統設計優化,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:
金融精準扶貧工作是我國扶貧工作的重要一環,但由于金融機構無法較好匹配扶貧信息,致使無法高效執行金融定向扶貧要求,最終的工作成效也無法統計。為此,人民銀行總行根據需求下發了建檔立卡貧困戶數據的要求,但因數據量巨大、金融機構應用能力有限等因素,仍未能達到快速提升工作金融扶貧實效。在此背景下建設的金融精準扶貧統計名錄查詢系統能夠有針對性地提供數據檢索服務,提高工作效率。本文以該項目為例,重點討論系統開發的背景以及數據應用難題,從信息安全性設計、批量查詢隊列設計兩方面對系統構架進行分析,并闡述了“雙億查詢”優化工程。系統在南京轄區得到廣泛應用,效果良好。
關鍵詞:
精準扶貧;系統構架;查詢優化
一、研究背景
金融精準扶貧主要是通過政府的政策引導,充分發揮金融市場中介作用,利用信貸、保險等多樣化金融手段提高貧困地區的發展以及自力更生能力。為落實國家精準扶貧的工作要求,人民銀行總行制定下發了《中國人民銀行關于建立金融精準扶貧貸款專項統計制度的通知》。該通知要求銀行業各金融機構按時進行金融扶貧相關數據報送,要較好完成相關工作,能夠利用統一的扶貧戶數據進行精準的貧困戶認定。貧困戶數據精準匹配存在三大難點。一是人口流動大。由于城市與農村之間、不同地區之間發展不平衡造成貧困人口的地區性流動,如東部沿海、京津翼、長三角、珠三角等地區,民營經濟發達、中小企業較多,這些企業雇傭大量外來務工人員,與企業有業務關系的商業銀行不能有效識別其中的貧困人口,導致金融精準扶貧貸款的統計數據不準確。二是銀行識別能力有限。大中型商業銀行在貧困戶認定方面具有一定優勢,但大部分小型商業銀行由于所處地區和自身條件的原因,在貧困戶認定方面存在嚴重不足。如小型銀行僅能與當地扶貧辦聯系,獲取貧困戶信息有限。三是貧困數據具有動態性。國務院扶貧辦為了確保扶持對象精準,對于建檔立卡貧困戶、貧困地區等基礎信息實行有進有出的動態管理,基礎信息逐年變化,數據的內容和格式變化較為頻繁。為了解決上述難題,人民銀行總行每年統一下發由國務院扶貧辦提供的全國建檔立卡貧困戶數據。
二、數據應用難題
人民銀行總行將建檔立卡貧困戶數據下發后,按照計劃由各金融機構進行數據應用。但該數據是以省為單位,按地區進行分類,不利于跨省跨地區查詢使用。除此之外還有很多數據應用難題。
(一)信息泄露的風險
國務院扶貧辦公室提供的建檔立卡貧困戶的全國數據合計近9000萬條,數據包括貧困戶的住址、姓名、身份證號碼、家庭成員等個人隱私信息。根據國家相關法律及扶貧辦的要求,貧困戶個人信息須嚴格保密和妥善保管,不得以任何形式向社會公開。全國共有銀行業法人金融機構4000多家,直接把全國數據下發至各個法人金融機構,會造成該項信息安全工作不可控。一旦貧困戶信息泄露,可能給相關個人帶來嚴重的負面影響。
(二)數據不一致的風險
金融扶貧貸款享受利率優惠、財政貼息等優惠條件,可能存在金融機構為利率優惠和財政貼息,而虛假增加或修改建檔立卡貧困戶數據的違規行為,導致貧困戶數據不一致。另外,使用過程中產生的誤操作也可能導致數據出錯、異常等,最終導致各類數據匹配錯誤、貧困戶認定困難、統計分析異常等問題。
(三)數據應用能力不足
全國建檔立卡貧困戶數據文本文件近14G,小型商業銀行技術力量薄弱,如依靠手工打開數據文件進行操作極易造成死機、文件損壞等問題。在進行身份證號碼、貧困戶號查詢時,也無法快速定位多條相關貧困信息,準確性較差且耗費時間長,很難到達銀行業日常工作的基本效率要求。
三、系統構架設計
為避免數據應用難題,更好地實現數據“落地”,人民銀行南京分行進行應用系統的開發嘗試。系統技術選型主要為采用Java語言、DB2數據庫進行開發。需要注意的是,系統未使用新型計算機技術,如大數據等技術。應用Hadoop等技術確實能夠實現更多數據、更快速的準實時數據查詢,但作為單個應用新建平臺成本太高。使用新技術所需時間較長、能力要求較高、風險較大,因此系統仍使用傳統的關系型數據庫(RelationalDatabaseManagementSystem,RDBMS)技術進行開發。另外由于該系統數據應用的特殊性,在進行系統構架設計時也須考慮一些細節,主要內容如下:
(一)信息安全性設計
系統計劃使用對象為人民銀行南京分行轄區大部分中小銀行機構,由于所涉用戶較多、貧困戶數據管理要求較高,所以系統安全性尤為重要。系統因此在安全性上做了大量的設計,綜合應用了一些安全技術,如對用戶輸入內容進行記錄;對輸入內容進行特殊字符效驗、空字符處理、超長字符串處理等;對用戶輸入內容查詢結果所對應的輸入值進行記錄等。
(二)批量查詢隊列設計
系統按查詢依據分類有身份證號與戶編號模糊查詢,按查詢方式分類有實時查詢與批量查詢兩種方式。批量查詢通過上傳指定格式的查詢文本文件方式進行,能夠實現實時處理百萬條記錄,該功能使用多線程及線程池技術,并設計簡易的隊列實現查詢的并行與管理。Java線程池有4種方式處理線程:可緩存線程池(newCachedThreadPool)、定長線程池(newFixedThreadPool)、周期性線程池(newScheduledThreadPool)、單線程線程池(newSingleThreadExecutor)??紤]到系統所部署虛擬機與數據庫性能因素,系統使用定長線程池方式調度線程,每個線程獨立進行業務查詢。查詢隊列主要依據數據庫相關表,該表主要包括記錄生成時間、狀態位、查詢文本文件地址、查詢開始時間、排序等。表中重要字段有:查詢地址記錄了服務器上傳查詢文本文件的相對地址;自定義狀態位字段,用作區分該記錄所對應查詢內容查詢狀態,主要區分錄入、查詢中、查詢完畢、異常4種狀態。相關模塊主要有兩個:查詢模塊,包括查詢業務功能和相關系統功能;異常處理模塊,主要對線程池異常進行監控和處理。業務處理主要由查詢模塊負責,主要業務流程為:首先通過查詢文本地址字段獲取查詢文本文件,再通過專用的效驗功能對文本文件內容進行效驗,確保輸入的安全性,最后對數據進行檢索及數據組裝并完成結果輸出。查詢模塊除完成業務處理外,也包括部分系統功能,主要有線程池管理及狀態位維護,狀態位維護主要由線程池中線程進行維護,如遇到線程池異常則由異常處理模塊重置狀態位。為確保整個線程池不會因阻塞等異常造成程序長時間無響應,系統使用定時器方式每小時執行一次對數據庫隊列表的檢查,如發現單條數據查詢超過一小時則強制重啟線程池、線程并清理異常結果、重置狀態位等。通過線程池及異常處理模塊兩層管理確保系統運行穩定。詳細隊列管理相關構架如圖2所示。
四、“雙億查詢”優化
人民銀行總行相關領導在關注該項目開發工作后,對業務提出一些新的要求。業務部門根據要求提出查詢“雙億”概念,即系統能夠在原始數據上億條、批量查詢上億條的情況下穩定運行。根據測試發現原有系統構架無法較好滿足系統要求,易出現超長等待、隊列頻繁假死等情況,需要對系統進行深度優化和重新設計。“雙億查詢”優化工作主要分為業務優化與構架優化兩個層次:業務優化將批量查詢設計為T+1模式,查詢文本文件上傳后系統夜間進行解析、查詢并形成結果,用戶可以第二天查看查詢結果;構架優化則將部分后臺查詢徹底與網站分離。使用Windows定時任務夜間調用批處理程序,首先使用獨立運行的程序對指定網站上傳目錄進行檢測,如存在查詢文本文件則逐個讀取并進行數據效驗,其次通過批處理直接調用DB2的命令,將查詢文本文件直接導入數據庫臨時表中,再次對臨時表中數據與建檔立卡貧困戶數據進行交叉對比,最后將查詢結果導出網站指定目錄形成最終結果。數據導入、關鍵數據查詢完全通過調用DB2命令進行處理,極大提高數據查詢效率。在此過程中通過批處理、后臺專用程序完成文本文件附加信息,如零結果反饋、查詢完成時間反饋、異常結果反饋、日志記錄等工作。
五、結論
金融精準扶貧統計名錄查詢系統符合人民銀行總行統一下發的建檔立卡貧困戶數據要求,通過較為合理的系統構架設計,在保證數據安全的前提下,較好地實現對身份證號碼、貧困戶號的實時查詢。有效結合業務構架、系統構架、數據庫等多層次的優化,挖掘傳統數據庫性能,最終實現難度較高的“雙億查詢”需求。系統通過細化日志功能、用戶管理等輔助模塊,最終完成業務需求。系統在人民銀行南京分行轄區得到了廣泛的應用,有效提高了建檔立卡貧困戶數據應用的有效性,提高了轄區金融精準扶貧工作。.
作者:駱慧勇 單位:中國人民銀行泰州市中心支行
參考文獻:
[1]徐云松.金融精準扶貧問題的調查與思考[J].金融理論與教學,2016(3):1-9.
[2]黃承偉,葉韜,賴力.扶貧模式創新——精準扶貧:理論研究與貴州實踐[J].貴州社會科學,2016(10):4-11.
[3]陳麗,王銳.基于Hadoop的信令詳單實時查詢平臺構建方法[J].電信科學,2015(7):145-151.
[4]張華強.關系型數據庫與NoSQL數據庫[J].電腦知識與技術,2011(20):4802-4804.
[5]劉文,王標,王丁.基于Java線程池技術的數據爬蟲設計與實現[J].電腦編程技巧與維護,2016(7):8-9.