[發明專利]一種容器內代理執行方法有效
| 申請號: | 201910273129.2 | 申請日: | 2019-04-04 |
| 公開(公告)號: | CN110162381B | 公開(公告)日: | 2021-07-13 |
| 發明(設計)人: | 高斌;楊正;杜雄;程度;張福 | 申請(專利權)人: | 北京升鑫網絡科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/448;G06F9/54 |
| 代理公司: | 北京中海智圣知識產權代理有限公司 11282 | 代理人: | 楊樹芬 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 容器 代理 執行 方法 | ||
1.一種容器內代理執行方法,其特征在于,包括以下步驟:
步驟1、建立一種容器內代理執行系統,所述系統包括執行控制器Controller、容器代理Worker;執行控制器Controller運行在服務器主機或云主機上,執行控制器Controller是所有任務執行的管理者;
步驟2、容器代理Worker運行在容器的命名空間namespace,能夠訪問容器內的進程、網絡、文件系統的系統資源;
步驟3、容器代理Worker支持動態切換命名空間namespace,在同時運行若干容器的主機上配置一個或多個容器代理Worker;容器代理Worker由執行控制器Controller自動管理,執行控制器Controller向外提供調用接口;
步驟4、執行控制器Controller運行在服務器主機或云主機上并負責向外提供執行的接口Call()、管理執行任務、管理容器代理Worker;當軟件業務需要獲取某個容器內的信息時,向執行控制器Controller的執行接口Call()傳遞容器信息、任務信息,Call()執行完成后返回容器內的執行結果;
步驟5.1、容器內的任務執行以應用程序接口API為粒度,容器代理Worker提供應用程序接口API的實現;
步驟5.2、Call()接口設計為一個遠程過程調用(RPC),執行控制器Controller將收到的Call()調用請求封裝成一個執行任務,放入執行任務隊列;
步驟5.3、內部的工作線程每次從執行任務隊列取出一個執行任務,根據執行任務指定的容器信息動態分配一個容器代理Worker;
步驟5.4、由容器代理Worker完成容器內的應用程序接口API調用;
步驟5.5、應用程序接口API調用的結果由執行控制器Controller返回給Call()的調用者;
步驟6、容器代理Worker以獨立進程方式存在,由執行控制器Controller創建,初始運行在服務器主機或云主機上;
步驟7、容器代理Worker的數量及創建策略由執行控制器Controller決定;包括以下步驟:
步驟7.1、根據服務器主機或云主機的硬件資源設置容器代理Worker數量的最大值;
步驟7.2、根據當前主機運行的容器數量決定容器代理Worker的數量;
步驟7.3、根據軟件業務的實時性要求決定容器代理Worker的數量;
步驟7.4、根據當前執行任務隊列的長度決定是否新增或回收部分容器代理Worker;
步驟7.5、沒有執行任務時,執行控制器Controller回收所有容器代理Worker;
步驟8、工作時序。
2.根據權利要求1所述的一種容器內代理執行方法,其特征在于,所述步驟6包括以下步驟:
步驟6.1、啟動后接收執行控制器Controller的執行任務,根據執行任務里的容器信息切換當前進程的命名空間namespace;
步驟6.2、切換后,容器代理Worker運行在容器的命名空間namespace,能夠訪問容器內系統資源;
步驟6.3、執行需要執行的應用程序接口API,將執行的結果返回給執行控制器Controller。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京升鑫網絡科技有限公司,未經北京升鑫網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910273129.2/1.html,轉載請聲明來源鉆瓜專利網。





