一种数据转换任务的调度方法技术

技术编号:33125199 阅读:12 留言:0更新日期:2022-04-17 00:33
本发明专利技术提供一种数据转换任务的调度方法,包括以下步骤:监视服务器的内存使用情况,根据数据源信息和所述数据转换任务,计算获得数据抽取内存占用值、增量抽取内存占用值和增量数据写入内存占用值;根据计算结果,判断服务器的空闲内存是否满足所述数据转换任务的执行条件,若是则运行数据转换任务。该方案,避免了内存溢出的风险,提高服务器内存资源的使用效率,提高任务完成效率。提高任务完成效率。提高任务完成效率。

【技术实现步骤摘要】
一种数据转换任务的调度方法


[0001]本专利技术涉及内存资源调度领域,具体涉及一种数据转换任务的调度方法。

技术介绍

[0002]目前,市面上有多种ETL工具,其是抽取(extract)、转换(transform)、加载(load),ETL作用于将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,如今使用较为广泛的同类产品有Kettle、ODI、DataPipeline、RestCloud ETL等数据转换工具。
[0003]它们给数据转换工作带来便利的同时,也带来了资源成本的消耗,例如使用java开发的数据交换工具中,从数据库记录放在程序里,用对象(ORM一般的处理方式)需要4倍左右的内存空间,用HashMap这种KV保存需要10倍空间,这样就会导致,当处理大数据量表数据时,发现执行报错,或者是程序计算百万级数据量时,都会消耗大量的CPU和内存,在资源局限的情况下,高占用容易导致系统崩溃、内存溢出等现象,相关联的平台数据都会受到不小的影响。

技术实现思路

[0004]本专利技术为了解决数据转换任务中的服务器内存调度问题,提供一种数据转换任务的调度方法,所述方法包括以下步骤:监视服务器的内存使用情况,根据数据源信息和所述数据转换任务,计算获得数据抽取内存占用值、增量抽取内存占用值和增量数据写入内存占用值;根据计算结果,判断服务器的空闲内存是否满足所述数据转换任务的执行条件,若是,则运行所述数据转换任务;否则,所述数据转换任务为等候执行状态直到服务器满足所述执行条件。
[0005]进一步而言,根据所述数据源信息获取每条抽取数据存储大小的平均值K,根据所述数据转换任务获得抽取数据的数量D,所述数据抽取内存占用值为R,则R=K*D;所述增量抽取内存占用值为S,则S>R;根据数据变化捕获方法,获得增量数据的数量为i,所述增量数据写入内存占用值为W,则W=K*i。
[0006]进一步而言,所述数据转换任务执行需要的内存为MEM(task),则MEM(task)=R+S+W;所述执行条件为:所述服务器的空闲内存至少大于2R+W。
[0007]进一步而言,将所述数据转换任务分解成n个数据转换子任务和一个数据转换收尾任务,每个所述数据转换子任务抽取数据数量为d,所述数据转换收尾任务抽取数据数量为re,则D=n*d+re,d>re≥0,所述数据转换子任务执行需要的内存的计算方式和所述数据转换任务执行需要的内存的计算方式相同;所述执行条件为,所述服务器的空闲内存大于所述数据转换子任务执行需要的内存。
[0008]进一步而言,所述数据转换任务涉及m个数据源,m为大于2的自然数;根据每个所述数据源信息获取每条抽取数据存储大小的平均值为Km,根据所述数据转换任务获得每个抽取数据的数量Dm,每个所述数据抽取内存占用值为Rm,则Rm=Km*Dm,每个所述增量抽取
内存占用值为Sm,则Sm>Rm;根据数据变化捕获方法,获得每个增量数据的数量为im,每个所述增量数据写入内存占用值为Wm,则Wm=Km*im,所述执行条件为,所述服务器的空闲内存至少大于2*∑Rj+∑Wj,其中j=1,2,...,m。
[0009]进一步而言,所述服务器为集群服务器,监视获取每个所述服务器的内存空闲率COST(free),其中COST(free)=MEM(free)/MEM(total),MEM(total)为所述服务器的总内存,MEM(free)为所述服务器的空闲内存;当多个所述服务器达到所述执行条件时,将所述数据转换任务调度到所述内存空闲率最高的服务器中执行。
[0010]进一步而言,所述服务器为集群服务器,对每个所述服务器预设权重;当多个所述服务器达到所述执行条件时,比较每个所述服务器的空闲内存和所述权重的乘积值,将所述数据转换任务调度到所述乘积值最高的服务器中执行。
[0011]进一步而言,所述服务器为集群服务器,所述数据转换任务执行需要的内存设定为MEM(task),则MEM(task)=2*∑Rj+∑Wj;所述服务器实际处理所需内存为COST(task),则COST(task)=MEM(task)/MEM(node),MEM(node)为所述服务器内存平均利用率;所述执行条件为,所述服务器的空闲内存至少大于COST(task)。
[0012]进一步而言,将多个所述数据转换任务放入到等待队列中,所述等待队列中的所述数据转换任务都为等候执行状态;所述等待队列按照每个所述数据转换任务的P*T*R值,从高到低进行排序;从头部开始遍历所述等待队列,当所述服务器的空闲内存满足所述数据转换任务的所述执行条件时,运行所述数据转换任务并在任务结束后移除;其中,P为所述数据转换任务的优先级权重,T为当前时间和所述数据转换任务的到达时间之间的差值,R为所述数据转换任务的优先级占比值;每当有新的所述数据转换任务要进入所述等待队列时,重新计算每个需要排序的所述数据转换任务的P*T*R值,重新排序生成新的所述等待队列。
[0013]进一步而言,所述调度方法包含多个所述等待队列,每当有新的所述数据转换任务要进入所述等待队列时,将其加入到任务内存运行比最低的所述等待队列中;所述任务内存运行比,为所述等待队列中正在运行的所述数据转换任务的内存占用值与所述等待队列的总需求内存值之间的比值。
[0014]本专利技术的有益效果:监视服务器的空闲内存,预测计算数据转换任务运行所需的内存,从而将数据转换任务调度到符合执行条件的服务器中运行,避免了内存溢出的风险;针对数据转换任务和/或服务器设置优先级,提高服务器内存资源的使用效率,提高任务完成效率;优化等待队列的选择和排序方式,实现多个数据转换任务的总体执行效率。
附图说明
[0015]图1为调度方法实施例的流程示意图。
[0016]图2为监视内存空闲率的调度方法实施例的流程示意图。
[0017]图3为服务器预设权重的调度方法实施例的流程示意图。
[0018]图4为调度方法实施例中数据转换任务加入等待队列的流程示意图。
具体实施方式
[0019]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完
整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0020]如图1所示的实施例中,数据转换任务的调度方法包括对于服务器内存使用情况的监视,监视服务器内存使用情况,获得服务器空闲内存数值。具体而言,通过服务器当前所活跃的数据流程执行消耗的内存数据来估计服务器未来的内存情况,使用一个调度器记录服务器已使用的内存;当一个流程被调度到服务器运行时,其内存累加,当流程停止或异常时,释放资源其内存递减,更新调度器的记录。
[0021]根据数据源信息和数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据转换任务的调度方法,其特征在于,所述方法包括以下步骤:监视服务器的内存使用情况;根据数据源信息和所述数据转换任务,计算获得数据抽取内存占用值、增量抽取内存占用值和增量数据写入内存占用值;根据计算结果,判断服务器的空闲内存是否满足所述数据转换任务的执行条件,若是,则运行所述数据转换任务;否则,所述数据转换任务为等候执行状态直到服务器满足所述执行条件。2.根据权利要求1所述的数据转换任务的调度方法,其特征在于,根据所述数据源信息获取每条抽取数据存储大小的平均值K,根据所述数据转换任务获得抽取数据的数量D,所述数据抽取内存占用值为R,则R=K*D;所述增量抽取内存占用值为S,则S>R;根据数据变化捕获方法,获得增量数据的数量为i,所述增量数据写入内存占用值为W,则W=K*i。3.根据权利要求2所述的数据转换任务的调度方法,其特征在于,所述数据转换任务执行需要的内存为MEM(task),则MEM(task)=R+S+W;所述执行条件为:所述服务器的空闲内存至少大于2R+W。4.根据权利要求3所述的数据转换任务的调度方法,其特征在于,将所述数据转换任务分解成n个数据转换子任务和一个数据转换收尾任务,每个所述数据转换子任务抽取数据数量为d,所述数据转换收尾任务抽取数据数量为re,则D=n*d+re,d>re≥0,所述数据转换子任务执行需要的内存的计算方式和所述数据转换任务执行需要的内存的计算方式相同;所述执行条件为:所述服务器的空闲内存大于所述数据转换子任务执行需要的内存。5.根据权利要求2所述的数据转换任务的调度方法,其特征在于,所述数据转换任务涉及m个数据源,m为大于2的自然数;根据每个所述数据源信息获取每条抽取数据存储大小的平均值为Km,根据所述数据转换任务获得每个抽取数据的数量Dm,每个所述数据抽取内存占用值为Rm,则Rm=Km*Dm,每个所述增量抽取内存占用值为Sm,则Sm>Rm;根据数据变化捕获方法,获得每个增量数据的数量为im,每个所述增量数据写入内存占用值为Wm,则Wm=Km*im;所述执行条件为:所述服务器的空闲内存至少大于2*∑Rj+∑Wj,其中j=1,2,...,m。6.根据权利要求5所述的数据转换任务的调度方法,其特征在于,...

【专利技术属性】
技术研发人员:刘欣荣任刚舒畅肖炯恩
申请(专利权)人:联奕科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1