CN110471774A - 一种基于统一任务调度的数据处理方法及装置 - Google Patents

一种基于统一任务调度的数据处理方法及装置 Download PDF

Info

Publication number
CN110471774A
CN110471774A CN201910583719.5A CN201910583719A CN110471774A CN 110471774 A CN110471774 A CN 110471774A CN 201910583719 A CN201910583719 A CN 201910583719A CN 110471774 A CN110471774 A CN 110471774A
Authority
CN
China
Prior art keywords
data
pending
data processing
task
interim table
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
CN201910583719.5A
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.)
Suning Cloud Computing Co Ltd
Original Assignee
Suning Cloud Computing 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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201910583719.5A priority Critical patent/CN110471774A/zh
Publication of CN110471774A publication Critical patent/CN110471774A/zh
Pending legal-status Critical Current

Links

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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于统一任务调度的数据处理方法及装置,该方法包括:接收待处理数据,提取待处理数据的业务主键,将待处理数据以及业务主键存储于临时表中;统一调度任务定时从临时表中抽取若干待处理数据,将若干待处理数据存入与统一调度任务对应的redis订阅队列中;统一调度任务对redis订阅队列执行如下操作,直至redis订阅队列中的待处理数据全部处理完成:从redis订阅队列中每次抽取一条待处理数据,并根据业务主键获取共享锁;对抽取出的待处理数据进行处理,处理成功后释放共享锁,并将处理完成的待处理数据从临时表中移除。本发明通过采用redis的订阅队列和共享锁配合使用,避免高并发场景下数据并发覆盖问题和单条数据的重复处理问题。

Description

一种基于统一任务调度的数据处理方法及装置
技术领域
本发明涉及任务调度处理技术领域,特别涉及一种基于统一任务调度的数据处理方法及装置。
背景技术
统一任务调度平台是目前各个科技公司解决多系统多集群环境下任务调度的首选方案,平台对各业务系统中的定时任务进行集中管理和调度,通常做法通过设置调用url及相关调用参数,触发器就可以快速的创建一个定时任务,调度过程参照图1所示,每次调用会根据负载均衡策略路由到一台服务器执行,单台服务器内通过线程池启用多线程处理,存在的问题也是显而易见的。
综上所述,目前现行的统一调度处理方案存在两个比较大的问题:
1、处理上限受单台服务器的性能的制约。要提升处理速度,需依靠启用更多的线程,单台服务器受内存和CPU的限制不可能无限制的启用线程,一旦线程启用过多,服务器的资源占用过大,还会直接影响该服务器上其他服务的请求处理;
2、线程的并发处理数据一方面存在同业务主键的几条数据同时处理带来数据的覆盖问题,另一方面存在同一条数据被并发处理产生重复数据的问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于统一任务调度的数据处理方法及装置,以克服现有技术中,在数据积压的情况下,单纯依靠启用多线程处理数据,存在处理上限另外数据并发容易出现覆盖或者重复处理等问题。
为解决上述一个或多个技术问题,本发明采用的技术方案是:
一方面,提供了一种基于统一任务调度的数据处理方法,该方法包括如下步骤:
接收待处理数据,提取所述待处理数据的业务主键,将所述待处理数据以及所述业务主键存储于临时表中;
统一调度任务定时从所述临时表中抽取若干待处理数据,将所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中;
所述统一调度任务对所述redis订阅队列执行如下操作,直至所述redis订阅队列中的待处理数据全部处理完成:
从所述redis订阅队列中每次抽取一条所述待处理数据,并根据所述业务主键获取共享锁;
对所述抽取出的所述待处理数据进行处理,处理成功后释放所述共享锁,并将将处理完成的待处理数据从所述临时表中移除。
进一步的,所述统一调度任务定时从所述临时表中抽取若干待处理数据前,所述方法还包括:
根据所述待处理数据实际的量、处理时间以及服务器的个数创建至少一个统一调度任务。
进一步的,所述临时表中包括数据处理状态,所述统一调度任务定时从所述临时表中抽取若干待处理数据后,所述方法还包括:
将抽取出的所述若干待处理数据在所述临时表中对应的数据处理状态更新为处理中。
进一步的,所述方法还包括:
若所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中存储失败,则将所述若干待处理数据在所述临时表中对应的数据处理状态更新为待处理。
进一步的,所述方法还包括:
若是根据所述业务主键获取共享锁失败,则对抽取出的所述待处理数据不做处理,并将抽取出的所述待处理数据直接退回至所述redis订阅队列。
另一方面,提供了一种基于统一任务调度的数据处理装置,所述装置包括:
数据存储模块,用于接收待处理数据,提取所述待处理数据的业务主键,将所述待处理数据以及所述业务主键存储于临时表中;
第一抽取模块,用于统一调度任务定时从所述临时表中抽取若干待处理数据,将所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中;
第二抽取模块,用于从所述redis订阅队列中每次抽取一条所述待处理数据;
共享锁获取模块,用于根据所述业务主键获取共享锁;
数据处理模块,用于对所述抽取出的所述待处理数据进行处理;
共享锁释放模块,用于释放所述共享锁;
数据移除模块,用于将处理完成的待处理数据从所述临时表中移除。
进一步的,所述装置还包括:
任务创建模块,用于根据所述待处理数据实际的量、处理时间以及服务器的个数创建至少一个统一调度任务。
进一步的,所述装置还包括:
状态更新模块,用于将抽取出的所述若干待处理数据在所述临时表中对应的数据处理状态更新为处理中。
进一步的,所述状态更新模块还用于:
若所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中存储失败,则将所述若干待处理数据在所述临时表中对应的数据处理状态更新为待处理。
进一步的,所述装置还包括:
数据退回模块,用于若是根据所述业务主键获取共享锁失败,则对抽取出的所述待处理数据不做处理,并将抽取出的所述待处理数据直接退回至所述redis订阅队列。
本发明实施例提供的技术方案带来的有益效果是:
1、本发明实施例提供的基于统一任务调度的数据处理方法及装置,通过采用redis的订阅队列和共享锁配合使用,避免高并发场景下数据并发覆盖问题和单条数据的重复处理问题;
2、本发明实施例提供的基于统一任务调度的数据处理方法及装置,通过根据待处理数据实际的量、处理时间以及服务器的个数创建统一调度任务,支持统一调度的灵活配置,快速提升处理数据效率;
3、本发明实施例提供的基于统一任务调度的数据处理方法及装置,支持通过服务器的横向扩展,按正比提升数据处理能力的上限。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的现有技术中的统一任务调度平台工作的流程图;
图2是根据一示例性实施例示出的基于统一任务调度的数据处理方法的流程图;
图3是根据一示例性实施例示出的基于统一任务调度的数据处理方法工作流程的示意图;
图4是根据一示例性实施例示出的基于统一任务调度的数据处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例针对现有技术中存在的问题,通过使用redis的订阅队列和共享锁机制避免数据覆盖和重复处理问题,通过灵活配置以及服务器扩容无感知的提升数据处理能力上限。本发明实施例适用的业务场景很广泛,例如,业务场景1:短时间内处理大量的数据,接口数据因一些异常情况导致积压,需要及时处理数据;业务场景2:业务实时性很强,但是数据分布不均衡,有些时刻有很高的峰值数据需要及时处理。以上业务场景仅仅是示例,并不能用来限制本发明的应用场景。
图2是根据一示例性实施例示出的现有技术中的统一任务调度平台工作的流程图,参照图2所示,该方法包括如下步骤:
S1:接收待处理数据,提取所述待处理数据的业务主键,将所述待处理数据以及所述业务主键存储于临时表中。
具体的,对接收到的待处理数据进行预处理。本发明实施例中,预处理至少包括将待处理数据存储至临时表中。临时表中除了正常业务字段以外,还需要增加几个字段,如业务主键businessKey,业务主键数字化值digitBusinessKey,处理状态dealStatus,失败原因failComments等。具体增加的字段可以根据用户实际需求进行设置,这里不做限制。
S2:统一调度任务定时从所述临时表中抽取若干待处理数据,将所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中。
具体的,本发明实施例中,数据处理包括抽取数据和业务处理两个阶段。抽取数据是指将待处理数据从临时表中抽取出来,业务处理是指对抽取出来的待处理数据进行业务处理。为了解决高并发场景下存在的数据重复处理和同业务主键数据覆盖等问题,本发明实施例中,在抽取数据阶段,即在对待处理数据进行业务处理之前,使用了redis订阅队列存储待处理数据。具体实施时,先通过统一调度任务定时从临时表中抽取若干待处理数据,然后将这若干待处理数据存入与统一调度任务对应的redis订阅队列中。这里需要说明的是,抽取出的待处理数据的数量可以根据实际业务需求进行设置,这里不作限制。另外,每个统一调度任务均只对应与一条redis订阅队列,但是一条redis订阅队列可以与多个统一调度任务对应。
也就是说,如果待处理数据的量很大,redis队列数据有积压,则可以通过增加处理统一调度任务JOB的个数的方式有效提升处理速度,所有JOB都对应一个队列,不会出现数据并发和重复问题。例如,若是实际处理时出现性能瓶颈,可以按实际业务量和处理时间评估,将待处理数据分成N组(待处理数据的业务主键数值化以后采取按N取模的方式),1至N的每个值对应一个统一调度任务JOB-N即可,这N个JOB就可以并发,也不会出现单条重处理情况。
抽取数据由于不涉及业务处理,只有查询和塞缓存,处理速度很高,可以满足大部分的业务场景的处理响应。由于无处理的JOB并发,容易出现单条数据的重复处理,因此,本发明实施例中,不做无处理的JOB并发。另外鉴于一些考虑不到的异常场景,本发明实施例中,还设置对redis订阅队列和临时表长期处于某种状态的数据进行有效监控,和及时的人工干预。
S3:所述统一调度任务对所述redis订阅队列执行如下操作,直至所述redis订阅队列中的待处理数据全部处理完成。
具体的,在业务处理阶段,统一调度任务对redis订阅队列进行循环处理,直至redis订阅队列中的待处理数据全部处理完成,循环处理过程参照下文。
S301:从所述redis订阅队列中每次抽取一条所述待处理数据,并根据所述业务主键获取共享锁。
具体的,为便于控制(如单次任务处理量),本发明实施例中,需设置统一调度任务(JOB)单次处理数据的条数,然后按照设定的条数做循环处理。为了解决高并发场景下存在的数据重复处理和同业务主键数据覆盖等问题,本发明实施例中,除了采用redis订阅队列,还采用了共享锁机制。具体实施时,先每次从redis订阅队列中抽取一条待处理数据,然后根据业务主键获取共享锁。共享锁需要设定一个合理的超时时间,避免某些场景获取共享锁以后异常导致数据长期不能处理。
S302:对所述抽取出的所述待处理数据进行处理,处理成功后释放所述共享锁,并将将处理完成的待处理数据从所述临时表中移除。
具体的,共享锁获取成功后进行业务处理,处理成功后释放共享锁,并将该条待处理数据从临时表中移除。
这里需要说明的是,为便于控制,本发明实施例中,还设置了单条数据的失败处理次数。若是待处理数据处理失败或者有异常,则将该条数据的处理失败次数+1,如果处理失败次数超过既定上限则将该条数据临时表状态更新为处理失败,并且记录失败原因,如果没达到上限,则将数据重新退回redis的队列。最后释放共享锁,进行下一次循环。
作为一种较优的实施方式,本发明实施例中,所述统一调度任务定时从所述临时表中抽取若干待处理数据前,所述方法还包括:
根据所述待处理数据实际的量、处理时间以及服务器的个数创建至少一个统一调度任务。
具体的,先根据待处理数据实际的量、处理时间(这里指数据处理完成所要求的时间)以及服务器的个数创建至少一个统一调度任务,如假设统一调度任务的数量为n(n>=1)。然后将业务主键数字化值digitBusinessKey的值对n取模的值均分到每个JOB。例如:按业务评估需要启动3个抽数的统一调度任务JOB,这里n=3,JOB1对应取模值0,对应的抽数逻辑中新添加条件digitBusinessKey%3=0,批量更新临时表中处理状态dealStatus为处理中,循环抽取的数据处理后放到对应的redis订阅队列(redisQueue1)中,失败需要将处理状态重置为待处理。抽取其余的JOB依次类推。
这里需要说明的是,本发明实施例中,统一调度任务JOB的数量n设置为配置式的,这样便于动态修改。这里需要注意的事情,虽然n的值支持动态调整,但是,如果要调整n的值,务必保证先停掉当前所有的抽数统一调度任务,待所有的redis订阅队列中的数据都处理完成后再调整,防止出现同一个值对应不一样的取模值得到的结果不一样,导致数据并发处理覆盖。针对上述情况,本发明实施例中,将取模的值设置为当前评估的统一调度任务JOB数*3(这里乘以倍数3是一种较优的实施方式,实际应用过程中可以根据实际需求进行设置,这里不做限制),即当n=3时,则按9取模,再将9个取模的值分3组对应到每个统一调度任务,所以上面统一调度任务JOB1的取值条件对应改为digitBusinessKey%9in(0,1,2),这样设置的益处是将来若是要新增加统一调度任务,无需停掉当前统一调度任务,重新分配每个统一调度任务的取值条件就行,再就是即使出现取模后数据分布不均衡,可以通过进一步手动调整配置来解决。
另外,若是运行的统一调度任务JOB过多,会造成服务器端资源占用过大的情况,基于负载均衡,可以通过动态扩容服务器的方式解决。作为一种较优的实施方式,本发明实施例中,采用基于docker的容器部署服务,支持一键快速扩&缩容,既可以响应业务需要也避免资源的浪费。
作为一种较优的实施方式,本发明实施例中,所述临时表中包括数据处理状态,所述统一调度任务定时从所述临时表中抽取若干待处理数据后,所述方法还包括:
将抽取出的所述若干待处理数据在所述临时表中对应的数据处理状态更新为处理中。
具体的,为便于控制,本发明实施例中,在临时表中除了增加了业务主键businessKey,业务主键数字化值digitBusinessKey字段,还增加了处理状态dealStatus以及失败原因failComments字段。统一调度任务定时从临时表中抽取出待处理数据后,将抽取出的待处理数据在临时表中对应的数据处理状态批量更新为处理中。
作为一种较优的实施方式,本发明实施例中,所述方法还包括:
若所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中存储失败,则将所述若干待处理数据在所述临时表中对应的数据处理状态更新为待处理。
具体的,若是抽取出的待处理数据存入redis订阅队列失败,则将该条待处理数据在临时表中对应的数据处理状态重新更新为待处理。
作为一种较优的实施方式,本发明实施例中,所述方法还包括:
若是根据所述业务主键获取共享锁失败,则对抽取出的所述待处理数据不做处理,并将抽取出的所述待处理数据直接退回至所述redis订阅队列。
具体的,本发明实施例中,设置若是共享锁获取失败,则对抽取出的待处理数据不做处理,并将抽取出的待处理数据直接退回至redis订阅队列,进行下一次循环。这样设置,可以避免获取共享锁异常导致数据长期不能处理的情况。
图3是根据一示例性实施例示出的基于统一任务调度的数据处理方法工作流程的示意图,参照图3所示,假设按实际的业务量(即待处理数据实际的数量)和处理时间评估需要创建的业务处理统一调度任务JOB的数量为3。初始情况下将统一调度任务均分到每个redis订阅队列,后面可以根据实际情况进行调整。上面建立3个抽数的JOB则对应3个redis订阅队列,评估确认每个队列对应两个处理的JOB,才能保证数据及时处理。redis订阅队列1(redisQueue1)对应dealJOB1和dealJOB2两个处理JOB,redis订阅队列2对应dealJOB3和dealJOB4两个处理JOB,其余队列依次类推。每个JOB都是独立的。下面以redis订阅队列1和dealJOB1说明数据处理过程。
dealJOB1启动,根据JOB配置参数单次处理条数dealNum和单条失败重试次数failTryNum,循环dealNum(指循环处理次数,这个参数也是可配置的)次从redis订阅队列1获取一条数据,按该条数据业务主键获取共享锁,获取成功则进行业务处理,处理完成后将该条数据从临时表中移除,释放共享锁。处理失败或者有异常,则将该条数据的处理失败次数+1,如果处理失败次数超过failTryNum则将该条数据在临时表中的处理状态更新为处理失败,并且记录失败原因,如果没达到上限,则将数据重新退回redis的队列。
图4是根据一示例性实施例示出的基于统一任务调度的数据处理装置的结构示意图,参照图4所示,该装置包括:
数据预处理模块,用于接收待处理数据,提取所述待处理数据的业务主键,将所述待处理数据以及所述业务主键存储于临时表中;
第一抽取模块,用于统一调度任务定时从所述临时表中抽取若干待处理数据,将所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中;
第二抽取模块,用于从所述redis订阅队列中每次抽取一条所述待处理数据;
共享锁获取模块,用于根据所述业务主键获取共享锁;
数据处理模块,用于对所述抽取出的所述待处理数据进行处理;
共享锁释放模块,用于释放所述共享锁;
数据移除模块,用于将所述抽取出的所述待处理数据从所述临时表中移除。
作为一种较优的实施方式,本发明实施例中,所述装置还包括:
任务创建模块,用于根据所述待处理数据实际的量、处理时间以及服务器的个数创建至少一个统一调度任务。
作为一种较优的实施方式,本发明实施例中,所述装置还包括:
状态更新模块,用于将抽取出的所述若干待处理数据在所述临时表中对应的数据处理状态更新为处理中。
作为一种较优的实施方式,本发明实施例中,所述状态更新模块还用于:
若所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中存储失败,则将所述若干待处理数据在所述临时表中对应的数据处理状态更新为待处理。
作为一种较优的实施方式,本发明实施例中,所述装置还包括:
数据退回模块,用于若是根据所述业务主键获取共享锁失败,则对抽取出的所述待处理数据不做处理,并将抽取出的所述待处理数据直接退回至所述redis订阅队列。
综上所述,本发明实施例提供的技术方案带来的有益效果是:
1、本发明实施例提供的基于统一任务调度的数据处理方法及装置,通过采用redis的订阅队列和共享锁配合使用,避免高并发场景下数据并发覆盖问题和单条数据的重复处理问题;
2、本发明实施例提供的基于统一任务调度的数据处理方法及装置,通过根据待处理数据实际的量、处理时间以及服务器的个数创建统一调度任务,支持统一调度的灵活配置,快速提升处理数据效率;
3、本发明实施例提供的基于统一任务调度的数据处理方法及装置,支持通过服务器的横向扩展,按正比提升数据处理能力的上限。
需要说明的是:上述实施例提供的基于统一任务调度的数据处理装置在触发数据处理业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于统一任务调度的数据处理装置与基于统一任务调度的数据处理方法实施例属于同一构思,即该装置是基于该基于统一任务调度的数据处理方法的,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于统一任务调度的数据处理方法,其特征在于,所述方法包括如下步骤:
接收待处理数据,提取所述待处理数据的业务主键,将所述待处理数据以及所述业务主键存储于临时表中;
统一调度任务定时从所述临时表中抽取若干待处理数据,将所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中;
所述统一调度任务对所述redis订阅队列执行如下操作,直至所述redis订阅队列中的待处理数据全部处理完成:
从所述redis订阅队列中每次抽取一条所述待处理数据,并根据所述业务主键获取共享锁;
对所述抽取出的所述待处理数据进行处理,处理成功后释放所述共享锁,并将处理完成待处理数据从所述临时表中移除。
2.根据权利要求1所述的基于统一任务调度的数据处理方法,其特征在于,所述统一调度任务定时从所述临时表中抽取若干待处理数据前,所述方法还包括:
根据所述待处理数据实际的量、处理时间以及服务器的个数创建至少一个统一调度任务。
3.根据权利要求1或2所述的基于统一任务调度的数据处理方法,其特征在于,所述临时表中包括数据处理状态,所述统一调度任务定时从所述临时表中抽取若干待处理数据后,所述方法还包括:
将抽取出的所述若干待处理数据在所述临时表中对应的数据处理状态更新为处理中。
4.根据权利要求3所述的基于统一任务调度的数据处理方法,其特征在于,所述方法还包括:
若所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中存储失败,则将所述若干待处理数据在所述临时表中对应的数据处理状态更新为待处理。
5.根据权利要求1或2所述的基于统一任务调度的数据处理方法,其特征在于,所述方法还包括:
若是根据所述业务主键获取共享锁失败,则对抽取出的所述待处理数据不做处理,并将抽取出的所述待处理数据直接退回至所述redis订阅队列。
6.一种基于统一任务调度的数据处理装置,其特征在于,所述装置包括:
数据预处理模块,用于接收待处理数据,提取所述待处理数据的业务主键,将所述待处理数据以及所述业务主键存储于临时表中;
第一抽取模块,用于统一调度任务定时从所述临时表中抽取若干待处理数据,将所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中;
第二抽取模块,用于从所述redis订阅队列中每次抽取一条所述待处理数据;
共享锁获取模块,用于根据所述业务主键获取共享锁;
数据处理模块,用于对所述抽取出的所述待处理数据进行处理;
共享锁释放模块,用于释放所述共享锁;
数据移除模块,用于将处理完成的待处理数据从所述临时表中移除。
7.根据权利要求6所述的基于统一任务调度的数据处理装置,其特征在于,所述装置还包括:
任务创建模块,用于根据所述待处理数据实际的量、处理时间以及服务器的个数创建至少一个统一调度任务。
8.根据权利要求6或7所述的基于统一任务调度的数据处理装置,其特征在于,所述装置还包括:
状态更新模块,用于将抽取出的所述若干待处理数据在所述临时表中对应的数据处理状态更新为处理中。
9.根据权利要求8所述的基于统一任务调度的数据处理装置,其特征在于,所述状态更新模块还用于:
若所述若干待处理数据存入与所述统一调度任务对应的redis订阅队列中存储失败,则将所述若干待处理数据在所述临时表中对应的数据处理状态更新为待处理。
10.根据权利要求6或7所述的基于统一任务调度的数据处理装置,其特征在于,所述装置还包括:
数据退回模块,用于若是根据所述业务主键获取共享锁失败,则对抽取出的所述待处理数据不做处理,并将抽取出的所述待处理数据直接退回至所述redis订阅队列。
CN201910583719.5A 2019-06-28 2019-06-28 一种基于统一任务调度的数据处理方法及装置 Pending CN110471774A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910583719.5A CN110471774A (zh) 2019-06-28 2019-06-28 一种基于统一任务调度的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910583719.5A CN110471774A (zh) 2019-06-28 2019-06-28 一种基于统一任务调度的数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN110471774A true CN110471774A (zh) 2019-11-19

Family

ID=68507459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910583719.5A Pending CN110471774A (zh) 2019-06-28 2019-06-28 一种基于统一任务调度的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN110471774A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928711A (zh) * 2019-11-26 2020-03-27 多点(深圳)数字科技有限公司 任务处理方法、装置、系统、服务器及存储介质
CN111274013A (zh) * 2020-01-16 2020-06-12 北京思特奇信息技术股份有限公司 容器内基于内存数据库的定时任务调度的优化方法及系统
CN111309469A (zh) * 2020-02-27 2020-06-19 紫光云技术有限公司 一种对数据请求进行统一管理调度的方法
CN113434501A (zh) * 2021-06-23 2021-09-24 平安国际智慧城市科技股份有限公司 关系型数据库表的存储方法、设备及可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870334A (zh) * 2012-12-18 2014-06-18 中国移动通信集团公司 一种大规模漏洞扫描的任务分配方法及装置
CN104092767A (zh) * 2014-07-21 2014-10-08 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
CN107329858A (zh) * 2017-07-10 2017-11-07 上海哎媲媲网络技术有限公司 一种数据写入Redis失败的快速容错处理方法
CN107918556A (zh) * 2016-10-11 2018-04-17 北京京东尚科信息技术有限公司 一种定时任务在多个服务器的并行执行方法和装置
CN108228672A (zh) * 2016-12-22 2018-06-29 阿里巴巴集团控股有限公司 一种元数据迁移方法、装置、系统及设备
CN108647304A (zh) * 2018-05-09 2018-10-12 中国平安人寿保险股份有限公司 报表显示系统、方法、计算机设备及存储介质
CN109343941A (zh) * 2018-08-14 2019-02-15 阿里巴巴集团控股有限公司 任务处理方法、装置、电子设备及计算机可读存储介质
CN109344172A (zh) * 2018-08-31 2019-02-15 深圳市元征科技股份有限公司 一种高并发数据处理方法、装置及客户端服务器
CN109656698A (zh) * 2018-12-14 2019-04-19 平安城市建设科技(深圳)有限公司 任务处理方法、管理平台、执行端及计算机可读存储介质
CN109857802A (zh) * 2018-12-12 2019-06-07 深圳前海微众银行股份有限公司 日志数据同步方法、装置、设备及计算机可读存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870334A (zh) * 2012-12-18 2014-06-18 中国移动通信集团公司 一种大规模漏洞扫描的任务分配方法及装置
CN104092767A (zh) * 2014-07-21 2014-10-08 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
CN107918556A (zh) * 2016-10-11 2018-04-17 北京京东尚科信息技术有限公司 一种定时任务在多个服务器的并行执行方法和装置
CN108228672A (zh) * 2016-12-22 2018-06-29 阿里巴巴集团控股有限公司 一种元数据迁移方法、装置、系统及设备
CN107329858A (zh) * 2017-07-10 2017-11-07 上海哎媲媲网络技术有限公司 一种数据写入Redis失败的快速容错处理方法
CN108647304A (zh) * 2018-05-09 2018-10-12 中国平安人寿保险股份有限公司 报表显示系统、方法、计算机设备及存储介质
CN109343941A (zh) * 2018-08-14 2019-02-15 阿里巴巴集团控股有限公司 任务处理方法、装置、电子设备及计算机可读存储介质
CN109344172A (zh) * 2018-08-31 2019-02-15 深圳市元征科技股份有限公司 一种高并发数据处理方法、装置及客户端服务器
CN109857802A (zh) * 2018-12-12 2019-06-07 深圳前海微众银行股份有限公司 日志数据同步方法、装置、设备及计算机可读存储介质
CN109656698A (zh) * 2018-12-14 2019-04-19 平安城市建设科技(深圳)有限公司 任务处理方法、管理平台、执行端及计算机可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928711A (zh) * 2019-11-26 2020-03-27 多点(深圳)数字科技有限公司 任务处理方法、装置、系统、服务器及存储介质
CN111274013A (zh) * 2020-01-16 2020-06-12 北京思特奇信息技术股份有限公司 容器内基于内存数据库的定时任务调度的优化方法及系统
CN111309469A (zh) * 2020-02-27 2020-06-19 紫光云技术有限公司 一种对数据请求进行统一管理调度的方法
CN113434501A (zh) * 2021-06-23 2021-09-24 平安国际智慧城市科技股份有限公司 关系型数据库表的存储方法、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN110471774A (zh) 一种基于统一任务调度的数据处理方法及装置
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
CN103426072B (zh) 一种高并发竞争库存的订单处理系统及其处理方法
CN109445944B (zh) 一种基于dpdk的网络数据采集处理系统及其方法
US3662401A (en) Method of program execution
CN106033373B (zh) 一种云计算平台中虚拟机资源调度方法和调度系统
CN110825535B (zh) 一种作业调度的方法和系统
CN105760234A (zh) 一种线程池管理方法及装置
US10133797B1 (en) Distributed heterogeneous system for data warehouse management
CN106095585A (zh) 任务请求处理方法、装置和企业信息系统
CN107181789A (zh) 一种分布式锁实现方法及装置
CN105516086B (zh) 业务处理方法及装置
CN111427675B (zh) 一种数据处理方法、装置以及计算机可读存储介质
CN101645148A (zh) 一种应用于运营支撑系统中的施工单管理方法及管理系统
CN102081554A (zh) 云计算操作系统及其内核控制系统及方法
CN105183549A (zh) 基于任务分配的自动出票系统
EP3018581B1 (en) Data staging management system
CN111427670A (zh) 任务调度方法和系统
CN110134533B (zh) 一种可批量调度数据的系统及方法
CN105824699A (zh) 一种分布式任务调度装置及方法
CN105446812A (zh) 一种多任务调度配置方法
JPH0969053A (ja) メッセージ受信機構に於けるマルチスレッド制御方式及びキューイング方式
McGee The information management system IMS/VS, Part V: Transaction processing facilities
CN109146672B (zh) 一种基于生产模式的撮合匹配方法和装置
CN103188306A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191119