本發(fā)明關于數(shù)據(jù)庫系統(tǒng)技術領域,特別是關于金融領域的業(yè)務數(shù)據(jù)的處理技術,具體的講是一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法以及系統(tǒng)。
背景技術:
本部分旨在為權利要求書中陳述的本發(fā)明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現(xiàn)有技術。
一個產(chǎn)品的數(shù)據(jù)庫系統(tǒng),尤其是金融行業(yè)的業(yè)務數(shù)據(jù)系統(tǒng),比如銀行系統(tǒng)的產(chǎn)品數(shù)據(jù)庫系統(tǒng),由于其業(yè)務復雜,業(yè)務數(shù)據(jù)龐大,對于其進行數(shù)據(jù)轉移或數(shù)據(jù)清理的業(yè)務規(guī)則非常復雜,同時,其涉及的各類數(shù)據(jù)的關聯(lián)性很高。
目前,金融行業(yè)的業(yè)務數(shù)據(jù)系統(tǒng)的數(shù)據(jù)清理方式一般是簡單的數(shù)據(jù)規(guī)則,通常通過編寫多個批量程序或者腳本來處理。這種方式的維護成本很高、易讀性差,花費了大量的時間和人力成本,同時,若新增數(shù)據(jù)表或數(shù)據(jù)清理規(guī)則通常需要再增加代碼來處理,代碼的復用性差,無法同時滿足個性化處理要求以及復雜規(guī)則的處理,且可移植性、數(shù)據(jù)清理時性能均較差。
因此,如何研究和開發(fā)出一種新的方案以克服上述缺陷是本領域亟待解決的技術難題。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法及系統(tǒng),提高了執(zhí)行性能以及可移植性,無需編寫很多應用程序,減少了人工成本。
為了實現(xiàn)上述目的,本發(fā)明提供一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法,所述方法包括:
獲取銀行系統(tǒng)的業(yè)務數(shù)據(jù);
獲取與所述業(yè)務數(shù)據(jù)對應的清理配置表;
根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理。
在本發(fā)明的優(yōu)選實施方式中,所述清理配置表通過如下方式生成:
確定所述業(yè)務數(shù)據(jù)對應的清理配置信息;
根據(jù)所述清理配置信息生成所述業(yè)務數(shù)據(jù)的清理配置表。
在本發(fā)明的優(yōu)選實施方式中,所述清理配置信息包括清理條件、清理時間、清理分區(qū)、關聯(lián)項以及清理方式。
在本發(fā)明的優(yōu)選實施方式中,根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理操作包括:
根據(jù)所述清理配置表確定所述業(yè)務數(shù)據(jù)對應的清理策略信息;
按照所述清理策略信息對所述業(yè)務數(shù)據(jù)進行清理操作。
在本發(fā)明的優(yōu)選實施方式中,根據(jù)所述清理配置表確定所述業(yè)務數(shù)據(jù)對應的清理策略信息包括獲取所述業(yè)務數(shù)據(jù)的業(yè)務類型;根據(jù)所述業(yè)務類型以及所述清理配置表確定所述業(yè)務數(shù)據(jù)的清理策略信息。
在本發(fā)明的優(yōu)選實施方式中,根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理操作包括:
根據(jù)所述清理配置表提取出所有的清理策略信息,組成策略集;
按照清理優(yōu)先級從高到低的順序從所述策略集中提取清理策略信息;
判斷提取的清理策略信息是否能夠?qū)λ鰳I(yè)務數(shù)據(jù)進行清理操作;
當判斷為否時,返回執(zhí)行按照清理優(yōu)先級從高到低的順序從所述策略集中提取清理策略信息;
否則,根據(jù)提取的清理策略信息對所述業(yè)務數(shù)據(jù)進行清理操作,所述提取的清理策略信息即為所述業(yè)務數(shù)據(jù)的清理策略信息。
在本發(fā)明的優(yōu)選實施方式中,根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理操作還包括:
根據(jù)所述清理配置表的關聯(lián)項判斷所述業(yè)務數(shù)據(jù)是否具有關聯(lián)數(shù)據(jù);
當判斷為是時,獲取所述業(yè)務數(shù)據(jù)的關聯(lián)數(shù)據(jù);
根據(jù)所述業(yè)務數(shù)據(jù)的清理策略信息對所述關聯(lián)數(shù)據(jù)進行清理操作。
在本發(fā)明的優(yōu)選實施方式中,所述方法還包括:當清理操作出現(xiàn)異常時,生成出錯日志表。
本發(fā)明的目的之一是,提供了一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng),所述系統(tǒng)包括清理設備,所述清理設備包括:
業(yè)務數(shù)據(jù)獲取裝置,用于獲取銀行系統(tǒng)的業(yè)務數(shù)據(jù);
配置表獲取裝置,用于獲取與所述業(yè)務數(shù)據(jù)對應的清理配置表;
業(yè)務數(shù)據(jù)清理裝置,用于根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理操作。
在本發(fā)明的優(yōu)選實施方式中,所述系統(tǒng)還包括配置表生成設備,所述配置表生成設備包括:
配置信息獲取裝置,用于獲取所述業(yè)務數(shù)據(jù)對應的清理配置信息;
配置表生成裝置,用于根據(jù)所述清理配置信息生成所述業(yè)務數(shù)據(jù)的清理配置表。
在本發(fā)明的優(yōu)選實施方式中,所述業(yè)務數(shù)據(jù)清理裝置包括清理策略確定模塊,用于根據(jù)所述清理配置表確定所述業(yè)務數(shù)據(jù)對應的清理策略信息;業(yè)務數(shù)據(jù)清理模塊,用于按照所述清理策略信息對所述業(yè)務數(shù)據(jù)進行清理操作。
在本發(fā)明的優(yōu)選實施方式中,所述清理策略確定模塊包括:
業(yè)務類型獲取單元,用于獲取所述業(yè)務數(shù)據(jù)的業(yè)務類型;
清理策略確定單元,用于根據(jù)所述業(yè)務類型以及所述清理配置表確定所述業(yè)務數(shù)據(jù)的清理策略信息。
在本發(fā)明的優(yōu)選實施方式中,所述業(yè)務數(shù)據(jù)清理裝置包括:
策略集確定模塊,用于根據(jù)所述清理配置表提取出所有的清理策略信息,組成策略集;
信息提取模塊,用于按照清理優(yōu)先級從高到低的順序從所述策略集中提取清理策略信息;
第一判斷模塊,用于判斷提取的清理策略信息是否能夠?qū)λ鰳I(yè)務數(shù)據(jù)進行清理操作,當判斷為否時,返回執(zhí)行所述信息提取模塊;
所述清理模塊,用于當所述第一判斷模塊判斷為是時,根據(jù)提取的清理策略信息對所述業(yè)務數(shù)據(jù)進行清理操作,所述提取的清理策略信息即為所述業(yè)務數(shù)據(jù)的清理策略信息。
在本發(fā)明的優(yōu)選實施方式中,所述業(yè)務數(shù)據(jù)清理裝置還包括:
第二判斷模塊,用于根據(jù)所述清理配置表的關聯(lián)項判斷所述業(yè)務數(shù)據(jù)是否具有關聯(lián)數(shù)據(jù);
關聯(lián)數(shù)據(jù)獲取模塊,用于當所述第二判斷模塊判斷為是時,獲取所述業(yè)務數(shù)據(jù)的關聯(lián)數(shù)據(jù);
關聯(lián)數(shù)據(jù)清理模塊,用于根據(jù)所述業(yè)務數(shù)據(jù)的清理策略信息對所述關聯(lián)數(shù)據(jù)進行清理操作。
在本發(fā)明的優(yōu)選實施方式中,所述清理設備還包括日志表生成裝置,用于當清理操作出現(xiàn)異常時,生成出錯日志表。
本發(fā)明的有益效果在于,提供了一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法及系統(tǒng),通過將業(yè)務數(shù)據(jù)清理作為一個對象來處理,將清理方式轉化對象類,提高了執(zhí)行性能以及可移植性,無需編寫很多應用程序,減少了人工成本,同時對于使用者無需關注其內(nèi)部實現(xiàn)邏輯,只需知曉其功能作用,通過配置清理時間條件即可完成清理任務。
為讓本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法的實施方式一的流程圖;
圖2為步驟S103的實施方式一的流程圖;
圖3為步驟S103的實施方式二的流程圖;
圖4為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法的實施方式二的流程圖;
圖5為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)的結構框圖;
圖6為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)的實施方式二的結構框圖;
圖7為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中業(yè)務數(shù)據(jù)清理裝置的實施方式一的結構框圖;
圖8為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中清理策略確定模塊的結構框圖;
圖9為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中業(yè)務數(shù)據(jù)清理裝置的實施方式二的結構框圖;
圖10為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中清理設備的結構框圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本領域技術技術人員知道,本發(fā)明的實施方式可以實現(xiàn)為一種系統(tǒng)、裝置、設備、方法或計算機程序產(chǎn)品。因此,本公開可以具體實現(xiàn)為以下形式,即:完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等),或者硬件和軟件結合的形式。
下面參考本發(fā)明的若干代表性實施方式,詳細闡釋本發(fā)明的原理和精神。
一個產(chǎn)品的數(shù)據(jù)庫系統(tǒng),尤其是金融行業(yè)業(yè)務數(shù)據(jù),比如銀行系統(tǒng)產(chǎn)品由于其業(yè)務復雜,業(yè)務數(shù)據(jù)龐大,對于其數(shù)據(jù)轉移或數(shù)據(jù)清理的業(yè)務規(guī)則復雜,同時各類數(shù)據(jù)關聯(lián)性高。一般來說,簡單的數(shù)據(jù)規(guī)則通常是通過編寫多個批量程序或者腳本來處理,可維護性差、易讀性差,花費了大量的時間和人力成本;同時若新增一種規(guī)則就需要新編寫代碼來處理。本發(fā)明針對此種情況提供一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法以及系統(tǒng),后續(xù)用戶通過每日批量定時觸發(fā)shell來讀取清理配置表的記錄信息作為輸入?yún)?shù),調(diào)用PL/SQL編寫的對象化函數(shù)腳本(即預存的各種清理策略信息)來清理數(shù)據(jù)。
首先對本發(fā)明所涉及到的技術術語進行說明:
PL/SQL:SQL語言存儲過程Procedure Language&Structured Query Language。
SHELL:Command line Interface shell命令式shell用于linux、unix系統(tǒng)。
圖1為本發(fā)明提出的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法的具體流程圖,請參閱圖1,所述的方法包括:
S101:獲取銀行系統(tǒng)的業(yè)務數(shù)據(jù);
S102:獲取與所述業(yè)務數(shù)據(jù)對應的清理配置表。所述清理配置表通過如下方式生成:
1、確定所述業(yè)務數(shù)據(jù)對應的清理配置信息,在本發(fā)明的具體實施方式中,清理配置信息可根據(jù)不同的銀行系統(tǒng)而不同,可預先設定。所述清理配置信息包括清理條件、清理時間、清理分區(qū)、關聯(lián)項以及清理方式。在本發(fā)明中,清理方式中預先設定了多種清理模式,每種清理模式對應多種清理方式,在具體的實施方式中可預先通過PL/SQL編寫的對象化函數(shù)腳本來實現(xiàn)多種清理模式以及其對應的清理方式,均預先存儲在數(shù)據(jù)庫中。
2、根據(jù)所述清理配置信息生成所述業(yè)務數(shù)據(jù)的清理配置表。清理配置表的一個實例如下表1所示。如表1所示,清理方式中包括了模式0至模式6共7中清理模式,每種清理模式對應各自的多種清理方式(也即后文提及的清理策略信息),均預存儲在數(shù)據(jù)中。
如:模塊0,其對應的清理方式包括統(tǒng)一清理交易日志(編號999),其對應的清理要求為清理3月以前日志表數(shù)據(jù),設置的清理配置表包括:日志表表名、保留時間90天、清理業(yè)務條件(比如保留異常日志),設置省行號為99999全國,設置統(tǒng)一清理編號,目前有兩種,999全部清理無條件,888有業(yè)務條件清理。
再如模塊1中,其包括定期匯出業(yè)務清理、定期借記、定期貸記業(yè)務,設定期貸記業(yè)務的編號為000。定期貸記業(yè)務是指當事各方按照事先簽訂的協(xié)議,定期發(fā)生的批量付款業(yè)務,如代付工資、保險金等,由付款行發(fā)起,經(jīng)由人民銀行軋差后轉發(fā)收款行一個付款賬戶,多個收款賬戶。由于定期貸記業(yè)務的清理要求為清理一個月以前定期貸記的概要信息表以其相關的定期貸記業(yè)務明細信息同時歸檔到歷史表,因此清理配置表中設置數(shù)據(jù)保留天數(shù)為31天,即清理31天以前的數(shù)據(jù)以及用戶設置清理的其他條件,比如業(yè)務狀態(tài)為完結狀態(tài)或者業(yè)務已置廢狀態(tài),設置業(yè)務數(shù)據(jù)所在數(shù)據(jù)表的表名,設置定期貸記概要信息業(yè)務數(shù)據(jù)表的表名以及其相關明細表的表名,設置相關表之間的關聯(lián)條件(比如兩個表中業(yè)務標識號相同)等。
表1
S103:根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理。圖2為步驟S103的實施方式一的流程圖,請參閱圖2,步驟S103在實施方式一中包括:根據(jù)所述清理配置表確定所述業(yè)務數(shù)據(jù)對應的清理策略信息,該步驟包括:
S201:獲取所述業(yè)務數(shù)據(jù)的業(yè)務類型;
S202:根據(jù)所述業(yè)務類型以及所述清理配置表確定所述業(yè)務數(shù)據(jù)的清理策略信息。
步驟S103還包括:S203:按照所述清理策略信息對所述業(yè)務數(shù)據(jù)進行清理操作。
在具體的實施方式中,如業(yè)務數(shù)據(jù)的業(yè)務類型為定期貸記業(yè)務,定期貸記業(yè)務報文<beps.125.001.01>,則根據(jù)清理配置表來匹配為清理編號為000的定期貸記清理(查看清理方式配置文本信息),此處的定期貸記清理即為清理策略信息,則調(diào)用數(shù)據(jù)庫中的定期貸記清理對定期貸記報文類型(人民銀行規(guī)定報文類型)進行清理。
如上即是本發(fā)明提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法,根據(jù)業(yè)務數(shù)據(jù)的數(shù)據(jù)清理要求預先進行分類歸納后對象化處理,采用PL/SQL編寫的對象化函數(shù)腳本,用戶只需按照本發(fā)明的清理分類規(guī)則將業(yè)務數(shù)據(jù)的清理條件、清理時間、清理分區(qū)、關聯(lián)項、清理方式等信息維護在清理信息配置表里面,通過每日批量定時觸發(fā)shell來讀取清理配置表的記錄信息作為輸入?yún)?shù),調(diào)用PL/SQL編寫的對象化函數(shù)腳本來處理數(shù)據(jù)。
比如某類數(shù)據(jù),需要單表清理10天前數(shù)據(jù),根據(jù)清理編號調(diào)用已分配的單表DELETE類,通過讀取配置表里的清理條件以及表名進行處理。這樣系統(tǒng)內(nèi)每個數(shù)據(jù)表中的業(yè)務數(shù)據(jù)若有該單表清理的屬性,均可如此進行。
圖3為步驟S103的實施方式二的流程圖,請參閱圖3,在實施方式二中,步驟S103包括:
S301:根據(jù)所述清理配置表提取出所有的清理策略信息,組成策略集;
S302:按照清理優(yōu)先級從高到低的順序從所述策略集中提取清理策略信息;
S303:判斷提取的清理策略信息是否能夠?qū)λ鰳I(yè)務數(shù)據(jù)進行清理操作,當判斷為否時,返回執(zhí)行步驟S302,否則,執(zhí)行步驟S304;
S304:根據(jù)提取的清理策略信息對所述業(yè)務數(shù)據(jù)進行清理操作,所述提取的清理策略信息即為所述業(yè)務數(shù)據(jù)的清理策略信息。
也即在實施方式二中,直接根據(jù)清理配置表從數(shù)據(jù)庫中調(diào)用出所有的清理策略信息,然后按照清理優(yōu)先級的高低依次對業(yè)務數(shù)據(jù)進行清理操作,直至遇到與其對應的清理策略將業(yè)務數(shù)據(jù)清理成功。在本發(fā)明中,預先設定的清理策略包括表1中對應的7種模式以及每種模式對應的一個或多個清理策略,表1中的6種清理模式的清理優(yōu)先級為依次降低,即模式1的優(yōu)先級最高,模式6的優(yōu)先級最低,即模塊1~模塊6按以上順序清理(按復雜業(yè)務先清理的規(guī)則設定),模塊0與其他模塊可并行處理。
圖4為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法的實施方式二的流程圖,請參閱圖4,在實施方式二中,該方法包括:
S401:獲取銀行系統(tǒng)的業(yè)務數(shù)據(jù);
S402:獲取與所述業(yè)務數(shù)據(jù)對應的清理配置表;
S403:根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理;
S404:根據(jù)所述清理配置表的關聯(lián)項判斷所述業(yè)務數(shù)據(jù)是否具有關聯(lián)數(shù)據(jù);
S405:當判斷為是時,獲取所述業(yè)務數(shù)據(jù)的關聯(lián)數(shù)據(jù);
S406:根據(jù)所述業(yè)務數(shù)據(jù)的清理策略信息對所述關聯(lián)數(shù)據(jù)進行清理操作。
如表1所示,字表1至字表6即為關聯(lián)數(shù)據(jù)。
在本發(fā)明的其他實施方式中,當清理操作出現(xiàn)異常時,生成出錯日志表。出錯日志表的一個實例如表2所示。
表2
如上所述即為本發(fā)明提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法,將傳統(tǒng)的寫腳本清理數(shù)據(jù)或者編寫多個應用程序來清理數(shù)據(jù)的方式,改進為將數(shù)據(jù)清理作為一個類似JAVA語言里面的一個對象來處理,它包含多個類和其各種方法。將清理方式轉化對象類和方法。這樣由于基于PL/SQL執(zhí)行即提高了程序執(zhí)行性能以及可移植性,同時無需編寫很多應用程序,減少了人工成本,同時對于使用者無需關注其內(nèi)部實現(xiàn)邏輯,只需知曉其功能作用,通過配置清理時間條件即可完成清理任務。
應當注意,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實現(xiàn)期望的結果。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。
在介紹了本發(fā)明示例性實施方式的方法之后,接下來,參考附圖對本發(fā)明示例性實施方式的設備進行介紹。該設備的實施可以參見上述方法的實施,重復之處不再贅述。以下所使用的術語“模塊”和“單元”,可以是實現(xiàn)預定功能的軟件和/或硬件。盡管以下實施例所描述的模塊較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構想的。
圖5為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)的結構框圖,請參閱圖5,所述系統(tǒng)包括清理設備100,所述清理設備100包括:
業(yè)務數(shù)據(jù)獲取裝置101,用于獲取銀行系統(tǒng)的業(yè)務數(shù)據(jù);
配置表獲取裝置102,用于獲取與所述業(yè)務數(shù)據(jù)對應的清理配置表。
業(yè)務數(shù)據(jù)清理裝置103,用于根據(jù)所述清理配置表對所述業(yè)務數(shù)據(jù)進行清理。
圖6為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)的實施方式二的結構框圖,請參閱圖6,在實施方式二中,所述系統(tǒng)還包括配置表生成設備200,配置表生成設備200包括:
配置信息獲取裝置201,用于獲取所述業(yè)務數(shù)據(jù)對應的清理配置信息。在本發(fā)明的具體實施方式中,清理配置信息可根據(jù)不同的銀行系統(tǒng)而不同,可預先設定。所述清理配置信息包括清理條件、清理時間、清理分區(qū)、關聯(lián)項以及清理方式。在本發(fā)明中,清理方式中預先設定了多種清理模式,每種清理模式對應多種清理方式,在具體的實施方式中可預先通過PL/SQL編寫的對象化函數(shù)腳本來實現(xiàn)多種清理模式以及其對應的清理方式,均預先存儲在數(shù)據(jù)庫中。
配置表生成裝置202,用于根據(jù)所述清理配置信息生成所述業(yè)務數(shù)據(jù)的清理配置表。清理配置表的一個實例如下表1所示。如表1所示,清理方式中包括了模式0至模式6共7中清理模式,每種清理模式對應各自的多種清理方式(也即后文提及的清理策略信息),均預存儲在數(shù)據(jù)中。
如:模塊0,其對應的清理方式包括統(tǒng)一清理交易日志(編號999),其對應的清理要求為清理3月以前日志表數(shù)據(jù),設置的清理配置表包括:日志表表名、保留時間90天、清理業(yè)務條件(比如保留異常日志),設置省行號為99999全國,設置統(tǒng)一清理編號,目前有兩種,999全部清理無條件,888有業(yè)務條件清理。
再如模塊1中,其包括定期匯出業(yè)務清理、定期借記、定期貸記業(yè)務,設定期貸記業(yè)務的編號為000。定期貸記業(yè)務是指當事各方按照事先簽訂的協(xié)議,定期發(fā)生的批量付款業(yè)務,如代付工資、保險金等,由付款行發(fā)起,經(jīng)由人民銀行軋差后轉發(fā)收款行一個付款賬戶,多個收款賬戶。由于定期貸記業(yè)務的清理要求為清理一個月以前定期貸記的概要信息表以其相關的定期貸記業(yè)務明細信息同時歸檔到歷史表,因此清理配置表中設置數(shù)據(jù)保留天數(shù)為31天,即清理31天以前的數(shù)據(jù)以及用戶設置清理的其他條件,比如業(yè)務狀態(tài)為完結狀態(tài)或者業(yè)務已置廢狀態(tài),設置業(yè)務數(shù)據(jù)所在數(shù)據(jù)表的表名,設置定期貸記概要信息業(yè)務數(shù)據(jù)表的表名以及其相關明細表的表名,設置相關表之間的關聯(lián)條件(比如兩個表中業(yè)務標識號相同)等。
圖7為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中業(yè)務數(shù)據(jù)清理裝置的實施方式一的結構框圖,請參閱圖7,業(yè)務數(shù)據(jù)清理103在實施方式一中包括:
清理策略確定模塊301,用于根據(jù)所述清理配置表確定所述業(yè)務數(shù)據(jù)對應的清理策略信息;
業(yè)務數(shù)據(jù)清理模塊302,用于按照所述清理策略信息對所述業(yè)務數(shù)據(jù)進行清理
圖8為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中清理策略確定模塊的結構框圖,請參閱圖8,清理策略確定模塊301包括:
業(yè)務類型獲取單元401,用于獲取所述業(yè)務數(shù)據(jù)的業(yè)務類型;
清理策略確定單元402,用于根據(jù)所述業(yè)務類型以及所述清理配置表確定所述業(yè)務數(shù)據(jù)的清理策略信息。
在具體的實施方式中,如業(yè)務數(shù)據(jù)的業(yè)務類型為定期貸記業(yè)務,定期貸記業(yè)務報文<beps.125.001.01>,則根據(jù)清理配置表來匹配為清理編號為000的定期貸記清理(查看清理方式配置文本信息),此處的定期貸記清理即為清理策略信息,則調(diào)用數(shù)據(jù)庫中的定期貸記清理對定期貸記報文類型(人民銀行規(guī)定報文類型)進行清理。
如上即是本發(fā)明提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng),根據(jù)業(yè)務數(shù)據(jù)的數(shù)據(jù)清理要求預先進行分類歸納后對象化處理,采用PL/SQL編寫的對象化函數(shù)腳本,用戶只需按照本發(fā)明的清理分類規(guī)則將業(yè)務數(shù)據(jù)的清理條件、清理時間、清理分區(qū)、關聯(lián)項、清理方式等信息維護在清理信息配置表里面,通過每日批量定時觸發(fā)shell來讀取清理配置表的記錄信息作為輸入?yún)?shù),調(diào)用PL/SQL編寫的對象化函數(shù)腳本來處理數(shù)據(jù)。
比如某類數(shù)據(jù),需要單表清理10天前數(shù)據(jù),根據(jù)清理編號調(diào)用已分配的單表DELETE類,通過讀取配置表里的清理條件以及表名進行處理。這樣系統(tǒng)內(nèi)每個數(shù)據(jù)表中的業(yè)務數(shù)據(jù)若有該單表清理的屬性,均可如此進行。
圖9為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中業(yè)務數(shù)據(jù)清理裝置的實施方式二的結構框圖,請參閱圖9,在實施方式二中,業(yè)務數(shù)據(jù)清理裝置103包括:
策略集確定模塊303,用于根據(jù)所述清理配置表提取出所有的清理策略信息,組成策略集;
信息提取模塊304,用于按照清理優(yōu)先級從高到低的順序從所述策略集中提取清理策略信息;
第一判斷模塊305,用于判斷提取的清理策略信息是否能夠?qū)λ鰳I(yè)務數(shù)據(jù)進行清理操作,當判斷為否時,返回執(zhí)行所述信息提取模塊304;
清理模塊306,用于當所述第一判斷模塊判斷為是時,根據(jù)提取的清理策略信息對所述業(yè)務數(shù)據(jù)進行清理操作,所述提取的清理策略信息即為所述業(yè)務數(shù)據(jù)的清理策略信息。
也即在實施方式二中,直接根據(jù)清理配置表從數(shù)據(jù)庫中調(diào)用出所有的清理策略信息,然后按照清理優(yōu)先級的高低依次對業(yè)務數(shù)據(jù)進行清理操作,直至遇到與其對應的清理策略將業(yè)務數(shù)據(jù)清理成功。在本發(fā)明中,預先設定的清理策略包括表1中對應的7種模式以及每種模式對應的一個或多個清理策略,表1中的6種清理模式的清理優(yōu)先級為依次降低,即模式1的優(yōu)先級最高,模式6的優(yōu)先級最低,即模塊1~模塊6按以上順序清理(按復雜業(yè)務先清理的規(guī)則設定),模塊0與其他模塊可并行處理。
圖10為本發(fā)明實施例提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng)中清理設備的結構框圖,請參閱圖10,在該實施方式中,清理設備還包括:
第二判斷模塊104,用于根據(jù)所述清理配置表的關聯(lián)項判斷所述業(yè)務數(shù)據(jù)是否具有關聯(lián)數(shù)據(jù);
關聯(lián)數(shù)據(jù)獲取模塊105,用于當所述第二判斷模塊判斷為是時,獲取所述業(yè)務數(shù)據(jù)的關聯(lián)數(shù)據(jù);
關聯(lián)數(shù)據(jù)清理模塊106,用于根據(jù)所述業(yè)務數(shù)據(jù)的清理策略信息對所述關聯(lián)數(shù)據(jù)進行清理操作。
如表1所示,字表1至字表6即為關聯(lián)數(shù)據(jù)。
在本發(fā)明的其他實施方式中,所述清理設備還包括:日志表生成裝置,用于當清理操作出現(xiàn)異常時,生成出錯日志表。出錯日志表的一個實例如表2所示。
如上所述即為本發(fā)明提供的一種基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理系統(tǒng),將傳統(tǒng)的寫腳本清理數(shù)據(jù)或者編寫多個應用程序來清理數(shù)據(jù)的方式,改進為將數(shù)據(jù)清理作為一個類似JAVA語言里面的一個對象來處理,它包含多個類和其各種方法。將清理方式轉化對象類和方法。這樣由于基于PL/SQL執(zhí)行即提高了程序執(zhí)行性能以及可移植性,同時無需編寫很多應用程序,減少了人工成本,同時對于使用者無需關注其內(nèi)部實現(xiàn)邏輯,只需知曉其功能作用,通過配置清理時間條件即可完成清理任務。
此外,盡管在上文詳細描述中提及了系統(tǒng)的若干單元模塊,但是這種劃分僅僅并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多單元的特征和功能可以在一個單元中具體化。同樣,上文描述的一個單元的特征和功能也可以進一步劃分為由多個單元來具體化。
本發(fā)明提供的基于銀行系統(tǒng)的業(yè)務數(shù)據(jù)的清理方法及系統(tǒng)基于Linux shell以ORACLE的PL/SQL程序語言實現(xiàn)數(shù)據(jù)處理對象處理。
一般情況下通過編寫批量程序或者SQL腳本來進行具體的數(shù)據(jù)清理或數(shù)據(jù)轉歷史操作通常通過保存較長時間的業(yè)務數(shù)據(jù),比如半年一次清理。一般都是晚間批量調(diào)用相關腳本/批量程序進行數(shù)據(jù)清理,通常處理清理規(guī)則比較簡單的業(yè)務規(guī)則數(shù)據(jù)。
目前通常數(shù)據(jù)清理的方式,通常維護成本很高,同時代碼復用性差,同時滿足不了個性化處理要求以及復雜規(guī)則的處理,同時可移植性查,數(shù)據(jù)清理時性能較差。若新增數(shù)據(jù)表或數(shù)據(jù)清理規(guī)則通常需要再增加代碼來處理。
而本發(fā)明通過PL/SQL將數(shù)據(jù)清理類似JAVA語言對象化處理,可以較好的解決上述問題,同時由于PL/SQL是存儲在數(shù)據(jù)庫服務器上,通過將PL/SQL的函數(shù)或過程進行打包成PACKAGE編譯安裝后,直接成為類似ORACLE數(shù)據(jù)庫的內(nèi)置函數(shù),不管是應用程序可以很方便的進行調(diào)用處理。
本發(fā)明可對用戶所提的各類業(yè)務數(shù)據(jù)進行歸類并轉換為業(yè)務數(shù)據(jù)處理對象化的編號,預選根據(jù)分類完成的各類對象進行PL/SQL分解模塊化編程,建立數(shù)據(jù)處理配置表,建立數(shù)據(jù)處理錯誤日志表。
本發(fā)明在具體的使用過程中,可通過如下步驟進行:
1.Shell程序啟動數(shù)據(jù)處理對象總控程序;
2.應用日志清理上次運行時的日志信息;
3.讀取用戶數(shù)據(jù)清理配置表信息;
4.根據(jù)對象化編號調(diào)用相應的數(shù)據(jù)處理對象模塊;
5.數(shù)據(jù)處理對象模塊解析數(shù)據(jù)清理信息進行循環(huán)處理業(yè)務數(shù)據(jù)清理操作;
6.若處理出錯,則調(diào)用應用日志模塊進行記錄出錯信息,繼續(xù)步驟4處理。
本發(fā)明的創(chuàng)新點在于:數(shù)據(jù)處理對象化處理,即數(shù)據(jù)清理成為一個類,里面有各種清理方式,比如單表刪除作為數(shù)據(jù)清理類里面的一種清理方式,外部輸入?yún)?shù)只是需要TABLE名,清理條件,清理時間即可,無需知道內(nèi)部邏輯。
對于一個技術的改進可以很明顯地區(qū)分是硬件上的改進(例如,對二極管、晶體管、開關等電路結構的改進)還是軟件上的改進(對于方法流程的改進)。然而,隨著技術的發(fā)展,當今的很多方法流程的改進已經(jīng)可以視為硬件電路結構的直接改進。設計人員幾乎都通過將改進的方法流程編程到硬件電路中來得到相應的硬件電路結構。因此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(Programmable Logic Device,PLD)(例如現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片PLD上,而不需要請芯片制造廠商來設計和制作專用的集成電路芯片2。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logic compiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(Hardware Description Language,HDL),而HDL也并非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog2。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質(zhì)、邏輯門、開關、專用集成電路(Application Specific Integrated Circuit,ASIC)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。
本領域技術人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內(nèi)包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內(nèi)的結構?;蛘呱踔?,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結構。
上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或?qū)嶓w實現(xiàn),或者由具有某種功能的產(chǎn)品來實現(xiàn)。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本申請可用于眾多通用或?qū)S玫挠嬎銠C系統(tǒng)環(huán)境或配置中。例如:個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費電子設備、網(wǎng)絡PC、小型計算機、大型計算機、包括以上任何系統(tǒng)或設備的分布式計算環(huán)境等等。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結構等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內(nèi)的本地和遠程計算機存儲介質(zhì)中。
雖然通過實施例描繪了本申請,本領域普通技術人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的權利要求包括這些變形和變化而不脫離本申請的精神。