專利名稱:Ip傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IP傳真領(lǐng)域,尤其是一種IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法。
TCP方式的特點(diǎn)是,數(shù)據(jù)傳輸?shù)目煽啃员容^高。在這種方式下,一旦IP鏈路上發(fā)生丟包的情況,一般采用是由接收端要求發(fā)送端重傳的方式進(jìn)行丟包的恢復(fù)。因此,它一般不會(huì)出現(xiàn)哪一個(gè)包最后沒(méi)有傳過(guò)來(lái)的情況。其缺點(diǎn)是,一旦丟包就要重傳,降低了傳輸速度,占用了系統(tǒng)帶寬。
用戶數(shù)據(jù)報(bào)文方式一般采取
圖1的傳真包格式,該格式格式頭和封裝的數(shù)據(jù)包組成。格式頭有IP、UDP、UDPTL三種格式頭,其中IP格式頭封裝UDP格式頭,UDP格式頭封裝UDPTL格式頭,UDPTL格式頭封裝數(shù)據(jù)包。這種方法的步驟是(1)發(fā)端網(wǎng)關(guān)從公用電話交換網(wǎng)側(cè)接收傳真信息,進(jìn)行解調(diào)、編碼后封裝在圖1格式的數(shù)據(jù)包的位置,在IP網(wǎng)絡(luò)上發(fā)送;(2)收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包解碼。
這種方式的好處是,數(shù)據(jù)包只發(fā)一次,即使丟失也不重傳,提高了傳輸速度,較小地占用了系統(tǒng)帶寬,但缺點(diǎn)是傳輸可靠性大大降低。
為實(shí)現(xiàn)上述目的,本發(fā)明的解決方案是一利IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法,它包括a、在IP傳真的發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)發(fā)端緩沖器,用來(lái)放置發(fā)端網(wǎng)關(guān)從公用電話交換網(wǎng)側(cè)解調(diào)、編碼得到的數(shù)據(jù)和相應(yīng)序列號(hào);在收端網(wǎng)關(guān)設(shè)置一個(gè)收端緩沖器,用來(lái)按相應(yīng)序列號(hào)放置收端網(wǎng)關(guān)從收到的包中解碼解出的數(shù)據(jù);b、定義一個(gè)傳真包的包格式,在封裝頭、當(dāng)前包序列號(hào)、當(dāng)前數(shù)據(jù)包的格式后面加一個(gè)放若干冗余數(shù)據(jù)包的格式;c、發(fā)端網(wǎng)關(guān)從公用電話交換網(wǎng)側(cè)接收傳真信息,進(jìn)行解調(diào)、編碼后放到發(fā)端緩沖器,發(fā)端緩沖器按進(jìn)入時(shí)間給出相應(yīng)序列號(hào),將相應(yīng)序列號(hào)、該數(shù)據(jù)包放入定義好的傳真包格式,并將發(fā)端緩沖器中當(dāng)前數(shù)據(jù)包的前若干個(gè)序列號(hào)的數(shù)據(jù)包作為冗余數(shù)據(jù)包放入定義好的傳真包格式中發(fā)送;d、收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,查看收端緩沖器中當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入,如該數(shù)據(jù)包或冗余數(shù)據(jù)包的序號(hào)超出收端緩沖器所能容納的范圍則丟棄。
上述步驟d可以如下實(shí)現(xiàn)收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,首先判斷當(dāng)前數(shù)據(jù)包的序列號(hào),當(dāng)該序列號(hào)小于或等于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)時(shí),依次判斷收端緩沖器中當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入;當(dāng)該序列號(hào)大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)時(shí),如果該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù),則將該數(shù)據(jù)包及其冗余數(shù)據(jù)包丟棄,如果該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差小于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù),則將當(dāng)前數(shù)據(jù)包內(nèi)容填入收端緩沖器當(dāng)前數(shù)據(jù)包序列號(hào)的位置,然后判斷收端緩沖器中冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入。
在本發(fā)明的步驟b中,可以預(yù)先設(shè)定一個(gè)固定的冗余包數(shù)量,所有的傳真包都具有同樣的冗余包數(shù)量。
本發(fā)明還可以有如下進(jìn)一步的改進(jìn)在步驟b中,在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)人機(jī)接口,該人機(jī)接口可以輸入冗余包的個(gè)數(shù)值,由一個(gè)控制器利用該值定義傳真包的包格式;在步驟c中,該控制器按照該值進(jìn)行取出冗余數(shù)據(jù)包數(shù)量的控制。
本發(fā)明還可以有如下進(jìn)一步的改進(jìn)在步驟b中,在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)網(wǎng)絡(luò)性能監(jiān)測(cè)器,它可以對(duì)網(wǎng)絡(luò)擁塞程度進(jìn)行實(shí)時(shí)監(jiān)測(cè),并將監(jiān)測(cè)結(jié)果報(bào)告給一個(gè)控制器,控制器里根據(jù)網(wǎng)絡(luò)性能越差,冗余數(shù)據(jù)包數(shù)量越大的原則預(yù)先存放網(wǎng)絡(luò)擁塞程度數(shù)據(jù)與冗余數(shù)據(jù)包數(shù)量的對(duì)應(yīng)關(guān)系,按照實(shí)時(shí)監(jiān)測(cè)結(jié)果查找該對(duì)應(yīng)關(guān)系,得到冗余數(shù)據(jù)包數(shù)量,利用該值定義傳真包的包格式;在步驟c中,該控制器按照該值進(jìn)行取出冗余數(shù)據(jù)包數(shù)量的控制。
由于本發(fā)明把傳統(tǒng)用戶數(shù)據(jù)報(bào)文方式的傳真包格式作了一下改變?cè)趥鹘y(tǒng)用戶數(shù)據(jù)報(bào)文方式的傳真包格式后面加上一個(gè)放若干冗余數(shù)據(jù)包的格式,在發(fā)送當(dāng)前數(shù)據(jù)包時(shí)不但把當(dāng)前數(shù)據(jù)包封裝到傳真包中,還同時(shí)把前若干個(gè)已發(fā)送走的數(shù)據(jù)包重新封裝到傳真包的冗余數(shù)據(jù)包中,這樣,一旦前若干個(gè)已發(fā)送走的數(shù)據(jù)包有在鏈路上丟包的情況,就可以通過(guò)當(dāng)前傳真包的冗余數(shù)據(jù)包進(jìn)行恢復(fù),在用戶數(shù)據(jù)報(bào)文方式數(shù)據(jù)包丟失不重傳、保障傳輸速度的情況下,達(dá)到了保障傳輸可靠性的效果。
在本發(fā)明的進(jìn)一步改進(jìn)中,由于在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)人機(jī)接口,通過(guò)該人機(jī)接口,系統(tǒng)管理員可以隨時(shí)根據(jù)網(wǎng)絡(luò)的擁塞狀況,設(shè)置需要帶冗余包的數(shù)量,將設(shè)置的冗余包的數(shù)量輸入人機(jī)接口中,由人機(jī)接口發(fā)送給控制器。這樣,就達(dá)到了一個(gè)隨時(shí)根據(jù)網(wǎng)絡(luò)的擁塞狀況,靈活地設(shè)置需要帶冗余包的數(shù)量,在網(wǎng)絡(luò)性能較好時(shí)盡量少帶冗余包,在網(wǎng)絡(luò)性能較差時(shí)多帶冗余包,在保障可靠性的前提下盡量少占用系統(tǒng)資源,實(shí)現(xiàn)了一個(gè)靈活的控制。
另外,在本發(fā)明的進(jìn)一步改進(jìn)中,在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)網(wǎng)絡(luò)性能監(jiān)測(cè)器,對(duì)網(wǎng)絡(luò)擁塞程度進(jìn)行實(shí)時(shí)監(jiān)測(cè),并將監(jiān)測(cè)結(jié)果報(bào)告給一個(gè)控制器,控制器根據(jù)網(wǎng)絡(luò)的擁塞狀況,設(shè)置需要帶冗余包的數(shù)量。這樣,就達(dá)到了一個(gè)更加實(shí)時(shí)、準(zhǔn)確地根據(jù)網(wǎng)絡(luò)的擁塞狀況,靈活地設(shè)置需要帶冗余包的數(shù)量,在保障可靠性的前提下盡量少占用系統(tǒng)資源,靈活地進(jìn)行控制的目的。
圖2是本發(fā)明中用戶數(shù)據(jù)報(bào)文方式采取的傳真包格式。
圖3是本發(fā)明的方法流程圖。
圖4是本發(fā)明發(fā)端網(wǎng)關(guān)根據(jù)發(fā)端緩沖器中內(nèi)容填充傳真包的示意圖。
圖5是本發(fā)明當(dāng)前接收到的數(shù)據(jù)包的序列號(hào)小于或等于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的情況下,收端網(wǎng)關(guān)根據(jù)收到的傳真包按序列號(hào)恢復(fù)出接收到的數(shù)據(jù)包的過(guò)程示意圖。
圖6是本發(fā)明當(dāng)前接收到的數(shù)據(jù)包的序列號(hào)大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的情況下,收端網(wǎng)關(guān)根據(jù)收到的傳真包按序列號(hào)恢復(fù)出接收到的數(shù)據(jù)包的過(guò)程示意圖。
圖3是本發(fā)明的方法流程圖。從中我們可以大體看出本發(fā)明的實(shí)現(xiàn)過(guò)程,每個(gè)步驟與我們后面的每一個(gè)小標(biāo)題大體是對(duì)應(yīng)的。
(1)IP傳真的發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)發(fā)端緩沖器,用來(lái)放置發(fā)端網(wǎng)關(guān)從公用電話交換網(wǎng)側(cè)解調(diào)、編碼得到的數(shù)據(jù)和相應(yīng)序列號(hào);在收端網(wǎng)關(guān)設(shè)置一個(gè)收端緩沖器,用來(lái)按相應(yīng)序列號(hào)放置收端網(wǎng)關(guān)從收到的包中解碼解出的數(shù)據(jù)。
該發(fā)端緩沖器的格式如圖4左邊所示,可見(jiàn),該緩沖器由兩部分組成一部分是序列號(hào),一部分用來(lái)放序列號(hào)所對(duì)應(yīng)的數(shù)據(jù)包。該序列號(hào)一般是按照放入該緩沖器的時(shí)間順序自動(dòng)生成的。
收端緩沖器的格式如圖5、6的左、右邊所示,該緩沖器也由兩部分組成一部分是收到的解碼后的數(shù)據(jù)包的序列號(hào),一部分是收到的解碼后的數(shù)據(jù)包。
該步驟中的解調(diào)、編碼是發(fā)端網(wǎng)關(guān)發(fā)送數(shù)據(jù)所必須經(jīng)過(guò)的過(guò)程,也是發(fā)端網(wǎng)關(guān)的主要職能,本領(lǐng)域技術(shù)人員十分清楚,故不加贅述。該步驟中的解碼是收端網(wǎng)關(guān)接收數(shù)據(jù)所必須經(jīng)過(guò)的過(guò)程,本領(lǐng)域技術(shù)人員也十分清楚,故不加贅述。
(2)定義一個(gè)傳真包的包格式,在封裝頭、當(dāng)前包序列號(hào)、當(dāng)前數(shù)據(jù)包的格式后面加一個(gè)放若干冗余數(shù)據(jù)包的格式,如圖2所示。對(duì)照?qǐng)D1可以看出,該格式與用戶數(shù)據(jù)報(bào)文方式一般采取的傳真包格式的不同就在于該格式后面可以存放冗余數(shù)據(jù)包。
該冗余數(shù)據(jù)包的數(shù)量是多少呢?本發(fā)明可以有三種處理辦法。
第一種方法是將冗余數(shù)據(jù)包的數(shù)量設(shè)為固定的,所有的傳真包都具有同樣的冗余包數(shù)量。這種方法的優(yōu)點(diǎn)是便于操作,缺點(diǎn)是靈活性差。
第二種方法是在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)人機(jī)接口,該人機(jī)接口可以由系統(tǒng)管理員輸入冗余包的個(gè)數(shù),人機(jī)接口把該值傳給一個(gè)控制器,由控制器根據(jù)該值定義傳真包的包格式。這樣,系統(tǒng)管理員就可以根據(jù)網(wǎng)絡(luò)的擁塞程度靈活地設(shè)定冗余包的個(gè)數(shù),在網(wǎng)絡(luò)性能較好時(shí)盡量少帶冗余包,在網(wǎng)絡(luò)性能較差時(shí)多帶冗余包,這樣就實(shí)現(xiàn)了一個(gè)靈活的控制。這種方法的缺點(diǎn)是對(duì)網(wǎng)絡(luò)性能的估計(jì)是人為的,有時(shí)候不夠準(zhǔn)確。
第三種方法是在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)網(wǎng)絡(luò)性能監(jiān)測(cè)器,它可以對(duì)網(wǎng)絡(luò)擁塞程度進(jìn)行實(shí)時(shí)監(jiān)測(cè),并將監(jiān)測(cè)結(jié)果報(bào)告給一個(gè)控制器,控制器里根據(jù)網(wǎng)絡(luò)性能越差,冗余數(shù)據(jù)包數(shù)量越大的原則預(yù)先存放網(wǎng)絡(luò)擁塞程度數(shù)據(jù)與冗余數(shù)據(jù)包數(shù)量的對(duì)應(yīng)關(guān)系,按照實(shí)時(shí)監(jiān)測(cè)結(jié)果查找該對(duì)應(yīng)關(guān)系,得到冗余數(shù)據(jù)包數(shù)量,利用該值定義傳真包的包格式。目前這種能夠測(cè)出網(wǎng)絡(luò)擁塞程度的網(wǎng)絡(luò)性能監(jiān)測(cè)器有很多,網(wǎng)管系統(tǒng)經(jīng)常要利用這種網(wǎng)絡(luò)性能監(jiān)測(cè)器進(jìn)行網(wǎng)絡(luò)性能的測(cè)試,本領(lǐng)域技術(shù)人員比較了解,故不加以列舉。這一步的實(shí)現(xiàn)的前提必須用統(tǒng)計(jì)的方法統(tǒng)計(jì)出多大范圍的網(wǎng)絡(luò)擁塞程度的值可以對(duì)應(yīng)某一種冗余包數(shù)量,然后要在實(shí)際網(wǎng)絡(luò)中進(jìn)行實(shí)驗(yàn),看這樣的擁塞程度我們分配這樣的冗余包數(shù)量行不行,然后將對(duì)應(yīng)關(guān)系固化,放在控制器程序中。這種方法的優(yōu)點(diǎn)是更加實(shí)時(shí)、準(zhǔn)確地根據(jù)網(wǎng)絡(luò)的擁塞狀況,靈活地設(shè)置需要帶冗余包的數(shù)量,更靈活地進(jìn)行控制。
(3)發(fā)端網(wǎng)關(guān)從公用電話交換網(wǎng)側(cè)接收傳真信息,進(jìn)行解調(diào)、編碼后放到發(fā)端緩沖器,發(fā)端緩沖器按進(jìn)入時(shí)間給出相應(yīng)序列號(hào),將相應(yīng)序列號(hào)、該數(shù)據(jù)包放入定義好的傳真包格式,并將發(fā)端緩沖器中當(dāng)前數(shù)據(jù)包的前若干個(gè)序列號(hào)的數(shù)據(jù)包作為冗余數(shù)據(jù)包放入定義好的傳真包格式中發(fā)送。
舉例來(lái)說(shuō),如圖4所示,發(fā)端網(wǎng)關(guān)將解調(diào)、編碼后的數(shù)據(jù)包放到發(fā)端緩沖器中,發(fā)端緩沖器按進(jìn)入時(shí)間給出相應(yīng)序列號(hào)25,也就是說(shuō),前面已經(jīng)存放了24個(gè)數(shù)據(jù)包了,存放到這里的目的是為了給后面的數(shù)據(jù)包提供一個(gè)攜帶冗余包的基礎(chǔ),后面的數(shù)據(jù)包需要攜帶冗余包時(shí),就可以到這里面取。然后,將序列號(hào)25對(duì)應(yīng)的數(shù)據(jù)包放入定義好的傳真包格式中的數(shù)據(jù)包位置,假設(shè)設(shè)定的冗余包個(gè)數(shù)為5,則將發(fā)端緩沖器中的第24、23、22、21、20數(shù)據(jù)包作為冗余數(shù)據(jù)包放入定義好的傳真包格式中發(fā)送。
在步驟(2)提到的設(shè)置冗余包數(shù)量的后兩種方法中,控制器分別按照從人機(jī)接口設(shè)定的冗余包數(shù)量和從控制器中的擁塞程度與冗余包數(shù)量的對(duì)應(yīng)關(guān)系中得到的冗余包數(shù)量進(jìn)行取出冗余數(shù)據(jù)包數(shù)量的控制。
(4)收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,查看收端緩沖器中當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入,如該數(shù)據(jù)包或冗余數(shù)據(jù)包的序號(hào)超出收端緩沖器所能容納的范圍則丟棄。
具體地說(shuō),收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,首先判斷當(dāng)前數(shù)據(jù)包的序列號(hào),當(dāng)該序列號(hào)小于或等于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)時(shí),依次判斷收端緩沖器中當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入;當(dāng)該序列號(hào)大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)時(shí),如果該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù),則將該數(shù)據(jù)包及其冗余數(shù)據(jù)包丟棄,如果該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差小于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù),則將當(dāng)前數(shù)據(jù)包內(nèi)容填入收端緩沖器當(dāng)前數(shù)據(jù)包序列號(hào)的位置,然后判斷收端緩沖器中冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入。
舉例來(lái)說(shuō),如圖5所示,收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,判斷當(dāng)前數(shù)據(jù)包的序列號(hào)為29,該序列號(hào)29小于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)31,所以依次判斷收端緩沖器中當(dāng)前數(shù)據(jù)包29和冗余數(shù)據(jù)包28、27(冗余數(shù)據(jù)包的數(shù)量設(shè)為2)的序列號(hào)的位置是否有數(shù)據(jù),29的位置有數(shù)據(jù),則丟掉該包;28、27的位置無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入。
假設(shè)圖6的情形,當(dāng)收到的當(dāng)前序列號(hào)35大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)31時(shí),該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差為4,它小于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù)7,則將當(dāng)前數(shù)據(jù)包35內(nèi)容填入收端緩沖器當(dāng)前數(shù)據(jù)包序列號(hào)35的位置,然后判斷收端緩沖器中冗余數(shù)據(jù)包的序列號(hào)34、33的位置是否有數(shù)據(jù),發(fā)現(xiàn)無(wú)數(shù)據(jù),則將該數(shù)據(jù)包34、33的內(nèi)容填入。
若收到的當(dāng)前序列號(hào)是39,它大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)31時(shí),該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差為8,它大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù)7,則將該數(shù)據(jù)包39丟棄。因?yàn)榇藭r(shí)緩沖器的容器是不夠的。且一般收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù)會(huì)有很多,如出現(xiàn)這種情況往往是由于傳輸錯(cuò)誤造成的,故剔除這種情況。
權(quán)利要求
1.一種IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法,它包括a、在IP傳真的發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)發(fā)端緩沖器,用來(lái)放置發(fā)端網(wǎng)關(guān)從公用電話交換網(wǎng)側(cè)解調(diào)、編碼得到的數(shù)據(jù)和相應(yīng)序列號(hào);在收端網(wǎng)關(guān)設(shè)置一個(gè)收端緩沖器,用來(lái)按相應(yīng)序列號(hào)放置收端網(wǎng)關(guān)從收到的包中解碼解出的數(shù)據(jù);b、定義一個(gè)傳真包的包格式,在封裝頭、當(dāng)前包序列號(hào)、當(dāng)前數(shù)據(jù)包的格式后面加一個(gè)放若干冗余數(shù)據(jù)包的格式;c、發(fā)端網(wǎng)關(guān)從公用電話交換網(wǎng)側(cè)接收傳真信息,進(jìn)行解調(diào)、編碼后放到發(fā)端緩沖器,發(fā)端緩沖器按進(jìn)入時(shí)間給出相應(yīng)序列號(hào),將相應(yīng)序列號(hào)、該數(shù)據(jù)包放入定義好的傳真包格式,并將發(fā)端緩沖器中當(dāng)前數(shù)據(jù)包的前若干個(gè)序列號(hào)的數(shù)據(jù)包作為冗余數(shù)據(jù)包放入定義好的傳真包格式中發(fā)送;d、收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,查看收端緩沖器中當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入,如該數(shù)據(jù)包或冗余數(shù)據(jù)包的序號(hào)超出收端緩沖器所能容納的范圍則丟棄。
2.根據(jù)權(quán)利要求1所述的IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法,其特征在于步驟d是如下具體實(shí)現(xiàn)的 收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,首先判斷當(dāng)前數(shù)據(jù)包的序列號(hào),當(dāng)該序列號(hào)小于或等于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)時(shí),依次判斷收端緩沖器中當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入;當(dāng)該序列號(hào)大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)時(shí),如果該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差大于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù),則將該數(shù)據(jù)包及其冗余數(shù)據(jù)包丟棄,如果該序列號(hào)減去收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)的差小于收端緩沖器當(dāng)前已經(jīng)填有數(shù)據(jù)包的最大序列號(hào)到緩沖器的末尾空閑的序列號(hào)數(shù),則將當(dāng)前數(shù)據(jù)包內(nèi)容填入收端緩沖器當(dāng)前數(shù)據(jù)包序列號(hào)的位置,然后判斷收端緩沖器中冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入。
3.根據(jù)權(quán)利要求1或2所述的IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法,其特征在于在步驟b中,預(yù)先設(shè)定一個(gè)固定的冗余包數(shù)量,所有的傳真包都具有同樣的冗余包數(shù)量。
4.根據(jù)權(quán)利要求1或2所述的IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法,其特征在于在步驟b中,在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)人機(jī)接口,該人機(jī)接口可以輸入冗余包的個(gè)數(shù)值,由一個(gè)控制器利用該值定義傳真包的包格式;在步驟c中,該控制器按照該值進(jìn)行取出冗余數(shù)據(jù)包數(shù)量的控制。
5.根據(jù)權(quán)利要求1或2所述的IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法,其特征在于在步驟b中,在發(fā)端網(wǎng)關(guān)設(shè)置一個(gè)網(wǎng)絡(luò)性能監(jiān)測(cè)器,它可以對(duì)網(wǎng)絡(luò)擁塞程度進(jìn)行實(shí)時(shí)監(jiān)測(cè),并將監(jiān)測(cè)結(jié)果報(bào)告給一個(gè)控制器,控制器里根據(jù)網(wǎng)絡(luò)性能越差,冗余數(shù)據(jù)包數(shù)量越大的原則預(yù)先存放網(wǎng)絡(luò)擁塞程度數(shù)據(jù)與冗余數(shù)據(jù)包數(shù)量的對(duì)應(yīng)關(guān)系,按照實(shí)時(shí)監(jiān)測(cè)結(jié)果查找該對(duì)應(yīng)關(guān)系,得到冗余數(shù)據(jù)包數(shù)量,利用該值定義傳真包的包格式;在步驟c中,該控制器按照該值進(jìn)行取出冗余數(shù)據(jù)包數(shù)量的控制。
全文摘要
一種IP傳真網(wǎng)關(guān)用戶數(shù)據(jù)報(bào)文包冗余傳送方法,它包括在IP傳真的發(fā)、收端網(wǎng)關(guān)分別設(shè)置發(fā)、收端緩沖器;定義一個(gè)傳真包的包格式,在傳統(tǒng)傳真包的格式后面加一個(gè)放若干冗余數(shù)據(jù)包的格式;發(fā)端網(wǎng)關(guān)將解調(diào)、編碼后的數(shù)據(jù)包放到發(fā)端緩沖器,將相應(yīng)序列號(hào)、該數(shù)據(jù)包放入定義好的傳真包格式,并將發(fā)端緩沖器中當(dāng)前數(shù)據(jù)包的前若干個(gè)序列號(hào)的數(shù)據(jù)包作為冗余數(shù)據(jù)包放入定義好的傳真包格式中;收端網(wǎng)關(guān)收到傳真包,取出當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包解碼后,查看收端緩沖器中當(dāng)前數(shù)據(jù)包和冗余數(shù)據(jù)包的序列號(hào)的位置是否有數(shù)據(jù),有數(shù)據(jù)則丟掉該包,無(wú)數(shù)據(jù)則將該數(shù)據(jù)包內(nèi)容填入。它能夠在用戶數(shù)據(jù)報(bào)文方式數(shù)據(jù)包丟失不重傳的情況下,仍然保障傳輸?shù)目煽啃浴?br>
文檔編號(hào)H04L12/28GK1399445SQ0112441
公開(kāi)日2003年2月26日 申請(qǐng)日期2001年7月25日 優(yōu)先權(quán)日2001年7月25日
發(fā)明者張廣勝, 蔣曉黎, 曾思南 申請(qǐng)人:華為技術(shù)有限公司