本發明的實施方式涉及計算機領域,并且更具體地,涉及用于向硬件資源遞送軟件解決方案的方法和裝置。
背景技術:
在向終端用戶提供產品時,產品制造商通常需要根據終端用戶的需求從硬件資源池中獲取終端用戶所需的硬件資源,在所獲取的硬件資源上部署所需的軟件解決方案,并且隨后在所部署的軟件解決方案上進行相關測試,以確保終端用戶的正常使用。
目前,上述硬件資源的獲取過程以及軟件解決方案的部署和測試過程中的至少一個過程是由制造商手動完成的,因而效率是很低的。
技術實現要素:
因此,為了解決一個或多個現有技術中存在的問題,需要一種高效地向硬件資源遞送軟件解決方案的技術方案。
根據本發明實施方式的第一方面,提供了一種用于遞送軟件解決方案的方法。該方法包括:接收與該軟件解決方案相關聯的硬件需求和軟件需求;根據該硬件需求和該軟件需求,基于預定義的策略集合來確定硬件資源以及與該軟件解決方案相關聯的遞送內容;從硬件資源池中獲取所確定的硬件資源;以及向該硬件資源遞送該遞送內容。
在一些實施方式中,接收與該軟件解決方案相關聯的硬件需求和軟件需求包括:分別接收與第一軟件解決方案相關聯的硬件需求和軟件需求、以及與第二軟件解決方案相關聯的硬件需求和軟件需求,該第一軟件解決方案不同于該第二軟件解決方案。
在一些實施方式中,該預定義的策略集合包括預定義的第一策略集合和第二策略集合,該第一策略集合不同于該第二策略集合;該方 法進一步包括:分別向該第一軟件解決方案和該第二軟件解決方案指派該第一策略集合和該第二策略集合;并且其中基于預定義的策略集合來確定硬件資源以及與該軟件解決方案相關聯的遞送內容包括:分別基于該第一策略集合和該第二策略集合來確定針對該第一軟件解決方案的硬件資源和遞送內容、以及針對該第二軟件解決方案的硬件資源和遞送內容。
在一些實施方式中,該預定義的策略集合包括全局的策略集合;并且其中基于預定義的策略集合來確定硬件資源以及與該軟件解決方案相關聯的遞送內容包括:基于該全局的策略集合來分別確定針對該第一軟件解決方案的硬件資源和遞送內容、以及針對該第二軟件解決方案的硬件資源和遞送內容。
在一些實施方式中,該策略集合包括多個策略,該多個策略中的每一個包括屬性集合與遞送內容之間的映射關系,該屬性集合中的每個屬性表示與待遞送的軟件解決方案相關聯的硬件需求或軟件需求。
在一些實施方式中,該多個策略至少包括第一策略以及與該第一策略不同的第二策略。
在一些實施方式中,該屬性集合中的每個屬性被賦予權重;其中基于預定義的策略集合來確定硬件資源以及與該軟件解決方案相關聯的遞送內容包括:將所接收的硬件需求和軟件需求分別與該第一策略和該第二策略進行比較;基于該比較,分別針對該第一策略和該第二策略確定與所接收的硬件需求和軟件需求相匹配的屬性的權重的總和;響應于針對該第一策略的權重的總和大于針對該第二策略的權重的總和,基于該第一策略來確定該硬件資源和該遞送內容。
根據本發明實施方式的第二方面,提供了一種用于遞送軟件解決方案的裝置。該裝置包括:需求處理單元,被配置為接收與該軟件解決方案相關聯的硬件需求和軟件需求,并且根據該硬件需求和該軟件需求,基于預定義的策略集合來確定硬件資源以及與該軟件解決方案相關聯的遞送內容;硬件資源管理單元,被配置為從硬件資源池中獲取所確定的硬件資源;以及遞送單元,被配置為向該硬件資源遞送該 遞送內容。
在一些實施方式中,該需求處理單元被進一步配置為:分別接收與第一軟件解決方案相關聯的硬件需求和軟件需求、以及與第二軟件解決方案相關聯的硬件需求和軟件需求,該第一軟件解決方案不同于該第二軟件解決方案。
在一些實施方式中,該預定義的策略集合包括預定義的第一策略集合和第二策略集合,該第一策略集合不同于該第二策略集合;該需求處理單元被進一步配置為:分別向該第一軟件解決方案和該第二軟件解決方案指派該第一策略集合和該第二策略集合;并且分別基于該第一策略集合和該第二策略集合來確定針對該第一軟件解決方案的硬件資源和遞送內容、以及針對該第二軟件解決方案的硬件資源和遞送內容。
在一些實施方式中,該預定義的策略集合包括全局的策略集合;并且其中該需求處理單元被進一步配置為:基于該全局的策略集合來分別確定針對該第一軟件解決方案的硬件資源和遞送內容、以及針對該第二軟件解決方案的硬件資源和遞送內容。
在一些實施方式中,該策略集合包括多個策略,該多個策略中的每一個包括屬性集合與遞送內容之間的映射關系,該屬性集合中的每個屬性表示與待遞送的軟件解決方案相關聯的硬件需求或軟件需求。
在一些實施方式中,該多個策略至少包括第一策略以及與該第一策略不同的第二策略。
在一些實施方式中,該屬性集合中的每個屬性被賦予權重;其中該需求處理單元被進一步配置為:將所接收的硬件需求和軟件需求分別與該第一策略和該第二策略進行比較;基于該比較,分別針對該第一策略和該第二策略確定與所接收的硬件需求和軟件需求相匹配的屬性的權重的總和;響應于針對該第一策略的權重的總和大于針對該第二策略的權重的總和,基于該第一策略來確定該硬件資源和該遞送內容。
根據本發明實施方式的第三方面,提供了一種服務器,包括:一 個或多個處理器;存儲有計算機程序指令的存儲器,當由該一個或多個處理器執行該計算機程序指令時使得該服務器執行根據本發明實施方式的方法。
根據本發明實施方式的第四方面,提供了一種計算機程序產品,包括計算機程序指令,當由計算設備執行該計算機程序指令時使得該計算設備執行根據本發明實施方式的方法。
本發明的實施方式利用預定義的策略集合來確定將向其遞送軟件解決方案的硬件資源以及與待遞送的軟件解決方案相關聯的遞送內容,從而提供了自動化的軟件解決方案遞送過程。
附圖說明
結合附圖并參考以下詳細說明,本發明的各實施方式的特征、優點及其他方面將變得更加明顯,在此以示例性而非限制性的方式示出了本發明的若干實施方式。在附圖中:
圖1示出了本發明的實施方式可以實現于其中的示例性環境的框圖;
圖2示出了根據本發明的一個實施方式的用于遞送軟件解決方案的方法的流程圖;
圖3示出了軟件需求和硬件需求的示例;
圖4示出根據本發明的一個實施方式的用于遞送軟件解決方案的裝置的框圖;
圖5示出了根據本發明實施方式的用于遞送軟件解決方案的裝置的架構圖;以及
圖6示出了一個可以用來實施本發明實施方式的設備的示意性框圖。
具體實施方式
下面將參考附圖中示出的若干示例實施方式來描述本發明的原理。應當理解,描述這些實施方式僅僅是為了使本領域技術人員能夠 更好地理解進而實現本發明,而并非以任何方式限制本發明的范圍。
為了提高向硬件資源遞送軟件解決方案的效率,本發明的實施方式提供了一種通過策略驅動來向硬件資源遞送軟件解決方案的技術方案。
圖1示出了本發明的實施方式可以實現于其中的示例性環境100的框圖。如圖1所示,環境100包括軟件管理單元110和硬件資源管理單元120。
軟件管理單元110被配置為從終端用戶接收與待遞送的軟件解決方案相關聯的需求111。需求111可以包括與該軟件解決方案相關聯的軟件需求和硬件需求。軟件管理單元110被進一步配置為根據需求111,基于預定義的策略集合來確定將要向其遞送軟件解決方案的硬件資源。
此外,軟件管理單元110還被配置為與硬件資源管理單元120進行通信,以使得硬件資源管理單元120從硬件資源池121中獲取所確定的硬件資源,例如硬件資源122。在一些實施方式中,硬件資源池121中的硬件資源可以包括聚合基礎設施(convergedinfrastructure,ci)資源。在另一些實施方式中,硬件資源池121中的硬件資源可以包括定制的資源。
另外,軟件管理單元110還被配置為基于預定義的策略集合來確與該軟件解決方案相關聯的遞送內容,并且向所獲取的硬件資源122遞送該遞送內容。
圖2示出了根據本發明的一個實施方式的用于遞送軟件解決方案的方法200的流程圖。在一些實施方式中,方法200可以由圖1中所示出的軟件管理單元110和硬件資源管理單元120來實施。因此,在下文中將參照圖2并借助于圖1所示的示例性環境100,詳細描述根據本發明的實施方式的用于遞送軟件解決方案的方法。
如圖2所示,在步驟s210,軟件管理單元110從終端用戶接收與待遞送的軟件解決方案相關聯的需求111。需求111可以包括與待遞送的軟件解決方案相關聯的軟件需求和硬件需求。
作為一個示例,與待遞送的軟件解決方案相關聯的軟件需求可以包括待遞送的軟件解決方案的名稱,例如人力資源管理方案、財務管理方案等。
作為一個示例,與待遞送的軟件解決方案相關聯的硬件需求可以包括所需的硬件資源的型號(model)名稱,例如quanta(廣達)、rinjin等。此外,與待遞送的軟件解決方案相關聯的硬件需求還可以包括計算需求和存儲需求,例如對于cpu的需求和存儲容量的需求。
可以理解,軟件解決方案通常包括多個軟件包。就此而言,與待遞送的軟件解決方案相關聯的軟件需求可以包括軟件解決方案中的軟件包的名稱,例如apacheserver1.0、mysqldatabase2.1等。
繼續參照圖2,在步驟s220,軟件管理單元110根據與待遞送的軟件解決方案相關聯的硬件需求和軟件需求,基于預定義的策略集合來確定硬件資源以及與軟件解決方案相關聯的遞送內容。作為一個示例,可以采用策略數據庫來維護和管理預定義的策略集合。
在一些實施方式中,與軟件解決方案相關聯的遞送內容包括部署(deployment)內容。部署內容的示例包括但是不限于:部署腳本的集合、與部署腳本相關聯的軟件包、以及配置文件。
在一些實施方式中,與軟件解決方案相關聯的遞送內容還包括測試內容。測試內容的示例包括但是不限于:測試腳本的集合、順序文件(sequencefile)以及相關的可執行文件。
在一些實施方式中,預定義的策略集合可以是特定于待遞送的軟件解決方案。換言之,針對不同的軟件解決方案采用不同的策略集合,從而可以避免出現同一需求與多個策略項匹配的情況。
具體而言,接收與軟件解決方案相關聯的硬件需求和軟件需求可以包括:分別接收與第一軟件解決方案相關聯的硬件需求和軟件需求、以及與第二軟件解決方案相關聯的硬件需求和軟件需求,第一軟件解決方案不同于第二軟件解決方案。預定義的策略集合可以包括預定義的第一策略集合和第二策略集合,并且第一策略集合不同于第二策略集合。由此,方法200可以進一步包括分別向第一軟件解決方案 和第二軟件解決方案指派第一策略集合和第二策略集合,并且基于預定義的策略集合來確定硬件資源以及與軟件解決方案相關聯的遞送內容包括:分別基于第一策略集合和第二策略集合來確定針對第一軟件解決方案的硬件資源和遞送內容、以及針對第二軟件解決方案的硬件資源和遞送內容。
根據本發明的實施方式,多個策略中的每一個策略包括屬性集合與遞送內容之間的映射關系,該屬性集合中的每個屬性表示與待遞送的軟件解決方案相關聯的硬件需求或軟件需求。
可以理解,在實際應用中,終端用戶可以采用任何適當的方式來向產品制造商提出與所需的軟件解決方案相關聯的軟件需求和硬件需求。例如,終端用戶可以采用訂單的方式來提出該軟件需求和硬件需求,如圖3所示。
圖3所示的訂單包括訂單編號。應當理解,在該示例中,訂單編號被預先與待遞送的軟件解決方案相關聯。由此,訂單編號隱含地指明了待遞送的軟件解決方案。可替換地,取代訂單編號,可以通過采用待遞送的軟件解決方案的名稱而在訂單中顯式地指明待遞送的軟件解決方案。
圖3所示的訂單還包括多個訂單項目。多個訂單項目中的每一個包括所需的硬件資源的型號名稱(例如quanta或rinjin)和將要向該硬件資源遞送的軟件包的名稱(apacheserver1.0或mysqldatabase2.1)
在下文中將結合圖3并參照以下的表1至表4來描述其中預定義的策略集合是特定于待遞送的軟件解決方案的實施方式。
表1
表2
表3
表4
待遞送的軟件解決方案的名稱(未示出)例如可以為“人力資源管理方案”。如以上參照圖3所描述的,訂單編號可以預先與待遞送的軟件解決方案相關聯。由此,表1至表4中的訂單編號“12345”隱含地指明了待遞送的軟件解決方案。因而,表1至表4示出了特定于訂單編號“12345”(即,特定于“人力資源管理方案”)的策略集合的示例,其中表1至表4中的每一個示出了該策略集合中的一個策略。
根據本發明的實施方式,多個策略中的每一個策略包括屬性集合與遞送內容之間的映射關系,該屬性集合中的每個屬性表示與待遞送的軟件解決方案相關聯的硬件需求或軟件需求。
例如,如表2所示的策略包括由屬性“model”、“orderno.”和“package”構成的屬性集合,其中屬性“model”表示與待遞送的軟件解決方案相關聯的硬件需求,屬性“orderno.”和“package”表示與待遞送的軟件解決方案相關聯的軟件需求。
此外,如表2所示,遞送內容可以包括部署內容,例如apachehigh_1.2。另外,如表2所示,遞送內容還可以包括測試內容,例如apachetest_1.1。再者,遞送內容還可以可選地包括與操作系統(os)相關的內容,例如ubuntu。應當理解,策略中可以不包括與操作系統相關的內容。在此情況下,可以根據硬件資源的型號來向硬件資源加載缺省的操作系統。
在一些實施方式中,預定義的策略集合可以不是特定于待遞送的軟件解決方案,而是全局的策略集合。換言之,針對不同的軟件解決方案采用相同的策略集合。在此情況下,基于預定義的策略集合來確定硬件資源以及與軟件解決方案相關聯的遞送內容包括:基于全局的策略集合來分別確定針對第一軟件解決方案的硬件資源和遞送內容、以及針對第二軟件解決方案的硬件資源和遞送內容。在一些實施方式中,多個策略至少包括第一策略以及與所述第一策略不同的第二策略,并且每個策略的屬性集合中的每個屬性可以被賦予權重。
在此情況下,基于預定義的策略集合來確定硬件資源以及與軟件解決方案相關聯的遞送內容包括:將所接收的硬件需求和軟件需求分別與第一策略和所述第二策略進行比較;基于該比較,分別針對第一策略和第二策略確定與所接收的硬件需求和軟件需求相匹配的屬性的權重的總和;響應于針對第一策略的權重的總和大于針對第二策略的權重的總和,基于第一策略來確定該硬件資源和遞送內容。
舉例而言,第一策略包括如表2所示的策略,并且第二策略包括如表4所示的策略。表2所示的策略的屬性“model”、“orderno.” 和“package”可以被分別賦予權重0.2、0.3和0.5。表4所示的策略的屬性“model”、“orderno.”和“package”可以被分別賦予權重0.3、0.4和0.3。
例如,如果所接收的硬件需求和軟件需求分別為“model=quanta”、“package=apacheserver1.0”,那么在確定采用如表2所示的策略還是采用如表4所示的策略來確定硬件資源和遞送內容時可以執行以下操作:將所接收的硬件需求和軟件需求分別與如表2所示的策略和如表4所示的策略進行比較;基于該比較,針對表2的策略,確定與所接收的需求相匹配的屬性的權重的總和為0.7(0.2+0.5),而針對表4的策略,確定與所接收的需求相匹配的屬性的權重的總和為0.6(0.3+0.3);響應于針對表2所示策略的權重的總和大于針對表4所示策略的權重的總和,基于表2所示的策略來確定硬件資源和遞送內容。
由此,在采用全局的策略集合的實施方式中,通過為每個策略的每個屬性賦予權重,可以避免出現同一需求與多個策略項匹配的情況。
應當理解,以上所描述的特定于待遞送的軟件解決方案的策略集合以及全局的策略集合僅僅是預定義的策略集合的具體示例。根據具體的應用場景,制造商可以預先定義除了以上所描述的策略集合之外的任何適當的策略集合,本發明實施方式的范圍在此方面不受限制。
繼續參照圖2,在步驟s230,硬件資源管理單元120從硬件資源池121中獲取所確定的硬件資源。在步驟s240,軟件管理單元110向所確定的硬件資源遞送所確定的遞送內容。
圖4示出根據本發明的一個實施方式的用于遞送軟件解決方案的裝置400的框圖。在一些實施方式中,裝置400可以在圖1所示的環境100中實施。
如圖4所示,裝置400包括需求處理單元410,被配置為接收與該軟件解決方案相關聯的硬件需求和軟件需求,并且根據該硬件需求和該軟件需求,基于預定義的策略集合來確定硬件資源以及與該軟件 解決方案相關聯的遞送內容;硬件資源管理單元420,被配置為從硬件資源池中獲取所確定的硬件資源;以及遞送單元430,被配置為向該硬件資源遞送該遞送內容。
在一些實施方式中,需求處理單元410被進一步配置為:分別接收與第一軟件解決方案相關聯的硬件需求和軟件需求、以及與第二軟件解決方案相關聯的硬件需求和軟件需求,該第一軟件解決方案不同于該第二軟件解決方案。
在一些實施方式中,該預定義的策略集合包括預定義的第一策略集合和第二策略集合,該第一策略集合不同于該第二策略集合;需求處理單元410被進一步配置為:分別向該第一軟件解決方案和該第二軟件解決方案指派該第一策略集合和該第二策略集合;并且分別基于該第一策略集合和該第二策略集合來確定針對該第一軟件解決方案的硬件資源和遞送內容、以及針對該第二軟件解決方案的硬件資源和遞送內容。
在一些實施方式中,該預定義的策略集合包括全局的策略集合;并且需求處理單元410被進一步配置為:基于該全局的策略集合來分別確定針對該第一軟件解決方案的硬件資源和遞送內容、以及針對該第二軟件解決方案的硬件資源和遞送內容。
在一些實施方式中,該策略集合包括多個策略,該多個策略中的每一個包括屬性集合與遞送內容之間的映射關系,該屬性集合中的每個屬性表示與待遞送的軟件解決方案相關聯的硬件需求或軟件需求。
在一些實施方式中,該多個策略至少包括第一策略以及與該第一策略不同的第二策略。
在一些實施方式中,該屬性集合中的每個屬性被賦予權重;并且需求處理單元410被進一步配置為:將所接收的硬件需求和軟件需求分別與該第一策略和該第二策略進行比較;基于該比較,分別針對該第一策略和該第二策略確定與所接收的硬件需求和軟件需求相匹配的屬性的權重的總和;響應于針對該第一策略的權重的總和大于針對該第二策略的權重的總和,基于該第一策略來確定該硬件資源和該遞 送內容。
本發明的實施方式還提供了一種服務器,包括:一個或多個處理器;存儲有計算機程序指令的存儲器,當由所述一個或多個處理器執行所述計算機程序指令時使得所述服務器執行根據本發明實施方式的方法。
本發明的實施方式還提供了一種計算機程序產品,包括計算機程序指令,當由計算設備執行所述計算機程序指令時使得所述計算設備執行根據本發明實施方式的方法。
圖5示出了根據本發明實施方式的用于遞送軟件解決方案的裝置500的架構圖。裝置500可以作為圖1所示的環境100的一種示例性實現方式。
如圖5所示,裝置500包括訂單處理單元510、部署單元540和測試執行單元550。在一些實施方式中,訂單處理單元510可以在圖1的軟件管理單元110或圖4的需求處理單元410中實施。在一些實施方式中,部署單元540和測試執行單元550可以在圖1的軟件管理單元110或圖4的遞送單元430中實施。
作為一個示例,可以通過向現有的軟件管理工具中添加訂單處理單元510、部署單元540和測試執行單元550來實施這些單元。現有的軟件管理工具的示例包括但是不限于cumulus。如本領域中所已知的,cumulus是一種基于云的制造解決方案,其目標在于將制造過程中的所有通用的計算和存儲需求移動到數據中心中的基于云的平臺上。
裝置500進一步包括硬件資源管理單元530。在一些實施方式中,硬件資源管理單元530可以在圖1中的硬件資源管理單元120或圖4中的硬件資源管理單元420中實施。作為一個示例,可以利用現有的硬件管理工具來實施硬件資源管理單元530。現有的軟件管理工具的示例包括但是不限于onrack。如本領域中所已知的,onrack是一種ci管理和協調軟件,其提供了軟件的基礎設施管理和協調層所需的功能。此外,onrack提供了軟件抽象的集合,這些軟件抽象從基礎設 施管理和協調層上部隱藏了聚合基礎設施的細節。這些軟件抽象可以采取restfulapi和分布/訂閱api的形式。通過提供這種類型的api,基礎設施層可以位于網絡中可以與onrack管理和協調工具進行通信的任何位置。
在下文中將結合圖5并參照以上描述的表1和表2來描述裝置500的各個單元的操作。
在步驟s1,訂單處理單元510接收用戶以訂單形式提供的、與待遞送的軟件解決方案相關聯的軟件需求和硬件需求,并且對所接收的訂單進行解析。
在步驟s2,針對每個訂單項目,訂單處理單元510利用“訂單編號”和“型號名稱”來訪問策略數據庫520,以例如通過表1確定相應的硬件資源配置(profile)。例如,訂單處理單元510利用訂單編號“12345”和型號名稱“quanta”來訪問策略數據庫520,以從中映射出相應的硬件資源配置“high(高級配置)”。這意味著,需要向型號名稱“quanta”并且資源配置為“high(高級配置)”的硬件資源遞送由訂單編號“12345”隱含地指明的軟件解決方案。應當理解,“high(高級配置)”、“medium(中等配置)”和“low(低級配置)”可以由制造商來預先定義。
在步驟s3,訂單處理單元510向硬件資源管理單元530發送資源發現請求,該請求中包括在步驟s2中確定的型號名稱“quanta”和資源配置“high”。
響應于接收到該資源發現請求,硬件資源管理單元530從硬件資源池(未示出)中確定與型號名稱“quanta”和資源配置“high”相匹配的硬件資源集合,從所確定的硬件資源集合選擇可用的硬件資源,并且在步驟s4將所選擇的硬件資源的信息發送至訂單處理單元510。如圖5所示,所選擇的硬件資源的信息例如可以包括型號名稱“quanta”、ip地址、mac地址等。此外,可選地,硬件資源管理單元530可以向所選擇的硬件資源加載適當的操作系統。可替換地,可以由訂單處理單元510來向所選擇的硬件資源加載適當的操作系統。
接下來,訂單處理單元510利用“訂單編號”、“型號名稱”和“軟件包名稱”來訪問策略數據庫520,以例如通過表2確定與軟件解決方案相關聯的部署內容和測試內容。例如,訂單處理單元510利用訂單編號“12345”、型號名稱“quanta”和軟件包名稱“apache_1.0”來訪問策略數據庫520,以從中映射出相應的部署內容“apachehigh_1.2”和測試內容“apachetest_1.1”。這意味著,將在硬件資源管理單元530所選擇的硬件資源上部署“apachehigh_1.2”并且執行測試“apachetest_1.1”。此外,訂單處理單元510在該步驟獲得的部署內容還包括相應的操作系統鏡像的名稱“ubuntu”。可以由硬件資源管理單元530向所選擇的硬件資源加載所確定的操作系統。可替換地,硬件資源管理單元530可以根據硬件資源的型號來向硬件資源加載缺省的操作系統。
在步驟s5,訂單處理單元510向部署單元540提供所確定的部署內容(軟件包),使得部署內容可以被提取出并且被推送到所選擇的硬件資源上,并且使得部署腳本在所選擇的硬件資源上運行。可替換地,所選擇的硬件資源可以下載所提取出的部署內容。此外,部署單元540的操作還可以包括監管程序安裝、虛擬機創建、系統配置和附加的軟件應用安裝等。
在步驟s6,訂單處理單元510向測試執行單元550提供所確定的測試內容(軟件包),以進行測試。具體地,例如,在通過向cumulus中添加測試執行單元550的實現方式中,可以利用cumulussequencer(定序器)來驅動python格式的測試腳本的執行,并且可以在python格式的順序文件中定義工作流。此外,測試結果和錯誤細節可以由測試執行單元550收集并且向終端用戶顯示以用于進一步分析。
可以理解,本發明的實施方式利用預定義的策略集合提供了自動化的軟件解決方案遞送過程。此外,在將根據本發明實施方式的遞送過程與cumulus和onrack相結合時可以提供統一的軟件解決方案遞送平臺。具體而言,cumulus是高度可擴展的,因為其能力僅僅取決于其測試執行系統和部署系統的數目,而每個系統可以支持100個或 者更多個硬件資源。制造商可以非常快速地增加測試執行系統和部署系統的數目,而不會引起任何附加的操作困難。此外,cumulus還支持在相同機器上執行不同的部署策略和測試策略。這使得可以在同一時間毫無困難地遞送多個方案。再者,onrack為資源發現和資源配置的讀取提供了統一的api。這使得可以自動地發現目標資源。
圖6示出了一個可以用來實施本發明實施方式的設備600的示意性框圖。如圖所示,設備600包括中央處理單元(cpu)601,其可以根據存儲在只讀存儲器(rom)602中的計算機程序指令或者從存儲單元608加載到隨機訪問存儲器(ram)603中的計算機程序指令,來執行各種適當的動作和處理。在ram603中,還可存儲設備600操作所需的各種程序和數據。cpu601、rom602以及ram603通過總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。
設備600中的多個部件連接至i/o接口605,包括:輸入單元606,例如鍵盤、鼠標等;輸出單元607,例如各種類型的顯示器、揚聲器等;存儲單元608,例如磁盤、光盤等;以及通信單元609,例如網卡、調制解調器、無線通信收發機等。通信單元609允許設備600通過諸如因特網的計算機網絡和/或各種電信網絡與其他設備交換信息/數據。
上文所描述的各個過程和處理,例如方法100,可由處理單元601執行。例如,在一些實施例中,方法100可被實現為計算機軟件程序,其被有形地包含于機器可讀介質,例如存儲單元608。在一些實施例中,計算機程序的部分或者全部可以經由rom602和/或通信單元609而被載入和/或安裝到設備600上。當計算機程序被加載到ram603并由cpu601執行時,可以執行上文描述的方法100的一個或多個步驟。
一般而言,本發明的各種示例實施方式可以在硬件或專用電路、軟件、邏輯,或其任何組合中實施。某些方面可以在硬件中實施,而其他方面可以在可以由控制器、微處理器或其他計算設備執行的固件或軟件中實施。當本發明的實施方式的各方面被圖示或描述為框圖、 流程圖或使用某些其他圖形表示時,將理解此處描述的方框、裝置、系統、技術或方法可以作為非限制性的示例在硬件、軟件、固件、專用電路或邏輯、通用硬件或控制器或其他計算設備,或其某些組合中實施。
而且,流程圖中的各框可以被看作是方法步驟,和/或計算機程序代碼的操作生成的操作,和/或理解為執行相關功能的多個耦合的邏輯電路元件。例如,本發明的實施方式包括計算機程序產品,該計算機程序產品包括有形地實現在計算機可讀介質上的計算機程序,該計算機程序包含被配置為實現上文描述方法的程序代碼。
在公開的上下文內,計算機可讀介質可以是包含或存儲用于或有關于指令執行系統、裝置或設備的程序的任何有形介質。計算機可讀介質可以是機器可讀信號介質或機器可讀存儲介質。計算機可讀介質可以包括但不限于電子的、磁的、光學的、電磁的、紅外的或半導體系統、裝置或設備,或其任意合適的組合。機器可讀存儲介質的更詳細示例包括帶有一根或多根導線的電氣連接、便攜式計算機存儲盤、存儲盤、隨機存儲存取器(ram)、只讀存儲器(rom)、可擦除可編程只讀存儲器(eprom或閃存)、光存儲設備、磁存儲設備,或其任意合適的組合。
用于實現本發明的方法的計算機程序代碼可以用一種或多種編程語言編寫。這些計算機程序代碼可以提供給通用計算機、專用計算機或其他可編程的數據處理裝置的處理器,使得程序代碼在被計算機或其他可編程的數據處理裝置執行的時候,引起在流程圖和/或框圖中規定的功能/操作被實施。程序代碼可以完全在計算機上、部分在計算機上、作為獨立的軟件包、部分在計算機上且部分在遠程計算機上或完全在遠程計算機或服務器上執行。
另外,盡管操作以特定順序被描繪,但這并不應該理解為要求此類操作以示出的特定順序或以相繼順序完成,或者執行所有圖示的操作以獲取期望結果。在某些情況下,多任務或并行處理會是有益的。同樣地,盡管上述討論包含了某些特定的實施細節,但這并不應解釋 為限制任何發明或權利要求的范圍,而應解釋為對可以針對特定發明的特定實施方式的描述。本說明書中在分開的實施方式的上下文中描述的某些特征也可以整合實施在單個實施方式中。相反地,在單個實施方式的上下文中描述的各種特征也可以分離地在多個實施方式或在任意合適的子組合中實施。
針對前述本發明的示例實施方式的各種修改、改變將在連同附圖查看前述描述時對相關技術領域的技術人員變得明顯。任何及所有修改將仍落入非限制的和本發明的示例實施方式范圍。此外,前述說明書和附圖存在啟發的益處,涉及本發明的這些實施方式的技術領域的技術人員將會想到此處闡明的本發明的其他實施方式。
將會理解,本發明的實施方式不限于公開的特定實施方式,并且修改和其他實施方式都應包含于所附的權利要求范圍內。盡管此處使用了特定的術語,但是它們僅在通用和描述的意義上使用,而并不用于限制目的。