CN114253930A - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114253930A CN114253930A CN202111501966.XA CN202111501966A CN114253930A CN 114253930 A CN114253930 A CN 114253930A CN 202111501966 A CN202111501966 A CN 202111501966A CN 114253930 A CN114253930 A CN 114253930A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- loading
- cache region
- region
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种数据处理方法、装置、设备及存储介质,涉及计算机技术。该数据处理方法包括:在节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行;在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。本发明实施例提供一种数据处理方法、装置、设备及存储介质,实现了利用分布式缓存实现高效率,又能进行大数据量的批量数据处理。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
数据的批处理,一般指的是在无须人工参与的情况下,系统定期自动地对大批量数据进行业务处理及分析的计算过程。批处理过程一般有处理数据量大、耗时长、自动化执行及周期性执行等特点。
典型批处理程序的运行阶段主要包括数据加载和准备、数据处理、结果输出等三个主要阶段。而分布式缓存通常用来做性能加速。
因为分布式缓存通常来说是基于内存的,而内存的容量是有限的,也就是说可能无法加载过大的数据量,特别是一些大数据量的数据表。
基于以上背景,如何能利用分布式缓存实现高效率,又能进行大数据量的批量处理,是本发明要解决的问题。
发明内容
本发明实施例提供一种数据处理方法、装置、设备及存储介质,以实现利用分布式缓存实现高效率,又能进行大数据量的批量数据处理。
第一方面,本发明实施例提供了一种数据处理方法,该方法应用于一种分布式缓存系统中的一个节点设备,所述数据处理方法包括:
在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;
将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行;
在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
第二方面,本发明实施例还提供了一种数据处理装置,该装置配置于一种分布式缓存系统中的一个节点设备,所述数据处理装置包括:
数据加载模块,用于在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;
数据处理模块,用于将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行;
结果导出模块,用于在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本实施例中任一所述的数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的数据处理方法。
本发明实施例通过在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行,从而实现在分布式缓存的基础上,对数据进行分段加载和流式处理,进而实现对大数据量数据的批量处理。
附图说明
图1为本发明实施例一提供的一种数据处理方法的流程图;
图2是本申请实施例二提供的一种数据处理方法的流程图;
图3是本发明实施例三提供的一种数据处理方法的流程图;
图4是本发明实施例四提供的一种数据处理装置的结构示意图;
图5为本发明实施例五提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种数据处理方法的流程图。本实施例可适用于对大数据量数据的批量处理的情况,该方法可以由一种数据处理装置来执行,该装置可以由软件和/或硬件的方式实现。典型地,该装置可以配置于分布式缓存系统中的至少一个节点设备中。其中,分布式缓存系统包含多个存储数据的节点。参见图1,本申请实施例提供的数据处理方法包括:
S110、在节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中。
其中,节点设备是指分布式缓存系统中的客户端节点,用于存储数据。
节点设备的缓冲区是指节点设备的内存中用于存储缓冲数据的存储区。
当前加载缓存区是指加载待处理数据的存储区,该存储区是节点设备缓冲区中的一部分。
待处理数据是指待执行数据处理逻辑的数据。
可选地,若待处理数据的数据量小于或等于一个当前加载缓存区的数据存储量,则将待处理数据加载至所述至少一个当前加载缓存区中,包括:
将待处理数据加载至一个当前加载缓存区。
若待处理数据的数据量大于一个当前加载缓存区的数据存储量,则将待处理数据加载至所述至少一个当前加载缓存区中,包括:
将待处理数据加载至一个当前加载缓存区;
若加载至该当前加载缓存区中的数据量等于该当前加载缓存区的数据容量,则确定该当前加载缓存区加载完成,并在所述节点设备的缓冲区中重新创建一个当前加载缓存区,用于对所述待处理数据中除已加载数据以外的剩余数据进行加载。
S120、将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行。
其中,中间处理缓存区是存储各数据处理逻辑的待处理数据的存储区,该存储区也是节点设备缓冲区中的一部分。
所述数据处理逻辑的数量为至少一个。具体地,所述数据处理逻辑的数量可以根据实际业务逻辑的需要确定,本实施例对此并不进行任何限制。
具体地,对当前加载缓存区加载完成的确定包括:
若加载至该当前加载缓存区中的数据量等于该当前加载缓存区的数据容量,则确定该当前加载缓存区加载完成;
若加载至该当前加载缓存区中的数据量等于所述待处理数据的数据量,则确定该当前加载缓存区加载完成。
示例性地,若数据处理逻辑的数量为两个,分别为第一处理逻辑和第二处理逻辑,中间处理缓存区的数量为两个,分别为第一处理缓存区和第二处理缓存区,则对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行,包括:
首先利用第一处理逻辑对第一处理缓存区中的数据进行处理;在处理完成后,将处理完成的第一处理缓存区发送给第二处理逻辑进行处理,同时利用第一处理逻辑对第二处理缓存区中的数据进行处理;在第二处理逻辑执行完成后,将处理完成的第二处理缓存发送给第二处理逻辑进行处理。
S130、在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
其中,数据导出缓存区也是节点设备缓冲区中的一部分,用于存储加工完成的导出数据。
综上,本实施例通过将节点设备的缓冲区划分为三部分,分别为当前加载缓存区、中间处理缓存区和数据导出缓存区,从而实现对加载后待处理数据的流式处理。通过将待处理数据加载至所述至少一个当前加载缓存区中,从而实现对待处理数据的分段加载。本发明实施例通过结合分布式缓存、分段加载和流式处理从而实现对大数据量的数据处理。
可选地,本发明实施例中的分布式缓存实例可以是Redis(Remote DictionaryServer,远程字典服务)或Memcached。在这种情况下分布式计算调度和管理功能由数据处理模块完成。
其中,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的应用程序接口。memcached是一套分布式的高速缓存系统。
典型地,本发明实施例中的分布式缓存实例是Apache Ignite。因为ApacheIgnite不仅具有基于内存的缓存功能,还具有分布式计算功能,在这种情况下可以直接使用其分布式计算功能。
其中,Apache Ignite是一个以内存为中心的分布式数据库、缓存和处理平台。
实施例二
图2是本申请实施例二提供的一种数据处理方法的流程图。本实施例是在上述实施例的基础上,对S110的具体。参见图2,本申请实施例提供的数据处理方法包括:
S111、在节点设备的缓冲区中创建至少一个当前加载缓存区。
S112、若待处理数据位于不同数据表中,则根据关联字段,将具有相同关联字段的数据同时加载到所述至少一个当前加载缓存区中。
具体地,关联字段可以流水号或时间戳等。
S120、将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行。
S130、在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
本发明实施例的技术方案,通过根据关联字段,将具有相同关联字段的数据同时加载到所述至少一个当前加载缓存区中,从而实现分布式缓存中的不同表中具有相同关联字段的数据同时被加载到分布式缓存中。
实施例三
图3是本发明实施例三提供的一种数据处理方法的流程图。本实施例是在上述实施例的基础上,以分布式缓存的节点设备为N个,且分别为缓存节点1、缓存节点2……缓存节点N为例,提供的一种可选方案。
该方案应用的分布式缓存系统中各缓存节点有三类缓冲区,分别为当前加载缓存区,中间处理缓存区和数据导出缓存区。每个缓存区的大小均可根据实际需要设定。
(1)当前加载缓存区,用于存储当前正在加载的数据。若当前加载缓存区的数据加载到本缓存区设定的容量(如20G),则可以将当前加载缓存区设置为加载完成,并将加载完成的当前加载缓存区变化为中间处理缓存区;此时可以重新创建一个当前加载缓存区供后续加载数据。
(2)中间处理缓存区的数量可以根据中间处理的需要设定,中间处理缓存区用来存储中间环节数据加工处理的数据。例如如果中间有两个处理环节,每个环节需要生成不同的数据,那么就可以有至少两个中间处理缓存区。
(3)数据导出缓存区用来存储加工完的需要导出的数据。
参见图3,本发明实施例三提供的数据处理方法包括:
1、数据加载阶段:
分段流式加载模块负责将外部数据加载入分布式缓存。可以根据原始数据的大小和加工需要使用不同的加载策略,有如下几种加载策略:
(1)小表(即小数据量的表)全量加载。对于小数据量的表可以全部放在缓存中,这种不需要分段加载。为了提高处理效率,如果分布式缓存有多个缓存节点,小表可以使用复制的方式在缓存的每一个节点上都放置一份。
(2)大表(即大数据量的表)无序分段加载。对于大数据量的表分段加载,具体来说就是将大数据量的一段加载到当前加载缓存区中,根据当前加载缓存区的容量,当前加载缓存区的容量加载满之后,将当前加载缓存区设置为加载完成并变化为中间处理缓存区供后续处理,并重新创建一个当前加载缓存区供后续加载数据。这里的无序加载指的是加载后的数据是没有特定顺序的,后续的加工处理也不需要数据是有序的。这里的分段是每次加载的数据是整体数据中的一段也就是一部分。
(3)大表有序分段加载。根据数据处理的需要,如果后续对于大表的处理要求是有顺序的,那么在加载时候根据特定排序字段如流水号、时间戳等将数据进行加载。在加载的时候需要保证,同一个排序字段值的多行数据会在同一个分段内。
(4)多表依赖有序分段加载。多表依赖有序分段加载指的是在处理过程中,一个表的处理需要依赖另外一张表如和另外一张表进行关联处理。在这种情况一般来说依赖的几张表之间需要有共享的关联字段,而这个关联字段也是加载时进行排序的字段,如流水号,或时间戳等。也就是说不同的几张表在加载一部分到分布式缓存中时,需要保证分布式缓存中的不同表的具有相同关联字段的数据同时被加载到分布式缓存中。
2、数据处理阶段:
数据处理由分段流式处理模块进行驱动。数据处理分为若干个环节,对于大表的分段数据,进行一种流水线式的处理,每一段数据在完成要处理环节后进行下一环节的处理。
根据是否需要生成新数据的需要,中间可能存在若干个中间处理缓存区。每一段数据在经过某一个环节处理后如果生成了新的数据,那么原数据就可以进行丢弃清理。如果没有生成新的数据,那么接着由后续环节进行处理。
每个环节由处理主程序和处理子程序组成。处理主程序进行本环节的调度和管理。由于数据是存储在分布式缓存中,也就是分布的存储在不同节点中。处理子程序以一种分布式的方式,处理分布式缓存中的数据。例如,如果分布式缓存的物理部署由6个节点组成,那么可以有6个处理子程序,每个处理子程序处理每个缓存中的本地数据。
3、数据的导出阶段:
数据的导出由数据导出模块负责。将导出缓存区中的数据导出。数据可以导出到数据库或者文件系统中。
需要导出的数据经过处理后放置到数据导出缓存区。小表数据可以全部放置到数据导出缓存区,大表数据是根据处理的顺序分段放置到数据导出缓存区的。
根据需要,数据导出可以是无序的也可以根据某些字段进行排序的。如果导出数据是需要排序的,由于导出缓存区中当前存在的数据可能只是某个大表数据的一段,那么数据在放置到数据导出缓存区时也是排序的。
此外,根据性能需要,数据可以并行导出。
示例性地,以常见的对账批处理为例,参见数据表1和数据表2,有来自于两个系统的两张记录交易账务数据的数据表需要进行对账处理。
数据表1
SEQ_NO(序列号) | 时间戳 | 金额 |
123456789 | 20200503 15:30:00 | 1000.5 |
123456790 | 20200503 15:33:00 | 2000.8 |
123456791 | 20200503 15:36:00 | 3000.8 |
… | … | … |
数据表2
ID(身份识别号) | 时间戳 | 金额 |
123456789 | 20200503 15:31:00 | 1001 |
123456790 | 20200503 15:32:50 | 2008 |
123456791 | 20200503 15:35:30 | 3001 |
… | … | … |
这两张表SEQ_NO和ID是内容相同的字段,表示交易的流水号。两张表的数据要进行对账,规则是相同流水号的记录,其在两张表中的时间差异不能超过5分钟,金额差异不能超过1。两张表每天都是新增千万行级别数据的表。那么按照本发明实施例其典型处理过程如下:
数据加载:按照多表依赖有序分段加载的方式加载,每次加载两种表当天数据的一段例如各100万条记录。当加载完100万条后,已加载完成的表进入中间处理缓存区进行后续对账处理,在当前加载缓存区中新生成一张表继续进行后续数据的加载。有序依赖意味着两张表的字段都是按照SEQ_NO和ID排序完成加载的。
数据处理:中间处理环节按照上述对账逻辑进行对账,每张表中会增加一个状态字段表示对账的状态,每条数据可能有三种状态:对账成功,对账失败,尚未对账。初始状态为尚未对账。由于两张表的数据都是有序的,可以用一种类似归并排序的方式各自在两张表上使用两个查询游标顺序向下扫描。如果能够匹配流水号符合上述规则,则标志为对账成功,如果能够匹配流水号,但不符合对账规则标志为对账不成功。由于匹配的数据可能正好分布在两个分段的相邻处,需要将某一段处理后没有设置状态的数据保留到下一段的对账中。如果经历了下一段的对账,前一段数据中仍然没有被处理的数据也标志为对账失败。对账失败的数据复制到导出缓冲区。
数据导出:将导出缓冲区的数据导出至文件。
本发明通过分段流式加载和处理的方式,进行内存容量可控情况下的数据流式处理,实现了数据加载和处理的流水线式并行。并基于分布式缓存实现了处理环节的分布式,从而能够使用分布式缓存对于大数据量数据进行批量处理,能够使用内存提升大数据量数据的批处理效率。
实施例四
图4是本发明实施例四提供的一种数据处理装置的结构示意图。该装置配置于一种分布式缓存系统中的至少一个节点设备。参见图4,本发明实施例提供的数据处理装置包括:数据加载模块401、数据处理模块402和结果导出模块403。
其中,数据加载模块401,用于在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;
数据处理模块402,用于将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行;
结果导出模块403,用于在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
本发明实施例通过在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行,从而实现数据的分段流式加载和处理,进而实现对大数据量数据的批量处理。
进一步地,所述数据加载模块,包括:
第一加载单元,用于在所述节点设备的缓冲区中创建一个当前加载缓存区,将所述待处理数据加载至该当前加载缓存区中;
第二加载单元,用于若加载至该当前加载缓存区中的数据量等于该当前加载缓存区的数据容量,则确定该当前加载缓存区加载完成,并在所述节点设备的缓冲区中重新创建一个当前加载缓存区,用于对所述待处理数据中除已加载数据以外的剩余数据进行加载。
进一步地,所述装置还包括:
加载完成模块,用于所述在所述节点设备的缓冲区中创建一个当前加载缓存区,将所述待处理数据加载至该当前加载缓存区中之后,若加载至该当前加载缓存区中的数据量等于所述待处理数据的数据量,则确定该当前加载缓存区加载完成。
进一步地,所述数据加载模块,包括:
关联加载单元,用于若所述待处理数据位于不同数据表中,则根据关联字段,将具有相同关联字段的数据同时加载到所述至少一个当前加载缓存区中。
进一步地,所述数据处理逻辑的数量为至少一个;
所述中间处理缓存区用于存储各数据处理逻辑的待处理数据;
所述分布式缓存系统的分布式缓存实例是Apache Ignite。
实施例五
图5为本发明实施例五提供的一种设备的结构示意图,如图5所示,该设备包括处理器50、存储器51、输入装置52和输出装置53;设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;设备中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/模块(例如,数据处理装置包括的数据加载模块401、数据处理模块402和结果导出模块403)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据处理方法。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置53可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据处理方法,该方法包括:
在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;
将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行;
在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据处理方法中的相关操作.
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据处理方法,其特征在于,该方法应用于一种分布式缓存系统中的至少一个节点设备,所述数据处理方法包括:
在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;
将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行;
在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
2.根据权利要求1所述的方法,其特征在于,所述在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中,包括:
在所述节点设备的缓冲区中创建一个当前加载缓存区,将所述待处理数据加载至该当前加载缓存区中;
若加载至该当前加载缓存区中的数据量等于该当前加载缓存区的数据容量,则确定该当前加载缓存区加载完成,并在所述节点设备的缓冲区中重新创建一个当前加载缓存区,用于对所述待处理数据中除已加载数据以外的剩余数据进行加载。
3.根据权利要求2所述的方法,其特征在于,所述在所述节点设备的缓冲区中创建一个当前加载缓存区,将所述待处理数据加载至该当前加载缓存区中之后,所述方法还包括:
若加载至该当前加载缓存区中的数据量等于所述待处理数据的数据量,则确定该当前加载缓存区加载完成。
4.根据权利要求1所述的方法,其特征在于,所述将待处理数据加载至所述至少一个当前加载缓存区中,包括:
若所述待处理数据位于不同数据表中,则根据关联字段,将具有相同关联字段的数据同时加载到所述至少一个当前加载缓存区中。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述数据处理逻辑的数量为至少一个;
所述中间处理缓存区用于存储各数据处理逻辑的待处理数据;
所述分布式缓存系统的分布式缓存实例是Apache Ignite。
6.一种数据处理装置,其特征在于,该装置配置于一种分布式缓存系统中的至少一个节点设备,所述数据处理装置包括:
数据加载模块,用于在所述节点设备的缓冲区中创建至少一个当前加载缓存区,将待处理数据加载至所述至少一个当前加载缓存区中;
数据处理模块,用于将加载完成的当前加载缓存区作为中间处理缓存区,对所述中间处理缓存区进行逐个数据处理逻辑的顺序执行;
结果导出模块,用于在所述节点设备的缓冲区中创建至少一个数据导出缓存区,将数据处理完成,且需要导出的数据存储至所述至少一个数据导出缓存区中。
7.根据权利要求6所述的装置,其特征在于,所述数据加载模块,包括:
第一加载单元,用于在所述节点设备的缓冲区中创建一个当前加载缓存区,将所述待处理数据加载至该当前加载缓存区中;
第二加载单元,用于若加载至该当前加载缓存区中的数据量等于该当前加载缓存区的数据容量,则确定该当前加载缓存区加载完成,并在所述节点设备的缓冲区中重新创建一个当前加载缓存区,用于对所述待处理数据中除已加载数据以外的剩余数据进行加载。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
加载完成模块,用于所述在所述节点设备的缓冲区中创建一个当前加载缓存区,将所述待处理数据加载至该当前加载缓存区中之后,若加载至该当前加载缓存区中的数据量等于所述待处理数据的数据量,则确定该当前加载缓存区加载完成。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111501966.XA CN114253930A (zh) | 2021-12-09 | 2021-12-09 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111501966.XA CN114253930A (zh) | 2021-12-09 | 2021-12-09 | 数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253930A true CN114253930A (zh) | 2022-03-29 |
Family
ID=80794350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111501966.XA Pending CN114253930A (zh) | 2021-12-09 | 2021-12-09 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253930A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756287A (zh) * | 2022-06-14 | 2022-07-15 | 飞腾信息技术有限公司 | 一种重排序缓冲区的数据处理方法、装置及存储介质 |
CN115292373A (zh) * | 2022-10-09 | 2022-11-04 | 天津南大通用数据技术股份有限公司 | 一种切分数据块的方法及装置 |
-
2021
- 2021-12-09 CN CN202111501966.XA patent/CN114253930A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756287A (zh) * | 2022-06-14 | 2022-07-15 | 飞腾信息技术有限公司 | 一种重排序缓冲区的数据处理方法、装置及存储介质 |
CN115292373A (zh) * | 2022-10-09 | 2022-11-04 | 天津南大通用数据技术股份有限公司 | 一种切分数据块的方法及装置 |
CN115292373B (zh) * | 2022-10-09 | 2023-01-24 | 天津南大通用数据技术股份有限公司 | 一种切分数据块的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9619430B2 (en) | Active non-volatile memory post-processing | |
US8392382B2 (en) | On-line transaction processing (OLTP) compression and re-compression of database data | |
US9477974B2 (en) | Method and systems for flexible and scalable databases | |
US10002019B2 (en) | System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups | |
CN114253930A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN110019251A (zh) | 一种数据处理系统、方法及设备 | |
US20160179918A1 (en) | Asynchronous data replication using an external buffer table | |
US11868330B2 (en) | Method for indexing data in storage engine and related apparatus | |
US20220046036A1 (en) | Mirage Instance of a Database Server | |
González-Aparicio et al. | A new model for testing CRUD operations in a NoSQL database | |
WO2023165271A1 (zh) | 知识图谱的构建、和图计算 | |
CN112052082A (zh) | 任务属性优化方法、装置、服务器及存储介质 | |
US10599614B1 (en) | Intersection-based dynamic blocking | |
CN111752961A (zh) | 一种数据处理方法及装置 | |
CN110704404A (zh) | 一种数据质量校验方法、装置、系统 | |
CN111858366B (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CN111782733A (zh) | 多级数据汇总的方法、分布式数据管理系统及汇总数据管理系统 | |
CN113032368A (zh) | 一种数据迁移方法、装置、存储介质及平台 | |
CN111061712A (zh) | 一种数据连接操作的处理方法及装置 | |
CN113449232A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
US9916339B2 (en) | Efficient sorting in a relational database | |
US11599530B2 (en) | Method of processing data in a database by simultaneously processing row data of key pairs which include a key of a first table in the database, and a matching key and a unique row of a second table in the database | |
CN115544096B (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
US20230031463A1 (en) | Method of batch processing data that is stored in multiple tables as a plurality of rows of data by reading out and batch processing data from only a portion of a row from each of tables that is to be used in batch processing logic | |
US11513862B2 (en) | System and method for state management of devices |
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 |