本申請(qǐng)涉及倉(cāng)儲(chǔ),尤其涉及一種流量控制方法、裝置、電子設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)。
背景技術(shù):
1、目前,有很多的商用倉(cāng)庫(kù)管理系統(tǒng)(warehouse?management?system,wms)軟件,以支持一定的倉(cāng)庫(kù)生產(chǎn)場(chǎng)景;由于wms軟件是固定合適的,而倉(cāng)庫(kù)的生產(chǎn)流程、管理的商品千差萬(wàn)別,因此現(xiàn)有的wms軟件較難支持各種各樣的生產(chǎn)場(chǎng)景。為解決上述問(wèn)題,通常需要多種不同版本的wms軟件結(jié)合使用,包括自研的wms軟件、外采的wms軟件、第三方wms軟件等;然而,對(duì)于每一版本的wms,在較短時(shí)間段內(nèi)接收到大量請(qǐng)求等突發(fā)流量的場(chǎng)景下,如何保證wms的穩(wěn)定,是亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供一種流量控制方法、裝置、電子設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)。
2、本申請(qǐng)實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
3、本申請(qǐng)實(shí)施例提供了一種流量控制方法,應(yīng)用于包括多個(gè)消息通道的數(shù)據(jù)交換系統(tǒng),所述方法包括:
4、接收業(yè)務(wù)請(qǐng)求,將所述業(yè)務(wù)請(qǐng)求寫入到目標(biāo)消息通道;所述目標(biāo)通道為所述多個(gè)消息通道中的其中一個(gè)消息通道;
5、接收到從所述目標(biāo)消息通道拉取待下發(fā)任務(wù)的操作后,判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作;所述待下發(fā)任務(wù)包括所述業(yè)務(wù)請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)流量;
6、在需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作的情況下,將所述待下發(fā)任務(wù)回寫到任一消息通道,再次執(zhí)行上一步驟,直至不需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作。
7、在一些實(shí)施例中,所述方法還包括:
8、在不需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作的情況下,向wms的服務(wù)接口發(fā)送下發(fā)請(qǐng)求,以完成對(duì)所述待下發(fā)任務(wù)的下發(fā)。
9、在一些實(shí)施例中,在判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作之前,所述方法還包括:
10、獲取預(yù)先確定的多套集群;每套集群包括若干個(gè)倉(cāng)庫(kù),每一倉(cāng)庫(kù)具有對(duì)應(yīng)的倉(cāng)庫(kù)標(biāo)識(shí),所述倉(cāng)庫(kù)標(biāo)識(shí)包括倉(cāng)編碼和業(yè)務(wù)類型;
11、接收針對(duì)所述每套集群設(shè)置的限流閾值;
12、將所述每套集群中各個(gè)倉(cāng)庫(kù)的倉(cāng)庫(kù)標(biāo)識(shí)和所述限流閾值進(jìn)行關(guān)聯(lián),得到關(guān)聯(lián)關(guān)系;
13、將所述關(guān)聯(lián)關(guān)系保存在配置庫(kù)中。
14、在一些實(shí)施例中,所述獲取預(yù)先確定的多套集群,包括:
15、獲取預(yù)先生成的倉(cāng)列表;所述倉(cāng)列表包括多個(gè)倉(cāng)庫(kù),每一倉(cāng)庫(kù)具有對(duì)應(yīng)的倉(cāng)庫(kù)標(biāo)識(shí),所述倉(cāng)庫(kù)標(biāo)識(shí)還包括wms版本類型和接口信息;
16、對(duì)所述多個(gè)倉(cāng)庫(kù)的倉(cāng)庫(kù)標(biāo)識(shí)進(jìn)行遍歷,根據(jù)遍歷到的每一倉(cāng)庫(kù)的wms版本類型,得到多個(gè)版本列表;每一版本列表中包括若干個(gè)wms版本類型相同的倉(cāng)庫(kù);
17、對(duì)所述多個(gè)版本列表中每一版本列表的倉(cāng)庫(kù)標(biāo)識(shí)進(jìn)行遍歷,根據(jù)遍歷到的每一倉(cāng)庫(kù)的接口信息,得到多套集群;每套集群中包括若干個(gè)接口信息相同的倉(cāng)庫(kù)。
18、在一些實(shí)施例中,所述待下發(fā)任務(wù)包括所述業(yè)務(wù)請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí),所述業(yè)務(wù)標(biāo)識(shí)包括目標(biāo)業(yè)務(wù)類型和目標(biāo)倉(cāng)編碼中的至少一種;所述判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作,包括:
19、判斷是否在所述配置庫(kù)查找到與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)限流閾值;
20、在查找到與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)限流閾值的情況下,基于所述目標(biāo)限流閾值,判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作。
21、在一些實(shí)施例中,所述基于所述目標(biāo)限流閾值,判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作,包括:
22、確定所述待下發(fā)任務(wù)對(duì)應(yīng)的流量值;根據(jù)所述流量值與所述目標(biāo)限流閾值的比較結(jié)果,判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作。
23、在一些實(shí)施例中,在將所述業(yè)務(wù)請(qǐng)求寫入到所述目標(biāo)消息通道之前,所述方法還包括:
24、獲取所述業(yè)務(wù)請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí);
25、在配置庫(kù)中查找與所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)路由信息;
26、基于查找到的所述目標(biāo)路由信息,確定所述業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)消息通道。
27、本申請(qǐng)實(shí)施例提供一種流量控制裝置,應(yīng)用于包括多個(gè)消息通道的數(shù)據(jù)交換系統(tǒng),所述裝置包括接收模塊、寫入模塊、判斷模塊和限流模塊,其中,
28、接收模塊,用于接收業(yè)務(wù)請(qǐng)求;
29、寫入模塊,用于將所述業(yè)務(wù)請(qǐng)求寫入到目標(biāo)消息通道;所述目標(biāo)通道為所述多個(gè)消息通道中的其中一個(gè)消息通道;
30、判斷模塊,用于接收到從所述目標(biāo)消息通道拉取待下發(fā)任務(wù)的操作后,判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作;所述待下發(fā)任務(wù)包括所述業(yè)務(wù)請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)流量;
31、限流模塊,用于在需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作的情況下,將所述待下發(fā)任務(wù)回寫到任一消息通道,再次執(zhí)行上一步驟,直至不需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作。
32、本申請(qǐng)實(shí)施例提供一種電子設(shè)備,所述設(shè)備包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)前述一個(gè)或多個(gè)技術(shù)方案提供的流量控制方法。
33、本申請(qǐng)實(shí)施例提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序;所述計(jì)算機(jī)程序被執(zhí)行后能夠?qū)崿F(xiàn)前述一個(gè)或多個(gè)技術(shù)方案提供的流量控制方法。
34、本申請(qǐng)實(shí)施例提供一種流量控制方法、裝置、電子設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì),該方法應(yīng)用于包括多個(gè)消息通道的數(shù)據(jù)交換系統(tǒng),該方法包括:接收業(yè)務(wù)請(qǐng)求,將所述業(yè)務(wù)請(qǐng)求寫入到目標(biāo)消息通道;所述目標(biāo)通道為所述多個(gè)消息通道中的其中一個(gè)消息通道;接收到從所述目標(biāo)消息通道拉取待下發(fā)任務(wù)的操作后,判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作;所述待下發(fā)任務(wù)包括所述業(yè)務(wù)請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)流量;在需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作的情況下,將所述待下發(fā)任務(wù)回寫到任一消息通道,再次執(zhí)行上一步驟,直至不需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作。
35、可以看出,本申請(qǐng)實(shí)施例中,由于數(shù)據(jù)交換系統(tǒng)包括多個(gè)消息通道,當(dāng)數(shù)據(jù)交換系統(tǒng)接收到大量突發(fā)的業(yè)務(wù)請(qǐng)求時(shí),可以將各個(gè)業(yè)務(wù)請(qǐng)求寫入對(duì)應(yīng)的消息通道,實(shí)現(xiàn)分流控制,確保業(yè)務(wù)流量的穩(wěn)定性;此外,若確定需要對(duì)待下發(fā)任務(wù)進(jìn)行限流操作,則將待下發(fā)任務(wù)回寫到任一消息通道,通過(guò)這種方式可以為下游wms系統(tǒng)對(duì)于突發(fā)流量的處理預(yù)留一定的時(shí)間,有效緩解下游wms系統(tǒng)對(duì)于突發(fā)流量的處理壓力,提升業(yè)務(wù)流量處理的成功率。
1.一種流量控制方法,其特征在于,應(yīng)用于包括多個(gè)消息通道的數(shù)據(jù)交換系統(tǒng),所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作之前,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述獲取預(yù)先確定的多套集群,包括:
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述待下發(fā)任務(wù)包括所述業(yè)務(wù)請(qǐng)求對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí),所述業(yè)務(wù)標(biāo)識(shí)包括目標(biāo)業(yè)務(wù)類型和目標(biāo)倉(cāng)編碼中的至少一種;所述判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述基于所述目標(biāo)限流閾值,判斷是否需要對(duì)所述待下發(fā)任務(wù)進(jìn)行限流操作,包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,在將所述業(yè)務(wù)請(qǐng)求寫入到所述目標(biāo)消息通道之前,所述方法還包括:
8.一種流量控制裝置,其特征在于,應(yīng)用于包括多個(gè)消息通道的數(shù)據(jù)交換系統(tǒng),所述方法包括:
9.一種電子設(shè)備,其特征在于,所述設(shè)備包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)權(quán)利要求1至7任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至7任一項(xiàng)所述的方法。