[發明專利]一種數據補錄方法及裝置有效
| 申請號: | 201711089720.X | 申請日: | 2017-11-08 |
| 公開(公告)號: | CN107862049B | 公開(公告)日: | 2022-03-25 |
| 發明(設計)人: | 詹宏釗;鄭彥淇;蔣際濤;陸燕;黃文龍 | 申請(專利權)人: | 中國銀行股份有限公司 |
| 主分類號: | G06F16/11 | 分類號: | G06F16/11;G06F16/2455;G06Q40/02 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100818 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 方法 裝置 | ||
1.一種數據補錄方法,其特征在于,應用于數據補錄平臺的客戶端,所述數據補錄平臺采用C/S架構體系,并包括客戶端和數據補錄服務器,所述數據補錄服務器中的數據庫采用Oracle數據庫;所述方法包括:
接收當前用戶輸入的用戶名和密碼,依據所述用戶名和密碼登錄到與所述客戶端相連接的數據補錄服務器;
確定所需上傳的目標數據文件;
利用Oledb數據訪問模型獲取所述目標數據文件并處理所述目標數據文件中不符合數據處理規則的數據得到第一數據文件,包括:將所述目標數據文件中的第一行作為標題行;設置所述數據訪問模型的連接參數,具體包括:將HDR設置為NO,以表示將所述第一行作為數據來讀取,將IMEX設置為1,以表示處于讀取模式;根據所述連接參數建立與所述目標數據文件的Oledb連接,具體包括:獲取所述目標數據文件的后綴名,根據所述后綴名針對不同類型的數據源選擇對應的讀取引擎,以建立與所述目標文件的Oledb連接;設置數據的篩選條件具體包括:設置OledbApapter讀取的Sql語句,根據所述建立與所述目標數據文件的Oledb連接所產生的結果中Fn,所述Fn用于指代第n列的值,對讀取的數據設置篩選條件,所述篩選條件包括跳過空行;依據所述篩選條件對所述目標數據文件進行數據篩選,得到預處理數據文件;將所述預處理數據文件中不符合預設臟數據處理字符規則的數據清除并依據預設臟數據處理格式規則對所述預處理數據文件進行數據轉換得到第一數據文件;所述不符合預設臟數據處理字符規則的數據包括空白字符與奇怪字符;所述數據轉換包括對不符合最終數據項格式的帶有千位分隔符的金額數據的數據轉換;
根據預設的規則對所述第一數據文件進行數據檢查;所述數據檢查包括:單數據文件的單數據項列檢查、單數據文件的本身關聯檢查和多數據文件的交叉關聯檢查;
獲取所述數據檢測的檢測結果,當所述檢測結果表征所述第一數據文件通過所述數據檢查時,獲取所述第一數據文件的上傳標識;
當所述上傳標識為允許上傳的標識時,使用批量上傳的方式將所述第一數據文件上傳到所述數據補錄服務器的數據補錄數據庫;
所述第一數據文件上傳的流程,包括:本地重復性檢查、聯機重復性檢查、舊數據的刪除以及新數據的上傳;
所述單數據文件的單數據項列檢查包括:預先為每一個數據文件建立對應的屬性集合數組;通過check函數將數據項的值和該數據項所在的列對應的屬性集合元素傳給檢查函數,以由所述檢查函數來檢查;其中,為每一個數據文件建立一個屬性集合的數組,將每一個數據文件的每一列當做對象實體來處理;為每一列建立一個屬性集合,則數據文件的每一列的檢查屬性對應一個屬性集合元素;通過check函數調用檢查函數,遍歷在讀取階段讀取到的數據表DataTable,對于每一行每一列,把值和該值所在的列對應的屬性集合元素的檢查屬性傳給check函數,再由check函數根據具體的檢查屬性再調用具體的檢查函數做檢查;
所述多數據文件的交叉關聯檢查包括:檢查多個數據文件的多行數據的數據一致性;
所述單數據文件的本身關聯檢查包括:單數據文件的同行多列的數據一致性檢查和單數據文件的多行數據的一致性檢查;
所述單數據文件的同行多列的數據一致性檢查,用于遍歷數據文件的DataTable,對同一行不同列的值進行數據一致性檢查;
所述單數據文件的多行數據的一致性檢查和所述多個數據文件的多行數據的數據一致性檢查,具體包括:首先,根據需要關聯檢查的種類建立相應的哈希表和字典,哈希表和字典的key值是每行數據的關鍵字段的組合值,而value值則是每行數據跟關聯檢查種類相關的字段,或是字段與其他信息;哈希表的value值為一個字段或是多個字段組合值,哈希表的value只能容納一種數據類型;字典的value,通過定義value的類型為一個結構體,可容納多種數據類型;字典的value值可以是多個字段;其次,遍歷需要做關聯檢查的DataTable,將數據加載到對應的哈希表和字典中,然后根據需要做的關聯檢查,編寫檢查函數進行檢查;
所述本地重復性檢查包括:建立一個哈希表HashTable,然后遍歷DataTable的數據,從首行開始,判斷該行是否在HashTable中;如果該行不在HashTable中,則添加到HashTable里;如果該行已經在HashTable中,則確定該行與前面的行重復,進行報錯;
所述聯機重復性檢查包括:遍歷DataTable中的數據,從首行開始,判斷該行是否在數據庫中已被其他人上傳過;如果是自己之前已上傳過,則不為錯誤;如果該行數據已被其他人上傳過,則確定該行與數據庫中的數據重復,進行報錯;
所述舊數據的刪除包括:對于同一份數據文件,先刪除掉之前已上傳過的數據文件,再上傳新的數據文件;
所述新數據的上傳包括:使用Oracle的批量上傳功能bulkCopy,將DataTable中的數據上傳到數據補錄服務器的數據補錄數據庫;
若所述當前用戶為數據審核的最高級用戶,則所述數據補錄方法還包括:
接收所述當前用戶發送的建立下級用戶的第一指令,根據所述第一指令創建當前用戶與下級用戶的層級關系,所述層級關系用于表征數據文件的審核流程;
接收對所述下級用戶分配任務的第二指令,根據所述第二指令為所述下級用戶分配審核任務,所述審核任務用于表征下級用戶對所述第一數據文件審核的具體內容;
接收所述當前用戶發送的審核通過的第三指令,根據所述第三指令確定所述第一數據文件的上傳標識為允許上傳的標識;
將用戶的建立和數據任務的分配分開來,用于實現建立任意層級的用戶,還用于將數據任務全部集中在最下級的用戶,或者將數據任務分布在各個層級的用戶中;
創建所述層級關系用于:在數據檢查通過之后,且當前用戶上傳數據之前,進行以下的兩個判斷:
第一個判斷:判斷當前用戶是不是沒有數據,如果是,則不允許上傳,如果否,則接著第二個判斷;
第二個判斷:判斷當前用戶的數據是否被審核過,如果已經上傳被審核過,則不允許上傳,除非被當前審核的用戶退回;如果未被審核過,則允許上傳;
上傳之后,由當前用戶的直接上級用戶審核,當所述直接上級用戶有多個時,若所有的直接上級用戶審核通過的話,則會到更高一級的用戶進行審核,直到最后到達最高級別的用戶進行審核;如果最高級用戶審核通過,則認為數據完全上傳成功;在這個過程中,如果數據文件被其中的一個上級用戶退回,則會直接退回到最下級用戶,所述最下級用戶需要對數據做相應修改,修改之后再重新讀取、檢查和上傳,再進行逐級審核。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國銀行股份有限公司,未經中國銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711089720.X/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





