通信终端待机省电的控制方法和控制装置与流程

文档序号:12013909阅读:291来源:国知局
通信终端待机省电的控制方法和控制装置与流程
本发明涉及通信技术领域,尤其涉及一种通信终端待机省电的控制方法和控制装置。

背景技术:
为了满足用户的使用需求,通信终端正在向一机多能的方向发展。例如,目前市场上常见的智能手机,其应用平台可以安装很多应用软件,使智能手机不但能完成基本的通讯业务,还能完成很多其他功能,如游戏、聊天、导航等等。当通信终端在待机模式下,很多应用会不定时的唤醒通信终端,完成这些应用的数据同步、数据更新等。比如:通信终端中用户识别模块(SIM,SubscriberIdentityModule)卡的定时更新;导航软件开启后,会定时通过网络同步定位数据;聊天软件开启后,当有新的聊天数据产生后聊天软件会从网络更新聊天数据。在待机模式下的通信终端完成这些应用的定时更新、数据同步等任务时,首先需要将通信终端唤醒,然后才能进行相应的操作。因此,可以将这些需要先将通信终端唤醒的应用称为唤醒应用。但是,这些应用通常来自不同的模块,彼此之间没有联系,也不互相控制,就可能出现这样的情况:导航软件刚刚完成定位数据同步并进入待机模式后,马上又被聊天软件唤醒来更新聊天数据。这种不定时的频繁唤醒,使得通信终端的待机电流产生很多毛刺,从而导致通信终端的耗电量的增加。对于通信终端来说,如何减少通信终端在待机过程的耗电量以延长通信终端的待机时间,一直是本领域技术人员致力解决的一个问题。现有技术中,一般都通过减少唤醒应用执行唤醒的次数,来降低唤醒应用引起的耗电问题。但是减少唤醒应用执行唤醒的次数,并不能从本质上降低由于频繁唤醒对待机电流产生的毛刺所导致的耗电量的增加。相关技术可参考公开号为US5701329A的美国专利申请。

技术实现要素:
本发明技术方案解决的是通信终端的唤醒应用频繁进行唤醒操作导致通信终端耗电量增加的问题。为解决上述问题,本发明技术方案提供一种通信终端待机省电的控制方法,包括:在待机模式下,将唤醒应用的时间属性与系统非连续接收周期进行匹配,所述时间属性包括唤醒应用的执行启动时间、执行周期和时间门限;将匹配成功的唤醒应用的执行叠加到系统非连续接收的执行,所述匹配成功包括:周期执行的唤醒应用在匹配前后的执行周期之间的时间差,或者单次执行的唤醒应用在匹配前后的执行启动时间之间的时间差,小于对应唤醒应用的时间属性中时间门限。可选的,所述将唤醒应用的时间属性与系统非连续接收周期进行匹配包括:将所述周期执行的唤醒应用在匹配前的执行周期换算为系统非连续接收周期的N倍,以N个系统非连续接收周期作为该唤醒应用在匹配后的执行周期;或将所述单次执行的唤醒应用在匹配前的执行启动时间换算为系统非连续接收周期的M倍,基于第M个系统非连续接收周期确定该唤醒应用在匹配后的执行启动时间;其中N、M为自然数。可选的,所述以N个系统非连续接收周期作为该唤醒应用在匹配后的执行周期还包括:以第N个系统非连续接收周期的执行结束时间,作为所述周期执行的唤醒应用在匹配后的第一个执行周期的执行启动时间;或者以第N个系统非连续接收周期的执行启动时间提前所述周期执行的唤醒应用所需执行时间后的时间点,作为该唤醒应用在匹配后的第一个执行周期的执行启动时间。可选的,所述基于第M个系统非连续接收周期确定该唤醒应用在匹配后的执行启动时间包括:以第M个系统非连续接收周期的执行结束时间,作为该唤醒应用在匹配后的执行启动时间;或者以第M个系统非连续接收周期的执行启动时间提前该唤醒应用所需执行时间后的时间点,作为该唤醒应用在匹配后的执行启动时间。可选的,所述将匹配成功的唤醒应用的执行叠加到系统非连续接收的执行包括:若所述匹配成功的唤醒应用的执行与系统非连续接收周期内任务的执行存在冲突,则将所述唤醒应用与系统非连续接收周期内的任务依次执行,否则将所述唤醒应用与系统非连续接收周期内的任务同时执行。可选的,所述将匹配成功的唤醒应用的执行叠加到系统非连续接收的执行包括:当在同一个系统非连续接收周期内要执行两个或者两个以上的匹配成功的唤醒应用时,依次执行相互间存在执行冲突的唤醒应用,同时执行相互间不存在执行冲突的唤醒应用。可选的,所述将匹配成功的唤醒应用的执行叠加到系统非连续接收的执行包括:将匹配成功的唤醒应用添加到唤醒需求列表中,并设置各自对应的唤醒计时器,所述唤醒计时器在相应唤醒应用被添加到所述唤醒需求列表后启动,其计时周期为所述唤醒应用在匹配后的执行周期;在每个系统非连续接收周期的执行启动时间获取所述唤醒需求列表,依次检测其中每个唤醒应用对应的唤醒计时器;当所述唤醒计时器的计时超过所述计时周期,确定与该唤醒计时器对应的唤醒应用的执行启动时间,并将其添加到唤醒应用执行列表中;按照所述执行启动时间依次执行所述唤醒应用执行列表中各唤醒应用;若执行的唤醒应用为周期执行的唤醒应用,则复位该唤醒应用的唤醒计时器,否则将该唤醒应用从所述唤醒应用执行列表中删除。可选的,若当前系统非连续接收周期内的任务仅包括接收寻呼消息,所述与该唤醒计时器对应的唤醒应用的执行启动时间是依据所述唤醒应用的时间属性与系统非连续接收周期进行匹配后的结果进行确定的。可选的,唤醒应用的所述时间门限包括提前执行的时间门限和滞后执行的时间门限,所述将匹配成功的唤醒应用的执行叠加到系统非连续接收的执行还包括:当所述唤醒计时器的计时未超过所述计时周期,若当前系统非连续接收周期内存在除接收寻呼消息以外的任务,且所述任务的执行时间大于预设门限值,则将与该唤醒计时器对应的唤醒应用的执行启动时间提前到位于所述任务的执行期间或执行结束时间,所述执行启动时间的提前量小于该唤醒应用对应的提前执行的时间门限;当所述唤醒计时器的计时超过所述计时周期,若当前系统非连续接收周期内存在除接收寻呼消息以外的任务,且所述任务的执行时间大于预设门限值,则将与该唤醒计时器对应的唤醒应用的执行启动时间确定为位于所述任务的执行期间或执行结束时间,否则计算所述任务下次的执行时间,将与该唤醒计时器对应的唤醒应用的执行启动时间延后到位于所述任务的下次执行期间或执行结束时间,所述执行启动时间的延后量小于该唤醒应用对应的滞后执行的时间门限。可选的,所述唤醒应用包括用户识别模块的周期性同步操作、周期性的看门狗复位操作、应用软件的周期性查询操作中的至少一种。为解决上述问题,本发明技术方案还提供一种通信终端待机省电的控制装置,包括:匹配单元,用于在待机模式下,将唤醒应用的时间属性与系统非连续接收周期进行匹配,所述时间属性包括唤醒应用的执行启动时间、执行周期和时间门限;叠加执行单元,用于将所述匹配单元匹配成功的唤醒应用的执行叠加到系统非连续接收的执行,所述匹配成功包括:周期执行的唤醒应用在匹配前后的执行周期之间的时间差,或者单次执行的唤醒应用在匹配前后的执行启动时间之间的时间差,小于对应唤醒应用的时间门限。与现有技术相比,本发明技术方案具有以下优点:通过将时间属性与系统非连续接收周期相匹配的唤醒应用的唤醒操作叠加到系统的非连续接收的周期内执行,将原先频繁的、非连续的唤醒合并为连续的唤醒,有效的解决了现有技术中唤醒应用执行唤醒操作待机电流会产生很多毛刺信号的问题,使得通信终端的耗电量大大下降。进一步,当系统非连续接收周期内还存在长时间的任务时,还对已经匹配到系统非连续接收的唤醒应用进行动态的调整,使其尽可能的合并到长时间的任务中执行,能进一步减少唤醒的次数和应用执行的时间,以减少通信终端的耗电。更进一步,当在同一个系统非连续接收周期内执行的任务与唤醒应用不存在执行冲突时,唤醒应用可以与该系统非连续接收周期内的任务同时执行,或者当在同一个系统非连续接收周期内执行的多个唤醒应用相互间不存在执行冲突时,也可以并行执行,这样减少了唤醒的次数和应用执行的时间,以减少通信终端的耗电。附图说明图1是现有技术中通过减少唤醒次数降低待机功耗的效果示意图;图2是本发明技术方案的通信终端待机省电的控制方法的流程示意图;图3是本发明实施例一的通信终端待机省电的控制方法的流程示意图;图4是本发明实施例一的通信终端待机电流示意图;图5是本发明实施例二的通信终端待机省电的控制方法的流程示意图;图6是本发明实施例二的通信终端待机电流示意图;图7是本发明实施例三的通信终端待机省电的控制方法的流程示意图;图8是本发明实施例三的通信终端待机电流示意图;图9是本发明实施例四的通信终端待机电流示意图;图10是本发明实施例五的通信终端待机电流示意图;图11是本发明实施例六的通信终端待机省电的控制装置的结构示意图。具体实施方式如背景技术所述,现有技术中,一般通过减少唤醒应用执行唤醒的次数来降低通信终端在待机模式时被频繁唤醒所导致的耗电问题。例如,唤醒应用每次执行唤醒前,判断本次执行是否可以忽略,若可以忽略则不执行本次唤醒,若不能忽略则执行。如图1所示,判断处理后唤醒应用1、唤醒应用2和唤醒应用3的唤醒次数都减少了一次,与判断处理前相比在一定程度上减少了由于唤醒应用的执行所引起的耗电量。但是,可以看出,虽然唤醒应用执行唤醒的次数虽然减少了,但是仍然存在多个唤醒应用非连续的、频繁的执行唤醒的问题,无法从根本上减少通信终端待机电流中的毛刺信号。而且,判断时,若条件限制太严格,就会导致唤醒应用的相应功能无法执行,若条件限制太宽松,则又无法达到减少唤醒次数的目的,很难在不影响唤醒应用的前提下达到省电的目的。为解决现有技术中唤醒应用使通信终端待机电流产生毛刺的问题,本发明技术方案提供了一种通信终端待机省电的控制方法,如图2所示,包括:步骤S1:在待机模式下,将唤醒应用的时间属性与系统非连续接收周期进行匹配,所述时间属性包括唤醒应用的执行启动时间、执行周期和时间门限;步骤S2:将匹配成功的唤醒应用的执行叠加到系统非连续接收的执行。所述匹配成功包括:周期执行的唤醒应用在匹配前后的执行周期之间的时间差,或者单次执行的唤醒应用在匹配前后的执行启动时间之间的时间差,小于对应唤醒应用的时间门限。当通信终端为待机模式时,是会定期的去监听寻呼指示消息,来判断是否有属于自己的寻呼消息,这个过程就叫系统非连续接收(DRX,DiscontinuousReception)。每次执行系统非连续接收都会先唤醒通信终端,然后完成相应的执行后再使通信终端进入待机(或称为进入休眠)。也就是说,通信终端的非连续接收的周期性唤醒是固定存在的。本发明技术方案,就是将满足匹配条件的、分散的唤醒应用合并到固有的系统非连续接收的周期内执行,从而大大减少了待机电流中的毛刺信号,从根本上解决了由于过多的毛刺信号导致的耗电量增加的问题。为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图,以系统非连续接收周期为640毫秒的WCDMA模式的通信终端为例,对本发明的具体实施例做详细的说明。实施例一如图3所示,为本发明实施例一的通信终端待机省电的控制方法的流程示意图,包括:步骤S100:获取唤醒应用的时间属性。本实施例中的唤醒应用为周期执行的唤醒应用,包括SIM卡的周期性同步操作、周期性的看门狗复位操作、应用软件的周期性查询操作中的至少一种。唤醒应用的时间属性包括该周期执行的唤醒应用的执行周期、以及时间门限。具体的时间门限包括提前执行的时间门限以及滞后执行的时间门限。其中,提前执行的时间门限表示该唤醒应用最多允许被提前多长时间执行,滞后执行的时间门限表示该唤醒应用最多允许被滞后多长时间执行。举例来说,通信终端的SIM卡的定时更新(属于SIM卡周期性同步操作)的周期为25秒(s),若其提前执行的时间门限为4s、滞后执行的时间门限为5s,就表示SIM卡的定时更新周期的允许的范围为[21s,30s]。通常,唤醒应用被启动后,其时间属性就可以被读取。然后执行步骤S101。步骤S101:将唤醒应用的时间属性与系统非连续接收周期进行匹配。要将唤醒应用的执行叠加到系统非连续接收的执行中,首先要完成唤醒应用的时间属性与系统非连续接收周期进行匹配,具体的,就是将唤醒应用的执行周期转换为系统非连续接收周期的N倍。对于系统非连续接收周期为640毫秒(ms)的WCDMA系统来说,本步骤就是要将该SIM卡的定时更新的执行周期转换为640ms的N倍,25s/640ms=39.0625,那么可以按照四舍五入的原则取N=39。这样经过匹配后,SIM卡的定时更新的执行周期变为了640ms*39=24.96s。步骤S102:判断是否匹配成功。根据步骤S100中获得的唤醒应用的时间属性,结合步骤S101中的匹配的结果,就可以判断匹配是否成功,若匹配成功则说明该唤醒应用的执行可以叠加到系统非连续接收中,若匹配不成功,则说明该唤醒应用不可以叠加到系统非连续接收中。匹配成功包括:匹配后的唤醒应用的执行周期与匹配前的唤醒应用的执行周期之间的时间差,应小于时间门限。具体的,为唤醒应用匹配前的执行周期减去匹配后的执行周期,其差值小于零且其绝对值小于唤醒应用的滞后执行的时间门限,或者其差值大于零且小于唤醒应用的提前执行的时间门限。仍以SIM卡的定时更新为例,匹配前的执行周期为25s,匹配后的执行周期为24.96s,两者之差为0.04s,大于零且小于4s,说明匹配成功,则可以继续执行步骤S103,否则执行步骤S104:匹配失败的唤醒应用自行执行唤醒。步骤S103:将匹配成功的唤醒应用注册到唤醒应用需求列表中,设置各自对应的唤醒计时器,并启动该唤醒计时器。通信终端中,可能会有很多种唤醒应用同时处于启动状态,为了便于对这些唤醒应用进行管理,可以将匹配成功的唤醒应用注册到一个唤醒需求列表中,并对其中的唤醒应用设置各自对应的唤醒计时器,其计时周期为该唤醒应用匹配后的执行周期。对SIM卡的定时更新来说,其对应的唤醒计时器的计时周期即为24.96s。当唤醒应用注册成功后,就要启动该唤醒定时器。然后执行步骤S105。步骤S105:在每个系统非连续接收周期的执行启动时间读取唤醒应用需求列表,依次检测每个唤醒应用的唤醒计时器。步骤S106:判断是否有唤醒计时器超时。若步骤S106的判断结果为是,则执行步骤S107:计算对应的唤醒应用的执行启动时间,并将其添加到唤醒执行列表中,并复位所述唤醒应用计时器。当有唤醒计时器超时,就说明其对应的唤醒应用可以启动执行了。启动前,还需要通过计算确定具体的执行启动时间。对于本实施例中的周期执行的唤醒应用来说,主要是要确定其匹配后第一个执行周期的执行启动时间,后续的执行就可以直接基于第一个执行周期的执行启动时间,确定后续的执行周期的执行启动时间。具体的,可以将系统非连续接收的第N个周期的执行结束时间确定为该唤醒应用的执行启动时间,或者将系统非连续接收的第N个周期的执行启动时间提前该唤醒应用所需的执行时间后时间点确定为该唤醒应用的执行启动时间。例如,对SIM卡的定时更新,其每次进行周期性数据更新假设需要5ms的时间,那么经过匹配后,第一个更新数据的执行启动时间可以是在匹配成功后第39个系统非连续接收周期的执行结束时间,或者是第39个系统非连续接收周期的执行启动时间提前5ms后的时间。确定了执行启动时间后,就可以将该唤醒应用添加到唤醒执行列表中,依据前面确定的执行启动时间,依次执行唤醒执行列表中的唤醒应用。同时,还应复位该唤醒应用的唤醒计时器,以便后续基于确定的第一个执行周期的执行启动时间,周期执行该唤醒应用。步骤S107之后,仍返回步骤S105继续判断。若步骤S106的判断结果为否,则返回步骤S105继续判断。可以看出在步骤S107执行完毕后,就将前面提到的更新周期为25s的SIM卡的定时更新叠加到了系统非连续接收的执行中,如图4所示,匹配前系统非连续接收和SIM卡的定时更新各自执行,例如,在第39个系统非连续接收周期附近,SIM卡的定时更新刚刚唤醒通信终端执行完数据更新后,马上又再次唤醒了通信终端执行系统非连续接收,这样就导致了待机电流中出现毛刺,从而导致耗电量的增加。可以理解的,若通信终端启动了隶属于不同模块的多种唤醒应用时,待机电流中毛刺会更加严重。匹配后的一种情况为将SIM卡的定时更新在匹配后的第一个执行周期的执行启动时间设置为第39个系统非连续接收周期的执行结束时间,匹配后的另一种情况则为SIM卡的定时更新在匹配后的第一个执行周期的执行启动时间设置为第39个系统非连续接收周期的执行启动时间提前5ms的时间点,后续SIM卡的更新就基于匹配后的任一种执行启动时间并以39个系统非连续接收的周期为周期进行数据更新。可以看出,将唤醒应用的执行叠加到系统非连续接收的执行中后,待机电流中的毛刺大大减少了,从而使得通信终端在待机模式下的耗电减少。实施例二如图5所示,为本发明实施例二的通信终端待机省电的控制方法的流程示意图,包括:步骤S200:获取唤醒应用的时间属性。本实施例中的唤醒应用为单次执行的唤醒应用,其时间属性包括该单次执行的唤醒应用的执行启动时间、以及时间门限。具体的时间门限包括提前执行的时间门限以及滞后执行的时间门限。其中,提前执行的时间门限表示该唤醒应用最多允许被提前多长时间执行,滞后执行的时间门限表示该唤醒应用最多允许被滞后多长时间执行。对于单次执行的唤醒应用来说,其执行启动时间是指从获取到唤醒应用的时间属性的时刻到执行该唤醒应用的时间。举例来说,某一种应用软件的版本更新任务,其版本更新启动时间为40s,其提前执行的时间门限为4s、滞后执行的时间门限为5s,就表示从获取到该应用软件的时间属性后,执行版本更新所允许的执行启动时间的范围为[36s,45s]。通常,当该单次执行的唤醒应用被启动后,其时间属性就可以被读取。然后执行步骤S201。步骤S201:将唤醒应用的时间属性与系统非连续接收周期进行匹配。要将唤醒应用的执行叠加到系统非连续接收的执行中,首先要完成唤醒应用的时间属性与系统非连续接收周期进行匹配,具体的,就是将唤醒应用的执行启动时间转换为系统非连续接收的M倍。仍以执行启动时间为40s的某一种应用软件为例,对于非连续接收周期为640ms的WCDMA系统来说,本步骤就是要将该应用软件的执行启动时间转换为640ms的M倍,其中M=40s/640ms=62.5,那么可以按照四舍五入的原则取M=63。这样经过匹配后,该应用软件的执行版本更新的就被合并到第63个系统非连续接收周期的执行启动时间执行。步骤S202:判断是否匹配成功。根据步骤S200中获得的唤醒应用的时间属性,结合步骤S201中的匹配的结果,就可以判断匹配是否成功,若匹配成功则说明该唤醒应用的执行可以叠加到系统非连续接收的执行中,若匹配不成功,则说明该唤醒应用不可以叠加到系统非连续接收的执行中。匹配成功包括:匹配后的唤醒应用的执行启动时间与匹配前的唤醒应用的执行启动时间之间的时间差,应小于时间门限。具体的,为唤醒应用匹配前的执行启动时间减去匹配后的执行启动时间,其差值小于零且其绝对值小于唤醒应用的滞后执行的时间门限,或者其差值大于零且小于唤醒应用的提前执行的时间门限。仍参考上述某一种应用软件,匹配前的执行启动时间为40s,匹配后的执行启动时间为40.32s,两者之差为-0.32s,小于零且其绝对值小于5s,说明匹配成功,则可以继续执行步骤S203,否则执行步骤S204:匹配失败的唤醒应用自行执行唤醒。步骤S203:将匹配成功的唤醒应用注册到唤醒应用需求列表中,设置各自对应的唤醒计时器,并启动该唤醒计时器。通信终端中,可能会有很多种唤醒应用同时处于启动状态,为了便于对这些唤醒应用进行管理,可以将匹配成功的唤醒应用注册到一个唤醒需求列表中,并对其中的唤醒应用设置各自对应的唤醒计时器,对于本实施例来说,单次执行的唤醒应用对应的唤醒计时器的计时周期具体为M个系统非连续接收周期,且计时周期的数量为1个。对上述应用软件来说,其对应的唤醒计时器的计时周期即为40.32s。当唤醒应用注册成功后,就要启动该唤醒定时器。然后执行步骤S205。步骤S205:在每个系统非连续接收周期的执行启动时间读取唤醒应用需求列表,依次检测每个唤醒应用的唤醒计时器。步骤S206:判断唤醒计时器是否超时。若步骤S206的判断结果为是,则执行步骤S207:计算对应的唤醒应用的执行启动时间,并将其添加到唤醒执行列表中,并在唤醒需求列表中删除该唤醒应用。当有唤醒计时器超时,就说明其对应的唤醒应用可以启动执行了。启动前,还需要通过计算确定具体的执行启动时间。对于本实施例中的单次执行的唤醒应用来说,就是将系统非连续接收的第M个周期的执行结束时间确定为该唤醒应用的执行启动时间,或者将系统非连续接收的第M个周期的执行启动时间提前该唤醒应用所需的执行时间后时间点确定为该唤醒应用的执行启动时间。例如,对上述某一种应用软件,其每次进行周期性数据更新需要5ms的时间,那么经过匹配后,可以确定其匹配后该唤醒应用的执行启动时间为第63个系统非连续接收周期的执行结束时间,或者是第63个系统非连续接收周期的执行启动时间提前5ms后的时间。确定了执行启动时间后,就可以将该唤醒应用添加到唤醒执行列表中,依据确定的执行启动时间,依次执行唤醒执行列表中的唤醒应用。由于该唤醒应用为单次执行的唤醒应用,将该唤醒应用添加到唤醒执行列表后,还应将该唤醒应用从唤醒需求列表中删除,后续不再执行。步骤S207之后仍返回步骤S205继续判断。若步骤S206的判断结果为否,则返回步骤S205继续判断。可以看出,步骤S207执行完毕后,就将前面提到的执行启动时间为40s的某一种应用软件的版本更新叠加到了系统非连续接收的执行中,如图6所示,匹配前系统非连续接收和该应用软件各自执行,待机电流中存在毛刺,从而导致耗电量的增加。匹配后的一种情况为将该应用软件在匹配后的执行启动时间设置为第63个系统非连续接收的执行结束时间,匹配后的另外一种情况则为该应用软件在匹配后的执行启动时间设置为第63个系统非连续接收的执行启动时间提前5ms的时间点。可以看出,将唤醒应用的执行叠加到系统非连续接收的执行中后,待机电流中的毛刺减少了,从而使得通信终端在待机模式下的耗电减少。实施例三如图7所示,为本实施例的通信终端待机省电的控制方法的流程示意图,包括:步骤S300:获取唤醒应用的时间属性。本实施例中的唤醒应用为单次执行的唤醒应用或者周期执行的唤醒应用,其具体实施可参考实施例一的步骤S100或者实施例二中的步骤S200。然后执行步骤S301。步骤S301:将唤醒应用的时间属性与系统非连续接收周期进行匹配。具体实施可参考实施例一中的步骤S101或实施例二中的步骤S201。步骤S302:判断是否匹配成功。具体实施可参考实施例一中的步骤S102或实施例二中的步骤S202。若匹配成功,则执行步骤S303,否则执行步骤S304:匹配失败的唤醒应用自行执行唤醒。步骤S303:将匹配成功的唤醒应用注册到唤醒应用需求列表中,设置各自对应的唤醒计时器,并启动该唤醒计时器。具体实施可参考实施例一中的步骤S103或实施例二中的步骤S203。然后执行步骤S305。步骤S305:在每个系统非连续接收周期的执行启动时间读取唤醒应用需求列表,依次检测每个唤醒应用的唤醒计时器。步骤S306:判断唤醒计时器是否超时且当前系统非连续接收周期内是否在测量任务。通信终端在待机模式下,其系统非连续接收周期内主要执行的任务是接收寻呼消息。但是有时候,在系统非连续接收周期内还需要执行一些其他任务,例如跨频点测量、邻区测量等测量任务。这些测量任务的执行时间都大于预设门限值,因此可以认为这些任务是一种执行时间较长的任务,简称为长时间任务,本实施例中以测量任务为例进行说明。其中,预设门限值一般设置为20ms~40ms,例如本实施中将预设门限值设置为30ms。可以理解的,由于在执行这些长时间任务的过程中,一般都会有一段等待测量结果或者处理结果的时间,因此当存在这样一些长时间任务时,可以考虑将通信终端的唤醒应用有限叠加到这些长时间任务中执行,能够在最大程度上节省通信终端的耗电。若步骤S306的判断结果为唤醒计时器未超时且当前系统非连续接收周期内存在测量任务,则执行步骤S307:判断该唤醒应用是否可以提前执行。由于该唤醒计时器并未超时,也就是说明当前时刻还未到达完成匹配后确定的执行启动时间,为了使得该唤醒计时器对应的唤醒应用能够被叠加到当前系统非连续接收周期内的测量任务中执行,就需要判断该唤醒应用是否可以提前执行。具体的,提前执行的条件为执行启动时间的提前量应小于该唤醒应用的提前执行时间门限。也就是说,将匹配成功后确定的该唤醒应用的下一个周期的执行启动时间,减去提前执行时间门限后,与当前系统非连续接收周期内的长时间任务存在可交叠工作区域,就说明该唤醒应用可以提前并叠加到本次的长时间任务中执行。即若步骤S307判断结果为是,则执行步骤S308:将该唤醒应用的执行启动时间提前到测量任务的执行期间或执行结束时间;若判断结果为否,则执行步骤S309:仍按照匹配成功后确定的执行启动时间执行该唤醒应用。若步骤S306的判断结果为唤醒计时器未超时且当前系统非连续接收周期内不存在测量任务,则执行步骤S309:仍按照匹配成功后确定的执行启动时间执行该唤醒应用。若步骤S306的判断结果为唤醒计时器超时且当前系统非连续接收周期内存在测量任务,就说明该唤醒应用在匹配成功后确定执行启动时间正好与当前系统非连续接收周期内的测量任务存在交叠工作区,此时可以直接执行步骤S310:将该唤醒应用的执行启动时间确定为测量任务的执行期间或执行结束时间。也就是说,可以将该唤醒应用放在该测量任务的过程中执行,也可以在测量任务执行完毕后再继续执行该唤醒应用。若步骤S306的判断结果为唤醒计时器超时且当前系统非连续接收周期内不存在测量任务,则执行步骤S311:计算下次测量任务的时间。一般情况下,像跨频点测量、邻区测量这样的测量任务,也是周期性执行的,因此通信终端能够知道下次测量任务在什么时间执行。例如若每4个系统非连续周期做一次测量任务的话,该测量任务的执行周期就等于2.56s(640ms*4)。。然后执行步骤S312:判断该唤醒应用是否可以延后执行。具体的,延后执行的条件为该唤醒应用延后的执行启动时间的延后量应小于该唤醒应用的滞后执行时间门限。当步骤S312的判断结果为是,就说明该唤醒应用可以被延后,并叠加到下一个有测量任务的系统非连续接收周期内执行,此时执行步骤S313:将下一次测量任务的执行期间或者执行结束时间确定为该唤醒应用的执行启动时间。当步骤S312的判断结果为否,就说明该唤醒应用不允许被延后,此时执行步骤S309:仍按照匹配成功后确定的执行启动时间执行该唤醒应用。在步骤S308、步骤S309和步骤S313之后,返回步骤S305。如图8所示,匹配前,唤醒应用位于第n+1个系统非连续接收之后,经过匹配后,该唤醒应用被叠加到了第n+1个系统非连续接收之后执行。与匹配前相比较,可以看出,待机电流中的毛刺信号减少了,耗电量有所减少。此时,在第n个系统非连续接收周期内,还包含了一个长时间的其他任务(如测量任务),这时,就在系统第n个系统非连续接收时判断,若将唤醒应用提前到该长时间任务执行期间满足所述唤醒应用的提前执行的时间门限,则此时就可以将该唤醒应用提前到第n个系统非连续接收周期内的其他任务的期间执行。对比提前执行后与匹配成功后的待机电流,可以看出,通信终端总的执行时间减少了,其耗电量也必然减少。综上,在本实施例中,考虑到在系统非连续接收周期内,还可能存在一些执行时间比较长的其他任务,此时可以对已经匹配到系统非连续接收的唤醒应用进行动态的调整,使其尽可能的叠加到这些执行时间比较长时间的其他任务中执行,能够缩短通信终端执行这些应用所耗费的时间,因此能够进一步的减少通信终端的耗电。实施例四在实施例一、二或三的基础上,若在某一个系统非连续接收周期内同时存在两个或者两个以上的唤醒应用需要执行时,这些唤醒应用都会被添加到了唤醒执行列表中。若这些唤醒应用都选择在系统非连续接收结束的时刻作为执行启动时间,那么就出现在同一个系统非连续接收周期内要叠加执行多个唤醒应用的情况。这时,还需要对唤醒执行列表中的唤醒应用进行进一步的合并处理,以免造成任务拥塞。具体的,可以判断这些唤醒应用的执行是否存在执行冲突。所谓执行冲突,就是指唤醒应用的执行占用相同的资源、或者唤醒应用的执行对系统负荷有较大影响等导致的唤醒应用不能同时执行的情况。对于不存在执行冲突的多个唤醒应用,由于它们之间没有关联关系,或者同时进行对系统负荷影响较小,是可以同时执行的。例如,若两个唤醒应用隶属于不同的模块,且同时执行也不会对通信终端的内存造成过大的负荷,影响系统运行,如某一种聊天软件的数据更新和看门狗的复位就是不存在执行冲突的两种唤醒应用。对于不存在执行冲突的唤醒应用时可以同时执行的。而存在执行冲突的唤醒应用,在确定各自的执行启动时间时就需要综合考虑这些唤醒应用的优先级、隶属的模块、所占用的资源等因素。例如,两个唤醒应用都需要执行数据更新任务,都需要占用通信终端的业务通道,此时就需要依次执行这两个唤醒应用,这时就根据这两个唤醒应用的优先级,先执行优先级高的,然后将优先级高的唤醒应用的执行结束时间确定为优先级低的唤醒应用的执行启动时间,这样就不会造成任务的拥塞。具体的,如图9所示,在系统第n个非连续接收的周期内,在唤醒执行列表中存在多个匹配成功的唤醒应用,包括唤醒应用1、唤醒应用2和唤醒应用3。若这三个唤醒应用之间不存在执行冲突,这时可以同时执行,即按照匹配后确定的执行启动时间同时执行即可。若唤醒应用2和唤醒应用3之间存在执行冲突时,经过合并处理后的一种情况就为唤醒应用1和唤醒应用2同时执行(唤醒应用2位于唤醒应用1的正下方,表示与唤醒应用1同时执行),然后由于唤醒应用1的执行时间较长,且唤醒应用1和唤醒应用3之间不存在执行冲突,在唤醒应用2执行完成后执行唤醒应用3。这时,唤醒应用1与唤醒应用2和唤醒应用3都是同时执行的。若这三个唤醒应用之间都存在唤醒冲突,此时,合并处理后的另一种情况就是依据三个唤醒应用的优先级依次执行。实施例五在实施例一、二或三的基础上,若在某一个系统非连续接收周期内执行的唤醒应用与系统非连续接收周期内的任务不存在执行冲突时,也是可以同时执行的,这样可以在最大程度上减少执行持续的时间,以达到为通信终端节省耗电的目的。具体的,如图10所示,经过匹配后,在第n个系统非连续接收周期结束执行的时间,为唤醒应用的执行启动时间。但此时,若唤醒应用的执行与系统非连续接收周期内执行的任务不存在执行冲突时,就可以将系统非连续接收的执行启动时间确定为该唤醒应用的执行启动时间,从图10中可以看出,合并处理后,通信终端执行持续时间被减少了,通信终端的耗电量也将被降低。实施例六如图11所示,为本实施例的通信终端待机省电的控制装置的结构示意图,包括:匹配单元10、叠加执行单元20。其中,所述匹配单元10用于在待机模式下,将唤醒应用的时间属性与系统非连续接收周期进行匹配,所述时间属性包括唤醒应用的执行启动时间、执行周期和时间门限;所述叠加执行单元20,用于将所述匹配单元10匹配成功的唤醒应用的执行叠加到系统非连续接收的执行,所述匹配成功包括:周期执行的唤醒应用在匹配前后的执行周期之间的时间差,或者单次执行的唤醒应用在匹配前后的执行启动时间之间的时间差,小于对应唤醒应用的时间门限。具体的,在本实施例中,所述匹配单元10包括周期匹配子单元101和单次匹配子单元102,所述周期匹配子单元101用于将所述周期执行的唤醒应用在匹配前的执行周期换算为系统非连续接收周期的N倍,以N个系统非连续接收周期作为该唤醒应用在匹配后的执行周期,N为自然数;所述单次匹配子单元102用于将所述单次执行的唤醒应用在匹配前的执行启动时间换算为系统非连续接收周期的M倍,基于第M个系统非连续接收周期确定该唤醒应用在匹配后的执行启动时间,M为自然数。在其他实施例中,若仅对周期性唤醒应用进行匹配,则所述匹配单元10可以只包含周期匹配子单元101;同理的,若仅对单次唤醒应用进行匹配,则所述匹配单元10可以只包含单次匹配子单元102。可以理解的,对于匹配成功的唤醒应用,要具体执行唤醒还需要进一步的确定出该唤醒应用的执行启动时间,当所述匹配单元包含有周期匹配子单元101时,所述周期匹配子单元101包括第一确定单元1011和第二确定单元1012,其中所述第一确定单元1011用于将第N个系统非连续接收周期的执行结束时间,确定为所述周期执行的唤醒应用在匹配后的第一个执行周期的执行启动时间;所述第二确定单元1012用于将第N个系统非连续接收周期的执行启动时间提前所述周期执行的唤醒应用所需执行时间后的时间点,确定为该唤醒应用在匹配后的第一个执行周期的执行启动时间。同理,当所述匹配单元包含有单次匹配子单元102时,所述单次匹配子单元102包括第三确定单元1021和第四确定单元1022,所述第三确定单元1021用于将第M个系统非连续接收周期的执行结束时间,确定为该唤醒应用在匹配后的执行启动时间;第四确定单元1022用于将第M个系统非连续接收周期的执行启动时间提前该唤醒应用所需执行时间后的时间点,确定为该唤醒应用在匹配后的执行启动时间。在其他实施例中,周期匹配子单元101可以仅包含第一确定单元1011或者第二确定单元1012,单次匹配子单元102也可以仅包含第三确定单元1021或者第四确定单元1022,具体选择哪个确定单元,可以根据实际的应用场景来确定。当所述匹配单元10完成对所述唤醒应用的匹配后,就可以根据确定的执行启动时间执行相应的唤醒应用。具体的,对于匹配成功的唤醒应用,若与当前的系统非连续接收内任务的执行不冲突时,可以将该唤醒应用与系统非连续接收同时执行,以最大程度上缩短唤醒执行的时长,节省系统耗电。因此,在本实施例中所述叠加执行单元20可以包括:第一判断单元201,用于判断所述匹配单元10匹配成功的唤醒应用的执行与系统非连续接收周期内任务的执行是否存在冲突;第一执行子单元202,用于当所述第一判断单元201的判断结果为是时,将所述唤醒应用与系统非连续接收周期内的任务依次执行,或者当所述第一判断单元201的判断结果为否时将所述唤醒应用与系统非连续接收周期内的任务同时执行。进一步的,在某一个系统非连续接收周期内,也可能存在有两个或者两个以上匹配成功的唤醒应用,这时也可以对相互之间不存在执行冲突的唤醒应用并行执行,以节省系统耗电。因此本实施例中所述叠加执行单元20还可以包括:第二判断单元203,用于判断在同一个系统非连续接收周期内是否有两个或者两个以上匹配成功的唤醒应用要执行;第二执行子单元204,用于当所述第二判断单元203的判断结果为是时,依次执行相互间存在执行冲突的唤醒应用,同时执行相互间不存在执行冲突的唤醒应用。在本实施例中,选择通过列表的方式对匹配成功的唤醒应用进行执行。具体的,所述叠加执行单元20还包括:存储单元205,用于存储唤醒应用需求列表和唤醒应用执行列表;第一添加单元206,用于将所述匹配单元匹配成功的唤醒应用添加到所述唤醒需求列表中,并设置各自对应的唤醒计时器,所述唤醒计时器在相应唤醒应用被添加到所述唤醒需求列表后启动,其计时周期为所述唤醒应用在匹配后的执行周期;获取单元207,用于在每个系统非连续接收周期的执行启动时间获取所述第一添加单元206设置的唤醒需求列表,依次检测其中每个唤醒应用对应的唤醒计时器;第二添加单元208,用于当所述获取单元207获取的唤醒计时器的计时超过所述计时周期,确定与该唤醒计时器对应的唤醒应用的执行启动时间,并将其添加到所述唤醒应用执行列表中;第三执行子单元209,用于按照所述第二添加单元208确定的执行启动时间依次执行所述唤醒应用执行列表中各唤醒应用。对于周期性的唤醒应用来说,每次唤醒应用执行完成后,还需要对复位其对应的唤醒计时器,以便确定下次唤醒的执行启动时间,而对于单次执行的唤醒应用来说,则可以直接将其对应的唤醒计时器删除。因此在本实施例中所述叠加执行单元还包括第三判断单元210,用于判断所述第三执行子单元209执行的唤醒应用是否为周期执行的唤醒应用;复位单元211,用于当所述第三判断单元210判断的结果为是时,复位该唤醒应用的唤醒计时器;删除单元212,用于当所述第三判断单元210判断的结果为否时,将该唤醒应用从所述唤醒应用执行列表中删除。考虑到在有的系统非连续接收周期内,还可能存在一些像测量任务这样的执行时间较长的唤醒应用,这时可以考虑将通信终端的唤醒应用有限叠加到这些长时间任务中执行,能够在最大程度上节省通信终端的耗电。因此在其他实施例中,所述叠加执行单元20还可以包括:第三判断单元,用于判断所述唤醒计时器的计时是否超过所述计时周期;第四判断单元,用于判断当前系统非连续接收周期内是否存在除接收寻呼消息以外的任务,且所述任务的执行时间大于预设门限值;提前单元,用于当所述第三判断单元的判断结果为否、且所述第四判断单元的判断结果为是时,将与该唤醒计时器对应的唤醒应用的执行启动时间提前到位于所述任务的执行期间或执行结束时间,所述执行启动时间的提前量小于该唤醒应用对应的提前执行的时间门限;第一滞后单元,用于当所述第三判断单元的判断结果为是、且所述第四判断单元的判断结果为是时,将与该唤醒计时器对应的唤醒应用的执行启动时间确定为位于所述任务的执行期间或执行结束时间,所述执行启动时间的延后量小于该唤醒应用对应的滞后执行的时间门限;第二滞后单元,用于当所述第三判断单元的判断结果为是、且所述第四判断单元的判断结果为否时,计算所述任务下次的执行时间,将与该唤醒计时器对应的唤醒应用的执行启动时间延后到位于所述任务的下次执行期间或执行结束时间,所述执行启动时间的延后量小于该唤醒应用对应的滞后执行的时间门限。本实施例的具体实施可参考本发明实施例一至实施例五,此处不再赘述。本领域技术人员可以理解,实现上述技术方案的全部或部分是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于可读存储介质中,所述存储介质可以是ROM、RAM、磁碟、光盘等。虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1