CN112395057B - 基于定时任务的数据处理方法、装置、计算机设备 - Google Patents
基于定时任务的数据处理方法、装置、计算机设备 Download PDFInfo
- Publication number
- CN112395057B CN112395057B CN202011262157.3A CN202011262157A CN112395057B CN 112395057 B CN112395057 B CN 112395057B CN 202011262157 A CN202011262157 A CN 202011262157A CN 112395057 B CN112395057 B CN 112395057B
- Authority
- CN
- China
- Prior art keywords
- service data
- data
- priority
- processing
- timing task
- 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
- 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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种基于定时任务的数据处理方法、装置、计算机设备和存储介质。所述方法包括:启动定时任务,获取定时任务的业务数据集;在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。采用本方法能够在不停止定时任务且不破坏数据内容的情况下,灵活、实时地对插入的指定业务数据进行优先处理。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种基于定时任务的数据处理方法、装置、计算机设备和存储介质。
背景技术
随着数据处理技术的发展,出现了通过定时任务进行数据处理的技术,在实际应用中,对于不需要实时处理的数据,往往都采用定时任务进行调度并分批处理。采用定时任务,一方面解耦了数据对上游系统的影响,另一方面通过对定时任务的执行频率和执行条数的控制,可以有效避免数据峰值对系统性能的冲击。
定时任务进行数据处理时,往往都是按照一定的顺序执行,一旦数据出现积压,紧急业务的数据无法提前进行处理,影响了紧急业务完成的效率。
传统技术中,定时任务处理数据时,通常都是按照数据的保存时间来顺序处理的,以先进先出的顺序进行处理,如果数据出现积压,不具备优先处理部分数据的功能。对于紧急业务的数据,除非更改其保存时间,但如此一来,破坏了数据内容的真实性,而且即使更改了保存时间也不能马上处理,只能等到当前定时任务执行完毕后,启动下一次定时任务后才能执行。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高紧急数据处理及时性的基于定时任务的数据处理方法、装置、计算机设备和存储介质。
一种基于定时任务的数据处理方法,上述方法包括:
启动定时任务,获取定时任务的业务数据集;
在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;
若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
在一个实施例中,上述方法还包括:
若否,根据定时任务的预设执行顺序从业务数据集中获取第二业务数据,并对第二业务数据进行处理。
在一个实施例中,在对第二业务数据进行处理之后,还包括:
判断第二业务数据是否是业务数据集中的最后一条数据,若否,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,对第一业务数据进行优先处理之后,还包括:
生成第一业务数据对应的优先执行记录。
在一个实施例中,对第二业务数据进行处理之前,包括:
判断第二业务数据是否存在对应的优先执行记录,若否,执行对第二业务数据进行处理的步骤。
在一个实施例中,对第二业务数据进行处理之前,包括:
判断第二业务数据是否存在对应的优先执行记录,若是,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,生成第一业务数据对应的优先执行记录,包括:
通过键值对的形式生成第一业务数据对应的优先执行记录。
在一个实施例中,通过键值对的形式生成第一业务数据对应的优先执行记录,包括:
以第一业务数据的标识为该键值对的主键,处理第一业务数据的时间戳为该键值对的值,生成第一业务数据对应的优先执行记录。
在一个实施例中,判断第二业务数据是否存在对应的优先执行记录,包括:
根据第二业务数据的标识判断是否存在以第二业务数据的标识作为主键的优先执行记录。
在一个实施例中,上述方法还包括:
在接收到业务数据的筛选指令时,根据筛选指令从待处理的业务数据中筛选出第一业务数据;将第一业务数据存入优先处理队列。
一种基于定时任务的数据处理装置,上述装置包括:
任务获取模块,用于启动定时任务,获取定时任务的业务数据集;
缓存查询模块,用于在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;
数据处理模块,用于若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
启动定时任务,获取定时任务的业务数据集;
在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;
若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
启动定时任务,获取定时任务的业务数据集;
在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;
若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
上述基于定时任务的数据处理方法、装置、计算机设备和存储介质,在定时任务启动后,首先查询优先处理队列中是否存在缓存的第一业务数据,若优先处理队列中存在第一业务数据则优先处理第一业务数据。通过在定时任务的循环处理逻辑内部插入对优先处理队列的数据进行优先处理的逻辑,在定时任务启动后,仍可以在不停止本次定时任务且不破坏数据内容的情况下,灵活、实时地插入指定业务的数据进行优先处理,实现紧急数据的及时的处理。
附图说明
图1为一个实施例中基于定时任务的数据处理方法的应用环境图;
图2为一个实施例中基于定时任务的数据处理方法的流程示意图;
图3为一个应用实例中基于定时任务的数据处理方法的应用环境图;
图4为一个应用实例中基于定时任务的数据处理方法的流程示意图;
图5为一个实施例中基于定时任务的数据处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请提供的基于定时任务的数据处理方法,可以应用于如图1所示的应用环境中。其中,服务器100启动定时任务后,获取定时任务的业务数据集102,在根据定时任务的预设执行顺序从业务数据集102中获取第二业务数据之前,优先查询优先处理队列104中是否存在缓存数据,若优先处理队列104中存在缓存数据,服务器100从优先处理队列104的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。其中,服务器100可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于定时任务的数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S10:启动定时任务,获取定时任务的业务数据集。
其中,业务数据集中包括该定时任务的一条或多条待处理的业务数据,业务数据集中包含业务数据的条数可以通过控制定时任务的可执行条数进行灵活配置。
具体地,服务器启动定时任务,根据该定时任务的预设处理对象和预设执行条数等可以获取本次定时任务对应的业务数据集。
步骤S20:在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据。
其中,预设执行顺序指预先设置的定时任务处理业务数据集中的业务数据的原顺序。例如,可以将业务数据的保存时间作为依据,按照业务数据保存时间的先后进行顺序处理。优先处理队列可以是缓存队列,例如redis缓存队列等。
具体地,一般情况下定时任务在获取到业务数据集后,会按照预设的执行顺序从业务数据集中获取业务数据进行处理,本步骤中,在按照预设的执行顺序从业务数据集中获取数据进行处理之前,首先查询指定的优先处理队列,判断优先处理队列中是否存在缓存的业务数据。
步骤S30:若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
其中,第一业务数据是预先存入优先处理队列或实时插入优先处理队列的业务数据,可以是指定的需要进行优先处理的业务数据。第一业务数据可以是该定时任务的业务数据集中的某一条或多条业务数据,也可以是非本次定时任务执行计划中的其他待处理的业务数据。
具体地,服务器在查询优先处理队列并确定优先处理队列中存有缓存的业务数据后,可以从优先处理队列缓存的业务数据中获取至少一条所缓存的业务数据,所获取的业务数据为第一业务数据,并对第一业务数据进行优先处理。第一业务数据的条数不限,当第一业务数据的条数为多条时,服务器可以对第一业务数据进行循环迭代处理,即每处理完毕一条第一业务数据后,可以循环从优先处理队列中获取下一条第一业务数据进行处理,直至优先处理队列中的全部第一业务数据都被处理完毕,即优先处理队列中不在有缓存数据为止。
上述基于定时任务的数据处理方法、装置、计算机设备和存储介质,定时任务启动后,在根据预设执行顺序处理数据之前,首先查询优先处理队列中是否存在缓存的第一业务数据,若优先处理队列中存在第一业务数据则优先处理第一业务数据。通过在定时任务的循环处理逻辑内部插入对优先处理队列的数据进行优先处理的逻辑,在定时任务启动后,仍可以在不停止本次定时任务且不破坏业务数据内容真实性的情况下,灵活、实时地插入指定业务的数据进行优先处理,实现紧急数据的及时的处理。
在一个实施例中,上述方法还包括:若否,根据定时任务的预设执行顺序从业务数据集中获取第二业务数据,并对第二业务数据进行处理。
在本实施例中,当优先处理队列中不存在缓存的业务数据时,服务器则可以按照定时任务的预设执行顺序直接从业务数据集中获取至少一条业务数据,所获取的业务数据集中的业务数据为第二业务数据,并对第二业务数据进行处理。
本实施例,在优先处理队列中没有缓存数据的时候,继续按照定时任务的预设逻辑进行数据的顺序处理。通过在定时任务内部插入优先处理队列的方式来实现指定数据的优先处理,不需要修改业务数据的内容,同时也不需要修改定时任务的预设执行顺序。在优先处理队列中没有缓存数据时,仍可以继续按照定时任务的预设执行顺序进行处理,不会阻碍已经启动的定时任务的执行。
在一个实施例中,在对第二业务数据进行处理之后,还包括:判断该第二业务数据是否是业务数据集中的最后一条数据,若否,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在本实施例中,业务数据集中可以包括多条第二业务数据,在执行完毕当前获取到的第二业务数据后,可以判断当前处理完毕的第二业务数据是否为业务数据集中的最后一条数据,若不是,则返回执行查询优先处理队列中是否存在缓存数据的步骤。
本实施例,当处理完毕的当前的第二业务数据不是业务数据集中的最后一条业务数据时,服务器可以返回执行查询优先处理队列中是否存在缓存数据的步骤,即在每次从业务数据集中获取待处理的第二业务数据之前,都可以先进行查询优先处理队列的步骤,以确保在定时任务启动后实时插入优先处理队列的紧急的第一业务数据可以得到及时处理。对于紧急业务数据,不需要等待本次定时任务的结束,可以实现即插即处理。避免因定时任务预设执行数据条数过多、执行时间过长而导致的紧急数据处理不及时的问题。
在一个实施例中,对第一业务数据进行优先处理之后,还包括:生成第一业务数据对应的优先执行记录。
在本实施例中,优先处理完第一业务数据之后,可以对应的生成该第一业务数据的优先执行记录,优先执行记录的形式不限,生成优先执行记录的方式不限,只要该优先执行记录与该第一业务数据唯一对应,且能够表征该第一业务数据已经被处理过即可。例如,可以是通过键值对的形式生成优先处理记录等。
在一个实施例中,对第二业务数据进行处理之前,包括:判断第二业务数据是否存在对应的优先执行记录,若否,执行对第二业务数据进行处理的步骤。
在本实施例中,在服务器根据定时任务的预设执行顺序从业务数据集中获取到第二业务数据后,首先需要确定该条第二业务数据是否已经被优先处理过,如果该条第二业务数据没有被优先处理过,则根据执行逻辑开始对该条第二业务数据进行处理。具体地,可以通过查询缓存数据库中是否存在该条第二业务数据对应的优先执行记录来判断该条第二业务数据是否已经被优先处理过。
因为本实施例中存在将部分指定数据插入优先处理队列中进行优先处理的逻辑,所以,业务数据集中的第二业务数据有可能曾被指定为需要优先处理的第一业务数据并被存于优先处理队列中,在按照定时任务的预设执行顺序对其进行处理之前,其已经作为优先处理队列中的缓存数据被优先处理了,因此,本实施例在处理第二业务数据之前,添加了验证第二业务数据可执行性的步骤,可以避免对已经优先处理过的第二业务数据进行重复执行,提高了执行逻辑的完整性和业务数据的处理效率,避免了因重复处理导致的计算资源的浪费。
在一个实施例中,对第二业务数据进行处理之前,还包括:判断第二业务数据是否存在对应的优先执行记录,若是,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在本实施例中,如果第二业务数据存在优先执行记录,说明该第二业务数据已经被进行过优先处理,因此不需要按照预设原逻辑继续对该第二业务数据进行处理,此时可以返回执行查询优先处理队列中是否存在缓存数据的步骤,从而开启新一轮的循环。
本实施例,在确定了当前获取到的该条第二业务数据已经被优先处理过之后,不会按照预设原逻辑继续处理该条数据,而是返回查询优先处理队列并开启新一轮的循环,在避免业务数据重复处理的同时,进一步提高了优先处理队列中的数据被及时发现的可能性以及定时任务执行的完整性。
在一个实施例中,生成第一业务数据对应的优先执行记录,包括:通过键值对的形式生成第一业务数据对应的优先执行记录。在进行执行记录的查询时,对于键值对的形式的优先执行记录,可以通过主键准确地获取到主键对应的值,从而快速、准确地判断出该第一业务数据是否被优先执行过。
在一个实施例中,通过键值对的形式生成第一业务数据对应的优先执行记录,包括:以第一业务数据的标识作为键值对的主键,处理第一业务数据的时间戳作为键值对的值,生成第一业务数据对应的优先执行记录。
在本实施例中,可以将第一业务数据的标识作为键,以处理第一业务数据的时间戳作为值。在进行执行记录查询时,可以通过第一业务数据的标识从缓存数据库中检索到第一业务数据的执行记录,通过时间戳得知该第一业务数据是什么时间被处理的,从而准确判断出该第一业务数据是否已经被优先处理过。
在一个实施例中,判断第二业务数据是否存在对应的优先执行记录,包括:根据第二业务数据的标识判断是否存在以第二业务数据的标识作为主键的优先执行记录。
在本实施例中,可以通过第二业务数据的标识从缓存数据库中检索第二业务数据对应的优先执行记录,以此来判断第二业务数据是否存在优先执行记录。
在一个实施例中,在接收到业务数据的筛选指令时,根据筛选指令从待处理的业务数据中筛选出第一业务数据,将第一业务数据存入优先处理队列。
在本实施例中,服务器在接收到终端发送的业务数据的筛选指令时,可以根据筛选指令从待处理的业务数据中筛选出第一业务数据。具体地,用户可以通过终端的显示界面勾选出筛选条件或直接勾选需要进行优先处理的数据,终端根据用户勾选的内容生成筛选指令并发送至服务器,服务器根据筛选指令从数据库中筛选出需要进行优先处理的第一业务数据,并将第一业务数据插入优先处理队列中。
本实施例,可以提供针对待处理业务数据的查询功能、支持各种条件的数据过滤,便于用户定位需要进行优先处理的业务数据。同时,终端的显示界面支持对业务数据或过滤条件的勾选,根据选中的内容生成筛查指令并提交至后台服务器,以使后台服务器根据该指令确定第一业务数据并将第一业务数据逐条存入优先处理队列中。由此一来,服务器可以随时根据用户的需求灵活地向优先处理队列中插入指定数据,在不打断已经启动的定时任务正常执行的情况下,按照用户自定义需求实现指定数据的优先处理。
下面,结合一个应用实例,对本发明所涉及的基于定时任务的数据处理方法进行详细描述。
如图3所示,图3示出了一个应用实例中基于定时任务的数据处理方法的应用环境图。其中,终端200与服务器100通过网络进行通信。终端200可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器100可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图4所示,图4示出了一个应用实例的基于定时任务的数据处理方法的流程图。结合图3和图4,该应用实例的基于定时任务的数据处理方法的流程如下:
1、服务器筛选需要优先处理的第一业务数据。
其中,终端200提供查询页面,支持各种条件的数据过滤,供用户进行自定义的条件或数据的勾选。例如,在通过定时任务处理合同数据(合同号,合同甲方,合同乙方,合同主体,合同签订日期,合同有效期等)的例子中,可以根据合同号、合同乙方、签订日期等作为过滤条件进行业务数据的筛查。
2、将第一业务数据存入优先处理队列104中。
例如上述处理合同数据的例子中,用户通过显示界面选中了合同号为HT0001的业务数据,并将该数据作为第一业务数据存入优先处理队列104中,其中,优先处理队列104可以是redis的缓存队列。
3、服务器获取定时任务的业务数据集,开启定时任务的循环逻辑。
4、服务器查询优先处理队列104中是否存在第一业务数据。
5、若优先处理队列104中存在第一业务数据,优先迭代处理优先处理队列104中的第一业务数据。
如图4所示,迭代处理的逻辑可以为:从优先处理队列104中获取一条第一业务数据,若获取成功则处理该条第一业务数据,处理完毕后继续从优先处理队列104中获取下一条第一业务数据进行处理,直到无法从优先处理队列104中获取到第一业务数据为止。
6、若优先处理队列104中不存在第一业务数据,从定时任务预先设置的业务数据集102中获取第二业务数据。
7、判断该第二业务数据是否已经优先处理过。
8、若该第二业务数据没有处理过,对该第二业务数据进行处理。
9、对该第二业务数据进行处理之后,判断该第二业务数据是否为定时任务的业务数据集102中的最后一条数据。若该第二业务数据不是最后一条数据,返回步骤S3,开启新一轮的循环;若该第二业务数据是最后一条数据,结束定时任务。
应该理解的是,虽然图2和4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于定时任务的数据处理装置,包括:任务获取模块10、缓存查询模块20和数据处理模块30,其中:
任务获取模块10,用于启动定时任务,获取定时任务的业务数据集;
缓存查询模块20,用于在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;
数据处理模块30,用于若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
在一个实施例中,数据处理模块30,还用于若否,根据定时任务的预设执行顺序从业务数据集中获取第二业务数据,并对第二业务数据进行处理。
在一个实施例中,数据处理模块30,还用于在对第二业务数据进行处理之后,判断第二业务数据是否是业务数据集中的最后一条数据,若否,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,数据处理模块30,还用于在对第一业务数据进行优先处理之后,生成第一业务数据对应的优先执行记录,如图3所示,保存于优先执行记录表108中。
在一个实施例中,数据处理模块30,还用于在对第二业务数据进行处理之前,判断第二业务数据是否存在对应的优先执行记录,若否,执行对第二业务数据进行处理的步骤;或,若是,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,数据处理模块30通过键值对的形式生成第一业务数据对应的优先执行记录。
在一个实施例中,数据处理模块30以第一业务数据的标识为键值对的主键,处理第一业务数据的时间戳为键值对的值,生成第一业务数据对应的优先执行记录。
在一个实施例中,数据处理模块30根据第二业务数据的标识判断是否存在以第二业务数据的标识作为主键的优先执行记录。
在一个实施例中,上述装置还包括数据筛选模块40,数据筛选模块40用于在接收到业务数据的筛选指令时,根据筛选指令从待处理的业务数据中筛选出第一业务数据;将第一业务数据存入优先处理队列。
关于基于定时任务的数据处理装置的具体限定可以参见上文中对于基于定时任务的数据处理方法的限定,在此不再赘述。上述基于定时任务的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储业务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于定时任务的数据处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:启动定时任务,获取定时任务的业务数据集;在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若否,根据定时任务的预设执行顺序从业务数据集中获取第二业务数据,并对第二业务数据进行处理。
在一个实施例中,处理器执行计算机程序实现对第二业务数据进行处理之后,还实现以下步骤:判断第二业务数据是否是业务数据集中的最后一条数据,若否,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,处理器执行计算机程序实现对第一业务数据进行优先处理之后,还实现以下步骤:生成第一业务数据对应的优先执行记录。
在一个实施例中,处理器执行计算机程序实现对第二业务数据进行处理之前,还实现以下步骤:判断第二业务数据是否存在对应的优先执行记录,若否,执行对第二业务数据进行处理的步骤。
在一个实施例中,处理器执行计算机程序实现对第二业务数据进行处理之前,还实现以下步骤:判断第二业务数据是否存在对应的优先执行记录,若是,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,处理器执行计算机程序实现生成第一业务数据对应的优先执行记录时,具体实现以下步骤:通过键值对的形式生成第一业务数据对应的优先执行记录。
在一个实施例中,处理器执行计算机程序实现通过键值对的形式生成第一业务数据对应的优先执行记录时,具体实现以下步骤:以第一业务数据的标识为键值对的主键,处理第一业务数据的时间戳为键值对的值,生成第一业务数据对应的优先执行记录。
在一个实施例中,处理器执行计算机程序实现判断第二业务数据是否存在对应的优先执行记录时,具体实现以下步骤:根据第二业务数据的标识判断是否存在以第二业务数据的标识作为主键的优先执行记录。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在接收到业务数据的筛选指令时,根据筛选指令从待处理的业务数据中筛选出第一业务数据;将第一业务数据存入优先处理队列。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:启动定时任务,获取定时任务的业务数据集;在根据定时任务的预设执行顺序从业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;若是,从优先处理队列的缓存数据中获取第一业务数据,并对第一业务数据进行优先处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若否,根据定时任务的预设执行顺序从业务数据集中获取第二业务数据,并对第二业务数据进行处理。
在一个实施例中,计算机程序被处理器执行实现对第二业务数据进行处理之后,还实现以下步骤:判断第二业务数据是否是业务数据集中的最后一条数据,若否,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,计算机程序被处理器执行实现对第一业务数据进行优先处理之后,还实现以下步骤:生成第一业务数据对应的优先执行记录。
在一个实施例中,计算机程序被处理器执行实现对第二业务数据进行处理之前,还实现以下步骤:判断第二业务数据是否存在对应的优先执行记录,若否,执行对第二业务数据进行处理的步骤。
在一个实施例中,计算机程序被处理器执行实现对第二业务数据进行处理之前,还实现以下步骤:判断第二业务数据是否存在对应的优先执行记录,若是,返回执行查询优先处理队列中是否存在缓存数据的步骤。
在一个实施例中,计算机程序被处理器执行实现生成第一业务数据对应的优先执行记录时,具体实现以下步骤:通过键值对的形式生成第一业务数据对应的优先执行记录。
在一个实施例中,计算机程序被处理器执行实现通过键值对的形式生成第一业务数据对应的优先执行记录时,具体实现以下步骤:以第一业务数据的标识为键值对的主键,处理第一业务数据的时间戳为键值对的值,生成第一业务数据对应的优先执行记录。
在一个实施例中,计算机程序被处理器执行实现判断第二业务数据是否存在对应的优先执行记录时,具体实现以下步骤:根据第二业务数据的标识判断是否存在以第二业务数据的标识作为主键的优先执行记录。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到业务数据的筛选指令时,根据筛选指令从待处理的业务数据中筛选出第一业务数据;将第一业务数据存入优先处理队列。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (4)
1.一种基于定时任务的数据处理方法,所述方法包括:
启动定时任务,获取所述定时任务的业务数据集;
在根据所述定时任务的预设执行顺序从所述业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;
若是,从所述优先处理队列的缓存数据中获取第一业务数据,并对所述第一业务数据进行优先处理;
若否,根据所述定时任务的预设执行顺序从所述业务数据集中获取第二业务数据,并对所述第二业务数据进行处理;
在所述对所述第二业务数据进行处理之后,还包括:
判断所述第二业务数据是否是所述业务数据集中的最后一条数据,若否,返回执行查询优先处理队列中是否存在缓存数据的步骤;
其中,所述对所述第一业务数据进行优先处理之后,还包括:
生成所述第一业务数据对应的优先执行记录;
其中,所述对所述第二业务数据进行处理之前,还包括:
判断所述第二业务数据是否存在对应的优先执行记录,若否,执行所述对所述第二业务数据进行处理的步骤;或,
若是,返回执行所述查询优先处理队列中是否存在缓存数据的步骤;
其中,所述生成所述第一业务数据对应的优先执行记录,包括:
通过键值对的形式生成所述第一业务数据对应的优先执行记录;
所述通过键值对的形式生成所述第一业务数据对应的优先执行记录,包括:
以所述第一业务数据的标识为所述键值对的主键,处理所述第一业务数据的时间戳为所述键值对的值,生成所述第一业务数据对应的优先执行记录;
其中,所述判断所述第二业务数据是否存在对应的优先执行记录,包括:
根据所述第二业务数据的标识判断是否存在以第二业务数据的标识作为主键的优先执行记录;
在接收到业务数据的筛选指令时,根据所述筛选指令从待处理的业务数据中筛选出所述第一业务数据;
将所述第一业务数据存入所述优先处理队列。
2.一种基于定时任务的数据处理装置,其特征在于,所述装置包括:
任务获取模块,用于启动定时任务,获取所述定时任务的业务数据集;
缓存查询模块,用于在根据所述定时任务的预设执行顺序从所述业务数据集中获取数据之前,查询优先处理队列中是否存在缓存数据;
数据处理模块,用于若是,从所述优先处理队列的缓存数据中获取第一业务数据,并对所述第一业务数据进行优先处理;
若否,根据所述定时任务的预设执行顺序从所述业务数据集中获取第二业务数据,并对所述第二业务数据进行处理;
在所述对所述第二业务数据进行处理之后,还包括:
判断所述第二业务数据是否是所述业务数据集中的最后一条数据,若否,返回执行查询优先处理队列中是否存在缓存数据的步骤;
其中,所述对所述第一业务数据进行优先处理之后,还包括:
生成所述第一业务数据对应的优先执行记录;
其中,所述对所述第二业务数据进行处理之前,还包括:
判断所述第二业务数据是否存在对应的优先执行记录,若否,执行所述对所述第二业务数据进行处理的步骤;或,
若是,返回执行所述查询优先处理队列中是否存在缓存数据的步骤;
其中,所述生成所述第一业务数据对应的优先执行记录,包括:
通过键值对的形式生成所述第一业务数据对应的优先执行记录;
所述通过键值对的形式生成所述第一业务数据对应的优先执行记录,包括:
以所述第一业务数据的标识为所述键值对的主键,处理所述第一业务数据的时间戳为所述键值对的值,生成所述第一业务数据对应的优先执行记录;
指令筛选模块,用于在接收到业务数据的筛选指令时,根据所述筛选指令从待处理的业务数据中筛选出所述第一业务数据;
将所述第一业务数据存入所述优先处理队列。
3.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1所述方法的步骤。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262157.3A CN112395057B (zh) | 2020-11-12 | 2020-11-12 | 基于定时任务的数据处理方法、装置、计算机设备 |
CA3138768A CA3138768A1 (en) | 2020-11-12 | 2021-11-12 | Data processing method, equipment, and device based on a timed task |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011262157.3A CN112395057B (zh) | 2020-11-12 | 2020-11-12 | 基于定时任务的数据处理方法、装置、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112395057A CN112395057A (zh) | 2021-02-23 |
CN112395057B true CN112395057B (zh) | 2023-04-21 |
Family
ID=74599246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011262157.3A Active CN112395057B (zh) | 2020-11-12 | 2020-11-12 | 基于定时任务的数据处理方法、装置、计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112395057B (zh) |
CA (1) | CA3138768A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292023B (zh) * | 2022-10-08 | 2023-01-17 | 北京中科网威信息技术有限公司 | 定时任务处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11086850B2 (en) * | 2011-04-13 | 2021-08-10 | International Business Machines Corporation | Persisting of a low latency in-memory database |
CN111061556A (zh) * | 2019-12-26 | 2020-04-24 | 深圳前海环融联易信息科技服务有限公司 | 执行优先级任务的优化方法、装置、计算机设备及介质 |
CN111722914B (zh) * | 2020-06-12 | 2022-07-22 | 江苏苏宁银行股份有限公司 | 一种定时任务分发方法、系统、计算机设备及存储介质 |
-
2020
- 2020-11-12 CN CN202011262157.3A patent/CN112395057B/zh active Active
-
2021
- 2021-11-12 CA CA3138768A patent/CA3138768A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3138768A1 (en) | 2022-05-12 |
CN112395057A (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN110399241B (zh) | 任务异常处理方法、装置、计算机设备和可读存储介质 | |
CN111708586B (zh) | 应用启动配置项加载方法、装置、计算机设备和存储介质 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN104601696A (zh) | 服务处理方法、服务调用框架、装置和架构 | |
CN110908778B (zh) | 任务部署方法、系统和存储介质 | |
CN111367925A (zh) | 数据动态实时更新方法、装置及存储介质 | |
CN112395057B (zh) | 基于定时任务的数据处理方法、装置、计算机设备 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN107861799A (zh) | 基于多线程环境的任务处理方法及装置 | |
CN109697112B (zh) | 分布式集约化一站式作业系统和实现方法 | |
CN111294377B (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN105786917B (zh) | 时序数据并发入库的方法和装置 | |
CN113282580A (zh) | 用于执行定时任务的方法、存储介质及服务器 | |
WO2020253044A1 (zh) | 服务配置方法、装置、计算机设备及存储介质 | |
CN112286704B (zh) | 延时任务的处理方法、装置、计算机设备及存储介质 | |
CN113590494B (zh) | 一种云原生环境脆弱性的自动化测试方法 | |
CN112818021B (zh) | 数据请求处理方法、装置、计算机设备和存储介质 | |
CN113157754B (zh) | 流程表单数据展示方法、装置、设备及存储介质 | |
CN110162542B (zh) | 基于cassandra的数据翻页方法、装置、计算机设备和存储介质 | |
CN109783717B (zh) | 查询任务处理方法、系统、服务器集群及装置、计算机可读存储介质 | |
CN112286876A (zh) | 日志文件抓取方法、设备及计算机可读存储介质 | |
CN111045787A (zh) | 一种快速继续实验方法及系统 | |
CN110969430A (zh) | 可疑用户的识别方法、装置、计算机设备和存储介质 | |
CN110647526B (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 |