一種遠(yuǎn)程服務(wù)調(diào)用方法及裝置的制造方法
【專利摘要】本申請公開了一種遠(yuǎn)程服務(wù)調(diào)用方法,包括:服務(wù)調(diào)用者向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,其中,所述服務(wù)調(diào)用指令包括所要調(diào)用的服務(wù)的服務(wù)標(biāo)識;檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài);當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。本申請?jiān)诎l(fā)起遠(yuǎn)程服務(wù)調(diào)用的同時(shí),自動檢測當(dāng)前遠(yuǎn)程服務(wù)器是否出現(xiàn)異常,并在出現(xiàn)異常時(shí)自動切換調(diào)用的遠(yuǎn)程服務(wù)器,解決了現(xiàn)有技術(shù)在遠(yuǎn)程服務(wù)調(diào)用過程中遠(yuǎn)程服務(wù)器出現(xiàn)異常情況下,當(dāng)前遠(yuǎn)程服務(wù)調(diào)用無法自行快速切換可以調(diào)用的遠(yuǎn)程服務(wù)器,造成執(zhí)行效率低下、用戶體驗(yàn)不佳的問題。本申請還公開了另一種遠(yuǎn)程服務(wù)調(diào)用方法、兩種遠(yuǎn)程服務(wù)調(diào)用裝置。
【專利說明】
_種遠(yuǎn)程服務(wù)調(diào)用方法及裝置
技術(shù)領(lǐng)域
[0001]本申請涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種遠(yuǎn)程服務(wù)調(diào)用方法及裝置。
【背景技術(shù)】
[0002]遠(yuǎn)程過程調(diào)用協(xié)議(Remote Procedure Call Protocol,RPC)是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議?;ヂ?lián)網(wǎng)應(yīng)用越來越多地滲透進(jìn)人們的日常生活中,特別是移動互聯(lián)網(wǎng)的發(fā)展形成了全民上網(wǎng)的大趨勢,人們的日常習(xí)慣正在改變,開始習(xí)慣于通過網(wǎng)絡(luò)方便地處理一些日常事務(wù),諸如購物、繳費(fèi)、瀏覽新聞資訊等等。不可避免地,用戶需要通過智能終端、電腦終端等與服務(wù)器進(jìn)行交互,調(diào)用位于服務(wù)器上的若干服務(wù)來完成事務(wù)的處理。
[0003]在遠(yuǎn)程服務(wù)調(diào)用過程中,無法杜絕遠(yuǎn)程服務(wù)器出現(xiàn)各種異常現(xiàn)象,如斷電、網(wǎng)絡(luò)斷開、提供服務(wù)的組件卸載、Java虛擬機(jī)掛掉,服務(wù)器重啟等。這些異?,F(xiàn)象將導(dǎo)致遠(yuǎn)程服務(wù)調(diào)用失敗,引起服務(wù)調(diào)用方業(yè)務(wù)異常,影響用戶體驗(yàn)效果。
【發(fā)明內(nèi)容】
[0004]本申請實(shí)施例提供一種遠(yuǎn)程服務(wù)服務(wù)調(diào)用方法及裝置,用以解決現(xiàn)有技術(shù)在遠(yuǎn)程服務(wù)調(diào)用過程中遠(yuǎn)程服務(wù)器出現(xiàn)異常情況下,當(dāng)前遠(yuǎn)程服務(wù)調(diào)用無法自行快速切換可以調(diào)用的遠(yuǎn)程服務(wù)器,造成執(zhí)行效率低下、用戶體驗(yàn)不佳的問題。
[0005]本申請實(shí)施例采用下述技術(shù)方案:
[0006]一種遠(yuǎn)程服務(wù)調(diào)用方法,包括:
[0007]服務(wù)調(diào)用者向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令;
[0008]檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài);
[0009]當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0010]一種遠(yuǎn)程服務(wù)調(diào)用方法,包括:
[0011]代理服務(wù)器接收服務(wù)調(diào)用者發(fā)出的服務(wù)調(diào)用請求;
[0012]向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令;
[0013]檢測所述遠(yuǎn)程服務(wù)器運(yùn)行狀態(tài);
[0014]當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0015]一種遠(yuǎn)程服務(wù)調(diào)用裝置,包括:
[0016]發(fā)送單元,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令;
[0017]檢測單元,用于檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài);
[0018]調(diào)用轉(zhuǎn)換單元,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0019]一種遠(yuǎn)程服務(wù)調(diào)用裝置,包括:
[0020]接收單元,用于接收服務(wù)調(diào)用者發(fā)出的服務(wù)調(diào)用請求;
[0021]發(fā)送單元,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令;
[0022]檢測單元,用于檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài);
[0023]調(diào)用轉(zhuǎn)換單元,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0024]本申請實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:
[0025]在服務(wù)集群應(yīng)用場景下,在發(fā)起遠(yuǎn)程服務(wù)調(diào)用的同時(shí),針對被調(diào)用的遠(yuǎn)程服務(wù)器進(jìn)行實(shí)時(shí)檢測,在當(dāng)前遠(yuǎn)程服務(wù)器出現(xiàn)異常情況時(shí),自動切換至擁有被調(diào)用服務(wù)的其他服務(wù)器直至返回遠(yuǎn)程調(diào)用結(jié)果,解決了現(xiàn)有技術(shù)在遠(yuǎn)程服務(wù)調(diào)用過程中遠(yuǎn)程服務(wù)器出現(xiàn)異常情況下,當(dāng)前遠(yuǎn)程服務(wù)調(diào)用無法自行快速切換可以調(diào)用的遠(yuǎn)程服務(wù)器,造成執(zhí)行效率低下、用戶體驗(yàn)不佳的問題。
【附圖說明】
[0026]此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
[0027]圖1為本申請實(shí)施例一提供的遠(yuǎn)程服務(wù)調(diào)用方法流程圖;
[0028]圖2為本申請實(shí)施例二提供的遠(yuǎn)程服務(wù)調(diào)用方法流程圖;
[0029]圖3為本申請實(shí)施例三提供的遠(yuǎn)程服務(wù)調(diào)用裝置結(jié)構(gòu)示意圖;
[0030]圖4為本申請實(shí)施例四提供的遠(yuǎn)程服務(wù)調(diào)用裝置結(jié)構(gòu)示意圖;
[0031]圖5為本申請實(shí)施例二提供的遠(yuǎn)程服務(wù)調(diào)用方法示意圖;
[0032]圖6為本申請?zhí)峁┑姆?wù)調(diào)用者直接遠(yuǎn)程服務(wù)調(diào)用系統(tǒng)結(jié)構(gòu)圖;
[0033]圖7為本申請?zhí)峁┑姆?wù)調(diào)用者通過代理服務(wù)器進(jìn)行遠(yuǎn)程服務(wù)調(diào)用的系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0034]為使本申請的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請具體實(shí)施例及相應(yīng)的附圖對本申請技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
[0035]以下結(jié)合附圖,詳細(xì)說明本申請各實(shí)施例提供的技術(shù)方案。
[0036]實(shí)施例1
[0037]圖1為本申請實(shí)施例一提供的遠(yuǎn)程服務(wù)調(diào)用方法流程,是指從服務(wù)調(diào)用者向遠(yuǎn)程服務(wù)器發(fā)起RPC調(diào)用過程中,當(dāng)所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),再由服務(wù)調(diào)用者向其他遠(yuǎn)程服務(wù)器發(fā)起調(diào)用的過程。包括如下步驟:
[0038]SlOl:服務(wù)調(diào)用者向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令。
[0039]所述服務(wù)調(diào)用者包括PC終端、手機(jī)終端等,所述遠(yuǎn)程服務(wù)器是指存儲或運(yùn)行有具體服務(wù)的服務(wù)器集合。
[0040]所述服務(wù)調(diào)用者上存有服務(wù)器列表,所述服務(wù)器列表建立了服務(wù)調(diào)用者需要調(diào)用服務(wù)的服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。
[0041]當(dāng)遠(yuǎn)程服務(wù)器上的服務(wù)出現(xiàn)修改時(shí),如新增服務(wù)、服務(wù)更新、服務(wù)卸載等,則服務(wù)調(diào)用者上的服務(wù)器列表需要進(jìn)行相應(yīng)的修改,其修改的規(guī)則如下:首先,當(dāng)遠(yuǎn)程服務(wù)器擁有的服務(wù)發(fā)生修改時(shí),會自動觸發(fā)修改指令給中心服務(wù)器;然后所述中心服務(wù)器依據(jù)所述修改指令修改中心服務(wù)器內(nèi)的服務(wù)器列表;最后,由所述中心服務(wù)器向服務(wù)調(diào)用者推送修改后的服務(wù)器列表。所述中心服務(wù)器上的服務(wù)器列表建立了系統(tǒng)內(nèi)所有遠(yuǎn)程服務(wù)器與各遠(yuǎn)程服務(wù)器擁有的服務(wù)之間的映射關(guān)系,具體表現(xiàn)為遠(yuǎn)程服務(wù)器地址與服務(wù)標(biāo)識之間的映射關(guān)系。所述觸發(fā)的修改指令包括服務(wù)器地址、服務(wù)標(biāo)識、修改標(biāo)識,所述修改標(biāo)識可表示為刪除、更新、新增等內(nèi)容。
[0042]本步驟中,當(dāng)所述服務(wù)調(diào)用者需要調(diào)用某服務(wù)時(shí),則依據(jù)該服務(wù)的服務(wù)標(biāo)識從本地的服務(wù)器列表中找到擁有該服務(wù)的所有遠(yuǎn)程服務(wù)器地址,然后,隨機(jī)選擇其中的一個(gè)遠(yuǎn)程服務(wù)器發(fā)出調(diào)用指令。
[0043]所述調(diào)用指令包括有服務(wù)調(diào)用者所要調(diào)用的服務(wù)的服務(wù)標(biāo)識。
[0044]S102:檢測所述遠(yuǎn)程服務(wù)器。
[0045]本步驟是指在服務(wù)調(diào)用者向選定的遠(yuǎn)程服務(wù)器發(fā)送調(diào)用指令時(shí),同時(shí)向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查,所述遠(yuǎn)程服務(wù)器接收到該心跳檢查信號時(shí),以心跳定時(shí)的方式向服務(wù)調(diào)用者發(fā)送回復(fù)信號,當(dāng)服務(wù)調(diào)用者接收到正?;貜?fù)信號時(shí),則認(rèn)為所述遠(yuǎn)程服務(wù)器處于正常狀態(tài),并持續(xù)對所述遠(yuǎn)程服務(wù)器進(jìn)行異常檢測。
[0046]當(dāng)所述遠(yuǎn)程服務(wù)器異常時(shí),如出現(xiàn)遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中等情況中任一項(xiàng)或多項(xiàng),則該遠(yuǎn)程服務(wù)器無法回復(fù)檢測信號、或直接回復(fù)異常信號給所述服務(wù)調(diào)用者。而所述服務(wù)調(diào)用者在預(yù)定時(shí)間內(nèi)沒有接收到遠(yuǎn)程服務(wù)器回復(fù)的檢測信號或者接收到來自遠(yuǎn)程服務(wù)器的異常檢測信號,則終止心跳檢查并進(jìn)入步驟S103。
[0047]當(dāng)所述服務(wù)調(diào)用者接收到來自所述遠(yuǎn)程服務(wù)器的服務(wù)調(diào)用結(jié)果時(shí),則終止心跳檢查并完成RPC調(diào)用。
[0048]S103:當(dāng)服務(wù)調(diào)用者檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0049]所述服務(wù)調(diào)用者檢測到當(dāng)前調(diào)用遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),首先終止本次RPC調(diào)用,并在本地的服務(wù)器列表中對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)識;隨后根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,重新查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器;最后隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并再次發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令并同時(shí)檢測該遠(yuǎn)程服務(wù)器的異常情況。
[0050]當(dāng)在步驟S103的遠(yuǎn)程服務(wù)調(diào)用過程中再次出現(xiàn)遠(yuǎn)程服務(wù)器異常的情況時(shí),則重復(fù)步驟S103直至該遠(yuǎn)程服務(wù)調(diào)用獲得調(diào)用結(jié)果為止。
[0051]本實(shí)施例的遠(yuǎn)程服務(wù)調(diào)用方法在服務(wù)器集群的應(yīng)用場景下,即同一服務(wù)位于若干不同的遠(yuǎn)程服務(wù)器上,通過心跳檢查的方式確認(rèn)當(dāng)前調(diào)用的遠(yuǎn)程服務(wù)器是否出現(xiàn)異常,異常情況下通過重新調(diào)用的其他遠(yuǎn)程服務(wù)器來完成當(dāng)前服務(wù),提升了執(zhí)行效率、使用戶體驗(yàn)效果更佳。
[0052]實(shí)施例2
[0053]圖2為本申請實(shí)施例二提供的遠(yuǎn)程服務(wù)調(diào)用方法流程,是指服務(wù)調(diào)用者向代理服務(wù)器發(fā)送服務(wù)調(diào)用請求,而代理服務(wù)器則向遠(yuǎn)程服務(wù)器發(fā)起RPC調(diào)用過程中,當(dāng)所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),再由代理服務(wù)器向其他遠(yuǎn)程服務(wù)器發(fā)起調(diào)用的過程。包括如下步驟:
[0054]S201:代理服務(wù)器接收服務(wù)調(diào)用者發(fā)出的服務(wù)調(diào)用請求。
[0055]所述代理服務(wù)器可以是一種提供遠(yuǎn)程服務(wù)調(diào)用代理的服務(wù)器、或者存在于服務(wù)調(diào)用者內(nèi)虛擬的服務(wù)代理,即服務(wù)使用者與所述代理服務(wù)器處于同一設(shè)備內(nèi)。所述服務(wù)調(diào)用者包括PC終端、手機(jī)終端等,所述遠(yuǎn)程服務(wù)器是指存儲或運(yùn)行有具體服務(wù)的服務(wù)器集合。
[0056]當(dāng)所述服務(wù)調(diào)用者需要調(diào)用某服務(wù)時(shí),則向所述代理服務(wù)器發(fā)送服務(wù)調(diào)用請求,所述服務(wù)調(diào)用請求包括有需要調(diào)用的服務(wù)的服務(wù)標(biāo)識。
[0057]S202:向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令。
[0058]所述代理服務(wù)器上存有服務(wù)器列表,所述服務(wù)器列表建立了服務(wù)調(diào)用者需要調(diào)用服務(wù)的服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。
[0059]當(dāng)遠(yuǎn)程服務(wù)器上的服務(wù)出現(xiàn)修改時(shí),如新增服務(wù)、服務(wù)更新、服務(wù)卸載等,則代理服務(wù)器上的服務(wù)器列表需要進(jìn)行相應(yīng)的修改,其修改的規(guī)則如下:首先,當(dāng)遠(yuǎn)程服務(wù)器擁有的服務(wù)發(fā)生修改時(shí),會自動觸發(fā)修改指令給中心服務(wù)器;然后所述中心服務(wù)器依據(jù)所述修改指令修改中心服務(wù)器內(nèi)的服務(wù)器列表;最后,由所述中心服務(wù)器向代理服務(wù)器推送修改后的服務(wù)器列表。所述中心服務(wù)器上的服務(wù)器列表建立了系統(tǒng)內(nèi)所有遠(yuǎn)程服務(wù)器與各遠(yuǎn)程服務(wù)器擁有的服務(wù)之間的映射關(guān)系,具體表現(xiàn)為遠(yuǎn)程服務(wù)器地址與服務(wù)標(biāo)識之間的映射關(guān)系。所述觸發(fā)的修改指令包括服務(wù)器地址、服務(wù)標(biāo)識、修改標(biāo)識,所述修改標(biāo)識可表示為刪除、更新、新增等內(nèi)容。
[0060]本步驟中,當(dāng)所述代理服務(wù)器接收到服務(wù)調(diào)用者發(fā)出的服務(wù)調(diào)用請求時(shí),則依據(jù)服務(wù)調(diào)用請求內(nèi)包含的服務(wù)標(biāo)識從本地的服務(wù)器列表中找到擁有該服務(wù)的所有遠(yuǎn)程服務(wù)器地址,然后,隨機(jī)選擇其中的一個(gè)遠(yuǎn)程服務(wù)器發(fā)出調(diào)用指令。
[0061 ] 所述調(diào)用指令包括有服務(wù)調(diào)用者所要調(diào)用的服務(wù)的服務(wù)標(biāo)識。
[0062]S203:檢測所述遠(yuǎn)程服務(wù)器。
[0063]本步驟是指在代理服務(wù)器向選定的遠(yuǎn)程服務(wù)器發(fā)送調(diào)用指令時(shí),同時(shí)向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查,所述遠(yuǎn)程服務(wù)器接收到該心跳檢查信號時(shí),以心跳定時(shí)的方式向服務(wù)調(diào)用者發(fā)送回復(fù)信號,當(dāng)服務(wù)調(diào)用者接收到正?;貜?fù)信號時(shí),則認(rèn)為所述遠(yuǎn)程服務(wù)器處于正常狀態(tài),并持續(xù)對所述遠(yuǎn)程服務(wù)器進(jìn)行異常檢測。
[0064]當(dāng)所述遠(yuǎn)程服務(wù)器異常時(shí),如出現(xiàn)遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中等情況中任一項(xiàng)或多項(xiàng),則該遠(yuǎn)程服務(wù)器無法回復(fù)檢測信號、或直接回復(fù)異常信號給所述代理服務(wù)器。而所述代理服務(wù)器在預(yù)定時(shí)間內(nèi)沒有接收到遠(yuǎn)程服務(wù)器回復(fù)的檢測信號或者接收到來自遠(yuǎn)程服務(wù)器的異常檢測信號,則終止心跳檢查并進(jìn)入步驟S204。
[0065]當(dāng)所述代理服務(wù)器接收到來自所述遠(yuǎn)程服務(wù)器的服務(wù)調(diào)用結(jié)果時(shí),則終止心跳檢查并完成RPC調(diào)用。
[0066]S204:代理服務(wù)器檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0067]所述代理服務(wù)器檢測到當(dāng)前調(diào)用遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),首先終止本次RPC調(diào)用,并在本地的服務(wù)器列表中對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)識;隨后根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,重新查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器;最后隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并再次發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令并同時(shí)檢測該遠(yuǎn)程服務(wù)器的異常情況。
[0068]當(dāng)在步驟S204的遠(yuǎn)程服務(wù)調(diào)用過程中如果再次出現(xiàn)遠(yuǎn)程服務(wù)器異常的情況時(shí),則重復(fù)步驟S204直至該遠(yuǎn)程服務(wù)調(diào)用獲得調(diào)用結(jié)果為止。
[0069]本實(shí)施例是在實(shí)施例一的基礎(chǔ)上,增加了一種代理技術(shù),使代理技術(shù)結(jié)合心跳檢測技術(shù)提供遠(yuǎn)程服務(wù)調(diào)用過程中的動態(tài)快速切換能力,為服務(wù)調(diào)用者提供服務(wù)集群的高可用性和高可靠性,使服務(wù)調(diào)用者在無需獲知遠(yuǎn)程服務(wù)器異常的情況下完成了遠(yuǎn)程服務(wù)的調(diào)用,用戶體驗(yàn)效果更佳。
[0070]圖5所示為實(shí)施例二在遠(yuǎn)程調(diào)用服務(wù)X的過程中,所述遠(yuǎn)程服務(wù)器A出現(xiàn)異常情況下的服務(wù)調(diào)用示意圖。在遠(yuǎn)程服務(wù)器A出現(xiàn)異常的情況下,改由調(diào)用遠(yuǎn)程服務(wù)器B內(nèi)的服務(wù)X來完成當(dāng)前服務(wù)的調(diào)用過程。
[0071]實(shí)施例3
[0072]圖3所示為實(shí)施例三提供的遠(yuǎn)程服務(wù)調(diào)用裝置結(jié)構(gòu)示意圖,具體包括:
[0073]發(fā)送單元301,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令;
[0074]檢測單元302,用于檢測所述遠(yuǎn)程服務(wù)器;
[0075]調(diào)用轉(zhuǎn)換單元303,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0076]所述遠(yuǎn)程服務(wù)器是指存儲或運(yùn)行有具體服務(wù)的服務(wù)器集合。
[0077]所述發(fā)送單元301依據(jù)當(dāng)前需要調(diào)用的服務(wù)的服務(wù)標(biāo)識查找服務(wù)器列表,從所述服務(wù)器列表中找到擁有該服務(wù)的所有遠(yuǎn)程服務(wù)器地址,然后,隨機(jī)選擇其中的一個(gè)遠(yuǎn)程服務(wù)器發(fā)出調(diào)用指令。所述調(diào)用指令包括有需要調(diào)用的服務(wù)的服務(wù)標(biāo)識。
[0078]所述服務(wù)器列表保存于服務(wù)調(diào)用者內(nèi),所述服務(wù)器列表建立了需要調(diào)用服務(wù)的服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。
[0079]本實(shí)施例的遠(yuǎn)程服務(wù)調(diào)用裝置還包括接收單元、及更新單元,當(dāng)遠(yuǎn)程服務(wù)器上的服務(wù)出現(xiàn)修改時(shí),如新增服務(wù)、服務(wù)更新、服務(wù)卸載等,則本地的服務(wù)器列表需要進(jìn)行相應(yīng)的修改,其修改的規(guī)則如下:首先,當(dāng)遠(yuǎn)程服務(wù)器擁有的服務(wù)發(fā)生修改時(shí),會自動觸發(fā)修改指令給中心服務(wù)器;然后所述中心服務(wù)器依據(jù)所述修改指令修改中心服務(wù)器內(nèi)的服務(wù)器列表;最后,由所述中心服務(wù)器向所述接收單元推送修改后的服務(wù)器列表,所述更新單元更新所述服務(wù)調(diào)用者本地的服務(wù)器列表。所述中心服務(wù)器上的服務(wù)器列表建立了系統(tǒng)內(nèi)所有遠(yuǎn)程服務(wù)器與各遠(yuǎn)程服務(wù)器擁有的服務(wù)之間的映射關(guān)系,具體表現(xiàn)為遠(yuǎn)程服務(wù)器地址與服務(wù)標(biāo)識之間的映射關(guān)系。所述觸發(fā)的修改指令包括服務(wù)器地址、服務(wù)標(biāo)識、修改標(biāo)識,所述修改標(biāo)識可表示為刪除、更新、新增等內(nèi)容。
[0080]所述檢測單元302在所述發(fā)送單元301發(fā)出調(diào)用指令時(shí),同時(shí)向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查,所述遠(yuǎn)程服務(wù)器接收到該心跳檢查信號時(shí),以心跳定時(shí)的方式向所述檢測單元302發(fā)送回復(fù)信號,當(dāng)所述檢測單元302接收到正常回復(fù)信號時(shí),則認(rèn)為所述遠(yuǎn)程服務(wù)器處于正常狀態(tài),并持續(xù)對所述遠(yuǎn)程服務(wù)器進(jìn)行異常檢測。
[0081]當(dāng)所述遠(yuǎn)程服務(wù)器異常時(shí),如出現(xiàn)遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中等情況中任一項(xiàng)或多項(xiàng),則該遠(yuǎn)程服務(wù)器無法回復(fù)檢測信號、或直接回復(fù)異常信號給所述檢測單元302。而所述檢測單元302在預(yù)定時(shí)間內(nèi)沒有接收到遠(yuǎn)程服務(wù)器回復(fù)的檢測信號或者接收到來自遠(yuǎn)程服務(wù)器的異常檢測信號,則終止心跳檢查。
[0082]當(dāng)所述檢測單元302檢測到本地接收到來自所述遠(yuǎn)程服務(wù)器的服務(wù)調(diào)用結(jié)果時(shí),則終止心跳檢查并完成RPC調(diào)用。
[0083]所述調(diào)用轉(zhuǎn)換單元303在所述檢測單元302檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),首先終止本次RPC調(diào)用,并在本地的服務(wù)器列表中對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)識;隨后根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,重新查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器;最后隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并再次發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令并同時(shí)由所述檢測單元302檢測該遠(yuǎn)程服務(wù)器的異常情況。
[0084]實(shí)施例4
[0085]圖4所示為實(shí)施例四提供的遠(yuǎn)程服務(wù)調(diào)用裝置結(jié)構(gòu)示意圖,具體包括:
[0086]接收單元401,用于接收來自服務(wù)調(diào)用者的服務(wù)調(diào)用請求;
[0087]發(fā)送單元402,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令;
[0088]檢測單元403,用于檢測所述遠(yuǎn)程服務(wù)器;
[0089]調(diào)用轉(zhuǎn)換單元404,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。
[0090]所述遠(yuǎn)程服務(wù)器是指存儲或運(yùn)行有具體服務(wù)的服務(wù)器集合。當(dāng)所述服務(wù)調(diào)用者需要調(diào)用某服務(wù)時(shí),則向所述接收單元401發(fā)送服務(wù)調(diào)用請求,所述服務(wù)調(diào)用請求包括有需要調(diào)用的服務(wù)的服務(wù)標(biāo)識。
[0091]所述發(fā)送單元402依據(jù)當(dāng)前需要調(diào)用的服務(wù)的服務(wù)標(biāo)識查找服務(wù)器列表,從所述服務(wù)器列表中找到擁有該服務(wù)的所有遠(yuǎn)程服務(wù)器地址,然后,隨機(jī)選擇其中的一個(gè)遠(yuǎn)程服務(wù)器發(fā)出調(diào)用指令。所述調(diào)用指令包括有需要調(diào)用的服務(wù)的服務(wù)標(biāo)識。
[0092]所述服務(wù)器列表保存于所述代理服務(wù)器內(nèi),所述服務(wù)器列表建立了需要調(diào)用服務(wù)的服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。
[0093]本實(shí)施例的遠(yuǎn)程服務(wù)調(diào)用裝置還包括更新單元,當(dāng)遠(yuǎn)程服務(wù)器上的服務(wù)出現(xiàn)修改時(shí),如新增服務(wù)、服務(wù)更新、服務(wù)卸載等,則本地的服務(wù)器列表需要進(jìn)行相應(yīng)的修改,其修改的規(guī)則如下:首先,當(dāng)遠(yuǎn)程服務(wù)器擁有的服務(wù)發(fā)生修改時(shí),會自動觸發(fā)修改指令給中心服務(wù)器;然后所述中心服務(wù)器依據(jù)所述修改指令修改中心服務(wù)器內(nèi)的服務(wù)器列表;最后,由所述中心服務(wù)器向所述接收單元推送修改后的服務(wù)器列表,同時(shí),所述更新單元依據(jù)所述修改后的服務(wù)器列表更新所述代理服務(wù)器內(nèi)的服務(wù)器列表。所述中心服務(wù)器上的服務(wù)器列表建立了系統(tǒng)內(nèi)所有遠(yuǎn)程服務(wù)器與各遠(yuǎn)程服務(wù)器擁有的服務(wù)之間的映射關(guān)系,具體表現(xiàn)為遠(yuǎn)程服務(wù)器地址與服務(wù)標(biāo)識之間的映射關(guān)系。所述觸發(fā)的修改指令包括服務(wù)器地址、服務(wù)標(biāo)識、修改標(biāo)識,所述修改標(biāo)識可表示為刪除、更新、新增等內(nèi)容。
[0094]所述檢測單元403在所述發(fā)送單元402發(fā)出調(diào)用指令時(shí),同時(shí)向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查,所述遠(yuǎn)程服務(wù)器接收到該心跳檢查信號時(shí),以心跳定時(shí)的方式向所述檢測單元403發(fā)送回復(fù)信號,當(dāng)所述檢測單元403接收到正常回復(fù)信號時(shí),則認(rèn)為所述遠(yuǎn)程服務(wù)器處于正常狀態(tài),并持續(xù)對所述遠(yuǎn)程服務(wù)器進(jìn)行異常檢測。
[0095]當(dāng)所述遠(yuǎn)程服務(wù)器異常時(shí),如出現(xiàn)遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中等情況中任一項(xiàng)或多項(xiàng),則該遠(yuǎn)程服務(wù)器無法回復(fù)檢測信號、或直接回復(fù)異常信號給所述檢測單元403。而所述檢測單元403在預(yù)定時(shí)間內(nèi)沒有接收到遠(yuǎn)程服務(wù)器回復(fù)的檢測信號或者接收到來自遠(yuǎn)程服務(wù)器的異常檢測信號,則終止心跳檢查。
[0096]當(dāng)所述檢測單元403檢測到本地接收到來自所述遠(yuǎn)程服務(wù)器的服務(wù)調(diào)用結(jié)果時(shí),則終止心跳檢查并完成RPC調(diào)用。
[0097]所述調(diào)用轉(zhuǎn)換單元404在所述檢測單元403檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),首先終止本次RPC調(diào)用,并在本地的服務(wù)器列表中對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)識;隨后根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,重新查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器;最后隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并再次發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令并同時(shí)由所述檢測單元403檢測該遠(yuǎn)程服務(wù)器的異常情況。
[0098]圖6、圖7所示為本申請的遠(yuǎn)程服務(wù)調(diào)用系統(tǒng)結(jié)構(gòu)圖,其中,圖6所示為服務(wù)調(diào)用者直接進(jìn)行遠(yuǎn)程服務(wù)調(diào)用的系統(tǒng)結(jié)構(gòu)圖,圖7所示為服務(wù)調(diào)用者通過代理服務(wù)器進(jìn)行遠(yuǎn)程服務(wù)調(diào)用的系統(tǒng)結(jié)構(gòu)圖。
[0099]如圖6所示,所述服務(wù)調(diào)用者包括PC終端、手機(jī)終端等,所述遠(yuǎn)程服務(wù)器是指存儲或運(yùn)行有具體服務(wù)的服務(wù)器集合。
[0100]所述服務(wù)調(diào)用者上存有服務(wù)器列表,所述服務(wù)器列表建立了服務(wù)調(diào)用者需要調(diào)用服務(wù)的服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。
[0101]當(dāng)所述服務(wù)調(diào)用者需要調(diào)用位于遠(yuǎn)程服務(wù)器內(nèi)的某一服務(wù)時(shí),則從本地服務(wù)器列表中隨機(jī)抽取存儲有該服務(wù)的一個(gè)遠(yuǎn)程服務(wù)器,并向該遠(yuǎn)程服務(wù)器發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令,同時(shí),所述服務(wù)調(diào)用者向該遠(yuǎn)程服務(wù)器發(fā)起心跳檢查,若在所述遠(yuǎn)程服務(wù)調(diào)用結(jié)果返回之前,服務(wù)調(diào)用者接收到所述遠(yuǎn)程服務(wù)器的異常回復(fù)信號,則再從本地服務(wù)器列表中抽取另一個(gè)存儲有所述服務(wù)的遠(yuǎn)程服務(wù)器發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令。
[0102]如圖7所示,所述代理服務(wù)器是指存在于所述服務(wù)調(diào)用者內(nèi)虛擬出來的一個(gè)代理,用于隔離服務(wù)調(diào)用者與遠(yuǎn)程服務(wù)器之間的交互,使用戶在不知情的情況下,完成遠(yuǎn)程服務(wù)調(diào)用過程中的異常處理,提升用戶體驗(yàn)。此時(shí),所述代理服務(wù)器需要先接收來自服務(wù)調(diào)用者的服務(wù)調(diào)用請求,然后由所述代理服務(wù)器承擔(dān)如圖6所述的后續(xù)遠(yuǎn)程服務(wù)調(diào)用等責(zé)任。
[0103]需要說明的是,實(shí)施例一、實(shí)施例二所提供方法的各步驟的執(zhí)行主體均可以是同一設(shè)備,或者,該方法也由不同設(shè)備作為執(zhí)行主體。
[0104]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0105]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0106]這些計(jì)算機(jī)程序指令也可存儲在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲器中,使得存儲在該計(jì)算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0107]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0108]在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
[0109]內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
[0110]計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲器(SRAM)、動態(tài)隨機(jī)存取存儲器(DRAM)、其他類型的隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計(jì)算設(shè)備訪問的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
[0111]還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
[0112]本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實(shí)施例可提供為方法、系統(tǒng)或計(jì)算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實(shí)施例、完全軟件實(shí)施例或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0113]以上所述僅為本申請的實(shí)施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種遠(yuǎn)程服務(wù)調(diào)用方法,其特征在于,包括: 服務(wù)調(diào)用者向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,其中,所述服務(wù)調(diào)用指令包括所要調(diào)用的服務(wù)的服務(wù)標(biāo)識; 檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài); 當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。2.如權(quán)利要求1所述的方法,其特征在于,向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,包括: 所述服務(wù)調(diào)用者根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)的遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的遠(yuǎn)程服務(wù)器,并向其發(fā)送所述服務(wù)調(diào)用指令。3.如權(quán)利要求2所述的方法,其特征在于,所述服務(wù)器列表中保存有服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。4.如權(quán)利要求2或3所述的方法,其特征在于,所述方法還包括: 接收來自中心服務(wù)器推送的更新后的服務(wù)器列表,所述更新后的服務(wù)器列表是中心服務(wù)器依據(jù)所述遠(yuǎn)程服務(wù)器發(fā)送的修改指令修改后的服務(wù)器列表; 根據(jù)所述更新后的服務(wù)器列表,更新所述服務(wù)調(diào)用者的服務(wù)器列表。5.如權(quán)利要求1所述的方法,其特征在于,檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài),包括: 向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查; 所述心跳檢查在檢測到異?;蚍?wù)調(diào)用者接收到調(diào)用結(jié)果時(shí)停止。6.如權(quán)利要求1或5所述的方法,其特征在于,所述異常包括遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中的任一項(xiàng)或多項(xiàng)。7.如權(quán)利要求2所述的方法,其特征在于,當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令,包括: 當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)記; 根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并向選擇的遠(yuǎn)程服務(wù)器發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令。8.—種遠(yuǎn)程服務(wù)調(diào)用方法,其特征在于,包括: 代理服務(wù)器接收服務(wù)調(diào)用者發(fā)出的服務(wù)調(diào)用請求; 向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,其中,所述服務(wù)調(diào)用指令包括所要調(diào)用的服務(wù)的服務(wù)標(biāo)識; 檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài); 當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。9.如權(quán)利要求7所述的方法,其特征在于,所述服務(wù)調(diào)用請求包括所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,包括: 根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)的遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的遠(yuǎn)程服務(wù)器,并向其發(fā)送所述服務(wù)調(diào)用指令。10.如權(quán)利要求9所述的方法,其特征在于,所述服務(wù)器列表中保存有服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。11.如權(quán)利要求9或10所述的方法,其特征在于,所述方法還包括: 所述代理服務(wù)器接收來自中心服務(wù)器推送的更新后的服務(wù)器列表,所述更新后的服務(wù)器列表是所述中心服務(wù)器依據(jù)所述遠(yuǎn)程服務(wù)器發(fā)送的修改指令修改后的服務(wù)器列表; 根據(jù)所述更新后的服務(wù)器列表,更新所述代理服務(wù)器內(nèi)的服務(wù)器列表。12.如權(quán)利要求8所述的方法,其特征在于,檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài),包括: 向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查; 所述心跳檢查在檢測到異?;蛩龃矸?wù)器接收到調(diào)用結(jié)果時(shí)停止。13.如權(quán)利要求8或12所述的方法,其特征在于,所述異常包括遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中的任一項(xiàng)或多項(xiàng)。14.如權(quán)利要求9所述的方法,其特征在于,當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令,包括: 當(dāng)檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)記; 根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并向選擇的遠(yuǎn)程服務(wù)器發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令。15.一種遠(yuǎn)程服務(wù)調(diào)用裝置,其特征在于,包括: 發(fā)送單元,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,其中,所述服務(wù)調(diào)用指令包括所要調(diào)用的服務(wù)的服務(wù)標(biāo)識; 檢測單元,用于檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài); 調(diào)用轉(zhuǎn)換單元,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。16.如權(quán)利要求15所述的裝置,其特征在于,所述發(fā)送單元,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,包括: 所述發(fā)送單元根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)的遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的遠(yuǎn)程服務(wù)器,并向其發(fā)送所述服務(wù)調(diào)用指令。17.如權(quán)利要求16所述的裝置,其特征在于,所述服務(wù)器列表中保存有服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。18.如權(quán)利要求16或17所述的裝置,其特征在于,所述裝置還包括: 接收單元,用于接收來自中心服務(wù)器推送的更新后的服務(wù)器列表,所述更新后的服務(wù)器列表是所述中心服務(wù)器依據(jù)所述遠(yuǎn)程服務(wù)器發(fā)送的修改指令修改后的服務(wù)器列表; 更新單元,用于根據(jù)所述更新后的服務(wù)器列表,更新所述代理服務(wù)器內(nèi)的服務(wù)器列表。19.如權(quán)利要求15所述的裝置,其特征在于,所述檢測單元,用于檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài),包括: 向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查; 所述檢測單元在檢測到異常或本地接收到遠(yuǎn)程服務(wù)調(diào)用結(jié)果時(shí)停止心跳檢查。20.如權(quán)利要求15或19所述的裝置,其特征在于,所述異常包括遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中的任一項(xiàng)或多項(xiàng)。21.如權(quán)利要求16所述的裝置,其特征在于,所述調(diào)用轉(zhuǎn)換單元,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令,包括: 當(dāng)所述檢測單元檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)記; 根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并向選擇的所述遠(yuǎn)程服務(wù)器發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令。22.—種遠(yuǎn)程服務(wù)調(diào)用裝置,其特征在于,包括: 接收單元,用于接收服務(wù)調(diào)用者發(fā)出的服務(wù)調(diào)用請求; 發(fā)送單元,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令; 檢測單元,用于檢測所述遠(yuǎn)程服務(wù)器; 調(diào)用轉(zhuǎn)換單元,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令。23.如權(quán)利要求22所述的裝置,其特征在于,所述服務(wù)調(diào)用請求包括所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,所述發(fā)送單元,用于向遠(yuǎn)程服務(wù)器發(fā)送服務(wù)調(diào)用指令,包括: 根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)的遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的遠(yuǎn)程服務(wù)器,并向其發(fā)送所述服務(wù)調(diào)用指令。24.如權(quán)利要求23所述的裝置,其特征在于,所述服務(wù)器列表中保存有服務(wù)標(biāo)識與遠(yuǎn)程服務(wù)器之間的映射關(guān)系,一個(gè)遠(yuǎn)程服務(wù)器對應(yīng)至少一個(gè)服務(wù)標(biāo)識,一個(gè)服務(wù)標(biāo)識也對應(yīng)至少一個(gè)遠(yuǎn)程服務(wù)器。25.如權(quán)利要求23或24所述的裝置,其特征在于,所述接收單元,還用于接收來自中心服務(wù)器推送的更新后的服務(wù)器列表,所述更新后的服務(wù)器列表是所述中心服務(wù)器依據(jù)所述遠(yuǎn)程服務(wù)器發(fā)送的修改指令修改后的服務(wù)器列表; 所述裝置還包括:更新單元,用于根據(jù)所述更新后的服務(wù)器列表,更新所述代理服務(wù)器內(nèi)的服務(wù)器列表。26.如權(quán)利要求22所述的裝置,其特征在于,所述檢測單元,用于檢測所述遠(yuǎn)程服務(wù)器的運(yùn)行狀態(tài),包括: 向所述遠(yuǎn)程服務(wù)器發(fā)起心跳檢查; 所述檢測單元在檢測到異?;虮镜亟邮盏竭h(yuǎn)程服務(wù)調(diào)用結(jié)果時(shí)停止心跳檢查。27.如權(quán)利要求22或26所述的裝置,其特征在于,所述異常包括遠(yuǎn)程服務(wù)器斷電、斷開網(wǎng)絡(luò)、重啟、提供服務(wù)的組件卸載中的任一項(xiàng)或多項(xiàng)。28.如權(quán)利要求23所述的裝置,其特征在于,所述調(diào)用轉(zhuǎn)換單元,用于在所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),向提供所述服務(wù)調(diào)用指令所要調(diào)用的服務(wù)的其他遠(yuǎn)程服務(wù)器發(fā)送所述服務(wù)調(diào)用指令,包括: 當(dāng)所述檢測單元檢測到所述遠(yuǎn)程服務(wù)器出現(xiàn)異常時(shí),對所述遠(yuǎn)程服務(wù)器進(jìn)行錯(cuò)誤標(biāo)記; 根據(jù)所要調(diào)用的服務(wù)的服務(wù)標(biāo)識,在保存的服務(wù)器列表中,查找到與所述服務(wù)標(biāo)識對應(yīng)、且不存在錯(cuò)誤標(biāo)記的其他遠(yuǎn)程服務(wù)器; 隨機(jī)選擇一個(gè)查找到的所述其他遠(yuǎn)程服務(wù)器,并向所述選擇的遠(yuǎn)程服務(wù)器發(fā)送遠(yuǎn)程服務(wù)調(diào)用指令。
【文檔編號】H04L29/08GK106034138SQ201510102380
【公開日】2016年10月19日
【申請日】2015年3月9日
【發(fā)明人】高士潔
【申請人】阿里巴巴集團(tuán)控股有限公司