[發明專利]一種函數冷啟動方法及裝置在審
| 申請號: | 202111152871.1 | 申請日: | 2021-09-29 |
| 公開(公告)號: | CN113934435A | 公開(公告)日: | 2022-01-14 |
| 發明(設計)人: | 亢占雷;嚴雅芳;吳宗遠;孫慶玲 | 申請(專利權)人: | 光大科技有限公司 |
| 主分類號: | G06F8/61 | 分類號: | G06F8/61;G06F9/445 |
| 代理公司: | 北京康信知識產權代理有限責任公司 11240 | 代理人: | 張秀英 |
| 地址: | 100040 北京市石景*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 函數 冷啟動 方法 裝置 | ||
本發明提供了一種函數冷啟動方法及裝置,其中,該方法包括:從獲取的目標請求報文中解析出需要運行的函數的名稱;根據該函數的名稱將該函數的代碼加載到內存中;從預先創建的運行環境池中選取一個處于待命狀態的第一類函數實例;將該函數的代碼注入選取的第一類函數實例中,對外提供服務,可以解決相關技術中無服務器的函數冷啟動時間較長,不適宜對時間敏感的場景的問題,通過分離函數和函數運行時,將函數運行時池化,以及在第一類函數實例中動態注入函數代碼的方式啟動函數,將函數的啟動時間縮短至毫秒級別,大大縮短了冷啟動的時延,將應用場景擴展到許多對時延敏感的區域,豐富了平臺的使用場景。
技術領域
本發明涉及數據處理領域,具體而言,涉及一種函數冷啟動方法及裝置。
背景技術
目前最佳的開源解決方案knative,提供了函數從0擴容以及縮容到零實例的方案,受到了廣泛的歡迎。它的基本運行原理包括:
用戶編寫函數代碼,可以選擇擅長的編程語言;
將用戶函數通過構建流程,打包成為一個可運行的鏡像;
將鏡像提交到kubernetes中,配置運行時的相關參數,平臺將適時進行調度運行;
函數被訪問時,判斷當前平臺中是否有函數實例存在,如果沒有實例,會創建一個新的函數實例,并將當前請求加入到隊列中排隊,等待新的函數實例部署成功之后,再將隊列中的請求重放,達到調用的目的。
從以上的運行過程可以發現,函數其實是從0開始運行的,需要的啟動時間較長,不適宜對時間敏感的場景。
針對相關技術中無服務器的函數冷啟動時間較長,不適宜對時間敏感的場景的問題,尚未提出解決方案。
發明內容
本發明實施例提供了一種函數冷啟動方法及裝置,以至少解決相關技術中無服務器的函數冷啟動時間較長,不適宜對時間敏感的場景的問題。
根據本發明的一個實施例,提供了一種函數冷啟動方法,包括:
從獲取的目標請求報文中解析出需要運行的函數的名稱;
根據所述函數的名稱將所述函數的代碼加載到內存中;
從預先創建的運行環境池中選取一個處于待命狀態的第一類函數實例;
將所述函數的代碼注入選取的第一類函數實例中,對外提供服務。
可選地,在從預先創建的運行環境池中選取一個處于待命狀態的第一類函數實例之前,所述方法還包括:
將函數運行時打包為鏡像,并提交到一個開源容器編排系統kubernetes中;
為所述鏡像生成多個第一類函數實例,并將所述多個第一類函數實例存儲到所述運行環境池中,其中,所述第一類函數實例為運行時不具備自動擴容能力的函數實例;
在所述運行環境池中通過kubernetes的控制器,維護所述多個第一類函數實例,為所述多個第一類函數實例設置標簽A,其中,所述標簽A表示處于待命狀態。
可選地,在從預先創建的運行環境池中選取一個處于待命狀態的第一類函數實例之后,所述方法還包括:
將所述選取的第一類函數實例的所述標簽A更改為標簽B,其中,所述標簽B表示被征用;
創建一個新的第一類函數實例,為創建的第一類函數實例設置所述標簽A;
將所述創建的第一類函數實例加入到所述運行時環境池中,以使所述運行時環境池中一直保存有預設數量的處于待命狀態的第一類函數實例。
可選地,所述方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于光大科技有限公司,未經光大科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111152871.1/2.html,轉載請聲明來源鉆瓜專利網。





