一種視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲技術(shù),特別涉及一種視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換方法和系統(tǒng)。
【背景技術(shù)】
[0002]視頻云存儲系統(tǒng),是指通過集群應(yīng)用、網(wǎng)絡(luò)技術(shù)和分布式文件系統(tǒng)等,將網(wǎng)絡(luò)中大量的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供視頻數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的系統(tǒng)。
[0003]目前,當(dāng)需要對視頻云存儲系統(tǒng)中的數(shù)據(jù)進行替換時,通常采用數(shù)據(jù)熱替換的方式,所謂數(shù)據(jù)熱替換,即指進程不停機,進行內(nèi)部數(shù)據(jù)的全量更新替換。
[0004]具體的,可采用以下方式來實現(xiàn)數(shù)據(jù)熱替換。
[0005]方式一
[0006]數(shù)據(jù)通過socket傳輸?shù)揭曨l云存儲系統(tǒng)的服務(wù)進程,數(shù)據(jù)的格式預(yù)先約定好,數(shù)據(jù)接收完成后,由服務(wù)進程按照預(yù)先約定好的方式進行數(shù)據(jù)替換。
[0007]這種方式的弊端在于:服務(wù)進程需要專門創(chuàng)建一個socket來進行數(shù)據(jù)接收,socket的創(chuàng)建需要消耗端口號,同時socket的接收服務(wù)開發(fā)和維護相對復(fù)雜,數(shù)據(jù)的接收速度也較慢;另外,數(shù)據(jù)必須全部接收完,由服務(wù)進程確定數(shù)據(jù)的完整性之后,才能進行數(shù)據(jù)替換,如果只接收到一半即出現(xiàn)異常網(wǎng)線斷開,則需要重新傳輸之前已經(jīng)傳輸過的數(shù)據(jù);也就是說,這種方式的替換速度較慢,且會增加資源消耗。
[0008]方式二
[0009]數(shù)據(jù)通過第三方中轉(zhuǎn)到服務(wù)進程,如數(shù)據(jù)預(yù)先存儲到數(shù)據(jù)庫中,然后通過信號或者socket發(fā)送協(xié)議的方式通知替換。
[0010]這種方式的弊端在于:數(shù)據(jù)需要在第三方進行中轉(zhuǎn),從而增加了資源消耗;而且,如果通知替換的接口為socket的話,也會存在方式一中所述的關(guān)于socket的弊端。
【發(fā)明內(nèi)容】
[0011]有鑒于此,本發(fā)明提供了一種視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換方法和系統(tǒng),能夠提高替換速度和減少資源消耗。
[0012]為了達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
[0013]一種視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換方法,包括:
[0014]視頻云存儲系統(tǒng)中的服務(wù)進程啟動,將預(yù)先生成的、存儲在磁盤上的文件A映射到物理內(nèi)存中;
[0015]當(dāng)需要進行數(shù)據(jù)熱替換時,替換進程啟動,并將預(yù)先生成的、存儲在磁盤上的文件B映射到文件A在物理內(nèi)存中的映射區(qū)域處;
[0016]其中,文件A為由原始數(shù)據(jù)生成的文件,文件B為由替換數(shù)據(jù)生成的文件。
[0017]一種視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換系統(tǒng),包括:
[0018]服務(wù)進程,用于當(dāng)自身啟動后,將預(yù)先生成的、存儲在磁盤上的文件A映射到物理內(nèi)存中,其中,文件A為由原始數(shù)據(jù)生成的文件;
[0019]替換進程,用于當(dāng)需要進行數(shù)據(jù)熱替換時啟動,并將預(yù)先生成的、存儲在磁盤上的文件B映射到文件A在物理內(nèi)存中的映射區(qū)域處,其中,文件B為由替換數(shù)據(jù)生成的文件。
[0020]可見,采用本發(fā)明所述方案,無需進行socket的創(chuàng)建或借助于第三方的中轉(zhuǎn),即可實現(xiàn)數(shù)據(jù)熱替換,從而克服了現(xiàn)有技術(shù)中存在的問題,進而提高了替換速度和減少了資源消耗;而且,本發(fā)明所述方案實現(xiàn)起來簡單方便,從而便于進行普及和推廣。
【附圖說明】
[0021]圖1為本發(fā)明視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換方法實施例的流程圖。
[0022]圖2為本發(fā)明服務(wù)進程和替換進程的工作方式示意圖。
【具體實施方式】
[0023]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明中提出一種視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換方案,能夠提高替換速度和減少資源消耗等。
[0024]為了使本發(fā)明的技術(shù)方案更加清楚、明白,以下參照附圖并舉實施例,對本發(fā)明所述方案作進一步的詳細說明。
[0025]圖1為本發(fā)明視頻云存儲系統(tǒng)中的數(shù)據(jù)熱替換方法實施例的流程圖。如圖1所示,包括以下步驟11?12。
[0026]步驟11:視頻云存儲系統(tǒng)中的服務(wù)進程啟動,將預(yù)先生成的、存儲在磁盤上的文件A映射到物理內(nèi)存中,其中,文件A為由原始數(shù)據(jù)生成的文件。
[0027]服務(wù)進程是視頻云存儲系統(tǒng)對外提供功能服務(wù)的進程,是整個視頻云存儲系統(tǒng)的主體進程。
[0028]具體地,當(dāng)服務(wù)進程啟動之后,可通過內(nèi)存磁盤映射的方式,將預(yù)先生成的、存儲在磁盤上的文件A映射到物理內(nèi)存中,內(nèi)存磁盤映射方式的具體實現(xiàn)為現(xiàn)有技術(shù)。
[0029]如前所述,文件A為由原始數(shù)據(jù)(即替換之前的舊數(shù)據(jù))生成的文件,文件A的具體格式不作限制,可根據(jù)實際需要而定,另外,文件A可預(yù)先手動或自動生成,具體生成方式同樣不作限制。
[0030]服務(wù)進程在將文件A映射到物理內(nèi)存中之后,可直接對所映射的文件A進行操作,如進行增刪查改等操作。
[0031]另外,為了防止與其它進程發(fā)生沖突,在每次進行操作之前,服務(wù)進程通常還需要針對文件A在物理內(nèi)存中的映射區(qū)域加進程間鎖(LOCK),用于鎖定所述映射區(qū)域,之后即可進行相應(yīng)操作,并在操作完成時,解所述進程間鎖,以釋放對所述映射區(qū)域的占用,如何加所述進程間鎖和解所述進程間鎖均為現(xiàn)有技術(shù)。
[0032]步驟12:當(dāng)需要進行數(shù)據(jù)熱替換時,替換進程啟動,并將預(yù)先生成的、存儲在磁盤上的文件B映射到文件A在物理內(nèi)存中的映射區(qū)域處,其中,文件B為由替換數(shù)據(jù)生成的文件。
[0033]當(dāng)需要進行數(shù)據(jù)熱替換時,可手動或自動啟動替換進程,如何進行啟動不作限制,之后,替換進程可通過內(nèi)存磁盤映射的方式,將預(yù)先生成的、存儲在磁盤上的文件B映射到文件A在物理內(nèi)存中的映射區(qū)域處。
[0034]如前所述,文件B為由替換數(shù)據(jù)(即替換之后的新數(shù)據(jù))生成的文件,文件B的具體格式同樣不作限制,可根據(jù)實際需要而定,另外,文件B可預(yù)先手動或自動生成,具體生成方式同樣不作限制,在磁盤上,文件A和文件B分開存放,即是兩個不同的文件。
[0035]另外,與服務(wù)進程類似,替換進程在將文件B映射到文件A在物理內(nèi)存中的映射區(qū)域處之前,還需要針對所述映射區(qū)域加進程間鎖,之后即可將文件B映射到所述映射區(qū)域處,并在映射完成后,解所述進程間鎖。
[0036]通過上述操作,即可替換文件A映射到物理內(nèi)存中的內(nèi)容,同時,由于采用了內(nèi)存磁盤映射的方式,因此磁盤上的文件A的內(nèi)容也會被文件B的內(nèi)容所替換,相應(yīng)地,為了節(jié)省磁盤的存儲空間,替換進程可將文件B從磁盤上刪除,并退出進程。
[0037]后續(xù),當(dāng)服務(wù)進程對文件A進行操作時,即是對內(nèi)容進行了替換后的文件A進行操作。
[0038]基于上述介紹,圖2為本發(fā)明服務(wù)進程和替換進程的工作方式示意圖。
[0039]如圖2所示,其中服務(wù)進程的工作方式為:
[0040]服務(wù)進程啟動;
[0041]服務(wù)進程通過內(nèi)存磁盤映射的方式,將預(yù)先生成的、存儲在磁盤上的文件A映射到