[發明專利]一種基于輕量化容器的云服務動態調度方法及系統有效
| 申請號: | 202011134587.7 | 申請日: | 2020-10-21 |
| 公開(公告)號: | CN112199178B | 公開(公告)日: | 2022-12-16 |
| 發明(設計)人: | 劉遙;楊軍;徐亮亮;張鑫一;劉若斌;王俊杰 | 申請(專利權)人: | 中國電子科技集團公司第十五研究所 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 北京高沃律師事務所 11569 | 代理人: | 崔玥 |
| 地址: | 100083 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 量化 容器 服務 動態 調度 方法 系統 | ||
1.一種基于輕量化容器的云服務動態調度方法,其特征在于,所述方法包括:
步驟S1:主節點根據各計算節點收集的狀態信息判斷各計算節點是否為離線狀態;如果各計算節點為離線狀態,則主節點不給離線狀態的計算節點分配任務;如果各計算節點不為離線狀態,則執行“步驟S2”;
步驟S2:主節點根據用戶發出的任務需求生成預案,并將預案寫入etcd數據庫中,并覆蓋上一次生成的預案;
步驟S3:各計算節點判斷預案中的ip是否與自身的ip相同;如果相同,則執行“步驟S4”;如果不相同,則各計算節點無需操作;
步驟S4:計算節點利用自身的docker服務創建容器,并判斷容器是否創建成功;如果容器創建失敗,則執行“步驟S6”;如果容器創建成功,則執行步驟S5;
步驟S5:判斷容器是否啟動成功;如果容器啟動成功,則說明容器服務正常;如果容器啟動失敗,則執行“步驟S7”;
步驟S6:計算節點記錄創建失敗次數,并判斷創建失敗次數是否大于或等于設定創建失敗次數;如果創建失敗次數大于或等于設定創建失敗次數,則計算節點將預案改成“重新部署”狀態,并寫入etcd數據庫;如果創建失敗次數小于設定創建失敗次數,則返回“步驟S4”;
步驟S7:計算節點記錄重啟失敗次數,并判斷重啟失敗次數是否大于或等于設定重啟失敗次數;如果重啟失敗次數大于或等于設定重啟失敗次數,則計算節點將預案改成“重新部署”狀態,并寫入etcd數據庫;如果重啟失敗次數小于設定失敗次數,則增加重啟延時時間,并根據所述重啟延時時間重新啟動容器,并返回“步驟S5”;
步驟S8:主節點檢測到預案為“重新部署”狀態時,則返回“步驟S2”;
步驟S9:用戶訪問服務正常容器內的服務。
2.根據權利要求1所述的基于輕量化容器的云服務動態調度方法,其特征在于,所述方法還包括:
當計算節點監測到上一次生成的預案被覆蓋后,則計算節點刪除根據上一次預案對應的容器。
3.根據權利要求1所述的基于輕量化容器的云服務動態調度方法,其特征在于,所述主節點和所述計算節點分別部署在不同的機器上。
4.根據權利要求1所述的基于輕量化容器的云服務動態調度方法,其特征在于,步驟S1具體包括:
步驟S11:各計算節點收集狀態信息,并將狀態信息定時上報給主節點;所述狀態信息包括計算節點的CPU、內存和品牌;
步驟S12:主節點根據收集的各計算節點對應的狀態信息進行更新內存;
步驟S13:主節點根據內存的狀態信息對所有計算節點進行篩選,判斷各計算節點是否大于設定時間沒有更新狀態信息;如果各計算節點大于設定時間沒有更新狀態信息,則將大于設定時間沒有更新狀態信息的各計算節點標記為離線狀態,主節點在分配任務時,不給離線狀態的計算節點分配任務;否則執行步驟S2。
5.根據權利要求1所述的基于輕量化容器的云服務動態調度方法,其特征在于,步驟S2具體包括:
步驟S21:主節點接收到用戶發出的任務部署請求時,按照任務需求對所有正常狀態的計算節點進行篩選和計算,選取資源占用率最低的計算節點;所述任務需求包括所需CPU、內存、硬盤大小以及硬件架構;
步驟S22:主節點根據任務需求和篩選后的計算節點生成預案,并將預案寫入etcd數據庫中,并覆蓋上一次生成的預案。
6.根據權利要求1所述的基于輕量化容器的云服務動態調度方法,其特征在于,所述方法還包括:
當主節點接收到計算節點上傳異常狀態時,主節點不給異常狀態的計算節點分配任務,同時返回“步驟S2”。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電子科技集團公司第十五研究所,未經中國電子科技集團公司第十五研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202011134587.7/1.html,轉載請聲明來源鉆瓜專利網。





