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

將不同大小的代碼更改作業(yè)集合提供至驗證器的制造方法

文檔序號:9438866閱讀:353來源:國知局
將不同大小的代碼更改作業(yè)集合提供至驗證器的制造方法
【專利說明】將不同大小的代碼更改作業(yè)集合提供至驗證器
【背景技術(shù)】
[0001] 在一些情況下,許多源代碼開發(fā)者可處理開發(fā)中的軟件項目(例如,計算機應(yīng)用 等)的共享代碼。在一些示例,源代碼管理(SCM)系統(tǒng)可被利用作為用于保持共享代碼的 當(dāng)前版本的中央倉庫(repository)。在這樣的示例中,每一個開發(fā)者可從SCM系統(tǒng)檢索共 享代碼的當(dāng)前版本并可提交它們的代碼更改至保持于SCM系統(tǒng)中的共享代碼。
【附圖說明】
[0002] 如下詳細描述參考附圖,其中:
[0003] 圖IA為示例計算設(shè)備的框圖,計算設(shè)備提供不同大小的作業(yè)集合至多個驗證器 中的每一個;
[0004] 圖IB為存儲于隊列中的示例的多個作業(yè)的框圖;
[0005] 圖2為示例系統(tǒng)的框圖,示例系統(tǒng)基于作業(yè)失敗概率確定集合大小分布;
[0006] 圖3為示例方法的流程圖,示例方法用于基于概率上期望被作為組驗證成功的作 業(yè)數(shù)目來確定集合大小分布;以及
[0007] 圖4為示例方法的流程圖,示例方法用于基于作業(yè)失敗間隔更新作業(yè)失敗概率。
【具體實施方式】
[0008] 如上所述,處理開發(fā)中的軟件項目(例如,計算機應(yīng)用等)的共享代碼的軟件開發(fā) 者可利用源代碼管理(SCM)系統(tǒng)作為保持共享代碼的當(dāng)前版本的中央倉庫。如本文所使用 的,"共享代碼"可包括至少一個機器可讀指令文件(例如,源代碼,等),至少一個機器可讀 指令文件被關(guān)聯(lián)于開發(fā)中的軟件項目并且被保持在倉庫中以供由多個不同的軟件開發(fā)者 或其他用戶訪問。如本文所使用的,"軟件"可指代由計算設(shè)備的處理資源可執(zhí)行的機器可 讀指令的集合(例如,源代碼,等)。
[0009] 如上所述,每一個開發(fā)者可從該SCM系統(tǒng)獲取該共享代碼的當(dāng)前版本并可通過提 交它們的代碼更改至保持共享代碼的SCM系統(tǒng)來更新該共享代碼。如本文所使用的,"提交" 代碼更改至共享代碼可包括合并,保存,或其他方式將該代碼更改并入至該共享代碼。然 而,開發(fā)者可能會提交將錯誤引入該共享代碼的代碼更改。引入的錯誤可能會仿礙該共享 代碼編譯,運行,等,引起功能退化(例如,破壞先前工作的功能),或以其他方式破壞該共 享代碼。在這樣的示例中,當(dāng)其他開發(fā)者使他們的工作區(qū)與該共享代碼的最新版本同步時, 該誤差可傳播至所述其他開發(fā)者,給這些開發(fā)者留出了非工作的環(huán)境并且空等待著共享代 碼去被糾正。
[0010] 在一些示例,對共享代碼的更改可在被提交至該共享代碼之前被測試。通過該測 試的代碼更改可被提交,而測試失敗的更改可被拒絕(例如,不被提交至共享代碼)。然而, 獨立地為每個遞交的代碼更改的集合編譯和測試共享代碼可能是耗時的過程。附加地,如 果多個代碼更改的集合被一起測試,并且該測試失敗,查找和拒絕失敗的更改集合可能會 涉及單獨地重新測試每個更改的集合。 toon] 為解決這些問題,本文描述的示例可接收多個作業(yè),每個包括被請求要提交至共 享代碼的至少一個代碼更改,在隊列中放置每個作業(yè),并且提供不同大小的作業(yè)集合至多 個驗證器中的每一個,每個作業(yè)集合包含在給定時間該隊列中的一個或多個作業(yè)的連續(xù) 組,連續(xù)組以給定時間時處于隊列前端的作業(yè)開始。本文描述的示例可進一步從每一個驗 證器接收所提供的作業(yè)集合中的所有作業(yè)是否作為組被該驗證器成功驗證了的指示。
[0012] 在一些示例,每個所提供的作業(yè)集合可與包括更小作業(yè)集合的所有作業(yè)的每對作 業(yè)集合的較大者相重疊,并且每個作業(yè)集合以隊列前端的作業(yè)開始。附加地,每個驗證器可 應(yīng)用并嘗試將其被提供的作業(yè)集合的所有代碼更改作為組(例如,一起作為單個代碼更改 的集合)驗證,并且所有驗證器可并行地執(zhí)行該過程。以這種方式,本文描述的示例可作為 組驗證,然后將提供至驗證器的作業(yè)集合中的最大完全有效的作業(yè)集合的每個作業(yè)的代碼 更改作為組提交。本文描述的示例可由此降低在測試隊列中所有代碼更改的過程中所涉及 的時間量。此外,通過對不同大小的重疊作業(yè)集合并行執(zhí)行驗證,本文描述的示例可將隊列 中的第一失敗作業(yè)標識為屬于造成最大有效作業(yè)集合和下一最大作業(yè)集合(即,最小失敗 作業(yè)集合)之間的差別的作業(yè)的相對較小的序列。本文描述的示例由此可降低在提交之前 驗證代碼更改過程中所涉及的時間量,并降低當(dāng)一起驗證多個作業(yè)時識別隊列中第一無效 作業(yè)的時間量。
[0013] 附加地,本文描述的一些示例可基于概率上期望被作為組成功驗證的作業(yè)的數(shù)量 確定作業(yè)集合的相應(yīng)大小。以這種方式,本文描述的示例可謹慎地選擇要作為組驗證的作 業(yè)集合的大小,以增加成功驗證隊列中相對大的作業(yè)集合的機會,這可由此降低在提交代 碼更改至共享代碼之前驗證代碼更改的過程所消耗的時間。此外,通過控制什么代碼更改 被提交和何時代碼更改被提交,通過防止任何代碼更改被提交至該共享代碼而另一代碼更 改的集合處于正被驗證和提交的過程中,本文描述的示例可保持該共享代碼處于連續(xù)一致 的和有效的狀態(tài)。
[0014] 現(xiàn)參見附圖,圖IA為示例計算設(shè)備100的框圖,示例計算設(shè)備100提供不同大小 的作業(yè)集合至多個驗證器的每一個。如本文所使用的,"計算設(shè)備"可為桌面計算機,筆記本 計算機,工作站,平板計算機,移動電話,智能設(shè)備,服務(wù)器,或其他任何處理設(shè)備或裝置。在 圖IA的示例中,計算設(shè)備100包括處理資源110和用指令122,124,126和128編碼的機器 可讀存儲介質(zhì)120。在一些示例中,存儲介質(zhì)120可包括附加的指令。在一些示例中,本文 相對于存儲介質(zhì)120描述的指令122,124,126,128和任何其他指令可被存儲于遠離計算設(shè) 備100和處理資源110但可由計算設(shè)備100和處理資源110訪問的機器可讀存儲介質(zhì)。
[0015] 在本文描述的示例中,處理資源可包括例如包括在單個計算設(shè)備中或跨多個計 算設(shè)備分布的一個處理器或多個處理器。如本文所使用的,"處理器"可為中央處理單元 (CPU),基于半導(dǎo)體的微處理器,圖形處理單元(GPU),配置以獲取和執(zhí)行指令的現(xiàn)場可編程 門陣列(FPGA),適用于獲取和執(zhí)行存儲于機器可讀存儲介質(zhì)中的指令的其他電子電路,或 其組合中的至少一個。處理資源110可提取,解碼和執(zhí)行存儲于存儲介質(zhì)120中的指令以 執(zhí)行如下描述的功能。在其它示例中,存儲介質(zhì)120的任何指令的功能可采用電子電路的 形式,以編碼在機器可讀存儲介質(zhì)上的可執(zhí)行指令的形式,或其組合實現(xiàn)。
[0016] 如本文所使用的,"機器可讀存儲介質(zhì)"可為任何電子,磁,光,或其他物理存儲裝 置,用以包含或存儲信息,諸如可執(zhí)行指令,數(shù)據(jù),等。例如,本文描述的任何機器可讀存儲 介質(zhì)可為隨機存取存儲器(RAM),易失性存儲器,非易失性存儲器,閃存,存儲驅(qū)動器(例 如,硬盤驅(qū)動器),固態(tài)驅(qū)動器,任何類型的存儲盤(例如,壓縮盤只讀存儲器(⑶-ROM),任 何其他類型的壓縮盤,DVD,等)等,或其組合中的任一項。進一步,本文描述的任何機器可 讀存儲介質(zhì)可為非暫時的。
[0017] 在本文描述的示例中,指令122,124,126和128可實現(xiàn)一部分質(zhì)量網(wǎng)關(guān)系統(tǒng),以充 當(dāng)軟件開發(fā)者(或其他用戶)和SCM系統(tǒng)之間的中間媒介。在這樣的示例中,不同于開發(fā)者 直接地提交共享代碼的代碼更改至SCM系統(tǒng),開發(fā)者可提交包括代碼更改的作業(yè)至質(zhì)量網(wǎng) 關(guān)系統(tǒng)。在這樣的示例中,質(zhì)量網(wǎng)關(guān)系統(tǒng)可對包括于遞交的作業(yè)中的代碼更改執(zhí)行驗證過 程,如果更改被成功驗證,則提交代碼更改至SCM系統(tǒng),并且如果未成功驗證,則拒絕(即, 不提交)代碼更改。在一些示例中,SCM系統(tǒng)可由計算設(shè)備100實現(xiàn)。在其它示例中,SCM 系統(tǒng)可至少部分地被實現(xiàn)于遠離計算設(shè)備100但可被計算設(shè)備100訪問的計算設(shè)備上。
[0018] 在本文描述的示例中,"作業(yè)"可包括被請求提交至共享代碼的至少一個代碼更改 請求的集合。在一些示例中,作業(yè)可作為請求的一部分被提供至質(zhì)量網(wǎng)關(guān)系統(tǒng)以提交包括 于作業(yè)的代碼更改(一個或多個)至共享代碼,或者,作業(yè)本身可表示至質(zhì)量網(wǎng)關(guān)系統(tǒng)的、 提交所包括的代碼更改(一個或多個)至共享代碼的請求。作業(yè)可以包括采用任何合適的 格式或表示的代碼更改。例如,作業(yè)可以包括采用軟件補丁形式等的代碼更改。
[0019] 在圖IA的示例中,指令122可接收多個作業(yè)165。多個作業(yè)165的每一個可包括 被請求要提交至共享代碼的至少一個代碼更改。指令122可從SCM系統(tǒng)的各種不同用戶 (諸如軟件開發(fā)者)接收多個作業(yè)165的各種不同的作業(yè)。
[0020] 指令124可將指令122接收的每個作業(yè)(即,每個作業(yè)165)放置在隊列140中。 在一些示例中,隊列140可為由指令124實現(xiàn)的先入先出(FIFO)數(shù)據(jù)結(jié)構(gòu)。指令124可在 計算設(shè)備100的存儲器(例如,機器可讀存儲介質(zhì))中存儲隊列140。在其它示例中,隊列 140可存儲于遠離計算設(shè)備100和處理資源110但可被計算設(shè)備100和處理資源110訪問 的機器可讀存儲介質(zhì)上。圖IA的示例的特征在下面相對于在圖IB中圖示的示例性的多個 作業(yè)165加以描述。
[0021] 圖IB為存儲于隊列140中的示例性多個作業(yè)165的框圖。多個作業(yè)165可包括 數(shù)目"N"個作業(yè),其中N為大于1的整數(shù)。在圖IB的示例中,多個作業(yè)165包括N個作業(yè) 160-1至160-N,其由指令122按照那個次序接收。在一些示例中,指令124可在隊列140 中以例如作業(yè)160-1至160-N被接收的次序放置作業(yè)160-1至160-N中的每一個。在這樣 的示例中,在隊列140中放置作業(yè)160-1至160-N中的每一個之后,隊列140可包括在圖IB 中所圖示的多個作業(yè)165。例如,按照那個次序,作業(yè)160-1可在隊列140的前端142處并 可跟隨以作業(yè)160-2至160-N,作業(yè)160-N處于在隊列140的后端144。
[0022] 在圖IA和IB的示例中,質(zhì)量網(wǎng)關(guān)系統(tǒng)可包括多個驗證器。在本文描述的示例中, 驗證器可為質(zhì)量網(wǎng)關(guān)系統(tǒng)的組件,用以對作業(yè)集合的多個作業(yè)作為組執(zhí)行驗證過程。如本 文所使用的,"作業(yè)集合"可為一個或多個作業(yè)的集合。在本文描述的示例中,對作業(yè)集合的 多個作業(yè)"作為組"執(zhí)行驗證過程可包括嘗試利用作業(yè)集合的多個作業(yè)的所有代碼更改來 更新共享代碼的拷貝,并且如果利用所有代碼更改成功更新了所有拷貝,則對更新的共享 代碼的拷貝執(zhí)行至少一個測試。在一些示例中,驗證器可在編譯并運行更新的共享代碼的 建立(build)(或生成更新的共享代碼的一個建立)或其組合之后執(zhí)行測試(一個或者多 個)。
[0023] 驗證器還可指示作業(yè)集合的多個作業(yè)是否作為組由驗證器成功驗證了。例如,如 果利用所有代碼更改成功更新了的共享代碼的拷貝(即,代碼更改并不相互沖突),并且更 新的共享代碼的拷貝通過所有應(yīng)用的測試(例如,在編譯或其他活動之后生成共享代碼的 建立(build)),驗證器可指示作業(yè)作為組被成功驗證了。如果利用所有代碼更改未成功更 新共享代碼(例如,因為代碼更改包括沖突的代碼更改),或成功更新的共享代碼的拷貝在 至少一個應(yīng)用的測試中失敗,則驗證器可指示作業(yè)集合中的作業(yè)作為組驗證未成功。驗證 器還可對包括一個作業(yè)的作業(yè)集合執(zhí)行上述驗證過程。
[0024] 在本文描述的示例中,通過或?qū)⑼ㄟ^驗證過程的作業(yè)在本文可稱為"有效作業(yè)", 而包括所有有效作業(yè)的作業(yè)集合在本文可稱為"有效作業(yè)集合"。此外,在本文描述的示例 中,驗證過程失敗或?qū)⑹〉淖鳂I(yè)本文可稱為"無效作業(yè)",而包括至少一個無效作業(yè)的作 業(yè)集合在本文可稱為"無效作業(yè)集
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
灵山县| 西林县| 清涧县| 金寨县| 辽中县| 丹寨县| 开封县| 利津县| 房产| 洪湖市| 湘乡市| 慈溪市| 邮箱| 颍上县| 光泽县| 新化县| 巴里| 清远市| 铁岭县| 澎湖县| 文昌市| 资讯 | 丰顺县| 七台河市| 望谟县| 赣榆县| 临泉县| 汽车| 拜城县| 金坛市| 蓝田县| 神木县| 阿克| 孟连| 无极县| 封丘县| 临夏市| 方正县| 邢台市| 宁南县| 五莲县|