数据包传输系统及方法与流程

文档序号:11525098阅读:230来源:国知局
数据包传输系统及方法与流程

本发明涉及通信技术领域,尤其涉及一种数据包传输系统及方法。



背景技术:

随着移动通信技术的发展,越来越多的移动终端如智能手机具有双卡双通的功能,使得用户在实现语音业务的待机同时,能建立数据业务连接。移动终端通常具有两个用户识别卡以及分别与所述两个用户识别卡连接的调制解调器,两个用户识别卡全开时,一个用户识别卡(sim1)可以使用4g(the4thgenerationmobilecommunicationtechnology,第四代移动通信技术),例如lte(longtermevolution,长期演进技术)网络,另一个用户识别卡(sim2)仅能使用2g(2-generationwirelesstelephonetechnology,第二代手机通信技术规格)或3g(3rdgeneration,第三代移动通信技术)网络,sim2不能上4g的原因主要是:移动终端只有一套射频,两张卡使用该套射频是分时复用的关系,并不能同时占用,由于两张卡全开时,只有一张卡可以使用4g网络,另一张卡只能使用2g或3g网络,导致移动终端中数据传输的效率较低。

因此,为了使移动终端可以支持双lte,以提高数据传输效率,移动终端可与外接设备连接(该外接设备中设置有调制解调器),以实现双lte通信功能。但是,目前移动终端和外接设备进行数据包传输过程中,如果移动终端中的用户识别卡是电信卡,由于电信卡一般都大于移动终端和外接设备之间数据传输的临时缓冲区buffer的容量值,因此buffer无法缓存一个完整的数据包,若是直接进行数据传输,容易导致移动终端死机。



技术实现要素:

本发明的主要目的在于提出一种数据包传输系统及方法,旨在解决现有的数据包传输方式,容易导致移动终端死机的技术问题。

为实现上述目的,本发明提供的一种数据包传输系统,所述数据包传输系统包括移动终端,以及通过预设接口与所述移动终端连接的外接设备,所述移动终端包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器、第一射频模块,以及与所述第一调制解调器连接的第一用户识别卡和第二用户识别卡,所述外接设备包括第二应用处理器、第二调制解调器和第二射频模块;

第一应用处理器,用于通过预设接口接收第二应用处理器发送的数据包获取请求时,从虚拟用户识别卡中提取所述数据包获取请求对应的数据包;

对提取的数据包进行拆分,并对同一个数据包拆分后的各个子数据包添加相同的标识信息;

将添加有标识信息的各个子数据包缓存至所述预设接口的临时缓冲区buffer中,以供第二应用处理器从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合。

可选地,所述第一应用处理器,还用于通过所述第一调制解调器向虚拟用户识别卡中的片内操作系统发送数据包获取请求,由所述片内操作系统在虚拟用户识别卡中的文件存储模块中提取所述数据包获取请求对应的数据包,并反馈至所述第一调制解调器;

所述第一应用处理器,还用于通过所述第一调制解调器接收所述片内操作系统反馈的数据包。

可选地,所述第一应用处理器,还用于对确定数据包的容量值;

在有数据包的容量值大于预设阈值时,对所述数据包进行拆分,得到各个子数据包;

在各个子数据包对应的包头中添加相同的标识信息。

可选地,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器,还用于将不同标识信息的各个子数据包按照预设的顺序缓存至所述预设接口的buffer中。

可选地,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器,还用于将相同标识信息的各个子数据包归为一类;

按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中。

此外,为实现上述目的,本发明还提出一种数据包传输方法,应用于移动终端以及通过预设接口与移动终端连接的外接设备,所述移动终端包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器、第一射频模块,以及与所述第一调制解调器连接的第一用户识别卡和第二用户识别卡,所述外接设备包括第二应用处理器、第二调制解调器和第二射频模块,所述方法包括:

第一应用处理器通过预设接口接收第二应用处理器发送的数据包获取请求时,从虚拟用户识别卡中提取所述数据包获取请求对应的数据包;

对提取的数据包进行拆分,并对同一个数据包拆分后的各个子数据包添加相同的标识信息;

将添加有标识信息的各个子数据包缓存至所述预设接口的临时缓冲区buffer中,以供第二应用处理器从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合。

可选地,所述从虚拟用户识别卡中提取所述数据包获取请求对应的数据包的步骤包括:

所述第一应用处理器通过所述第一调制解调器向虚拟用户识别卡中的片内操作系统发送数据包获取请求,由所述片内操作系统在虚拟用户识别卡中的文件存储模块中提取所述数据包获取请求对应的数据包,并反馈至所述第一调制解调器;

所述第一应用处理器通过所述第一调制解调器接收所述片内操作系统反馈的数据包。

可选地,所述对提取的数据包进行拆分,并对同一个数据包拆分后的各个子数据包添加相同的标识信息的步骤包括:

所述第一应用处理器确定数据包的容量值;

在有数据包的容量值大于预设阈值时,对所述数据包进行拆分,得到各个子数据包;

在各个子数据包对应的包头中添加相同的标识信息。

可选地,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述将添加有标识信息的各个子数据包缓存至所述预设接口的buffer中的步骤包括:

所述第一应用处理器将不同标识信息的各个子数据包按照预设的顺序缓存至所述预设接口的buffer中。

可选地,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述将添加有标识信息的各个子数据包缓存至所述预设接口的buffer中的步骤还包括:

所述第一应用处理器将相同标识信息的各个子数据包归为一类;

按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中。

本发明提出的技术方案,所述数据包传输系统包括移动终端,以及通过预设接口与所述移动终端连接的外接设备,所述移动终端包括第一应用处理器、第一调制解调器第一射频模块,以及与所述第一调制解调器连接的第一用户识别卡和第二用户识别卡,所述外接设备包括第二应用处理器、内嵌有虚拟用户识别卡的第二调制解调器和第二射频模块;第一应用处理器通过预设接口接收第二应用处理器发送的数据包获取请求时,先从虚拟用户识别卡中提取所述数据包获取请求对应的数据包,然后对提取的数据包进行拆分,并对同一每个数据包拆分后的各个子数据包添加相同的标识信息,再将添加有标识信息的各个子数据包缓存至所述预设接口的buffer中,以供第二应用处理器从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合,以完成数据包的传输。本方案在传输数据包时,先对待传输的数据包进行拆分,再将拆分后的各个子数据包添加相同的标识信息后进行传输,使得传输的数据包的容量值有所减小,后续对端接收到各个子数据包之后按照相同的标识信息进行重组即可,避免了数据传输过程中移动终端死机的情况。

附图说明

图1为本发明一实施例的lte网络架构的示意图;

图2为本发明实施例中移动终端和外接设备通讯连接的一种通讯连接的实体示意图;

图3为本发明实施例中移动终端和外接设备通讯连接的一种硬件结构示意图;

图4为本发明数据包传输方法第一实施例的流程示意图;

图5为图4中步骤s10的细化流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意结合。

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

图1是本发明一实施例的lte(longtermevolution,长期演进)网络架构的示意图。本发明一实施例的lte网络架构包括:一个或多个移动终端(userequipment,ue)100、外接设备200、e-utran(evolvedumtsterrestrialradioaccessnetwork,演进的umts陆地无线接入网)(图中未标号)、演进分组核心(epc)(图中未标号)、归属订户服务器(hss)107、网络(例如,因特网)(图中未标号)以及电路交换系统(图中未标号)。

e-utran包括演进b节点(enodeb)101和其它enodeb102。enodeb101提供朝向移动终端100的用户面和控制面的协议终接。enodeb101可经由x2接口连接到其他enodeb。enodeb101也可称为基站、基收发机站、无线电基站、无线电收发机、收发机功能、基本服务集、扩展服务集、或其他某个合适的术语。enodeb101为移动终端100提供去往epc的接入点。

enodeb101通过s1接口连接到epc。epc包括移动管理实体(eem)104、其他移动管理实体106、服务网关103,以及分组数据网络(pdn)网关105。移动管理实体104是处理移动终端100与epc之间的信令的控制节点。移动管理实体104提供承载和连接管理。所有用户ip分组通过服务网关103来传递,服务网关103自身连接到pdn网关105。pdn网关105提供ueip地址分配以及其他功能。pdn网关105连接到网络,例如,因特网。

电路交换系统包括交互解决方案模块(iws)108、移动交换中心(msc)109、基站110和移动站111。在一个方面,电路交换系统可以通过iws和mme(mobilitymanagemententity,移动管理实体)与eps(evolvedpacketsystem,演进的分组系统)进行通信。

移动终端100通过预设接口,如usb(universalserialbus,通用串行总线)数据线300与外接设备200通讯连接。

图2为本发明移动终端100和外接设备200通讯连接的实体示意图。

如图2所示,移动终端100通过usb数据线300与外接设备200通讯连接,其中,所述移动终端包括但不限于手机、pc(personalcomputer,个人电脑)或pad(personaldigitalassistant,个人数字助理),所述外接设备200可选为无线上网卡或数据卡。

图3为本发明移动终端100和外接设备200通讯连接的结构示意图。

本发明实施例的移动终端100通过usb数据线300与外接设备200通讯连接,基于移动终端100和外接设备200通讯连接的基础,移动终端100可支持双lte。具体地:

移动终端100包括第一处理芯片001,以及与所述第一处理芯片001连接的第一射频模块12,其中,第一处理芯片001包括第一应用处理器(applicationprocessor,用ap1表示)10、内嵌有虚拟用户识别卡11a且与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11(modem1)、rpm(resourcepowermanager,资源电源管理器)15,其中,虚拟用户识别卡11a包括存储模块和虚拟片内操作系统(virtualchipoperatingsystem,vcos),该存储模块可为efs(encryptingfilesystem,加密文件系统),存储模块用于存储虚拟用户识别卡11a的鉴权数据。所述第一用户识别卡13和第二用户识别卡14为sim(subscriberidentitymodule,用户识别模块)卡。

外接设备200包括第二处理芯片002,以及与所述第二处理芯片002连接的第二射频模块22,其中,第二处理芯片002包括第二应用处理器(用ap2表示)20、第二调制解调器(modem2)21。

第一应用处理器10和第二应用处理器20的内部框架包括应用层、框架层等,可处理复杂的逻辑操作以及进行任务分配等。在一个实施例中,应用处理器指android操作系统,以及基于android操作系统的各种apk(androidpackage,安卓安装包)。在本发明的实施例中,第一应用处理器10和第二应用处理器20通过usb数据线实现通讯连接,为用户提供交互接口,将用户输入的操作指令(例如,用户通过用户界面输入的有关启动视频通话的操作指令)传输给第一调制解调器11或第二调制解调器21,以实现两个应用处理器之间数据的定义与传递,例如,进行两个应用处理器的休眠、唤醒、同步的控制、开关机时芯片启动顺序的控制等。

应当理解的是,在本发明实施例中,usb数据线300复用出三条数据通道,分别用于第一应用处理器10和第二应用处理器20之间用户数据、控制信令数据和sim卡鉴权数据的交互,即第一应用处理器10和第二应用处理器20通过usb数据线300传输的数据包括上述三种数据。其中,用户数据包括上网产生的数据,图片和聊天信息数据;控制信令数据包括开关机的控制数据,开关飞行模式的控制数据,显示状态信号的控制数据;sim卡鉴权数据包括但不限于imsi(internationalmobilesubscriberidentificationnumber,国际移动用户识别码)、ki(keyidentifier,鉴权密钥)等等。

本实施例中,第一应用处理器10和第二应用处理器20通过otg(on-the-go)技术进行数据交互。通过otg技术,移动终端100中的第一调制解调器11可通过虚拟用户识别卡11a、第一用户识别卡13或第二用户识别卡14中的sim卡参数来接入enodeb101,外接设备200中的第二调制解调器21也可通过第二用户识别卡14、第一用户识别卡13或虚拟用户识别卡11a中的sim卡参数来接入enodeb101,所述sim卡参数包括但不限于sim卡鉴权数据。其中,usb接口的buffer存在于第一应用处理器10和第二应用处理器20的两端,用buffer1和buffer2表示。需要说明的是,buffer1和buffer2对应着同一个物理地址,通过该物理地址,可控制buffer1和buffer2容量值和状态的同步变化。

由于buffer1和buffer2对应着同一个物理地址,因此第一应用处理器10将提取的数据包缓存至buffer1时,数据包通过该uart发送至buffer2中缓存,第二应用处理器20在buffer2中检测到该数据包时,即可获取到该数据包,以实现数据包的传输。

第一调制解调器11和第二调制解调器21包含各种网络交互的网络制式的协议栈,协议栈包含lte(longtermevolution,长期演进)/wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)/gsm(globalsystemformobilecommunication,全球移动通信系统)/td-scdma(timedivision-synchronouscodedivisionmultipleaccess,同步时分码分多址)/cdma(codedivisionmultipleaccess,码分多址)/edge(enhanceddatarateforgsmevolution,强型数据速率gsm演进技术)等通讯标准里边规定的协议代码。移动终端100通过协议与运营商网络进行交互,即进行数据流量上网、volte(voiceoverlte)打电话或者cs(circuitswitched,电路交换)域打电话。第一调制解调器11和第二调制解调器21还用于对sim卡的管控等等。

在本发明实施例中,第一射频模块12用于将移动终端100传输的数据处理后传给enodeb101(基站网络),以及用于将enodeb101传输的数据处理后传给移动终端100。第二射频模块22用于将外接设备200传输的数据处理后传给enodeb101(基站网络),以及用于将enodeb101传输的数据处理后传给外接设备200。

第一射频模块12和第二射频模块22所涉及的无线接入技术可以包括lte、gsm、gprs(generalpacketradioservice,通用分组无线服务)、cdma、edge、wlan(wirelesslocalareanetworks,无线局域网)、cdma-2000、td-scdma、wcdma、wifi(wirelessfidelity,无线保真)等等。

移动终端100中的虚拟用户识别卡11a、第一用户识别卡13和第二用户识别卡14存储不同的无线通信标准相关联用户信息。应当理解,目前的移动终端只有一套射频,移动终端内部的两个用户识别卡使用该套射频是分时复用的关系,并不能同时占用。例如,在两张用户识别卡全开时,一张卡可以处理gsm通话,另一张卡只能处理4g网络信息,具体哪个用户识别卡执行何种网络,不做限定。因此目前的射频双卡分时复用这种架构仅做到了lte+gsm(即一张用户识别卡对应的技术标准为lte,另一张用户识别卡对应的技术标准为gsm)。

也就是说,现有的移动终端100虽然可以支持双用户识别卡,但是移动终端100在注册网络的情况下,两个用户识别卡支持的是不同技术标准的网络,一个支持2g或3g,另一个支持4g,会使得移动终端100使用过程中,上网流量速度较慢,因此本发明中,移动终端100通过usb数据线300连接外接设备200,由于外接设备200包括第二射频模块22,且第二射频模块22支持4g网络,因此,移动终端100可通过usb线300与外接设备200交互,从而使得移动终端100具备双lte功能。

在本实施例中,数据包传输系统包括移动终端100和外接设备200,移动终端100通过外接设备200具备双lte功能的实现过程可为:①第二用户识别卡14通过第二调制解调器21支持lte,具体过程为:第一调制解调器11将第二用户识别卡14中需要访问lte网络的数据发送给第一应用处理器10,第一应用处理器10将所接收的数据通过usb发送给外接设备200的第二应用处理器20,第二应用处理器20将所接收的数据发送给第二调制解调器21,由第二调制解调器21转发给第二射频模块22,第二射频模块22将所接收的数据通过lte网络发送出去;而第一用户识别卡13通过第一调制解调器11支持lte,以实现移动终端100可支持双lte。②第一用户识别卡13通过第二调制解调器21支持lte,具体过程为:第一应用处理器10将第一用户识别卡13中需要访问lte网络的数据通过usb发送给外接设备200的第二应用处理器20,第二应用处理器20将所接收的数据发送给第二调制解调器21,由第二调制解调器21转发给第二射频模块22,第二射频模块22将所接收的数据通过lte网络发送出去;而第二用户识别卡14通过第一调制解调器11支持lte,以实现移动终端100可支持双lte。当然,可用虚拟用户识别卡11a替代上述的第一用户识别卡13和第二用户识别卡14,具体不做赘述。

在本实施例中,虚拟用户识别卡11a、第一用户识别卡13和第二用户识别卡14用于提供移动通信业务(cs语音业务、ps数据业务和ps语音业务)所需的相关数据,并在其内部存储用户信息、短消息、执行鉴权算法和产生加密密匙等。

用户识别卡(虚拟用户识别卡11a、第一用户识别卡13和第二用户识别卡14)与移动终端100交互时,移动终端100检测该用户识别卡存在与否的信号只在开机瞬时产生,当开机检测不到用户识别卡存在时,移动终端100将提示“插入用户识别卡”。移动终端100开机之后,移动终端100和用户识别卡之间28秒通信一次,完成一些固定的通信检查(例如,用户识别卡是否在位等)。

在本发明的实施例中,虚拟用户识别卡11a、第一用户识别卡13和第二用户识别卡14承载信息,并且根据外界请求返回对应卡参数,以及对网络进行鉴权运算,第一射频模块12和第二射频模块22所涉及的无线接入技术为lte。例如,当移动终端100未通过usb与外接设备200连接时,第一用户识别卡13所对应的技术标准为gsm,用于进行语音通讯,第二用户识别卡14通过第一调制解调器11支持lte,用于通过4g网络进行数据访问。当移动终端100通过usb数据线300与外接设备200连接时,第一用户识别卡13可通过移动终端100中的第一调制解调器11支持lte,而第二用户识别卡14通过第二调制解调器21支持lte;或者,第一用户识别卡13可通过第二调制解调器21支持lte,而第二用户识别卡14通过第一调制解调器11支持lte,以实现移动终端100连接外接设备200情况下可支持双lte。

移动终端100中的rpm15用于管控各种资源,包括时钟资源、总线资源、pmic(powermanagementic,电源管理集成电路,即各个芯片的电压)、ddr(内存分配),以及管理芯片的休眠唤醒的中断和应用处理器唤醒的截止时间。移动终端100的各个子系统,在需要资源时,向rpm15申请资源,各个子系统分别包括第一应用处理器10,第一调制解调器11、pronto(wifi/蓝牙、nfc(nearfieldcommunication,近场通信)等)、lpass(lowpoweraudiosubsystem,低功耗音频子系统),rpm15用来决定移动终端100系统的休眠状态,具体是,rpm15基于各个子系统的投票机制实现,当各个子系统都投休眠票时,rpm15才可以使移动终端100整个系统进行休眠。

在移动终端100的整个系统休眠之后,若是要重新启动运行,需要唤醒第一应用处理器10以进行数据的传输交互。

在移动终端100和外接设备200通过usb数据线300通讯连接的情况下,唤醒方式包括三种:

1、第一应用处理器10接收到控制信令数据时,通过usb数据线300传送探测包给第二应用处理器20,以唤醒第二应用处理器20。

2、外接设备200的第二调制解调器21接收到用户数据时,唤醒第二应用处理器20,由第二应用处理器20通过usb数据线300传送探测包给第一应用处理器10,以唤醒第一应用处理器10。

3、第二调制解调器21周期性查找寻呼请求,以主动激活自己,若接收到寻呼请求,唤醒第二应用处理器20,由第二应用处理器20通过usb数据线300发送探测包给第一应用处理器10,以唤醒第二应用处理器20。

此外,第二调制解调器21还可以定期唤醒自己,以在移动终端100进行位置更新时,跟基站进行握手交互,此时不需要唤醒第一应用处理器10。

需要说明的是,传输的数据包为用户数据、控制信令数据或用户识别卡数据即sim卡数据时,三种数据都在应用处理器之间传输。

本实施例中,sim卡包括移动卡、联通卡和电信卡,其中,移动卡和联通卡是指采用3gpp标准协议进行通讯的电话卡,3gpp标准协议规定了电话卡传输数据包的容量不能超出一定值,该值设置为512个字节;而电信卡是指采用3gpp2标准协议的电话卡,gpp2标准协议对电信卡传输的数据包的容量未做限制,电信卡传输的数据包的容量一般会超出512字节。其中,移动卡是由中国移动(运营商)向用户提供的sim卡,联通卡是由中国联通(运营商)向用户提供的sim卡,电信卡是由中国电信(运营商)向用户提供的sim卡。

由于现有的buffer的容量一般都不超过512个字节。因此,当移动终端100中的虚拟用户识别卡11a、第一用户识别卡13和第二用户识别卡14都是移动卡或者是联通卡时,由于移动卡或者是联通卡收发数据包的数据容量小于512个字节的,因此,第一应用处理器10接收到数据包获取请求时,从虚拟用户识别卡11a、第一用户识别卡13和第二用户识别卡14获取到的数据包也是小于512个字节,相应的,存储到buffer的数据包也是小于512个字节的,因此,数据包可完整的存储到buffer中,后续,第二应用处理器20也可以取出一个完整的数据包。

但是,由于电信卡一般大于512字节,因此,在第一应用处理器10和第二应用处理器20的数据交互过程中,若是第一应用处理器10中连接的是电信卡,会出现这样的情况:

以图3为例,在虚拟用户识别卡11a、第一用户识别卡13和第二用户识别卡14为电信卡的情况下,移动终端100第一应用处理器10通过第一调制解调器11从虚拟用户识别卡11a、第一用户识别卡13中或第二用户识别卡14提取出一个数据包,由于该数据包大于512字节,而buffer一次性只能缓存不超过512字节的数据包,这种情况下,会由于无法转发大数据包导致移动终端的系统死机。

基于上述lte网络的架构图、以及移动终端100和外接设备200通讯连接的结构示意图,提出本发明的各个实施例。

参照图3,本实施例提出一种数据包传输系统,所述数据包传输系统包括移动终端100,以及通过预设接口与所述移动终端100连接的外接设备200,所述移动终端100包括第一应用处理器10、内嵌有虚拟用户识别卡11a的第一调制解调器11、第一射频模块12,以及与所述第一调制解调器11连接的第一用户识别卡13和第二用户识别卡14,所述外接设备200包括第二应用处理器20、第二调制解调器21和第二射频模块22;

第一应用处理器10,用于通过预设接口接收第二应用处理器20发送的数据包获取请求时,从虚拟用户识别卡11a中提取所述数据包获取请求对应的数据包;

对提取的数据包进行拆分,并对同一个数据包拆分后的各个子数据包添加相同的标识信息;

将添加有标识信息的各个子数据包缓存至所述预设接口的临时缓冲区buffer中,以供第二应用处理器20从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合。

在本实施例中,所述第一应用处理器10通过预设接口接收第二应用处理器20发送的数据包获取请求,后续也是通过所述预设接口将数据包反馈至所述第二应用处理器20。所述预设接口为usb接口。

其中,当第二处理芯片002的第二调制解调器21通过第二射频模块22接收到基站发送的数据包获取请求时,将数据包获取请求发送至第二处理芯片002的第二应用处理器20中,当第二应用处理器20接收到数据包获取请求时,先通过usb数据线300将数据包获取请求传送至移动终端100的第一应用处理器10中;第一应用处理器10接收到该数据包获取请求时,将数据包获取请求传送至移动终端100的第一调制解调器11中,由第一调制解调器11根据该数据包获取请求从虚拟用户识别卡11a中获取数据包;第一调制解调器11获取到数据包之后,将数据包传输至第一应用处理器10中;第一应用处理器10获取到数据包之后,为了保证传输的数据包不会大于usb的buffer的容量值,先对获取的数据包进行拆分,得到拆分后的各个子数据包,为了防止后续转发的数据包不完整,所述应用处理器10对同一个数据包拆分后的各个子数据包添加相同的标识信息;再将添加有标识信息的各个子数据包缓存至usb的buffer中,以传送至第二应用处理器20;第二应用处理器20从buffer中提取出各个子数据包,再按照相同的标识信息进行子数据包的组合,以得到完整的数据包,最终通过第二射频模块22将组合的数据包上传至基站,以完成数据包的传输。

本实施例中,第一应用处理器不限于从第一调制解调器内嵌的虚拟用户识别卡11a中获取数据包,当然,也可根据实际需要在第一用户识别卡13或第二用户识别卡14中获取数据包,第一应用处理器在虚拟用户识别卡11a、第一用户识别卡13或第二用户识别卡14中获取数据包的方式一致,下文为了简述,仅以在虚拟用户识别卡中获取数据包为例,其它两种不再赘述。

具体地,所述第一应用处理器10,还用于通过所述第一调制解调器11向虚拟用户识别卡11a中的片内操作系统发送数据包获取请求,由所述片内操作系统在虚拟用户识别卡11a中的文件存储模块中提取所述数据包获取请求对应的数据包,并反馈至所述第一调制解调器11;

所述第一应用处理器10,还用于通过所述第一调制解调器11接收所述片内操作系统反馈的数据包。

在本实施例中,需要说明的是,虚拟用户识别卡11a中的数据包存储在文件存储模块中,当第一调制解调器11要获取虚拟用户识别卡11a中的数据包时,第一调制解调器11不会直接与虚拟用户识别卡11a中的文件存储模块交互,而是先向虚拟用户识别卡11a中的cos(chipoperatingsystem,片内操作系统)操作系统发送数据包获取请求即request,然后虚拟用户识别卡11a的cos操作系统基于该request在文件存储模块中获取数据包,然后将获取的数据包再传输给第一调制解调器11,第一调制解调器11只要接收cos操作系统反馈的数据包即可,后续第一应用处理器10在第一调制解调器11中获取数据包即可实现数据包的获取过程。

可以理解,由于第一调制解调器11无法在虚拟用户识别卡11a中的文件存储模块直接提取数据包,因此通过与虚拟用户识别卡11a的cos操作系统进行交互,以实现数据包的提取,保证后续的数据传输过程正常运行。

当第一应用处理器10从虚拟用户识别卡11a中提取出数据包获取请求对应的数据包之后,再对提取的数据包进行拆分,本实施例中,所述第一应用处理器10对数据包进行拆分的方式,可选为:对数据包进行解析,以得到数据包对应的数据,然后按照预设容量值对数据进行分解,以将数据拆分成多个所述预设容量值的数据段,再将拆分后的各个数据段进行封包操作,以得到各个子数据包。其中,所述预设容量值可设置为512字节,在其它实施例中,也可设置为其它值,只要保证后续各个子数据包的容量值小于512字节即可,此处不做限定。

第一应用处理器10对数据包进行拆分以得到各个子数据包之后,即可对数据包拆分后的各个子数据包添加相同的标识信息,最终将添加有标识信息的各个子数据包缓存至usb的buffer中,以供第二应用处理器20从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合,以完成数据包的传输。

本实施例中需要说明的是,buffer存在于usb接口的两端,即usb接口的两端分别设置有buffer1和buffer2。当第二应用处理器20将数据包获取请求通过usb接口发送给第一应用处理器10时,第一应用处理器10通过第一调制解调器11从虚拟用户识别卡11a提取出数据包之后,先将提取的数据包存储到buffer1中,以通过usb传输至buffer2中,第二应用处理器20再从buffer2中获取数据包。

本实施例提出的数据包传输系统,第一应用处理器通过预设接口接收第二应用处理器发送的数据包获取请求时,先从虚拟用户识别卡中提取所述数据包获取请求对应的数据包,然后对提取的数据包进行拆分,并对同一个数据包拆分后的各个子数据包添加相同的标识信息,再将添加有标识信息的各个子数据包缓存至所述预设接口的buffer中,以供第二应用处理器从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合,以完成数据包的传输。本方案在传输数据包时,先对待传输的数据包进行拆分,再将拆分后的各个子数据包添加相同的标识信息后进行传输,使得传输的数据包的容量值有所减小,后续对端接收到各个子数据包之后按照相同的标识信息进行重组即可,避免了数据传输过程中移动终端死机的情况。

进一步地,基于第一实施例提出本发明数据包传输系统第二实施例。

数据包传输系统第二实施例与数据包传输系统第一实施例的区别在于,

所述第一应用处理器10,还用于对确定数据包的容量值;

在有数据包的容量值大于预设阈值时,对所述数据包进行拆分,得到各个子数据包;

在各个子数据包对应的包头中添加相同的标识信息。

在本实施例中,当第二应用处理器20向第一应用处理器10发送数据包获取请求(request)时,若虚拟用户识别卡11a为电信卡,且第一调制解调器11从所述虚拟用户识别卡11a中提取的数据包大于预设阈值如512字节,所述第一应用处理器10可确定数据包的容量值大于预设阈值,此时由于buffer一次性只能缓存不超过512字节的数据包,因此第一应用处理器10需要先将提取的数据包进行拆分,以拆分成多个子数据包,然后再将多个子数据包存储到buffer中进行转发。

在本实施例中,第一应用处理器10提取的数据包可以为一个或多个,在提取的数据包包括多个时,所述第一应用处理器10可同时对多个数据包进行拆分,或者按照各个数据包的提取顺序进行拆分,先提取的先拆分。

具体地,所述第一应用处理器10拆分数据包时,先在拆分后的各个子数据包的包头中添加相同的标识信息,该标识信息优选是第一应用处理器10拆分数据包时根据拆分后的数据包执行封包操作所添加的,封包就是给一段数据加上包头,这样一来数据包就分为包头和包体两部分内容。

本实施例中需要说明的是,包头实际上是大小固定的结构体,其中有个结构体成员变量包括拆分后子包体的长度,以及我们定义的拆分标识信息flag,可以理解,由一个大包拆分出的多个子包具有相同的flag标识,该flag标识的具体标识信息不限于包名或者预设字段信息,可根据实际情况设置,此处不做限定。第一应用处理器10执行完封包操作后,再将添加有相同标识信息的数据包依次存储到buffer中。

为更好理解,举例如下:当前连着要传输三个电信卡的数据包,第一个大数据包拆分成各个子数据包后,将flag都标识都设置为0xf9f9,第二个大数据包拆分成各个子数据包后,将flag标识都设置为0x9f9f,第三个大数据包拆分成各个子数据包后,将各个子包的flag标识都设置为0xf9f9,这样三个数据包标识就可以区分开来,后续接收端即第二应用处理器20即可将flag标识相同的各个子数据包进行归类并重组成三个大数据包。

本实施例中,在确定数据包的容量值大于预设阈值时,才执行拆分操作,防止数据包小于预设阈值时也进行拆分操作造成系统资源的浪费,而在对数据包进行拆分操作后,将同一个数据包拆分后的各个子数据包添加相同的标识信息,后续对端可根据相同的标识信息进行重组,防止转发的数据包不完整,提高了数据包转发准确性。

进一步地,基于第一实施例提出本发明数据包传输系统第三实施例。

数据包传输系统第三实施例与数据包传输系统第一实施例的区别在于,

在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器10,还用于将不同标识信息的各个子数据包按照预设的顺序缓存至所述预设接口的buffer中。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,此时,所述第一应用处理器10可将不同标识信息的各个子数据包按照预设顺序缓存至所述预设接口的buffer中。本实施例中,所述随机顺序优先与各个子数据包的生成顺序一致,即在第一应用处理器10根据数据包拆分出一个子数据包,并对子数据包添加有标识信息之后,即可将该子数据包缓存至usb接口的buffer中。

应当理解的是,若当前提出的数据包包括多个数据包,那么拆分得到的子数据包也包括多个,并且不同数据包拆分后的子数据对应的标识信息不同,因此,当拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器10可将不同标识信息的各个子数据包按照子数据包的生成顺序依次缓存至所述usb接口的buffer中。后续,所述第二应用处理器20从所述buffer中提取各个子数据包后,按照相同的标识信息进行子数据包的组合的方式为:第二应用处理器20从buffer中提取出各个子数据包,将提取的各个子数据包存储至预设空间,然后在buffer中的各个子数据包提取完成后,依次识别提取的各个子数据包的标识信息,以将标识信息相同的子数据包合成一个大数据包。

为更好理解本实施例,举例如下:

第一应用处理器10基于数据包获取请求提取出x、y、z三个数据包时,对每个数据包进行拆分,以得到每个数据包对应的多个子数据包,如x数据包对应x1、x2、和x3,y数据包对应y1、y2、和y3,z数据包对应z1、z2、和z3,此时,若各个子数据包的生成顺序依次是x1、z1、x2、y1……,那么,缓存到buffer的各个子数据包是就按照x1、z1、x2、y1的顺序依次存储。这种情况下,当第二应用处理器20从buffer中提取子数据包时,先将提取的各个子数据包预存起来,在提取完成后,依次识别提取的各个子数据包的标识信息,再将标识信息相同的子数据包合成一个大数据包,并通过第二射频模块23将合成后的大数据包上传至基站。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,将不同标识信息的各个子数据包按照预设顺序缓存至所述预设接口的buffer中,不需要非得同一个数据包拆分后的各个子数据包齐全之后,再全部缓存至usb接口的buffer中,而是先拆分出的子数据包先缓存,提高了数据包传输的灵活性。

进一步地,基于第三实施例提出本发明数据包传输系统第四实施例。

数据包传输系统第四实施例与数据包传输系统第三实施例的区别在于,

在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器10,还用于将相同标识信息的各个子数据包归为一类;

按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器10可先将相同标识信息的各个子数据包归为一类,然后按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中。本实施例中,类别的顺序优选为先归为一类的顺序,也就是说,即使第一应用处理器10提取的数据包包括多个数据包,并且对每个数据包拆分后得到对应的各个子数据包,所述第一应用处理器10还是可以先将相同标识信息的各个子数据包归为一类,然后将按照类别的顺序,将同一类的各个子数据包依次缓存至所述预设接口的buffer中,即将先归为一类的子数据包缓存至所述预设接口的buffer中,最终完成所有类别的子数据包的缓存。

后续,所述第二应用处理器20从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合的方式包括:第二应用处理器20从buffer中提取出子数据包,依次识别各个子数据包的标识信息,在识别到有新的子数据包与上一个子数据包的标识信息相同时,将该当前识别的子数据包与上一个子数据包归为一类,并继续识别下一个子数据包,直达识别到的子数据包与上一个子数据包的标识信息不同时,将之前标识信息相同的各个子数据包合成一个大数据包。

为更好理解本实施例,举例如下:

第一应用处理器10基于数据包获取请求提取出x、y、z三个数据包时,对每个数据包进行拆分,以得到每个数据包对应的多个子数据包,如x数据包对应x1、x2、和x3,y数据包对应y1、y2、和y3,z数据包对应z1、z2、和z3,此时,将x1、x2、和x3归为一类,然后确定三类数据包哪类先拆分完成,若此时x类先拆分完成,即可将x1、x2、和x3依次缓存至所述usb的buffer中。后续,所述第二应用处理器20从所述buffer中提取各个子数据包之后,将x1、x2、和x3归为一类,并继续识别下一个子数据包,若识别到下一个是y1,则将之前x1、x2、和x3的各个子数据包合成一个大数据包。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,将相同标识信息的各个子数据包归为一类,最终按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中,使得子数据包的传输,是按照顺序缓存传输的,防止子数据包出现遗漏的情况,提高了数据包传输的准确性。

综上所述,本发明实施例中,在移动终端100中的电信卡传输的数据包较大时,第一应用处理器10对数据包进行拆分,以改变数据包的期望值,后续缓存到buffer的数据包就不会超出buffer的容量值,那么,避免了大数据包传输导致死机的问题,同时对拆分成多个子数据包添加相同的标识信息,第二应用处理器20可根据标识信息进行重组,使得后续转发的数据包是完整的数据包,避免了数据包转发不完整的情况。

本发明进一步提供一种数据包传输方法。

参照图4,图4为本发明数据包传输方法第一实施例的流程示意图。

本实施例提出一种数据包传输方法,在本实施例中,提供了数据包传输方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明中,数据包传输方法应用于通过预设接口与外接设备200连接的移动终端100,所述移动终端100包括第一应用处理器10、内嵌有虚拟用户识别卡11a的第一调制解调器11、第一射频模块12,以及与所述第一调制解调器11连接的第一用户识别卡13和第二用户识别卡14,所述外接设备200包括第二应用处理器20、第二调制解调器21和第二射频模块22,所述方法包括:

步骤s10,第一应用处理器通过预设接口接收第二应用处理器发送的数据包获取请求时,从虚拟用户识别卡中提取所述数据包获取请求对应的数据包;

步骤s20,对提取的数据包进行拆分,并对同一个数据包拆分后的各个子数据包添加相同的标识信息;

步骤s30,将添加有标识信息的各个子数据包缓存至所述预设接口的buffer中,以供第二应用处理器从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合。

在本实施例中,所述第一应用处理器10通过预设接口接收第二应用处理器20发送的数据包获取请求,后续也是通过所述预设接口将数据包反馈至所述第二应用处理器20。所述预设接口为usb接口。

其中,当第二处理芯片002的第二调制解调器21通过第二射频模块22接收到基站发送的数据包获取请求时,将数据包获取请求发送至第二处理芯片002的第二应用处理器20中,当第二应用处理器20接收到数据包获取请求时,先通过usb数据线300将数据包获取请求传送至移动终端100的第一应用处理器10中;第一应用处理器10接收到该数据包获取请求时,将数据包获取请求传送至移动终端100的第一调制解调器11中,由第一调制解调器11根据该数据包获取请求从虚拟用户识别卡11a中获取数据包;第一调制解调器11获取到数据包之后,将数据包传输至第一应用处理器10中;第一应用处理器10获取到数据包之后,为了保证传输的数据包不会大于usb的buffer的容量值,先对获取的数据包进行拆分,得到拆分后的各个子数据包,为了防止后续转发的数据包不完整,所述应用处理器10对同一个数据包拆分后的各个子数据包添加相同的标识信息;再将添加有标识信息的各个子数据包缓存至usb的buffer中,以传送至第二应用处理器20;第二应用处理器20从buffer中提取出各个子数据包,再按照相同的标识信息进行子数据包的组合,以得到完整的数据包,最终通过第二射频模块22将组合的数据包上传至基站,以完成数据包的传输。

本实施例中,第一应用处理器不限于从第一调制解调器内嵌的虚拟用户识别卡中获取数据包,当然,也可根据实际需要在第一用户识别卡或第二用户识别卡中获取数据包,第一应用处理器在虚拟用户识别卡、第一用户识别卡或第二用户识别卡中获取数据包的方式一致,下文为了简述,仅以在虚拟用户识别卡中获取数据包为例,其它两种不再赘述。

具体地,参照图5,所述步骤s10包括:

步骤s11,所述第一应用处理器通过所述第一调制解调器向虚拟用户识别卡中的片内操作系统发送数据包获取请求,由所述片内操作系统在虚拟用户识别卡中的文件存储模块中提取所述数据包获取请求对应的数据包,并反馈至所述第一调制解调器;

步骤s12,所述第一应用处理器通过所述第一调制解调器接收所述片内操作系统反馈的数据包。

在本实施例中,需要说明的是,虚拟用户识别卡11a中的数据包存储在文件存储模块中,当第一调制解调器11要获取虚拟用户识别卡11a中的数据包时,第一调制解调器11不会直接与虚拟用户识别卡11a中的文件存储模块交互,而是先向虚拟用户识别卡11a中的cos(chipoperatingsystem,片内操作系统)操作系统发送数据包获取请求即request,然后虚拟用户识别卡11a的cos操作系统基于该request在文件存储模块中获取数据包,然后将获取的数据包再传输给第一调制解调器11,第一调制解调器11只要接收cos操作系统反馈的数据包即可,后续第一应用处理器10在第一调制解调器11中获取数据包即可实现数据包的获取过程。

可以理解,由于第一调制解调器11无法在虚拟用户识别卡11a中的文件存储模块直接提取数据包,因此通过与虚拟用户识别卡11a的cos操作系统进行交互,以实现数据包的提取,保证后续的数据传输过程正常运行。

当第一应用处理器10从虚拟用户识别卡11a中提取出数据包获取请求对应的数据包之后,再对提取的数据包进行拆分,本实施例中,所述第一应用处理器10对数据包进行拆分的方式,可选为:对数据包进行解析,以得到数据包对应的数据,然后按照预设容量值对数据进行分解,以将数据拆分成多个所述预设容量值的数据段,再将拆分后的各个数据段进行封包操作,以得到各个子数据包。其中,所述预设容量值可设置为512字节,在其它实施例中,也可设置为其它值,只要保证后续各个子数据包的容量值小于512字节即可,此处不做限定。

第一应用处理器10对数据包进行拆分以得到各个子数据包之后,即可对数据包拆分后的各个子数据包添加相同的标识信息,最终将添加有标识信息的各个子数据包缓存至usb的buffer中,以供第二应用处理器20从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合,以完成数据包的传输。

本实施例中需要说明的是,buffer存在于usb接口的两端,即usb接口的两端分别设置有buffer1和buffer2。当第二应用处理器20将数据包获取请求通过usb接口发送给第一应用处理器10时,第一应用处理器10通过第一调制解调器11从虚拟用户识别卡11a提取出数据包之后,先将提取的数据包存储到buffer1中,以通过usb传输至第二应用处理器20的buffer2中,第二应用处理器20再从buffer2中获取数据包。

本实施例提出的数据包传输方法,第一应用处理器通过预设接口接收第二应用处理器发送的数据包获取请求时,先从虚拟用户识别卡中提取所述数据包获取请求对应的数据包,然后对提取的数据包进行拆分,并对同一个数据包拆分后的各个子数据包添加相同的标识信息,再将添加有标识信息的各个子数据包缓存至所述预设接口的buffer中,以供第二应用处理器从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合,以完成数据包的传输。本方案在传输数据包时,先对待传输的数据包进行拆分,再将拆分后的各个子数据包添加相同的标识信息后进行传输,使得传输的数据包的容量值有所减小,后续对端接收到各个子数据包之后按照相同的标识信息进行重组即可,避免了数据传输过程中移动终端死机的情况。

进一步地,基于第一实施例提出本发明数据包传输方法第二实施例。

数据包传输方法第二实施例与数据包传输方法第一实施例的区别在于,所述步骤s10包括:

步骤a、第一应用处理器确定数据包的容量值;

步骤b、在有数据包的容量值大于预设阈值时,对所述数据包进行拆分,得到各个子数据包;

步骤c、在各个子数据包对应的包头中添加相同的标识信息。

在本实施例中,当第二应用处理器20向第一应用处理器10发送数据包获取请求(request)时,若虚拟用户识别卡11a为电信卡,且第一调制解调器11从所述虚拟用户识别卡11a中提取的数据包大于预设阈值如512字节,所述第一应用处理器10可确定数据包的容量值大于预设阈值,此时由于buffer一次性只能缓存不超过512字节的数据包,因此第一应用处理器10需要先将提取的数据包进行拆分,以拆分成多个子数据包,然后再将多个子数据包存储到buffer中进行转发。

在本实施例中,第一应用处理器10提取的数据包可以为一个或多个,在提取的数据包包括多个时,所述第一应用处理器10可同时对多个数据包进行拆分,或者按照各个数据包的提取顺序进行拆分,先提取的先拆分。

具体地,所述第一应用处理器10拆分数据包时,先在拆分后的各个子数据包的包头中添加相同的标识信息,该标识信息优选是第一应用处理器10拆分数据包时根据拆分后的数据包执行封包操作所添加的,封包就是给一段数据加上包头,这样一来数据包就分为包头和包体两部分内容。

本实施例中需要说明的是,包头实际上是大小固定的结构体,其中有个结构体成员变量包括拆分后子包体的长度,以及我们定义的拆分标识信息flag,可以理解,由一个大包拆分出的多个子包具有相同的flag标识,该flag标识的具体标识信息不限于包名或者预设字段信息,可根据实际情况设置,此处不做限定。第一应用处理器10执行完封包操作后,再将添加有相同标识信息的数据包依次存储到buffer中。

为更好理解,举例如下:当前连着要传输三个电信卡的数据包,第一个大数据包拆分成各个子数据包后,将flag都标识都设置为0xf9f9,第二个大数据包拆分成各个子数据包后,将flag标识都设置为0x9f9f,第三个大数据包拆分成各个子数据包后,将各个子包的flag标识都设置为0xf9f9,这样三个数据包标识就可以区分开来,后续接收端即第二应用处理器20即可将flag标识相同的各个子数据包进行归类并重组成三个大数据包。

本实施例中,在确定数据包的容量值大于预设阈值时,才执行拆分操作,防止数据包小于预设阈值时也进行拆分操作造成系统资源的浪费,而在对数据包进行拆分操作后,将同一个数据包拆分后的各个子数据包添加相同的标识信息,后续对端可根据相同的标识信息进行重组,防止转发的数据包不完整,提高了数据包转发准确性。

进一步地,基于第一实施例提出本发明数据包传输方法第三实施例。

数据包传输方法第三实施例与数据包传输方法第一实施例的区别在于,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述步骤s30包括:

所述第一应用处理器将不同标识信息的各个子数据包按照预设的顺序缓存至所述预设接口的buffer中。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,此时,所述第一应用处理器10可将不同标识信息的各个子数据包按照预设顺序缓存至所述预设接口的buffer中。本实施例中,所述随机顺序优先与各个子数据包的生成顺序一致,即在第一应用处理器10根据数据包拆分出一个子数据包,并对子数据包添加有标识信息之后,即可将该子数据包缓存至usb接口的buffer中。

应当理解的是,若当前提出的数据包包括多个数据包,那么拆分得到的子数据包也包括多个,并且不同数据包拆分后的子数据对应的标识信息不同,因此,当拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器10可将不同标识信息的各个子数据包按照子数据包的生成顺序依次缓存至所述usb接口的buffer中。后续,所述第二应用处理器20从所述buffer中提取各个子数据包后,按照相同的标识信息进行子数据包的组合的方式为:第二应用处理器20从buffer中提取出各个子数据包,将提取的各个子数据包存储至预设空间,然后在buffer中的各个子数据包提取完成后,依次识别提取的各个子数据包的标识信息,以将标识信息相同的子数据包合成一个大数据包。

为更好理解本实施例,举例如下:

第一应用处理器10基于数据包获取请求提取出x、y、z三个数据包时,对每个数据包进行拆分,以得到每个数据包对应的多个子数据包,如x数据包对应x1、x2、和x3,y数据包对应y1、y2、和y3,z数据包对应z1、z2、和z3,此时,若各个子数据包的生成顺序依次是x1、z1、x2、y1……,那么,缓存到buffer的各个子数据包是就按照x1、z1、x2、y1的顺序依次存储。这种情况下,当第二应用处理器20从buffer中提取子数据包时,先将提取的各个子数据包预存起来,在提取完成后,依次识别提取的各个子数据包的标识信息,再将标识信息相同的子数据包合成一个大数据包,并通过第二射频模块23将合成后的大数据包上传至基站。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,将不同标识信息的各个子数据包按照预设顺序缓存至所述预设接口的buffer中,不需要非得同一个数据包拆分后的各个子数据包齐全之后,再全部缓存至usb接口的buffer中,而是先拆分出的子数据包先缓存,提高了数据包传输的灵活性。

进一步地,基于第三实施例提出本发明数据包传输方法第四实施例。

数据包传输方法第四实施例与数据包传输方法第三实施例的区别在于,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述步骤s30包括:

所述第一应用处理器将相同标识信息的各个子数据包归为一类;

按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一应用处理器10可先将相同标识信息的各个子数据包归为一类,然后按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中。本实施例中,类别的顺序优选为先归为一类的顺序,也就是说,即使第一应用处理器10提取的数据包包括多个数据包,并且对每个数据包拆分后得到对应的各个子数据包,所述第一应用处理器10还是可以先将相同标识信息的各个子数据包归为一类,然后将按照类别的顺序,将同一类的各个子数据包依次缓存至所述预设接口的buffer中,即将先归为一类的子数据包缓存至所述预设接口的buffer中,最终完成所有类别的子数据包的缓存。

后续,所述第二应用处理器20从所述buffer中提取各个子数据包,并按照相同的标识信息进行子数据包的组合的方式包括:第二应用处理器20从buffer中提取出子数据包,依次识别各个子数据包的标识信息,在识别到有新的子数据包与上一个子数据包的标识信息相同时,将该当前识别的子数据包与上一个子数据包归为一类,并继续识别下一个子数据包,直达识别到的子数据包与上一个子数据包的标识信息不同时,将之前标识信息相同的各个子数据包合成一个大数据包。

为更好理解本实施例,举例如下:

第一应用处理器10基于数据包获取请求提取出x、y、z三个数据包时,对每个数据包进行拆分,以得到每个数据包对应的多个子数据包,如x数据包对应x1、x2、和x3,y数据包对应y1、y2、和y3,z数据包对应z1、z2、和z3,此时,将x1、x2、和x3归为一类,然后确定三类数据包哪类先拆分完成,若此时x类先拆分完成,即可将x1、x2、和x3依次缓存至所述usb的buffer中。后续,所述第二应用处理器20从所述buffer中提取各个子数据包之后,将x1、x2、和x3归为一类,并继续识别下一个子数据包,若识别到下一个是y1,则将之前x1、x2、和x3的各个子数据包合成一个大数据包。

在本实施例中,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,将相同标识信息的各个子数据包归为一类,最终按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中,使得子数据包的传输,是按照顺序缓存传输的,防止子数据包出现遗漏的情况,提高了数据包传输的准确性。

综上所述,本发明实施例中,在移动终端100中的电信卡传输的数据包较大时,第一应用处理器10对数据包进行拆分,以改变数据包的期望值,后续缓存到buffer的数据包就不会超出buffer的容量值,那么,避免了大数据包传输导致死机的问题,同时对拆分成多个子数据包添加相同的标识信息,第二应用处理器20可根据标识信息进行重组,使得后续转发的数据包是完整的数据包,避免了数据包转发不完整的情况。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1