CN110297701B - 数据处理作业调度方法、装置、计算机设备及存储介质 - Google Patents
数据处理作业调度方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110297701B CN110297701B CN201910408645.1A CN201910408645A CN110297701B CN 110297701 B CN110297701 B CN 110297701B CN 201910408645 A CN201910408645 A CN 201910408645A CN 110297701 B CN110297701 B CN 110297701B
- Authority
- CN
- China
- Prior art keywords
- target
- job
- execution
- processed
- data table
- 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.)
- Active
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种数据处理作业调度方法、装置、计算机设备及存储介质,该方法包括:获取待处理作业,采用基于逻辑回归算法构建的执行时长评估模型,依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长;根据待处理作业对应的调度启动时间和目标评估时长,确定预期执行时间区间,根据预期执行时间区间查询资源信息队列,获取预期执行时间区间对应的可执行资源;若预期执行时间区间对应的可执行资源均大于预设资源阈值,则基于预设计划生成模板对待处理作业进行处理,生成目标执行计划;在***当前时间为调度启动时间时,执行目标执行计划,在目标执行计划执行完成之后,更新资源信息队列。该方法可实现合理分配***资源。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理作业调度方法、装置、计算机设备及存储介质。
背景技术
在采用分布式***基础架构(如Hadoop)进行相关作业开发时,会遇到多种框架整合使用的场景,如Oozie、Hive和Hdfs等作业开发时,不仅开发步骤繁琐而且涉及到作业调度和资源使用等问题。当前基于分布式***基础架构进行作业开发时,对每个作业需求独立配置其对应的调度启动时间、资源、执行时长和周期等作业信息,在多个作业执行过程中,会因为作业调度时间和资源分配不合理,导致作业执行过程中存在冲突,影响作业的正常执行。同时,对于作业中的资源和调度启动时间都是基于开发人员的人为判断,如果出现问题,只能重新调整作业需求,非常不利于作业的维护,而且人为的设计调度启动时间很容易导致资源使用紧张。
发明内容
本发明实施例提供一种数据处理作业调度方法、装置、计算机设备及存储介质,以解决当前作业调度过程中因调度时间和资源分配不合理而影响作业的正常执行的问题。
一种数据处理作业调度方法,包括:
采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业,所述待处理作业包括调度启动时间、目标数据表和目标逻辑体;
采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长;
根据所述待处理作业对应的所述调度启动时间和所述目标评估时长,确定预期执行时间区间,根据所述预期执行时间区间查询资源信息队列,获取所述预期执行时间区间对应的可执行资源;
若所述预期执行时间区间对应的可执行资源均大于预设资源阈值,则基于预设计划生成模板对所述待处理作业进行处理,生成目标执行计划;
在***当前时间为所述调度启动时间时,执行所述目标执行计划,在所述目标执行计划执行完成之后,更新所述资源信息队列。
一种数据处理作业调度装置,包括:
待处理作业获取模块,用于采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业,所述待处理作业包括调度启动时间、目标数据表和目标逻辑体。
目标评估时长获取模块,用于采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长。
预期执行时间区间确定模块,用于根据所述待处理作业对应的所述调度启动时间和所述目标评估时长,确定预期执行时间区间,根据所述预期执行时间区间查询资源信息队列,获取所述预期执行时间区间对应的可执行资源。
目标执行计划生成模块,用于若所述预期执行时间区间对应的可执行资源均大于预设资源阈值,则基于预设计划生成模板对所述待处理作业进行处理,生成目标执行计划。
资源信息队列更新模块,用于在***当前时间为所述调度启动时间时,执行所述目标执行计划,在所述目标执行计划执行完成之后,更新所述资源信息队列。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据处理作业调度方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理作业调度方法的步骤。
上述数据处理作业调度方法、装置、计算机设备及存储介质,采用作业扫描工具对待执行脚本进行扫描,以快速获取需要进行调度处理的待处理作业。采用执行时长评估模型预估待处理作业的执行时长,以获取可靠性较高的目标评估时长,有助于合理分配调度时间。然后根据待处理作业的调度启动时间和目标评估时长确定预期执行时间区间,以获取对应的可执行资源,在预期执行时间区间内,可执行资源均大于预设资源阈值时,基于预设计划生成模板对待处理作业进行处理,简化了作业开发的步骤,加快作业开发速度,以快速生成目标执行计划,并确保***有足够的可执行资源供目标执行计划调用,以实现合理分配***资源。在***当前时间为调度启动时间时,执行目标执行计划,并在执行完成之后,更新资源信息队列,确保资源信息队列中的资源信息的实时更新。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据处理作业调度方法的一应用环境示意图;
图2是本发明一实施例中数据处理作业调度方法的一流程图;
图3是本发明一实施例中数据处理作业调度方法的另一流程图;
图4是本发明一实施例中数据处理作业调度方法的另一流程图;
图5是本发明一实施例中数据处理作业调度方法的另一流程图;
图6是本发明一实施例中数据处理作业调度方法的另一流程图;
图7是本发明一实施例中数据处理作业调度装置的一示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据处理作业调度方法,该数据处理作业调度方法可应用如图1所示的应用环境中。具体地,该数据处理作业调度方法应用在数据处理作业调度***中,该数据处理作业调度***包括如图1所示的客户端和服务器,客户端与服务器通过网络进行通信,用于灵活设置待处理作业调度启动时间。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据处理作业调度方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S201:采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业,待处理作业包括调度启动时间、目标数据表和目标逻辑体。
其中,待执行脚本是指预先编辑好的需要执行的脚本。该待执行脚本具体是指用于对大量数据进行处理的脚本。待处理作业是指扫描待执行脚本后,获得的包含有需要进行数据处理的作业。该待处理作业具体是指在Hadoop环境中运行的数据处理、数据导入和数据导出等相关的程序作业。作业扫描工具是用于扫描待执行脚本中的作业信息的工具,具体为预先开发的可进行代码扫描的工具,其实现过程与常用的代码扫描工具相类似,主要用于扫描待执行脚本中由SQL语句组成的待执行代码。该作业信息包括但不限于调度启动时间、目标数据表和目标逻辑体等。调度启动时间是指预先设置的,***开始调用资源对待处理作业进行处理的时间。在本实施例中,该调度启动时间能够根据***资源使用情况进行修改,以确保***能够正常运行,避免***资源使用紧张。目标数据表是指包含待处理作业中需要进行批量处理的数据表。目标逻辑体是指用于对目标数据表中的数据量进行处理的逻辑,具体地,服务器依据该目标逻辑体对目标数据表中的数据量的进行对应的处理,实现快速处理数据。***资源是指***处理数据或者业务需要的资源,具体为CPU。
具体地,服务器预先获取开发人员编写好的待执行脚本,采用作业扫描工具对待执行脚本进行扫描,快速且精准确定由SQL语句组成的待处理作业,以便后续基于该待处理作业生成目标执行计划。
S202:采用基于逻辑回归算法构建的执行时长评估模型,依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长。
其中,逻辑回归算法是指利用已知的自变量来预测一个离散型因变量的值的算法。在本实施例中,逻辑回归算法是指对历史作业执行处理情况进行计算,以快速、简便构建出执行时长评估模型的算法。执行时长评估模型是用于预估处理每一待处理作业所需时长的模型,执行时长评估模型具体是根据历史作业执行过程***监控每个时间段中资源使用情况,对得到的历史作业的资源配置情况、历史作业处理数据的逻辑和操作方式等信息进行处理,采用逻辑回归算法对处理后的数据进行计算,得到执行时长评估模型。采用执行时长评估模型预估待处理作业的执行时长,可快速获取到目标评估时长。目标评估时长具体是指预先评估***处理待处理作业所需花费的时间。
具体地,先将历史作业时的***资源使用情况和处理时长等历史作业执行信息进行处理形成训练数据,采用逻辑回归算法对训练数据进行计算获得执行时长评估模型,得出处理不同数据量的作业所需的时长与***资源的关系图,通过调整资源、作业的调度启动时间和数据量等方式实现不同的场景下,都能够快速计算得到处理待处理作业的预期执行时长数值。
S203:根据待处理作业对应的调度启动时间和目标评估时长,确定预期执行时间区间,根据预期执行时间区间查询资源信息队列,获取预期执行时间区间对应的可执行资源。
其中,预期执行时间区间是指***开始处理待处理作业到完成处理待处理作业的时间区间。
资源信息队列是指记录了在预期执行时间区间内,***处理所有数据时将调用的资源的队列。该资源信息队列是依据当前提交到***资源管理器中的待处理作业及其对应的目标评估时长确定的队列资源。可执行资源是指在预期执行时间区间内,***能够分配给待处理作业的资源信息。例如,***资源管理器当前接收的待执行作业A的调度时间是在9:20,目标评估时长为30分钟,则其对应的预期执行时间区间是9:20-9:50;而待执行作业B的调度时间是在9:30,目标评估时长为40分钟,则其对应的预期执行时间区间是9:30-10:10,则在9:20-9:30之间有一个待执行作业A执行,在9:30-9:50之间有两个待执行作业A和B执行,9:50-10:10之间有一个待执行作业B执行。假设CPU可支持10个待执行作业同时执行,每一待执行作业单位时间内可调用一个线程,则在9:40这一调度时间存在8个处于空闲状态的线程,即此时***存在8个处于空闲状态的线程可分配给待处理作业,即这8个处于空闲状态的线程为其可执行资源。
可执行资源是指在预期执行时间区间内,***能够分配给待处理作业的资源信息。该可执行资源可包括***处于空闲状态和***处于忙碌状态时***能够分配给待处理作业的资源信息,***空闲状态时可对待处理作业进行处理,忙碌状态则不处理待处理作业。
具体地,***根据调度启动时间和目标评估时长,确定待处理作业的预期执行时间区间,根据预期执行时间区间查询资源信息队列,以快速确定预期执行时间区间内***是否还有资源可供待处理作业调用,即确定预期执行时间区间对应的可执行资源。
S204:若预期执行时间区间对应的可执行资源均大于预设资源阈值,则基于预设计划生成模板对待处理作业进行处理,生成目标执行计划。
其中,预设资源阈值是指预先设置的用于判断***是否处于空闲状态的资源值。该空闲状态通过***剩余的资源判断,若***剩余的资源大于预设资源阈值,则认定其处于空闲状态。预设计划生成模板是指预先编写好的用于生成执行计划的模板。在作业开发过程中,采用预设计划生成模板以标准化的格式预先设计好原始执行计划,以便对需要进行数据处理的待处理作业进行处理,以将待处理作业中的相关参数(如目标预估时长和调试启动时间)填充在预设计划生成模板中,以简化了作业开发的步骤,加快作业开发速度。目标执行计划是指用于对待处理作业进行处理的计划,目标执行计划包括目标预估时长和调度启动时间等。
具体地,若预期执行时间区间对应的可执行资源均大于预设资源阈值,则说明预期执行时间区间内***的可执行资源处于空闲状态,且该空闲状态的时长大于目标预估时长,此时***获取与预设计划生成模板相对应的参数,并将这些参数并填充至预设计划生成模板,以快速生成目标执行计划。空闲状态的时长大于目标预估时长,确保在调度启动时间之后有足够时间和***资源对目标执行计划进行执行,保证作业执行过程顺利进行。
S205:在***当前时间为调度启动时间时,执行目标执行计划,在目标执行计划执行完成之后,更新资源信息队列。
具体地,服务器首先判断在预期执行时间区间内***处于空闲状态,在***当前时间时为调度启动时间时则调用资源执行目标执行计划,在执行完成后,服务器将根据执行情况跟新资源信息队列,即将处理待处理作业的资源更新为空闲资源并加入到资源信息队列中,更新资源信息队列,确保资源信息队列中的资源信息实时更新。
进一步地,由于待处理作业对应的数据以便为非实时任务,在执行待处理作业对应的目标执行计划时,若***出现紧急情况需要实时处理,则释放目标执行计划占用的资源,暂停执行目标执行计划,预先处理实时任务。在执行过程中,没有完成目标执行计划时,对对应的待处理作业的调度启动时间进行调整,重复执行依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长。其中,非实时任务是与实时任务相对的概念。其中,实时任务是强实时的,要求马上回应的任务,如用户登录、用户查询和用户执行的其他操作对应的任务。非实时任务是允许延时的,可异步处理的任务,包括***级日志上传服务器的任务、统计报表的生成计算和数据分析等需要处理批量数据的任务。
本实施例所提供的数据处理作业调度方法中,采用作业扫描工具对待执行脚本进行扫描,以快速获取需要进行调度处理的待处理作业。采用执行时长评估模型预估待处理作业的执行时长,以获取可靠性较高的目标评估时长,有助于合理分配调度时间。然后根据待处理作业的调度启动时间和目标评估时长确定预期执行时间区间,以获取对应的可执行资源,在预期执行时间区间内,可执行资源均大于预设资源阈值时,基于预设计划生成模板对待处理作业进行处理,简化了作业开发的步骤,加快作业开发速度,以快速生成目标执行计划,并确保***有足够的资源供目标执行计划调用,以实现合理分配***资源。在***当前时间为调度启动时间时,执行目标执行计划,并在执行完成之后,更新资源信息队列,确保资源信息队列中的资源信息实时更新。
进一步地,在步骤S203之后,即在获取预期执行时间区间对应的可执行资源之后,若在预期执行时间区间内,可执行资源不大于预设资源阈值,则说明在预期执行时间区间内,***的可执行资源处于忙碌状态,若直接基于待处理作业生成目标执行计划,则可能会导致目标执行计划在执行过程中出现卡顿或者其他无法顺利执行的情况,因此,在步骤S203之后,该数据处理作业调度方法还包括:
S206:若预期执行时间区间对应的可执行资源不大于预设资源阈值,则基于资源信息队列,确定可执行资源均大于预设资源阈值的空闲时间区间。
其中,空闲时间区间是指***处于空闲状态的时间区间。该空闲时间区域包括起始时间和结束时间。
具体地,资源信息队列中包括***的每一资源及对应的状态,例如该资源的状态可能为未使用状态或者正在使用状态。在预期执行时间区间对应的可执行资源不大于预设资源阈值时,说明***处于忙碌状态,不应将待处理作业加入处理,避免***压力过大。因此,服务器查询资源信息队列,快速获取处于空闲状态的资源对应的所有空闲时间区间,即确定可执行资源均大于预设资源阈值的空闲时间区间,确保后续顺利处理待处理作业,同时避免***处理数据时出现压力过大的情况。
S207:若存在空闲时间区间的空闲时长大于目标评估时长,则将空闲时间区间的起始时间确定为推荐启动时间,基于推荐启动时间生成修改提示信息。
其中,空闲时间区间的空闲时长是指***处于空闲状态的时间长度,是空闲时间区域的起始时间和结束时间之间的长度。推荐启动时间是指推荐可以作为开始执行待处理作业的时间。修改提示信息是指修改待处理作业的调度启动时间的提示信息。
具体地,由于可执行资源均大于预设资源阈值且空闲时间区间的空闲时长大于目标评估时长,则说明***在该空闲时间区间内均处于空闲状态,可处理待处理作业,将空闲时间区间的起始时间确定为推荐启动时间,以快速获取处理待处理作业的推荐启动时间,基于该推荐启动时间生成修改提示信息,并将该修改提示信息发送给客户端,便于开发人员可选择性地确定待处理作业的新的调度启动时间,实现时间调度,确保***正常处理数据,避免人为盲目设定时间,造成***压力过大即处理速度慢。具体地,该推荐启动时间可以是***当前时间之后,且空闲时长大于目标评估时长的空闲时间区间的起始时间。修改提示信息包含该推荐启动时间,以便开发人员依据该推荐启动时间进行调度启动时间修改,以优化***处理数据的方式,确保待处理作业的顺利执行。
S208:获取基于修改提示信息生成的作业修改请求,基于作业修改请求生成更新的待处理作业,基于预设计划生成模板对更新的待处理作业进行处理,生成目标执行计划。
其中,作业修改请求是指对开始执行待处理作业的调度启动时间进行的修改的请求,以便根据该作业修改请求采用推荐启动时间更新为待处理作业的调度启动时间,使得可在***空闲时间段执行待处理作业。具体地,服务器获取到作业修改请求,则将待处理作业中的调度启动时间修改成推荐启动时间,以获取更新的待处理作业,确保***在空闲时间内正常执行待处理作业,然后基于预设计划生成模板对更新的待处理作业进行处理,生成目标执行计划。
本实施例所提供的数据处理作业调度方法中,在预期执行时间区间对应的可执行资源不大于预设资源阈值时,则基于资源信息队列,快速确定可执行资源均大于预设资源阈值的空闲时间区间,将一空闲时长大于目标评估时长的空闲时间区间的起始时间确定为推荐启动时间,并根据该推荐启动时间生成修改提示信息发送给客户端,便于开发人员可选择性地确定待处理作业的新的调度启动时间,确保***正常处理数据,避免人为盲目设定调度启动时间。根据该修改提示信息生成的作业修改请求生成更新的待处理作业,使得可在***空闲时间段执行待处理作业,确保***正常处理数据。
在一实施例中,目标逻辑体包括目标参数和对应的目标执行逻辑。其中,目标执行逻辑是指记录在待处理作业中的具体逻辑,用于对目标数据表中与特定字段相对应的数据进行处理的具体逻辑。目标参数是指与目标数据表中的特定字段对应的参数。在本实施例中,目标执行逻辑具体通过数据库预先设置的操作符对目标数据表中的数据量进行处理的逻辑。例如,可采用COUNT这一操作符表示返回在给定的选择中被选的行数;采用group by这一操作符表示基于预设的规则对数据进行分类。数据库中SQL语句的操作符包括:select--from--where--group by--having--order by,其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的的顺序执行:from--where--group--by--having--select--order by,以实现快速从目标数据表选择数据,确保后续可对数据进行处理。
如图3所示,在步骤S201之后,即在采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业之后,数据处理作业调度方法还包括:
S301:采用数据库语句规则对目标逻辑体进行格式校验,获取格式校验结果。
数据库语句规则具体是用于判断目标执行逻辑中的SQL语句是否符合代码规范的规则,避免目标执行逻辑出现形式错误,确保待处理作业的可执行性。格式校验是用于校验目标执行逻辑是否符合预先设置的数据库语句规则,排除格式错误,确保处理过程中能够正常执行,以避免目标执行逻辑不符合基本的语法规则而导致后续无法执行待处理作业。格式校验结果是指目标执行逻辑是否符合SQL语法的结果。
具体地,数据库语句规则中包括每一SQL语句的基本格式,采用正则表达算法将目标执行逻辑中的SQL语句与数据库语句规则中的每一基本格式进行匹配,从而可快速获得精准的检验结果,采用该数据库语句规则对SQL语句进行校验,确保目标执行逻辑的正确性,避免执行过程出现错误。
S302:若格式校验结果为校验通过,则判断目标数据表中是否包含目标参数。
具体地,在格式校验结果为检验通过时,说明目标执行逻辑是正确的,然后进行判断目标数据表中是否包含与目标逻辑体的目标参数一致的参数,在存在与目标逻辑体的目标参数一致的参数时,则可以采用对应的目标执行逻辑对目标数据表中的参数进行处理,避免在后续的处理过程出错。在本实施例中,判断目标数据表中是否包含与目标逻辑体一致的目标参数可通过正则表达式匹配算法进行匹配,以快速确定目标参数表中是否存在与目标逻辑体的目标参数一致的参数,提高校验效率。
S303:若目标数据表包含目标参数,则执行采用基于逻辑回归算法构建的执行时长评估模型,依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长。
具体地,在目标数据表包含目标参数时,说明可以执行目标逻辑体对目标数据表中与目标参数相对应的数据进行处理,即在目标数据表中包含目标参数时,可确保待处理作业中需要处理的数据的可执行性,此时执行采用基于逻辑回归算法构建的执行时长评估模型,依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长。
本实施例所提供的数据处理作业调度方法中,采用数据库语句规则对目标逻辑体进行格式校验,以排除错误,确保处理过程中能够正常执行,即确保只有在格式校验结果为校验通过且目标数据表包含目标参数时,才执行采用基于逻辑回归算法构建的执行时长评估模型,依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长。
进一步地,若目标数据表不包含目标参数,则说明在编辑目标逻辑体中的目标参数的过程中出现错误,此时可返回不可执行提醒信息给客户端,以便对目标逻辑体中的目标参数进行修改,确保最终处理的待处理数据是正确的,可有效减少待处理作业后续处理过程中的错误。
在一实施例中,如图4所示,在步骤S202之前,即在采用基于逻辑回归算法构建的执行时长评估模型,依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长之前,数据处理作业调度方法还包括:
S401:获取历史作业对应的历史执行数据,历史执行数据包括历史数据表、历史逻辑体、历史资源信息和历史执行时长。
其中,历史作业与待处理作业是相对的,历史作业是指***已经处理完成的作业。历史执行数据是指***在处理历史作业所形成的数据。历史数据表是指历史作业对应的数据表,即包含有历史作业中需要进行处理的数据的表。历史执行逻辑是指历史作业的逻辑体中的具体逻辑,即用于对历史数据表中的历史参数进行操作的具体逻辑。历史资源信息是用于执行历史作业过程中的CPU执行资源,该CPU执行资源一般为CPU单位资源的倍数。历史执行时长具体为执行该历史作业对应的CPU占用时长。
S402:基于历史资源信息、历史逻辑体和历史数据表,确定执行复杂度。
其中,执行复杂度是用于评估执行待处理作业难易程度的标准,具体可以理解为处理待处理作业中的单位CPU能够处理的数据量。可以理解地,执行复杂度越大,则执行时长越长。
具体地,服务器基于历史资源信息的用于处理历史作业的CPU执行资源与CPU单位资源确定资源比例系数k,基于历史执行逻辑和历史数据表中的数据量确定执行数据量N,
执行数据量N为历史执行逻辑对应的逻辑运算次数与历史数据表中的数据量的乘积,例如,一历史作业中包含10000条数据(即历史数据表中的数据量),对应的历史执行逻辑中包括3次逻辑运算次数,则该历史作业的执行数据量为N=10000*3,即确定CPU单位资源的
处理的数量。
S403:基于执行复杂度和历史执行时长,形成训练数据。
其中,训练数据是指用于生成模型的数据,即训练数据是基于执行复杂度和历史执行时长形成的二维数组,一组二维数组确定为一个训练数据。例如,一历史作业中的执行复杂度为1000,执行时长为1分钟,则该二维数组为(1000,1)。
具体地,***通过监控历史作业的执行过程获取历史执行时长,统一历史执行时长的单位,根据执行复杂度公式计算对应的执行复杂度,将二维数组确定为用于训练模型的训练数据。基于执行复杂度和历史执行时长,形成训练数据,确保训练数据的客观性。在确定训练数据之前需要将执行过程中出错的数据删除,确保获取的训练数据的准确性。
S404:采用逻辑回归算法对训练数据进行处理,获取基于逻辑回归算法构建的执行时长评估模型。
逻辑回归(Logistic Regression,LR)又称为逻辑回归分析,是分类和预测算法中的一种。通过历史数据的执行情况对未来结果发生的概率进行预测。回归分析用来描述自变量x(即执行复杂度)和因变量Y(执行时长)之间的关系,或者说自变量X对因变量Y的影响程度,并对因变量Y进行预测。其中因变量是我们希望获得的结果,自变量是影响结果的潜在因素,自变量可以有一个,也可以有多个。一个自变量的叫做一元回归分析,超过一个自变量的叫做多元回归分析。
具体地,服务器根据逻辑回归算法以快速构建的执行时长评估模型,然后依据目标逻辑体中的执行逻辑和目标数据表的数据量确定执行复杂度(如步骤S402),再将该执行复杂度代入执行时长评估模型中,获取对应的目标评估时长。
本实施例所提供的数据处理作业调度方法中,根据获取到的历史作业对应的历史执行数据,确定执行复杂度,确保执行复杂度具有客观性。基于执行复杂度和历史执行时长,形成训练数据,确保训练数据的客观性。基于逻辑回归算法,快速构建的执行时长评估模型。
在一实施例中,如图5所示,步骤S204,即基于预设计划生成模板对待处理作业进行处理,生成目标执行计划,包括:
S501:采用扫描工具扫描目标数据表,获取目标数据表对应的基本信息。
其中,扫描工具是指用于扫描目标数据表中数据的工具,例如xscan和x-way等扫描工具,以快速获取该目标数据表对应的基本信息。具体地,在扫描工具中指定需要扫描的目标数据表,对目标数据表进行常规扫描,快速获取目标数据表中的基本信息。
S502:对目标数据表对应的基本信息进行形式检测,获取检测结果。
其中,形式检测是是指对目标数据表中的基本信息进行检测,以判断该基本信息是否正确。检测结果是指对基本信息进行形式检测的结果。本实施例中,对目标数据表对应的基本信息进行形式检测,以确保基本信息的正确性,确保后续的数据处理步骤顺利执行。
S503:在检测结果为检测通过时,获取目标逻辑体中目标执行逻辑对应的操作符,将操作符转换成相应的执行操作,根据执行操作和目标数据表中的数据量,确定待处理作业对应的目标资源。
其中,操作符具体是指执行逻辑中的SQL语句,例如,select、from、where和groupby均为操作符。执行操作是指与操作符相对应的操作步骤,例如,from:需要从哪个数据表检索数据,from子句--执行顺序为从后往前、从右到左;group by:如何将上面过滤出的数据分组,group by--执行顺序从左往右分组。目标资源是指需要分配出来专用于处理待处理作业的资源,可实现***资源的合理分配,使得该目标资源在预期执行时间区间内,专用于执行该待处理作业形成的目标执行计划,可减少线程之间通信的损耗,使得***性能损耗较小。
具体地,在检测结果为检测通过时,获取该目标执行逻辑对应的操作符,将操作符与目标数据表中的信息进行匹配,将对应的操作符转换为相应的执行操作,从而对目标数据表的数据转换为处理流程数据,实现了对目标数据表的精确处理。然后通过根据执行操作和目标数据表中的数据量计算确定待处理作业对应的目标资源,即计算目标资源的公式为
据量,T是指目标预估时长,本实施例中,执行数据量N为目标执行逻辑对应的逻辑运算次数与目标数据表中的数据量的乘积。确定在预期执行时间内的目标资源,减少资源处理不同作业时产生的资源之间通信的损耗,从而使得***性能损耗较小,又达到合理利用***资源的目的。其中,处理流程数据是指采用目标执行逻辑对目标数据表中的数据量转换为***可处理的数据。例如,一目标执行逻辑为执行3次加法运行,则依据目标执行逻辑对目标数据表中的数据量进行相应运算。
进一步地,为加快数据处理,在目标数据表中不同的信息对应同一操作符时,将对应同一个操作符的数据并行处理(即同时处理相同操作符的数据),以缩短数据处理时间。
S504:若预期执行时间区间对应的可执行资源大于或等于目标资源,则将目标资源、调度启动时间和目标预估时长填充到预设计划生成模板中,生成目标执行计划。
具体地,可采用SQL语句编写预设计划生成模板,该预设计划生成模板编写有***执行数据处理的流程代码,在服务器获取到目标资源、调度启动时间和目标预估时长后采用正则表达式匹配算法将每一参数填充至对应的位置,更新预设计划生成模板,以快速生成目标执行计划,提高数据处理的效率。其中,正则表达式匹配算法是指被用来检索、替换那些符合某个模式(规则)的文本的算法,本实施例中具体是用来将目标资源、调度启动时间和目标预估时长匹配到预设计划生成模板中,从而快速生成目标执行计划,提高数据处理的效率。
其中,步骤S501中的目标数据表对应的基本信息包括数据表信息、分区信息和字段信息。其中,数据表信息是指目标数据表的信息。例如,目标数据表的表名和目标数据表的属性等。分区信息是指目标数据表中数据的属性的信息。例如,将数据的属性可以是数据的来源不同,将***中来自于统一软件或者硬件的数据划分在一起作为目标数据表中一个区域的数据,也可以将具有关联性的数据划分在一起作为目标数据表中一个区域的数据。字段信息是指目标数据表中的字段的信息,该字段信息包括字段的格式和目标逻辑体中得目标参数对应的参数。
进一步地,在步骤S502之后,即在对目标数据表对应的基本信息进行形式检测,获取检测结果之后,为避免检测结果为检测不通过时,无法执行将操作符转换成相应的执行操作的步骤,数据处理作业调度方法还包括:
S505:若检测结果为不通过,则采用目标数据表对应的关联条件,对数据表信息、分区信息和字段信息进行参数设置,重复对目标数据表对应的基本信息进行形式检测。
关联条件是指目标数据表中数据表信息、分区信息和字段信息的关联关系。关联条件具体可以理解为一字段信息的存储在的特定的分区信息,分区信息存在特定的目标数据表,只有在满足该关联条件时,才可执行后续步骤。设置关联条件以确保每一基本信息的内部关联的准确性,确保准确处理数据,避免出现错误。
参数设置是指对数据表信息、分区信息和字段信息进行设置,确保数据表信息、分区信息和字段信息之间的内部联系关联准确。例如一字段信息是在特定的分区信息进行join操作。
本实施例所提供的数据处理作业调度方法中,采用扫描工具扫描目标数据表,快速获取目标数据表对应的基本信息,对目标数据表对应的基本信息进行形式检测,若检测结果为检测不通过时,采用目标数据表对应的关联条件,对数据表信息、分区信息和字段信息进行参数设置,重复对目标数据表对应的基本信息进行形式检测。以确保基本信息的正确性,确保后续的数据处理步骤顺利执行。在检测结果为检测通过时,获取目标逻辑体中目标执行逻辑对应的操作符,将操作符转换成相应的执行操作,实现了对目标数据表的精确处理。然后确定所需的可执行资源,将可执行资源、调度启动时间和目标预估时长填充到预设计划生成模板中,快速生成目标执行计划,提高数据处理的效率。
在一实施例中,如图6所示,在步骤S202之后,即在采用基于逻辑回归算法构建的执行时长评估模型,依据目标逻辑体对目标数据表中的数据量进行执行时长评估,获取目标评估时长之后,数据处理作业调度方法还包括:
S601:获取每一待处理作业的作业类型,依据作业类型确定待处理作业对应的预设类型权重和类型分值。
其中,作业类型是指待处理作业的类型,作业类型包括但不限于分析类型、日志类型和报表类型。预设类型权重是指预先设定,用于表示作业类型相对于待处理作业的重要性的值。例如,作业类型为分析类型的数据有助于帮助开发人员分析数据,是比较重要的作业类型,此时,可以设置分析类型的权重较高,可以设置为60%。类型分值是指每一作业类型对应的分值,该分值具体可以通过数据量表示。例如,分析类型的数据量为100,日志类型的数据量为10000。具体地,每一待处理作业的作业类型可以是***获取到待处理作业后对待处理作业识别并标注相应的作业类型。也可以是开发人员在待执行脚本中指定的,例如,可以对标注1-10表示不同的作业类型。
S602:对待处理作业的目标评估时长进行归一化处理,获取待处理作业对应的时长分值。
其中,时长分值是指的对每一待处理作业的的目标评估时长进行归一化处理后,获得同一数量级下的时长的数值。可以理解地,由于每一待处理作业的数据量有所不同,相应地,处理每一待处理作业的时长也是不同。若采用目标评估时长进行计算,可能产生较大的误差。
S603:采用加权算法对预设类型权重、类型分值、时长分值和预设时长权重进行加权计算,获取待处理作业对应的评估分值。
其中,预估时长权重是指预先设定,用于表示不同作业类型相对于待处作业的重要性的值,该预估时长权重可以跟预设类型权重一样,也可以跟预设类型权重不一样。评估分值是指用于评估待处理作业的先后处理顺序的值。该评估分值高说明对应的待处理作业可优先处理,有利于合理安排待处理作业的处理顺序。
S604:依据评估分值对待处理作业进行优先级排序,确定每一待处理作业的优先级。
其中,优先级用于表示***处理多个待处理作业时,决定各个待处理作业处理顺序的参数。例如,可以用1-9表示待处理作业的优先级,通常情况下,优先级数值越小,说明该待处理作业的优先级越高;即优先级为1表示该待处理作业的优先级最高,需要最先处理。具体地,在评估分值较高时说明该待处理任务需要优先处理,此时,待处理作业对应高优先级,例如该待处理作业对应的优先级为1,以使该待处理作业优先处理。通过对待处理作业进行优先级排序,使得优先级高的待处理作业可以排在处理的靠前位置,确保需要优先处理的待处理作业尽快处理。
S605:依据待处理作业的优先级,依次执行根据待处理作业对应的调度启动时间和目标评估时长,确定预期执行时间区间,根据预期执行时间区间查询资源信息队列,获取预期执行时间区间对应的可执行资源。
具体地,依据待处理作业的优先级,依次执行根据待处理作业对应的调度启动时间和目标评估时长,确定预期执行时间区间,根据预期执行时间区间查询资源信息队列,获取预期执行时间区间对应的可执行资源。以按合理的顺序对待处理作业进行处理,避免目标评估时长较长(如1h)的待处理作业先占用***资源,而导致目标评估时长较短(如5min)的待处理作业处于较长的等待时间。
本实施例所提供的数据处理作业调度方法中,获取每一待处理作业的作业类型,依据作业类型确定待处理作业对应的预设类型权重和类型分值,以便后续采用加权算法获得评估分值。对待处理作业的目标评估时长进行归一化处理,以获得同一数量级下的时长数值,确保后续采用加权算法的可实现性,获取待处理作业对应的时长分值。然后采用加权算法对预设类型权重、类型分值、时长分值和预设时长权重进行加权计算,获取待处理作业对应的评估分值,依据评估分值对待处理作业进行优先级排序,确定每一待处理作业的优先级,使得优先级高的待处理作业可以排在处理的靠前位置,实现对待处理作业进行调度。依据待处理作业的优先级,依次执行根据待处理作业对应的调度启动时间和目标评估时长,确定预期执行时间区间,根据预期执行时间区间查询资源信息队列,获取预期执行时间区间对应的可执行资源,按合理的顺序对待处理作业进行处理。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据处理作业调度装置,该数据处理作业调度装置与上述实施例中数据处理作业调度方法一一对应。如图7所示,该数据处理作业调度装置包括待处理作业获取模块701、目标评估时长获取模块702、预期执行时间区间确定模块703、目标执行计划生成模块704和资源信息队列更新模块705。各功能模块详细说明如下:
待处理作业获取模块701,用于采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业,所述待处理作业包括调度启动时间、目标数据表和目标逻辑体。
目标评估时长获取模块702,用于采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长。
预期执行时间区间确定模块703,用于根据所述待处理作业对应的所述调度启动时间和所述目标评估时长,确定预期执行时间区间,根据所述预期执行时间区间查询资源信息队列,获取所述预期执行时间区间对应的可执行资源。
目标执行计划生成模块704,用于若所述预期执行时间区间对应的可执行资源均大于预设资源阈值,则基于预设计划生成模板对所述待处理作业进行处理,生成目标执行计划。
资源信息队列更新模块705,用于在***当前时间为所述调度启动时间时,执行所述目标执行计划,在所述目标执行计划执行完成之后,更新所述资源信息队列。
优选地,在所述预期执行时间区间确定模块703之后,所述数据处理作业调度装置还包括:空闲时间区间确定模块、修改提示信息生成模块和作业修改请求生成模块。
空闲时间区间确定模块,用于若所述预期执行时间区间对应的可执行资源不大于预设资源阈值,则基于所述资源信息队列,确定可执行资源均大于预设资源阈值的空闲时间区间。
修改提示信息生成模块,用于若存在空闲时间区间的空闲时长大于所述目标评估时长,则将所述空闲时间区间的起始时间确定为推荐启动时间,基于所述推荐启动时间生成修改提示信息。
作业修改请求生成模块,用于获取基于所述修改提示信息生成的作业修改请求,基于所述作业修改请求生成更新的待处理作业,基于预设计划生成模板对所述更新的待处理作业进行处理,生成目标执行计划。
优选地,所述目标逻辑体包括目标参数和对应的目标执行逻辑;在所述待处理作业获取模块701之后,所述数据处理作业调度装置还包括:格式校验结果获取模块、目标参数判断模块和目标参数包含模块。
格式校验结果获取模块,用于采用数据库语句规则对所述目标逻辑体进行格式校验,获取格式校验结果。
目标参数判断模块,用于若所述格式校验结果为校验通过,则判断所述目标数据表中是否包含所述目标参数。
目标参数包含模块,用于若所述目标数据表包含所述目标参数,则执行所述采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长。
优选地,在所述目标评估时长获取模块702之前,所述数据处理作业调度装置还包括:历史执行数据获取模块、训练数据形成模块和执行时长评估模型构建模块。
历史执行数据获取模块,用于基于所述历史资源信息、所述历史逻辑体和所述历史数据表,确定执行复杂度。
训练数据形成模块,用于基于执行复杂度和历史执行时长,形成训练数据。
执行时长评估模型构建模块,用于采用逻辑回归算法对所述训练数据进行处理,获取基于逻辑回归算法构建的执行时长评估模型。
优选地,所述目标执行计划生成模块704,包括:目标数据表扫描单元、检测结果获取单元、操作符转换单元、目标资源确定单元和参数填充单元。
目标数据表扫描单元,采用扫描工具扫描目标数据表,获取所述目标数据表对应的基本信息。
检测结果获取单元,用于对所述目标数据表对应的基本信息进行形式检测,获取检测结果。
操作符转换单元,用于在检测结果为检测通过时,获取所述目标逻辑体中目标执行逻辑对应的操作符,将所述操作符转换成相应的执行操作。
目标资源确定单元,用于从所述预期执行时间区间对应的可执行资源中,随机确定对所述待处理作业相对应的目标资源。
参数填充单元,用于将所述目标资源、所述调度启动时间和所述预期执行时间区间参数填充到预设计划生成模板中,生成目标执行计划。
优选地,所述目标数据表对应的基本信息包括数据表信息、分区信息和字段信息;在检测结果获取单元之后,所述数据处理作业调度装置还包括:参数设置单元。
参数设置单元,用于若所述检测结果为检测不通过时,则采用所述目标数据表对应的关联条件,对所述数据表信息、所述分区信息和所述字段信息进行参数设置,重复对所述目标数据表对应的基本信息进行形式检测。
优选地,在所述采用目标评估时长获取模块702之后,所述数据处理作业调度方法还包括:作业类型获取模块、时长分值获取模块、评估分值获取模块、优先级确定模块和可执行资源获取模块。
作业类型获取模块,用于获取每一所述待处理作业的作业类型,依据所述作业类型确定所述待处理作业对应的预设类型权重和类型分值。
时长分值获取模块,用于对所述待处理作业的目标评估时长进行归一化处理,获取所述待处理作业对应的时长分值。
评估分值获取模块,用于采用加权算法对所述预设类型权重、类型分值、时长分值和预设时长权重进行加权计算,获取所述待处理作业对应的评估分值。
优先级确定模块,用于级依据所述评估分值对所述待处理作业进行优先级排序,确定每一所述待处理作业的优先级。
可执行资源获取模块,用于依据所述待处理作业的优先级,依次执行根据所述待处理作业对应的所述调度启动时间和所述目标评估时长,确定预期执行时间区间,根据所述预期执行时间区间查询资源信息队列,获取所述预期执行时间区间对应的可执行资源。
关于数据处理作业调度装置的具体限定可以参见上文中对于数据处理作业调度方法的限定,在此不再赘述。上述数据处理作业调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于上述数据处理作业调度方法过程中采用或者生成的数据,如预期执行时间区间。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理作业调度方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中数据处理作业调度方法的步骤,例如图2所示的步骤S201-S208,或者图3至图6中所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现数据处理作业调度装置这一实施例中的各模块/单元的功能,例如图7所示的待处理作业获取模块701、目标评估时长获取模块702、预期执行时间区间确定模块703、目标执行计划生成模块704和资源信息队列更新模块705的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中数据处理作业调度方法的步骤,例如图2所示的步骤S201-S208,或者图3至图6中所示的步骤,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现数据处理作业调度装置这一实施例中的各模块/单元的功能,例如图7所示的待处理作业获取模块701、目标评估时长获取模块702、预期执行时间区间确定模块703、目标执行计划生成模块704和资源信息队列更新模块705的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数据处理作业调度方法,其特征在于,包括:
采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业,所述待处理作业包括调度启动时间、目标数据表和目标逻辑体;
采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长;
根据所述待处理作业对应的所述调度启动时间和所述目标评估时长,确定预期执行时间区间,根据所述预期执行时间区间查询资源信息队列,获取所述预期执行时间区间对应的可执行资源;
若所述预期执行时间区间对应的可执行资源均大于预设资源阈值,则采用扫描工具扫描目标数据表,获取所述目标数据表对应的基本信息;对所述目标数据表对应的基本信息进行形式检测,获取检测结果;在检测结果为检测通过时,获取所述目标逻辑体中目标执行逻辑对应的操作符,将所述操作符转换成相应的执行操作,根据所述执行操作和所述目标数据表中的数据量,确定所述待处理作业对应的目标资源;若所述预期执行时间区间对应的可执行资源大于或等于所述目标资源,则将所述目标资源、所述调度启动时间和目标预估时长填充到预设计划生成模板中,生成目标执行计划;
在***当前时间为所述调度启动时间时,执行所述目标执行计划,在所述目标执行计划执行完成之后,更新所述资源信息队列。
2.如权利要求1所述的数据处理作业调度方法,其特征在于,在所述获取所述预期执行时间区间对应的可执行资源之后,所述数据处理作业调度方法还包括:
若所述预期执行时间区间对应的可执行资源不大于预设资源阈值,则基于所述资源信息队列,确定可执行资源均大于预设资源阈值的空闲时间区间;
若存在空闲时间区间的空闲时长大于所述目标评估时长,则将所述空闲时间区间的起始时间确定为推荐启动时间,基于所述推荐启动时间生成修改提示信息;
获取基于所述修改提示信息生成的作业修改请求,基于所述作业修改请求生成更新的待处理作业,基于预设计划生成模板对所述更新的待处理作业进行处理,生成目标执行计划。
3.如权利要求1所述的数据处理作业调度方法,其特征在于,所述目标逻辑体包括目标参数和对应的目标执行逻辑;
在所述采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业之后,所述数据处理作业调度方法还包括:
采用数据库语句规则对所述目标逻辑体进行格式校验,获取格式校验结果;
若所述格式校验结果为校验通过,则判断所述目标数据表中是否包含所述目标参数;
若所述目标数据表包含所述目标参数,则执行所述采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长。
4.如权利要求1所述的数据处理作业调度方法,其特征在于,在所述采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长之前,所述数据处理作业调度方法还包括:
获取历史作业对应的历史执行数据,所述历史执行数据包括历史数据表、历史逻辑体、历史资源信息和历史执行时长;
基于所述历史资源信息、所述历史逻辑体和所述历史数据表,确定执行复杂度;
基于执行复杂度和历史执行时长,形成训练数据;
采用逻辑回归算法对所述训练数据进行处理,获取基于逻辑回归算法构建的执行时长评估模型。
5.如权利要求1所述的数据处理作业调度方法,其特征在于,所述目标数据表对应的基本信息包括数据表信息、分区信息和字段信息;
在所述对所述目标数据表对应的基本信息进行形式检测,获取检测结果之后,所述数据处理作业调度方法还包括:
若所述检测结果为检测不通过时,则采用所述目标数据表对应的关联条件,对所述数据表信息、所述分区信息和所述字段信息进行参数设置,重复对所述目标数据表对应的基本信息进行形式检测。
6.如权利要求1所述的数据处理作业调度方法,其特征在于,在所述采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长之后,所述数据处理作业调度方法还包括:
获取每一所述待处理作业的作业类型,依据所述作业类型确定所述待处理作业对应的预设类型权重和类型分值;
对所述待处理作业的目标评估时长进行归一化处理,获取所述待处理作业对应的时长分值;
采用加权算法对所述预设类型权重、类型分值、时长分值和预设时长权重进行加权计算,获取所述待处理作业对应的评估分值;
依据所述评估分值对所述待处理作业进行优先级排序,确定每一所述待处理作业的优先级;
依据所述待处理作业的优先级,依次执行根据所述待处理作业对应的所述调度启动时间和所述目标评估时长,确定预期执行时间区间,根据所述预期执行时间区间查询资源信息队列,获取所述预期执行时间区间对应的可执行资源。
7.一种数据处理作业调度装置,其特征在于,包括:
待处理作业获取模块,用于采用作业扫描工具对待执行脚本进行作业扫描,获取待处理作业,所述待处理作业包括调度启动时间、目标数据表和目标逻辑体;
目标评估时长获取模块,用于采用基于逻辑回归算法构建的执行时长评估模型,依据所述目标逻辑体对所述目标数据表中的数据量进行执行时长评估,获取目标评估时长;
预期执行时间区间确定模块,用于根据所述待处理作业对应的所述调度启动时间和所述目标评估时长,确定预期执行时间区间,根据所述预期执行时间区间查询资源信息队列,获取所述预期执行时间区间对应的可执行资源;
目标执行计划生成模块,用于若所述预期执行时间区间对应的可执行资源均大于预设资源阈值,则采用扫描工具扫描目标数据表,获取所述目标数据表对应的基本信息;对所述目标数据表对应的基本信息进行形式检测,获取检测结果;在检测结果为检测通过时,获取所述目标逻辑体中目标执行逻辑对应的操作符,将所述操作符转换成相应的执行操作,根据所述执行操作和所述目标数据表中的数据量,确定所述待处理作业对应的目标资源;若所述预期执行时间区间对应的可执行资源大于或等于所述目标资源,则将所述目标资源、所述调度启动时间和目标预估时长填充到预设计划生成模板中,生成目标执行计划;
资源信息队列更新模块,用于在***当前时间为所述调度启动时间时,执行所述目标执行计划,在所述目标执行计划执行完成之后,更新所述资源信息队列。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述数据处理作业调度方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据处理作业调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408645.1A CN110297701B (zh) | 2019-05-16 | 2019-05-16 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408645.1A CN110297701B (zh) | 2019-05-16 | 2019-05-16 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110297701A CN110297701A (zh) | 2019-10-01 |
CN110297701B true CN110297701B (zh) | 2023-08-01 |
Family
ID=68026839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910408645.1A Active CN110297701B (zh) | 2019-05-16 | 2019-05-16 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110297701B (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685224A (zh) * | 2019-10-17 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 任务管理的方法、设备和计算机程序产品 |
CN111125097B (zh) * | 2019-11-29 | 2024-03-15 | 中盈优创资讯科技有限公司 | 报表调度方法及装置 |
CN111026552B (zh) * | 2019-12-09 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 资源的调度方法、装置、电子设备和计算机可读存储介质 |
CN110968590A (zh) * | 2019-12-23 | 2020-04-07 | 北京奇艺世纪科技有限公司 | 任务执行方法、装置、电子设备及计算机可读存储介质 |
CN111241159B (zh) * | 2020-01-08 | 2023-07-07 | 山东汇贸电子口岸有限公司 | 确定任务执行时间的方法及装置 |
CN113391888B (zh) * | 2020-03-12 | 2024-05-17 | 北京京东振世信息技术有限公司 | 业务资源的调度方法、装置、设备及存储介质 |
CN117056370A (zh) * | 2020-03-19 | 2023-11-14 | 上海太美星云数字科技有限公司 | 医学数据处理方法、装置、设备和存储介质 |
CN111367679B (zh) * | 2020-03-31 | 2024-07-23 | 中国建设银行股份有限公司 | 人工智能算力资源复用方法及装置 |
CN111292025B (zh) * | 2020-04-01 | 2022-06-07 | 成都卡普数据服务有限责任公司 | 输电线路在线巡检作业调度方法 |
CN111524023A (zh) * | 2020-04-07 | 2020-08-11 | 中国农业大学 | 温室调节方法及*** |
CN111767199B (zh) * | 2020-06-24 | 2023-09-19 | 中国工商银行股份有限公司 | 一种基于批处理作业的资源管理方法、装置、设备及*** |
CN111861012A (zh) * | 2020-07-23 | 2020-10-30 | 西安奥卡云数据科技有限公司 | 一种测试任务执行时间预测方法及最优执行节点选择方法 |
CN111815200A (zh) * | 2020-07-31 | 2020-10-23 | 深圳壹账通智能科技有限公司 | 任务调度方法及装置、计算机设备、存储介质 |
CN112181645A (zh) * | 2020-09-21 | 2021-01-05 | 中国建设银行股份有限公司 | 一种资源调度的方法、装置、设备及存储介质 |
CN112559859B (zh) * | 2020-12-08 | 2023-06-30 | 杭州海康威视***技术有限公司 | 资源推荐方法、装置、电子设备及机器可读存储介质 |
CN112633683B (zh) * | 2020-12-22 | 2023-09-01 | 北京百度网讯科技有限公司 | 资源使用量统计方法、装置、***、电子设备及存储介质 |
CN112612616B (zh) * | 2020-12-28 | 2024-02-23 | 中国农业银行股份有限公司 | 一种任务处理方法及装置 |
CN112818003B (zh) * | 2021-01-14 | 2023-03-31 | 内蒙古蒙商消费金融股份有限公司 | 一种查询任务的执行风险预估方法及装置 |
CN113010310B (zh) * | 2021-03-03 | 2024-06-28 | 中国工商银行股份有限公司 | 作业数据的处理方法、装置和服务器 |
CN112860523B (zh) * | 2021-03-16 | 2024-06-25 | 中国工商银行股份有限公司 | 批量作业处理的故障预测方法、装置和服务器 |
CN113076332B (zh) * | 2021-03-25 | 2023-08-01 | 东北大学 | 一种数据库预编译查询语句的执行方法 |
CN113423098B (zh) * | 2021-04-28 | 2022-12-02 | 广州芯之联科技有限公司 | 蓝牙扫描事件调度方法、装置及蓝牙设备 |
CN113436003A (zh) * | 2021-06-29 | 2021-09-24 | 中国工商银行股份有限公司 | 时长确定方法、装置、电子设备、介质和程序产品 |
CN113391911B (zh) * | 2021-07-05 | 2024-03-26 | 中国工商银行股份有限公司 | 一种大数据资源动态调度方法、装置和设备 |
CN113467915A (zh) * | 2021-07-13 | 2021-10-01 | 中科曙光国际信息产业有限公司 | 作业调度方法、装置、计算机设备及可读存储介质 |
CN113691587B (zh) * | 2021-07-20 | 2023-05-23 | 北京达佳互联信息技术有限公司 | 一种虚拟资源处理方法、装置、电子设备及存储介质 |
CN113722198A (zh) * | 2021-09-02 | 2021-11-30 | 中国建设银行股份有限公司 | 脚本作业提交控制方法及装置、存储介质及电子设备 |
CN113850428A (zh) * | 2021-09-24 | 2021-12-28 | 联想(北京)有限公司 | 作业调度的预测处理方法、装置和电子设备 |
CN117193963A (zh) * | 2023-08-03 | 2023-12-08 | 北京大学 | 基于函数特征的服务器无感知计算调度方法和装置 |
CN117076138B (zh) * | 2023-10-17 | 2024-02-23 | 西安羚控电子科技有限公司 | 面向体系仿真的资源跨平台集成和调度方法及装置 |
CN117575654B (zh) * | 2023-11-27 | 2024-05-14 | 数翊科技(北京)有限公司 | 数据加工作业的调度方法及装置 |
CN117593171B (zh) * | 2024-01-15 | 2024-04-30 | 西安甘鑫科技股份有限公司 | 基于fpga的图像采集储存处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156115A (zh) * | 2015-04-07 | 2016-11-23 | ***通信集团云南有限公司 | 一种资源调度方法及装置 |
CA3027996A1 (en) * | 2016-12-07 | 2018-06-14 | Tata Consultancy Services Limited | Systems and methods for scheduling tasks and managing computing resource allocation for closed loop control systems |
CN108733464A (zh) * | 2017-04-18 | 2018-11-02 | 华为软件技术有限公司 | 一种确定计算任务的调度方案的方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565685B2 (en) * | 2011-01-28 | 2013-10-22 | Nokia Corporation | Utilization-based threshold for choosing dynamically between eager and lazy scheduling strategies in RF resource allocation |
CN103458052B (zh) * | 2013-09-16 | 2017-05-24 | 北京搜狐新媒体信息技术有限公司 | 一种基于IaaS云平台的资源调度方法和装置 |
US9442760B2 (en) * | 2014-10-03 | 2016-09-13 | Microsoft Technology Licensing, Llc | Job scheduling using expected server performance information |
CN106326003B (zh) * | 2016-08-11 | 2019-06-28 | 中国科学院重庆绿色智能技术研究院 | 一种作业调度和计算资源分配方法 |
CN107193655B (zh) * | 2017-05-17 | 2020-04-03 | 南京大学 | 一种基于效用函数的面向大数据处理的公平资源调度方法 |
-
2019
- 2019-05-16 CN CN201910408645.1A patent/CN110297701B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156115A (zh) * | 2015-04-07 | 2016-11-23 | ***通信集团云南有限公司 | 一种资源调度方法及装置 |
CA3027996A1 (en) * | 2016-12-07 | 2018-06-14 | Tata Consultancy Services Limited | Systems and methods for scheduling tasks and managing computing resource allocation for closed loop control systems |
CN108733464A (zh) * | 2017-04-18 | 2018-11-02 | 华为软件技术有限公司 | 一种确定计算任务的调度方案的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110297701A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297701B (zh) | 数据处理作业调度方法、装置、计算机设备及存储介质 | |
US9430288B2 (en) | Job scheduling based on historical job data | |
WO2020186809A1 (zh) | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 | |
CN110297711B (zh) | 批量数据处理方法、装置、计算机设备及存储介质 | |
Jeon et al. | Multi-tenant GPU clusters for deep learning workloads: Analysis and implications | |
CN108052394B (zh) | 基于sql语句运行时间的资源分配的方法及计算机设备 | |
CN106354645B (zh) | 基于后台***服务或接口的测试方法和测试平台 | |
CN108280023B (zh) | 任务执行方法、装置和服务器 | |
US10402300B2 (en) | System, controller, method, and program for executing simulation jobs | |
US20140310051A1 (en) | Methods and Apparatus for Project Portfolio Management | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN111190753B (zh) | 分布式任务处理方法、装置、存储介质和计算机设备 | |
WO2024027384A1 (zh) | 一种故障检测方法、装置、电子设备及存储介质 | |
CN115098257A (zh) | 一种资源调度方法、装置、设备以及存储介质 | |
US20160170718A1 (en) | Rte code generating method and apparatus performing the same | |
US9639636B1 (en) | Algorithmically driven selection of parallelization technique for running model simulation | |
CN107885593B (zh) | 用户认证方法和装置 | |
CN115729705A (zh) | 分布式任务批量处理方法、装置、设备及存储介质 | |
CN113176995B (zh) | 基于测试场景的接口测试方法、装置、设备及介质 | |
Hongyan et al. | Predicting misconfiguration-induced unsuccessful executions of jobs in big data system | |
CN111061875B (zh) | 超参数确定方法、装置、计算机设备和存储介质 | |
CN110245009B (zh) | 周期任务分配方法、装置、计算机设备和存储介质 | |
WO2016012903A1 (en) | A system for querying heterogeneous data sources and a method thereof | |
KR102304321B1 (ko) | 시뮬레이션 실행 시간 예측 장치 및 예측 방법 | |
Cereda | Constraint-aware performance autotuning in live production environment |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |