一種數(shù)據(jù)處理方法、設(shè)備和esb系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法、設(shè)備和ESB系統(tǒng)。
【背景技術(shù)】
[0002]大規(guī)模分布式的企業(yè)應(yīng)用需要相對簡單而實(shí)用的中間件技術(shù)來簡化和統(tǒng)一越來越復(fù)雜、繁瑣的企業(yè)級(jí)信息系統(tǒng)平臺(tái)。SOA (Service-Oriented Architecture,面向服務(wù)的體系結(jié)構(gòu))是能夠?qū)?yīng)用程序的不同功能單元通過服務(wù)之間定義良好的接口和契約聯(lián)系起來。支撐SOA的關(guān)鍵是其消息傳遞的ESB (Enterprise Service Bus,企業(yè)服務(wù)總線),ESB系統(tǒng)是傳統(tǒng)中間件技術(shù)與XML (extensible Markup Language,可擴(kuò)展標(biāo)記語言)、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。ESB將供應(yīng)商提供的應(yīng)用的服務(wù)下發(fā)給消費(fèi)者,在這個(gè)過程中,它能夠消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)了服務(wù)之間的通信和整合。
[0003]現(xiàn)有技術(shù)中,ESB系統(tǒng)包括控制臺(tái)、部署節(jié)點(diǎn)和服務(wù)注冊中心,該服務(wù)注冊中心保存著服務(wù)的服務(wù)標(biāo)識(shí)和部署服務(wù)實(shí)例的部署節(jié)點(diǎn)的地址,當(dāng)?shù)谝环?wù)實(shí)例調(diào)用第二服務(wù)實(shí)例時(shí),部署第一服務(wù)實(shí)例的部署節(jié)點(diǎn)先在服務(wù)注冊中心查詢得到第二服務(wù)實(shí)例的地址,才能調(diào)用第二服務(wù)實(shí)例,若服務(wù)注冊中心出現(xiàn)問題,則服務(wù)注冊中心無法提供服務(wù)標(biāo)識(shí)和部署節(jié)點(diǎn)的地址,導(dǎo)致服務(wù)實(shí)例之間的調(diào)用也出現(xiàn)了問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供一種數(shù)據(jù)處理方法、設(shè)備和ESB系統(tǒng),使得ESB系統(tǒng)中信息傳遞更加靈活。
[0005]為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
[0006]第一方面、提供一種第一部署節(jié)點(diǎn),包括:
[0007]接收單元,用于接收控制臺(tái)發(fā)送的待部署的第一服務(wù)的服務(wù)信息,所述服務(wù)信息包括所述第一服務(wù)的定義和所述第一服務(wù)的服務(wù)標(biāo)識(shí);
[0008]生成單元,用于根據(jù)所述第一服務(wù)的定義生成第一服務(wù)實(shí)例,所述第一服務(wù)實(shí)例是所述第一服務(wù)的服務(wù)實(shí)例中部署在所述第一部署節(jié)點(diǎn)的服務(wù)實(shí)例;
[0009]發(fā)送單元,用于通過所述第一服務(wù)實(shí)例向企業(yè)服務(wù)總線ESB系統(tǒng)中除所述第一服務(wù)實(shí)例之外的所有服務(wù)實(shí)例發(fā)送第一地址信息,所述第一地址信息包括所述第一服務(wù)的服務(wù)標(biāo)識(shí)和所述第一部署節(jié)點(diǎn)的地址,以便于第二部署節(jié)點(diǎn)根據(jù)所述第一地址信息通過第二服務(wù)實(shí)例調(diào)用所述第一服務(wù)實(shí)例,所述第二服務(wù)實(shí)例是第二服務(wù)的服務(wù)實(shí)例中部署在所述第二部署節(jié)點(diǎn)的服務(wù)實(shí)例,所述第二部署節(jié)點(diǎn)是所述ESB系統(tǒng)中任意一個(gè)部署節(jié)點(diǎn)。
[0010]結(jié)合第一方面,在第一種可實(shí)現(xiàn)方式中,所述第一部署節(jié)點(diǎn)還包括:
[0011]所述接收單元,還用于接收所述第二部署節(jié)點(diǎn)通過所述第二服務(wù)實(shí)例發(fā)送的調(diào)用請求,所述調(diào)用請求是根據(jù)所述消費(fèi)者服務(wù)器發(fā)送的調(diào)用指令生成的,所述調(diào)用指令指示所述第二服務(wù)實(shí)例調(diào)用所述第一服務(wù)實(shí)例,包括所述第一服務(wù)的服務(wù)標(biāo)識(shí)、所述第二服務(wù)的服務(wù)標(biāo)識(shí)和預(yù)設(shè)信息,所述預(yù)設(shè)信息是所述消費(fèi)者服務(wù)器發(fā)送的,所述調(diào)用請求包括所述預(yù)設(shè)信息,所述消費(fèi)者服務(wù)器是正在使用所述第二服務(wù)實(shí)例的服務(wù)器;
[0012]運(yùn)行單元,用于根據(jù)所述預(yù)設(shè)信息運(yùn)行所述第一服務(wù)實(shí)例,得到調(diào)用成功響應(yīng);
[0013]所述發(fā)送單元,還用于通過所述第一服務(wù)實(shí)例向所述第二部署節(jié)點(diǎn)發(fā)送所述調(diào)用成功響應(yīng),以便于所述第二部署節(jié)點(diǎn)通過所述第二服務(wù)實(shí)例接收所述調(diào)用成功響應(yīng)。
[0014]結(jié)合第一方面,在第二種可實(shí)現(xiàn)方式中,所述第一部署節(jié)點(diǎn)還包括:
[0015]所述接收單元,還用于接收所述控制臺(tái)發(fā)送的實(shí)例刪除指令,所述實(shí)例刪除指令指示所述第一部署節(jié)點(diǎn)刪除所述第一服務(wù)實(shí)例;
[0016]刪除單元,用于根據(jù)所述實(shí)例刪除指令刪除所述第一服務(wù)實(shí)例;
[0017]所述發(fā)送單元,還用于向所述ESB系統(tǒng)中所有服務(wù)實(shí)例發(fā)送地址刪除指令,所述地址刪除指令用于指示所述ESB系統(tǒng)中所有服務(wù)實(shí)例刪除所述第一地址信息,以便于所述ESB系統(tǒng)中所有部署節(jié)點(diǎn)根據(jù)所述地址刪除指令刪除所述第一地址信息。
[0018]第二方面、提供一種控制臺(tái),包括:
[0019]生成單元,用于生成待部署的第一服務(wù)的服務(wù)信息,所述服務(wù)信息包括第一服務(wù)的定義和所述第一服務(wù)的服務(wù)標(biāo)識(shí);
[0020]發(fā)送單元,用于向第一部署節(jié)點(diǎn)發(fā)送所述服務(wù)信息,以便于所述第一部署節(jié)點(diǎn)根據(jù)所述第一服務(wù)的定義生成所述第一服務(wù)實(shí)例后,通過所述第一服務(wù)實(shí)例向ESB系統(tǒng)中除所述第一服務(wù)實(shí)例之外的所有服務(wù)實(shí)例發(fā)送第一地址信息,所述第一服務(wù)實(shí)例是所述第一服務(wù)的服務(wù)實(shí)例中部署在所述第一部署節(jié)點(diǎn)的服務(wù)實(shí)例,所述第一地址信息包括所述第一服務(wù)的服務(wù)標(biāo)識(shí)和所述第一部署節(jié)點(diǎn)的地址。
[0021]結(jié)合第二方面,在第一種可實(shí)現(xiàn)方式中,所述控制臺(tái)還包括:
[0022]確定單元,用于確定待刪除服務(wù)的部署節(jié)點(diǎn);
[0023]所述生成單元,還用于生成服務(wù)刪除指令,所述服務(wù)刪除指令用來指示所述待刪除服務(wù)的部署節(jié)點(diǎn)刪除所述第一服務(wù)的服務(wù)實(shí)例;
[0024]所述發(fā)送單元,還用于若所述待刪除服務(wù)的部署節(jié)點(diǎn)包括所述第一部署節(jié)點(diǎn),向所述第一部署節(jié)點(diǎn)發(fā)送所述服務(wù)刪除指令,以便于所述第一部署節(jié)點(diǎn)根據(jù)所述服務(wù)刪除指令刪除所述第一服務(wù)實(shí)例。
[0025]第三方面、提供一種數(shù)據(jù)處理方法,應(yīng)用于第一部署節(jié)點(diǎn),包括:
[0026]接收控制臺(tái)發(fā)送的待部署的第一服務(wù)的服務(wù)信息,所述服務(wù)信息包括所述第一服務(wù)的定義和所述第一服務(wù)的服務(wù)標(biāo)識(shí);
[0027]根據(jù)所述第一服務(wù)的定義生成第一服務(wù)實(shí)例,所述第一服務(wù)實(shí)例是所述第一服務(wù)的服務(wù)實(shí)例中部署在所述第一部署節(jié)點(diǎn)的服務(wù)實(shí)例;
[0028]通過所述第一服務(wù)實(shí)例向企業(yè)服務(wù)總線ESB系統(tǒng)中除所述第一服務(wù)實(shí)例之外的所有服務(wù)實(shí)例發(fā)送第一地址信息,所述第一地址信息包括所述第一服務(wù)的服務(wù)標(biāo)識(shí)和所述第一部署節(jié)點(diǎn)的地址,以便于第二部署節(jié)點(diǎn)根據(jù)所述第一地址信息通過第二服務(wù)實(shí)例調(diào)用所述第一服務(wù)實(shí)例,所述第二服務(wù)實(shí)例是第二服務(wù)的服務(wù)實(shí)例中部署在所述第二部署節(jié)點(diǎn)的服務(wù)實(shí)例,所述第二部署節(jié)點(diǎn)是所述ESB系統(tǒng)中任意一個(gè)部署節(jié)點(diǎn)。
[0029]結(jié)合第三方面,在第一種可實(shí)現(xiàn)方式中,在所述通過所述第一服務(wù)實(shí)例向企業(yè)服務(wù)總線ESB系統(tǒng)中除所述第一服務(wù)實(shí)例之外的所有服務(wù)實(shí)例發(fā)送第一地址信息之后,所述方法還包括:
[0030]接收所述第二部署節(jié)點(diǎn)通過所述第二服務(wù)實(shí)例發(fā)送的調(diào)用請求,所述調(diào)用請求是根據(jù)所述消費(fèi)者服務(wù)器發(fā)送的調(diào)用指令生成的,所述調(diào)用指令指示所述第二服務(wù)實(shí)例調(diào)用所述第一服務(wù)實(shí)例,包括所述第一服務(wù)的服務(wù)標(biāo)識(shí)、所述第二服務(wù)的服務(wù)標(biāo)識(shí)和預(yù)設(shè)信息,所述預(yù)設(shè)信息是所述消費(fèi)者服務(wù)器發(fā)送的,所述調(diào)用請求包括所述預(yù)設(shè)信息,所述消費(fèi)者服務(wù)器是正在使用所述第二服務(wù)實(shí)例的服務(wù)器;
[0031]根據(jù)所述預(yù)設(shè)信息運(yùn)行所述第一服務(wù)實(shí)例,得到調(diào)用成功響應(yīng);
[0032]通過所述第一服務(wù)實(shí)例向所述第二部署節(jié)點(diǎn)發(fā)送所述調(diào)用成功響應(yīng),以便于所述第二部署節(jié)點(diǎn)通過所述第二服務(wù)實(shí)例接收所述調(diào)用成功響應(yīng)。
[0033]結(jié)合第三方面,在第二種可實(shí)現(xiàn)方式中,在所述通過所述第一服務(wù)實(shí)例向企業(yè)服務(wù)總線ESB系統(tǒng)中除所述第一服務(wù)實(shí)例之外的所有服務(wù)實(shí)例發(fā)送第一地址信息之后,所述處理方法還包括:
[0034]接收所述控制臺(tái)發(fā)送的實(shí)例刪除指令,所述實(shí)例刪除指令指示所述第一部署節(jié)點(diǎn)刪除所述第一服務(wù)實(shí)例;
[0035]根據(jù)所述實(shí)例刪除指令刪除所述第一服務(wù)實(shí)例;
[0036]向所述ESB系統(tǒng)中所有服務(wù)實(shí)例發(fā)送地址刪除指令,所述地址刪除指令用于指示所述ESB系統(tǒng)中所有服務(wù)實(shí)例刪除所述第一地址信息,以便于所述ESB系統(tǒng)中所有部署節(jié)點(diǎn)根據(jù)所述地址刪除指令刪除所述第一地址信息。
[0037]第四方面、提供一種數(shù)據(jù)處理方法,應(yīng)用于控制臺(tái),包括:
[0038]生成待部署的第一服務(wù)的服務(wù)信息,所述服務(wù)信息包括第一服務(wù)的定義和所述第一服務(wù)的服務(wù)標(biāo)識(shí);
[0039]向第一部署節(jié)點(diǎn)發(fā)送所述服務(wù)信息,以便于所述第一部署節(jié)點(diǎn)根據(jù)所述第一服務(wù)的定義生成所述第一服務(wù)實(shí)例后,通過所述第一服務(wù)實(shí)例向ESB系統(tǒng)中除所述第一服務(wù)實(shí)例之外的所有服務(wù)實(shí)例發(fā)送第一地址信息,所述第一服務(wù)實(shí)例是所述第一服務(wù)的服務(wù)實(shí)例中部署在所述第一部署節(jié)點(diǎn)的服務(wù)實(shí)例,所述第一地址信息包括所述第一服務(wù)的服務(wù)標(biāo)識(shí)和所述第一部署節(jié)點(diǎn)的地址。
[0040]結(jié)合第四方面,在第一種可實(shí)現(xiàn)方式中,在所述向第一部署節(jié)點(diǎn)發(fā)送所述服務(wù)信息之后,所述數(shù)據(jù)處理方法還包括:
[0041]在滿足預(yù)設(shè)刪除條件時(shí),確定待刪除服務(wù)的部署節(jié)點(diǎn);
[0042]生成服務(wù)刪除指令,所述服務(wù)刪除指令用來指示所述待刪除服務(wù)的部署節(jié)點(diǎn)刪除所述第一服務(wù)的服務(wù)實(shí)例;
[0043]若所述待刪除服務(wù)的部署節(jié)點(diǎn)包括所述第一部署節(jié)點(diǎn),向所述第一部署節(jié)點(diǎn)發(fā)送所述服務(wù)刪除指令,以便于所述第一部署節(jié)點(diǎn)根據(jù)所述服務(wù)刪除指令刪除所述第一服務(wù)實(shí)例。
[0044]第五方面、提供一種ESB系統(tǒng),包括:
[0045]以上任意一種第一部署節(jié)點(diǎn);
[0046]以上任意一種控制臺(tái)。
[0047]本發(fā)明提供一種數(shù)據(jù)處理方法、設(shè)備和ESB系統(tǒng),包括:接收控制臺(tái)發(fā)送的待部署的第一服務(wù)的服務(wù)信息,所述服務(wù)信息包括所述第一服務(wù)的定義和所述第一服務(wù)的服務(wù)標(biāo)識(shí);根據(jù)所述第一服務(wù)的定義生成第一服務(wù)實(shí)例,所述第一服務(wù)實(shí)例是所述第一服務(wù)的服務(wù)實(shí)例中部署在所述第一部署節(jié)點(diǎn)的服務(wù)實(shí)例;通過所述第一服務(wù)實(shí)例向企業(yè)服務(wù)總線ESB系統(tǒng)中除所述第一服務(wù)實(shí)例之外的所有服務(wù)實(shí)例發(fā)送第一