网络通信功能异常的处理方法、应用处理器和移动终端的制作方法_3

文档序号:9619323阅读:来源:国知局
个通信制式协议栈下面又包括多个子协议栈,例如:TD-LTE协议栈又包括物理层 协议栈、介质访问控制层MAC协议栈、无线链路控制RLC协议栈、RRC协议栈、PDCP协议栈和 NAS协议栈等。此处不再赘述。应用处理器获取调制解调器当前使用的第一协议栈的方法 可以是:应用处理器查询调制解调器中表示协议栈的状态标志位获取当前使用的第一协议 栈,例如标志位1表示对应的协议栈为开启状态,标志位〇表示对应的协议栈为关闭状态。
[0074] S206、所述应用处理器复位所述调制解调器。
[0075] 其中,应用处理器可以向调制解调器发送复位指示,调制解调器根据复位指令进 行复位操作。S206执行完毕后,执行S217。
[0076] S207、所述应用处理器关闭所述第一协议栈,以及从所述调制解调器支持的多个 协议栈中选择除所述第一协议栈的第二协议栈。
[0077] 具体的,调制解调器使用第一协议栈发生内存访问错误,为了防止内存访问错误 反复发生,应用处理器需要关闭第一协议栈。然后,应用处理器确定调制解调器支持的多个 协议栈中选择除第一协议栈的第二协议栈,其中,应用处理器选择的策略可以是:选择比第 一协议栈低一级的协议栈作为第二协议栈;或测量周围各个协议栈对应的小区信号的信号 强度,将信号强度最大的协议栈作为第二协议栈;或选择比第一协议栈高一级的协议栈作 为第二协议栈;或采用其他的策略确定第二协议栈,本发明不作限制。
[0078] S208、所述应用处理器开启所述第二协议栈,并使用所述第二协议栈进行网络注 ΠΠ. 册。
[0079] 具体的,关闭第一协议栈后,移动终端转换为无服务状态,应用处理器开启选择的 第二协议栈,使用第二协议栈进行网络注册,网络注册的过程为:移动向网络侧发起附着 请求(attachrequest),若网络侧允许移动终端接入,向移动终端返回附着响应(attach response),表示网络注册成功,移动终端转换为有服务状态;若网络侧不允许移动终端接 入,向移动终端返回错误信息,表示网络注册失败。
[0080] S209、网络注册是否成功。
[0081] 具体的,应用处理器判断使用第二协议栈是否成功注册上网络,如果S209的判断 结果为是,执行S210 ;如果S209的判断结果为否,执行S211。
[0082] S210、所述应用处理器记录当前的位置信息。需要说明的是,执行完S210之后,可 以并行的执行S214和S212。
[0083] 具体的,位置信息表示移动通信网络中预先规划的逻辑位置的标识,例如,位置信 息包括小区标识或位置区域码等。
[0084] S211、所述应用处理器恢复所述支持的多个协议栈中的默认协议栈的开关状态和 /或复位所述调制解调器。
[0085] 具体的,应用处理器使用第二协议栈未成功注册上网络,应用处理器确定默认协 议栈,恢复默认协议栈以及发送复位指令对调制解调器进行复位操作。默认协议栈为调制 解调器支持的多个协议栈中的一个预先设置的协议栈,此处可以针对所有地区设置同一个 默认的协议栈作为调制解调器初始选择使用的协议栈,也可以针对单个地区或处于某一区 域的多个地区分别设置不同的默认协议栈,本发明实施例不作任何限定。进行复位操作后, 应用处理器使用默认协议栈进行网络注册,网络注册成功后,使用默认协议栈进行工作。
[0086] S212、位置信息是否发生变化。
[0087] 具体的,应用处理器周期性的获取位置信息,在当前获取的位置信息和上一次获 取的位置信息相比发生变化时,执行S210,否则继续执行S212。例如,位置信息为小区标 识,移动终端由一个小区移动到另一小区,表示位置信息发生变化;位置信息为位置区域 码,移动终端由一个位置区域移动到另一个位置区域,表明位置信息发生变化。应用处理器 获取位置信息的周期本发明不作限制,可以根据实际需求进行设置。
[0088] S213、所述应用处理器恢复所述支持的多个协议栈中的默认协议栈的开关状态和 /或复位所述调制解调器。
[0089] 具体的,应用处理器获取调制解调器检测到内存访问错误之前支持的多个协议栈 中各个协议栈对应的初始开关状态,将支持的多个协议栈中各个协议栈对应的当前开关状 态恢复到初始开关状态。调制解调器支持的多个协议栈每次只有一个协议栈为开启状态, 其余的协议栈为关闭状态。
[0090] S214、内存访问错误的异常原因是否已上报。
[0091] 具体的,内存访问错误的异常原因可以通过原因代码来表示,不同的异常原因对 应不同的原因代码,同时异常原因可通过文本描述的方式表示,判断内存访问错误的异常 原因是否已上报过,如果判断结果为是,执行S217 ;如果判断结果为否,执行S215。
[0092] S215、获取所述内存访问错误的异常原因和日志。
[0093] 其中,日志表示调制解调器访问内存的操作信息,操作信息包括:操作指令、操作 时间和返回结果。
[0094] S216、将所述异常原因、所述当前的位置信息和日志上报给网络侧和/或显示所 述异常原因。
[0095] 具体的,应用处理器将异常原因、当前的位置信息和日志上报给网络侧,其中,可 以在移动终端连接上wifi热点的情况下,通过wifi热点将上述信息上报给网络侧,以节省 流量。或者应用处理器也可以将异常原因显示在移动终端的显示屏上,供用户进行查看。
[0096] S217、所述应用处理器处理本次异常结束。
[0097] 实施本发明的实施例,应用处理器接到调制解调器检测到内存访问错误时发送的 异常指示消息,关闭当前使用的协议栈,从支持的多个协议栈中选择出当前使用的协议栈 的其他协议栈,开启其他协议栈并使用其他协议栈注册网络,在注册上网络时,记录当前的 位置信息,在未注册上网络时,恢复默认协议栈并重启调制解调器。这样在调制解调器无法 正常工作时快速的被检测到,并通过网络注册的方式使调制解调器恢复正常,避免强制重 启手机或位置更新造成的耗时过长的问题,减少了网络故障恢复的时间。
[0098] 参见图3,为本发明实施例提供的一种网络通信功能异常的处理方法的另一流程 示意图,在本发明实施例中,所述方法包括:
[0099] S301、调制解调器是否检测到内存访问错误。
[0100] 具体的,调制解调器安装在手机内,可以封装为应用处理器AP内,或独立于应用 处理器,本发明不作限制。调制解调器用于基带信号和射频信号之间的相互转换,主要应用 于数据业务。内存访问错误表示调制解调器访问内存时发生的错误,对内存的操作分为读 操作和写操作两种,读操作和写操作的过程中发生的错误包括:未在内存中读取或写入正 确的数据、读取或写入的地址不正确等,例如:内存访问错误包括:函数之间传递的指针为 空指针,导致读取或写入内存的地址发生错误;读取内存发生越界或写入内存发生越界等 内存访问错误,越界表示读操作或写操作的地址不在指定的地址范围内;内存访问错误的 异常原因可分为多种,相同的内存访问错误可能由不同的异常原因导致的,具体的异常原 因的定位可采用任意已知的手段来确定,本发明不作限制。调制解调器检测是否发生内存 访问错误的方法可以是:在启动调制解调器对应的应用程序时,同时启动BSP程序,调制解 调器对应的应用程序在运行的过程中,BSP程序监控应用程序访问内存是是否发生内存访 问错误,若发生内存访问错误,执行S302,若没有发生错误,执行S301。发生内存访问错误 时,调制解调器对应的应用程序将无法正常运行,甚至导致程序崩溃,由于调制解调器主要 用于数据业务,直接造成用户无法接入互联网。
[0101] S302、所述调制解调器指示应用处理器处理本次异常。
[0102] 具体的,调制解调器指示应用处理器处理本次异常的方法可以是:调制解调器向 应用处理器发送异常指示消息,应用处理器接收到异常指示消息表明调制解调器检测到内 存访问错误,此时应用处理器需要对该异常进行处理。其中,异常指示消息的格式本发明不 作限制,可以利用现有的消息中扩展字段的方式来实现或构造新的消息来实现。
[0103] S303、所述应用处理器确定所述内存访问错误的异常原因。
[0104] 其中,内存访问错误的异常原因多种多样,不同的异常原因均可能造成内存访问 错误,例如:写操作地址越界、读操作地址越界或非法指针等异常原因均能造成内存访问错 误,应用处理器在调制解调器检测到内存访问错误时,确定内存访问错误的异常原因。
[0105] S304、预设时长内相同异常原因的出现次数是否达到预设次数。
[0106] 具体的,预先设置有预设时长和预设次数,在预设时长内调制解调器每检测到内 存访问错误时,确定异常原因,并对各种异常原因进行累计计数,当某种类型的异常原因在 预设时长内的出现次数超过预设次数,表明调制解调器当前使用的协议栈在运行
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1