一種同步數(shù)據(jù)消息傳輸方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明公開一種同步數(shù)據(jù)消息傳輸方法,屬于計算機通信領(lǐng)域。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)信息的迅速增加以及電子商務(wù)的發(fā)展,存儲技術(shù)已經(jīng)成為企業(yè)IT基礎(chǔ)架構(gòu)的一個關(guān)鍵因素。面對海量的數(shù)據(jù)信息增長,數(shù)據(jù)保護和災(zāi)難恢復(fù)也越來越重要。磁盤鏡像是在同一通道上裝有成對的兩個磁盤驅(qū)動器,分別驅(qū)動原盤和副盤。數(shù)據(jù)同時寫在兩個磁盤上,兩個盤串行交替工作,當原盤出現(xiàn)故障時,副盤仍舊能正常工作,從而保證了數(shù)據(jù)的正確性。通過磁盤鏡像既可以提高數(shù)據(jù)的高可靠性,又可以提高業(yè)務(wù)的連續(xù)性,從而為企業(yè)提供可靠、連續(xù)的業(yè)務(wù)。
[0003]使用磁盤鏡像時,發(fā)送cmd消息中,由于cmd和data消息是分離的,且每次消息都要等待ACK應(yīng)答消息,以便維持磁盤鏡像的正常工作,這就導(dǎo)致同步磁盤鏡像性能較低,針對上述問題,本發(fā)明設(shè)計了一種同步數(shù)據(jù)消息傳輸方法,多個數(shù)據(jù)傳輸組成一次事務(wù)傳輸,事務(wù)的開始和事務(wù)的結(jié)束需要ACK確認,事務(wù)中間的數(shù)據(jù)消息不需要ACK確認,通過序號保證數(shù)據(jù)有序和不丟失性,而通過減少數(shù)據(jù)ACK確認信息,減少消息交互,而其中消息中增加序號和標識消息是否結(jié)束的flag信息,只有命令消息需要ACK確認信息,數(shù)據(jù)消息發(fā)送不需要ACK確認信息,提高消息傳輸效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明針對使用磁盤鏡像時,發(fā)送cmd消息中,cmd和data消息是分離的,每次發(fā)送消息都要等待ACK應(yīng)答消息,導(dǎo)致同步磁盤鏡像性能較低的問題,提供一種同步數(shù)據(jù)消息傳輸方法,通過減少等待data消息應(yīng)答ACK消息時間,從而提高鏡像消息傳輸效率,提高磁盤鏡像寫性能,減少上層應(yīng)用寫延遲的時間,提高消息傳輸效率,提高應(yīng)用業(yè)務(wù)的性能。
[0005]本發(fā)明提出的具體方案是:
一種同步數(shù)據(jù)消息傳輸方法:數(shù)據(jù)消息傳輸過程中將連續(xù)多個數(shù)據(jù)傳輸通過事務(wù)號標注組成一次事務(wù)傳輸,事務(wù)傳輸?shù)拈_始消息和結(jié)束消息進行ACK確認,中間連續(xù)的數(shù)據(jù)消息傳輸不進行ACK確認,對中間連續(xù)的數(shù)據(jù)消息標記序號。
[0006]所述的連續(xù)多個數(shù)據(jù)傳輸使用相同的事務(wù)號。
[0007]所述的一次事務(wù)傳輸?shù)拈_始消息報文包含操作命令和部分數(shù)據(jù)內(nèi)容。
[0008]所述的一次事務(wù)傳輸?shù)慕Y(jié)束消息報文中增加flag信息標注報文是否結(jié)束。
[0009]所述的同步數(shù)據(jù)消息傳輸?shù)木唧w步驟為:
步驟I發(fā)送cmd消息,包含命令和數(shù)據(jù)內(nèi)容以及事務(wù)號和序號;
步驟2:等待cmd消息應(yīng)答ACK確認,如果步驟I中的消息既是事務(wù)開始消息又是事務(wù)結(jié)束消息,則等待完ACK后直接轉(zhuǎn)入步驟6,否則進行下一步;
步驟3:連續(xù)發(fā)送data消息,包含數(shù)據(jù)內(nèi)容、步驟I的cmd消息事務(wù)號、序號;
步驟4:發(fā)送data消息,包含數(shù)據(jù)內(nèi)容、步驟I的cmd消息事務(wù)號、序號以及標注本次事務(wù)結(jié)束的flag信息;
步驟5:等待data&cmd消息應(yīng)答ACK消息;
步驟6:多個連續(xù)的數(shù)據(jù)消息發(fā)送結(jié)束,即一次事務(wù)傳輸結(jié)束。
[0010]所述的步驟I中cmd消息還包括消息類型和消息長度。
[0011]本發(fā)明的有益之處是:本發(fā)明中多個數(shù)據(jù)傳輸組成一次事務(wù)傳輸,事務(wù)的開始和事務(wù)的結(jié)束需要ACK確認,事務(wù)中間的數(shù)據(jù)消息不需要ACK確認,通過序號保證數(shù)據(jù)有序和不丟失性,而通過減少數(shù)據(jù)ACK確認信息,減少消息交互,而其中消息中增加序號和標識消息是否結(jié)束的flag信息,只有命令消息需要ACK確認信息,數(shù)據(jù)消息發(fā)送不需要ACK確認信息,即通過減少等待data消息應(yīng)答ACK消息時間,從而提高鏡像消息傳輸效率,提高磁盤鏡像寫性能,減少上層應(yīng)用寫延遲的時間,提高消息傳輸效率,提高應(yīng)用業(yè)務(wù)的性能。
【附圖說明】
[0012]圖1現(xiàn)有同步數(shù)據(jù)消息傳輸方法示意圖;
圖2本發(fā)明同步數(shù)據(jù)消息傳輸方法示意圖。
【具體實施方式】
[0013]結(jié)合附圖對本發(fā)明做進一步說明。
[0014]一種同步數(shù)據(jù)消息傳輸方法:數(shù)據(jù)消息傳輸過程中將連續(xù)多個數(shù)據(jù)傳輸通過事務(wù)號標注組成一次事務(wù)傳輸,連續(xù)多個數(shù)據(jù)傳輸使用相同的事務(wù)號,事務(wù)傳輸?shù)拈_始消息和結(jié)束消息進行ACK確認,中間連續(xù)的數(shù)據(jù)消息傳輸不進行ACK確認,對中間連續(xù)的數(shù)據(jù)消息標記序號;
一次事務(wù)傳輸?shù)拈_始消息報文包含操作命令和部分數(shù)據(jù)內(nèi)容;
一次事務(wù)傳輸?shù)慕Y(jié)束消息報文中增加flag信息標注報文是否結(jié)束;
同步數(shù)據(jù)消息傳輸?shù)木唧w步驟為:
步驟I發(fā)送cmd消息,包含命令和數(shù)據(jù)內(nèi)容以及事務(wù)號和序號,還包括消息類型和消息長度;
步驟2:等待cmd消息應(yīng)答ACK確認,如果步驟I中的消息既是事務(wù)開始消息又是事務(wù)結(jié)束消息,則等待完ACK后直接轉(zhuǎn)入步驟6,否則進行下一步;
步驟3:連續(xù)發(fā)送data消息,包含數(shù)據(jù)內(nèi)容、步驟I的cmd消息事務(wù)號、序號;
步驟4:發(fā)送data消息,包含數(shù)據(jù)內(nèi)容、步驟I的cmd消息事務(wù)號、序號以及標注本次事務(wù)結(jié)束的flag信息;
步驟5:等待data&cmd消息應(yīng)答ACK消息;
步驟6:多個連續(xù)的數(shù)據(jù)消息發(fā)送結(jié)束,即一次事務(wù)傳輸結(jié)束。
[0015]圖1是現(xiàn)有的鏡像消息傳輸消息主要步驟是:
發(fā)送cmd消息,包含事務(wù)號、類型、長度;
等待cmd消息應(yīng)答ACK消息;
發(fā)送data消息,主要包含事務(wù)號、類型、長度;
等待data消息應(yīng)答ACK消息。由于cmd和data消息是分離的,且每次消息都要等待ACK應(yīng)答消息,導(dǎo)致同步磁盤鏡像性能較低。
[0016]如圖2所示,表示了本發(fā)明提供的同步數(shù)據(jù)消息傳輸方法:
以一次具體事務(wù)號為3舉例,包含數(shù)據(jù)需要連續(xù)發(fā)送5個數(shù)據(jù)的寫操作來說,需要經(jīng)過以下幾個步驟:
發(fā)送cmd消息,其中事務(wù)號為3、類型cmd&data、Ienth為1500、序號為O、標注消息是否結(jié)束flag O ;
等待cmd消息應(yīng)答ACK消息,其中事務(wù)號為3,類型為ACK,序號O ;
連續(xù)發(fā)送data消息,其中事務(wù)號為3,類型為data,序號分別為1、2、3 ;
發(fā)送data消息,其中事務(wù)號為3,類型為data&cmd,序號為4,標注消息是否結(jié)束flag
I ;
等待data&cmd消息的應(yīng)答ACK消息。
[0017]采用本發(fā)明的技術(shù)方案,通過減少等待data消息應(yīng)答ACK消息時間,從而提高鏡像消息傳輸效率,提高磁盤鏡像寫性能,減少上層應(yīng)用寫延遲的時間,提高應(yīng)用業(yè)務(wù)的性會K。
【主權(quán)項】
1.一種同步數(shù)據(jù)消息傳輸方法,其特征是數(shù)據(jù)消息傳輸過程中將連續(xù)多個數(shù)據(jù)傳輸通過事務(wù)號標注組成一次事務(wù)傳輸,事務(wù)傳輸?shù)拈_始消息和結(jié)束消息進行ACK確認,中間連續(xù)的數(shù)據(jù)消息傳輸不進行ACK確認,對中間連續(xù)的數(shù)據(jù)消息標記序號。
2.根據(jù)權(quán)利要求1所述的一種同步數(shù)據(jù)消息傳輸方法,其特征是所述的連續(xù)多個數(shù)據(jù)傳輸使用相同的事務(wù)號。
3.根據(jù)權(quán)利要求2所述的一種同步數(shù)據(jù)消息傳輸方法,其特征是所述的一次事務(wù)傳輸?shù)拈_始消息報文包含操作命令和部分數(shù)據(jù)內(nèi)容。
4.根據(jù)權(quán)利要求3所述的一種同步數(shù)據(jù)消息傳輸方法,其特征是所述的一次事務(wù)傳輸?shù)慕Y(jié)束消息報文中增加flag信息標注報文是否結(jié)束。
5.根據(jù)權(quán)利要求4所述的一種同步數(shù)據(jù)消息傳輸方法,其特征是所述的同步數(shù)據(jù)消息傳輸?shù)木唧w步驟為: 步驟I發(fā)送cmd消息,包含命令和數(shù)據(jù)內(nèi)容以及事務(wù)號和序號; 步驟2:等待cmd消息應(yīng)答ACK確認,如果步驟I中的消息既是事務(wù)開始消息又是事務(wù)結(jié)束消息,則等待完ACK后直接轉(zhuǎn)入步驟6,否則進行下一步; 步驟3:連續(xù)發(fā)送data消息,包含數(shù)據(jù)內(nèi)容、步驟I的cmd消息事務(wù)號、序號; 步驟4:發(fā)送data消息,包含數(shù)據(jù)內(nèi)容、步驟I的cmd消息事務(wù)號、序號以及標注本次事務(wù)結(jié)束的flag信息; 步驟5:等待data&cmd消息應(yīng)答ACK消息; 步驟6:多個連續(xù)的數(shù)據(jù)消息發(fā)送結(jié)束,即一次事務(wù)傳輸結(jié)束。
6.根據(jù)權(quán)利要求5或6所述的一種同步數(shù)據(jù)消息傳輸方法,其特征是所述的步驟I中cmd消息還包括消息類型和消息長度。
【專利摘要】本發(fā)明公開一種同步數(shù)據(jù)消息傳輸方法,屬于計算機通信領(lǐng)域;同步數(shù)據(jù)消息傳輸方法:數(shù)據(jù)消息傳輸過程中將連續(xù)多個數(shù)據(jù)傳輸通過事務(wù)號標注組成一次事務(wù)傳輸,事務(wù)傳輸?shù)拈_始消息和結(jié)束消息進行ACK確認,中間連續(xù)的數(shù)據(jù)消息傳輸不進行ACK確認,對中間連續(xù)的數(shù)據(jù)消息標記序號;本發(fā)明通過減少等待data消息應(yīng)答ACK消息時間,從而提高鏡像消息傳輸效率,提高磁盤鏡像寫性能,減少上層應(yīng)用寫延遲的時間,提高消息傳輸效率,提高應(yīng)用業(yè)務(wù)的性能。
【IPC分類】G06F3-06, H04L29-08, G06F11-20
【公開號】CN104796490
【申請?zhí)枴緾N201510228629
【發(fā)明人】王志華, 魏顯玉, 吳丙濤
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
【公開日】2015年7月22日
【申請日】2015年5月7日