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