一種消息處理方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種消息處理方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]消息,是系統(tǒng)與系統(tǒng)通信中的橋梁,消息系統(tǒng)能夠?qū)ο⑦M(jìn)行收發(fā)和存儲(chǔ)處理。目前,業(yè)內(nèi)常用的消息系統(tǒng)可大致分為兩種:(1)具有高可靠性和一致性的系統(tǒng),例如:ActiveMQ ; (2)具有易擴(kuò)展性的系統(tǒng),例如:Kafka。
[0003]現(xiàn)有技術(shù)中,提供這樣一種消息系統(tǒng),在該消息系統(tǒng)中可以為多個(gè)租戶(hù)提供消息處理服務(wù),該消息系統(tǒng)從系統(tǒng)架構(gòu)來(lái)說(shuō)屬于節(jié)點(diǎn)對(duì)等的模式,也就是說(shuō),該消息系統(tǒng)中的全部消息隊(duì)列對(duì)于網(wǎng)絡(luò)中的每一個(gè)租戶(hù)所對(duì)應(yīng)的消息節(jié)點(diǎn)都是可見(jiàn)的。
[0004]現(xiàn)有技術(shù)中提供的這種消息系統(tǒng)中的消息對(duì)于網(wǎng)絡(luò)中的每一個(gè)租戶(hù)所對(duì)應(yīng)的消息節(jié)點(diǎn)都是可見(jiàn)的,即對(duì)于不同的租戶(hù)而言消息均是可見(jiàn)的,顯然,將不同租戶(hù)設(shè)置于同一消息系統(tǒng)是不安全的。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例的目的在于提供一種消息處理方法、裝置及系統(tǒng),以實(shí)現(xiàn)在支持多租戶(hù)的情況下,提高消息系統(tǒng)的安全性。
[0006]為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種消息處理方法,應(yīng)用于客戶(hù)端,所述客戶(hù)端與消息系統(tǒng)中的主節(jié)點(diǎn)通信連接,所述消息系統(tǒng)至少包括一個(gè)主節(jié)點(diǎn)和多個(gè)消息節(jié)點(diǎn),所述消息節(jié)點(diǎn)用于為不同租戶(hù)提供消息處理服務(wù),所述方法包括:
[0007]向所述主節(jié)點(diǎn)發(fā)送針對(duì)待處理消息的元數(shù)據(jù)查詢(xún)請(qǐng)求;
[0008]接收所述主節(jié)點(diǎn)反饋的待處理消息的元數(shù)據(jù)信息,其中,所述元數(shù)據(jù)信息中包含:用于為所述待處理消息對(duì)應(yīng)的租戶(hù)提供消息處理服務(wù)的消息節(jié)點(diǎn)的標(biāo)識(shí);
[0009]根據(jù)所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí),向該標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)發(fā)送消息處理請(qǐng)求,以使得該消息節(jié)點(diǎn)根據(jù)所述消息處理請(qǐng)求進(jìn)行消息處理。
[0010]較佳的,
[0011 ] 所述消息系統(tǒng)中還包括:元數(shù)據(jù)節(jié)點(diǎn),其中,所述元數(shù)據(jù)節(jié)點(diǎn)用于存儲(chǔ)消息的元數(shù)據(jù)信息;
[0012]所述主節(jié)點(diǎn)反饋的待處理消息的元數(shù)據(jù)信息為:所述主節(jié)點(diǎn)向所述元數(shù)據(jù)節(jié)點(diǎn)轉(zhuǎn)發(fā)所述元數(shù)據(jù)查詢(xún)請(qǐng)求后,所述元數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述元數(shù)據(jù)查詢(xún)請(qǐng)求向所述主節(jié)點(diǎn)反饋的元數(shù)據(jù)信息。
[0013]較佳的,所述元數(shù)據(jù)信息中還包含:所述待處理消息的消息處理?xiàng)l件;
[0014]所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)通過(guò)以下方式根據(jù)所述消息處理請(qǐng)求進(jìn)行消息處理:
[0015]所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)檢測(cè)其自身是否滿(mǎn)足所述消息處理請(qǐng)求中包含的所述待處理消息的消息處理?xiàng)l件;
[0016]若滿(mǎn)足,則針對(duì)所述待處理消息進(jìn)行消息處理。
[0017]較佳的,
[0018]所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)通過(guò)以下方式根據(jù)所述消息處理請(qǐng)求進(jìn)行消息處理:
[0019]所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)對(duì)所述消息處理請(qǐng)求進(jìn)行解析,并根據(jù)解析結(jié)果驗(yàn)證其自身是否具有處理所述待處理消息的權(quán)限;
[0020]若具有,針對(duì)所述待處理消息進(jìn)行消息處理。
[0021]較佳的,所述針對(duì)所述待處理消息進(jìn)行消息處理,包括:
[0022]檢測(cè)自身的運(yùn)行狀態(tài),根據(jù)檢測(cè)到的運(yùn)行狀態(tài)針對(duì)所述待處理消息進(jìn)行消息處理。
[0023]較佳的,所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)根據(jù)所述消息處理請(qǐng)求進(jìn)行消息處理,包括:
[0024]在所述消息處理請(qǐng)求為寫(xiě)消息請(qǐng)求的情況下,所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)將所述待處理消息的消息內(nèi)容存儲(chǔ)于該消息節(jié)點(diǎn)相應(yīng)的存儲(chǔ)空間中;
[0025]在所述消息處理請(qǐng)求為讀消息請(qǐng)求的情況下,所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)從其相應(yīng)的存儲(chǔ)空間中讀取所述待處理消息的消息內(nèi)容,并將所述待處理消息的消息內(nèi)容發(fā)送至所述客戶(hù)端。
[0026]為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種消息處理裝置,應(yīng)用于客戶(hù)端,所述客戶(hù)端與消息系統(tǒng)中的主節(jié)點(diǎn)通信連接,所述消息系統(tǒng)至少包括一個(gè)主節(jié)點(diǎn)和多個(gè)消息節(jié)點(diǎn),所述消息節(jié)點(diǎn)用于為不同租戶(hù)提供消息處理服務(wù),所述裝置包括:
[0027]查詢(xún)請(qǐng)求模塊,用于向所述主節(jié)點(diǎn)發(fā)送針對(duì)待處理消息的元數(shù)據(jù)查詢(xún)請(qǐng)求;
[0028]信息接收模塊,用于接收所述主節(jié)點(diǎn)反饋的待處理消息的元數(shù)據(jù)信息,其中,所述元數(shù)據(jù)信息中包含:用于為所述待處理消息對(duì)應(yīng)的租戶(hù)提供消息處理服務(wù)的消息節(jié)點(diǎn)的標(biāo)識(shí);
[0029]消息處理模塊,用于根據(jù)所述元數(shù)據(jù)信息中包含的消息節(jié)點(diǎn)的標(biāo)識(shí),向該標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)發(fā)送消息處理請(qǐng)求,以使得該消息節(jié)點(diǎn)根據(jù)所述消息處理請(qǐng)求進(jìn)行消息處理。
[0030]較佳的,
[0031]所述消息系統(tǒng)中還包括:元數(shù)據(jù)節(jié)點(diǎn),其中,所述元數(shù)據(jù)節(jié)點(diǎn)用于存儲(chǔ)消息的元數(shù)據(jù)信息;
[0032]所述主節(jié)點(diǎn)反饋的待處理消息的元數(shù)據(jù)信息為:所述主節(jié)點(diǎn)向所述元數(shù)據(jù)節(jié)點(diǎn)轉(zhuǎn)發(fā)所述元數(shù)據(jù)查詢(xún)請(qǐng)求后,所述元數(shù)據(jù)節(jié)點(diǎn)根據(jù)所述元數(shù)據(jù)查詢(xún)請(qǐng)求向所述主節(jié)點(diǎn)反饋的元數(shù)據(jù)信息。
[0033]為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種消息系統(tǒng),所述系統(tǒng)包括:至少一個(gè)主節(jié)點(diǎn)和多個(gè)消息節(jié)點(diǎn);
[0034]所述主節(jié)點(diǎn),與客戶(hù)端通信連接,接收所述客戶(hù)端發(fā)送的針對(duì)待處理消息的元數(shù)據(jù)查詢(xún)請(qǐng)求,并向所述客戶(hù)端反饋所述待處理消息的元數(shù)據(jù)信息;其中,所述元數(shù)據(jù)信息中包含:用于為所述待處理消息對(duì)應(yīng)的租戶(hù)提供消息處理服務(wù)的消息節(jié)點(diǎn)的標(biāo)識(shí);
[0035]所述消息節(jié)點(diǎn),用于為不同租戶(hù)提供消息處理服務(wù),接收所述客戶(hù)端發(fā)送的消息處理請(qǐng)求,并根據(jù)所述消息處理請(qǐng)求進(jìn)行消息處理。
[0036]較佳的,所述元數(shù)據(jù)信息中還包含:所述待處理消息的消息處理?xiàng)l件;
[0037]所述消息節(jié)點(diǎn),用于檢測(cè)其自身是否滿(mǎn)足所述消息處理請(qǐng)求中包含的所述待處理消息的消息處理?xiàng)l件;若滿(mǎn)足,則針對(duì)所述待處理消息進(jìn)行消息處理。
[0038]較佳的,所述消息節(jié)點(diǎn),用于對(duì)所述消息處理請(qǐng)求進(jìn)行解析,并根據(jù)解析結(jié)果驗(yàn)證其自身是否具有處理所述待處理消息的權(quán)限;若具有,針對(duì)所述待處理消息進(jìn)行消息處理。
[0039]較佳的,所述消息節(jié)點(diǎn),用于檢測(cè)自身的運(yùn)行狀態(tài),根據(jù)檢測(cè)到的運(yùn)行狀態(tài)針對(duì)所述待處理消息進(jìn)行消息處理。
[0040]較佳的,
[0041]所述消息節(jié)點(diǎn),用于在所述消息處理請(qǐng)求為寫(xiě)消息請(qǐng)求的情況下,將所述待處理消息的消息內(nèi)容存儲(chǔ)于該消息節(jié)點(diǎn)相應(yīng)的存儲(chǔ)空間中;
[0042]所述消息節(jié)點(diǎn),還用于在所述消息處理請(qǐng)求為讀消息請(qǐng)求的情況下,從其相應(yīng)的存儲(chǔ)空間中讀取所述待處理消息的消息內(nèi)容,并將所述待處理消息的消息內(nèi)容發(fā)送至所述客戶(hù)端。
[0043]本發(fā)明實(shí)施例提供的消息處理方法、裝置及系統(tǒng),可以在客戶(hù)端與消息系統(tǒng)中的主節(jié)點(diǎn)通信連接的情況下,向主節(jié)點(diǎn)發(fā)送待處理消息的元數(shù)據(jù)查詢(xún)請(qǐng)求,并根據(jù)接收到的主節(jié)點(diǎn)反饋的該消息的元數(shù)據(jù)信息向消息節(jié)點(diǎn)發(fā)送消息處理請(qǐng)求,使得接收到消息處理請(qǐng)求的消息節(jié)點(diǎn)能夠進(jìn)行消息處理。由于上述消息的元數(shù)據(jù)信息中包含用于為該消息所對(duì)應(yīng)的租戶(hù)提供消息處理服務(wù)的消息節(jié)點(diǎn)的標(biāo)識(shí),且客戶(hù)端向消息節(jié)點(diǎn)發(fā)送消息處理請(qǐng)求的時(shí)候僅僅向該標(biāo)識(shí)對(duì)應(yīng)的消息節(jié)點(diǎn)發(fā)送,也就是說(shuō)上述待處理消息僅對(duì)由該標(biāo)識(shí)確定的消息節(jié)點(diǎn)是可見(jiàn)的,而對(duì)于該消息系統(tǒng)中其他消息節(jié)點(diǎn)而言,該消息是不可見(jiàn)的,因此,應(yīng)用本發(fā)明實(shí)施例提供的方案進(jìn)行消息處理,在保證該消息系統(tǒng)能夠支持多租戶(hù)的情況下,提高了消息系統(tǒng)的安全性。
【附圖說(shuō)明】
[0044]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使