[發明專利]基于緩存流的加速有效
| 申請號: | 201480056920.3 | 申請日: | 2014-10-02 |
| 公開(公告)號: | CN105637510B | 公開(公告)日: | 2017-10-13 |
| 發明(設計)人: | 諾亞·菲德爾;杰里米·納爾遜 | 申請(專利權)人: | 谷歌公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 中原信達知識產權代理有限責任公司11219 | 代理人: | 李寶泉,周亞榮 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 緩存 加速 | ||
1.一種系統,包括:
處理器;
處理器可讀存儲器,其中存儲有使所述處理器執行包括以下的步驟的方法的指令:
在web服務器處從訪問裝置接收內容請求;
在所述web服務器處分析所接收的內容請求以確定所接收的內容請求是否與所述web服務器先前執行的內容請求相同;
響應于確定所接收的內容請求與先前執行的內容請求不相同:
發起所接收的內容請求的串行執行;
創建每個所處理的遠程過程調用的蹤跡或記錄;以及
存儲表示所處理的請求和所創建的蹤跡或記錄的元數據;
響應于確定所接收的內容請求與先前執行的內容請求相同:
基于所述先前執行的內容請求來識別能夠與所接收的內容請求的執行并行地單獨執行的一個或多個遠程過程調用;以及
與所接收的內容請求的串行執行并行地發起所識別的遠程過程調用的執行;
在所述web服務器處本地緩存響應于所識別的遠程過程調用的并行執行而接收的數據;以及
響應于所接收的內容請求的所述串行執行,向所述訪問裝置提供所緩存的數據。
2.如權利要求1所述的系統,其中,所識別的遠程過程調用的執行包括將至少一個數據請求發送到在數據中心處的至少一個數據庫以執行。
3.如權利要求1所述的系統,進一步包括:
基于所接收的內容請求來生成請求簽名;
將所生成的請求簽名與一個或多個已知或先前生成的請求簽名進行比較以確定所接收的內容請求是否與所述web服務器先前執行的內容請求相同,所述已知或先前生成的請求簽名每一個與一個或多個已知或先前執行的遠程過程調用的集合相關聯;以及
使用與所述已知或先前生成的請求簽名相關聯的一個或多個已知或先前執行的遠程過程調用的集合來識別能夠與所接收的內容請求的執行并行地單獨執行的一個或多個遠程過程調用。
4.如權利要求3所述的系統,其中,所接收的內容請求包括關于發起所述內容請求的應用的信息;以及
其中,所述請求簽名是基于關于發起所述內容請求的所述應用的信息來生成的。
5.一種計算機實現的方法,包括:
在web服務器處從數據訪問裝置接收內容請求;
從所接收的內容請求生成請求簽名;
將所生成的請求簽名與至少一個已知的請求簽名進行比較,所述已知的請求簽名與至少一個已知的遠程過程調用相關聯;
響應于確定所生成的請求簽名與任何已知的請求簽名不匹配:
發起所接收的內容請求的串行執行;
創建至少一個所處理的遠程過程調用的蹤跡或記錄;以及
存儲所生成的請求簽名以及所創建的蹤跡或記錄;
響應于確定所生成的請求簽名與所述已知的請求簽名相匹配,
與所接收的內容請求的串行執行并行地發起與所述已知的請求簽名相關聯的所述至少一個已知的遠程過程調用的執行;
在所述web服務器的處理器可讀存儲器中本地緩存響應于所識別的遠程過程調用的并行執行而接收的數據;以及
響應于所接收的內容請求的所述串行執行,向所述訪問裝置提供所緩存的數據。
6.如權利要求5所述的方法,其中,所述至少一個已知的遠程過程調用的執行包括將至少一個數據請求發送到在數據中心處的至少一個數據庫以執行。
7.如權利要求5所述的方法,其中,所生成的請求簽名識別在所接收的內容請求中包括的所有所述遠程過程調用;以及
比較步驟包括確定所識別的遠程過程調用是否與和已知的請求簽名相關聯的已知或先前執行的遠程過程調用集合相匹配。
8.如權利要求5所述的方法,其中,所接收的內容請求包括關于發起所述內容請求的應用的信息;以及
其中,所述請求簽名是基于關于發起所述內容請求的應用的信息來生成的。
9.如權利要求5所述的方法,其中,比較步驟包括將所生成的請求簽名與一個或多個已知或先前生成的請求簽名進行比較,所述已知或先前生成的請求簽名中的每一個與一個或多個先前執行的數據請求的集合相關聯。
10.如權利要求9所述的方法,其中,所述已知或先前生成的請求簽名存儲在所述web服務器的所述處理器可讀存儲器中。
11.一種系統,包括:
處理器;
處理器可讀存儲器,其中存儲有使所述處理器執行包括以下的步驟的方法的指令:
從做出請求的實體接收對內容的請求;
基于所接收的對內容的請求生成請求指紋;
首先確定所生成的請求指紋與存儲的請求指紋是否相匹配,所述存儲的指紋具有與其相關聯的遠程過程調用的集合;
響應于確定所生成的請求指紋與存儲的請求指紋不匹配:
發起所接收的內容請求的串行執行;
創建至少一個所處理的遠程過程調用的蹤跡或記錄;以及
存儲所生成的請求指紋以及所創建的蹤跡或記錄;
響應于確定所生成的請求指紋與所述存儲的請求指紋相匹配,
并行發起與所存儲的請求指紋相關聯的遠程過程調用;以及
本地緩存響應于所述遠程過程調用的并行執行而接收的數據;
在所述首先確定步驟之后,串行執行所接收的請求,對于在所接收的請求中包括的每個遠程過程調用,所述串行執行包括,
將結果存根附接到該遠程過程調用,所述結果存根表示并行執行的遠程過程調用中的一個的結果的占位符;
確定并行執行的遠程過程調用中的所述一個是否已經完全執行;
響應于確定并行執行的遠程過程調用中的所述一個已經完全執行,將并行執行的遠程過程調用中的所述一個已經完全執行的結果返回到所述結果存根;以及
響應于確定并行執行的遠程過程調用中的所述一個沒有完全執行,暫停該遠程過程調用的串行執行,直到并行執行的遠程過程調用中的所述一個已經完全執行,并且將并行執行的遠程過程調用中的完成的一個的結果返回到所述結果存根;以及
響應于所述串行執行的遠程過程調用的所有都具有結果,基于遠程過程調用結果將請求結果返回到所述做出請求的實體。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于谷歌公司,未經谷歌公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201480056920.3/1.html,轉載請聲明來源鉆瓜專利網。





