System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及一種表格文件多線程導入方法及系統、導出方法及系統,屬于數據共享。
技術介紹
1、隨著金融市場的放開,銀行發展迅猛業務不斷增加,系統也越來越龐雜,因此多種系統之間也產生了孤島,且銀行系統報表種類多樣、數據量大、實時性要求強,目前對于各系統之間大量報表處理,只能依靠業務人員手工處理,人工識別錄入不僅效率低下,費時費力,處理速度慢,而且有時由于人工長時間的審閱疲勞,或者疏忽大意,還會導致錯誤發生。
技術實現思路
1、本專利技術的目的是提供一種表格文件多線程導入方法及系統、導出方法及系統,用以解決采用人工方式進行報表數據導入導出時容易產生數據處理效率低和錯誤率高的問題。
2、為實現上述目的,本專利技術所提供的技術方案和相應方案的有益效果包括:
3、本專利技術的一種表格文件多線程導入方法,包括如下步驟:
4、1)根據配置文件中定義的線程池參數創建線程池,基于java反射原理并利用創建的線程池采用多線程方式讀取需導入的文件數據,讀取的同時對其進行校驗;
5、2)基于java反射原理并利用創建的線程池采用多線程方式將校驗通過的文件數據插入到所要導入的數據表中并輸出導入結果。
6、上述方案的有益效果為:區別于傳統簡單的表格文件數據導入方法,使用多線程進行文件數據導入時,先基于java反射原理在讀取文件的同時進行校驗,再基于java反射原理并利用多線程將讀取的文件數據寫入到對應的數據表中,以提高數據導入效率,降低數據導入錯誤率
7、作為方法的進一步改進:所述校驗包括文件格式校驗和標題校驗,文件格式校驗和標題校驗均通過時表明校驗通過;所述文件格式校驗用于以篩選出表格文件;所述標題校驗為將基于java反射原理獲取的第一行標題數據和基于java注解原理獲取的注解進行比較,且比較結果為一致時判定為標題校驗通過。
8、上述方案的有益效果為:導入文件進行校驗時,先進行文件格式校驗,篩選出表格文件,之后再進行標題校驗,篩選出導入標題的表格文件,提高導入準確定與效率。
9、作為方法的進一步改進:在將校驗通過的文件數據插入到所要導入的數據表中時,需判斷當前校驗通過的文件數據與當前數據表中是否存在相同數據:若存在相同數據,則所述當前校驗通過的文件數據不再進行后續操作;若不存在相同數據,則對所述當前校驗通過的文件數據進行字段長度和空值校驗,校驗通過后插入到所要導入的數據表中。
10、上述方案的有益效果為:數據表中可能存在與當前文件讀取數據完全相同的數據,所以還需進行相同數據判斷,對于數據表中已有的數據不再進行下一步操作,以減少重復數據插入,提高系統效率。同時對于判斷沒有重復的數據進行字段長度與空值校驗,確保寫表數據的準確性。
11、作為方法的進一步改進:插入到所要導入的數據表后還需進行去重處理。
12、上述方案的有益效果為:將讀取的文件數據插入到所要導入的數據表后,還需對數據表進行去重處理,以確保寫表數據的唯一性,防止記表時出現重復鍵值錯誤導致進程中斷。
13、作為方法的進一步改進:采用多線程方式讀取需導入的文件數據和將校驗通過的文件數據插入到所要導入的數據表中時,若線程池中存在等待隊列,則繼續利用多線程讀取需導入的文件數據和將校驗通過的文件數據插入到所要導入的數據表中,直至線程池中無等待隊列后關閉線程池。
14、上述方案的有益效果為:采用基于固定線程池的多線程方法進行表格文件數據的插入,提高數據寫表的效率。
15、本專利技術的一種表格文件多線程導出方法,包括如下步驟:
16、a.根據配置文件中定義的線程池參數創建線程池,通過對數據表進行多線程查詢得到導出數據;
17、b.對導出數據進行分頁并對每頁數據進行多線程讀取;
18、c.基于java反射原理將多線程讀取的數據寫入新生成的空白表格文件并最終生成相應的數據報表。
19、上述方案的有益效果為:區別于傳統簡單的表格文件數據導入方法,使用多線程進行文件數據導出時,先依據查詢條件基于java反射調用邏輯層查詢方法進行多線程分頁查詢數據表并匯總得到所有結果數據,再基于java反射多線程讀取查詢所得數據并寫入空白表格文件,向前臺輸出文件流,供用戶下載,提高數據導出效率,降低數據導出錯誤率。
20、作為方法的進一步改進:在基于java反射原理將多線程讀取的數據寫入新生成的空白表格文件時,若寫入失敗,則得到數據寫入表格失敗的報錯信息并關閉線程池,否則進行頁內數據是否讀取結束判斷。
21、上述方案的有益效果為:通過對多線程讀取數據成功失敗進行判斷,可以較直觀的展示導出結果及其錯誤原因,以便相關人員對導入結果及時分析。
22、作為方法的進一步改進:所述頁內數據讀取是否結束判斷為,若頁內數據讀取結束且等待隊列中無未執行線程,則關閉線程池,結束多線程數據導出流程;否則繼續進行頁內數據讀取或多線程讀取每頁數據。
23、上述方案的有益效果為:通過對線程池進行判斷,判斷線程池中是否還存在未執行的線程,避免數據讀取遺留。
24、本專利技術的一種表格文件多線程導入系統,包括存儲器和處理器,所述處理器用于執行存儲在存儲器中的計算機程序指令以實現上述所述的表格文件多線程導入方法。
25、本專利技術的一種表格文件多線程導出系統,其特征在于,包括存儲器和處理器,所述處理器用于執行存儲在存儲器中的計算機程序指令以實現上述所述的表格文件多線程導出方法。
本文檔來自技高網...【技術保護點】
1.一種表格文件多線程導入方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的表格文件多線程導入方法,其特征在于,所述校驗包括文件格式校驗和標題校驗,文件格式校驗和標題校驗均通過時表明校驗通過;所述文件格式校驗用于以篩選出表格文件;所述標題校驗為將基于Java反射原理獲取的第一行標題數據和基于Java注解原理獲取的注解進行比較,且比較結果為一致時判定為標題校驗通過。
3.根據權利要求1所述的表格文件多線程導入方法,其特征在于,在將校驗通過的文件數據插入到所要導入的數據表中時,需判斷當前校驗通過的文件數據與當前數據表中是否存在相同數據:若存在相同數據,則所述當前校驗通過的文件數據不再進行后續操作;若不存在相同數據,則對所述當前校驗通過的文件數據進行字段長度和空值校驗,校驗通過后插入到所要導入的數據表中。
4.根據權利要求3所述的表格文件多線程導入方法,其特征在于,插入到所要導入的數據表后還需進行去重處理。
5.根據權利要求1所述的表格文件多線程導入方法,其特征在于,采用多線程方式讀取需導入的文件數據和將校驗通過的文件數據插入到所
6.一種表格文件多線程導出方法,其特征在于,包括如下步驟:
7.根據權利要求6所述的表格文件多線程導出方法,其特征在于,在基于Java反射原理將多線程讀取的數據寫入新生成的空白表格文件時,若寫入失敗,則得到數據寫入表格失敗的報錯信息并關閉線程池,否則進行頁內數據是否讀取結束判斷。
8.根據權利要求7所述的表格文件多線程導出方法,其特征在于,所述頁內數據讀取是否結束判斷為,若頁內數據讀取結束且等待隊列中無未執行線程,則關閉線程池,結束多線程數據導出流程;否則繼續進行頁內數據讀取或多線程讀取每頁數據。
9.一種表格文件多線程導入系統,其特征在于,包括存儲器和處理器,所述處理器用于執行存儲在存儲器中的計算機程序指令以實現如權利要求1-5任一項所述的表格文件多線程導入方法。
10.一種表格文件多線程導出系統,其特征在于,包括存儲器和處理器,所述處理器用于執行存儲在存儲器中的計算機程序指令以實現如權利要求6-8任一項所述的表格文件多線程導出方法。
...【技術特征摘要】
1.一種表格文件多線程導入方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的表格文件多線程導入方法,其特征在于,所述校驗包括文件格式校驗和標題校驗,文件格式校驗和標題校驗均通過時表明校驗通過;所述文件格式校驗用于以篩選出表格文件;所述標題校驗為將基于java反射原理獲取的第一行標題數據和基于java注解原理獲取的注解進行比較,且比較結果為一致時判定為標題校驗通過。
3.根據權利要求1所述的表格文件多線程導入方法,其特征在于,在將校驗通過的文件數據插入到所要導入的數據表中時,需判斷當前校驗通過的文件數據與當前數據表中是否存在相同數據:若存在相同數據,則所述當前校驗通過的文件數據不再進行后續操作;若不存在相同數據,則對所述當前校驗通過的文件數據進行字段長度和空值校驗,校驗通過后插入到所要導入的數據表中。
4.根據權利要求3所述的表格文件多線程導入方法,其特征在于,插入到所要導入的數據表后還需進行去重處理。
5.根據權利要求1所述的表格文件多線程導入方法,其特征在于,采用多線程方式讀取需導入的文件數據和將校驗通過的文件數據插入到所要導入的數據表中時,若線程池中存在等待隊...
【專利技術屬性】
技術研發人員:劉卓昀,申大鵬,
申請(專利權)人:中國農業銀行股份有限公司河南省分行,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。