CN107291720A - 一种实现批量数据处理的方法、系统和计算机集群 - Google Patents

一种实现批量数据处理的方法、系统和计算机集群 Download PDF

Info

Publication number
CN107291720A
CN107291720A CN201610195313.6A CN201610195313A CN107291720A CN 107291720 A CN107291720 A CN 107291720A CN 201610195313 A CN201610195313 A CN 201610195313A CN 107291720 A CN107291720 A CN 107291720A
Authority
CN
China
Prior art keywords
data
processing
task
dimension
concurrently
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610195313.6A
Other languages
English (en)
Other versions
CN107291720B (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610195313.6A priority Critical patent/CN107291720B/zh
Publication of CN107291720A publication Critical patent/CN107291720A/zh
Application granted granted Critical
Publication of CN107291720B publication Critical patent/CN107291720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种实现批量数据处理的方法、系统和计算机集群。所述方法包括:基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;捞取所述处理任务表中的待处理任务;处理所述捞取到的待处理任务所对应的原始数据表中的数据。利用本申请实施例,可以实现批量数据处理过程的精细化管理和控制。

Description

一种实现批量数据处理的方法、系统和计算机集群
技术领域
本申请涉及计算机网络技术领域,尤其涉及一种实现批量数据处理的方法、系统和计算机集群。
背景技术
大型系统中产生海量的数据,往往需要根据业务需求或系统需要对这些海量数据进行批量处理。例如,目前互联网交易平台每天产生的业务流水量达上亿级。出于业务需要,要对这些业务流水中的数据进行处理。例如对于互联网交易平台中的对账系统,其是提供第三方支付备付金账户与对应实际银行账户对账能力的核心系统,主要能力之一是核对入账流水和清算流水。所述入账流水包括第三方支付公司业务产生资金流水。所述清算流水包括银行或清算机构产生的业务单据资金流水。
如前述例子,对账系统需要将大量三方支付流水(入账流水)和对应的银行交易流水(清算流水)进行资金核对。现有技术中,这些流水按照银行一般分布在n张表中,例如按照涉及的银行分布在不同的表中:
表1
账号 银行 业务维度1 业务维度2
A0001 银行1
A0002 银行1
表2:
账号 银行 业务维度1 业务维度2
B0001 银行2
B0002 银行2
表n(略)
按照一行为一条数据来算,表1、表2…表n各有成百上千万条的数据。例如表1有3000万条数据,表2有1000万条数据。所有表之和总计可能达到上亿级的数据。
现有技术中,需要对每个表涉及的业务流水数据进行核对。为了提供高效的核对,可以采用分布式集群进行计算。以表1为例,在采用分布式集群部署应用的场景下,对表1的处理由分布式集群中所有服务器进行计算而实现。为了将表1中的数据由分布式集群中所有服务器进行计算,一般需要对表1进行分表。分表是指将同一张表的数据拆分为多张同样结构的表,较常采用的是一种水平分表方式。具体的,可采用hash散列,账号取模(如a mod p,a为账号数值化)等方式基于表中的某一维度对表进行拆分。目前常用的分表方式按照表中某个字段最后几位数字来划分,这样数据拆分的结果也较为均匀。
例如对表1按照账号的数字部分取模后的结果对核对任务进行分配。如对3取模的结果0,1,2(除以3所得余数)来分配为3个分表,以将3个分表分别交由分布式集群中的3个服务器进行计算。具体如下:
表1-分表1:
账号 银行 业务维度1 业务维度2
A0003 银行1
A0006 银行1
表1-分表2:
账号 银行 业务维度1 业务维度2
A0001 银行1
A0004 银行1
表1-分表3:
账号 银行 业务维度1 业务维度2
A0002 银行1
A0005 银行1
现有技术中的这种用单一维度(如上述例子中的账号)进行任务分配,分配后的分表仍然较大,每个任务在服务器处理过程中仍需要占用较大的资源。如果有排队等候的其它核对任务,即使该排队等候的任务数据量较小,也仍然需要等待当前较大数据的较长时间的核对过程完成后才能进行。这样,现有技术的这种实现批量数据处理的方法不能实现精细化的管理和控制。
发明内容
本申请实施例的目的是提供一种实现批量数据处理的方法、系统和计算机集群,以实现精细化的管理和控制。
为解决上述技术问题,本申请实施例是这样实现的:
一种实现批量数据处理的方法,包括:
基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
捞取所述处理任务表中的待处理任务;
处理所述捞取到的待处理任务所对应的原始数据表中的数据。
一种实现批量数据处理的方法,包括:
基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
选择所述维度中的一个,并基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量;
在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务;
处理所述捞取到的待处理任务所对应的原始数据表中的数据。
一种实现批量数据处理的系统,包括数据库和计算机集群,其中:
所述数据库基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
所述计算机集群捞取所述处理任务表中的待处理任务,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
一种实现批量数据处理的计算机集群,所述计算机集群中的任一服务器包括:
任务建立单元,基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
捞取单元,用于捞取所述处理任务表中的待处理任务;
处理单元,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
一种实现批量数据处理的系统,包括数据库和计算机集群,其中:
所述数据库基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;选择所述维度中的一个,并基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量;
所述计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务;
所述计算机集群处理所述捞取到的待处理任务所对应的原始数据表中的数据。
一种实现批量数据处理的方法,包括:
选择海量数据的原始数据表中一个维度,并基于所选择的维度建立处理任务表;
基于所选择维度中不同值对应数据的量设置任务的并发捞取数量;
在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务;
处理所述捞取到的待处理任务所对应的原始数据表中的数据。
一种实现批量数据处理的系统,包括数据库和计算机集群,其中:
所述数据库选择海量数据的原始数据表中一个维度,并基于所选择的维度建立处理任务表;基于所选择维度中不同值对应数据的量设置任务的并发捞取数量;
所述计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
由以上本申请实施例提供的技术方案可见,基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表,可以控制数据处理的分表的大小,从而可以灵活地控制核对量级。较小数据量的数据处理表,可以实现批量数据处理过程的精细化的管理和控制。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实现批量数据处理的方法实施例的流程图;
图2为本申请一种数据库资源占用比例随时间变化的示意图;
图3为本申请一实现批量数据处理的方法实施例的流程图;
图4为本申请一种数据库资源占用比例随时间变化的示意图;
图5为本申请一实现批量数据处理的系统实施例的结构图;
图6为本申请一实现批量数据处理的计算机集群实施例的结构图;
图7为本申请一实现批量数据处理的方法实施例的流程图。
具体实施方式
本申请实施例提供一种实现批量数据处理的方法、系统和计算机集群。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供一种实现批量数据处理的方法,如图1所示,包括:
S110:基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表。
仍以前述对账系统需要将大量三方支付流水和对应的银行交易流水进行资金核对的例子为例进行说明。设某一银行(银行1)的海量数据的原始数据表如下所示:
表X:原始数据表
账号 银行 银行渠道(业务维度1) 业务维度2
A0001 银行1 A_1(充值)
A0002 银行1 A_2(提现)
A0003 银行1 A_1(充值)
例如表X有3000万条数据。上表X中,账号这一维度,例如末尾为若干位数字。此外,例如还存在一个业务维度,如为银行渠道。所述银行渠道一般表示清算银行面向第三方支付公司某个业务提供的资金接口,例如充值、提现等,通过银行渠道进行区分。
并且,所述至少两个不相关的维度包括至少两个值随序号变化规律不相同的维度。对于上述例子来说,账号与银行渠道不具有相关性。即表X中账号随序号的变化规律与银行渠道随序号的变化规律并不一致,也不具有相似的规律。
基于上述表X的原始数据,可以其中的账号(第一维度)和银行渠道(第二维度)建立处理任务表。例如对账号数字部分以100取模(账号数字部分除以100的余数)以及银行渠道的种类这两个维度的结合建立处理任务表,如下:
表Y:处理任务表
这样,可以建立处理任务表。其中,处理任务1(RN=1)的为银行渠道为A_1及账号数字部分以10取模(账号数字部分除以10的余数)为0(表Y中显示00)的数据。以此类推。可见,该例子中两个维度分别是账号和银行渠道。
上述给出了两个维度的例子。当然,也可以基于海量数据的原始数据表中三个不相关的维度建立处理任务表,如下表:
表T:处理任务表
这样,可以建立处理任务表,其中,处理任务1(RN=1)的为银行渠道为A_1、账号数字部分以10取模为0,账号类型为借方账号的的数据。以此类推。可见,该例子中三个维度分别是账号、银行渠道和账号类型。当然,还可以包括第四维度,例如将业务分类(包括借记卡、网银、基金等)作为第四维度。此外,还可以包括第五维度、第六维度等等,这里不做限定。需要说明的是,上述账号、银行渠道并不是必须为第一维度和第二维度,也可以将账号和账号类型作为第一维度和第二维度;也可以是将账号、业务分类作为第一维度和第二维度;也可以是将账号类型、业务分类作为第一维度和第二维度;等等。
此外,S110也可以具体如下:
S111:基于海量数据的原始数据表中第一维度建立数据分表。
S112:基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
所述第二维度与第一维度不相关。
本实施例中,如对原始数据表的账号这一维度的数字部分按照以100取模的结果0,1,2,…,99来分配为100个分表:
表X-分表_00:
账号 银行 银行渠道(业务维度1) 业务维度2
A0100 银行1 A_1
A0200 银行1 A_2
表X-分表_01:
账号 银行 银行渠道(业务维度1) 业务维度2
A0001 银行1 A_1
A0101 银行1 A_2
表X-分表_02:
账号 银行 银行渠道(业务维度1) 业务维度2
A0002 银行1 A_1
A0102 银行1 A_2
……
表X-分表_99:
账号 银行 银行渠道(业务维度1) 业务维度2
A0099 银行1 A_2
A0199 银行1 A_1
其中,分表后缀例如为以表X按照账号的数字部分取模后的结果对核对任务进行分配。
进而,基于上述表X的各分表,可以根据所述原始数据表中的第二维度建立处理任务表。例如在上述表X-分表_00,表X-分表_01,表X-分表_02,…,表X-分表_99的基础之上,可以基于银行渠道这一业务维度账号建立处理任务表——表Z,如下:
表Z:处理任务表
上述例子中的两个维度,即账号与银行渠道不具有相关性,即账号随序号的变化规律与银行渠道随序号的变化规律并不一致,也不具有相似的规律。这样,表Y与Z中每一行的任务分配对应原始数据表中的数据将会大幅缩小。
如上方式创建处理任务,可以控制数据处理的分表的大小,从而可以灵活地控制核对量级。较小数据量的数据处理表,可以实现批量数据处理过程的精细化的管理和控制。
S120:捞取所述处理任务表中的待处理任务。
计算机集群中的服务器可以捞取所述处理任务表中的待处理任务,从而各服务器可以捞取到待处理任务。例如计算机集群中的某服务器捞取到所述处理任务表中的待处理任务的序号为RN=1,即对应后缀为00的分表中银行渠道为A_1的所有流水。该数据量将会大幅降低。
计算机集群中的各服务器可以并发方式捞取所述处理任务表中的待处理任务,从而各服务器可以捞取到待处理任务。例如计算机集群中的第一服务器捞取到所述处理任务表中的待处理任务的序号为RN=2,即对应后缀为01的分表中银行渠道为A_1的所有流水;计算机集群中的第二服务器捞取到所述处理任务表中的待处理任务的序号为RN=3,即对应后缀为02的分表中银行渠道为A_1的所有流水;等等。每一服务器捞取到的每一处理任务所对应的数据量将会大幅降低。
S130:处理所述捞取到的待处理任务所对应的原始数据表中的数据。
计算机集群中的服务器捞取到待处理任务后,进而可以处理所述捞取到的待处理任务所对应的原始数据表中的数据。
本申请上述实施例中,基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表,可以控制数据处理的分表的大小,从而可以灵活地控制核对量级。较小数据量的数据处理表,可以实现批量数据处理过程的精细化的管理和控制。
S120中,当计算机集群中的两个服务器并发捞取时捞取到同一条RN的核对任务,则S130中,先捞取到核对任务可以先执行数据处理,这里即核对数据。而后捞取到的可以放弃捞取到的任务,并再次进行捞取。可以在预定时间间隔之后进行下次捞取。这种分布式分发调用捞取核对任务的方式,可以充分利用每台服务器来达到尽可能快速地核对的目的。
所述原始数据表和处理任务表可以存储于数据库中。具体的,同一银行的原始数据表和处理任务表可以存储于同一数据库中。对于数据库来说,可以设置并发访问数量,以控制数据访问给数据库带来的负荷压力。例如,银行1的原始数据表和如S110建立的处理任务表可以存储于数据库1中,银行2的原始数据表和如S110建立的处理任务表可以存储于数据库2中。
此外,所述处理任务表也可以是存储于计算机集群中。
S120和S130中可以利用计算机集群中的分布式分发调功能来捞取和处理。在部署分布式集群的场景下,例如数据处理任务需要整个计算机集群中所有服务器进行计算,那么该计算机集群中的某个服务器收到一条调用指令时,该服务器可以将该指令分发到集群中各个服务器上,进而各服务器并发处理任务。一般这种策略适合集群批量数据处理。
上述的例子中,表X有3000万条数据。如果按照现有技术的处理方式,可能每个分表的数量达30万条,即每一处理任务包括30万条数据的核对。而按照本申请实施例的方式,由于在账号的基础上还引入了业务渠道,该业务渠道例如有3种取值,且假设这3种业务渠道取值对应的数据数量近似,则以账号和业务渠道这两个维度创建处理任务表后,每一处理任务包括的数据可以降低到约10万条左右,即单表核对量级为10w。这样,通过降低单表的数据量,可以降低访问数据库带来的资源消耗,实现精细化的管理和控制。
进一步的,为了控制S130的处理速度,可以对数据库允许的访问并发数进行限制。例如,数据库1中存储的银行1的原始数据表每天的流水量级较大,则可以将数据库1的并发数调高,从而加快处理速度。调高所述并发数后,不可避免的会加重数据库的资源负担,从而加重负荷。例如,在某些对数据库压力较大时间段(如双11大促活动等)会占用较多的计算资源。这时,可以调低并发数,从而保证其他正常业务不受影响。这样,通过引入数据库的并发数调整,可以灵活地控制在不同场景下处理数据对数据库计算性能带来的影响。
例如数据库1的捞取并发数初始时设置10,计算机集群中的某一服务器或某些服务器接收到捞取指令后,这一服务器或这些服务器可以最多10个并发去数据库1捞取RN=x的任务,这里x的取值为从1到10,也就是一个并发对应一条任务记录。如果数据库1的捞取并发数初始时设置10,计算机集群中的3台服务器接收到捞取指令后,这3台服务器可以最多共10个并发去数据库1捞取RN=x的任务,这里x的取值为从1到10,例如服务器1产生3个向数据库1发起的捞取请求,服务器2产生5个向数据库1发起的捞取请求,服务器3产生2个向数据库1发起的捞取请求。为了控制对数据库1中数据处理的速度,以及调整数据库的负荷压力,可以调高或调低并发数。
上述实施例中,不同维度对应的处理数据量不同,维度对应数据量大的数据在处理时,占用数据库的系统资源较多。具体的,在上面的核对业务流水的例子中,不同业务维度对应的流水量级别不同。业务维度对应的量大的流水在核对时,占用数据库的CPU等系统资源较多。
如上面表X中,假设银行渠道为A_1的数量明显大于为A_2的,这样,在表Y或Z中,RN为1-100中的任一项,其处理任务对应的原始数据表中的数据也明显大于RN为101-200中的任一项。即处理任务表中每一涉及维度A_1的任务对应的原始数据表中的数据量明显大于涉及A_2的。这样,计算机集群在处理数据时,对数据库的访问给服务器带来的资源消耗将基于处理的任务的不同而发生变化。在处理并发数保持不变的情况下,例如保持同时仅允许处理1个任务的情况下,对于处理涉及A_1的数据时数据库的资源占用将较高,对于处理涉及A_2的数据时数据库的资源占用将较低。
图2给出了一个数据库资源占用比例随时间变化的示意图。如图2所示,例如A时刻,数据库存在1个数据任务的处理,这个数据处理任务是关于A_2的数据。由于涉及A_2的数据处理任务中数据量明显少,因此A时刻的数据库系统资源占用比例不高。在B时刻,数据库存在3个数据处理任务,其中1个涉及A_2,2个涉及A_1,此时数据库系统资源占用比例明显提升。在C时刻,数据库存在8个数据处理任务,都是涉及A_2,此时数据库系统资源占用比例达80%。在K时刻,数据库存在6个数据处理任务,都是涉及A_1,此时数据库系统资源占用比例达90%。从C时刻与K时刻数据库系统资源占用比例对比可知,处理一个涉及A_1的任务需要占用的系统资源明显高于处理一个涉及A_2的任务。
核对业务流水的例子中,同样的,处理量大的业务维度对应的流水在核对时对数据库的系统资源的消耗是非常明显的,而其他量小的业务维度对应的流水在核对时,资源消耗比较小。在大促等活动场景时,由于流水数量可能会翻倍,对数据库的系统资源的消耗更为突出。
针对上述问题,本申请实施例还提供一种实现批量数据处理的方法,如图3所示,包括:
S310:基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表。
该步骤与S110类似,不再赘述。
S320:选择所述维度中的一个,并基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量。
仍假设按照前述例子,S310中的两个不相关的维度包括账号数值部分对10取余及银行渠道这一业务维度。这里,选择所述维度中的一个,如前所述,可以选择银行渠道这一业务维度。在上述例子中,银行渠道包括三种取值,如A_1,A_2和A_3。仍例如表X的原始数据表中共有3000万条数据,其中A_1对应的数据量最大,达1800万条,A_2对应的数据量为900万条,A_3对应的数据量为300万条。
可以基于所选择维度中不同值对应数据的量来设置不同值对应任务的并发访问数量。整体来说,可以将所选择维度中取值对应数据量大的设置较大的并发访问数,将所选择维度中取值对应数据量少的设置较少的并发捞取数量。例如,对于数据量最大的A_1来说,可以设置A_1对应任务的并发捞取数量为7;对于数据量较少的A_2来说,可以设置A_2对应任务的并发捞取数量为2;对于数据量最少的A_3来说,A_3对应任务的并发捞取数量为1。
进一步的,可以基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。例如,表X的原始数据表中共有3000万条数据,其中A_1对应的数据量为1800万条,A_2对应的数据量为900万条,A_3对应的数据量为300万条,则可以设置A_1、A_2及A_3对应数据的并发访问数量为分别为6、3、1,即符合三者对应数据量的比例,同时并发访问数量的总和不超过所在数据库所设置的并发数限制。
类似的,所述并发数可以根据限制数据处理的速度及数据库的负载压力的要求调整。
S330:在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务。
计算机集群中的服务器可以并发捞取所述处理任务表中的待处理任务,从而各服务器可以捞取到待处理任务。具体的,计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务。
例如A_1对应任务的并发捞取数量为7,A_2对应任务的并发捞取数量为2,A_3对应任务的并发捞取数量为1。则计算机集群中的服务器捞取银行渠道为A_1的任务最多不超过7条,捞取银行渠道为A_2的任务最多不超过2条,捞取银行渠道为A_3的任务最多不超过1条。
例如基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量,A_1对应任务的并发捞取数量为6,A_2对应任务的并发捞取数量为3,A_3对应任务的并发捞取数量为1。则计算机集群中的服务器捞取银行渠道为A_1的任务最多不超过6条,捞取银行渠道为A_2的任务最多不超过3条,捞取银行渠道为A_3的任务最多不超过1条。
S340:处理所述捞取到的待处理任务所对应的原始数据表中的数据。
计算机集群中的服务器捞取到待处理任务后,进而可以处理所述捞取到的待处理任务所对应的原始数据表中的数据。
本申请上述实施例中,基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表,可以控制数据处理的分表的大小,从而可以灵活地控制核对量级。较小数据量的数据处理表,可以实现批量数据处理过程的精细化的管理和控制。而且,通过所选择的维度中不同值对应数据的量设置任务的并发捞取数量,可以限制并发捞取所述处理任务表中的所选择维度中不同值对应的任务数,进而可以控制数据库资源的消耗,从而降低数据流水产生高峰时间段数据库资源的过高占用。此外,还可以在数据流水产生的低估时间段提高数据库资源的利用率。整体上,图3实施例可以使得数据库资源占用率达到如图4所示的水平,相对于图2,可以达到削峰填谷的作用。
此外,S330中,当计算机集群中的两个服务器并发捞取时捞取到同一条RN的核对任务,则S340中,先捞取到核对任务可以先执行数据处理,这里即核对数据,而后捞取到的可以放弃捞取到的任务,并进行下次捞取。可以在预定时间间隔之后进行下次捞取,即进行下一次捞取。这种分布式分发调用捞取核对任务的方式,可以充分利用每台服务器来达到尽可能快速地核对的目的。
所述原始数据表和处理任务表可以存储于数据库中。具体的,同一银行的原始数据表和处理任务表可以存储于同一数据库中。对于数据库来说,可以设置并发访问数量,以控制数据访问给数据库带来的负荷压力。例如,银行1的原始数据表和如S310建立的处理任务表可以存储于数据库1中,银行2的原始数据表和如S310建立的处理任务表可以存储于数据库2中。
S330和S340中可以利用计算机集群中的分布式分发调功能来捞取和处理。在部署分布式集群的场景下,例如数据处理了任务需要整个计算机集群中所有服务器进行计算,那么在该计算机集群中的某个服务器收到一条调用指令时,可以将该指令分发到集群中各个服务器上,进而各服务器并发处理所述任务。一般这种策略适合集群批量数据处理。
本申请还提供一种实现批量数据处理的系统实施例,可以对应图1所示方法实施例。所述系统可以如图5所示,包括数据库51和计算机集群52,其中:
所述数据库51基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
所述计算机集群52捞取所述处理任务表中的待处理任务,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
优选地,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
优选地,所述数据库包括:
第一建立单元,基于海量数据的原始数据表中第一维度建立数据分表;
第二建立单元,基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
优选地,所述计算机集群并发捞取所述处理任务表中的待处理任务。
优选地,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
优选地,后捞取到该待处理任务的所述服务器放弃处理,并进行下次捞取。
优选地,所述并发捞取所述处理任务表中的待处理任务设置有并发数限制,所述计算机集群同时处理的任务数不大于所述并发数。
优选地,所述并发数根据限制数据处理的速度及数据库的负载压力的要求调整。
本申请还提供一种实现批量数据处理的计算机集群实施例,可以对应图1所示方法实施例。所述计算机集群可以如图6所示,所述计算机集群中的任一服务器包括:
任务建立单元61,基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
捞取单元62,用于捞取所述处理任务表中的待处理任务;
处理单元63,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
优选地,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
优选地,所述任务建立单元包括:
第一建立单元,基于海量数据的原始数据表中第一维度建立数据分表;
第二建立单元,基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
优选地,所述计算机集群中的服务器并发捞取所述处理任务表中的待处理任务。
优选地,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
优选地,后捞取到该待处理任务的所述服务器放弃处理,并进行下次捞取。
优选地,所述并发捞取所述处理任务表中的待处理任务设置有并发数限制,所述计算机集群同时处理的任务数不大于所述并发数。
优选地,所述并发数根据限制数据处理的速度及数据库的负载压力的要求调整。
本申请还提供一种实现批量数据处理的系统实施例,可以对应图3所示方法实施例。所述系统可以包括数括数据库和计算机集群,其中:
所述数据库基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;选择所述维度中的一个,并基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量;
所述计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务;
所述计算机集群处理所述捞取到的待处理任务所对应的原始数据表中的数据。
优选地,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
优选地,所述数据库包括:
第一建立单元,基于海量数据的原始数据表中第一维度建立数据分表;
第二建立单元,基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
优选地,所述数据库基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。
优选地,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
优选地,后捞取到该待处理任务的服务器放弃处理,并进行下次捞取。
优选地,所述并发捞取数量设置有并发数限制,所述同时处理的任务数不大于所述并发数。
优选地,所述并发数根据限制数据处理的速度及数据库的负载压力的要求调整。
本申请实施例还提供一种实现批量数据处理的方法,如图7所示,包括:
S710:选择海量数据的原始数据表中一个维度,并基于所选择的维度建立处理任务表。
例如,原始数据表与前述一致,如下表X:
表X:原始数据表
账号 银行 银行渠道(业务维度1) 业务维度2
A0001 银行1 A_1(充值) B_1
A0002 银行1 A_2(提现) B_2
A0003 银行1 A_1(充值) B_3
可以选择原始数据表中的业务维度2,例如包括B_1、B_2、B_3…等多个值。
本实施例中,例如业务维度2即业务分类,B_1、B_2、B_3…等值分别为借记卡、网银、基金等。这样,可以基于所述原始数据表中的业务维度2建立处理任务表,例如下表W:
表W:处理任务表
上述例子中,原始数据表中业务分类为借记卡、网银、基金等值的数据的数量可能很不相同。这样,表W中,B_1、B_2、B_3…等值对应的原始数据表中的数据数量也可能很不相同。
S720:基于所选择维度中不同值对应数据的量设置任务的并发捞取数量。
仍假设按照前述例子,S710中的所选择的维度为业务分类这一业务维度,其包括多种不同的取值,如B_1,B_2和B_3等。仍例如表X的原始数据表中共有3000万条数据,其中B_1对应的数据量最大,达800万条,B_2对应的数据量为500万条,B_3对应的数据量为300万条…。
可以基于所选择维度中不同值对应数据的量来设置不同值对应任务的并发访问数量。整体来说,可以将所选择维度中取值对应数据量大的设置较大的并发访问数,将所选择维度中取值对应数据量少的设置较少的并发捞取数量。例如,对于数据量最大的B_1来说,可以设置B_1对应任务的并发捞取数量为7;对于数据量较少的B_2来说,可以设置B_2对应任务的并发捞取数量为2;对于数据量最少的B_3来说,B_3对应任务的并发捞取数量为1。
进一步的,可以基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。例如,表X的原始数据表中共有3000万条数据,其中B_1对应的数据量为1800万条,B_2对应的数据量为900万条,B_3对应的数据量为300万条,则可以设置B_1、B_2及B_3对应数据的并发访问数量为分别为6、3、1,即符合三者对应数据量的比例,同时并发访问数量的总和不超过所在数据库所设置的并发数限制。
类似的,所述并发数可以根据限制数据处理的速度及数据库的负载压力的要求调整。
S730:在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务。
计算机集群中的服务器可以并发捞取所述处理任务表中的待处理任务,从而各服务器可以捞取到待处理任务。具体的,计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务。
例如B_1对应任务的并发捞取数量为7,B_2对应任务的并发捞取数量为2,B_3对应任务的并发捞取数量为1。则计算机集群中的服务器捞取业务分类为B_1的任务最多不超过7条,捞取业务分类为B_2的任务最多不超过2条,捞取业务分类为B_3的任务最多不超过1条。
例如基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量,B_1对应任务的并发捞取数量为6,B_2对应任务的并发捞取数量为3,B_3对应任务的并发捞取数量为1。则计算机集群中的服务器捞取业务分类为B_1的任务最多不超过6条,捞取业务分类为B_2的任务最多不超过3条,捞取业务分类为B_3的任务最多不超过1条。
S740:处理所述捞取到的待处理任务所对应的原始数据表中的数据。
计算机集群中的服务器捞取到待处理任务后,进而可以处理所述捞取到的待处理任务所对应的原始数据表中的数据。
本申请上述实施例中,通过所选择的维度中不同值对应数据的量设置任务的并发捞取数量,可以限制并发捞取所述处理任务表中的所选择维度中不同值对应的任务数,进而可以控制数据库资源的消耗,从而降低数据流水产生高峰时间段数据库资源的过高占用。此外,还可以在数据流水产生的低估时间段提高数据库资源的利用率。整体上,图7实施例可以使得数据库资源占用率达到如图4所示的水平,相对于图2,可以达到削峰填谷的作用。
此外,S730中,当计算机集群中的两个服务器并发捞取时捞取到同一条RN的核对任务,则S740中,先捞取到核对任务可以先执行数据处理,这里即核对数据,而后捞取到的可以放弃捞取到的任务,并进行下次捞取。可以在预定时间间隔之后进行下次捞取,即进行下一次捞取。这种分布式分发调用捞取核对任务的方式,可以充分利用每台服务器来达到尽可能快速地核对的目的。
所述原始数据表和处理任务表可以存储于数据库中。具体的,同一银行的原始数据表和处理任务表可以存储于同一数据库中。对于数据库来说,可以设置并发访问数量,以控制数据访问给数据库带来的负荷压力。例如,银行1的原始数据表和如S710建立的处理任务表可以存储于数据库1中,银行2的原始数据表和如S710建立的处理任务表可以存储于数据库2中。
S730和S740中可以利用计算机集群中的分布式分发调功能来捞取和处理。在部署分布式集群的场景下,例如数据处理了任务需要整个计算机集群中所有服务器进行计算,那么在该计算机集群中的某个服务器收到一条调用指令时,可以将该指令分发到集群中各个服务器上,进而各服务器并发处理所述任务。一般这种策略适合集群批量数据处理。
本申请还提供你一种实现批量数据处理的系统实施例,对应图7所述方法,包括数据库和计算机集群,其中:
所述数据库选择海量数据的原始数据表中一个维度,并基于所选择的维度建立处理任务表;基于所选择维度中不同值对应数据的量设置任务的并发捞取数量;
所述计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
优选地,所述数据库基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。
优选地,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
优选地,后捞取到该待处理任务的服务器放弃处理,并进行下次捞取。
优选地,所述并发捞取数量限制数据处理的速度及数据库的负载压力的要求调整。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、MicrochipPIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (48)

1.一种实现批量数据处理的方法,其特征在于,包括:
基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
捞取所述处理任务表中的待处理任务;
处理所述捞取到的待处理任务所对应的原始数据表中的数据。
2.如权利要求1所述的方法,其特征在于,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
3.如权利要求1所述的方法,其特征在于,所述基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表,包括:
基于海量数据的原始数据表中第一维度建立数据分表;
基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
4.如权利要求1所述的方法,其特征在于,所述捞取所述处理任务表中的待处理任务,包括:
并发捞取所述处理任务表中的待处理任务。
5.如权利要求4所述的方法,其特征在于,当并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的执行对应的原始数据表中的数据处理。
6.如权利要求5所述的方法,其特征在于,后捞取到该待处理任务的放弃处理,并进行下次捞取。
7.如权利要求4所述的方法,其特征在于,所述并发捞取所述处理任务表中的待处理任务设置有并发数限制,所述同时处理的任务数不大于所述并发数。
8.如权利要求7所述的方法,其特征在于,所述并发数根据限制数据处理的速度及数据库的负载压力的要求调整。
9.一种实现批量数据处理的方法,其特征在于,包括:
基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
选择所述维度中的一个,并基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量;
在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务;
处理所述捞取到的待处理任务所对应的原始数据表中的数据。
10.如权利要求9所述的方法,其特征在于,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
11.如权利要求9所述的方法,其特征在于,所述基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表,包括:
基于海量数据的原始数据表中第一维度建立数据分表;
基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
12.如权利要求9所述的方法,其特征在于,所述基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量,包括:
基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。
13.如权利要求9所述的方法,其特征在于,当并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的执行对应的原始数据表中的数据处理。
14.如权利要求13所述的方法,其特征在于,后捞取到该待处理任务的放弃处理,并进行下次捞取。
15.如权利要求9所述的方法,其特征在于,所述并发捞取数量根据限制数据处理的速度及数据库的负载压力的要求调整。
16.一种实现批量数据处理的系统,其特征在于,包括数据库和计算机集群,其中:
所述数据库基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
所述计算机集群捞取所述处理任务表中的待处理任务,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
17.如权利要求16所述的系统,其特征在于,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
18.如权利要求16所述的系统,其特征在于,所述数据库包括:
第一建立单元,基于海量数据的原始数据表中第一维度建立数据分表;
第二建立单元,基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
19.如权利要求16所述的系统,其特征在于,所述计算机集群并发捞取所述处理任务表中的待处理任务。
20.如权利要求19所述的系统,其特征在于,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
21.如权利要求20所述的系统,其特征在于,后捞取到该待处理任务的所述服务器放弃处理,并进行下次捞取。
22.如权利要求19所述的系统,其特征在于,所述并发捞取所述处理任务表中的待处理任务设置有并发数限制,所述计算机集群同时处理的任务数不大于所述并发数。
23.如权利要求22所述的系统,其特征在于,所述并发数根据限制数据处理的速度及数据库的负载压力的要求调整。
24.一种实现批量数据处理的计算机集群,其特征在于,所述计算机集群中的任一服务器包括:
任务建立单元,基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;
捞取单元,用于捞取所述处理任务表中的待处理任务;
处理单元,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
25.如权利要求24所述的计算机集群,其特征在于,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
26.如权利要求24所述的计算机集群,其特征在于,所述任务建立单元包括:
第一建立单元,基于海量数据的原始数据表中第一维度建立数据分表;
第二建立单元,基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
27.如权利要求24所述的计算机集群,其特征在于,所述计算机集群中的服务器并发捞取所述处理任务表中的待处理任务。
28.如权利要求27所述的计算机集群,其特征在于,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
29.如权利要求28所述的系统,其特征在于,后捞取到该待处理任务的所述服务器放弃处理,并进行下次捞取。
30.如权利要求27所述的系统,其特征在于,所述并发捞取所述处理任务表中的待处理任务设置有并发数限制,所述计算机集群同时处理的任务数不大于所述并发数。
31.如权利要求30所述的系统,其特征在于,所述并发数根据限制数据处理的速度及数据库的负载压力的要求调整。
32.一种实现批量数据处理的系统,其特征在于,包括数据库和计算机集群,其中:
所述数据库基于海量数据的原始数据表中至少两个不相关的维度建立处理任务表;选择所述维度中的一个,并基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量;
所述计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
33.如权利要求32所述的系统,其特征在于,所述至少两个不相关的维度包括:至少两个值随序号变化规律不相同的维度。
34.如权利要求32所述的系统,其特征在于,所述数据库包括:
第一建立单元,基于海量数据的原始数据表中第一维度建立数据分表;
第二建立单元,基于建立的数据分表并根据所述原始数据表中的第二维度建立处理任务表。
35.如权利要求32所述的系统,其特征在于,所述数据库基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。
36.如权利要求32所述的系统,其特征在于,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
37.如权利要求36所述的系统,其特征在于,后捞取到该待处理任务的服务器放弃处理,并进行下次捞取。
38.如权利要求32所述的系统,其特征在于,所述并发捞取数量根据限制数据处理的速度及数据库的负载压力的要求调整。
39.一种实现批量数据处理的方法,其特征在于,包括:
选择海量数据的原始数据表中一个维度,并基于所选择的维度建立处理任务表;
基于所选择维度中不同值对应数据的量设置任务的并发捞取数量;
在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务;
处理所述捞取到的待处理任务所对应的原始数据表中的数据。
40.如权利要求39所述的方法,其特征在于,所述基于所选择的维度中不同值对应数据的量设置任务的并发捞取数量,包括:
基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。
41.如权利要求39所述的方法,其特征在于,当并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的执行对应的原始数据表中的数据处理。
42.如权利要求41所述的方法,其特征在于,后捞取到该待处理任务的放弃处理,并进行下次捞取。
43.如权利要求39所述的方法,其特征在于,所述并发捞取数量根据限制数据处理的速度及数据库的负载压力的要求调整。
44.一种实现批量数据处理的系统,其特征在于,包括数据库和计算机集群,其中:
所述数据库选择海量数据的原始数据表中一个维度,并基于所选择的维度建立处理任务表;基于所选择维度中不同值对应数据的量设置任务的并发捞取数量;
所述计算机集群在所述并发捞取数量限制下并发捞取所述处理任务表中的待处理任务,并处理所述捞取到的待处理任务所对应的原始数据表中的数据。
45.如权利要求44所述的系统,其特征在于,所述数据库基于所选择的维度中不同值对应数据占总数据量的比例来设置任务的并发捞取数量。
46.如权利要求44所述的系统,其特征在于,当所述计算机集群中不同服务器并发捞取时捞取到同一条待处理任务时,先捞取到该待处理任务的服务器执行对应的原始数据表中的数据处理。
47.如权利要求46所述的系统,其特征在于,后捞取到该待处理任务的服务器放弃处理,并进行下次捞取。
48.如权利要求44所述的系统,其特征在于,所述并发捞取数量限制数据处理的速度及数据库的负载压力的要求调整。
CN201610195313.6A 2016-03-30 2016-03-30 一种实现批量数据处理的方法、系统和计算机集群 Active CN107291720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610195313.6A CN107291720B (zh) 2016-03-30 2016-03-30 一种实现批量数据处理的方法、系统和计算机集群

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610195313.6A CN107291720B (zh) 2016-03-30 2016-03-30 一种实现批量数据处理的方法、系统和计算机集群

Publications (2)

Publication Number Publication Date
CN107291720A true CN107291720A (zh) 2017-10-24
CN107291720B CN107291720B (zh) 2020-10-02

Family

ID=60086690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610195313.6A Active CN107291720B (zh) 2016-03-30 2016-03-30 一种实现批量数据处理的方法、系统和计算机集群

Country Status (1)

Country Link
CN (1) CN107291720B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391680A (zh) * 2018-08-31 2019-02-26 阿里巴巴集团控股有限公司 一种定时任务数据处理方法、装置及系统
CN109919563A (zh) * 2018-11-21 2019-06-21 阿里巴巴集团控股有限公司 一种业务流水批量处理方法、装置、及计算机设备
CN110175808A (zh) * 2019-04-17 2019-08-27 广州精选速购网络科技有限公司 一种订单管理、查询方法、装置、设备及介质
CN110263241A (zh) * 2019-05-06 2019-09-20 阿里巴巴集团控股有限公司 一种数据批次处理方法及装置
CN111274299A (zh) * 2020-01-19 2020-06-12 北京三快在线科技有限公司 数据处理的方法、装置、系统及存储介质
CN112905635A (zh) * 2021-03-11 2021-06-04 深圳市分期乐网络科技有限公司 一种业务的处理方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799809A (zh) * 2009-02-10 2010-08-11 中国移动通信集团公司 数据挖掘方法和数据挖掘系统
CN102609875A (zh) * 2012-01-20 2012-07-25 中国工商银行股份有限公司 一种动态并行处理银行数据的方法及系统
CN103942098A (zh) * 2014-04-29 2014-07-23 国家电网公司 一种任务处理系统和方法
CN104731891A (zh) * 2015-03-17 2015-06-24 浪潮集团有限公司 一种etl中海量数据抽取的方法
EP2916276A1 (en) * 2014-03-04 2015-09-09 Palantir Technologies, Inc. System including a data repository and a data importing component
CN105183901A (zh) * 2015-09-30 2015-12-23 北京京东尚科信息技术有限公司 一种数据查询引擎读取数据库表的方法及装置
CN105335448A (zh) * 2014-08-15 2016-02-17 中国银联股份有限公司 基于分布式环境的数据存储及处理系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799809A (zh) * 2009-02-10 2010-08-11 中国移动通信集团公司 数据挖掘方法和数据挖掘系统
CN102609875A (zh) * 2012-01-20 2012-07-25 中国工商银行股份有限公司 一种动态并行处理银行数据的方法及系统
EP2916276A1 (en) * 2014-03-04 2015-09-09 Palantir Technologies, Inc. System including a data repository and a data importing component
CN103942098A (zh) * 2014-04-29 2014-07-23 国家电网公司 一种任务处理系统和方法
CN105335448A (zh) * 2014-08-15 2016-02-17 中国银联股份有限公司 基于分布式环境的数据存储及处理系统
CN104731891A (zh) * 2015-03-17 2015-06-24 浪潮集团有限公司 一种etl中海量数据抽取的方法
CN105183901A (zh) * 2015-09-30 2015-12-23 北京京东尚科信息技术有限公司 一种数据查询引擎读取数据库表的方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391680A (zh) * 2018-08-31 2019-02-26 阿里巴巴集团控股有限公司 一种定时任务数据处理方法、装置及系统
CN109391680B (zh) * 2018-08-31 2021-07-09 创新先进技术有限公司 一种定时任务数据处理方法、装置及系统
CN109919563A (zh) * 2018-11-21 2019-06-21 阿里巴巴集团控股有限公司 一种业务流水批量处理方法、装置、及计算机设备
CN109919563B (zh) * 2018-11-21 2023-07-11 创新先进技术有限公司 一种业务流水批量处理方法、装置、及计算机设备
CN110175808A (zh) * 2019-04-17 2019-08-27 广州精选速购网络科技有限公司 一种订单管理、查询方法、装置、设备及介质
CN110263241A (zh) * 2019-05-06 2019-09-20 阿里巴巴集团控股有限公司 一种数据批次处理方法及装置
CN110263241B (zh) * 2019-05-06 2023-02-28 创新先进技术有限公司 一种数据批次处理方法及装置
CN111274299A (zh) * 2020-01-19 2020-06-12 北京三快在线科技有限公司 数据处理的方法、装置、系统及存储介质
CN112905635A (zh) * 2021-03-11 2021-06-04 深圳市分期乐网络科技有限公司 一种业务的处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107291720B (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN107291720A (zh) 一种实现批量数据处理的方法、系统和计算机集群
CN107395665A (zh) 一种区块链业务受理及业务共识方法及装置
CN110070399A (zh) 一种优惠券推送方法及装置
CN107450979A (zh) 一种区块链共识方法及装置
CN110008018B (zh) 一种批量任务处理方法、装置及设备
CN107360206A (zh) 一种区块链共识方法、设备及系统
CN107391526A (zh) 一种基于区块链的数据处理方法及设备
CN107040582A (zh) 一种数据处理方法及装置
CN108989238A (zh) 一种分配业务带宽的方法以及相关设备
CN108566420A (zh) 用于区块链的数据处理方法、设备及计算机可读存储介质
CN107577523A (zh) 一种任务执行的方法及装置
CN106202092A (zh) 数据处理的方法及系统
CN106815254A (zh) 一种数据处理方法和装置
CN109376189A (zh) 批量数据操作的处理方法、装置及设备
CN110245091A (zh) 一种内存管理的方法、装置及计算机存储介质
CN108615184A (zh) 一种记账的方法及装置
CN109002357A (zh) 资源分配方法、装置及物联网系统
CN107578338A (zh) 一种业务发布方法、装置及设备
CN109272400A (zh) 资源处理方法及装置
CN108920183A (zh) 一种业务决策方法、装置及设备
CN105550209A (zh) 一种资源处理方法及装置
CN107608788A (zh) 一种控制方法、装置及设备
CN108390914A (zh) 一种服务更新方法及装置、系统
CN109426439A (zh) 对分布式存储系统进行扩容的方法及装置
CN110515734A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.