一種遠(yuǎn)程服務(wù)調(diào)用方法、裝置及服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及應(yīng)用服務(wù)處理領(lǐng)域,尤其涉及一種遠(yuǎn)程服務(wù)調(diào)用方法、裝置及服務(wù)器。
【背景技術(shù)】
[0002]對于大型互聯(lián)網(wǎng)級別的應(yīng)用,考慮到程序架構(gòu)上的可擴(kuò)展性,以及服務(wù)的可用性,分布式的應(yīng)用節(jié)點(diǎn)架構(gòu)以及集群技術(shù)都是至關(guān)重要必不可少的。分布式應(yīng)用在遠(yuǎn)程調(diào)用的過程中,都需要考慮遠(yuǎn)程服務(wù)的可用性問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例提供一種遠(yuǎn)程服務(wù)調(diào)用方法、裝置及服務(wù)器,可以實(shí)現(xiàn)遠(yuǎn)程調(diào)用服務(wù)的尚可用性。
[0004]第一方面,本發(fā)明實(shí)施例提供了一種遠(yuǎn)程服務(wù)調(diào)用方法,包括:
[0005]在檢測到服務(wù)端應(yīng)用的遠(yuǎn)程服務(wù)調(diào)用請求時(shí),從為所述服務(wù)端應(yīng)用加載的服務(wù)查詢組件中的可用服務(wù)分組中選取第一服務(wù)器標(biāo)識(shí);
[0006]發(fā)起到所述第一服務(wù)器標(biāo)識(shí)所指示服務(wù)器的連接操作,若連接至所述第一服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則確定遠(yuǎn)程服務(wù)調(diào)用完成;
[0007]若沒有連接至所述第一服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則再次從所述服務(wù)查詢組件中的可用服務(wù)分組中選取第二服務(wù)器標(biāo)識(shí);
[0008]發(fā)起到所述第二服務(wù)器標(biāo)識(shí)所指示的服務(wù)器的連接操作,若連接至所述第二服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則確定遠(yuǎn)程服務(wù)調(diào)用完成。
[0009]其中可選地,所述方法還包括:
[0010]若沒有連接至所述第一服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則將所述第一服務(wù)器標(biāo)識(shí)記錄到所述服務(wù)查詢組件中的不可用服務(wù)分組中。
[0011]其中可選地,所述方法還包括:
[0012]從服務(wù)管理服務(wù)器中獲取可用服務(wù)器的服務(wù)器標(biāo)識(shí),并將獲取到的服務(wù)器標(biāo)識(shí)更新到所述服務(wù)查詢組件中的可用服務(wù)分組中;和/或
[0013]從服務(wù)管理服務(wù)器中獲取不可用服務(wù)器的服務(wù)器標(biāo)識(shí),并將獲取到的服務(wù)器標(biāo)識(shí)更新到所述服務(wù)查詢組件中的不可用服務(wù)分組中。
[0014]其中可選地,所述從服務(wù)管理服務(wù)器中獲取的可用服務(wù)器的服務(wù)器標(biāo)識(shí)包括:所述服務(wù)管理服務(wù)器根據(jù)為所述服務(wù)端應(yīng)用提供服務(wù)的服務(wù)器上報(bào)的注冊消息確定出的服務(wù)器標(biāo)識(shí);和/或,所述服務(wù)管理服務(wù)器根據(jù)對為所述服務(wù)端應(yīng)用提供服務(wù)的服務(wù)器進(jìn)行可用性檢測的檢測結(jié)果確定出的可用服務(wù)器的服務(wù)器標(biāo)識(shí)。
[0015]其中可選地,所述方法還包括:
[0016]根據(jù)預(yù)置的更新間隔向?yàn)樗龇?wù)端應(yīng)用提供服務(wù)的服務(wù)器發(fā)送檢測消息,所述檢測消息用于檢測所述服務(wù)器是否可用;
[0017]如果接收到所述服務(wù)器根據(jù)所述檢測消息返回的響應(yīng)消息,則確定所述服務(wù)器為可用,更新所述可用服務(wù)分組中的服務(wù)器標(biāo)識(shí);
[0018]如果沒有接收到所述服務(wù)器根據(jù)所述檢測消息返回的響應(yīng)消息,則確定所述服務(wù)器不可用,更新所述不可用服務(wù)分組中的服務(wù)器標(biāo)識(shí)。
[0019]其中可選地,所述方法從所述服務(wù)查詢組件的可用服務(wù)分組中選取第一服務(wù)器標(biāo)識(shí)是基于預(yù)置的服務(wù)負(fù)載均衡策略進(jìn)行選取的;和/或,從所述服務(wù)查詢組件的可用服務(wù)分組中選取第二服務(wù)器標(biāo)識(shí)是基于預(yù)置的服務(wù)負(fù)載均衡策略進(jìn)行選取的。
[0020]第二方面,本發(fā)明實(shí)施例相應(yīng)地提供了一種遠(yuǎn)程服務(wù)調(diào)用裝置,包括:
[0021]選取模塊,用于在檢測到對服務(wù)端應(yīng)用的遠(yuǎn)程服務(wù)調(diào)用請求時(shí),從為所述服務(wù)端應(yīng)用加載的服務(wù)查詢組件中的可用服務(wù)分組中選取服務(wù)器標(biāo)識(shí);
[0022]處理模塊,用于在檢測到服務(wù)端應(yīng)用的遠(yuǎn)程服務(wù)調(diào)用請求時(shí),觸發(fā)所述選取模塊從所述可用服務(wù)分組中選取第一服務(wù)器標(biāo)識(shí),并發(fā)起到所述第一服務(wù)器標(biāo)識(shí)所指示服務(wù)器的連接操作,若連接至所述第一服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則確定遠(yuǎn)程服務(wù)調(diào)用完成;若沒有連接至所述第一服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則觸發(fā)所述選取模塊再次從所述服務(wù)查詢組件中的可用服務(wù)分組中選取第二服務(wù)器標(biāo)識(shí);發(fā)起到所述第二服務(wù)器標(biāo)識(shí)所指示的服務(wù)器的連接操作,若連接至所述第二服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則確定遠(yuǎn)程服務(wù)調(diào)用完成。
[0023]其中可選地,所述處理模塊,還用于若沒有連接至所述第一服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則將所述第一服務(wù)器標(biāo)識(shí)記錄到所述服務(wù)查詢組件中的不可用服務(wù)分組中。
[0024]其中可選地,所述裝置還包括:
[0025]第一更新模塊,用于從服務(wù)管理服務(wù)器中獲取可用服務(wù)器的服務(wù)器標(biāo)識(shí),并將獲取到的服務(wù)器標(biāo)識(shí)更新到所述服務(wù)查詢組件中的可用服務(wù)分組中;和/或,從服務(wù)管理服務(wù)器中獲取不可用服務(wù)器的服務(wù)器標(biāo)識(shí),并將獲取到的服務(wù)器標(biāo)識(shí)更新到所述服務(wù)查詢組件中的不可用服務(wù)分組中。
[0026]其中可選地,所述從服務(wù)管理服務(wù)器中獲取的可用服務(wù)器的服務(wù)器標(biāo)識(shí)包括:所述服務(wù)管理服務(wù)器根據(jù)為所述服務(wù)端應(yīng)用提供服務(wù)的服務(wù)器上報(bào)的注冊消息確定出的服務(wù)器標(biāo)識(shí);和/或,所述服務(wù)管理服務(wù)器根據(jù)對為所述服務(wù)端應(yīng)用提供服務(wù)的服務(wù)器進(jìn)行可用性檢測的檢測結(jié)果確定出的可用服務(wù)器的服務(wù)器標(biāo)識(shí)。
[0027]其中可選地,所述裝置還包括:
[0028]第二更新模塊,用于根據(jù)預(yù)置的更新間隔向?yàn)樗龇?wù)端應(yīng)用提供服務(wù)的服務(wù)器發(fā)送檢測消息,所述檢測消息用于檢測所述服務(wù)器是否可用;如果接收到所述服務(wù)器根據(jù)所述檢測消息返回的響應(yīng)消息,則確定所述服務(wù)器為可用,更新所述可用服務(wù)分組中的服務(wù)器標(biāo)識(shí);如果沒有接收到所述服務(wù)器根據(jù)所述檢測消息返回的響應(yīng)消息,則確定所述服務(wù)器不可用,更新所述不可用服務(wù)分組中的服務(wù)器標(biāo)識(shí)。
[0029]其中可選地,所述處理器,具體用于基于預(yù)置的服務(wù)負(fù)載均衡策略從所述服務(wù)查詢組件的可用服務(wù)分組中選取第一服務(wù)器標(biāo)識(shí);和/或,基于預(yù)置的服務(wù)負(fù)載均衡策略從所述服務(wù)查詢組件的可用服務(wù)分組中選取第二服務(wù)器標(biāo)識(shí)。
[0030]第三方面,本發(fā)明實(shí)施例相應(yīng)地提供了一種服務(wù)器,所述服務(wù)器包括上述提到的
目.ο
[0031]本發(fā)明實(shí)施例可以根據(jù)預(yù)置的可用服務(wù)器標(biāo)識(shí)列表來發(fā)起到服務(wù)器的連接,較好地保證了遠(yuǎn)程調(diào)用服務(wù)的可用性。
【附圖說明】
[0032]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0033]圖1是本發(fā)明實(shí)施例的一種遠(yuǎn)程服務(wù)調(diào)用方法的流程示意圖;
[0034]圖2是本發(fā)明實(shí)施例的一種遠(yuǎn)程服務(wù)調(diào)用系統(tǒng)的結(jié)構(gòu)示意圖;
[0035]圖3是本發(fā)明實(shí)施例的另一種遠(yuǎn)程服務(wù)調(diào)用方法的流程示意圖;
[0036]圖4是本發(fā)明的一種服務(wù)器標(biāo)識(shí)更新的實(shí)施例流程示意圖;
[0037]圖5是本發(fā)明實(shí)施例的另一種服務(wù)器標(biāo)識(shí)更新的實(shí)施例流程示意圖;
[0038]圖6是本發(fā)明實(shí)施例的一種遠(yuǎn)程服務(wù)調(diào)用裝置的結(jié)構(gòu)示意圖;
[0039]圖7是本發(fā)明實(shí)施例的另一種遠(yuǎn)程服務(wù)調(diào)用裝置的結(jié)構(gòu)示意圖;
[0040]圖8是本發(fā)明實(shí)施例的一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0041]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0042]請參見圖1,是本發(fā)明實(shí)施例的一種遠(yuǎn)程服務(wù)調(diào)用方法的流程示意圖,本發(fā)明實(shí)施例的所述方法可以由用于為終端應(yīng)用提供遠(yuǎn)程服務(wù)調(diào)用的調(diào)用服務(wù)器來執(zhí)行。本發(fā)明實(shí)施例的所述方法包括如下步驟。
[0043]SlOl:在接收到終端應(yīng)用的服務(wù)請求時(shí),從在服務(wù)端應(yīng)用加載的服務(wù)查詢組件的可用服務(wù)分組中選取目標(biāo)服務(wù)器標(biāo)識(shí),所述服務(wù)端應(yīng)用用于為所述終端應(yīng)用提供調(diào)用服務(wù)。
[0044]用戶在打開某個(gè)終端應(yīng)用需要網(wǎng)絡(luò)服務(wù)時(shí),由用戶終端生成所述服務(wù)請求并發(fā)送給所述調(diào)用服務(wù)器,例如,用戶打開