一种基于时分多址接入空间动态网络的可靠数据传输方法

文档序号:7835335阅读:181来源:国知局
一种基于时分多址接入空间动态网络的可靠数据传输方法
【专利摘要】本发明公开了一种基于时分多址接入空间动态网络的可靠数据传输方法,目的是提高数据传输的可靠性。技术方案是先构建一个基于时分多址接入空间动态网络、由1个管理节点和N个数据传输节点组成的数据传输环境,管理节点上安装有链路规划软件,各数据传输节点中的计算机上安装有数据传输软件;设计针对时分多址接入空间动态网络的传输数据帧;管理节点上的链路规划软件根据卫星星历确定数据传输节点之间的连接关系和数据传输路径,得到建链规划表和路由表并将其发送至每个数据传输节点;各数据传输节点的数据传输软件完成数据按照优先级发送和接收,并有数据重传机制。本发明可保证在不增加传输节点存储和处理负担的前提下数据有效可靠地传输。
【专利说明】一种基于时分多址接入空间动态网络的可靠数据传输方法

【技术领域】
[0001]本发明主要涉及一种基于时分多址接入空间动态网络的可靠数据传输方法。

【背景技术】
[0002]传统的网络数据传输方法所应用的网络是全时连接、点对点、全双工传输的,保证数据可靠地、无重复地、按照顺序到达。如果是分时连接、半双工传输、多址接入的网络,传统的数据传输控制方法不一定适用,必须探索一种针对时分多址接入空间动态网络(时分多址接入空间动态网络是现有星间数据传输网络的抽象模型)特点的数据传输控制方法,尤其是确保重要数据到达的数据传输方法。时分多址接入空间动态网络的特点为:网络节点之间不是一直连接的,而是有规律的连接和断开;数据传输是半双工的,即某一段时间数据只能单向地从一个节点传输到另一个节点;网络节点的存储容量有限,即节点不可能无限制地缓存数据;网络节点的数据处理能力有限,即数据处理算法不能太复杂;网络数据传输有一定的可靠性要求,即重要数据要求接收节点回传给发送节点应答信号,如果一定时间内没有收到应答则数据需要重传;网络是平面结构,即数据节点地位平等,节点之间没有主从关系,各节点中的数据处理算法是一致的。相对于传统网络,在时分多址接入空间动态网络中进行数据传输有高误码率、高分组丢失率、长链路延时等特点,传统的网络传输OSI模型是不适用的;同时该网络存在存储资源和计算资源的约束,因此在设计数据传输方法时既要考虑到数据传输性能,又要求简单易维护。本发明针对此种网络特点,将数据链路层、传输层、网络层、应用层等进行跨层设计,只保留必要的控制字段,通过设计合理的数据传输方法,使数据从端到端可靠地传输,使路由机制简单。在减少网络节点存储和处理开销的同时,达到数据可靠传输的目的,防止网络数据拥塞现象发生。
[0003]基于传统网络的数据传输方法为:首先建立端到端的物理连接,然后进行数据传输,传输完毕后,将此物理连接终止,此物理连接在数据传输的全过程中保持不变。在建立物理连接和终止物理连接的过程中,需要数据发送节点和数据接收节点之间进行多次握手。数据传输是全双工的,即在数据传输的两个方向传输能力是一致的。数据如果在传输过程中发生问题则进行数据重传,重传机制为超过预设重传时间即进行重传操作。传统网络中,网络节点为主从关系,网络节点处理能力不受限制,网络中传输的数据可靠性要求没有差别,数据丢失的原因为网络拥塞,所以网络传输方式一般根据OSI模型进行分层设计。
[0004]而根据时分多址接入空间动态网络的特点,其节点没有主从之分,完全是平等的关系,数据发送节点和数据接收节点建立的物理连接在数据传输过程中是变化的,并经常会中断,只能保证重要数据可靠到达,建立连接时不需要握手。其节点的数据处理能力、数据存储能力均有限,物理连接切换和无线链路传输的高误码率是数据丢失的主要原因。数据传输是半双工的,而且前向传输和后向传输的能力不一样。由于上述网络特点限制,基于时分多址接入空间动态网络的数据传输方法不能采用传统OSI模型,必须进行重新设计。


【发明内容】

[0005]本发明要解决的技术问题是在时分多址接入空间动态网络上实现数据传输方法,数据传输方法旨在提高数据传输的可靠性,在数据发送端和数据接收端之间建立一种应答关系,保证重要数据优先到达;在数据未按照预定情况传输到目的节点时,重发数据,保证在不增加传输节点存储和处理负担的前提下数据有效可靠地传输。
[0006]本发明的技术方案是:
[0007]针对时分多址接入空间动态网络的特点,本发明的数据传输方法分以下几个步骤。
[0008]第一步,构建一个基于时分多址接入空间动态网络的数据传输环境。
[0009]此数据传输环境中有两类节点,一类是管理节点,一类是数据传输节点,管理节点通过管理控制链路和各数据传输节点相连,各数据传输节点之间通过数据传输链路相连,各数据传输节点的地位平等,数据传输链路每时隙最大传输帧数为M。数据传输环境有I个管理节点,N个数据传输节点(N为正整数且NS 2)。两类节点均是带有计算机的时分多址接入空间动态网络节点,管理节点中的计算机上安装有链路规划软件,各数据传输节点中的计算机上安装有数据传输软件。链路规划软件为每个数据传输节点生成一张建链规划表和一张路由表,每张建链规划表和每张路由表不相同,用以确定数据传输节点的建链目标节点和数据传输路径,数据传输软件完成数据发送和数据接收工作。
[0010]数据传输节点上均设置有发送数据缓冲区、接收数据缓冲区、重传数据缓冲区和数据准备缓冲区。
[0011]I)发送数据缓冲区按照发送时隙顺序存贮需要发送的数据帧,大小按照(N-1) XMX每帧字节数进行设置,单位为字节。
[0012]2)接收数据缓冲区按照接收目标节点分类,每一个节点缓冲区有四个数据域,ACK, ACK_Num, Sequence_Num,接收数据帧,接收数据缓冲区的大小按照(N_l) X (MX每帧字节数+3)设置,单位为字节。
[0013]3)重传数据缓冲区只在数据需要应答时才使用,存贮已经发送但还未得到有效应答的发送数据帧信息,按照发送目标节点分类,每一个重传数据缓冲区有三个数据域,发送时刻,发送帧序列号,发送数据帧,重传数据缓冲区的大小按照(N-1) X (MX每帧字节数+2)设置,单位为字节。
[0014]4)数据准备缓冲区按照重传数据、转发数据、本节点发送数据分为3个分区,每个分区大于NXMX每帧字节数。
[0015]所有缓冲区在初始状态均为空。
[0016]第二步,设置星间传输数据帧。
[0017]针对时分多址接入空间动态网络的特点,设计针对该网络的传输数据帧。
[0018]每个传输数据帧由12个域组成,分别为:
[0019]DSCID:节点标识,传输节点在数据传输环境中的唯一编号;
[0020]2) VCF COUNT:虚拟信道计数,为每个虚拟信道上产生的传送帧按顺序编号;
[0021 ] 3) Dest Addr:目的地址 8 位;
[0022]4) HOP:传播跳数,规定数据转发的最大次数;
[0023]5)用户数据:用户自已定义的数据,是星间传输数据帧的内容;
[0024]6) Sequence_Num:发送序列号;
[0025]7)ACK_Num:确认序列号;
[0026]8) PRI数据优先级;0-15之间的数,15优先级最高;
[0027]9) PSH:发送序号有效标志I位,发送序号有效标志为“ I ”时,表示接收方应该尽快将这一数据帧提交应用层处理,发送序号有效标志为“O”时,表示该数据为空帧数据或无效数据,接收方可抛弃;
[0028]10)ACK:确认序号有效标志I位:为“I”时表示该数据帧的确认序列号字段(ACK_Num)有效,否则无效;初始状态为O ;
[0029]IDTP-1D:传输协议类别,0011表示不需要应答;0100表示需要应答
[0030]12) CRC校验:数据传输帧的CRC校验值。
[0031]第三步:管理节点根据卫星星历确定数据传输节点之间的连接关系和数据传输路径,得到建链规划表和路由表,并将建链规划表和路由表发送至每个数据传输节点。方法是:
[0032]3.1管理节点中的计算机上运行链路规划软件,链路规划软件根据存储的卫星星历计算出各卫星之间的可见关系(参见J.Vergados.A和D.Vergados的文章Fair TDMAscheduling in wireless multihop networks。见 Telecommun Syst 杂志,2012 年 50 卷,第181-198页。),确定在特定的时段内数据传输节点之间的连接关系和数据传输路径,每个数据传输节点与其它数据传输节点的连接关系采用建链规划表表示,数据传输路径采用路由表表示,管理节点为每个数据传输节点生成I个建链规划表和I个路由表,并发送到对应的数据传输节点,每个数据传输节点将接收到的与该传输节点对应的建链规划表和路由表保存,这样N个数据传输节点中共有N张不同的建链规划表和路由表。在固定时间间隔后,网络拓扑随着卫星运动发生预期的变化,管理节点根据变化产生新的N个建链规划表和N个路由表并发送至对应的数据传输节点,建链规划表和路由表均带有起始时刻和终止时刻,每个建链规划表和路由表的有效时间段在时间上为顺序关系,没有重叠,特定时间段只有一组建链规划表和路由表生效。
[0033]时分多址接入空间动态网络具有扁平化特点,节点到节点的数据最多经过一次转发即到达目的节点。
[0034]建链规划表以时间序列的方式规定每个数据传输节点在特定时刻和特定数据传输节点的连接关系,此连接关系以时隙为单位,一个时隙内连接关系不变。
[0035]建链规划表有2项,分别为表头和表体。
[0036]表头由起始时刻和终止时刻两个域组成,起始时刻指所属建链规划表生效的时亥IJ,终止时刻指所属建链规划表失效的时刻。
[0037]表体有P项,P =(终止时刻-起始时刻)/时隙,即建链规划表有效时间长度为P个时隙。表体由3个域组成,3个域分别为时隙编号、当前时隙的连接目标结点、当前时隙的收发状态。时隙指起始时刻与终止时刻之间的时间段。表体形如:
[0038]I)时隙编号:以I为起始,顺序增加,最大值为P。
[0039]2)目标节点号:本数据传输节点在本时隙的连接数据传输节点。
[0040]3)收发状态:目标节点号所对应的目标节点在本时隙的状态,有接收和发送两个状态。
[0041]路由表规定了数据从发送节点传送到接收节点的传输路径。
[0042]路由表有2项,分别为路由表表头和路由表表体。
[0043]路由表表头由路由表起始时刻和路由表终止时刻两个域组成,路由表起始时刻指所属路由表生效的时刻,路由表终止时刻指所属路由表失效的时刻。
[0044]表体有N项,每项包括2个域,分别为:
[0045]I)路由表目标节点号:在数据传输环境中的数据传输节点。
[0046]2)转发节点号:数据转发节点。
[0047]路由表指定了全部数据传输节点作为数据传输最终目标节点时的转发节点,按照数据传输节点的编号顺序进行排列。
[0048]参与数据传输的每个数据传输节点使用的建链规划表和路由表结构相同而内容不同,各数据传输节点按照建链规划表和路由表确定链接关系和数据传输路径。
[0049]3.2管理节点通过管理控制链路将建链规划表和路由表发送至每个数据传输节点。
[0050]3.3设定数据重传时限为T,T多NX时隙;当发送需要应答的数据帧时,超过T,发送节点没有收到接收节点回传的应答信息,则发送节点将数据重传。
[0051]第四步,各数据传输节点中的计算机运行数据传输软件,完成数据发送和数据接收。方法是:
[0052]数据传输包括两个步骤,即数据发送和数据接收。数据发送和数据接收在同一个数据传输软件中不同时实现,一般是数据发送和数据接收交替进行。数据重传不是一个独立的过程,而是在发送和接收过程中实现。
[0053]本发明数据重传处理采用端到端应答机制,端到端应答机制是指在通信两端的实体之间进行、由信息的最终接收节点向源节点发送确认应答的机制,传输路径上的中间节点不负责确认,只负责转发。
[0054]当发送节点将需要应达数据帧发送到目的节点,并在规定的数据重传时间间隔内收到了回传的应答帧,应答帧表明接收节点已经正确地收到了数据,则数据传输正常,否则为数据传输异常。数据重传只在应达数据帧传输异常时发生。
[0055]所有数据传输节点的数据传输步骤相同,假设数据传输节点编号为ii(ii = 1,2,…,N),由于时分多址接入空间动态网络的扁平化特点,各数据传输节点的数据传输软件的处理步骤是相同的。编号为ii的数据传输节点上的数据传输软件流程是:
[0056]4.1数据传输软件读取建链规划表起始时刻、终止时刻并和本地时间比对,判断本地时间是否等于终止时刻,若等于则本次建链规划结束,转步骤4.5 ;若不等于则说明本次建链规划没有结束,则从建链规划表读取时隙编号,确定当前时隙,执行步骤4.2。
[0057]4.2根据步骤4.1确定的当前时隙,数据传输软件读取建链规划表的目标节点号和收发状态,确定数据传输节点ii在当前时隙下的建链对象和收发状态;
[0058]根据收发状态确定下一步处理步骤,如果是数据发送状态,则执行步骤4.3,如果是数据接收状态,则执行步骤4.4。
[0059]4.3数据传输软件进行数据发送:
[0060]4.3.1确定本时隙需要发送的数据帧:
[0061]数据帧发送的优先顺序按照重传数据、转发数据、本节点发送数据的顺序进行,在每一类数据内部按照数据帧中优先级PRI字段进行排序。
[0062]4.3.1.1确定重传数据。
[0063]读取当前时刻和重传数据缓冲区中所有数据帧的发送时刻数据域,逐帧判断当前时刻-发送时刻是否大于T,如果大于T则将重传数据缓冲区中的数据帧写入数据准备缓冲区中的重传数据分区,并将重传数据缓冲区中的发送时刻数据域写为当前时刻。
[0064]然后将数据准备缓冲区中的重传数据分区按照优先级(PRI字段)从高到低的顺序进行排序,优先级高的先发送。
[0065]4.3.1.2将数据准备缓冲区中的转发数据分区按照优先级(PRI字段)进行排序,优先级高的先发送。
[0066]4.3.1.3将数据准备缓冲区中的本节点发送数据分区按照优先级(PRI字段)进行排序,优先级高的先发送。
[0067]4.3.1.4 初始化,i = I。
[0068]4.3.1.5判断i是否大于M,如果没有大于M,则执行步骤4.3.1.6,否则跳转至步骤 4.3.1.17。
[0069]4.3.1.6检查数据准备缓冲区中重传数据分区中是否有重传数据,如果有,则执行步骤4.3.1.7,否则跳转至步骤4.3.1.10。
[0070]4.3.1.7发送数据缓冲区中的发送数据帧赋值为重传数据分区中的重传数据中的当前帧。
[0071]4.3.1.8 i 加 I,并跳转至步骤 4.3.1.5。
[0072]4.3.1.9判断i是否大于M,如果没有大于M,则执行步骤4.3.1.10,否则跳转至步骤 4.3.1.17。
[0073]4.3.1.10检查数据准备缓冲区的转发数据分区中是否有转发数据,如果有,则执行步骤4.3.1.11,否则跳转至步骤4.3.1.14。
[0074]4.3.1.11发送数据缓冲区中的发送数据帧赋值为转发数据分区中的转发数据中的当前帧。
[0075]4.3.1.12 i 加 I,并跳转至步骤 4.3.1.9。
[0076]4.3.1.13判断i是否大于M,如果没有大于M,则执行步骤4.3.1.14,否则跳转至步骤 4.3.1.17。
[0077]4.3.1.14判断数据准备缓冲区的本节点发送数据分区中是否有本节点发送数据,如果有,则执行步骤4.3.1.15,否则跳转至步骤4.3.1.17。
[0078]4.3.1.15发送数据缓冲区中的发送数据帧赋值为本节点发送数据分区中的本节点发送数据的当前帧。
[0079]4.3.1.16 i 加 1,并跳转至步骤 4.3.1.13。
[0080]4.3.1.17结束确定本时隙需要发送的数据帧,执行4.3.2步。
[0081]4.3.2 发送初始化,i = I。
[0082]4.3.3判断i是否大于M(每时隙最大传输帧数),如果没有大于M,则进行步骤
4.3.4,否则跳转至步骤4.3.13。
[0083]4.3.4数据传输软件首先对发送数据缓冲区的数据帧的帧头进行修改。遍历当前数据传输节点发送数据缓冲区,将数据帧中字段SCID值置为当前本节点的节点号。
[0084]4.3.5 将数据帧的 VCF COUNT 加 I。
[0085]4.3.6将数据帧的发送序列号Sequence_Num加I。
[0086]4.3.7填写捎带应答信息。如果上一时隙的接收数据帧不为空,则根据上一时隙收到的数据帧是否需要应答情况,从接收数据缓冲区中的ACK和ACK_Num取出值并赋予数据帧头对应的字段。即将ACK置为1,同时将ACK_Num置为应答帧的Sequence_Num。
[0087]4.3.8计算用户数据的CRC校验值,置入该帧的CRC校验字段中。
[0088]4.3.9判断数据帧中的TP-1D是否为0100,即是否需要应答。如果不需要应答,则直接跳转至步骤4.3.11。如果需要应答,则执行步骤4.3.10。
[0089]4.3.10将当前时间写入重传数据缓冲区的发送时刻数据域,将发送数据帧帧头中的SequenCe_Num、发送帧数据存入重传数据缓冲区的相应数据域,然后跳转至步骤4.3.11。
[0090]4.3.11发送数据第i帧完成,执行4.3.12。
[0091]4.3.12 i加I,然后跳转至步骤4.3.3。
[0092]4.3.13本时隙数据发送完毕,跳转至步骤4.1。
[0093]4.4数据传输软件进行数据接收
[0094]4.4.1 接收初始化,i = I。
[0095]4.4.2判断i是否大于M,如果没有大于M,则进行步骤4.4.3,否则跳转至步骤4.4.16。
[0096]4.4.3接收第i帧数据。
[0097]4.4.4用接收到的数据帧中的用户数据计算CRC校验,与接收数据帧中自带的CRC校验字段进行比对。若一致,则执行步骤4.4.5 ;若不一致,说明数据校验出错,跳转至步骤4.4.10。
[0098]4.4.5判断接收数据帧ACK值,若为1,则表示该帧捎带有应答信息,执行步骤4.4.6 ;若不为1,则直接跳转至4.4.7ο
[0099]4.4.6在重传数据缓冲区中找到Sequence_Num与ACK_Num相等的数据帧,并删除相应缓冲区数据帧,执行步骤4.4.7ο
[0100]4.4.7判断目的节点号Dest Addr与本传输节点号是否一致。若不一致,说明是转发数据,执行步骤4.4.8 ;若一致,则表示为本机处理数据,跳转至步骤4.4.11。
[0101]4.4.8判断数据帧的HOP值,若大于0,执行步骤4.4.9 ;若为0,跳转至步骤4.4.10。
[0102]4.4.9将该帧存入数据准备缓冲区的转发数据分区中,并且将HOP减1,并跳转至步骤 4.4.15。
[0103]4.4.10丢弃数据帧,并跳转至步骤4.4.15。
[0104]4.4.11判断数据帧的PSH值,若不为I则跳转至步骤4.4.10 ;为I则判定该数据帧应为本节点处理。跳转至步骤4.4.12。
[0105]4.4.12判断接收数据帧的TP-1D值,如果不为0100,则直接跳转至步骤4.4.14 ;若为0100,则执行步骤4.4.13。
[0106]4.4.13该帧需要应答,将对应的应答信息放入应答数组中,即ACK_Num赋值为Sequence_Num,待发送时用,并执行步骤4.4.14。
[0107]4.4.14将接收数据帧内的用户数据进行存储。
[0108]4.4.15 i加I,然后跳转至步骤4.4.2,
[0109]4.4.16数据接收完毕,跳转至步骤4.1。
[0110]4.5数据传输结束。
[0111]采用本发明可以达到以下技术效果:
[0112]1.在时分多址接入空间动态网络中,使数据可靠地从端到端传输,同时,网络节点的存储和处理负担较轻,可以有效地防止网络数据拥塞现象。

【专利附图】

【附图说明】
[0113]图1是本发明构建的基于时分多址接入空间动态网络的数据传输环境物理结构图。
[0114]图2是本发明第一步中的不同缓冲区示意图。
[0115]图3是本发明第三步中的建链规划表和路由表。
[0116]图4是本发明的整体流程图。
[0117]图5是本发明第四步中步骤4.3数据发送流程图。
[0118]图6是本发明第四步中步骤4.3.1确定本时隙需要发送的数据帧流程图。
[0119]图7是本发明第四步中步骤4.4数据接收流程图。

【具体实施方式】
[0120]以下将结合具体实施例和说明书附图对本发明做进一步详细说明。
[0121]图1是本发明构建的基于时分多址接入空间动态网络的数据传输环境物理结构图。
[0122]此数据传输环境中有两类节点,一类是管理节点,一类是数据传输节点。管理节点为各数据传输节点提供传输必备的各节点连接关系和数据传输路径,具体形式为建链规划表和路由表,因为各节点连接关系是周期可变的,因此,建链规划表和路由表需要定期更新。数据传输节点根据建链规划表和路由表规定的节点连接关系和数据传输路径执行数据传输,各数据传输节点的地位是平等的。
[0123]本发明所提出的基于时分多址接入空间动态网络的可靠数据传输方法由链路规划软件和数据传输软件实现。
[0124]链路规划软件运行在管理节点中的计算机,产生的建链规划表和路由表发送至参与数据传输的数据传输节点。数据传输软件运行在数据传输节点中的计算机,由数据发送模块和数据接收模块组成,这两个模块共同完成数据发送、数据接收、数据重传功能。各数据传输节点上运行的数据传输软件结构完全相同。
[0125]图2是本发明第一步中的不同缓冲区示意图。
[0126]数据传输节点上均设置有发送数据缓冲区、接收数据缓冲区、重传数据缓冲区和数据准备缓冲区。
[0127]I)发送数据缓冲区按照发送时隙顺序存贮需要发送的数据帧,大小按照(N-1) XMX每帧字节数进行设置,单位为字节。
[0128]2)接收数据缓冲区按照接收目标节点分类,每一个节点缓冲区有四个数据域,ACK, ACK_Num, Sequence_Num,接收数据帧,接收数据缓冲区的大小按照(N_l) X (MX每帧字节数+3)设置,单位为字节。
[0129]3)重传数据缓冲区只在数据需要应答时才使用,存贮已经发送但还未得到有效应答的发送数据帧信息,按照发送目标节点分类,每一个重传数据缓冲区有三个数据域,发送时刻,发送帧序列号,发送数据帧,重传数据缓冲区的大小按照(N-1) X (MX每帧字节数+2)设置,单位为字节。
[0130]4)数据准备缓冲区按照重传数据、转发数据、本节点发送数据分为3个分区。
[0131]所有缓冲区在初始状态均为空。
[0132]图3是本发明第三步中的建链规划表和路由表。
[0133]建链规划表和路由表均带有起始时刻和终止时刻,每个建链规划表和路由表的有效时间段在时间上为顺序关系,没有重叠,特定时间段只有一组建链规划表和路由表生效。
[0134]根据上述建链规划表和路由表生成方法,节点到节点的数据最多经过一次转发即到达目的节点。
[0135]建链规划表以时间序列的方式规定每个数据传输节点在特定时刻和特定数据传输节点的连接关系,此连接关系以时隙(时隙即物理连接持续的一段固定时间)为单位,一个时隙内连接关系不变。
[0136]建链规划表有2项,分别为表头和表体。
[0137]表头由起始时刻和终止时刻两个域组成,起始时刻指所属建链规划表生效的时间,终止时刻指所属建链规划表失效的时间。
[0138]表体有P项,P =(终止时刻-起始时刻)/时隙长度,即建链规划表有效时间长度为P个时隙。表体由3个域组成,3个域分别为时隙编号、当前时隙的连接目标结点、当前时隙的收发状态。时隙指起始时刻与终止时刻之间的时间段。表体形如:
[0139]I)时隙编号:以I为起始,顺序增加,最大值为P。
[0140]2)目标节点号:本数据传输节点在本时隙的连接数据传输节点。
[0141]3)收发状态:目标节点号所对应的目标节点在本时隙的状态,有接收和发送两个状态。
[0142]路由表规定了数据从发送节点传送到接收节点的传输路径。
[0143]路由表有2项,分别为表头和表体。
[0144]表头由起始时刻和终止时刻两个域组成,起始时刻指所属路由表生效的时间,终止时刻指所属路由表失效的时间。
[0145]表体有N项,每项包括2个域,分别为:
[0146]I)目标节点号:在数据传输环境中的数据传输节点。
[0147]2)转发节点号:数据目标节点时的数据转发节点。
[0148]路由表指定了全部数据传输节点作为数据传输最终目标节点时的转发节点,按照数据传输节点的编号顺序进行排列。
[0149]参与数据传输的每个数据传输节点使用的建链规划表和路由表结构相同而内容不同,各数据传输节点按照建链规划表和路由表确定链接关系和数据传输路径。
[0150]图4是本发明整体流程图。
[0151]本发明分为以下几步。
[0152]第一步,构建一个基于时分多址接入空间动态网络的数据传输环境。
[0153]第二步,设置星间传输数据帧。
[0154]第三步:管理节点根据卫星星历确定数据传输节点之间的连接关系和数据传输路径,得到建链规划表和路由表,并将建链规划表和路由表发送至每个数据传输节点。
[0155]第四步,各数据传输节点中的计算机运行数据传输软件,完成数据发送和数据接收。
[0156]4.1数据传输软件读取建链规划表有效时间并和本地时间比对,判断本次建链规划是否结束,如果没有结束则确定当前时隙并执行步骤4.2,否则转步骤4.5。
[0157]4.2根据步骤4.1确定的当前时隙,数据传输软件读取建链规划表的目标卫星号和收发状态,确定了数据传输节点i在当前时隙下的建链对象和收发状态;
[0158]根据收发状态确定下一步处理步骤,如果是数据发送状态,则执行步骤4.3,如果是数据接收状态,则执行步骤4.4。
[0159]4.3数据传输软件进行数据发送。
[0160]4.4数据传输软件进行数据接收。
[0161]4.5结束数据传输软件。
[0162]图5是本发明第四步中步骤4.3数据发送流程图。
[0163]具体步骤为:
[0164]4.3.1确定本时隙需要发送的数据帧:
[0165]数据发送的优先顺序按照重传数据、转发数据、本节点发送数据的顺序进行,在每一类数据内部按照优先级PRI字段进行排序。
[0166]4.3.2 发送初始化,i = I。
[0167]4.3.3判断i是否大于M(每时隙最大传输帧数),如果没有大于M,则进行步骤4.3.4,否则跳转至步骤4.3.13。
[0168]4.3.4数据传输软件首先对发送数据缓冲区的数据帧的帧头进行修改。遍历当前数据传输节点发送数据缓冲区,将数据帧中字段SCID值置为当前本节点的节点号。
[0169]4.3.5 将数据帧的 VCF COUNT 加 I。
[0170]4.3.6将数据帧的发送序列号Sequence_Num加I。
[0171]4.3.7填写捎带应答信息。如果上一时隙的接收数据帧不为空,则根据上一时隙收到的数据帧是否需要应答情况,从接收数据缓冲区中的ACK和ACK_Num取出值并赋予数据帧头对应的字段。即将ACK置为1,同时将ACK_Num置为应答帧的Sequence_Num。
[0172]4.3.8计算用户数据的CRC校验值,置入该帧的CRC校验字段中。
[0173]4.3.9判断数据帧中的TP-1D是否为0100,即是否需要应答。如果不需要应答,则直接跳转至步骤4.3.11。如果需要应答,则执行步骤4.3.10。
[0174]4.3.10将当前时间写入重传数据缓冲区的发送时刻数据域,将发送数据帧帧头中的SequenCe_Num、发送帧数据存入重传数据缓冲区的相应数据域,然后跳转至步骤4.3.11。
[0175]4.3.11发送数据第i帧完成,执行4.3.12。
[0176]4.3.12 i加I,然后跳转至步骤4.3.3。
[0177]4.3.13本时隙数据发送完毕,跳转至步骤4.1。
[0178]图6是本发明第四步中步骤4.3.1确定本时隙需要发送的数据帧流程图。
[0179]数据帧发送的优先顺序按照重传数据、转发数据、本节点发送数据的顺序进行,在每一类数据内部按照数据帧中优先级PRI字段进行排序。
[0180]4.3.1.1数据准备缓冲区中的重传数据分区按照优先级(PRI字段)进行排序,优先级高的先发送。
[0181]4.3.1.1.1确定重传数据。
[0182]读取当前时刻和重传数据缓冲区中所有数据帧的发送时刻数据域,逐帧判断当前时刻-发送时刻是否大于T,如果大于T则将重传数据缓冲区中的数据帧写入数据准备缓冲区中的重传数据分区,并将重传数据缓冲区中的发送时刻数据域写为当前时刻。
[0183]然后将数据准备缓冲区中的重传数据分区按照优先级(PRI字段)从高到低的顺序进行排序,优先级高的先发送。
[0184]4.3.1.2数据准备缓冲区中的转发数据分区按照优先级(PRI字段)进行排序,优先级高的先发送。
[0185]4.3.1.3数据准备缓冲区中的本节点发送数据分区按照优先级(PRI字段)进行排序,优先级尚的先发送。
[0186]4.3.1.4 初始化,i = I。
[0187]4.3.1.5判断i是否大于M,如果没有大于M,则执行步骤4.3.1.6,否则跳转至步骤 4.3.1.17。
[0188]4.3.1.6检查数据准备缓冲区中重传数据分区中是否有重传数据,如果有,则执行步骤4.3.1.7,否则跳转至步骤4.3.1.10。
[0189]4.3.1.7发送数据缓冲区中的发送数据帧赋值为重传数据分区中的重传数据中的当前帧。
[0190]4.3.1.8 i 加 I,并跳转至步骤 4.3.1.5。
[0191]4.3.1.9判断i是否大于M,如果没有大于M,则执行步骤4.3.1.10,否则跳转至步骤 4.3.1.17。
[0192]4.3.1.10检查数据准备缓冲区的转发数据分区中是否有转发数据,如果有,则执行步骤4.3.1.11,否则跳转至步骤4.3.1.14。
[0193]4.3.1.11发送数据缓冲区中的发送数据帧赋值为转发数据分区中的转发数据中的当前帧。
[0194]4.3.1.12i 加 I,并跳转至步骤 4.3.1.9。
[0195]4.3.1.13判断i是否大于M,如果没有大于M,则执行步骤4.3.1.14,否则跳转至步骤 4.3.1.17。
[0196]4.3.1.14判断数据准备缓冲区的本节点发送数据分区中是否有本节点发送数据,如果有,则执行步骤4.3.1.15,否则跳转至步骤4.3.1.17。
[0197]4.3.1.15发送数据缓冲区中的发送数据帧赋值为本节点发送数据分区中的本节点发送数据的当前帧。
[0198]4.3.1.16 i 加 1,并跳转至步骤 4.3.1.13。
[0199]4.3.1.17结束确定本时隙需要发送的数据帧。
[0200]图7是本发明第四步中步骤4.4数据接收流程图。
[0201]4.4.1 接收初始化,i = I。
[0202]4.4.2判断i是否大于M(每时隙最大传输帧数),如果没有大于M,则进行步骤4.4.3,否则跳转至步骤4.4.16。
[0203]4.4.3接收第i帧数据。
[0204]4.4.4用接收到的数据帧中的用户数据计算CRC校验,与接收数据帧中自带的CRC校验值进行比对。若一致,则跳转至步骤4.4.5 ;若不一致,说明数据校验出错,跳转至步骤4.4.10。
[0205]4.4.5判断接收数据帧ACK值,若为1,则表示该帧捎带有应答信息,跳转至步骤4.4.6 ;若不为1,则直接跳转至4.4.7ο
[0206]4.4.6在重传数据缓冲区中找到Sequence_Num与ACK_Num相等的数据帧,并删除相应缓冲区数据帧。跳转至步骤4.4.7。
[0207]4.4.7判断目的节点号Dest Addr与本传输节点号是否一致。若不一致,说明是转发数据,跳转至步骤4.4.8 ;若一致,则表示为本机处理数据,跳转至步骤4.4.11。
[0208]4.4.8判断数据帧的HOP值,若大于0,跳转至步骤4.4.9 ;若为0,跳转至步骤
4.4.10。
[0209]4.4.9将该帧存入数据准备缓冲区的转发数据分区中,并且将HOP减1,并跳转至步骤 4.4.15。
[0210]4.4.10丢弃数据帧,并跳转至步骤4.4.15。
[0211]4.4.11判断数据帧的PSH值,若不为I则跳转至步骤4.4.10 ;为I则判定该数据帧应为本节点处理。跳转至步骤4.4.12。
[0212]4.4.12判断接收数据帧的TP-1D值,如果不为0100,则直接跳转至步骤4.4.14 ;若为0100,则跳转至步骤4.4.13。
[0213]4.4.13该帧需要应答,将对应的应答信息放入应答数组中,即ACK_Num赋值为Sequence_Num,待发送时用,并跳转至步骤4.4.14。
[0214]4.4.14接收数据处理。对接收数据帧内的用户数据进行处理。
[0215]4.4.15 i加I,然后跳转至步骤4.4.2。
[0216]4.4.16数据接收完毕,跳转至步骤4.1。
【权利要求】
1.一种基于时分多址接入空间动态网络的可靠数据传输方法,其特征在于包括以下步骤: 第一步,构建一个基于时分多址接入空间动态网络的数据传输环境:数据传输环境中有两类节点,一类是管理节点,一类是数据传输节点,管理节点通过管理控制链路和各数据传输节点相连,各数据传输节点之间通过数据传输链路相连,各数据传输节点的地位平等,数据传输链路每时隙最大传输帧数为M ;数据传输环境有I个管理节点,N个数据传输节点,N为正整数且N多2;两类节点均是带有计算机的时分多址接入空间动态网络节点,管理节点中的计算机上安装有链路规划软件,各数据传输节点中的计算机上安装有数据传输软件;链路规划软件为每个数据传输节点生成一张建链规划表和一张路由表,每张建链规划表和每张路由表不相同,用以确定数据传输节点的建链目标节点和数据传输路径,数据传输软件完成数据发送和数据接收工作; 数据传输节点上均设置有发送数据缓冲区、接收数据缓冲区、重传数据缓冲区和数据准备缓冲区;发送数据缓冲区按照发送时隙顺序存贮需要发送的数据帧;接收数据缓冲区按照接收目标节点分类,每一个节点缓冲区有四个数据域,ACK, ACK_Num, Sequence_Num,接收数据帧;重传数据缓冲区只在数据需要应答时才使用,存贮已经发送但还未得到有效应答的发送数据帧信息,按照发送目标节点分类,每一个重传数据缓冲区有三个数据域,发送时刻,发送帧序列号,发送数据帧;数据准备缓冲区按照重传数据、转发数据、本节点发送数据分为3个分区;所有缓冲区在初始状态均为空; 第二步,针对时分多址接入空间动态网络的特点,设计针对该网络的传输数据帧,每个传输数据帧由12个域组成,分别为: DSCID:节点标识,传输节点在数据传输环境中的唯一编号; 2)VCF COUNT:虚拟信道计数,为每个虚拟信道上产生的传送帧按顺序编号; 3)Dest Addr:目的地址8位; 4)HOP:传播跳数,规定数据转发的最大次数; 5)用户数据:用户自已定义的数据,是星间传输数据帧的内容; 6)Sequence_Num:发送序列号; 7)ACK_Num:确认序列号; 8)PRI数据优先级;0-15之间的数,15优先级最高; 9)PSH:发送序号有效标志I位,发送序号有效标志为“I”时,表示接收方应该尽快将这一数据帧提交应用层处理,发送序号有效标志为“O”时,表示该数据为空帧数据或无效数据,接收方可抛弃; 10)ACK:确认序号有效标志I位:为“I”时表示该数据帧的确认序列号字段ACK_Num有效,否则无效;初始状态为O; IDTP-1D:传输协议类别,0011表示不需要应答;0100表示需要应答; 12) CRC校验:数据传输帧的CRC校验值; 第三步:管理节点根据卫星星历确定数据传输节点之间的连接关系和数据传输路径,得到建链规划表和路由表,并将建链规划表和路由表发送至每个数据传输节点,方法是: 3.1管理节点中的计算机上运行链路规划软件,链路规划软件根据存储的卫星星历计算出各卫星之间的可见关系,确定在特定的时段内数据传输节点之间的连接关系和数据传输路径,每个数据传输节点与其它数据传输节点的连接关系采用建链规划表表示,数据传输路径采用路由表表示,管理节点为每个数据传输节点生成I个建链规划表和I个路由表,并发送到对应的数据传输节点,每个数据传输节点将接收到的与该传输节点对应的建链规划表和路由表保存;在固定时间间隔后,管理节点根据网络拓扑变化产生新的建链规划表和路由表并发送至对应的数据传输节点,建链规划表和路由表均带有起始时刻和终止时刻,每个建链规划表和路由表的有效时间段在时间上为顺序关系,没有重叠,特定时间段只有一组建链规划表和路由表生效; 建链规划表以时间序列的方式规定每个数据传输节点在特定时刻和特定数据传输节点的连接关系,此连接关系以时隙为单位,一个时隙内连接关系不变; 建链规划表有2项,分别为表头和表体: 表头由起始时刻和终止时刻两个域组成,起始时刻指所属建链规划表生效的时刻,终止时刻指所属建链规划表失效的时刻; 表体有P项,P =(终止时刻-起始时刻)/时隙,即建链规划表有效时间长度为P个时隙;表体由3个域组成,3个域分别为时隙编号、当前时隙的连接目标结点、当前时隙的收发状态;时隙指起始时刻与终止时刻之间的时间段;表体形如: 1)时隙编号:以I为起始,顺序增加,最大值为P; 2)目标节点号:本数据传输节点在本时隙的连接数据传输节点; 3)收发状态:目标节点号所对应的目标节点在本时隙的状态,有接收和发送两个状态; 路由表规定了数据从发送节点传送到接收节点的传输路径;路由表指定了全部数据传输节点作为数据传输最终目标节点时的转发节点,按照数据传输节点的编号顺序进行排列; 3.2管理节点通过管理控制链路将建链规划表和路由表发送至每个数据传输节点; 3.3设定数据重传时限为T,T彡NX时隙; 第四步,各数据传输节点中的计算机运行数据传输软件完成数据发送和数据接收,所有数据传输节点的数据传输步骤相同,编号为ii的数据传输节点上的数据传输软件流程如下,ii = 1,2,…,N: 4.1数据传输软件读取建链规划表起始时刻、终止时刻并和本地时间比对,判断本地时间是否等于终止时刻,若等于则本次建链规划结束,转步骤4.5 ;若不等于则说明本次建链规划没有结束,则从建链规划表读取时隙编号,确定当前时隙,执行步骤4.2 ; 4.2根据步骤4.1确定的当前时隙,数据传输软件读取建链规划表的目标节点号和收发状态,确定数据传输节点ii在当前时隙下的建链对象和收发状态,如果是数据发送状态,则执行步骤4.3,如果是数据接收状态,则执行步骤4.4 ; 4.3数据传输软件进行数据发送: 4.3.1确定本时隙需要发送的数据帧; 4.3.2发送初始化,i = l; 4.3.3判断i是否大于M,如果没有大于M,则进行步骤4.3.4,否则跳转至步骤4.3.13 ; 4.3.4数据传输软件首先对发送数据缓冲区的数据帧的帧头进行修改,遍历当前数据传输节点发送数据缓冲区,将数据帧中字段SCID值置为当前本节点的节点号; 4.3.5将数据帧的VCF COUNT加I ; 4.3.6将数据帧的发送序列号Sequence_Num加I ; 4.3.7填写捎带应答信息,如果上一时隙的接收数据帧不为空,则根据上一时隙收到的数据帧是否需要应答情况,从接收数据缓冲区中的ACK和ACK_Num取出值并赋予数据帧头对应的字段,将ACK置为1,同时将ACK_Num置为应答帧的Sequence_Num ; 4.3.8计算用户数据的CRC校验值,置入该帧的CRC校验字段中; 4.3.9判断数据帧中的TP-1D是否为0100,即是否需要应答;如果不需要应答,则直接跳转至步骤4.3.11,如果需要应答,则执行步骤4.3.10 ; 4.3.10将当前时间写入重传数据缓冲区的发送时刻数据域,将发送数据帧帧头中的SeqUenCe_Num、发送帧数据存入重传数据缓冲区的相应数据域,,然后跳转至步骤4.3.11 ;4.3.11发送数据第i帧完成,执行步骤4.3.12 ; 4.3.12i加I,然后跳转至步骤4.3.3 ; 4.3.13本时隙数据发送完毕,跳转至步骤4.1 ; 4.4数据传输软件进行数据接收: 4.4.1接收初始化,i = l; 4.4.2判断i是否大于M,如果没有大于M,则进行步骤4.4.3,否则跳转至步骤4.4.16 ; 4.4.3接收第i帧数据; 4.4.4用接收到的数据帧中的用户数据计算CRC校验,与接收数据帧中自带的CRC校验字段进行比对,若一致,则执行步骤4.4.5;若不一致,说明数据校验出错,跳转至步骤4.4.10 ; 4.4.5判断接收数据帧ACK值,若为1,则表示该帧捎带有应答信息,执行步骤4.4.6 ;若不为I,则直接跳转至4.4.7; 4.4.6在重传数据缓冲区中找到Sequence_Num与ACK_Num相等的数据帧,并删除相应缓冲区数据帧,跳转至步骤4.4.7 ; 4.4.7判断目的节点号Dest Addr与本传输节点号是否一致,若不一致,说明是转发数据,执行步骤4.4.8 ;若一致,则表示为本机处理数据,跳转至步骤4.4.11 ; 4.4.8判断数据帧的HOP值,若大于0,执行步骤4.4.9 ;若为0,跳转至步骤4.4.10 ; 4.4.9将该帧存入数据准备缓冲区的转发数据分区中,并且将HOP减I,并跳转至步骤4.4.15 ; 4.4.10丢弃数据帧,并跳转至步骤4.4.15 ; 4.4.11判断数据帧的PSH值,若不为I则跳转至步骤4.4.10 ;为I则判定该数据帧应为本节点处理,执行步骤4.4.12 ; 4.4.12判断接收数据帧的TP-1D值,如果不为0100,则直接跳转至步骤4.4.14 ;若为0100,执行步骤4.4.13, 4.4.13该帧需要应答,将对应的应答信息放入应答数组中,即ACK_Num赋值为Sequence_Num,待发送时用,执行步骤4.4.14 ; 4.4.14将接收的数据帧内的用户数据进行存贮; 4.4.15i加I,然后跳转至步骤4.4.2 ; 4.4.16数据接收完毕,跳转至步骤4.1 ; 4.5数据传输结束。
2.如权利要求1所述的一种基于时分多址接入空间动态网络的可靠数据传输方法,其特征在于所述数据传输节点上设置的发送数据缓冲区大小按照(N-1)XMX每帧字节数进行设置,单位为字节;接收数据缓冲区的大小按照(N-1) X (MX每帧字节数+3)设置,单位为字节;重传数据缓冲区的大小按照(N-1) X (MX每帧字节数+2)设置,单位为字节;数据准备缓冲区的每个分区大于NXMX每帧字节数。
3.如权利要求1所述的一种基于时分多址接入空间动态网络的可靠数据传输方法,其特征在于所述路由表有2项,分别为路由表表头和路由表表体;路由表表头由路由表起始时刻和路由表终止时刻两个域组成,路由表起始时刻指所属路由表生效的时刻,路由表终止时刻指所属路由表失效的时刻;表体有N项,每项包括2个域,分别为: 1)路由表目标节点号:在数据传输环境中的数据传输节点; 2)转发节点号:数据转发节点。
4.如权利要求1所述的一种基于时分多址接入空间动态网络的可靠数据传输方法,其特征在于4.3.1步所述确定本时隙需要发送的数据帧的方法是:数据帧发送的优先顺序按照重传数据、转发数据、本节点发送数据的顺序进行,在每一类数据内部按照数据帧中优先级PRI字段进行排序,具体为: 4.3.1.1确定重传数据,读取当前时刻和重传数据缓冲区中所有数据帧的发送时刻数据域,逐帧判断当前时刻-发送时刻是否大于T,如果大于T则将重传数据缓冲区中的数据帧写入数据准备缓冲区中的重传数据分区,并将重传数据缓冲区中的发送时刻数据域写为当前时刻;并将数据准备缓冲区中的重传数据分区按照优先级(PRI字段)从高到低的顺序进行排序,优先级高的先发送; 4.3.1.2将数据准备缓冲区中的转发数据分区按照PRI字段进行排序,优先级高的先发送; 4.3.1.3将数据准备缓冲区中的本节点发送数据分区按照PRI字段进行排序,优先级尚的先发送;
4.3.1.4 初始化,i = l; 4.3.1.5判断i是否大于M,如果没有大于M,则执行步骤4.3.1.6,否则跳转至步骤4.3.1.17 ; 4.3.1.6检查数据准备缓冲区中重传数据分区中是否有重传数据,如果有,则执行步骤4.3.1.7,否则跳转至步骤4.3.1.10 ; 4.3.1.7发送数据缓冲区中的发送数据帧赋值为重传数据分区中的重传数据中的当前帧; 4.3.1.8i加I,并跳转至步骤4.3.1.5 ; 4.3.1.9判断i是否大于M,如果没有大于M,则执行步骤4.3.1.10,否则跳转至步骤4.3.1.17 ; 4.3.1.10检查数据准备缓冲区的转发数据分区中是否有转发数据,如果有,则执行步骤4.3.1.11,否则跳转至步骤4.3.1.14 ; 4.3.1.11发送数据缓冲区中的发送数据帧赋值为转发数据分区中的转发数据中的当前帧; 4.3.1.12i加I,并跳转至步骤4.3.1.9 ; 4.3.1.13判断i是否大于M,如果没有大于M,则执行步骤4.3.1.14,否则跳转至步骤4.3.1.17 ; 4.3.1.14判断数据准备缓冲区的本节点发送数据分区中是否有本节点发送数据,如果有,则执行步骤4.3.1.15,否则跳转至步骤4.3.1.17 ; 4.3.1.15发送数据缓冲区中的发送数据帧赋值为本节点发送数据分区中的本节点发送数据的当前帧; 4.3.1.16?加I,并跳转至步骤4.3.1.13 ; 4.3.1.17结束确定本时隙需要发送的数据帧。
【文档编号】H04L1/18GK104506280SQ201510004471
【公开日】2015年4月8日 申请日期:2015年1月6日 优先权日:2015年1月6日
【发明者】杨俊 , 冯旭哲, 陈建云, 黄文德, 周永彬, 胡梅 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1