應用於動態網站的動態網頁請求處理系統和方法
2023-08-22 21:57:16 1
專利名稱:應用於動態網站的動態網頁請求處理系統和方法
技術領域:
本發明涉及網絡技術,尤其涉及應用於動態網站的動態網頁請求處理系統和方法。
背景技術:
網絡的技術發展迅速,網頁的功能也在不斷的增強。傳統的靜態網站提供的信息以靜態的方式來完成,所有的頁面的內容都是固定不變的,更新網頁的內容只能通過網頁製作人員手工編輯才能完成。但越來越多的網站提供了互動溝通的服務,讓網頁瀏覽者不再只是被動接受信息,而是能進一步的對網頁的內容提供意見,參與討論。這種類型的網站則屬於動態網站。這種網站具有以下特點
1、具有交互性,能夠根據網頁瀏覽者的要求做出動態的改變。例如,現在比較流行的網上購物車,當您選擇好商品以後提交,頁面能夠立即將您所選擇的商品放入購物車。 再或者博客用戶更新博客內容,提交內容後,網頁將根據博客用戶提交的內容進行更新。
2、能夠自動更新,即不需人工的更新網頁,便會自動生成新的頁面,這樣大大節省工作時間。例如最常見的百度中當用戶輸入關鍵字時,能夠自動將所有相關的網址列出,並在網頁上顯示。
3、因時因人而變,即當不同時間、不同的用戶訪問同一網址時會產生不同的頁面, 例如,用不同的用戶名進行登陸網頁時會顯示不同的信息。
若客戶端發送的請求,請求的是一個靜態的網頁,那麼這個請求發送到Web (網絡) 伺服器後,Web伺服器會在其安裝的機器的硬碟上尋找相關的網頁,然後進行返回。
而如果客戶端發送的請求,請求的是一個動態的網頁,那麼,請求的處理和響應過程要相對複雜一些。如圖1所示,若客戶端請求的是一個包含動態語言代碼的網頁,那麼 Web伺服器接收到該請求後,會將該請求傳送給如圖1所示的動態網站中的動態網頁請求處理系統;該動態網頁請求處理系統包括應用處理程序、驅動程序、資料庫;
安裝在Web伺服器上的應用處理程序,通常是PHP(HypertextPreprocessor,超級文本預處理語言)處理程序;PHP處理程序解釋請求中所包含的動態語言代碼的含義,得到解釋結果,並將解釋結果發送給驅動程序。
驅動程序根據應用處理程序發送的解釋結果,執行相應的功能並返回執行結果。 比如說,根據解釋的結果實現的功能是查詢,那麼,驅動程序就會對資料庫進行相應要求的查詢,並將查詢結果作為執行結果向應用處理程序返回。應用處理程序綜合驅動程序返回的執行結果後,將原網頁請求中的代碼刪除,替換以根據驅動程序返回的執行結果所得到的動態內容,這些動態內容可以是文字、圖片等內容;最終生成一個單純的靜態HTML (HypertextMarkup Language,超文本標記語言)網頁向客戶端返回。
然而,本發明的發明人發現,隨著用戶的增加動態網站進行請求處理的壓力越來越大,對用戶發送的請求響應時間較長,網頁請求處理效率低。發明內容
本發明的實施例提供了一種應用於動態網站的動態網頁請求處理系統和方法,用以提高動態網站的請求處理效率,並減小網站的處理壓力。
根據本發明的一個方面,提供了一種應用於動態網站的動態網頁請求處理系統, 包括負載均衡設備、靜態資源請求處理伺服器、存儲伺服器;
所述負載均衡設備用於在接收到客戶端發送的請求後,若根據該請求中被請求資源的後綴名,確定該請求為靜態資源請求,則將該請求發送給所述靜態資源請求處理伺服器;
靜態資源請求處理伺服器用於接收到所述負載均衡設備發送的請求後,在緩存中查找對應於該請求的請求處理結果;若查找到對應的請求處理結果,則向所述客戶端返回; 若沒查找到,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果。
進一步,所述系統還包括動態資源請求處理伺服器;以及
所述負載均衡設備還用於在接收到客戶端發送的請求後,若根據該請求中被請求資源的後綴名,確定該請求為動態資源請求,則將該請求發送給所述動態資源請求處理伺服器;
所述動態資源請求處理伺服器用於接收到所述負載均衡設備發送的請求後,對該請求進行解釋,得到解釋結果;根據所述解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回。
較佳地,所述靜態資源請求處理伺服器在所述緩存中對應於該請求存儲得到的請求處理結果時,還用於存儲該請求處理結果的時間戳;以及
所述靜態資源請求處理伺服器在所述查找到對應的請求處理結果後,還用於若根據查找到的請求處理結果的時間戳判斷該請求處理結果過期,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後, 根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果及其時間戳。
其中,所述靜態資源請求處理伺服器包括
查找模塊,用於接收到所述負載均衡設備發送的請求後,在緩存中查找對應於該請求的請求處理結果;若沒查找到,發送處理通知;若查找到對應的請求處理結果,則根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期;若判斷過期,則發送處理通 知;若判斷沒過期,則向所述客戶端返回查找到的請求處理結果;
應用處理程序模塊,用於在接收到所述處理通知後,通過應用處理程序對所述查找模塊接收到的請求進行解釋,並輸出解釋結果;
驅動模塊,用於接收所述應用處理程序模塊輸出的解釋結果,根據接收的解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後向所述應用處理程序模塊返回;
所述應用處理程序模塊根據所述驅動模塊返回的執行結果得到該請求的請求處理結果,並向所述查找模塊返回得到的請求處理結果;
所述查找模塊在接收到所述應用處理程序模塊返回的請求處理結果後,將該請求處理結果向所述客戶端返回,並在所述緩存中對應於接收的請求存儲得到的請求處理結果及其時間戳。
較佳地,所述負載均衡設備、靜態資源請求處理伺服器和存儲伺服器位於同一網際網路數據中心IDC中;以及
所述存儲伺服器還用於在本伺服器中存儲的內容更新後,根據預先配置的連結地址向其它IDC的存儲伺服器同步更新的內容;以及
所述存儲伺服器為多個,構成分布式結構的存儲系統。
根據本發明的另一個方面,還提供了一種應用於動態網站的動態網頁請求處理方法,包括
在接收到客戶端發送的請求後,若根據該請求中被請求資源的後綴名,確定該請求為靜態資源請求,則
在緩存中查找對應於該請求的請求處理結果;若查找到對應的請求處理結果,則向所述客戶端返回;否則,對該請求進行解釋,得到解釋結果;根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果。
進一步,在所述接收到客戶端發送的請求後,還包括
若根據該請求中被請求資源的後綴名,確定該請求為動態資源請求,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回。
較佳地,在所述緩存中對應於該請求存儲得到的請求處理結果時,還包括
存儲該請求處理結果的時間戳;以及
所述若查找到對應的請求處理結果,則向所述客戶端返回具體包括
若查找到對應的請求處理結果,根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期;若判斷沒過期,則向所述客戶端返回查找到的請求處理結果。
較佳地,在所述根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期後,還包括
若判斷過期,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果及其時間戳。
較佳地,所述對該請求進行解釋具體為
通過超級文本預處理語言PHP處理程序對該請求進行解釋。
本發明實施例的技術方案中,由於動態網站可以根據不同的被請求資源的後綴名,確定出接收的請求,其所請求的資源是需要動態更新的,還是 靜態的;對於請求的資源是需要動態更新的請求則確定為動態資源請求;對於請求的資源是靜態的請求則確定為靜態資源請求。對於靜態資源請求的重複請求,動態網站將採用更為簡潔、快速的處理,即不再對這類請求進行解釋、處理,而是將之前存儲到緩存中的對應請求處理結果向客戶端返回;從而既可以加快請求的響應速度,同時也減少了網站伺服器側的壓力。
而對於動態資源請求,或首次的靜態資源請求,動態網站的處理方式仍採用與現有技術相同的處理方式,進行解釋和對資料庫執行相應操作後,根據執行結果得到的請求處理結果向客戶端返回。
進一步,本發明實施例的技術方案中,還可以對存儲的請求處理結果記錄時間戳, 以判定其是否過期;對於過期的請求處理結果,動態網站將根據請求重新得到請求處理結果,以免在較長時間段內若請求處理結果變更了,而不能向客戶端返回變更後的請求處理結果。
進一步,本發明實施例的技術方案中,存儲伺服器還可在本伺服器的存儲內容更新後,自動將本伺服器更新的內容同步到其它IDC (Internet DataCenter,網際網路數據中心)的存儲伺服器,以便其它IDC的客戶端可以方便地從本IDC的存儲伺服器獲取相關內容;避免出現其它IDC的客戶端無法獲取本IDC客戶端上傳的內容。
圖1為現有技術的動態網站中動態網頁請求處理系統的示意圖2為本發明實施例的應用於動態網站的動態網頁請求處理方法的流程圖3為本發明實施例的應用於動態網站的動態網頁請求處理系統的結構示意圖4為本發明實施例的靜態資源請求處理伺服器的內部結構框圖。
具體實施方式
為使本發明的目 的、技術方案及優點更加清楚明白,以下參照附圖並舉出優選實施例,對本發明進一步詳細說明。然而,需要說明的是,說明書中列出的許多細節僅僅是為了使讀者對本發明的一個或多個方面有一個透徹的理解,即便沒有這些特定的細節也可以實現本發明的這些方面。
本申請使用的「模塊」、「系統」等術語旨在包括與計算機相關的實體,例如但不限於硬體、固件、軟硬體組合、軟體或者執行中的軟體。例如,模塊可以是,但並不僅限於處理器上運行的進程、處理器、對象、可執行程序、執行的線程、程序和/或計算機。舉例來說,計算設備上運行的應用程式和此計算設備都可以是模塊。一個或多個模塊可以位於執行中的一個進程和/或線程內,一個模塊也可以位於一臺計算機上和/或分布於兩臺或更多臺計算機之間。
本發明的發明人對現有技術的動態網頁技術進行分析,發現同一動態網頁往往會被重複請求;例如,某人上傳、更新了他的微博後,微博動態網站會生成一動態網頁,該網頁中具有更新的微博內容;若有多人希望瀏覽該動態網頁,則微博動態網站會接收到對該動態網頁的多個請求;動態網站需要對這些請求依次進行應用處理程序、驅動程序的處理後, 返回HTML網頁。而實際上,這些請求所請求的網頁都為相同的HTML網頁。因此,動態網站針對一些重複請求,需要重複處理,得到相同的處理結果,在效果上,造成了網站資源浪費、 伺服器壓力大,網頁請求處理效率低。
基於上述分析,本發明的思路為,動態網站對於瀏覽類的請求,首次接收到該請求後,對該請求處理後得到的處理結果進行緩存;在接收到該瀏覽類的請求的重複請求後,不再進行重複的處理,而是查找到緩存的處理結果直接進行返回;從而大大提高了請求處理效率,尤其是提高了對同一動態網頁的重複請求的處理效率,減小了伺服器的壓力,也節約了網站資源。
由此,本文中將動態網站接收的請求劃分為靜態資源請求和動態資源請求;瀏覽類的請求屬於靜態資源請求,該類請求僅是向動態網站請求獲取信息,而不會向動態網站請求提交信息,比如文字、圖片等;相應地,動態資源請求則會向動態網站請求提交信息。對於這兩種不同的請求,本發明的技術方案將進行不同的處理。
下面結合附圖詳細說明本發明實施例的技術方案。依據上述思路,本發明實施例提供的應用於動態網站的動態網頁請求處理方法中,動態網站在接收到客戶端發送的請求後處理的流程,如圖2所示,包括如下步驟
S201 :接收到客戶端發送的請求後,對請求進行分類;若確定請求為靜態資源請求,則執行如下步驟S202 ;若確定請求為動態資源請求,則執行步驟S231。
在本步驟中,動態網站接收到客戶端發送的請求後,對請求進行分類,確定該請求為靜態資源請求還是動態資源請求。具體地,動態網站根據接收的請求中被請求資源的後綴名,確定該請求為靜態資源請求還是動態資源請求。
在實際應用中,技術人員可以根據經驗將請求中的被請求資源的後綴名為jpg」、「. gif」、「.css」的請求劃分為靜態資源請求;將被請求資源的後綴名為其它名稱的請求劃分為動態資源請求。
若根據接收的請求中被請求資源的後綴名,確定該請求為靜態資源請求,則執行步驟S202;若根據接收的請求中被請求資源的後綴名,確定該請求為動態資源請求,則執行步驟S231。
S202 :在緩存中查找對應於該請求的請求處理結果;若查找到,執行步驟S203 ;否則,執行步驟S211。
在本步驟中,動態網站在緩存中查找對應於該請求的請求處理結果;若查找到,執行步驟S203 ;若沒查找到,執行步驟S211。
S203 :判斷查找到的請求處理結果是否過期;若過期,則執行步驟S211 ;若沒過期,則執行步驟S204。
在本步驟中,動態網站根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期;例如,將請求處理結果的時間戳與當前時間比較,兩者之間的時間段超過設定時間段,則判斷該請求處理結果過期;否則,判斷沒有過期。
S204 :將查找到的請求處理結果向客戶端返回。
S211 :對該請求進行處理,得到該請求的請求處理結果。
本步驟中,動態網站對該請求進行處理的過程為對該請求進行解釋,得到解釋結果;根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述 執行結果得到該請求的請求處理結果。具體地,動態網可以使用應用處理程序,如使用PHP處理程序該請求進行解釋;使用驅動程序根據所述解釋結果對資料庫執行相應操作,得到執行結果後,向應用處理程序返回執行結果;應用處理程序根據返回的執行結果得到該請求的請求處理結果。本步驟中對請求進行處理,得到請求處理結果的方法與現有技術的得到請求處理結果的方法相同,為本領域技術人員所熟知,此處不再贅述。
S212:在所述緩存中對應於該請求存儲得到的請求處理結果及其時間戳。
本步驟中,動態網站在緩存中對應於該請求存儲得到的請求處理結果及其時間戳。時間戳反映了存儲該請求處理結果的當前時間。
S231 :對該請求進行處理,得到該請求的請求處理結果後向客戶端返回。
具體地,動態網對該請求進行處理的過程為對該請求進行解釋,得到解釋結果; 根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果;得到請求處理結果後向客戶端返回。具體地,動態網可以使用應用處理程序,如使用PHP處理程序該請求進行解釋;使用驅動程序根據所述解釋結果對資料庫執行相應操作,得到執行結果後,向應用處理程序返回執行結果;應用處理程序根據返回的執行結果得到該請求的請求處理結果。本步驟中對請求進行處理,得到請求處理結果的方法與現有技術的得到請求處理結果的方法相同,為本領域技術人員所熟知,此處不再贅述。
實現上述方法的應用於動態網站的動態網頁請求處理系統,如圖3所示,包括負載均衡設備(LB,Load Balance) 301、靜態資源請求處理伺服器302、存儲伺服器303、動態資源請求處理伺服器304。
負載均衡設備301在接收到客戶端發送的請求後,若根據該請求中被請求資源的後綴名,確定該請求為靜態資源請求,則將該請求發送給靜態資源請求處理伺服器302 ;若根據該請求中被請求資源的後綴名,確定該請求為動態資源請求,則將該請求發送給動態資源請求處理伺服器304。
靜態資源請求處理伺服器302接收到負載均衡設備301發送的請求後,在緩存中查找對應於該請求的請求處理結果;若查找到對應的請求處理結果,則向所述客戶端返回; 若沒查找到,則對該請求進行解釋,得到解釋結果,根據所述解釋結果對存儲伺服器303中的資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果, 並向所述客戶端返回得到的請求處理結果,在所述緩存中對應於該請求存儲得到的請求處理結果。
進一步,靜態資源請求處理伺服器302在所述緩存中對應於該請求存儲得到的請求處理結果時還可存儲該請求處理結果的時間戳。
進一步,靜態資源請求處理伺服器302接收到負載均衡設備301發送的請求,在緩存中查找對應於該請求的請求處理結果後,若根據查找到的請求處理結果的時間戳判斷該請求處理結果過期,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果及其時間戳;若根據查找到的請求處理結果的時間戳判斷該請求處理結果沒有過期,在直接向客戶端返回查找到的請求處理結果。
為了便於其它IDC的用戶可以方便地訪問到上傳到本IDC的存儲伺服器303中存儲的內容;存儲伺服器303在本伺服器中存儲的內容更新後,根據預先配置的連結地址向其它IDC的存儲伺服器同步更新的內容。
具體地,上述的負載均衡設備301、靜態資源請求處理伺服器302和存儲伺服器 303為同一 IDC中的;存儲伺服器303中的數據更新時,存儲伺服器303會在相應的日誌文件中記錄相應的信息,信息內容主要包括什麼時間點、收到了哪些文件、文件的MD5 (消息摘要算法5 )校驗值是多少等信息,同時,存儲伺服器上還運行著使用PERL (Practical Extraction and ReportLanguage,實用報表提取)語言開發的Daemon程序(守護程序),該程序檢測到日誌文件中的新增信息後,可以得知本存儲伺服器什麼時間、收到了哪些文件; 同時,Daemon程序的配置文件中配置著其它IDC存儲伺服器的地址;存儲伺服器303可以使用Rsync (遠程同步)工具將更新的數據傳送到各其它IDC的存儲伺服器進行同步。其它 IDC中的應用於動態網站的動態網頁請求處理系統可以與本發明中提供的動態網頁請求處理系統的結構相同,也可以與本發明提供的動態網頁請求處理系統的結構不同;但不論是哪種動態網頁請求處理系統中的存儲伺服器,都可在本發明的存儲伺服器303進行數據同步後,獲得更新數據;從而其它IDC的用戶也都可以方便地訪問到上傳到本IDC的存儲伺服器303中的內容;使得跨IDC的數據訪問更為方便、可靠,避免了其它IDC的用戶獲取不到上傳到本IDC的內容的問題。
進一步,動態網頁請求處理系統中的存儲伺服器可以是多個,構成分布式結構的存儲系統。
本發明的靜態資源請求處理伺服器302的內部結構框圖,如圖4所示,包括查找模塊401、應用處理程序模塊402、驅動模塊403。
查找模塊401用於接收到所述負載均衡設備發送的請求後,在緩存中查找對應於該請求的請求處理結果;若沒查找到,發送處理通知;若查找到對應的請求處理結果,則根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期;若判斷過期,則發送處理通知;若判斷沒過期,則向所述客戶端返回查找到的請求處理結果;
應用處理程序模塊402用於在接收到所述處理通知後,通過應用處理程序對所述查找模塊接收到的請求進行解釋,並輸出解釋結果;應用處理程序具體可以是PHP處理程序。
驅動模塊403用於接收所述應用處理程序模塊輸出的解釋結果,根據接收的解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後向應用處理程序模塊402 返回;
應用處理程序模塊402根據驅動模塊403返回的執行結果得到該請求的請求處理結果,並向查找模塊401返回得到的請求處理結果;·
查找模塊401在接收到應用處理程序模塊402返回的請求處理結果後,將該請求處理結果向所述客戶端返回,並在所述緩存中對應於接收的請求存儲得到的請求處理結果及其時間戳。
本發明實施例的技術方案中,由於動態網站可以根據不同的被請求資源的後綴名,確定出接收的請求,其所請求的資源是需要動態更新的,還是靜態的;對於請求的資源是需要動態更新的請求則確定為動態資源請求;對於請求的資源是靜態的請求則確定為靜態資源請求。對於靜態資源請求的重複請求,動態網站將採用更為簡潔、快速的處理,即不再對這類請求進行解釋、處理,而是將之前存儲到緩存中的對應請求處理結果向客戶端返回;從而既可以加快請求的響應速度,同時也減少了伺服器側的壓力。
而對於動態資源請求,或首次的靜態資源請求,動態網站的處理方式仍採用與現有技術相同的處理方式,進行解釋和對資料庫執行相應操作後,根據執行結果得到的請求處理結果向客戶端返回。
進一步,本發明實施例的技術方案中,還可以對存儲的請求處理結果記錄時間戳, 以判定其是否過期;對於過期的請求處理結果,動態網站將根據請求重新得到請求處理結果,以免在較長時間段內若請求處理結果變更了,而不能向客戶端返回變更後的請求處理結果。
進一步,本發明實施例的技術方案中,存儲伺服器還可在本伺服器的存儲內容更新後,自動將本伺服器更新的內容同步到其它IDC的存儲伺服器,以便其它IDC的客戶端可以方便地從本IDC的存儲伺服器獲取相關內容,使得跨IDC的數據訪問更為方便 、可靠;避免出現其它IDC的客戶端無法獲取本IDC客戶端上傳的內容。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀取存儲介質中,如 R0M/RAM、磁碟、光碟等。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.ー種應用於動態網站的動態網頁請求處理系統,包括負載均衡設備、靜態資源請求處理伺服器、存儲伺服器; 所述負載均衡設備用於在接收到客戶端發送的請求後,若根據該請求中被請求資源的後綴名,確定該請求為靜態資源請求,則將該請求發送給所述靜態資源請求處理伺服器;靜態資源請求處理伺服器用於接收到所述負載均衡設備發送的請求後,在緩存中查找對應於該請求的請求處理結果;若查找到對應的請求處理結果,則向所述客戶端返回;若沒查找到,則對該請求進行解釋,得到解釋結果,根據所述解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果。
2.如權利要求1所述的系統,其特徵在於,還包括動態資源請求處理伺服器;以及 所述負載均衡設備還用於在接收到客戶端發送的請求後,若根據該請求中被請求資源的後綴名,確定該請求為動態資源請求,則將該請求發送給所述動態資源請求處理伺服器; 所述動態資源請求處理伺服器用於接收到所述負載均衡設備發送的請求後,對該請求進行解釋,得到解釋結果;根據所述解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回。
3.如權利要求2所述的系統,其特徵在幹, 所述靜態資源請求處理伺服器在所述緩存中對應於該請求存儲得到的請求處理結果吋,還用於存儲該請求處理結果的時間戳;以及 所述靜態資源請求處理伺服器在所述查找到對應的請求處理結果後,還用於若根據查找到的請求處理結果的時間戳判斷該請求處理結果過期,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果及其時間戳。
4.如權利要求3所述的系統,其特徵在於,所述靜態資源請求處理伺服器包括 查找模塊,用於接收到所述負載均衡設備發送的請求後,在緩存中查找對應於該請求的請求處理結果;若沒查找到,發送處理通知;若查找到對應的請求處理結果,則根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期;若判斷過期,則發送處理通知;若判斷沒過期,則向所述客戶端返回查找到的請求處理結果; 應用處理程序模塊,用於在接收到所述處理通知後,通過應用處理程序對所述查找模塊接收到的請求進行解釋,並輸出解釋結果; 驅動模塊,用於接收所述應用處理程序模塊輸出的解釋結果,根據接收的解釋結果對所述存儲伺服器的資料庫執行相應操作,得到執行結果後向所述應用處理程序模塊返回;所述應用處理程序模塊根據所述驅動模塊返回的執行結果得到該請求的請求處理結果,並向所述查找模塊返回得到的請求處理結果; 所述查找模塊在接收到所述應用處理程序模塊返回的請求處理結果後,將該請求處理結果向所述客戶端返回,並在所述緩存中對應於接收的請求存儲得到的請求處理結果及其時間戳。
5.如權利要求1-4任一所述的系統,其特徵在於,所述負載均衡設備、靜態資源請求處理伺服器和存儲伺服器位於同一網際網路數據中心IDC中;以及 所述存儲伺服器還用於在本伺服器中存儲的內容更新後,根據預先配置的連結地址向其它IDC的存儲伺服器同步更新的內容;以及 所述存儲伺服器為多個,構成分布式結構的存儲系統。
6.ー種應用於動態網站的動態網頁請求處理方法,包括 在接收到客戶端發送的請求後,若根據該請求中被請求資源的後綴名,確定該請求為靜態資源請求,則 在緩存中查找對應於該請求的請求處理結果;若查找到對應的請求處理結果,則向所述客戶端返回; 否則,對該請求進行解釋,得到解釋結果,根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果。
7.如權利要求6所述的方法,其特徵在幹,在所述接收到客戶端發送的請求後,還包括 若根據該請求中被請求資源的後綴名,確定該請求為動態資源請求,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回。
8.如權利要求7所述的方法,其特徵在於,在所述緩存中對應於該請求存儲得到的請求處理結果時,還包括 存儲該請求處理結果的時間戳;以及 所述若查找到對應的請求處理結果,則向所述客戶端返回具體包括 若查找到對應的請求處理結果,根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期;若判斷沒過期,則向所述客戶端返回查找到的請求處理結果。
9.如權利要求8所述的方法,其特徵在於,在所述根據查找到的請求處理結果的時間戳判斷該請求處理結果是否過期後,還包括 若判斷過期,則對該請求進行解釋,得到解釋結果;根據所述解釋結果對資料庫執行相應操作,得到執行結果後,根據所述執行結果得到該請求的請求處理結果向所述客戶端返回,並在所述緩存中對應於該請求存儲得到的請求處理結果及其時間戳。
10.如權利要求6-9任一所述的方法,其特徵在於,所述對該請求進行解釋具體為 通過超級文本預處理語言PHP處理程序對該請求進行解釋。
全文摘要
本發明公開了一種應用於動態網站的動態網頁請求處理系統和方法,所述系統包括負載均衡設備、靜態資源請求處理伺服器、存儲伺服器;負載均衡設備用於根據請求中被請求資源的後綴名,若確定該請求為靜態資源請求,則將該請求發送給靜態資源請求處理伺服器;靜態資源請求處理伺服器在緩存中若查找到對應於該請求的請求處理結果,則向所述客戶端返回;否則,對該請求進行處理,得到請求處理結果向客戶端返回,並在緩存中對應於該請求存儲得到的請求處理結果。由於動態網站對於請求的資源是靜態的這類請求的重複請求,不再對其進行解釋、處理,而是將之前存儲的對應請求處理結果進行返回;從而既可以加快請求的響應速度,同時也減少了網站的壓力。
文檔編號H04L29/08GK103051706SQ201210555498
公開日2013年4月17日 申請日期2012年12月19日 優先權日2012年12月19日
發明者王浩宇, 陳爾冬 申請人:新浪網技術(中國)有限公司