本申請涉及通信
技術領域:
,尤其涉及一種業(yè)務處理方法和裝置。
背景技術:
:隨著互聯(lián)網(wǎng)技術的快速發(fā)展,越來越多的業(yè)務可以通過互聯(lián)網(wǎng)實現(xiàn),針對發(fā)生頻率較高的業(yè)務,如何在確保業(yè)務能夠及時處理的同時又不會給服務器帶來過大的壓力已成為亟待解決的問題。技術實現(xiàn)要素:有鑒于此,本申請?zhí)峁┮环N業(yè)務處理方法和裝置。具體地,本申請是通過如下技術方案實現(xiàn)的:一種業(yè)務處理方法,所述方法包括:在觸發(fā)日常業(yè)務時,將所述日常業(yè)務的業(yè)務參數(shù)標記為未結算狀態(tài),其中,所述日常業(yè)務為針對多個用戶賬號的業(yè)務參數(shù)處理業(yè)務;按照預設的時間周期輪詢業(yè)務參數(shù)表,并結算所述業(yè)務參數(shù)表中未結算狀態(tài)的業(yè)務參數(shù);在觸發(fā)基于用戶賬號的定向交易業(yè)務時,判斷所述用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù);如果存在,則在結算所述用戶賬號的未結算狀態(tài)的業(yè)務參數(shù)后,執(zhí)行所述定向交易業(yè)務。可選的,所述方法還包括:在結算完畢未結算狀態(tài)的業(yè)務參數(shù)后,將所述業(yè)務參數(shù)的狀態(tài)更新為已 結算,并記錄結算時間??蛇x的,結算未結算狀態(tài)的業(yè)務參數(shù),包括:鎖定所述未結算狀態(tài)的業(yè)務參數(shù)所屬的用戶賬號;判斷所述未結算狀態(tài)的業(yè)務參數(shù)所屬用戶賬號的業(yè)務參數(shù)上次結算時間是否早于所述業(yè)務參數(shù)的觸發(fā)時間;如果所述結算時間早于所述觸發(fā)時間,則結算所述未結算狀態(tài)的業(yè)務參數(shù)??蛇x的,所述方法還包括:在接收到用戶針對日常業(yè)務的查詢指令后,將用戶賬號的業(yè)務參數(shù)信息展示給用戶,所述業(yè)務參數(shù)信息中包括有各業(yè)務參數(shù)的結算時間??蛇x的,所述日常業(yè)務為日收益發(fā)放業(yè)務,所述業(yè)務參數(shù)為收益金額,所述定向交易業(yè)務為賬號資金流出業(yè)務。一種業(yè)務處理裝置,所述裝置包括:業(yè)務觸發(fā)單元,在觸發(fā)日常業(yè)務時,將所述日常業(yè)務的業(yè)務參數(shù)標記為未結算狀態(tài),其中,所述日常業(yè)務為針對多個用戶賬號的業(yè)務參數(shù)處理業(yè)務;周期結算單元,按照預設的時間周期輪詢業(yè)務參數(shù)表,并結算所述業(yè)務參數(shù)表中未結算狀態(tài)的業(yè)務參數(shù);交易觸發(fā)單元,在觸發(fā)基于用戶賬號的定向交易業(yè)務時,判斷所述用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù);觸發(fā)結算單元,在存在未結算狀態(tài)的業(yè)務參數(shù)時,在結算所述用戶賬號的未結算狀態(tài)的業(yè)務參數(shù)后,執(zhí)行所述定向交易業(yè)務。可選的,所述裝置還包括:狀態(tài)更新單元,在結算完畢未結算狀態(tài)的業(yè)務參數(shù)后,將所述業(yè)務參數(shù)的狀態(tài)更新為已結算,并記錄結算時間??蛇x的,所述周期結算單元和所述觸發(fā)結算單元,包括:鎖定子單元,鎖定所述未結算狀態(tài)的業(yè)務參數(shù)所屬的用戶賬號;判斷子單元,判斷所述未結算狀態(tài)的業(yè)務參數(shù)所屬用戶賬號的業(yè)務參數(shù) 上次結算時間是否早于所述業(yè)務參數(shù)的觸發(fā)時間;結算子單元,在所述結算時間早于所述觸發(fā)時間時,結算所述未結算狀態(tài)的業(yè)務參數(shù)??蛇x的,所述裝置還包括:信息展示單元,在接收到用戶針對日常業(yè)務的查詢指令后,將用戶賬號的業(yè)務參數(shù)信息展示給用戶,所述業(yè)務參數(shù)信息中包括有各業(yè)務參數(shù)的結算時間??蛇x的,所述日常業(yè)務為日收益發(fā)放業(yè)務,所述業(yè)務參數(shù)為收益金額,所述定向交易業(yè)務為賬號資金流出業(yè)務。由此可見,本申請在對日常業(yè)務的業(yè)務參數(shù)進行結算時,可以周期性地結算業(yè)務參數(shù)表中未結算狀態(tài)的業(yè)務參數(shù),并在觸發(fā)基于用戶賬號的定向交易業(yè)務時,采用異步線程,結算所述用戶賬號的未結算狀態(tài)的業(yè)務參數(shù),以確保定向交易業(yè)務的順利執(zhí)行。采用本申請?zhí)峁┑纳鲜龇桨福梢栽诮Y算海量業(yè)務參數(shù)時,減輕服務器的處理壓力,同時確保用戶定向交易業(yè)務的執(zhí)行效率。附圖說明圖1是本申請一示例性實施例示出的一種業(yè)務處理方法的流程圖。圖2是本申請一示例性實施例示出的一種結算未結算狀態(tài)的業(yè)務參數(shù)的流程圖。圖3是本申請一示例性實施例示出的一種用于業(yè)務處理裝置的一結構示意圖。圖4是本申請一示例性實施例示出的一種業(yè)務處理裝置的結構示意圖。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的 要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。目前,針對發(fā)生頻率較高的業(yè)務,比如:向用戶賬號發(fā)放收益等業(yè)務,負責收益發(fā)放的服務器通常會在固定的時間進行收益的發(fā)放,在收益發(fā)放后,用戶的賬面中會顯示發(fā)放收益后的總金額,然而這筆收益尚未真正結算到用戶賬號中,負責資金結算的服務器會在收益發(fā)放后將每筆收益轉結到對應的用戶賬號中,以實現(xiàn)收益的真正到賬。相關技術中,通常會在收益發(fā)放時實時對收益進行轉結,然而,由于收益發(fā)放的流程比較復雜,其中任一環(huán)節(jié)耗時較長或者發(fā)生錯誤都會影響用戶收益的查看與使用,在收益量較多的情況下,實時轉結的方案是不可行的。此外,在相關技術中,還可能采用累計轉結的方案,在用戶使用余額的時候進行收益的轉結,然而,如果用戶使用余額的頻率較低,會導致累計未轉結的收益較多,造成較大的性能開銷,影響用戶進行業(yè)務操作的效率。針對上述問題,本申請?zhí)峁┮环N業(yè)務處理方案。圖1是本申請一示例性實施例示出的一種業(yè)務處理方法的流程圖。請參考圖1,所述業(yè)務處理方法可以應用在業(yè)務服務器中,包括有以下步驟:步驟101,在觸發(fā)日常業(yè)務時,將所述日常業(yè)務的業(yè)務參數(shù)標記為未結算狀態(tài)。在本實施例中,所述日常業(yè)務通常為發(fā)生頻率較高的針對多個用戶賬號的業(yè)務參數(shù)處理業(yè)務,舉例來說,所述日常業(yè)務可以為理財產(chǎn)品的日收益發(fā)放業(yè)務,比如:余額寶的日收益發(fā)放業(yè)務,所述日常業(yè)務也可以為滯納金的日扣款業(yè)務,比如:燃氣費滯納金的日扣款業(yè)務等。所述日常業(yè)務的處理過程通常包括有兩個階段,第一個階段為觸發(fā)階段,第二個階段為結算階段。在觸發(fā)階段,與觸發(fā)相關的服務器會針對多個用戶賬號分別進行業(yè)務參數(shù)的觸發(fā)操作,比如:發(fā)放或者扣除操作,該觸發(fā)操作僅表現(xiàn)在用戶賬號的賬面中。在結算階段,與結算相關的服務器會對上述觸發(fā)操作進行結算,使得業(yè)務參數(shù)真正轉到用戶賬號中或者真正在用戶賬號中扣除。其中,所述業(yè)務參數(shù)為所述日常業(yè)務的業(yè)務金額,比如:日收益發(fā)放業(yè)務的收益金額、扣款業(yè)務的扣款金額等。所述與觸發(fā)相關的服務器以及所述與結算相關的服務器可以為同一服務器或者服務器集群,也可以為不同的服務器或者屬于不同的服務器集群,本申請對此不作特殊限制。在本實施例中,所述日常業(yè)務的觸發(fā)可以包括:業(yè)務參數(shù)的發(fā)放或者業(yè)務參數(shù)的扣除。業(yè)務服務器可以在觸發(fā)所述日常業(yè)務時,將所述日常業(yè)務的業(yè)務參數(shù)標記為未結算狀態(tài)。舉例來說,假設所述日常業(yè)務為理財產(chǎn)品的日收益發(fā)放業(yè)務,則業(yè)務服務器可以在日收益發(fā)放后,將所有用戶賬號的日收益均標記為未結算狀態(tài)。步驟102,按照預設的時間周期輪詢業(yè)務參數(shù)表,并結算所述業(yè)務參數(shù)表中未結算狀態(tài)的業(yè)務參數(shù)。在本實施例中,所述預設的時間周期可以由開發(fā)人員進行設置,比如:1分鐘、2分鐘等。所述業(yè)務參數(shù)表通常為業(yè)務服務器后臺用于記錄所有業(yè)務參數(shù)的列表,所述業(yè)務參數(shù)表中可以包括:業(yè)務參數(shù)、業(yè)務參數(shù)所屬的用戶 賬號、業(yè)務參數(shù)的觸發(fā)時間、業(yè)務參數(shù)的結算時間、業(yè)務參數(shù)的當前狀態(tài)等信息。用戶賬號日收益金額發(fā)放時間結算時間當前狀態(tài)a1002015/12/242015/12/24已結算a802015/12/25未結算b202015/12/252015/12/25已結算表1表1示出了本申請一個例子中的業(yè)務參數(shù)表,請參考表1的示例,假設所述業(yè)務參數(shù)為日收益金額,所述日常業(yè)務為日收益的發(fā)放業(yè)務,在2015年12月24日向用戶賬號a發(fā)放的日收益為100元,這100元已結算,結算時間為2015年12月24日,在2015年12月25日向用戶賬號a發(fā)放的日收益為80元,這80元尚未結算。需要說明的是,表1僅為示例性的說明,在實際應用中,業(yè)務服務器也可以不組織這樣的表格,本申請對此不作特殊限制。在本實施例中,業(yè)務服務器可以按照所述時間周期輪詢業(yè)務參數(shù)表,并結算所述業(yè)務參數(shù)表中未結算狀態(tài)的業(yè)務參數(shù)。比如:可以依次獲取所述業(yè)務參數(shù)表中各業(yè)務參數(shù)的當前狀態(tài),并在當前狀態(tài)為未結算時,對所述業(yè)務參數(shù)進行結算。仍以表1為例,可以將2015年12月25日向用戶賬號a發(fā)放的80元日收益結算到用戶賬號a中。步驟103,在觸發(fā)基于用戶賬號的定向交易業(yè)務時,判斷所述用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù)。在本實施例中,所述定向交易業(yè)務通常為賬號資金的流出業(yè)務,當觸發(fā)基于用戶賬號的所述定向交易業(yè)務時,可以先判斷所述用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù),如果存在,則可以執(zhí)行步驟104,如果不存在,則可以執(zhí)行所述定向交易業(yè)務。在本實施例中,可以查詢所述業(yè)務參數(shù)表,以確定所述用戶賬號是否存 在未結算狀態(tài)的業(yè)務參數(shù)??蛇x的,為提高處理效率,業(yè)務服務器可以通過查詢用戶表以確定所述用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù)。其中,所述用戶表是基于賬號維度的列表,便于進行基于用戶賬號的相關信息的查詢和更新。所述用戶表中通常包括用戶賬號的各種相關信息,比如:賬號資金的余額、業(yè)務參數(shù)的發(fā)放時間、業(yè)務參數(shù)的結算時間等。當然,在實際應用中,也可以通過其他的方式確定所述用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù),本申請對此不作特殊限制。步驟104,如果存在,則在結算所述用戶賬號的未結算狀態(tài)的業(yè)務參數(shù)后,執(zhí)行所述定向交易業(yè)務。基于前述步驟103的判斷結果,當所述用戶賬號存在未結算狀態(tài)的業(yè)務參數(shù)時,可以先結算所述未結算狀態(tài)的業(yè)務參數(shù),并在結算完畢后,執(zhí)行所述定向交易業(yè)務。在本實施例中,在觸發(fā)基于用戶賬號的定向交易業(yè)務時,可以采用異步線程判斷用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù),并在存在時,結算所述用戶賬號未結算狀態(tài)的業(yè)務參數(shù),以并執(zhí)行所述定向交易業(yè)務。由以上描述可以看出,本申請在對日常業(yè)務的業(yè)務參數(shù)進行結算時,可以周期性地結算業(yè)務參數(shù)表中未結算狀態(tài)的業(yè)務參數(shù),并在觸發(fā)基于用戶賬號的定向交易業(yè)務時,采用異步線程,結算所述用戶賬號的未結算狀態(tài)的業(yè)務參數(shù),以確保定向交易業(yè)務的順利執(zhí)行。采用本申請?zhí)峁┑纳鲜龇桨福梢栽诮Y算海量業(yè)務參數(shù)時,減輕服務器的處理壓力,同時確保用戶定向交易業(yè)務的執(zhí)行效率??蛇x的,在本申請一個例子中,業(yè)務服務器可以在結算完畢未結算狀態(tài)的業(yè)務參數(shù)后,將所述業(yè)務參數(shù)的狀態(tài)更新為已結算,并記錄所述業(yè)務參數(shù)的結算時間。仍以表1所示的業(yè)務參數(shù)表為例,當結算完畢2015年12月25日向用戶賬號a發(fā)放的80元日收益金額后,可以將該日收益金額的當前狀態(tài)更新為已結算,同時記錄該日收益金額的結算時間,比如:2015年12月25日??蛇x的,在本申請另一個例子中,請參考圖2,結算未結算狀態(tài)的業(yè)務參數(shù)的過程可以包括以下步驟:步驟201,鎖定未結算狀態(tài)的業(yè)務參數(shù)所屬的用戶賬號。在本實施例中,在進行業(yè)務參數(shù)的結算時,通常要鎖定所述業(yè)務參數(shù)所屬的用戶賬號,比如:鎖定所述用戶賬號的賬號資金,以確保結算過程中該用戶賬號不會出現(xiàn)資金變動,進而確保賬號資金的準確度。步驟202,判斷所述未結算狀態(tài)的業(yè)務參數(shù)所屬用戶賬號的業(yè)務參數(shù)上次結算時間是否早于所述業(yè)務參數(shù)的觸發(fā)時間,如果早于,則可以執(zhí)行步驟203?;谇笆霾襟E201,在鎖定所述業(yè)務參數(shù)所屬的用戶賬號后,在本步驟中,可以判斷所述業(yè)務參數(shù)所屬用戶賬號的業(yè)務參數(shù)上次結算時間是否早于所述業(yè)務參數(shù)的觸發(fā)時間。如果早于,則可以執(zhí)行步驟203。如果晚于或者等于,則通常說明在確定用戶賬號存在未結算的業(yè)務參數(shù)之后,鎖定用戶賬號之前,對該業(yè)務參數(shù)進行了結算操作,此時,無需重新結算,可以結束流程。仍以表1所示的業(yè)務參數(shù)表為例,假設2015年12月25日下發(fā)給用戶賬號a的80元日收益金額尚未結算,如果觸發(fā)基于用戶賬號a的定向交易業(yè)務,比如:消費業(yè)務,則在鎖定用戶賬號a后,可以確認用戶賬號a的日收益上次結算時間為2015年12月24日,早于未結算的80元日收益金額的發(fā)放時間2015年12月25日,因此,可以繼續(xù)執(zhí)行步驟203。假設,在本步驟中,用戶賬號a的日收益上次結算時間為2015年12月25日,等于80元日收益金額的發(fā)放時間,則可以說明80元日收益金額已成功結算,此時,無需再重新結算,可以結束流程。步驟203,結算所述未結算狀態(tài)的業(yè)務參數(shù)。基于前述步驟202的判斷結果,當所述未結算狀態(tài)的業(yè)務參數(shù)所屬用戶賬號的業(yè)務參數(shù)上次結算時間是否早于所述業(yè)務參數(shù)的觸發(fā)時間時,在本步驟中,可以結算所述未結算狀態(tài)的業(yè)務參數(shù)??蛇x的,在本申請一個例子中,采用本申請?zhí)峁┑纳鲜鰳I(yè)務參數(shù)結算方案,可以向用戶展示業(yè)務參數(shù)的觸發(fā)、結算的過程,提升用戶的使用體驗。具體地,業(yè)務服務器可以在接收到用戶針對日常業(yè)務的查詢指令后,將用戶賬號的業(yè)務參數(shù)信息展示給用戶,所述業(yè)務參數(shù)信息中包括有各業(yè)務參數(shù)的結算時間。仍以表1為例,假設用戶賬號a的合法使用者a要查看其賬戶資金的日收益情況,業(yè)務服務器在接收到基于用戶賬號a的日收益查詢指令后,可以將預設時間段內或者用戶查詢的時間段內用戶賬號a的日收益金額、發(fā)放時間以及結算時間展示給用戶。請參考表2的示例,用戶a可以清晰地了解到自己賬號日收益的相關信息,提升用戶的使用體驗。日收益金額發(fā)放時間結算時間802015/12/252015/12/251002015/12/242015/12/24922015/12/232015/12/23………表2與前述業(yè)務處理方法的實施例相對應,本申請還提供了業(yè)務處理裝置的實施例。本申請業(yè)務處理裝置的實施例可以應用在業(yè)務服務器上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在業(yè)務服務器的處理器將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。從硬件層面而言,如圖3所示,為本申請業(yè)務處理裝置所在業(yè)務服務器的一種硬件結構圖,除了圖3所示的處理器、內存、網(wǎng)絡接口、以及非易失性存儲器之外,實施例中裝置所在的業(yè)務服務器通常根據(jù)該業(yè)務服務器的實際功能,還可以包括其他硬件,對此不再贅述。圖4是本申請一示例性實施例示出的一種業(yè)務處理裝置的結構示意圖。請參考圖4,所述圖片處理裝置300可以應用在圖3所示的業(yè)務服務器 中,包括有:業(yè)務觸發(fā)單元301、周期結算單元302、交易觸發(fā)單元303、觸發(fā)結算單元304、狀態(tài)更新單元305以及信息展示單元306。其中,所述周期結算單元302和所述觸發(fā)結算單元304還可以包括:鎖定子單元3021、判斷子單元3022以及結算子單元3023。所述業(yè)務觸發(fā)單元301,在觸發(fā)日常業(yè)務時,將所述日常業(yè)務的業(yè)務參數(shù)標記為未結算狀態(tài),其中,所述日常業(yè)務為針對多個用戶賬號的業(yè)務參數(shù)處理業(yè)務;所述周期結算單元302,按照預設的時間周期輪詢業(yè)務參數(shù)表,并結算所述業(yè)務參數(shù)表中未結算狀態(tài)的業(yè)務參數(shù);所述交易觸發(fā)單元303,在觸發(fā)基于用戶賬號的定向交易業(yè)務時,判斷所述用戶賬號是否存在未結算狀態(tài)的業(yè)務參數(shù);所述觸發(fā)結算單元304,在存在未結算狀態(tài)的業(yè)務參數(shù)時,在結算所述用戶賬號的未結算狀態(tài)的業(yè)務參數(shù)后,執(zhí)行所述定向交易業(yè)務。所述狀態(tài)更新單元305,在結算完畢未結算狀態(tài)的業(yè)務參數(shù)后,將所述業(yè)務參數(shù)的狀態(tài)更新為已結算,并記錄結算時間。所述鎖定子單元3021,鎖定所述未結算狀態(tài)的業(yè)務參數(shù)所屬的用戶賬號;所述判斷子單元3022,判斷所述未結算狀態(tài)的業(yè)務參數(shù)所屬用戶賬號的業(yè)務參數(shù)上次結算時間是否早于所述業(yè)務參數(shù)的觸發(fā)時間;所述結算子單元3023,在所述結算時間早于所述觸發(fā)時間時,結算所述未結算狀態(tài)的業(yè)務參數(shù)。所述信息展示單元306,在接收到用戶針對日常業(yè)務的查詢指令后,將用戶賬號的業(yè)務參數(shù)信息展示給用戶,所述業(yè)務參數(shù)信息中包括有各業(yè)務參數(shù)的結算時間??蛇x的,所述日常業(yè)務為日收益發(fā)放業(yè)務,所述業(yè)務參數(shù)為收益金額,所述定向交易業(yè)務為賬號資金流出業(yè)務。上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應步驟的實現(xiàn)過程,在此不再贅述。對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。當前第1頁12