• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      面向邊緣云的輕量DevOps平臺設(shè)計(jì)與實(shí)現(xiàn)

      2023-06-22 11:50:11彭勇賴蘭劍王琦郭煊烽
      現(xiàn)代信息科技 2023年5期

      彭勇 賴蘭劍 王琦 郭煊烽

      摘? 要:針對某些行業(yè)邊緣云環(huán)境存在的局限性與對新型開發(fā)技術(shù)和敏捷開發(fā)的迫切需求之間的矛盾,文章設(shè)計(jì)實(shí)現(xiàn)了一個(gè)軟件全生命周期DevOps平臺,并在某大型軟件研發(fā)項(xiàng)目中得到成功應(yīng)用。該平臺將DevOps流程進(jìn)行自動(dòng)化流水線式集成,利用交叉編譯技術(shù),使其能夠支撐Windows和Linux軟件開發(fā);再通過Agent在物理機(jī)、虛擬機(jī)以及容器等多環(huán)境中實(shí)現(xiàn)軟件的自動(dòng)部署和運(yùn)維,實(shí)現(xiàn)從架構(gòu)、開發(fā)平臺、運(yùn)行環(huán)境的全方位支持。最后,通過案例驗(yàn)證了平臺各模塊功能的可用性。

      關(guān)鍵詞:DevOps;邊緣云;Docker;交叉編譯

      中圖分類號:TP311.5? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)05-0085-05

      Design and Implementation of Lightweight DevOps Platform for Edge Cloud

      PENG Yong1,2, LAI Lanjian2, WANG Qi1,2, GUO Xuanfeng1,2

      (1.Science and Technology on Communication Information Security Control Laboratory, Jiaxing? 314033, China;

      2.The 36th Research Institute of CETC, Jiaxing? 314033, China)

      Abstract: In view of the contradictions between the limitations of edge cloud environments in some industries and the urgent need for new development techniques and agile development, this paper designs and implements a full-lifecycle DevOps platform, and has been successfully applied in a software development of a large-scale project. The platform integrates the DevOps process in an automated pipeline, and uses cross compilation technology to enable it to support both Windows and Linux software development. And the automatic deployment and operation and maintenance of software are realized in multiple environments such as physical machines, virtual machines and containers through Agent, so as to realize all-round support from architecture, development platform and operating environment. Finally, the availability of the functions of each module of the platform is verified through a case.

      Keywords: DevOps; edge cloud; Docker; cross compilation

      0? 引? 言

      許多應(yīng)用軟件的開發(fā)并不具備大型云平臺的條件,也不能使用公有云環(huán)境,要求DevOps平臺能夠在開發(fā)場地快速部署,且平臺本身占用的服務(wù)器資源必須盡量少[1-3];而待開發(fā)應(yīng)用軟件所采用的架構(gòu)既可能是傳統(tǒng)的單體應(yīng)用軟件,也可能是基于云原生的微服務(wù)架構(gòu),或者是兩種架構(gòu)的混合體[4,5]。在云計(jì)算技術(shù)已成熟且大量應(yīng)用的今天,還有許多此類開發(fā)場景,而且在某些行業(yè)內(nèi),需求還比較普遍,如工業(yè)互聯(lián)網(wǎng)軟件開發(fā)、軍用軟件開發(fā)等[6]。這些行業(yè)軟件對安全性、保密性要求高,不具備接入公用云的條件,但對采用新型軟件開發(fā)技術(shù)和敏捷開發(fā)的需求很迫切,希望能夠快速建立針對行業(yè)軟件需求的輕量化邊緣云環(huán)境,并采用DevOps平臺支撐應(yīng)用軟件的全生命周期[7,8]。

      本文設(shè)計(jì)的DevOps平臺是一套“小快靈”的開發(fā)環(huán)境,自帶一套容器云平臺,且平臺本身最低僅需一臺服務(wù)器就能運(yùn)行部署。該平臺能夠全方位協(xié)助小型開發(fā)團(tuán)隊(duì)快速上云,通過采用交叉編譯技術(shù),既能支持Linux軟件開發(fā),也能支撐傳統(tǒng)的Windows軟件開發(fā)。平臺提供的Agent“小探針”軟件,能夠同時(shí)部署運(yùn)行在物理機(jī)、虛機(jī)、容器三種環(huán)境內(nèi),全方位支撐各種應(yīng)用軟件的自動(dòng)化部署和運(yùn)維監(jiān)控。該DevOps平臺進(jìn)行了自動(dòng)化的流水線式集成,簡化了開發(fā)人員的操作,減少了學(xué)習(xí)成本。

      1? DevOps框架設(shè)計(jì)

      1.1? DevOps框架

      本文搭建的DevOps平臺是一個(gè)在邊緣云環(huán)境下能夠提供從軟件開發(fā)到運(yùn)維監(jiān)控的全生命周期管理的輕量級、高效率、可擴(kuò)展性平臺。

      本平臺在保證功能全面的前提下,以輕量級開源代碼管理工具Gitea為基礎(chǔ),用支持全面容器化的Drone自動(dòng)化CI工具[9]作支撐,將所有基礎(chǔ)環(huán)境、公共服務(wù)軟件均以Docker鏡像的形式運(yùn)行,充分壓縮平臺本身占用的資源空間,將機(jī)器資源空間留給用戶;為避免使用Kubernetes、Rancher等重量級工具,本平臺提供了小巧的運(yùn)維監(jiān)控軟件Agent,協(xié)助完成多種環(huán)境下的軟件自動(dòng)化部署和運(yùn)維監(jiān)控工作。

      本平臺的部署、啟動(dòng)均通過Docker容器高效實(shí)現(xiàn)。一般將平臺軟件預(yù)先部署在服務(wù)器中,結(jié)合容器的開機(jī)自啟功能在邊緣環(huán)境中可實(shí)現(xiàn)開機(jī)即用。即使需要邊緣現(xiàn)場部署,只需將容器鏡像上傳至機(jī)器中,能夠快速啟動(dòng)本平臺。另外,該DevOps平臺對配置項(xiàng)管理、代碼提交及質(zhì)量管理,到軟件編譯、構(gòu)建和部署,再到運(yùn)維管理進(jìn)行集成,形成了閉環(huán)全流程的自動(dòng)化流水線,降低開發(fā)人員的學(xué)習(xí)成本,提高軟件的交付效率。

      由于本平臺實(shí)現(xiàn)了全面容器化,能夠根據(jù)功能需求進(jìn)行靈活選擇,亦能使用自構(gòu)建的容器鏡像進(jìn)行功能自定義擴(kuò)展;同時(shí),通過交叉編譯技術(shù)能夠支持Windows和Linux軟件開發(fā),Agent能夠支撐軟件在物理機(jī)、虛擬機(jī)、容器中運(yùn)行,增加了開發(fā)的多樣性,能夠支撐多類開發(fā)人員之間的共同協(xié)作。

      如圖1所示,根據(jù)上述DevOps平臺的特點(diǎn),將其劃分為以下幾個(gè)主要部分:配置項(xiàng)管理、代碼質(zhì)量監(jiān)控、自動(dòng)編譯與持續(xù)集成、自動(dòng)化持續(xù)部署以及運(yùn)維監(jiān)控。平臺各模塊均需用戶通過DevOps門戶的統(tǒng)一身份認(rèn)證,該門戶是整個(gè)平臺的統(tǒng)一入口。

      配置項(xiàng)管理主要包含了對微服務(wù)進(jìn)行劃分、建立代碼倉庫、注冊用戶等,使得服務(wù)、倉庫、用戶三者關(guān)聯(lián)匹配。代碼管理及質(zhì)量監(jiān)控主要包括代碼上傳至代碼倉庫、版本標(biāo)簽、版本回退以及代碼倉庫中的代碼質(zhì)量檢測。自動(dòng)編譯與持續(xù)集成主要包含了倉庫中代碼的自動(dòng)編譯、交叉編譯、多服務(wù)之間的集成以及服務(wù)接口自動(dòng)化測試。自動(dòng)化持續(xù)部署主要是包含了服務(wù)的部署鏡像制作以批量自動(dòng)部署。運(yùn)維監(jiān)控是對部署應(yīng)用以及目標(biāo)機(jī)器的狀態(tài)檢測。

      1.2? 常用工具

      下面是本文構(gòu)建的DevOps平臺過程中用到的常見開源軟件工具,包括容器化工具Docker,持續(xù)集成工具Drone,代碼靜態(tài)掃描工具SonarQube,實(shí)現(xiàn)接口自動(dòng)化測試的Postman和Newman。

      1.2.1? Docker

      通過將每個(gè)微服務(wù)的運(yùn)行環(huán)境和開發(fā)環(huán)境進(jìn)行容器化,通過對空間進(jìn)行隔離,能夠杜絕因環(huán)境問題對開發(fā)進(jìn)程產(chǎn)生影響,同時(shí)也便于實(shí)現(xiàn)集中式管理和遷移。Docker是基于Go語言開發(fā)的輕量級開源容器平臺,通過容器引擎將應(yīng)用和環(huán)境打包,能夠發(fā)布到主流Linux機(jī)器上[10]。其構(gòu)建鏡像的重要手段是將操作流程全部寫入DockerFile中,再基于該文件執(zhí)行Docker Build等相關(guān)命令創(chuàng)建鏡像,包括對編譯環(huán)境和服務(wù)運(yùn)行容器鏡像的構(gòu)建。

      1.2.2? Drone

      Drone是一款全面支持容器化的自動(dòng)化持續(xù)集成工具。通過使用YAML文件(.drone.yml)的形式進(jìn)行流程配置,能夠監(jiān)聽Git事件以自動(dòng)觸發(fā)構(gòu)建流程,使得構(gòu)建流程配置方便且容易理解。每個(gè)構(gòu)建步驟都是執(zhí)行在一個(gè)臨時(shí)的Docker容器中,可使得不同的構(gòu)建任務(wù)并行執(zhí)行,不會相互影響,提高了構(gòu)建效率。

      1.2.3? SonarQube

      SonarQube是一款開源的代碼質(zhì)量檢測工具,通過掃描器對指定目錄下的代碼進(jìn)行掃描,將相關(guān)信息傳遞給分析服務(wù)端,再通過Web端將分析結(jié)果展示。SonarQube通過多維度分析代碼質(zhì)量,提供直觀可視化的質(zhì)量報(bào)告,并且提供相關(guān)接口供二次開發(fā)使用。

      1.2.4? Postman與Newman

      Postman是一款常見的接口測試軟件,能夠測試絕大多數(shù)Http協(xié)議的接口。可利用JavaScript編寫測試腳本,并通過Json/csv外部數(shù)據(jù)文件編寫測試用例,配合請求集合實(shí)現(xiàn)多用例一鍵執(zhí)行測試。Newman是配合其使用的命令行操作的運(yùn)行器,通過命令行運(yùn)行Postman導(dǎo)出的測試文件,可實(shí)現(xiàn)接口測試的持續(xù)集成。

      2? DevOps平臺實(shí)現(xiàn)

      2.1? 配置管理

      配置項(xiàng)管理是保證項(xiàng)目按時(shí)保質(zhì)完成的重要手段,同時(shí)考慮平臺資源的局限性,本平臺不再使用額外軟件進(jìn)行配置項(xiàng)管理,仍使用Gitea支撐項(xiàng)目配置管理工作。為做到權(quán)限分配合理、責(zé)任細(xì)化到人,本文根據(jù)軟件服務(wù)業(yè)務(wù)劃分規(guī)劃出三類代碼倉庫和四類人員。三類代碼倉庫分別是:開發(fā)庫、集成測試庫、發(fā)布庫;四類人員分別是:項(xiàng)目配置管理員(Configuration Management,CM)、計(jì)算機(jī)軟件配置項(xiàng)(Computer Software Configuration Item,CSCI)負(fù)責(zé)人、CSCI測試人員、計(jì)算機(jī)軟件單元(Compute Software Unit, CSU)負(fù)責(zé)人。

      開發(fā)庫中存放的是軟件服務(wù)開發(fā)的代碼,規(guī)定其命名規(guī)則是項(xiàng)目-分系統(tǒng)-dev-CSU名稱,集成測試庫和發(fā)布庫命名規(guī)則也是類似。一般地,一個(gè)開發(fā)庫中只存放單個(gè)CSU的代碼,開發(fā)庫的管理權(quán)限分配給CSU負(fù)責(zé)人,由其進(jìn)行代碼上傳、自測、發(fā)版等操作;集成測試庫中的代碼由一個(gè)或多個(gè)開發(fā)庫按照CSCI劃分規(guī)則集成而來,由CSCI測試人員進(jìn)行功能測試,CSCI負(fù)責(zé)人確認(rèn)無誤后進(jìn)行發(fā)版;發(fā)布庫則是準(zhǔn)備發(fā)布的版本,由項(xiàng)目CM打上版本標(biāo)簽,準(zhǔn)備部署,如圖2所示。

      2.2? 代碼質(zhì)量監(jiān)控

      為防止軟件開發(fā)過程中版本錯(cuò)亂、源代碼意外丟失,須將其上傳至遠(yuǎn)程倉庫進(jìn)行版本管理。本平臺支持Git的工作流程和基本操作,能夠通過Git客戶端和Visual Studio、VS Code等多種主流開發(fā)環(huán)境將代碼上傳至開發(fā)庫,輸入提交的版本信息給予說明,做好版本管理。為保證代碼質(zhì)量、提高開發(fā)人員素質(zhì),同時(shí)也便于代碼維護(hù),需要對提交到開發(fā)庫的代碼進(jìn)行靜態(tài)掃描,并對代碼掃描的結(jié)果進(jìn)行判斷,構(gòu)建代碼質(zhì)量門禁,如圖3所示。

      本平臺通過Docker鏡像文件來部署SonarQube的服務(wù)端,在Drone中使用的掃描器是drone-sonar-plugin。在代碼庫的根目錄中根據(jù)不同的語言寫好配置文件,同時(shí)在.drone.yml中填寫SonarQube服務(wù)端的地址以及用戶密鑰等信息,即可在啟動(dòng)編譯的時(shí)候觸發(fā)代碼掃描,SonarQube會根據(jù)由多個(gè)指標(biāo)構(gòu)成的質(zhì)量閾對掃描結(jié)果進(jìn)行判斷。

      2.3? 自動(dòng)編譯與持續(xù)集成

      當(dāng)開發(fā)庫的代碼通過質(zhì)量檢測后,就需要通過編譯來將代碼轉(zhuǎn)換成二進(jìn)制語言,本平臺通過Drone來實(shí)現(xiàn)自動(dòng)觸發(fā)編譯流程,通過配置YAML文件來定義構(gòu)建流程??赏奖O(jiān)聽Git事件,設(shè)置根據(jù)不同的Git事件來觸發(fā)自動(dòng)編譯流程。

      在實(shí)現(xiàn)自動(dòng)編譯的過程中,編譯環(huán)境是至關(guān)重要的一部分。因此,本平臺配置了C++、Java、JavaScript等多種語言的Docker鏡像作為基礎(chǔ)編譯鏡像,以支持多人、多開發(fā)庫的自動(dòng)編譯任務(wù)的并行執(zhí)行,杜絕了代碼編譯環(huán)境之間的相互影響,提高了編譯效率。另外,針對某些行業(yè)內(nèi)不能接入公有云環(huán)境的問題,本平臺在Linux環(huán)境下搭建了Maven、npm等依賴庫,通過編寫Shell腳本實(shí)現(xiàn)了依賴包的批量上傳,CSU負(fù)責(zé)人只需以編譯環(huán)境的Docker鏡像為基礎(chǔ),拉取必需的依賴包,即可解決編譯過程中缺少依賴的問題。

      在軟件開發(fā)過程中難免會有Windows程序的場景需求,為了在一臺服務(wù)器上實(shí)現(xiàn)一體化的編譯環(huán)境支持,本平臺采用MXE交叉編譯在Linux系統(tǒng)生成Windows二進(jìn)制文件,實(shí)現(xiàn)了在Linux系統(tǒng)上編譯Windows程序的功能,同時(shí)也能夠編譯純Linux程序,滿足各類開發(fā)人員對編譯環(huán)境的多樣需求。

      在完成編譯后,CSU負(fù)責(zé)人將其推送至配置好的目標(biāo)集成測試庫,根據(jù)業(yè)務(wù)需要與其他應(yīng)用代碼通過.drone.yml腳本進(jìn)行集成。CSCI測試人員對應(yīng)用提供的接口進(jìn)行測試,針對接口測試,本平臺結(jié)合Postman和Newman實(shí)現(xiàn)了接口自動(dòng)化測試,如圖4所示。利用Postman填寫好請求內(nèi)容、測試腳本等信息,導(dǎo)出測試文件和包含測試數(shù)據(jù)的csv/Json文件一并上傳至集成測試庫,再利用Newman通過Linux命令行進(jìn)行測試,在.drone.yml中添加Newman流程,可根據(jù)Git事件自動(dòng)觸發(fā),CSCI測試人員只需在csv/Json文件中填寫測試用例即可。

      2.4? 自動(dòng)化持續(xù)部署

      對于大規(guī)模集群部署,通常借助Kubernetes和Rancher實(shí)現(xiàn)自動(dòng)化部署和運(yùn)維監(jiān)控,首先需要部署的是Rancher,通過Rancher來安裝K8S集群,再可以通過鏡像倉庫拉取鏡像并根據(jù)該鏡像在K8S集群中運(yùn)行Pod,以Pod為最小單位運(yùn)行,再配合Drone的流水線能夠?qū)崿F(xiàn)大集群的自動(dòng)化部署。

      而考慮到邊緣環(huán)境受網(wǎng)絡(luò)帶寬等因素的影響,并且DevOps平臺也需要在非容器環(huán)境下獨(dú)立進(jìn)行部署任務(wù)、兼容Windows和Linux等主要操作系統(tǒng)。因此,本平臺開發(fā)了Agent“小探針”軟件,通過此Agent能夠?qū)⒎?wù)部署鏡像、可執(zhí)行文件以及相關(guān)配置文件通過內(nèi)部網(wǎng)絡(luò)傳輸至目標(biāo)機(jī)器,結(jié)合流水線實(shí)現(xiàn)自動(dòng)化持續(xù)部署。

      2.5? 運(yùn)維監(jiān)控

      Agent部署在邊緣環(huán)境的主機(jī)中,支持Windows和Linux版本,并且能夠安裝在容器中。Agent作為運(yùn)維監(jiān)控軟件,不僅能夠支撐自動(dòng)化部署,還能夠?qū)⒉渴鹬鳈C(jī)的IP、內(nèi)存、CPU等信息以及應(yīng)用的節(jié)點(diǎn)、PID、狀態(tài)、版本號等狀態(tài)回傳至DevOps平臺中發(fā)布庫的監(jiān)控頁面,如圖5所示。結(jié)合本平臺的交叉編譯功能,可以實(shí)現(xiàn)Windows和Linux應(yīng)用的開發(fā)、編譯、部署和監(jiān)控,從而既能應(yīng)對B-S架構(gòu)軟件開發(fā),又能支撐C-S架構(gòu)的軟件開發(fā)。

      Agent選用跨平臺庫Gopsutil作為系統(tǒng)監(jiān)控、信息收集的基礎(chǔ)包,將數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中。DevOps平臺提供監(jiān)控頁面,通過Http接口收集Agent發(fā)來的監(jiān)控?cái)?shù)據(jù),采用Vue2與ElementUI開發(fā)前端可視化,并將其集成至DevOps發(fā)布庫頁面中。

      3? 平臺驗(yàn)證

      基于本DevOps平臺已開發(fā)了某軟件系統(tǒng),該系統(tǒng)分為7個(gè)子系統(tǒng),以整個(gè)軟件系統(tǒng)為一個(gè)項(xiàng)目,每個(gè)分系統(tǒng)為一個(gè)CSCI,每個(gè)CSCI中有一個(gè)或以上的開發(fā)庫、一個(gè)集成測試庫和發(fā)布庫,一個(gè)開發(fā)庫中存放一個(gè)微服務(wù)的代碼,如圖6所示。

      本文將基于其中一個(gè)QT程序案例對DevOps平臺的各環(huán)節(jié)進(jìn)行驗(yàn)證。在開發(fā)庫中,開發(fā)人員將代碼更新到開發(fā)庫中,在程序編譯之前需要進(jìn)行代碼掃描,對掃描結(jié)果進(jìn)行質(zhì)量判斷,通過質(zhì)量門禁后,該程序通過qmake指令生成適當(dāng)?shù)腗akefile,再使用make指令開始編譯,生成可執(zhí)行文件,如圖7所示。

      在集成測試庫中,通過集成腳本.drone.yml進(jìn)行集成并使用Postman和Newman進(jìn)行自動(dòng)接口測試,通過測試將推送至發(fā)布庫。本實(shí)驗(yàn)中通過在csv中填寫五次測試用例進(jìn)行測試,如圖8所示。

      在發(fā)布庫中,通過DockerFile構(gòu)建新的Docker鏡像,通過部署腳本指定部署目標(biāo)機(jī)器,同時(shí)將啟動(dòng)Docker鏡像的docker-compose.yml文件上傳。Agent會通過docker-compose來自動(dòng)啟動(dòng)Docker容器,并將生命狀態(tài)回傳至開發(fā)庫中監(jiān)控頁面,如圖9所示。

      4? 結(jié)? 論

      本文面向邊緣云環(huán)境設(shè)計(jì)了一套輕量級、高效率、開放性的DevOps平臺,該平臺具有極低的軟硬件部署環(huán)境要求,能夠協(xié)助小型開發(fā)團(tuán)隊(duì)快速上云。能夠同時(shí)支撐B-S架構(gòu)和C-S架構(gòu)的軟件開發(fā),且能實(shí)現(xiàn)Linux、Windows系統(tǒng)的交叉編譯;配合Agent能夠?qū)崿F(xiàn)軟件在物理機(jī)、虛擬機(jī)及容器中的自動(dòng)部署和運(yùn)維監(jiān)控,從而形成了能夠支撐單體應(yīng)用軟件和微服務(wù)架構(gòu)軟件的全生命周期管理平臺。同時(shí),本平臺的所有技術(shù)框架和標(biāo)準(zhǔn)均采用主流開放性組件,可推廣與其他框架和平臺遷移使用。

      參考文獻(xiàn):

      [1] 陳文馳.Docker下的持續(xù)集成系統(tǒng)的開發(fā)應(yīng)用 [J].現(xiàn)代信息科技,2019,3(13):108-109+113.

      [2] 張冬松,胡秀云,鄔長安,等.面向DevOps的政務(wù)大數(shù)據(jù)分析可視化系統(tǒng) [J].計(jì)算機(jī)技術(shù)與發(fā)展,2020,30(8):1-7.

      [3] BALALAIE A,HEYDARNOORI A,JAMSHIDI P. Microservices Architecture Enables DevOps:Migration to a Cloud-Native Architecture [J].IEEE Software,2016,33(3):42-52.

      [4] 辛園園,鈕俊,謝志軍,等.微服務(wù)體系結(jié)構(gòu)實(shí)現(xiàn)框架綜述 [J].計(jì)算機(jī)工程與應(yīng)用,2018,54(19):10-17.

      [5] 梁惠惠.對軟件開發(fā)模式變遷的研究 [J].現(xiàn)代信息科技,2019,3(22):1-4+8.

      [6] 姚錫凡,景軒,張劍銘,等.走向新工業(yè)革命的智能制造 [J].計(jì)算機(jī)集成制造系統(tǒng),2020,26(9):2299-2320.

      [7] 榮國平,張賀,邵棟,等.軟件過程與管理方法綜述 [J].軟件學(xué)報(bào),2019,30(1):62-79.

      [8] 姜文,劉立康.應(yīng)用軟件項(xiàng)目的迭代開發(fā)與測試 [J].計(jì)算機(jī)技術(shù)與發(fā)展,2019,29(4):7-12.

      [9] MAHBOOB J,COFFMAN J. A Kubernetes CI/CD Pipeline with Asylo as a Trusted Execution Environment Abstraction Framework [C]//2021 IEEE 11th Annual Computing and Communication Workshop and Conference(CCWC).NV:IEEE,2021:529-535.

      [10] 丁海斌,崔雋,陸凱.基于Docker的DevOps系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].指揮信息系統(tǒng)與技術(shù),2017,8(3):87-92.

      作者簡介:彭勇(1994—),男,漢族,安徽池州人,助理工程師,碩士,研究方向:云原生技術(shù)和平臺軟件相關(guān);通訊作者:賴蘭劍(1972—),男,漢族,江西贛州人,研究員,碩士,研究方向:系統(tǒng)總體與軟件體系結(jié)構(gòu)。

      收稿日期:2022-09-29

      鸡东县| 桃园县| 安徽省| 通渭县| 江孜县| 遂宁市| 织金县| 台前县| 西城区| 雷山县| 嘉荫县| 铁力市| 天柱县| 自治县| 贺兰县| 山西省| 房产| 定边县| 明星| 大理市| 绵阳市| 萨嘎县| 广州市| 汝阳县| 习水县| 武穴市| 徐汇区| 浠水县| 当雄县| 丰城市| 九龙城区| 玉龙| 宝兴县| 松溪县| 沙田区| 黄梅县| 灵丘县| 安化县| 广灵县| 即墨市| 锡林郭勒盟|