CN107247621A - 批处理任务的调度方法及装置 - Google Patents
批处理任务的调度方法及装置 Download PDFInfo
- Publication number
- CN107247621A CN107247621A CN201710256832.3A CN201710256832A CN107247621A CN 107247621 A CN107247621 A CN 107247621A CN 201710256832 A CN201710256832 A CN 201710256832A CN 107247621 A CN107247621 A CN 107247621A
- Authority
- CN
- China
- Prior art keywords
- task
- processing
- node
- service node
- batch processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
Abstract
本发明提供一种批处理任务的调度方法及装置,涉及计算机应用技术领域,其中,所述方法包括:从多个处理服务节点中识别任务分发节点;调用所述任务分发节点执行下述处理:根据批处理任务的属性信息选取处理服务节点执行所述批处理任务。实施本发明,可以构成分布式的批处理任务调度框架,因此,即使个别处理服务节点发生异常也不会导致全部的批处理任务均无法执行,从而保证批处理任务执行的可靠性。
Description
技术领域
本发明涉及计算机应用技术领域,更为具体而言,涉及批处理任务的调度方法及装置。
背景技术
随着银行应用系统的迅猛发展,对于资源的利用率以及系统的吞吐量的要求越来越高。由于批处理任务(由处理任务按照任务内容组合而成的一组批量处理的处理任务)具有资源利用率高、吞吐量大等优势,因此,如何保证批处理任务的有效执行已成为应用系统研发的关键性问题。
然而,目前的批处理框架通常基于C/S(客户端/服务端)架构,因此,无法做到灵活部署,一旦服务端异常将导致批处理任务难以执行,从而降低资源的利用率以及系统的吞吐量。
发明内容
为解决上述技术问题,本发明提供一种批处理任务的调度方法及装置。
一方面,本发明的实施方式提供了一种批处理任务的调度方法,所述方法包括:
从多个处理服务节点中识别任务分发节点;
调用所述任务分发节点执行下述处理:根据批处理任务的属性信息选取处理服务节点执行所述批处理任务。
另一方面,本发明实施方式提供一种批处理任务的调度装置,所述装置包括:
第一识别模块,用于从多个处理服务节点中识别任务分发节点;
第一调用模块,用于调用所述任务分发节点执行下述处理:根据批处理任务的属性信息选取处理服务节点执行所述批处理任务。
实施本发明提供的批处理任务的调度方法及装置,可以构成分布式的批处理任务调度框架,因此,即使个别处理服务节点发生异常也不会导致全部的批处理任务均无法执行,从而保证批处理任务执行的可靠性。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明方法实施方式1的批处理任务的调度方法的流程图;
图2是根据本发明方法实施方式3的批处理任务的调度方法的流程图;
图3是根据本发明装置实施方式1的批处理任务的调度装置的结构示意图;
图4是根据本发明装置实施方式3的批处理任务的调度装置的结构示意图。
具体实施方式
以下结合附图和具体实施方式对本发明的各个方面进行详细阐述。其中,在本发明的各个具体实施方式中,众所周知的操作过程、模块、单元及其相互之间的连接、链接、通信或操作没有示出或未作详细说明。
并且,所描述的特征、架构或功能可在一个或一个以上实施例中以任何方式组合。
此外,本领域技术人员应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。本领域的技术人员还可以容易理解,本文所述和附图所示的各实施方式中的模块、单元或步骤可以按多种不同配置进行组合和设计。
对于未在本说明书中进行具体说明的技术术语,除非另有特定说明,都应以本领域最宽泛的意思进行解释。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明的一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施方式,都属于本发明保护的范围。
【方法实施方式1】
图1是根据本发明方法实施方式1的批处理任务的调度方法的流程图。参见图1,在本实施方式中,所述方法包括:
S11:从多个处理服务节点中识别任务分发节点。
S12:调用所述任务分发节点执行下述处理:根据批处理任务的属性信息选取处理服务节点执行所述批处理任务。
其中,所述任务分发节点指:用于分发批处理任务的处理服务节点。
由于本发明可以构成分布式的批处理任务调度框架,因此,即使个别处理服务节点发生异常也不会导致全部的批处理任务均无法执行,从而保证批处理任务执行的可靠性。
【方法实施方式2】
本实施方式所提供的方法包括了方法实施方式1中的全部内容,在此不再赘述。在本实施方式中,所述属性信息例如包括委托人信息。由此可以实现以委托人为粒度执行批处理任务。
【方法实施方式3】
本实施方式所提供的方法包括了方法实施方式1或者方法实施方式2中的全部内容,在此不再赘述。如图2所示,本实施方式所提供的方法还包括以下处理:
S13:关闭异常的处理服务节点。
S14:识别所述异常的处理服务节点中是否包含所述任务分发节点,若否,则执行S15,若是,则执行S16。
S15:调用所述任务分发节点执行下述处理:以委托人为粒度将已分配给所述异常的处理服务节点的批处理任务,分配给除所述异常的处理服务节点以外剩余的处理服务节点。
S16:从所述剩余的处理服务节点中,重新确定任务分发节点。
S17:调用重新确定的任务分发节点执行下述处理:以委托人为粒度将已分配给所述异常的处理服务节点的批处理任务,分配给所述剩余的处理服务节点。
需要说明的是,本领域的技术人员可以根据实际需要调整本实施方式中各处理的执行顺序,例如,可以并发执行子过程S11至S12,以及子过程S13至S17。
【方法实施方式4】
下面以一个任务分发节点为例,对本实施方式提供的批处理任务的调度方法的进行描述。具体地,在本实施方式中,所述方法包括:
处理1:接收用户通过干预界面设定的批处理任务。
其中,该用户还通过该干预界面设定批处理任务的执行时间。
处理2:从多个处理服务节点中识别当前的任务分发节点。
处理3:调用该任务分发节点生成该批处理任务的调度信息(记载用于执行该批处理任务的处理服务节点)。
具体而言,任务分发节点根据批处理任务的委托人信息分配处理服务节点。
处理4:识别当前时间是否为该批处理任务的执行时间,若是,则执行处理5,若否,则返回执行处理4。
处理5:调用该任务分发节点执行下述处理:根据该调度信息调用处理服务节点执行该批处理任务。
具体而言,该任务分发节点执行下述处理:
处理a:从数据库中读取该批处理任务中已完成的处理任务。
处理b:根据已完成的处理任务确定待执行的处理任务。
处理c:根据该调度信息调用处理服务节点执行该待执行的处理任务,接收处理服务节点返回的处理结果,若该处理结果为处理成功,则执行处理d,若该处理结果为处理失败,则返回执行处理b。
处理d:将该待执行的处理写入数据库中并标记为已完成,返回执行处理a。
同时,所述方法还包括与上述处理1至处理5并发执行的下述处理:
处理6:关闭异常的处理服务节点。
处理7:识别所述异常的处理服务节点中是否包含该任务分发节点,若否,则执行处理8,若是,则执行处理9。
处理8:调用该任务分发节点执行下述处理:以委托人为粒度将已分配给所述异常的处理服务节点的批处理任务,分配给除所述异常的处理服务节点以外剩余的处理服务节点。
处理9:从所述剩余的处理服务节点中,重新确定任务分发节点。
处理10:调用重新确定的任务分发节点执行下述处理:以委托人为粒度将已分配给所述异常的处理服务节点的批处理任务,分配给所述剩余的处理服务节点。
在本实施方式中,在任何时间至多只有一个处理服务节点可以作为任务分发节点,这样可以保证任务分发的准确性。并且,任何一个处理服务节点均可以作为任务分发节点,这样可以保证批处理任务执行的可靠性。
【装置实施方式1】
图3是根据本发明装置实施方式1的批处理任务的调度装置的结构示意图。参见图3,批处理任务的调度装置1包括:第一识别模块11以及第一调用模块12,具体地:
第一识别模块11用于从多个处理服务节点中识别任务分发节点。
第一调用模块12用于调用第一识别模块11识别的任务分发节点执行下述处理:根据批处理任务的属性信息选取处理服务节点执行所述批处理任务。
其中,所述任务分发节点指:用于分发批处理任务的处理服务节点。
由于本发明可以构成分布式的批处理任务调度框架,因此,即使个别处理服务节点发生异常也不会导致全部的批处理任务均无法执行,从而保证批处理任务执行的可靠性。
【装置实施方式2】
本实施方式所提供的装置包括了装置实施方式1中的全部内容,在此不再赘述。在本实施方式中,所述属性信息例如包括委托人信息。由此可以实现以委托人为粒度执行批处理任务。
【装置实施方式3】
本实施方式所提供的装置包括了装置实施方式1或装置实施方式2中的全部内容,在此不再赘述。如图4所示,本实施方式所提供的批处理任务的调度装置1还包括关闭模块13、第二识别模块14、确定模块15、以及第二调用模块16:
关闭模块13用于关闭异常的处理服务节点。
第二识别模块14用于识别关闭模块13所关闭的异常的处理服务节点中是否包含所述任务分发节点。
确定模块15用于在第二识别模块14识别出所述异常的处理服务节点中包含所述任务分发节点的情形下,从除所述异常的处理服务节点以外剩余的处理服务节点中,重新确定任务分发节点。
第二调用模块16用于调用确定模块15重新确定的任务分发节点执行下述处理:以委托人为粒度将已分配给所述异常的处理服务节点的批处理任务,分配给所述剩余的处理服务节点。
本领域的技术人员可以清楚地了解到本发明可全部通过软件实现,也可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,所述计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能手机或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
本文中所使用的“软件”等词均指一般意义上的任意类型的计算机编码或者计算机可执行指令集,可以运行所述编码或者指令集来使计算机或其他处理器程序化以执行如上所述的本发明的技术方案的各个方面。此外,需要说明的是,根据实施方式的一个方面,在执行时实施本发明的技术方案的方法的一个或多个计算机程序不必须要在一台计算机或处理器上,而是可以分布于多个计算机或者处理器中的模块中,以执行本发明的技术方案的各个方面。
计算机可执行指令可以有许多形式,如程序模块,可以由一台或多台计算机或是其他设备执行。一般地,程序模块包括例程、程序、对象、组件以及数据结构等等,执行特定的任务或是实施特定的抽象数据类型。特别地,在各种实施方式中,程序模块的功能可以根据各个不同实施方式的需要进行结合或者拆分。
并且,本发明的技术方案可以体现为一种方法,并且已经提供了所述方法的至少一个示例。可以通过任何一种合适的顺序执行动作,所述动作表现为所述方法中的一部分。因此,实施方式可以构造成可以按照与所示出的执行顺序不同的顺序执行动作,其中,可以包括同时地执行一些动作(尽管在示出的实施方式中,这些动作是连续的)。
本文所给出的和使用的定义,应当对照字典、通过引用而并入的文档中的定义、和/或其通常意思进行理解。
在权利要求书中以及上述的说明书中,所有的过度短语,例如“包括”、“具有”、“包含”、“承载”、“具有”、“涉及”、“主要由…组成”以及类似词语是应理解为是开放式的,即,包含但不限于。只有“由……组成”应该是封闭或半封闭的过度短语。
本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。
Claims (8)
1.一种批处理任务的调度方法,其特征在于,所述方法包括:
从多个处理服务节点中识别任务分发节点;
调用所述任务分发节点执行下述处理:根据批处理任务的属性信息选取处理服务节点执行所述批处理任务。
2.如权利要去1所述的方法,其特征在于,
所述属性信息包括:委托人信息。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
关闭异常的处理服务节点;
识别所述异常的处理服务节点中是否包含所述任务分发节点;
若所述异常的处理服务节点中包含所述任务分发节点,则从除所述异常的处理服务节点以外剩余的处理服务节点中,重新确定任务分发节点。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
调用重新确定的任务分发节点执行下述处理:以委托人为粒度将已分配给所述异常的处理服务节点的批处理任务,分配给所述剩余的处理服务节点。
5.一种批处理任务的调度装置,其特征在于,所述装置包括:
第一识别模块,用于从多个处理服务节点中识别任务分发节点;
第一调用模块,用于调用所述任务分发节点执行下述处理:根据批处理任务的属性信息选取处理服务节点执行所述批处理任务。
6.如权利要去5所述的装置,其特征在于,
所述属性信息包括:委托人信息。
7.如权利要求5或6所述的装置,其特征在于,所述装置还包括:
关闭模块,用于关闭异常的处理服务节点;
第二识别模块,用于识别所述异常的处理服务节点中是否包含所述任务分发节点;
确定模块,用于在所述异常的处理服务节点中包含所述任务分发节点的情形下,从除所述异常的处理服务节点以外剩余的处理服务节点中,重新确定任务分发节点。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
第二调用模块,用于调用重新确定的任务分发节点执行下述处理:以委托人为粒度将已分配给所述异常的处理服务节点的批处理任务,分配给所述剩余的处理服务节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710256832.3A CN107247621B (zh) | 2017-04-19 | 2017-04-19 | 批处理任务的调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710256832.3A CN107247621B (zh) | 2017-04-19 | 2017-04-19 | 批处理任务的调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107247621A true CN107247621A (zh) | 2017-10-13 |
CN107247621B CN107247621B (zh) | 2021-05-25 |
Family
ID=60017256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710256832.3A Active CN107247621B (zh) | 2017-04-19 | 2017-04-19 | 批处理任务的调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107247621B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299119A (zh) * | 2018-08-30 | 2019-02-01 | 上海艾融软件股份有限公司 | 一种针对大量数据分布式批处理的控制系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件系统中基于云计算的实时事件处理系统及方法 |
CN104516967A (zh) * | 2014-12-25 | 2015-04-15 | 国家电网公司 | 一种电力系统海量数据管理系统及其使用方法 |
US20150254734A1 (en) * | 2014-03-06 | 2015-09-10 | Catalina Marketing Corporation | System and method of providing a particular number of distributions of media content through a plurality of distribution nodes |
CN105446807A (zh) * | 2015-11-10 | 2016-03-30 | 中国建设银行股份有限公司 | 批处理方法及装置 |
CN105487924A (zh) * | 2015-11-30 | 2016-04-13 | 中国建设银行股份有限公司 | 一种批处理控制方法及装置 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN106453377A (zh) * | 2016-10-28 | 2017-02-22 | 中金云金融(北京)大数据科技股份有限公司 | 基于区块链的分布式网络智能监控系统及方法 |
-
2017
- 2017-04-19 CN CN201710256832.3A patent/CN107247621B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880475A (zh) * | 2012-10-23 | 2013-01-16 | 上海普元信息技术股份有限公司 | 计算机软件系统中基于云计算的实时事件处理系统及方法 |
US20150254734A1 (en) * | 2014-03-06 | 2015-09-10 | Catalina Marketing Corporation | System and method of providing a particular number of distributions of media content through a plurality of distribution nodes |
CN104516967A (zh) * | 2014-12-25 | 2015-04-15 | 国家电网公司 | 一种电力系统海量数据管理系统及其使用方法 |
CN105446807A (zh) * | 2015-11-10 | 2016-03-30 | 中国建设银行股份有限公司 | 批处理方法及装置 |
CN105487924A (zh) * | 2015-11-30 | 2016-04-13 | 中国建设银行股份有限公司 | 一种批处理控制方法及装置 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理系统和方法 |
CN106453377A (zh) * | 2016-10-28 | 2017-02-22 | 中金云金融(北京)大数据科技股份有限公司 | 基于区块链的分布式网络智能监控系统及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299119A (zh) * | 2018-08-30 | 2019-02-01 | 上海艾融软件股份有限公司 | 一种针对大量数据分布式批处理的控制系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107247621B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11386893B2 (en) | Human-computer interaction processing system, method, storage medium, and electronic device | |
CN106802826A (zh) | 一种基于线程池的业务处理方法及装置 | |
US20160224910A1 (en) | Extraction of system administrator actions to a workflow providing a resolution to a system issue | |
CN109711802A (zh) | 项目信息处理方法、装置、计算机设备和存储介质 | |
US20230139628A1 (en) | Supporting automation of customer service | |
CN108090731A (zh) | 一种信息处理方法及设备 | |
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
CN108683692A (zh) | 一种业务请求处理方法及装置 | |
CN110069312A (zh) | 一种ui组件配置和生成ui组件库的方法及装置 | |
CN110347407A (zh) | 一种获取内存占用量的方法、装置、计算机设备及介质 | |
CN101446906B (zh) | 一种调度多批处理任务的方法及系统 | |
CN109542737A (zh) | 平台告警处理方法、装置、电子装置及存储介质 | |
CN110941488A (zh) | 一种任务处理方法、装置、设备和存储介质 | |
US11587094B2 (en) | Customer service ticket evaluation using multiple time-based machine learning models customer | |
CN110134646B (zh) | 知识平台服务数据存储与集成方法及系统 | |
CN107977275A (zh) | 基于消息队列的任务处理方法及相关设备 | |
CN107247621A (zh) | 批处理任务的调度方法及装置 | |
CN116521350B (zh) | 基于深度学习算法的etl调度方法及装置 | |
CN107230059A (zh) | 联机交易的执行方法及装置 | |
CN108288139A (zh) | 资源分配方法及装置 | |
CN110516922B (zh) | 分配数据处理对象的方法及装置 | |
CN109558238A (zh) | 任务执行方法和装置 | |
US20170068523A1 (en) | Modular Computer Application Development and Usage | |
CN108153595A (zh) | 一种基于python的大数据分布式任务处理装置 | |
CN105955885B (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 |