本發(fā)明涉及插件控制技術(shù)領(lǐng)域,特別是涉及一種用于云存儲(chǔ)系統(tǒng)的插件控制方法、裝置及云存儲(chǔ)系統(tǒng)。
背景技術(shù):
云存儲(chǔ)是在云計(jì)算(cloudcomputing)概念上延伸和發(fā)展出來(lái)的一個(gè)新的概念,是一種新興的網(wǎng)絡(luò)存儲(chǔ)技術(shù),是指通過(guò)集群應(yīng)用、網(wǎng)絡(luò)技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中各種不同類型的大量存儲(chǔ)設(shè)備通過(guò)應(yīng)用軟件集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能的一個(gè)系統(tǒng)。
隨著科技的發(fā)展,云存儲(chǔ)系統(tǒng)的規(guī)模越來(lái)越大,其應(yīng)用業(yè)務(wù)的升級(jí)與擴(kuò)展需求是必然且長(zhǎng)期存在的,為了達(dá)到根據(jù)需求承載各種不同的業(yè)務(wù)應(yīng)用,且能夠支持現(xiàn)有業(yè)務(wù)的縱向升級(jí),插件機(jī)制應(yīng)運(yùn)而生。
插件(plugin)是遵循一定規(guī)范開發(fā)出來(lái)的應(yīng)用程序模塊,作為整個(gè)應(yīng)用程序的一部分,插件往往是可以替換的,以此來(lái)實(shí)現(xiàn)應(yīng)用程序的功能擴(kuò)展。
在云存儲(chǔ)系統(tǒng)中,可以將插件安裝于管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)以及接入節(jié)點(diǎn)中。隨著插件技術(shù)的發(fā)展,可以將一些新開發(fā)的插件安裝于各節(jié)點(diǎn)中,或者,可以對(duì)安裝于各節(jié)點(diǎn)中的插件進(jìn)行升級(jí)處理,以擴(kuò)展各節(jié)點(diǎn)的功能。
現(xiàn)有的云存儲(chǔ)系統(tǒng)中,當(dāng)存在新上線或待更新的插件時(shí),需要操作人員依次將該插件安裝于云存儲(chǔ)系統(tǒng)中各個(gè)節(jié)點(diǎn)中。但是,由于云存儲(chǔ)系統(tǒng)通常包含多個(gè)節(jié)點(diǎn)(如管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)、接入節(jié)點(diǎn)等),因此,這種方法效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種用于云存儲(chǔ)系統(tǒng)的插件控制方法、裝置及云存儲(chǔ)系統(tǒng),以提高云存儲(chǔ)系統(tǒng)中插件安裝效率。具體技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制方法,應(yīng)用于云存儲(chǔ)系統(tǒng)中的任一節(jié)點(diǎn),所述云存儲(chǔ)系統(tǒng)還包括至少一個(gè)插件管理節(jié)點(diǎn),所述方法包括:
當(dāng)接收到所述插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),根據(jù)所述插件的關(guān)鍵信息確定是否安裝所述插件,其中所述插件為新上線或待更新的插件;
若是,則向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件內(nèi)容的第一請(qǐng)求;
接收所述插件管理節(jié)點(diǎn)發(fā)送的所述插件內(nèi)容,并加載所述插件內(nèi)容。
進(jìn)一步地,所述插件的關(guān)鍵信息包括以下至少一項(xiàng):所述插件的標(biāo)識(shí)信息和所述插件的功能信息。
進(jìn)一步地,當(dāng)所述插件的關(guān)鍵信息包括所述插件的標(biāo)識(shí)信息和所述插件的功能信息時(shí),所述根據(jù)所述插件的關(guān)鍵信息確定是否安裝所述插件,包括:
根據(jù)所述插件的標(biāo)識(shí)信息,判斷自身是否已安裝所述標(biāo)識(shí)信息的插件,若是,則確定安裝所述插件;和/或
根據(jù)所述插件的功能信息,以及自身已安裝應(yīng)用程序的功能信息,確定所述插件的功能信息與所述自身已安裝應(yīng)用程序的功能信息的匹配度是否大于設(shè)定閾值,若是,則確定安裝所述插件。
進(jìn)一步地,所述當(dāng)接收到所述插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),根據(jù)所述插件的關(guān)鍵信息確定是否安裝所述插件之前,所述方法還包括:
檢測(cè)所述插件管理節(jié)點(diǎn)中是否有插件新上線或待更新,若是,向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件的關(guān)鍵信息的第二請(qǐng)求,以所得所述插件管理節(jié)點(diǎn)向自身發(fā)送所述插件的關(guān)鍵信息。
進(jìn)一步地,所述插件管理節(jié)點(diǎn)中保存有每個(gè)節(jié)點(diǎn)中已安裝插件的索引信息,所述方法還包括:
當(dāng)成功加載所述插件內(nèi)容后,向所述插件管理節(jié)點(diǎn)發(fā)送加載成功的消息,以使得所述插件管理節(jié)點(diǎn)更新其保存的所述節(jié)點(diǎn)中已安裝插件的索引信息。
進(jìn)一步地,所述任一節(jié)點(diǎn)包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。
第二方面,本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制方法,應(yīng)用于云存儲(chǔ)系統(tǒng)中的插件管理節(jié)點(diǎn),所述云存儲(chǔ)系統(tǒng)還包括至少一個(gè)節(jié)點(diǎn),所述插件管理節(jié)點(diǎn)與各個(gè)節(jié)點(diǎn)間通過(guò)網(wǎng)絡(luò)進(jìn)行通信,所述方法包括:
當(dāng)存在新上線或待更新的插件時(shí),確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的 待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn);
向所述每個(gè)節(jié)點(diǎn)發(fā)送所述插件的關(guān)鍵信息;
接收第一節(jié)點(diǎn)發(fā)送的第一請(qǐng)求,其中所述第一請(qǐng)求為所述第一節(jié)點(diǎn)根據(jù)所述插件的關(guān)鍵信息確認(rèn)自身安裝所述插件時(shí)發(fā)送的;
將所述插件內(nèi)容發(fā)送給所述第一節(jié)點(diǎn),以使得所述第一節(jié)點(diǎn)加載所述插件內(nèi)容。
進(jìn)一步地,所述當(dāng)存在新上線或待更新的插件時(shí),確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)包括:
檢測(cè)自身是否存在新上線或待更新的插件;
若是,將所述云存儲(chǔ)系統(tǒng)中的各個(gè)節(jié)點(diǎn)確定為所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
進(jìn)一步地,所述插件管理節(jié)點(diǎn)中保存有每個(gè)節(jié)點(diǎn)中已安裝插件的索引信息,所述確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn),包括:
當(dāng)檢測(cè)存在新上線或待更新的插件時(shí),根據(jù)所述插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件的索引信息的匹配度,確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
進(jìn)一步地,所述確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)包括:
接收多個(gè)節(jié)點(diǎn)發(fā)送的獲取所述插件的關(guān)鍵信息的第二請(qǐng)求,其中,所述第二請(qǐng)求是所述多個(gè)節(jié)點(diǎn)檢測(cè)到所述插件管理節(jié)點(diǎn)存在新上線或待更新的插件時(shí),向所述插件管理節(jié)點(diǎn)發(fā)送的;
將發(fā)送所述第二請(qǐng)求的多個(gè)節(jié)點(diǎn)確定為所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
進(jìn)一步地,所述方法還包括:
接收所述第一節(jié)點(diǎn)發(fā)送的成功加載所述插件的消息,并更新自身保存的所述第一節(jié)點(diǎn)中已安裝插件的索引信息。
進(jìn)一步地,所述節(jié)點(diǎn)包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。
第三方面,本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制裝置,應(yīng)用于云存儲(chǔ)系統(tǒng)中的任一節(jié)點(diǎn),所述云存儲(chǔ)系統(tǒng)還包括至少一個(gè)插件管理節(jié)點(diǎn),所述裝置包括:
確定模塊,用于當(dāng)接收到所述插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),根據(jù)所述插件的關(guān)鍵信息確定是否安裝所述插件,其中所述插件為新上線或待更新的插件;
第一發(fā)送模塊,用于當(dāng)所述確定模塊確定安裝所述插件時(shí),向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件內(nèi)容的第一請(qǐng)求;
接收模塊,用于接收所述插件管理節(jié)點(diǎn)發(fā)送的所述插件內(nèi)容,并加載所述插件內(nèi)容。
進(jìn)一步地,所述插件的關(guān)鍵信息包括以下至少一項(xiàng):所述插件的標(biāo)識(shí)信息和所述插件的功能信息。
進(jìn)一步地,當(dāng)所述插件的關(guān)鍵信息包括所述插件的標(biāo)識(shí)信息和所述插件的功能信息時(shí),所述確定模塊,具體用于:
根據(jù)所述插件的標(biāo)識(shí)信息,判斷自身是否已安裝所述標(biāo)識(shí)信息的插件,若是,則確定安裝所述插件;和/或
根據(jù)所述插件的功能信息,以及自身已安裝應(yīng)用程序的功能信息,確定所述插件的功能信息與所述自身已安裝應(yīng)用程序的功能信息的匹配度是否大于設(shè)定閾值,若是,則確定安裝所述插件。
進(jìn)一步地,所述裝置還包括:
檢測(cè)模塊,用于在所述確定模塊確定是否安裝所述插件之前,檢測(cè)所述插件管理節(jié)點(diǎn)中是否有插件新上線或待更新,若是,向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件的關(guān)鍵信息的第二請(qǐng)求,以所得所述插件管理節(jié)點(diǎn)向自身發(fā)送所述插件的關(guān)鍵信息。
進(jìn)一步地,所述插件管理節(jié)點(diǎn)中保存有每個(gè)節(jié)點(diǎn)中已安裝插件的索引信息,所述裝置還包括:
第二發(fā)送模塊,用于當(dāng)成功加載所述插件內(nèi)容后,向所述插件管理節(jié)點(diǎn)發(fā)送加載成功的消息,以使得所述插件管理節(jié)點(diǎn)更新其保存的所述節(jié)點(diǎn)中已安裝插件的索引信息。
進(jìn)一步地,所述任一節(jié)點(diǎn)包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。
第四方面,本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制裝置,應(yīng)用于云存儲(chǔ)系統(tǒng)中的插件管理節(jié)點(diǎn),所述云存儲(chǔ)系統(tǒng)還包括至少一個(gè)節(jié)點(diǎn),所述插件管理節(jié)點(diǎn)與各個(gè)節(jié)點(diǎn)間通過(guò)網(wǎng)絡(luò)進(jìn)行通信,所述裝置包括:
確定模塊,用于當(dāng)存在新上線或待更新的插件時(shí),確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn);
第一發(fā)送模塊,用于向所述每個(gè)節(jié)點(diǎn)發(fā)送所述插件的關(guān)鍵信息;
接收模塊,用于接收第一節(jié)點(diǎn)發(fā)送的第一請(qǐng)求,其中所述第一請(qǐng)求為所述第一節(jié)點(diǎn)根據(jù)所述插件的關(guān)鍵信息確認(rèn)自身安裝所述插件時(shí)發(fā)送的;
第二發(fā)送模塊,用于將所述插件內(nèi)容發(fā)送給所述第一節(jié)點(diǎn),以使得所述第一節(jié)點(diǎn)加載所述插件內(nèi)容。
進(jìn)一步地,所述確定模塊包括:
檢測(cè)子模塊,用于檢測(cè)自身是否存在新上線或待更新的插件;
第一確定子模塊,用于當(dāng)所述檢測(cè)子模塊檢測(cè)到存在新上線或待更新的插件時(shí),將所述云存儲(chǔ)系統(tǒng)中的各個(gè)節(jié)點(diǎn)確定為所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
進(jìn)一步地,所述第一確定子模塊,具體用于:
當(dāng)所述檢測(cè)子模塊檢測(cè)到存在新上線或待更新的插件時(shí),根據(jù)所述插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件的索引信息的匹配度,確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
進(jìn)一步地,所述確定模塊,包括:
接收子模塊,用于接收多個(gè)節(jié)點(diǎn)發(fā)送的獲取所述插件的關(guān)鍵信息的第二請(qǐng)求,其中,所述第二請(qǐng)求是所述多個(gè)節(jié)點(diǎn)檢測(cè)到所述插件管理節(jié)點(diǎn)存在新上線或待更新的插件時(shí),向所述插件管理節(jié)點(diǎn)發(fā)送的;
第二確定子模塊,用于將發(fā)送所述第二請(qǐng)求的多個(gè)節(jié)點(diǎn)確定為所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
進(jìn)一步地,所述裝置還包括:
更新模塊,用于接收所述第一節(jié)點(diǎn)發(fā)送的成功加載所述插件的消息,并更新自身保存的所述第一節(jié)點(diǎn)中已安裝插件的索引信息。
進(jìn)一步地,所述節(jié)點(diǎn)包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。
第五方面,本發(fā)明實(shí)施例提供了一種云存儲(chǔ)系統(tǒng),所述云存儲(chǔ)系統(tǒng)包括:如上述第三方面所述的設(shè)置在云存儲(chǔ)系統(tǒng)中任一節(jié)點(diǎn)中的插件控制裝置、以及如上述第四方面所述的設(shè)置在云存儲(chǔ)系統(tǒng)中插件管理節(jié)點(diǎn)中的插件控制裝置。
本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制方法、裝置及云存儲(chǔ)系統(tǒng),該方法中各節(jié)點(diǎn)可以并行控制各自安裝的插件,且不需要操作人員對(duì)各節(jié)點(diǎn)中的插件進(jìn)行安裝,當(dāng)接收到插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),任一節(jié)點(diǎn)都可以根據(jù)自身特征確認(rèn)是否安裝該插件,當(dāng)確認(rèn)結(jié)果為是時(shí),該節(jié)點(diǎn)可以自動(dòng)安裝該插件,因此,能夠提高插件安裝效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種用于云存儲(chǔ)系統(tǒng)的插件控制方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的一種用于云存儲(chǔ)系統(tǒng)的插件控制方法的另一流程圖;
圖3為本發(fā)明實(shí)施例提供的另一種用于云存儲(chǔ)系統(tǒng)的插件控制方法的流程圖;
圖4為本發(fā)明實(shí)施例提供的一種用于云存儲(chǔ)系統(tǒng)的插件控制裝置的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例提供的一種用于云存儲(chǔ)系統(tǒng)的插件控制裝置的另一結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例提供的另一種用于云存儲(chǔ)系統(tǒng)的插件控制裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了提高云存儲(chǔ)系統(tǒng)中插件安裝效率,本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制方法、裝置及云存儲(chǔ)系統(tǒng)。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
為了提高云存儲(chǔ)系統(tǒng)中插件安裝效率,本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制方法過(guò)程,如圖1所示,該過(guò)程包括以下步驟:
s101,當(dāng)接收到插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),根據(jù)所述插件的關(guān)鍵信息確定是否安裝所述插件,其中所述插件為新上線或待更新的插件。
該方法可以應(yīng)用于云存儲(chǔ)系統(tǒng)中的任一節(jié)點(diǎn),該任一節(jié)點(diǎn)可以包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。并且,該云存儲(chǔ)系統(tǒng)中還可以包括至少一個(gè)插件管理節(jié)點(diǎn),該插件管理節(jié)點(diǎn)可以與上述各個(gè)節(jié)點(diǎn)或部分節(jié)點(diǎn)間通過(guò)網(wǎng)絡(luò)進(jìn)行通信,以進(jìn)行信息交互等。
在本發(fā)明實(shí)施例中,為了提高云存儲(chǔ)系統(tǒng)中插件安裝效率,可以在云存儲(chǔ)系統(tǒng)中設(shè)置一個(gè)插件管理節(jié)點(diǎn),該插件管理節(jié)點(diǎn)可以用來(lái)管理云存儲(chǔ)系統(tǒng)中每個(gè)節(jié)點(diǎn)中的插件。例如,可以將新開發(fā)的插件或待更新的插件保存在插件管理節(jié)點(diǎn)中,然后通過(guò)插件管理節(jié)點(diǎn)與云存儲(chǔ)系統(tǒng)中各個(gè)節(jié)點(diǎn)進(jìn)行交互,以使得各個(gè)節(jié)點(diǎn)確定是否安裝該插件,進(jìn)而達(dá)到控制各個(gè)節(jié)點(diǎn)中插件的目的。
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,插件管理節(jié)點(diǎn)可以為云存儲(chǔ)系統(tǒng)中一個(gè)單獨(dú)的節(jié)點(diǎn),或者,為了節(jié)省節(jié)點(diǎn)數(shù)目,也可以將插件管理節(jié)點(diǎn)配置在云存 儲(chǔ)系統(tǒng)中任一個(gè)管理節(jié)點(diǎn)中。
在本發(fā)明實(shí)施例中,云存儲(chǔ)系統(tǒng)中的任一節(jié)點(diǎn)可以接收插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息,并根據(jù)該插件的關(guān)鍵信息確定是否安裝該插件,其中該插件可以是新上線或待更新的插件。上述插件的關(guān)鍵信息可以包括以下至少一項(xiàng):插件的標(biāo)識(shí)信息和插件的功能信息。
具體地,插件管理節(jié)點(diǎn)可以按照設(shè)定的時(shí)間間隔(如1秒、2秒、3秒等),檢測(cè)自身是否有新上線或待更新的插件,當(dāng)檢測(cè)到自身有新上線或待更新的插件時(shí),可以將該插件的關(guān)鍵信息發(fā)送給云存儲(chǔ)系統(tǒng)中的各個(gè)節(jié)點(diǎn),以使各個(gè)節(jié)點(diǎn)確認(rèn)是否安裝該插件。
例如,插件管理節(jié)點(diǎn)可以根據(jù)各插件的接收時(shí)間,確定各插件是否為新上線或待更新插件。當(dāng)插件的接收時(shí)間與插件管理節(jié)點(diǎn)檢測(cè)到該插件的時(shí)間之間的間隔小于預(yù)定時(shí)間時(shí),可以確定該插件為新上線或待更新插件?;蛘?,插件管理節(jié)點(diǎn)中可以保存之前各節(jié)點(diǎn)中已安裝的插件的標(biāo)識(shí)信息以及版本號(hào)等,當(dāng)檢測(cè)到存在與已保存的標(biāo)識(shí)信息不相同的標(biāo)識(shí)信息對(duì)應(yīng)的插件時(shí),可以表明該插件為新上線插件;或者當(dāng)檢測(cè)到存在與已保存的標(biāo)識(shí)信息相同但版本號(hào)不同的插件時(shí),可以表明該插件為待更新的插件?;蛘?,插件管理節(jié)點(diǎn)可以預(yù)設(shè)一個(gè)存儲(chǔ)空間,用來(lái)存儲(chǔ)新上線或待更新插件。這種情況下,插件管理節(jié)點(diǎn)可以檢測(cè)該存儲(chǔ)空間中是否保存有插件,當(dāng)檢測(cè)到該存儲(chǔ)空間保存有插件時(shí),可以表明該插件為新上線或待更新插件。
當(dāng)任一節(jié)點(diǎn)接收到插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),該節(jié)點(diǎn)可以根據(jù)該插件的關(guān)鍵信息,確定是否安裝該插件。
具體地,當(dāng)任一節(jié)點(diǎn)接收到的插件的關(guān)鍵信息包括插件的標(biāo)識(shí)信息和插件的功能信息時(shí),該節(jié)點(diǎn)可以根據(jù)該插件的標(biāo)識(shí)信息和/或該插件的功能信息確認(rèn)是否安裝該插件。
例如,該節(jié)點(diǎn)可以判斷自身是否已安裝該標(biāo)識(shí)信息的插件,如果是,則可以表明該插件是自身已安裝插件更新后的插件,這種情況下,該節(jié)點(diǎn)可以確定安裝該插件,以使用更新后的插件,實(shí)現(xiàn)更多的功能擴(kuò)展。
該節(jié)點(diǎn)也可以根據(jù)該插件的功能信息確定是否安裝該插件。例如,該節(jié)點(diǎn)可以根據(jù)該插件的功能信息,以及自身已安裝應(yīng)用程序的功能信息,確定該插 件的功能信息與自身已安裝應(yīng)用程序的功能信息的匹配度是否大于設(shè)定閾值(如80%、85%、90%等),如果是,則確定安裝該插件。
具體地,該節(jié)點(diǎn)可以計(jì)算該插件的功能信息與自身已安裝應(yīng)用程序的功能信息之間的文本匹配度,并將該文本匹配度作為該插件的功能信息與自身已安裝應(yīng)用程序的功能信息的匹配度。
需要說(shuō)明的是,該節(jié)點(diǎn)在計(jì)算該插件的功能信息與自身已安裝應(yīng)用程序的功能信息之間的文本匹配度時(shí),可以采用現(xiàn)有的任一種方法,本發(fā)明對(duì)此不作限定。
s102,當(dāng)確定安裝該插件時(shí),向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件內(nèi)容的第一請(qǐng)求。
在本發(fā)明實(shí)施例中,為了減小節(jié)點(diǎn)間通信的數(shù)據(jù)量,當(dāng)存在新上線或待更新的插件時(shí),插件管理節(jié)點(diǎn)只向各個(gè)節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息。而當(dāng)任一節(jié)點(diǎn)確定安裝該插件時(shí),該節(jié)點(diǎn)不能只根據(jù)該插件的關(guān)鍵信息安裝該插件,而是需要獲得該插件的內(nèi)容。
因此,當(dāng)任一節(jié)點(diǎn)確定安裝該插件時(shí),可以向插件管理節(jié)點(diǎn)發(fā)送獲取該插件內(nèi)容的請(qǐng)求,以使得插件管理節(jié)點(diǎn)向自身發(fā)送該插件內(nèi)容。
可以理解,與插件內(nèi)容相比,插件關(guān)鍵信息的數(shù)據(jù)量要小的多,因此,當(dāng)存在新上線或待更新的插件時(shí),插件管理節(jié)點(diǎn)只向各個(gè)節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息,而只有接收到節(jié)點(diǎn)發(fā)送的獲取插件內(nèi)容的請(qǐng)求時(shí),才向該節(jié)點(diǎn)發(fā)送插件內(nèi)容,能夠減小插件管理節(jié)點(diǎn)與各節(jié)點(diǎn)間通信的數(shù)據(jù)量,減輕節(jié)點(diǎn)間通信壓力。
s103,接收所述插件管理節(jié)點(diǎn)發(fā)送的所述插件內(nèi)容,并加載所述插件內(nèi)容。
當(dāng)任一向插件管理節(jié)點(diǎn)發(fā)送獲取插件內(nèi)容的請(qǐng)求后,可以進(jìn)一步接收該插件管理節(jié)點(diǎn)發(fā)送的該插件內(nèi)容,并加載該插件內(nèi)容,以將該插件安裝在該節(jié)點(diǎn)中。
可選地,插件管理節(jié)點(diǎn)為了對(duì)各節(jié)點(diǎn)中的插件進(jìn)行控制,在插件管理節(jié)點(diǎn)中可以保存每個(gè)節(jié)點(diǎn)中已安裝插件的索引信息。這種情況下,當(dāng)該節(jié)點(diǎn)成功加載該插件內(nèi)容后,可以向插件管理節(jié)點(diǎn)發(fā)送加載成功的消息,以使得插件管理節(jié)點(diǎn)更新其保存的該節(jié)點(diǎn)中已安裝插件的索引信息,因此,能夠在插件管理節(jié) 點(diǎn)中保存各個(gè)節(jié)點(diǎn)中最新的已安裝插件的索引信息。
本發(fā)明實(shí)施例提供的用于云存儲(chǔ)系統(tǒng)的插件控制方法,應(yīng)用于云存儲(chǔ)系統(tǒng)中的任一節(jié)點(diǎn),各節(jié)點(diǎn)可以并行控制各自安裝的插件,且不需要操作人員對(duì)各節(jié)點(diǎn)中的插件進(jìn)行安裝,當(dāng)接收到插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),任一節(jié)點(diǎn)都可以根據(jù)自身特征確認(rèn)是否安裝該插件,當(dāng)確認(rèn)結(jié)果為是時(shí),該節(jié)點(diǎn)可以自動(dòng)安裝該插件,因此,能夠提高插件安裝效率。
更進(jìn)一步的,如圖2所示,本發(fā)明實(shí)施例所提供的一種用于云存儲(chǔ)系統(tǒng)的插件控制方法還可以包括:
s104,檢測(cè)所述插件管理節(jié)點(diǎn)中是否有插件新上線或待更新,若是,向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件的關(guān)鍵信息的第二請(qǐng)求。
在本發(fā)明實(shí)施例中,任一節(jié)點(diǎn)可以與插件管理節(jié)點(diǎn)進(jìn)行通信。具體地,任一節(jié)點(diǎn)可以檢測(cè)插件管理節(jié)點(diǎn)中是否有插件新上線或待更新。
例如,插件管理節(jié)點(diǎn)中可以預(yù)設(shè)一個(gè)存儲(chǔ)空間,只用來(lái)存儲(chǔ)新上線或待更新的插件。這種情況下,各節(jié)點(diǎn)可以按照預(yù)定的時(shí)間間隔(如1秒、2秒、5秒等),查詢插件管理節(jié)點(diǎn)中的該存儲(chǔ)空間,以檢測(cè)該存儲(chǔ)空間中是否保存有插件,當(dāng)檢測(cè)到該存儲(chǔ)空間保存有插件時(shí),可以表明該插件為新上線或待更新插件。
當(dāng)任一節(jié)點(diǎn)檢測(cè)到插件管理節(jié)點(diǎn)中有插件新上線或待更新時(shí),可以向該插件管理節(jié)點(diǎn)發(fā)送獲取該插件的關(guān)鍵信息的請(qǐng)求,以使得插件管理節(jié)點(diǎn)向其自身發(fā)送該插件的關(guān)鍵信息。
本方案中,可以由各個(gè)節(jié)點(diǎn)檢測(cè)插件管理節(jié)點(diǎn)中是否有插件新上線或待更新,當(dāng)任一節(jié)點(diǎn)檢測(cè)到插件管理節(jié)點(diǎn)中有插件新上線或待更新時(shí),向插件管理節(jié)點(diǎn)發(fā)送獲取該插件的關(guān)鍵信息的請(qǐng)求,插件管理節(jié)點(diǎn)才向該節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息,能夠保證插件管理節(jié)點(diǎn)向其發(fā)送插件的關(guān)鍵信息的節(jié)點(diǎn)都是正常工作的節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)出現(xiàn)故障時(shí),由于該節(jié)點(diǎn)不會(huì)向插件管理節(jié)點(diǎn)發(fā)送獲取插件的關(guān)鍵信息的請(qǐng)求,因此,插件管理節(jié)點(diǎn)也不會(huì)向其發(fā)送插件的關(guān)鍵信息,能夠避免資源浪費(fèi)。
進(jìn)一步地,本發(fā)明實(shí)施例還提供了另一種用于云存儲(chǔ)系統(tǒng)的插件控制方法過(guò)程,如圖3所示,該過(guò)程包括以下步驟:
s301,當(dāng)存在新上線或待更新的插件時(shí),確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
該方法可以應(yīng)用于云存儲(chǔ)系統(tǒng)中的插件管理節(jié)點(diǎn)。并且,該云存儲(chǔ)系統(tǒng)中還可以包括至少一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)可以與插件管理節(jié)點(diǎn)間通過(guò)網(wǎng)絡(luò)進(jìn)行通信,以進(jìn)行信息交互等。上述節(jié)點(diǎn)可以包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,插件管理節(jié)點(diǎn)可以為云存儲(chǔ)系統(tǒng)中一個(gè)單獨(dú)的節(jié)點(diǎn),或者,為了節(jié)省節(jié)點(diǎn)數(shù)目,也可以將插件管理節(jié)點(diǎn)配置在云存儲(chǔ)系統(tǒng)中任一個(gè)管理節(jié)點(diǎn)中。
在本發(fā)明實(shí)施例中,當(dāng)插件管理節(jié)點(diǎn)中存在新上線或待更新的插件時(shí),插件管理節(jié)點(diǎn)可以確定云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn),以將該插件的關(guān)鍵信息發(fā)送給該待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。具體地,插件管理節(jié)點(diǎn)可以首先確定待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
在一種實(shí)現(xiàn)方式中,插件管理節(jié)點(diǎn)可以按照設(shè)定的時(shí)間間隔(如1秒、2秒、3秒等),檢測(cè)自身是否有新上線或待更新的插件,當(dāng)檢測(cè)到自身有新上線或待更新的插件時(shí),可以將云存儲(chǔ)系統(tǒng)中的各個(gè)節(jié)點(diǎn)確定為該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn),以向該云存儲(chǔ)系統(tǒng)中的每個(gè)節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息。這種情況下,云存儲(chǔ)系統(tǒng)中的每個(gè)節(jié)點(diǎn)都可以接收到插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息,并可以根據(jù)該插件的關(guān)鍵信息確定是否安裝該插件。
在另一種實(shí)現(xiàn)方式中,插件管理節(jié)點(diǎn)為了對(duì)各節(jié)點(diǎn)中的插件進(jìn)行控制,在插件管理節(jié)點(diǎn)中可以保存每個(gè)節(jié)點(diǎn)中已安裝插件的索引信息。當(dāng)插件管理節(jié)點(diǎn)檢測(cè)到存在新上線或待更新的插件時(shí),可以根據(jù)該插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件的索引信息的匹配度,確定云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
例如,插件管理節(jié)點(diǎn)中保存的各節(jié)點(diǎn)中已安裝插件的索引信息可以為各已安裝插件的標(biāo)識(shí)信息、功能信息等。當(dāng)檢測(cè)到存在新上線或待更新的插件時(shí), 插件管理節(jié)點(diǎn)可以根據(jù)該插件的關(guān)鍵信息,該關(guān)鍵信息可以為:標(biāo)識(shí)信息、功能信息等,將該插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件對(duì)應(yīng)的索引信息進(jìn)行對(duì)比,計(jì)算該插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件的索引信息的匹配度,并將匹配度大于預(yù)定閾值的節(jié)點(diǎn)確定為云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
當(dāng)插件管理節(jié)點(diǎn)根據(jù)插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件的索引信息的匹配度,來(lái)確定云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)時(shí),將該插件的關(guān)鍵信息發(fā)送給該待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)后,每個(gè)節(jié)點(diǎn)安裝該插件的幾率會(huì)大大增加。并且,由于匹配度較低的節(jié)點(diǎn)安裝該插件的幾率較小,因此,插件管理節(jié)點(diǎn)不會(huì)向這些節(jié)點(diǎn)發(fā)送插件的關(guān)鍵信息,能夠減小插件管理節(jié)點(diǎn)與各節(jié)點(diǎn)間通信的數(shù)據(jù)量,減輕節(jié)點(diǎn)間通信壓力。
在再一種實(shí)現(xiàn)方式中,云存儲(chǔ)系統(tǒng)中的各個(gè)節(jié)點(diǎn)可以與插件管理節(jié)點(diǎn)進(jìn)行通信。具體地,各個(gè)節(jié)點(diǎn)可以檢測(cè)插件管理節(jié)點(diǎn)中是否有插件新上線或待更新。
例如,插件管理節(jié)點(diǎn)中可以預(yù)設(shè)一個(gè)存儲(chǔ)空間,只用來(lái)存儲(chǔ)新上線或待更新的插件。這種情況下,各節(jié)點(diǎn)可以按照預(yù)定的時(shí)間間隔(如1秒、2秒、5秒等),查詢插件管理節(jié)點(diǎn)中的該存儲(chǔ)空間,以檢測(cè)該存儲(chǔ)空間中是否保存有插件,當(dāng)檢測(cè)到該存儲(chǔ)空間保存有插件時(shí),可以表明該插件為新上線或待更新插件。
當(dāng)任一節(jié)點(diǎn)檢測(cè)到插件管理節(jié)點(diǎn)中有插件新上線或待更新時(shí),可以向插件管理節(jié)點(diǎn)發(fā)送獲取該插件的關(guān)鍵信息的請(qǐng)求。
因此,插件管理節(jié)點(diǎn)可以接收多個(gè)節(jié)點(diǎn)發(fā)送的獲取插件的關(guān)鍵信息的請(qǐng)求,并且,將發(fā)送該請(qǐng)求的多個(gè)節(jié)點(diǎn)確定為云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
通過(guò)將發(fā)送獲取插件關(guān)鍵信息的請(qǐng)求的節(jié)點(diǎn)確定為云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)加點(diǎn),能夠保證待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)都是正常工作的節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)出現(xiàn)故障時(shí),由于該節(jié)點(diǎn)不會(huì)向插件管理節(jié)點(diǎn)發(fā)送獲取插件的關(guān)鍵信息的請(qǐng)求,因此,插件管理節(jié)點(diǎn)也不會(huì)向其發(fā)送插件的關(guān)鍵信息,能夠避免資源浪費(fèi)。
s302,向所述每個(gè)節(jié)點(diǎn)發(fā)送所述插件的關(guān)鍵信息。
當(dāng)確定云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)后,插件管理節(jié)點(diǎn)可以向該每個(gè)節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息,以使得該每個(gè)節(jié)點(diǎn)根據(jù)該插件的關(guān)鍵信息,確定是否安裝該插件。
s303,接收第一節(jié)點(diǎn)發(fā)送的第一請(qǐng)求,其中所述第一請(qǐng)求為所述第一節(jié)點(diǎn)根據(jù)所述插件的關(guān)鍵信息確認(rèn)自身安裝所述插件時(shí)發(fā)送的。
在本發(fā)明實(shí)施例中,針對(duì)每個(gè)節(jié)點(diǎn),當(dāng)其確定安裝該插件時(shí),可以向插件管理節(jié)點(diǎn)發(fā)送獲取該插件內(nèi)容的請(qǐng)求。
具體地,當(dāng)任一節(jié)點(diǎn)接收到的插件的關(guān)鍵信息包括插件的標(biāo)識(shí)信息和插件的功能信息時(shí),該節(jié)點(diǎn)可以根據(jù)該插件的標(biāo)識(shí)信息和/或該插件的功能信息確認(rèn)是否安裝該插件。
例如,該節(jié)點(diǎn)可以判斷自身是否已安裝該標(biāo)識(shí)信息的插件,如果是,則可以表明該插件是自身已安裝插件更新后的插件,這種情況下,該節(jié)點(diǎn)可以確定安裝該插件,以使用更新后的插件,實(shí)現(xiàn)更多的功能擴(kuò)展。
該節(jié)點(diǎn)也可以根據(jù)該插件的功能信息確定是否安裝該插件。例如,該節(jié)點(diǎn)可以根據(jù)該插件的功能信息,以及自身已安裝應(yīng)用程序的功能信息,確定該插件的功能信息與自身已安裝應(yīng)用程序的功能信息的匹配度是否大于設(shè)定閾值(如80%、85%、90%等),如果是,則確定安裝該插件。
具體地,該節(jié)點(diǎn)可以計(jì)算該插件的功能信息與自身已安裝應(yīng)用程序的功能信息之間的文本匹配度,并將該文本匹配度作為該插件的功能信息與自身已安裝應(yīng)用程序的功能信息的匹配度。
需要說(shuō)明的是,該節(jié)點(diǎn)在計(jì)算該插件的功能信息與自身已安裝應(yīng)用程序的功能信息之間的文本匹配度時(shí),可以采用現(xiàn)有的任一種方法,本發(fā)明對(duì)此不作限定。
為了便于描述,在本發(fā)明實(shí)施例中,可以將確定安裝該插件的各個(gè)節(jié)點(diǎn)均稱為第一節(jié)點(diǎn)。
插件管理節(jié)點(diǎn)可以接收各第一節(jié)點(diǎn)發(fā)送的請(qǐng)求,以向各第一節(jié)點(diǎn)發(fā)送該插件內(nèi)容。
s304,將所述插件內(nèi)容發(fā)送給所述第一節(jié)點(diǎn),以使得所述第一節(jié)點(diǎn)加載所 述插件內(nèi)容。
當(dāng)接收到各個(gè)第一節(jié)點(diǎn)發(fā)送的請(qǐng)求后,插件管理節(jié)點(diǎn)可以將該插件內(nèi)容發(fā)送給各第一節(jié)點(diǎn)。以使得各第一節(jié)點(diǎn)加載該插件內(nèi)容,將該插件安裝在各第一節(jié)點(diǎn)中。
可選地,插件管理節(jié)點(diǎn)為了對(duì)各節(jié)點(diǎn)中的插件進(jìn)行控制,在插件管理節(jié)點(diǎn)中可以保存每個(gè)節(jié)點(diǎn)中已安裝插件的索引信息。這種情況下,插件管理節(jié)點(diǎn)可以接收各個(gè)第一節(jié)點(diǎn)發(fā)送的成功加載該插件的消息,并更新自身保存的對(duì)應(yīng)各個(gè)第一節(jié)點(diǎn)中已安裝插件的索引信息,以在插件管理節(jié)點(diǎn)中保存各個(gè)第一節(jié)點(diǎn)中最新的已安裝插件的索引信息。
本發(fā)明實(shí)施例提供的用于云存儲(chǔ)系統(tǒng)的插件控制方法,應(yīng)用于云存儲(chǔ)系統(tǒng)中的插件管理節(jié)點(diǎn),當(dāng)存在新上線或待更新的插件時(shí),可以首先確定云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn),然后向每個(gè)節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息,之后可以接收第一節(jié)點(diǎn)發(fā)送的第一請(qǐng)求,最后將該插件內(nèi)容發(fā)送給第一節(jié)點(diǎn),以使得第一節(jié)點(diǎn)加載該插件內(nèi)容,能夠?qū)崿F(xiàn)各節(jié)點(diǎn)自動(dòng)安裝插件,提高插件安裝效率。
相應(yīng)于上面的方法實(shí)施例,本發(fā)明實(shí)施例還提供了相應(yīng)的裝置實(shí)施例。
圖4為本發(fā)明實(shí)施例提供的一種用于云存儲(chǔ)系統(tǒng)的插件控制裝置,應(yīng)用于云存儲(chǔ)系統(tǒng)中的任一節(jié)點(diǎn),所述云存儲(chǔ)系統(tǒng)還包括至少一個(gè)插件管理節(jié)點(diǎn),所述裝置包括:
確定模塊410,用于當(dāng)接收到所述插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),根據(jù)所述插件的關(guān)鍵信息確定是否安裝所述插件,其中所述插件為新上線或待更新的插件;
第一發(fā)送模塊420,用于當(dāng)所述確定模塊確定安裝所述插件時(shí),向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件內(nèi)容的第一請(qǐng)求;
接收模塊430,用于接收所述插件管理節(jié)點(diǎn)發(fā)送的所述插件內(nèi)容,并加載所述插件內(nèi)容。
本發(fā)明實(shí)施例提供的用于云存儲(chǔ)系統(tǒng)的插件控制裝置,應(yīng)用于云存儲(chǔ)系統(tǒng) 中的任一節(jié)點(diǎn),各節(jié)點(diǎn)可以并行控制各自安裝的插件,且不需要操作人員對(duì)各節(jié)點(diǎn)中的插件進(jìn)行安裝,當(dāng)接收到插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),任一節(jié)點(diǎn)都可以根據(jù)自身特征確認(rèn)是否安裝該插件,當(dāng)確認(rèn)結(jié)果為是時(shí),該節(jié)點(diǎn)可以自動(dòng)安裝該插件,因此,能夠提高插件安裝效率。
進(jìn)一步地,所述插件的關(guān)鍵信息包括以下至少一項(xiàng):所述插件的標(biāo)識(shí)信息和所述插件的功能信息。
進(jìn)一步地,當(dāng)所述插件的關(guān)鍵信息包括所述插件的標(biāo)識(shí)信息和所述插件的功能信息時(shí),所述確定模塊410,具體用于:
根據(jù)所述插件的標(biāo)識(shí)信息,判斷自身是否已安裝所述標(biāo)識(shí)信息的插件,若是,則確定安裝所述插件;和/或
根據(jù)所述插件的功能信息,以及自身已安裝應(yīng)用程序的功能信息,確定所述插件的功能信息與所述自身已安裝應(yīng)用程序的功能信息的匹配度是否大于設(shè)定閾值,若是,則確定安裝所述插件。
進(jìn)一步地,所述插件管理節(jié)點(diǎn)中保存有每個(gè)節(jié)點(diǎn)中已安裝插件的索引信息,所述裝置還包括:
第二發(fā)送模塊(圖中未示出),用于當(dāng)成功加載所述插件內(nèi)容后,向所述插件管理節(jié)點(diǎn)發(fā)送加載成功的消息,以使得所述插件管理節(jié)點(diǎn)更新其保存的所述節(jié)點(diǎn)中已安裝插件的索引信息。
進(jìn)一步地,所述任一節(jié)點(diǎn)包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。
進(jìn)一步地,如圖5所示,本實(shí)施例提供的用于云存儲(chǔ)系統(tǒng)的插件控制裝置還包括:
檢測(cè)模塊440,用于在所述確定模塊410確定是否安裝所述插件之前,檢測(cè)所述插件管理節(jié)點(diǎn)中是否有插件新上線或待更新,若是,向所述插件管理節(jié)點(diǎn)發(fā)送獲取所述插件的關(guān)鍵信息的第二請(qǐng)求,以所得所述插件管理節(jié)點(diǎn)向自身發(fā)送所述插件的關(guān)鍵信息。
本方案中,可以由各個(gè)節(jié)點(diǎn)檢測(cè)插件管理節(jié)點(diǎn)中是否有插件新上線或待更新,當(dāng)任一節(jié)點(diǎn)檢測(cè)到插件管理節(jié)點(diǎn)中有插件新上線或待更新時(shí),向插件管理節(jié)點(diǎn)發(fā)送獲取該插件的關(guān)鍵信息的請(qǐng)求,插件管理節(jié)點(diǎn)才向該節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息,能夠保證插件管理節(jié)點(diǎn)向其發(fā)送插件的關(guān)鍵信息的節(jié)點(diǎn)都是正常工作的節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)出現(xiàn)故障時(shí),由于該節(jié)點(diǎn)不會(huì)向插件管理節(jié)點(diǎn)發(fā)送獲取插件的關(guān)鍵信息的請(qǐng)求,因此,插件管理節(jié)點(diǎn)也不會(huì)向其發(fā)送插件的關(guān)鍵信息,能夠避免資源浪費(fèi)。
圖6為本發(fā)明實(shí)施例提供的另一種用于云存儲(chǔ)系統(tǒng)的插件控制裝置,應(yīng)用于云存儲(chǔ)系統(tǒng)中的插件管理節(jié)點(diǎn),所述云存儲(chǔ)系統(tǒng)還包括至少一個(gè)節(jié)點(diǎn),所述插件管理節(jié)點(diǎn)與各個(gè)節(jié)點(diǎn)間通過(guò)網(wǎng)絡(luò)進(jìn)行通信,所述裝置包括:
確定模塊610,用于當(dāng)存在新上線或待更新的插件時(shí),確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn);
第一發(fā)送模塊620,用于向所述每個(gè)節(jié)點(diǎn)發(fā)送所述插件的關(guān)鍵信息;
接收模塊630,用于接收第一節(jié)點(diǎn)發(fā)送的第一請(qǐng)求,其中所述第一請(qǐng)求為所述第一節(jié)點(diǎn)根據(jù)所述插件的關(guān)鍵信息確認(rèn)自身安裝所述插件時(shí)發(fā)送的;
第二發(fā)送模塊640,用于將所述插件內(nèi)容發(fā)送給所述第一節(jié)點(diǎn),以使得所述第一節(jié)點(diǎn)加載所述插件內(nèi)容。
本發(fā)明實(shí)施例提供的用于云存儲(chǔ)系統(tǒng)的插件控制裝置,應(yīng)用于云存儲(chǔ)系統(tǒng)中的插件管理節(jié)點(diǎn),當(dāng)存在新上線或待更新的插件時(shí),可以首先確定云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn),然后向每個(gè)節(jié)點(diǎn)發(fā)送該插件的關(guān)鍵信息,之后可以接收第一節(jié)點(diǎn)發(fā)送的第一請(qǐng)求,最后將該插件內(nèi)容發(fā)送給第一節(jié)點(diǎn),以使得第一節(jié)點(diǎn)加載該插件內(nèi)容,能夠?qū)崿F(xiàn)各節(jié)點(diǎn)自動(dòng)安裝插件,提高插件安裝效率。
進(jìn)一步地,所述確定模塊610包括:
檢測(cè)子模塊(圖中未示出),用于檢測(cè)自身是否存在新上線或待更新的插件;
第一確定子模塊(圖中未示出),用于當(dāng)所述檢測(cè)子模塊檢測(cè)到存在新上線或待更新的插件時(shí),將所述云存儲(chǔ)系統(tǒng)中的各個(gè)節(jié)點(diǎn)確定為所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
進(jìn)一步地,所述第一確定子模塊,具體用于:
當(dāng)所述檢測(cè)子模塊檢測(cè)到存在新上線或待更新的插件時(shí),根據(jù)所述插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件的索引信息的匹配度,確定所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
當(dāng)插件管理節(jié)點(diǎn)根據(jù)插件的關(guān)鍵信息與自身保存的各節(jié)點(diǎn)中已安裝插件的索引信息的匹配度,來(lái)確定云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)時(shí),將該插件的關(guān)鍵信息發(fā)送給該待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)后,每個(gè)節(jié)點(diǎn)安裝該插件的幾率會(huì)大大增加。并且,由于匹配度較低的節(jié)點(diǎn)安裝該插件的幾率較小,因此,插件管理節(jié)點(diǎn)不會(huì)向這些節(jié)點(diǎn)發(fā)送插件的關(guān)鍵信息,能夠減小插件管理節(jié)點(diǎn)與各節(jié)點(diǎn)間通信的數(shù)據(jù)量,減輕節(jié)點(diǎn)間通信壓力。
進(jìn)一步地,所述確定模塊610,包括:
接收子模塊(圖中未示出),用于接收多個(gè)節(jié)點(diǎn)發(fā)送的獲取所述插件的關(guān)鍵信息的第二請(qǐng)求,其中,所述第二請(qǐng)求是所述多個(gè)節(jié)點(diǎn)檢測(cè)到所述插件管理節(jié)點(diǎn)存在新上線或待更新的插件時(shí),向所述插件管理節(jié)點(diǎn)發(fā)送的;
第二確定子模塊(圖中未示出),用于將發(fā)送所述第二請(qǐng)求的多個(gè)節(jié)點(diǎn)確定為所述云存儲(chǔ)系統(tǒng)中所述插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)。
通過(guò)將發(fā)送獲取插件關(guān)鍵信息的請(qǐng)求的節(jié)點(diǎn)確定為云存儲(chǔ)系統(tǒng)中該插件對(duì)應(yīng)的待加載節(jié)點(diǎn)組中的每個(gè)加點(diǎn),能夠保證待加載節(jié)點(diǎn)組中的每個(gè)節(jié)點(diǎn)都是正常工作的節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)出現(xiàn)故障時(shí),由于該節(jié)點(diǎn)不會(huì)向插件管理節(jié)點(diǎn)發(fā)送獲取插件的關(guān)鍵信息的請(qǐng)求,因此,插件管理節(jié)點(diǎn)也不會(huì)向其發(fā)送插件的關(guān)鍵信息,能夠避免資源浪費(fèi)。
進(jìn)一步地,所述裝置還包括:
更新模塊(圖中未示出),用于接收所述第一節(jié)點(diǎn)發(fā)送的成功加載所述插件的消息,并更新自身保存的所述第一節(jié)點(diǎn)中已安裝插件的索引信息。
進(jìn)一步地,所述節(jié)點(diǎn)包括:管理節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)或接入節(jié)點(diǎn)。
另外,本發(fā)明實(shí)施例還提供了一種云存儲(chǔ)系統(tǒng),該云存儲(chǔ)系統(tǒng)包括:如圖4-5實(shí)施例提供的設(shè)置在云存儲(chǔ)系統(tǒng)中任一節(jié)點(diǎn)中的插件控制裝置、以及如圖6實(shí)施例提供的設(shè)置在云存儲(chǔ)系統(tǒng)中插件管理節(jié)點(diǎn)中的插件控制裝置。
本發(fā)明實(shí)施例提供了一種用于云存儲(chǔ)系統(tǒng)的插件控制方法、裝置及云存儲(chǔ)系統(tǒng),該方法中各節(jié)點(diǎn)可以并行控制各自安裝的插件,且不需要操作人員對(duì)各節(jié)點(diǎn)中的插件進(jìn)行安裝,當(dāng)接收到插件管理節(jié)點(diǎn)發(fā)送的插件的關(guān)鍵信息時(shí),任一節(jié)點(diǎn)都可以根據(jù)自身特征確認(rèn)是否安裝該插件,當(dāng)確認(rèn)結(jié)果為是時(shí),該節(jié)點(diǎn)可以自動(dòng)安裝該插件,因此,能夠提高插件安裝效率。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。