亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

業(yè)務處理方法、裝置及系統與流程

文檔序號:12753354閱讀:184來源:國知局
業(yè)務處理方法、裝置及系統與流程

本發(fā)明涉及通信技術領域,特別涉及一種業(yè)務處理方法、裝置及系統。



背景技術:

業(yè)務支撐系統(英文:Business Support System;簡稱:BSS)作為運營商的核心系統,承載著客戶管理、產品銷售、訂單管理、收入管理等功能。運營商根據客戶的業(yè)務需求,采用BSS(即服務端)完成各項業(yè)務的處理,如完成寬帶用戶開戶業(yè)務的處理。通常,處理一個業(yè)務的流程包括多個環(huán)節(jié)。

現有技術中有一種業(yè)務處理方法,通過該方法,各環(huán)節(jié)需要BSS或客戶端直接與用于存儲該業(yè)務的相關數據的數據庫交互。假設該業(yè)務為開戶業(yè)務,在業(yè)務受理環(huán)節(jié)中,操作人員需要收集客戶的基本信息,如用戶信息、賬戶信息等,操作人員再將該基本信息通過客戶端保存至數據庫。又如,在服務開通環(huán)節(jié)中,BSS會向移動核心網發(fā)送通知消息,使得移動核心網開通手機號碼,同時BSS采用開通的結果以及手機號碼信息更新數據庫。

具體的,采用上述業(yè)務處理方法處理開戶業(yè)務(例如開戶產品包括1個寬帶,1個手機號碼和1個終端)可以包括如下步驟:1)用戶A前往營業(yè)廳請求辦理開戶業(yè)務,客戶端執(zhí)行業(yè)務受理環(huán)節(jié);2)客戶端根據用戶A的辦理需求以及當前的套餐信息,幫助用戶A選擇合約手機并確定寬帶和手機號碼的套餐,同時,客戶端獲取如下信息(該信息被保存至數據庫中),生成業(yè)務訂單:a)用戶信息,該用戶信息包括根據用戶A的身份信息,b)賬戶信息,該賬戶信息用于后續(xù)的充值或付費等,并且該賬戶信息能夠與銀行卡關聯,c)手機號碼信息和寬帶賬號信息,d)訂購信息,該訂購信息包括用戶A購買的合約手機、手機號碼及寬帶的套餐等信息;3)操作人員收取用戶A的業(yè)務處理相關費用后,客戶端將業(yè)務訂單提交至服務端,操作人員通知用戶A回家等待工程師上門施工。該業(yè)務訂單被保存至數據庫中。此時,用戶可以獲得手機號碼,并帶走手機;4)服務端得到2)中的信息后,對業(yè)務訂單進行處理,并將處理結果保存至外圍系統中的計費系統以及數據庫中;5)服務端通過讀取數據庫確定用戶A購買了對應手機,然后指示外圍系統中的企業(yè)資源計劃(英文:Enterprise Resource Planning;簡稱:EPR)系統執(zhí)行資源扣減動作,并將扣減的序列號及日志等信息保存至數據庫;6)服務端通過讀取數據庫得到相應的手機號碼的開通信息,然后指示外圍系統中的移動核心網執(zhí)行服務開通動作,同時根據服務開通結果對數據庫中的數據進行更新,此時,手機處于可用狀態(tài);7)服務端通過讀取數據庫得到相應的寬帶開通信息,然后指示運營支撐系統(英文:Operation support system;簡稱:OSS)安排工程師上門施工,安裝寬帶。寬帶安裝完畢后,OSS再向服務端發(fā)送通知消息,服務端再將寬帶安裝等信息保存至數據庫;8)當該開戶業(yè)務的所有開通任務都完成時,服務端確定2)中的信息,并將該信息發(fā)送至計費系統,由計費系統開始計費收租,服務端將計費結果保存至數據庫中。數據庫可以由數據庫管理系統(英文:Database Management System;簡稱:DBMS)來操縱和管理。至此,完成整個開戶業(yè)務的處理。

由于上述方法中,各環(huán)節(jié)都需要BSS(或客戶端)與數據庫交互,所以如果當前環(huán)節(jié)執(zhí)行失敗,那么當前環(huán)節(jié)的數據與之前所有環(huán)節(jié)的數據不一致,需要將之前每個環(huán)節(jié)中的更新分別回滾至業(yè)務被處理之前的狀態(tài),該回滾操作過程較復雜。



技術實現要素:

為了解決現有技術業(yè)務處理失敗時需要執(zhí)行復雜的回滾操作的問題,本發(fā)明提供了一種業(yè)務處理方法、裝置及系統。所述技術方案如下:

第一方面,提供了一種業(yè)務處理方法,用于服務端,所述方法包括:

服務端接收客戶端發(fā)送的業(yè)務處理請求消息,該業(yè)務處理請求消息用于指示處理用戶所請求辦理的目標業(yè)務。之后,服務端根據業(yè)務處理請求消息創(chuàng)建目標業(yè)務對應的業(yè)務會話,并為業(yè)務會話分配會話存儲空間。服務端將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間,并處理目標業(yè)務。服務端再根據對目標業(yè)務的處理,訪問和更新會話存儲空間中的業(yè)務數據。在完成目標業(yè)務后,服務端采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新。

在使用本發(fā)明提供的業(yè)務處理方法時,服務端無需在各環(huán)節(jié)都與數據庫交互,會話存儲空間中的業(yè)務數據能夠被一次性提交至數據庫中,這樣一來,充分保證了數據庫中數據的一致性,避免了業(yè)務處理失敗時需要執(zhí)行復雜的回滾操作。

該方法中,服務端創(chuàng)建的業(yè)務會話的生命周期與目標業(yè)務的處理時長相同,即業(yè)務會話開始于目標業(yè)務的受理時刻,結束于該目標業(yè)務的完成時刻。本發(fā)明采用會話存儲空間來代替原來的數據庫,避免了服務端與數據庫多次交互,簡化了對數據庫的操作過程。

可選的,處理目標業(yè)務具體包括:執(zhí)行用于處理目標業(yè)務的多個環(huán)節(jié)。相應的,根據對目標業(yè)務的處理,訪問會話存儲空間中的業(yè)務數據具體包括:在執(zhí)行多個環(huán)節(jié)的過程中,從會話存儲空間中讀取執(zhí)行各環(huán)節(jié)所需的業(yè)務數據。

服務端將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間,執(zhí)行用于處理目標業(yè)務的多個環(huán)節(jié)。執(zhí)行過程中,在需要獲取相關業(yè)務數據時,服務端可以直接從會話存儲空間中讀取,無需從數據庫中讀取。

可選的,根據對目標業(yè)務的處理,更新會話存儲空間中的業(yè)務數據具體包括:在執(zhí)行多個環(huán)節(jié)的過程中,將各環(huán)節(jié)中產生的數據,更新至會話存儲空間中。

服務端在執(zhí)行多個環(huán)節(jié)的過程中,無需每次將產生的數據更新至數據庫中,而是將產生的數據更新至會話存儲空間中,實現了一次性提交,避免了當某個環(huán)節(jié)出現問題時需要執(zhí)行復雜的回滾操作。

可選的,將各環(huán)節(jié)中產生的數據,更新至會話存儲空間中具體包括:根據各環(huán)節(jié)中產生的數據修改會話存儲空間中的業(yè)務數據,或,根據各環(huán)節(jié)中產生的數據刪除會話存儲空間中的業(yè)務數據,或,根據各環(huán)節(jié)中產生的數據向會話存儲空間中寫入新的業(yè)務數據。

服務端在將各環(huán)節(jié)中產生的數據更新至會話存儲空間中時,可以修改會話存儲空間中的業(yè)務數據,也可以刪除會話存儲空間中的業(yè)務數據,還可以向會話存儲空間中寫入新的業(yè)務數據。服務端可以對會話存儲空間中的業(yè)務數據執(zhí)行各種類型的操作以完成目標業(yè)務的處理。

可選的,在根據業(yè)務處理請求消息創(chuàng)建目標業(yè)務對應的業(yè)務會話之后,該方法還可以包括:服務端為業(yè)務會話分配用于唯一標識業(yè)務會話的業(yè)務會話標識。服務端將業(yè)務會話標識傳遞給客戶端,服務端與客戶端在業(yè)務會話內的每次交互中攜帶業(yè)務會話標識。

服務端為業(yè)務會話分配業(yè)務會話標識后,將該業(yè)務會話標識傳遞給客戶端,以便于后續(xù)客戶端與服務端交互時,客戶端將業(yè)務會話標識作為參數傳遞給服務端,服務端再根據客戶端發(fā)送的該業(yè)務會話標識確定目標業(yè)務對應的業(yè)務會話,通過會話存儲空間完成目標業(yè)務的處理。

可選的,該方法還可以包括:當對目標業(yè)務的處理停留于多個環(huán)節(jié)中的一個環(huán)節(jié)處時,將業(yè)務會話保存至數據庫中。保存至數據庫中的業(yè)務會話中包括業(yè)務會話標識以及業(yè)務會話所對應的會話存儲空間中的業(yè)務數據。

服務端在處理目標業(yè)務時,可能中途需要暫停、等待或中止,此時,服務端可以將業(yè)務會話中途保存至數據庫中,防止會話存儲空間中的數據丟失,提高數據保存的可靠性。

進一步的,為了節(jié)省資源,服務端在將業(yè)務會話中途保存至數據庫中后,還可以將會話存儲空間中的業(yè)務數據刪除掉,并將會話存儲空間占有的資源釋放掉。

可選的,該方法還可以包括:當停留于一個環(huán)節(jié)處的目標業(yè)務恢復到處理狀態(tài)時,根據業(yè)務會話標識,從數據庫中激活保存的業(yè)務會話。其中,從數據庫中激活保存的業(yè)務會話具體包括:將業(yè)務會話中的業(yè)務數據重新加載至業(yè)務會話對應的會話存儲空間中。

當目標業(yè)務又恢復到處理狀態(tài)時,服務端可以根據業(yè)務會話標識將業(yè)務會話中的業(yè)務數據重新加載至業(yè)務會話對應的會話存儲空間中,以使服務端繼續(xù)執(zhí)行其余環(huán)節(jié)。

可選的,該方法還可以包括:服務端將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間中時,保存加載到會話存儲空間中的業(yè)務數據的副本數據。當采用所述會話存儲空間中的業(yè)務數據對所述數據庫中的業(yè)務數據進行更新出現錯誤時,服務端從會話存儲空間中獲取副本數據。服務端采用副本數據撤銷對數據庫中的業(yè)務數據的更新。

當采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新出現錯誤時,需要對更新至數據庫中的業(yè)務數據執(zhí)行回滾操作。為了實現一次性回滾,提高處理業(yè)務的可靠性,服務端在將處理目標業(yè)務所需的業(yè)務數據從數據庫中加載到會話存儲空間中時,可以保存一份加載來的業(yè)務數據的副本數據,后續(xù)可以采用該副本數據對更新至數據庫中的業(yè)務數據執(zhí)行回滾操作,撤銷對數據庫中的業(yè)務數據的更新。

可選的,在采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新之后,該方法還可以包括:刪除會話存儲空間中的業(yè)務數據,并釋放會話存儲空間占有的資源。

服務端在完成目標業(yè)務,并采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新之后,業(yè)務會話的生命周期也就結束了。為了節(jié)省資源,服務端可以刪除會話存儲空間中的業(yè)務數據,并釋放會話存儲空間占有的資源,同時刪除中途保存至數據庫中的數據,該數據指的是當對目標業(yè)務的處理停留于多個環(huán)節(jié)中的一個環(huán)節(jié)處時,服務端保存至數據庫中的業(yè)務會話標識以及業(yè)務會話所對應的會話存儲空間中的業(yè)務數據。

可選的,當目標業(yè)務處理失敗時,也可以刪除會話存儲空間中的業(yè)務數據,并釋放會話存儲空間占有的資源。

可選的,為業(yè)務會話分配會話存儲空間具體包括:在內存中開辟一個動態(tài)存儲空間,作為會話存儲空間。

服務端為業(yè)務會話分配的會話存儲空間是動態(tài)可增長的,當已開辟的會話存儲空間無法容納新的數據時,該動態(tài)存儲空間的大小可以根據需求而變大,該動態(tài)存儲空間能夠保存所有需要保存的數據,還達到了合理利用資源的效果。

可選的,將業(yè)務會話標識傳遞給客戶端具體包括:通過HTML頁面將業(yè)務會話標識傳遞給客戶端,該業(yè)務會話標識被設置在HTML頁面的預設變量中。

示例的,業(yè)務會話標識可以被設置在HTML頁面的JS變量中,將業(yè)務會話標識設置在JS變量中,可以使操作人員通過同一瀏覽器打開多個屬于同一業(yè)務的頁面。

第二方面,提供了一種業(yè)務處理裝置,用于服務端,該業(yè)務處理裝置包括至少一個模塊,該至少一個模塊用于實現上述第一方面所提供的業(yè)務處理方法。

第三方面,提供了一種業(yè)務處理裝置,用于服務端,該業(yè)務處理裝置包括:處理器、存儲器、網絡接口和總線。其中,總線用于連接處理器、存儲器和網絡接口。網絡接口用于實現服務端與客戶端之間的通信連接。處理器用于執(zhí)行存儲器中存儲的程序來實現第一方面所述的業(yè)務處理方法。

第四方面,提供了一種業(yè)務處理系統,該業(yè)務處理系統可以包括客戶端和服務端,

該服務端包括第二方面或第三方面所述的業(yè)務處理裝置。該客戶端用于向服務端發(fā)送業(yè)務處理請求消息,該業(yè)務處理請求消息用于指示處理用戶所請求辦理的目標業(yè)務。

上述本發(fā)明第二至第四方面所獲得的技術效果與第一方面中對應的技術手段所獲得的技術效果近似,在這里不再贅述。

綜上所述,本發(fā)明提供的技術方案帶來的有益效果是:

服務端可以將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到為業(yè)務會話分配的會話存儲空間,并處理目標業(yè)務,之后,根據對目標業(yè)務的處理,訪問和更新會話存儲空間中的業(yè)務數據,最后在完成目標業(yè)務后,采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新,該過程中,服務端無需在各環(huán)節(jié)都與數據庫交互。會話存儲空間中的業(yè)務數據能夠被一次性提交至數據庫中,充分保證了數據庫中數據的一致性。避免了業(yè)務處理失敗時需要執(zhí)行復雜的回滾操作。

應當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是本發(fā)明各個實施例所涉及的業(yè)務處理系統的結構示意圖;

圖2是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖;

圖3是本發(fā)明實施例提供的一種業(yè)務處理方法的流程圖;

圖4-1是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖;

圖4-2是本發(fā)明實施例提供的另一種業(yè)務處理裝置的結構示意圖。

通過上述附圖,已示出本發(fā)明明確的實施例,后文中將有更詳細的描述。這些附圖和文字描述并不是為了通過任何方式限制本發(fā)明構思的范圍,而是通過參考特定實施例為本領域技術人員說明本發(fā)明的概念。

具體實施方式

為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。

請參考圖1,其示出了本發(fā)明各個實施例所涉及的業(yè)務處理系統的結構示意圖。該業(yè)務處理系統可以包括客戶端001和服務端002??蛻舳?01可以是具有網絡連接功能的設備,比如智能手機、平板電腦、便攜式計算機或個人計算機等等。服務端002可以是一臺服務器,或者由若干臺服務器組成的服務器集群,或者是一個云計算服務中心??蛻舳?01與服務端002之間可以通過有線網絡或無線網絡建立連接??蛻舳?01用于向服務端002發(fā)送業(yè)務處理請求消息。服務端002用于根據業(yè)務處理請求消息處理目標業(yè)務。

圖2是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖,該裝置可以用于圖1所示的服務端。如圖2所示,該裝置包括處理器201(如CPU)、存儲器202、網絡接口203和總線204。其中,總線204用于連接處理器201、存儲器202和網絡接口203。存儲器202可能包含隨機存取存儲器(英文:Random Access Memory;簡稱:RAM),也可能包含非不穩(wěn)定的存儲器(英文:non-volatile memory),例如至少一個磁盤存儲器。通過網絡接口203(可以是有線或者無線)實現服務端與客戶端之間的通信連接。存儲器202中存儲有程序2021,該程序2021用于實現各種應用功能,處理器201用于執(zhí)行存儲器202中存儲的程序2021來實現下述業(yè)務處理方法。

本發(fā)明實施例提供了一種業(yè)務處理方法,該方法可以用于圖1所示的業(yè)務處理系統,如圖3所示,該方法可以包括:

步驟301、客戶端向服務端發(fā)送業(yè)務處理請求消息。

該業(yè)務處理請求消息用于指示處理用戶所請求辦理的目標業(yè)務。當用戶請求辦理目標業(yè)務時,客戶端在操作人員的操作下,向服務端發(fā)送業(yè)務處理請求消息,以便于服務端創(chuàng)建目標業(yè)務對應的業(yè)務會話。

本發(fā)明實施例以該業(yè)務處理方法應用于BBS來舉例說明。作為運營商的核心系統,BBS承載著客戶管理、產品銷售、訂單管理、收入管理等功能,BBS處理業(yè)務時需要保證較高的可靠性、較好的性能、較高的安全性等,且為了完成業(yè)務處理,BBS還需要和大量外圍系統進行交互。示例的,通過BBS處理業(yè)務時,用戶所請求辦理的目標業(yè)務可以為開戶業(yè)務、變更話費套餐業(yè)務、充值繳費業(yè)務或者停機業(yè)務等。

步驟302、服務端根據業(yè)務處理請求消息創(chuàng)建目標業(yè)務對應的業(yè)務會話,并為業(yè)務會話分配會話存儲空間。

服務端創(chuàng)建的業(yè)務會話的生命周期與目標業(yè)務的處理時長相同,即業(yè)務會話開始于目標業(yè)務的受理時刻,結束于該目標業(yè)務的完成時刻。在目標業(yè)務被處理的整個過程中,采用會話存儲空間來替代原來的數據庫,避免了服務端與數據庫多次交互??梢钥闯觯摃挻鎯臻g相當于該目標業(yè)務的專有數據庫。

可選的,為業(yè)務會話分配會話存儲空間具體包括:

在內存中開辟一個動態(tài)存儲空間,作為會話存儲空間。

服務端創(chuàng)建目標業(yè)務對應的業(yè)務會話時,可以在內存中開辟一個動態(tài)存儲空間來保存處理目標業(yè)務時需要的數據和產生的數據。該動態(tài)存儲空間是動態(tài)可增長的,也就是說,當已開辟的會話存儲空間無法容納新的數據時,該動態(tài)存儲空間的大小可以根據需求而變大。所以,該會話存儲空間能夠保存所有需要保存的數據,還達到了合理利用資源的效果。

由于本發(fā)明實施例中的會話存儲空間在目標業(yè)務處理過程中常駐于內存中,所以可以直接從會話存儲空間中讀取處理該目標業(yè)務時所需的業(yè)務數據,并可以將處理過程中產生的數據更新至會話存儲空間中,無需頻繁對數據庫執(zhí)行讀取操作和寫入操作。

步驟303、服務端為業(yè)務會話分配用于唯一標識業(yè)務會話的業(yè)務會話標識。

示例的,當目標業(yè)務為開戶業(yè)務時,目標業(yè)務對應的業(yè)務會話的業(yè)務會話標識為Sh1;當目標業(yè)務為充值繳費業(yè)務時,目標業(yè)務對應的業(yè)務會話的業(yè)務會話標識為Sh2;當目標業(yè)務為停機業(yè)務時,目標業(yè)務對應的業(yè)務會話的業(yè)務會話標識為Sh3。業(yè)務會話標識也可以采用其他形式來表示,本發(fā)明實施例對此不做限定。

步驟304、服務端將業(yè)務會話標識傳遞給客戶端。

服務端為業(yè)務會話分配業(yè)務會話標識后,將業(yè)務會話標識傳遞給客戶端瀏覽器(英文:browser),以便于后續(xù)客戶端與服務端交互時,客戶端將業(yè)務會話標識作為參數傳遞給服務端,服務端再根據客戶端發(fā)送的該業(yè)務會話標識確定目標業(yè)務對應的業(yè)務會話,通過會話存儲空間完成目標業(yè)務的處理。

具體的,服務端將業(yè)務會話標識傳遞給客戶端,包括:

通過超文本標記語言(英文:HyperText Markup Language;簡稱:HTML)頁面將業(yè)務會話標識傳遞給客戶端,該業(yè)務會話標識被設置在HTML頁面的預設變量中。示例的,該業(yè)務會話標識可以由業(yè)務流程頁面流轉控制組件在客戶端輸出操作人員可見的HTML頁面時,將業(yè)務會話標識設置在HTML頁面的爪哇腳本(英文:Javascript;簡稱:JS)變量中,后續(xù)操作人員通過HTML頁面錄入相關信息,客戶端向服務端提交該相關信息時,會將業(yè)務會話標識作為參數傳遞給服務端,服務端接收到該業(yè)務會話標識后,根據該業(yè)務會話標識確定目標業(yè)務對應的業(yè)務會話。本發(fā)明實施例將業(yè)務會話標識設置在HTML頁面的JS變量中,可以使操作人員通過同一瀏覽器打開多個屬于同一業(yè)務的頁面。關于JS變量和業(yè)務流程頁面流轉控制組件均可以參考現有技術,本發(fā)明實施例在此不再贅述。

步驟305、服務端將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間,并處理目標業(yè)務。

服務端將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間時,可以最初一次性將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間,這樣一來,對于同一業(yè)務來說,服務端訪問一次數據庫即可。此外,服務端也可以按需加載數據,也即是,服務端可以按照實際需求,在處理目標業(yè)務的過程中,將處理目標業(yè)務所需的業(yè)務數據從數據庫中加載到會話存儲空間中。

具體的,服務端處理目標業(yè)務具體包括:服務端執(zhí)行用于處理目標業(yè)務的多個環(huán)節(jié)。在處理過程中,服務端可以與客戶端進行交互,服務端與客戶端在業(yè)務會話內的每次交互中攜帶步驟303分配的業(yè)務會話標識。

步驟306、服務端根據對目標業(yè)務的處理,訪問和更新會話存儲空間中的業(yè)務數據。

其中,服務端根據對目標業(yè)務的處理,訪問會話存儲空間中的業(yè)務數據具體包括:

在執(zhí)行多個環(huán)節(jié)的過程中,服務端從會話存儲空間中讀取執(zhí)行各環(huán)節(jié)所需的業(yè)務數據。

服務端訪問會話存儲空間中的業(yè)務數據這一過程,相較于現有技術,服務端無需從數據庫中讀取執(zhí)行各環(huán)節(jié)所需的業(yè)務數據,而是通過目標業(yè)務對應的專有數據庫(即會話存儲空間)獲取各環(huán)節(jié)所需的業(yè)務數據。

進一步的,服務端根據對目標業(yè)務的處理,更新會話存儲空間中的業(yè)務數據具體包括:

在執(zhí)行多個環(huán)節(jié)的過程中,服務端將各環(huán)節(jié)中產生的數據,更新至會話存儲空間中。

服務端更新會話存儲空間中的業(yè)務數據這一過程,相較于現有技術,服務端無需每次都將環(huán)節(jié)中產生的數據更新至數據庫中,而是將環(huán)節(jié)中產生的數據更新至目標業(yè)務對應的專有數據庫(即會話存儲空間)中,實現了一次性提交,避免了當某個環(huán)節(jié)出現問題時需要執(zhí)行復雜的回滾操作。

進一步的,服務端將各環(huán)節(jié)中產生的數據,更新至會話存儲空間中具體包括:

服務端根據各環(huán)節(jié)中產生的數據修改會話存儲空間中的業(yè)務數據,或,根據各環(huán)節(jié)中產生的數據刪除會話存儲空間中的業(yè)務數據,或,根據各環(huán)節(jié)中產生的數據向會話存儲空間中寫入新的業(yè)務數據。

服務端在將各環(huán)節(jié)中產生的數據更新至會話存儲空間中時,可以修改會話存儲空間中的業(yè)務數據,也可以刪除會話存儲空間中的業(yè)務數據,還可以向會話存儲空間中寫入新的業(yè)務數據??傊?,為了完成目標業(yè)務的處理,服務端可以對會話存儲空間中的業(yè)務數據執(zhí)行各種類型的操作。

進一步的,服務端在處理目標業(yè)務時,可能中途需要暫停、等待或中止,此時,為了防止會話存儲空間中的數據丟失,提高數據保存的可靠性,進一步的,該方法還可以包括:

當對目標業(yè)務的處理停留于多個環(huán)節(jié)中的一個環(huán)節(jié)處時,服務端將業(yè)務會話保存至數據庫中,保存至數據庫中的業(yè)務會話中包括業(yè)務會話標識以及業(yè)務會話所對應的會話存儲空間中的業(yè)務數據?,F以目標業(yè)務為開戶業(yè)務為例進行說明。通常提交業(yè)務訂單后,工程師無法立即就上門施工,此時需要暫停處理該開戶業(yè)務。而為了防止保存至會話存儲空間中各環(huán)節(jié)產生的數據丟失,服務端可以將業(yè)務會話保存至數據庫中,該業(yè)務會話包括業(yè)務會話標識Sh1以及業(yè)務會話所對應的會話存儲空間中的業(yè)務數據。保存至數據庫中的業(yè)務會話等待被再次激活,當業(yè)務會話被再次激活時,服務端能夠繼續(xù)執(zhí)行其余環(huán)節(jié),完成目標業(yè)務的處理。

可選的,為了節(jié)省資源,服務端在將業(yè)務會話中途保存至數據庫中后,還可以將會話存儲空間中的業(yè)務數據刪除掉,并將會話存儲空間占有的資源釋放掉。

進一步的,該方法還可以包括:

當停留于一個環(huán)節(jié)處的目標業(yè)務恢復到處理狀態(tài)時,服務端根據業(yè)務會話標識,從數據庫中激活保存的業(yè)務會話。

其中,從數據庫中激活保存的業(yè)務會話具體包括:

將業(yè)務會話中的業(yè)務數據重新加載至業(yè)務會話對應的會話存儲空間中。

示例的,在處理開戶業(yè)務時,若工程師已施工完畢,那么此時服務端需要從數據庫中激活保存的業(yè)務會話。

步驟307、服務端在完成目標業(yè)務后,采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新。

處理完目標業(yè)務后,服務端可以采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行一次性更新,這樣一來,會話存儲空間中的業(yè)務數據被一次性提交至數據庫中,充分保證了數據庫中數據的一致性,避免了業(yè)務數據中途更新至數據庫而出現臟數據,避免了在某個環(huán)節(jié)出現問題時需要執(zhí)行復雜的回滾操作。關于臟數據的說明可以參考現有技術,本發(fā)明實施例在此不再贅述。

步驟308、服務端刪除會話存儲空間中的業(yè)務數據,并釋放會話存儲空間占有的資源。

服務端在完成目標業(yè)務,并采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新之后,業(yè)務會話的生命周期也就結束了。為了節(jié)省資源,服務端可以刪除會話存儲空間中的業(yè)務數據,并釋放會話存儲空間占有的資源,同時刪除中途保存至數據庫中的數據,該數據指的是當對目標業(yè)務的處理停留于多個環(huán)節(jié)中的一個環(huán)節(jié)處時,服務端保存至數據庫中的業(yè)務會話標識以及業(yè)務會話所對應的會話存儲空間中的業(yè)務數據。

此外,當目標業(yè)務處理失敗時,也可以銷毀業(yè)務會話,刪除會話存儲空間中的所有業(yè)務數據,并釋放會話存儲空間占有的資源。

進一步的,當采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新出現錯誤時,需要對更新至數據庫中的業(yè)務數據執(zhí)行回滾操作。為了實現一次性回滾,提高處理業(yè)務的可靠性,服務端在將處理目標業(yè)務所需的業(yè)務數據從數據庫中加載到會話存儲空間中時,可以保存一份加載來的業(yè)務數據的副本數據,后續(xù)采用該副本數據對更新至數據庫中的業(yè)務數據執(zhí)行回滾操作,撤銷對數據庫中的業(yè)務數據的更新。所以,該方法還可以包括:

將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間中時,保存加載到會話存儲空間中的業(yè)務數據的副本數據;

當采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新出現錯誤時,從會話存儲空間中獲取副本數據;

采用副本數據撤銷對數據庫中的業(yè)務數據的更新。

采用保存在會話存儲空間中的副本數據實現一次性回滾,無需各環(huán)節(jié)分別執(zhí)行回滾操作,極大簡化了回滾操作過程,也避免了復雜回滾操作易出錯的問題。

示例的,可以采用數據類型、數據序列號、原始值、更新值及數據狀態(tài)的數據結構保存上述副本數據。以開戶業(yè)務為例,假設當前保存的是用戶A的身份信息的副本數據,那么該數據結構中的數據類型可以為用戶,數據序列號可以為用戶A的身份證號,原始值可以為用戶A的原始姓名,更新值可以為用戶A更新后的姓名,數據狀態(tài)可以為待更改狀態(tài)。

以目標業(yè)務為開戶業(yè)務為例,現有技術中,執(zhí)行用于處理開戶業(yè)務的每個環(huán)節(jié)時,服務端(或客戶端)需要直接訪問數據庫,執(zhí)行過程中產生的數據被階段性地更新至數據庫中,而每個環(huán)節(jié)都有可能出現問題,所以當某個環(huán)節(jié)出現問題時,需要將之前各環(huán)節(jié)中的更新分別回滾至開戶業(yè)務被處理之前的狀態(tài),然而執(zhí)行回滾操作需要額外寫大量的逆向代碼,因此回滾操作過程較復雜。且對于同一業(yè)務來說,多個環(huán)節(jié)中的相關數據總是被大量重復讀寫,整個系統的讀寫性能較差。此外,同一業(yè)務對象在不同環(huán)節(jié)會被定義成不同值對象,比如在最初的業(yè)務受理環(huán)節(jié)中,需要獲取用戶A(即業(yè)務對象)的身份信息(該身份信息為一個值對象),而在計費環(huán)節(jié)中,需要獲取用戶A(即業(yè)務對象)的信用度信息(該信用度信息為一個值對象)。

而采用本發(fā)明實施例提供的業(yè)務處理方法處理開戶業(yè)務(例如開戶產品包括1個寬帶,1個手機號碼和1個終端)時,該過程可以包括如下步驟:

1)用戶A前往營業(yè)廳請求辦理開戶業(yè)務,客戶端執(zhí)行業(yè)務受理環(huán)節(jié)。

2)按照步驟301,客戶端向服務端發(fā)送業(yè)務處理請求消息。該業(yè)務處理請求消息用于指示處理用戶A所請求辦理的開戶業(yè)務(即目標業(yè)務)。

3)按照步驟302和步驟303,服務端根據業(yè)務處理請求消息創(chuàng)建開戶業(yè)務對應的業(yè)務會話,為該業(yè)務會話分配會話存儲空間,并為該業(yè)務會話分配業(yè)務會話標識Sh1。此時,該會話存儲空間中沒有數據。后續(xù)在處理開戶業(yè)務時,服務端再將所需的業(yè)務數據從數據庫加載到會話存儲空間。

4)按照步驟304,服務端將業(yè)務會話標識Sh1傳遞給客戶端。

5)按照步驟305和步驟306,服務端將處理開戶業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間,并處理開戶業(yè)務,根據對開戶業(yè)務的處理,訪問和更新會話存儲空間中的業(yè)務數據。該過程具體可以包括如下步驟①~⑦:

①客戶端獲取訂購信息、用戶信息、賬戶信息、手機號碼信息和寬帶賬號信息等,并生成業(yè)務訂單,再將該業(yè)務訂單發(fā)送至服務端??蛻舳伺c服務端在交互中攜帶有業(yè)務會話標識Sh1,服務端根據業(yè)務會話標識Sh1確定開戶業(yè)務對應的業(yè)務會話,并將這些信息保存至會話存儲空間,服務端無需將這些信息保存至數據庫。

示例的,操作人員對業(yè)務頁面如HTML頁面進行操作,以使客戶端獲取相應信息。關于訂購信息、用戶信息及賬戶信息的內容可以參考現有技術。

若用戶A為老用戶,比如用戶A之前辦理過開戶業(yè)務,客戶端則無需獲取該用戶信息,服務端從數據庫中獲取該用戶信息即可。具體的,服務端可以根據預設的配置規(guī)則(如用戶A的姓名和用戶A的身份證號)從數據庫中獲取該用戶信息。服務端還可以將數據庫中該用戶信息加載到會話存儲空間,當后續(xù)再需要使用該用戶信息時,服務端可以先查詢會話存儲空間是否存在該用戶信息。當會話存儲空間不存在該用戶信息時,再根據配置規(guī)則從數據庫中獲取該用戶傳息。

②客戶端將業(yè)務訂單(該業(yè)務訂單攜帶有業(yè)務會話標識Sh1)提交至服務端后,操作人員通知用戶A回家等待工程師上門施工。由于服務端可能正在處理排在前面的業(yè)務訂單,所以來自客戶端的當前業(yè)務訂單需要排隊等候。該段時間內,開戶業(yè)務處于空閑狀態(tài)。此時,服務端可以將業(yè)務會話保存至數據庫中,并刪除會話存儲空間中的業(yè)務數據,釋放會話存儲空間占有的資源。

③當服務端開始處理業(yè)務訂單,即開戶業(yè)務恢復到處理狀態(tài)時,服務端根據業(yè)務會話標識Sh1,將業(yè)務會話中的業(yè)務數據重新加載至業(yè)務會話對應的會話存儲空間中。處理時,服務端直接從會話存儲空間中讀取所需的業(yè)務數據,而無需對數據庫執(zhí)行讀取操作。

④服務端通過訪問會話存儲空間中的業(yè)務數據,確定用戶A購買了對應手機,然后指示EPR系統執(zhí)行資源扣減動作,并將扣減的序列號及日志等信息更新至會話存儲空間中。

⑤服務端通過訪問會話存儲空間中的業(yè)務數據,得到相應的手機號碼的開通信息,然后指示移動核心網執(zhí)行服務開通動作,同時將服務開通結果更新至會話存儲空間中。

⑥服務端通過訪問會話存儲空間中的業(yè)務數據,得到相應的寬帶開通信息,然后指示OSS安排工程師上門施工。寬帶安裝完畢后,OSS再向服務端發(fā)送通知消息,服務端再將寬帶安裝等信息更新至會話存儲空間中。服務端指示OSS安排工程師上門施工時的相關業(yè)務數據均由服務端從會話存儲空間中直接獲取。在施工期間,業(yè)務訂單處于空閑狀態(tài),同樣的,為了節(jié)省資源,提高系統資源利用率,服務端可以將業(yè)務會話保存至數據庫中,并刪除會話存儲空間中的業(yè)務數據,釋放會話存儲空間占有的資源。寬帶安裝完畢后,業(yè)務會話再被激活。

⑦當該開戶業(yè)務的所有開通任務都完成時,服務端從會話存儲空間中獲取訂購信息、用戶信息、賬戶信息、手機號碼信息和寬帶賬號信息等,并將這些信息發(fā)送至計費系統。服務端將計費結果保存至會話存儲空間。

假設⑥中帶寬安裝失敗,由于之前產生的訂購信息、用戶信息、賬戶信息、手機號碼信息和寬帶賬號信息等數據都沒有更新至數據庫,所以無需對這些數據執(zhí)行回滾操作。對于已向外圍系統發(fā)送的數據,服務端可以指示外圍系統執(zhí)行相應的回滾操作,該過程可以參考現有技術,在此不再贅述。

6)按照步驟307,服務端在完成開戶業(yè)務后,采用會話存儲空間中的業(yè)務數據(包括訂購信息、用戶信息、賬戶信息、手機號碼信息和寬帶賬號信息等)對數據庫中的業(yè)務數據進行更新,完成一次性提交。

7)按照步驟308,服務端可以刪除會話存儲空間中的業(yè)務數據,并釋放會話存儲空間占有的資源。同時刪除中途保存至數據庫中的數據,如②和⑥中的相關數據。

上述步驟302至步驟308所示的方法具體可以由圖1所示的服務端002來實現,或者,可以由圖2所示的業(yè)務處理裝置中的處理器201來實現。

還需要說明的是,本發(fā)明實施例提供的業(yè)務處理方法的步驟的先后順序可以進行適當調整,步驟也可以根據情況進行相應增減,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化的方法,都應涵蓋在本發(fā)明的保護范圍之內,因此不再贅述。

綜上所述,本發(fā)明實施例提供的業(yè)務處理方法,服務端可以將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到為業(yè)務會話分配的會話存儲空間,并處理目標業(yè)務,之后,根據對目標業(yè)務的處理,訪問和更新會話存儲空間中的業(yè)務數據,最后在完成目標業(yè)務后,采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新,該過程中,服務端無需在各環(huán)節(jié)都與數據庫交互。會話存儲空間中的業(yè)務數據能夠被一次性提交至數據庫中,充分保證了數據庫中數據的一致性。避免了業(yè)務處理失敗時需要執(zhí)行復雜的回滾操作,也避免了業(yè)務數據中途更新至數據庫而出現臟數據。

本發(fā)明實施例提供了一種業(yè)務處理裝置400,該裝置可以用于圖1所示的服務端,如圖4-1所示,該裝置400可以包括:

接收模塊410,用于接收客戶端發(fā)送的業(yè)務處理請求消息,該業(yè)務處理請求消息用于指示處理用戶所請求辦理的目標業(yè)務。

創(chuàng)建模塊420,用于執(zhí)行上述實施例中的步驟302。

加載模塊430,用于將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間。

處理模塊440,用于處理目標業(yè)務,并根據對目標業(yè)務的處理,訪問和更新會話存儲空間中的業(yè)務數據。

更新模塊450,用于執(zhí)行上述實施例中的步驟307。

其中,處理模塊440處理目標業(yè)務,具體包括:執(zhí)行用于處理目標業(yè)務的多個環(huán)節(jié)。

處理模塊440根據對目標業(yè)務的處理,訪問會話存儲空間中的業(yè)務數據具體包括:在執(zhí)行多個環(huán)節(jié)的過程中,從會話存儲空間中讀取執(zhí)行各環(huán)節(jié)所需的業(yè)務數據。

處理模塊440根據對目標業(yè)務的處理,更新會話存儲空間中的業(yè)務數據,具體包括:在執(zhí)行多個環(huán)節(jié)的過程中,將各環(huán)節(jié)中產生的數據,更新至會話存儲空間中。

具體的,處理模塊440將各環(huán)節(jié)中產生的數據,更新至會話存儲空間中,具體包括:根據各環(huán)節(jié)中產生的數據修改會話存儲空間中的業(yè)務數據,或,根據各環(huán)節(jié)中產生的數據刪除會話存儲空間中的業(yè)務數據,或,根據各環(huán)節(jié)中產生的數據向會話存儲空間中寫入新的業(yè)務數據。

進一步的,如圖4-2所示,該裝置400還包括:

分配模塊460,用于執(zhí)行上述實施例中的步驟303。

處理模塊440還用于執(zhí)行上述實施例中的步驟304。服務端與客戶端在業(yè)務會話內的每次交互中攜帶業(yè)務會話標識。

如圖4-2所示,該裝置400還可以包括:

第一保存模塊480,用于在對目標業(yè)務的處理停留于多個環(huán)節(jié)中的一個環(huán)節(jié)處時,將業(yè)務會話保存至數據庫中,保存至數據庫中的業(yè)務會話中包括業(yè)務會話標識以及業(yè)務會話所對應的會話存儲空間中的業(yè)務數據。

如圖4-2所示,該裝置400還可以包括:

激活模塊490,用于當停留于一個環(huán)節(jié)處的目標業(yè)務恢復到處理狀態(tài)時,根據業(yè)務會話標識,從數據庫中激活保存的業(yè)務會話。

激活模塊490具體用于:將業(yè)務會話中的業(yè)務數據重新加載至業(yè)務會話對應的會話存儲空間中。

進一步的,如圖4-2所示,該裝置400還可以包括:

第二保存模塊491,用于將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到會話存儲空間中時,保存加載到會話存儲空間中的業(yè)務數據的副本數據。

獲取模塊492,用于在采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新出現錯誤時,從會話存儲空間中獲取副本數據。

撤銷模塊493,用于采用副本數據撤銷對數據庫中的業(yè)務數據的更新。

進一步的,如圖4-2所示,該裝置400還可以包括:

刪除模塊494,用于執(zhí)行上述實施例中的步驟308。

創(chuàng)建模塊420為業(yè)務會話分配會話存儲空間,具體包括:在內存中開辟一個動態(tài)存儲空間,作為會話存儲空間。

此外,圖4-2中的其他標記含義可以參考圖4-1進行說明,在此不再贅述。

可選的,處理模塊440將業(yè)務會話標識傳遞給客戶端,具體包括:通過HTML頁面將業(yè)務會話標識傳遞給客戶端,該業(yè)務會話標識被設置在HTML頁面的預設變量中。

綜上所述,本發(fā)明實施例提供的業(yè)務處理裝置,服務端可以將處理目標業(yè)務所需的業(yè)務數據從數據庫加載到為業(yè)務會話分配的會話存儲空間,并處理目標業(yè)務,之后,根據對目標業(yè)務的處理,訪問和更新會話存儲空間中的業(yè)務數據,最后在完成目標業(yè)務后,采用會話存儲空間中的業(yè)務數據對數據庫中的業(yè)務數據進行更新,該過程中,服務端無需在各環(huán)節(jié)都與數據庫交互。會話存儲空間中的業(yè)務數據能夠被一次性提交至數據庫中,充分保證了數據庫中數據的一致性。避免了業(yè)務處理失敗時需要執(zhí)行復雜的回滾操作,也避免了業(yè)務數據中途更新至數據庫而出現臟數據。

本發(fā)明實施例還提供了一種業(yè)務處理系統,該業(yè)務處理系統包括客戶端和服務端,該服務端可以包括圖2、圖4-1或圖4-2所示的業(yè)務處理裝置,該客戶端用于向服務端發(fā)送業(yè)務處理請求消息,該業(yè)務處理請求消息用于指示處理用戶所請求辦理的目標業(yè)務。

所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。

本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。

以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1