一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种小区排序方法、装置及用户设备与流程

2022-04-02 04:03:24 来源:中国专利 TAG:


1.本技术实施例涉及通信技术领域,尤其涉及一种小区排序方法、装置及用户设备。


背景技术:

2.在用户设备(user equipment,ue)接入蜂窝移动通信系统时,一般包括小区cell搜索、获取小区系统信息、小区选择及驻留等过程。同一基站下可能挂有多个小区,不同小区的中心频点是不同的。进行小区搜索时,ue可以根据中心频点进行小区搜索,得到搜索小区表,搜索小区表一般按照小区的信号强度进行排列,ue最终一般会选择搜索到的信号强度最佳的小区进行驻留。
3.ue在驻留至小区之后,如果发生了严重的网络卡顿,ue的自愈机制会进行重新注册或者重启调制解调器(modem),重新注册或者重启modem会触发modem的小区搜索动作。再如,在ue发生网络卡顿时,用户经过长时间等待后发现业务仍然无法恢复,可能会手动打开及关闭飞行安全模式,以触发modem的小区搜索。
4.然而,ue在重新进行小区搜索以解决卡顿问题时,依然会选择信号最强的小区驻留,而不会考虑历史驻留小区的卡顿情况。那么,如果信号强度最强的小区是ue原来驻留的小区,那么,ue很可能继续驻留在原来驻留的小区,导致因小区拥塞而造成的ue卡顿的问题无法得到解决。


技术实现要素:

5.本技术实施例提供了一种小区排序方法、装置及用户设备,以解决因小区拥塞等异常导致的ue卡顿的问题。
6.第一方面,本技术实施例提供一种小区排序方法,应用于用户设备,包括:进行小区搜索,得到搜索小区表;判断所述搜索小区表中是否存在卡顿小区,其中,卡顿小区为用户设备驻留后使用户设备发生网络卡顿的小区;如果所述搜索小区表中存在卡顿小区,根据卡顿小区使用户设备发生网络卡顿的时间先后顺序,将卡顿小区排列在所述搜索小区表的表尾;如果所述搜索小区表中不存在卡顿小区,不改变所述搜索小区表中小区的排序。
7.根据上述方法,对于搜索小区表中的卡顿小区,根据卡顿小区使用户设备发生网络卡顿的时间先后顺序,将卡顿小区排列在搜索小区表的表尾,这样,小区在搜素小区表中所处位置由小区的信号强度及拥塞程度共同决定,排列在搜素小区表表尾的小区为卡顿小区,排列在搜索小区表表头的小区为信号强度强且不会使用户设备发生网络卡顿的小区,从而避免用户设备继续驻留在此前驻留过的存在拥塞的小区,解决用户设备网络卡顿的问题。
8.在一种实现方式中,还包括:如果搜索小区表中存在卡顿小区,降低卡顿小区的优先级。这样,用户设备可以选择优先级靠前的小区进行驻留,而不会驻留在优先级靠后的卡顿小区。
9.在一种实现方式中,还包括:如果搜索小区表中存在卡顿小区,将卡顿小区设置为
禁止小区,以禁止用户设备驻留在卡顿小区。
10.在一种实现方式中,判断搜索小区表中是否存在卡顿小区的步骤包括:根据卡顿小区表判断搜索小区表中是否存在卡顿小区,其中,卡顿小区表为对预卡顿小区表进行筛选得到的,预卡顿小区表中包括用户设备历史驻留小区过程中,使用户设备发生网络卡顿的卡顿小区。
11.这样,卡顿小区表中包括用户设备历史驻留小区过程中使用户设备发生网络卡顿的卡顿小区,使用卡顿小区表判断搜索小区表中是否存在卡顿小区,可以找出搜索小区表中的卡顿小区。
12.在一种实现方式中,对所述预卡顿小区表进行筛选的步骤包括:获取预卡顿小区表;判断预卡顿小区表中是否存在老化定时器数值大于等于老化定时器门限的小区,老化定时器是将卡顿小区添加进预卡顿小区表时为卡顿小区设置的定时器;将老化定时器数值大于等于老化定时器门限的小区从预卡顿小区表中删除;将预卡顿小区表中的小区添加至卡顿小区表中。
13.老化定时器的数值越大,那么卡顿小区使ue发生网络卡顿的时间距离当前时刻越久远,老化定时器的数值越小,那么卡顿小区使ue发生网络卡顿的时间距离当前时刻越靠近。将卡顿小区表中老化定时器数值大于老化定时器门限的小区删除,可以使用户设备选择该小区进行驻留,同时可以缓解用户设备对预卡顿小区表及卡顿小区表的存储压力。
14.在一种实现方式中,将预卡顿小区表中的小区添加至卡顿小区表中的步骤包括:判断预卡顿小区表是否为空表;如果预卡顿小区表不为空表,将预卡顿小区表中的小区添加至卡顿小区表中。
15.在一种实现方式中,确定预卡顿小区表的步骤包括:判断用户设备前台是否运行有应用程序;如果用户设备前台运行有应用程序,判断用户设备是否处于网络卡顿状态。在用户使用用户设备时判断用户设备是否处于网络卡顿状态,避免用户设备发生网络卡顿影响用户体验。
16.在一种实现方式中,判断用户设备是否处于网络卡顿状态的步骤包括:判断用户设备的传输控制协议tcp数据包时延是否大于等于门限或者用户设备是否没有接收到数据;如果用户设备的tcp数据包小于门限或者用户设备有接收到数据,则确定用户设备不处于网络卡顿状态;如果用户设备的tcp数据包时延大于等于门限或者用户设备没有接收到数据,判断用户设备的下行误码率是否大于等于下行误码率门限或者用户设备的上行误码率是否大于等于上行误码率门限;如果用户设备的下行误码率大于等于下行误码率门限或者上行误码率大于等于上行误码率门限,则确定用户设备处于网络卡顿状态。
17.在一种实现方式中,判断用户设备是否处于网络卡顿状态的步骤还包括:如果用户设备的下行误码率小于下行误码率门限或者上行误码率小于上行误码率门限,判断用户设备的下行业务量是否小于等于下行业务量门限或上行业务量是否小于等于上行业务量门限;如果用户设备的下行业务量小于等于下行业务量门限或上行业务量小于等于上行业务量门限,则确定用户设备处于网络卡顿状态;如果用户设备的下行业务量大于下行业务量门限或上行业务量大于上行业务量门限,则确定用户设备不处于网络卡顿状态。
18.在一种实现方式中,如果用户设备处于网络卡顿状态,还包括:判断用户设备的卡顿定时器是否已启动,卡顿定时器是用于记录用户设备处于网络卡顿状态的时长的定时
器;如果用户设备没有启动的卡顿定时器,为用户设备设置卡顿定时器。以对用户设备持续处于网络卡顿状态的时长进行记录,提高预卡顿小区表的准确性。
19.在一种实现方式中,还包括:如果用户设备的卡顿定时器已启动,判断用户设备当前驻留小区与判断用户设备前台是否运行有应用程序时的小区是否为同一小区,以确定用户设备驻留小区是否已变更;如果用户设备驻留小区已变更,停止卡顿定时器,并重新执行判断用户设备前台是否运行有应用程序的步骤。判断用户设备驻留的小区已经发生变更,以确定用户设备的网络卡顿状态是否已经发生变化,提高预卡顿小区表的准确性。
20.在一种实现方式中,还包括:如果用户设备驻留小区没有变更,判断卡顿定时器的数值是否大于等于卡顿定时器门限;如果卡顿定时器的数值小于卡顿定时器门限,重新执行判断用户设备前台是否运行有应用程序的步骤。判断卡顿定时器的数值是否大于等于门限,以确定用户设备是否为持续性卡顿,提高预卡顿小区表的准确性。
21.在一种实现方式中,还包括:如果卡顿定时器的数值大于等于卡顿定时器门限,停止卡顿定时器,并根据用户设备当前驻留小区的小区信息判断用户设备当前驻留小区是否在预卡顿小区表中;如果用户设备当前驻留小区不在预卡顿小区表中,将用户设备当前驻留小区添加进预卡顿小区表中,并为用户设备当前驻留小区设置老化定时器;如果用户设备当前驻留小区在预卡顿小区表中,重置用户设备当前驻留小区的老化定时器,以使老化定时器重新计时,并重新执行判断用户设备前台是否运行有应用程序的步骤。老化定时器的数值大小用于表示卡顿小区使用户设备发生网络卡顿的时间先后顺序,老化定时器的数值越大的小区,该卡顿小区使用户设备发生网络卡顿的时间越靠前,老化定时器的数值越小的小区,该卡顿小区使用户设备发生网络卡顿的时间越靠后,老化定时器的数值决定了小区在卡顿小区表中的位置。
22.在一种实现方式中,将用户设备当前驻留小区添加进预卡顿小区表中,并为用户设备当前驻留小区设置老化定时器的步骤前,还包括:判断预卡顿小区表中的小区数量是否已经达到预卡顿小区表可容纳小区数量的最大值;如果已经达到预卡顿小区表可容纳小区数量的最大值,将预卡顿小区表中老化定时器数值最大的小区从预卡顿小区表中删除。判断预卡顿小区表中的小区数量是否已经达到预卡顿小区表可容纳小区数量的最大值,以确保顺利将卡顿小区添加进预卡顿小区表中。
23.在一种实现方式中,如果用户设备不处于网络卡顿状态,还包括:判断预卡顿小区表是否为空表;如果预卡顿小区表为空表,重新执行判断用户设备前台是否运行有应用程序的步骤;如果预卡顿小区表不为空表,根据用户设备当前驻留小区的小区信息判断用户设备当前驻留小区是否在预卡顿小区表中;如果用户设备当前驻留小区不在预卡顿小区表中,重新执行判断用户设备前台是否运行有应用程序的步骤。在用户设备不处于网络卡顿状态时,判断预卡顿小区表是否为空表,可以确定是否存在使用户设备发生卡顿的小区。
24.在一种实现方式中,还包括:如果用户设备当前驻留小区在预卡顿小区表中,判断用户设备的卡顿恢复定时器是否已启动,卡顿恢复定时器是用于表示用户设备持续处于不卡顿状态的时长的定时器;如果用户设备没有启动的卡顿恢复定时器,为用户设备设置卡顿恢复定时器。为用户设备设置卡顿恢复定时器,以对用户设备持续处于不卡顿状态的时长进行记录,提高预卡顿小区表的准确性。
25.在一种实现方式中,还包括:如果用户设备的卡顿恢复定时器已启动,判断用户设
备当前驻留小区与判断用户设备前台是否运行有应用程序时的小区是否为同一小区,以确定用户设备当前驻留小区是否已变更;如果用户设备当前驻留小区已变更,停止卡顿恢复定时器,并重新执行判断用户设备前台是否运行有应用程序的步骤。判断用户设备驻留的小区已经发生变更,以确定用户设备的不卡顿状态是否已经发生变化,提高预卡顿小区表的准确性。
26.在一种实现方式中,还包括:如果用户设备当前驻留小区没有变更,判断卡顿恢复定时器的数值是否大于等于卡顿恢复定时器门限;如果卡顿恢复定时器的数值小于卡顿恢复定时器门限,重新执行判断用户设备前台是否运行有应用程序的步骤;如果卡顿恢复定时器的数值大于等于卡顿恢复定时器门限,停止卡顿恢复定时器,并将用户设备当前驻留小区从预卡顿小区表中删除,重新执行判断用户设备前台是否运行有应用程序的步骤。判断卡顿恢复定时器的数值是否大于等于门限,以确定用户设备是否持续处于不卡顿状态,提高预卡顿小区表的准确性。
27.在一种实现方式中,还包括:如果用户设备前台没有运行应用程序,停止卡顿定时器及卡顿恢复定时器,并重新执行判断用户设备前台是否运行有应用程序的步骤。
28.第二方面,本技术实施例还提供一种小区排序装置。该装置包括:小区搜索单元,用于进行小区搜索,得到搜索小区表;判断单元,用于判断搜索小区表中是否存在卡顿小区,其中,卡顿小区为用户设备驻留后使用户设备发生网络卡顿的小区;排序单元,用于如果搜索小区表中存在卡顿小区,根据卡顿小区使ue发生网络卡顿的时间先后顺序,将卡顿小区排列在搜索小区表的表尾;排序单元,还用于如果搜索小区表中不存在卡顿小区,不改变搜索小区表中小区的排序。
29.根据本技术实施例提供的小区排序装置,对于搜索小区表中的卡顿小区,根据卡顿小区使用户设备发生网络卡顿的时间先后顺序,将卡顿小区排列在搜索小区表的表尾,这样,小区在搜素小区表中所处位置由小区的信号强度及拥塞程度共同决定,排列在搜素小区表表尾的小区为卡顿小区,排列在搜索小区表表头的小区为信号强度强且不会使用户设备发生网络卡顿的小区,从而避免用户设备继续驻留在此前驻留过的存在拥塞的小区,解决用户设备网络卡顿的问题。
30.第三方面,本技术实施例提供了一种用户设备,包括:处理器和存储器;存储器存储有程序指令,当程序指令被处理器执行时,使得用户设备执行上述各方面及其各个实现方式中的方法。
31.第四方面,本技术实施例还提供了一种芯片系统,该芯片系统包括处理器和存储器,存储器存储有程序指令,当程序指令被处理器执行时,使得芯片系统执行上述各方面及其各个实现方式中的方法。例如,生成或处理上述方法中所涉及的信息。
32.第五方面,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有程序指令,当程序指令在计算机上运行时,使得计算机执行上述各方面及其各个实现方式中的方法。
33.第六方面,本技术实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面及其各个实现方式中的方法。
附图说明
34.图1为根据本技术实施例的ue 101的硬件结构示意图;图2是本技术实施例的ue 101的软件结构框图;图3是目前ue选择小区进行驻留的示意图;图4为本技术实施例提供的小区排序方法100的流程示意图;图5为本技术实施例提供的示意性的搜索小区表;图6为本技术实施例提供的小区排序方法200的流程示意图;图7为本技术实施例提供的根据卡顿小区表对搜索小区表中小区排序的示意图;图8为本技术实施例提供的形成预卡顿小区表的流程示意图;图9是本技术实施例提供的一种小区排序装置的结构示意图;图10是本技术实施例提供的另一种小区排序装置的结构示意图。
具体实施方式
35.本技术说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
36.在本技术实施例中,“示例性的”或者“例如”等词用于表示作示例、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
37.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术,下面将结合附图对本技术的实施例进行详细描述。
38.蜂窝移动通信系统(cellular mobile communication system)是一种移动通信硬件架构,在蜂窝移动通信系统中,信号覆盖区域被划分为一个个的小区(cell)。同一基站下可能挂有多个小区,每个小区可以被分配多个频率(中心频点),不同小区的中心频点是不同的。驻留在小区内的ue可以通过无线信道可靠地与基站进行通信。
39.在ue接入蜂窝移动通信系统时,一般包括小区搜索、获取小区系统信息、小区选择及驻留等过程。进行小区搜索时,ue可以根据中心频点进行小区搜索,得到搜索小区表,搜索小区表一般按照小区的信号强度进行排列,ue最终一般会选择搜索到的信号强度最佳的小区进行驻留。
40.具体的,在进入小区搜索后,ue会在中心频点上接受信号(pss),以接收信号强度来判断这个频点周围是否可能存在小区。在这一过程中,如果ue保存了上一次驻留的小区的频点(历史频点),那么ue会首先尝试根据历史频点选择驻留的小区。如果ue没有保存的频点,ue会在蜂窝移动通信系统的频带范围内做全频段扫描,发现信号较强的频点尝试进行小区驻留。
41.小区驻留一般还包括以下标准:小区的plmn(public land mobile network,公共陆地移动网络)是否可以被ue接受(plmn选择标准),小区的服务类型是否接受ue的附着(服务类型标准)以及信号强度,在上述标准的共同约束下,可以得到搜索小区表。
42.通常的,上述蜂窝移动通信系统可以是第五代移动通信网络(5th generation mobile networks,5g)、第四代移动通信网络(4th generation mobile networks,4g)或者
长期演进技术(long term evolution,lte)等通信系统,ue可以自由选择接入何种网络。
43.本技术实施例中的用户设备ue例如可以包括手机、平板电脑、个人电脑、工作站设备、大屏设备(例如,智慧屏、智能电视等)、掌上游戏机、家用游戏机、虚拟现实设备、增强现实设备、混合现实设备等、车载智能终端、自动驾驶汽车、用户驻地设备(customer-premises equipment,cpe)等。
44.图1示出了ue101的结构示意图。
45.ue101可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
46.可以理解的是,本发明实施例示意的结构并不构成对ue101的具体限定。在本技术另一些实施例中,ue101可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
47.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
48.控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
49.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
50.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
51.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,
闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现ue101的触摸功能。
52.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
53.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
54.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
55.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现ue101的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现ue101的显示功能。
56.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
57.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为ue101充电,也可以用于ue101与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
58.可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对ue101的结构限定。在本技术另一些实施例中,ue101也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
59.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过ue101的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
60.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141
system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
67.ue101通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
68.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,ue101可以包括1个或n个显示屏194,n为大于1的正整数。
69.ue101可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
70.isp 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
71.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,ue101可以包括1个或n个摄像头193,n为大于1的正整数。
72.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当ue101在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
73.视频编解码器用于对数字视频压缩或解压缩。ue101可以支持一种或多种视频编解码器。这样,ue101可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
74.npu为神经网络(neural-network ,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现ue101的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
75.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展ue101的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
76.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储ue101使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可
以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行ue101的各种功能应用以及数据处理。
77.ue101可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
78.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
79.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。ue101可以通过扬声器170a收听音乐,或收听免提通话。
80.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当ue101接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
81.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。ue101可以设置至少一个麦克风170c。在另一些实施例中,ue101可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,ue101还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
82.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
83.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。ue101根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,ue101根据压力传感器180a检测所述触摸操作强度。ue101也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
84.陀螺仪传感器180b可以用于确定ue101的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定ue101围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测ue101抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消ue101的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
85.气压传感器180c用于测量气压。在一些实施例中,ue101通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
86.磁传感器180d包括霍尔传感器。ue101可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当ue101是翻盖机时,ue101可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
87.加速度传感器180e可检测ue101在各个方向上(一般为三轴)加速度的大小。当ue101静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
88.距离传感器180f,用于测量距离。ue101可以通过红外或激光测量距离。在一些实施例中,拍摄场景,ue101可以利用距离传感器180f测距以实现快速对焦。
89.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。ue101通过发光二极管向外发射红外光。ue101使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定ue101附近有物体。当检测到不充分的反射光时,ue101可以确定ue101附近没有物体。ue101可以利用接近光传感器180g检测用户手持ue101贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
90.环境光传感器180l用于感知环境光亮度。ue101可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测ue101是否在口袋里,以防误触。
91.指纹传感器180h用于采集指纹。ue101可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
92.温度传感器180j用于检测温度。在一些实施例中,ue101利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,ue101执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,ue101对电池142加热,以避免低温导致ue101异常关机。在其他一些实施例中,当温度低于又一阈值时,ue101对电池142的输出电压执行升压,以避免低温导致的异常关机。
93.触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于ue101的表面,与显示屏194所处的位置不同。
94.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
95.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。
ue101可以接收按键输入,产生与ue101的用户设置以及功能控制有关的键信号输入。
96.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
97.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
98.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和ue101的接触和分离。ue101可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。ue101通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,ue101采用esim,即:嵌入式sim卡。esim卡可以嵌在ue101中,不能和ue101分离。
99.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的android系统为例,示例性说明电子设备100的软件结构。
100.图2是本发明实施例的ue101的软件结构框图。
101.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。
102.应用程序层可以包括一系列应用程序包。
103.如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
104.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
105.如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
106.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
107.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
108.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
109.电话管理器用于提供ue101的通信功能。例如通话状态的管理(包括接通,挂断等)。
110.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,
视频文件等等。
111.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
112.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
113.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
114.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
115.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
116.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
117.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: mpeg4,h.264,mp3,aac,amr,jpg,png等。
118.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
119.2d图形引擎是2d绘图的绘图引擎。
120.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
121.下面结合捕获拍照场景,示例性说明ue101软件以及硬件的工作流程。
122.当触摸传感器180k接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
123.ue在驻留至小区之后,如果发生了严重的网络卡顿,ue的自愈机制会进行重新注册或者重启modem,重新注册或者重启modem都会触发modem的小区搜索动作。在ue发生卡顿时,用户经过长时间等待后发现业务仍然无法恢复,可能会手动打开及关闭飞行安全模式,以触发modem的小区搜索。关闭飞行安全模式后,ue会进行小区搜索操作,以选择小区进行驻留。
124.其中,网络卡顿可能是由小区拥塞导致的,可能是小区误码高导致的,也可能是因为基站存在故障导致的,具体表现形式可能是无法访问网页等。小区搜索后ue可能选择新的小区进行驻留,这样,就解决了因小区拥塞导致的网络卡顿的问题。
125.然而,ue在重新进行小区搜索以解决卡顿问题时,依然会选择信号最强的小区进
行驻留,而不会考虑历史驻留小区的卡顿情况,如果信号强度最强的小区仍然是ue原来驻留的小区,那么,ue很可能继续驻留在原来驻留的小区,小区搜索的动作没有使ue驻留新的小区,导致因小区拥塞而造成的ue卡顿的问题就无法得到解决。
126.图3是目前ue选择小区进行驻留的示意图,如图3所示,ue所处环境中存在小区cell a和小区cell b,ue当前驻留小区为cell a,且cell a的信号强度优于cell b,例如cell a的信号强度为-90dbm,cell b的信号强度为-95dbm。当cell a发生网络拥塞时,会导致ue与基站之间的数据传输受阻,使ue出现网络卡顿。此时,ue可能会重新注册或者重启modem以尝试恢复蜂窝网络,用户也可能手动打开及关闭飞行安全模式以尝试恢复蜂窝网络。但是,由于cell a的信号强度优于cell b,在进行上述操作后,ue驻留的小区很可能仍是cell a,cell a作为存在拥塞的问题小区,仍会继续导致ue产生网络卡顿,即ue网络卡顿问题没有得到缓解。
127.为解决ue重新进行小区搜索后驻留的小区可能仍是存在网络拥塞的小区的问题,本技术实施例提供了一种小区排序方法,该方法可以应用于用户设备ue,能够在ue重新进行小区搜索、根据小区搜索结果选择小区进行驻留时,从信号强度和小区是否存在网络拥塞两方面考虑,降低ue仍驻留在发生网络拥塞的小区可能性。
128.图4为本技术实施例提供的小区排序方法100的流程示意图。如图4所示,该小区排序方法100可以包括以下步骤:s101:ue进行小区搜索,得到搜索小区表。
129.搜索小区表是ue在进行小区搜索后,对搜索得到的小区按照信号强弱依次排列得到的表。信号强度强的小区排列在搜索小区表的前端,信号强度弱的小区排列在搜索小区表的后端。搜索小区表可以包括ue在当前时刻能够搜索到的全部小区。图5为本技术实施例提供的示意性的搜索小区表,如图5所示,ue周围有cell 1-cell 4共四个小区,其中,cell 1为ue当前驻留小区cell 1的信号强度为-65dbm,cell 2的信号强度为-95dbm,cell 3的信号强度为-90dbm,cell 4的信号强度为-100dbm,按照信号强度排序如下:cell 1、cell 3、cell 2、cell 4。
130.在一些实现方式中,ue可以根据历史频点进行小区搜索,搜索后排在搜索小区表表头的小区是历史频点对应的小区。ue也可以直接做全频段扫描,搜索后排在搜索小区表表头的小区是信号强度最强的小区,该小区可能是历史频点对应的小区,也可能是其他小区。
131.ue开始进行小区搜索,可以是ue发生卡顿时的自愈机制引起的,也可以是ue发生卡顿时用户手动开关飞行安全模式引起的,也可以是ue开机接入网络或者ue断网引起的,还可以是小区切换或小区重选引起的。
132.s102:判断搜索小区表中是否存在卡顿小区,其中,卡顿小区为ue驻留后使ue发生网络卡顿的小区。
133.s103:如果搜索小区表中存在卡顿小区,根据卡顿小区使ue发生网络卡顿的时间先后顺序,将卡顿小区排列在搜索小区表的表尾。
134.ue如果选择搜索小区表中的卡顿小区进行驻留会继续发生网络卡顿,因此,可以将卡顿小区排列在搜索小区表的表尾处,这样,排列在搜索小区表表头位置的小区为信号强度优且不会使ue发生网络卡顿的小区,ue可以首先选择排列在搜索小区表表头位置的小
区驻留。
135.对于搜索小区表中的卡顿小区,卡顿小区使ue发生网络卡顿的时间越靠前,该卡顿小区使ue发生网络卡顿至当前时刻的时间间隔越长,在卡顿小区使ue发生网络卡顿至当前时刻这一时间段内,该卡顿小区不再存在网络拥塞的可能性越大,因此,使ue发生卡顿的时间越靠前的卡顿小区,在搜索小区表中的位置排列越靠前。
136.在一些实现方式中,本技术实施例提供的小区排序方法,还可以包括以下步骤:s104:如果搜索小区表中存在卡顿小区,降低卡顿小区的优先级。
137.为搜索小区表中的小区赋予优先级,可以用于对搜索小区表中的小区进行排序。卡顿小区在搜索小区表中的优先级低,排序靠后。ue会首先选择优先级高的小区进行驻留,而不会选择优先级低的卡顿小区进行驻留,这样,可以避免ue驻留在卡顿小区。
138.s105:如果搜索小区表中存在卡顿小区,将卡顿小区设置为禁止小区,以禁止用户设备驻留在卡顿小区。
139.本技术实施例提供的技术方案中,如果某小区为卡顿小区,可以将该卡顿小区设置为禁止小区(cell barred),这样,可以避免ue驻留在卡顿小区。
140.下面对本技术实施例提供的小区排序方法进行进一步说明。
141.图6为本技术实施例提供的小区排序方法200的流程示意图。如图6所示,本技术实施例提供的小区排序方法包括以下步骤:s201:ue进行小区搜索,执行s202。
142.s202:判断ue是否搜索到小区。
143.如果ue搜索到小区,执行s203。其中,如果ue搜索到小区,ue可以将搜索到的小区按照信号强弱进行排列,得到搜索小区表。
144.如果ue没有搜索到小区,继续执行s202。
145.为了判断搜索小区表中的小区是否为卡顿小区,本技术实施例提供了一种预卡顿小区表,预卡顿小区表中包括ue历史驻留小区的过程中,使ue发生网络卡顿的卡顿小区。
146.s203:判断预卡顿小区表中是否存在老化定时器数值大于等于老化定时器门限的小区。
147.其中,老化定时器t
pre,badcell,age
是将卡顿小区添加进预卡顿小区表时为卡顿小区设置的定时器。老化定时器的数值越大,表明卡顿小区使ue发生网络卡顿的时间距离当前时刻越久远,老化定时器的数值越小,表明卡顿小区使ue发生网络卡顿的时间距离当前时刻越靠近。由于在卡顿小区使ue发生网络卡顿的时间至当前时刻这一时间段内,卡顿小区网络拥塞的问题可能已经得到解决,因此老化定时器的数值越大,ue驻留该问题小区后仍发生卡顿的可能性就越小。
148.如果预卡顿小区表中有老化定时器数值大于等于老化定时器门限的小区,执行s204。
149.如果预卡顿小区表中没有老化定时器数值大于等于老化定时器门限的小区,执行s205。
150.s204:将老化定时器数值大于老化定时器门限的小区从预卡顿小区表中删除,执行s205。
151.s205:判断预卡顿小区表是否为空表。如果预卡顿小区表不为空表,执行s206。如
果预卡顿小区表为空表,执行s209。
152.s206:将预卡顿小区表中的小区添加至卡顿小区表中,执行s207。
153.s203-s205是对预卡顿小区表进行筛选的过程,筛选后保留下来的小区可以经过s206添加进卡顿小区表中,即卡顿小区表是ue对预卡顿小区表筛选得到的。
154.在一些实现方式中,卡顿小区表还可以由下述方式确定:将小区内驻留ue数大于门限的小区作为卡顿小区添加进卡顿小区表中。
155.s207:根据卡顿小区表判断搜索小区表中是否存在卡顿小区。其中,对于搜索小区表中的小区,如果可以在卡顿小区表中找到,那么该小区为卡顿小区,如果不能在卡顿小区表中找到,那么该小区不是卡顿小区。
156.如果存在卡顿小区,执行s208;如果不存在卡顿小区,执行s209。
157.在一些实现方式中,在执行s203-s205对预卡顿小区表进行筛选后,也可以直接将筛选后的预卡顿小区表作为卡顿小区表应用至s207中,以直接利用该预卡顿小区表对搜索小区表中的小区是否为卡顿小区进行判断,即预卡顿小区表和卡顿小区表可以为同一张表。卡顿小区表由哪种实现方式确定,本技术对此不做具体限定。
158.s208:将搜索小区表中的卡顿小区,按照老化定时器数值的大小排序后置于搜序小区表表尾。
159.老化定时器的数值大小可以用于表示卡顿小区使ue发生网络卡顿的时间先后顺序,老化定时器的数值越大的小区,该卡顿小区使ue发生网络卡顿的时间越靠前,ue驻留该小区后发生网络卡顿的可能性就越小,老化定时器的数值越小的小区,该卡顿小区使ue发生网络卡顿的时间越靠后,ue驻留该小区后发生网络卡顿的可能性就越大,因此老化定时器的数值决定了小区在卡顿小区表中的位置,老化定时器数值越大的小区在卡顿小区表中的位置越靠前,老化定时器数值越小的小区在卡顿小区表中的位置越靠后。
160.s209:搜索小区表中不是卡顿小区的小区,不改变其排序,置于搜索小区表表头。
161.小区在搜索小区表中是按照信号强弱进行排序的,对于搜索小区表中不是卡顿小区的小区,可以不改变其在搜索小区表中的排序。这样,小区在搜索小区表中所处位置由信号强度和小区拥塞程度共同决定,排列在搜索小区表最前端的小区是信号强度最强且不会使ue产生网络卡顿的小区,在ue选择驻留的小区时,可以优先选择排列在搜索小区表最前端的小区。
162.图7为本技术实施例提供的根据卡顿小区表对搜索小区表中小区排序的示意图,如图7所述,例如,对于cell 1、cell 2、cell 3及cell 4,其中,上述小区在搜索小区表中的排序为cell 1、cell 3、cell 2、cell 4,通过判断发现,cell 1及cell 2在卡顿小区表中,且cell 1的老化定时器大于cell 2的老化定时器的数值,所以cell 1应当排列在cell 2的前面,cell 1及cell 2的排序位于搜索小区表表尾,cell 3及cell 4的排序位于搜索小区表表头,卡顿小区表的表头部分的排序为:cell 3、cell 4,完整的最终搜索小区表的排序如下:cell 3、cell 4、cell 1、cell 2。
163.图8为本技术实施例提供的形成预卡顿小区表的流程示意图,如图8所示,本技术实施例还包括以下形成预卡顿小区表的步骤。
164.预卡顿小区表中包括ue历史驻留小区和当前驻留小区,在ue驻留这些小区时发生了卡顿,因此,首先需要对ue是否发生卡顿进行判断。
165.s301:判断ue前台是否运行有应用程序。如果ue前台运行有应用程序,执行s302,如果ue前台没有运行应用程序,执行s320。
166.一般来说,ue前台运行有应用程序表明用户此时正在使用应用程序,如果在用户使用应用程序过程中ue发生卡顿,会影响用户使用体验。
167.s302:判断ue的tcp数据包时延是否大于等于门限或者ue是否没有接收到数据,如果tcp数据包时延大于等于门限或者ue没有接收到数据,执行s303,如果tcp数据包时延小于门限或者ue有接收到数据,执行s313。
168.其中,时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间,tcp数据包时延为tcp数据包传输过程的时间,如果tcp数据包时延大于等于门限,那么tcp数据包的传输存在异常,具体表现为ue出现网络卡顿,影响tcp数据包传输的因素一般为ue驻留小区负载或者tcp数据包大小等。
169.如果tcp数据包时延大于等于门限或者ue没有接收到数据,那么ue可能存在网络卡顿,需要执行s303以做进一步判断,如果tcp数据包时延小于门限或者ue有接收到数据,那么ue不存在网络卡顿,可以继续执行s313。
170.判断ue是否接收到数据时,可以对tcp(transmission control protocol,传输控制协议)数据包、udp(user datagram protocol,用户数据包协议)数据包或者dns(domain name system,域名系统)数据包进行判断,如果三种数据包ue均没有接收到,那么ue的数据包传输存在异常。
171.s303:判断ue的下行误码率是否大于等于下行误码率门限或者ue的上行误码率是否大于等于上行误码率门限,以确定ue是否处于网络卡顿状态。如果ue的下行误码率小于下行误码率门限或者ue的上行误码率小于上行误码率门限,执行s304,如果ue的下行误码率大于等于下行误码率门限或者ue的上行误码率大于等于上行误码率门限,执行s305。
172.误码率是衡量数据在规定时间内数据传输精确性的指标,下行误码率大于门限或者上行误码率大于门限,也可表示ue存在网络卡顿。如果tcp数据包时延大于等于门限或者ue没有接收到数据,同时ue的下行误码率大于等于下行误码率门限或者ue的上行误码率大于等于上行误码率门限,那么可以直接确定ue处于网络卡顿状态,ue的数据传输存在异常,且产生数据传输异常的原因为ue的网络状态存在异常。
173.如果tcp数据包时延大于等于门限或者ue没有接收到数据,同时ue的下行误码率小于下行误码率门限或者上行误码率小于等于误码率门限,即ue数据传输过程中tcp数据包时延大于等于门限但上行误码率或上行误码率不存在异常,那么为了进一步确认ue数据传输是否存在异常,即进一步确定ue是否处于网络卡顿状态,还可以对ue的上行业务量及下行业务量进行判断。
174.在一些实现方式中,单独判断ue的tcp数据包时延是否大于等于门限或ue是否没有接收到数据,也可以直接确定ue是否处于网络卡顿状态,即,如果ue的tcp数据包时延大于等于门限或ue没有接收到数据,则ue处于网络卡顿状态,如果ue的tcp数据包时延小于门限或ue接收到数据,则ue不处于网络卡顿状态。本技术对使用哪种判断方式确定ue是否处于网络卡顿状态不做具体限定。
175.在一些实现方式中,单独判断ue的下行误码率或上行误码率与门限的关系,也可以直接确定ue是否处于网络卡顿状态,即,如果ue的下行误码率大于等于下行误码率门限
或上行误码率大于等于上行误码率门限,则ue处于网络卡顿状态,如果ue的下行误码率小于下行误码率门限或上行误码率小于上行误码率门限,则ue不处于网络卡顿状态。本技术对使用哪种判断方式确定ue是否处于网络卡顿状态不做具体限定。
176.s304:判断ue的下行业务量是否小于等于下行业务量门限或上行业务量是否小于等于上行业务量门限,以确定ue是否处于网络卡顿状态。如果ue的下行业务量小于等于下行业务量门限或上行业务量小于等于上行业务量门限,执行s305,如果ue的下行业务量大于下行业务量门限或上行业务量大于上行业务量门限,执行s313。
177.在本技术实施例中,如果tcp数据包时延大于等于门限或者ue没有接收到数据,同时ue的下行业务量小于等于下行业务量门限或者上行业务量小于等于上行业务量门限,ue数据传输存在异常,也可以直接确定ue处于网络卡顿状态。
178.在一些实现方式中,单独判断ue的上行业务量或下行业务量与门限的关系,也可以直接确定ue是否处于网络卡顿状态,即,如果ue的下行业务量小于等于下行业务量门限或上行业务量小于等于上行业务量门限,则ue处于网络卡顿状态,如果ue的下行业务量大于下行业务量门限或上行业务量大于上行业务量门限,则ue不处于网络卡顿状态。本技术对使用哪种判断方式确定ue是否处于网络卡顿状态不做具体限定。
179.s305:判断ue的卡顿定时器t是否已启动,其中,卡顿定时器是用于记录ue持续处于网络卡顿状态的时长的定时器。
180.如果ue的卡顿定时器已经启动,执行s306,如果ue的卡顿定时器没有启动,执行s321。
181.在本技术实施例中,如果卡顿定时器为开启状态,那么在此前ue的卡顿状态已经使卡顿定时器开启,即ue持续保持在卡顿状态。如果没有开启状态的卡顿定时器,那么执行s321为ue设置卡顿定时器并启动,以对ue进入卡顿状态的时长进行记录。
182.s306:判断ue当前驻留小区与判断ue前台是否运行有应用程序时的小区是否为同一小区,以确定ue驻留小区是否已变更。如果ue驻留小区没有变更,执行s307,如果ue驻留小区已变更,执行s323。
183.在ue的运行过程中,会存在一些ue驻留小区变更的情形。例如,在ue发生卡顿时ue的自愈机制使得ue变更驻留小区。或者如果用户感知到ue发生卡顿,用户可能手动触发ue小区搜索操作,并对ue小区搜索操作得到的搜索小区表进行手动选择,以确定ue驻留的小区。因此,本技术实施例还对ue驻留小区是否变更进行了判断。
184.具体示例如下:在判断ue前台是否运行有应用程序时,ue驻留的小区可以为cell p,在判断ue是否存在卡顿后,ue驻留的小区由cell p变更为cell q,如果此时不进行ue驻留小区是否变更的判断,而是继续执行s307,如果卡顿定时器的数值小于等于卡顿定时器门限,本技术实施例提供的方法会继续执行s201以确定ue是否仍处于卡顿状态,但是,此时ue的驻留小区已由cell p变更为cell q,那么在继续执行s201及后续步骤时,执行结果为ue驻留cell q时的结果,这一执行结果并不能用于确定是否将cell p添加至预卡顿小区表中,因此,可以在卡顿定时器超时之前,对ue驻留的小区是否变更进行确定。
185.如果ue当前驻留小区为cell q,而在判断ue前台是否运行有应用程序时的小区为cell p,那么ue驻留的服务小区已经发生了变更,而此时ue的卡顿定时器是由于驻留cell p而设置的,因此在确定ue驻留的服务小区发生变更后,可以执行s323以将该卡顿定时器停
止。
186.s307:判断卡顿定时器的数值是否大于等于卡顿定时器门限。其中,如果卡顿定时器的数值大于卡顿定时器门限,表明ue的卡顿状态已经持续了一段时间,如果卡顿定时器的数值小于等于卡顿定时器门限,那么不能确定导致卡顿定时器开启的卡顿事件是否为持续性的卡顿,此时可以再次执行s301的判断过程,以进一步确定。
187.如果卡顿定时器的数值大于等于卡顿定时器门限,执行s308,如果卡顿定时器的数值小于卡顿定时器门限,执行s301。
188.s308:停止卡顿定时器,执行s309。
189.s309:获取ue当前驻留小区的小区信息,执行s310。其中,ue当前驻留小区的小区信息可以为小区标识ci(cell identifier)、频点frequency及物理小区标识pci(physical cell identifier)等。
190.s310:根据ue当前驻留小区的小区信息,判断ue当前驻留小区是否在预卡顿小区表中。如果ue当前驻留小区在预卡顿小区表中,执行s324,如果ue当前驻留小区不在预卡顿小区表中,执行s311。
191.s311:判断预卡顿小区表中的小区数量是否已经达到预卡顿小区表可容纳小区数量的最大值。如果预卡顿小区表中的小区数量已经达到预卡顿小区表可容纳小区数量的最大值,执行s312,如果预卡顿小区表中的小区数量没有达到预卡顿小区表可容纳小区数量的最大值,执行s325,以将ue当前驻留小区添加进预卡顿小区表中。
192.如果预卡顿小区表中的小区数量已经达到预卡顿小区表可容纳小区数量的最大值,那么在将ue当前驻留小区添加进预卡顿小区表时,可能会出现添加失败的情形。老化定时器数值较大,表示该小区进入预卡顿小区表的时间较长,ue驻留该小区后仍发生卡顿的可能性较小,因此,为了顺利将当前卡顿小区作为问题小区顺利添加进预卡顿小区表中,可以将老化定时器数值最大的小区从预卡顿小区表中删除。
193.s312:将老化定时器数值最大的小区从预卡顿小区表中删除,执行s325。
194.s313:判断预卡顿小区表是否为空表,如果预卡顿小区表为空表,执行s301,如果预卡顿小区表不为空表,执行s314。
195.在确定ue不处于网络卡顿状态后,如果预卡顿小区表为空表,那么不存在导致ue发生卡顿的小区,可以执行s301,继续判断ue的网络状态。
196.s314:根据ue当前驻留小区的小区信息,判断ue当前驻留小区是否在预卡顿小区表中。如果ue当前驻留小区在预卡顿小区表中,执行s315,如果ue当前驻留小区不在预卡顿小区表中,执行s301。
197.其中,如果ue当前驻留小区不在预卡顿小区表中,那么在ue在根据预卡顿小区表进行驻留小区的选择时,仍可以选择该当前驻留小区,因此,在通过s301-s314判断该驻留小区不会使ue发生网络卡顿且该驻留小区不在预卡顿小区表中后,可以执行s301,以继续判断ue是否存在网络卡顿。在通过s301-s314判断该驻留小区不会使ue发生网络卡顿且该驻留小区在预卡顿小区表中后,可以执行s315,以判断是否将该驻留小区从预卡顿小区表中删除。
198.s315:判断ue的卡顿恢复定时器t
recovery
是否已启动,其中,卡顿恢复定时器是用于表示ue持续处于不卡顿状态的时长的定时器。
199.如果ue的卡顿恢复定时器已启动,则执行s316,如果ue的卡顿恢复定时器未启动,则执行s326。
200.如果ue当前未处于卡顿状态,但是ue当前驻留小区为预卡顿小区表中,那么当前驻留小区曾经使得ue处于卡顿状态,并被添加进了预卡顿小区表中。而当前时刻驻留在该小区并未使得ue处于卡顿状态,因此可以为ue设置卡顿恢复定时器,以记录ue驻留在该小区持续保持不卡顿状态的时长。
201.如果卡顿恢复定时器为开启状态,那么在此前ue的不卡顿状态已经使卡顿恢复定时器开启,即ue持续保持在不卡顿状态。如果没有开启状态的卡顿恢复定时器,可以执行s326设置卡顿恢复定时器,以对ue进入不卡顿状态的时长进行记录。
202.s316:判断ue当前驻留小区与判断ue前台是否运行有应用程序时的小区是否为同一小区,以确定ue当前驻留小区是否已变更,如果ue当前驻留小区没有变更,执行s317,如果ue当前驻留小区已变更,执行s328。
203.在ue的运行过程中,会存在一些ue驻留小区变更的情形,具体示例可以参照s306的描述,此处不再赘述。为了准确的将不会导致ue发生卡顿的小区从预卡顿小区表中删除,本技术实施例还对ue驻留小区是否变更进行了判断。
204.具体示例如下:在判断ue前台是否运行有应用程序时,ue驻留的小区可以为cell h,在判断ue不存在卡顿后,即在卡顿恢复定时器启动后,ue驻留的小区由cell h变更为cell i,如果此时不进行ue驻留小区是否变更的判断,而是继续执行s317,如果卡顿恢复定时器的数值小于等于卡顿恢复定时器门限,本技术实施例提供的方法会继续执行s301以确定ue是否仍处于不卡顿状态,但是,由于此时ue驻留的小区已由cell h变更为cell i,那么在继续执行s301及后续步骤时,执行结果为ue驻留cell i时的结果,这一执行结果并不能用于确定是否将cell h从预卡顿小区表中删除,因此可以在卡顿恢复定时器超时前,对ue驻留的小区是否变更进行确定。
205.s317:判断卡顿恢复定时器的数值是否大于等于卡顿恢复定时器门限。
206.如果卡顿恢复定时器的数值大于等于卡顿恢复定时器门限,执行s318,如果卡顿恢复定时器的数值小于卡顿恢复定时器门限,执行s301。
207.卡顿恢复定时器的数值大于等于卡顿恢复定时器门限,那么ue驻留在当前驻留小区处于不卡顿状态,并且不卡顿状态持续了一段时间,此时可以将ue当前驻留小区从预卡顿小区表中删除,一方面可以使ue继续驻留在该小区,另一方面可以减少ue对预卡顿小区表的存储压力。
208.如果ue处于不卡顿状态,且卡顿恢复定时器已经启动,但是卡顿恢复定时器的数值小于等于卡顿恢复定时器门限,那么ue驻留在当前驻留小区处于不卡顿状态,但是不卡顿状态持续时间较短,并不能确定ue后续驻留在该小区是否会发生卡顿,因此可以继续执行s301以再次判断ue是否处于卡顿状态。
209.s318:停止卡顿恢复定时器,执行s319。
210.s319:将ue当前驻留小区从预卡顿小区表中删除,执行s301。
211.卡顿恢复定时器的数值大于卡顿恢复定时器门限,那么ue驻留在当前驻留小区处于不卡顿状态,并且不卡顿状态持续了一段时间,此时可以将ue当前驻留小区从预卡顿小区表中删除,一方面可以使ue继续驻留在该小区,另一方面可以减少ue对预卡顿小区表的
存储压力。
212.s320:停止卡顿定时器及卡顿恢复定时器,执行s301。
213.在s201后,如果ue前台没有运行应用程序,可以停止记录ue保持卡顿状态时长的卡顿定时器,以及停止记录ue保持不卡顿状态时长的卡顿恢复定时器。
214.s321:为ue设置卡顿定时器,执行s322。
215.s322:启动卡顿定时器,执行s306。
216.s323:停止卡顿定时器,执行s301。
217.s324:重置ue当前驻留小区的老化定时器,以使老化定时器重新计时,执行s301。
218.如果卡顿定时器的数值大于等于卡顿定时器门限且当前驻留小区在预卡顿小区表中,那么在老化定时器开始计时至当前时刻这一时间段内,当前驻留小区仍然导致ue出现了卡顿,如果老化定时器的数值超过老化定时器门限,该小区会被从预卡顿小区表中删除,因此,为了避免当前驻留小区的老化定时器的数值大于老化定时器门限,此时重置当前驻留小区的老化定时器,以对当前驻留小区继续进行监控。
219.s325:将ue当前驻留小区添加进预卡顿小区表中,并为ue当前驻留小区设置老化定时器,执行s301。
220.s326:为ue设置卡顿恢复定时器,执行s327。
221.s327:启动卡顿恢复定时器,执行s316。
222.s328:停止卡顿恢复定时器,执行s301。
223.需要说明的是,本技术实施例中提及的各门限值,可以根据实际情况进行设置,本技术对此不做具体限定。
224.上述本技术提供的实施例中,从终端设备ue的角度对本技术提供的小区排序方法的各方案进行了介绍。可以理解的是,终端设备ue为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
225.图9是本技术实施例提供的一种小区排序装置的结构示意图。
226.在一些实施例中,ue可以通过图9所示的硬件装置实现相应的功能。如图9所示,该小区排序装置可以包括:收发器1201、存储器1202和处理器1203。
227.在一种实现方式中,处理器1203可以包括一个或多个处理单元,例如:处理器1203可以包括应用处理器,调制解调处理器,图形处理器,图像信号处理器,控制器,视频编解码器,数字信号处理器,基带处理器,和/或神经网络处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。存储器1202与处理器1203耦合,用于存储各种软件程序和/或多组指令。在一些实施例中,存储器1202可包括易失性存储器和/或非易失性存储器。收发器1201为例如可以包括射频电路,移动通信模块,无线通信模块等,用于实现ue的无线通信功能。
228.在一个实施例中,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue用于执行如下方法步骤:进行小区搜索,得到搜索小区表;判断所述搜索小区表
中是否存在卡顿小区,其中,卡顿小区为用户设备驻留后使用户设备发生网络卡顿的小区;如果所述搜索小区表中存在卡顿小区,根据卡顿小区使用户设备发生网络卡顿的时间先后顺序,将卡顿小区排列在所述搜索小区表的表尾;如果所述搜索小区表中不存在卡顿小区,不改变所述搜索小区表中小区的排序。这样,对于搜索小区表中的卡顿小区,根据卡顿小区使用户设备发生网络卡顿的时间先后顺序,将卡顿小区排列在搜索小区表的表尾,这样,小区在搜素小区表中所处位置由小区的信号强度及拥塞程度共同决定,排列在搜素小区表表尾的小区为卡顿小区,排列在搜索小区表表头的小区为信号强度强且不会使用户设备发生网络卡顿的小区,从而避免用户设备继续驻留在此前驻留过的存在拥塞的小区,解决用户设备网络卡顿的问题。
229.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue具体用于执行如下方法步骤:如果搜索小区表中存在卡顿小区,降低卡顿小区的优先级。这样,用户设备可以选择优先级靠前的小区进行驻留,而不会驻留在优先级靠后的卡顿小区。
230.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue具体用于执行如下方法步骤:如果搜索小区表中存在卡顿小区,将卡顿小区设置为禁止小区,以禁止用户设备驻留在卡顿小区。
231.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue具体用于执行如下方法步骤:根据卡顿小区表判断搜索小区表中是否存在卡顿小区,其中,卡顿小区表为对预卡顿小区表进行筛选得到的,预卡顿小区表中包括用户设备历史驻留小区过程中,使用户设备发生网络卡顿的卡顿小区。这样,卡顿小区表中包括用户设备历史驻留小区过程中使用户设备发生网络卡顿的卡顿小区,使用卡顿小区表判断搜索小区表中是否存在卡顿小区,可以找出搜索小区表中的卡顿小区。
232.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue具体用于执行如下方法步骤:获取预卡顿小区表;判断预卡顿小区表中是否存在老化定时器数值大于等于老化定时器门限的小区,老化定时器是将卡顿小区添加进预卡顿小区表时为卡顿小区设置的定时器;将老化定时器数值大于等于老化定时器门限的小区从预卡顿小区表中删除;将预卡顿小区表中的小区添加至卡顿小区表中。老化定时器的数值越大,那么卡顿小区使ue发生网络卡顿的时间距离当前时刻越久远,老化定时器的数值越小,那么卡顿小区使ue发生网络卡顿的时间距离当前时刻越靠近。将卡顿小区表中老化定时器数值大于老化定时器门限的小区删除,可以使用户设备选择该小区进行驻留,同时可以缓解用户设备对预卡顿小区表及卡顿小区表的存储压力。
233.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue具体用于执行如下方法步骤:判断预卡顿小区表是否为空表;如果预卡顿小区表不为空表,将预卡顿小区表中的小区添加至卡顿小区表中。
234.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue具体用于执行如下方法步骤:判断用户设备前台是否运行有应用程序;如果用户设备前台运行有应用程序,判断用户设备是否处于网络卡顿状态。在用户使用用户设备时判断用户设备是否处于网络卡顿状态,避免用户设备发生网络卡顿影响用户体验。
235.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,使得ue具体用于执行如下方法步骤:判断用户设备的传输控制协议tcp数据包时延是否大于等于
门限或者用户设备是否没有接收到数据;如果用户设备的tcp数据包小于门限或者用户设备有接收到数据,则确定用户设备不处于网络卡顿状态;如果用户设备的tcp数据包时延大于等于门限或者用户设备没有接收到数据,判断用户设备的下行误码率是否大于等于下行误码率门限或者用户设备的上行误码率是否大于等于上行误码率门限;如果用户设备的下行误码率大于等于下行误码率门限或者上行误码率大于等于上行误码率门限,则确定用户设备处于网络卡顿状态。
236.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备的下行误码率小于下行误码率门限或者上行误码率小于上行误码率门限,判断用户设备的下行业务量是否小于等于下行业务量门限或上行业务量是否小于等于上行业务量门限;如果用户设备的下行业务量小于等于下行业务量门限或上行业务量小于等于上行业务量门限,则确定用户设备处于网络卡顿状态;如果用户设备的下行业务量大于下行业务量门限或上行业务量大于上行业务量门限,则确定用户设备不处于网络卡顿状态。
237.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备处于网络卡顿状态,判断用户设备的卡顿定时器是否已启动,卡顿定时器是用于记录用户设备处于网络卡顿状态的时长的定时器;如果用户设备没有启动的卡顿定时器,为用户设备设置卡顿定时器。为用户设备设置卡顿定时器,以对用户设备持续处于网络卡顿状态的时长进行记录,提高预卡顿小区表的准确性。
238.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备的卡顿定时器已启动,判断用户设备当前驻留小区与判断用户设备前台是否运行有应用程序时的小区是否为同一小区,以确定用户设备驻留小区是否已变更;如果用户设备驻留小区已变更,停止卡顿定时器,并重新执行判断用户设备前台是否运行有应用程序的步骤。判断用户设备驻留的小区已经发生变更,以确定用户设备的网络卡顿状态是否已经发生变化,提高预卡顿小区表的准确性。
239.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备驻留小区没有变更,判断卡顿定时器的数值是否大于等于卡顿定时器门限;如果卡顿定时器的数值小于卡顿定时器门限,重新执行判断用户设备前台是否运行有应用程序的步骤。判断卡顿定时器的数值是否大于等于门限,以确定用户设备是否为持续性卡顿,提高预卡顿小区表的准确性。
240.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果卡顿定时器的数值大于等于卡顿定时器门限,停止卡顿定时器,并根据用户设备当前驻留小区的小区信息判断用户设备当前驻留小区是否在预卡顿小区表中;如果用户设备当前驻留小区不在预卡顿小区表中,将用户设备当前驻留小区添加进预卡顿小区表中,并为用户设备当前驻留小区设置老化定时器;如果用户设备当前驻留小区在预卡顿小区表中,重置用户设备当前驻留小区的老化定时器,以使老化定时器重新计时,并重新执行判断用户设备前台是否运行有应用程序的步骤。老化定时器的数值大小用于表示卡顿小区使用户设备发生网络卡顿的时间先后顺序,老化定时器的数值越大的小区,该卡顿小区使用户设备发生网络卡顿的时间越靠前,老化定时器的数值越小的小区,该卡顿小区使用户设备发生网络卡顿的时间越靠后,老化定时器的数值决定了小区在卡顿
小区表中的位置。
241.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:将用户设备当前驻留小区添加进预卡顿小区表中,并为用户设备当前驻留小区设置老化定时器的步骤前,判断预卡顿小区表中的小区数量是否已经达到预卡顿小区表可容纳小区数量的最大值;如果已经达到预卡顿小区表可容纳小区数量的最大值,将预卡顿小区表中老化定时器数值最大的小区从预卡顿小区表中删除。判断预卡顿小区表中的小区数量是否已经达到预卡顿小区表可容纳小区数量的最大值,以确保顺利将卡顿小区添加进预卡顿小区表中。
242.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备不处于网络卡顿状态,判断预卡顿小区表是否为空表;如果预卡顿小区表为空表,重新执行判断用户设备前台是否运行有应用程序的步骤;如果预卡顿小区表不为空表,根据用户设备当前驻留小区的小区信息判断用户设备当前驻留小区是否在预卡顿小区表中;如果用户设备当前驻留小区不在预卡顿小区表中,重新执行判断用户设备前台是否运行有应用程序的步骤。在用户设备不处于网络卡顿状态时,判断预卡顿小区表是否为空表,可以确定是否存在使用户设备发生卡顿的小区。
243.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备当前驻留小区在预卡顿小区表中,判断用户设备的卡顿恢复定时器是否已启动,卡顿恢复定时器是用于表示用户设备持续处于不卡顿状态的时长的定时器;如果用户设备没有启动的卡顿恢复定时器,为用户设备设置卡顿恢复定时器。为用户设备设置卡顿恢复定时器,以对用户设备持续处于不卡顿状态的时长进行记录,提高预卡顿小区表的准确性。
244.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备的卡顿恢复定时器已启动,判断用户设备当前驻留小区与判断用户设备前台是否运行有应用程序时的小区是否为同一小区,以确定用户设备当前驻留小区是否已变更;如果用户设备当前驻留小区已变更,停止卡顿恢复定时器,并重新执行判断用户设备前台是否运行有应用程序的步骤。判断用户设备驻留的小区已经发生变更,以确定用户设备的不卡顿状态是否已经发生变化,提高预卡顿小区表的准确性。
245.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备当前驻留小区没有变更,判断卡顿恢复定时器的数值是否大于等于卡顿恢复定时器门限;如果卡顿恢复定时器的数值小于卡顿恢复定时器门限,重新执行判断用户设备前台是否运行有应用程序的步骤;如果卡顿恢复定时器的数值大于等于卡顿恢复定时器门限,停止卡顿恢复定时器,并将用户设备当前驻留小区从预卡顿小区表中删除,重新执行判断用户设备前台是否运行有应用程序的步骤。判断卡顿恢复定时器的数值是否大于等于门限,以确定用户设备是否持续处于不卡顿状态,提高预卡顿小区表的准确性。
246.可选的,当存储器1202中的软件程序和/或多组指令被处理器1203运行时,还使得ue用于执行如下方法步骤:如果用户设备前台没有运行应用程序,停止卡顿定时器及卡顿恢复定时器,并重新执行判断用户设备前台是否运行有应用程序的步骤。
247.另外,在一些实施例中,ue可以通过软件模块来实现相应的功能。如图10所示,用
于实现上述ue行为的功能的小区排序装置包括:小区搜索单元1301、判断单元1302以及排序单元1303。
248.其中,小区搜索单元1301,用于进行小区搜索,得到搜索小区表;判断单元1302,用于判断搜索小区表中是否存在卡顿小区,其中,卡顿小区为用户设备驻留后使用户设备发生网络卡顿的小区;排序单元1303,用于如果搜索小区表中存在卡顿小区,根据卡顿小区使ue发生网络卡顿的时间先后顺序,将卡顿小区排列在搜索小区表的表尾;排序单元1303,还用于如果搜索小区表中不存在卡顿小区,不改变搜索小区表中小区的排序。
249.这样,对于搜索小区表中的卡顿小区,根据卡顿小区使用户设备发生网络卡顿的时间先后顺序,将卡顿小区排列在搜索小区表的表尾,这样,小区在搜素小区表中所处位置由小区的信号强度及拥塞程度共同决定,排列在搜素小区表表尾的小区为卡顿小区,排列在搜索小区表表头的小区为信号强度强且不会使用户设备发生网络卡顿的小区,从而避免用户设备继续驻留在此前驻留过的存在拥塞的小区,解决用户设备网络卡顿的问题。
250.本技术实施例还提供一种计算机存储介质,计算机可读存储介质中存储有程序指令,当程序指令在计算机上运行时,使得计算机执行上述各方面及其各个实现方式中的方法。
251.本技术实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面及其各个实现方式中的方法。
252.本技术还提供了一种芯片系统。该芯片系统包括处理器,用于支持上述装置或设备实现上述方面中所涉及的功能,例如,生成或处理上述方法中所涉及的信息。在一种可能的设计中,芯片系统还包括存储器,用于保存上述装置或设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
253.以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献