CN110377140B - 唤醒操作***的方法、装置、终端及存储介质 - Google Patents
唤醒操作***的方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110377140B CN110377140B CN201910639177.9A CN201910639177A CN110377140B CN 110377140 B CN110377140 B CN 110377140B CN 201910639177 A CN201910639177 A CN 201910639177A CN 110377140 B CN110377140 B CN 110377140B
- Authority
- CN
- China
- Prior art keywords
- time
- starting time
- task
- operating system
- batch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Electric Clocks (AREA)
Abstract
本申请实施例公开了一种唤醒操作***的方法、装置、终端及存储介质,属于计算机技术领域,本申请实施例能够获取第一开始时刻,该第一开始时刻是精确闹钟的开始时刻,当第二开始时刻与该第一开始时刻之间满足预设关系时,将第二开始时刻调整至第一开始时刻,第二开始时刻是第一批闹钟的开始时刻,当***时刻到达第一开始时刻时,唤醒操作***并通过该操作***执行精确闹钟对应的任务,以及第一批闹钟对应的任务。由于本申请实施例能够将第一批闹钟的开始时刻调整至精确闹钟的开始时刻,因此,在保证精确闹钟的开始时刻的前提下,能够减少操作***的唤醒次数,降低操作***负担并减少操作***的能耗。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种唤醒操作***的方法、装置、终端及存储介质。
背景技术
随着对于移动终端续航能力的需求的日益增长,移动终端对于操作***管理自身的任务提出了更高的要求。
相关技术中,移动终端通过操作***对需要定期执行的任务进行管理。当操作***中不存在需要执行的任务时,操作***进入休眠状态,降低电能的消耗。当操作***中存在需要执行的任务时,操作***在闹钟的开始时刻唤醒,执行该闹钟对应的任务。
发明内容
本申请实施例提供了一种唤醒操作***的方法、装置、终端及存储介质。所述技术方案如下:
根据本申请的一方面内容,提供了一种唤醒操作***的方法,所述方法包括:
获取第一开始时刻,所述第一开始时刻是精确闹钟的开始时刻;
当第二开始时刻与所述第一开始时刻之间满足预设关系时,将所述第二开始时刻调整至所述第一开始时刻,所述第二开始时刻是第一批闹钟的开始时刻;
当***时刻到达所述第一开始时刻时,唤醒操作***并通过所述操作***执行第一任务和第二任务,所述第一任务是所述精确闹钟对应的任务,所述第二任务是所述第一批闹钟对应的任务。
根据本申请的另一方面内容,提供了一种唤醒操作***的装置,所述装置包括:
时刻获取模块,用于获取第一开始时刻,所述第一开始时刻是精确闹钟的开始时刻;
时刻调整模块,用于当第二开始时刻与所述第一开始时刻之间满足预设关系时,将所述第二开始时刻调整至所述第一开始时刻,所述第二开始时刻是第一批闹钟的开始时刻;
***唤醒模块,用于当***时刻到达所述第一开始时刻时,唤醒操作***并通过所述操作***执行第一任务和第二任务,所述第一任务是所述精确闹钟对应的任务,所述第二任务是所述第一批闹钟对应的任务。
根据本申请的另一方面内容,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请实施提供的唤醒操作***的方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请实施提供的唤醒操作***的方法。
本申请实施例提供的技术方案带来的有益效果可以包括:
本申请实施例能够获取第一开始时刻,该第一开始时刻是精确闹钟的开始时刻,当第二开始时刻与该第一开始时刻之间满足预设关系时,将第二开始时刻调整至第一开始时刻,第二开始时刻是第一批闹钟的开始时刻,当***时刻到达第一开始时刻时,唤醒操作***并通过该操作***执行精确闹钟对应的任务,以及第一批闹钟对应的任务。由于本申请实施例能够将第一批闹钟的开始时刻调整至精确闹钟的开始时刻,因此,在保证精确闹钟的开始时刻的前提下,能够减少操作***的唤醒次数,降低操作***负担并减少操作***的能耗。
附图说明
为了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1和图2分别示出了本申请一个示例性实施例提供的终端100的结构方框图;
图3是本申请一个示例性实施例提供的唤醒操作***的方法的流程图;
图4是本申请另一个示例性实施例提供的唤醒操作***的方法流程图;
图5是基于图4所示的唤醒操作***的方法提供的部分步骤的流程图;
图6是基于本申请实施例提供的一种设置闹钟的方法的流程图;
图7是基于图6所示实施例提供的一种添加精确闹钟的方案的示意图;
图8示出了本申请一个示例性实施例提供的唤醒操作***的装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了本申请实施例所示方案易于理解,下面对本申请实施例中出现的若干名词进行介绍。
第一开始时刻;指精确闹钟(英文:exact alarm)的开始时刻(英文:start time)。在操作***中,精确闹钟对应的任务将准确在精确闹钟的开始时刻唤醒操作***,并通过操作***执行该精确闹钟对应的任务。
精确闹钟:在一些可能的实现方式中,操作***提供一种唤醒操作***的机制。在该机制中,操作***能够令一些需要在指定时刻被执行的任务按时执行。若该任务不能够提前执行或者延后执行,则操作***在为该任务设定闹钟时,会将该任务对应的闹钟设置为精确闹钟,以保证该任务能够在其指定的时刻被执行。
第二开始时刻:指第一批闹钟的开始时刻。其中,第一批闹钟是没有被标记为精确闹钟的批闹钟(英文:batch)。
批闹钟:在一些可能的实现方式中,批闹钟包括开始时刻和结束时刻(英文:endtime)。批闹钟的开始时刻早于结束时刻。操作***可以为任务设定批闹钟。在一种可能的实现方式中,批闹钟中存在至少一个任务。
可选地,当批闹钟是没有被标记为精确闹钟的批闹钟时,该批闹钟对应的任务将在批闹钟的开始时刻唤醒操作***,从而通过操作***执行该批闹钟对应的任务。
可选地,在本申请提供的实时方式中,当批闹钟是被标记为精确闹钟的批闹钟时,该批闹钟中对应的各个任务都将在该批闹钟的开始时刻,通过唤醒操作***,从而指示操作***执行上述任务。
需要说明的是,相关技术中的批闹钟,开始时刻和结束时刻均是固定不变的。在该场景中,批闹钟对应的任务将固定通过批闹钟对应的开始时刻唤醒操作***,从而指示操作***执行上述任务。
请参考图1和图2,图1和图2分别示出了本申请一个示例性实施例提供的终端100的结构方框图。该终端100可以是智能手机、平板电脑和电子书等等。本申请中的终端100可以包括一个或多个如下部件:处理器110、存储器120和总线130。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责触摸显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储根据终端100的使用所创建的数据(比如音频数据、电话本)等。
以操作***为安卓(Android)***为例,存储器120中存储的程序和数据如图1所示,存储器120中存储有Linux内核层220、***运行库层240、应用框架层260和应用层280。Linux内核层220为终端100的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。***运行库层240通过一些C/C++库来为Android***提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在***运行库层240中还提供有安卓运行时库(Android Runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层260提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层280中运行有至少一个应用程序,这些应用程序可以是操作***自带的联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如即时通信程序、相片美化程序等。
以操作***为IOS***为例,存储器120中存储的程序和数据如图2所示,IOS***包括:核心操作***层320(Core OS layer)、核心服务层340(Core Services layer)、媒体层360(Media layer)、可触摸层380(Cocoa Touch Layer)。核心操作***层320包括了操作***内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层340的程序框架所使用。核心服务层340提供给应用程序所需要的***服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层360为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层380为应用程序开发提供了各种常用的界面相关的框架,可触摸层380负责用户在终端100上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图2所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层340中的基础框架和可触摸层380中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的***服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
请参考图3,图3是本申请一个示例性实施例提供的唤醒操作***的方法的流程图。该唤醒操作***的方法可以应用在上述所示的终端100中。在图3中,唤醒操作***的方法包括:
步骤410,获取第一开始时刻,第一开始时刻是精确闹钟的开始时刻。
在本申请实施例中,需要说明的是,终端能够获取第一开始时刻,该第一开始时刻是精确闹钟的开始时刻。
在一种可能的实施方式中,精确闹钟对应于第一任务,该第一任务可能是***应用、第三方应用、服务、进程或线程中至少一种。
可选地,当操作***为上述第一任务设立精确闹钟后,终端相应地能够获取精确闹钟的第一开始时刻。在本申请实施例实施的过程中,步骤410中指示的获取第一开始时刻的步骤可以是操作***主动通过调用函数或者发出控制指令实现的步骤,也可以是操作***从指定存储第一开始时刻的存储位置处读取该第一开始时刻,本申请实施例对此不作限定。
步骤420,当第二开始时刻与第一开始时刻之间满足预设关系时,将第二开始时刻调整至第一开始时刻,第二开始时刻是第一批闹钟的开始时刻。
在本申请实施例中,终端能够在第二开始时刻与第一开始时刻之间满足预设关系时,将第二开始时刻调整至第一开始时刻。其中,第二开始时刻是第一批闹钟的开始时刻。
可选地,终端能够为预设设计预设关系,该预设关系用于限定两个时刻之间的关系。可选地,该预设关系可以用于指示两个时刻之间的时长的长度,或者,两个时刻之间的早晚关系。
在本申请中,终端能够将第一批闹钟的开始时刻予以改变。
在一种可能的实现方式中,当第一开始时刻早于第二开始时刻时,终端将第二开始时刻提前至第一开始时刻。
在另一种可能的实现方式中,当第一开始时刻不早于第二开始时刻时,终端将第二开始时刻延后至第一开始时刻。
步骤430,当***时刻到达第一开始时刻时,唤醒操作***并通过操作***执行第一任务和第二任务,第一任务是精确闹钟对应的任务,第二任务是第一批闹钟对应的任务。
在本申请实施例中,为了任务能够在指定的时刻被执行,终端能够监控调整后开始时刻的批闹钟。当终端的***时刻到达第一开始时刻时,终端将唤醒操作***并通过该操作***执行第一任务和第二任务,其中,第一任务是精确闹钟对应的任务,第二闹钟是第一批闹钟对应的任务。
举例而言,在一种可能的实现方式中,若第一任务是运行进程A,第二任务是启动应用B、结束线程C和调用进程D。第一开始时刻是15:24:13,第二开始时刻是15:24:11,预设条件是第二开始时刻在第一开始时刻前5秒内。在该场景中,终端获取第一开始时刻15:24:13,由于第二开始时刻与第一开始时刻之间的关系满足预设条件。因此,终端将第二开始时刻调整至第一开始时刻15:24:13。随着***时间的变化,当***时间到达第一开始时刻15:24:13时,终端将唤醒操作***,以令操作***运行进程A、启动应用B、结束线程C和调用进程D。可选地,为了保证精确闹钟对应的任务能够准确在第一开始时刻得到执行,终端能够先执行第一任务,后执行第二任务。可选地,当操作***拥有足够的资源同时执行第一任务和第二任务时,操作***能够同时执行第一任务和第二任务。
综上所述,本实施例提供的唤醒操作***的方法,能够在精确闹钟的开始时刻与第一批闹钟的开始时刻之间符合预设关系时,将第一批闹钟的开始时刻调整至精确闹钟的开始时刻,使得***时刻到达第一开始时刻时,终端能够唤醒操作***,并通过操作***执行精确闹钟对应的第一任务,并执行第一批闹钟对应的第二任务,从而实现减少操作***频繁唤醒的效果,使得操作***在保证精确闹钟对应的任务准确启动的前提下,能够减少操作***的唤醒次数,降低操作***负担并减少操作***的能耗。
请参见图4,图4是本申请另一个示例性实施例提供的唤醒操作***的方法流程图。该唤醒操作***的方法可以应用在上述所示的终端中。在图4中,该唤醒操作***的方法包括:
步骤510,获取第一开始时刻。
在本申请实施例中,步骤510的执行过程和步骤410的执行过程相同,此处不再赘述。
在本申请实施例中,终端在执行完成步骤510后,既可以执行步骤521,也可以执行步骤522和步骤523,或者执行步骤550和步骤560。本申请实施例对此不作限定。需要说明的是,在另一种可能的实现方式中,终端能够同时执行步骤521、步骤522和步骤523。在此场景下,步骤521、步骤522和步骤523的执行时序不被限制。
步骤521,当第二开始时刻与第一开始时刻之间满足预设关系时,将第二开始时刻调整至第一开始时刻。
在本申请实施例中,步骤521的执行过程可以参照步骤420的执行过程。
在一种可能的实现方式中,预设关系可以包括第一开始时刻与第二开始时刻之间的时长小于预设阈值,预设阈值的长度是第二开始时刻与第一批闹钟的结束时间之间的时长。
需要说明的是,由于第一批闹钟拥有开始时刻(即第二开始时刻)和结束时刻。因此,第一批闹钟拥有相应的生效时间段,该生效时间段的开始时刻是第二开始时刻,该生效时间段的结束时刻是第一批闹钟的技术时刻。在一种可能的实现方式中,当不需要精确时刻启动的任务被执行,且该任务预计被执行的时刻落入上述生效时间段中时,终端将该任务的开始时刻设定为第二开始时刻。
可选地,由于第一开始时刻与第二开始时刻之间的时长小于预设阈值。因此,终端能够将精确闹钟的开始时刻附近的批闹钟的开始时刻,集中调整到精确闹钟的开始时刻,使得精确闹钟的触发时刻保持不变的前提下,操作***减少被唤醒的次数,从而在执行相同任务的前提下,减少终端的能耗。同时,由于第一开始时刻和第二开始时刻之间的时长小于预设时长。因此,第一批闹钟的开始时刻的改变对第一批闹钟中的任务的执行的时刻影响有限,由此可见,本申请能够在保证各个任务的启动时刻在可控范围之内的前提下,减少操作***被唤醒的次数,从而减少终端的能耗,延长终端的使用时长。
进一步的,在第一开始时刻与第二开始时刻之间的时长小于预设阈值时,终端可以将预设关系进一步控制在第一开始时刻不早于第二开始时刻。需要说明的是,由于第一开始时刻与第二开始时刻之间的时长小于预设阈值,并且,预设阈值的长度是第二开始时刻与第一批闹钟的结束时刻之间的时长。因此,第二开始时刻实质上是落在第一开始时刻与第一批闹钟的结束时刻之间的时段中,在该场景中,终端将认为第一开始时刻与第二开始时刻之间的满足预设关系。
步骤522,将第一批闹钟的结束时刻向后推延目标时长。
在本申请实施例中,目标时长是第一开始时刻与第二开始时刻之间的时间长度。由于第一开始时刻是早于第二开始时刻的时刻,终端能够将该第一批闹钟的结束时刻相应地向后推延目标时长,使得调整后的第一批闹钟的开始时刻到结束时刻之间的时长不变,保证了批闹钟时长接纳相应的需要执行的任务的容量,减少了操作***出现错误的可能性。
步骤523,将第二开始时刻向后推延至第一开始时刻。
在本申请实施例中,终端将第二开始时刻向后推延至第一开始时刻。结合步骤522,终端能够将第一批闹钟的开始时刻和结束时刻整体向后推延目标时长。
步骤530,将第一批闹钟标记为精确闹钟。
在本申请实施例中,终端能够在第一批闹钟的第二开始时刻被调整为第一开始时刻后,将第一批闹钟自身标记为精确闹钟,从而实现该第一批闹钟不再被其它精确闹钟的开始时刻调整,保证当前第一批闹钟中对应的各个任务的按时触发。
步骤540,当***时刻到达第一开始时刻时,唤醒操作***并通过操作***执行第一任务和第二任务。
在本申请实施例中,步骤540的执行过程和步骤430的执行过程相同,此处不再赘述。
步骤550,当第一开始时刻早于第二开始时刻时,将精确闹钟新建为第二批闹钟。
在本申请实施例中,第二批闹钟是被标记为精确闹钟的批闹钟。
需要说明的是,终端在第一开始时刻早于第二开始时刻时,将确定精确闹钟没有落入到已有的批闹钟的生效时间段中。在此场景下,终端将不会对已有的批闹钟的开始时刻进行调整,而是将该精确闹钟新建为第二批闹钟,该第二批闹钟被标注为精确闹钟。
步骤560,当***时刻到达第二批闹钟的开始时刻时,唤醒操作***并令操作***执行第一任务。
在本申请实施例中,终端能够在***时刻到达第二批闹钟的开始时刻时,唤醒操作***,并通过操作***执行第一任务。通过该步骤,终端能够保证精确闹钟对应的第一任务在指定的开始时刻通过唤醒操作***,而得到执行。
综上所述,本实施例能够根据第二开始时刻与第一开始时刻之间的是否满足预设关系,来确定是否调整第二开始时刻。在一种可能的场景中,当第二开始时刻与第一开始时刻之间的时长小于预设阈值,并且第一开始时刻不早于第二开始时刻时,终端将第二开始时刻调整至第一开始时刻,使得操作***在被唤醒一次的情况下,完成执行第一任务和第二任务的效果,在保证第一任务和第二任务按照需要执行的前提下,减少了操作***的唤醒次数,从而实现了节约终端的能耗的效果。
基于上述实施例所示的方法,本申请实施例还提供一种唤醒操作***的方法,能够在精确闹钟的开始时刻位于已有的批闹钟的生效时间段之外时,同样调整批闹钟的开始时刻,从而起到减少终端能耗的效果。请参考如下实施例。
请参考图5,图5是基于图4所示的唤醒操作***的方法提供的部分步骤的流程图,在图5中,终端在执行完成步骤510后,可以执行包括步骤570和步骤540。其中,步骤570的执行过程介绍如下:
步骤570,当第一开始时刻与第二开始时刻之间的时长小于预设阈值,预设阈值的长度是第二开始时刻与第一批闹钟的结束时刻之间的时长,且第一开始时刻早于第二开始时刻,第一开始时刻符合第二任务的开始时刻要求时,将第二开始时刻调整至第一开始时刻。
在本申请实施例中,预设关系能够同时限定第一开始时刻与第二开始时刻之间的时长关系和先后关系。由于预设阈值的长度是第二开始时刻与第一批闹钟的结束时刻之间的时长,且第一开始时刻与第二开始时刻之间的时长小于预设阈值,同时第一开始时刻早于第二开始时刻。
由此可见,在时间轴的关系上,精确闹钟的开始时刻位于第一批闹钟的生效时间段之外,并且精确闹钟的开始时刻没有超出第二开始时刻过长的时段(预设阈值)。在此场景中,终端根据第一开始时刻对第二任务进行校验。
在一种可能的场景中,第二任务的数量有若干个,每一个第二任务在触发时有不同的要求。在一种时间要求中,请参见下表。
表一
在表一中,示出了一种第一批闹钟中包括的四个第二任务的要求触发时刻,由于第一批闹钟的开始时刻(即第二开始时刻)是14:23:04,均在上述任务的触发时间要求之内。因此,上述任务一、任务二、任务三和任务四的触发时刻均被统一在14:23:04。
当第一开始时刻是14:23:01时,终端根据第一开始时刻对第二任务的触发时间要求进行校验。根据表二所示的数据可知,第一开始时刻均能够满足表二中所示的任务的触发时间要求。因此,第二任务通过了校验。
在一种可能的实现方式中,第一批闹钟对应的第二任务均需要通过校验,以保证操作***中每一个任务均能够按照其本身的要求进行触发。
需要说明的是,开始时刻要求还可以包括要求第二任务是周期性任务,第一开始时刻与第二任务要求的开始时刻之间的时间间隔不大于目标周期,该目标周期是第二任务的周期。在本申请实施例中,由于闹钟机制是被设计实现在未来实现的任务,因此,终端能够在利用该机制执行周期性任务。在此场景中,终端将在第二任务是周期性任务,且第一开始时刻与该任务要求的开始时刻之间的时间间隔较小时,小于其当前的目标周期,即可认为第一开始时刻符合第二任务的开始时刻要求。
综上所述,本实施例提供的唤醒操作***的方法,能够在第一开始时刻符合第一批闹钟对应的第二任务的开始时刻要求时,将第一批闹钟的第二开始时刻调整至第一开始时刻,使得操作***在执行同样数量的任务时,减少被唤醒的次数,从而延长了终端的使用时长。
请参考图6,图6是基于本申请实施例提供的一种设置闹钟的方法的流程图。图6所示的方法可以应用在如图1或图2所示的终端中,在图6中,该设置闹钟的方法包括:
步骤710,终端新增精确闹钟。
步骤720,终端检测操作***中是否存在第一批闹钟的生效时间段满足精确闹钟的开始时刻。
步骤731,当存在第一批闹钟的生效时间段满足精确闹钟的开始时刻,终端检测第一批闹钟是否已经被标记为精确闹钟。
步骤732,当不存在第一批闹钟的生效时间段满足精确闹钟的开始时刻,终端将该精确闹钟创建为第二批闹钟,第二批闹钟被标记为精确闹钟。
步骤740,当第一批闹钟没有被标记为精确闹钟时,终端将第一批闹钟的开始时刻调整为精确闹钟的开始时间。
步骤750,终端将第一批闹钟标记为精确批闹钟(英文:exact batch),并将精确闹钟***其中。
请参见图7,图7是基于图6所示实施例提供的一种添加精确闹钟的方案的示意图。在图7中,包括第一批闹钟811、第一批闹钟812和第一批闹钟813,以及,精确闹钟821、精确闹钟822和精确闹钟823。
其中,第一批闹钟811的第二开始时刻811a调整到精确闹钟821的第一开始时刻821a。第一批闹钟812的第二开始时刻812a调整到精确闹钟822的第一开始时刻822a。第一批闹钟813的第二开始时刻813a保持不变。精确闹钟823被新建为第二批闹钟831。
在图7中,加入精确闹钟前的阶段是8A,加入精确闹钟的阶段是8B,加入精确闹钟后的阶段是8C。显而易见的是,在调整前,操作***需要在时刻811a、时刻821a、时刻812a、时刻822a、时刻813a和精确闹钟823的开始时刻共唤醒6次。而在调整后,终端将在时刻821a、时刻822a、时刻813a和精确闹钟823的开始时刻共唤醒4次即可,由此可见,终端在完成同样的任务时,能够减少唤醒次数,达到了节约能耗的目的。
需要说明的是,调整后的第一批闹钟811和第一批闹钟812均被标记为精确批闹钟。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图8,图8示出了本申请一个示例性实施例提供的唤醒操作***的装置的结构框图。该唤醒操作***的装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:
时刻获取模块910,用于获取第一开始时刻,所述第一开始时刻是精确闹钟的开始时刻;
时刻调整模块920,用于当第二开始时刻与所述第一开始时刻之间满足预设关系时,将所述第二开始时刻调整至所述第一开始时刻,所述第二开始时刻是第一批闹钟的开始时刻;
***唤醒模块930,用于当***时刻到达所述第一开始时刻时,唤醒操作***并通过所述操作***执行第一任务和第二任务,所述第一任务是所述精确闹钟对应的任务,所述第二任务是所述第一批闹钟对应的任务。
在一个可选的实施例中,所述装置中涉及的所述预设关系包括:所述第一开始时刻与所述第二开始时刻之间的时长小于预设阈值,所述预设阈值的长度是所述第二开始时刻与所述第一批闹钟的结束时刻之间的时长。
在一个可选的实施例中,装置中涉及的所述预设关系还包括:所述第一开始时刻不早于所述第二开始时刻。
在一个可选的实施例中,所述装置还包括闹钟标记模块,所述闹钟标记模块用于将所述第一批闹钟标记为所述精确闹钟。
在一个可选的实施例中,所述时刻调整模块920,用于将所述第一批闹钟的结束时刻向后推延目标时长,所述目标时长是所述第一开始时刻与所述第二开始时刻之间的时间长度;将所述第二开始时刻向后推延至所述第一开始时刻。
在一个可选的实施例中,所述装置还包括闹钟新建模块,所述闹钟新建模块用于当所述第一开始时刻早于所述第二开始时刻时,将所述精确闹钟新建为第二批闹钟,所述第二批闹钟是被标记为所述精确闹钟的批闹钟。。
在一个可选的实施例中,所述装置涉及的所述预设关系还包括:第一开始时刻早于所述第二开始时刻,且所述第一开始时刻符合所述第二任务的开始时刻要求。
在一个可选的实施例中,所述开始时刻要求包括:所述第二任务是周期性任务,所述第一开始时刻与所述第二任务要求的开始时刻之间的时间间隔不大于目标周期,所述目标周期是所述第二任务的周期。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的唤醒操作***的方法。
需要说明的是:上述实施例提供的唤醒操作***的装置在执行唤醒操作***的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的唤醒操作***的装置与唤醒操作***的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种唤醒操作***的方法,其特征在于,所述方法包括:
获取第一开始时刻,所述第一开始时刻是精确闹钟的开始时刻;
当第二开始时刻与所述第一开始时刻之间满足预设关系时,将所述第二开始时刻调整至所述第一开始时刻,所述第二开始时刻是第一批闹钟的开始时刻,所述预设关系是所述第一开始时刻与所述第二开始时刻之间的时长关系和所述第一开始时刻与所述第二开始时刻的先后关系之中至少一种;
将所述第一批闹钟的结束时刻向后推延目标时长,所述目标时长是所述第一开始时刻与所述第二开始时刻之间的时间长度;
当***时刻到达所述第一开始时刻时,唤醒操作***并通过所述操作***执行第一任务和第二任务,所述第一任务是所述精确闹钟对应的任务,所述第二任务是所述第一批闹钟对应的任务。
2.根据权利要求1所述的方法,其特征在于,所述预设关系包括:所述第一开始时刻与所述第二开始时刻之间的时长小于预设阈值,所述预设阈值的长度是所述第二开始时刻与所述第一批闹钟的结束时刻之间的时长。
3.根据权利要求2所述的方法,其特征在于,所述预设关系还包括:所述第一开始时刻不早于所述第二开始时刻。
4.根据权利要求3所述的方法,其特征在于,在所述将所述第二开始时刻调整至所述第一开始时刻之后,所述方法还包括:
将所述第一批闹钟标记为所述精确闹钟。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第一开始时刻早于所述第二开始时刻时,将所述精确闹钟新建为第二批闹钟,所述第二批闹钟是被标记为所述精确闹钟的批闹钟。
6.根据权利要求2所述的方法,其特征在于,所述预设关系还包括:第一开始时刻早于所述第二开始时刻,且所述第一开始时刻符合所述第二任务的开始时刻要求。
7.根据权利要求6所述的方法,其特征在于,所述开始时刻要求包括:所述第二任务是周期性任务,所述第一开始时刻与所述第二任务要求的开始时刻之间的时间间隔不大于目标周期,所述目标周期是所述第二任务的周期。
8.一种唤醒操作***的装置,其特征在于,所述装置包括:
时刻获取模块,用于获取第一开始时刻,所述第一开始时刻是精确闹钟的开始时刻;
时刻调整模块,用于当第二开始时刻与所述第一开始时刻之间满足预设关系时,将所述第二开始时刻调整至所述第一开始时刻,所述第二开始时刻是第一批闹钟的开始时刻;
所述时刻调整模块,还用于将所述第一批闹钟的结束时刻向后推延目标时长,所述目标时长是所述第一开始时刻与所述第二开始时刻之间的时间长度;
***唤醒模块,用于当***时刻到达所述第一开始时刻时,唤醒操作***并通过所述操作***执行第一任务和第二任务,所述第一任务是所述精确闹钟对应的任务,所述第二任务是所述第一批闹钟对应的任务。
9.一种终端,其特征在于,所述终端包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求1至7任一所述的唤醒操作***的方法。
10.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1至7任一所述的唤醒操作***的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910639177.9A CN110377140B (zh) | 2019-07-16 | 2019-07-16 | 唤醒操作***的方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910639177.9A CN110377140B (zh) | 2019-07-16 | 2019-07-16 | 唤醒操作***的方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377140A CN110377140A (zh) | 2019-10-25 |
CN110377140B true CN110377140B (zh) | 2021-04-20 |
Family
ID=68253277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910639177.9A Active CN110377140B (zh) | 2019-07-16 | 2019-07-16 | 唤醒操作***的方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377140B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626778B (zh) * | 2020-05-08 | 2024-04-02 | 百度在线网络技术(北京)有限公司 | 用于唤醒设备的方法、装置、电子设备和计算机存储介质 |
CN112463242A (zh) * | 2020-12-17 | 2021-03-09 | 南方电网电力科技股份有限公司 | 一种电能表操作***启动方法、装置、电能表及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354044A (zh) * | 2014-08-21 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 一种应用唤醒方法及装置 |
CN106793030A (zh) * | 2016-12-01 | 2017-05-31 | 北京奇虎科技有限公司 | 应用管理方法、装置及移动终端 |
CN106959857A (zh) * | 2017-03-29 | 2017-07-18 | 联想(北京)有限公司 | 一种电子设备的应用控制方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107211465A (zh) * | 2015-01-30 | 2017-09-26 | 瑞典爱立信有限公司 | 集群警报场景下启用上行链路无线电接入的方法与装置 |
CN106791215B (zh) * | 2017-03-28 | 2020-06-12 | Oppo广东移动通信有限公司 | 闹钟设定方法及具有闹钟功能的移动终端 |
-
2019
- 2019-07-16 CN CN201910639177.9A patent/CN110377140B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354044A (zh) * | 2014-08-21 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 一种应用唤醒方法及装置 |
CN105354044B (zh) * | 2014-08-21 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 一种应用唤醒方法及装置 |
CN106793030A (zh) * | 2016-12-01 | 2017-05-31 | 北京奇虎科技有限公司 | 应用管理方法、装置及移动终端 |
CN106959857A (zh) * | 2017-03-29 | 2017-07-18 | 联想(北京)有限公司 | 一种电子设备的应用控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110377140A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209501B (zh) | 图形处理器的频率调整方法、装置、终端及存储介质 | |
WO2019174474A1 (zh) | 卡顿信息获取方法、装置及终端 | |
CN109343902B (zh) | 音频处理组件的运行方法、装置、终端及存储介质 | |
US10564708B2 (en) | Opportunistic waking of an application processor | |
CN110955499B (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
CN110968415B (zh) | 多核处理器的调度方法、装置及终端 | |
CN110377140B (zh) | 唤醒操作***的方法、装置、终端及存储介质 | |
CN107765773B (zh) | 一种显示信息的方法、装置、终端及存储介质 | |
WO2019201340A1 (zh) | 处理器核心调度方法、装置、终端及存储介质 | |
CN107580039B (zh) | 传输进度的显示方法、装置及终端 | |
WO2020082471A1 (zh) | 灯效控制方法、控制单元、智能终端及计算机可读存储介质 | |
CN115080158B (zh) | 界面显示方法、装置、终端设备及计算机可读存储介质 | |
CN117319376A (zh) | 文件下载控制方法、装置、电子设备及存储介质 | |
CN112135056A (zh) | 拍摄方法、装置、电子设备以及存储介质 | |
WO2023202127A1 (zh) | 应用管控方法、装置、存储介质以及电子设备 | |
CN113568748B (zh) | 一种应用进程处理方法、装置、存储介质及电子设备 | |
CN114237851A (zh) | 一种定时任务的执行方法、装置、设备及存储介质 | |
CN113114849A (zh) | 闹钟提醒方法、装置、存储介质以及终端 | |
CN113918002A (zh) | 调频方法、装置、存储介质及电子设备 | |
JP5505517B2 (ja) | 情報処理装置、電力制御方法、および電力制御プログラム | |
CN112882857A (zh) | 性能问题定位方法、装置、电子设备和存储介质 | |
CN111556194B (zh) | 亮度调节方法、装置、存储介质及终端 | |
WO2022218191A1 (zh) | 电量显示方法、装置、存储介质及终端设备 | |
WO2023138235A1 (zh) | 主题切换方法、装置、设备、存储介质及程序产品 | |
CN110278331B (zh) | ***属性的反馈方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |