国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)的制作方法

      文檔序號(hào):7820686閱讀:295來源:國知局
      一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)的制作方法
      【專利摘要】本發(fā)明提供一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒?,其步驟有:1、終端將數(shù)據(jù)進(jìn)行分成N個(gè)數(shù)據(jù)包;2、終端將各數(shù)據(jù)包與其序號(hào)同時(shí)發(fā)送給服務(wù)器;3、服務(wù)器接收一數(shù)據(jù)包并存儲(chǔ)至緩存區(qū)中,同時(shí)記錄本次成功接收的數(shù)據(jù)包序號(hào)i;4、服務(wù)器在延遲時(shí)間內(nèi)查找緩存區(qū)中的已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j;5、若i大于j,則服務(wù)器向終端發(fā)送j和i;若i不大于j,則不發(fā)送應(yīng)答;6、終端判斷數(shù)據(jù)是否丟包,若i與j的差大于1,則數(shù)據(jù)丟包,進(jìn)行補(bǔ)傳;否則不進(jìn)行補(bǔ)傳;7、當(dāng)最后一數(shù)據(jù)包接收和判斷完之后,服務(wù)器進(jìn)行組包。本發(fā)明還提供一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)南到y(tǒng),既降低數(shù)據(jù)的丟包率,又提高數(shù)據(jù)的網(wǎng)絡(luò)傳輸速度。
      【專利說明】一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種網(wǎng)絡(luò)數(shù)據(jù)傳輸技術(shù),尤其涉及一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)。

      【背景技術(shù)】
      [0002]無線互聯(lián)網(wǎng)的迅速發(fā)展及其網(wǎng)絡(luò)覆蓋率的迅速提升,為人們能夠隨時(shí)隨地享受互聯(lián)網(wǎng)服務(wù)提供了極大的便利,同時(shí)也為車聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用提供了更加可靠的保證。但是,移動(dòng)互聯(lián)網(wǎng)又是一個(gè)不均衡的網(wǎng)絡(luò),在很多實(shí)際環(huán)境中其網(wǎng)絡(luò)環(huán)境并不是那么理想,如何保證在低速網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)的實(shí)時(shí)可靠傳輸依然是一個(gè)比較棘手的問題。
      [0003]在低速網(wǎng)路環(huán)境中,數(shù)據(jù)傳輸效率低下、數(shù)據(jù)丟包現(xiàn)象嚴(yán)重等問題都會(huì)嚴(yán)重影響數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和可靠性。在低速網(wǎng)絡(luò)環(huán)境下(網(wǎng)絡(luò)實(shí)際平均帶寬5k/s左右),采用正常的數(shù)據(jù)傳輸策略進(jìn)行測試,其結(jié)果是:丟包率大于30%,采集到的一個(gè)小時(shí)的數(shù)據(jù)要經(jīng)過3個(gè)小時(shí)才能夠全部傳完。這種數(shù)據(jù)傳輸效率在實(shí)際應(yīng)用中是不能容忍的?;诖耍景l(fā)明提出了一種在低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng)。


      【發(fā)明內(nèi)容】

      [0004]本發(fā)明要解決的技術(shù)問題之一,在于提供一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒?,既降低了?shù)據(jù)的丟包率,又提高了數(shù)據(jù)的網(wǎng)絡(luò)傳輸速度。
      [0005]本發(fā)明的問題之一,是這樣實(shí)現(xiàn)的:
      一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒?,包括如下步驟:
      步驟1、終端將數(shù)據(jù)分成N個(gè)數(shù)據(jù)包,并分別將每個(gè)數(shù)據(jù)包標(biāo)上序號(hào),該序號(hào)為1~N,N為正整數(shù);
      步驟2、終端將各數(shù)據(jù)包與其序號(hào)同時(shí)發(fā)送給服務(wù)器;
      步驟3、服務(wù)器接收某一數(shù)據(jù)包并存儲(chǔ)至緩存區(qū)中,將該數(shù)據(jù)包緩存一限定的時(shí)間,在該限定的時(shí)間內(nèi)若服務(wù)器沒有接收到其他數(shù)據(jù)包,則將該數(shù)據(jù)包的序號(hào)記為本次成功接收的數(shù)據(jù)包序號(hào)i ;若服務(wù)器有接收到其他數(shù)據(jù)包,每個(gè)接收到的數(shù)據(jù)包均存儲(chǔ)至緩存區(qū)中緩存一限定的時(shí)間,則將最后接收的數(shù)據(jù)包的序號(hào)記為本次成功接收的數(shù)據(jù)包序號(hào)i,i的范圍是1~N ;
      步驟4、服務(wù)器從緩存區(qū)中查找已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j,j的范圍是0-N-1, j為0表示未成功接收數(shù)據(jù)包;
      步驟5、服務(wù)器判斷i和j的大小,若i大于j,則服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i ;若i小于j,則服務(wù)器不向終端發(fā)送應(yīng)答;不出現(xiàn)i等于j的情況;
      步驟6、終端根據(jù)應(yīng)答內(nèi)容中的已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i的大小判斷數(shù)據(jù)是否丟包,若i減去j的差值大于1,則數(shù)據(jù)出現(xiàn)丟包現(xiàn)象,終端對(duì)j至i之間的序號(hào)中的數(shù)據(jù)包進(jìn)行補(bǔ)傳;否則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳,接著再重復(fù)步驟3至步驟6對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ)與判斷,直到最后一數(shù)據(jù)包接收和判斷完畢;
      步驟7、當(dāng)最后一數(shù)據(jù)包接收和判斷完之后,服務(wù)器判斷成功接收到的數(shù)據(jù)包的包數(shù)與N的大小是否一致,若一致時(shí),則進(jìn)行組包;若不一致時(shí),則查找出丟失的數(shù)據(jù)包序號(hào),并向終端發(fā)送補(bǔ)傳應(yīng)答,則終端將丟失的數(shù)據(jù)包重新發(fā)送給服務(wù)器。
      [0006]本發(fā)明要解決的技術(shù)問題之二,在于提供一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)南到y(tǒng),既降低了數(shù)據(jù)的丟包率,又提高了數(shù)據(jù)的網(wǎng)絡(luò)傳輸速度。
      [0007]本發(fā)明的問題之二,是這樣實(shí)現(xiàn)的:
      一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)南到y(tǒng),包括數(shù)據(jù)分配模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)查找模塊、應(yīng)答發(fā)送模塊、丟包判斷模塊、數(shù)據(jù)組包模塊;
      所述數(shù)據(jù)分配模塊,終端將數(shù)據(jù)分成N個(gè)數(shù)據(jù)包,并分別將每個(gè)數(shù)據(jù)包標(biāo)上序號(hào),該序號(hào)為1~N,N為正整數(shù);
      所述數(shù)據(jù)發(fā)送模塊,終端將各數(shù)據(jù)包與其序號(hào)同時(shí)發(fā)送給服務(wù)器;
      所述數(shù)據(jù)存儲(chǔ)模塊,服務(wù)器接收某一數(shù)據(jù)包并存儲(chǔ)至緩存區(qū)中,將該數(shù)據(jù)包緩存一限定的時(shí)間,在該限定的時(shí)間內(nèi)若服務(wù)器沒有接收到其他數(shù)據(jù)包,則將該數(shù)據(jù)包的序號(hào)記為本次成功接收的數(shù)據(jù)包序號(hào)i ;若服務(wù)器有接收到其他數(shù)據(jù)包,每個(gè)接收到數(shù)據(jù)包均存儲(chǔ)至緩存區(qū)中緩存一限定的時(shí)間,則將最后接收的數(shù)據(jù)包的序號(hào)記為i,i的范圍是1~N ;
      所述數(shù)據(jù)查找模塊,服務(wù)器從緩存區(qū)中查找已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j,j的范圍是0~N-1,j為O表示未成功接收數(shù)據(jù)包;
      所述應(yīng)答發(fā)送模塊,服務(wù)器判斷i和j的大小,若i大于j,則服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i ;若i小于j,則序號(hào)為i的數(shù)據(jù)包為補(bǔ)傳的數(shù)據(jù),服務(wù)器不向終端發(fā)送應(yīng)答;不出現(xiàn)i等于j的情況;
      所述丟包判斷模塊,終端根據(jù)應(yīng)答內(nèi)容中的已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i的大小判斷數(shù)據(jù)是否丟包,若i減去j的差值大于1,則數(shù)據(jù)出現(xiàn)丟包現(xiàn)象,終端對(duì)j至i之間的序號(hào)中的數(shù)據(jù)包進(jìn)行補(bǔ)傳;否則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳,接著再重復(fù)步驟3至步驟6對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ)與判斷,直到最后一數(shù)據(jù)包接收和判斷完畢;
      所述數(shù)據(jù)組包模塊,當(dāng)最后一數(shù)據(jù)包接收和判斷完之后,服務(wù)器判斷成功接收到的數(shù)據(jù)包的包數(shù)與N的大小是否一致,若一致時(shí),則進(jìn)行組包;若不一致時(shí),則查找出丟失的數(shù)據(jù)包序號(hào),并向終端發(fā)送補(bǔ)傳應(yīng)答,則終端將丟失的數(shù)據(jù)包重新發(fā)送給服務(wù)器。
      [0008]本發(fā)明具有如下優(yōu)點(diǎn):
      本發(fā)明為了解決在低速網(wǎng)絡(luò)環(huán)境下丟包、網(wǎng)絡(luò)延遲現(xiàn)象嚴(yán)重的問題提出了一種解決方案;本發(fā)明已經(jīng)使用在實(shí)際的車輛CAN數(shù)據(jù)采集系統(tǒng)中,測試結(jié)果表明:丟包率基本可以控制在1%以下,網(wǎng)絡(luò)延遲也比之前得到很大提升,原來一個(gè)小時(shí)數(shù)據(jù)需要近三個(gè)小時(shí)才能完成傳輸,使用本發(fā)明后一小時(shí)數(shù)據(jù)可以控制在一小時(shí)十分鐘之內(nèi)傳完。因此,該發(fā)明在低速網(wǎng)絡(luò)環(huán)境下還是有著較為優(yōu)秀的表現(xiàn)。

      【專利附圖】

      【附圖說明】
      [0009]下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說明。
      [0010]圖1為本發(fā)明方法執(zhí)行的程序原理圖。

      【具體實(shí)施方式】
      [0011]參閱圖1所示,本發(fā)明的一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒?,包括如下步驟:
      步驟1、終端將數(shù)據(jù)分成N個(gè)數(shù)據(jù)包,并分別將每個(gè)數(shù)據(jù)包標(biāo)上序號(hào),該序號(hào)為1~N,N為正整數(shù),每個(gè)數(shù)據(jù)包的大小為1KB,假定N為9,則序號(hào)包括1、2、3、4、5、6、7、8、9 ;
      步驟2、終端將各數(shù)據(jù)包與其序號(hào)同時(shí)發(fā)送給服務(wù)器,不必等到第N包數(shù)據(jù)應(yīng)答成功之后再發(fā)送第N+1包數(shù)據(jù);
      步驟3、服務(wù)器接收序號(hào)為I的數(shù)據(jù)包并存儲(chǔ)至緩存區(qū)中,將該數(shù)據(jù)包緩存5分鐘,在這5分鐘之內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則將該數(shù)據(jù)包的序號(hào)I記為本次成功接收的數(shù)據(jù)包序號(hào)i ;i的范圍是1~9 ;
      步驟4、服務(wù)器從緩存區(qū)中查找已接收的除第I包外的數(shù)據(jù)包最大序號(hào)j,查找到緩存區(qū)中沒有已接收完的數(shù)據(jù)包,此時(shí)認(rèn)為已接收的除第I包外的數(shù)據(jù)包最大序號(hào)j為0,j的范圍是0~8 ;
      步驟5、在I大于O的情況下,服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第I包外的數(shù)據(jù)包最大序號(hào)O和本次成功接收的數(shù)據(jù)包序號(hào)I ;
      步驟6、終端根據(jù)應(yīng)答內(nèi)容的的本次成功接收的數(shù)據(jù)包序號(hào)I和已接收的除第I包外的數(shù)據(jù)包最大序號(hào)O的大小判斷數(shù)據(jù)是否丟包,此時(shí)I減去O的差值不大于1,則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為2,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第2包外的數(shù)據(jù)包最大序號(hào)1,此時(shí)序號(hào)2大于序號(hào)1,服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第2包外的數(shù)據(jù)包最大序號(hào)I和本次成功接收的數(shù)據(jù)包序號(hào)2 ;終端根據(jù)應(yīng)答的本次成功接收的數(shù)據(jù)包序號(hào)2和已接收的除第2包外的數(shù)據(jù)包最大序號(hào)I的大小判斷數(shù)據(jù)是否丟包,此時(shí)2減去I的差值不大于I,則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為5,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第5包外的數(shù)據(jù)包最大序號(hào)2,此時(shí)序號(hào)5大于序號(hào)2,服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第5包外的數(shù)據(jù)包最大序號(hào)2和本次成功接收的數(shù)據(jù)包序號(hào)5 ;終端根據(jù)應(yīng)答的本次成功接收的數(shù)據(jù)包序號(hào)5和已接收的除第5包外的數(shù)據(jù)包最大序號(hào)2的大小判斷數(shù)據(jù)是否丟包,此時(shí)5減去2的差值大于1,則數(shù)據(jù)出現(xiàn)丟包現(xiàn)象,終端對(duì)2至5之間的序號(hào)3和4中的數(shù)據(jù)包進(jìn)行補(bǔ)傳;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為3,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第3包外的數(shù)據(jù)包最大序號(hào)5,此時(shí)序號(hào)3小于序號(hào)5,則序號(hào)為3的數(shù)據(jù)包為補(bǔ)傳的數(shù)據(jù),服務(wù)器不向終端發(fā)送應(yīng)答; 接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為4,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第4包外的數(shù)據(jù)包最大序號(hào)5,此時(shí)序號(hào)4小于序號(hào)5,則序號(hào)為4的數(shù)據(jù)包為補(bǔ)傳的數(shù)據(jù),服務(wù)器不向終端發(fā)送應(yīng)答;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為9,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器有接收到第7包數(shù)據(jù),將第7包數(shù)據(jù)存儲(chǔ)至緩存區(qū)中緩存5分鐘,則此時(shí)本次成功接收的數(shù)據(jù)包序號(hào)i為7,查找到已接收的除第7包外的數(shù)據(jù)包最大序號(hào)j為9,此時(shí)序號(hào)7小于序號(hào)9,服務(wù)器不向終端發(fā)送應(yīng)答;
      步驟7、當(dāng)?shù)?包數(shù)據(jù)接收和判斷完之后,服務(wù)器判斷成功接收到的數(shù)據(jù)包的包數(shù)7與總數(shù)據(jù)包的數(shù)量9大小不一致,則查找出丟失的數(shù)據(jù)包序號(hào)6和序號(hào)8,并向終端發(fā)送補(bǔ)傳應(yīng)答,則終端將丟失的第6包數(shù)據(jù)與第8包數(shù)據(jù)重新發(fā)送給服務(wù)器。
      [0012]分包調(diào)整的具體步驟有:數(shù)據(jù)包發(fā)送完畢后,服務(wù)器延時(shí)2s用于判斷數(shù)據(jù)是否丟包,若數(shù)據(jù)有丟包,則服務(wù)器計(jì)算出丟包序號(hào),然后根據(jù)公式:帶寬=網(wǎng)絡(luò)吞吐量/耗時(shí),計(jì)算當(dāng)前網(wǎng)絡(luò)實(shí)際的帶寬;接著根據(jù)P=w*0.3計(jì)算出分包大小P,然后通知終端調(diào)整數(shù)據(jù)包的大小為P。
      [0013]一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)南到y(tǒng),包括數(shù)據(jù)分配模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)查找模塊、應(yīng)答發(fā)送模塊、丟包判斷模塊、數(shù)據(jù)組包模塊;
      所述數(shù)據(jù)分配模塊,終端將數(shù)據(jù)分成N個(gè)數(shù)據(jù)包,并分別將每個(gè)數(shù)據(jù)包標(biāo)上序號(hào),該序號(hào)為1~N,N為正整數(shù),每個(gè)數(shù)據(jù)包的大小為1KB,假定N為9,則序號(hào)包括1、2、3、4、5、6、7、8、9 ;
      所述數(shù)據(jù)發(fā)送模塊,終端將各數(shù)據(jù)包與其序號(hào)同時(shí)發(fā)送給服務(wù)器,不必等到第N包數(shù)據(jù)應(yīng)答成功之后再發(fā)送第N+1包數(shù)據(jù);
      所述數(shù)據(jù)存儲(chǔ)模塊,服務(wù)器接收序號(hào)為1的數(shù)據(jù)包并存儲(chǔ)至緩存區(qū)中,將該數(shù)據(jù)包緩存5分鐘,在這5分鐘之內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則將該數(shù)據(jù)包的序號(hào)1記為本次成功接收的數(shù)據(jù)包序號(hào)i,i的范圍是1~9 ;
      所述數(shù)據(jù)查找模塊,服務(wù)器從緩存區(qū)中查找第1包以外的最大數(shù)據(jù)包序號(hào)j,查找到緩存區(qū)中沒有已接收完的數(shù)據(jù)包,此時(shí)認(rèn)為已接收的除第1包外的數(shù)據(jù)包最大序號(hào)j為0,j的范圍是0~8 ;
      所述應(yīng)答發(fā)送模塊,在1大于0的情況下,服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第1包外的數(shù)據(jù)包最大序號(hào)0和本次成功接收的數(shù)據(jù)包序號(hào)1 ;
      所述丟包判斷模塊,終端根據(jù)應(yīng)答內(nèi)容的的本次成功接收的數(shù)據(jù)包序號(hào)1和已接收的除第1包外的數(shù)據(jù)包最大序號(hào)0的大小判斷數(shù)據(jù)是否丟包,此時(shí)1減去0的差值不大于1,則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為2,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第2包外的數(shù)據(jù)包最大序號(hào)1,此時(shí)序號(hào)2大于序號(hào)1,服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第2包外的數(shù)據(jù)包最大序號(hào)1和本次成功接收的數(shù)據(jù)包序號(hào)2 ;終端根據(jù)應(yīng)答的本次成功接收的數(shù)據(jù)包序號(hào)2和已接收的除第2包外的數(shù)據(jù)包最大序號(hào)1的大小判斷數(shù)據(jù)是否丟包,此時(shí)2減去1的差值不大于1,則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為5,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第5包外的數(shù)據(jù)包最大序號(hào)2,此時(shí)序號(hào)5大于序號(hào)2,服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第5包外的數(shù)據(jù)包最大序號(hào)2和本次成功接收的數(shù)據(jù)包序號(hào)5 ;終端根據(jù)應(yīng)答的本次成功接收的數(shù)據(jù)包序號(hào)5和已接收的除第5包外的數(shù)據(jù)包最大序號(hào)2的大小判斷數(shù)據(jù)是否丟包,此時(shí)5減去2的差值大于1,則數(shù)據(jù)出現(xiàn)丟包現(xiàn)象,終端對(duì)2至5之間的序號(hào)3和4中的數(shù)據(jù)包進(jìn)行補(bǔ)傳;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為3,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第3包外的數(shù)據(jù)包最大序號(hào)5,此時(shí)序號(hào)3小于序號(hào)5,則序號(hào)為3的數(shù)據(jù)包為補(bǔ)傳的數(shù)據(jù),服務(wù)器不向終端發(fā)送應(yīng)答;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為4,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器沒有接收到其他數(shù)據(jù)包,則查找到已接收的除第4包外的數(shù)據(jù)包最大序號(hào)5,此時(shí)序號(hào)4小于序號(hào)5,則序號(hào)為4的數(shù)據(jù)包為補(bǔ)傳的數(shù)據(jù),服務(wù)器不向終端發(fā)送應(yīng)答;
      接著對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ),假定下一成功接收的數(shù)據(jù)包的序號(hào)為9,將該數(shù)據(jù)包存儲(chǔ)至緩存區(qū)中,在緩存的5分鐘內(nèi)服務(wù)器有接收到第7包數(shù)據(jù),將第7包數(shù)據(jù)存儲(chǔ)至緩存區(qū)中緩存5分鐘,則此時(shí)本次成功接收的數(shù)據(jù)包序號(hào)i為7,查找到已接收的除第7包外的數(shù)據(jù)包最大序號(hào)j為9,此時(shí)序號(hào)7小于序號(hào)9,服務(wù)器不向終端發(fā)送應(yīng)答;
      所述數(shù)據(jù)組包模塊,當(dāng)?shù)?包數(shù)據(jù)接收和判斷完之后,服務(wù)器判斷成功接收到的數(shù)據(jù)包的包數(shù)7與總數(shù)據(jù)包的數(shù)量9大小不一致,則查找出丟失的數(shù)據(jù)包序號(hào)6和序號(hào)8,并向終端發(fā)送補(bǔ)傳應(yīng)答,則終端將丟失的第6包數(shù)據(jù)與第8包數(shù)據(jù)重新發(fā)送給服務(wù)器。
      [0014]分包調(diào)整的具體步驟有:數(shù)據(jù)包發(fā)送完畢后,服務(wù)器延時(shí)2s用于判斷數(shù)據(jù)是否丟包,若數(shù)據(jù)有丟包,則服務(wù)器計(jì)算出丟包序號(hào),然后根據(jù)公式:帶寬=網(wǎng)絡(luò)吞吐量/耗時(shí),計(jì)算當(dāng)前網(wǎng)絡(luò)實(shí)際的帶寬;接著根據(jù)P=w*0.3計(jì)算出分包大小P,然后通知終端調(diào)整數(shù)據(jù)包的大小為P。
      [0015]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實(shí)施例只是說明性的,而不是用于對(duì)本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護(hù)的范圍內(nèi)。
      【權(quán)利要求】
      1.一種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)姆椒ǎ涮卣髟谟?包括如下步驟: 步驟1、終端將數(shù)據(jù)分成N個(gè)數(shù)據(jù)包,并分別將每個(gè)數(shù)據(jù)包標(biāo)上序號(hào),該序號(hào)為1~N,N為正整數(shù); 步驟2、終端將各數(shù)據(jù)包與其序號(hào)同時(shí)發(fā)送給服務(wù)器; 步驟3、服務(wù)器接收某一數(shù)據(jù)包并存儲(chǔ)至緩存區(qū)中,將該數(shù)據(jù)包緩存一限定的時(shí)間,在該限定的時(shí)間內(nèi)若服務(wù)器沒有接收到其他數(shù)據(jù)包,則將該數(shù)據(jù)包的序號(hào)記為本次成功接收的數(shù)據(jù)包序號(hào)i ;若服務(wù)器有接收到其他數(shù)據(jù)包,每個(gè)接收到的數(shù)據(jù)包均存儲(chǔ)至緩存區(qū)中緩存一限定的時(shí)間,則將最后接收的數(shù)據(jù)包的序號(hào)記為本次成功接收的數(shù)據(jù)包序號(hào)i,i的范圍是1~N ; 步驟4、服務(wù)器從緩存區(qū)中查找已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j,j的范圍是0-N-1, j為O表示未成功接收數(shù)據(jù)包; 步驟5、服務(wù)器判斷i和j的大小,若i大于j,則服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i ;若i小于j,則服務(wù)器不向終端發(fā)送應(yīng)答;不出現(xiàn)i等于j的情況; 步驟6、終端根據(jù)應(yīng)答內(nèi)容中的已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i的大小判斷數(shù)據(jù)是否丟包,若i減去j的差值大于1,則數(shù)據(jù)出現(xiàn)丟包現(xiàn)象,終端對(duì)j至i之間的序號(hào)中的數(shù)據(jù)包進(jìn)行補(bǔ)傳;否則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳,接著再重復(fù)步驟3至步驟6對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ)與判斷,直到最后一數(shù)據(jù)包接收和判斷完畢; 步驟7、當(dāng)最后一數(shù)據(jù)包接收和判斷完之后,服務(wù)器判斷成功接收到的數(shù)據(jù)包的包數(shù)與N的大小是否一致,若一致時(shí),則進(jìn)行組包;若不一致時(shí),則查找出丟失的數(shù)據(jù)包序號(hào),并向終端發(fā)送補(bǔ)傳應(yīng)答,則終端將丟失的數(shù)據(jù)包重新發(fā)送給服務(wù)器。
      2.—種低速網(wǎng)絡(luò)環(huán)境下的實(shí)時(shí)可靠數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于:包括數(shù)據(jù)分配模塊、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)存儲(chǔ)模塊、數(shù)據(jù)查找模塊、應(yīng)答發(fā)送模塊、丟包判斷模塊、數(shù)據(jù)組包豐吳塊; 所述數(shù)據(jù)分配模塊,終端將數(shù)據(jù)分成N個(gè)數(shù)據(jù)包,并分別將每個(gè)數(shù)據(jù)包標(biāo)上序號(hào),該序號(hào)為1~N,N為正整數(shù); 所述數(shù)據(jù)發(fā)送模塊,終端將各數(shù)據(jù)包與其序號(hào)同時(shí)發(fā)送給服務(wù)器; 所述數(shù)據(jù)存儲(chǔ)模塊,服務(wù)器接收某一數(shù)據(jù)包并存儲(chǔ)至緩存區(qū)中,將該數(shù)據(jù)包緩存一限定的時(shí)間,在該限定的時(shí)間內(nèi)若服務(wù)器沒有接收到其他數(shù)據(jù)包,則將該數(shù)據(jù)包的序號(hào)記為本次成功接收的數(shù)據(jù)包序號(hào)i ;若服務(wù)器有接收到其他數(shù)據(jù)包,每個(gè)接收到數(shù)據(jù)包均存儲(chǔ)至緩存區(qū)中緩存一限定的時(shí)間,則將最后接收的數(shù)據(jù)包的序號(hào)記為i,i的范圍是1~N ; 所述數(shù)據(jù)查找模塊,服務(wù)器從緩存區(qū)中查找已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j,j的范圍是0~N-1,j為O表示未成功接收數(shù)據(jù)包; 所述應(yīng)答發(fā)送模塊,服務(wù)器判斷i和j的大小,若i大于j,則服務(wù)器向終端發(fā)送應(yīng)答,該應(yīng)答的內(nèi)容為已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i ;若i小于j,則序號(hào)為i的數(shù)據(jù)包為補(bǔ)傳的數(shù)據(jù),服務(wù)器不向終端發(fā)送應(yīng)答;不出現(xiàn)i等于j的情況; 所述丟包判斷模塊,終端根據(jù)應(yīng)答內(nèi)容中的已接收的除第i包外的數(shù)據(jù)包最大序號(hào)j和本次成功接收的數(shù)據(jù)包序號(hào)i的大小判斷數(shù)據(jù)是否丟包,若i減去j的差值大于1,則數(shù)據(jù)出現(xiàn)丟包現(xiàn)象,終端對(duì)j至i之間的序號(hào)中的數(shù)據(jù)包進(jìn)行補(bǔ)傳;否則數(shù)據(jù)沒有出現(xiàn)丟包現(xiàn)象,不需要進(jìn)行補(bǔ)傳,接著再重復(fù)步驟3至步驟6對(duì)下一成功接收的數(shù)據(jù)包進(jìn)行存儲(chǔ)與判斷,直到最后一數(shù)據(jù)包接收和判斷完畢; 所述數(shù)據(jù)組包模塊,當(dāng)最后一數(shù)據(jù)包接收和判斷完之后,服務(wù)器判斷成功接收到的數(shù)據(jù)包的包數(shù)與N的大小是否一致,若一致時(shí),則進(jìn)行組包;若不一致時(shí),則查找出丟失的數(shù)據(jù)包序號(hào),并向終端發(fā)送補(bǔ)傳應(yīng)答,則終端將丟失的數(shù)據(jù)包重新發(fā)送給服務(wù)器。
      【文檔編號(hào)】H04L12/861GK104468061SQ201410684882
      【公開日】2015年3月25日 申請(qǐng)日期:2014年11月25日 優(yōu)先權(quán)日:2014年11月25日
      【發(fā)明者】黃家乾, 涂巖愷, 時(shí)宜, 季剛 申請(qǐng)人:廈門雅迅網(wǎng)絡(luò)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1