一種代碼版本的發(fā)布方法及系統(tǒng)的制作方法
【專利摘要】一種代碼版本的發(fā)布方法及發(fā)布系統(tǒng);所述方法包括:獲取待發(fā)布的工作流任務(wù)及其配置信息;拆分所獲取的配置信息得到待發(fā)布的工作流任務(wù)中各條任務(wù)數(shù)據(jù)的信息,保存在代碼發(fā)布基礎(chǔ)數(shù)據(jù)中;當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將所關(guān)聯(lián)的工作流任務(wù)的配置信息拆分,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)僅關(guān)聯(lián)了一條工作流任務(wù)時(shí),將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)代碼發(fā)布基礎(chǔ)數(shù)據(jù);根據(jù)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)中的文件名及路徑進(jìn)行打包,生成代碼集合。本發(fā)明能夠自動(dòng)化實(shí)現(xiàn)代碼版本發(fā)布過(guò)程,保證了按照需要生成高可靠性的待發(fā)布代碼集合。
【專利說(shuō)明】一種代碼版本的發(fā)布方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件領(lǐng)域,尤其涉及一種代碼版本的發(fā)布方法及系統(tǒng)。
【背景技術(shù)】
[0002]在軟件項(xiàng)目流程管理中,使用工作流程管理工具(例如JIRA、Quality Center)進(jìn)行流程管理可完成任務(wù)分配、處理、關(guān)閉等流程,并將工作產(chǎn)物(例如:代碼配置信息)與任務(wù)流程相關(guān)聯(lián),但是無(wú)法校驗(yàn)工作產(chǎn)物的物理屬性(例如:代碼路徑、版本信息)的正確性,并且無(wú)法依據(jù)工作流程任務(wù)自動(dòng)的進(jìn)行工作產(chǎn)物拆分、整理、打包等工作。
[0003]在軟件項(xiàng)目配置管理過(guò)程中,使用配置管理工具(例如:SVN、CVS、GIT)進(jìn)行代碼版本管理是必不可少的,但在代碼發(fā)布過(guò)程中,需配置管理人員人工分析待發(fā)布代碼版本、手工獲取代碼文件等操作。
[0004]當(dāng)前大多數(shù)代碼版本發(fā)布過(guò)程中,需要依據(jù)待發(fā)布的工作流程任務(wù),人工分析、處理待發(fā)布的代碼版本,并手工獲取代碼文件。代碼版本發(fā)布規(guī)則大多依賴個(gè)人經(jīng)驗(yàn),并未按照產(chǎn)品、項(xiàng)目需求形成規(guī)則;即使發(fā)布規(guī)則已明確規(guī)定,人工處理代碼版本依然會(huì)帶來(lái)操作失誤,不同人員會(huì)在處理規(guī)則細(xì)節(jié)、操作步驟上有所差異,無(wú)法高質(zhì)量的保證結(jié)果的一致性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問(wèn)題是如何自動(dòng)化實(shí)現(xiàn)代碼版本發(fā)布過(guò)程,保證了按照代碼版本發(fā)布的需要生成高可靠性的待發(fā)布代碼集合
[0006]為了解決上述問(wèn)題,本發(fā)明提供了一種代碼版本的發(fā)布方法,包括:
[0007]獲取待發(fā)布的工作流任務(wù)及其配置信息;
[0008]拆分所獲取的配置信息得到所述待發(fā)布的工作流任務(wù)中各條任務(wù)數(shù)據(jù)的信息,包括各條任務(wù)數(shù)據(jù)的文件名及路徑、及關(guān)聯(lián)的工作流任務(wù)的標(biāo)識(shí),保存在代碼發(fā)布基礎(chǔ)數(shù)據(jù)中;
[0009]當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將所關(guān)聯(lián)的工作流任務(wù)的配置信息拆分為各條任務(wù)數(shù)據(jù)的信息,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)僅關(guān)聯(lián)了一條工作流任務(wù)時(shí),將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);
[0010]根據(jù)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)中的文件名及路徑進(jìn)行打包,生成代碼集合。
[0011]可選地,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)的步驟包括:
[0012]31、將拆分所關(guān)聯(lián)的工作流任務(wù)的配置信息所得到的各任務(wù)數(shù)據(jù)的信息加入鏈表中,去除重復(fù)數(shù)據(jù)后得到N條任務(wù)數(shù)據(jù)的信息#為正整數(shù);
[0013]32、在鏈表中獲取第N條任務(wù)數(shù)據(jù)的信息放入第一隊(duì)列中;
[0014]33、將第一隊(duì)列中符合所述預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息放入第二隊(duì)列中;[0015]34、若放入第二隊(duì)列的任務(wù)數(shù)據(jù)的信息中的文件名及路徑和第二隊(duì)列中原先存在的信息相同,則按照所述預(yù)定規(guī)則保留其中一條任務(wù)數(shù)據(jù)的信息,將另外的任務(wù)數(shù)據(jù)的信息放回第一隊(duì)列中;
[0016]35、將N -1的結(jié)果作為新的N,如果該結(jié)果不為O則返回步驟32 ;如果為O則將第二隊(duì)列中任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)。
[0017]可選地,拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的往期測(cè)試結(jié)果;
[0018]所述預(yù)定規(guī)則是往期測(cè)試結(jié)果為通過(guò)。
[0019]可選地,拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的配置管理系統(tǒng)版本號(hào);
[0020]所述預(yù)定規(guī)則是配置管理系統(tǒng)版本號(hào)更高。
[0021]可選地,獲取待發(fā)布的工作流任務(wù)及其配置信息的步驟后,拆分所獲取的配置信息的步驟前還包括:
[0022]將待發(fā)布的工作流任務(wù)的配置信息與配置管理系統(tǒng)中的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),如果一致則進(jìn)行拆分所獲取的配置信息的步驟,如果不一致則將該工作流任務(wù)從待發(fā)布任務(wù)中刪除。
[0023]本申請(qǐng)還提供了一種代碼版本的發(fā)布系統(tǒng),包括:
[0024]查找單元,用于獲取待發(fā)布的工作流任務(wù)及其配置信息;
[0025]拆分單元,用于拆分所獲取的配置信息得到所述待發(fā)布的工作流任務(wù)中各條任務(wù)數(shù)據(jù)的信息,包括各條任務(wù)數(shù)據(jù)的文件名及路徑、關(guān)聯(lián)工作流任務(wù)的標(biāo)識(shí),保存在代碼發(fā)布基礎(chǔ)數(shù)據(jù)中;
[0026]選擇單元,用于當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將所關(guān)聯(lián)的工作流任務(wù)的配置信息拆分為各條任務(wù)數(shù)據(jù)的信息,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)僅關(guān)聯(lián)了一條工作流任務(wù)時(shí),將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);
[0027]打包單元,用于根據(jù)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)中的文件名及路徑進(jìn)行打包,生成代
碼集合。
[0028]可選地,所述選擇單元包括:
[0029]存儲(chǔ)子單元、篩選子單元;
[0030]處理子單元,用于判斷待發(fā)布的工作流任務(wù)所關(guān)聯(lián)的工作流任務(wù)的個(gè)數(shù),如果只關(guān)聯(lián)了一條工作流任務(wù),則指示所述存儲(chǔ)子單元將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將拆分所關(guān)聯(lián)的工作流任務(wù)的配置信息所得到的各任務(wù)數(shù)據(jù)的信息加入鏈表中,去除重復(fù)數(shù)據(jù)后得到N條任務(wù)數(shù)據(jù)的信息,N為正整數(shù);然后指示所述篩選子單元開(kāi)始工作;
[0031 ] 篩選子單元,用于當(dāng)收到開(kāi)始工作的指示后在所述鏈表中獲取第N條任務(wù)數(shù)據(jù)的信息放入第一隊(duì)列中,接著將第一隊(duì)列中符合所述預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息放入第二隊(duì)列中,當(dāng)放入第二隊(duì)列的任務(wù)數(shù)據(jù)的信息中的文件名及路徑和第二隊(duì)列中原先存在的信息相同時(shí),按照所述預(yù)定規(guī)則保留其中一條任務(wù)數(shù)據(jù)的信息,將另外的任務(wù)數(shù)據(jù)的信息放回第一隊(duì)列中;[0032]判斷子單元,將N — I的結(jié)果作為新的N,如果該結(jié)果不為O則指示所述篩選子單元開(kāi)始工作;如果為O則指示所述存儲(chǔ)子單元將第二隊(duì)列中的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)。
[0033]可選地,所述拆分單元在拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的往期測(cè)試結(jié)果;
[0034]所述預(yù)定規(guī)則是往期測(cè)試結(jié)果為通過(guò)。
[0035]可選地,所述拆分單元在拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的配置管理系統(tǒng)版本號(hào);
[0036]所述預(yù)定規(guī)則是配置管理系統(tǒng)版本號(hào)更高。
[0037]可選地,所述的系統(tǒng)還包括:
[0038]檢驗(yàn)單元,用于將所述查找單元獲取的待發(fā)布的工作流任務(wù)的配置信息與配置管理系統(tǒng)中的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),如果一致則將所獲取的配置信息發(fā)送給所述拆分單元,如果不一致則將該工作流任務(wù)從待發(fā)布任務(wù)中刪除。
[0039]本發(fā)明的技術(shù)方案能夠分析代碼版本之間關(guān)系,并可根據(jù)預(yù)定義的規(guī)則,智能生成可靠性較高的代碼配置信息,可以智能無(wú)人值守的完成代碼版本發(fā)布的全流程,在提高配置管理工作產(chǎn)物質(zhì)量的同時(shí),極大地提升了配置管理員人員的工作效率,有效地較低了人工成本。
【專利附圖】
【附圖說(shuō)明】
[0040]圖1為實(shí)施例一的代碼版本的發(fā)布方法的流程示意圖;
[0041]圖2為實(shí)施例一例子中步驟S4的流程示意圖;
[0042]圖3為實(shí)施例二的代碼版本的發(fā)布系統(tǒng)的示意框圖。
【具體實(shí)施方式】
[0043]下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說(shuō)明。
[0044]需要說(shuō)明的是,如果不沖突,本發(fā)明實(shí)施例以及實(shí)施例中的各個(gè)特征可以相互結(jié)合,均在本發(fā)明的保護(hù)范圍之內(nèi)。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0045]實(shí)施例一,一種代碼版本的發(fā)布方法,如圖1所示,包括:
[0046]S101、獲取待發(fā)布的工作流任務(wù)及其配置信息;
[0047]S102、拆分所獲取的配置信息得到所述待發(fā)布的工作流任務(wù)中各條任務(wù)數(shù)據(jù)的信息,包括各條任務(wù)數(shù)據(jù)的文件名及路徑、及關(guān)聯(lián)的工作流任務(wù)的標(biāo)識(shí),保存在代碼發(fā)布基礎(chǔ)數(shù)據(jù)中;
[0048]S103、當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將所關(guān)聯(lián)的工作流任務(wù)的配置信息拆分為各條任務(wù)數(shù)據(jù)的信息,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)僅關(guān)聯(lián)了一條工作流任務(wù)時(shí),將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);
[0049]S104、根據(jù)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)中的文件名及路徑進(jìn)行打包,生成代碼集合。
[0050]本實(shí)施例的一種實(shí)施方式中,所述將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)的步驟具體可以包括:
[0051]31、將拆分所關(guān)聯(lián)的工作流任務(wù)的配置信息所得到的各任務(wù)數(shù)據(jù)的信息加入鏈表WSList中,去除重復(fù)數(shù)據(jù)后得到N條任務(wù)數(shù)據(jù)的信息小為正整數(shù);
[0052]32、在WSList中獲取第N條任務(wù)數(shù)據(jù)的信息放入隊(duì)列LI中;
[0053]33、將隊(duì)列LI中符合所述預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息放入隊(duì)列L2中;
[0054]34、若放入隊(duì)列L2的任務(wù)數(shù)據(jù)的信息中的文件名及路徑和隊(duì)列L2中原先存在的信息相同,則按照所述預(yù)定規(guī)則在隊(duì)列L2中保留其中一條任務(wù)數(shù)據(jù)的信息,將另外的任務(wù)數(shù)據(jù)的信息放回隊(duì)列LI中;
[0055]35、將N — I的結(jié)果作為新的N,如果該結(jié)果不為O則返回步驟32 ;如果為O則將隊(duì)列L2中任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)。
[0056]本實(shí)施方式的一種備選方案中,拆分所獲取的配置信息時(shí)還可以得到各條任務(wù)數(shù)據(jù)的往期測(cè)試結(jié)果;
[0057]所述預(yù)定規(guī)則可以是往期測(cè)試結(jié)果為通過(guò)。
[0058]本實(shí)施方式的另一種備選方案中,拆分所獲取的配置信息時(shí)還可以得到各條任務(wù)數(shù)據(jù)的配置管理系統(tǒng)版本號(hào);
[0059]所述預(yù)定規(guī)則可以是配置管理系統(tǒng)版本號(hào)更高。
[0060]上述兩種備選方案中的預(yù)定規(guī)則可各自適用于特定場(chǎng)景,第一種備選方案中的預(yù)定規(guī)則趨向于更多往期測(cè)試通過(guò)的代碼版本,目標(biāo)是根據(jù)該規(guī)則進(jìn)行代碼版本發(fā)布后,代碼集合提供的功能最穩(wěn)定,主要是適用于準(zhǔn)生產(chǎn)、生產(chǎn)環(huán)境的版本部署使用。第二種備選方案中的預(yù)定規(guī)則趨向更高的代碼版本,目標(biāo)是實(shí)現(xiàn)代碼的測(cè)試覆蓋率最大,測(cè)試更多地功能,提前發(fā)現(xiàn)系統(tǒng)潛在的缺陷,主要適用于測(cè)試環(huán)境的版本部署使用。
[0061]所述預(yù)定規(guī)則也可以是各種條件的組合,比如先匹配“測(cè)試結(jié)果為通過(guò)”這個(gè)條件,如果各條配置信息都不匹配該條件(即測(cè)試結(jié)果都是未測(cè)試或未通過(guò)),或各條配置信息都匹配該條件(即測(cè)試結(jié)果均是通過(guò)),則挑選版本號(hào)高的配置信息。
[0062]當(dāng)然,在其它備選方案中還可以根據(jù)需要設(shè)置更適合的預(yù)定規(guī)則。
[0063]本實(shí)施例的一種實(shí)施方式中,所述步驟SlOl后、S102前還可以包括:
[0064]將待發(fā)布的工作流任務(wù)的配置信息與配置管理系統(tǒng)中的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),如果一致則進(jìn)行步驟S102,如果不一致則將該工作流任務(wù)從待發(fā)布任務(wù)中刪除。
[0065]下面用一個(gè)具體的例子說(shuō)明本實(shí)施例,該例子中的代碼版本發(fā)布流程包括步驟SI ?S5。
[0066](SI)獲取待發(fā)布的工作流任務(wù)列表:從工作流系統(tǒng)的基礎(chǔ)數(shù)據(jù)中,獲取待發(fā)布的工作流任務(wù)列表,若待發(fā)布的工作流任務(wù)列表為空,則不做任何處理;若發(fā)現(xiàn)待處理的工作流任務(wù),則將待處理的工作流任務(wù)插入處理隊(duì)列進(jìn)行后續(xù)校驗(yàn)處理。步驟SI具體包括步驟S1.1 ?S1.2。
[0067]步驟S1.1、按照業(yè)務(wù)規(guī)則,獲取當(dāng)前工作流系統(tǒng)(命名為WS系統(tǒng))中符合待發(fā)布條件的工作流任務(wù)(后文將工作流任務(wù)稱為WSI任務(wù))放入WSI任務(wù)列表,當(dāng)獲取的WSI任務(wù)列表為空時(shí),本次工作結(jié)束,等待固定時(shí)間后,WS系統(tǒng)自動(dòng)觸發(fā)查詢WSI任務(wù)。
[0068]步驟S1.2、若當(dāng)前WSI任務(wù)列表中存在待發(fā)布的WSI任務(wù),則從中獲取一個(gè)WSI任務(wù),并進(jìn)入步驟S2,啟動(dòng)校驗(yàn)代碼配置信息的任務(wù)處理流程。[0069](S2)校驗(yàn)代碼配置信息:將所獲取的WSI任務(wù)的配置信息與配置管理系統(tǒng)SVN中的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),如果數(shù)據(jù)信息比對(duì)吻合,則進(jìn)入步驟S3,進(jìn)行后續(xù)拆分操作;若配置信息不吻合,則記錄該數(shù)據(jù)錯(cuò)誤的詳細(xì)信息,并發(fā)送郵件給相關(guān)人員,未自動(dòng)處理該條數(shù)據(jù)。步驟S2具體包括步驟S2.1~S2.2。[0070]步驟S2.1、從配置管理系統(tǒng)中獲取未校驗(yàn)的配置管理系統(tǒng)的基礎(chǔ)數(shù)據(jù),與所獲取的WSI任務(wù)的配置信息進(jìn)行比對(duì)校驗(yàn),數(shù)據(jù)完全一致后,通過(guò)SVN update命令更新配置管理系統(tǒng)中校驗(yàn)一致的基礎(chǔ)數(shù)據(jù)的屬性信息為comPass,并保持WSI任務(wù)列表內(nèi)容不變。[0071]步驟S2.2、數(shù)據(jù)進(jìn)行比對(duì)校驗(yàn)后出現(xiàn)不一致,通過(guò)SVN update命令更新配置管理系統(tǒng)中校驗(yàn)不一致的基礎(chǔ)數(shù)據(jù)的屬性信息為comFail,并將WSI任務(wù)從WSI任務(wù)列表中刪除,記錄詳細(xì)的數(shù)據(jù)比對(duì)信息發(fā)送郵件給相關(guān)任務(wù)進(jìn)行人工處理。[0072](S3)拆分代碼配置信息:在校驗(yàn)信息通過(guò)后,將代碼配置信息結(jié)合待發(fā)布的工作流任務(wù)進(jìn)行拆分,并將拆分結(jié)果存儲(chǔ)到代碼版本發(fā)布系統(tǒng)中該WSI任務(wù)對(duì)應(yīng)的代碼發(fā)布基礎(chǔ)數(shù)據(jù)中。步驟S3具體包括步驟S3.1~S3.2。[0073]步驟S3.1、若WSI任務(wù)列表中存在未處理的WSI任務(wù),則將WSI任務(wù)進(jìn)行拆分處理,拆分后得到的主要信息包括各條任務(wù)數(shù)據(jù)的:工作流任務(wù)標(biāo)識(shí)、文件名及路徑、SVN版本號(hào)、關(guān)聯(lián)的工作流任務(wù)標(biāo)識(shí)及往期測(cè)試結(jié)果,[0074]還可以包括責(zé)任人和操作類型等。一個(gè)工作流任務(wù)拆分后包含多條任務(wù)數(shù)據(jù)時(shí),這多個(gè)任務(wù)數(shù)據(jù)的工作流任務(wù)標(biāo)識(shí)相同,以序號(hào)相互區(qū)別。拆分后的數(shù)據(jù)存放到該WSI任務(wù)對(duì)應(yīng)的代碼發(fā)布基礎(chǔ)數(shù)據(jù)中(后文稱為AutoBase系統(tǒng)),一個(gè)具體例子中,待發(fā)布的WSI任務(wù)是標(biāo)識(shí)為ID34的工作流任務(wù),拆分ID34的配置信息后得到如表一所示的結(jié)果,包括4條任務(wù)數(shù)據(jù)的信息。[0075]表一、拆分后的配置信息[0076]序號(hào)I工作流任I文件名及路徑|svn^I關(guān)聯(lián)工作流I往期測(cè)務(wù)標(biāo)識(shí)版本號(hào)任務(wù)標(biāo)識(shí)試結(jié)果
【權(quán)利要求】
1.一種代碼版本的發(fā)布方法,包括: 獲取待發(fā)布的工作流任務(wù)及其配置信息; 拆分所獲取的配置信息得到所述待發(fā)布的工作流任務(wù)中各條任務(wù)數(shù)據(jù)的信息,包括各條任務(wù)數(shù)據(jù)的文件名及路徑、及關(guān)聯(lián)的工作流任務(wù)的標(biāo)識(shí),保存在代碼發(fā)布基礎(chǔ)數(shù)據(jù)中; 當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將所關(guān)聯(lián)的工作流任務(wù)的配置信息拆分為各條任務(wù)數(shù)據(jù)的信息,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)僅關(guān)聯(lián)了一條工作流任務(wù)時(shí),將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù); 根據(jù)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)中的文件名及路徑進(jìn)行打包,生成代碼集合。
2.如權(quán)利要求1所述的方法,其特征在于,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)的步驟包括: 31、將拆分所關(guān)聯(lián)的工作流任務(wù)的配置信息所得到的各任務(wù)數(shù)據(jù)的信息加入鏈表中,去除重復(fù)數(shù)據(jù)后得到N條任務(wù)數(shù)據(jù)的信息;N為正整數(shù); 32、在鏈表中獲取第N條任務(wù)數(shù)據(jù)的信息放入第一隊(duì)列中; 33、將第一隊(duì)列中符合所述預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息放入第二隊(duì)列中; 34、若放入第二隊(duì)列的任務(wù)數(shù)據(jù)的信息中的文件名及路徑和第二隊(duì)列中原先存在的信息相同,則按照所述預(yù)定規(guī) 則保留其中一條任務(wù)數(shù)據(jù)的信息,將另外的任務(wù)數(shù)據(jù)的信息放回第一隊(duì)列中; 35、將N— I的結(jié)果作為新的N,如果該結(jié)果不為O則返回步驟32 ;如果為O則將第二隊(duì)列中任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其特征在于: 拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的往期測(cè)試結(jié)果; 所述預(yù)定規(guī)則是往期測(cè)試結(jié)果為通過(guò)。
4.如權(quán)利要求2所述的方法,其特征在于: 拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的配置管理系統(tǒng)版本號(hào); 所述預(yù)定規(guī)則是配置管理系統(tǒng)版本號(hào)更高。
5.如權(quán)利要求1~4中任一項(xiàng)所述的方法,其特征在于,獲取待發(fā)布的工作流任務(wù)及其配置信息的步驟后,拆分所獲取的配置信息的步驟前還包括: 將待發(fā)布的工作流任務(wù)的配置信息與配置管理系統(tǒng)中的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),如果一致則進(jìn)行拆分所獲取的配置信息的步驟,如果不一致則將該工作流任務(wù)從待發(fā)布任務(wù)中刪除。
6.—種代碼版本的發(fā)布系統(tǒng),其特征在于,包括: 查找單元,用于獲取待發(fā)布的工作流任務(wù)及其配置信息; 拆分單元,用于拆分所獲取的配置信息得到所述待發(fā)布的工作流任務(wù)中各條任務(wù)數(shù)據(jù)的信息,包括各條任務(wù)數(shù)據(jù)的文件名及路徑、關(guān)聯(lián)工作流任務(wù)的標(biāo)識(shí),保存在代碼發(fā)布基礎(chǔ)數(shù)據(jù)中; 選擇單元,用于當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將所關(guān)聯(lián)的工作流任務(wù)的配置信息拆分為各條任務(wù)數(shù)據(jù)的信息,將符合預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)僅關(guān)聯(lián)了一條工作流任務(wù)時(shí),將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);打包單元,用于根據(jù)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)中的文件名及路徑進(jìn)行打包,生成代碼集口 O
7.如權(quán)利要求1所述的方法,其特征在于,所述選擇單元包括: 存儲(chǔ)子單元、篩選子單元; 處理子單元,用于判斷待發(fā)布的工作流任務(wù)所關(guān)聯(lián)的工作流任務(wù)的個(gè)數(shù),如果只關(guān)聯(lián)了一條工作流任務(wù),則指示所述存儲(chǔ)子單元將拆分該工作流任務(wù)的配置信息得到的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù);當(dāng)待發(fā)布的工作流任務(wù)關(guān)聯(lián)了兩條或兩條以上的工作流任務(wù)時(shí),將拆分所關(guān)聯(lián)的工作流任務(wù)的配置信息所得到的各任務(wù)數(shù)據(jù)的信息加入鏈表中,去除重復(fù)數(shù)據(jù)后得到N條任務(wù)數(shù)據(jù)的信息,N為正整數(shù);然后指示所述篩選子單元開(kāi)始工作; 篩選子單元,用于當(dāng)收到開(kāi)始工作的指示后在所述鏈表中獲取第N條任務(wù)數(shù)據(jù)的信息放入第一隊(duì)列中,接著將第一隊(duì)列中符合所述預(yù)定規(guī)則的任務(wù)數(shù)據(jù)的信息放入第二隊(duì)列中,當(dāng)放入第二隊(duì)列的任務(wù)數(shù)據(jù)的信息中的文件名及路徑和第二隊(duì)列中原先存在的信息相同時(shí),按照所述預(yù)定規(guī)則保留其中一條任務(wù)數(shù)據(jù)的信息,將另外的任務(wù)數(shù)據(jù)的信息放回第一隊(duì)列中; 判斷子單元,將N -1的結(jié)果作為新的N,如果該結(jié)果不為O則指示所述篩選子單元開(kāi)始工作;如果為O則指示所述存儲(chǔ)子單元將第二隊(duì)列中的任務(wù)數(shù)據(jù)的信息保存進(jìn)所述代碼發(fā)布基礎(chǔ)數(shù)據(jù)。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于:.所述拆分單元在拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的往期測(cè)試結(jié)果; 所述預(yù)定規(guī)則是往期測(cè)試結(jié)果為通過(guò)。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于:所述拆分單元在拆分所獲取的配置信息時(shí)還得到各條任務(wù)數(shù)據(jù)的配置管理系統(tǒng)版本號(hào); 所述預(yù)定規(guī)則是配置管理系統(tǒng)版本號(hào)更高。
10.如權(quán)利要求6~9中任一項(xiàng)所述的系統(tǒng),其特征在于,還包括: 檢驗(yàn)單元,用于將所述查找單元獲取的待發(fā)布的工作流任務(wù)的配置信息與配置管理系統(tǒng)中的基礎(chǔ)數(shù)據(jù)進(jìn)行比對(duì),如果一致則將所獲取的配置信息發(fā)送給所述拆分單元,如果不一致則將該工作流任務(wù)從待發(fā)布任務(wù)中刪除。
【文檔編號(hào)】H04L29/08GK103473076SQ201310450520
【公開(kāi)日】2013年12月25日 申請(qǐng)日期:2013年9月25日 優(yōu)先權(quán)日:2013年9月25日
【發(fā)明者】王春佳, 陳斌, 季文翀, 李惠軍 申請(qǐng)人:中國(guó)聯(lián)合網(wǎng)絡(luò)通信集團(tuán)有限公司, 聯(lián)通系統(tǒng)集成有限公司