一种唤醒硬件设备的方法及装置制造方法及图纸

技术编号:8959085 阅读:122 留言:0更新日期:2013-07-25 03:20
本发明专利技术公开了一种唤醒硬件设备的方法及装置,属于计算机技术领域。所述方法包括:接收应用发送的对预设硬件的唤醒请求,所述唤醒请求中至少携带所述应用指定的唤醒时间;根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟;当所述唤醒时间需要延迟时,则根据所述唤醒时间以及所述预设的延迟唤醒周期确定对所述预设硬件的延迟唤醒时间,并根据所述延迟唤醒时间唤醒所述预设硬件。本发明专利技术通过将应用的唤醒请求中指定的唤醒时间和预设的延迟唤醒周期将需要延迟唤醒时间的应用,进行唤醒延迟处理。降低了由于频繁无序唤醒硬件设备所造成的耗电严重的情况,提高了终端的待机时间。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种唤醒硬件设备的方法及装置
技术介绍
随着终端技术的发展,终端已经逐渐普及到人们的生活中。由于终端的电池容量有限,为了终端能够更加持久的待机使用,因此电源管理一直是终端开发中比较重要的关注点。现有技术中的电源管理方式为:在终端上的硬件设备在没有应用调用时,会进入休眠状态,此时功耗极低。当应用需要调用硬件设备时,再向需要调用的硬件设备发送唤醒请求,告知硬件设备需要唤醒的时间,硬件设备会在唤醒的时间从休眠状态转换为工作状态,为调用自身的应用进行服务。在实现本专利技术的过程中,专利技术人发现上述技术至少存在以下问题:各应用调用硬件设备时,根据各应用自身的需求来唤醒硬件设备,会造成调用的过程频繁且无序,导致各硬件设备频繁的被唤醒,这样的情况达不到原有的休眠节电的效果,这种频繁无序的唤醒硬件设备的过程,反而会造成更严重的耗电。
技术实现思路
为了解决频繁无序的唤醒硬件设备而导致耗电严重的问题,本专利技术实施例提供了一种唤醒硬件设备的方法及装置。所述技术方案如下:—方面,提供了一种唤醒硬件设备的方法,所述方法包括:接收应用发送的对预设硬件的唤醒请求,所述唤醒请求中至少携带所述应用指定的唤醒时间;根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟;当所述唤醒时间需要延迟时,则根据所述唤醒时间以及所述预设的延迟唤醒周期确定对所述预设硬件的延迟唤醒时间,并根据所述延迟唤醒时间唤醒所述预设硬件。另一方面,提供了一种唤醒硬件设备的装置,所述装置包括:接收模块,用于接收应用发送的对预设硬件的唤醒请求,所述唤醒请求中至少携带所述应用指定的唤醒时间;确定模块,用于根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟;第一唤醒模块,用于当所述唤醒时间需要延迟时,则根据所述唤醒时间以及所述预设的延迟唤醒周期确定对所述预设硬件的延迟唤醒时间,并根据所述延迟唤醒时间唤醒所述预设硬件。本专利技术实施例提供的技术方案带来的有益效果是:通过将应用的唤醒请求中指定的唤醒时间和预设的延迟唤醒周期将需要延迟唤醒时间的应用,进行唤醒延迟处理。降低了由于频繁无序唤醒硬件设备所造成的耗电严重的情况,提闻了终端的待机时间。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的唤醒硬件设备的方法流程图;图2是本专利技术实施例二提供的唤醒硬件设备的方法流程图;图3是本专利技术实施例三提供的唤醒硬件设备的方法流程图;图4是本专利技术实施例四提供的唤醒硬件设备的装置结构示意图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。实施例一本专利技术实施例提供了一种唤醒硬件设备的方法,参见图1,方法流程包括:101:接收应用发送的对预设硬件的唤醒请求,所述唤醒请求中至少携带所述应用指定的唤醒时间;102:根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟;103:当所述唤醒时间需要延迟时,则根据所述唤醒时间以及所述预设的延迟唤醒周期确定对所述预设硬件的延迟唤醒时间,并根据所述延迟唤醒时间唤醒所述预设硬件。其中,所述硬件设备为中央处理器CPU、无线保真Wifi模块、全球定位系统GPS模块中的一种或多种。本专利技术实施例通过将应用的唤醒请求中指定的唤醒时间和预设的延迟唤醒周期将需要延迟唤醒时间的应用,进行唤醒延迟处理。降低了由于频繁无序唤醒硬件设备所造成的耗电严重的情况,提高了终端的待机时间。实施例二本专利技术实施例提供了一种唤醒硬件设备的方法,参见图2。需要说明的是,本专利技术实施例是以Android(安卓)系统中应用调用CPlXCentralProcessing Unit,中央处理器)的过程为例对唤醒硬件设备的方法进行说明。应用在唤醒处于休眠状态的CPU时,通过发送AlarmManager消息告知系统何时对CPU进行唤醒。其中,AlarmManager是提供给上层应用的对定时操作管理的接口,应用可以通过调用AlarmManager的set和setRepeating接口来设置单一和重复的定时唤醒操作,系统会在应用设置的时间到达后唤醒CPU来进行应用预先定制的操作。在本专利技术实施例中,应用调用的是AlarmManager的set这一接口,告知系统何时唤醒CPU,其中请求消息中还携带应用标识,即uid。进一步的,该消息的内容为:AlarmManager.set (int type, long triggerAtMillis, PendingIntent operation),其中参数type为时间类型,triggerAtMillis为设定的唤醒时间,operation为到时后进行的操作。其中type中的时间类型分为四种:RTC,是以1970年I月I日零点开始到现在的毫秒数为计数单位设定Alarm的到时时间,到时如果终端处于休眠状态并不唤醒硬件设备,而是等待下次硬件设备被唤醒后进行操作;RTC_WAKEUP,是以1970年I月I日零点开始到现在的毫秒数为计数单位设定Alarm的到时时间,到时如果硬件设备休眠则唤醒硬件设备进行操作;ELAPSED_REALTIME,是以本次终端开机开始到现在的毫秒数为计数单位设定Alarm的到时时间,到时如果硬件设备休眠并不唤醒硬件设备,而是等待下次硬件设备唤醒后进行操作;ELAPSED_REALTIME_WAKEUP,是以本次终端开机开始到现在的毫秒数为计数单位设定Alarm的到时时间,到时如果硬件设备休眠则唤醒硬件设备进行操作。其中,方法流程包括:201:接收应用发送的对预设硬件的唤醒请求,所述唤醒请求中至少携带所述应用指定的唤醒时间。系统收到的唤醒请求中会携带唤醒时间和时间类型以及具体的操作,其中如果时间类型为ELAPSED_REALHME_WAKEUP时,在下述流程中计算唤醒时间是否需要延迟的过程时,则需要将该时间与系统开机时间相加,计算得到从1970年I月I日零点开始到现在的毫秒值,而时间类型为该时间为RTC_WAKEUP时,则直接使用该毫秒值进行计算。202:判断所述应用标识是否属于预设的白名单。较佳的,考虑到部分应用,例如:闹钟应用等,对定时操作的时间准确性要求非常精准,因此将对权威组织(官方或者有类似权力影响力的组织)认定的此类应用的应用标识加入预先存储的白名单中进行管理,从而将属于白名单中的应用标识对应的应用发来的延迟请求,并不对其进行时间对齐策略以保证这类应用程序能够在正常的时间进行正常的工作。203:根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟。当步骤202中判断应用标识属于预设的白名单中的时候,则步骤203可以为:当所述应用标识不属于所述预设的白名单,则根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟。延迟唤醒周期,即为预设的一个时间对齐的标准,是一个毫秒值。如果唤醒请求中的唤醒时间与延迟唤醒周期经过计算需要进行延迟则推迟应用的唤醒时间。其中,计算方式为:将唤醒时间与延迟唤醒周本文档来自技高网...

【技术保护点】
一种唤醒硬件设备的方法,其特征在于,所述方法包括:接收应用发送的对预设硬件的唤醒请求,所述唤醒请求中至少携带所述应用指定的唤醒时间;根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟;当所述唤醒时间需要延迟时,则根据所述唤醒时间以及所述预设的延迟唤醒周期确定对所述预设硬件的延迟唤醒时间,并根据所述延迟唤醒时间唤醒所述预设硬件。

【技术特征摘要】
1.一种唤醒硬件设备的方法,其特征在于,所述方法包括: 接收应用发送的对预设硬件的唤醒请求,所述唤醒请求中至少携带所述应用指定的唤醒时间; 根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟; 当所述唤醒时间需要延迟时,则根据所述唤醒时间以及所述预设的延迟唤醒周期确定对所述预设硬件的延迟唤醒时间,并根据所述延迟唤醒时间唤醒所述预设硬件。2.根据权利要求1所述的方法,其特征在于,所述根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟,包括: 对所述唤醒时间和预设的延迟唤醒周期进行求余运算,得到第一余数; 当所述第一余数为零时,则确定所述唤醒时间不需要延迟; 当所述第一余数不为零时,则确定所述唤醒时间需要延迟。3.根据权利要求2所述的方法,其特征在于,所述根据所述唤醒时间以及所述预设的延迟唤醒周期确定对所述预设硬件的延迟唤醒时间,包括: 将所述唤醒时间与所述第一余数相减,并与所述预设的延迟唤醒周期相加得到第一时间,并将所述第一时间确定为延迟唤醒时间。4.根据权利要求1所述的方法,其特征在于,所述唤醒请求中还携带周期性唤醒时间间隔, 相应的,所述唤醒时间唤醒所述预设硬件之后,所述方法还包括: 在唤醒所述应用调用的硬件设备时,根据当前时间,预设的延迟唤醒周期以及所述周期性唤醒时间间隔,确定下一个周期性唤醒时间,并根据所述下一个周期性唤醒时间唤醒所述应用调用的硬件设备。5.根据权利要求4所述的方法,其特征在于,所述根据当前时间,预设的延迟唤醒周期以及所述周期性唤醒时间间隔,确定下一个周期性唤醒时间,包括: 将所述当前时间与周期性唤醒时间间隔相加得到第二时间,并对所述第二时间和所述预设的延迟唤醒周期进行求余运算,得到第二余数; 当所述第二余数为零时,则根据所述当前时间与所述周期性唤醒时间间隔相加得到第三时间,并将所述第三时间确定为下一个周期性唤醒时间; 当所述第二余数不为零时,则根据所述当前时间与所述第二余数相减,并与所述周期性唤醒时间间隔相加得到第四时间,并将所述第四时间确定为下一个周期性唤醒时间。6.根据权利要求1所述的方法,其特征在于,所述唤醒请求中还携带应用标识, 所述根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟之前,所述方法还包括: 判断所述应用标识是否属于预设的白名单; 相应地,所述根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟,包括: 当所述应用标识不属于所述预设的白名单,则根据所述唤醒时间和预设的延迟唤醒周期确定所述唤醒时间是否需要延迟。7.根据权利要求1所述的方法, 其特征在于,所述硬件设备为中...

【专利技术属性】
技术研发人员:张扬孙鹏
申请(专利权)人:北京小米科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1