CN113596029B - 功能手机的数据包传输方法及装置、功能手机 - Google Patents
功能手机的数据包传输方法及装置、功能手机 Download PDFInfo
- Publication number
- CN113596029B CN113596029B CN202110863318.2A CN202110863318A CN113596029B CN 113596029 B CN113596029 B CN 113596029B CN 202110863318 A CN202110863318 A CN 202110863318A CN 113596029 B CN113596029 B CN 113596029B
- Authority
- CN
- China
- Prior art keywords
- downlink
- data packet
- uplink
- address identifier
- buffer block
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种功能手机的数据包传输方法及装置、功能手机,所述方法包括:调制解调器接收下行数据包并存入下行缓冲块;协议栈模块从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块,其中,所述下行地址标识用于指示所述下行数据包在所述下行缓冲块的数据起始地址。本发明可以显著降低对协议栈模块的数据吞吐速率的需求,同时节省内存,有效提高用户体验度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种功能手机的数据包传输方法及装置、功能手机。
背景技术
如今智能手机已成为主流,但功能手机每年依然有非常大的出货量。随着互联网技术的发展,通用串行总线(Universal Serial Bus,USB)网络共享成为常见的一种应用场景,其使得连接到手机的电脑拥有访问互联网的能力。对手机而言,需要建立电脑和网络侧之间的数据通路。
然而,功能手机中往往设置为第二代移动通信(2nd Generation,2G)或3G时代的网络协议栈模块,虽然逐步更新换代拥有了4G通信调制解调器(modem)的配置,但难以满足4G的高数据吞吐速率的需求,导致基于功能手机的USB网络共享速率过慢,用户体验度较差。
具体地,传统的功能手机自身的网络速率并不是很高,在传统功能机上的应用,其CPU性能不如多核智能机强大,大数据量吞吐的使用场景相对较少。然而,当手机通过USB连上个人计算机(Personal Computer,PC)或笔记本,以使得PC或笔记本访问网络时,PC上网的速率和体验在很大程度依赖于此时的网速,这就取决于手机在此场景下的数据传输速率。
然而在现有技术中,功能手机往往难以满足数据吞吐速率的需求,导致用户体验下降。
发明内容
本发明解决的技术问题是提供一种功能手机的数据包传输方法及装置、功能手机,可以显著降低对协议栈模块的数据吞吐速率的需求,同时节省内存,有效提高用户体验度。
为解决上述技术问题,本发明实施例提供一种功能手机的数据包传输方法,包括:调制解调器接收下行数据包并存入下行缓冲块;协议栈模块从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块,其中,所述下行地址标识用于指示所述下行数据包在所述下行缓冲块的数据起始地址;和/或,所述USB驱动模块接收上行数据包并存入上行缓冲块,然后对所述上行数据包进行处理以得到上行以太帧;所述协议栈模块从所述USB驱动模块接收所述上行以太帧的上行地址标识,在去除所述上行以太帧的以太帧头后形成上行IP帧,并更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,并传递更新后的上行地址标识至所述调制解调器,其中,所述上行地址标识用于指示所述上行以太帧在所述上行缓冲块的数据起始地址。
可选的,所述USB驱动模块接收所述更新后的下行地址标识后,在所述下行以太帧的数据前面填充RNDIS头信息以形成处理后下行数据包,并发送所述处理后下行数据包;和/或,所述USB驱动模块去除所述上行数据包的RNDIS头信息以形成所述上行以太帧。
可选的,所述调制解调器接收所述下行数据包后,根据所述下行数据包的数据长度向所述协议栈模块的内存池申请所述下行缓冲块。
可选的,所述的功能手机的数据包传输方法还包括:所述USB驱动模块发送所述处理后下行数据包之后,释放所述下行缓冲块。
可选的,所述协议栈模块的内存池具有一个或多个缓冲区,不同缓冲区的缓冲块之间的存储容量不同,且同一缓冲区内的缓冲块的存储容量相同;其中,每当申请下行缓冲块时,在存储容量大于等于所述下行数据包的数据长度的下行缓冲块中,选择存储容量最小的下行缓冲块所属的单个缓冲区并进行申请。
可选的,所述USB驱动模块向所述协议栈模块的内存池申请所述上行缓冲块以接收所述上行数据包。
可选的,所述的功能手机的数据包传输方法还包括:所述调制解调器发送所述处理后上行数据包之后,释放所述上行缓冲块。
可选的,所述协议栈模块在接收到所述下行数据包的下行地址标识时,确定用于传输所述下行地址标识指向的数据包的网卡,并确定网卡的标志位信息,然后在所述标志位信息指示不发送所述处理后的下行数据包时,对所述下行数据包进行解析处理,且不发送解析处理后的下行数据包至所述USB驱动模块。
可选的,所述的功能手机的数据包传输方法还包括:所述协议栈模块在接收到所述上行数据包的上行地址标识时,确定用于传输所述上行地址标识指向的数据包是否为地址请求数据包,然后在所述上行地址标识指向的数据包是地址请求数据包时,对所述上行数据包进行解析处理,且不发送解析处理后的上行数据包至所述调制解调器。
可选的,支持所述地址请求数据包的协议选自:DHCP、ARP、IPV6的RS、IPV6的NS以及IPV6的DHCPV6。
为解决上述技术问题,本发明实施例提供一种功能手机的数据包传输装置,包括:调制解调器,用于接收下行数据包并存入下行缓冲块;USB驱动模块,用于接收上行数据包并存入上行缓冲块,然后对所述上行数据包进行处理以得到上行以太帧;协议栈模块,用于从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块,其中,所述下行地址标识用于指示所述下行数据包在所述下行缓冲块的数据起始地址;和/或,用于从所述USB驱动模块接收所述上行以太帧的上行地址标识,在去除所述上行以太帧的以太帧头后形成上行IP帧,并更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,并传递更新后的上行地址标识至所述调制解调器,其中,所述上行地址标识用于指示所述上行以太帧在所述上行缓冲块的数据起始地址。
可选的,所述USB驱动模块接收所述更新后的下行地址标识后,在所述下行以太帧的数据前面填充RNDIS头信息以形成处理后下行数据包,并发送所述处理后下行数据包;和/或,所述USB驱动模块去除所述上行数据包的RNDIS头信息以形成所述上行以太帧。
为解决上述技术问题,本发明实施例提供一种功能手机,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述功能手机的数据包传输方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明实施例中,通过设置上下行缓冲块,可以仅在调制解调器、协议栈模块以及USB驱动模块之间传递上下行地址标识,调制解调器、协议栈模块以及USB驱动模块通过对缓冲区中的数据包进行定位即可读取数据包中的数据,相比于现有技术中协议栈模块需要先对数据包进行解析,然后基于解析结果判断业务类型并进行数据处理,在此过程中对于协议栈模块的数据吞吐速率的需求非常高,采用本发明实施例的方案,协议栈模块无需对数据包先进行解析,也就无需复制数据,从而显著降低对协议栈模块的数据吞吐速率的需求,同时节省内存,有效提高用户体验度。
进一步,USB驱动模块在下行以太帧的数据前面填充远端网络驱动程序接口规范(Remote Network Driver Interface Specification,RNDIS)头信息以形成处理后下行数据包,并发送所述处理后下行数据包至联网终端,所述USB驱动模块去除所述上行数据包的RNDIS头信息以形成所述上行以太帧,可以在实现USB网络共享功能的过程中,使得USB驱动模块仅仅执行填充或去除RNDIS头信息的步骤,无需对数据进行复杂处理,即可完成数据处理,进一步降低对USB驱动模块以及调制解调器的数据吞吐速率的需求。
进一步,所述调制解调器接收所述下行数据包后,根据所述下行数据包的数据长度向所述协议栈模块的内存池申请所述下行缓冲块,可以有效控制下行缓冲块的容量,提高存储的有效性和准确性。
进一步,所述USB驱动模块发送所述处理后下行数据包之后,释放所述下行缓冲块,可以及时返还申请的下行缓冲块,从而节省协议栈模块的内存空间,有效降低对协议栈模块的影响。
进一步,每当申请下行缓冲块时,在存储容量大于等于所述下行数据包的数据长度的下行缓冲块中,选择存储容量最小的下行缓冲块所属的单个缓冲区并进行申请,从而可以选择适当的缓冲区,选择恰好够用的下行缓冲块,从而在存储读取数据包的过程中,避免占用过多资源。
进一步,所述调制解调器发送所述处理后上行数据包之后,释放所述上行缓冲块,可以及时返还申请的上行缓冲块,从而节省协议栈模块的内存空间,有效降低对协议栈模块的需求。
进一步,当协议栈模块在接收到所述下行数据包的下行地址标识时,确定用于传输所述下行地址标识指向的数据包的网卡,并确定网卡的标志位信息,从而可以经由标志位信息适当地对业务请求进行选择,进行解析处理或者发送处理。
进一步,当所述协议栈模块接收到所述上行数据包的上行地址标识时,确定用于传输所述上行地址标识指向的数据包是否为地址请求数据包,如果是地址请求数据包,则所述协议栈模块对所述上行数据包进行解析处理,且不发送解析处理后的上行数据包,从而可以对地址请求类型的业务请求,由协议栈模块自行处理,提高处理效率。
附图说明
图1是现有技术中一种功能手机的数据包传输方法的工作场景示意图;
图2是本发明实施例中一种功能手机的数据包传输方法的下行传输流程图;
图3是本发明实施例中一种功能手机的数据包传输方法的下行传输工作场景示意图;
图4是本发明实施例中一种功能手机的数据包传输方法的上行传输流程图;
图5是本发明实施例中一种功能手机的数据包传输方法的上行传输工作场景示意图;
图6是本发明实施例中一种功能手机的数据包传输装置的结构示意图。
具体实施方式
在现有技术中,传统的功能手机自身的网络速率并不是很高,在传统功能机上的应用,其中央处理器(Central Processing Unit,CPU)性能不如多核智能机强大,大数据量吞吐的使用场景相对较少。然而,当手机通过USB连上PC或笔记本,以使得PC或笔记本访问网络时,PC上网的速率和体验在很大程度依赖于此时的网速,这就取决于手机在此场景下的数据传输速率,而功能手机往往难以满足数据吞吐速率的需求,导致用户体验下降。
本发明的发明人经过研究发现,在现有技术中,采用包含调制解调器、协议栈模块、USB驱动模块的数据包传输系统传输上下行数据包,协议栈模块对于调制解调器接收到的每个下行数据包或USB驱动模块接收到的每个上行数据包,均需要先进行解析和/或在模块间传递时进行拷贝(copy),然后基于解析结果判断业务类型并进行数据处理,例如对于上网速率需求较高的业务,如视频业务,文件上传下载业务等,可以发送处理后的下行数据包至USB驱动模块或者发送处理后的上行数据包至调制解调器;对于互联网协议(InternetProtocol,IP)地址请求或域名系统(Domain Name System,DNS)服务器地址获取等业务,可以由协议栈模块自行处理。由于协议栈模块对每个数据包均需要先进行解析和/或拷贝,如果在此过程中数据吞吐速率的需求非常高,会导致功能手机往往难以满足需求。
参照图1,图1是现有技术中一种功能手机的数据包传输方法的工作场景示意图。
所述功能手机可以包括调制解调器、协议栈模块以及USB驱动模块,且数据包依照调制解调器、协议栈模块以及USB驱动模块的顺序传输。
需要指出的是,在现有技术中,协议栈模块自调制解调器接收到数据包后,需要先对数据包进行解析,然后基于解析结果判断业务类型并进行数据处理,在数据处理过程中,往往还涉及到对数据包的拷贝,因此上述处理方式对于协议栈模块的数据吞吐速率的要求非常高。
需要指出的是,图1示出的是下行传输的工作场景,在上行传输过程中,数据包依照USB驱动模块、协议栈模块以及调制解调器的顺序传输,协议栈模块从USB驱动模块接收到数据包后,同样需要先对数据包进行解析,然后基于解析结果判断业务类型并进行数据处理,因此也同样存在功能手机难以满足数据吞吐速率要求的问题。
在本发明实施例中,通过设置上下行缓冲块,可以仅在调制解调器、协议栈模块以及USB驱动模块之间传递上下行地址标识,调制解调器、协议栈模块以及USB驱动模块通过对缓冲区中的数据包进行定位即可读取数据包中的数据,相比于现有技术中协议栈模块需要先对数据包进行解析,然后基于解析结果判断业务类型并进行数据处理,在此过程中对于协议栈模块的数据吞吐速率的需求非常高,采用本发明实施例的方案,协议栈模块无需对数据包先进行解析,也就无需复制数据,从而显著降低对协议栈模块的数据吞吐速率的需求,同时节省内存,有效提高用户体验度。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图2,图2是本发明实施例中一种功能手机的数据包传输方法的下行传输流程图。所述功能手机的数据包传输方法的下行传输流程图可以包括步骤S21至步骤S22:
步骤S21:调制解调器接收下行数据包并存入下行缓冲块;
步骤S22:协议栈模块从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块。
在步骤S21的具体实施中,调制解调器接收下行数据包并存入下行缓冲块。
其中,所述下行缓冲块可以是由所述调制解调器在接收所述下行数据包后申请得到的。
参照图3,图3是本发明实施例中一种功能手机的数据包传输方法的下行传输工作场景示意图。
具体地,所述功能手机可以包括调制解调器(Modem)、协议栈模块以及USB驱动模块,且数据包依照调制解调器、协议栈模块以及USB驱动模块的顺序传输。
在具体实施中,所述IP帧可以是由调制解调器在接收下行数据包,申请到下行缓冲块,并将下行数据包存入下行缓冲块后,填充数据内容形成的,例如可以通过在下行数据包前面添加IP头形成;还可以是在调制解调器接收时已经包含在下行数据包中的。需要指出的是,在本发明实施例中,对于下行数据包的具体组成不作限制。
进一步地,所述调制解调器接收所述下行数据包后,可以根据所述下行数据包的数据长度向所述协议栈模块的内存池申请所述下行缓冲块。
在本发明实施例中,所述调制解调器接收所述下行数据包后,根据所述下行数据包的数据长度向所述协议栈模块的内存池申请所述下行缓冲块,可以有效控制下行缓冲块的容量,提高存储的有效性和准确性。
进一步,所述协议栈模块的内存池可以具有一个或多个缓冲区,不同缓冲区的缓冲块之间的存储容量不同,且同一缓冲区内的缓冲块的存储容量相同;其中,每当申请下行缓冲块时,在存储容量大于等于所述下行数据包的数据长度的下行缓冲块中,选择存储容量最小的下行缓冲块所属的单个缓冲区并进行申请。
如图3所示,协议栈模块的内存池可以具有一个或多个缓冲区,每个缓冲区可以提供一个或多个缓冲块,不同缓冲区的缓冲块之间的存储容量不同,且同一缓冲区内的缓冲块的存储容量相同。其中,每当申请下行缓冲块时,在存储容量大于等于所述下行数据包的数据长度的下行缓冲块中,选择存储容量最小的下行缓冲块所属的单个缓冲区并进行申请。
在一个非限制的具体实施例中,所述协议栈模块的内存池可以具有4个缓冲区。其中,第一缓冲区可以提供存储容量为200字节的多个缓冲块,第二缓冲区可以提供存储容量为1664字节的多个缓冲块,第三缓冲区可以提供存储容量为3000字节的多个缓冲块,第四缓冲区可以提供存储容量为10000字节的多个缓冲块。
以下行数据包的数据长度为1460字节为例,当申请下行缓冲块时,由于存储容量大于等于所述下行数据包的数据长度1460字节的下行缓冲块可以是属于第二缓冲区、第三缓冲区以及第四缓冲区的缓冲块,其中,存储容量最小的缓冲块为1664字节,所属的缓冲区为第二缓冲区。
可以理解的是,在仅需要传输1460字节数据的情况下,选择存储容量为1664字节的缓冲块,相比于选择存储容量为3000字节、10000字节的缓冲块,并且因为协议栈模块提供了缓冲区给调制解调模块和USB驱动模块共用,调制解调器模块和USB驱动模块无需再预留内存用于数据传输,更加有利于资源优化。
在本发明实施例中,每当申请下行缓冲块时,在存储容量大于等于所述下行数据包的数据长度的下行缓冲块中,选择存储容量最小的下行缓冲块所属的单个缓冲区并进行申请,从而可以选择适当的缓冲区,选择恰好够用的下行缓冲块,从而在存储读取数据包的过程中,避免占用过多资源。
继续参照图2,在步骤S12的具体实施中,协议栈模块从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块。
其中,所述下行地址标识用于指示所述下行数据包在所述下行缓冲块的数据起始地址,例如可以为指针。
进一步地,所述协议栈模块可以在接收到所述下行数据包的下行地址标识时,确定需要由协议栈模块自行处理,还是发送处理后的下行数据包至USB驱动模块。
在具体实施中,在手机驻网成功后,如要开启USB网络共享功能,需先通过USB端口连接到PC,做分组数据协议(Packet Data Protocol,PDP)激活注册一张或多张网卡,各个网卡例如可以支持不同的业务请求,各个网卡具有各自的标志位信息,例如USB驱动直连标志位。
其中,可以根据业务请求,采用不同的网卡发送对应的下行数据包,则下行数据包与该网卡的标志位信息具有对应关系。
具体地,所述标识位信息可以用于指示发送处理后的下行数据包,例如从功能手机发送至联网终端,如需要通过功能手机连网的PC端,还可以用于指示不发送处理后的下行数据包,例如由协议栈模块自行处理。
在本发明实施例中,当协议栈模块在接收到所述下行数据包的下行地址标识时,确定用于传输所述下行地址标识指向的数据包的网卡,并确定网卡的标志位信息,从而可以经由标志位信息适当地对业务请求进行选择,进行解析处理或者发送处理。
进一步地,所述协议栈模块在接收到所述下行数据包的下行地址标识时,可以确定用于传输所述下行地址标识指向的数据包的网卡,并确定网卡的标志位信息,然后在所述标志位信息指示不发送所述处理后的下行数据包时,对所述下行数据包进行解析处理,且不发送解析处理后的下行数据包至所述USB驱动模块。
需要指出的是,除解析处理之外,如果所述协议栈模块还需对数据采用其他处理方式进行处理,也可以不发送处理后的下行数据包至所述USB驱动模块,从而减轻USB驱动模块以及PC的处理压力和减少信令开销。
继续参照图3,对于需要发送处理后的下行数据包,例如需要从功能手机发送至PC端的情况,协议栈模块可以根据所述下行地址标识,去下行缓冲块中,在所述下行数据包的数据前面填充以太头以形成下行以太帧,然后更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,如图中箭头所示的更新后的下行地址标识。进而由协议栈模块传递更新后的下行地址标识至USB驱动模块。
在本发明实施例中,通过设置下行缓冲块,可以仅在调制解调器、协议栈模块以及USB驱动模块之间传递下行地址标识,调制解调器、协议栈模块以及USB驱动模块通过对缓冲区中的数据包进行定位即可读取数据包中的数据,相比于现有技术中协议栈模块需要先对数据包进行解析,然后基于解析结果判断业务类型并进行数据处理,在此过程中对于协议栈模块的数据吞吐速率的需求非常高,采用本发明实施例的方案,协议栈模块无需对数据包先进行解析,也就无需复制数据,从而显著降低对协议栈模块的数据吞吐速率的需求,有效提高用户体验度。
进一步地,所述的功能手机的数据包传输方法还可以包括:所述USB驱动模块接收所述更新后的下行地址标识后,在所述下行以太帧的数据前面填充RNDIS头信息以形成处理后下行数据包,并发送所述处理后下行数据包。
具体地,例如可以发送所述处理后下行数据包至联网终端,如需要通过功能手机连网的PC端。
如图3中的箭头所示,所述USB驱动模块还可以继续对更新后的下行地址标识进行更新。
进一步地,所述功能手机的数据包传输方法还可以包括:所述USB驱动模块发送所述处理后下行数据包之后,释放所述下行缓冲块。
其中,所述释放可以用于指示将下行缓冲块的空间标识为空闲,以供后续再次使用。
在本发明实施例中,所述USB驱动模块发送所述处理后下行数据包之后,释放所述下行缓冲块,可以及时返还申请的下行缓冲块,从而节省协议栈模块的内存空间,有效降低对协议栈模块的影响。
在本发明实施例中,USB驱动模块在下行以太帧的数据前面填充RNDIS头信息以形成处理后下行数据包,并发送所述处理后下行数据包至联网终端,可以在实现USB网络共享功能的过程中,使得USB驱动模块仅仅执行填充或去除RNDIS头信息的步骤,无需对数据进行复杂处理,即可完成数据处理,进一步降低对USB驱动模块的数据吞吐速率的需求。
参照图4,图4是本发明实施例中一种功能手机的数据包传输方法的上行传输流程图。所述功能手机的数据包传输方法可以包括步骤S41至步骤S42:
步骤S41:所述USB驱动模块接收上行数据包并存入上行缓冲块,然后对所述上行数据包进行处理以得到上行以太帧;
步骤S42:所述协议栈模块从所述USB驱动模块接收所述上行以太帧的上行地址标识,在去除所述上行以太帧的以太帧头后形成上行IP帧,并更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,并传递更新后的上行地址标识至所述调制解调器。
在步骤S41的具体实施中,USB驱动模块存入上行缓冲块后,对上行缓冲块中的上行数据包进行处理以得到上行以太帧。
进一步地,所述USB驱动模块可以去除所述上行数据包的RNDIS头信息以形成所述上行以太帧。
在本发明实施例中,所述USB驱动模块去除所述上行数据包的RNDIS头信息以形成所述上行以太帧,可以在实现USB网络共享功能的过程中,使得USB驱动模块仅仅执行填充或去除RNDIS头信息的步骤,无需对数据进行复杂处理,即可完成数据处理,进一步降低对USB驱动模块以及调制解调器的数据吞吐速率的需求。
需要指出的是,在本发明实施例中,列出的添加或去除头信息的步骤是由协议栈模块以及USB模块执行的,然而调制解调器可以有其他适当的数据处理步骤,此处不再赘述且不做限制。
参照图5,图5是本发明实施例中一种功能手机的数据包传输方法的上行传输工作场景示意图。
具体地,所述功能手机可以包括调制解调器、协议栈模块以及USB驱动模块,且数据包依照USB驱动模块、协议栈模块以及调制解调器的顺序传输。
所述上行数据包可以包括IP帧、以太头、RNDIS头信息,还可以包括其他适当的信息。需要指出的是,在本发明实施例中,对于上行数据包的具体组成不作限制。
进一步地,所述USB驱动模块可以向所述协议栈模块的内存池申请所述上行缓冲块以接收所述上行数据包。
在具体实施中,USB驱动通过RNDIS协议在握手阶段跟PC协商出最大的传输数据大小,据此可以设置USB驱动模块申请固定大小的上行缓冲块,从而USB驱动模块无需计算并选择上行缓冲块的存储容量。
在本发明实施例中,通过设置USB驱动模块申请上行缓冲块的步骤,可以提高存储的有效性和准确性。
继续参照图4,在步骤S42的具体实施中,协议栈模块从所述USB驱动模块接收所述上行以太帧的上行地址标识,在去除所述上行以太帧的以太帧头后形成上行IP帧,并更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,并传递更新后的上行地址标识至所述调制解调器,其中,所述上行地址标识用于指示所述上行以太帧在所述上行缓冲块的数据起始地址。
其中,所述上行地址标识用于指示所述上行数据包在所述上行缓冲块的数据起始地址,例如可以为指针。
进一步地,所述协议栈模块可以在接收到所述上行数据包的上行地址标识时,确定需要由协议栈模块自行处理,还是发送处理后的上行数据包至调制解调器。
在具体实施中,协议栈模块可以根据所述上行地址标识,去上行缓冲块中读取数据并解析,然后基于解析结果判断业务类型并进行数据处理。
具体地,在本发明实施例中,业务类型可以包含至少两类,一类可以是互联网协议(Internet Protocol,IP)地址请求或域名系统(Domain Name System,DNS)服务器地址获取等业务,可以由协议栈模块自行处理;另一类可以是对于上网速率需求较高的业务,如视频业务,文件上传下载业务等,可以发送处理后的下行数据包至USB驱动模块或者发送处理后的上行数据包至调制解调器。
其中,可以采用地址请求数据包传输IP地址请求业务以及DNS服务器地址获取业务的数据,所述地址请求数据包用于指示与地址获取相关的数据包。
进一步地,所述的功能手机的数据包传输方法还可以包括:所述协议栈模块在接收到所述上行数据包的上行地址标识时,确定用于传输所述上行地址标识指向的数据包是否为地址请求数据包,然后在所述上行地址标识指向的数据包是地址请求数据包时,对所述上行数据包进行解析处理,且不发送解析处理后的上行数据包至所述调制解调器。
需要指出的是,如果除解析处理之外,所述协议栈模块还需对数据采用其他处理方式进行处理,也可以不发送处理后的上行数据包至所述调制解调器,从而减轻调制解调器的处理压力和减少信令开销。
在本发明实施例中,当所述协议栈模块接收到所述上行数据包的上行地址标识时,确定用于传输所述上行地址标识指向的数据包是否为地址请求数据包,如果是地址请求数据包,则所述协议栈模块对所述上行数据包进行解析处理,且不发送解析处理后的上行数据包,从而可以对地址请求类型的业务请求,由协议栈模块自行处理,提高处理效率。
进一步地,支持所述地址请求数据包的协议可以选自:动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)、地址解析协议(Address ResolutionProtocol,ARP)、互联网协议第6版(Internet Protocol Version 6,IPv6)的路由器请求(Router Solicitation,RS)、IPV6的邻居请求报文NS(Neighbor Solicitation)以及IPV6的第6版动态主机配置协议(Dynamic Host Configuration Protocol for IPv6,DHCPv6)。
可以理解的是,所述地址请求数据包用于指示与地址获取相关的数据包,除上述列出的地址请求数据包,支持所述地址请求数据包的协议还可以选自其他适当的协议。
其中,协议栈模块可以更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,如图5中箭头所示的更新后的上行地址标识。进而由协议栈模块传递更新后的上行地址标识至调制解调器,然后可以由所述调制解调器发送所述上行数据包,例如发送至网络侧。
如图5中的箭头所示,所述调制解调器还可以继续对更新后的下行地址标识进行更新。
进一步地,所述调制解调器发送所述处理后上行数据包之后,释放所述上行缓冲块。
在本发明实施例中,所述调制解调器发送所述处理后上行数据包之后,释放所述上行缓冲块,可以及时返还申请的上行缓冲块,从而节省协议栈模块的内存空间,有效降低对协议栈模块的需求。
在本发明实施例中,通过设置上行缓冲块,可以仅在调制解调器、协议栈模块以及USB驱动模块之间传递上行地址标识,调制解调器、协议栈模块以及USB驱动模块通过对缓冲区中的数据包进行定位即可读取数据包中的数据,相比于现有技术中协议栈模块需要先对数据包进行解析,然后基于解析结果判断业务类型并进行数据处理,在此过程中对于协议栈模块的数据吞吐速率的需求非常高,采用本发明实施例的方案,协议栈模块无需对数据包先进行解析,也就无需复制数据,从而显著降低对协议栈模块的数据吞吐速率的需求,有效提高用户体验度。
参照图6,图6是本发明实施例中一种功能手机的数据包传输装置的结构示意图。所述功能手机的数据包传输装置可以包括:
调制解调器61,用于接收下行数据包并存入下行缓冲块;
协议栈模块62,用于接收上行数据包并存入上行缓冲块,然后对所述上行数据包进行处理以得到上行以太帧;
USB驱动模块63,用于从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块,其中,所述下行地址标识用于指示所述下行数据包在所述下行缓冲块的数据起始地址;和/或,用于从所述USB驱动模块接收所述上行以太帧的上行地址标识,在去除所述上行以太帧的以太帧头后形成上行IP帧,并更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,并传递更新后的上行地址标识至所述调制解调器,其中,所述上行地址标识用于指示所述上行以太帧在所述上行缓冲块的数据起始地址。
进一步地,所述USB驱动模块接收所述更新后的下行地址标识后,在所述下行以太帧的数据前面填充RNDIS头信息以形成处理后下行数据包,并发送所述处理后下行数据包;和/或,所述USB驱动模块去除所述上行数据包的RNDIS头信息以形成所述上行以太帧。
关于该功能手机的数据包传输装置的原理、具体实现和有益效果请参照前文所述的关于功能手机的数据包传输方法的相关描述,此处不再赘述。
本发明实施例还提供了一种功能手机,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述方法的步骤。
其中,所述功能手机(Feature phone)是一种移动电话的主要类别,能够满足许多族群的消费者要求,有些功能手机的应用,亦比纯粹只能用来打电话及收发短信的一般手机多,譬如能够照照片、播放自己的音乐文件、上网以及是使用地图功能。具有耗电量较智能手机低,稳定性及收讯质量较智能手机佳等特点。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (13)
1.一种功能手机的数据包传输方法,其特征在于,包括:
调制解调器接收下行数据包并存入下行缓冲块;
协议栈模块从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块,其中,所述下行地址标识用于指示所述下行数据包在所述下行缓冲块的数据起始地址,所述下行地址标识指示的数据起始地址用于对所述下行数据包进行数据处理;
和/或,
所述USB驱动模块接收上行数据包并存入上行缓冲块,然后对所述上行数据包进行处理以得到上行以太帧;
所述协议栈模块从所述USB驱动模块接收所述上行以太帧的上行地址标识,在去除所述上行以太帧的以太帧头后形成上行IP帧,并更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,并传递更新后的上行地址标识至所述调制解调器,其中,所述上行地址标识用于指示所述上行以太帧在所述上行缓冲块的数据起始地址,所述上行地址标识指示的数据起始地址用于对所述上行数据包进行数据处理。
2.根据权利要求1所述的功能手机的数据包传输方法,其特征在于,
所述USB驱动模块接收所述更新后的下行地址标识后,在所述下行以太帧的数据前面填充RNDIS头信息以形成处理后下行数据包,并发送所述处理后下行数据包;
和/或,
所述USB驱动模块去除所述上行数据包的RNDIS头信息以形成所述上行以太帧。
3.根据权利要求2所述的功能手机的数据包传输方法,其特征在于,所述调制解调器接收所述下行数据包后,根据所述下行数据包的数据长度向所述协议栈模块的内存池申请所述下行缓冲块。
4.根据权利要求3所述的功能手机的数据包传输方法,其特征在于,还包括:所述USB驱动模块发送所述处理后下行数据包之后,释放所述下行缓冲块。
5.根据权利要求3至4任一项所述的功能手机的数据包传输方法,其特征在于,所述协议栈模块的内存池具有一个或多个缓冲区,不同缓冲区的缓冲块之间的存储容量不同,且同一缓冲区内的缓冲块的存储容量相同;
其中,每当申请下行缓冲块时,在存储容量大于等于所述下行数据包的数据长度的下行缓冲块中,选择存储容量最小的下行缓冲块所属的单个缓冲区并进行申请。
6.根据权利要求2所述的功能手机的数据包传输方法,其特征在于,所述USB驱动模块向所述协议栈模块的内存池申请所述上行缓冲块以接收所述上行数据包。
7.根据权利要求6所述的功能手机的数据包传输方法,其特征在于,还包括:所述调制解调器发送处理后上行数据包之后,释放所述上行缓冲块。
8.根据权利要求2所述的功能手机的数据包传输方法,其特征在于,
所述协议栈模块在接收到所述下行数据包的下行地址标识时,确定用于传输所述下行地址标识指向的数据包的网卡,并确定网卡的标志位信息,然后在所述标志位信息指示不发送所述处理后的下行数据包时,对所述下行数据包进行解析处理,且不发送解析处理后的下行数据包至所述USB驱动模块。
9.根据权利要求1所述的功能手机的数据包传输方法,其特征在于,还包括:所述协议栈模块在接收到所述上行数据包的上行地址标识时,确定用于传输所述上行地址标识指向的数据包是否为地址请求数据包,然后在所述上行地址标识指向的数据包是地址请求数据包时,对所述上行数据包进行解析处理,且不发送解析处理后的上行数据包至所述调制解调器。
10.根据权利要求9所述的功能手机的数据包传输方法,其特征在于,支持所述地址请求数据包的协议选自:
DHCP、ARP、IPV6的RS、IPV6的NS以及IPV6的DHCPV6。
11.一种功能手机的数据包传输装置,其特征在于,包括:
调制解调器,用于接收下行数据包并存入下行缓冲块;
USB驱动模块,用于接收上行数据包并存入上行缓冲块,然后对所述上行数据包进行处理以得到上行以太帧;
协议栈模块,用于从所述调制解调器接收所述下行数据包的下行地址标识,在所述下行数据包的数据前面填充以太头以形成下行以太帧后,更新所述下行地址标识为指示所述下行以太帧在下行缓冲块的数据起始地址,并传递更新后的下行地址标识至USB驱动模块,其中,所述下行地址标识用于指示所述下行数据包在所述下行缓冲块的数据起始地址,所述下行地址标识指示的数据起始地址用于对所述下行数据包进行数据处理;
和/或,用于从所述USB驱动模块接收所述上行以太帧的上行地址标识,在去除所述上行以太帧的以太帧头后形成上行IP帧,并更新所述上行地址标识为指示所述上行IP帧在上行缓冲块的数据起始地址,并传递更新后的上行地址标识至所述调制解调器,其中,所述上行地址标识用于指示所述上行以太帧在所述上行缓冲块的数据起始地址,所述上行地址标识指示的数据起始地址用于对所述上行数据包进行数据处理。
12.根据权利要求11所述的功能手机的数据包传输装置,其特征在于,
所述USB驱动模块接收所述更新后的下行地址标识后,在所述下行以太帧的数据前面填充RNDIS头信息以形成处理后下行数据包,并发送所述处理后下行数据包;
和/或,
所述USB驱动模块去除所述上行数据包的RNDIS头信息以形成所述上行以太帧。
13.一种功能手机,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至10任一项所述功能手机的数据包传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110863318.2A CN113596029B (zh) | 2021-07-29 | 2021-07-29 | 功能手机的数据包传输方法及装置、功能手机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110863318.2A CN113596029B (zh) | 2021-07-29 | 2021-07-29 | 功能手机的数据包传输方法及装置、功能手机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596029A CN113596029A (zh) | 2021-11-02 |
CN113596029B true CN113596029B (zh) | 2023-04-07 |
Family
ID=78251755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110863318.2A Active CN113596029B (zh) | 2021-07-29 | 2021-07-29 | 功能手机的数据包传输方法及装置、功能手机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113596029B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277174A (zh) * | 2017-07-31 | 2017-10-20 | 努比亚技术有限公司 | 数据包传输系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049531A (en) * | 1997-07-14 | 2000-04-11 | At&T Corp | Real-time multimedia conferencing over an ATM network using an intelligent ATM ADSL modem and ADSL access |
CN101247266B (zh) * | 2008-03-21 | 2011-05-25 | 深圳市国人射频通信有限公司 | 以太网中进行数据处理的方法 |
CN102932229B (zh) * | 2012-11-20 | 2015-08-12 | 成都卫士通信息产业股份有限公司 | 一种对数据包进行加解密处理的方法 |
US20180234535A1 (en) * | 2017-02-10 | 2018-08-16 | Mediatek Inc. | Method and apparatus for communication |
CN110391999B (zh) * | 2018-04-18 | 2022-12-16 | 海能达通信股份有限公司 | 一种数据通信方法及系统 |
-
2021
- 2021-07-29 CN CN202110863318.2A patent/CN113596029B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277174A (zh) * | 2017-07-31 | 2017-10-20 | 努比亚技术有限公司 | 数据包传输系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113596029A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9843514B2 (en) | Packet processing method and background server | |
CN110167197B (zh) | Gtp下行数据传输优化方法及装置 | |
WO2020147497A1 (zh) | 无人车数据传输方法、装置、系统及存储介质 | |
CN112822646B (zh) | 消息处理方法和装置、电子设备、计算机可读存储介质 | |
WO2024037296A1 (zh) | 基于协议族的quic数据传输方法及装置 | |
US20210120107A1 (en) | Data Processing Method and Apparatus, and Device | |
CN112152940A (zh) | 报文处理方法、装置以及系统 | |
CN107135189B (zh) | 一种报文发送方法及物理机 | |
CN114422617B (zh) | 一种报文处理方法、系统及计算机可读存储介质 | |
CN115103036A (zh) | 一种高效的tcp/ip数据报处理方法及系统 | |
CN113014510A (zh) | 惯导系统分布式测试中数据缓存方法及装置 | |
CN113098955B (zh) | 一种数据传输方法、装置、设备及计算机可读存储介质 | |
CN113596029B (zh) | 功能手机的数据包传输方法及装置、功能手机 | |
CN113973091A (zh) | 一种报文处理方法、网络设备以及相关设备 | |
CN111901386A (zh) | 一种远端文件处理的方法、系统、设备及可读存储介质 | |
CN111913817A (zh) | 一种数据传输方法、系统和设备以及计算机可读存储介质 | |
CN114567614B (zh) | 基于fpga实现arp协议处理的方法及装置 | |
US20220269411A1 (en) | Systems and methods for scalable shared memory among networked devices comprising ip addressable memory blocks | |
WO2022257587A1 (zh) | 数据处理方法、toe硬件及计算机可读存储介质 | |
CN113271336B (zh) | 基于dpdk的机器人中间件dds数据传输方法、电子设备及计算机可读存储介质 | |
CN112422457B (zh) | 报文处理方法、装置和计算机存储介质 | |
CN110753043B (zh) | 一种通信方法、装置、服务器及介质 | |
CN113641604A (zh) | 一种数据传输方法及系统 | |
CN110069422B (zh) | 基于mips多核处理器的内存缓冲区回收方法 | |
CN114978950B (zh) | 基于fpga、cpu协同的网络算法调用方法及系统 |
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 |