[發(fā)明專利]貪婪式AJAX請求快響應調度算法有效
| 申請?zhí)枺?/td> | 201210357432.9 | 申請日: | 2012-09-24 |
| 公開(公告)號: | CN102833356A | 公開(公告)日: | 2012-12-19 |
| 發(fā)明(設計)人: | 許峰;周文歡;馬鴻旭;劉璇 | 申請(專利權)人: | 河海大學 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 柏尚春 |
| 地址: | 210098 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 貪婪 ajax 請求 響應 調度 算法 | ||
技術領域
本發(fā)明涉及一種貪婪式AJAX請求快響應調度算法,屬于Web?應用程序技術領域。
背景技術
基于Web的傳統(tǒng)應用在當今的企業(yè)中得到了廣泛的應用,?Web頁面僅僅會提供用戶填寫信息的表單或者到其他資源的鏈接,比如另外一個網頁的鏈接。用戶唯一可能做的是向Web表單輸入數(shù)據(jù)或者是單擊一個鏈接,這種方式會因為長時間的延遲導致十分糟糕的終端用戶體驗。Ajax是近些年正式提出的一項綜合技術,其主要特點是為Web開發(fā)提供異步的數(shù)據(jù)傳輸和交換方式,可以在不重載刷新界面的情況下與服務器進行數(shù)據(jù)交換,Ajax技術的用戶交互的關鍵在于,可以僅向服務器發(fā)送并取回必需的數(shù)據(jù)而不是當前呈現(xiàn)的整Web頁的龐大的數(shù)據(jù)(HTML、CSS、圖片、腳本、FLASH等)。因為在服務器和客戶端之間傳輸?shù)臄?shù)據(jù)大量減少,那么客戶端得到的響應也就更快,用戶在等待的時間內可以處理其他事情。
Ajax的應用,雖然功能強大并且是對用戶友好的,但是在向服務器端發(fā)送請求和接收從服務器返回的響應的過程中,一些問題仍然不可忽視。一個最主要的問題就是客戶端和服務器之間發(fā)起通信的次數(shù)。如果請求發(fā)送的很頻繁,那么服務器會因為不斷的處理來自多個不同用戶的請求,而陷入僵局。從而客戶端也會一直在等待服務器的響應而看起來沒有任何反應。目前普遍的解決方式是根據(jù)HTTP規(guī)范規(guī)定,客戶機與服務器請求數(shù)不能超過2個,但是這個也會帶來其他問題,如果請求數(shù)很多且前面2個請求的響應時間過長,內置的排隊機制就沒有提供足夠的控制力而造成后面有些請求相應時間短的也會被阻塞,用戶請求同樣不能被處理。
發(fā)明內容
發(fā)明目的:針對目前瀏覽器存在的弊端題,本發(fā)明提供一種工作效率高的貪婪式AJAX請求快響應調度算法。
技術方案:一種貪婪式AJAX請求快響應調度算法,包括:
將AJAX請求按照響應時間級別分成三大類請求隊列;其中,第一類請求隊列中的AJAX請求是響應時間最長;第二類請求隊列中的AJAX請求響應時間較長;第三類請求隊列中的AJAX請求響應時間最短。
所述第一類請求隊列中的AJAX請求響應時間在1s±0.3s的請求,主要是涉及到與請求服務器端有數(shù)據(jù)庫或者文件存取操作的AJAX請求(如調用數(shù)據(jù),提交表單等);
所述第二類請求隊列中的AJAX請求是涉及到頁面重載方面的請求,響應時間在0.6s±0.3s因為包含頁面的http請求,所以時間會較慢(如URL重定位)。
所述第三類請求隊列中的AJAX請求是涉及到頁面一些布局顯示方面的請求,因為所有的http請求已經完成,響應時間比較短,響應時間為0.2s±0.1s,主要是頁面操作(如CSS文件顯示,JS文件調用等)請求。
如果按照傳統(tǒng)的請求方式,一個個請求按照FIFO,先來先出的方式,進行排隊,這樣如果有響應時間較長的請求存在,那么其他一些短響應原本可以迅速產生,但是他們實際上沒有發(fā)送,而是一直在等待前兩個請求返回并釋放連接。很多場合下,會遇到超時的情況,當設置了超時但是同時又沒有使用重試的時候,因為前兩個請求超時,其他連接因為等待連接的時間過長也會跟著超時。
而本發(fā)明的算法是,設計三類響應時間級別不同的請求隊列,目標的響應隊列設為兩個,對于任意一個AJAX請求,根據(jù)其響應時間、按照先進先出的策略將其歸類到相應的一類請求隊列中;當兩個中的某一個響應隊列在進行一個AJAX請求時,另一個響應隊列只能進行比上述正在進行的AJAX請求響應時間短的其他類請求隊列中的AJAX請求,除非其他類請求隊列中已經不存在響應時間更短的AJAX請求時,才進行與上述正在進行的AJAX請求具有同一響應時間級別的AJAX請求。這樣就使得如果對于都是同一響應時間級別的AJAX請求,算法只是對它們進行簡單的調度,使得兩個連接并發(fā)請求;對于存在處于不同響應時間級別的AJAX請求,針對與每一個AJAX請求,本發(fā)明都通過分析其響應時間后給它們打上時間標記,讓兩個響應時間較長在存在有響應時間較短的AJAX請求時不同時進行,而是在進行一個較長響應時間級別的AJAX請求時,能夠同時處理一個較短響應時間級別的AJAX請求,這樣既能夠在最短的時間內處理完所有的AJAX請求,又能避免因請求時間過長而造成的AJAX請求超時、用戶瀏覽器假死等問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于河海大學,未經河海大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210357432.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:差動齒輪型減速器
- 下一篇:動態(tài)慣性調節(jié)裝置





