CN114816714A - 联盟链的批量调度方法及系统 - Google Patents

联盟链的批量调度方法及系统 Download PDF

Info

Publication number
CN114816714A
CN114816714A CN202210538542.9A CN202210538542A CN114816714A CN 114816714 A CN114816714 A CN 114816714A CN 202210538542 A CN202210538542 A CN 202210538542A CN 114816714 A CN114816714 A CN 114816714A
Authority
CN
China
Prior art keywords
execution
job
block chain
processing
batch
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
CN202210538542.9A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210538542.9A priority Critical patent/CN114816714A/zh
Publication of CN114816714A publication Critical patent/CN114816714A/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
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Technology Law (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供了一种联盟链的批量调度方法及系统,涉及区块链应用领域,可应用于金融领域和其他领域,所述方法包含:获取批量作业任务数据,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系;通过所述处理任务生成作业实例,根据所述依赖关系和所述作业实例生成执行指令,将所述执行指令上传至区块链;获取执行器根据区块链上的所述执行指令执行处理的执行进度,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链;根据所述依赖关系获得区块链上的多个执行进度,根据多个执行进度获得所述批量作业任务数据的处理结果。

Description

联盟链的批量调度方法及系统
技术领域
本申请涉及区块链应用领域,可应用于金融领域和其他领域,尤指一种联盟链的批量调度方法及系统。
背景技术
在区块链的实际应用中,除了传统的联机交易,还存在实时批量,即一次请求处理多笔交易。批处理任务特点:涉及的交易量较多,耗费的时间比单笔联机交易长,故实时性要求也较低。目前的联盟链主要是处理联机交易为主,暂无批处理方面的技术,无多个作业之间存在先后执行顺序时的自动调度机制。
目前针对批量交易转为联机交易处理的情况较多,由此带来的问题是每一次联机交易的请求与响应是完成交易不可或缺的阶段,但与核心的功能处理无关,频繁的交互是额外的性能损耗。此外,目前针对区块链,不存在作业的自动调度框架,保证作业之间的执行顺序按照业务特点执行。
发明内容
本申请目的在于提供一种联盟链的批量调度方法及系统,予以实现联盟链上批量作业的调度,不同作业之间可以是并行或者串行的关系,可以设置定时或者手工执行;作业的执行由框架自动调起,无需开发人员自行开发。作业的执行顺序是通过控制台以可视化的方式直观的展现出来。
为达上述目的,本申请所提供的联盟链的批量调度方法,具体包含:获取批量作业任务数据,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系;通过所述处理任务生成作业实例,根据所述依赖关系和所述作业实例生成执行指令,将所述执行指令上传至区块链;获取执行器根据区块链上的所述执行指令执行处理的执行进度,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链;根据所述依赖关系获得区块链上的多个执行进度,根据多个执行进度获得所述批量作业任务数据的处理结果。
在上述联盟链的批量调度方法中,可选的,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系还包含:根据所述批量作业任务数据解析获得对应的作业组和作业排程;根据所述作业组定义多个处理任务对应的执行主体获得作业单元信息,通过所述作业排程定义各作业单元信息之间的依赖关系;根据所述作业排程和所述作业单元信息生成调度定义信息,将所述调度定义信息上传至区块链。
在上述联盟链的批量调度方法中,可选的,通过所述处理任务生成作业实例包含:于区块链上获得所述调度定义信息;将所述调度定义信息中各作业单元信息对应的启动时间与当前时间比较,获得比较结果;根据比较结果和所述作业单元信息生成对应的作业实例。
在上述联盟链的批量调度方法中,可选的,根据所述依赖关系和所述作业实例生成执行指令包含:根据所述依赖关系获得所述作业实例的启动次序;根据所述启动次序和所述作业实例中的执行主体生成对应的执行指令。
在上述联盟链的批量调度方法中,可选的,获取执行器根据区块链上的所述执行指令执行处理的执行进度包含:多个执行器均监测区块链上的执行指令,将所述执行指令中的执行主体与当前执行器的标识信息比较;根据比较结果和所述执行指令执行对应的作业处理,并将处理进度上传至区块链。
在上述联盟链的批量调度方法中,可选的,将处理进度上传至区块链还包含:将所述处理进度保存至本地预设记录表中。
在上述联盟链的批量调度方法中,可选的,获取执行器根据区块链上的所述执行指令执行处理的执行进度还包含:当预设周期内未于区块链上获得所述执行器上传的执行进度时,生成超时标识;根据所述超时标识和所述依赖关系将所述执行指令对应作业实例的后续作业实例均标记为置父作业超时。
在上述联盟链的批量调度方法中,可选的,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链包含:根据所述执行进度对应的所述作业实例查询所述依赖关系获得当前处理任务在多个处理任务中的处理次序;根据所述处理次序和所述依赖关系调取相邻的后续作业实例生成执行指令,并上传至区块链。
本申请还提供一种联盟链的批量调度系统,所述系统包含批量调度节点、执行器和区块链网络;所述批量调度节点用于获取批量作业任务数据,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系;通过所述处理任务生成作业实例,根据所述依赖关系和所述作业实例生成执行指令,将所述执行指令上传至区块链网络;以及,获取区块链网络上的执行进度,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链网络;根据所述依赖关系获得区块链上的多个执行进度,根据多个执行进度获得所述批量作业任务数据的处理结果;所述执行器用于监控所述区块链网络获得所述执行指令,根据所述执行指令执行对应的作业处理,并将处理进度上传至区块链网络。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
本申请的有益技术效果在于:可以对多个作业进行统一调度,无需应用自行开发。框架打通应用系统和区块链之间的作业先后依赖关系,并以松耦合的形式实现;作业进度上链,在涉及多个联盟方时,联盟方可以实时取得最新的作业执行情况,联盟方可根据联盟成员内的作业是否完成来发起自身作业的执行;提供控制台查看任务执行情况。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1为本申请一实施例所提供的联盟链的批量调度方法的流程示意图;
图2为本申请一实施例所提供的批量调度节点在联盟链中的结构示意图;
图3为本申请一实施例所提供的批量调度节点和执行器的逻辑示意图;
图4为本申请一实施例所提供的调度定义信息的定义流程示意图;
图5为本申请一实施例所提供的作业实例的生成流程示意图;
图6为本申请一实施例所提供的作业实例的调度流程排程示意图;
图7为本申请一实施例所提供的作业实例的状态调整示意图;
图8为本申请一实施例所提供的执行进度上传流程示意图;
图9为本申请一实施例所提供的超时标识的流程示意图;
图10A为本申请一实施例所提供的按序调度的流程示意图;
图10B为本申请一实施例所提供的执行指令和进度信息的控制逻辑示意图;
图11为本申请一实施例所提供的联盟链的批量调度系统的结构示意图;
图12为本申请一实施例所提供的电子设备的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本申请中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本申请的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,本申请所提供的联盟链的批量调度方法,具体包含:
S101获取批量作业任务数据,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系;
S102通过所述处理任务生成作业实例,根据所述依赖关系和所述作业实例生成执行指令,将所述执行指令上传至区块链;
S103获取执行器根据区块链上的所述执行指令执行处理的执行进度,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链;
S104根据所述依赖关系获得区块链上的多个执行进度,根据多个执行进度获得所述批量作业任务数据的处理结果。
在实际工作中,上述流程主要由联盟链中推选的批量调度节点,具体的,可参考图2所示,在联盟链网络中,在每个联盟方部署区块链批量调度节点,调度节点负责处理本机构的批量作业调度。单个机构的调度节点可以1到多个,通过选举产生主节点,其余为从节点,主节点工作时从节点暂停工作;如果主节点离线,则重新选举。主调度节点将调度信息存储到链上,若主节点离线,重新选举后的主节点从链上获取任务信息接管。该批量调度节点的执行流程逻辑可参考图3所示,各流程步骤将在后续实施例中详细说明。
请参考图4所示,在本申请一实施例中,上述步骤S101中根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系还包含:
S401根据所述批量作业任务数据解析获得对应的作业组和作业排程;
S402根据所述作业组定义多个处理任务对应的执行主体获得作业单元信息,通过所述作业排程定义各作业单元信息之间的依赖关系;
S403根据所述作业排程和所述作业单元信息生成调度定义信息,将所述调度定义信息上传至区块链。
具体的,在该实施例中主要执行图3中的作业定义和定义调度流程量部分,实际工作中,作业定义可分为定义作业组和定义作业信息两个环节,其中,定义作业组包含作业组ID,作业组说明信息。定义作业信息包含定义每个作业的作业信息,包括作业名称、所属作业组ID、开始时间、执行方(应用或区块链)、执行频率(每日或每周或每月,或者指定每周几或者每月几日等)、执行的时间间隔(分钟)、每日执行次数、执行方式(1自动;2手动;3依赖)、超时时间等。
作业名称按照约定的规则命名:机构+应用系统id+自定义作业名等信息。
执行方式分为:1自动;2手动;3依赖;4日切(生成实例),分别说明如下:
自动:一般是定时作业,到点则执行,该时间由批量调度节点服务器确定。
手动:由用户手工发起执行的作业,不经系统自动调度。
依赖:该作业的执行依赖于前序作业执行成功后执行,如果前序作业失败则不执行该作业,以及该作业的后序作业。
定义调度流程:作业调度流程也称“作业排程”,排程确定作业之间先后顺序,若干作业构成一个作业组。作业组内的作业依赖关系满足DAG图的条件。所述DAG图即有向无环图,DAG的条件:1.每个顶点出现且只出现一次。2.若存在一条从顶点A到顶点B的路径,那么在序列中顶点A出现在顶点B的前面。以此,作业排程中作业之间的依赖关系则需要满足有向无环图的条件,不能存在有环的依赖。
请参考图5所示,在本申请一实施例中,上述步骤S102通过所述处理任务生成作业实例可包含:
S501于区块链上获得所述调度定义信息;
S502将所述调度定义信息中各作业单元信息对应的启动时间与当前时间比较,获得比较结果;
S503根据比较结果和所述作业单元信息生成对应的作业实例。
在上述实施例的基础上,步骤S102中根据所述依赖关系和所述作业实例生成执行指令包含:根据所述依赖关系获得所述作业实例的启动次序;根据所述启动次序和所述作业实例中的执行主体生成对应的执行指令。
实际工作中,该流程可根据定义的作业调度流程,调度节点每日生成当天需要执行的案例。此时所有的案例都是处于waiting状态,具体的,可参考图6所示,以实际作业为例,作业组的作业之间满足DAG图的条件。作业S1、S2可并行,这两个作业完成后,作业B2、B2、B3可以并行执行,这3个作业完成后,顺序执行作业C、D。可结合图7所示,其实现流程如下:
1、作业实例生成时所有的案例都是处于waiting状态。
2、作业处于RUNNING状态;如果发起指令失败,则重发,如果在超时时间后依然失败,则置TIMEOUT。
3、当前作业执行成功(状态为COMPLETE),则自动调起后序作业的执行。如果执行报错,则状态变成ERROR。如果当前作业是当前作业组的收口作业,则该作业组的所有作业均完成。
4、该作业可通过控制台发起中断指令,作业状态变成中断(CANCEL),且后序作业均为中断(CANCEL)。
请参考图8所示,在本申请一实施例中,上述步骤S104中获取执行器根据区块链上的所述执行指令执行处理的执行进度包含:
S801多个执行器均监测区块链上的执行指令,将所述执行指令中的执行主体与当前执行器的标识信息比较;
S802根据比较结果和所述执行指令执行对应的作业处理,并将处理进度上传至区块链。
其中,将处理进度上传至区块链还可包含:将所述处理进度保存至本地预设记录表中。在实际工作中,所述执行器可与应用程序部署在一起。执行代理是批量系统中负责接收调度节点发起的作业调度指令的接收方,是批量作业的接收方。执行器在接收到调度节点的指令后,对指令进行解释;根据指令中的作业实例信息、指令类型等,创建处理器实例对象并执行相应的指令。执行器常处理的指令包括:作业进度上报、作业启动、作业停止等。
请参考图9所示,在本申请一实施例中,获取执行器根据区块链上的所述执行指令执行处理的执行进度还包含:
S901当预设周期内未于区块链上获得所述执行器上传的执行进度时,生成超时标识;
S902根据所述超时标识和所述依赖关系将所述执行指令对应作业实例的后续作业实例均标记为置父作业超时。
以此,防止区块链网络没有响应导致进度信息丢失,作业执行器本身将执行进度在本机保存到预设记录表中,从而提供后续查询渠道。
请参考图10A所示,在本申请一实施例中,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链包含:
S1001根据所述执行进度对应的所述作业实例查询所述依赖关系获得当前处理任务在多个处理任务中的处理次序;
S1002根据所述处理次序和所述依赖关系调取相邻的后续作业实例生成执行指令,并上传至区块链。
其控制逻辑可参考图10B所示,在实际工作中可由控制模块在区块链节点进行执行指令写入操作,执行器监听执行指令;作业执行器在区块链节点写入作业执行进度信息,控制模块监听作业执行进度信息。
再请参考图3所示,实际工作中,上述流程主要由批量调度节点和执行器工作完成,其包含如下步骤:
1、定义作业组:作业组ID,作业组说明信息。
2、定义作业信息:定义每个作业的作业信息,包括作业名称、所属作业组ID、开始时间、执行方(应用或区块链)、执行频率(每日或每周或每月,或者指定每周几或者每月几日等)、执行的时间间隔(分钟)、每日执行次数、执行方式(1自动;2手动;3依赖)、超时时间等。
3、定义调度流程:作业调度流程也称“作业排程”,排程确定作业之间先后顺序,若干作业构成一个作业组。作业组内的作业依赖关系满足DAG图的条件。
4、生成作业实例:根据定义的作业调度流程,调度节点每日生成当天需要执行的案例。此时所有的案例都是处于waiting状态。
5、作业调度:根据作业调度信息,扫描待执行的作业组的开口作业。如果到达执行时间,则发起执行指令。
6、进度收集:作业执行过程中,作业执行节点将执行进度及成功失败情况上链。调度模块监听区块链节点的作业执行结果。调度模块根据当前作业的执行成功与否,确定该作业后序依赖的作业是否可以发起,如果当前作业执行成功,则发起后序作业;如果该作业异常,则重启该作业;如果该作业执行报错,则后续作业挂起。
7、控制台输出:控制台是可视化的web界面,根据链上的作业执行情况,展示作业组的DAG依赖图,作业组的作业执行进度。
执行器一般来说与应用程序部署在一起。执行代理是批量系统中负责接收调度节点发起的作业调度指令的接收方,是批量作业的接收方。执行器在接收到调度节点的指令后,对指令进行解释;根据指令中的作业实例信息、指令类型等,创建处理器实例对象并执行相应的指令。
本申请还提供一种联盟链的批量调度系统,所述系统包含批量调度节点、执行器和区块链网络;所述批量调度节点用于获取批量作业任务数据,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系;通过所述处理任务生成作业实例,根据所述依赖关系和所述作业实例生成执行指令,将所述执行指令上传至区块链网络;以及,获取区块链网络上的执行进度,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链网络;根据所述依赖关系获得区块链上的多个执行进度,根据多个执行进度获得所述批量作业任务数据的处理结果;所述执行器用于监控所述区块链网络获得所述执行指令,根据所述执行指令执行对应的作业处理,并将处理进度上传至区块链网络。
为便于更清楚的理解本申请所提供的上述实施例,以下结合图11所示,对上述实施例的整体实施流程做举例说明:
1、首先通过定义调度流程模块通过作业组定义合约定义作业组,通过作业定义合约定义单个作业基本信息,通过作业排程合约定义作业的依赖关系。
2、生成作业实例模块从链上获取调度定义信息,根据作业排程信息生成当天的作业实例。作业实例信息除了作业定义信息,还包括该实例的作业实例ID。
3、作业调度模块扫描当前时间点可以启动的作业,如果满足启动条件则发起执行指令。
4、根据当前作业的信息发对应指令给对应执行器执行。
5、批量作业执行器监听到执行指令后交由对应的执行器即处理器(批量程序)进行处理;
6、执行器执行作业时,将作业进度信息上链;如果在设定的超时时间内一直没有上报进度,则调度模块将该作业置为超时,并将后续作业一并置父作业超时。上链信息包括:作业中途的执行情况,如执行了多少笔;该作业最终的执行结果(成功或失败)。同时,为了防止区块链网络没有响应导致进度信息丢失,作业执行器本身将执行进度在本机保存到“批量作业程序控制表”。
7、进度收集模块监听链上的作业执行信息,并决定当前及后续作业是否继续执行。
其中,控制台模块输出作业的执行情况,可以到年月日等的角度进行查询,可以通过控制台查看作业定义,可以通过控制台手工发起执行任务。框架通过控制台查询保存在链上的作业调度定义信息,以图形化的界面展现作业的前后依赖关系。框架还提供通过控制台手工发起作业执行的功能:通过在作业调度定义查询结果中,点立刻执行的操作按钮执行作业。框架还提供通过控制台中断正在执行的作业功能:通过查询任务执行情况,找到对应的作业,点中断按钮中断作业。框架还可以对作业的执行情况生成响应的报表任务,从不同维度进行统计。
以实际工作中应用系统需要与区块链完成对帐操作为例,应用系统日终定时生成交易明细文件(生成明细作业1),生成文件后,把文件上传到区块链(上传作业2),区块链网络接收文件(接收文件作业3),对接收到的文件进行做校验(校验作业4),校验通过后开始核对数据,并根据预定的合约执行对帐操作(对帐作业5),对帐结果生成文件(生成结果文件作业6),最终将结果发送回应用系统(发送作业7)。在该案例中,这些作业构成一个独立的作业组。开发人员通过批量调度节点定义作业组、每个作业的作业定义信息,作业排程(这里的7个作业为串行关系)等。后续调度框架根据该定义信息进行作业调度。在一些实施例中,商业银行需要向征信中心上报本行客户信用信息,征信中心收到文件后加载文件并更新客户征信信息。该作业调度过程可以放到区块链联盟链网络中。各商业银行可并行向征信中心上送文件,可将文件的生成过程、上送过程上链。文件上送成功后批量作业调度框架自动通知商业银行下载文件,加载文件。
以此,本申请所提供的上述架构可以让应用系统和区块链开发人员轻松快速的进行作业调度。批量调度节点负责作业调度工作和作业执行流程控制的管理者,是批量框架的大脑、是作业调度核心。主要功能有:产生每日要执行的作业;安排作业的执行计划;触发作业运行(支持定时(自动)和依赖两种);作业执行进度监控,根据作业反馈的执行情况更新作业的执行结果;提供控制台,以可视化的界面展示作业执行情况。批量调度节点支持高可用。即在批量系统中有多个批量调度节点存在,但只有一个批量调度节点负责控制工作,一旦该调度节点发生故障,则马上由其他调度节点来接手批量系统的控制工作。由于数据保存在区块链中,故新接手的节点可以从区块链取得最新信息。基于此,本申请所提供的联盟链的批量调度系统可以对多个作业进行统一调度,无需应用自行开发。框架打通应用系统和区块链之间的作业先后依赖关系,并以松耦合的形式实现;作业进度上链,在涉及多个联盟方时,联盟方可以实时取得最新的作业执行情况,联盟方可根据联盟成员内的作业是否完成来发起自身作业的执行;提供控制台查看任务执行情况。
本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述方法的步骤。
如图12所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图12中所示的所有部件;此外,电子设备600还可以包括图12中没有示出的部件,可以参考现有技术。
如图12所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种联盟链的批量调度方法,其特征在于,所述方法包含:
获取批量作业任务数据,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系;
通过所述处理任务生成作业实例,根据所述依赖关系和所述作业实例生成执行指令,将所述执行指令上传至区块链;
获取执行器根据区块链上的所述执行指令执行处理的执行进度,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链;
根据所述依赖关系获得区块链上的多个执行进度,根据多个执行进度获得所述批量作业任务数据的处理结果。
2.根据权利要求1所述的联盟链的批量调度方法,其特征在于,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系还包含:
根据所述批量作业任务数据解析获得对应的作业组和作业排程;
根据所述作业组定义多个处理任务对应的执行主体获得作业单元信息,通过所述作业排程定义各作业单元信息之间的依赖关系;
根据所述作业排程和所述作业单元信息生成调度定义信息,将所述调度定义信息上传至区块链。
3.根据权利要求2所述的联盟链的批量调度方法,其特征在于,通过所述处理任务生成作业实例包含:
于区块链上获得所述调度定义信息;
将所述调度定义信息中各作业单元信息对应的启动时间与当前时间比较,获得比较结果;
根据比较结果和所述作业单元信息生成对应的作业实例。
4.根据权利要求1所述的联盟链的批量调度方法,其特征在于,根据所述依赖关系和所述作业实例生成执行指令包含:
根据所述依赖关系获得所述作业实例的启动次序;
根据所述启动次序和所述作业实例中的执行主体生成对应的执行指令。
5.根据权利要求4所述的联盟链的批量调度方法,其特征在于,获取执行器根据区块链上的所述执行指令执行处理的执行进度包含:
多个执行器均监测区块链上的执行指令,将所述执行指令中的执行主体与当前执行器的标识信息比较;
根据比较结果和所述执行指令执行对应的作业处理,并将处理进度上传至区块链。
6.根据权利要求4所述的联盟链的批量调度方法,其特征在于,将处理进度上传至区块链还包含:
将所述处理进度保存至本地预设记录表中。
7.根据权利要求4所述的联盟链的批量调度方法,其特征在于,获取执行器根据区块链上的所述执行指令执行处理的执行进度还包含:
当预设周期内未于区块链上获得所述执行器上传的执行进度时,生成超时标识;
根据所述超时标识和所述依赖关系将所述执行指令对应作业实例的后续作业实例均标记为置父作业超时。
8.根据权利要求1所述的联盟链的批量调度方法,其特征在于,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链包含:
根据所述执行进度对应的所述作业实例查询所述依赖关系获得当前处理任务在多个处理任务中的处理次序;
根据所述处理次序和所述依赖关系调取相邻的后续作业实例生成执行指令,并上传至区块链。
9.一种联盟链的批量调度系统,其特征在于,所述系统包含批量调度节点、执行器和区块链网络;
所述批量调度节点用于获取批量作业任务数据,根据所述批量作业任务数据解析获得多个处理任务和各处理任务之间的依赖关系;通过所述处理任务生成作业实例,根据所述依赖关系和所述作业实例生成执行指令,将所述执行指令上传至区块链网络;以及,获取区块链网络上的执行进度,根据所述执行进度和所述依赖关系将后续的作业实例所对应的执行指令上传至区块链网络;根据所述依赖关系获得区块链上的多个执行进度,根据多个执行进度获得所述批量作业任务数据的处理结果;
所述执行器用于监控所述区块链网络获得所述执行指令,根据所述执行指令执行对应的作业处理,并将处理进度上传至区块链网络。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有由计算机执行权利要求1至8任一所述方法的计算机程序。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至8任一所述方法的步骤。
CN202210538542.9A 2022-05-18 2022-05-18 联盟链的批量调度方法及系统 Pending CN114816714A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210538542.9A CN114816714A (zh) 2022-05-18 2022-05-18 联盟链的批量调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210538542.9A CN114816714A (zh) 2022-05-18 2022-05-18 联盟链的批量调度方法及系统

Publications (1)

Publication Number Publication Date
CN114816714A true CN114816714A (zh) 2022-07-29

Family

ID=82515539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210538542.9A Pending CN114816714A (zh) 2022-05-18 2022-05-18 联盟链的批量调度方法及系统

Country Status (1)

Country Link
CN (1) CN114816714A (zh)

Similar Documents

Publication Publication Date Title
CN110908875B (zh) 基于操作终端的巡检方法及装置
CN108399132A (zh) 一种调度测试方法、装置及存储介质
CN112463535B (zh) 多集群异常处理方法及装置
TWI564805B (zh) Can dynamically adjust the task scheduling system and scheduling methods
CN110764881A (zh) 分布式系统后台重试方法及装置
CN112181621A (zh) 一种任务调度系统、方法、设备及存储介质
US9292345B2 (en) Systems, methods, and computer program products for processing sets of instructions for mobile devices
CN113760611B (zh) 系统站点切换方法、装置、电子设备及存储介质
CN112069154A (zh) etcd分布式数据库自动运维方法及相关装置
CN112379989B (zh) 一种定时任务进程与队列服务进程管理系统及方法
CN109739539A (zh) 跨环境的应用发布方法、装置、设备及存储介质
CN114816714A (zh) 联盟链的批量调度方法及系统
CN112559158A (zh) 微服务定时任务调度方法及装置
CN110427260B (zh) 主机作业调度方法、装置及系统
CN1327656C (zh) 升级系统设备的方法
JP6577901B2 (ja) 計算機システムおよびシステム状態再現方法
CN110764911A (zh) 基于订单的资源调度方法、装置和控制系统
WO2021021321A1 (en) Parallel cloned workflow execution
CN112416641B (zh) 主从架构中被控端节点重启检测方法及主控端节点
CN115827771A (zh) 跨平台数据异构调度方法及装置
CN113986939A (zh) 数据库的数据变更方法及装置
CN113535558A (zh) 软件版本传输方法及装置
CN113377385A (zh) 客户端自动部署方法及装置
CN113485808B (zh) 系统时间回调方法及装置
CN112905439A (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