本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種多進(jìn)程的訂單信息處理方法。
背景技術(shù):
在進(jìn)入21世紀(jì)之后,電子商務(wù)進(jìn)入了快速發(fā)展的時(shí)代。隨著網(wǎng)絡(luò)購(gòu)物的興起,為了刺激用戶消費(fèi),很多購(gòu)物網(wǎng)站推出了限量搶購(gòu)活動(dòng),即在某一時(shí)間開始,以優(yōu)惠的價(jià)格進(jìn)行一定數(shù)量的商品限量銷售。
此類活動(dòng)力度往往比較大,因此在該限量搶購(gòu)活動(dòng)開始時(shí),往往會(huì)有大量用戶同時(shí)點(diǎn)擊搶購(gòu),服務(wù)器壓力瞬間增大,造成多并發(fā)時(shí)商品銷售數(shù)量或者價(jià)格計(jì)算錯(cuò)誤,同時(shí)對(duì)于用戶下單順序無法準(zhǔn)確確定,導(dǎo)致因?yàn)榉?wù)器擁堵造成先下單的用戶無法搶購(gòu)到商品的情況發(fā)生。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的缺陷,提供一種多進(jìn)程的訂單信息處理方法,采用多進(jìn)程快速響應(yīng),以隊(duì)列順序碼標(biāo)識(shí)接收用戶訂單生成順序,并且經(jīng)過兩次向服務(wù)器發(fā)起計(jì)算請(qǐng)求,保證了銷售數(shù)量和用戶訂單順序的正確性,也提高了用戶體驗(yàn)。
有鑒于此,本發(fā)明實(shí)施例提供了一種多進(jìn)程的訂單信息處理方法,包括:
服務(wù)器接收多個(gè)用戶終端發(fā)送的訂單信息,記錄每個(gè)訂單信息的接收時(shí)間;所述訂單信息包括客戶ID、訂單ID和一個(gè)或多個(gè)商品訂購(gòu)信息;
對(duì)每個(gè)商品訂購(gòu)信息進(jìn)行解析,得到商品ID、訂購(gòu)數(shù)量和商品屬性信息;
根據(jù)所述商品屬性信息確定所述商品ID對(duì)應(yīng)的第一商品是否為限量商品;
如果是,則根據(jù)商品ID查詢限量商品庫(kù)存數(shù)據(jù)庫(kù),確定所述第一商品的限購(gòu)數(shù)量是否大于所述訂購(gòu)數(shù)量;
如果所述限購(gòu)數(shù)量大于等于所述訂購(gòu)數(shù)量,根據(jù)所述接收時(shí)間和所述訂購(gòu)數(shù)量將所述訂單ID順序加入第一商品訂購(gòu)隊(duì)列;
在預(yù)設(shè)第一時(shí)長(zhǎng)之后,獲取所述第一商品訂購(gòu)隊(duì)列中所述訂單ID的隊(duì)列順序碼;
確定所述隊(duì)列順序碼是否大于所述訂購(gòu)數(shù)據(jù),如果不大于,則對(duì)所述商品訂購(gòu)信息添加有效狀態(tài)的狀態(tài)信息;否則,對(duì)所述商品訂購(gòu)信息添加無效狀態(tài)的狀態(tài)信息;
獲取所述訂單信息中狀態(tài)信息為有效狀態(tài)的商品訂購(gòu)信息,生成待支付訂單信息。
優(yōu)選的,如果所述第一商品不是限量商品,則根據(jù)商品ID查詢商品庫(kù)存數(shù)據(jù)庫(kù),確定所述第一商品的庫(kù)存數(shù)量是否大于所述訂購(gòu)數(shù)量;
如果所述庫(kù)存數(shù)量大于所述訂購(gòu)數(shù)量,則對(duì)所述商品訂購(gòu)信息添加有效狀態(tài)的狀態(tài)信息;否則,對(duì)所述商品訂購(gòu)信息添加無效狀態(tài)的狀態(tài)信息。
優(yōu)選的,所述獲取所述訂單信息中狀態(tài)信息為有效狀態(tài)的商品訂購(gòu)信息,生成待支付訂單信息具體包括:
根據(jù)訂單ID獲取所述有效狀態(tài)的商品訂購(gòu)信息和所述無效狀態(tài)的商品訂購(gòu)信息,生成用戶訂單顯示數(shù)據(jù);
根據(jù)客戶ID將用戶訂單顯示數(shù)據(jù)發(fā)送給所述用戶終端;
接收用戶終端發(fā)送的訂單支付請(qǐng)求信息,獲取所述訂單信息中狀態(tài)信息為有效狀態(tài)的商品訂購(gòu)信息,生成待支付訂單信息。
進(jìn)一步優(yōu)選的,所述方法還包括:
獲取所述訂單信息中狀態(tài)信息為無效狀態(tài)的商品訂購(gòu)信息,生成商品訂購(gòu)失效提示信息。
優(yōu)選的,所述方法還包括:
如果所述限購(gòu)數(shù)量小于所述訂購(gòu)數(shù)量,對(duì)所述商品訂購(gòu)信息添加無效狀態(tài)的狀態(tài)信息。
進(jìn)一步優(yōu)選的,所述方法還包括:
獲取所述訂單信息中狀態(tài)信息為無效狀態(tài)的商品訂購(gòu)信息,生成商品訂購(gòu)失敗提示信息,并根據(jù)商品訂購(gòu)信息對(duì)應(yīng)的客戶ID發(fā)送給相應(yīng)的用戶終端并顯示。
優(yōu)選的,所述根據(jù)所述接收時(shí)間和所述訂購(gòu)數(shù)量將所述訂單ID順序加入第一商品訂購(gòu)隊(duì)列具體為:
根據(jù)所述接收時(shí)間對(duì)所述訂單ID進(jìn)行排序;
按照一個(gè)訂單ID對(duì)應(yīng)的所述訂購(gòu)數(shù)量將所述一個(gè)訂單ID加入第一商品訂購(gòu)隊(duì)列,并且在隊(duì)列中的隊(duì)列順序碼為前一個(gè)訂單ID的隊(duì)列順序碼與訂購(gòu)數(shù)量之和。
優(yōu)選的,所述方法還包括:預(yù)先設(shè)定所述訂購(gòu)數(shù)量為1。
優(yōu)選的,在所述服務(wù)器接收多個(gè)用戶終端發(fā)送的訂單信息之前,所述方法還包括:
接收限量商品設(shè)置信息,所述限量商品設(shè)置信息包括:商品ID、限購(gòu)數(shù)量和限量商品的商品屬性信息。
進(jìn)一步優(yōu)選的,所述限量商品設(shè)置信息還包括銷售起始時(shí)間的信息,所述方法還包括:
在所述銷售起始時(shí)間之前的預(yù)設(shè)時(shí)間,生成限量商品信息推送消息并推送給各用戶終端。
本發(fā)明實(shí)施例提供的多進(jìn)程的訂單信息處理方法,采用多進(jìn)程快速響應(yīng),以隊(duì)列順序碼標(biāo)識(shí)接收用戶訂單生成順序,并且經(jīng)過兩次向服務(wù)器發(fā)起計(jì)算請(qǐng)求,保證了銷售數(shù)量和用戶訂單順序的正確性,也提高了用戶體驗(yàn)。
附圖說明
圖1為本發(fā)明實(shí)施例提供的多進(jìn)程的訂單信息處理方法的流程圖。
具體實(shí)施方式
本發(fā)明實(shí)施例主要針對(duì)電子商務(wù)中限量搶購(gòu)的應(yīng)用場(chǎng)景而提出。
下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為本發(fā)明實(shí)施例提供的多進(jìn)程的訂單信息處理方法流程圖,如圖1所示,包括:
步驟101,服務(wù)器接收多個(gè)用戶終端發(fā)送的訂單信息,記錄每個(gè)訂單信息的接收時(shí)間;
具體的,訂單信息包括客戶ID、訂單ID和一個(gè)或多個(gè)商品訂購(gòu)信息。訂單信息是客戶通過用戶終端進(jìn)行線上訂購(gòu)操作生成的。
商品訂購(gòu)信息,是指一個(gè)訂單中訂購(gòu)的多種商品的訂購(gòu)信息,其中至少包括商品ID、訂購(gòu)數(shù)量以及商品的商品屬性信息。商品屬性信息用于說明商品是否是限量銷售商品。限量銷售商品也包括限時(shí)限量銷售商品。無論是否有限時(shí),限量銷售商品都具有一個(gè)銷售起始時(shí)間,即從該時(shí)間起限量銷售。優(yōu)選的,商品訂購(gòu)信息中還包括銷售價(jià)格信息。
優(yōu)選的,在步驟101之前,除了需要設(shè)定限量銷售商品的銷售起始時(shí)間之外,還需要對(duì)限量銷售商品本身進(jìn)行設(shè)置,具體可以通過用戶輸入的限量商品設(shè)置信息來進(jìn)行設(shè)定。限量商品設(shè)置信息可以包括商品ID、限購(gòu)數(shù)量等。
當(dāng)然,為了達(dá)到更好的銷量,服務(wù)器可以對(duì)每種限量商品的銷售起始時(shí)間進(jìn)行記錄,在快要到達(dá)銷售起始時(shí)間時(shí),比如到達(dá)銷售起始時(shí)間之前24小時(shí)、12小時(shí)、1小時(shí)等時(shí)間,生成限量商品信息推送消息推送給各用戶終端。
步驟102,對(duì)每個(gè)商品訂購(gòu)信息進(jìn)行解析,得到商品ID、訂購(gòu)數(shù)量和商品屬性信息;
具體的,根據(jù)訂單信息中的商品訂購(gòu)信息解析得到商品ID、訂購(gòu)數(shù)量和商品屬性信息。
步驟103,根據(jù)商品屬性信息確定商品ID對(duì)應(yīng)的第一商品是否為限量商品;
具體的,在服務(wù)器中存儲(chǔ)有商品屬性信息管理列表,通過查詢管理列表即可確定該商品訂購(gòu)信息所訂購(gòu)的商品是否為限量商品。
如果是,則執(zhí)行步驟104,如果不是,執(zhí)行步驟114。
步驟104,根據(jù)商品ID查詢限量商品庫(kù)存數(shù)據(jù)庫(kù),確定第一商品的限購(gòu)數(shù)量是否大于訂購(gòu)數(shù)量;
具體的,限量商品庫(kù)存數(shù)據(jù)庫(kù)中設(shè)定有每種限量商品的可銷售數(shù)量的數(shù)據(jù),這個(gè)數(shù)量通常不同于商品的庫(kù)存數(shù)據(jù)。比如A商品為限量商品,可以設(shè)定其作為限量商品的可銷售數(shù)量,即限購(gòu)數(shù)量為10件。而其庫(kù)存可以遠(yuǎn)遠(yuǎn)大于10件。
如果限購(gòu)數(shù)量小于訂購(gòu)數(shù)量,執(zhí)行步驟105,對(duì)商品訂購(gòu)信息添加無效狀態(tài)的狀態(tài)信息。
如果限購(gòu)數(shù)量大于等于訂購(gòu)數(shù)量,執(zhí)行步驟106,根據(jù)接收時(shí)間和訂購(gòu)數(shù)量將訂單ID順序加入第一商品訂購(gòu)隊(duì)列;
具體的,訂單ID在商品訂購(gòu)隊(duì)列中的位置可以用隊(duì)列順序碼來標(biāo)識(shí)。比如在設(shè)定的限量搶購(gòu)開始時(shí)間之后第一個(gè)接收到的商品訂購(gòu)信息的訂單ID,排序在最前面。其隊(duì)列順序碼可以時(shí)根據(jù)商品訂購(gòu)數(shù)量來確定的。比如該商品訂購(gòu)信息的訂購(gòu)數(shù)量為2,則該訂單ID對(duì)應(yīng)的隊(duì)列順序碼即為2。如果順序排在其后的下一個(gè)商品訂購(gòu)信息的訂購(gòu)數(shù)量也為2,則下一訂單ID對(duì)應(yīng)的隊(duì)列順序碼為4。
也就是說,在加入商品訂購(gòu)隊(duì)列時(shí),首先是根據(jù)接收時(shí)間對(duì)訂單ID進(jìn)行排序,然后按照一個(gè)訂單ID對(duì)應(yīng)的訂購(gòu)數(shù)量將一個(gè)訂單ID加入第一商品訂購(gòu)隊(duì)列,并且在隊(duì)列中的隊(duì)列順序碼為前一個(gè)訂單ID的隊(duì)列順序碼與訂購(gòu)數(shù)量之和。
當(dāng)然,對(duì)于通常情況來說,都會(huì)限定限量搶購(gòu)商品的訂購(gòu)數(shù)量只允許是1,這種情況下,商品訂購(gòu)隊(duì)列中每個(gè)訂單ID對(duì)應(yīng)的隊(duì)列順序碼是連續(xù)的。
步驟107,在預(yù)設(shè)第一時(shí)長(zhǎng)之后,獲取第一商品訂購(gòu)隊(duì)列中訂單ID的隊(duì)列順序碼;
具體的,在這里規(guī)定預(yù)設(shè)第一時(shí)長(zhǎng),是為了保證其他在相近時(shí)間(可以是毫秒數(shù)量級(jí))并行發(fā)生的訂單的信息已經(jīng)處理完畢,并且也都加入到訂購(gòu)隊(duì)列了。
第一時(shí)長(zhǎng)可以優(yōu)選的設(shè)定為0.1秒或者0.5秒,以保證充足的時(shí)間使得服務(wù)器處理完所需處理的訂單信息。從而在第一時(shí)長(zhǎng)之后,確保所獲得的隊(duì)列順序碼是準(zhǔn)確的隊(duì)列順序碼。
步驟108,確定隊(duì)列順序碼是否大于訂購(gòu)數(shù)據(jù);
如果不大于,則執(zhí)行步驟109,對(duì)商品訂購(gòu)信息添加有效狀態(tài)的狀態(tài)信息;否則,執(zhí)行步驟110,對(duì)商品訂購(gòu)信息添加無效狀態(tài)的狀態(tài)信息;
具體的,隊(duì)列順序碼如果不大于訂購(gòu)數(shù)據(jù),說明排在該順序的訂單是在可訂購(gòu)數(shù)量之內(nèi)的,能夠以限量搶購(gòu)的價(jià)格購(gòu)買到該商品。如果大于訂購(gòu)數(shù)量,則說明訂單是排在可訂購(gòu)數(shù)量之外的,不能以限量搶購(gòu)的價(jià)格買到商品了。
步驟111,獲取訂單信息中狀態(tài)信息為有效狀態(tài)的商品訂購(gòu)信息,生成待支付訂單信息。
具體的,對(duì)于每個(gè)訂單信息,即一個(gè)用戶所下的一個(gè)訂單,獲取其中全部商品訂購(gòu)信息中狀態(tài)信息是有效狀態(tài)的,直接生成待支付訂單信息。在此過程中,區(qū)別于現(xiàn)有技術(shù),不會(huì)再因?yàn)橛唵沃械牟糠稚唐芬呀?jīng)售完或者沒有排入可訂購(gòu)數(shù)量?jī)?nèi)等不可訂購(gòu)的原因,造成無法在第一時(shí)間對(duì)可訂購(gòu)的商品下單。而是直接將其中可以訂購(gòu)的部分進(jìn)行處理,生成待支付訂單信息,使得客戶能夠在第一時(shí)間內(nèi)對(duì)可訂購(gòu)的限量搶購(gòu)商品進(jìn)行支付。
步驟112,獲取訂單信息中狀態(tài)信息為無效狀態(tài)的商品訂購(gòu)信息,生成商品訂購(gòu)失效提示信息。
在上步生成待支付訂單信息之后,可以先接收客戶輸入的支付確認(rèn)指令并完成支付之后再執(zhí)行本步驟。此時(shí)再提示訂購(gòu)失敗的商品信息,不會(huì)影響限量搶購(gòu)商品的流程,最大限度的保障了可訂購(gòu)商品能夠被搶購(gòu)到的幾率。
步驟113,根據(jù)商品訂購(gòu)信息對(duì)應(yīng)的客戶ID將商品訂購(gòu)失效提示信息發(fā)送給相應(yīng)的用戶終端并顯示。
其中,商品訂購(gòu)失效提示信息中可以包括商品名稱的信息。
在步驟103之后,如果根據(jù)商品屬性信息確定商品ID對(duì)應(yīng)的第一商品不是限量商品,則繼續(xù)執(zhí)行下述步驟:
步驟114,如果第一商品不是限量商品,則根據(jù)商品ID查詢商品庫(kù)存數(shù)據(jù)庫(kù),確定第一商品的庫(kù)存數(shù)量是否大于訂購(gòu)數(shù)量;
如果庫(kù)存數(shù)量大于訂購(gòu)數(shù)量,則執(zhí)行步驟115,對(duì)商品訂購(gòu)信息添加有效狀態(tài)的狀態(tài)信息;否則,執(zhí)行步驟116,對(duì)商品訂購(gòu)信息添加無效狀態(tài)的狀態(tài)信息。
因此,在步驟111中,獲取訂單信息中狀態(tài)信息為有效狀態(tài)的商品訂購(gòu)信息,生成待支付訂單信息時(shí),同樣也獲取了上述步驟115中包括的非限量商品的信息。
同樣,在步驟112中,獲取訂單信息中狀態(tài)信息為無效狀態(tài)的商品訂購(gòu)信息,生成商品訂購(gòu)失效提示信息時(shí),優(yōu)選的也可以同時(shí)獲取述步驟115中包括的非限量商品的信息。
最后,服務(wù)器會(huì)根據(jù)支付信息確定商品售出數(shù)量,更新商品的庫(kù)存數(shù)量。
本發(fā)明實(shí)施例提供的多進(jìn)程的訂單信息處理方法,采用多進(jìn)程快速響應(yīng),以隊(duì)列順序碼標(biāo)識(shí)接收用戶訂單生成順序,并且在步驟104商品訂購(gòu)和步驟108根據(jù)限量商品隊(duì)列碼確定是否是有效訂購(gòu)時(shí)兩次向服務(wù)器發(fā)起計(jì)算請(qǐng)求,保證了銷售數(shù)量和用戶訂單處理順序的正確性,也提高了用戶體驗(yàn)。
專業(yè)人員應(yīng)該還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。