[發(fā)明專利]基于 Linux 容器控制Web 應(yīng)用資源的方法和裝置有效
| 申請?zhí)枺?/td> | 201610790693.8 | 申請日: | 2016-08-31 |
| 公開(公告)號: | CN107783836B | 公開(公告)日: | 2020-10-09 |
| 發(fā)明(設(shè)計(jì))人: | 何震葦;楊新章;陸鋼;嚴(yán)麗云;梁柏青 | 申請(專利權(quán))人: | 中國電信股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 中國貿(mào)促會專利商標(biāo)事務(wù)所有限公司 11038 | 代理人: | 劉劍波 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 linux 容器 控制 web 應(yīng)用 資源 方法 裝置 | ||
本發(fā)明公開了一種基于Linux容器控制Web應(yīng)用資源的方法和裝置,涉及云計(jì)算領(lǐng)域。其中的方法包括:創(chuàng)建應(yīng)用資源控制組;設(shè)置Web應(yīng)用ID與應(yīng)用資源控制組ID的映射關(guān)系;設(shè)置Web應(yīng)用ID、用戶線程ID與內(nèi)核線程ID的映射關(guān)系;根據(jù)Web應(yīng)用ID調(diào)用應(yīng)用資源控制組的接口,并將內(nèi)核線程ID寫入對應(yīng)的應(yīng)用資源控制組的任務(wù)控制列表中;在調(diào)度內(nèi)核線程時(shí),根據(jù)內(nèi)核線程ID執(zhí)行應(yīng)用資源控制組的資源控制策略,從而實(shí)現(xiàn)以線程為粒度對每個(gè)Web應(yīng)用資源配額的精細(xì)控制。
技術(shù)領(lǐng)域
本發(fā)明涉及云計(jì)算領(lǐng)域,尤其涉及一種基于Linux容器控制Web應(yīng)用資源的方法和裝置。
背景技術(shù)
輕量級Web應(yīng)用基于Web應(yīng)用引擎托管運(yùn)行,Web應(yīng)用引擎提供了應(yīng)用運(yùn)行所需的公共類庫和運(yùn)行時(shí)環(huán)境,在一個(gè)Web應(yīng)用引擎上可以同時(shí)托管運(yùn)行大量的輕量級Web應(yīng)用,由于應(yīng)用引擎上的所有應(yīng)用都共享相同的主機(jī)資源,個(gè)別應(yīng)用出現(xiàn)異常(如死循環(huán))就可能耗盡整個(gè)主機(jī)的資源,因此需要對Web應(yīng)用的資源配額進(jìn)行控制。
如圖1所示,Web應(yīng)用引擎通常采用語言級的沙箱技術(shù)(如自定義類加載器、接口安全策略等)控制應(yīng)用資源,為應(yīng)用提供專用的線程和I/O接口,導(dǎo)致Web應(yīng)用與應(yīng)用引擎緊密綁定,影響了應(yīng)用的可移植性,而且應(yīng)用引擎運(yùn)行在操作系統(tǒng)用戶態(tài),無法控制內(nèi)核態(tài)資源(如內(nèi)核線程、CPU物理核等)。
另外,目前主流的Linux容器技術(shù)(如LXC、Docker等)主要以進(jìn)程為粒度進(jìn)行資源的控制,如圖2所示,可以使用容器技術(shù)將Web應(yīng)用和應(yīng)用引擎整體打包,以進(jìn)程容器的形式隔離運(yùn)行,然而應(yīng)用引擎通常需占用上百兆內(nèi)存,這增加了輕量級Web應(yīng)用部署和運(yùn)行的開銷。
發(fā)明內(nèi)容
本發(fā)明要解決的一個(gè)技術(shù)問題是提供一種能夠以線程為粒度精細(xì)控制輕量級Web應(yīng)用資源配額的方案。
根據(jù)本發(fā)明一方面,提出一種基于Linux容器控制Web應(yīng)用資 源的方法,包括:創(chuàng)建應(yīng)用資源控制組;設(shè)置Web應(yīng)用ID與應(yīng)用資源控制組ID的映射關(guān)系;設(shè)置Web應(yīng)用ID、用戶線程ID與內(nèi)核線程ID的映射關(guān)系;根據(jù)Web應(yīng)用ID調(diào)用應(yīng)用資源控制組的接口,并將內(nèi)核線程ID寫入對應(yīng)的應(yīng)用資源控制組的任務(wù)控制列表中;在調(diào)度內(nèi)核線程時(shí),根據(jù)內(nèi)核線程ID執(zhí)行應(yīng)用資源控制組的資源控制策略。
進(jìn)一步地,創(chuàng)建應(yīng)用資源控制組包括:根據(jù)Web應(yīng)用的類型和優(yōu)先級創(chuàng)建應(yīng)用資源控制組。
進(jìn)一步地,設(shè)置Web應(yīng)用ID、用戶線程ID與內(nèi)核線程ID的映射關(guān)系包括:在線程庫內(nèi)設(shè)置用戶線程ID與內(nèi)核線程ID的映射關(guān)系;Web應(yīng)用ID對應(yīng)的應(yīng)用引擎調(diào)用底層語言或操作系統(tǒng)線程庫的接口獲取用戶線程ID對應(yīng)的內(nèi)核線程ID,從而建立Web應(yīng)用ID與用戶線程ID的映射關(guān)系以及Web應(yīng)用ID與內(nèi)核線程ID的映射關(guān)系。
進(jìn)一步地,根據(jù)內(nèi)核線程ID執(zhí)行應(yīng)用資源控制組的資源控制策略包括:根據(jù)內(nèi)核線程ID獲取對應(yīng)的應(yīng)用資源控制組;根據(jù)應(yīng)用資源控制組配置的資源控制內(nèi)核線程。
進(jìn)一步地,根據(jù)應(yīng)用資源控制組配置的資源控制內(nèi)核線程包括:根據(jù)應(yīng)用資源控制組配置的CPU、內(nèi)存和I/O控制每個(gè)內(nèi)核線程能夠使用的CPU時(shí)間片、堆棧大小、Swap大小和/或I/O速率的上限。
進(jìn)一步地,該方法還包括:應(yīng)用資源控制組中對應(yīng)的Web應(yīng)用擁有相同的資源優(yōu)先級。
根據(jù)本發(fā)明的另一方面,還提出一種基于Linux容器控制Web應(yīng)用資源的裝置,包括:控制組創(chuàng)建模塊,用于創(chuàng)建應(yīng)用資源控制組;應(yīng)用部署管理模塊,用于設(shè)置Web應(yīng)用ID與應(yīng)用資源控制組ID的映射關(guān)系;線程管理器模塊,用于設(shè)置Web應(yīng)用ID、用戶線程ID與內(nèi)核線程ID的映射關(guān)系;應(yīng)用資源管理模塊,用于根據(jù)Web應(yīng)用ID調(diào)用應(yīng)用資源控制組的接口,并將內(nèi)核線程ID寫入對應(yīng)的應(yīng)用資源控制組的任務(wù)控制列表中,以便在調(diào)度內(nèi)核線程時(shí),根據(jù)內(nèi)核線程ID執(zhí)行應(yīng)用資源控制組的資源控制策略。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國電信股份有限公司,未經(jīng)中國電信股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610790693.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- LINUX內(nèi)核動態(tài)加載方法
- 一種Linux嵌入式系統(tǒng)的安全啟動方法
- 一種加快嵌入式Linux系統(tǒng)啟動的方法
- Linux文件系統(tǒng)的多點(diǎn)備份和實(shí)時(shí)保護(hù)方法
- 基于硬件的Linux軟件開發(fā)系統(tǒng)及其構(gòu)建方法
- 將VxWorks任務(wù)移植到Linux的方法及裝置
- 一種Linux內(nèi)核接管socket鏈接的方法和裝置
- 一種Linux系統(tǒng)的備份和還原方法
- 一種基于Linux系統(tǒng)盤的寫過濾系統(tǒng)和方法
- 一種基于Linux系統(tǒng)盤的熱插拔方法和系統(tǒng)





