CN116302455A - 定时任务的处理方法及装置、存储介质、计算机设备 - Google Patents
定时任务的处理方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN116302455A CN116302455A CN202310579402.0A CN202310579402A CN116302455A CN 116302455 A CN116302455 A CN 116302455A CN 202310579402 A CN202310579402 A CN 202310579402A CN 116302455 A CN116302455 A CN 116302455A
- Authority
- CN
- China
- Prior art keywords
- time
- task
- timing
- added
- layer
- 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.)
- Granted
Links
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种定时任务的处理方法及装置、存储介质、计算机设备,该方法包括:响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间;基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中;监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。本申请能够降低获取需要执行的定时任务对服务器带来的性能损耗,减少应执行的定时任务的获取时间、提升获取效率,进一步有助于提升任务执行效率、减少服务器宕机的情况发生。
Description
技术领域
本申请涉及任务处理技术领域,尤其是涉及到一种定时任务的处理方法及装置、存储介质、计算机设备。
背景技术
现在软件系统因各种业务场景一般都有很多定时任务,比如有的系统甚至有上百个定时任务需要执行,所以如何高效的执行定时任务就是需要面临的问题。
现有技术中一般采用定时器处理定时任务,但这种方式对于单个的定时任务比较方便,但在定时任务量较大的情况下,扫描需要执行的任务时,可能会需要大量时间对存在数据库中的所有任务进行扫描,导致定时任务处理服务宕机,也可能导致出行任务无法执行等情况,影响系统运行稳定性,也影响用户体验。在面对大量定时任务时如何减少获取需要执行的定时任务的时间,提升任务执行效率、避免服务器宕机,成为了本领域值得探讨的问题。
发明内容
有鉴于此,本申请提供了一种定时任务的处理方法及装置、存储介质、计算机设备,能够降低获取需要执行的定时任务对服务器带来的性能损耗,减少应执行的定时任务的获取时间、提升获取效率,进一步有助于提升任务执行效率、减少服务器宕机的情况发生。
根据本申请的一个方面,提供了一种定时任务的处理方法,所述方法包括:
响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间;
基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中;
监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。
可选地,所述基于所述定时时间戳信息以及所述任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格之前,所述方法还包括:
判断所述定时时间是否大于任务时间轮的总体时间跨度,其中,所述总体时间跨度为所述任务时间轮中的时间格个数与时间格基本时间跨度的乘积;
若所述定时时间小于或等于所述总体时间跨度,则执行所述基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格。
可选地,所述方法还包括:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间与所述总体时间跨度确定所述待添加定时任务的任务等待轮次,基于所述当前指向时间格和所述定时时间,确定所述待添加定时任务在所述任务时间轮中的目标时间格;
对所述待添加定时任务标注所述任务等待轮次,并将标注后的待添加定时任务添加至所述目标时间格的任务链表中。
可选地,所述在所述实时指向时间格的任务链表中读取待执行定时任务进行执行,包括:
轮询所述实时指向时间格的任务链表中的待执行定时任务,查询所述待执行定时任务是否对应有等待轮次标注;
若任意的第一待执行定时任务对应有等待轮次标注,则对所述第一待执行定时任务的等待轮次标注进行减一操作,并继续轮询下一个待执行定时任务,其中,当所述第一待执行定时任务的等待轮次标注变更为零时删除该等待轮次标注;
若任意的第二待执行定时任务未标注等待轮次,则读取所述第二待执行定时任务进行执行。
可选地,所述方法还包括:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间和所述总体时间跨度确定所述待添加定时任务的任务添加时间,并对所述待添加定时任务标注所述任务添加时间;
基于所述任务添加时间,将标注后的待添加定时任务放入任务添加队列中,其中,所述任务添加队列以队列内各任务对应的任务添加时间先后顺序进行任务存储。
可选地,所述任务时间轮包括多层,第N+1层任务时间轮中各时间格的基本时间跨度为第N层任务时间轮的总体时间跨度;
所述基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中,包括:
基于所述定时时间以及多层任务时间轮各自的层时间跨度,确定所述待添加定时任务的第一添加层,并基于所述第一添加层的当前指向时间格以及所述定时时间,确定在所述第一添加层中的第一目标时间格;
基于所述第一添加层的时间格基本时间跨度,变更所述待添加定时任务的定时时间,并将变更后的待添加定时任务添加至所述第一添加层的第一目标时间格中;
相应地,所述在所述实时指向时间格的任务链表中读取待执行定时任务进行执行,包括:
在第一层任务时间轮对应的实时指向时间格的任务链表中读取待执行定时任务进行执行。
可选地,所述第一添加层的层时间跨度大于或等于所述定时时间,所述第一添加层对应的下一层任务时间轮的层时间跨度小于所述定时时间;变更后的待添加定时任务的定时时间,为原来的定时时间与所述第一添加层的时间格基本时间跨度相除而得到的余数。
可选地,所述监听任务时间轮的实时指向时间格之后,所述方法还包括:
在其他层任务时间轮对应的实时指向时间格的任务链表中读取待迁移定时任务,其中,所述其他层任务时间轮为所述任务时间轮中除第一层之外的部分;
基于所述待迁移定时任务的定时时间以及多层任务时间轮各自的层时间跨度,确定所述待迁移定时任务的第二添加层,并基于所述第二添加层的当前指向时间格以及所述待迁移定时任务的定时时间,确定在所述第二添加层中的第二目标时间格;
若所述第二添加层不是第一层任务时间轮,则基于所述第二添加层的时间格基本时间跨度,变更所述待迁移定时任务的定时时间,并将变更后的待迁移定时任务迁移至所述第二添加层的第二目标时间格中;
若所述第二添加层是第一层任务时间轮,则将所述待迁移定时任务迁移至所述第二添加层的第二目标时间格中。
可选地,所述任务时间轮的任一时间格中存储的待执行定时任务标记有剩余执行次数;
所述在所述实时指向时间格的任务链表中读取待执行定时任务进行执行之后,所述方法还包括:
对所述待执行定时任务的剩余执行次数进行减一操作,并在所述待执行定时任务的剩余执行次数变更为零时移除该定时任务。
可选地,所述任务时间轮的每个时间格中的任务链表为双向链表。
根据本申请的另一方面,提供了一种定时任务的处理装置,所述装置包括:
任务获取模块,用于响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间;
任务添加模块,用于基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中;
任务执行模块,用于监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。
可选地,所述任务添加模块,还用于:
判断所述定时时间是否大于任务时间轮的总体时间跨度,其中,所述总体时间跨度为所述任务时间轮中的时间格个数与时间格基本时间跨度的乘积;
若所述定时时间小于或等于所述总体时间跨度,则执行所述基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格。
可选地,所述任务添加模块,还用于:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间与所述总体时间跨度确定所述待添加定时任务的任务等待轮次,基于所述当前指向时间格和所述定时时间,确定所述待添加定时任务在所述任务时间轮中的目标时间格;
对所述待添加定时任务标注所述任务等待轮次,并将标注后的待添加定时任务添加至所述目标时间格的任务链表中。
可选地,所述任务执行模块,还用于:
轮询所述实时指向时间格的任务链表中的待执行定时任务,查询所述待执行定时任务是否对应有等待轮次标注;
若任意的第一待执行定时任务对应有等待轮次标注,则对所述第一待执行定时任务的等待轮次标注进行减一操作,并继续轮询下一个待执行定时任务,其中,当所述第一待执行定时任务的等待轮次标注变更为零时删除该等待轮次标注;
若任意的第二待执行定时任务未标注等待轮次,则读取所述第二待执行定时任务进行执行。
可选地,所述任务添加模块,还用于:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间和所述总体时间跨度确定所述待添加定时任务的任务添加时间,并对所述待添加定时任务标注所述任务添加时间;
基于所述任务添加时间,将标注后的待添加定时任务放入任务添加队列中,其中,所述任务添加队列以队列内各任务对应的任务添加时间先后顺序进行任务存储。
可选地,所述任务时间轮包括多层,第N+1层任务时间轮中各时间格的基本时间跨度为第N层任务时间轮的总体时间跨度;
所述任务添加模块,还用于:
基于所述定时时间以及多层任务时间轮各自的层时间跨度,确定所述待添加定时任务的第一添加层,并基于所述第一添加层的当前指向时间格以及所述定时时间,确定在所述第一添加层中的第一目标时间格;
基于所述第一添加层的时间格基本时间跨度,变更所述待添加定时任务的定时时间,并将变更后的待添加定时任务添加至所述第一添加层的第一目标时间格中;
相应地,所述任务执行模块,还用于:在第一层任务时间轮对应的实时指向时间格的任务链表中读取待执行定时任务进行执行。
可选地,所述第一添加层的层时间跨度大于或等于所述定时时间,所述第一添加层对应的下一层任务时间轮的层时间跨度小于所述定时时间;变更后的待添加定时任务的定时时间,为原来的定时时间与所述第一添加层的时间格基本时间跨度相除而得到的余数。
可选地,所述装置还包括:任务迁移模块,用于:
在其他层任务时间轮对应的实时指向时间格的任务链表中读取待迁移定时任务,其中,所述其他层任务时间轮为所述任务时间轮中除第一层之外的部分;
基于所述待迁移定时任务的定时时间以及多层任务时间轮各自的层时间跨度,确定所述待迁移定时任务的第二添加层,并基于所述第二添加层的当前指向时间格以及所述待迁移定时任务的定时时间,确定在所述第二添加层中的第二目标时间格;
若所述第二添加层不是第一层任务时间轮,则基于所述第二添加层的时间格基本时间跨度,变更所述待迁移定时任务的定时时间,并将变更后的待迁移定时任务迁移至所述第二添加层的第二目标时间格中;
若所述第二添加层是第一层任务时间轮,则将所述待迁移定时任务迁移至所述第二添加层的第二目标时间格中。
可选地,所述任务时间轮的任一时间格中存储的待执行定时任务标记有剩余执行次数;所述任务执行模块,还用于:对所述待执行定时任务的剩余执行次数进行减一操作,并在所述待执行定时任务的剩余执行次数变更为零时移除该定时任务。
可选地,所述任务时间轮的每个时间格中的任务链表为双向链表。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述定时任务的处理方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述定时任务的处理方法。
借由上述技术方案,本申请提供的一种定时任务的处理方法及装置、存储介质、计算机设备,通过任务时间轮的形式存储定时任务,从而在任务时间轮的实时指向时间格中读取出需要执行的定时任务进行执行。本申请能够降低获取需要执行的定时任务对服务器带来的性能损耗,减少应执行的定时任务的获取时间、提升获取效率,进一步有助于提升任务执行效率、减少服务器宕机的情况发生。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种定时任务的处理方法的流程示意图;
图2示出了本申请实施例提供的另一种定时任务的处理方法的流程示意图;
图3示出了本申请实施例提供的另一种定时任务的处理方法的流程示意图;
图4示出了本申请实施例提供的另一种定时任务的处理方法的流程示意图;
图5示出了本申请实施例提供的一种定时任务的处理装置的结构示意图;
图6示出了本申请实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种定时任务的处理方法,如图1所示,该方法包括:
步骤101,响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间。
步骤102,基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中。所述任务时间轮的每个时间格中的任务链表为双向链表。
步骤103,监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。
在本申请实施例中,通过任务时间轮的形式存储定时任务,从而在任务时间轮的时间格中读取出需要执行的定时任务进行执行。任务时间轮(Timing Wheel)是一个存储定时任务的环形队列,包括一定数量的时间格,时间格底层采用数组实现,数组中的每个元素可以存放一个定时任务列表(Timer TaskList)。Timer TaskList是一个环形的双向链表,以便循环复用空间、复用链表,链表中的每一项表示的都是定时任务项(Timer TaskEntry),其中封装了真正的定时任务(Timer Task)。例如任务时间轮包括20个时间格,编号依次为0-19,每个时间格的基本时间跨度为1ms,任务时间轮的总体时间跨度为20ms。
首先,在任务时间轮的运转状态下,基于定时任务添加信号,获取该信号对应的待添加定时任务,以便将定时任务存储在任务时间轮中。然后,在任务时间轮中寻找存放该待添加定时任务的目标时间格,并将该任务添加到目标时间格内的任务链表中,存储为待执行定时任务。例如,待添加定时任务的定时时间为10ms,即10ms后执行该任务,当前指向时间格为0号,那么可以将该任务保存在10号时间格内的任务链表中。另外,在任务时间轮的运转状态下,还需要对任务时间轮的实时指向时间格进行监听,实时指向时间格即为存放有现在应执行的定时任务的时间格,因此在实时指向时间格的任务链表中读取出待执行定时任务进行执行。
本申请实施例中,可选地,所述任务时间轮的任一时间格中存储的待执行定时任务标记有剩余执行次数;所述在所述实时指向时间格的任务链表中读取待执行定时任务进行执行之后,还包括:对所述待执行定时任务的剩余执行次数进行减一操作,并在所述待执行定时任务的剩余执行次数变更为零时移除该定时任务。
在该实施例中,任务时间轮中存储的定时任务可以为一次性定时任务,也可以为周期性的定时任务。如果待添加定时任务为需要执行多次的定时任务,那么在将定时任务存储到目标时间格的同时,还可以根据待添加定时任务的目标执行次数,为定时任务标注剩余执行次数,并且该任务每执行一次就将剩余执行次数减一,直到剩余执行次数为零时将该任务从时间格中移除。而如果是一次性的定时任务,执行完直接移除即可。
通过应用本实施例的技术方案,通过任务时间轮的形式存储定时任务,从而在任务时间轮的实时指向时间格中读取出需要执行的定时任务进行执行。本申请能够降低获取需要执行的定时任务对服务器带来的性能损耗,减少应执行的定时任务的获取时间、提升获取效率,进一步有助于提升任务执行效率、减少服务器宕机的情况发生。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种定时任务的处理方法,如图2所示,该方法包括:
步骤201,响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间。
步骤202,判断所述定时时间是否大于任务时间轮的总体时间跨度,其中,所述总体时间跨度为所述任务时间轮中的时间格个数与时间格基本时间跨度的乘积。
步骤203,若所述定时时间小于或等于所述总体时间跨度,则基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中。
步骤204,若所述定时时间大于所述总体时间跨度,则基于所述定时时间与所述总体时间跨度确定所述待添加定时任务的任务等待轮次,基于所述当前指向时间格和所述定时时间,确定所述待添加定时任务在所述任务时间轮中的目标时间格;对所述待添加定时任务标注所述任务等待轮次,并将标注后的待添加定时任务添加至所述目标时间格的任务链表中。
本该实施例中,如果待添加定时任务的定时时间没有超过任务时间轮的总体时间跨度,那么可以直接将待添加定时任务存放到目标时间格的任务链表中。而如果待添加定时任务的定时时间超过了任务时间轮的总体时间跨度,那么可以先计算出该任务应该等待时间轮转动多少轮、再转动多少格后才应该被执行,即计算任务等待轮次和目标时间格。例如任务时间轮的总体时间跨度为20ms,定时任务的定时时间为50ms,那么应该在时间轮转动2轮、10格时执行该任务,即任务等待轮次为2,目标时间格为当前指向时间格后的第10格。接着,对待添加定时任务标注上任务等待轮次后,再添加到目标时间格的任务链表中。
步骤205,监听任务时间轮的实时指向时间格,并轮询所述实时指向时间格的任务链表中的待执行定时任务,查询所述待执行定时任务是否对应有等待轮次标注。
步骤206,若任意的第一待执行定时任务对应有等待轮次标注,则对所述第一待执行定时任务的等待轮次标注进行减一操作,并继续轮询下一个待执行定时任务,其中,当所述第一待执行定时任务的等待轮次标注变更为零时删除该等待轮次标注。
步骤207,若任意的第二待执行定时任务未标注等待轮次,则读取所述第二待执行定时任务进行执行。
在该实施例中,对实时指向时间格的任务链表中的待执行定时任务进行轮询,如果定时任务没标注等待轮次,那么直接执行该定时任务。而如果定时任务标注了等待轮次,那么本次不执行该定时任务,而是将该定时任务的等待轮次减一。进一步,如果执行减一操作后该定时任务的等待轮次变为0,那么可以将该定时任务的等待轮次标注删除,以便下一次指向该时间格时这个定时任务可以被执行。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种定时任务的处理方法,如图3所示,该方法包括:
步骤301,响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间。
步骤302,判断所述定时时间是否大于任务时间轮的总体时间跨度,其中,所述总体时间跨度为所述任务时间轮中的时间格个数与时间格基本时间跨度的乘积。
步骤303,若所述定时时间小于或等于所述总体时间跨度,则基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中。
步骤304,若所述定时时间大于所述总体时间跨度,则基于所述定时时间和所述总体时间跨度确定所述待添加定时任务的任务添加时间,并对所述待添加定时任务标注所述任务添加时间;基于所述任务添加时间,将标注后的待添加定时任务放入任务添加队列中,其中,所述任务添加队列以队列内各任务对应的任务添加时间先后顺序进行任务存储。
步骤305,监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。
在上述实施例中,在待添加定时任务的定时时间大于任务时间轮的总体时间跨度的情况下,还可以延迟添加该定时任务。具体地,可以先确定待添加定时任务的任务添加时间。例如将定时时间与总体时间跨度之差作为任务添加时间,或者将定时时间与预设时间(该值小于总体时间跨度)之差作为任务添加时间,以保证该定时任务在这个任务添加时间被添加到时间轮中以后,需要等待的时间不超出时间轮的总体时间跨度。
另外确定任务添加时间后,将该待添加定时任务先放入一个任务添加队列中,队列中的任务以任务添加时间的先后顺序进行任务存储,例如定时任务1的任务添加时间为30ms,队列中原有的一个定时任务2的任务添加时间为40ms,那么将任务1插入到任务2之前进行存储,以便任务1能先被执行。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种定时任务的处理方法,如图4所示,该方法包括:
步骤401,响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间。
步骤402,基于所述定时时间以及多层任务时间轮各自的层时间跨度,确定所述待添加定时任务的第一添加层,并基于所述第一添加层的当前指向时间格以及所述定时时间,确定在所述第一添加层中的第一目标时间格;其中,所述任务时间轮包括多层,第N+1层任务时间轮中各时间格的基本时间跨度为第N层任务时间轮的总体时间跨度;所述第一添加层的层时间跨度大于或等于所述定时时间,所述第一添加层对应的下一层任务时间轮的层时间跨度小于所述定时时间。
步骤403,基于所述第一添加层的时间格基本时间跨度,变更所述待添加定时任务的定时时间,并将变更后的待添加定时任务添加至所述第一添加层的第一目标时间格中;其中,变更后的待添加定时任务的定时时间,为原来的定时时间与所述第一添加层的时间格基本时间跨度相除而得到的余数。
在上述实施例中,任务时间轮可以包括多层,每层任务时间轮的时间格基本时间跨度基于上一层的层时间跨度确定。例如每层任务时间轮均由20个时间格组成,第一层的时间格基本时间跨度为1ms,第一层的层时间跨度为20ms,第二层的时间格基本时间跨度设置为20ms,第二层的层时间跨度为400ms,以此类推。
向任务时间轮中添加定时任务时,需要先确定待添加定时任务应该存放在多层任务时间轮中的哪一层,即第一添加层,再确定应添加在该层的哪个时间格中,即第一目标时间格,从而进行任务添加。具体地,取层时间跨度大于或等于定时时间,且下一层的层时间跨度小于定时时间的层,作为第一添加层,例如第一层的层时间跨度为20ms,第二层的层时间跨度为400ms、时间格基本时间跨度为20ms,定时时间为50ms,可知20ms<50ms<400ms,因此可以取第二层作为第一添加层。进一步可以计算第一目标时间格和变更后的定时时间,具体可以用定时时间与第一添加层的时间格基本时间跨度做除法,得到商和余数,最后将第一添加层的当前指向时间格+该商得到第一目标时间格,将余数作为变更后的定时时间。例如第一添加层的当前指向1号时间格,50ms/20ms=2余10ms,可以确定第一目标时间格为1+2=3号时间格,变更后的定时时间为10ms。从而对待添加任务的定时时间进行变更后存储在第一添加层的第一目标时间格内的任务链表中。
步骤404,监听任务时间轮的实时指向时间格,并在第一层任务时间轮对应的实时指向时间格的任务链表中读取待执行定时任务进行执行。
步骤405,在其他层任务时间轮对应的实时指向时间格的任务链表中读取待迁移定时任务,其中,所述其他层任务时间轮为所述任务时间轮中除第一层之外的部分。
步骤406,基于所述待迁移定时任务的定时时间以及多层任务时间轮各自的层时间跨度,确定所述待迁移定时任务的第二添加层,并基于所述第二添加层的当前指向时间格以及所述待迁移定时任务的定时时间,确定在所述第二添加层中的第二目标时间格。
步骤407,若所述第二添加层不是第一层任务时间轮,则基于所述第二添加层的时间格基本时间跨度,变更所述待迁移定时任务的定时时间,并将变更后的待迁移定时任务迁移至所述第二添加层的第二目标时间格中。
步骤408,若所述第二添加层是第一层任务时间轮,则将所述待迁移定时任务迁移至所述第二添加层的第二目标时间格中。
在该实施例中,监听任务时间轮中每层的实时指向时间格,其中第一层任务时间轮中存储的定时任务为待执行定时任务,其他层任务时间轮中存储的定时任务为待迁移定时任务。读取第一层任务时间轮的实时指向时间格的任务链表中的待执行定时任务进行执行。而对于除第一层之外的其他层任务时间轮,从对应的实时指向时间格中读取出待迁移定时任务,并将任务向下迁移,直到任务被迁移到第一层后才能被执行。
针对待迁移定时任务,可以参见上述将待添加定时任务添加到时间轮中的方式,实现对待迁移定时任务的向下迁移。先确定待迁移定时任务应迁移至的第二添加层以及在第二添加层中的第二目标时间格。应注意的是,如果第二添加层已经是时间轮的最底层(即第一层任务时间轮),那么直接进行任务迁移即可,也即将待迁移任务从原来的时间格中删除并存储在最底层的第二目标时间格中。而如果第二添加层还不是最底层,那么应进一步对待迁移定时任务的定时时间进行变更,并将变更后的任务迁移到第二添加层的第二目标时间格中。从而在该第二目标时间格被指向时,继续向下迁移任务,直到被迁移到最底层后可以被执行。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种定时任务的处理装置,如图5所示,该装置包括:
任务获取模块,用于响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间;
任务添加模块,用于基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中;
任务执行模块,用于监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。
可选地,所述任务添加模块,还用于:
判断所述定时时间是否大于任务时间轮的总体时间跨度,其中,所述总体时间跨度为所述任务时间轮中的时间格个数与时间格基本时间跨度的乘积;
若所述定时时间小于或等于所述总体时间跨度,则执行所述基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格。
可选地,所述任务添加模块,还用于:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间与所述总体时间跨度确定所述待添加定时任务的任务等待轮次,基于所述当前指向时间格和所述定时时间,确定所述待添加定时任务在所述任务时间轮中的目标时间格;
对所述待添加定时任务标注所述任务等待轮次,并将标注后的待添加定时任务添加至所述目标时间格的任务链表中。
可选地,所述任务执行模块,还用于:
轮询所述实时指向时间格的任务链表中的待执行定时任务,查询所述待执行定时任务是否对应有等待轮次标注;
若任意的第一待执行定时任务对应有等待轮次标注,则对所述第一待执行定时任务的等待轮次标注进行减一操作,并继续轮询下一个待执行定时任务,其中,当所述第一待执行定时任务的等待轮次标注变更为零时删除该等待轮次标注;
若任意的第二待执行定时任务未标注等待轮次,则读取所述第二待执行定时任务进行执行。
可选地,所述任务添加模块,还用于:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间和所述总体时间跨度确定所述待添加定时任务的任务添加时间,并对所述待添加定时任务标注所述任务添加时间;
基于所述任务添加时间,将标注后的待添加定时任务放入任务添加队列中,其中,所述任务添加队列以队列内各任务对应的任务添加时间先后顺序进行任务存储。
可选地,所述任务时间轮包括多层,第N+1层任务时间轮中各时间格的基本时间跨度为第N层任务时间轮的总体时间跨度;
所述任务添加模块,还用于:
基于所述定时时间以及多层任务时间轮各自的层时间跨度,确定所述待添加定时任务的第一添加层,并基于所述第一添加层的当前指向时间格以及所述定时时间,确定在所述第一添加层中的第一目标时间格;
基于所述第一添加层的时间格基本时间跨度,变更所述待添加定时任务的定时时间,并将变更后的待添加定时任务添加至所述第一添加层的第一目标时间格中;
相应地,所述任务执行模块,还用于:在第一层任务时间轮对应的实时指向时间格的任务链表中读取待执行定时任务进行执行。
可选地,所述第一添加层的层时间跨度大于或等于所述定时时间,所述第一添加层对应的下一层任务时间轮的层时间跨度小于所述定时时间;变更后的待添加定时任务的定时时间,为原来的定时时间与所述第一添加层的时间格基本时间跨度相除而得到的余数。
可选地,所述装置还包括:任务迁移模块,用于:
在其他层任务时间轮对应的实时指向时间格的任务链表中读取待迁移定时任务,其中,所述其他层任务时间轮为所述任务时间轮中除第一层之外的部分;
基于所述待迁移定时任务的定时时间以及多层任务时间轮各自的层时间跨度,确定所述待迁移定时任务的第二添加层,并基于所述第二添加层的当前指向时间格以及所述待迁移定时任务的定时时间,确定在所述第二添加层中的第二目标时间格;
若所述第二添加层不是第一层任务时间轮,则基于所述第二添加层的时间格基本时间跨度,变更所述待迁移定时任务的定时时间,并将变更后的待迁移定时任务迁移至所述第二添加层的第二目标时间格中;
若所述第二添加层是第一层任务时间轮,则将所述待迁移定时任务迁移至所述第二添加层的第二目标时间格中。
可选地,所述任务时间轮的任一时间格中存储的待执行定时任务标记有剩余执行次数;所述任务执行模块,还用于:对所述待执行定时任务的剩余执行次数进行减一操作,并在所述待执行定时任务的剩余执行次数变更为零时移除该定时任务。
可选地,所述任务时间轮的每个时间格中的任务链表为双向链表。
需要说明的是,本申请实施例提供的一种定时任务的处理装置所涉及各功能单元的其他相应描述,可以参考图1至图4方法中的对应描述,在此不再赘述。
本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,如图6所示,该计算机设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现各方法实施例中的步骤。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (13)
1.一种定时任务的处理方法,其特征在于,所述方法包括:
响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间;
基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中;
监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。
2.根据权利要求1所述的方法,其特征在于,所述基于所述定时时间戳信息以及所述任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格之前,所述方法还包括:
判断所述定时时间是否大于任务时间轮的总体时间跨度,其中,所述总体时间跨度为所述任务时间轮中的时间格个数与时间格基本时间跨度的乘积;
若所述定时时间小于或等于所述总体时间跨度,则执行所述基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间与所述总体时间跨度确定所述待添加定时任务的任务等待轮次,基于所述当前指向时间格和所述定时时间,确定所述待添加定时任务在所述任务时间轮中的目标时间格;
对所述待添加定时任务标注所述任务等待轮次,并将标注后的待添加定时任务添加至所述目标时间格的任务链表中。
4.根据权利要求3所述的方法,其特征在于,所述在所述实时指向时间格的任务链表中读取待执行定时任务进行执行,包括:
轮询所述实时指向时间格的任务链表中的待执行定时任务,查询所述待执行定时任务是否对应有等待轮次标注;
若任意的第一待执行定时任务对应有等待轮次标注,则对所述第一待执行定时任务的等待轮次标注进行减一操作,并继续轮询下一个待执行定时任务,其中,当所述第一待执行定时任务的等待轮次标注变更为零时删除该等待轮次标注;
若任意的第二待执行定时任务未标注等待轮次,则读取所述第二待执行定时任务进行执行。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述定时时间大于所述总体时间跨度,则基于所述定时时间和所述总体时间跨度确定所述待添加定时任务的任务添加时间,并对所述待添加定时任务标注所述任务添加时间;
基于所述任务添加时间,将标注后的待添加定时任务放入任务添加队列中,其中,所述任务添加队列以队列内各任务对应的任务添加时间先后顺序进行任务存储。
6.根据权利要求1所述的方法,其特征在于,所述任务时间轮包括多层,第N+1层任务时间轮中各时间格的基本时间跨度为第N层任务时间轮的总体时间跨度;
所述基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中,包括:
基于所述定时时间以及多层任务时间轮各自的层时间跨度,确定所述待添加定时任务的第一添加层,并基于所述第一添加层的当前指向时间格以及所述定时时间,确定在所述第一添加层中的第一目标时间格;
基于所述第一添加层的时间格基本时间跨度,变更所述待添加定时任务的定时时间,并将变更后的待添加定时任务添加至所述第一添加层的第一目标时间格中;
相应地,所述在所述实时指向时间格的任务链表中读取待执行定时任务进行执行,包括:
在第一层任务时间轮对应的实时指向时间格的任务链表中读取待执行定时任务进行执行。
7.根据权利要求6所述的方法,其特征在于,
所述第一添加层的层时间跨度大于或等于所述定时时间,所述第一添加层对应的下一层任务时间轮的层时间跨度小于所述定时时间;
变更后的待添加定时任务的定时时间,为原来的定时时间与所述第一添加层的时间格基本时间跨度相除而得到的余数。
8.根据权利要求6所述的方法,其特征在于,所述监听任务时间轮的实时指向时间格之后,所述方法还包括:
在其他层任务时间轮对应的实时指向时间格的任务链表中读取待迁移定时任务,其中,所述其他层任务时间轮为所述任务时间轮中除第一层之外的部分;
基于所述待迁移定时任务的定时时间以及多层任务时间轮各自的层时间跨度,确定所述待迁移定时任务的第二添加层,并基于所述第二添加层的当前指向时间格以及所述待迁移定时任务的定时时间,确定在所述第二添加层中的第二目标时间格;
若所述第二添加层不是第一层任务时间轮,则基于所述第二添加层的时间格基本时间跨度,变更所述待迁移定时任务的定时时间,并将变更后的待迁移定时任务迁移至所述第二添加层的第二目标时间格中;
若所述第二添加层是第一层任务时间轮,则将所述待迁移定时任务迁移至所述第二添加层的第二目标时间格中。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述任务时间轮的任一时间格中存储的待执行定时任务标记有剩余执行次数;
所述在所述实时指向时间格的任务链表中读取待执行定时任务进行执行之后,所述方法还包括:
对所述待执行定时任务的剩余执行次数进行减一操作,并在所述待执行定时任务的剩余执行次数变更为零时移除该定时任务。
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述任务时间轮的每个时间格中的任务链表为双向链表。
11.一种定时任务的处理装置,其特征在于,所述装置包括:
任务获取模块,用于响应于定时任务添加信号,获取待添加定时任务,其中,所述待添加定时任务携带有定时时间;
任务添加模块,用于基于所述定时时间以及任务时间轮的当前指向时间格,确定所述待添加定时任务在所述任务时间轮中的目标时间格,并将所述待添加定时任务添加至所述目标时间格的任务链表中;
任务执行模块,用于监听任务时间轮的实时指向时间格,并在所述实时指向时间格的任务链表中读取待执行定时任务进行执行。
12.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法。
13.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310579402.0A CN116302455B (zh) | 2023-05-23 | 2023-05-23 | 定时任务的处理方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310579402.0A CN116302455B (zh) | 2023-05-23 | 2023-05-23 | 定时任务的处理方法及装置、存储介质、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116302455A true CN116302455A (zh) | 2023-06-23 |
CN116302455B CN116302455B (zh) | 2023-09-01 |
Family
ID=86815316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310579402.0A Active CN116302455B (zh) | 2023-05-23 | 2023-05-23 | 定时任务的处理方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302455B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117081853A (zh) * | 2023-10-12 | 2023-11-17 | 南方电网数字电网研究院有限公司 | 具备时间轮动态认证的新能源边缘侧通信规约转换模块 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292236A (zh) * | 2015-11-30 | 2018-07-17 | 华为技术有限公司 | 一种信息处理方法及装置 |
CN114168281A (zh) * | 2021-11-25 | 2022-03-11 | 中国建设银行股份有限公司 | 定时任务调度方法、装置、计算机设备和存储介质 |
CN114296902A (zh) * | 2021-12-30 | 2022-04-08 | 浪潮云信息技术股份公司 | 一种处理延时任务的方法及装置 |
CN114416308A (zh) * | 2021-12-24 | 2022-04-29 | 上海浦东发展银行股份有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN115292023A (zh) * | 2022-10-08 | 2022-11-04 | 北京中科网威信息技术有限公司 | 定时任务处理方法及装置 |
CN115378888A (zh) * | 2022-08-17 | 2022-11-22 | 深圳星云智联科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN115484179A (zh) * | 2022-09-16 | 2022-12-16 | 杭州极能科技有限公司 | 一种设备告警数据防抖方法 |
CN115658272A (zh) * | 2022-11-07 | 2023-01-31 | 南京金信通信息服务有限公司 | Etl任务调度方法、存储介质、电子设备 |
CN115951983A (zh) * | 2022-12-28 | 2023-04-11 | 厦门友微科技有限公司 | 任务调度方法、装置、系统和电子设备 |
-
2023
- 2023-05-23 CN CN202310579402.0A patent/CN116302455B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108292236A (zh) * | 2015-11-30 | 2018-07-17 | 华为技术有限公司 | 一种信息处理方法及装置 |
CN114168281A (zh) * | 2021-11-25 | 2022-03-11 | 中国建设银行股份有限公司 | 定时任务调度方法、装置、计算机设备和存储介质 |
CN114416308A (zh) * | 2021-12-24 | 2022-04-29 | 上海浦东发展银行股份有限公司 | 任务调度方法、装置、计算机设备和存储介质 |
CN114296902A (zh) * | 2021-12-30 | 2022-04-08 | 浪潮云信息技术股份公司 | 一种处理延时任务的方法及装置 |
CN115378888A (zh) * | 2022-08-17 | 2022-11-22 | 深圳星云智联科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN115484179A (zh) * | 2022-09-16 | 2022-12-16 | 杭州极能科技有限公司 | 一种设备告警数据防抖方法 |
CN115292023A (zh) * | 2022-10-08 | 2022-11-04 | 北京中科网威信息技术有限公司 | 定时任务处理方法及装置 |
CN115658272A (zh) * | 2022-11-07 | 2023-01-31 | 南京金信通信息服务有限公司 | Etl任务调度方法、存储介质、电子设备 |
CN115951983A (zh) * | 2022-12-28 | 2023-04-11 | 厦门友微科技有限公司 | 任务调度方法、装置、系统和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117081853A (zh) * | 2023-10-12 | 2023-11-17 | 南方电网数字电网研究院有限公司 | 具备时间轮动态认证的新能源边缘侧通信规约转换模块 |
CN117081853B (zh) * | 2023-10-12 | 2024-02-13 | 南方电网数字电网研究院股份有限公司 | 具备时间轮动态认证的新能源边缘侧通信规约转换模块 |
Also Published As
Publication number | Publication date |
---|---|
CN116302455B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116302455B (zh) | 定时任务的处理方法及装置、存储介质、计算机设备 | |
US10002075B1 (en) | Managing memory resources in a network environment in order to handle querying of logical data structures | |
CN115114359B (zh) | 用户数据处理方法及装置 | |
CN114416324A (zh) | 任务触发方法、装置、计算机设备和存储介质 | |
US10719497B2 (en) | Utilization of optimized ordered metadata structure for container-based large-scale distributed storage | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN114238085A (zh) | 接口测试方法、装置、计算机设备、存储介质 | |
CN110162542B (zh) | 基于cassandra的数据翻页方法、装置、计算机设备和存储介质 | |
US11561934B2 (en) | Data storage method and method for executing an application with reduced access time to the stored data | |
CN110011832B (zh) | 一种计划任务的配置下发方法及装置 | |
CN109426559B (zh) | 命令下发方法和装置、存储介质、处理器 | |
CN116932779B (zh) | 知识图谱的数据处理方法和装置 | |
CN104391662A (zh) | 一种数据读写方法及装置 | |
CN109241066B (zh) | 请求处理方法及装置 | |
CN118151850A (zh) | 数据存储方法、装置、计算机设备、存储介质 | |
CN117492943A (zh) | 数据处理方法及装置 | |
CN109753228B (zh) | 快照删除方法、装置及系统 | |
CN117667521A (zh) | 数据备份方法、装置、设备及计算机可读存储介质 | |
CN116055642A (zh) | 外呼任务分配方法、装置、计算机设备和存储介质 | |
CN117082143A (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN115328942A (zh) | 业务执行方法、系统、介质及终端 | |
CN116820558A (zh) | 应用程序开发方法、装置、设备、存储介质和程序产品 | |
CN116187696A (zh) | 审计信息处理方法、装置、处理器及电子设备 | |
CN117130704A (zh) | 页面生成方法、装置、计算机设备和存储介质 | |
CN115357429A (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 |