訂單拆分方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種訂單拆分方法,該方法包括:a.根據(jù)拆分原則,對(duì)父訂單進(jìn)行拆分,以獲得多個(gè)子訂單;b.對(duì)每個(gè)子訂單進(jìn)行防重檢查;c.當(dāng)子訂單屬于重復(fù)訂單時(shí),取消該訂單的發(fā)送;當(dāng)子訂單不屬于重復(fù)訂單時(shí),將所述子訂單發(fā)送到訂單庫。本發(fā)明還提供了一種訂單拆分裝置,所述裝置包括數(shù)據(jù)準(zhǔn)備模塊、數(shù)據(jù)防重模塊、生成子單模塊。相對(duì)于現(xiàn)有技術(shù),本發(fā)明可以大大減少由于重復(fù)提交子訂單而產(chǎn)生的問題,進(jìn)一步提升了用戶體驗(yàn),減少了企業(yè)的損失。
【專利說明】訂單拆分方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及訂單數(shù)據(jù)處理技術(shù),尤其設(shè)及一種訂單拆分方法和裝置。
【背景技術(shù)】
[0002] 訂單拆分是電子商務(wù)中訂單流程的一部分。對(duì)于規(guī)模較大、業(yè)務(wù)較復(fù)雜的大型電 商公司來說,尤其是對(duì)于B2C電子商務(wù)公司來說更加重要。訂單拆分是指按照商品的不同 屬性或者特定的規(guī)則進(jìn)行拆分,比如按照商品的庫房、配送中屯、、商品類別、商家等屬性進(jìn) 行拆分。
[0003] 當(dāng)用戶選擇多個(gè)不同商家的商品加入了購物車后,在用戶提交訂單時(shí),由于是不 同的商家,那么就需要多次提交訂單、多次支付,該樣,用戶就需要多次操作,從而造成了不 佳的用戶體驗(yàn)。
[0004] 為了使用戶只需要操作一次,就需要在系統(tǒng)中根據(jù)商品的不同屬性W及特殊的拆 分規(guī)則將用戶下的訂單拆分開來,使得拆分開來的子訂單是能夠在下游的庫房中生產(chǎn);整 個(gè)過程中比較重要的一步就是從一個(gè)原始的訂單,拆分成兩個(gè)或者更多的訂單,該些訂單 稱為子訂單,而子訂單才是最終在庫房進(jìn)行生產(chǎn)W及用戶見到的訂單。
[0005] 如果網(wǎng)絡(luò)連接質(zhì)量不好,則會(huì)出現(xiàn)該種情況:子訂單提交成功,也就是將產(chǎn)生的拆 分后子訂單傳輸出去,但由于網(wǎng)絡(luò)的原因?qū)е率?,那么?duì)于系統(tǒng)來說就需要終止該次操 作,因?yàn)橹挥姓嬲a(chǎn)生了子訂單并將子訂單傳到訂單庫,子訂單才會(huì)被下游系統(tǒng)生產(chǎn);如果 該次操作失敗的話,就需要將原始父單回滾到有效狀態(tài)(之前進(jìn)行了取消父單的操作,就 是將父單置為無效狀態(tài)),重新進(jìn)行整個(gè)拆分過程,然后在將生成的新的子訂單再次提交到 訂單庫,如果該次成功了,則已經(jīng)提交了兩次,也就是訂單A不僅被拆分為B,C,而且還被拆 分為D和E。在網(wǎng)絡(luò)一直不好的情況下,還可能會(huì)產(chǎn)生更多的子訂單,該種情況稱為重復(fù)子 單。
[0006] 如果在處理過程中不能將該些重復(fù)的子訂單置為無效,最終投入生產(chǎn)的話,當(dāng)客 戶選擇的是貨到付款的方式時(shí),貨物會(huì)被配送多次,從而增加配送成本,而且會(huì)對(duì)用戶造成 不好的感受;當(dāng)客戶選擇的是先付款的方式時(shí),有可能用戶花一次錢,卻拿到多份的商品, 從而會(huì)使企業(yè)造成虧損。無論上述哪一種情況發(fā)生,結(jié)果都是非常嚴(yán)重的。
【發(fā)明內(nèi)容】
[0007] 針對(duì)現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的是提供一種能夠重復(fù)生成子訂單的方法和系 統(tǒng)。
[000引本發(fā)明提供了一種訂單拆分方法,該方法包括;a.根據(jù)拆分原則,對(duì)父訂單進(jìn)行 拆分,W獲得多個(gè)子訂單;b.對(duì)每個(gè)子訂單進(jìn)行防重檢查;C.當(dāng)子訂單屬于重復(fù)訂單時(shí),取 消該訂單的發(fā)送;當(dāng)子訂單不屬于重復(fù)訂單時(shí),將所述子訂單發(fā)送到訂單庫。
[0009] 優(yōu)選地,步驟b包括;bl.將子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的各條歷史記錄的 標(biāo)識(shí)段進(jìn)行比對(duì),其中,每條記錄包括標(biāo)識(shí)段和歷史子訂單數(shù)據(jù)段,其中標(biāo)識(shí)段為相應(yīng)歷史 子訂單的父訂單號(hào);b2.當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的一條歷史記錄的標(biāo)識(shí)段相 同時(shí),則該子訂單屬于重復(fù)訂單;當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中歷史記錄的標(biāo)識(shí)段 均不相同時(shí),則該子訂單不屬于重復(fù)訂單。
[0010] 優(yōu)選地,所述方法包括:當(dāng)該子訂單不屬于重復(fù)訂單時(shí),將該子訂單的父訂單號(hào)作 為新記錄的標(biāo)識(shí)段。
[0011] 優(yōu)選地,所述方法包括;每條記錄中還包括計(jì)數(shù)器,當(dāng)該子訂單屬于重復(fù)訂單時(shí), 將所述計(jì)數(shù)器加一。
[0012] 優(yōu)選地,所述防重表包括多個(gè)表,通過哈希算法將所述多個(gè)防重表散列到多個(gè)數(shù) 據(jù)庫中。
[0013] 優(yōu)選地,在步驟a之前還包括;對(duì)待拆分的父訂單進(jìn)行數(shù)據(jù)預(yù)處理,W使父訂單數(shù) 據(jù)為指定數(shù)據(jù)類型。
[0014] 本發(fā)明還提供了一種訂單拆分裝置,所述裝置包括數(shù)據(jù)準(zhǔn)備模塊、數(shù)據(jù)防重模塊、 生成子單模塊。其中;數(shù)據(jù)準(zhǔn)備模塊用于根據(jù)拆分原則,對(duì)父訂單進(jìn)行拆分,W獲得多個(gè)子 訂單;數(shù)據(jù)防重模塊用于對(duì)每個(gè)子訂單進(jìn)行防重檢查;生成子單模塊用于當(dāng)子訂單屬于重 復(fù)訂單時(shí),取消該訂單的發(fā)送;當(dāng)子訂單不屬于重復(fù)訂單時(shí),將所述子訂單發(fā)送到訂單庫。
[0015] 優(yōu)選地,數(shù)據(jù)準(zhǔn)備模塊包括數(shù)據(jù)比較單元、數(shù)據(jù)判斷單元。其中:所述數(shù)據(jù)比較單 元用于將子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的各條歷史記錄的標(biāo)識(shí)段進(jìn)行比對(duì),其中,每 條記錄包括標(biāo)識(shí)段和歷史子訂單數(shù)據(jù)段,其中標(biāo)識(shí)段為相應(yīng)歷史子訂單的父訂單號(hào);所述 數(shù)據(jù)判斷單元當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的一條歷史記錄的標(biāo)識(shí)段相同時(shí),則該 子訂單屬于重復(fù)訂單;當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中歷史記錄的標(biāo)識(shí)段均不相同 時(shí),則該子訂單不屬于重復(fù)訂單。
[0016] 優(yōu)選地,所述裝置包括計(jì)數(shù)單元,當(dāng)該子訂單屬于重復(fù)訂單時(shí),所述計(jì)數(shù)單元將所 述計(jì)數(shù)器加一。
[0017] 優(yōu)選地,所述裝置包括預(yù)處理單元,用于對(duì)待拆分的父訂單進(jìn)行數(shù)據(jù)預(yù)處理,W使 父訂單數(shù)據(jù)為指定數(shù)據(jù)類型。
[0018] 優(yōu)選地,所述裝置包括散列單元,所述散列單元用于通過哈希算法將所述多個(gè)防 重表散列到數(shù)據(jù)庫中。
[0019] 相對(duì)于現(xiàn)有技術(shù),本發(fā)明可W大大減少由于重復(fù)提交子訂單而產(chǎn)生的問題,進(jìn)一 步提升了用戶體驗(yàn),減少了企業(yè)的損失。
【專利附圖】
【附圖說明】
[0020] 圖1是本發(fā)明一種優(yōu)選實(shí)施方式的訂單拆分方法的流程圖;
[0021] 圖2是本發(fā)明一種優(yōu)選實(shí)施方式的訂單拆分裝置的結(jié)構(gòu)框圖;
[0022] 圖3是本發(fā)明一種優(yōu)選實(shí)施方式的訂單拆分方法的工作示意圖。
【具體實(shí)施方式】
[0023] 圖1是本發(fā)明一種優(yōu)選實(shí)施方式的訂單拆分方法的流程圖。圖3是本發(fā)明一種優(yōu) 選實(shí)施方式的訂單拆分方法的工作示意圖。如圖1、3所示:
[0024] 在步驟110,根據(jù)拆分原則,對(duì)父訂單進(jìn)行拆分,W獲得多個(gè)子訂單。拆分是將訂單 數(shù)據(jù)按照系統(tǒng)定義的拆分業(yè)務(wù)邏輯規(guī)則進(jìn)行拆分處理。
[0025] 所述拆分原則可W是各種適合的規(guī)則,例如按照不同的商家進(jìn)行拆分,也可W根 據(jù)不同商品存放的庫房進(jìn)行拆分。例如在一個(gè)父訂單上,包括了用戶要購買的商品A、B、C、 D四種商品,其中,商品A存放在甲地的倉庫中;商品B存放在己地的倉庫中;商品C存放 在甲地的倉庫中;商品D存放在己地的倉庫中,因此,可W按照商品存放庫房的不同進(jìn)行拆 分,可W拆分為兩個(gè)子訂單,第一子訂單為包括商品A、C的訂單;第二子訂單為包括商品B、 D的訂單。
[0026] 拆分生成子單的過程可W包括;對(duì)父訂單數(shù)據(jù)拆分形成多個(gè)堆,由于產(chǎn)生了多個(gè) 堆,意味著會(huì)生成多個(gè)子訂單,即每個(gè)堆為一個(gè)子訂單的數(shù)據(jù)。而原始訂單,即父訂單就要 被取消掉,使其無效,而對(duì)于即將形成的子訂單則為其分別獲取訂單號(hào),進(jìn)而生成子訂單。 盡管父訂單被取消,但是父訂單號(hào)被記錄下來,W用于后續(xù)的防重檢查過程。
[0027] 優(yōu)選地,在步驟110之前,還包括步驟105 ;為了便于拆分時(shí)進(jìn)行數(shù)據(jù)處理,將數(shù)據(jù) 處理成指定的模型。
[002引該模型是為了接下來進(jìn)行拆分而做的準(zhǔn)備,主要是我們進(jìn)行拆分時(shí)所有關(guān)注的 拆分維度的描述,例如該個(gè)模型叫SN,包含一些拆分所關(guān)屯、的維度:如skuW、storeW、 deliveryld等,分別代表商品編號(hào)、庫房號(hào)、配送中屯、編號(hào)等;在步驟105,則將父訂單中所 包含的所有商品進(jìn)行SN填充,就形成了一個(gè)個(gè)的SN,至此,拆分前的數(shù)據(jù)模型準(zhǔn)備就緒。
[0029] 在步驟110,在拆分規(guī)則中會(huì)對(duì)SN進(jìn)行比較,相同的分在一堆,不同的分為另外的 一堆,最后根據(jù)不同的堆進(jìn)行拆分。比如上面的例子;用戶訂單包含A、B、C和D四個(gè)商品, 那么我們會(huì)為該四個(gè)商品進(jìn)行填充SN,就是將SN中的屬性如庫房號(hào)、配送中屯、等屬性進(jìn)行 填寫,會(huì)形成四個(gè)不同的SN實(shí)例,對(duì)應(yīng)于四個(gè)商品,我們根據(jù)對(duì)比該個(gè)四個(gè)SN的拆分屬性, 該里主要關(guān)注storeld庫房號(hào)維度,就是按照庫房維度的不同進(jìn)行分堆,繼而形成子訂單。
[0030] 在步驟120,對(duì)每個(gè)子訂單進(jìn)行防重檢查。防重檢查是為了確定步驟110所拆分的 子訂單是否為重復(fù)訂單。步驟110所拆分的子訂單數(shù)據(jù)將在步驟120中進(jìn)行防重檢查。
[0031] 在一種進(jìn)行防重檢查的優(yōu)選實(shí)施方式中,將子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的 各條歷史記錄的標(biāo)識(shí)段進(jìn)行比對(duì),其中,每條記錄包括標(biāo)識(shí)段和歷史子訂單數(shù)據(jù)段,其中標(biāo) 識(shí)段為相應(yīng)歷史子訂單的父訂單號(hào)。
[0032] 在本實(shí)施方式中,設(shè)置了用于防重檢查的防重表,所述防重表如下表1所示:
[0033]
[0034] 表 1
【權(quán)利要求】
1. 一種訂單拆分方法,其特征在于,所述方法包括: a. 根據(jù)拆分原則,對(duì)父訂單進(jìn)行拆分,以獲得多個(gè)子訂單; b. 對(duì)每個(gè)子訂單進(jìn)行防重檢查; c. 當(dāng)子訂單屬于重復(fù)訂單時(shí),取消該訂單的發(fā)送;當(dāng)子訂單不屬于重復(fù)訂單時(shí),將所 述子訂單發(fā)送到訂單庫。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟b包括: bl.將子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的各條歷史記錄的標(biāo)識(shí)段進(jìn)行比對(duì),其中,每 條記錄包括標(biāo)識(shí)段和歷史子訂單數(shù)據(jù)段,其中標(biāo)識(shí)段為相應(yīng)歷史子訂單的父訂單號(hào); b2.當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的一條歷史記錄的標(biāo)識(shí)段相同時(shí),則該子訂 單屬于重復(fù)訂單;當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中歷史記錄的標(biāo)識(shí)段均不相同時(shí),則 該子訂單不屬于重復(fù)訂單。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法包括:當(dāng)該子訂單不屬于重 復(fù)訂單時(shí),將該子訂單的父訂單號(hào)作為新記錄的標(biāo)識(shí)段。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法包括:每條記錄中還包括計(jì)數(shù) 器,當(dāng)該子訂單屬于重復(fù)訂單時(shí),將所述計(jì)數(shù)器加一。
5. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述防重表包括多個(gè)表,通過哈希算法將 所述多個(gè)防重表散列到多個(gè)數(shù)據(jù)庫中。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,在步驟a之前還包括:對(duì)待拆分的父訂單 進(jìn)行數(shù)據(jù)預(yù)處理,以使父訂單數(shù)據(jù)為指定數(shù)據(jù)類型。
7. -種訂單拆分裝置,其特征在于,所述裝置包括數(shù)據(jù)準(zhǔn)備模塊、數(shù)據(jù)防重模塊、生成 子單模塊,其中: 數(shù)據(jù)準(zhǔn)備模塊用于根據(jù)拆分原則,對(duì)父訂單進(jìn)行拆分,以獲得多個(gè)子訂單; 數(shù)據(jù)防重模塊用于對(duì)每個(gè)子訂單進(jìn)行防重檢查; 生成子單模塊用于當(dāng)子訂單屬于重復(fù)訂單時(shí),取消該訂單的發(fā)送;當(dāng)子訂單不屬于重 復(fù)訂單時(shí),將所述子訂單發(fā)送到訂單庫。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,數(shù)據(jù)準(zhǔn)備模塊包括數(shù)據(jù)比較單元、數(shù)據(jù)判 斷單元,其中: 所述數(shù)據(jù)比較單元用于將子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的各條歷史記錄的標(biāo)識(shí) 段進(jìn)行比對(duì),其中,每條記錄包括標(biāo)識(shí)段和歷史子訂單數(shù)據(jù)段,其中標(biāo)識(shí)段為相應(yīng)歷史子訂 單的父訂單號(hào); 所述數(shù)據(jù)判斷單元當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中的一條歷史記錄的標(biāo)識(shí)段相 同時(shí),則該子訂單屬于重復(fù)訂單;當(dāng)子訂單對(duì)應(yīng)的父訂單號(hào)與防重表中歷史記錄的標(biāo)識(shí)段 均不相同時(shí),則該子訂單不屬于重復(fù)訂單。
9. 根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述裝置包括計(jì)數(shù)單元,當(dāng)該子訂單 屬于重復(fù)訂單時(shí),所述計(jì)數(shù)單元將所述計(jì)數(shù)器加一。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置包括預(yù)處理單元,用于對(duì)待拆 分的父訂單進(jìn)行數(shù)據(jù)預(yù)處理,以使父訂單數(shù)據(jù)為指定數(shù)據(jù)類型。
11. 根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置包括散列單元,所述散列單元 用于通過哈希算法將所述多個(gè)防重表散列到數(shù)據(jù)庫中。
【文檔編號(hào)】G06Q50/28GK104504548SQ201410782704
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月16日 優(yōu)先權(quán)日:2014年12月16日
【發(fā)明者】彭智敏, 孫海波 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司