本公開涉及互聯(lián)網(wǎng),尤其涉及一種消息中間件事件積壓處理方法、裝置設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、相關(guān)技術(shù)中,在it(internet?technology,互聯(lián)網(wǎng)技術(shù))行業(yè)中,消息中間件大量應(yīng)用到各種場景,以實(shí)現(xiàn)任務(wù)隊(duì)列、解耦系統(tǒng)、廣播和訂閱、數(shù)據(jù)同步以及流量控制和負(fù)載均衡等功能。消息中間件的事件消息來源的類型較多,所以事件消息的生產(chǎn)也很難進(jìn)行停止或者控制。中間的加工處理,一般都是根據(jù)已有需求進(jìn)行定制開發(fā)的規(guī)則進(jìn)行匹配過濾或加工,再轉(zhuǎn)發(fā)到下游的消息中間件。如果出現(xiàn)下游處理不過來,消息就會越積越多,時(shí)效性就會大大減低?,F(xiàn)階段,通常是在產(chǎn)生事件積壓時(shí),開始對現(xiàn)有的事件消息進(jìn)行分析,分析是否存在重復(fù)冗余的數(shù)據(jù),再通過添加過濾事件的代碼,重新編譯部署啟動進(jìn)行處理。但是,當(dāng)能過濾的都過濾掉了,還存在事件積壓時(shí),除了擴(kuò)容外沒有其他解決辦法了,而擴(kuò)容是需要時(shí)間和資源的,此時(shí)現(xiàn)有的技術(shù)方案一般都是全部丟棄。這就導(dǎo)致事件時(shí)效性較低、處理效率較低。
技術(shù)實(shí)現(xiàn)思路
1、本公開提供一種消息中間件事件積壓處理方法、裝置設(shè)備及存儲介質(zhì)。本公開的技術(shù)方案如下:
2、根據(jù)本公開實(shí)施例的第一方面,提供一種消息中間件事件積壓處理方法,其特征在于,包括:
3、讀取消息中間件中的事件消息;其中,所述事件消息為多個(gè);
4、通過handle函數(shù)按照預(yù)設(shè)過濾條件對所述事件消息進(jìn)行事件清洗過濾處理;
5、獲取所述消息中間件的事件消息的相關(guān)數(shù)據(jù);其中,所述相關(guān)數(shù)據(jù)包括未消費(fèi)消息數(shù)量、消息生產(chǎn)速度和消息消費(fèi)速度;
6、根據(jù)所述相關(guān)數(shù)據(jù)控制積壓過濾器,對事件清洗過濾處理后的事件消息進(jìn)行事件積壓過濾處理。
7、在一種可能的實(shí)施方式中,其中,所述預(yù)設(shè)過濾條件和所述積壓過濾處理的過濾條件通過腳本引擎設(shè)置。
8、在一種可能的實(shí)施方式中,所述通過handle函數(shù)按照預(yù)設(shè)過濾條件對所述事件消息進(jìn)行事件清洗過濾處理之后,還包括:
9、將事件清洗過濾處理后的事件消息輸出到下游消息中間件;
10、所述獲取所述消息中間件的事件消息的相關(guān)數(shù)據(jù),包括:
11、周期性獲取所述下游消息中間件的事件消息的所述未消費(fèi)消息數(shù)量、所述消息生產(chǎn)速度和所述消息消費(fèi)速度。
12、在一種可能的實(shí)施方式中,所述根據(jù)所述相關(guān)數(shù)據(jù)控制積壓過濾器,對事件清洗過濾處理后的事件消息進(jìn)行事件積壓過濾處理,包括:
13、確定所述未消費(fèi)消息數(shù)量、所述消息生產(chǎn)速度和所述消息消費(fèi)速度是否滿足積壓過濾條件;
14、在所述未消費(fèi)消息數(shù)量、所述消息生產(chǎn)速度和所述消息消費(fèi)速度滿足積壓過濾條件的情況下,控制積壓過濾器對事件清洗過濾處理后的事件消息進(jìn)行事件積壓過濾處理。
15、在一種可能的實(shí)施方式中,所述積壓過濾條件包括:
16、未消費(fèi)消息數(shù)量大于或等于第一預(yù)設(shè)數(shù)量且消息減少速度大于或等于預(yù)設(shè)速度;其中,所述消息減少速度為所述消息消費(fèi)速度與所述消息生產(chǎn)速度的差值。
17、在一種可能的實(shí)施方式中,所述積壓過濾條件包括:
18、未消費(fèi)消息數(shù)量大于第二預(yù)設(shè)數(shù)量,且消息減少速度與過濾器設(shè)置的過濾時(shí)長的乘積小于所述第二預(yù)設(shè)數(shù)量。
19、根據(jù)本公開實(shí)施例的第二方面,提供一種消息中間件事件積壓處理裝置,包括:
20、消息讀取模塊,一樣讀取消息中間件中的事件消息;其中,所述事件消息為多個(gè);
21、清洗過濾模塊,用于通過handle函數(shù)按照預(yù)設(shè)過濾條件對所述事件消息進(jìn)行事件清洗過濾處理;
22、數(shù)據(jù)獲取模塊,用于獲取所述消息中間件的事件消息的相關(guān)數(shù)據(jù);其中,所述相關(guān)數(shù)據(jù)包括未消費(fèi)消息數(shù)量、消息生產(chǎn)速度和消息消費(fèi)速度;
23、積壓過濾模塊,用于根據(jù)所述相關(guān)數(shù)據(jù)控制積壓過濾器,對事件清洗過濾處理后的事件消息進(jìn)行事件積壓過濾處理。
24、在一種可能的實(shí)施方式中,其中,所述預(yù)設(shè)過濾條件和所述積壓過濾處理的過濾條件通過腳本引擎設(shè)置。
25、在一種可能的實(shí)施方式中,還包括:
26、將事件清洗過濾處理后的事件消息輸出到下游消息中間件;
27、所述數(shù)據(jù)獲取模塊,用于:
28、周期性獲取所述下游消息中間件的事件消息的所述未消費(fèi)消息數(shù)量、所述消息生產(chǎn)速度和所述消息消費(fèi)速度。
29、在一種可能的實(shí)施方式中,所述積壓過濾模塊,包括:
30、確定單元,用于確定所述未消費(fèi)消息數(shù)量、所述消息生產(chǎn)速度和所述消息消費(fèi)速度是否滿足積壓過濾條件;
31、積壓過濾單元,用于在所述未消費(fèi)消息數(shù)量、所述消息生產(chǎn)速度和所述消息消費(fèi)速度滿足積壓過濾條件的情況下,控制積壓過濾器對事件清洗過濾處理后的事件消息進(jìn)行事件積壓過濾處理。
32、在一種可能的實(shí)施方式中,所述積壓過濾條件包括:
33、未消費(fèi)消息數(shù)量大于或等于第一預(yù)設(shè)數(shù)量且消息減少速度大于或等于預(yù)設(shè)速度;其中,所述消息減少速度為所述消息消費(fèi)速度與所述消息生產(chǎn)速度的差值。
34、在一種可能的實(shí)施方式中,所述積壓過濾條件包括:
35、未消費(fèi)消息數(shù)量大于第二預(yù)設(shè)數(shù)量,且消息減少速度與過濾器設(shè)置的過濾時(shí)長的乘積小于所述第二預(yù)設(shè)數(shù)量。
36、根據(jù)本公開實(shí)施例的第三方面,提供一種電子設(shè)備,包括:
37、處理器;
38、用于存儲所述處理器可執(zhí)行指令的存儲器;
39、其中,所述處理器被配置為執(zhí)行所述指令,以實(shí)現(xiàn)如第一方面中任一項(xiàng)所述的消息中間件事件積壓處理方法。
40、根據(jù)本公開實(shí)施例的第四方面,提供一種存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由電子設(shè)備的處理器執(zhí)行時(shí),使得電子設(shè)備能夠執(zhí)行如第一方面中任一項(xiàng)所述的消息中間件事件積壓處理方法。
41、根據(jù)本公開實(shí)施例的第五方面,提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面中任一項(xiàng)所述的消息中間件事件積壓處理方法。
42、本公開的實(shí)施例提供的技術(shù)方案至少帶來以下有益效果:
43、在本公開的實(shí)施例中,通過讀取消息中間件中的事件消息;其中,所述事件消息為多個(gè);通過handle函數(shù)按照預(yù)設(shè)過濾條件對所述事件消息進(jìn)行事件清洗過濾處理;獲取所述消息中間件的事件消息的相關(guān)數(shù)據(jù);所述相關(guān)數(shù)據(jù)包括未消費(fèi)消息數(shù)量、消息生產(chǎn)速度和消息消費(fèi)速度;根據(jù)所述相關(guān)數(shù)據(jù)控制積壓過濾器,對事件清洗過濾處理后的事件消息進(jìn)行事件積壓過濾處理。這樣,可以實(shí)現(xiàn)消息中間件事件積壓的及時(shí)處理,提高事件消息處理效率和事件消息處理的時(shí)效性。
44、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
1.一種消息中間件事件積壓處理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的消息中間件事件積壓處理方法,其特征在于,其中,所述預(yù)設(shè)過濾條件和所述積壓過濾處理的過濾條件通過腳本引擎設(shè)置。
3.根據(jù)權(quán)利要求1所述的消息中間件事件積壓處理方法,其特征在于,所述通過handle函數(shù)按照預(yù)設(shè)過濾條件對所述事件消息進(jìn)行事件清洗過濾處理之后,還包括:
4.根據(jù)權(quán)利要求3所述的消息中間件事件積壓處理方法,其特征在于,所述根據(jù)所述相關(guān)數(shù)據(jù)控制積壓過濾器,對事件清洗過濾處理后的事件消息進(jìn)行事件積壓過濾處理,包括:
5.根據(jù)權(quán)利要求4所述的消息中間件事件積壓處理方法,其特征在于,所述積壓過濾條件包括:
6.根據(jù)權(quán)利要求4所述的消息中間件事件積壓處理方法,其特征在于,所述積壓過濾條件包括:
7.一種消息中間件事件積壓處理裝置,其特征在于,包括:
8.一種電子設(shè)備,其特征在于,包括:
9.一種存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由電子設(shè)備的處理器執(zhí)行時(shí),使得電子設(shè)備能夠執(zhí)行如權(quán)利要求1至6中任一項(xiàng)所述的消息中間件事件積壓處理方法。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6中任一項(xiàng)所述的消息中間件事件積壓處理方法。