CN110968405A - 一种计划任务的检测方法及装置 - Google Patents

一种计划任务的检测方法及装置 Download PDF

Info

Publication number
CN110968405A
CN110968405A CN201811159496.1A CN201811159496A CN110968405A CN 110968405 A CN110968405 A CN 110968405A CN 201811159496 A CN201811159496 A CN 201811159496A CN 110968405 A CN110968405 A CN 110968405A
Authority
CN
China
Prior art keywords
time
task
executed
execution time
generated
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.)
Pending
Application number
CN201811159496.1A
Other languages
English (en)
Inventor
潘习文
李海燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201811159496.1A priority Critical patent/CN110968405A/zh
Publication of CN110968405A publication Critical patent/CN110968405A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本发明实施例提供了一种计划任务的检测方法及装置。其中所述方法,可以包括:获取已产生的待执行的计划任务的执行时刻;确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;在从当前的系统时间起,经过的时长为所述休眠时长时,检测所述待执行的计划任务的执行时刻是否已经到达。本发明实施例,由于将最早的执行时刻与当前的系统时间之间的时间差,作为下次检测待执行的计划任务的执行时刻是否已经到到达的间隔时间,可以在确保不进行无效的检测的同时,在最早的执行时刻到达时,及时地对待执行的计划任务进行检测,可以实现在节省系统资源的前提下,及时检测到执行时刻已经到达的计划任务。

Description

一种计划任务的检测方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种计划任务的检测方法及装置。
背景技术
应用系统中,一类任务在产生后,被立即执行,这类任务被称为实时任务。还有一类任务在产生后,不被立即执行,而是当对应的执行时刻到达时才执行该任务,这类任务被称为计划任务。为了确定计划任务是否需要被执行,应用系统可以检测计划任务的执行条件是否满足,以确定计划任务的执行时刻是否到达,例如,当计划任务的执行时刻已经到达时,执行该计划任务,当计划任务对应的执行时刻尚未到达时,暂时不执行该计划任务。
现有技术中,可以每间隔预设的检测周期,检测待执行的计划任务,确定这些待执行的计划任务的执行时刻是否已经到达。但是,如果检测周期设置的太长,可能无法及时检测到对应的执行时刻已经到达,示例性的,假设检测周期为1s,如果执行的计划任务对应的执行时刻为t=10ms,在t=0s时,应用系统进行第一次检测,由于该待执行的计划任务对应的执行时刻尚未到达,因此该待执行的计划任务不被执行,在t=1s时应用系统再次进行检测,由于该待执行的计划任务对应的执行时刻已经到达,因此该待执行的计划任务被执行。可见该待执行的计划任务真正被执行的时刻为t=1s,相比对应的执行时刻存在990ms的延时。而如果检测周期设置的太短,应用系统需要频繁进行检测,造成系统资源的浪费。
发明内容
本发明实施例的目的在于提供一种计划任务的检测方法,以实现在节省系统资源的前提下,及时检测到执行时刻已经到达的计划任务。具体技术方案如下:
在本发明实施例的第一方面,提供了一种计划任务的检测方法,所述方法包括:
获取已产生的待执行的计划任务的执行时刻;
确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;
在从当前的系统时间起,经过的时长为所述休眠时长时,检测所述待执行的计划任务的执行时刻是否已经到达。
结合第一方面,在第一种可能的实现方式中,所述确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长,包括:
获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长,所述超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,所述任务队列中包括按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述检测所述已产生的待执行的计划任务的执行时刻是否已经到达之后,所述方法还包括:
从所述任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列;
获取所述更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述任务队列通过以下方法得到,包括:
获取所述已产生的待执行的计划任务的超时时间,并将所述已产生的待执行的计划任务,按照所述超时时间由短到长的顺序进行排列,得到所述任务队列;或者
将所述已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到所述任务队列。
结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,在所述获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长之后,还包括:
当有新产生的待执行的计划任务时,将所述新产生的待执行的计划任务,与所述任务队列中已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到更新后的任务队列;
获取所述更新后的任务队列中位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
结合第一方面,在第五种可能的实现方式中,在所述确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,所述方法还包括:
当有新产生的待执行的计划任务时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,如果有新产生的待执行的计划任务,在所述返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤之前,所述方法还包括:
检测所述新产生的待执行的计划任务的执行时刻是否已经到达。
结合第一方面,在第七种可能的实现方式中,在确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,所述方法还包括:
当系统时间被修改时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤。
结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述当系统时间被修改时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤,包括:
当系统内核发生有预设的系统时间修改事件时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
结合第一方面,在第九种可能的实现方式中,在所述获取已产生的待执行的计划任务的执行时刻之前,所述方法还包括:
获取用于表示存在已产生的待执行的计划任务的信息。
在本发明实施例的第二方面,提供了一种计划任务的检测装置,所述装置包括:
时序模块,用于获取已产生的待执行的计划任务的执行时刻;
休眠控制模块,用于确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;
检测模块,用于在从当前的系统时间起,经过的时长为所述休眠时长时,检测所述待执行的计划任务的执行时刻是否已经到达。
结合第二方面,在第一种可能的实现方式中,所述休眠控制模块,具体用于:
获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长,所述超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,所述任务队列中包括按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述检测模块,还用于在所述检测所述已产生的待执行的计划任务的执行时刻是否已经到达之后,从所述任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列;
所述休眠控制模块,还用于获取所述更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
所述检测模块,还用于在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述任务队列通过以下方法得到,包括:
获取所述已产生的待执行的计划任务的超时时间,并将所述已产生的待执行的计划任务,按照所述超时时间由短到长的顺序进行排列,得到所述任务队列;或者
将所述已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到所述任务队列。
结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,所述时序模块,还用于在所述获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长之后,当有新产生的待执行的计划任务时,将所述新产生的待执行的计划任务,与所述任务队列中已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到更新后的任务队列;
所述休眠控制模块,还用于获取所述更新后的任务队列中位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
所述检测模块,还用于在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
结合第二方面,在第五种可能的实现方式中,所述时序模块,还用于在所述确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,当有新产生的待执行的计划任务时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述检测模块,还用于如果有新产生的待执行的计划任务,在所述返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤之前,检测所述新产生的待执行的计划任务的执行时刻是否已经到达。
结合第二方面,在第七种可能的实现方式中,所述时序模块,还用于当系统时间被修改时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤。
结合第二方面的第七种可能的实现方式中,在第八种可能的实现方式中,所述时序模块,具体用于获取已产生的待执行的计划任务的执行时刻的步骤;并当系统内核发生有预设的系统时间修改事件时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
结合第二方面,在第九种可能的方式中,所述时序模块,在所述获取已产生的待执行的计划任务的执行时刻之前,还用于:
获取用于表示存在已产生的待执行的计划任务的信息。
在本发明实施例提供的第三方面,提供了一种电子设备,所述电子设备包括:
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的计划任务的检测方法步骤。
在本发明实施例提供的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的计划任务的检测方法步骤。
本发明实施例提供的计划任务的检测方法、装置及电子设备,由于已产生的待执行的计划任务的执行时刻不会早于最早的执行时刻,因此在从当前的系统时间起,经过的时长为第一休眠时长之前,不会有待执行的计划任务到达执行时刻,即在此时间段内不需要进行检测,而从当前的系统时间起,经过的时长为第一休眠时长时,至少有一个已产生的待执行的计划任务对应的执行时刻正好到达,在此时间点进行检测,可以及时检测到执行时刻正好到达的已产生的待执行的计划任务,即本发明实施例可以实现在节省系统资源的前提下,及时检测到执行时刻已经到达的计划任务。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的计划任务的检测方法的一种流程示意图;
图2为本发明实施例提供的计划任务的检测方法的另一种流程示意图;
图3为本发明实施例提供的计划任务的检测方法的另一种流程示意图;
图4a为本发明实施例提供的计划任务的检测方法的另一种流程示意图;
图4b为本发明实施例提供的计划任务的检测方法的另一种流程示意图;
图5为本发明实施例提供的计划任务的检测方法的另一种流程示意图;
图6为本发明实施例提供的计划任务的检测方法的另一种流程示意图;
图7为本发明实施例提供的计划任务的检测装置的另一种结构示意图;
图8为本发明实施例提供的计划任务的检测电子设备的一种结构示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1所示为本发明实施例提供的计划任务检测方法的一种流程示意图,可以包括:
S101,获取已产生的待执行的计划任务的执行时刻。
其中,待执行的计划任务的执行时刻,是指该计划任务需要被执行的时刻。在本实施例中,可以是在每个计划任务产生,确定该计划任务的执行时刻,并将该计划任务的执行时刻存储在与该计划任务对应的任务信息中,在其他可选的实施例中,与计划任务对应的任务信息中,还可以存储有该计划任务的任务类型、该计划任务对应的数据结构、该计划任务执行入口地址等信息,将这些信息统一存储在与计划任务对应的任务信息中,有利于对计划任务的统一管理。具体地,可以是获取已产生的待执行的计划任务对应的任务信息,从这些任务信息中读取已产生的待执行的计划任务的执行时刻。
S102,确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长。
示例性的,假设S101中获取到三个执行时刻,分别为t1=180ms,t2=156ms,t3=143ms,其中最早的执行时刻为t3=143ms,假设当前的系统时间为t=100ms,则可以确定出休眠时长为143ms-100ms=43ms。可以理解的是,不存在早于最早的执行时刻的执行时刻,因此执行时刻与当前的系统时间之间的时间差,不可能小于休眠时长。因此,从当前的系统时间起,在经过的时长为休眠时长前,不可能有待执行的计划任务的执行时刻到达,所以在这一时间段内,应用系统中的任务触发模块可以处于休眠状态,不需要去检测待执行的计划任务的执行时刻是否已经到达。
在一种可选的实施例中,也可以是获取任务中位于首位的待执行的计划任务的超时时间,作为休眠时长。
其中,超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,示例性的,一待执行的计划任务的执行时刻为t=180ms,当前的系统时间为t=100ms,则该计划任务的超时时间为80ms。任务队列中,包括有按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。可以理解的是,由于该任务队列中待执行的计划任务,是按照执行时刻从早到晚的顺序进行排列的,因此位于队列首位的待执行的计划任务的执行时刻必然是最早的执行时刻。
在没有新产生的计划任务的前提下,当位于队列前n位的待执行的计划任务被执行后,可以不需要经过计算,直接确定原本位于第n+1位的待执行的计划任务的执行时刻为最早的执行时刻。示例性的,假设任务队列中前3位的计划任务已经被执行,此时原本处于第4位的计划任务位于任务队列首位,并且该原本处于第4位的计划任务的执行时刻,在此时为最早的执行时刻。选用该实施例,通过任务队列的形式,可以减少获取最早的执行时刻所需要的计算量。
S103,在从当前的系统时间起,经过的时长为休眠时长时,检测待执行的计划任务的执行时刻是否已经到达。
在本实施例中,可以利用select模型的IO多路复用选择器来完成该步骤。具体的,可以是利用一IO多路复用选择器监视已产生的待执行的计划任务的事件句柄,将休眠时长作为select模型的输入,以实现在从当前的系统时间起,经过的时长为休眠时长之前,IO多路复用选择器处于挂起状态,在从当前的系统时间起,经过的时长为休眠时长时,IO多路复用选择器被唤醒,进而检测待执行的计划任务的执行时刻是否已经到达。进一步的,在IO多路复用选择器被唤醒后,在检测到待执行的计划任务的执行时刻已经到达时,发出通知,用于通知执行时刻已经到达的待执行的计划任务的执行模块,该待执行的计划任务的事件句柄和事件类型。
可理解的是,由于休眠时长为最早的执行时刻与当前的系统时间之间的时间差,因此在从当前的系统时间起,经过的时长为休眠时长时,最早的执行时刻对应的待执行的计划任务必然正好到达执行时刻。因此,在这个时间点进行检测,可以及时检测到这些待执行的计划任务的执行时刻已经到达,同时避免了无意义的检测。因此选用该实施例,可以实现在节省系统资源的前提下,及时检测到执行时刻已经到达的计划任务。
参见图2,图2所示为本发明实施例提供的计划任务的检测方法的另一种流程示意图,可以包括:
S201,获取已产生的待执行的计划任务的执行时刻。
该步骤与S101相同,可以参见前述S101的描述,在此不再赘述。
S202,获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长。
具体的,可以参见S102中相关的描述,在此不再赘述。
S203,在从当前的系统时间起,经过的时长为休眠时长时,检测待执行的计划任务的执行时刻是否已经到达。
该步骤与S103相同,可以参见前述S103的描述,在此不再赘述。
S204,从任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列。
示例性的,假设任务队列中,包含有五个待执行的计划任务,分别为计划任务A,执行时刻为t=100ms;计划任务B,执行时刻为t=100ms;计划任务C,执行时刻为t=130ms;计划任务D,执行时刻为t=140ms;计划任务E,执行时刻为t=150ms。在S203中的检测待执行的计划任务的执行时刻是否已经到达时,可以检测到计划任务A和计划任务B的执行时刻已经到达,在任务队列中将计划任务A和计划任务B删除,得到更新后的任务队,更新后的任务队列中包括有:计划任务C、计划任务D、计划任务E。
S205,获取更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长。
可以理解的是,位于更新后的任务队列首位的待执行的计划任务,在原本的任务队列中的位置,应当等于在S204中删除的计划任务的数量加一。示例性的,假设在S204中删除了三个计划任务,则原本任务队列中位于第四位的计划任务,在更新后的任务队列中将位于首位。
S206,在从当前的系统时间起,经过的时长为新的休眠时长时,检测更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
可以理解的是,S206中的当前的系统时间,与S203中的当前的系统时间,并非同一个系统时间,两者之间相隔一个休眠时长。进一步地,在S206后,可以以此类推,继续按照上述方法检测待执行的计划任务的执行时刻是否已经到达,在此不再赘述。选用该实施例,可以基于任务队列,循环检测待执行的计划任务的执行时刻是否已经到达,在后续每一个循环过程的计算休眠时长的过程中,均只需要考虑位于任务队列首位的待执行的计划任务的超时时间,而不需要进一步考虑队列中位于首位以外的其他待执行的计划任务的执行时刻,极大地减小了计算量,降低了系统资源的消耗。
参见图3,图3所示为本发明实施例提供的计划任务的检测方法的另一种流程示意图,可以包括:
S301,获取已产生的待执行的计划任务的执行时刻。
该步骤与S101相同,可以参见前述S101的描述,在此不再赘述。
S302,获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长。
该步骤与S202相同,可以参见前述S202的描述,在此不再赘述。
S303,当有新产生的待执行的计划任务时,将新产生的待执行的计划任务,与任务队列中已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到更新后的任务队列。
具体的,可以是将新产生的待执行的计划任务,从位于任务队列末位的待执行的计划任务开始,与任务队列中的待执行的计划任务进行逐一比较,以确定新产生的待执行的计划任务的超时时间,是否短于任务队列中的待执行的计划任务的超时时间,直至任务队列中的待执行的计划任务的超时时间,不长于新产生的待执行的计划任务的超时时间,将新产生的待执行的计划任务插入到该任务队列中的待执行的计划任务的后一位。示例性的,假设新产生的待执行的计划任务的超时时间为100ms,任务队列中共有10个待执行的计划任务,其中位于末位,即第10位的待执行的计划任务的超时时间为130ms,由于130ms长于100ms,因此进一步比位于第9位的待执行的计划任务,假设位于第9位的待执行的计划任务的超时时间为70ms,由于70ms不长于100ms,因此将新产生的待执行的计划任务,作为第10位,插入到任务队列中,得到更新后的任务队列。
可以是将新产生的待执行的计划任务,从位于任务队列末位的待执行的计划任务开始,与任务队列中的待执行的计划任务进行逐一比较,以确定新产生的待执行的计划任务的执行时刻,是否早于任务队列中的待执行的计划任务的执行时刻,直至任务队列中的待执行的计划任务的执行时刻,不晚于新产生的待执行的计划任务的超时时间,将新产生的待执行的计划任务插入到该任务队列中的待执行的计划任务的后一位。
S304,获取更新后的任务队列中位于首位的待执行的计划任务的超时时间,作为新的休眠时长。
具体的,可以参见S102中相关的描述,在此不再赘述。
S305,从当前的系统时间起,经过的时长为新的休眠时长时,检测更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
此步骤与S206相同,可以参见前述S206的描述,在此不再赘述。选用该实施例,可以本方案在有新任务产生的情况下,仍然能够实现及时地检测到待执行的计划任务的执行时刻到达。
上述实施例中的任务队列可以具体按照以下两种方式中的任一方式得到,具体的:
方式一、获取已产生的待执行的计划任务的超时时间,并将已产生的待执行的计划任务,按照超时时间由短到长的顺序进行排列,得到任务队列。
方式二、将已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到任务队列。
选用上述两个方式之中的任一方式,可以在较少的计算量下得到任务队列,并且确保任务队列中,待执行的计划任务严格地按照执行时刻从早到晚的顺序排列。在本实施例中,如果两个待执行的计划任务的超时时间或者执行时刻相同,可以按照这两个待执行的计划任务的产生时间由早到晚的顺序进行排列,也可以按照这两个待执行的计划任务的重要程度由高到低的顺序进行排列。
参见图4a,图4a所示为本发明实施例提供的计划任务检测方法的另一种流程示意图,可以包括:
S401,获取已产生的待执行的计划任务的执行时刻。
此步骤与S101相同,可以参见前述S101的描述,在此不再赘述。
S402,确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长。
此步骤与S102相同,可以参见前述S102的描述,在此不再赘述。
S403,当有新产生的待执行的计划任务时,返回执行S401。
具体的,可以是在接收到任务产生模块发送的通知后,返回执行S401。可以理解的是,以IO多路复用选择器机监视待执行的计划任务为例,当有新产生的待执行的计划任务时,为了对新产生的待执行的计划任务进行监视,IO多路复用选择器被唤醒,将新产生的待执行的计划任务的事件句柄加入监视对象。此时,由于系统时间已经发生了改变,因此需要从新确定IO多路复用选择器的休眠时长。示例性的,假设t=0ms时,IO多路复用选择器确定休眠时长为100ms,在t=50ms时,由于有新产生的待执行的计划任务,IO多路复用选择器被唤醒,此时距离t=100ms只有50ms,如果仍然使用100ms作为休眠时长,将无法及时检测到原本任务队列中位于首位的待执行的计划任务的到达时刻达到。
S404,在从当前的系统时间起,经过的时长为休眠时长时,检测待执行的计划任务的执行时刻,是否已经到达。
此步骤与S103相同,可以参见前述S103的描述,在此不再赘述。选用该实施例,可以本方案在有新任务产生的情况下,仍然能够实现及时地检测到待执行的计划任务的执行时刻到达。
进一步的,参见图4b,在S403中的返回执行S401之前,还可以包括:
S405,检测新产生的待执行的计划任务的执行时刻是否已经到达。
可以理解的是,实时任务可以作为一种超时时间为0的计划任务。选用本实施例,可以将实施任务作为一种超时时间为0的计划任务,当有实时任务产生时,本方法会及时检测到该实时任务,并可以及时通知任务执行模块执行新产生的实时任务。因此选用该实施例,可以使得本方案可以在检测计划任务的同时,能够兼容实时任务的检查。
参见图5,图5所示为本发明实施例提供的计划任务检测方法的另一种流程示意图,可以包括:
S501,获取已产生的待执行的计划任务的执行时刻。
此步骤与S101相同,可以参见前述S101的描述,在此不再赘述。
S502,确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长。
此步骤与S102相同,可以参见前述S102的描述,在此不再赘述。
S503,当系统时间被修改时,返回执行S501。
出于校正系统时间的目的,用户或者应用系统可能会修改系统时间,示例性的,应用系统可能会周期性地比较系统时间与服务器时间,当系统时间与指定服务器时间存在差异时,将系统时间修改为服务器时间。在这种情况下,由于系统时间发生改变,之前计算得到的休眠时长已经不准确,示例性的,假设t=0ms时,计算得到的休眠时长为100ms,在t=10ms时,系统时间因应用系统的自动校时,被修改为t=15ms,此时理论上应当在85ms后检测待执行的计划任务的执行时刻是否到达,然而仍然使用t=0ms时确定的休眠时长,将会在90ms后检测待执行的计划任务的执行时刻是否到达,导致原本执行时刻为t=100ms的待执行的计划任务,延迟到t=105ms才会被检测到执行时刻已经到达,因此需要返回S501,以重新确定休眠时长。
在一种可选的实施例中,可以是当系统内核发生有预设的系统时间修改时间时,返回S501。具体的,这些系统时间修改时间可以是预先注册在系统内核中的,当系统内核中发生有这些系统时间修改事件时,可以及时收到通知,并返回S501.选用该实施例,由于基于系统内核发生的事件监控系统时间是否被修改,可以在系统时间被修改的第一时间及时发现,提高了方案的可靠性。
S504,在从当前的系统时间起,经过的时长为休眠时长时,检测待执行的计划任务的执行时刻,是否已经到达。
此步骤与S103相同,可以参见前述S103的描述,在此不再赘述。选用该实施例,可以本方案在系统时间被修改的情况下,仍然能够实现及时地检测到待执行的计划任务的执行时刻到达。
参见图6,图6所示为本发明实施例提供的计划任务的检测方法的另一种流程示意图,可以包括:
S601,获取用于表示存在已产生的待执行的计划任务的信息。
具体的,可以是应用系统在没有已产生的待执行的计划任务的情况下,监控到有新的待执行的计划任务产生时,生成该信息。现有技术中,当不存在已产生的待执行的计划任务时,为了在有新的计划任务生成时及时作出响应,可以在不存在已产生的的待执行的计划任务时,每间隔预设检测周期,确定一次在最近的检测周期内是否有的新的计划任务产生,但是该方法消耗系统资源较多。
S602,获取已产生的待执行的计划任务的执行时刻。
此步骤与S101相同,可以参见前述S101的描述,在此不再赘述。
S603,确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长。
此步骤与S102相同,可以参见前述S102的描述,在此不再赘述。
S604,在从当前的系统时间起,经过的时长为休眠时长时,检测待执行的计划任务的执行时刻,是否已经到达。
此步骤与S103相同,可以参见前述S103的描述,在此不再赘述。
选用本实施例,只会在确认有已产生的待执行的计划任务时,才会执行后续步骤,在没有已产生的待执行的计划任务时,可以处于休眠状态,在获取到表示存在已产生的待执行的计划任务的信息时被唤醒,可以在实现有新的计划任务生成时及时作出响应的同时,降低系统资源的消耗。
参见图7,图7所示为本发明实施例提供的计划任务的检测装置的一种结构示意图,可以包括:
时序模块701,用于获取已产生的待执行的计划任务的执行时刻;
休眠控制模块702,用于确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;
检测模块703,用于在从当前的系统时间起,经过的时长为休眠时长时,检测待执行的计划任务的执行时刻是否已经到达。
进一步的,休眠控制模块702,具体用于:
获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长,超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,任务队列中包括按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。
进一步的,检测模块703,还用于在检测已产生的待执行的计划任务的执行时刻是否已经到达之后,从任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列;
休眠控制模块702,还用于获取更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
检测模块703,还用于在从当前的系统时间起,经过的时长为新的休眠时长时,检测更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
进一步的,任务队列通过以下方法得到,包括:
获取已产生的待执行的计划任务的超时时间,并将已产生的待执行的计划任务,按照超时时间由短到长的顺序进行排列,得到任务队列;或者
将已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到任务队列。
进一步的,时序模块701,还用于在获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长之后,当有新产生的待执行的计划任务时,将新产生的待执行的计划任务,与任务队列中已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到更新后的任务队列;
休眠控制模块702,还用于获取更新后的任务队列中位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
检测模块703,还用于在从当前的系统时间起,经过的时长为新的休眠时长时,检测更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
进一步的,时序模块701,还用于在确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,当有新产生的待执行的计划任务时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
进一步的,检测模块703,还用于如果有新产生的待执行的计划任务,在返回执行获取已产生的待执行的计划任务的执行时刻的步骤之前,检测新产生的待执行的计划任务的执行时刻是否已经到达。
进一步的,时序模块701,还用于当系统时间被修改时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
进一步的,时序模块701,具体用于获取已产生的待执行的计划任务的执行时刻的步骤;并当系统内核发生有预设的系统时间修改事件时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
进一步的,时序模块701在获取已产生的待执行的计划任务的执行时刻之前,还用于获取用于表示存在已产生的待执行的计划任务的信息。
本发明实施例还提供了一种电子设备,如图8所示,可以包括:
存储器801,用于存放计算机程序;
处理器802,用于执行存储器801上所存放的程序时,实现如下步骤:
获取已产生的待执行的计划任务的执行时刻;
确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;
在从当前的系统时间起,经过的时长为休眠时长时,检测待执行的计划任务的执行时刻是否已经到达。
进一步的,确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长,包括:
获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长,超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,任务队列中包括按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。
进一步的,在检测已产生的待执行的计划任务的执行时刻是否已经到达之后,方法还包括:
从任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列;
获取更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
在从当前的系统时间起,经过的时长为新的休眠时长时,检测更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
进一步的,任务队列通过以下方法得到,包括:
获取已产生的待执行的计划任务的超时时间,并将已产生的待执行的计划任务,按照超时时间由短到长的顺序进行排列,得到任务队列;或者
将已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到任务队列。
进一步的,在获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长之后,还包括:
当有新产生的待执行的计划任务时,将新产生的待执行的计划任务,与任务队列中已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到更新后的任务队列;
获取更新后的任务队列中位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
在从当前的系统时间起,经过的时长为新的休眠时长时,检测更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
进一步的,在确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,方法还包括:
当有新产生的待执行的计划任务时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
进一步的,如果有新产生的待执行的计划任务,在返回执行获取已产生的待执行的计划任务的执行时刻的步骤之前,方法还包括:
检测新产生的待执行的计划任务的执行时刻是否已经到达。
进一步的,在确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,方法还包括:
当系统时间被修改时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
进一步的,当系统时间被修改时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤,包括:
当系统内核发生有预设的系统时间修改事件时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
进一步的,在获取已产生的待执行的计划任务的执行时刻之前,还包括:
获取用于表示存在已产生的待执行的计划任务的信息。
上述电子设备提到的存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一图片传输方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一计划任务的检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (15)

1.一种计划任务的检测方法,其特征在于,所述方法包括:
获取已产生的待执行的计划任务的执行时刻;
确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;
在从当前的系统时间起,经过的时长为所述休眠时长时,检测所述待执行的计划任务的执行时刻是否已经到达。
2.根据权利要求1所述的方法,其特征在于,所述确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长,包括:
获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长,所述超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,所述任务队列中包括按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。
3.根据权利要求2所述的方法,其特征在于,在所述检测所述已产生的待执行的计划任务的执行时刻是否已经到达之后,所述方法还包括:
从所述任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列;
获取所述更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
4.根据权利要求2所述的方法,其特征在于,所述任务队列通过以下方法得到,包括:
获取所述已产生的待执行的计划任务的超时时间,并将所述已产生的待执行的计划任务,按照所述超时时间由短到长的顺序进行排列,得到所述任务队列;或者
将所述已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到所述任务队列。
5.根据权利要求2所述的方法,其特征在于,在所述获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长之后,还包括:
当有新产生的待执行的计划任务时,将所述新产生的待执行的计划任务,与所述任务队列中已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到更新后的任务队列;
获取所述更新后的任务队列中位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
6.根据权利要求1所述的方法,其特征在于,在所述确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,所述方法还包括:
当有新产生的待执行的计划任务时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤。
7.根据权利要求6所述的方法,其特征在于,如果有新产生的待执行的计划任务,在所述返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤之前,所述方法还包括:
检测所述新产生的待执行的计划任务的执行时刻是否已经到达。
8.根据权利要求1所述的方法,其特征在于,在确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长之后,所述方法还包括:
当系统时间被修改时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤。
9.根据权利要求8所述的方法,其特征在于,所述当系统时间被修改时,返回执行所述获取已产生的待执行的计划任务的执行时刻的步骤,包括:
当系统内核发生有预设的系统时间修改事件时,返回执行获取已产生的待执行的计划任务的执行时刻的步骤。
10.根据权利要求1所述的方法,其特征在于,在所述获取已产生的待执行的计划任务的执行时刻之前,所述方法还包括:
获取用于表示存在已产生的待执行的计划任务的信息。
11.一种计划任务的检测装置,其特征在于,所述装置包括:
时序模块,用于获取已产生的待执行的计划任务的执行时刻;
休眠控制模块,用于确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;
检测模块,用于在从当前的系统时间起,经过的时长为所述休眠时长时,检测所述待执行的计划任务的执行时刻是否已经到达。
12.根据权利要求11所述的装置,其特征在于,所述休眠控制模块,具体用于:
获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长,所述超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,所述任务队列中包括按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。
13.根据权利要求12所述的装置,其特征在于,所述检测模块,还用于在所述检测所述已产生的待执行的计划任务的执行时刻是否已经到达之后,从所述任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列;
所述休眠控制模块,还用于获取所述更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
所述检测模块,还用于在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
14.根据权利要求12所述的装置,其特征在于,所述任务队列通过以下方法得到,包括:
获取所述已产生的待执行的计划任务的超时时间,并将所述已产生的待执行的计划任务,按照所述超时时间由短到长的顺序进行排列,得到所述任务队列;或者
将所述已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到所述任务队列。
15.根据权利要求12所述的装置,其特征在于,所述时序模块,还用于在所述获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长之后,当有新产生的待执行的计划任务时,将所述新产生的待执行的计划任务,与所述任务队列中已产生的待执行的计划任务,按照执行时刻从早到晚的顺序进行排列,得到更新后的任务队列;
所述休眠控制模块,还用于获取所述更新后的任务队列中位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
所述检测模块,还用于在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
CN201811159496.1A 2018-09-30 2018-09-30 一种计划任务的检测方法及装置 Pending CN110968405A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811159496.1A CN110968405A (zh) 2018-09-30 2018-09-30 一种计划任务的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811159496.1A CN110968405A (zh) 2018-09-30 2018-09-30 一种计划任务的检测方法及装置

Publications (1)

Publication Number Publication Date
CN110968405A true CN110968405A (zh) 2020-04-07

Family

ID=70028880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811159496.1A Pending CN110968405A (zh) 2018-09-30 2018-09-30 一种计划任务的检测方法及装置

Country Status (1)

Country Link
CN (1) CN110968405A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925626A (zh) * 2021-03-22 2021-06-08 恒为科技(上海)股份有限公司 一种定时器任务处理方法、装置及服务器
CN113312167A (zh) * 2021-08-02 2021-08-27 中电长城网际安全技术研究院(北京)有限公司 业务控制方法和装置、电子设备、计算机可读介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344820A1 (en) * 2013-05-15 2014-11-20 Apple, Inc. System and method for selective timer rate limiting
CN104951361A (zh) * 2014-03-27 2015-09-30 阿里巴巴集团控股有限公司 一种定时任务的触发方法和装置
CN105224401A (zh) * 2015-09-08 2016-01-06 深圳市永兴元科技有限公司 定时任务控制方法及装置
CN105354083A (zh) * 2015-09-30 2016-02-24 北京京东尚科信息技术有限公司 一种检查调度任务前置条件的方法及装置
CN105630132A (zh) * 2015-12-23 2016-06-01 深圳市万普拉斯科技有限公司 功耗控制方法和系统、终端
CN106358085A (zh) * 2016-10-31 2017-01-25 海信电子科技(深圳)有限公司 电视待机状态下任务管理方法及电视
CN107102894A (zh) * 2017-04-07 2017-08-29 百度在线网络技术(北京)有限公司 任务调度方法、装置和系统
CN107678779A (zh) * 2017-09-27 2018-02-09 网宿科技股份有限公司 一种定时任务执行方法和电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140344820A1 (en) * 2013-05-15 2014-11-20 Apple, Inc. System and method for selective timer rate limiting
CN104951361A (zh) * 2014-03-27 2015-09-30 阿里巴巴集团控股有限公司 一种定时任务的触发方法和装置
CN105224401A (zh) * 2015-09-08 2016-01-06 深圳市永兴元科技有限公司 定时任务控制方法及装置
CN105354083A (zh) * 2015-09-30 2016-02-24 北京京东尚科信息技术有限公司 一种检查调度任务前置条件的方法及装置
CN105630132A (zh) * 2015-12-23 2016-06-01 深圳市万普拉斯科技有限公司 功耗控制方法和系统、终端
CN106358085A (zh) * 2016-10-31 2017-01-25 海信电子科技(深圳)有限公司 电视待机状态下任务管理方法及电视
CN107102894A (zh) * 2017-04-07 2017-08-29 百度在线网络技术(北京)有限公司 任务调度方法、装置和系统
CN107678779A (zh) * 2017-09-27 2018-02-09 网宿科技股份有限公司 一种定时任务执行方法和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
兰雨晴,洪雪玉: "《从Windows到Linux的应用移植实现——平台技术与接口篇》", 31 January 2013, 国防工业出版社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112925626A (zh) * 2021-03-22 2021-06-08 恒为科技(上海)股份有限公司 一种定时器任务处理方法、装置及服务器
CN113312167A (zh) * 2021-08-02 2021-08-27 中电长城网际安全技术研究院(北京)有限公司 业务控制方法和装置、电子设备、计算机可读介质
CN113312167B (zh) * 2021-08-02 2021-12-10 中电长城网际安全技术研究院(北京)有限公司 业务控制方法和装置、电子设备、计算机可读介质

Similar Documents

Publication Publication Date Title
US20150058657A1 (en) Adaptive clock throttling for event processing
US9218199B2 (en) Identifying thread progress information by monitoring transitions between interesting states
CN112115200B (zh) 数据同步方法、装置、电子设备及可读存储介质
CN110720096B (zh) 一种多传感器状态估计方法、装置及终端设备
WO2019057193A1 (zh) 数据删除方法及分布式存储系统
US11200136B2 (en) Data monitoring methods, apparatuses, electronic devices, and computer readable storage media
US20220327039A1 (en) Creating statistical analyses of data for transmission to servers
CN110968405A (zh) 一种计划任务的检测方法及装置
CN110990438A (zh) 数据处理方法、装置、电子设备和存储介质
CN112069195A (zh) 基于数据库的消息传输方法、装置、电子设备及存储介质
CN112838980B (zh) 一种消息处理方法、系统、装置、电子设备及存储介质
US11327851B2 (en) Information processing system, information processing method, and non-transitory computer-readable storage medium for storing information processing program
US8352398B2 (en) Time-based conflict resolution
US10061676B2 (en) Remotely located timing method and device for a processing unit in an information processing system
CN110855484B (zh) 自动检测业务量变化的方法、系统、电子设备和存储介质
CN111078418B (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
US20210117253A1 (en) Method, device, and computer program product for managing processes
CN113590017A (zh) 用于处理数据的方法、电子设备和计算机程序产品
AU2017223095B2 (en) System and method for smart event paging
EP3968129A1 (en) Application program freezing control method and apparatus, terminal, and readable storage medium
CN116684306B (zh) 一种故障预测方法、装置、设备及可读存储介质
CN115599634A (zh) 一种数据处理方法、装置、设备及存储介质
US20230297899A1 (en) Optimal Time-to-Event Modeling for Longitudinal Prediction fo Open Entitles
CN109783312B (zh) 一种资源用量的计量方法、装置及系统
CN109753405B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200407

RJ01 Rejection of invention patent application after publication