CN117762873A - 数据处理方法、装置、设备及存储介质 - Google Patents

数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117762873A
CN117762873A CN202311770974.3A CN202311770974A CN117762873A CN 117762873 A CN117762873 A CN 117762873A CN 202311770974 A CN202311770974 A CN 202311770974A CN 117762873 A CN117762873 A CN 117762873A
Authority
CN
China
Prior art keywords
file
target
memory
size
processed
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
CN202311770974.3A
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.)
China Post Consumer Finance Co ltd
Original Assignee
China Post Consumer Finance Co ltd
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 China Post Consumer Finance Co ltd filed Critical China Post Consumer Finance Co ltd
Priority to CN202311770974.3A priority Critical patent/CN117762873A/zh
Publication of CN117762873A publication Critical patent/CN117762873A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据处理方法、装置、设备及存储介质。该方法包括:获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果;根据所述解析结果确定所述待处理文件的文件处理结果。相对于现有的直接对文件进行内存分配后处理的方式,本发明上述方式能够对文件进行拆分后处理,避免直接加载文件处理场景造成内存溢出或者耗时超长,提高文件的处理效率,解决网络带宽局限,机器内存限制引起的通信缓慢甚至异常情况,减少处理业务耗时。

Description

数据处理方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
随着消费金融业务的快速发展,超大账务文件解析落库或数据对账,往往需要考虑到程序部署服务器的性能与内存占用的瓶颈问题,内存直接加载单个文件处理场景容易造成内存溢出或者耗时超长,从而影响线上正常业务开展。因此,如何处理超大财务文件成为了亟待解决的技术问题。
发明内容
本发明的主要目的在于提供了一种数据处理方法、装置、设备及存储介质,旨在解决现有技术大文件处理时容易造成内存溢出的技术问题。
为实现上述目的,本发明提供了一种数据处理方法,所述方法包括以下步骤:
获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;
基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;
根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果;
根据所述解析结果确定所述待处理文件的文件处理结果。
可选地,所述基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件的步骤,包括:
在所述文件切割策略为按照文件大小切割时,根据所述文件信息确定所述待处理文件的文件大小;
获取预设文件标准大小;
根据所述文件大小和所述预设文件标准大小确定目标子文件的文件数量;
根据所述文件数量和所述文件大小确定所述目标子文件的目标文件大小;
根据所述目标文件大小对所述待处理文件进行文件切割,得到切割后的目标子文件。
可选地,所述基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件的步骤,包括:
在所述文件切割策略为按照文件行号切割时,根据所述文件信息确定所述待处理文件的文件行数;
获取预设子文件数量;
根据所述预设子文件数量和所述文件行数确定目标子文件的目标文件行数;
根据所述目标文件行数、所述预设子文件数量和所述待处理文件的文件行数确定所述目标子文件的起始行号和结尾行号;
根据所述起始行号和所述结尾行号确定所述目标子文件。
可选地,所述获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略的步骤,包括:
获取待处理文件的文件信息;
根据所述文件信息确定所述待处理文件的文件大小;
在所述文件大小大于预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件大小切割;
在所述文件大小小于或等于所述预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件行号切割。
可选地,所述根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析的步骤之前,还包括:
根据所述文件信息确定处理所述待处理文件所需要的内存大小;
获取所述目标子文件的文件数量;
根据所述内存大小和所述文件数量确定处理所述目标子文件所需要的目标内存大小;
根据所述目标内存大小确定处理所述目标子文件对应的目标内存块。
可选地,所述目标内存大小确定处理所述目标子文件对应的目标内存块的步骤,包括:
对当前可用内存块进行排序,得到排序结果;
根据所述目标内存大小从所述排序结果中选取处理所述目标子文件对应的目标内存块。
可选地,所述对当前可用内存块进行排序,得到排序结果的步骤之前,还包括:
获取当前运行状态信息;
将所述当前运行状态信息输入至预设内存预测算法,得到所述预设内存预测算法预测的当前可用内存和内存需求;
根据所述当前可用内存和所述内存需求进行内存分配,得到当前可用内存块。
此外,为实现上述目的,本发明还提供一种数据处理装置,所述装置包括:
获取模块,用于获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;
切割模块,用于基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;
解析模块,用于根据所述目标子文件的目标内存块对所述目标子文件进行文件解析,得到解析结果;
处理结果生成模块,用于根据所述解析结果确定所述待处理文件的文件处理结果。
此外,为实现上述目的,本发明还提出一种数据处理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序配置为实现如上文所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上文所述的数据处理方法的步骤。
本发明获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果;根据所述解析结果确定所述待处理文件的文件处理结果。相对于现有的直接对文件进行内存分配后处理的方式,本发明上述方式能够对文件进行拆分后处理,避免直接加载文件处理场景造成内存溢出或者耗时超长,提高文件的处理效率,解决网络带宽局限,机器内存限制引起的通信缓慢甚至异常情况,减少处理业务耗时。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据处理设备的结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理方法第二实施例的流程示意图;
图4为本发明数据处理方法第三实施例的流程示意图;
图5为本发明数据处理方法第三实施例的智能分配内存逻辑流程图;
图6为本发明数据处理装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据处理设备结构示意图。
如图1所示,该数据处理设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyb oard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fid elity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Me mory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
在图1所示的数据处理设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据处理设备中的处理器1001、存储器1005可以设置在数据处理设备中,所述数据处理设备通过处理器1001调用存储器1005中存储的数据处理程序,并执行本发明实施例提供的数据处理方法。
基于上述数据处理设备,本发明实施例提供了一种数据处理方法,参照图2,图2为本发明数据处理方法第一实施例的流程示意图。
本实施例中,所述数据处理方法包括以下步骤:
步骤S10:获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备或数据处理设备。以下以所述数据处理设备为例,对本实施例及下述各实施例进行说明。
需要说明的是,所述文件信息可以是包括所述待处理文件的文件类型、文件大小、文件行数等相关信息。所述待处理文件可以是账务文件、数据库备份或恢复文件、图像或视频文件、日志文件等。所述根据所述文件信息确定所述待处理文件的文件切割策略可以是根据所述文件信息中的文件大小确定文件切割的份数,即将所述待处理文件切割为几个子文件,或者是根据所述文件信息中的文件大小确定是按照待处理文件的行数还是按照待处理文件的文件大小对待处理文件进行切割。具体可以是,在所述待处理文件的文件大小大于预设文件大小阈值时,判定所述文件切割策略为按照文件大小进行切割;在所述待处理文件的文件大小小于或等于预设文件大小阈值时,判定所述文件切割策略为按照文件的行数进行切割。其中,所述预设文件大小阈值为预先设置的文件大小。当待处理文件较大时,若通过行数进行文件切割,则需要先读取文件,获取待处理文件的行数,此时,由于待处理文件较大,确定待处理文件的行数的操作会占用大量的资源,因此,当待处理文件的文件大小大于预设文件大小阈值时,判定所述文件切割策略为按照文件大小进行切割,即可不用确定待处理文件的行数,减少资源的占用。
进一步的,为了提高对文件进行切割的效率,所述步骤S10,可包括:获取待处理文件的文件信息;
根据所述文件信息确定所述待处理文件的文件大小;
在所述文件大小大于预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件大小切割;
在所述文件大小小于或等于所述预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件行号切割。
需要说明的是,所述预设文件切割阈值可以是预先设置的文件大小阈值,用于判断文件的切割策略。为了保证数据的连续性,即每一条数据是完整的,在所述文件大小小于或等于所述预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件行号切割。在所述文件大小大于预设文件切割阈值时,由于按照文件行号切割需要预先计算待处理文件的行号,在文件大小较大时,计算行号会占用资源,因此,在所述文件大小大于预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件大小切割。
步骤S20:基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件。
需要说明的是,所述基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件可以是根据所述文件切割策略确定文件切割的份数,根据所述文件切割的份数对所述待处理文件进行文件切割,得到切割后的目标子文件。
进一步的,为了提高文件切割的效率,所述步骤S20,可包括:在所述文件切割策略为按照文件大小切割时,根据所述文件信息确定所述待处理文件的文件大小;
获取预设文件标准大小;
根据所述文件大小和所述预设文件标准大小确定目标子文件的文件数量;
根据所述文件数量和所述文件大小确定所述目标子文件的目标文件大小;
根据所述目标文件大小对所述待处理文件进行文件切割,得到切割后的目标子文件。
需要说明的是,待处理文件的文件大小可以是所述待处理文件的字节大小。所述预设文件标准大小可以是预先设置的一个目标子文件的文件大小。例如:默认200M一个子文件。所述根据所述文件大小和所述预设文件标准大小确定目标子文件的文件数量可以是用所述文件大小除所述预设文件标准大小并向上取整得到目标子文件的文件数量。根据所述文件数量和所述文件大小确定所述目标子文件的目标文件大小可以是用所述文件大小除所述文件数量得到所述目标子文件的平均文件大小,即目标文件大小。所述根据所述目标文件大小对所述待处理文件进行文件切割,得到切割后的目标子文件可以是根据所述目标文件大小在所述待处理文件中从前往后取所述目标文件大小的字节输出子文件,循环取出目标子文件的文件数量个文件,得到切割后的目标子文件。为了保证数据的连续性,在根据所述目标文件大小对所述待处理文件进行文件切割,得到切割后的目标子文件时,根据目标文件大小往后取给定的大约行字节数的字节输出子文件,循环文件数进行文件的切割,即在根据所述目标文件大小从所述待处理文件中切割子文件时,不严格按照目标文件大小在所述待处理文件中取目标文件大小的字节数作为子文件,而是根据所述目标文件大小对所述待处理文件进行切割时,确定所述目标文件大小的数据在所述待处理文件中占用的行数,以行切割待处理文件,保证数据的连续性,例如,目标文件大小为200M,在对所述待处理文件进行切割时,第200M字节在第23行的中间,则不严格按照取200M字节大小生成目标子文件,而是随机取0-22行数据作为第一个目标子文件,或者是取0-23行数据作为第一个目标子文件。对于最后一个目标子文件,则是直接将待处理文件中的剩余数据均切割至最后一个目标子文件中。
在具体实施中,根据待处理文件的文件总大小fileSize切割,fileSize除标准大小200M余数进1取整计算文件数量num,再根据fileSize/num计算出每个子文件的平均字节数avgSize,然后根据平均字节数avgSize往后取给定的大约行字节数的字节输出子文件,循环文件数进行文件的切割。
步骤S30:根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果。
需要说明的是,所述目标内存块可以是用于解析所述目标子文件的内存块。可以根据所述目标子文件的大小,确定解析所述目标子文件所需要的内存块,然后选取大于所述内存块的最小内存块作为所述目标内存块。所述根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果可以是将所述目标子文件加载至所述目标内存块中对所述目标子文件进行文件解析,得到解析结果。
进一步的,为了解决网络带宽局限,机器内存限制引起的通信缓慢甚至异常情况,减少处理业务耗时,可通过动态内存分配的方式确定所述目标子文件对应的目标内存块,具体的,动态的为所述目标子文件分配对应的目标内存块的步骤可以是:
1,收集数据:分别使用10G文件、5G样例文件利用JMX监控工具收集JVM运行时的各种性能指标数据,即目标指标,包括CPU使用率、内存使用情况、垃圾回收时间,以30天运行的日均值作为收集数据;
2,确定目标指标:以业务响应时长要求和运行性能作为一个区间范围指导JVM配置的目标值。具体是将CPU使用率控制在一定范围内,将内存使用情况控制在机器告警的死亡阈值,减少垃圾回收时间等。
3,构建模型:根据步骤1收集到的样本数据和目标指标,构建一个数学模型来描述JVM配置参数与文件组件运行性能指标之间的关系。使用回归分析机器学习算法来构建该模型。Y=β0+β1X1+β2X2+...+βnXn其中,Y表示性能指标,X1、X2、...、Xn表示JVM配置参数,β0、β1、β2、...βn表示回归系数。
4,训练模型:使用历史数据来训练模型,通过优化算法来调整模型参数,使模型能够准确地预测JVM配置参数与性能指标之间的关系。收集的20天日均值数据,将JVM配置参数和性能指标的取值代入公式,使用最小二乘法来估计回归系数。通过求解回归系数,从而得到JVM配置参数与性能指标之间的关系。
5,验证模型:剩余的10天日均值作为测试集来验证模型的准确性。比较模型预测的结果与实际的性能指标数据,评估模型的预测能力。
6,应用模型:将训练好的模型应用到实际的JVM环境中,根据实时收集到的性能指标数据,预测出最优的JVM配置参数,JVM配置参数可包括线程数量和各个线程对应的动态分配的内存大小,线程数量可以等于目标子文件的数量。
7,自动调整:根据模型预测的最优JVM配置参数,自动调整JVM的配置参数,以达到最优的性能指标。通过Java Management Extensions(JMX)接口,修改堆内存大小、新生代大小、永久代大小。
8,程序调用启动应用shell脚本实现JVM调整后自动优雅重启应用程序。
9,监测效果:重启后,持续监测系统资源的使用情况,判断是否达到了预期的效果。如果资源使用仍然超过阈值,可以继续调整JVM配置,重启JVM。
程序实现可包括步骤:导入JVMAutOModel模型类,创建模型实例,根据模型要求定义输入数据类InputData(即需要预测的目标子文件信息),使用获取到的JVM配置参数来启动应用程序(即数据处理设备);OutputData out putData=model.predict(inputData);//调用模型的方法进行预测;从输出中提取新的JVM配置参数StringjvmConfigParam=outputData.getJvmConfigPara m();//根据模型输出定义获取JVM配置参数;ProcessBuilder processBuilder.start();//使用新的JVM配置参数启动应用程序。
本实施例包括动态调整内存和标准流程化拆分大文件并解析。能够对文件进行切割后处理,避免直接加载文件处理场景造成内存溢出或者耗时超长,提高文件的处理效率,解决网络带宽局限,机器内存限制引起的通信缓慢甚至异常情况,减少处理业务耗时。
在具体实施中,可将本实施例的上述方式封装为组件,业务端可通过钩子函数调用该组件,通过该组件对待处理文件进行智能化切割,通过实时监控机器内存大小动态调整线程池分配线程数进行多线程切割与分布式解析,进而动态计算出最优的JVM内存信息配置参数,实现运行该组件执行的切割和解析任务。
步骤S40:根据所述解析结果确定所述待处理文件的文件处理结果。
需要说明的是,所述根据所述解析结果确定所述待处理文件的文件处理结果可以是确定待处理文件对应的各个目标子文件的解析结果,根据各个目标子文件的解析结果生成所述待处理文件的文件处理结果。
本实施例获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果;根据所述解析结果确定所述待处理文件的文件处理结果。相对于现有的直接对文件进行内存分配后处理的方式,本实施例上述方式能够对文件进行拆分后处理,避免直接加载文件处理场景造成内存溢出或者耗时超长,提高文件的处理效率,解决网络带宽局限,机器内存限制引起的通信缓慢甚至异常情况,减少处理业务耗时。
参考图3,图3为本发明数据处理方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S20包括:
步骤S201:在所述文件切割策略为按照文件行号切割时,根据所述文件信息确定所述待处理文件的文件行数。
需要说明的是,所述根据所述文件信息确定所述待处理文件的文件行数可以是计算所述待处理文件的总行数。
步骤S202:获取预设子文件数量。
需要说明的是,所述预设子文件数量可以是预先设置的对所述待处理文件进行切割时,切割的子文件的数量。例如,预先设置将待处理文件切割为10个子文件进行处理。为了提高文件处理效率,还可以设置根据待处理文件的文件大小确定预设子文件数量,例如,当文件大小小于预设第一阈值时,预设子文件数量为A,当文件大小大于或等于预设第一阈值,且小于预设第二阈值时,预设子文件数量为B,当文件大小大于或等于预设第二阈值时,预设子文件数量为C,其中,预设第一阈值、预设第二阈值A、B以及C均可以是预先设置的值。
步骤S203:根据所述预设子文件数量和所述文件行数确定目标子文件的目标文件行数。
需要说明的是,所述根据所述预设子文件数量和所述文件行数确定目标子文件的目标文件行数可以是用所述文件行数除所述预设子文件数量向上取整得到目标子文件的目标文件行数。所述目标文件行数可以是所述目标子文件中包含的所述待处理文件中的文件行数,例如,当目标文件行数为10时,每一个目标子文件中包含所述待处理文件中的10行数据。
步骤S204:根据所述目标文件行数、所述预设子文件数量和所述待处理文件的文件行数确定所述目标子文件的起始行号和结尾行号。
需要说明的是,所述根据所述目标文件行数、所述预设子文件数量和所述待处理文件的文件行数确定所述目标子文件的起始行号和结尾行号可以是通过以下公式确定所述目标子文件的起始行号和结尾行号:
StartLine=i*PartSize+1
EndLine=min((i+1)*PartSize,N)
其中,StartLine用于表征起始行号,EndLine用于表征结尾行号,i用于表征第i个目标子文件,PartSize用于表征目标文件行数,N用于表征目标文件行数。
在具体实施中,假设要切割的行号为N,将其切割成L个部分。每个部分的大小可以使用以下公式计算:PartSize=ceil(N/L),其中,"ceil"函数表示向上取整。按照以下方式计算每个部分的起始行号和结束行号:对于第i个部分(i从0到L-1),StartLine=i*PartSize+1;EndLine=min((i+1)*PartSize,N),其中min函数返回两个数中的较小值。通过以上公式,可以将行号N均匀地切割成L个部分,每个部分的大小尽量相等。每个部分的起始行号和结束行号可以用于标识要处理的数据的范围,可在并行计算或分布式系统中,将切割后的数据,即目标子文件分配给不同的任务或节点进行处理。
步骤S205:根据所述起始行号和所述结尾行号确定所述目标子文件。
需要说明的是,所述根据所述起始行号和所述结尾行号确定所述目标子文件可以是根据各个目标子文件的所述起始行号和所述结尾行号从所述待处理文件中取出对应的数据生成目标子文件。
本实施例在所述文件切割策略为按照文件行号切割时,根据所述文件信息确定所述待处理文件的文件行数;获取预设子文件数量;根据所述预设子文件数量和所述文件行数确定目标子文件的目标文件行数;根据所述目标文件行数、所述预设子文件数量和所述待处理文件的文件行数确定所述目标子文件的起始行号和结尾行号;根据所述起始行号和所述结尾行号确定所述目标子文件。本实施例根据待处理文件的文件行数对待处理文件进行文件切割,得到多个目标子文件,进而通过分别对目标子文件进行文件处理得到待处理文件的文件处理结果,能够避免在待处理文件较大时,造成内存泄露。
参考图4,图4为本发明数据处理方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S30之前,所述方法还包括:
步骤S001:根据所述文件信息确定处理所述待处理文件所需要的内存大小。
需要说明的是,所述根据所述文件信息确定处理所述待处理文件所需要的内存大小可以是根据所述文件信息确定所述待处理文件的文件大小,根据所述文件大小预测处理所述待处理文件所需要的内存大小。
步骤S002:获取所述目标子文件的文件数量。
需要说明的是,所述目标子文件的文件数量可以是按照上述文件切割步骤对待处理文件进行切割后,得到的目标子文件的数量。
步骤S003:根据所述内存大小和所述文件数量确定处理所述目标子文件所需要的目标内存大小。
需要说明的是,所述根据所述内存大小和所述文件数量确定处理所述目标子文件所需要的目标内存大小可以是用所述内存大小除所述文件数量得到处理所述目标子文件所需要的目标内存大小。所述目标内存大小可以是处理所述目标子文件所需要的内存大小。
进一步的,为了避免由于目标子文件中存在其他引入文件等特殊情况导致实际所需要的内存大小大于所述目标内存大小,在本实施例中,可通过预设内存预测算法预测解析所述目标子文件对应的实际内存大小。具体的,可将所述目标内存大小和所述目标子文件输入至所述预设内存预测算法中,得到所述预设内存预测算法输出的所述目标子文件对应的实际内存大小。将所述实际内存大小作为所述目标内存大小。
其中,所述预设内存预测算法可以是预先根据样本数据训练得到的用于预测文件解析过程中实际所需要的内存大小的算法。所述样本数据可包括样本文件、样本文件对应的目标内存大小以及样本文件对应的实际解析使用内存大小。
步骤S004:根据所述目标内存大小确定处理所述目标子文件对应的目标内存块。
需要说明的是,所述根据所述目标内存大小确定处理所述目标子文件对应的目标内存块可以是从数据处理设备中的各个内存块中选取大于所述目标内存块的最小内存块作为处理所述目标子文件对应的目标内存块。为了避免在实际处理时,预先分配的目标内存块大小不够,因此,在实际处理时可根据实际的文件处理信息实时增加内存。
进一步的,为了提高内存的利用率,所述步骤S004之前,还包括:对当前可用内存块进行排序,得到排序结果;
根据所述目标内存大小从所述排序结果中选取处理所述目标子文件对应的目标内存块。
需要说明的是,所述当前可用内存块可以是所述数据处理设备中的可用的内存块。所述对当前可用内存块进行排序可以是根据所述当前可用内存块的大小对所述当前可用内存块进行排序。所述根据所述目标内存大小从所述排序结果中选取处理所述目标子文件对应的目标内存块可以是根据所述目标内存大小从所述排序结果中选取大于所述目标内存大小的最小的当前可用内存块作为处理所述目标子文件对应的目标内存块。可参照以下公式:
Best Fit=min{(Size-ProcessSize)|(Size>=ProcessSize)}
其中,Best Fit用于表征目标内存块,Size用于表征数据处理设备中可用的内存块大小,ProcessSize代表进程的大小,即目标内存大小。公式的含义是找到能够满足进程大小要求的最小内存块。即找到满足条件Size>=Proce ssSize的最小Size-ProcessSize值。
本实施例遍历数据处理设备中所有可用的内存块,找到满足进程大小要求的最小内存块。这样就可以选择最佳的内存块来分配给进程,以减少内存的浪费和碎片化。
应理解的是,内存是计算机系统中重要的资源之一,它直接影响着系统的性能和效率。传统的内存管理方法通常是静态的,即在系统启动时就分配一定数量的内存,并在运行过程中不进行调整。然而,这种方法存在一些问题,如内存浪费和性能瓶颈。动态调整内存是一种灵活的内存管理方法,可以根据系统的需求动态地分配和释放内存资源,以提高系统的性能和效率。因此,在本实施例中,为了动态地分配适当的内存资源。利用最佳内存适应算法来决定内存的分配方式,实现智能内存分配线程池,来实时调整整体内存块资源的利用率,本实施例中所述对当前可用内存块进行排序,得到排序结果的步骤之前,还包括:
获取当前运行状态信息;
将所述当前运行状态信息输入至预设内存预测算法,得到所述预设内存预测算法预测的当前可用内存和内存需求;
根据所述当前可用内存和所述内存需求进行内存分配,得到当前可用内存块。
需要说明的是,所述当前运行状态信息可以包括所述数据处理设备的当前的运行状态和环境条件信息。所述预设内存预测算法可以是用于根据当前运行状态信息预测未来的内存需求和当前可用内存的算法,可以使用机器学习技术对历史的内存使用数据进行训练,得到所述预设内存预测算法。所述根据所述当前可用内存和所述内存需求进行内存分配,得到当前可用内存块可以是根据所述内存需求和所述当前可用内存对数据处理设备中的当前可用内存进行内存分配,得到多个不同大小的当前可用内存块。
在具体实施中,在处理文件进行切割时前,环境设置初始堆内存-Xms512m,设置运行期间最大内存-Xmx1024m,内存限制4096Mi,CPU限制最大10000M。以5.86G的文件测试直接读取解析平均读耗时约为55分钟,CPU占用最高达90%。降低CPU为4000M。
通过本实施例中的上述步骤完成同样一份文件切割以配置一个为200M子文件拆成30个子文件来测试,切割测试结果为:总耗时38秒,java visual VM监控CPU占用最高去到13.7%,平均运行内存25M左右。极大降低CP U占用率90%,耗时缩短约85倍。
在具体实施中,可参照图5,图5为本发明数据处理方法第三实施例的智能分配内存逻辑流程图。在本实施例中,程序逻辑实现使用链表数据结构来表示内存块,并使用一个优先队列(PriorityQueue)来维护内存块的空闲大小。具体的:创建一个内存块类(MemoryBlock),属性有startAddress、size、isF ree分别表示每个内存块的起始地址、大小和状态(空闲或已分配);创建一个内存管理器类(MemoryManager),用于实现最佳内存分配,包括添加内存块、分配内存和释放内存的方法。其中,添加内存块allocate(),实现逻辑对内存块列表按照大小进行排序,然后遍历每个内存块,找到第一个未分配且大小足够的内存块进行分配。如果找到了合适的内存块,我们将其分配并返回其起始地址。如果没有找到合适的内存块,则返回-1表示分配失败。分配内存deallocate(),根据给定的地址找到对应的内存块,并将其标记为未分配状态。释放内存realse(),垃圾收集器自动地定期扫描对象的动态内存,并将所有的引用对象加上标记,在对象运行结束后(无引用变量对该对象进行关联),清除其标记,并将所有无标记的对象作为垃圾进行回收,释放垃圾对象所占的内存空间。仅当垃圾收集器空闲或内存不足时自动执行。
利用上述动态方法是根据当前内存使用情况自适应地调整切割和合并策略。例如,当内存使用率接近100%时,可以暂停处理并等待内存回收。当内存使用率下降时,可以重新开始处理。这种方法需要进行更复杂的算法设计和实现,并且可能会带来额外的开销。但是它可以更好地适应动态环境并提供更好的性能。具体的,使用ByteBuffer缓存对象来deallocate(1024),利用最佳适应算法Best Fit=min{(Size-ProcessSize)|(Size>=ProcessSiz e)}分配,通过ManagementFactory.getMemoryMXBean.getHeapMemoryUsage()获取可用的内存大小totalSize,比如切割解析一个4G的文件,若totalSize约等20*200M则定义切割20个相对是合适的,否则继续增加拆除个数,拆除个数大致适用目标N>=总文件大小/200M,若通过threadAllocateBytes()获取处理切割解析线程大小ProcessSize,即调用内存管理器MemoryManager.deall ocate()内存分配方法找到满足条件Size>=ProcessSize的最小Size-ProcessS ize值。定义开始地址0;切割结束地址标记文件avgBytes平均字节数4*1024*1024/20,遍历获取出前置条件需要平均字节小于申请的内存申请缓存区值为Size-ProcessSize值;若成立,则deallocate()会返回成功,标记占用,记录上一个切割记录结束标记为下一个切割开始地址,以此类推切割出下一个子文件。若遍历所有内存块deallocate()返回都返回-1,监控告警处理,通过增加程序触发云容器增加应用副本节点扩充内存或者通过调整程序自动JVM内存信息。
具体的,内存管理器用于管理数据处理设备中的内存,包括添加内存块、分配内存以及在内存执行完任务(即目标子文件的解析)后进行内存的释放。在得到切割后的目标子文件后,开始进行链首查找,找到第一个满足条件的目标内存块后,通过所述目标内存块对目标子文件进行解析,并同时继续查找内存中满足条件的内存块,用于解析下一个目标子文件,直至待处理文件切割得到目标子文件均解析完成。
在具体实施中,本实施例中可以预先设置解析规则,具体可包括配置如下信息:1.String path-指定切割的文件路径,为必填配置,配置不合法抛出异常处理;
2、String type-文件类型支持csv文件、txt文件;
3、String separator-分割符,根据业务定义的分割符做字段列切割转换结构List;
4、Long size-指定切割子文件大小(默认200M一个子文件);
5、boolean skipEmptyRows-是否跳过空白行,默认true跳过;
6、boolean containsHeader-是否首行作为标题行,默认false不做标题行;
7、boolean containsEnd-是否跳过末行,默认false不跳过;
8、boolean errorOnDifferentFieldCount-每行个数不同时是否抛出异常,默认false不抛出;
9、boolean excuteOpenPoolDoAnalysis-是否开启多线程解析子切割文件默认false不开启...用户可通过以上参数进行文件解析的配置。
在本实施例中的业务处理调用端可以调用配置的CsvTxtConfig属性进行配置,运行前加载基础逻辑处理类CsvTxtBaseHandleService.vailData()方法对CsvTxtConfig中属性合法校验,必填项作为流程执行准入前置条件,具体的:1.1、切割文件path需合法存在文件,不配置或者不存在文件程序则抛出异常不往下执行;
1.2、type-文件类型支持判断是否属于typeList中的类型,如csv\txt;不在范围则抛出异常不往下执行;
1.3、separator-分割符根据业务定义的分割符做字段列切割转换结构List;不配置则抛出异常;
1.4、size-指定切割子文件大小(默认200M一个子文件);
1.5、skipEmptyRows-是否跳过空白行,默认true跳过,总行数不包含空行计算;
1.6、containsHeader-是否首行作为标题,默认false,从首行开始处理,若true则从切割首行,从第二行开始处理切割;
1.7、containsEnd-是否跳过末行,默认false不跳过;
1.8、errorOnDifferentFieldCount-每行个数不同时是否抛出异常,默认fal se不抛出异常;
1.9、excuteOpenPoolDoAnalysis-是否开启多线程解析子切割文件默认fa lse不开启,开启则默认按照cpu内核数开启多线程并发数据处理。
2、实现流程模板CsvTxtAbstractTemplate对象,重写doAnalysis()方法。编排定义流程标准,即生成执行本实施例中的各个步骤的方法类,并将各个方法类进行封装,设置各个方法类之间的关系,以按照定义的规则和流程执行各个方法类,进而完成文件的处理;
3、业务实现csvTxtHandler.excute()钩子函数,excute处理标准切割、解析后,把第1步获取的config配置,第2步获取的流程模板abstractTemplate,作为入参执行标准切割解析;
4、dosplit()切割子文件方法,返回文件子对象路径,具体的:
4.1.读取原始文件,获取总行数sumSize,配置切割数量count。
4.2.计算每个文件应该包含的行数,即将总行数M除以n,得到每个文件的平均行数。记为avgLines。
4.3.定义一个计数器countLines,用于记录当前已读取的行数。
4.4.定义一个文件计数器fileCount,用于记录当前已生成的文件数量。
4.5.循环读取原始文件的每一行,直到读取完所有行:
如果当前已读取的行数countLines小于等于avgLines,并且文件计数器fileCount小于count,则将该行写入当前文件中。
如果当前已读取的行数countLines大于avgLines,或者文件计数器fileCo unt等于count,则关闭当前文件,增加文件计数器fileCount的值,并重新计数计数器countLines的值。
4.6.完成循环后,将剩余的行数据写入最后一个文件。
例如有一个包含头描述12行记录的文件mydemo.txt,假设每行记录行有9列,首先拆除头部放在下标mydemo0.txt的文件,表示不用做处理的,记录下标0,文件内容为0;从文件第二行开始切割,通过file.legth()计算文件中的总行数为11,根据配置config.count()=4切割11/4为3个文件,mydemo1.txt为3行、mydemo2.txt为4行、mydemo3.txt为4行。
5、doAnalysis()标准解析子文件方法回传对象业务调用;
6、处理完成删除切割的子文件,根据各个子文件的解析结果生成待处理文件的处理结果。
本实施例根据所述文件信息确定处理所述待处理文件所需要的内存大小;获取所述目标子文件的文件数量;根据所述内存大小和所述文件数量确定处理所述目标子文件所需要的目标内存大小;根据所述目标内存大小确定处理所述目标子文件对应的目标内存块。本实施例根据处理所述待处理文件所需要的内存大小确定各个目标子文件对应的目标内存块,根据目标内存块对目标子文件进行处理,能够提高内存块的利用率。
本实施例可以对超大账务文件进行标准流程化切割解析,并可以进行基本能力封装,解决网络带宽局限,机器内存限制引起的通信缓慢甚至异常情况,减少处理业务耗时,可以预测系统内存资源需求,动态地分配适当的内存资源。实现智能内存分配线程池,来实时调整整体内存块资源的利用率,然后根据行号或文件大小切割超大账务文件,按照业务需求配置的指令对文件进行规则解析,从而实现智能标准流程化切割读取大数据文件。
参照图6,图6为本发明数据处理装置第一实施例的结构框图。
如图6所示,本发明实施例提出的数据处理装置包括:
获取模块10,用于获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;
切割模块20,用于基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;
解析模块30,用于根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果;
处理结果生成模块40,用于根据所述解析结果确定所述待处理文件的文件处理结果。
本实施例获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析,得到解析结果;根据所述解析结果确定所述待处理文件的文件处理结果。相对于现有的直接对文件进行内存分配后处理的方式,本实施例上述方式能够对文件进行拆分后处理,避免直接加载文件处理场景造成内存溢出或者耗时超长,提高文件的处理效率,解决网络带宽局限,机器内存限制引起的通信缓慢甚至异常情况,减少处理业务耗时。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据处理方法,此处不再赘述。
基于本发明上述数据处理装置第一实施例,提出本发明数据处理装置的第二实施例。
在本实施例中,所述切割模块20,还用于在所述文件切割策略为按照文件大小切割时,根据所述文件信息确定所述待处理文件的文件大小;
获取预设文件标准大小;
根据所述文件大小和所述预设文件标准大小确定目标子文件的文件数量;
根据所述文件数量和所述文件大小确定所述目标子文件的目标文件大小;
根据所述目标文件大小对所述待处理文件进行文件切割,得到切割后的目标子文件。
进一步的,所述切割模块20,还用于在所述文件切割策略为按照文件行号切割时,根据所述文件信息确定所述待处理文件的文件行数;
获取预设子文件数量;
根据所述预设子文件数量和所述文件行数确定目标子文件的目标文件行数;
根据所述目标文件行数、所述预设子文件数量和所述待处理文件的文件行数确定所述目标子文件的起始行号和结尾行号;
根据所述起始行号和所述结尾行号确定所述目标子文件。
进一步的,所述获取模块10,还用于获取待处理文件的文件信息;
根据所述文件信息确定所述待处理文件的文件大小;
在所述文件大小大于预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件大小切割;
在所述文件大小小于或等于所述预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件行号切割。
进一步的,所述解析模块30,还用于根据所述文件信息确定处理所述待处理文件所需要的内存大小;
获取所述目标子文件的文件数量;
根据所述内存大小和所述文件数量确定处理所述目标子文件所需要的目标内存大小;
根据所述目标内存大小确定处理所述目标子文件对应的目标内存块。
进一步的,所述解析模块30,还用于对当前可用内存块进行排序,得到排序结果;
根据所述目标内存大小从所述排序结果中选取处理所述目标子文件对应的目标内存块。
进一步的,所述解析模块30,还用于获取当前运行状态信息;
将所述当前运行状态信息输入至预设内存预测算法,得到所述预设内存预测算法预测的当前可用内存和内存需求;
根据所述当前可用内存和所述内存需求进行内存分配,得到当前可用内存块。
本发明数据处理装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上文所述的数据处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;
基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;
根据所述目标子文件的目标内存块对所述目标子文件进行文件解析,得到解析结果;
根据所述解析结果确定所述待处理文件的文件处理结果。
2.如权利要求1所述的数据处理方法,其特征在于,所述基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件的步骤,包括:
在所述文件切割策略为按照文件大小切割时,根据所述文件信息确定所述待处理文件的文件大小;
获取预设文件标准大小;
根据所述文件大小和所述预设文件标准大小确定目标子文件的文件数量;
根据所述文件数量和所述文件大小确定所述目标子文件的目标文件大小;
根据所述目标文件大小对所述待处理文件进行文件切割,得到切割后的目标子文件。
3.如权利要求1所述的数据处理方法,其特征在于,所述基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件的步骤,包括:
在所述文件切割策略为按照文件行号切割时,根据所述文件信息确定所述待处理文件的文件行数;
获取预设子文件数量;
根据所述预设子文件数量和所述文件行数确定目标子文件的目标文件行数;
根据所述目标文件行数、所述预设子文件数量和所述待处理文件的文件行数确定所述目标子文件的起始行号和结尾行号;
根据所述起始行号和所述结尾行号确定所述目标子文件。
4.如权利要求1所述的数据处理方法,其特征在于,所述获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略的步骤,包括:
获取待处理文件的文件信息;
根据所述文件信息确定所述待处理文件的文件大小;
在所述文件大小大于预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件大小切割;
在所述文件大小小于或等于所述预设文件切割阈值时,所述待处理文件的文件切割策略为按照文件行号切割。
5.如权利要求1-4任一项所述的数据处理方法,其特征在于,所述根据所述目标子文件对应的目标内存块对所述目标子文件进行文件解析的步骤之前,还包括:
根据所述文件信息确定处理所述待处理文件所需要的内存大小;
获取所述目标子文件的文件数量;
根据所述内存大小和所述文件数量确定处理所述目标子文件所需要的目标内存大小;
根据所述目标内存大小确定处理所述目标子文件对应的目标内存块。
6.如权利要求5所述的数据处理方法,其特征在于,所述根据所述目标内存大小确定处理所述目标子文件对应的目标内存块的步骤,包括:
对当前可用内存块进行排序,得到排序结果;
根据所述目标内存大小从所述排序结果中选取处理所述目标子文件对应的目标内存块。
7.如权利要求6所述的数据处理方法,其特征在于,所述对当前可用内存块进行排序,得到排序结果的步骤之前,还包括:
获取当前运行状态信息;
将所述当前运行状态信息输入至预设内存预测算法,得到所述预设内存预测算法预测的当前可用内存和内存需求;
根据所述当前可用内存和所述内存需求进行内存分配,得到当前可用内存块。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:
获取模块,用于获取待处理文件的文件信息,根据所述文件信息确定所述待处理文件的文件切割策略;
切割模块,用于基于所述文件切割策略对所述待处理文件进行文件切割,得到切割后的目标子文件;
解析模块,用于根据所述目标子文件的目标内存块对所述目标子文件进行文件解析,得到解析结果;
处理结果生成模块,用于根据所述解析结果确定所述待处理文件的文件处理结果。
9.一种数据处理设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序配置为实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至7任一项所述的数据处理方法的步骤。
CN202311770974.3A 2023-12-20 2023-12-20 数据处理方法、装置、设备及存储介质 Pending CN117762873A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311770974.3A CN117762873A (zh) 2023-12-20 2023-12-20 数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311770974.3A CN117762873A (zh) 2023-12-20 2023-12-20 数据处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117762873A true CN117762873A (zh) 2024-03-26

Family

ID=90323179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311770974.3A Pending CN117762873A (zh) 2023-12-20 2023-12-20 数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117762873A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037500A1 (en) * 2007-07-31 2009-02-05 Kirshenbaum Evan R Storing nodes representing respective chunks of files in a data store
CN106970929A (zh) * 2016-09-08 2017-07-21 阿里巴巴集团控股有限公司 数据导入方法及装置
CN107194016A (zh) * 2017-07-14 2017-09-22 上海瀚之友信息技术服务有限公司 一种数据分割方法
WO2021258831A1 (zh) * 2020-06-23 2021-12-30 华为技术有限公司 数据处理方法及系统
CN115114247A (zh) * 2022-05-30 2022-09-27 中银金融科技有限公司 文件数据处理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037500A1 (en) * 2007-07-31 2009-02-05 Kirshenbaum Evan R Storing nodes representing respective chunks of files in a data store
CN106970929A (zh) * 2016-09-08 2017-07-21 阿里巴巴集团控股有限公司 数据导入方法及装置
CN107194016A (zh) * 2017-07-14 2017-09-22 上海瀚之友信息技术服务有限公司 一种数据分割方法
WO2021258831A1 (zh) * 2020-06-23 2021-12-30 华为技术有限公司 数据处理方法及系统
CN115114247A (zh) * 2022-05-30 2022-09-27 中银金融科技有限公司 文件数据处理方法及装置

Similar Documents

Publication Publication Date Title
US11106579B2 (en) System and method to manage and share managed runtime memory for java virtual machine
JP3027845B2 (ja) プログラム制御装置および方法
Yang et al. Intermediate data caching optimization for multi-stage and parallel big data frameworks
WO2018072408A1 (zh) 一种内存分析方法、装置、系统以及计算设备
TWI539280B (zh) 用於分析未經特定設計以提供記憶體分配資訊之應用程式及擷取記憶體分配資訊的方法、及其電腦系統和電腦可讀儲存媒體
CN109656779A (zh) 内存监控方法、装置、终端和存储介质
CN110231994B (zh) 内存分析方法、装置和计算机可读存储介质
CN111381970B (zh) 集群任务的资源分配方法及装置、计算机装置及存储介质
KR20140034246A (ko) 새로운 애플리케이션을 위한 메모리 관리 모델 및 인터페이스
CN105320567A (zh) 用于有效资源回收的延迟损毁
CN108153587A (zh) 一种针对大数据平台的慢任务原因检测方法
CN108153594B (zh) 一种人工智能云平台的资源碎片整理方法及电子设备
CN116167463A (zh) 一种模型训练的方法、装置、存储介质及电子设备
CN113157411A (zh) 一种基于Celery的可靠可配置任务系统及装置
US20180121135A1 (en) Data processing system and data processing method
CN111176637A (zh) 基于缓存抢占延迟约束下aadl模型的可调度性分析方法
CN108829345B (zh) 日志文件的数据处理方法和终端设备
CN112612537A (zh) 配置数据缓存方法、装置、设备及存储介质
CN117762873A (zh) 数据处理方法、装置、设备及存储介质
US20230185625A1 (en) Workload characterization-based capacity planning for cost-effective and high-performance serverless execution environment
CN112130977B (zh) 一种任务调度方法、装置、设备及介质
CN112631941B (zh) 定位linux内核slub内存泄漏的方法和系统
CN110442555B (zh) 一种选择性预留空间的减少碎片的方法及系统
CN112685334A (zh) 一种分块缓存数据的方法、装置及存储介质
CN113051005A (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