亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種可水平擴展的并發(fā)在線交易處理方法

文檔序號:8943650閱讀:178來源:國知局
一種可水平擴展的并發(fā)在線交易處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及大數(shù)據(jù)技術(shù)領(lǐng)域,具體地說是一種實用性強、可水平擴展的并發(fā)在線交易處理方法。
【背景技術(shù)】
[0002]當(dāng)前訂單業(yè)務(wù)應(yīng)用系統(tǒng),傳統(tǒng)的訂單處理方法,是按照訂單提交順序,單個處理訂單,這樣對庫存等共享資源就產(chǎn)生大量鎖等待,導(dǎo)致訂單并發(fā)處理能力降低,并且由于壓力主要集中在數(shù)據(jù)庫,應(yīng)用的水平擴展收到了限制。為了解決這個問題,現(xiàn)提出一種可水平擴展的并發(fā)在線交易處理方法,訂單前臺應(yīng)用向訂單處理應(yīng)用隊列輪流發(fā)送消息,訂單處理應(yīng)用收到提交訂單的請求后,把訂單信息封裝為一個消息,放入內(nèi)存中的訂單隊列。后臺可以實時監(jiān)控隊列,并可以執(zhí)行多個線程,當(dāng)線程空閑并且隊列存在訂單時啟動訂單批次處理,即把多個訂單捆綁成一個訂單組,然后把訂單組傳入在線交易處理方法,在線交易處理方法可以對訂單進行組合,處理庫存,大大提高了訂單處理能力,當(dāng)訂單組處理完成后訂單的請求可以從內(nèi)存中檢測到訂單處理完成,將結(jié)果返回到前臺。

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

[0003]本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種實用性強、可水平擴展的并發(fā)在線交易處理方法。
[0004]—種可水平擴展的并發(fā)在線交易處理方法,其具體實現(xiàn)過程為:
訂單前臺應(yīng)用向訂單處理應(yīng)用隊列輪流發(fā)送消息,訂單處理應(yīng)用收到提交訂單的請求后,把訂單信息封裝為一個消息,放入訂單隊列;
訂單處理應(yīng)用實時監(jiān)控隊列,當(dāng)監(jiān)控線程空閑并且隊列存在訂單時啟動訂單批次處理,即把多個訂單捆綁成一個訂單組,然后把訂單組傳入批量處理訂單操作,批量處理訂單操作對訂單進行組合處理,預(yù)留庫存,提高了訂單處理的每秒事務(wù)處理量TPS。
[0005]訂單處理應(yīng)用有一個或多個處理線程,線程實時監(jiān)控訂單處理隊列,當(dāng)線程空閑時將隊列中的所有訂單從隊列中取出來進行處理。
[0006]所述訂單處理應(yīng)用監(jiān)控訂單排隊提交隊列的相關(guān)狀態(tài),根據(jù)交易公司、服務(wù)器查詢訂單排隊隊列,監(jiān)控當(dāng)前隊列線程運行狀態(tài),對需要操作的隊列執(zhí)行重啟、啟動、停止操作、修改隊列相關(guān)參數(shù),這里的隊列相關(guān)參數(shù)包括生成隊列時間間隔、批次隊列數(shù)目。
[0007]所述預(yù)留庫存的具體過程為:按照商品類型對所有訂單進行合計,然后對每個商品預(yù)留貨源,當(dāng)貨源足夠時,所有訂單此商品一次預(yù)留成功,當(dāng)貨源不足時,則按照訂單倒序依次將此商品砍單,直至貨源滿足。
[0008]所述訂單處理過程中,幾個公司的訂單保存請求指向同一個應(yīng)用,或同一公司的訂單保存請求按負載指向兩個或兩個以上的應(yīng)用,實現(xiàn)在線交易的水平擴展。
[0009]所有訂單保存在訂單數(shù)據(jù)庫內(nèi),該訂單數(shù)據(jù)庫包括交易數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫,交易數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫之間通過異步消息隊列RocketMQ進行數(shù)據(jù)交互和數(shù)據(jù)同步,訂單及流水?dāng)?shù)據(jù)在交易數(shù)據(jù)庫生成后,通過RocketMQ異步消息隊列異步寫入業(yè)務(wù)數(shù)據(jù)庫。
[0010]本發(fā)明的一種可水平擴展的并發(fā)在線交易處理方法,具有以下優(yōu)點:
該發(fā)明的一種可水平擴展的并發(fā)在線交易處理方法,可將每秒訂單處理個數(shù)從5-10個提升到500個左右,大大提升了業(yè)務(wù)系統(tǒng)能力,在沒有增加服務(wù)器資源的情況下,可以滿足100萬用戶的在線訂單處理業(yè)務(wù),實用性強,適用范圍廣泛,易于推廣。
【附圖說明】
[0011]附圖1為本發(fā)明的實現(xiàn)流程圖。
[0012]附圖2為本發(fā)明的在線交易水平擴展示意圖。
[0013]附圖3為本發(fā)明的訂單數(shù)據(jù)庫示意圖。
【具體實施方式】
[0014]下面結(jié)合具體實施例對本發(fā)明作進一步說明。
[0015]本發(fā)明提供一種可水平擴展的并發(fā)在線交易處理方法,本發(fā)明通過模擬消息中間件的處理,大量提高了訂單的處理速度,其中訂單前臺應(yīng)用提交訂單,訂單后臺對訂單進行合并后批量處理,并實現(xiàn)在線交易的水平擴展。在線交易處理方法可以對訂單進行組合,處理庫存,大大提高了訂單系統(tǒng)處理能力。
[0016]如附圖1所示,該方法的實現(xiàn)過程為:
訂單前臺應(yīng)用向訂單處理應(yīng)用隊列輪流發(fā)送消息,訂單處理應(yīng)用收到提交訂單的請求后,把訂單信息封裝為一個消息,放入訂單隊列;
訂單處理應(yīng)用實時監(jiān)控隊列,當(dāng)監(jiān)控線程空閑并且隊列存在訂單時啟動訂單批次處理,即把多個訂單捆綁成一個訂單組,然后把訂單組傳入批量處理訂單操作,批量處理訂單操作對訂單進行組合處理,預(yù)留庫存,提高了訂單處理的每秒事務(wù)處理量TPS。
[0017]訂單處理應(yīng)用有一個或多個處理線程,線程實時監(jiān)控訂單處理隊列,當(dāng)線程空閑時將隊列中的所有訂單從隊列中取出來進行處理。
[0018]所述訂單處理應(yīng)用監(jiān)控訂單排隊提交隊列的相關(guān)狀態(tài),根據(jù)交易公司、服務(wù)器查詢訂單排隊隊列,監(jiān)控當(dāng)前隊列線程運行狀態(tài),對需要操作的隊列執(zhí)行重啟、啟動、停止操作、修改隊列相關(guān)參數(shù),這里的隊列相關(guān)參數(shù)包括生成隊列時間間隔、批次隊列數(shù)目。
[0019]所述預(yù)留庫存的具體過程為:按照商品類型對所有訂單進行合計,然后對每個商品預(yù)留貨源,當(dāng)貨源足夠時,所有訂單此商品一次預(yù)留成功,當(dāng)貨源不足時,則按照訂單倒序依次將此商品砍單,直至貨源滿足。
[0020]所述訂單處理過程中,幾個公司的訂單保存請求指向同一個應(yīng)用,或同一公司的訂單保存請求按負載指向兩個或兩個以上的應(yīng)用,實現(xiàn)在線交易的水平擴展。
[0021]所有訂單保存在訂單數(shù)據(jù)庫內(nèi),該訂單數(shù)據(jù)庫包括交易數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫,交易數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫之間通過異步消息隊列RocketMQ進行數(shù)據(jù)交互和數(shù)據(jù)同步,訂單及流水?dāng)?shù)據(jù)在交易數(shù)據(jù)庫生成后,通過RocketMQ異步消息隊列異步寫入業(yè)務(wù)數(shù)據(jù)庫。
[0022]具體實例:
1:如臺異步提不。
[0023]訂單前臺應(yīng)用將訂單封裝成一個消息發(fā)送至訂單處理隊列并同時在前臺提示用戶“訂單正在處理”。
[0024]2:后端組織訂單隊列。
[0025]訂單處理應(yīng)用有一個或多個處理線程,線程實時監(jiān)控訂單處理隊列,當(dāng)線程空閑時將隊列中的所有訂單從隊列中取出來進行處理。
[0026]3:隊列處理。
[0027]a)將隊列中的訂單取出后,形成一個訂單組合,將這個訂單組合統(tǒng)一處理。首先按照商品對所有訂單進行合計,然后對每個商品預(yù)留貨源,如果貨源足夠,所有訂單此商品一次預(yù)留成功,如果貨源不足,則按照訂單倒序依次將此商品砍單,直至貨源滿足。
[0028]b)由于所有訂單每個商品只統(tǒng)一處理一次,當(dāng)貨源完全滿足時,無論多少訂單,一個商品只需要一次預(yù)留。隨著隊列訂單的增多,隊列處理所占資源并不會跟訂單數(shù)量成線性關(guān)系,資源占用增長要小得多。
[0029]c)因為計算主要在程序中實現(xiàn)而不依賴數(shù)據(jù)庫,數(shù)據(jù)庫壓力相對較小,從而實現(xiàn)應(yīng)用的水平擴展。
[0030]如附圖2所示,訂單隊列和定時調(diào)度程序模擬消息中間件處理。單個生產(chǎn)者到隊列集群是一對多的關(guān)系。生產(chǎn)者向多個隊列輪流發(fā)送消息。每個生產(chǎn)者都保持有到所有隊列的連接。單個消費者到隊列是一對多個關(guān)系。消費者數(shù)量要小于等于隊列數(shù)量,如果消費者超過隊列數(shù)量,那么多余的消費者將不能消費消息。訂單處理時,可以把幾個公司的訂單保存請求指向同一個應(yīng)用,也可以把同一公司的訂單保存請求按負載指向兩個或兩個以上的應(yīng)用,實現(xiàn)在線交易的水平擴展。
[0031]如附圖3所示,交易數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫采用分離的架構(gòu),讀寫分離,異步事務(wù)(訂單拆庫)將商品、客戶等基礎(chǔ)表進行縱向切割,主要是讀的壓力,做讀寫分離;將訂單等流水表橫向切割,訂單等數(shù)據(jù)根據(jù)一定的規(guī)則分庫建設(shè)。訂單交易庫,基礎(chǔ)表和流水表同時做讀寫分離;訂單業(yè)務(wù)庫,按照區(qū)域,做讀寫分離。
[0032]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的一種可水平擴展的并發(fā)在線交易處理方法的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護范圍。
【主權(quán)項】
1.一種可水平擴展的并發(fā)在線交易處理方法,其特征在于,其具體實現(xiàn)過程為: 訂單前臺應(yīng)用向訂單處理應(yīng)用隊列輪流發(fā)送消息,訂單處理應(yīng)用收到提交訂單的請求后,把訂單信息封裝為一個消息,放入訂單隊列; 訂單處理應(yīng)用實時監(jiān)控隊列,當(dāng)監(jiān)控線程空閑并且隊列存在訂單時啟動訂單批次處理,即把多個訂單捆綁成一個訂單組,然后把訂單組傳入批量處理訂單操作,批量處理訂單操作對訂單進行組合處理,預(yù)留庫存,提高了訂單處理的每秒事務(wù)處理量TPS。2.根據(jù)權(quán)利要求1所述的一種可水平擴展的并發(fā)在線交易處理方法,其特征在于,訂單處理應(yīng)用有一個或多個處理線程,線程實時監(jiān)控訂單處理隊列,當(dāng)線程空閑時將隊列中的所有訂單從隊列中取出來進行處理。3.根據(jù)權(quán)利要求1所述的一種可水平擴展的并發(fā)在線交易處理方法,其特征在于,所述訂單處理應(yīng)用監(jiān)控訂單排隊提交隊列的相關(guān)狀態(tài),根據(jù)交易公司、服務(wù)器查詢訂單排隊隊列,監(jiān)控當(dāng)前隊列線程運行狀態(tài),對需要操作的隊列執(zhí)行重啟、啟動、停止操作、修改隊列相關(guān)參數(shù),這里的隊列相關(guān)參數(shù)包括生成隊列時間間隔、批次隊列數(shù)目。4.根據(jù)權(quán)利要求1所述的一種可水平擴展的并發(fā)在線交易處理方法,其特征在于,所述預(yù)留庫存的具體過程為:按照商品類型對所有訂單進行合計,然后對每個商品預(yù)留貨源,當(dāng)貨源足夠時,所有訂單此商品一次預(yù)留成功,當(dāng)貨源不足時,則按照訂單倒序依次將此商品砍單,直至貨源滿足。5.根據(jù)權(quán)利要求1所述的一種可水平擴展的并發(fā)在線交易處理方法,其特征在于,所述訂單處理過程中,幾個公司的訂單保存請求指向同一個應(yīng)用,或同一公司的訂單保存請求按負載指向兩個或兩個以上的應(yīng)用,實現(xiàn)在線交易的水平擴展。6.根據(jù)權(quán)利要求1所述的一種可水平擴展的并發(fā)在線交易處理方法,其特征在于,所有訂單保存在訂單數(shù)據(jù)庫內(nèi),該訂單數(shù)據(jù)庫包括交易數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫,交易數(shù)據(jù)庫和業(yè)務(wù)數(shù)據(jù)庫之間通過異步消息隊列RocketMQ進行數(shù)據(jù)交互和數(shù)據(jù)同步,訂單及流水?dāng)?shù)據(jù)在交易數(shù)據(jù)庫生成后,通過RocketMQ異步消息隊列異步寫入業(yè)務(wù)數(shù)據(jù)庫。
【專利摘要】本發(fā)明公開了一種可水平擴展的并發(fā)在線交易處理方法,其具體實現(xiàn)過程為:訂單前臺應(yīng)用向訂單處理應(yīng)用隊列輪流發(fā)送消息,訂單處理應(yīng)用收到提交訂單的請求后,把訂單信息封裝為一個消息,放入訂單隊列;訂單處理應(yīng)用實時監(jiān)控隊列,當(dāng)監(jiān)控線程空閑并且隊列存在訂單時啟動訂單批次處理,即把多個訂單捆綁成一個訂單組,然后把訂單組傳入批量處理訂單操作,批量處理訂單操作對訂單進行組合處理,預(yù)留庫存,提高了訂單處理的每秒事務(wù)處理量TPS。該一種可水平擴展的并發(fā)在線交易處理方法與現(xiàn)有技術(shù)相比,本發(fā)明可以對訂單進行組合,處理庫存,大大提高了訂單處理能力,當(dāng)訂單組處理完成后訂單的請求可以從內(nèi)存中檢測到訂單處理完成,將結(jié)果返回到前臺。
【IPC分類】G06Q30/06
【公開號】CN105160570
【申請?zhí)枴緾N201510584407
【發(fā)明人】李健, 林清雨, 彭鑄
【申請人】浪潮軟件股份有限公司
【公開日】2015年12月16日
【申請日】2015年9月15日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1