移动终端及数据包传输方法与流程

文档序号:11181238阅读:593来源:国知局
移动终端及数据包传输方法与流程

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



背景技术:

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

因此,为了使移动终端可以支持双lte,以提高数据传输效率,移动终端可内置两个处理芯片,每个处理芯片对应一个调制解调器,以使移动终端的两张sim卡连接不同的调制解调器,从而实现双lte通信功能。但是,当移动终端中的用户识别卡是电信卡时,由于电信卡一般都大于调制解调器之间数据传输的临时缓冲区buffer的容量值,因此buffer无法缓存一个完整的数据包,若是直接进行数据传输,容易导致移动终端死机。



技术实现要素:

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

为实现上述目的,本发明提供的一种移动终端,所述移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与所述第一处理芯片连接的第一射频模块、以及与所述第二处理芯片连接的第二射频模块,所述第一处理芯片包括第一应用处理器以及与第一用户识别卡和第二用户识别卡连接的第一调制解调器,所述第二处理芯片包括第二应用处理器和第二调制解调器;

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

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

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

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

可选地,所述第一调制解调器,还用于确定数据包的容量值;在有数据包的容量值大于预设阈值时,对所述数据包进行拆分,得到各个子数据包;在各个子数据包对应的包头中添加相同的标识信息。

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

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

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

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

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

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

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

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

所述第一调制解调器接收所述片内操作系统反馈的数据包。

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

所述第一调制解调器确定数据包的容量值;

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

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

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

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

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

所述第一调制解调器将相同标识信息的各个子数据包归为一类;

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

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

附图说明

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

图2为本发明实施例中移动终端的一种硬件结构示意图;

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

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

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

具体实施方式

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

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

图1是本发明一实施例的lte网络架构的示意图。本发明一实施例的lte网络架构包括:一个或多个移动终端(userequipment,ue)100、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,演进的分组系统)进行通信。

图2为本发明实施例中移动终端100的一种硬件结构示意图。

在本发明实施例中,移动终端100包括第一处理芯片001和第二处理芯片002,与所述第一处理芯片001连接的第一射频模块12、以及与所述第二处理芯片002连接的第二射频模块22。其中,第一处理芯片001和第二处理芯片002通过预设接口连接。所述预设接口包括第一预设接口和第二预设接口。第一处理芯片001包括第一应用处理器(applicationprocessor,用ap1表示)10、与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11(modem1)、rpm(resourcepowermanager,资源电源管理器)15。第二处理芯片002包括第二应用处理器20和第二调制解调器(modem2)21。用户识别卡(第一用户识别卡13和第二用户识别卡14)为sim(subscriberidentitymodule,用户识别模块)卡。

第一应用处理器10和第二应用处理器20的内部框架包括应用层、框架层等,可处理复杂的逻辑操作以及进行任务分配等。在本发明实施例中,应用处理器指android操作系统,以及基于android操作系统的各种apk(androidpackage,安卓安装包)。

在本发明的实施例中,第一应用处理器10和第二应用处理器20通过第一预设接口实现连接,为用户提供交互接口,将用户输入的操作指令(例如,用户通过用户界面输入的有关启动视频通话的操作指令)传输给第一调制解调器11或第二调制解调器21,以实现两个应用处理器之间数据的定义与传递,例如,进行两个应用处理器的休眠、唤醒、同步的控制、开关机时芯片启动顺序的控制等。其中,第一预设接口为usb(universalserialbus,通用串行总线)。应当理解的是,在本发明实施例中,usb数据线复用出两条数据通道,分别用于第一应用处理器10和第二应用处理器20之间用户数据和控制信令数据的交互,即第一应用处理器10和第二应用处理器20通过usb数据线传输的数据包括上述两种数据。其中,用户数据包括上网产生的数据,图片和聊天信息数据;控制信令数据包括开关机的控制数据,开关飞行模式的控制数据,显示状态信号的控制数据。

本实施例中,第一应用处理器10和第二应用处理器20通过otg(on-the-go)技术进行数据交互。通过otg技术,移动终端100中的第一调制解调器11可通过第一用户识别卡13中的sim卡参数来接入enodeb101,第二调制解调器21可通过第二用户识别卡14中的sim卡参数来接入enodeb101;或者第一调制解调器11通过第二用户识别卡14中的sim卡参数来接入enodeb101,第二调制解调器21通过第一用户识别卡13中的sim卡参数来接入enodeb101。sim卡参数包括但不限于sim卡鉴权数据。

第一调制解调器11和第二调制解调器21通过第二预设接口连接。在本发明实施例中,第二预设接口为uart(universalasynchronousreceiver/transmitter,通用异步收发传输器)。uart用于第一调制解调器11和第二调制解调器21之间sim卡参数的传输。其中,uart接口的buffer存在于第一调制解调器11和第二调制解调器21的两端,用buffer1和buffer2表示。需要说明的是,buffer1和buffer2对应着同一个物理地址,通过该物理地址,可控制buffer1和buffer2容量值和状态的同步变化。

具体地:第二调制解调器21通过第二射频模块22接收到基站发送的sim卡数据获取请求时,将数据获取请求传送至第一调制解调器11中,由第一调制解调器11反馈响应的sim卡数据。

其中,所述sim卡数据获取请求的触发方式包括两种:

a、第二调制解调器21主动注册lte网络,以触发sim卡数据获取请求;

b、基站侧需要鉴权用户是否合法,将鉴权请求发给第二调制解调器21,由第二调制解调器21主动发sim卡数据获取请求。

第二调制解调器21通过第二射频模块22接收到基站发送的sim卡数据获取请求时,通过uart将数据获取请求传送至第一调制解调器11中,由第一调制解调器11根据数据获取请求从第一用户识别卡13或第二用户识别卡14获取数据,下文以第一调制解调器11根据数据获取请求从第一用户识别卡13中获取数据为例进行详述。

需要理解的是,第一用户识别卡13中包括有cos(chipoperatingsystem,片内操作系统)操作系统和存储模块,其中,所述cos操作系统作为存储模块的文件代理,根据所述第一调制解调器11发送的数据获取请求从所述存储模块中提取数据,所述存储模块用来存储数据。即,本发明实施例中,第一调制解调器11是无法与第一用户识别卡13内部的存储模块进行交互以获取数据,只能通过cos操作系统进行获取。因此,当所述第一调制解调器11将数据获取请求发送至第一用户识别卡13时,第一用户识别卡13内部的cos操作系统解析出所述数据获取请求的地址信息,然后根据所述地址信息,从所述存储模块中获取所述地址信息对应的数据。当所述cos操作系统从存储模块中获取到数据之后,将获取的数据反馈至所述第一调制解调器11。

第一调制解调器11在获取到cos操作系统反馈的数据之后,将数据通过uart发送给第二调制解调器21,最终第二调制解调器21通过第二射频模块22将数据上传至基站,以完成鉴权。

由于上文已经说明,buffer1和buffer2对应着同一个物理地址,因此第一调制解调器11将提取的数据包缓存至buffer1时,数据包通过该uart发送至buffer2中缓存,第二调制解调器21在buffer2中检测到该数据包时,即可获取到该数据包,以实现数据包的传输。

可以理解的是,通过第一预设接口和/或第二预设接口,即可可实现第一处理芯片001和第二处理芯片002之间的连接。

第一调制解调器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用于将第一处理芯片001传输的数据处理后传给enodeb101(基站网络),以及用于将enodeb101传输的数据处理后传给第一处理芯片001。第二射频模块22用于将第二处理芯片002传输的数据处理后传给enodeb101(基站网络),以及用于将enodeb101传输的数据处理后传给第二处理芯片002。

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

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

也就是说,现有的移动终端100虽然可以支持双用户识别卡,但是移动终端100在注册网络的情况下,两个用户识别卡支持的是不同技术标准的网络,一个支持2g或3g,另一个支持4g,会使得移动终端100使用过程中,上网流量速度较慢,因此本发明中,移动终端100通过预设接口连接第一处理芯片001和第二处理芯片002,由于第二处理芯片002包括第二调制解调器21、并连接第二射频模块22,且第二射频模块22支持4g网络。因此,移动终端100可通过第一处理芯片001和第二处理芯片002具备双lte功能。

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

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

在本发明的实施例中,第一用户识别卡13和第二用户识别卡14承载信息,并且根据外界请求返回对应卡参数,以及对网络进行鉴权运算,第一射频模块12和第二射频模块22所涉及的无线接入技术为lte。当第一应用芯片001和第二应用芯片002连接时,第一用户识别卡13可通过移动终端100中的第一调制解调器11支持lte,而第二用户识别卡14通过第二调制解调器21支持lte;或者,第一用户识别卡13可通过第二调制解调器21支持lte,而第二用户识别卡14通过第一调制解调器11支持lte,以实现移动终端100可支持双lte。

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

在本发明实施例中,第一处理芯片001和第二处理芯片002之间通过预设接口连接的情况下,唤醒方式可为以下三种:

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

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

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

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

在本发明实施例中,移动终端包括但不限于手机、pc(personalcomputer,个人电脑)或pad(personaldigitalassistant,个人数字助理)。

需要说明的是,传输的数据包为用户数据或控制信令数据时,用户数据或控制信令数据在应用处理器之间传输;当传输的数据包为用户识别卡数据即sim卡数据时,sim卡数据只会在调制解调器之间传输;由于本发明实施例主要针对电信卡即sim卡传输数据导致终端死机的情况,因此本实施例中的数据包主要是在调制解调器之间传输的数据包。

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

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

但是,由于电信卡一般大于512字节,因此,在第一调制解调器11和第二调制解调器21的数据交互过程中,若是第一调制解调器11中连接的是电信卡,会出现这样的情况:

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

基于上述lte网络的架构图、移动终端100的硬件结构示意图以及现有技术存在的问题,提出本发明的各个实施例。

参照图2,本实施例提出一种移动终端,所述移动终端包括基于预设接口连接的第一处理芯片001和第二处理芯片002、与所述第一处理芯片001连接的第一射频模块12、以及与所述第二处理芯片002连接的第二射频模块22,所述第一处理芯片001包括第一应用处理器10以及与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11,所述第二处理芯片002包括第二应用处理器20和第二调制解调器21;

第一调制解调器11,用于通过预设接口接收第二调制解调21器发送的数据包获取请求时,从第一用户识别卡13或第二用户识别卡14中提取所述数据包获取请求对应的数据包;

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

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

在本实施例中,所述第一调制解调器11通过预设接口接收第二调制解调器21发送的数据包获取请求,后续也是通过所述预设接口将数据包反馈至所述第二调制解调器21。所述预设接口为uart接口。

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

具体地,所述第一调制解调器11,还用于向第一用户识别卡13或第二用户识别卡14中的片内操作系统发送数据包获取请求,由所述片内操作系统在第一用户识别卡13或第二用户识别卡14中的文件存储模块中提取所述数据包获取请求对应的数据包,并反馈至所述第一调制解调器11;接收所述片内操作系统反馈的数据包。

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

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

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

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

本实施例中需要说明的是,buffer存在于uart接口的两端,即uart接口的两端分别设置有buffer1和buffer2。当第二调制解调器21通过第二射频模块22接收到基站发送的数据获取请求时,将数据包获取请求通过uart接口发送给第一调制解调器11,第一调制解调器11从第一用户识别卡13或第二用户识别卡14提取出数据包之后,先将提取的数据包存储到buffer1中,以通过uart传输至第二调制解调器21的buffer2中,第二调制解调器21再从buffer2中获取数据包。

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

进一步地,基于第一实施例提出本发明移动终端第二实施例。

移动终端第二实施例与移动终端第一实施例的区别在于,

所述第一调制解调器11,还用于确定数据包的容量值;在有数据包的容量值大于预设阈值时,对所述数据包进行拆分,得到各个子数据包;在各个子数据包对应的包头中添加相同的标识信息。

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

在本实施例中,第一调制解调器11提取的数据包可以为一个或多个,在提取的数据包包括多个时,所述第一调制解调器11可同时对多个数据包进行拆分,或者按照各个数据包的提取顺序进行拆分。

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

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

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

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

进一步地,基于第一实施例提出本发明移动终端第三实施例。

移动终端第三实施例与移动终端第一实施例的区别在于,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一调制解调器11,还用于将不同标识信息的各个子数据包按照预设的顺序缓存至所述预设接口的buffer中。

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

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

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

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

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

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

数据包传输方法第四实施例与数据包传输方法第三实施例的区别在于,在提取的数据包包括多个数据包,且拆分后的各个子数据包对应不同的标识信息时,所述第一调制解调器,还用于将相同标识信息的各个子数据包归为一类;按照类别的顺序,依次将同一类的各个子数据包缓存至所述预设接口的buffer中。

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

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

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

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

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

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

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

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

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

本发明中,数据包传输方法应用于移动终端,所述移动终端包括基于预设接口连接的第一处理芯片001和第二处理芯片002、与所述第一处理芯片001连接的第一射频模块12、以及与所述第二处理芯片002连接的第二射频模块22,所述第一处理芯片001包括第一应用处理器10以及与第一用户识别卡13和第二用户识别卡14连接的第一调制解调器11,所述第二处理芯片002包括第二应用处理器20和第二调制解调器21,所述方法包括:

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

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

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

在本实施例中,所述第一调制解调器11通过预设接口接收第二调制解调器21发送的数据包获取请求,后续也是通过所述预设接口将数据包反馈至所述第二调制解调器21。所述预设接口为uart接口。

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

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

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

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

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

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

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

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

本实施例中需要说明的是,buffer存在于uart接口的两端,即uart接口的两端分别设置有buffer1和buffer2。当第二调制解调器21通过第二射频模块22接收到基站发送的数据获取请求时,将数据包获取请求通过uart接口发送给第一调制解调器11,第一调制解调器11从第一用户识别卡13或第二用户识别卡14提取出数据包之后,先将提取的数据包存储到buffer1中,以通过uart传输至第二调制解调器21的buffer2中,第二调制解调器21再从buffer2中获取数据包。

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

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

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

步骤a、所述第一调制解调器确定数据包的容量值;

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

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

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

在本实施例中,第一调制解调器11提取的数据包可以为一个或多个,在提取的数据包包括多个时,所述第一调制解调器11可同时对多个数据包进行拆分,或者按照各个数据包的提取顺序进行拆分。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

所述第一调制解调器将相同标识信息的各个子数据包归为一类;

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

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

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

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

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

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

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

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

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

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

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

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