[发明专利]一种自动化配置数据仓库并行任务队列的方法和装置在审
申请号: | 201710397740.7 | 申请日: | 2017-05-31 |
公开(公告)号: | CN107315627A | 公开(公告)日: | 2017-11-03 |
发明(设计)人: | 李建星 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 中原信达知识产权代理有限责任公司11219 | 代理人: | 张一军,姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动化 配置 数据仓库 并行 任务 队列 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种自动化配置数据仓库并行任务队列的方法和装置、电子设备和计算机可读介质。
背景技术
目前,企业在建立公司内部的数据仓库系统后,不同部门的用户获取需要的数据时,会在数据仓库上开发相应的数据任务,每一个任务包括若干业务数据处理逻辑,通过在数据仓库上的执行,最终得到需要的数据结果。
由于使用数据仓库获取数据的人数众多,而系统资源有限,为确保每个用户的正常使用,因此给予分配用户一定的任务并发数控制。例如分配给一个用户可以并发执行3个任务,即分配给该用户3个独享的任务进程资源,这样该用户执行自己任务时不被其他用户因抢占资源而无法执行。当用户任务全部执行完成后,释放资源,可以供其他用户使用。这种处理方式,既能保证所有用户的任务可执行,也保证资源的灵活配置。
但是在给一个用户分配任务进程资源后,当用户输入需要执行的一些任务后,这些任务的执行顺序是随机的,这里随机执行产生的原因有可能是用户手动操作执行任务的顺序,也可能用户设置任务自动执行,但服务器端启动任务是随机的。现有技术方法的缺点是用户执行的N个任务输入后,是随机的分配给任务资源进程中处理,并没有考虑每个任务的不同的执行情况,例如对资源的占用情况等,没有考虑对用户的所有任务进行合理的计划,以及用户任务与对其分配的资源进程队列之间的匹配,所以会造成用户占用系统资源较长、资源使用率较低,当数据仓库上使用人数众多时,导致整体资源浪费较多。
发明内容
有鉴于此,本发明实施例提供一种自动化配置数据仓库并行任务队列的方法和装置,能够通过计算用户的任务资源占用时长和分配队列总资源占用的情况,将任务分配到任务队列中。
为实现上述目的,根据本发明实施例的一个方面,提供了一种自动化配置数据仓库并行任务队列的方法。
本发明实施例公开的自动化配置数据仓库并行任务队列的方法,包括:采集用户的任务在数据仓库中运行的历史数据;对所述历史数据进行处理,统计出任务的资源占用时长;根据所述资源占用时长对所述任务进行排序;根据排序的结果以及用户的资源进程数,将任务分配到任务队列中。
可选地,根据排序的结果以及用户的资源进程数,将任务分配到任务队列中包括:按照任务的资源占用时长从大到小的顺序,依次将任务分配到总时长最小的任务队列中,并且将任务的资源占用时长叠加到接收所述任务的任务队列的总时长中。
可选地,还包括:判断用户的任务个数是否小于或等于用户的资源进程数;若是,则将任务一对一且随机地分配到任务队列中;否则,按照任务的资源占用时长从大到小的顺序,依次将任务分配到总时长最小的任务队列中,并且将任务的资源占用时长叠加到接收所述任务的任务队列的总时长中。
可选地,根据所述资源占用时长将用户的任务按照从大到小或从小到大的顺序进行排序;并且,获取用户的资源进程号。
可选地,还包括:根据任务的类型设置采集历史数据的时间段,并将采集到的所述历史数据存储在数据表中,所述历史数据包括:运行的日期、用户名、任务编号、任务名称和任务开始时间、任务结束时间。
可选地,所述对所述历史数据进行处理,统计出任务的资源占用时长包括:根据采集的历史数据,计算出每一个任务的平均资源占用时长。
为实现上述目的,根据本发明实施例的另一方面,提供了一种自动化配置数据仓库并行任务队列的装置。
本发明实施例公开的自动化配置数据仓库并行任务队列的装置,包括:采集模块,用于采集用户的任务在数据仓库中运行的历史数据;处理模块,用于对所述历史数据进行处理,统计出任务的资源占用时长;排序模块,用于根据所述资源占用时长对所述任务进行排序;分配模块,用于根据排序的结果以及用户的资源进程数,将任务分配到任务队列中。
可选地,所述分配模块用于按照任务的资源占用时长从大到小的顺序,依次将任务分配到总时长最小的任务队列中,并且将任务的资源占用时长叠加到接收所述任务的任务队列的总时长中。
可选地,还包括判断模块,用于判断用户的任务个数是否小于或等于用户的资源进程数;若是,则所述分配模块将任务一对一且随机地分配到任务队列中;否则,分配模块按照任务的资源占用时长从大到小的顺序,依次将任务分配到总时长最小的任务队列中,并且将任务的资源占用时长叠加到接收所述任务的任务队列的总时长中。
可选地,所述排序模块根据所述资源占用时长将用户的任务按照从大到小或从小到大的顺序进行排序;以及,获取用户的资源进程号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710397740.7/2.html,转载请声明来源钻瓜专利网。