用于配置軟件應用的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及用于配置軟件應用的方法和裝置。更明確地,描述了利用決策樹來配 置軟件應用的方法和裝置。本發(fā)明還涉及生成此類決策樹的方法和裝置。
【背景技術(shù)】
[0002] 所有計算機應用都需要進行成功操作的配置。在其基本層面上,配置包括鍵/值 對:應用使用鍵向配置系統(tǒng)提出請求,然后值被返回。
[0003] 配置集包含在具體時間來自系統(tǒng)的所有鍵/值對。當鍵值被更新或者有新的鍵/ 值被添加到系統(tǒng)時,新的配置集被創(chuàng)建。
[0004] 執(zhí)行計算密集型任務的企業(yè)的軟件棧(例如,在視覺效果或電影后期制作業(yè)務 中)通常包括幾百個獨特的軟件項目。它們大致可以被分為如下幾類:
[0005] 1)核心庫,例如,編譯二進制文件、Python庫等;
[0006] 2)制作應用,例如,視覺效果設計師所使用的應用,既可以作為獨立應用也可以擴 展為第三方應用;這些依賴于核心庫。
[0007] 3)用于維護企業(yè)的基礎設施的系統(tǒng)應用。這些也依賴于核心庫。
[0008] 為了獲得穩(wěn)定的系統(tǒng),有必要保證遍及所有軟件組件(應用編程接口(API)或其 它形式)的兼容性。這通??衫梅纸M管理系統(tǒng)(例如,RPM分組管理器、Debian分組管理 系統(tǒng)、Nix分組管理器、或Portage分組管理系統(tǒng))實現(xiàn)。在視覺效果業(yè)務中,軟件棧提出 了進一步的需求,即能夠基于定性決策定義軟件組件的組合。此類定性決策的示例如下:
[0009] 1)包含僅為特定制作(production)開發(fā)的特征;
[0010] 2)使用的新開發(fā)的特征,這些特征對于制作而言尚不能認為是穩(wěn)定的;
[0011] 3)使軟件棧與所有軟件變化隔離,即保證在制作的最終階段的軟件穩(wěn)定性;
[0012] 4)使應用與不同第三方庫(例如,物理引擎)相結(jié)合;
[0013] 5)不同制作現(xiàn)場的許可約束可能不同;
[0014] 6)硬件特征可能不同。
[0015] 為了保證軟件的兼容性和靈活性以根據(jù)制作需求定制工作流程,需要一種強大的 配置管理系統(tǒng)。
【發(fā)明內(nèi)容】
[0016] 本發(fā)明的一個目標是提出用于管理軟件應用的配置項的解決方案。
[0017] 根據(jù)本發(fā)明的一個方面,一種用于配置軟件應用的方法,包括:
[0018]-檢索(retrieve)軟件應用的情境,該情境包括一個或多個限定詞;
[0019] -將這一個或多個限定詞與決策樹的節(jié)點進行比較,以確定軟件應用的配置標識 符;以及
[0020] -基于所確定的配置標識符為軟件應用檢索一個或多個配置值。
[0021] 相應地,一種被配置為配置軟件應用的裝置,包括:
[0022] -情境檢索單元,被配置為:檢索軟件應用的情境,該情境包括一個或多個限定 詞;
[0023] -比較單元,被配置為:將這一個或多個限定詞與決策樹的節(jié)點進行比較,以確定 軟件應用的配置標識符;以及
[0024] -配置值檢索單元,被配置為:基于所確定的配置標識符為軟件應用檢索一個或 多個配置值。
[0025] 而且,一種其中存儲有使得能夠?qū)浖眠M行配置的指令的計算機可讀存儲介 質(zhì),這些指令當由計算機執(zhí)行時,使得計算機執(zhí)行如下操作:
[0026] -檢索軟件應用的情境,該情境包括一個或多個限定詞;
[0027] -將這一個或多個限定詞與決策樹的節(jié)點進行比較,以確定軟件應用的配置標識 符;以及
[0028] -基于所確定的配置標識符為軟件應用檢索一個或多個配置值。
[0029] 根據(jù)本發(fā)明的另一個方面,一種生成決策樹以使得能夠?qū)浖眠M行配置的方 法,包括:
[0030] -為軟件應用確定與配置值相關(guān)聯(lián)的一個或多個配置標識符;
[0031] -將所確定的一個或多個配置標識符與決策樹的節(jié)點相關(guān)聯(lián);以及 [0032]-在配置管理系統(tǒng)中存儲決策樹。
[0033] 相應地,一種被配置為生成決策樹以使得能夠?qū)浖眠M行配置的裝置,包 括:
[0034]-配置標識符確定單元,被配置為:為軟件應用確定與配置值相關(guān)聯(lián)的一個或多 個配置標識符;
[0035] -關(guān)聯(lián)單元,被配置為:將所確定的一個或多個配置標識符與決策樹的節(jié)點進行 關(guān)聯(lián);以及
[0036] -存儲單元,被配置為:在配置管理系統(tǒng)中存儲決策樹。
[0037] -種其中存儲有使得能夠生成決策樹以使得能夠?qū)浖眠M行配置的指令的 計算機可讀存儲介質(zhì),這些指令當由計算機執(zhí)行時,使計算機執(zhí)行如下操作:
[0038] -為軟件應用確定與配置值相關(guān)聯(lián)的一個或多個配置標識符;
[0039] -將所確定的一個或多個配置標識符與決策樹的節(jié)點相關(guān)聯(lián);以及
[0040] -在配置管理系統(tǒng)中存儲決策樹。
[0041] 提出的解決方案優(yōu)選地被實施為完全永久性配置管理系統(tǒng),該系統(tǒng)在稀疏填充的 決策樹中存儲值。該樹根據(jù)輸入限定詞進行導航,并且有利地允許通過版本化來追蹤對樹 進行的改變。系統(tǒng)提供定義來自所有可能的矩陣的并行軟件配置集的能力,該能力保證了 軟件的兼容性和靈活性以根據(jù)制作需求定制工作流程。
[0042] 為更好的理解,現(xiàn)將在以下描述中結(jié)合附圖進行更詳細的解釋。應該理解本發(fā)明 不限于任何示意性實施例,并且在不背離所附權(quán)利要求書所限定的本發(fā)明的范圍的情況 下,還可以對具體的特征進行適當?shù)慕M合和/或修改。
【附圖說明】
[0043] 圖1示意性地示出了依照本發(fā)明來配置軟件應用的方法;
[0044] 圖2示意性示出被配置為執(zhí)行圖1的方法的裝置;
[0045]圖3描述了依照本發(fā)明來生成決策樹以使得能夠?qū)浖眠M行配置的方法;以 及
[0046] 圖4示出了被配置為執(zhí)行圖3的方法的裝置。
【具體實施方式】
[0047] 圖1示意性地示出了依照本發(fā)明來配置軟件應用的方法。在對軟件應用的情境 (context)進行檢索(10)后(該情境包括一個或多個限定詞(qualifiers)),將這一個或 多個限定詞與決策樹的節(jié)點進行比較(11)以確定軟件應用的配置標識符?;谒_定的 配置標識符,檢索(12)軟件應用的一個或多個配置值。
[0048] 圖2示意性地示出了被配置為執(zhí)行圖1的方法的裝置20。該裝置20包括輸入裝 置21,輸入裝置21用于接收對為軟件應用檢索一個或多個配置值的請求。首先,情境檢索 單元22檢索(10)軟件應用的情境,該情境包括一個或多個限定詞。然后,比較單元23將 這一個或多個限定詞與決策樹的節(jié)點進行比較(11),以確定軟件應用的配置標識符?;?確定的配置標識符,配置值檢索單元24為軟件應用檢索(12) -個或多個配置值。最后,有 利地經(jīng)由輸出裝置25使檢索到的一個或多個配置值可用。各個單元22、23、24既可以作為 專用硬件被實施也可以作為在處理器上運行的軟件被實施。它們還可以被全部或部分地組 合在單一單元中。而且,輸入裝置21和輸出裝置25可以被組合為單一雙向接口。
[0049]圖3描述了依照本發(fā)明來生成決策樹以使得能夠?qū)浖眠M行配置的方法。首 先,為軟件應用確定(30)與配置值相關(guān)聯(lián)的一個或多個配置標識符。然后,將所確定的一 個或多個配置標識符與決策樹的節(jié)點相關(guān)聯(lián)(31)。最后,存儲(32)所產(chǎn)生的決策樹。
[0050] 圖4示意性地示出了被配置為執(zhí)行圖3的方法的裝置40。該裝置40包括用于接 收對生成決策樹的請求的輸入裝置41。然后配置標識符確定單元42為軟件應用確定(30) 與配置值相關(guān)聯(lián)的一個或多個配置標識符。關(guān)聯(lián)單元43將所確定的一個或多個配置標識 符與決策樹的節(jié)點相關(guān)聯(lián)(31)。生成的決策樹被存儲(32)于裝置40的存儲單元44中。 存儲單元44也可以在裝置40外部??商鎿Q地或者除了存儲(32)決策樹之外,還能經(jīng)由輸 出裝置45使決策樹可用。確定單元42和關(guān)聯(lián)單元43既可以作為專用硬件被實施也可以 作為在處理器上運行的軟件被實施。它們還可以被組合在單一單元中。而且,輸入裝置41 和輸出裝置45可以組合為單一雙向接口。
[0051] 下面將參考電影后期制作或視覺效果領(lǐng)域的配置管理系統(tǒng)更加詳細地解釋所提 出的解決方案。當然,該解決方案不限于這種應用。
[0052] 簡單的鍵/值配置系統(tǒng)只需要鍵以便返回值。例如,考慮具有10個版本(vl-vlO) 的軟件工具:工具_A(T〇〇l_A)。向系統(tǒng)查詢"工具_六的版本",值"vlO"被返回。通過接受 具有鍵的限定詞,所提出的系統(tǒng)對查詢進行擴展:
[0053] 工具_A的軟件版本,制作"Foo"->vlO
[0054] 工具_A的軟件版本,制作"Bar" - >v9
[0055] "制作"限定詞描述進行查詢的環(huán)境。在這個簡單示例中,配置管理系統(tǒng)將定義用 于兩種制作的不同版本的工具_A。該限定詞被稱為"情境",其是由"元素"構(gòu)成的合成值。 有利地,對充分描述用戶環(huán)境的用戶相關(guān)"情境"進行了定義,該情境包括:
[0056]-工作(縮寫制作名稱)
[0057]-角色(設計師、開發(fā)人員、管理人員)
[0058] -場景(場景名稱,例如,"建造")
[0059] -鏡頭(鏡頭名稱,例如,"AFA_101")