本發(fā)明屬于應(yīng)用于銀行計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)處理方法,尤其是一種余額數(shù)據(jù)更新方法和系統(tǒng)。
背景技術(shù):
為了確保銀行系統(tǒng)在月底、年終等重要時(shí)點(diǎn),日切可以按計(jì)劃執(zhí)行,第二天可以正常對(duì)外營(yíng)業(yè),通常通過(guò)提升批量處理速度來(lái)實(shí)現(xiàn),此類(lèi)方式至少存在以下問(wèn)題:
1、提升批量處理速度的方式,可靠性較差,一旦發(fā)生異常,那么對(duì)外營(yíng)業(yè)時(shí)間就需要延時(shí),直到批量處理完畢。
2、對(duì)于提升批量處理速度本身來(lái)說(shuō),無(wú)論是專業(yè)人員配置上還是專業(yè)機(jī)器硬件配置上,對(duì)于銀行的成本增加是很直觀的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種余額數(shù)據(jù)更新方法和系統(tǒng),可以在任意時(shí)段更新余額數(shù)據(jù)。
為此,本發(fā)明提供了一種余額數(shù)據(jù)更新方法,該方法包括以下步驟:
獲取步驟:獲取賬戶數(shù)據(jù),其中,該賬戶數(shù)據(jù)中包含賬戶余額、上次余額更新日,以及與所述上次余額更新日對(duì)應(yīng)的上次余額;
檢測(cè)步驟:檢測(cè)所述上次余額更新日與系統(tǒng)當(dāng)前交易日是否相同;
執(zhí)行步驟:包括:
第一執(zhí)行步驟:所述上次余額更新日與系統(tǒng)當(dāng)前交易日不相同時(shí),執(zhí)行以下數(shù)據(jù)更新操作:
所述上次余額更新為所述賬戶余額;
將所述賬戶余額更新為所述上次余額與交易金額的代數(shù)和,以及,
將所述上次余額更新日更新為所述系統(tǒng)當(dāng)前交易日。
進(jìn)一步的,所述執(zhí)行步驟還包括:
第二執(zhí)行步驟:檢測(cè)到所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同時(shí),將所述賬戶余額更新為所述賬戶余額與所述系統(tǒng)當(dāng)前交易日的交易金額的代數(shù)和。
進(jìn)一步的,在所述第一執(zhí)行步驟之后,還包括:
余額修改確定步驟:檢測(cè)到取消交易請(qǐng)求時(shí),確定該交易請(qǐng)求對(duì)應(yīng)的賬戶余額修改是否完成;
回滾步驟:如果完成,則將所述賬戶余額回滾至交易前的賬戶余額。
進(jìn)一步的,所述賬戶數(shù)據(jù)中還包含上日余額,在所述第一執(zhí)行步驟之后,還包括:
第一上日余額更新步驟:檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間未發(fā)生交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日不相同,將所述上日余額更新為所述賬戶余額。
進(jìn)一步的,在所述第一執(zhí)行步驟之后,還包括:
第二上日余額更新步驟:檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間發(fā)生過(guò)交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同,將所述上日余額更新為所述上次余額。
此外,本發(fā)明還提供了一種余額數(shù)據(jù)更新系統(tǒng),該系統(tǒng)包括以下模塊:
獲取模塊,用于獲取賬戶數(shù)據(jù),其中,該賬戶數(shù)據(jù)中包含賬戶余額、上次余額更新日,以及與所述上次余額更新日對(duì)應(yīng)的上次余額;
檢測(cè)模塊,用于檢測(cè)所述上次余額更新日與系統(tǒng)當(dāng)前交易日是否相同;
執(zhí)行模塊,包括:
第一執(zhí)行模塊,用于檢測(cè)到所述上次余額更新日與系統(tǒng)當(dāng)前交易日不相同時(shí),執(zhí)行以下操作:
所述上次余額更新為所述賬戶余額;
將所述賬戶余額更新為所述上次余額與交易金額的代數(shù)和,以及,
將所述上次余額更新日更新為所述系統(tǒng)當(dāng)前日。
進(jìn)一步的,所述執(zhí)行模塊還包括:
第二執(zhí)行模塊,用于檢測(cè)到所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同時(shí),將所述賬戶余額更新為當(dāng)前所述賬戶余額與所述系統(tǒng)當(dāng)前交易日對(duì)應(yīng)的交易金額的代數(shù)和。
進(jìn)一步的,還包括:
余額修改確定模塊,用于檢測(cè)到取消交易請(qǐng)求時(shí),確定該交易請(qǐng)求對(duì)應(yīng)的賬戶余額修改是否完成;
回滾模塊,用于如果完成,則將所述賬戶余額回滾至交易前的賬戶余額。
進(jìn)一步的,所述賬戶數(shù)據(jù)中還包含上日余額,該余額數(shù)據(jù)更新系統(tǒng)還包括:
第一上日余額更新模塊,用于檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間未發(fā)生交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日不相同,將所述上日余額更新為所述賬戶余額。
進(jìn)一步的,還包括:
第二上日余額更新模塊,用于檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間發(fā)生過(guò)交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同,將所述上日余額更新為所述上次余額。
相對(duì)于現(xiàn)有技術(shù),本發(fā)明提供的余額數(shù)據(jù)更新方法和系統(tǒng)在更新數(shù)據(jù)時(shí),可以基于對(duì)帳數(shù)據(jù)中記錄上次余額更新日和與該上次余額更新日對(duì)應(yīng)的上次余額對(duì)賬戶余額進(jìn)行更新,避免需要在特定的數(shù)據(jù)更新時(shí)間更新數(shù)據(jù),從而可以系統(tǒng)的數(shù)據(jù)更新業(yè)務(wù)與正常的營(yíng)運(yùn)業(yè)務(wù)沖突,提高了系統(tǒng)的穩(wěn)定性和可靠性。
附圖說(shuō)明
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)的說(shuō)明,其中:
圖1是本發(fā)明第一實(shí)施方式的余額數(shù)據(jù)更新方法的流程圖;
圖2是本發(fā)明第二實(shí)施方式的余額數(shù)據(jù)更新方法的流程圖;
圖3是本發(fā)明第一實(shí)施方式的余額數(shù)據(jù)更新裝置的示例性的功能模塊圖。
圖中:
10:獲取模塊;20:第二執(zhí)行模塊;30:余額修改確定模塊;40:回滾模塊;50:第一執(zhí)行模塊;60:第二上日余額更新模塊;70:第一上日余額更新模塊;80:檢測(cè)模塊。
具體實(shí)施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施方式及實(shí)施方式中的特征可以相互組合。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式,而不是全部的實(shí)施方式?;诒景l(fā)明中的實(shí)施方式,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施方式,都屬于本發(fā)明保護(hù)的范圍。
除非另有定義,本發(fā)明所使用的技術(shù)和科學(xué)術(shù)語(yǔ)與屬于本發(fā)明的技術(shù)領(lǐng)域的技術(shù)人員通常理解的含義相同。本文中在本發(fā)明的說(shuō)明書(shū)中所使用的術(shù)語(yǔ)只是為了描述具體的實(shí)施方式的目的,不是旨在限制本發(fā)明。
本申請(qǐng)中,應(yīng)該本發(fā)明各實(shí)施例提供的余額數(shù)據(jù)更新方法可以是對(duì)賬數(shù)據(jù)生成、賬戶平均余額計(jì)算、數(shù)據(jù)移植、賬戶基本信息查詢、負(fù)債賬號(hào)開(kāi)立、國(guó)債賬戶開(kāi)立、子賬戶負(fù)債賬號(hào)開(kāi)立、簡(jiǎn)單賬戶付息處理、簡(jiǎn)單計(jì)息賬戶付息、計(jì)算套檔計(jì)息的利息、易得利、計(jì)提計(jì)息的計(jì)算、(簡(jiǎn)單)賬戶余額更新、賬號(hào)信息查詢、賬務(wù)記賬等。在本發(fā)明的各實(shí)施例中,系統(tǒng)交易日是指銀行系統(tǒng)的交易子系統(tǒng)的日期,系統(tǒng)當(dāng)前日是指銀行系統(tǒng)的會(huì)計(jì)子系統(tǒng)的日期。
圖1是本發(fā)明第一實(shí)施方式的余額數(shù)據(jù)更新方法的流程圖。如圖1所示,該余額數(shù)據(jù)更新方法包括以下步驟:
獲取步驟s110:獲取賬戶數(shù)據(jù),其中,該賬戶數(shù)據(jù)中包含賬戶余額、上次余額更新日,以及與所述上次余額更新日對(duì)應(yīng)的上次余額。
本步驟中,上次余額更新日是指上次余額數(shù)據(jù)的日期,上次余額是指上次余額數(shù)據(jù)的數(shù)值。例如,上次余額操作的日期是2016年1月1日,更新的余額是20萬(wàn),則上次余額更新日為20160101,上次余額為20w。
檢測(cè)步驟s120:檢測(cè)所述上次余額更新日與系統(tǒng)當(dāng)前交易日是否相同,然后進(jìn)入執(zhí)行步驟;
本實(shí)施例中,執(zhí)行步驟包括:
第一執(zhí)行步驟s130:檢測(cè)到所述上次余額更新日與系統(tǒng)當(dāng)前交易日不相同時(shí),執(zhí)行以下數(shù)據(jù)更新操作:
a、所述上次余額更新為所述賬戶余額;
b、將所述賬戶余額更新為所述上次余額與交易金額的代數(shù)和,以及,
c、將所述上次余額更新日更新為所述系統(tǒng)當(dāng)前日。
本實(shí)施方式中,例如系統(tǒng)當(dāng)前交易日為2016年02月02日,上次余額更新日為2016年01月01,則判斷上次余額更新日與系統(tǒng)當(dāng)前交易日不相同。示例性的,例如上次余額為20w,賬戶余額為30w,在數(shù)據(jù)更新操作a中,將上次余額更新為30w。
在數(shù)據(jù)更新操作b中,交易金額為某一筆交易的發(fā)生額,其可以是正數(shù),也可以是負(fù)數(shù)。如果交易金額為正,則上述的代數(shù)和為上次余額加上所述交易金額;如果交易金額為負(fù)數(shù),則上述的代數(shù)和為上次余額減去所述交易金額。在上述的示例中,如果交易金額為15w,則經(jīng)過(guò)數(shù)據(jù)更新操作b后,將賬戶余額更新為45w。
在數(shù)據(jù)更新操作c中,將系統(tǒng)當(dāng)前交易日設(shè)置為上述的上次余額更新日。因此,在上述示例中,將上次余額更新日設(shè)置為2016年02月02日。
本發(fā)明實(shí)施例提供的余額數(shù)據(jù)更新方法可以基于對(duì)帳數(shù)據(jù)中記錄上次余額更新日和與該上次余額更新日對(duì)應(yīng)的上次余額對(duì)賬戶余額進(jìn)行更新,避免需要在特定的數(shù)據(jù)更新時(shí)間更新數(shù)據(jù),從而可以系統(tǒng)的數(shù)據(jù)更新業(yè)務(wù)與正常的營(yíng)運(yùn)業(yè)務(wù)沖突,提高了系統(tǒng)的穩(wěn)定性和可靠性,實(shí)現(xiàn)每周24小時(shí)全天候運(yùn)行,確保日切過(guò)程除日歷表更換外,無(wú)其他處理。
而且,本發(fā)明實(shí)施例提供的余額數(shù)據(jù)更新方法支持在合適的時(shí)間,例如業(yè)務(wù)量較少的時(shí)段進(jìn)行批量數(shù)據(jù)更新,可以支持定點(diǎn)換日,將當(dāng)前批量中日前處理均可移致?lián)Q日后處理,無(wú)必須在日前處理項(xiàng)。在系統(tǒng)出現(xiàn)異常時(shí),只需從上次余額更新日的余額數(shù)據(jù)批量處理,即可恢復(fù)到當(dāng)日正常完結(jié)狀態(tài)。在月底、年終等重要時(shí)點(diǎn),日切可以做到隨時(shí)可切,對(duì)于月底和年終前的賬務(wù)處理,基于上次余額更新日的余額數(shù)據(jù)處理即可,實(shí)現(xiàn)夜間換日不停機(jī),確保系統(tǒng)可7*24不間斷運(yùn)行。并且,在月底、年終等重要時(shí)點(diǎn),會(huì)計(jì)系統(tǒng)完全可以“慢慢做”,不影響交易系統(tǒng)的對(duì)外營(yíng)業(yè)及換日。
圖2是本發(fā)明第二實(shí)施方式的余額數(shù)據(jù)更新方法的流程圖。所述的第二實(shí)施方式與第一實(shí)施方式的主要區(qū)別在于,第二實(shí)施方式是更為優(yōu)選的實(shí)施方式。需要說(shuō)明的是,在本發(fā)明的精神或基本特征的范圍內(nèi),適用于第一實(shí)施方式中的各具體方案也可以相應(yīng)的適用于第二實(shí)施方式中,為節(jié)省篇幅及避免重復(fù)起見(jiàn),在此不再贅述。
如圖1所示,該余額數(shù)據(jù)更新方法包括以下步驟:
獲取步驟s210:獲取賬戶數(shù)據(jù),其中,該賬戶數(shù)據(jù)中包含賬戶余額、上次余額更新日,以及與所述上次余額更新日對(duì)應(yīng)的上次余額。
檢測(cè)步驟s220:檢測(cè)到所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日是否相同,然后進(jìn)入執(zhí)行步驟。本實(shí)施例中,執(zhí)行步驟包括第一執(zhí)行步驟s240和第二執(zhí)行步驟s230。
第二執(zhí)行步驟s230:檢測(cè)到所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同時(shí),將所述賬戶余額更新為當(dāng)前所述賬戶余額與所述系統(tǒng)當(dāng)前交易日對(duì)應(yīng)的交易金額的代數(shù)和。
作為示例性的,例如系統(tǒng)當(dāng)前交易日為2016年02月02日,上次余額更新日為2016年02月02,則判斷上次余額更新日與系統(tǒng)當(dāng)前交易日相同。交易金額可以是正數(shù),也可以是負(fù)數(shù)。如果交易金額為正,則上述的代數(shù)和為上次余額加上所述交易金額;如果交易金額為負(fù)數(shù),則上述的代數(shù)和為上次余額減去所述交易金額。示例性的,例如賬戶余額為30w,如果交易金額為15w,在本步驟中,將賬戶余額更新為45w。
第一執(zhí)行步驟s240:檢測(cè)到所述上次余額更新日與系統(tǒng)當(dāng)前交易日不相同時(shí),執(zhí)行以下數(shù)據(jù)更新操作:
a、所述上次余額更新為所述賬戶余額;
b、將所述賬戶余額更新為所述上次余額與交易金額的代數(shù)和以及,
c、將所述上次余額更新日更新為所述系統(tǒng)當(dāng)前日。
在第一執(zhí)行步驟s240之后,進(jìn)入余額修改確定步驟s250、第一上日余額更新步驟s270或者第二上日余額更新步驟s280中的任一步驟。
余額修改確定步驟s250:檢測(cè)到取消交易請(qǐng)求時(shí),確定該取消交易請(qǐng)求對(duì)應(yīng)的賬戶余額修改是否完成,并進(jìn)入回滾步驟s250。
本實(shí)施例中,該取消交易請(qǐng)求來(lái)自系統(tǒng)沖正業(yè)務(wù)中的取消交易請(qǐng)求。收到該請(qǐng)求后,確認(rèn)該沖正業(yè)務(wù)對(duì)應(yīng)的交易涉及的賬戶余額修改是否完成。
回滾步驟s260:如果完成,則將所述賬戶余額回滾至交易前的賬戶余額,保持賬戶金額不變。
第一上日余額更新步驟s270:檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間未發(fā)生交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日不相同,將所述上日余額更新為所述賬戶余額。
在本步驟中,賬戶數(shù)據(jù)中包含有上日余額,上日余額是指前一天的賬戶余額。如果上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間未發(fā)生交易,作為示例性的,例如系統(tǒng)當(dāng)前交易日為2016年02月02日,上次余額更新日為2016年01月01,賬戶余額為45w,則判斷上次余額更新日與系統(tǒng)當(dāng)前交易日不相同,則將上日余額更新為賬戶余額45w。
第二上日余額更新步驟s280:檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間發(fā)生過(guò)交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同,將所述上日余額更新為所述上次余額。
如果上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間發(fā)生過(guò)交易,作為示例性的,例如系統(tǒng)當(dāng)前交易日為2016年01月01日,上次余額更新日為2016年01月01,上次余額為30w,則判斷上次余額更新日與系統(tǒng)當(dāng)前交易日相同,則將上日余額更新為上次余額30w。
在本步驟中,作為示例性的,例如系統(tǒng)當(dāng)前交易日為2016年02月02日,上次余額更新日為2016年01月01,賬戶余額為30w,則判斷上次余額更新日與系統(tǒng)當(dāng)前交易日不相同。如果未發(fā)生交易,則將上日余額更新為45w。
本第二實(shí)施方式提供的余額數(shù)據(jù)更新方法除了具有第一實(shí)施方式中所提到的技術(shù)效果之外,本發(fā)明實(shí)施例提供余額數(shù)據(jù)更新方法還基于對(duì)帳數(shù)據(jù)中記錄上次余額更新日和與該上次余額更新日對(duì)應(yīng)的上次余額對(duì)上日余額進(jìn)行更新,避免需要在特定的數(shù)據(jù)更新時(shí)間更新數(shù)據(jù),從而可以系統(tǒng)的數(shù)據(jù)更新業(yè)務(wù)與正常的營(yíng)運(yùn)業(yè)務(wù)沖突,提高了系統(tǒng)的穩(wěn)定性和可靠性,實(shí)現(xiàn)每周24小時(shí)全天候運(yùn)行,確保日切過(guò)程除日歷表更換外,無(wú)其他處理。
以上是對(duì)本發(fā)明所提供的方法進(jìn)行詳細(xì)描述。根據(jù)不同的需求,所示流程圖中方塊的執(zhí)行順序可以改變,某些方塊可以省略。下面對(duì)本發(fā)明所提供的裝置進(jìn)行描述。本發(fā)明所稱的模塊是完成一特定功能的程序段,比程序更適合于描述軟件在處理器中的執(zhí)行過(guò)程。
可以理解的是,對(duì)應(yīng)上述余額數(shù)據(jù)更新方法中的各實(shí)施方式,余額數(shù)據(jù)更新系統(tǒng)可以被分割成圖3中所示的各功能模塊中的一部分或者全部,各模塊的功能將在以下具體介紹。需要說(shuō)明的是,以上余額更新方法的各實(shí)施方式中相同的名詞、相關(guān)的名詞以及具體的解釋也可以適用于以下各模塊的功能介紹。為節(jié)省篇幅及避免重復(fù)起見(jiàn),在此就不再贅述。
如圖3所示,余額數(shù)據(jù)更新系統(tǒng)包括以下模塊:
獲取模塊10,用于獲取賬戶數(shù)據(jù),其中,該賬戶數(shù)據(jù)中包含賬戶余額、上次余額更新日,以及與所述上次余額更新日對(duì)應(yīng)的上次余額。
檢測(cè)模塊80,用于檢測(cè)所述上次余額更新日與系統(tǒng)當(dāng)前交易日是否相同;
執(zhí)行模塊,執(zhí)行模塊包括第一執(zhí)行模塊50和第二執(zhí)行模塊20。
第一執(zhí)行模塊50,用于檢測(cè)到所述上次余額更新日與系統(tǒng)當(dāng)前交易日不相同時(shí),執(zhí)行以下操作:
a、所述上次余額更新為所述賬戶余額;
b、將所述賬戶余額更新為所述上次余額與交易金額的代數(shù)和,以及,
c、將所述上次余額更新日更新為所述系統(tǒng)當(dāng)前日。
第二執(zhí)行模塊20,用于檢測(cè)到所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同時(shí),將所述賬戶余額更新為當(dāng)前所述賬戶余額與所述系統(tǒng)當(dāng)前交易日對(duì)應(yīng)的交易金額的代數(shù)和。
余額修改確定模塊30,用于檢測(cè)到取消交易請(qǐng)求時(shí),確定該交易請(qǐng)求對(duì)應(yīng)的賬戶余額修改是否完成;
回滾模塊40,用于如果完成,則將所述賬戶余額回滾至交易前的賬戶余額。
所述賬戶數(shù)據(jù)中還包含上日余額,該余額數(shù)據(jù)更新系統(tǒng)還包括:
第一上日余額更新模塊70,用于檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間未發(fā)生交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日不相同,將所述上日余額更新為所述賬戶余額。
第二上日余額更新模塊60,用于檢測(cè)所述上次余額更新日至所述系統(tǒng)當(dāng)前交易日之間發(fā)生過(guò)交易時(shí),如果所述上次余額更新日與所述系統(tǒng)當(dāng)前交易日相同,將所述上日余額更新為所述上次余額。
本發(fā)明提供的余額數(shù)據(jù)更新系統(tǒng)在更新數(shù)據(jù)時(shí),可以基于對(duì)帳數(shù)據(jù)中記錄上次余額更新日和與該上次余額更新日對(duì)應(yīng)的上次余額對(duì)賬戶余額、上日余額進(jìn)行更新,避免需要在特定的數(shù)據(jù)更新時(shí)間更新數(shù)據(jù),從而可以系統(tǒng)的數(shù)據(jù)更新業(yè)務(wù)與正常的營(yíng)運(yùn)業(yè)務(wù)沖突,提高了系統(tǒng)的穩(wěn)定性和可靠性。
上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式作了詳細(xì)說(shuō)明,但是本發(fā)明并不限于上述實(shí)施方式,在本領(lǐng)域的普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下作出各種變化。