本发明属于空间信息网络技术领域,特别涉及一种测控网按需文件传输方法,可用于卫星通信。
背景技术:
卫星测控网是对航天飞行器进行测量和控制的专用网络,其主要任务是对升空段运载火箭进行测量和控制,对飞行器轨道和姿态进行测量和控制,对飞行器遥测数据进行接收处理,接收载人航天器视频图像,进行双向语音通信等。
传统的卫星测控网的资源是预分配模式,由调度中心进行统一控制、计划和使用。随着中继卫星返向多址技术的成熟,现阶段的测控网已经能实现用户飞行器的返向随机多址接入,但由于中继卫星技术的限制前向多址技术难以实现。因此,现有的文件传输分为两种,一种是无前向ack确认的不可靠传输机制,另一种则是有前向ack确认机制的可靠传输机制。现有的可靠传输机制虽然能实现文件的可靠传输,但是由于其ack需要独占前向链路,而ack本身需要的带宽很低,因此前向链路利用率低,限制了多文件同时传输时的效率。
技术实现要素:
本发明目的在于提出一种基于ack接力传输的卫星测控网络按需文件可靠传输方法,以解决上述现有技术由于中继卫星无前向多址技术所导致的无法有效利用上行链路资源的问题,提高链路资源利用率和文件传输的速率。
实现上述目的的技术思路是,前向ack分组到达资源调度中心后按照ack分组的目的和飞行器当前所处的中继卫星进行分组,通过目的飞行器轨道预测来判决是在当前中继卫星上行链路中传输还是下一中继卫星的上行链路上传输,按照见空插入的方式决定插入位置,以得到ack的最优发送路径,减少ack确认的时延,提高文件发送速率。由于ack采用累积方式可以加快分组确认的速度,因此在寻找可用时间段时,将已被相同目标用户飞行器ack占用的时隙安排当做可用时隙,用更新的ack报文替代原有的ack报文占用该时隙。
依据上述思路,本发明的实现步骤包括如下:
(1)用户飞行器向中继卫星按需发送数据包,并将发送的数据包按照发送顺序放入待确认缓存队列;
(2)中继卫星再将数据包透明转发给对应的中继地面站,中继地面站通过地面网络直接将数据包转发给地面用户,地面用户收到数据包后返回一个确认报文ack,该报文首先被发送到资源调度中心;
(3)资源调度中心收到确认报文ack后,查找用户飞行器与当前中继卫星的可用通信时间段,并在可用通信时间段内从前到后依次搜索该报文的待发送时间段是否存在:若存在,则将ack报文的发送时间设置为ack报文待发送时间段的起始时刻,转入步骤(5);若不存在,执行步骤(4);
(4)确认报文ack进入中继卫星接力传输阶段后,资源调度中心按用户飞行器与中继卫星的连接顺序,搜索用户飞行器与各个中继卫星的可用通信时间段,直至找到该报文的待发送时间段,并将该报文的发送时间设置为该报文待发送时间段的起始时刻,执行步骤(5);
(5)资源调度中心将确认报文ack转发到中继地面站,并在该报文待发送时间段的起始时刻通过前向链路发送给中继卫星,中继卫星再将该报文转发给用户飞行器;
(6)用户飞行器收到确认报文ack后,对步骤(1)中已存储在待确认缓存队列中的数据包进行确认,并将确认收到的数据包删除,至此完成一次有效的数据包发送。
本发明与现有技术相比,具有如下优点:
1)本发明采用中继卫星接力传输方案为确认报文ack分配资源,利用用户飞行器的轨道预测信息来为报文分配最优的发送资源,解决了ack跨中继卫星传输问题,实现了ack报文的连续传输;
2)本发明采用确认报文ack的后向替代机制,避免了无效ack报文传输,能够加快对数据分组的确认,提高了中继卫星前向链路的利用率;
3)本发明采用在可用通信时间段内插入式安排确认报文ack的方式,在可用通信时间内查找第一个能满足ack发送的时隙,解决了前向ack报文发送需要独占链路资源的问题,提高了链路利用率的同时能够加快ack报文的传输。
附图说明
图1是本发明的测控网络场景示意图
图2是本发明的实现流程图。
具体实施方式
下面结合附图对本发明做进一步的描述:
参照附图1,本发明描述的测控网络场景包含5类节点,分别为用户飞行器节点、中继卫星节点、地面站节点、地面用户节点及资源调度中心节点。其中:
用户飞行器节点有多个,这些用户飞行器是中低轨道资源卫星或观测卫星,具有可预测的飞行轨迹,可按需发起反向文件传输任务;
中继卫星节点有3个,每个中继卫星是相对于地球静止的地球同步轨道卫星,其轨道高度36500km,用于为用户飞行器提供数据中继转发功能;
地面站节点有3个,每个地面站与中继卫星一一对应,具有数据转发能力;
地面用户有多个,每个地面用户可接收用户飞行器发来的数据报文;
资源调度中心节点有一个,其功能是管理并分配前向链路资源。
参照附图2,本发明的具体步骤如下:
步骤1,用户飞行器发送文件数据分组。
用户飞行器向中继卫星按需发送数据分组,并将发送的数据分组按照发送顺序放入待确认缓存队列,该数据分组为待传输文件的分片。
步骤2,中继卫星及中继地面站转发数据包分组。
中继卫星收到数据分组后将其透明转发给对应的中继地面站,中继地面站收到数据分组后直接通过地面网络将其转发给目的地面用户。
步骤3,地面用户接收并处理数据分组。
地面用户收到发来的数据分组,将数据分组递交给上层应用,并将确认报文ack发送给资源调度中心。
步骤4,资源调度中心为确认报文ack分配传输资源。
(4a)从确认报文ack中取出其报文的目的飞行器id;
(4b)根据目的飞行器的轨道参数和当前时间来计算该用户飞行器当前时刻的位置坐标;
(4c)利用步骤(4b)中得出的飞行器位置坐标来计算其与每个中继卫星的空间直线距离,将其距离最近的中继卫星设置为当前中继卫星;
(4d)计算当前中继卫星的可用通信时间段,具体步骤如下:
(4d1)将从当前时间起到用户飞行器与当前中继卫星断开连接的时间段[tcurrent,tshift]设置为物理连通时间段;
(4d2)在物理连通时间段内中去掉已被按需分配业务和确认报文ack占用的时间段;
(4d3)在步骤(4d2)得到的时间段内加入被同一目的飞行器ack占用的时间段,该时间段即是可用通信时间段;
(4e)在当前中继卫星的可用通信时间段内从前往后搜索待发送时间段,若在待发送时间段内能寻找出第一个长度大于确认报文ack长度的时间空隙,则搜索成功,执行步骤5,若在待发送时间段内不能找到一个长度大于确认报文ack长度的时间空隙,则搜索失败,执行步骤(4f);
(4f)通过计算得出用户飞行器随时间推移的空间坐标变化,按照步骤(4c)中的距离最近原则,找出用户飞行器将进入的下一中继卫星;
(4g)该确认报文ack递交给步骤(4f)中确定的下一中继卫星处理,返回步骤(4d);
(4g)不断进行(4d)-(4f)步骤,直至找到确认报文ack可用的时隙。
步骤5,中继卫星及中继地面站转发确认报文ack。
资源调度中心将确认报文ack报文转发到中继地面站,在分配的待发送时间段内通过前向链路发送给中继卫星,中继卫星将确认报文ack转发给用户飞行器。
步骤6,用户飞行器完成报文发送。
用户飞行器收到确认报文ack后,对步骤1中已存储在待确认缓存队列中的数据包进行确认,并将确认收到的数据包删除,至此完成一次有效的数据包发送。
重复以上步骤,用户飞行器不断进行返向数据分组的发送和前向确认报文ack的接收,最终完成整个文件的可靠传输。