消息隊(duì)列處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體來(lái)說(shuō),涉及一種消息隊(duì)列處理方法和裝置。
【背景技術(shù)】
[0002]消息隊(duì)列在現(xiàn)代計(jì)算機(jī)技術(shù)中應(yīng)用越來(lái)越廣泛,通過(guò)消息隊(duì)列傳輸?shù)臄?shù)據(jù)稱為“消息”,消息具有消息體、消息來(lái)源、消息目的等屬性。消息隊(duì)列支持異步傳輸,從而提供了對(duì)數(shù)據(jù)多次處理的機(jī)會(huì)。消息指定消息目的后存放在消息隊(duì)列中,所有知道消息目的的應(yīng)用程序都可以獲取,從而提供了應(yīng)用解耦的機(jī)會(huì)。
[0003]目前,大多數(shù)消息隊(duì)列系統(tǒng)都是針對(duì)企業(yè)集成應(yīng)用設(shè)計(jì)的,企業(yè)集成的基本特點(diǎn)是把企業(yè)中現(xiàn)存的本不相干的各種應(yīng)用進(jìn)行集成,企業(yè)集成是一個(gè)持續(xù)漸進(jìn)的過(guò)程,需求變化非常頻繁,因此要求系統(tǒng)非常靈活,可定制性要求高。所以常見(jiàn)的消息隊(duì)列系統(tǒng)通常都可以通過(guò)配置或插件開(kāi)發(fā)進(jìn)行定制以適應(yīng)不同企業(yè)的業(yè)務(wù)流程的需要。但是這種定制的系統(tǒng)都不能進(jìn)行擴(kuò)展比較單一。
[0004]應(yīng)用消息隊(duì)列的系統(tǒng)大多注重結(jié)合業(yè)務(wù)場(chǎng)景的數(shù)據(jù)處理,如消息的數(shù)據(jù)結(jié)構(gòu)、發(fā)送接收消息的策略、消息的處理、針對(duì)業(yè)務(wù)場(chǎng)景的性能優(yōu)化,由于業(yè)務(wù)場(chǎng)景的限制,也很少關(guān)注擴(kuò)展性。
[0005]針對(duì)相關(guān)技術(shù)中的問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0006]針對(duì)相關(guān)技術(shù)中的問(wèn)題,本發(fā)明提出一種消息隊(duì)列處理方法和裝置,使得消息隊(duì)列系統(tǒng)具有可擴(kuò)展性。
[0007]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0008]根據(jù)本發(fā)明的一個(gè)方面,提供了一種消息隊(duì)列處理方法。
[0009]該消息隊(duì)列處理方法,包括:
[0010]角色通過(guò)消息的目的地址找到與目的地址對(duì)應(yīng)的消息隊(duì)列,并對(duì)消息隊(duì)列中的消息進(jìn)行處理,其中,角色由至少一臺(tái)服務(wù)器組成,屬于相同角色中的不同服務(wù)器并行運(yùn)行相同的程序,處理不同的數(shù)據(jù),角色之間通過(guò)運(yùn)行的程序類型進(jìn)行劃分;
[0011]角色將處理后的消息發(fā)送至后續(xù)消息隊(duì)列,后續(xù)消息隊(duì)列為后續(xù)角色提供服務(wù)。
[0012]其中,當(dāng)角色無(wú)法滿足業(yè)務(wù)處理需求時(shí),向角色中增加服務(wù)器。
[0013]另外,角色中增加的服務(wù)器與原有的服務(wù)器實(shí)現(xiàn)的功能相同、訪問(wèn)的消息隊(duì)列相同,處理的數(shù)據(jù)不同。
[0014]此外,當(dāng)有新的業(yè)務(wù)處理步驟發(fā)生時(shí),插入新的角色和新的消息隊(duì)列。
[0015]其中,通過(guò)修改新增的消息隊(duì)列的相鄰消息隊(duì)列使新增的消息隊(duì)列對(duì)應(yīng)的新增的角色實(shí)現(xiàn)與其相鄰的角色之間進(jìn)行數(shù)據(jù)傳輸。
[0016]根據(jù)本發(fā)明的另一方面,提供了一種消息隊(duì)列處理裝置,包括:
[0017]查找模塊,用于角色通過(guò)消息的目的地址找到與目的地址對(duì)應(yīng)的消息隊(duì)列,其中,角色由至少一臺(tái)服務(wù)器組成,屬于相同角色中的不同服務(wù)器并行運(yùn)行相同的程序,處理不同的數(shù)據(jù),角色之間通過(guò)運(yùn)行的程序類型進(jìn)行劃分;
[0018]處理模塊,用于對(duì)消息隊(duì)列中的消息進(jìn)行處理;
[0019]發(fā)送模塊,用于角色將處理后的消息發(fā)送至后續(xù)消息隊(duì)列,后續(xù)消息隊(duì)列為后續(xù)角色提供服務(wù)。
[0020]其中,該裝置可以包括:
[0021]增加模塊,用于當(dāng)角色無(wú)法滿足業(yè)務(wù)處理需求時(shí),向角色中增加服務(wù)器,其中,角色中增加的服務(wù)器與原有的服務(wù)器實(shí)現(xiàn)的功能相同、訪問(wèn)的消息隊(duì)列相同,處理的數(shù)據(jù)不同。
[0022]其中,該裝置可以包括:
[0023]插入模塊,當(dāng)有新的業(yè)務(wù)處理步驟發(fā)生時(shí),插入新的角色和新的消息隊(duì)列。
[0024]其中,該裝置可以包括:
[0025]修改模塊,用于修改新增的消息隊(duì)列的相鄰消息隊(duì)列使新增的消息隊(duì)列對(duì)應(yīng)的新增的角色實(shí)現(xiàn)與其相鄰的角色之間進(jìn)行數(shù)據(jù)傳輸。
[0026]本發(fā)明通過(guò)角色和消息隊(duì)列之間的對(duì)應(yīng)關(guān)系,并且各個(gè)角色之間通過(guò)消息隊(duì)列進(jìn)行數(shù)據(jù)傳輸形成多層數(shù)據(jù)傳輸體系,角色的劃分組成靈活,基于上述理由使得本發(fā)明的消息隊(duì)列處理方法具備可擴(kuò)展性。
【附圖說(shuō)明】
[0027]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0028]圖1是根據(jù)本發(fā)明實(shí)施例的消息隊(duì)列處理方法的流程圖;
[0029]圖2是本發(fā)明實(shí)施例的消息隊(duì)列系統(tǒng)的結(jié)構(gòu)示意圖;
[0030]圖3是本發(fā)明實(shí)施例的消息隊(duì)列系統(tǒng)進(jìn)行縱向擴(kuò)展的示意圖;
[0031]圖4是根據(jù)本發(fā)明實(shí)施例的消息隊(duì)列處理裝置的框圖。
【具體實(shí)施方式】
[0032]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033]根據(jù)本發(fā)明的實(shí)施例,提供了一種消息隊(duì)列處理方法,使得消息隊(duì)列系統(tǒng)具有可擴(kuò)展性。
[0034]如圖1所示,根據(jù)本發(fā)明實(shí)施例的消息隊(duì)列處理方法包括:
[0035]步驟S101,角色通過(guò)消息的目的地址找到與目的地址對(duì)應(yīng)的消息隊(duì)列,并對(duì)消息隊(duì)列中的消息進(jìn)行處理,其中,角色由至少一臺(tái)服務(wù)器組成,屬于相同角色中的不同服務(wù)器并行運(yùn)行相同的程序,處理不同的數(shù)據(jù),角色之間通過(guò)運(yùn)行的程序類型進(jìn)行劃分;
[0036]步驟S103角色將處理后的消息發(fā)送至后續(xù)消息隊(duì)列,后續(xù)消息隊(duì)列為后續(xù)角色提供服務(wù)。
[0037]其中,當(dāng)角色無(wú)法滿足業(yè)務(wù)處理需求時(shí),可以向角色中增加服務(wù)器來(lái)提高角色的服務(wù)性能。
[0038]另外,角色中增加的服務(wù)器與原有的服務(wù)器實(shí)現(xiàn)的功能相同、訪問(wèn)的消息隊(duì)列相同,處理的數(shù)據(jù)不同。
[0039]此外,當(dāng)有新的業(yè)務(wù)處理步驟發(fā)生時(shí),可以插入新的角色和新的消息隊(duì)列來(lái)分擔(dān)新增加的業(yè)務(wù)處理步驟,從而可以提高消息隊(duì)列整體的服務(wù)性能。
[0040]其中,可以通過(guò)修改新增的消息隊(duì)列的相鄰消息隊(duì)列使新增的消息隊(duì)列對(duì)應(yīng)的新增的角色實(shí)現(xiàn)與其相鄰的角色之間進(jìn)行數(shù)據(jù)傳輸。
[0041]在一具體實(shí)施例中,如圖2所示,該消息隊(duì)列系統(tǒng)包括多個(gè)角色,依據(jù)業(yè)務(wù)場(chǎng)景需要設(shè)定每個(gè)服務(wù)器屬于一種角色,一種角色可以包含多個(gè)服務(wù)器,同一角色的服務(wù)器之間并行運(yùn)行,運(yùn)行相同的程序,處理不同的數(shù)據(jù);角色中的服務(wù)器數(shù)量的構(gòu)成可以依據(jù)不同業(yè)務(wù)的需要靈活的劃分。
[0042]根據(jù)業(yè)務(wù)場(chǎng)景中對(duì)數(shù)據(jù)的處理流程,服務(wù)器之間有消息隊(duì)列提供服務(wù),每