消息處理方法、資源獲取方法、服務器及終端設備的制造方法
【專利摘要】本發明實施例提供一種消息處理方法、資源獲取方法、服務器及終端設備。本發明提供的消息處理方法,包括:服務器接收終端設備發送的第一消息請求,第一消息請求用于指示服務器對其指定的資源進行處理;服務器向終端設備返回第一消息響應,第一消息響應用于向終端設備指示已接收到第一消息請求;服務器對第一消息請求所指定的資源進行處理,生成第一處理結果。本發明實施例解決了現有技術中由于服務器對指示處理資源的HTTP請求進行處理需要一定的時間,而導致每個HTTP請求在服務器中長時間占用資源的情況,造成了服務器中資源消耗較大的問題。
【專利說明】
消息處理方法、資源獲取方法、服務器及終端設備
技術領域
[0001]本發明實施例涉及通信技術,尤其涉及一種消息處理方法、資源獲取方法、服務器及終端設備。
【背景技術】
[0002]超文本傳輸協議(Hyper Text Transfer Protocol,簡稱為:HTTP)為互聯網中應用最為廣泛的網絡協議,該HTTP為客戶端/服務器端(Client/Server,簡稱為:C/S)和瀏覽器/服務器端(Browser/Server,簡稱為:B/S)網絡模式的消息請求和消息響應標準。客戶端通過HTTP向服務器端所請求的資源由統一資源標識符(Uniform ResourceIdentifiers,簡稱為:URI)來標識。
[0003]基于表述性狀態傳遞(Representat1nal State Transfer,簡稱為:REST)的互聯網(Web)應用程序,RESTful,遵循HTTP中定義的協議規范,可以將Web所提供的服務作為資源。其中,用于從服務器端獲取資源的HTTP請求中包括資源獲取(GET)指令,用于指示服務器端處理資源的HTTP請求中包括資源創建(POST)指令、資源更新(HJT)指令或者資源刪除(DELETE)指令。通常,客戶端發起指示服務器處理資源的HTTP請求時,服務器端直到處理完成該HTTP請求所指定的資源,才會通過與HTTP GET對應的HTTP響應將處理結果返回給客戶端。由于服務器對指示處理資源的HTTP請求進行處理需要一定的時間,這樣,導致每個HTTP請求在服務器端長時間占用資源的情況,造成資源消耗較大的問題。
【發明內容】
[0004]本發明實施例提供一種消息處理方法、資源獲取方法、服務器及終端設備,以解決現有技術中由于服務器對指示處理資源的HTTP請求進行處理需要一定的時間,而導致每個HTTP請求在服務器中長時間占用資源的情況,造成了服務器中資源消耗較大的問題。
[0005]第一方面,本發明實施例提供一種消息處理方法,包括:
[0006]服務器接收終端設備發送的第一消息請求,所述第一消息請求用于指示所述服務器對其指定的資源進行處理;
[0007]所述服務器向所述終端設備返回第一消息響應,所述第一消息響應用于向所述終端設備指示已接收到所述第一消息請求;
[0008]所述服務器對所述第一消息請求所指定的資源進行處理,生成第一處理結果。
[0009]在第一方面的第一種可能的實現方式中,所述服務器接收終端設備發送的第一消息請求之后,還包括:
[0010]所述服務器接收所述終端設備發送的第二消息請求,所述第二消息請求用于指示所述服務器對其指定的資源進行處理;
[0011]所述服務器向所述終端設備返回第二消息響應,所述第二消息響應用于向所述終端設備指示已接收到所述第二消息請求;
[0012]所述服務器對所述第二消息請求所指定的資源進行處理,生成第二處理結果。
[0013]根據第一方面的第一種可能的實現方式,在第二種可能的實現方式中,還包括:
[0014]所述服務器接收終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識;
[0015]當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果和所述第二處理結果進行合并處理,并攜帶在所述消息獲取請求對應的消息獲取響應中發送給所述終端設備;或者,
[0016]當所述合并標識指示不合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果攜帶在第一消息獲取響應中,將所述第二處理結果攜帶在第二消息獲取響應中發送給所述終端設備。
[0017]在第一方面的第三種可能的實現方式中,還包括:
[0018]所述服務器接收所述終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識;
[0019]當所述合并標識指示拆分發送所述第一處理結果時,將所述第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給所述終端設備。
[0020]第二方面,本發明實施例提供一種資源獲取方法,包括:
[0021]終端設備向服務器發送第一消息請求,以使所述服務器對所述第一消息請求所指定的資源進行處理;
[0022]所述終端設備接收所述服務器返回的第一消息響應,所述第一消息響應用于向所述終端設備指示所述服務器已接收到所述第一消息請求;
[0023]所述終端設備接收所述服務器發送的第一處理結果,其中,所述第一處理結果為所述服務器對所述第一消息請求所指定的資源進行處理所生成的。
[0024]在第二方面的第一種可能的實現方式中,所述終端設備向服務器發送第一消息請求之后,還包括:
[0025]所述終端設備向所述服務器發送第二消息請求,以使所述服務器對所述第二消息請求所指定的資源進行處理;
[0026]所述終端設備接收所述服務器返回的第二消息響應,所述第二消息響應用于向所述終端設備指示所述服務器已接收到所述第二消息請求;
[0027]所述終端設備接收所述服務器發送的第二處理結果,其中,所述第二處理結果為所述服務器對所述第二消息請求所指定的資源進行處理所生成的。
[0028]根據第二方面的第一種可能的實現方式,在第二種可能的實現方式中,還包括:
[0029]所述終端設備向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識;
[0030]當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,所述終端設備接收到所述服務器發送的攜帶有所述第一處理結果和所述第二處理結果的消息獲取響應;或者,
[0031]當所述合并標識指示不合并發送所述第一處理結果和所述第二處理結果時,所述終端設備接收到所述服務器發送的攜帶有所述第一處理結果的第一消息獲取響應和攜帶有所述第二處理結果的第二消息獲取響應。
[0032]在第二方面的第三種可能的實現方式中,還包括:
[0033]所述終端設備向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識,所述合并標識指示拆分發送所述第一處理結果;
[0034]所述終端設備接收所述服務器發送的多個消息獲取響應,所述多個消息獲取響應中一一對應的攜帶有所述處理器對所述第一處理結果拆分的多個部分。
[0035]第三方面,本發明實施例提供一種服務器,包括:
[0036]接收模塊,用于接收終端設備發送的第一消息請求,所述第一消息請求用于指示所述服務器對其指定的資源進行處理;
[0037]發送模塊,用于向所述終端設備返回第一消息響應,所述第一消息響應用于向所述終端設備指示所述接收模塊已接收到所述第一消息請求;
[0038]處理模塊,用于對所述接收模塊接收的第一消息請求所指定的資源進行處理,生成第一處理結果。
[0039]在第三方面的第一種可能的實現方式中,所述接收模塊,還用于在接收到所述終端設備發送的第一消息請求之后,接收所述終端設備發送的第二消息請求,所述第二消息請求用于指示所述服務器對其指定的資源進行處理;
[0040]所述發送模塊,還用于向所述終端設備返回第二消息響應,所述第二消息響應用于向所述終端設備指示所述接收模塊已接收到所述第二消息請求;
[0041]所述處理模塊,還用于對所述接收模塊接收的所述第二消息請求所指定的資源進行處理,生成第二處理結果。
[0042]根據第三方面的第一種可能的實現方式,在第二種可能的實現方式中,所述接收模塊,還用于接收所述終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識;
[0043]則所述發送模塊,還用于當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果和所述第二處理結果進行合并處理,并攜帶在所述消息獲取請求對應的消息獲取響應中發送給所述終端設備;或者,當所述合并標識指示不合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果攜帶在第一消息獲取響應中,將所述第二處理結果攜帶在第二消息獲取響應中發送給所述終端設備。
[0044]在第三方面的第三種可能的實現方式中,所述接收模塊,還用于接收所述終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識;則所述發送模塊,還用于當所述合并標識指示拆分發送所述第一處理結果時,將所述第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給所述終端設備。
[0045]第四方面,本發明實施例提供一種終端設備,包括:
[0046]發送模塊,用于向服務器發送第一消息請求,以使所述服務器對所述第一消息請求所指定的資源進行處理;
[0047]接收模塊,用于接收所述服務器返回的第一消息響應,所述第一消息響應用于向所述終端設備指示所述服務器已接收到所述發送模塊發送的第一消息請求;
[0048]所述接收模塊,還用于接收所述服務器發送的第一處理結果,其中,所述第一處理結果為所述服務器對所述第一消息請求所指定的資源進行處理所生成的。
[0049]在第四方面的第一種可能的實現方式中,所述發送模塊,還用于在向服務器發送第一消息請求之后,向所述服務器發送第二消息請求,以使所述服務器對所述第二消息請求所指定的資源進行處理;
[0050]所述接收模塊,還用于接收所述服務器返回的第二消息響應,所述第二消息響應用于向所述終端設備指示所述服務器已接收到所述發送模塊發送的第二消息請求;
[0051]所述接收模塊,還用于接收所述服務器發送的第二處理結果,其中,所述第二處理結果為所述服務器對所述第二消息請求所指定的資源進行處理所生成的。
[0052]根據第四方面的第一種可能的實現方式,在第二種可能的實現方式中,所述發送模塊,還用于向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識;
[0053]則所述接收模塊用于接收所述服務器發送的第一處理結果和第二處理結果,具體包括:當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,接收到所述服務器發送的攜帶有所述第一處理結果和所述第二處理結果的消息獲取響應;或者,當所述合并信息指示不合并發送所述第一處理結果和所述第二處理結果時,接收到所述服務器發送的攜帶有所述第一處理結果的第一消息獲取響應和攜帶有所述第二處理結果的第二消息獲取響應。
[0054]在第四方面的第三種可能的實現方式中,所述發送模塊,還用于向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識,所述合并標識指示拆分發送所述第一處理結果;則所述接收模塊,還用于接收所述服務器發送的多個消息獲取響應,所述多個消息獲取響應中一一對應的攜帶有所述處理器對所述第一處理結果拆分的多個部分。
[0055]本發明實施例所提供的消息處理方法、資源獲取方法、服務器及終端設備,通過服務器在接收到終端設備發送的用于指示服務器對其指定的資源進行處理的第一消息請求后,即時向發送該第一消息請求的終端設備返回第一消息響應,該第一消息響應僅用于向終端設備指示已接收到其發送的第一消息請求,隨后服務器對該第一消息請求所指定的資源進行處理生成第一處理結果,本實施例提供的消息處理方法,解決了現有技術中由于服務器對指示處理資源的HTTP請求所指定的資源需要一定的處理時間,而導致每個HTTP請求在服務器中長時間占用資源的情況,造成了服務器中資源消耗較大的問題。
【附圖說明】
[0056]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0057]圖1為本發明實施例提供的一種消息處理方法的流程圖;
[0058]圖2為本發明實施例提供的另一種消息處理方法的流程圖;
[0059]圖3為本發明實施例提供的又一種消息處理方法的流程圖;
[0060]圖4為本發明實施例提供的一種資源獲取方法的流程圖;
[0061]圖5為本發明實施例提供的另一種資源獲取方法的流程圖;
[0062]圖6為本發明實施例所提供的一種消息處理方法的信令交互流程圖;
[0063]圖7為本發明實施例所提供的一種服務器的結構示意圖;
[0064]圖8為本發明實施例所提供的一種終端設備的結構示意圖;
[0065]圖9為本發明實施例所提供的另一種服務器的結構示意圖;
[0066]圖10為本發明實施例所提供的另一種終端設備的結構示意圖。
【具體實施方式】
[0067]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0068]HTTP為C/S或B/S網絡模式的消息請求和消息響應的標準協議。客戶端是終端設備,可以為有線終端、或無線終端,例如為個人計算機(Personal Computer,簡稱為:PC),手機,平板電腦或者個人數字助理(Personal Digital Assistant,簡稱為:PDA)中的一個或多個,服務器端是網站,例如Web服務器。客戶端通過使用Web瀏覽器、網絡爬蟲或者其它的工具,發起一個到服務器上指定端口,通常為默認端口 80的HTTP請求;服務器上存儲著一些資源,比如超級文本標記語言(HyperText Markup LanguageJI^ISiHTML)文件和圖像,可以對HTTP請求中所請求的內容進行處理,通常為對服務器中資源操作。在終端設備和服務器中間可能存在多個中間層,例如代理,網關,或者隧道。
[0069]例如,HTTP 1.1中定義了八種指令以實現對資源的八種處理,對本發明中HTTP請求所攜帶的其中4種指令具體說明如下:
[0070]UGET:向指定的資源發出“顯示”請求。使用GET方法應該只用在讀取數據,而不應當被用于產生“副作用”的操作中,例如在網絡應用程序(Web Applicat1n)中不適用該GET指令;其中一個原因是GET可能會被網絡蜘蛛等隨意訪問。
[0071]2、POST:向指定資源提交數據,請求服務器進行增添新的數據(例如提交表單或者上傳文件),該增添的數據被包含在請求本文中,該請求可能會創建新的資源或修改現有資源,或二者皆有。
[0072]3、PUT:向指定資源位置上傳其最新內容,及對現有的資源進行修改。
[0073]4、DELETE:請求服務器刪除請求的URI中所標識的資源。
[0074]當某個請求所針對的資源不支持對應的請求方式的時候,服務器應當返回狀態碼405(指示Method Not Allowed),當服務器不認識或者不支持對應的請求方式的時候,應當返回狀態碼501 (指示Not Implemented)。
[0075]HTTP服務器至少應該實現GET指令和資源獲取(HEAD)指令對資源的處理,其他指令都是可選的,其中,通過HEAD指令獲取指定資源時,服務器不傳回資源的文本部分。當然,所有的處理方式支持的實現都應當符合其所屬處理方式各自的執行定義。另外,除了上述處理方式外,特定的HTTP服務器還可以擴展有自定義的處理方式。
[0076]HTTP協議的具體應用中,例如,基于REST的Web應用,即RESTful,遵循HTTP 1.1協議,由客戶端向服務器端發起HTTP請求,從而服務器端根據接收到的HTTP請求向客戶端返回與其對應的HTTP響應。具體地,C/S的網絡系統中的服務器端例如可以為的一臺服務器,該服務器可以管理多個終端設備,該多個終端設備即為與該服務器對應的客戶端,該服務器可以處理多個終端設備發送的HTTP請求,并且分別向發送HTTP請求的終端設備返回響應的HTTP響應。
[0077]下面以具體地實施例對本發明的技術方案進行詳細說明,以下各實施例中的所述的各請求均為HTTP請求,所述的各響應也均為HTTP響應。下面這幾個具體的實施例可以相互結合,對于相同或相似的概念或過程可能在某些實施例不再贅述。
[0078]圖1為本發明實施例提供的一種消息處理方法的流程圖。本實施例提供的方法適用于基于HTTP標準協議的Web應用程序的消息處理方式中,該方法可以由服務器執行,該服務器通常以硬件和軟件的方法來實現,如圖1所示,本實施例的方法可以包括:
[0079]S110,服務器接收終端設備發送的第一消息請求,該第一消息請求用于指示服務器對其指定的資源進行處理。
[0080]目前的Web應用程序中,將Web服務器可提供的服務視為服務器的資源,本發明以下各實施例具體以RESTful為例予以說明,服務器的處理類型主要包括對資源的增添、刪除、修改和獲取,服務器對資源的處理類型由終端設備通過發送HTTP消息請求的方式來指示。具體地,服務器接收終端設備發送的第一消息請求,該第一消息請求即為一個HTTP消息請求,通常地HTTP消息請求中至少包括請求行和請求頭,舉例來說,請求行可以為:PUT/images/logo, gif HTTP/1.1,GET對應的處理類型為獲取資源,該請求行表示從/images在目錄下修改logo, gif這個文件,請求頭可以為Accept-Language:en,表示客戶端接收的語言,HTTP消息請求中還可以包括空行或其它消息體,消息體中可以包括具體的資源內容,例如請求行指示請求修改一個文件的,消息體中則包括待修改的文件的具體數據信息。
[0081]需要說明的是,本實施例中的第一消息請求具體用于指示該服務器對其指定的資源進行增添、刪除或修改處理,具體地,該第一消息請求中可以包括POST、DELETE或PUT指令;另外,可以通過GET指令獲取服務器中的已有資源,包括獲取上述POST、DELETE和PUT指令所請求處理的結果,不需要服務器的資源進行改變。
[0082]S120,服務器向終端設備返回第一消息響應,該第一消息響應用于向該終端設備指示已接收到第一消息請求。
[0083]在本實施例中,服務器接收到包括P0ST、DELETE或PUT指令的第一消息請求后,由于服務器對該第一消息請求所指定的資源進行處理需要一定的處理時間,或者在服務器中已存在多個待處理的HTTP請求時,通常將當前接收到的該第一消息請求所指定的資源和處理類型放入待處理的隊列中。
[0084]現有技術中RESTful的實現方式中,直到服務器獲取HTTP請求的處理結果后,才將該處理結果通過對應的HTTP響應返回給終端設備,在該實現過程中,從接收到HTTP請求到處理完成該HTTP請求的時間段內,服務器不會對終端設備返回任何HTTP響應,也就是說,服務器阻塞了向終端設備返回的HTTP響應,終端設備在未收到HTTP響應前無法獲知其發送HTTP請求的接收狀態和處理狀態,例如是否被服務器成功接收。另外,在服務器中長時間保持一個未處理的HTTP請求會占用該服務器的系統資源,增加服務器的資源耗費。
[0085]本實施例在處理HTTP消息時,考慮到服務器將該第一消息請求的處理結果返回給終端設備需要延遲一定的時間,服務器接收到第一消息請求后,可以即時向終端設備返回與該第一消息請求對應的第一消息響應,一方面,向終端設備指示該服務器已接收到第一消息請求,正在準備進行處理,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了消息處理方法的智能性;另一方面,服務器發送該第一消息響應后,即可關閉該第一消息請求所占用的HTTP連接的資源,有利于降低服務器的資源消耗。
[0086]需要說明的是,只有在第一消息請求指示服務器對其指定的資源進行處理時,才存在現有技術中服務器阻塞響應終端設備的現象,若該第一消息請求中具體包含GET指令,則不需要請求對服務器中的資源進行處理,直接獲取即可,因此,本發明各實施例對基于HTTP的應用,提供一種新的實現方式,具體將HTTP請求劃分為指示處理資源的請求和指示獲取資源的請求,本發明各實施例中的第一消息請求具體為指示處理資源的請求。
[0087]S130,服務器對第一消息請求所請求的內容進行處理,生成第一處理結果。
[0088]在本實施例中,服務器對第一消息請求所指定的資源進行處理,處理的類型為該第一消息請求中指令的類型,具體為上述POST、DELETE或PUT指令對應的處理,服務器完成處理后生成的第一處理結果。顯然地,本實施例中服務器接收到第一消息請求后即時返回對應的第一消息響應,隨后才處理該第一消息請求所請求的資源,這種將消息響應與處理結果分別返回給終端設備處理的方式,在保證終端設備可以接收到第一處理結果的同時,避免了服務器對阻塞向終端設備返回第一消息響應的現象。
[0089]在具體實現中,服務器返回的第一處理結果時,具體攜帶在HTTP響應中,基于RESTful遵循的HTTP協議,可以采用GET指令取回該第一處理結果;實現過程為:服務器接收終端設備發送的用于取回上述第一處理結果的消息獲取請求,該消息獲取請求包括GET指令,則在服務器中具有該消息獲取請求,即服務器可以將該第一處理結果攜帶在與上述消息獲取請求對應的消息獲取響應中發送給終端設備。
[0090]需要說明的是,本實施例中不限制終端設備發送消息獲取請求時間,例如可以是在其發送第一消息請求之后發送的,也可以是在發送第一消息請求之前發送的,只要服務器中存在該消息獲取請求,就可以在生成上述第一處理結果后,將其攜帶在與消息獲取請求對應于的響應中,即消息獲取響應中發送給終端設備。
[0091]本實施例所提供的消息處理方法,通過服務器在接收到終端設備發送的用于指示服務器對其指定的資源進行處理的第一消息請求后,即時向發送該第一消息請求的終端設備返回第一消息響應,該第一消息響應僅用于向終端設備指示已接收到其發送的第一消息請求,隨后服務器對該第一消息請求所指定的資源進行處理生成第一處理結果,本實施例提供的消息處理方法,解決了現有技術中由于服務器對指示處理資源的HTTP請求進行處理需要一定的時間,而導致每個HTTP請求在服務器中長時間占用資源的情況,造成了服務器中資源消耗較大的問題。進一步的,本實施例中服務器在未返回處理結果的情況下,先向終端設備返回第一消息響應,具體用于通知終端設備服務器對其發送的第一消息請求的處理狀態,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了本實施例提供的消息處理方法的智能性。
[0092]可選地,圖1所示實施例中的第一處理結果可以是通過一個消息獲取響應返回的,如上述實施例中所述的通過消息獲取請求對應的消息獲取響應返回該第一處理結果;另外,該第一處理結果也可以是通過多個消息獲取響應返回的,在具體實現中,請求取回該第一處理結果的消息獲取請求中可以包括合并標識,當合并標識指示拆分發送第一處理結果時,服務器將該第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給終端設備。舉例來說,該合并標識可以用merge (合并)字段來表示,規定merge的取值為-1時,指示拆分發送該第一處理結果。需要說明的是,本實施例不限制服務器接收到的消息獲取請求的數量,若終端設備發送消息獲取請求時,通過合并標識指示將第一處理結果拆分為3個部分,終端設備則可以發送3個消息獲取請求,從而通過3個消息獲取響應分別取回第一處理結果拆分后的3個部分;另外,本實施例不限制多個消息獲取響應返回第一處理結果的多個部分的具體方式,例如可以是隨機的,也可以是按照第一處理結果的每個部分的大小為順序依次返回的,還可以通過在每個消息獲取請求中添加指示信息以指示所取回的部分。
[0093]進一步地,本發明上述實施例提供的方法中,服務器中可以設置有定時器,則本實施例提供的方法還包括:服務器在定時器預置的時間內未向發送消息獲取請求的終端設備返回消息獲取響應時,取消該消息獲取請求,并向該終端設備發送超時提示信息,用于指示該終端設備向服務器發送新的消息獲取請求。
[0094]在本實施例的另一種可能的實現方式中,還可以在終端設備中設置定時器,具體實現方式為:服務器接收到終端設備發送的新的消息獲取請求,該新的消息獲取請求為該終端設備在預置的時間內未接收到消息獲取響應時,取消已發送的消息獲取請求后發送的。
[0095]圖2為本發明實施例提供的另一種消息處理方法的流程圖。本實施例是基于圖1所示的實施例做出的進一步描述,本實施例提供的方法具體包括以下步驟:
[0096]S210,服務器接收終端設備發送的第一消息請求,該第一消息請求用于指示服務器對其指定的資源進行處理。
[0097]S220,服務器向終端設備返回第一消息響應,該第一消息響應用于向該終端設備指示已接收到第一消息請求。
[0098]S230,服務器接收終端設備發送的第二消息請求,該第二消息請求用于指示服務器對其指定的資源進行處理。
[0099]S240,服務器向終端設備返回第二消息響應,該第二消息響應用于向該終端設備指示已接收到第二消息請求。
[0100]具體地,S210?S220的實現方式參照圖1所示實施例中的SllO?S120 ;S230?S240與S210?S220的實現方式相同,為服務器接收的另一個需要進行資源處理的HTTP請求,該第二消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改,即該第二消息請求中同樣包括POST、PUT或DELETE指令,返回的響應則為與該第二消息請求對應的第二消息響應,其中,第二消息請求的類型,和服務器對其處理的方式均與S210?S220中相同。需要說明的是,本發明實施例不限制S210?S220與S230?S240的執行順序,圖2所示實施例具體以S210?S220在S230?S240之前執行為例予以示出。
[0101]S250,服務器對第一消息請求所指定的資源進行處理,生成第一處理結果。
[0102]S260,服務器對第二消息請求所指定的資源進行處理,生成第二處理結果。
[0103]在本實施例中,服務器可以將接收到的第一消息請求和第二消息請求所指定的資源和處理類型依次加入到待處理隊列中,例如以接收到的先后順序進行處理,還可以根據第一消息請求和第二消息請求所指定資源的大小依次進行處理。需要說明的是,本實施例不限制在服務器中生成第一處理結果和生成第二處理結果的先后順序,即不限制S250和S260的執行順序,僅需要保證S250在S220之后執行,S260在S240之后執行即可,圖2所示實施例以S210?S260依次執行為例予以示出。
[0104]可選地,本實施例中的服務器可以通過接收第一消息獲取請求和第二消息獲取請求,分別返回S250中生成的第一處理結果和S260中生成的第二處理結果,具體地,服務器將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。本實施例中終端設備發送的消息獲取請求的數量與其發送的請求處理資源的HTTP請求的數量相同,并且與服務器生成的處理結果的數量相同。
[0105]圖3為本發明實施例提供的又一種消息處理方法的流程圖,本實施例是基于圖2所示的實施例做出的進一步描述,服務器返回第一處理結果和第二處理結果的具體方式為:在S250之前還可以包括S270,服務器接收終端設備發送的消息獲取請求,該消息獲取請求中包括合并標識;相應地,在S260之后還包括S280,當合并標識指示合并發送第一處理結果和第二處理結果時,服務器將第一處理結果和第二處理結果進行合并處理,并攜帶在消息獲取請求對應的消息獲取響應中發送給終端設備;或者,當合并標識指示不合并發送第一處理結果和第二處理結果時,服務器將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。舉例來說,本實施例中的合并標識同樣可以用merge字段來表示,merge的取值可以為I或O或,規定merge取值為I時,指示合并發送,merge取值為O時,指示不合并發送。
[0106]與上述實施例類似的,在本實施例中,基于RESTful遵循的HTTP協議,采用GET指令取回第一處理結果和第二處理結果,因此,該消息獲取請求中同樣包括GET指令,本實施例以S270在S250之前執行為例予以示出,表示服務器在生成上述處理結果前,只要在服務器中具有消息獲取請求,則服務器可以將上述處理結果攜帶在與消息獲取請求對應的消息獲取響應中發送給終端設備。需要說明的是,本實施例中S270還可以是在S210之前,或者S210?S240之間執行的,只要是在服務器生成第一處理結果和第二處理結果之前接收到該消息獲取請求,都可直接將處理結果攜帶在消息獲取響應中返回。
[0107]在本實施例中,消息獲取請求中包括指示是否合并發送第一處理結果和第二處理結果的合并標識,服務器通過接收到的消息獲取請求返回已生成的第一處理結果和第二處理結果時,可以將上述兩個處理結果攜帶在一個消息獲取響應中返回給終端設備,即通過一個GET指令取回,也可以是將兩個處理結果分別攜帶在兩個消息獲取響應中返回給終端設備,即服務器在返回結果前接收到兩個消息獲取請求,例如其中一個消息獲取請求中包括GET 1,另一個消息獲取請求中包括GET 2,服務器將第一處理結果攜帶在GET I對應的消息獲取響應中發送給終端設備,并將第二處理結果攜帶在GET 2對應的消息獲取響應中發送給終端設備。
[0108]需要說明的是,本實施例不限制具體由哪個消息獲取請求取回第一處理結果或第二處理結果,由于多個消息獲取請求通常以串行的方式發送給服務器,因此可以按照服務器接收到多個消息獲取請求的順序,將首先生成的處理結果由先接收到的消息獲取請求取回;也可以設置為其它規則;還可以通過在每個消息獲取請求中添加指示信息以指示取回第一處理結果或第二處理結果。
[0109]進一步地,與上述實施例類似地,本實施例中的合并標識也可以指示拆分發送第一處理結果或/和第二處理結果,該合并標識的指示內容,拆分該第一處理結果或/和第二處理結果的方式,以及取回對第一處理結果或/和第二處理結果進行拆分后的多個部分的具體方式均與上述實施例類似,再次不在贅述。
[0110]通常地,服務器與終端設備之間未處理完成的一個HTTP請求為該服務器與終端設備之間保持的一個HTTP連接,在HTTP 1.0規范下,服務器在處理完每個包含Get或Post指令的HTTP請求后會關閉承載該請求的HTTP連接;在HTTP 1.1規范下,服務器處理完HTTP請求后可以保持承載該請求的HTTP連接,在處理兩個HTTP請求的間隔時間里,該HTTP連接處于空閑狀態,此時,服務器為該HTTP連接分配的線程資源會返還到線程池,可以供新的HTTP連接使用;當原來處于空閑的HTTP連接的終端設備發出新的HTTP請求時,服務器會從線程池里分配一個線程資源處理這個HTTP請求。上述處理方式在HTTP連接處于空閑機率較高、并發的HTTP連接數目很多的場景下對于降低服務器的資源負載比較有效。然而,當前基于HTTP的應用程序中,終端設備發送HTTP請求的次數變得更為頻繁,若采用現有技術中處理HTTP請求的方式,對每個HTTP請求所指定的資源進行處理需要一定的時間,即每個HTTP請求會長時間占用一個HTTP連接,服務器的處理效率會降低,線程池里有限的線程數甚至可能會阻塞新的HTTP連接;另外,如果終端設備同時發起多個HTTP請求,服務器會阻塞多個HTTP連接,在被阻塞的HTTP連接的數量接近上限后會影響服務器的性能。
[0111]針對上述問題,本實施例通過終端設備中預先定義的請求控制信息來控制服務器與終端設備之間保持的HTTP連接的數量小于等于連接數量閾值,例如將HTTP連接的數量可以控制為最多2個,其中,服務器未返回響應的一個消息請求或未返回響應的一個消息獲取請求,為服務器與終端設備之間保持的一個HTTP連接。因此,若采用現有技術中處理HTTP請求的方式,服務器在接收到第一消息請求后,并不能立即返回相應的第一消息響應,在服務器與終端設備之間保持了承載該第一消息請求的HTTP連接,若保持了多個如上述的HTTP連接,可以認為服務器端阻塞了多個HTTP連接。本實施例提供的方法,服務器在接收到第一消息請求后即時返回響應,則關閉了承載該第一消息請求的HTTP連接,并且控制服務器與終端設備之間的HTTP連接的數量,在避免服務器阻塞HTTP連接的同時,可以減小服務器的負載。在具體實現中,包括POST、PUT或DELETE指令的多個HTTP請求,第一消息請求和第二消息請求可以是并行發送的,也可以是串行發送的;另外,包括GET指令的消息獲取請求通常為多個,用于分別請求取回不同的處理結果,該多個消息獲取請求通常是串行發送的,以節省服務器與終端設備之間的資源開銷。結合本發明各實施例中服務器返回響應的方式,無論采用上述哪種方式發送HTTP請求,都不會造成在服務器中阻塞響應終端設備的現象,即不會存在一個長期占用處理器資源的HTTP連接。
[0112]圖4為本發明實施例提供的一種資源獲取方法的流程圖。本實施例提供的方法適用于基于HTTP標準協議的Web應用程序的資源獲取方式中,該方法可以由終端設備執行,該終端設備通常以硬件和軟件的方法來實現,如圖4所示,本實施例的方法可以包括:
[0113]S310,終端設備向服務器發送第一消息請求,以使服務器對該第一消息請求所指定的資源進行處理。
[0114]本實施例同樣以RESTful為例予以說明,由于服務器的處理類型主要包括對資源的增添、刪除、修改和獲取,終端設備通過發送HTTP消息請求的方式來指示服務器對資源的處理類型,GET指令所請求執行的是獲取已有資源,包括獲取P0ST、DELETE和PUT指令所請求處理的結果,不需要服務器的資源進行改變,服務器具體根據其接收到的第一消息請求所指定的資源和請求處理的類型進行處理。與上述實施例相同的,本實施例中的第一消息請求中同樣包括POST、DELETE或PUT指令。
[0115]S320,終端設備接收服務器返回的第一消息響應,該第一消息響應用于向終端設備指示服務器已接收到第一消息請求。
[0116]在本實施例中,考慮到服務器對該第一消息請求所指定的資源進行處理需要一定的處理時間,或者在服務器中已存在多個待處理的HTTP請求,通常將當前接收到的該第一消息請求所指定的資源和處理類型放入待處理的隊列中。也就是說,終端設備接收服務器對該第一消息請求的處理結果需要延遲一定的時間,因此,本實施例中終端設備向服務器發送該第一消息請求后,可以即時接收到不包含處理結果的第一消息響應,一方面,終端設備通過該第一消息響應可以獲知服務器已接收到其發送的第一消息請求,正在準備進行處理,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了消息處理方法的智能性;另一方面,服務器發送該第一消息響應后,即可關閉該第一消息請求所占用的HTTP連接的資源,有利于降低服務器的資源消耗。
[0117]需要說明的是,只有在第一消息請求指示服務器對其指定的資源進行處理時,才存在現有技術中服務器阻塞響應終端設備的現象,若該第一消息請求中具體包含GET指令,則不需要請求對服務器中的資源進行處理,直接獲取即可,因此,本發明各實施例對基于HTTP的應用,提供一種新的實現方式,具體將HTTP請求劃分為指示處理資源的請求和指示獲取資源的請求,本發明各實施例中的第一消息請求具體為指示處理資源的請求。
[0118]S330,終端設備接收服務器發送的第一處理結果,其中,該第一處理結果為服務器對第一消息請求所指定的資源進行處理所生成的。
[0119]在本實施例中,終端設備接收到的第一處理結果具體為服務器對第一消息請求所指定的資源進行處理所生成的,即,服務器在向終端設備返回未包含處理結果的第一消息響應之后,才對第一消息請求所請求的資源進行處理生成該第一處理結果。顯然地,本實施例中服務器接收到第一消息請求后即時返回第一消息響應,隨后才處理該第一消息請求所請求的資源,這種將消息響應與處理結果分別返回給終端設備處理的方式,在保證終端設備可以接收到第一處理結果的同時,避免了服務器阻塞向終端設備返回第一消息響應的現象。
[0120]本實施例在具體實現中,終端設備接收的該第一處理結果,具體攜帶在HTTP響應中,基于RESTful遵循的HTTP協議,可以采用GET指令取回該第一處理結果;實現過程為:終端設備向服務器發送消息獲取請求,該消息獲取請求包括GET指令;則S330替換為:終端設備接收服務器發送的與消息獲取請求對應的消息獲取響應,消息獲取響應中包括該第一處理結果。
[0121]需要說明的是,本實施例中不限制終端設備發送消息獲取請求時間,例如可以是在其發送第一消息請求之后發送的,也可以是在發送第一消息請求之前發送的,只要服務器中存在該消息獲取請求,就可以在生成上述第一處理結果后,將其攜帶在與消息獲取請求對應于的響應中,即消息獲取響應中發送給終端設備。
[0122]本實施例所提供的消息處理方法,終端設備在向服務器發送了用于指示服務器對其指定的資源進行處理的第一消息請求后,通過即時接收到的第一消息響應獲知服務器已接收到該第一消息請求,隨后接收到服務器對該第一消息請求所指定的資源進行處理生成第一處理結果,本實施例提供的消息處理方法,解決了現有技術中由于服務器對指示處理資源的HTTP請求進行處理需要一定的時間,而導致每個HTTP請求在服務器中長時間占用資源的情況,造成了服務器中資源消耗較大的問題。進一步的,本實施例中終端設備在未獲得處理結果的情況下,先行獲得服務器返回第一消息響應,即時獲知服務器對其發送的第一消息請求的處理狀態,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了本實施例提供的消息處理方法的智能性。
[0123]可選地,圖4所示實施例中的第一處理結果可以是通過一個消息獲取響應返回的,如上述實施例中所述的通過消息獲取請求對應的消息獲取響應返回該第一處理結果;另外,該第一處理結果也可以是通過多個消息獲取響應返回的,在具體實現中,請求取回該第一處理結果的消息獲取請求中可以包括合并標識,該合并標識指示拆分發送第一處理結果,則終端設備接收服務器發送的多個消息獲取響應,該多個消息獲取響應中一一對應的攜帶有處理器對第一處理結果拆分的多個部分。與上述實施例類似地,同樣可以通過merge字段來表示合并標識,規定merge的取值為-1時,指示拆分發送該第一處理結果。需要說明的是,本實施例不限制終端設備發送的消息獲取請求的數量,同樣不限制通過多個消息獲取請求取回第一處理結果的多個部分的具體方式,例如可以是隨機的,也可以是按照第一處理結果的每個部分的大小為順序依次取回的,還可以通過在每個消息獲取請求中添加指示信息以指示所取回的部分。
[0124]進一步地,本發明上述實施例提供的方法中,終端設備中可以設置有定時器,則本實施例提供的方法還包括:終端設備在定時器預置的時間內未接收到服務器返回的與消息獲取請求對應的消息獲取響應,取消消息獲取請求,并向服務器發送新的消息獲取請求。
[0125]在本實施例的另一種可能的實現方式中,還可以在服務器中設置定時器,具體實現方式為:終端設備接收到服務器發送的超時提示信息,該超時提示信息為服務器在預置的時間內未向終端設備發送消息獲取響應時,取消已發送的消息獲取請求后發送的;從而終端設備根據超時提示信息向服務器發送新的消息獲取請求。
[0126]圖5為本發明實施例提供的另一種資源獲取方法的流程圖。本實施例是基于圖4所示的實施例做出的進一步描述,本實施例提供的方法具體包括以下步驟:
[0127]S410,終端設備向服務器發送第一消息請求,以使服務器對該第一消息請求所指定的資源進行處理。
[0128]S420,終端設備接收服務器返回的第一消息響應,該第一消息響應用于向終端設備指示服務器已接收到第一消息請求。
[0129]S430,終端設備向服務器發送第二消息請求,以使服務器對該第二消息請求所指定的資源進行處理。
[0130]S440,終端設備接收服務器返回的第二消息響應,該第二消息響應用于向終端設備指示服務器已接收到第二消息請求。
[0131]具體地,S410?S420的實現方式參照圖4所示實施例中的S310?S320 ;S430?S440與S410?S420的實現方式相同,為終端設備發送的另一個需要服務器進行資源處理的HTTP請求,該第二消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改,即該第二消息請求中同樣包括POST、PUT或DELETE指令,接收的響應則為服務器即時發送與第二消息請求對應的第二消息響應,其中,第二消息請求的類型,和服務器對其處理的方式均與S410?S420中相同。需要說明的是,本實施例不限制S410?S420與S430?S440的執行順序,圖5所示實施例具體以S410?S420在S430?S440之前執行為例予以示出。
[0132]S450,終端設備接收服務器發送的第一處理結果,其中,該第一處理結果為服務器對第一消息請求所指定的資源進行處理所生成的。
[0133]S460,終端設備接收服務器發送的第二處理結果,其中,該第二處理結果為服務器對第二消息請求所指定的資源進行處理所生成的。
[0134]在本實施例中,服務器可以將終端設備發送的第一消息請求和第二消息請求所指定的資源和處理類型依次加入到待處理隊列中,例如以接收到的先后順序進行處理,還可以根據第一消息請求和第二消息請求所指定資源的大小依次進行處理。需要說明的是,本實施例不限制在服務器中生成第一處理結果和生成第二處理結果的先后順序,也不限制終端設備接收到第一處理結果和第二處理結果的順序,即不限制S450和S460的執行順序,僅需要保證S450在S420之后執行,S460在S440之后執行即可,圖5所示實施例以S410?S460依次執行為例予以示出。
[0135]可選地,本實施例中的終端設備可以通過發送第一消息獲取請求和第二消息獲取請求來取回第一處理結果和第二處理結果;具體的,終端設備接收到服務器發送的攜帶在第一消息獲取響應中的第一處理結果,以及攜帶在第二消息獲取響應中的第二處理結果。本實施例中終端設備發送的消息獲取請求的數量與其發送的請求處理資源的HTTP請求的數量相同,并且與服務器生成的處理結果的數量相同。
[0136]在圖5所述實施例的另一種可能的實現方式中,終端設備同樣通過發送的消息獲取請求來取回第一處理結果和第二處理結果,該消息獲取請求中包括合并標識;相應地,當合并標識指示合并發送第一處理結果和第二處理結果時,終端設備接收到服務器發送的攜帶有第一處理結果和第二處理結果的消息獲取響應;當合并標識指示不合并發送第一處理結果和第二處理結果時,終端設備接收到服務器發送的攜帶有第一處理結果的第一消息獲取響應和攜帶有第二處理結果的第二消息獲取響應。舉例來說,本實施例中的合并標識同樣可以用merge字段來表示,merge的取值指示的內容與上述實施例相同,故在此不再贅述。
[0137]與上述實施例類似的,在本實施例中,基于RESTful遵循的HTTP協議,采用GET指令取回第一處理結果和第二處理結果,因此,該消息獲取請求中同樣包括GET指令,本實施例的終端設備向服務器發送消息獲取請求后,服務器才可以將生成的處理結果攜帶在消息獲取響應中發送給終端設備。需要說明的是,本實施例中終端設備發送消息獲取請求可以是在S410之前,或者S410?S450之間執行的,只要是在服務器生成第一處理結果和第二處理結果之前向其發送該消息獲取請求,都可使得服務器直接將處理結果攜帶在消息獲取響應中返回。
[0138]需要說明的是,本實施例不限制具體由哪個消息獲取請求取回第一處理結果或第二處理結果,由于多個消息獲取請求通常以串行的方式發送給服務器,因此可以按照終端設備發送多個消息獲取請求的順序,將首先生成的處理結果由服務器先接收到的消息獲取請求返回;也可以設置為其它規則;還可以通過在每個消息獲取請求中添加指示信息以指示取回第一處理結果或第二處理結果。
[0139]進一步地,與上述實施例類似地,本實施例中的合并標識也可以指示拆分發送第一處理結果或/和第二處理結果,該合并標識的指示內容,拆分該第一處理結果或/和第二處理結果的方式,以及取回對第一處理結果或/和第二處理結果進行拆分后的多個部分的具體方式均與上述實施例類似,再次不在贅述。
[0140]針對上述實施例中已提到的問題,即終端設備發送HTTP請求的次數變得更為頻繁,若采用現有技術中處理HTTP請求的方式,對每個HTTP請求所指定的資源進行處理需要一定的時間,即每個HTTP請求會長時間占用一個HTTP連接,服務器的處理效率會降低,線程池里有限的線程數甚至可能會阻塞新的HTTP連接;另外,如果終端設備同時發起多個HTTP請求,服務器會阻塞與多個HTTP連接,在被阻塞的HTTP連接的數量接近上限后會影響服務器的性能。本實施例中同樣可以通過終端設備中設置請求控制信息來控制服務器與終端設備之間保持的HTTP連接的數量小于等于連接數量閾值,例如將HTTP連接的數量可以控制為最多2個。需要說明的是,本實施例中包括POST、PUT或DELETE指令的HTTP請求,以及包括GET指令的HTTP請求的發送方式,服務器的處理方式,以及達到的有益效果均與上述實施例相同,故在此不再贅述。
[0141]圖6為本發明實施例所提供的一種消息處理方法的信令交互流程圖。本實施例提供的方法適用于基于HTTP標準協議的Web應用程序的消息處理方式中,該方法可以由服務器和終端設備執行,如圖6所示,本實施例的方法可以包括:
[0142]S510,終端設備向服務器發送第一消息請求,該第一消息請求用于指示服務器對其指定的資源進行處理。
[0143]S520,服務器向終端設備返回第一消息響應,該第一消息響應用于向終端設備指示服務器已接收到第一消息請求。
[0144]S530,服務器對第一消息請求所請求的內容進行處理,生成第一處理結果。
[0145]在本實施例中,同樣可以通過包括GET指令的消息獲取請求取回該第一處理結果,具體地,服務器將該第一處理結果攜帶在與消息獲取請求對應的消息獲取響應中發送給終端設備。可選地,圖6所示實施例中的第一處理結果可以是通過一個消息獲取請求取回的,也可以是通過多個消息獲取請求取回的,終端設備通過多個消息獲取響應取回第一處理結果的具體方式為,本實施例提供的方法在S530之前還包括:S540,終端設備向服務器發送消息獲取請求,該消息獲取請求中包括合并標識,該合并標識指示拆分發送第一處理結果,S550,服務器將該第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給終端設備。
[0146]進一步地,本實施例提供的方法中,服務器中可以設置有定時器,則本實施例提供的方法還包括:服務器在定時器預置的時間內未向發送消息獲取請求的終端設備返回消息獲取響應時,取消該消息獲取請求,并向該終端設備發送超時提示信息,用于指示該終端設備向服務器發送新的消息獲取請求。在本實施例的另一種可能的實現方式中,定時器還可以設置于終端設備中,相應地,本實施例提供的方法還包括:終端設備在定時器預置的時間內未接收到服務器返回的與消息獲取請求對應的消息獲取響應,取消消息獲取請求,并向服務器發送新的消息獲取請求。
[0147]在上述實施例所示方法的基礎上,本實施例在圖6所示的S520之后,還可以包括:S560,終端設備向服務器發送第二消息請求,該第二消息請求用于指示服務器對其指定的資源進行處理。
[0148]S570,服務器向終端設備返回第二消息響應,該第二消息響應用于向終端設備指示服務器已接收到第一消息請求。
[0149]S580,服務器對第二消息請求所請求的內容進行處理,生成第二處理結果。
[0150]具體地,S560?S580與S510?S530的實現方式相同,本實施例中的第一消息請求和第二消息請求都用于指示服務器對其各自所指定的資源進行增添、刪除或修改,即各消息請求中均包括POST、PUT或DELETE指令;并且本發明實施例不限制S510?S530與S560?S580的執行順序,圖6所示實施例具體以S510?S530在S560?S580之前執行的順序為例予以示出。
[0151]可選地,本實施例中服務器可以通過接收第一消息獲取請求和第二消息獲取請求,分別返回S530中生成的第一處理結果和S580中生成的第二處理結果,具體地,服務器將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。本實施例中終端設備發送的消息獲取請求的數量與其發送的請求處理資源的HTTP請求的數量相同,并且與服務器生成的處理結果的數量相同。
[0152]在圖6所示本實施例的另一種可能的實現方式中,服務器通過可以通過S540中終端設備發送消息獲取請求取回第一處理結果和第二處理結果,該消息獲取請求中同樣包括合并標識;相應地,S550替換為:當合并標識指示合并發送第一處理結果和第二處理結果時,服務器將第一處理結果和第二處理結果進行合并處理,并攜帶在消息獲取請求對應的消息獲取響應中發送給終端設備;或者,當合并標識指示不合并發送第一處理結果和第二處理結果時,服務器將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。本實施例中的合并標識同樣可以用merge字段來表示,merge的取值指示的內容與上述實施例相同,故在此不再贅述。
[0153]需要說明的是,本實施例中S540還可以是在S510之前,也可以是在服務器生成第一處理結果和第二處理結果之前向其發送該消息獲取請求,都可使得服務器直接將處理結果攜帶在消息獲取響應中返回。
[0154]需要說明的是,本實施例不限制具體由哪個消息獲取請求取回第一處理結果或第二處理結果,由于多個消息獲取請求通常以串行的方式發送給服務器,因此可以按照終端設備發送多個消息獲取請求的順序,將首先生成的處理結果由服務器先接收到的消息獲取請求返回;也可以設置為其它規則;還可以通過在每個消息獲取請求中添加指示信息以指示取回第一處理結果或第二處理結果。
[0155]進一步地,與上述實施例類似地,本實施例中的合并標識也可以指示是否拆分發送第一處理結果或/和第二處理結果,該合并標識的指示內容,拆分該第一處理結果或/和第二處理結果的方式,以及取回對第一處理結果或/和第二處理結果進行拆分后的多個部分的具體方式均與上述實施例類似,再次不在贅述。
[0156]更進一步地,本實施例提供的方法同樣可以通過在終端設備中設置請求控制信息來控制服務器與終端設備之間保持的HTTP連接的數量小于等于連接數量閾值,例如將HTTP連接的數量可以控制為最多2個。需要說明的是,本實施例中包括P0ST、PUT或DELETE指令的HTTP請求,以及包括GET指令的HTTP請求的發送方式,服務器的處理方式,以及達到的有益效果均與上述實施例相同,故在此不再贅述。
[0157]圖7為本發明實施例所提供的一種服務器的結構示意圖。本實施例提供的服務器具體包括:接收模塊11、發送模塊12和處理模塊13。
[0158]其中,接收模塊11,用于接收終端設備發送的第一消息請求,該第一消息請求用于指示服務器對其指定的資源進行處理。
[0159]本實施例中的第一消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改處理,具體地,該第一消息請求中可以包括POST、DELETE或PUT指令;另外,可以通過GET指令獲取服務器中的已有資源,包括獲取上述POST、DELETE和PUT指令所請求處理的結果,不需要服務器的資源進行改變。
[0160]發送模塊12,用于向終端設備返回第一消息響應,該第一消息響應用于向終端設備指示接收模塊11已接收到第一消息請求。
[0161]本實施例提供的服務器在處理HTTP消息時,考慮到服務器將該第一消息請求的處理結果返回給終端設備需要延遲一定的時間,服務器接收到第一消息請求后,可以即時向終端設備返回與該第一消息請求對應的第一消息響應,一方面,向終端設備指示該服務器已接收到第一消息請求,正在準備進行處理,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了消息處理方法的智能性;另一方面,月艮務器發送該第一消息響應后,即可關閉該第一消息請求所占用的HTTP連接的資源,有利于降低服務器的資源消耗。
[0162]處理模塊13,用于對接收模塊11接收的第一消息請求所指定的資源進行處理,生成第一處理結果。
[0163]本實施例在具體實現中,服務器返回的第一處理結果時,具體攜帶在HTTP響應中,基于RESTful遵循的HTTP協議,可以采用GET指令取回該第一處理結果;具體地,本實施例中的接收模塊11還用于接收終端設備發送的消息獲取請求,該消息獲取請求包括GET指令;相應地,發送模塊12還用于將處理模塊13生成的第一處理結果攜帶在與接收模塊11接收的消息獲取請求對應的消息獲取響應中發送給所述終端設備。
[0164]需要說明的是,本實施例中不限制終端設備發送消息獲取請求時間,例如可以是在接收模塊11接收到第一消息請求之后發送的,也可以是在接收模塊11接收到第一消息請求之前發送的,只要服務器中存在該消息獲取請求,就可以在處理模塊13生成第一處理結果后,將其攜帶在與消息獲取請求對應于的響應中,即消息獲取響應中發送給終端設備。
[0165]本發明實施例提供的服務器用于執行本發明圖1所示實施例提供的消息處理方法,具備相應的功能模塊,其實現原理和技術效果類似,此處不再贅述。
[0166]可選地,圖7所示實施例中處理模塊13生成的第一處理結果可以是通過一個消息獲取響應返回的,如上述實施例中所述的通過消息獲取請求對應的消息獲取響應返回該第一處理結果;另外,該第一處理結果也可以是通過多個消息獲取響應返回的,在具體實現中,接收模塊11接收到的消息獲取請求中可以包括合并標識;則發送模塊12,還用于當該合并標識指示拆分發送第一處理結果時,將第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給終端設備。
[0167]進一步地,同樣可以在本實施例提供的服務器中設置定時器,相應的,本實施例提供的服務器還包括:取消模塊,用于在定時器預置的時間內未向發送消息獲取請求的終端設備返回消息獲取響應時,取消該消息獲取請求;則發送模塊12還用于向該終端設備發送超時提示信息,以指示該終端設備向服務器發送新的消息獲取請求。在本實施例的另一種可能的實現方式中,還可以通過在終端設備中設置定時器的方式取消超時的消息獲取請求,具體實現方式為:接收模塊11接收到終端設備發送的新的消息獲取請求,該新的消息獲取請求為該終端設備在預置的時間內未接收到消息獲取響應時,取消已發送的消息獲取請求后發送的。
[0168]需要說明的是,在本實施例中,可以不限制接收模塊11接收到的指示處理資源的HTTP請求的數量,即接收模塊11還用于接收終端設備發送的第二消息請求,該第二消息請求用于指示服務器對其指定的資源進行處理;則發送模塊12還用于向終端設備返回第二消息響應,第二消息響應用于向終端設備指示接收模塊11已接收到第二消息請求;處理模塊13還用于對接收模塊11接收的第二消息請求所指定的資源進行處理,生成第二處理結果O
[0169]在本實施例中,第二消息請求為服務器接收的另一個需要進行資源處理的HTTP請求,該第二消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改,即該第二消息請求中同樣包括POST、PUT或DELETE指令,返回的響應則為與該第二消息請求對應的第二消息響應,其中,第二消息請求的類型,和處理模塊13對其處理的方式均與第一請求消息相同。
[0170]可選地,本實施例提供的服務器,其接收模塊11可以通過接收第一消息獲取請求和第二消息獲取請求,分別返回處理模塊13中生成的第一處理結果和第二處理結果,具體地,發送模塊12將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。
[0171]在圖7所示的另一種可能的實現方式中,接收模塊11接收的消息獲取請求中包括合并標識;則發送模塊12返回第一處理結果和第二處理結果的具體方式可以為:當合并標識指示合并發送第一處理結果和第二處理結果時,服務器將第一處理結果和第二處理結果進行合并處理,并攜帶在消息獲取請求對應的消息獲取響應中發送給終端設備;或者,當合并標識指示不合并發送第一處理結果和第二處理結果時,服務器將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。
[0172]本實施例中的該消息獲取請求中同樣包括GET指令,并且同樣不限制接收模塊11接收到消息獲取請求的時間,只要是在處理模塊13生成處理結果前,服務器中具有消息獲取請求,則發送模塊12可以將上述處理結果攜帶在與消息獲取請求對應的消息獲取響應中發送給終端設備。
[0173]需要說明的是,本實施例不限制具體由哪個消息獲取請求取回第一處理結果或第二處理結果,由于多個消息獲取請求通常以串行的方式發送給服務器,因此可以按照服務器接收到多個消息獲取請求的順序,將首先生成的處理結果由先接收到的消息獲取請求取回;也可以設置為其它規則;還可以通過在每個消息獲取請求中添加指示信息以指示取回第一處理結果或第二處理結果。
[0174]進一步地,與上述實施例類似地,本實施例中的合并標識也可以指示拆分發送第一處理結果或/和第二處理結果,該合并標識的指示內容,拆分該第一處理結果或/和第二處理結果的方式,以及取回對第一處理結果或/和第二處理結果進行拆分后的多個部分的具體方式均與上述實施例類似,再次不在贅述。
[0175]本發明實施例提供的服務器用于執行本發明圖2和圖3所示實施例提供的消息處理方法,具備相應的功能模塊,其實現原理和技術效果類似,此處不再贅述。
[0176]類似地,本實施例提供的服務器與終端設備之間保持的HTTP連接的數量,同樣可以通過終端設備中預先定義的請求控制信息來控制,該HTTP連接的數量小于等于連接數量閾值,控制服務器與終端設備之間保持的HTTP連接的數量的具體方式和實現的有益效果均與上述實施例相同,故在此不再贅述。
[0177]圖8為本發明實施例所提供的一種終端設備的結構示意圖。本實施例提供的終端設備具體包括:發送模塊21和接收模塊22。
[0178]其中,發送模塊21,用于向服務器發送第一消息請求,以使服務器對該第一消息請求所指定的資源進行處理。
[0179]本實施例中的第一消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改處理,具體地,發送模塊21的第一消息請求中可以包括POST、DELETE或PUT指令?’另夕卜,可以通過GET指令獲取服務器中的已有資源,包括獲取上述POST、DELETE和PUT指令所請求處理的結果,不需要服務器的資源進行改變。
[0180]接收模塊22,用于接收服務器返回的第一消息響應,該第一消息響應用于向終端設備指示服務器已接收到發送模塊21發送的第一消息請求。
[0181]該接收模塊22,還用于接收服務器發送的第一處理結果,其中,該第一處理結果為服務器對第一消息請求所指定的資源進行處理所生成的。
[0182]在本實施例中,考慮到服務器對該第一消息請求所指定的資源進行處理需要一定的處理時間,即接收模塊22接收服務器對該第一消息請求的處理結果需要延遲一定的時間,因此,本實施例中發送模塊21向服務器發送該第一消息請求后,接收模塊22可以即時接收到不包含處理結果的第一消息響應,一方面,終端設備通過該第一消息響應可以獲知服務器已接收到其發送的第一消息請求,正在準備進行處理,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了消息處理方法的智能性;另一方面,服務器發送該第一消息響應后,即可關閉該第一消息請求所占用的HTTP連接的資源,有利于降低服務器的資源消耗。
[0183]本實施例在具體實現中,接收模塊22接收到的第一處理結果,具體攜帶在HTTP響應中,基于RESTful遵循的HTTP協議,可以采用GET指令取回該第一處理結果;具體地,本實施例中的發送模塊21還用于向服務器發送消息獲取請求,該消息獲取請求包括GET指令;則接收模塊22接收服務器發送的第一處理結果的具體方式為:接收服務器發送的與消息獲取請求對應的消息獲取響應,該消息獲取響應中包括所述第一處理結果。
[0184]需要說明的是,本實施例中不限制發送模塊21發送消息獲取請求時間,例如可以是在其發送第一消息請求之后發送的,也可以是在發送第一消息請求之前發送的,只要服務器中存在該消息獲取請求,就可以在服務器生成上述第一處理結果后,將其攜帶在與消息獲取請求對應于的響應中,即消息獲取響應中發送給終端設備。
[0185]本發明實施例提供的終端設備用于執行本發明圖4所示實施例提供的資源獲取方法,具備相應的功能模塊,其實現原理和技術效果類似,此處不再贅述。
[0186]可選地,圖8所示實施例中的第一處理結果可以是通過一個消息獲取響應返回的,如上述實施例中所述的通過消息獲取請求對應的消息獲取響應返回該第一處理結果;另外,該第一處理結果也可以是通過多個消息獲取響應返回的,在具體實現中,發送模塊21發送的消息獲取請求中可以包括合并標識,該合并標識指示拆分發送第一處理結果,則接收模塊22接收到服務器發送的多個消息獲取響應,該多個消息獲取響應中一一對應的攜帶有處理器對第一處理結果拆分的多個部分。
[0187]進一步地,同樣可以在本實施例提供的終端設備中可以設置定時器,相應地,本實施例提供的終端設備還包括:取消模塊,用于在定時器預置的時間內未接收到服務器返回的與消息獲取請求對應的消息獲取響應,取消消息獲取請求;則發送模塊21還用于并向服務器發送新的消息獲取請求。在本實施例的另一種可能的實現方式中,還可以在服務器中設置定時器,則接收模塊22接收到服務器發送的超時提示信息,該超時提示信息為服務器在預置的時間內未向終端設備發送消息獲取響應時,取消已發送的消息獲取請求后發送的;從而發送模塊21還用于根據超時提示信息向服務器發送新的消息獲取請求。
[0188]需要說明的是,在本實施例中,可以不限制發送模塊21向服務器發送的指示處理資源的HTTP請求的數量,即發送模塊21還用于向服務器發送第二消息請求,以使服務器對第二消息請求所指定的資源進行處理;則接收模塊22還用于接收服務器返回的第二消息響應,該第二消息響應用于向終端設備指示服務器已接收到發送模塊21發送的第二消息請求;該接收模塊22還用于接收服務器發送的第二處理結果,其中,該第二處理結果為服務器對第二消息請求所指定的資源進行處理所生成的。
[0189]在本實施例中,第二消息請求為服務器接收的另一個需要進行資源處理的HTTP請求,該第二消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改,即該第二消息請求中同樣包括POST、PUT或DELETE指令,返回的響應則為與該第二消息請求對應的第二消息響應,其中,第二消息請求的類型,和服務器對其所請求的資源的處理方式均與第一請求消息相同。
[0190]可選地,本實施例提供的終端設備,其發送模塊21可以通過發送第一消息獲取請求和第二消息獲取請求,分別取回服務器所生成的第一處理結果和第二處理結果,具體地,接收模塊22接收到的服務器發送的攜帶在第一消息獲取響應中的第一處理結果,以及攜帶在第二消息獲取響應中的第二處理結果。
[0191]在圖8所示的另一種可能的實現方式中,發送模塊21同樣通過發送消息獲取請求來取回第一處理結果和第二處理結果,該消息獲取請求中包括合并標識;則接收模塊22用于接收服務器發送的第一處理結果和第二處理結果,具體包括:當合并標識指示合并發送第一處理結果和第二處理結果時,接收到服務器發送的攜帶有第一處理結果和第二處理結果的消息獲取響應;當合并信息指示不合并發送第一處理結果和第二處理結果時,接收到服務器發送的攜帶有第一處理結果的第一消息獲取響應,以及攜帶有第二處理結果的第二消息獲取響應。
[0192]本實施例中的該消息獲取請求中同樣包括GET指令,并且同樣不限制發送模塊21發送的消息獲取請求的時間,只要是在服務器生成處理結果之前,向服務器發送該消息獲取請求,則服務器可以將上述處理結果攜帶在與消息獲取請求對應的消息獲取響應中發送給終端設備。
[0193]需要說明的是,本實施例不限制具體由哪個消息獲取請求取回第一處理結果或第二處理結果,由于多個消息獲取請求通常以串行的方式發送給服務器,因此可以按照服務器接收到多個消息獲取請求的順序,將首先生成的處理結果由先接收到的消息獲取請求取回;也可以設置為其它規則;還可以通過在每個消息獲取請求中添加指示信息以指示取回第一處理結果或第二處理結果。
[0194]進一步地,與上述實施例類似地,本實施例中的合并標識也可以指示拆分發送第一處理結果或/和第二處理結果,該合并標識的指示內容,拆分該第一處理結果或/和第二處理結果的方式,以及取回對第一處理結果或/和第二處理結果進行拆分后的多個部分的具體方式均與上述實施例類似,再次不在贅述。
[0195]本發明實施例提供的終端設備用于執行本發明圖5所示實施例提供的資源獲取方法,具備相應的功能模塊,其實現原理和技術效果類似,此處不再贅述。
[0196]類似地,本實施例提供的終端設備與服務器之間保持的HTTP連接的數量,同樣可以通過在終端設備中預先定義請求控制信息的方式來控制,例如該HTTP連接的數量小于等于連接數量閾值,控制終端設備與服務器之間保持的HTTP連接的數量的具體方式和實現的有益效果均與上述實施例相同,故在此不再贅述。
[0197]圖9為本發明實施例所提供的另一種服務器的結構示意圖。本實施例提供的服務器具體包括:接收器31、發送器32和處理器33。
[0198]其中,接收器31,用于接收終端設備發送的第一消息請求,該第一消息請求用于指示服務器對其指定的資源進行處理。
[0199]本實施例中的第一消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改處理,具體地,該第一消息請求中可以包括POST、DELETE或PUT指令;另外,可以通過GET指令獲取服務器中的已有資源,包括獲取上述POST、DELETE和PUT指令所請求處理的結果,不需要服務器的資源進行改變。
[0200]發送器32,用于向終端設備返回第一消息響應,該第一消息響應用于向終端設備指示接收器31已接收到第一消息請求。
[0201]本實施例提供的服務器在處理HTTP消息時,考慮到服務器將該第一消息請求的處理結果返回給終端設備需要延遲一定的時間,服務器接收到第一消息請求后,可以即時向終端設備返回與該第一消息請求對應的第一消息響應,一方面,向終端設備指示該服務器已接收到第一消息請求,正在準備進行處理,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了消息處理方法的智能性;另一方面,月艮務器發送該第一消息響應后,即可關閉該第一消息請求所占用的HTTP連接的資源,有利于降低服務器的資源消耗。
[0202]處理器33,用于對發送器32接收的第一消息請求所指定的資源進行處理,生成第一處理結果。
[0203]本實施例在具體實現中,服務器返回的第一處理結果時,具體攜帶在HTTP響應中,基于RESTful遵循的HTTP協議,可以采用GET指令取回該第一處理結果;具體地,本實施例中的接收器31還用于接收終端設備發送的消息獲取請求,該消息獲取請求包括GET指令;相應地,發送器32還用于將處理器33生成的第一處理結果攜帶在與接收器31接收的消息獲取請求對應的消息獲取響應中發送給所述終端設備。
[0204]需要說明的是,本實施例中不限制終端設備發送消息獲取請求時間,例如可以是在接收器31接收到第一消息請求之后發送的,也可以是在接收器31接收到第一消息請求之前發送的,只要服務器中存在該消息獲取請求,就可以在處理器33生成第一處理結果后,將其攜帶在與消息獲取請求對應于的響應中,即消息獲取響應中發送給終端設備。
[0205]本發明實施例提供的服務器用于執行本發明圖1所示實施例提供的消息處理方法,具備相應的實體裝置,其實現原理和技術效果類似,此處不再贅述。
[0206]可選地,圖9所示實施例中處理器33生成的第一處理結果可以是通過一個消息獲取響應返回的,如上述實施例中所述的通過消息獲取請求對應的消息獲取響應返回該第一處理結果;另外,該第一處理結果也可以是通過多個消息獲取響應返回的,在具體實現中,接收器31接收到的消息獲取請求中可以包括合并標識;則發送器32,還用于當該合并標識指示拆分發送第一處理結果時,將第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給終端設備。
[0207]進一步地,同樣可以在本實施例提供的服務器中設置定時器,相應的,本實施例提供的服務器中,處理器33還用于在定時器預置的時間內未向發送消息獲取請求的終端設備返回消息獲取響應時,取消該消息獲取請求;則發送器32還用于向該終端設備發送超時提示信息,以指示該終端設備向服務器發送新的消息獲取請求。在本實施例的另一種可能的實現方式中,還可以通過在終端設備中設置定時器的方式取消超時的消息獲取請求,具體實現方式為:接收器31接收到終端設備發送的新的消息獲取請求,該新的消息獲取請求為該終端設備在預置的時間內未接收到消息獲取響應時,取消已發送的消息獲取請求后發送的。
[0208]需要說明的是,在本實施例中,可以不限制接收器31接收到的指示處理資源的HTTP請求的數量,即接收器31還用于接收終端設備發送的第二消息請求,該第二消息請求用于指示服務器對其指定的資源進行處理;則發送器32還用于向終端設備返回第二消息響應,第二消息響應用于向終端設備指示接收器31已接收到第二消息請求;處理器33還用于對接收器31接收的第二消息請求所指定的資源進行處理,生成第二處理結果。
[0209]在本實施例中,第二消息請求為服務器接收的另一個需要進行資源處理的HTTP請求,該第二消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改,即該第二消息請求中同樣包括POST、PUT或DELETE指令,返回的響應則為與該第二消息請求對應的第二消息響應,其中,第二消息請求的類型,和處理器33對其處理的方式均與第一請求消息相同。
[0210]可選地,本實施例提供的服務器,其接收器31可以通過接收第一消息獲取請求和第二消息獲取請求,分別返回處理器33中生成的第一處理結果和第二處理結果,具體地,發送器32將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。
[0211]在圖9所示的另一種可能的實現方式中,接收器31接收的消息獲取請求中包括合并標識;則發送器32返回第一處理結果和第二處理結果的具體方式可以為:當合并標識指示合并發送第一處理結果和第二處理結果時,服務器將第一處理結果和第二處理結果進行合并處理,并攜帶在消息獲取請求對應的消息獲取響應中發送給終端設備;或者,當合并標識指示不合并發送第一處理結果和第二處理結果時,服務器將第一處理結果攜帶在第一消息獲取響應中,將第二處理結果攜帶在第二消息獲取響應中發送給終端設備。
[0212]本實施例中的該消息獲取請求中同樣包括GET指令,并且同樣不限制接收器31接收到消息獲取請求的時間,只要是在處理器33生成處理結果前,服務器中具有消息獲取請求,則發送器32可以將上述處理結果攜帶在與消息獲取請求對應的消息獲取響應中發送給終端設備。
[0213]需要說明的是,本實施例不限制具體由哪個消息獲取請求取回第一處理結果或第二處理結果,由于多個消息獲取請求通常以串行的方式發送給服務器,因此可以按照服務器接收到多個消息獲取請求的順序,將首先生成的處理結果由先接收到的消息獲取請求取回;也可以設置為其它規則;還可以通過在每個消息獲取請求中添加指示信息以指示取回第一處理結果或第二處理結果。
[0214]進一步地,與上述實施例類似地,本實施例中的合并標識也可以指示拆分發送第一處理結果或/和第二處理結果,該合并標識的指示內容,拆分該第一處理結果或/和第二處理結果的方式,以及取回對第一處理結果或/和第二處理結果進行拆分后的多個部分的具體方式均與上述實施例類似,再次不在贅述。
[0215]本發明實施例提供的服務器用于執行本發明圖2和圖3所示實施例提供的消息處理方法,具備相應的實體裝置,其實現原理和技術效果類似,此處不再贅述。
[0216]類似地,本實施例提供的服務器與終端設備之間保持的HTTP連接的數量,同樣可以通過終端設備中預先定義的請求控制信息來控制,該HTTP連接的數量小于等于連接數量閾值,控制服務器與終端設備之間保持的HTTP連接的數量的具體方式和實現的有益效果均與上述實施例相同,故在此不再贅述。
[0217]圖10為本發明實施例所提供的另一種終端設備的結構示意圖。本實施例提供的終端設備具體包括:發送器41和接收器42。
[0218]其中,發送器41,用于向服務器發送第一消息請求,以使服務器對該第一消息請求所指定的資源進行處理。
[0219]本實施例中的第一消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改處理,具體地,發送器41的第一消息請求中可以包括POST、DELETE或PUT指令;另夕卜,可以通過GET指令獲取服務器中的已有資源,包括獲取上述POST、DELETE和PUT指令所請求處理的結果,不需要服務器的資源進行改變。
[0220]接收器42,用于接收服務器返回的第一消息響應,該第一消息響應用于向終端設備指示服務器已接收到發送器41發送的第一消息請求。
[0221]該接收器42,還用于接收服務器發送的第一處理結果,其中,該第一處理結果為服務器對第一消息請求所指定的資源進行處理所生成的。
[0222]在本實施例中,考慮到服務器對該第一消息請求所指定的資源進行處理需要一定的處理時間,即接收器42接收服務器對該第一消息請求的處理結果需要延遲一定的時間,因此,本實施例中發送器41向服務器發送該第一消息請求后,接收器42可以即時接收到不包含處理結果的第一消息響應,一方面,終端設備通過該第一消息響應可以獲知服務器已接收到其發送的第一消息請求,正在準備進行處理,避免了終端設備長時間未接收到服務器的響應時,對服務器的處理狀態不明確的現狀,提高了消息處理方法的智能性;另一方面,服務器發送該第一消息響應后,即可關閉該第一消息請求所占用的HTTP連接的資源,有利于降低服務器的資源消耗。
[0223]本實施例在具體實現中,接收器42接收到的第一處理結果,具體攜帶在HTTP響應中,基于RESTful遵循的HTTP協議,可以采用GET指令取回該第一處理結果;具體地,本實施例中的發送器41還用于向服務器發送消息獲取請求,該消息獲取請求包括GET指令;則接收器42接收服務器發送的第一處理結果的具體方式為:接收服務器發送的與消息獲取請求對應的消息獲取響應,該消息獲取響應中包括所述第一處理結果。
[0224]需要說明的是,本實施例中不限制發送器41發送消息獲取請求時間,例如可以是在其發送第一消息請求之后發送的,也可以是在發送第一消息請求之前發送的,只要服務器中存在該消息獲取請求,就可以在服務器生成上述第一處理結果后,將其攜帶在與消息獲取請求對應于的響應中,即消息獲取響應中發送給終端設備。
[0225]本發明實施例提供的終端設備用于執行本發明圖4所示實施例提供的資源獲取方法,具備相應的實體裝置,其實現原理和技術效果類似,此處不再贅述。
[0226]可選地,圖10所示實施例中的第一處理結果可以是通過一個消息獲取響應返回的,如上述實施例中所述的通過消息獲取請求對應的消息獲取響應返回該第一處理結果;另外,該第一處理結果也可以是通過多個消息獲取響應返回的,在具體實現中,發送器41發送的消息獲取請求中可以包括合并標識,該合并標識指示拆分發送第一處理結果,則接收器42接收到服務器發送的多個消息獲取響應,該多個消息獲取響應中一一對應的攜帶有處理器對第一處理結果拆分的多個部分。
[0227]進一步地,同樣可以在本實施例提供的終端設備中設置定時器,相應地,本實施例提供的終端設備還包括處理器,用于在定時器預置的時間內未接收到服務器返回的與消息獲取請求對應的消息獲取響應,取消消息獲取請求;則發送器41還用于并向服務器發送新的消息獲取請求。在本實施例的另一種可能的實現方式中,還可以在服務器中設置定時器,則接收器42接收到服務器發送的超時提示信息,該超時提示信息為服務器在預置的時間內未向終端設備發送消息獲取響應時,取消已發送的消息獲取請求后發送的;從而發送器41還用于根據超時提示信息向服務器發送新的消息獲取請求。
[0228]需要說明的是,在本實施例中,可以不限制發送器41向服務器發送的指示處理資源的HTTP請求的數量,即發送器41還用于向服務器發送第二消息請求,以使服務器對第二消息請求所指定的資源進行處理;則接收器42還用于接收服務器返回的第二消息響應,該第二消息響應用于向終端設備指示服務器已接收到發送模塊發送的第二消息請求;該接收器42還用于接收服務器發送的第二處理結果,其中,該第二處理結果為服務器對第二消息請求所指定的資源進行處理所生成的。
[0229]在本實施例中,第二消息請求為服務器接收的另一個需要進行資源處理的HTTP請求,該第二消息請求同樣用于指示服務器對其指定的資源進行增添、刪除或修改,即該第二消息請求中同樣包括POST、PUT或DELETE指令,返回的響應則為與該第二消息請求對應的第二消息響應,其中,第二消息請求的類型,和服務器對其所請求的資源的處理方式均與第一請求消息相同。
[0230]可選地,本實施例提供的終端設備,其發送器41可以通過發送第一消息獲取請求和第二消息獲取請求,分別取回服務器所生成的第一處理結果和第二處理結果,具體地,接收器42接收到的服務器發送的攜帶在第一消息獲取響應中的第一處理結果,以及攜帶在第二消息獲取響應中的第二處理結果。
[0231]在圖10所示的另一種可能的實現方式中,發送器41同樣通過發送消息獲取請求來取回第一處理結果和第二處理結果,該消息獲取請求中包括合并標識;則接收器42用于接收服務器發送的第一處理結果和第二處理結果,具體包括:當合并標識指示合并發送第一處理結果和第二處理結果時,接收到服務器發送的攜帶有第一處理結果和第二處理結果的消息獲取響應;當合并信息指示不合并發送第一處理結果和第二處理結果時,接收到服務器發送的攜帶有第一處理結果的第一消息獲取響應,以及攜帶有第二處理結果的第二消息獲取響應。
[0232]本實施例中的該消息獲取請求中同樣包括GET指令,并且同樣不限制發送器41發送的消息獲取請求的時間,只要是在服務器生成處理結果之前,向服務器發送該消息獲取請求,則服務器可以將上述處理結果攜帶在與消息獲取請求對應的消息獲取響應中發送給終端設備。
[0233]需要說明的是,本實施例不限制具體由哪個消息獲取請求取回第一處理結果或第二處理結果,由于多個消息獲取請求通常以串行的方式發送給服務器,因此可以按照服務器接收到多個消息獲取請求的順序,將首先生成的處理結果由先接收到的消息獲取請求取回;也可以設置為其它規則;還可以通過在每個消息獲取請求中添加指示信息以指示取回第一處理結果或第二處理結果。
[0234]進一步地,與上述實施例類似地,本實施例中的合并標識也可以指示拆分發送第一處理結果或/和第二處理結果,該合并標識的指示內容,拆分該第一處理結果或/和第二處理結果的方式,以及取回對第一處理結果或/和第二處理結果進行拆分后的多個部分的具體方式均與上述實施例類似,再次不在贅述。
[0235]本發明實施例提供的終端設備用于執行本發明圖5所示實施例提供的資源獲取方法,具備相應的實體裝置,其實現原理和技術效果類似,此處不再贅述。
[0236]類似地,本實施例提供的終端設備與服務器之間保持的HTTP連接的數量,同樣可以通過在終端設備中預先定義請求控制信息的方式來控制,例如該HTTP連接的數量小于等于連接數量閾值,控制終端設備與服務器之間保持的HTTP連接的數量的具體方式和實現的有益效果均與上述實施例相同,故在此不再贅述。
[0237]本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0238]最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。
【主權項】
1.一種消息處理方法,其特征在于,包括: 服務器接收終端設備發送的第一消息請求,所述第一消息請求用于指示所述服務器對其指定的資源進行處理; 所述服務器向所述終端設備返回第一消息響應,所述第一消息響應用于向所述終端設備指示已接收到所述第一消息請求; 所述服務器對所述第一消息請求所指定的資源進行處理,生成第一處理結果。2.根據權利要求1所述的方法,其特征在于,所述服務器接收終端設備發送的第一消息請求之后,還包括: 所述服務器接收所述終端設備發送的第二消息請求,所述第二消息請求用于指示所述服務器對其指定的資源進行處理; 所述服務器向所述終端設備返回第二消息響應,所述第二消息響應用于向所述終端設備指示已接收到所述第二消息請求; 所述服務器對所述第二消息請求所指定的資源進行處理,生成第二處理結果。3.根據權利要求2所述的方法,其特征在于,所述方法還包括: 所述服務器接收終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識;當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果和所述第二處理結果進行合并處理,并攜帶在所述消息獲取請求對應的消息獲取響應中發送給所述終端設備;或者, 當所述合并標識指示不合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果攜帶在第一消息獲取響應中,將所述第二處理結果攜帶在第二消息獲取響應中發送給所述終端設備。4.根據權利要求1所述的方法,其特征在于,所述方法還包括: 所述服務器接收所述終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識; 當所述合并標識指示拆分發送所述第一處理結果時,將所述第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給所述終端設備。5.一種資源獲取方法,其特征在于,包括: 終端設備向服務器發送第一消息請求,以使所述服務器對所述第一消息請求所指定的資源進行處理; 所述終端設備接收所述服務器返回的第一消息響應,所述第一消息響應用于向所述終端設備指示所述服務器已接收到所述第一消息請求; 所述終端設備接收所述服務器發送的第一處理結果,其中,所述第一處理結果為所述服務器對所述第一消息請求所指定的資源進行處理所生成的。6.根據權利要求5所述的方法,其特征在于,所述終端設備向服務器發送第一消息請求之后,還包括: 所述終端設備向所述服務器發送第二消息請求,以使所述服務器對所述第二消息請求所指定的資源進行處理; 所述終端設備接收所述服務器返回的第二消息響應,所述第二消息響應用于向所述終端設備指示所述服務器已接收到所述第二消息請求; 所述終端設備接收所述服務器發送的第二處理結果,其中,所述第二處理結果為所述服務器對所述第二消息請求所指定的資源進行處理所生成的。7.根據權利要求6所述的方法,其特征在于,所述方法還包括: 所述終端設備向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識; 當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,所述終端設備接收到所述服務器發送的攜帶有所述第一處理結果和所述第二處理結果的消息獲取響應;或者, 當所述合并標識指示不合并發送所述第一處理結果和所述第二處理結果時,所述終端設備接收到所述服務器發送的攜帶有所述第一處理結果的第一消息獲取響應和攜帶有所述第二處理結果的第二消息獲取響應。8.根據權利要求5所述的方法,其特征在于,所述方法還包括: 所述終端設備向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識,所述合并標識指示拆分發送所述第一處理結果; 所述終端設備接收所述服務器發送的多個消息獲取響應,所述多個消息獲取響應中一一對應的攜帶有所述處理器對所述第一處理結果拆分的多個部分。9.一種服務器,其特征在于,包括: 接收模塊,用于接收終端設備發送的第一消息請求,所述第一消息請求用于指示所述服務器對其指定的資源進行處理; 發送模塊,用于向所述終端設備返回第一消息響應,所述第一消息響應用于向所述終端設備指示所述接收模塊已接收到所述第一消息請求; 處理模塊,用于對所述接收模塊接收的第一消息請求所指定的資源進行處理,生成第一處理結果。10.根據權利要求9所述的服務器,其特征在于,所述接收模塊,還用于在接收到所述終端設備發送的第一消息請求之后,接收所述終端設備發送的第二消息請求,所述第二消息請求用于指示所述服務器對其指定的資源進行處理; 所述發送模塊,還用于向所述終端設備返回第二消息響應,所述第二消息響應用于向所述終端設備指示所述接收模塊已接收到所述第二消息請求; 所述處理模塊,還用于對所述接收模塊接收的所述第二消息請求所指定的資源進行處理,生成第二處理結果。11.根據權利要求10所述的服務器,其特征在于,所述接收模塊,還用于接收所述終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識; 則所述發送模塊,還用于當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果和所述第二處理結果進行合并處理,并攜帶在所述消息獲取請求對應的消息獲取響應中發送給所述終端設備;或者,當所述合并標識指示不合并發送所述第一處理結果和所述第二處理結果時,將所述第一處理結果攜帶在第一消息獲取響應中,將所述第二處理結果攜帶在第二消息獲取響應中發送給所述終端設備。12.根據權利要求9所述的服務器,其特征在于,所述接收模塊,還用于接收所述終端設備發送的消息獲取請求,所述消息獲取請求中包括合并標識;則所述發送模塊,還用于當所述合并標識指示拆分發送所述第一處理結果時,將所述第一處理結果分為多個部分,一一對應的攜帶在多個消息獲取響應中發送給所述終端設備。13.一種終端設備,其特征在于,包括: 發送模塊,用于向服務器發送第一消息請求,以使所述服務器對所述第一消息請求所指定的資源進行處理; 接收模塊,用于接收所述服務器返回的第一消息響應,所述第一消息響應用于向所述終端設備指示所述服務器已接收到所述發送模塊發送的第一消息請求; 所述接收模塊,還用于接收所述服務器發送的第一處理結果,其中,所述第一處理結果為所述服務器對所述第一消息請求所指定的資源進行處理所生成的。14.根據權利要求13所述的終端設備,其特征在于,所述發送模塊,還用于在向服務器發送第一消息請求之后,向所述服務器發送第二消息請求,以使所述服務器對所述第二消息請求所指定的資源進行處理; 所述接收模塊,還用于接收所述服務器返回的第二消息響應,所述第二消息響應用于向所述終端設備指示所述服務器已接收到所述發送模塊發送的第二消息請求; 所述接收模塊,還用于接收所述服務器發送的第二處理結果,其中,所述第二處理結果為所述服務器對所述第二消息請求所指定的資源進行處理所生成的。15.根據權利要求14所述的終端設備,其特征在于,所述發送模塊,還用于向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識; 則所述接收模塊用于接收所述服務器發送的第一處理結果和第二處理結果,具體包括:當所述合并標識指示合并發送所述第一處理結果和所述第二處理結果時,接收到所述服務器發送的攜帶有所述第一處理結果和所述第二處理結果的消息獲取響應;或者,當所述合并信息指示不合并發送所述第一處理結果和所述第二處理結果時,接收到所述服務器發送的攜帶有所述第一處理結果的第一消息獲取響應和攜帶有所述第二處理結果的第二消息獲取響應。16.根據權利要求13所述的終端設備,其特征在于,所述發送模塊,還用于向所述服務器發送消息獲取請求,所述消息獲取請求中包括合并標識,所述合并標識指示拆分發送所述第一處理結果;則所述接收模塊,還用于接收所述服務器發送的多個消息獲取響應,所述多個消息獲取響應中一一對應的攜帶有所述處理器對所述第一處理結果拆分的多個部分。
【文檔編號】H04L29/08GK106034141SQ201510108560
【公開日】2016年10月19日
【申請日】2015年3月12日
【發明人】阮臻
【申請人】華為技術有限公司