掌桥专利:专业的专利平台
掌桥专利
首页

一种中间数据存储级别调整方法、存储介质及计算机设备

文献发布时间:2023-06-19 10:58:46


一种中间数据存储级别调整方法、存储介质及计算机设备

技术领域

本发明属于数据处理技术领域,具体涉及一种中间数据存储级别调整方法、存储介质及计算机设备。

背景技术

当前,以数据驱动运营的大数据思维已经深入各企业和机构中,从传统的离线数据处理分析的数据仓库,把数据缓存起来的批量计算,向实时数据以流水线的方式快速处理的流式计算演进。在数据密集型业务中,既有传统的数据抽取、转换、装载的ETL需求,又有对当前发生的事件,进行实时计算,做出秒级响应的实时处理需求,因为数据的价值随着时间的流逝而降低,如实时推荐、风险监控等。面对复杂多变的业务场景,如果需要不同的系统框架、开发人员、运维人员、部署资源来支撑,成本很难控制。

业界出现许多流批一体的数据处理系统框架,既能满足对实时性要求不高,需要对时间段范围的有界数据进行统计分析的批量计算,又能满足时效性要求高,对每条正在发生的数据,都立刻进行处理的流式计算。在数据处理系统中,每个计算任务的处理结果,可以作为最终结果输出,持久化到存储介质中,也可以作为中间数据,缓存到数据处理系统预设的中间存储级别介质中,下游任务可以从缓存中获取数据,作为输入,实现任务之间的数据传递。

现有的技术中,数据处理系统的任务之间数据传递的存储级别配置方案是:内存、磁盘、外部存储的方式,该方案为静态配置,即根据用户初始配置的静态的中间数据存储级别,每个任务在运行过程中输出的数据,都只使用初始设置的存储级别进行存储。

由于在统一的离线批处理和实时流处理系统中,同时运行着各种类型的数据处理任务,处理任务中的各项计算任务的数据传递,需要中间存储作为媒介,才能完成数据在计算任务之间的交换,如图1所示,图1为处理任务的有向无回路图(Directed AcyclicGraph,DAG)。现有技术下,数据开发人员不善于设置中间数据存储级别,也不想关心中间数据存储级别如何选择及设置,很多时候设置的初始中间存储级别都不是最优的,所以根据初始的中间存储级别持续运行作业,不能使中间存储资源利用最大化,从而导致数据处理能力受到较大限制,影响整个系统的数据处理能力。

发明内容

为了克服上述技术缺陷,本发明提供一种中间数据存储级别调整方法、存储介质及计算机设备,旨在提供一种更为有效的中间数据存储级别调整方法。

为了解决上述问题,本发明按以下技术方案予以实现的:

第一方面,本发明提供的一种中间数据存储级别调整方法,所述方法包括:

实时获取客户端执行当前处理任务对应的当前流量信息;

采用机器学习算法对历史流量信息进行处理,获得流量信息预测模型;

根据所述数据预测模型,确定所述当前处理任务的预测流量信息;

实时监控服务器内存储单元的存储容量信息,其中,所述存储容量信息包括已用空间和剩余空间,所述存储单元包括若干不同存储级别的存储子单元;

根据所述当前流量信息、所述预测流量信息和所述存储容量信息确定所述当前处理任务的目标存储级别,并调整所述当前处理任务的存储级别。

进一步的,所述流量信息包括单位时间内的输入记录数、输入字节数、输出记录数、输出字节数。

进一步的,所述调整所述当前处理任务的存储级别的步骤,包括:

若当前处理任务的存储级别与目标存储级别不一致,则当前处理任务的存储级别调整与目标存储级别一致。

进一步的,所述根据所述当前流量信息、所述预测流量信息和所述存储容量信息确定所述当前处理任务的目标存储级别的步骤,包括:

根据所述当前流量信息、所述预测流量信息和所述存储容量信息,分别与预设的当前流量信息推荐存储级别、预测流量信息推荐存储级别、存储容量信息推荐存储级别相匹配,确定所述当前处理任务的目标存储级别。

进一步的,所述采用机器学习算法对历史流量信息进行处理,获得流量信息预测模型的步骤,包括:

以历史流量信息作为样本数据,采用机器学习算法对若干所述历史流量信息进行处理,获得流量信息预测模型,所述流量信息预测模型用于预测当前处理任务的流量信息,并输出预测流量信息。

进一步的,所述机器学习算法是线性回归算法、随机森林算法中的一种。

进一步的,所述存储单元包括内存、Redis、磁盘。

第二方面,本发明提供的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如第一方面所述的中间数据存储级别调整方法。

第三方面,本发明提供的一种计算机设备,包括处理器与存储器;

所述存储器,用于存储计算机程序;

所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如第一方面所述的中间数据存储级别调整方法。

相对于现有技术,本发明的有益效果为:

本发明公开了一种存储级别调整方法、存储介质及计算机设备;其中,存储级别调整方法中,通过获取客户端执行当前处理任务对应的当前流量信息,并对历史流量信息进行处理,得到预测流量信息;并监控服务器内存储单元的存储容量信息;通过当前流量信息、预测流量信息、存储容量信息,进行综合计算评估,自动实时选择最优的中间数据的目标存储级别,解决服务器中资源利用率低、数据处理能力受限等问题,提高服务器的数据处理能力。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是背景技术中处理任务的有向无回路图;

图2是本实施例1中中间数据存储级别调整方法的流程图;

图3是本实施例1中处理任务的训练集的示意图;

图4是本实施例1中处理任务的预测流量信息的示意图;

图5是本实施例1中服务器存储级别的存储资源示意图。

图6是本实施例1中存储子单元的性能示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

实施例1

本实施例提供了一种中间数据存储级别调整方法,参考图2,中间数据存储级别调整方法包括以下步骤:

S10、实时获取客户端执行当前处理任务对应的当前流量信息;

具体的,所述流量信息包括单位时间内的输入记录数、输入字节数、输出记录数、输出字节数。其中,客户端执行处理任务时对应的输入记录数、输出记录数会占用服务器的I/O读写速度资源,输入字节数、输出字节数会占用服务器的存储单元的容量。

S20、采用机器学习算法对历史流量信息进行处理,获得流量信息预测模型;

具体的,所述采用机器学习算法对历史流量信息进行处理,机器学习算法可以是但不限制于线性回归算法、随机森林算法,本实施例以线性回归算法为例,作进一步说明。

以历史流量信息作为样本数据,采用线性回归算法对若干所述历史流量信息(输入记录数、输入字节数、输出记录数、输出字节数)进行处理,获得流量信息预测模型,流量信息预测模型用于预测当前处理任务的流量信息,并输出预测流量信息。

示例性的,选择客户端执行的处理任务9be2-c7c6b8be4a90,日期2020/09/20到2020/09/25共5天的流量信息作为样本数据,参考图3,示出了该处理任务训练集的数据结构和样例数据,定时每天凌晨0点训练流量信息预测模型,以每隔5分钟的流量信息作为训练集。经过线性回归算法训练后,将输出扩展名为的模型文件.pkl,在预测阶段中使用。需要说明的是,线性回归算法是公开的标准算法,本实施例不再赘述。

S30、根据所述数据预测模型,确定所述当前处理任务的预测流量信息;

示例性的,对该处理任务未来一天各时段的流量信息预测,经过数据预测模型的运行,参考图4,分别得到该处理任务对应的输入记录数、输入字节数、输出记录数、输出字节数的预测结果,预测结果为该处理任务在2020/09/26中每隔5分钟的预测流量信息。

S40、实时监控服务器内存储单元的存储容量信息,其中,所述存储容量信息包括已用空间和剩余空间,所述存储单元包括若干不同存储级别的存储子单元;

具体的,所述存储单元包括但不限制于内存、Redis、磁盘。以一台服务器配置128GB内存,12TB磁盘,和5个节点组成的Redis集群为例,样例数据如图5所示。由于内存、Redis、磁盘各项性能不一致,存储子单元有各自的优势和缺点,如图6所示,内存、Redis、磁盘的读写速度依次降低,但存储容量依次增大,需要合理使用这些存储资源。

S50、根据所述当前流量信息、所述预测流量信息和所述存储容量信息确定所述当前处理任务的目标存储级别,并调整所述当前处理任务的存储级别。

具体的,判断当前处理任务的存储级别与目标存储级别是否相同,若是,服务器不执行操作;否则将当前处理任务的存储级别调整与目标存储级别一致。

根据所述当前流量信息、所述预测流量信息和所述存储容量信息,分别与预设的当前流量信息推荐存储级别、预测流量信息推荐存储级别、存储容量信息推荐存储级别相匹配,确定所述当前处理任务的目标存储级别。

具体的,由于所述当前流量信息、所述预测流量信息和所述存储容量信息的重要程度是不一样的。根据处理任务对服务器的内存、Redis或者磁盘的性能的需求,在此实施例中,预先设置实时收集的该处理任务的当前流量信息是权重最高的,存储容量信息是其次,预测流量信息为权重最低的辅助计算。对应的,每种存储级别预设了对应的分值,分别为内存5分,Redis 3分,磁盘1分,通过以下目标存储级别的计算公式,将得到推荐的目标存储级别。

目标存储级别的计算公式:

目标存储级别=min(当前流量信息推荐存储级别分值,存储容量信息推荐存储级别分值,预测数据推荐存储级别分值);

当前流量信息推荐存储级别=

if(avg(实时输入记录数+实时输出记录数)>3000&&avg(实时输入字节数+实时输出字节数)<10)?"内存":

if(avg(实时输入记录数+实时输出记录数)>3000&&avg(实时输入字节数+实时输出字节数)<100)?"Redis":

if(avg(实时输入记录数+实时输出记录数)>100&&avg(实时输入字节数+实时输出字节数)<10)?"Redis":

if(avg(实时输入记录数+实时输出记录数)>100&&avg(实时输入字节数+实时输出字节数)<100)?"内存":"磁盘";

存储容量信息推荐存储级别=

if(内存剩余容量>8192&&(内存剩余容量/(内存剩余容量+内存已使用容量))>0.3)?"内存":if(Redis剩余容量>8192&&(Redis剩余容量/(Redis剩余容量+Redis已使用容量))>0.3)?"Redis":”磁盘”;

预测数据推荐存储级别=

if(avg(预测输入记录数+预测输出记录数)>3000&&avg(预测输入字节数+预测输出字节数)<10)?"内存":

if(avg(预测输入记录数+预测输出记录数)>3000&&avg(预测输入字节数+预测输出字节数)<100)?"Redis":

if(avg(预测输入记录数+预测输出记录数)>100&&avg(预测输入字节数+预测输出字节数)<10)?"Redis":

if(avg(预测输入记录数+预测输出记录数)>100&&avg(预测输入字节数+预测输出字节数)<100)?"内存":"磁盘";

以上述的样例数据,代入公式分别得到如下结果:

实时流量信息推荐存储级别=Redis=3

存储容量信息推荐存储级别=内存=5

预测数据推荐存储级别=Redis=3

目标存储级别=min(3,5,3)=Redis

取分数最低的存储级别,所以该时段的推荐存储级别为Redis,与当前任务使用的中间数据存储级别做对比,如果不一致,将当前处理任务的存储级别调整与目标存储级别一致;如果一致,则不需要调整。

本实施例中根据当前流量信息、预测流量信息和存储容量信息确定当前处理任务的目标存储级别,自动实时选择最优的中间数据的目标存储级别,解决服务器中资源利用率低、数据处理能力受限等问题,提高服务器的数据处理能力。

实施例2

本发明实施例提供一种计算机设备,包括处理器与存储器,所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现本发明实施例1提供的中间数据存储级别调整方法。

应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

实施例3

本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,使所述处理器实现本发明实施例1提供的中间数据存储级别调整方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机可读存储介质(或非暂时性介质)和通信介质(或暂时性介质)。

如本领域普通技术人员公知的,术语计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

示例性的,所述计算机可读存储介质可以是前述实施例所述的网管设备的内部存储单元,例如所述网管设备的硬盘或内存。所述计算机可读存储介质也可以是所述网管设备的外部存储设备,例如所述网管设备上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种中间数据存储级别调整方法、存储介质及计算机设备
  • 一种中间数据存储级别调整方法、存储介质及计算机设备
技术分类

06120112758590