述目標(biāo)服務(wù)器對應(yīng)的連接集合,所述連接集合中,包括至少一個預(yù)先建立的、用于實現(xiàn)所述第一設(shè)備與所述目標(biāo)服務(wù)器之間通信的連接。
[0039]本發(fā)明的一個關(guān)鍵之處是預(yù)先建立了至少一個用于實現(xiàn)所述第一設(shè)備與所述目標(biāo)服務(wù)器之間通信的連接,這樣就可以將連接過程與服務(wù)調(diào)用相分離,避免了連接建立的過程影響服務(wù)調(diào)用。由于本發(fā)明的技術(shù)方案是通過預(yù)先建立的連接來實現(xiàn)遠(yuǎn)程服務(wù)的調(diào)用,連接的建立過程并不是本發(fā)明的關(guān)鍵所在,因此對其并未作過多描述。需要說明的是,在實際應(yīng)用過程中,連接的建立可以由一個連接管理模塊來實現(xiàn),該連接管理模塊可以是位于第一設(shè)備中的遠(yuǎn)程服務(wù)調(diào)用裝置中的一個模塊,也可以是相對于遠(yuǎn)程服務(wù)調(diào)用裝置獨立的模塊,另外也可以是其它遠(yuǎn)程設(shè)備中的模塊,例如可以是位于目標(biāo)服務(wù)器中的連接建立模塊。
[0040]可以理解的,當(dāng)連接建立模塊位于第一服務(wù)器側(cè)時,對后續(xù)的判斷操作及獲取操作的響應(yīng)可能更加迅速,可以進一步的提高遠(yuǎn)程服務(wù)的調(diào)用效率;當(dāng)連接建立模塊位于其它遠(yuǎn)程設(shè)備中時,則能夠節(jié)省第一設(shè)備的工作壓力;具體采用哪種方式,可以由本領(lǐng)域技術(shù)人員根據(jù)實際情況來確定,本發(fā)明在此不作具體的限定。
[0041]用于實現(xiàn)所述第一設(shè)備與所述目標(biāo)服務(wù)器之間通信的連接的建立過程為現(xiàn)有技術(shù),可以采用相關(guān)技術(shù)方案來實現(xiàn),例如可以參考【背景技術(shù)】中所提及的進行遠(yuǎn)程服務(wù)調(diào)用時的建立連接的過程。本發(fā)明在此不作具體限定。
[0042]S103,判斷所述連接集合中,是否存在空閑連接。
[0043]S104,如果有,獲取所述連接集合中一個空閑連接的獨占使用權(quán)限,并將該空閑連接作為目標(biāo)連接,通過所述目標(biāo)連接向所述目標(biāo)服務(wù)器調(diào)用遠(yuǎn)程服務(wù)。
[0044]所說的空閑連接可以指其使用權(quán)限沒有被占用的連接。如果連接集合中有這樣的空閑連接,那么在獲取了該連接的獨占使用權(quán)限后,就可以通過該連接向所述目標(biāo)服務(wù)器調(diào)用遠(yuǎn)程服務(wù)。
[0045]上述的方法,在確定了待調(diào)用的遠(yuǎn)程服務(wù)所對應(yīng)的目標(biāo)服務(wù)器后,先確定目標(biāo)服務(wù)器對應(yīng)的連接集合,再獲取該連接集合中的預(yù)先建立的一個空閑連接的獨占使用權(quán)限,然后通過該連接向所述目標(biāo)服務(wù)器調(diào)用遠(yuǎn)程服務(wù)。與現(xiàn)有技術(shù)相比,在進行遠(yuǎn)程服務(wù)調(diào)用時,省去了與待調(diào)用的遠(yuǎn)程服務(wù)建立連接的步驟。同時也避免了由于在調(diào)用域名解析函數(shù)解析IP地址的過程中無法設(shè)置超時時間而導(dǎo)致的遠(yuǎn)程服務(wù)調(diào)用效率較低的問題。
[0046]在通過一個連接調(diào)用遠(yuǎn)程服務(wù)的過程中,該連接的使用權(quán)限是被獨占的。在遠(yuǎn)程服務(wù)調(diào)用結(jié)束后,如果再獨占連接的使用權(quán)限,使其它的服務(wù)調(diào)用無法獲取該連接的使用權(quán)限,就會對連接造成了浪費。為了使連接集合中的連接能夠被充分的利用,在圖1所示方法的基礎(chǔ)上,在本發(fā)明的一種優(yōu)選實施方式中,還可以增加一個釋放連接的機制;具體的,如圖2所示,該方法還可以包括:
[0047]S105,在所述通過所述目標(biāo)連接向所述目標(biāo)服務(wù)器調(diào)用遠(yuǎn)程服務(wù)后,將所述目標(biāo)連接的使用權(quán)限釋放,使所述目標(biāo)連接重新成為所述連接集合中的空閑連接。
[0048]連接被用完就釋放其使用權(quán)限,使其重新成為空閑連接,以方便其它的服務(wù)調(diào)用來獲取該連接的使用權(quán)限,這樣一個連接就可以被反復(fù)利用,大大減少了連接集合中的連接的數(shù)量。
[0049]在實際應(yīng)用中,如果連接集合中預(yù)先建立的連接的數(shù)量過少的話,必然會導(dǎo)致很多的服務(wù)調(diào)用無連接可用;如果預(yù)先建立的連接數(shù)量過多,則會造成浪費,大大增加相關(guān)設(shè)備的壓力。因此,為了避免上述問題的發(fā)生,在本發(fā)明上述各實施例的一種優(yōu)選實施方式中,所述連接集合中的連接的數(shù)量在預(yù)設(shè)的最大值和最小值之間。
[0050]所說的預(yù)設(shè)的最大值和預(yù)設(shè)的最小值是可以由本領(lǐng)域技術(shù)人員根據(jù)業(yè)務(wù)需要來確定,其具體值不能夠成對本發(fā)明技術(shù)方案的限制。
[0051]在連接數(shù)量預(yù)設(shè)有最大值和最小值的情況下,如果連接集合中沒有空閑連接,但是連接的數(shù)量還沒有達到預(yù)設(shè)的最大值,此時可以新建一個連接。具體的,在判斷所述連接集合中不存在空閑連接,且所述連接的數(shù)量小于預(yù)設(shè)的最大值的情況下,觸發(fā)建立用于實現(xiàn)所述第一設(shè)備與所述目標(biāo)服務(wù)器之間通信的新連接的操作。在實際應(yīng)用過程中,觸發(fā)建立用于實現(xiàn)所述第一設(shè)備與所述目標(biāo)服務(wù)器之間通信的新連接的操作,可以通過觸發(fā)連接建立模塊來實現(xiàn),如上所述,該連接建立模塊可以是上述方法的執(zhí)行主體,一種遠(yuǎn)程服務(wù)調(diào)用裝置中的一個模塊,也可以是其它遠(yuǎn)程設(shè)備中的模塊,例如可以是位于目標(biāo)服務(wù)器中的連接建立模塊。
[0052]這樣服務(wù)調(diào)用就可以獲取新建的連接。如果連接的數(shù)量已達到預(yù)設(shè)的最大值,月艮務(wù)調(diào)用就可以進入錯誤處理流程,執(zhí)行預(yù)設(shè)的其它操作。
[0053]在通過所述目標(biāo)連接調(diào)用遠(yuǎn)程服務(wù)的過程中,可能會出現(xiàn)連接異常的情況,例如網(wǎng)絡(luò)連接中斷等,在這種情況下,在圖1所示方法的基礎(chǔ)上,該方法還可以包括:
[0054]在通過所述目標(biāo)連接調(diào)用遠(yuǎn)程服務(wù)的過程中,如果連接異常,則對目標(biāo)連接添加異常標(biāo)識,并且將所述目標(biāo)連接的使用權(quán)限釋放;
[0055]然后重新執(zhí)行S103和S104,即判斷所述連接集合中,是否存在空閑連接;
[0056]如果有,獲取所述連接集合中一個空閑連接的獨占使用權(quán)限,并將該空閑連接作為目標(biāo)連接,通過所述目標(biāo)連接向所述目標(biāo)服務(wù)器調(diào)用遠(yuǎn)程服務(wù)。
[0057]添加異常標(biāo)識是為了確定該目標(biāo)連接有異常,使其不被繼續(xù)使用;同時,在將該目標(biāo)連接添加了異常標(biāo)識后,可以由其它的異常處理模塊對其進行相應(yīng)處理,使其重新成為可以使用的連接,然后重新將其加入到連接集合中。如果連接集合預(yù)設(shè)的了連接數(shù)量的最大值,則要在連接集合中的練級數(shù)量不超過預(yù)設(shè)的最大值的情況下,將處理后的連接加入到集合中。具體添加異常標(biāo)識的方法可以采用現(xiàn)有技術(shù)的相關(guān)技術(shù)方案來實現(xiàn),本發(fā)明在此不作具體限定。
[0058]相應(yīng)于上面如圖1所示的方法實施例,本發(fā)明還提供了一種遠(yuǎn)程服務(wù)調(diào)用裝置,應(yīng)用于第一設(shè)備,如圖3所示,該裝置可以包括:
[0059]目標(biāo)服務(wù)器確認(rèn)模塊101,用于獲得遠(yuǎn)程服務(wù)調(diào)用請求,根據(jù)所述請求,確定待調(diào)用的遠(yuǎn)程服務(wù)所對應(yīng)的目標(biāo)服務(wù)器;
[0060]連接集合確認(rèn)模塊102,用于確定與所述目標(biāo)服務(wù)器對應(yīng)的連接集合,所述連接集合中,包括至少一個預(yù)先建立的、用于實現(xiàn)所述第一設(shè)備與所述目標(biāo)服務(wù)器之間通信的連接;
[0061]空閑連接判斷模塊103,用于判斷所述連接集合中,是否存在空閑連接;
[0062]空閑連接獲取模塊104,用于在存在空閑連接的情況下,獲取所述連接集合中一個空閑連接的獨占使用權(quán)限,并將該空閑連接作為目標(biāo)連接,通過所述目標(biāo)連接向所述目標(biāo)服務(wù)器調(diào)用遠(yuǎn)程服務(wù)。
[0063]需要說明的是,對于用于建立連接的連接管理模塊,可以是如圖3所示的遠(yuǎn)程服務(wù)調(diào)用裝置中的一個模塊,也可以是相對于遠(yuǎn)程服務(wù)調(diào)用裝置獨立的模塊,另外也可以是其它遠(yuǎn)程設(shè)備中的模塊,例如可以是位于目標(biāo)服務(wù)器中的連接建立模塊。
[0064]上述的裝置,在確定了待調(diào)用的遠(yuǎn)程服務(wù)所對應(yīng)的目標(biāo)服務(wù)器后,先確定目標(biāo)服務(wù)器對應(yīng)的連接集合,再獲取該連接集合中的預(yù)先建立的一個空閑連接的獨占使用權(quán)限,然后通過該連接向所述目標(biāo)服務(wù)器調(diào)用遠(yuǎn)程服務(wù)。與現(xiàn)有技術(shù)相比,在進行遠(yuǎn)程服務(wù)調(diào)用時,省去了與待調(diào)用的遠(yuǎn)程服務(wù)建立連接的步驟。同時也避免了由于在調(diào)用域名解析函數(shù)解析IP地址的過程中無法設(shè)置超時時間而導(dǎo)致的遠(yuǎn)程服務(wù)調(diào)用效率較低的問題。
[0065]在本明的一種優(yōu)選實施方式中,圖3