異步調(diào)用方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及通信技術(shù)領(lǐng)域,尤其涉及一種異步調(diào)用方法和裝置。
【背景技術(shù)】
[0002]伴隨智能手機(jī)發(fā)展,服務(wù)端的流量越來越大,服務(wù)端處理業(yè)務(wù)消耗的時間也越來越多,因此,服務(wù)端承受很大壓力。
[0003]相關(guān)技術(shù)中,客戶端與服務(wù)端可以基于超文本傳輸協(xié)議(Hypertext transferprotocol, http)協(xié)議進(jìn)行通信,http是請求應(yīng)答模式,當(dāng)客戶端與服務(wù)端建立三次握手連接后,客戶端對服務(wù)端發(fā)起一次請求,必須要等待服務(wù)端的應(yīng)答回來,才能發(fā)起第二次的http請求。在服務(wù)端未返回應(yīng)答之前,客戶端與服務(wù)端之間的連接資源需要一直保持。
[0004]如果服務(wù)端處理的業(yè)務(wù)非常耗時,那么連接資源會被服務(wù)端一直保持不被釋放,無疑會浪費(fèi)服務(wù)端資源,造成服務(wù)端吞吐量較低。
【發(fā)明內(nèi)容】
[0005]本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
[0006]為此,本申請的一個目的在于提出一種異步調(diào)用方法,該方法可以降低資源消耗,提高服務(wù)端吞吐量。
[0007]本申請的另一個目的在于提出一種異步調(diào)用裝置。
[0008]為達(dá)到上述目的,本申請第一方面實(shí)施例提出的異步調(diào)用方法,包括:服務(wù)端在與客戶端連接的通道上新建數(shù)據(jù)流,并通過所述數(shù)據(jù)流接收所述客戶端發(fā)送的調(diào)用請求;所述服務(wù)端接收到所述調(diào)用請求后,向所述客戶端發(fā)送與所述調(diào)用請求對應(yīng)的數(shù)據(jù)標(biāo)識信息,并釋放所述數(shù)據(jù)流占用的資源,其中,不同調(diào)用請求對應(yīng)的數(shù)據(jù)標(biāo)識信息不同,所述數(shù)據(jù)標(biāo)識信息使得所述客戶端對所述通道進(jìn)行監(jiān)聽以獲取所述數(shù)據(jù)標(biāo)識信息對應(yīng)的結(jié)果數(shù)據(jù);所述服務(wù)端對所述調(diào)用請求進(jìn)行處理,獲取結(jié)果數(shù)據(jù),并將所述結(jié)果數(shù)據(jù)通過所述通道推送給所述客戶端。
[0009]本申請第一方面實(shí)施例提出的異步調(diào)用方法,通過在分配數(shù)據(jù)標(biāo)識信息后,釋放數(shù)據(jù)流占用的資源,可以實(shí)現(xiàn)對服務(wù)端資源的及時釋放,避免一直保持造成的資源浪費(fèi),該釋放的資源可以用于為其他客戶端提供服務(wù),因此可以降低服務(wù)端資源浪費(fèi),提高服務(wù)端資源利用率,提升服務(wù)端吞吐量。
[0010]為達(dá)到上述目的,本申請第二方面實(shí)施例提出的異步調(diào)用方法,包括:在與服務(wù)端連接的通道上新建數(shù)據(jù)流,并通過所述數(shù)據(jù)流向所述服務(wù)端發(fā)送的調(diào)用請求;接收所述服務(wù)端對所述調(diào)用請求反饋的數(shù)據(jù)標(biāo)識信息,其中,所述服務(wù)端在向客戶端發(fā)送所述數(shù)據(jù)標(biāo)識信息后釋放所述數(shù)據(jù)流占用的資源;根據(jù)所述數(shù)據(jù)標(biāo)識信息在所述通道上進(jìn)行監(jiān)聽,并獲取所述服務(wù)端通過所述通道發(fā)送的對所述調(diào)用請求進(jìn)行處理后得到的結(jié)果數(shù)據(jù)。
[0011]本申請第二方面實(shí)施例提出的異步調(diào)用方法,通過在與服務(wù)端連接的通道上新建的數(shù)據(jù)流向服務(wù)端發(fā)送的調(diào)用請求,并根據(jù)接收到的數(shù)據(jù)標(biāo)識信息,其中,服務(wù)端在發(fā)送所述數(shù)據(jù)標(biāo)識信息后釋放所述數(shù)據(jù)流占用的資源,可以實(shí)現(xiàn)對服務(wù)端資源的及時釋放,避免一直保持造成的資源浪費(fèi),該釋放的資源可以用于為其他客戶端提供服務(wù),因此可以降低服務(wù)端資源浪費(fèi),提高服務(wù)端資源利用率,提升服務(wù)端吞吐量。
[0012]為達(dá)到上述目的,本申請第三方面實(shí)施例提出的異步調(diào)用裝置,包括:接收模塊,用于在與客戶端連接的通道上新建數(shù)據(jù)流,并通過所述數(shù)據(jù)流接收所述客戶端發(fā)送的調(diào)用請求;處理模塊,用于接收到所述調(diào)用請求后,向所述客戶端發(fā)送與所述調(diào)用請求對應(yīng)的數(shù)據(jù)標(biāo)識信息,并釋放所述數(shù)據(jù)流占用的資源,其中,不同調(diào)用請求對應(yīng)的數(shù)據(jù)標(biāo)識信息不同,所述數(shù)據(jù)標(biāo)識信息使得所述客戶端對所述通道進(jìn)行監(jiān)聽以獲取所述數(shù)據(jù)標(biāo)識信息對應(yīng)的結(jié)果數(shù)據(jù);獲取模塊,用于對所述調(diào)用請求進(jìn)行處理,獲取結(jié)果數(shù)據(jù),并將所述結(jié)果數(shù)據(jù)通過所述通道推送給所述客戶端。
[0013]本申請第三方面實(shí)施例提出的異步調(diào)用裝置,通過在分配數(shù)據(jù)標(biāo)識信息后,釋放數(shù)據(jù)流占用的資源,可以實(shí)現(xiàn)對服務(wù)端資源的及時釋放,避免一直保持造成的資源浪費(fèi),該釋放的資源可以用于為其他客戶端提供服務(wù),因此可以降低服務(wù)端資源浪費(fèi),提高服務(wù)端資源利用率,提升服務(wù)端吞吐量。
[0014]為達(dá)到上述目的,本申請第四方面實(shí)施例提出的異步調(diào)用裝置,包括:發(fā)送模塊,用于在與服務(wù)端連接的通道上新建數(shù)據(jù)流,并通過所述數(shù)據(jù)流向所述服務(wù)端發(fā)送的調(diào)用請求;接收模塊,用于接收所述服務(wù)端對所述調(diào)用請求反饋的數(shù)據(jù)標(biāo)識信息,其中,所述服務(wù)端在向客戶端發(fā)送所述數(shù)據(jù)標(biāo)識信息后釋放所述數(shù)據(jù)流占用的資源;獲取模塊,用于根據(jù)所述數(shù)據(jù)標(biāo)識信息在所述通道上進(jìn)行監(jiān)聽,并獲取所述服務(wù)端通過所述通道發(fā)送的對所述調(diào)用請求進(jìn)行處理后得到的結(jié)果數(shù)據(jù)。
[0015]本申請第四方面實(shí)施例提出的異步調(diào)用裝置,通過在與服務(wù)端連接的通道上新建的數(shù)據(jù)流向服務(wù)端發(fā)送的調(diào)用請求,并根據(jù)接收到的數(shù)據(jù)標(biāo)識信息,其中,服務(wù)端在發(fā)送所述數(shù)據(jù)標(biāo)識信息后釋放所述數(shù)據(jù)流占用的資源,可以實(shí)現(xiàn)對服務(wù)端資源的及時釋放,避免一直保持造成的資源浪費(fèi),該釋放的資源可以用于為其他客戶端提供服務(wù),因此可以降低服務(wù)端資源浪費(fèi),提高服務(wù)端資源利用率,提升服務(wù)端吞吐量。
[0016]本申請附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實(shí)踐了解到。
【附圖說明】
[0017]本申請上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
[0018]圖1是本申請一實(shí)施例提出的異步調(diào)用方法的流程示意圖;
[0019]圖2是本申請另一實(shí)施例提出的異步調(diào)用方法的流程示意圖;
[0020]圖3是本申請另一實(shí)施例提出的異步調(diào)用方法的流程示意圖;
[0021]圖4是本申請實(shí)施例中圖3對應(yīng)的系統(tǒng)結(jié)構(gòu)示意圖;
[0022]圖5是本申請實(shí)施例中http輪循過程示意圖;
[0023]圖6是本申請實(shí)施例中spdy調(diào)用過程示意圖;
[0024]圖7是本申請另一實(shí)施例提出的異步調(diào)用方法的流程示意圖;
[0025]圖8是本申請另一實(shí)施例提出的異步調(diào)用裝置的結(jié)構(gòu)示意圖;
[0026]圖9是本申請另一實(shí)施例提出的異步調(diào)用裝置的結(jié)構(gòu)示意圖;
[0027]圖10是本申請另一實(shí)施例提出的異步調(diào)用裝置的結(jié)構(gòu)示意圖;
[0028]圖11是本申請另一實(shí)施例提出的異步調(diào)用裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0029]下面詳細(xì)描述本申請的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。相反,本申請的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0030]圖1是本申請一實(shí)施例提出的異步調(diào)用方法的流程示意圖,該方法包括:
[0031]Sll:服務(wù)端在與客戶端連接的通道上新建數(shù)據(jù)流,并通過所述數(shù)據(jù)流接收所述客戶端發(fā)送的調(diào)用請求。
[0032]服務(wù)端與客戶端連接的通道可以是spdy通道或者HTTP協(xié)議通道或者基于tcp/ip的套接字(socket)長連通道。其中,spdy是Google開發(fā)的基于傳輸控制協(xié)議(Transmiss1n Control Protocol, TCP)的應(yīng)用層協(xié)議。
[0033]數(shù)據(jù)流(stream)是一種虛擬通道,該虛擬通道位于服務(wù)端與客戶端連接的通道內(nèi),該數(shù)據(jù)流可以傳輸調(diào)用請求。具體的,數(shù)據(jù)流可以是雙向字節(jié)流,每個調(diào)用請求用一個數(shù)據(jù)流傳輸,不同調(diào)用請求用不同數(shù)據(jù)流傳輸,數(shù)據(jù)流可以在服務(wù)端與客戶端連接的通道中并行傳輸調(diào)用請求。
[0034]調(diào)用請求可以是指定的應(yīng)用程序編程接口(Applicat1n ProgrammingInterface, api)的調(diào)用請求,例如電子商務(wù)系統(tǒng)中實(shí)現(xiàn)下單的業(yè)務(wù)操作的api。
[0035]S12:所述服務(wù)端接收到所述調(diào)用請求后,向所述客戶端發(fā)送與所述調(diào)用請求對應(yīng)的數(shù)據(jù)標(biāo)識信息,并釋放所述數(shù)據(jù)流占用的資源。
[0036]其中,不同調(diào)用請求對應(yīng)的數(shù)據(jù)標(biāo)識信息不同。所述客戶端可以根據(jù)所述數(shù)據(jù)標(biāo)識信息對所述通道進(jìn)行監(jiān)聽以獲取所述數(shù)據(jù)標(biāo)識信息對應(yīng)的結(jié)果數(shù)據(jù)。
[0037]其中,每個調(diào)用請求對應(yīng)唯一的數(shù)據(jù)標(biāo)識信息,相應(yīng)的,調(diào)用請求對應(yīng)的結(jié)果數(shù)據(jù)與該調(diào)用請求對應(yīng)相同的一個數(shù)據(jù)標(biāo)識信息。通過數(shù)據(jù)標(biāo)識信息,客戶端可以監(jiān)聽到其發(fā)送的調(diào)用請求對應(yīng)的結(jié)果數(shù)據(jù)。
[0038]相關(guān)技術(shù)中,在服務(wù)端向客戶端返回結(jié)果之前,數(shù)據(jù)流占用的資源是一直被保持的,這種方式會浪費(fèi)服務(wù)端資源,降低服務(wù)端吞吐量。
[0039]而本實(shí)施例中,服務(wù)端向客戶端返回?cái)?shù)據(jù)標(biāo)識信息后,就釋放用于傳輸客戶端發(fā)送的調(diào)用請求的數(shù)據(jù)流占用的資源而不是一直保持,釋放的資源可以用于為其他客戶端提供服務(wù),因