1.一種P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,包括一個(gè)主直播源站和至少一個(gè)備用直播源站;
所述主直播源站用于接收待直播的視頻數(shù)據(jù),并將視頻數(shù)據(jù)依次寫入多個(gè)第一chunk中;
所述主直播源站還用于利用自增ID依次為每個(gè)第一chunk設(shè)置第一標(biāo)識(shí)ID,并將每個(gè)第一chunk的第一標(biāo)識(shí)ID同步至所述至少一個(gè)備用直播源站;
在所述主直播源站發(fā)生故障時(shí),從所述至少一個(gè)備用直播源站中選取一目標(biāo)備用直播源站并切換為新的主直播源站;
所述新的主直播源站用于繼續(xù)接收所述待直播的視頻數(shù)據(jù),并將視頻數(shù)據(jù)依次寫入多個(gè)第二chunk中;
所述新的主直播源站還用于查詢所述第一標(biāo)識(shí)ID的最大值,并利用自增ID依次為每個(gè)第二chunk設(shè)置第二標(biāo)識(shí)ID;所述第二標(biāo)識(shí)ID的最小值大于所述第一標(biāo)識(shí)ID的最大值。
2.如權(quán)利要求1所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述新的主直播源站還用于將每個(gè)第二chunk的第二標(biāo)識(shí)ID同步至其它備用直播源站。
3.如權(quán)利要求1所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述第二標(biāo)識(shí)ID的最小值與所述第一標(biāo)識(shí)ID的最大值滿足如下比較關(guān)系:
C2>C1+(ΔT*R)/Csize;
其中C2表示所述第二標(biāo)識(shí)ID的最小值,C1表示所述新的主直播源站被同步過的所述第一標(biāo)識(shí)ID的最大值,ΔT表示從所述主直播源站發(fā)生故障到所述目標(biāo)備用直播源站切換為新的主直播源站之間的時(shí)間間隔,R表示將視頻數(shù)據(jù)寫入所述第一chunk中的碼率,Csize表示所述第一chunk的容量。
4.如權(quán)利要求3所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述第二標(biāo)識(shí)ID的最小值與所述第一標(biāo)識(shí)ID的最大值之差比(ΔT*R)/Csize至少大一個(gè)數(shù)量級(jí)。
5.如權(quán)利要求1所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述主直播源站用于定時(shí)同步每個(gè)第一chunk的第一標(biāo)識(shí)ID。
6.如權(quán)利要求2所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述新的主直播源站用于定時(shí)同步每個(gè)第二chunk的第二標(biāo)識(shí)ID。
7.如權(quán)利要求1-6中任意一項(xiàng)所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述保持系統(tǒng)還包括多個(gè)邊緣服務(wù)器和多個(gè)直播節(jié)點(diǎn);
所述主直播源站還用于將所述多個(gè)第一chunk分發(fā)至所述多個(gè)邊緣服務(wù)器,所述新的主直播源站還用于將所述多個(gè)第二chunk分發(fā)至所述多個(gè)邊緣服務(wù)器;
所述邊緣服務(wù)器用于對(duì)每個(gè)chunk執(zhí)行編碼操作以生成多個(gè)與所述chunk具有相同標(biāo)識(shí)ID的編碼片段,并將編碼片段發(fā)送至直播節(jié)點(diǎn),不同直播節(jié)點(diǎn)之間用于相互交換編碼片段,所述直播節(jié)點(diǎn)用于對(duì)具有相同標(biāo)識(shí)ID的編碼片段執(zhí)行解碼操作以恢復(fù)chunk;
所述chunk包括所述第一chunk及所述第二chunk。
8.如權(quán)利要求7所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述編碼操作為糾刪碼編碼操作,所述解碼操作為糾刪碼解碼操作,不同直播節(jié)點(diǎn)之間用于通過P2P方式相互交換編碼片段。
9.如權(quán)利要求7所述的P2P直播的視頻數(shù)據(jù)一致性的保持系統(tǒng),其特征在于,所述保持系統(tǒng)還包括窗口設(shè)置模塊,所述窗口設(shè)置模塊用于設(shè)置一接收窗口及一跳躍窗口;所述接收窗口及所述跳躍窗口均為ID集合,所述第一標(biāo)識(shí)ID均屬于所述接收窗口,所述第二標(biāo)識(shí)ID均屬于所述跳躍窗口;
所述直播節(jié)點(diǎn)用于在接收到一個(gè)目標(biāo)chunk的編碼片段后,檢測(cè)所述目標(biāo)chunk的標(biāo)識(shí)ID是否屬于所述接收窗口或所述跳躍窗口;
若所述目標(biāo)chunk的標(biāo)識(shí)ID不屬于所述接收窗口及所述跳躍窗口,則丟棄所述目標(biāo)chunk的編碼片段;
若所述目標(biāo)chunk的標(biāo)識(shí)ID屬于所述接收窗口,則對(duì)所述目標(biāo)chunk執(zhí)行解碼操作,并增大所述接收窗口及所述跳躍窗口的最小值;
若所述目標(biāo)chunk的標(biāo)識(shí)ID屬于所述跳躍窗口,則修改所述接收窗口及所述跳躍窗口的最小值,并使得所述目標(biāo)chunk的標(biāo)識(shí)ID屬于修改后的接收窗口。
10.一種P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,包括以下步驟:
S1、主直播源站接收待直播的視頻數(shù)據(jù),并將視頻數(shù)據(jù)依次寫入多個(gè)第一chunk中;
S2、所述主直播源站利用自增ID依次為每個(gè)第一chunk設(shè)置第一標(biāo)識(shí)ID,并將每個(gè)第一chunk的第一標(biāo)識(shí)ID同步至至少一個(gè)備用直播源站;
S3、在所述主直播源站發(fā)生故障時(shí),從所述至少一個(gè)備用直播源站中選取一目標(biāo)備用直播源站并切換為新的主直播源站;
S4、所述新的主直播源站繼續(xù)接收所述待直播的視頻數(shù)據(jù),并將視頻數(shù)據(jù)依次寫入多個(gè)第二chunk中;
S5、所述新的主直播源站查詢所述第一標(biāo)識(shí)ID的最大值,并利用自增ID依次為每個(gè)第二chunk設(shè)置第二標(biāo)識(shí)ID;所述第二標(biāo)識(shí)ID的最小值大于所述第一標(biāo)識(shí)ID的最大值。
11.如權(quán)利要求10所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,步驟S5之后還包括:
S6、所述新的主直播源站將每個(gè)第二chunk的第二標(biāo)識(shí)ID同步至其它備用直播源站。
12.如權(quán)利要求10所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,所述第二標(biāo)識(shí)ID的最小值與所述第一標(biāo)識(shí)ID的最大值滿足如下比較關(guān)系:
C2>C1+(ΔT*R)/Csize;
其中C2表示所述第二標(biāo)識(shí)ID的最小值,C1表示所述新的主直播源站被同步過的所述第一標(biāo)識(shí)ID的最大值,ΔT表示從所述主直播源站發(fā)生故障到所述目標(biāo)備用直播源站切換為新的主直播源站之間的時(shí)間間隔,R表示將視頻數(shù)據(jù)寫入所述第一chunk中的碼率,Csize表示所述第一chunk的容量。
13.如權(quán)利要求12所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,所述第二標(biāo)識(shí)ID的最小值與所述第一標(biāo)識(shí)ID的最大值之差比(ΔT*R)/Csize至少大一個(gè)數(shù)量級(jí)。
14.如權(quán)利要求10所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,步驟S2中所述主直播源站定時(shí)同步每個(gè)第一chunk的第一標(biāo)識(shí)ID。
15.如權(quán)利要求11所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,步驟S6中所述新的主直播源站定時(shí)同步每個(gè)第二chunk的第二標(biāo)識(shí)ID。
16.如權(quán)利要求10-15中任意一項(xiàng)所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,步驟S5之后還包括:
S7、所述主直播源站將所述多個(gè)第一chunk分發(fā)至多個(gè)邊緣服務(wù)器,所述新的主直播源站將所述多個(gè)第二chunk分發(fā)至所述多個(gè)邊緣服務(wù)器;
所述邊緣服務(wù)器對(duì)每個(gè)chunk執(zhí)行編碼操作以生成多個(gè)與所述chunk具有相同標(biāo)識(shí)ID的編碼片段,并將編碼片段發(fā)送至直播節(jié)點(diǎn),不同直播節(jié)點(diǎn)之間相互交換編碼片段,所述直播節(jié)點(diǎn)對(duì)具有相同標(biāo)識(shí)ID的編碼片段執(zhí)行解碼操作以恢復(fù)chunk;
所述chunk包括所述第一chunk及所述第二chunk。
17.如權(quán)利要求16所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,步驟S7中所述編碼操作為糾刪碼編碼操作,所述解碼操作為糾刪碼解碼操作,不同直播節(jié)點(diǎn)之間用于通過P2P方式相互交換編碼片段。
18.如權(quán)利要求16所述的P2P直播的視頻數(shù)據(jù)一致性的保持方法,其特征在于,步驟S7還包括以下步驟:
S8、設(shè)置一接收窗口及一跳躍窗口;所述接收窗口及所述跳躍窗口均為ID集合,所述第一標(biāo)識(shí)ID均屬于所述接收窗口,所述第二標(biāo)識(shí)ID均屬于所述跳躍窗口;
S9、所述直播節(jié)點(diǎn)在接收到一個(gè)目標(biāo)chunk的編碼片段后,檢測(cè)所述目標(biāo)chunk的標(biāo)識(shí)ID是否屬于所述接收窗口或所述跳躍窗口;
若所述目標(biāo)chunk的標(biāo)識(shí)ID不屬于所述接收窗口及所述跳躍窗口,則丟棄所述目標(biāo)chunk的編碼片段;
若所述目標(biāo)chunk的標(biāo)識(shí)ID屬于所述接收窗口,則對(duì)所述目標(biāo)chunk執(zhí)行解碼操作,并增大所述接收窗口及所述跳躍窗口的最小值;
若所述目標(biāo)chunk的標(biāo)識(shí)ID屬于所述跳躍窗口,則修改所述接收窗口及所述跳躍窗口的最小值,并使得所述目標(biāo)chunk的標(biāo)識(shí)ID屬于修改后的接收窗口。