技术领域
[0001] 本
发明涉及通信技术领域,尤其涉及一种应用智能分级对齐的方法和终端。
背景技术
[0002] 智能终端一般有两种状态:休眠(suspend)状态和正常运行状态。休眠状态是终端除电源管理以外的其他外围模
块比如LCD
背光、重
力感应器、
触摸屏及CPU均不工作,只有内存保持自刷新且LCD(屏幕)关闭的一种低功耗的状态。反之正常运行状态是一种大部分设备保持运行的功耗状态。如果用户在不操作终端的情况下让终端一直保持休眠状态,会降低终端功率损耗,增加智能终端的续航时间。
[0003] 智能终端的对齐唤醒控制主要
指针对RTC(Real Time Clock,
实时时钟)唤醒或者电信业务唤醒,正常的电信业务把智能终端从休眠状态切换到正常运行状态是最基本的业务要求,不能进行限制;RTC唤醒是上层应用运行的时候设置的一些支持唤醒状态
定时器在时间到了后RTC触发中断从而唤醒智能终端。目前很多智能终端应用了对齐唤醒方法来控制单位时间内智能终端自身唤醒的次数,从而减少终端唤醒
频率。
[0004] 但是现有方案在控制RTC唤醒频率提升续航能力的同时,影响了一些应用
软件的功能,比如通讯类软件的信息收发及时性、定时功能的精确度。所以,如何在保证智能终端续航能力的同时,保证相关
应用软件正常运行,不影响用户使用体验,成为目前亟待解决的技术问题。
发明内容
[0005] 鉴于上述问题,提出了本发明,以便提供一种解决上述问题的应用智能分级对齐的方法和终端。
[0006] 依据本发明的一个方面,提供了一种应用智能分级对齐的方法,包括:
[0007] 获取
指定的分级对齐最小单位时间Tmin;
[0008] 设置当前运行的各应用的对齐时间delT=nTmin;其中,对于
即时通信类应用,n的取值满足使delT小于等于自身心跳频率的约束条件;n为自然数;
[0009] 将各应用的对齐时间delT设置到实时时钟RTC。
[0010] 可选地,本发明所述方法中,对于即时通信类应用,n取使得delT小于等于自身心跳频率中的最大值。
[0011] 可选地,本发明所述方法中,对于非即时通信类应用,n的取值满足与应用优先级成反比的约束条件。
[0012] 可选地,本发明所述方法中,对于当前运行的非即时通信类应用,根据预设的应用优先级与n值的匹配关系确定对应应用delT中n的取值。
[0013] 可选地,本发明所述方法中,所述获取指定的分级对齐最小单位时间Tmin包括:
[0014] 当前有运行的即时通信类应用时,获取各即时通信类应用的心跳频率,并令最小心跳频率对应的时间为Tmin;否则,获取Tmin的默认设置;
[0015] 或者,获取预先统计的基于各类即时通信类应用最小心跳频率设置的Tmin。
[0016] 可选地,本发明所述方法还包括:从网络
服务器侧获取最新的相关应用的对齐配置数据,根据该对齐配置数据更新对应应用的优先级,并基于更新后的优先级,设置对应应用的对齐时间delT。
[0017] 依据本发明的另一个方面,提供了一种应用智能分级对齐的终端,包括:
[0018] 对齐唤醒控
制模块,用于获取指定的分级对齐最小单位时间Tmin;
[0019] Alarm管理模块,用于设置当前运行的各应用的对齐时间delT=nTmin,并将各应用的对齐时间delT设置到实时时钟RTC;
[0020] 其中,对于即时通信类应用,n的取值满足使delT小于等于自身心跳频率的约束条件;n为自然数。
[0021] 可选地,本发明所述终端中,所述Alarm管理模块,进一步用于对于即时通信类应用,n取使得delT小于等于自身心跳频率中的最大值。
[0022] 可选地,本发明所述终端中,所述Alarm管理模块,进一步用于对于非即时通信类应用,n的取值满足与应用优先级成反比的约束条件。
[0023] 可选地,本发明所述终端中:
[0024] 所述对齐唤醒
控制模块,具体用于当前有运行的即时通信类应用时,获取各即时通信类应用的心跳频率,并令最小心跳频率对应的时间为Tmin;否则,获取Tmin的默认设置;
[0025] 或者,所述对齐唤醒控制模块,具体用于获取预先统计的基于各类即时通信类应用最小心跳频率设置的Tmin。
[0026] 可选地,本发明所述终端中:
[0027] 所述对齐唤醒控制模块,还用于根据预先设置,主动或被动的获取存放于网络服务器侧的相关应用最新的对齐配置数据,根据该对齐配置数据,对相应应用的优先级进行更新,并通知所述Alarm管理模块;
[0028] 所述Alarm管理模块,还用于基于更新后的优先级信息,设置对应应用的对齐时间delT。
[0029] 本发明有益效果如下:
[0030] 本发明所述方法和终端,对对齐唤醒方法进行智能分级优化,终端会规律性的被RTC唤醒,降低了唤醒的频率,一定程度上降低了终端正常运行时的功率损耗,同时还保证了终端应用软件功能的正常,极大提升了用户体验度。
附图说明
[0031] 为了更清楚地说明本发明
实施例或
现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0032] 图1为本发明实施例提供的一种应用智能分级对齐的方法的
流程图;
[0033] 图2为本发明实施例所述方法的原理性示意图;
[0034] 图3为本发明实施例中系统运行时获取即时通信类应用心跳频率的对齐处理流程图;
[0035] 图4为本发明实施例中系统从网络服务器获取应用最新对齐配置数据的处理流程图;
[0036] 图5为本发明实施例提供的一种应用智能分级对齐的终端的结构
框图。
具体实施方式
[0037] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] 为了解决现有技术中存在的问题,本发明实施例提供一种应用智能分级对齐的方法和终端。所述方法和终端在控制RTC唤醒频率的方案上进行智能分级优化,在保证智能终端续航能力的同时,也保证了相关应用软件功能的正常运行,极大的提高了用户使用体验。下面就通过几个具体实施例对本发明的详细实施过程进行阐述。
[0039] 实施例一
[0040] 本发明实施例提供一种应用智能分级对齐的方法,如图1所示,所述方法包括:
[0041] 步骤S101,获取指定的分级对齐最小单位时间Tmin;
[0042] 优选地,该步骤通过如下方式实现:
[0043] 方式一:若当前运行有即时通信类应用,则获取各即时通信类应用的心跳频率,令最小心跳频率对应的时间为Tmin;
[0044] 若当前没有运行的即时通信类应用时,获取Tmin的默认设置。该默认设置,可以预置在终端中,也可以是用户根据自身需求进行的设置。
[0045] 其中,获取各即时通信类应用的心跳频率,具体包括:监听运行的各即时通信类应用的心跳包,解析所述心跳包,获取各即时通信类应用的心跳频率。
[0046] 方式二:获取预先统计的基于各类即时通信类应用最小心跳频率设置的Tmin。该方式也是默认设置的一种,该默认设置需要考虑各类即时通信类应用的心跳频率,对各心跳频率进行统计,得到最小心跳频率后,基于该心跳频率进行设置。当然,由于即时通信类应用的种类繁多,在统计时,若可以全部进行统计,得到的Tmin当然最恰当;若不能全部统计,则可以基于公认的大部分主流的即时通信类应用的心跳频率进行设置。另外,若有新的即时通信类应用出现时,可以通过更新的方式对Tmin进行更新。
[0047] 步骤S102,设置当前运行的各应用的对齐时间delT=nTmin,n为自然数;
[0048] 该步骤中,对于即时通信类应用的delT还要满足小于等于自身心跳频率的约束条件;其中,满足小于等于自身心跳频率的n值可能存在多个,为了减少唤醒频率,优选地,令n取使得delT小于等于自身心跳频率中的最大值,以使delT尽可能的向应用自身的心跳频率靠拢。
[0049] 进一步地,该步骤中,对于非即时通信类应用,n的取值满足与应用优先级成反比的约束条件;
[0050] 优选地,对于当前运行的各非即时通信类应用,根据预设的应用优先级与n值的匹配关系确定对应应用的delT中n的取值。
[0051] 需要说明的是,在非即时通信类应用中,存在一类高优先级应用(该类应用需要及时响应),如闹钟等,设置n值时,令n=0,此时delT=0,表示对该类应用不进行对齐设置。
[0052] 步骤S103,将各应用的对齐时间delT设置到实时时钟RTC。
[0053] 优选的,本实施例所述方法还包括:从网络服务器侧获取最新的相关应用的对齐配置数据,根据该对齐配置数据更新对应应用的优先级,并基于更新后的优先级,设置对应应用的对齐时间delT。
[0054] 综上所述,本实施例所述方法在使用对齐唤醒方法控制智能终端的唤醒频率以减少终端的功率损耗的同时,对对齐唤醒方法进行智能分级优化,既兼顾了降低功耗,保证软件功能正常,提升了用户使用体验。
[0055] 为了更清楚的阐述本发明,下面根据图2~图4给出本发明一个较佳的实施例,并结合对实施例的描述,进一步给出本发明的技术细节,使其能够更好地说明本发明提供的方法的具体实现过程。
[0056] 如图2所示,为本发明实施例所述的应用智能分级对齐的方法的运行原理示意图,具体的:
[0057] AlarmManager模块:所有上层应用或系统设置的Alarm定时器都需要通过AlarmManager服务进行设置;应用对齐唤醒控制
算法(如步骤S102所述),设置当前运行的各应用的对齐时间,并将对齐时间设置到RTC;同时动态监听来自RTC的中断
信号并上报给对应的定时源。
[0058] RTC:属于终端的相关
硬件设备,能够保存应用层的Alarm定时,同时在对应Alarm定时器时间到了之后产生中断信号并上报。
[0059] 对齐唤醒控制模块:存放应用列表以及各应用的Action(动作)列表,其中,应用列表中记载有各应用的优先级信息;监听网络侧解析的即时通信类应用的心跳数据,并获取各即时通信类应用的最小心跳频率对应的时间Tmin后,发送至AlarmManager模块;以及被动或主动的与网络服务器同步相关应用最新的对齐配置数据,并根据该对齐配置数据对应用列表中相关应用的优先级进行更新后,同步到AlarmManager模块,以使AlarmManager模块根据最新的数据计算相关应用的对齐时间。
[0060] 网络数据包解析模块:在终端网络层进行网络数据尤其是心跳包的解析,获取当前运行的即时通信类应用的心跳频率,并通知给对齐唤醒控制模块。
[0061] 网络服务器:存放最新的相关应用的对齐配置数据,定时下发通知终端的对齐唤醒控制模块进行更新或响应终端发起的更新
请求后下发数据给终端的对齐唤醒控制模块。
[0062] 也就是说,智能分级的数据来源于终端网络侧数据包解析以及网络服务器端数据,终端网络数据心跳的解析可以得到当前运行的即时通信类应用的心跳频率,通知给对齐唤醒控制模块后可以保证该应用被正确的分级对齐;网络服务器端存放更新的最优配置数据,同步到对齐唤醒控制模块后更好的辅助其进行智能分级对齐。
[0063] 综上所述,可知终端系统运行时各个应用或者系统自身产生很多Alarm定时,Alarm定时设置需要通过AlarmManager模块,AlarmManager模块应用对齐唤醒控制的算法,根据配置数据进行算法分级对齐处理后设置到RTC;Alarm定时时间到后,RTC产生中断信号。对齐唤醒控制模块同时监听或
申请到来自终端数据包解析的即时通信应用的心跳频率数据或网络服务器端下发的最新应用对齐数据更新,实时更新相关应用对齐配置数据。终端数据包解析模块负责在终端运行时解析一些即时通信类应用的数据包,解析出其相关心跳频率数据,通知对齐唤醒控制模块进行更新;网络服务器存放厂商自身根据用户使用行为统计或实际测试分析得到的相关应用最优化配置的实时数据,可以根据定时更新需要或终端对应的请求来下发最新数据到终端进行对齐唤醒控制模块的
基础数据更新。
[0064] 其中,终端系统运行时获取即时通信类应用心跳频率的对齐处理过程,如图3所示,具体包括:
[0065] 步骤300,终端正常运行,终端有即时通信类应用运行;
[0066] 步骤310,终端解析即时通信类应用的数据包,通过解析心跳包的数据获取对应应用的心跳频率数据;
[0067] 步骤320,通知对齐唤醒控制模块更新对应应用的心跳频率数据;
[0068] 步骤330,AlarmManager模块应用对齐唤醒控制模块的最新数据对收到的即时通信类应用的Alarm进行智能对齐分级运算;
[0069] 步骤340,对齐后Alarm定时设置到RTC。
[0070] 进一步地,终端系统从网络服务器端获取应用对齐数据的处理过程,如图4所示,具体包括:
[0071] 步骤400,网络服务器有配置的最新应用对齐配置数据;
[0072] 步骤410,通过网络链接下发至终端;
[0073] 步骤420,终端的对齐唤醒控制模块收到数据,解析完成后更新对应应用的优先级;
[0074] 步骤430,AlarmManager模块应用对齐唤醒控制模块的最新数据对收到的相关应用的Alarm进行智能对齐分级运算;
[0075] 步骤440,对齐后Alarm定时设置到RTC。
[0076] 基于上述方案阐述,下面结合一个具体应用示例,说明本发明的实施过程,具体的:
[0077] 用户在使用终端时,当终端处于正常运行状态时,AlarmManager模块会根据对齐唤醒控制模块的数据,利用对齐唤醒控制算法,将系统产生的所有Alarm定时器进行智能分级对齐。
[0078] 设当前运行的即时通信类应用A、应用B、应用C的心跳频率分别是3min、4min、6min,获取3、4、6的最小时间值Tmin=Min(3,4,6)为最小对齐时间,应用A、B、C的对齐时间delT需要满足:((delT==Tmin)||((delT=n*Tmin)&&(delT<=Ta.b.c))),也就是说,即时通信类应用的对齐时间delT等于最小对齐时间Tmin或者delT等于最小对齐时间Tmin的整数倍且必须小于等于对应应用自身的心跳频率Ta.b.c。也就是说,当利用对齐唤醒控制算法后,应用A的对齐时间delT=3,应用B的对齐时间delT=1*Tmin=3,应用C的对齐时间delT=2*Tmin=6。
[0079] 而对于需要及时响应的非即时通信类应用(该类应用优先级较高),如闹钟类应用、
锁屏类应用等,该类应用需要及时响应,所以不能延迟对齐,此时,令n=0,则该类应用的delT=0(即,该类应用不用对齐)。
[0080] 而对于无需及时响应的非即时通信类应用,根据从网络获取的应用优先级级别,设置各应用的对齐时间delT=n*Tmin。其中,应用优先级越高对应delT的n值越小,成反比关系。
[0081] 综上所述,本发明所述方法降低了终端系统定时处理的运行频率,一定程度上降低了终端正常运行时的功率损耗,终端会规律性的被RTC唤醒,降低了唤醒的频率,同时保证了终端应用软件功能的正常,极大提升了用户体验度。
[0082] 实施例二
[0083] 本发明实施例提供一种应用智能分级对齐的终端,如图5所示,具体包括:
[0084] 对齐唤醒控制模块510,用于获取指定的分级对齐最小单位时间Tmin;
[0085] Alarm管理模块520,用于设置当前运行的各应用的对齐时间delT=nTmin,并将各应用的对齐时间delT设置到实时时钟RTC;n为自然数。
[0086] 其中,对于即时通信类应用,n的取值满足使delT小于等于自身心跳频率的约束条件;其中,满足小于等于自身心跳频率的n值可能存在多个,为了减少唤醒频率,优选地,所述Alarm管理模块520,对于即时通信类应用,n取使得delT小于等于自身心跳频率中的最大值;
[0087] 进一步地,本实施例中,所述Alarm管理模块520,对于非即时通信类应用,n的取值满足与应用优先级成反比的约束条件。
[0088] 在具体实施时,对于非即时通信类应用可以通过该优选方式计算delT,Alarm管理模块520,对于当前运行的各非即时通信类应用,根据预设的应用优先级与n值的匹配关系确定对应应用的delT中n的取值。
[0089] 进一步地,本实施例中:
[0090] 对齐唤醒控制模块510,在当前有运行的即时通信类应用时,获取各即时通信类应用的心跳频率,并令最小心跳频率对应的时间为Tmin;否则,获取Tmin的默认设置;
[0091] 此时,所述终端还包括:网络数据包解析模块530,用于监听运行的各即时通信类应用的心跳包,解析所述心跳包,获取各即时通信类应用的心跳频率后发送至所述对齐唤醒控制模块510。
[0092] 或者,对齐唤醒控制模块510,获取预先统计的基于各类即时通信类应用最小心跳频率设置的Tmin。
[0093] 该方式也是获取默认设置的一种,该默认设置需要考虑各类即时通信类应用的心跳频率,对各心跳频率进行统计,得到最小心跳频率后,基于该心跳频率进行设置。当然,由于即时通信类应用的种类繁多,在统计时,若可以全部进行统计,得到的Tmin当然最恰当;若不能全部统计,则可以基于公认的大部分主流的即时通信类应用的心跳频率进行设置。
另外,若有新的即时通信类应用出现时,可以通过更新的方式对Tmin进行更新。
[0094] 进一步地,本实施例所述终端中,对齐唤醒控制模块510,还用于根据预先设置,主动或被动的获取存放于网络服务器侧的相关应用最新的对齐配置数据,根据该对齐配置数据,对相应应用的优先级进行更新,并通知所述Alarm管理模块520;
[0095] Alarm管理模块520,还用于基于更新后的优先级信息,设置对应应用的对齐时间delT。
[0096] 综上所述,本发明实施例所述终端,对对齐唤醒方法进行智能分级优化,终端会规律性的被RTC唤醒,降低了唤醒的频率,一定程度上降低了终端正常运行时的功率损耗,同时还保证了终端应用软件功能的正常,极大提升了用户体验度。
[0097] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些
修改和变型属于本发明
权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。