啊用力?嗯?轻一点原神宵宫,尿口扩张videos,国产精品久久久久精品爆乳接种 ,荡公乱妇HD电影中文字幕


微博

QQ

分布式系統(tǒng)配置管理技術(shù)及使用探討

2023-02-09 北京真視通科技股份有限公司 王樂 依馬獅視聽工場


作者:北京真視通科技股份有限公司 王樂

本文發(fā)表于《InfoAV China》2023年1/2月刊


【摘要】:隨著世界科技信息的飛速發(fā)展,分布式系統(tǒng)變得越來越普遍,它是計(jì)算機(jī)科學(xué)領(lǐng)域的一個龐大而復(fù)雜的領(lǐng)域。一個分布式系統(tǒng)是一些獨(dú)立的計(jì)算機(jī)的集合,但是對于該系統(tǒng)的用戶來說,系統(tǒng)就像一臺計(jì)算機(jī)一樣。與集中式系統(tǒng)相比,分布式系統(tǒng)相對更為復(fù)雜,在建設(shè)一個分布式系統(tǒng)時在資源的透明性、系統(tǒng)容錯性、可伸縮性、配置管理等方面需要特別關(guān)注。配置管理是用管理和技術(shù)的手段對項(xiàng)目的工作成果進(jìn)行管理,保證工作成果的完整性和可跟蹤性。分布式系統(tǒng)項(xiàng)目研發(fā)過程中面臨著持續(xù)不斷的變化,變化可能導(dǎo)致版本混亂,目前GIT分布式配置管理系統(tǒng)就是用于控制變化,記錄軟件產(chǎn)品的演化過程,確保開發(fā)者在軟件生命周期中的各個階段都能得到精確的產(chǎn)品配置,最終保證軟件產(chǎn)品的完整性、一致性、可追溯性。

【關(guān)鍵詞】:分布式系統(tǒng);配置管理;GIT

隨著新一輪科技革命和產(chǎn)業(yè)變革深入發(fā)展,采用數(shù)字技術(shù)的分布式系統(tǒng)變得越來越普遍,分布式系統(tǒng)把任務(wù)分散在多個處理節(jié)點(diǎn)上(通常是分布在一地或多地的多臺計(jì)算設(shè)備上)進(jìn)行處理并獲得結(jié)果的系統(tǒng)。政府企事業(yè)單位中大型信息服務(wù)平臺因?yàn)闃I(yè)務(wù)形式多樣,會包含多個子系統(tǒng),這些子系統(tǒng)由不同研發(fā)廠家提供,通常總集成商通過統(tǒng)籌調(diào)度按時保質(zhì)保量完成系統(tǒng)交付和平穩(wěn)運(yùn)行。在大型分布式系統(tǒng)建設(shè)過程中,對于版本控制、變更控制、權(quán)限控制、協(xié)作開發(fā)和資產(chǎn)管理方面,提出了更高的要求,此時需要一套穩(wěn)定成熟的版本管理系統(tǒng)來支撐分布式系統(tǒng)的研發(fā)管理,記錄項(xiàng)目研發(fā)的演化過程,確保開發(fā)者在軟件生命周期中的各個階段都能得到精確的產(chǎn)品配置,保證工作成果的完整性和可跟蹤性。

 

一,配置管理系統(tǒng)簡介

常用的軟件配置管理系統(tǒng)分為兩大類,一類是付費(fèi)商業(yè)軟件,一類是開源軟件。付費(fèi)軟件配置管理工具有Rational ClearCase,Microsoft VSS等。開源免費(fèi)軟件配置管理工具有SVN和GIT,目前在國內(nèi)IT領(lǐng)域使用最廣泛,當(dāng)屬GIT軟件,在一些傳統(tǒng)企業(yè)中也有組織繼續(xù)采用開源軟件SVN。

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統(tǒng),用于多個人共同開發(fā)同一個項(xiàng)目,達(dá)到共享資源,實(shí)現(xiàn)最終集中式的管理。集中式管理的核心是服務(wù)器,所有開發(fā)者在開始新一天的工作之前必須從服務(wù)器獲取代碼,然后開發(fā),最后解決沖突,提交。所有的版本信息都放在服務(wù)器上。如果脫離了服務(wù)器,開發(fā)者基本上是無法工作的。SVN優(yōu)點(diǎn)是對中文支持好,使用界面統(tǒng)一,功能完善,操作簡單。

GIT是一個開源的分布式版本控制系統(tǒng),最初由Linus Torvalds編寫,用于Linux內(nèi)核開發(fā)的版本控制。GIT支持離線工作,在本地可以進(jìn)行很多操作,包括分支功能。分布式相比于集中式的最大區(qū)別在于開發(fā)者可以提交到本地,每個開發(fā)者通過克隆,在本地機(jī)器上拷貝一個完整的GIT倉庫。GIT命令多意味著功能多,若我們能掌握大部分 GIT的功能,體會到其中的奧妙,會發(fā)現(xiàn)再也回不去 SVN 的時代了。

 

二,分布式配置管理系統(tǒng)主要功能

配置項(xiàng)為配置管理設(shè)計(jì)的硬件、軟件或者二者的集合,在配置管理過程中作為一個單個實(shí)體來對待。典型配置項(xiàng)包括項(xiàng)目計(jì)劃書、需求文檔、設(shè)計(jì)文檔、源代碼、可執(zhí)行代碼、測試用例、運(yùn)行軟件所需的各種數(shù)據(jù),它們經(jīng)評審和檢查通過后進(jìn)入配置管理。

配置庫(Configuration Library)存放配置項(xiàng)并記錄與配置項(xiàng)相關(guān)的所有信息,是配置管理的有力工具,利用庫中的信息可回答許多配置管理的問題。例如哪些客戶已提交了特定的系統(tǒng)版本,運(yùn)行一個特定的系統(tǒng)版本需要什么硬件和系統(tǒng)軟件等。使用配置庫可以幫助配置管理員把分布式系統(tǒng)開發(fā)過程的各種工作產(chǎn)品,包括半成品或節(jié)點(diǎn)產(chǎn)品和最終產(chǎn)品管理得井井有條,使其不致管亂、管混、管丟。

配置庫可以分為開發(fā)庫、受控庫、產(chǎn)品庫3種類型。開發(fā)庫(Development Library)用于保存開發(fā)人員當(dāng)前正在開發(fā)的配置實(shí)體,如:新模塊、文檔、數(shù)據(jù)元素或進(jìn)行修改的已有元素,開發(fā)人員可以隨意修改;受控庫(Controlled Library)是包含當(dāng)前的基線加上對基線的變更,在分布式系統(tǒng)開發(fā)的某個階段工作結(jié)束時,將當(dāng)前的工作產(chǎn)品存入受控庫。受控庫存放測試版本的代碼,需要開發(fā)組長提交測試申請修改。產(chǎn)品庫(Product Library)包含已發(fā)布使用的各種基線的存檔,被置于完全的配置管理之下。在分布式系統(tǒng)完成系統(tǒng)測試后,作為最終產(chǎn)品存入產(chǎn)品庫中,等待交付用戶或現(xiàn)場安裝。

分布式版本管理系統(tǒng)對本地?cái)?shù)據(jù)管理,分為三個區(qū),分別是工作區(qū),暫存區(qū)和倉庫區(qū)。工作區(qū)(Working Directory)是你在電腦里能看到的目錄,直接編輯的地方,肉眼可見,直接操作,任何對象都是在工作區(qū)中誕生和被修改。暫存區(qū)(Staging)類似于緩存區(qū)域,臨時保存你的改動,會記錄git add添加文件的相關(guān)信息(文件名、文件大小、timestamp…),不保存文件實(shí)體,通過id指向每個文件實(shí)體。可以使用git status查看暫存區(qū)的狀態(tài),任何修改都是從進(jìn)入暫存區(qū)才開始被版本控制。倉庫區(qū)(Repository)分為本地倉庫和遠(yuǎn)程倉庫,本地倉庫保存了對象被提交過的各個版本,比起工作區(qū)和暫存區(qū)的內(nèi)容,它要更早一些。git commit后同步Staging的目錄樹到本地倉庫,自動初始化為本地倉庫,同時它會新建“.git”目錄方便從下一步通過git push同步本地倉庫與遠(yuǎn)程倉庫。只有把修改提交到本地倉庫,該修改才能在倉庫中留下痕跡。可以在任何地方新建本地倉庫,只需要在目標(biāo)目錄下執(zhí)行“git init”指令,就會將此目錄自動初始化為本地倉庫。遠(yuǎn)程倉庫內(nèi)容可能與本地倉庫同步,也可能不同步,但是它的內(nèi)容是最早的。與協(xié)作者分享本地的修改,可以把它們push到遠(yuǎn)程倉庫來共享。三個區(qū)之間的工作流及對應(yīng)使用的指令如下圖所示:

分布式系統(tǒng)配置管理技術(shù)及使用探討

 

三、分布式系統(tǒng)配置管理最佳實(shí)踐和關(guān)鍵技術(shù)點(diǎn)

分支(Branch)是軟件版本演化圖中的一條路徑,是軟件的一個獨(dú)立演化的版本序列。在配置庫中,各分支是獨(dú)立存儲的。在軟件版本演化圖的眾多分支中,有一條是主線(master),也稱主干。所有其它分支都從主線分出,并有可能會合并回主線。使用分支原因是需要創(chuàng)建一個不同的版本,或者一組人員需要在一個相對獨(dú)立的環(huán)境中互相配合共同完成一個大的任務(wù)。深層次原因是軟件開發(fā)進(jìn)程面臨著兩個基本問題,即適當(dāng)隔離和適當(dāng)共享。適當(dāng)隔離是在工作過程中,各人或各組需獨(dú)立地工作,不希望被別人意外地干擾,也不希望干擾別人。適當(dāng)共享是各人或各組的工作,在適當(dāng)?shù)臅r候,以適當(dāng)?shù)姆绞剑蚕砗图伞7种瑫r對隔離和共享提供了支持。一條分支被創(chuàng)建后,它的生長是獨(dú)立的,工作在一條分支上,不會與主線或其它分支相互影響。分支的起點(diǎn)是分支的基礎(chǔ),是分支繼承的內(nèi)容,不同分支上的工作成果,可在適當(dāng)?shù)臅r候合并。

通常對于小型分布式系統(tǒng)項(xiàng)目或產(chǎn)品,尤其成員大部分是熟悉GIT系統(tǒng)的研發(fā)人員,筆者最佳實(shí)踐是使用 GIT建立 dev, cont和 prod 三個分支分別對應(yīng)開發(fā)庫、受控庫和產(chǎn)品庫,不需要建 3 個庫,這樣通過簡單的合并操作就可以實(shí)現(xiàn)從開發(fā)庫到受控庫、從受控庫到產(chǎn)品庫的代碼復(fù)制,而且可以從合并記錄中看出 3 個分支之間的關(guān)系。在分支中進(jìn)行權(quán)限控制,進(jìn)入要管理的項(xiàng)目倉庫,在分支頁簽下建好所需的分支,然后進(jìn)入保護(hù)分支管理菜單,設(shè)置保護(hù)分支,按照提示操作具體分支,可以實(shí)現(xiàn)只允許管理員或者特定人員向這些分支提交/合并,從而實(shí)現(xiàn)了受控庫和產(chǎn)品庫受控。

對于中大型分布式系統(tǒng)項(xiàng)目研發(fā),尤其涉及多個廠家共同合作開發(fā)并最終集成的情況,最佳實(shí)踐是采用分組管理方式,來實(shí)現(xiàn)開發(fā)區(qū)、受控庫、產(chǎn)品庫的獨(dú)立管理,目錄結(jié)構(gòu)跟傳統(tǒng)SVN后臺配置管理的結(jié)構(gòu)類似。組(Group)是一個父子結(jié)構(gòu)的目錄,其每一級都可以設(shè)置關(guān)聯(lián)的成員(Member),同時每一級下都可以創(chuàng)建項(xiàng)目(Project),組關(guān)聯(lián)的Member和Member對應(yīng)的權(quán)限,會繼承到Group下的所有子項(xiàng)目和子組上,Project中除了繼承Group的Member,還可以單獨(dú)設(shè)置新的Member。這種方式可以為每個廠家分配自己負(fù)責(zé)的子項(xiàng)目,相對于完全分支管理,分組管理可以實(shí)現(xiàn)更嚴(yán)格的權(quán)限控制,當(dāng)然也可以根據(jù)需要再做某個Project下單獨(dú)分支管理。客戶端方面,盡量選擇GUI客戶端,比如TortoiseGit,減少對GIT具體指令的依賴,這種前后端組合對于合作的各廠家版本配置技能要求會低很多。建議采用的配置管理流程圖如下:

分布式系統(tǒng)配置管理技術(shù)及使用探討

分布式系統(tǒng)配置管理技術(shù)及使用探討

 

結(jié)束語:

真視通云視頻工程實(shí)驗(yàn)室在研發(fā)分布式系統(tǒng)產(chǎn)品時,使用成熟穩(wěn)定的分布式配置管理系統(tǒng),在自主研發(fā)模塊中,采用分支版本管理方式;在主導(dǎo)國內(nèi)中大型分布式系統(tǒng)工程項(xiàng)目時,涉及多個合作單位,使用創(chuàng)新性的分組管理模式, 降低合作研發(fā)單位的配置管理技術(shù)要求,提高研發(fā)效率,保證軟件產(chǎn)品的完整性、一致性、可追溯性。


參考文獻(xiàn):

[1] Wahli U,Brown J,Teinonen M,Trulsson L.軟件配置管理:IBM Rational ClearCase和ClearQuest UCM指南[M].李紀(jì)華,譯.北京:人民郵電出版社,2006.

[2] Gene Kim,Jez Humble,Patrick Debois,John Willis. DevOps實(shí)踐指南[M]. 劉征,王磊,馬博文,曾朝京譯.北京:人民郵電出版社,2018.

[3] GB/T 12505-90, 計(jì)算機(jī)軟件配置管理計(jì)劃規(guī)范 [S]

真視通 分布式 配置管理 GIT

視聽科技視頻號 廣告
發(fā)表評論
主站蜘蛛池模板: 2020久久精品亚洲热综合一本| 24小时日本免费高清视频在线观看| 少妇一级婬片50分钟| 亚洲国产天堂AV精品国语对白| 欧美爽爽爽爽爽爽视频| 美女鸡鸡| 太深了灬太大了灬舒服| 被两个体育生双龙9| 欧美夫妻生活网| 99re6国产精品免费播放| 从后面撕开老师的丝袜动态图| 91人妻精品久久久久久久| 91麻豆国产极品在线播放| 久久精品香蕉视频| 91se在线看片国产免费观看| 快穿系纯h高h文| 国产露脸91国语对白| 久久久久亚洲精品911密乳Av | YJLZZJLZZ亚洲乱熟无码| 黄毛片视频| 波罗野结衣被躁57分钟| 美女的屁股免费网站| 国产亚洲精品福利在线| 公车忘穿内裤被挺进小说| 含着整晚都没拔出来H| 欧美国产精品亚洲日韩さくらみな | 在线羞羞视频| ****a免费毛片视频| 老师还能更骚| 日日躁夜夜躁夜夜揉人人视频| 苏酥的被Cao日常NP| 国产精品高潮久久久久久无码| 又黄又变态又免费的视频| 日韩精品第一页| 在线天堂www在线...中文| 啦啦啦观看免费观看视频7| 美女日出水| 教师欲乱动漫无修版| 欧美又粗又大又黄又爽又色| 黑人と日本人の交わりビデオ下载| 免费观看黄视频网站|