亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在云平臺(tái)上的快速部署的制作方法

文檔序號(hào):12512632閱讀:435來(lái)源:國(guó)知局
在云平臺(tái)上的快速部署的制作方法與工藝

本說(shuō)明書(shū)涉及云計(jì)算。



背景技術(shù):

在云計(jì)算中,數(shù)據(jù)可以被分發(fā)到由一個(gè)或多個(gè)通信網(wǎng)絡(luò)連接的多個(gè)計(jì)算機(jī)的系統(tǒng)。每個(gè)計(jì)算機(jī)可以托管一個(gè)或多個(gè)服務(wù)器,每個(gè)服務(wù)器處理數(shù)據(jù)的一部分。服務(wù)器可以并行處理數(shù)據(jù)。這樣的分布式計(jì)算系統(tǒng)可以處理在虛擬化環(huán)境中部署的面向web和數(shù)據(jù)密集型應(yīng)用。在某些情況下,開(kāi)發(fā)人員跨多個(gè)分布式計(jì)算系統(tǒng)部署其軟件包。然而,不同的分布式計(jì)算系統(tǒng)可能具有不同的底層基礎(chǔ)設(shè)施,這可能導(dǎo)致開(kāi)發(fā)人員在不同的分布式計(jì)算系統(tǒng)上部署其軟件包的復(fù)雜性。



技術(shù)實(shí)現(xiàn)要素:

本說(shuō)明書(shū)描述了一種能夠跨分布式計(jì)算系統(tǒng)快速部署軟件包的技術(shù)。該技術(shù)使用戶能夠在具有不同底層基礎(chǔ)設(shè)施的不同分布式計(jì)算系統(tǒng)上快速部署軟件包。

一般來(lái)說(shuō),本說(shuō)明書(shū)中描述的主題的一個(gè)創(chuàng)新方面可以體現(xiàn)在包括下述動(dòng)作的方法中:由包括一個(gè)或多個(gè)計(jì)算機(jī)的數(shù)據(jù)處理系統(tǒng)獲得軟件包的標(biāo)準(zhǔn)規(guī)范,所述標(biāo)準(zhǔn)規(guī)范指定用于安裝所述軟件包的多個(gè)參數(shù),所述軟件包包括指定用于安裝所述軟件包的配置信息的一個(gè)或多個(gè)源文件;由所述數(shù)據(jù)處理系統(tǒng)將所述標(biāo)準(zhǔn)規(guī)范轉(zhuǎn)換成軟件部署工具的定制規(guī)范,所述軟件部署工具用于在一個(gè)或多個(gè)分布式計(jì)算系統(tǒng)上部署所述軟件包;對(duì)于所述源文件中的每一個(gè),由所述數(shù)據(jù)處理系統(tǒng)解析所述源文件和包括一個(gè)或多個(gè)配置參數(shù)和所述一個(gè)或多個(gè)配置參數(shù)的一個(gè)或多個(gè)定制值的相應(yīng)配置文件,以確定所述一個(gè)或多個(gè)配置參數(shù)和所述一個(gè)或多個(gè)定制值,其中所述相應(yīng)配置文件指定所述配置信息;由所述數(shù)據(jù)處理系統(tǒng)將所確定的配置參數(shù)寫入定制模板;以及,由所述數(shù)據(jù)處理系統(tǒng)用所確定的所述配置參數(shù)的定制值和與所述定制模板相關(guān)聯(lián)的信息來(lái)更新所述定制規(guī)范。該方面的其他實(shí)施例包括對(duì)應(yīng)的計(jì)算機(jī)系統(tǒng)、裝置和記錄在一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)設(shè)備上的計(jì)算機(jī)程序,每個(gè)被配置為執(zhí)行所述方法的動(dòng)作。對(duì)于要被配置為執(zhí)行特定操作或動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng)意味著系統(tǒng)已經(jīng)在其上安裝了在操作中導(dǎo)致系統(tǒng)執(zhí)行操作或動(dòng)作的軟件、固件、硬件或它們的組合。對(duì)于要被配置為執(zhí)行特定操作或動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)程序意味著一個(gè)或多個(gè)程序包括當(dāng)其由數(shù)據(jù)處理裝置執(zhí)行時(shí)使得裝置執(zhí)行操作或動(dòng)作的指令。

前述和其他實(shí)施例可以各自可選地、單獨(dú)地或以組合的形式包括以下特征中的一個(gè)或多個(gè)。具體地,一個(gè)實(shí)施例以組合的形式包括所有以下特征。該方法可以包括:由所述數(shù)據(jù)處理系統(tǒng)將所述軟件包安裝在運(yùn)行特定操作系統(tǒng)的特定計(jì)算系統(tǒng)上,其中所述特定操作系統(tǒng)與由其中所述軟件包要被部署的所述分布式計(jì)算系統(tǒng)之一提供的操作系統(tǒng)相同或基本相似;由所述數(shù)據(jù)處理系統(tǒng)將所述源文件復(fù)制到所述特定計(jì)算系統(tǒng);基于所述源文件中指定的所述配置信息,由所述數(shù)據(jù)處理系統(tǒng)生成所述配置參數(shù);以及,由所述數(shù)據(jù)處理系統(tǒng)將所述配置參數(shù)寫入所述復(fù)制的源文件中,以獲得相應(yīng)的配置文件。在一些實(shí)施方式中,該方法包括:對(duì)于所述相應(yīng)的配置文件的具體配置文件中的所述配置參數(shù)的具體配置參數(shù),接收來(lái)自用戶的具體定制值;以及,由所述數(shù)據(jù)處理系統(tǒng)將所述具體配置參數(shù)的所述具體定制值寫入所述具體配置文件中。所述標(biāo)準(zhǔn)規(guī)范具有相關(guān)聯(lián)的標(biāo)準(zhǔn)格式,并且所述定制規(guī)范具有不同于所述標(biāo)準(zhǔn)格式的相關(guān)聯(lián)的定制格式。將所述標(biāo)準(zhǔn)規(guī)范轉(zhuǎn)換為定制規(guī)范包括:解析所述標(biāo)準(zhǔn)規(guī)范以確定所述多個(gè)參數(shù)和相關(guān)聯(lián)的信息;以及,根據(jù)所述定制格式將所確定的參數(shù)和相關(guān)聯(lián)的信息寫入所述定制規(guī)范。在一些情況下,該方法包括:接收來(lái)自用戶的、將所述標(biāo)準(zhǔn)規(guī)范轉(zhuǎn)換為所述軟件部署工具的所述定制規(guī)范的請(qǐng)求,將所述標(biāo)準(zhǔn)規(guī)范轉(zhuǎn)換為所述定制規(guī)范可以包括將所述標(biāo)準(zhǔn)規(guī)范轉(zhuǎn)換為所述定制規(guī)范而無(wú)需來(lái)自所述用戶的任何附加輸入。在一些實(shí)施方式中,該方法包括:由數(shù)據(jù)處理系統(tǒng)基于所述定制模板和所述更新的定制規(guī)范,將所述軟件包部署在所述分布式計(jì)算系統(tǒng)之一上。在所述分布式計(jì)算系統(tǒng)之一上部署所述軟件包可以包括:將所述源文件復(fù)制到所述分布式計(jì)算系統(tǒng)之一;識(shí)別所述定制模板中的所述配置參數(shù);確定所述更新的定制規(guī)范中的所述配置參數(shù)的所述定制值;以及,將所識(shí)別的配置參數(shù)和所確定的定制值寫入所復(fù)制的源文件中,以在所述分布式計(jì)算系統(tǒng)之一上獲得新的配置文件。在一些示例中,在所述分布式計(jì)算系統(tǒng)之一上部署所述軟件包包括基于所述更新的定制規(guī)范來(lái)配置所述分布式計(jì)算系統(tǒng)之一的計(jì)算資源。在一些實(shí)施方式中,所述軟件部署工具被配置為在多個(gè)不同的分布式計(jì)算系統(tǒng)上部署軟件包,所述不同的分布式計(jì)算系統(tǒng)中的每一個(gè)包括多個(gè)計(jì)算機(jī)并提供相應(yīng)的底層基礎(chǔ)設(shè)施。在特定示例中,所述標(biāo)準(zhǔn)規(guī)范是紅帽子軟件包管理器(RPM)規(guī)范文件,所述定制規(guī)范包括BOSH規(guī)范文件,并且所述軟件部署工具是BOSH。

可以實(shí)現(xiàn)本說(shuō)明書(shū)中描述的主題的特定實(shí)施例以實(shí)現(xiàn)一個(gè)或多個(gè)優(yōu)點(diǎn)。對(duì)于軟件部署工具用戶可以快速準(zhǔn)備他們的軟件包,該軟件部署工具可以跨多個(gè)云平臺(tái)部署軟件包。用戶不需要具有多個(gè)云平臺(tái)的底層基礎(chǔ)設(shè)施的現(xiàn)有知識(shí)。用戶不需要手動(dòng)寫入或調(diào)試軟件部署工具的規(guī)范文件、清單文件和/或模板文件。與手動(dòng)準(zhǔn)備相比,準(zhǔn)備可以更快、更簡(jiǎn)單、更容易和更準(zhǔn)確。準(zhǔn)備可以是自動(dòng)的或用比手動(dòng)準(zhǔn)備少得多的用戶輸入。

在附圖和下面的描述中闡述了本說(shuō)明書(shū)中描述的主題的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。根據(jù)描述、附圖和權(quán)利要求,本主題的其他特征、方面和優(yōu)點(diǎn)將變得顯而易見(jiàn)。

附圖說(shuō)明

圖1是用于在分布式計(jì)算系統(tǒng)上準(zhǔn)備和部署軟件包的示例系統(tǒng)的框圖。

圖2是用于準(zhǔn)備待部署的軟件包的示例準(zhǔn)備系統(tǒng)的框圖。

圖3A和3B是由圖2的準(zhǔn)備系統(tǒng)執(zhí)行的示例處理的流程圖。2。

圖4是由圖1的系統(tǒng)執(zhí)行的示例過(guò)程的流程圖。

各個(gè)附圖中相同的附圖標(biāo)號(hào)和標(biāo)記指示相同的元件。

具體實(shí)施方式

圖1是用于在分布式計(jì)算系統(tǒng)上準(zhǔn)備和部署軟件包的示例系統(tǒng)100的框圖。示例系統(tǒng)100包括用戶計(jì)算機(jī)104、分布式計(jì)算系統(tǒng)106、108、準(zhǔn)備系統(tǒng)110、部署系統(tǒng)120和數(shù)據(jù)通信網(wǎng)絡(luò)130。用戶102可以使用用戶計(jì)算機(jī)104來(lái)請(qǐng)求部署軟件包。準(zhǔn)備系統(tǒng)110可以準(zhǔn)備待部署的軟件包。部署系統(tǒng)120可以在一個(gè)或多個(gè)分布式計(jì)算系統(tǒng)106、108上部署準(zhǔn)備好的軟件包。

用戶計(jì)算機(jī)104、分布式計(jì)算系統(tǒng)106、108、準(zhǔn)備系統(tǒng)110和部署系統(tǒng)120通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)130彼此進(jìn)行通信。數(shù)據(jù)通信網(wǎng)絡(luò)130可以包括例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因特網(wǎng)、蜂窩網(wǎng)絡(luò)或它們的組合,從而連接任何數(shù)量的通信設(shè)備、計(jì)算設(shè)備和/或服務(wù)器系統(tǒng)。

用戶計(jì)算機(jī)104可以是網(wǎng)絡(luò)130中的個(gè)人計(jì)算機(jī)或服務(wù)器系統(tǒng)中的服務(wù)器計(jì)算機(jī)。用戶計(jì)算機(jī)104可以是任何適當(dāng)類型的設(shè)備,例如臺(tái)式計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、筆記本、平板計(jì)算設(shè)備、個(gè)人數(shù)字助理(PDA)、網(wǎng)絡(luò)設(shè)備、智能移動(dòng)電話、增強(qiáng)型通用分組無(wú)線電服務(wù)(EGPRS)移動(dòng)電話、媒體播放器、導(dǎo)航設(shè)備、電子郵件設(shè)備、游戲控制臺(tái)或這些計(jì)算設(shè)備或其他計(jì)算設(shè)備中的任何兩個(gè)或更多個(gè)的任何適當(dāng)組合。

用戶102可以使用用戶計(jì)算機(jī)104來(lái)請(qǐng)求在一個(gè)或多個(gè)分布式計(jì)算系統(tǒng)上部署軟件應(yīng)用。在一些示例中,用戶102將軟件應(yīng)用從一個(gè)分布式計(jì)算系統(tǒng)遷移到另一個(gè)分布式計(jì)算系統(tǒng)。

為了執(zhí)行軟件應(yīng)用的安裝和維護(hù),可以為軟件應(yīng)用準(zhǔn)備軟件包。在一些情況下,軟件包包括準(zhǔn)備安裝的預(yù)編譯軟件。在一些情況下,軟件包包括指定用于安裝軟件包的配置信息的源代碼文件、可執(zhí)行二進(jìn)制文件和/或特定源文件。

用戶102可以使用例如軟件包構(gòu)建器的軟件工具以在用戶計(jì)算機(jī)104或服務(wù)器中創(chuàng)建或構(gòu)建軟件包。一種示例軟件包構(gòu)建器是可以構(gòu)建RPM軟件包的紅帽子軟件包管理器(RPM)包構(gòu)建器??梢詫⒃撥浖惭b在運(yùn)行目標(biāo)操作系統(tǒng)的目標(biāo)計(jì)算系統(tǒng)上。在某些情況下,也可以將軟件包移植到某些其他操作系統(tǒng)。例如,為在Red Hat Linux中使用而創(chuàng)建的RPM包也可以在Linux或類似Unix的操作系統(tǒng)或某些其他操作系統(tǒng)中被使用。

當(dāng)將軟件包安裝在計(jì)算系統(tǒng)上時(shí),特定源文件可以被復(fù)制到計(jì)算系統(tǒng)。在安裝期間,可以有配置步驟。計(jì)算系統(tǒng)可以基于特定源文件中的配置信息生成配置參數(shù),并將配置參數(shù)寫入復(fù)制的特定源文件以獲得相應(yīng)的配置文件。配置文件可以是純文本文件或可擴(kuò)展標(biāo)記語(yǔ)言(XML)文件。

在安裝軟件包期間,可以獲取配置參數(shù)的定制值,并將其寫入配置文件。在一些情況下,可以執(zhí)行配置程序以獲得一個(gè)或多個(gè)定制值。在一些情況下,用戶可以輸入一個(gè)或多個(gè)定制值。例如,軟件應(yīng)用可能要求在用戶可以使用該軟件應(yīng)用之前首先設(shè)置用戶賬戶,例如管理賬戶。用戶可以在安裝期間輸入用戶名和/或密碼以設(shè)置用戶帳戶。

用戶102可以使用軟件包管理器來(lái)創(chuàng)建用于該軟件包的標(biāo)準(zhǔn)規(guī)范。例如,可以使用RPM創(chuàng)建RPM包的RPM規(guī)范。標(biāo)準(zhǔn)規(guī)范指定用于安裝軟件包的多個(gè)參數(shù)。例如,標(biāo)準(zhǔn)規(guī)范可以包含包名稱、版本、修訂號(hào)、構(gòu)建、安裝和清除包的步驟、更改日志、源代碼位置、編譯命令和/或安裝位置。標(biāo)準(zhǔn)規(guī)范可以是文本文件或XML文件。

可以將軟件包部署在一個(gè)或多個(gè)分布式計(jì)算系統(tǒng)106、108上。分布式計(jì)算系統(tǒng)106、108每個(gè)可以包括通過(guò)一個(gè)或多個(gè)通信網(wǎng)絡(luò)連接的多個(gè)計(jì)算機(jī)。每個(gè)計(jì)算機(jī)可以被實(shí)現(xiàn)為一個(gè)或多個(gè)物理計(jì)算機(jī)或托管在物理計(jì)算機(jī)上的虛擬機(jī)。分布式計(jì)算系統(tǒng)106、108可以處理部署在虛擬化環(huán)境中的數(shù)據(jù)密集型應(yīng)用。一個(gè)示例分布式計(jì)算系統(tǒng)是基礎(chǔ)設(shè)施即服務(wù)(IaaS)云服務(wù)器。

每個(gè)分布式計(jì)算系統(tǒng)106、108具有底層基礎(chǔ)設(shè)施,該底層基礎(chǔ)設(shè)施配置,例如管理或分配例如物理計(jì)算機(jī)、存儲(chǔ)裝置、存儲(chǔ)器、網(wǎng)絡(luò)的計(jì)算資源以提供用于部署軟件包的虛擬化環(huán)境。不同的分布式計(jì)算系統(tǒng)可以具有不同的底層基礎(chǔ)設(shè)施。在一些情況下,為了在不同的分布式計(jì)算系統(tǒng)上部署軟件包,用戶可能必須處理不同的底層基礎(chǔ)設(shè)施。

部署系統(tǒng)120包括軟件部署工具122。軟件部署工具122可以跨不同的分布式計(jì)算系統(tǒng)部署軟件包。軟件部署工具122的一個(gè)示例是BOSH,其可以用于在例如在VMware vSphere,vCloud Director,Amazon Web Service(AWS)或OpenStack上的IaaS提供商上部署Cloud Foundry和其他分布式服務(wù)。

軟件部署工具122可以例如通過(guò)諸如用于BOSH的云提供商接口(CPI)的接口來(lái)訪問(wèn)分布式計(jì)算系統(tǒng)中的計(jì)算資源。軟件部署工具122可以配置分布式計(jì)算系統(tǒng)的計(jì)算資源,以為軟件包提供用于軟件安裝和配置的安全和排他的虛擬計(jì)算環(huán)境。該環(huán)境可以包括一個(gè)或多個(gè)虛擬機(jī)(VM)和例如從存儲(chǔ)層到用戶界面層的軟件架構(gòu)的一個(gè)或多個(gè)層。

可以在部署之前準(zhǔn)備軟件包的一組定制文件。軟件部署工具122可以被用于基于該組定制文件在分布式計(jì)算系統(tǒng)上部署軟件包。在一些實(shí)施方式中,該組定制文件包括定制規(guī)范、定制模板和/或定制清單。定制規(guī)范可以包括關(guān)于軟件包的詳細(xì)信息。定制清單可以定義用于部署軟件包的設(shè)置。在某些情況下,定制規(guī)范和定制清單被包括在一個(gè)規(guī)范文件中。定制模板可以包括用于安裝軟件包的多個(gè)通用配置參數(shù)。

如上所述,在一些實(shí)施方式中,軟件部署工具是BOSH。BOSH可以基于BOSH規(guī)范、BOSH清單和BOSH模板來(lái)部署軟件包。BOSH規(guī)范可以包括用于一組部署和執(zhí)行的規(guī)則和資源的模板文件、包依賴性和屬性。BOSH清單可以定義用于諸如Cloud Foundry實(shí)例的軟件實(shí)例的部署設(shè)置。部署設(shè)置可以包括將被創(chuàng)建的VM、將被附加到每個(gè)VM的持久性磁盤、將被綁定到每個(gè)VM的網(wǎng)絡(luò)和IP地址、將被應(yīng)用到每個(gè)VM的BOSH版本的模板以及將被應(yīng)用于每個(gè)模板的配置文件和腳本的定制屬性。BOSH模板可以包括用于軟件包的多個(gè)通用配置參數(shù)和腳本。

在一些實(shí)施方式中,用戶使用例如準(zhǔn)備系統(tǒng)110的準(zhǔn)備系統(tǒng)來(lái)準(zhǔn)備用于軟件包的定制文件集合,例如定制規(guī)范、定制模板和/或定制清單。在一些情況下,用戶可以手動(dòng)編寫定制規(guī)范。在一些情況下,如下面進(jìn)一步詳細(xì)描述的,準(zhǔn)備系統(tǒng)基于軟件包的標(biāo)準(zhǔn)規(guī)范來(lái)準(zhǔn)備定制規(guī)范。在這種情況下,需要標(biāo)準(zhǔn)規(guī)范。準(zhǔn)備系統(tǒng)110可以根據(jù)標(biāo)準(zhǔn)規(guī)范自動(dòng)地準(zhǔn)備定制規(guī)范。例如,準(zhǔn)備系統(tǒng)110可以接收來(lái)自用戶的準(zhǔn)備待部署的軟件包的請(qǐng)求,并且自動(dòng)完成準(zhǔn)備而無(wú)需來(lái)自用戶的任何附加輸入。

在準(zhǔn)備軟件包的一組定制文件之后,準(zhǔn)備系統(tǒng)110可以將準(zhǔn)備好的定制文件發(fā)送到部署系統(tǒng)120以部署軟件包。在一些實(shí)施方式中,準(zhǔn)備系統(tǒng)110被設(shè)置在例如用戶計(jì)算機(jī)104的個(gè)人計(jì)算機(jī)上。在一些實(shí)施方式中,準(zhǔn)備系統(tǒng)110被設(shè)置在通過(guò)網(wǎng)絡(luò)130連接到用戶計(jì)算機(jī)104的服務(wù)器系統(tǒng)上。準(zhǔn)備系統(tǒng)110和部署系統(tǒng)120被設(shè)置在同一服務(wù)器系統(tǒng)上。

在一些實(shí)施方式中,準(zhǔn)備系統(tǒng)110包括轉(zhuǎn)換器112。轉(zhuǎn)換器112將軟件包的標(biāo)準(zhǔn)規(guī)范轉(zhuǎn)換為用于基于定制規(guī)范部署軟件包的軟件部署工具的定制規(guī)范。在一些實(shí)施方式中,準(zhǔn)備系統(tǒng)110包括差分器114。如下面進(jìn)一步詳細(xì)描述的,差分器114可以確定指定軟件包的配置信息的特定源文件與指定配置信息的相應(yīng)配置文件之間的差異。差分器114可以將差異寫入用于軟件部署工具122的定制模板和定制規(guī)范。

圖2是準(zhǔn)備要由軟件部署工具部署的軟件包的示例準(zhǔn)備系統(tǒng)200的框圖。軟件部署工具可以是圖1的部署系統(tǒng)120的軟件部署工具122。準(zhǔn)備系統(tǒng)200可以包括轉(zhuǎn)換器202和差分器204。準(zhǔn)備系統(tǒng)200、轉(zhuǎn)換器202和差分器204可以分別是圖1的準(zhǔn)備系統(tǒng)110、轉(zhuǎn)換器112和差分器114。

轉(zhuǎn)換器202將用于軟件包的標(biāo)準(zhǔn)規(guī)范206轉(zhuǎn)換為用于軟件部署工具的定制規(guī)范208。轉(zhuǎn)換器202可以接收來(lái)自用戶的轉(zhuǎn)換軟件包的標(biāo)準(zhǔn)規(guī)范206的請(qǐng)求。標(biāo)準(zhǔn)規(guī)范206可以被存儲(chǔ)在用戶的用戶計(jì)算機(jī)中或上傳到包括準(zhǔn)備系統(tǒng)200的服務(wù)器。例如轉(zhuǎn)換器202的準(zhǔn)備系統(tǒng)200可以基于請(qǐng)求定位標(biāo)準(zhǔn)規(guī)范206,并將標(biāo)準(zhǔn)規(guī)范轉(zhuǎn)換成定制規(guī)范208,而無(wú)需任何來(lái)自用戶的附加輸入。

準(zhǔn)備系統(tǒng)200可以例如通過(guò)在軟件包中進(jìn)行搜索來(lái)確定軟件包的標(biāo)準(zhǔn)規(guī)范是否可用。如果標(biāo)準(zhǔn)規(guī)范不可用,則準(zhǔn)備系統(tǒng)200可以在使用準(zhǔn)備系統(tǒng)200之前提示用戶獲得標(biāo)準(zhǔn)規(guī)范。

標(biāo)準(zhǔn)規(guī)范206可以包括用于安裝軟件包的多個(gè)標(biāo)準(zhǔn)參數(shù)。標(biāo)準(zhǔn)規(guī)范206還可以包括用于標(biāo)準(zhǔn)參數(shù)的相關(guān)聯(lián)的信息。定制規(guī)范208可以包括與標(biāo)準(zhǔn)規(guī)范的多個(gè)標(biāo)準(zhǔn)參數(shù)相對(duì)應(yīng)的多個(gè)定制參數(shù)。標(biāo)準(zhǔn)規(guī)范可以具有用于多個(gè)標(biāo)準(zhǔn)參數(shù)的標(biāo)準(zhǔn)格式。定制規(guī)范可以具有用于多個(gè)定制參數(shù)的定制格式。定制格式可以不同于標(biāo)準(zhǔn)格式。

轉(zhuǎn)換器202可以例如按順序執(zhí)行操作,包括:訪問(wèn)標(biāo)準(zhǔn)規(guī)范206,解析標(biāo)準(zhǔn)規(guī)范206以確定標(biāo)準(zhǔn)規(guī)范206中的多個(gè)標(biāo)準(zhǔn)參數(shù)和相關(guān)聯(lián)的信息,以及將所確定的標(biāo)準(zhǔn)參數(shù)和相關(guān)聯(lián)的信息根據(jù)定制格式寫入定制規(guī)范208??梢杂赊D(zhuǎn)換器202自動(dòng)執(zhí)行該操作。

在特定示例中,標(biāo)準(zhǔn)規(guī)范206包括RPM規(guī)范“redis.spec”文件。redis.spec文件可被用于在Linux操作系統(tǒng)上安裝軟件“redis”。redis.spec文件可以如下:

轉(zhuǎn)換器202可以將RPM規(guī)范“redis.spec”文件轉(zhuǎn)換為用于例如BOSH的軟件部署工具的定制規(guī)范,例如BOSH規(guī)范。轉(zhuǎn)換器202可以訪問(wèn)redis.spec文件并解析redis.spec文件以確定多個(gè)標(biāo)準(zhǔn)參數(shù),例如“Name(名稱)”、“Version(版本)”、“Source0(源0)”和相關(guān)聯(lián)的信息,例如用于“Name”的“redis”、用于“Version”的“2.6.14”、用于“Source0”的“redis-%{version}.tar.gz”。然后,轉(zhuǎn)換器202可以根據(jù)定制格式將所確定的參數(shù)和相關(guān)聯(lián)的信息寫入定制規(guī)范。定制規(guī)范可以如下:

定制規(guī)范可以具有與標(biāo)準(zhǔn)規(guī)范中的標(biāo)準(zhǔn)參數(shù)不同的定制參數(shù)。例如,BOSH規(guī)范包括與redis.spec文件中的“Source0”不同的參數(shù)“files(文件)”。定制參數(shù)“files”的相關(guān)聯(lián)信息是“-redis/redis-2.6.14.tar.gz”,它基于redis.spec文件中“Source0”和“Version”的相關(guān)聯(lián)信息。

轉(zhuǎn)換器202還可以根據(jù)標(biāo)準(zhǔn)規(guī)范準(zhǔn)備定制清單,例如BOSH清單。例如,轉(zhuǎn)換器202可以解析標(biāo)準(zhǔn)規(guī)范以確定宏或腳本和相關(guān)聯(lián)的信息,然后根據(jù)定制格式將所確定的宏或腳本和相關(guān)聯(lián)的信息寫入定制清單。定制清單可以如下:

轉(zhuǎn)換器202確定RPM腳本“%setup”和“%install”以及redis.spec文件中的相關(guān)聯(lián)信息,并基于定制格式將它們寫入定制清單的對(duì)應(yīng)腳本中。例如,“%setup”對(duì)應(yīng)于定制清單中的“tar xvf redis/redis-2.6.14.tar.gz cd redis-2.6.14”,并且“%install make PREFIX=%{buildroot}%install”對(duì)應(yīng)于在定制清單中的“make PREFIX=${BOSH INSTALL TARGET}”。

如上所述,當(dāng)將軟件包安裝在計(jì)算系統(tǒng)上時(shí),指定用于安裝軟件包的配置信息的多個(gè)源文件210可以被轉(zhuǎn)換為多個(gè)相應(yīng)的配置文件212。配置文件可以指定配置信息和包括多個(gè)配置參數(shù)和相關(guān)聯(lián)的定制值。

在一些實(shí)施方式中,軟件包被設(shè)計(jì)為要被安裝在運(yùn)行特定操作系統(tǒng)的計(jì)算系統(tǒng)上。該軟件包將被部署在提供特定操作系統(tǒng)的分布式計(jì)算系統(tǒng)上。在部署之前,包例如由用戶將軟件安裝在運(yùn)行特定操作系統(tǒng)的計(jì)算系統(tǒng)上,例如在用戶計(jì)算機(jī)或服務(wù)器中。在安裝之后,用于軟件包的多個(gè)源文件被轉(zhuǎn)換為相應(yīng)的配置文件。相應(yīng)的配置文件可以被存儲(chǔ)在用戶計(jì)算機(jī)或服務(wù)器中。在一些情況下,多個(gè)源文件可以與軟件包一起被分發(fā)并存儲(chǔ)在用戶計(jì)算機(jī)或服務(wù)器中。在一些情況下,多個(gè)源文件可以被存儲(chǔ)在位于與用戶計(jì)算機(jī)或服務(wù)器不同的計(jì)算機(jī)或服務(wù)器中的儲(chǔ)存庫(kù)中。

為了準(zhǔn)備用于在分布式計(jì)算系統(tǒng)上部署的軟件包,例如差分器204的準(zhǔn)備系統(tǒng)200可以首先識(shí)別多個(gè)源文件210和多個(gè)相應(yīng)配置文件212的位置。準(zhǔn)備系統(tǒng)200可以例如通過(guò)搜索代表用戶計(jì)算機(jī)或服務(wù)器中的配置文件的特定文件或文件夾來(lái)確定軟件包的多個(gè)相應(yīng)配置文件是否可用。如果多個(gè)相應(yīng)配置文件被確定為不可用,則準(zhǔn)備系統(tǒng)200可以提示用戶在運(yùn)行特定操作系統(tǒng)的計(jì)算系統(tǒng)上首先安裝軟件包,以在使用準(zhǔn)備系統(tǒng)200之前獲得與源文件相對(duì)應(yīng)的配置文件。在一些情況下,準(zhǔn)備系統(tǒng)200可以在沒(méi)有用戶輸入的情況下識(shí)別源文件和相應(yīng)配置文件的位置。在一些其他情況下,準(zhǔn)備系統(tǒng)200可以接收用于識(shí)別位置的用戶輸入。

在識(shí)別多個(gè)源文件210和多個(gè)相應(yīng)配置文件212的位置之后,差分器204確定每個(gè)源文件及其相應(yīng)配置文件之間的差異。例如,差分器204可以解析源文件和相應(yīng)的配置文件,以確定配置參數(shù)和配置參數(shù)的定制值。

差分器204可以將所確定的配置參數(shù)和定制值寫入定制模板中。差分器204可以基于所確定的多個(gè)源文件和多個(gè)相應(yīng)配置文件之間的差異來(lái)自動(dòng)生成定制模板。例如,差分器204可以生成空白文本文件以作為定制模板,例如逐個(gè)地解析源文件及其相應(yīng)的配置文件,以確定一個(gè)或多個(gè)配置參數(shù)和配置參數(shù)的一個(gè)或多個(gè)定制值,并使用確定的配置參數(shù)更新定制模板。差分器204可以進(jìn)一步將所確定的定制值提供給由轉(zhuǎn)換器202所準(zhǔn)備的定制規(guī)范208??梢杂衫绮罘制?04的準(zhǔn)備系統(tǒng)200使用所確定的定制值來(lái)更新定制規(guī)范208。

在一些實(shí)施方式中,定制規(guī)范208包括規(guī)范文件和清單文件。可以通過(guò)使用轉(zhuǎn)換器202和標(biāo)準(zhǔn)規(guī)范206來(lái)獲得規(guī)范文件和清單文件。差分器204可以將所確定的定制值提供給清單文件。

在特定示例中,軟件包包括指定關(guān)于用戶的配置信息的user.conf.xml文件。源文件可以包含標(biāo)頭,但不包含用戶,如下所示:

當(dāng)軟件包被安裝在計(jì)算系統(tǒng)上時(shí),源文件被復(fù)制到例如/opt/demoapp/etc/user.conf.xml的安裝目錄。計(jì)算系統(tǒng)可以執(zhí)行配置程序以基于例如用戶的配置信息生成例如名稱和密碼的配置參數(shù)。計(jì)算系統(tǒng)可以例如以問(wèn)題或表單的形式呈現(xiàn)配置參數(shù),以用于請(qǐng)求配置參數(shù)的定制值。安裝軟件包的用戶可以向計(jì)算系統(tǒng)提供例如tom的名稱和例如tom123的密碼。計(jì)算系統(tǒng)將例如名稱和密碼的配置參數(shù)和所接收到的例如tom和tom123的定制值寫入復(fù)制的源文件中,以在計(jì)算系統(tǒng)上獲得配置文件。配置文件可以如下:

差分器比較源文件和配置文件,例如,兩個(gè)版本的user.conf.xml,并確定需要用戶名和密碼來(lái)配置產(chǎn)品,配置參數(shù)是名稱和密碼,以及定制值是用于名稱tom和用于密碼的tom123。

差分器可以準(zhǔn)備例如user.conf.erb文件的定制模板,以包括所確定的配置參數(shù)。定制模板可以如下所示:

差分器可以準(zhǔn)備定制清單以包括配置參數(shù)的定制值,如下所示:

差分器可以使用有關(guān)定制模板和定制清單的信息來(lái)更新定制規(guī)范,如下所示:

在準(zhǔn)備之后,準(zhǔn)備系統(tǒng)200可以向部署系統(tǒng)提供更新的定制規(guī)范208和定制模板214。部署系統(tǒng)可以基于更新的定制規(guī)范208和定制模板214使用軟件部署工具來(lái)在一個(gè)或多個(gè)分布式計(jì)算系統(tǒng)上部署軟件包。

在部署期間,軟件部署工具可以例如順序地執(zhí)行操作,包括:將源文件復(fù)制到分布式計(jì)算系統(tǒng),識(shí)別定制模板214中的配置參數(shù),確定更新的定制規(guī)范208中的配置參數(shù)的定制值,以及將所識(shí)別的配置參數(shù)和確定的定制值寫入所復(fù)制的源文件中,以在分布式計(jì)算系統(tǒng)上獲得新的配置文件??梢杂绍浖渴鸸ぞ咦詣?dòng)執(zhí)行該操作。

在一些實(shí)施方式中,標(biāo)準(zhǔn)規(guī)范206是用于軟件包的RPM規(guī)范。軟件部署工具是BOSH。準(zhǔn)備系統(tǒng)200的轉(zhuǎn)換器202將RPM規(guī)范轉(zhuǎn)換為BOSH規(guī)范和BOSH清單。準(zhǔn)備系統(tǒng)200的差分器204比較軟件包的源文件210和配置文件212,準(zhǔn)備BOSH模板,并將確定的定制值提供給BOSH清單?;贐OSH規(guī)范、BOSH清單和BOSH模板,BOSH可以在IaaS提供商上部署軟件包。

圖3A是由準(zhǔn)備系統(tǒng)的轉(zhuǎn)換器執(zhí)行的示例過(guò)程300的流程圖。準(zhǔn)備系統(tǒng)可以是圖2的準(zhǔn)備系統(tǒng)200。轉(zhuǎn)換器可以是圖2的轉(zhuǎn)換器202。

轉(zhuǎn)換器接收轉(zhuǎn)換軟件包的標(biāo)準(zhǔn)規(guī)范的指示(302)。標(biāo)準(zhǔn)規(guī)范指定軟件包的安裝信息,例如多個(gè)參數(shù)和參數(shù)的相關(guān)聯(lián)值。標(biāo)準(zhǔn)規(guī)范具有用于多個(gè)參數(shù)的標(biāo)準(zhǔn)格式。

轉(zhuǎn)換器識(shí)別軟件包的標(biāo)準(zhǔn)規(guī)范(304)。轉(zhuǎn)換器可以在沒(méi)有來(lái)自用戶的任何附加輸入的情況下基于接收到的指示來(lái)識(shí)別標(biāo)準(zhǔn)規(guī)范的位置。轉(zhuǎn)換器還可以使用用戶輸入來(lái)識(shí)別標(biāo)準(zhǔn)規(guī)范的位置。

轉(zhuǎn)換器解析標(biāo)準(zhǔn)規(guī)范以確定安裝信息(306)。轉(zhuǎn)換器可以訪問(wèn)標(biāo)準(zhǔn)規(guī)范并解析標(biāo)準(zhǔn)規(guī)范以確定多個(gè)參數(shù)和相關(guān)聯(lián)的值。

轉(zhuǎn)換器將所確定的信息中的一些或全部寫入軟件部署工具的定制規(guī)范(308)。轉(zhuǎn)換器可以生成空白文本文件或XML文件以作為定制規(guī)范,并將確定的標(biāo)準(zhǔn)參數(shù)和相關(guān)聯(lián)的值寫入定制規(guī)范中。在某些情況下,定制規(guī)范具有與標(biāo)準(zhǔn)格式不同的關(guān)聯(lián)定制格式。轉(zhuǎn)換器可以根據(jù)定制格式將標(biāo)準(zhǔn)參數(shù)和相關(guān)聯(lián)的值寫入定制規(guī)范。

圖3B是由準(zhǔn)備系統(tǒng)的差分器執(zhí)行的示例過(guò)程350的流程圖。準(zhǔn)備系統(tǒng)可以是圖2的準(zhǔn)備系統(tǒng)200或圖3A的準(zhǔn)備系統(tǒng)。差分器可以是圖2的差分器204。

差分器識(shí)別軟件包的源文件和相應(yīng)配置文件(352)。源文件指定在配置步驟期間安裝軟件包的配置信息。在部署之前,首先例如在用戶計(jì)算機(jī)或服務(wù)器中安裝軟件包。在安裝和配置之后,多個(gè)源文件被轉(zhuǎn)換為相應(yīng)的配置文件。配置文件指定配置信息,并包括配置參數(shù)和配置參數(shù)的定制值。配置文件被存儲(chǔ)在用戶計(jì)算機(jī)或服務(wù)器中。在某些情況下,源文件被存儲(chǔ)在用戶計(jì)算機(jī)或服務(wù)器中。在一些情況下,源文件被存儲(chǔ)在位于與用戶計(jì)算機(jī)或服務(wù)器不同的計(jì)算機(jī)或服務(wù)器中的儲(chǔ)存庫(kù)中。

差分器可以確定源文件和配置文件的位置是否可用。在一些情況下,差分器確定源文件的位置和/或配置文件的位置不可用。差分器可以提示用于請(qǐng)求用戶輸入以識(shí)別位置的通知。在一些情況下,差分器確定不存在配置文件,并且差分器可以在使用差分器或準(zhǔn)備系統(tǒng)之前提示指示安裝軟件包以獲得配置文件的通知。

差分器解析每個(gè)源文件及其相應(yīng)的配置文件以確定源文件和相應(yīng)配置文件之間的差異(354)。該差異可以包括配置文件中包括的一個(gè)或多個(gè)配置參數(shù)和該一個(gè)或多個(gè)配置參數(shù)的一個(gè)或多個(gè)定制值。

差分器基于差異為軟件部署工具準(zhǔn)備定制模板(356)。軟件部署工具可以是圖3A中的軟件部署工具。差分器可以生成空白文本文件以作為定制模板,并將確定的配置參數(shù)寫入定制模板。

差分器基于差異更新軟件部署工具的定制規(guī)范(358)??梢杂赊D(zhuǎn)換器準(zhǔn)備定制規(guī)范,例如圖3A的準(zhǔn)備系統(tǒng)的轉(zhuǎn)換器。差分器可以將定制值和/或關(guān)于定制模板的信息發(fā)送到定制規(guī)范??梢允褂枚ㄖ浦岛?或與定制模板相關(guān)聯(lián)的信息來(lái)更新定制規(guī)范。在一些實(shí)施方式中,定制規(guī)范包括規(guī)范文件和清單文件。定制值可以被寫入清單文件。

圖4是由系統(tǒng)執(zhí)行的示例過(guò)程400的流程圖。該系統(tǒng)可以是圖1的系統(tǒng)100。該系統(tǒng)可以包括準(zhǔn)備系統(tǒng)和部署系統(tǒng)。準(zhǔn)備系統(tǒng)可以是圖1的準(zhǔn)備系統(tǒng)110、圖2的準(zhǔn)備系統(tǒng)200或圖3A和3B的準(zhǔn)備系統(tǒng)。部署系統(tǒng)可以是圖1的部署系統(tǒng)120。部署系統(tǒng)可以包括軟件部署工具,例如圖1的軟件部署工具122。

準(zhǔn)備系統(tǒng)準(zhǔn)備用于軟件部署工具的軟件包(402)。準(zhǔn)備系統(tǒng)可以接收來(lái)自用戶的準(zhǔn)備待部署的軟件包的請(qǐng)求,并且自動(dòng)或半自動(dòng)地準(zhǔn)備軟件包而無(wú)需來(lái)自用戶的任何附加輸入。

準(zhǔn)備系統(tǒng)為要部署在一個(gè)或多個(gè)分布式計(jì)算系統(tǒng)中的軟件包準(zhǔn)備一組定制文件,例如定制規(guī)范和定制模板。如上詳細(xì)所述,準(zhǔn)備系統(tǒng)可以通過(guò)使用轉(zhuǎn)換器——圖1的轉(zhuǎn)換器112或圖3A的轉(zhuǎn)換器,根據(jù)軟件包的標(biāo)準(zhǔn)規(guī)范來(lái)獲得定制規(guī)范。

該軟件包可以首先被安裝在用戶計(jì)算機(jī)或服務(wù)器上。軟件包包括指定配置信息的源文件。在安裝和配置后,基于源文件獲取相應(yīng)的配置文件。準(zhǔn)備系統(tǒng)可以使用例如圖1的差分器114、圖2的204或圖3B的差分器的差分器,確定源文件和相應(yīng)配置文件之間的差異。差異包括配置參數(shù)和配置參數(shù)的定制值。準(zhǔn)備系統(tǒng)可以使用所確定的配置參數(shù)來(lái)準(zhǔn)備定制模板。準(zhǔn)備系統(tǒng)可以使用配置參數(shù)的定制值和定制模板的信息更新定制規(guī)范。

在準(zhǔn)備系統(tǒng)準(zhǔn)備軟件包之后,部署系統(tǒng)使用軟件部署工具在分布式計(jì)算系統(tǒng)上部署軟件包(404)。如上面詳細(xì)描述的,部署系統(tǒng)可以使用軟件部署工具基于更新的定制規(guī)范和定制模板來(lái)部署軟件包。部署系統(tǒng)可以將源文件復(fù)制到分布式計(jì)算系統(tǒng),識(shí)別定制模板中的配置參數(shù),確定更新的定制規(guī)范中的配置參數(shù)的定制值,并將配置參數(shù)和定制值寫入復(fù)制的源文件以在分布式計(jì)算系統(tǒng)上獲得新的配置文件。在一些情況下,部署系統(tǒng)基于更新的定制規(guī)范和定制模板將軟件包部署到具有不同的底層架構(gòu)的兩個(gè)或更多個(gè)不同的分布式計(jì)算系統(tǒng)。

在本說(shuō)明書(shū)中描述的主題和功能操作的實(shí)施例可以在數(shù)字電子電路中、在有形體現(xiàn)的計(jì)算機(jī)軟件或固件中、在包括本說(shuō)明書(shū)中公開(kāi)的結(jié)構(gòu)及其結(jié)構(gòu)等同物的計(jì)算機(jī)硬件中或者在它們的一個(gè)或多個(gè)的組合中被實(shí)現(xiàn)。在本說(shuō)明書(shū)中描述的主題的實(shí)施例可以被實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)程序,即,編碼在有形非暫時(shí)性程序載體上的計(jì)算機(jī)程序指令的一個(gè)或多個(gè)模塊,以用于由數(shù)據(jù)處理裝置執(zhí)行或控制數(shù)據(jù)處理裝置的操作。替代地或另外地,程序指令可以被編碼在人工生成的傳播信號(hào)上,例如機(jī)器生成的電、光或電磁信號(hào),該信號(hào)被生成以編碼傳輸?shù)胶线m的接收機(jī)設(shè)備、以由數(shù)據(jù)處理裝置執(zhí)行的信息。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是機(jī)器可讀存儲(chǔ)設(shè)備、機(jī)器可讀存儲(chǔ)基板、隨機(jī)或串行存取存儲(chǔ)器設(shè)備或它們中的一個(gè)或多個(gè)的組合。

術(shù)語(yǔ)“數(shù)據(jù)處理裝置”是指數(shù)據(jù)處理硬件,并且包括用于處理數(shù)據(jù)的所有種類的裝置、設(shè)備和機(jī)器,從而以示例的方式包括可編程處理器、計(jì)算機(jī)或多個(gè)處理器或計(jì)算機(jī)。該裝置還可以是或進(jìn)一步包括專用邏輯電路,例如FPGA(現(xiàn)場(chǎng)可編程門陣列)或ASIC(專用集成電路)。除硬件之外,該裝置可以可選地包括創(chuàng)建用于計(jì)算機(jī)程序的執(zhí)行環(huán)境的代碼,例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)或它們中的一個(gè)或多個(gè)的組合的代碼。

可以以任何形式的編程語(yǔ)言編寫也可被稱為或描述為程序、軟件、軟件應(yīng)用、模塊、軟件模塊、腳本或代碼的計(jì)算機(jī)程序,該編程語(yǔ)言包括編譯或解釋語(yǔ)言或聲明性或過(guò)程性語(yǔ)言,并且可以以任何形式對(duì)其進(jìn)行部署,從而包括作為獨(dú)立程序或作為適于在計(jì)算環(huán)境中使用的模塊、組件、子例程或其他單元。計(jì)算機(jī)程序可以但不需要對(duì)應(yīng)于文件系統(tǒng)中的文件。程序可以被存儲(chǔ)在保存其他程序或數(shù)據(jù)的文件的一部分中,例如被存儲(chǔ)在標(biāo)記語(yǔ)言文檔中、被存儲(chǔ)在專用于所述程序的單個(gè)文件中或者被存儲(chǔ)在多個(gè)協(xié)同文件中的一個(gè)或多個(gè)腳本,協(xié)同文件例如為存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或部分代碼的文件。計(jì)算機(jī)程序可以被部署為在一個(gè)計(jì)算機(jī)上或在位于一個(gè)站點(diǎn)或分布在多個(gè)站點(diǎn)并通過(guò)通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上執(zhí)行。

可以由執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序的一個(gè)或多個(gè)可編程計(jì)算機(jī)執(zhí)行本說(shuō)明書(shū)中描述的過(guò)程和邏輯流程,以通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行操作并生成輸出來(lái)執(zhí)行功能。過(guò)程和邏輯流程也可以由專用邏輯電路來(lái)執(zhí)行,并且裝置也可以實(shí)現(xiàn)為該專用邏輯電路,該專用邏輯電路例如為FPGA(現(xiàn)場(chǎng)可編程門陣列)或ASIC(專用集成電路)。

適合于執(zhí)行計(jì)算機(jī)程序的計(jì)算機(jī)包括,例如可以基于通用或?qū)S梦⑻幚砥骰騼烧呋蛉魏纹渌愋偷闹醒胩幚韱卧Mǔ?,中央處理單元將從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器或兩者接收指令和數(shù)據(jù)。計(jì)算機(jī)的基本元件是用于執(zhí)行或?qū)嵤┲噶畹闹醒胩幚韱卧陀糜诖鎯?chǔ)指令和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備。通常,計(jì)算機(jī)還將包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備,例如磁盤、磁光盤或光盤,或者可操作地耦合以從其接收數(shù)據(jù)或向其傳送數(shù)據(jù)或兩者。然而,計(jì)算機(jī)不需要具有這樣的設(shè)備。此外,計(jì)算機(jī)可以嵌入在另一設(shè)備中,例如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)音頻或視頻播放器、游戲控制臺(tái)、全球定位系統(tǒng)(GPS)接收器或便攜式存儲(chǔ)設(shè)備,例如,通用串行總線(USB)閃存驅(qū)動(dòng)器,這里僅舉幾個(gè)例子。

適于存儲(chǔ)計(jì)算機(jī)程序指令和數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲(chǔ)器、介質(zhì)和存儲(chǔ)器設(shè)備,包括例如半導(dǎo)體存儲(chǔ)器設(shè)備,例如EPROM、EEPROM和閃存設(shè)備;磁盤,例如內(nèi)部硬盤或可移動(dòng)盤;磁光盤;和CD-ROM和DVD-ROM盤。處理器和存儲(chǔ)器可以由專用邏輯電路補(bǔ)充或并入專用邏輯電路中。

計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此遠(yuǎn)離并且通常通過(guò)通信網(wǎng)絡(luò)交互。客戶端和服務(wù)器的關(guān)系借助于在相應(yīng)計(jì)算機(jī)上運(yùn)行并且彼此具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程序而產(chǎn)生。

雖然本說(shuō)明書(shū)包含許多具體實(shí)施細(xì)節(jié),但是這些不應(yīng)被解釋為對(duì)任何發(fā)明的范圍或?qū)λ蟊Wo(hù)內(nèi)容的范圍的限制,而是作為對(duì)特征的描述,該特征對(duì)于特定發(fā)明的特定實(shí)施例可以是特定的。在本說(shuō)明書(shū)中在單獨(dú)實(shí)施例的上下文中描述的某些特征也可以在單個(gè)實(shí)施例的組合中實(shí)現(xiàn)。相反,在單個(gè)實(shí)施例的上下文中描述的各種特征也可以在多個(gè)實(shí)施例中單獨(dú)地或以任何合適的子組合來(lái)實(shí)現(xiàn)。此外,雖然特征可以在上面被描述為在某些組合中起作用并且甚至最初如此要求保護(hù),但是來(lái)自所要求保護(hù)的組合的一個(gè)或多個(gè)特征在一些情況下可以從組合中刪除,并且所要求保護(hù)的組合可以針對(duì)子組合或子組合的變體。

類似地,雖然在附圖中以特定順序描繪了操作,但是這不應(yīng)被理解為要求這些操作以所示的特定順序或以依次的順序被執(zhí)行,或者所有所示的操作被執(zhí)行,以實(shí)現(xiàn)期望的結(jié)果。在某些情況下,多任務(wù)和并行處理可能是有利的。此外,上述實(shí)施例中的各種系統(tǒng)模塊和組件的分離不應(yīng)被理解為在所有實(shí)施例中都需要這樣的分離,并且應(yīng)當(dāng)理解,所描述的程序組件和系統(tǒng)通常可以一起集成在單個(gè)軟件產(chǎn)品中,或者封裝成多個(gè)軟件產(chǎn)品。

因此,已經(jīng)描述了主題的特定實(shí)施例。其他實(shí)施例在所附權(quán)利要求的范圍內(nèi)。例如,在科學(xué)論文的上下文中描述了主題。主題可以應(yīng)用于向搜索添加深度方面的其他索引工作。在一些情況下,權(quán)利要求中所述的動(dòng)作可以以不同的順序被執(zhí)行并且仍然實(shí)現(xiàn)期望的結(jié)果。另外,附圖中描繪的過(guò)程不一定需要所示的特定順序或依次的順序,以實(shí)現(xiàn)期望的結(jié)果。在某些實(shí)施方式中,多任務(wù)和并行處理可以是有利的。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1