進行數(shù)據云存儲的方法及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據存儲技術,尤其涉及進行數(shù)據云存儲的方法及系統(tǒng)。
【背景技術】
[0002]客戶端進行數(shù)據采集后,需要存儲到云端。云端提供了多個存儲節(jié)點,云端的索引服務器接收來自客戶端的存儲請求,為其分配存儲節(jié)點;而后,客戶端將數(shù)據存儲到為其分配的存儲節(jié)點中。
[0003]目前,視頻數(shù)據云存儲的方案中,每個存儲節(jié)點采用單進程進行數(shù)據處理,單進程提供統(tǒng)一接口對外服務。這種單進程方式的缺陷是顯而易見的:隨著功能的增加,統(tǒng)一對外服務的單進程會越來越龐大,越來越復雜,最后可能效率降低,速度越來越慢,并且增減功能模塊比較復雜;如果在同一時間段內接收到多個處理請求,單進程需排隊對處理請求逐一進行處理,效率很低,無法滿足日益增長的功能需求。
[0004]綜上,現(xiàn)有采用單進程進行數(shù)據云存儲的方案,存在速度慢、處理效率低的缺陷。
【發(fā)明內容】
[0005]本發(fā)明提供了一種進行數(shù)據云存儲的方法,該方法能夠提高數(shù)據云存儲的效率。
[0006]本發(fā)明提供了一種進行數(shù)據云存儲的系統(tǒng),該系統(tǒng)能夠提高數(shù)據云存儲的效率。
[0007]—種進行數(shù)據云存儲的方法,該方法在每個存儲節(jié)點設置至少兩個進程,每個進程對應一個外部端口,在索引服務器內記錄每個存儲節(jié)點內各進程對應的外部端口號,該方法包括:
[0008]索引服務器接收來自客戶端的包含通道標識的存儲請求,為存儲請求選擇存儲節(jié)點,表示為第一存儲節(jié)點,并從第一存儲節(jié)點對應的各進程中選擇出進程,表示為第一進程,將第一存儲節(jié)點的標識和第一進程的第一外部端口號反饋給客戶端;
[0009]第一存儲節(jié)點中的第一進程通過第一外部端口號接收來自客戶端的存儲請求;
[0010]第一進程為存儲請求選擇存儲設備,表示為第一存儲設備,從第一存儲設備的設備共享內存中獲取用于進行數(shù)據存儲的數(shù)據塊的描述信息,表示為第一描述信息,在第一描述信息對應的數(shù)據塊中寫入數(shù)據,在索引服務器中對應通道標識存儲第一存儲節(jié)點的標識、第一存儲設備的標識和第一描述信息。
[0011]—種進行數(shù)據云存儲的系統(tǒng),該系統(tǒng)包括索引服務器和存儲節(jié)點;每個存儲節(jié)點設置至少兩個進程,每個進程對應一個外部端口 ;
[0012]所述索引服務器,記錄每個存儲節(jié)點內各進程對應的外部端口號;收來自客戶端的包含通道標識的存儲請求,為存儲請求選擇存儲節(jié)點,表示為第一存儲節(jié)點,并從第一存儲節(jié)點對應的各進程中選擇出進程,表示為第一進程,將第一存儲節(jié)點的標識和第一進程的第一外部端口號反饋給客戶端;并接收來自所述第一存儲節(jié)點的記錄請求,對應通道標識存儲第一存儲節(jié)點的標識、第一存儲設備的標識和第一描述信息;
[0013]所述第一存儲節(jié)點中的第一進程,通過第一外部端口號接收來自客戶端的存儲請求,為存儲請求選擇存儲設備,表示為第一存儲設備,從第一存儲設備的設備共享內存中獲取用于進行數(shù)據存儲的數(shù)據塊的描述信息,表示為第一描述信息,在第一描述信息對應的數(shù)據塊中寫入數(shù)據,向所述索引服務器反饋記錄請求,所述記錄請求包含第一存儲節(jié)點的標識、第一存儲設備的標識、第一描述信息以及通道標識。
[0014]從上述方案可以看出,本發(fā)明中,在每個存儲節(jié)點設置至少兩個進程,每個進程對應一個外部端口,在索引服務器內記錄每個存儲節(jié)點內各進程對應的外部端口號;索引服務器接收來自客戶端的包含通道標識的存儲請求后,為存儲請求選擇存儲節(jié)點和進程,將選擇出的第一存儲節(jié)點的標識和第一進程的第一外部端口號反饋給客戶端;第一進程通過第一外部端口號接收存儲請求,為存儲請求選擇第一存儲設備,從第一存儲設備的設備共享內存中獲取用于進行數(shù)據存儲的數(shù)據塊的描述信息,進行數(shù)據寫入,并在索引服務器中對應通道標識存儲第一存儲節(jié)點的標識、第一存儲設備的標識和第一描述信息。采用本發(fā)明提供的多進程方案進行數(shù)據云存儲,存儲節(jié)點上的多個進程可同時進行數(shù)據處理,提高了云存儲的速度和效率,進一步滿足了需求。
【附圖說明】
[0015]圖1為本發(fā)明進行數(shù)據云存儲的方法示意性流程圖;
[0016]圖2為本發(fā)明中進程啟動的方法流程圖實例;
[0017]圖3為本發(fā)明中存儲設備上線的方法流程圖實例;
[0018]圖4為本發(fā)明中存儲設備下線的方法流程圖實例;
[0019]圖5為本發(fā)明中存儲設備初始化的方法流程圖實例;
[0020]圖6為本發(fā)明進行數(shù)據云存儲中申請未滿塊的方法流程圖實例;
[0021]圖7為本發(fā)明進行數(shù)據云存儲中申請空閑塊的方法流程圖實例;
[0022]圖8為本發(fā)明進程數(shù)據云存儲的系統(tǒng)結構示意圖。
【具體實施方式】
[0023]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下面結合實施例和附圖,對本發(fā)明進一步詳細說明。
[0024]現(xiàn)有技術中,采用單進程進行數(shù)據云存儲,存在速度慢、處理效率低的缺陷。針對該問題,本發(fā)明提供了采用多進程進行數(shù)據云存儲的方案,以提高云存儲的速度和效率,進一步滿足需求。
[0025]參見圖1,為本發(fā)明進行數(shù)據云存儲的方法流程圖實例,該方法在每個存儲節(jié)點設置至少兩個進程,每個進程對應一個外部端口,在索引服務器內記錄每個存儲節(jié)點內各進程對應的外部端口號。圖1的流程包括以下步驟:
[0026]步驟101,索引服務器接收來自客戶端的包含通道標識的存儲請求,為存儲請求選擇存儲節(jié)點,表示為第一存儲節(jié)點,并從第一存儲節(jié)點對應的各進程中選擇出進程,表示為第一進程,將第一存儲節(jié)點的標識和第一進程的第一外部端口號反饋給客戶端。
[0027]需要進行數(shù)據存儲時,客戶端向索引服務器發(fā)送包含通道標識的存儲請求,每個通道標識對應一個數(shù)據采集設備,每個數(shù)據采集設備進行數(shù)據采集后,通過客戶端存儲到云端的存儲節(jié)點中。
[0028]索引服務器為存儲請求選擇存儲節(jié)點,可采用現(xiàn)有的選擇策略實現(xiàn),例如選擇具有足夠空閑容量的存儲節(jié)點。
[0029]選擇出第一存儲節(jié)點后,從第一存儲節(jié)點對應的各進程中選擇出第一進程,其選擇方式有多種,例如,采用輪詢方式,按照預先設定的順序逐個為客戶端選擇進程;或者,從當前空閑的進程中選擇任一進程,作為第一進程。
[0030]步驟102,第一存儲節(jié)點中的第一進程通過第一外部端口號接收來自客戶端的存儲請求。
[0031]客戶端接收來自索引服務器反饋的第一存儲節(jié)點的標識和第一外部端口號后,向第一存儲節(jié)點發(fā)起存儲請求,由第一進程進行數(shù)據存儲處理。
[0032]步驟103,第一進程為存儲請求選擇存儲設備,表示為第一存儲設備,從第一存儲設備的設備共享內存中獲取用于進行數(shù)據存儲的數(shù)據塊的描述信息,表示為第一描述信息,在第一描述信息對應的數(shù)據塊中寫入數(shù)據,在索引服務器中對應通道標識存儲第一存儲節(jié)點的標識、第一存儲設備的標識和第一描述信息。
[0033]每個存儲節(jié)點內有至少一個存儲設備。第一進程為存儲請求選擇存儲設備的策略可采用多種方式實現(xiàn),例如,從當前空閑的存儲設備中選擇任一個,作為第一存儲設備;還可以,從存儲設備中選擇當前空閑容量最大的一個,作為第一存儲設備。每個存儲設備對應一個設備共享內存,記錄了相應存儲設備中空閑數(shù)據塊的描述信息。確定第一存儲設備后,從相應設備共享內存中選取用于進行數(shù)據存儲的數(shù)據塊的描述信息;然后通知客戶端發(fā)送數(shù)據,將數(shù)據寫入到第一存儲設備內的相應數(shù)據塊中。并在索引服務器中對應通道標識存儲第一存儲節(jié)點的標識、第一存儲設備的標識和第一描述信息;記錄后,可根據需要在索引服務器查詢與某通道標識對應的第一存儲節(jié)點的標識、第一存儲設備的標識和第一描述