国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于異構(gòu)國(guó)產(chǎn)CPU的容器應(yīng)用統(tǒng)一構(gòu)建系統(tǒng)研究

2021-12-18 12:40:17杜磊王競(jìng)爭(zhēng)穆啟鵬
電腦知識(shí)與技術(shù) 2021年31期
關(guān)鍵詞:異構(gòu)容器

杜磊 王競(jìng)爭(zhēng) 穆啟鵬

摘要:該文為解決異構(gòu)國(guó)產(chǎn)CPU環(huán)境下應(yīng)用統(tǒng)一適配、構(gòu)建、分發(fā)的難題,基于容器云平臺(tái)研究應(yīng)用統(tǒng)一構(gòu)建系統(tǒng)。旨在消除應(yīng)用適配不同架構(gòu)CPU、操作系統(tǒng)的復(fù)雜性,提供基于異構(gòu)國(guó)產(chǎn)CPU的統(tǒng)一構(gòu)建系統(tǒng),實(shí)現(xiàn)異構(gòu)國(guó)產(chǎn)CPU環(huán)境中應(yīng)用的自動(dòng)適配和分發(fā),使得應(yīng)用不再需要關(guān)注具體的物理運(yùn)行環(huán)境,降低異構(gòu)計(jì)算成本,提高資源利用率,提升應(yīng)用自主可控適配的合理性和便捷性,覆蓋所有主流國(guó)產(chǎn)CPU和國(guó)產(chǎn)操作系統(tǒng),促進(jìn)國(guó)產(chǎn)云應(yīng)用生態(tài)建設(shè)。

關(guān)鍵詞:容器;異構(gòu);國(guó)產(chǎn)適配;應(yīng)用構(gòu)建

中圖分類號(hào):TP319 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1009-3044(2021)31-0004-03

Research on Unified Construction System for Container Applications Based on Heterogeneous Domestic CPUs

DU Lei, WANG Jing-zheng, MU Qi-peng

(CETC Cloud, Beijing 100071, China)

Abstract: In order to solve the problem of unified adaptation, construction, and distribution of applications in a heterogeneous domestic CPU environment, this paper builds a system based on the research and application of the container cloud platform. It aims to eliminate the complexity of adapting applications to different architectures of CPUs and operating systems, provide a unified construction system based on heterogeneous domestic CPUs, and realize automatic adaptation and distribution of applications in heterogeneous domestic CPU environments so that applications no longer need to pay attention to specific The physical operating environment reduces the cost of heterogeneous computing, improves resource utilization, improves the rationality and convenience of independent and controllable adaptation of applications, covers all mainstream domestic CPUs and domestic operating systems, and promotes the ecological construction of domestic cloud applications.

Key words: container; heterogeneous; domestic adaptation; application construction

1 背景

在國(guó)產(chǎn)CPU發(fā)展戰(zhàn)略和自主可控政策引導(dǎo)下,以申威、飛騰、龍芯、鯤鵬、海光等主流國(guó)產(chǎn)CPU產(chǎn)業(yè)快速發(fā)展,并有了巨大突破和進(jìn)步,但是各家國(guó)產(chǎn)CPU架構(gòu)和指令集的選擇仍有不同,出現(xiàn)多種技術(shù)路線和異構(gòu)的局面。在當(dāng)前國(guó)家和軍隊(duì)自主建設(shè)時(shí)期,國(guó)家和軍隊(duì)資源環(huán)境中存在異構(gòu)國(guó)產(chǎn)CPU并存的情形。實(shí)現(xiàn)異構(gòu)國(guó)產(chǎn)CPU資源整合管理和業(yè)務(wù)應(yīng)用統(tǒng)一構(gòu)建,使得用戶無(wú)需關(guān)注底層硬件并專注于業(yè)務(wù)應(yīng)用的需求變得日益迫切[1]。

在基于國(guó)產(chǎn)CPU的虛擬化研究中,以O(shè)penStack+KVM為代表的虛擬化技術(shù)存在明顯的性能瓶頸[2],容器作為新型虛擬化技術(shù),因其輕便快捷優(yōu)勢(shì)而成為大多數(shù)廠商國(guó)產(chǎn)虛擬化技術(shù)棧的選項(xiàng),為用戶提供應(yīng)用構(gòu)建、發(fā)布和應(yīng)用的平臺(tái),然而應(yīng)用廠商需要適配不同CPU架構(gòu)和不同的操作系統(tǒng),不同CPU架構(gòu)和操作系統(tǒng)環(huán)境極大地增加了適配的難度,需研究一種應(yīng)用統(tǒng)一構(gòu)建系統(tǒng),實(shí)現(xiàn)應(yīng)用自動(dòng)適配和分發(fā),消除底層硬件的限制[3]。

2 系統(tǒng)模塊

本研究提供了一種,基于容器云平臺(tái)實(shí)現(xiàn)的應(yīng)用統(tǒng)一構(gòu)建系統(tǒng),納管多個(gè)不同架構(gòu)的CPU服務(wù)器資源,系統(tǒng)結(jié)構(gòu)如圖1所示。

源碼構(gòu)建模塊,用于在上傳至容器云平臺(tái)的應(yīng)用程序文件為源代碼的情況下,獲取源代碼的來(lái)源和分支,根據(jù)源代碼的來(lái)源和分支獲取應(yīng)用的源代碼;

二進(jìn)制構(gòu)建模塊,用于從容器云平臺(tái)中封裝的應(yīng)用所需運(yùn)行環(huán)境選擇應(yīng)用對(duì)應(yīng)的基礎(chǔ)容器鏡像,對(duì)應(yīng)用的源代碼中需要二進(jìn)制編譯的文件進(jìn)行二進(jìn)制編譯,得到二進(jìn)制文件[4];

鏡像構(gòu)建模塊,用于在需要編譯得到二進(jìn)制文件的情況下,基于源代碼、基礎(chǔ)容器鏡像及二進(jìn)制文件編寫鏡像構(gòu)建配置文件,在無(wú)需編譯得到二進(jìn)制文件的情況下,基于源代碼和基礎(chǔ)容器鏡像編寫鏡像構(gòu)建配置文件,還可基于對(duì)應(yīng)的基礎(chǔ)容器鏡像和存儲(chǔ)對(duì)象編寫鏡像構(gòu)建配置文件,鏡像構(gòu)建后,提供將應(yīng)用鏡像存儲(chǔ)至所述容器云平臺(tái)連接的鏡像倉(cāng)庫(kù)的能力;

存儲(chǔ)對(duì)象模塊,用于在上傳至容器云平臺(tái)的應(yīng)用程序文件為安裝包的情況下,將安裝包進(jìn)行導(dǎo)入,作為存儲(chǔ)對(duì)象;

應(yīng)用分發(fā)模塊,用于根據(jù)應(yīng)用的包含CPU架構(gòu)信息的分發(fā)配置將所述鏡像倉(cāng)庫(kù)中的應(yīng)用鏡像在所述容器云平臺(tái)上進(jìn)行分發(fā),以利用相應(yīng)架構(gòu)的CPU服務(wù)器資源運(yùn)行應(yīng)用。

3 實(shí)現(xiàn)方案

本研究基于異構(gòu)國(guó)產(chǎn)CPU硬件環(huán)境利用容器技術(shù)搭建統(tǒng)一構(gòu)建系統(tǒng),納管所有主流國(guó)產(chǎn)CPU服務(wù)器資源,打造統(tǒng)一虛擬化資源池,提供應(yīng)用構(gòu)建環(huán)境,實(shí)現(xiàn)源代碼倉(cāng)庫(kù)、構(gòu)建二進(jìn)制文件、構(gòu)建鏡像、部署應(yīng)用、獲取存儲(chǔ)對(duì)象等過(guò)程,打通應(yīng)用代碼到應(yīng)用適配分發(fā)的自動(dòng)化構(gòu)建流程,自動(dòng)構(gòu)建過(guò)程依賴的組件會(huì)在統(tǒng)一構(gòu)建系統(tǒng)中完成異構(gòu)國(guó)產(chǎn)CPU的自動(dòng)適配,在應(yīng)用分發(fā)過(guò)程中便不涉及底層CPU硬件依賴,并且可以為用戶提供不同架構(gòu)的應(yīng)用適配選項(xiàng),更加靈活和便捷的實(shí)現(xiàn)容器應(yīng)用基于異構(gòu)國(guó)產(chǎn)CPU的適配和分發(fā)。技術(shù)實(shí)現(xiàn)路徑如圖2所示。

3.1 異構(gòu)國(guó)產(chǎn)CPU資源納管

針對(duì)異構(gòu)國(guó)產(chǎn)CPU硬件環(huán)境,使用容器技術(shù)實(shí)現(xiàn)不同CPU架構(gòu)的服務(wù)器計(jì)算資源虛擬化,搭建異構(gòu)國(guó)產(chǎn)CPU容器云平臺(tái),納管所有架構(gòu)服務(wù)器主機(jī)資源,封裝應(yīng)用所需的運(yùn)行環(huán)境。統(tǒng)一構(gòu)建系統(tǒng)服務(wù)由認(rèn)證代理、API接口服務(wù)、集群控制器、存儲(chǔ)節(jié)點(diǎn)、集群代理服務(wù)組成,除了集群代理服務(wù)以外,其他都部署在平臺(tái)主服務(wù)鏡像中,對(duì)于異構(gòu)國(guó)產(chǎn)CPU環(huán)境,只需要部署一種架構(gòu)的主服務(wù)管理集群,其他架構(gòu)作為下游集群部署集群代理服務(wù),用戶對(duì)統(tǒng)一構(gòu)建系統(tǒng)發(fā)出指令通過(guò)認(rèn)證代理服務(wù)認(rèn)證后下發(fā)到系統(tǒng)主服務(wù),同時(shí)數(shù)據(jù)備份到存儲(chǔ)節(jié)點(diǎn),指令傳遞給集群控制器,集群控制器把指令傳遞到下游集群的代理服務(wù),實(shí)現(xiàn)管理集群和下游集群的信息交互和通信,達(dá)到異構(gòu)國(guó)產(chǎn)CPU資源統(tǒng)一納管的效果。

3.2 統(tǒng)一構(gòu)建系統(tǒng)搭建

借助持續(xù)集成持續(xù)部署和流水線的思想,定義任務(wù)、任務(wù)運(yùn)行、流水線、流水線運(yùn)行、流水線資源等對(duì)象,初始化兩個(gè)控制器:流水線運(yùn)行控制器和任務(wù)運(yùn)行控制器。流水線運(yùn)行控制器監(jiān)聽流水線運(yùn)行對(duì)象的變化,將流水線中所有的任務(wù)構(gòu)建為一張有向無(wú)環(huán)圖,通過(guò)遍歷有向無(wú)環(huán)圖找到當(dāng)前可被調(diào)度的任務(wù)節(jié)點(diǎn)創(chuàng)建對(duì)應(yīng)的任務(wù)運(yùn)行對(duì)象;任務(wù)運(yùn)行控制器監(jiān)聽任務(wù)運(yùn)行對(duì)象的變化,將任務(wù)運(yùn)行和對(duì)應(yīng)任務(wù)轉(zhuǎn)化為可執(zhí)行的容器,由容器云平臺(tái)調(diào)度執(zhí)行,通過(guò)上述定義的對(duì)象和邏輯的抽象和組合,形成統(tǒng)一構(gòu)建系統(tǒng),具備源代碼倉(cāng)庫(kù)、二進(jìn)制構(gòu)建、鏡像構(gòu)建、應(yīng)用部署、存儲(chǔ)對(duì)象等能力,并且統(tǒng)一構(gòu)建系統(tǒng)所需的組件基于容器云平臺(tái)實(shí)現(xiàn),對(duì)底層CPU沒(méi)有依賴性,能夠較為輕易地實(shí)現(xiàn)不同架構(gòu)的兼容性適配。

3.3 應(yīng)用自動(dòng)適配和分發(fā)

基于統(tǒng)一構(gòu)建系統(tǒng)的源代碼倉(cāng)庫(kù)、二進(jìn)制構(gòu)建、鏡像構(gòu)建、應(yīng)用分發(fā)、存儲(chǔ)對(duì)象等能力,將應(yīng)用代碼或安裝包上傳后,能夠在應(yīng)用構(gòu)建過(guò)程中自動(dòng)實(shí)現(xiàn)國(guó)產(chǎn)CPU兼容性適配并正常運(yùn)行。應(yīng)用通過(guò)源代碼和安裝包的方式上傳后,將應(yīng)用構(gòu)建需要的源代碼倉(cāng)庫(kù)、二進(jìn)制構(gòu)建、鏡像構(gòu)建、應(yīng)用分發(fā)、存儲(chǔ)對(duì)象等過(guò)程配置好便可運(yùn)行應(yīng)用構(gòu)建流水線。

通過(guò)應(yīng)用源代碼上傳后,應(yīng)用構(gòu)建系統(tǒng)中的源碼構(gòu)建任務(wù)會(huì)獲取源代碼來(lái)源和分支,源碼構(gòu)建后選擇對(duì)應(yīng)的基礎(chǔ)容器鏡像通過(guò)編譯腳本構(gòu)建應(yīng)用所需的二進(jìn)制文件,可選java、tomcat、golang或自定義等基礎(chǔ)鏡像,基于源碼、基礎(chǔ)鏡像和編譯的二進(jìn)制文件編寫鏡像構(gòu)建配置文件來(lái)自動(dòng)構(gòu)建應(yīng)用鏡像,并存儲(chǔ)到鏡像倉(cāng)庫(kù),應(yīng)用構(gòu)建若有外部存儲(chǔ)對(duì)象要導(dǎo)入可以添加文件到目標(biāo)目錄,基于應(yīng)用鏡像配置部署名稱、端口、副本數(shù)、環(huán)境變量等便可實(shí)現(xiàn)應(yīng)用在容器云平臺(tái)上的分發(fā),實(shí)現(xiàn)應(yīng)用源代碼-二進(jìn)制構(gòu)建-鏡像構(gòu)建-存儲(chǔ)對(duì)象導(dǎo)入-應(yīng)用分發(fā)過(guò)程。

通過(guò)應(yīng)用安裝包上傳后,可作為存儲(chǔ)對(duì)象導(dǎo)入,借助平臺(tái)基礎(chǔ)鏡像,編寫鏡像構(gòu)建配置文件直接構(gòu)建應(yīng)用鏡像,并存儲(chǔ)到鏡像倉(cāng)庫(kù),基于應(yīng)用鏡像配置部署名稱、端口、副本數(shù)、環(huán)境變量等便可實(shí)現(xiàn)應(yīng)用在容器云平臺(tái)上的分發(fā),實(shí)現(xiàn)應(yīng)用安裝包-存儲(chǔ)對(duì)象-鏡像構(gòu)建-應(yīng)用分發(fā)過(guò)程。

4 實(shí)現(xiàn)流程

基于異構(gòu)國(guó)產(chǎn)CPU的容器應(yīng)用統(tǒng)一構(gòu)建流程如圖3所示,在上傳至容器云平臺(tái)的應(yīng)用程序文件為源代碼的情況下,獲取源代碼的來(lái)源和分支,根據(jù)源代碼的來(lái)源和分支獲取應(yīng)用的源代碼,從容器云平臺(tái)中封裝的應(yīng)用所需運(yùn)行環(huán)境選擇應(yīng)用對(duì)應(yīng)的基礎(chǔ)容器鏡像,基于源代碼、基礎(chǔ)容器鏡像及二進(jìn)制文件編寫鏡像構(gòu)建配置文件,或基于應(yīng)用對(duì)應(yīng)的基礎(chǔ)容器鏡像和存儲(chǔ)對(duì)象編寫鏡像構(gòu)建配置文件,利用鏡像構(gòu)建配置文件構(gòu)建應(yīng)用鏡像,并將應(yīng)用鏡像存儲(chǔ)至所述容器云平臺(tái)連接的鏡像倉(cāng)庫(kù),根據(jù)應(yīng)用的包含CPU架構(gòu)信息的分發(fā)配置將所述鏡像倉(cāng)庫(kù)中的應(yīng)用鏡像在所述容器云平臺(tái)上進(jìn)行分發(fā),以利用相應(yīng)架構(gòu)的CPU服務(wù)器資源運(yùn)行應(yīng)用。

5 結(jié)束語(yǔ)

本研究打破應(yīng)用基于異構(gòu)國(guó)產(chǎn)CPU的適配瓶頸,利用移植性較強(qiáng)的容器技術(shù)搭建異構(gòu)國(guó)產(chǎn)統(tǒng)一構(gòu)建系統(tǒng),采用持續(xù)集成持續(xù)部署的理念打通應(yīng)用適配和分發(fā)的流程,使得應(yīng)用自動(dòng)部署在異構(gòu)國(guó)產(chǎn)化物理環(huán)境,底層運(yùn)行環(huán)境對(duì)應(yīng)用透明化,消除應(yīng)用對(duì)于底層CPU的依賴。基于異構(gòu)國(guó)產(chǎn)CPU搭建容器應(yīng)用統(tǒng)一構(gòu)建系統(tǒng),使得需要運(yùn)行在異構(gòu)國(guó)產(chǎn)CPU上的應(yīng)用能夠無(wú)差別自動(dòng)適配和分發(fā),并能夠提供應(yīng)用基于不同架構(gòu)的選項(xiàng),降低異構(gòu)計(jì)算成本,提高資源利用率[5],提升應(yīng)用自主可控適配的合理性和便捷性,覆蓋所有主流國(guó)產(chǎn)CPU和國(guó)產(chǎn)操作系統(tǒng),促進(jìn)國(guó)產(chǎn)云應(yīng)用生態(tài)建設(shè)。

參考文獻(xiàn):

[1] 徐博賢.國(guó)產(chǎn)異構(gòu)跨平臺(tái)開發(fā)環(huán)境研究[D].石家莊:石家莊鐵道大學(xué),2019.

[2] 許健,楊飛,陳娜,等.一種面向國(guó)產(chǎn)平臺(tái)的容器跨異構(gòu)集群重構(gòu)方法:CN110851237A[P].2020-02-28.

[3] 曾志平,蕭海東,張新鵬.基于國(guó)產(chǎn)X86處理器的異構(gòu)計(jì)算平臺(tái)構(gòu)建及敏感數(shù)據(jù)保護(hù)[J].計(jì)算機(jī)科學(xué),2015,42(S2):317-322.

[4] 劉曉楠.面向國(guó)產(chǎn)處理器的二進(jìn)制翻譯關(guān)鍵技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2014.

[5] 張峰,翟季冬,陳政,等.面向異構(gòu)融合處理器的性能分析、優(yōu)化及應(yīng)用綜述[J].軟件學(xué)報(bào),2020,31(8):2603-2624.

【通聯(lián)編輯:謝媛媛】

收稿日期:2021-06-20

基金項(xiàng)目:國(guó)家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目:私有云環(huán)境下服務(wù)化智能辦公系統(tǒng)平臺(tái)(項(xiàng)目編號(hào):2018YFB1004101)

作者簡(jiǎn)介:杜磊(1993—),男,山西人,工程師,碩士,研究方向?yàn)樵朴?jì)算與大數(shù)據(jù);王競(jìng)爭(zhēng)(1988—),男,河南人,工程師,碩士,研究方向?yàn)樵朴?jì)算與大數(shù)據(jù);穆啟鵬(1992—),男,北京人,助理工程師,碩士,研究方向?yàn)樵朴?jì)算與大數(shù)據(jù)。

猜你喜歡
異構(gòu)容器
ETC拓展應(yīng)用場(chǎng)景下的多源異構(gòu)交易系統(tǒng)
Different Containers不同的容器
試論同課異構(gòu)之“同”與“異”
容器倒置后壓力壓強(qiáng)如何變
人心像一個(gè)容器
難以置信的事情
異構(gòu)醇醚在超濃縮洗衣液中的應(yīng)用探索
overlay SDN實(shí)現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
取米
来宾市| 宜黄县| 瑞昌市| 山西省| 新和县| 阆中市| 布尔津县| 元朗区| 章丘市| 贵阳市| 曲周县| 阳城县| 肥城市| 桂林市| 夹江县| 乐昌市| 民县| 临沧市| 景洪市| 平南县| 孝昌县| 建阳市| 新竹县| 昌平区| 南充市| 韶山市| 曲阳县| 汝南县| 浪卡子县| 常宁市| 威宁| 蛟河市| 鄂州市| 蕉岭县| 白玉县| 和田县| 北票市| 宁武县| 石景山区| 商洛市| 平昌县|