CN111666144A - 批处理任务执行方法、系统以及机房部署系统 - Google Patents

批处理任务执行方法、系统以及机房部署系统 Download PDF

Info

Publication number
CN111666144A
CN111666144A CN202010568593.7A CN202010568593A CN111666144A CN 111666144 A CN111666144 A CN 111666144A CN 202010568593 A CN202010568593 A CN 202010568593A CN 111666144 A CN111666144 A CN 111666144A
Authority
CN
China
Prior art keywords
batch processing
batch
processing tasks
execution
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010568593.7A
Other languages
English (en)
Inventor
刘娟
李军刚
王志锋
方锡锐
詹武州
乔雅正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Citic Bank Corp Ltd
Original Assignee
China Citic Bank Corp 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 China Citic Bank Corp Ltd filed Critical China Citic Bank Corp Ltd
Priority to CN202010568593.7A priority Critical patent/CN111666144A/zh
Publication of CN111666144A publication Critical patent/CN111666144A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种批处理任务执行方法、系统以及机房部署系统,涉及数据处理技术领域。该方法包括:获取多个批处理任务,按照预设规则将多个批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序,其中,每个批次可以包括至少一个批处理任务,且每个批次的批处理任务具有相同或相近的任务属性,按照各批次批处理任务的执行顺序,依次执行各批次批处理任务。本发明通过将批处理任务按照预设规则编排为多个批次,且确定各批次批处理任务的执行顺序,并按照各批次批处理任务的执行顺序执行批处理任务,可以实现对大量的批处理任务进行有效地管理,从而满足大量批处理任务的多次执行需求。

Description

批处理任务执行方法、系统以及机房部署系统
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种批处理任务执行方法、系统以及机房部署系统。
背景技术
信用卡系统是集计算机、网络通信、金融与商业电子化设备于一体的电子货币流通体系,指的是信用卡业务的处理软件系统。信用卡系统可以以机构、持卡人、账户、卡片为核心,对它们之间的各种业务关系进行处理。机构可以为持卡人提供各种卡片,持卡人可以申请相应的卡片、并享有该卡片的各种服务。信用卡系统中可以对发卡、制卡、客户服务、分期服务、交易服务、资产证券化、国际卡组织清算、对账服务等账户处理任务进行处理。
但是,随着信息数据的增长,批处理任务不断增加,导致现有的批处理任务执行方式不能够对大量的批处理任务进行有效地管理,无法满足大量批处理任务的多次执行需求。
发明内容
本发明提供一种批处理任务执行方法、系统以及机房部署系统,可以对大量的批处理任务进行有效地管理,满足大量批处理任务的多次执行需求。
第一方面,本发明实施例提供一种批处理任务执行方法,所述方法包括:获取多个批处理任务;按照预设规则将多个所述批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序;其中,每个批次可以包括至少一个批处理任务,且每个批次的批处理任务具有相同或相近的任务属性;按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务。
可选地,所述按照预设规则将多个所述批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序,包括:根据各所述批处理任务所属的业务维度或数据流维度,将多个所述批处理任务编排为多个批次;按照预设的优先级规则,分别确定各批次批处理任务的优先级;根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序。
可选地,所述根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序之前,所述方法还包括:计算获取各批次批处理任务的资源消耗量;所述根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序,包括:根据所述各批次批处理任务的优先级、以及资源消耗量,确定所述各批次批处理任务的执行顺序。
可选地,所述按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务之前,所述方法还包括:通过离线同步的方式将账户系统和授权系统的数据同步至分布式集群;所述按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务,包括:按照所述各批次批处理任务的执行顺序,基于所述分布式集群中所述账户系统和所述授权系统的数据,依次执行所述各批次批处理任务。
可选地,所述获取多个批处理任务之前,所述方法还包括:轮询批处理启动条件;所述获取多个批处理任务,包括:获取满足批处理启动条件的多个批处理任务。
第二方面,本发明实施例提供一种批处理任务执行系统,所述系统包括:批处理任务获取模块,用于获取多个批处理任务;批处理任务编排模块,用于按照预设规则将多个所述批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序;其中,每个批次可以包括至少一个批处理任务,且每个批次的批处理任务具有相同或相近的任务属性;执行模块,用于按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务。
可选地,所述批处理任务编排模块,包括:编排子模块,用于根据各所述批处理任务所属的业务维度或数据流维度,将多个所述批处理任务编排为多个批次;优先级确定子模块,用于按照预设的优先级规则,分别确定各批次批处理任务的优先级;执行顺序确定子模块,用于根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序。
可选地,所述批处理任务编排模块,还包括:资源消耗量计算子模块,用于在所述执行顺序确定子模块根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序之前,计算获取各批次批处理任务的资源消耗量;所述执行顺序确定子模块,具体用于根据所述各批次批处理任务的优先级、以及资源消耗量,确定所述各批次批处理任务的执行顺序。
可选地,所述系统还包括:数据同步模块,用于在所述执行模块按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务之前,通过离线同步的方式将账户系统和授权系统的数据同步至分布式集群;所述执行模块,具体用于按照所述各批次批处理任务的执行顺序,基于所述分布式集群中所述账户系统和所述授权系统的数据,依次执行所述各批次批处理任务。
可选地,所述系统还包括:轮询模块,用于在所述批处理任务获取模块获取多个批处理任务之前,轮询批处理启动条件;所述批处理任务获取模块,具体用于获取满足批处理启动条件的多个批处理任务。
第三方面,本发明实施例提供一种机房部署系统,包括:第一机房、第二机房和第三机房;所述第一机房和所述第二机房均部署于第一区域;所述第三机房部署于第二区域;所述第一机房、所述第二机房、以及所述第三机房均设置有备份系统和如第二方面所述的批处理任务执行系统;在所述第一机房、所述第二机房、以及所述第三机房中:当任一机房的批处理任务执行系统启动时,其他两个机房的备份系统用于同步存储已启动机房的数据。
第四方面,本发明实施例提供一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行如第一方面所述的方法。
第五方面,本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如第一方面所述的方法。
本发明的有益效果是:
本发明实施例可以获取多个批处理任务,按照预设规则将多个批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序,然后,按照各批次批处理任务的执行顺序,依次执行各批次批处理任务。通过将批处理任务按照预设规则编排为多个批次,且确定各批次批处理任务的执行顺序,并按照各批次批处理任务的执行顺序执行批处理任务,可以实现对大量的批处理任务进行有效地管理,从而满足大量批处理任务的多次执行需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的批处理任务执行方法的流程示意图;
图2示出了本发明实施例提供的批处理任务执行方法的另一流程示意图;
图3示出了本发明实施例提供的批处理任务执行系统的结构示意图;
图4示出了本发明实施例提供的批处理任务编排模块的结构示意图;
图5示出了本发明实施例提供的批处理任务编排模块的另一结构示意图;
图6示出了本发明实施例提供的批处理任务执行系统的另一结构示意图;
图7示出了本发明实施例提供的批处理任务执行系统的又一结构示意图;
图8示出了本发明实施例提供的批处理任务执行系统的又一结构示意图;
图9示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,还需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明实施例提供一种批处理任务执行方法,可以对大量的批处理任务进行有效地管理,满足大量批处理任务的多次执行需求。该方法的执行主体可以是银行或金融公司的计算机或服务器,本发明在此不作限定。
图1示出了本发明实施例提供的批处理任务执行方法的流程示意图。
如图1所示,该批处理任务执行方法,可以包括:
S101、获取多个批处理任务。
可选地,批处理任务可以包括:账单批量服务、额度批量服务、卡产品批量服务、授权批量服务、分期批量服务、发卡发明批量服务、营销批量服务等。
S102、按照预设规则将多个批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序。
其中,每个批次可以包括至少一个批处理任务,且每个批次的批处理任务具有相同或相近的任务属性。例如,预设规则可以是指:根据批处理任务的不同类型(如:业务类型),将多个批处理任务进行分批,以及按照各批次批处理任务的重要程度确定执行顺序。此时,每个批次的批处理任务可以具有相同或相近的业务属性。
可选地,任务属性可以包括:业务属性(业务维度)、数据流属性(数据流维度)等,本发明在此不作限制。
图2示出了本发明实施例提供的批处理任务执行方法的另一流程示意图。
可选地,如图2所示,上述按照预设规则将多个批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序的步骤,可以包括:
S201、根据各批处理任务所属的业务维度或数据流维度,将多个批处理任务编排为多个批次。
例如,业务维度可以是指批处理任务所属的业务类型,如:催收业务、分期业务等;数据流维度可以是指批处理任务在流处理过程中所处的数据维度。以业务维度为例,根据各批处理任务所属的业务维度,可以将多个批处理任务编排为多个不同业务维度所对应的多个批次,每个批次中可以包含一个或多个批处理任务。
S202、按照预设的优先级规则,分别确定各批次批处理任务的优先级。
其中,预设的优先级规则可以是指:不同业务维度或数据流维度对应的预设优先级别;以分期业务和催收业务为例,催收业务的优先级可以高于分期业务的优先级。需要说明的是,优先级规则可以预先根据实际需求设置,对于优先级规则的具体类型,本发明在此不作限制。
在步骤S201中将批处理任务编排为多个批次后,则可以根据上述预设的优先级规则对各批次批处理任务的优先级进行划分,从而,可以根据下述步骤S203对各批次批处理任务的执行顺序进行确定。
S203、根据各批次批处理任务的优先级,确定各批次批处理任务的执行顺序。
如上所述,可以根据各批次批处理任务的优先级,对各批次批处理任务的执行顺序进行确定,例如,优先级高的批次的批处理任务可以先执行(如:催收业务),优先级低的批次的批处理任务可以后执行。
S103、按照各批次批处理任务的执行顺序,依次执行各批次批处理任务。
在确定得到各批次批处理任务的执行顺序后,可以按照各批次批处理任务的执行顺序,依次执行各批次批处理任务,完成多个批处理任务的执行。
由上所述,本发明实施例可以获取多个批处理任务,按照预设规则将多个批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序,然后,按照各批次批处理任务的执行顺序,依次执行各批次批处理任务。通过将批处理任务按照预设规则编排为多个批次,且确定各批次批处理任务的执行顺序,并按照各批次批处理任务的执行顺序执行批处理任务,可以实现对大量的批处理任务进行有效地管理,从而满足大量批处理任务的多次执行需求。
可选地,上述根据各批次批处理任务的优先级,确定各批次批处理任务的执行顺序的步骤之前,该批处理任务执行方法,还可以包括:
计算获取各批次批处理任务的资源消耗量。
相应地,上述根据各批次批处理任务的优先级,确定各批次批处理任务的执行顺序的步骤,具体可以包括:
根据各批次批处理任务的优先级、以及资源消耗量,确定各批次批处理任务的执行顺序。
如上所述,本发明实施例中还可以计算获取各批次批处理任务的资源消耗量,如:可以计算各批次批处理任务执行时占用的处理器消耗量,在根据业务不同的特点,将批处理任务划分不同的批次后,还可以按照资源的有限性,根据计算得到的各批次批处理任务的资源消耗量,合理配置各批次批处理任务之间的串并行性。例如,对于资源消耗较少的批次的批处理任务可并行执行。
也即,本发明实施例在确定各批次批处理任务的执行顺序时,可以综合考虑各批次批处理任务的优先级、以及资源消耗量,从而实现对各批次批处理任务的执行顺序的更优划分。
可选地,上述按照各批次批处理任务的执行顺序,依次执行各批次批处理任务的步骤之前,该批处理任务执行方法,还可以包括:
通过离线同步的方式将账户系统和授权系统的数据同步至分布式集群。
相应地,上述按照各批次批处理任务的执行顺序,依次执行各批次批处理任务的步骤,具体可以包括:
按照各批次批处理任务的执行顺序,基于分布式集群中账户系统和授权系统的数据,依次执行各批次批处理任务。
其中,分布式集群可以是海杜普(Hadoop,HDP)集群。具体地,通过离线同步的方式将账户系统和授权系统的数据同步至HDP集群,可以为批处理任务执行过程中Hive,Spark等程序的运行提供数据基础。
可选地,为满足不同的Hive和Spark程序运行需求,从根源上减少程序运行的数据基数,离线数据同步可以采用DataX组件,实现单表基础上的端对端同步。可以将数据同步的类型分为如下三种类型:全量类型(I)、增量类型(D)、以及增量合并类型(A)。其中,I或D类型的数据同步复杂性相对较低,支持全量/增量方式的数据同步。获取上游数据及下游Hive获取对应的表结构,以轻量级的Json文件作为规则定义,按照对应规则每日触发从上游以JDBC的方式抽取数据到Hive的同步任务,实现每日数据入库到Hive的对应业务日期分区。
规则定义模板可以如下:
Figure BDA0002548691190000101
Figure BDA0002548691190000111
A类型的增量合并同步方式,负责处理单表增量变更数据量相对于全表数据量较少的场景。按增量抽取,全量合并的方式实现数据同步,在D类型增量数据抽取的基础上,通过定制化的Hive查询语言(Hive Query Language,HQL)脚本将增量变更数据更新到历史的全量分区中,进而得到合并所有业务日期分区的全量数据表。
可选地,上述获取多个批处理任务的步骤之前,该批处理任务执行方法,还可以包括:
轮询批处理启动条件。
相应地,上述获取多个批处理任务的步骤,具体可以包括:
获取满足批处理启动条件的多个批处理任务。
可选地,启动条件可以通过结构化查询语言(Structured Query Language,SQL)的方式实现。一些实施方式中,可以按照预设的定时期限轮询SQL启动条件,如:可以是每天的0点至早上8点,本发明对定时期限的时间段不作限制;其他实施方式中,也可以由人工主动发起轮询SQL启动条件。
当满足批处理启动条件时,可以按照前述实施例所述的批处理任务执行方法执行相应的批处理任务。
基于前述实施例所述的批处理任务执行方法,本发明实施例对应提供一种批处理任务执行系统,图3示出了本发明实施例提供的批处理任务执行系统的结构示意图。
如图3所示,该批处理任务执行系统,可以包括:批处理任务获取模块10,用于获取多个批处理任务;批处理任务编排模块20,用于按照预设规则将多个批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序;其中,每个批次可以包括至少一个批处理任务,且每个批次的批处理任务具有相同或相近的任务属性;执行模块30,用于按照各批次批处理任务的执行顺序,依次执行各批次批处理任务。
图4示出了本发明实施例提供的批处理任务编排模块的结构示意图。
可选地,如图4所示,批处理任务编排模块20,可以包括:编排子模块21,用于根据各批处理任务所属的业务维度或数据流维度,将多个批处理任务编排为多个批次;优先级确定子模块22,用于按照预设的优先级规则,分别确定各批次批处理任务的优先级;执行顺序确定子模块23,用于根据各批次批处理任务的优先级,确定各批次批处理任务的执行顺序。
图5示出了本发明实施例提供的批处理任务编排模块的另一结构示意图。
可选地,如图5所示,批处理任务编排模块20,还可以包括:资源消耗量计算子模块24,用于在执行顺序确定子模块根据各批次批处理任务的优先级,确定各批次批处理任务的执行顺序之前,计算获取各批次批处理任务的资源消耗量;执行顺序确定子模块23,具体可以用于根据各批次批处理任务的优先级、以及资源消耗量,确定各批次批处理任务的执行顺序。
图6示出了本发明实施例提供的批处理任务执行系统的另一结构示意图。
可选地,如图6所示,该批处理任务执行系统,还可以包括:数据同步模块40,用于在执行模块按照各批次批处理任务的执行顺序,依次执行各批次批处理任务之前,通过离线同步的方式将账户系统和授权系统的数据同步至分布式集群;执行模块30,具体可以用于按照各批次批处理任务的执行顺序,基于分布式集群中账户系统和授权系统的数据,依次执行各批次批处理任务。
图7示出了本发明实施例提供的批处理任务执行系统的又一结构示意图。
可选地,如图7所示,该批处理任务执行系统,还可以包括:轮询模块50,用于在批处理任务获取模块获取多个批处理任务之前,轮询批处理启动条件;批处理任务获取模块10,具体可以用于获取满足批处理启动条件的多个批处理任务。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中方法的对应过程,本发明中不再赘述。
基于前述实施例所述的批处理任务执行方法,本发明实施例还提供一种批处理任务执行系统,图8示出了本发明实施例提供的批处理任务执行系统的又一结构示意图。
如图8所示,该批处理任务执行系统,可以包括:数据同步组件110(如:dasp-comm-mysqltohive)、轮询组件120(如:dasp-plat-workflow-mgmt)、启动组件130(如:Azkaban)、以及编排组件140(如:dasp-plat-batch)。其中,数据同步组件110可以分别与HDP集群、以及账户服务子系统和授权服务子系统连接,通过离线同步的方式将账户服务子系统和授权服务子系统中的数据同步至HDP集群。在数据离线同步的基础上,为了实现不同的业务需求,根据不同的业务逻辑,实现对应的业务功能,可以利用启动组件130发送业务批处理任务到HDP集群,实现业务批处理任务在HDP集群节点上的运行。
轮询组件120可以负责轮询批处理启动条件,启动条件可以通过SQL的方式实现,按照自主设定的定时期限轮询SQL启动条件,满足条件时可以调用启动组件130接口启动批次执行任务。编排组件140可以负责监控显示运行批处理任务、以及及对批处理任务进行编排等,如:可以合理根据业务前后的依赖关系,合理编排批处理程序运行顺序,根据业务不同的特点,划分不同的批次版本,按照资源的有限性,合理配置批次版本之间的串并行性等。
当启动组件130启动批次执行任务时,可以调度相应的批处理任务执行程序,读取数据同步组件110同步至HDP集群中的账户服务子系统和授权服务子系统中的数据,执行批处理任务。
可选地,该批处理任务执行系统可以部署于容器云中,以提高批处理任务的执行效率。
可选地,该批处理任务执行系统的操作系统(Operating System,OS)可以基于开放式平台x86架构实现,如:RedHat;基础框架可以采用SpringCloud;WEB服务器可以为Spring Boot内置的tomcat;基础组件可以包括:hdfs,yarn,HBase,Hive,Spark,ElasticSearch,datax。元数据库可以为mysql-mgr。
基于前述实施例的批处理任务执行系统,本发明实施例还提供一种机房部署系统,可以包括:第一机房、第二机房和第三机房;第一机房和第二机房均部署于第一区域;第三机房部署于第二区域;第一机房、第二机房、以及第三机房均设置有备份系统和如前述任一实施例中所述的批处理任务执行系统;在第一机房、第二机房、以及第三机房中:当任一机房的批处理任务执行系统启动时,其他两个机房的备份系统用于同步存储已启动机房的数据。
举例说明:假设第一机房和第二机房均部署于本地,第三机房部署于异地,则三个机房是不同的共享存储,具有不同的大数据存储集群。若第一机房的批处理任务执行系统启动时,第二机房和第三机房的备份系统启动,此时,第一机房为主机房,第二机房和第三机房为备份机房,每天只有第一机房跑批处理程序,第二机房和第三机房只做数据同步及批处理结果入库操作。
当第一机房批处理执行成功后,会生成以下几种数据:1)供下游执行读取的文件;2)供内管平台查询的报表;3)写入Hive库的结果数据;4)写入Hbase库的数据;5)写入ElasticSearch库的数据。其中,生成的文件、报表会写入共享存储,文件由文件传输平台下发;供实时接口查询使用的hbase和elasticsearch数据,会同时将结果写入Hive表。需外供数据仓库采数的贴源数据及跑批结果数据使用distcp优先同步到备机房,数据仓库从备机房取数。共享存储上的文件和报表,使用rsync进行同步,文件传输平台只从主机房取文件。备机房写入hbase及elasticSearch库的数据,已经通过distcp将hive数据同步到备机房的Hive库,跑批写入备库。
可选地,若第二机房或第三机房的批处理任务执行系统启动时,与前述第一机房的批处理任务执行系统启动的实施方式同理,在此不再赘述。
该机房部署系统中,通过在生产上部署同城双机房、异地灾备机房的方式,可以实现主备机房发生切换时,批处理任务执行系统主备库批次计划通过配置简单做切换即可,而备份机房没有执行实际的批处理作业,但是可以随时切换机房执行,实现了“双活”。
本发明实施例还提供一种电子设备,该电子设备可以是计算机、服务器、容器云等,图9示出了本发明实施例提供的电子设备的结构示意图。
如图9所示,该电子设备可以包括:处理器100、存储介质200和总线(图中未标出),存储介质200存储有处理器100可执行的机器可读指令,当电子设备运行时,处理器100与存储介质200之间通过总线通信,处理器100执行机器可读指令,以执行如前述方法实施例中所述的批处理任务执行方法。具体实现方式和技术效果类似,在此不再赘述。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如前述方法实施例中所述的批处理任务执行方法。具体实现方式和技术效果类似,在此同样不再赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种批处理任务执行方法,其特征在于,所述方法包括:
获取多个批处理任务;
按照预设规则将多个所述批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序;其中,每个批次可以包括至少一个批处理任务,且每个批次的批处理任务具有相同或相近的任务属性;
按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务。
2.根据权利要求1所述的方法,其特征在于,所述按照预设规则将多个所述批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序,包括:
根据各所述批处理任务所属的业务维度或数据流维度,将多个所述批处理任务编排为多个批次;
按照预设的优先级规则,分别确定各批次批处理任务的优先级;
根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序之前,所述方法还包括:
计算获取各批次批处理任务的资源消耗量;
所述根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序,包括:
根据所述各批次批处理任务的优先级、以及资源消耗量,确定所述各批次批处理任务的执行顺序。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务之前,所述方法还包括:
通过离线同步的方式将账户系统和授权系统的数据同步至分布式集群;
所述按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务,包括:
按照所述各批次批处理任务的执行顺序,基于所述分布式集群中所述账户系统和所述授权系统的数据,依次执行所述各批次批处理任务。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述获取多个批处理任务之前,所述方法还包括:
轮询批处理启动条件;
所述获取多个批处理任务,包括:
获取满足批处理启动条件的多个批处理任务。
6.一种批处理任务执行系统,其特征在于,所述系统包括:
批处理任务获取模块,用于获取多个批处理任务;
批处理任务编排模块,用于按照预设规则将多个所述批处理任务编排为多个批次,并确定各批次批处理任务的执行顺序;其中,每个批次可以包括至少一个批处理任务,且每个批次的批处理任务具有相同或相近的任务属性;
执行模块,用于按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务。
7.根据权利要求6所述的系统,其特征在于,所述批处理任务编排模块,包括:
编排子模块,用于根据各所述批处理任务所属的业务维度或数据流维度,将多个所述批处理任务编排为多个批次;
优先级确定子模块,用于按照预设的优先级规则,分别确定各批次批处理任务的优先级;
执行顺序确定子模块,用于根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序。
8.根据权利要求7所述的系统,其特征在于,所述批处理任务编排模块,还包括:
资源消耗量计算子模块,用于在所述执行顺序确定子模块根据所述各批次批处理任务的优先级,确定所述各批次批处理任务的执行顺序之前,计算获取各批次批处理任务的资源消耗量;
所述执行顺序确定子模块,具体用于根据所述各批次批处理任务的优先级、以及资源消耗量,确定所述各批次批处理任务的执行顺序。
9.根据权利要求6-8任一项所述的系统,其特征在于,所述系统还包括:数据同步模块,用于在所述执行模块按照所述各批次批处理任务的执行顺序,依次执行所述各批次批处理任务之前,通过离线同步的方式将账户系统和授权系统的数据同步至分布式集群;
所述执行模块,具体用于按照所述各批次批处理任务的执行顺序,基于所述分布式集群中所述账户系统和所述授权系统的数据,依次执行所述各批次批处理任务。
10.一种机房部署系统,其特征在于,包括:第一机房、第二机房和第三机房;所述第一机房和所述第二机房均部署于第一区域;所述第三机房部署于第二区域;
所述第一机房、所述第二机房、以及所述第三机房均设置有备份系统和如权利要求6-9任一项所述的批处理任务执行系统;
在所述第一机房、所述第二机房、以及所述第三机房中:当任一机房的批处理任务执行系统启动时,其他两个机房的备份系统用于同步存储已启动机房的数据。
CN202010568593.7A 2020-06-19 2020-06-19 批处理任务执行方法、系统以及机房部署系统 Pending CN111666144A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010568593.7A CN111666144A (zh) 2020-06-19 2020-06-19 批处理任务执行方法、系统以及机房部署系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010568593.7A CN111666144A (zh) 2020-06-19 2020-06-19 批处理任务执行方法、系统以及机房部署系统

Publications (1)

Publication Number Publication Date
CN111666144A true CN111666144A (zh) 2020-09-15

Family

ID=72389135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010568593.7A Pending CN111666144A (zh) 2020-06-19 2020-06-19 批处理任务执行方法、系统以及机房部署系统

Country Status (1)

Country Link
CN (1) CN111666144A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860779A (zh) * 2021-03-29 2021-05-28 中信银行股份有限公司 一种批量数据导入方法及装置
WO2022116828A1 (en) * 2020-12-03 2022-06-09 International Business Machines Corporation Batch job performance improvement in active-active architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360903A (zh) * 2014-11-18 2015-02-18 北京美琦华悦通讯科技有限公司 Spark作业调度系统中实现任务数据解耦的方法
CN106408421A (zh) * 2016-02-26 2017-02-15 平安科技(深圳)有限公司 跨平台保单处理方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104360903A (zh) * 2014-11-18 2015-02-18 北京美琦华悦通讯科技有限公司 Spark作业调度系统中实现任务数据解耦的方法
CN106408421A (zh) * 2016-02-26 2017-02-15 平安科技(深圳)有限公司 跨平台保单处理方法、装置和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022116828A1 (en) * 2020-12-03 2022-06-09 International Business Machines Corporation Batch job performance improvement in active-active architecture
US11461315B2 (en) 2020-12-03 2022-10-04 International Business Machines Corporation Batch job performance improvement in active-active architecture
GB2617015A (en) * 2020-12-03 2023-09-27 Ibm Batch job performance immprovement in active-active architecture
CN112860779A (zh) * 2021-03-29 2021-05-28 中信银行股份有限公司 一种批量数据导入方法及装置
CN112860779B (zh) * 2021-03-29 2024-05-24 中信银行股份有限公司 一种批量数据导入方法及装置

Similar Documents

Publication Publication Date Title
CN105373448B (zh) 数据库中故障数据的恢复方法和系统
EP2595068B1 (en) System and method of performing snapshot isolation in distributed databases
US9898522B2 (en) Distributed storage of aggregated data
Varia Cloud architectures
US9020949B2 (en) Method and system for centralized issue tracking
CN102880503A (zh) 数据分析系统及数据分析方法
CN111382150A (zh) 一种基于Flink的实时计算方法及系统
CN105787058B (zh) 一种用户标签系统及基于用户标签系统的数据推送系统
CN111400011B (zh) 一种实时任务调度方法、系统、设备及可读存储介质
CN101320458A (zh) 在海量数据下完成账单对账的方法及系统
CN110784498B (zh) 一种个性化数据容灾方法及装置
CN112131305A (zh) 账户处理系统
CN111666144A (zh) 批处理任务执行方法、系统以及机房部署系统
US8639657B2 (en) Reorganizing table-based data objects
CN102081757A (zh) 一种报表制作方法及其系统
CN109710679A (zh) 数据抽取方法及装置
CN110008284A (zh) 基于数据页预加载及回滚的数据库数据同步方法及设备
CN109871394B (zh) 一种全量分布式高并发计算方法及装置
CN107678856B (zh) 一种处理业务实体中增量信息的方法及装置
CN113377872B (zh) 在线系统数据在大数据中心的离线同步方法、装置及设备
CN106357735B (zh) 用于操作云计算架构的基础设施层的方法和装置
CN113934797B (zh) 一种银行业超大数据同步方法和系统
CN115168384A (zh) 数据一致性处理方法、装置、服务器及存储介质
CN115083538A (zh) 一种药物数据的处理系统、运行方法及数据处理方法
CN112685485A (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: 20200915