本發(fā)明屬一種網(wǎng)絡(luò)數(shù)據(jù)的傳輸系統(tǒng),具體涉及一種大數(shù)據(jù)的衛(wèi)星網(wǎng)絡(luò)傳輸系統(tǒng)。
背景技術(shù):
目前,大數(shù)據(jù)媒體的的發(fā)行方式是將數(shù)據(jù)文件拷貝到存儲量較大的硬盤中,通過郵局(快遞)寄送或派人送達(dá),這種方式存在發(fā)行速度慢、效率低、安全性差的問題。隨著通信網(wǎng)絡(luò)的快速發(fā)展,建機(jī)規(guī)模化的高效大數(shù)據(jù)媒體發(fā)行網(wǎng)絡(luò)成為普及數(shù)字媒體的一個(gè)重要手段,而且也是數(shù)據(jù)媒體有效運(yùn)營的重要環(huán)節(jié)。
大數(shù)據(jù)媒體的網(wǎng)絡(luò)傳輸?shù)哪J绞前l(fā)送端將原始大數(shù)據(jù)文件通過網(wǎng)絡(luò)傳輸?shù)蕉鄠€(gè)用戶接收端,在這過程中,發(fā)送端服務(wù)器要讀取原始大數(shù)據(jù)文件,并將其分割成若干編號的數(shù)據(jù)包進(jìn)行發(fā)送,目前在發(fā)送端,存在對原始大數(shù)據(jù)文件讀取、編號、打包、發(fā)送的效率和穩(wěn)定性均較低的問題,影響了數(shù)據(jù)的傳輸效率。
此外,為了保證接收數(shù)據(jù)的完整,網(wǎng)絡(luò)傳輸均設(shè)有糾錯(cuò)機(jī)制:在接收端設(shè)有驗(yàn)包程序,根據(jù)驗(yàn)包結(jié)果對丟失數(shù)據(jù)進(jìn)行補(bǔ)充,最終生成完整的大數(shù)據(jù)文件。目前的糾錯(cuò)方法通常是在發(fā)送數(shù)據(jù)包時(shí),插入若干冗余包,接收端可以利用冗余包來恢復(fù)丟失的源數(shù)據(jù)包,冗余度(兀余包與數(shù)據(jù)包之比)越高,其糾錯(cuò)能力越強(qiáng),但同時(shí)帶來的問題是占用的帶寬也越大,降低了帶寬的利用率和數(shù)據(jù)傳輸?shù)男省?/p>
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種能提高數(shù)據(jù)包發(fā)送效率和穩(wěn)定性,并能提高傳輸網(wǎng)絡(luò)帶寬利用率,提高網(wǎng)絡(luò)傳輸效率的大數(shù)據(jù)衛(wèi)星網(wǎng)絡(luò)傳輸系統(tǒng)。
本發(fā)明的進(jìn)一步方案是提供一種能夠提高補(bǔ)包效率的大數(shù)據(jù)衛(wèi)星網(wǎng)絡(luò)傳輸系統(tǒng)。
本發(fā)明包含下述內(nèi)容:
發(fā)送端服務(wù)器讀取原始大數(shù)據(jù)文件,并對讀取的數(shù)據(jù)文件進(jìn)行分組、打包封裝,通過發(fā)送端通信鏈路傳向衛(wèi)星鏈路,進(jìn)行廣播發(fā)送,再通過接收端通信鏈路,發(fā)送到接收端服務(wù)器;
接收端服務(wù)器接收到數(shù)據(jù)包后,存儲接收到的正確的數(shù)據(jù)包,統(tǒng)計(jì)丟失,損壞的數(shù)據(jù)包情況,并將丟包、錯(cuò)包信息回傳到發(fā)送端服務(wù)器;發(fā)送端服務(wù)器根據(jù)回傳的丟包、錯(cuò)包信息向接收端補(bǔ)發(fā)丟失或損壞的數(shù)據(jù)包,如此循環(huán),直至接收端服務(wù)器接收到完整的數(shù)據(jù)包后,再將所有數(shù)據(jù)包合并,生成完整的大數(shù)據(jù),其特征在于:
在所述發(fā)送端服務(wù)器開辟二級緩存,由容量較大的一級緩存完成所述對原始大數(shù)據(jù)文件的讀?。蝗萘枯^小的二級緩存從一級緩存里讀取數(shù)據(jù),服務(wù)器對二級緩存讀取的數(shù)據(jù)完成所述的分組、打包封裝。這樣處理數(shù)據(jù)的優(yōu)點(diǎn)是可加快文件的讀取的速度,大大提高了發(fā)送端服務(wù)器在單位時(shí)間內(nèi)發(fā)送數(shù)據(jù)包的效率和穩(wěn)定性。
接收端對于丟包、錯(cuò)包的編號處理,非采用簡單的記錄,同時(shí)采用多種方式進(jìn)行記錄(差值法、位標(biāo)識法、連續(xù)長度法等),然后選用數(shù)據(jù)量最小的方式將信息回傳給發(fā)送服務(wù)器,從而節(jié)省了發(fā)送服務(wù)器端地面Internet網(wǎng)絡(luò)的帶寬需求及發(fā)送服務(wù)器的處理負(fù)荷,使得發(fā)送端服務(wù)器可以同時(shí)監(jiān)聽上千甚至更多的接收端服務(wù)器返回的丟包、錯(cuò)包信息,使得系統(tǒng)可以大規(guī)模的使用。
差值法:記錄在分組中第一個(gè)丟包、錯(cuò)包的編號,以及其他編號與其差值;
位標(biāo)識法:記錄分組中第一個(gè)丟包、錯(cuò)包的編號,之后的丟包、錯(cuò)包編號按照二進(jìn)制碼表示,1代表該編號正確接收,0表該編號存在丟包、錯(cuò)包;
連續(xù)長度法:記錄多組連續(xù)丟包、錯(cuò)包的第一個(gè)丟包、錯(cuò)包編號及連續(xù)的長度。
本發(fā)明的進(jìn)一步方案是:所述接收端通信鏈路通過地面通信鏈路與發(fā)送端通信鏈路連接,接收端服務(wù)器將獲得的丟包、錯(cuò)包信息通過地面通信鏈路回傳到發(fā)送端。發(fā)送端服務(wù)器將丟包、錯(cuò)包信息進(jìn)行統(tǒng)計(jì)處理,補(bǔ)包 過程可以根據(jù)后續(xù)傳送任務(wù)情況和統(tǒng)計(jì)結(jié)果進(jìn)行人工干預(yù),需要給大量接收端補(bǔ)發(fā)的數(shù)據(jù)包由衛(wèi)星鏈路發(fā)送到接收端服務(wù)器,少量接收端需要的補(bǔ)發(fā)數(shù)據(jù)包由地面通信鏈路發(fā)送到接收端服務(wù)器。
其優(yōu)點(diǎn)是可以同時(shí)向多個(gè)接收端用戶發(fā)送需要補(bǔ)發(fā)的數(shù)據(jù)包,提高補(bǔ)包效率,例如當(dāng)多個(gè)接收端用戶由于同樣的原因丟失了同樣的數(shù)據(jù)包時(shí),本發(fā)明方法可以將補(bǔ)發(fā)的數(shù)據(jù)包通過衛(wèi)星通信鏈路或者(地面Internet網(wǎng)絡(luò))同時(shí)發(fā)送到各個(gè)丟包用戶端;對于少量用戶需要的補(bǔ)發(fā)數(shù)據(jù)包,通過地面網(wǎng)絡(luò)進(jìn)行補(bǔ)發(fā),也提高了衛(wèi)星網(wǎng)絡(luò)的傳輸效率。
本發(fā)明為大范圍(衛(wèi)星覆蓋到的區(qū)域)、同時(shí)、安全、快速發(fā)行大數(shù)據(jù)媒體提供了可能,使大數(shù)據(jù)文件拷貝可以在最短的時(shí)間內(nèi)通過衛(wèi)星通道發(fā)送到各個(gè)用戶接收端,實(shí)現(xiàn)一點(diǎn)發(fā)送,多點(diǎn)接收,縮短了大數(shù)據(jù)媒體的發(fā)行時(shí)間,節(jié)約了發(fā)行成本,而且本發(fā)明可以充分利用傳輸網(wǎng)絡(luò)的帶寬,提高衛(wèi)星信道的利用率,進(jìn)一步降低通過衛(wèi)星發(fā)行的成本。
附圖說明
當(dāng)結(jié)合以下附圖來考慮以下具體實(shí)施方式時(shí),可以理解本發(fā)明及其大量目標(biāo)、特征和獲得的優(yōu)點(diǎn),在附圖中:
圖1示出了本發(fā)明實(shí)施例大數(shù)據(jù)衛(wèi)星網(wǎng)絡(luò)傳輸系統(tǒng)結(jié)構(gòu)示意圖
圖2示出了本發(fā)明實(shí)施例發(fā)送端服務(wù)器程序流程圖
圖3示出了本發(fā)明實(shí)施例接收端服務(wù)器程序流程圖
圖4示出了本發(fā)明實(shí)施例接收端服務(wù)器校驗(yàn)、統(tǒng)計(jì)丟包、錯(cuò)包信息過程流程圖
圖5示出了本發(fā)明接收端服務(wù)器記錄并回傳丟包、錯(cuò)包編號的軟件流程圖
具體實(shí)施方式
下面將詳細(xì)描述本發(fā)明的具體實(shí)施例,應(yīng)當(dāng)注意,這里描述的實(shí)施例只用于舉例說明,并不用于限制本發(fā)明。在以下描述中,為了提供對本發(fā)明的透徹理解,闡述了大量特定細(xì)節(jié)。然而,對于本領(lǐng)域普通技術(shù)人員顯而易見的是:不必采用這些特定細(xì)節(jié)來實(shí)行本發(fā)明。在其他實(shí)例中,為了避免混淆本發(fā)明,未具體描述公知的電路、材料或方法。
在整個(gè)說明書中,對“一個(gè)實(shí)施例”、“實(shí)施例”、“一個(gè)示例”或“示例”的提及意味著:結(jié)合該實(shí)施例或示例描述的特定特征、結(jié)構(gòu)或特 性被包含在本發(fā)明至少一個(gè)實(shí)施例中。因此,在整個(gè)說明書的各個(gè)地方出現(xiàn)的短語“在一個(gè)實(shí)施例中”、“在實(shí)施例中”、“一個(gè)示例”或“示例”不一定都指同一實(shí)施例或示例。此外,可以以任何適當(dāng)?shù)慕M合和、或子組合將特定的特征、結(jié)構(gòu)或特性組合在一個(gè)或多個(gè)實(shí)施例或示例中。此外,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解,在此提供的附圖都是為了說明的目的,并且附圖不一定是按比例繪制的。應(yīng)當(dāng)理解,當(dāng)稱“元件”“連接到”或“耦接”到另一元件時(shí),它可以是直接連接或耦接到另一元件或者可以存在中間元件。相反,當(dāng)稱元件“直接連接到”或“直接耦接到”另一元件時(shí),不存在中間元件。相同的附圖標(biāo)記指示相同的元件。這里使用的術(shù)語“和/或”包括一個(gè)或多個(gè)相關(guān)列出的項(xiàng)目的任何和所有組合。
附圖1是本例大數(shù)據(jù)衛(wèi)星網(wǎng)絡(luò)傳輸系統(tǒng)硬件結(jié)構(gòu)示意圖,設(shè)有發(fā)送端服務(wù)器11和接收端服務(wù)器15。
所述發(fā)送端服務(wù)器11從大數(shù)據(jù)文件存儲介質(zhì)10讀取數(shù)據(jù),進(jìn)行處理后打包推送至衛(wèi)星調(diào)制器12,然后通過衛(wèi)星鏈路13傳送至接收端;接收端接收到的數(shù)據(jù)通過衛(wèi)星解調(diào)器14解調(diào)后,由接收服務(wù)器15進(jìn)行處理,形成傳送過程的丟包、錯(cuò)包信息,通過地面Internet網(wǎng)絡(luò)17傳送至發(fā)送端服務(wù)器,進(jìn)行丟包、錯(cuò)包的補(bǔ)發(fā),當(dāng)接收到完整正確的全部數(shù)據(jù)包后,由接收端服務(wù)器進(jìn)行合并,存儲文件至大數(shù)據(jù)文件存儲介質(zhì)16。
衛(wèi)星鏈路是租用衛(wèi)星公司提供的通信鏈路,負(fù)責(zé)傳送發(fā)送端服務(wù)器發(fā)來的數(shù)據(jù)。同時(shí)接收端服務(wù)器又通過地面Internet鏈路與發(fā)送端服務(wù)器連接,使得各接收端服務(wù)器可以和發(fā)送端服務(wù)器交互信息,構(gòu)成不對稱帶寬(高帶寬大數(shù)據(jù)量通信通過衛(wèi)星鏈路13廣播完成,小數(shù)據(jù)量交互信息通過地面Internet通信鏈路17完成)的星形網(wǎng)絡(luò)。
附圖2是發(fā)送端服務(wù)器工作軟件程序流程圖,本例發(fā)送端服務(wù)器用程序開啟一大,一小兩塊內(nèi)存區(qū)域作為緩存,較大緩存作為一級緩存,較小緩存作為二級緩存。
程序開始后,按下述步驟進(jìn)行工作:
200步驟:開始,添加發(fā)行任務(wù),包含允許接收的接收端授權(quán)信息,發(fā)行的大數(shù)據(jù)文件的存儲信息等等;
210步驟:讀取原始文件,按照原始文件大小分配一級緩存區(qū)域;
220步驟:存儲原始文件至一級緩存區(qū)域,并分割成指定的大小如果存儲失敗,轉(zhuǎn)至290,告警退出,如果存儲成功,繼續(xù)至230;
230步驟:啟動(dòng)監(jiān)聽服務(wù),用于接收從接收端服務(wù)器返回的錯(cuò)包、丟包信息,并且進(jìn)行統(tǒng)計(jì)分析;
240步驟:讀取授權(quán)信息,發(fā)送文件的大小等信息,按照指定格式發(fā)送,重發(fā)發(fā)送,當(dāng)監(jiān)聽服務(wù)指示大部分接收端收到授權(quán)信息后,轉(zhuǎn)至步驟241,同時(shí)對未收到授權(quán)信息的接收端轉(zhuǎn)為周期性發(fā)送授權(quán)信息;
241步驟:二級緩存從一級緩存中讀取數(shù)據(jù),按照指定格式進(jìn)行封裝;
250步驟:將封裝好的數(shù)據(jù)推送至衛(wèi)星調(diào)制器發(fā)送;
260步驟:文件發(fā)送數(shù)據(jù)結(jié)束,轉(zhuǎn)至步驟270;
270步驟:查詢是否需要補(bǔ)發(fā)數(shù)據(jù)包,如果是,根據(jù)統(tǒng)計(jì)信息進(jìn)行補(bǔ)發(fā),重復(fù)步驟240-260,如果否,轉(zhuǎn)至步驟280;
280步驟:本輪數(shù)據(jù)傳輸結(jié)束,等待下次傳輸任務(wù)。
上述發(fā)送端服務(wù)器一級緩存讀取原始文件時(shí),是按字節(jié)的位置順序以定長度方式讀取文件的,并同時(shí)加入位置信息,以備將來發(fā)送端服務(wù)器補(bǔ)包時(shí)檢索用。
附圖3是接收端服務(wù)器工作軟件程序流程圖,程序開始后,按下述步驟進(jìn)行工作:
300步驟:開始;
310步驟:通過指定監(jiān)聽端口接收數(shù)據(jù)包,收到授權(quán)數(shù)據(jù)包,轉(zhuǎn)至步驟320;
320步驟:授權(quán)數(shù)據(jù)包含本接收服務(wù)器的接收授權(quán),則轉(zhuǎn)至步驟330,否則返回步驟310;
330步驟:根據(jù)授權(quán)數(shù)據(jù)包里面包含的原始文件大小,指定接收存儲區(qū);
340步驟:從指定端口接收數(shù)據(jù)包;
350步驟:校驗(yàn)在傳送接收的過程中是否存在丟包,錯(cuò)包,判斷數(shù)據(jù)包是否完整無損;若否轉(zhuǎn)360步,若是轉(zhuǎn)370步;
360步驟:通過接收端服務(wù)器指定端口向發(fā)送端回傳丟包、錯(cuò)包統(tǒng)計(jì)信息;
370步驟:按照編號規(guī)則合并數(shù)據(jù)包。
附圖4是上述350步驟校驗(yàn)、統(tǒng)計(jì)丟包、錯(cuò)包信息,并進(jìn)行統(tǒng)計(jì)信息回傳的流程圖:
350步驟:接收端服務(wù)器通過指定端口接收到數(shù)據(jù)包;
351步驟:提取數(shù)7據(jù)包編號,判斷數(shù)據(jù)包編號是否連續(xù),若不連續(xù),則不連續(xù)編號為丟包,轉(zhuǎn)步驟353,否則轉(zhuǎn)至步驟352;
352步驟:判斷數(shù)據(jù)包內(nèi)容是否正確,如果不正確,轉(zhuǎn)至步驟353,如果正確,轉(zhuǎn)至步驟354;
353步驟:按照一定的規(guī)則記錄丟包、錯(cuò)包的編號,選用數(shù)據(jù)量最小的方式進(jìn)行回傳,轉(zhuǎn)至步驟355;
354步驟:存儲數(shù)據(jù)包編號及內(nèi)容正確的數(shù)據(jù)包;
355步驟:向發(fā)送端回傳丟包、錯(cuò)包信息。
接收端服務(wù)器按上述工作過程對接收到IP數(shù)據(jù)包進(jìn)行校驗(yàn),統(tǒng)計(jì)丟包、錯(cuò)包信息。若有丟包、錯(cuò)包信息回傳至發(fā)送端,發(fā)送端按丟包、錯(cuò)包的信息重新讀出并形成需要補(bǔ)發(fā)的數(shù)據(jù)包,發(fā)送到接收端服務(wù)器,這一過程循環(huán)進(jìn)行,直到接收端完整、無誤地接收到所有數(shù)據(jù)包為止。
當(dāng)
附圖5是接收端服務(wù)器記錄并回傳丟包、錯(cuò)包編號的軟件流程圖:
3540步驟:得到接收端丟包錯(cuò)包的編號;
3541步驟:計(jì)算編號所屬的分組,本方法將數(shù)據(jù)包編號進(jìn)行分組,每組編號個(gè)數(shù)為2n(n為整數(shù)),以分組為單元進(jìn)行錯(cuò)包信息的記錄及回傳;
3542步驟:判斷編號是否屬于現(xiàn)有正在記錄的分組,如果否,轉(zhuǎn)至步驟
3548,如果是,轉(zhuǎn)至步驟3543、3544、3545進(jìn)行;
3543步驟:差值法記錄方式,記錄編號與起始位的差值至緩存區(qū)1;
3544步驟:將緩存區(qū)2標(biāo)示該編號位的二進(jìn)制設(shè)為0,中間間隔標(biāo)示位為1;
3545步驟:判斷該編號與前一丟包、錯(cuò)包編號連續(xù),如果連續(xù),轉(zhuǎn)至步驟3546,如果不連續(xù),轉(zhuǎn)至步驟3547;
3546步驟:連續(xù)的丟包、錯(cuò)包計(jì)數(shù)器+1;
3547步驟:將丟包、錯(cuò)包起始位1及連續(xù)的丟包、錯(cuò)包計(jì)數(shù)器存入緩存區(qū)3,并且將丟包、錯(cuò)包起始位1重置為該編號;
3548步驟:從緩存區(qū)1、2、3中選擇數(shù)據(jù)量最小的,返回給發(fā)送端服務(wù)器;
3549步驟:重置起始位。
以上所述,僅是本發(fā)明的較佳實(shí)施例,并非對本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對以上實(shí)施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護(hù)范圍。