CN110113387A - 一种基于分布式批量处理***的处理方法、装置及*** - Google Patents
一种基于分布式批量处理***的处理方法、装置及*** Download PDFInfo
- Publication number
- CN110113387A CN110113387A CN201910306744.9A CN201910306744A CN110113387A CN 110113387 A CN110113387 A CN 110113387A CN 201910306744 A CN201910306744 A CN 201910306744A CN 110113387 A CN110113387 A CN 110113387A
- Authority
- CN
- China
- Prior art keywords
- server
- subtask
- waiting task
- data
- machines
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 245
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 123
- 239000012634 fragment Substances 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 90
- 230000002159 abnormal effect Effects 0.000 claims description 29
- 238000003860 storage Methods 0.000 claims description 28
- 230000002547 anomalous effect Effects 0.000 claims description 12
- 235000013399 edible fruits Nutrition 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 241001269238 Data Species 0.000 description 23
- 238000004891 communication Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 239000010453 quartz Substances 0.000 description 7
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 101150053844 APP1 gene Proteins 0.000 description 3
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 3
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 101150079125 DCN1 gene Proteins 0.000 description 2
- 102100026982 DCN1-like protein 1 Human genes 0.000 description 2
- 101100330861 Homo sapiens DCUN1D1 gene Proteins 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Technology Law (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例公开了一种基于分布式批量处理***的处理方法、装置及***,其中方法包括:第一服务器接收到路由装置发送的待处理任务后,将待处理任务划分为N个子任务,并将N个子任务分配给P个第二服务器;进一步地,第一服务器获取待处理任务的执行结果,并向控制装置发送待处理任务的执行结果。本发明实施例中,通过将待处理任务划分为N个子任务,且使用P个第二服务器分别处理N个子任务,可以降低处理待处理任务所耗费的时间,提高批量处理作业的处理效率,即通过基于任务分片的方式完成批量处理作业,可以提高分布式批量处理***的水平扩容能力和高可用性。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种基于分布式批量处理***的处理方法、装置及***。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融行业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。金融行业(比如银行)一般都会涉及到批量处理作业,由于金融行业的性质,需要尽可能地保证处理数据的准确性、安全性和不可丢失性,这就要求金融行业中用于批量处理作业的***能够根据实际作业要求调整***性能。因此,设计一种可以水平扩容、高容错的分布式批量处理***,对于金融行业的发展是非常重要的。
Quartz***是现有较为常用的一种用于批量处理作业的***,Quartz***可以通过创建简单或复杂的调度时间表,实现基于Java开发语言的批量处理作业。具体地说,Quartz***可以以集群的方式设置多个节点,通过在数据库中配置定时器信息,可以通过竞争数据库锁的方式实现一个任务对应一个节点;相应地,若某一时刻Quartz***中的某一节点出现故障,则Quartz***可以调用其它节点来处理故障节点对应的任务,从而可以使得每个任务能够顺利地执行完毕。由此可知,通过控制一个任务对应一个节点,Quartz***可以实现节点的高可用性,并可以实现批量处理作业。然而,Quartz***仅支持一个节点处理一个任务,若批量处理作业对应的任务的数据量较大,则可能会耗费较长的时间,使得批量处理作业的处理效率较低。
综上,目前亟需一种基于分布式批量处理***的处理方法,用以提高批量处理作业的处理效率。
发明内容
本发明实施例提供一种基于分布式批量处理***的处理方法、装置及***,用以提高批量处理作业的处理效率。
第一方面,本发明实施例提供的一种基于分布式批量处理***的处理方法,所述方法应用于第一机器集群中的第一服务器,所述第一机器集群中还包括P个第二服务器;所述方法包括:
所述第一服务器接收到路由装置发送的待处理任务后,将所述待处理任务划分为N个子任务,并将所述N个子任务分配给所述P个第二服务器;进一步地,所述第一服务器获取所述待处理任务的执行结果,并向控制装置发送所述待处理任务的执行结果;其中,所述待处理任务的执行结果是根据所述P个第二服务器对所述N个子任务的执行结果生成的,N、P均为正整数,N≥P。
上述技术方案中,通过将待处理任务划分为N个子任务,且使用P个第二服务器分别处理N个子任务,可以降低任务处理耗时,提高批量处理作业的处理效率,也就是说,上述技术方案通过基于任务分片的方式完成批量处理作业,可以提高分布式批量处理***的水平扩容能力;且,若待处理任务的数据量较大,则可以通过增加第二服务器的数量的方式完成对数据量较大的待处理任务的处理,从而可以提高分布式批量处理***的高可用性。
可选地,所述待处理任务的执行结果是根据所述P个第二服务器对所述N个子任务的执行结果生成的,包括:所述第一服务器根据所述N个子任务的执行结果,得到第一执行结果;若所述待处理任务对应两个执行流程,则第一执行结果为首个执行流程的执行结果,所述第一服务器根据所述首个执行流程的执行结果执行第二执行流程,得到所述待处理任务对应的执行结果,相应地,若所述待处理任务对应一个执行流程,则所述第一执行结果为所述待处理任务对应的执行结果。
上述技术方案中,通过将待处理任务划分为多个执行流程,可以多个执行流程的顺序依次获取每个执行流程对应的执行结果,从而得到待处理任务的处理结果;即通过基于多个执行流程依次执行待处理任务,可以无需人为控制多个执行流程之间的切换,提高分布式批量处理***对批量处理作业的自动处理能力。
可选地,所述待处理任务包括预设数据库中存储的M条数据;所述第一服务器将所述待处理任务划分为N个子任务之前,还包括:若所述M条数据的数据量大于预设阈值,则所述第一服务器将所述M条数据划分为T个数据区间,第1个至第T-1个数据区间包括L条数据,第T个数据区间包括K条数据;M、T、L、K均为正整数,M≥L≥K;进一步地,所述第一服务器依次将第1个至第T个数据区间包括的数据分别存入所述第一服务器的第一至第T内存空间中,并记录所述第一至第T内存空间的标识;相应地,所述第一服务器将所述待处理任务划分为N个子任务,包括:所述第一服务器基于所述第一至第T内存空间的标识,将所述第一至第T内存空间中包括的M条数据划分为N个子任务。
上述技术方案采用时间换空间的方式将M条数据加载在内存中,即每次仅将M条数据中的部分数据加载在内存中,从而可以降低内存的消耗,实现将数据量较大的数据成功加载到内存;且,通过基于第一至第T内存空间的标识划分子任务,可以使得划分得到的多个子任务不重复,即提高划分的准确性。
可选地,所述第一服务器根据所述N个子任务的执行结果,得到第一执行结果,包括:所述第一服务器根据所述N个子任务的执行结果,更新所述预设数据库中存储的M条数据的执行结果,得到所述第一执行结果,所述第一执行结果包括所述M条数据的执行结果。
上述技术方案中,通过内存中存储的子任务的处理结果更新到数据库中,可以使得待处理任务的执行结果不易丢失,保证数据的安全性。
可选地,所述待处理任务为文件;所述第一服务器根据所述N个子任务的执行结果,得到第一执行结果,包括:所述第一服务器将所述N个子任务的执行结果进行合并,得到所述第一执行结果。
上述技术方案中,通过将处理后的子文件进行合并,可以得到处理后的完整的文件,也就是说,通过拆分文件与合并子文件的方式处理文件,可以减低处理文件所消耗的时间,提高分布式批量处理***的处理效率。
可选地,所述方法还包括:所述第一服务器若确定分配给所述P个第二服务器的任一第二服务器的子任务出现异常执行事件,则记录所述N个子任务当前的执行状态;进一步地,若所述异常执行事件为乐观锁异常事件,则所述第一服务器控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为程序异常事件,则所述第一服务器等待程序更新后,控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为第Y个第二服务器异常事件,则所述第一服务器将所述待处理任务划分为Q个子任务,并将所述Q个子任务分配给除所述第Y个第二服务器以外的W个第二服务器,以使所述W个第二服务器根据所述N个子任务的执行状态执行所述Q个子任务;其中,Y、Q、W均为正整数,Q≥W,P≥Y。
上述技术方案中,通过记录异常执行事件发生时N个子任务的执行状态,使得在重新处理待处理任务时,基于N个子任务的执行状态处理未处理的子任务,一方面,可以避免重复执行相同的子任务造成的数据紊乱以及处理结果相同等异常问题,从而可以提高任务处理的准确性;另一方面,采用断点保存的方式,可以实现分布式批量处理***的断点重拉功能,通过仅处理未处理的子任务,可以提高批量处理作业的处理效率。
第二方面,本发明实施例提供的一种基于分布式批量处理***的数据处理方法,所述方法包括:
控制装置获取待处理任务,并确定所述待处理任务对应的第一机器集群;进一步地,所述控制装置向路由装置发送任务处理指令,所述任务处理指令包括所述待处理任务和所述第一机器集群的标识。
上述技术方案中,通过在分布式批量处理***中设置多个机器集群,可以使用多个机器集群分别处理不同的任务,从而可以实现对批量任务的处理效率。
可选地,所述控制装置确定所述待处理任务对应的第一机器集群,包括:所述控制装置根据所述待处理任务的任务类型以及预设对应规则,确定所述待处理任务对应的一个或多个备选机器集群;所述预设对应规则用于指示多个任务类型和机器集群的对应关系,所述多个任务类型包括所述待处理任务的任务类型;进一步地,所述控制装置从所述一个或多个备选机器集群中选择所述第一机器集群,所述第一机器集群的处理能力高于所述备选机器集群中其它机器集群的处理能力。
上述技术方案中,通过从多个备选机器集群中选择处理能力最好的机器集群处理待处理任务,可以提高待处理任务的处理速度,进一步地提高待处理任务的处理效率。
第三方面,本发明实施例提供的一种基于分布式批量处理***的处理方法,所述方法包括:
路由装置接收控制装置发送的任务处理指令,所述任务处理指令中包括第一机器集群的标识和待处理任务;进一步地,所述路由装置根据所述第一机器集群的标识,将所述待处理任务发送给所述第一机器集群中的第一服务器;所述第一服务器为第一机器集群中的任一服务器。
上述技术方案中,通过采用路由装置将待处理任务发送给第一机器集群中的任一服务器,可以实现待处理任务的数据传递,从而实现分布式批量处理***处理数据的能力。
第四方面,本发明实施例提供的一种基于分布式批量处理***的处理装置,所述装置为第一机器集群中的第一服务器,所述第一机器集群中还包括P个第二服务器;所述第一服务器包括:
划分模块,用于接收到路由装置发送的待处理任务后,将所述待处理任务划分为N个子任务,并将所述N个子任务分配给所述P个第二服务器;
处理模块,用于获取所述待处理任务的执行结果,并向控制装置发送所述待处理任务的执行结果;所述待处理任务的执行结果是根据所述P个第二服务器对所述N个子任务的执行结果生成的,N、P均为正整数,N≥P。
可选地,所述处理模块用于:根据所述N个子任务的执行结果,得到第一执行结果;进一步地,若所述待处理任务对应两个执行流程,则第一执行结果为首个执行流程的执行结果,根据所述首个执行流程的执行结果执行第二执行流程,得到所述待处理任务对应的执行结果;若所述待处理任务对应一个执行流程,则所述第一执行结果为所述待处理任务对应的执行结果。
可选地,所述待处理任务包括预设数据库中存储的M条数据;所述划分模块将所述待处理任务划分为N个子任务之前,还用于:若所述M条数据的数据量大于预设阈值,则将所述M条数据划分为T个数据区间,第1个至第T-1个数据区间包括L条数据,第T个数据区间包括K条数据;M、T、L、K均为正整数,M≥L≥K;进一步地,依次将第1个至第T个数据区间包括的数据分别存入所述第一服务器的第一至第T内存空间中,并记录所述第一至第T内存空间的标识;
所述划分模块用于:所述第一服务器基于所述第一至第T内存空间的标识,将所述第一至第T内存空间中包括的M条数据划分为N个子任务。
可选地,所述处理模块用于:根据所述N个子任务的执行结果,更新所述预设数据库中存储的M条数据的执行结果,得到所述第一执行结果,所述第一执行结果包括所述M条数据的执行结果。
可选地,所述待处理任务为文件;所述处理模块用于:将所述N个子任务的执行结果进行合并,得到所述第一执行结果。
可选地,所述处理模块还用于:若确定分配给所述P个第二服务器的任一第二服务器的子任务出现异常执行事件,则记录所述N个子任务当前的执行状态;进一步地,若所述异常执行事件为乐观锁异常事件,则控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为程序异常事件,则等待程序更新后,控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为第Y个第二服务器异常事件,则将所述待处理任务划分为Q个子任务,并将所述Q个子任务分配给除所述第Y个第二服务器以外的W个第二服务器,以使所述W个第二服务器根据所述N个子任务的执行状态执行所述Q个子任务;其中,Y、Q、W均为正整数,Q≥W,P≥Y。
第五方面,本发明实施例提供的一种基于分布式批量处理***的处理装置,所述装置包括:
确定模块,用于获取待处理任务,并确定所述待处理任务对应的第一机器集群;
收发模块,用于向路由装置发送任务处理指令,所述任务处理指令包括所述待处理任务和所述第一机器集群的标识。
可选地,所述确定模块用于:根据所述待处理任务的任务类型以及预设对应规则,确定所述待处理任务对应的一个或多个备选机器集群;所述预设对应规则用于指示多个任务类型和机器集群的对应关系,所述多个任务类型包括所述待处理任务的任务类型;进一步地,从所述一个或多个备选机器集群中选择所述第一机器集群,所述第一机器集群的处理能力高于所述备选机器集群中其它机器集群的处理能力。
第六方面,本发明实施例提供的一种基于分布式批量处理***的处理装置,所述装置包括收发模块,所述收发模块用于:
接收控制装置发送的任务处理指令,所述任务处理指令中包括第一机器集群的标识和待处理任务;进一步地,根据所述第一机器集群的标识,将所述待处理任务发送给所述第一机器集群中的第一服务器;所述第一服务器为第一机器集群中的任一服务器。
第七方面,本发明实施例提供的一种分布式批量处理***,所述***包括控制装置、路由装置和至少一个机器集群,每个机器集群中设置有多个服务器;
所述控制装置,用于获取待处理任务,并根据所述控制装置中存储的预设映射表,确定所述待处理任务对应的所述至少一个机器集群中的第一机器集群,将所述待处理任务和所述第一机器集群的标识发送给路由装置;
所述路由装置,用于将所述待处理任务发送给所述第一机器集群中的第一服务器,所述第一服务器为所述机器集群中的任一服务器;
所述第一服务器,用于对所述待处理任务进行分片,并将所述待处理任务对应的多个分片发送给所述第一机器集群中除所述第一服务器以外的一个或多个第二服务器;以及,获取所述一个或多个第二服务器处理所述多个分片后得到的所述待处理任务的处理结果,并将所述待处理任务的处理结果发送给所述控制装置。
第八方面,本发明实施例提供的一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上述第一至第三方面任意所述的基于分布式批量处理***的处理方法。
第九方面,本发明实施例提供的一种计算机程序产品,当其在计算机上运行时,使得计算机执行如上述第一至第三方面任意所述的基于分布式批量处理***的处理方法。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种分布式批量处理***的***架构示意图;
图2为本发明实施例提供的一种基于分布式批量处理***的处理方法对应的交互流程示意图;
图3为本发明实施例提供的一种基于分布式批量处理***的处理装置的结构示意图;
图4为本发明实施例提供的一种基于分布式批量处理***的处理装置的结构示意图;
图5为本发明实施例提供的一种基于分布式批量处理***的处理装置的结构示意图;
图6为本发明实施例提供的一种终端设备的结构示意图;
图7为本发明实施例提供的一种后端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
金融科技(Fintech)是指将信息技术融入金融领域后,为金融领域带来的一种新的创新科技,通过使用先进的信息技术辅助实现金融作业、交易执行以及金融***改进,可以提升金融***的处理效率、业务规模,并可以降低成本和金融风险。
批量处理作业是金融科技行业的一种常规作业方式,由于批量处理作业所处理的任务数据量较大、金融应用场景广泛,因此需要保证批量处理作业处理的任务是准确的、安全的和不可丢失的。因此,若在执行批量处理作业中某一任务出现故障,则整个批量处理作业的处理流程可能会受到严重的影响。综上,目前亟需一种分布式批量处理***,用于准确执行批量处理作业。
图1为本发明实施例提供的一种分布式批量处理***的***架构示意图,如图1所示,该***中可以包括控制装置110、路由装置120和至少一个数据中心(如图1所示意出的第一数据中心130、第二数据中心140)。其中,至少一个数据中心中任意两个数据中心中的数据可以独立,即任意两个数据中心无法实现通信,且,每个数据中心中可以设置有一个或多个机器集群,每个机器集群中可以设置有至少一个服务器。以第一数据中心130为例,如图1所示,第一数据中心130中可以设置有机器集群131和第二机器集群132,第一机器集群中可以设置有服务器1311、服务器1312、服务器1313和服务器1314,相应地,第二机器集群132中可以设置有服务器1321、服务器1322和服务器1323。
本发明实施例中,控制装置110可以与路由装置120通信连接,路由装置120可以与至少一个数据中心中的每个数据中心(比如第一数据中心130)通信连接。其中,实现通信连接的方式可以有多种,比如可以通过有线方式实现通信连接,或者也可以通过无线方式实现通信连接,具体不作限定。在一个示例中,路由装置120可以为数字通信网(DigitalCommunication Network,DCN)路由器,路由装置120中可以存储有一个消息队列,消息队列的类型可以有多种,比如可以为rmb消息队列,或者也可以为rocktmq消息队列,或者还可以为rabbitmq消息队列,具体不作限定。其中,rmb为一种可以基于行内处理的消息中间件,Rocketmq为一种开源的分布式消息中间件,Rabbitmq为一种基于高级消息队列协议(Advanced Message Queuing Protocol,AMQP)的消息中间件。以Rocketmq为例,Rocketmq中可以设置有消息生产者和消息消费者,消息生产者可以创建消息,并可以将创建的消息发送给Rocketmq对应的服务器;相应地,Rocketmq对应的服务器在接收到消息后,可以将消息存储在该服务器内部设置的磁盘中;进一步地,消息消费者可以从Rocketmq对应的服务器获取消息,并可以将消息提交给某一个应用,以使该应用对消息进行后续操作,比如消费消息、广播消息等。
具体实施中,路由装置120可以接收控制装置110发送给路由装置120的信息,并可以将该信息转发至任意一个数据中心中设置的任意一个服务器中。举例来说,若控制装置110需要实现与服务器1422的通信,则控制装置110可以向路由装置120发送第一信息,第一信息中可以包括服务器1422的标识和目标数据;相应地,路由装置120接收到第一信息后,可以根据第一信息中包括的服务器1422的标识,从路由装置120中存储的预设映射表中获取服务器1422的IP地址,从而可以将目标数据发送给服务器1422;如此,即可实现控制装置110与服务器120的通信。
基于图1所示意的分布式批量处理***的***架构,图2为本发明实施例提供的一种基于分布式批量处理***的处理方法对应的交互流程示意图,该方法包括:
步骤201,控制装置获取待处理任务,并确定第一机器集群。
本发明实施例中,控制装置获取到待处理任务后,可以确定待处理任务是否需要执行批量处理,若确定待处理任务无需执行批量处理,则控制装置可以直接将待处理任务发送给预设服务器进行处理。其中,以图1所示意的多个机器集群为例,预设服务器可以为本领域技术人员从图1所示意出的多个服务器中预先确定出的服务器,比如可以为服务器1311,或者也可以为服务器1422,具体不作限定。相应地,若确定待处理任务需要执行批量处理,则控制装置可以确定待处理任务对应的第一机器集群。
具体实施中,确定待处理任务是否需要执行批量处理的方式可以有多种,在一种可能的实现方式中,控制装置可以根据用户的选择确定待处理任务是否需要执行批量处理。具体地说,分布式批量处理***还可以包括任务管理界面,任务管理界面可以为WEB浏览器中设置的界面,用户可以通过在WEB浏览器中输入任务管理界面对应的任务管理服务器的地址,获取到任务管理界面;任务管理界面上可以设置有多个预设图标,比如可以设置有批量处理指令对应的预设图标、非批量处理指令对应的图标等。如此,控制装置获取待处理任务后,若检测到用户触发任务管理界面上的批量处理指令对应的图标,则可以确定需要对待处理任务执行批量处理;相应地,若检测到用户触发任务管理界面上的非批量处理指令对应的图标,则可以确定无需对待处理任务执行批量处理。在另一种可能的实现方式中,控制装置可以根据待处理任务的数据量确定待处理任务是否需要执行批量处理。具体地说,控制装置若确定待处理任务的数据量大于第一预设阈值,则可以确定需要对待处理任务执行批量处理;相应地,若确定待处理任务的数据量小于或等于第一预设阈值,则可以确定无需对待处理任务执行批量处理。其中,第一预设阈值可以由本领域技术人员根据经验进行设置,或者也可以根据实际需要进行设置,具体不作限定。本发明的下列实施例中主要描述对待处理任务执行批量处理的过程。
若确定需要对待处理任务执行批量处理,则控制装置可以通过多种方式确定待处理任务对应的第一机器集群,在一种可能的实现方式中,控制装置中可以设置有预设对应规则,预设对应规则可以为本领域技术人员预先根据经验设置的任务类型与机器集群的对应规则,预设对应规则可以用于指示多个任务类型和机器集群的对应关系。以图1所示意的***架构为例,表1为一种预设对应规则的示意表。
表1:一种预设对应规则的示意
如表1所示,预设对应规则可以为预先设置的任务类型、数据中心和机器集群的对应规则,比如,第一数据中心中的机器集群131可以处理任务类型为Job1的任务,第一数据中心中的机器集群132可以处理任务类型为Job2的任务,第二数据中心中的机器集群142可以处理任务类型为Job1的任务,第二数据中心中的机器集群141可以处理任务类型为Job3的任务。
具体实施中,控制装置在接收到待处理任务后,可以根据待处理任务确定待处理任务的类型,若待处理任务的类型为Job1,则根据表1所示意的预设对应规则,控制装置可以确定待处理任务对应两个备选机器集群,即机器集群131和机器集群142。进一步地,控制装置可以采用多种方式从机器集群131和机器集群142中确定第一机器集群。在一个示例中,控制装置可以获取机器集群131和机器集群142的处理能力,并可以机器集群131和机器集群142中选取处理能力最高的机器集群作为第一机器集群;比如,若机器集群131的处理能力为3G/秒,机器集群142的处理能力为5G/秒,则机器集群142的处理能力高于机器集群131的处理能力,因此,控制装置可以将机器集群142作为第一机器集群。在另一个示例中,控制装置可以根据用户的选择确定第一机器集群,比如,控制装置可以将机器集群131和机器集群142同时显示在任务管理界面上,并可以提示用户选择其中一个机器集群作为第一机器集群,若检测到用户选择机器集群131,则控制装置可以将机器集群131作为第一机器集群。
相应地,若待处理任务的类型为Job2,则根据表1所示意的预设对应规则,控制装置可以确定待处理任务对应的机器集群为机器集群132,即第一机器集群为机器集群132;若待处理任务的类型为Job3,则根据表1所示意的预设对应规则,控制装置可以确定待处理任务对应的机器集群为机器集群141,即第一机器集群为机器集群141。
需要说明的是,上述仅是一种示例性的简单说明,其所列举的以每秒钟处理的数据量作为机器集群的处理能力仅是为了便于说明方案,并不构成对方案的限定,在具体实施中,机器集群的处理能力也可以由其它指标来表征,比如机器集群的容量、机器集群的负载数量等,具体不作限定。
步骤202,控制装置将任务处理指令发送给路由装置。
以第一机器集群为机器集群131为例,控制装置在确定第一机器集群后,可以向路由装置发送任务处理指令,任务处理指令中可以包括待处理任务和机器集群131的标识。在一个示例中,机器集群131的标识可以包括机器集群131的名称标识和机器集群131所属的数据中心(即第一数据中心)的标识;比如,机器集群131的标识可以为“DCN1:APP1”其中,DCN1用于标识第一机器集群所属的数据中心为第一数据中心,APP1用于标识第一机器集群的名称,即第一数据中心中的机器集群APP1。
在实际应用中,不同的数据中心中通常可以包含具有相同名称的机器集群,通过设置第一机器集群的标识包括第一机器集群的名称标识和第一机器集群所属的数据中心的标识,可以准确定位第一机器集群,提高批量处理作业的准确性。
步骤203,路由装置将待处理任务发送给第一服务器。
具体实施中,路由装置若接收到控制装置发送的任务处理指令,则可以根据第一机器集群(即机器集群131)的标识,将待处理任务发送给机器集群131中的第一服务器。其中,第一服务器可以为机器集群131中的任一服务器,即第一服务器可以为服务器1311,或者也可以为服务器1312,或者还可以为服务器1313,或者还可以为服务器1314。
在一种可能的实现方式中,机器集群131中可以设置有通信设备(图1中未进行示意),待处理任务可以通过通信设备发送给第一服务器。具体地说,通信设备可以用于控制机器集群131中的多个服务器与外接设备的通信,比如服务器1311~服务器1314与路由装置的通信,路由装置若确定任务处理指令对应的机器集群为机器集群131(即接收到机器集群131的标识),则可以将任务处理指令发送给机器集群131中的通信设备;相应地,通信设备可以将任务处理指令转发给机器集群131中的任一服务器(比如服务器1311)。
在另一种可能的实现方式中,机器集群131中可以设置有中心通信网络(图1中未进行示意),待处理任务可以通过中心通信网络发送给第一服务器。具体地说,机器集群131中的多个服务器(即服务器1311~服务器1314)可以同时连接在中心通信网络上,路由装置若确定任务处理指令对应的机器集群为机器集群131(即接收到机器集群131的标识),则可以将任务处理指令发送到机器集群131的中心通信网络中;相应地,以服务器1311为例,若服务器1311检测到中心通信网络上存在未处理的任务,则服务器1311可以获取中心通信网络上的待处理任务。同时,在中心处理网络上的待处理任务被服务器1311接收后,中心处理网络可以将待处理任务从中心处理网络上清空,以避免多个服务器同时接收到待处理任务,保证待处理任务被一个服务器执行。
以第一服务器为服务器1311为例,机器集群131中除服务器1311以外的服务器(即服务器1312、服务器1313和服务器1314)可以为第二服务器,第一服务器可以与第一集群中的任一第二服务器通信连接,即服务器1311可以与服务器1312、服务器1313和服务器1314中的任一服务器交互,以服务器1311与服务器1312之间的交互为例,服务器1311可以向服务器1312发送信息,也可以接收服务器1312发送的信息。
步骤204,第一服务器将待处理任务划分为N个子任务。
服务器1311在接收到路由装置发送的待处理任务后,可以将待处理任务划分为N个子任务,在一种可能的实现方式中,服务器1311在将待处理任务划分为N个子任务之前,还可以预先确定待处理任务对应的执行流程(即执行待处理任务的步骤)的数量,若待处理任务对应一个执行流程,则可以将待处理任务划分为N个子任务,并可以根据后续得到的N个子任务的处理结果确定待处理任务对应的处理结果;若待处理任务对应多个执行流程,则可以先得到首个执行流程对应的执行结果(参照待处理任务对应一个执行流程的过程),并可以根据首个执行流程的执行结果执行第二执行流程,得到第二执行流程对应的执行结果,进而依次执行至最后一个执行流程,得到最后一个执行流程对应的执行结果,其中最后一个执行流程对应的执行结果即为待处理任务对应的执行结果。
举个例子,若待处理任务为“将一个月内的收入进行入账”,则待处理任务可以对应两个执行流程,第一个执行流程可以为计算一个月中每天的收入,第二个执行流程可以为计算一个月内每天的收入的和值,得到一个月内的收入。在一个示例中,服务器1311可以先将待处理任务划分为第一子任务至第三子任务,第一子任务为计算第1天至第10天中每天的收入,第二子任务为计算第期11天至第20天中每天的收入,第三子任务为计算第21天至第30天中每天的收入。进一步地,服务器1311可以将第一子任务至第三子任务分别发送给服务器1312~服务器1314,比如可以将第一子任务发送给服务器1312,以使服务器1312计算第1天至第10天中每天的收入,将第二子任务发送给服务器1313,以使服务器1313计算第11天至第20天中每天的收入,将第三子任务发送给服务器1314,以使服务器1314计算第21天至第30天中每天的收入。
本发明的下列实施例以待处理任务对应一个执行流程为例进行描述,其中,待处理任务可以为数据库中的数据,或者也可以为文件。下面分别从这两种情形描述服务器1311将待处理任务划分为N个子任务的实现过程。
情形一
在情形一中,机器集群131中可以设置有预设数据库,待处理任务可以为预设数据库中存储的M条数据,具体实施中,服务器1311可以先将预设数据库中存储的M条数据加载至服务器1311的内存中。在一种可能的实现方式中,可以预先设置第二预设阈值,若M条数据的数据量小于第一预设阈值,则说明M条数据的数据量较小,服务器1311可以通过一次加载过程将M条数据加载在内存中,此时,服务器1311可以直接加载M条数据;相应地,若M条数据的数据量大于第二预设阈值,则说明M条数据的数据量较大,服务器1311无法通过一次加载过程将M条数据加载在内存中,此时,可以采用如下解决方案:服务器1311可以将M条数据划分为T个数据区间,第1个至第T-1个数据区间可以包括L条数据,第T个数据区间包括K条数据;进一步地,服务器1311可以依次将第1个至第T个数据区间包括的数据分别存入服务器1311的第一至第T内存空间中,并可以记录第一至第T内存空间的标识。在一个示例中,每个内存空间的标识可以包括每个内存空间中包括的起始数据的标识和每个内存空间中包括的数据的数量。
举例说明,若服务器1311需要将105条数据加载在内存中,则服务器可以将105条数据划分为第一~第四数据区间,第一~第三数据区间中可以均包括30条数据,第四数据区间中可以包括15条数据,即第一数据区间中包括第1条数据~第30条数据,第二数据区间中包括第31条数据~第60条数据,第三数据区间中包括第61条数据~第90条数据,第四数据区间中包括第91条数据~第105条数据。进一步地,服务器1311可以先将第一数据区间中包括的30条数据加载在第一内存空间中,第一内存空间的标识可以为“1_30”,再将第二数据区间中包括的30条数据加载在第二内存空间中,第二内存空间的标识可以为“31_30”,再将第三数据区间中包括的30条数据加载在第三内存空间中,第三内存空间的标识可以为“61_30”,最后将第四数据区间中包括的15条数据加载在第四内存空间中,第四内存空间的标识可以为“91_15”。
进一步地,服务器1311可以基于第一至第四内存空间的标识,将第一至第四内存空间中包括的105条数据依次划分为N个子任务。以划分为3个子任务为例,服务器1311可以将105条数据划分为第一子任务~第三子任务,第一子任务中可以包括第一内存空间中的30条数据(即第1条~第30条数据),第二子任务中可以包括第二内存空间中的30条数据(即第31条~第60条数据),第三子任务中可以包括第三内存空间中的30条数据(即第61条~第90条数据)和第四内存空间中的15条数据(即第91条~第105条数据),即第三子任务包括第61条数据~第105条数据。
需要说明的是,上述仅是一种示例性的简单说明,其所列举的每个子任务中包括的数据的数量仅是为了便于说明方案,并不构成对方案的限定,在具体实施中,划分的子任务的数量和每个子任务中包括的数据的数量可以由本领域技术人员根据经验进行设置,具体不作限定。仍以服务器1311将105条数据划分为第一~第三子任务为例,第一子任务中可以包括第一内存空间中的30条数据和第二内存空间中的前15条数据,即第1条~第45条数据,第二子任务中可以包括第二内存空间中的后15条数据和第三内存空间中的30条数据,即第46条~第90条数据,第三子任务中可以包括第四内存空间中的15条数据,即第91条~第105条数据。
情形二
在情形二中,服务器1311获取到的待处理任务可以为文件,在一个示例中,服务器1311可以按照预设数据量将文件划分为N个子文件,举例来说,若文件的数据量为100M,预设数据量为45M,则服务器1311可以将文件划分为第一~第三子文件,第一子文件可以包括100M文件中的前45M数据,第二子文件可以包括100M文件中的第46M~第90M数据,第三子文件可以包括100M文件中的第91M~第100M数据。
步骤205,第一服务器将N个子任务分配给P个第二服务器。
此处,P的数量可以由本领域技术人员根据经验进行设置,以第一机器集群中包括的服务器1312~服务器1314为例,P可以为1,或者也可以为2,或者还可以为3,具体不作限定。本发明实施例以P为3为例进行描述,若N为3,则服务器1311可以将划分得到的第一~第三子任务分别分配给服务器1312~服务器1314,比如,将第一子任务分配给服务器1312,将第二子任务分配给服务器1313,将第三子任务分配给服务器1314;若N为小于3的数(比如2,服务器1312和服务器1314),则服务器1311可以将划分得到的第一子任务分配给服务器1312,将第二子任务分配给服务器1314,并可以将第三子任务分配给服务器1312和服务器1314中先处理完子任务的服务器,比如,服务器1311可以实时监控服务器1312和服务器1314,一旦监控到服务器1312和服务器1314中任一服务器处于空闲状态,则可以将第三子任务分配给处于空闲状态的服务器。
步骤206,P个第二服务器处理N个子任务,分别得到N个子任务对应的处理结果。
以服务器1312执行第1条数据~第30条数据为例,具体实施中,服务器1312在接收到服务器1311发送的第1条数据~第30条数据后,若确定第1条数据~第30条数据的数据量较大,服务器1312需要执行较长的时间,则服务器1312可以创建多个线程,并可以使用多个线程处理第1条数据~第30条数据;相应地,若确定第1条数据~第30条数据的数据量较小,服务器1312可能在较短的时间内即可执行完成,则服务器1312可以使用一个线程处理第1条数据~第30条数据。举例来说,若服务器基于第1条数据~第30条数据的数据量创建了第一~第三线程,则可以使用第一线程处理第1条数据~第10条数据(或者也可以小于10条,此处不作限定),使用第二线程处理第11条数据~第20条数据,使用第三线程处理第21~第30条数据。以第一线程为例,第一线程可以先将第1条数据~第10条数据加载在第一线程对应的内存中,该过程可以参照服务器1311将100条数据加载在服务器1311的内存的过程进行实现。进一步地,服务器1311可以使用第一~第三线程分别对第1条数据~第10条数据、第11条数据~第20条数据、第21条数据~第30条数据进行处理,并可以获取每个线程处理数据的处理结果。
本发明实施例中,若待处理任务为数据库中的M条数据,则每条数据对应的处理结果可以为每条数据的处理状态,其中,处理状态可以是指该条数据是否被处理完成,或者可以为该条数据对应的数值;相应地,若待处理任务为文件,则每个子文件对应的处理结果可以为每个子文件的处理状态以及每个子文件的数据。
在一种可能的实现方式中,若确定分配给服务器1312~服务器1314的任一服务器的子任务出现异常执行事件(比如第一子任务),则服务器1311可以记录第一~第三子任务当前的执行状态。在一个示例中,机器集群131中可以设置有存储装置,服务器1311可以将第一~第三子任务当前的执行状态存储在存储设备中。表2为一种存储装置中存储的异常时子任务的执行状态的示意表。
表2:一种存储装置中存储的异常时子任务的执行状态的示意
子任务 | 执行完成 | 未执行完成 |
第一子任务 | 第1条数据~第5条数据 | 第6条数据~第30条数据 |
第二子任务 | 第31条数据~第60条数据 | |
第三子任务 | 第61条数据~第70条数据 | 第71条数据~第105条数据 |
其中,存储装置中存储的异常时子任务的执行状态可以包括子任务中执行完成的数据与未执行完成的数据。如表2所示,在异常执行事件发生时,第一子任务中的第1条数据~第5条数据已执行完成,第6条数据~第30条数据未执行完成;第二子任务中的第31条数据~第60条数据已执行完成;第三子任务中的第61条数据~第70条数据已执行完成,第71条数据~第105条数据未执行完成。
进一步地,若异常执行事件为乐观锁异常事件(比如网络中断导致的异常),则服务器1311可以控制服务器1312~服务器1314重新执行第一~第三子任务。具体地说,服务器1312执行第一子任务的过程中,通过获取存储装置中存储的第一子任务的执行状态,可以确定第1条数据~第5条数据在异常执行事件发生之前已执行完成,因此,服务器1312可以重新执行第6条数据~第30条数据;相应地,服务器1313执行第二子任务的过程中,通过获取存储装置中存储的第二子任务的执行状态,可以确定第31条数据~第60条数据在异常执行事件发生之前已执行完成,因此,服务器1313可以无需进行任何操作;服务器1314执行第三子任务的过程中,通过获取存储装置中存储的第三子任务的执行状态,可以确定第61条数据~第70条数据在异常执行事件发生之前已执行完成,因此,服务器1314可以重新执行第71条数据~第105条数据。如此,通过保存异常执行事件时子任务的执行状态,可以实现断点重拉,避免重复执行同一子任务,提高批量任务处理的效率。
在另一种情况下,若异常执行事件为程序异常事件(比如由于程序出错导致的异常),则服务器1311可以等待程序更新后,控制服务器1312~服务器1314根据重新执行第一~第三子任务,执行过程可以参照乐观锁异常事件的执行过程进行实现,不再赘述。其中等待程序更新的方式可以有多种,比如可以等待用户对程序的调试完成,或者可以等待分布式批量处理***自动更新程序版本等,具体不作限定。
在又一种情况下,若异常执行事件为服务器1312~服务器1314中的某一服务器(比如服务器1312)异常,则服务器1311可以将服务器1312剔除,即可以重新将待处理任务划分为第四~第五子任务,并可以将第四子任务和第五子任务分别分配给服务器1313和服务器1314,以使服务器1313和服务器1314根据第一~第三子任务的执行状态分别执行第四~第五子任务。举例来说,表3为一种第四子任务和第五子任务的示意表。
表3:一种第四子任务和第五子任务的示意
子任务 | 数据 |
第四子任务 | 第1条数据~第50条数据 |
第五子任务 | 第51条数据~第105条数据 |
如表3所示,第四子任务可以包括第1条数据~第50条数据,第五子任务可以包括第51条数据和第105条数据。也就是说,服务器1311可以将第1条数据~第50条数据发送给服务器1313,并可以将第51条数据~第105条数据发送给服务器1314。
进一步地,服务器1313可以根据表2所示意的第一~第三子任务的执行状态,确定第1条数据~第50条数据中第1条数据~第5条数据以及第31条数据~第50条数据已执行完成,因此,服务器1313可以重新执行第6条数据~第30条数据;相应地,服务器1314可以根据表2所示意的第一~第三子任务的执行状态,确定第51条数据~第105条数据中第51条数据~第70条数据已执行完成,因此,服务器1314可以重新执行第71条数据~第105条数据。
本发明实施例中,确定异常执行事件为服务器异常的方式有多种,在一种可能的实现方式中,服务器1311可以按照第一预设周期向服务器1312~服务器1314发送请求消息,服务器1312~服务器1314在接收到服务器1311发送的请求消息后,可以向服务器1311发送响应消息;因此,以服务器1312为例,若在第一预设时间段内服务器1311未接收到服务器1312发送的响应消息,则可以确定服务器1312异常。其中,第一预设周期可以小于或等于第一预设时间段,第一预设周期和第一预设时间段可以由本领域技术人员根据实际需要进行设置,具体不作限定。在另一种可能的实现方式中,可以设置服务器1312~服务器1314按照第二预设周期访问预设数据库,并可以记录服务器1312~服务器1314每次访问预设数据库的时间信息;以服务器1312为例,若服务器1312在相邻两次访问预设数据库的时间大于第二预设时间段,则可以确定服务器1312异常。其中,第二预设周期可以小于或等于第二预设时间段,第二预设周期和第二预设时间段可以由本领域技术人员根据实际需要进行设置,具体不作限定。
步骤207,第一服务器获取N个子任务对应的处理结果。
在一个示例中,服务器1311可以通过与服务器1312~服务器1314通信,获取第一~第三子任务对应的处理结果,具体地说,服务器1311可以与服务器1312通信,获取服务器1312处理第一子任务对应的处理结果,并可以与服务器1313通信,获取服务器1313处理第二子任务对应的处理结果,且可以与服务器1314通信,获取服务器1314处理第三子任务对应的处理结果;如此,服务器1311获取到的第1条数据~第105条数据的处理结果可以存储在服务器1311的内存中。
在另一个示例中,服务器1312~服务器1314中的每个服务器均可以将处理的数据的处理结果上报给存储装置,比如,服务器1312可以将第1条数据~第30条数据的处理结果上报给存储装置,服务器1313可以将第31条数据~第60条数据的处理结果上报给存储装置,服务器1314可以将第61条数据~第105条数据的处理结果上报给存储装置;如此,存储装置中可以存储有第一子任务~第三子任务(即第1条数据~第105条数据)对应的处理结果。在该示例中,存储装置可以在接收到第一子任务~第三子任务对应的处理结果后,将一子任务~第三子任务对应的处理结果发送给服务器1311,如此,服务器1311接收到的第1条数据~第105条数据的处理结果可以存储在服务器1311的内存中。
步骤208,第一服务器根据N个子任务对应的处理结果得到待处理任务对应的处理结果。
具体实施中,若待处理任务为预设数据库中的105条数据,则服务器1311可以根据内存中存储的第1条数据~第105条数据的处理结果更新预设数据库中存储的第1条数据~第105条数据的处理结果。以第1条数据为例,在服务器1311处理待处理任务之前,预设数据库中存储的第1条数据的处理结果可以为“未处理”,在服务器1311确定第1条数据处理完成后,可以根据内存中存储的第1条数据的处理结果将预设数据库中第1条数据的“未处理”的处理结果更新为“已处理”。如此,服务器1311若将预设数据库中存储的第1条数据~第105条数据的处理结果均更新为“已处理”,则可以待处理任务对应的处理结果。
相应地,若待处理任务为文件,则服务器1311获取到的第一~第三子文件的执行结果可以包括执行后的数据和执行状态,此时,服务器1311可以将第一~第三子文件对应的执行后的数据进行合并,从而得到合并后的文件,并可以记录文件的执行状态(即“已处理”),合并后的文件以及文件的执行状态即为待处理任务对应的处理结果。
步骤209,第一服务器将待处理任务的处理结果发送给控制装置。
在一种可能的实现方式中,服务器1311在获取到待处理任务的处理结果后,可以向控制装置发送任务处理响应消息,任务处理响应消息中可以包括待处理任务的处理结果,比如可以包括待处理任务的执行状态,或者也可以包括待处理任务的执行数据和执行状态,具体不作限定。相应的,控制装置接收到任务处理响应消息后,可以将任务处理响应消息显示在批量任务管理界面上,以向用户显示待处理任务的处理结果。
在另一种可能的实现方式中,服务器1311在获取到待处理任务的处理结果后,可以向路由装置发送任务处理响应消息,任务处理响应消息中可以包括待处理任务的处理结果。进一步地,路由装置可以将任务处理响应消息转发给控制装置,以使控制装置接收到任务处理响应消息后,将任务处理响应消息显示给用户。
本发明的上述实施例中,基于分布式批量处理***的处理方法可以应用于第一机器集群中的第一服务器,第一机器集群中还包括P个第二服务器;第一服务器接收到路由装置发送的待处理任务后,可以将待处理任务划分为N个子任务,并可以将N个子任务分配给P个第二服务器;进一步地,第一服务器可以获取待处理任务的执行结果,并向控制装置发送待处理任务的执行结果,其中,待处理任务的执行结果是根据P个第二服务器对N个子任务的执行结果生成的,N、P均为正整数,N≥P。本发明实施例中,通过将待处理任务划分为N个子任务,且使用P个第二服务器分别处理N个子任务,可以降低处理待处理任务所耗费的时间,提高批量处理作业的处理效率;也就是说,通过基于任务分片的方式完成批量处理作业,可以提高分布式批量处理***的水平扩容能力;且,若待处理任务的数据量较大,则可以通过增加第二服务器的数量的方式完成对数据量较大的待处理任务的处理,从而可以提高分布式批量处理***的高可用性。
针对上述方法流程,本发明实施例还提供一种基于分布式批量处理的处理装置,该装置的具体内容可以参照上述方法实施。
图3为本发明实施例提供的一种基于分布式批量处理的处理装置的结构示意图,所述装置为第一机器集群中的第一服务器,所述第一机器集群中还包括P个第二服务器;所述第一服务器包括:
划分模块301,用于接收到路由装置发送的待处理任务后,将所述待处理任务划分为N个子任务,并将所述N个子任务分配给所述P个第二服务器;
处理模块302,用于获取所述待处理任务的执行结果,并向控制装置发送所述待处理任务的执行结果;所述待处理任务的执行结果是根据所述P个第二服务器对所述N个子任务的执行结果生成的,N、P均为正整数,N≥P。
可选地,所述处理模块302用于:
根据所述N个子任务的执行结果,得到第一执行结果;
若所述待处理任务对应两个执行流程,则第一执行结果为首个执行流程的执行结果,根据所述首个执行流程的执行结果执行第二执行流程,得到所述待处理任务对应的执行结果;若所述待处理任务对应一个执行流程,则所述第一执行结果为所述待处理任务对应的执行结果。
可选地,所述待处理任务包括预设数据库中存储的M条数据;
所述划分模块301将所述待处理任务划分为N个子任务之前,还用于:
若所述M条数据的数据量大于预设阈值,则将所述M条数据划分为T个数据区间,第1个至第T-1个数据区间包括L条数据,第T个数据区间包括K条数据;M、T、L、K均为正整数,M≥L≥K;
依次将第1个至第T个数据区间包括的数据分别存入所述第一服务器的第一至第T内存空间中,并记录所述第一至第T内存空间的标识;
所述划分模块301用于:
所述第一服务器基于所述第一至第T内存空间的标识,将所述第一至第T内存空间中包括的M条数据划分为N个子任务。
可选地,所述处理模块302用于:
根据所述N个子任务的执行结果,更新所述预设数据库中存储的M条数据的执行结果,得到所述第一执行结果,所述第一执行结果包括所述M条数据的执行结果。
可选地,所述待处理任务为文件;
所述处理模块302用于:将所述N个子任务的执行结果进行合并,得到所述第一执行结果。
可选地,所述处理模块302还用于:
若确定分配给所述P个第二服务器的任一第二服务器的子任务出现异常执行事件,则记录所述N个子任务当前的执行状态;
若所述异常执行事件为乐观锁异常事件,则控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为程序异常事件,则等待程序更新后,控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为第Y个第二服务器异常事件,则将所述待处理任务划分为Q个子任务,并将所述Q个子任务分配给除所述第Y个第二服务器以外的W个第二服务器,以使所述W个第二服务器根据所述N个子任务的执行状态执行所述Q个子任务;其中,Y、Q、W均为正整数,Q≥W,P≥Y。
图4为本发明实施例提供的一种基于分布式批量处理***的处理装置,所述装置包括:
确定模块401,用于获取待处理任务,并确定所述待处理任务对应的第一机器集群;
收发模块402,用于向路由装置发送任务处理指令,所述任务处理指令包括所述待处理任务和所述第一机器集群的标识。
可选地,所述确定模块401用于:
根据所述待处理任务的任务类型以及预设对应规则,确定所述待处理任务对应的一个或多个备选机器集群;所述预设对应规则用于指示多个任务类型和机器集群的对应关系,所述多个任务类型包括所述待处理任务的任务类型;
从所述一个或多个备选机器集群中选择所述第一机器集群,所述第一机器集群的处理能力高于所述备选机器集群中其它机器集群的处理能力。
图5为本发明实施例还提供一种基于分布式批量处理***的处理装置,所述装置包括:
接收模块501,用于接收控制装置发送的任务处理指令,所述任务处理指令中包括第一机器集群的标识和待处理任务;
发送模块502,用于根据所述第一机器集群的标识,将所述待处理任务发送给所述第一机器集群中的第一服务器;所述第一服务器为第一机器集群中的任一服务器。
从上述内容可以看出:本发明的上述实施例中,基于分布式批量处理***的处理方法可以应用于第一机器集群中的第一服务器,第一机器集群中还包括P个第二服务器;第一服务器接收到路由装置发送的待处理任务后,可以将待处理任务划分为N个子任务,并可以将N个子任务分配给P个第二服务器;进一步地,第一服务器可以获取待处理任务的执行结果,并向控制装置发送待处理任务的执行结果,其中,待处理任务的执行结果是根据P个第二服务器对N个子任务的执行结果生成的,N、P均为正整数,N≥P。本发明实施例中,通过将待处理任务划分为N个子任务,且使用P个第二服务器分别处理N个子任务,可以降低处理待处理任务所耗费的时间,提高批量处理作业的处理效率;也就是说,通过基于任务分片的方式完成批量处理作业,可以提高分布式批量处理***的水平扩容能力;且,若待处理任务的数据量较大,则可以通过增加第二服务器的数量的方式完成对数据量较大的待处理任务的处理,从而可以提高分布式批量处理***的高可用性。
下面基于图2所示意的基于分布式批量处理***的处理方法描述图1所示意的分布式批量处理***中各装置的具体实施过程。
具体实施中,所述控制装置110可以获取待处理任务,并可以根据所述控制装置中存储的预设映射表,确定所述待处理任务对应的所述至少一个机器集群中的第一机器集群,进而可以将所述待处理任务和所述第一机器集群的标识发送给路由装置120。
相应地,所述路由装置120可以将所述待处理任务发送给所述第一机器集群中的第一服务器,所述第一服务器为所述机器集群中的任一服务器;
进一步地,所述第一服务器可以对所述待处理任务进行分片,并将所述待处理任务对应的多个分片发送给所述第一机器集群中除所述第一服务器以外的一个或多个第二服务器;以及,获取所述一个或多个第二服务器处理所述多个分片后得到的所述待处理任务的处理结果,并将所述待处理任务的处理结果发送给所述控制装置110。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如图2或图2任一项所述的基于分布式批量处理***的处理方法。
基于同一发明构思,本发明实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行如图2或图2任一项所述的基于分布式批量处理***的处理方法。
基于相同的技术构思,本发明实施例提供了一种终端设备,如图6所示,包括至少一个处理器1101,以及与至少一个处理器连接的存储器1102,本发明实施例中不限定处理器1101与存储器1102之间的具体连接介质,图6中处理器1101和存储器1102之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器1102存储有可被至少一个处理器1101执行的指令,至少一个处理器1101通过执行存储器1102存储的指令,可以执行前述的基于分布式批量处理***的处理方法中所包括的步骤。
其中,处理器1101是终端设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器1102内的指令以及调用存储在存储器1102内的数据,从而实现数据处理。可选的,处理器1101可包括一个或多个处理单元,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理运维人员下发的指令。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。在一些实施例中,处理器1101和存储器1102可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1101可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于分布式批量处理***的处理方法的实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1102作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1102可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1102是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器1102还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例提供了一种后端设备,如图7所示,包括至少一个处理器1201,以及与至少一个处理器连接的存储器1202,本发明实施例中不限定处理器1201与存储器1202之间的具体连接介质,图7中处理器1201和存储器1202之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器1202存储有可被至少一个处理器1201执行的指令,至少一个处理器1201通过执行存储器1202存储的指令,可以执行前述的基于分布式批量处理***的处理方法中所包括的步骤。
其中,处理器1201是后端设备的控制中心,可以利用各种接口和线路连接后端设备的各个部分,通过运行或执行存储在存储器1202内的指令以及调用存储在存储器1202内的数据,从而实现数据处理。可选的,处理器1201可包括一个或多个处理单元,处理器1201可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、应用程序等,调制解调处理器主要对接收到的指令进行解析以及对接收到的结果进行解析。可以理解的是,上述调制解调处理器也可以不集成到处理器1201中。在一些实施例中,处理器1201和存储器1202可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1201可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于分布式批量处理***的处理方法的实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1202可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1202是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器1202还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (21)
1.一种基于分布式批量处理***的处理方法,其特征在于,所述方法应用于第一机器集群中的第一服务器,所述第一机器集群中还包括P个第二服务器;所述方法包括:
所述第一服务器接收到路由装置发送的待处理任务后,将所述待处理任务划分为N个子任务,并将所述N个子任务分配给所述P个第二服务器;
所述第一服务器获取所述待处理任务的执行结果,并向控制装置发送所述待处理任务的执行结果;所述待处理任务的执行结果是根据所述P个第二服务器对所述N个子任务的执行结果生成的,N、P均为正整数,N≥P。
2.根据权利要求1所述的方法,其特征在于,所述待处理任务的执行结果是根据所述P个第二服务器对所述N个子任务的执行结果生成的,包括:
所述第一服务器根据所述N个子任务的执行结果,得到第一执行结果;
若所述待处理任务对应两个执行流程,则第一执行结果为首个执行流程的执行结果,所述第一服务器根据所述首个执行流程的执行结果执行第二执行流程,得到所述待处理任务对应的执行结果;若所述待处理任务对应一个执行流程,则所述第一执行结果为所述待处理任务对应的执行结果。
3.根据权利要求2所述的方法,其特征在于,所述待处理任务包括预设数据库中存储的M条数据;
所述第一服务器将所述待处理任务划分为N个子任务之前,还包括:
若所述M条数据的数据量大于预设阈值,则所述第一服务器将所述M条数据划分为T个数据区间,第1个至第T-1个数据区间包括L条数据,第T个数据区间包括K条数据;M、T、L、K均为正整数,M≥L≥K;
所述第一服务器依次将第1个至第T个数据区间包括的数据分别存入所述第一服务器的第一至第T内存空间中,并记录所述第一至第T内存空间的标识;
所述第一服务器将所述待处理任务划分为N个子任务,包括:
所述第一服务器基于所述第一至第T内存空间的标识,将所述第一至第T内存空间中包括的M条数据划分为N个子任务。
4.根据权利要求3所述的方法,其特征在于,所述第一服务器根据所述N个子任务的执行结果,得到第一执行结果,包括:
所述第一服务器根据所述N个子任务的执行结果,更新所述预设数据库中存储的M条数据的执行结果,得到所述第一执行结果,所述第一执行结果包括所述M条数据的执行结果。
5.根据权利要求2所述的方法,其特征在于,所述待处理任务为文件;
所述第一服务器根据所述N个子任务的执行结果,得到第一执行结果,包括:所述第一服务器将所述N个子任务的执行结果进行合并,得到所述第一执行结果。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
所述第一服务器若确定分配给所述P个第二服务器的任一第二服务器的子任务出现异常执行事件,则记录所述N个子任务当前的执行状态;
若所述异常执行事件为乐观锁异常事件,则所述第一服务器控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为程序异常事件,则所述第一服务器等待程序更新后,控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为第Y个第二服务器异常事件,则所述第一服务器将所述待处理任务划分为Q个子任务,并将所述Q个子任务分配给除所述第Y个第二服务器以外的W个第二服务器,以使所述W个第二服务器根据所述N个子任务的执行状态执行所述Q个子任务;其中,Y、Q、W均为正整数,Q≥W,P≥Y。
7.一种基于分布式批量处理***的数据处理方法,其特征在于,所述方法包括:
控制装置获取待处理任务,并确定所述待处理任务对应的第一机器集群;
所述控制装置向路由装置发送任务处理指令,所述任务处理指令包括所述待处理任务和所述第一机器集群的标识。
8.根据权利要求7所述的方法,其特征在于,所述控制装置确定所述待处理任务对应的第一机器集群,包括:
所述控制装置根据所述待处理任务的任务类型以及预设对应规则,确定所述待处理任务对应的一个或多个备选机器集群;所述预设对应规则用于指示多个任务类型和机器集群的对应关系,所述多个任务类型包括所述待处理任务的任务类型;
所述控制装置从所述一个或多个备选机器集群中选择所述第一机器集群,所述第一机器集群的处理能力高于所述备选机器集群中其它机器集群的处理能力。
9.一种基于分布式批量处理***的处理方法,其特征在于,所述方法包括:
路由装置接收控制装置发送的任务处理指令,所述任务处理指令中包括第一机器集群的标识和待处理任务;
所述路由装置根据所述第一机器集群的标识,将所述待处理任务发送给所述第一机器集群中的第一服务器;所述第一服务器为第一机器集群中的任一服务器。
10.一种基于分布式批量处理***的处理装置,其特征在于,所述装置为第一机器集群中的第一服务器,所述第一机器集群中还包括P个第二服务器;所述第一服务器包括:
划分模块,用于接收到路由装置发送的待处理任务后,将所述待处理任务划分为N个子任务,并将所述N个子任务分配给所述P个第二服务器;
处理模块,用于获取所述待处理任务的执行结果,并向控制装置发送所述待处理任务的执行结果;所述待处理任务的执行结果是根据所述P个第二服务器对所述N个子任务的执行结果生成的,N、P均为正整数,N≥P。
11.根据权利要求10所述的装置,其特征在于,所述处理模块用于:
根据所述N个子任务的执行结果,得到第一执行结果;
若所述待处理任务对应两个执行流程,则第一执行结果为首个执行流程的执行结果,根据所述首个执行流程的执行结果执行第二执行流程,得到所述待处理任务对应的执行结果;若所述待处理任务对应一个执行流程,则所述第一执行结果为所述待处理任务对应的执行结果。
12.根据权利要求11所述的装置,其特征在于,所述待处理任务包括预设数据库中存储的M条数据;
所述划分模块将所述待处理任务划分为N个子任务之前,还用于:
若所述M条数据的数据量大于预设阈值,则将所述M条数据划分为T个数据区间,第1个至第T-1个数据区间包括L条数据,第T个数据区间包括K条数据;M、T、L、K均为正整数,M≥L≥K;
依次将第1个至第T个数据区间包括的数据分别存入所述第一服务器的第一至第T内存空间中,并记录所述第一至第T内存空间的标识;
所述划分模块用于:
所述第一服务器基于所述第一至第T内存空间的标识,将所述第一至第T内存空间中包括的M条数据划分为N个子任务。
13.根据权利要求12所述的装置,其特征在于,所述处理模块用于:
根据所述N个子任务的执行结果,更新所述预设数据库中存储的M条数据的执行结果,得到所述第一执行结果,所述第一执行结果包括所述M条数据的执行结果。
14.根据权利要求11所述的装置,其特征在于,所述待处理任务为文件;
所述处理模块用于:将所述N个子任务的执行结果进行合并,得到所述第一执行结果。
15.根据权利要求10至14中任一项所述的装置,其特征在于,所述处理模块还用于:
若确定分配给所述P个第二服务器的任一第二服务器的子任务出现异常执行事件,则记录所述N个子任务当前的执行状态;
若所述异常执行事件为乐观锁异常事件,则控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为程序异常事件,则等待程序更新后,控制所述P个第二服务器根据所述N个子任务的执行状态执行所述N个子任务;若所述异常执行事件为第Y个第二服务器异常事件,则将所述待处理任务划分为Q个子任务,并将所述Q个子任务分配给除所述第Y个第二服务器以外的W个第二服务器,以使所述W个第二服务器根据所述N个子任务的执行状态执行所述Q个子任务;其中,Y、Q、W均为正整数,Q≥W,P≥Y。
16.一种基于分布式批量处理***的处理装置,其特征在于,所述装置包括:
确定模块,用于获取待处理任务,并确定所述待处理任务对应的第一机器集群;
收发模块,用于向路由装置发送任务处理指令,所述任务处理指令包括所述待处理任务和所述第一机器集群的标识。
17.根据权利要求16所述的装置,其特征在于,所述确定模块用于:
根据所述待处理任务的任务类型以及预设对应规则,确定所述待处理任务对应的一个或多个备选机器集群;所述预设对应规则用于指示多个任务类型和机器集群的对应关系,所述多个任务类型包括所述待处理任务的任务类型;
从所述一个或多个备选机器集群中选择所述第一机器集群,所述第一机器集群的处理能力高于所述备选机器集群中其它机器集群的处理能力。
18.一种基于分布式批量处理***的处理装置,其特征在于,所述装置包括:
接收模块,用于接收控制装置发送的任务处理指令,所述任务处理指令中包括第一机器集群的标识和待处理任务;
发送模块,用于根据所述第一机器集群的标识,将所述待处理任务发送给所述第一机器集群中的第一服务器;所述第一服务器为第一机器集群中的任一服务器。
19.一种分布式批量处理***,其特征在于,所述***包括控制装置、路由装置和至少一个机器集群,每个机器集群中设置有多个服务器;
所述控制装置,用于获取待处理任务,并根据所述控制装置中存储的预设映射表,确定所述待处理任务对应的所述至少一个机器集群中的第一机器集群,将所述待处理任务和所述第一机器集群的标识发送给路由装置;
所述路由装置,用于将所述待处理任务发送给所述第一机器集群中的第一服务器,所述第一服务器为所述机器集群中的任一服务器;
所述第一服务器,用于对所述待处理任务进行分片,并将所述待处理任务对应的多个分片发送给所述第一机器集群中除所述第一服务器以外的一个或多个第二服务器;以及,获取所述一个或多个第二服务器处理所述多个分片后得到的所述待处理任务的处理结果,并将所述待处理任务的处理结果发送给所述控制装置。
20.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至9任一项所述的方法。
21.一种计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至9任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910306744.9A CN110113387A (zh) | 2019-04-17 | 2019-04-17 | 一种基于分布式批量处理***的处理方法、装置及*** |
PCT/CN2020/079359 WO2020211579A1 (zh) | 2019-04-17 | 2020-03-13 | 一种基于分布式批量处理***的处理方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910306744.9A CN110113387A (zh) | 2019-04-17 | 2019-04-17 | 一种基于分布式批量处理***的处理方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110113387A true CN110113387A (zh) | 2019-08-09 |
Family
ID=67485636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910306744.9A Pending CN110113387A (zh) | 2019-04-17 | 2019-04-17 | 一种基于分布式批量处理***的处理方法、装置及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110113387A (zh) |
WO (1) | WO2020211579A1 (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515718A (zh) * | 2019-08-30 | 2019-11-29 | 深圳前海微众银行股份有限公司 | 批量任务断点续作方法、装置、设备及介质 |
CN110673959A (zh) * | 2019-10-14 | 2020-01-10 | 京东数字科技控股有限公司 | 用于处理任务的***、方法和装置 |
CN110737535A (zh) * | 2019-09-09 | 2020-01-31 | 平安证券股份有限公司 | 基于消息队列的数据处理方法、装置和计算机设备 |
CN111008073A (zh) * | 2019-11-22 | 2020-04-14 | 珠海格力电器股份有限公司 | 一种数据处理方法及装置 |
CN111176844A (zh) * | 2019-12-24 | 2020-05-19 | 天阳宏业科技股份有限公司 | 一种金融数据实时在线批量优化方法及*** |
CN111240848A (zh) * | 2020-02-14 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种任务分配处理方法及*** |
CN111274019A (zh) * | 2019-12-31 | 2020-06-12 | 深圳云天励飞技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN111400330A (zh) * | 2020-03-13 | 2020-07-10 | 深圳前海微众银行股份有限公司 | 任务处理方法、装置、设备及计算机可读存储介质 |
WO2020211579A1 (zh) * | 2019-04-17 | 2020-10-22 | 深圳前海微众银行股份有限公司 | 一种基于分布式批量处理***的处理方法、装置及*** |
CN112527471A (zh) * | 2019-09-19 | 2021-03-19 | 中移(苏州)软件技术有限公司 | 任务处理方法及其装置、存储介质 |
CN112541041A (zh) * | 2020-12-23 | 2021-03-23 | 平安普惠企业管理有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN113037839A (zh) * | 2021-03-08 | 2021-06-25 | 中国工商银行股份有限公司 | 一种分布式批量框架通讯***及方法 |
CN113391814A (zh) * | 2021-06-02 | 2021-09-14 | 中电金信软件有限公司 | 任务处理方法、装置、***及存储介质 |
CN113407429A (zh) * | 2021-06-23 | 2021-09-17 | 中国建设银行股份有限公司 | 一种任务处理方法和装置 |
CN113656180A (zh) * | 2021-08-19 | 2021-11-16 | 中国银行股份有限公司 | 单元化架构下批量处理文件的***、方法及相关产品 |
CN113760520A (zh) * | 2020-07-09 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 任务处理方法和装置 |
CN113962229A (zh) * | 2021-09-27 | 2022-01-21 | 北京百度网讯科技有限公司 | 异步翻译***、方法、设备和存储介质 |
WO2023165484A1 (zh) * | 2022-03-04 | 2023-09-07 | 阿里巴巴(中国)有限公司 | 一种分布式任务的处理方法、分布式***及第一设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010306A (zh) * | 2021-02-24 | 2021-06-22 | 金蝶软件(中国)有限公司 | 业务数据处理方法、装置、计算机设备和存储介质 |
CN118093147A (zh) * | 2024-04-29 | 2024-05-28 | 浙江农商数字科技有限责任公司 | 一种基于任务链和分治法的海量数据汇总方法及*** |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276364A (zh) * | 2007-03-30 | 2008-10-01 | 阿里巴巴公司 | 一种分布式计算数据合并方法、***及其装置 |
US20110179100A1 (en) * | 2010-01-21 | 2011-07-21 | Hitachi, Ltd. | Parallel distributed processing method and computer system |
CN107301473A (zh) * | 2017-06-12 | 2017-10-27 | 合肥工业大学 | 基于改进遗传算法的同类平行机批调度方法及*** |
CN107508901A (zh) * | 2017-09-04 | 2017-12-22 | 北京京东尚科信息技术有限公司 | 分布式数据处理方法、装置、服务器和*** |
CN107688500A (zh) * | 2017-07-26 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种分布式任务处理方法、装置、***及设备 |
CN108566408A (zh) * | 2018-01-18 | 2018-09-21 | 咪咕文化科技有限公司 | 一种业务处理方法、装置及存储介质 |
CN108958920A (zh) * | 2018-07-13 | 2018-12-07 | 众安在线财产保险股份有限公司 | 一种分布式任务调度方法及*** |
CN109254842A (zh) * | 2017-07-12 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 分布式流式***的资源管理方法、装置及可读存储介质 |
CN109343939A (zh) * | 2018-07-31 | 2019-02-15 | 国家电网有限公司 | 一种分布式集群及并行计算任务调度方法 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9535765B1 (en) * | 2011-03-28 | 2017-01-03 | Google Inc. | Opportunistic job Processing of input data divided into partitions of different sizes |
CN110113387A (zh) * | 2019-04-17 | 2019-08-09 | 深圳前海微众银行股份有限公司 | 一种基于分布式批量处理***的处理方法、装置及*** |
-
2019
- 2019-04-17 CN CN201910306744.9A patent/CN110113387A/zh active Pending
-
2020
- 2020-03-13 WO PCT/CN2020/079359 patent/WO2020211579A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276364A (zh) * | 2007-03-30 | 2008-10-01 | 阿里巴巴公司 | 一种分布式计算数据合并方法、***及其装置 |
US20110179100A1 (en) * | 2010-01-21 | 2011-07-21 | Hitachi, Ltd. | Parallel distributed processing method and computer system |
CN107301473A (zh) * | 2017-06-12 | 2017-10-27 | 合肥工业大学 | 基于改进遗传算法的同类平行机批调度方法及*** |
CN109254842A (zh) * | 2017-07-12 | 2019-01-22 | 腾讯科技(深圳)有限公司 | 分布式流式***的资源管理方法、装置及可读存储介质 |
CN107688500A (zh) * | 2017-07-26 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种分布式任务处理方法、装置、***及设备 |
CN107508901A (zh) * | 2017-09-04 | 2017-12-22 | 北京京东尚科信息技术有限公司 | 分布式数据处理方法、装置、服务器和*** |
CN108566408A (zh) * | 2018-01-18 | 2018-09-21 | 咪咕文化科技有限公司 | 一种业务处理方法、装置及存储介质 |
CN108958920A (zh) * | 2018-07-13 | 2018-12-07 | 众安在线财产保险股份有限公司 | 一种分布式任务调度方法及*** |
CN109343939A (zh) * | 2018-07-31 | 2019-02-15 | 国家电网有限公司 | 一种分布式集群及并行计算任务调度方法 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘高辉: ""基于Hadoop的海量视频数据分布式处理研究"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211579A1 (zh) * | 2019-04-17 | 2020-10-22 | 深圳前海微众银行股份有限公司 | 一种基于分布式批量处理***的处理方法、装置及*** |
CN110515718A (zh) * | 2019-08-30 | 2019-11-29 | 深圳前海微众银行股份有限公司 | 批量任务断点续作方法、装置、设备及介质 |
CN110737535A (zh) * | 2019-09-09 | 2020-01-31 | 平安证券股份有限公司 | 基于消息队列的数据处理方法、装置和计算机设备 |
CN110737535B (zh) * | 2019-09-09 | 2023-02-07 | 平安证券股份有限公司 | 基于消息队列的数据处理方法、装置和计算机设备 |
CN112527471A (zh) * | 2019-09-19 | 2021-03-19 | 中移(苏州)软件技术有限公司 | 任务处理方法及其装置、存储介质 |
CN110673959A (zh) * | 2019-10-14 | 2020-01-10 | 京东数字科技控股有限公司 | 用于处理任务的***、方法和装置 |
CN111008073A (zh) * | 2019-11-22 | 2020-04-14 | 珠海格力电器股份有限公司 | 一种数据处理方法及装置 |
CN111176844A (zh) * | 2019-12-24 | 2020-05-19 | 天阳宏业科技股份有限公司 | 一种金融数据实时在线批量优化方法及*** |
CN111274019A (zh) * | 2019-12-31 | 2020-06-12 | 深圳云天励飞技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN111240848A (zh) * | 2020-02-14 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种任务分配处理方法及*** |
CN111400330A (zh) * | 2020-03-13 | 2020-07-10 | 深圳前海微众银行股份有限公司 | 任务处理方法、装置、设备及计算机可读存储介质 |
CN111400330B (zh) * | 2020-03-13 | 2024-04-09 | 深圳前海微众银行股份有限公司 | 任务处理方法、装置、设备及计算机可读存储介质 |
CN113760520A (zh) * | 2020-07-09 | 2021-12-07 | 西安京迅递供应链科技有限公司 | 任务处理方法和装置 |
CN112541041A (zh) * | 2020-12-23 | 2021-03-23 | 平安普惠企业管理有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN113037839B (zh) * | 2021-03-08 | 2022-11-29 | 中国工商银行股份有限公司 | 一种分布式批量框架通讯***及方法 |
CN113037839A (zh) * | 2021-03-08 | 2021-06-25 | 中国工商银行股份有限公司 | 一种分布式批量框架通讯***及方法 |
CN113391814A (zh) * | 2021-06-02 | 2021-09-14 | 中电金信软件有限公司 | 任务处理方法、装置、***及存储介质 |
CN113407429A (zh) * | 2021-06-23 | 2021-09-17 | 中国建设银行股份有限公司 | 一种任务处理方法和装置 |
CN113656180A (zh) * | 2021-08-19 | 2021-11-16 | 中国银行股份有限公司 | 单元化架构下批量处理文件的***、方法及相关产品 |
CN113962229A (zh) * | 2021-09-27 | 2022-01-21 | 北京百度网讯科技有限公司 | 异步翻译***、方法、设备和存储介质 |
WO2023165484A1 (zh) * | 2022-03-04 | 2023-09-07 | 阿里巴巴(中国)有限公司 | 一种分布式任务的处理方法、分布式***及第一设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020211579A1 (zh) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110113387A (zh) | 一种基于分布式批量处理***的处理方法、装置及*** | |
CN104657220B (zh) | 混合云中基于截止时间和费用约束的调度模型及方法 | |
DE69429204T2 (de) | Ablaufssteuerungsverfahren und -gerät für ein Kommunikationsnetzwerk | |
CN110333937A (zh) | 任务分发方法、装置、计算机设备和存储介质 | |
US20070300239A1 (en) | Dynamic application instance placement in data center environments | |
CN109445944A (zh) | 一种基于dpdk的网络数据采集处理***及其方法 | |
CN109471705A (zh) | 任务调度的方法、设备及***、计算机设备 | |
CN102282543A (zh) | 信息处理装置和信息处理方法 | |
CN102681889A (zh) | 一种云计算开放平台的调度方法 | |
CN110018892A (zh) | 基于线程资源的任务处理方法及相关装置 | |
CN111160873A (zh) | 基于分布式架构的跑批处理装置及方法 | |
CN110458468A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN106598735A (zh) | 一种分布式计算方法、主控节点、计算节点和*** | |
CN104820616B (zh) | 一种任务调度的方法及装置 | |
CN109445921A (zh) | 一种分布式数据任务处理方法及装置 | |
CN107870763A (zh) | 用于创建海量数据实时分拣***的方法及其装置 | |
CN108874738A (zh) | 分布式并行运算方法、装置、计算机设备及存储介质 | |
CN104794239A (zh) | 一种云平台数据处理方法 | |
CN109189578A (zh) | 存储服务器分配方法、装置、管理服务器以及存储*** | |
CN106502790A (zh) | 一种基于数据分布的任务分配优化方法 | |
CN113626173B (zh) | 调度方法、装置及存储介质 | |
AlOrbani et al. | Load balancing and resource allocation in smart cities using reinforcement learning | |
Li et al. | Topology-aware scheduling framework for microservice applications in cloud | |
CN112306642B (zh) | 一种基于稳定匹配博弈理论的工作流调度方法 | |
CN109284190A (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: 20190809 |