終端中的瀏覽器應(yīng)用后,發(fā)起瀏覽網(wǎng)頁的請(qǐng)求可以作為服務(wù)請(qǐng)求發(fā)送給為網(wǎng)頁瀏覽應(yīng)用提供服務(wù)的調(diào)用服務(wù)器。
[0045]所述服務(wù)端應(yīng)用被安裝在調(diào)用服務(wù)器中,用于服務(wù)對(duì)應(yīng)的安裝在終端的終端應(yīng)用,所述服務(wù)端應(yīng)用可以提供諸如針對(duì)終端應(yīng)用的遠(yuǎn)程服務(wù)調(diào)用的服務(wù),例如為上述的瀏覽器應(yīng)用提供對(duì)瀏覽器應(yīng)用服務(wù)器的調(diào)用服務(wù)。
[0046]所述可用服務(wù)分組中記錄了多個(gè)可以為所述終端應(yīng)用提供服務(wù)的應(yīng)用服務(wù)器的標(biāo)識(shí)。所述的服務(wù)查詢組件可以預(yù)先通過10C( Invers1n of Control,控制反轉(zhuǎn))或其他方式注入/加載到所述服務(wù)端應(yīng)用中??梢酝ㄟ^配置文件或其他更高級(jí)的方式獲取可用服務(wù)器,并可以服務(wù)器的標(biāo)識(shí)記錄到所述可用服務(wù)分組中。調(diào)用服務(wù)器可以將該組件的可用服務(wù)分組的相關(guān)信息加載在進(jìn)程內(nèi)存空間中,在檢測(cè)到遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求后,即可快速地從服務(wù)查詢組件中的可用服務(wù)分組中選取目標(biāo)服務(wù)器標(biāo)識(shí)。
[0047]所述服務(wù)查詢組件中的可用服務(wù)分組包括一個(gè)或者多個(gè)可為發(fā)起所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求的終端應(yīng)用提供服務(wù)的可用服務(wù)器的標(biāo)識(shí),具體可以為可用服務(wù)器的IP地址、端口號(hào)等信息。所述選取的第一服務(wù)器標(biāo)識(shí)為可用的第一服務(wù)器的IP地址、端口號(hào)。
[0048]S102:根據(jù)接收到的服務(wù)請(qǐng)求生成遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求,并將所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求發(fā)送給所述目標(biāo)服務(wù)器標(biāo)識(shí)所指示的目標(biāo)服務(wù)器,以調(diào)用所述目標(biāo)服務(wù)器。
[0049]調(diào)用服務(wù)器在接收到服務(wù)請(qǐng)求后,會(huì)生成遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求以調(diào)用相關(guān)的應(yīng)用服務(wù)器為所述服務(wù)請(qǐng)求對(duì)應(yīng)的應(yīng)用提供服務(wù)。
[0050]根據(jù)選取的目標(biāo)服務(wù)器的IP地址和端口號(hào)信息,調(diào)用服務(wù)器將所生成的遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求發(fā)送給所述目標(biāo)服務(wù)器,觸發(fā)遠(yuǎn)程服務(wù)調(diào)用流程。
[0051 ] S103:若通過所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求成功調(diào)用所述目標(biāo)服務(wù)器,則通過所述目標(biāo)服務(wù)器為所述終端應(yīng)用提供服務(wù)。
[0052]在發(fā)送了調(diào)用請(qǐng)求后,若接收到所述目標(biāo)服務(wù)器響應(yīng)該調(diào)用請(qǐng)求返回的數(shù)據(jù),則確定遠(yuǎn)程服務(wù)調(diào)用完成,由所述目標(biāo)服務(wù)器提供所述終端應(yīng)用的后續(xù)服務(wù)。其中,在發(fā)送了調(diào)用請(qǐng)求后,可以檢測(cè)在限定的時(shí)間內(nèi)是否接收到表明調(diào)用成功的數(shù)據(jù),若是,則調(diào)用成功,否則,調(diào)用失敗。
[0053]具體如圖2所示,以語言通信應(yīng)用為例,用戶在圖2所示的用戶終端上點(diǎn)擊了語言通信應(yīng)用發(fā)起和某個(gè)用戶的語音通信時(shí),用戶終端基于該點(diǎn)擊操作以及對(duì)于的應(yīng)用,生成服務(wù)請(qǐng)求(語音通信請(qǐng)求)發(fā)送給所述調(diào)用服務(wù)器,所述調(diào)用服務(wù)器中安裝了用于為語音通信應(yīng)用提供調(diào)用服務(wù)器的服務(wù)端應(yīng)用(服務(wù)端語音通信應(yīng)用),在對(duì)加載在所述服務(wù)端應(yīng)用中的服務(wù)查詢組件的可用服務(wù)分組中選取目標(biāo)服務(wù)器標(biāo)識(shí),本實(shí)施例中選取了應(yīng)用服務(wù)器A的標(biāo)識(shí),所述調(diào)用服務(wù)器根據(jù)服務(wù)請(qǐng)求生成遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求發(fā)送給應(yīng)用服務(wù)器A,若成功調(diào)用到應(yīng)用服務(wù)器A,則由應(yīng)用服務(wù)器A為所述語音通信應(yīng)用提供語音數(shù)據(jù)處理、收發(fā)等服務(wù)。而如果未能成功調(diào)用到應(yīng)用服務(wù)器A,則可以在服務(wù)查詢組件的可用服務(wù)分組中重新選取目標(biāo)服務(wù)器標(biāo)識(shí),本實(shí)施了中例如重新選取了應(yīng)用服務(wù)器B,若成功調(diào)用到應(yīng)用服務(wù)器B,則由應(yīng)用服務(wù)器B為所述語音通信應(yīng)用提供語音數(shù)據(jù)處理、收發(fā)等服務(wù)。
[0054]本發(fā)明實(shí)施例可以根據(jù)預(yù)置的可用服務(wù)器標(biāo)識(shí)列表來發(fā)起對(duì)服務(wù)器的調(diào)用,較好地保證了遠(yuǎn)程調(diào)用服務(wù)的可用性。
[0055]再請(qǐng)參見圖3,是本發(fā)明實(shí)施例的另一種遠(yuǎn)程服務(wù)調(diào)用方法的流程示意圖,本發(fā)明實(shí)施例的所述方法可以由用于進(jìn)行遠(yuǎn)程服務(wù)調(diào)用的服務(wù)器來執(zhí)行。本發(fā)明實(shí)施例的所述方法包括如下步驟。
[0056]S201:在接收到終端應(yīng)用的服務(wù)請(qǐng)求時(shí),從在服務(wù)端應(yīng)用加載的服務(wù)查詢組件的可用服務(wù)分組中選取目標(biāo)服務(wù)器標(biāo)識(shí),所述服務(wù)端應(yīng)用用于為所述終端應(yīng)用提供調(diào)用服務(wù)。
[0057]具體的,從所述服務(wù)查詢組件的可用服務(wù)分組中選取目標(biāo)服務(wù)器標(biāo)識(shí)是基于預(yù)置的服務(wù)負(fù)載均衡策略進(jìn)行選取的。具體所使用的負(fù)載均衡算法有:輪詢調(diào)度,權(quán)重調(diào)度等。本申請(qǐng)并不對(duì)負(fù)載均衡策略進(jìn)行限制,根據(jù)實(shí)際需求選取一種合適的負(fù)載均衡算法即可。
[0058]S202:根據(jù)接收到的服務(wù)請(qǐng)求生成遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求,并將所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求發(fā)送給所述目標(biāo)服務(wù)器標(biāo)識(shí)所指示的目標(biāo)服務(wù)器,以調(diào)用所述目標(biāo)服務(wù)器。
[0059]S203:若通過所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求成功調(diào)用所述目標(biāo)服務(wù)器,則通過所述目標(biāo)服務(wù)器為所述終端應(yīng)用提供服務(wù)。
[0060]S204:若通過所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求對(duì)所述目標(biāo)服務(wù)器的調(diào)用失敗,則將所述目標(biāo)服務(wù)器標(biāo)識(shí)記錄到所述服務(wù)查詢組件中的不可用服務(wù)分組中。沒有連接到該目標(biāo)服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,則表明該目標(biāo)服務(wù)器不可用,將其更新到不可用服務(wù)分組中。
[0061]另外,若通過所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求對(duì)所述目標(biāo)服務(wù)器的調(diào)用失敗,本發(fā)明實(shí)施例的所述方法還可以包括:
[0062]再次從所述服務(wù)查詢組件中的可用服務(wù)分組中選取出新的目標(biāo)服務(wù)器標(biāo)識(shí);具體的,從所述服務(wù)查詢組件的可用服務(wù)分組中選取新的目標(biāo)服務(wù)器標(biāo)識(shí)是基于預(yù)置的服務(wù)負(fù)載均衡策略進(jìn)行選取的。根據(jù)接收到的服務(wù)請(qǐng)求生成遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求發(fā)送給所述新的目標(biāo)服務(wù)器標(biāo)識(shí)所指示的服務(wù)器,若通過所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求對(duì)新的目標(biāo)服務(wù)器的調(diào)用失敗,則重復(fù)執(zhí)行本步驟,直至選取出能夠調(diào)用成功的服務(wù)器。通過調(diào)用成功的服務(wù)器為所述終端應(yīng)用提供服務(wù)。
[0063]服務(wù)查詢組件中可以通過列表的形式存儲(chǔ)了可用服務(wù)分組和不可用服務(wù)分組,以方便在接收到遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求時(shí)能夠?qū)α斜磉M(jìn)行查詢。服務(wù)查詢組件中的可用服務(wù)分組和不可用服務(wù)分組可以在執(zhí)行上述S201至S204的任一步驟之前或之后進(jìn)行更新。
[0064]具體的,請(qǐng)參見圖4,是本發(fā)明的一種服務(wù)器標(biāo)識(shí)更新的實(shí)施例流程示意圖。本發(fā)明實(shí)施例的更新方式是從服務(wù)管理服務(wù)器中獲取相應(yīng)的可用和不可用服務(wù)器標(biāo)識(shí)。具體的,本發(fā)明實(shí)施例的服務(wù)器標(biāo)識(shí)更新方法包括以下步驟。
[0065]S301:從服務(wù)管理服務(wù)器中獲取可用服務(wù)器的服務(wù)器標(biāo)識(shí)和不可用服務(wù)器的服務(wù)器標(biāo)識(shí)。
[0066]服務(wù)管理服務(wù)器為第三方服務(wù)器,向發(fā)起所述遠(yuǎn)程服務(wù)調(diào)用請(qǐng)求的終端應(yīng)用提供服務(wù)的應(yīng)用服務(wù)器需要向所述服務(wù)管理服務(wù)器實(shí)時(shí)或定時(shí)上報(bào)注冊(cè)消息,該注冊(cè)消息用于表明對(duì)應(yīng)的發(fā)送注冊(cè)消息的服務(wù)器為可用的狀態(tài),如果服務(wù)管理服務(wù)器在一定的時(shí)間段內(nèi)沒有接收到某個(gè)應(yīng)用服務(wù)器的注冊(cè)消息,則可以確定該應(yīng)用服務(wù)器為不可用的狀態(tài)。
[0067]具體的,所述服務(wù)管理服務(wù)器根據(jù)對(duì)應(yīng)服務(wù)器上報(bào)的注冊(cè)消息確定出的服務(wù)器標(biāo)識(shí)。即服務(wù)管理服務(wù)器接收到的注冊(cè)消息,則將發(fā)送該注冊(cè)消息的應(yīng)用服務(wù)器作為可用服務(wù)器,將其IP地址、端口號(hào)等信息作為標(biāo)識(shí)記錄為可用服務(wù)器標(biāo)識(shí)。而如果以前在服務(wù)管理服務(wù)器中已注冊(cè)過,但在一段時(shí)間內(nèi)未能接收到新的注冊(cè)消息,則將對(duì)應(yīng)的應(yīng)用服務(wù)器記錄為不可用服務(wù)器。
[0068]進(jìn)一步可選地,所述服務(wù)管理服務(wù)器可以對(duì)為所述終端應(yīng)用提供服務(wù)的應(yīng)用服務(wù)器進(jìn)行可用性檢測(cè),根據(jù)檢測(cè)結(jié)果確定出可用服務(wù)器的服務(wù)器標(biāo)識(shí)。所述服務(wù)管理服務(wù)器的可用性檢測(cè)包括:定時(shí)向多個(gè)已知的應(yīng)用服務(wù)器發(fā)送消息(保活數(shù)據(jù)包),如果能夠正常發(fā)送消息且接收到應(yīng)用服務(wù)器的響應(yīng)消息,則認(rèn)為應(yīng)用服務(wù)器為可用,如果不能正常發(fā)送消息或不能接收到響應(yīng)消息,則認(rèn)為應(yīng)用服務(wù)器不可用。在可用性檢測(cè)結(jié)束后,根據(jù)檢測(cè)結(jié)果記錄可用服務(wù)器標(biāo)識(shí)和不可用服務(wù)器標(biāo)識(shí)。
[0069]S302:將獲取到的可用服務(wù)器標(biāo)識(shí)更新到所述服務(wù)查詢組件中的可用服務(wù)分組中。
[0070]S303:將獲取到的不可用服務(wù)器標(biāo)識(shí)更新到所述服務(wù)查詢組件中的不可用服務(wù)分組中。
[0071]需要說明的是,服務(wù)管理服務(wù)器可以單純地記錄可用服務(wù)器標(biāo)識(shí),為用戶終端的終端應(yīng)用提供服務(wù)的其他未被記錄的服務(wù)器則為不可用服務(wù)器,也就是說在更新服務(wù)查詢組件時(shí),僅更新可用服務(wù)分組內(nèi)的可用服務(wù)器標(biāo)識(shí)。服務(wù)查詢組件也可以僅更新可用服務(wù)分組。
[0072]通過第三方的管理服務(wù)器來完成可用服務(wù)器和不可用服務(wù)器的標(biāo)識(shí)更新可以較好地保證可用服務(wù)器和不可用服務(wù)器的標(biāo)識(shí)的完整性,且不會(huì)給客戶端