两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

訂單數(shù)據(jù)處理方法和處理裝置的制造方法

文檔序號(hào):10687860閱讀:396來源:國(guó)知局
訂單數(shù)據(jù)處理方法和處理裝置的制造方法
【專利摘要】在本發(fā)明的實(shí)施例中,根據(jù)拆分原則將一個(gè)父訂單拆分為多個(gè)第一子訂單;判斷所述父訂單的訂單號(hào)在防重表是否存在;如果父訂單的訂單號(hào)在防重表中已經(jīng)存在,獲取父訂單對(duì)應(yīng)的多個(gè)第二子訂單的校驗(yàn)碼和子訂單號(hào);根據(jù)每個(gè)第一子訂單的特征字段生成第一子訂單的校驗(yàn)碼;以及比較第一子訂單和第二子訂單的校驗(yàn)碼,確定每個(gè)第一子訂單的子訂單號(hào)。本發(fā)明通過校驗(yàn)碼保證多次拆分的順序一致,減少問題訂單的出現(xiàn)。
【專利說明】
訂單數(shù)據(jù)處理方法和處理裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體涉及一種訂單數(shù)據(jù)處理方法和拆分裝置。
【背景技術(shù)】
[0002] 中國(guó)專利號(hào)為CN104504548A提供的訂單防重復(fù)生成的方案是,通過將訂單寫入防 重表進(jìn)行防重復(fù)。此方案是將拆分后的父單號(hào)和子單號(hào)信息都存儲(chǔ)到防重表中,然后判斷 父單號(hào)在防重表中是否存在,如果存在將子訂單號(hào)取出來賦值到當(dāng)前訂單中,從而實(shí)現(xiàn)防 重的功能。
[0003] 現(xiàn)有方案存在缺點(diǎn)是,首先通過父單號(hào)查找到子單號(hào)后,并不能確定子訂單號(hào)的 回填順序,比如A訂單總金額100元,拆分子訂單金額順序分別是20元和80元,但是當(dāng)A發(fā)生 重復(fù)拆單請(qǐng)求時(shí),拆分子訂單金額順序分別是80元和20元,此種情況如果直接通過父訂單 號(hào)防重,取出來的訂單號(hào)對(duì)應(yīng)的訂單正好是相反的,后續(xù)訂單對(duì)賬、生產(chǎn)都會(huì)產(chǎn)生問題。
[0004] 其次,當(dāng)前方案沒有從源頭上控制訂單號(hào)生成的重復(fù),每次訂單拆分時(shí)還是要去 獲取子訂單號(hào),然后進(jìn)行防重復(fù)。將已生成的子訂單號(hào)廢棄,也是一種資源浪費(fèi)。

【發(fā)明內(nèi)容】

[0005] 有鑒于此,本發(fā)明提供一種訂單數(shù)據(jù)處理方法和拆分裝置,用于解決上述問題。
[0006] 根據(jù)本發(fā)明的第一方面,本發(fā)明提供一種訂單數(shù)據(jù)處理方法,包括:根據(jù)拆分原則 將一個(gè)父訂單拆分為多個(gè)第一子訂單;判斷所述父訂單的訂單號(hào)在防重表是否存在;如果 所述父訂單的訂單號(hào)已經(jīng)存在,獲取所述父訂單對(duì)應(yīng)的多個(gè)第二子訂單的校驗(yàn)碼和子訂單 號(hào);根據(jù)所述第一子訂單的特征字段生成所述第一子訂單的校驗(yàn)碼;以及比較所述第一子 訂單和所述第二子訂單的校驗(yàn)碼,確定每個(gè)所述第一子訂單的子訂單號(hào)。
[0007] 可選地,所述比較所述第一子訂單和第二子訂單的校驗(yàn)碼,確定每個(gè)所述第一子 訂單的子訂單號(hào)包括:比較所述第一子訂單和所述第二子訂單的校驗(yàn)碼;以及將所述第一 子訂單的子訂單號(hào)設(shè)置為具有相同的校驗(yàn)碼的第二子訂單的子訂單號(hào)。
[0008] 可選地,還包括:如果所述父訂單的訂單號(hào)在所述防重表不存在,生成多個(gè)所述第 一子訂單的子訂單號(hào)。
[0009] 可選地,還包括:將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單 號(hào)存儲(chǔ)到所述防重表中。
[0010] 可選地,所述防重表包括多個(gè)各自獨(dú)立的分表,所述將所述第一子訂單的校驗(yàn)碼 和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)到所述防重表為:計(jì)算所述父訂單的訂單號(hào)和分 表個(gè)數(shù)的余數(shù),以及根據(jù)所述余數(shù)將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述父訂單 的訂單號(hào)存儲(chǔ)在不同的分表中。
[0011] 可選地,所述防重表包括多個(gè)各自獨(dú)立的分表,所述將所述第一子訂單的校驗(yàn)碼 和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)到所述防重表為:將所述第一子訂單的校驗(yàn)碼和 子訂單號(hào)以及所述父訂單的訂單號(hào)隨機(jī)存儲(chǔ)到所述防重表的分表中。
[0012] 可選地,還包括:將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單 號(hào)隨機(jī)存儲(chǔ)到所述防重表的分表中之后,將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述 父訂單的訂單號(hào)存儲(chǔ)到緩存中。
[0013] 可選地,所述判斷所述父訂單的訂單號(hào)在防重表是否存在包括:通過檢索緩存判 斷所述父訂單的訂單號(hào)在所述防重表是否存在。
[0014]可選地,還包括:定期刪除緩存中已經(jīng)生產(chǎn)的訂單對(duì)應(yīng)的防重?cái)?shù)據(jù)。
[0015] 可選地,所述防重表通過REDIS數(shù)據(jù)庫存儲(chǔ)。
[0016] 根據(jù)本發(fā)明的第二方面,本發(fā)明提供一種訂單數(shù)據(jù)處理裝置,包括:拆分模塊,用 于根據(jù)拆分原則將一個(gè)父訂單拆分為多個(gè)第一子訂單;判斷模塊,用于判斷所述父訂單的 訂單號(hào)在防重表是否存在;獲取模塊,用于如果所述父訂單的訂單號(hào)在所述防重表中已經(jīng) 存在,獲取所述父訂單對(duì)應(yīng)的多個(gè)第二子訂單的校驗(yàn)碼和子訂單號(hào);生成模塊,用于根據(jù)所 述第一子訂單的特征字段生成所述第一子訂單的校驗(yàn)碼;確定模塊,用于比較所述第一子 訂單和第二子訂單的校驗(yàn)碼,確定每個(gè)所述第一子訂單的子訂單號(hào)。
[0017] 可選地,所述確定模塊包括:第一比較單元,用于比較所述第一子訂單和所述第二 子訂單的校驗(yàn)碼;設(shè)置單元,用于將所述第一子訂單的子訂單號(hào)設(shè)置為具有相同的校驗(yàn)碼 的第二子訂單的子訂單號(hào)。
[0018] 可選地,還包括:子訂單號(hào)生成模塊,用于如果所述父訂單的訂單號(hào)在所述防重表 中不存在,生成多個(gè)所述第一子訂單的子訂單號(hào);存儲(chǔ)模塊,用于將所述第一子訂單的校驗(yàn) 碼和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)到所述防重表中。
[0019] 在本發(fā)明的實(shí)施例中,判斷父訂單的訂單號(hào)在防重表是否存在,以此確定是否生 成子訂單號(hào),從而從源頭上阻止了同一訂單重復(fù)獲取子訂單號(hào),在防重表中存儲(chǔ)校驗(yàn)碼,根 據(jù)校驗(yàn)碼比較確定子訂單號(hào),保證父訂單每次拆分的順序都一樣,防止了問題訂單的產(chǎn)生。
【附圖說明】
[0020] 通過參照以下附圖對(duì)本發(fā)明實(shí)施例的描述,本發(fā)明的上述以及其它目的、特征和 優(yōu)點(diǎn)將更為清楚,在附圖中:
[0021 ]圖1是根據(jù)本發(fā)明實(shí)施例的訂單數(shù)據(jù)處理方法的示意圖;
[0022] 圖2是根據(jù)本發(fā)明另一實(shí)施例的訂單數(shù)據(jù)處理方法的流程圖;
[0023] 圖3是根據(jù)本發(fā)明另一實(shí)施例的訂單數(shù)據(jù)處理方法的流程圖;
[0024] 圖4是根據(jù)本發(fā)明實(shí)施例的訂單數(shù)據(jù)處理裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0025] 以下基于實(shí)施例對(duì)本發(fā)明進(jìn)行描述,但是本發(fā)明并不僅僅限于這些實(shí)施例。在下 文對(duì)本發(fā)明的細(xì)節(jié)描述中,詳盡描述了一些特定的細(xì)節(jié)部分。對(duì)本領(lǐng)域技術(shù)人員來說沒有 這些細(xì)節(jié)部分的描述也可以完全理解本發(fā)明。為了避免混淆本發(fā)明的實(shí)質(zhì),公知的方法、過 程、流程沒有詳細(xì)敘述。另外附圖不一定是按比例繪制的。
[0026] 在本發(fā)明的描述中,需要理解的是,術(shù)語"第一"、"第二"等僅用于描述目的,而不 能理解為指示或暗示相對(duì)重要性。
[0027]圖1是根據(jù)本發(fā)明實(shí)施例的訂單數(shù)據(jù)處理方法的示意圖。所述訂單數(shù)據(jù)處理方法 包括步驟100-104。
[0028] 在步驟100中,根據(jù)拆分原則將父訂單拆分為多個(gè)第一子訂單。
[0029] 如【背景技術(shù)】中所述,通過拆分原則可以將一個(gè)父訂單拆分成多個(gè)子訂單。拆分原 則可以是各種適合的規(guī)則,例如按照不同的商家進(jìn)行拆分,也可以根據(jù)不同商品存放的庫 房進(jìn)行拆分。例如在一個(gè)父訂單上,包括了用戶要購買的商品A、B、C、D四種商品,其中,商品 A存放在甲地的倉庫中;商品B存放在乙地的倉庫中;商品C存放在甲地的倉庫中;商品D存放 在乙地的倉庫中,因此,可以按照商品存放庫房的不同進(jìn)行拆分,可以拆分為兩個(gè)子訂單, 一個(gè)子訂單為包括商品A、C的訂單;另一個(gè)子訂單為包括商品B、D的訂單。
[0030] 在本步驟中,雖然將父訂單拆分成多個(gè)子訂單,但是暫時(shí)不生成每個(gè)子訂單的子 訂單號(hào)。因?yàn)橛锌赡茉撚唵螌儆谥貜?fù)拆分的訂單,其子訂單號(hào)可以從防重表中檢索到。父訂 單經(jīng)過拆分后,父訂單上的商品信息、支付信息、配送中心等屬性按拆分規(guī)則分配到子訂單 上。
[0031] 在步驟101中,判斷父訂單的訂單號(hào)在防重表是否存在。如果存在,執(zhí)行步驟102。
[0032] 在步驟102中,如果父訂單的訂單號(hào)在防重表中存在,獲取訂單對(duì)應(yīng)的多個(gè)第二子 訂單的校驗(yàn)碼和子訂單號(hào)。父訂單的訂單號(hào)在防重表中存在,說明該訂單以前拆分過,本次 拆分屬于重復(fù)拆分。
[0033] 在步驟103中,根據(jù)每個(gè)第一子訂單的特征字段生成第一子訂單的校驗(yàn)碼。
[0034] 所述特征字段為能夠體現(xiàn)訂單特性信息的字段。例如,前述A、B、C、D的訂單,拆分 成A、C和B、D的兩個(gè)子訂單,由于A、B、C和D都具有唯一的商品標(biāo)識(shí)碼,所以可以根據(jù)將他們 各自的商品標(biāo)識(shí)碼生成唯一校驗(yàn)碼。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這里的校驗(yàn)碼僅用于區(qū) 分不同的子訂單,所以應(yīng)該選擇值不同的屬性字段生成校驗(yàn)碼,諸如,上述的商品標(biāo)識(shí)碼, 或,A、B、C和D的商品名稱或價(jià)格(如果價(jià)格不等)。
[0035]在步驟104中,比較第一子訂單和第二子訂單的校驗(yàn)碼,確定每個(gè)第二子訂單的子 訂單號(hào)。
[0036] 在本步驟中,分別比較多個(gè)第一子訂單和第二子訂單的校驗(yàn)碼,以確定每個(gè)第一 子訂單的訂單號(hào)??蛇x地,將第一子訂單的子訂單號(hào)設(shè)置為和它具有相同的校驗(yàn)碼的第二 子訂單的子訂單號(hào)。
[0037] 在本發(fā)明實(shí)施例中,父訂單拆分后的防重表數(shù)據(jù)的示例如下所示:
[0038] 表格 1
[0040]在本實(shí)施例中,首先將父訂單拆分獲取多個(gè)第一子訂單(這里,第一子訂單里不包 含子訂單號(hào),只包含拆分后的屬性字段),并根據(jù)第一子訂單中的特征字段生成第一子訂單 的校驗(yàn)碼,將第一子訂單的校驗(yàn)碼和從防重表中檢索到的對(duì)應(yīng)的第二子訂單的校驗(yàn)碼比 較,將第一子訂單的子訂單號(hào)設(shè)置為和第一子訂單的校驗(yàn)碼相同的第二子訂單的子訂單 號(hào)。本發(fā)明提供的方法,對(duì)于多次拆分的訂單,不需要重新申請(qǐng)新的子訂單號(hào),而是從防重 表內(nèi)獲得子訂單號(hào),并且通過校驗(yàn)碼保證每次拆分的順序都一致。
[0041]圖2是根據(jù)本發(fā)明另一實(shí)施例的訂單數(shù)據(jù)處理方法的示意圖。包括步驟201-207。 [0042] 其中步驟200-204和圖1的步驟100-104相同,這里就不再贅述。
[0043] 在步驟205中,生成多個(gè)第一子訂單的子訂單號(hào)。
[0044]例如,系統(tǒng)查找獲得到當(dāng)前數(shù)據(jù)庫里存儲(chǔ)的最大訂單號(hào),然后根據(jù)訂單號(hào)生成算 法批量生成子訂單號(hào)。
[0045] 在步驟206中,根據(jù)每個(gè)第一子訂單的特征字段生成第一子訂單的校驗(yàn)碼。
[0046] 從第一子訂單的屬性字段中,獲取到特征字段,例如,選擇商品標(biāo)識(shí)碼,并通過加 密或者壓縮算法生成校驗(yàn)碼。
[0047] 在步驟207中,將第一子訂單的校驗(yàn)碼和子訂單號(hào)以及父訂單的訂單號(hào)存儲(chǔ)到防 重表中。
[0048] 在本發(fā)明的實(shí)施例中,如果防重表中存有對(duì)應(yīng)的父訂單號(hào)時(shí),獲取對(duì)應(yīng)的子訂單 號(hào),根據(jù)校驗(yàn)碼將子訂單號(hào)回填到新拆分的子訂單中,否則生成新的子訂單號(hào)和校驗(yàn)碼存 儲(chǔ)到防重表中。本發(fā)明實(shí)施例根據(jù)校驗(yàn)碼回填新拆分的子訂單,保證多次拆分的順序都一 致。此外,增加 REDIS緩存后,系統(tǒng)處理的性能也得到很大的提升。
[0049] 另外,隨著數(shù)據(jù)不斷的增大,可以根據(jù)業(yè)務(wù)的需要,定期刪除已經(jīng)生產(chǎn)的防重?cái)?shù)據(jù) 或者將防重表數(shù)據(jù)轉(zhuǎn)移到歷史數(shù)據(jù)庫,以保證當(dāng)前防重?cái)?shù)據(jù)庫的性能。
[0050] 電商的海量訂單可能導(dǎo)致防重?cái)?shù)據(jù)變得日益龐大,因此可以采用分表方式存儲(chǔ)防 重?cái)?shù)據(jù),即,防重表包括多個(gè)分表,這些分表可以位于同一個(gè)數(shù)據(jù)庫中,也可以位于不同的 數(shù)據(jù)庫中。每次存儲(chǔ)一條防重?cái)?shù)據(jù)時(shí),通過分表算法確定將該防重?cái)?shù)據(jù)存儲(chǔ)到哪個(gè)分表中。 通過分表能夠提高數(shù)據(jù)庫性能,同時(shí)對(duì)于應(yīng)用系統(tǒng)的分布式部署也能夠很好地支持。
[0051] 分表算法包括求余算法和隨機(jī)存儲(chǔ)。求余算法通過對(duì)父訂單或子訂單的訂單號(hào)進(jìn) 行求余進(jìn)行分表。例如,父訂單號(hào)為10000-10004的子訂單,防重表包括order_listOl, order_list02,order_list03,〇1(161'_1丨81:04,〇1(161'_1丨81:05五個(gè)分表,父訂單號(hào)除以5求余 數(shù),將相同余數(shù)的防重?cái)?shù)據(jù)存儲(chǔ)到同一個(gè)分表中。本領(lǐng)域的技術(shù)人員可以理解,雖然通過將 防重?cái)?shù)據(jù)存儲(chǔ)在不同的分表中有助于減輕數(shù)據(jù)庫的性能壓力,但同時(shí),由于在檢索防重?cái)?shù) 據(jù)時(shí),需要判斷防重?cái)?shù)據(jù)位于哪個(gè)分表中,然后再在對(duì)應(yīng)的分表中檢索,由此應(yīng)用邏輯也相 應(yīng)繁瑣。
[0052] 隨機(jī)存儲(chǔ)是將防重?cái)?shù)據(jù)隨機(jī)存儲(chǔ)到防重表的一個(gè)分表中。隨機(jī)存儲(chǔ)帶來的問題在 于需要檢索所有的分表才能查找到一條防重?cái)?shù)據(jù)。為了解決這個(gè)問題,在將防重?cái)?shù)據(jù)隨機(jī) 存儲(chǔ)到一個(gè)分表中后,將防重?cái)?shù)據(jù)同步存儲(chǔ)到緩存中,則通過檢索緩存即能確定防重?cái)?shù)據(jù) 是否在防重表中存儲(chǔ)。具體地,如圖3所示的采用分表存儲(chǔ)的訂單數(shù)據(jù)處理方法,包括步驟 300-308。
[0053]在步驟300中,根據(jù)拆分原則將父訂單拆分為多個(gè)第一子訂單。
[0054]在步驟301中,檢索緩存判斷訂單的訂單號(hào)在防重表是否存在。如果訂單的訂單號(hào) 在緩存中存在,則執(zhí)行步驟302,否則執(zhí)行步驟305。
[0055] 在步驟302中,獲取父訂單對(duì)應(yīng)的多個(gè)第二子訂單的校驗(yàn)碼和子訂單號(hào)。由于分表 存儲(chǔ),所以本步驟需要檢索多個(gè)分表,獲得父訂單對(duì)應(yīng)的多個(gè)第二子訂單的校驗(yàn)碼和子訂 單號(hào)。
[0056]在步驟303中,根據(jù)每個(gè)第一子訂單的特征字段生成第一子訂單的校驗(yàn)碼。
[0057]在步驟304中,比較第一子訂單和第二子訂單的校驗(yàn)碼,確定每個(gè)第一子訂單的子 訂單號(hào)。
[0058] 在步驟305中,生成多個(gè)第一子訂單的子訂單號(hào)。
[0059]在步驟306中,根據(jù)每個(gè)第一子訂單的特征字段生成第一子訂單的校驗(yàn)碼。
[0060] 在步驟307中,將第一子訂單的校驗(yàn)碼和子訂單號(hào)以及父訂單的訂單號(hào)隨機(jī)存儲(chǔ) 到防重表的一個(gè)分表中。
[0061]在步驟308中,將第一子訂單的校驗(yàn)碼和子訂單號(hào)以及父訂單的訂單號(hào)存儲(chǔ)到緩 存中。步驟308在步驟307之后執(zhí)行,保證所有分表中的數(shù)據(jù)都在緩存中存儲(chǔ)。
[0062]可選地,定期刪除緩存中已經(jīng)生產(chǎn)的訂單對(duì)應(yīng)的防重?cái)?shù)據(jù)。訂單生產(chǎn)指用戶已經(jīng) 獲得訂單內(nèi)的商品或者用戶取消了訂單。一般地,已經(jīng)生產(chǎn)的訂單將不再需要進(jìn)行訂單拆 分處理。
[0063]圖4是根據(jù)本發(fā)明實(shí)施例的訂單數(shù)據(jù)處理裝置的流程圖,所述拆分裝置包括:判斷 模塊401、獲取模塊402、拆分模塊403、生成模塊404和確定模塊405。
[0064]判斷模塊401判斷父訂單的訂單號(hào)是否在防重表中存在。通過檢索數(shù)據(jù)庫表可以 判斷父訂單的訂單號(hào)在防重表中是否存在。如果防重?cái)?shù)據(jù)同時(shí)存儲(chǔ)在緩存中,也可以通過 檢索緩存判斷訂單的訂單號(hào)在防重表中是否存在。
[0065]獲取模塊402如果父訂單的訂單號(hào)在防重表中已經(jīng)存在,獲取父訂單對(duì)應(yīng)的多個(gè) 第二子訂單的校驗(yàn)碼和子訂單號(hào)。
[0066] 拆分模塊403根據(jù)拆分原則將父訂單拆分為多個(gè)第一子訂單。根據(jù)預(yù)定義的拆分 邏輯將父訂單拆分多個(gè)子訂單,將父訂單的屬性字段拆分到每個(gè)子訂單中,拆分方式如復(fù) 制、分割。復(fù)制如將父訂單的支付方式復(fù)制到每個(gè)子訂單中,分割如將原訂單的金額分割成 若干子金額,分配到每個(gè)子訂單中。
[0067] 生成模塊404根據(jù)每個(gè)第一子訂單的特征字段生成第一子訂單的校驗(yàn)碼。在多個(gè) 第一子訂單的屬性字段中,選擇一個(gè)或多個(gè)字段生成每個(gè)子訂單的校驗(yàn)碼。例如,可以選擇 每個(gè)子訂單中的商品編號(hào)、商品品類或價(jià)格生成校驗(yàn)碼。因?yàn)樾r?yàn)碼用于區(qū)分不同的子訂 單,所以應(yīng)該選擇其值不同的屬性字段生成校驗(yàn)碼。
[0068]確定模塊405比較第一子訂單和第二子訂單的校驗(yàn)碼,確定每個(gè)第一子訂單的子 訂單號(hào)。例如,將第一子訂單的子訂單號(hào)設(shè)置為具有相同校驗(yàn)碼的第二子訂單的子訂單號(hào)。 [0069] 可選地,確定模塊405包括:第一比較單元,用于比較第一子訂單和第二子訂單的 校驗(yàn)碼;設(shè)置單元,用于將第一子訂單的子訂單號(hào)設(shè)置為和具有相同的校驗(yàn)碼的第二子訂 單的子訂單號(hào)。
[0070]可選地,所述訂單數(shù)據(jù)處理裝置還包括:子訂單號(hào)生成模塊,用于如果父訂單的訂 單號(hào)在防重表中不存在,生成多個(gè)第一子訂單的子訂單號(hào);存儲(chǔ)模塊,用于將第一子訂單的 校驗(yàn)碼和子訂單號(hào)以及父訂單的訂單號(hào)存儲(chǔ)到所述防重表中。
[0071 ]可選地,上述防重表包括多個(gè)各自獨(dú)立的分表,根據(jù)父訂單的訂單號(hào)和分表的個(gè) 數(shù)進(jìn)行求余數(shù)計(jì)算,根據(jù)余數(shù)將子訂單的校驗(yàn)碼、子訂單號(hào)和父訂單的訂單號(hào)存儲(chǔ)到在不 同的分表中。
[0072] 可選地,上述防重表包括多個(gè)各自獨(dú)立的分表,將子訂單的校驗(yàn)碼、子訂單號(hào)和父 訂單的訂單號(hào)隨機(jī)存儲(chǔ)到在不同的分表中。
[0073]可選地,還包括:緩存模塊,用于將子訂單的校驗(yàn)碼和子訂單號(hào)以及父訂單的訂單 號(hào)隨機(jī)存儲(chǔ)到防重表的分表中之后,將子訂單的校驗(yàn)碼、子訂單號(hào)和父訂單的訂單號(hào)同步 存儲(chǔ)到緩存中。該緩存可以采用REDIS緩存或其他形式的緩存。
[0074]可選地,還包括刪除模塊,定期刪除緩存中已經(jīng)生產(chǎn)的訂單對(duì)應(yīng)的防重?cái)?shù)據(jù)。
[0075]本發(fā)明提供的訂單數(shù)據(jù)處理方法和訂單數(shù)據(jù)處理裝置將減少訂單號(hào)的獲取量,同 時(shí)可以防止子訂單的回填順序錯(cuò)誤,減少問題訂單,從而減少處理問題訂單的運(yùn)維成本,提 升系統(tǒng)的運(yùn)營(yíng)效率。
[0076]附圖中的流程圖、框圖圖示了本發(fā)明實(shí)施例的系統(tǒng)、方法、裝置的可能的體系框 架、功能和操作,流程圖和框圖上的方框可以代表一個(gè)、程序段或僅僅是一段代碼,所述、程 序段和代碼都是用來實(shí)現(xiàn)規(guī)定邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,所述實(shí)現(xiàn)規(guī)定邏輯功 能的可執(zhí)行指令可以重新組合,從而生成新的和程序段。因此附圖的方框以及方框順序只 是用來更好的圖示實(shí)施例的過程和步驟,而不應(yīng)以此作為對(duì)發(fā)明本身的限制。
[0077]系統(tǒng)的各個(gè)或單元可以通過硬件、固件或軟件實(shí)現(xiàn)。軟件例如包括采用JAVA、C/C+ +/C#、SQL等各種編程語言形成的編碼程序。雖然在方法以及方法圖例中給出本發(fā)明實(shí)施例 的步驟以及步驟的順序,但是所述步驟實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令可以重新組合, 從而生成新的步驟。所述步驟的順序也不應(yīng)該僅僅局限于所述方法以及方法圖例中的步驟 順序,可以根據(jù)功能的需要隨時(shí)進(jìn)行調(diào)整。例如將其中的某些步驟并行或按照相反順序執(zhí) 行。
[0078] 根據(jù)本發(fā)明的系統(tǒng)和方法可以部署在單個(gè)或多個(gè)服務(wù)器上。例如,可以將不同的 分別部署在不同的服務(wù)器上,形成專用服務(wù)器?;蛘?,可以在多個(gè)服務(wù)器上分布式部署相同 的功能單元、或系統(tǒng),以減輕負(fù)載壓力。所述服務(wù)器包括但不限于在同一個(gè)局域網(wǎng)以及通過 Internet連接的多個(gè)PC機(jī)、PC服務(wù)器、刀片機(jī)、超級(jí)計(jì)算機(jī)等。
[0079] 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域技術(shù)人員 而言,本發(fā)明可以有各種改動(dòng)和變化。凡在本發(fā)明的精神和原理之內(nèi)所作的任何修改、等同 替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種訂單數(shù)據(jù)處理方法,包括: 根據(jù)拆分原則將一個(gè)父訂單拆分為多個(gè)第一子訂單; 判斷所述父訂單的訂單號(hào)在防重表是否存在; 如果所述父訂單的訂單號(hào)已經(jīng)存在,獲取所述父訂單對(duì)應(yīng)的多個(gè)第二子訂單的校驗(yàn)碼 和子訂單號(hào); 根據(jù)所述第一子訂單的特征字段生成所述第一子訂單的校驗(yàn)碼;以及 比較所述第一子訂單和所述第二子訂單的校驗(yàn)碼,確定每個(gè)所述第一子訂單的子訂單 號(hào)。2. 根據(jù)權(quán)利要求1所述的訂單數(shù)據(jù)處理方法,其中,所述比較所述第一子訂單和第二子 訂單的校驗(yàn)碼,確定每個(gè)所述第一子訂單的子訂單號(hào)包括: 比較所述第一子訂單和所述第二子訂單的校驗(yàn)碼;以及 將所述第一子訂單的子訂單號(hào)設(shè)置為具有相同的校驗(yàn)碼的第二子訂單的子訂單號(hào)。3. 根據(jù)權(quán)利要求1所述的訂單數(shù)據(jù)處理方法,還包括: 如果所述父訂單的訂單號(hào)在所述防重表不存在,生成多個(gè)所述第一子訂單的子訂單 號(hào)。4. 根據(jù)權(quán)利要求3所述的訂單數(shù)據(jù)處理方法,還包括:將所述第一子訂單的校驗(yàn)碼和子 訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)到所述防重表中。5. 根據(jù)權(quán)利要求4所述的訂單數(shù)據(jù)處理方法,其中,所述防重表包括多個(gè)各自獨(dú)立的分 表,所述將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)到所述防重 表為:計(jì)算所述父訂單的訂單號(hào)和分表個(gè)數(shù)的余數(shù),以及根據(jù)所述余數(shù)將所述第一子訂單 的校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)在不同的分表中。6. 根據(jù)權(quán)利要求4所述的訂單數(shù)據(jù)處理方法,其中,所述防重表包括多個(gè)各自獨(dú)立的分 表,所述將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)到所述防重 表為:將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單號(hào)隨機(jī)存儲(chǔ)到所述防 重表的分表中。7. 根據(jù)權(quán)要求6所述的訂單數(shù)據(jù)處理方法,還包括:將所述第一子訂單的校驗(yàn)碼和子訂 單號(hào)以及所述父訂單的訂單號(hào)隨機(jī)存儲(chǔ)到所述防重表的分表中之后,將所述第一子訂單的 校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ)到緩存中。8. 根據(jù)權(quán)利要求7所述的訂單數(shù)據(jù)處理方法,其中,所述判斷所述父訂單的訂單號(hào)在防 重表是否存在包括:通過檢索緩存判斷所述父訂單的訂單號(hào)在所述防重表是否存在。9. 根據(jù)權(quán)利要求7或8所述訂單數(shù)據(jù)處理方法,還包括:定期刪除緩存中已經(jīng)生產(chǎn)的訂 單對(duì)應(yīng)的防重?cái)?shù)據(jù)。10. 根據(jù)權(quán)利要求1所述的訂單數(shù)據(jù)處理方法,其中,所述防重表通過REDIS數(shù)據(jù)庫存 儲(chǔ)。11. 一種訂單數(shù)據(jù)處理裝置,包括: 拆分模塊,用于根據(jù)拆分原則將一個(gè)父訂單拆分為多個(gè)第一子訂單; 判斷模塊,用于判斷所述父訂單的訂單號(hào)在防重表是否存在; 獲取模塊,用于如果所述父訂單的訂單號(hào)在所述防重表中已經(jīng)存在,獲取所述父訂單 對(duì)應(yīng)的多個(gè)第二子訂單的校驗(yàn)碼和子訂單號(hào); 生成模塊,用于根據(jù)所述第一子訂單的特征字段生成所述第一子訂單的校驗(yàn)碼; 確定模塊,用于比較所述第一子訂單和第二子訂單的校驗(yàn)碼,確定每個(gè)所述第一子訂 單的子訂單號(hào)。12. 根據(jù)權(quán)利要求11所述的訂單數(shù)據(jù)處理裝置,其中,所述確定模塊包括: 第一比較單元,用于比較所述第一子訂單和所述第二子訂單的校驗(yàn)碼; 設(shè)置單元,用于將所述第一子訂單的子訂單號(hào)設(shè)置為具有相同的校驗(yàn)碼的第二子訂單 的子訂單號(hào)。13. 根據(jù)權(quán)利要求11所述的訂單數(shù)據(jù)處理裝置,還包括: 子訂單號(hào)生成模塊,用于如果所述父訂單的訂單號(hào)在所述防重表中不存在,生成多個(gè) 所述第一子訂單的子訂單號(hào); 存儲(chǔ)模塊,用于將所述第一子訂單的校驗(yàn)碼和子訂單號(hào)以及所述父訂單的訂單號(hào)存儲(chǔ) 到所述防重表中。
【文檔編號(hào)】G06Q30/06GK106056425SQ201610349483
【公開日】2016年10月26日
【申請(qǐng)日】2016年5月24日
【發(fā)明人】張留超
【申請(qǐng)人】北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
民权县| 五家渠市| 沙雅县| 玉环县| 井陉县| 南汇区| 济阳县| 合山市| 凤冈县| 科尔| 临夏市| 宕昌县| 平舆县| 百色市| 双柏县| 恩施市| 本溪市| 尼勒克县| 西林县| 开江县| 钟山县| 铅山县| 和林格尔县| 图们市| 临夏市| 西和县| 盐亭县| 玉林市| 莱西市| 阿克陶县| 博湖县| 罗甸县| 商河县| 越西县| 宜都市| 北海市| 齐河县| 河间市| 象州县| 辽宁省| 商南县|