一種庫存扣減方法和裝置的制造方法
【技術領域】
[0001]本申請涉及庫存扣減技術,具體涉及一種用于計算機系統(tǒng)的庫存扣減方法。本申請同時涉及一種用于計算機系統(tǒng)的庫存扣減裝置。
【背景技術】
[0002]隨著科學技術和互聯(lián)網(wǎng)的發(fā)展,用戶的需求越來越多樣化,同時各種產(chǎn)品和服務也越來越豐富,為了將兩者有機結合起來,為用戶提供更為及時的、針對性更強的服務,交易匹配服務的概念應運而生。所謂交易匹配服務,是指服務型公司或者個人,從用戶的實際需求出發(fā),作為第三方,將多邊信息集合在一起,通過整理和評估,將有效的信息有針對性地反饋給用戶,這個過程統(tǒng)稱為交易匹配服務。通過交易匹配服務,一方面用戶不用自行去搜索、查找就可以及時得到所需的產(chǎn)品或者服務,從而享受更為快捷方便的用戶體驗;另一方面,通過為用戶提供更優(yōu)質(zhì)更方便的服務,從事交易匹配服務的行業(yè)也可以從中贏取利潤、獲得更好的發(fā)展。
[0003]具體到金融領域,計算機系統(tǒng)可以是提供交易匹配服務的系統(tǒng),通常稱為交易匹配系統(tǒng),通過該交易匹配系統(tǒng),買方可以提前提出特定交易條件的訂單請求,交易匹配系統(tǒng)通常采取批量處理訂單請求的方式進行匹配處理,即:將已經(jīng)提交的訂單請求與產(chǎn)品信息庫中的產(chǎn)品(包括理財產(chǎn)品、股票、期貨等)信息進行匹配,如果匹配成功,則自動對匹配成功的訂單請求和產(chǎn)品發(fā)起交易。
[0004]由此可見,交易匹配系統(tǒng)不僅用于實現(xiàn)訂單請求和產(chǎn)品的匹配功能,一般還包括啟動交易的功能,此時,就會涉及扣減產(chǎn)品庫存的問題。在現(xiàn)有技術中,一般有以下兩種扣減產(chǎn)品庫存的方式:1)在下單環(huán)節(jié)扣減庫存;2)支付后扣減庫存?;诮灰灼ヅ湎到y(tǒng)自身的特點,無論采用上述哪種扣減方式都會存在缺陷,具體原因分析如下。
[0005]從上面介紹的交易匹配系統(tǒng)的工作方式可以看出,匹配過程和交易過程并不是同步完成的,也就是說交易匹配系統(tǒng)對某個訂單請求匹配成功并啟動交易系統(tǒng)后,并不會等待該交易完成,而是立刻對下一個訂單請求執(zhí)行匹配操作。而實際交易過程中,一般需要與用戶進行進一步的交互,如需要用戶最終確認等,因此該匹配成功的交易是否實際完成、以及實際完成的時間都是不確定的。在這種情況下,如果采用傳統(tǒng)的庫存扣減方法,那么在匹配階段就無法實現(xiàn)參與匹配的產(chǎn)品數(shù)量與產(chǎn)品實際庫存數(shù)量實時同步變化,導致匹配階段所參考的產(chǎn)品庫存數(shù)量與可用于匹配的有效庫存數(shù)量存在較大的差別,匹配成功的產(chǎn)品到了交易階段執(zhí)行扣減庫存的操作時,可能出現(xiàn)失敗的現(xiàn)象;上述情況發(fā)生后,交易匹配系統(tǒng)只好重新處理這部分訂單請求,以致影響系統(tǒng)效率。如果失敗現(xiàn)象過多,甚至有可能會導致整個系統(tǒng)崩潰。
【發(fā)明內(nèi)容】
[0006]本申請?zhí)峁┮环N庫存扣減方法,以解決現(xiàn)有技術無法實現(xiàn)在匹配階段參考的產(chǎn)品庫存數(shù)量根據(jù)匹配結果實時同步變化、導致匹配成功的產(chǎn)品在交易階段出現(xiàn)扣減庫存失敗的問題。本申請另外提供一種庫存扣減裝置。
[0007]本申請?zhí)峁┮环N庫存扣減方法,包括:
[0008]接收用戶的購買申請,并生成包含待購買產(chǎn)品信息和購買數(shù)量的訂單請求;
[0009]在供購買的產(chǎn)品信息集合中查找與所述訂單請求中的待購買產(chǎn)品信息相匹配的廣品/[目息;
[0010]對匹配成功的產(chǎn)品,根據(jù)所述訂單請求中指定的購買數(shù)量,扣減所述產(chǎn)品的庫存數(shù)量并獲取扣減后數(shù)量;
[0011]判斷所述扣減后數(shù)量是否大于等于零;若是,則對所述匹配成功的訂單請求和產(chǎn)品發(fā)起交易請求。
[0012]可選的,所述方法還包括:
[0013]啟動匹配分片,在所述匹配分片內(nèi)對歸屬該匹配分片的訂單請求,依次執(zhí)行所述查找操作、所述對產(chǎn)品庫存數(shù)量執(zhí)行扣減的操作、以及根據(jù)扣減后數(shù)量發(fā)起交易的操作;并且,在啟動匹配分片時,根據(jù)產(chǎn)品中心的產(chǎn)品記錄,將所述供購買的產(chǎn)品信息集合存儲到內(nèi)存中,作為廣品快照;
[0014]相應的,所述在供購買的產(chǎn)品信息集合中查找與所述訂單請求中的待購買產(chǎn)品信息相匹配的產(chǎn)品信息是指,在產(chǎn)品快照中查找與所述訂單請求中的待購買產(chǎn)品信息相匹配的產(chǎn)品信息。
[0015]可選的,在啟動匹配分片時,還要根據(jù)產(chǎn)品中心的庫存記錄,將所述供購買的產(chǎn)品信息集合中的產(chǎn)品的庫存數(shù)量存儲到內(nèi)存中,作為庫存快照;
[0016]相應的,所述對匹配成功的產(chǎn)品,根據(jù)所述訂單請求中指定的購買數(shù)量,扣減所述產(chǎn)品的庫存數(shù)量并獲取扣減后數(shù)量是指,
[0017]在所述庫存快照中,對匹配成功的產(chǎn)品,扣減其購買數(shù)量,并獲取扣減后該產(chǎn)品在庫存快照中的數(shù)量。
[0018]可選的,所述方法還包括:
[0019]在執(zhí)行交易過程中,在產(chǎn)品中心的數(shù)據(jù)庫記錄中對所述產(chǎn)品的庫存數(shù)量執(zhí)行扣減操作。
[0020]可選的,所述啟動匹配分片的步驟由多臺匹配服務器同時執(zhí)行;
[0021]相應的,所述將供購買的產(chǎn)品信息集合中的產(chǎn)品的庫存數(shù)量存儲到內(nèi)存中作為庫存快照中,所述內(nèi)存為分布式緩存;
[0022]相應的,所述在所述庫存快照中,對匹配成功的產(chǎn)品,扣減其購買數(shù)量,并獲取扣減后該產(chǎn)品在庫存快照中的數(shù)量,是對庫存快照進行的原子性操作。
[0023]可選的,若執(zhí)行扣減操作后所述產(chǎn)品在庫存快照中的數(shù)量小于零,則執(zhí)行下述操作:
[0024]將所述產(chǎn)品在庫存快照中的數(shù)量還原為執(zhí)行所述扣減操作之前的數(shù)量。
[0025]可選的,所述方法還包括:
[0026]判斷執(zhí)行所述還原操作后所述產(chǎn)品在庫存快照中的數(shù)量是否小于預先設定的該產(chǎn)品的最小申購數(shù)量;
[0027]若是,則將該產(chǎn)品的快照信息從產(chǎn)品快照中移除。
[0028]本申請同時提供一種庫存扣減裝置,包括:
[0029]訂單生成單元,用于接收用戶的購買申請,并生成包含待購買產(chǎn)品信息和購買數(shù)量的訂單請求;
[0030]訂單匹配單元,用于在供購買的產(chǎn)品信息集合中查找與所述訂單請求中的待購買產(chǎn)品信息相匹配的產(chǎn)品信息;
[0031]庫存扣減單元,用于對匹配成功的產(chǎn)品,根據(jù)所述訂單請求中指定的購買數(shù)量,扣減所述產(chǎn)品的庫存數(shù)量并獲取扣減后數(shù)量;
[0032]數(shù)量判斷單元,用于判斷所述扣減后數(shù)量是否大于等于零;
[0033]交易發(fā)起單元,用于當所述數(shù)量判斷單元的輸出為“是”時,對所述匹配成功的訂單請求和產(chǎn)品發(fā)起交易請求。
[0034]可選的,所述裝置還包括:
[0035]匹配分片管理單元,包括匹配分片管理單元本體、和產(chǎn)品快照生成子單元;
[0036]所述匹配分片管理單元本體,用于啟動匹配分片,并且在所述匹配分片內(nèi)觸發(fā)所述訂單匹配單元、所述庫存扣減單元、所述數(shù)量判斷單元和所述交易發(fā)起單元,使這些單元處理待匹配的訂單請求;
[0037]所述產(chǎn)品快照生成子單元,用于在啟動匹配分片時,根據(jù)產(chǎn)品中心的產(chǎn)品記錄,將供購買的產(chǎn)品信息集合存儲到內(nèi)存中,作為產(chǎn)品快照;
[0038]相應的,所述訂單匹配單元用于,在所述產(chǎn)品快照生成子單元生成的產(chǎn)品快照中查找與所述訂單請求中的待購買產(chǎn)品信息相匹配的產(chǎn)品信息。
[0039]可選的,所述匹配分片管理單元還包括:
[0040]庫存快照生成子單元,用于在啟動匹配分片時,根據(jù)產(chǎn)品中心的庫存記錄,將所述供購買的產(chǎn)品信息集合中的產(chǎn)品的庫存數(shù)量存儲到內(nèi)存中,作為庫存快照;
[0041]相應的,所述庫存扣減單元用于,在所述庫存快照生成子單元生成的庫存快照中,對匹配成功的產(chǎn)品,扣減其購買數(shù)量,并獲取扣減后該產(chǎn)品在庫存快照中的數(shù)量。
[0042]可選的,所述裝置還包括:
[0043]交易扣減單元,用于在執(zhí)行交易過程中,在產(chǎn)品中心的數(shù)據(jù)庫記錄中對所述產(chǎn)品的庫存數(shù)量執(zhí)行扣減操作。
[0044]可選的,所述匹配分片管理單元、所述訂單匹配單元、所述庫存扣減單元、所述數(shù)量判斷單元和所述交易發(fā)起單元由多臺匹配服務器承擔;
[0045]相應的,所述庫存快照生成子單元具體用于,在啟動匹配分片時,根據(jù)產(chǎn)品中心的庫存記錄,將供購買的產(chǎn)品信息集合中的產(chǎn)品的庫存數(shù)量存儲到分布式緩存中,作為庫存快照;
[0046]相應的,所述庫存扣減單元對匹配成功的產(chǎn)品執(zhí)行的、扣減其購買數(shù)量并獲取扣減后數(shù)量的操作,是對庫存快照進行的原子性操作。
[0047]可選的,所述裝置還包括:
[0048]扣減還原單元,用于當所述數(shù)量判斷單元的輸出結果為“否”時,將所述產(chǎn)品在庫存快照中的數(shù)量還原為執(zhí)行所述扣減操作之前的數(shù)量。
[0049]可選的,所述裝置還包括:
[0050]移除判斷單元,用于判斷執(zhí)行所述還原操作后所述產(chǎn)品在庫存快照中的數(shù)量是否小于預先設定的該產(chǎn)品的最小申購數(shù)量;
[0051]產(chǎn)品移除單元,用于當所述移除判斷單元的輸出結果為“是”時,將所述產(chǎn)品的快照信息從產(chǎn)品快照中移除。
[0052]與現(xiàn)有技術相比,本申請具有以下優(yōu)點:
[0053]本申請?zhí)峁┑膸齑婵蹨p方法,通過在匹配階段對匹配成功的產(chǎn)品的庫存數(shù)量執(zhí)行扣減操作,即:匹配成功后,就對相關產(chǎn)品的庫存數(shù)量進行扣減,從而在匹配階段實現(xiàn)了產(chǎn)品庫存數(shù)量根據(jù)匹配結果實時同步變化的理想狀況,并且只有當匹配成功的產(chǎn)品存在有效庫存的情況下才能進一步發(fā)起交易請求,從而有效提高匹配后交易的成功率。
【附圖說明】
[0054]圖1為本申請的