通信终端待机省电的控制方法和控制装置
技术领域
本发明涉及通信技术领域,尤其涉及一种通信终端待机省电的控制方法和控制装置。
背景技术
为了满足用户的使用需求,通信终端正在向一机多能的方向发展。例如,目前市场上常见的智能手机,其应用平台可以安装很多应用软件,使智能手机不但能完成基本的通讯业务,还能完成很多其他功能,如游戏、聊天、导航等等。当通信终端在待机模式下,很多应用会不定时的唤醒通信终端,完成这些应用的数据同步、数据更新等。比如:通信终端中用户识别模块(SIM,Subscriber Identity Module)卡的定时更新;导航软件开启后,会定时通过网络同步定位数据;聊天软件开启后,当有新的聊天数据产生后聊天软件会从网络更新聊天数据。在待机模式下的通信终端完成这些应用的定时更新、数据同步等任务时,首先需要将通信终端唤醒,然后才能进行相应的操作。因此,可以将这些需要先将通信终端唤醒的应用称为唤醒应用。
但是,这些应用通常来自不同的模块,彼此之间没有联系,也不互相控制,就可能出现这样的情况:导航软件刚刚完成定位数据同步并进入待机模式后,马上又被聊天软件唤醒来更新聊天数据。这种不定时的频繁唤醒,使得通信终端的待机电流产生很多毛刺,从而导致通信终端的耗电量的增加。
对于通信终端来说,如何减少通信终端在待机过程的耗电量以延长通信终端的待机时间,一直是本领域技术人员致力解决的一个问题。现有技术中,一般都通过减少唤醒应用执行唤醒的次数,来降低唤醒应用引起的耗电问题。但是减少唤醒应用执行唤醒的次数,并不能从本质上降低由于频繁唤醒对待机电流产生的毛刺所导致的耗电量的增加。
相关技术可参考公开号为US5701329A的美国专利申请。
发明内容
本发明解决的是通信终端的唤醒应用频繁进行唤醒操作导致通信终端耗电量增加的问题。
为解决上述问题,本发明技术方案提供一种通信终端待机省电的控制方法,包括:
在待机模式下,将唤醒应用的时间属性与***长时间唤醒任务的执行时间进行匹配,所述时间属性包括唤醒应用的第一时间门限和执行启动时间,所述***长时间唤醒任务为唤醒持续时间大于第二时间门限的唤醒任务;
将匹配成功的唤醒应用的执行叠加到所述***长时间唤醒任务的执行,所述匹配成功包括:所述唤醒应用在匹配前后的执行启动时间之间的时间差小于该唤醒应用的所述第一时间门限。
可选的,所述将唤醒应用的时间属性与***长时间唤醒任务的执行时间进行匹配包括:
将所述唤醒应用的执行启动时间提前或者延后至所述***长时间唤醒任务的执行期间,以提前或者延后之后的执行启动时间作为该唤醒应用在匹配后的执行启动时间。
可选的,所述时间属性还包括唤醒应用的执行结束时间;所述将唤醒应用的时间属性与***长时间唤醒任务的执行时间进行匹配包括:
将所述唤醒应用的执行启动时间延后,使所述唤醒应用在匹配后的执行结束时间为所述***长时间唤醒任务的执行启动时间;或将所述唤醒应用的执行启动时间提前,使所述唤醒应用在匹配后的执行启动时间为所述***长时间唤醒任务的执行结束时间。
可选的,所述第一时间门限包括提前执行的时间门限和滞后执行的时间门限,所述唤醒应用在匹配前后的执行启动时间之间的时间差小于该唤醒应用的所述第一时间门限包括:所述唤醒应用的执行启动时间的提前量小于该唤醒应用对应的提前执行的时间门限,或者所述唤醒应用的执行启动时间的延后量小于该唤醒应用对应的滞后执行的时间门限。
可选的,所述将匹配成功的唤醒应用的执行叠加到所述***长时间唤醒任务的执行包括:
将所述匹配成功的唤醒应用提前到所述***长时间唤醒任务的执行期间或执行结束时间启动执行,或者将所述匹配成功的唤醒应用延后到所述***长时间唤醒任务的执行期间启动执行,或者将所述匹配成功的唤醒应用延后执行以使其在所述***长时间唤醒任务的执行启动时间或执行期间结束执行。
可选的,所述将匹配成功的唤醒应用的执行叠加到所述***长时间唤醒任务的执行包括:若所述匹配成功的唤醒应用的执行与所述***长时间唤醒任务的执行存在冲突,则将所述唤醒应用与所述***长时间唤醒任务依次执行,否则将所述唤醒应用与所述***长时间唤醒任务同时执行。
可选的,所述将匹配成功的唤醒应用的执行叠加到所述***长时间唤醒任务的执行包括:若同一个***长时间唤醒任务的执行期间需要执行两个或者两个以上的匹配成功的唤醒应用,则依次执行相互间存在执行冲突的唤醒应用,同时执行相互间不存在执行冲突的唤醒应用。
可选的,所述唤醒应用包括用户识别模块的同步操作、看门狗复位操作、应用软件的查询操作中的至少一种。。
可选的,所述***长时间唤醒任务为测量任务。
为解决上述问题,本发明技术方案还提供一种通信终端待机省电的控制装置,包括:
匹配单元,用于在待机模式下,将唤醒应用的时间属性与***长时间唤醒任务的执行时间进行匹配,所述时间属性包括唤醒应用的第一时间门限和执行启动时间,所述***长时间唤醒任务为唤醒持续时间大于第二时间门限的唤醒任务;
叠加执行单元,用于将所述匹配单元匹配成功的唤醒应用的执行叠加到所述***长时间唤醒任务的执行,所述匹配成功包括:所述唤醒应用在匹配前后的执行启动时间之间的时间差小于该唤醒应用的所述第一时间门限。
与现有技术相比,本发明技术方案具有以下优点:
通过将时间属性与***长时间唤醒任务相匹配的唤醒应用的唤醒操作叠加到***长时间唤醒任务的执行中,将原先频繁的、非连续的唤醒合并为连续的唤醒,有效的解决了现有技术中唤醒应用执行唤醒操作待机电流会产生很多毛刺信号的问题,减少唤醒的次数,使得通信终端的耗电量大大下降。
当匹配成功的唤醒应用与***长时间唤醒任务的执行不冲突时,可以在执行***长时间任务的同时执行所述唤醒应用,可在最大程度上减少唤醒的持续时间,以减少耗电。
当***长时间唤醒任务内存在多个匹配成功的唤醒应用时,也可以将不相冲突的唤醒应用同时执行,可以减少唤醒的持续时间,进一步减少通信终端的耗电。
附图说明
图1是现有技术中通过减少唤醒次数降低待机功耗的效果示意图;
图2是本发明技术方案的通信终端待机省电的控制方法的流程示意图;
图3是本发明实施例一的通信终端待机省电的控制方法的流程示意图;
图4是本发明实施例一的通信终端待机电流示意图;
图5是本发明实施例二的通信终端待机省电的控制方法的流程示意图;
图6是本发明实施例二的通信终端待机电流示意图;
图7是本发明实施例三的通信终端待机省电的控制方法的流程示意图;
图8是本发明实施例三的通信终端待机电流示意图;
图9是本发明实施例四的通信终端待机电流示意图;
图10是本发明实施例五的通信终端待机电流示意图;
图11是本发明实施例六的通信终端待机省电的控制装置的结构示意图。
具体实施方式
如背景技术所述,现有技术中,一般通过减少唤醒应用执行唤醒的次数来降低通信终端在待机模式时被频繁唤醒所导致的耗电问题。例如,唤醒应用每次执行唤醒前,判断本次执行是否可以忽略,若可以忽略则不执行本次唤醒,若不能忽略则执行。如图1所示,判断处理后唤醒应用3和唤醒应用4的唤醒操作被省略了,与判断处理前相比确实在一定程度上减少了由于唤醒应用的执行所引起的耗电量。但是,可以看出,虽然唤醒应用执行唤醒的次数虽然减少了,但是仍然存在多个唤醒应用非连续的、频繁的执行唤醒的问题,无法从根本上减少通信终端待机电流中的毛刺信号。而且,判断时,若条件限制太严格,就会导致唤醒应用的相应功能无法执行,若条件限制太宽松,则又无法达到减少唤醒次数的目的,很难在不影响唤醒应用的前提下达到省电的目的。
为解决现有技术中唤醒应用使通信终端待机电流产生毛刺的问题,本发明技术方案提供了一种通信终端待机省电的方法,如图2所示,包括:
步骤S1:在待机模式下,将唤醒应用的时间属性与***长时间唤醒任务的执行时间进行匹配,所述时间属性包括唤醒应用的第一时间门限和执行启动时间,所述***长时间唤醒任务为唤醒持续时间大于第二时间门限的唤醒任务;
步骤S2:将匹配成功的唤醒应用的执行叠加到所述***长时间唤醒任务的执行,所述匹配成功包括:所述唤醒应用在匹配前后的执行启动时间之间的时间差小于该唤醒应用的所述第一时间门限。
当通信终端为待机模式时,可能存在唤醒持续时间大于第二门限值的***长时间唤醒任务,例如通信终端的异频点测量任务、异网络测量任务等。本发明技术方案能将***中匹配成功的、分散的唤醒应用合并到***长时间唤醒任务中执行,能大大减少待机电流中的毛刺信号,并缩短唤醒持续的时间,可以从根本上解决由于过多的毛刺信号导致的耗电量增加的问题。为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图,对本发明的具体实施例做详细的说明。
实施例一
如图3所示,为本发明实施例一的通信终端待机省电的方法的流程示意图,包括:
步骤S100:获取唤醒应用的时间属性。本实施例中的唤醒应用可以包括SIM卡的同步操作、看门狗复位操作、应用软件的查询操作中的至少一种。唤醒应用的时间属性包括该唤醒应用的第一时间门限和执行启动时间。具体的第一时间门限包括提前执行的时间门限以及滞后执行的时间门限。其中,提前执行的时间门限表示该唤醒应用最多允许被提前多长时间执行,滞后执行的时间门限表示该唤醒应用最多允许被滞后多长时间执行。举例来说,若通信终端的SIM卡的定时更新的执行启动时间为t0,若其提前执行的时间门限为4s、滞后执行的时间门限为5s,就表示SIM卡的定时更新的执行启动时间允许的时间范围为[t0-4,t0+5],单位为s。通常,唤醒应用被启动后,其时间属性就可以被读取。然后执行步骤S101。
步骤S101:将唤醒应用的时间属性与***长时间唤醒任务的执行时间进行匹配。所述***长时间唤醒任务为唤醒持续时间大于第二时间门限的唤醒任务。其中第二时间门限的具体取值可以根据***需求来具体设定,本发明技术方案不做限制。要将唤醒应用的执行叠加到***长时间唤醒任务的执行中,首先要完成唤醒应用的时间属性与***长时间唤醒任务的匹配,具体的,就是将唤醒应用的执行启动时间提前或者延后至所述***长时间唤醒任务的执行期间,然后以提前或者延后之后的执行启动时间作为该唤醒应用在匹配后的执行启动时间。例如,若***长时间任务是从t2时刻开始,到t3时刻结束的,那么对于步骤S100中提到的SIM卡的定时更新来说,就是将其执行启动时间提前或者延后至t2至t3期间。
但是按照上述的匹配原则,可能出现这样的情况:对有的唤醒应用来说,将其执行启动时间提前或延后至***长时间唤醒任务的执行期间,刚好无法满足该唤醒应用的第一时间门限的要求。因此在这种情况下,匹配结果可能为:将匹配后的唤醒应用的执行结束时间作为***长时间唤醒任务的执行启动时间,或者匹配后的唤醒应用的执行启动时间为***长时间唤醒任务的执行结束时间。可以理解的,在这种情况下,由于唤醒应用的执行和***长时间唤醒任务的执行之间是没有时间间隔的,这样也是能达到消除待机电流中毛刺信号的作用的。相应的,在这种情况下,唤醒应用的时间属性中还应当包括唤醒应用的执行结束时间,以便在完成上述匹配。具体的,仍以SIM卡的定时更新为例,若SIM卡的定时更新的执行启动时间和执行结束时间为分别为t0和t1,***长时间任务的执行启动时间和执行结束时间为t2和t3,当t2>t1时,延后的唤醒应用的执行启动时间和执行结束时间分别应为t2-t1+t0和t2,当t0>t3时,提前的唤醒应用的执行启动时间和执行结束时间分别应为t3和t3+t1-t0。
步骤S102:判断是否匹配成功。根据步骤S100中获得的唤醒应用的时间属性,结合步骤S101中的匹配的结果,就可以判断匹配是否成功,若匹配成功则说明该唤醒应用的执行可以叠加到***长时间唤醒任务中,若匹配不成功,则说明该唤醒应用不可以叠加到***长时间唤醒任务中。匹配成功包括:匹配后的唤醒应用的执行启动时间与匹配前的唤醒应用的执行启动时间之间的时间差,应小于第一时间门限。具体的,为唤醒应用的执行启动时间的提前量小于该唤醒应用对应的提前执行的时间门限,或者所述唤醒应用的执行启动时间的延后量小于该唤醒应用对应的滞后执行的时间门限。
在具体实施时,可以将步骤S101提到的两种匹配结合起来,当SIM卡的定时更新被延后执行时,其对应的可延后范围就为[t2-t1+t0,t3),只要该范围内的任一时刻与t0之间的时间差小于SIM卡定时更新所对应的滞后执行的时间门限,就表示SIM卡的定时更新与***的长时间唤醒任务匹配成功;同理,当SIM卡的定时更新被提前执行时,其对应的可提前范围就为(t2,t3],只要该范围内的任一时刻与t0之间的时间差小于SIM卡所对应提前执行的时间门限,就表示SIM卡的定时更新与***长时间唤醒任务匹配成功。
若步骤S102的判断结果为是,就说明匹配成功,则可以继续执行步骤S103,否则执行步骤S104:匹配失败的唤醒应用自行执行唤醒。
步骤S103:判断匹配成功的唤醒应用的执行与***长时间唤醒任务的执行是否存在冲突。基于前面的分析可知,对于匹配成功的唤醒应用,可以将匹配成功的唤醒应用提前到***长时间唤醒任务的执行期间或执行结束时间启动执行,或者将匹配成功的唤醒应用延后到***长时间唤醒任务的执行期间启动执行,或者将匹配成功的唤醒应用延后执行以使其在***长时间唤醒任务的执行启动时间或执行期间结束执行。如果匹配成功的唤醒应用被提前或者延后到***长时间唤醒任务的执行期间启动执行时,可能存在执行冲突的问题,所谓执行冲突,就是指唤醒应用的执行占用相同的资源、或者唤醒应用的执行对***负荷有较大影响等导致的唤醒应用不能同时执行的情况。例如当***长时间唤醒任务与SIM卡相关时,这时SIM卡的定时更新与***长时间任务之间很可能就存在执行冲突的问题,无法同时执行。即当步骤S103的判断结果为是时,应执行步骤S105:依次执行该唤醒应用和***长时间唤醒任务;当步骤S103的判断结果为否时,执行步骤S106:同时执行该唤醒应用和***长时间唤醒任务。
如图4所示,为本实施例的通信终端待机电流示意图,可以看出,匹配前的SIM卡的定时更新在***长时间唤醒任务之前执行,这样就使待机电流中形成毛刺,增加了通信终端的耗电。根据本实施例提供的通信终端待机省电的方法,可将SIM卡的定时更新与***长时间唤醒任务进行匹配,若匹配成功即可将SIM卡的定时更新叠加到***长时间唤醒任务中执行,图中示出了两种匹配后的待机电流,一种为存在执行冲突的情况,另一种为不存在执行冲突的情况。可以看出当存在执行冲突时,可以将SIM卡的定时更新的执行结束时间为***长时间唤醒任务的执行启动时间,当不存在执行冲突时,则可以将***长时间唤醒任务执行期间的任一时刻作为SIM卡定时更新的执行启动时间,当然该任意时刻所对应的延后执行的时间应小于SIM卡对应的延后执行的时间门限。
可见,本实施例的通信终端待机省电的控制方法,通过将匹配成功的唤醒应用叠加到***长时间唤醒任务中执行,能够有效减少通信终端待机电流中的毛刺信号,从而减少通信终端在待机状态下的耗电。而且,在具体叠加执行时,还考虑到唤醒应用与***长时间唤醒任务之间可能存在的执行冲突的问题,避免了由于叠加执行可能因此的***负荷大的问题。
实施例二
可以理解的,在实施例一中提到的唤醒应用为单次执行的唤醒应用或者周期执行的唤醒应用中的某一次唤醒执行。而实际上,很多唤醒应用都是周期性执行的,例如SIM卡的定时更新看门狗复位操作以及应用软件的查询操都肯能时周期性的。这时,如果***长时间唤醒任务也为周期性时,就可以考虑是否能将每一次的SIM卡的定时更新都叠加到***长时间唤醒任务中执行。因此,本实施例还提供了一种针对唤醒应用和***长时间唤醒任务为周期性执行的情况下的通信终端待机省电的控制方法,如图5所示,包括:
步骤S200:获取唤醒应用的时间属性。在这种情况下,唤醒应用的时间属性除第一时间门限和执行启动时间外,还应包括其执行唤醒的周期,这样才能将每一次唤醒应用的执行匹配到周期的***长时间唤醒任务中。例如,通信终端的SIM卡的定时更新的时间属性为:周期为25s,提前执行的时间门限为4s、滞后执行的时间门限为5s,就可以得到表示SIM卡的定时更新周期的允许的范围为[21s,30s]。通常,唤醒应用被启动后,其时间属性就可以被读取。然后执行步骤S201。
步骤S201:将唤醒应用的时间属性与***长时间唤醒任务的执行时间进行匹配。在实施例一中,仅针对唤醒应用的某一次执行,因此直接将唤醒应用的执行启动时间匹配到***长时间唤醒任务中就行了,在本实施例中,考虑到唤醒应用和***长时间唤醒任务均为周期性的,因此除了将唤醒应用首次的执行启动时间匹配到***长时间唤醒任务中外,还要将唤醒应用的执行周期与***长时间唤醒任务的执行周期进行匹配,这样才能使唤醒应用的每次唤醒操作都叠加到***长时间唤醒任务的执行中。具体的,就是将唤醒应用的执行周期转换为***长时间唤醒任务的执行周期的N倍。举例来说,若对于***长时间唤醒任务的执行周期为4s,这时将SIM卡的定时更新的执行周期转换为4s的N倍,25s/4s=6.25,那么可以按照四舍五入的原则取N=6。这样经过匹配后,SIM卡的定时更新的执行周期变为了4s*6=24s。
步骤S202:判断是否匹配成功。根据步骤S200中获得的唤醒应用的时间属性,结合步骤S201中的匹配的结果,就可以判断匹配是否成功,若匹配成功则说明该唤醒应用的执行可以叠加到***长时间唤醒任务接收中,若匹配不成功,则说明该唤醒应用不可以叠加到***长时间唤醒任务接收中。匹配成功的判断条件仍为:匹配后的唤醒应用的执行启动时间与匹配前的唤醒应用的执行启动时间之间的时间差,应小于第一时间门限。由于在步骤S201中将唤醒应用的执行周期换算为***长时间唤醒任务的执行周期的N倍,可以理解的,针对所述唤醒应用的任意一次唤醒操作来说,其执行启动时间在匹配前后的时间差就也就等于所述唤醒应用的执行周期再匹配前后的时间差。仍以SIM卡的定时更新为例来说,其匹配后的执行周期为24s,匹配前的执行周期为25s,两者之间的差值为1s,且小于SIM卡的定时更新的提前执行的时间门限(4s),说明匹配成功,则可以继续执行步骤S203,否则执行步骤S204:匹配失败的唤醒应用自行执行唤醒。
步骤S203:将匹配成功的唤醒应用注册到唤醒应用需求列表中,设置各自对应的唤醒计时器,并启动该唤醒计时器。通信终端中,可能会有很多种周期性的唤醒应用同时处于启动状态,为了便于对这些唤醒应用进行管理,本实施例中将匹配成功的唤醒应用注册到一个唤醒需求列表中,对其中的唤醒应用设置各自对应的唤醒计时器,其计时周期为该唤醒应用匹配后的执行周期。对SIM卡的定时更新来说,其对应的唤醒计时器的计时周期即为24s。当唤醒应用注册成功后,就要启动该唤醒定时器。然后执行步骤S205。
步骤S205:在每个***长时间唤醒任务周期的执行启动时间读取唤醒应用需求列表,依次检测每个唤醒应用的唤醒计时器。
步骤S206:判断是否有唤醒计时器超时。
若步骤S206的判断结果为是,则执行步骤S207:计算对应的唤醒应用的执行启动时间,将其添加到唤醒执行列表中,并复位所述唤醒应用计时器。当有唤醒计时器超时,就说明其对应的唤醒应用可以启动执行了。启动前,还需要通过计算确定具体的执行启动时间。对于本实施例中的周期执行的唤醒应用来说,主要是要确定其匹配后第一个执行周期的执行启动时间,后续的执行就可以直接基于第一个执行周期的执行启动时间,确定后续的执行周期的执行启动时间。具体的,可以使所述唤醒应用在匹配后的第一次执行结束时间为所述***长时间唤醒任务的执行启动时间,或者使所述唤醒应用在匹配后的执行启动时间为所述***长时间唤醒任务的执行结束时间,或者使所述唤醒应用的执行启动时间为***长时间唤醒任务执行期间的任意时刻。例如,对SIM卡的定时更新,其每次进行周期性数据更新假设需要5ms的时间,那么经过匹配后,第一个更新数据的执行启动时间可以是在匹配成功后第6个***长时间唤醒任务的执行结束时间,或者是第6个***长时间唤醒任务的执行启动时间提前5ms后的时间,或者是第6个***长时间唤醒任务的执行期间的任意时刻。确定了执行启动时间后,就可以将该唤醒应用添加到唤醒执行列表中,依据确定的执行启动时间,依次执行唤醒执行列表中的唤醒应用。同时,还应复位该唤醒应用的唤醒计时器,以便后续基于确定的第一个执行周期的执行启动时间,周期执行该唤醒应用。步骤S207后返回步骤S205继续判断。
若步骤S206的判断结果为否,则返回步骤S205继续判断。
步骤S207执行完毕后,就将前面提到的更新周期为25s的SIM卡的定时更新叠加到了***长时间唤醒任务的执行中,如图6所示,匹配前***长时间唤醒任务和SIM卡的定时更新各自执行,例如,在第6个***长时间唤醒任务接收周期附近,SIM卡的定时更新刚刚唤醒通信终端执行完数据更新后,马上又再次唤醒了通信终端执行***长时间唤醒任务,这样就导致了待机电流中出现毛刺,从而导致耗电量的增加。可以理解的,若通信终端启动了隶属于不同模块的多种唤醒应用时,待机电流中毛刺会更加严重。匹配后的一种情况为将SIM卡的定时更新在匹配后的第一个执行周期的执行启动时间设置为第6个***长时间唤醒任务接收周期的执行结束时间,匹配后的另一种情况则为SIM卡的定时更新在匹配后的第一个执行周期的执行启动时间设置为第6个***长时间唤醒任务执行期间的任意时刻(假定此时SIM卡的定时更新与***长时间换新任务的执行不存在冲突),后续SIM卡的更新就基于匹配后的任一种执行启动时间并以6个***长时间唤醒任务接收的周期为周期进行。可以看出,将唤醒应用的执行叠加到***长时间唤醒任务的执行中后,待机电流中的毛刺大大减少了,从而使得通信终端在待机模式下的耗电减少。
实施例三
在实施例二的基础上,当唤醒应用和***长时间任务为周期性执行时,若某一次的***长时间唤醒任务中包含有一些比较特殊的操作时,还可以对已经匹配到***长时间唤醒任务中的唤醒应用进一步的优化,使通信终端的耗电量由唤醒应用引起的耗电量达到最少。本实施例中,以***长时间唤醒任务为***非连续接收为例来进行说明,如图7所示,本实施例的通信终端待机省电的方法包括:
步骤S300:获取唤醒应用的时间属性。本实施例中的唤醒应用为可以为单次执行的唤醒应用,也可以为周期执行的唤醒应用,其具体实施可参考实施例一的步骤S100或者实施例二中的步骤S200。然后执行步骤S301。
步骤S301:将唤醒应用的时间属性与***非连续接收周期进行匹配。具体的匹配过程可参考实施例一中的步骤S101或实施例二中的步骤S201。
步骤S302:判断是否匹配成功。具体实施可参考实施例一中的步骤S102或实施例二中的步骤S202。若匹配成功,则执行步骤S303,否则执行步骤S304:匹配失败的唤醒应用自行执行唤醒。
步骤S303:将匹配成功的唤醒应用注册到唤醒应用需求列表中,并设置各自对应的唤醒计时器,并启动该唤醒计时器。具体实施可参考实施例二中的步骤S203。然后执行步骤S305。
步骤S305:在每个***非连续接收的执行启动时间读取唤醒应用需求列表,依次检测每个唤醒应用的唤醒计时器。
步骤S306:判断唤醒计时器是否超时且当前***非连续接收的执行期间是否在测量任务。在实际应用中,在***长时间唤醒任务的执行过程中,可能还包含一些比较特殊操作,即执行时间长且存在等待时间。例如,在本步骤中提到的在某些***非连续接收的过程中除了常规的接收寻呼指示消息之外,还可能包含的测量任务(跨频点测量、邻区测量等)。这些测量任务的特点是执行时间长、在等待测量结果的过程中没有其他操作。可以理解的,若在等待测量结果的这段时间内,是可以考虑将通信终端的唤醒应用优先叠加到这些测量任务中执行,能够在最大程度上节省通信终端的耗电。
若步骤S306的判断结果为唤醒计时器未超时且当前***非连续接收执行期间存在测量任务,则执行步骤S307:判断该唤醒应用是否可以提前执行。由于该唤醒计时器并未超时,也就是说明当前时刻还未到达完成匹配后确定的执行启动时间,为了使得该唤醒计时器对应的唤醒应用能够被叠加到当前***非连续接收中的测量任务中执行,就需要判断该唤醒应用是否可以提前执行。具体的,提前执行的条件为执行启动时间的提前量应小于该唤醒应用的提前执行时间门限。也就是说,将匹配成功后确定的该唤醒应用的下一个周期的执行启动时间,减去提前执行时间门限后,与当前***非连续接收周期内的长时间任务存在可交叠工作区域,就说明该唤醒应用可以提前并叠加到本次的长时间任务中执行。即若步骤S307判断结果为是,则执行步骤S308:将该唤醒应用的执行启动时间提前到测量任务的执行期间或执行结束时间;若判断结果为否,则执行步骤S309:仍按照匹配成功后确定的执行启动时间执行该唤醒应用。
若步骤S306的判断结果为唤醒计时器未超时且当前***非连续接收执行期间不存在测量任务,则执行步骤S309:仍按照匹配成功后确定的执行启动时间执行该唤醒应用。
若步骤S306的判断结果为唤醒计时器超时且当前***非连续接收执行期间存在测量任务,就说明该唤醒应用在匹配成功后确定执行启动时间正好与当前***非连续接收执行期间的测量任务存在交叠工作区,此时可以直接执行步骤S310:将该唤醒应用的执行启动时间确定为测量任务的执行期间或执行结束时间。也就是说,可以将该唤醒应用放在该测量任务的过程中执行,也可以在测量任务执行完毕后再继续执行该唤醒应用。
若步骤S306的判断结果为唤醒计时器超时且当前***非连续接收执行期间不存在测量任务,则执行步骤S311:计算下次测量任务的时间。一般情况下,像跨频点测量、邻区测量这样的测量任务,也是周期性执行的,因此通信终端能够知道下次测量任务在什么时间执行。然后执行步骤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,用于将所述唤醒应用的执行启动时间提前或者延后至所述***长时间唤醒任务的执行期间,并将提前或者延后之后的执行启动时间确定为该唤醒应用在匹配后的执行启动时间。在其他实施例中,若所述唤醒任务和***长时间唤醒任务都为周期性任务时,所述确定单元101确定的执行启动时间就为所述唤醒应用第一次执行的执行启动时间,后续的执行启动时间将基于该第一次执行的执行启动时间和该唤醒应用匹配后的执行周期来确定。
对有的唤醒应用来说,将其执行启动时间提前或者延后至***长时间唤醒任务的执行期间,可能无法满足其第一时间门限的要求,这时所述匹配单元10还可以包括延后单元102和提前单元103,所述延后单元102,用于将所述唤醒应用的执行启动时间延后,使所述唤醒应用在匹配后的执行结束时间为所述***长时间唤醒任务的执行启动时间;所述提前单元103,用于将所述唤醒应用的执行启动时间提前,使所述唤醒应用在匹配后的执行启动时间为所述***长时间唤醒任务的执行结束时间。对应的,此时唤醒应用的时间属性中还应包括的唤醒应用的执行结束时间。
所述叠加执行单元20包括:提前执行单元201,用于将所述匹配成功的唤醒应用提前到所述***长时间唤醒任务的执行期间或执行结束时间启动执行;延后执行单元202,用于将所述匹配成功的唤醒应用延后到所述***长时间唤醒任务的执行期间启动执行,或者将所述匹配成功的唤醒应用延后执行以使其在所述***长时间唤醒任务的执行启动时间或执行期间结束执行。在其他实施例中,根据实际处理的唤醒应用,所述叠加执行单元20也可以仅包括提前执行单元201和延后执行单元202中的任一项。
考虑到匹配单元10匹配成功的唤醒应用的执行可能与***长时间唤醒任务的执行存在冲突,这时,所述叠加执行单元20还可以包括第一判断单元203,用于判断所述匹配单元匹配成功的唤醒应用的执行与所述***长时间唤醒任务的执行是否存在冲突;第一执行单元204,用于当所述第一判断单元203的判断结果为是时,将所述唤醒应用与所述***长时间唤醒任务依次执行,或者当所述第一判断单元的判断结果为否时,将所述唤醒应用与所述***长时间唤醒任务同时执行。
同理,当***长时间换新任务的执行期间存在多个匹配成功的唤醒任务需要执行时,也需要判断这些匹配成功的唤醒应用是否存在冲突,以便合理的对这些唤醒应用进行处理。因此,所述叠加执行单元20还可以包括:第二判断单元205,用于判断同一个***长时间唤醒任务的执行期间内是否有两个或者两个以上匹配成功的唤醒应用要执行;第二执行单元206,用于当所述第二判断单元205的判断结果为是时,依次执行相互间存在执行冲突的唤醒应用,同时执行相互间不存在执行冲突的唤醒应用。
本实施例的具体实施可参考实施例一至实施例五,此处不再赘述。
本领域技术人员可以理解,实现上述技术方案的全部或部分是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于可读存储介质中,所述存储介质可以是ROM、RAM、磁碟、光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。