CN113657987A - 批量处理数据的方法及装置 - Google Patents
批量处理数据的方法及装置 Download PDFInfo
- Publication number
- CN113657987A CN113657987A CN202010396773.1A CN202010396773A CN113657987A CN 113657987 A CN113657987 A CN 113657987A CN 202010396773 A CN202010396773 A CN 202010396773A CN 113657987 A CN113657987 A CN 113657987A
- Authority
- CN
- China
- Prior art keywords
- processed
- processing
- node
- task
- data object
- 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 204
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000003860 storage Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 14
- 238000012954 risk control Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
Abstract
本发明实施例提供一种批量处理数据的方法及装置,该方法包括:从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息;根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;通过所述任务节点中配置的处理规则对所述待处理数据对象进行处理;向所述调度节点反馈所述待处理数据对象的处理结果。在本发明实施例中,调度节点可以控制多个任务节点处理逻辑,不仅将海量数据计算和处理压力分散,同时在面对不断增量的数据场景中可以通过简单的横向扩容实现弹性化处理。
Description
技术领域
本发明实施例涉及计算机术领域,具体涉及一种批量处理数据的方法及装置。
背景技术
风险管理是现代金融的核心,或者确定地说,金融风险管理是现代金融体系的核心。得益于软件技术、互联网技术的飞速发展,通过软件技术与互联网技术建立和实施金融风险管理,从而建立起高效的、低成本、大数据的现代风险管理体系。
传统银行以“IOE”为高端商业解决方案,但是其建设成本高,运维成本居高不下,现代互联网金融主要采用Linux、Java、MySQL等开源技术实现的具有可维护性、低成本的特点。现代互联网金融在面向大数据的风险管控中,简单的迭代式处理无法满足具有数据量大、计算量大的处理需求。
参见图1,基于SpringBatch的批处理框架来实现批量风险管控,通过多线程的模式实现对任务的拆分处理,获取处理的风控主体后,在Job内执行风控逻辑,并最终输出决策结果。
然而,在海量数据和数据持续增量的场景,SpringBatch单机多线程无法满足弹性计算需求,SpringBatch分布式解决方案复杂,无法满足金融系统的稳定性和可用性的需求。
发明内容
本发明实施例的一个目的在于提供一种批量处理数据的方法及装置,解决SpringBatch单机多线程无法满足弹性计算需求的问题。
第一方面,本发明实施例提供一种批量处理数据的方法,应用于批量处理节点,所述批量处理节点包括多个任务节点,包括:
从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息;
根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;
通过所述任务节点中配置的处理规则对所述待处理数据对象进行处理;
向所述调度节点反馈所述待处理数据对象的处理结果。
可选地,在所述从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息之前,所述方法还包括:
向所述调度节点发送请求消息,所述请求消息用于请求获取待处理数据对象的信息,所述待处理数据对象的信息包括:所述待处理数据对象在所述数据源中的地址偏移量;
所述根据所述待处理数据对象的信息,从数据源中获取所述任务节点的待处理数据对象,包括:
根据所述地址偏移量,从所述数据源中获取待处理数据对象。
可选地,所述方法还包括:
通过空闲任务节点从所述调度节点中获取其他任务节点反馈任务失败的数据对象的信息;
通过所述数据对象的信息,从所述数据源中获取其他任务节点处理失败的数据对象
通过所述空闲任务节点中配置的处理规则对所述其他任务节点处理失败的数据对象进行处理;
向所述调度节点反馈所述其他任务节点处理失败的数据对象的处理结果。
可选地,所述调度节点采用节点分发器实现,所述节点分发器采用在数据库中设置数据库节点分发表实现,所述任务节点的技术框架采用Java、Python,C++,C#,PHP中的任一项技术体系。
第二方面,本发明实施例提供一种批量处理数据的方法,应用于调度节点,包括:
向批量处理节点中的任务节点发送待处理数据对象的信息;
从所述任务节点接收处理结果,所述处理结果是所述任务节点根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
可选地,所述方法还包括:
向所述批量处理节点中空闲任务节点发送其他任务节点反馈任务失败的数据对象的信息。
可选地,所述任务节点的技术框架采用的是Java体系,所述调度节点的技术框架采用的是MySQL体系。
第三方面,本发明实施例还提供一种批量处理节点,包括:
第一获取模块,用于从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息;
第二获取模块,用于根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;
处理模块,用于通过所述任务节点中配置的处理规则对所述待处理数据对象进行处理;
反馈模块,用于向所述调度节点反馈所述待处理数据对象的处理结果。
第四方面,本发明实施例还提供一种调度节点,包括:
第二发送模块,用于向批量处理节点中任务节点发送待处理数据对象的信息;
接收模块,用于从所述任务节点接收处理结果,所述处理结果是所述任务节点根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
第五方面,本发明实施例还提供一种服务器,包括:批量处理模块和调度模块;
所述批量处理模块用于从所述调度模块中获取所述批量处理模块中任务模块的待处理数据对象的信息;根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;通过所述任务模块中配置的处理规则对所述待处理数据对象进行处理;向所述调度模块反馈所述待处理数据对象的处理结果;
所述调度模块用于向批量处理模块中的任务模块发送待处理数据对象的信息;从所述任务模块接收处理结果,所述处理结果是所述任务模块根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现包括如第一方面或第二方面所述的批量处理数据的方法的步骤。
在本发明实施例中,调度节点可以控制多个任务节点处理逻辑,不仅将海量数据计算和处理压力分散,同时在面对不断增量的数据场景中可以通过简单的横向扩容实现弹性化处理。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有的基于SpringBatch的批处理框架的示意图;
图2为本发明实施例的批量处理数据的方法的流程图之一;
图3为本发明实施例的批量处理数据的方法的流程图之二;
图4为本发明实施例的基于Java体系和MySQL体系的批处理框架的示意图之一;
图5为本发明实施例的基于Java体系和MySQL体系的批处理框架的示意图之二;
图6为本发明实施例的批量处理节点的示意图;
图7为本发明实施例的调度节点的示意图;
图8为本发明实施例的服务器的示意图。
具体实施方式
为了便于理解本发明实施例下面先介绍以下技术术语。
SpringBatch:SpringBatch是由Spring社区提供的一个轻量级的综合性批处理框架,可用于开发企业信息系统中那些至关重要的数据批量处理业务。
IOE:IBM的小型机、Oracle数据库、EMC存储设备的英文缩写,是传统高端解决方案,大量应用于传统金融系统中。
JVM:JVM是Java Virtual Machine的缩写,Java虚拟机本质上就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指令。任何平台只要装有针对于该平台的Java虚拟机,字节码文件就可以在该平台上运行。这就是“一次编译,多次运行”。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,说明书以及权利要求中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B,表示包含单独A,单独B,以及A和B都存在三种情况。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
参见图2,本发明实施例提供一种批量处理数据的方法,该方法的执行主体为批量处理节点,批量处理节点包括多个任务节点,具体步骤包括:步骤201、步骤202、步骤203。
步骤201:从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息;
参见图4和图5,上述批量处理节点中可以包括多个任务节点,任务节点是具有逻辑处理能力的节点,例如可以通过虚拟机上的实例实现,即任务节点也可以称为节点实例,由于多个任务节点可以同时处理多个待处理数据对象,比如,在同一个时间每个任务节点处理不同的数据对象,通过多个任务节点可以将海量数据计算和处理压力分散。
可以理解的是,本发明实施例中对批量处理节点中的任务节点的数量不做具体限定。
需要说明的是,批量处理节点和调度节点可以是实体装置也可以是虚拟装置,比如虚拟机实现,而且批量处理节点和调度节点可以部署在同一个服务器中,或者也可以部署在不同的服务器,即在本发明实施例中对于批量处理节点和调度节点的部署形式不做具体限定。
继续参见图4和图5,批量处理节点可以与调度节点进行交互,将批量处理节点中的任务节点的状态更新到调度节点,以及还可以从调度节点中获取处于闲置状态的任务节点的任务,由于批量处理节点中的任务节点之间是平等的,通过扩展任务节点的数量,即可提高整体的批量处理的性能,这样便于实现批量处理节点中任务节点的水平扩展,降低单个任务节点故障的风险,确保批量处理节点的健壮性。
上述调度节点用于控制批量处理节点中各个任务节点的任务,包括记录任务类型、任务的状态流转、数据对象的地址偏移量管理、异常失败任务的重新分发等任务中的一项或多项。
比如,批量处理节点与调度节点进行交互,获取各任务节点的任务,批量处理节点根据获取的任务从数据源中获取各个任务节点的待处理数据对象。
在一些实施方式中,所述任务节点和所述调度节点的技术框架采用的是非Spring体系。所述调度节点采用节点分发器实现,所述节点分发器采用在数据库中设置数据库节点分发表实现,其中所述数据库可以是MySQL、Oracle,SQL Server,DB2,Sybase等主流数据库中的任一项,所述任务节点的技术框架采用Java、Python,C++,C#,PHP中的任一项技术体系。例如,任务节点的技术框架采用的是Java体系,即通过Java程序实现任务节点的处理逻辑,调度节点的技术框架采用的是MySQL体系,参见图4。
可以理解的是,在本发明实施例中对任务节点和调度节点所采用的技术框架不做具体限定。比如,任务节点和调度节点可以使用技术成熟的技术框架实现,这样可以通过较低的技术成本实现对海量数据进行轻量化、高效的批量处理。进一步地,任务节点和所述调度节点可以摆脱技术框架的束缚,通过采用基础的技术体系,实现了低入侵性,确保整个系统的稳定性。
可选地,向所述调度节点发送请求消息,该请求消息用于请求获取数据对象的信息。也就是,调度节点可以基于任务节点的请求向任务节点反馈数据对象的信息。
可选地,所述请求消息中可以包括以下一项或多项:所述批量处理节点中任务节点请求处理的数据对象的类型;任务节点的状态;数据对象的地址偏移量等。比如,数据对象的地址偏移量为10,以当前数据对象的地址为50,请求消息用于请求获取地址范围为50-59的数据对象的信息。
步骤202:根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;
例如,根据所述待处理数据对象在所述数据源中的地址偏移量,从所述数据源中获取待处理数据对象。
上述数据源中存储有待处理的数据对象,该待处理数据对象可以支持按地址偏移量的方式获取,以支持批量处理节点按照一定的地址偏移量从数据源中获取一部分数据对象,以实现批量处理节点数据对象的分片处理的能力。
步骤203:通过所述任务节点中配置的处理规则对所述待处理数据对象进行处理;
每个任务节点都可以配置处理规则,任务节点可以按照其配置的处理规则执行对数据对象的处理,以判断数据对象是否满足要求。可以理解的是,上述处理规则是与业务相关的规则,比如处理规则用于判断请求人申请的业务是否满足预设要求。
以金融业务为例,处理规则可以是风险控制规则,数据对象为风险控制对象,例如,个人风险控制对象、企业风险控制对象等。也就是说,在一些实施方式中,任务节点可以根据风险控制规则对风险控制对象进行处理,判断风险控制对象是否满足风险控制规则。比如,上述金融业务为贷款业务,任务节点根据风险控制规则判断风险控制对象的信用额度是否满足要求,如果满足要求,则可以批准该贷款业务,如果不满足要求,则不批准该贷款业务。
需要说明的是,在本发明实施例中对处理规则不做具体限定。
步骤204:向所述调度节点反馈所述待处理数据对象的处理结果。
可选地,所述处理结果包括以下一项或多项:
(1)任务完成,表示所述待处理数据对象在任务节点上执行正常;
上述执行正常可以理解为任务节点根据处理规则对待处理数据对象进行处理时没有出现异常。
(2)任务失败,表示所述待处理数据对象在任务节点上执行出现异常。
其中,执行出现异常的情况包括以下两种情况:
情况1:由于数据对象的原因导致的异常;
比如,数据对象的编码的问题,导致任务节点对数据对象进行处理时无法完成任务而出现异常,此时可以将处理结果通知数据采集人员重新采集数据。
情况2:由于任务节点的原因导致的异常。
比如,任务节点的硬件或软件问题,导致任务节点对数据对象进行处理时无法完成任务而出现异常。此时可以将处理结果通知维护人员,使得维护人员可以及时的对导致异常的问题进行修复。
在一些实施方式中,所述方法还包括:通过空闲任务节点从所述调度节点中获取其他任务节点反馈任务失败的数据对象的信息;通过所述数据对象的信息,从所述数据源中获取其他任务节点处理失败的数据对象;通过所述空闲任务节点中配置的处理规则对所述其他任务节点处理失败的数据对象进行处理;向所述调度节点反馈所述其他任务节点处理失败的数据对象的处理结果。
在本发明实施例中,通过空闲的任务节点对之前执行失败的数据对象进行重新执行,提高批量处理节点的容错能力,保证了批量处理节点的健壮性。
在本发明实施例中,任务节点通过获取多个待处理数据对象,并结合调度节点控制多个任务节点处理逻辑,不仅将海量数据计算和处理压力分散,同时在面对不断增量的数据场景中可以通过简单的横向扩容实现弹性化处理。由于任务节点和调度节点基于当前系统的技术框架,不需要依赖于Spring,Struts,Hibernate等其他第三方技术框架,即使用者不需要再集成或者引入第三方技术框架,用很低的技术成本就可以实现对海量数据的风险管控任务进行轻量化、高效的处理,并且对已有系统的入侵性低。
参见图3,本发明实施例提供一种批量处理数据的方法,该方法的执行主体可以调度节点,具体步骤包括:步骤301和步骤302。
步骤301:向批量处理节点中任务节点发送待处理数据对象的信息;
步骤302:从所述任务节点接收处理结果,所述处理结果是所述任务节点根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
在一些实施方式中,所述方法还可以包括:向所述批量处理节点中空闲任务节点发送待处理数据对象的信息,所述待处理数据对象是其他任务节点反馈任务失败的数据对象。
在一些实施方式中,所述调度节点中可以存储有以下一项或多项:
(1)数据对象的类型;
(2)数据对象的状态;
(3)数据对象在数据源中地址偏移量。
在一些实施方式中,所述数据对象的状态可以包括以下一项或多项:
(1)任务未完成;
(2)任务完成,表示所述待处理数据对象在任务节点上执行正常;
(3)任务失败,表示所述待处理数据对象在任务节点上执行出现异常。
在一些实施方式中,所述任务节点和所述调度节点的技术框架采用的是非Spring体系。所述调度节点采用节点分发器实现,所述节点分发器采用在数据库中设置数据库节点分发表实现,所述数据库可以是MySQL、Oracle,SQL Server,DB2,Sybase等主流数据库中的任一项,所述任务节点的技术框架采用Java、Python,C++,C#,PHP中的任一项技术体系。在优选实施例中,任务节点的技术框架采用的是Java体系,调度节点的技术框架采用的是MySQL体系。
在本发明实施例中,任务节点通过获取多个待处理数据对象,并结合调度节点控制多个任务节点处理逻辑,不仅将海量数据计算和处理压力分散,同时在面对不断增量的数据场景中可以通过简单的横向扩容实现弹性化处理。由于任务节点和调度节点基于当前系统的技术框架,不需要依赖于Spring,Struts,Hibernate等其他第三方技术框架,即使用者不需要再集成或者引入第三方技术框架,用很低的技术成本就可以实现对海量数据的风险管控任务进行轻量化、高效的处理,并且对当前系统的入侵性低。
下面以金融业务的风控对象批量处理为例进行介绍。
参见图4和图5,在本实施例中,批量处理节点中的任务节点(Node)的技术框架采用Java体系,每个任务节点配置有风控规则(风险控制规则的简称,RiskRule),可以理解的是,在本发明实施例对任务节点的数量不做具体限定。
调度节点的技术框架采用MySQL体系,MySQL设置的节点分发表(NodeDispatcher)记录有以下一项或多项:(1)数据对象的类型;(2)数据对象的状态;(3)数据对象在数据源中地址偏移量。
任务节点通过与调度节点的交互获取风控对象(RiskObject)的信息,根据该信息从数据源中获取风控对象,具体按照一定的地址偏移量从数据源中获取一部分风控对象。通过任务节点中配置的风控规则对风控对象进行处理得到决策结果。
任务节点执行处理结束后,向调度节点反馈风控对象执行完成,并获取新的待处理的风控对象的信息,NodeDispatcher记录风控对象执行完成。可以理解的是,如果批量处理节点中的任务节点是基于地址偏移量获取的风控对象,则该地址偏移量范围内的风控对象执行完成后,相应的任务节点会反馈完成情况,调度节点中的NodeDispatcher会记录该地址偏移量范围内的风控对象执行完成。
任务节点执行处理风控对象失败,该任务节点也会反馈,调度节点中的NodeDispatcher会记录该风控对象失败,然后分发给空闲任务节点重新执行之前执行失败的风控对象。
在本发明实施例中,在风险管控场景中,任务节点通过主动拉取风险管控分片对象(也就是多个待处理数据对象),并结合调度节点控制多个任务节点处理逻辑,不仅将海量数据计算和处理压力分散,同时在面对不断增量的数据场景中可以通过简单的横向扩容实现弹性化处理。由于任务节点和调度节点基于当前系统的技术框架,不需要依赖于Spring,Struts,Hibernate等其他第三方技术框架,即使用者不需要再集成或者引入第三方技术框架,因此用很低的技术成本就可以实现对海量数据的风险管控任务进行轻量化、高效的处理,并且对已有系统的入侵性低。
参见图6,本发明实施例还提供一种批量处理节点,该批量处理节点600包括:
第一获取模块601,用于从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息;
第二获取模块602,用于根据所述待处理数据对象的信息,从数据源中待处理数据对象;
处理模块603,用于通过所述任务节点中配置的处理规则对所述待处理数据对象进行处理;
反馈模块604,用于向所述调度节点反馈所述待处理数据对象的处理结果。
在一些实施方式中,批量处理节点600还包括:
第一发送模块,用于向所述调度节点发送请求消息,所述请求消息用于请求获取待处理数据对象的信息,所述待处理数据对象的信息包括:所述待处理数据对象在所述数据源中的地址偏移量;
第二获取模块602进一步用于:根据所述地址偏移量,从所述数据源中获取所述待处理数据对象。
在一些实施方式中,第一获取模块601还用于:通过空闲任务节点从所述调度节点中获取其他任务节点反馈任务失败的数据对象的信息;
第二获取模块602还用于:通过所述数据对象的信息,从所述数据源中获取其他任务节点处理失败的数据对象;
处理模块603还用于:通过所述空闲任务节点中配置的处理规则对所述其他任务节点处理失败的数据对象进行处理;
反馈模块604还用于:向所述调度节点反馈所述其他任务节点处理失败的数据对象的处理结果。
在一些实施方式中,所述处理结果包括以下一项或多项:
任务完成,表示所述待处理数据对象在任务节点上执行正常;
任务失败,表示所述待处理数据对象在任务节点上执行出现异常。
本发明实施例提供的批量处理节点,可以执行上述图2所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
参见图7,本发明实施例还提供一种调度节点,该调度节点700包括:
第二发送模块701,用于向批量处理节点中任务节点发送待处理数据对象的信息;
接收模块702,用于从任务节点接收处理结果,所述处理结果是任务节点根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
在一些实施方式中,调度节点700还包括:
第三发送模块,用于向所述批量处理节点中空闲任务节点发送其他任务节点反馈任务失败的数据对象的信息。
本发明实施例提供的调度节点,可以执行上述图3所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
参见图8,本发明实施例还提供一种服务器,该服务器800包括:批量处理模块801和调度模块802;
所述批量处理模块801用于从所述调度模块802中获取所述批量处理模块801中任务模块8011的待处理数据对象的信息;根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;通过所述任务模块8011中配置的处理规则对所述待处理数据对象进行处理;向所述调度模块802反馈所述待处理数据对象的处理结果;
所述调度模块802用于向批量处理模块801中的任务模块8011发送待处理数据对象的信息;从所述任务模块8011接收处理结果,所述处理结果是所述任务模块8011根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
比如,批量处理模块801中的任务模块8011的技术框架可以采用Java体系,每个任务模块8011配置有风控规则,调度模块802的技术框架可以采用MySQL体系。
可以理解的是,在本发明实施例对任务模块8011的数量不做具体限定以及采用的技术框架,和调度模块802采用的技术框架不做限定。
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、移动硬盘、只读光盘或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种批量处理数据的方法,应用于批量处理节点,所述批量处理节点包括多个任务节点,其特征在于,包括:
从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息;
根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;
通过所述任务节点中配置的处理规则对所述待处理数据对象进行处理;
向所述调度节点反馈所述待处理数据对象的处理结果。
2.根据权利要求1所述的方法,其特征在于,在所述从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息之前,所述方法还包括:
向所述调度节点发送请求消息,所述请求消息用于请求获取待处理数据对象的信息,所述待处理数据对象的信息包括:所述待处理数据对象在所述数据源中的地址偏移量;
所述根据所述待处理数据对象的信息,从数据源中获取所述任务节点的待处理数据对象,包括:
根据所述地址偏移量,从所述数据源中获取待处理数据对象。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过空闲任务节点从所述调度节点中获取其他任务节点反馈任务失败的数据对象的信息;
通过所述数据对象的信息,从所述数据源中获取其他任务节点处理失败的数据对象;
通过所述空闲任务节点中配置的处理规则对所述其他任务节点处理失败的数据对象进行处理;
向所述调度节点反馈所述其他任务节点处理失败的数据对象的处理结果。
4.根据权利要求1所述的方法,其特征在于,所述调度节点采用节点分发器实现,所述节点分发器采用在数据库中设置数据库节点分发表实现,所述任务节点的技术框架采用Java、Python,C++,C#,PHP中的任一项技术体系。
5.一种批量处理数据的方法,应用于调度节点,其特征在于,包括:
向批量处理节点中的任务节点发送待处理数据对象的信息;
从所述任务节点接收处理结果,所述处理结果是所述任务节点根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
向所述批量处理节点中空闲任务节点发送其他任务节点反馈任务失败的数据对象的信息。
7.一种批量处理节点,其特征在于,包括:
第一获取模块,用于从调度节点中获取所述批量处理节点中任务节点的待处理数据对象的信息;
第二获取模块,用于根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;
处理模块,用于通过所述任务节点中配置的处理规则对所述待处理数据对象进行处理;
反馈模块,用于向所述调度节点反馈所述待处理数据对象的处理结果。
8.一种调度节点,其特征在于,包括:
第二发送模块,用于向批量处理节点中任务节点发送待处理数据对象的信息;
接收模块,用于从所述任务节点接收处理结果,所述处理结果是所述任务节点根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
9.一种服务器,其特征在于,包括:批量处理模块和调度模块;
所述批量处理模块用于从所述调度模块中获取所述批量处理模块中任务模块的待处理数据对象的信息;根据所述待处理数据对象的信息,从数据源中获取待处理数据对象;通过所述任务模块中配置的处理规则对所述待处理数据对象进行处理;向所述调度模块反馈所述待处理数据对象的处理结果;
所述调度模块用于向批量处理模块中的任务模块发送待处理数据对象的信息;从所述任务模块接收处理结果,所述处理结果是所述任务模块根据其配置的处理规则,对所述待处理数据对象进行处理得到的。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现包括如权利要求1至6中任一项所述的批量处理数据的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010396773.1A CN113657987A (zh) | 2020-05-12 | 2020-05-12 | 批量处理数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010396773.1A CN113657987A (zh) | 2020-05-12 | 2020-05-12 | 批量处理数据的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113657987A true CN113657987A (zh) | 2021-11-16 |
Family
ID=78476859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010396773.1A Pending CN113657987A (zh) | 2020-05-12 | 2020-05-12 | 批量处理数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113657987A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8973002B1 (en) * | 2013-09-16 | 2015-03-03 | Fmr Llc | Business rules batch processor |
CN107545005A (zh) * | 2016-06-28 | 2018-01-05 | 华为软件技术有限公司 | 一种数据处理方法及装置 |
CN110727539A (zh) * | 2019-12-19 | 2020-01-24 | 北京江融信科技有限公司 | 批处理任务中的异常处理方法、系统及电子设备 |
-
2020
- 2020-05-12 CN CN202010396773.1A patent/CN113657987A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8973002B1 (en) * | 2013-09-16 | 2015-03-03 | Fmr Llc | Business rules batch processor |
CN107545005A (zh) * | 2016-06-28 | 2018-01-05 | 华为软件技术有限公司 | 一种数据处理方法及装置 |
CN110727539A (zh) * | 2019-12-19 | 2020-01-24 | 北京江融信科技有限公司 | 批处理任务中的异常处理方法、系统及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9396031B2 (en) | Distributed UIMA cluster computing (DUCC) facility | |
Mohammed et al. | Failover strategy for fault tolerance in cloud computing environment | |
US20180091586A1 (en) | Self-healing a message brokering cluster | |
US20110179058A1 (en) | Enabling workflow awareness within a business process management (bpm) system | |
US10944581B2 (en) | Increasing processing capacity of processor cores during initial program load processing | |
CN113569987A (zh) | 模型训练方法和装置 | |
CN111414241A (zh) | 批量数据处理方法、装置、系统、计算机设备及计算机可读存储介质 | |
CN107992354B (zh) | 用于降低内存负载的方法以及装置 | |
CN104484167A (zh) | 任务处理方法及装置 | |
US11068487B2 (en) | Event-stream searching using compiled rule patterns | |
CN116662325B (zh) | 一种数据处理方法及系统 | |
CN105827744A (zh) | 云存储平台的数据处理方法 | |
US11243979B1 (en) | Asynchronous propagation of database events | |
CN111666047A (zh) | 一种分布式系统中存储卷的生成方法和相关装置 | |
CN113657987A (zh) | 批量处理数据的方法及装置 | |
CN104735134B (zh) | 一种用于提供计算服务的方法和装置 | |
CN115617480A (zh) | 一种任务调度方法、装置、系统及存储介质 | |
US20230185631A1 (en) | Embedded capacity-computer module for microservice load balancing and distribution | |
CN106888244B (zh) | 一种业务处理方法及装置 | |
US20180276079A1 (en) | System and method for determining the success of a cross-platform application migration | |
WO2018188958A1 (en) | A method and a host for managing events in a network that adopts event-driven programming framework | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN110941479B (zh) | 任务数据执行方法、服务器以及计算机存储介质 | |
Çiço et al. | High Reliability Approaches in Cloud Applications for Business-Reliability as a Service (RAAS) Model | |
CN111209118A (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 |