移动终端及数据包识别方法转让专利

申请号 : CN201710207638.6

文献号 : CN107086992A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王朝车晓东

申请人 : 努比亚技术有限公司

摘要 :

本发明公开了一种移动终端及数据包识别方法,移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与第一处理芯片连接的第一射频模块、与第二处理芯片连接的第二射频模块,第一处理芯片包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,以及与第一调制解调器连接的实体用户识别卡,第二处理芯片包括第二应用处理器和第二调制解调器;第一处理芯片被唤醒时,接收第二处理芯片发送的数据包;对接收的数据包的包头进行识别,以确定包头是否携带有预设的包头标识;若未携带则发送重发消息给第二处理芯片,以供第二处理芯片重发数据包。本发明在接收残包时及时通知第二处理芯片重发数据包,提高了数据传输的准确性。

权利要求 :

1.一种移动终端,其特征在于,所述移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与所述第一处理芯片连接的第一射频模块、以及与所述第二处理芯片连接的第二射频模块,所述第一处理芯片包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,以及与第一调制解调器连接的实体用户识别卡,所述第二处理芯片包括第二应用处理器和第二调制解调器,所述第一处理芯片,用于被唤醒时,接收第二处理芯片通过所述预设接口发送的数据包;对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片,以供所述第二处理芯片重新发送所述数据包至所述第一处理芯片。

2.如权利要求1所述的移动终端,其特征在于,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识具体包括:所述第一处理芯片解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;及/或计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;

若所述包头的第一字节为预设字段,及/或所述长度满足预设条件,则确定所述包头携带有预设的包头标识。

3.如权利要求2所述的移动终端,其特征在于,所述预设条件为:所述长度为所述数据包的长度与预设值的差值。

4.如权利要求1所述的移动终端,其特征在于,所述第一处理芯片,还用于识别所述数据包的长度;

在所述数据包的长度大于预设长度值,才对接收的所述数据包的包头进行识别。

5.如权利要求1-4任一项所述的移动终端,其特征在于,所述第一处理芯片,还用于若所述包头携带有预设的包头标识,则发送确认消息给所述第二处理芯片,以供所述第二处理芯片继续发送其它数据包至所述第一处理芯片。

6.一种数据包识别方法,其特征在于,应用于移动终端,所述移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与所述第一处理芯片连接的第一射频模块、以及与所述第二处理芯片连接的第二射频模块,所述第一处理芯片包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,以及与第一调制解调器连接的实体用户识别卡,所述第二处理芯片包括第二应用处理器和第二调制解调器,所述方法包括:第一处理芯片被唤醒时,接收第二处理芯片通过所述预设接口发送的数据包;

对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;

若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片,以供所述第二处理芯片重新发送所述数据包至所述第一处理芯片。

7.如权利要求6所述的数据包识别方法,其特征在于,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识的步骤包括:所述第一处理芯片解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;及/或计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;

若所述包头的第一字节为预设字段,及/或所述长度满足预设条件,则确定所述包头携带有预设的包头标识。

8.如权利要求7所述的数据包识别方法,其特征在于,所述预设条件为:所述长度为所述数据包的长度与预设值的差值。

9.如权利要求6所述的数据包识别方法,其特征在于,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识的步骤之前,所述方法还包括:所述第一处理芯片识别所述数据包的长度;

在所述数据包的长度大于预设长度值,才执行所述对接收的所述数据包的包头进行识别的步骤。

10.如权利要求6-9任一项所述的数据包识别方法,其特征在于,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识的步骤之后,所述方法还包括:若所述包头携带有预设的包头标识,则所述第一处理芯片发送确认消息给所述第二处理芯片,以供所述第二处理芯片继续发送其它数据包至所述第一处理芯片。

说明书 :

移动终端及数据包识别方法

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种移动终端及数据包识别方法。

背景技术

[0002] 随着移动通信技术的发展,越来越多的移动终端如智能手机具有双卡双通的功能,使得用户在实现语音业务的待机同时,能建立数据业务连接。移动终端通常具有两个用户识别卡以及分别与所述两个用户识别卡连接的调制解调器,两个用户识别卡全开时,一个用户识别卡(SIM1)可以使用4G(the 4th Generation Mobile Communication Technology,第四代移动通信技术),例如LTE(Long Term Evolution,长期演进技术)网络,另一个用户识别卡(SIM2)仅能使用2G(2-Generation wireless telephone technology,第二代手机通信技术规格)或3G(3rd Generation,第三代移动通信技术)网络,SIM2不能上4G的原因主要是:移动终端只有一套射频,两张卡使用该套射频是分时复用的关系,并不能同时占用,由于两张卡全开时,只有一张卡可以使用4G网络,另一张卡只能使用2G或3G网络,导致移动终端中数据传输的效率较低。
[0003] 因此,为了使移动终端可以支持双LTE,以提高数据传输效率,移动终端可内置两个处理芯片,每个处理芯片对应一个调制解调器,以使移动终端的两张SIM卡连接不同的调制解调器,从而实现双LTE通信功能。但是,当移动终端内置两个处理芯片时,如果第一个处理芯片还未唤醒,第二个处理芯片就发送数据包,由于第一个处理芯片还没完全唤醒,数据包前面发送的内容会丢失,那么第一个处理芯片接收到的数据包为残包,导致第一个处理芯片无法响应该数据包。

发明内容

[0004] 本发明的主要目的在于提出一种移动终端及数据包识别方法,旨在解决数据包传输之后,若是发生数据包内容丢失,容易出现数据包无法响应的技术问题。
[0005] 为实现上述目的,本发明提供的一种移动终端,所述移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与所述第一处理芯片连接的第一射频模块、以及与所述第二处理芯片连接的第二射频模块,所述第一处理芯片包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,以及与第一调制解调器连接的实体用户识别卡,所述第二处理芯片包括第二应用处理器和第二调制解调器,
[0006] 所述第一处理芯片,用于被唤醒时,接收第二处理芯片通过所述预设接口发送的数据包;对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片,以供所述第二处理芯片重新发送所述数据包至所述第一处理芯片。
[0007] 可选地,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识具体包括:
[0008] 所述第一处理芯片解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;及/或计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;
[0009] 若所述包头的第一字节为预设字段,及/或所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0010] 可选地,所述预设条件为:所述长度为所述数据包的长度与预设值的差值。
[0011] 可选地,所述第一处理芯片,还用于识别所述数据包的长度;
[0012] 在所述数据包的长度大于预设长度值,才对接收的所述数据包的包头进行识别。
[0013] 可选地,所述第一处理芯片,还用于若所述包头携带有预设的包头标识,则发送确认消息给所述第二处理芯片,以供所述第二处理芯片继续发送其它数据包至所述第一处理芯片。
[0014] 此外,为实现上述目的,本发明还提出一种数据包识别方法,应用于移动终端,所述移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与所述第一处理芯片连接的第一射频模块、以及与所述第二处理芯片连接的第二射频模块,所述第一处理芯片包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,以及与第一调制解调器连接的实体用户识别卡,所述第二处理芯片包括第二应用处理器和第二调制解调器,所述方法包括:
[0015] 第一处理芯片被唤醒时,接收第二处理芯片通过所述预设接口发送的数据包;
[0016] 对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;
[0017] 若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片,以供所述第二处理芯片重新发送所述数据包至所述第一处理芯片。
[0018] 可选地,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识的步骤包括:
[0019] 所述第一处理芯片解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;及/或计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;
[0020] 若所述包头的第一字节为预设字段,及/或所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0021] 可选地,所述预设条件为:所述长度为所述数据包的长度与预设值的差值。
[0022] 可选地,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识的步骤之前,所述方法还包括:
[0023] 所述第一处理芯片识别所述数据包的长度;
[0024] 在所述数据包的长度大于预设长度值,才执行所述对接收的所述数据包的包头进行识别的步骤。
[0025] 可选地,所述对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识的步骤之后,所述方法还包括:
[0026] 若所述包头携带有预设的包头标识,则所述第一处理芯片发送确认消息给所述第二处理芯片,以供所述第二处理芯片继续发送其它数据包至所述第一处理芯片。
[0027] 本发明提出的移动终端及数据包识别方法,所述移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与所述第一处理芯片连接的第一射频模块、以及与所述第二处理芯片连接的第二射频模块,所述第一处理芯片包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,以及与第一调制解调器连接的实体用户识别卡,所述第二处理芯片包括第二应用处理器和第二调制解调器,所述第一处理芯片,用于被唤醒时,接收第二处理芯片通过所述预设接口发送的数据包;对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片,以供所述第二处理芯片重新发送所述数据包至所述第一处理芯片。本方案在移动终端中的第一处理芯片被唤醒时,先对接收到的数据包的包头进行识别,在识别所述包头未携带有预设包头标识时,通知第二处理芯片重新发送该数据包,即使数据包内容丢失,第一处理芯片也可以及时通知第二处理芯片重新发送该数据包,及时响应数据包,提高了数据传输的准确性。

附图说明

[0028] 图1为本发明一实施例的LTE网络架构的示意图;
[0029] 图2为本发明实施例中移动终端的一种硬件结构示意图;
[0030] 图3为本发明数据包识别方法第一实施例的流程示意图;
[0031] 图4为本发明对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识的细化流程示意图;
[0032] 图5为本发明数据包识别方法第四实施例的流程示意图。
[0033] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。

具体实施方式

[0034] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意结合。
[0035] 为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
[0036] 图1是本发明一实施例的LTE网络架构的示意图。本发明一实施例的LTE网络架构包括:一个或多个移动终端(user  equipment,UE)100、E-UTRAN(Evolved  UMTS Terrestrial Radio Access Network,演进的UMTS陆地无线接入网)(图中未标号)、演进分组核心(EPC)(图中未标号)、归属订户服务器(HSS)107、网络(例如,因特网)(图中未标号)以及电路交换系统(图中未标号)。
[0037] E-UTRAN包括演进B节点(eNodeB)101和其它eNodeB 102。eNodeB 101提供朝向移动终端100的用户面和控制面的协议终接。eNodeB 101可经由X2接口连接到其他eNodeB。eNodeB 101也可称为基站、基收发机站、无线电基站、无线电收发机、收发机功能、基本服务集、扩展服务集、或其他某个合适的术语。eNodeB 101为移动终端100提供去往EPC的接入点。
[0038] eNodeB 101通过S1接口连接到EPC。EPC包括移动管理实体(EEM)104、其他移动管理实体106、服务网关103,以及分组数据网络(PDN)网关105。移动管理实体104是处理移动终端100与EPC之间的信令的控制节点。移动管理实体104提供承载和连接管理。所有用户IP分组通过服务网关103来传递,服务网关103自身连接到PDN网关105。PDN网关105提供UE IP地址分配以及其他功能。PDN网关105连接到网络,例如,因特网。
[0039] 电路交换系统包括交互解决方案模块(IWS)108、移动交换中心(MSC)109、基站110和移动站111。在一个方面,电路交换系统可以通过IWS和MME(Mobility Management Entity,移动管理实体)与EPS(Evolved Packet System,演进的分组系统)进行通信。
[0040] 图2为本发明实施例中移动终端的一种硬件结构示意图。
[0041] 在本发明实施例中,移动终端100包括第一处理芯片001和第二处理芯片002,与所述第一处理芯片001连接的第一射频模块12、以及与所述第二处理芯片002连接的第二射频模块22。其中,第一处理芯片001和第二处理芯片002通过预设接口连接。所述预设接口包括第一预设接口和第二预设接口。第一处理芯片001包括第一应用处理器(Application Processor,用AP1表示)10、内嵌有虚拟用户识别卡11A的第一调制解调器11(modem1)、实体用户识别卡14和RPM(Resource Power Manager,资源电源管理器)15。第二处理芯片002包括第二应用处理器20和第二调制解调器(modem2)21。
[0042] 其中,虚拟用户识别卡11A包括存储模块和虚拟片内操作系统(Virtual Chip Operating System,VCOS),该存储模块可为EFS(Encrypting File System,加密文件系统),存储模块用于存储虚拟用户识别卡11A的鉴权数据。实体用户识别卡14为SIM(Subscriber Identity Module,用户识别模块)卡。
[0043] 第一应用处理器10和第二应用处理器20的内部框架包括应用层、框架层等,可处理复杂的逻辑操作以及进行任务分配等。在本发明实施例中,应用处理器指Android操作系统,以及基于Android操作系统的各种apk(Android Package,安卓安装包)。
[0044] 在本发明的实施例中,第一应用处理器10和第二应用处理器20通过第一预设接口实现连接,为用户提供交互接口,将用户输入的操作指令(例如,用户通过用户界面输入的有关启动视频通话的操作指令)传输给第一调制解调器11或第二调制解调器21,以实现两个应用处理器之间数据的定义与传递,例如,进行两个应用处理器的休眠、唤醒、同步的控制、开关机时芯片启动顺序的控制等。其中,第一预设接口为USB(Universal Serial Bus,通用串行总线)。应当理解的是,在本发明实施例中,USB数据线复用出两条数据通道,分别用于第一应用处理器10和第二应用处理器20之间用户数据和控制信令数据的交互,即第一应用处理器10和第二应用处理器20通过USB数据线传输的数据包括上述两种数据。其中,用户数据包括上网产生的数据,图片和聊天信息数据;控制信令数据包括开关机的控制数据,开关飞行模式的控制数据,显示状态信号的控制数据。
[0045] 本实施例中,第一应用处理器10和第二应用处理器20通过OTG(On-The-Go)技术进行数据交互。通过OTG技术,移动终端100中的第一调制解调器11可通过虚拟用户识别卡11A中的SIM卡参数来接入eNodeB101,第二调制解调器21可通过实体用户识别卡14的SIM卡参数来接入eNodeB 101;或者第一调制解调器11通过实体用户识别卡14中的SIM卡参数来接入eNodeB 101,第二调制解调器21通过虚拟用户识别卡11A的SIM卡参数来接入eNodeB 101。SIM卡参数包括但不限于SIM卡鉴权数据。
[0046] 第一调制解调器11和第二调制解调器21通过第二预设接口连接。在本发明实施例中,第二预设接口为UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)。UART用于第一调制解调器11和第二调制解调器21之间SIM卡参数的传输。
[0047] 具体地:第二调制解调器21通过第二射频模块22接收到基站发送的SIM卡数据获取请求时,将数据获取请求传送至第一调制解调器11中,由第一调制解调器11反馈响应的SIM卡数据。
[0048] 其中,所述SIM卡数据获取请求的触发方式包括两种:
[0049] A、第二调制解调器21主动注册LTE网络,以触发SIM卡数据获取请求;
[0050] B、基站侧需要鉴权用户是否合法,将鉴权请求发给第二调制解调器21,由第二调制解调器21主动发SIM卡数据获取请求。
[0051] 第二调制解调器21通过第二射频模块22接收到基站发送的SIM卡数据获取请求时,通过UART将数据获取请求传送至第一调制解调器11中,由第一调制解调器11根据数据获取请求从虚拟用户识别卡11A或实体用户识别卡14获取数据,下文以第一调制解调器11根据数据获取请求从虚拟用户识别卡11A中获取数据为例进行详述。
[0052] 需要理解的是,虚拟用户识别卡11A中包括有VCOS操作系统和存储模块,其中,所述VCOS操作系统作为存储模块的文件代理,根据所述第一调制解调器11发送的数据获取请求从所述存储模块中提取数据,所述存储模块用来存储数据。即,本发明实施例中,第一调制解调器11是无法与虚拟用户识别卡11A内部的存储模块进行交互以获取数据,只能通过VCOS操作系统进行获取。因此,当所述第一调制解调器11将数据获取请求发送至虚拟用户识别卡11A时,虚拟用户识别卡11A内部的VCOS操作系统解析出所述数据获取请求的地址信息,然后根据所述地址信息,从所述存储模块中获取所述地址信息对应的数据。当所述VCOS操作系统从存储模块中获取到数据之后,将获取的数据反馈至所述第一调制解调器11。
[0053] 第一调制解调器11在获取到VCOS操作系统反馈的数据之后,将数据通过UART发送给第二调制解调器21,最终第二调制解调器21通过第二射频模块22将数据上传至基站,以完成鉴权。
[0054] 实体用户识别卡14包含的COS(Chip Operating System,片内操作系统)操作系统和存储模块,从实体用户识别卡14中获取数据的操作方式与上述一致,此处不再赘述。
[0055] 可以理解的是,通过第一预设接口和/或第二预设接口,即可可实现第一处理芯片001和第二处理芯片002之间的连接。
[0056] 第一调制解调器11和第二调制解调器21包含各种网络交互的网络制式的协议栈,协议栈包含LTE(Long Term Evolution,长期演进)/WCDMA(W ideband Code Division Multiple Access,宽带码分多址)/GSM(Global Syste m for Mobile Communication,全球移动通信系统)/TD-SCDMA(Time Divisi on-Synchronous Code Division Multiple Access,同步时分码分多址)/CDMA(C ode Division Multiple Access,码分多址)/EDGE(Enhanced Data Rate for G SM Evolution,强型数据速率GSM演进技术)等通讯标准里边规定的协议代码。移动终端100通过协议与运营商网络进行交互,即进行数据流量上网、V OLTE(Voice Over LTE)打电话或者CS(Circuit Switched,电路交换)域打电话。第一调制解调器11和第二调制解调器21还用于对SIM卡的管控等等。
[0057] 在本发明实施例中,第一射频模块12用于将第一处理芯片001传输的数据处理后传给eNodeB 101(基站网络),以及用于将eNodeB 101传输的数据处理后传给第一处理芯片001。第二射频模块22用于将第二处理芯片002传输的数据处理后传给eNodeB 101(基站网络),以及用于将eNodeB 101传输的数据处理后传给第二处理芯片002。
[0058] 第一射频模块12和第二射频模块22所涉及的无线接入技术可以包括LTE、GSM、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA、EDGE、WLAN(Wireless Local Area Networks,无线局域网)、CDMA-2000、TD-SCDMA、WCDMA、WIFI(Wireless Fidelity,无线保真)等等。
[0059] 移动终端100中的虚拟用户识别卡11A和实体用户识别卡14存储不同的无线通信标准相关联的用户信息。应当理解,目前的移动终端只有一套射频,移动终端内部的两个用户识别卡使用该套射频是分时复用的关系,并不能同时占用。例如,在两张用户识别卡全开时,一张卡可以处理GSM通话,另一张卡只能处理4G网络信息,具体哪个用户识别卡执行何种网络,不做限定。因此目前的射频双卡分时复用这种架构仅做到了LTE+GSM(即一张用户识别卡对应的技术标准为LTE,另一张用户识别卡对应的技术标准为GSM)。
[0060] 也就是说,现有的移动终端100虽然可以支持双用户识别卡,但是移动终端100在注册网络的情况下,两个用户识别卡支持的是不同技术标准的网络,一个支持2G或3G,另一个支持4G,会使得移动终端100使用过程中,上网流量速度较慢,因此本发明中,移动终端100通过预设接口连接第一处理芯片001和第二处理芯片002,由于第二处理芯片002包括第二调制解调器21、并连接第二射频模块22,且第二射频模块22支持4G网络。因此,移动终端
100可通过第一处理芯片001和第二处理芯片002具备双LTE功能。
[0061] 在本实施例中,虚拟用户识别卡11A和实体用户识别卡14用于提供移动通信业务(CS语音业务、PS数据业务和PS语音业务)所需的相关数据,并在其内部存储用户信息、短消息、执行鉴权算法和产生加密密匙等。
[0062] 实体用户识别卡14与移动终端100交互时,移动终端100检测该用户识别卡存在与否的信号只在开机瞬时产生,当开机检测不到用户识别卡存在时,移动终端100将提示“插入用户识别卡”。移动终端100开机之后,移动终端100和用户识别卡之间28秒通信一次,完成一些固定的通信检查(例如,用户识别卡是否在位等)。
[0063] 在本发明的实施例中,虚拟用户识别卡11A和实体用户识别卡14承载信息,并且根据外界请求返回对应卡参数,以及对网络进行鉴权运算,第一射频模块12和第二射频模块22所涉及的无线接入技术为LTE。当第一应用芯片001和第二应用芯片002连接时,虚拟用户识别卡11A可通过移动终端100中的第一调制解调器11支持LTE,而实体用户识别卡14通过第二调制解调器21支持LTE;或者,虚拟用户识别卡11A可通过第二调制解调器21支持LTE,而实体用户识别卡14通过第一调制解调器11支持LTE,以实现移动终端100可支持双LTE。
[0064] 移动终端100中的RPM15用于管控各种资源,包括时钟资源、总线资源、PMIC(Power Management IC,电源管理集成电路,即各个芯片的电压)、DDR(内存分配),以及管理芯片的休眠唤醒的中断和应用处理器唤醒的截止时间。移动终端100的各个子系统,在需要资源时,向RPM15申请资源,各个子系统分别包括第一应用处理器10,第一调制解调器11、PRONTO(WIFI/蓝牙、NFC(Near Field Communication,近场通信)等)、LPASS(Low power audio subsystem,低功耗音频子系统),RPM15用来决定移动终端100系统的休眠状态,具体是,RPM15基于各个子系统的投票机制实现,当各个子系统都投休眠票时,RPM15才可以使移动终端100整个系统进行休眠。在移动终端100的整个系统休眠之后,若是要重新启动运行,第二处理芯片002可自动唤醒,但是第一处理芯片001需要第一处理芯片001唤醒,以进行数据的传输交互。
[0065] 在本发明实施例中,第一处理芯片001和第二处理芯片002之间通过预设接口连接的情况下,唤醒方式可为以下三种:
[0066] 1、第一应用处理器10接收到控制信令数据时,通过USB接口传送探测包给第二应用处理器20,以唤醒第二应用处理器20。
[0067] 2、第二调制解调器21接收到用户数据时,唤醒第二应用处理器20,由第二应用处理器20通过USB接口传送探测包给第一应用处理器10,以唤醒第一应用处理器10。
[0068] 3、第二调制解调器21周期性查找寻呼请求,以主动激活自己,若接收到寻呼请求,唤醒第二应用处理器20,由第二应用处理器20通过USB接口发送探测包给第一应用处理器10,以唤醒第二应用处理器20。
[0069] 此外,第二调制解调器21还可以定期唤醒自己,以在移动终端100进行位置更新时,跟基站进行握手交互,此时不需要唤醒第一应用处理器10。
[0070] 在本发明实施例中,移动终端包括但不限于手机、PC(Personal Computer,个人电脑)或PAD(Personal Digital Assistant,个人数字助理)。
[0071] 基于上述LTE网络的架构图、以及移动终端100的硬件结构示意图,提出本发明的各个实施例。
[0072] 参照图2,本实施例提出一种移动终端,所述移动终端100包括基于预设接口连接的第一处理芯片001和第二处理芯片001、与所述第一处理芯片001连接的第一射频模块12、以及与所述第二处理芯片002连接的第二射频模块22,所述第一处理芯片001包括第一应用处理器10内嵌有虚拟用户识别卡11A的第一调制解调器11,以及与第一调制解调器11连接的实体用户识别卡14,所述第二处理芯片002包括第二应用处理器20和第二调制解调器21,[0073] 所述第一处理芯片001,用于被唤醒时,接收第二处理芯片002通过所述预设接口发送的数据包;
[0074] 对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;
[0075] 若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片002,以供所述第二处理芯片002重新发送所述数据包至所述第一处理芯片001。
[0076] 在本实施例中,所述第一处理芯片001被唤醒,是通过预设接口接收第二处理芯片002发送的探测包以实现唤醒的。后续,第一处理芯片001对数据包的识别,也是对通过预设接口接收到的数据包进行识别。由于本实施例中,第一处理芯片001包括第一应用处理器10和第一调制解调器11,第二处理芯片001包括第二应用处理器20和第二调制解调器21,且第二应用处理器20和第一应用处理器10通过USB接口连接,第二调制解调器21和第一调制解调器11之间通过UART接口连接。因此,本发明实施例中,第一处理芯片001对数据包的识别,实际上可以分为两种:
[0077] 1)第一应用处理器10对第二应用处理器10通过第一预设接口(USB接口)发送的数据包进行识别;
[0078] 2)第一调制解调器11对第二调制解调器21通过第二预设接口(UART接口)发送的数据包进行识别;
[0079] 需要说明,本发明中两种数据包识别的方式一致,以及后续的应答机制反馈方式也一致,仅仅是接口不同,下文中为了简介说明,优选以第一应用处理器10对数据包的识别和反馈为例。
[0080] 首先,需要理解的是,在移动终端100中的第一处理芯片001和第二处理芯片002都休眠之后,若第二处理芯片002通过第二射频模块22接收到外部信号,第二射频模块22将外部信号传输至第二调制解调器21中,使得第二调制解调器21唤醒,第二调制解调器21唤醒之后,第二调制解调器21再发送探测包唤醒第二应用处理器20,从而实现第二处理芯片002的唤醒。此时第二调制解调器21还会通过UART接口发送探测包以唤醒第一调制解调器11。在第二处理芯片002唤醒之后,第二处理芯片002的第二应用处理器20会通过USB接口发送探测包以唤醒第一处理芯片001中的第一应用处理器10。
[0081] 对于第二处理芯片002的第二应用处理器20而言,当发送探测包给第一处理芯片001的第一应用处理器10之后,第二应用处理器20认为第一应用处理器10已经被唤醒,此时,第二应用处理器20会紧接着发送用户数据或控制信令的数据包给移动终端100的第一应用处理器10,以进行后续的数据交互过程。
[0082] 同理,对于第二处理芯片002的第二调制解调器21而言,当发送探测包给第一处理芯片001的第一调制解调器11之后,第二调制解调器21认为第一调制解调器11已经被唤醒,此时,第二调制解调器21会紧接着发送SIM卡鉴权数据的数据包给第一调制解调器11,以进行后续的数据交互过程。
[0083] 但是实际过程中,当第二应用处理器20或第二调制解调器21发送探测包之后,第一应用处理器10或第一调制解调器11并没有立刻被唤醒,而是需要一段时间从休眠状态切换为唤醒状态。此时,若是第二应用处理器20或第二调制解调器21紧接着发送数据包,由于第一应用处理器10或第一调制解调器11还未完全唤醒,会导致接收到的数据包中,前面部分内容丢失,造成接收到的数据包是不完整的数据包,也就是残包。
[0084] 为更好理解,以应用处理器为例,举例如下:第二处理芯片002的第二应用处理器20通过USB接口发送数据包给第一应用处理器10,该数据包为512个字节,在前36个字节的发送过程中,由于第一处理芯片001的第一应用处理器10还没完全被唤醒,在第37个字节才真正唤醒,此时,第一应用处理器10无法接收到前36个字节,那么第一应用处理器10接收到的数据包就是残包,由于第一应用处理器10根本就无法识别该数据包,导致第一应用处理器10也无法响应该数据包,造成第二应用处理器20迟迟得不到回复,导致数据传输不准确。
[0085] 因此,本实施例中,当第一处理芯片001被唤醒之后,若接收到第二处理芯片002通过所述预设接口发送的数据包,先对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识。应当理解,包头中携带有多个字节,具体的个数不做限定。
[0086] 本实施例中,所述第一处理芯片001对接收到的数据包的包头进行识别,具体为解析出所述数据包,然后对解析出的数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识,具体的识别方式在下文实施例中详述。
[0087] 当第一处理芯片001识别出包头未携带预设的包头标识时,发送重发消息给所述第二处理芯片002,以供所述第二处理芯片002重新发送所述数据包至所述第一处理芯片001。
[0088] 即,第一处理芯片001识别出包头未携带预设的包头标识时,说明当前接收到的数据包的已经发生了内容丢失,无法对该数据包进行识别,也无法反馈响应的数据包,因此,所述第一处理芯片001通过预设接口发送重发消息给所述第二处理芯片002,以供所述第二处理芯片002重新发送所述数据包至所述第一处理芯片001,例如,第一处理芯片001发送应答消息“err”给第二处理芯片002,告知第二处理芯片002之前发送的数据包有误,以便第二处理芯片002重新发送该数据包。本实施例中,所述重新消息的形式不做限定,可以是一个短消息如“err”或“Retry”,也可以是一个预设字段,如“0001”,具体根据实际情况设定。
[0089] 本实施例中,相当于是当第一处理芯片001识别出数据包为残包时,即检测到数据包中没有携带包头标记,此时,会给第二处理芯片002反馈一个应答err,例如,第一应用处理器10通过USB接口将应答err传送第二应用处理器20,此时,第二应用处理器20基于接收到的应答err,通过USB接口重新发送该数据包给第一应用处理器10,以完成数据的交互。
[0090] 本实施例提出的移动终端,所述移动终端包括基于预设接口连接的第一处理芯片和第二处理芯片、与所述第一处理芯片连接的第一射频模块、以及与所述第二处理芯片连接的第二射频模块,所述第一处理芯片包括第一应用处理器、内嵌有虚拟用户识别卡的第一调制解调器,以及与第一调制解调器连接的实体用户识别卡,所述第二处理芯片包括第二应用处理器和第二调制解调器,所述第一处理芯片,用于被唤醒时,接收第二处理芯片通过所述预设接口发送的数据包;对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片,以供所述第二处理芯片重新发送所述数据包至所述第一处理芯片。本方案在移动终端中的第一处理芯片被唤醒时,先对接收到的数据包的包头进行识别,在识别所述包头未携带有预设包头标识时,通知第二处理芯片重新发送该数据包,即使数据包内容丢失,第一处理芯片也可以及时通知第二处理芯片重新发送该数据包,及时响应数据包,提高了数据传输的准确性。
[0091] 进一步地,提出本发明移动终端第二实施例。
[0092] 移动终端第二实施例与移动终端第一实施例的区别在于,所述第一处理芯片001对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识具体包括:
[0093] 所述第一处理芯片001解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;及/或计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;
[0094] 若所述包头的第一字节为预设字段,及/或所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0095] 在本实施例中,所述预设条件优选为:所述长度为所述数据包的长度与预设值的差值。即,计算所述包头的第二字节和第三字节的长度之后,判断所述长度是否满足预设条件,具体是:计算数据包的长度,然后将数据包的长度减去预设值,以得到所述数据包的长度与预设值的差值,其中,所述预设值不做限定,例如为1,在得到差值之后,再将第二字节和第三字节的长度与所述差值进行比较,以确定所述长度是否与所述差值相等,若相等,说明第二字节和第三字节的长度满足条件。
[0096] 一般情况下,用户数据或控制信令数据对应的数据包的首字节为预设字段,所述预设字段不做限定,例如字段“0X01”,且第2、3字节共同表征一个长度,值为整个数据包的长度减预设值,例如预设值为1。因此,第一应用处理器10在对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识,实际上就是确定包头的首字节是否为预设字段,以及第2、3字节的长度是否为整个数据包的长度减预设值。若识别出包头的首字节为预设字段0X01,且第2、3字节的值为整个数据包的长度减1,此时,第一应用处理器10认为数据包中携带有包头标记,认为该包是有效的数据包。
[0097] 本实施例中,包括三种实施方式:
[0098] 1)方式一、解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;若所述包头的第一字节为预设字段,则确定所述包头携带有预设的包头标识。
[0099] 2)方式二、计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;若所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0100] 3)方式三、解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;以及计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;若所述包头的第一字节为预设字段,且所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0101] 本发明实施例中,可以根据具体需要设置上述三种方式的任意一种,但是为了提高数据包识别的准确性,优选采用方式三。
[0102] 在采用方式三的情况下,所述处理芯片001接收到数据包之后,可采用多线程分析数据包的包头,即通过一个线程解析包头的第一字节,以确定所述包头的第一字节是否为预设字段。同时,通过另一个线程计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件,当所述包头的第一字节为预设字段,且所述长度满足预设条件,才确定所述包头携带有预设的包头标识。
[0103] 应当理解,采用多线程对包头中的各个字节进行并行分析,无须一个个先后分析,缩短了分析的时间,提高了分析的效率。
[0104] 或者,所述处理芯片001接收到数据包之后,先解析包头的第一节点,以确定所述包头的第一字节是否为预设字段,当所述包头的第一字节为预设字段时,才计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件,并在所述长度满足预设条件,则确定所述包头携带有预设的包头标识。需要注意的是,当所述包头的第一字节不为预设字段,此时,就无须再判断第二字节和第三字节的长度,直接认定包头中未携带包头标识即可。
[0105] 可以理解,通过这种前后判断的方式,可以在第一字节符合要求的情况下再继续判断第二字节和第三字节,防止第一字节不满足要求的情况下,还花费资源去进行判断,从而提高了数据包分析的智能性,也避免了资源的浪费。
[0106] 进一步地,提出本发明移动终端第三实施例。
[0107] 移动终端第三实施例与移动终端第一实施例的区别在于,所述第一处理芯片001,还用于识别所述数据包的长度;
[0108] 在所述数据包的长度大于预设长度值,才对接收的所述数据包的包头进行识别。
[0109] 在本实施例中,所述第一处理芯片001被唤醒后接收到数据包时,先识别该数据包的长度,然后获取预设长度值,将识别的数据包的长度与预设长度值进行比对,以确定所述数据包的长度是否大于预设长度值,若所述数据包的长度大于预设长度值,所述第一处理芯片001才对接收的所述数据包的包头进行识别,若是识别出所述数据包的长度小于或等于预设长度值,此时可不对接收的所述数据包的包头进行识别。
[0110] 此处需要说明的是,用户数据或控制信令数据对应的数据包(data)的长度一般大于6个字节对应的长度,而应答消息对应的数据包(ack)的长度一般是4或者6个字节。
[0111] 因此,当第一处理芯片001被唤醒后接收到数据包时,先通过包长度判断该数据包是ack还是data,若检测出该数据包没有大于6字节对应的长度,即可确认该数据包是ack,此时说明第二处理芯片002还没发送data,因此不会出现上述的丢包情况,当检测出该数据包大于6个字节对应的长度时,才会对该数据包的包头进行解析。
[0112] 可以理解,本实施例中,在接收到数据包之后,第一处理芯片001先对数据包的长度进行解析,以确定该数据包的类型,从而决定是否对该数据包的包头进行解析,防止所有的数据包都进行包头解析,从而提高了数据包识别的智能性。
[0113] 进一步地,提出本发明移动终端第四实施例。
[0114] 移动终端第四实施例与移动终端第一至第三实施例的区别在于,所述第一处理芯片001,还用于若所述包头携带有预设的包头标识,则发送确认消息给所述第二处理芯片002,以供所述第二处理芯片002继续发送其它数据包至所述第一处理芯片001。
[0115] 即本实施例中,第一处理芯片001若识别出包头并没有上述的包头标识,此时,认为该数据包是残包,在检验出该数据包为残包之后,会采用数据应答机制进行反馈,以供第二处理芯片002根据第一处理芯片001反馈的数据应答机制决定继续发包,还是重新发送数据包,具体地:
[0116] 当第一处理芯片001识别出数据包为有效的数据包时,也就是检测出数据包中携带有包头标记时,此时,会给第二处理芯片002反馈一个应答ok,以通知第二处理芯片002当前接收到的数据包是完整的数据包,例如:第一应用处理器10通过USB数据线将应答ok传送给第二应用处理器20,此时,第二应用处理器20根据第一应用处理器10反馈的应答ok,通过USB接口继续发送其它的数据包给第一应用处理器10,以完成数据包发送操作。
[0117] 本实施例中,在识别出所述包头携带有预设的包头标识,则发送确认消息给所述第二处理芯片002,以供所述第二处理芯片002继续发送其它数据包至所述第一处理芯片001,从而完成数据的传输过程。
[0118] 本发明进一步提供一种数据包识别方法。
[0119] 参照图3,图3为本发明数据包识别方法较佳实施例的流程示意图。
[0120] 本实施例提出一种数据包识别方法,在本实施例中,提供了数据包识别方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0121] 本发明中,数据包识别方法应用于移动终端,所述移动终端包括基于预设接口连接的第一处理芯片001和第二处理芯片002、与所述第一处理芯片001连接的第一射频模块12、以及与所述第二处理芯片002连接的第二射频模块22,所述第一处理芯片001包括第一应用处理器10、内嵌有虚拟用户识别卡11A的第一调制解调器11,以及与第一调制解调器11连接的实体用户识别卡14,所述第二处理芯片002包括第二应用处理器20和第二调制解调器21,所述方法包括:
[0122] 步骤S10,第一处理芯片001被唤醒时,接收第二处理芯片002通过所述预设接口发送的数据包;
[0123] 步骤S20,对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;
[0124] 步骤S30,若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片002,以供所述第二处理芯片002重新发送所述数据包至所述第一处理芯片001。
[0125] 在本实施例中,所述第一处理芯片001被唤醒,是通过预设接口接收第二处理芯片002发送的探测包以实现唤醒的。后续,第一处理芯片001对数据包的识别,也是对通过预设接口接收到的数据包进行识别。由于本实施例中,第一处理芯片001包括第一应用处理器10和第一调制解调器11,第二处理芯片001包括第二应用处理器20和第二调制解调器21,且第二应用处理器20和第一应用处理器10通过USB接口连接,第二调制解调器21和第一调制解调器11之间通过UART接口连接。因此,本发明实施例中,第一处理芯片001对数据包的识别,实际上可以分为两种:
[0126] 1)第一应用处理器10对第二应用处理器10通过第一预设接口(USB接口)发送的数据包进行识别;
[0127] 2)第一调制解调器11对第二调制解调器21通过第二预设接口(UART接口)发送的数据包进行识别;
[0128] 需要说明,本发明中两种数据包识别的方式一致,以及后续的应答机制反馈方式也一致,仅仅是接口不同,下文中为了简介说明,优选以第一应用处理器10对数据包的识别和反馈为例。
[0129] 首先,需要理解的是,在移动终端100中的第一处理芯片001和第二处理芯片002都休眠之后,若第二处理芯片002通过第二射频模块22接收到外部信号,第二射频模块22将外部信号传输至第二调制解调器21中,使得第二调制解调器21唤醒,第二调制解调器21唤醒之后,第二调制解调器21再发送探测包唤醒第二应用处理器20,从而实现第二处理芯片002的唤醒。此时第二调制解调器21还会通过UART接口发送探测包以唤醒第一调制解调器11。在第二处理芯片002唤醒之后,第二处理芯片002的第二应用处理器20会通过USB接口发送探测包以唤醒第一处理芯片001中的第一应用处理器10。
[0130] 对于第二处理芯片002的第二应用处理器20而言,当发送探测包给第一处理芯片001的第一应用处理器10之后,第二应用处理器20认为第一应用处理器10已经被唤醒,此时,第二应用处理器20会紧接着发送用户数据或控制信令的数据包给移动终端100的第一应用处理器10,以进行后续的数据交互过程。
[0131] 同理,对于第二处理芯片002的第二调制解调器21而言,当发送探测包给第一处理芯片001的第一调制解调器11之后,第二调制解调器21认为第一调制解调器11已经被唤醒,此时,第二调制解调器21会紧接着发送SIM卡鉴权数据的数据包给第一调制解调器11,以进行后续的数据交互过程。
[0132] 但是实际过程中,当第二应用处理器20或第二调制解调器21发送探测包之后,第一应用处理器10或第一调制解调器11并没有立刻被唤醒,而是需要一段时间从休眠状态切换为唤醒状态。此时,若是第二应用处理器20或第二调制解调器21紧接着发送数据包,由于第一应用处理器10或第一调制解调器11还未完全唤醒,会导致接收到的数据包中,前面部分内容丢失,造成接收到的数据包是不完整的数据包,也就是残包。
[0133] 为更好理解,以应用处理器为例,举例如下:第二处理芯片002的第二应用处理器20通过USB接口发送数据包给第一应用处理器10,该数据包为512个字节,在前36个字节的发送过程中,由于第一处理芯片001的第一应用处理器10还没完全被唤醒,在第37个字节才真正唤醒,此时,第一应用处理器10无法接收到前36个字节,那么第一应用处理器10接收到的数据包就是残包,由于第一应用处理器10根本就无法识别该数据包,导致第一应用处理器10也无法响应该数据包,造成第二应用处理器20迟迟得不到回复,导致数据传输不准确。
[0134] 因此,本实施例中,当第一处理芯片001被唤醒之后,若接收到第二处理芯片002通过所述预设接口发送的数据包,先对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识。应当理解,包头中携带有多个字节,具体的个数不做限定。
[0135] 本实施例中,所述第一处理芯片001对接收到的数据包的包头进行识别,具体为解析出所述数据包,然后对解析出的数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识,具体的识别方式在下文实施例中详述。
[0136] 当第一处理芯片001识别出包头未携带预设的包头标识时,发送重发消息给所述第二处理芯片002,以供所述第二处理芯片002重新发送所述数据包至所述第一处理芯片001。
[0137] 即,第一处理芯片001识别出包头未携带预设的包头标识时,说明当前接收到的数据包的已经发生了内容丢失,无法对该数据包进行识别,也无法反馈响应的数据包,因此,所述第一处理芯片001通过预设接口发送重发消息给所述第二处理芯片002,以供所述第二处理芯片002重新发送所述数据包至所述第一处理芯片001,例如,第一处理芯片001发送应答消息“err”给第二处理芯片002,告知第二处理芯片002之前发送的数据包有误,以便第二处理芯片002重新发送该数据包。本实施例中,所述重新消息的形式不做限定,可以是一个短消息如“err”或“Retry”,也可以是一个预设字段,如“0001”,具体根据实际情况设定。
[0138] 本实施例中,相当于是当第一处理芯片001识别出数据包为残包时,即检测到数据包中没有携带包头标记,此时,会给第二处理芯片002反馈一个应答err,例如,第一应用处理器10通过USB接口将应答err传送第二应用处理器20,此时,第二应用处理器20基于接收到的应答err,通过USB接口重新发送该数据包给第一应用处理器10,以完成数据的交互。
[0139] 本实施例提出的数据包识别方法,第一处理芯片被唤醒时,接收第二处理芯片通过所述预设接口发送的数据包;对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识;若所述包头未携带预设的包头标识,则发送重发消息给所述第二处理芯片,以供所述第二处理芯片重新发送所述数据包至所述第一处理芯片。本方案在移动终端中的第一处理芯片被唤醒时,先对接收到的数据包的包头进行识别,在识别所述包头未携带有预设包头标识时,通知第二处理芯片重新发送该数据包,即使数据包内容丢失,第一处理芯片也可以及时通知第二处理芯片重新发送该数据包,及时响应数据包,提高了数据传输的准确性。
[0140] 进一步地,提出本发明数据包识别方法第二实施例。
[0141] 数据包识别方法第二实施例与数据包识别方法第一实施例的区别在于,参照图4,所述步骤S20包括:
[0142] 步骤S21,所述第一处理芯片001解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;及/或计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;
[0143] 步骤S22,若所述包头的第一字节为预设字段,及/或所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0144] 在本实施例中,所述预设条件优选为:所述长度为所述数据包的长度与预设值的差值。即,计算所述包头的第二字节和第三字节的长度之后,判断所述长度是否满足预设条件,具体是:计算数据包的长度,然后将数据包的长度减去预设值,以得到所述数据包的长度与预设值的差值,其中,所述预设值不做限定,例如为1,在得到差值之后,再将第二字节和第三字节的长度与所述差值进行比较,以确定所述长度是否与所述差值相等,若相等,说明第二字节和第三字节的长度满足条件。
[0145] 一般情况下,用户数据或控制信令数据对应的数据包的首字节为预设字段,所述预设字段不做限定,例如字段“0X01”,且第2、3字节共同表征一个长度,值为整个数据包的长度减预设值,例如预设值为1。因此,第一应用处理器10在对接收的所述数据包的包头进行识别,以确定所述包头是否携带有预设的包头标识,实际上就是确定包头的首字节是否为预设字段,以及第2、3字节的长度是否为整个数据包的长度减预设值。若识别出包头的首字节为预设字段0X01,且第2、3字节的值为整个数据包的长度减1,此时,第一应用处理器10认为数据包中携带有包头标记,认为该包是有效的数据包。
[0146] 本实施例中,包括三种实施方式:
[0147] 1)方式一、解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;若所述包头的第一字节为预设字段,则确定所述包头携带有预设的包头标识。
[0148] 2)方式二、计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;若所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0149] 3)方式三、解析所述包头的第一字节,以确定所述包头的第一字节是否为预设字段;以及计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件;若所述包头的第一字节为预设字段,且所述长度满足预设条件,则确定所述包头携带有预设的包头标识。
[0150] 本发明实施例中,可以根据具体需要设置上述三种方式的任意一种,但是为了提高数据包识别的准确性,优选采用方式三。
[0151] 在采用方式三的情况下,所述处理芯片001接收到数据包之后,可采用多线程分析数据包的包头,即通过一个线程解析包头的第一字节,以确定所述包头的第一字节是否为预设字段。同时,通过另一个线程计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件,当所述包头的第一字节为预设字段,且所述长度满足预设条件,才确定所述包头携带有预设的包头标识。
[0152] 应当理解,采用多线程对包头中的各个字节进行并行分析,无须一个个先后分析,缩短了分析的时间,提高了分析的效率。
[0153] 或者,所述处理芯片001接收到数据包之后,先解析包头的第一节点,以确定所述包头的第一字节是否为预设字段,当所述包头的第一字节为预设字段时,才计算所述包头的第二字节和第三字节的长度,并判断所述长度是否满足预设条件,并在所述长度满足预设条件,则确定所述包头携带有预设的包头标识。需要注意的是,当所述包头的第一字节不为预设字段,此时,就无须再判断第二字节和第三字节的长度,直接认定包头中未携带包头标识即可。
[0154] 可以理解,通过这种前后判断的方式,可以在第一字节符合要求的情况下再继续判断第二字节和第三字节,防止第一字节不满足要求的情况下,还花费资源去进行判断,从而提高了数据包分析的智能性,也避免了资源的浪费。
[0155] 进一步地,提出本发明数据包识别方法第三实施例。
[0156] 数据包识别方法第三实施例与数据包识别方法第一实施例的区别在于,所述步骤S20之前,所述方法还包括:
[0157] 步骤A,所述第一处理芯片001识别所述数据包的长度;
[0158] 步骤B,在所述数据包的长度大于预设长度值,才执行所述对接收的所述数据包的包头进行识别的步骤。
[0159] 在本实施例中,所述第一处理芯片001被唤醒后接收到数据包时,先识别该数据包的长度,然后获取预设长度值,将识别的数据包的长度与预设长度值进行比对,以确定所述数据包的长度是否大于预设长度值,若所述数据包的长度大于预设长度值,所述第一处理芯片001才对接收的所述数据包的包头进行识别,若是识别出所述数据包的长度小于或等于预设长度值,此时可不对接收的所述数据包的包头进行识别。
[0160] 此处需要说明的是,用户数据或控制信令数据对应的数据包(data)的长度一般大于6个字节对应的长度,而应答消息对应的数据包(ack)的长度一般是4或者6个字节。
[0161] 因此,当第一处理芯片001被唤醒后接收到数据包时,先通过包长度判断该数据包是ack还是data,若检测出该数据包没有大于6字节对应的长度,即可确认该数据包是ack,此时说明第二处理芯片002还没发送data,因此不会出现上述的丢包情况,当检测出该数据包大于6个字节对应的长度时,才会对该数据包的包头进行解析。
[0162] 可以理解,本实施例中,在接收到数据包之后,第一处理芯片001先对数据包的长度进行解析,以确定该数据包的类型,从而决定是否对该数据包的包头进行解析,防止所有的数据包都进行包头解析,从而提高了数据包识别的智能性。
[0163] 进一步地,提出本发明数据包识别方法第四实施例。
[0164] 数据包识别方法第四实施例与数据包识别方法第一至第三实施例的区别在于,参照图5,所述步骤S20之后,所述方法还包括:
[0165] 步骤S40,若所述包头携带有预设的包头标识,则所述第一处理芯片001发送确认消息给所述第二处理芯片002,以供所述第二处理芯片002继续发送其它数据包至所述第一处理芯片001。
[0166] 即本实施例中,第一处理芯片001若识别出包头并没有上述的包头标识,此时,认为该数据包是残包,在检验出该数据包为残包之后,会采用数据应答机制进行反馈,以供第二处理芯片002根据第一处理芯片001反馈的数据应答机制决定继续发包,还是重新发送数据包,具体地:
[0167] 当第一处理芯片001识别出数据包为有效的数据包时,也就是检测出数据包中携带有包头标记时,此时,会给第二处理芯片002反馈一个应答ok,以通知第二处理芯片002当前接收到的数据包是完整的数据包,例如:第一应用处理器10通过USB数据线将应答ok传送给第二应用处理器20,此时,第二应用处理器20根据第一应用处理器10反馈的应答ok,通过USB接口继续发送其它的数据包给第一应用处理器10,以完成数据包发送操作。
[0168] 本实施例中,在识别出所述包头携带有预设的包头标识,则发送确认消息给所述第二处理芯片002,以供所述第二处理芯片002继续发送其它数据包至所述第一处理芯片001,从而完成数据的传输过程。
[0169] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0170] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0171] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0172] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。