集成版本管理的工程組態(tài)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種集成版本管理的工程組態(tài)方法及系統(tǒng),該方法包括:客戶端下載組態(tài)工程后,發(fā)送攜帶有該組態(tài)工程中待編輯的模塊的標(biāo)識(shí)和客戶端的標(biāo)識(shí)的編輯請(qǐng)求;若版本管理服務(wù)器查找到的組態(tài)工程中對(duì)應(yīng)待編輯的模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)為待編輯,則返回編輯權(quán)限,將編輯狀態(tài)修改為編輯中;客戶端接收到編輯權(quán)限后,將編輯后得到的已編輯模塊替換掉組態(tài)工程中的待編輯的模塊,將向版本管理服務(wù)器提交修改后的組態(tài)工程提交、并發(fā)送攜帶有已編輯模塊的標(biāo)識(shí)和客戶端的標(biāo)識(shí)的釋放請(qǐng)求;版本管理服務(wù)器將對(duì)應(yīng)已編輯模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)置為待編輯,為客戶端提交的組態(tài)工程分配新的版本號(hào)進(jìn)行存儲(chǔ)。應(yīng)用本發(fā)明,可以提高組態(tài)效率。
【專利說明】集成版本管理的工程組態(tài)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及組態(tài)軟件【技術(shù)領(lǐng)域】,尤其涉及一種集成版本管理的工程組態(tài)方法及系統(tǒng)。
【背景技術(shù)】
[0002]軌道交通綜合監(jiān)控系統(tǒng)是一個(gè)龐大的組態(tài)工程,其涉及20-50個(gè)車站、10多個(gè)子系統(tǒng)、近200臺(tái)計(jì)算機(jī)、近萬臺(tái)自動(dòng)化設(shè)備、近100萬個(gè)測(cè)點(diǎn);搭建這樣的組態(tài)工程的工作量非常大,必須由多個(gè)工程組態(tài)人員共同開發(fā)完成。例如,在傳統(tǒng)的組態(tài)方法中,多個(gè)工程組態(tài)人員可以通過組態(tài)軟件平臺(tái)來組態(tài)工程,具體地,可以根據(jù)工程規(guī)模將組態(tài)工程劃分為小規(guī)模的模塊,有些工藝獨(dú)立的模塊可以由不同的工程組態(tài)人員分別負(fù)責(zé)開發(fā),有些公用的模塊則需要多人進(jìn)行開發(fā);在各模塊完成開發(fā)后,手動(dòng)進(jìn)行工程的合并和發(fā)布。
[0003]事實(shí)上,軌道交通綜合監(jiān)控系統(tǒng)從開始組態(tài)到最終發(fā)布,要經(jīng)歷很多個(gè)版本,因此,需要對(duì)組態(tài)工程中的各模塊進(jìn)行不斷的修改。然而,由于傳統(tǒng)的工程組態(tài)過程中,需要采用拷貝的方式獲取不同的工程組態(tài)人員所修改的各模塊,將修改的各模塊與歷史版本中未修改的模塊進(jìn)行合并,形成新的版本的組態(tài)工程,組態(tài)過程繁復(fù)、組態(tài)效率低;而且可能存在同時(shí)有多個(gè)工程組態(tài)人員對(duì)同一模塊進(jìn)行修改的情況,一旦出現(xiàn)上述情況,在合并過程中就會(huì)出現(xiàn)模塊沖突的問題,需要人工才能解決,進(jìn)一步降低了工程組態(tài)的效率。
[0004]為了提高工程組態(tài)的效率,現(xiàn)有提供了一種分布式控制系統(tǒng)的工程組態(tài)管理方法及系統(tǒng),其可以為分布式控制系統(tǒng)的每個(gè)單元域設(shè)置對(duì)應(yīng)的域服務(wù)器,并設(shè)置管理域;在各單元域內(nèi)分別組態(tài),獲得各單元域的組態(tài)文件,將各單元域的組態(tài)文件存儲(chǔ)到各自對(duì)應(yīng)的域服務(wù)器上;共享各單元域的工程組態(tài)主目錄;根據(jù)工程組態(tài)主目錄,在管理域上添加各單元域工程,對(duì)各單元域統(tǒng)一進(jìn)行組態(tài)。雖然,通過該管理系統(tǒng)可以實(shí)現(xiàn)各單元域分別組態(tài)(并行化),提高了工程組態(tài)的效率;但是,每個(gè)單元域修改工程內(nèi)容后,提交到域服務(wù)器時(shí),會(huì)將當(dāng)前域服務(wù)器中對(duì)應(yīng)的工程內(nèi)容覆蓋,并不能記錄每個(gè)單元域每次修改的內(nèi)容,不利于問題追溯,不能夠?qū)崿F(xiàn)工程版本的回退。
[0005]綜上所述,現(xiàn)有的工程組態(tài)方法存在工程組態(tài)效率低,因此,有必要提供一種能夠支持多個(gè)工程組態(tài)人員同時(shí)修改組態(tài)工程以提高組態(tài)效率。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種集成版本管理的工程組態(tài)方法及系統(tǒng),用以提高組態(tài)效率。
[0007]根據(jù)本發(fā)明的一個(gè)方面,提供了一種集成版本管理的工程組態(tài)方法,包括:
[0008]客戶端從版本管理服務(wù)器下載組態(tài)工程后,向所述版本管理服務(wù)器發(fā)送攜帶有該組態(tài)工程中待編輯的模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的編輯請(qǐng)求;
[0009]所述版本管理服務(wù)器根據(jù)接收的編輯請(qǐng)求,查找所述組態(tài)工程中對(duì)應(yīng)所述待編輯的模塊的標(biāo)識(shí)所記錄的編輯狀態(tài);若查找到的編輯狀態(tài)為待編輯,則返回所述待編輯的模塊的編輯權(quán)限,將查找到的編輯狀態(tài)修改為編輯中,并記錄該模塊的編輯者為所述客戶端的標(biāo)識(shí);否則,返回拒絕信息;
[0010]所述客戶端在接收到所述待編輯的模塊的編輯權(quán)限后,將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交;
[0011]所述客戶端向版本管理服務(wù)器發(fā)送攜帶有所述已編輯模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的釋放請(qǐng)求;
[0012]所述版本管理服務(wù)器從接收的釋放請(qǐng)求中解析出客戶端的標(biāo)識(shí)與模塊的標(biāo)識(shí)后,確認(rèn)對(duì)應(yīng)解析出的模塊的標(biāo)識(shí)所記錄的編輯者是否與解析出的客戶端的標(biāo)識(shí)相同;若是,則將所述組態(tài)工程中對(duì)應(yīng)所述已編輯模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)置為待編輯,為所述客戶端提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ),并取消所述客戶端的標(biāo)識(shí)與所述已編輯豐吳塊的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
[0013]較佳地,在所述客戶端從版本管理服務(wù)器下載組態(tài)工程之前,還包括:
[0014]客戶端將創(chuàng)建的組態(tài)工程提交至所述版本管理服務(wù)器;
[0015]所述版本管理服務(wù)器為接收的組態(tài)工程分配版本號(hào)后,將分配的版本號(hào)與接收的組態(tài)工程進(jìn)行對(duì)應(yīng)存儲(chǔ)。
[0016]較佳地,所述將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交之前,還包括:
[0017]所述客戶端從所述版本管理服務(wù)器下載當(dāng)前最新的組態(tài)工程,并將基于之前下載的組態(tài)工程進(jìn)行修改后得到的組態(tài)工程與所述當(dāng)前最新的組態(tài)工程進(jìn)行版本比對(duì),確定出兩者的差異內(nèi)容后,利用確定出的差異內(nèi)容對(duì)所述修改后得到的組態(tài)工程進(jìn)行更新;
[0018]所述將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交,具體為:將得到的更新后的組態(tài)工程向所述版本管理服務(wù)器提交。
[0019]較佳地,所述客戶端在接收到所述待編輯的模塊的編輯權(quán)限之后,還包括:
[0020]所述客戶端向所述版本管理服務(wù)器發(fā)送攜帶有目的版本號(hào)的歷史版本請(qǐng)求;
[0021]所述版本管理服務(wù)器根據(jù)接收的所述歷史版本請(qǐng)求,查找出與所述目的版本號(hào)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與所述待編輯的模塊的標(biāo)識(shí)相同的模塊針對(duì)所述歷史版本請(qǐng)求向所述客戶端返回;
[0022]所述將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,具體為:
[0023]所述客戶端將接收的模塊替換掉所述組態(tài)工程中的待編輯的模塊。
[0024]較佳地,將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊之后,還包括:
[0025]確定出所述已編輯模塊與所述待編輯的模塊之間的差異內(nèi)容;以及
[0026]所述將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交,具體為:
[0027]將得到的修改后的組態(tài)工程、已編輯模塊的標(biāo)識(shí)和確定出的差異內(nèi)容向所述版本管理服務(wù)器提交;以及
[0028]所述為所述客戶端提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ),具體為:
[0029]所述版本管理服務(wù)器為所述客戶端提交的組態(tài)工程分配新的版本號(hào),并將分配的新的版本號(hào)與接收的組態(tài)工程、所述已編輯模塊的標(biāo)識(shí)以及接收的差異內(nèi)容對(duì)應(yīng)存儲(chǔ)。
[0030]較佳地,所述客戶端在接收到所述待編輯的模塊的編輯權(quán)限之后,還包括:
[0031]所述客戶端向所述版本管理服務(wù)器發(fā)送攜帶有所述待編輯的模塊的標(biāo)識(shí)的歷史版本請(qǐng)求;
[0032]所述版本管理服務(wù)器根據(jù)接收的所述歷史版本請(qǐng)求,查找出所有與所述待編輯的模塊的標(biāo)識(shí)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與所述待編輯的模塊的標(biāo)識(shí)相同的模塊向所述客戶端返回;以及
[0033]所述將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,具體為:
[0034]所述客戶端接收到所述版本管理服務(wù)器返回的所有與所述待編輯的模塊的標(biāo)識(shí)相同的模塊,從中選擇一個(gè)模塊替換掉所述組態(tài)工程中的待編輯的模塊。
[0035]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種集成版本管理的工程組態(tài)系統(tǒng),包括:
[0036]所述客戶端用于從所述版本管理服務(wù)器下載組態(tài)工程后,向所述版本管理服務(wù)器發(fā)送攜帶有該組態(tài)工程中待編輯的模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的編輯請(qǐng)求;并在接收到所述待編輯的模塊的編輯權(quán)限后,將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交;之后,向版本管理服務(wù)器發(fā)送攜帶有所述已編輯模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的釋放請(qǐng)求;
[0037]所述版本管理服務(wù)器用于根據(jù)接收的編輯請(qǐng)求,查找所述組態(tài)工程中對(duì)應(yīng)所述待編輯的模塊的標(biāo)識(shí)所記錄的編輯狀態(tài);若查找到的編輯狀態(tài)為待編輯,則返回所述待編輯的模塊的編輯權(quán)限,并將查找到的編輯狀態(tài)修改為編輯中,并記錄該模塊的編輯者為所述客戶端的標(biāo)識(shí);否則,返回拒絕信息;并從接收的釋放請(qǐng)求中解析出客戶端的標(biāo)識(shí)與模塊的標(biāo)識(shí)后,確認(rèn)對(duì)應(yīng)解析出的模塊的標(biāo)識(shí)所記錄的編輯者是否與解析出的客戶端的標(biāo)識(shí)相同;若是,則將所述組態(tài)工程中對(duì)應(yīng)所述已編輯模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)置為待編輯,為所述客戶端提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ),并取消所述客戶端的標(biāo)識(shí)與所述已編輯模塊的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
[0038]較佳地,所述客戶端還用于在從版本管理服務(wù)器下載組態(tài)工程之前,將創(chuàng)建的組態(tài)工程提交至所述版本管理服務(wù)器;以及
[0039]所述版本管理服務(wù)器還用于為接收的組態(tài)工程分配版本號(hào)后,將分配的版本號(hào)與接收的組態(tài)工程進(jìn)行對(duì)應(yīng)存儲(chǔ)。
[0040]較佳地,所述客戶端還用于在將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交之前,從所述版本管理服務(wù)器下載當(dāng)前最新的組態(tài)工程,將基于之前下載的組態(tài)工程與所述當(dāng)前最新的組態(tài)工程進(jìn)行版本比對(duì),確定出兩者的差異內(nèi)容后,利用確定出的差異內(nèi)容對(duì)所述修改后得到的組態(tài)工程進(jìn)行更新,將得到的更新后的組態(tài)工程向所述版本管理服務(wù)器提交。
[0041]較佳地,所述客戶端還用于在接收到所述待編輯的模塊的編輯權(quán)限之后,向所述版本管理服務(wù)器發(fā)送攜帶有目的版本號(hào)的歷史版本請(qǐng)求;將接收的針對(duì)所述歷史版本請(qǐng)求返回的模塊替換掉所述組態(tài)工程中的待編輯的模塊;以及
[0042]所述版本管理服務(wù)器還用于根據(jù)接收的所述歷史版本請(qǐng)求,查找出與所述目的版本號(hào)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與所述待編輯的模塊的標(biāo)識(shí)相同的模塊針對(duì)所述歷史版本請(qǐng)求向所述客戶端返回。
[0043]本發(fā)明實(shí)施例的技術(shù)方案中,客戶端可以從版本管理服務(wù)器下載最新或歷史版本的組態(tài)工程,并在對(duì)下載的組態(tài)工程進(jìn)行編輯后再提交至版本管理服務(wù)器,繼而,版本管理服務(wù)器為提交的組態(tài)工程分配最新的版本號(hào);這樣,在后續(xù)可以根據(jù)版本號(hào)進(jìn)行歷史版本的追溯和回退。并且,多個(gè)客戶端可以同時(shí)對(duì)同一版本的組態(tài)工程進(jìn)行編輯修改,提高了組態(tài)效率。其中,不同的客戶端對(duì)同一版本的組態(tài)工程修改的過程中,版本管理服務(wù)器可以針對(duì)各客戶端待編輯修改的模塊進(jìn)行編輯權(quán)限的授予與拒絕,以此保證同一模塊在同一時(shí)間只有一個(gè)客戶端進(jìn)行編輯修改,這樣也就避免了現(xiàn)有因多人修改同一模塊所造成的模塊沖突問題,進(jìn)一步提聞了組態(tài)效率。
【專利附圖】
【附圖說明】
[0044]圖1為本發(fā)明實(shí)施例的集成版本管理的工程組態(tài)系統(tǒng)的結(jié)構(gòu)示意圖;
[0045]圖2為本發(fā)明實(shí)施例的一種集成版本管理的工程組態(tài)方法的流程示意圖;
[0046]圖3為本發(fā)明實(shí)施例的第二種工程組態(tài)方法的流程示意圖;
[0047]圖4為本發(fā)明實(shí)施例的第三種工程組態(tài)方法的流程示意圖。
【具體實(shí)施方式】
[0048]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。然而,需要說明的是,說明書中列出的許多細(xì)節(jié)僅僅是為了使讀者對(duì)本發(fā)明的一個(gè)或多個(gè)方面有一個(gè)透徹的理解,即便沒有這些特定的細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明的這些方面。
[0049]本申請(qǐng)使用的“模塊”、“系統(tǒng)”等術(shù)語旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于:處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例來說,計(jì)算設(shè)備上運(yùn)行的應(yīng)用程序和此計(jì)算設(shè)備都可以是模塊。一個(gè)或多個(gè)模塊可以位于執(zhí)行中的一個(gè)進(jìn)程和/或線程內(nèi)。
[0050]本發(fā)明的發(fā)明人考慮,可以通過版本管理服務(wù)器為客戶端提交的組態(tài)工程分配的版本號(hào);相應(yīng)地,每個(gè)客戶端可以從版本管理服務(wù)器下載最新或歷史版本的組態(tài)工程并對(duì)下載的組態(tài)工程進(jìn)行編輯后再提交至版本管理服務(wù)器,繼而,版本管理服務(wù)器為提交的組態(tài)工程分配最新的版本號(hào);這樣,在后續(xù)可以根據(jù)版本號(hào)進(jìn)行歷史版本的追溯和回退。并且,多個(gè)客戶端可以同時(shí)對(duì)下載的同一組態(tài)工程進(jìn)行編輯修改,提高了組態(tài)效率。
[0051]進(jìn)一步地,不同的客戶端對(duì)同一組態(tài)工程修改的過程中,版本管理服務(wù)器可以針對(duì)各客戶端待編輯修改的模塊進(jìn)行編輯權(quán)限的授予與拒絕,以此保證同一模塊在同一時(shí)間只有一個(gè)客戶端進(jìn)行編輯修改,這樣也就避免了模塊沖突的問題,進(jìn)一步提高了組態(tài)效率。
[0052]下面結(jié)合附圖詳細(xì)說明本發(fā)明的技術(shù)方案。
[0053]本發(fā)明實(shí)施例提供了一種集成版本管理的工程組態(tài)系統(tǒng),如圖1所示,具體包括:版本管理服務(wù)器101和至少一個(gè)客戶端102。
[0054]其中,版本管理服務(wù)器101可以預(yù)先構(gòu)建一個(gè)用于存儲(chǔ)組態(tài)工程的組態(tài)工程庫;在該組態(tài)工程庫中,每個(gè)組態(tài)工程都具有與之對(duì)應(yīng)的版本號(hào)。而且,版本管理服務(wù)器101對(duì)于組態(tài)工程庫中的每個(gè)組態(tài)工程,針對(duì)該組態(tài)工程所包含的每個(gè)模塊,對(duì)應(yīng)該模塊的標(biāo)識(shí)記錄有編輯狀態(tài),例如,待編輯或編輯中。
[0055]對(duì)于集成版本管理的工程組態(tài)系統(tǒng)中的每個(gè)客戶端102,該客戶端102具體可以包括:本地工程庫、HMI (Human Machine Interface,人機(jī)界面)組件和多人組態(tài)服務(wù)組件;且客戶端102中預(yù)先設(shè)置有用于與版本管理服務(wù)器101相連的SVN客戶端服務(wù)。這樣,版本管理服務(wù)器101可以通過SVN客戶端服務(wù)與客戶端中的多人組態(tài)服務(wù)組件進(jìn)行通信。
[0056]在上述集成版本管理的工程組態(tài)系統(tǒng)進(jìn)行工程組態(tài)之前,版本管理服務(wù)器101可以接收客戶端102提交的組態(tài)工程,并將接收的組態(tài)工程與為該組態(tài)工程分配的版本號(hào)對(duì)應(yīng)存儲(chǔ)在組態(tài)工程庫中。
[0057]具體地,集成版本管理的工程組態(tài)系統(tǒng)中的任一客戶端102可以通過多人組態(tài)服務(wù)組件調(diào)用SVN客戶端服務(wù)將本地創(chuàng)建的(或本地工程庫中存儲(chǔ)的)組態(tài)工程提交至版本管理服務(wù)器101。繼而,版本管理服務(wù)器101為接收的組態(tài)工程分配版本號(hào)后,可以將分配的版本號(hào)與接收的組態(tài)工程對(duì)應(yīng)存儲(chǔ)在組態(tài)工程庫中。
[0058]在技術(shù)人員需要對(duì)組態(tài)工程庫中的某個(gè)組態(tài)工程的某個(gè)模塊進(jìn)行編輯、修改時(shí),如圖2所示,可以通過如下步驟實(shí)現(xiàn):
[0059]S201:客戶端102從版本管理服務(wù)器101下載組態(tài)工程后,將下載的組態(tài)工程存放至本地工程庫中。
[0060]具體地,客戶端102中的多人組態(tài)服務(wù)組件可以調(diào)用SVN客戶端服務(wù)向版本管理服務(wù)器101發(fā)送最新下載請(qǐng)求;版本管理服務(wù)器101接收到最新下載請(qǐng)求后,從組態(tài)工程庫中獲取與當(dāng)前最新的版本號(hào)對(duì)應(yīng)的組態(tài)工程,并將組態(tài)工程向客戶端102中的多人組態(tài)服務(wù)組件返回。實(shí)際應(yīng)用中,客戶端102也可以發(fā)送攜帶有版本號(hào)的下載請(qǐng)求,請(qǐng)求下載與版本號(hào)對(duì)應(yīng)的組態(tài)工程。
[0061]S202:客戶端102從版本管理服務(wù)器101獲取與下載的組態(tài)工程中待編輯的模塊對(duì)應(yīng)的編輯權(quán)限后,將待編輯的模塊從組態(tài)工程中簽出并進(jìn)行編輯,得到已編輯模塊。
[0062]具體地,客戶端102中的HMI組件從本地工程庫中加載下載的組態(tài)工程,從該組態(tài)工程中確定出待編輯的模塊,并確定出組態(tài)工程中的待編輯的模塊的標(biāo)識(shí);繼而,客戶端102中的多人組態(tài)服務(wù)組件可以調(diào)用SVN客戶端服務(wù)向本管理服務(wù)器101發(fā)送攜帶有待編輯的模塊的標(biāo)識(shí)和客戶端102的標(biāo)識(shí)的編輯請(qǐng)求。繼而,版本管理服務(wù)器101根據(jù)接收的編輯請(qǐng)求,從中解析出待編輯的模塊的標(biāo)識(shí)和客戶端102的標(biāo)識(shí)后,查找組態(tài)工程中對(duì)應(yīng)待編輯的模塊的標(biāo)識(shí)所記錄的編輯狀態(tài);若查找到的編輯狀態(tài)為待編輯,則向客戶端102中的多人組態(tài)服務(wù)組件返回待編輯的模塊的編輯權(quán)限,并將查找到的編輯狀態(tài)修改為編輯中,并記錄該模塊的編輯者為客戶端102的標(biāo)識(shí);否則,返回拒絕信息,即版本管理服務(wù)器101不向客戶端102返回與該模塊相對(duì)應(yīng)的編輯權(quán)限,實(shí)際應(yīng)用中,可以向客戶端102返回提示該待編輯的模塊目前處于編輯中的提示信息。這樣,客戶端102接收到編輯權(quán)限后,可以將待編輯的模塊從組態(tài)工程中簽出并對(duì)待編輯的模塊進(jìn)行編輯后得到已編輯模塊。其中,組態(tài)工程中各模塊的標(biāo)識(shí)具體是根據(jù)該模塊的具體功能所確定的,對(duì)于在不同版本的組態(tài)工程中在同一位置具有相同功能的模塊具有相同的標(biāo)識(shí)。
[0063]實(shí)際應(yīng)用中,當(dāng)組態(tài)工程中對(duì)應(yīng)模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)為待編輯時(shí),表明目前沒有客戶端對(duì)該模塊進(jìn)行編輯,任一客戶端可以獲取該模塊的編輯權(quán)限。而當(dāng)組態(tài)工程中對(duì)應(yīng)模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)為編輯中時(shí),表明目前有客戶端在對(duì)該模塊進(jìn)行編輯,其他的客戶端將無法獲取該模塊的編輯權(quán)限。這樣,通過編輯權(quán)限來對(duì)模塊進(jìn)行互斥性檢驗(yàn),可以保證對(duì)于同一模塊,在同一時(shí)間只有一個(gè)客戶端可以對(duì)其進(jìn)行編輯,避免了多個(gè)用戶同時(shí)修改組態(tài)工程中的同一模塊所帶來的版本不一致問題,以及避免了多人組態(tài)的模塊沖關(guān)問題。
[0064]S203:客戶端102將得到的已編輯模塊簽入下載的組態(tài)工程,得到修改后的組態(tài)工程,將修改后的組態(tài)工程存儲(chǔ)至本地工程庫中。
[0065]具體地,客戶端102中的HMI組件將對(duì)待編輯的模塊進(jìn)行編輯后得到的已編輯模塊簽入下載的組態(tài)工程,即將已編輯模塊替換掉組態(tài)工程中的待編輯的模塊,這樣,可以得到已簽入已編輯模塊的組態(tài)工程(即修改后的組態(tài)工程)后,將得到的修改后的組態(tài)工程存儲(chǔ)至本地工程庫中。
[0066]S204:客戶端102將得到的修改后的組態(tài)工程向版本管理服務(wù)器101提交,并向版本管理服務(wù)器101發(fā)送攜帶有已編輯模塊的標(biāo)識(shí)和客戶端的標(biāo)識(shí)的釋放請(qǐng)求。
[0067]具體地,客戶端102中的多人組態(tài)服務(wù)組件調(diào)用SVN客戶端服務(wù)向版本管理服務(wù)器101提交修改后的組態(tài)工程,并向版本管理服務(wù)器101發(fā)送攜帶有已編輯模塊的標(biāo)識(shí)和客戶端的標(biāo)識(shí)的釋放請(qǐng)求,以釋放與已編輯模塊的編輯權(quán)限。
[0068]進(jìn)一步地,客戶端將得到的修改后的組態(tài)工程向版本管理服務(wù)器10提交之前,還可以從版本管理服務(wù)器101下載當(dāng)前最新的組態(tài)工程,并將基于之前下載的組態(tài)工程進(jìn)行修改后得到的組態(tài)工程與當(dāng)前最新的組態(tài)工程進(jìn)行版本比對(duì),確定出兩者的差異內(nèi)容后,利用確定出的差異內(nèi)容對(duì)修改后得到的組態(tài)工程進(jìn)行更新;并將得到的更新后的組態(tài)工程向版本管理服務(wù)器101提交。
[0069]實(shí)際應(yīng)用中,客戶端102向版本管理服務(wù)器101發(fā)送釋放請(qǐng)求后,還可以直接對(duì)修改后的組態(tài)工程進(jìn)行編譯調(diào)試,將編譯調(diào)試成功的組態(tài)工程作為新版本進(jìn)行發(fā)布。當(dāng)然,客戶端102步驟S202從版本管理服務(wù)器101下載當(dāng)前最新的組態(tài)工程后,也可以直接對(duì)下載的組態(tài)工程進(jìn)行編譯調(diào)試,將編譯調(diào)試成功的組態(tài)工程作為新版本進(jìn)行發(fā)布。
[0070]S205:版本管理服務(wù)器101接收到客戶端102發(fā)送的釋放請(qǐng)求后,為客戶端102提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ)。
[0071]具體地,版本管理服務(wù)器101接收到客戶端102通過SVN客戶端服務(wù)發(fā)送的釋放請(qǐng)求后,從中解析出已編輯模塊的標(biāo)識(shí)和客戶端的標(biāo)識(shí);確認(rèn)對(duì)應(yīng)解析出的模塊的標(biāo)識(shí)所記錄的編輯者是否與解析出的客戶端的標(biāo)識(shí)相同;若是,則版本管理服務(wù)器101將組態(tài)工程中對(duì)應(yīng)已編輯模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)置為待編輯,并為客戶端102提交的組態(tài)工程分配新的版本號(hào)后,將分配的新的版本號(hào)與客戶端102提交的組態(tài)工程對(duì)應(yīng)存儲(chǔ)在組態(tài)工程庫中,同時(shí),可以取消客戶端102的標(biāo)識(shí)與已編輯模塊的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。若對(duì)應(yīng)解析出的模塊的標(biāo)識(shí)所記錄的編輯者與解析出的客戶端的標(biāo)識(shí)不同,則表明客戶端102在沒有獲得編輯權(quán)限的情況下對(duì)模塊進(jìn)行了編輯,版本管理服務(wù)器101將不接受該客戶端102本次提交的組態(tài)工程,并不對(duì)其進(jìn)行版本號(hào)的分別和存儲(chǔ)。
[0072]實(shí)際應(yīng)用中,在本客戶端102對(duì)版本管理服務(wù)器101中的組態(tài)工程庫中之前存儲(chǔ)的最新的版本號(hào)對(duì)應(yīng)的組態(tài)工程進(jìn)行下載編輯形成修改后的組態(tài)工程的過程中,其他客戶端可能也對(duì)具有相同版本號(hào)的組態(tài)工程中的其他模塊進(jìn)行了修改,并在本客戶端102提交修改后的組態(tài)工程之前,版本管理服務(wù)器101已為其他客戶端102提交的組態(tài)工程分配了新的版本號(hào),即在本客戶端102提交修改后的組態(tài)工程時(shí),版本管理服務(wù)器101中的組態(tài)工程庫中存儲(chǔ)的最新組態(tài)工程并不是本客戶端102之前下載的組態(tài)工程。
[0073]因此,為了保持版本管理服務(wù)器101中的組態(tài)工程庫中能夠準(zhǔn)確存儲(chǔ)最新版本的組態(tài)工程,本客戶端102將修改后的組態(tài)工程存儲(chǔ)至本地工程庫中之后,可以將修改后的組態(tài)工程與版本管理服務(wù)器101的組態(tài)工程庫中當(dāng)前存儲(chǔ)的最新組態(tài)工程進(jìn)行比對(duì),確定出兩者之間的差異內(nèi)容,并將確定出的差異內(nèi)容更新到客戶端102的本地工程庫中,實(shí)現(xiàn)客戶端的本地組態(tài)工程的增量更新,例如,可以采用如圖3所示的第二種工程組態(tài)方法,具體地,在客戶端102在接收到待編輯的模塊的編輯權(quán)限之后,如圖3所示,還可以包括如下步驟:
[0074]S301:客戶端102向版本管理服務(wù)器101發(fā)送最新下載請(qǐng)求。
[0075]具體地,客戶端102中的多人組態(tài)服務(wù)組件調(diào)用SVN客戶端服務(wù)向版本管理服務(wù)器101發(fā)送用于獲取最新組態(tài)工程的最新下載請(qǐng)求。
[0076]S302:版本管理服務(wù)器101接收到最新下載請(qǐng)求后,將組態(tài)工程庫中與當(dāng)前最新的版本號(hào)對(duì)應(yīng)的組態(tài)工程向客戶端102返回。
[0077]具體地,版本管理服務(wù)器101可以在接收到客戶端102發(fā)送的最新下載請(qǐng)求后,從組態(tài)工程庫中查找與最新版本號(hào)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程通過SVN客戶端服務(wù)向客戶端102返回。
[0078]S303:客戶端102將修改后的組態(tài)工程與接收的組態(tài)工程進(jìn)行版本比對(duì)后,確定出修改后的組態(tài)工程與接收的組態(tài)工程之間的差異內(nèi)容;并利用確定出的差異內(nèi)容對(duì)修改后的組態(tài)工程進(jìn)行更新,得到更新后的組態(tài)工程。
[0079]具體地,客戶端102中的多人組態(tài)服務(wù)組件通過SVN客戶端服務(wù)接收到版本管理服務(wù)器101發(fā)送的最新的組態(tài)工程后,將本地工程庫中存儲(chǔ)的修改后的組態(tài)工程與接收的組態(tài)工程進(jìn)行版本比對(duì),確定出修改后的組態(tài)工程與接收的組態(tài)工程之間的差異內(nèi)容,并將確定出的工程變更對(duì)修改后的組態(tài)工程進(jìn)行更新,得到更新后的組態(tài)工程。
[0080]S304:客戶端102將更新后的組態(tài)工程存儲(chǔ)至本地工程庫后,將更新后的組態(tài)工程向版本管理服務(wù)器101提交,并向版本管理服務(wù)器發(fā)送攜帶有已編輯模塊的標(biāo)識(shí)和客戶端102的標(biāo)識(shí)的釋放請(qǐng)求。
[0081]S305:版本管理服務(wù)器101接收到客戶端102發(fā)送的釋放請(qǐng)求后,為客戶端102提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ)。
[0082]具體地,版本管理服務(wù)器101可以參考步驟S205的實(shí)施方式,根據(jù)釋放請(qǐng)求中攜帶的已編輯模塊的標(biāo)識(shí)和客戶端102的標(biāo)識(shí),對(duì)客戶端102提交的組態(tài)工程進(jìn)行相關(guān)處理。
[0083]實(shí)際應(yīng)用中,版本管理服務(wù)器101的組態(tài)工程庫中的某一組態(tài)工程中某一模塊的功能實(shí)現(xiàn)情況可能沒有歷史版本中的具有相同的標(biāo)識(shí)的模塊的功能實(shí)現(xiàn)情況好,在確定該歷史版本的版本號(hào)的情況下,客戶端102可以將該歷史版本的版本號(hào)作為目的版本號(hào),從版本管理服務(wù)器下載該歷史版本中的目的模塊對(duì)最新的組態(tài)工程中功能實(shí)現(xiàn)情況不良的模塊進(jìn)行替換,實(shí)現(xiàn)歷史版本的追溯和回退。例如,可以采用如圖4所示的第三種工程組態(tài)方法。具體地,在客戶端102在接收到待編輯的模塊的編輯權(quán)限之后,如圖4所示,還可以包括如下步驟:
[0084]S401:客戶端102向版本管理服務(wù)器101發(fā)送攜帶有目的版本號(hào)的歷史版本請(qǐng)求。
[0085]S402:版本管理服務(wù)器101根據(jù)接收的歷史版本請(qǐng)求,查找出與目的版本號(hào)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與待編輯的模塊的標(biāo)識(shí)相同的模塊針對(duì)接收的歷史版本請(qǐng)求向客戶端102返回。
[0086]S403:客戶端102將接收的模塊替換掉之前下載的組態(tài)工程中的待編輯的模塊,得到修改后的組態(tài)工程。
[0087]S404:客戶端102將得到的修改后的組態(tài)工程向版本管理服務(wù)器101提交,并向版本管理服務(wù)器101發(fā)送攜帶有已編輯模塊的標(biāo)識(shí)和客戶端的標(biāo)識(shí)的釋放請(qǐng)求。
[0088]S405:版本管理服務(wù)器101接收到客戶端102發(fā)送的釋放請(qǐng)求后,為客戶端102提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ)。
[0089]實(shí)際應(yīng)用中,在不確定具有更好的功能實(shí)現(xiàn)效果的、具有與待編輯的模塊相同的標(biāo)識(shí)的模塊(即目的模塊)屬于哪個(gè)歷史版本的版本號(hào)的情況下,也可以獲取目的模塊。
[0090]具體地,在客戶端102對(duì)從版本管理服務(wù)器101下載的組態(tài)工程進(jìn)行修改后,可以確定出已編輯模塊與待編輯的模塊之間的差異內(nèi)容,并在將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交的同時(shí),可以將得到的修改后的組態(tài)工程與已編輯模塊的標(biāo)識(shí)和確定出的差異內(nèi)容向版本管理服務(wù)器101 —起提交。繼而,版本管理服務(wù)器在為客戶端102提交的組態(tài)工程分配新的版本號(hào)之后,可以將分配的新的版本號(hào)與接收的組態(tài)工程、已編輯模塊的標(biāo)識(shí)以及接收的差異內(nèi)容對(duì)應(yīng)存儲(chǔ)在組態(tài)工程庫中。
[0091]這樣,客戶端在不確定具有更好的功能實(shí)現(xiàn)效果的、具有與待編輯的模塊相同的標(biāo)識(shí)的模塊(即目的模塊)屬于哪個(gè)歷史版本的版本號(hào)的情況下,可以在接收到待編輯的模塊的編輯權(quán)限之后,向版本管理服務(wù)器101發(fā)送攜帶有待編輯的模塊的標(biāo)識(shí)的歷史版本請(qǐng)求。繼而,版本管理服務(wù)器101可以根據(jù)接收的歷史版本請(qǐng)求,查找出所有與待編輯的模塊的標(biāo)識(shí)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與待編輯的模塊的標(biāo)識(shí)相同的模塊向客戶端返回。這樣,客戶端可以接收到版本管理服務(wù)器101返回的所有與待編輯的模塊的標(biāo)識(shí)相同的模塊,從中選擇一個(gè)模塊(即選擇出目的模塊)替換掉組態(tài)工程中的待編輯的模塊。例如,可以根據(jù)目的模塊的特點(diǎn),根據(jù)該特點(diǎn)重接收的所有模塊中選擇出目的模塊。
[0092]本發(fā)明的技術(shù)方案中,客戶端可以從版本管理服務(wù)器下載最新或歷史版本的組態(tài)工程,并在對(duì)下載的組態(tài)工程進(jìn)行編輯后再提交至版本管理服務(wù)器,繼而,版本管理服務(wù)器為提交的組態(tài)工程分配最新的版本號(hào);這樣,在后續(xù)可以根據(jù)版本號(hào)進(jìn)行歷史版本的追溯和回退。并且,多個(gè)客戶端可以同時(shí)對(duì)同一版本的組態(tài)工程進(jìn)行編輯修改,提高了組態(tài)效率。其中,不同的客戶端對(duì)同一版本的組態(tài)工程修改的過程中,版本管理服務(wù)器可以針對(duì)各客戶端待編輯修改的模塊進(jìn)行編輯權(quán)限的授予與拒絕,以此保證同一模塊在同一時(shí)間只有一個(gè)客戶端進(jìn)行編輯修改,這樣也就避免了現(xiàn)有因多人修改同一模塊所造成的模塊沖突問題,進(jìn)一步提聞了組態(tài)效率。
[0093]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,如:R0M/RAM、磁碟、光盤等。
[0094]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種集成版本管理的工程組態(tài)方法,其特征在于,包括: 客戶端從版本管理服務(wù)器下載組態(tài)工程后,向所述版本管理服務(wù)器發(fā)送攜帶有該組態(tài)工程中待編輯的模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的編輯請(qǐng)求; 所述版本管理服務(wù)器根據(jù)接收的編輯請(qǐng)求,查找所述組態(tài)工程中對(duì)應(yīng)所述待編輯的模塊的標(biāo)識(shí)所記錄的編輯狀態(tài);若查找到的編輯狀態(tài)為待編輯,則返回所述待編輯的模塊的編輯權(quán)限,將查找到的編輯狀態(tài)修改為編輯中,并記錄該模塊的編輯者為所述客戶端的標(biāo)識(shí);否則,返回拒絕信息; 所述客戶端在接收到所述待編輯的模塊的編輯權(quán)限后,將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交; 所述客戶端向版本管理服務(wù)器發(fā)送攜帶有所述已編輯模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的釋放請(qǐng)求; 所述版本管理服務(wù)器從接收的釋放請(qǐng)求中解析出客戶端的標(biāo)識(shí)與模塊的標(biāo)識(shí)后,確認(rèn)對(duì)應(yīng)解析出的模塊的標(biāo)識(shí)所記錄的編輯者是否與解析出的客戶端的標(biāo)識(shí)相同;若是,則將所述組態(tài)工程中對(duì)應(yīng)所述已編輯模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)置為待編輯,為所述客戶端提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ),并取消所述客戶端的標(biāo)識(shí)與所述已編輯模塊的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
2.如權(quán)利要求1所述的方法,其特征在于,在所述客戶端從版本管理服務(wù)器下載組態(tài)工程之前,還包括: 客戶端將創(chuàng)建的組態(tài)工程提交至所述版本管理服務(wù)器; 所述版本管理服務(wù)器為接收的組態(tài)工程分配版本號(hào)后,將分配的版本號(hào)與接收的組態(tài)工程進(jìn)行對(duì)應(yīng)存儲(chǔ)。
3.如權(quán)利要求1所述的方法,其特征在于,所述將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交之前,還包括: 所述客戶端從所述版本管理服務(wù)器下載當(dāng)前最新的組態(tài)工程,并將基于之前下載的組態(tài)工程進(jìn)行修改后得到的組態(tài)工程與所述當(dāng)前最新的組態(tài)工程進(jìn)行版本比對(duì),確定出兩者的差異內(nèi)容后,利用確定出的差異內(nèi)容對(duì)所述修改后得到的組態(tài)工程進(jìn)行更新; 所述將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交,具體為:將得到的更新后的組態(tài)工程向所述版本管理服務(wù)器提交。
4.如權(quán)利要求1所述的方法,其特征在于,所述客戶端在接收到所述待編輯的模塊的編輯權(quán)限之后,還包括: 所述客戶端向所述版本管理服務(wù)器發(fā)送攜帶有目的版本號(hào)的歷史版本請(qǐng)求; 所述版本管理服務(wù)器根據(jù)接收的所述歷史版本請(qǐng)求,查找出與所述目的版本號(hào)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與所述待編輯的模塊的標(biāo)識(shí)相同的模塊針對(duì)所述歷史版本請(qǐng)求向所述客戶端返回; 所述將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,具體為: 所述客戶端將接收的模塊替換掉所述組態(tài)工程中的待編輯的模塊。
5.如權(quán)利要求1所述的方法,其特征在于,將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊之后,還包括: 確定出所述已編輯模塊與所述待編輯的模塊之間的差異內(nèi)容;以及 所述將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交,具體為: 將得到的修改后的組態(tài)工程、已編輯模塊的標(biāo)識(shí)和確定出的差異內(nèi)容向所述版本管理服務(wù)器提交;以及 所述為所述客戶端提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ),具體為: 所述版本管理服務(wù)器為所述客戶端提交的組態(tài)工程分配新的版本號(hào),并將分配的新的版本號(hào)與接收的組態(tài)工程、所述已編輯模塊的標(biāo)識(shí)以及接收的差異內(nèi)容對(duì)應(yīng)存儲(chǔ)。
6.如權(quán)利要求5所述的方法,其特征在于,所述客戶端在接收到所述待編輯的模塊的編輯權(quán)限之后,還包括: 所述客戶端向所述版本管理服務(wù)器發(fā)送攜帶有所述待編輯的模塊的標(biāo)識(shí)的歷史版本請(qǐng)求; 所述版本管理服務(wù)器根據(jù)接收的所述歷史版本請(qǐng)求,查找出所有與所述待編輯的模塊的標(biāo)識(shí)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與所述待編輯的模塊的標(biāo)識(shí)相同的模塊向所述客戶端返回;以及 所述將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,具體為: 所述客戶端接收到所述版本管理服務(wù)器返回的所有與所述待編輯的模塊的標(biāo)識(shí)相同的模塊,從中選擇一個(gè)模塊替換掉所述組態(tài)工程中的待編輯的模塊。
7.一種集成版本管理的工程組態(tài)系統(tǒng),其特征在于,包括:版本管理服務(wù)器和至少一個(gè)客戶端;其中, 所述客戶端用于從所述版本管理服務(wù)器下載組態(tài)工程后,向所述版本管理服務(wù)器發(fā)送攜帶有該組態(tài)工程中待編輯的模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的編輯請(qǐng)求;并在接收到所述待編輯的模塊的編輯權(quán)限后,將對(duì)所述待編輯的模塊進(jìn)行編輯后得到的已編輯模塊替換掉所述組態(tài)工程中的待編輯的模塊,將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交;之后,向版本管理服務(wù)器發(fā)送攜帶有所述已編輯模塊的標(biāo)識(shí)和所述客戶端的標(biāo)識(shí)的釋放請(qǐng)求; 所述版本管理服務(wù)器用于根據(jù)接收的編輯請(qǐng)求,查找所述組態(tài)工程中對(duì)應(yīng)所述待編輯的模塊的標(biāo)識(shí)所記錄的編輯狀態(tài);若查找到的編輯狀態(tài)為待編輯,則返回所述待編輯的模塊的編輯權(quán)限,并將查找到的編輯狀態(tài)修改為編輯中,并記錄該模塊的編輯者為所述客戶端的標(biāo)識(shí);否則,返回拒絕信息;并從接收的釋放請(qǐng)求中解析出客戶端的標(biāo)識(shí)與模塊的標(biāo)識(shí)后,確認(rèn)對(duì)應(yīng)解析出的模塊的標(biāo)識(shí)所記錄的編輯者是否與解析出的客戶端的標(biāo)識(shí)相同;若是,則將所述組態(tài)工程中對(duì)應(yīng)所述已編輯模塊的標(biāo)識(shí)所記錄的編輯狀態(tài)置為待編輯,為所述客戶端提交的組態(tài)工程分配新的版本號(hào)后進(jìn)行存儲(chǔ),并取消所述客戶端的標(biāo)識(shí)與所述已編輯模塊的標(biāo)識(shí)的對(duì)應(yīng)關(guān)系。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述客戶端還用于在從版本管理服務(wù)器下載組態(tài)工程之前,將創(chuàng)建的組態(tài)工程提交至所述版本管理服務(wù)器;以及 所述版本管理服務(wù)器還用于為接收的組態(tài)工程分配版本號(hào)后,將分配的版本號(hào)與接收的組態(tài)工程進(jìn)行對(duì)應(yīng)存儲(chǔ)。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于, 所述客戶端還用于在將得到的修改后的組態(tài)工程向所述版本管理服務(wù)器提交之前,從所述版本管理服務(wù)器下載當(dāng)前最新的組態(tài)工程,將基于之前下載的組態(tài)工程與所述當(dāng)前最新的組態(tài)工程進(jìn)行版本比對(duì),確定出兩者的差異內(nèi)容后,利用確定出的差異內(nèi)容對(duì)所述修改后得到的組態(tài)工程進(jìn)行更新,將得到的更新后的組態(tài)工程向所述版本管理服務(wù)器提交。
10.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述客戶端還用于在接收到所述待編輯的模塊的編輯權(quán)限之后,向所述版本管理服務(wù)器發(fā)送攜帶有目的版本號(hào)的歷史版本請(qǐng)求;將接收的針對(duì)所述歷史版本請(qǐng)求返回的模塊替換掉所述組態(tài)工程中的待編輯的模塊;以及 所述版本管理服務(wù)器還用于根據(jù)接收的所述歷史版本請(qǐng)求,查找出與所述目的版本號(hào)對(duì)應(yīng)的組態(tài)工程,并將查找出的組態(tài)工程中與所述待編輯的模塊的標(biāo)識(shí)相同的模塊針對(duì)所述歷史版本請(qǐng)求向所述客戶端返回。
【文檔編號(hào)】G06Q10/06GK104134109SQ201410286871
【公開日】2014年11月5日 申請(qǐng)日期:2014年6月24日 優(yōu)先權(quán)日:2014年6月24日
【發(fā)明者】張洪波, 萬思軍 申請(qǐng)人:青島海信網(wǎng)絡(luò)科技股份有限公司