專利名稱:交易處理的方法和裝置的制作方法
技術領域:
本發(fā)明涉及計費領域,并且更具體地,涉及交易處理的方法和裝置。
背景技術:
試算平衡,是金融資金核算系統(tǒng)定期要做的一項重要工作,其目的就是通過匯總、計算和比較,來檢查所有賬戶每天資金變動和賬證(簿)記錄的一致性、完整性和正確性。因此,試算平衡是必須保證的,是完成日終處理的必要條件,這是金融系統(tǒng)賬務處理的一個基本規(guī)范。在執(zhí)行試算平衡的過程中,如果進行實時交易,會導致實時賬簿中的賬戶記錄數(shù)據(jù)發(fā)生變化,很容易使得試算平衡的結果不正確。因此,現(xiàn)有的試算平衡處理過程往往需要對實時賬簿進行鎖定,以此來中止實時交易。 然而,實時賬簿的數(shù)據(jù)量非常巨大,致使整個試算平衡過程非常耗時。在試算平衡過程中中止實時交易,經(jīng)常導致實時交易在很長時間內(nèi)得不到處理。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種交易處理的方法和裝置,能夠在試算平衡過程中當實時賬簿不可修改時仍能進行實時交易。一方面,本發(fā)明實施例提供了一種交易處理的方法,該方法包括接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于臨時賬簿中待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該臨時賬簿中該待交易賬戶的賬戶記錄;若否,則從該實時賬簿中讀取該待交易賬戶的賬戶記錄,基于該待交易賬戶的賬戶記錄對交易請求進行處理,并在該臨時賬簿中記錄根據(jù)處理結果更新過的該待交易賬戶的賬戶記錄;在計算密集型事務處理結束后,根據(jù)該臨時賬簿對該實時賬簿進行更新,并在更新之后,刪除該臨時賬簿中的賬戶記錄。另一方面,本發(fā)明實施例提供了一種交易處理的裝置,該裝置包括交易處理模塊,用于接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于該臨時賬簿中該待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該臨時賬簿中該待交易賬戶的賬戶記錄;若否,則從該實時賬簿中讀取該待交易賬戶的賬戶記錄,基于該待交易賬戶的賬戶記錄對交易請求進行處理,并在該臨時賬簿中記錄根據(jù)處理結果更新過的該待交易賬戶的賬戶記錄;更新模塊,用于在計算密集型事務處理結束后,根據(jù)該臨時賬簿對該實時賬簿進行更新,并在更新之后,刪除該臨時賬簿中的賬戶記錄?;谏鲜黾夹g方案,本發(fā)明實施例的交易處理的方法和裝置,在實時賬簿正在接受計算密集型事務處理時,基于臨時賬簿處理交易請求,并在計算密集型事務處理結束后,根據(jù)臨時賬簿對實時賬簿進行更新,從而達到在進行試算平衡等計算密集型事務處理的過程中,當實時賬簿不可修改時仍能進行實時交易的目的。
為了更清楚地說明本發(fā)明實施例的技術方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付 出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是根據(jù)本發(fā)明實施例的交易處理的方法的示意性流程圖。圖2是根據(jù)本發(fā)明另一實施例的交易處理的方法的示意性流程圖。圖3是根據(jù)本發(fā)明實施例的交易處理的裝置的示意性框圖。圖4是根據(jù)本發(fā)明另一實施例的交易處理的裝置的示意性框圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應屬于本發(fā)明保護的范圍。圖I示出了根據(jù)本發(fā)明實施例的交易處理的方法100的示意性流程圖。如圖I所示,該方法100包括S110,接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于臨時賬簿中待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該臨時賬簿中該待交易賬戶的賬戶記錄;若否,則從該實時賬簿中讀取該待交易賬戶的賬戶記錄,基于該待交易賬戶的賬戶記錄對交易請求進行處理,并在該臨時賬簿中記錄根據(jù)處理結果更新過的該待交易賬戶的賬戶記錄;S120,在計算密集型事務處理結束后,根據(jù)該臨時賬簿對該實時賬簿進行更新,并在更新之后,刪除該臨時賬簿中的賬戶記錄。在本發(fā)明實施例中,交易處理的裝置在判定實時賬簿正在接受計算密集型事務處理時,基于臨時賬簿處理交易請求。具體而言,交易處理的裝置接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,首先判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若臨時賬簿中存在待交易賬戶的賬戶記錄,則基于臨時賬簿中待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新臨時賬簿中待交易賬戶的賬戶記錄;若臨時賬簿中不存在待交易賬戶的賬戶記錄,則從實時賬簿中讀取待交易賬戶的賬戶記錄,基于該待交易賬戶的賬戶記錄對交易請求進行處理,并在臨時賬簿中記錄根據(jù)處理結果更新過的待交易賬戶的賬戶記錄。也就是說,在計算密集型事務處理期間,對于待交易賬戶的第一次交易處理,從實時賬簿中讀取該待交易賬戶的賬戶記錄,并在交易處理后在臨時賬簿中記錄該待交易賬戶的賬戶記錄;對于該待交易賬戶的后續(xù)的交易處理,則基于臨時賬簿中該待交易賬戶的賬戶記錄進行,并在交易處理后更新臨時賬簿中該待交易賬戶的賬戶記錄。由于在計算密集型事務處理期間,發(fā)生過交易處理的賬戶的最新賬戶記錄保存在臨時賬簿中,在計算密集型事務處理結束后,需要將這些賬戶記錄更新到實時賬簿中。因此,在本發(fā)明實施例中,交易處理的裝置在計算密集型事務處理結束后,根據(jù)該臨時賬簿對該實時賬簿進行更新,并在更新之后,刪除該臨時賬簿中的賬戶記錄。這樣,本發(fā)明實施例的交易處理的方法,在實時賬簿正在接受計算密集型事務處理時,基于臨時賬簿處理交易請求,并在計算密集型事務處理結束后,根據(jù)臨時賬簿對實時賬簿進行更新,從而達到在進行試算平衡等計算密集型事務處理的過程中,當實時賬簿不可修改時仍能進行實時交易的目的。此外,由于需要更新的賬戶記錄僅為在計算密集型事務處理過程中接收到與該賬戶記錄相關聯(lián)的交易請求的賬戶記錄,因此相比需要更新實時賬簿中全部賬戶記錄的操作方法,本發(fā)明實施例提供的技術方案的更新操作的計算量更低。應理解,本發(fā)明實施例可以應用于各種計算密集型事務與實時交易存在沖突的場景。例如,試算平衡、會計系統(tǒng)的資金處理以及企業(yè)資源管理(Enterprise Resource Planning,簡稱為“ERP”)系統(tǒng)的財務分析等計算密集型事務與實時交易存在沖突的場景,都可以應用本發(fā)明實施例的技術方案,即上述計算密集型事務可以是試算平衡、會計系統(tǒng)的資金處理或者ERP系統(tǒng)的財務分析。在本發(fā)明實施例中,可選地,S120具體包括Al、在該臨時賬簿不為空時,讀取該臨時賬簿中的預定條數(shù)的賬戶記錄;A2、對于讀取的每一賬戶記錄,根據(jù)該每一賬戶記錄對該實時賬簿中的對應賬戶記錄進行更新,并在更新結束后,刪除該每一賬戶記錄;A3、在該預定條數(shù)的賬戶記錄更新結束后,回到步驟Al。由于在計算密集型事務處理期間發(fā)生交易處理的賬戶可能會有多個,因此在臨時賬簿中相應的賬戶記錄會有多條。若同時復制到實時賬簿中,復制時間會較長,而處于復制過程中的賬戶不能交易。因此,在本發(fā)明實施例中,可選地,交易處理的裝置將臨時賬簿中的賬戶記錄分批次更新到實時賬簿中。即,在該臨時賬簿不為空時,每次讀取該臨時賬簿中的預定條數(shù)的賬戶記錄;對于讀取的每一賬戶記錄,根據(jù)該每一賬戶記錄對該實時賬簿中的對應賬戶記錄進行更新,并在更新結束后,刪除該每一賬戶記錄。在臨時賬簿為空時,更新完畢。每個批次更新的預定條數(shù)可以根據(jù)并發(fā)交易的數(shù)目進行調(diào)整。例如,若并發(fā)交易比較多,可減少每個批次更新的賬戶記錄的條數(shù),以減少并發(fā)交易的阻塞率;若并發(fā)交易較少,可增大每個批次更新的賬戶記錄的條數(shù),減少總批次。應理解,每個批次更新的預定條數(shù)最小可為1,最大可為臨時賬簿中所有的賬戶記錄的條數(shù),即可以將臨時賬簿中的賬戶記錄一條一條地更新到實時賬簿,也可以將所有賬戶記錄一批更新完。在計算密集型事務處理結束后的更新過程期間,由于采用分批次更新的方式,每次更新預定條數(shù)的賬戶記錄,因此,在這期間沒有進行更新的其他賬戶可以進行交易??蛇x地,在這期間的交易可以通過以下方式實現(xiàn)在判定該實時賬簿正處于計算密集型事務處理結束后的更新狀態(tài)中時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于該臨時賬簿中該待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該臨時賬簿中該待交易賬戶的賬戶記錄;若否,則從該實時賬簿中讀取該待交易賬戶的賬戶記錄,基于該待交易賬戶的賬戶記錄對交易請求進行處理,并在該臨時賬簿中記錄根據(jù)處理結果更新過的該待交易賬戶的賬戶記錄。
可選地,在這期間的交易還可以通過以下方式實現(xiàn)在判定該實時賬簿正處于計算密集型事務處理結束后的更新狀態(tài)中時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于該臨時賬簿中該待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該臨時賬簿中該待交易賬戶的賬戶記錄;若否,則基于該實時賬簿中該待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該實時賬簿中該待交易賬戶的賬戶記錄。因此,本發(fā)明實施例的交易處理的方法,不僅不需要事先復制所有賬戶記錄,而且,在計算密集型事務處理結束后的更新過程中,通過分批次更新的方式,進一步降低了并發(fā)交易的阻塞率。
在本發(fā)明實施例中,可選地,該方法100還包括在判定該實時賬簿未接受計算密集型事務處理時,基于該實時賬簿中該待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該實時賬簿中該待交易賬戶的賬戶記錄。在實時賬簿未接受計算密集型事務處理時,交易處理的裝置基于實時賬簿處理交易請求,即采用正常交易處理方式。下面結合圖2,以試算平衡處理與實時交易并發(fā)的場景為例,詳細描述本發(fā)明實施例的交易處理的方法。應注意,這些例子僅僅是為了幫助本領域技術人員理解本發(fā)明的一些可能的實施方式,而非窮盡地列舉的所有實施方式,因而不能理解為對本發(fā)明范圍的限制。在非試算平衡期間,交易處理的流程為現(xiàn)有技術的常規(guī)流程,在此不再贅述。在試算平衡期間,試算平衡處理基于實時賬簿進行,實時賬簿不可修改。在此期間,會有賬戶需要進行交易。例如,在to時刻,進行交易T0,準備對賬戶A充值100元;在tl刻時,進行交易Tl,準備對賬戶A扣款50元,其中,TO發(fā)生在Tl之前。首先處理交易T0,具體流程如下。S201,確定臨時賬簿中是否存在待交易賬戶的賬戶記錄。在t0時刻,需要進行交易T0,交易處理的裝置確定實時賬簿正在接受試算平衡處理,因此需要基于臨時賬簿對賬戶A進行交易處理。交易處理的裝置首先確定臨時賬簿中是否存在賬戶A的賬戶記錄,由于是在試算期間的第一次交易,因此臨時賬簿中不存在賬戶A的賬戶記錄。S202,從實時賬簿中讀取賬戶記錄。因為臨時賬簿中不存在賬戶A的賬戶記錄,因此交易處理的裝置從實時賬簿中讀取賬戶A賬戶記錄。S204,創(chuàng)建賬戶實體。將讀取的賬戶A的賬戶記錄提取到內(nèi)存,創(chuàng)建賬戶實體,為業(yè)務處理做準備。S205,處理業(yè)務邏輯。完成交易TO的具體處理邏輯,即對賬戶A充值100元。S206,將賬戶記錄記錄到臨時賬簿。由于賬戶A的賬戶記錄是從實時賬簿中讀取的,因此在業(yè)務處理后,交易處理的裝置將處理后的賬戶A的賬戶記錄記錄到臨時賬簿。交易TO處理完成之后,試算平衡尚未結束,在tl時刻,處理交易Tl,具體流程如下。S201,確定臨時賬簿中是否存在待交易賬戶的賬戶記錄。由于是在試算期間的第二次交易,臨時賬簿中已經(jīng)存在賬戶A的賬戶記錄。
S203,從臨時賬簿中讀取賬戶記錄。因為臨時賬簿中已經(jīng)存在賬戶A的賬戶記錄,因此從臨時賬簿中讀取賬戶A的賬戶記錄。S204,創(chuàng)建賬戶實體。將讀取的賬戶A的賬戶記錄提取到內(nèi)存,創(chuàng)建賬戶實體,為業(yè)務處理做準備。S205,處理業(yè)務邏輯。完成交易Tl的具體處理邏輯,即對賬戶A扣款50元。S207,將賬戶記錄更新到臨時賬簿。由于賬戶A的賬戶記錄是從臨時賬簿中讀取的,因此在業(yè)務處理后,交易處理的裝置將處理后的賬戶A的賬戶記錄更新到臨時賬簿。此時臨時賬簿中賬戶A的余額是最新余額。在試算平衡處理結束后,交易處理的裝置根據(jù)臨時賬簿對實時賬簿進行更新,并在更新之后,刪除臨時賬簿中的賬戶記錄。在臨時賬簿中賬戶A的賬戶記錄更新到實時賬簿中后,實時賬簿中賬戶A的余額為最新余額。 在本發(fā)明實施例中,試算平衡基于實時賬簿進行,并且,在試算平衡的同時,基于臨時賬簿實現(xiàn)各分賬戶的實時交易,不須中斷實時交易。因此,本發(fā)明實施例的交易處理的方法,不需事先復制所有賬戶記錄,可以在實時賬簿不可修改時,仍能進行實時交易,從而能夠降低并發(fā)交易的阻塞率。上文結合圖I和圖2,詳細描述了根據(jù)本發(fā)明實施例的交易處理的方法,下面結合圖3和圖4,對根據(jù)本發(fā)明實施例的交易處理的裝置進行描述。圖3示出了根據(jù)本發(fā)明實施例的交易處理的裝置300的示意性框圖。如圖3所示,該裝置300包括交易處理模塊310,用于接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于該臨時賬簿中該待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該臨時賬簿中該待交易賬戶的賬戶記錄;若否,則從該實時賬簿中讀取該待交易賬戶的賬戶記錄,基于該待交易賬戶的賬戶記錄對交易請求進行處理,并在該臨時賬簿中記錄根據(jù)處理結果更新過的該待交易賬戶的賬戶記錄;更新模塊320,用于在計算密集型事務處理結束后,根據(jù)該臨時賬簿對該實時賬簿進行更新,并在更新之后,刪除該臨時賬簿中的賬戶記錄。本發(fā)明實施例的交易處理的裝置,在實時賬簿正在接受計算密集型事務處理時,基于臨時賬簿處理交易請求,并在計算密集型事務處理結束后,根據(jù)臨時賬簿對實時賬簿進行更新,從而達到在進行試算平衡等計算密集型事務處理的過程中,當實時賬簿不可修改時仍能進行實時交易的目的。此外,由于需要更新的賬戶記錄僅為在計算密集型事務處理過程中接收到與該賬戶記錄相關聯(lián)的交易請求的賬戶記錄,因此相比需要更新實時賬簿中全部賬戶記錄的操作方法,本發(fā)明實施例提供的技術方案的更新操作的計算量更低。在本發(fā)明實施例中,可選地,該交易處理模塊310還用于,在判定該實時賬簿未接受計算密集型事務處理,基于該實時賬簿中該待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該實時賬簿中該待交易賬戶的賬戶記錄。在本發(fā)明實施例中,可選地,該更新模塊320具體用于,在該臨時賬簿不為空時,讀取該臨時賬簿中的預定條數(shù)的賬戶記錄,對于讀取的每一賬戶記錄,根據(jù)該每一賬戶記錄對該實時賬簿中的對應賬戶記錄進行更新,并在更新結束后,刪除該每一賬戶記錄。應理解,在臨時賬簿不為空時,該更新模塊320循環(huán)執(zhí)行上述操作。根據(jù)本發(fā)明實施例的交易處理的裝置300可對應于本發(fā)明實施例中交易處理的方法的執(zhí)行主體,并且裝置300中的各個模塊的上述和其它操作和/或功能分別為了實現(xiàn)圖I和圖2中的各個方法的相應流程,為了簡潔,在此不再贅述。本發(fā)明實施例的交易處理的裝置,不需事先復制所有賬戶記錄,可以在實時賬簿不可修改時,仍能進行實時交易,從而能夠降低并發(fā)交易的阻塞率,而且,通過分批次更新的方式,能夠進一步降低并發(fā)交易的阻塞率。圖4示出了根據(jù)本發(fā)明另一實施例的交易處理的裝置400的示意性框圖。如圖4所示,該裝置400包括接收模塊410,用于接收交易請求; 賬戶數(shù)據(jù)讀寫組件420,用于在實時賬簿正在接受計算密集型事務處理時,若臨時賬簿中存在待交易賬戶的賬戶記錄,則從該臨時賬簿中讀取該待交易賬戶的賬戶記錄,若臨時賬簿中不存在待交易賬戶的賬戶記錄,則從該實時賬簿中讀取該待交易賬戶的賬戶記錄,并且在該實時賬簿未接受計算密集型事務處理時,從該實時賬簿中讀取該待交易賬戶的賬戶記錄;處理器430,用于基于該賬戶數(shù)據(jù)讀寫組件420讀取的該待交易賬戶的賬戶記錄對交易請求進行處理;該賬戶數(shù)據(jù)讀寫組件420還用于,在該實時賬簿正在接受計算密集型事務處理時,若該臨時賬簿中存在該待交易賬戶的賬戶記錄,則將該處理器430處理后的該待交易賬戶的賬戶記錄更新到該臨時賬簿中,若該若臨時賬簿中不存在該待交易賬戶的賬戶記錄,則將該處理器430處理后的該待交易賬戶的賬戶記錄記錄到該臨時賬簿中,并且,在該實時賬簿未接受計算密集型事務處理時,將該處理器430處理后的該待交易賬戶的賬戶記錄更新到該實時賬簿中;更新模塊440,用于在計算密集型事務處理結束后,根據(jù)該臨時賬簿對該實時賬簿進行更新,并在更新之后,刪除該臨時賬簿中的賬戶記錄。例如,在非試算平衡期間,賬戶數(shù)據(jù)讀寫組件從實時賬簿中讀取待交易賬戶的賬戶記錄,在處理器處理完后,再將處理后的賬戶記錄更新到實時賬簿;在試算平衡期間,賬戶數(shù)據(jù)讀寫組件從臨時賬簿中讀取待交易賬戶的賬戶記錄(若臨時賬簿中沒有待交易賬戶的賬戶記錄,則從實時賬簿中讀取待交易賬戶的賬戶記錄),在處理器處理完后,再將處理后的賬戶記錄更新到臨時賬簿(若臨時賬簿中還沒有待交易賬戶的賬戶記錄,則將處理后的賬戶記錄記錄到臨時賬簿)。在本發(fā)明實施例中,可選地,賬戶數(shù)據(jù)讀寫組件可以為DA0(Data Access Object)類,該DAO類可以針對不同場景選擇從實時賬簿或臨時賬簿中讀取賬戶記錄,并將處理器處理后的賬戶記錄寫入實時賬簿或臨時賬簿。本發(fā)明實施例的技術方案通過修改DAO類即可實現(xiàn),不需對業(yè)務層做任何修改,對架構的影響降低到最小程度。本發(fā)明實施例不影響交易層面的業(yè)務邏輯或領域?qū)嶓w,只須修改數(shù)據(jù)訪問層的DA O實體,有利于交易處理和日終處理各自功能的擴展;同時數(shù)據(jù)庫中也不需增加新的字段,并且,由于實時賬簿與臨時賬簿讀寫分離,即便有大量并發(fā)交易,也不影響性能。
在本發(fā)明實施例中,可選地,該更新模塊440具體用于,在該臨時賬簿不為空時,讀取該臨時賬簿中的預定條數(shù)的賬戶記錄,對于讀取的每一賬戶記錄,根據(jù)該每一賬戶記錄對該實時賬簿中的對應賬戶記錄進行更新,并在更新結束后,刪除該每一賬戶記錄。應理解,在臨時賬簿不為空時,該更新模塊440循環(huán)執(zhí)行上述操作。根據(jù)本發(fā)明實施例的交易處理的裝置400可對應于本發(fā)明實施例中交易處理的方法的執(zhí)行主體,并且該裝置400中的各個模塊的上述和其它操作和/或功能分別為了實現(xiàn)圖I和圖2中的各個方法的相應流程,為了簡潔,在此不再贅述。本發(fā)明實施例的交易處理的裝置,在實時賬簿正在接受計算密集型事務處理時,基于臨時賬簿處理交易請求,并在計算密集型事務處理結束后,根據(jù)臨時賬簿對實時賬簿進行更新,從而達到在進行試算平衡等計算密集型事務處理的過程中,當實時賬簿不可修改時仍能進行實時交易的目的。此外,由于需要更新的賬戶記錄僅為在計算密集型事務處理過程中接收到與該賬戶記錄相關聯(lián)的交易請求的賬戶記錄,因此相比需要更新實時賬簿中全部賬戶記錄的操作方法,本發(fā)明實施例提供的技術方案的更新操作的計算量更低。 應理解,在本發(fā)明實施例中,術語“和/或”僅僅是一種描述關聯(lián)對象的關聯(lián)關系,表示可以存在三種關系。例如,A和/或B,可以表示單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符“/”,一般表示前后關聯(lián)對象是一種“或”的關系。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。所屬領域的技術人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本發(fā)明實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分,或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。 以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應以權利要求的保護范圍為準。
權利要求
1.一種交易處理的方法,其特征在于,包括 接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于臨時賬簿中待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新所述臨時賬簿中所述待交易賬戶的賬戶記錄;若否,則從所述實時賬簿中讀取所述待交易賬戶的賬戶記錄,基于所述待交易賬戶的賬戶記錄對交易請求進行處理,并在所述臨時賬簿中記錄根據(jù)處理結果更新過的所述待交易賬戶的賬戶記錄; 在計算密集型事務處理結束后,根據(jù)所述臨時賬簿對所述實時賬簿進行更新,并在更新之后,刪除所述臨時賬簿中的賬戶記錄。
2.根據(jù)權利要求I所述的方法,其特征在于,所述方法還包括 在判定所述實時賬簿未接受計算密集型事務處理時,基于所述實時賬簿中所述待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新所述實時賬簿中所述待交易賬戶的賬戶記錄。
3.根據(jù)權利要求I或2所述的方法,其特征在于,所述在計算密集型事務處理結束后,根據(jù)所述臨時賬簿對所述實時賬簿進行更新,并在更新之后,刪除所述臨時賬簿中的賬戶記錄,具體包括 Al、在所述臨時賬簿不為空時,讀取所述臨時賬簿中的預定條數(shù)的賬戶記錄; A2、對于讀取的每一賬戶記錄,根據(jù)所述每一賬戶記錄對所述實時賬簿中的對應賬戶記錄進行更新,并在更新結束后,刪除所述每一賬戶記錄; A3、在所述預定條數(shù)的賬戶記錄更新結束后,回到步驟Al。
4.一種交易處理的裝置,其特征在于,包括 交易處理模塊,用于接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于所述臨時賬簿中所述待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新所述臨時賬簿中所述待交易賬戶的賬戶記錄;若否,則從所述實時賬簿中讀取所述待交易賬戶的賬戶記錄,基于所述待交易賬戶的賬戶記錄對交易請求進行處理,并在所述臨時賬簿中記錄根據(jù)處理結果更新過的所述待交易賬戶的賬戶記錄; 更新模塊,用于在計算密集型事務處理結束后,根據(jù)所述臨時賬簿對所述實時賬簿進行更新,并在更新之后,刪除所述臨時賬簿中的賬戶記錄。
5.根據(jù)權利要求4所述的裝置,其特征在于,所述交易處理模塊還用于,在判定所述實時賬簿未接受計算密集型事務處理時,基于所述實時賬簿中所述待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新所述實時賬簿中所述待交易賬戶的賬戶記錄。
6.根據(jù)權利要求4或5所述的裝置,其特征在于,所述更新模塊具體用于,在所述臨時賬簿不為空時,讀取所述臨時賬簿中的預定條數(shù)的賬戶記錄,對于讀取的每一賬戶記錄,根據(jù)所述每一賬戶記錄對所述實時賬簿中的對應賬戶記錄進行更新,并在更新結束后,刪除所述每一賬戶記錄。
全文摘要
本發(fā)明實施例公開了一種交易處理的方法和裝置。該方法包括接收交易請求,在判定實時賬簿正在接受計算密集型事務處理時,判斷臨時賬簿中是否存在待交易賬戶的賬戶記錄,若是,則基于臨時賬簿中待交易賬戶的賬戶記錄,對交易請求進行處理,并根據(jù)處理結果更新該臨時賬簿中該賬戶記錄;若否,則從該實時賬簿中讀取該待交易賬戶的賬戶記錄,基于該待交易賬戶的賬戶記錄對交易請求進行處理,并在該臨時賬簿中記錄根據(jù)處理結果更新過的該賬戶記錄;在計算密集型事務處理結束后,根據(jù)該臨時賬簿對該實時賬簿進行更新,并在更新之后,刪除該臨時賬簿中的賬戶記錄。本技術方案可在試算平衡過程中當實時賬簿不可修改時進行實時交易。
文檔編號G06Q50/00GK102870134SQ201280000511
公開日2013年1月9日 申請日期2012年6月18日 優(yōu)先權日2012年6月18日
發(fā)明者陳齊, 李科, 薛定勝, 姜衡 申請人:華為技術有限公司