CN113485812B - 基于大数据量任务的分区并行处理方法及系统 - Google Patents
基于大数据量任务的分区并行处理方法及系统 Download PDFInfo
- Publication number
- CN113485812B CN113485812B CN202110839279.2A CN202110839279A CN113485812B CN 113485812 B CN113485812 B CN 113485812B CN 202110839279 A CN202110839279 A CN 202110839279A CN 113485812 B CN113485812 B CN 113485812B
- Authority
- CN
- China
- Prior art keywords
- task
- data
- subtasks
- subtask
- tasks
- 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
- 238000005192 partition Methods 0.000 title claims abstract description 21
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 65
- 230000000694 effects Effects 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 10
- 230000001419 dependent effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于大数据量任务的分区并行处理方法及系统,属于计算机技术领域,针对目前单线程大批量数据处理时,处理效率较低的问题,提出以下方案:基于大数据量任务的分区并行处理方法,包括:将数据库表中的大数据量任务拆分为多个子任务;其中,各子任务可独立、并行执行;根据预设抓取策略发出任务抓取请求对多个子任务进行抓取,并对抓取的子任务进行锁定;控制任务执行器执行各个被抓取的子任务;根据任务执行器的运行,对任务管理器的任务表数据进行更新。本发明技术方案提升大批量数据处理的效率和可靠性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及基于大数据量任务的分区并行处理方法及系统。
背景技术
目前,在金融行业,每天都存在着大量的定时或不定时的跑批任务用于处理金融数据,如个人贷款放款、还款数据、用户逾期数据、催收数据处理、反欺诈数据扫描等业务。在传统的跑批业务中,通常采用单线程同步跑批,即在一台服务器上启动一个线程从存储媒介如数据库、FTP等加载数据并按照顺序一条一条进行处理。
然而,这种单线程同步跑批,在大批量数据情况下,效率非常低效,通常容易导致数据处理时间超过规定的跑批时效。所有的数据都只能在一个线程中依次处理,即使这些数据没有任何的依赖关系,数据处理并发度低。
发明内容
本发明的主要目的在于提供基于大数据量任务的分区并行处理及系统,旨在解决目前单线程大批量数据处理时,处理效率较低的问题,提升大批量数据处理的效率。
本发明提供的基础方案:
基于大数据量任务的分区并行处理方法,包括:
将数据库表中的大数据量任务拆分为多个子任务;其中,各所述子任务可独立、并行执行;
根据预设抓取策略发出任务抓取请求对多个所述子任务进行抓取,并对抓取的子任务进行锁定;
控制任务执行器执行各个被抓取的子任务;
根据所述任务执行器的运行,对任务管理器的任务表数据进行更新。
本发明基础方案的原理为:
基于大数据量任务的分区并行处理方法具体是将数据表中的大数据量任务进行拆分,以拆分为多个独立的子任务,也即是实行数据分片处理,将一个大型的数据集的处理任务划分为多个小型的、相对独立的子任务,每一子任务均可以单独的、并行运行,这些被拆分成的子任务统一构成了原有的大数据量任务。
对于拆分后的各子任务,根据预设抓取策略发出任务抓取请求进行子任务抓取,并对抓取后的子任务进行锁定;通过处理器控制任务执行器执行各个被抓取的子任务,以对任务管理器中任务表数据进行更新。
本发明基础方案的效果为:
(1)本方案中,将数据表中的大数据量任务拆分为多个独立的子任务,每一子任务均可以单独的、并行运行,解决了相关技术中对于大批量数据处理,采用单线程同步跑批效率较低,容易导致数据处理时间超过规定的跑批时效的问题;同时解决了大数据量任务均在一个线程中依次处理,数据处理并发度低的问题;从而提升大批量数据处理的效率。
(2)本方案中,通过对抓取的子任务进行重试,防止子任务执行过程中发生服务器宕机或其它依赖的服务不可用导致子任务执行异常退出,导致的子任务数据无法处理。
(3)本方案中,通过对拆分后各子任务的抓取、锁定,并控制服务器执行子任务,同时对任务管理器的任务表数据进行更新,以提升大数据量任务处理的可靠性。
(4)本方案中,通过对抓取的子任务进行锁定及锁定续期,防止出现多机并发抓取同一任务执行,导致同一数据被多次、并发执行处理而产生数据错乱的情况。
进一步,基于大数据量任务的分区并行处理方法还包括:
获取所述任务执行器正在执行的子任务;
根据定时心跳的方式对正在执行的子任务的锁定时间进行续期。
通过定时心跳对子任务的锁定时间续期,以此实现长时间运行的任务可以被任务执行器持续锁定。
进一步,所述定时心跳的时间间隔根据公式t=T/N进行计算,其中,t为定时心跳时间间隔,T为锁定失效时间,N为预设心跳失败次数。
通过公式对定时心跳的时间间隔进行计算,防止某一两次的续期失败影响整体的锁定效果,保证在最大连续出现N-1次心跳失败时仍可以安全的锁定任务及任务续期。
进一步,基于大数据量任务的分区并行处理方法还包括:
当超过子任务的锁定时间后,所述子任务的锁定自动失效;
所述子任务可再次被服务器抓取、锁定和执行。
由于对超过子任务的锁定时间进行设定,避免子任务一直被锁定,不能被服务器抓取、锁定的问题。
进一步,根据权利要求1所述的基于大数据量任务的分区并行处理方法,其特征在于,每一所述子任务均具有执行生命周期,当所述子任务执行失败时,根据预设重试策略在规定的重试次数内进行所述子任务重试。
通过对子任务执行失败重试,实现了大数据量任务的局部子任务中断重试,解决了传统大数据量任务中断重试时需要全部数据重复处理的问题。
进一步,所述将大数据量任务拆分为多个子任务的步骤之前包括:
对任务管理器、任务抓取器、多个任务执行器进行初始化操作。
通过对任务管理器、任务抓取器和任务执行器的初始化,提升后期大数据量任务处理的可靠性。
进一步,多个所述任务执行器分布于同一数据中心,或者分布于多个不同的数据中心。
通过一个数据中心或者多数据中心的设置,使得服务器具有较强的普适性,对于接入环境的要求相对较低,可以应对不同的接入条件。
进一步,各所述任务执行器之间通过预设配置化参数执行不同的子任务。
所述预设配置化参数包括任务执行器的核心线程数大小、最大线程数大小、线程队列大小、以及任务抓取策略配置和任务重试策略配置。
通过预设配置化参数执行拆分的子任务,以实现各任务执行器不同的效果。
本发明还提出基于大数据量任务的分区并行处理系统,包括:
数据拆分模块,用于将数据库表中的大数据量任务拆分为多个子任务;其中,各所述子任务可独立、并行执行;
抓取锁定模块,用于根据预设抓取策略发出任务抓取请求对多个所述子任务进行抓取,并对抓取的子任务进行锁定;
数据执行模块,用于控制任务执行器执行各个被抓取的子任务;
数据更新模块,用于根据所述任务执行器的运行,对任务管理器的任务表数据进行更新。
附图说明
图1为本发明实施例方案涉及的终端设备内部结构示意图;
图2为本发明基于大数据量任务的分区并行处理方法一实施例的流程示意图;
图3为本发明基于大数据量任务的分区并行处理方法中任务执行时序一实施例的流程框图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面通过具体实施方式进一步详细说明:
说明书附图中的附图标记包括:处理器1001、通信总线1002、用户接口1003、网络接口1004、存储器1005。
如图1所示,其为本发明实施例方案涉及的终端设备内部结构示意图。
需要说明的是,图1也即是终端设备的硬件运行环境的结构示意图。本发明实施例终端设备可以是PC、便携计算机等终端设备。
如图1所示,该终端设备可以包括:处理器1001,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现处理器1001、用户接口1003、网络接口1004、存储器1005之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard)、手写板、触控笔等,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口(如RJ45接口)、无线接口(如WIFI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式任务的处理程序。其中,操作系统是管理和控制样本终端设备硬件和软件资源的程序,支持分布式任务的处理程序以及其它软件或程序的运行。
在图1所示的终端设备中,用户接口1003主要用于与各个终端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中基于大数据量任务的分区并行处理程序,并执行如图2所示的以下操作:
步骤S10,将数据库表中的大数据量任务拆分为多个子任务;其中,各所述子任务可独立、并行执行;
步骤S20,根据预设抓取策略发出任务抓取请求对多个所述子任务进行抓取,并对抓取的子任务进行锁定;
步骤S30,控制任务执行器执行各个被抓取的子任务;
步骤S40,根据所述任务执行器的运行,对任务管理器的任务表数据进行更新。
需要说明的是,在金融行业,由于其行业特殊性要求其需要具备较高的业务连续性,在连续性建设方面普遍采用的是两地三中心等方案,一般两地机房之间通过运营商专线的方式连接,因异地跨机房之间的通信专线成本非常昂贵,通信也存在一定延时;故在设计两地三中心方案时,一般情况下都要求除数据库/FTP等基础数据存储设施为多机房共享外,其它基础设施为单机房隔离,如缓存服务、消息服务、RPC调用服务等服务,这些服务都需要在各个机房实现自闭环调用,最后通过数据库写库(数据库层实现多机房网络互通)的方式实现与其它机房的数据通信。同时,目前单线程数据处理通常缺少应对任务处理过程中因环境条件造成的数据处理中断的方案,如:数据库连接闪断、连接第三方媒介网络闪断等临时性错误场景的处理。重启任务过程复杂,重启后数据可能出现任务大量重复处理,如一批10万的数据在处理到9万条数据时任务出现异常中断,传统方式为人工重新触发执行,此时需要重新处理已经处理过的9万条数据,浪费数据处理成本。
而通过本方案基于大数据量任务的分区并行处理方法解决了相关技术中对于大批量数据处理,采用单线程同步跑批效率较低,容易导致数据处理时间超过规定的跑批时效的问题;同时解决了大数据量任务均在一个线程中依次处理,数据处理并发度低的问题;从而提升大批量数据处理的效率。进行重试可防止子任务执行过程中发生服务器宕机或其它依赖的服务不可用导致子任务执行异常退出,导致的子任务数据处理失败。
本实施例中,将数据表中的大数据量任务实行数据分片处理,也即将一个大型的数据集的处理任务划分为多个小型的、相对独立的子任务,每一子任务均可以单独的、并行运行,这些被拆分成的子任务统一构成了原有的大数据量任务。对于拆分后的各子任务,根据预设抓取策略发出任务抓取请求进行子任务抓取,并对抓取后的子任务进行锁定;通过处理器控制任务执行器执行各个被抓取的子任务,以对任务管理器中任务表数据进行更新。从而使得本方案解决目前单线程大批量数据处理时,处理效率较低的问题,提升大批量数据处理的效率。
基于上述实施例,本方案实现了跨多机异步任务的编排与并发执行,目前只依赖了多数据中心底层的数据存储---数据库,方案具有非常强的普适性,对于接入环境的要求相对较低,可以应对不同的接入条件。基于该方案可以使用统一的任务运行模型来实现一个大型数据处理任务的拆解、编排、并发执行。需要说明的是,统一的任务运行模型是指通过本框架编程可以实现统一的任务运行模型,统一的任务接入范式,从代码上来说明就是统一的编程规范,接入后都会按照这样的编程逻辑进行处理,在代码API接口上做到了统一规范(模型统一),并且框架以一种统一的任务运行方式进行任务处理,避免多种不同方式的数据处理,统一的任务处理方式能有效的避免程序中不同处理方式引发的bug,统一的处理方式即使出现bug也可以做统一的修改。
在一实施例中,参照如图3所示,基于大数据量任务的分区并行处理方法还包括:获取所述任务执行器正在执行的子任务;根据定时心跳的方式对正在执行的子任务的锁定时间进行续期。当超过子任务的锁定时间后,所述子任务的锁定自动失效;所述子任务可再次被服务器抓取、锁定和执行。在将大数据量任务拆分为多个子任务的步骤之前包括:对任务管理器、任务抓取器、多个任务执行器进行初始化操作。
具体地,在任务执行时序中,任务抓取器负责将符合要求的子任务从数据库表中查询出来并进行锁定,锁定以保证其它服务器不会再次抓取该子任务用于执行,锁定需要设置一定的锁定时间,当前时间超过锁定时间后,该锁定效果自动失效,子任务允许再次被其它服务器抓取、锁定、执行。需要说明的是,符合要求的子任务是指根据任务执行器设置的抓取策略设定,例如,任务有分组的概念,不同的执行任务可以进行分组,每个执行任务进行子任务拆分,分属不同的分组,不同的分组可以由不同的任务执行器进行抓取执行。
任务心跳服务,是为了实现长时间运行的子任务可以被任务执行器持续锁定,任务抓取器具有定时心跳功能,定时通过心跳的方式将数据库表中的锁定时间进行续期。
本实施例中,定时心跳的时间间隔由锁定时间长短决定,也即根据公式t=T/N进行计算定时心跳的时间间隔,其中,t为定时心跳时间间隔,T为锁定失效时间,N为预设心跳失败次数。此处的N可以是2次、3次、5次等,根据实际应用场景设定,此处不做具体限定。也即当设置锁定失效时间为10分钟,则定时心跳时间间隔则为每2分钟发起一次心跳续期。通过本发明的技术方案防止某一两次的续期失败影响整体的锁定效果,保证不连续出现5次心跳失败,则锁定效果保持不变。
当锁定的子任务在执行过程中发生服务器宕机或其它依赖的服务不可用导致任务执行异常退出时,此时该子任务的锁定记录会仍然存在于数据库表记录中,但随着时间的推移,一旦时间超过锁定有效期,则该子任务会被其它服务器进行解锁、抓取、执行,从而达到任务失败恢复的效果。
本实施例中,任务执行器负责一组/一类子任务的抓取、执行。一个应用中可以并存多个任务执行器,各个任务执行之间相互隔离不影响,任务执行器之间通过预设配置化参数可以实现各任务执行器的不同效果。此处任务执行器的不同效果包括:其一,对于子任务处理数据量大,数据处理本身执行时间长,这类任务被称为重型任务,比如,一个子任务是用于下载一个1G的大文件,本身处理需要消耗约5分钟的时间,在执行这类任务时本身并不需要太多的线程,由于线程太多也并不能提高任务的处理能力(受限于服务器本身的机器配置),此时分配较小且合理的线程池线程数量用于处理数据即可。其二,对于子任务处理数据量小,且数据本身处理逻辑不复杂,处理速度快的这类任务称为轻量任务;例如,处理文件下载后的每行数据,以每1000行数据为一个子任务,此时处理数据逻辑较简单,可以在2s内就可以处理完成,这时可以分配更多的线程用于并发处理,提高处理效率。
上述预设配置化参数可以是线程池配置,线程池可以配置核心线程数大小、最大线程数大小、线程队列大小等。
上述实施例中,对于预设配置化参数可以是包括任务执行器的核心线程数大小、最大线程数大小、线程队列大小、以及任务抓取策略配置和任务重试策略配置;具体地,预设配置化参数指的是任务执行器的线程池大小配置,线程池大小的配置需要依据产生的任务的多少以及执行时间和执行效率评估,比如子任务数据少,可以很快执行完成且不需要很大的并发度,则可以设置较少的线程数,线程数可以理解为执行子任务的并发度。
上述实施例中,预设抓取策略是指随软件开发工具包SDK提供一个默认的基于固定时间间隔的抓取策略,使用者也可以根据需要自定义一个任务抓取策略,此处不做具体限定;默认情况下不做配置则使用默认的抓取策略。预设重试策略是指随软件开发工具包SDK提供一个默认的基于重试次数的重试策略,使用者也可以根据需要自定义一个任务重试策略,此处不做具体限定;默认情况下不做配置则使用默认的重试策略。
本实施例中,任务管理器负责对多个任务执行器进行管理,定义了此任务管理器应该负责的数据表前缀范围,即该数据库表前缀的数据由该任务管理器负责处理。任务管理器负责由它管理的任务执行器的初始化、运行、关闭。任务管理器是对外统一的编程入口,提供统一的编程视角,使用者只需要将各个任务执行器的初始化参数提交到任务管理器,由任务管理器负责初始化并运行。
上述实施例中,当程序启动时,任务管理器便开始自动运行,初始化过程中会将由自身管理的多个任务执行器都进行初始化操作,任务执行器初始化完成后会通过其任务抓取策略将抓取请求发送至任务抓取器,由任务抓取器将拆分后的子任务从数据库表中抓取出来返回至任务执行器执行。当程序关闭时,任务管理器负责对其管理的任务执行器执行关闭操作,在所有的任务执行器都停止工作后,任务管理器退出。
为实现上述目的,本发明还提出基于大数据量任务的分区并行处理系统,包括:
数据拆分模块,用于将数据库表中的大数据量任务拆分为多个子任务;其中,各所述子任务可独立、并行执行;
抓取锁定模块,用于根据预设抓取策略发出任务抓取请求对多个所述子任务进行抓取,并对抓取的子任务进行锁定;
数据执行模块,用于控制任务执行器执行各个被抓取的子任务;
数据更新模块,用于根据所述任务执行器的运行,对任务管理器的任务表数据进行更新。
本实施例中,基于大数据量任务的分区并行处理系统主要由接入程序自行实现,由接入程序自行完成数据块的拆分,拆分依据需要根据不同的业务形态;例如,文件下载后的处理,则可能以文件内的数据行为依赖拆分,每2000行为一个处理子任务;另如大数据库表的处理,可以是以连续id区间进行子任务拆分,这些均需要接入的业务系统拆分,本方案的接入系统拆分完成后会产生子任务列表,并通过本方案的系统接口进行保存记录,完成子任务的创建。
该基于大数据量任务的分区并行处理系统的实施例参照上述实施例,由于本基于大数据量任务的分区并行处理系统采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
以上的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知系统不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
Claims (5)
1.基于大数据量任务的分区并行处理方法,其特征在于,包括:
将数据库表中的大数据量任务拆分为多个子任务;其中,各所述子任务可独立、并行执行;
根据预设抓取策略发出任务抓取请求对多个所述子任务进行抓取,并对抓取的子任务进行锁定;
控制任务执行器执行各个被抓取的子任务;
根据所述任务执行器的运行,对任务管理器的任务表数据进行更新;
采用统一的任务运行模型进行任务的拆解、编排、并发执行;
所述预设抓取策略为,将不同的执行任务进行分组,每个执行任务进行子任务拆分,分属不同的分组,不同的分组由不同的任务执行器进行抓取执行;
各所述任务执行器之间通过预设配置化参数执行不同的子任务;
所述预设配置化参数包括任务执行器的核心线程数大小、最大线程数大小、线程队列大小、以及任务抓取策略配置和任务重试策略配置;
获取所述任务执行器正在执行的子任务;
根据定时心跳的方式对正在执行的子任务的锁定时间进行续期;
所述定时心跳的时间间隔根据公式t=T/N进行计算,其中,t为定时心跳时间间隔,T为锁定失效时间,N为预设心跳失败次数;
N取5,用于保证不连续出现5次心跳失败,则锁定效果保持不变;每一所述子任务均具有执行生命周期,当所述子任务执行失败时,根据预设重试策略在规定的重试次数内进行所述子任务重试;
任务管理器负责对多个任务执行器进行管理,负责由它管理的任务执行器的初始化、运行、关闭;任务管理器是对外统一的编程入口,提供统一的编程视角,使用者只需要将各个任务执行器的初始化参数提交到任务管理器,由任务管理器负责初始化并运行。
2.根据权利要求1所述的基于大数据量任务的分区并行处理方法,其特征在于,还包括:
当超过子任务的锁定时间后,所述子任务的锁定自动失效;
所述子任务可再次被服务器抓取、锁定和执行。
3.根据权利要求1所述的基于大数据量任务的分区并行处理方法,其特征在于,所述将数据库表中的大数据量任务拆分为多个子任务的步骤之前包括:
对任务管理器、任务抓取器、多个任务执行器进行初始化操作。
4.根据权利要求3所述的基于大数据量任务的分区并行处理方法,其特征在于,多个所述任务执行器分布于同一数据中心,或者分布于多个不同的数据中心。
5.基于大数据量任务的分区并行处理系统,其特征在于,包括:
数据拆分模块,用于将数据库表中的大数据量任务拆分为多个子任务;其中,各所述子任务可独立、并行执行;
抓取锁定模块,用于根据预设抓取策略发出任务抓取请求对多个所述子任务进行抓取,并对抓取的子任务进行锁定;
数据执行模块,用于控制任务执行器执行各个被抓取的子任务;
数据更新模块,用于根据所述任务执行器的运行,对任务管理器的任务表数据进行更新;
所述预设抓取策略为,将不同的执行任务进行分组,每个执行任务进行子任务拆分,分属不同的分组,不同的分组由不同的任务执行器进行抓取执行;
各所述任务执行器之间通过预设配置化参数执行不同的子任务;
所述预设配置化参数包括任务执行器的核心线程数大小、最大线程数大小、线程队列大小、以及任务抓取策略配置和任务重试策略配置;
抓取锁定模块,还用于获取所述任务执行器正在执行的子任务;
根据定时心跳的方式对正在执行的子任务的锁定时间进行续期;
所述定时心跳的时间间隔根据公式t=T/N进行计算,其中,t为定时心跳时间间隔,T为锁定失效时间,N为预设心跳失败次数;
N取5,用于保证不连续出现5次心跳失败,则锁定效果保持不变;每一所述子任务均具有执行生命周期,当所述子任务执行失败时,根据预设重试策略在规定的重试次数内进行所述子任务重试;
任务管理器负责对多个任务执行器进行管理,负责由它管理的任务执行器的初始化、运行、关闭;任务管理器是对外统一的编程入口,提供统一的编程视角,使用者只需要将各个任务执行器的初始化参数提交到任务管理器,由任务管理器负责初始化并运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110839279.2A CN113485812B (zh) | 2021-07-23 | 2021-07-23 | 基于大数据量任务的分区并行处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110839279.2A CN113485812B (zh) | 2021-07-23 | 2021-07-23 | 基于大数据量任务的分区并行处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113485812A CN113485812A (zh) | 2021-10-08 |
CN113485812B true CN113485812B (zh) | 2023-12-12 |
Family
ID=77943426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110839279.2A Active CN113485812B (zh) | 2021-07-23 | 2021-07-23 | 基于大数据量任务的分区并行处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113485812B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115731047B (zh) * | 2022-11-30 | 2023-05-02 | 深圳华锐分布式技术股份有限公司 | 批量订单处理方法、设备及介质 |
CN115860968A (zh) * | 2022-12-14 | 2023-03-28 | 中电金信软件(上海)有限公司 | 记账任务的批量处理方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209701B1 (en) * | 2007-09-27 | 2012-06-26 | Emc Corporation | Task management using multiple processing threads |
CN105700958A (zh) * | 2016-01-07 | 2016-06-22 | 北京京东尚科信息技术有限公司 | 一种任务自动拆分以及子任务并行执行的方法及其系统 |
CN106095585A (zh) * | 2016-06-22 | 2016-11-09 | 中国建设银行股份有限公司 | 任务请求处理方法、装置和企业信息系统 |
CN106293940A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮通用软件有限公司 | 一种金融行业中并行跑批的方法 |
CN109766324A (zh) * | 2018-12-14 | 2019-05-17 | 东软集团股份有限公司 | 分布式锁的控制方法、装置、可读存储介质及电子设备 |
CN110362401A (zh) * | 2019-06-20 | 2019-10-22 | 深圳壹账通智能科技有限公司 | 数据跑批方法、装置、存储介质及集群中的成员主机 |
CN111399909A (zh) * | 2020-03-02 | 2020-07-10 | 中国平安人寿保险股份有限公司 | 业务系统数据分发处理方法、装置及存储介质 |
CN111459639A (zh) * | 2020-04-03 | 2020-07-28 | 杭州趣维科技有限公司 | 一种支持全球多机房部署的分布式任务管理平台及方法 |
CN112035235A (zh) * | 2020-09-02 | 2020-12-04 | 中国平安人寿保险股份有限公司 | 任务调度方法、系统、设备及存储介质 |
CN112148505A (zh) * | 2020-09-18 | 2020-12-29 | 京东数字科技控股股份有限公司 | 数据跑批系统、方法、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146777B2 (en) * | 2013-01-25 | 2015-09-29 | Swarm Technology Llc | Parallel processing with solidarity cells by proactively retrieving from a task pool a matching task for the solidarity cell to process |
CN107818112B (zh) * | 2016-09-13 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 一种大数据分析作业系统及任务提交方法 |
-
2021
- 2021-07-23 CN CN202110839279.2A patent/CN113485812B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209701B1 (en) * | 2007-09-27 | 2012-06-26 | Emc Corporation | Task management using multiple processing threads |
CN105700958A (zh) * | 2016-01-07 | 2016-06-22 | 北京京东尚科信息技术有限公司 | 一种任务自动拆分以及子任务并行执行的方法及其系统 |
CN106095585A (zh) * | 2016-06-22 | 2016-11-09 | 中国建设银行股份有限公司 | 任务请求处理方法、装置和企业信息系统 |
CN106293940A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮通用软件有限公司 | 一种金融行业中并行跑批的方法 |
CN109766324A (zh) * | 2018-12-14 | 2019-05-17 | 东软集团股份有限公司 | 分布式锁的控制方法、装置、可读存储介质及电子设备 |
CN110362401A (zh) * | 2019-06-20 | 2019-10-22 | 深圳壹账通智能科技有限公司 | 数据跑批方法、装置、存储介质及集群中的成员主机 |
CN111399909A (zh) * | 2020-03-02 | 2020-07-10 | 中国平安人寿保险股份有限公司 | 业务系统数据分发处理方法、装置及存储介质 |
CN111459639A (zh) * | 2020-04-03 | 2020-07-28 | 杭州趣维科技有限公司 | 一种支持全球多机房部署的分布式任务管理平台及方法 |
CN112035235A (zh) * | 2020-09-02 | 2020-12-04 | 中国平安人寿保险股份有限公司 | 任务调度方法、系统、设备及存储介质 |
CN112148505A (zh) * | 2020-09-18 | 2020-12-29 | 京东数字科技控股股份有限公司 | 数据跑批系统、方法、电子设备和存储介质 |
Non-Patent Citations (5)
Title |
---|
一种基于线程负载自适应的TLA_GaBP 算法;郑汉垣 等;《科技通报》;第36卷(第11期);32-44 * |
基于作业运行特征的大数据处理系统性能优化研究;陆路;《中国优秀硕士学位论文全文数据库》(第2019年06期);I138-287 * |
基于子任务区域分片下的分布式空间查询处理与并行调度方法;何永强 等;《科技通报》;第30卷(第1期);110-116 * |
尼恩.《Spring Cloud、Nginx高并发核心编程》.机械工业出版社,2020,22-23. * |
张飞.《高性能Android开发技术》.北京航空航天大学出版社,2019,125-130. * |
Also Published As
Publication number | Publication date |
---|---|
CN113485812A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7779298B2 (en) | Distributed job manager recovery | |
EP1679602B1 (en) | Shared memory based monitoring for application servers | |
US7689989B2 (en) | Thread monitoring using shared memory | |
US7523196B2 (en) | Session monitoring using shared memory | |
US7647594B2 (en) | Processor system, task control method on computer system, computer program | |
US11110601B2 (en) | Scheduling robots for robotic process automation | |
CN100570565C (zh) | 在管理程序中提供基于策略的操作系统服务的方法和系统 | |
CN112668386A (zh) | 使用机器人过程自动化用于文档处理的长时间运行工作流 | |
CN113485812B (zh) | 基于大数据量任务的分区并行处理方法及系统 | |
JP5519909B2 (ja) | アプリケーション・プロセスにおいて内部イベントをリプレイするための非侵入的方法およびこの方法を実装するシステム | |
CN111488255A (zh) | 多线程并发监控方法、装置、设备及存储介质 | |
CN112738060B (zh) | 微服务数据的处理方法、装置、微服务处理平台及介质 | |
KR20040086214A (ko) | 인핸스드 런타임 호스팅 | |
US20090320023A1 (en) | Process Migration Based on Service Availability in a Multi-Node Environment | |
JP4056491B2 (ja) | 論理的に区画化されたコンピュータにおける区画管理操作に関する非同期通知の選択的生成 | |
US20220284019A1 (en) | Programmable framework for distributed computation of statistical functions over time-based data | |
CN101169733A (zh) | 用于提供基于策略的操作系统服务的方法和系统 | |
US20220171652A1 (en) | Distributed container image construction scheduling system and method | |
CN113157411B (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
US8407713B2 (en) | Infrastructure of data summarization including light programs and helper steps | |
CN111736809B (zh) | 分布式机器人集群网络管理框架及其实现方法 | |
CN115878301A (zh) | 一种数据库网络负载性能的加速框架、加速方法及设备 | |
US10523746B2 (en) | Coexistence of a synchronous architecture and an asynchronous architecture in a server | |
US8977752B2 (en) | Event-based dynamic resource provisioning | |
CN111240819A (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 |