亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

Soa架構(gòu)下多級(jí)服務(wù)總線服務(wù)調(diào)用的快速尋址方法

文檔序號(hào):7667124閱讀:288來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):Soa架構(gòu)下多級(jí)服務(wù)總線服務(wù)調(diào)用的快速尋址方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種在企業(yè)級(jí)別的SOA架構(gòu)下,當(dāng)ESB企業(yè)服務(wù)總線 (Enterprise Service Bus)在采用分布式多級(jí)的部署結(jié)構(gòu)時(shí),實(shí)現(xiàn)服務(wù)調(diào)用時(shí)的快速尋址方法,具體地說(shuō)是一種SOA架構(gòu)下分布式多級(jí)服務(wù)總線服務(wù)調(diào)用的快速尋址方法。
背景技術(shù)
比較大型的企業(yè)在部署SOA (Service-Oriented Architecture,面向服務(wù)架構(gòu))架構(gòu)時(shí),出于組織架構(gòu)在管理上分層、地域上分布等原因,通常會(huì)依據(jù)地域分布部署或依據(jù)部門(mén)多級(jí)部署多條服務(wù)總線,從而滿足個(gè)性化管理、性能、安全等需要。
如圖1所示的一個(gè)企業(yè)具有省和多地市兩級(jí)的組織架構(gòu),計(jì)劃按照分布多級(jí)的方式部署SOA架構(gòu)。
在這個(gè)部署結(jié)構(gòu)中,服務(wù)目錄采用集中式部署,在邏輯上僅有一個(gè),部署在省中心。服務(wù)目錄中的服務(wù)信息按照樹(shù)形進(jìn)行存儲(chǔ)。服務(wù)總線在其運(yùn)行時(shí)根據(jù)其具體需要查詢相關(guān)的服務(wù)信息。所有的服務(wù)都通過(guò)一個(gè)統(tǒng)一的服務(wù)目錄管理界面 進(jìn)行管理。通過(guò)利用服務(wù)目錄的訪問(wèn)控制和分級(jí)授權(quán)管理的功能,實(shí)現(xiàn)虛擬的部 署級(jí)(如地市)服務(wù)目錄,即對(duì)于受限用戶而言,他所能管理的只能是他所在地市的服務(wù)。
服務(wù)均依據(jù)所屬的應(yīng)用或者部署在省公司,或者部署在地市。因?yàn)樗械姆?wù)均需要通過(guò)服務(wù)總線進(jìn)行調(diào)用,即服務(wù)調(diào)用者(如客戶端應(yīng)用)需要先連接服 務(wù)總線,服務(wù)總線再?gòu)姆?wù)目錄中査詢服務(wù)的地址的信息(即尋址),然后再協(xié)助進(jìn)行服務(wù)調(diào)用。所以出于管理、安全和性能等需求,省公司和各個(gè)地市均各自部署一個(gè)服務(wù)總線。但地市的服務(wù)總線均下屬于省公司的服務(wù)總線,與省公司服務(wù)總線之間設(shè)置有級(jí)連關(guān)系。
上述示意就是一種典型的分布多級(jí)的服務(wù)總線部署架構(gòu)。
鑒于在SOA架構(gòu)下分布式多級(jí)服務(wù)總線需要遠(yuǎn)程訪問(wèn)服務(wù)目錄,對(duì)網(wǎng)絡(luò)可靠性及傳輸性能要求較高,如果網(wǎng)絡(luò)不穩(wěn)定,將造成部分服務(wù)總線無(wú)法正常工作, 所以需要一種方法來(lái)提高服務(wù)尋址的性能,從而提高服務(wù)調(diào)用的性能。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種SOA架構(gòu)下分布式多級(jí)服務(wù)總線服務(wù)調(diào)用的快速
尋址方法。該方法通過(guò)提高服務(wù)尋址的性能,從而提高服務(wù)調(diào)用的性能。
一種SOA架構(gòu)下分布式多級(jí)服務(wù)總線服務(wù)調(diào)用的快速尋址方法,其特征在
于它包括以下兩個(gè)階段
(1) 踉務(wù)總線建立服務(wù)目錄緩存階段;該階段包括以下步驟
11) 服務(wù)總綿接收服務(wù)調(diào)用請(qǐng)求;
12) 服務(wù)總線先從本地緩存査找該服務(wù)的地址等信息;
13) 如果本地緩存中不存在這些信息,服務(wù)總線自動(dòng)向服務(wù)目錄發(fā)起査詢 請(qǐng)求,當(dāng)服務(wù)目錄返回其所需信息后,服務(wù)總線將這些信息存入本地緩存; 如果本地緩存中存在這些信息,但是基于緩存失效策略己經(jīng)失效,則同樣, 服務(wù)總線向服務(wù)目錄發(fā)起査詢請(qǐng)求;當(dāng)服務(wù)目錄返回其所需信息后,服務(wù)總 線將利用這些信息替換本地緩存,-
14) 如果本地緩存中存在著有效的服務(wù)信息,則直接利用緩存,服務(wù)總線 從緩存中取得服務(wù)信息,進(jìn)行服務(wù)調(diào)用;
15) 當(dāng)對(duì)已緩存的服務(wù)進(jìn)行的調(diào)用,在緩存有效時(shí)間內(nèi),服務(wù)總線直接使 用緩存中的數(shù)據(jù),從而實(shí)現(xiàn)服務(wù)的快速調(diào)用,避免了遠(yuǎn)程訪問(wèn)的性能開(kāi)銷(xiāo);
通過(guò)該方式,緩存中將會(huì)保存有所有的經(jīng)常調(diào)用的服務(wù)的信息。利用這種方 式,對(duì)于改動(dòng)生效無(wú)實(shí)時(shí)性要求的服務(wù),服務(wù)總線可以通過(guò)緩存失效替換,在一 定時(shí)間后取得更新的服務(wù)信息。
當(dāng)對(duì)已緩存的服務(wù)進(jìn)行的調(diào)用,在緩存有效時(shí)間內(nèi),服務(wù)總線直接執(zhí)行第 15)個(gè)步驟,使用緩存中的數(shù)據(jù),從而實(shí)現(xiàn)服務(wù)的快速調(diào)用,避免了遠(yuǎn)程訪問(wèn)的 性能開(kāi)銷(xiāo)。
(2) 服務(wù)總線更新服務(wù)目錄緩存階段;服務(wù)目錄中的服務(wù)信息改動(dòng)后,服 務(wù)總線需要更新緩存,該階段包括以下步驟
21) 服務(wù)管理人員通過(guò)服務(wù)目錄進(jìn)行服務(wù)管理;
22) 當(dāng)服務(wù)信息改動(dòng)后,如果服務(wù)的改動(dòng)需要立即生效,即需要立即通過(guò) 所有的服務(wù)總線更新相應(yīng)的緩存,則服務(wù)目錄將調(diào)用服務(wù)總線的公共服務(wù)接 口,通知服務(wù)總線;
23) 服務(wù)總線收到通知信息后,服務(wù)總線收到通知消息后,將自動(dòng)把其緩 存內(nèi)保存的但已發(fā)生更新的服務(wù)數(shù)據(jù)置為失效;
24) 當(dāng)有客戶端請(qǐng)求需要調(diào)用這些服務(wù)時(shí),重復(fù)(1)階段中的第14)個(gè)步驟進(jìn)行緩存替換。
本發(fā)明中,在分布式環(huán)境下,為了減少由服務(wù)目錄與服務(wù)總線之間網(wǎng)絡(luò)帶寬 引起的性能損失,在服務(wù)總線里實(shí)現(xiàn)一個(gè)服務(wù)目錄的數(shù)據(jù)緩存,按需緩存服務(wù)調(diào) 用所需的服務(wù)地址和路由等信息。每個(gè)服務(wù)在第一次被調(diào)用后,其使用到的信息 將被緩存在本地緩存中,以后對(duì)該服務(wù)的調(diào)用都將使用緩存中所存儲(chǔ)的數(shù)據(jù),從 而減少服務(wù)調(diào)用的網(wǎng)絡(luò)訪問(wèn)開(kāi)銷(xiāo)。當(dāng)服務(wù)目錄中與服務(wù)配置、服務(wù)路由相關(guān)的信 息改動(dòng)后,對(duì)于改動(dòng)生效無(wú)實(shí)時(shí)性要求的服務(wù),服務(wù)總線可以通過(guò)緩存失效替換 在一定時(shí)間后取得更新的服務(wù)信息;對(duì)于改動(dòng)需要立即生效的服務(wù),則由服務(wù)目 錄將信息的改動(dòng)即時(shí)通知服務(wù)總線,以更新服務(wù)總線端的緩存信息。
本發(fā)明在SOA架構(gòu)下分布式多級(jí)服務(wù)總線需要遠(yuǎn)程訪問(wèn)服務(wù)目錄時(shí),對(duì)網(wǎng) 絡(luò)可靠性及傳輸性能要求不高,如果網(wǎng)絡(luò)不穩(wěn)定,服務(wù)總線同樣能正常工作。本 發(fā)明服務(wù)尋址的性能高,服務(wù)調(diào)用的性能好。


圖1所示的是一個(gè)企業(yè)具有省和多地市兩級(jí)的組織架構(gòu),并計(jì)劃按照分布多 級(jí)的方式部署SOA架構(gòu)的示意圖2所示的是服務(wù)總線端的服務(wù)信息緩存實(shí)現(xiàn)的基本流程圖3所示的是服務(wù)目錄中的服務(wù)信息改動(dòng)后,服務(wù)總線需要更新緩存的示意圖。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
圖2所示的是服務(wù)總線端的服務(wù)信息緩存實(shí)現(xiàn)的基本流程圖。 一種SOA架構(gòu)下分布式多級(jí)服務(wù)總線服務(wù)調(diào)用的快速尋址方法,它包括服 務(wù)總線建立服務(wù)目錄緩存階段和服務(wù)總線更新服務(wù)目錄緩存階段;
(1)服務(wù)總線建立服務(wù)目錄緩存階段,包括以下步驟
11) 服務(wù)總線接收服務(wù)調(diào)用請(qǐng)求;
12) 服務(wù)總線先從本地緩存査找該服務(wù)的地址等信息;
13) 如果本地緩存中不存在這些信息,服務(wù)總線自動(dòng)向服務(wù)目錄發(fā)起査詢 請(qǐng)求。當(dāng)服務(wù)目錄返回其所需信息后,服務(wù)總線將這些信息存入本地緩存; 如果本地緩存中存在這些信息,但是基于緩存失效策略已經(jīng)失效,則同樣, 服務(wù)總線向服務(wù)目錄發(fā)起査詢請(qǐng)求。當(dāng)服務(wù)目錄返回其所需信息后,服務(wù)總 線將利用這些信息替換本地緩存。
14) 如果本地緩存中存在著有效的服務(wù)信息,則直接利用緩存。服務(wù)總線
從緩存中取得服務(wù)信息,進(jìn)行服務(wù)調(diào)用。
15)當(dāng)對(duì)已緩存的服務(wù)進(jìn)行的調(diào)用,在緩存有效時(shí)間內(nèi),服務(wù)總線直接使
用緩存中的數(shù)據(jù),從而實(shí)現(xiàn)服務(wù)的快速調(diào)用,避免了遠(yuǎn)程訪問(wèn)的性能開(kāi)銷(xiāo)。
通過(guò)該方式,緩存中將會(huì)保存有所有的經(jīng)常調(diào)用的服務(wù)的信息。利用這種方 式,對(duì)于改動(dòng)生效無(wú)實(shí)時(shí)性要求的服務(wù),服務(wù)總線可以通過(guò)緩存失效替換,在一 定時(shí)間后取得更新的服務(wù)信息。
緩存內(nèi)的數(shù)據(jù)并不是服務(wù)目錄信息的全盤(pán)復(fù)制,它僅存放以下幾類(lèi)信息-
-服務(wù)基本信息
- 服務(wù)地址信息
-服務(wù)安全信息
-服務(wù)路由信息(僅在跨總線調(diào)用時(shí)才會(huì)使用)
服務(wù)總線采用內(nèi)存作為緩存中數(shù)據(jù)的存儲(chǔ)空間,并且可以配置當(dāng)緩存中的條 目數(shù)超過(guò)限制后,以文件方式臨時(shí)存儲(chǔ)部分?jǐn)?shù)據(jù)。當(dāng)服務(wù)總線重啟后,緩存將會(huì) 被清空,并按照下述的替換策略重新生成。
緩存可以設(shè)置服務(wù)目錄信息最大數(shù)量。該數(shù)量可能要小于實(shí)際運(yùn)行時(shí)所需的 服務(wù)目錄信息數(shù)量。在這種情況下,如果在長(zhǎng)時(shí)間運(yùn)行,緩存被填滿后,我們需 要確定是否使用新的數(shù)據(jù)替換緩存中的舊數(shù)據(jù)。緩存可用的替換算法包括 LRU(最近最少訪問(wèn)),LFU(最不頻繁訪問(wèn))和FIFO(先進(jìn)先出)幾種。由于每個(gè)服務(wù) 總線上連接的應(yīng)用程序一般是固定的,這些應(yīng)用程序所用到的服務(wù)個(gè)數(shù)一般也是 固定的,不同的僅是這些服務(wù)被調(diào)用的頻率。由于FIFO所依據(jù)的條件是數(shù)據(jù)在 Cache中的時(shí)間,而不是其在Cache中的使用情況,所以出于提高命中率的考 慮,F(xiàn)IFO不是一種最恰當(dāng)?shù)乃惴?。而一般?lái)說(shuō)LFU把將計(jì)數(shù)時(shí)間限定在了兩次 替換之間的時(shí)間間隔內(nèi)。由于實(shí)際運(yùn)行時(shí)替換很頻繁,讓這時(shí)間間隔太短了,以 至于并不能完全反映出CPU近期的訪問(wèn)情況。而LRU算法適當(dāng)延長(zhǎng)了替換時(shí) 間,從而更能本質(zhì)地反應(yīng)行的使用情況,所以服務(wù)總線采用LRU算法作為緩存 替換算法。
服務(wù)總線側(cè)緩存內(nèi)存放的數(shù)據(jù)都來(lái)源于服務(wù)目錄,所以不需要單獨(dú)對(duì)其進(jìn)行 實(shí)體化保存,所有的信息都直接存放于內(nèi)存中,由服務(wù)總線直接訪問(wèn)。所以緩存 本身的性能將得到最大程度的保證。
如圖3所示,服務(wù)目錄中的服務(wù)信息改動(dòng)后,服務(wù)總線需要更新緩存。
(2)服務(wù)總線更新服務(wù)目錄緩存階段,包括以下步驟
21) 服務(wù)管理人員通過(guò)服務(wù)目錄進(jìn)行服務(wù)管理;
22) 當(dāng)服務(wù)信息改動(dòng)后,如果服務(wù)的改動(dòng)需要立即生效,即需要立即通過(guò) 所有的服務(wù)總線更新相應(yīng)的緩存,則服務(wù)目錄將調(diào)用服務(wù)總線的公共服務(wù)接 口,通知服務(wù)總線。
23) 服務(wù)總線收到通知信息后,服務(wù)總線收到通知消息后,將自動(dòng)把其緩
存內(nèi)保存的但已發(fā)生更新的服務(wù)數(shù)據(jù)置為失效。 當(dāng)有客戶端請(qǐng)求需要調(diào)用這些服務(wù)時(shí),重復(fù)服務(wù)總線建立服務(wù)目錄緩存階段
中的第14)個(gè)步驟進(jìn)行緩存替換。
為了接受服務(wù)目錄的改動(dòng)通知,服務(wù)總線將實(shí)現(xiàn)一個(gè)改動(dòng)通知接口。它將支
持兩種緩存數(shù)據(jù)失效方式
完全失效當(dāng)收到完全失效的通知時(shí),服務(wù)總線將緩存內(nèi)的數(shù)據(jù)全部置為失 效。緩存數(shù)據(jù)將在后續(xù)的調(diào)用中重新裝載。
部分失效部分失效通知包含被修改服務(wù)的惟一標(biāo)識(shí)。服務(wù)總線根據(jù)該惟一 標(biāo)識(shí),有選擇的將相關(guān)數(shù)據(jù)置為無(wú)效。
服務(wù)總線將支持基于Web Service的同步通知機(jī)制,對(duì)外表現(xiàn)為服務(wù)總線 上的一個(gè)公共服務(wù)。同步通知由服務(wù)目錄直接向每個(gè)服務(wù)總線發(fā)起。服務(wù)總線修 改完緩存狀態(tài)后,立即返回成功或失敗結(jié)果。
本發(fā)明在分布式環(huán)境下,為了減少由服務(wù)目錄與服務(wù)總線之間網(wǎng)絡(luò)帶寬引起 的性能損失,在服務(wù)總線里實(shí)現(xiàn)一個(gè)服務(wù)目錄的數(shù)據(jù)緩存,按需緩存服務(wù)調(diào)用所 需的服務(wù)地址和路由等信息。每個(gè)服務(wù)在第一次被調(diào)用后,其使用到的信息將被 緩存在本地緩存中,以后對(duì)該服務(wù)的調(diào)用都將使用緩存中所存儲(chǔ)的數(shù)據(jù),從而減 少服務(wù)調(diào)用的網(wǎng)絡(luò)訪問(wèn)開(kāi)銷(xiāo)。當(dāng)服務(wù)目錄中與服務(wù)配置、服務(wù)路由相關(guān)的信息改 動(dòng)后,對(duì)于改動(dòng)生效無(wú)實(shí)時(shí)性要求的服務(wù),服務(wù)總線可以通過(guò)緩存失效替換在一 定時(shí)間后取得更新的服務(wù)信息;對(duì)于改動(dòng)需要立即生效的服務(wù),則由服務(wù)目錄將 信息的改動(dòng)即時(shí)通知服務(wù)總線,以更新服務(wù)總線端的緩存信息。
本發(fā)明在SOA架構(gòu)下分布式多級(jí)服務(wù)總線需要遠(yuǎn)程訪問(wèn)服務(wù)目錄時(shí),對(duì)網(wǎng) 絡(luò)可靠性及傳輸性能要求不高,服務(wù)尋址的性能高,服務(wù)調(diào)用的性能好。
權(quán)利要求
1、一種SOA架構(gòu)下多級(jí)服務(wù)總線服務(wù)調(diào)用的快速尋址方法,其特征在于它包括以下兩個(gè)階段(1)服務(wù)總線建立服務(wù)目錄緩存階段;該階段包括以下步驟11)服務(wù)總線接收服務(wù)調(diào)用請(qǐng)求;12)服務(wù)總線先從本地緩存查找該服務(wù)的地址等信息;13)如果本地緩存中不存在這些信息,服務(wù)總線自動(dòng)向服務(wù)目錄發(fā)起查詢請(qǐng)求,當(dāng)服務(wù)目錄返回其所需信息后,服務(wù)總線將這些信息存入本地緩存;如果本地緩存中存在這些信息,但是基于緩存失效策略已經(jīng)失效,則同樣,服務(wù)總線向服務(wù)目錄發(fā)起查詢請(qǐng)求;當(dāng)服務(wù)目錄返回其所需信息后,服務(wù)總線將利用這些信息替換本地緩存;14)如果本地緩存中存在著有效的服務(wù)信息,則直接利用緩存,服務(wù)總線從緩存中取得服務(wù)信息,進(jìn)行服務(wù)調(diào)用;15)當(dāng)對(duì)已緩存的服務(wù)進(jìn)行的調(diào)用,在緩存有效時(shí)間內(nèi),服務(wù)總線直接使用緩存中的數(shù)據(jù),從而實(shí)現(xiàn)服務(wù)的快速調(diào)用,避免了遠(yuǎn)程訪問(wèn)的性能開(kāi)銷(xiāo);(2)服務(wù)總線更新服務(wù)目錄緩存階段;服務(wù)目錄中的服務(wù)信息改動(dòng)后,服務(wù)總線需要更新緩存,該階段包括以下步驟21)服務(wù)管理人員通過(guò)服務(wù)目錄進(jìn)行服務(wù)管理;22)當(dāng)服務(wù)信息改動(dòng)后,如果服務(wù)的改動(dòng)需要立即生效,即需要立即通過(guò)所有的服務(wù)總線更新相應(yīng)的緩存,則服務(wù)目錄將調(diào)用服務(wù)總線的公共服務(wù)接口,通知服務(wù)總線;23)服務(wù)總線收到通知信息后,服務(wù)總線收到通知消息后,將自動(dòng)把其緩存內(nèi)保存的但已發(fā)生更新的服務(wù)數(shù)據(jù)置為失效;24)當(dāng)有客戶端請(qǐng)求需要調(diào)用這些服務(wù)時(shí),重復(fù)(1)階段中的第14)個(gè)步驟進(jìn)行緩存替換。
全文摘要
本發(fā)明公開(kāi)了一種SOA架構(gòu)下分布式多級(jí)服務(wù)總線服務(wù)調(diào)用的快速尋址方法,它包括服務(wù)總線建立服務(wù)目錄緩存階段和服務(wù)總線更新服務(wù)目錄緩存階段兩個(gè)階段。在服務(wù)總線里實(shí)現(xiàn)一個(gè)服務(wù)目錄的鏡像緩存,按需緩存服務(wù)調(diào)用所需的服務(wù)配置及路由等信息。每個(gè)服務(wù)在第一次被調(diào)用后,服務(wù)地址等信息將被緩存在本地的服務(wù)總線中,以后對(duì)該服務(wù)的調(diào)用都將使用緩存中所存儲(chǔ)的數(shù)據(jù)。當(dāng)服務(wù)目錄中服務(wù)信息改動(dòng)后,服務(wù)總線可以通過(guò)緩存失效替換異步取得更新的服務(wù)信息,或由服務(wù)目錄將信息的改動(dòng)即時(shí)通知服務(wù)總線以更新緩存信息。本發(fā)明服務(wù)尋址的性能高,服務(wù)調(diào)用的性能好。
文檔編號(hào)H04L12/28GK101207542SQ20071019152
公開(kāi)日2008年6月25日 申請(qǐng)日期2007年12月12日 優(yōu)先權(quán)日2007年12月12日
發(fā)明者丁一新, 張德進(jìn), 張明明 申請(qǐng)人:江蘇省電力公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1