CN109936859A - 适于高延时低带宽卫星通信小数据量传输方法 - Google Patents
适于高延时低带宽卫星通信小数据量传输方法 Download PDFInfo
- Publication number
- CN109936859A CN109936859A CN201910323299.7A CN201910323299A CN109936859A CN 109936859 A CN109936859 A CN 109936859A CN 201910323299 A CN201910323299 A CN 201910323299A CN 109936859 A CN109936859 A CN 109936859A
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- fragment
- answering
- fragmentation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种适于高延时低带宽卫星通信小数据量传输方法。在卫星通信的过程中,一方面当带宽较低时,控制发送端的发送量,确保通道不会被堵塞;另一方面,控制发送端的发送包的数量以及重发和补发缺失包,从而提高整个卫星通道的利用率,同时也提高了数据的传输效率。
Description
技术领域
本发明涉及星通信技术领域,具体地说,是一种在卫星通道高时延、低带宽的情况下传输数据的卫星通信方法。
背景技术
当前的卫星通信技术属于无线通信技术的一种,噪音是不可避免的一个问题。因此在整个通信传输的过程中,一直遇到由噪音引起的误码问题,降低了整个信道的吞吐量;其次,卫星数量少,资源有限,导致可以使用的资源也极其有限,一般情况下,带宽都比较低;另外,由于距离远,时延大,接收方短时间内未收到响应,误认为数据已丢失(实际可能已发送至目的地),都会对传输造成影响。综上,现有技术的缺点是资源利用率低,易通道阻塞等问题。
发明内容
本发明的目的在于提供一种适于高延时低带宽卫星通信小数据量传输方法。
实现本发明目的的技术解决方案为:一种适于高延时低带宽卫星通信小数据量传输方法,
在数据包发送前,将数据包拆分为多个数据分片并按分片号顺序放入发送列表;
发送数据包时,数据发送线程从发送列表中不断取数据分片发送,每个“有效数据”分片发送后延时一段时间,用于控制1秒内发送的数据量,每发送完一个分片,检查是否需要重发、补发,并检查发送列表中是否有“数据应答”需要发送;
在发送过程中,发送线程定时一段时间,定时时间到后检查是否收到对端全部收齐数据分片的“数据应答”,如果没收到数据分片全部收齐的“数据应答”,则重新将对端为收齐的数据分片加入发送列表继续发送;
接收线程将接收到的有效数据和接收到的数据应答分开处理;
收到的有效数据被检查数据标识后存入接收列表中;接收数据时设置一个接收线程数据应答定时器,每隔一段时间检查接收列表,将当前收到数据信息打包成数据应答并加入发送列表的最前面,保证发送数据时先发送此数据,通过每隔一段时间单独发送数据应答,可以减少交互次数,不用每次收到数据都做检查;
收到的数据应答则被解析,通过解析获得数据标签、传输标识、累积确认、分片编号、需要补发的分片起始编号、需要补发的分片结束编号;通过数据标签确定当前收到的数据是“有效数据”还是“数据应答”,通过传输标识确定是否是当前发送数据包的数据应答,通过分片编号和累积确认确定是否已经累积接收到从分片0到当前分片号的全部分片,通过分片编号、需要补发的分片起始编号和需要补发的分片结束编号确定当前需要补发哪些数据分片。通过数据应答中的信息可以在交互过程中保证数据包的完整性。
本发明与现有技术相比,其显著优点:减少了收发数据双方的交互次数,保证了数据传输的可靠性和完整性,保证了卫星带宽的利用率,防止在窄带宽下传输数据时导致卫星信道长时间阻塞。
附图说明
图1是本发明的数据流和控制流的框架图。
图2是本发明的发送数据流程图。
图3是本发明的接收数据流程图。
具体实施方式
本发明是专门为卫星通信设计的数据传输方法,主要用于传输数据量较小的数据,针对卫星通信中出现的高延时问题、低带宽问题、发送时由于信道不稳定所引起的丢包问题等常见问题做了处理,同时节省了卫星信道资源,提高了数据的传输效率。
下文中“数据包”指一整包完整的数据,例如一张图片的完整数据;“数据分片”指数据包的分片,例如一张图片的一部分数据;“有效数据”指需要传输的有效数据;“数据应答”指无效数据,只用于辅助传输有效数据,数据应答是只有一个数据分片的数据包;“传输标识”指区分数据包的标识;“分片号”指数据分片的标识;“累积确认”指数据分片号为0的分片到当前收到的分片是否都收齐的标识。
在数据包发送前,数据包会被分成多个分片按分片号顺序放入发送列表中;在数据包发送时,数据发送线程会从发送列表中不断取数据分片发送,每个“有效数据”分片发送后会延时一段时间,用于数据流量控制,控制1秒内发送的数据量,每次发送完一个分片都会检查是否需要做重发、补发的操作,也会检查发送列表中是否有“数据应答”需要发送,在发送过程中即便发送列表中没有数据可以发送,发送线程会定时一段时间,定时时间到后会检查是否收到了对端全部收齐数据分片的“数据应答”,如果没收到数据分片全部收齐的“数据应答”则会重新将对端未收齐的数据分片加入发送列表继续发送。
接收线程会将接收到的有效数据和接收到的数据应答分开处理,收到的有效数据会被检查数据标识后存入接收列表中,接收数据时会单独有一个定时器(接收线程数据应答定时器)每隔一段时间会检查接收列表,将当前收到数据信息打包成数据应答并加入发送列表的最前面,保证发送数据时会先发送此数据。收到的数据应答会被解析,通过解析可以获得数据标签、传输标识、累积确认、分片编号、需要补发的分片起始编号、需要补发的分片结束编号。通过数据标签可以确定当前收到的数据是“有效数据”还是“数据应答”,通过传输标识可以确定是否是当前发送数据包的数据应答,通过分片号和累积确认可以确定是否已经累积接收到了从分片0到当前分片号的全部分片,通过分片号和补发信息可以确定当前需要补发哪些数据分片。通过“累积确认”可以得知是否当前接收数据方已经累积收齐了多少数据,这样当发送线程检查对端是否收齐时会将没有收齐的数据重新发送,已经收齐的数据就不会再发了,这样也提高了发送效率。
下面结合说明书附图对本发明作进一步说明。
结合图1,图中实心箭头为控制流程,空心箭头为数据流程。数据发送管理器中包含原始数据、接收线程数据应答定时器,主要作用就是:每次发送一个分片的数据后做相应的判断,并将需要补发的数据,需要重发的数据或需要发送的数据应答加入发送列表。图中控制流程表示每次在处理完数据后会将处理结果告诉下一级,以便下一级能够正常处理数据。数据流程表示所需发送的有效数据的流向和传输过程。
发送数据方中数据发送管理器会将整包数据分片,将分片放入发送列表,发送线程会从发送列表中取数据发送给接收数据方,单个分片发送完成后会进入延时,之后会告诉数据发送管理器本片数据发送结束,发送线程会继续去发送列表中取数据发送;发送管理器会检查是否需要发送数据应答或者需要将补发的数据分片加入发送列表,或者当发送列表中的数据全部发送完后,数据发送管理器会判断是否需要将重发的数据分片加入发送列表。接收数据方收到数据后会先判断数据分片是否正确,正确则加入接收列表,错误则丢弃,然后告诉数据发送管理器,数据发送管理器会启动定时器持续检查收到了多少数据分片,将收到的结果打包成数据应答,加入发送列表;发送数据方收到数据应答,判断数据应答结果,将结果告诉数据发送管理器,这样在数据发送管理器就有了判断补发数据、重发数据、发送结束的依据进行判断。
数据传递中使用了以下两种传输格式:
有效数据格式:
数据标签 |
传输标识 |
最后一个分片标志 |
分片号 |
分片中的数据 |
数据格式中“数据标签”是区分当前数据的类型,区分是有效数据还是数据应答;“传输标识”是区分整包数据用的,由于在传输数据时会将整包数据拆分成更小的数据分片,传输标识就是为了确保某个数据分片是否是某个数据包的数据;“最后一个分片的标志”表示当前分片是否是整个数据包的最后一个分片;“分片号”表示当前是第几个分片的数据;“分片中的数据”表示当前分片中的有效数据。
数据应答格式:
数据标签 |
传输标识 |
累积确认 |
分片编号 |
需要补发的分片起始编号 |
需要补发的分片结束编号(不包含此分片) |
数据应答格式中“数据标签”和“传输标识”与有效数据格式中的“数据标签”和“传输标识”一样是区分当前数据的类型和当前分片属于哪数据包的数据;“累积确认”的作用是表示从第0分片到当前分片是否全部收齐;“分片编号”表示当前接收方收到的最大分片号;“需要补发的分片起始标号”和“需要补发的分片结束编号”表示需要补发的数据,包含补发的分片的起始标号,但不包含分片的结束编号。
结合图2,数据发送的流程如下:
(1)将需要发送的数据包拆分为较小数据分片缓存在发送列表中;
(2)将发送列表中的数据分片按顺序发送,每发送一个数据分片延时一段时间;
(3)在两个数据分片发送之间需要做一些检查,检查是否有补发的数据分片需要发送,检查是否需要发送“数据应答”,如果需要补发数据分片则将需要补发的分片添加到发送列表顶部,如果需要发送“数据应答”则将“数据应答”加入发送列表顶部;
(4)检查发送列表中的数据分片是否全部发送完成,如果没有发送完成则转(2),如果全部发送完成则延时一段时间检查收到的“数据应答”中接收方是否已经将当前数据包的全部数据分片收齐,如果全部收齐则本数据包发送结束,如果未将数据分片全部收齐则将接收方未收到的数据分片加入发送列表并转(2)。
结合图3,数据接收的流程如下:
(1)判断收到的数据是“有效数据”还是“数据应答”,如果是“有效数据”转(2),如果是“数据应答”转(4);
(2)判断是否已经有正在接收且未接收完成的数据包,如果有正在接收的数据包继续执行(3),如果没有正在接收的数据包则将收到的数据分片加入接收列表并转(1);
(3)检查“传输标识”是否和接收列表中数据包的“传输标识”一致,如果一致将数据分片按“分片号”顺序加入接收列表并转(1),如果传输标识不一致,则将数据丢弃并转(1);
(4)判断是否有数据包正在发送,如果没有数据包正在发送,则将收到的“数据应答”丢弃转(1);
(5)判断收到的“数据应答”中的传输标识是否和发送的传输标识一致,如果传输标识不一致,则将“数据应答”丢弃并转(1),如果一致则继续执行(6);
(6)判断收到的“数据应答”中是否需要补发数据分片,如果需要补发数据分片,将需要补发的数据分片放入补发列表并转(1),如果没有数据分片需要补发则继续执行(7);
(7)判断收到的“数据应答”中是否有“累积确认”的字段(是否“全部确认”),如果有“累积确认”的字段(有“全部确认”)就将当前最新的分片号缓存起来,如果没有“累积确认”的字段(没有“全部确认”)则将“数据应答”丢弃,并转(1);
(8)判断收到的“数据应答”中是否说明已经收到最后一个数据分片,如果已经接收到最后一个分片,则本次接收数据包结束,如果没有接收到最后一个分片则转(1)。
综上所述,本发明是在卫星通信的过程中,一方面当带宽较低时,例如带宽只有8kbps或更低的情况下,控制发送端的发送量,确保通道不会被堵塞;另一方面,控制发送端的发送包的数量以及重发和补发缺失包,从而提高整个卫星通道的利用率,同时也提高了数据的传输效率,可以在有误码的环境下稳定高效的传输数据。本发明的方法也可以适用于其他类型的数据传输,只要是在通信延时高通信延时长期在500ms以上,通信带宽单向低于10Kbps,数据量较小的情况下都可以采用此种方法。
Claims (3)
1.一种适于高延时低带宽卫星通信小数据量传输方法,其特征在于:
在数据包发送前,将数据包拆分为多个数据分片并按分片号顺序放入发送列表;
发送数据包时,数据发送线程从发送列表中不断取数据分片发送,每个“有效数据”分片发送后延时一段时间,每发送完一个分片,检查是否需要重发、补发,并检查发送列表中是否有“数据应答”需要发送;
在发送过程中,发送线程定时一段时间,定时时间到后检查是否收到对端全部收齐数据分片的“数据应答”,如果没收到数据分片全部收齐的“数据应答”,则重新将对端未收齐的数据分片加入发送列表继续发送;
接收线程将接收到的有效数据和接收到的数据应答分开处理;
收到的有效数据被检查数据标识后存入接收列表中;接收数据时设置一个接收线程数据应答定时器,每隔一段时间检查接收列表,将当前收到数据信息打包成数据应答并加入发送列表的最前面,保证发送数据时先发送此数据;
收到的数据应答则被解析,通过解析获得数据标签、传输标识、累积确认、分片编号、需要补发的分片起始编号、需要补发的分片结束编号;通过数据标签确定当前收到的数据是“有效数据”还是“数据应答”,通过传输标识确定是否是当前发送数据包的数据应答,通过分片编号和累积确认确定是否已经累积接收到从分片0到当前分片号的全部分片,通过分片编号、需要补发的分片起始编号和需要补发的分片结束编号确定当前需要补发哪些数据分片。
2.根据权利要求1所述的传输方法,其特征在于,数据发送的步骤如下:
(1)将需要发送的数据包拆分为数据分片缓存在发送列表中;
(2)将发送列表中的数据分片按顺序发送,每发送一个数据分片延时一段时间;
(3)两个数据分片发送之间,检查是否有补发的数据分片需要发送,检查是否需要发送“数据应答”,如果需要补发数据分片,则将需要补发的分片添加到发送列表顶部,如果需要发送“数据应答”,则将“数据应答”加入发送列表顶部;
(4)检查发送列表中的数据分片是否全部发送完成,如果没有发送完成转(2),如果全部发送完成则延时一段时间,检查收到的“数据应答”中接收方是否已经将当前数据包的全部数据分片收齐,如果全部收齐则本数据包发送结束,如果未将数据分片全部收齐则将接收方未收到的数据分片加入发送列表并转(2)。
3.根据权利要求1所述的传输方法,其特征在于,数据接收的步骤如下:
(1)判断收到的数据是“有效数据”还是“数据应答”,如果是“有效数据”转(2),如果是“数据应答”转(4);
(2)判断是否已经有正在接收且未接收完成的数据包,如果有正在接收的数据包转(3),如果没有正在接收的数据包则将收到的数据分片加入接收列表并转(1);
(3)检查“传输标识”是否和接收列表中数据包的“传输标识”一致,如果一致就将数据分片按“分片号”顺序加入接收列表并转(1),如果传输标识不一致,则将数据丢弃并转(1);
(4)判断是否有数据包正在发送,如果没有数据包正在发送,则将收到的“数据应答”丢弃并转(1);
(5)判断收到的“数据应答”中的传输标识是否和发送的传输标识一致,如果传输标识不一致,则将“数据应答”丢弃并转(1),如果一致则继续执行(6);
(6)判断收到的“数据应答”中是否要求补发数据分片,如果需要补发数据分片,将需要补发的数据分片放入补发列表并转(1),如果没有数据分片需要补发则转(7);
(7)判断收到的“数据应答”中是否有“累积确认”的字段,如果有“累积确认”的字段,将当前最新的分片号缓存起来,如果没有“累积确认”的字段,则将“数据应答”丢弃,并转(1);
(8)判断收到的“数据应答”中是否说明已经收到了最后一个数据分片,如果已经接收到最后一个分片,则本次接收数据包结束,如果没有接收到最后一个分片则转(1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910323299.7A CN109936859B (zh) | 2019-04-22 | 2019-04-22 | 适于高延时低带宽卫星通信小数据量传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910323299.7A CN109936859B (zh) | 2019-04-22 | 2019-04-22 | 适于高延时低带宽卫星通信小数据量传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109936859A true CN109936859A (zh) | 2019-06-25 |
CN109936859B CN109936859B (zh) | 2020-10-23 |
Family
ID=66990628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910323299.7A Active CN109936859B (zh) | 2019-04-22 | 2019-04-22 | 适于高延时低带宽卫星通信小数据量传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109936859B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430548A (zh) * | 2019-08-02 | 2019-11-08 | 上海西派埃自动化仪表工程有限责任公司 | 数据补发方法、装置、采集器及存储介质 |
CN112261106A (zh) * | 2020-10-16 | 2021-01-22 | 天津津航计算技术研究所 | 一种适用于卫星通讯模式下的文件传输方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040229599A1 (en) * | 2003-05-16 | 2004-11-18 | Quick Roy Franklin | Reliable reception of broadcast/multicast content |
CN101159520A (zh) * | 2007-10-29 | 2008-04-09 | 中兴通讯股份有限公司 | 数据传输方法 |
US20120089885A1 (en) * | 2010-10-06 | 2012-04-12 | Cleversafe, Inc. | Data transmission utilizing route selection and dispersed storage error encoding |
CN102694855A (zh) * | 2012-05-21 | 2012-09-26 | 南京信息工程大学 | 基于北斗卫星的气象灾害预警信息发布系统及方法 |
CN106330414A (zh) * | 2016-08-16 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种报文传输方法及装置 |
CN107124253A (zh) * | 2016-02-25 | 2017-09-01 | 中兴通讯股份有限公司 | 基于dvb-rcs系统的数据重传方法及装置 |
CN107257270A (zh) * | 2017-05-31 | 2017-10-17 | 张超 | 基于混合自动重传请求的数据传输方法及系统 |
CN108183767A (zh) * | 2017-12-28 | 2018-06-19 | 南京大学 | 一种适用于空间dtn网络的可靠传输方法 |
CN109242744A (zh) * | 2018-08-31 | 2019-01-18 | 深圳市艾龙电子有限公司 | 一种终端、控制中心及监管系统 |
-
2019
- 2019-04-22 CN CN201910323299.7A patent/CN109936859B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040229599A1 (en) * | 2003-05-16 | 2004-11-18 | Quick Roy Franklin | Reliable reception of broadcast/multicast content |
CN101159520A (zh) * | 2007-10-29 | 2008-04-09 | 中兴通讯股份有限公司 | 数据传输方法 |
US20120089885A1 (en) * | 2010-10-06 | 2012-04-12 | Cleversafe, Inc. | Data transmission utilizing route selection and dispersed storage error encoding |
CN102694855A (zh) * | 2012-05-21 | 2012-09-26 | 南京信息工程大学 | 基于北斗卫星的气象灾害预警信息发布系统及方法 |
CN107124253A (zh) * | 2016-02-25 | 2017-09-01 | 中兴通讯股份有限公司 | 基于dvb-rcs系统的数据重传方法及装置 |
CN106330414A (zh) * | 2016-08-16 | 2017-01-11 | 杭州华三通信技术有限公司 | 一种报文传输方法及装置 |
CN107257270A (zh) * | 2017-05-31 | 2017-10-17 | 张超 | 基于混合自动重传请求的数据传输方法及系统 |
CN108183767A (zh) * | 2017-12-28 | 2018-06-19 | 南京大学 | 一种适用于空间dtn网络的可靠传输方法 |
CN109242744A (zh) * | 2018-08-31 | 2019-01-18 | 深圳市艾龙电子有限公司 | 一种终端、控制中心及监管系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430548A (zh) * | 2019-08-02 | 2019-11-08 | 上海西派埃自动化仪表工程有限责任公司 | 数据补发方法、装置、采集器及存储介质 |
CN110430548B (zh) * | 2019-08-02 | 2022-07-12 | 上海西派埃自动化仪表工程有限责任公司 | 数据补发方法、装置、采集器及存储介质 |
CN112261106A (zh) * | 2020-10-16 | 2021-01-22 | 天津津航计算技术研究所 | 一种适用于卫星通讯模式下的文件传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109936859B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7289427B2 (en) | Enhanced ARQ with OFDM modulation symbols | |
EP2273712B1 (en) | Method and apparatus for improving data transmission reliability in a wireless communications system | |
US20090109971A1 (en) | After transmission return signal | |
EP1281248B1 (en) | Transmitting and receiving data according to radio link protocol in a mobile communications system | |
US8402343B2 (en) | Reliable packet cut-through | |
EP1096719A3 (en) | Relay data retransmission method and system | |
CN103647625B (zh) | 一种基于链路的数据可靠传输方法 | |
US20020064167A1 (en) | Hybrid ARQ with parallel packet transmission | |
KR101283482B1 (ko) | Pci 익스프레스 프로토콜 처리 장치 | |
CA2571504A1 (en) | Method of, and system for, communicating data, and a station for transmitting data | |
EP2299621A1 (en) | Encoder, decoder, encoding method, and decoding method | |
EP2017995A3 (en) | Physical layer automatic repeat request (ARQ) | |
CN103840917A (zh) | 一种基于网络编码的多路并行传输方案 | |
CN104113403B (zh) | 一种基于滑动窗口的半双工通信方法及系统 | |
CN104780119B (zh) | 一种基于scps‑tp的丢包定位及检测方法 | |
US6289224B1 (en) | Method and apparatus for starting an acknowledgment timer | |
CN103259632B (zh) | 基于续采单传模型的无线传感网络数据可靠汇聚方法 | |
EP1919117A3 (en) | Packet retransmission control using priority information | |
CN103078707B (zh) | 一种深空通信中的文件传输方法 | |
CN109936859A (zh) | 适于高延时低带宽卫星通信小数据量传输方法 | |
CN101662798B (zh) | 无线传感器网络低功耗邀请重传方法及其装置 | |
EP2157723A3 (en) | Data retransmission method and system | |
CA2396213A1 (en) | Automatic retransmit request protocol for channels with time-varying capacity | |
CN104038327B (zh) | Fc网络的出错重传方法 | |
CN103825689B (zh) | 具有本地缓存的延迟确定性报文重传方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |