專利名稱:網(wǎng)絡(luò)環(huán)境下適應(yīng)性服務(wù)連接器及連接方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是一種網(wǎng)絡(luò)環(huán)境下適應(yīng)性服務(wù)連接器及連接方法。
背景技術(shù):
Web服務(wù)是松散耦合的、可復(fù)用的網(wǎng)絡(luò)應(yīng)用系統(tǒng)構(gòu)件,可以用來封裝用戶所需的硬件、軟件和數(shù)據(jù)資源。通過連接、組合服務(wù),可以利用Internet上已有的Web服務(wù)獲得新的功能,實(shí)現(xiàn)具有增值服務(wù)的分布式系統(tǒng)。由于網(wǎng)絡(luò)環(huán)境具有動態(tài)、易變的特點(diǎn),當(dāng)用戶需求、服務(wù)發(fā)生變化時(shí),分布式系統(tǒng)的重構(gòu)將耗費(fèi)大量的人力、時(shí)間和資金。靈活的服務(wù)連接器和方法可以為快速組建、重構(gòu)網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)提供有效支持。隨著電子商務(wù)、電子政務(wù)、虛擬企業(yè)等的發(fā)展、普及,對靈活的服務(wù)連接器和方法的需求也越來越突出。
目前,服務(wù)之間主要通過直接數(shù)據(jù)交換、控制傳遞實(shí)現(xiàn)連接,服務(wù)一旦連接,連接關(guān)系很難重構(gòu)、適應(yīng)外部變化。針對上述情況本發(fā)明所述的連接器、方法解決了以下問題(1)現(xiàn)有技術(shù)要求用戶提出連接請求前就預(yù)定義好服務(wù)連接。然而,網(wǎng)絡(luò)環(huán)境中的服務(wù)具有動態(tài)、自治的特點(diǎn),其可用性、運(yùn)行狀態(tài)等可以自主變化。當(dāng)網(wǎng)絡(luò)傳輸堵塞、服務(wù)停機(jī)、服務(wù)更換等情況發(fā)生時(shí),預(yù)先設(shè)計(jì)好的固定連接不能適應(yīng)這些變化,無法正常返回結(jié)果,會導(dǎo)致整個(gè)分布式系統(tǒng)運(yùn)行的失敗。
(2)用戶需求本身具有動態(tài)多變的特點(diǎn),隨著用戶業(yè)務(wù)的發(fā)展,對服務(wù)間連接關(guān)系的要求也在不斷變化。固定的服務(wù)連接不能滿足用戶復(fù)雜多變的需求,一旦需求發(fā)生變化,就必須重新構(gòu)造服務(wù)連接關(guān)系,進(jìn)行繁瑣的修改、調(diào)試,耗費(fèi)大量的人力、時(shí)間和資金。
(3)現(xiàn)有的服務(wù)連接一旦建立之后,不再發(fā)生變化。當(dāng)對一個(gè)服務(wù)有大量請求的時(shí)候,就會形成瓶頸。由于無法動態(tài)平衡負(fù)載,這個(gè)服務(wù)會因負(fù)載過重而崩潰,致使整個(gè)分布式系統(tǒng)崩潰。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種網(wǎng)絡(luò)環(huán)境下適應(yīng)性服務(wù)連接器及連接方法。
本發(fā)明是在網(wǎng)絡(luò)環(huán)境下服務(wù)連接、組合的連接器和連接方法,特別涉及一種網(wǎng)絡(luò)環(huán)境下Web服務(wù)適應(yīng)性連接、調(diào)整的連接器和方法,可以使由服務(wù)組合成的應(yīng)用適應(yīng)用戶需求和服務(wù)自身的變化。
本發(fā)明的目的是解決前面提到的現(xiàn)有服務(wù)連接中存在的三類問題,提高網(wǎng)絡(luò)環(huán)境下服務(wù)連接、組合對用戶需求、服務(wù)變化的適應(yīng)能力,降低用服務(wù)構(gòu)建、重構(gòu)分布式系統(tǒng)的成本,提高系統(tǒng)的可用性。
為了達(dá)到上述目的,本發(fā)明解決了如下技術(shù)難題如何在用戶需求變化時(shí)調(diào)整服務(wù)連接;如何在服務(wù)變化時(shí)調(diào)整被連接的服務(wù);如何動態(tài)定位要連接的服務(wù),以平衡負(fù)載,使系統(tǒng)持續(xù)可用。
為解決上述問題,本發(fā)明采用如下技術(shù)方案本發(fā)明以服務(wù)連接器作為分布式系統(tǒng)中服務(wù)連接關(guān)系的調(diào)整、控制裝置,實(shí)現(xiàn)服務(wù)的間接連接,封裝服務(wù)的自主變化,動態(tài)定位服務(wù),并提供可調(diào)整的連接結(jié)構(gòu)。
服務(wù)連接器包括交互部件、服務(wù)地址存儲部件、服務(wù)選擇部件、連接控制部件、服務(wù)訪問部件和連接配置部件。其中交互部件與連接控制部件、服務(wù)訪問部件相連,用于接收與服務(wù)請求相關(guān)的輸入和輸出;服務(wù)地址存儲部件存儲了可以通過交互部件與其他服務(wù)進(jìn)行交互的一組服務(wù)的地址;服務(wù)選擇部件負(fù)責(zé)根據(jù)服務(wù)負(fù)載從服務(wù)地址存儲部件中選擇出一個(gè)服務(wù),以備連接,實(shí)現(xiàn)負(fù)載平衡;連接控制部件與交互部件、服務(wù)選擇部件、服務(wù)訪問部件相連,負(fù)責(zé)轉(zhuǎn)接用于服務(wù)調(diào)用的輸入,控制服務(wù)選擇部件選擇服務(wù),與要求與之建立連接的服務(wù)建立連接關(guān)系,并控制服務(wù)訪問部件對服務(wù)的調(diào)用;服務(wù)訪問部件負(fù)責(zé)在連接建立后根據(jù)由交互部件傳入的輸入數(shù)據(jù),對由連接控制部件建立連接的服務(wù)進(jìn)行調(diào)用,服務(wù)被調(diào)用執(zhí)行后返回輸出數(shù)據(jù);服務(wù)連接器還提供了連接配置部件,它與交互部件、服務(wù)地址存儲部件和服務(wù)選擇部件相連,用它可以方便地配置服務(wù)連接器的交互部件、服務(wù)地址存儲部件中的服務(wù)地址以及服務(wù)選擇部件。通過配置操作可以達(dá)到改變連接結(jié)構(gòu)、調(diào)整被連接服務(wù)的目的。服務(wù)連接器各部分之間的關(guān)系及整體結(jié)構(gòu)視圖如圖1所示。
在網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中使用服務(wù)連接器作為分布式系統(tǒng)中服務(wù)之間的連接關(guān)系的調(diào)整、控制裝置,只需要根據(jù)服務(wù)連接的需求,在初始化服務(wù)連接器后,通過服務(wù)連接器的連接配置部件設(shè)置交互部件、服務(wù)地址存儲部件和服務(wù)選擇部件,將其部署在網(wǎng)絡(luò)環(huán)境中并發(fā)布,服務(wù)連接器即可開始運(yùn)行。當(dāng)需要連接服務(wù)時(shí),發(fā)出請求的服務(wù)通過服務(wù)連接器的交互部件,提出交互請求,服務(wù)連接器中的連接控制部件將控制服務(wù)選擇部件,從服務(wù)地址存取部件中定位滿足需求的服務(wù),交由服務(wù)訪問部件調(diào)用,并將結(jié)果通過交互部件返回給發(fā)出請求的服務(wù),從而完成服務(wù)間的交互。
本發(fā)明有如下特點(diǎn)和有益效果(1)與現(xiàn)有的其他服務(wù)連接技術(shù)(如基于數(shù)據(jù)共享的連接、利用簡單對象訪問協(xié)議的直接連接)相比較,本發(fā)明提出的服務(wù)連接器作為基于服務(wù)的分布式系統(tǒng)中的連接器,可以在服務(wù)之間靈活地建立、調(diào)整連接關(guān)系,使分布式系統(tǒng)動態(tài)適應(yīng)服務(wù)、需求變化,提高了分布式系統(tǒng)的適應(yīng)性。
(2)服務(wù)連接器通過交互部件和服務(wù)地址存儲部件,封裝了參與交互的服務(wù)的變化。通過改變服務(wù)地址存儲部件中的服務(wù)地址,網(wǎng)絡(luò)環(huán)境中的服務(wù)可以動態(tài)的加入、退出分布式系統(tǒng),而不影響與之交互的服務(wù)。當(dāng)服務(wù)需要升級、替換時(shí),只需重配置服務(wù)地址存儲部件即可,無需大范圍地更改系統(tǒng),降低了系統(tǒng)維護(hù)、變更的費(fèi)用,縮短了工時(shí)。
(3)服務(wù)連接器通過服務(wù)地址存儲部件、服務(wù)選擇部件提供了可變的連接結(jié)構(gòu)。當(dāng)需求發(fā)生變化時(shí),可以通過改變定位、連接服務(wù)的方式,對連接關(guān)系進(jìn)行調(diào)整,通過更新服務(wù)地址存儲部件更改被連接的服務(wù)。從而使分布式系統(tǒng)可以根據(jù)需求變化而動態(tài)改變,無需耗費(fèi)大量的工時(shí)、資金。
(4)當(dāng)服務(wù)負(fù)載過重或不可用時(shí),連接控制部件控制服務(wù)選擇部件動態(tài)定位可用服務(wù),并動態(tài)連接,保證系統(tǒng)持續(xù)可用。
圖1為本發(fā)明提出的服務(wù)連接器的結(jié)構(gòu)圖;圖2為利用本發(fā)明提出的服務(wù)連接器實(shí)現(xiàn)服務(wù)連接的流程圖;圖3為在本發(fā)明的實(shí)施實(shí)例中把本發(fā)明的服務(wù)連接器用于信息服務(wù)系統(tǒng)中的示意圖。
具體實(shí)施例方式
在圖1中,服務(wù)連接器11包括連接配置部件12、交互部件13、服務(wù)選擇部件14、服務(wù)地址存儲部件15、連接控制部件16和服務(wù)訪問部件17六部分組成。
連接配置部件12與交互部件13、服務(wù)選擇部件14以及服務(wù)地址存儲部件15相連,通過連接配置部件12可以對交互部件13、服務(wù)選擇部件14以及服務(wù)地址存儲部件15進(jìn)行配置。構(gòu)成一個(gè)連接器配置機(jī)構(gòu),可以設(shè)置、調(diào)整服務(wù)連接器的交互部件13、服務(wù)地址存儲部件15中的服務(wù)地址以及服務(wù)選擇部件14。
交互部件13與服務(wù)選擇部件14、服務(wù)訪問部件17相連,用于接收與服務(wù)請求相關(guān)的輸入和輸出,提供服務(wù)連接器11對外交互的穩(wěn)定接口。
服務(wù)選擇部件14與服務(wù)地址存儲部件15相連,構(gòu)成一種服務(wù)動態(tài)定位的機(jī)構(gòu),可以根據(jù)服務(wù)負(fù)載選擇被連接的服務(wù),實(shí)現(xiàn)服務(wù)負(fù)載平衡。
服務(wù)地址存儲部件15存儲了可以通過交互部件13與其他服務(wù)進(jìn)行交互的一組服務(wù)的地址。
連接控制部件16與服務(wù)選擇部件14、服務(wù)訪問部件17、交互部件13相連,構(gòu)成一個(gè)服務(wù)選擇、連接、調(diào)用的控制機(jī)構(gòu),控制服務(wù)選擇部件14從服務(wù)地址存儲部件15存儲的服務(wù)中選出一個(gè)服務(wù)參與交互,并建立連接關(guān)系,控制服務(wù)訪問部件17根據(jù)交互部件13傳來的輸入數(shù)據(jù)調(diào)用服務(wù);服務(wù)訪問部件17,與連接控制部件16連接,形成一個(gè)服務(wù)執(zhí)行機(jī)構(gòu),負(fù)責(zé)在連接建立后根據(jù)由交互部件13傳入的輸入數(shù)據(jù),觸發(fā)執(zhí)行已連接的服務(wù),服務(wù)被執(zhí)行后向交互部件13返回輸出數(shù)據(jù)。
其中,交互部件,接收與服務(wù)請求相關(guān)的輸入和輸出,提供服務(wù)連接器對外交互的穩(wěn)定接口。
服務(wù)地址存儲部件,可以存儲通過交互部件與其他服務(wù)進(jìn)行交互的一組服務(wù)的地址。
服務(wù)選擇部件,與服務(wù)地址存儲部件相連,構(gòu)成一種服務(wù)動態(tài)定位的機(jī)構(gòu),可以根據(jù)服務(wù)負(fù)載選擇被連接的服務(wù),實(shí)現(xiàn)服務(wù)負(fù)載平衡。
連接控制部件,與服務(wù)選擇部件、服務(wù)訪問部件、交互部件相連,構(gòu)成一個(gè)服務(wù)選擇、連接、調(diào)用的控制機(jī)構(gòu),控制服務(wù)選擇部件動態(tài)定位服務(wù),建立服務(wù)連接關(guān)系,控制服務(wù)訪問部件調(diào)用服務(wù),控制交互部件接收輸入。
服務(wù)訪問部件,與連接控制部件連接,形成一個(gè)服務(wù)執(zhí)行機(jī)構(gòu),在連接建立后在連接控制部件控制下,根據(jù)由交互部件傳入的輸入數(shù)據(jù),觸發(fā)由服務(wù)選擇部件選擇的服務(wù)的執(zhí)行,服務(wù)被調(diào)用執(zhí)行后返回輸出數(shù)據(jù)。
連接配置部件,與交互部件、服務(wù)地址存儲部件以及服務(wù)選擇部件相連,構(gòu)成一個(gè)連接器配置機(jī)構(gòu),可以設(shè)置、調(diào)整服務(wù)連接器的交互部件、服務(wù)地址存儲部件中的服務(wù)地址以及服務(wù)選擇部件。
圖2說明了利用本發(fā)明提出的服務(wù)連接器實(shí)現(xiàn)服務(wù)連接的工作流程。其主要步驟為S1在分布式系統(tǒng)應(yīng)用中安裝服務(wù)連接器,初始化服務(wù)連接器11;S2通過連接配置部件12配置交互部件13;S3通過連接配置部件12配置服務(wù)地址存儲部件15中存儲的服務(wù)地址;S4通過連接配置部件12配置服務(wù)選擇部件14;S5配置完畢后,服務(wù)連接器即處于等待運(yùn)行狀態(tài),交互部件13可以接收服務(wù)交互請求;S6交互部件13接收到服務(wù)交互請求后,連接控制部件16控制服務(wù)選擇部件14,根據(jù)服務(wù)負(fù)載從服務(wù)地址存儲部件15中存儲的服務(wù)中選出參與交互的服務(wù),建立連接關(guān)系;
S7如果沒有選取中可參與交互的服務(wù),則轉(zhuǎn)回配置步驟調(diào)整服務(wù)連接器的配置,否則服務(wù)訪問部件17觸發(fā)已連接服務(wù)的執(zhí)行;S8服務(wù)被執(zhí)行后,如果正常得到了返回結(jié)果,則通過交互部件13向請求方返回服務(wù)輸出結(jié)果,否則轉(zhuǎn)回步驟(S6)重新進(jìn)行服務(wù)選擇。
下面參照附圖3具體描述本發(fā)明的優(yōu)選實(shí)施實(shí)例。
圖3展示了將本發(fā)明提出的服務(wù)連接器用于信息服務(wù)系統(tǒng)中的一個(gè)實(shí)例。用戶通過PDA(個(gè)人數(shù)字助理)26訪問信息服務(wù)系統(tǒng),希望獲得感興趣的信息服務(wù)。為了避免大量的并發(fā)訪問造成網(wǎng)絡(luò)擁塞,由多個(gè)分布在各地的服務(wù)器21、22、23同時(shí)提供信息服務(wù)。服務(wù)連接器11是連接PDA26和服務(wù)器服務(wù)的裝置。
在服務(wù)連接器11被安裝并初始化后,通過其中的連接配置部件12將交互部件13配置為接受查詢信息服務(wù)請求,返回信息查詢結(jié)果;將服務(wù)地址存儲部件15中存儲的地址配置為服務(wù)器21、22、23的地址;為了能使系統(tǒng)負(fù)載保持動態(tài)的平衡,滿足大量用戶并發(fā)訪問的要求,服務(wù)連接器11中的服務(wù)選擇部件被配置為根據(jù)用戶的當(dāng)前地點(diǎn)動態(tài)選擇距離最近的服務(wù)器提供信息服務(wù)。用戶的地點(diǎn)信息儲存在用戶地理位置存儲庫25中,并且能夠根據(jù)PDA 26的地理移動進(jìn)行實(shí)時(shí)更新。
在配置好了服務(wù)連接器之后,PDA 26的查詢信息服務(wù)的請求被發(fā)送到服務(wù)連接器11。服務(wù)連接器11中服務(wù)選擇部件基于當(dāng)前的用戶地理位置動態(tài)選取出與用戶距離最近的服務(wù)器上的服務(wù),進(jìn)行服務(wù)調(diào)用獲得查詢結(jié)果并且返回給PDA 26。
權(quán)利要求
1.一種網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接方法,其特征在于通過服務(wù)連接器作為分布式系統(tǒng)中的服務(wù)連接關(guān)系的調(diào)整、控制裝置。
2.根據(jù)權(quán)利要求1的網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接方法,其主要步驟如下S1在分布式系統(tǒng)應(yīng)用中安裝服務(wù)連接器,初始化服務(wù)連接器11;S2通過連接配置部件12配置交互部件13;S3通過連接配置部件12配置服務(wù)地址存儲部件15中存儲的服務(wù)地址;S4通過連接配置部件12配置服務(wù)選擇部件14;S5配置完畢后,服務(wù)連接器即處于等待運(yùn)行狀態(tài),交互部件13可以接收服務(wù)交互請求;S6交互部件13接收到服務(wù)交互請求后,連接控制部件16控制服務(wù)選擇部件14,根據(jù)服務(wù)負(fù)載從服務(wù)地址存儲部件15中存儲的服務(wù)中選出參與交互的服務(wù),建立連接關(guān)系;S7如果沒有選取中可參與交互的服務(wù),則轉(zhuǎn)回配置步驟調(diào)整服務(wù)連接器的配置,否則服務(wù)訪問部件17觸發(fā)已連接服務(wù)的執(zhí)行;S8服務(wù)被執(zhí)行后,如果正常得到了返回結(jié)果,則通過交互部件13向請求方返回服務(wù)輸出結(jié)果,否則轉(zhuǎn)回步驟(S6)重新進(jìn)行服務(wù)選擇。
3.一種網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接器,其特征是由交互部件、服務(wù)地址存儲部件、服務(wù)選擇部件、連接控制部件、服務(wù)訪問部件和連接配置部件幾部分組成。
4.權(quán)利要求3的網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接器,其特征是交互部件,接收與服務(wù)請求相關(guān)的輸入和輸出,提供服務(wù)連接器對外交互的穩(wěn)定接口。
5.權(quán)利要求3的網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接器,其特征是服務(wù)地址存儲部件,可以存儲通過交互部件與其他服務(wù)進(jìn)行交互的一組服務(wù)的地址。
6.權(quán)利要求3的網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接器,其特征是服務(wù)選擇部件,與服務(wù)地址存儲部件相連,構(gòu)成一種服務(wù)動態(tài)定位的機(jī)構(gòu),可以根據(jù)服務(wù)負(fù)載選擇被連接的服務(wù),實(shí)現(xiàn)服務(wù)負(fù)載平衡。
7.權(quán)利要求3的網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接器,其特征是連接控制部件,與服務(wù)選擇部件、服務(wù)訪問部件、交互部件相連,構(gòu)成一個(gè)服務(wù)選擇、連接、調(diào)用的控制機(jī)構(gòu),控制服務(wù)選擇部件動態(tài)定位服務(wù),建立服務(wù)連接關(guān)系,控制服務(wù)訪問部件調(diào)用服務(wù),控制交互部件接收輸入。
8.權(quán)利要求3的網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接器,其特征是服務(wù)訪問部件,與連接控制部件連接,形成一個(gè)服務(wù)執(zhí)行機(jī)構(gòu),在連接建立后在連接控制部件控制下,根據(jù)由交互部件傳入的輸入數(shù)據(jù),觸發(fā)由服務(wù)選擇部件選擇的服務(wù)的執(zhí)行,服務(wù)被調(diào)用執(zhí)行后返回輸出數(shù)據(jù)。
9.權(quán)利要求3的網(wǎng)絡(luò)環(huán)境下的分布式系統(tǒng)中的服務(wù)連接器,其特征是連接配置部件,與交互部件、服務(wù)地址存儲部件以及服務(wù)選擇部件相連,構(gòu)成一個(gè)連接器配置機(jī)構(gòu),可以設(shè)置、調(diào)整服務(wù)連接器的交互部件、服務(wù)地址存儲部件中的服務(wù)地址以及服務(wù)選擇部件。
全文摘要
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域的一種網(wǎng)絡(luò)環(huán)境下適應(yīng)性服務(wù)連接器及連接方法。服務(wù)連接器作為分布式系統(tǒng)中服務(wù)連接的調(diào)整、控制裝置。服務(wù)連接器由交互部件、服務(wù)地址存儲部件、服務(wù)選擇部件、連接控制部件、服務(wù)訪問部件和連接配置部件幾部分組成。連接控制部件控制服務(wù)選擇部件根據(jù)服務(wù)負(fù)載從服務(wù)地址存儲部件中存儲的服務(wù)中選擇出一個(gè)服務(wù),建立服務(wù)連接關(guān)系,并控制服務(wù)訪問部件對服務(wù)的調(diào)用。服務(wù)訪問部件在連接控制部件建立連接后根據(jù)由交互部件傳入的輸入數(shù)據(jù),觸發(fā)服務(wù)的執(zhí)行,服務(wù)被調(diào)用執(zhí)行后向交互部件返回輸出數(shù)據(jù),完成連接交互。通過連接配置部件,可以調(diào)整服務(wù)連接器的交互部件、服務(wù)地址存儲部件中的服務(wù)地址以及服務(wù)選擇部件。
文檔編號H04L29/02GK1588941SQ200410062339
公開日2005年3月2日 申請日期2004年7月6日 優(yōu)先權(quán)日2004年7月6日
發(fā)明者李剛, 王菁, 韓燕波 申請人:中國科學(xué)院計(jì)算技術(shù)研究所