欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種Web服務(wù)并發(fā)請(qǐng)求合成方法及系統(tǒng)的制作方法

文檔序號(hào):7946618閱讀:173來源:國知局
專利名稱:一種Web服務(wù)并發(fā)請(qǐng)求合成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種遠(yuǎn)程Web服務(wù)并發(fā)請(qǐng)求合成方法及系統(tǒng),適用于云計(jì)算、分布式應(yīng)用系統(tǒng)中服務(wù)器性能與客戶端用戶體驗(yàn)的優(yōu)化。
背景技術(shù)
當(dāng)今Web應(yīng)用大多采用異步遠(yuǎn)程服務(wù)調(diào)用(例如AJAX)的方式來提升用戶體驗(yàn), 以達(dá)到操作流暢的富客戶端效果,其結(jié)果是同一客戶端的并發(fā)請(qǐng)求數(shù)大幅增加。服務(wù)器端為響應(yīng)每一次客戶端請(qǐng)求都需要分配相應(yīng)的網(wǎng)絡(luò)、CPU、存儲(chǔ)等資源,因此開銷大幅增大,服務(wù)器處理并發(fā)客戶數(shù)的能力相對(duì)降低?,F(xiàn)有技術(shù)一種是采取排隊(duì)控制方法,并約束同一客戶端的最大并發(fā)請(qǐng)求數(shù),這種方法有效降低了單位時(shí)間內(nèi)的并發(fā)請(qǐng)求總數(shù),但并未提高服務(wù)器的處理能力。另一種要求開發(fā)人員手動(dòng)設(shè)計(jì)實(shí)現(xiàn)合理的Web服務(wù)接口,提高單個(gè)服務(wù)對(duì)網(wǎng)絡(luò)和計(jì)算資源的利用率,這種方法對(duì)開發(fā)人員技能要求高、實(shí)施難度大。

發(fā)明內(nèi)容
發(fā)明目的本發(fā)明的目的在于針對(duì)上述現(xiàn)有技術(shù)中存在的問題和不足提供一種手動(dòng)或自動(dòng)合并客戶端、提高服務(wù)器的處理能力和客戶端響應(yīng)速度的Web服務(wù)并發(fā)請(qǐng)求合成方法。同時(shí)本發(fā)明還提供一種對(duì)設(shè)計(jì)要求低、容易實(shí)現(xiàn)、用戶體驗(yàn)好的Web服務(wù)并發(fā)請(qǐng)求合成方法的系統(tǒng)。技術(shù)方案一種Web服務(wù)并發(fā)請(qǐng)求合成方法,包括如下步驟(1)用戶界面上的Web服務(wù)請(qǐng)求經(jīng)過Web服務(wù)代理,先進(jìn)入消息隊(duì)列等待;(2)在當(dāng)前沒有發(fā)起HTTP請(qǐng)求(遠(yuǎn)程請(qǐng)求)且服務(wù)器不繁忙時(shí),請(qǐng)求合成器將消息隊(duì)列中的消息合并成一個(gè)HTTP請(qǐng)求數(shù)據(jù)包發(fā)送到服務(wù)器端;(3)服務(wù)器再從HTTP請(qǐng)求數(shù)據(jù)包中分解出Web服務(wù)請(qǐng)求隊(duì)列,通過與客戶端一致的Web服務(wù)接口用于定義、識(shí)別并執(zhí)行服務(wù)器端的業(yè)務(wù)邏輯;(4)執(zhí)行完成后,執(zhí)行的結(jié)果同步返回響應(yīng)合成模塊,并按照預(yù)定義的規(guī)則合并成為一個(gè)數(shù)據(jù)包返回給客戶端;(5)客戶端收到服務(wù)器端的響應(yīng)后,按照相應(yīng)的規(guī)則分解響應(yīng)數(shù)據(jù)包,并異步調(diào)用用戶界面程序傳入的回調(diào)函數(shù)。當(dāng)前沒有發(fā)起HTTP請(qǐng)求(遠(yuǎn)程請(qǐng)求)且服務(wù)器不繁忙時(shí),請(qǐng)求合成器將消息隊(duì)列中的消息合并成一個(gè)HTTP請(qǐng)求發(fā)送到服務(wù)器端,每次客戶端都會(huì)發(fā)起一次網(wǎng)絡(luò)上的HTTP 請(qǐng)求,但是每個(gè)HTTP數(shù)據(jù)包中除了用戶所請(qǐng)求的數(shù)據(jù)之外,還包含了固定的一定數(shù)據(jù)量的協(xié)議相關(guān)數(shù)據(jù)(如請(qǐng)求行,頭部信息等),將多次異步請(qǐng)求合并成一個(gè)請(qǐng)求在一次HTTP請(qǐng)求中發(fā)送,相對(duì)發(fā)送多次HTTP請(qǐng)求來講,無疑是對(duì)網(wǎng)絡(luò)帶寬的極大節(jié)省。通過合并客戶端請(qǐng)求,可將多次請(qǐng)求的結(jié)果數(shù)據(jù)在一次HTTP響應(yīng)中一次性返回,相對(duì)等待多次HTTP響應(yīng)并將結(jié)果進(jìn)行組合,等待一次響應(yīng)并一次性拿到結(jié)果會(huì)更有效率并且更加可靠。這樣可以很大程度上縮短用戶的等待時(shí)間,并且有效減少因網(wǎng)絡(luò)不穩(wěn)定等問題所導(dǎo)致的數(shù)據(jù)傳輸失敗,從而大幅度改善和提高用戶體驗(yàn)。更重要的是,服務(wù)器再從HTTP請(qǐng)求數(shù)據(jù)包中分解出Web 服務(wù)請(qǐng)求隊(duì)列,通過與客戶端一致的Web服務(wù)接口定義、識(shí)別并執(zhí)行服務(wù)器端的業(yè)務(wù)邏輯; 即服務(wù)器端針對(duì)每個(gè)HTTP請(qǐng)求都要分配固定的服務(wù)器資源來進(jìn)行相應(yīng)的操作(如開啟線程并為之開辟相應(yīng)的內(nèi)存空間,調(diào)配CPU資源等),可有效降低請(qǐng)求次數(shù),這對(duì)服務(wù)器性能和吞吐量的提升,以及提高服務(wù)器端穩(wěn)定性和可靠性等方面,有著至關(guān)重要的作用。步驟(4)中所述預(yù)定義的規(guī)則是按照發(fā)送HTTP請(qǐng)求時(shí)所包含的Web服務(wù)順序,生成結(jié)果集隊(duì)列。步驟O)中,同一時(shí)刻僅允許發(fā)起一個(gè)HTTP請(qǐng)求,以節(jié)省網(wǎng)絡(luò)帶寬。一種實(shí)現(xiàn)上述Web服務(wù)并發(fā)請(qǐng)求合成方法的系統(tǒng),包括客戶端和服務(wù)器端,其中, 客戶端包括用戶界面、Web服務(wù)代理和客戶端Web服務(wù)編程接口 ;所述用戶界面上的Web服務(wù)請(qǐng)求經(jīng)過Web服務(wù)代理進(jìn)入消息隊(duì)列等待;服務(wù)器端包括請(qǐng)求分發(fā)模塊、響應(yīng)合成模塊、服務(wù)器端Web服務(wù)編程接口和Web服務(wù)實(shí)現(xiàn)模塊;所述服務(wù)器端的請(qǐng)求分發(fā)模塊從HTTP請(qǐng)求數(shù)據(jù)包中分解出Web服務(wù)請(qǐng)求隊(duì)列;所述服務(wù)器端Web服務(wù)接口與客戶端Web服務(wù)接口定義、識(shí)別并執(zhí)行服務(wù)器端的業(yè)務(wù)邏輯,并將執(zhí)行結(jié)果同步返回響應(yīng)合成模塊。通過合并客戶端請(qǐng)求,可將多次請(qǐng)求的結(jié)果數(shù)據(jù)在一次HTTP響應(yīng)中一次性返回, 相對(duì)等待多次HTTP響應(yīng)并將結(jié)果進(jìn)行組合,等待一次響應(yīng)并一次性拿到結(jié)果會(huì)更有效率并且更加可靠。這樣可以很大程度上縮短用戶的等待時(shí)間,并且有效減少因網(wǎng)絡(luò)不穩(wěn)定等問題所導(dǎo)致的數(shù)據(jù)傳輸失敗,從而大幅度改善和提高用戶體驗(yàn)。所述用戶界面為應(yīng)用定制的Web頁面。所述服務(wù)器端Web服務(wù)接口和客戶端Web服務(wù)接口均為應(yīng)用業(yè)務(wù)邏輯編程接口, 以 RESTful Web Services 的形式提供。有益效果本發(fā)明所提供的Web服務(wù)并發(fā)請(qǐng)求合成方法,通過請(qǐng)求合成器將消息隊(duì)列中的消息合并成一個(gè)HTTP請(qǐng)求發(fā)送到服務(wù)器端,每次客戶端都會(huì)發(fā)起一次網(wǎng)絡(luò)上的 HTTP請(qǐng)求,極大節(jié)省了網(wǎng)絡(luò)帶寬。同時(shí)有效降低請(qǐng)求次數(shù),提升了服務(wù)器的性能和吞吐量, 以及提高服務(wù)器端穩(wěn)定性和可靠性。本發(fā)明所提供的Web服務(wù)并發(fā)請(qǐng)求合成系統(tǒng)通過合并客戶端請(qǐng)求,可將多次請(qǐng)求的結(jié)果數(shù)據(jù)在一次HTTP響應(yīng)中一次性返回,縮短了用戶的HTTP請(qǐng)求等待時(shí)間,并且有效減少因網(wǎng)絡(luò)不穩(wěn)定等問題所導(dǎo)致的數(shù)據(jù)傳輸失敗,從而大幅度改善和提高用戶體驗(yàn)。


圖1為本發(fā)明Web服務(wù)并發(fā)請(qǐng)求合成方法實(shí)施例的流程圖;圖2為本發(fā)明Web服務(wù)并發(fā)請(qǐng)求合成系統(tǒng)實(shí)施例的工作原理圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明的各種等價(jià)形式的修改均落于本申請(qǐng)所附權(quán)利要求所限定的范圍。如圖1所示,Web服務(wù)并發(fā)請(qǐng)求合成方法的步驟如下
一種Web服務(wù)并發(fā)請(qǐng)求合成方法,其特征在于,包括如下步驟用戶界面上的Web服務(wù)請(qǐng)求經(jīng)過Web服務(wù)代理,先進(jìn)入消息隊(duì)列等待;在當(dāng)前沒有發(fā)起HTTP請(qǐng)求且服務(wù)器不繁忙時(shí),請(qǐng)求合成器將消息隊(duì)列中的消息合并成一個(gè)HTTP請(qǐng)求發(fā)送到服務(wù)器端;默認(rèn)情況下,當(dāng)消息隊(duì)列為空時(shí),第一個(gè)Web服務(wù)請(qǐng)求不需要等待,立刻發(fā)送到客戶端。在收到響應(yīng)之前,所有隨后發(fā)起的請(qǐng)求2 m進(jìn)入等待隊(duì)列,其中m的值可以根據(jù)實(shí)際情況進(jìn)行測(cè)試,找出一次請(qǐng)求可發(fā)送的最大Web服務(wù)數(shù)的最優(yōu)值進(jìn)行配置,或在運(yùn)行時(shí)動(dòng)態(tài)判斷服務(wù)器狀態(tài)實(shí)時(shí)決定最大請(qǐng)求值,但最終必須小于部署網(wǎng)絡(luò)中的通信最大傳輸單元。第一個(gè)響應(yīng)返回以后,合并發(fā)送當(dāng)前隊(duì)列中的2 m個(gè)HTTP請(qǐng)求。同一時(shí)刻只允許發(fā)起一個(gè)批處理請(qǐng)求(即一個(gè)HTTP請(qǐng)求,請(qǐng)求合成器將消息隊(duì)列中的消息合并成一個(gè)HTTP請(qǐng)求)??蛻舳送ㄟ^全局的開關(guān)標(biāo)志,控制是否等待或發(fā)送請(qǐng)求。 當(dāng)開關(guān)開啟時(shí),所有Web服務(wù)請(qǐng)求都先進(jìn)入隊(duì)列等待,當(dāng)開關(guān)關(guān)閉時(shí),立刻發(fā)送所有請(qǐng)求。服務(wù)器再從HTTP請(qǐng)求數(shù)據(jù)包中分解出Web服務(wù)請(qǐng)求隊(duì)列,服務(wù)器端Web服務(wù)接口與客戶端Web服務(wù)接口定義、識(shí)別并執(zhí)行服務(wù)器端的業(yè)務(wù)邏輯;執(zhí)行完成后,執(zhí)行結(jié)果同步返回響應(yīng)合成模塊,并按照發(fā)送HTTP請(qǐng)求時(shí)所包含的 Web服務(wù)順序生成結(jié)果集隊(duì)列預(yù)定義的規(guī)則合并成為一個(gè)數(shù)據(jù)包返回給客戶端;客戶端收到服務(wù)器端的響應(yīng)后,按照相應(yīng)的規(guī)則分解響應(yīng)數(shù)據(jù)包,并異步調(diào)用用戶界面程序傳入的回調(diào)函數(shù)。如圖2所示,實(shí)現(xiàn)上述Web服務(wù)并發(fā)請(qǐng)求合成方法的系統(tǒng),其客戶端將應(yīng)用定制的 Web頁面作為用戶界面,服務(wù)器端Web服務(wù)接口和客戶端Web服務(wù)接口均為應(yīng)用業(yè)務(wù)邏輯編程接口,以RESTful Web krvices的形式提供,客戶端的用戶界面上的Web服務(wù)請(qǐng)求經(jīng)過 Web服務(wù)代理進(jìn)入消息隊(duì)列等待;所述服務(wù)器端的請(qǐng)求分發(fā)模塊從HTTP請(qǐng)求數(shù)據(jù)包中分解出Web服務(wù)請(qǐng)求隊(duì)列,所述服務(wù)器端Web服務(wù)接口與客戶端Web服務(wù)接口定義、識(shí)別并執(zhí)行服務(wù)器端的業(yè)務(wù)邏輯,并將執(zhí)行結(jié)果同步返回響應(yīng)合成模塊。下面以AJAX請(qǐng)求為例,通過Javascript語言等技術(shù)表達(dá)方式,描述在當(dāng)前最為流行的Web應(yīng)用程序中,如何實(shí)現(xiàn)異步式Web服務(wù)并發(fā)請(qǐng)求合成系統(tǒng)。實(shí)現(xiàn)步驟如下(1)客戶端代碼發(fā)起遠(yuǎn)程過程調(diào)用。(2)將當(dāng)前遠(yuǎn)程過程調(diào)用加入到等待隊(duì)列中的最后一個(gè)待調(diào)用組中,檢查當(dāng)前狀態(tài),是否正在等待AJAX響應(yīng),如沒有正在進(jìn)行的請(qǐng)求進(jìn)入(4)。(3)如等待隊(duì)列中的最后一個(gè)待調(diào)用組內(nèi)已有的遠(yuǎn)程過程調(diào)用數(shù)超過指定數(shù)目 (具體數(shù)目依實(shí)際情況而定),新建一個(gè)待調(diào)用組,將其加入等待隊(duì)列的最后位置。本次操作結(jié)束并等待AJAX響應(yīng),收到AJAX響應(yīng)或響應(yīng)失敗后進(jìn)入(6)。(4)將等待隊(duì)列中第一個(gè)待調(diào)用組取出,根據(jù)指定規(guī)則(具體規(guī)則依實(shí)際情況而定)封裝為AJAX請(qǐng)求。(5)發(fā)起AJAX請(qǐng)求,并將當(dāng)前狀態(tài)置為等待AJAX響應(yīng)。本次操作結(jié)束并等待AJAX 響應(yīng),收到AJAX響應(yīng)或響應(yīng)失敗后進(jìn)入(6)。(6)解析AJAX響應(yīng)結(jié)果,根據(jù)指定規(guī)則(具體規(guī)則依實(shí)際情況而定)回調(diào)客戶端代碼中與之前所發(fā)起的遠(yuǎn)程過程調(diào)用相關(guān)的回調(diào)方法并傳回相關(guān)的返回值。
(7)檢查等待隊(duì)列,如等待隊(duì)列不為空,進(jìn)入G),如等待隊(duì)列為空,本次操作結(jié)
束ο
權(quán)利要求
1.一種Web服務(wù)并發(fā)請(qǐng)求合成方法,其特征在于,包括如下步驟(1)用戶界面上的Web服務(wù)請(qǐng)求經(jīng)過Web服務(wù)代理,先進(jìn)入消息隊(duì)列等待;(2)在當(dāng)前沒有發(fā)起HTTP請(qǐng)求且服務(wù)器不繁忙時(shí),請(qǐng)求合成器將消息隊(duì)列中的消息合并成一個(gè)HTTP請(qǐng)求數(shù)據(jù)包發(fā)送到服務(wù)器端;(3)服務(wù)器再從HTTP請(qǐng)求數(shù)據(jù)包中分解出Web服務(wù)請(qǐng)求隊(duì)列,服務(wù)器端Web服務(wù)接口與客戶端Web服務(wù)接口用于定義、識(shí)別并執(zhí)行服務(wù)器端的業(yè)務(wù)邏輯;(4)執(zhí)行完成后,執(zhí)行結(jié)果同步返回響應(yīng)合成模塊,并按照預(yù)定義的規(guī)則合并成為一個(gè)數(shù)據(jù)包返回給客戶端;(5)客戶端收到服務(wù)器端的響應(yīng)后,按照相應(yīng)的規(guī)則分解響應(yīng)數(shù)據(jù)包,并異步調(diào)用用戶界面程序傳入的回調(diào)函數(shù)。
2.如權(quán)利要求1所述的Web服務(wù)并發(fā)請(qǐng)求合成方法,其特征在于步驟中所述預(yù)定義的規(guī)則是按照發(fā)送HTTP請(qǐng)求時(shí)所包含的Web服務(wù)順序,生成結(jié)果集隊(duì)列。
3.如權(quán)利要求1所述的Web服務(wù)并發(fā)請(qǐng)求合成方法,其特征在于步驟(2)中,同一時(shí)刻僅允許發(fā)起一個(gè)HTTP請(qǐng)求。
4.一種實(shí)現(xiàn)權(quán)利要求1所述Web服務(wù)并發(fā)請(qǐng)求合成方法的系統(tǒng),其特征在于包括客戶端和服務(wù)器端;客戶端包括用戶界面、Web服務(wù)代理和客戶端Web服務(wù)接口 ;所述用戶界面上的Web服務(wù)請(qǐng)求經(jīng)過Web服務(wù)代理進(jìn)入消息隊(duì)列等待;服務(wù)器端包括請(qǐng)求分發(fā)模塊、響應(yīng)合成模塊、服務(wù)器端Web服務(wù)接口和Web服務(wù)實(shí)現(xiàn)模塊;所述請(qǐng)求分發(fā)模塊從HTTP請(qǐng)求數(shù)據(jù)包中分解出Web服務(wù)請(qǐng)求隊(duì)列;服務(wù)器端Web服務(wù)接口與客戶端Web服務(wù)接口定義、識(shí)別并執(zhí)行服務(wù)器端的業(yè)務(wù)邏輯,并將執(zhí)行結(jié)果同步返回響應(yīng)合成模塊。
5.如權(quán)利要求4所述的Web服務(wù)并發(fā)請(qǐng)求合成系統(tǒng),其特征在于所述用戶界面為應(yīng)用定制的Web頁面。
6.如權(quán)利要求4所述的Web服務(wù)并發(fā)請(qǐng)求合成系統(tǒng),其特征在于所述服務(wù)器端Web服務(wù)接口和客戶端Web服務(wù)接口均為應(yīng)用業(yè)務(wù)邏輯編程接口,以RESTful Web krvices的形式提供。
全文摘要
本發(fā)明公開了一種Web服務(wù)并發(fā)請(qǐng)求合成方法及系統(tǒng),方法主要通過請(qǐng)求合成器將消息隊(duì)列中的消息合并成一個(gè)HTTP請(qǐng)求發(fā)送到服務(wù)器端,每次客戶端都會(huì)發(fā)起一次網(wǎng)絡(luò)上的HTTP請(qǐng)求,節(jié)省了帶寬,提升了服務(wù)器的性能和吞吐量。系統(tǒng)通過合并客戶端請(qǐng)求,可將多次請(qǐng)求的結(jié)果數(shù)據(jù)在一次HTTP響應(yīng)中一次性返回,相對(duì)等待多次HTTP響應(yīng)并將結(jié)果進(jìn)行組合,等待一次響應(yīng)并一次性拿到結(jié)果會(huì)更有效率并且更加可靠。同時(shí)可以很大程度上縮短用戶的等待時(shí)間,并且有效減少因網(wǎng)絡(luò)不穩(wěn)定等問題所導(dǎo)致的數(shù)據(jù)傳輸失敗,從而大幅度改善和提高用戶體驗(yàn)。
文檔編號(hào)H04L29/08GK102387206SQ201110322748
公開日2012年3月21日 申請(qǐng)日期2011年10月20日 優(yōu)先權(quán)日2011年10月20日
發(fā)明者田傳武, 盛弘, 艾順剛, 范同祥 申請(qǐng)人:鎮(zhèn)江睿泰信息科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
遂平县| 新宾| 璧山县| 台南市| 寻甸| 横峰县| 太仆寺旗| 柘荣县| 炎陵县| 额济纳旗| 石门县| 秀山| 塘沽区| 襄汾县| 密山市| 安吉县| 中牟县| 余江县| 龙岩市| 泸水县| 桓仁| 休宁县| 招远市| 济南市| 西充县| 广灵县| 威海市| 西和县| 出国| 南康市| 惠来县| 泗阳县| 福清市| 汨罗市| 湖州市| 嘉黎县| 寿阳县| 大埔区| 电白县| 永昌县| 栖霞市|