一种分组业务重建方法和终端的制作方法_3

文档序号:8434549阅读:来源:国知局
[0103]终端通过记录该第一 TCP连接和第二 TCP连接上TCP数据包的包头中的源端口和目的端口来记录该第一 TCP连接和第二 TCP连接;
[0104]终端解析第一 TCP连接和第二 TCP连接上TCP数据包中的状态字段;
[0105]终端得到第一 TCP连接上数据包中TCP头字段中FIN位置的参数为1,终端确定第一 TCP连接处于无效状态,终端得到第二 TCP连接上数据包中TCP头字段中SYNC位置的参数为1,终端确定第二 TCP连接处于有效状态,终端得到记录结果第一 TCP连接处于无效状态,第二 TCP连接处于有效状态;
[0106]终端保存第二 TCP连接上最新的上行TCP确认包;
[0107]当无线链路失败,RAB异常断开后,终端查找记录结果,确定当前存在的第一 TCP连接和第二 TCP连接中,有第二 TCP连接处于有效状态;
[0108]由于终端确定记录结果中有第二 TCP连接处于有效状态,终端确定存在有效的TCP连接;
[0109]终端触发RAB重建过程,请求恢复数据传输;
[0110]当RAB重建成功后,终端重传第二 TCP连接上缓存的数据包,并删除第一 TCP连接和第一 TCP连接上缓存的数据包;
[0111]终端设定上行控制包相比TCP数据包有优先传输的权限;
[0112]终端重发三次RAB断开之前保存的第二 TCP连接上最新的TCP确认包,使得发送端立即启动FRR机制。
[0113]下面对本发明实施例中的终端进行描述,请参阅图4,本发明实施例中终端的一个实施例包括:
[0114]连接记录模块401,用于记录当前存在的各TCP连接;
[0115]判断模块402,用于当RAB断开时,判断所述连接记录模块401记录的所述当前存在的各TCP连接中是否存在有效的TCP连接;
[0116]重建模块403,用于当所述判断模块402判定存在有效的TCP连接时,触发RAB重建过程。
[0117]本发明实施例中,连接记录模块401记录当前存在的各TCP连接,当RAB断开后,判断模块402判断当前存在的各TCP连接中是否存在有效的TCP连接,若存在有效的TCP连接,则重建模块403触发RAB重建过程,这样,当RAB异常断开时,若存在有效的TCP连接,终端不再需要等待重传定时器来触发RAB的重建,而是会主动去触发RAB的重建过程,这样节省了异常状态下RAB重建需要等待的时间,加快了 RAB重建的速率,使得TCP数据能更快的传输出去,提高了用户的体验度。
[0118]上面实施例中,判断模块402判断当前存在的各TCP连接中是否存在有效的TCP连接,在实际应用中,判断模块402可以根据TCP数据包中的状态字段来判断该TCP连接是否有效,当RAB重建成功后,终端还可以对当前存在的各TCP连接中有效的TCP连接和无效的TCP连接分别进行处理,下面对本发明实施例中的终端进行具体描述,请参阅图5,本发明实施例中终端的另一个实施例包括:
[0119]连接记录模块501,用于记录当前存在的各TCP连接;
[0120]判断模块502,用于当RAB断开时,判断连接记录模块501记录的当前存在的各TCP连接中是否存在有效的TCP连接;
[0121]重建模块503,用于当判断模块502判定存在有效的TCP连接时,触发RAB重建过程;
[0122]本实施例中,该终端还包括:
[0123]解析模块504,用于解析连接记录模块501记录的当前存在的各TCP连接上TCP数据包中的状态字段;
[0124]有效记录模块505,用于根据解析模块504解析出的状态字段,确定当前存在的各TCP连接是否处于有效状态,得到记录结果;
[0125]删除模块506,用于当重建模块503将RAB重建成功后,删除连接记录模块501记录的当前存在的各TCP连接中无效的TCP连接;
[0126]需要说明的是,删除模块506可以根据实际情况来选择是否需要,终端中也可以没有删除模块506,此处不作限定。
[0127]重传模块507,用于当重建模块503将RAB重建成功后,重传有效的TCP连接上缓存的数据包,该数据包包括TCP数据包和IP数据包;
[0128]该判断模块502具体包括:
[0129]状态判断单元5021,用于当RAB断开时,查找有效记录模块505确定的记录结果,判断当前存在的各TCP连接中是否有TCP连接处于有效状态;
[0130]有效确定单元5022,用于当状态判断单元5021判定记录结果中有TCP连接处于有效状态时,确定存在有效的TCP连接;
[0131]无效处理单元5023,用于当状态判断单元5021判定记录结果中没有TCP连接处于有效状态时,进行其他处理过程。
[0132]本发明实施例中,解析模块504先解析TCP连接中TCP数据包的状态字段,有效记录模块505根据状态字段中的参数来判断该TCP连接是否处于有效状态,从而状态判断单元5021和有效确定单元5022确定是否存在有效的TCP连接,在重建模块503将RAB重建成功后,重传模块507还可以重传有效的TCP连接上缓存的数据包,删除模块506可以删除当前存在的各TCP连接中无效的TCP连接和无效的TCP连接上缓存的数据包,这样一方面细化了判断是否存在有效的TCP连接的过程,使得对是否存在有效的TCP连接的判断更加的准确,处理速度更加快速,另一方面,删除当前存在的各TCP连接中无效的TCP连接和无效的TCP连接上缓存的数据包,也可以避免发送这些无效的数据对现有传输链路的占用,节省终端上的资源,加强终端处理其他任务的能力。
[0133]上面实施例中,终端还可以在RAB断开之前,保存最新的上行TCP确认包,在RAB断开并重建成功后,重发该TCP确认包,下面对本发明实施例中的终端进行详细说明,请参阅图6,本发明实施例中终端另一个实施例包括:
[0134]连接记录模块601,用于记录当前存在的各TCP连接;
[0135]判断模块602,用于当RAB断开时,判断连接记录模块601记录的当前存在的各TCP连接中是否存在有效的TCP连接;
[0136]重建模块603,用于当判断模块602判定存在有效的TCP连接时,触发RAB重建过程;
[0137]该终端还包括:
[0138]解析模块604,用于解析连接记录模块601记录的当前存在的各TCP连接上TCP数据包中的状态字段;
[0139]有效记录模块605,用于根据解析模块604解析出的状态字段,确定当前存在的各TCP连接是否处于有效状态,得到记录结果;
[0140]删除模块606,用于当重建模块603将RAB重建成功后,删除连接记录模块601记录的当前存在的各TCP连接中无效的TCP连接;
[0141]需要说明的是,删除模块606可以根据实际情况来选择是否需要,终端中也可以没有删除模块604,此处不作限定。
[0142]重传模块607,用于当重建模块603将RAB重建成功后,重传有效的TCP连接上缓存的数据包,该数据包包括TCP数据包和IP数据包;
[0143]该判断模块602具体包括:
[0144]状态判断单元6021,用于当RAB断开时,查找有效记录模块605确定的记录结果,判断当前存在的各TCP连接中是否有TCP连接处于有效状态;
[0145]有效确定单元6022,用于当状态判断单元6021判定记录结果中有TCP连接处于有效状态时,确定存在有效的TCP连接;
[0146]无效处理单元6023,用于当状态判断单元5021判定记录结果中没有TCP连接处于有效状态时,进行其他处理过程;
[0147]本实施例中,该终端还包括:
[0148]保存模块608,用于保存最新的上行TCP确认包,该最新的上行TCP确认包为连接记录模块601记录的当前存在的各TCP连接中每个有效的TCP连接上最新的上行TCP确认包;
[0149]重发模块609,用于当RAB重建成功后,重发保存模块608保存的最新的上行TCP确认包;
[0150]权限设定模块610,用于设定上行TCP控制包相比TCP数据包有优先传输的权限,该上行TCP控制包中包括所述上行TCP确认包。
[0151]可以理解的是,权限设定模块610可以根据实际情况选择是否需要,该终端中也可以没有权限设定模块608,此处不作限定。
[0152]本发明实施例中,RAB断开之前,保存模块608保存最新的上行TCP确认包,在RAB断开并重建之后,重发模块609重发最新的上行TCP确认包与发送端进行数据同步,这样可以保证数据发送的完整性,并且权限设定模块610可以设定上行TCP控制包相比TCP数据包有优先传输的权限,这样TCP确认包会优先发送到网络,这样将有效的避免网络因为没有及时收到TCP确认包而无法发送新的TCP包的问题,更近一步的,重发模块609可以将该TCP确认包重发三次,用以触发该TCP连接的发送端立即启动FRR机制,这样可以更加快速的恢复分组数据传输和数据恢复业务。
[0153]为了便于理解上述实施例,下面以上述终端各个单元在一个具体应用场景中的交互过程进行说明:
[
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1