一种数据包传输方法、终端及计算机存储介质技术

技术编号:19327869 阅读:26 留言:0更新日期:2018-11-03 14:43
本申请实施例公开了一种数据包传输方法、终端及计算机存储介质,上述数据包传输方法包括:接收数据包;获取数据包对应的数据流信息;其中,数据流信息用于表征数据包对应的路径属性;当数据包为数据流信息对应的非第一个数据包时,获取数据流信息对应的路由信息;其中,路由信息是对所述数据流对应的第一个数据包进行路由查询获得的;根据路由信息传输数据包。

Data packet transmission method, terminal and computer storage medium

The embodiment of this application discloses a data packet transmission method, a terminal and a computer storage medium. The data packet transmission method includes: receiving data packets; acquiring data stream information corresponding to data packets; in which data stream information is used to characterize path attributes corresponding to data packets; and when data packets are non-corresponding to data stream information. In the first data packet, the routing information corresponding to the data flow information is obtained, in which the routing information is obtained by routing query on the first data packet corresponding to the data flow, and the data packet is transmitted according to the routing information.

【技术实现步骤摘要】
一种数据包传输方法、终端及计算机存储介质
本申请实施例涉及终端
,尤其涉及一种数据包传输方法、终端及计算机存储介质。
技术介绍
安卓系统是基于Linux系统运行的,运行在Linux系统的终端,例如运行安卓系统的智能手机、平板电脑等,使用安装在终端中的应用程序时,需要从网络侧接收数据包、或者向网络侧发送数据包,具体地,终端在收发数据包时,需要通过应用层、传输控制协议/因特网互联协议(TransmissionControlProtocol/InternetProtocol,Tcp/Ip)、驱动以及硬件等与网络进行交互。其中,当终端接收到数据包时,需要先进入路由子系统中进行路由信息查询,在获得路由信息之后,便可以将该数据包发送至终端的应用层中,即发送至对应的应用程序。现有技术中,终端在使用应用程序的过程中,从网络侧接收数据包并将数据包发送至应用层时,需要先根据预存路由表对数据包进行路由信息查找,然后在根据路由信息传输数据包。然而查找预存路由表时存在占用时间较长,同时性能消耗较大的问题。
技术实现思路
本申请实施例提供一种数据包传输方法、终端及计算机存储介质,能够大大减少数据包的接收时间,同时有效地减小系统性能的消耗。本申请实施例的技术方案是这样实现的:本申请实施例提供了一种数据包传输方法,所述方法包括:接收数据包;获取所述数据包对应的数据流信息;其中,所述数据流信息用于表征所述数据包对应的路径属性;当所述数据包为所述数据流信息对应的非第一个数据包时,获取所述数据流信息对应的路由信息;其中,所述路由信息是对所述数据流对应的第一个数据包进行路由查询获得的;根据所述路由信息传输所述数据包。在上述方案中,所述获取所述数据包对应的数据流信息之后,所述根据所述路由信息传输所述数据包之前,所述方法还包括:当所述数据包为所述数据流信息对应的第一个数据包时,获取预存路由表;查询所述预存路由表,获得所述数据流信息对应的所述路由信息。在上述方案中,所述查询所述预存路由表,获得所述数据流信息对应的所述路由信息之后,所述方法还包括:将所述数据流信息和所述路由信息的对应关系存储至预存连接跟踪表。在上述方案中,所述根据所述路由信息传输所述数据包,包括:根据所述路由信息确定所述数据包对应的目标应用;将所述数据包转发至所述目标应用。在上述方案中,所述获取所述数据包对应的数据流信息之后,所述获取所述数据流信息对应的路由信息之前,所述方法还包括:当所述预存连接跟踪表中没有存储所述数据流信息对应的所述路由信息时,判定所述数据包为所述数据流信息对应的所述第一个数据包;当所述预存连接跟踪表中存储有所述数据流信息对应的所述路由信息时,判定所述数据包为所述数据流信息对应的所述非第一个数据包。在上述方案中,所述获取所述数据流信息对应的路由信息,包括:从所述预存连接跟踪表中获取与所述数据流信息对应的所述路由信息。本申请实施例提供了一种终端,所述终端包括:接收单元,获取单元以及传输单元,所述接收单元,用于接收数据包;所述获取单元,用于获取所述数据包对应的数据流信息;其中,所述数据流信息用于表征所述数据包对应的路径属性;所述获取单元,还用于当所述数据包为所述数据流信息对应的非第一个数据包时,获取所述数据流信息对应的路由信息;其中,所述路由信息是对所述数据流对应的第一个数据包进行路由查询获得的;所述传输单元,用于根据所述路由信息传输所述数据包。在上述方案中,所述获取单元,还用于所述获取所述数据包对应的数据流信息之后,所述根据所述路由信息传输所述数据包之前,当所述数据包为所述数据流信息对应的第一个数据包时,获取预存路由表;以及查询所述预存路由表,获得所述数据流信息对应的所述路由信息。在上述方案中,所述终端还包括:存储单元,所述存储单元,用于查询所述预存路由表,获得所述数据流信息对应的所述路由信息之后,将所述数据流信息和所述路由信息的对应关系存储至预存连接跟踪表。在上述方案中,所述传输单元,具体用于根据所述路由信息确定所述数据包对应的目标应用;以及将所述数据包转发至所述目标应用。在上述方案中,所述终端还包括:判断单元,所述判断单元,用于获取所述数据包对应的数据流信息之后,所述获取所述数据流信息对应的路由信息之前,当所述预存连接跟踪表中没有存储所述数据流信息对应的所述路由信息时,判定所述数据包为所述数据流信息对应的所述第一个数据包;以及当所述预存连接跟踪表中存储有所述数据流信息对应的所述路由信息时,判定所述数据包为所述数据流信息对应的所述非第一个数据包。在上述方案中,所述获取单元,具体用于从所述预存连接跟踪表中获取与所述数据流信息对应的所述路由信息。本申请实施例提供了一种终端,所述终端包括处理器、存储有所述处理器可执行指令的存储器、通信接口,和用于连接所述处理器、所述存储器以及所述通信接口的总线,当所述指令被执行时,所述处理器执行时实现如上所述的数据包传输方法。本申请实施例提供了一种计算机可读存储介质,其上存储有程序,应用于终端中,所述程序被第一处理器执行时实现如上所述的数据包传输方法。本申请实施例提供了一种数据包传输方法、终端及计算机存储介质,终端接收数据包;获取数据包对应的数据流信息;其中,数据流信息用于表征数据包对应的路径属性;当数据包为数据流信息对应的非第一个数据包时,获取数据流信息对应的路由信息;其中,路由信息是通过数据流对应的第一个数据包获得的;根据路由信息传输数据包。由此可见,在本申请实施例中,在接收数据包并确定该数据包的数据流信息之后,如果终端根据数据流信息确定该数据包不是该数据流信息对应的第一个数据包,那么终端可以直接获取与上述数据流信息对应的路由信息,并根据上述路由信息传输数据包,也就是说,对于任意一个数据流信息的非第一个数据包,终端可以直接使用对第一个数据包进行路由查询所获得的路由信息,进而大大减少数据包的接收时间,有效地减小系统性能的消耗。附图说明图1为现有技术中终端收发数据包的网络框架示意图;图2为现有技术中收发数据包流程示意图;图3为本申请实施例提出的一种数据包传输方法的实现流程示意图一;图4为本申请实施例提出的一种数据包传输方法的实现流程示意图二;图5为本申请实施例中收发数据包流程示意图;图6为本申请实施例提出的终端的组成结构示意图一;图7为本申请实施例提出的终端的组成结构示意图二。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。下面对本申请说明书中所使用到的部分名词进行解释说明:1、路由表:路由表是指路由器或者其他互联网网络设备上存储的一张路由信息表,路由表中存有到达特定网络终端的路径。2、链接跟踪:linuxkernel的连接跟踪机制。3、Netfilter框架:linuxkernelNetfilter防火墙框架。4、Tcp/Ip:Tcp/Ip网络协议栈。4、Tcp/Udp:Tcp/Udp网络协议。5、skb:linuxkernel数据包缓存。6、路由子系统:linuxkernel网络层的路由系统,提供路由查找功能。Linux是一套本文档来自技高网...

【技术保护点】
1.一种数据包传输方法,其特征在于,所述方法包括:接收数据包;获取所述数据包对应的数据流信息;其中,所述数据流信息用于表征所述数据包对应的路径属性;当所述数据包为所述数据流信息对应的非第一个数据包时,获取所述数据流信息对应的路由信息;其中,所述路由信息是对所述数据流对应的第一个数据包进行路由查询获得的;根据所述路由信息传输所述数据包。

【技术特征摘要】
1.一种数据包传输方法,其特征在于,所述方法包括:接收数据包;获取所述数据包对应的数据流信息;其中,所述数据流信息用于表征所述数据包对应的路径属性;当所述数据包为所述数据流信息对应的非第一个数据包时,获取所述数据流信息对应的路由信息;其中,所述路由信息是对所述数据流对应的第一个数据包进行路由查询获得的;根据所述路由信息传输所述数据包。2.根据权利要求1所述的方法,其特征在在于,所述获取所述数据包对应的数据流信息之后,所述根据所述路由信息传输所述数据包之前,所述方法还包括:当所述数据包为所述数据流信息对应的第一个数据包时,获取预存路由表;查询所述预存路由表,获得所述数据流信息对应的所述路由信息。3.根据权利要求2所述的方法,其特征在于,所述查询所述预存路由表,获得所述数据流信息对应的所述路由信息之后,所述方法还包括:将所述数据流信息和所述路由信息的对应关系存储至预存连接跟踪表。4.根据权利要求1所述的方法,其特征在在于,所述根据所述路由信息传输所述数据包,包括:根据所述路由信息确定所述数据包对应的目标应用;将所述数据包转发至所述目标应用。5.根据权利要求3所述的方法,其特征在于,所述获取所述数据包对应的数据流信息之后,所述获取所述数据流信息对应的路由信息之前,所述方法还包括:当所述预存连接跟踪表中没有存储所述数据流信息对应的所述路由信息时,判定所述数据包为所述数据流信息对应的所述第一个数据包;当所述预存连接跟踪表中存储有所述数据流信息对应的所述路由信息时,判定所述数据包为所述数据流信息对应的所述非第一个数据包。6.根据权利要求5所述的方法,其特征在于,所述获取所述数据流信息对应的路由信息,包括:从所述预存连接跟踪表中获取与所述数据流信息对应的所述路由信息。7.一种终端,其特征在于,所述终端包括:接收单元,获取单元以及传输单元,所述接收单元,用于接收数据包;所述获取单元,用于获取所述数据包对应的数据流信息;其中,所述数据流信息用于表征所述数据包对应的路径属性;所述获取单元,还用于当所述数据包...

【专利技术属性】
技术研发人员:林进全
申请(专利权)人:OPPO重庆智能科技有限公司
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1