CN117519983A - 一种基于内存的数据处理方法及装置 - Google Patents
一种基于内存的数据处理方法及装置 Download PDFInfo
- Publication number
- CN117519983A CN117519983A CN202311611144.6A CN202311611144A CN117519983A CN 117519983 A CN117519983 A CN 117519983A CN 202311611144 A CN202311611144 A CN 202311611144A CN 117519983 A CN117519983 A CN 117519983A
- Authority
- CN
- China
- Prior art keywords
- memory
- data block
- preset
- data
- determining
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 230000004044 response Effects 0.000 claims abstract description 56
- 230000001133 acceleration Effects 0.000 claims abstract description 50
- 238000003860 storage Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 230000004931 aggregating effect Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 4
- 230000003416 augmentation Effects 0.000 claims description 2
- 230000009467 reduction Effects 0.000 claims description 2
- 230000008030 elimination Effects 0.000 abstract description 7
- 238000003379 elimination reaction Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于内存的数据处理方法及装置,属于数据处理技术领域,包括:按照预设周期,实时检测系统内存的使用情况,确定内存使用率;响应于确定内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,内存加速操作包括:存储第一新增数据,并对第一新增数据进行预处理,生成多个预处理数据块;响应于确定预处理数据块存在预设去重字段,基于预设去重字段,对预处理数据块进行数据去重,生成合并数据块,并加载至磁盘中;响应于确定内存使用率小于第二预设使用率阈值,增加内存缓冲区的存储空间;响应于确定内存使用率大于等于第二预设使用率阈值,减小内存缓冲区的存储空间,能够实现高时效数据实去重,减少磁盘压力。
Description
技术领域
本申请属于数据处理技术领域,具体地讲,涉及一种基于内存的数据处理方法及装置。
背景技术
ClickHouse为一个用于OLAP(Online Analytical Processing,联机分析处理)的列式数据库管理系统,随着数据量的大幅增长,其作为计算密集型和存储密集型并重的数据分析引擎,并以其轻量和易使用的特性而被越来越广泛地应用在大数据领域中。
在使用ClickHouse数据库管理系统进行数据处理时,一方面,ReplacingMergeTree引擎提供了自动去重的功能,然而,ReplacingMergeTree的数据去重过程是在合并操作时完成的,数据去重存在延迟,不能保证实时更新,因此在合并操作之前,数据表中会出现重复的数据,查询会返回重复数据,导致查询结果不准确;另一方面,在大数据量下,由于需要对重复数据进行去重,合并操作的计算开销较高,用户体验较差。
发明内容
为解决上述技术问题中的至少一个,本申请提供一种基于内存的数据处理方法及装置,能够实现高时效数据实时去重,同时降低合并操作的计算开销,减少了磁盘I/O压力。
根据本申请的第一个方面,提供了一种基于内存的数据处理方法,该方法包括:
按照预设周期,实时检测系统内存的使用情况,确定内存使用率;
响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,其中,所述内存加速操作包括:
存储第一新增数据,并对所述第一新增数据进行预处理,生成多个预处理数据块,其中,所述预处理包括预排序和预聚合;
响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,并将所述合并数据块加载至所述ClickHouse磁盘中;
响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值;
响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
在本实施例的一些可选方式中,所述预处理数据块包括第一预处理数据块和第二预处理数据块,所述响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,包括:
响应于所述第一预处理数据块和所述第二预处理数据块均存在所述预设去重字段,基于所述预设去重字段,对所述第一预处理数据块和所述第二预处理数据块进行数据去重,生成合并数据块;
将所述第一预处理数据块和所述第二预处理数据块标记为无效数据块,并从所述内存缓冲区中删除所述无效数据块。
在本实施例的一些可选方式中,所述将所述合并数据块加载至所述ClickHouse磁盘中,包括:
将所述合并数据块采用批量异步的方式同步至所述ClickHouse磁盘中进行存储,直至确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,所述确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致的步骤,包括:
确定所述内存缓冲区的合并数据块的第一行数和第一字段数总量;
确定所述ClickHouse磁盘中的合并数据块的第二行数和第二字段数总量;
响应于确定所述第一行数与所述第二行数相同且所述第一字段数总量和所述第二字段数总量相同,确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,该方法还包括:
响应于所述内存使用率大于等于所述第一预设使用率阈值,暂停所述内存加速操作;
确定执行所述内存加速操作后的当前待处理数据,并将所述当前待处理数据加载至所述ClickHouse磁盘中。
在本实施例的一些可选方式中,该方法还包括:
响应于所述内存使用率大于等于所述第一预设使用率阈值,存储第二新增数据至所述ClickHouse磁盘中;
在所述ClickHouse磁盘中,对所述第二新增数据和所述当前待处理数据进行数据合并。
在本实施例的一些可选方式中,该方法还包括:
响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值;
响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
在本实施例的一些可选方式中,所述方法还包括:
按照所述预设周期,实时检测系统CPU的使用情况,确定CPU使用率;
其中,所述响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,包括:
响应于确定所述CPU使用率大于等于第三预设使用率阈值且确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行所述内存加速操作。
根据本申请的第二个方面,还提供了一种基于内存的数据处理装置,包括:
内存检测模块,被配置为按照预设周期,实时检测系统内存的使用情况,确定内存使用率;
内存加速模块,被配置为响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,其中,所述内存加速操作包括:
存储第一新增数据,并对所述第一新增数据进行预处理,生成多个预处理数据块,其中,所述预处理包括预排序和预聚合;
响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,并将所述合并数据块加载至所述ClickHouse磁盘中;
响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值;
响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
在本实施例的一些可选方式中,所述预处理数据块包括第一预处理数据块和第二预处理数据块,内存加速模块进一步被配置为:
响应于所述第一预处理数据块和所述第二预处理数据块均存在所述预设去重字段,基于所述预设去重字段,对所述第一预处理数据块和所述第二预处理数据块进行数据去重,生成合并数据块;
将所述第一预处理数据块和所述第二预处理数据块标记为无效数据块,并从所述内存缓冲区中删除所述无效数据块。
在本实施例的一些可选方式中,内存加速模块进一步被配置为:
将所述合并数据块采用批量异步的方式同步至所述ClickHouse磁盘中进行存储,直至确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,内存加速模块进一步被配置为:
确定所述内存缓冲区的合并数据块的第一行数和第一字段数总量;
确定所述ClickHouse磁盘中的合并数据块的第二行数和第二字段数总量;
响应于确定所述第一行数与所述第二行数相同且所述第一字段数总量和所述第二字段数总量相同,确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,该装置还包括:
暂停模块,被配置为响应于所述内存使用率大于等于所述第一预设使用率阈值,暂停所述内存加速操作;
内存加载模块,被配置为确定执行所述内存加速操作后的当前待处理数据,并将所述当前待处理数据加载至所述ClickHouse磁盘中。
在本实施例的一些可选方式中,该装置还包括:
磁盘处理模块,被配置为响应于所述内存使用率大于等于所述第一预设使用率阈值,存储第二新增数据至所述ClickHouse磁盘中;
数据合并模块,被配置为在所述ClickHouse磁盘中,对所述第二新增数据和所述当前待处理数据进行数据合并。
根据本申请的第三个方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述一种基于内存的数据处理方法的步骤。
根据本申请的第四个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述一种基于内存的数据处理方法的步骤。
本申请提供的一种基于内存的数据处理方法及装置,通过在内存使用率小于预设使用率阈值时,在内存缓冲区预先进行数据合并去重等操作,不仅能够提高实时数据处理性能,实现高时效数据实时去重;还能够减少后续在磁盘中进行合并去重操作的计算开销,缓解磁盘I/O压力;此外,根据实时内存使用情况,动态调整内存缓冲区的内存空间,进一步优化内存加速操作,提高数据处理速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例的一种基于内存的数据处理方法的流程图之一;
图2为根据本申请实施例的一种基于内存的数据处理方法的流程图之二;
图3为根据本申请实施例的一种基于内存的数据处理方法的流程图之三;
图4为根据本申请实施例的一种基于内存的数据处理方法的流程图之四;
图5为根据本申请实施例的一种基于内存的数据处理方法的流程图之五;
图6为根据本申请实施例的一种基于内存的数据处理装置的结构示意图;
图7为用来实现本申请实施例的一种基于内存的数据处理方法的电子设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的一个实施例提供了一种基于点差的交易回价方法,如图1所示,该方法包括:
步骤101、按照预设周期,实时检测系统内存的使用情况,确定内存使用率;
步骤102、对响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,其中,所述内存加速操作包括;
步骤1021、存储第一新增数据,并对所述第一新增数据进行预处理,生成多个预处理数据块,其中,所述预处理包括预排序和预聚合;
步骤1022、响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,并将所述合并数据块加载至所述ClickHouse磁盘中;
步骤103、响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值。
步骤104、响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
本申请提供的一种基于内存的数据处理方法,通过在内存使用率小于预设使用率阈值时,在内存缓冲区预先进行数据合并去重等操作,不仅能够提高实时数据处理性能,实现高时效数据实时去重;还能够减少后续在磁盘中进行合并去重操作的计算开销,缓解磁盘I/O压力;此外,动态调整内存策略以提高内存利用效率,根据实时内存使用情况调整内存缓冲区的大小,使得内存利用更加高效,进一步提高数据处理速度,同时在内存资源有限的情况下,还能够确保系统的稳定运行。
下面对图1的每个步骤进行介绍:
步骤101、按照预设周期,实时检测系统内存的使用情况,确定内存使用率。
在本实施例中,按照预设周期,例如每10s或每5s的周期,实时检测系统内存的使用情况,例如可以通过node-exporter工具(一款用于收集服务器的硬件和操作系统指标的工具,与Prometheus结合使用)和Prometheus工具(一款开源的监控和报警工具,提供强大的数据收集和查询功能)查询内存使用情况、磁盘使用情况或网络流量等信息,在确定了系统内存的使用情况后,进一步确定内存使用率。
步骤102、响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作。
在本实施例中,实时检测系统的内存使用情况,以便在内存使用率低于第一预设使用率阈值,例如85%时,启用内存加速操作。需要说明的是,第一预设使用率阈值与实际应用场景有关,本领域技术人员能够依据实际情况自适应设置,本申请对此不做限定。
其中,内存加速操作包括:
步骤1021、存储第一新增数据,并对所述第一新增数据进行预处理,生成多个预处理数据块,其中,所述预处理包括预排序和预聚合。
在本实施例中,当内存使用率低于第一预设使用率阈值时,将新插入的数据存储在内存缓冲区中。同时,可以根据实际需求对数据进行预处理,如预排序或预聚合,从而减少ClickHouse后续合并和压缩的工作量,降低计算开销。
步骤1022、响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,并将所述合并数据块加载至所述ClickHouse磁盘中。
在本实施例中,在内存缓冲区中,根据ReplacingMergeTree的去重键对数据进行实时去重。当第一新增数据插入内存缓冲区并进行预处理得到预处理数据块后,通过检查预处理数据块是否存在预设去重字段,即去重键是否已存在于缓冲区中的数据,若存在,则进行实时去重操作,从而在内存缓冲区中预先进行数据去重操作,提高数据去重操作的时效性,并减少后续合并时的去重操作,从而降低磁盘I/O压力。
在本实施例中,在内存使用率低于第一预设使用率阈值时,可以在内存缓冲区中执行部分数据合并操作,并进行数据去重以及删除已经标记为不可用的数据等操作,从而减少ClickHouse后续合并和压缩的工作量,缓解ClickHouse磁盘I/O的压力,其中,数据合并操作即将多个小数据块(Part)合并成一个较大的数据块(Part)。
例如,在本实施例的一些可选方式中,预处理数据块包括第一预处理数据块和第二预处理数据块,如图2所示,所述响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,包括:
步骤10221、响应于所述第一预处理数据块和所述第二预处理数据块均存在所述预设去重字段,基于所述预设去重字段,对所述第一预处理数据块和所述第二预处理数据块进行数据去重,生成合并数据块;
步骤10222、将所述第一预处理数据块和所述第二预处理数据块标记为无效数据块,并从所述内存缓冲区中删除所述无效数据块。
进一步,设计一个后台进程,将内存缓冲区中的合并后的大数据块(Part)批量异步写入ClickHouse的磁盘存储,在同步过程中,需要确保数据的一致性和完整性。
其中,如图2所示,所述将所述合并数据块加载至所述ClickHouse磁盘中,包括:
步骤10223、将所述合并数据块采用批量异步的方式同步至所述ClickHouse磁盘中进行存储,直至确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,可以通过行数和字段数总量去校验,如图3所示,确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致的步骤,包括:
步骤102231、确定所述内存缓冲区的合并数据块的第一行数和第一字段数总量;
步骤102232、确定所述ClickHouse磁盘中的合并数据块的第二行数和第二字段数总量;
步骤102233、响应于确定所述第一行数与所述第二行数相同且所述第一字段数总量和所述第二字段数总量相同,确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,还可以通过摘要算法,取MD5值校验,确定数据同步前后的一致性。
在实际的生产运行过程中,绝大部分数据的更新操作均在数据写入后的5分钟以内。本申请通过充分利用空闲内存加速新增数据的写入和合并过程,实现了实时数据去重,降低了磁盘I/O压力,从而有效地提高了ClickHouse ReplacingMergeTree引擎在处理实时数据时的性能。
此外,通过在内存缓冲区中实现实时数据去重,本申请减少了后续合并操作的去重工作量,降低了磁盘I/O压力,使得ClickHouse ReplacingMergeTree引擎在处理大量实时数据更新操作时具有更高的性能。
还需要说明的是,系统内存除了执行前述的预处理或合并去重等操作外,还有一些其他工作进程,由此,本申请还可以根据内存使用情况,实时调整内存缓冲区的大小,如图1所示,基于内存的数据处理方法还包括:
步骤103、响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值。
在本实施例中,当系统使用情况空闲时或其他工作进程较少时,会检测到所述内存使用率小于第二预设使用率阈值,其中,第二预设使用率阈值小于第一预设使用率阈值,例如60%时,可以增加内存缓冲区的存储空间,利用具有更大存储空间的内存缓冲区执行内存加速操作,以进一步提升数据处理效率。
步骤104、响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
当系统使用情况繁忙时或其他工作进程较多时,会检测到所述内存使用率大于等于第二预设使用率阈值,此时,需要减小内存缓冲区的存储空间,避免干扰其他工作进程的正常运行,从而在内存资源有限的情况下,确保系统的全面稳定运行。
在本实施例中,动态调整内存策略以提高内存利用效率,根据实时内存使用情况调整内存缓冲区的大小,使得内存利用更加高效,进一步提高数据处理速度,同时在内存资源有限的情况下,还能够确保系统的稳定运行。
应当理解,系统内存的使用情况是实时变化的,内存使用率也是实时变化的,由此,如图4所示,方法还包括:
步骤105、响应于所述内存使用率大于等于所述第一预设使用率阈值,暂停所述内存加速操作;
步骤106、确定执行所述内存加速操作后的当前待处理数据,并将所述当前待处理数据加载至所述ClickHouse磁盘中。
在本实施例中,在内存使用率达到或超过第一预设使用率阈值时,需要暂停内存加速操作,并且,将内存缓冲区中的当前待处理数据写入到ClickHouse磁盘中。
同时,如图4所示,方法还包括:
步骤107、响应于所述内存使用率大于等于所述第一预设使用率阈值,存储第二新增数据至所述ClickHouse磁盘中;
步骤108、在所述ClickHouse磁盘中,对所述第二新增数据和所述当前待处理数据进行数据合并。
在本实施例中,在内存使用率达到或超过第一预设使用率阈值时,在暂停内存加速操作的基础上,为了使得数据处理正常进行,使用磁盘I/O处理数据,即存储第二新增数据至所述ClickHouse磁盘中,以及对第二新增数据和同步过来的当前待处理数据进行数据合并。
在本实施例的一些可选方式中,基于内存的数据处理方法还包括:按照所述预设周期,实时检测系统CPU的使用情况,确定CPU使用率。
其中,所述响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,包括:
响应于确定所述CPU使用率大于等于第三预设使用率阈值且确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行所述内存加速操作。
也就是说,当CPU使用率大于等于第三预设使用率阈值时,表明当前CPU中的工作进程过多,需要在内存使用率小于第一预设使用率阈值的时候,在内存缓冲区执行内存加速操作;相反的,当CPU使用率小于第三预设使用率阈值时,表明当前CPU中的工作进程较少,本领域技术人员可以根据实际情况设置为在内存缓冲区执行内存加速操作或设置为不在内存缓冲区中执行内存加速操作,从而在内存资源有限的情况下,确保系统的稳定运行。
最后,基于图5对前述方案进行总结,本申请提出一种基于实时数据去重的ClickHouse ReplacingMergeTree引擎方法的新方案:
设置内存监控模块,监测内存使用情况,并进行内存使用率判断:当内存使用率低于阈值时,在内存缓冲区启用内存加速,具体通过预排序或预聚合得到预处理后结果,作为内存中的数据块,进一步执行数据去重,将前述内存中的数据块合并为大数据块part,最后启动后台同步进程,将内存缓冲区中的合并数据块写入至ClickHouse的磁盘中;当内存使用率达到或高于阈值时,在磁盘中处理写入合并操作。
设计动态调整内存加速策略,根据实时内存使用情况,增加或减少内存缓冲区的大小。
综上,本申请提供的一种基于内存的数据处理方法,通过在内存使用率小于预设使用率阈值时,在内存缓冲区预先进行数据合并去重等操作,不仅能够提高实时数据处理性能,实现高时效数据实时去重;还能够减少后续在磁盘中进行合并去重操作的计算开销,缓解磁盘I/O压力;此外,根据实时内存使用情况,动态调整内存缓冲区的内存空间,进一步优化内存加速操作,提高数据处理速度。
需要说明的是,本申请技术方案中对数据的获取、存储、使用及处理等均符合法律法规的相关规定。
基于同一发明构思,本申请实施例还提供了一种基于内存的数据处理装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该一种基于内存的数据处理装置所解决问题的原理与一种基于内存的数据处理方法相似,因此一种基于内存的数据处理装置的实施可以参见一种基于内存的数据处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图6所示,该一种基于内存的数据处理装置包括:
内存检测模块701,被配置为按照预设周期,实时检测系统内存的使用情况,确定内存使用率;
内存加速模块702,被配置为响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,其中,所述内存加速操作包括:
存储第一新增数据,并对所述第一新增数据进行预处理,生成多个预处理数据块,其中,所述预处理包括预排序和预聚合;
响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,并将所述合并数据块加载至所述ClickHouse磁盘中;
内存增大模块703,被配置为响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值;
内存减小模块704,被配置为响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
在本实施例的一些可选方式中,所述预处理数据块包括第一预处理数据块和第二预处理数据块,内存加速模块进一步被配置为:
响应于所述第一预处理数据块和所述第二预处理数据块均存在所述预设去重字段,基于所述预设去重字段,对所述第一预处理数据块和所述第二预处理数据块进行数据去重,生成合并数据块;
将所述第一预处理数据块和所述第二预处理数据块标记为无效数据块,并从所述内存缓冲区中删除所述无效数据块。
在本实施例的一些可选方式中,内存加速模块进一步被配置为:
将所述合并数据块采用批量异步的方式同步至所述ClickHouse磁盘中进行存储,直至确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,内存加速模块进一步被配置为:
确定所述内存缓冲区的合并数据块的第一行数和第一字段数总量;
确定所述ClickHouse磁盘中的合并数据块的第二行数和第二字段数总量;
响应于确定所述第一行数与所述第二行数相同且所述第一字段数总量和所述第二字段数总量相同,确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
在本实施例的一些可选方式中,该装置还包括:
暂停模块,被配置为响应于所述内存使用率大于等于所述第一预设使用率阈值,暂停所述内存加速操作;
内存加载模块,被配置为确定执行所述内存加速操作后的当前待处理数据,并将所述当前待处理数据加载至所述ClickHouse磁盘中。
在本实施例的一些可选方式中,该装置还包括:
磁盘处理模块,被配置为响应于所述内存使用率大于等于所述第一预设使用率阈值,存储第二新增数据至所述ClickHouse磁盘中;
数据合并模块,被配置为在所述ClickHouse磁盘中,对所述第二新增数据和所述当前待处理数据进行数据合并。
在本实施例的一些可选方式中,所述装置还包括:
CPU检测模块,被配置为按照所述预设周期,实时检测系统CPU的使用情况,确定CPU使用率;
其中,内存加速模块进一步被配置为:
响应于确定所述CPU使用率大于等于第三预设使用率阈值且确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行所述内存加速操作。
综上,本申请提供的一种基于内存的数据处理装置,通过在内存使用率小于预设使用率阈值时,在内存缓冲区预先进行数据合并去重等操作,不仅能够提高实时数据处理性能,实现高时效数据实时去重;还能够减少后续在磁盘中进行合并去重操作的计算开销,缓解磁盘I/O压力;此外,根据实时内存使用情况,动态调整内存缓冲区的内存空间,进一步优化内存加速操作,提高数据处理速度。
根据本公开的实施例,本公开还提供了一种电子设备以及一种可读存储介质。
一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述实施例的一种基于内存的数据处理方法的步骤。
一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行前述实施例的一种基于内存的数据处理方法的步骤。
图7示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如一种基于内存的数据处理方法。
例如,在一些实施例中,一种基于内存的数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的一种基于内存的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种基于内存的数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开的技术方案所期望的结果,本文在此不进行限制。
在本申请的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
还需要说明的是,在本申请的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (10)
1.一种基于内存的数据处理方法,其特征在于,包括:
按照预设周期,实时检测系统内存的使用情况,确定内存使用率;
响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,其中,所述内存加速操作包括:
存储第一新增数据,并对所述第一新增数据进行预处理,生成多个预处理数据块,其中,所述预处理包括预排序和预聚合;
响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,并将所述合并数据块加载至ClickHouse磁盘中;
响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值;
响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
2.根据权利要求1所述的方法,其特征在于,所述预处理数据块包括第一预处理数据块和第二预处理数据块,所述响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,包括:
响应于所述第一预处理数据块和所述第二预处理数据块均存在所述预设去重字段,基于所述预设去重字段,对所述第一预处理数据块和所述第二预处理数据块进行数据去重,生成合并数据块;
将所述第一预处理数据块和所述第二预处理数据块标记为无效数据块,并从所述内存缓冲区中删除所述无效数据块。
3.根据权利要求1所述的方法,其特征在于,所述将所述合并数据块加载至ClickHouse磁盘中,包括:
将所述合并数据块采用批量异步的方式同步至所述ClickHouse磁盘中进行存储,直至确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
4.根据权利要求3所述的方法,其特征在于,所述确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致的步骤,包括:
确定所述内存缓冲区的合并数据块的第一行数和第一字段数总量;
确定所述ClickHouse磁盘中的合并数据块的第二行数和第二字段数总量;
响应于确定所述第一行数与所述第二行数相同且所述第一字段数总量和所述第二字段数总量相同,确定所述ClickHouse磁盘中的合并数据块与所述内存缓冲区的合并数据块一致。
5.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述内存使用率大于等于所述第一预设使用率阈值,暂停所述内存加速操作;
确定执行所述内存加速操作后的当前待处理数据,并将所述当前待处理数据加载至所述ClickHouse磁盘中。
6.根据权利要求5所述的方法,其特征在于,还包括:
响应于所述内存使用率大于等于所述第一预设使用率阈值,存储第二新增数据至所述ClickHouse磁盘中;
在所述ClickHouse磁盘中,对所述第二新增数据和所述当前待处理数据进行数据合并。
7.根据权利要求1所述的方法,其特征在于,还包括:
按照所述预设周期,实时检测系统CPU的使用情况,确定CPU使用率;
其中,所述响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,包括:
响应于确定所述CPU使用率大于等于第三预设使用率阈值且确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行所述内存加速操作。
8.一种基于内存的数据处理装置,其特征在于,包括:
内存检测模块,被配置为按照预设周期,实时检测系统内存的使用情况,确定内存使用率;
内存加速模块,被配置为响应于确定所述内存使用率小于第一预设使用率阈值,在内存缓冲区执行内存加速操作,其中,所述内存加速操作包括:
存储第一新增数据,并对所述第一新增数据进行预处理,生成多个预处理数据块,其中,所述预处理包括预排序和预聚合;
响应于确定所述预处理数据块存在预设去重字段,基于所述预设去重字段,对所述预处理数据块进行数据去重,生成合并数据块,并将所述合并数据块加载至ClickHouse磁盘中;
内存增大模块,被配置为响应于确定所述内存使用率小于第二预设使用率阈值,增加所述内存缓冲区的存储空间,其中,所述第一预设使用率阈值大于所述第二预设使用率阈值;
内存减小模块,被配置为响应于确定所述内存使用率大于等于所述第二预设使用率阈值,减小所述内存缓冲区的存储空间。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的一种基于内存的数据处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述一种基于内存的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311611144.6A CN117519983A (zh) | 2023-11-29 | 2023-11-29 | 一种基于内存的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311611144.6A CN117519983A (zh) | 2023-11-29 | 2023-11-29 | 一种基于内存的数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117519983A true CN117519983A (zh) | 2024-02-06 |
Family
ID=89749192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311611144.6A Pending CN117519983A (zh) | 2023-11-29 | 2023-11-29 | 一种基于内存的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519983A (zh) |
-
2023
- 2023-11-29 CN CN202311611144.6A patent/CN117519983A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115150471A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN115631273A (zh) | 一种大数据的去重方法、装置、设备及介质 | |
CN114861039B (zh) | 一种搜索引擎的参数配置方法、装置、设备及存储介质 | |
CN113360266B (zh) | 任务处理方法和装置 | |
CN118193485A (zh) | 一种并发控制方法、装置、电子设备及存储介质 | |
CN114490160A (zh) | 一种数据倾斜优化因子自动调整方法、装置、设备和介质 | |
CN117633116A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN113239054A (zh) | 信息生成方法、相关装置及计算机程序产品 | |
CN116594563A (zh) | 分布式存储扩容方法、装置、电子设备和存储介质 | |
CN116578646A (zh) | 一种时序数据同步方法、装置、设备及存储介质 | |
CN114780022B (zh) | 追加写操作实现方法、装置、电子设备及存储介质 | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 | |
CN115905121A (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN117519983A (zh) | 一种基于内存的数据处理方法及装置 | |
CN113641670B (zh) | 数据存储及数据检索方法、装置、电子设备及存储介质 | |
CN115438007A (zh) | 一种文件合并方法、装置、电子设备及介质 | |
CN115454344A (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
CN114924882A (zh) | 一种分布式业务处理方法、装置、设备及存储介质 | |
CN113961581B (zh) | 查询处理方法、装置、电子设备及存储介质 | |
CN114780021B (zh) | 副本修复方法、装置、电子设备及存储介质 | |
CN117493613B (zh) | 一种建筑信息模型的存储和显示方法、装置及电子设备 | |
CN112860638B (zh) | 数据存储的监控方法、装置和电子设备 | |
CN115718608A (zh) | 一种参数更新方法、装置、电子设备和存储介质 | |
CN115687244A (zh) | 文件处理监控方法、装置、设备及介质 | |
CN114416687A (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 |