欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

軟件持續(xù)集成的方法、裝置和系統(tǒng)的制作方法

文檔序號(hào):7760618閱讀:142來(lái)源:國(guó)知局
專利名稱:軟件持續(xù)集成的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及持續(xù)集成技術(shù)領(lǐng)域,特別涉及一種軟件持續(xù)集成的方法、裝置和系統(tǒng)。
背景技術(shù)
CI (Continuous Integration,持續(xù)集成)是一種自動(dòng)化的軟件創(chuàng)建與測(cè)試過(guò)程, 在軟件開發(fā)項(xiàng)目中,CI系統(tǒng)將每個(gè)CI任務(wù)分解成多個(gè)CI子任務(wù),如將對(duì)某軟件的CI任務(wù) 分解成獲取最新代碼、編譯代碼、打包、發(fā)布、安裝、自動(dòng)測(cè)試、質(zhì)量檢測(cè)和數(shù)據(jù)度量等CI子 任務(wù),通過(guò)不斷的執(zhí)行CI子任務(wù),可盡早地發(fā)現(xiàn)軟件缺陷,并對(duì)其進(jìn)行修復(fù)。由此可見(jiàn),不 同的CI系統(tǒng)的優(yōu)劣可對(duì)于軟件的開發(fā)效率和投入成本造成不同的影響?,F(xiàn)有的CI系統(tǒng)如圖1所示,主要由CI主控和CI代理組成,其對(duì)軟件進(jìn)行CI的主 要步驟為首先,用戶向某一CI主控下發(fā)CI任務(wù);然后,該CI主控將該CI任務(wù)分解成多個(gè) CI子任務(wù),并將該CI子任務(wù)下發(fā)至相應(yīng)的CI代理執(zhí)行,其中每個(gè)CI代理負(fù)責(zé)執(zhí)行的CI任 務(wù)類型是固定的;最后,由該相應(yīng)的CI代理執(zhí)行該CI子任務(wù),并將執(zhí)行結(jié)果返回CI主控。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題現(xiàn)有的持續(xù)集成系統(tǒng)中,由于CI代理負(fù)責(zé)執(zhí)行的CI任務(wù)類型是固定的,CI主控 只能下發(fā)固定的CI任務(wù)至相應(yīng)的CI代理,沒(méi)有選擇的可能性,從而CI代理資源的共享程 度低,資源利用率低下。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種軟件持續(xù)集成的方法,以實(shí)現(xiàn)CI代理間的負(fù)載分擔(dān),提 高CI代理的利用率。—方面,本發(fā)明實(shí)施例提供一種軟件持續(xù)集成的方法,包括接收并管理CI主控發(fā)送的CI子任務(wù);根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩 個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行當(dāng)前管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行 子任務(wù)的目的CI代理,并將所述當(dāng)前可執(zhí)行子任務(wù)發(fā)送至所述目的CI代理,使所述目的CI 代理執(zhí)行所述可執(zhí)行子任務(wù),所述至少兩個(gè)CI代理為通用計(jì)算單元。本發(fā)明實(shí)施例還提供了一種軟件持續(xù)集成的裝置,所述裝置包括可執(zhí)行子任務(wù)接收模塊,用于接收并管理CI主控發(fā)送的CI子任務(wù) ;目的CI代理確定模塊,用于根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的 在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行當(dāng)前管理的至少一個(gè) CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)的目的CI代理,并將所述當(dāng)前可執(zhí)行子任務(wù)發(fā)送至所述 目的CI代理,使所述目的CI代理執(zhí)行所述可執(zhí)行子任務(wù),所述至少兩個(gè)CI代理為通用計(jì) 算單元。本發(fā)明實(shí)施例還提供了一種軟件持續(xù)集成的系統(tǒng),包括至少兩個(gè)CI主控、CI管 理機(jī)、至少兩個(gè)CI代理,所述至少兩個(gè)CI代理為通用計(jì)算單元;
所述CI主控用于接收用戶下發(fā)的CI任務(wù),將所述CI任務(wù)分解成至少兩項(xiàng)CI子任務(wù),向所述CI管理機(jī)發(fā)送當(dāng)前可執(zhí)行的CI子任務(wù);所述CI管理機(jī)用于接收并管理所述CI主控發(fā)送的CI子任務(wù);根據(jù)當(dāng)前管理的CI 代理資源池中至少兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀 態(tài),確定執(zhí)行自身管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)的目的CI代理,并將所 述當(dāng)前可執(zhí)行子任務(wù)發(fā)送至所述目的CI代理;所述CI代理為所述CI管理機(jī)確定的目的CI代理時(shí),用于接收并執(zhí)行所述CI管 理機(jī)發(fā)送的當(dāng)前可執(zhí)行子任務(wù)??梢?jiàn),本實(shí)施例通過(guò)根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線通 信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行所述可執(zhí)行子任務(wù)的目的CI 代理,實(shí)現(xiàn)CI代理間的負(fù)載分擔(dān),提高CI代理的利用率以及持續(xù)集成的效率。


圖1是現(xiàn)有技術(shù)中CI系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明實(shí)施例1中提供的軟件持續(xù)集成的方法流程圖;圖3是本發(fā)明實(shí)施例2中提供的軟件持續(xù)集成的方法流程圖;圖4是本發(fā)明實(shí)施例3中提供的軟件持續(xù)集成的方法流程圖;圖5是本發(fā)明實(shí)施例4中提供的第一種CI管理機(jī)的結(jié)構(gòu)示意流程圖;圖6是本發(fā)明實(shí)施例4中提供的第二種CI管理機(jī)的結(jié)構(gòu)示意流程圖;圖7是本發(fā)明實(shí)施例4中提供的第三種CI管理機(jī)的結(jié)構(gòu)示意流程圖;圖8是本發(fā)明實(shí)施例5中提供的軟件持續(xù)集成系統(tǒng)的結(jié)構(gòu)示意流程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方 式作進(jìn)一步地詳細(xì)描述。實(shí)施例1如圖2所示,本發(fā)明實(shí)施例提供了一種軟件持續(xù)集成的方法,該方法包括以下步 驟SlOl 接收CI主控發(fā)送的CI子任務(wù);S102 根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線通信狀態(tài)、所述至 少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行當(dāng)前管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可 執(zhí)行子任務(wù)的目的CI代理,并將所述當(dāng)前可執(zhí)行子任務(wù)發(fā)送至所述目的CI代理,使所述目 的CI代理執(zhí)行所述可執(zhí)行子任務(wù),所述至少兩個(gè)CI代理為通用計(jì)算單元。本實(shí)施例中,當(dāng)前管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù),可以是當(dāng)前 接收的所述CI子任務(wù),也可以是之前接收的CI子任務(wù)??梢?jiàn),本實(shí)施例通過(guò)根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線通 信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行所述可執(zhí)行子任務(wù)的目的CI 代理,實(shí)現(xiàn)CI代理間的負(fù)載分擔(dān),提高CI代理的利用率以及持續(xù)集成的效率;通過(guò)CI管理 機(jī)接收并管理一個(gè)或多個(gè)CI主控發(fā)送的CI子任務(wù),并由CI管理機(jī)將自身當(dāng)前管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)發(fā)送給CI代理處理,進(jìn)而支持CI主控間的并發(fā)任務(wù) 控制。實(shí)施例2如圖3所示,本發(fā)明實(shí)施例提供了一種軟件持續(xù)集成的方法,該方法包括以下步 驟
S201 =CI管理機(jī)接收CI主控和CI代理發(fā)送的注冊(cè)請(qǐng)求;具體的,CI主控和CI代理啟動(dòng)時(shí),以心跳的形式發(fā)送向CI管理機(jī)注冊(cè)請(qǐng)求,與CI 管理機(jī)建立通訊連接,CI管理機(jī)中將產(chǎn)生一個(gè)由所有向其注冊(cè)的CI代理組成的CI代理資 源池,資源池中的CI代理為通用的計(jì)算單元。其中,CI主控發(fā)送的注冊(cè)請(qǐng)求的請(qǐng)求信息中包括CI主控間的子任務(wù)依賴關(guān)系和 其指定的CI代理類型,不同類型的CI代理可以支持不同操作系統(tǒng)和特殊CI任務(wù)。S202 =CI管理機(jī)接收CI主控和CI代理發(fā)送的注冊(cè)請(qǐng)求,根據(jù)至少兩個(gè)CI主控發(fā) 送的注冊(cè)請(qǐng)求,獲取至少兩個(gè)CI主控間的子任務(wù)依賴關(guān)系和至少兩個(gè)CI主控指定的CI代 理類型;根據(jù)至少兩個(gè)CI代理發(fā)送的注冊(cè)請(qǐng)求,獲取所述CI代理的類型,將至少兩個(gè)CI代 理按其類型組織成不同的CI代理資源組。具體的,CI管理機(jī)根據(jù)至少兩個(gè)CI主控發(fā)送的注冊(cè)請(qǐng)求,獲取至少兩個(gè)CI主控 間的子任務(wù)依賴關(guān)系和至少兩個(gè)CI主控指定的CI代理類型,生成子任務(wù)依賴關(guān)系表和在 線CI代理類型表;CI管理機(jī)根據(jù)至少兩個(gè)CI代理發(fā)送的注冊(cè)請(qǐng)求,獲取所述CI代理的類 型,將至少兩個(gè)CI代理按其類型組織成不同的CI代理資源組,將CI代理類型相同的CI代 理劃分在同一個(gè)CI代理資源組中。S203 用戶發(fā)送CI任務(wù)到CI主控;具體的,用戶可以通過(guò)Web(網(wǎng)絡(luò))或⑶I (Graphical User Interface,圖形用戶 接口)發(fā)送CI任務(wù)到CI主控;例如,用戶需要更新其正在開發(fā)的Sl軟件,即把對(duì)Sl新開發(fā)產(chǎn)生的內(nèi)容與當(dāng)前的 Sl軟件的內(nèi)容集成起來(lái),則其可通過(guò)Web將向CI主控發(fā)送對(duì)軟件Sl的CI任務(wù)。S204 =CI主控將接收到的CI任務(wù)分解為多個(gè)CI子任務(wù),并將該多個(gè)CI子任務(wù)緩 存至主控任務(wù)隊(duì)列;例如,當(dāng)CI主控A接收到用戶發(fā)送的針對(duì)軟件Sl的CI任務(wù)a后,對(duì)該CI任務(wù)a 進(jìn)行分解,得到三個(gè)CI子任務(wù)al、a2和a3,該三個(gè)CI子任務(wù)分別為獲取軟件A的最新代 碼、安裝該新代碼和對(duì)該新代碼進(jìn)行自動(dòng)測(cè)試;然后CI主控將上述三個(gè)CI子任務(wù)緩存至主 控任務(wù)隊(duì)列Li。其中,緩存隊(duì)列用于存儲(chǔ)由CI主控分解得到的CI子任務(wù)。S205 =CI主控將當(dāng)前可執(zhí)行的CI子任務(wù)從主控任務(wù)隊(duì)列取出,并指定當(dāng)前可執(zhí)行 的CI子任務(wù)的子任務(wù)權(quán)值;具體的,CI主控從主控任務(wù)隊(duì)列中緩存的CI子任務(wù)中獲取當(dāng)前可執(zhí)行的CI子任 務(wù),并根據(jù)執(zhí)行該CI子任務(wù)所需的CPU和內(nèi)存來(lái)制定子任務(wù)權(quán)值。其中,子任務(wù)權(quán)值,用于表示CI子任務(wù)的任務(wù)量,子任務(wù)權(quán)值越大,表示該CI子任 務(wù)的任務(wù)量越大,則用于執(zhí)行該CI子任務(wù)所需的計(jì)算資源越多;子任務(wù)權(quán)值越小,表示該 CI子任務(wù)的任務(wù)量越小,則用于執(zhí)行該CI子任務(wù)所需的計(jì)算資源越少;其中,計(jì)算資源包括執(zhí)行CI子任務(wù)所需的內(nèi)存和執(zhí)行設(shè)備的CPU資源??蓤?zhí)行子任務(wù),是指其執(zhí)行不依賴于 其他CI子任務(wù)的執(zhí)行結(jié)果即可執(zhí)行的CI子任務(wù),和/或當(dāng)前其需要依賴的其他CI子任務(wù) 的執(zhí)行結(jié)果已產(chǎn)生的CI子任務(wù);其中,其他CI子任務(wù)即可以是屬于同一個(gè)主控的CI子任 務(wù),也可以是屬于不同主控的CI子任務(wù)。
例如,主控任務(wù)隊(duì)列Ll中緩存了三個(gè)CI子任務(wù)al、a2和a3,分別為獲取軟件A的 最新代碼、安裝該新代碼和對(duì)該新代碼進(jìn)行自動(dòng)測(cè)試,其中,CI子任務(wù)al,即獲取軟件A的 最新代碼,是當(dāng)前可執(zhí)行的CI子任務(wù);CI子任務(wù)a2,即安裝該新代碼,需要依賴CI子任務(wù) al的執(zhí)行結(jié)果;CI子任務(wù)a3,即對(duì)該新代碼進(jìn)行自動(dòng)測(cè)試,需要依賴主控B中的CI子任務(wù) bl才能執(zhí)行。則CI主控A從主控任務(wù)隊(duì)列Ll中獲取的當(dāng)前可執(zhí)行的CI子任務(wù)為al。當(dāng) 主控任務(wù)隊(duì)列中的CI子任務(wù)的執(zhí)行依賴于其所在CI主控中的其他CI子任務(wù)的執(zhí)行結(jié)果 時(shí),CI主控查詢?cè)撈渌鸆I子任務(wù)的執(zhí)行結(jié)果,如果該其他子任務(wù)已執(zhí)行完,則該CI子任務(wù) 為當(dāng)前可執(zhí)行的CI子任務(wù)。當(dāng)主控任務(wù)隊(duì)列中的CI子任務(wù)的執(zhí)行依賴于其他CI主控中的其他CI子任務(wù)的 執(zhí)行結(jié)果時(shí),CI主控向CI管理機(jī)發(fā)送查詢信息,通過(guò)查詢CI管理機(jī)中的依賴CI子任務(wù)執(zhí) 行狀態(tài)表,獲取該CI子任務(wù)依賴的其他CI主控中的其他CI子任務(wù)的執(zhí)行狀態(tài),如果該其 他CI子任務(wù)已執(zhí)行完,則該CI子任務(wù)為可執(zhí)行子任務(wù);如果該其他子任務(wù)未執(zhí)行,則該CI 子任務(wù)為當(dāng)前不可執(zhí)行的CI子任務(wù),此時(shí),CI子任務(wù)需等待其他CI子任務(wù)順序執(zhí)行完畢 后,方可執(zhí)行;優(yōu)選的,如果其他CI子任務(wù)未執(zhí)行,也可由CI管理機(jī)優(yōu)先執(zhí)行該其他CI子 任務(wù)。S206 =CI主控將當(dāng)前可執(zhí)行的CI子任務(wù)發(fā)送至CI管理機(jī);具體的,CI主控將當(dāng)前可執(zhí)行的CI子任務(wù)信息緩存至主控下發(fā)隊(duì)列,排隊(duì)等待下 發(fā)至CI管理機(jī),該CI子任務(wù)信息中至少包括可執(zhí)行子任務(wù)及其子任務(wù)權(quán)值;例如,CI主控A將當(dāng)前可執(zhí)行的CI子任務(wù)al及其子任務(wù)權(quán)值發(fā)送至CI管理機(jī), 而子任務(wù)a2和a3則繼續(xù)緩存在該主控任務(wù)隊(duì)列Ll中,直至其依賴的CI子任務(wù)執(zhí)行完畢, 使其成為當(dāng)前可執(zhí)行的CI子任務(wù)后方可執(zhí)行。S207 =CI管理機(jī)接收CI主控發(fā)送的CI子任務(wù);具體的,CI管理機(jī)接收CI子任務(wù)后,將其緩存至管理機(jī)任務(wù)隊(duì)列,并排隊(duì)等待將 該CI子任務(wù)下發(fā)至CI代理,使其執(zhí)行該CI子任務(wù)。其中,CI管理機(jī)從管理機(jī)任務(wù)隊(duì)列中取出自身當(dāng)前可執(zhí)行的CI子任務(wù),簡(jiǎn)稱為當(dāng) 前可執(zhí)行子任務(wù);S208 =CI管理機(jī)根據(jù)所述CI主控指定的CI代理類型,確定目的CI代理資源組;具體的,CI管理機(jī)查詢?cè)诰€CI代理類型表,獲取發(fā)送該可執(zhí)行子任務(wù)CI主控的 CI代理類型。查詢各CI代理資源組,確定與該CI代理類型相同的CI代理資源組,該資源 組為目的CI代理資源組。S209 =CI管理機(jī)在當(dāng)前管理的CI代理資源池中的CI代理均處于在線通信狀態(tài) 時(shí),根據(jù)所述至少兩個(gè)CI代理返回的空閑狀態(tài)查詢響應(yīng),獲取至少兩個(gè)CI代理的計(jì)算資源 閑置狀態(tài);具體的,由于CI管理機(jī)定時(shí)向CI代理發(fā)送心跳輪詢查詢,獲取的在線通信狀態(tài), CI代理收到心跳查詢信息后向CI管理機(jī)發(fā)送心跳響應(yīng)信息,其返回的心跳響應(yīng)信息中,包含其當(dāng)前的計(jì)算資源閑置狀態(tài)。S210 根據(jù)所述至少兩個(gè)CI代理的計(jì) 算資源閑置狀態(tài)生成所述至少兩個(gè)CI代理 的空閑計(jì)算資源權(quán)值,如果當(dāng)前CI代理的空閑計(jì)算資源權(quán)值大于或等于所述可執(zhí)行子任 務(wù)的子任務(wù)權(quán)值,則所述當(dāng)前CI代理為目的CI代理。具體的,CI管理機(jī)根據(jù)CI代理發(fā)送的計(jì)算資源閑置狀態(tài),得到CI代理的空閑資 源權(quán)值。CI管理機(jī)判斷該空閑資源權(quán)值是否大于或等于可執(zhí)行子任務(wù)的子任務(wù)權(quán)值,如果 是,則該CI代理為可選目的CI代理,CI管理機(jī)從可選目的代理中確定目的CI代理。優(yōu)選 的,CI管理機(jī)可通過(guò)在可選CI代理中隨機(jī)選擇一個(gè)CI代理作為目的CI代理;也可以為了 更好的完成可執(zhí)行子任務(wù),選擇可選CI代理中空閑資源權(quán)值最大的CI代理作為目的CI代 理。其中,目的CI代理是指其空閑資源權(quán)值大于或等于可執(zhí)行子任務(wù)的CI子任務(wù)權(quán) 值的CI代理。空閑計(jì)算資源的權(quán)值,用于表示CI代理當(dāng)前的計(jì)算能力,空閑資源權(quán)值越大, CI代理當(dāng)前的計(jì)算能力越強(qiáng),則CI代理可執(zhí)行子任務(wù)的任務(wù)量越大;空閑資源權(quán)值越小, CI代理當(dāng)前的計(jì)算能力越弱,則CI代理可執(zhí)行子任務(wù)的任務(wù)量越小,優(yōu)選的,可根據(jù)CI代 理當(dāng)前的存儲(chǔ)容量和其處理速度來(lái)制定其空閑資源權(quán)值。S211 =CI管理機(jī)將當(dāng)前可執(zhí)行子任務(wù)發(fā)送給目的CI代理;具體的,CI管理機(jī)將可執(zhí)行子任務(wù)緩存至管理機(jī)下發(fā)隊(duì)列,排隊(duì)等待下發(fā)至目的 CI代理。優(yōu)選的,可根據(jù)可執(zhí)行子任務(wù)的優(yōu)先級(jí)下發(fā)可執(zhí)行子任務(wù)。S212 目的CI代理接收可執(zhí)行子任務(wù);具體的,目的CI代理將可執(zhí)行子任務(wù)緩存至CI代理任務(wù)隊(duì)列,排隊(duì)等待執(zhí)行。S213 目的CI代理將任務(wù)執(zhí)行結(jié)果發(fā)送至CI管理機(jī);并備份該任務(wù)執(zhí)行結(jié)果,生 成任務(wù)執(zhí)行日志;具體的,目的CI代理將任務(wù)執(zhí)行結(jié)果緩存至CI代理上傳隊(duì)列,排隊(duì)等待上傳至CI 管理機(jī);優(yōu)選的,可采用單獨(dú)的存儲(chǔ)設(shè)備對(duì)任務(wù)執(zhí)行結(jié)果進(jìn)行備份,用戶可直接訪問(wèn)該存儲(chǔ) 設(shè)備查詢?nèi)蝿?wù)執(zhí)行結(jié)果,或通過(guò)發(fā)下查詢命令至CI主控,由CI主控查詢?nèi)蝿?wù)執(zhí)行結(jié)果。S214 =CI管理機(jī)接收所述目的CI代理發(fā)送的所述可執(zhí)行子任務(wù)的執(zhí)行結(jié)果;S215 =CI管理機(jī)將接收到的執(zhí)行結(jié)果發(fā)送給CI主控;S216 =CI管理機(jī)根據(jù)所述至少兩個(gè)CI主控間的子任務(wù)依賴關(guān)系,判斷是否有其他 CI主控的子任務(wù)的執(zhí)行依賴所述執(zhí)行結(jié)果,如果有,則記錄所述執(zhí)行結(jié)果;具體的,CI管理機(jī)將接收到的執(zhí)行結(jié)果發(fā)送給CI主控后,查詢CI主控注冊(cè)表,判 斷當(dāng)前是否有其他主控子任務(wù)的執(zhí)行需要依賴所述執(zhí)行結(jié)果,如果有,則依賴CI子任務(wù)執(zhí) 行狀態(tài)表中記錄該可執(zhí)行子任務(wù)的執(zhí)行結(jié)果,以便CI主控通過(guò)查詢?cè)撘蕾嘋I子任務(wù)執(zhí)行 狀態(tài)表,從而確定該主控可執(zhí)行子任務(wù)。其中,CI主控注冊(cè)表中記載了 CI主空間的子任務(wù)依賴。例如,CI管理機(jī)中存在一 CI主控注冊(cè)表Tl,該表Tl中記載了通過(guò)CI管理機(jī)下發(fā) CI任務(wù)的CI主控間的CI子任務(wù)依賴關(guān)系,如表Tl所示表Tl
權(quán)利要求
一種軟件持續(xù)集成的方法,其特征在于,所述方法包括接收并管理CI主控發(fā)送的CI子任務(wù);根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行當(dāng)前管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)的目的CI代理,并將所述當(dāng)前可執(zhí)行子任務(wù)發(fā)送至所述目的CI代理,使所述目的CI代理執(zhí)行所述可執(zhí)行子任務(wù),所述至少兩個(gè)CI代理為通用計(jì)算單元。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述根據(jù)當(dāng)前管理的CI代理資源池中至少 兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行所述可 執(zhí)行子任務(wù)的目的CI代理,包括在當(dāng)前管理的CI代理資源池中的至少兩個(gè)CI代理均處于在線通信狀態(tài)時(shí),根據(jù)所述 至少兩個(gè)CI代理返回的空閑狀態(tài)查詢響應(yīng),獲取至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài);根據(jù)所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài)生成所述至少兩個(gè)CI代理的空閑計(jì)算 資源權(quán)值,如果當(dāng)前CI代理的空閑計(jì)算資源權(quán)值大于或等于所述可執(zhí)行子任務(wù)的子任務(wù) 權(quán)值,則所述當(dāng)前CI代理為目的CI代理。
3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述方法還包括 接收所述CI主控發(fā)送的所述空閑計(jì)算資源權(quán)值的獲取請(qǐng)求;響應(yīng)所述獲取請(qǐng)求,將所述空閑計(jì)算資源權(quán)值發(fā)送給所述CI主控,使所述CI主控將其 當(dāng)前可執(zhí)行的CI子任務(wù)發(fā)送給根據(jù)所述空閑計(jì)算資源權(quán)值確定的目的CI代理執(zhí)行。
4.根據(jù)權(quán)利要求1所述方法,其特征在于,所述接收CI主控發(fā)送的可執(zhí)行子任務(wù)之前, 所述方法還包括接收CI主控和CI代理發(fā)送的注冊(cè)請(qǐng)求;根據(jù)至少兩個(gè)CI主控發(fā)送的注冊(cè)請(qǐng)求,獲取所述至少兩個(gè)CI主控間的子任務(wù)依賴關(guān) 系和所述至少兩個(gè)CI主控指定的CI代理類型;根據(jù)至少兩個(gè)CI代理發(fā)送的注冊(cè)請(qǐng)求,獲取所述至少兩個(gè)CI代理的類型,將所述至少 兩個(gè)CI代理按其類型組織成不同的CI代理資源組。
5.根據(jù)權(quán)利要求4所述方法,其特征在于,所述根據(jù)當(dāng)前管理的CI代理資源池中至少 兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行當(dāng)前管 理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)的目的CI代理,并將所述可執(zhí)行子任務(wù)發(fā) 送至所述目的CI代理,使所述目的CI代理執(zhí)行所述可執(zhí)行子任務(wù),所述CI代理為通用計(jì) 算單元之后,所述方法還包括接收所述目的CI代理發(fā)送的所述可執(zhí)行子任務(wù)的執(zhí)行結(jié)果; 根據(jù)所述至少兩個(gè)CI主控間的子任務(wù)依賴關(guān)系,判斷是否有其他CI主控的子任務(wù)的 執(zhí)行依賴所述執(zhí)行結(jié)果,如果有,則記錄所述執(zhí)行結(jié)果;響應(yīng)所述其他CI主控發(fā)送的獲取所述執(zhí)行結(jié)果的請(qǐng)求,使所述其他CI主控根據(jù)所述 執(zhí)行結(jié)果確定并發(fā)送當(dāng)前可執(zhí)行的CI子任務(wù)。
6.根據(jù)權(quán)利要求4所述方法,其特征在于,所述接收CI主控發(fā)送的可執(zhí)行子任務(wù)之后, 所述方法還包括;根據(jù)所述CI主控指定的CI代理類型,確定目的CI代理資源組; 所述根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行所述可執(zhí)行子任務(wù)的目的CI代理,包括在所述目的CI代理資源組中,根據(jù)所述目的CI代理資源組中的CI代理的在線通信狀 態(tài)、所述CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行所述可執(zhí)行子任務(wù)的目的CI代理。
7.根據(jù)權(quán)利要求1所述方法,其特征在于,所述方法還包括向CI主控和CI代理發(fā)送心跳握手消息,以檢測(cè)所述CI主控和所述CI代理的通信狀 態(tài);當(dāng)檢測(cè)到所述目的CI代理通信狀態(tài)異常,將所述目的CI代理未完成的可執(zhí)行子任務(wù)重 新發(fā)送給待執(zhí)行所述可執(zhí)行子任務(wù)的目的CI代理。
8.一種CI管理機(jī),其特征在于,所述CI管理機(jī)包括可執(zhí)行子任務(wù)接收模塊,用于接收并管理CI主控發(fā)送的CI子任務(wù); 目的CI代理確定模塊,用于根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線 通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行當(dāng)前管理的至少一個(gè)CI子 任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)的目的CI代理,并將所述可執(zhí)行子任務(wù)發(fā)送至所述目的CI代 理,使所述目的CI代理執(zhí)行所述可執(zhí)行子任務(wù),所述至少兩個(gè)CI代理為通用計(jì)算單元。
9.根據(jù)權(quán)利要求8所述CI管理機(jī),其特征在于,所述目的CI代理確定模塊包括 計(jì)算資源閑置狀態(tài)獲取單元,用于在當(dāng)前管理的CI代理資源池中的至少兩個(gè)CI代理均處于在線通信狀態(tài)時(shí),根據(jù)所述至少兩個(gè)CI代理返回的空閑狀態(tài)查詢響應(yīng),獲取至少兩 個(gè)CI代理的計(jì)算資源閑置狀態(tài);第一目的CI代理確定單元,用于根據(jù)所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài)生成 所述至少兩個(gè)CI代理的空閑計(jì)算資源權(quán)值,如果當(dāng)前CI代理的空閑計(jì)算資源權(quán)值大于或 等于所述可執(zhí)行子任務(wù)的子任務(wù)權(quán)值,則所述當(dāng)前CI代理為目的CI代理。
10.根據(jù)權(quán)利要求9所述CI管理機(jī),其特征在于,所述CI管理機(jī)還包括空閑計(jì)算資源權(quán)值獲取請(qǐng)求接收模塊,用于接收所述CI主控發(fā)送的所述空閑計(jì)算資 源權(quán)值的獲取請(qǐng)求;空閑計(jì)算資源權(quán)值獲取請(qǐng)求響應(yīng)模塊,用于響應(yīng)所述獲取請(qǐng)求,將所述空閑計(jì)算資源 權(quán)值發(fā)送給所述CI主控,使所述CI主控將其當(dāng)前可執(zhí)行的CI子任務(wù)發(fā)送給根據(jù)所述空閑 計(jì)算資源權(quán)值確定的目的CI代理執(zhí)行。
11.根據(jù)權(quán)利要求8所述CI管理機(jī),其特征在于,所述CI管理機(jī)還包括 注冊(cè)請(qǐng)求接收模塊,用于接收CI主控和CI代理發(fā)送的注冊(cè)請(qǐng)求;CI代理類型獲取模塊,用于根據(jù)至少兩個(gè)CI主控發(fā)送的注冊(cè)請(qǐng)求,獲取所述至少兩個(gè) CI主控間的子任務(wù)依賴關(guān)系和所述至少兩個(gè)CI主控指定的CI代理類型;CI代理資源組管理模塊,用于根據(jù)至少兩個(gè)CI代理發(fā)送的注冊(cè)請(qǐng)求,獲取所述至少兩 個(gè)CI代理的類型,將所述至少兩個(gè)CI代理按其類型組織成不同的CI代理資源組。
12.根據(jù)權(quán)利要求11所述CI管理機(jī),其特征在于,所述CI管理機(jī)還包括執(zhí)行結(jié)果接收模塊,用于接收所述目的CI代理發(fā)送的所述可執(zhí)行子任務(wù)的執(zhí)行結(jié)果; 執(zhí)行結(jié)果記錄模塊,用于根據(jù)所述至少兩個(gè)CI主控間的子任務(wù)依賴關(guān)系,判斷是否有 其他CI主控的子任務(wù)的執(zhí)行依賴所述執(zhí)行結(jié)果,如果有,則記錄所述執(zhí)行結(jié)果;執(zhí)行結(jié)果獲取請(qǐng)求響應(yīng)模塊,用于響應(yīng)所述其他CI主控發(fā)送的獲取所述執(zhí)行結(jié)果的 請(qǐng)求,使所述其他CI主控根據(jù)所述執(zhí)行結(jié)果確定并發(fā)送當(dāng)前可執(zhí)行的CI子任務(wù)。
13.根據(jù)權(quán)利要求11所述CI管理機(jī),其特征在于,所述目的CI代理確定模塊包括目的CI代理資源組確定單元,用于根據(jù)所述CI主控指定的CI代理類型,確定目的CI 代理資源組;第二目的CI代理確定單元,用于在所述目的CI代理資源組中,根據(jù)所述目的CI代理 資源組中的CI代理的在線通信狀態(tài)、所述CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行所述可執(zhí) 行子任務(wù)的目的CI代理。
14.根據(jù)權(quán)利要求8所述CI管理機(jī),其特征在于,所述CI管理機(jī)還包括通信狀態(tài)檢測(cè)模塊,用于向CI主控和CI代理發(fā)送心跳握手消息,以檢測(cè)所述CI主控 和所述CI代理的通信狀態(tài);可執(zhí)行子任務(wù)重發(fā)模塊,用于當(dāng)檢測(cè)到所述目的CI代理通信狀態(tài)異常,將所述目的CI 代理未完成的可執(zhí)行子任務(wù)重新發(fā)送給待執(zhí)行所述可執(zhí)行子任務(wù)的目的CI代理。
15.一種軟件持續(xù)集成的系統(tǒng),其特征在于,所述系統(tǒng)包括至少兩個(gè)CI主控、CI管理 機(jī)、至少兩個(gè)CI代理,所述至少兩個(gè)CI代理為通用計(jì)算單元;所述CI主控用于接收用戶下發(fā)的CI任務(wù),將所述CI任務(wù)分解成至少兩項(xiàng)CI子任務(wù), 向所述CI管理機(jī)發(fā)送當(dāng)前可執(zhí)行的CI子任務(wù);所述CI管理機(jī)用于接收并管理所述CI主控發(fā)送的CI子任務(wù);根據(jù)當(dāng)前管理的CI代 理資源池中至少兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài), 確定執(zhí)行自身管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)的目的CI代理,并將所述 當(dāng)前可執(zhí)行子任務(wù)發(fā)送至所述目的CI代理;所述CI代理為所述CI管理機(jī)確定的目的CI代理時(shí),用于接收并執(zhí)行所述CI管理機(jī) 發(fā)送的當(dāng)前可執(zhí)行子任務(wù)。
16.根據(jù)權(quán)利要求13所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括所述CI主控,還用于向所述CI管理機(jī)發(fā)送注冊(cè)請(qǐng)求;所述CI代理,還用于向所述CI管理機(jī)發(fā)送注冊(cè)請(qǐng)求;所述CI管理機(jī),還用于接收所述CI主控發(fā)送的注冊(cè)請(qǐng)求,根據(jù)至少兩個(gè)CI主控發(fā)送 的注冊(cè)請(qǐng)求,獲取所述至少兩個(gè)CI主控間的子任務(wù)依賴關(guān)系和所述至少兩個(gè)CI主控指定 的CI代理類型;接收所述CI代理發(fā)送的注冊(cè)請(qǐng)求,根據(jù)至少兩個(gè)CI代理發(fā)送的注冊(cè)請(qǐng)求, 獲取所述至少兩個(gè)CI代理的類型,將所述至少兩個(gè)CI代理按其類型組織成不同的CI代理 資源組。
全文摘要
本發(fā)明公開了一種軟件持續(xù)集成的方法,包括接收并管理CI主控發(fā)送的CI子任務(wù);根據(jù)當(dāng)前管理的CI代理資源池中至少兩個(gè)CI代理的在線通信狀態(tài)、所述至少兩個(gè)CI代理的計(jì)算資源閑置狀態(tài),確定執(zhí)行當(dāng)前管理的至少一個(gè)CI子任務(wù)中的當(dāng)前可執(zhí)行子任務(wù)的目的CI代理,并將所述當(dāng)前可執(zhí)行子任務(wù)發(fā)送至所述目的CI代理,使所述目的CI代理執(zhí)行所述可執(zhí)行子任務(wù),所述至少兩個(gè)CI代理為通用計(jì)算單元。本發(fā)明還公開了一種軟件持續(xù)集成的裝置,包括可執(zhí)行子任務(wù)接收模塊;目的CI代理確定模塊;本發(fā)明通過(guò)向?yàn)橥ㄓ糜?jì)算單元的目的CI代理發(fā)送可執(zhí)行子任務(wù),增加了執(zhí)行CI子任務(wù)的CI代理的可選性。該系統(tǒng)各裝置之間的通信采用動(dòng)態(tài)注冊(cè)機(jī)制,實(shí)現(xiàn)了CI主控機(jī)和CI代理的動(dòng)態(tài)熱插拔和水平擴(kuò)展,從而有效地提高了系統(tǒng)的擴(kuò)展性。
文檔編號(hào)H04L29/06GK101957778SQ201010290480
公開日2011年1月26日 申請(qǐng)日期2010年9月19日 優(yōu)先權(quán)日2010年9月19日
發(fā)明者孫達(dá), 王僉 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
来凤县| 东兰县| 肥西县| 南丰县| 浦北县| 泗洪县| 峡江县| 织金县| 通渭县| 襄垣县| 兴城市| 黄陵县| 博罗县| 西峡县| 五常市| 天全县| 涿鹿县| 赣榆县| 会同县| 天全县| 竹溪县| 石屏县| 轮台县| 台湾省| 黄石市| 仙居县| 白河县| 马龙县| 筠连县| 新沂市| 景宁| 航空| 义马市| 昆山市| 咸丰县| 濮阳市| 深水埗区| 岳池县| 夏邑县| 鲁甸县| 甘孜|