[發明專利]用于函數執行的緩存方法和裝置無效
| 申請號: | 200910241423.1 | 申請日: | 2009-12-08 |
| 公開(公告)號: | CN102087613A | 公開(公告)日: | 2011-06-08 |
| 發明(設計)人: | 樂以長;傅連舟;陸振華 | 申請(專利權)人: | 北京大學;北大方正集團有限公司;北京方正奧德計算機系統有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 余剛 |
| 地址: | 100871*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 函數 執行 緩存 方法 裝置 | ||
1.一種用于函數執行的緩存方法,其特征在于,包括以下步驟:
將參數列表傳入被調用函數,并根據所述被調用函數的函數名和所述參數列表得到函數實例特征碼;
根據所述函數實例特征碼在緩存模塊中查詢函數執行結果;
若未檢索到所述函數執行結果,執行所述被調用函數;
以所述函數實例特征碼為鍵值將所述被調用函數的執行
結果存入所述緩存模塊,并返回所述被調用函數的執行結果。
2.根據權利要求1所述的緩存方法,其特征在于,將參數列表傳入被調用函數,并根據所述被調用函數的函數名和所述參數列表得到函數實例特征碼具體包括:
將參數列表傳入被調用函數;
將所述被調用函數的函數名及所述參數列表組合為函數實例字符串,并將所述函數實例字符串按照設定的散列算法轉換為散列碼作為函數實例特征碼。
3.根據權利要求1所述的緩存方法,其特征在于,還包括以下步驟:
若檢索到所述函數執行結果,獲取緩存的所述函數執行結果并返回。
4.根據權利要求1所述的緩存方法,其特征在于,所述被調用函數為面向過程開發語言的函數或面向對象開發語言的對象成員函數。
5.根據權利要求1所述的緩存方法,其特征在于,所述參數列表包括以下至少一種:
基本數據類型、數組、結構或面向對象開發語言中的對象類型。
6.根據權利要求1所述的緩存方法,其特征在于,當以所述函數實例特征碼為鍵值將所述被調用函數的執行結果存入所述緩存模塊時,還包括以下步驟:
在所述緩存模塊中保存所述函數實例執行時間的時間戳。
7.根據權利要求6所述的緩存方法,其特征在于,還包括以下步驟:
根據所述時間戳判斷保存在緩存中的所述調用函數的執行結果是否超時;
如果超時,重新執行所述被調用函數。
8.一種用于函數執行的緩存裝置,其特征在于,包括:
調用模塊,用于向被調用函數發起調用請求,其中,所述被調用函數具有緩存功能且返回值為有效數據類型;
特征碼生成模塊,用于將參數列表傳入所述被調用函數,并根據所述被調用函數的函數名和所述參數列表得到函數實例特征碼;
緩存模塊,用于緩存所述被調用函數的執行結果;
執行模塊,用于根據所述函數實例特征碼在所述緩存模塊中查詢函數執行結果,若未檢索到所述函數執行結果,執行所述被調用函數,以所述函數實例特征碼為鍵值將所述被調用函數的執行結果存入所述緩存模塊,并返回所述被調用函數的執行結果。
9.根據權利要求8所述的緩存裝置,其特征在于,所述特征碼生成模塊具體包括:
傳入單元,用于將參數列表傳入被調用函數;
特征碼單元,用于將所述被調用函數的函數名及所述參數列表組合為函數實例字符串,并將所述函數實例字符串按照設定的散列算法轉換為散列碼作為函數實例特征碼。
10.根據權利要求8所述的緩存裝置,其特征在于,所述執行模塊包括:
判斷單元,用于根據所述緩存模塊中保存的所述調用函數的執行結果的時間戳判斷保存在緩存中的所述調用函數的執行結果是否超時。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學;北大方正集團有限公司;北京方正奧德計算機系統有限公司,未經北京大學;北大方正集團有限公司;北京方正奧德計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910241423.1/1.html,轉載請聲明來源鉆瓜專利網。





