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